From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from out30-42.freemail.mail.aliyun.com (out30-42.freemail.mail.aliyun.com [115.124.30.42]) by sourceware.org (Postfix) with ESMTPS id 5E67F3858D35 for ; Thu, 12 Jan 2023 05:17:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5E67F3858D35 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.alibaba.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.alibaba.com X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R541e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=ay29a033018045168;MF=jinma@linux.alibaba.com;NM=1;PH=DW;RN=1;SR=0;TI=W4_0.1.41_DEFAULT_211267C8_1673500575841_o7001c346; Received: from WS-web (jinma@linux.alibaba.com[W4_0.1.41_DEFAULT_211267C8_1673500575841_o7001c346]) at Thu, 12 Jan 2023 13:17:31 +0800 Date: Thu, 12 Jan 2023 13:17:31 +0800 From: "jinma" To: "gcc-patches" Reply-To: "jinma" Message-ID: <6647e4df-dcc4-4c9c-9b3e-6da3da71e514.jinma@linux.alibaba.com> Subject: =?UTF-8?B?UmU6IFtQQVRDSCB2Ml0gW1JJU0NWXSBBZGQgJ1pmYScgZXh0ZW5zaW9uIGFjY29yZGluZyB0?= =?UTF-8?B?byByaXNjdi1pc2EtbWFudWFs?= X-Mailer: [Alimail-Mailagent][W4_0.1.41][DEFAULT][Chrome] MIME-Version: 1.0 References: <77a18666-f71d-48e2-a502-a879b3eb6ccf.jinma@linux.alibaba.com> x-aliyun-mail-creator: W4_0.1.41_DEFAULT_M3LTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwOC4wLjAuMCBTYWZhcmkvNTM3LjM2vN In-Reply-To: <77a18666-f71d-48e2-a502-a879b3eb6ccf.jinma@linux.alibaba.com> Content-Type: multipart/alternative; boundary="----=ALIBOUNDARY_48946_7f84bfa65700_63bf97eb_10684d" X-Spam-Status: No, score=-19.6 required=5.0 tests=BAYES_00,ENV_AND_HDR_SPF_MATCH,FREEMAIL_FORGED_REPLYTO,GIT_PATCH_0,HTML_MESSAGE,KAM_DMARC_STATUS,KAM_SHORT,RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS,TXREP,UNPARSEABLE_RELAY,USER_IN_DEF_SPF_WL autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: ------=ALIBOUNDARY_48946_7f84bfa65700_63bf97eb_10684d Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbSA0ZWUxMWY5OWQyM2QzOWQ1NWJkYWRkODY2OTlhYzM1YTYwYzc5NzA1 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW4gTWEgPGppbm1h QGxpbnV4LmFsaWJhYmEuY29tPgpEYXRlOiBUaHUsIDEyIEphbiAyMDIzIDEy OjUxOjM3ICswODAwClN1YmplY3Q6IFtQQVRDSCB2Ml0gW1JJU0NWXSBBZGQg J1pmYScgZXh0ZW5zaW9uIGFjY29yZGluZyB0byByaXNjdi1pc2EtbWFudWFs ClRoaXMgcGF0Y2ggYWRkcyB0aGUgJ1pmYScgZXh0ZW5zaW9uIGZvciByaXNj diwgd2hpY2ggaXMgYmFzZWQgb246CiggaHR0cHM6Ly9naXRodWIuY29tL3Jp c2N2L3Jpc2N2LWlzYS1tYW51YWwvY29tbWl0L2Q3NGQ5OWUyMmQ1ZjY4ODMy ZjcwOTgyZDg2NzYxNGUyMTQ5YTNiZDcgKQpsYXRlc3QgJ1pmYScgY2hhbmdl IG9uIHRoZSBtYXN0ZXIgYnJhbmNoIG9mIHRoZSBSSVNDLVYgSVNBIE1hbnVh bCBhcwpvZiB0aGlzIHdyaXRpbmcuClRoZSBXaWtpIFBhZ2UgKGRldGFpbHMp OgooIGh0dHBzOi8vZ2l0aHViLmNvbS9hNGxnL2JpbnV0aWxzLWdkYi93aWtp L3Jpc2N2X3pmYSApClRoZSBiaW51dGlscy1nZGIgZm9yICdaZmEnIGV4dGVu c2lvbjoKKCBodHRwczovL3NvdXJjZXdhcmUub3JnL3BpcGVybWFpbC9iaW51 dGlscy8yMDIyLVNlcHRlbWJlci8xMjI5MzguaHRtbCApCmdjYy9DaGFuZ2VM b2c6CiAqIGNvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9uLmNjOgog KiBjb25maWcvcmlzY3YvY29uc3RyYWludHMubWQgKFpmKToKICogY29uZmln L3Jpc2N2L3ByZWRpY2F0ZXMubWQ6CiAqIGNvbmZpZy9yaXNjdi9yaXNjdi1i dWlsdGlucy5jYyAoUklTQ1ZfRlRZUEVfTkFNRTIpOgogKEFWQUlMKToKIChS SVNDVl9BVFlQRV9TRik6CiAoUklTQ1ZfQVRZUEVfREYpOgogKFJJU0NWX0ZU WVBFX0FUWVBFUzIpOgogKiBjb25maWcvcmlzY3YvcmlzY3YtZnR5cGVzLmRl ZiAoMik6CiAqIGNvbmZpZy9yaXNjdi9yaXNjdi1vcHRzLmggKE1BU0tfWkZB KToKIChUQVJHRVRfWkZBKToKICogY29uZmlnL3Jpc2N2L3Jpc2N2LXByb3Rv cy5oIChyaXNjdl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9yX2ZsaSk6CiAq IGNvbmZpZy9yaXNjdi9yaXNjdi5jYyAocmlzY3ZfZmxvYXRfY29uc3RfcnR4 X2luZGV4X2Zvcl9mbGkpOgogKHJpc2N2X2Nhbm5vdF9mb3JjZV9jb25zdF9t ZW0pOgogKHJpc2N2X2NvbnN0X2luc25zKToKIChyaXNjdl9sZWdpdGltaXpl X2NvbnN0X21vdmUpOgogKHJpc2N2X3NwbGl0XzY0Yml0X21vdmVfcCk6CiAo cmlzY3Zfb3V0cHV0X21vdmUpOgogKHJpc2N2X21lbW1vZGVsX25lZWRzX3Jl bGVhc2VfZmVuY2UpOgogKHJpc2N2X3ByaW50X29wZXJhbmQpOgogKHJpc2N2 X3NlY29uZGFyeV9tZW1vcnlfbmVlZGVkKToKICogY29uZmlnL3Jpc2N2L3Jp c2N2LmggKEdQX1JFR19SVFhfUCk6CiAqIGNvbmZpZy9yaXNjdi9yaXNjdi5t ZCAocmlzY3ZfZm1pbm08bW9kZT4zKToKIChyaXNjdl9mbWF4bTxtb2RlPjMp OgogKGZpeF90cnVuY2Rmc2kyX3pmYSk6CiAocm91bmQ8QU5ZRjptb2RlPjIp OgogKHJpbnQ8QU5ZRjptb2RlPjIpOgogKGY8cXVpZXRfcGF0dGVybj5fcXVp ZXQ8QU5ZRjptb2RlPjxYOm1vZGU+NF96ZmEpOgogKiBjb25maWcvcmlzY3Yv cmlzY3Yub3B0OgpnY2MvdGVzdHN1aXRlL0NoYW5nZUxvZzoKICogZ2NjLnRh cmdldC9yaXNjdi96ZmEtZmN2dG1vZC5jOiBOZXcgdGVzdC4KICogZ2NjLnRh cmdldC9yaXNjdi96ZmEtZmxlcS1mbHRxLmM6IE5ldyB0ZXN0LgogKiBnY2Mu dGFyZ2V0L3Jpc2N2L3pmYS1mbGktemZoLmM6IE5ldyB0ZXN0LgogKiBnY2Mu dGFyZ2V0L3Jpc2N2L3pmYS1mbGkuYzogTmV3IHRlc3QuCiAqIGdjYy50YXJn ZXQvcmlzY3YvemZhLWZtaW5tLWZtYXhtLmM6IE5ldyB0ZXN0LgogKiBnY2Mu dGFyZ2V0L3Jpc2N2L3pmYS1mbW92aC1mbW92cC5jOiBOZXcgdGVzdC4KICog Z2NjLnRhcmdldC9yaXNjdi96ZmEtZnJvdW5kLmM6IE5ldyB0ZXN0LgotLS0K IGdjYy9jb21tb24vY29uZmlnL3Jpc2N2L3Jpc2N2LWNvbW1vbi5jYyB8IDQg KwogZ2NjL2NvbmZpZy9yaXNjdi9jb25zdHJhaW50cy5tZCB8IDcgKysKIGdj Yy9jb25maWcvcmlzY3YvcHJlZGljYXRlcy5tZCB8IDQgKwogZ2NjL2NvbmZp Zy9yaXNjdi9yaXNjdi1idWlsdGlucy5jYyB8IDExICsrCiBnY2MvY29uZmln L3Jpc2N2L3Jpc2N2LWZ0eXBlcy5kZWYgfCAyICsKIGdjYy9jb25maWcvcmlz Y3YvcmlzY3Ytb3B0cy5oIHwgMyArCiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LXByb3Rvcy5oIHwgMSArCiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjIHwg MTA5ICsrKysrKysrKysrKysrKystCiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LmggfCAxICsKIGdjYy9jb25maWcvcmlzY3YvcmlzY3YubWQgfCAxMTQgKysr KysrKysrKysrKystLS0tCiBnY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm9wdCB8 IDQgKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mY3Z0 bW9kLmMgfCAxMiArKwogLi4uL2djYy50YXJnZXQvcmlzY3YvemZhLWZsZXEt Zmx0cS5jIHwgMjAgKysrCiBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvemZhLWZsaS16ZmguYyB8IDQyICsrKysrKysKIGdjYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi96ZmEtZmxpLmMgfCA4MCArKysrKysrKysrKysK IC4uLi9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbWlubS1mbWF4bS5jIHwgMjUg KysrKwogLi4uL2djYy50YXJnZXQvcmlzY3YvemZhLWZtb3ZoLWZtb3ZwLmMg fCAxMSArKwogZ2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1m cm91bmQuYyB8IDI1ICsrKysKIDE4IGZpbGVzIGNoYW5nZWQsIDQ1MiBpbnNl cnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZjdnRtb2Qu YwogY3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi96ZmEtZmxlcS1mbHRxLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBn Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZsaS16ZmguYwog Y3JlYXRlIG1vZGUgMTAwNjQ0IGdjYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi96ZmEtZmxpLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1 aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZtaW5tLWZtYXhtLmMKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBnY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv emZhLWZtb3ZoLWZtb3ZwLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBnY2MvdGVz dHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZyb3VuZC5jCmRpZmYgLS1n aXQgYS9nY2MvY29tbW9uL2NvbmZpZy9yaXNjdi9yaXNjdi1jb21tb24uY2Mg Yi9nY2MvY29tbW9uL2NvbmZpZy9yaXNjdi9yaXNjdi1jb21tb24uY2MKaW5k ZXggMGE4OWZkYWZmZTIuLmNjY2VjMTI5NzVjIDEwMDY0NAotLS0gYS9nY2Mv Y29tbW9uL2NvbmZpZy9yaXNjdi9yaXNjdi1jb21tb24uY2MKKysrIGIvZ2Nj L2NvbW1vbi9jb25maWcvcmlzY3YvcmlzY3YtY29tbW9uLmNjCkBAIC0yMTcs NiArMjE3LDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCByaXNjdl9leHRfdmVy c2lvbiByaXNjdl9leHRfdmVyc2lvbl90YWJsZVtdID0KIHsiemZoIiwgSVNB X1NQRUNfQ0xBU1NfTk9ORSwgMSwgMH0sCiB7InpmaG1pbiIsIElTQV9TUEVD X0NMQVNTX05PTkUsIDEsIDB9LAorIHsiemZhIiwgSVNBX1NQRUNfQ0xBU1Nf Tk9ORSwgMSwgMH0sCisKIHsiem1tdWwiLCBJU0FfU1BFQ19DTEFTU19OT05F LCAxLCAwfSwKIHsic3ZpbnZhbCIsIElTQV9TUEVDX0NMQVNTX05PTkUsIDEs IDB9LApAQCAtMTI0Miw2ICsxMjQ0LDggQEAgc3RhdGljIGNvbnN0IHJpc2N2 X2V4dF9mbGFnX3RhYmxlX3QgcmlzY3ZfZXh0X2ZsYWdfdGFibGVbXSA9CiB7 InpmaG1pbiIsICZnY2Nfb3B0aW9uczo6eF9yaXNjdl96Zl9zdWJleHQsIE1B U0tfWkZITUlOfSwKIHsiemZoIiwgJmdjY19vcHRpb25zOjp4X3Jpc2N2X3pm X3N1YmV4dCwgTUFTS19aRkh9LAorIHsiemZhIiwgJmdjY19vcHRpb25zOjp4 X3Jpc2N2X3pmX3N1YmV4dCwgTUFTS19aRkF9LAorCiB7InptbXVsIiwgJmdj Y19vcHRpb25zOjp4X3Jpc2N2X3ptX3N1YmV4dCwgTUFTS19aTU1VTH0sCiB7 InN2aW52YWwiLCAmZ2NjX29wdGlvbnM6OnhfcmlzY3Zfc3Zfc3ViZXh0LCBN QVNLX1NWSU5WQUx9LApkaWZmIC0tZ2l0IGEvZ2NjL2NvbmZpZy9yaXNjdi9j b25zdHJhaW50cy5tZCBiL2djYy9jb25maWcvcmlzY3YvY29uc3RyYWludHMu bWQKaW5kZXggNTFjZmZiMmJjYjYuLjJmZDQwN2IxZDljIDEwMDY0NAotLS0g YS9nY2MvY29uZmlnL3Jpc2N2L2NvbnN0cmFpbnRzLm1kCisrKyBiL2djYy9j b25maWcvcmlzY3YvY29uc3RyYWludHMubWQKQEAgLTExMCw2ICsxMTAsMTMg QEAgKGRlZmluZV9jb25zdHJhaW50ICJUIgogKGFuZCAobWF0Y2hfb3BlcmFu ZCAwICJtb3ZlX29wZXJhbmQiKQogKG1hdGNoX3Rlc3QgIkNPTlNUQU5UX1Ag KG9wKSIpKSkKKzs7IFpmYSBjb25zdHJhaW50cy4KKworKGRlZmluZV9jb25z dHJhaW50ICJaZiIKKyAiQSBmbG9hdGluZyBwb2ludCBudW1iZXIgdGhhdCBj YW4gYmUgbG9hZGVkIHVzaW5nIGluc3RydWN0aW9uIGBmbGlgIGluIHpmYS4i CisgKGFuZCAobWF0Y2hfY29kZSAiY29uc3RfZG91YmxlIikKKyAobWF0Y2hf dGVzdCAiKHJpc2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9mb3JfZmxpIChv cCkgIT0gLTEpIikpKQorCiA7OyBWZWN0b3IgY29uc3RyYWludHMuCiAoZGVm aW5lX3JlZ2lzdGVyX2NvbnN0cmFpbnQgInZyIiAiVEFSR0VUX1ZFQ1RPUiA/ IFZfUkVHUyA6IE5PX1JFR1MiCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jp c2N2L3ByZWRpY2F0ZXMubWQgYi9nY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0 ZXMubWQKaW5kZXggNWE1YTQ5YmY3YzAuLjBlOGNmM2IzNzA4IDEwMDY0NAot LS0gYS9nY2MvY29uZmlnL3Jpc2N2L3ByZWRpY2F0ZXMubWQKKysrIGIvZ2Nj L2NvbmZpZy9yaXNjdi9wcmVkaWNhdGVzLm1kCkBAIC0xNDksNiArMTQ5LDEw IEBAIChkZWZpbmVfcHJlZGljYXRlICJtb3ZlX29wZXJhbmQiCiBjYXNlIENP TlNUX1BPTFlfSU5UOgogcmV0dXJuIGtub3duX2VxIChydHhfdG9fcG9seV9p bnQ2NCAob3ApLCBCWVRFU19QRVJfUklTQ1ZfVkVDVE9SKTsKKyBjYXNlIENP TlNUX0RPVUJMRToKKyByZXR1cm4gY29uc3RfMF9vcGVyYW5kIChvcCwgbW9k ZSkKKyB8fCAocmlzY3ZfZmxvYXRfY29uc3RfcnR4X2luZGV4X2Zvcl9mbGkg KG9wKSAhPSAtMSk7CisKIGNhc2UgQ09OU1Q6CiBjYXNlIFNZTUJPTF9SRUY6 CiBjYXNlIExBQkVMX1JFRjoKZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlz Y3YvcmlzY3YtYnVpbHRpbnMuY2MgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2 LWJ1aWx0aW5zLmNjCmluZGV4IDI0YWUyMmM5OWNkLi5hOTliMWU1MGQ5NiAx MDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1idWlsdGlucy5j YworKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWJ1aWx0aW5zLmNjCkBA IC00Miw2ICs0Miw3IEBAIGFsb25nIHdpdGggR0NDOyBzZWUgdGhlIGZpbGUg Q09QWUlORzMuIElmIG5vdCBzZWUKIC8qIE1hY3JvcyB0byBjcmVhdGUgYW4g ZW51bWVyYXRpb24gaWRlbnRpZmllciBmb3IgYSBmdW5jdGlvbiBwcm90b3R5 cGUuICovCiAjZGVmaW5lIFJJU0NWX0ZUWVBFX05BTUUwKEEpIFJJU0NWXyMj QSMjX0ZUWVBFCiAjZGVmaW5lIFJJU0NWX0ZUWVBFX05BTUUxKEEsIEIpIFJJ U0NWXyMjQSMjX0ZUWVBFXyMjQgorI2RlZmluZSBSSVNDVl9GVFlQRV9OQU1F MihBLCBCLCBDKSBSSVNDVl8jI0EjI19GVFlQRV8jI0IjI18jI0MKIC8qIENs YXNzaWZpZXMgdGhlIHByb3RvdHlwZSBvZiBhIGJ1aWx0LWluIGZ1bmN0aW9u LiAqLwogZW51bSByaXNjdl9mdW5jdGlvbl90eXBlIHsKQEAgLTk4LDYgKzk5 LDcgQEAgQVZBSUwgKHplcm8zMiwgVEFSR0VUX1pJQ0JPWiAmJiAhVEFSR0VU XzY0QklUKQogQVZBSUwgKHplcm82NCwgVEFSR0VUX1pJQ0JPWiAmJiBUQVJH RVRfNjRCSVQpCiBBVkFJTCAocHJlZmV0Y2hpMzIsIFRBUkdFVF9aSUNCT1Ag JiYgIVRBUkdFVF82NEJJVCkKIEFWQUlMIChwcmVmZXRjaGk2NCwgVEFSR0VU X1pJQ0JPUCAmJiBUQVJHRVRfNjRCSVQpCitBVkFJTCAoemZhLCBUQVJHRVRf WkZBKQogQVZBSUwgKGFsd2F5cywgKCEwKSkKIC8qIENvbnN0cnVjdCBhIHJp c2N2X2J1aWx0aW5fZGVzY3JpcHRpb24gZnJvbSB0aGUgZ2l2ZW4gYXJndW1l bnRzLgpAQCAtMTM1LDYgKzEzNyw4IEBAIEFWQUlMIChhbHdheXMsICghMCkp CiAjZGVmaW5lIFJJU0NWX0FUWVBFX1NJIGludFNJX3R5cGVfbm9kZQogI2Rl ZmluZSBSSVNDVl9BVFlQRV9ESSBpbnRESV90eXBlX25vZGUKICNkZWZpbmUg UklTQ1ZfQVRZUEVfVk9JRF9QVFIgcHRyX3R5cGVfbm9kZQorI2RlZmluZSBS SVNDVl9BVFlQRV9TRiBmbG9hdF90eXBlX25vZGUKKyNkZWZpbmUgUklTQ1Zf QVRZUEVfREYgZG91YmxlX3R5cGVfbm9kZQogLyogUklTQ1ZfRlRZUEVfQVRZ UEVTTiB0YWtlcyBOIFJJU0NWX0ZUWVBFUy1saWtlIHR5cGUgY29kZXMgYW5k IGxpc3RzCiB0aGVpciBhc3NvY2lhdGVkIFJJU0NWX0FUWVBFcy4gKi8KQEAg LTE0Miw2ICsxNDYsOCBAQCBBVkFJTCAoYWx3YXlzLCAoITApKQogUklTQ1Zf QVRZUEVfIyNBCiAjZGVmaW5lIFJJU0NWX0ZUWVBFX0FUWVBFUzEoQSwgQikg XAogUklTQ1ZfQVRZUEVfIyNBLCBSSVNDVl9BVFlQRV8jI0IKKyNkZWZpbmUg UklTQ1ZfRlRZUEVfQVRZUEVTMihBLCBCLCBDKSBcCisgUklTQ1ZfQVRZUEVf IyNBLCBSSVNDVl9BVFlQRV8jI0IsIFJJU0NWX0FUWVBFXyMjQwogc3RhdGlj IGNvbnN0IHN0cnVjdCByaXNjdl9idWlsdGluX2Rlc2NyaXB0aW9uIHJpc2N2 X2J1aWx0aW5zW10gPSB7CiAjaW5jbHVkZSAicmlzY3YtY21vLmRlZiIKQEAg LTE0OSw2ICsxNTUsMTEgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCByaXNjdl9i dWlsdGluX2Rlc2NyaXB0aW9uIHJpc2N2X2J1aWx0aW5zW10gPSB7CiBESVJF Q1RfQlVJTFRJTiAoZnJmbGFncywgUklTQ1ZfVVNJX0ZUWVBFLCBoYXJkX2Zs b2F0KSwKIERJUkVDVF9OT19UQVJHRVRfQlVJTFRJTiAoZnNmbGFncywgUklT Q1ZfVk9JRF9GVFlQRV9VU0ksIGhhcmRfZmxvYXQpLAogRElSRUNUX05PX1RB UkdFVF9CVUlMVElOIChwYXVzZSwgUklTQ1ZfVk9JRF9GVFlQRSwgYWx3YXlz KSwKKworIFJJU0NWX0JVSUxUSU4gKGZtaW5tc2YzLCAiZm1pbm1mIiwgUklT Q1ZfQlVJTFRJTl9ESVJFQ1QsIFJJU0NWX1NGX0ZUWVBFX1NGX1NGLCB6ZmEp LAorIFJJU0NWX0JVSUxUSU4gKGZtaW5tZGYzLCAiZm1pbm0iLCBSSVNDVl9C VUlMVElOX0RJUkVDVCwgUklTQ1ZfREZfRlRZUEVfREZfREYsIHpmYSksCisg UklTQ1ZfQlVJTFRJTiAoZm1heG1zZjMsICJmbWF4bWYiLCBSSVNDVl9CVUlM VElOX0RJUkVDVCwgUklTQ1ZfU0ZfRlRZUEVfU0ZfU0YsIHpmYSksCisgUklT Q1ZfQlVJTFRJTiAoZm1heG1kZjMsICJmbWF4bSIsIFJJU0NWX0JVSUxUSU5f RElSRUNULCBSSVNDVl9ERl9GVFlQRV9ERl9ERiwgemZhKSwKIH07CiAvKiBJ bmRleCBJIGlzIHRoZSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBmb3IgcmlzY3Zf YnVpbHRpbnNbSV0sIG9yIG51bGwgaWYgdGhlCmRpZmYgLS1naXQgYS9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LWZ0eXBlcy5kZWYgYi9nY2MvY29uZmlnL3Jp c2N2L3Jpc2N2LWZ0eXBlcy5kZWYKaW5kZXggYmYyZDMwNzgyZDkuLmRkM2U2 ZjM5ZmYwIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LWZ0 eXBlcy5kZWYKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1mdHlwZXMu ZGVmCkBAIC0zMiwzICszMiw1IEBAIERFRl9SSVNDVl9GVFlQRSAoMSwgKFZP SUQsIFVTSSkpCiBERUZfUklTQ1ZfRlRZUEUgKDEsIChWT0lELCBWT0lEX1BU UikpCiBERUZfUklTQ1ZfRlRZUEUgKDEsIChTSSwgU0kpKQogREVGX1JJU0NW X0ZUWVBFICgxLCAoREksIERJKSkKK0RFRl9SSVNDVl9GVFlQRSAoMiwgKFNG LCBTRiwgU0YpKQorREVGX1JJU0NWX0ZUWVBFICgyLCAoREYsIERGLCBERikp CmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LW9wdHMuaCBi L2djYy9jb25maWcvcmlzY3YvcmlzY3Ytb3B0cy5oCmluZGV4IDI1ZmQ4NWIw OWIxLi4zYWI2ZDU3NjZjNCAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi1vcHRzLmgKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1v cHRzLmgKQEAgLTE3Miw2ICsxNzIsOSBAQCBlbnVtIHN0YWNrX3Byb3RlY3Rv cl9ndWFyZCB7CiAjZGVmaW5lIFRBUkdFVF9aRkhNSU4gKChyaXNjdl96Zl9z dWJleHQgJiBNQVNLX1pGSE1JTikgIT0gMCkKICNkZWZpbmUgVEFSR0VUX1pG SCAoKHJpc2N2X3pmX3N1YmV4dCAmIE1BU0tfWkZIKSAhPSAwKQorI2RlZmlu ZSBNQVNLX1pGQSAoMSA8PCAwKQorI2RlZmluZSBUQVJHRVRfWkZBICgocmlz Y3ZfemZfc3ViZXh0ICYgTUFTS19aRkEpICE9IDApCisKICNkZWZpbmUgTUFT S19aTU1VTCAoMSA8PCAwKQogI2RlZmluZSBUQVJHRVRfWk1NVUwgKChyaXNj dl96bV9zdWJleHQgJiBNQVNLX1pNTVVMKSAhPSAwKQpkaWZmIC0tZ2l0IGEv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi1wcm90b3MuaCBiL2djYy9jb25maWcv cmlzY3YvcmlzY3YtcHJvdG9zLmgKaW5kZXggNjRlZTU2YjhhN2MuLmQ5OWVj M2U5MDAyIDEwMDY0NAotLS0gYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LXBy b3Rvcy5oCisrKyBiL2djYy9jb25maWcvcmlzY3YvcmlzY3YtcHJvdG9zLmgK QEAgLTM4LDYgKzM4LDcgQEAgZW51bSByaXNjdl9zeW1ib2xfdHlwZSB7CiAv KiBSb3V0aW5lcyBpbXBsZW1lbnRlZCBpbiByaXNjdi5jYy4gKi8KIGV4dGVy biBlbnVtIHJpc2N2X3N5bWJvbF90eXBlIHJpc2N2X2NsYXNzaWZ5X3N5bWJv bGljX2V4cHJlc3Npb24gKHJ0eCk7CiBleHRlcm4gYm9vbCByaXNjdl9zeW1i b2xpY19jb25zdGFudF9wIChydHgsIGVudW0gcmlzY3Zfc3ltYm9sX3R5cGUg Kik7CitleHRlcm4gaW50IHJpc2N2X2Zsb2F0X2NvbnN0X3J0eF9pbmRleF9m b3JfZmxpIChydHgpOwogZXh0ZXJuIGludCByaXNjdl9yZWdub19tb2RlX29r X2Zvcl9iYXNlX3AgKGludCwgbWFjaGluZV9tb2RlLCBib29sKTsKIGV4dGVy biBpbnQgcmlzY3ZfYWRkcmVzc19pbnNucyAocnR4LCBtYWNoaW5lX21vZGUs IGJvb2wpOwogZXh0ZXJuIGludCByaXNjdl9jb25zdF9pbnNucyAocnR4KTsK ZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YuY2MgYi9nY2Mv Y29uZmlnL3Jpc2N2L3Jpc2N2LmNjCmluZGV4IDlhNTM5OTlhMzlkLi43Nzc3 N2U4YTc3ZiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5j YworKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2LmNjCkBAIC03OTksNiAr Nzk5LDU3IEBAIHN0YXRpYyBpbnQgcmlzY3Zfc3ltYm9sX2luc25zIChlbnVt IHJpc2N2X3N5bWJvbF90eXBlIHR5cGUpCiB9CiB9CisvKiBJbW1lZGlhdGUg dmFsdWVzIGxvYWRlZCBieSB0aGUgRkxJLlMgaW5zdHJ1Y3Rpb24gaW4gQ2hh cHRlciAyNSBvZiB0aGUgbGF0ZXN0IFJJU0MtViBJU0EKKyBNYW51YWwgZHJh ZnQuIEZvciBkZXRhaWxzLCBwbGVhc2Ugc2VlOgorIGh0dHBzOi8vZ2l0aHVi LmNvbS9yaXNjdi9yaXNjdi1pc2EtbWFudWFsL3JlbGVhc2VzL3RhZy9kcmFm dC0yMDIyMTIxNy1jYjNiOWQxICovCisKK3N0YXRpYyB1bnNpZ25lZCBIT1NU X1dJREVfSU5UIGZsaV92YWx1ZVszMl0gPQoreworIDB4YmY4MDAwMDAsIDB4 MDA4MDAwMDAsIDB4Mzc4MDAwMDAsIDB4MzgwMDAwMDAsIDB4M2I4MDAwMDAs IDB4M2MwMDAwMDAsIDB4M2Q4MDAwMDAsIDB4M2UwMDAwMDAsCisgMHgzZTgw MDAwMCwgMHgzZWEwMDAwMCwgMHgzZWMwMDAwMCwgMHgzZWUwMDAwMCwgMHgz ZjAwMDAwMCwgMHgzZjIwMDAwMCwgMHgzZjQwMDAwMCwgMHgzZjYwMDAwMCwK KyAweDNmODAwMDAwLCAweDNmYTAwMDAwLCAweDNmYzAwMDAwLCAweDNmZTAw MDAwLCAweDQwMDAwMDAwLCAweDQwMjAwMDAwLCAweDQwNDAwMDAwLCAweDQw ODAwMDAwLAorIDB4NDEwMDAwMDAsIDB4NDE4MDAwMDAsIDB4NDMwMDAwMDAs IDB4NDM4MDAwMDAsIDB4NDcwMDAwMDAsIDB4NDc4MDAwMDAsIDB4N2Y4MDAw MDAsIDB4N2ZjMDAwMDAKK307CisKKy8qIFJldHVybiBpbmRleCBvZiB0aGUg RkxJIGluc3RydWN0aW9uIHRhYmxlIGlmIHJ0eCBYIGlzIGFuIGltbWVkaWF0 ZSBjb25zdGFudCB0aGF0CisgY2FuIGJlIG1vdmVkIHVzaW5nIGEgc2luZ2xl IEZMSSBpbnN0cnVjdGlvbiBpbiB6ZmEgZXh0ZW5zaW9uLiAtMSBvdGhlcndp c2UuICovCisKK2ludAorcmlzY3ZfZmxvYXRfY29uc3RfcnR4X2luZGV4X2Zv cl9mbGkgKHJ0eCB4KQoreworIG1hY2hpbmVfbW9kZSBtb2RlID0gR0VUX01P REUgKHgpOworCisgaWYgKCFUQVJHRVRfWkZBIHx8IG1vZGUgPT0gVk9JRG1v ZGUKKyB8fCAhQ09OU1RfRE9VQkxFX1AoeCkKKyB8fCAobW9kZSA9PSBIRm1v ZGUgJiYgIVRBUkdFVF9aRkhNSU4pCisgfHwgKG1vZGUgPT0gU0Ztb2RlICYm ICFUQVJHRVRfSEFSRF9GTE9BVCkKKyB8fCAobW9kZSA9PSBERm1vZGUgJiYg IVRBUkdFVF9ET1VCTEVfRkxPQVQpKQorIHJldHVybiAtMTsKKworIGlmIChT Q0FMQVJfRkxPQVRfTU9ERV9QIChtb2RlKQorICYmIEdFVF9NT0RFX0JJVFNJ WkUgKG1vZGUpLnRvX2NvbnN0YW50ICgpIDw9IEhPU1RfQklUU19QRVJfV0lE RV9JTlQKKyAvKiBPbmx5IHN1cHBvcnQgdXAgdG8gREYgbW9kZS4gKi8KKyAm JiBHRVRfTU9ERV9CSVRTSVpFIChtb2RlKS50b19jb25zdGFudCAoKSA8PSBH RVRfTU9ERV9CSVRTSVpFIChERm1vZGUpKQorIHsKKyB1bnNpZ25lZCBIT1NU X1dJREVfSU5UIGl2YWwgPSAwOworIFJFQUxfVkFMVUVfVFlQRSBkOworCisg ZCA9IHJlYWxfdmFsdWVfdHJ1bmNhdGUgKGZsb2F0X21vZGVfZm9yX3NpemUg KDMyKS5yZXF1aXJlICgpLCAqQ09OU1RfRE9VQkxFX1JFQUxfVkFMVUUgKHgp KTsKKyBSRUFMX1ZBTFVFX1RPX1RBUkdFVF9TSU5HTEUgKGQsIGl2YWwpOwor CisgZm9yIChpbnQgaSA9IDA7IGkgPCAzMjsgaSsrKQorIHsKKyBpZiAoaXZh bCA9PSBmbGlfdmFsdWVbaV0pCisgcmV0dXJuIGk7CisgfQorCisgLyogVGhl IG1pbmltdW0gcG9zaXRpdmUgbm9ybWFsIHZhbHVlICg2LjEwNEUtNSkgZm9y IGhhbGYtcHJlY2lzaW9uLiAqLworIGlmIChtb2RlID09IEhGbW9kZSAmJiBp dmFsID09IDB4Mzg4MDAwMDApCisgcmV0dXJuIDE7CisgfQorIHJldHVybiAt MTsKK30KKwogLyogSW1wbGVtZW50IFRBUkdFVF9MRUdJVElNQVRFX0NPTlNU QU5UX1AuICovCiBzdGF0aWMgYm9vbApAQCAtODI2LDYgKzg3Nyw5IEBAIHJp c2N2X2Nhbm5vdF9mb3JjZV9jb25zdF9tZW0gKG1hY2hpbmVfbW9kZSBtb2Rl IEFUVFJJQlVURV9VTlVTRUQsIHJ0eCB4KQogaWYgKEdFVF9DT0RFICh4KSA9 PSBISUdIKQogcmV0dXJuIHRydWU7CisgaWYgKHJpc2N2X2Zsb2F0X2NvbnN0 X3J0eF9pbmRleF9mb3JfZmxpICh4KSAhPSAtMSkKKyByZXR1cm4gdHJ1ZTsK Kwogc3BsaXRfY29uc3QgKHgsICZiYXNlLCAmb2Zmc2V0KTsKIGlmIChyaXNj dl9zeW1ib2xpY19jb25zdGFudF9wIChiYXNlLCAmdHlwZSkpCiB7CkBAIC0x MTc5LDYgKzEyMzMsOCBAQCByaXNjdl9jb25zdF9pbnNucyAocnR4IHgpCiB9 CiBjYXNlIENPTlNUX0RPVUJMRToKKyBpZiAocmlzY3ZfZmxvYXRfY29uc3Rf cnR4X2luZGV4X2Zvcl9mbGkgKHgpICE9IC0xKQorIHJldHVybiA0OwogY2Fz ZSBDT05TVF9WRUNUT1I6CiAvKiBXZSBjYW4gdXNlIHgwIHRvIGxvYWQgZmxv YXRpbmctcG9pbnQgemVyby4gKi8KIHJldHVybiB4ID09IENPTlNUMF9SVFgg KEdFVF9NT0RFICh4KSkgPyAxIDogMDsKQEAgLTE3MTUsNiArMTc3MSwxMiBA QCByaXNjdl9sZWdpdGltaXplX2NvbnN0X21vdmUgKG1hY2hpbmVfbW9kZSBt b2RlLCBydHggZGVzdCwgcnR4IHNyYykKIHJldHVybjsKIH0KKyBpZiAocmlz Y3ZfZmxvYXRfY29uc3RfcnR4X2luZGV4X2Zvcl9mbGkgKHNyYykgIT0gLTEp CisgeworIHJpc2N2X2VtaXRfc2V0IChkZXN0LCBzcmMpOworIHJldHVybjsK KyB9CisKIC8qIFNwbGl0IG1vdmVzIG9mIHN5bWJvbGljIGNvbnN0YW50cyBp bnRvIGhpZ2gvbG93IHBhaXJzLiAqLwogaWYgKHJpc2N2X3NwbGl0X3N5bWJv bCAoZGVzdCwgc3JjLCBNQVhfTUFDSElORV9NT0RFLCAmc3JjLCBGQUxTRSkp CiB7CkBAIC0yNzMyLDYgKzI3OTQsOSBAQCByaXNjdl9zcGxpdF82NGJpdF9t b3ZlX3AgKHJ0eCBkZXN0LCBydHggc3JjKQogJiYgKChGUF9SRUdfUlRYX1Ag KHNyYykgJiYgRlBfUkVHX1JUWF9QIChkZXN0KSkKIHx8IChGUF9SRUdfUlRY X1AgKGRlc3QpICYmIE1FTV9QIChzcmMpKQogfHwgKEZQX1JFR19SVFhfUCAo c3JjKSAmJiBNRU1fUCAoZGVzdCkpCisgfHwgKFRBUkdFVF9aRkEKKyAmJiAo KEZQX1JFR19SVFhfUCAoZGVzdCkgJiYgR1BfUkVHX1JUWF9QIChzcmMpKQor IHx8IChGUF9SRUdfUlRYX1AgKHNyYykgJiYgR1BfUkVHX1JUWF9QIChkZXN0 KSkpKQogfHwgKEZQX1JFR19SVFhfUCAoZGVzdCkgJiYgc3JjID09IENPTlNU MF9SVFggKEdFVF9NT0RFIChzcmMpKSkpKQogcmV0dXJuIGZhbHNlOwpAQCAt Mjc5NSw2ICsyODYwLDggQEAgcmlzY3Zfb3V0cHV0X21vdmUgKHJ0eCBkZXN0 LCBydHggc3JjKQogY2FzZSA0OgogcmV0dXJuICJmbXYueC5zXHQlMCwlMSI7 CiBjYXNlIDg6CisgaWYgKCFUQVJHRVRfNjRCSVQgJiYgVEFSR0VUX1pGQSkK KyByZXR1cm4gImZtdi54LndcdCUwLCUxXG5cdGZtdmgueC5kXHQlTjAsJTEi OwogcmV0dXJuICJmbXYueC5kXHQlMCwlMSI7CiB9CkBAIC0yODU0LDYgKzI5 MjEsOCBAQCByaXNjdl9vdXRwdXRfbW92ZSAocnR4IGRlc3QsIHJ0eCBzcmMp CiBjYXNlIDg6CiBpZiAoVEFSR0VUXzY0QklUKQogcmV0dXJuICJmbXYuZC54 XHQlMCwlejEiOworIGVsc2UgaWYgKFRBUkdFVF9aRkEgJiYgc3JjICE9IENP TlNUMF9SVFggKG1vZGUpKQorIHJldHVybiAiZm12cC5kLnhcdCUwLCUxLCVO MSI7CiAvKiBpbiBSVjMyLCB3ZSBjYW4gZW11bGF0ZSBmbXYuZC54ICUwLCB4 MCB1c2luZyBmY3Z0LmQudyAqLwogZ2NjX2Fzc2VydCAoc3JjID09IENPTlNU MF9SVFggKG1vZGUpKTsKIHJldHVybiAiZmN2dC5kLndcdCUwLHgwIjsKQEAg LTI5MDYsNiArMjk3NSwxNCBAQCByaXNjdl9vdXRwdXRfbW92ZSAocnR4IGRl c3QsIHJ0eCBzcmMpCiBjYXNlIDg6CiByZXR1cm4gImZsZFx0JTAsJTEiOwog fQorCisgaWYgKHNyY19jb2RlID09IENPTlNUX0RPVUJMRSAmJiAocmlzY3Zf ZmxvYXRfY29uc3RfcnR4X2luZGV4X2Zvcl9mbGkgKHNyYykgIT0gLTEpKQor IHN3aXRjaCAod2lkdGgpCisgeworIGNhc2UgMjogcmV0dXJuICJmbGkuaFx0 JTAsJTEiOworIGNhc2UgNDogcmV0dXJuICJmbGkuc1x0JTAsJTEiOworIGNh c2UgODogcmV0dXJuICJmbGkuZFx0JTAsJTEiOworIH0KIH0KIGlmIChkZXN0 X2NvZGUgPT0gUkVHICYmIEdQX1JFR19QIChSRUdOTyAoZGVzdCkpICYmIHNy Y19jb2RlID09IENPTlNUX1BPTFlfSU5UKQogewpAQCAtNDIwOSw2ICs0Mjg2 LDcgQEAgcmlzY3ZfbWVtbW9kZWxfbmVlZHNfcmVsZWFzZV9mZW5jZSAoZW51 bSBtZW1tb2RlbCBtb2RlbCkKICdTJyBQcmludCBzaGlmdC1pbmRleCBvZiBz aW5nbGUtYml0IG1hc2sgT1AuCiAnVCcgUHJpbnQgc2hpZnQtaW5kZXggb2Yg aW52ZXJ0ZWQgc2luZ2xlLWJpdCBtYXNrIE9QLgogJ34nIFByaW50IHcgaWYg VEFSR0VUXzY0QklUIGlzIHRydWU7IG90aGVyd2lzZSBub3QgcHJpbnQgYW55 dGhpbmcuCisgJ04nIFByaW50IG5leHQgcmVnaXN0ZXIuCiBOb3RlIHBsZWFz ZSBrZWVwIHRoaXMgbGlzdCBhbmQgdGhlIGxpc3QgaW4gcmlzY3YubWQgaW4g c3luYy4gKi8KQEAgLTQzNTAsNiArNDQyOCw5IEBAIHJpc2N2X3ByaW50X29w ZXJhbmQgKEZJTEUgKmZpbGUsIHJ0eCBvcCwgaW50IGxldHRlcikKIG91dHB1 dF9hZGRyX2NvbnN0IChmaWxlLCBuZXdvcCk7CiBicmVhazsKIH0KKyBjYXNl ICdOJzoKKyBmcHV0cyAocmVnX25hbWVzW1JFR05PIChvcCkgKyAxXSwgZmls ZSk7CisgYnJlYWs7CiBkZWZhdWx0Ogogc3dpdGNoIChjb2RlKQogewpAQCAt NDM2Niw2ICs0NDQ3LDMxIEBAIHJpc2N2X3ByaW50X29wZXJhbmQgKEZJTEUg KmZpbGUsIHJ0eCBvcCwgaW50IGxldHRlcikKIG91dHB1dF9hZGRyZXNzICht b2RlLCBYRVhQIChvcCwgMCkpOwogYnJlYWs7CisgY2FzZSBDT05TVF9ET1VC TEU6CisgeworIGlmIChsZXR0ZXIgPT0gJ3onICYmIG9wID09IENPTlNUMF9S VFggKEdFVF9NT0RFIChvcCkpKQorIHsKKyBmcHV0cyAocmVnX25hbWVzW0dQ X1JFR19GSVJTVF0sIGZpbGUpOworIGJyZWFrOworIH0KKworIGlmIChyaXNj dl9mbG9hdF9jb25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAob3ApID09IC0xKQor IG91dHB1dF9vcGVyYW5kX2xvc3NhZ2UgKCJpbnZhbGlkIHVzZSBvZiAnJSUl YyciLCBsZXR0ZXIpOworCisgaWYgKHJpc2N2X2ZsaV92YWx1ZV9ieV9pbnQp CisgeworIGFzbV9mcHJpbnRmIChmaWxlLCAiJWQiLCByaXNjdl9mbG9hdF9j b25zdF9ydHhfaW5kZXhfZm9yX2ZsaSAob3ApKTsKKyBicmVhazsKKyB9CisK KyBjb25zdCB1bnNpZ25lZCBpbnQgYnVmX3NpemUgPSAzMjsKKyBjaGFyIGZs b2F0X2J1ZltidWZfc2l6ZV0gPSB7J1wwJ307CisgcmVhbF90b19kZWNpbWFs X2Zvcl9tb2RlIChmbG9hdF9idWYsIENPTlNUX0RPVUJMRV9SRUFMX1ZBTFVF IChvcCksCisgYnVmX3NpemUsIGJ1Zl9zaXplLCAxLCBHRVRfTU9ERShvcCkp OworIGFzbV9mcHJpbnRmIChmaWxlLCAiJXMiLCBmbG9hdF9idWYpOworIGJy ZWFrOworIH0KKwogZGVmYXVsdDoKIGlmIChsZXR0ZXIgPT0gJ3onICYmIG9w ID09IENPTlNUMF9SVFggKEdFVF9NT0RFIChvcCkpKQogZnB1dHMgKHJlZ19u YW1lc1tHUF9SRUdfRklSU1RdLCBmaWxlKTsKQEAgLTU2NzYsNyArNTc4Miw4 IEBAIHJpc2N2X3NlY29uZGFyeV9tZW1vcnlfbmVlZGVkIChtYWNoaW5lX21v ZGUgbW9kZSwgcmVnX2NsYXNzX3QgY2xhc3MxLAogewogcmV0dXJuICghcmlz Y3Zfdl9leHRfdmVjdG9yX21vZGVfcCAobW9kZSkKICYmIEdFVF9NT0RFX1NJ WkUgKG1vZGUpLnRvX2NvbnN0YW50ICgpID4gVU5JVFNfUEVSX1dPUkQKLSAm JiAoY2xhc3MxID09IEZQX1JFR1MpICE9IChjbGFzczIgPT0gRlBfUkVHUykp OworICYmIChjbGFzczEgPT0gRlBfUkVHUykgIT0gKGNsYXNzMiA9PSBGUF9S RUdTKQorICYmICFUQVJHRVRfWkZBKTsKIH0KIC8qIEltcGxlbWVudCBUQVJH RVRfUkVHSVNURVJfTU9WRV9DT1NULiAqLwpkaWZmIC0tZ2l0IGEvZ2NjL2Nv bmZpZy9yaXNjdi9yaXNjdi5oIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5o CmluZGV4IDBhYjczOWJkNmViLi44OTE4ZjM1MGVjMCAxMDA2NDQKLS0tIGEv Z2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5oCisrKyBiL2djYy9jb25maWcvcmlz Y3YvcmlzY3YuaApAQCAtMzc3LDYgKzM3Nyw3IEBAIEFTTV9NSVNBX1NQRUMK ICNkZWZpbmUgU0lCQ0FMTF9SRUdfUChSRUdOTykgXAogVEVTVF9IQVJEX1JF R19CSVQgKHJlZ19jbGFzc19jb250ZW50c1tTSUJDQUxMX1JFR1NdLCBSRUdO TykKKyNkZWZpbmUgR1BfUkVHX1JUWF9QKFgpIChSRUdfUCAoWCkgJiYgR1Bf UkVHX1AgKFJFR05PIChYKSkpCiAjZGVmaW5lIEZQX1JFR19SVFhfUChYKSAo UkVHX1AgKFgpICYmIEZQX1JFR19QIChSRUdOTyAoWCkpKQogLyogVXNlIHMw IGFzIHRoZSBmcmFtZSBwb2ludGVyIGlmIGl0IGlzIHNvIHJlcXVlc3RlZC4g Ki8KZGlmZiAtLWdpdCBhL2djYy9jb25maWcvcmlzY3YvcmlzY3YubWQgYi9n Y2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kCmluZGV4IGExMGNlZTJhMGRjLi5k OTBlYThkMzVlNyAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNjdi9yaXNj di5tZAorKysgYi9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm1kCkBAIC01OSw2 ICs1OSw4IEBAIChkZWZpbmVfY19lbnVtICJ1bnNwZWMiIFsKIFVOU1BFQ19M Uk9VTkQKIFVOU1BFQ19GTUlOCiBVTlNQRUNfRk1BWAorIFVOU1BFQ19GTUlO TQorIFVOU1BFQ19GTUFYTQogOzsgU3RhY2sgdGllCiBVTlNQRUNfVElFCkBA IC0xMjIwLDYgKzEyMjIsMjYgQEAgKGRlZmluZV9pbnNuICJuZWc8bW9kZT4y IgogOzsKIDs7IC4uLi4uLi4uLi4uLi4uLi4uLi4uCisoZGVmaW5lX2luc24g InJpc2N2X2ZtaW5tPG1vZGU+MyIKKyBbKHNldCAobWF0Y2hfb3BlcmFuZDpB TllGIDAgInJlZ2lzdGVyX29wZXJhbmQiICI9ZiIpCisgKHVuc3BlYzpBTllG IFsodXNlIChtYXRjaF9vcGVyYW5kOkFOWUYgMSAicmVnaXN0ZXJfb3BlcmFu ZCIgIiBmIikpCisgKHVzZSAobWF0Y2hfb3BlcmFuZDpBTllGIDIgInJlZ2lz dGVyX29wZXJhbmQiICIgZiIpKV0KKyBVTlNQRUNfRk1JTk0pKV0KKyAiVEFS R0VUX0hBUkRfRkxPQVQgJiYgVEFSR0VUX1pGQSAmJiAhSE9OT1JfU05BTlMg KDxNT0RFPm1vZGUpIgorICJmbWlubS48Zm10Plx0JTAsJTEsJTIiCisgWyhz ZXRfYXR0ciAidHlwZSIgImZtb3ZlIikKKyAoc2V0X2F0dHIgIm1vZGUiICI8 VU5JVE1PREU+IildKQorCisoZGVmaW5lX2luc24gInJpc2N2X2ZtYXhtPG1v ZGU+MyIKKyBbKHNldCAobWF0Y2hfb3BlcmFuZDpBTllGIDAgInJlZ2lzdGVy X29wZXJhbmQiICI9ZiIpCisgKHVuc3BlYzpBTllGIFsodXNlIChtYXRjaF9v cGVyYW5kOkFOWUYgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIiBmIikpCisgKHVz ZSAobWF0Y2hfb3BlcmFuZDpBTllGIDIgInJlZ2lzdGVyX29wZXJhbmQiICIg ZiIpKV0KKyBVTlNQRUNfRk1BWE0pKV0KKyAiVEFSR0VUX0hBUkRfRkxPQVQg JiYgVEFSR0VUX1pGQSAmJiAhSE9OT1JfU05BTlMgKDxNT0RFPm1vZGUpIgor ICJmbWF4bS48Zm10Plx0JTAsJTEsJTIiCisgWyhzZXRfYXR0ciAidHlwZSIg ImZtb3ZlIikKKyAoc2V0X2F0dHIgIm1vZGUiICI8VU5JVE1PREU+IildKQor CiAoZGVmaW5lX2luc24gImZtaW48bW9kZT4zIgogWyhzZXQgKG1hdGNoX29w ZXJhbmQ6QU5ZRiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPWYiKQogKHVuc3Bl YzpBTllGIFsodXNlIChtYXRjaF9vcGVyYW5kOkFOWUYgMSAicmVnaXN0ZXJf b3BlcmFuZCIgIiBmIikpCkBAIC0xNDk0LDEzICsxNTE2LDEzIEBAIChkZWZp bmVfZXhwYW5kICJtb3ZoZiIKIH0pCiAoZGVmaW5lX2luc24gIiptb3ZoZl9o YXJkZmxvYXQiCi0gWyhzZXQgKG1hdGNoX29wZXJhbmQ6SEYgMCAibm9uaW1t ZWRpYXRlX29wZXJhbmQiICI9ZixmLGYsbSxtLCpmLCpyLCAqciwqciwqbSIp Ci0gKG1hdGNoX29wZXJhbmQ6SEYgMSAibW92ZV9vcGVyYW5kIiAiIGYsRyxt LGYsRywqciwqZiwqRypyLCptLCpyIikpXQorIFsoc2V0IChtYXRjaF9vcGVy YW5kOkhGIDAgIm5vbmltbWVkaWF0ZV9vcGVyYW5kIiAiPWYsIGYsZixmLG0s bSwqZiwqciwgKnIsKnIsKm0iKQorIChtYXRjaF9vcGVyYW5kOkhGIDEgIm1v dmVfb3BlcmFuZCIgIiBmLFpmLEcsbSxmLEcsKnIsKmYsKkcqciwqbSwqciIp KV0KICJUQVJHRVRfWkZITUlOCiAmJiAocmVnaXN0ZXJfb3BlcmFuZCAob3Bl cmFuZHNbMF0sIEhGbW9kZSkKIHx8IHJlZ19vcl8wX29wZXJhbmQgKG9wZXJh bmRzWzFdLCBIRm1vZGUpKSIKIHsgcmV0dXJuIHJpc2N2X291dHB1dF9tb3Zl IChvcGVyYW5kc1swXSwgb3BlcmFuZHNbMV0pOyB9Ci0gWyhzZXRfYXR0ciAi bW92ZV90eXBlIiAiZm1vdmUsbXRjLGZwbG9hZCxmcHN0b3JlLHN0b3JlLG10 YyxtZmMsbW92ZSxsb2FkLHN0b3JlIikKKyBbKHNldF9hdHRyICJtb3ZlX3R5 cGUiICJmbW92ZSxmbW92ZSxtdGMsZnBsb2FkLGZwc3RvcmUsc3RvcmUsbXRj LG1mYyxtb3ZlLGxvYWQsc3RvcmUiKQogKHNldF9hdHRyICJtb2RlIiAiSEYi KV0pCiAoZGVmaW5lX2luc24gIiptb3ZoZl9zb2Z0ZmxvYXQiCkBAIC0xNTIw LDYgKzE1NDIsMTUgQEAgKGRlZmluZV9pbnNuICIqbW92aGZfc29mdGZsb2F0 IgogOzsKIDs7IC4uLi4uLi4uLi4uLi4uLi4uLi4uCisoZGVmaW5lX2luc24g ImZpeF90cnVuY2Rmc2kyX3pmYSIKKyBbKHNldCAobWF0Y2hfb3BlcmFuZDpT SSAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIiKQorIChmaXg6U0kKKyAobWF0 Y2hfb3BlcmFuZDpERiAxICJyZWdpc3Rlcl9vcGVyYW5kIiAiIGYiKSkpXQor ICJUQVJHRVRfWkZBICYmIChUQVJHRVRfSEFSRF9GTE9BVCB8fCBUQVJHRVRf WkZJTlgpIgorICJmY3Z0bW9kLncuZFx0JTAsJTEscnR6IgorIFsoc2V0X2F0 dHIgInR5cGUiICJmY3Z0IikKKyAoc2V0X2F0dHIgIm1vZGUiICJERiIpXSkK KwogKGRlZmluZV9pbnNuICJmaXhfdHJ1bmM8QU5ZRjptb2RlPjxHUFI6bW9k ZT4yIgogWyhzZXQgKG1hdGNoX29wZXJhbmQ6R1BSIDAgInJlZ2lzdGVyX29w ZXJhbmQiICI9ciIpCiAoZml4OkdQUgpAQCAtMTU2Niw2ICsxNTk3LDI2IEBA IChkZWZpbmVfaW5zbiAibDxyaW50X3BhdHRlcm4+PEFOWUY6bW9kZT48R1BS Om1vZGU+MiIKIFsoc2V0X2F0dHIgInR5cGUiICJmY3Z0IikKIChzZXRfYXR0 ciAibW9kZSIgIjxBTllGOk1PREU+IildKQorKGRlZmluZV9pbnNuICJyb3Vu ZDxBTllGOm1vZGU+MiIKKyBbKHNldCAobWF0Y2hfb3BlcmFuZDpBTllGIDAg InJlZ2lzdGVyX29wZXJhbmQiICI9ZiIpCisgKHVuc3BlYzpBTllGCisgWyht YXRjaF9vcGVyYW5kOkFOWUYgMSAicmVnaXN0ZXJfb3BlcmFuZCIgIiBmIild CisgVU5TUEVDX0xST1VORCkpXQorICJUQVJHRVRfSEFSRF9GTE9BVCAmJiBU QVJHRVRfWkZBIgorICJmcm91bmQuPEFOWUY6Zm10Plx0JTAsJTEiCisgWyhz ZXRfYXR0ciAidHlwZSIgImZjdnQiKQorIChzZXRfYXR0ciAibW9kZSIgIjxB TllGOk1PREU+IildKQorCisoZGVmaW5lX2luc24gInJpbnQ8QU5ZRjptb2Rl PjIiCisgWyhzZXQgKG1hdGNoX29wZXJhbmQ6QU5ZRiAwICJyZWdpc3Rlcl9v cGVyYW5kIiAiPWYiKQorICh1bnNwZWM6QU5ZRgorIFsobWF0Y2hfb3BlcmFu ZDpBTllGIDEgInJlZ2lzdGVyX29wZXJhbmQiICIgZiIpXQorIFVOU1BFQ19M UklOVCkpXQorICJUQVJHRVRfSEFSRF9GTE9BVCAmJiBUQVJHRVRfWkZBIgor ICJmcm91bmRueC48QU5ZRjpmbXQ+XHQlMCwlMSIKKyBbKHNldF9hdHRyICJ0 eXBlIiAiZmN2dCIpCisgKHNldF9hdHRyICJtb2RlIiAiPEFOWUY6TU9ERT4i KV0pCisKIDs7CiA7OyAuLi4uLi4uLi4uLi4uLi4uLi4uLgogOzsKQEAgLTE4 MjMsMTMgKzE4NzQsMTMgQEAgKGRlZmluZV9leHBhbmQgIm1vdnNmIgogfSkK IChkZWZpbmVfaW5zbiAiKm1vdnNmX2hhcmRmbG9hdCIKLSBbKHNldCAobWF0 Y2hfb3BlcmFuZDpTRiAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIgIj1mLGYs ZixtLG0sKmYsKnIsICpyLCpyLCptIikKLSAobWF0Y2hfb3BlcmFuZDpTRiAx ICJtb3ZlX29wZXJhbmQiICIgZixHLG0sZixHLCpyLCpmLCpHKnIsKm0sKnIi KSldCisgWyhzZXQgKG1hdGNoX29wZXJhbmQ6U0YgMCAibm9uaW1tZWRpYXRl X29wZXJhbmQiICI9ZiwgZixmLGYsbSxtLCpmLCpyLCAqciwqciwqbSIpCisg KG1hdGNoX29wZXJhbmQ6U0YgMSAibW92ZV9vcGVyYW5kIiAiIGYsWmYsRyxt LGYsRywqciwqZiwqRypyLCptLCpyIikpXQogIlRBUkdFVF9IQVJEX0ZMT0FU CiAmJiAocmVnaXN0ZXJfb3BlcmFuZCAob3BlcmFuZHNbMF0sIFNGbW9kZSkK IHx8IHJlZ19vcl8wX29wZXJhbmQgKG9wZXJhbmRzWzFdLCBTRm1vZGUpKSIK IHsgcmV0dXJuIHJpc2N2X291dHB1dF9tb3ZlIChvcGVyYW5kc1swXSwgb3Bl cmFuZHNbMV0pOyB9Ci0gWyhzZXRfYXR0ciAibW92ZV90eXBlIiAiZm1vdmUs bXRjLGZwbG9hZCxmcHN0b3JlLHN0b3JlLG10YyxtZmMsbW92ZSxsb2FkLHN0 b3JlIikKKyBbKHNldF9hdHRyICJtb3ZlX3R5cGUiICJmbW92ZSxmbW92ZSxt dGMsZnBsb2FkLGZwc3RvcmUsc3RvcmUsbXRjLG1mYyxtb3ZlLGxvYWQsc3Rv cmUiKQogKHNldF9hdHRyICJtb2RlIiAiU0YiKV0pCiAoZGVmaW5lX2luc24g Iiptb3ZzZl9zb2Z0ZmxvYXQiCkBAIC0xODU2LDIzICsxOTA3LDIzIEBAIChk ZWZpbmVfZXhwYW5kICJtb3ZkZiIKIDs7IEluIFJWMzIsIHdlIGxhY2sgZm12 LnguZCBhbmQgZm12LmQueC4gR28gdGhyb3VnaCBtZW1vcnkgaW5zdGVhZC4K IDs7IChIb3dldmVyLCB3ZSBjYW4gc3RpbGwgdXNlIGZjdnQuZC53IHRvIHpl cm8gYSBmbG9hdGluZy1wb2ludCByZWdpc3Rlci4pCiAoZGVmaW5lX2luc24g Iiptb3ZkZl9oYXJkZmxvYXRfcnYzMiIKLSBbKHNldCAobWF0Y2hfb3BlcmFu ZDpERiAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIgIj1mLGYsZixtLG0sICpy LCpyLCptIikKLSAobWF0Y2hfb3BlcmFuZDpERiAxICJtb3ZlX29wZXJhbmQi ICIgZixHLG0sZixHLCpyKkcsKm0sKnIiKSldCisgWyhzZXQgKG1hdGNoX29w ZXJhbmQ6REYgMCAibm9uaW1tZWRpYXRlX29wZXJhbmQiICI9ZiwgZixmLGYs bSxtLCpmLCpyLCAqciwqciwqbSIpCisgKG1hdGNoX29wZXJhbmQ6REYgMSAi bW92ZV9vcGVyYW5kIiAiIGYsWmYsRyxtLGYsRywqciwqZiwqcipHLCptLCpy IikpXQogIiFUQVJHRVRfNjRCSVQgJiYgVEFSR0VUX0RPVUJMRV9GTE9BVAog JiYgKHJlZ2lzdGVyX29wZXJhbmQgKG9wZXJhbmRzWzBdLCBERm1vZGUpCiB8 fCByZWdfb3JfMF9vcGVyYW5kIChvcGVyYW5kc1sxXSwgREZtb2RlKSkiCiB7 IHJldHVybiByaXNjdl9vdXRwdXRfbW92ZSAob3BlcmFuZHNbMF0sIG9wZXJh bmRzWzFdKTsgfQotIFsoc2V0X2F0dHIgIm1vdmVfdHlwZSIgImZtb3ZlLG10 YyxmcGxvYWQsZnBzdG9yZSxzdG9yZSxtb3ZlLGxvYWQsc3RvcmUiKQorIFso c2V0X2F0dHIgIm1vdmVfdHlwZSIgImZtb3ZlLGZtb3ZlLG10YyxmcGxvYWQs ZnBzdG9yZSxzdG9yZSxtdGMsbWZjLG1vdmUsbG9hZCxzdG9yZSIpCiAoc2V0 X2F0dHIgIm1vZGUiICJERiIpXSkKIChkZWZpbmVfaW5zbiAiKm1vdmRmX2hh cmRmbG9hdF9ydjY0IgotIFsoc2V0IChtYXRjaF9vcGVyYW5kOkRGIDAgIm5v bmltbWVkaWF0ZV9vcGVyYW5kIiAiPWYsZixmLG0sbSwqZiwqciwgKnIsKnIs Km0iKQotIChtYXRjaF9vcGVyYW5kOkRGIDEgIm1vdmVfb3BlcmFuZCIgIiBm LEcsbSxmLEcsKnIsKmYsKnIqRywqbSwqciIpKV0KKyBbKHNldCAobWF0Y2hf b3BlcmFuZDpERiAwICJub25pbW1lZGlhdGVfb3BlcmFuZCIgIj1mLCBmLGYs ZixtLG0sKmYsKnIsICpyLCpyLCptIikKKyAobWF0Y2hfb3BlcmFuZDpERiAx ICJtb3ZlX29wZXJhbmQiICIgZixaZixHLG0sZixHLCpyLCpmLCpyKkcsKm0s KnIiKSldCiAiVEFSR0VUXzY0QklUICYmIFRBUkdFVF9ET1VCTEVfRkxPQVQK ICYmIChyZWdpc3Rlcl9vcGVyYW5kIChvcGVyYW5kc1swXSwgREZtb2RlKQog fHwgcmVnX29yXzBfb3BlcmFuZCAob3BlcmFuZHNbMV0sIERGbW9kZSkpIgog eyByZXR1cm4gcmlzY3Zfb3V0cHV0X21vdmUgKG9wZXJhbmRzWzBdLCBvcGVy YW5kc1sxXSk7IH0KLSBbKHNldF9hdHRyICJtb3ZlX3R5cGUiICJmbW92ZSxt dGMsZnBsb2FkLGZwc3RvcmUsc3RvcmUsbXRjLG1mYyxtb3ZlLGxvYWQsc3Rv cmUiKQorIFsoc2V0X2F0dHIgIm1vdmVfdHlwZSIgImZtb3ZlLGZtb3ZlLG10 YyxmcGxvYWQsZnBzdG9yZSxzdG9yZSxtdGMsbWZjLG1vdmUsbG9hZCxzdG9y ZSIpCiAoc2V0X2F0dHIgIm1vZGUiICJERiIpXSkKIChkZWZpbmVfaW5zbiAi Km1vdmRmX3NvZnRmbG9hdCIKQEAgLTI0NzksMTYgKzI1MzAsMjMgQEAgKGRl ZmluZV9leHBhbmQgImY8cXVpZXRfcGF0dGVybj5fcXVpZXQ8QU5ZRjptb2Rl PjxYOm1vZGU+NCIKIHJ0eCBvcDAgPSBvcGVyYW5kc1swXTsKIHJ0eCBvcDEg PSBvcGVyYW5kc1sxXTsKIHJ0eCBvcDIgPSBvcGVyYW5kc1syXTsKLSBydHgg dG1wID0gZ2VuX3JlZ19ydHggKFNJbW9kZSk7Ci0gcnR4IGNtcCA9IGdlbl9y dHhfPFFVSUVUX1BBVFRFUk4+ICg8WDpNT0RFPm1vZGUsIG9wMSwgb3AyKTsK LSBydHggZnJmbGFncyA9IGdlbl9ydHhfVU5TUEVDX1ZPTEFUSUxFIChTSW1v ZGUsIGdlbl9ydHZlYyAoMSwgY29uc3QwX3J0eCksCi0gVU5TUEVDVl9GUkZM QUdTKTsKLSBydHggZnNmbGFncyA9IGdlbl9ydHhfVU5TUEVDX1ZPTEFUSUxF IChTSW1vZGUsIGdlbl9ydHZlYyAoMSwgdG1wKSwKLSBVTlNQRUNWX0ZTRkxB R1MpOwotCi0gZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAodG1wLCBmcmZsYWdz KSk7Ci0gZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAob3AwLCBjbXApKTsKLSBl bWl0X2luc24gKGZzZmxhZ3MpOworCisgaWYgKFRBUkdFVF9aRkEpCisgZW1p dF9pbnNuIChnZW5fZjxxdWlldF9wYXR0ZXJuPl9xdWlldDxBTllGOm1vZGU+ PFg6bW9kZT40X3pmYShvcDAsIG9wMSwgb3AyKSk7CisgZWxzZQorIHsKKyBy dHggdG1wID0gZ2VuX3JlZ19ydHggKFNJbW9kZSk7CisgcnR4IGNtcCA9IGdl bl9ydHhfPFFVSUVUX1BBVFRFUk4+ICg8WDpNT0RFPm1vZGUsIG9wMSwgb3Ay KTsKKyBydHggZnJmbGFncyA9IGdlbl9ydHhfVU5TUEVDX1ZPTEFUSUxFIChT SW1vZGUsIGdlbl9ydHZlYyAoMSwgY29uc3QwX3J0eCksCisgVU5TUEVDVl9G UkZMQUdTKTsKKyBydHggZnNmbGFncyA9IGdlbl9ydHhfVU5TUEVDX1ZPTEFU SUxFIChTSW1vZGUsIGdlbl9ydHZlYyAoMSwgdG1wKSwKKyBVTlNQRUNWX0ZT RkxBR1MpOworCisgZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAodG1wLCBmcmZs YWdzKSk7CisgZW1pdF9pbnNuIChnZW5fcnR4X1NFVCAob3AwLCBjbXApKTsK KyBlbWl0X2luc24gKGZzZmxhZ3MpOworIH0KKwogaWYgKEhPTk9SX1NOQU5T ICg8QU5ZRjpNT0RFPm1vZGUpKQogZW1pdF9pbnNuIChnZW5fcnR4X1VOU1BF Q19WT0xBVElMRSAoPEFOWUY6TU9ERT5tb2RlLAogZ2VuX3J0dmVjICgyLCBv cDEsIG9wMiksCkBAIC0yNDk2LDYgKzI1NTQsMTggQEAgKGRlZmluZV9leHBh bmQgImY8cXVpZXRfcGF0dGVybj5fcXVpZXQ8QU5ZRjptb2RlPjxYOm1vZGU+ NCIKIERPTkU7CiB9KQorKGRlZmluZV9pbnNuICJmPHF1aWV0X3BhdHRlcm4+ X3F1aWV0PEFOWUY6bW9kZT48WDptb2RlPjRfemZhIgorIFsoc2V0IChtYXRj aF9vcGVyYW5kOlggMCAicmVnaXN0ZXJfb3BlcmFuZCIgIj1yIikKKyAodW5z cGVjOlgKKyBbKG1hdGNoX29wZXJhbmQ6QU5ZRiAxICJyZWdpc3Rlcl9vcGVy YW5kIiAiIGYiKQorIChtYXRjaF9vcGVyYW5kOkFOWUYgMiAicmVnaXN0ZXJf b3BlcmFuZCIgIiBmIildCisgUVVJRVRfQ09NUEFSSVNPTikpXQorICJUQVJH RVRfSEFSRF9GTE9BVCAmJiBUQVJHRVRfWkZBIgorICJmPHF1aWV0X3BhdHRl cm4+cS48Zm10Plx0JTAsJTEsJTIiCisgWyhzZXRfYXR0ciAidHlwZSIgImZj bXAiKQorIChzZXRfYXR0ciAibW9kZSIgIjxVTklUTU9ERT4iKQorIChzZXQg KGF0dHIgImxlbmd0aCIpIChjb25zdF9pbnQgMTYpKV0pCisKIChkZWZpbmVf aW5zbiAiKnNlcV96ZXJvXzxYOm1vZGU+PEdQUjptb2RlPiIKIFsoc2V0ICht YXRjaF9vcGVyYW5kOkdQUiAwICJyZWdpc3Rlcl9vcGVyYW5kIiAiPXIiKQog KGVxOkdQUiAobWF0Y2hfb3BlcmFuZDpYIDEgInJlZ2lzdGVyX29wZXJhbmQi ICIgciIpCmRpZmYgLS1naXQgYS9nY2MvY29uZmlnL3Jpc2N2L3Jpc2N2Lm9w dCBiL2djYy9jb25maWcvcmlzY3YvcmlzY3Yub3B0CmluZGV4IDdjM2NhNDhk MWNjLi4xNDQyNzYyNDM5MiAxMDA2NDQKLS0tIGEvZ2NjL2NvbmZpZy9yaXNj di9yaXNjdi5vcHQKKysrIGIvZ2NjL2NvbmZpZy9yaXNjdi9yaXNjdi5vcHQK QEAgLTE2Miw2ICsxNjIsMTAgQEAgbWFsaWduLWRhdGE9CiBUYXJnZXQgUmVq ZWN0TmVnYXRpdmUgSm9pbmVkIFZhcihyaXNjdl9hbGlnbl9kYXRhX3R5cGUp IEVudW0ocmlzY3ZfYWxpZ25fZGF0YSkgSW5pdChyaXNjdl9hbGlnbl9kYXRh X3R5cGVfeGxlbikKIFVzZSB0aGUgZ2l2ZW4gZGF0YSBhbGlnbm1lbnQuCitt ZmxpX3ZhbHVlX2J5X2ludAorVGFyZ2V0IFZhcihyaXNjdl9mbGlfdmFsdWVf YnlfaW50KSBJbml0KDEpIFVuZG9jdW1lbnRlZAorVGhlIGZsaSBpbnN0cnVj dGlvbiBpbiB0aGUgemZhIGV4dGVuc2lvbiB1c2VzIGludGVnZXJzIHRvIHJl cHJlc2VudCBmbG9hdGluZy1wb2ludCB2YWx1ZXMuCisKIEVudW0KIE5hbWUo cmlzY3ZfYWxpZ25fZGF0YSkgVHlwZShlbnVtIHJpc2N2X2FsaWduX2RhdGEp CiBLbm93biBkYXRhIGFsaWdubWVudCBjaG9pY2VzIChmb3IgdXNlIHdpdGgg dGhlIC1tYWxpZ24tZGF0YT0gb3B0aW9uKToKZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmN2dG1vZC5jIGIvZ2Nj L3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mY3Z0bW9kLmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjY1NDU1NTE2 YTc3Ci0tLSAvZGV2L251bGwKKysrIGIvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3pmYS1mY3Z0bW9kLmMKQEAgLTAsMCArMSwxMiBAQAorLyog eyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctc2tpcC1pZiAiIiB7ICot Ki0qIH0geyAiKiIgfSB7ICItbWFyY2g9cnY2NCogLU8yIiB9IH0gKi8KKy8q IHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnX3pmYSAtbWFiaT1scDY0ZCIg fSAqLworCitleHRlcm4gZG91YmxlIGE7CisKK3ZvaWQgZm9vKGludCAqeCwg ZG91YmxlIGEpCit7CisgKnggPSBhOworfQorCisvKiB7IGRnLWZpbmFsIHsg c2Nhbi1hc3NlbWJsZXItdGltZXMgImZjdnRtb2Qudy5kIiAxIH0gfSAqLwpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmxlcS1mbHRxLmMgYi9n Y2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZsZXEtZmx0cS5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi5iNTdi MDgxMGU5NgotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi96ZmEtZmxlcS1mbHRxLmMKQEAgLTAsMCArMSwyMCBA QAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctc2tpcC1pZiAi IiB7ICotKi0qIH0geyAiKiIgfSB7ICItbWFyY2g9cnY2NCogLU8yIiB9IH0g Ki8KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnX3pmYSAtbWFiaT1s cDY0ZCIgfSAqLworCitleHRlcm4gdm9pZCBhYm9ydCh2b2lkKTsKK2V4dGVy biBmbG9hdCBhLCBiOworZXh0ZXJuIGRvdWJsZSBjLCBkOworCit2b2lkCitm b28oKQoreworIGlmICgoX19idWlsdGluX2lzbGVzcyhhLCBiKSB8fCBfX2J1 aWx0aW5faXNsZXNzZXF1YWwoYywgZCkpCisgJiYgKF9fYnVpbHRpbl9pc2xl c3NlcXVhbChhLCBiKXx8IF9fYnVpbHRpbl9pc2xlc3MoYywgZCkpKQorIGFi b3J0KCk7Cit9CisKKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10 aW1lcyAiZmxlcS5zIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzICJmbHRxLnMiIDEgfSB9ICovCisvKiB7IGRnLWZp bmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZsZXEuZCIgMSB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZmx0cS5k IiAxIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rlc3RzdWl0ZS9nY2MudGFy Z2V0L3Jpc2N2L3pmYS1mbGktemZoLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvemZhLWZsaS16ZmguYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uMjZiNDNmNjE3NzQKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZs aS16ZmguYwpAQCAtMCwwICsxLDQyIEBACisvKiB7IGRnLWRvIGNvbXBpbGUg fSAqLworLyogeyBkZy1za2lwLWlmICIiIHsgKi0qLSogfSB7ICIqIiB9IHsg Ii1tYXJjaD1ydjY0KiAtTzIiIH0gfSAqLworLyogeyBkZy1vcHRpb25zICIt bWFyY2g9cnY2NGdfemZhX3pmaCAtbWFiaT1scDY0ZCIgfSAqLworCit2b2lk IGZvb19mbG9hdDE2ICgpCit7Cisgdm9sYXRpbGUgX0Zsb2F0MTYgYTsKKyBh ID0gLTEuMDsKKyBhID0gNi4xMDRFLTU7CisgYSA9IDEuMC8oMSA8PCAxNik7 CisgYSA9IDEuMC8oMSA8PCAxNSk7CisgYSA9IDEuMC8oMSA8PCA4KTsKKyBh ID0gMS4wLygxIDw8IDcpOworIGEgPSAxLjAvKDEgPDwgNCk7CisgYSA9IDEu MC8oMSA8PCAzKTsKKyBhID0gMS4wLygxIDw8IDIpOworIGEgPSAwLjMxMjU7 CisgYSA9IDAuMzc1OworIGEgPSAwLjQzNzU7CisgYSA9IDAuNTsKKyBhID0g MC42MjU7CisgYSA9IDAuNzU7CisgYSA9IDAuODc1OworIGEgPSAxLjA7Cisg YSA9IDEuMjU7CisgYSA9IDEuNTsKKyBhID0gMS43NTsKKyBhID0gMi4wOwor IGEgPSAyLjU7CisgYSA9IDMuMDsKKyBhID0gMS4wKigxIDw8IDIpOworIGEg PSAxLjAqKDEgPDwgMyk7CisgYSA9IDEuMCooMSA8PCA0KTsKKyBhID0gMS4w KigxIDw8IDcpOworIGEgPSAxLjAqKDEgPDwgOCk7CisgYSA9IDEuMCooMSA8 PCAxNSk7CisgYSA9IDEuMCooMSA8PCAxNik7CisgYSA9IF9fYnVpbHRpbl9p bmZmICgpOworIGEgPSBfX2J1aWx0aW5fbmFuZiAoIiIpOworfQorCisvKiB7 IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZsaS5oIiAzMSB9 IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdldC9y aXNjdi96ZmEtZmxpLmMgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlz Y3YvemZhLWZsaS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMDAwLi5lMzM5MGM2OTdjZQotLS0gL2Rldi9udWxsCisrKyBiL2djYy90 ZXN0c3VpdGUvZ2NjLnRhcmdldC9yaXNjdi96ZmEtZmxpLmMKQEAgLTAsMCAr MSw4MCBAQAorLyogeyBkZy1kbyBjb21waWxlIH0gKi8KKy8qIHsgZGctc2tp cC1pZiAiIiB7ICotKi0qIH0geyAiKiIgfSB7ICItbWFyY2g9cnY2NCogLU8y IiB9IH0gKi8KKy8qIHsgZGctb3B0aW9ucyAiLW1hcmNoPXJ2NjRnX3pmYSAt bWFiaT1scDY0ZCIgfSAqLworCit2b2lkIGZvb19mbG9hdDMyICgpCit7Cisg dm9sYXRpbGUgZmxvYXQgYTsKKyBhID0gLTEuMDsKKyBhID0gMS4xNzU0OTQ0 ZS0zODsKKyBhID0gMS4wLygxIDw8IDE2KTsKKyBhID0gMS4wLygxIDw8IDE1 KTsKKyBhID0gMS4wLygxIDw8IDgpOworIGEgPSAxLjAvKDEgPDwgNyk7Cisg YSA9IDEuMC8oMSA8PCA0KTsKKyBhID0gMS4wLygxIDw8IDMpOworIGEgPSAx LjAvKDEgPDwgMik7CisgYSA9IDAuMzEyNTsKKyBhID0gMC4zNzU7CisgYSA9 IDAuNDM3NTsKKyBhID0gMC41OworIGEgPSAwLjYyNTsKKyBhID0gMC43NTsK KyBhID0gMC44NzU7CisgYSA9IDEuMDsKKyBhID0gMS4yNTsKKyBhID0gMS41 OworIGEgPSAxLjc1OworIGEgPSAyLjA7CisgYSA9IDIuNTsKKyBhID0gMy4w OworIGEgPSAxLjAqKDEgPDwgMik7CisgYSA9IDEuMCooMSA8PCAzKTsKKyBh ID0gMS4wKigxIDw8IDQpOworIGEgPSAxLjAqKDEgPDwgNyk7CisgYSA9IDEu MCooMSA8PCA4KTsKKyBhID0gMS4wKigxIDw8IDE1KTsKKyBhID0gMS4wKigx IDw8IDE2KTsKKyBhID0gX19idWlsdGluX2luZmYgKCk7CisgYSA9IF9fYnVp bHRpbl9uYW5mICgiIik7Cit9CisKK3ZvaWQgZm9vX2RvdWJsZTY0ICgpCit7 Cisgdm9sYXRpbGUgZG91YmxlIGE7CisgYSA9IC0xLjA7CisgYSA9IDEuMTc1 NDk0MzUwODIyMjg3NUUtMzg7CisgYSA9IDEuMC8oMSA8PCAxNik7CisgYSA9 IDEuMC8oMSA8PCAxNSk7CisgYSA9IDEuMC8oMSA8PCA4KTsKKyBhID0gMS4w LygxIDw8IDcpOworIGEgPSAxLjAvKDEgPDwgNCk7CisgYSA9IDEuMC8oMSA8 PCAzKTsKKyBhID0gMS4wLygxIDw8IDIpOworIGEgPSAwLjMxMjU7CisgYSA9 IDAuMzc1OworIGEgPSAwLjQzNzU7CisgYSA9IDAuNTsKKyBhID0gMC42MjU7 CisgYSA9IDAuNzU7CisgYSA9IDAuODc1OworIGEgPSAxLjA7CisgYSA9IDEu MjU7CisgYSA9IDEuNTsKKyBhID0gMS43NTsKKyBhID0gMi4wOworIGEgPSAy LjU7CisgYSA9IDMuMDsKKyBhID0gMS4wKigxIDw8IDIpOworIGEgPSAxLjAq KDEgPDwgMyk7CisgYSA9IDEuMCooMSA8PCA0KTsKKyBhID0gMS4wKigxIDw8 IDcpOworIGEgPSAxLjAqKDEgPDwgOCk7CisgYSA9IDEuMCooMSA8PCAxNSk7 CisgYSA9IDEuMCooMSA8PCAxNik7CisgYSA9IF9fYnVpbHRpbl9pbmYgKCk7 CisgYSA9IF9fYnVpbHRpbl9uYW4gKCIiKTsKK30KKworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJmbGkucyIgMzIgfSB9ICovCisv KiB7IGRnLWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZsaS5kIiAz MiB9IH0gKi8KZGlmZiAtLWdpdCBhL2djYy90ZXN0c3VpdGUvZ2NjLnRhcmdl dC9yaXNjdi96ZmEtZm1pbm0tZm1heG0uYyBiL2djYy90ZXN0c3VpdGUvZ2Nj LnRhcmdldC9yaXNjdi96ZmEtZm1pbm0tZm1heG0uYwpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMC4uMzg2NzI1YTkwMzAKLS0tIC9k ZXYvbnVsbAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3Yv emZhLWZtaW5tLWZtYXhtLmMKQEAgLTAsMCArMSwyNSBAQAorLyogeyBkZy1k byBjb21waWxlIH0gKi8KKy8qIHsgZGctc2tpcC1pZiAiIiB7ICotKi0qIH0g eyAiKiIgfSB7ICItbWFyY2g9cnY2NCogLU8yIiB9IH0gKi8KKy8qIHsgZGct b3B0aW9ucyAiLW1hcmNoPXJ2NjRnX3pmYSAtbWFiaT1scDY0ZCIgfSAqLwor CitleHRlcm4gZmxvYXQgYSwgYjsKK2V4dGVybiBkb3VibGUgYywgZDsKKwor dm9pZAorZm9vKGZsb2F0ICp4LCBkb3VibGUgKnkpCit7CisgeworICp4ID0g X19idWlsdGluX3Jpc2N2X2ZtaW5tZihhLCBiKTsKKyAqeSA9IF9fYnVpbHRp bl9yaXNjdl9mbWlubShjLCBkKTsKKyB9CisKKyB7CisgKnggPSBfX2J1aWx0 aW5fcmlzY3ZfZm1heG1mKGEsIGIpOworICp5ID0gX19idWlsdGluX3Jpc2N2 X2ZtYXhtKGMsIGQpOworIH0KK30KKworLyogeyBkZy1maW5hbCB7IHNjYW4t YXNzZW1ibGVyLXRpbWVzICJmbWlubS5zIiAxIH0gfSAqLworLyogeyBkZy1m aW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJmbWlubS5kIiAxIH0gfSAq LworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJmbWF4 bS5zIiAxIH0gfSAqLworLyogeyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVy LXRpbWVzICJmbWF4bS5kIiAxIH0gfSAqLwpkaWZmIC0tZ2l0IGEvZ2NjL3Rl c3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbW92aC1mbW92cC5jIGIv Z2NjL3Rlc3RzdWl0ZS9nY2MudGFyZ2V0L3Jpc2N2L3pmYS1mbW92aC1mbW92 cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwLi45 MDA1ZTc1ZDg2OAotLS0gL2Rldi9udWxsCisrKyBiL2djYy90ZXN0c3VpdGUv Z2NjLnRhcmdldC9yaXNjdi96ZmEtZm1vdmgtZm1vdnAuYwpAQCAtMCwwICsx LDExIEBACisvKiB7IGRnLWRvIGNvbXBpbGUgfSAqLworLyogeyBkZy1za2lw LWlmICIiIHsgKi0qLSogfSB7ICIqIiB9IHsgIi1tYXJjaD1ydjMyKiAtTzAi IH0gfSAqLworLyogeyBkZy1vcHRpb25zICItbWFyY2g9cnYzMmdfemZhIC1t YWJpPWlscDMyIiB9ICovCisKK2RvdWJsZSBmb28obG9uZyBsb25nIGEpCit7 CisgcmV0dXJuIChkb3VibGUpKGEgKyAzKTsKK30KKworLyogeyBkZy1maW5h bCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJmbXZwLmQueCIgMSB9IH0gKi8K Ky8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1lcyAiZm12aC54 LmQiIDEgfSB9ICovCmRpZmYgLS1naXQgYS9nY2MvdGVzdHN1aXRlL2djYy50 YXJnZXQvcmlzY3YvemZhLWZyb3VuZC5jIGIvZ2NjL3Rlc3RzdWl0ZS9nY2Mu dGFyZ2V0L3Jpc2N2L3pmYS1mcm91bmQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMC4uZTg0YTBiZDE5OTgKLS0tIC9kZXYvbnVs bAorKysgYi9nY2MvdGVzdHN1aXRlL2djYy50YXJnZXQvcmlzY3YvemZhLWZy b3VuZC5jCkBAIC0wLDAgKzEsMjUgQEAKKy8qIHsgZGctZG8gY29tcGlsZSB9 ICovCisvKiB7IGRnLXNraXAtaWYgIiIgeyAqLSotKiB9IHsgIioiIH0geyAi LW1hcmNoPXJ2NjQqIC1PMiIgfSB9ICovCisvKiB7IGRnLW9wdGlvbnMgIi1t YXJjaD1ydjY0Z196ZmEgLW1hYmk9bHA2NGQiIH0gKi8KKworI2luY2x1ZGUg PG1hdGguaD4KKworZXh0ZXJuIGZsb2F0IGE7CitleHRlcm4gZG91YmxlIGI7 CisKK3ZvaWQgZm9vIChmbG9hdCAqeCwgZG91YmxlICp5KQoreworIHsKKyAq eCA9IHJvdW5kZiAoYSk7CisgKnkgPSByb3VuZCAoYik7CisgfQorIHsKKyAq eCA9IHJpbnRmIChhKTsKKyAqeSA9IHJpbnQgKGIpOworIH0KK30KKworLyog eyBkZy1maW5hbCB7IHNjYW4tYXNzZW1ibGVyLXRpbWVzICJmcm91bmQucyIg MSB9IH0gKi8KKy8qIHsgZGctZmluYWwgeyBzY2FuLWFzc2VtYmxlci10aW1l cyAiZnJvdW5kLmQiIDEgfSB9ICovCisvKiB7IGRnLWZpbmFsIHsgc2Nhbi1h c3NlbWJsZXItdGltZXMgImZyb3VuZG54LnMiIDEgfSB9ICovCisvKiB7IGRn LWZpbmFsIHsgc2Nhbi1hc3NlbWJsZXItdGltZXMgImZyb3VuZG54LmQiIDEg fSB9ICovCi0tCjIuMTcuMQo= ------=ALIBOUNDARY_48946_7f84bfa65700_63bf97eb_10684d--