From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from esa2.mentor.iphmx.com (esa2.mentor.iphmx.com [68.232.141.98]) by sourceware.org (Postfix) with ESMTPS id 43D72385C8B2 for ; Fri, 1 Jul 2022 16:56:03 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 43D72385C8B2 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=codesourcery.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=mentor.com X-IronPort-AV: E=Sophos;i="5.92,237,1650960000"; d="scan'208,223";a="78178255" Received: from orw-gwy-01-in.mentorg.com ([192.94.38.165]) by esa2.mentor.iphmx.com with ESMTP; 01 Jul 2022 08:56:01 -0800 IronPort-SDR: pBB7HL6IA7em6dLBTL5d+LiJ3UsyvGQgywYuIN2onWPo4lzRVJyXpvSui/YaXi6ByCjsyeoHU4 d1TxrauBdTUdTd06h9FIITlMfGGXF4eENmIrWDyXEldsW0OFSsw9Y6OIDpZkyhwnlU74Z5ihXy hkMTSMEovnFtWcyXHWdGxHS9Peni4fUEovePeAtZ4pHzjzrymEiu6CZKdTytVXsUwctvhvbWJu nt8NtvFSi+jmv3JJ1AFjTVNT+6gVQ9y9Lnyibt+DNItHX+fmW+yh8Xmmwz+dZDIluzCPl6CCIZ 7DM= Content-Type: multipart/mixed; boundary="------------Emcr0LvTgv5gaTKZnMqBjARt" Message-ID: <0c8609c4-0355-12ee-5eac-c77e98a6c7d5@codesourcery.com> Date: Fri, 1 Jul 2022 17:55:46 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.0 To: gcc-patches From: Kwok Cheung Yeung Subject: [og12] [committed] Port remaining OG11 patches X-Originating-IP: [137.202.0.90] X-ClientProxiedBy: svr-ies-mbx-05.mgc.mentorg.com (139.181.222.5) To svr-ies-mbx-12.mgc.mentorg.com (139.181.222.12) X-Spam-Status: No, score=-10.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, HEADER_FROM_DIFFERENT_DOMAINS, KAM_DMARC_STATUS, KAM_LOTSOFHASH, KAM_STOCKGEN, RCVD_IN_MSPIKE_H2, SCC_5_SHORT_WORD_LINES, SPF_HELO_PASS, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Jul 2022 16:56:08 -0000 --------------Emcr0LvTgv5gaTKZnMqBjARt Content-Type: text/plain; charset="UTF-8"; format=flowed Content-Transfer-Encoding: 7bit Hello I have committed the following forward-ports from OG11 onto the devel/omp/gcc-12 branch to bring OG12 up-to-parity with OG11 again. 12d14a9a255 amdgcn: libgomp plugin USM implementation 687640af27a amdgcn, openmp: Auto-detect USM mode and set HSA_XNACK cbc3dd01de8 amdgcn: Support XNACK mode 1d4e24c9fb4 Fix gfortran.dg/gomp/num-teams-2.f90 Kwok --------------Emcr0LvTgv5gaTKZnMqBjARt Content-Type: text/plain; charset="UTF-8"; name="0001-Fix-gfortran.dg-gomp-num-teams-2.f90.patch" Content-Disposition: attachment; filename="0001-Fix-gfortran.dg-gomp-num-teams-2.f90.patch" Content-Transfer-Encoding: base64 RnJvbSAxZDRlMjRjOWZiNDBkNGRmN2U3NDJkNzYzMWEyOTMyOWQ1ZmI3Yzg0IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBUb2JpYXMgQnVybnVzIDx0b2JpYXNAY29kZXNvdXJj ZXJ5LmNvbT4KRGF0ZTogTW9uLCAyNyBKdW4gMjAyMiAxMzoyNjo0MyArMDIwMApTdWJqZWN0 OiBbUEFUQ0ggMS80XSBGaXggZ2ZvcnRyYW4uZGcvZ29tcC9udW0tdGVhbXMtMi5mOTAKCk9H MTEgY29udHJhcnkgdG8gbWFpbmxpbmUgaXNzdWVzIGFuIGVycm9yIGZvciByZXNvbHZlX3Bv c2l0aXZlX2ludF9leHByCigtPiBPRzExIGNvbW1pdCBhMTRiM2YyOTY4MWRhMWQyNDY1ZTE1 Zjk4YjhjZjhkNWM2NGEyYzNjKS4gVXBkYXRlCnRlc3RjYXNlIGFjY29yZGluZ2x5LgoKZ2Nj L3Rlc3RzdWl0ZS8KCSogZ2ZvcnRyYW4uZGcvZ29tcC9udW0tdGVhbXMtMi5mOTA6IFVzZSBk Zy1lcnJvciBub3QgZGctd2FybmluZy4KLS0tCiBnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZy5v bXAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysrKwogZ2NjL3Rlc3RzdWl0ZS9nZm9ydHJh bi5kZy9nb21wL251bS10ZWFtcy0yLmY5MCB8IDEyICsrKysrKy0tLS0tLQogMiBmaWxlcyBj aGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBh L2djYy90ZXN0c3VpdGUvQ2hhbmdlTG9nLm9tcCBiL2djYy90ZXN0c3VpdGUvQ2hhbmdlTG9n Lm9tcAppbmRleCAzMDEwODVmYmE1ZC4uOTllZDZmMGU0NjcgMTAwNjQ0Ci0tLSBhL2djYy90 ZXN0c3VpdGUvQ2hhbmdlTG9nLm9tcAorKysgYi9nY2MvdGVzdHN1aXRlL0NoYW5nZUxvZy5v bXAKQEAgLTEsMyArMSw3IEBACisyMDIyLTA2LTI3ICBUb2JpYXMgQnVybnVzICA8dG9iaWFz QGNvZGVzb3VyY2VyeS5jb20+CisKKwkqIGdmb3J0cmFuLmRnL2dvbXAvbnVtLXRlYW1zLTIu ZjkwOiBVc2UgZGctZXJyb3Igbm90IGRnLXdhcm5pbmcuCisKIDIwMjItMDUtMTIgIEpha3Vi IEplbGluZWsgIDxqYWt1YkByZWRoYXQuY29tPgogCiAJQmFja3BvcnQgZnJvbSBtYWlubGlu ZToKZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2ZvcnRyYW4uZGcvZ29tcC9udW0tdGVh bXMtMi5mOTAgYi9nY2MvdGVzdHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbnVtLXRlYW1zLTIu ZjkwCmluZGV4IGU3ODE0YTExYTVhLi5mMzAzMTQ4MWQ0YSAxMDA2NDQKLS0tIGEvZ2NjL3Rl c3RzdWl0ZS9nZm9ydHJhbi5kZy9nb21wL251bS10ZWFtcy0yLmY5MAorKysgYi9nY2MvdGVz dHN1aXRlL2dmb3J0cmFuLmRnL2dvbXAvbnVtLXRlYW1zLTIuZjkwCkBAIC05LDEzICs5LDEz IEBAIHN1YnJvdXRpbmUgZm9vIChpKQogICAhJG9tcCB0ZWFtcyBudW1fdGVhbXMgKDYgOiA0 KQkJISB7IGRnLXdhcm5pbmcgIk5VTV9URUFNUyBsb3dlciBib3VuZCBhdCAuMS4gbGFyZ2Vy IHRoYW4gdXBwZXIgYm91bmQgYXQgLjIuIiB9CiAgICEkb21wIGVuZCB0ZWFtcwogCi0gICEk b21wIHRlYW1zIG51bV90ZWFtcyAoLTcpCQkhIHsgZGctd2FybmluZyAiSU5URUdFUiBleHBy ZXNzaW9uIG9mIE5VTV9URUFNUyBjbGF1c2UgYXQgLjEuIG11c3QgYmUgcG9zaXRpdmUiIH0K KyAgISRvbXAgdGVhbXMgbnVtX3RlYW1zICgtNykJCSEgeyBkZy1lcnJvciAiSU5URUdFUiBl eHByZXNzaW9uIG9mIE5VTV9URUFNUyBjbGF1c2UgYXQgLjEuIG11c3QgYmUgcG9zaXRpdmUi IH0KICAgISRvbXAgZW5kIHRlYW1zCiAKLSAgISRvbXAgdGVhbXMgbnVtX3RlYW1zIChpIDog LTcpCQkhIHsgZGctd2FybmluZyAiSU5URUdFUiBleHByZXNzaW9uIG9mIE5VTV9URUFNUyBj bGF1c2UgYXQgLjEuIG11c3QgYmUgcG9zaXRpdmUiIH0KKyAgISRvbXAgdGVhbXMgbnVtX3Rl YW1zIChpIDogLTcpCQkhIHsgZGctZXJyb3IgIklOVEVHRVIgZXhwcmVzc2lvbiBvZiBOVU1f VEVBTVMgY2xhdXNlIGF0IC4xLiBtdXN0IGJlIHBvc2l0aXZlIiB9CiAgICEkb21wIGVuZCB0 ZWFtcwogCi0gICEkb21wIHRlYW1zIG51bV90ZWFtcyAoLTcgOiA4KQkJISB7IGRnLXdhcm5p bmcgIklOVEVHRVIgZXhwcmVzc2lvbiBvZiBOVU1fVEVBTVMgY2xhdXNlIGF0IC4xLiBtdXN0 IGJlIHBvc2l0aXZlIiB9CisgICEkb21wIHRlYW1zIG51bV90ZWFtcyAoLTcgOiA4KQkJISB7 IGRnLWVycm9yICJJTlRFR0VSIGV4cHJlc3Npb24gb2YgTlVNX1RFQU1TIGNsYXVzZSBhdCAu MS4gbXVzdCBiZSBwb3NpdGl2ZSIgfQogICAhJG9tcCBlbmQgdGVhbXMKIGVuZAogCkBAIC0y NSwxMyArMjUsMTMgQEAgc3Vicm91dGluZSBiYXIgKGkpCiAgICEkb21wIHRhcmdldCB0ZWFt cyBudW1fdGVhbXMgKDYgOiA0KQkhIHsgZGctd2FybmluZyAiTlVNX1RFQU1TIGxvd2VyIGJv dW5kIGF0IC4xLiBsYXJnZXIgdGhhbiB1cHBlciBib3VuZCBhdCAuMi4iIH0KICAgISRvbXAg ZW5kIHRhcmdldCB0ZWFtcwogCi0gICEkb21wIHRhcmdldCB0ZWFtcyBudW1fdGVhbXMgKC03 KQkhIHsgZGctd2FybmluZyAiSU5URUdFUiBleHByZXNzaW9uIG9mIE5VTV9URUFNUyBjbGF1 c2UgYXQgLjEuIG11c3QgYmUgcG9zaXRpdmUiIH0KKyAgISRvbXAgdGFyZ2V0IHRlYW1zIG51 bV90ZWFtcyAoLTcpCSEgeyBkZy1lcnJvciAiSU5URUdFUiBleHByZXNzaW9uIG9mIE5VTV9U RUFNUyBjbGF1c2UgYXQgLjEuIG11c3QgYmUgcG9zaXRpdmUiIH0KICAgISRvbXAgZW5kIHRh cmdldCB0ZWFtcwogCi0gICEkb21wIHRhcmdldCB0ZWFtcyBudW1fdGVhbXMgKGkgOiAtNykJ ISB7IGRnLXdhcm5pbmcgIklOVEVHRVIgZXhwcmVzc2lvbiBvZiBOVU1fVEVBTVMgY2xhdXNl IGF0IC4xLiBtdXN0IGJlIHBvc2l0aXZlIiB9CisgICEkb21wIHRhcmdldCB0ZWFtcyBudW1f dGVhbXMgKGkgOiAtNykJISB7IGRnLWVycm9yICJJTlRFR0VSIGV4cHJlc3Npb24gb2YgTlVN X1RFQU1TIGNsYXVzZSBhdCAuMS4gbXVzdCBiZSBwb3NpdGl2ZSIgfQogICAhJG9tcCBlbmQg dGFyZ2V0IHRlYW1zCiAKLSAgISRvbXAgdGFyZ2V0IHRlYW1zIG51bV90ZWFtcyAoLTcgOiA4 KQkhIHsgZGctd2FybmluZyAiSU5URUdFUiBleHByZXNzaW9uIG9mIE5VTV9URUFNUyBjbGF1 c2UgYXQgLjEuIG11c3QgYmUgcG9zaXRpdmUiIH0KKyAgISRvbXAgdGFyZ2V0IHRlYW1zIG51 bV90ZWFtcyAoLTcgOiA4KQkhIHsgZGctZXJyb3IgIklOVEVHRVIgZXhwcmVzc2lvbiBvZiBO VU1fVEVBTVMgY2xhdXNlIGF0IC4xLiBtdXN0IGJlIHBvc2l0aXZlIiB9CiAgICEkb21wIGVu ZCB0YXJnZXQgdGVhbXMKIGVuZAogZW5kIG1vZHVsZQotLSAKMi4yNS4xCgo= --------------Emcr0LvTgv5gaTKZnMqBjARt Content-Type: text/plain; charset="UTF-8"; name="0002-amdgcn-Support-XNACK-mode.patch" Content-Disposition: attachment; filename="0002-amdgcn-Support-XNACK-mode.patch" Content-Transfer-Encoding: base64 RnJvbSBjYmMzZGQwMWRlODc4ODU4N2EyYjY0MWVmY2I4MzgwNTgzMDNiNWFiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgU3R1YmJzIDxhbXNAY29kZXNvdXJjZXJ5 LmNvbT4KRGF0ZTogRnJpLCAxMCBKdW4gMjAyMiAxNToxNTo0OSArMDEwMApTdWJqZWN0OiBb UEFUQ0ggMi80XSBhbWRnY246IFN1cHBvcnQgWE5BQ0sgbW9kZQoKVGhlIFhOQUNLIGZlYXR1 cmUgYWxsb3dzIG1lbW9yeSBsb2FkIGluc3RydWN0aW9ucyB0byByZXN0YXJ0IHNhZmVseSBm b2xsb3dpbmcKYSBwYWdlLW1pc3MgaW50ZXJydXB0LiAgVGhpcyBpcyB1c2VmdWwgZm9yIHNo YXJlZC1tZW1vcnkgZGV2aWNlcywgbGlrZSBBUFVzLAphbmQgdG8gaW1wbGVtZW50IE9wZW5N UCBVbmlmaWVkIFNoYXJlZCBNZW1vcnkuCgpUbyBzdXBwb3J0IHRoZSBmZWF0dXJlIHdlIG11 c3QgYmUgYWJsZSB0byBzZXQgdGhlIGFwcHJvcHJpYXRlIG1ldGEtZGF0YSBhbmQKc2V0IHRo ZSBsb2FkIGluc3RydWN0aW9ucyB0byBlYXJseS1jbG9iYmVyLiAgV2hlbiB0aGUgcG9ydCBz dXBwb3J0cyBzY2hlZHVsaW5nCm9mIHNfd2FpdGNudCBpbnN0cnVjdGlvbnMgdGhlcmUgd2ls bCBiZSBmdXJ0aGVyIHJlcXVpcmVtZW50cy4KCmdjYy9DaGFuZ2VMb2c6CgoJKiBjb25maWcv Z2NuL2djbi1oc2EuaCAoWE5BQ0tPUFQpOiBOZXcgbWFjcm8uCgkoQVNNX1NQRUMpOiBVc2Ug WE5BQ0tPUFQuCgkqIGNvbmZpZy9nY24vZ2NuLW9wdHMuaCAoZW51bSBzcmFtX2VjY190eXBl KTogUmVuYW1lIHRvIC4uLgoJKGVudW0gaHNhY29fYXR0cl90eXBlKTogLi4uIHRoaXMsIGFu ZCBnZW5lcmFsaXplIHRoZSBuYW1lcy4KCShUQVJHRVRfWE5BQ0spOiBOZXcgbWFjcm8uCgkq IGNvbmZpZy9nY24vZ2NuLXZhbHUubWQgKGdhdGhlcjxtb2RlPl9pbnNuXzFvZmZzZXQ8ZXhl Yz4pOgoJQWRkIHhuYWNrIGNvbXBhdGlibGUgYWx0ZXJuYXRpdmVzLgoJKGdhdGhlcjxtb2Rl Pl9pbnNuXzJvZmZzZXRzPGV4ZWM+KTogTGlrZXdpc2UuCgkqIGNvbmZpZy9nY24vZ2NuLmMg KGdjbl9vcHRpb25fb3ZlcnJpZGUpOiBQZXJtaXQgLW14bmFjayBmb3IgZGV2aWNlcwoJb3Ro ZXIgdGhhbiBGaWppLgoJKGdjbl9leHBhbmRfZXBpbG9ndWUpOiBSZW1vdmUgZWFybHktY2xv YmJlciBwcm9ibGVtcy4KCShvdXRwdXRfZmlsZV9zdGFydCk6IEVtaXQgeG5hY2sgYXR0cmli dXRlcy4KCShnY25faHNhX2RlY2xhcmVfZnVuY3Rpb25fbmFtZSk6IE9iZXkgLW14bmFjayBz ZXR0aW5nLgoJKiBjb25maWcvZ2NuL2djbi5tZCAoeG5hY2spOiBOZXcgYXR0cmlidXRlLgoJ KGVuYWJsZWQpOiBSZXdvcmsgdG8gaW5jbHVkZSAieG5hY2siIGF0dHJpYnV0ZS4KCSgqbW92 YmkpOiBBZGQgeG5hY2sgY29tcGF0aWJsZSBhbHRlcm5hdGl2ZXMuCgkoKm1vdjxtb2RlPl9p bnNuKTogTGlrZXdpc2UuCgkoKm1vdjxtb2RlPl9pbnNuKTogTGlrZXdpc2UuCgkoKm1vdjxt b2RlPl9pbnNuKTogTGlrZXdpc2UuCgkoKm1vdnRpX2luc24pOiBMaWtld2lzZS4KCSogY29u ZmlnL2djbi9nY24ub3B0ICgtbXhuYWNrKTogQWRkIHRoZSAib24vb2ZmL2FueSIgc3ludGF4 LgoJKHNyYW1fZWNjX3R5cGUpOiBSZW5hbWUgdG8gLi4uCgkoaHNhY29fYXR0cl90eXBlOiAu Li4gdGhpcy4pCgkqIGNvbmZpZy9nY24vbWtvZmZsb2FkLmMgKFNFVF9YTkFDS19BTlkpOiBO ZXcgbWFjcm8uCgkoVEVTVF9YTkFDSyk6IERlbGV0ZS4KCShURVNUX1hOQUNLX0FOWSk6IE5l dyBtYWNyby4KCShURVNUX1hOQUNLX09OKTogTmV3IG1hY3JvLgoJKG1haW4pOiBTdXBwb3J0 IHRoZSBuZXcgLW14bmFjaz1vbi9vZmYvYW55IHN5bnRheC4KLS0tCiBnY2MvQ2hhbmdlTG9n Lm9tcCAgICAgICAgICAgfCAgMzEgKysrKysrKysrKwogZ2NjL2NvbmZpZy9nY24vZ2NuLWhz YS5oICAgIHwgICAzICstCiBnY2MvY29uZmlnL2djbi9nY24tb3B0cy5oICAgfCAgMTAgKyst LQogZ2NjL2NvbmZpZy9nY24vZ2NuLXZhbHUubWQgIHwgIDI5ICsrKystLS0tLQogZ2NjL2Nv bmZpZy9nY24vZ2NuLmNjICAgICAgIHwgIDM0ICsrKysrKy0tLS0tCiBnY2MvY29uZmlnL2dj bi9nY24ubWQgICAgICAgfCAxMTMgKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0t LS0tCiBnY2MvY29uZmlnL2djbi9nY24ub3B0ICAgICAgfCAgMTggKysrLS0tCiBnY2MvY29u ZmlnL2djbi9ta29mZmxvYWQuY2MgfCAgMTkgKysrKy0tCiA4IGZpbGVzIGNoYW5nZWQsIDE3 MSBpbnNlcnRpb25zKCspLCA4NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9nY2MvQ2hh bmdlTG9nLm9tcCBiL2djYy9DaGFuZ2VMb2cub21wCmluZGV4IDI0ZTIyZTE5YWU4Li43YWYy NDYwNDg0MSAxMDA2NDQKLS0tIGEvZ2NjL0NoYW5nZUxvZy5vbXAKKysrIGIvZ2NjL0NoYW5n ZUxvZy5vbXAKQEAgLTEsMyArMSwzNCBAQAorMjAyMi0wNi0xMCAgQW5kcmV3IFN0dWJicyAg PGFtc0Bjb2Rlc291cmNlcnkuY29tPgorCisJKiBjb25maWcvZ2NuL2djbi1oc2EuaCAoWE5B Q0tPUFQpOiBOZXcgbWFjcm8uCisJKEFTTV9TUEVDKTogVXNlIFhOQUNLT1BULgorCSogY29u ZmlnL2djbi9nY24tb3B0cy5oIChlbnVtIHNyYW1fZWNjX3R5cGUpOiBSZW5hbWUgdG8gLi4u CisJKGVudW0gaHNhY29fYXR0cl90eXBlKTogLi4uIHRoaXMsIGFuZCBnZW5lcmFsaXplIHRo ZSBuYW1lcy4KKwkoVEFSR0VUX1hOQUNLKTogTmV3IG1hY3JvLgorCSogY29uZmlnL2djbi9n Y24tdmFsdS5tZCAoZ2F0aGVyPG1vZGU+X2luc25fMW9mZnNldDxleGVjPik6CisJQWRkIHhu YWNrIGNvbXBhdGlibGUgYWx0ZXJuYXRpdmVzLgorCShnYXRoZXI8bW9kZT5faW5zbl8yb2Zm c2V0czxleGVjPik6IExpa2V3aXNlLgorCSogY29uZmlnL2djbi9nY24uYyAoZ2NuX29wdGlv bl9vdmVycmlkZSk6IFBlcm1pdCAtbXhuYWNrIGZvciBkZXZpY2VzCisJb3RoZXIgdGhhbiBG aWppLgorCShnY25fZXhwYW5kX2VwaWxvZ3VlKTogUmVtb3ZlIGVhcmx5LWNsb2JiZXIgcHJv YmxlbXMuCisJKG91dHB1dF9maWxlX3N0YXJ0KTogRW1pdCB4bmFjayBhdHRyaWJ1dGVzLgor CShnY25faHNhX2RlY2xhcmVfZnVuY3Rpb25fbmFtZSk6IE9iZXkgLW14bmFjayBzZXR0aW5n LgorCSogY29uZmlnL2djbi9nY24ubWQgKHhuYWNrKTogTmV3IGF0dHJpYnV0ZS4KKwkoZW5h YmxlZCk6IFJld29yayB0byBpbmNsdWRlICJ4bmFjayIgYXR0cmlidXRlLgorCSgqbW92Ymkp OiBBZGQgeG5hY2sgY29tcGF0aWJsZSBhbHRlcm5hdGl2ZXMuCisJKCptb3Y8bW9kZT5faW5z bik6IExpa2V3aXNlLgorCSgqbW92PG1vZGU+X2luc24pOiBMaWtld2lzZS4KKwkoKm1vdjxt b2RlPl9pbnNuKTogTGlrZXdpc2UuCisJKCptb3Z0aV9pbnNuKTogTGlrZXdpc2UuCisJKiBj b25maWcvZ2NuL2djbi5vcHQgKC1teG5hY2spOiBBZGQgdGhlICJvbi9vZmYvYW55IiBzeW50 YXguCisJKHNyYW1fZWNjX3R5cGUpOiBSZW5hbWUgdG8gLi4uCisJKGhzYWNvX2F0dHJfdHlw ZTogLi4uIHRoaXMuKQorCSogY29uZmlnL2djbi9ta29mZmxvYWQuYyAoU0VUX1hOQUNLX0FO WSk6IE5ldyBtYWNyby4KKwkoVEVTVF9YTkFDSyk6IERlbGV0ZS4KKwkoVEVTVF9YTkFDS19B TlkpOiBOZXcgbWFjcm8uCisJKFRFU1RfWE5BQ0tfT04pOiBOZXcgbWFjcm8uCisJKG1haW4p OiBTdXBwb3J0IHRoZSBuZXcgLW14bmFjaz1vbi9vZmYvYW55IHN5bnRheC4KKwogMjAyMi0w Ni0zMCAgS3dvayBDaGV1bmcgWWV1bmcgIDxrY3lAY29kZXNvdXJjZXJ5LmNvbT4KIAogCSog ZHdhcmYyY2ZpLmNjIChnZXRfY2ZhX2Zyb21fbG9jX2Rlc2NyKTogQ2hlY2sgb3AgYWdhaW5z dCBEV19PUF9icmVneC4KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvZ2NuL2djbi1oc2EuaCBi L2djYy9jb25maWcvZ2NuL2djbi1oc2EuaAppbmRleCBiMzA3OWNlYmI0My4uZmQwODk0NzU3 NGYgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvZ2NuL2djbi1oc2EuaAorKysgYi9nY2MvY29u ZmlnL2djbi9nY24taHNhLmgKQEAgLTgxLDEyICs4MSwxMyBAQCBleHRlcm4gdW5zaWduZWQg aW50IGdjbl9sb2NhbF9zeW1faGFzaCAoY29uc3QgY2hhciAqbmFtZSk7CiAvKiBJbiBIU0FD T3Y0IG5vIGF0dHJpYnV0ZSBzZXR0aW5nIG1lYW5zIHRoZSBiaW5hcnkgc3VwcG9ydHMgImFu eSIgaGFyZHdhcmUKICAgIGNvbmZpZ3VyYXRpb24uICBUaGUgbmFtZSBvZiB0aGUgYXR0cmli dXRlIGFsc28gY2hhbmdlZC4gICovCiAjZGVmaW5lIFNSQU1PUFQgIm1zcmFtLWVjYz1vbjot bWF0dHI9K3NyYW1lY2M7bXNyYW0tZWNjPW9mZjotbWF0dHI9LXNyYW1lY2MiCisjZGVmaW5l IFhOQUNLT1BUICJteG5hY2s9b246LW1hdHRyPSt4bmFjaztteG5hY2s9b2ZmOi1tYXR0cj0t eG5hY2siCiAKIC8qIFVzZSBMTFZNIGFzc2VtYmxlciBhbmQgbGlua2VyIG9wdGlvbnMuICAq LwogI2RlZmluZSBBU01fU1BFQyAgIi10cmlwbGU9YW1kZ2NuLS1hbWRoc2EgIiAgXAogCQkg ICIlOmxhc3RfYXJnKCV7bWFyY2g9KjotbWNwdT0lKn0pICIgXAogCQkgICIleyFtYXJjaD0q fG1hcmNoPWZpamk6LS1hbWRoc2EtY29kZS1vYmplY3QtdmVyc2lvbj0zfSAiIFwKLQkJICAi JXsiIE5PX1hOQUNLICJteG5hY2s6LW1hdHRyPSt4bmFjazs6LW1hdHRyPS14bmFja30gIiBc CisJCSAgIiV7IiBOT19YTkFDSyBYTkFDS09QVCAifSIgXAogCQkgICIleyIgTk9fU1JBTV9F Q0MgU1JBTU9QVCAifSAiIFwKIAkJICAiLWZpbGV0eXBlPW9iaiIKICNkZWZpbmUgTElOS19T UEVDICItLXBpZSAtLWV4cG9ydC1keW5hbWljIgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9n Y24vZ2NuLW9wdHMuaCBiL2djYy9jb25maWcvZ2NuL2djbi1vcHRzLmgKaW5kZXggYjYyZGZi NDVmNTkuLjA3ZGRjNzljZGEzIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2djbi9nY24tb3B0 cy5oCisrKyBiL2djYy9jb25maWcvZ2NuL2djbi1vcHRzLmgKQEAgLTQ4LDExICs0OCwxMyBA QCBleHRlcm4gZW51bSBnY25faXNhIHsKICNkZWZpbmUgVEFSR0VUX00wX0xEU19MSU1JVCAo VEFSR0VUX0dDTjMpCiAjZGVmaW5lIFRBUkdFVF9QQUNLRURfV09SS19JVEVNUyAoVEFSR0VU X0NETkEyX1BMVVMpCiAKLWVudW0gc3JhbV9lY2NfdHlwZQorI2RlZmluZSBUQVJHRVRfWE5B Q0sgKGZsYWdfeG5hY2sgIT0gSFNBQ09fQVRUUl9PRkYpCisKK2VudW0gaHNhY29fYXR0cl90 eXBlCiB7Ci0gIFNSQU1fRUNDX09GRiwKLSAgU1JBTV9FQ0NfT04sCi0gIFNSQU1fRUNDX0FO WQorICBIU0FDT19BVFRSX09GRiwKKyAgSFNBQ09fQVRUUl9PTiwKKyAgSFNBQ09fQVRUUl9B TlkKIH07CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9nY24vZ2NuLXZhbHUu bWQgYi9nY2MvY29uZmlnL2djbi9nY24tdmFsdS5tZAppbmRleCBhYmU0NjIwMTM0NC4uZWMx MTRkYjlkZDEgMTAwNjQ0Ci0tLSBhL2djYy9jb25maWcvZ2NuL2djbi12YWx1Lm1kCisrKyBi L2djYy9jb25maWcvZ2NuL2djbi12YWx1Lm1kCkBAIC03NDEsMTMgKzc0MSwxMyBAQAogICAg IHt9KQogCiAoZGVmaW5lX2luc24gImdhdGhlcjxtb2RlPl9pbnNuXzFvZmZzZXQ8ZXhlYz4i Ci0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfQUxMIDAgInJlZ2lzdGVyX29wZXJhbmQiCQkg ICAiPXYiKQorICBbKHNldCAobWF0Y2hfb3BlcmFuZDpWX0FMTCAwICJyZWdpc3Rlcl9vcGVy YW5kIgkJICAgIj12LCZ2IikKIAkodW5zcGVjOlZfQUxMCi0JICBbKHBsdXM6PFZuREk+ICht YXRjaF9vcGVyYW5kOjxWbkRJPiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiIHYiKQorCSAgWyhw bHVzOjxWbkRJPiAobWF0Y2hfb3BlcmFuZDo8Vm5EST4gMSAicmVnaXN0ZXJfb3BlcmFuZCIg IiB2LCB2IikKIAkJCSh2ZWNfZHVwbGljYXRlOjxWbkRJPgotCQkJICAobWF0Y2hfb3BlcmFu ZCAyICJpbW1lZGlhdGVfb3BlcmFuZCIJICAgIiBuIikpKQotCSAgIChtYXRjaF9vcGVyYW5k IDMgImltbWVkaWF0ZV9vcGVyYW5kIgkJCSAgICIgbiIpCi0JICAgKG1hdGNoX29wZXJhbmQg NCAiaW1tZWRpYXRlX29wZXJhbmQiCQkJICAgIiBuIikKKwkJCSAgKG1hdGNoX29wZXJhbmQg MiAiaW1tZWRpYXRlX29wZXJhbmQiCSAgICIgbiwgbiIpKSkKKwkgICAobWF0Y2hfb3BlcmFu ZCAzICJpbW1lZGlhdGVfb3BlcmFuZCIJCQkgICAiIG4sIG4iKQorCSAgIChtYXRjaF9vcGVy YW5kIDQgImltbWVkaWF0ZV9vcGVyYW5kIgkJCSAgICIgbiwgbiIpCiAJICAgKG1lbTpCTEsg KHNjcmF0Y2gpKV0KIAkgIFVOU1BFQ19HQVRIRVIpKV0KICAgIihBU19GTEFUX1AgKElOVFZB TCAob3BlcmFuZHNbM10pKQpAQCAtNzc3LDcgKzc3Nyw4IEBACiAgICAgcmV0dXJuIGJ1ZjsK ICAgfQogICBbKHNldF9hdHRyICJ0eXBlIiAiZmxhdCIpCi0gICAoc2V0X2F0dHIgImxlbmd0 aCIgIjEyIildKQorICAgKHNldF9hdHRyICJsZW5ndGgiICIxMiIpCisgICAoc2V0X2F0dHIg InhuYWNrIiAib2ZmLG9uIildKQogCiAoZGVmaW5lX2luc24gImdhdGhlcjxtb2RlPl9pbnNu XzFvZmZzZXRfZHM8ZXhlYz4iCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfQUxMIDAgInJl Z2lzdGVyX29wZXJhbmQiCQkgICAiPXYiKQpAQCAtODAyLDE3ICs4MDMsMTggQEAKICAgIChz ZXRfYXR0ciAibGVuZ3RoIiAiMTIiKV0pCiAKIChkZWZpbmVfaW5zbiAiZ2F0aGVyPG1vZGU+ X2luc25fMm9mZnNldHM8ZXhlYz4iCi0gIFsoc2V0IChtYXRjaF9vcGVyYW5kOlZfQUxMIDAg InJlZ2lzdGVyX29wZXJhbmQiCQkJIj12IikKKyAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Vl9B TEwgMCAicmVnaXN0ZXJfb3BlcmFuZCIJCSAgICAgIj12LCZ2IikKIAkodW5zcGVjOlZfQUxM CiAJICBbKHBsdXM6PFZuREk+CiAJICAgICAocGx1czo8Vm5EST4KIAkgICAgICAgKHZlY19k dXBsaWNhdGU6PFZuREk+Ci0JCSAobWF0Y2hfb3BlcmFuZDpESSAxICJyZWdpc3Rlcl9vcGVy YW5kIgkJCSJTdiIpKQorCQkgKG1hdGNoX29wZXJhbmQ6REkgMSAicmVnaXN0ZXJfb3BlcmFu ZCIJCSAgICAgIlN2LFN2IikpCiAJICAgICAgIChzaWduX2V4dGVuZDo8Vm5EST4KLQkJICht YXRjaF9vcGVyYW5kOjxWblNJPiAyICJyZWdpc3Rlcl9vcGVyYW5kIgkJIiB2IikpKQotCSAg ICAgKHZlY19kdXBsaWNhdGU6PFZuREk+IChtYXRjaF9vcGVyYW5kIDMgImltbWVkaWF0ZV9v cGVyYW5kIiAiIG4iKSkpCi0JICAgKG1hdGNoX29wZXJhbmQgNCAiaW1tZWRpYXRlX29wZXJh bmQiCQkJCSIgbiIpCi0JICAgKG1hdGNoX29wZXJhbmQgNSAiaW1tZWRpYXRlX29wZXJhbmQi CQkJCSIgbiIpCisJCSAobWF0Y2hfb3BlcmFuZDo8Vm5TST4gMiAicmVnaXN0ZXJfb3BlcmFu ZCIJICAgICAiIHYsIHYiKSkpCisJICAgICAodmVjX2R1cGxpY2F0ZTo8Vm5EST4gKG1hdGNo X29wZXJhbmQgMyAiaW1tZWRpYXRlX29wZXJhbmQiCisJCQkJCQkJCSAgICAgIiBuLCBuIikp KQorCSAgIChtYXRjaF9vcGVyYW5kIDQgImltbWVkaWF0ZV9vcGVyYW5kIgkJCSAgICAgIiBu LCBuIikKKwkgICAobWF0Y2hfb3BlcmFuZCA1ICJpbW1lZGlhdGVfb3BlcmFuZCIJCQkgICAg ICIgbiwgbiIpCiAJICAgKG1lbTpCTEsgKHNjcmF0Y2gpKV0KIAkgIFVOU1BFQ19HQVRIRVIp KV0KICAgIihBU19HTE9CQUxfUCAoSU5UVkFMIChvcGVyYW5kc1s0XSkpCkBAIC04MzEsNyAr ODMzLDggQEAKICAgICByZXR1cm4gYnVmOwogICB9CiAgIFsoc2V0X2F0dHIgInR5cGUiICJm bGF0IikKLSAgIChzZXRfYXR0ciAibGVuZ3RoIiAiMTIiKV0pCisgICAoc2V0X2F0dHIgImxl bmd0aCIgIjEyIikKKyAgIChzZXRfYXR0ciAieG5hY2siICJvZmYsb24iKV0pCiAKIChkZWZp bmVfZXhwYW5kICJzY2F0dGVyX3N0b3JlPG1vZGU+PHZuc2k+IgogICBbKG1hdGNoX29wZXJh bmQ6REkgMCAicmVnaXN0ZXJfb3BlcmFuZCIpCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2dj bi9nY24uY2MgYi9nY2MvY29uZmlnL2djbi9nY24uY2MKaW5kZXggMmVmNGNlZTU4ZmQuLjE1 YWE4YzEzOGVlIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL2djbi9nY24uY2MKKysrIGIvZ2Nj L2NvbmZpZy9nY24vZ2NuLmNjCkBAIC0xNzAsOSArMTcwLDE0IEBAIGdjbl9vcHRpb25fb3Zl cnJpZGUgKHZvaWQpCiAJYWNjX2xkc19zaXplID0gMzI3Njg7CiAgICAgfQogCi0gIC8qIFRo ZSB4bmFjayBvcHRpb24gaXMgYSBwbGFjZWhvbGRlciwgZm9yIG5vdy4gICovCi0gIGlmIChm bGFnX3huYWNrKQotICAgIHNvcnJ5ICgiWE5BQ0sgc3VwcG9ydCIpOworICAvKiBnZng5MDgg IkZpamkiIGRvZXMgbm90IHN1cHBvcnQgWE5BQ0suICAqLworICBpZiAoZ2NuX2FyY2ggPT0g UFJPQ0VTU09SX0ZJSkkpCisgICAgeworICAgICAgaWYgKGZsYWdfeG5hY2sgPT0gSFNBQ09f QVRUUl9PTikKKwllcnJvciAoIi1teG5hY2s9b24gaXMgaW5jb21wYXRpYmxlIHdpdGggLW1h cmNoPWZpamkiKTsKKyAgICAgIC8qIEFsbG93IEhTQUNPX0FUVFJfQU5ZIHNpbGVudGx5IGJl Y2F1c2UgdGhhdCdzIHRoZSBkZWZhdWx0LiAgKi8KKyAgICAgIGZsYWdfeG5hY2sgPSBIU0FD T19BVFRSX09GRjsKKyAgICB9CiB9CiAKIC8qIH19fSAgKi8KQEAgLTMxODgsMTcgKzMxOTMs MTkgQEAgZ2NuX2V4cGFuZF9lcGlsb2d1ZSAodm9pZCkKICAgICAgIC8qIEFzc3VtZSB0aGF0 IGFuIGV4aXQgdmFsdWUgY29tcGF0aWJsZSB3aXRoIGdjbi1ydW4gaXMgZXhwZWN0ZWQuCiAg ICAgICAgICBUaGF0IGlzLCB0aGUgdGhpcmQgaW5wdXQgcGFyYW1ldGVyIGlzIGFuIGludCou CiAKLSAgICAgICAgIFdlIGNhbid0IGFsbG9jYXRlIGFueSBuZXcgcmVnaXN0ZXJzLCBidXQg dGhlIGtlcm5hcmdfcmVnIGlzCi0gICAgICAgICBkZWFkIGFmdGVyIHRoaXMsIHNvIHdlJ2xs IHVzZSB0aGF0LiAgKi8KKyAgICAgICAgIFdlIGNhbid0IGFsbG9jYXRlIGFueSBuZXcgcmVn aXN0ZXJzLCBidXQgdGhlIGRpc3BhdGNoX3B0ciBhbmQKKwkga2VybmFyZ19yZWcgYXJlIGRl YWQgYWZ0ZXIgdGhpcywgc28gd2UnbGwgdXNlIHRob3NlLiAgKi8KKyAgICAgIHJ0eCBkaXNw YXRjaF9wdHJfcmVnID0gZ2VuX3J0eF9SRUcgKERJbW9kZSwgY2Z1bi0+bWFjaGluZS0+YXJn cy5yZWcKKwkJCQkJICBbRElTUEFUQ0hfUFRSX0FSR10pOwogICAgICAgcnR4IGtlcm5hcmdf cmVnID0gZ2VuX3J0eF9SRUcgKERJbW9kZSwgY2Z1bi0+bWFjaGluZS0+YXJncy5yZWcKIAkJ CQkgICAgIFtLRVJOQVJHX1NFR01FTlRfUFRSX0FSR10pOwogICAgICAgcnR4IHJldHB0cl9t ZW0gPSBnZW5fcnR4X01FTSAoREltb2RlLAogCQkJCSAgICBnZW5fcnR4X1BMVVMgKERJbW9k ZSwga2VybmFyZ19yZWcsCiAJCQkJCQkgIEdFTl9JTlQgKDE2KSkpOwogICAgICAgc2V0X21l bV9hZGRyX3NwYWNlIChyZXRwdHJfbWVtLCBBRERSX1NQQUNFX1NDQUxBUl9GTEFUKTsKLSAg ICAgIGVtaXRfbW92ZV9pbnNuIChrZXJuYXJnX3JlZywgcmV0cHRyX21lbSk7CisgICAgICBl bWl0X21vdmVfaW5zbiAoZGlzcGF0Y2hfcHRyX3JlZywgcmV0cHRyX21lbSk7CiAKLSAgICAg IHJ0eCByZXR2YWxfbWVtID0gZ2VuX3J0eF9NRU0gKFNJbW9kZSwga2VybmFyZ19yZWcpOwor ICAgICAgcnR4IHJldHZhbF9tZW0gPSBnZW5fcnR4X01FTSAoU0ltb2RlLCBkaXNwYXRjaF9w dHJfcmVnKTsKICAgICAgIHNldF9tZW1fYWRkcl9zcGFjZSAocmV0dmFsX21lbSwgQUREUl9T UEFDRV9TQ0FMQVJfRkxBVCk7CiAgICAgICBlbWl0X21vdmVfaW5zbiAocmV0dmFsX21lbSwK IAkJICAgICAgZ2VuX3J0eF9SRUcgKFNJbW9kZSwgU0dQUl9SRUdOTyAoUkVUVVJOX1ZBTFVF X1JFRykpKTsKQEAgLTUyNDcsMTEgKzUyNTQsMTIgQEAgc3RhdGljIHZvaWQKIG91dHB1dF9m aWxlX3N0YXJ0ICh2b2lkKQogewogICAvKiBJbiBIU0FDT3Y0IG5vIGF0dHJpYnV0ZSBzZXR0 aW5nIG1lYW5zIHRoZSBiaW5hcnkgc3VwcG9ydHMgImFueSIgaGFyZHdhcmUKLSAgICAgY29u ZmlndXJhdGlvbi4gIEluIEdDQyBiaW5hcmllcywgdGhpcyBpcyB0cnVlIGZvciBTUkFNIEVD QywgYnV0IG5vdAotICAgICBYTkFDSy4gICovCi0gIGNvbnN0IGNoYXIgKnhuYWNrID0gKGZs YWdfeG5hY2sgPyAiOnhuYWNrKyIgOiAiOnhuYWNrLSIpOwotICBjb25zdCBjaGFyICpzcmFt X2VjYyA9IChmbGFnX3NyYW1fZWNjID09IFNSQU1fRUNDX09OID8gIjpzcmFtZWNjKyIKLQkJ CSAgOiBmbGFnX3NyYW1fZWNjID09IFNSQU1fRUNDX09GRiA/ICI6c3JhbWVjYy0iCisgICAg IGNvbmZpZ3VyYXRpb24uICAqLworICBjb25zdCBjaGFyICp4bmFjayA9IChmbGFnX3huYWNr ID09IEhTQUNPX0FUVFJfT04gPyAiOnhuYWNrKyIKKwkJICAgICAgIDogZmxhZ194bmFjayA9 PSBIU0FDT19BVFRSX09GRiA/ICI6eG5hY2stIgorCQkgICAgICAgOiAiIik7CisgIGNvbnN0 IGNoYXIgKnNyYW1fZWNjID0gKGZsYWdfc3JhbV9lY2MgPT0gSFNBQ09fQVRUUl9PTiA/ICI6 c3JhbWVjYysiCisJCQkgIDogZmxhZ19zcmFtX2VjYyA9PSBIU0FDT19BVFRSX09GRiA/ICI6 c3JhbWVjYy0iCiAJCQkgIDogIiIpOwogCiAgIGNvbnN0IGNoYXIgKmNwdTsKQEAgLTUyOTUs NyArNTMwMyw3IEBAIHZvaWQKIGdjbl9oc2FfZGVjbGFyZV9mdW5jdGlvbl9uYW1lIChGSUxF ICpmaWxlLCBjb25zdCBjaGFyICpuYW1lLCB0cmVlKQogewogICBpbnQgc2dwciwgdmdwcjsK LSAgYm9vbCB4bmFja19lbmFibGVkID0gZmFsc2U7CisgIGJvb2wgeG5hY2tfZW5hYmxlZCA9 IFRBUkdFVF9YTkFDSzsKIAogICBmcHV0cyAoIlxuXG4iLCBmaWxlKTsKIApkaWZmIC0tZ2l0 IGEvZ2NjL2NvbmZpZy9nY24vZ2NuLm1kIGIvZ2NjL2NvbmZpZy9nY24vZ2NuLm1kCmluZGV4 IDUzZTg0NmUxNWQxLi40NzQxN2FiMzcxZSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9nY24v Z2NuLm1kCisrKyBiL2djYy9jb25maWcvZ2NuL2djbi5tZApAQCAtMjc3LDEyICsyNzcsMTkg QEAKIAogKGRlZmluZV9hdHRyICJnY25fdmVyc2lvbiIgImdjbjMsZ2NuNSIgKGNvbnN0X3N0 cmluZyAiZ2NuMyIpKQogCisoZGVmaW5lX2F0dHIgInhuYWNrIiAibmEsb2ZmLG9uIiAoY29u c3Rfc3RyaW5nICJuYSIpKQorCiAoZGVmaW5lX2F0dHIgImVuYWJsZWQiICIiCi0gIChjb25k IFsoZXFfYXR0ciAiZ2NuX3ZlcnNpb24iICJnY24zIikgKGNvbnN0X2ludCAxKQotCSAoYW5k IChlcV9hdHRyICJnY25fdmVyc2lvbiIgImdjbjUiKQotCSAgICAgIChuZSAoc3ltYm9sX3Jl ZiAiVEFSR0VUX0dDTjVfUExVUyIpIChjb25zdF9pbnQgMCkpKQotCSAgIChjb25zdF9pbnQg MSldCi0JKGNvbnN0X2ludCAwKSkpCisgIChjb25kIFsoYW5kIChlcV9hdHRyICJnY25fdmVy c2lvbiIgImdjbjUiKQorCSAgICAgIChlcSAoc3ltYm9sX3JlZiAiVEFSR0VUX0dDTjVfUExV UyIpIChjb25zdF9pbnQgMCkpKQorCSAgIChjb25zdF9pbnQgMCkKKwkgKGFuZCAoZXFfYXR0 ciAieG5hY2siICJvZmYiKQorCSAgICAgIChuZSAoc3ltYm9sX3JlZiAiVEFSR0VUX1hOQUNL IikgKGNvbnN0X2ludCAwKSkpCisJICAgKGNvbnN0X2ludCAwKQorCSAoYW5kIChlcV9hdHRy ICJ4bmFjayIgIm9uIikKKwkgICAgICAoZXEgKHN5bWJvbF9yZWYgIlRBUkdFVF9YTkFDSyIp IChjb25zdF9pbnQgMCkpKQorCSAgIChjb25zdF9pbnQgMCldCisJKGNvbnN0X2ludCAxKSkp CiAKIDsgV2UgbmVlZCB0byBiZSBhYmxlIHRvIGlkZW50aWZ5IHZfcmVhZGxhbmUgYW5kIHZf d3JpdGVsYW5lIHdpdGgKIDsgU0dQUiBsYW5lIHNlbGVjdGlvbiBpbiBvcmRlciB0byBoYW5k bGUgIk1hbnVhbGx5IEluc2VydGVkIFdhaXQgU3RhdGVzIi4KQEAgLTQ3Miw5ICs0NzksOSBA QAogCiAoZGVmaW5lX2luc24gIiptb3ZiaSIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6Qkkg MCAibm9uaW1tZWRpYXRlX29wZXJhbmQiCi0JCQkJICAgICI9U2csICAgdixTZyxjcyxjVixj VixTbSxSUywgdixSRiwgdixSTSIpCisJCQkgICI9U2csICAgdixTZyxjcyxjVixjVixTbSwm U20sUlMsIHYsJnYsUkYsIHYsJnYsUk0iKQogCShtYXRjaF9vcGVyYW5kOkJJIDEgImdjbl9s b2FkX29wZXJhbmQiCi0JCQkJICAgICJTU0EsdlN2QSwgdixTUywgdixTUyxSUyxTbSxSRiwg dixSTSwgdiIpKV0KKwkJCSAgIlNTQSx2U3ZBLCB2LFNTLCB2LFNTLFJTLCBSUyxTbSxSRixS RiwgdixSTSxSTSwgdiIpKV0KICAgIiIKICAgewogICAgIC8qIFNDQyBhcyBhbiBvcGVyYW5k IGlzIGN1cnJlbnRseSBub3QgYWNjZXB0ZWQgYnkgdGhlIExMVk0gYXNzZW1ibGVyLCBzbwpA QCAtNTE2LDY2ICs1MjMsNzcgQEAKIAlyZXR1cm4gInNfbW92X2IzMlx0dmNjX2xvLCAlMVw7 IgogCSAgICAgICAic19tb3ZfYjMyXHR2Y2NfaGksIDAiOwogICAgIGNhc2UgNjoKLSAgICAg IHJldHVybiAic19sb2FkX2R3b3JkXHQlMCwgJUExXDtzX3dhaXRjbnRcdGxna21jbnQoMCki OwogICAgIGNhc2UgNzoKLSAgICAgIHJldHVybiAic19zdG9yZV9kd29yZFx0JTEsICVBMCI7 CisgICAgICByZXR1cm4gInNfbG9hZF9kd29yZFx0JTAsICVBMVw7c193YWl0Y250XHRsZ2tt Y250KDApIjsKICAgICBjYXNlIDg6Ci0gICAgICByZXR1cm4gImZsYXRfbG9hZF9kd29yZFx0 JTAsICVBMSVPMSVnMVw7c193YWl0Y250XHQwIjsKKyAgICAgIHJldHVybiAic19zdG9yZV9k d29yZFx0JTEsICVBMCI7CiAgICAgY2FzZSA5OgotICAgICAgcmV0dXJuICJmbGF0X3N0b3Jl X2R3b3JkXHQlQTAsICUxJU8wJWcwIjsKICAgICBjYXNlIDEwOgotICAgICAgcmV0dXJuICJn bG9iYWxfbG9hZF9kd29yZFx0JTAsICVBMSVPMSVnMVw7c193YWl0Y250XHR2bWNudCgwKSI7 CisgICAgICByZXR1cm4gImZsYXRfbG9hZF9kd29yZFx0JTAsICVBMSVPMSVnMVw7c193YWl0 Y250XHQwIjsKICAgICBjYXNlIDExOgorICAgICAgcmV0dXJuICJmbGF0X3N0b3JlX2R3b3Jk XHQlQTAsICUxJU8wJWcwIjsKKyAgICBjYXNlIDEyOgorICAgIGNhc2UgMTM6CisgICAgICBy ZXR1cm4gImdsb2JhbF9sb2FkX2R3b3JkXHQlMCwgJUExJU8xJWcxXDtzX3dhaXRjbnRcdHZt Y250KDApIjsKKyAgICBjYXNlIDE0OgogICAgICAgcmV0dXJuICJnbG9iYWxfc3RvcmVfZHdv cmRcdCVBMCwgJTElTzAlZzAiOwogICAgIGRlZmF1bHQ6CiAgICAgICBnY2NfdW5yZWFjaGFi bGUgKCk7CiAgICAgfQogICB9Ci0gIFsoc2V0X2F0dHIgInR5cGUiICJzb3AxLHZvcDEsdm9w M2Esc29wayx2b3BjLG11bHQsc21lbSxzbWVtLGZsYXQsZmxhdCwKLQkJICAgICBmbGF0LGZs YXQiKQotICAgKHNldF9hdHRyICJleGVjIiAiKiwqLG5vbmUsKiwqLCosKiwqLCosKiwqLCoi KQotICAgKHNldF9hdHRyICJsZW5ndGgiICI0LDQsNCw0LDQsOCwxMiwxMiwxMiwxMiwxMiwx MiIpXSkKKyAgWyhzZXRfYXR0ciAidHlwZSIgInNvcDEsdm9wMSx2b3AzYSxzb3BrLHZvcGMs bXVsdCxzbWVtLHNtZW0sc21lbSxmbGF0LGZsYXQsCisJCSAgICAgZmxhdCxmbGF0LGZsYXQs ZmxhdCIpCisgICAoc2V0X2F0dHIgImV4ZWMiICIqLCosbm9uZSwqLCosKiwqLCosKiwqLCos KiwqLCosKiIpCisgICAoc2V0X2F0dHIgImxlbmd0aCIgIjQsNCw0LDQsNCw4LDEyLDEyLDEy LDEyLDEyLDEyLDEyLDEyLDEyIikKKyAgIChzZXRfYXR0ciAieG5hY2siICIqLCosKiwqLCos KixvZmYsb24sKixvZmYsb24sKixvZmYsb24sKiIpXSkKIAogOyAzMmJpdCBtb3ZlIHBhdHRl cm4KIAogKGRlZmluZV9pbnNuICIqbW92PG1vZGU+X2luc24iCiAgIFsoc2V0IChtYXRjaF9v cGVyYW5kOlNJU0YgMCAibm9uaW1tZWRpYXRlX29wZXJhbmQiCi0JCSAgIj1TRCxTRCxTRCxT RCxSQixTbSxSUyx2LFNnLCB2LCB2LFJGLHYsUkxSRywgICB2LFNELCB2LFJNIikKKyAgICAg Ij1TRCxTRCxTRCxTRCwmU0QsUkIsU20sJlNtLFJTLHYsU2csIHYsIHYsJnYsUkYsdixSTFJH LCAgIHYsU0QsIHYsJnYsUk0iKQogCShtYXRjaF9vcGVyYW5kOlNJU0YgMSAiZ2NuX2xvYWRf b3BlcmFuZCIKLQkJICAiU1NBLCBKLCBCLFJCLFNtLFJTLFNtLHYsIHYsU3YsUkYsIHYsQiwg ICB2LFJMUkcsIFksUk0sIHYiKSldCisgICAgIlNTQSwgSiwgQixSQiwgUkIsU20sUlMsIFJT LFNtLHYsIHYsU3YsUkYsUkYsIHYsQiwgICB2LFJMUkcsIFksUk0sUk0sIHYiKSldCiAgICIi CiAgICJACiAgIHNfbW92X2IzMlx0JTAsICUxCiAgIHNfbW92a19pMzJcdCUwLCAlMQogICBz X21vdl9iMzJcdCUwLCAlMQogICBzX2J1ZmZlcl9sb2FkJXMwXHQlMCwgc1swOjNdLCAlMVw7 c193YWl0Y250XHRsZ2ttY250KDApCisgIHNfYnVmZmVyX2xvYWQlczBcdCUwLCBzWzA6M10s ICUxXDtzX3dhaXRjbnRcdGxna21jbnQoMCkKICAgc19idWZmZXJfc3RvcmUlczFcdCUxLCBz WzA6M10sICUwCiAgIHNfbG9hZF9kd29yZFx0JTAsICVBMVw7c193YWl0Y250XHRsZ2ttY250 KDApCisgIHNfbG9hZF9kd29yZFx0JTAsICVBMVw7c193YWl0Y250XHRsZ2ttY250KDApCiAg IHNfc3RvcmVfZHdvcmRcdCUxLCAlQTAKICAgdl9tb3ZfYjMyXHQlMCwgJTEKICAgdl9yZWFk bGFuZV9iMzJcdCUwLCAlMSwgMAogICB2X3dyaXRlbGFuZV9iMzJcdCUwLCAlMSwgMAogICBm bGF0X2xvYWRfZHdvcmRcdCUwLCAlQTElTzElZzFcO3Nfd2FpdGNudFx0MAorICBmbGF0X2xv YWRfZHdvcmRcdCUwLCAlQTElTzElZzFcO3Nfd2FpdGNudFx0MAogICBmbGF0X3N0b3JlX2R3 b3JkXHQlQTAsICUxJU8wJWcwCiAgIHZfbW92X2IzMlx0JTAsICUxCiAgIGRzX3dyaXRlX2Iz Mlx0JUEwLCAlMSVPMFw7c193YWl0Y250XHRsZ2ttY250KDApCiAgIGRzX3JlYWRfYjMyXHQl MCwgJUExJU8xXDtzX3dhaXRjbnRcdGxna21jbnQoMCkKICAgc19tb3ZfYjMyXHQlMCwgJTEK ICAgZ2xvYmFsX2xvYWRfZHdvcmRcdCUwLCAlQTElTzElZzFcO3Nfd2FpdGNudFx0dm1jbnQo MCkKKyAgZ2xvYmFsX2xvYWRfZHdvcmRcdCUwLCAlQTElTzElZzFcO3Nfd2FpdGNudFx0dm1j bnQoMCkKICAgZ2xvYmFsX3N0b3JlX2R3b3JkXHQlQTAsICUxJU8wJWcwIgotICBbKHNldF9h dHRyICJ0eXBlIiAic29wMSxzb3BrLHNvcDEsc21lbSxzbWVtLHNtZW0sc21lbSx2b3AxLHZv cDNhLHZvcDNhLGZsYXQsCi0JCSAgICAgZmxhdCx2b3AxLGRzLGRzLHNvcDEsZmxhdCxmbGF0 IikKLSAgIChzZXRfYXR0ciAiZXhlYyIgIiosKiwqLCosKiwqLCosKixub25lLG5vbmUsKiwq LCosKiwqLCosKiwqIikKLSAgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCw0LDgsMTIsMTIsMTIs MTIsNCw4LDgsMTIsMTIsOCwxMiwxMiw4LDEyLDEyIildKQorICBbKHNldF9hdHRyICJ0eXBl IiAic29wMSxzb3BrLHNvcDEsc21lbSxzbWVtLHNtZW0sc21lbSxzbWVtLHNtZW0sdm9wMSx2 b3AzYSwKKwkgICAgICB2b3AzYSxmbGF0LGZsYXQsZmxhdCx2b3AxLGRzLGRzLHNvcDEsZmxh dCxmbGF0LGZsYXQiKQorICAgKHNldF9hdHRyICJleGVjIiAiKiwqLCosKiwqLCosKiwqLCos Kixub25lLG5vbmUsKiwqLCosKiwqLCosKiwqLCosKiIpCisgICAoc2V0X2F0dHIgImxlbmd0 aCIKKwkgICAgICI0LDQsOCwxMiwxMiwxMiwxMiwxMiwxMiw0LDgsOCwxMiwxMiwxMiw4LDEy LDEyLDgsMTIsMTIsMTIiKQorICAgKHNldF9hdHRyICJ4bmFjayIKKwkgICAgICIqLCosKixv ZmYsb24sKixvZmYsb24sKiwqLCosKixvZmYsb24sKiwqLCosKiwqLG9mZixvbiwqIildKQog CiA7IDgvMTZiaXQgbW92ZSBwYXR0ZXJuCiA7IFRPRE86IGltcGxlbWVudCBjb21iaW5lZCBs b2FkIGFuZCB6ZXJvX2V4dGVuZCwgYnV0ICpvbmx5KiBmb3IgLW1zcmFtLWVjYz1vbgogCiAo ZGVmaW5lX2luc24gIiptb3Y8bW9kZT5faW5zbiIKICAgWyhzZXQgKG1hdGNoX29wZXJhbmQ6 UUlISSAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIKLQkJCQkgIj1TRCxTRCxTRCx2LFNnLCB2 LCB2LFJGLHYsUkxSRywgICB2LCB2LFJNIikKKwkJCSAgICI9U0QsU0QsU0QsdixTZywgdiwg diwmdixSRix2LFJMUkcsICAgdiwgdiwmdixSTSIpCiAJKG1hdGNoX29wZXJhbmQ6UUlISSAx ICJnY25fbG9hZF9vcGVyYW5kIgotCQkJCSAiU1NBLCBKLCBCLHYsIHYsU3YsUkYsIHYsQiwg ICB2LFJMUkcsUk0sIHYiKSldCisJCQkgICAiU1NBLCBKLCBCLHYsIHYsU3YsUkYsUkYsIHYs QiwgICB2LFJMUkcsUk0sUk0sIHYiKSldCiAgICJnY25fdmFsaWRfbW92ZV9wICg8TU9ERT5t b2RlLCBvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0pIgogICAiQAogICBzX21vdl9iMzJcdCUw LCAlMQpAQCAtNTg1LDI0ICs2MDMsMjcgQEAKICAgdl9yZWFkbGFuZV9iMzJcdCUwLCAlMSwg MAogICB2X3dyaXRlbGFuZV9iMzJcdCUwLCAlMSwgMAogICBmbGF0X2xvYWQlbzFcdCUwLCAl QTElTzElZzFcO3Nfd2FpdGNudFx0MAorICBmbGF0X2xvYWQlbzFcdCUwLCAlQTElTzElZzFc O3Nfd2FpdGNudFx0MAogICBmbGF0X3N0b3JlJXMwXHQlQTAsICUxJU8wJWcwCiAgIHZfbW92 X2IzMlx0JTAsICUxCiAgIGRzX3dyaXRlJWIwXHQlQTAsICUxJU8wXDtzX3dhaXRjbnRcdGxn a21jbnQoMCkKICAgZHNfcmVhZCV1MVx0JTAsICVBMSVPMVw7c193YWl0Y250XHRsZ2ttY250 KDApCiAgIGdsb2JhbF9sb2FkJW8xXHQlMCwgJUExJU8xJWcxXDtzX3dhaXRjbnRcdHZtY250 KDApCisgIGdsb2JhbF9sb2FkJW8xXHQlMCwgJUExJU8xJWcxXDtzX3dhaXRjbnRcdHZtY250 KDApCiAgIGdsb2JhbF9zdG9yZSVzMFx0JUEwLCAlMSVPMCVnMCIKLSAgWyhzZXRfYXR0ciAi dHlwZSIKLQkgICAgICJzb3AxLHNvcGssc29wMSx2b3AxLHZvcDNhLHZvcDNhLGZsYXQsZmxh dCx2b3AxLGRzLGRzLGZsYXQsZmxhdCIpCi0gICAoc2V0X2F0dHIgImV4ZWMiICIqLCosKiwq LG5vbmUsbm9uZSwqLCosKiwqLCosKiwqIikKLSAgIChzZXRfYXR0ciAibGVuZ3RoIiAiNCw0 LDgsNCw0LDQsMTIsMTIsOCwxMiwxMiwxMiwxMiIpXSkKKyAgWyhzZXRfYXR0ciAidHlwZSIg InNvcDEsc29wayxzb3AxLHZvcDEsdm9wM2Esdm9wM2EsZmxhdCxmbGF0LGZsYXQsdm9wMSxk cyxkcywKKwkgICAgICAgICAgICAgZmxhdCxmbGF0LGZsYXQiKQorICAgKHNldF9hdHRyICJl eGVjIiAiKiwqLCosKixub25lLG5vbmUsKiwqLCosKiwqLCosKiwqLCoiKQorICAgKHNldF9h dHRyICJsZW5ndGgiICI0LDQsOCw0LDQsNCwxMiwxMiwxMiw4LDEyLDEyLDEyLDEyLDEyIikK KyAgIChzZXRfYXR0ciAieG5hY2siICIqLCosKiwqLCosKixvZmYsb24sKiwqLCosKixvZmYs b24sKiIpXSkKIAogOyA2NGJpdCBtb3ZlIHBhdHRlcm4KIAogKGRlZmluZV9pbnNuX2FuZF9z cGxpdCAiKm1vdjxtb2RlPl9pbnNuIgogICBbKHNldCAobWF0Y2hfb3BlcmFuZDpESURGIDAg Im5vbmltbWVkaWF0ZV9vcGVyYW5kIgotCQkJICAiPVNELFNELFNELFJTLFNtLHYsIHYsU2cs IHYsIHYsUkYsUkxSRywgICB2LCB2LFJNIikKKwkJIj1TRCxTRCxTRCxSUyxTbSwmU20sdiwg dixTZywgdiwgdiwmdixSRixSTFJHLCAgIHYsIHYsJnYsUk0iKQogCShtYXRjaF9vcGVyYW5k OkRJREYgMSAiZ2VuZXJhbF9vcGVyYW5kIgotCQkJICAiU1NBLCBDLERCLFNtLFJTLHYsREIs IHYsU3YsUkYsIHYsICAgdixSTFJHLFJNLCB2IikpXQorCQkiU1NBLCBDLERCLFNtLFJTLCBS Uyx2LERCLCB2LFN2LFJGLFJGLCB2LCAgIHYsUkxSRyxSTSxSTSwgdiIpKV0KICAgIkdFVF9D T0RFKG9wZXJhbmRzWzFdKSAhPSBTWU1CT0xfUkVGIgogICAiQAogICBzX21vdl9iNjRcdCUw LCAlMQpAQCAtNjEwLDE1ICs2MzEsMTggQEAKICAgIwogICBzX3N0b3JlX2R3b3JkeDJcdCUx LCAlQTAKICAgc19sb2FkX2R3b3JkeDJcdCUwLCAlQTFcO3Nfd2FpdGNudFx0bGdrbWNudCgw KQorICBzX2xvYWRfZHdvcmR4Mlx0JTAsICVBMVw7c193YWl0Y250XHRsZ2ttY250KDApCiAg ICMKICAgIwogICAjCiAgICMKICAgZmxhdF9sb2FkX2R3b3JkeDJcdCUwLCAlQTElTzElZzFc O3Nfd2FpdGNudFx0MAorICBmbGF0X2xvYWRfZHdvcmR4Mlx0JTAsICVBMSVPMSVnMVw7c193 YWl0Y250XHQwCiAgIGZsYXRfc3RvcmVfZHdvcmR4Mlx0JUEwLCAlMSVPMCVnMAogICBkc193 cml0ZV9iNjRcdCVBMCwgJTElTzBcO3Nfd2FpdGNudFx0bGdrbWNudCgwKQogICBkc19yZWFk X2I2NFx0JTAsICVBMSVPMVw7c193YWl0Y250XHRsZ2ttY250KDApCiAgIGdsb2JhbF9sb2Fk X2R3b3JkeDJcdCUwLCAlQTElTzElZzFcO3Nfd2FpdGNudFx0dm1jbnQoMCkKKyAgZ2xvYmFs X2xvYWRfZHdvcmR4Mlx0JTAsICVBMSVPMSVnMVw7c193YWl0Y250XHR2bWNudCgwKQogICBn bG9iYWxfc3RvcmVfZHdvcmR4Mlx0JUEwLCAlMSVPMCVnMCIKICAgInJlbG9hZF9jb21wbGV0 ZWQKICAgICYmICgoIU1FTV9QIChvcGVyYW5kc1swXSkgJiYgIU1FTV9QIChvcGVyYW5kc1sx XSkKQEAgLTY0OSwyOSArNjczLDMzIEBACiAJb3BlcmFuZHNbM10gPSBpbmhpOwogICAgICAg fQogICB9Ci0gIFsoc2V0X2F0dHIgInR5cGUiICJzb3AxLHNvcDEsbXVsdCxzbWVtLHNtZW0s dm11bHQsdm11bHQsdm11bHQsdm11bHQsZmxhdCwKLQkJICAgICBmbGF0LGRzLGRzLGZsYXQs ZmxhdCIpCi0gICAoc2V0X2F0dHIgImxlbmd0aCIgIjQsOCwqLDEyLDEyLCosKiwqLCosMTIs MTIsMTIsMTIsMTIsMTIiKV0pCisgIFsoc2V0X2F0dHIgInR5cGUiICJzb3AxLHNvcDEsbXVs dCxzbWVtLHNtZW0sc21lbSx2bXVsdCx2bXVsdCx2bXVsdCx2bXVsdCwKKwkgICAgICBmbGF0 LGZsYXQsZmxhdCxkcyxkcyxmbGF0LGZsYXQsZmxhdCIpCisgICAoc2V0X2F0dHIgImxlbmd0 aCIgIjQsOCwqLDEyLDEyLDEyLCosKiwqLCosMTIsMTIsMTIsMTIsMTIsMTIsMTIsMTIiKQor ICAgKHNldF9hdHRyICJ4bmFjayIgIiosKiwqLCosb2ZmLG9uLCosKiwqLCosb2ZmLG9uLCos KiwqLG9mZixvbiwqIildKQogCiA7IDEyOC1iaXQgbW92ZS4KIAogKGRlZmluZV9pbnNuX2Fu ZF9zcGxpdCAiKm1vdnRpX2luc24iCiAgIFsoc2V0IChtYXRjaF9vcGVyYW5kOlRJIDAgIm5v bmltbWVkaWF0ZV9vcGVyYW5kIgotCQkJCSAgICAgICI9U0QsUlMsU20sUkYsIHYsdiwgdixT RCxSTSwgdixSTCwgdiIpCi0JKG1hdGNoX29wZXJhbmQ6VEkgMSAiZ2VuZXJhbF9vcGVyYW5k IiAgCi0JCQkJICAgICAgIlNTQixTbSxSUywgdixSRix2LFN2LCB2LCB2LFJNLCB2LFJMIikp XQorCQkJICAgICAiPVNELFJTLFNtLCZTbSxSRiwgdiwmdix2LCB2LFNELFJNLCB2LCZ2LFJM LCB2IikKKwkobWF0Y2hfb3BlcmFuZDpUSSAxICJnZW5lcmFsX29wZXJhbmQiCisJCQkgICAg ICJTU0IsU20sUlMsIFJTLCB2LFJGLFJGLHYsU3YsIHYsIHYsUk0sUk0sIHYsUkwiKSldCiAg ICIiCiAgICJACiAgICMKICAgc19zdG9yZV9kd29yZHg0XHQlMSwgJUEwCiAgIHNfbG9hZF9k d29yZHg0XHQlMCwgJUExXDtzX3dhaXRjbnRcdGxna21jbnQoMCkKKyAgc19sb2FkX2R3b3Jk eDRcdCUwLCAlQTFcO3Nfd2FpdGNudFx0bGdrbWNudCgwKQogICBmbGF0X3N0b3JlX2R3b3Jk eDRcdCVBMCwgJTElTzAlZzAKICAgZmxhdF9sb2FkX2R3b3JkeDRcdCUwLCAlQTElTzElZzFc O3Nfd2FpdGNudFx0MAorICBmbGF0X2xvYWRfZHdvcmR4NFx0JTAsICVBMSVPMSVnMVw7c193 YWl0Y250XHQwCiAgICMKICAgIwogICAjCiAgIGdsb2JhbF9zdG9yZV9kd29yZHg0XHQlQTAs ICUxJU8wJWcwCiAgIGdsb2JhbF9sb2FkX2R3b3JkeDRcdCUwLCAlQTElTzElZzFcO3Nfd2Fp dGNudFx0dm1jbnQoMCkKKyAgZ2xvYmFsX2xvYWRfZHdvcmR4NFx0JTAsICVBMSVPMSVnMVw7 c193YWl0Y250XHR2bWNudCgwKQogICBkc193cml0ZV9iMTI4XHQlQTAsICUxJU8wXDtzX3dh aXRjbnRcdGxna21jbnQoMCkKICAgZHNfcmVhZF9iMTI4XHQlMCwgJUExJU8xXDtzX3dhaXRj bnRcdGxna21jbnQoMCkiCiAgICJyZWxvYWRfY29tcGxldGVkCkBAIC02OTMsMTAgKzcyMSwx MSBAQAogICAgIG9wZXJhbmRzWzBdID0gZ2NuX29wZXJhbmRfcGFydCAoVEltb2RlLCBvcGVy YW5kc1swXSwgMCk7CiAgICAgb3BlcmFuZHNbMV0gPSBnY25fb3BlcmFuZF9wYXJ0IChUSW1v ZGUsIG9wZXJhbmRzWzFdLCAwKTsKICAgfQotICBbKHNldF9hdHRyICJ0eXBlIiAibXVsdCxz bWVtLHNtZW0sZmxhdCxmbGF0LHZtdWx0LHZtdWx0LHZtdWx0LGZsYXQsZmxhdCxcCi0JCSAg ICAgZHMsZHMiKQotICAgKHNldF9hdHRyICJkZWxheWVkdXNlIiAiKiwqLHllcywqLCosKiwq LCoseWVzLCosKiwqIikKLSAgIChzZXRfYXR0ciAibGVuZ3RoIiAiKiwxMiwxMiwxMiwxMiwq LCosKiwxMiwxMiwxMiwxMiIpXSkKKyAgWyhzZXRfYXR0ciAidHlwZSIgIm11bHQsc21lbSxz bWVtLHNtZW0sZmxhdCxmbGF0LGZsYXQsdm11bHQsdm11bHQsdm11bHQsZmxhdCwKKwkgICAg ICAgICAgICAgZmxhdCxmbGF0LGRzLGRzIikKKyAgIChzZXRfYXR0ciAiZGVsYXllZHVzZSIg IiosKix5ZXMseWVzLCosKiwqLCosKiwqLCoseWVzLCosKiwqIikKKyAgIChzZXRfYXR0ciAi bGVuZ3RoIiAiKiwxMiwxMiwxMiwxMiwxMiwxMiwqLCosKiwxMiwxMiwxMiwxMiwxMiIpCisg ICAoc2V0X2F0dHIgInhuYWNrIiAiKiwqLG9mZixvbiwqLG9mZixvbiwqLCosKiwqLG9mZixv biwqLCoiKV0pCiAKIDs7IH19fQogOzsge3t7IFByb2xvZ3VlL0VwaWxvZ3VlCkBAIC04NjQs NiArODkzLDggQEAKICAgKGNsb2JiZXIgKHJlZzpCSSBTQ0NfUkVHKSldCiAgIkdFVF9DT0RF IChvcGVyYW5kc1sxXSkgPT0gU1lNQk9MX1JFRiB8fCBHRVRfQ09ERSAob3BlcmFuZHNbMV0p ID09IExBQkVMX1JFRiIKICAgeworICAgIC8qIFRoaXMgc19sb2FkIG1heSBub3QgYmUgWE5B Q0stc2FmZSBvbiBkZXZpY2VzIHdoZXJlIHRoZSBHT1QgbWF5IGZhdWx0LgorICAgICAgIERH UFVzIGFyZSBtb3N0IGxpa2VseSBmaW5lLiAgKi8KICAgICBpZiAoU1lNQk9MX1JFRl9QIChv cGVyYW5kc1sxXSkKIAkmJiBTWU1CT0xfUkVGX1dFQUsgKG9wZXJhbmRzWzFdKSkKIAlyZXR1 cm4gInNfZ2V0cGNfYjY0XHQlMFw7IgpAQCAtODg4LDYgKzkxOSw4IEBACiAgIHsKICAgICAv KiAhISEgVGhlc2Ugc2VxdWVuY2VzIGNsb2JiZXIgQ0NfU0FWRV9SRUcuICAqLwogCisgICAg LyogVGhpcyBzX2xvYWQgbWF5IG5vdCBiZSBYTkFDSy1zYWZlIG9uIGRldmljZXMgd2hlcmUg dGhlIEdPVCBtYXkgZmF1bHQuCisgICAgICAgREdQVXMgYXJlIG1vc3QgbGlrZWx5IGZpbmUu ICAqLwogICAgIGlmIChTWU1CT0xfUkVGX1AgKG9wZXJhbmRzWzFdKQogCSYmIFNZTUJPTF9S RUZfV0VBSyAob3BlcmFuZHNbMV0pKQogCXJldHVybiAiOyBzX21vdl9iMzJcdHMyMiwgc2Nj IGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIGFzc2VtYmxlci5cOyIKZGlmZiAtLWdpdCBhL2dj Yy9jb25maWcvZ2NuL2djbi5vcHQgYi9nY2MvY29uZmlnL2djbi9nY24ub3B0CmluZGV4IDk2 MDZhYWYwYjFhLi43NTlmN2EwNjRjOSAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9nY24vZ2Nu Lm9wdAorKysgYi9nY2MvY29uZmlnL2djbi9nY24ub3B0CkBAIC04MSwyMyArODEsMjMgQEAg V29wZW5hY2MtZGltcwogVGFyZ2V0IFZhcih3YXJuX29wZW5hY2NfZGltcykgV2FybmluZwog V2FybiBhYm91dCBpbnZhbGlkIE9wZW5BQ0MgZGltZW5zaW9ucy4KIAotbXhuYWNrCi1UYXJn ZXQgVmFyKGZsYWdfeG5hY2spIEluaXQoMCkKLUNvbXBpbGUgZm9yIGRldmljZXMgcmVxdWly aW5nIFhOQUNLIGVuYWJsZWQuIERlZmF1bHQgb2ZmLgotCiBFbnVtCi1OYW1lKHNyYW1fZWNj X3R5cGUpIFR5cGUoZW51bSBzcmFtX2VjY190eXBlKQorTmFtZShoc2Fjb19hdHRyX3R5cGUp IFR5cGUoZW51bSBoc2Fjb19hdHRyX3R5cGUpCiBTUkFNLUVDQyBtb2RlczoKIAogRW51bVZh bHVlCi1FbnVtKHNyYW1fZWNjX3R5cGUpIFN0cmluZyhvZmYpIFZhbHVlKFNSQU1fRUNDX09G RikKK0VudW0oaHNhY29fYXR0cl90eXBlKSBTdHJpbmcob2ZmKSBWYWx1ZShIU0FDT19BVFRS X09GRikKIAogRW51bVZhbHVlCi1FbnVtKHNyYW1fZWNjX3R5cGUpIFN0cmluZyhvbikgVmFs dWUoU1JBTV9FQ0NfT04pCitFbnVtKGhzYWNvX2F0dHJfdHlwZSkgU3RyaW5nKG9uKSBWYWx1 ZShIU0FDT19BVFRSX09OKQogCiBFbnVtVmFsdWUKLUVudW0oc3JhbV9lY2NfdHlwZSkgU3Ry aW5nKGFueSkgVmFsdWUoU1JBTV9FQ0NfQU5ZKQorRW51bShoc2Fjb19hdHRyX3R5cGUpIFN0 cmluZyhhbnkpIFZhbHVlKEhTQUNPX0FUVFJfQU5ZKQorCitteG5hY2s9CitUYXJnZXQgUmVq ZWN0TmVnYXRpdmUgSm9pbmVkIFRvTG93ZXIgRW51bShoc2Fjb19hdHRyX3R5cGUpIFZhcihm bGFnX3huYWNrKSBJbml0KEhTQUNPX0FUVFJfQU5ZKQorQ29tcGlsZSBmb3IgZGV2aWNlcyBy ZXF1aXJpbmcgWE5BQ0sgZW5hYmxlZC4gRGVmYXVsdCBvZmYuCiAKIG1zcmFtLWVjYz0KLVRh cmdldCBSZWplY3ROZWdhdGl2ZSBKb2luZWQgVG9Mb3dlciBFbnVtKHNyYW1fZWNjX3R5cGUp IFZhcihmbGFnX3NyYW1fZWNjKSBJbml0KFNSQU1fRUNDX0FOWSkKK1RhcmdldCBSZWplY3RO ZWdhdGl2ZSBKb2luZWQgVG9Mb3dlciBFbnVtKGhzYWNvX2F0dHJfdHlwZSkgVmFyKGZsYWdf c3JhbV9lY2MpIEluaXQoSFNBQ09fQVRUUl9BTlkpCiBDb21waWxlIGZvciBkZXZpY2VzIHdp dGggdGhlIFNSQU0gRUNDIGZlYXR1cmUgZW5hYmxlZCwgb3Igbm90LiBEZWZhdWx0IFwiYW55 XCIuCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL2djbi9ta29mZmxvYWQuY2MgYi9nY2MvY29u ZmlnL2djbi9ta29mZmxvYWQuY2MKaW5kZXggZWQ5M2FlODQ0ZTQuLjE2YzQ3OWI2ZjVhIDEw MDY0NAotLS0gYS9nY2MvY29uZmlnL2djbi9ta29mZmxvYWQuY2MKKysrIGIvZ2NjL2NvbmZp Zy9nY24vbWtvZmZsb2FkLmNjCkBAIC03MiwxMCArNzIsMTQgQEAKIAogI2RlZmluZSBTRVRf WE5BQ0tfT04oVkFSKSBWQVIgPSAoKFZBUiAmIH5FRl9BTURHUFVfRkVBVFVSRV9YTkFDS19W NCkgXAogCQkJCSB8IEVGX0FNREdQVV9GRUFUVVJFX1hOQUNLX09OX1Y0KQorI2RlZmluZSBT RVRfWE5BQ0tfQU5ZKFZBUikgVkFSID0gKChWQVIgJiB+RUZfQU1ER1BVX0ZFQVRVUkVfWE5B Q0tfVjQpIFwKKwkJCQkgIHwgRUZfQU1ER1BVX0ZFQVRVUkVfWE5BQ0tfQU5ZX1Y0KQogI2Rl ZmluZSBTRVRfWE5BQ0tfT0ZGKFZBUikgVkFSID0gKChWQVIgJiB+RUZfQU1ER1BVX0ZFQVRV UkVfWE5BQ0tfVjQpIFwKIAkJCQkgIHwgRUZfQU1ER1BVX0ZFQVRVUkVfWE5BQ0tfT0ZGX1Y0 KQotI2RlZmluZSBURVNUX1hOQUNLKFZBUikgKChWQVIgJiBFRl9BTURHUFVfRkVBVFVSRV9Y TkFDS19WNCkgXAotCQkJID09IEVGX0FNREdQVV9GRUFUVVJFX1hOQUNLX09OX1Y0KQorI2Rl ZmluZSBURVNUX1hOQUNLX0FOWShWQVIpICgoVkFSICYgRUZfQU1ER1BVX0ZFQVRVUkVfWE5B Q0tfVjQpIFwKKwkJCSAgICAgPT0gRUZfQU1ER1BVX0ZFQVRVUkVfWE5BQ0tfQU5ZX1Y0KQor I2RlZmluZSBURVNUX1hOQUNLX09OKFZBUikgKChWQVIgJiBFRl9BTURHUFVfRkVBVFVSRV9Y TkFDS19WNCkgXAorCQkJICAgID09IEVGX0FNREdQVV9GRUFUVVJFX1hOQUNLX09OX1Y0KQog CiAjZGVmaW5lIFNFVF9TUkFNX0VDQ19PTihWQVIpIFZBUiA9ICgoVkFSICYgfkVGX0FNREdQ VV9GRUFUVVJFX1NSQU1FQ0NfVjQpIFwKIAkJCQkgICAgfCBFRl9BTURHUFVfRkVBVFVSRV9T UkFNRUNDX09OX1Y0KQpAQCAtODgxLDkgKzg4NSwxMSBAQCBtYWluIChpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCiAJZlBJQyA9IHRydWU7CiAgICAgICBlbHNlIGlmIChzdHJjbXAgKGFyZ3Zb aV0sICItZnBpYyIpID09IDApCiAJZnBpYyA9IHRydWU7Ci0gICAgICBlbHNlIGlmIChzdHJj bXAgKGFyZ3ZbaV0sICItbXhuYWNrIikgPT0gMCkKKyAgICAgIGVsc2UgaWYgKHN0cmNtcCAo YXJndltpXSwgIi1teG5hY2s9b24iKSA9PSAwKQogCVNFVF9YTkFDS19PTiAoZWxmX2ZsYWdz KTsKLSAgICAgIGVsc2UgaWYgKHN0cmNtcCAoYXJndltpXSwgIi1tbm8teG5hY2siKSA9PSAw KQorICAgICAgZWxzZSBpZiAoc3RyY21wIChhcmd2W2ldLCAiLW14bmFjaz1hbnkiKSA9PSAw KQorCVNFVF9YTkFDS19BTlkgKGVsZl9mbGFncyk7CisgICAgICBlbHNlIGlmIChzdHJjbXAg KGFyZ3ZbaV0sICItbXhuYWNrPW9mZiIpID09IDApCiAJU0VUX1hOQUNLX09GRiAoZWxmX2Zs YWdzKTsKICAgICAgIGVsc2UgaWYgKHN0cmNtcCAoYXJndltpXSwgIi1tc3JhbS1lY2M9b24i KSA9PSAwKQogCVNFVF9TUkFNX0VDQ19PTiAoZWxmX2ZsYWdzKTsKQEAgLTEwNDIsOCArMTA0 OCw5IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKICAgICAgIG9ic3RhY2tfcHRy X2dyb3cgKCZsZF9hcmd2X29ic3RhY2ssIGdjbl9zMl9uYW1lKTsKICAgICAgIG9ic3RhY2tf cHRyX2dyb3cgKCZsZF9hcmd2X29ic3RhY2ssICItbGdvbXAiKTsKICAgICAgIG9ic3RhY2tf cHRyX2dyb3cgKCZsZF9hcmd2X29ic3RhY2ssCi0JCQkoVEVTVF9YTkFDSyAoZWxmX2ZsYWdz KQotCQkJID8gIi1teG5hY2siIDogIi1tbm8teG5hY2siKSk7CisJCQkoVEVTVF9YTkFDS19P TiAoZWxmX2ZsYWdzKSA/ICItbXhuYWNrPW9uIgorCQkJIDogVEVTVF9YTkFDS19BTlkgKGVs Zl9mbGFncykgPyAiLW14bmFjaz1hbnkiCisJCQkgOiAiLW14bmFjaz1vZmYiKSk7CiAgICAg ICBvYnN0YWNrX3B0cl9ncm93ICgmbGRfYXJndl9vYnN0YWNrLAogCQkJKFRFU1RfU1JBTV9F Q0NfT04gKGVsZl9mbGFncykgPyAiLW1zcmFtLWVjYz1vbiIKIAkJCSA6IFRFU1RfU1JBTV9F Q0NfQU5ZIChlbGZfZmxhZ3MpID8gIi1tc3JhbS1lY2M9YW55IgotLSAKMi4yNS4xCgo= --------------Emcr0LvTgv5gaTKZnMqBjARt Content-Type: text/plain; charset="UTF-8"; name="0003-amdgcn-openmp-Auto-detect-USM-mode-and-set-HSA_XNACK.patch" Content-Disposition: attachment; filename*0="0003-amdgcn-openmp-Auto-detect-USM-mode-and-set-HSA_XNACK.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2ODc2NDBhZjI3YWYwZDJhNWJkOTJhNWRlNDRhOWE3ZDMzNTI2MDUyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgU3R1YmJzIDxhbXNAY29kZXNvdXJjZXJ5 LmNvbT4KRGF0ZTogRnJpLCAxNyBKdW4gMjAyMiAxMzowNzoxMSArMDEwMApTdWJqZWN0OiBb UEFUQ0ggMy80XSBhbWRnY24sIG9wZW5tcDogQXV0by1kZXRlY3QgVVNNIG1vZGUgYW5kIHNl dCBIU0FfWE5BQ0sKClRoZSBBTUQgR0NOIHJ1bnRpbWUgbXVzdCBiZSBzZXQgdG8gdGhlIGNv cnJlY3QgbW9kZSBmb3IgVW5pZmllZCBTaGFyZWQgTWVtb3J5CnRvIHdvcmssIGJ1dCB0aGlz IGlzIG5vdCBhbHdheXMgY2xlYXIgYXQgY29tcGlsZSBhbmQgbGluayB0aW1lIGR1ZSB0byB0 aGUgc3BsaXQKbmF0dXJlIG9mIHRoZSBvZmZsb2FkIGNvbXBpbGF0aW9uIHBpcGVsaW5lLgoK VGhpcyBwYXRjaCBzZXRzIGEgbmV3IGF0dHJpYnV0ZSBvbiBPcGVuTVAgb2ZmbG9hZCBmdW5j dGlvbnMgdG8gZW5zdXJlIHRoYXQgdGhlCmluZm9ybWF0aW9uIGlzIHBhc3NlZCBhbGwgdGhl IHdheSB0byB0aGUgYmFja2VuZC4gIFRoZSBiYWNrZW5kIHRoZW4gcGxhY2VzIGEKbWFya2Vy IGluIHRoZSBhc3NlbWJsZXIgY29kZSBmb3IgbWtvZmZsb2FkIHRvIGZpbmQuIEZpbmFsbHkg bWtvZmZsb2FkIHBsYWNlcyBhCmNvbnN0cnVjdG9yIGZ1bmN0aW9uIGludG8gdGhlIGZpbmFs IHByb2dyYW0gdG8gZW5zdXJlIHRoYXQgdGhlIEhTQV9YTkFDSwplbnZpcm9ubWVudCB2YXJp YWJsZSBwYXNzZXMgdGhlIGNvcnJlY3QgbW9kZSB0byB0aGUgR1BVLgoKVGhlIEhTQV9YTkFD SyB2YXJpYWJsZSBtdXN0IGJlIHNldCBiZWZvcmUgdGhlIEhTQSBydW50aW1lIGlzIGV2ZW4g bG9hZGVkLCBzbwppdCBtYWtlcyBtb3JlIHNlbnNlIHRvIGhhdmUgdGhpcyBzZXQgd2l0aGlu IHRoZSBjb25zdHJ1Y3RvciB0aGFuIGF0IHNvbWUgcG9pbnQKbGF0ZXIgd2l0aGluIGxpYmdv bXAgb3IgdGhlIEdDTiBwbHVnaW4uCgpnY2MvQ2hhbmdlTG9nOgoKCSogY29uZmlnL2djbi9n Y24uYyAodW5pZmllZF9zaGFyZWRfbWVtb3J5X2VuYWJsZWQpOiBOZXcgdmFyaWFibGUuCgko Z2NuX2luaXRfY3VtdWxhdGl2ZV9hcmdzKTogSGFuZGxlIGF0dHJpYnV0ZSAib21wIHVuaWZp ZWQgbWVtb3J5Ii4KCShnY25faHNhX2RlY2xhcmVfZnVuY3Rpb25fbmFtZSk6IEVtaXQgIk1L T0ZGTE9BRCBPUFRJT05TOiBVU00rIi4KCSogY29uZmlnL2djbi9ta29mZmxvYWQuYyAoVEVT VF9YTkFDS19PRkYpOiBOZXcgbWFjcm8uCgkocHJvY2Vzc19hc20pOiBEZXRlY3QgIk1LT0ZG TE9BRCBPUFRJT05TOiBVU00rIi4KCUVtaXQgY29uZmlndXJlX3huYWNrIGNvbnN0cnVjdG9y LCBhcyByZXF1aXJlZC4KCSogb21wLWxvdy5jIChjcmVhdGVfb21wX2NoaWxkX2Z1bmN0aW9u KTogQWRkIGF0dHJpYnV0ZSAib21wIHVuaWZpZWQKCW1lbW9yeSIuCi0tLQogZ2NjL0NoYW5n ZUxvZy5vbXAgICAgICAgICAgIHwgMTEgKysrKysrKysrKysKIGdjYy9jb25maWcvZ2NuL2dj bi5jYyAgICAgICB8IDI4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIGdjYy9jb25m aWcvZ2NuL21rb2ZmbG9hZC5jYyB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKy0KIGdjYy9vbXAtbG93LmNjICAgICAgICAgICAgICB8ICA0ICsrKysKIDQgZmls ZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9nY2MvQ2hhbmdlTG9nLm9tcCBiL2djYy9DaGFuZ2VMb2cub21wCmluZGV4IDdhZjI0 NjA0ODQxLi42ZTA1OTU3OWE4MSAxMDA2NDQKLS0tIGEvZ2NjL0NoYW5nZUxvZy5vbXAKKysr IGIvZ2NjL0NoYW5nZUxvZy5vbXAKQEAgLTEsMyArMSwxNCBAQAorMjAyMi0wNi0xNyAgQW5k cmV3IFN0dWJicyAgPGFtc0Bjb2Rlc291cmNlcnkuY29tPgorCisJKiBjb25maWcvZ2NuL2dj bi5jICh1bmlmaWVkX3NoYXJlZF9tZW1vcnlfZW5hYmxlZCk6IE5ldyB2YXJpYWJsZS4KKwko Z2NuX2luaXRfY3VtdWxhdGl2ZV9hcmdzKTogSGFuZGxlIGF0dHJpYnV0ZSAib21wIHVuaWZp ZWQgbWVtb3J5Ii4KKwkoZ2NuX2hzYV9kZWNsYXJlX2Z1bmN0aW9uX25hbWUpOiBFbWl0ICJN S09GRkxPQUQgT1BUSU9OUzogVVNNKyIuCisJKiBjb25maWcvZ2NuL21rb2ZmbG9hZC5jIChU RVNUX1hOQUNLX09GRik6IE5ldyBtYWNyby4KKwkocHJvY2Vzc19hc20pOiBEZXRlY3QgIk1L T0ZGTE9BRCBPUFRJT05TOiBVU00rIi4KKwlFbWl0IGNvbmZpZ3VyZV94bmFjayBjb25zdHJ1 Y3RvciwgYXMgcmVxdWlyZWQuCisJKiBvbXAtbG93LmMgKGNyZWF0ZV9vbXBfY2hpbGRfZnVu Y3Rpb24pOiBBZGQgYXR0cmlidXRlICJvbXAgdW5pZmllZAorCW1lbW9yeSIuCisKIDIwMjIt MDYtMTAgIEFuZHJldyBTdHViYnMgIDxhbXNAY29kZXNvdXJjZXJ5LmNvbT4KIAogCSogY29u ZmlnL2djbi9nY24taHNhLmggKFhOQUNLT1BUKTogTmV3IG1hY3JvLgpkaWZmIC0tZ2l0IGEv Z2NjL2NvbmZpZy9nY24vZ2NuLmNjIGIvZ2NjL2NvbmZpZy9nY24vZ2NuLmNjCmluZGV4IDE1 YWE4YzEzOGVlLi45OGU1NjMwNTQzNiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9nY24vZ2Nu LmNjCisrKyBiL2djYy9jb25maWcvZ2NuL2djbi5jYwpAQCAtNjgsNiArNjgsMTEgQEAgc3Rh dGljIGJvb2wgZXh0X2djbl9jb25zdGFudHNfaW5pdCA9IDA7CiAKIGVudW0gZ2NuX2lzYSBn Y25faXNhID0gSVNBX0dDTjM7CS8qIERlZmF1bHQgdG8gR0NOMy4gICovCiAKKy8qIFJlY29y ZCB3aGV0aGVyIHRoZSBob3N0IGNvbXBpbGVyIGFkZGVkICJvbXAgdW5pZmVkIG1lbW9yeSIg YXR0cmlidXRlcyB0bworICAgYW55IGZ1bmN0aW9ucy4gIFdlIGNhbiB0aGVuIHBhc3MgdGhp cyBvbiB0byBta29mZmxvYWQgdG8gZW5zdXJlIHhuYWNrIGlzCisgICBjb21wYXRpYmxlIHRo ZXJlIHRvby4gICovCitzdGF0aWMgYm9vbCB1bmlmaWVkX3NoYXJlZF9tZW1vcnlfZW5hYmxl ZCA9IGZhbHNlOworCiAvKiBSZXNlcnZlIHRoaXMgbXVjaCBzcGFjZSBmb3IgTERTIChmb3Ig cHJvcGFnYXRpbmcgdmFyaWFibGVzIGZyb20KICAgIHdvcmtlci1zaW5nbGUgbW9kZSB0byB3 b3JrZXItcGFydGl0aW9uZWQgbW9kZSksIHBlciB3b3JrZ3JvdXAuICBHbG9iYWwKICAgIGFu YWx5c2lzIGNvdWxkIGNhbGN1bGF0ZSBhbiBleGFjdCBib3VuZCwgYnV0IHdlIGRvbid0IGRv IHRoYXQgeWV0LgpAQCAtMjU0Miw2ICsyNTQ3LDI1IEBAIGdjbl9pbml0X2N1bXVsYXRpdmVf YXJncyAoQ1VNVUxBVElWRV9BUkdTICpjdW0gLyogQXJndW1lbnQgaW5mbyB0byBpbml0ICov ICwKICAgaWYgKCFjYWxsZXIgJiYgY2Z1bi0+bWFjaGluZS0+bm9ybWFsX2Z1bmN0aW9uKQog ICAgIGdjbl9kZXRlY3RfaW5jb21pbmdfcG9pbnRlcl9hcmcgKGZuZGVjbCk7CiAKKyAgaWYg KGZuZGVjbCAmJiBsb29rdXBfYXR0cmlidXRlICgib21wIHVuaWZpZWQgbWVtb3J5IiwKKwkJ CQkgIERFQ0xfQVRUUklCVVRFUyAoZm5kZWNsKSkpCisgICAgeworICAgICAgdW5pZmllZF9z aGFyZWRfbWVtb3J5X2VuYWJsZWQgPSB0cnVlOworCisgICAgICBzd2l0Y2ggKGdjbl9hcmNo KQorCXsKKwljYXNlIFBST0NFU1NPUl9GSUpJOgorCWNhc2UgUFJPQ0VTU09SX1ZFR0ExMDoK KwljYXNlIFBST0NFU1NPUl9WRUdBMjA6CisJICBlcnJvciAoIkdQVSBhcmNoaXRlY3R1cmUg ZG9lcyBub3Qgc3VwcG9ydCBVbmlmaWVkIFNoYXJlZCBNZW1vcnkiKTsKKwlkZWZhdWx0Ogor CSAgOworCX0KKworICAgICAgaWYgKGZsYWdfeG5hY2sgPT0gSFNBQ09fQVRUUl9PRkYpCisJ ZXJyb3IgKCJVbmlmaWVkIFNoYXJlZCBNZW1vcnkgaXMgZW5hYmxlZCwgYnV0IFhOQUNLIGlz IGRpc2FibGVkIik7CisgICAgfQorCiAgIHJlaW5pdF9yZWdzICgpOwogfQogCkBAIC01NDU1 LDEyICs1NDc5LDE0IEBAIGdjbl9oc2FfZGVjbGFyZV9mdW5jdGlvbl9uYW1lIChGSUxFICpm aWxlLCBjb25zdCBjaGFyICpuYW1lLCB0cmVlKQogICBhc3NlbWJsZV9uYW1lIChmaWxlLCBu YW1lKTsKICAgZnB1dHMgKCI6XG4iLCBmaWxlKTsKIAotICAvKiBUaGlzIGNvbW1lbnQgaXMg cmVhZCBieSBta29mZmxvYWQuICAqLworICAvKiBUaGVzZSBjb21tZW50cyBhcmUgcmVhZCBi eSBta29mZmxvYWQuICAqLwogICBpZiAoZmxhZ19vcGVuYWNjKQogICAgIGZwcmludGYgKGZp bGUsICJcdDs7IE9QRU5BQ0MtRElNUzogJWQsICVkLCAlZCA6ICVzXG4iLAogCSAgICAgb2Fj Y19nZXRfZm5fZGltX3NpemUgKGNmdW4tPmRlY2wsIEdPTVBfRElNX0dBTkcpLAogCSAgICAg b2FjY19nZXRfZm5fZGltX3NpemUgKGNmdW4tPmRlY2wsIEdPTVBfRElNX1dPUktFUiksCiAJ ICAgICBvYWNjX2dldF9mbl9kaW1fc2l6ZSAoY2Z1bi0+ZGVjbCwgR09NUF9ESU1fVkVDVE9S KSwgbmFtZSk7CisgIGlmICh1bmlmaWVkX3NoYXJlZF9tZW1vcnlfZW5hYmxlZCkKKyAgICBm cHJpbnRmIChhc21fb3V0X2ZpbGUsICJcdDs7IE1LT0ZGTE9BRCBPUFRJT05TOiBVU00rXG4i KTsKIH0KIAogLyogSW1wbGVtZW50IFRBUkdFVF9BU01fU0VMRUNUX1NFQ1RJT04uCmRpZmYg LS1naXQgYS9nY2MvY29uZmlnL2djbi9ta29mZmxvYWQuY2MgYi9nY2MvY29uZmlnL2djbi9t a29mZmxvYWQuY2MKaW5kZXggMTZjNDc5YjZmNWEuLmM0MzBjNGU4Y2VlIDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL2djbi9ta29mZmxvYWQuY2MKKysrIGIvZ2NjL2NvbmZpZy9nY24vbWtv ZmZsb2FkLmNjCkBAIC04MCw2ICs4MCw4IEBACiAJCQkgICAgID09IEVGX0FNREdQVV9GRUFU VVJFX1hOQUNLX0FOWV9WNCkKICNkZWZpbmUgVEVTVF9YTkFDS19PTihWQVIpICgoVkFSICYg RUZfQU1ER1BVX0ZFQVRVUkVfWE5BQ0tfVjQpIFwKIAkJCSAgICA9PSBFRl9BTURHUFVfRkVB VFVSRV9YTkFDS19PTl9WNCkKKyNkZWZpbmUgVEVTVF9YTkFDS19PRkYoVkFSKSAoKFZBUiAm IEVGX0FNREdQVV9GRUFUVVJFX1hOQUNLX1Y0KSBcCisJCQkgICAgID09IEVGX0FNREdQVV9G RUFUVVJFX1hOQUNLX09GRl9WNCkKIAogI2RlZmluZSBTRVRfU1JBTV9FQ0NfT04oVkFSKSBW QVIgPSAoKFZBUiAmIH5FRl9BTURHUFVfRkVBVFVSRV9TUkFNRUNDX1Y0KSBcCiAJCQkJICAg IHwgRUZfQU1ER1BVX0ZFQVRVUkVfU1JBTUVDQ19PTl9WNCkKQEAgLTQ3NCw2ICs0NzYsNyBA QCBzdGF0aWMgdm9pZAogcHJvY2Vzc19hc20gKEZJTEUgKmluLCBGSUxFICpvdXQsIEZJTEUg KmNmaWxlKQogewogICBpbnQgZm5fY291bnQgPSAwLCB2YXJfY291bnQgPSAwLCBkaW1zX2Nv dW50ID0gMCwgcmVnY291bnRfY291bnQgPSAwOworICBib29sIHVuaWZpZWRfc2hhcmVkX21l bW9yeV9lbmFibGVkID0gZmFsc2U7CiAgIHN0cnVjdCBvYnN0YWNrIGZuc19vcywgZGltc19v cywgcmVnY291bnRzX29zOwogICBvYnN0YWNrX2luaXQgKCZmbnNfb3MpOwogICBvYnN0YWNr X2luaXQgKCZkaW1zX29zKTsKQEAgLTQ5OCw2ICs1MDEsNyBAQCBwcm9jZXNzX2FzbSAoRklM RSAqaW4sIEZJTEUgKm91dCwgRklMRSAqY2ZpbGUpCiAgIGZuX2NvdW50ICs9IDI7CiAKICAg Y2hhciBidWZbMTAwMF07CisgIGNoYXIgZHVtbXk7CiAgIGVudW0KICAgICB7IElOX0NPREUs CiAgICAgICBJTl9NRVRBREFUQSwKQEAgLTUxNyw2ICs1MjEsOSBAQCBwcm9jZXNzX2FzbSAo RklMRSAqaW4sIEZJTEUgKm91dCwgRklMRSAqY2ZpbGUpCiAJCWRpbXNfY291bnQrKzsKIAkg ICAgICB9CiAKKwkgICAgaWYgKHNzY2FuZiAoYnVmLCAiIDs7IE1LT0ZGTE9BRCBPUFRJT05T OiBVU00rJWMiLCAmZHVtbXkpID4gMCkKKwkgICAgICB1bmlmaWVkX3NoYXJlZF9tZW1vcnlf ZW5hYmxlZCA9IHRydWU7CisKIAkgICAgYnJlYWs7CiAJICB9CiAJY2FzZSBJTl9NRVRBREFU QToKQEAgLTU2NSw3ICs1NzIsNiBAQCBwcm9jZXNzX2FzbSAoRklMRSAqaW4sIEZJTEUgKm91 dCwgRklMRSAqY2ZpbGUpCiAJICB9CiAJfQogCi0gICAgICBjaGFyIGR1bW15OwogICAgICAg aWYgKHNzY2FuZiAoYnVmLCAiIC5zZWN0aW9uIC5nbnUub2ZmbG9hZF92YXJzJWMiLCAmZHVt bXkpID4gMCkKIAl7CiAJICBzdGF0ZSA9IElOX1ZBUlM7CkBAIC02MTYsNiArNjIyLDcgQEAg cHJvY2Vzc19hc20gKEZJTEUgKmluLCBGSUxFICpvdXQsIEZJTEUgKmNmaWxlKQogCiAgIGZw cmludGYgKGNmaWxlLCAiI2luY2x1ZGUgPHN0ZGxpYi5oPlxuIik7CiAgIGZwcmludGYgKGNm aWxlLCAiI2luY2x1ZGUgPHN0ZGJvb2wuaD5cblxuIik7CisgIGZwcmludGYgKGNmaWxlLCAi I2luY2x1ZGUgPHN0ZGlvLmg+XG5cbiIpOwogCiAgIGZwcmludGYgKGNmaWxlLCAic3RhdGlj IGNvbnN0IGludCBnY25fbnVtX3ZhcnMgPSAlZDtcblxuIiwgdmFyX2NvdW50KTsKIApAQCAt NjU2LDYgKzY2MywzNCBAQCBwcm9jZXNzX2FzbSAoRklMRSAqaW4sIEZJTEUgKm91dCwgRklM RSAqY2ZpbGUpCiAgICAgfQogICBmcHJpbnRmIChjZmlsZSwgIlxufTtcblxuIik7CiAKKyAg LyogRW1pdCBhIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIHRvIHNldCB0aGUgSFNBX1hOQUNLIGVu dmlyb25tZW50IHZhcmlhYmxlLgorICAgICBUaGlzIG11c3QgYmUgZG9uZSBiZWZvcmUgdGhl IFJPQ3IgcnVudGltZSBsaWJyYXJ5IGlzIGxvYWRlZC4KKyAgICAgV2UgbmV2ZXIgb3ZlcnJp ZGUgYSB1c2VyIHZhbHVlIChleGl0IGVtcHR5IHN0cmluZyksIGJ1dCB3ZSBkbyBlbWl0IGEK KyAgICAgdXNlZnVsIGRpYWdub3N0aWMgaW4gdGhlIHdyb25nIG1vZGUgKHRoZSBST0NyIG1l c3NhZ2UgaXMgbm90IGdvb2QuICAqLworICBpZiAoVEVTVF9YTkFDS19PRkYgKGVsZl9mbGFn cykgJiYgdW5pZmllZF9zaGFyZWRfbWVtb3J5X2VuYWJsZWQpCisgICAgZmF0YWxfZXJyb3Ig KGlucHV0X2xvY2F0aW9uLAorCQkgImNvbmZsaWN0aW5nIHNldHRpbmdzOyBYTkFDSyBpcyBm b3JjZWQgb2ZmIGJ1dCBVbmlmaWVkICIKKwkJICJTaGFyZWQgTWVtb3J5IGlzIG9uIik7Cisg IGlmICghVEVTVF9YTkFDS19BTlkgKGVsZl9mbGFncykgfHwgdW5pZmllZF9zaGFyZWRfbWVt b3J5X2VuYWJsZWQpCisgICAgZnByaW50ZiAoY2ZpbGUsCisJICAgICAic3RhdGljIF9fYXR0 cmlidXRlX18oKGNvbnN0cnVjdG9yKSlcbiIKKwkgICAgICJ2b2lkIGNvbmZpZ3VyZV94bmFj ayAodm9pZClcbiIKKwkgICAgICJ7XG4iCisJICAgICAiICBjb25zdCBjaGFyICp2YWwgPSBn ZXRlbnYgKFwiSFNBX1hOQUNLXCIpO1xuIgorCSAgICAgIiAgaWYgKCF2YWwgfHwgdmFsWzBd ID09ICdcXDAnKVxuIgorCSAgICAgIiAgICBzZXRlbnYgKFwiSFNBX1hOQUNLXCIsIFwiJWRc IiwgdHJ1ZSk7XG4iCisJICAgICAiICBlbHNlIGlmICglcylcbiIKKwkgICAgICIgICAge1xu IgorCSAgICAgIiAgICAgIGZwcmludGYgKHN0ZGVyciwgXCJlcnJvcjogSFNBX1hOQUNLPSUl cyBpcyBpbmNvbXBhdGlibGU7ICIKKwkJCSAgICAicGxlYXNlIHVuc2V0XFxuXCIsIHZhbCk7 XG4iCisJICAgICAiICAgICAgZXhpdCAoMSk7XG4iCisJICAgICAiICAgIH1cbiIKKwkgICAg ICJ9XG5cbiIsCisJICAgICB1bmlmaWVkX3NoYXJlZF9tZW1vcnlfZW5hYmxlZCB8fCBURVNU X1hOQUNLX09OIChlbGZfZmxhZ3MpLAorCSAgICAgKHVuaWZpZWRfc2hhcmVkX21lbW9yeV9l bmFibGVkIHx8IFRFU1RfWE5BQ0tfT04gKGVsZl9mbGFncykKKwkgICAgICA/ICJ2YWxbMF0g IT0gJzEnIHx8IHZhbFsxXSAhPSAnXFwwJyIKKwkgICAgICA6ICJ2YWxbMF0gPT0gJzEnICYm IHZhbFsxXSA9PSAnXFwwJyIpKTsKKwogICBvYnN0YWNrX2ZyZWUgKCZmbnNfb3MsIE5VTEwp OwogICBmb3IgKGkgPSAwOyBpIDwgZGltc19jb3VudDsgaSsrKQogICAgIGZyZWUgKGRpbXNb aV0ubmFtZSk7CmRpZmYgLS1naXQgYS9nY2Mvb21wLWxvdy5jYyBiL2djYy9vbXAtbG93LmNj CmluZGV4IGRjNTMzNzNjYWM3Li4wNGIzMTVkNDdiNiAxMDA2NDQKLS0tIGEvZ2NjL29tcC1s b3cuY2MKKysrIGIvZ2NjL29tcC1sb3cuY2MKQEAgLTI0MTMsNiArMjQxMywxMCBAQCBjcmVh dGVfb21wX2NoaWxkX2Z1bmN0aW9uIChvbXBfY29udGV4dCAqY3R4LCBib29sIHRhc2tfY29w eSkKIAlERUNMX0FUVFJJQlVURVMgKGRlY2wpCiAJICA9IHRyZWVfY29ucyAoZ2V0X2lkZW50 aWZpZXIgKHRhcmdldF9hdHRyKSwKIAkJICAgICAgIE5VTExfVFJFRSwgREVDTF9BVFRSSUJV VEVTIChkZWNsKSk7CisgICAgICBpZiAoZmxhZ19vZmZsb2FkX21lbW9yeSA9PSBPRkZMT0FE X01FTU9SWV9VTklGSUVEKQorCURFQ0xfQVRUUklCVVRFUyAoZGVjbCkKKwkgID0gdHJlZV9j b25zIChnZXRfaWRlbnRpZmllciAoIm9tcCB1bmlmaWVkIG1lbW9yeSIpLAorCQkgICAgICAg TlVMTF9UUkVFLCBERUNMX0FUVFJJQlVURVMgKGRlY2wpKTsKICAgICB9CiAKICAgdCA9IGJ1 aWxkX2RlY2wgKERFQ0xfU09VUkNFX0xPQ0FUSU9OIChkZWNsKSwKLS0gCjIuMjUuMQoK --------------Emcr0LvTgv5gaTKZnMqBjARt Content-Type: text/plain; charset="UTF-8"; name="0004-amdgcn-libgomp-plugin-USM-implementation.patch" Content-Disposition: attachment; filename="0004-amdgcn-libgomp-plugin-USM-implementation.patch" Content-Transfer-Encoding: base64 RnJvbSAxMmQxNGE5YTI1NWMxY2MxMGU0NTA2OTM1MzI3YWFiZDk3NjY5NjdkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgU3R1YmJzIDxhbXNAY29kZXNvdXJjZXJ5 LmNvbT4KRGF0ZTogTW9uLCAyMCBKdW4gMjAyMiAxNTo1MToxNSArMDEwMApTdWJqZWN0OiBb UEFUQ0ggNC80XSBhbWRnY246IGxpYmdvbXAgcGx1Z2luIFVTTSBpbXBsZW1lbnRhdGlvbgoK SW1wbGVtZW50IHRoZSBVbmlmaWVkIFNoYXJlZCBNZW1vcnkgQVBJIGNhbGxzIGluIHRoZSBH Q04gcGx1Z2luLgoKVGhlIGFsbG9jYXRlIGFuZCBmcmVlIGFyZSBwcmV0dHkgc3RyYWlnaHQt Zm9yd2FyZCBiZWNhdXNlIGFsbCAidGFyZ2V0IiBtZW1vcnkKYWxsb2NhdGlvbnMgYXJlIGNv bXBhdGlibGUgd2l0aCBVU00sIG9uIHRoZSByaWdodCBoYXJkd2FyZS4gIEhvd2V2ZXIsIHRo ZXJlJ3MKbm8ga25vd24gd2F5IHRvIGNoZWNrIHdoYXQgbWVtb3J5IHJlZ2lvbiB3YXMgdXNl ZCwgYWZ0ZXIgdGhlIGZhY3QsIHNvIHdlIHVzZSBhCnNwbGF5IHRyZWUgdG8gcmVjb3JkIGFs bG9jYXRpb25zIHNvIHdlIGNhbiBhbnN3ZXIgImlzX3VzbV9wdHIiIGxhdGVyLgoKbGliZ29t cC9DaGFuZ2VMb2c6CgoJKiBwbHVnaW4vcGx1Z2luLWdjbi5jIChzdHJ1Y3QgdXNtX3NwbGF5 X3RyZWVfa2V5X3MpOiBOZXcuCgkodXNtX3NwbGF5X2NvbXBhcmUpOiBOZXcuCgkoc3BsYXlf dHJlZV9wcmVmaXgpOiBOZXcuCgkoR09NUF9PRkZMT0FEX3VzbV9hbGxvYyk6IE5ldy4KCShH T01QX09GRkxPQURfdXNtX2ZyZWUpOiBOZXcuCgkoR09NUF9PRkZMT0FEX2lzX3VzbV9wdHIp OiBOZXcuCgkoR09NUF9PRkZMT0FEX3N1cHBvcnRlZF9mZWF0dXJlcyk6IE1vdmUgaW50byB0 aGUgT3Blbk1QIEFQSSBmb2xkLgoJQWRkIEdPTVBfUkVRVUlSRVNfVU5JRklFRF9BRERSRVNT IGFuZAoJR09NUF9SRVFVSVJFU19VTklGSUVEX1NIQVJFRF9NRU1PUlkuCgkoZ29tcF9mYXRh bCk6IE5ldy4KCShzcGxheV90cmVlX2MpOiBOZXcuCgkqIHRlc3RzdWl0ZS9saWIvbGliZ29t cC5leHAgKGNoZWNrX2VmZmVjdGl2ZV90YXJnZXRfb21wX3VzbSk6IE5ldy4KCSogdGVzdHN1 aXRlL2xpYmdvbXAuYysrL3VzbS0xLkM6IFVzZSBkZy1yZXF1aXJlLWVmZmVjdGl2ZS10YXJn ZXQuCgkqIHRlc3RzdWl0ZS9saWJnb21wLmMtYysrLWNvbW1vbi9yZXF1aXJlcy0xLmM6IExp a2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0xLmM6IExpa2V3aXNlLgoJKiB0 ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0yLmM6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGli Z29tcC5jL3VzbS0zLmM6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS00 LmM6IExpa2V3aXNlLgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS01LmM6IExpa2V3aXNl LgoJKiB0ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS02LmM6IExpa2V3aXNlLgotLS0KIGxpYmdv bXAvQ2hhbmdlTG9nLm9tcCAgICAgICAgICAgICAgICAgICAgICAgICB8ICAyMyArKysrCiBs aWJnb21wL3BsdWdpbi9wbHVnaW4tZ2NuLmMgICAgICAgICAgICAgICAgICAgfCAxMDQgKysr KysrKysrKysrKysrKy0tCiBsaWJnb21wL3Rlc3RzdWl0ZS9saWIvbGliZ29tcC5leHAgICAg ICAgICAgICAgfCAgMjIgKysrKwogbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jKysvdXNt LTEuQyAgICAgICAgIHwgICAyICstCiAuLi4vbGliZ29tcC5jLWMrKy1jb21tb24vcmVxdWly ZXMtMS5jICAgICAgICAgfCAgIDEgKwogbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3Vz bS0xLmMgICAgICAgICAgIHwgICAxICsKIGxpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91 c20tMi5jICAgICAgICAgICB8ICAgMSArCiBsaWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMv dXNtLTMuYyAgICAgICAgICAgfCAgIDEgKwogbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5j L3VzbS00LmMgICAgICAgICAgIHwgICAxICsKIGxpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAu Yy91c20tNS5jICAgICAgICAgICB8ICAgMiArLQogbGliZ29tcC90ZXN0c3VpdGUvbGliZ29t cC5jL3VzbS02LmMgICAgICAgICAgIHwgICAyICstCiAxMSBmaWxlcyBjaGFuZ2VkLCAxNTAg aW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGliZ29tcC9D aGFuZ2VMb2cub21wIGIvbGliZ29tcC9DaGFuZ2VMb2cub21wCmluZGV4IDBkYmMxMzM4MWI2 Li42ZDNjNDc3MmU4NiAxMDA2NDQKLS0tIGEvbGliZ29tcC9DaGFuZ2VMb2cub21wCisrKyBi L2xpYmdvbXAvQ2hhbmdlTG9nLm9tcApAQCAtMSwzICsxLDI2IEBACisyMDIyLTA2LTIwICBB bmRyZXcgU3R1YmJzICA8YW1zQGNvZGVzb3VyY2VyeS5jb20+CisKKwkqIHBsdWdpbi9wbHVn aW4tZ2NuLmMgKHN0cnVjdCB1c21fc3BsYXlfdHJlZV9rZXlfcyk6IE5ldy4KKwkodXNtX3Nw bGF5X2NvbXBhcmUpOiBOZXcuCisJKHNwbGF5X3RyZWVfcHJlZml4KTogTmV3LgorCShHT01Q X09GRkxPQURfdXNtX2FsbG9jKTogTmV3LgorCShHT01QX09GRkxPQURfdXNtX2ZyZWUpOiBO ZXcuCisJKEdPTVBfT0ZGTE9BRF9pc191c21fcHRyKTogTmV3LgorCShHT01QX09GRkxPQURf c3VwcG9ydGVkX2ZlYXR1cmVzKTogTW92ZSBpbnRvIHRoZSBPcGVuTVAgQVBJIGZvbGQuCisJ QWRkIEdPTVBfUkVRVUlSRVNfVU5JRklFRF9BRERSRVNTIGFuZAorCUdPTVBfUkVRVUlSRVNf VU5JRklFRF9TSEFSRURfTUVNT1JZLgorCShnb21wX2ZhdGFsKTogTmV3LgorCShzcGxheV90 cmVlX2MpOiBOZXcuCisJKiB0ZXN0c3VpdGUvbGliL2xpYmdvbXAuZXhwIChjaGVja19lZmZl Y3RpdmVfdGFyZ2V0X29tcF91c20pOiBOZXcuCisJKiB0ZXN0c3VpdGUvbGliZ29tcC5jKysv dXNtLTEuQzogVXNlIGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldC4KKwkqIHRlc3RzdWl0 ZS9saWJnb21wLmMtYysrLWNvbW1vbi9yZXF1aXJlcy0xLmM6IExpa2V3aXNlLgorCSogdGVz dHN1aXRlL2xpYmdvbXAuYy91c20tMS5jOiBMaWtld2lzZS4KKwkqIHRlc3RzdWl0ZS9saWJn b21wLmMvdXNtLTIuYzogTGlrZXdpc2UuCisJKiB0ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0z LmM6IExpa2V3aXNlLgorCSogdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tNC5jOiBMaWtld2lz ZS4KKwkqIHRlc3RzdWl0ZS9saWJnb21wLmMvdXNtLTUuYzogTGlrZXdpc2UuCisJKiB0ZXN0 c3VpdGUvbGliZ29tcC5jL3VzbS02LmM6IExpa2V3aXNlLgorCiAyMDIyLTA1LTMwICBLd29r IENoZXVuZyBZZXVuZyAgPGtjeUBjb2Rlc291cmNlcnkuY29tPgogCiAJKiB0ZXN0c3VpdGUv bGliZ29tcC5vYWNjLWMtYysrLWNvbW1vbi9hY2NfcHJvZi1pbml0LTEuYwpkaWZmIC0tZ2l0 IGEvbGliZ29tcC9wbHVnaW4vcGx1Z2luLWdjbi5jIGIvbGliZ29tcC9wbHVnaW4vcGx1Z2lu LWdjbi5jCmluZGV4IGQyNDYzNTEzOTdlLi5hYzQwZDZlN2UyZSAxMDA2NDQKLS0tIGEvbGli Z29tcC9wbHVnaW4vcGx1Z2luLWdjbi5jCisrKyBiL2xpYmdvbXAvcGx1Z2luL3BsdWdpbi1n Y24uYwpAQCAtMzgyMCw2ICszODIwLDg5IEBAIEdPTVBfT0ZGTE9BRF9ldmFsdWF0ZV9kZXZp Y2UgKGludCBkZXZpY2VfbnVtLCBjb25zdCBjaGFyICpraW5kLAogICByZXR1cm4gIWlzYSB8 fCBpc2FfY29kZSAoaXNhKSA9PSBhZ2VudC0+ZGV2aWNlX2lzYTsKIH0KIAorLyogVXNlIGEg c3BsYXkgdHJlZSB0byB0cmFjayBVU00gYWxsb2NhdGlvbnMuICAqLworCit0eXBlZGVmIHN0 cnVjdCB1c21fc3BsYXlfdHJlZV9ub2RlX3MgKnVzbV9zcGxheV90cmVlX25vZGU7Cit0eXBl ZGVmIHN0cnVjdCB1c21fc3BsYXlfdHJlZV9zICp1c21fc3BsYXlfdHJlZTsKK3R5cGVkZWYg c3RydWN0IHVzbV9zcGxheV90cmVlX2tleV9zICp1c21fc3BsYXlfdHJlZV9rZXk7CisKK3N0 cnVjdCB1c21fc3BsYXlfdHJlZV9rZXlfcyB7CisgIHZvaWQgKmFkZHI7CisgIHNpemVfdCBz aXplOworfTsKKworc3RhdGljIGlubGluZSBpbnQKK3VzbV9zcGxheV9jb21wYXJlICh1c21f c3BsYXlfdHJlZV9rZXkgeCwgdXNtX3NwbGF5X3RyZWVfa2V5IHkpCit7CisgIGlmICgoeC0+ YWRkciA8PSB5LT5hZGRyICYmIHgtPmFkZHIgKyB4LT5zaXplID4geS0+YWRkcikKKyAgICAg IHx8ICh5LT5hZGRyIDw9IHgtPmFkZHIgJiYgeS0+YWRkciArIHktPnNpemUgPiB4LT5hZGRy KSkKKyAgICByZXR1cm4gMDsKKworICByZXR1cm4gKHgtPmFkZHIgPiB5LT5hZGRyID8gMSA6 IC0xKTsKK30KKworI2RlZmluZSBzcGxheV90cmVlX3ByZWZpeCB1c20KKyNpbmNsdWRlICIu Li9zcGxheS10cmVlLmgiCisKK3N0YXRpYyBzdHJ1Y3QgdXNtX3NwbGF5X3RyZWVfcyB1c21f bWFwID0geyBOVUxMIH07CisKKy8qIEFsbG9jYXRlIG1lbW9yeSBzdWl0YWJsZSBmb3IgVW5p ZmllZCBTaGFyZWQgTWVtb3J5LgorCisgICBJbiBmYWN0LCBBTUQgbWVtb3J5IG5lZWQgb25s eSBiZSAiY29hcnNlIGdyYWluZWQiLCB3aGljaCB0YXJnZXQKKyAgIGFsbG9jYXRpb25zIGFs cmVhZHkgYXJlLiAgV2UgZG8gbmVlZCB0byB0cmFjayBhbGxvY2F0aW9ucyBzbyB0aGF0Cisg ICBHT01QX09GRkxPQURfaXNfdXNtX3B0ciBjYW4gbG9vayB0aGVtIHVwLiAgKi8KKwordm9p ZCAqCitHT01QX09GRkxPQURfdXNtX2FsbG9jIChpbnQgZGV2aWNlLCBzaXplX3Qgc2l6ZSkK K3sKKyAgdm9pZCAqcHRyID0gR09NUF9PRkZMT0FEX2FsbG9jIChkZXZpY2UsIHNpemUpOwor CisgIHVzbV9zcGxheV90cmVlX25vZGUgbm9kZSA9IG1hbGxvYyAoc2l6ZW9mIChzdHJ1Y3Qg dXNtX3NwbGF5X3RyZWVfbm9kZV9zKSk7CisgIG5vZGUtPmtleS5hZGRyID0gcHRyOworICBu b2RlLT5rZXkuc2l6ZSA9IHNpemU7CisgIG5vZGUtPmxlZnQgPSBOVUxMOworICBub2RlLT5y aWdodCA9IE5VTEw7CisgIHVzbV9zcGxheV90cmVlX2luc2VydCAoJnVzbV9tYXAsIG5vZGUp OworCisgIHJldHVybiBwdHI7Cit9CisKKy8qIEZyZWUgbWVtb3J5IGFsbG9jYXRlZCB2aWEg R09NUF9PRkZMT0FEX3VzbV9hbGxvYy4gICovCisKK2Jvb2wKK0dPTVBfT0ZGTE9BRF91c21f ZnJlZSAoaW50IGRldmljZSwgdm9pZCAqcHRyKQoreworICBzdHJ1Y3QgdXNtX3NwbGF5X3Ry ZWVfa2V5X3Mga2V5ID0geyBwdHIsIDEgfTsKKyAgdXNtX3NwbGF5X3RyZWVfa2V5IG5vZGUg PSB1c21fc3BsYXlfdHJlZV9sb29rdXAgKCZ1c21fbWFwLCAma2V5KTsKKyAgaWYgKG5vZGUp CisgICAgeworICAgICAgdXNtX3NwbGF5X3RyZWVfcmVtb3ZlICgmdXNtX21hcCwgJmtleSk7 CisgICAgICBmcmVlIChub2RlKTsKKyAgICB9CisKKyAgcmV0dXJuIEdPTVBfT0ZGTE9BRF9m cmVlIChkZXZpY2UsIHB0cik7Cit9CisKKy8qIFRydWUgaWYgdGhlIG1lbW9yeSB3YXMgYWxs b2NhdGVkIHZpYSBHT01QX09GRkxPQURfdXNtX2FsbG9jLiAgKi8KKworYm9vbAorR09NUF9P RkZMT0FEX2lzX3VzbV9wdHIgKHZvaWQgKnB0cikKK3sKKyAgc3RydWN0IHVzbV9zcGxheV90 cmVlX2tleV9zIGtleSA9IHsgcHRyLCAxIH07CisgIHJldHVybiB1c21fc3BsYXlfdHJlZV9s b29rdXAgKCZ1c21fbWFwLCAma2V5KTsKK30KKworLyogSW5kaWNhdGUgd2hpY2ggR09NUF9S RVFVSVJFU18qIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQuICAqLworCitib29sCitHT01QX09G RkxPQURfc3VwcG9ydGVkX2ZlYXR1cmVzICh1bnNpZ25lZCBpbnQgKm1hc2spCit7CisgICpt YXNrICY9IH4oR09NUF9SRVFVSVJFU19VTklGSUVEX0FERFJFU1MKKyAgICAgICAgICAgICB8 IEdPTVBfUkVRVUlSRVNfVU5JRklFRF9TSEFSRURfTUVNT1JZKTsKKworICByZXR1cm4gKCpt YXNrID09IDApOworfQorCiAvKiB9fX0gKi8KIC8qIHt7eyBPcGVuQUNDIFBsdWdpbiBBUEkg ICovCiAKQEAgLTQxMTAsMTIgKzQxOTMsMTkgQEAgR09NUF9PRkZMT0FEX29wZW5hY2NfZGVz dHJveV90aHJlYWRfZGF0YSAodm9pZCAqZGF0YSkKICAgZnJlZSAoZGF0YSk7CiB9CiAKLS8q IEluZGljYXRlIHdoaWNoIEdPTVBfUkVRVUlSRVNfKiBmZWF0dXJlcyBhcmUgc3VwcG9ydGVk LCBjdXJyZW50bHkgbm9uZS4gICovCisvKiB9fX0gKi8KKy8qIHt7eyBVU00gc3BsYXkgdHJl ZSAqLwogCi1ib29sCi1HT01QX09GRkxPQURfc3VwcG9ydGVkX2ZlYXR1cmVzICh1bnNpZ25l ZCBpbnQgKm1hc2spCi17Ci0gIHJldHVybiAoKm1hc2sgPT0gMCk7Ci19CisvKiBJbmNsdWRl IHRoaXMgbm93IHNvIHRoYXQgc3BsYXktdHJlZS5jIGRvZXNuJ3QgaW5jbHVkZSBpdCBsYXRl ci4gIFRoaXMKKyAgIGF2b2lkcyBhIGNvbmZsaWN0IHdpdGggc3BsYXlfdHJlZV9wcmVmaXgu ICAqLworI2luY2x1ZGUgImxpYmdvbXAuaCIKIAotLyogfX19ICovCisvKiBUaGlzIGFsbG93 cyBzcGxheS10cmVlLmMgdG8gY2FsbCBnb21wX2ZhdGFsIGluIHRoaXMgY29udGV4dC4gIFRo ZSBzcGxheQorICAgdHJlZSBjb2RlIGRvZXNuJ3QgdXNlIHRoZSB2YXJpYWRpYyBhcmd1bWVu dHMgcmlnaHQgbm93LiAgKi8KKyNkZWZpbmUgZ29tcF9mYXRhbChNU0csIC4uLikgR09NUF9Q TFVHSU5fZmF0YWwgKE1TRykKKworLyogSW5jbHVkZSB0aGUgc3BsYXkgdHJlZSBjb2RlIGlu bGluZSwgd2l0aCB0aGUgcHJlZml4ZXMgYWRkZWQuICAqLworI2RlZmluZSBzcGxheV90cmVl X3ByZWZpeCB1c20KKyNkZWZpbmUgc3BsYXlfdHJlZV9jCisjaW5jbHVkZSAiLi4vc3BsYXkt dHJlZS5oIgorLyogfX19ICAqLwpkaWZmIC0tZ2l0IGEvbGliZ29tcC90ZXN0c3VpdGUvbGli L2xpYmdvbXAuZXhwIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliL2xpYmdvbXAuZXhwCmluZGV4 IDBhYWE1OGYxOWM1Li45YmMzZjhhY2QxYyAxMDA2NDQKLS0tIGEvbGliZ29tcC90ZXN0c3Vp dGUvbGliL2xpYmdvbXAuZXhwCisrKyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYi9saWJnb21w LmV4cApAQCAtNTQ4LDMgKzU0OCwyNSBAQCBpbnQgbWFpbigpIHsKICAgICByZXR1cm4gMDsK IH0gfSAiLWxjdWRhIC1sY3VkYXJ0IiBdCiB9CisKKyMgcmV0dXJuIDEgaWYgT3Blbk1QIFVu aWZpZWQgU2hhcmUgTWVtb3J5IGlzIHN1cHBvcnRlZAorCitwcm9jIGNoZWNrX2VmZmVjdGl2 ZV90YXJnZXRfb21wX3VzbSB7IH0geworICAgIGlmIHsgW2xpYmdvbXBfY2hlY2tfZWZmZWN0 aXZlX3RhcmdldF9vZmZsb2FkX3RhcmdldCAibnZwdHgiXSB9IHsKKwlyZXR1cm4gMQorICAg IH0KKworICAgIGlmIHsgW2xpYmdvbXBfY2hlY2tfZWZmZWN0aXZlX3RhcmdldF9vZmZsb2Fk X3RhcmdldCAiYW1kZ2NuIl0gfSB7CisJcmV0dXJuIFtjaGVja19ub19jb21waWxlcl9tZXNz YWdlcyBvbXBfdXNtIGV4ZWN1dGFibGUgeworICAgICAgICAgICAjcHJhZ21hIG9tcCByZXF1 aXJlcyB1bmlmaWVkX3NoYXJlZF9tZW1vcnkKKwkgICBpbnQgbWFpbiAoKSB7CisJICAgICAj cHJhZ21hIG9tcCB0YXJnZXQKKwkgICAgICAgOworCSAgICAgcmV0dXJuIDA7CisJICAgfQor CX1dCisgICAgfQorCisgICAgcmV0dXJuIDAKK30KKwpkaWZmIC0tZ2l0IGEvbGliZ29tcC90 ZXN0c3VpdGUvbGliZ29tcC5jKysvdXNtLTEuQyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdv bXAuYysrL3VzbS0xLkMKaW5kZXggZmVhMjVlNWYxMGIuLjZlODhmOTBkNjFmIDEwMDY0NAot LS0gYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMrKy91c20tMS5DCisrKyBiL2xpYmdv bXAvdGVzdHN1aXRlL2xpYmdvbXAuYysrL3VzbS0xLkMKQEAgLTEsNSArMSw1IEBACiAvKiB7 IGRnLWRvIHJ1biB9ICovCi0vKiB7IGRnLXNraXAtaWYgIk9ubHkgdmFsaWQgZm9yIG52cHR4 IiB7ICEgb2ZmbG9hZF90YXJnZXRfbnZwdHggfSB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZm ZWN0aXZlLXRhcmdldCBvbXBfdXNtIH0gKi8KICNpbmNsdWRlIDxzdGRpbnQuaD4KIAogI3By YWdtYSBvbXAgcmVxdWlyZXMgdW5pZmllZF9zaGFyZWRfbWVtb3J5CmRpZmYgLS1naXQgYS9s aWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMtYysrLWNvbW1vbi9yZXF1aXJlcy0xLmMgYi9s aWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMtYysrLWNvbW1vbi9yZXF1aXJlcy0xLmMKaW5k ZXggMDI1ODVhZGZiNmYuLjBkZDQwYmMwZjU5IDEwMDY0NAotLS0gYS9saWJnb21wL3Rlc3Rz dWl0ZS9saWJnb21wLmMtYysrLWNvbW1vbi9yZXF1aXJlcy0xLmMKKysrIGIvbGliZ29tcC90 ZXN0c3VpdGUvbGliZ29tcC5jLWMrKy1jb21tb24vcmVxdWlyZXMtMS5jCkBAIC0xLDQgKzEs NSBAQAogLyogeyBkZy1hZGRpdGlvbmFsLXNvdXJjZXMgcmVxdWlyZXMtMS1hdXguYyB9ICov CisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBvbXBfdXNtIH0gKi8KIAogI3By YWdtYSBvbXAgcmVxdWlyZXMgdW5pZmllZF9zaGFyZWRfbWVtb3J5CiAKZGlmZiAtLWdpdCBh L2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tMS5jIGIvbGliZ29tcC90ZXN0c3Vp dGUvbGliZ29tcC5jL3VzbS0xLmMKaW5kZXggMWIzNWYxOWM0NWIuLmU3M2YxODE2ZjlhIDEw MDY0NAotLS0gYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMvdXNtLTEuYworKysgYi9s aWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMvdXNtLTEuYwpAQCAtMSw0ICsxLDUgQEAKIC8q IHsgZGctZG8gcnVuIH0gKi8KKy8qIHsgZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG9t cF91c20gfSAqLwogCiAjaW5jbHVkZSA8b21wLmg+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CmRp ZmYgLS1naXQgYS9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMvdXNtLTIuYyBiL2xpYmdv bXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tMi5jCmluZGV4IDY4OWNlZTdlNDU2Li4zMWYy YmFlNzE0NSAxMDA2NDQKLS0tIGEvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0y LmMKKysrIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0yLmMKQEAgLTEsNCAr MSw1IEBACiAvKiB7IGRnLWRvIHJ1biB9ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZl LXRhcmdldCBvbXBfdXNtIH0gKi8KIAogI2luY2x1ZGUgPG9tcC5oPgogI2luY2x1ZGUgPHN0 ZGludC5oPgpkaWZmIC0tZ2l0IGEvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS0z LmMgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21wLmMvdXNtLTMuYwppbmRleCAyY2E2NmFm ZTkzZi4uMmM3OGEwZDhjZWQgMTAwNjQ0Ci0tLSBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdv bXAuYy91c20tMy5jCisrKyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tMy5j CkBAIC0xLDQgKzEsNSBAQAogLyogeyBkZy1kbyBydW4gfSAqLworLyogeyBkZy1yZXF1aXJl LWVmZmVjdGl2ZS10YXJnZXQgb21wX3VzbSB9ICovCiAKICNpbmNsdWRlIDxvbXAuaD4KICNp bmNsdWRlIDxzdGRpbnQuaD4KZGlmZiAtLWdpdCBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdv bXAuYy91c20tNC5jIGIvbGliZ29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS00LmMKaW5k ZXggNzUzOTA4Yzg0NDAuLjFhYzU0OThmNzNmIDEwMDY0NAotLS0gYS9saWJnb21wL3Rlc3Rz dWl0ZS9saWJnb21wLmMvdXNtLTQuYworKysgYi9saWJnb21wL3Rlc3RzdWl0ZS9saWJnb21w LmMvdXNtLTQuYwpAQCAtMSw0ICsxLDUgQEAKIC8qIHsgZGctZG8gcnVuIH0gKi8KKy8qIHsg ZGctcmVxdWlyZS1lZmZlY3RpdmUtdGFyZ2V0IG9tcF91c20gfSAqLwogCiAjaW5jbHVkZSA8 b21wLmg+CiAjaW5jbHVkZSA8c3RkaW50Lmg+CmRpZmYgLS1naXQgYS9saWJnb21wL3Rlc3Rz dWl0ZS9saWJnb21wLmMvdXNtLTUuYyBiL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91 c20tNS5jCmluZGV4IDRkOGIzY2Y3MWIxLi41NjMzOTdmOTQxYSAxMDA2NDQKLS0tIGEvbGli Z29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS01LmMKKysrIGIvbGliZ29tcC90ZXN0c3Vp dGUvbGliZ29tcC5jL3VzbS01LmMKQEAgLTEsNSArMSw1IEBACiAvKiB7IGRnLWRvIHJ1biB9 ICovCi0vKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBvZmZsb2FkX2RldmljZSB9 ICovCisvKiB7IGRnLXJlcXVpcmUtZWZmZWN0aXZlLXRhcmdldCBvbXBfdXNtIH0gKi8KIAog I2luY2x1ZGUgPG9tcC5oPgogI2luY2x1ZGUgPHN0ZGludC5oPgpkaWZmIC0tZ2l0IGEvbGli Z29tcC90ZXN0c3VpdGUvbGliZ29tcC5jL3VzbS02LmMgYi9saWJnb21wL3Rlc3RzdWl0ZS9s aWJnb21wLmMvdXNtLTYuYwppbmRleCBjMjA3MTQwMDkyYS4uYmQxNGY4MTk3YjMgMTAwNjQ0 Ci0tLSBhL2xpYmdvbXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tNi5jCisrKyBiL2xpYmdv bXAvdGVzdHN1aXRlL2xpYmdvbXAuYy91c20tNi5jCkBAIC0xLDUgKzEsNSBAQAogLyogeyBk Zy1kbyBydW4gfSAqLwotLyogeyBkZy1za2lwLWlmICJPbmx5IHZhbGlkIGZvciBudnB0eCIg eyAhIG9mZmxvYWRfdGFyZ2V0X252cHR4IH0gfSAqLworLyogeyBkZy1yZXF1aXJlLWVmZmVj dGl2ZS10YXJnZXQgb21wX3VzbSB9ICovCiAKICNpbmNsdWRlIDxzdGRpbnQuaD4KICNpbmNs dWRlIDxzdGRsaWIuaD4KLS0gCjIuMjUuMQoK --------------Emcr0LvTgv5gaTKZnMqBjARt--