From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Alejandro Alvarez Ayllon To: git-commits@fedoraproject.org Subject: [rpms/onnx] test-1.21.0: Backport of fixes for CVE-2024-27318 and CVE-2024-27319 Date: Mon, 08 Jun 2026 15:18:20 GMT Message-ID: <178093190093.1.1389421449413429667.rpms-onnx-0bc03015f99f@fedoraproject.org> List-ID: X-Git-Repo: rpms/onnx X-Git-Branch: test-1.21.0 X-Git-Rev: 0bc03015f99f80a102f41c3720e2e65295c91683 QSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KClJlcG8gICA6IHJwbXMvb25ueApCcmFuY2gg OiB0ZXN0LTEuMjEuMApDb21taXQgOiAwYmMwMzAxNWY5OWY4MGExMDJmNDFjMzcyMGUyZTY1Mjk1 YzkxNjgzCkF1dGhvciA6IEFsZWphbmRybyBBbHZhcmV6IEF5bGxvbiA8YS5hbHZhcmV6YXlsbG9u QGdtYWlsLmNvbT4KRGF0ZSAgIDogMjAyNC0wMi0yNFQxNjoxODowNCswMTowMApTdGF0cyAgOiAr NDkzLy0xIGluIDQgZmlsZShzKQpVUkwgICAgOiBodHRwczovL3NyYy5mZWRvcmFwcm9qZWN0Lm9y Zy9ycG1zL29ubngvYy8wYmMwMzAxNWY5OWY4MGExMDJmNDFjMzcyMGUyZTY1Mjk1YzkxNjgzP2Jy YW5jaD10ZXN0LTEuMjEuMAoKTG9nOgpCYWNrcG9ydCBvZiBmaXhlcyBmb3IgQ1ZFLTIwMjQtMjcz MTggYW5kIENWRS0yMDI0LTI3MzE5CgotLS0KZGlmZiAtLWdpdCBhLzAwMDUtRml4LXBhdGgtc2Fu aXRpemF0aW9uLWJ5cGFzcy1sZWFkaW5nLXRvLWFyYml0cmFyeS1yZS5wYXRjaCBiLzAwMDUtRml4 LXBhdGgtc2FuaXRpemF0aW9uLWJ5cGFzcy1sZWFkaW5nLXRvLWFyYml0cmFyeS1yZS5wYXRjaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2Q3MWJiCi0tLSAvZGV2L251bGwK KysrIGIvMDAwNS1GaXgtcGF0aC1zYW5pdGl6YXRpb24tYnlwYXNzLWxlYWRpbmctdG8tYXJiaXRy YXJ5LXJlLnBhdGNoCkBAIC0wLDAgKzEsMzgwIEBACitGcm9tIGRhMmMyNGI0YTlhZTgwMmVmZTg3 Njg5NjIzMDhjNzg0Y2RhODcxZTIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBsaXF1 biBGdSA8bGlxZnVAbWljcm9zb2Z0LmNvbT4KK0RhdGU6IE1vbiwgMTkgRmViIDIwMjQgMTE6MTI6 NDAgLTA4MDAKK1N1YmplY3Q6IFtQQVRDSCA1LzZdIEZpeCBwYXRoIHNhbml0aXphdGlvbiBieXBh c3MgbGVhZGluZyB0byBhcmJpdHJhcnkgcmVhZAorICgjNTkxNykKKworU2lnbmVkLW9mZi1ieTog bGlxdW5mdSA8bGlxdW4uZnVAbWljcm9zb2Z0LmNvbT4KK1NpZ25lZC1vZmYtYnk6IGxpcXVuIEZ1 IDxsaXF1bi5mdUBtaWNyb3NvZnQuY29tPgorQ28tYXV0aG9yZWQtYnk6IEp1c3RpbiBDaHUgPGp1 c3RpbmNodWJ5QHVzZXJzLm5vcmVwbHkuZ2l0aHViLmNvbT4KKyhjaGVycnkgcGlja2VkIGZyb20g Y29tbWl0IDY2YjdmYjYzMDkwM2ZkY2YzZTgzYjZiNmQ1NmQ4MmU5MDQyNjRhMjApCistLS0KKyBv bm54L2NoZWNrZXIuY2MgICAgICAgICAgICAgICAgIHwgMTY4ICsrKysrKysrKysrKysrKysrLS0t LS0tLS0tLS0tLS0tCisgb25ueC9jaGVja2VyLmggICAgICAgICAgICAgICAgICB8ICAgNSArCisg b25ueC9jb21tb24vcGF0aC5oICAgICAgICAgICAgICB8ICAxNSArKy0KKyBvbm54L2NwcDJweV9l eHBvcnQuY2MgICAgICAgICAgIHwgICAyICsKKyBvbm54L2V4dGVybmFsX2RhdGFfaGVscGVyLnB5 ICAgIHwgIDE1ICstLQorIG9ubngvdGVzdC90ZXN0X2V4dGVybmFsX2RhdGEucHkgfCAgNDkgKysr KysrKysrKworIDYgZmlsZXMgY2hhbmdlZCwgMTYxIGluc2VydGlvbnMoKyksIDkzIGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvb25ueC9jaGVja2VyLmNjIGIvb25ueC9jaGVja2VyLmNjCitp bmRleCAzN2Q2YWJkMy4uMzhlNTQ0YmUgMTAwNjQ0CistLS0gYS9vbm54L2NoZWNrZXIuY2MKKysr KyBiL29ubngvY2hlY2tlci5jYworQEAgLTQsNyArNCw2IEBACisgCisgI2luY2x1ZGUgIm9ubngv Y2hlY2tlci5oIgorICNpbmNsdWRlICJvbm54L2NvbW1vbi9maWxlX3V0aWxzLmgiCistI2luY2x1 ZGUgIm9ubngvY29tbW9uL3BhdGguaCIKKyAjaW5jbHVkZSAib25ueC9kZWZzL3NjaGVtYS5oIgor ICNpbmNsdWRlICJvbm54L2RlZnMvdGVuc29yX3Byb3RvX3V0aWwuaCIKKyAjaW5jbHVkZSAib25u eC9wcm90b191dGlscy5oIgorQEAgLTEyOSw4NSArMTI4LDcgQEAgdm9pZCBjaGVja190ZW5zb3Io Y29uc3QgVGVuc29yUHJvdG8mIHRlbnNvciwgY29uc3QgQ2hlY2tlckNvbnRleHQmIGN0eCkgewor ICAgICBmb3IgKGNvbnN0IFN0cmluZ1N0cmluZ0VudHJ5UHJvdG8mIGVudHJ5IDogdGVuc29yLmV4 dGVybmFsX2RhdGEoKSkgeworICAgICAgIGlmIChlbnRyeS5oYXNfa2V5KCkgJiYgZW50cnkuaGFz X3ZhbHVlKCkgJiYgZW50cnkua2V5KCkgPT0gImxvY2F0aW9uIikgeworICAgICAgICAgaGFzX2xv Y2F0aW9uID0gdHJ1ZTsKKy0jaWZkZWYgX1dJTjMyCistICAgICAgICBhdXRvIGZpbGVfcGF0aCA9 IHN0ZDo6ZmlsZXN5c3RlbTo6cGF0aCh1dGY4c3RyX3RvX3dzdHJpbmcoZW50cnkudmFsdWUoKSkp OworLSAgICAgICAgaWYgKGZpbGVfcGF0aC5pc19hYnNvbHV0ZSgpKSB7CistICAgICAgICAgIGZh aWxfY2hlY2soCistICAgICAgICAgICAgICAiTG9jYXRpb24gb2YgZXh0ZXJuYWwgVGVuc29yUHJv dG8gKCB0ZW5zb3IgbmFtZTogIiwKKy0gICAgICAgICAgICAgIHRlbnNvci5uYW1lKCksCistICAg ICAgICAgICAgICAiKSBzaG91bGQgYmUgYSByZWxhdGl2ZSBwYXRoLCBidXQgaXQgaXMgYW4gYWJz b2x1dGUgcGF0aDogIiwKKy0gICAgICAgICAgICAgIGVudHJ5LnZhbHVlKCkpOworLSAgICAgICAg fQorLSAgICAgICAgYXV0byByZWxhdGl2ZV9wYXRoID0gZmlsZV9wYXRoLmxleGljYWxseV9ub3Jt YWwoKS5tYWtlX3ByZWZlcnJlZCgpLndzdHJpbmcoKTsKKy0gICAgICAgIC8vIENoZWNrIHRoYXQg bm9ybWFsaXplZCByZWxhdGl2ZSBwYXRoIGNvbnRhaW5zICIuLiIgb24gV2luZG93cy4KKy0gICAg ICAgIGlmIChyZWxhdGl2ZV9wYXRoLmZpbmQoTCIuLiIsIDApICE9IHN0ZDo6c3RyaW5nOjpucG9z KSB7CistICAgICAgICAgIGZhaWxfY2hlY2soCistICAgICAgICAgICAgICAiRGF0YSBvZiBUZW5z b3JQcm90byAoIHRlbnNvciBuYW1lOiAiLAorLSAgICAgICAgICAgICAgdGVuc29yLm5hbWUoKSwK Ky0gICAgICAgICAgICAgICIpIHNob3VsZCBiZSBmaWxlIGluc2lkZSB0aGUgIiwKKy0gICAgICAg ICAgICAgIGN0eC5nZXRfbW9kZWxfZGlyKCksCistICAgICAgICAgICAgICAiLCBidXQgdGhlICci LAorLSAgICAgICAgICAgICAgZW50cnkudmFsdWUoKSwKKy0gICAgICAgICAgICAgICInIHBvaW50 cyBvdXRzaWRlIHRoZSBkaXJlY3RvcnkiKTsKKy0gICAgICAgIH0KKy0gICAgICAgIHN0ZDo6d3N0 cmluZyBkYXRhX3BhdGggPSBwYXRoX2pvaW4odXRmOHN0cl90b193c3RyaW5nKGN0eC5nZXRfbW9k ZWxfZGlyKCkpLCByZWxhdGl2ZV9wYXRoKTsKKy0gICAgICAgIHN0cnVjdCBfc3RhdDY0IGJ1ZmY7 CistICAgICAgICBpZiAoX3dzdGF0NjQoZGF0YV9wYXRoLmNfc3RyKCksICZidWZmKSAhPSAwKSB7 CistICAgICAgICAgIGZhaWxfY2hlY2soCistICAgICAgICAgICAgICAiRGF0YSBvZiBUZW5zb3JQ cm90byAoIHRlbnNvciBuYW1lOiAiLAorLSAgICAgICAgICAgICAgdGVuc29yLm5hbWUoKSwKKy0g ICAgICAgICAgICAgICIpIHNob3VsZCBiZSBzdG9yZWQgaW4gIiwKKy0gICAgICAgICAgICAgIGVu dHJ5LnZhbHVlKCksCistICAgICAgICAgICAgICAiLCBidXQgaXQgZG9lc24ndCBleGlzdCBvciBp cyBub3QgYWNjZXNzaWJsZS4iKTsKKy0gICAgICAgIH0KKy0jZWxzZSAvLyBQT1NJWAorLSAgICAg ICAgaWYgKGVudHJ5LnZhbHVlKCkuZW1wdHkoKSkgeworLSAgICAgICAgICBmYWlsX2NoZWNrKCJM b2NhdGlvbiBvZiBleHRlcm5hbCBUZW5zb3JQcm90byAoIHRlbnNvciBuYW1lOiAiLCB0ZW5zb3Iu bmFtZSgpLCAiKSBzaG91bGQgbm90IGJlIGVtcHR5LiIpOworLSAgICAgICAgfSBlbHNlIGlmIChl bnRyeS52YWx1ZSgpWzBdID09ICcvJykgeworLSAgICAgICAgICBmYWlsX2NoZWNrKAorLSAgICAg ICAgICAgICAgIkxvY2F0aW9uIG9mIGV4dGVybmFsIFRlbnNvclByb3RvICggdGVuc29yIG5hbWU6 ICIsCistICAgICAgICAgICAgICB0ZW5zb3IubmFtZSgpLAorLSAgICAgICAgICAgICAgIikgc2hv dWxkIGJlIGEgcmVsYXRpdmUgcGF0aCwgYnV0IGl0IGlzIGFuIGFic29sdXRlIHBhdGg6ICIsCist ICAgICAgICAgICAgICBlbnRyeS52YWx1ZSgpKTsKKy0gICAgICAgIH0KKy0gICAgICAgIHN0ZDo6 c3RyaW5nIHJlbGF0aXZlX3BhdGggPSBjbGVhbl9yZWxhdGl2ZV9wYXRoKGVudHJ5LnZhbHVlKCkp OworLSAgICAgICAgLy8gQ2hlY2sgdGhhdCBub3JtYWxpemVkIHJlbGF0aXZlIHBhdGggY29udGFp bnMgIi4uIiBvbiBQT1NJWAorLSAgICAgICAgaWYgKHJlbGF0aXZlX3BhdGguZmluZCgiLi4iLCAw KSAhPSBzdGQ6OnN0cmluZzo6bnBvcykgeworLSAgICAgICAgICBmYWlsX2NoZWNrKAorLSAgICAg ICAgICAgICAgIkRhdGEgb2YgVGVuc29yUHJvdG8gKCB0ZW5zb3IgbmFtZTogIiwKKy0gICAgICAg ICAgICAgIHRlbnNvci5uYW1lKCksCistICAgICAgICAgICAgICAiKSBzaG91bGQgYmUgZmlsZSBp bnNpZGUgdGhlICIsCistICAgICAgICAgICAgICBjdHguZ2V0X21vZGVsX2RpcigpLAorLSAgICAg ICAgICAgICAgIiwgYnV0IHRoZSAnIiwKKy0gICAgICAgICAgICAgIGVudHJ5LnZhbHVlKCksCist ICAgICAgICAgICAgICAiJyBwb2ludHMgb3V0c2lkZSB0aGUgZGlyZWN0b3J5Iik7CistICAgICAg ICB9CistICAgICAgICBzdGQ6OnN0cmluZyBkYXRhX3BhdGggPSBwYXRoX2pvaW4oY3R4LmdldF9t b2RlbF9kaXIoKSwgcmVsYXRpdmVfcGF0aCk7CistICAgICAgICAvLyB1c2Ugc3RhdDY0IHRvIGNo ZWNrIHdoZXRoZXIgdGhlIGZpbGUgZXhpc3RzCistI2lmIGRlZmluZWQoX19BUFBMRV9fKSB8fCBk ZWZpbmVkKF9fd2FzbV9fKQorLSAgICAgICAgc3RydWN0IHN0YXQgYnVmZmVyOyAvLyBBUFBMRSBk b2VzIG5vdCBoYXZlIHN0YXQ2NAorLSAgICAgICAgaWYgKHN0YXQoKGRhdGFfcGF0aCkuY19zdHIo KSwgJmJ1ZmZlcikgIT0gMCkgeworLSNlbHNlCistICAgICAgICBzdHJ1Y3Qgc3RhdDY0IGJ1ZmZl cjsgLy8gQWxsIFBPU0lYIGV4Y2VwdCBBUFBMRSBoYXZlIHN0YXQ2NAorLSAgICAgICAgaWYgKHN0 YXQ2NCgoZGF0YV9wYXRoKS5jX3N0cigpLCAmYnVmZmVyKSAhPSAwKSB7CistI2VuZGlmCistICAg ICAgICAgIGZhaWxfY2hlY2soCistICAgICAgICAgICAgICAiRGF0YSBvZiBUZW5zb3JQcm90byAo IHRlbnNvciBuYW1lOiAiLAorLSAgICAgICAgICAgICAgdGVuc29yLm5hbWUoKSwKKy0gICAgICAg ICAgICAgICIpIHNob3VsZCBiZSBzdG9yZWQgaW4gIiwKKy0gICAgICAgICAgICAgIGRhdGFfcGF0 aCwKKy0gICAgICAgICAgICAgICIsIGJ1dCBpdCBkb2Vzbid0IGV4aXN0IG9yIGlzIG5vdCBhY2Nl c3NpYmxlLiIpOworLSAgICAgICAgfQorLSAgICAgICAgLy8gRG8gbm90IGFsbG93IHN5bWxpbmtz IG9yIGRpcmVjdG9yaWVzLgorLSAgICAgICAgaWYgKCFTX0lTUkVHKGJ1ZmZlci5zdF9tb2RlKSkg eworLSAgICAgICAgICBmYWlsX2NoZWNrKAorLSAgICAgICAgICAgICAgIkRhdGEgb2YgVGVuc29y UHJvdG8gKCB0ZW5zb3IgbmFtZTogIiwKKy0gICAgICAgICAgICAgIHRlbnNvci5uYW1lKCksCist ICAgICAgICAgICAgICAiKSBzaG91bGQgYmUgc3RvcmVkIGluICIsCistICAgICAgICAgICAgICBk YXRhX3BhdGgsCistICAgICAgICAgICAgICAiLCBidXQgaXQgaXMgbm90IHJlZ3VsYXIgZmlsZS4i KTsKKy0gICAgICAgIH0KKy0jZW5kaWYKKysgICAgICAgIHJlc29sdmVfZXh0ZXJuYWxfZGF0YV9s b2NhdGlvbihjdHguZ2V0X21vZGVsX2RpcigpLCBlbnRyeS52YWx1ZSgpLCB0ZW5zb3IubmFtZSgp KTsKKyAgICAgICB9CisgICAgIH0KKyAgICAgaWYgKCFoYXNfbG9jYXRpb24pIHsKK0BAIC0xMDQ1 LDYgKzk2Niw5MyBAQCB2b2lkIGNoZWNrX21vZGVsKGNvbnN0IE1vZGVsUHJvdG8mIG1vZGVsLCBi b29sIGZ1bGxfY2hlY2spIHsKKyAgIH0KKyB9CisgCisrc3RkOjpzdHJpbmcgcmVzb2x2ZV9leHRl cm5hbF9kYXRhX2xvY2F0aW9uKAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgYmFzZV9kaXIsCisr ICAgIGNvbnN0IHN0ZDo6c3RyaW5nJiBsb2NhdGlvbiwKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcm IHRlbnNvcl9uYW1lKSB7CisrI2lmZGVmIF9XSU4zMgorKyAgYXV0byBmaWxlX3BhdGggPSBzdGQ6 OmZpbGVzeXN0ZW06OnBhdGgodXRmOHN0cl90b193c3RyaW5nKGxvY2F0aW9uKSk7CisrICBpZiAo ZmlsZV9wYXRoLmlzX2Fic29sdXRlKCkpIHsKKysgICAgZmFpbF9jaGVjaygKKysgICAgICAgICJM b2NhdGlvbiBvZiBleHRlcm5hbCBUZW5zb3JQcm90byAoIHRlbnNvciBuYW1lOiAiLAorKyAgICAg ICAgdGVuc29yX25hbWUsCisrICAgICAgICAiKSBzaG91bGQgYmUgYSByZWxhdGl2ZSBwYXRoLCBi dXQgaXQgaXMgYW4gYWJzb2x1dGUgcGF0aDogIiwKKysgICAgICAgIGxvY2F0aW9uKTsKKysgIH0K KysgIGF1dG8gcmVsYXRpdmVfcGF0aCA9IGZpbGVfcGF0aC5sZXhpY2FsbHlfbm9ybWFsKCkubWFr ZV9wcmVmZXJyZWQoKS53c3RyaW5nKCk7CisrICAvLyBDaGVjayB0aGF0IG5vcm1hbGl6ZWQgcmVs YXRpdmUgcGF0aCBjb250YWlucyAiLi4iIG9uIFdpbmRvd3MuCisrICBpZiAocmVsYXRpdmVfcGF0 aC5maW5kKEwiLi4iLCAwKSAhPSBzdGQ6OnN0cmluZzo6bnBvcykgeworKyAgICBmYWlsX2NoZWNr KAorKyAgICAgICAgIkRhdGEgb2YgVGVuc29yUHJvdG8gKCB0ZW5zb3IgbmFtZTogIiwKKysgICAg ICAgIHRlbnNvcl9uYW1lLAorKyAgICAgICAgIikgc2hvdWxkIGJlIGZpbGUgaW5zaWRlIHRoZSAi LAorKyAgICAgICAgYmFzZV9kaXIsCisrICAgICAgICAiLCBidXQgdGhlICciLAorKyAgICAgICAg bG9jYXRpb24sCisrICAgICAgICAiJyBwb2ludHMgb3V0c2lkZSB0aGUgZGlyZWN0b3J5Iik7Cisr ICB9CisrICBzdGQ6OndzdHJpbmcgZGF0YV9wYXRoID0gcGF0aF9qb2luKHV0ZjhzdHJfdG9fd3N0 cmluZyhiYXNlX2RpciksIHJlbGF0aXZlX3BhdGgpOworKyAgc3RydWN0IF9zdGF0NjQgYnVmZjsK KysgIGlmIChkYXRhX3BhdGguZW1wdHkoKSB8fCAoZGF0YV9wYXRoWzBdICE9ICcjJyAmJiBfd3N0 YXQ2NChkYXRhX3BhdGguY19zdHIoKSwgJmJ1ZmYpICE9IDApKSB7CisrICAgIGZhaWxfY2hlY2so CisrICAgICAgICAiRGF0YSBvZiBUZW5zb3JQcm90byAoIHRlbnNvciBuYW1lOiAiLAorKyAgICAg ICAgdGVuc29yX25hbWUsCisrICAgICAgICAiKSBzaG91bGQgYmUgc3RvcmVkIGluICIsCisrICAg ICAgICBsb2NhdGlvbiwKKysgICAgICAgICIsIGJ1dCBpdCBkb2Vzbid0IGV4aXN0IG9yIGlzIG5v dCBhY2Nlc3NpYmxlLiIpOworKyAgfQorKyAgcmV0dXJuIHdzdHJpbmdfdG9fdXRmOHN0cihkYXRh X3BhdGgpOworKyNlbHNlIC8vIFBPU0lYCisrICBpZiAobG9jYXRpb24uZW1wdHkoKSkgeworKyAg ICBmYWlsX2NoZWNrKCJMb2NhdGlvbiBvZiBleHRlcm5hbCBUZW5zb3JQcm90byAoIHRlbnNvciBu YW1lOiAiLCB0ZW5zb3JfbmFtZSwgIikgc2hvdWxkIG5vdCBiZSBlbXB0eS4iKTsKKysgIH0gZWxz ZSBpZiAobG9jYXRpb25bMF0gPT0gJy8nKSB7CisrICAgIGZhaWxfY2hlY2soCisrICAgICAgICAi TG9jYXRpb24gb2YgZXh0ZXJuYWwgVGVuc29yUHJvdG8gKCB0ZW5zb3IgbmFtZTogIiwKKysgICAg ICAgIHRlbnNvcl9uYW1lLAorKyAgICAgICAgIikgc2hvdWxkIGJlIGEgcmVsYXRpdmUgcGF0aCwg YnV0IGl0IGlzIGFuIGFic29sdXRlIHBhdGg6ICIsCisrICAgICAgICBsb2NhdGlvbik7CisrICB9 CisrICBzdGQ6OnN0cmluZyByZWxhdGl2ZV9wYXRoID0gY2xlYW5fcmVsYXRpdmVfcGF0aChsb2Nh dGlvbik7CisrICAvLyBDaGVjayB0aGF0IG5vcm1hbGl6ZWQgcmVsYXRpdmUgcGF0aCBjb250YWlu cyAiLi4iIG9uIFBPU0lYCisrICBpZiAocmVsYXRpdmVfcGF0aC5maW5kKCIuLiIsIDApICE9IHN0 ZDo6c3RyaW5nOjpucG9zKSB7CisrICAgIGZhaWxfY2hlY2soCisrICAgICAgICAiRGF0YSBvZiBU ZW5zb3JQcm90byAoIHRlbnNvciBuYW1lOiAiLAorKyAgICAgICAgdGVuc29yX25hbWUsCisrICAg ICAgICAiKSBzaG91bGQgYmUgZmlsZSBpbnNpZGUgdGhlICIsCisrICAgICAgICBiYXNlX2RpciwK KysgICAgICAgICIsIGJ1dCB0aGUgJyIsCisrICAgICAgICBsb2NhdGlvbiwKKysgICAgICAgICIn IHBvaW50cyBvdXRzaWRlIHRoZSBkaXJlY3RvcnkiKTsKKysgIH0KKysgIHN0ZDo6c3RyaW5nIGRh dGFfcGF0aCA9IHBhdGhfam9pbihiYXNlX2RpciwgcmVsYXRpdmVfcGF0aCk7CisrICAvLyB1c2Ug c3RhdDY0IHRvIGNoZWNrIHdoZXRoZXIgdGhlIGZpbGUgZXhpc3RzCisrI2lmIGRlZmluZWQoX19B UFBMRV9fKSB8fCBkZWZpbmVkKF9fd2FzbV9fKSB8fCAhZGVmaW5lZChfX0dMSUJDX18pCisrICBz dHJ1Y3Qgc3RhdCBidWZmZXI7IC8vIEFQUExFLCB3YXNtIGFuZCBub24tZ2xpYyBzdGRsaWJzIGRv IG5vdCBoYXZlIHN0YXQ2NAorKyAgaWYgKGRhdGFfcGF0aC5lbXB0eSgpIHx8IChkYXRhX3BhdGhb MF0gIT0gJyMnICYmIHN0YXQoKGRhdGFfcGF0aCkuY19zdHIoKSwgJmJ1ZmZlcikgIT0gMCkpIHsK KysjZWxzZQorKyAgc3RydWN0IHN0YXQ2NCBidWZmZXI7IC8vIEFsbCBQT1NJWCB1bmRlciBnbGli YyBleGNlcHQgQVBQTEUgYW5kIHdhc20gaGF2ZSBzdGF0NjQKKysgIGlmIChkYXRhX3BhdGguZW1w dHkoKSB8fCAoZGF0YV9wYXRoWzBdICE9ICcjJyAmJiBzdGF0NjQoKGRhdGFfcGF0aCkuY19zdHIo KSwgJmJ1ZmZlcikgIT0gMCkpIHsKKysjZW5kaWYKKysgICAgZmFpbF9jaGVjaygKKysgICAgICAg ICJEYXRhIG9mIFRlbnNvclByb3RvICggdGVuc29yIG5hbWU6ICIsCisrICAgICAgICB0ZW5zb3Jf bmFtZSwKKysgICAgICAgICIpIHNob3VsZCBiZSBzdG9yZWQgaW4gIiwKKysgICAgICAgIGRhdGFf cGF0aCwKKysgICAgICAgICIsIGJ1dCBpdCBkb2Vzbid0IGV4aXN0IG9yIGlzIG5vdCBhY2Nlc3Np YmxlLiIpOworKyAgfQorKyAgLy8gRG8gbm90IGFsbG93IHN5bWxpbmtzIG9yIGRpcmVjdG9yaWVz LgorKyAgaWYgKGRhdGFfcGF0aC5lbXB0eSgpIHx8IChkYXRhX3BhdGhbMF0gIT0gJyMnICYmICFT X0lTUkVHKGJ1ZmZlci5zdF9tb2RlKSkpIHsKKysgICAgZmFpbF9jaGVjaygKKysgICAgICAgICJE YXRhIG9mIFRlbnNvclByb3RvICggdGVuc29yIG5hbWU6ICIsCisrICAgICAgICB0ZW5zb3JfbmFt ZSwKKysgICAgICAgICIpIHNob3VsZCBiZSBzdG9yZWQgaW4gIiwKKysgICAgICAgIGRhdGFfcGF0 aCwKKysgICAgICAgICIsIGJ1dCBpdCBpcyBub3QgcmVndWxhciBmaWxlLiIpOworKyAgfQorKyAg cmV0dXJuIGRhdGFfcGF0aDsKKysjZW5kaWYKKyt9CisrCisgc3RkOjpzZXQ8c3RkOjpzdHJpbmc+ IGV4cGVyaW1lbnRhbF9vcHMgPSB7CisgICAgICJBVGVuIiwKKyAgICAgIkFmZmluZSIsCitkaWZm IC0tZ2l0IGEvb25ueC9jaGVja2VyLmggYi9vbm54L2NoZWNrZXIuaAoraW5kZXggNTRmZTE5YWEu LjZmMWQ0N2IyIDEwMDY0NAorLS0tIGEvb25ueC9jaGVja2VyLmgKKysrKyBiL29ubngvY2hlY2tl ci5oCitAQCAtMTQ5LDYgKzE0OSwxMSBAQCB2b2lkIGNoZWNrX21vZGVsX2xvY2FsX2Z1bmN0aW9u cygKKyB2b2lkIGNoZWNrX21vZGVsKGNvbnN0IE1vZGVsUHJvdG8mIG1vZGVsLCBib29sIGZ1bGxf Y2hlY2sgPSBmYWxzZSk7Cisgdm9pZCBjaGVja19tb2RlbChjb25zdCBzdGQ6OnN0cmluZyYgbW9k ZWxfcGF0aCwgYm9vbCBmdWxsX2NoZWNrID0gZmFsc2UpOworIAorK3N0ZDo6c3RyaW5nIHJlc29s dmVfZXh0ZXJuYWxfZGF0YV9sb2NhdGlvbigKKysgICAgY29uc3Qgc3RkOjpzdHJpbmcmIGJhc2Vf ZGlyLAorKyAgICBjb25zdCBzdGQ6OnN0cmluZyYgbG9jYXRpb24sCisrICAgIGNvbnN0IHN0ZDo6 c3RyaW5nJiB0ZW5zb3JfbmFtZSk7CisrCisgYm9vbCBjaGVja19pc19leHBlcmltZW50YWxfb3Ao Y29uc3QgTm9kZVByb3RvJiBub2RlKTsKKyAKKyB9IC8vIG5hbWVzcGFjZSBjaGVja2VyCitkaWZm IC0tZ2l0IGEvb25ueC9jb21tb24vcGF0aC5oIGIvb25ueC9jb21tb24vcGF0aC5oCitpbmRleCBk MDZlZWY5MC4uZmM2OTIxNTIgMTAwNjQ0CistLS0gYS9vbm54L2NvbW1vbi9wYXRoLmgKKysrKyBi L29ubngvY29tbW9uL3BhdGguaAorQEAgLTI5LDExICsyOSwyMiBAQCBpbmxpbmUgc3RkOjp3c3Ry aW5nIHV0ZjhzdHJfdG9fd3N0cmluZyhjb25zdCBzdGQ6OnN0cmluZyYgdXRmOHN0cikgeworICAg aWYgKHV0ZjhzdHIuc2l6ZSgpID4gSU5UX01BWCkgeworICAgICBmYWlsX2NoZWNrKCJ1dGY4c3Ry X3RvX3dzdHJpbmc6IHN0cmluZyBpcyB0b28gbG9uZyBmb3IgY29udmVydGluZyB0byB3c3RyaW5n LiIpOworICAgfQorLSAgaW50IHNpemVfcmVxdWlyZWQgPSBNdWx0aUJ5dGVUb1dpZGVDaGFyKENQ X1VURjgsIDAsIHV0ZjhzdHIuY19zdHIoKSwgKGludCl1dGY4c3RyLnNpemUoKSwgTlVMTCwgMCk7 CisrICBpbnQgc2l6ZV9yZXF1aXJlZCA9IE11bHRpQnl0ZVRvV2lkZUNoYXIoQ1BfVVRGOCwgMCwg dXRmOHN0ci5jX3N0cigpLCBzdGF0aWNfY2FzdDxpbnQ+KHV0ZjhzdHIuc2l6ZSgpKSwgTlVMTCwg MCk7CisgICBzdGQ6OndzdHJpbmcgd3Nfc3RyKHNpemVfcmVxdWlyZWQsIDApOworLSAgTXVsdGlC eXRlVG9XaWRlQ2hhcihDUF9VVEY4LCAwLCB1dGY4c3RyLmNfc3RyKCksIChpbnQpdXRmOHN0ci5z aXplKCksICZ3c19zdHJbMF0sIHNpemVfcmVxdWlyZWQpOworKyAgTXVsdGlCeXRlVG9XaWRlQ2hh cihDUF9VVEY4LCAwLCB1dGY4c3RyLmNfc3RyKCksIHN0YXRpY19jYXN0PGludD4odXRmOHN0ci5z aXplKCkpLCAmd3Nfc3RyWzBdLCBzaXplX3JlcXVpcmVkKTsKKyAgIHJldHVybiB3c19zdHI7Cisg fQorK2lubGluZSBzdGQ6OnN0cmluZyB3c3RyaW5nX3RvX3V0ZjhzdHIoY29uc3Qgc3RkOjp3c3Ry aW5nJiB3c19zdHIpIHsKKysgIGlmICh3c19zdHIuc2l6ZSgpID4gSU5UX01BWCkgeworKyAgICBm YWlsX2NoZWNrKCJ3c3RyaW5nX3RvX3V0ZjhzdHI6IHN0cmluZyBpcyB0b28gbG9uZyBmb3IgY29u dmVydGluZyB0byBVVEYtOC4iKTsKKysgIH0KKysgIGludCBzaXplX3JlcXVpcmVkID0KKysgICAg ICBXaWRlQ2hhclRvTXVsdGlCeXRlKENQX1VURjgsIDAsIHdzX3N0ci5jX3N0cigpLCBzdGF0aWNf Y2FzdDxpbnQ+KHdzX3N0ci5zaXplKCkpLCBOVUxMLCAwLCBOVUxMLCBOVUxMKTsKKysgIHN0ZDo6 c3RyaW5nIHV0ZjhzdHIoc2l6ZV9yZXF1aXJlZCwgMCk7CisrICBXaWRlQ2hhclRvTXVsdGlCeXRl KAorKyAgICAgIENQX1VURjgsIDAsIHdzX3N0ci5jX3N0cigpLCBzdGF0aWNfY2FzdDxpbnQ+KHdz X3N0ci5zaXplKCkpLCAmdXRmOHN0clswXSwgc2l6ZV9yZXF1aXJlZCwgTlVMTCwgTlVMTCk7Cisr ICByZXR1cm4gdXRmOHN0cjsKKyt9CisgCisgI2Vsc2UKKyBzdGQ6OnN0cmluZyBwYXRoX2pvaW4o Y29uc3Qgc3RkOjpzdHJpbmcmIG9yaWdpbiwgY29uc3Qgc3RkOjpzdHJpbmcmIGFwcGVuZCk7Citk aWZmIC0tZ2l0IGEvb25ueC9jcHAycHlfZXhwb3J0LmNjIGIvb25ueC9jcHAycHlfZXhwb3J0LmNj CitpbmRleCA2NTZmOGZhNy4uZGQ1M2IxOTcgMTAwNjQ0CistLS0gYS9vbm54L2NwcDJweV9leHBv cnQuY2MKKysrKyBiL29ubngvY3BwMnB5X2V4cG9ydC5jYworQEAgLTUzOCw2ICs1MzgsOCBAQCBQ WUJJTkQxMV9NT0RVTEUob25ueF9jcHAycHlfZXhwb3J0LCBvbm54X2NwcDJweV9leHBvcnQpIHsK KyAgICAgICAicGF0aCJfYSwKKyAgICAgICAiZnVsbF9jaGVjayJfYSA9IGZhbHNlKTsKKyAKKysg IGNoZWNrZXIuZGVmKCJfcmVzb2x2ZV9leHRlcm5hbF9kYXRhX2xvY2F0aW9uIiwgJmNoZWNrZXI6 OnJlc29sdmVfZXh0ZXJuYWxfZGF0YV9sb2NhdGlvbik7CisrCisgICAvLyBTdWJtb2R1bGUgYHZl cnNpb25fY29udmVydGVyYAorICAgYXV0byB2ZXJzaW9uX2NvbnZlcnRlciA9IG9ubnhfY3BwMnB5 X2V4cG9ydC5kZWZfc3VibW9kdWxlKCJ2ZXJzaW9uX2NvbnZlcnRlciIpOworICAgdmVyc2lvbl9j b252ZXJ0ZXIuZG9jKCkgPSAiVmVyc2lvbkNvbnZlcnRlciBzdWJtb2R1bGUiOworZGlmZiAtLWdp dCBhL29ubngvZXh0ZXJuYWxfZGF0YV9oZWxwZXIucHkgYi9vbm54L2V4dGVybmFsX2RhdGFfaGVs cGVyLnB5CitpbmRleCBjZmI5N2QwNi4uOTkyYzMyNGIgMTAwNjQ0CistLS0gYS9vbm54L2V4dGVy bmFsX2RhdGFfaGVscGVyLnB5CisrKysgYi9vbm54L2V4dGVybmFsX2RhdGFfaGVscGVyLnB5CitA QCAtOCw2ICs4LDcgQEAgaW1wb3J0IHV1aWQKKyBmcm9tIGl0ZXJ0b29scyBpbXBvcnQgY2hhaW4K KyBmcm9tIHR5cGluZyBpbXBvcnQgQ2FsbGFibGUsIEl0ZXJhYmxlLCBPcHRpb25hbAorIAorK2lt cG9ydCBvbm54Lm9ubnhfY3BwMnB5X2V4cG9ydC5jaGVja2VyIGFzIGNfY2hlY2tlcgorIGZyb20g b25ueC5vbm54X3BiIGltcG9ydCBBdHRyaWJ1dGVQcm90bywgR3JhcGhQcm90bywgTW9kZWxQcm90 bywgVGVuc29yUHJvdG8KKyAKKyAKK0BAIC0zOSw5ICs0MCw5IEBAIGRlZiBsb2FkX2V4dGVybmFs X2RhdGFfZm9yX3RlbnNvcih0ZW5zb3I6IFRlbnNvclByb3RvLCBiYXNlX2Rpcjogc3RyKSAtPiBO b25lOgorICAgICAgICAgYmFzZV9kaXI6IGRpcmVjdG9yeSB0aGF0IGNvbnRhaW5zIHRoZSBleHRl cm5hbCBkYXRhLgorICAgICAiIiIKKyAgICAgaW5mbyA9IEV4dGVybmFsRGF0YUluZm8odGVuc29y KQorLSAgICBmaWxlX2xvY2F0aW9uID0gX3Nhbml0aXplX3BhdGgoaW5mby5sb2NhdGlvbikKKy0g ICAgZXh0ZXJuYWxfZGF0YV9maWxlX3BhdGggPSBvcy5wYXRoLmpvaW4oYmFzZV9kaXIsIGZpbGVf bG9jYXRpb24pCistCisrICAgIGV4dGVybmFsX2RhdGFfZmlsZV9wYXRoID0gY19jaGVja2VyLl9y ZXNvbHZlX2V4dGVybmFsX2RhdGFfbG9jYXRpb24oICAjIHR5cGU6IGlnbm9yZVthdHRyLWRlZmlu ZWRdCisrICAgICAgICBiYXNlX2RpciwgaW5mby5sb2NhdGlvbiwgdGVuc29yLm5hbWUKKysgICAg KQorICAgICB3aXRoIG9wZW4oZXh0ZXJuYWxfZGF0YV9maWxlX3BhdGgsICJyYiIpIGFzIGRhdGFf ZmlsZToKKyAgICAgICAgIGlmIGluZm8ub2Zmc2V0OgorICAgICAgICAgICAgIGRhdGFfZmlsZS5z ZWVrKGluZm8ub2Zmc2V0KQorQEAgLTI1NCwxNCArMjU1LDYgQEAgZGVmIF9nZXRfYXR0cmlidXRl X3RlbnNvcnMob25ueF9tb2RlbF9wcm90bzogTW9kZWxQcm90bykgLT4gSXRlcmFibGVbVGVuc29y UHJvdG8KKyAgICAgeWllbGQgZnJvbSBfZ2V0X2F0dHJpYnV0ZV90ZW5zb3JzX2Zyb21fZ3JhcGgo b25ueF9tb2RlbF9wcm90by5ncmFwaCkKKyAKKyAKKy1kZWYgX3Nhbml0aXplX3BhdGgocGF0aDog c3RyKSAtPiBzdHI6CistICAgICIiIlJlbW92ZSBwYXRoIGNvbXBvbmVudHMgd2hpY2ggd291bGQg YWxsb3cgdHJhdmVyc2luZyB1cCBhIGRpcmVjdG9yeSB0cmVlIGZyb20gYSBiYXNlIHBhdGguCist CistICAgIE5vdGU6IFRoaXMgbWV0aG9kIGlzIGN1cnJlbnRseSB2ZXJ5IGJhc2ljIGFuZCBzaG91 bGQgYmUgZXhwYW5kZWQuCistICAgICIiIgorLSAgICByZXR1cm4gcGF0aC5sc3RyaXAoIi8uIikK Ky0KKy0KKyBkZWYgX2lzX3ZhbGlkX2ZpbGVuYW1lKGZpbGVuYW1lOiBzdHIpIC0+IGJvb2w6Cisg ICAgICIiIlV0aWxpdHkgdG8gY2hlY2sgd2hldGhlciB0aGUgcHJvdmlkZWQgZmlsZW5hbWUgaXMg dmFsaWQuIiIiCisgICAgIGV4cCA9IHJlLmNvbXBpbGUoJ15bXjw+OjssPyIqfC9dKyQnKQorZGlm ZiAtLWdpdCBhL29ubngvdGVzdC90ZXN0X2V4dGVybmFsX2RhdGEucHkgYi9vbm54L3Rlc3QvdGVz dF9leHRlcm5hbF9kYXRhLnB5CitpbmRleCBiNDMwM2I0YS4uYzdkMDNkNzggMTAwNjQ0CistLS0g YS9vbm54L3Rlc3QvdGVzdF9leHRlcm5hbF9kYXRhLnB5CisrKysgYi9vbm54L3Rlc3QvdGVzdF9l eHRlcm5hbF9kYXRhLnB5CitAQCAtMSw2ICsxLDkgQEAKKyAjIENvcHlyaWdodCAoYykgT05OWCBQ cm9qZWN0IENvbnRyaWJ1dG9ycworIAorICMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNo ZS0yLjAKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFubm90YXRpb25zCisrCisraW1wb3J0IGl0 ZXJ0b29scworIGltcG9ydCBvcworIGltcG9ydCBzaHV0aWwKKyBpbXBvcnQgdGVtcGZpbGUKK0BA IC0xODYsNiArMTg5LDUyIEBAIGNsYXNzIFRlc3RMb2FkRXh0ZXJuYWxEYXRhU2luZ2xlRmlsZShU ZXN0TG9hZEV4dGVybmFsRGF0YUJhc2UpOgorICAgICAgICAgYXR0cmlidXRlX3RlbnNvciA9IG5l d19tb2RlbC5ncmFwaC5ub2RlWzBdLmF0dHJpYnV0ZVswXS50CisgICAgICAgICBzZWxmLmFzc2Vy dFRydWUobnAuYWxsY2xvc2UodG9fYXJyYXkoYXR0cmlidXRlX3RlbnNvciksIHNlbGYuYXR0cmli dXRlX3ZhbHVlKSkKKyAKKysgICAgQHBhcmFtZXRlcml6ZWQucGFyYW1ldGVyaXplZC5leHBhbmQo aXRlcnRvb2xzLnByb2R1Y3QoKFRydWUsIEZhbHNlKSwgKFRydWUsIEZhbHNlKSkpCisrICAgIGRl ZiB0ZXN0X3NhdmVfZXh0ZXJuYWxfaW52YWxpZF9zaW5nbGVfZmlsZV9kYXRhX2FuZF9jaGVjaygK KysgICAgICAgIHNlbGYsIHVzZV9hYnNvbHV0ZV9wYXRoOiBib29sLCB1c2VfbW9kZWxfcGF0aDog Ym9vbAorKyAgICApIC0+IE5vbmU6CisrICAgICAgICBtb2RlbCA9IG9ubngubG9hZF9tb2RlbChz ZWxmLm1vZGVsX2ZpbGVuYW1lLCBzZWxmLnNlcmlhbGl6YXRpb25fZm9ybWF0KQorKworKyAgICAg ICAgbW9kZWxfZGlyID0gb3MucGF0aC5qb2luKHNlbGYudGVtcF9kaXIsICJzYXZlX2NvcHkiKQor KyAgICAgICAgb3MubWtkaXIobW9kZWxfZGlyKQorKworKyAgICAgICAgdHJhdmVyc2FsX2V4dGVy bmFsX2RhdGFfZGlyID0gb3MucGF0aC5qb2luKAorKyAgICAgICAgICAgIHNlbGYudGVtcF9kaXIs ICJpbnZsaWRfZXh0ZXJuYWxfZGF0YSIKKysgICAgICAgICkKKysgICAgICAgIG9zLm1rZGlyKHRy YXZlcnNhbF9leHRlcm5hbF9kYXRhX2RpcikKKysKKysgICAgICAgIGlmIHVzZV9hYnNvbHV0ZV9w YXRoOgorKyAgICAgICAgICAgIHRyYXZlcnNhbF9leHRlcm5hbF9kYXRhX2xvY2F0aW9uID0gb3Mu cGF0aC5qb2luKAorKyAgICAgICAgICAgICAgICB0cmF2ZXJzYWxfZXh0ZXJuYWxfZGF0YV9kaXIs ICJ0ZW5zb3JzLmJpbiIKKysgICAgICAgICAgICApCisrICAgICAgICBlbHNlOgorKyAgICAgICAg ICAgIHRyYXZlcnNhbF9leHRlcm5hbF9kYXRhX2xvY2F0aW9uID0gIi4uL2ludmxpZF9leHRlcm5h bF9kYXRhL3RlbnNvcnMuYmluIgorKworKyAgICAgICAgZXh0ZXJuYWxfZGF0YV9kaXIgPSBvcy5w YXRoLmpvaW4oc2VsZi50ZW1wX2RpciwgImV4dGVybmFsX2RhdGEiKQorKyAgICAgICAgb3MubWtk aXIoZXh0ZXJuYWxfZGF0YV9kaXIpCisrICAgICAgICBuZXdfbW9kZWxfZmlsZXBhdGggPSBvcy5w YXRoLmpvaW4obW9kZWxfZGlyLCAibW9kZWwub25ueCIpCisrCisrICAgICAgICBkZWYgY29udmVy dF9tb2RlbF90b19leHRlcm5hbF9kYXRhX25vX2NoZWNrKG1vZGVsOiBNb2RlbFByb3RvLCBsb2Nh dGlvbjogc3RyKToKKysgICAgICAgICAgICBmb3IgdGVuc29yIGluIG1vZGVsLmdyYXBoLmluaXRp YWxpemVyOgorKyAgICAgICAgICAgICAgICBpZiB0ZW5zb3IuSGFzRmllbGQoInJhd19kYXRhIik6 CisrICAgICAgICAgICAgICAgICAgICBzZXRfZXh0ZXJuYWxfZGF0YSh0ZW5zb3IsIGxvY2F0aW9u KQorKworKyAgICAgICAgY29udmVydF9tb2RlbF90b19leHRlcm5hbF9kYXRhX25vX2NoZWNrKAor KyAgICAgICAgICAgIG1vZGVsLAorKyAgICAgICAgICAgIGxvY2F0aW9uPXRyYXZlcnNhbF9leHRl cm5hbF9kYXRhX2xvY2F0aW9uLAorKyAgICAgICAgKQorKworKyAgICAgICAgb25ueC5zYXZlX21v ZGVsKG1vZGVsLCBuZXdfbW9kZWxfZmlsZXBhdGgsIHNlbGYuc2VyaWFsaXphdGlvbl9mb3JtYXQp CisrICAgICAgICBpZiB1c2VfbW9kZWxfcGF0aDoKKysgICAgICAgICAgICB3aXRoIHNlbGYuYXNz ZXJ0UmFpc2VzKG9ubnguY2hlY2tlci5WYWxpZGF0aW9uRXJyb3IpOgorKyAgICAgICAgICAgICAg ICBfID0gb25ueC5sb2FkX21vZGVsKG5ld19tb2RlbF9maWxlcGF0aCwgc2VsZi5zZXJpYWxpemF0 aW9uX2Zvcm1hdCkKKysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgb25ueF9tb2RlbCA9IG9u bngubG9hZF9tb2RlbCgKKysgICAgICAgICAgICAgICAgbmV3X21vZGVsX2ZpbGVwYXRoLCBzZWxm LnNlcmlhbGl6YXRpb25fZm9ybWF0LCBsb2FkX2V4dGVybmFsX2RhdGE9RmFsc2UKKysgICAgICAg ICAgICApCisrICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhvbm54LmNoZWNrZXIu VmFsaWRhdGlvbkVycm9yKToKKysgICAgICAgICAgICAgICAgbG9hZF9leHRlcm5hbF9kYXRhX2Zv cl9tb2RlbChvbm54X21vZGVsLCBleHRlcm5hbF9kYXRhX2RpcikKKysKKyAKKyBjbGFzcyBUZXN0 U2F2ZUFsbFRlbnNvcnNBc0V4dGVybmFsRGF0YShUZXN0TG9hZEV4dGVybmFsRGF0YUJhc2UpOgor ICAgICBkZWYgc2V0VXAoc2VsZikgLT4gTm9uZToKKy0tIAorMi40My4wCisKCmRpZmYgLS1naXQg YS8wMDA2LUZpeC1PdXQtb2YtYm91bmRzLXJlYWQtZHVlLXRvLWxhY2stb2Ytc3RyaW5nLXRlcm1p bmEucGF0Y2ggYi8wMDA2LUZpeC1PdXQtb2YtYm91bmRzLXJlYWQtZHVlLXRvLWxhY2stb2Ytc3Ry aW5nLXRlcm1pbmEucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc4 MjFlNwotLS0gL2Rldi9udWxsCisrKyBiLzAwMDYtRml4LU91dC1vZi1ib3VuZHMtcmVhZC1kdWUt dG8tbGFjay1vZi1zdHJpbmctdGVybWluYS5wYXRjaApAQCAtMCwwICsxLDU0IEBACitGcm9tIDY5 NTAyYmNhNjFkYWZhYTQwYjQzMTVlYTFjYjAzZGI5NmFlNTUzMDQgTW9uIFNlcCAxNyAwMDowMDow MCAyMDAxCitGcm9tOiBsaXF1biBGdSA8bGlxZnVAbWljcm9zb2Z0LmNvbT4KK0RhdGU6IEZyaSwg OSBGZWIgMjAyNCAxNDo0NTo0OSAtMDgwMAorU3ViamVjdDogW1BBVENIIDYvNl0gRml4IE91dCBv ZiBib3VuZHMgcmVhZCBkdWUgdG8gbGFjayBvZiBzdHJpbmcgdGVybWluYXRpb24KKyBpbiBhc3Nl cnQgKCM1OTE4KQorCitTaWduZWQtb2ZmLWJ5OiBsaXF1bmZ1IDxsaXF1bi5mdUBtaWNyb3NvZnQu Y29tPgorQ28tYXV0aG9yZWQtYnk6IEcuIFJhbWFsaW5nYW0gPGdyYW1hQG1pY3Jvc29mdC5jb20+ CisoY2hlcnJ5IHBpY2tlZCBmcm9tIGNvbW1pdCAwOGEzOTliYTc1YTgwNWI3ODEzYWI4OTM2Yjkx ZDBlMjc0YjA4Mjg3KQorLS0tCisgb25ueC9jb21tb24vYXNzZXJ0aW9ucy5jYyB8IDE1ICsrKysr KysrKystLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9u cygtKQorCitkaWZmIC0tZ2l0IGEvb25ueC9jb21tb24vYXNzZXJ0aW9ucy5jYyBiL29ubngvY29t bW9uL2Fzc2VydGlvbnMuY2MKK2luZGV4IGEyMWU1NWRhLi4yMDk5MDAzZCAxMDA2NDQKKy0tLSBh L29ubngvY29tbW9uL2Fzc2VydGlvbnMuY2MKKysrKyBiL29ubngvY29tbW9uL2Fzc2VydGlvbnMu Y2MKK0BAIC04LDYgKzgsNyBAQAorIC8vIEFkdmVudHVyb3VzIHVzZXJzIHNob3VsZCBub3RlIHRo YXQgdGhlIEFQSXMgd2lsbCBwcm9iYWJseSBjaGFuZ2UuCisgCisgI2luY2x1ZGUgIm9ubngvY29t bW9uL2Fzc2VydGlvbnMuaCIKKysjaW5jbHVkZSA8YXJyYXk+CisgI2luY2x1ZGUgPGNzdGRhcmc+ CisgI2luY2x1ZGUgPGNzdGRpbz4KKyAjaW5jbHVkZSAib25ueC9jb21tb24vY29tbW9uLmgiCitA QCAtMTUsMTYgKzE2LDIwIEBACisgbmFtZXNwYWNlIE9OTlhfTkFNRVNQQUNFIHsKKyAKKyBzdGQ6 OnN0cmluZyBiYXJmKGNvbnN0IGNoYXIqIGZtdCwgLi4uKSB7CistICBjaGFyIG1zZ1syMDQ4XTsK KysgIGNvbnN0ZXhwciBzaXplX3QgYnVmZmVyX3NpemUgPSAyMDQ4OworKyAgc3RkOjphcnJheTxj aGFyLCBidWZmZXJfc2l6ZT4gbXNne307CisgICB2YV9saXN0IGFyZ3M7CisgCisgICB2YV9zdGFy dChhcmdzLCBmbXQpOworLSAgLy8gQWx0aG91Z2ggdnNucHJpbnRmIG1pZ2h0IGhhdmUgdnVsbmVy YWJpbGl0eSBpc3N1ZSB3aGlsZSB1c2luZyBmb3JtYXQgc3RyaW5nIHdpdGggb3ZlcmZsb3dlZCBs ZW5ndGgsCistICAvLyBpdCBzaG91bGQgYmUgc2FmZSBoZXJlIHRvIHVzZSBmaXhlZCBsZW5ndGgg Zm9yIGJ1ZmZlciAibXNnIi4gTm8gZnVydGhlciBjaGVja2luZyBpcyBuZWVkZWQuCistICB2c25w cmludGYobXNnLCAyMDQ4LCBmbXQsIGFyZ3MpOworKworKyAgLy8gdXNlIGZpeGVkIGxlbmd0aCBm b3IgYnVmZmVyICJtc2ciIHRvIGF2b2lkIGJ1ZmZlciBvdmVyZmxvdworKyAgdnNucHJpbnRmKHN0 YXRpY19jYXN0PGNoYXIqPihtc2cuZGF0YSgpKSwgbXNnLnNpemUoKSAtIDEsIGZtdCwgYXJncyk7 CisrCisrICAvLyBlbnN1cmUgbnVsbC10ZXJtaW5hdGVkIHN0cmluZyB0byBhdm9pZCBvdXQgb2Yg Ym91bmRzIHJlYWQKKysgIG1zZy5iYWNrKCkgPSAnXDAnOworICAgdmFfZW5kKGFyZ3MpOworIAor LSAgcmV0dXJuIHN0ZDo6c3RyaW5nKG1zZyk7CisrICByZXR1cm4gc3RkOjpzdHJpbmcobXNnLmRh dGEoKSk7CisgfQorIAorIHZvaWQgdGhyb3dfYXNzZXJ0X2Vycm9yKHN0ZDo6c3RyaW5nJiBtc2cp IHsKKy0tIAorMi40My4wCisKCmRpZmYgLS1naXQgYS8wMDA3LUZpeC10ZXN0X2V4dGVybmFsX2Rh dGEucGF0Y2ggYi8wMDA3LUZpeC10ZXN0X2V4dGVybmFsX2RhdGEucGF0Y2gKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGUxMTIxNgotLS0gL2Rldi9udWxsCisrKyBiLzAwMDct Rml4LXRlc3RfZXh0ZXJuYWxfZGF0YS5wYXRjaApAQCAtMCwwICsxLDUwIEBACitGcm9tIGQyZGFl MDdjMmJhZTY3MTRkMjQ5NmY5ZWIxMjUzMTRiZDIwZWFjZGEgTW9uIFNlcCAxNyAwMDowMDowMCAy MDAxCitGcm9tOiBBbGVqYW5kcm8gQWx2YXJleiBBeWxsb24gPGEuYWx2YXJlemF5bGxvbkBnbWFp bC5jb20+CitEYXRlOiBTYXQsIDI0IEZlYiAyMDI0IDE1OjE1OjU4ICswMTAwCitTdWJqZWN0OiBb UEFUQ0ggNy83XSBGaXggdGVzdF9leHRlcm5hbF9kYXRhCisKKy0tLQorIG9ubngvdGVzdC90ZXN0 X2V4dGVybmFsX2RhdGEucHkgfCA5ICsrKysrLS0tLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2Vy dGlvbnMoKyksIDQgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9vbm54L3Rlc3QvdGVzdF9l eHRlcm5hbF9kYXRhLnB5IGIvb25ueC90ZXN0L3Rlc3RfZXh0ZXJuYWxfZGF0YS5weQoraW5kZXgg YzdkMDNkNzguLmM0Mzc2MTU5IDEwMDY0NAorLS0tIGEvb25ueC90ZXN0L3Rlc3RfZXh0ZXJuYWxf ZGF0YS5weQorKysrIGIvb25ueC90ZXN0L3Rlc3RfZXh0ZXJuYWxfZGF0YS5weQorQEAgLTUsNiAr NSw3IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgYW5ub3RhdGlvbnMKKyAKKyBpbXBvcnQgaXRl cnRvb2xzCisgaW1wb3J0IG9zCisraW1wb3J0IHBhcmFtZXRlcml6ZWQKKyBpbXBvcnQgc2h1dGls CisgaW1wb3J0IHRlbXBmaWxlCisgaW1wb3J0IHVuaXR0ZXN0CitAQCAtMTkzLDcgKzE5NCw3IEBA IGNsYXNzIFRlc3RMb2FkRXh0ZXJuYWxEYXRhU2luZ2xlRmlsZShUZXN0TG9hZEV4dGVybmFsRGF0 YUJhc2UpOgorICAgICBkZWYgdGVzdF9zYXZlX2V4dGVybmFsX2ludmFsaWRfc2luZ2xlX2ZpbGVf ZGF0YV9hbmRfY2hlY2soCisgICAgICAgICBzZWxmLCB1c2VfYWJzb2x1dGVfcGF0aDogYm9vbCwg dXNlX21vZGVsX3BhdGg6IGJvb2wKKyAgICAgKSAtPiBOb25lOgorLSAgICAgICAgbW9kZWwgPSBv bm54LmxvYWRfbW9kZWwoc2VsZi5tb2RlbF9maWxlbmFtZSwgc2VsZi5zZXJpYWxpemF0aW9uX2Zv cm1hdCkKKysgICAgICAgIG1vZGVsID0gb25ueC5sb2FkX21vZGVsKHNlbGYubW9kZWxfZmlsZW5h bWUpCisgCisgICAgICAgICBtb2RlbF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi50ZW1wX2Rpciwg InNhdmVfY29weSIpCisgICAgICAgICBvcy5ta2Rpcihtb2RlbF9kaXIpCitAQCAtMjI0LDEzICsy MjUsMTMgQEAgY2xhc3MgVGVzdExvYWRFeHRlcm5hbERhdGFTaW5nbGVGaWxlKFRlc3RMb2FkRXh0 ZXJuYWxEYXRhQmFzZSk6CisgICAgICAgICAgICAgbG9jYXRpb249dHJhdmVyc2FsX2V4dGVybmFs X2RhdGFfbG9jYXRpb24sCisgICAgICAgICApCisgCistICAgICAgICBvbm54LnNhdmVfbW9kZWwo bW9kZWwsIG5ld19tb2RlbF9maWxlcGF0aCwgc2VsZi5zZXJpYWxpemF0aW9uX2Zvcm1hdCkKKysg ICAgICAgIG9ubnguc2F2ZV9tb2RlbChtb2RlbCwgbmV3X21vZGVsX2ZpbGVwYXRoKQorICAgICAg ICAgaWYgdXNlX21vZGVsX3BhdGg6CisgICAgICAgICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNl cyhvbm54LmNoZWNrZXIuVmFsaWRhdGlvbkVycm9yKToKKy0gICAgICAgICAgICAgICAgXyA9IG9u bngubG9hZF9tb2RlbChuZXdfbW9kZWxfZmlsZXBhdGgsIHNlbGYuc2VyaWFsaXphdGlvbl9mb3Jt YXQpCisrICAgICAgICAgICAgICAgIF8gPSBvbm54LmxvYWRfbW9kZWwobmV3X21vZGVsX2ZpbGVw YXRoKQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBvbm54X21vZGVsID0gb25ueC5sb2Fk X21vZGVsKAorLSAgICAgICAgICAgICAgICBuZXdfbW9kZWxfZmlsZXBhdGgsIHNlbGYuc2VyaWFs aXphdGlvbl9mb3JtYXQsIGxvYWRfZXh0ZXJuYWxfZGF0YT1GYWxzZQorKyAgICAgICAgICAgICAg ICBuZXdfbW9kZWxfZmlsZXBhdGgsIGxvYWRfZXh0ZXJuYWxfZGF0YT1GYWxzZQorICAgICAgICAg ICAgICkKKyAgICAgICAgICAgICB3aXRoIHNlbGYuYXNzZXJ0UmFpc2VzKG9ubnguY2hlY2tlci5W YWxpZGF0aW9uRXJyb3IpOgorICAgICAgICAgICAgICAgICBsb2FkX2V4dGVybmFsX2RhdGFfZm9y X21vZGVsKG9ubnhfbW9kZWwsIGV4dGVybmFsX2RhdGFfZGlyKQorLS0gCisyLjQzLjAKKwoKZGlm ZiAtLWdpdCBhL29ubnguc3BlYyBiL29ubnguc3BlYwppbmRleCA3YmY0Y2M4Li42MWFiZDBlIDEw MDY0NAotLS0gYS9vbm54LnNwZWMKKysrIGIvb25ueC5zcGVjCkBAIC0xLDYgKzEsNiBAQAogTmFt ZTogICAgICAgb25ueAogVmVyc2lvbjogICAgMS4xNC4xCi1SZWxlYXNlOiAgICAxJXs/ZGlzdH0K K1JlbGVhc2U6ICAgIDIlez9kaXN0fQogU3VtbWFyeTogICAgT3BlbiBzdGFuZGFyZCBmb3IgbWFj aGluZSBsZWFybmluZyBpbnRlcm9wZXJhYmlsaXR5CiBMaWNlbnNlOiAgICBBcGFjaGUtMi4wCiAK QEAgLTE2LDYgKzE2LDExIEBAIFBhdGNoMjogICAgIDAwMDItVXNlLXN5c3RlbS1wcm90b2J1Zi1h bmQtcmVxdWlyZS1wYXJhbWV0ZXJpemVkLnBhdGNoCiBQYXRjaDM6ICAgICAwMDAzLUxldC1weXBy b2plY3Rfd2hlZWwtdXNlLWJpbmFyaWVzLWZyb20tY21ha2VfYnVpbGQucGF0Y2gKICMgQWRkIGZp eGVzIGZvciB1c2Ugd2l0aCBvbm54cnVudGltZQogUGF0Y2g0OiAgICAgMDAwNC1BZGQtZml4ZXMt Zm9yLXVzZS13aXRoLW9ubnhydW50aW1lLnBhdGNoCisjIEJhY2twb3J0IG9mIGZpeCBmb3IgQ1ZF LTIwMjQtMjczMTgKK1BhdGNoNTogICAgIDAwMDUtRml4LXBhdGgtc2FuaXRpemF0aW9uLWJ5cGFz cy1sZWFkaW5nLXRvLWFyYml0cmFyeS1yZS5wYXRjaAorIyBCYWNrcG9ydCBvZiBmaXggZm9yIENW RS0yMDI0LTI3MzE5CitQYXRjaDY6ICAgICAwMDA2LUZpeC1PdXQtb2YtYm91bmRzLXJlYWQtZHVl LXRvLWxhY2stb2Ytc3RyaW5nLXRlcm1pbmEucGF0Y2gKK1BhdGNoNzogICAgIDAwMDctRml4LXRl c3RfZXh0ZXJuYWxfZGF0YS5wYXRjaAogCiAjIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9z aG93X2J1Zy5jZ2k/aWQ9MjIxMjA5NgogRXhjbHVkZUFyY2g6ICAgIHMzOTB4CkBAIC0xMTAsNiAr MTE1LDkgQEAgZXhwb3J0IExEX0xJQlJBUllfUEFUSD0le2J1aWxkcm9vdH0vJXtfbGliZGlyfQog JXtfYmluZGlyfS9jaGVjay1ub2RlCiAKICVjaGFuZ2Vsb2cKKyogU2F0IEZlYiAyNCAyMDI0IEFs ZWphbmRybyBBbHZhcmV6IEF5bGxvbiA8YS5hbHZhcmV6YXlsbG9uQGdtYWlsLmNvbT4gLSAxLjE0 LjEtMgorLSBCYWNrcG9ydCBvZiBmaXhlcyBmb3IgQ1ZFLTIwMjQtMjczMTggYW5kIENWRS0yMDI0 LTI3MzE5CisKICogV2VkIEZlYiAyMSAyMDI0IERpZWdvIEhlcnJlcmEgQyA8ZGhlcnJlcmFAcmVk aGF0LmNvbT4tIDEuMTQuMS0xCiAtIFJlbGVhc2UgMS4xNC4xCiAK