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 1twxeT-001Nry-5B for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 06:20:42 +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 1twxeR-00Gogl-R5 for pgsql-hackers@arkaria.postgresql.org; Tue, 25 Mar 2025 06:20:39 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1twxeR-00Gof9-5o for pgsql-hackers@lists.postgresql.org; Tue, 25 Mar 2025 06:20:39 +0000 Received: from mail.postgrespro.ru ([93.174.132.70]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1twxeN-0011Ia-2m for pgsql-hackers@postgresql.org; Tue, 25 Mar 2025 06:20:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1742883634; bh=ycX9em6JeHnmhxwCDXvNtKQUCXs46P98MHCrD4MSnKE=; h=Message-ID:Date:User-Agent:Subject:From:To:Cc:References: In-Reply-To:From; b=SFiRG6GfC+qeBh3K+zzRcq729aykrCR4PBU/H0hfELgNSvD34AHish7hZsVVcwq8U 0OVSJMcyMRzUqxafxfWWR3WgvF9eTuc8xF8ZXOy7Tc+bkwmCMVd74rtuWduU4uUs4b u0fFSfGMX7EvobUWXzxVwOb85xiYIrX7e4YNab9uifA2mnQE8cGRlZUPQjR3uKngIy /ytgtn/4IP5yyCN8rxBzIyU+pcNvpRfrlttTLQ0qwPQ+Kux1yRJW2/ryt1rlgQ9lDF J1tGWbMT8T4Vs/RtEbSj0e1MUu/CyWLN+WrcrVXk1b8RoBgGbPwLlTkQ5OVD5tBC/y c3wdtZ89wCcLA== Received: from [172.30.50.46] (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 EF93B60E49; Tue, 25 Mar 2025 09:20:33 +0300 (MSK) Content-Type: multipart/mixed; boundary="------------2ZpHe97wmcCtDzvehoASYUDB" Message-ID: <359568e0-cffc-4f64-b84c-eee76ba229b8@postgrespro.ru> Date: Tue, 25 Mar 2025 09:20:33 +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> Content-Language: en-US In-Reply-To: X-KSMG-AntiPhishing: NotDetected, bases: 2025/03/25 04:50: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/25 03:22:00 #27823010 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. --------------2ZpHe97wmcCtDzvehoASYUDB Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Rebased all patches on the current master, renumbered them to be linear and marked as v3 version. With the best regards, -- Anton A. Melnikov Postgres Professional: http://www.postgrespro.com The Russian Postgres Company --------------2ZpHe97wmcCtDzvehoASYUDB Content-Type: text/x-patch; charset=UTF-8; name="v3-0001-Split-file-related-parts-from-xlog_internal.h.patch" Content-Disposition: attachment; filename*0="v3-0001-Split-file-related-parts-from-xlog_internal.h.patch" Content-Transfer-Encoding: base64 RnJvbSA4NGFlMGE2MjZkNTgyMGY5M2EzNDIzYTUxOGJlY2I2ZGFmYzBhMmFmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLeW90YXJvIEhvcmlndWNoaSA8aG9yaWt5b3RhLm50 dEBnbWFpbC5jb20+CkRhdGU6IFdlZCwgNCBTZXAgMjAyNCAxNjoxNToxNiArMDkwMApTdWJq ZWN0OiBbUEFUQ0hdIFNwbGl0IGZpbGUtcmVsYXRlZCBwYXJ0cyBmcm9tIHhsb2dfaW50ZXJu YWwuaAoKU29tZSBtb2R1bGVzIHRoYXQgcmVxdWlyZSBYTE9HIGZpbGUgbWFuaXB1bGF0aW9u IGhhZCB0byBpbmNsdWRlCnhsb2dfaW50ZXJuYWwuaCwgd2hpY2ggY29udGFpbnMgZXhjZXNz aXZlbHkgZGV0YWlsZWQgaW50ZXJuYWwKaW5mb3JtYXRpb24uIFRoaXMgY29tbWl0IHNlcGFy YXRlcyB0aGUgZmlsZSBhbmQgZmlsZSBwYXRoLXJlbGF0ZWQKY29tcG9uZW50cyBpbnRvIHhs b2dmaWxlcGF0aHMuaCwgdGhlcmVieSBhdm9pZGluZyB0aGUgZXhwb3N1cmUgb2YKdW5yZWxh dGVkIGRldGFpbHMgb2YgdGhlIFhMT0cgbW9kdWxlLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vz cy90cmFuc2FtL3RpbWVsaW5lLmMgICAgICAgICB8ICAgMSAtCiBzcmMvYmFja2VuZC9wb3N0 bWFzdGVyL3BnYXJjaC5jICAgICAgICAgICAgICAgfCAgIDEgLQogc3JjL2JhY2tlbmQvdXRp bHMvYWR0L2dlbmZpbGUuYyAgICAgICAgICAgICAgIHwgICAxIC0KIHNyYy9iaW4vaW5pdGRi L2luaXRkYi5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgMSArCiBzcmMvYmluL3BnX2Fy Y2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMgfCAgIDIgKy0KIHNyYy9iaW4vcGdf YmFzZWJhY2t1cC9wZ19iYXNlYmFja3VwLmMgICAgICAgICB8ICAgNCArLQogc3JjL2Jpbi9w Z19iYXNlYmFja3VwL3BnX3JlY2VpdmV3YWwuYyAgICAgICAgIHwgICAxICsKIHNyYy9iaW4v cGdfYmFzZWJhY2t1cC9yZWNlaXZlbG9nLmMgICAgICAgICAgICB8ICAgMiArLQogc3JjL2Jp bi9wZ19iYXNlYmFja3VwL3N0cmVhbXV0aWwuYyAgICAgICAgICAgIHwgICAyICstCiBzcmMv YmluL3BnX2NvbnRyb2xkYXRhL3BnX2NvbnRyb2xkYXRhLmMgICAgICAgfCAgIDEgLQogc3Jj L2Jpbi9wZ19yZXdpbmQvcGdfcmV3aW5kLmMgICAgICAgICAgICAgICAgIHwgICAyICstCiBz cmMvaW5jbHVkZS9hY2Nlc3MveGxvZy5oICAgICAgICAgICAgICAgICAgICAgfCAgMTMgKy0K IHNyYy9pbmNsdWRlL2FjY2Vzcy94bG9nX2ludGVybmFsLmggICAgICAgICAgICB8IDE3OCAr LS0tLS0tLS0tLS0tLQogc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCAgICAg ICAgICAgIHwgMjE5ICsrKysrKysrKysrKysrKysrKwogMTQgZmlsZXMgY2hhbmdlZCwgMjMw IGluc2VydGlvbnMoKyksIDE5OCBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBz cmMvaW5jbHVkZS9hY2Nlc3MveGxvZ2ZpbGVwYXRocy5oCgpkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL3RyYW5zYW0vdGltZWxpbmUuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy90 cmFuc2FtL3RpbWVsaW5lLmMKaW5kZXggYTI3ZjI3Y2MwMzcuLjcxMGU5MjI5N2UzIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS90aW1lbGluZS5jCisrKyBiL3Ny Yy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3RpbWVsaW5lLmMKQEAgLTM4LDcgKzM4LDYgQEAK ICNpbmNsdWRlICJhY2Nlc3MveGxvZy5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVy bmFsLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dhcmNoaXZlLmgiCi0jaW5jbHVkZSAiYWNj ZXNzL3hsb2dkZWZzLmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAic3RvcmFn ZS9mZC5oIgogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3BnYXJjaC5j IGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2FyY2guYwppbmRleCA3ZTYyMmFlNGJkMi4u NGRiOGEwMGI4NDkgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdhcmNo LmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ2FyY2guYwpAQCAtMzAsNyArMzAs NiBAQAogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2cuaCIK LSNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRlcm5hbC5oIgogI2luY2x1ZGUgImFyY2hpdmUv YXJjaGl2ZV9tb2R1bGUuaCIKICNpbmNsdWRlICJhcmNoaXZlL3NoZWxsX2FyY2hpdmUuaCIK ICNpbmNsdWRlICJsaWIvYmluYXJ5aGVhcC5oIgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvYWR0L2dlbmZpbGUuYyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9nZW5maWxlLmMK aW5kZXggODBiYjgwN2ZiZTkuLmFmNGMxNDhjODA5IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC91dGlscy9hZHQvZ2VuZmlsZS5jCisrKyBiL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9nZW5m aWxlLmMKQEAgLTIxLDcgKzIxLDYgQEAKICNpbmNsdWRlIDxkaXJlbnQuaD4KIAogI2luY2x1 ZGUgImFjY2Vzcy9odHVwX2RldGFpbHMuaCIKLSNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRl cm5hbC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfYXV0aGlkLmgiCiAjaW5jbHVkZSAiY2F0 YWxvZy9wZ190YWJsZXNwYWNlX2QuaCIKICNpbmNsdWRlICJjYXRhbG9nL3BnX3R5cGUuaCIK ZGlmZiAtLWdpdCBhL3NyYy9iaW4vaW5pdGRiL2luaXRkYi5jIGIvc3JjL2Jpbi9pbml0ZGIv aW5pdGRiLmMKaW5kZXggMjFhMGZlM2VjZDkuLmY3MjhlMGZhODAyIDEwMDY0NAotLS0gYS9z cmMvYmluL2luaXRkYi9pbml0ZGIuYworKysgYi9zcmMvYmluL2luaXRkYi9pbml0ZGIuYwpA QCAtNjUsNiArNjUsNyBAQAogI2VuZGlmCiAKICNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRl cm5hbC5oIgorI2luY2x1ZGUgImxpYi9zdHJpbmdpbmZvLmgiCiAjaW5jbHVkZSAiY2F0YWxv Zy9wZ19hdXRoaWRfZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfY2xhc3NfZC5oIgogI2lu Y2x1ZGUgImNhdGFsb2cvcGdfY29sbGF0aW9uX2QuaCIKZGlmZiAtLWdpdCBhL3NyYy9iaW4v cGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFudXAuYyBiL3NyYy9iaW4vcGdfYXJj aGl2ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFudXAuYwppbmRleCBjMjUzNDhiY2I4NS4uZWRm MTgyOGJjNzMgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJj aGl2ZWNsZWFudXAuYworKysgYi9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hp dmVjbGVhbnVwLmMKQEAgLTE1LDcgKzE1LDcgQEAKICNpbmNsdWRlIDxzaWduYWwuaD4KICNp bmNsdWRlIDxzeXMvdGltZS5oPgogCi0jaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50ZXJuYWwu aCIKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1ZGUgImNvbW1v bi9sb2dnaW5nLmgiCiAjaW5jbHVkZSAiZ2V0b3B0X2xvbmcuaCIKIApkaWZmIC0tZ2l0IGEv c3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX2Jhc2ViYWNrdXAuYyBiL3NyYy9iaW4vcGdfYmFz ZWJhY2t1cC9wZ19iYXNlYmFja3VwLmMKaW5kZXggZDRiNGUzMzQwMTQuLmQ5ODFiYjRjMjgy IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfYmFzZWJhY2t1cC5jCisr KyBiL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19iYXNlYmFja3VwLmMKQEAgLTI1LDcgKzI1 LDcgQEAKICNpbmNsdWRlIDx6bGliLmg+CiAjZW5kaWYKIAotI2luY2x1ZGUgImFjY2Vzcy94 bG9nX2ludGVybmFsLmgiCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCIKICNp bmNsdWRlICJhc3RyZWFtZXJfaW5qZWN0LmgiCiAjaW5jbHVkZSAiYmFja3VwL2Jhc2ViYWNr dXAuaCIKICNpbmNsdWRlICJjb21tb24vY29tcHJlc3Npb24uaCIKQEAgLTM1LDYgKzM1LDgg QEAKICNpbmNsdWRlICJmZV91dGlscy9vcHRpb25fdXRpbHMuaCIKICNpbmNsdWRlICJmZV91 dGlscy9yZWNvdmVyeV9nZW4uaCIKICNpbmNsdWRlICJnZXRvcHRfbG9uZy5oIgorI2luY2x1 ZGUgInBndGltZS5oIgorI2luY2x1ZGUgInBvcnQvcGdfYnN3YXAuaCIKICNpbmNsdWRlICJy ZWNlaXZlbG9nLmgiCiAjaW5jbHVkZSAic3RyZWFtdXRpbC5oIgogCmRpZmYgLS1naXQgYS9z cmMvYmluL3BnX2Jhc2ViYWNrdXAvcGdfcmVjZWl2ZXdhbC5jIGIvc3JjL2Jpbi9wZ19iYXNl YmFja3VwL3BnX3JlY2VpdmV3YWwuYwppbmRleCBkZTM1ODQwMThiMC4uNGZhY2MzNWY4NDUg MTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9wZ19yZWNlaXZld2FsLmMKKysr IGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3BnX3JlY2VpdmV3YWwuYwpAQCAtMjcsNiArMjcs NyBAQAogI2luY2x1ZGUgPHpsaWIuaD4KICNlbmRpZgogCisvLyNpbmNsdWRlICJhY2Nlc3Mv eGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVybmFsLmgiCiAj aW5jbHVkZSAiY29tbW9uL2ZpbGVfcGVybS5oIgogI2luY2x1ZGUgImNvbW1vbi9sb2dnaW5n LmgiCmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2Jhc2ViYWNrdXAvcmVjZWl2ZWxvZy5jIGIv c3JjL2Jpbi9wZ19iYXNlYmFja3VwL3JlY2VpdmVsb2cuYwppbmRleCA2YjZlMzJkZmJkZi4u NGY3MmVkNDJlMTEgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9yZWNlaXZl bG9nLmMKKysrIGIvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3JlY2VpdmVsb2cuYwpAQCAtMTgs NyArMTgsNyBAQAogI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CiAjaW5jbHVkZSA8dW5pc3RkLmg+ CiAKLSNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRlcm5hbC5oIgorI2luY2x1ZGUgImFjY2Vz cy94bG9nZmlsZXBhdGhzLmgiCiAjaW5jbHVkZSAiY29tbW9uL2xvZ2dpbmcuaCIKICNpbmNs dWRlICJsaWJwcS1mZS5oIgogI2luY2x1ZGUgInJlY2VpdmVsb2cuaCIKZGlmZiAtLWdpdCBh L3NyYy9iaW4vcGdfYmFzZWJhY2t1cC9zdHJlYW11dGlsLmMgYi9zcmMvYmluL3BnX2Jhc2Vi YWNrdXAvc3RyZWFtdXRpbC5jCmluZGV4IDhlNjA1ZjQzZmZlLi42MmViMDU4NmRjNCAxMDA2 NDQKLS0tIGEvc3JjL2Jpbi9wZ19iYXNlYmFja3VwL3N0cmVhbXV0aWwuYworKysgYi9zcmMv YmluL3BnX2Jhc2ViYWNrdXAvc3RyZWFtdXRpbC5jCkBAIC0xNyw3ICsxNyw3IEBACiAjaW5j bHVkZSA8c3lzL3RpbWUuaD4KICNpbmNsdWRlIDx1bmlzdGQuaD4KIAotI2luY2x1ZGUgImFj Y2Vzcy94bG9nX2ludGVybmFsLmgiCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlcGF0aHMu aCIKICNpbmNsdWRlICJjb21tb24vY29ubmVjdC5oIgogI2luY2x1ZGUgImNvbW1vbi9maWxl X3Blcm0uaCIKICNpbmNsdWRlICJjb21tb24vbG9nZ2luZy5oIgpkaWZmIC0tZ2l0IGEvc3Jj L2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jIGIvc3JjL2Jpbi9wZ19jb250 cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jCmluZGV4IGJlYTc3OWVlZjk0Li4xNjJmMDg3NjI2 ZCAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5j CisrKyBiL3NyYy9iaW4vcGdfY29udHJvbGRhdGEvcGdfY29udHJvbGRhdGEuYwpAQCAtMjIs NyArMjIsNiBAQAogCiAjaW5jbHVkZSAiYWNjZXNzL3RyYW5zYW0uaCIKICNpbmNsdWRlICJh Y2Nlc3MveGxvZy5oIgotI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVybmFsLmgiCiAjaW5j bHVkZSAiY2F0YWxvZy9wZ19jb250cm9sLmgiCiAjaW5jbHVkZSAiY29tbW9uL2NvbnRyb2xk YXRhX3V0aWxzLmgiCiAjaW5jbHVkZSAiY29tbW9uL2xvZ2dpbmcuaCIKZGlmZiAtLWdpdCBh L3NyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jIGIvc3JjL2Jpbi9wZ19yZXdpbmQvcGdf cmV3aW5kLmMKaW5kZXggMmM4YjFhMDcwMDcuLmE2MjUxMDVmYmNjIDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX3Jld2luZC9wZ19yZXdpbmQuYworKysgYi9zcmMvYmluL3BnX3Jld2luZC9w Z19yZXdpbmQuYwpAQCAtMTUsNyArMTUsNyBAQAogI2luY2x1ZGUgPHVuaXN0ZC5oPgogCiAj aW5jbHVkZSAiYWNjZXNzL3RpbWVsaW5lLmgiCi0jaW5jbHVkZSAiYWNjZXNzL3hsb2dfaW50 ZXJuYWwuaCIKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1ZGUg ImNhdGFsb2cvY2F0dmVyc2lvbi5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfY29udHJvbC5o IgogI2luY2x1ZGUgImNvbW1vbi9jb250cm9sZGF0YV91dGlscy5oIgpkaWZmIC0tZ2l0IGEv c3JjL2luY2x1ZGUvYWNjZXNzL3hsb2cuaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nLmgK aW5kZXggZDMxMzA5OWMwMjcuLjdlZjkyNjRmYWJjIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVk ZS9hY2Nlc3MveGxvZy5oCisrKyBiL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nLmgKQEAgLTE2 LDYgKzE2LDcgQEAKICNpbmNsdWRlICJkYXRhdHlwZS90aW1lc3RhbXAuaCIKICNpbmNsdWRl ICJsaWIvc3RyaW5naW5mby5oIgogI2luY2x1ZGUgIm5vZGVzL3BnX2xpc3QuaCIKKyNpbmNs dWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogCiAKIC8qIFN5bmMgbWV0aG9kcyAqLwpA QCAtMjk5LDE2ICszMDAsNCBAQCBleHRlcm4gdm9pZCBkb19wZ19hYm9ydF9iYWNrdXAoaW50 IGNvZGUsIERhdHVtIGFyZyk7CiBleHRlcm4gdm9pZCByZWdpc3Rlcl9wZXJzaXN0ZW50X2Fi b3J0X2JhY2t1cF9oYW5kbGVyKHZvaWQpOwogZXh0ZXJuIFNlc3Npb25CYWNrdXBTdGF0ZSBn ZXRfYmFja3VwX3N0YXR1cyh2b2lkKTsKIAotLyogRmlsZSBwYXRoIG5hbWVzIChhbGwgcmVs YXRpdmUgdG8gJFBHREFUQSkgKi8KLSNkZWZpbmUgUkVDT1ZFUllfU0lHTkFMX0ZJTEUJInJl Y292ZXJ5LnNpZ25hbCIKLSNkZWZpbmUgU1RBTkRCWV9TSUdOQUxfRklMRQkJInN0YW5kYnku c2lnbmFsIgotI2RlZmluZSBCQUNLVVBfTEFCRUxfRklMRQkJImJhY2t1cF9sYWJlbCIKLSNk ZWZpbmUgQkFDS1VQX0xBQkVMX09MRAkJImJhY2t1cF9sYWJlbC5vbGQiCi0KLSNkZWZpbmUg VEFCTEVTUEFDRV9NQVAJCQkidGFibGVzcGFjZV9tYXAiCi0jZGVmaW5lIFRBQkxFU1BBQ0Vf TUFQX09MRAkJInRhYmxlc3BhY2VfbWFwLm9sZCIKLQotLyogZmlsZXMgdG8gc2lnbmFsIHBy b21vdGlvbiB0byBwcmltYXJ5ICovCi0jZGVmaW5lIFBST01PVEVfU0lHTkFMX0ZJTEUJCSJw cm9tb3RlIgotCiAjZW5kaWYJCQkJCQkJLyogWExPR19IICovCmRpZmYgLS1naXQgYS9zcmMv aW5jbHVkZS9hY2Nlc3MveGxvZ19pbnRlcm5hbC5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hs b2dfaW50ZXJuYWwuaAppbmRleCAyY2Y4ZDU1ZDcwNi4uNWU4NDZlNDgwNzMgMTAwNjQ0Ci0t LSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9nX2ludGVybmFsLmgKKysrIGIvc3JjL2luY2x1 ZGUvYWNjZXNzL3hsb2dfaW50ZXJuYWwuaApAQCAtMjEsNiArMjEsNyBAQAogCiAjaW5jbHVk ZSAiYWNjZXNzL3hsb2dkZWZzLmgiCiAjaW5jbHVkZSAiYWNjZXNzL3hsb2dyZWFkZXIuaCIK KyNpbmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1ZGUgImRhdGF0eXBl L3RpbWVzdGFtcC5oIgogI2luY2x1ZGUgImxpYi9zdHJpbmdpbmZvLmgiCiAjaW5jbHVkZSAi cGd0aW1lLmgiCkBAIC04NCwxODcgKzg1LDEwIEBAIHR5cGVkZWYgWExvZ0xvbmdQYWdlSGVh ZGVyRGF0YSAqWExvZ0xvbmdQYWdlSGVhZGVyOwogI2RlZmluZSBYTG9nUGFnZUhlYWRlclNp emUoaGRyKQkJXAogCSgoKGhkciktPnhscF9pbmZvICYgWExQX0xPTkdfSEVBREVSKSA/IFNp emVPZlhMb2dMb25nUEhEIDogU2l6ZU9mWExvZ1Nob3J0UEhEKQogCi0vKiB3YWxfc2VnbWVu dF9zaXplIGNhbiByYW5nZSBmcm9tIDFNQiB0byAxR0IgKi8KLSNkZWZpbmUgV2FsU2VnTWlu U2l6ZSAxMDI0ICogMTAyNAotI2RlZmluZSBXYWxTZWdNYXhTaXplIDEwMjQgKiAxMDI0ICog MTAyNAotLyogZGVmYXVsdCBudW1iZXIgb2YgbWluIGFuZCBtYXggd2FsIHNlZ21lbnRzICov Ci0jZGVmaW5lIERFRkFVTFRfTUlOX1dBTF9TRUdTIDUKLSNkZWZpbmUgREVGQVVMVF9NQVhf V0FMX1NFR1MgNjQKLQotLyogY2hlY2sgdGhhdCB0aGUgZ2l2ZW4gc2l6ZSBpcyBhIHZhbGlk IHdhbF9zZWdtZW50X3NpemUgKi8KLSNkZWZpbmUgSXNQb3dlck9mMih4KSAoeCA+IDAgJiYg KCh4KSAmICgoeCktMSkpID09IDApCi0jZGVmaW5lIElzVmFsaWRXYWxTZWdTaXplKHNpemUp IFwKLQkgKElzUG93ZXJPZjIoc2l6ZSkgJiYgXAotCSAoKHNpemUpID49IFdhbFNlZ01pblNp emUgJiYgKHNpemUpIDw9IFdhbFNlZ01heFNpemUpKQotCi0jZGVmaW5lIFhMb2dTZWdtZW50 c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpCVwKLQkoVUlOVDY0Q09OU1QoMHgxMDAwMDAw MDApIC8gKHdhbF9zZWdzel9ieXRlcykpCi0KLSNkZWZpbmUgWExvZ1NlZ05vT2Zmc2V0VG9S ZWNQdHIoc2Vnbm8sIG9mZnNldCwgd2FsX3NlZ3N6X2J5dGVzLCBkZXN0KSBcCi0JCShkZXN0 KSA9IChzZWdubykgKiAod2FsX3NlZ3N6X2J5dGVzKSArIChvZmZzZXQpCi0KLSNkZWZpbmUg WExvZ1NlZ21lbnRPZmZzZXQoeGxvZ3B0ciwgd2FsX3NlZ3N6X2J5dGVzKQlcCi0JKCh4bG9n cHRyKSAmICgod2FsX3NlZ3N6X2J5dGVzKSAtIDEpKQotCi0vKgotICogQ29tcHV0ZSBhIHNl Z21lbnQgbnVtYmVyIGZyb20gYW4gWExvZ1JlY1B0ci4KLSAqCi0gKiBGb3IgWExCeXRlVG9T ZWcsIGRvIHRoZSBjb21wdXRhdGlvbiBhdCBmYWNlIHZhbHVlLiAgRm9yIFhMQnl0ZVRvUHJl dlNlZywKLSAqIGEgYm91bmRhcnkgYnl0ZSBpcyB0YWtlbiB0byBiZSBpbiB0aGUgcHJldmlv dXMgc2VnbWVudC4gIFRoaXMgaXMgc3VpdGFibGUKLSAqIGZvciBkZWNpZGluZyB3aGljaCBz ZWdtZW50IHRvIHdyaXRlIGdpdmVuIGEgcG9pbnRlciB0byBhIHJlY29yZCBlbmQsCi0gKiBm b3IgZXhhbXBsZS4KLSAqLwotI2RlZmluZSBYTEJ5dGVUb1NlZyh4bHJwLCBsb2dTZWdObywg d2FsX3NlZ3N6X2J5dGVzKSBcCi0JbG9nU2VnTm8gPSAoeGxycCkgLyAod2FsX3NlZ3N6X2J5 dGVzKQotCi0jZGVmaW5lIFhMQnl0ZVRvUHJldlNlZyh4bHJwLCBsb2dTZWdObywgd2FsX3Nl Z3N6X2J5dGVzKSBcCi0JbG9nU2VnTm8gPSAoKHhscnApIC0gMSkgLyAod2FsX3NlZ3N6X2J5 dGVzKQotCi0vKgotICogQ29udmVydCB2YWx1ZXMgb2YgR1VDcyBtZWFzdXJlZCBpbiBtZWdh Ynl0ZXMgdG8gZXF1aXYuIHNlZ21lbnQgY291bnQuCi0gKiBSb3VuZHMgZG93bi4KLSAqLwot I2RlZmluZSBYTG9nTUJWYXJUb1NlZ3MobWJ2YXIsIHdhbF9zZWdzel9ieXRlcykgXAotCSgo bWJ2YXIpIC8gKCh3YWxfc2Vnc3pfYnl0ZXMpIC8gKDEwMjQgKiAxMDI0KSkpCi0KLS8qCi0g KiBJcyBhbiBYTG9nUmVjUHRyIHdpdGhpbiBhIHBhcnRpY3VsYXIgWExPRyBzZWdtZW50Pwot ICoKLSAqIEZvciBYTEJ5dGVJblNlZywgZG8gdGhlIGNvbXB1dGF0aW9uIGF0IGZhY2UgdmFs dWUuICBGb3IgWExCeXRlSW5QcmV2U2VnLAotICogYSBib3VuZGFyeSBieXRlIGlzIHRha2Vu IHRvIGJlIGluIHRoZSBwcmV2aW91cyBzZWdtZW50LgotICovCi0jZGVmaW5lIFhMQnl0ZUlu U2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKLQkoKCh4bHJwKSAvICh3 YWxfc2Vnc3pfYnl0ZXMpKSA9PSAobG9nU2VnTm8pKQotCi0jZGVmaW5lIFhMQnl0ZUluUHJl dlNlZyh4bHJwLCBsb2dTZWdObywgd2FsX3NlZ3N6X2J5dGVzKSBcCi0JKCgoKHhscnApIC0g MSkgLyAod2FsX3NlZ3N6X2J5dGVzKSkgPT0gKGxvZ1NlZ05vKSkKLQogLyogQ2hlY2sgaWYg YW4gWExvZ1JlY1B0ciB2YWx1ZSBpcyBpbiBhIHBsYXVzaWJsZSByYW5nZSAqLwogI2RlZmlu ZSBYUmVjT2ZmSXNWYWxpZCh4bHJwKSBcCiAJCSgoeGxycCkgJSBYTE9HX0JMQ0tTWiA+PSBT aXplT2ZYTG9nU2hvcnRQSEQpCiAKLS8qCi0gKiBUaGUgWExvZyBkaXJlY3RvcnkgYW5kIGNv bnRyb2wgZmlsZSAocmVsYXRpdmUgdG8gJFBHREFUQSkKLSAqLwotI2RlZmluZSBYTE9HRElS CQkJCSJwZ193YWwiCi0jZGVmaW5lIFhMT0dfQ09OVFJPTF9GSUxFCSJnbG9iYWwvcGdfY29u dHJvbCIKLQotLyoKLSAqIFRoZXNlIG1hY3JvcyBlbmNhcHN1bGF0ZSBrbm93bGVkZ2UgYWJv dXQgdGhlIGV4YWN0IGxheW91dCBvZiBYTG9nIGZpbGUKLSAqIG5hbWVzLCB0aW1lbGluZSBo aXN0b3J5IGZpbGUgbmFtZXMsIGFuZCBhcmNoaXZlLXN0YXR1cyBmaWxlIG5hbWVzLgotICov Ci0jZGVmaW5lIE1BWEZOQU1FTEVOCQk2NAotCi0vKiBMZW5ndGggb2YgWExvZyBmaWxlIG5h bWUgKi8KLSNkZWZpbmUgWExPR19GTkFNRV9MRU4JICAgMjQKLQotLyoKLSAqIEdlbmVyYXRl IGEgV0FMIHNlZ21lbnQgZmlsZSBuYW1lLiAgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uIGlu IGEgaGVscGVyCi0gKiBmdW5jdGlvbiBhbGxvY2F0aW5nIHRoZSByZXN1bHQgZ2VuZXJhdGVk LgotICovCi1zdGF0aWMgaW5saW5lIHZvaWQKLVhMb2dGaWxlTmFtZShjaGFyICpmbmFtZSwg VGltZUxpbmVJRCB0bGksIFhMb2dTZWdObyBsb2dTZWdObywgaW50IHdhbF9zZWdzel9ieXRl cykKLXsKLQlzbnByaW50ZihmbmFtZSwgTUFYRk5BTUVMRU4sICIlMDhYJTA4WCUwOFgiLCB0 bGksCi0JCQkgKHVpbnQzMikgKGxvZ1NlZ05vIC8gWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdh bF9zZWdzel9ieXRlcykpLAotCQkJICh1aW50MzIpIChsb2dTZWdObyAlIFhMb2dTZWdtZW50 c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9p ZAotWExvZ0ZpbGVOYW1lQnlJZChjaGFyICpmbmFtZSwgVGltZUxpbmVJRCB0bGksIHVpbnQz MiBsb2csIHVpbnQzMiBzZWcpCi17Ci0Jc25wcmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAi JTA4WCUwOFglMDhYIiwgdGxpLCBsb2csIHNlZyk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgYm9v bAotSXNYTG9nRmlsZU5hbWUoY29uc3QgY2hhciAqZm5hbWUpCi17Ci0JcmV0dXJuIChzdHJs ZW4oZm5hbWUpID09IFhMT0dfRk5BTUVfTEVOICYmIFwKLQkJCXN0cnNwbihmbmFtZSwgIjAx MjM0NTY3ODlBQkNERUYiKSA9PSBYTE9HX0ZOQU1FX0xFTik7Ci19Ci0KLS8qCi0gKiBYTE9H IHNlZ21lbnQgd2l0aCAucGFydGlhbCBzdWZmaXguICBVc2VkIGJ5IHBnX3JlY2VpdmV3YWwg YW5kIGF0IGVuZCBvZgotICogYXJjaGl2ZSByZWNvdmVyeSwgd2hlbiB3ZSB3YW50IHRvIGFy Y2hpdmUgYSBXQUwgc2VnbWVudCBidXQgaXQgbWlnaHQgbm90Ci0gKiBiZSBjb21wbGV0ZSB5 ZXQuCi0gKi8KLXN0YXRpYyBpbmxpbmUgYm9vbAotSXNQYXJ0aWFsWExvZ0ZpbGVOYW1lKGNv bnN0IGNoYXIgKmZuYW1lKQotewotCXJldHVybiAoc3RybGVuKGZuYW1lKSA9PSBYTE9HX0ZO QU1FX0xFTiArIHN0cmxlbigiLnBhcnRpYWwiKSAmJgotCQkJc3Ryc3BuKGZuYW1lLCAiMDEy MzQ1Njc4OUFCQ0RFRiIpID09IFhMT0dfRk5BTUVfTEVOICYmCi0JCQlzdHJjbXAoZm5hbWUg KyBYTE9HX0ZOQU1FX0xFTiwgIi5wYXJ0aWFsIikgPT0gMCk7Ci19Ci0KLXN0YXRpYyBpbmxp bmUgdm9pZAotWExvZ0Zyb21GaWxlTmFtZShjb25zdCBjaGFyICpmbmFtZSwgVGltZUxpbmVJ RCAqdGxpLCBYTG9nU2VnTm8gKmxvZ1NlZ05vLCBpbnQgd2FsX3NlZ3N6X2J5dGVzKQotewot CXVpbnQzMgkJbG9nOwotCXVpbnQzMgkJc2VnOwotCi0Jc3NjYW5mKGZuYW1lLCAiJTA4WCUw OFglMDhYIiwgdGxpLCAmbG9nLCAmc2VnKTsKLQkqbG9nU2VnTm8gPSAodWludDY0KSBsb2cg KiBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSArIHNlZzsKLX0KLQot c3RhdGljIGlubGluZSB2b2lkCi1YTG9nRmlsZVBhdGgoY2hhciAqcGF0aCwgVGltZUxpbmVJ RCB0bGksIFhMb2dTZWdObyBsb2dTZWdObywgaW50IHdhbF9zZWdzel9ieXRlcykKLXsKLQlz bnByaW50ZihwYXRoLCBNQVhQR1BBVEgsIFhMT0dESVIgIi8lMDhYJTA4WCUwOFgiLCB0bGks Ci0JCQkgKHVpbnQzMikgKGxvZ1NlZ05vIC8gWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9z ZWdzel9ieXRlcykpLAotCQkJICh1aW50MzIpIChsb2dTZWdObyAlIFhMb2dTZWdtZW50c1Bl clhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAot VExIaXN0b3J5RmlsZU5hbWUoY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQgdGxpKQotewotCXNu cHJpbnRmKGZuYW1lLCBNQVhGTkFNRUxFTiwgIiUwOFguaGlzdG9yeSIsIHRsaSk7Ci19Ci0K LXN0YXRpYyBpbmxpbmUgYm9vbAotSXNUTEhpc3RvcnlGaWxlTmFtZShjb25zdCBjaGFyICpm bmFtZSkKLXsKLQlyZXR1cm4gKHN0cmxlbihmbmFtZSkgPT0gOCArIHN0cmxlbigiLmhpc3Rv cnkiKSAmJgotCQkJc3Ryc3BuKGZuYW1lLCAiMDEyMzQ1Njc4OUFCQ0RFRiIpID09IDggJiYK LQkJCXN0cmNtcChmbmFtZSArIDgsICIuaGlzdG9yeSIpID09IDApOwotfQotCi1zdGF0aWMg aW5saW5lIHZvaWQKLVRMSGlzdG9yeUZpbGVQYXRoKGNoYXIgKnBhdGgsIFRpbWVMaW5lSUQg dGxpKQotewotCXNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgWExPR0RJUiAiLyUwOFguaGlz dG9yeSIsIHRsaSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgdm9pZAotU3RhdHVzRmlsZVBhdGgo Y2hhciAqcGF0aCwgY29uc3QgY2hhciAqeGxvZywgY29uc3QgY2hhciAqc3VmZml4KQotewot CXNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgWExPR0RJUiAiL2FyY2hpdmVfc3RhdHVzLyVz JXMiLCB4bG9nLCBzdWZmaXgpOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLUJhY2t1cEhp c3RvcnlGaWxlTmFtZShjaGFyICpmbmFtZSwgVGltZUxpbmVJRCB0bGksIFhMb2dTZWdObyBs b2dTZWdObywgWExvZ1JlY1B0ciBzdGFydHBvaW50LCBpbnQgd2FsX3NlZ3N6X2J5dGVzKQot ewotCXNucHJpbnRmKGZuYW1lLCBNQVhGTkFNRUxFTiwgIiUwOFglMDhYJTA4WC4lMDhYLmJh Y2t1cCIsIHRsaSwKLQkJCSAodWludDMyKSAobG9nU2VnTm8gLyBYTG9nU2VnbWVudHNQZXJY TG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksCi0JCQkgKHVpbnQzMikgKGxvZ1NlZ05vICUgWExv Z1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpLAotCQkJICh1aW50MzIpIChY TG9nU2VnbWVudE9mZnNldChzdGFydHBvaW50LCB3YWxfc2Vnc3pfYnl0ZXMpKSk7Ci19Ci0K LXN0YXRpYyBpbmxpbmUgYm9vbAotSXNCYWNrdXBIaXN0b3J5RmlsZU5hbWUoY29uc3QgY2hh ciAqZm5hbWUpCi17Ci0JcmV0dXJuIChzdHJsZW4oZm5hbWUpID4gWExPR19GTkFNRV9MRU4g JiYKLQkJCXN0cnNwbihmbmFtZSwgIjAxMjM0NTY3ODlBQkNERUYiKSA9PSBYTE9HX0ZOQU1F X0xFTiAmJgotCQkJc3RyY21wKGZuYW1lICsgc3RybGVuKGZuYW1lKSAtIHN0cmxlbigiLmJh Y2t1cCIpLCAiLmJhY2t1cCIpID09IDApOwotfQotCi1zdGF0aWMgaW5saW5lIHZvaWQKLUJh Y2t1cEhpc3RvcnlGaWxlUGF0aChjaGFyICpwYXRoLCBUaW1lTGluZUlEIHRsaSwgWExvZ1Nl Z05vIGxvZ1NlZ05vLCBYTG9nUmVjUHRyIHN0YXJ0cG9pbnQsIGludCB3YWxfc2Vnc3pfYnl0 ZXMpCi17Ci0Jc25wcmludGYocGF0aCwgTUFYUEdQQVRILCBYTE9HRElSICIvJTA4WCUwOFgl MDhYLiUwOFguYmFja3VwIiwgdGxpLAotCQkJICh1aW50MzIpIChsb2dTZWdObyAvIFhMb2dT ZWdtZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSwKLQkJCSAodWludDMyKSAobG9n U2VnTm8gJSBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksCi0JCQkg KHVpbnQzMikgKFhMb2dTZWdtZW50T2Zmc2V0KChzdGFydHBvaW50KSwgd2FsX3NlZ3N6X2J5 dGVzKSkpOwotfQogCiAvKgogICogSW5mb3JtYXRpb24gbG9nZ2VkIHdoZW4gd2UgZGV0ZWN0 IGEgY2hhbmdlIGluIG9uZSBvZiB0aGUgcGFyYW1ldGVycwpkaWZmIC0tZ2l0IGEvc3JjL2lu Y2x1ZGUvYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCBiL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9n ZmlsZXBhdGhzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmNk ZGUyY2NhZTRmCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dm aWxlcGF0aHMuaApAQCAtMCwwICsxLDIxOSBAQAorLyoKKyAqIHhsb2dmaWxlcGF0aHMuaAor ICoKKyAqIEZpbGUgbmFtZSBkZWZpbml0aW9ucyBhbmQgaGFuZGxpbmcgbWFjcm9zIGZvciBQ b3N0Z3JlU1FMIHdyaXRlLWFoZWFkIGxvZ3MuCisgKgorICogUG9ydGlvbnMgQ29weXJpZ2h0 IChjKSAxOTk2LTIwMjQsIFBvc3RncmVTUUwgR2xvYmFsIERldmVsb3BtZW50IEdyb3VwCisg KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDE5OTQsIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNp dHkgb2YgQ2FsaWZvcm5pYQorICoKKyAqIHNyYy9pbmNsdWRlL2FjY2Vzcy94bG9nZmlsZXBh dGhzLmgKKyAqLworI2lmbmRlZiBYTE9HX0ZJTEVQQVRIU19ICisjZGVmaW5lIFhMT0dfRklM RVBBVEhTX0gKKworI2luY2x1ZGUgImFjY2Vzcy94bG9nZGVmcy5oIgorCisvKgorICogVGhl IFhMb2cgZGlyZWN0b3J5IGFuZCBmaWxlcyAocmVsYXRpdmUgdG8gJFBHREFUQSkKKyAqLwor I2RlZmluZSBYTE9HRElSCQkJCQkicGdfd2FsIgorCisvKiBjb250cm9sIGZpbGVzICovCisj ZGVmaW5lIFhMT0dfQ09OVFJPTF9GSUxFCQkiZ2xvYmFsL3BnX2NvbnRyb2wiCisjZGVmaW5l IEJBQ0tVUF9MQUJFTF9GSUxFCQkiYmFja3VwX2xhYmVsIgorI2RlZmluZSBCQUNLVVBfTEFC RUxfT0xECQkiYmFja3VwX2xhYmVsLm9sZCIKKworLyogdGFibGVzcGFjZSBtYXAgKi8KKyNk ZWZpbmUgVEFCTEVTUEFDRV9NQVAJCQkidGFibGVzcGFjZV9tYXAiCisjZGVmaW5lIFRBQkxF U1BBQ0VfTUFQX09MRAkJInRhYmxlc3BhY2VfbWFwLm9sZCIKKworLyogZmlsZXMgdG8gc2ln bmFsIHJ1biBtb2RlIHRvIHN0YW5kYnkgKi8KKyNkZWZpbmUgUkVDT1ZFUllfU0lHTkFMX0ZJ TEUJInJlY292ZXJ5LnNpZ25hbCIKKyNkZWZpbmUgU1RBTkRCWV9TSUdOQUxfRklMRQkJInN0 YW5kYnkuc2lnbmFsIgorCisvKiBmaWxlcyB0byBzaWduYWwgcHJvbW90aW9uIHRvIHByaW1h cnkgKi8KKyNkZWZpbmUgUFJPTU9URV9TSUdOQUxfRklMRQkJInByb21vdGUiCisKKy8qIHdh bF9zZWdtZW50X3NpemUgY2FuIHJhbmdlIGZyb20gMU1CIHRvIDFHQiAqLworI2RlZmluZSBX YWxTZWdNaW5TaXplIDEwMjQgKiAxMDI0CisjZGVmaW5lIFdhbFNlZ01heFNpemUgMTAyNCAq IDEwMjQgKiAxMDI0CisKKy8qIGRlZmF1bHQgbnVtYmVyIG9mIG1pbiBhbmQgbWF4IHdhbCBz ZWdtZW50cyAqLworI2RlZmluZSBERUZBVUxUX01JTl9XQUxfU0VHUyA1CisjZGVmaW5lIERF RkFVTFRfTUFYX1dBTF9TRUdTIDY0CisKKworLyoKKyAqIFRoZXNlIG1hY3JvcyBlbmNhcHN1 bGF0ZSBrbm93bGVkZ2UgYWJvdXQgdGhlIGV4YWN0IGxheW91dCBvZiBYTG9nIGZpbGUKKyAq IG5hbWVzLCB0aW1lbGluZSBoaXN0b3J5IGZpbGUgbmFtZXMsIGFuZCBhcmNoaXZlLXN0YXR1 cyBmaWxlIG5hbWVzLgorICovCisjZGVmaW5lIE1BWEZOQU1FTEVOCQk2NAorCisvKiBMZW5n dGggb2YgWExvZyBmaWxlIG5hbWUgKi8KKyNkZWZpbmUgWExPR19GTkFNRV9MRU4JICAgMjQK KworLyogY2hlY2sgdGhhdCB0aGUgZ2l2ZW4gc2l6ZSBpcyBhIHZhbGlkIHdhbF9zZWdtZW50 X3NpemUgKi8KKyNkZWZpbmUgSXNQb3dlck9mMih4KSAoeCA+IDAgJiYgKCh4KSAmICgoeCkt MSkpID09IDApCisjZGVmaW5lIElzVmFsaWRXYWxTZWdTaXplKHNpemUpIFwKKwkgKElzUG93 ZXJPZjIoc2l6ZSkgJiYgXAorCSAoKHNpemUpID49IFdhbFNlZ01pblNpemUgJiYgKHNpemUp IDw9IFdhbFNlZ01heFNpemUpKQorCisvKiBOdW1iZXIgb2Ygc2VnbWVudHMgaW4gYSBsb2dp Y2FsIFhMT0cgZmlsZSAqLworI2RlZmluZSBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3Nl Z3N6X2J5dGVzKQlcCisJKFVJTlQ2NENPTlNUKDB4MTAwMDAwMDAwKSAvICh3YWxfc2Vnc3pf Ynl0ZXMpKQorCisvKgorICogQ29tcHV0ZSBhbiBYTG9nUmVjUHRyIGZyb20gYSBzZWdtZW50 IG51bWJlciBhbmQgb2Zmc2V0LgorICovCisjZGVmaW5lIFhMb2dTZWdOb09mZnNldFRvUmVj UHRyKHNlZ25vLCBvZmZzZXQsIHdhbF9zZWdzel9ieXRlcywgZGVzdCkgXAorCQkoZGVzdCkg PSAoc2Vnbm8pICogKHdhbF9zZWdzel9ieXRlcykgKyAob2Zmc2V0KQorLyoKKyAqIENvbXB1 dGUgYSBzZWdtZW50IG51bWJlciBmcm9tIGFuIFhMb2dSZWNQdHIuCisgKgorICogRm9yIFhM Qnl0ZVRvU2VnLCBkbyB0aGUgY29tcHV0YXRpb24gYXQgZmFjZSB2YWx1ZS4gIEZvciBYTEJ5 dGVUb1ByZXZTZWcsCisgKiBhIGJvdW5kYXJ5IGJ5dGUgaXMgdGFrZW4gdG8gYmUgaW4gdGhl IHByZXZpb3VzIHNlZ21lbnQuICBUaGlzIGlzIHN1aXRhYmxlCisgKiBmb3IgZGVjaWRpbmcg d2hpY2ggc2VnbWVudCB0byB3cml0ZSBnaXZlbiBhIHBvaW50ZXIgdG8gYSByZWNvcmQgZW5k LAorICogZm9yIGV4YW1wbGUuCisgKi8KKyNkZWZpbmUgWExCeXRlVG9TZWcoeGxycCwgbG9n U2VnTm8sIHdhbF9zZWdzel9ieXRlcykgXAorCWxvZ1NlZ05vID0gKHhscnApIC8gKHdhbF9z ZWdzel9ieXRlcykKKworI2RlZmluZSBYTEJ5dGVUb1ByZXZTZWcoeGxycCwgbG9nU2VnTm8s IHdhbF9zZWdzel9ieXRlcykgXAorCWxvZ1NlZ05vID0gKCh4bHJwKSAtIDEpIC8gKHdhbF9z ZWdzel9ieXRlcykKKworLyogQ29tcHV0ZSB0aGUgaW4tc2VnbWVudCBvZmZzZXQgZnJvbSBh biBYTG9nUmVjUHRyLiAqLworI2RlZmluZSBYTG9nU2VnbWVudE9mZnNldCh4bG9ncHRyLCB3 YWxfc2Vnc3pfYnl0ZXMpCVwKKwkoKHhsb2dwdHIpICYgKCh3YWxfc2Vnc3pfYnl0ZXMpIC0g MSkpCisKKy8qCisgKiBDb252ZXJ0IHZhbHVlcyBvZiBHVUNzIG1lYXN1cmVkIGluIG1lZ2Fi eXRlcyB0byBlcXVpdi4gc2VnbWVudCBjb3VudC4KKyAqIFJvdW5kcyBkb3duLgorICovCisj ZGVmaW5lIFhMb2dNQlZhclRvU2VncyhtYnZhciwgd2FsX3NlZ3N6X2J5dGVzKSBcCisJKCht YnZhcikgLyAoKHdhbF9zZWdzel9ieXRlcykgLyAoMTAyNCAqIDEwMjQpKSkKKworLyoKKyAq IElzIGFuIFhMb2dSZWNQdHIgd2l0aGluIGEgcGFydGljdWxhciBYTE9HIHNlZ21lbnQ/Cisg KgorICogRm9yIFhMQnl0ZUluU2VnLCBkbyB0aGUgY29tcHV0YXRpb24gYXQgZmFjZSB2YWx1 ZS4gIEZvciBYTEJ5dGVJblByZXZTZWcsCisgKiBhIGJvdW5kYXJ5IGJ5dGUgaXMgdGFrZW4g dG8gYmUgaW4gdGhlIHByZXZpb3VzIHNlZ21lbnQuCisgKi8KKyNkZWZpbmUgWExCeXRlSW5T ZWcoeGxycCwgbG9nU2VnTm8sIHdhbF9zZWdzel9ieXRlcykgXAorCSgoKHhscnApIC8gKHdh bF9zZWdzel9ieXRlcykpID09IChsb2dTZWdObykpCisKKyNkZWZpbmUgWExCeXRlSW5QcmV2 U2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwkoKCgoeGxycCkgLSAx KSAvICh3YWxfc2Vnc3pfYnl0ZXMpKSA9PSAobG9nU2VnTm8pKQorCisvKgorICogWExPRyBm aWxlIG5hbWUgaGFuZGxpbmcgZnVuY3Rpb25zCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZAor U3RhdHVzRmlsZVBhdGgoY2hhciAqcGF0aCwgY29uc3QgY2hhciAqeGxvZywgY29uc3QgY2hh ciAqc3VmZml4KQoreworCXNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgWExPR0RJUiAiL2Fy Y2hpdmVfc3RhdHVzLyVzJXMiLCB4bG9nLCBzdWZmaXgpOworfQorCitzdGF0aWMgaW5saW5l IGJvb2wKK0lzVExIaXN0b3J5RmlsZU5hbWUoY29uc3QgY2hhciAqZm5hbWUpCit7CisJcmV0 dXJuIChzdHJsZW4oZm5hbWUpID09IDggKyBzdHJsZW4oIi5oaXN0b3J5IikgJiYKKwkJCXN0 cnNwbihmbmFtZSwgIjAxMjM0NTY3ODlBQkNERUYiKSA9PSA4ICYmCisJCQlzdHJjbXAoZm5h bWUgKyA4LCAiLmhpc3RvcnkiKSA9PSAwKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitY TG9nRnJvbUZpbGVOYW1lKGNvbnN0IGNoYXIgKmZuYW1lLCBUaW1lTGluZUlEICp0bGksIFhM b2dTZWdObyAqbG9nU2VnTm8sIGludCB3YWxfc2Vnc3pfYnl0ZXMpCit7CisJdWludDMyCQls b2c7CisJdWludDMyCQlzZWc7CisKKwlzc2NhbmYoZm5hbWUsICIlMDhYJTA4WCUwOFgiLCB0 bGksICZsb2csICZzZWcpOworCSpsb2dTZWdObyA9ICh1aW50NjQpIGxvZyAqIFhMb2dTZWdt ZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpICsgc2VnOworfQorCitzdGF0aWMgaW5s aW5lIHZvaWQKK1hMb2dGaWxlUGF0aChjaGFyICpwYXRoLCBUaW1lTGluZUlEIHRsaSwgWExv Z1NlZ05vIGxvZ1NlZ05vLCBpbnQgd2FsX3NlZ3N6X2J5dGVzKQoreworCXNucHJpbnRmKHBh dGgsIE1BWFBHUEFUSCwgWExPR0RJUiAiLyUwOFglMDhYJTA4WCIsIHRsaSwKKwkJCSAodWlu dDMyKSAobG9nU2VnTm8gLyBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVz KSksCisJCQkgKHVpbnQzMikgKGxvZ1NlZ05vICUgWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdh bF9zZWdzel9ieXRlcykpKTsKK30KKworLyoKKyAqIEdlbmVyYXRlIGEgV0FMIHNlZ21lbnQg ZmlsZSBuYW1lLiAgRG8gbm90IHVzZSB0aGlzIGZ1bmN0aW9uIGluIGEgaGVscGVyCisgKiBm dW5jdGlvbiBhbGxvY2F0aW5nIHRoZSByZXN1bHQgZ2VuZXJhdGVkLgorICovCitzdGF0aWMg aW5saW5lIHZvaWQKK1hMb2dGaWxlTmFtZShjaGFyICpmbmFtZSwgVGltZUxpbmVJRCB0bGks IFhMb2dTZWdObyBsb2dTZWdObywgaW50IHdhbF9zZWdzel9ieXRlcykKK3sKKwlzbnByaW50 ZihmbmFtZSwgTUFYRk5BTUVMRU4sICIlMDhYJTA4WCUwOFgiLCB0bGksCisJCQkgKHVpbnQz MikgKGxvZ1NlZ05vIC8gWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykp LAorCQkJICh1aW50MzIpIChsb2dTZWdObyAlIFhMb2dTZWdtZW50c1BlclhMb2dJZCh3YWxf c2Vnc3pfYnl0ZXMpKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorWExvZ0ZpbGVOYW1l QnlJZChjaGFyICpmbmFtZSwgVGltZUxpbmVJRCB0bGksIHVpbnQzMiBsb2csIHVpbnQzMiBz ZWcpCit7CisJc25wcmludGYoZm5hbWUsIE1BWEZOQU1FTEVOLCAiJTA4WCUwOFglMDhYIiwg dGxpLCBsb2csIHNlZyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgYm9vbAorSXNYTG9nRmlsZU5h bWUoY29uc3QgY2hhciAqZm5hbWUpCit7CisJcmV0dXJuIChzdHJsZW4oZm5hbWUpID09IFhM T0dfRk5BTUVfTEVOICYmIFwKKwkJCXN0cnNwbihmbmFtZSwgIjAxMjM0NTY3ODlBQkNERUYi KSA9PSBYTE9HX0ZOQU1FX0xFTik7Cit9CisKKy8qCisgKiBYTE9HIHNlZ21lbnQgd2l0aCAu cGFydGlhbCBzdWZmaXguICBVc2VkIGJ5IHBnX3JlY2VpdmV3YWwgYW5kIGF0IGVuZCBvZgor ICogYXJjaGl2ZSByZWNvdmVyeSwgd2hlbiB3ZSB3YW50IHRvIGFyY2hpdmUgYSBXQUwgc2Vn bWVudCBidXQgaXQgbWlnaHQgbm90CisgKiBiZSBjb21wbGV0ZSB5ZXQuCisgKi8KK3N0YXRp YyBpbmxpbmUgYm9vbAorSXNQYXJ0aWFsWExvZ0ZpbGVOYW1lKGNvbnN0IGNoYXIgKmZuYW1l KQoreworCXJldHVybiAoc3RybGVuKGZuYW1lKSA9PSBYTE9HX0ZOQU1FX0xFTiArIHN0cmxl bigiLnBhcnRpYWwiKSAmJgorCQkJc3Ryc3BuKGZuYW1lLCAiMDEyMzQ1Njc4OUFCQ0RFRiIp ID09IFhMT0dfRk5BTUVfTEVOICYmCisJCQlzdHJjbXAoZm5hbWUgKyBYTE9HX0ZOQU1FX0xF TiwgIi5wYXJ0aWFsIikgPT0gMCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorVExIaXN0 b3J5RmlsZU5hbWUoY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQgdGxpKQoreworCXNucHJpbnRm KGZuYW1lLCBNQVhGTkFNRUxFTiwgIiUwOFguaGlzdG9yeSIsIHRsaSk7Cit9CisKK3N0YXRp YyBpbmxpbmUgdm9pZAorVExIaXN0b3J5RmlsZVBhdGgoY2hhciAqcGF0aCwgVGltZUxpbmVJ RCB0bGkpCit7CisJc25wcmludGYocGF0aCwgTUFYUEdQQVRILCBYTE9HRElSICIvJTA4WC5o aXN0b3J5IiwgdGxpKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitCYWNrdXBIaXN0b3J5 RmlsZU5hbWUoY2hhciAqZm5hbWUsIFRpbWVMaW5lSUQgdGxpLCBYTG9nU2VnTm8gbG9nU2Vn Tm8sIFhMb2dSZWNQdHIgc3RhcnRwb2ludCwgaW50IHdhbF9zZWdzel9ieXRlcykKK3sKKwlz bnByaW50ZihmbmFtZSwgTUFYRk5BTUVMRU4sICIlMDhYJTA4WCUwOFguJTA4WC5iYWNrdXAi LCB0bGksCisJCQkgKHVpbnQzMikgKGxvZ1NlZ05vIC8gWExvZ1NlZ21lbnRzUGVyWExvZ0lk KHdhbF9zZWdzel9ieXRlcykpLAorCQkJICh1aW50MzIpIChsb2dTZWdObyAlIFhMb2dTZWdt ZW50c1BlclhMb2dJZCh3YWxfc2Vnc3pfYnl0ZXMpKSwKKwkJCSAodWludDMyKSAoWExvZ1Nl Z21lbnRPZmZzZXQoc3RhcnRwb2ludCwgd2FsX3NlZ3N6X2J5dGVzKSkpOworfQorCitzdGF0 aWMgaW5saW5lIGJvb2wKK0lzQmFja3VwSGlzdG9yeUZpbGVOYW1lKGNvbnN0IGNoYXIgKmZu YW1lKQoreworCXJldHVybiAoc3RybGVuKGZuYW1lKSA+IFhMT0dfRk5BTUVfTEVOICYmCisJ CQlzdHJzcG4oZm5hbWUsICIwMTIzNDU2Nzg5QUJDREVGIikgPT0gWExPR19GTkFNRV9MRU4g JiYKKwkJCXN0cmNtcChmbmFtZSArIHN0cmxlbihmbmFtZSkgLSBzdHJsZW4oIi5iYWNrdXAi KSwgIi5iYWNrdXAiKSA9PSAwKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitCYWNrdXBI aXN0b3J5RmlsZVBhdGgoY2hhciAqcGF0aCwgVGltZUxpbmVJRCB0bGksIFhMb2dTZWdObyBs b2dTZWdObywgWExvZ1JlY1B0ciBzdGFydHBvaW50LCBpbnQgd2FsX3NlZ3N6X2J5dGVzKQor eworCXNucHJpbnRmKHBhdGgsIE1BWFBHUEFUSCwgWExPR0RJUiAiLyUwOFglMDhYJTA4WC4l MDhYLmJhY2t1cCIsIHRsaSwKKwkJCSAodWludDMyKSAobG9nU2VnTm8gLyBYTG9nU2VnbWVu dHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKSksCisJCQkgKHVpbnQzMikgKGxvZ1NlZ05v ICUgWExvZ1NlZ21lbnRzUGVyWExvZ0lkKHdhbF9zZWdzel9ieXRlcykpLAorCQkJICh1aW50 MzIpIChYTG9nU2VnbWVudE9mZnNldCgoc3RhcnRwb2ludCksIHdhbF9zZWdzel9ieXRlcykp KTsKK30KKworCisjZW5kaWYJCQkJCQkJLyogWExPR19GSUxFUEFUSFNfSCAqLwotLSAKMi40 OC4xCgo= --------------2ZpHe97wmcCtDzvehoASYUDB Content-Type: text/x-patch; charset=UTF-8; name="v3-0002-Extract-size-related-macros-from-xlogfilepaths.h.patch" Content-Disposition: attachment; filename*0="v3-0002-Extract-size-related-macros-from-xlogfilepaths.h.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSBhMDEzN2I0YTJmMjQzN2JiMGE3N2M4MzNjM2ZjZjM5M2M1MzY0NTExIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW50b24gQS4gTWVsbmlrb3YiIDxhLm1lbG5pa292 QHBvc3RncmVzcHJvLnJ1PgpEYXRlOiBTYXQsIDcgU2VwIDIwMjQgMTA6MTg6NTEgKzAzMDAK U3ViamVjdDogW1BBVENIXSBFeHRyYWN0IHNpemUtcmVsYXRlZCBtYWNyb3MgZnJvbSB4bG9n ZmlsZXBhdGhzLmggdG8KIHhsb2dmaWxlc2l6ZS5oCgotLS0KIHNyYy9pbmNsdWRlL2FjY2Vz cy94bG9nZmlsZXBhdGhzLmggfCA2NSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogc3JjL2lu Y2x1ZGUvYWNjZXNzL3hsb2dmaWxlc2l6ZS5oICB8IDgzICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogMiBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCA2MyBkZWxl dGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ2Zp bGVzaXplLmgKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ2ZpbGVwYXRo cy5oIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dmaWxlcGF0aHMuaAppbmRleCBjZGRlMmNj YWU0Zi4uZWQyOGNmOTc1ZTYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2FjY2Vzcy94bG9n ZmlsZXBhdGhzLmgKKysrIGIvc3JjL2luY2x1ZGUvYWNjZXNzL3hsb2dmaWxlcGF0aHMuaApA QCAtMTIsNiArMTIsNyBAQAogI2RlZmluZSBYTE9HX0ZJTEVQQVRIU19ICiAKICNpbmNsdWRl ICJhY2Nlc3MveGxvZ2RlZnMuaCIKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVzaXplLmgi CiAKIC8qCiAgKiBUaGUgWExvZyBkaXJlY3RvcnkgYW5kIGZpbGVzIChyZWxhdGl2ZSB0byAk UEdEQVRBKQpAQCAtMzQsNzUgKzM1LDEzIEBACiAvKiBmaWxlcyB0byBzaWduYWwgcHJvbW90 aW9uIHRvIHByaW1hcnkgKi8KICNkZWZpbmUgUFJPTU9URV9TSUdOQUxfRklMRQkJInByb21v dGUiCiAKLS8qIHdhbF9zZWdtZW50X3NpemUgY2FuIHJhbmdlIGZyb20gMU1CIHRvIDFHQiAq LwotI2RlZmluZSBXYWxTZWdNaW5TaXplIDEwMjQgKiAxMDI0Ci0jZGVmaW5lIFdhbFNlZ01h eFNpemUgMTAyNCAqIDEwMjQgKiAxMDI0CiAKLS8qIGRlZmF1bHQgbnVtYmVyIG9mIG1pbiBh bmQgbWF4IHdhbCBzZWdtZW50cyAqLwotI2RlZmluZSBERUZBVUxUX01JTl9XQUxfU0VHUyA1 Ci0jZGVmaW5lIERFRkFVTFRfTUFYX1dBTF9TRUdTIDY0Ci0KLQotLyoKLSAqIFRoZXNlIG1h Y3JvcyBlbmNhcHN1bGF0ZSBrbm93bGVkZ2UgYWJvdXQgdGhlIGV4YWN0IGxheW91dCBvZiBY TG9nIGZpbGUKLSAqIG5hbWVzLCB0aW1lbGluZSBoaXN0b3J5IGZpbGUgbmFtZXMsIGFuZCBh cmNoaXZlLXN0YXR1cyBmaWxlIG5hbWVzLgotICovCisvKiBNYXhpbXVtIGxlbmd0aCBvZiBY TG9nIGZpbGUgbmFtZSBpbmNsdWRpbmcgcG9zc2libGUgc3VmZml4ICovCiAjZGVmaW5lIE1B WEZOQU1FTEVOCQk2NAogCiAvKiBMZW5ndGggb2YgWExvZyBmaWxlIG5hbWUgKi8KICNkZWZp bmUgWExPR19GTkFNRV9MRU4JICAgMjQKIAotLyogY2hlY2sgdGhhdCB0aGUgZ2l2ZW4gc2l6 ZSBpcyBhIHZhbGlkIHdhbF9zZWdtZW50X3NpemUgKi8KLSNkZWZpbmUgSXNQb3dlck9mMih4 KSAoeCA+IDAgJiYgKCh4KSAmICgoeCktMSkpID09IDApCi0jZGVmaW5lIElzVmFsaWRXYWxT ZWdTaXplKHNpemUpIFwKLQkgKElzUG93ZXJPZjIoc2l6ZSkgJiYgXAotCSAoKHNpemUpID49 IFdhbFNlZ01pblNpemUgJiYgKHNpemUpIDw9IFdhbFNlZ01heFNpemUpKQotCi0vKiBOdW1i ZXIgb2Ygc2VnbWVudHMgaW4gYSBsb2dpY2FsIFhMT0cgZmlsZSAqLwotI2RlZmluZSBYTG9n U2VnbWVudHNQZXJYTG9nSWQod2FsX3NlZ3N6X2J5dGVzKQlcCi0JKFVJTlQ2NENPTlNUKDB4 MTAwMDAwMDAwKSAvICh3YWxfc2Vnc3pfYnl0ZXMpKQotCi0vKgotICogQ29tcHV0ZSBhbiBY TG9nUmVjUHRyIGZyb20gYSBzZWdtZW50IG51bWJlciBhbmQgb2Zmc2V0LgotICovCi0jZGVm aW5lIFhMb2dTZWdOb09mZnNldFRvUmVjUHRyKHNlZ25vLCBvZmZzZXQsIHdhbF9zZWdzel9i eXRlcywgZGVzdCkgXAotCQkoZGVzdCkgPSAoc2Vnbm8pICogKHdhbF9zZWdzel9ieXRlcykg KyAob2Zmc2V0KQotLyoKLSAqIENvbXB1dGUgYSBzZWdtZW50IG51bWJlciBmcm9tIGFuIFhM b2dSZWNQdHIuCi0gKgotICogRm9yIFhMQnl0ZVRvU2VnLCBkbyB0aGUgY29tcHV0YXRpb24g YXQgZmFjZSB2YWx1ZS4gIEZvciBYTEJ5dGVUb1ByZXZTZWcsCi0gKiBhIGJvdW5kYXJ5IGJ5 dGUgaXMgdGFrZW4gdG8gYmUgaW4gdGhlIHByZXZpb3VzIHNlZ21lbnQuICBUaGlzIGlzIHN1 aXRhYmxlCi0gKiBmb3IgZGVjaWRpbmcgd2hpY2ggc2VnbWVudCB0byB3cml0ZSBnaXZlbiBh IHBvaW50ZXIgdG8gYSByZWNvcmQgZW5kLAotICogZm9yIGV4YW1wbGUuCi0gKi8KLSNkZWZp bmUgWExCeXRlVG9TZWcoeGxycCwgbG9nU2VnTm8sIHdhbF9zZWdzel9ieXRlcykgXAotCWxv Z1NlZ05vID0gKHhscnApIC8gKHdhbF9zZWdzel9ieXRlcykKLQotI2RlZmluZSBYTEJ5dGVU b1ByZXZTZWcoeGxycCwgbG9nU2VnTm8sIHdhbF9zZWdzel9ieXRlcykgXAotCWxvZ1NlZ05v ID0gKCh4bHJwKSAtIDEpIC8gKHdhbF9zZWdzel9ieXRlcykKLQotLyogQ29tcHV0ZSB0aGUg aW4tc2VnbWVudCBvZmZzZXQgZnJvbSBhbiBYTG9nUmVjUHRyLiAqLwotI2RlZmluZSBYTG9n U2VnbWVudE9mZnNldCh4bG9ncHRyLCB3YWxfc2Vnc3pfYnl0ZXMpCVwKLQkoKHhsb2dwdHIp ICYgKCh3YWxfc2Vnc3pfYnl0ZXMpIC0gMSkpCi0KLS8qCi0gKiBDb252ZXJ0IHZhbHVlcyBv ZiBHVUNzIG1lYXN1cmVkIGluIG1lZ2FieXRlcyB0byBlcXVpdi4gc2VnbWVudCBjb3VudC4K LSAqIFJvdW5kcyBkb3duLgotICovCi0jZGVmaW5lIFhMb2dNQlZhclRvU2VncyhtYnZhciwg d2FsX3NlZ3N6X2J5dGVzKSBcCi0JKChtYnZhcikgLyAoKHdhbF9zZWdzel9ieXRlcykgLyAo MTAyNCAqIDEwMjQpKSkKLQotLyoKLSAqIElzIGFuIFhMb2dSZWNQdHIgd2l0aGluIGEgcGFy dGljdWxhciBYTE9HIHNlZ21lbnQ/Ci0gKgotICogRm9yIFhMQnl0ZUluU2VnLCBkbyB0aGUg Y29tcHV0YXRpb24gYXQgZmFjZSB2YWx1ZS4gIEZvciBYTEJ5dGVJblByZXZTZWcsCi0gKiBh IGJvdW5kYXJ5IGJ5dGUgaXMgdGFrZW4gdG8gYmUgaW4gdGhlIHByZXZpb3VzIHNlZ21lbnQu Ci0gKi8KLSNkZWZpbmUgWExCeXRlSW5TZWcoeGxycCwgbG9nU2VnTm8sIHdhbF9zZWdzel9i eXRlcykgXAotCSgoKHhscnApIC8gKHdhbF9zZWdzel9ieXRlcykpID09IChsb2dTZWdObykp Ci0KLSNkZWZpbmUgWExCeXRlSW5QcmV2U2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pf Ynl0ZXMpIFwKLQkoKCgoeGxycCkgLSAxKSAvICh3YWxfc2Vnc3pfYnl0ZXMpKSA9PSAobG9n U2VnTm8pKQogCiAvKgogICogWExPRyBmaWxlIG5hbWUgaGFuZGxpbmcgZnVuY3Rpb25zCmRp ZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9hY2Nlc3MveGxvZ2ZpbGVzaXplLmggYi9zcmMvaW5j bHVkZS9hY2Nlc3MveGxvZ2ZpbGVzaXplLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwMDAuLmZlZjMwZTAyYTYyCi0tLSAvZGV2L251bGwKKysrIGIvc3JjL2luY2x1 ZGUvYWNjZXNzL3hsb2dmaWxlc2l6ZS5oCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiB4bG9n ZmlsZXNpemUuaAorICoKKyAqIFNpemUgZGVmaW5pdGlvbnMgYW5kIGhhbmRsaW5nIG1hY3Jv cyBmb3IgUG9zdGdyZVNRTCB3cml0ZS1haGVhZCBsb2dzLgorICoKKyAqIFBvcnRpb25zIENv cHlyaWdodCAoYykgMTk5Ni0yMDI0LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBH cm91cAorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAxOTk0LCBSZWdlbnRzIG9mIHRoZSBV bml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKyAqCisgKiBzcmMvaW5jbHVkZS9hY2Nlc3MveGxv Z2ZpbGVzaXplLmgKKyAqLworCisjaWZuZGVmIFhMT0dfRklMRVNJWkVfSAorI2RlZmluZSBY TE9HX0ZJTEVTSVpFX0gKKworI2luY2x1ZGUgImFjY2Vzcy94bG9nZGVmcy5oIgorCisvKiB3 YWxfc2VnbWVudF9zaXplIGNhbiByYW5nZSBmcm9tIDFNQiB0byAxR0IgKi8KKyNkZWZpbmUg V2FsU2VnTWluU2l6ZSAxMDI0ICogMTAyNAorI2RlZmluZSBXYWxTZWdNYXhTaXplIDEwMjQg KiAxMDI0ICogMTAyNAorCisvKiBkZWZhdWx0IG51bWJlciBvZiBtaW4gYW5kIG1heCB3YWwg c2VnbWVudHMgKi8KKyNkZWZpbmUgREVGQVVMVF9NSU5fV0FMX1NFR1MgNQorI2RlZmluZSBE RUZBVUxUX01BWF9XQUxfU0VHUyA2NAorCisvKgorICogVGhlc2UgbWFjcm9zIGVuY2Fwc3Vs YXRlIGtub3dsZWRnZSBhYm91dCB0aGUgZXhhY3QgbGF5b3V0IG9mIFhMb2cKKyAqIGZpbGVz LCB0aW1lbGluZSBoaXN0b3J5IGZpbHMgYW5kIGFyY2hpdmUtc3RhdHVzIGZpbHMuCisgKi8K KworLyogY2hlY2sgdGhhdCB0aGUgZ2l2ZW4gc2l6ZSBpcyBhIHZhbGlkIHdhbF9zZWdtZW50 X3NpemUgKi8KKyNkZWZpbmUgSXNQb3dlck9mMih4KSAoeCA+IDAgJiYgKCh4KSAmICgoeCkt MSkpID09IDApCisjZGVmaW5lIElzVmFsaWRXYWxTZWdTaXplKHNpemUpIFwKKwkgKElzUG93 ZXJPZjIoc2l6ZSkgJiYgXAorCSAoKHNpemUpID49IFdhbFNlZ01pblNpemUgJiYgKHNpemUp IDw9IFdhbFNlZ01heFNpemUpKQorCisvKiBOdW1iZXIgb2Ygc2VnbWVudHMgaW4gYSBsb2dp Y2FsIFhMT0cgZmlsZSAqLworI2RlZmluZSBYTG9nU2VnbWVudHNQZXJYTG9nSWQod2FsX3Nl Z3N6X2J5dGVzKQlcCisJKFVJTlQ2NENPTlNUKDB4MTAwMDAwMDAwKSAvICh3YWxfc2Vnc3pf Ynl0ZXMpKQorCisvKgorICogQ29tcHV0ZSBhbiBYTG9nUmVjUHRyIGZyb20gYSBzZWdtZW50 IG51bWJlciBhbmQgb2Zmc2V0LgorICovCisjZGVmaW5lIFhMb2dTZWdOb09mZnNldFRvUmVj UHRyKHNlZ25vLCBvZmZzZXQsIHdhbF9zZWdzel9ieXRlcywgZGVzdCkgXAorCQkoZGVzdCkg PSAoc2Vnbm8pICogKHdhbF9zZWdzel9ieXRlcykgKyAob2Zmc2V0KQorLyoKKyAqIENvbXB1 dGUgYSBzZWdtZW50IG51bWJlciBmcm9tIGFuIFhMb2dSZWNQdHIuCisgKgorICogRm9yIFhM Qnl0ZVRvU2VnLCBkbyB0aGUgY29tcHV0YXRpb24gYXQgZmFjZSB2YWx1ZS4gIEZvciBYTEJ5 dGVUb1ByZXZTZWcsCisgKiBhIGJvdW5kYXJ5IGJ5dGUgaXMgdGFrZW4gdG8gYmUgaW4gdGhl IHByZXZpb3VzIHNlZ21lbnQuICBUaGlzIGlzIHN1aXRhYmxlCisgKiBmb3IgZGVjaWRpbmcg d2hpY2ggc2VnbWVudCB0byB3cml0ZSBnaXZlbiBhIHBvaW50ZXIgdG8gYSByZWNvcmQgZW5k LAorICogZm9yIGV4YW1wbGUuCisgKi8KKyNkZWZpbmUgWExCeXRlVG9TZWcoeGxycCwgbG9n U2VnTm8sIHdhbF9zZWdzel9ieXRlcykgXAorCWxvZ1NlZ05vID0gKHhscnApIC8gKHdhbF9z ZWdzel9ieXRlcykKKworI2RlZmluZSBYTEJ5dGVUb1ByZXZTZWcoeGxycCwgbG9nU2VnTm8s IHdhbF9zZWdzel9ieXRlcykgXAorCWxvZ1NlZ05vID0gKCh4bHJwKSAtIDEpIC8gKHdhbF9z ZWdzel9ieXRlcykKKworLyogQ29tcHV0ZSB0aGUgaW4tc2VnbWVudCBvZmZzZXQgZnJvbSBh biBYTG9nUmVjUHRyLiAqLworI2RlZmluZSBYTG9nU2VnbWVudE9mZnNldCh4bG9ncHRyLCB3 YWxfc2Vnc3pfYnl0ZXMpCVwKKwkoKHhsb2dwdHIpICYgKCh3YWxfc2Vnc3pfYnl0ZXMpIC0g MSkpCisKKy8qCisgKiBDb252ZXJ0IHZhbHVlcyBvZiBHVUNzIG1lYXN1cmVkIGluIG1lZ2Fi eXRlcyB0byBlcXVpdi4gc2VnbWVudCBjb3VudC4KKyAqIFJvdW5kcyBkb3duLgorICovCisj ZGVmaW5lIFhMb2dNQlZhclRvU2VncyhtYnZhciwgd2FsX3NlZ3N6X2J5dGVzKSBcCisJKCht YnZhcikgLyAoKHdhbF9zZWdzel9ieXRlcykgLyAoMTAyNCAqIDEwMjQpKSkKKworLyoKKyAq IElzIGFuIFhMb2dSZWNQdHIgd2l0aGluIGEgcGFydGljdWxhciBYTE9HIHNlZ21lbnQ/Cisg KgorICogRm9yIFhMQnl0ZUluU2VnLCBkbyB0aGUgY29tcHV0YXRpb24gYXQgZmFjZSB2YWx1 ZS4gIEZvciBYTEJ5dGVJblByZXZTZWcsCisgKiBhIGJvdW5kYXJ5IGJ5dGUgaXMgdGFrZW4g dG8gYmUgaW4gdGhlIHByZXZpb3VzIHNlZ21lbnQuCisgKi8KKyNkZWZpbmUgWExCeXRlSW5T ZWcoeGxycCwgbG9nU2VnTm8sIHdhbF9zZWdzel9ieXRlcykgXAorCSgoKHhscnApIC8gKHdh bF9zZWdzel9ieXRlcykpID09IChsb2dTZWdObykpCisKKyNkZWZpbmUgWExCeXRlSW5QcmV2 U2VnKHhscnAsIGxvZ1NlZ05vLCB3YWxfc2Vnc3pfYnl0ZXMpIFwKKwkoKCgoeGxycCkgLSAx KSAvICh3YWxfc2Vnc3pfYnl0ZXMpKSA9PSAobG9nU2VnTm8pKQorCisKKyNlbmRpZgkJCQkJ CQkvKiBYTE9HX0ZJTEVTSVpFX0ggKi8KLS0gCjIuNDguMQoK --------------2ZpHe97wmcCtDzvehoASYUDB Content-Type: text/x-patch; charset=UTF-8; name="v3-0003-Use-XLOG_CONTROL_FILE-macro-everywhere-in-C-code.patch" Content-Disposition: attachment; filename*0="v3-0003-Use-XLOG_CONTROL_FILE-macro-everywhere-in-C-code.pat"; filename*1="ch" Content-Transfer-Encoding: base64 RnJvbSBlNTVhMGFiNGZlMzA2MWYwMzNkZTBkMjBiZWNmMGE5ZjIwMThiNjAzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiAiQW50b24gQS4gTWVsbmlrb3YiIDxhLm1lbG5pa292 QHBvc3RncmVzcHJvLnJ1PgpEYXRlOiBXZWQsIDQgU2VwIDIwMjQgMTY6MjM6MjMgKzA5MDAK U3ViamVjdDogW1BBVENIXSBVc2UgWExPR19DT05UUk9MX0ZJTEUgbWFjcm8gZXZlcnl3aGVy ZSBpbiBDIGNvZGUKCi0tLQogc3JjL2JhY2tlbmQvYmFja3VwL2Jhc2ViYWNrdXAuYyAgICAg ICAgICAgICB8IDIgKy0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jICAg ICAgICAgfCAyICstCiBzcmMvYmluL3BnX2NvbWJpbmViYWNrdXAvcGdfY29tYmluZWJhY2t1 cC5jIHwgNSArKystLQogc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5j ICAgICB8IDMgKystCiBzcmMvYmluL3BnX3Jld2luZC9maWxlbWFwLmMgICAgICAgICAgICAg ICAgIHwgMyArKy0KIHNyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2luZC5jICAgICAgICAgICAg ICAgfCA4ICsrKystLS0tCiBzcmMvYmluL3BnX3VwZ3JhZGUvY29udHJvbGRhdGEuYyAgICAg ICAgICAgIHwgOSArKysrKy0tLS0KIHNyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BnX3Zlcmlm eWJhY2t1cC5jICAgfCAzICsrLQogc3JjL2NvbW1vbi9jb250cm9sZGF0YV91dGlscy5jICAg ICAgICAgICAgICB8IDIgKy0KIDkgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwg MTYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYmFja3VwL2Jhc2Vi YWNrdXAuYyBiL3NyYy9iYWNrZW5kL2JhY2t1cC9iYXNlYmFja3VwLmMKaW5kZXggM2Y4YTNj NTU3MjUuLmYwODEzZWRhOGQ3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9iYWNrdXAvYmFz ZWJhY2t1cC5jCisrKyBiL3NyYy9iYWNrZW5kL2JhY2t1cC9iYXNlYmFja3VwLmMKQEAgLTEz NDksNyArMTM0OSw3IEBAIHNlbmREaXIoYmJzaW5rICpzaW5rLCBjb25zdCBjaGFyICpwYXRo LCBpbnQgYmFzZXBhdGhsZW4sIGJvb2wgc2l6ZW9ubHksCiAJCXNucHJpbnRmKHBhdGhidWYs IHNpemVvZihwYXRoYnVmKSwgIiVzLyVzIiwgcGF0aCwgZGUtPmRfbmFtZSk7CiAKIAkJLyog U2tpcCBwZ19jb250cm9sIGhlcmUgdG8gYmFjayB1cCBpdCBsYXN0ICovCi0JCWlmIChzdHJj bXAocGF0aGJ1ZiwgIi4vZ2xvYmFsL3BnX2NvbnRyb2wiKSA9PSAwKQorCQlpZiAoc3RyY21w KHBhdGhidWYsICIuLyIgWExPR19DT05UUk9MX0ZJTEUpID09IDApCiAJCQljb250aW51ZTsK IAogCQlpZiAobHN0YXQocGF0aGJ1ZiwgJnN0YXRidWYpICE9IDApCmRpZmYgLS1naXQgYS9z cmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYyBiL3NyYy9iYWNrZW5kL3Bvc3Rt YXN0ZXIvcG9zdG1hc3Rlci5jCmluZGV4IGEwYzM3NTMyZDJmLi43YjVmNmMzN2E5NSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKKysrIGIvc3Jj L2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKQEAgLTE1MTYsNyArMTUxNiw3IEBA IGNoZWNrQ29udHJvbEZpbGUodm9pZCkKIAljaGFyCQlwYXRoW01BWFBHUEFUSF07CiAJRklM RQkgICAqZnA7CiAKLQlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9nbG9iYWwv cGdfY29udHJvbCIsIERhdGFEaXIpOworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwg IiVzLyVzIiwgRGF0YURpciwgWExPR19DT05UUk9MX0ZJTEUpOwogCiAJZnAgPSBBbGxvY2F0 ZUZpbGUocGF0aCwgUEdfQklOQVJZX1IpOwogCWlmIChmcCA9PSBOVUxMKQpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ19jb21iaW5lYmFja3VwL3BnX2NvbWJpbmViYWNrdXAuYyBiL3NyYy9i aW4vcGdfY29tYmluZWJhY2t1cC9wZ19jb21iaW5lYmFja3VwLmMKaW5kZXggZDQ4MGRjNzQ0 MzYuLmJiZjg1MTQ0MDk4IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2NvbWJpbmViYWNrdXAv cGdfY29tYmluZWJhY2t1cC5jCisrKyBiL3NyYy9iaW4vcGdfY29tYmluZWJhY2t1cC9wZ19j b21iaW5lYmFja3VwLmMKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxsaW51eC9mcy5o PgogI2VuZGlmCiAKKyNpbmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1 ZGUgImJhY2t1cF9sYWJlbC5oIgogI2luY2x1ZGUgImNvbW1vbi9jaGVja3N1bV9oZWxwZXIu aCIKICNpbmNsdWRlICJjb21tb24vY29udHJvbGRhdGFfdXRpbHMuaCIKQEAgLTMwMCw3ICsz MDEsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCiAJCXsKIAkJCWNoYXIJICAg KmNvbnRyb2xwYXRoOwogCi0JCQljb250cm9scGF0aCA9IHBzcHJpbnRmKCIlcy8lcyIsIHBy aW9yX2JhY2t1cF9kaXJzW2ldLCAiZ2xvYmFsL3BnX2NvbnRyb2wiKTsKKwkJCWNvbnRyb2xw YXRoID0gcHNwcmludGYoIiVzLyVzIiwgcHJpb3JfYmFja3VwX2RpcnNbaV0sIFhMT0dfQ09O VFJPTF9GSUxFKTsKIAogCQkJcGdfZmF0YWwoIiVzOiBtYW5pZmVzdCBzeXN0ZW0gaWRlbnRp ZmllciBpcyAlbGx1LCBidXQgY29udHJvbCBmaWxlIGhhcyAlbGx1IiwKIAkJCQkJIGNvbnRy b2xwYXRoLApAQCAtNjE0LDcgKzYxNSw3IEBAIGNoZWNrX2NvbnRyb2xfZmlsZXMoaW50IG5f YmFja3VwcywgY2hhciAqKmJhY2t1cF9kaXJzKQogCQlib29sCQljcmNfb2s7CiAJCWNoYXIJ ICAgKmNvbnRyb2xwYXRoOwogCi0JCWNvbnRyb2xwYXRoID0gcHNwcmludGYoIiVzLyVzIiwg YmFja3VwX2RpcnNbaV0sICJnbG9iYWwvcGdfY29udHJvbCIpOworCQljb250cm9scGF0aCA9 IHBzcHJpbnRmKCIlcy8lcyIsIGJhY2t1cF9kaXJzW2ldLCBYTE9HX0NPTlRST0xfRklMRSk7 CiAJCXBnX2xvZ19kZWJ1ZygicmVhZGluZyBcIiVzXCIiLCBjb250cm9scGF0aCk7CiAJCWNv bnRyb2xfZmlsZSA9IGdldF9jb250cm9sZmlsZV9ieV9leGFjdF9wYXRoKGNvbnRyb2xwYXRo LCAmY3JjX29rKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19j b250cm9sZGF0YS5jIGIvc3JjL2Jpbi9wZ19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5j CmluZGV4IDE2MmYwODc2MjZkLi5kMzcxNGM2MjliMyAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19jb250cm9sZGF0YS9wZ19jb250cm9sZGF0YS5jCisrKyBiL3NyYy9iaW4vcGdfY29udHJv bGRhdGEvcGdfY29udHJvbGRhdGEuYwpAQCAtMSw3ICsxLDggQEAKIC8qCiAgKiBwZ19jb250 cm9sZGF0YQogICoKLSAqIHJlYWRzIHRoZSBkYXRhIGZyb20gJFBHREFUQS9nbG9iYWwvcGdf Y29udHJvbAorICogcmVhZHMgdGhlIGRhdGEgZnJvbSByZWFkcyB0aGUgZGF0YSBmcm9tIHRo ZSBjb250cm9sIGZpbGUKKyAqIHdoaWNoIGlzIGxvY2F0ZWQgYXQgJFBHREFUQS9YTE9HX0NP TlRST0xfRklMRQogICoKICAqIGNvcHlyaWdodCAoYykgT2xpdmVyIEVscGhpY2sgPG9sbHlA bGZpeC5jby51az4sIDIwMDE7CiAgKiBsaWNlbnNlOiBCU0QKZGlmZiAtLWdpdCBhL3NyYy9i aW4vcGdfcmV3aW5kL2ZpbGVtYXAuYyBiL3NyYy9iaW4vcGdfcmV3aW5kL2ZpbGVtYXAuYwpp bmRleCBhMjhkMTY2N2Q0Yy4uM2VmMzhmMzI5Y2IgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdf cmV3aW5kL2ZpbGVtYXAuYworKysgYi9zcmMvYmluL3BnX3Jld2luZC9maWxlbWFwLmMKQEAg LTI2LDYgKzI2LDcgQEAKICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPHVuaXN0 ZC5oPgogCisjaW5jbHVkZSAiYWNjZXNzL3hsb2dmaWxlcGF0aHMuaCIKICNpbmNsdWRlICJj YXRhbG9nL3BnX3RhYmxlc3BhY2VfZC5oIgogI2luY2x1ZGUgImNvbW1vbi9maWxlX3V0aWxz LmgiCiAjaW5jbHVkZSAiY29tbW9uL2hhc2hmbl91bnN0YWJsZS5oIgpAQCAtNzA0LDcgKzcw NSw3IEBAIGRlY2lkZV9maWxlX2FjdGlvbihmaWxlX2VudHJ5X3QgKmVudHJ5KQogCSAqIERv bid0IHRvdWNoIHRoZSBjb250cm9sIGZpbGUuIEl0IGlzIGhhbmRsZWQgc3BlY2lhbGx5LCBh ZnRlciBjb3B5aW5nCiAJICogYWxsIHRoZSBvdGhlciBmaWxlcy4KIAkgKi8KLQlpZiAoc3Ry Y21wKHBhdGgsICJnbG9iYWwvcGdfY29udHJvbCIpID09IDApCisJaWYgKHN0cmNtcChwYXRo LCBYTE9HX0NPTlRST0xfRklMRSkgPT0gMCkKIAkJcmV0dXJuIEZJTEVfQUNUSU9OX05PTkU7 CiAKIAkvKiBTa2lwIG1hY09TIHN5c3RlbSBmaWxlcyAqLwpkaWZmIC0tZ2l0IGEvc3JjL2Jp bi9wZ19yZXdpbmQvcGdfcmV3aW5kLmMgYi9zcmMvYmluL3BnX3Jld2luZC9wZ19yZXdpbmQu YwppbmRleCBhNjI1MTA1ZmJjYy4uZDMyNDM5ZmJmYWYgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4v cGdfcmV3aW5kL3BnX3Jld2luZC5jCisrKyBiL3NyYy9iaW4vcGdfcmV3aW5kL3BnX3Jld2lu ZC5jCkBAIC0zMjgsNyArMzI4LDcgQEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAJ ICogbmVlZCB0byBtYWtlIHN1cmUgYnkgdGhlbXNlbHZlcyB0aGF0IHRoZSB0YXJnZXQgY2x1 c3RlciBpcyBpbiBhIGNsZWFuCiAJICogc3RhdGUuCiAJICovCi0JYnVmZmVyID0gc2x1cnBG aWxlKGRhdGFkaXJfdGFyZ2V0LCAiZ2xvYmFsL3BnX2NvbnRyb2wiLCAmc2l6ZSk7CisJYnVm ZmVyID0gc2x1cnBGaWxlKGRhdGFkaXJfdGFyZ2V0LCBYTE9HX0NPTlRST0xfRklMRSwgJnNp emUpOwogCWRpZ2VzdENvbnRyb2xGaWxlKCZDb250cm9sRmlsZV90YXJnZXQsIGJ1ZmZlciwg c2l6ZSk7CiAJcGdfZnJlZShidWZmZXIpOwogCkBAIC0zMzgsMTIgKzMzOCwxMiBAQCBtYWlu KGludCBhcmdjLCBjaGFyICoqYXJndikKIAl7CiAJCWVuc3VyZUNsZWFuU2h1dGRvd24oYXJn dlswXSk7CiAKLQkJYnVmZmVyID0gc2x1cnBGaWxlKGRhdGFkaXJfdGFyZ2V0LCAiZ2xvYmFs L3BnX2NvbnRyb2wiLCAmc2l6ZSk7CisJCWJ1ZmZlciA9IHNsdXJwRmlsZShkYXRhZGlyX3Rh cmdldCwgWExPR19DT05UUk9MX0ZJTEUsICZzaXplKTsKIAkJZGlnZXN0Q29udHJvbEZpbGUo JkNvbnRyb2xGaWxlX3RhcmdldCwgYnVmZmVyLCBzaXplKTsKIAkJcGdfZnJlZShidWZmZXIp OwogCX0KIAotCWJ1ZmZlciA9IHNvdXJjZS0+ZmV0Y2hfZmlsZShzb3VyY2UsICJnbG9iYWwv cGdfY29udHJvbCIsICZzaXplKTsKKwlidWZmZXIgPSBzb3VyY2UtPmZldGNoX2ZpbGUoc291 cmNlLCBYTE9HX0NPTlRST0xfRklMRSwgJnNpemUpOwogCWRpZ2VzdENvbnRyb2xGaWxlKCZD b250cm9sRmlsZV9zb3VyY2UsIGJ1ZmZlciwgc2l6ZSk7CiAJcGdfZnJlZShidWZmZXIpOwog CkBAIC02MzYsNyArNjM2LDcgQEAgcGVyZm9ybV9yZXdpbmQoZmlsZW1hcF90ICpmaWxlbWFw LCByZXdpbmRfc291cmNlICpzb3VyY2UsCiAJICogRmV0Y2ggdGhlIGNvbnRyb2wgZmlsZSBm cm9tIHRoZSBzb3VyY2UgbGFzdC4gVGhpcyBlbnN1cmVzIHRoYXQgdGhlCiAJICogbWluUmVj b3ZlcnlQb2ludCBpcyB1cC10by1kYXRlLgogCSAqLwotCWJ1ZmZlciA9IHNvdXJjZS0+ZmV0 Y2hfZmlsZShzb3VyY2UsICJnbG9iYWwvcGdfY29udHJvbCIsICZzaXplKTsKKwlidWZmZXIg PSBzb3VyY2UtPmZldGNoX2ZpbGUoc291cmNlLCBYTE9HX0NPTlRST0xfRklMRSwgJnNpemUp OwogCWRpZ2VzdENvbnRyb2xGaWxlKCZDb250cm9sRmlsZV9zb3VyY2VfYWZ0ZXIsIGJ1ZmZl ciwgc2l6ZSk7CiAJcGdfZnJlZShidWZmZXIpOwogCmRpZmYgLS1naXQgYS9zcmMvYmluL3Bn X3VwZ3JhZGUvY29udHJvbGRhdGEuYyBiL3NyYy9iaW4vcGdfdXBncmFkZS9jb250cm9sZGF0 YS5jCmluZGV4IGJkNDllYTg2N2JmLi42YzA3MDU3NzAwMyAxMDA2NDQKLS0tIGEvc3JjL2Jp bi9wZ191cGdyYWRlL2NvbnRyb2xkYXRhLmMKKysrIGIvc3JjL2Jpbi9wZ191cGdyYWRlL2Nv bnRyb2xkYXRhLmMKQEAgLTEyLDYgKzEyLDcgQEAKICNpbmNsdWRlIDxjdHlwZS5oPgogI2lu Y2x1ZGUgPGxpbWl0cy5oPgkJCQkvKiBmb3IgQ0hBUl9NSU4gKi8KIAorI2luY2x1ZGUgImFj Y2Vzcy94bG9nZmlsZXBhdGhzLmgiCiAjaW5jbHVkZSAiY29tbW9uL3N0cmluZy5oIgogI2lu Y2x1ZGUgInBnX3VwZ3JhZGUuaCIKIApAQCAtNzU3LDEwICs3NTgsMTAgQEAgZGlzYWJsZV9v bGRfY2x1c3Rlcih2b2lkKQogCQkJCW5ld19wYXRoW01BWFBHUEFUSF07CiAKIAkvKiByZW5h bWUgcGdfY29udHJvbCBzbyBvbGQgc2VydmVyIGNhbm5vdCBiZSBhY2NpZGVudGFsbHkgc3Rh cnRlZCAqLwotCXByZXBfc3RhdHVzKCJBZGRpbmcgXCIub2xkXCIgc3VmZml4IHRvIG9sZCBn bG9iYWwvcGdfY29udHJvbCIpOworCXByZXBfc3RhdHVzKCJBZGRpbmcgXCIub2xkXCIgc3Vm Zml4IHRvIG9sZCAiIFhMT0dfQ09OVFJPTF9GSUxFKTsKIAotCXNucHJpbnRmKG9sZF9wYXRo LCBzaXplb2Yob2xkX3BhdGgpLCAiJXMvZ2xvYmFsL3BnX2NvbnRyb2wiLCBvbGRfY2x1c3Rl ci5wZ2RhdGEpOwotCXNucHJpbnRmKG5ld19wYXRoLCBzaXplb2YobmV3X3BhdGgpLCAiJXMv Z2xvYmFsL3BnX2NvbnRyb2wub2xkIiwgb2xkX2NsdXN0ZXIucGdkYXRhKTsKKwlzbnByaW50 ZihvbGRfcGF0aCwgc2l6ZW9mKG9sZF9wYXRoKSwgIiVzLyVzIiwgb2xkX2NsdXN0ZXIucGdk YXRhLCBYTE9HX0NPTlRST0xfRklMRSk7CisJc25wcmludGYobmV3X3BhdGgsIHNpemVvZihu ZXdfcGF0aCksICIlcy8lcy5vbGQiLCBvbGRfY2x1c3Rlci5wZ2RhdGEsIFhMT0dfQ09OVFJP TF9GSUxFKTsKIAlpZiAocGdfbXZfZmlsZShvbGRfcGF0aCwgbmV3X3BhdGgpICE9IDApCiAJ CXBnX2ZhdGFsKCJjb3VsZCBub3QgcmVuYW1lIGZpbGUgXCIlc1wiIHRvIFwiJXNcIjogJW0i LAogCQkJCSBvbGRfcGF0aCwgbmV3X3BhdGgpOwpAQCAtNzY4LDcgKzc2OSw3IEBAIGRpc2Fi bGVfb2xkX2NsdXN0ZXIodm9pZCkKIAogCXBnX2xvZyhQR19SRVBPUlQsICJcbiIKIAkJICAg IklmIHlvdSB3YW50IHRvIHN0YXJ0IHRoZSBvbGQgY2x1c3RlciwgeW91IHdpbGwgbmVlZCB0 byByZW1vdmVcbiIKLQkJICAgInRoZSBcIi5vbGRcIiBzdWZmaXggZnJvbSAlcy9nbG9iYWwv cGdfY29udHJvbC5vbGQuXG4iCisJCSAgICJ0aGUgXCIub2xkXCIgc3VmZml4IGZyb20gJXMv IiBYTE9HX0NPTlRST0xfRklMRSAiLm9sZC5cbiIKIAkJICAgIkJlY2F1c2UgXCJsaW5rXCIg bW9kZSB3YXMgdXNlZCwgdGhlIG9sZCBjbHVzdGVyIGNhbm5vdCBiZSBzYWZlbHlcbiIKIAkJ ICAgInN0YXJ0ZWQgb25jZSB0aGUgbmV3IGNsdXN0ZXIgaGFzIGJlZW4gc3RhcnRlZC4iLAog CQkgICBvbGRfY2x1c3Rlci5wZ2RhdGEpOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ192ZXJp ZnliYWNrdXAvcGdfdmVyaWZ5YmFja3VwLmMgYi9zcmMvYmluL3BnX3ZlcmlmeWJhY2t1cC9w Z192ZXJpZnliYWNrdXAuYwppbmRleCA4NGVkZDJjZGNhNS4uZGY1NDY2NTUzZmEgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BnX3ZlcmlmeWJhY2t1cC5jCisrKyBi L3NyYy9iaW4vcGdfdmVyaWZ5YmFja3VwL3BnX3ZlcmlmeWJhY2t1cC5jCkBAIC0xOCw2ICsx OCw3IEBACiAjaW5jbHVkZSA8c3lzL3N0YXQuaD4KICNpbmNsdWRlIDx0aW1lLmg+CiAKKyNp bmNsdWRlICJhY2Nlc3MveGxvZ2ZpbGVwYXRocy5oIgogI2luY2x1ZGUgImNvbW1vbi9sb2dn aW5nLmgiCiAjaW5jbHVkZSAiY29tbW9uL3BhcnNlX21hbmlmZXN0LmgiCiAjaW5jbHVkZSAi ZmVfdXRpbHMvc2ltcGxlX2xpc3QuaCIKQEAgLTczMCw3ICs3MzEsNyBAQCB2ZXJpZnlfcGxh aW5fYmFja3VwX2ZpbGUodmVyaWZpZXJfY29udGV4dCAqY29udGV4dCwgY2hhciAqcmVscGF0 aCwKIAkgKiB2ZXJzaW9uIDEuCiAJICovCiAJaWYgKGNvbnRleHQtPm1hbmlmZXN0LT52ZXJz aW9uICE9IDEgJiYKLQkJc3RyY21wKHJlbHBhdGgsICJnbG9iYWwvcGdfY29udHJvbCIpID09 IDApCisJCXN0cmNtcChyZWxwYXRoLCBYTE9HX0NPTlRST0xfRklMRSkgPT0gMCkKIAkJdmVy aWZ5X2NvbnRyb2xfZmlsZShmdWxscGF0aCwgY29udGV4dC0+bWFuaWZlc3QtPnN5c3RlbV9p ZGVudGlmaWVyKTsKIAogCS8qIFVwZGF0ZSBzdGF0aXN0aWNzIGZvciBwcm9ncmVzcyByZXBv cnQsIGlmIG5lY2Vzc2FyeSAqLwpkaWZmIC0tZ2l0IGEvc3JjL2NvbW1vbi9jb250cm9sZGF0 YV91dGlscy5jIGIvc3JjL2NvbW1vbi9jb250cm9sZGF0YV91dGlscy5jCmluZGV4IDM0ZDhh M2E0ZTMxLi5mYTM3NWRjOTEyOSAxMDA2NDQKLS0tIGEvc3JjL2NvbW1vbi9jb250cm9sZGF0 YV91dGlscy5jCisrKyBiL3NyYy9jb21tb24vY29udHJvbGRhdGFfdXRpbHMuYwpAQCAtNTMs NyArNTMsNyBAQCBnZXRfY29udHJvbGZpbGUoY29uc3QgY2hhciAqRGF0YURpciwgYm9vbCAq Y3JjX29rX3ApCiB7CiAJY2hhcgkJQ29udHJvbEZpbGVQYXRoW01BWFBHUEFUSF07CiAKLQlz bnByaW50ZihDb250cm9sRmlsZVBhdGgsIE1BWFBHUEFUSCwgIiVzL2dsb2JhbC9wZ19jb250 cm9sIiwgRGF0YURpcik7CisJc25wcmludGYoQ29udHJvbEZpbGVQYXRoLCBNQVhQR1BBVEgs ICIlcy8lcyIsIERhdGFEaXIsIFhMT0dfQ09OVFJPTF9GSUxFKTsKIAogCXJldHVybiBnZXRf Y29udHJvbGZpbGVfYnlfZXhhY3RfcGF0aChDb250cm9sRmlsZVBhdGgsIGNyY19va19wKTsK IH0KLS0gCjIuNDguMQoK --------------2ZpHe97wmcCtDzvehoASYUDB--