From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jR0FC-0006bG-Uq for barebox@lists.infradead.org; Tue, 21 Apr 2020 21:16:03 +0000 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Date: Tue, 21 Apr 2020 23:15:45 +0200 Message-Id: <20200421211545.32353-2-u.kleine-koenig@pengutronix.de> In-Reply-To: <20200421211545.32353-1-u.kleine-koenig@pengutronix.de> References: <20200421211545.32353-1-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: [PATCH v2 2/2] commands/*: Replace license and copyright boilerplate by SPDX identfiers To: barebox@lists.infradead.org Cc: Ahmad Fatoum , Roland Hieber V2hpbGUgYXQgaXQgYWxzbyBkcm9wIHJlZmVyZW5jZXMgdG8gdGhlIG5vbi1leGlzdGluZyBDUkVE SVRTIGZpbGUgYW5kIGRvCnNvbWUgc21hbGwgcmVhcnJhbmdlbWVudHMgZm9yIHNvbWUgdW5pZm9y bSBmb3JtYXR0aW5nLgooU1BEWC1MaWNlbnNlLUlkZW50aWZpZXIgZmlyc3QsIHRoZW4gY29weXJp Z2h0IHRleHRzIGFuZCB0aGVuIGFuIGVtcHR5CmxpbmUuKQoKVGhlIGFkdmFudGFnZSBpcyB0aGF0 IHRoZXNlIHNwZWNpZmllcnMgYXJlIG1hY2hpbmUtcGFyc2VhYmxlIHdoaWNoIGhlbHBzCmxpY2Vu c2UgY29uZm9ybWFuY2UuCgpTaWduZWQtb2ZmLWJ5OiBVd2UgS2xlaW5lLUvDtm5pZyA8dS5rbGVp bmUta29lbmlnQHBlbmd1dHJvbml4LmRlPgotLS0KIGNvbW1hbmRzLzIwNDguYyAgICAgICAgICAg ICAgIHwgMzIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2F1dG9t b3VudC5jICAgICAgICAgIHwgMjIgKysrKystLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvYmFy ZWJveC11cGRhdGUuYyAgICAgfCAyMiArKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9i YXNlbmFtZS5jICAgICAgICAgICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRz L2Jsb2JnZW4uYyAgICAgICAgICAgIHwgIDMgKystCiBjb21tYW5kcy9ib290LmMgICAgICAgICAg ICAgICB8IDEzICstLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2Jvb3RjaG9vc2VyLmMgICAgICAgIHwg MTcgKysrLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2Jvb3RtLmMgICAgICAgICAgICAgIHwgMjAg KystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2NhdC5jICAgICAgICAgICAgICAgIHwgMTgg KystLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9jZC5jICAgICAgICAgICAgICAgICB8IDIyICsr KystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2NsZWFyLmMgICAgICAgICAgICAgIHwgMjIg KysrKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvY21wLmMgICAgICAgICAgICAgICAgfCAy MCArKystLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvY3AuYyAgICAgICAgICAgICAgICAgfCAy MiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9jcmMuYyAgICAgICAgICAgICAgICB8 IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2RlZmF1bHRlbnYuYyAgICAgICAg IHwgMTggKystLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9kZXRlY3QuYyAgICAgICAgICAgICB8 IDIzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9kZXZpbmZvLmMgICAgICAgICAg ICB8IDE2ICsrLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2RmdS5jICAgICAgICAgICAgICAgIHwg MjMgKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2RoY3AuYyAgICAgICAgICAgICAg IHwgIDkgKysrLS0tLS0tCiBjb21tYW5kcy9kaHJ5c3RvbmUuYyAgICAgICAgICB8IDE0ICsrKy0t LS0tLS0tLS0tCiBjb21tYW5kcy9kaWdlc3QuYyAgICAgICAgICAgICB8ICA3ICsrLS0tLS0KIGNv bW1hbmRzL2Rpcm5hbWUuYyAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQog Y29tbWFuZHMvZG1lc2cuYyAgICAgICAgICAgICAgfCAyMyArKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogY29tbWFuZHMvZHJ2aW5mby5jICAgICAgICAgICAgfCAxOCArKystLS0tLS0tLS0tLS0tLS0K IGNvbW1hbmRzL2VjaG8uYyAgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogY29tbWFuZHMvZWRpdC5jICAgICAgICAgICAgICAgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0K IGNvbW1hbmRzL2V4ZWMuYyAgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogY29tbWFuZHMvZXhwb3J0LmMgICAgICAgICAgICAgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0K IGNvbW1hbmRzL2ZhbHNlLmMgICAgICAgICAgICAgIHwgMjAgKystLS0tLS0tLS0tLS0tLS0tLS0K IGNvbW1hbmRzL2ZpbGV0eXBlLmMgICAgICAgICAgIHwgIDcgKystLS0tLQogY29tbWFuZHMvZmly bXdhcmVsb2FkLmMgICAgICAgfCAxNCArKy0tLS0tLS0tLS0tLQogY29tbWFuZHMvZmxhc2guYyAg ICAgICAgICAgICAgfCAyNCArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2dsb2Jh bC5jICAgICAgICAgICAgIHwgMjMgKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2dv LmMgICAgICAgICAgICAgICAgIHwgMjQgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5k cy9ncGlvLmMgICAgICAgICAgICAgICB8IDEzICstLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2hhYi5j ICAgICAgICAgICAgICAgIHwgMTEgKy0tLS0tLS0tLS0KIGNvbW1hbmRzL2hhc2hzdW0uYyAgICAg ICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvaGVscC5jICAgICAg ICAgICAgICAgfCAyMCArKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvaTJjLmMgICAgICAg ICAgICAgICAgfCAyMCArKysrLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvaW1kLmMgICAgICAg ICAgICAgICAgfCAxOSArKy0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9pb21lbXBvcnQuYyAg ICAgICAgICB8IDIyICsrKysrLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2lwLXJvdXRlLWdl dC5jICAgICAgIHwgMTEgKy0tLS0tLS0tLS0KIGNvbW1hbmRzL2xlZC5jICAgICAgICAgICAgICAg IHwgMjMgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xldC5jICAgICAgICAgICAg ICAgIHwgMjAgKysrKy0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xpbnV4MTYuYyAgICAgICAg ICAgIHwgMTcgKysrLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xpbnV4X2V4ZWMuYyAgICAgICAg IHwgMTggKystLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9sbi5jICAgICAgICAgICAgICAgICB8 IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xvYWRiLmMgICAgICAgICAgICAg IHwgMjAgKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xvYWRlbnYuYyAgICAgICAgICAg IHwgMTggKystLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9sb2Fkcy5jICAgICAgICAgICAgICB8 IDI1ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xvYWR4eS5jICAgICAgICAg ICAgIHwgMjAgKysrLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xvZ2luLmMgICAgICAgICAg ICAgIHwgMTggKystLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9scy5jICAgICAgICAgICAgICAg ICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL2xzcGNpLmMgICAgICAgICAg ICAgIHwgMTggKystLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9tZC5jICAgICAgICAgICAgICAg ICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvbWVtY21wLmMgICAgICAgICAgICAg fCAxOCArKy0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL21lbWNweS5jICAgICAgICAgICAgIHwg MTggKystLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9tZW1pbmZvLmMgICAgICAgICAgICB8IDIz ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9tZW1zZXQuYyAgICAgICAgICAgICB8 IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvbWVtdGVzdC5jICAgICAgICAgICAgfCAy NCArKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL21lbnUuYyAgICAgICAgICAgICAg IHwgMTkgKystLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvbWVudXRyZWUuYyAgICAgICAgICAg fCAxMiArKy0tLS0tLS0tLS0KIGNvbW1hbmRzL21paXRvb2wuYyAgICAgICAgICAgIHwgMTkgKysr LS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvbWtkaXIuYyAgICAgICAgICAgICAgfCAyMiArKysr LS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9tbS5jICAgICAgICAgICAgICAgICB8IDE4ICsr LS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvbW1jX2V4dGNzZC5jICAgICAgICAgfCAyMCArKysr LS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvbW91bnQuYyAgICAgICAgICAgICAgfCAyMiArKysr LS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9tc2xlZXAuYyAgICAgICAgICAgICB8IDE1ICsr Ky0tLS0tLS0tLS0tLQogY29tbWFuZHMvbXcuYyAgICAgICAgICAgICAgICAgfCAxOCArKy0tLS0t LS0tLS0tLS0tLS0KIGNvbW1hbmRzL25hbmQtYml0ZmxpcC5jICAgICAgIHwgMTEgKy0tLS0tLS0t LS0KIGNvbW1hbmRzL25hbmQuYyAgICAgICAgICAgICAgIHwgMTkgKysrLS0tLS0tLS0tLS0tLS0t LQogY29tbWFuZHMvbmFuZHRlc3QuYyAgICAgICAgICAgfCAxMiArKy0tLS0tLS0tLS0KIGNvbW1h bmRzL252LmMgICAgICAgICAgICAgICAgIHwgMjMgKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNv bW1hbmRzL29mX2RpZmYuYyAgICAgICAgICAgIHwgMTEgKysrKy0tLS0tLS0KIGNvbW1hbmRzL29m X2Rpc3BsYXlfdGltaW5ncy5jIHwgMjEgKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9v Zl9kdW1wLmMgICAgICAgICAgICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRz L29mX2ZpeHVwX3N0YXR1cy5jICAgIHwgMjAgKysrKy0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRz L29mX25vZGUuYyAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFu ZHMvb2Zfb3ZlcmxheS5jICAgICAgICAgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRz L29mX3Byb3BlcnR5LmMgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFu ZHMvb2Z0cmVlLmMgICAgICAgICAgICAgfCAxOCArKystLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRz L3BhcnRpdGlvbi5jICAgICAgICAgIHwgMTggKysrLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9w YXNzd2QuYyAgICAgICAgICAgICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvcG93 ZXJvZmYuYyAgICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy9w cmludGVudi5jICAgICAgICAgICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvcHdk LmMgICAgICAgICAgICAgICAgfCAyMyArKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMv cmVhZGxpbmUuYyAgICAgICAgICAgfCAyMCArKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMv cmVhZGxpbmsuYyAgICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBjb21tYW5k cy9yZWdpbmZvLmMgICAgICAgICAgICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1h bmRzL3JlZ3VsYXRvci5jICAgICAgICAgIHwgMjMgKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIGNv bW1hbmRzL3Jlc2V0LmMgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQog Y29tbWFuZHMvcm0uYyAgICAgICAgICAgICAgICAgfCAyMyArKysrKy0tLS0tLS0tLS0tLS0tLS0t LQogY29tbWFuZHMvc2F2ZWVudi5jICAgICAgICAgICAgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0K IGNvbW1hbmRzL3NlZWQuYyAgICAgICAgICAgICAgIHwgMTUgKystLS0tLS0tLS0tLS0tCiBjb21t YW5kcy9zZXRlbnYuYyAgICAgICAgICAgICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQogY29tbWFu ZHMvc2xlZXAuYyAgICAgICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBjb21t YW5kcy9zbWMuYyAgICAgICAgICAgICAgICB8ICAyICstCiBjb21tYW5kcy9zcGRfZGVjb2RlLmMg ICAgICAgICB8IDIxICsrKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvc3BpLmMgICAgICAg ICAgICAgICAgfCAgOCArKy0tLS0tLQogY29tbWFuZHMvc3RhdGUuYyAgICAgICAgICAgICAgfCAx NSArKy0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL3N0ZGRldi5jICAgICAgICAgICAgIHwgMTggKyst LS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy90ZXN0LmMgICAgICAgICAgICAgICB8IDIwICsrKyst LS0tLS0tLS0tLS0tLS0tCiBjb21tYW5kcy90ZnRwLmMgICAgICAgICAgICAgICB8IDIyICsrKysr LS0tLS0tLS0tLS0tLS0tLS0KIGNvbW1hbmRzL3RpbWVvdXQuYyAgICAgICAgICAgIHwgMjIgKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvdHJpZ2dlci5jICAgICAgICAgICAgfCAyMyAr KysrLS0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvdHJ1ZS5jICAgICAgICAgICAgICAgfCAy MCArKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvdWJpZm9ybWF0LmMgICAgICAgICAgfCAx NyArKystLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvdWJzYW4uYyAgICAgICAgICAgICAgfCAgMyAr Ky0KIGNvbW1hbmRzL3Vtb3VudC5jICAgICAgICAgICAgIHwgMjMgKysrKystLS0tLS0tLS0tLS0t LS0tLS0KIGNvbW1hbmRzL3VuY29tcHJlc3MuYyAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0t LS0tLS0tLQogY29tbWFuZHMvdXNiLmMgICAgICAgICAgICAgICAgfCAyMyArKysrKy0tLS0tLS0t LS0tLS0tLS0tLQogY29tbWFuZHMvdXNiZ2FkZ2V0LmMgICAgICAgICAgfCAyNiArKysrKystLS0t LS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvdXNic2VyaWFsLmMgICAgICAgICAgfCAyNiArKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvdmVyc2lvbi5jICAgICAgICAgICAgfCAy MCArKy0tLS0tLS0tLS0tLS0tLS0tLQogY29tbWFuZHMvd2QuYyAgICAgICAgICAgICAgICAgfCAx NSArKy0tLS0tLS0tLS0tLS0KIDExNSBmaWxlcyBjaGFuZ2VkLCAzNjUgaW5zZXJ0aW9ucygrKSwg MTgwOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9jb21tYW5kcy8yMDQ4LmMgYi9jb21tYW5k cy8yMDQ4LmMKaW5kZXggODY1ODAzYTVhNjE2Li4zYWQ5YzBmM2FlMzcgMTAwNjQ0Ci0tLSBhL2Nv bW1hbmRzLzIwNDguYworKysgYi9jb21tYW5kcy8yMDQ4LmMKQEAgLTEsMzEgKzEsNyBAQAotLyoK LSAqIFRoZSBNSVQgTGljZW5zZSAoTUlUKQotICoKLSAqIENvcHlyaWdodCAoYykgMjAxNCBNYXVy aXRzIHZhbiBkZXIgU2NoZWUKLSAqCi0gKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBm cmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5Ci0gKiBvZiB0aGlz IHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdh cmUiKSwgdG8gZGVhbAotICogaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGlu Y2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cwotICogdG8gdXNlLCBjb3B5LCBt b2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2Vs bAotICogY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdo b20gdGhlIFNvZnR3YXJlIGlzCi0gKiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhl IGZvbGxvd2luZyBjb25kaXRpb25zOgotICoKLSAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNl IGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbAotICog Y29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KLSAqCi0gKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgotICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCi0gKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBU SEUKLSAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xB SU0sIERBTUFHRVMgT1IgT1RIRVIKLSAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04g T0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCi0gKiBPVVQgT0Yg T1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SIE9USEVSIERF QUxJTkdTIElOIFRIRQotICoKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqIE5hbWUgICAgICAg IDogMjA0OC5jCi0gKiBBdXRob3IgICAgICA6IE1hdXJpdHMgdmFuIGRlciBTY2hlZQotICogRGVz Y3JpcHRpb24gOiBDb25zb2xlIHZlcnNpb24gb2YgdGhlIGdhbWUgIjIwNDgiIGZvciBHTlUvTGlu dXgKLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IE1JVAorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBNYXVyaXRzIHZhbiBk ZXIgU2NoZWUKKworLyogQ29uc29sZSB2ZXJzaW9uIG9mIHRoZSBnYW1lICIyMDQ4IiBmb3IgR05V L0xpbnV4ICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxyZWFka2V5Lmg+CmRp ZmYgLS1naXQgYS9jb21tYW5kcy9hdXRvbW91bnQuYyBiL2NvbW1hbmRzL2F1dG9tb3VudC5jCmlu ZGV4IGE3MTQzMGM5ZWY1Ny4uZDJiM2EyZDU2ZTA5IDEwMDY0NAotLS0gYS9jb21tYW5kcy9hdXRv bW91bnQuYworKysgYi9jb21tYW5kcy9hdXRvbW91bnQuYwpAQCAtMSwyMCArMSw4IEBACi0vKgot ICogYXV0b21vdW50LmMgLSBhdXRvbW91bnQgZGV2aWNlcwotICoKLSAqIENvcHlyaWdodCAoYykg MjAxMiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAot ICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRl ZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICog YXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiBhdXRvbW91bnQuYyAtIGF1 dG9tb3VudCBkZXZpY2VzICovCisKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21t YW5kLmg+CiAjaW5jbHVkZSA8ZnMuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2JhcmVib3gtdXBk YXRlLmMgYi9jb21tYW5kcy9iYXJlYm94LXVwZGF0ZS5jCmluZGV4IDUzYWYyYTg1MTEzNy4uNGIy MzQzM2U4NGYyIDEwMDY0NAotLS0gYS9jb21tYW5kcy9iYXJlYm94LXVwZGF0ZS5jCisrKyBiL2Nv bW1hbmRzL2JhcmVib3gtdXBkYXRlLmMKQEAgLTEsMjAgKzEsOCBAQAotLyoKLSAqIGJhcmVib3gt dXBkYXRlLmMgLSB1cGRhdGUgYmFyZWJveAotICoKLSAqIENvcHlyaWdodCAoYykgMjAxMiBTYXNj aGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNl ZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlz Ci0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiBiYXJlYm94LXVwZGF0ZS5jIC0gdXBkYXRl IGJhcmVib3ggKi8KKwogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4K ICNpbmNsdWRlIDxsaWJmaWxlLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9iYXNlbmFtZS5jIGIv Y29tbWFuZHMvYmFzZW5hbWUuYwppbmRleCBjMWEyOGU5ZTFkZTAuLjdkZDliYTJhN2FjOCAxMDA2 NDQKLS0tIGEvY29tbWFuZHMvYmFzZW5hbWUuYworKysgYi9jb21tYW5kcy9iYXNlbmFtZS5jCkBA IC0xLDIxICsxLDcgQEAKLS8qCi0gKiBiYXNlbmFtZS5jIC0gc3RyaXAgZGlyZWN0b3J5IGFuZCBz dWZmaXggZnJvbSBmaWxlbmFtZXMKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTIgU2FzY2hhIEhh dWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmls ZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICog cHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Ci0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5n dXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKKy8qIGJhc2VuYW1lLmMgLSBzdHJpcCBkaXJlY3Rv cnkgYW5kIHN1ZmZpeCBmcm9tIGZpbGVuYW1lcyAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAj aW5jbHVkZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvYmxvYmdlbi5jIGIvY29t bWFuZHMvYmxvYmdlbi5jCmluZGV4IDQ5MTA3ZDAzN2M2Yi4uOGZmMmNjMmMxMTQyIDEwMDY0NAot LS0gYS9jb21tYW5kcy9ibG9iZ2VuLmMKKysrIGIvY29tbWFuZHMvYmxvYmdlbi5jCkBAIC0xLDQg KzEsNSBAQAotLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKwogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2lu Y2x1ZGUgPGNvbW1hbmQuaD4KICNpbmNsdWRlIDxnZXRvcHQuaD4KZGlmZiAtLWdpdCBhL2NvbW1h bmRzL2Jvb3QuYyBiL2NvbW1hbmRzL2Jvb3QuYwppbmRleCBhYWEyMGZhYWU5ZDQuLmFkMmQ4M2Ex NzkxMiAxMDA2NDQKLS0tIGEvY29tbWFuZHMvYm9vdC5jCisrKyBiL2NvbW1hbmRzL2Jvb3QuYwpA QCAtMSwxNSArMSw0IEBACi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXIKIAogI2luY2x1ZGUgPGdsb2JhbHZhci5oPgogI2luY2x1ZGUgPGNvbW1h bmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2Jvb3RjaG9vc2VyLmMgYi9jb21tYW5kcy9ib290 Y2hvb3Nlci5jCmluZGV4IGFjNzYzYTY1NTM4NS4uNDZiMDYzZTAyN2RiIDEwMDY0NAotLS0gYS9j b21tYW5kcy9ib290Y2hvb3Nlci5jCisrKyBiL2NvbW1hbmRzL2Jvb3RjaG9vc2VyLmMKQEAgLTEs MTcgKzEsNiBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMiBKYW4gTHVlYmJlIDxqLmx1ZWJi ZUBwZW5ndXRyb25peC5kZT4KLSAqIENvcHlyaWdodCAoQykgMjAxNSBNYXJjIEtsZWluZS1CdWRk ZSA8bWtsQHBlbmd1dHJvbml4LmRlPgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi eQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0 aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0g KgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgSmFu IEx1ZWJiZSA8ai5sdWViYmVAcGVuZ3V0cm9uaXguZGU+CisvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDE1IE1hcmMgS2xlaW5lLUJ1ZGRlIDxta2xAcGVuZ3V0cm9uaXguZGU+CiAKICNp bmNsdWRlIDxib290Y2hvb3Nlci5oPgogI2luY2x1ZGUgPGdsb2JhbHZhci5oPgpkaWZmIC0tZ2l0 IGEvY29tbWFuZHMvYm9vdG0uYyBiL2NvbW1hbmRzL2Jvb3RtLmMKaW5kZXggMTAwYzJlOTlmYjNm Li5mNTRhNDgyN2ViZjUgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL2Jvb3RtLmMKKysrIGIvY29tbWFu ZHMvYm9vdG0uYwpAQCAtMSwyMSArMSw1IEBACi0vKgotICogKEMpIENvcHlyaWdodCAyMDAwLTIw MDYKLSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbngu ZGUuCi0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRy aWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy IG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMDAtMjAwNiBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPiwgREVOWCBTb2Z0d2FyZSBFbmdp bmVlcmluZwogCiAvKgogICogQm9vdCBzdXBwb3J0CmRpZmYgLS1naXQgYS9jb21tYW5kcy9jYXQu YyBiL2NvbW1hbmRzL2NhdC5jCmluZGV4IGMwMTcxMGNmYWU0YS4uMTdjMzFlZDA4MzY4IDEwMDY0 NAotLS0gYS9jb21tYW5kcy9jYXQuYworKysgYi9jb21tYW5kcy9jYXQuYwpAQCAtMSwxOSArMSw1 IEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5n dXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlz dCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQgYS9jb21tYW5kcy9jZC5jIGIvY29t bWFuZHMvY2QuYwppbmRleCA1NjExZTlhNTkwZDIuLjAyMzg5MTliZjI2YyAxMDA2NDQKLS0tIGEv Y29tbWFuZHMvY2QuYworKysgYi9jb21tYW5kcy9jZC5jCkBAIC0xLDIxICsxLDcgQEAKLS8qCi0g KiBjZC5jIC0gY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5Ci0gKgotICogQ29weXJpZ2h0IChjKSAy MDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0g KgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVk IHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0y LjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiBjZC5jIC0gY2hhbmdl IHdvcmtpbmcgZGlyZWN0b3J5ICovCiAKIC8qKgogICogQGZpbGUKZGlmZiAtLWdpdCBhL2NvbW1h bmRzL2NsZWFyLmMgYi9jb21tYW5kcy9jbGVhci5jCmluZGV4IDNiZTIxMTlkYTRhMi4uNTZjMWRh NDhmMmE1IDEwMDY0NAotLS0gYS9jb21tYW5kcy9jbGVhci5jCisrKyBiL2NvbW1hbmRzL2NsZWFy LmMKQEAgLTEsMjEgKzEsNyBAQAotLyoKLSAqIGNsZWFyLmMgLSBDbGVhciB0aGUgc2NyZWVuCi0g KgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25p eC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBw ZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25p eAorCisvKiBjbGVhci5jIC0gQ2xlYXIgdGhlIHNjcmVlbiAqLwogCiAjaW5jbHVkZSA8Y29tbW9u Lmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvY21wLmMgYi9j b21tYW5kcy9jbXAuYwppbmRleCBjNDkzOTg4YTc4YzAuLjkzN2NmYWI2YzFmMyAxMDA2NDQKLS0t IGEvY29tbWFuZHMvY21wLmMKKysrIGIvY29tbWFuZHMvY21wLmMKQEAgLTEsMjAgKzEsNiBAQAot LyoKLSAqIGNtcCAtIGRldGVybWluZSBpZiB0d28gZmlsZXMgZGlmZmVyCi0gKgotICogU2VlIGZp bGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAq IHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5z ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b3ItbGF0ZXIKKworLyogY21wIC0gZGV0ZXJtaW5lIGlmIHR3byBmaWxlcyBkaWZmZXIgKi8KIAog I2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdpdCBhL2Nv bW1hbmRzL2NwLmMgYi9jb21tYW5kcy9jcC5jCmluZGV4IDg0NWRhZTZiMTU1MS4uNzE0NDhmOWFm ZjZmIDEwMDY0NAotLS0gYS9jb21tYW5kcy9jcC5jCisrKyBiL2NvbW1hbmRzL2NwLmMKQEAgLTEs MjEgKzEsNyBAQAotLyoKLSAqIGNwLmMgLSBjb3B5IGZpbGVzCi0gKgotICogQ29weXJpZ2h0IChj KSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4 Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1 dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0g KiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1 ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiBjcC5jIC0gY29w eSBmaWxlcyAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgpk aWZmIC0tZ2l0IGEvY29tbWFuZHMvY3JjLmMgYi9jb21tYW5kcy9jcmMuYwppbmRleCA1ODA1MjFk Njc3YzkuLjgwZWNmN2ZlMjk5NyAxMDA2NDQKLS0tIGEvY29tbWFuZHMvY3JjLmMKKysrIGIvY29t bWFuZHMvY3JjLmMKQEAgLTEsMjEgKzEsNyBAQAotLyoKLSAqIGNyYy5jIC0gQ2FsY3VsYXRlIGEg Y3JjMzIgY2hlY2tzdW0gb2YgYSBtZW1vcnkgYXJlYQotICoKLSAqIENvcHlyaWdodCAoYykgMjAw NyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoK LSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0 byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMg cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Ci0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4w LW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxz LmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogY3JjLmMgLSBDYWxjdWxh dGUgYSBjcmMzMiBjaGVja3N1bSBvZiBhIG1lbW9yeSBhcmVhICovCiAKICNpbmNsdWRlIDxjb21t b24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9kZWZhdWx0 ZW52LmMgYi9jb21tYW5kcy9kZWZhdWx0ZW52LmMKaW5kZXggNDdiZGYyNmQxNDA1Li5jMTNkOWFh YWM3YzAgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL2RlZmF1bHRlbnYuYworKysgYi9jb21tYW5kcy9k ZWZhdWx0ZW52LmMKQEAgLTEsMTkgKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAxNCBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAq IFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0 aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgU2FzY2hhIEhhdWVyIDxzLmhh dWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKIAogI2luY2x1ZGUgPGNvbW1vbi5oPgog I2luY2x1ZGUgPGdldG9wdC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZGV0ZWN0LmMgYi9jb21t YW5kcy9kZXRlY3QuYwppbmRleCA0OGJhYjRkMDIwMTguLjcwZWNhNTc1Mzc5ZSAxMDA2NDQKLS0t IGEvY29tbWFuZHMvZGV0ZWN0LmMKKysrIGIvY29tbWFuZHMvZGV0ZWN0LmMKQEAgLTEsMjEgKzEs OCBAQAotLyoKLSAqIGRldGVjdC5jIC0gZGV0ZWN0IGRldmljZXMgY29tbWFuZAotICoKLSAqIENv cHlyaWdodCAoYykgMjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQ ZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdo byBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0g KiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZl cnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMg U2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKworLyog ZGV0ZWN0LmMgLSBkZXRlY3QgZGV2aWNlcyBjb21tYW5kICovCisKICNpbmNsdWRlIDxjb21tb24u aD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CiAjaW5jbHVkZSA8Y29tcGxldGUuaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL2RldmluZm8uYyBiL2NvbW1hbmRzL2RldmluZm8uYwppbmRleCBjZDY5ZDJl NWY4MDguLjgxOTU2YjFjYzA5OSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvZGV2aW5mby5jCisrKyBi L2NvbW1hbmRzL2RldmluZm8uYwpAQCAtMSwxNyArMSw1IEBACi0vKgotICogQ29weXJpZ2h0IChD KSAyMDEzIFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwot ICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4 dDogwqkgMjAxMyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4CiAKICNpbmNsdWRlIDxjb21tYW5k Lmg+CiAjaW5jbHVkZSA8Y29tbW9uLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9kZnUuYyBiL2Nv bW1hbmRzL2RmdS5jCmluZGV4IDNmNTJiYmRkOTg3MS4uMzEzMmE3NDc5ZDcyIDEwMDY0NAotLS0g YS9jb21tYW5kcy9kZnUuYworKysgYi9jb21tYW5kcy9kZnUuYwpAQCAtMSwyMSArMSw4IEBACi0v KgotICogZGZ1LmMgLSBkZXZpY2UgZmlybXdhcmUgdXBkYXRlIGNvbW1hbmQKLSAqCi0gKiBDb3B5 cmlnaHQgKGMpIDIwMDkgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVu Z3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJz aW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgot ICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA5IFNh c2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKKy8qIGRm dS5jIC0gZGV2aWNlIGZpcm13YXJlIHVwZGF0ZSBjb21tYW5kICovCisKICNpbmNsdWRlIDxjb21t b24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CiAjaW5jbHVkZSA8ZXJybm8uaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL2RoY3AuYyBiL2NvbW1hbmRzL2RoY3AuYwppbmRleCBkOWU4NDRiM2JlN2Qu Ljk3ZTliMDNlNGFkZiAxMDA2NDQKLS0tIGEvY29tbWFuZHMvZGhjcC5jCisrKyBiL2NvbW1hbmRz L2RoY3AuYwpAQCAtMSwxMiArMSw5IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE1IFBIWVRFQyBNZXNz dGVjaG5payBHbWJICisKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgUEhZVEVDIE1lc3N0ZWNo bmlrIEdtYkgsCiAgKiBBdXRob3I6IFdhZGltIEVnb3JvdiA8dy5lZ29yb3ZAcGh5dGVjLmRlPgot ICoKICAqIEJhc2VkIG9uIHdvcmsgb2YgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgogICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4K ZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2RocnlzdG9uZS5jIGIvY29tbWFuZHMvZGhyeXN0b25lLmMK aW5kZXggZjY3NzIyNjdiM2IxLi5jODM5YjBjMDQzNTEgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL2Ro cnlzdG9uZS5jCisrKyBiL2NvbW1hbmRzL2RocnlzdG9uZS5jCkBAIC0xLDUgKzEsNyBAQAorLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJp Z2h0VGV4dDogwqkgMjAxNC0yMDE1IFBoeXRlYyBNZXNzdGVjaG5payBHbWJICisKIC8qCi0gKiAo QykgQ29weXJpZ2h0IDIwMTQgLSAyMDE1IFBoeXRlYyBNZXNzdGVjaG5payBHbWJICiAgKiBBdXRo b3I6IFN0ZWZhbiBNw7xsbGVyLUtsaWVzZXIgPHMubXVlbGxlci1rbGllc2VyQHBoeXRlYy5kZT4K ICAqIEF1dGhvcjogRGFuaWVsIFNjaHVsdHogPGQuc2NodWx0ekBwaHl0ZWMuZGU+CiAgKgpAQCAt NywxNiArOSw2IEBACiAgKiBWZXJzaW9uOiAgICBDLCBWZXJzaW9uIDIuMQogICogRGF0ZTogICAg ICAgTWF5IDI1LCAxOTg4CiAgKiBBdXRob3I6ICAgICBSZWluaG9sZCBQLiBXZWlja2VyCi0gKgot ICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKICAqLwogCiAj aW5jbHVkZSA8Y29tbW9uLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9kaWdlc3QuYyBiL2NvbW1h bmRzL2RpZ2VzdC5jCmluZGV4IDIxYTA5MTcxNzAxNy4uYjdlZDRkNTBhZjFmIDEwMDY0NAotLS0g YS9jb21tYW5kcy9kaWdlc3QuYworKysgYi9jb21tYW5kcy9kaWdlc3QuYwpAQCAtMSw4ICsxLDUg QEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTUgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJ TExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KLSAqCi0gKiBHUEx2MiBPTkxZCi0gKi8KKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTUgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWdu aW9qQGpjcm9zb2Z0LmNvbT4KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1h bmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2Rpcm5hbWUuYyBiL2NvbW1hbmRzL2Rpcm5hbWUu YwppbmRleCA3M2NmMWU0ZDQzZWYuLmY4MDllNzY0OGM0MSAxMDA2NDQKLS0tIGEvY29tbWFuZHMv ZGlybmFtZS5jCisrKyBiL2NvbW1hbmRzL2Rpcm5hbWUuYwpAQCAtMSwyMSArMSw3IEBACi0vKgot ICogZGlybmFtZS5jIC0gc3RyaXAgZGlyZWN0b3J5IGFuZCBzdWZmaXggZnJvbSBmaWxlbmFtZXMK LSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTIgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDEyIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4CisKKy8qIGRpcm5hbWUuYyAtIHN0cmlwIGRpcmVjdG9yeSBhbmQgc3VmZml4IGZyb20gZmls ZW5hbWVzICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRp ZmYgLS1naXQgYS9jb21tYW5kcy9kbWVzZy5jIGIvY29tbWFuZHMvZG1lc2cuYwppbmRleCBhN2Rl ZjJmMTU4YmQuLjE1YWQ0NDk2MzkzMyAxMDA2NDQKLS0tIGEvY29tbWFuZHMvZG1lc2cuYworKysg Yi9jb21tYW5kcy9kbWVzZy5jCkBAIC0xLDIxICsxLDggQEAKLS8qCi0gKiBkbWVzZy5jIC0gYmFy ZWJveCBsb2didWZmZXIgaGFuZGxpbmcKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQgU2FzY2hh IEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwot ICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cisv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKKy8qIGRtZXNnLmMgLSBiYXJlYm94IGxvZ2J1 ZmZlciBoYW5kbGluZyAqLworCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8bWFsbG9j Lmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZHJ2aW5mby5j IGIvY29tbWFuZHMvZHJ2aW5mby5jCmluZGV4IDRhNGI5NTc1MzdiZC4uOWY4Zjk3MWVlOWRkIDEw MDY0NAotLS0gYS9jb21tYW5kcy9kcnZpbmZvLmMKKysrIGIvY29tbWFuZHMvZHJ2aW5mby5jCkBA IC0xLDE4ICsxLDYgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgU2FzY2hhIEhhdWVyLCBQ ZW5ndXRyb25peAotICogQ29weXJpZ2h0IChDKSAyMDE0IEhvbGdlciBTY2h1cmlnCi0gKgotICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0 aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Ci0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq LworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgt RmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAorLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBIb2xnZXIgU2NodXJpZwogCiAjaW5jbHVk ZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMv ZWNoby5jIGIvY29tbWFuZHMvZWNoby5jCmluZGV4IDg4NTNlZTBhMzA5My4uOTk1NzViNGMwYzM1 IDEwMDY0NAotLS0gYS9jb21tYW5kcy9lY2hvLmMKKysrIGIvY29tbWFuZHMvZWNoby5jCkBAIC0x LDIxICsxLDcgQEAKLS8qCi0gKiBlY2hvLmMgLSBlY2hvIGFyZ3VtZW50cyB0byBzdGRvdXQgb3Ig aW50byBhIGZpbGUKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhh dWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRT IGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4K LSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICov CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4sIFBlbmd1dHJvbml4CisKKy8qIGVjaG8uYyAtIGVjaG8gYXJndW1lbnRzIHRvIHN0ZG91dCBv ciBpbnRvIGEgZmlsZSAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFu ZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZWRpdC5jIGIvY29tbWFuZHMvZWRpdC5jCmluZGV4 IDRlNjYxZGYxNGYxOS4uM2FiNGJlYWE0ZmZiIDEwMDY0NAotLS0gYS9jb21tYW5kcy9lZGl0LmMK KysrIGIvY29tbWFuZHMvZWRpdC5jCkBAIC0xLDE5ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQg KGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9u aXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJp YnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIK LSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAq IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CiAKICNpbmNsdWRlIDxj b21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9leGVj LmMgYi9jb21tYW5kcy9leGVjLmMKaW5kZXggN2M4OTM0ZjEzN2UyLi4wYjA2MzE4MWIyNDcgMTAw NjQ0Ci0tLSBhL2NvbW1hbmRzL2V4ZWMuYworKysgYi9jb21tYW5kcy9leGVjLmMKQEAgLTEsMjEg KzEsNyBAQAotLyoKLSAqIGV4ZWMuYyAtIGV4ZWN1dGUgc2NyaXB0cwotICoKLSAqIENvcHlyaWdo dCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250 cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g MgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgot ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2FzY2hh IEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogZXhlYy5j IC0gZXhlY3V0ZSBzY3JpcHRzICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxj b21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9leHBvcnQuYyBiL2NvbW1hbmRzL2V4cG9y dC5jCmluZGV4IDRiNGNmMWUxMmUyNC4uODk3MmI3ZDUyOGQ3IDEwMDY0NAotLS0gYS9jb21tYW5k cy9leHBvcnQuYworKysgYi9jb21tYW5kcy9leHBvcnQuYwpAQCAtMSwxOSArMSw1IEBACi0vKgot ICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9w bGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAog CiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQgYS9jb21tYW5kcy9mYWxzZS5jIGIvY29tbWFuZHMv ZmFsc2UuYwppbmRleCA5MGFhMmNjOWVhYjUuLjkwYWI1NzlkMGU5MCAxMDA2NDQKLS0tIGEvY29t bWFuZHMvZmFsc2UuYworKysgYi9jb21tYW5kcy9mYWxzZS5jCkBAIC0xLDIxICsxLDUgQEAKLS8q Ci0gKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwMwotICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0 d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZv ciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAq Ci0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g KgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwMC0yMDAzIFdvbGZnYW5nIERlbmsgPHdkQGRl bnguZGU+LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nCiAKICNpbmNsdWRlIDxjb21tb24uaD4K ICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9maWxldHlwZS5jIGIv Y29tbWFuZHMvZmlsZXR5cGUuYwppbmRleCA0ZTAxNmRkNGQ2ZDQuLjgxOGMxNGZlNzk3ZSAxMDA2 NDQKLS0tIGEvY29tbWFuZHMvZmlsZXR5cGUuYworKysgYi9jb21tYW5kcy9maWxldHlwZS5jCkBA IC0xLDggKzEsNSBAQAotLyoKLSAqIChDKSBDb3B5cmlnaHQgMjAxMiBKZWFuLUNocmlzdG9waGUg UExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgotICoKLSAqIFVuZGVyIEdQ THYyIE9ubHkKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQor Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05J T0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgogCiAjaW5jbHVkZSA8Y29tbW9uLmg+ CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZmlybXdhcmVsb2Fk LmMgYi9jb21tYW5kcy9maXJtd2FyZWxvYWQuYwppbmRleCBkYmQ0M2UwNDZkOGYuLmI3MzUwODhm NjExNyAxMDA2NDQKLS0tIGEvY29tbWFuZHMvZmlybXdhcmVsb2FkLmMKKysrIGIvY29tbWFuZHMv ZmlybXdhcmVsb2FkLmMKQEAgLTEsMTUgKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAx MyBKdWVyZ2VuIEJlaXNlcnQgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0g KgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICovCisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDEzIEp1ZXJnZW4gQmVpc2VydCA8a2VybmVsQHBlbmd1dHJvbml4LmRlPiwg UGVuZ3V0cm9uaXgKIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4K ZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2ZsYXNoLmMgYi9jb21tYW5kcy9mbGFzaC5jCmluZGV4IGQ4 ODFiNGQzOTllYS4uM2Q3YzhmZDU3NzNkIDEwMDY0NAotLS0gYS9jb21tYW5kcy9mbGFzaC5jCisr KyBiL2NvbW1hbmRzL2ZsYXNoLmMKQEAgLTEsMjMgKzEsNyBAQAotLyoKLSAqIGVyYXNlLCBwcm90 ZWN0LCB1bnByb3RlY3QgLSBGTEFTSCBzdXBwb3J0Ci0gKgotICogKEMpIENvcHlyaWdodCAyMDAw Ci0gKiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRl LgotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmli dXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBv ZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDAwIFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5n CisKKy8qIGVyYXNlLCBwcm90ZWN0LCB1bnByb3RlY3QgLSBGTEFTSCBzdXBwb3J0ICovCiAKICNp bmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21t YW5kcy9nbG9iYWwuYyBiL2NvbW1hbmRzL2dsb2JhbC5jCmluZGV4IGM2NmJmNmU1Mzk1MS4uMTVi NmE5ZjNkMzQxIDEwMDY0NAotLS0gYS9jb21tYW5kcy9nbG9iYWwuYworKysgYi9jb21tYW5kcy9n bG9iYWwuYwpAQCAtMSwyMSArMSw4IEBACi0vKgotICogZ2xvYmFsLmMgLSBnbG9iYWwgc2hlbGwg dmFyaWFibGVzCi0gKgotICogQ29weXJpZ2h0IChjKSAyMDEyIFNhc2NoYSBIYXVlciA8cy5oYXVl ckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBm b3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0g KgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLwor Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxMiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+ LCBQZW5ndXRyb25peAorCisvKiBnbG9iYWwuYyAtIGdsb2JhbCBzaGVsbCB2YXJpYWJsZXMgKi8K KwogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPG1hbGxvYy5oPgogI2luY2x1ZGUgPGNv bW1hbmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2dvLmMgYi9jb21tYW5kcy9nby5jCmluZGV4 IGVjYzJjZWI2ZTQyMi4uMGMwYjRjYjE1ZTRkIDEwMDY0NAotLS0gYS9jb21tYW5kcy9nby5jCisr KyBiL2NvbW1hbmRzL2dvLmMKQEAgLTEsMjMgKzEsNyBAQAotLyoKLSAqIGdvLSBleGVjdXRlIHNv bWUgY29kZSBhbnl3aGVyZSAobWlzYyBib290IHN1cHBvcnQpCi0gKgotICogKEMpIENvcHlyaWdo dCAyMDAwLTIwMDMKLSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcs IHdkQGRlbnguZGUuCi0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUg d2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMDAtMjAwMyBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPiwgREVOWCBTb2Z0 d2FyZSBFbmdpbmVlcmluZworCisvKiBnbyAtIGV4ZWN1dGUgc29tZSBjb2RlIGFueXdoZXJlICht aXNjIGJvb3Qgc3VwcG9ydCkgKi8KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNv bW1hbmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2dwaW8uYyBiL2NvbW1hbmRzL2dwaW8uYwpp bmRleCA2ZDg4YWI2YmJlNTUuLjk1NWI2MGU5MWJjZSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvZ3Bp by5jCisrKyBiL2NvbW1hbmRzL2dwaW8uYwpAQCAtMSwxNSArMSw0IEBACi0vKgotICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKIAogI2luY2x1ZGUgPGNv bW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2hhYi5j IGIvY29tbWFuZHMvaGFiLmMKaW5kZXggMGQ3ZWU4ZTc2YzAxLi45N2ExNzAxZmE1NTEgMTAwNjQ0 Ci0tLSBhL2NvbW1hbmRzL2hhYi5jCisrKyBiL2NvbW1hbmRzL2hhYi5jCkBAIC0xLDEzICsxLDQg QEAKLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0 aGUgR05VCi0gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKi8K Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKIAogI2luY2x1ZGUgPGNv bW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2hhc2hz dW0uYyBiL2NvbW1hbmRzL2hhc2hzdW0uYwppbmRleCA3MGFhYjJjNGJmYTUuLmJmYWNlZTBiOTIy YiAxMDA2NDQKLS0tIGEvY29tbWFuZHMvaGFzaHN1bS5jCisrKyBiL2NvbW1hbmRzL2hhc2hzdW0u YwpAQCAtMSwyMSArMSw3IEBACi0vKgotICogZGlnZXN0LmMgLSBDYWxjdWxhdGUgYSBtZDUvc2hh MS9zaGEyNTYgY2hlY2tzdW0gb2YgYSBtZW1vcnkgYXJlYQotICoKLSAqIENvcHlyaWdodCAoYykg MjAxMSBQZXRlciBLb3JzZ2FhcmQgPGphY21ldEBzdW5zaXRlLmRrPgotICoKLSAqIFNlZSBmaWxl IENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBw cm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5 IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K LSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQ RFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vu c2l0ZS5kaz4KKworLyogZGlnZXN0LmMgLSBDYWxjdWxhdGUgYSBtZDUvc2hhMS9zaGEyNTYgY2hl Y2tzdW0gb2YgYSBtZW1vcnkgYXJlYSAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVk ZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvaGVscC5jIGIvY29tbWFuZHMvaGVs cC5jCmluZGV4IDM0ZmZhOWE0MTk1My4uYmE4NTQyYjkwZjAxIDEwMDY0NAotLS0gYS9jb21tYW5k cy9oZWxwLmMKKysrIGIvY29tbWFuZHMvaGVscC5jCkBAIC0xLDIxICsxLDUgQEAKLS8qCi0gKiAo QykgQ29weXJpZ2h0IDIwMDAtMjAwMwotICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBF bmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0 IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b247IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICov CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwMC0yMDAzIFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+ LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNs dWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9pMmMuYyBiL2NvbW1hbmRzL2ky Yy5jCmluZGV4IDc3YThmN2ZmOTc4MS4uNTNmMzZkZmFhYjg2IDEwMDY0NAotLS0gYS9jb21tYW5k cy9pMmMuYworKysgYi9jb21tYW5kcy9pMmMuYwpAQCAtMSwxOSArMSw3IEBACi0vKgotICogaTJj LmMgLSBpMmMgY29tbWFuZHMKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTAgRXJpYyBCw6luYXJk IDxlcmljQGV1a3JlYS5Db20+LCBFdWtyw6lhIEVsZWN0cm9tYXRpcXVlCi0gKgotICogVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot ICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl aXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTAgRXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5Db20+LCBFdWty w6lhIEVsZWN0cm9tYXRpcXVlCisKKy8qIGkyYy5jIC0gaTJjIGNvbW1hbmRzICovCiAKICNpbmNs dWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5k cy9pbWQuYyBiL2NvbW1hbmRzL2ltZC5jCmluZGV4IGZjNmNjNDcyMzE0NC4uOTEyZjA2NWM5ZThm IDEwMDY0NAotLS0gYS9jb21tYW5kcy9pbWQuYworKysgYi9jb21tYW5kcy9pbWQuYwpAQCAtMSwy MCArMSw1IEBACi0vKgotICogKEMpIENvcHlyaWdodCAyMDE0IFNhc2NoYSBIYXVlciwgUGVuZ3V0 cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29u dHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICog cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9u IDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAxNCBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4CiAKICNpbmNsdWRlIDxjb21tb24uaD4K ICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9pb21lbXBvcnQuYyBi L2NvbW1hbmRzL2lvbWVtcG9ydC5jCmluZGV4IDZkOTdjNTcxMWJmMy4uZDBjZmM0MTNjMjYyIDEw MDY0NAotLS0gYS9jb21tYW5kcy9pb21lbXBvcnQuYworKysgYi9jb21tYW5kcy9pb21lbXBvcnQu YwpAQCAtMSwyMCArMSw4IEBACi0vKgotICogaW9tZW0uYyAtIGJhcmVib3ggaW9tZW0gY29tbWFu ZAotICoKLSAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qg b2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLworLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25p eAorCisvKiBpb21lbS5jIC0gYmFyZWJveCBpb21lbSBjb21tYW5kICovCisKICNpbmNsdWRlIDxh c20vaW8uaD4KICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYg LS1naXQgYS9jb21tYW5kcy9pcC1yb3V0ZS1nZXQuYyBiL2NvbW1hbmRzL2lwLXJvdXRlLWdldC5j CmluZGV4IGQzYzE1Yjc3OTg2MC4uNTY2ZTEyMTkyYTdmIDEwMDY0NAotLS0gYS9jb21tYW5kcy9p cC1yb3V0ZS1nZXQuYworKysgYi9jb21tYW5kcy9pcC1yb3V0ZS1nZXQuYwpAQCAtMSwxMyArMSw0 IEBACi0vKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUg dGhlIEdOVQotICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICov CisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CiAKICNpbmNsdWRlIDxj b21tYW5kLmg+CiAjaW5jbHVkZSA8Y29tbW9uLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9sZWQu YyBiL2NvbW1hbmRzL2xlZC5jCmluZGV4IGI2MDhmY2ZhMmNkYi4uN2NmMmNlZWZiODZhIDEwMDY0 NAotLS0gYS9jb21tYW5kcy9sZWQuYworKysgYi9jb21tYW5kcy9sZWQuYwpAQCAtMSwyMiArMSw3 IEBACi0vKgotICogTEVEIGNvbW1hbmQgc3VwcG9ydCBmb3IgYmFyZWJveAotICoKLSAqIChDKSBD b3B5cmlnaHQgMjAxMCBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUg Q1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHBy b2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCi0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3It bGF0ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAgU2FzY2hhIEhhdWVyLCBQ ZW5ndXRyb25peAorCisvKiBMRUQgY29tbWFuZCBzdXBwb3J0IGZvciBiYXJlYm94ICovCiAKICNp bmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxsZWQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRz L2xldC5jIGIvY29tbWFuZHMvbGV0LmMKaW5kZXggM2M4NGQyNzZjMTNkLi5kNjc2MmViNTkzYmEg MTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL2xldC5jCisrKyBiL2NvbW1hbmRzL2xldC5jCkBAIC0xLDE5 ICsxLDcgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVA cGVuZ3V0cm9uaXguZGU+Ci0gKgotICogUGFydGlhbGx5IGJhc2VkIG9uIGNvZGUgZnJvbSBCdXN5 Qm94LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAq IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxh dGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIEphbiBMdWViYmUgPGoubHVl YmJlQHBlbmd1dHJvbml4LmRlPgorCisvKiBQYXJ0aWFsbHkgYmFzZWQgb24gY29kZSBmcm9tIEJ1 c3lCb3guICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRp ZmYgLS1naXQgYS9jb21tYW5kcy9saW51eDE2LmMgYi9jb21tYW5kcy9saW51eDE2LmMKaW5kZXgg ZGI4ZDA4MTA1ZmE1Li43M2U0MDJkODc3NDEgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL2xpbnV4MTYu YworKysgYi9jb21tYW5kcy9saW51eDE2LmMKQEAgLTEsMjIgKzEsMTEgQEAKKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKKwogLyoKLSAqIENvcHly aWdodCAoQykgMjAwOSBKdWVyZ2VuIEJlaXNlcnQsIFBlbmd1dHJvbml4Ci0gKgogICogSW4gcGFy dHMgZnJvbSB0aGUgR1JVQjIgcHJvamVjdDoKICAqCiAgKiAgR1JVQiAgLS0gIEdSYW5kIFVuaWZp ZWQgQm9vdGxvYWRlcgogICogIENvcHlyaWdodCAoQykgMTk5OSwyMDAwLDIwMDEsMjAwMiwyMDAz LDIwMDQsMjAwNSwyMDA3LDIwMDggIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgotICoK LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq Ci0gKgogICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xp bnV4X2V4ZWMuYyBiL2NvbW1hbmRzL2xpbnV4X2V4ZWMuYwppbmRleCA1OTBlMGJmZDUwOTEuLjVh ZmEyNTAxYzQ4MyAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbGludXhfZXhlYy5jCisrKyBiL2NvbW1h bmRzL2xpbnV4X2V4ZWMuYwpAQCAtMSwxOSArMSw1IEBACi0vKgotICogQ29weXJpZ2h0IChjKSAy MDExIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5j b20+Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRy aWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAy Ci0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBKZWFuLUNo cmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgogCiAjaW5j bHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8bWFsbG9jLmg+CmRpZmYgLS1naXQgYS9jb21tYW5k cy9sbi5jIGIvY29tbWFuZHMvbG4uYwppbmRleCBmMWRmMzIwMzViNzUuLjkyMDY0ODAzMDBhOCAx MDA2NDQKLS0tIGEvY29tbWFuZHMvbG4uYworKysgYi9jb21tYW5kcy9sbi5jCkBAIC0xLDIxICsx LDcgQEAKLS8qCi0gKiBsbi5jIC0gbWFrZSBsaW5rcyBiZXR3ZWVuIGZpbGVzCi0gKgotICogQ29w eXJpZ2h0IChjKSAyMDEyIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlv akBqY3Jvc29mdC5jb20+Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9w bGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQu Y29tPgorCisvKiBsbi5jIC0gbWFrZSBsaW5rcyBiZXR3ZWVuIGZpbGVzICovCiAKICNpbmNsdWRl IDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9s b2FkYi5jIGIvY29tbWFuZHMvbG9hZGIuYwppbmRleCAzN2MyNzJmNmM3NjEuLjE3ZDNhZjg0YjVk YiAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbG9hZGIuYworKysgYi9jb21tYW5kcy9sb2FkYi5jCkBA IC0xLDMgKzEsNSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDAtMjAwNCBXb2xmZ2FuZyBEZW5r IDx3ZEBkZW54LmRlPiwgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZwogLyoqCiAgKiBAZmlsZQog ICogQGJyaWVmIExvYWRCIGFuZCBMb2FkWSBzdXBwb3J0LgpAQCAtNywyNCArOSw2IEBACiAgKgog ICogRmlsZU5hbWU6IGNvbW1hbmRzL2xvYWRiLmMKICAqLwotLyoKLSAqIChDKSBDb3B5cmlnaHQg MjAwMC0yMDA0Ci0gKiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3 ZEBkZW54LmRlLgotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdo byBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Ci0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KIAogLyoKICAqIFNl cmlhbCB1cC0gYW5kIGRvd25sb2FkIHN1cHBvcnQKZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xvYWRl bnYuYyBiL2NvbW1hbmRzL2xvYWRlbnYuYwppbmRleCBiZjAxMDcyYzQyZTcuLjI3OWVlNTJkYTVh NCAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbG9hZGVudi5jCisrKyBiL2NvbW1hbmRzL2xvYWRlbnYu YwpAQCAtMSwxOSArMSw1IEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVl ciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUg Q1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHBy b2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgot ICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+LCBQZW5ndXRyb25peAogCiAvKioKICAqIEBmaWxlCmRpZmYgLS1naXQgYS9jb21t YW5kcy9sb2Fkcy5jIGIvY29tbWFuZHMvbG9hZHMuYwppbmRleCBlYjNlMTA5YjBiNWYuLjgyNjA2 NzNjNTFjNSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbG9hZHMuYworKysgYi9jb21tYW5kcy9sb2Fk cy5jCkBAIC0xLDI1ICsxLDggQEAKLS8qCi0gKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwNAotICog V29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSAq Ci0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAq IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK LSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl IGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwMC0y MDA0IFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5n CisKKy8qIFNlcmlhbCB1cC0gYW5kIGRvd25sb2FkIHN1cHBvcnQgKi8KIAotLyoKLSAqIFNlcmlh bCB1cC0gYW5kIGRvd25sb2FkIHN1cHBvcnQKLSAqLwogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2lu Y2x1ZGUgPGNvbW1hbmQuaD4KICNpbmNsdWRlIDxlbnZpcm9ubWVudC5oPgpkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvbG9hZHh5LmMgYi9jb21tYW5kcy9sb2FkeHkuYwppbmRleCA4NWVmYWQ2N2M3YmQu LjY2ZGFhMTE3ZDkzNyAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbG9hZHh5LmMKKysrIGIvY29tbWFu ZHMvbG9hZHh5LmMKQEAgLTEsMyArMSw2IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBSb2Jl cnQgSmFyem1payA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KKwogLyoqCiAgKiBAZmlsZQogICog QGJyaWVmIGxvYWR5IGFuZCBsb2FkeCAgc3VwcG9ydC4KQEAgLTcsMjMgKzEwLDYgQEAKICAqCiAg KiBGaWxlTmFtZTogY29tbWFuZHMvbG9hZHh5LmMKICAqLwotLyoKLSAqIChDKSBDb3B5cmlnaHQg MjAxMiBSb2JlcnQgSmFyem1payA8cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KLSAqCi0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwot ICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCi0gKgotICovCiAKIC8qCiAgKiBTZXJpYWwgdXAtIGFuZCBkb3dubG9hZCBz dXBwb3J0CmRpZmYgLS1naXQgYS9jb21tYW5kcy9sb2dpbi5jIGIvY29tbWFuZHMvbG9naW4uYwpp bmRleCA1OGJiNTkyOTAwN2UuLjcwODVmMzg4NWNmOSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbG9n aW4uYworKysgYi9jb21tYW5kcy9sb2dpbi5jCkBAIC0xLDE5ICsxLDUgQEAKLS8qCi0gKiBDb3B5 cmlnaHQgKGMpIDIwMDgtMjAxMCBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxh Z25pb2pAamNyb3NvZnQuY29tPgotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2Yg cGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMDgtMjAxMCBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pA amNyb3NvZnQuY29tPgogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5o PgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbHMuYyBiL2NvbW1hbmRzL2xzLmMKaW5kZXggZTVlMzdk NzVjNThiLi42YTU0NzVkMDk0ZTUgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL2xzLmMKKysrIGIvY29t bWFuZHMvbHMuYwpAQCAtMSwyMSArMSw3IEBACi0vKgotICogbHMuYyAtIGxpc3QgZmlsZXMgYW5k IGRpcmVjdG9yaWVzCi0gKgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElU UyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3Qu Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Ci0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAq LworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXgu ZGU+LCBQZW5ndXRyb25peAorCisvKiBscy5jIC0gbGlzdCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMg Ki8KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL2xzcGNpLmMgYi9jb21tYW5kcy9sc3BjaS5jCmluZGV4IDI3ZWRkNWQxYzI1 Ny4uMThlN2U0Njk1YzEyIDEwMDY0NAotLS0gYS9jb21tYW5kcy9sc3BjaS5jCisrKyBiL2NvbW1h bmRzL2xzcGNpLmMKQEAgLTEsMTkgKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMS0y MDE0IEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgotICoKLSAqIFRoaXMg ZmlsZSBpcyBwYXJ0IG9mIGJhcmVib3guCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcyBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKp IDIwMTEtMjAxNCBBbnRvbnkgUGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWlsLmNvbT4KIAogI2lu Y2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1h bmRzL21kLmMgYi9jb21tYW5kcy9tZC5jCmluZGV4IDIzODljMTJkMTQzMi4uZWY2YTFlMWJjMGIx IDEwMDY0NAotLS0gYS9jb21tYW5kcy9tZC5jCisrKyBiL2NvbW1hbmRzL21kLmMKQEAgLTEsMTkg KzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJA cGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9y IGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoK LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwg UGVuZ3V0cm9uaXgKIAogLyoKICAqIE1lbW9yeSBGdW5jdGlvbnMKZGlmZiAtLWdpdCBhL2NvbW1h bmRzL21lbWNtcC5jIGIvY29tbWFuZHMvbWVtY21wLmMKaW5kZXggNzZmYmUwNzhmMDRkLi4yYjM3 ODNkNjZhOWMgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL21lbWNtcC5jCisrKyBiL2NvbW1hbmRzL21l bWNtcC5jCkBAIC0xLDE5ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgU2FzY2hh IEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwot ICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cisv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CiAKIC8qCiAgKiBNZW1vcnkgRnVuY3Rpb25zCmRp ZmYgLS1naXQgYS9jb21tYW5kcy9tZW1jcHkuYyBiL2NvbW1hbmRzL21lbWNweS5jCmluZGV4IGIy Y2VhOGMwOWQ0MC4uMjQ3N2JiYTM1OThkIDEwMDY0NAotLS0gYS9jb21tYW5kcy9tZW1jcHkuYwor KysgYi9jb21tYW5kcy9tZW1jcHkuYwpAQCAtMSwxOSArMSw1IEBACi0vKgotICogQ29weXJpZ2h0 IChjKSAyMDExIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRy aWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAy Ci0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAogCiAvKgogICogTWVt b3J5IEZ1bmN0aW9ucwpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbWVtaW5mby5jIGIvY29tbWFuZHMv bWVtaW5mby5jCmluZGV4IDg3Yzc2ZmMzZDE5Zi4uYzgwOGNhYTkwMmE0IDEwMDY0NAotLS0gYS9j b21tYW5kcy9tZW1pbmZvLmMKKysrIGIvY29tbWFuZHMvbWVtaW5mby5jCkBAIC0xLDIxICsxLDgg QEAKLS8qCi0gKiBtZW1pbmZvLmMgLSBzaG93IGluZm9ybWF0aW9uIGFib3V0IG1lbW9yeSB1c2Fn ZQotICoKLSAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qg b2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0 cm9uaXgKKworLyogbWVtaW5mby5jIC0gc2hvdyBpbmZvcm1hdGlvbiBhYm91dCBtZW1vcnkgdXNh Z2UgKi8KKwogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KICNpbmNs dWRlIDxjb21wbGV0ZS5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbWVtc2V0LmMgYi9jb21tYW5k cy9tZW1zZXQuYwppbmRleCBiMDc3MDE1OWY4MTguLjcxNmNiYTI2ZGVjNSAxMDA2NDQKLS0tIGEv Y29tbWFuZHMvbWVtc2V0LmMKKysrIGIvY29tbWFuZHMvbWVtc2V0LmMKQEAgLTEsMTkgKzEsNSBA QAotLyoKLSAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qg b2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0 cm9uaXgKIAogLyoKICAqIE1lbW9yeSBGdW5jdGlvbnMKZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21l bXRlc3QuYyBiL2NvbW1hbmRzL21lbXRlc3QuYwppbmRleCBkYzhmN2RiMjc5MTYuLjg2NDk0N2Zh OTRmOSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbWVtdGVzdC5jCisrKyBiL2NvbW1hbmRzL21lbXRl c3QuYwpAQCAtMSwyMyArMSw3IEBACi0vKgotICogbWVtdGVzdCAtIFBlcmZvcm0gYSBtZW1vcnkg dGVzdAotICoKLSAqIChDKSBDb3B5cmlnaHQgMjAxMwotICogQWxleGFuZGVyIEFyaW5nIDxhYXJA cGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9y IGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoK LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq Ci0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvLyBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIEFsZXhhbmRlciBBcmluZyA8YWFyQHBlbmd1 dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogbWVtdGVzdCAtIFBlcmZvcm0gYSBtZW1vcnkg dGVzdCAqLwogCiAjaW5jbHVkZSA8Y29tbWFuZC5oPgogI2luY2x1ZGUgPGdldG9wdC5oPgpkaWZm IC0tZ2l0IGEvY29tbWFuZHMvbWVudS5jIGIvY29tbWFuZHMvbWVudS5jCmluZGV4IGRkYzljM2Fi ODYzNy4uN2EwMWFmZjI4MDY2IDEwMDY0NAotLS0gYS9jb21tYW5kcy9tZW51LmMKKysrIGIvY29t bWFuZHMvbWVudS5jCkBAIC0xLDIwICsxLDUgQEAKLS8qCi0gKiAoQykgQ29weXJpZ2h0IDIwMDkt MjAxMCBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQu Y29tPgotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250 cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgdmVyc2lvbiAyIG9mCi0g KiB0aGUgTGljZW5zZS4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAwOS0yMDEwIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFn bmlvakBqY3Jvc29mdC5jb20+CiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21t YW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9tZW51dHJlZS5jIGIvY29tbWFuZHMvbWVudXRy ZWUuYwppbmRleCBjZjM3YjAxNjAxNTYuLjEyOTg3NzE1MWZlYSAxMDA2NDQKLS0tIGEvY29tbWFu ZHMvbWVudXRyZWUuYworKysgYi9jb21tYW5kcy9tZW51dHJlZS5jCkBAIC0xLDEzICsxLDUgQEAK LS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK LSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKi8KKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKwogI2luY2x1ZGUgPGNvbW1h bmQuaD4KICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxnZXRvcHQuaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL21paXRvb2wuYyBiL2NvbW1hbmRzL21paXRvb2wuYwppbmRleCAwNzQzN2Qy OGE4ZjkuLjQ3NDk0ZjUwODk3OSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbWlpdG9vbC5jCisrKyBi L2NvbW1hbmRzL21paXRvb2wuYwpAQCAtMSwxMCArMSw3IEBACisvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEy IEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgorCiAvKgotICogQ29weXJp Z2h0IChDKSAyMDEyIEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgotICoK LSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIGJhcmVib3guCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZv ciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAq CiAgKiBUaGlzIHByb2dyYW0gaXMgYmFzZWQgb24gRG9uYWxkIEJlY2tlcidzICJtaWktZGlhZyIg YW5kCiAgKiBEYXZpZCBBLiBIaW5kcycgIm1paS10b29sIi4KICAqCkBAIC0xMywxNiArMTAsNiBA QAogICoKICAqIG1paS1kaWFnIGlzIHdyaXR0ZW4vY29weXJpZ2h0IDE5OTctMjAwMCBieSBEb25h bGQgQmVja2VyCiAgKiAgICAgPGJlY2tlckBzY3lsZC5jb20+Ci0gKgotICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK LSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug dmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKICAqLwogCiAjaW5jbHVkZSA8Y29tbW9u Lmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9ta2Rpci5jIGIvY29tbWFuZHMvbWtkaXIuYwppbmRl eCA3ZDAyNGM4NzFkZDMuLmU3MTUzYjg3MzJjNSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbWtkaXIu YworKysgYi9jb21tYW5kcy9ta2Rpci5jCkBAIC0xLDIxICsxLDcgQEAKLS8qCi0gKiBta2Rpci5j IC0gY3JlYXRlIGRpcmVjdG9yaWVzCi0gKgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZp bGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAq IHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiBta2Rpci5jIC0gY3JlYXRlIGRpcmVjdG9y aWVzICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYg LS1naXQgYS9jb21tYW5kcy9tbS5jIGIvY29tbWFuZHMvbW0uYwppbmRleCBjN2Y2MmZjYTU0YmIu LmY2ZDY2MzIwZmJjNSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbW0uYworKysgYi9jb21tYW5kcy9t bS5jCkBAIC0xLDE5ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTMgU2FzY2hhIEhh dWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmls ZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICog cHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Ci0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5n dXRyb25peC5kZT4sIFBlbmd1dHJvbml4CiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRl IDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9tbWNfZXh0Y3NkLmMgYi9jb21tYW5k cy9tbWNfZXh0Y3NkLmMKaW5kZXggNGY1NjZiYzgwNWRiLi5jOWEyOGZiMWZlOTQgMTAwNjQ0Ci0t LSBhL2NvbW1hbmRzL21tY19leHRjc2QuYworKysgYi9jb21tYW5kcy9tbWNfZXh0Y3NkLmMKQEAg LTEsMTkgKzEsNyBAQAotLyoKLSAqCi0gKiAoQykgQ29weXJpZ2h0IDIwMTUgUGh5dGVjIE1lc3N0 ZWNobmlrIEdtYkgKLSAqIEF1dGhvcjogRGFuaWVsIFNjaHVsdHogPGQuc2NodWx0ekBwaHl0ZWMu ZGU+Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICog KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0 ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTUgUGh5dGVjIE1lc3N0ZWNobmlr IEdtYkgKKworLyogQXV0aG9yOiBEYW5pZWwgU2NodWx0eiA8ZC5zY2h1bHR6QHBoeXRlYy5kZT4g Ki8KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL21vdW50LmMgYi9jb21tYW5kcy9tb3VudC5jCmluZGV4IGY1MjNmNmIzYjZl MC4uZmYxZDhiYzVlNTViIDEwMDY0NAotLS0gYS9jb21tYW5kcy9tb3VudC5jCisrKyBiL2NvbW1h bmRzL21vdW50LmMKQEAgLTEsMjEgKzEsNyBAQAotLyoKLSAqIG1vdW50LmMgLSBtb3VudCBkZXZp Y2VzCi0gKgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5n dXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlz dCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAorCisvKiBtb3VudC5jIC0gbW91bnQgZGV2aWNlcyAqLwogCiAjaW5jbHVkZSA8Y29t bW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbXNsZWVw LmMgYi9jb21tYW5kcy9tc2xlZXAuYwppbmRleCA0YWVlM2MzOTQ4ZmUuLjJjYTExZmFhZDg2YiAx MDA2NDQKLS0tIGEvY29tbWFuZHMvbXNsZWVwLmMKKysrIGIvY29tbWFuZHMvbXNsZWVwLmMKQEAg LTEsMTkgKzEsMTAgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkK Ky8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgU3RlZmZlbiBUcnVtdHJhciA8cy50 cnVtdHJhckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKIC8qCiAgKiBtc2xlZXAuYyAt IGRlbGF5IGV4ZWN1dGlvbiBmb3IgbiBtaWxsaXNlY29uZHMKICAqCi0gKiBDb3B5cmlnaHQgKGMp IDIwMTIgU3RlZmZlbiBUcnVtdHJhciA8cy50cnVtdHJhckBwZW5ndXRyb25peC5kZT4sIFBlbmd1 dHJvbml4Ci0gKgogICogZGVyaXZlZCBmcm9tIGNvbW1hbmRzL3NsZWVwLmMKLSAqCi0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgogICovCiAKICNpbmNsdWRl IDxjb21tb24uaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL213LmMgYi9jb21tYW5kcy9tdy5jCmlu ZGV4IDNlZDZjODIwZDBlNC4uNWJkNGJkZDU4ZjE0IDEwMDY0NAotLS0gYS9jb21tYW5kcy9tdy5j CisrKyBiL2NvbW1hbmRzL213LmMKQEAgLTEsMTkgKzEsNSBAQAotLyoKLSAqIENvcHlyaWdodCAo YykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25p eAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmli dXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgot ICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgU2FzY2hhIEhh dWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKIAogLyoKICAqIE1lbW9y eSBGdW5jdGlvbnMKZGlmZiAtLWdpdCBhL2NvbW1hbmRzL25hbmQtYml0ZmxpcC5jIGIvY29tbWFu ZHMvbmFuZC1iaXRmbGlwLmMKaW5kZXggY2ZkZTJmNDA0MGU3Li43MzM1Zjc3Mzc5YTYgMTAwNjQ0 Ci0tLSBhL2NvbW1hbmRzL25hbmQtYml0ZmxpcC5jCisrKyBiL2NvbW1hbmRzL25hbmQtYml0Zmxp cC5jCkBAIC0xLDEzICsxLDQgQEAKLS8qCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KLSAqCi0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VCi0gKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL25hbmQuYyBiL2NvbW1hbmRzL25hbmQuYwppbmRleCBjNTdiMzk0NWE4NDIu LmVkMjg2NGZiN2IwYiAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbmFuZC5jCisrKyBiL2NvbW1hbmRz L25hbmQuYwpAQCAtMSwxOSArMSw2IEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDA4IFNhc2No YSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2Vl IGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMK LSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQor Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJA cGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5j bHVkZSA8Y29tbWFuZC5oPgogI2luY2x1ZGUgPGZzLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9u YW5kdGVzdC5jIGIvY29tbWFuZHMvbmFuZHRlc3QuYwppbmRleCAxMTJiYjAxMmE1OWQuLmJmZTRj NGMwZWQwMyAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbmFuZHRlc3QuYworKysgYi9jb21tYW5kcy9u YW5kdGVzdC5jCkBAIC0xLDE1ICsxLDcgQEAKKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9ubHkKKwogLyoKICAqIEJhc2VkIG9uIG5hbmR0ZXN0LmMgc291cmNlIGluIG10ZC11 dGlscyBwYWNrYWdlLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ T1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0 YWlscy4KLSAqCiAgKi8KICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+ CmRpZmYgLS1naXQgYS9jb21tYW5kcy9udi5jIGIvY29tbWFuZHMvbnYuYwppbmRleCAzMTUwMTkz NDVjYWMuLjhkNDE5MjQwMmNhNSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvbnYuYworKysgYi9jb21t YW5kcy9udi5jCkBAIC0xLDIxICsxLDggQEAKLS8qCi0gKiBudi5jIC0gbm9uIHZvbGF0aWxlIHNo ZWxsIHZhcmlhYmxlcwotICoKLSAqIENvcHlyaWdodCAoYykgMjAxNCBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJ VFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0 LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0g Ki8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogbnYuYyAtIG5vbiB2b2xhdGlsZSBzaGVsbCB2YXJpYWJs ZXMgKi8KKwogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPG1hbGxvYy5oPgogI2luY2x1 ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL29mX2RpZmYuYyBiL2NvbW1hbmRz L29mX2RpZmYuYwppbmRleCA4ZWYwMDZkZWE4MjcuLjhhY2ZkNDJhNmI4OCAxMDA2NDQKLS0tIGEv Y29tbWFuZHMvb2ZfZGlmZi5jCisrKyBiL2NvbW1hbmRzL29mX2RpZmYuYwpAQCAtMSwxMCArMSw3 IEBACi0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMAotLyoKLSAqIG9mX2RpZmYu YyAtIGNvbXBhcmUgZGV2aWNlIHRyZWUgZmlsZXMKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTkg U2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0g Ki8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTkgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogb2ZfZGlmZi5jIC0gY29tcGFyZSBkZXZpY2UgdHJlZSBm aWxlcyAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8ZnMuaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL29mX2Rpc3BsYXlfdGltaW5ncy5jIGIvY29tbWFuZHMvb2ZfZGlzcGxheV90 aW1pbmdzLmMKaW5kZXggMzY1ZmY4MGMzNmM0Li4yN2I5MWYzMTFhYTggMTAwNjQ0Ci0tLSBhL2Nv bW1hbmRzL29mX2Rpc3BsYXlfdGltaW5ncy5jCisrKyBiL2NvbW1hbmRzL29mX2Rpc3BsYXlfdGlt aW5ncy5jCkBAIC0xLDIwICsxLDcgQEAKLS8qCi0gKiBvZl9kaXNwbGF5X3RpbWluZ3MuYyAtIGxp c3QgYW5kIHNlbGVjdCBkaXNwbGF5X3RpbWluZ3MKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTQg VGVyZXNhIEfDoW1leiA8dC5nYW1lekBwaHl0ZWMuZGU+IFBIWVRFQyBNZXNzdGVjaG5payBHbWJI Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1 dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0g KiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IFRlcmVzYSBHw6FtZXog PHQuZ2FtZXpAcGh5dGVjLmRlPiwgUEhZVEVDIE1lc3N0ZWNobmlrIEdtYkgKKworLyogb2ZfZGlz cGxheV90aW1pbmdzLmMgLSBsaXN0IGFuZCBzZWxlY3QgZGlzcGxheV90aW1pbmdzICovCiAKICNp bmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxmaWxldHlwZS5oPgpkaWZmIC0tZ2l0IGEvY29t bWFuZHMvb2ZfZHVtcC5jIGIvY29tbWFuZHMvb2ZfZHVtcC5jCmluZGV4IDA2YjhlOWZjZGEwYi4u Njc5MmFmM2FmYzMxIDEwMDY0NAotLS0gYS9jb21tYW5kcy9vZl9kdW1wLmMKKysrIGIvY29tbWFu ZHMvb2ZfZHVtcC5jCkBAIC0xLDIxICsxLDcgQEAKLS8qCi0gKiBvZl9kdW1wLmMgLSBkdW1wIGRl dmljZXRyZWVzIHRvIHRoZSBjb25zb2xlCi0gKgotICogQ29weXJpZ2h0IChjKSAyMDE0IFNhc2No YSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2Vl IGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMK LSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQor Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJA cGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiBvZl9kdW1wLmMgLSBkdW1wIGRldmlj ZXRyZWVzIHRvIHRoZSBjb25zb2xlICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRl IDxsaWJmaWxlLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9vZl9maXh1cF9zdGF0dXMuYyBiL2Nv bW1hbmRzL29mX2ZpeHVwX3N0YXR1cy5jCmluZGV4IGUwZGE0MjlhYzM5NC4uNTBjMWJiYjE0NmQw IDEwMDY0NAotLS0gYS9jb21tYW5kcy9vZl9maXh1cF9zdGF0dXMuYworKysgYi9jb21tYW5kcy9v Zl9maXh1cF9zdGF0dXMuYwpAQCAtMSwyMyArMSwxMSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNC0y MDE2IFBIWVRFQyBNZXNzdGVjaG5payBHbWJICisKIC8qCiAgKiBvZl9maXh1cF9zdGF0dXMuYyAt IFJlZ2lzdGVyIGEgZml4dXAgdG8gZW5hYmxlIG9yIGRpc2FibGUgbm9kZXMgaW4gdGhlCiAgKiBk ZXZpY2UgdHJlZQogICoKLSAqIENvcHlyaWdodCAoYykgMjAxNC0yMDE2IFBIWVRFQyBNZXNzdGVj aG5payBHbWJICi0gKiBBdXRob3I6Ci0gKglUZXJlc2EgUmVtbWV0Ci0gKglXYWRpbSBFZ29yb3YK LSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0 ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAq IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisgKiBBdXRob3JzOiBUZXJlc2EgUmVtbWV0IGFuZCBXYWRpbSBFZ29y b3YKICAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9vZl9u b2RlLmMgYi9jb21tYW5kcy9vZl9ub2RlLmMKaW5kZXggMjhjNDM1N2M1ZDk3Li43ZDRlYjQ4NmVk YmQgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL29mX25vZGUuYworKysgYi9jb21tYW5kcy9vZl9ub2Rl LmMKQEAgLTEsMjEgKzEsNyBAQAotLyoKLSAqIG9mX25vZGUuYyAtIGRldmljZSB0cmVlIG5vZGUg aGFuZGxpbmcgc3VwcG9ydAotICoKLSAqIENvcHlyaWdodCAoYykgMjAxMyBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENS RURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9q ZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq Ci0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgt RmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogb2Zfbm9kZS5jIC0gZGV2aWNlIHRyZWUgbm9kZSBo YW5kbGluZyBzdXBwb3J0ICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxlbnZp cm9ubWVudC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvb2Zfb3ZlcmxheS5jIGIvY29tbWFuZHMv b2Zfb3ZlcmxheS5jCmluZGV4IGRlM2MzZGNlZTUwZS4uYWE0YjY0ODRjYTFiIDEwMDY0NAotLS0g YS9jb21tYW5kcy9vZl9vdmVybGF5LmMKKysrIGIvY29tbWFuZHMvb2Zfb3ZlcmxheS5jCkBAIC0x LDE5ICsxLDUgQEAKLS8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCi0vKgotICog Q29weXJpZ2h0IChjKSAyMDE5IE1pY2hhZWwgVHJldHRlciA8bS50cmV0dGVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBl b3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIw MTkgTWljaGFlbCBUcmV0dGVyIDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25p eAogCiAjaW5jbHVkZSA8Y29tbWFuZC5oPgogI2luY2x1ZGUgPGNvbW1vbi5oPgpkaWZmIC0tZ2l0 IGEvY29tbWFuZHMvb2ZfcHJvcGVydHkuYyBiL2NvbW1hbmRzL29mX3Byb3BlcnR5LmMKaW5kZXgg MWQ3YmExODFkNWYwLi4zZDUwOTcxNjViNTkgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL29mX3Byb3Bl cnR5LmMKKysrIGIvY29tbWFuZHMvb2ZfcHJvcGVydHkuYwpAQCAtMSwyMSArMSw3IEBACi0vKgot ICogb2ZfcHJvcGVydHkuYyAtIGRldmljZSB0cmVlIHByb3BlcnR5IGhhbmRsaW5nIHN1cHBvcnQK LSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTMgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDEzIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4CisKKy8qIG9mX3Byb3BlcnR5LmMgLSBkZXZpY2UgdHJlZSBwcm9wZXJ0eSBoYW5kbGluZyBz dXBwb3J0ICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxlbnZpcm9ubWVudC5o PgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvb2Z0cmVlLmMgYi9jb21tYW5kcy9vZnRyZWUuYwppbmRl eCAyOTljMmVkZmNkMDAuLjFkOTAyZjI4MzAyMSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvb2Z0cmVl LmMKKysrIGIvY29tbWFuZHMvb2Z0cmVlLmMKQEAgLTEsMjYgKzEsMTQgQEAKKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9u aXgKKwogLyoKICAqIG9mdHJlZS5jIC0gZGV2aWNlIHRyZWUgY29tbWFuZCBzdXBwb3J0CiAgKgot ICogQ29weXJpZ2h0IChjKSAyMDExIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4sIFBlbmd1dHJvbml4Ci0gKgogICogYmFzZWQgb24gVS1Cb290IGNvZGUgYnk6CiAgKgogICog R2VyYWxkIFZhbiBCYXJlbiwgQ3VzdG9tIElERUFTLCB2YW5iYXJlbkBjaWRlYXMuY29tCiAgKiBQ YW50ZWxpcyBBbnRvbmlvdSA8cGFudGVsaXMuYW50b25pb3VAZ21haWwuY29tPiBhbmQKICAqIE1h dHRoZXcgTWNDbGludG9jayA8bXNtQGZyZWVzY2FsZS5jb20+Ci0gKgotICogU2VlIGZpbGUgQ1JF RElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2pl Y3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoK ICAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9wYXJ0aXRp b24uYyBiL2NvbW1hbmRzL3BhcnRpdGlvbi5jCmluZGV4IDY0Y2NhZjA4MTNkMi4uNDRlZTAzNTli Zjg3IDEwMDY0NAotLS0gYS9jb21tYW5kcy9wYXJ0aXRpb24uYworKysgYi9jb21tYW5kcy9wYXJ0 aXRpb24uYwpAQCAtMSwyMSArMSw5IEBACisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVl ciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKIC8qCiAgKiBwYXJ0aXRp b24uYyAtIHBhcnNlIGEgbGludXgtbGlrZSBtdGQgcGFydGl0aW9uIGRlZmluaXRpb24gYW5kIHJl Z2lzdGVyCiAgKiAgICAgICAgICAgICAgIHRoZSBuZXcgcGFydGl0aW9ucwotICoKLSAqIENvcHly aWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNp b24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0g KgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCiAgKi8KIAogLyoqCmRpZmYgLS1naXQgYS9jb21t YW5kcy9wYXNzd2QuYyBiL2NvbW1hbmRzL3Bhc3N3ZC5jCmluZGV4IDZmNjg3MDBjMjU3Ni4uZGZj YzYzNjIzYTdmIDEwMDY0NAotLS0gYS9jb21tYW5kcy9wYXNzd2QuYworKysgYi9jb21tYW5kcy9w YXNzd2QuYwpAQCAtMSwxOSArMSw1IEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDA4LTIwMTAg SmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4K LSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0 ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAq IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA4LTIwMTAgSmVhbi1D aHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KIAogI2lu Y2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdpdCBhL2NvbW1h bmRzL3Bvd2Vyb2ZmLmMgYi9jb21tYW5kcy9wb3dlcm9mZi5jCmluZGV4IGJiYWZhMTNiZDBmZS4u OTMyMGMwN2E2YzVmIDEwMDY0NAotLS0gYS9jb21tYW5kcy9wb3dlcm9mZi5jCisrKyBiL2NvbW1h bmRzL3Bvd2Vyb2ZmLmMKQEAgLTEsMjEgKzEsNyBAQAotLyoKLSAqIHBvd2Vyb2ZmLmMgLSB0dXJu IGJvYXJkJ3MgcG93ZXIgb2ZmCi0gKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFudG9ueSBQYXZs b3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgotICoKLSAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9m IGJhcmVib3guCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29u dHJpYnV0ZWQgdG8gdGhpcyBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgot ICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgQW50b255IFBh dmxvdiA8YW50b255bnBhdmxvdkBnbWFpbC5jb20+CisKKy8qIHBvd2Vyb2ZmLmMgLSB0dXJuIGJv YXJkJ3MgcG93ZXIgb2ZmICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21t YW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9wcmludGVudi5jIGIvY29tbWFuZHMvcHJpbnRl bnYuYwppbmRleCAxNjFjMjE0NDYyNzkuLmZmZTQ2M2U2NTQ0MCAxMDA2NDQKLS0tIGEvY29tbWFu ZHMvcHJpbnRlbnYuYworKysgYi9jb21tYW5kcy9wcmludGVudi5jCkBAIC0xLDE5ICsxLDUgQEAK LS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4CiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1n aXQgYS9jb21tYW5kcy9wd2QuYyBiL2NvbW1hbmRzL3B3ZC5jCmluZGV4IGQ1ZGQxNjE5MzE3Yi4u N2ExZmU5N2M0MGFmIDEwMDY0NAotLS0gYS9jb21tYW5kcy9wd2QuYworKysgYi9jb21tYW5kcy9w d2QuYwpAQCAtMSwyMSArMSw4IEBACi0vKgotICogcHdkLmMgLSBwcmludCB3b3JraW5nIGRpcmVj dG9yeQotICoKLSAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxp c3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVu Z3V0cm9uaXgKKworLyogcHdkLmMgLSBwcmludCB3b3JraW5nIGRpcmVjdG9yeSAqLworCiAjaW5j bHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgogI2luY2x1ZGUgPGNvbXBsZXRl Lmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9yZWFkbGluZS5jIGIvY29tbWFuZHMvcmVhZGxpbmUu YwppbmRleCBiNmUwZTNlMDkxM2IuLmVmNTRiNWU5MmYyMCAxMDA2NDQKLS0tIGEvY29tbWFuZHMv cmVhZGxpbmUuYworKysgYi9jb21tYW5kcy9yZWFkbGluZS5jCkBAIC0xLDIxICsxLDUgQEAKLS8q Ci0gKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwMwotICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0 d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZv ciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAq Ci0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yCi0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91 ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0g KgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwMC0yMDAzIFdvbGZnYW5nIERlbmsgPHdkQGRl bnguZGU+LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nCiAKICNpbmNsdWRlIDxjb21tb24uaD4K ICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9yZWFkbGluay5jIGIv Y29tbWFuZHMvcmVhZGxpbmsuYwppbmRleCAyZGZhNTY2Njc1ZjEuLmZkY2YxNzVmNTZiYiAxMDA2 NDQKLS0tIGEvY29tbWFuZHMvcmVhZGxpbmsuYworKysgYi9jb21tYW5kcy9yZWFkbGluay5jCkBA IC0xLDIxICsxLDcgQEAKLS8qCi0gKiByZWFkbGluay5jIC0gcmVhZCB2YWx1ZSBvZiBhIHN5bWJv bGljIGxpbmsKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdO SU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KLSAqCi0gKiBTZWUgZmlsZSBDUkVE SVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVj dC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot ICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJE IDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CisKKy8qIHJlYWRsaW5rLmMgLSByZWFkIHZhbHVlIG9m IGEgc3ltYm9saWMgbGluayAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29t bWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvcmVnaW5mby5jIGIvY29tbWFuZHMvcmVnaW5m by5jCmluZGV4IDM3ODE2Y2IyNjEzMy4uYmQ0NmNmMTVlN2RlIDEwMDY0NAotLS0gYS9jb21tYW5k cy9yZWdpbmZvLmMKKysrIGIvY29tbWFuZHMvcmVnaW5mby5jCkBAIC0xLDIxICsxLDcgQEAKLS8q Ci0gKiByZWdpbmZvLmMgLSBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBTb0Mgc3BlY2lmYyByZWdp c3RlcnMKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBl bmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBs aXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0 aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBl bmd1dHJvbml4CisKKy8qIHJlZ2luZm8uYyAtIHByaW50IGluZm9ybWF0aW9uIGFib3V0IFNvQyBz cGVjaWZjIHJlZ2lzdGVycyAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29t bWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvcmVndWxhdG9yLmMgYi9jb21tYW5kcy9yZWd1 bGF0b3IuYwppbmRleCBlMGI3MDRmODhhMjQuLjNlMjU5NWY4YmZjMSAxMDA2NDQKLS0tIGEvY29t bWFuZHMvcmVndWxhdG9yLmMKKysrIGIvY29tbWFuZHMvcmVndWxhdG9yLmMKQEAgLTEsMjEgKzEs OCBAQAotLyoKLSAqIHJlZ3VsYXRvciBjb21tYW5kCi0gKgotICogQ29weXJpZ2h0IChjKSAyMDE0 IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgot ICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRv IHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiByZWd1bGF0b3IgY29tbWFu ZCAqLworCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgogI2luY2x1 ZGUgPHJlZ3VsYXRvci5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvcmVzZXQuYyBiL2NvbW1hbmRz L3Jlc2V0LmMKaW5kZXggNmVhYzUzMjYyM2Y3Li4yYjEwZjFjZDE4M2EgMTAwNjQ0Ci0tLSBhL2Nv bW1hbmRzL3Jlc2V0LmMKKysrIGIvY29tbWFuZHMvcmVzZXQuYwpAQCAtMSwyMSArMSw3IEBACi0v KgotICogcmVzZXQuYyAtIHJlc2V0IHRoZSBjcHUKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMDcg U2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0g KiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8g dGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKKy8qIHJlc2V0LmMgLSByZXNldCB0 aGUgY3B1ICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRp ZmYgLS1naXQgYS9jb21tYW5kcy9ybS5jIGIvY29tbWFuZHMvcm0uYwppbmRleCA0ZWViYjNkMTU5 OTkuLmJhNTJiMTg1Y2IzNCAxMDA2NDQKLS0tIGEvY29tbWFuZHMvcm0uYworKysgYi9jb21tYW5k cy9ybS5jCkBAIC0xLDIxICsxLDggQEAKLS8qCi0gKiBybS5jIC0gcmVtb3ZlIGZpbGVzCi0gKgot ICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9w bGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAor CisvKiBybS5jIC0gcmVtb3ZlIGZpbGVzICovCisKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNs dWRlIDxjb21tYW5kLmg+CiAjaW5jbHVkZSA8ZnMuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3Nh dmVlbnYuYyBiL2NvbW1hbmRzL3NhdmVlbnYuYwppbmRleCBiYzEyMDJmOWExMWIuLjIwMzcyOWVm YmIxYSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvc2F2ZWVudi5jCisrKyBiL2NvbW1hbmRzL3NhdmVl bnYuYwpAQCAtMSwxOSArMSw1IEBACi0vKgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZp bGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAq IHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMg ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz LgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVk ZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvc2VlZC5jIGIvY29tbWFuZHMvc2Vl ZC5jCmluZGV4IGUzNzhjZDc2MzU0Ni4uMzk0NzIwODgzNGZmIDEwMDY0NAotLS0gYS9jb21tYW5k cy9zZWVkLmMKKysrIGIvY29tbWFuZHMvc2VlZC5jCkBAIC0xLDE2ICsxLDUgQEAKLS8qCi0gKiAo YykgMjAxNyBPbGVrc2lqIFJlbXBlbCA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQot ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqLworLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTcgT2xla3NpaiBSZW1wZWwgPGtlcm5lbEBwZW5ndXRyb25peC5k ZT4KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KZGlmZiAtLWdp dCBhL2NvbW1hbmRzL3NldGVudi5jIGIvY29tbWFuZHMvc2V0ZW52LmMKaW5kZXggYWY0ZGQyOWFj NDU3Li4zY2Y3NjlkMjRhNjggMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL3NldGVudi5jCisrKyBiL2Nv bW1hbmRzL3NldGVudi5jCkBAIC0xLDE5ICsxLDUgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIw MDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAq Ci0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFz IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIu MC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8 cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CiAKICNpbmNsdWRlIDxjb21tb24u aD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9zbGVlcC5jIGIv Y29tbWFuZHMvc2xlZXAuYwppbmRleCAyNDkxZGMyNjFkYmQuLmI0NjJlZjQ0MTM5NSAxMDA2NDQK LS0tIGEvY29tbWFuZHMvc2xlZXAuYworKysgYi9jb21tYW5kcy9zbGVlcC5jCkBAIC0xLDIxICsx LDcgQEAKLS8qCi0gKiBzbGVlcC5jIC0gZGVsYXkgZXhlY3V0aW9uCi0gKgotICogQ29weXJpZ2h0 IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRy aWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAy Ci0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAqCi0g KiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJl IHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCisvKiBzbGVlcC5j IC0gZGVsYXkgZXhlY3V0aW9uICovCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxj b21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9zbWMuYyBiL2NvbW1hbmRzL3NtYy5jCmlu ZGV4IDg0MTAyZjMyNDliYy4uMmE1M2UxYjY0NzUyIDEwMDY0NAotLS0gYS9jb21tYW5kcy9zbWMu YworKysgYi9jb21tYW5kcy9zbWMuYwpAQCAtMSw0ICsxLDQgQEAKLS8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1v bmx5CiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CmRpZmYgLS1n aXQgYS9jb21tYW5kcy9zcGRfZGVjb2RlLmMgYi9jb21tYW5kcy9zcGRfZGVjb2RlLmMKaW5kZXgg MDhiOTU4OTYyMjQ5Li5lOGVlMzM5YTkxYjIgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL3NwZF9kZWNv ZGUuYworKysgYi9jb21tYW5kcy9zcGRfZGVjb2RlLmMKQEAgLTEsMjUgKzEsMTAgQEAKKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisvLyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiDCqSAyMDE1IEFsZXhhbmRlciBTbWlybm92IDxhbGxsZWNzQHlhbmRleC5ydT4K KwogLyoKICAqIFRoaXMgcHJvZ3JhbSBpcyBkZWNvZGluZyBhbmQgcHJpbnRpbmcgU1BEIGNvbnRl bnRzCiAgKiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQKICAqIEFzIGFuIGFyZ3VtZW50IHByb2dy YW0sIHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGUgbmFtZS4KLSAqCi0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiBtb2Rp ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2 ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgIkFTIElTIgotICogQU5EIEFOWSBFWFBSRVNT IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0g KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT SEFMTCBBTFRFUkEgQ09SUE9SQVRJT04gQkUgTElBQkxFCi0gKiBGT1IgQU5ZIERJUkVDVCwgSU5E SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAot ICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G IFNVQlNUSVRVVEUgR09PRFMgT1IKLSAqIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCi0gKiBDQVVTRUQgQU5E IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg TElBQklMSVRZLAotICogT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GCi0gKiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKgot ICogQ29weXJpZ2h0IChDKSAyMDE1IEFsZXhhbmRlciBTbWlybm92IDxhbGxsZWNzQHlhbmRleC5y dT4KICAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9zcGku YyBiL2NvbW1hbmRzL3NwaS5jCmluZGV4IGQzNWFhMWNkODFjOS4uYzZjZmQ0ZmJiYTc4IDEwMDY0 NAotLS0gYS9jb21tYW5kcy9zcGkuYworKysgYi9jb21tYW5kcy9zcGkuYwpAQCAtMSw5ICsxLDUg QEAKLS8qCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJ TExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KLSAqCi0gKiBVbmRlciBHUEx2MiBvbmx5Ci0g KgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERY LUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxM QVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+CiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNs dWRlIDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy9zdGF0ZS5jIGIvY29tbWFuZHMv c3RhdGUuYwppbmRleCAwZGJjYTlmM2I3ODMuLmU3Y2I5OTAyZjcxYSAxMDA2NDQKLS0tIGEvY29t bWFuZHMvc3RhdGUuYworKysgYi9jb21tYW5kcy9zdGF0ZS5jCkBAIC0xLDE2ICsxLDUgQEAKLS8q Ci0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVAcGVuZ3V0cm9uaXgu ZGU+Ci0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICog KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgor Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKYW4gTHVlYmJlIDxqLmx1ZWJiZUBw ZW5ndXRyb25peC5kZT4KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGdldG9wdC5o PgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvc3RkZGV2LmMgYi9jb21tYW5kcy9zdGRkZXYuYwppbmRl eCAyYjNkMDg0YzgzNTMuLmU5YjdkY2MwZDJmMyAxMDA2NDQKLS0tIGEvY29tbWFuZHMvc3RkZGV2 LmMKKysrIGIvY29tbWFuZHMvc3RkZGV2LmMKQEAgLTEsMTkgKzEsNSBAQAotLyoKLSAqIENvcHly aWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAotICoKLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNp b24gMgotICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0g KgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKIAogI2luY2x1 ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGluaXQuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3Rl c3QuYyBiL2NvbW1hbmRzL3Rlc3QuYwppbmRleCA4NjYzNmRlMWMyODMuLjUwNWI3YzU2YjFhNCAx MDA2NDQKLS0tIGEvY29tbWFuZHMvdGVzdC5jCisrKyBiL2NvbW1hbmRzL3Rlc3QuYwpAQCAtMSwy MyArMSwxMSBAQAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAorCiAvKgogICogdGVzdC5jIC0gc2ggbGlrZSB0ZXN0 CiAgKgotICogT3JpZ2luYWxseSBiYXNlZCBvbiBiYXJlYm94cyBkb190ZXN0LCBidXQgbW9zdGx5 IHJlaW1wbGVtZW50ZWQKKyAqIE9yaWdpbmFsbHkgYmFzZWQgb24gYmFyZWJveCdzIGRvX3Rlc3Qs IGJ1dCBtb3N0bHkgcmVpbXBsZW1lbnRlZAogICogZm9yIHNtYWxsZXIgYmluYXJ5IHNpemUKLSAq Ci0gKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBl b3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgogICovCiAjaW5jbHVkZSA8Y29t bW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdGZ0cC5j IGIvY29tbWFuZHMvdGZ0cC5jCmluZGV4IDA4MzY2YjQ3NmY4Yy4uMTU2OTgxOTg0NGJmIDEwMDY0 NAotLS0gYS9jb21tYW5kcy90ZnRwLmMKKysrIGIvY29tbWFuZHMvdGZ0cC5jCkBAIC0xLDIwICsx LDggQEAKLS8qCi0gKiB0ZnRwLmMgLSAodXApbG9hZCB0ZnRwIGZpbGVzCi0gKgotICogQ29weXJp Z2h0IChjKSAyMDEyIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1 dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNv bnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKLSAqIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lv biAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KLSAq Ci0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKKy8qIHRmdHAuYyAt ICh1cClsb2FkIHRmdHAgZmlsZXMgKi8KKwogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUg PGNvbW1hbmQuaD4KICNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+CmRpZmYgLS1naXQgYS9jb21tYW5k cy90aW1lb3V0LmMgYi9jb21tYW5kcy90aW1lb3V0LmMKaW5kZXggZGI4ODkwMDI4N2ZjLi5iYTU1 ODQ2YzU1ODIgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL3RpbWVvdXQuYworKysgYi9jb21tYW5kcy90 aW1lb3V0LmMKQEAgLTEsMjEgKzEsNyBAQAotLyoKLSAqIHRpbWVvdXQgLSB3YWl0IGZvciB0aW1l b3V0Ci0gKgotICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5n dXRyb25peC5kZT4sIFBlbmd1dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlz dCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICog VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu ZC9vciBtb2RpZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyCi0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQorLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAorCisvKiB0aW1lb3V0IC0gd2FpdCBmb3IgdGltZW91dCAqLwogCiAjaW5jbHVkZSA8 Y29tbWFuZC5oPgogI2luY2x1ZGUgPGVycm5vLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy90cmln Z2VyLmMgYi9jb21tYW5kcy90cmlnZ2VyLmMKaW5kZXggMGRkM2IzNDZmYWE2Li5jMTQwMmI2NmYw NDkgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL3RyaWdnZXIuYworKysgYi9jb21tYW5kcy90cmlnZ2Vy LmMKQEAgLTEsMjIgKzEsNyBAQAotLyoKLSAqIExFRCB0cmlnZ2VyIGNvbW1hbmQgc3VwcG9ydCBm b3IgYmFyZWJveAotICoKLSAqIChDKSBDb3B5cmlnaHQgMjAxMCBTYXNjaGEgSGF1ZXIsIFBlbmd1 dHJvbml4Ci0gKgotICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNv bnRyaWJ1dGVkIHRvIHRoaXMKLSAqIHByb2plY3QuCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKLSAq IHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lv biAyIG9mCi0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVy c2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICoKLSAqLworLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTAgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAorCisvKiBMRUQgdHJpZ2dlciBjb21t YW5kIHN1cHBvcnQgZm9yIGJhcmVib3ggKi8KIAogI2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1 ZGUgPGxlZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdHJ1ZS5jIGIvY29tbWFuZHMvdHJ1ZS5j CmluZGV4IGFkMmJlOGU4ZWIyMC4uYmU3NmNlNWQyMWE0IDEwMDY0NAotLS0gYS9jb21tYW5kcy90 cnVlLmMKKysrIGIvY29tbWFuZHMvdHJ1ZS5jCkBAIC0xLDIxICsxLDUgQEAKLS8qCi0gKiAoQykg Q29weXJpZ2h0IDIwMDAtMjAwMwotICogV29sZmdhbmcgRGVuaywgREVOWCBTb2Z0d2FyZSBFbmdp bmVlcmluZywgd2RAZGVueC5kZS4KLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y Ci0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcwotICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YKLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24p IGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogwqkgMjAwMC0yMDAzIFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+LCBE RU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nCiAKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRl IDxjb21tYW5kLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy91Ymlmb3JtYXQuYyBiL2NvbW1hbmRz L3ViaWZvcm1hdC5jCmluZGV4IDc1MzdlNmI1Njc4Yy4uNzVjZjIzNGUyZTU1IDEwMDY0NAotLS0g YS9jb21tYW5kcy91Ymlmb3JtYXQuYworKysgYi9jb21tYW5kcy91Ymlmb3JtYXQuYwpAQCAtMSwx NyArMSw2IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IE5va2lhIENvcnBvcmF0aW9uCi0g KiBDb3B5cmlnaHQgKEMpIDIwMTIgV29sZnJhbSBTYW5nLCBQZW5ndXRyb25peAotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKLSAqIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUKLSAqIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICovCisvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgorLy8gU1BEWC1GaWxlQ29weXJp Z2h0VGV4dDogwqkgMjAxMiBXb2xmcmFtIFNhbmcsIFBlbmd1dHJvbml4CiAKIC8qCiAgKiBBbiB1 dGlsaXR5IHRvIGZvcm1hdCBNVEQgZGV2aWNlcyBpbnRvIFVCSSBhbmQgZmxhc2ggVUJJIGltYWdl cy4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3Vic2FuLmMgYi9jb21tYW5kcy91YnNhbi5jCmluZGV4 IDc4NDY3OGQzOTlkOS4uNjIwYjQ3NzRjM2MyIDEwMDY0NAotLS0gYS9jb21tYW5kcy91YnNhbi5j CisrKyBiL2NvbW1hbmRzL3Vic2FuLmMKQEAgLTEsNCArMSw1IEBACi0vLyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogR1BMLTIuMAorLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b25seQorCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgogI2luY2x1 ZGUgPGFib3J0Lmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy91bW91bnQuYyBiL2NvbW1hbmRzL3Vt b3VudC5jCmluZGV4IGZkZjRkYTk1YTAyMS4uYjI2YzdjMzk0MmFiIDEwMDY0NAotLS0gYS9jb21t YW5kcy91bW91bnQuYworKysgYi9jb21tYW5kcy91bW91bnQuYwpAQCAtMSwyMSArMSw4IEBACi0v KgotICogdW1vdW50LmMgLSB1bW91bnQgZmlsZXN5c3RlbXMKLSAqCi0gKiBDb3B5cmlnaHQgKGMp IDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgK LSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0 ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQotICogaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAq IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgotICoKLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BM LTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVl ciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4CisKKy8qIHVtb3VudC5jIC0g dW1vdW50IGZpbGVzeXN0ZW1zICovCisKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxj b21tYW5kLmg+CiAjaW5jbHVkZSA8ZnMuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3VuY29tcHJl c3MuYyBiL2NvbW1hbmRzL3VuY29tcHJlc3MuYwppbmRleCAzOGQ1M2U3NDkxODkuLjEwODg0ZDY3 NWIzZCAxMDA2NDQKLS0tIGEvY29tbWFuZHMvdW5jb21wcmVzcy5jCisrKyBiL2NvbW1hbmRzL3Vu Y29tcHJlc3MuYwpAQCAtMSwyMSArMSw3IEBACi0vKgotICogdW5jb21wcmVzcy5jIC0gdW5jb21w cmVzcyBhIGNvbXByZXNzZWQgZmlsZQotICoKLSAqIENvcHlyaWdodCAoYykgMjAxMCBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBm aWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0g KiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTAgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBl bmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogdW5jb21wcmVzcy5jIC0gdW5jb21wcmVz cyBhIGNvbXByZXNzZWQgZmlsZSAqLwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8 Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdXNiLmMgYi9jb21tYW5kcy91c2IuYwpp bmRleCA5YTIzYWEyMjlkMWMuLmNhOGQzZTBkNTI0OCAxMDA2NDQKLS0tIGEvY29tbWFuZHMvdXNi LmMKKysrIGIvY29tbWFuZHMvdXNiLmMKQEAgLTEsMjEgKzEsOCBAQAotLyoKLSAqIHVzYi5jIC0g cmVzY2FuIGZvciBVU0IgZGV2aWNlcwotICoKLSAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAqIFNlZSBm aWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0g KiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBl bmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKworLyogdXNiLmMgLSByZXNjYW4gZm9yIFVTQiBk ZXZpY2VzICovCisKICNpbmNsdWRlIDxjb21tb24uaD4KICNpbmNsdWRlIDxjb21tYW5kLmg+CiAj aW5jbHVkZSA8Y29tcGxldGUuaD4KZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3VzYmdhZGdldC5jIGIv Y29tbWFuZHMvdXNiZ2FkZ2V0LmMKaW5kZXggZThlMWU5YWRhYzc5Li4xOTNkYTg2ZGVlNWQgMTAw NjQ0Ci0tLSBhL2NvbW1hbmRzL3VzYmdhZGdldC5jCisrKyBiL2NvbW1hbmRzL3VzYmdhZGdldC5j CkBAIC0xLDIzICsxLDkgQEAKLS8qCi0gKiB1c2JzZXJpYWwuYyAtIHVzYiBzZXJpYWwgZ2FkZ2V0 IGNvbW1hbmQKLSAqCi0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgRXJpYyBCw6luYXJkIDxlcmljQGV1 a3JlYS5jb20+LCBFdWtyw6lhIEVsZWN0cm9tYXRpcXVlCi0gKiBiYXNlZCBvbiBkZnUuYyB3aGlj aCBpcyA6Ci0gKiBDb3B5cmlnaHQgKGMpIDIwMDkgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1 dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKLSAqCi0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0 IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwotICogcHJvamVjdC4KLSAqCi0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQotICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSB2ZXJzaW9uIDIKLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKLSAqIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICovCisvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5CisvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDA5IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1 dHJvbml4CisvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIEVyaWMgQsOpbmFyZCA8 ZXJpY0BldWtyZWEuY29tPiwgRXVrcsOpYSBFbGVjdHJvbWF0aXF1ZQorCisvKiB1c2JzZXJpYWwu YyAtIHVzYiBzZXJpYWwgZ2FkZ2V0IGNvbW1hbmQgKi8KKwogI2luY2x1ZGUgPGNvbW1vbi5oPgog I2luY2x1ZGUgPGNvbW1hbmQuaD4KICNpbmNsdWRlIDxlbnZpcm9ubWVudC5oPgpkaWZmIC0tZ2l0 IGEvY29tbWFuZHMvdXNic2VyaWFsLmMgYi9jb21tYW5kcy91c2JzZXJpYWwuYwppbmRleCBhZDZi YzYzZmNjOWIuLjU2NzAxOGMyMzM1YSAxMDA2NDQKLS0tIGEvY29tbWFuZHMvdXNic2VyaWFsLmMK KysrIGIvY29tbWFuZHMvdXNic2VyaWFsLmMKQEAgLTEsMjMgKzEsOSBAQAotLyoKLSAqIHVzYnNl cmlhbC5jIC0gdXNiIHNlcmlhbCBnYWRnZXQgY29tbWFuZAotICoKLSAqIENvcHlyaWdodCAoYykg MjAxMSBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLmNvbT4sIEV1a3LDqWEgRWxlY3Ryb21hdGlx dWUKLSAqIGJhc2VkIG9uIGRmdS5jIHdoaWNoIGlzIDoKLSAqIENvcHlyaWdodCAoYykgMjAwOSBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAotICoKLSAq IFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0 aGlzCi0gKiBwcm9qZWN0LgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Ci0gKiBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgotICogYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCi0gKgotICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgotICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KLSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDkgU2FzY2hhIEhhdWVyIDxzLmhh dWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTEgRXJpYyBCw6luYXJkIDxlcmljQGV1a3JlYS5jb20+LCBFdWtyw6lhIEVsZWN0 cm9tYXRpcXVlCisKKy8qIHVzYnNlcmlhbC5jIC0gdXNiIHNlcmlhbCBnYWRnZXQgY29tbWFuZCAq LworCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVkZSA8Y29tbWFuZC5oPgogI2luY2x1ZGUg PGVycm5vLmg+CmRpZmYgLS1naXQgYS9jb21tYW5kcy92ZXJzaW9uLmMgYi9jb21tYW5kcy92ZXJz aW9uLmMKaW5kZXggMDkwZjJkZDEzNmRlLi43NjRjMjA4NzY3MDMgMTAwNjQ0Ci0tLSBhL2NvbW1h bmRzL3ZlcnNpb24uYworKysgYi9jb21tYW5kcy92ZXJzaW9uLmMKQEAgLTEsMjEgKzEsNSBAQAot LyoKLSAqIChDKSBDb3B5cmlnaHQgMjAwMC0yMDAzCi0gKiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNv ZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgotICoKLSAqIFNlZSBmaWxlIENSRURJVFMg Zm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCi0gKiBwcm9qZWN0Lgot ICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzCi0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgotICogdGhlIExpY2Vuc2UsIG9yIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQotICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K LSAqCi0gKi8KKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCisv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPiwg REVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZwogCiAjaW5jbHVkZSA8Y29tbW9uLmg+CiAjaW5jbHVk ZSA8Y29tbWFuZC5oPgpkaWZmIC0tZ2l0IGEvY29tbWFuZHMvd2QuYyBiL2NvbW1hbmRzL3dkLmMK aW5kZXggODAyOWJhYjFjZTE5Li5jMTg2MjQ0YjJiM2EgMTAwNjQ0Ci0tLSBhL2NvbW1hbmRzL3dk LmMKKysrIGIvY29tbWFuZHMvd2QuYwpAQCAtMSwxNiArMSw1IEBACi0vKgotICogKGMpIDIwMTIg SnVlcmdlbiBCZWlzZXJ0IDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Ci0gKgotICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMgcHVibGlzaGVkIGJ5Ci0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgotICogKGF0IHlvdXIgb3B0aW9uKSBhbnkg bGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCi0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotICovCisvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgorLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAxMiBKdWVyZ2VuIEJlaXNlcnQgPGtlcm5lbEBwZW5ndXRyb25peC5kZT4KIAog I2luY2x1ZGUgPGNvbW1vbi5oPgogI2luY2x1ZGUgPGNvbW1hbmQuaD4KLS0gCjIuMjYuMC5yYzIK CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpiYXJlYm94 IG1haWxpbmcgbGlzdApiYXJlYm94QGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmlu ZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9iYXJlYm94Cg==