Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ty120-001Cpq-4l for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Mar 2025 04:09:21 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1ty11y-0025BR-Em for pgsql-hackers@arkaria.postgresql.org; Fri, 28 Mar 2025 04:09:18 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ty11x-00258y-Ik for pgsql-hackers@lists.postgresql.org; Fri, 28 Mar 2025 04:09:18 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1ty11s-001YIa-1z for pgsql-hackers@postgresql.org; Fri, 28 Mar 2025 04:09:16 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1743134948; bh=3LM+1PgrTeZcdIbFSG57Xb1CVjwLKDsHtN7x84tsRas=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=rQmL3KCAa3wm8VpNc+OlXfNVnfEsZuYtuRyWFJgEEJ/CqLcxEsSXaOfpAkVtEx8eJ wc9bdwHSwK6O/FDO2z+zU0Dt3eXp6wGhgv4MMdTAJ/H7McRuSgQSVC7qsft2uEC9me agzY0b0YFiPKC0vX3bsYZHLTXIuZWj0CEn/idp0xk+UmtARsuqzfiafZziH5yOjDLi v2cLn7h9lQSq9SloOPqFhcQQdYsDB+Ye/FrKKYmDix/kvA9fnDtokZXrPdLxa8uGSe BK2QmfoIclvSfXE+o2qqB4jweJyKJ338FeP+XqvDGiUS0OBR99FJKi3NsXocS+UbDQ uRlphT/GLOFwA== Received: from [172.30.49.42] (unknown [93.174.131.138]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: a.melnikov@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 427386046E; Fri, 28 Mar 2025 07:09:08 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------BLi92Va08L6aoyF2I3LCjU4p" Message-ID: <2883bd25-f362-41ed-8d41-b6e0aac8fa27@postgrespro.ru> Date: Fri, 28 Mar 2025 07:09:07 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Use XLOG_CONTROL_FILE macro everywhere? From: "Anton A. Melnikov" To: Kyotaro Horiguchi Cc: daniel@yesql.se, peter@eisentraut.org, tgl@sss.pgh.pa.us, robertmhaas@gmail.com, michael@paquier.xyz, pgsql-hackers@postgresql.org References: <54B16BF2-6979-4BB0-BE39-118D32B1BC58@yesql.se> <20240903.143756.562059416508617821.horikyota.ntt@gmail.com> <20240904.170927.1051663922860738119.horikyota.ntt@gmail.com> <359568e0-cffc-4f64-b84c-eee76ba229b8@postgrespro.ru> Content-Language: en-US In-Reply-To: <359568e0-cffc-4f64-b84c-eee76ba229b8@postgrespro.ru> X-KSMG-AntiPhishing: NotDetected, bases: 2025/03/28 03:38:00 X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 2.1.0.7854, bases: 2025/03/28 03:04:00 #27838318 X-KSMG-AntiVirus-Status: NotDetected, skipped X-KSMG-LinksScanning: not scanned, disabled by settings X-KSMG-Message-Action: skipped X-KSMG-Rule-ID: 1 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------BLi92Va08L6aoyF2I3LCjU4p Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi! > * Patch needs rebase by CFbot Rebased the patches onto the current master and marked them as v4. Best wishes, -- Anton A. Melnikov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company --------------BLi92Va08L6aoyF2I3LCjU4p Content-Type: text/x-patch; charset=UTF-8; name="v4-0001-Split-file-related-parts-from-xlog_internal.h.patch" Content-Disposition: attachment; filename*0="v4-0001-Split-file-related-parts-from-xlog_internal.h.patch" Content-Transfer-Encoding: base64 RnJvbSA2ODk1MzkyODVkZDgxM2E2ODI1MDdjZTMxMGI0NWM5NzhkNjdiMDY1IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLeW90YXJvIEhvcmlndWNoaSA8aG9yaWt5b3RhLm50 dEBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNCBTZXAgMjAyNCAxNjoxNToxNiArMDkwMApTdWJq ZWN0OiBbUEFUQ0ggMS8zXSBTcGxpdCBmaWxlLXJlbGF0ZWQgcGFydHMgZnJvbSB4bG9nX2lu dGVybmFsLmgKClNvbWUgbW9kdWxlcyB0aGF0IHJlcXVpcmUgWExPRyBmaWxlIG1hbmlwdWxh dGlvbiBoYWQgdG8gaW5jbHVkZQp4bG9nX2ludGVybmFsLmgsIHdoaWNoIGNvbnRhaW5zIGV4 Y2Vzc2l2ZWx5IGRldGFpbGVkIGludGVybmFsCmluZm9ybWF0aW9uLiBUaGlzIGNvbW1pdCBz ZXBhcmF0ZXMgdGhlIGZpbGUgYW5kIGZpbGUgcGF0aC1yZWxhdGVkCmNvbXBvbmVudHMgaW50 byB4bG9nZmlsZXBhdGhzLmgsIHRoZXJlYnkgYXZvaWRpbmcgdGhlIGV4cG9zdXJlIG9mCnVu cmVsYXRlZCBkZXRhaWxzIG9mIHRoZSBYTE9HIG1vZHVsZS4KLS0tCiBzcmMvYmFja2VuZC9h Y2Nlc3MvdHJhbnNhbS90aW1lbGluZS5jICAgICAgICAgfCAgIDEgLQogc3JjL2JhY2tlbmQv cG9zdG1hc3Rlci9wZ2FyY2guYyAgICAgICAgICAgICAgIHwgICAxIC0KIHNyYy9iYWNrZW5k L3V0aWxzL2FkdC9nZW5maWxlLmMgICAgICAgICAgICAgICB8ICAgMSAtCiBzcmMvYmluL2lu aXRkYi9pbml0ZGIuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogc3JjL2Jpbi9w Z19hcmNoaXZlY2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5jIHwgICAyICstCiBzcmMvYmlu L3BnX2Jhc2ViYWNrdXAvcGdfYmFzZWJhY2t1cC5jICAgICAgICAgfCAgIDQgKy0KIHNyYy9i aW4vcGdfYmFzZWJhY2t1cC9wZ19yZWNlaXZld2FsLmMgICAgICAgICB8ICAgMSArCiBzcmMv YmluL3BnX2Jhc2ViYWNrdXAvcmVjZWl2ZWxvZy5jICAgICAgICAgICAgfCAgIDIgKy0KIHNy Yy9iaW4vcGdfYmFzZWJhY2t1cC9zdHJlYW11dGlsLmMgICAgICAgICAgICB8ICAgMiArLQog c3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jICAgICAgIHwgICAxIC0K IHNyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jICAgICAgICAgICAgICAgICB8ICAgMiAr LQogc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaCAgICAgICAgICAgICAgICAgICAgIHwgIDEz ICstCiBzcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ19pbnRlcm5hbC5oICAgICAgICAgICAgfCAx NzggKy0tLS0tLS0tLS0tLS0KIHNyYy9pbmNsdWRlL2FjY2Vzcy94bG9nZmlsZXBhdGhzLmgg ICAgICAgICAgICB8IDIxOSArKysrKysrKysrKysrKysrKysKIDE0IGZpbGVzIGNoYW5nZWQs IDIzMCBpbnNlcnRpb25zKCspLCAxOTggZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2 NDQgc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dmaWxlcGF0aHMuaAoKZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3RpbWVsaW5lLmMgYi9zcmMvYmFja2VuZC9hY2Nl c3MvdHJhbnNhbS90aW1lbGluZS5jCmluZGV4IGEyN2YyN2NjMDM3Li43MTBlOTIyOTdlMyAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0vdGltZWxpbmUuYworKysg Yi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS90aW1lbGluZS5jCkBAIC0zOCw3ICszOCw2 IEBACiAjaW5jbHVkZSAiYWNjZXNzL3hsb2cuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ19p bnRlcm5hbC5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9nYXJjaGl2ZS5oIgotI2luY2x1ZGUg ImFjY2Vzcy94bG9nZGVmcy5oIgogI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInN0 b3JhZ2UvZmQuaCIKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2Fy Y2guYyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdhcmNoLmMKaW5kZXggN2U2MjJhZTRi ZDIuLjRkYjhhMDBiODQ5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bn YXJjaC5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdhcmNoLmMKQEAgLTMwLDcg KzMwLDYgQEAKICNpbmNsdWRlIDx1bmlzdGQuaD4KIAogI2luY2x1ZGUgImFjY2Vzcy94bG9n LmgiCi0jaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50ZXJuYWwuaCIKICNpbmNsdWRlICJhcmNo aXZlL2FyY2hpdmVfbW9kdWxlLmgiCiAjaW5jbHVkZSAiYXJjaGl2ZS9zaGVsbF9hcmNoaXZl LmgiCiAjaW5jbHVkZSAibGliL2JpbmFyeWhlYXAuaCIKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3V0aWxzL2FkdC9nZW5maWxlLmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvZ2VuZmls ZS5jCmluZGV4IDgwYmI4MDdmYmU5Li5hZjRjMTQ4YzgwOSAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvdXRpbHMvYWR0L2dlbmZpbGUuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9hZHQv Z2VuZmlsZS5jCkBAIC0yMSw3ICsyMSw2IEBACiAjaW5jbHVkZSA8ZGlyZW50Lmg+CiAKICNp bmNsdWRlICJhY2Nlc3MvaHR1cF9kZXRhaWxzLmgiCi0jaW5jbHVkZSAiYWNjZXNzL3hsb2df aW50ZXJuYWwuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2F1dGhpZC5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfdGFibGVzcGFjZV9kLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBl LmgiCmRpZmYgLS1naXQgYS9zcmMvYmluL2luaXRkYi9pbml0ZGIuYyBiL3NyYy9iaW4vaW5p dGRiL2luaXRkYi5jCmluZGV4IDIyYjdkMzFiMTY1Li42NzY4ZWY4NGM3YyAxMDA2NDQKLS0t IGEvc3JjL2Jpbi9pbml0ZGIvaW5pdGRiLmMKKysrIGIvc3JjL2Jpbi9pbml0ZGIvaW5pdGRi LmMKQEAgLTY1LDYgKzY1LDcgQEAKICNlbmRpZgogCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2df aW50ZXJuYWwuaCIKKyNpbmNsdWRlICJsaWIvc3RyaW5naW5mby5oIgogI2luY2x1ZGUgImNh dGFsb2cvcGdfYXV0aGlkX2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2NsYXNzX2QuaCIK ICNpbmNsdWRlICJjYXRhbG9nL3BnX2NvbGxhdGlvbl9kLmgiCmRpZmYgLS1naXQgYS9zcmMv YmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMgYi9zcmMvYmluL3Bn X2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMKaW5kZXggYzI1MzQ4YmNiODUu LmVkZjE4MjhiYzczIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3Bn X2FyY2hpdmVjbGVhbnVwLmMKKysrIGIvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9wZ19h cmNoaXZlY2xlYW51cC5jCkBAIC0xNSw3ICsxNSw3IEBACiAjaW5jbHVkZSA8c2lnbmFsLmg+ CiAjaW5jbHVkZSA8c3lzL3RpbWUuaD4KIAotI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVy bmFsLmgiCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCIKICNpbmNsdWRlICJj b21tb24vbG9nZ2luZy5oIgogI2luY2x1ZGUgImdldG9wdF9sb25nLmgiCiAKZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19iYXNlYmFja3VwLmMgYi9zcmMvYmluL3Bn X2Jhc2ViYWNrdXAvcGdfYmFzZWJhY2t1cC5jCmluZGV4IDFkYTRiZmMyMzUxLi4wMWYzNmUx YzM4ZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2Jhc2ViYWNrdXAu YworKysgYi9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfYmFzZWJhY2t1cC5jCkBAIC0yNSw3 ICsyNSw3IEBACiAjaW5jbHVkZSA8emxpYi5oPgogI2VuZGlmCiAKLSNpbmNsdWRlICJhY2Nl c3MveGxvZ19pbnRlcm5hbC5oIgorI2luY2x1ZGUgImFjY2Vzcy94bG9nZmlsZXBhdGhzLmgi CiAjaW5jbHVkZSAiYXN0cmVhbWVyX2luamVjdC5oIgogI2luY2x1ZGUgImJhY2t1cC9iYXNl YmFja3VwLmgiCiAjaW5jbHVkZSAiY29tbW9uL2NvbXByZXNzaW9uLmgiCkBAIC0zNSw2ICsz NSw4IEBACiAjaW5jbHVkZSAiZmVfdXRpbHMvb3B0aW9uX3V0aWxzLmgiCiAjaW5jbHVkZSAi ZmVfdXRpbHMvcmVjb3ZlcnlfZ2VuLmgiCiAjaW5jbHVkZSAiZ2V0b3B0X2xvbmcuaCIKKyNp bmNsdWRlICJwZ3RpbWUuaCIKKyNpbmNsdWRlICJwb3J0L3BnX2Jzd2FwLmgiCiAjaW5jbHVk ZSAicmVjZWl2ZWxvZy5oIgogI2luY2x1ZGUgInN0cmVhbXV0aWwuaCIKIApkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX3JlY2VpdmV3YWwuYyBiL3NyYy9iaW4vcGdf YmFzZWJhY2t1cC9wZ19yZWNlaXZld2FsLmMKaW5kZXggZGUzNTg0MDE4YjAuLjRmYWNjMzVm ODQ1IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfcmVjZWl2ZXdhbC5j CisrKyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19yZWNlaXZld2FsLmMKQEAgLTI3LDYg KzI3LDcgQEAKICNpbmNsdWRlIDx6bGliLmg+CiAjZW5kaWYKIAorLy8jaW5jbHVkZSAiYWNj ZXNzL3hsb2dmaWxlcGF0aHMuaCIKICNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRlcm5hbC5o IgogI2luY2x1ZGUgImNvbW1vbi9maWxlX3Blcm0uaCIKICNpbmNsdWRlICJjb21tb24vbG9n Z2luZy5oIgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3JlY2VpdmVsb2cu YyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9yZWNlaXZlbG9nLmMKaW5kZXggNmI2ZTMyZGZi ZGYuLjRmNzJlZDQyZTExIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcmVj ZWl2ZWxvZy5jCisrKyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9yZWNlaXZlbG9nLmMKQEAg LTE4LDcgKzE4LDcgQEAKICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHVuaXN0 ZC5oPgogCi0jaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50ZXJuYWwuaCIKKyNpbmNsdWRlICJh Y2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1ZGUgImNvbW1vbi9sb2dnaW5nLmgiCiAj aW5jbHVkZSAibGlicHEtZmUuaCIKICNpbmNsdWRlICJyZWNlaXZlbG9nLmgiCmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvc3RyZWFtdXRpbC5jIGIvc3JjL2Jpbi9wZ19i YXNlYmFja3VwL3N0cmVhbXV0aWwuYwppbmRleCA4ZTYwNWY0M2ZmZS4uNjJlYjA1ODZkYzQg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9zdHJlYW11dGlsLmMKKysrIGIv c3JjL2Jpbi9wZ19iYXNlYmFja3VwL3N0cmVhbXV0aWwuYwpAQCAtMTcsNyArMTcsNyBAQAog I2luY2x1ZGUgPHN5cy90aW1lLmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+CiAKLSNpbmNsdWRl ICJhY2Nlc3MveGxvZ19pbnRlcm5hbC5oIgorI2luY2x1ZGUgImFjY2Vzcy94bG9nZmlsZXBh dGhzLmgiCiAjaW5jbHVkZSAiY29tbW9uL2Nvbm5lY3QuaCIKICNpbmNsdWRlICJjb21tb24v ZmlsZV9wZXJtLmgiCiAjaW5jbHVkZSAiY29tbW9uL2xvZ2dpbmcuaCIKZGlmZiAtLWdpdCBh L3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRhdGEuYyBiL3NyYy9iaW4vcGdf Y29udHJvbGRhdGEvcGdfY29udHJvbGRhdGEuYwppbmRleCBiZWE3NzllZWY5NC4uMTYyZjA4 NzYyNmQgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRh dGEuYworKysgYi9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMKQEAg LTIyLDcgKzIyLDYgQEAKIAogI2luY2x1ZGUgImFjY2Vzcy90cmFuc2FtLmgiCiAjaW5jbHVk ZSAiYWNjZXNzL3hsb2cuaCIKLSNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRlcm5hbC5oIgog I2luY2x1ZGUgImNhdGFsb2cvcGdfY29udHJvbC5oIgogI2luY2x1ZGUgImNvbW1vbi9jb250 cm9sZGF0YV91dGlscy5oIgogI2luY2x1ZGUgImNvbW1vbi9sb2dnaW5nLmgiCmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYyBiL3NyYy9iaW4vcGdfcmV3aW5k L3BnX3Jld2luZC5jCmluZGV4IDJjOGIxYTA3MDA3Li5hNjI1MTA1ZmJjYyAxMDA2NDQKLS0t IGEvc3JjL2Jpbi9wZ19yZXdpbmQvcGdfcmV3aW5kLmMKKysrIGIvc3JjL2Jpbi9wZ19yZXdp bmQvcGdfcmV3aW5kLmMKQEAgLTE1LDcgKzE1LDcgQEAKICNpbmNsdWRlIDx1bmlzdGQuaD4K IAogI2luY2x1ZGUgImFjY2Vzcy90aW1lbGluZS5oIgotI2luY2x1ZGUgImFjY2Vzcy94bG9n X2ludGVybmFsLmgiCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCIKICNpbmNs dWRlICJjYXRhbG9nL2NhdHZlcnNpb24uaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX2NvbnRy b2wuaCIKICNpbmNsdWRlICJjb21tb24vY29udHJvbGRhdGFfdXRpbHMuaCIKZGlmZiAtLWdp dCBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nLmggYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxv Zy5oCmluZGV4IGQzMTMwOTljMDI3Li43ZWY5MjY0ZmFiYyAxMDA2NDQKLS0tIGEvc3JjL2lu Y2x1ZGUvYWNjZXNzL3hsb2cuaAorKysgYi9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZy5oCkBA IC0xNiw2ICsxNiw3IEBACiAjaW5jbHVkZSAiZGF0YXR5cGUvdGltZXN0YW1wLmgiCiAjaW5j bHVkZSAibGliL3N0cmluZ2luZm8uaCIKICNpbmNsdWRlICJub2Rlcy9wZ19saXN0LmgiCisj aW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCIKIAogCiAvKiBTeW5jIG1ldGhvZHMg Ki8KQEAgLTI5OSwxNiArMzAwLDQgQEAgZXh0ZXJuIHZvaWQgZG9fcGdfYWJvcnRfYmFja3Vw KGludCBjb2RlLCBEYXR1bSBhcmcpOwogZXh0ZXJuIHZvaWQgcmVnaXN0ZXJfcGVyc2lzdGVu dF9hYm9ydF9iYWNrdXBfaGFuZGxlcih2b2lkKTsKIGV4dGVybiBTZXNzaW9uQmFja3VwU3Rh dGUgZ2V0X2JhY2t1cF9zdGF0dXModm9pZCk7CiAKLS8qIEZpbGUgcGF0aCBuYW1lcyAoYWxs IHJlbGF0aXZlIHRvICRQR0RBVEEpICovCi0jZGVmaW5lIFJFQ09WRVJZX1NJR05BTF9GSUxF CSJyZWNvdmVyeS5zaWduYWwiCi0jZGVmaW5lIFNUQU5EQllfU0lHTkFMX0ZJTEUJCSJzdGFu ZGJ5LnNpZ25hbCIKLSNkZWZpbmUgQkFDS1VQX0xBQkVMX0ZJTEUJCSJiYWNrdXBfbGFiZWwi Ci0jZGVmaW5lIEJBQ0tVUF9MQUJFTF9PTEQJCSJiYWNrdXBfbGFiZWwub2xkIgotCi0jZGVm aW5lIFRBQkxFU1BBQ0VfTUFQCQkJInRhYmxlc3BhY2VfbWFwIgotI2RlZmluZSBUQUJMRVNQ QUNFX01BUF9PTEQJCSJ0YWJsZXNwYWNlX21hcC5vbGQiCi0KLS8qIGZpbGVzIHRvIHNpZ25h bCBwcm9tb3Rpb24gdG8gcHJpbWFyeSAqLwotI2RlZmluZSBQUk9NT1RFX1NJR05BTF9GSUxF CQkicHJvbW90ZSIKLQogI2VuZGlmCQkJCQkJCS8qIFhMT0dfSCAqLwpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dfaW50ZXJuYWwuaCBiL3NyYy9pbmNsdWRlL2FjY2Vz cy94bG9nX2ludGVybmFsLmgKaW5kZXggMmNmOGQ1NWQ3MDYuLjVlODQ2ZTQ4MDczIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ19pbnRlcm5hbC5oCisrKyBiL3NyYy9p bmNsdWRlL2FjY2Vzcy94bG9nX2ludGVybmFsLmgKQEAgLTIxLDYgKzIxLDcgQEAKIAogI2lu Y2x1ZGUgImFjY2Vzcy94bG9nZGVmcy5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9ncmVhZGVy LmgiCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCIKICNpbmNsdWRlICJkYXRh dHlwZS90aW1lc3RhbXAuaCIKICNpbmNsdWRlICJsaWIvc3RyaW5naW5mby5oIgogI2luY2x1 ZGUgInBndGltZS5oIgpAQCAtODQsMTg3ICs4NSwxMCBAQCB0eXBlZGVmIFhMb2dMb25nUGFn ZUhlYWRlckRhdGEgKlhMb2dMb25nUGFnZUhlYWRlcjsKICNkZWZpbmUgWExvZ1BhZ2VIZWFk ZXJTaXplKGhkcikJCVwKIAkoKChoZHIpLT54bHBfaW5mbyAmIFhMUF9MT05HX0hFQURFUikg PyBTaXplT2ZYTG9nTG9uZ1BIRCA6IFNpemVPZlhMb2dTaG9ydFBIRCkKIAotLyogd2FsX3Nl Z21lbnRfc2l6ZSBjYW4gcmFuZ2UgZnJvbSAxTUIgdG8gMUdCICovCi0jZGVmaW5lIFdhbFNl Z01pblNpemUgMTAyNCAqIDEwMjQKLSNkZWZpbmUgV2FsU2VnTWF4U2l6ZSAxMDI0ICogMTAy NCAqIDEwMjQKLS8qIGRlZmF1bHQgbnVtYmVyIG9mIG1pbiBhbmQgbWF4IHdhbCBzZWdtZW50 cyAqLwotI2RlZmluZSBERUZBVUxUX01JTl9XQUxfU0VHUyA1Ci0jZGVmaW5lIERFRkFVTFRf TUFYX1dBTF9TRUdTIDY0Ci0KLS8qIGNoZWNrIHRoYXQgdGhlIGdpdmVuIHNpemUgaXMgYSB2 YWxpZCB3YWxfc2VnbWVudF9zaXplICovCi0jZGVmaW5lIElzUG93ZXJPZjIoeCkgKHggPiAw ICYmICgoeCkgJiAoKHgpLTEpKSA9PSAwKQotI2RlZmluZSBJc1ZhbGlkV2FsU2VnU2l6ZShz aXplKSBcCi0JIChJc1Bvd2VyT2YyKHNpemUpICYmIFwKLQkgKChzaXplKSA+PSBXYWxTZWdN aW5TaXplICYmIChzaXplKSA8PSBXYWxTZWdNYXhTaXplKSkKLQotI2RlZmluZSBYTG9nU2Vn bWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKQlcCi0JKFVJTlQ2NENPTlNUKDB4MTAw MDAwMDAwKSAvICh3YWxfc2Vnc3pfYnl0ZXMpKQotCi0jZGVmaW5lIFhMb2dTZWdOb09mZnNl dFRvUmVjUHRyKHNlZ25vLCBvZmZzZXQsIHdhbF9zZWdzel9ieXRlcywgZGVzdCkgXAotCQko ZGVzdCkgPSAoc2Vnbm8pICogKHdhbF9zZWdzel9ieXRlcykgKyAob2Zmc2V0KQotCi0jZGVm aW5lIFhMb2dTZWdtZW50T2Zmc2V0KHhsb2dwdHIsIHdhbF9zZWdzel9ieXRlcykJXAotCSgo eGxvZ3B0cikgJiAoKHdhbF9zZWdzel9ieXRlcykgLSAxKSkKLQotLyoKLSAqIENvbXB1dGUg YSBzZWdtZW50IG51bWJlciBmcm9tIGFuIFhMb2dSZWNQdHIuCi0gKgotICogRm9yIFhMQnl0 ZVRvU2VnLCBkbyB0aGUgY29tcHV0YXRpb24gYXQgZmFjZSB2YWx1ZS4gIEZvciBYTEJ5dGVU b1ByZXZTZWcsCi0gKiBhIGJvdW5kYXJ5IGJ5dGUgaXMgdGFrZW4gdG8gYmUgaW4gdGhlIHBy ZXZpb3VzIHNlZ21lbnQuICBUaGlzIGlzIHN1aXRhYmxlCi0gKiBmb3IgZGVjaWRpbmcgd2hp Y2ggc2VnbWVudCB0byB3cml0ZSBnaXZlbiBhIHBvaW50ZXIgdG8gYSByZWNvcmQgZW5kLAot ICogZm9yIGV4YW1wbGUuCi0gKi8KLSNkZWZpbmUgWExCeXRlVG9TZWcoeGxycCwgbG9nU2Vn Tm8sIHdhbF9zZWdzel9ieXRlcykgXAotCWxvZ1NlZ05vID0gKHhscnApIC8gKHdhbF9zZWdz el9ieXRlcykKLQotI2RlZmluZSBYTEJ5dGVUb1ByZXZTZWcoeGxycCwgbG9nU2VnTm8sIHdh bF9zZWdzel9ieXRlcykgXAotCWxvZ1NlZ05vID0gKCh4bHJwKSAtIDEpIC8gKHdhbF9zZWdz el9ieXRlcykKLQotLyoKLSAqIENvbnZlcnQgdmFsdWVzIG9mIEdVQ3MgbWVhc3VyZWQgaW4g bWVnYWJ5dGVzIHRvIGVxdWl2LiBzZWdtZW50IGNvdW50LgotICogUm91bmRzIGRvd24uCi0g Ki8KLSNkZWZpbmUgWExvZ01CVmFyVG9TZWdzKG1idmFyLCB3YWxfc2Vnc3pfYnl0ZXMpIFwK LQkoKG1idmFyKSAvICgod2FsX3NlZ3N6X2J5dGVzKSAvICgxMDI0ICogMTAyNCkpKQotCi0v KgotICogSXMgYW4gWExvZ1JlY1B0ciB3aXRoaW4gYSBwYXJ0aWN1bGFyIFhMT0cgc2VnbWVu dD8KLSAqCi0gKiBGb3IgWExCeXRlSW5TZWcsIGRvIHRoZSBjb21wdXRhdGlvbiBhdCBmYWNl IHZhbHVlLiAgRm9yIFhMQnl0ZUluUHJldlNlZywKLSAqIGEgYm91bmRhcnkgYnl0ZSBpcyB0 YWtlbiB0byBiZSBpbiB0aGUgcHJldmlvdXMgc2VnbWVudC4KLSAqLwotI2RlZmluZSBYTEJ5 dGVJblNlZyh4bHJwLCBsb2dTZWdObywgd2FsX3NlZ3N6X2J5dGVzKSBcCi0JKCgoeGxycCkg LyAod2FsX3NlZ3N6X2J5dGVzKSkgPT0gKGxvZ1NlZ05vKSkKLQotI2RlZmluZSBYTEJ5dGVJ blByZXZTZWcoeGxycCwgbG9nU2VnTm8sIHdhbF9zZWdzel9ieXRlcykgXAotCSgoKCh4bHJw KSAtIDEpIC8gKHdhbF9zZWdzel9ieXRlcykpID09IChsb2dTZWdObykpCi0KIC8qIENoZWNr IGlmIGFuIFhMb2dSZWNQdHIgdmFsdWUgaXMgaW4gYSBwbGF1c2libGUgcmFuZ2UgKi8KICNk ZWZpbmUgWFJlY09mZklzVmFsaWQoeGxycCkgXAogCQkoKHhscnApICUgWExPR19CTENLU1og Pj0gU2l6ZU9mWExvZ1Nob3J0UEhEKQogCi0vKgotICogVGhlIFhMb2cgZGlyZWN0b3J5IGFu ZCBjb250cm9sIGZpbGUgKHJlbGF0aXZlIHRvICRQR0RBVEEpCi0gKi8KLSNkZWZpbmUgWExP R0RJUgkJCQkicGdfd2FsIgotI2RlZmluZSBYTE9HX0NPTlRST0xfRklMRQkiZ2xvYmFsL3Bn X2NvbnRyb2wiCi0KLS8qCi0gKiBUaGVzZSBtYWNyb3MgZW5jYXBzdWxhdGUga25vd2xlZGdl IGFib3V0IHRoZSBleGFjdCBsYXlvdXQgb2YgWExvZyBmaWxlCi0gKiBuYW1lcywgdGltZWxp bmUgaGlzdG9yeSBmaWxlIG5hbWVzLCBhbmQgYXJjaGl2ZS1zdGF0dXMgZmlsZSBuYW1lcy4K LSAqLwotI2RlZmluZSBNQVhGTkFNRUxFTgkJNjQKLQotLyogTGVuZ3RoIG9mIFhMb2cgZmls ZSBuYW1lICovCi0jZGVmaW5lIFhMT0dfRk5BTUVfTEVOCSAgIDI0Ci0KLS8qCi0gKiBHZW5l cmF0ZSBhIFdBTCBzZWdtZW50IGZpbGUgbmFtZS4gIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlv biBpbiBhIGhlbHBlcgotICogZnVuY3Rpb24gYWxsb2NhdGluZyB0aGUgcmVzdWx0IGdlbmVy YXRlZC4KLSAqLwotc3RhdGljIGlubGluZSB2b2lkCi1YTG9nRmlsZU5hbWUoY2hhciAqZm5h bWUsIFRpbWVMaW5lSUQgdGxpLCBYTG9nU2VnTm8gbG9nU2VnTm8sIGludCB3YWxfc2Vnc3pf Ynl0ZXMpCi17Ci0Jc25wcmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAiJTA4WCUwOFglMDhY IiwgdGxpLAotCQkJICh1aW50MzIpIChsb2dTZWdObyAvIFhMb2dTZWdtZW50c1BlclhMb2dJ ZCh3YWxfc2Vnc3pfYnl0ZXMpKSwKLQkJCSAodWludDMyKSAobG9nU2VnTm8gJSBYTG9nU2Vn bWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSkpOwotfQotCi1zdGF0aWMgaW5saW5l IHZvaWQKLVhMb2dGaWxlTmFtZUJ5SWQoY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQgdGxpLCB1 aW50MzIgbG9nLCB1aW50MzIgc2VnKQotewotCXNucHJpbnRmKGZuYW1lLCBNQVhGTkFNRUxF TiwgIiUwOFglMDhYJTA4WCIsIHRsaSwgbG9nLCBzZWcpOwotfQotCi1zdGF0aWMgaW5saW5l IGJvb2wKLUlzWExvZ0ZpbGVOYW1lKGNvbnN0IGNoYXIgKmZuYW1lKQotewotCXJldHVybiAo c3RybGVuKGZuYW1lKSA9PSBYTE9HX0ZOQU1FX0xFTiAmJiBcCi0JCQlzdHJzcG4oZm5hbWUs ICIwMTIzNDU2Nzg5QUJDREVGIikgPT0gWExPR19GTkFNRV9MRU4pOwotfQotCi0vKgotICog WExPRyBzZWdtZW50IHdpdGggLnBhcnRpYWwgc3VmZml4LiAgVXNlZCBieSBwZ19yZWNlaXZl d2FsIGFuZCBhdCBlbmQgb2YKLSAqIGFyY2hpdmUgcmVjb3ZlcnksIHdoZW4gd2Ugd2FudCB0 byBhcmNoaXZlIGEgV0FMIHNlZ21lbnQgYnV0IGl0IG1pZ2h0IG5vdAotICogYmUgY29tcGxl dGUgeWV0LgotICovCi1zdGF0aWMgaW5saW5lIGJvb2wKLUlzUGFydGlhbFhMb2dGaWxlTmFt ZShjb25zdCBjaGFyICpmbmFtZSkKLXsKLQlyZXR1cm4gKHN0cmxlbihmbmFtZSkgPT0gWExP R19GTkFNRV9MRU4gKyBzdHJsZW4oIi5wYXJ0aWFsIikgJiYKLQkJCXN0cnNwbihmbmFtZSwg IjAxMjM0NTY3ODlBQkNERUYiKSA9PSBYTE9HX0ZOQU1FX0xFTiAmJgotCQkJc3RyY21wKGZu YW1lICsgWExPR19GTkFNRV9MRU4sICIucGFydGlhbCIpID09IDApOwotfQotCi1zdGF0aWMg aW5saW5lIHZvaWQKLVhMb2dGcm9tRmlsZU5hbWUoY29uc3QgY2hhciAqZm5hbWUsIFRpbWVM aW5lSUQgKnRsaSwgWExvZ1NlZ05vICpsb2dTZWdObywgaW50IHdhbF9zZWdzel9ieXRlcykK LXsKLQl1aW50MzIJCWxvZzsKLQl1aW50MzIJCXNlZzsKLQotCXNzY2FuZihmbmFtZSwgIiUw OFglMDhYJTA4WCIsIHRsaSwgJmxvZywgJnNlZyk7Ci0JKmxvZ1NlZ05vID0gKHVpbnQ2NCkg bG9nICogWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykgKyBzZWc7Ci19 Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAotWExvZ0ZpbGVQYXRoKGNoYXIgKnBhdGgsIFRpbWVM aW5lSUQgdGxpLCBYTG9nU2VnTm8gbG9nU2VnTm8sIGludCB3YWxfc2Vnc3pfYnl0ZXMpCi17 Ci0Jc25wcmludGYocGF0aCwgTUFYUEdQQVRILCBYTE9HRElSICIvJTA4WCUwOFglMDhYIiwg dGxpLAotCQkJICh1aW50MzIpIChsb2dTZWdObyAvIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3 YWxfc2Vnc3pfYnl0ZXMpKSwKLQkJCSAodWludDMyKSAobG9nU2VnTm8gJSBYTG9nU2VnbWVu dHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSkpOwotfQotCi1zdGF0aWMgaW5saW5lIHZv aWQKLVRMSGlzdG9yeUZpbGVOYW1lKGNoYXIgKmZuYW1lLCBUaW1lTGluZUlEIHRsaSkKLXsK LQlzbnByaW50ZihmbmFtZSwgTUFYRk5BTUVMRU4sICIlMDhYLmhpc3RvcnkiLCB0bGkpOwot fQotCi1zdGF0aWMgaW5saW5lIGJvb2wKLUlzVExIaXN0b3J5RmlsZU5hbWUoY29uc3QgY2hh ciAqZm5hbWUpCi17Ci0JcmV0dXJuIChzdHJsZW4oZm5hbWUpID09IDggKyBzdHJsZW4oIi5o aXN0b3J5IikgJiYKLQkJCXN0cnNwbihmbmFtZSwgIjAxMjM0NTY3ODlBQkNERUYiKSA9PSA4 ICYmCi0JCQlzdHJjbXAoZm5hbWUgKyA4LCAiLmhpc3RvcnkiKSA9PSAwKTsKLX0KLQotc3Rh dGljIGlubGluZSB2b2lkCi1UTEhpc3RvcnlGaWxlUGF0aChjaGFyICpwYXRoLCBUaW1lTGlu ZUlEIHRsaSkKLXsKLQlzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgsIFhMT0dESVIgIi8lMDhY Lmhpc3RvcnkiLCB0bGkpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLVN0YXR1c0ZpbGVQ YXRoKGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnhsb2csIGNvbnN0IGNoYXIgKnN1ZmZpeCkK LXsKLQlzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgsIFhMT0dESVIgIi9hcmNoaXZlX3N0YXR1 cy8lcyVzIiwgeGxvZywgc3VmZml4KTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lkCi1CYWNr dXBIaXN0b3J5RmlsZU5hbWUoY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQgdGxpLCBYTG9nU2Vn Tm8gbG9nU2VnTm8sIFhMb2dSZWNQdHIgc3RhcnRwb2ludCwgaW50IHdhbF9zZWdzel9ieXRl cykKLXsKLQlzbnByaW50ZihmbmFtZSwgTUFYRk5BTUVMRU4sICIlMDhYJTA4WCUwOFguJTA4 WC5iYWNrdXAiLCB0bGksCi0JCQkgKHVpbnQzMikgKGxvZ1NlZ05vIC8gWExvZ1NlZ21lbnRz UGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpLAotCQkJICh1aW50MzIpIChsb2dTZWdObyAl IFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSwKLQkJCSAodWludDMy KSAoWExvZ1NlZ21lbnRPZmZzZXQoc3RhcnRwb2ludCwgd2FsX3NlZ3N6X2J5dGVzKSkpOwot fQotCi1zdGF0aWMgaW5saW5lIGJvb2wKLUlzQmFja3VwSGlzdG9yeUZpbGVOYW1lKGNvbnN0 IGNoYXIgKmZuYW1lKQotewotCXJldHVybiAoc3RybGVuKGZuYW1lKSA+IFhMT0dfRk5BTUVf TEVOICYmCi0JCQlzdHJzcG4oZm5hbWUsICIwMTIzNDU2Nzg5QUJDREVGIikgPT0gWExPR19G TkFNRV9MRU4gJiYKLQkJCXN0cmNtcChmbmFtZSArIHN0cmxlbihmbmFtZSkgLSBzdHJsZW4o Ii5iYWNrdXAiKSwgIi5iYWNrdXAiKSA9PSAwKTsKLX0KLQotc3RhdGljIGlubGluZSB2b2lk Ci1CYWNrdXBIaXN0b3J5RmlsZVBhdGgoY2hhciAqcGF0aCwgVGltZUxpbmVJRCB0bGksIFhM b2dTZWdObyBsb2dTZWdObywgWExvZ1JlY1B0ciBzdGFydHBvaW50LCBpbnQgd2FsX3NlZ3N6 X2J5dGVzKQotewotCXNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgWExPR0RJUiAiLyUwOFgl MDhYJTA4WC4lMDhYLmJhY2t1cCIsIHRsaSwKLQkJCSAodWludDMyKSAobG9nU2VnTm8gLyBY TG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksCi0JCQkgKHVpbnQzMikg KGxvZ1NlZ05vICUgWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpLAot CQkJICh1aW50MzIpIChYTG9nU2VnbWVudE9mZnNldCgoc3RhcnRwb2ludCksIHdhbF9zZWdz el9ieXRlcykpKTsKLX0KIAogLyoKICAqIEluZm9ybWF0aW9uIGxvZ2dlZCB3aGVuIHdlIGRl dGVjdCBhIGNoYW5nZSBpbiBvbmUgb2YgdGhlIHBhcmFtZXRlcnMKZGlmZiAtLWdpdCBhL3Ny Yy9pbmNsdWRlL2FjY2Vzcy94bG9nZmlsZXBhdGhzLmggYi9zcmMvaW5jbHVkZS9hY2Nlc3Mv eGxvZ2ZpbGVwYXRocy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw Li5jZGRlMmNjYWU0ZgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy94 bG9nZmlsZXBhdGhzLmgKQEAgLTAsMCArMSwyMTkgQEAKKy8qCisgKiB4bG9nZmlsZXBhdGhz LmgKKyAqCisgKiBGaWxlIG5hbWUgZGVmaW5pdGlvbnMgYW5kIGhhbmRsaW5nIG1hY3JvcyBm b3IgUG9zdGdyZVNRTCB3cml0ZS1haGVhZCBsb2dzLgorICoKKyAqIFBvcnRpb25zIENvcHly aWdodCAoYykgMTk5Ni0yMDI0LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91 cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBVbml2 ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKiBzcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ2Zp bGVwYXRocy5oCisgKi8KKyNpZm5kZWYgWExPR19GSUxFUEFUSFNfSAorI2RlZmluZSBYTE9H X0ZJTEVQQVRIU19ICisKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2RlZnMuaCIKKworLyoKKyAq IFRoZSBYTG9nIGRpcmVjdG9yeSBhbmQgZmlsZXMgKHJlbGF0aXZlIHRvICRQR0RBVEEpCisg Ki8KKyNkZWZpbmUgWExPR0RJUgkJCQkJInBnX3dhbCIKKworLyogY29udHJvbCBmaWxlcyAq LworI2RlZmluZSBYTE9HX0NPTlRST0xfRklMRQkJImdsb2JhbC9wZ19jb250cm9sIgorI2Rl ZmluZSBCQUNLVVBfTEFCRUxfRklMRQkJImJhY2t1cF9sYWJlbCIKKyNkZWZpbmUgQkFDS1VQ X0xBQkVMX09MRAkJImJhY2t1cF9sYWJlbC5vbGQiCisKKy8qIHRhYmxlc3BhY2UgbWFwICov CisjZGVmaW5lIFRBQkxFU1BBQ0VfTUFQCQkJInRhYmxlc3BhY2VfbWFwIgorI2RlZmluZSBU QUJMRVNQQUNFX01BUF9PTEQJCSJ0YWJsZXNwYWNlX21hcC5vbGQiCisKKy8qIGZpbGVzIHRv IHNpZ25hbCBydW4gbW9kZSB0byBzdGFuZGJ5ICovCisjZGVmaW5lIFJFQ09WRVJZX1NJR05B TF9GSUxFCSJyZWNvdmVyeS5zaWduYWwiCisjZGVmaW5lIFNUQU5EQllfU0lHTkFMX0ZJTEUJ CSJzdGFuZGJ5LnNpZ25hbCIKKworLyogZmlsZXMgdG8gc2lnbmFsIHByb21vdGlvbiB0byBw cmltYXJ5ICovCisjZGVmaW5lIFBST01PVEVfU0lHTkFMX0ZJTEUJCSJwcm9tb3RlIgorCisv KiB3YWxfc2VnbWVudF9zaXplIGNhbiByYW5nZSBmcm9tIDFNQiB0byAxR0IgKi8KKyNkZWZp bmUgV2FsU2VnTWluU2l6ZSAxMDI0ICogMTAyNAorI2RlZmluZSBXYWxTZWdNYXhTaXplIDEw MjQgKiAxMDI0ICogMTAyNAorCisvKiBkZWZhdWx0IG51bWJlciBvZiBtaW4gYW5kIG1heCB3 YWwgc2VnbWVudHMgKi8KKyNkZWZpbmUgREVGQVVMVF9NSU5fV0FMX1NFR1MgNQorI2RlZmlu ZSBERUZBVUxUX01BWF9XQUxfU0VHUyA2NAorCisKKy8qCisgKiBUaGVzZSBtYWNyb3MgZW5j YXBzdWxhdGUga25vd2xlZGdlIGFib3V0IHRoZSBleGFjdCBsYXlvdXQgb2YgWExvZyBmaWxl CisgKiBuYW1lcywgdGltZWxpbmUgaGlzdG9yeSBmaWxlIG5hbWVzLCBhbmQgYXJjaGl2ZS1z dGF0dXMgZmlsZSBuYW1lcy4KKyAqLworI2RlZmluZSBNQVhGTkFNRUxFTgkJNjQKKworLyog TGVuZ3RoIG9mIFhMb2cgZmlsZSBuYW1lICovCisjZGVmaW5lIFhMT0dfRk5BTUVfTEVOCSAg IDI0CisKKy8qIGNoZWNrIHRoYXQgdGhlIGdpdmVuIHNpemUgaXMgYSB2YWxpZCB3YWxfc2Vn bWVudF9zaXplICovCisjZGVmaW5lIElzUG93ZXJPZjIoeCkgKHggPiAwICYmICgoeCkgJiAo KHgpLTEpKSA9PSAwKQorI2RlZmluZSBJc1ZhbGlkV2FsU2VnU2l6ZShzaXplKSBcCisJIChJ c1Bvd2VyT2YyKHNpemUpICYmIFwKKwkgKChzaXplKSA+PSBXYWxTZWdNaW5TaXplICYmIChz aXplKSA8PSBXYWxTZWdNYXhTaXplKSkKKworLyogTnVtYmVyIG9mIHNlZ21lbnRzIGluIGEg bG9naWNhbCBYTE9HIGZpbGUgKi8KKyNkZWZpbmUgWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdh bF9zZWdzel9ieXRlcykJXAorCShVSU5UNjRDT05TVCgweDEwMDAwMDAwMCkgLyAod2FsX3Nl Z3N6X2J5dGVzKSkKKworLyoKKyAqIENvbXB1dGUgYW4gWExvZ1JlY1B0ciBmcm9tIGEgc2Vn bWVudCBudW1iZXIgYW5kIG9mZnNldC4KKyAqLworI2RlZmluZSBYTG9nU2VnTm9PZmZzZXRU b1JlY1B0cihzZWdubywgb2Zmc2V0LCB3YWxfc2Vnc3pfYnl0ZXMsIGRlc3QpIFwKKwkJKGRl c3QpID0gKHNlZ25vKSAqICh3YWxfc2Vnc3pfYnl0ZXMpICsgKG9mZnNldCkKKy8qCisgKiBD b21wdXRlIGEgc2VnbWVudCBudW1iZXIgZnJvbSBhbiBYTG9nUmVjUHRyLgorICoKKyAqIEZv ciBYTEJ5dGVUb1NlZywgZG8gdGhlIGNvbXB1dGF0aW9uIGF0IGZhY2UgdmFsdWUuICBGb3Ig WExCeXRlVG9QcmV2U2VnLAorICogYSBib3VuZGFyeSBieXRlIGlzIHRha2VuIHRvIGJlIGlu IHRoZSBwcmV2aW91cyBzZWdtZW50LiAgVGhpcyBpcyBzdWl0YWJsZQorICogZm9yIGRlY2lk aW5nIHdoaWNoIHNlZ21lbnQgdG8gd3JpdGUgZ2l2ZW4gYSBwb2ludGVyIHRvIGEgcmVjb3Jk IGVuZCwKKyAqIGZvciBleGFtcGxlLgorICovCisjZGVmaW5lIFhMQnl0ZVRvU2VnKHhscnAs IGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwlsb2dTZWdObyA9ICh4bHJwKSAvICh3 YWxfc2Vnc3pfYnl0ZXMpCisKKyNkZWZpbmUgWExCeXRlVG9QcmV2U2VnKHhscnAsIGxvZ1Nl Z05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwlsb2dTZWdObyA9ICgoeGxycCkgLSAxKSAvICh3 YWxfc2Vnc3pfYnl0ZXMpCisKKy8qIENvbXB1dGUgdGhlIGluLXNlZ21lbnQgb2Zmc2V0IGZy b20gYW4gWExvZ1JlY1B0ci4gKi8KKyNkZWZpbmUgWExvZ1NlZ21lbnRPZmZzZXQoeGxvZ3B0 ciwgd2FsX3NlZ3N6X2J5dGVzKQlcCisJKCh4bG9ncHRyKSAmICgod2FsX3NlZ3N6X2J5dGVz KSAtIDEpKQorCisvKgorICogQ29udmVydCB2YWx1ZXMgb2YgR1VDcyBtZWFzdXJlZCBpbiBt ZWdhYnl0ZXMgdG8gZXF1aXYuIHNlZ21lbnQgY291bnQuCisgKiBSb3VuZHMgZG93bi4KKyAq LworI2RlZmluZSBYTG9nTUJWYXJUb1NlZ3MobWJ2YXIsIHdhbF9zZWdzel9ieXRlcykgXAor CSgobWJ2YXIpIC8gKCh3YWxfc2Vnc3pfYnl0ZXMpIC8gKDEwMjQgKiAxMDI0KSkpCisKKy8q CisgKiBJcyBhbiBYTG9nUmVjUHRyIHdpdGhpbiBhIHBhcnRpY3VsYXIgWExPRyBzZWdtZW50 PworICoKKyAqIEZvciBYTEJ5dGVJblNlZywgZG8gdGhlIGNvbXB1dGF0aW9uIGF0IGZhY2Ug dmFsdWUuICBGb3IgWExCeXRlSW5QcmV2U2VnLAorICogYSBib3VuZGFyeSBieXRlIGlzIHRh a2VuIHRvIGJlIGluIHRoZSBwcmV2aW91cyBzZWdtZW50LgorICovCisjZGVmaW5lIFhMQnl0 ZUluU2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwkoKCh4bHJwKSAv ICh3YWxfc2Vnc3pfYnl0ZXMpKSA9PSAobG9nU2VnTm8pKQorCisjZGVmaW5lIFhMQnl0ZUlu UHJldlNlZyh4bHJwLCBsb2dTZWdObywgd2FsX3NlZ3N6X2J5dGVzKSBcCisJKCgoKHhscnAp IC0gMSkgLyAod2FsX3NlZ3N6X2J5dGVzKSkgPT0gKGxvZ1NlZ05vKSkKKworLyoKKyAqIFhM T0cgZmlsZSBuYW1lIGhhbmRsaW5nIGZ1bmN0aW9ucworICovCitzdGF0aWMgaW5saW5lIHZv aWQKK1N0YXR1c0ZpbGVQYXRoKGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKnhsb2csIGNvbnN0 IGNoYXIgKnN1ZmZpeCkKK3sKKwlzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgsIFhMT0dESVIg Ii9hcmNoaXZlX3N0YXR1cy8lcyVzIiwgeGxvZywgc3VmZml4KTsKK30KKworc3RhdGljIGlu bGluZSBib29sCitJc1RMSGlzdG9yeUZpbGVOYW1lKGNvbnN0IGNoYXIgKmZuYW1lKQorewor CXJldHVybiAoc3RybGVuKGZuYW1lKSA9PSA4ICsgc3RybGVuKCIuaGlzdG9yeSIpICYmCisJ CQlzdHJzcG4oZm5hbWUsICIwMTIzNDU2Nzg5QUJDREVGIikgPT0gOCAmJgorCQkJc3RyY21w KGZuYW1lICsgOCwgIi5oaXN0b3J5IikgPT0gMCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9p ZAorWExvZ0Zyb21GaWxlTmFtZShjb25zdCBjaGFyICpmbmFtZSwgVGltZUxpbmVJRCAqdGxp LCBYTG9nU2VnTm8gKmxvZ1NlZ05vLCBpbnQgd2FsX3NlZ3N6X2J5dGVzKQoreworCXVpbnQz MgkJbG9nOworCXVpbnQzMgkJc2VnOworCisJc3NjYW5mKGZuYW1lLCAiJTA4WCUwOFglMDhY IiwgdGxpLCAmbG9nLCAmc2VnKTsKKwkqbG9nU2VnTm8gPSAodWludDY0KSBsb2cgKiBYTG9n U2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSArIHNlZzsKK30KKworc3RhdGlj IGlubGluZSB2b2lkCitYTG9nRmlsZVBhdGgoY2hhciAqcGF0aCwgVGltZUxpbmVJRCB0bGks IFhMb2dTZWdObyBsb2dTZWdObywgaW50IHdhbF9zZWdzel9ieXRlcykKK3sKKwlzbnByaW50 ZihwYXRoLCBNQVhQR1BBVEgsIFhMT0dESVIgIi8lMDhYJTA4WCUwOFgiLCB0bGksCisJCQkg KHVpbnQzMikgKGxvZ1NlZ05vIC8gWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9i eXRlcykpLAorCQkJICh1aW50MzIpIChsb2dTZWdObyAlIFhMb2dTZWdtZW50c1BlclhMb2dJ ZCh3YWxfc2Vnc3pfYnl0ZXMpKSk7Cit9CisKKy8qCisgKiBHZW5lcmF0ZSBhIFdBTCBzZWdt ZW50IGZpbGUgbmFtZS4gIERvIG5vdCB1c2UgdGhpcyBmdW5jdGlvbiBpbiBhIGhlbHBlcgor ICogZnVuY3Rpb24gYWxsb2NhdGluZyB0aGUgcmVzdWx0IGdlbmVyYXRlZC4KKyAqLworc3Rh dGljIGlubGluZSB2b2lkCitYTG9nRmlsZU5hbWUoY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQg dGxpLCBYTG9nU2VnTm8gbG9nU2VnTm8sIGludCB3YWxfc2Vnc3pfYnl0ZXMpCit7CisJc25w cmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAiJTA4WCUwOFglMDhYIiwgdGxpLAorCQkJICh1 aW50MzIpIChsb2dTZWdObyAvIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0 ZXMpKSwKKwkJCSAodWludDMyKSAobG9nU2VnTm8gJSBYTG9nU2VnbWVudHNQZXJYTG9nSWQo d2FsX3NlZ3N6X2J5dGVzKSkpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK1hMb2dGaWxl TmFtZUJ5SWQoY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQgdGxpLCB1aW50MzIgbG9nLCB1aW50 MzIgc2VnKQoreworCXNucHJpbnRmKGZuYW1lLCBNQVhGTkFNRUxFTiwgIiUwOFglMDhYJTA4 WCIsIHRsaSwgbG9nLCBzZWcpOworfQorCitzdGF0aWMgaW5saW5lIGJvb2wKK0lzWExvZ0Zp bGVOYW1lKGNvbnN0IGNoYXIgKmZuYW1lKQoreworCXJldHVybiAoc3RybGVuKGZuYW1lKSA9 PSBYTE9HX0ZOQU1FX0xFTiAmJiBcCisJCQlzdHJzcG4oZm5hbWUsICIwMTIzNDU2Nzg5QUJD REVGIikgPT0gWExPR19GTkFNRV9MRU4pOworfQorCisvKgorICogWExPRyBzZWdtZW50IHdp dGggLnBhcnRpYWwgc3VmZml4LiAgVXNlZCBieSBwZ19yZWNlaXZld2FsIGFuZCBhdCBlbmQg b2YKKyAqIGFyY2hpdmUgcmVjb3ZlcnksIHdoZW4gd2Ugd2FudCB0byBhcmNoaXZlIGEgV0FM IHNlZ21lbnQgYnV0IGl0IG1pZ2h0IG5vdAorICogYmUgY29tcGxldGUgeWV0LgorICovCitz dGF0aWMgaW5saW5lIGJvb2wKK0lzUGFydGlhbFhMb2dGaWxlTmFtZShjb25zdCBjaGFyICpm bmFtZSkKK3sKKwlyZXR1cm4gKHN0cmxlbihmbmFtZSkgPT0gWExPR19GTkFNRV9MRU4gKyBz dHJsZW4oIi5wYXJ0aWFsIikgJiYKKwkJCXN0cnNwbihmbmFtZSwgIjAxMjM0NTY3ODlBQkNE RUYiKSA9PSBYTE9HX0ZOQU1FX0xFTiAmJgorCQkJc3RyY21wKGZuYW1lICsgWExPR19GTkFN RV9MRU4sICIucGFydGlhbCIpID09IDApOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQKK1RM SGlzdG9yeUZpbGVOYW1lKGNoYXIgKmZuYW1lLCBUaW1lTGluZUlEIHRsaSkKK3sKKwlzbnBy aW50ZihmbmFtZSwgTUFYRk5BTUVMRU4sICIlMDhYLmhpc3RvcnkiLCB0bGkpOworfQorCitz dGF0aWMgaW5saW5lIHZvaWQKK1RMSGlzdG9yeUZpbGVQYXRoKGNoYXIgKnBhdGgsIFRpbWVM aW5lSUQgdGxpKQoreworCXNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgWExPR0RJUiAiLyUw OFguaGlzdG9yeSIsIHRsaSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorQmFja3VwSGlz dG9yeUZpbGVOYW1lKGNoYXIgKmZuYW1lLCBUaW1lTGluZUlEIHRsaSwgWExvZ1NlZ05vIGxv Z1NlZ05vLCBYTG9nUmVjUHRyIHN0YXJ0cG9pbnQsIGludCB3YWxfc2Vnc3pfYnl0ZXMpCit7 CisJc25wcmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAiJTA4WCUwOFglMDhYLiUwOFguYmFj a3VwIiwgdGxpLAorCQkJICh1aW50MzIpIChsb2dTZWdObyAvIFhMb2dTZWdtZW50c1BlclhM b2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSwKKwkJCSAodWludDMyKSAobG9nU2VnTm8gJSBYTG9n U2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksCisJCQkgKHVpbnQzMikgKFhM b2dTZWdtZW50T2Zmc2V0KHN0YXJ0cG9pbnQsIHdhbF9zZWdzel9ieXRlcykpKTsKK30KKwor c3RhdGljIGlubGluZSBib29sCitJc0JhY2t1cEhpc3RvcnlGaWxlTmFtZShjb25zdCBjaGFy ICpmbmFtZSkKK3sKKwlyZXR1cm4gKHN0cmxlbihmbmFtZSkgPiBYTE9HX0ZOQU1FX0xFTiAm JgorCQkJc3Ryc3BuKGZuYW1lLCAiMDEyMzQ1Njc4OUFCQ0RFRiIpID09IFhMT0dfRk5BTUVf TEVOICYmCisJCQlzdHJjbXAoZm5hbWUgKyBzdHJsZW4oZm5hbWUpIC0gc3RybGVuKCIuYmFj a3VwIiksICIuYmFja3VwIikgPT0gMCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorQmFj a3VwSGlzdG9yeUZpbGVQYXRoKGNoYXIgKnBhdGgsIFRpbWVMaW5lSUQgdGxpLCBYTG9nU2Vn Tm8gbG9nU2VnTm8sIFhMb2dSZWNQdHIgc3RhcnRwb2ludCwgaW50IHdhbF9zZWdzel9ieXRl cykKK3sKKwlzbnByaW50ZihwYXRoLCBNQVhQR1BBVEgsIFhMT0dESVIgIi8lMDhYJTA4WCUw OFguJTA4WC5iYWNrdXAiLCB0bGksCisJCQkgKHVpbnQzMikgKGxvZ1NlZ05vIC8gWExvZ1Nl Z21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpLAorCQkJICh1aW50MzIpIChsb2dT ZWdObyAlIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSwKKwkJCSAo dWludDMyKSAoWExvZ1NlZ21lbnRPZmZzZXQoKHN0YXJ0cG9pbnQpLCB3YWxfc2Vnc3pfYnl0 ZXMpKSk7Cit9CisKKworI2VuZGlmCQkJCQkJCS8qIFhMT0dfRklMRVBBVEhTX0ggKi8KLS0g CjIuNDguMQoK --------------BLi92Va08L6aoyF2I3LCjU4p Content-Type: text/x-patch; charset=UTF-8; name="v4-0002-Extract-size-related-macros-from-xlogfilepaths.h.patch" Content-Disposition: attachment; filename*0="v4-0002-Extract-size-related-macros-from-xlogfilepaths.h.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSA4YzkyNTQ2MDRlNGZkMjg2NThhMjE4MDcwZTBmN2QzMGUwNWQ1NjNkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW50b24gQS4gTWVsbmlrb3YiIDxhLm1lbG5pa292 QHBvc3RncmVzcHJvLnJ1PgpEYXRlOiBTYXQsIDcgU2VwIDIwMjQgMTA6MTg6NTEgKzAzMDAK U3ViamVjdDogW1BBVENIIDIvM10gRXh0cmFjdCBzaXplLXJlbGF0ZWQgbWFjcm9zIGZyb20g eGxvZ2ZpbGVwYXRocy5oIHRvCiB4bG9nZmlsZXNpemUuaAoKLS0tCiBzcmMvaW5jbHVkZS9h Y2Nlc3MveGxvZ2ZpbGVwYXRocy5oIHwgNjUgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNy Yy9pbmNsdWRlL2FjY2Vzcy94bG9nZmlsZXNpemUuaCAgfCA4MyArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgODUgaW5zZXJ0aW9ucygrKSwgNjMg ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjL2luY2x1ZGUvYWNjZXNzL3hs b2dmaWxlc2l6ZS5oCgpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dmaWxl cGF0aHMuaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nZmlsZXBhdGhzLmgKaW5kZXggY2Rk ZTJjY2FlNGYuLmVkMjhjZjk3NWU2IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3Mv eGxvZ2ZpbGVwYXRocy5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nZmlsZXBhdGhz LmgKQEAgLTEyLDYgKzEyLDcgQEAKICNkZWZpbmUgWExPR19GSUxFUEFUSFNfSAogCiAjaW5j bHVkZSAiYWNjZXNzL3hsb2dkZWZzLmgiCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlc2l6 ZS5oIgogCiAvKgogICogVGhlIFhMb2cgZGlyZWN0b3J5IGFuZCBmaWxlcyAocmVsYXRpdmUg dG8gJFBHREFUQSkKQEAgLTM0LDc1ICszNSwxMyBAQAogLyogZmlsZXMgdG8gc2lnbmFsIHBy b21vdGlvbiB0byBwcmltYXJ5ICovCiAjZGVmaW5lIFBST01PVEVfU0lHTkFMX0ZJTEUJCSJw cm9tb3RlIgogCi0vKiB3YWxfc2VnbWVudF9zaXplIGNhbiByYW5nZSBmcm9tIDFNQiB0byAx R0IgKi8KLSNkZWZpbmUgV2FsU2VnTWluU2l6ZSAxMDI0ICogMTAyNAotI2RlZmluZSBXYWxT ZWdNYXhTaXplIDEwMjQgKiAxMDI0ICogMTAyNAogCi0vKiBkZWZhdWx0IG51bWJlciBvZiBt aW4gYW5kIG1heCB3YWwgc2VnbWVudHMgKi8KLSNkZWZpbmUgREVGQVVMVF9NSU5fV0FMX1NF R1MgNQotI2RlZmluZSBERUZBVUxUX01BWF9XQUxfU0VHUyA2NAotCi0KLS8qCi0gKiBUaGVz ZSBtYWNyb3MgZW5jYXBzdWxhdGUga25vd2xlZGdlIGFib3V0IHRoZSBleGFjdCBsYXlvdXQg b2YgWExvZyBmaWxlCi0gKiBuYW1lcywgdGltZWxpbmUgaGlzdG9yeSBmaWxlIG5hbWVzLCBh bmQgYXJjaGl2ZS1zdGF0dXMgZmlsZSBuYW1lcy4KLSAqLworLyogTWF4aW11bSBsZW5ndGgg b2YgWExvZyBmaWxlIG5hbWUgaW5jbHVkaW5nIHBvc3NpYmxlIHN1ZmZpeCAqLwogI2RlZmlu ZSBNQVhGTkFNRUxFTgkJNjQKIAogLyogTGVuZ3RoIG9mIFhMb2cgZmlsZSBuYW1lICovCiAj ZGVmaW5lIFhMT0dfRk5BTUVfTEVOCSAgIDI0CiAKLS8qIGNoZWNrIHRoYXQgdGhlIGdpdmVu IHNpemUgaXMgYSB2YWxpZCB3YWxfc2VnbWVudF9zaXplICovCi0jZGVmaW5lIElzUG93ZXJP ZjIoeCkgKHggPiAwICYmICgoeCkgJiAoKHgpLTEpKSA9PSAwKQotI2RlZmluZSBJc1ZhbGlk V2FsU2VnU2l6ZShzaXplKSBcCi0JIChJc1Bvd2VyT2YyKHNpemUpICYmIFwKLQkgKChzaXpl KSA+PSBXYWxTZWdNaW5TaXplICYmIChzaXplKSA8PSBXYWxTZWdNYXhTaXplKSkKLQotLyog TnVtYmVyIG9mIHNlZ21lbnRzIGluIGEgbG9naWNhbCBYTE9HIGZpbGUgKi8KLSNkZWZpbmUg WExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykJXAotCShVSU5UNjRDT05T VCgweDEwMDAwMDAwMCkgLyAod2FsX3NlZ3N6X2J5dGVzKSkKLQotLyoKLSAqIENvbXB1dGUg YW4gWExvZ1JlY1B0ciBmcm9tIGEgc2VnbWVudCBudW1iZXIgYW5kIG9mZnNldC4KLSAqLwot I2RlZmluZSBYTG9nU2VnTm9PZmZzZXRUb1JlY1B0cihzZWdubywgb2Zmc2V0LCB3YWxfc2Vn c3pfYnl0ZXMsIGRlc3QpIFwKLQkJKGRlc3QpID0gKHNlZ25vKSAqICh3YWxfc2Vnc3pfYnl0 ZXMpICsgKG9mZnNldCkKLS8qCi0gKiBDb21wdXRlIGEgc2VnbWVudCBudW1iZXIgZnJvbSBh biBYTG9nUmVjUHRyLgotICoKLSAqIEZvciBYTEJ5dGVUb1NlZywgZG8gdGhlIGNvbXB1dGF0 aW9uIGF0IGZhY2UgdmFsdWUuICBGb3IgWExCeXRlVG9QcmV2U2VnLAotICogYSBib3VuZGFy eSBieXRlIGlzIHRha2VuIHRvIGJlIGluIHRoZSBwcmV2aW91cyBzZWdtZW50LiAgVGhpcyBp cyBzdWl0YWJsZQotICogZm9yIGRlY2lkaW5nIHdoaWNoIHNlZ21lbnQgdG8gd3JpdGUgZ2l2 ZW4gYSBwb2ludGVyIHRvIGEgcmVjb3JkIGVuZCwKLSAqIGZvciBleGFtcGxlLgotICovCi0j ZGVmaW5lIFhMQnl0ZVRvU2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwK LQlsb2dTZWdObyA9ICh4bHJwKSAvICh3YWxfc2Vnc3pfYnl0ZXMpCi0KLSNkZWZpbmUgWExC eXRlVG9QcmV2U2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKLQlsb2dT ZWdObyA9ICgoeGxycCkgLSAxKSAvICh3YWxfc2Vnc3pfYnl0ZXMpCi0KLS8qIENvbXB1dGUg dGhlIGluLXNlZ21lbnQgb2Zmc2V0IGZyb20gYW4gWExvZ1JlY1B0ci4gKi8KLSNkZWZpbmUg WExvZ1NlZ21lbnRPZmZzZXQoeGxvZ3B0ciwgd2FsX3NlZ3N6X2J5dGVzKQlcCi0JKCh4bG9n cHRyKSAmICgod2FsX3NlZ3N6X2J5dGVzKSAtIDEpKQotCi0vKgotICogQ29udmVydCB2YWx1 ZXMgb2YgR1VDcyBtZWFzdXJlZCBpbiBtZWdhYnl0ZXMgdG8gZXF1aXYuIHNlZ21lbnQgY291 bnQuCi0gKiBSb3VuZHMgZG93bi4KLSAqLwotI2RlZmluZSBYTG9nTUJWYXJUb1NlZ3MobWJ2 YXIsIHdhbF9zZWdzel9ieXRlcykgXAotCSgobWJ2YXIpIC8gKCh3YWxfc2Vnc3pfYnl0ZXMp IC8gKDEwMjQgKiAxMDI0KSkpCi0KLS8qCi0gKiBJcyBhbiBYTG9nUmVjUHRyIHdpdGhpbiBh IHBhcnRpY3VsYXIgWExPRyBzZWdtZW50PwotICoKLSAqIEZvciBYTEJ5dGVJblNlZywgZG8g dGhlIGNvbXB1dGF0aW9uIGF0IGZhY2UgdmFsdWUuICBGb3IgWExCeXRlSW5QcmV2U2VnLAot ICogYSBib3VuZGFyeSBieXRlIGlzIHRha2VuIHRvIGJlIGluIHRoZSBwcmV2aW91cyBzZWdt ZW50LgotICovCi0jZGVmaW5lIFhMQnl0ZUluU2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vn c3pfYnl0ZXMpIFwKLQkoKCh4bHJwKSAvICh3YWxfc2Vnc3pfYnl0ZXMpKSA9PSAobG9nU2Vn Tm8pKQotCi0jZGVmaW5lIFhMQnl0ZUluUHJldlNlZyh4bHJwLCBsb2dTZWdObywgd2FsX3Nl Z3N6X2J5dGVzKSBcCi0JKCgoKHhscnApIC0gMSkgLyAod2FsX3NlZ3N6X2J5dGVzKSkgPT0g KGxvZ1NlZ05vKSkKIAogLyoKICAqIFhMT0cgZmlsZSBuYW1lIGhhbmRsaW5nIGZ1bmN0aW9u cwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dmaWxlc2l6ZS5oIGIvc3Jj L2luY2x1ZGUvYWNjZXNzL3hsb2dmaWxlc2l6ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwMDAwLi5mZWYzMGUwMmE2MgotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9p bmNsdWRlL2FjY2Vzcy94bG9nZmlsZXNpemUuaApAQCAtMCwwICsxLDgzIEBACisvKgorICog eGxvZ2ZpbGVzaXplLmgKKyAqCisgKiBTaXplIGRlZmluaXRpb25zIGFuZCBoYW5kbGluZyBt YWNyb3MgZm9yIFBvc3RncmVTUUwgd3JpdGUtYWhlYWQgbG9ncy4KKyAqCisgKiBQb3J0aW9u cyBDb3B5cmlnaHQgKGMpIDE5OTYtMjAyNCwgUG9zdGdyZVNRTCBHbG9iYWwgRGV2ZWxvcG1l bnQgR3JvdXAKKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMTk5NCwgUmVnZW50cyBvZiB0 aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisgKgorICogc3JjL2luY2x1ZGUvYWNjZXNz L3hsb2dmaWxlc2l6ZS5oCisgKi8KKworI2lmbmRlZiBYTE9HX0ZJTEVTSVpFX0gKKyNkZWZp bmUgWExPR19GSUxFU0laRV9ICisKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2RlZnMuaCIKKwor Lyogd2FsX3NlZ21lbnRfc2l6ZSBjYW4gcmFuZ2UgZnJvbSAxTUIgdG8gMUdCICovCisjZGVm aW5lIFdhbFNlZ01pblNpemUgMTAyNCAqIDEwMjQKKyNkZWZpbmUgV2FsU2VnTWF4U2l6ZSAx MDI0ICogMTAyNCAqIDEwMjQKKworLyogZGVmYXVsdCBudW1iZXIgb2YgbWluIGFuZCBtYXgg d2FsIHNlZ21lbnRzICovCisjZGVmaW5lIERFRkFVTFRfTUlOX1dBTF9TRUdTIDUKKyNkZWZp bmUgREVGQVVMVF9NQVhfV0FMX1NFR1MgNjQKKworLyoKKyAqIFRoZXNlIG1hY3JvcyBlbmNh cHN1bGF0ZSBrbm93bGVkZ2UgYWJvdXQgdGhlIGV4YWN0IGxheW91dCBvZiBYTG9nCisgKiBm aWxlcywgdGltZWxpbmUgaGlzdG9yeSBmaWxzIGFuZCBhcmNoaXZlLXN0YXR1cyBmaWxzLgor ICovCisKKy8qIGNoZWNrIHRoYXQgdGhlIGdpdmVuIHNpemUgaXMgYSB2YWxpZCB3YWxfc2Vn bWVudF9zaXplICovCisjZGVmaW5lIElzUG93ZXJPZjIoeCkgKHggPiAwICYmICgoeCkgJiAo KHgpLTEpKSA9PSAwKQorI2RlZmluZSBJc1ZhbGlkV2FsU2VnU2l6ZShzaXplKSBcCisJIChJ c1Bvd2VyT2YyKHNpemUpICYmIFwKKwkgKChzaXplKSA+PSBXYWxTZWdNaW5TaXplICYmIChz aXplKSA8PSBXYWxTZWdNYXhTaXplKSkKKworLyogTnVtYmVyIG9mIHNlZ21lbnRzIGluIGEg bG9naWNhbCBYTE9HIGZpbGUgKi8KKyNkZWZpbmUgWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdh bF9zZWdzel9ieXRlcykJXAorCShVSU5UNjRDT05TVCgweDEwMDAwMDAwMCkgLyAod2FsX3Nl Z3N6X2J5dGVzKSkKKworLyoKKyAqIENvbXB1dGUgYW4gWExvZ1JlY1B0ciBmcm9tIGEgc2Vn bWVudCBudW1iZXIgYW5kIG9mZnNldC4KKyAqLworI2RlZmluZSBYTG9nU2VnTm9PZmZzZXRU b1JlY1B0cihzZWdubywgb2Zmc2V0LCB3YWxfc2Vnc3pfYnl0ZXMsIGRlc3QpIFwKKwkJKGRl c3QpID0gKHNlZ25vKSAqICh3YWxfc2Vnc3pfYnl0ZXMpICsgKG9mZnNldCkKKy8qCisgKiBD b21wdXRlIGEgc2VnbWVudCBudW1iZXIgZnJvbSBhbiBYTG9nUmVjUHRyLgorICoKKyAqIEZv ciBYTEJ5dGVUb1NlZywgZG8gdGhlIGNvbXB1dGF0aW9uIGF0IGZhY2UgdmFsdWUuICBGb3Ig WExCeXRlVG9QcmV2U2VnLAorICogYSBib3VuZGFyeSBieXRlIGlzIHRha2VuIHRvIGJlIGlu IHRoZSBwcmV2aW91cyBzZWdtZW50LiAgVGhpcyBpcyBzdWl0YWJsZQorICogZm9yIGRlY2lk aW5nIHdoaWNoIHNlZ21lbnQgdG8gd3JpdGUgZ2l2ZW4gYSBwb2ludGVyIHRvIGEgcmVjb3Jk IGVuZCwKKyAqIGZvciBleGFtcGxlLgorICovCisjZGVmaW5lIFhMQnl0ZVRvU2VnKHhscnAs IGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwlsb2dTZWdObyA9ICh4bHJwKSAvICh3 YWxfc2Vnc3pfYnl0ZXMpCisKKyNkZWZpbmUgWExCeXRlVG9QcmV2U2VnKHhscnAsIGxvZ1Nl Z05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwlsb2dTZWdObyA9ICgoeGxycCkgLSAxKSAvICh3 YWxfc2Vnc3pfYnl0ZXMpCisKKy8qIENvbXB1dGUgdGhlIGluLXNlZ21lbnQgb2Zmc2V0IGZy b20gYW4gWExvZ1JlY1B0ci4gKi8KKyNkZWZpbmUgWExvZ1NlZ21lbnRPZmZzZXQoeGxvZ3B0 ciwgd2FsX3NlZ3N6X2J5dGVzKQlcCisJKCh4bG9ncHRyKSAmICgod2FsX3NlZ3N6X2J5dGVz KSAtIDEpKQorCisvKgorICogQ29udmVydCB2YWx1ZXMgb2YgR1VDcyBtZWFzdXJlZCBpbiBt ZWdhYnl0ZXMgdG8gZXF1aXYuIHNlZ21lbnQgY291bnQuCisgKiBSb3VuZHMgZG93bi4KKyAq LworI2RlZmluZSBYTG9nTUJWYXJUb1NlZ3MobWJ2YXIsIHdhbF9zZWdzel9ieXRlcykgXAor CSgobWJ2YXIpIC8gKCh3YWxfc2Vnc3pfYnl0ZXMpIC8gKDEwMjQgKiAxMDI0KSkpCisKKy8q CisgKiBJcyBhbiBYTG9nUmVjUHRyIHdpdGhpbiBhIHBhcnRpY3VsYXIgWExPRyBzZWdtZW50 PworICoKKyAqIEZvciBYTEJ5dGVJblNlZywgZG8gdGhlIGNvbXB1dGF0aW9uIGF0IGZhY2Ug dmFsdWUuICBGb3IgWExCeXRlSW5QcmV2U2VnLAorICogYSBib3VuZGFyeSBieXRlIGlzIHRh a2VuIHRvIGJlIGluIHRoZSBwcmV2aW91cyBzZWdtZW50LgorICovCisjZGVmaW5lIFhMQnl0 ZUluU2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwkoKCh4bHJwKSAv ICh3YWxfc2Vnc3pfYnl0ZXMpKSA9PSAobG9nU2VnTm8pKQorCisjZGVmaW5lIFhMQnl0ZUlu UHJldlNlZyh4bHJwLCBsb2dTZWdObywgd2FsX3NlZ3N6X2J5dGVzKSBcCisJKCgoKHhscnAp IC0gMSkgLyAod2FsX3NlZ3N6X2J5dGVzKSkgPT0gKGxvZ1NlZ05vKSkKKworCisjZW5kaWYJ CQkJCQkJLyogWExPR19GSUxFU0laRV9IICovCi0tIAoyLjQ4LjEKCg== --------------BLi92Va08L6aoyF2I3LCjU4p Content-Type: text/x-patch; charset=UTF-8; name="v4-0003-Use-XLOG_CONTROL_FILE-macro-everywhere-in-C-code.patch" Content-Disposition: attachment; filename*0="v4-0003-Use-XLOG_CONTROL_FILE-macro-everywhere-in-C-code.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSAyZGY2YjZjYjc2N2M5YmRkY2IyN2RhODM4Y2JjZTVlYTQwMDUzYTRlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW50b24gQS4gTWVsbmlrb3YiIDxhLm1lbG5pa292 QHBvc3RncmVzcHJvLnJ1PgpEYXRlOiBXZWQsIDQgU2VwIDIwMjQgMTY6MjM6MjMgKzA5MDAK U3ViamVjdDogW1BBVENIIDMvM10gVXNlIFhMT0dfQ09OVFJPTF9GSUxFIG1hY3JvIGV2ZXJ5 d2hlcmUgaW4gQyBjb2RlCgotLS0KIHNyYy9iYWNrZW5kL2JhY2t1cC9iYXNlYmFja3VwLmMg ICAgICAgICAgICAgfCAyICstCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIu YyAgICAgICAgIHwgMiArLQogc3JjL2Jpbi9wZ19jb21iaW5lYmFja3VwL3BnX2NvbWJpbmVi YWNrdXAuYyB8IDUgKysrLS0KIHNyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRh dGEuYyAgICAgfCAzICsrLQogc3JjL2Jpbi9wZ19yZXdpbmQvZmlsZW1hcC5jICAgICAgICAg ICAgICAgICB8IDMgKystCiBzcmMvYmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYyAgICAgICAg ICAgICAgIHwgOCArKysrLS0tLQogc3JjL2Jpbi9wZ191cGdyYWRlL2NvbnRyb2xkYXRhLmMg ICAgICAgICAgICB8IDcgKysrKy0tLQogc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcGdfdmVy aWZ5YmFja3VwLmMgICB8IDMgKystCiBzcmMvY29tbW9uL2NvbnRyb2xkYXRhX3V0aWxzLmMg ICAgICAgICAgICAgIHwgMiArLQogOSBmaWxlcyBjaGFuZ2VkLCAyMCBpbnNlcnRpb25zKCsp LCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9iYWNrdXAvYmFz ZWJhY2t1cC5jIGIvc3JjL2JhY2tlbmQvYmFja3VwL2Jhc2ViYWNrdXAuYwppbmRleCAzZjhh M2M1NTcyNS4uZjA4MTNlZGE4ZDcgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2JhY2t1cC9i YXNlYmFja3VwLmMKKysrIGIvc3JjL2JhY2tlbmQvYmFja3VwL2Jhc2ViYWNrdXAuYwpAQCAt MTM0OSw3ICsxMzQ5LDcgQEAgc2VuZERpcihiYnNpbmsgKnNpbmssIGNvbnN0IGNoYXIgKnBh dGgsIGludCBiYXNlcGF0aGxlbiwgYm9vbCBzaXplb25seSwKIAkJc25wcmludGYocGF0aGJ1 Ziwgc2l6ZW9mKHBhdGhidWYpLCAiJXMvJXMiLCBwYXRoLCBkZS0+ZF9uYW1lKTsKIAogCQkv KiBTa2lwIHBnX2NvbnRyb2wgaGVyZSB0byBiYWNrIHVwIGl0IGxhc3QgKi8KLQkJaWYgKHN0 cmNtcChwYXRoYnVmLCAiLi9nbG9iYWwvcGdfY29udHJvbCIpID09IDApCisJCWlmIChzdHJj bXAocGF0aGJ1ZiwgIi4vIiBYTE9HX0NPTlRST0xfRklMRSkgPT0gMCkKIAkJCWNvbnRpbnVl OwogCiAJCWlmIChsc3RhdChwYXRoYnVmLCAmc3RhdGJ1ZikgIT0gMCkKZGlmZiAtLWdpdCBh L3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jIGIvc3JjL2JhY2tlbmQvcG9z dG1hc3Rlci9wb3N0bWFzdGVyLmMKaW5kZXggYTBjMzc1MzJkMmYuLjdiNWY2YzM3YTk1IDEw MDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYworKysgYi9z cmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwpAQCAtMTUxNiw3ICsxNTE2LDcg QEAgY2hlY2tDb250cm9sRmlsZSh2b2lkKQogCWNoYXIJCXBhdGhbTUFYUEdQQVRIXTsKIAlG SUxFCSAgICpmcDsKIAotCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIiVzL2dsb2Jh bC9wZ19jb250cm9sIiwgRGF0YURpcik7CisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgp LCAiJXMvJXMiLCBEYXRhRGlyLCBYTE9HX0NPTlRST0xfRklMRSk7CiAKIAlmcCA9IEFsbG9j YXRlRmlsZShwYXRoLCBQR19CSU5BUllfUik7CiAJaWYgKGZwID09IE5VTEwpCmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX2NvbWJpbmViYWNrdXAvcGdfY29tYmluZWJhY2t1cC5jIGIvc3Jj L2Jpbi9wZ19jb21iaW5lYmFja3VwL3BnX2NvbWJpbmViYWNrdXAuYwppbmRleCAwNTAyNjBl ZTgzMi4uMDEyNDFhOGZiNjAgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfY29tYmluZWJhY2t1 cC9wZ19jb21iaW5lYmFja3VwLmMKKysrIGIvc3JjL2Jpbi9wZ19jb21iaW5lYmFja3VwL3Bn X2NvbWJpbmViYWNrdXAuYwpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGxpbnV4L2Zz Lmg+CiAjZW5kaWYKIAorI2luY2x1ZGUgImFjY2Vzcy94bG9nZmlsZXBhdGhzLmgiCiAjaW5j bHVkZSAiYmFja3VwX2xhYmVsLmgiCiAjaW5jbHVkZSAiY29tbW9uL2NoZWNrc3VtX2hlbHBl ci5oIgogI2luY2x1ZGUgImNvbW1vbi9jb250cm9sZGF0YV91dGlscy5oIgpAQCAtMzAwLDcg KzMwMSw3IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJewogCQkJY2hhcgkg ICAqY29udHJvbHBhdGg7CiAKLQkJCWNvbnRyb2xwYXRoID0gcHNwcmludGYoIiVzLyVzIiwg cHJpb3JfYmFja3VwX2RpcnNbaV0sICJnbG9iYWwvcGdfY29udHJvbCIpOworCQkJY29udHJv bHBhdGggPSBwc3ByaW50ZigiJXMvJXMiLCBwcmlvcl9iYWNrdXBfZGlyc1tpXSwgWExPR19D T05UUk9MX0ZJTEUpOwogCiAJCQlwZ19mYXRhbCgiJXM6IG1hbmlmZXN0IHN5c3RlbSBpZGVu dGlmaWVyIGlzICVsbHUsIGJ1dCBjb250cm9sIGZpbGUgaGFzICVsbHUiLAogCQkJCQkgY29u dHJvbHBhdGgsCkBAIC02MTQsNyArNjE1LDcgQEAgY2hlY2tfY29udHJvbF9maWxlcyhpbnQg bl9iYWNrdXBzLCBjaGFyICoqYmFja3VwX2RpcnMpCiAJCWJvb2wJCWNyY19vazsKIAkJY2hh cgkgICAqY29udHJvbHBhdGg7CiAKLQkJY29udHJvbHBhdGggPSBwc3ByaW50ZigiJXMvJXMi LCBiYWNrdXBfZGlyc1tpXSwgImdsb2JhbC9wZ19jb250cm9sIik7CisJCWNvbnRyb2xwYXRo ID0gcHNwcmludGYoIiVzLyVzIiwgYmFja3VwX2RpcnNbaV0sIFhMT0dfQ09OVFJPTF9GSUxF KTsKIAkJcGdfbG9nX2RlYnVnKCJyZWFkaW5nIFwiJXNcIiIsIGNvbnRyb2xwYXRoKTsKIAkJ Y29udHJvbF9maWxlID0gZ2V0X2NvbnRyb2xmaWxlX2J5X2V4YWN0X3BhdGgoY29udHJvbHBh dGgsICZjcmNfb2spOwogCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3Bn X2NvbnRyb2xkYXRhLmMgYi9zcmMvYmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRh LmMKaW5kZXggMTYyZjA4NzYyNmQuLmQzNzE0YzYyOWIzIDEwMDY0NAotLS0gYS9zcmMvYmlu L3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMKKysrIGIvc3JjL2Jpbi9wZ19jb250 cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jCkBAIC0xLDcgKzEsOCBAQAogLyoKICAqIHBnX2Nv bnRyb2xkYXRhCiAgKgotICogcmVhZHMgdGhlIGRhdGEgZnJvbSAkUEdEQVRBL2dsb2JhbC9w Z19jb250cm9sCisgKiByZWFkcyB0aGUgZGF0YSBmcm9tIHJlYWRzIHRoZSBkYXRhIGZyb20g dGhlIGNvbnRyb2wgZmlsZQorICogd2hpY2ggaXMgbG9jYXRlZCBhdCAkUEdEQVRBL1hMT0df Q09OVFJPTF9GSUxFCiAgKgogICogY29weXJpZ2h0IChjKSBPbGl2ZXIgRWxwaGljayA8b2xs eUBsZml4LmNvLnVrPiwgMjAwMTsKICAqIGxpY2Vuc2U6IEJTRApkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ19yZXdpbmQvZmlsZW1hcC5jIGIvc3JjL2Jpbi9wZ19yZXdpbmQvZmlsZW1hcC5j CmluZGV4IGEyOGQxNjY3ZDRjLi4zZWYzOGYzMjljYiAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19yZXdpbmQvZmlsZW1hcC5jCisrKyBiL3NyYy9iaW4vcGdfcmV3aW5kL2ZpbGVtYXAuYwpA QCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8dW5p c3RkLmg+CiAKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1ZGUg ImNhdGFsb2cvcGdfdGFibGVzcGFjZV9kLmgiCiAjaW5jbHVkZSAiY29tbW9uL2ZpbGVfdXRp bHMuaCIKICNpbmNsdWRlICJjb21tb24vaGFzaGZuX3Vuc3RhYmxlLmgiCkBAIC03MDQsNyAr NzA1LDcgQEAgZGVjaWRlX2ZpbGVfYWN0aW9uKGZpbGVfZW50cnlfdCAqZW50cnkpCiAJICog RG9uJ3QgdG91Y2ggdGhlIGNvbnRyb2wgZmlsZS4gSXQgaXMgaGFuZGxlZCBzcGVjaWFsbHks IGFmdGVyIGNvcHlpbmcKIAkgKiBhbGwgdGhlIG90aGVyIGZpbGVzLgogCSAqLwotCWlmIChz dHJjbXAocGF0aCwgImdsb2JhbC9wZ19jb250cm9sIikgPT0gMCkKKwlpZiAoc3RyY21wKHBh dGgsIFhMT0dfQ09OVFJPTF9GSUxFKSA9PSAwKQogCQlyZXR1cm4gRklMRV9BQ1RJT05fTk9O RTsKIAogCS8qIFNraXAgbWFjT1Mgc3lzdGVtIGZpbGVzICovCmRpZmYgLS1naXQgYS9zcmMv YmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYyBiL3NyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2lu ZC5jCmluZGV4IGE2MjUxMDVmYmNjLi5kMzI0MzlmYmZhZiAxMDA2NDQKLS0tIGEvc3JjL2Jp bi9wZ19yZXdpbmQvcGdfcmV3aW5kLmMKKysrIGIvc3JjL2Jpbi9wZ19yZXdpbmQvcGdfcmV3 aW5kLmMKQEAgLTMyOCw3ICszMjgsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikK IAkgKiBuZWVkIHRvIG1ha2Ugc3VyZSBieSB0aGVtc2VsdmVzIHRoYXQgdGhlIHRhcmdldCBj bHVzdGVyIGlzIGluIGEgY2xlYW4KIAkgKiBzdGF0ZS4KIAkgKi8KLQlidWZmZXIgPSBzbHVy cEZpbGUoZGF0YWRpcl90YXJnZXQsICJnbG9iYWwvcGdfY29udHJvbCIsICZzaXplKTsKKwli dWZmZXIgPSBzbHVycEZpbGUoZGF0YWRpcl90YXJnZXQsIFhMT0dfQ09OVFJPTF9GSUxFLCAm c2l6ZSk7CiAJZGlnZXN0Q29udHJvbEZpbGUoJkNvbnRyb2xGaWxlX3RhcmdldCwgYnVmZmVy LCBzaXplKTsKIAlwZ19mcmVlKGJ1ZmZlcik7CiAKQEAgLTMzOCwxMiArMzM4LDEyIEBAIG1h aW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogCXsKIAkJZW5zdXJlQ2xlYW5TaHV0ZG93bihh cmd2WzBdKTsKIAotCQlidWZmZXIgPSBzbHVycEZpbGUoZGF0YWRpcl90YXJnZXQsICJnbG9i YWwvcGdfY29udHJvbCIsICZzaXplKTsKKwkJYnVmZmVyID0gc2x1cnBGaWxlKGRhdGFkaXJf dGFyZ2V0LCBYTE9HX0NPTlRST0xfRklMRSwgJnNpemUpOwogCQlkaWdlc3RDb250cm9sRmls ZSgmQ29udHJvbEZpbGVfdGFyZ2V0LCBidWZmZXIsIHNpemUpOwogCQlwZ19mcmVlKGJ1ZmZl cik7CiAJfQogCi0JYnVmZmVyID0gc291cmNlLT5mZXRjaF9maWxlKHNvdXJjZSwgImdsb2Jh bC9wZ19jb250cm9sIiwgJnNpemUpOworCWJ1ZmZlciA9IHNvdXJjZS0+ZmV0Y2hfZmlsZShz b3VyY2UsIFhMT0dfQ09OVFJPTF9GSUxFLCAmc2l6ZSk7CiAJZGlnZXN0Q29udHJvbEZpbGUo JkNvbnRyb2xGaWxlX3NvdXJjZSwgYnVmZmVyLCBzaXplKTsKIAlwZ19mcmVlKGJ1ZmZlcik7 CiAKQEAgLTYzNiw3ICs2MzYsNyBAQCBwZXJmb3JtX3Jld2luZChmaWxlbWFwX3QgKmZpbGVt YXAsIHJld2luZF9zb3VyY2UgKnNvdXJjZSwKIAkgKiBGZXRjaCB0aGUgY29udHJvbCBmaWxl IGZyb20gdGhlIHNvdXJjZSBsYXN0LiBUaGlzIGVuc3VyZXMgdGhhdCB0aGUKIAkgKiBtaW5S ZWNvdmVyeVBvaW50IGlzIHVwLXRvLWRhdGUuCiAJICovCi0JYnVmZmVyID0gc291cmNlLT5m ZXRjaF9maWxlKHNvdXJjZSwgImdsb2JhbC9wZ19jb250cm9sIiwgJnNpemUpOworCWJ1ZmZl ciA9IHNvdXJjZS0+ZmV0Y2hfZmlsZShzb3VyY2UsIFhMT0dfQ09OVFJPTF9GSUxFLCAmc2l6 ZSk7CiAJZGlnZXN0Q29udHJvbEZpbGUoJkNvbnRyb2xGaWxlX3NvdXJjZV9hZnRlciwgYnVm ZmVyLCBzaXplKTsKIAlwZ19mcmVlKGJ1ZmZlcik7CiAKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cGdfdXBncmFkZS9jb250cm9sZGF0YS5jIGIvc3JjL2Jpbi9wZ191cGdyYWRlL2NvbnRyb2xk YXRhLmMKaW5kZXggNDdlZTI3ZWM4MzUuLjRhZjY5OWQ3ZDFlIDEwMDY0NAotLS0gYS9zcmMv YmluL3BnX3VwZ3JhZGUvY29udHJvbGRhdGEuYworKysgYi9zcmMvYmluL3BnX3VwZ3JhZGUv Y29udHJvbGRhdGEuYwpAQCAtMTIsNiArMTIsNyBAQAogI2luY2x1ZGUgPGN0eXBlLmg+CiAj aW5jbHVkZSA8bGltaXRzLmg+CQkJCS8qIGZvciBDSEFSX01JTiAqLwogCisjaW5jbHVkZSAi YWNjZXNzL3hsb2dmaWxlcGF0aHMuaCIKICNpbmNsdWRlICJjb21tb24vc3RyaW5nLmgiCiAj aW5jbHVkZSAicGdfdXBncmFkZS5oIgogCkBAIC03NTcsMTAgKzc1OCwxMCBAQCBkaXNhYmxl X29sZF9jbHVzdGVyKHRyYW5zZmVyTW9kZSB0cmFuc2Zlcl9tb2RlKQogCQkJCW5ld19wYXRo W01BWFBHUEFUSF07CiAKIAkvKiByZW5hbWUgcGdfY29udHJvbCBzbyBvbGQgc2VydmVyIGNh bm5vdCBiZSBhY2NpZGVudGFsbHkgc3RhcnRlZCAqLwotCXByZXBfc3RhdHVzKCJBZGRpbmcg XCIub2xkXCIgc3VmZml4IHRvIG9sZCBnbG9iYWwvcGdfY29udHJvbCIpOworCXByZXBfc3Rh dHVzKCJBZGRpbmcgXCIub2xkXCIgc3VmZml4IHRvIG9sZCAiIFhMT0dfQ09OVFJPTF9GSUxF KTsKIAotCXNucHJpbnRmKG9sZF9wYXRoLCBzaXplb2Yob2xkX3BhdGgpLCAiJXMvZ2xvYmFs L3BnX2NvbnRyb2wiLCBvbGRfY2x1c3Rlci5wZ2RhdGEpOwotCXNucHJpbnRmKG5ld19wYXRo LCBzaXplb2YobmV3X3BhdGgpLCAiJXMvZ2xvYmFsL3BnX2NvbnRyb2wub2xkIiwgb2xkX2Ns dXN0ZXIucGdkYXRhKTsKKwlzbnByaW50ZihvbGRfcGF0aCwgc2l6ZW9mKG9sZF9wYXRoKSwg IiVzLyVzIiwgb2xkX2NsdXN0ZXIucGdkYXRhLCBYTE9HX0NPTlRST0xfRklMRSk7CisJc25w cmludGYobmV3X3BhdGgsIHNpemVvZihuZXdfcGF0aCksICIlcy8lcy5vbGQiLCBvbGRfY2x1 c3Rlci5wZ2RhdGEsIFhMT0dfQ09OVFJPTF9GSUxFKTsKIAlpZiAocGdfbXZfZmlsZShvbGRf cGF0aCwgbmV3X3BhdGgpICE9IDApCiAJCXBnX2ZhdGFsKCJjb3VsZCBub3QgcmVuYW1lIGZp bGUgXCIlc1wiIHRvIFwiJXNcIjogJW0iLAogCQkJCSBvbGRfcGF0aCwgbmV3X3BhdGgpOwpk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJpZnliYWNrdXAvcGdfdmVyaWZ5YmFja3VwLmMg Yi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9wZ192ZXJpZnliYWNrdXAuYwppbmRleCA4NGVk ZDJjZGNhNS4uZGY1NDY2NTUzZmEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFj a3VwL3BnX3ZlcmlmeWJhY2t1cC5jCisrKyBiL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3Bn X3ZlcmlmeWJhY2t1cC5jCkBAIC0xOCw2ICsxOCw3IEBACiAjaW5jbHVkZSA8c3lzL3N0YXQu aD4KICNpbmNsdWRlIDx0aW1lLmg+CiAKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRo cy5oIgogI2luY2x1ZGUgImNvbW1vbi9sb2dnaW5nLmgiCiAjaW5jbHVkZSAiY29tbW9uL3Bh cnNlX21hbmlmZXN0LmgiCiAjaW5jbHVkZSAiZmVfdXRpbHMvc2ltcGxlX2xpc3QuaCIKQEAg LTczMCw3ICs3MzEsNyBAQCB2ZXJpZnlfcGxhaW5fYmFja3VwX2ZpbGUodmVyaWZpZXJfY29u dGV4dCAqY29udGV4dCwgY2hhciAqcmVscGF0aCwKIAkgKiB2ZXJzaW9uIDEuCiAJICovCiAJ aWYgKGNvbnRleHQtPm1hbmlmZXN0LT52ZXJzaW9uICE9IDEgJiYKLQkJc3RyY21wKHJlbHBh dGgsICJnbG9iYWwvcGdfY29udHJvbCIpID09IDApCisJCXN0cmNtcChyZWxwYXRoLCBYTE9H X0NPTlRST0xfRklMRSkgPT0gMCkKIAkJdmVyaWZ5X2NvbnRyb2xfZmlsZShmdWxscGF0aCwg Y29udGV4dC0+bWFuaWZlc3QtPnN5c3RlbV9pZGVudGlmaWVyKTsKIAogCS8qIFVwZGF0ZSBz dGF0aXN0aWNzIGZvciBwcm9ncmVzcyByZXBvcnQsIGlmIG5lY2Vzc2FyeSAqLwpkaWZmIC0t Z2l0IGEvc3JjL2NvbW1vbi9jb250cm9sZGF0YV91dGlscy5jIGIvc3JjL2NvbW1vbi9jb250 cm9sZGF0YV91dGlscy5jCmluZGV4IDM0ZDhhM2E0ZTMxLi5mYTM3NWRjOTEyOSAxMDA2NDQK LS0tIGEvc3JjL2NvbW1vbi9jb250cm9sZGF0YV91dGlscy5jCisrKyBiL3NyYy9jb21tb24v Y29udHJvbGRhdGFfdXRpbHMuYwpAQCAtNTMsNyArNTMsNyBAQCBnZXRfY29udHJvbGZpbGUo Y29uc3QgY2hhciAqRGF0YURpciwgYm9vbCAqY3JjX29rX3ApCiB7CiAJY2hhcgkJQ29udHJv bEZpbGVQYXRoW01BWFBHUEFUSF07CiAKLQlzbnByaW50ZihDb250cm9sRmlsZVBhdGgsIE1B WFBHUEFUSCwgIiVzL2dsb2JhbC9wZ19jb250cm9sIiwgRGF0YURpcik7CisJc25wcmludGYo Q29udHJvbEZpbGVQYXRoLCBNQVhQR1BBVEgsICIlcy8lcyIsIERhdGFEaXIsIFhMT0dfQ09O VFJPTF9GSUxFKTsKIAogCXJldHVybiBnZXRfY29udHJvbGZpbGVfYnlfZXhhY3RfcGF0aChD b250cm9sRmlsZVBhdGgsIGNyY19va19wKTsKIH0KLS0gCjIuNDguMQoK --------------BLi92Va08L6aoyF2I3LCjU4p--