From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44255) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHGtR-0004Fp-1W for qemu-devel@nongnu.org; Tue, 21 Nov 2017 17:19:51 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHGtN-0005Ly-P3 for qemu-devel@nongnu.org; Tue, 21 Nov 2017 17:19:49 -0500 Resent-Message-Id: Received: from sender-of-o52.zoho.com ([135.84.80.217]:21333) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHGtN-0005Lh-HI for qemu-devel@nongnu.org; Tue, 21 Nov 2017 17:19:45 -0500 Reply-To: Message-ID: <151130277957.534.15210264921732043179@bafd83ae6430> In-Reply-To: <20171121212534.5177-1-richard.henderson@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 From: no-reply@patchew.org Date: Tue, 21 Nov 2017 14:19:40 -0800 (PST) Subject: Re: [Qemu-devel] [PATCH v6 00/26] tcg: generic vector operations List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: richard.henderson@linaro.org Cc: famz@redhat.com, qemu-devel@nongnu.org SGksCgpUaGlzIHNlcmllcyBzZWVtcyB0byBoYXZlIHNvbWUgY29kaW5nIHN0eWxlIHByb2JsZW1z LiBTZWUgb3V0cHV0IGJlbG93IGZvcgptb3JlIGluZm9ybWF0aW9uOgoKU3ViamVjdDogW1FlbXUt ZGV2ZWxdIFtQQVRDSCB2NiAwMC8yNl0gdGNnOiBnZW5lcmljIHZlY3RvciBvcGVyYXRpb25zClR5 cGU6IHNlcmllcwpNZXNzYWdlLWlkOiAyMDE3MTEyMTIxMjUzNC41MTc3LTEtcmljaGFyZC5oZW5k ZXJzb25AbGluYXJvLm9yZwoKPT09IFRFU1QgU0NSSVBUIEJFR0lOID09PQojIS9iaW4vYmFzaAoK QkFTRT1iYXNlCm49MQp0b3RhbD0kKGdpdCBsb2cgLS1vbmVsaW5lICRCQVNFLi4gfCB3YyAtbCkK ZmFpbGVkPTAKCmdpdCBjb25maWcgLS1sb2NhbCBkaWZmLnJlbmFtZWxpbWl0IDAKZ2l0IGNvbmZp ZyAtLWxvY2FsIGRpZmYucmVuYW1lcyBUcnVlCgpjb21taXRzPSIkKGdpdCBsb2cgLS1mb3JtYXQ9 JUggLS1yZXZlcnNlICRCQVNFLi4pIgpmb3IgYyBpbiAkY29tbWl0czsgZG8KICAgIGVjaG8gIkNo ZWNraW5nIFBBVENIICRuLyR0b3RhbDogJChnaXQgbG9nIC1uIDEgLS1mb3JtYXQ9JXMgJGMpLi4u IgogICAgaWYgISBnaXQgc2hvdyAkYyAtLWZvcm1hdD1lbWFpbCB8IC4vc2NyaXB0cy9jaGVja3Bh dGNoLnBsIC0tbWFpbGJhY2sgLTsgdGhlbgogICAgICAgIGZhaWxlZD0xCiAgICAgICAgZWNobwog ICAgZmkKICAgIG49JCgobisxKSkKZG9uZQoKZXhpdCAkZmFpbGVkCj09PSBURVNUIFNDUklQVCBF TkQgPT09CgpVcGRhdGluZyAzYzhjZjVhOWMyMWZmODc4MjE2NGQxZGVmN2Y0NGJkODg4NzEzMzg0 CkZyb20gaHR0cHM6Ly9naXRodWIuY29tL3BhdGNoZXctcHJvamVjdC9xZW11CiAqIFtuZXcgdGFn XSAgICAgICAgICAgICAgIHBhdGNoZXcvMjAxNzExMjEyMTI1MzQuNTE3Ny0xLXJpY2hhcmQuaGVu ZGVyc29uQGxpbmFyby5vcmcgLT4gcGF0Y2hldy8yMDE3MTEyMTIxMjUzNC41MTc3LTEtcmljaGFy ZC5oZW5kZXJzb25AbGluYXJvLm9yZwpTd2l0Y2hlZCB0byBhIG5ldyBicmFuY2ggJ3Rlc3QnCjI1 Y2I1OTdmMWYgdGNnL2FhcmNoNjQ6IEFkZCB2ZWN0b3Igb3BlcmF0aW9ucwozZjUzMjdlNmQ0IHRj Zy9pMzg2OiBBZGQgdmVjdG9yIG9wZXJhdGlvbnMvZXhwYW5zaW9ucyBmb3IgbXVsL2V4dGVuZAo5 ODQyZWM0OTE0IHRhcmdldC9hcm06IFVzZSB2ZWN0b3IgaW5mcmFzdHJ1Y3R1cmUgZm9yIGFhNjQg d2lkZW5pbmcgc2hpZnRzCjViYWE4ZjM2ODggdGNnOiBBZGQgZ2VuZXJpYyB2ZWN0b3Igb3BzIGZv ciBleHRlbnNpb24KZjMxZGE1Mjk1NCB0YXJnZXQvYXJtOiBVc2UgdmVjdG9yIGluZnJhc3RydWN0 dXJlIGZvciBhYTY0IG11bHRpcGxpZXMKMzJlNTg0MTFiNyB0Y2c6IEFkZCBnZW5lcmljIHZlY3Rv ciBvcHMgZm9yIG11bHRpcGxpY2F0aW9uCjAyYjEyNmMwZGUgdGNnL2kzODY6IEFkZCB2ZWN0b3Ig b3BlcmF0aW9ucy9leHBhbnNpb25zIGZvciBzaGlmdC9jbXAvaW50ZXJsZWF2ZQpiZDI4ZTYyMjQ5 IHRhcmdldC9hcm06IFVzZSB2ZWN0b3IgaW5mcmFzdHJ1Y3R1cmUgZm9yIGFhNjQgY29tcGFyZXMK YzFiZmZkZTQyYiB0Y2c6IEFkZCBnZW5lcmljIHZlY3RvciBvcHMgZm9yIGNvbXBhcmlzb25zCmM2 ZGZlOWY4ZjMgdGFyZ2V0L2FybTogVXNlIHZlY3RvciBpbmZyYXN0cnVjdHVyZSBmb3IgYWE2NCBj b25zdGFudCBzaGlmdHMKNjkyY2Q4NTUzYiB0Y2c6IEFkZCBnZW5lcmljIHZlY3RvciBvcHMgZm9y IGNvbnN0YW50IHNoaWZ0cwo3N2E5ZTAyODIyIHRhcmdldC9hcm06IFVzZSB2ZWN0b3IgaW5mcmFz dHJ1Y3R1cmUgZm9yIGFhNjQgemlwL3V6cC90cm4veHRuCjhiOGJhMDAwYWUgdGNnOiBBZGQgZ2Vu ZXJpYyB2ZWN0b3Igb3BzIGZvciBpbnRlcmxlYXZlCmU1YzliYzA0N2IgdGNnOiBBZGQgdGNnX2V4 cGFuZF92ZWNfb3AgYW5kIHRjZy10YXJnZXQub3BjLmgKOGYyNjg3NDg1ZSB0Y2cvaTM4NjogQWRk IHZlY3RvciBvcGVyYXRpb25zCjI4OTU1OTM0MjIgdGFyZ2V0L2FybTogVXNlIHZlY3RvciBpbmZy YXN0cnVjdHVyZSBmb3IgYWE2NCBkdXAvbW92aQo3NWI2Y2RiYWE2IHRhcmdldC9hcm06IFVzZSB2 ZWN0b3IgaW5mcmFzdHJ1Y3R1cmUgZm9yIGFhNjQgbW92L25vdC9uZWcKMDFhZjFiZTA0NiB0YXJn ZXQvYXJtOiBVc2UgdmVjdG9yIGluZnJhc3RydWN0dXJlIGZvciBhYTY0IGFkZC9zdWIvbG9naWMK ZjM2OGM0OTc5NCB0YXJnZXQvYXJtOiBBbGlnbiB2ZWN0b3IgcmVnaXN0ZXJzCjA4NzBiYjJhM2Mg dGNnOiBBZGQgdGNnX3NpZ25lZF9jb25kCjBhYzc3ZWNiMjcgdGNnOiBBbGxvdyBtdWx0aXBsZSB3 b3JkIGVudHJpZXMgaW50byB0aGUgY29uc3RhbnQgcG9vbAo3MjllZjc0NzFlIHRjZzogQWRkIGdl bmVyaWMgdmVjdG9yIGV4cGFuZGVycwpiMGI1OTI1NzU0IHRjZzogQWRkIHR5cGVzIGFuZCBiYXNp YyBvcGVyYXRpb25zIGZvciBob3N0IHZlY3RvcnMKY2ZiMjI2MjRhNCB0Y2c6IEdlbmVyYWxpemUg VENHT3AgcGFyYW1ldGVycwoxN2QzYWFmMTRhIHRjZzogRHluYW1pY2FsbHkgYWxsb2NhdGUgVENH T3BzCjc5NWVlNzEyOTYgdGNnOiBSZW1vdmUgVENHVl9VTlVTRUQqIGFuZCBUQ0dWX0lTX1VOVVNF RCoKCj09PSBPVVRQVVQgQkVHSU4gPT09CkNoZWNraW5nIFBBVENIIDEvMjY6IHRjZzogUmVtb3Zl IFRDR1ZfVU5VU0VEKiBhbmQgVENHVl9JU19VTlVTRUQqLi4uCkNoZWNraW5nIFBBVENIIDIvMjY6 IHRjZzogRHluYW1pY2FsbHkgYWxsb2NhdGUgVENHT3BzLi4uCkVSUk9SOiBsaW5lIG92ZXIgOTAg Y2hhcmFjdGVycwojNjQ6IEZJTEU6IGluY2x1ZGUvcWVtdS9xdWV1ZS5oOjQzMDoKKyAgICAgICAg ICAgICAodmFyKSAmJiAoKHByZXZfdmFyKSA9ICgqKCgoc3RydWN0IGhlYWRuYW1lICopKCh2YXIp LT5maWVsZC50cWVfcHJldikpLT50cWhfbGFzdCkpLCAxKTsgXAoKRVJST1I6IHNwYWNlcyBwcm9o aWJpdGVkIGFyb3VuZCB0aGF0ICc6JyAoY3R4Old4VykKIzUzODogRklMRTogdGNnL3RjZy5oOjU3 NToKKyAgICB1bnNpZ25lZCBsaWZlICAgOiAxNjsgICAgICAgLyogMzIgKi8KICAgICAgICAgICAg ICAgICAgICAgXgoKdG90YWw6IDIgZXJyb3JzLCAwIHdhcm5pbmdzLCA1MjAgbGluZXMgY2hlY2tl ZAoKWW91ciBwYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSByZXZpZXcuICBJZiBhbnkg b2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVwb3J0IHRoZW0gdG8gdGhlIG1h aW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoKQ2hlY2tpbmcgUEFUQ0gg My8yNjogdGNnOiBHZW5lcmFsaXplIFRDR09wIHBhcmFtZXRlcnMuLi4KRVJST1I6IHNwYWNlcyBw cm9oaWJpdGVkIGFyb3VuZCB0aGF0ICc6JyAoY3R4Old4VykKIzExMDogRklMRTogdGNnL3RjZy5o OjU3MDoKKyAgICB1bnNpZ25lZCBwYXJhbTEgOiA0OyAgICAgICAgLyogMTIgKi8KICAgICAgICAg ICAgICAgICAgICAgXgoKRVJST1I6IHNwYWNlcyBwcm9oaWJpdGVkIGFyb3VuZCB0aGF0ICc6JyAo Y3R4Old4VykKIzExMTogRklMRTogdGNnL3RjZy5oOjU3MToKKyAgICB1bnNpZ25lZCBwYXJhbTIg OiA0OyAgICAgICAgLyogMTYgKi8KICAgICAgICAgICAgICAgICAgICAgXgoKRVJST1I6IE1hY3Jv cyB3aXRoIGNvbXBsZXggdmFsdWVzIHNob3VsZCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNpcwoj MTE5OiBGSUxFOiB0Y2cvdGNnLmg6NTgzOgorI2RlZmluZSBUQ0dPUF9DQUxMSShYKSAgICAoWCkt PnBhcmFtMQoKRVJST1I6IE1hY3JvcyB3aXRoIGNvbXBsZXggdmFsdWVzIHNob3VsZCBiZSBlbmNs b3NlZCBpbiBwYXJlbnRoZXNpcwojMTIwOiBGSUxFOiB0Y2cvdGNnLmg6NTg0OgorI2RlZmluZSBU Q0dPUF9DQUxMTyhYKSAgICAoWCktPnBhcmFtMgoKdG90YWw6IDQgZXJyb3JzLCAwIHdhcm5pbmdz LCA5MiBsaW5lcyBjaGVja2VkCgpZb3VyIHBhdGNoIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNl IHJldmlldy4gIElmIGFueSBvZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBv cnQgdGhlbSB0byB0aGUgbWFpbnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMu CgpDaGVja2luZyBQQVRDSCA0LzI2OiB0Y2c6IEFkZCB0eXBlcyBhbmQgYmFzaWMgb3BlcmF0aW9u cyBmb3IgaG9zdCB2ZWN0b3JzLi4uCkVSUk9SOiBleHRlcm5zIHNob3VsZCBiZSBhdm9pZGVkIGlu IC5jIGZpbGVzCiMxMzc6IEZJTEU6IHRjZy90Y2ctb3AtdmVjLmM6Mzc6CitleHRlcm4gVENHdl9p MzIgVENHVl9MT1dfbGlua19lcnJvcihUQ0d2X2k2NCk7CgpFUlJPUjogZXh0ZXJucyBzaG91bGQg YmUgYXZvaWRlZCBpbiAuYyBmaWxlcwojMTM4OiBGSUxFOiB0Y2cvdGNnLW9wLXZlYy5jOjM4Ogor ZXh0ZXJuIFRDR3ZfaTMyIFRDR1ZfSElHSF9saW5rX2Vycm9yKFRDR3ZfaTY0KTsKCkVSUk9SOiBN YWNyb3Mgd2l0aCBjb21wbGV4IHZhbHVlcyBzaG91bGQgYmUgZW5jbG9zZWQgaW4gcGFyZW50aGVz aXMKIzUzNTogRklMRTogdGNnL3RjZy1vcGMuaDoyMDk6CisjZGVmaW5lIElNUExWRUMgIFRDR19P UEZfVkVDVE9SIHwgSU1QTChUQ0dfVEFSR0VUX01BWUJFX3ZlYykKCldBUk5JTkc6IGxpbmUgb3Zl ciA4MCBjaGFyYWN0ZXJzCiM1Mzg6IEZJTEU6IHRjZy90Y2ctb3BjLmg6MjEyOgorREVGKG1vdmlf dmVjLCAxLCAwLCAwLCBUQ0dfT1BGX1ZFQ1RPUiB8IFRDR19PUEZfTk9UX1BSRVNFTlQpIC8qIHZl Y2wgZGVmaW5lcyBjb25zdCBhcmdzICovCgpFUlJPUjogTWFjcm9zIHdpdGggY29tcGxleCB2YWx1 ZXMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2lzCiM4MDA6IEZJTEU6IHRjZy90Y2cu aDo2MTU6CisjZGVmaW5lIFRDR09QX1ZFQ0woWCkgICAgIChYKS0+cGFyYW0xCgpFUlJPUjogTWFj cm9zIHdpdGggY29tcGxleCB2YWx1ZXMgc2hvdWxkIGJlIGVuY2xvc2VkIGluIHBhcmVudGhlc2lz CiM4MDE6IEZJTEU6IHRjZy90Y2cuaDo2MTY6CisjZGVmaW5lIFRDR09QX1ZFQ0UoWCkgICAgIChY KS0+cGFyYW0yCgp0b3RhbDogNSBlcnJvcnMsIDEgd2FybmluZ3MsIDgwNyBsaW5lcyBjaGVja2Vk CgpZb3VyIHBhdGNoIGhhcyBzdHlsZSBwcm9ibGVtcywgcGxlYXNlIHJldmlldy4gIElmIGFueSBv ZiB0aGVzZSBlcnJvcnMKYXJlIGZhbHNlIHBvc2l0aXZlcyByZXBvcnQgdGhlbSB0byB0aGUgbWFp bnRhaW5lciwgc2VlCkNIRUNLUEFUQ0ggaW4gTUFJTlRBSU5FUlMuCgpDaGVja2luZyBQQVRDSCA1 LzI2OiB0Y2c6IEFkZCBnZW5lcmljIHZlY3RvciBleHBhbmRlcnMuLi4KRVJST1I6IHNwYWNlcyBy ZXF1aXJlZCBhcm91bmQgdGhhdCAnJicgKGN0eDpXeE8pCiMzMjA6IEZJTEU6IGFjY2VsL3RjZy90 Y2ctcnVudGltZS1ndmVjLmM6MjgxOgorICAgICAgICAqKHZlYzY0ICopKGQgKyBpKSA9ICoodmVj NjQgKikoYSArIGkpICZ+ICoodmVjNjQgKikoYiArIGkpOwogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KCkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGFmdGVy IHRoYXQgJ34nIChjdHg6T3hXKQojMzIwOiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3Zl Yy5jOjI4MToKKyAgICAgICAgKih2ZWM2NCAqKShkICsgaSkgPSAqKHZlYzY0ICopKGEgKyBpKSAm fiAqKHZlYzY0ICopKGIgKyBpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXgoKRVJST1I6IHNwYWNlcyByZXF1aXJlZCBhcm91bmQgdGhhdCAnfCcgKGN0 eDpXeE8pCiMzMzE6IEZJTEU6IGFjY2VsL3RjZy90Y2ctcnVudGltZS1ndmVjLmM6MjkyOgorICAg ICAgICAqKHZlYzY0ICopKGQgKyBpKSA9ICoodmVjNjQgKikoYSArIGkpIHx+ICoodmVjNjQgKiko YiArIGkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4K CkVSUk9SOiBzcGFjZSBwcm9oaWJpdGVkIGFmdGVyIHRoYXQgJ34nIChjdHg6T3hXKQojMzMxOiBG SUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3ZlYy5jOjI5MjoKKyAgICAgICAgKih2ZWM2NCAq KShkICsgaSkgPSAqKHZlYzY0ICopKGEgKyBpKSB8fiAqKHZlYzY0ICopKGIgKyBpKTsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgoKdG90YWw6IDQgZXJy b3JzLCAwIHdhcm5pbmdzLCAxNjQyIGxpbmVzIGNoZWNrZWQKCllvdXIgcGF0Y2ggaGFzIHN0eWxl IHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRoZXNlIGVycm9ycwphcmUgZmFs c2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFpbmVyLCBzZWUKQ0hFQ0tQQVRD SCBpbiBNQUlOVEFJTkVSUy4KCkNoZWNraW5nIFBBVENIIDYvMjY6IHRjZzogQWxsb3cgbXVsdGlw bGUgd29yZCBlbnRyaWVzIGludG8gdGhlIGNvbnN0YW50IHBvb2wuLi4KRVJST1I6IHNwYWNlcyBw cm9oaWJpdGVkIGFyb3VuZCB0aGF0ICc6JyAoY3R4Old4VykKIzIzOiBGSUxFOiB0Y2cvdGNnLXBv b2wuaW5jLmM6MjY6CisgICAgaW50IGFkZGVuZCAgOiAzMjsKICAgICAgICAgICAgICAgICBeCgpF UlJPUjogc3BhY2VzIHByb2hpYml0ZWQgYXJvdW5kIHRoYXQgJzonIChjdHg6V3hXKQojMjQ6IEZJ TEU6IHRjZy90Y2ctcG9vbC5pbmMuYzoyNzoKKyAgICBpbnQgcnR5cGUgICA6IDE2OwogICAgICAg ICAgICAgICAgIF4KCkVSUk9SOiBzcGFjZXMgcHJvaGliaXRlZCBhcm91bmQgdGhhdCAnOicgKGN0 eDpXeFcpCiMyNTogRklMRTogdGNnL3RjZy1wb29sLmluYy5jOjI4OgorICAgIGludCBubG9uZyAg IDogMTY7CiAgICAgICAgICAgICAgICAgXgoKdG90YWw6IDMgZXJyb3JzLCAwIHdhcm5pbmdzLCAx NTYgbGluZXMgY2hlY2tlZAoKWW91ciBwYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMsIHBsZWFzZSBy ZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2ZXMgcmVwb3J0 IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5UQUlORVJTLgoK Q2hlY2tpbmcgUEFUQ0ggNy8yNjogdGNnOiBBZGQgdGNnX3NpZ25lZF9jb25kLi4uCkNoZWNraW5n IFBBVENIIDgvMjY6IHRhcmdldC9hcm06IEFsaWduIHZlY3RvciByZWdpc3RlcnMuLi4KQ2hlY2tp bmcgUEFUQ0ggOS8yNjogdGFyZ2V0L2FybTogVXNlIHZlY3RvciBpbmZyYXN0cnVjdHVyZSBmb3Ig YWE2NCBhZGQvc3ViL2xvZ2ljLi4uCkNoZWNraW5nIFBBVENIIDEwLzI2OiB0YXJnZXQvYXJtOiBV c2UgdmVjdG9yIGluZnJhc3RydWN0dXJlIGZvciBhYTY0IG1vdi9ub3QvbmVnLi4uCkNoZWNraW5n IFBBVENIIDExLzI2OiB0YXJnZXQvYXJtOiBVc2UgdmVjdG9yIGluZnJhc3RydWN0dXJlIGZvciBh YTY0IGR1cC9tb3ZpLi4uCkNoZWNraW5nIFBBVENIIDEyLzI2OiB0Y2cvaTM4NjogQWRkIHZlY3Rv ciBvcGVyYXRpb25zLi4uCkNoZWNraW5nIFBBVENIIDEzLzI2OiB0Y2c6IEFkZCB0Y2dfZXhwYW5k X3ZlY19vcCBhbmQgdGNnLXRhcmdldC5vcGMuaC4uLgpDaGVja2luZyBQQVRDSCAxNC8yNjogdGNn OiBBZGQgZ2VuZXJpYyB2ZWN0b3Igb3BzIGZvciBpbnRlcmxlYXZlLi4uCkVSUk9SOiBjb2RlIGlu ZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMKIzQxOiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRp bWUtZ3ZlYy5jOjMxODoKK15JKihUWVBFICopKGQgKyAyICogaSArIDApID0gKihUWVBFICopKGEg KyBpKTsgICAgICAgICAgICAgICAgICAgICAgICAgXCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91 bGQgbmV2ZXIgdXNlIHRhYnMKIzQyOiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3ZlYy5j OjMxOToKK15JKihUWVBFICopKGQgKyAyICogaSArIHNpemVvZihUWVBFKSkgPSAqKFRZUEUgKiko YiArIGkpOyAgICAgICAgICAgICAgXCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIg dXNlIHRhYnMKIzg3OiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3ZlYy5jOjM2NDoKK15J KihUWVBFICopKGQgKyBpICsgMCkgPSBhZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXCQKCkVSUk9SOiBjb2RlIGluZGVudCBzaG91bGQgbmV2ZXIgdXNlIHRhYnMK Izg4OiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3ZlYy5jOjM2NToKK15JKihUWVBFICop KGQgKyBpICsgc2l6ZW9mKFRZUEUpKSA9IGJlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXCQKCnRvdGFsOiA0IGVycm9ycywgMCB3YXJuaW5ncywgNjg0IGxpbmVzIGNoZWNrZWQKCllv dXIgcGF0Y2ggaGFzIHN0eWxlIHByb2JsZW1zLCBwbGVhc2UgcmV2aWV3LiAgSWYgYW55IG9mIHRo ZXNlIGVycm9ycwphcmUgZmFsc2UgcG9zaXRpdmVzIHJlcG9ydCB0aGVtIHRvIHRoZSBtYWludGFp bmVyLCBzZWUKQ0hFQ0tQQVRDSCBpbiBNQUlOVEFJTkVSUy4KCkNoZWNraW5nIFBBVENIIDE1LzI2 OiB0YXJnZXQvYXJtOiBVc2UgdmVjdG9yIGluZnJhc3RydWN0dXJlIGZvciBhYTY0IHppcC91enAv dHJuL3h0bi4uLgpDaGVja2luZyBQQVRDSCAxNi8yNjogdGNnOiBBZGQgZ2VuZXJpYyB2ZWN0b3Ig b3BzIGZvciBjb25zdGFudCBzaGlmdHMuLi4KQ2hlY2tpbmcgUEFUQ0ggMTcvMjY6IHRhcmdldC9h cm06IFVzZSB2ZWN0b3IgaW5mcmFzdHJ1Y3R1cmUgZm9yIGFhNjQgY29uc3RhbnQgc2hpZnRzLi4u CkNoZWNraW5nIFBBVENIIDE4LzI2OiB0Y2c6IEFkZCBnZW5lcmljIHZlY3RvciBvcHMgZm9yIGNv bXBhcmlzb25zLi4uCkVSUk9SOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5kIHRoYXQgJyonIChjdHg6 V3hWKQojMjQ6IEZJTEU6IGFjY2VsL3RjZy90Y2ctcnVudGltZS1ndmVjLmM6NTMwOgorICAgICAg ICAqKFRZUEUgKikoZCArIGkpID0gKihUWVBFICopKGEgKyBpKSBPUCAqKFRZUEUgKikoYiArIGkp OyAgICAgICAgICAgICBcCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KCkVSUk9SOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5kIHRoYXQgJz09JyAoY3R4Old4 QikKIzMwOiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3ZlYy5jOjUzNjoKKyAgICBET19D TVAxKGd2ZWNfZXEjI1NaLCB2ZWMjI1NaLCA9PSkgICAgXAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIF4KCkVSUk9SOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5kIHRoYXQgJyE9JyAo Y3R4Old4QikKIzMxOiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3ZlYy5jOjUzNzoKKyAg ICBET19DTVAxKGd2ZWNfbmUjI1NaLCB2ZWMjI1NaLCAhPSkgICAgXAogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF4KCkVSUk9SOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5kIHRoYXQg JzwnIChjdHg6V3hCKQojMzI6IEZJTEU6IGFjY2VsL3RjZy90Y2ctcnVudGltZS1ndmVjLmM6NTM4 OgorICAgIERPX0NNUDEoZ3ZlY19sdCMjU1osIHN2ZWMjI1NaLCA8KSAgICBcCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KCkVSUk9SOiBzcGFjZXMgcmVxdWlyZWQgYXJvdW5k IHRoYXQgJzw9JyAoY3R4Old4QikKIzMzOiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRpbWUtZ3Zl Yy5jOjUzOToKKyAgICBET19DTVAxKGd2ZWNfbGUjI1NaLCBzdmVjIyNTWiwgPD0pICAgXAogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogc3BhY2VzIHJlcXVpcmVk IGFyb3VuZCB0aGF0ICc8JyAoY3R4Old4QikKIzM0OiBGSUxFOiBhY2NlbC90Y2cvdGNnLXJ1bnRp bWUtZ3ZlYy5jOjU0MDoKKyAgICBET19DTVAxKGd2ZWNfbHR1IyNTWiwgdmVjIyNTWiwgPCkgICAg XAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogc3BhY2VzIHJl cXVpcmVkIGFyb3VuZCB0aGF0ICc8PScgKGN0eDpXeEIpCiMzNTogRklMRTogYWNjZWwvdGNnL3Rj Zy1ydW50aW1lLWd2ZWMuYzo1NDE6CisgICAgRE9fQ01QMShndmVjX2xldSMjU1osIHZlYyMjU1os IDw9KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeCgpFUlJPUjogc3BhY2Ug cHJvaGliaXRlZCBhZnRlciB0aGF0ICcmJicgKGN0eDpFeFcpCiMyNDc6IEZJTEU6IHRjZy90Y2ct b3AtZ3ZlYy5jOjE3NzU6CisgICAgICAgICAgICAmJiAoVENHX1RBUkdFVF9SRUdfQklUUyA9PSAz MiB8fCB2ZWNlICE9IE1PXzY0KQogICAgICAgICAgICAgXgoKdG90YWw6IDggZXJyb3JzLCAwIHdh cm5pbmdzLCAzNTYgbGluZXMgY2hlY2tlZAoKWW91ciBwYXRjaCBoYXMgc3R5bGUgcHJvYmxlbXMs IHBsZWFzZSByZXZpZXcuICBJZiBhbnkgb2YgdGhlc2UgZXJyb3JzCmFyZSBmYWxzZSBwb3NpdGl2 ZXMgcmVwb3J0IHRoZW0gdG8gdGhlIG1haW50YWluZXIsIHNlZQpDSEVDS1BBVENIIGluIE1BSU5U QUlORVJTLgoKQ2hlY2tpbmcgUEFUQ0ggMTkvMjY6IHRhcmdldC9hcm06IFVzZSB2ZWN0b3IgaW5m cmFzdHJ1Y3R1cmUgZm9yIGFhNjQgY29tcGFyZXMuLi4KQ2hlY2tpbmcgUEFUQ0ggMjAvMjY6IHRj Zy9pMzg2OiBBZGQgdmVjdG9yIG9wZXJhdGlvbnMvZXhwYW5zaW9ucyBmb3Igc2hpZnQvY21wL2lu dGVybGVhdmUuLi4KQ2hlY2tpbmcgUEFUQ0ggMjEvMjY6IHRjZzogQWRkIGdlbmVyaWMgdmVjdG9y IG9wcyBmb3IgbXVsdGlwbGljYXRpb24uLi4KQ2hlY2tpbmcgUEFUQ0ggMjIvMjY6IHRhcmdldC9h cm06IFVzZSB2ZWN0b3IgaW5mcmFzdHJ1Y3R1cmUgZm9yIGFhNjQgbXVsdGlwbGllcy4uLgpDaGVj a2luZyBQQVRDSCAyMy8yNjogdGNnOiBBZGQgZ2VuZXJpYyB2ZWN0b3Igb3BzIGZvciBleHRlbnNp b24uLi4KQ2hlY2tpbmcgUEFUQ0ggMjQvMjY6IHRhcmdldC9hcm06IFVzZSB2ZWN0b3IgaW5mcmFz dHJ1Y3R1cmUgZm9yIGFhNjQgd2lkZW5pbmcgc2hpZnRzLi4uCkNoZWNraW5nIFBBVENIIDI1LzI2 OiB0Y2cvaTM4NjogQWRkIHZlY3RvciBvcGVyYXRpb25zL2V4cGFuc2lvbnMgZm9yIG11bC9leHRl bmQuLi4KQ2hlY2tpbmcgUEFUQ0ggMjYvMjY6IHRjZy9hYXJjaDY0OiBBZGQgdmVjdG9yIG9wZXJh dGlvbnMuLi4KPT09IE9VVFBVVCBFTkQgPT09CgpUZXN0IGNvbW1hbmQgZXhpdGVkIHdpdGggY29k ZTogMQoKCi0tLQpFbWFpbCBnZW5lcmF0ZWQgYXV0b21hdGljYWxseSBieSBQYXRjaGV3IFtodHRw Oi8vcGF0Y2hldy5vcmcvXS4KUGxlYXNlIHNlbmQgeW91ciBmZWVkYmFjayB0byBwYXRjaGV3LWRl dmVsQGZyZWVsaXN0cy5vcmc=