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 1jRWzA-0006ow-0C for barebox@lists.infradead.org; Thu, 23 Apr 2020 08:13:32 +0000 Date: Thu, 23 Apr 2020 10:13:24 +0200 From: Roland Hieber Message-ID: <20200423081324.tzfe67tx4ah7krnm@pengutronix.de> References: <20200421211545.32353-1-u.kleine-koenig@pengutronix.de> <20200421211545.32353-2-u.kleine-koenig@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20200421211545.32353-2-u.kleine-koenig@pengutronix.de> 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: Re: [PATCH v2 2/2] commands/*: Replace license and copyright boilerplate by SPDX identfiers To: Uwe =?utf-8?Q?Kleine-K=C3=B6nig?= Cc: barebox@lists.infradead.org, Ahmad Fatoum SXQncyBhbHJlYWR5IGFwcGxpZWQgbm93LCBidXQgZm9yIHRoZSBmdXR1cmUsIHN1Y2ggbGFyZ2Ug cGF0Y2hlcyBhcmUKcmVhbGx5IGVhc2llciB0byByZXZpZXcgd2hlbiB0aGV5IGRvIG9ubHkgb25l IHRoaW5nIGF0IGEgdGltZSAocmVwbGFjaW5nCnRoZSBib2lsZXJwbGF0ZSB3aXRoIGxpY2Vuc2Ug aWRlbnRpZmllcnMsIGNoYW5naW5nIGNvcHlyaWdodCB0YWdzLApjaGFuZ2luZyBvbGQgdG8gbmV3 IGlkZW50aWZpZXJzLCBhZGRpbmcgbmV3IGlkZW50aWZpZXJzIGV0Yy4pLgoKVGhhdCB0aGF0LCBJ IGNvdWxkbid0IGZpbmQgYW55IGVycm9ycywgYnV0IHRoYXQgZG9lc24ndCBtZWFuIHRoZXJlCmFy ZW4ndCBhbnkuIDopCgogLSBSb2xhbmQKCk9uIFR1ZSwgQXByIDIxLCAyMDIwIGF0IDExOjE1OjQ1 UE0gKzAyMDAsIFV3ZSBLbGVpbmUtS8O2bmlnIHdyb3RlOgo+IFdoaWxlIGF0IGl0IGFsc28gZHJv cCByZWZlcmVuY2VzIHRvIHRoZSBub24tZXhpc3RpbmcgQ1JFRElUUyBmaWxlIGFuZCBkbwo+IHNv bWUgc21hbGwgcmVhcnJhbmdlbWVudHMgZm9yIHNvbWUgdW5pZm9ybSBmb3JtYXR0aW5nLgo+IChT UERYLUxpY2Vuc2UtSWRlbnRpZmllciBmaXJzdCwgdGhlbiBjb3B5cmlnaHQgdGV4dHMgYW5kIHRo ZW4gYW4gZW1wdHkKPiBsaW5lLikKPiAKPiBUaGUgYWR2YW50YWdlIGlzIHRoYXQgdGhlc2Ugc3Bl Y2lmaWVycyBhcmUgbWFjaGluZS1wYXJzZWFibGUgd2hpY2ggaGVscHMKPiBsaWNlbnNlIGNvbmZv cm1hbmNlLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFV3ZSBLbGVpbmUtS8O2bmlnIDx1LmtsZWluZS1r b2VuaWdAcGVuZ3V0cm9uaXguZGU+Cj4gLS0tCj4gIGNvbW1hbmRzLzIwNDguYyAgICAgICAgICAg ICAgIHwgMzIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvYXV0 b21vdW50LmMgICAgICAgICAgfCAyMiArKysrKy0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRz L2JhcmVib3gtdXBkYXRlLmMgICAgIHwgMjIgKysrKystLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21t YW5kcy9iYXNlbmFtZS5jICAgICAgICAgICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAg Y29tbWFuZHMvYmxvYmdlbi5jICAgICAgICAgICAgfCAgMyArKy0KPiAgY29tbWFuZHMvYm9vdC5j ICAgICAgICAgICAgICAgfCAxMyArLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2Jvb3RjaG9vc2Vy LmMgICAgICAgIHwgMTcgKysrLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvYm9vdG0uYyAgICAg ICAgICAgICAgfCAyMCArKy0tLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9jYXQuYyAgICAg ICAgICAgICAgICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9jZC5jICAgICAg ICAgICAgICAgICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvY2xlYXIu YyAgICAgICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2Nt cC5jICAgICAgICAgICAgICAgIHwgMjAgKysrLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMv Y3AuYyAgICAgICAgICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1h bmRzL2NyYy5jICAgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ICBj b21tYW5kcy9kZWZhdWx0ZW52LmMgICAgICAgICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBj b21tYW5kcy9kZXRlY3QuYyAgICAgICAgICAgICB8IDIzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL2RldmluZm8uYyAgICAgICAgICAgIHwgMTYgKystLS0tLS0tLS0tLS0tLQo+ ICBjb21tYW5kcy9kZnUuYyAgICAgICAgICAgICAgICB8IDIzICsrKysrLS0tLS0tLS0tLS0tLS0t LS0tCj4gIGNvbW1hbmRzL2RoY3AuYyAgICAgICAgICAgICAgIHwgIDkgKysrLS0tLS0tCj4gIGNv bW1hbmRzL2RocnlzdG9uZS5jICAgICAgICAgIHwgMTQgKysrLS0tLS0tLS0tLS0KPiAgY29tbWFu ZHMvZGlnZXN0LmMgICAgICAgICAgICAgfCAgNyArKy0tLS0tCj4gIGNvbW1hbmRzL2Rpcm5hbWUu YyAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9kbWVz Zy5jICAgICAgICAgICAgICB8IDIzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRz L2RydmluZm8uYyAgICAgICAgICAgIHwgMTggKysrLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRz L2VjaG8uYyAgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21t YW5kcy9lZGl0LmMgICAgICAgICAgICAgICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21t YW5kcy9leGVjLmMgICAgICAgICAgICAgICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAg Y29tbWFuZHMvZXhwb3J0LmMgICAgICAgICAgICAgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0KPiAg Y29tbWFuZHMvZmFsc2UuYyAgICAgICAgICAgICAgfCAyMCArKy0tLS0tLS0tLS0tLS0tLS0tLQo+ ICBjb21tYW5kcy9maWxldHlwZS5jICAgICAgICAgICB8ICA3ICsrLS0tLS0KPiAgY29tbWFuZHMv ZmlybXdhcmVsb2FkLmMgICAgICAgfCAxNCArKy0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9mbGFz aC5jICAgICAgICAgICAgICB8IDI0ICsrKystLS0tLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5k cy9nbG9iYWwuYyAgICAgICAgICAgICB8IDIzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNv bW1hbmRzL2dvLmMgICAgICAgICAgICAgICAgIHwgMjQgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL2dwaW8uYyAgICAgICAgICAgICAgIHwgMTMgKy0tLS0tLS0tLS0tLQo+ICBj b21tYW5kcy9oYWIuYyAgICAgICAgICAgICAgICB8IDExICstLS0tLS0tLS0tCj4gIGNvbW1hbmRz L2hhc2hzdW0uYyAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21t YW5kcy9oZWxwLmMgICAgICAgICAgICAgICB8IDIwICsrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNv bW1hbmRzL2kyYy5jICAgICAgICAgICAgICAgIHwgMjAgKysrKy0tLS0tLS0tLS0tLS0tLS0KPiAg Y29tbWFuZHMvaW1kLmMgICAgICAgICAgICAgICAgfCAxOSArKy0tLS0tLS0tLS0tLS0tLS0tCj4g IGNvbW1hbmRzL2lvbWVtcG9ydC5jICAgICAgICAgIHwgMjIgKysrKystLS0tLS0tLS0tLS0tLS0t LQo+ICBjb21tYW5kcy9pcC1yb3V0ZS1nZXQuYyAgICAgICB8IDExICstLS0tLS0tLS0tCj4gIGNv bW1hbmRzL2xlZC5jICAgICAgICAgICAgICAgIHwgMjMgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0K PiAgY29tbWFuZHMvbGV0LmMgICAgICAgICAgICAgICAgfCAyMCArKysrLS0tLS0tLS0tLS0tLS0t LQo+ICBjb21tYW5kcy9saW51eDE2LmMgICAgICAgICAgICB8IDE3ICsrKy0tLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL2xpbnV4X2V4ZWMuYyAgICAgICAgIHwgMTggKystLS0tLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL2xuLmMgICAgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0t LS0tLQo+ICBjb21tYW5kcy9sb2FkYi5jICAgICAgICAgICAgICB8IDIwICsrLS0tLS0tLS0tLS0t LS0tLS0tCj4gIGNvbW1hbmRzL2xvYWRlbnYuYyAgICAgICAgICAgIHwgMTggKystLS0tLS0tLS0t LS0tLS0tCj4gIGNvbW1hbmRzL2xvYWRzLmMgICAgICAgICAgICAgIHwgMjUgKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9sb2FkeHkuYyAgICAgICAgICAgICB8IDIwICsrKy0t LS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2xvZ2luLmMgICAgICAgICAgICAgIHwgMTggKyst LS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL2xzLmMgICAgICAgICAgICAgICAgIHwgMjIgKysr Ky0tLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9sc3BjaS5jICAgICAgICAgICAgICB8IDE4 ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tZC5jICAgICAgICAgICAgICAgICB8IDE4 ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tZW1jbXAuYyAgICAgICAgICAgICB8IDE4 ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tZW1jcHkuYyAgICAgICAgICAgICB8IDE4 ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tZW1pbmZvLmMgICAgICAgICAgICB8IDIz ICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21lbXNldC5jICAgICAgICAgICAg IHwgMTggKystLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21lbXRlc3QuYyAgICAgICAgICAg IHwgMjQgKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21lbnUuYyAgICAgICAg ICAgICAgIHwgMTkgKystLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9tZW51dHJlZS5jICAg ICAgICAgICB8IDEyICsrLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9taWl0b29sLmMgICAgICAgICAg ICB8IDE5ICsrKy0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbWtkaXIuYyAgICAgICAgICAg ICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21tLmMgICAgICAgICAg ICAgICAgIHwgMTggKystLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21tY19leHRjc2QuYyAg ICAgICAgIHwgMjAgKysrKy0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbW91bnQuYyAgICAg ICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL21zbGVlcC5j ICAgICAgICAgICAgIHwgMTUgKysrLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL213LmMgICAgICAg ICAgICAgICAgIHwgMTggKystLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL25hbmQtYml0Zmxp cC5jICAgICAgIHwgMTEgKy0tLS0tLS0tLS0KPiAgY29tbWFuZHMvbmFuZC5jICAgICAgICAgICAg ICAgfCAxOSArKystLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL25hbmR0ZXN0LmMgICAgICAg ICAgIHwgMTIgKystLS0tLS0tLS0tCj4gIGNvbW1hbmRzL252LmMgICAgICAgICAgICAgICAgIHwg MjMgKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvb2ZfZGlmZi5jICAgICAgICAg ICAgfCAxMSArKysrLS0tLS0tLQo+ICBjb21tYW5kcy9vZl9kaXNwbGF5X3RpbWluZ3MuYyB8IDIx ICsrKystLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9vZl9kdW1wLmMgICAgICAgICAgICB8 IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvb2ZfZml4dXBfc3RhdHVzLmMg ICAgfCAyMCArKysrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9vZl9ub2RlLmMgICAgICAg ICAgICB8IDIyICsrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvb2Zfb3ZlcmxheS5j ICAgICAgICAgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvb2ZfcHJvcGVydHku YyAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL29mdHJlZS5j ICAgICAgICAgICAgIHwgMTggKysrLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3BhcnRpdGlv bi5jICAgICAgICAgIHwgMTggKysrLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3Bhc3N3ZC5j ICAgICAgICAgICAgIHwgMTggKystLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3Bvd2Vyb2Zm LmMgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9wcmlu dGVudi5jICAgICAgICAgICB8IDE4ICsrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9wd2Qu YyAgICAgICAgICAgICAgICB8IDIzICsrKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRz L3JlYWRsaW5lLmMgICAgICAgICAgIHwgMjAgKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFu ZHMvcmVhZGxpbmsuYyAgICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNv bW1hbmRzL3JlZ2luZm8uYyAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0tLS0tLS0tLQo+ ICBjb21tYW5kcy9yZWd1bGF0b3IuYyAgICAgICAgICB8IDIzICsrKysrLS0tLS0tLS0tLS0tLS0t LS0tCj4gIGNvbW1hbmRzL3Jlc2V0LmMgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0tLS0tLS0t LS0tLS0tLQo+ICBjb21tYW5kcy9ybS5jICAgICAgICAgICAgICAgICB8IDIzICsrKysrLS0tLS0t LS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3NhdmVlbnYuYyAgICAgICAgICAgIHwgMTggKystLS0t LS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3NlZWQuYyAgICAgICAgICAgICAgIHwgMTUgKystLS0t LS0tLS0tLS0tCj4gIGNvbW1hbmRzL3NldGVudi5jICAgICAgICAgICAgIHwgMTggKystLS0tLS0t LS0tLS0tLS0tCj4gIGNvbW1hbmRzL3NsZWVwLmMgICAgICAgICAgICAgIHwgMjIgKysrKy0tLS0t LS0tLS0tLS0tLS0tLQo+ICBjb21tYW5kcy9zbWMuYyAgICAgICAgICAgICAgICB8ICAyICstCj4g IGNvbW1hbmRzL3NwZF9kZWNvZGUuYyAgICAgICAgIHwgMjEgKysrLS0tLS0tLS0tLS0tLS0tLS0t Cj4gIGNvbW1hbmRzL3NwaS5jICAgICAgICAgICAgICAgIHwgIDggKystLS0tLS0KPiAgY29tbWFu ZHMvc3RhdGUuYyAgICAgICAgICAgICAgfCAxNSArKy0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMv c3RkZGV2LmMgICAgICAgICAgICAgfCAxOCArKy0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMv dGVzdC5jICAgICAgICAgICAgICAgfCAyMCArKysrLS0tLS0tLS0tLS0tLS0tLQo+ICBjb21tYW5k cy90ZnRwLmMgICAgICAgICAgICAgICB8IDIyICsrKysrLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29t bWFuZHMvdGltZW91dC5jICAgICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4g IGNvbW1hbmRzL3RyaWdnZXIuYyAgICAgICAgICAgIHwgMjMgKysrKy0tLS0tLS0tLS0tLS0tLS0t LS0KPiAgY29tbWFuZHMvdHJ1ZS5jICAgICAgICAgICAgICAgfCAyMCArKy0tLS0tLS0tLS0tLS0t LS0tLQo+ICBjb21tYW5kcy91Ymlmb3JtYXQuYyAgICAgICAgICB8IDE3ICsrKy0tLS0tLS0tLS0t LS0tCj4gIGNvbW1hbmRzL3Vic2FuLmMgICAgICAgICAgICAgIHwgIDMgKystCj4gIGNvbW1hbmRz L3Vtb3VudC5jICAgICAgICAgICAgIHwgMjMgKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29t bWFuZHMvdW5jb21wcmVzcy5jICAgICAgICAgfCAyMiArKysrLS0tLS0tLS0tLS0tLS0tLS0tCj4g IGNvbW1hbmRzL3VzYi5jICAgICAgICAgICAgICAgIHwgMjMgKysrKystLS0tLS0tLS0tLS0tLS0t LS0KPiAgY29tbWFuZHMvdXNiZ2FkZ2V0LmMgICAgICAgICAgfCAyNiArKysrKystLS0tLS0tLS0t LS0tLS0tLS0tLQo+ICBjb21tYW5kcy91c2JzZXJpYWwuYyAgICAgICAgICB8IDI2ICsrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gIGNvbW1hbmRzL3ZlcnNpb24uYyAgICAgICAgICAgIHwgMjAg KystLS0tLS0tLS0tLS0tLS0tLS0KPiAgY29tbWFuZHMvd2QuYyAgICAgICAgICAgICAgICAgfCAx NSArKy0tLS0tLS0tLS0tLS0KPiAgMTE1IGZpbGVzIGNoYW5nZWQsIDM2NSBpbnNlcnRpb25zKCsp LCAxODA5IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy8yMDQ4LmMgYi9j b21tYW5kcy8yMDQ4LmMKPiBpbmRleCA4NjU4MDNhNWE2MTYuLjNhZDljMGYzYWUzNyAxMDA2NDQK PiAtLS0gYS9jb21tYW5kcy8yMDQ4LmMKPiArKysgYi9jb21tYW5kcy8yMDQ4LmMKPiBAQCAtMSwz MSArMSw3IEBACj4gLS8qCj4gLSAqIFRoZSBNSVQgTGljZW5zZSAoTUlUKQo+IC0gKgo+IC0gKiBD b3B5cmlnaHQgKGMpIDIwMTQgTWF1cml0cyB2YW4gZGVyIFNjaGVlCj4gLSAqCj4gLSAqIFBlcm1p c3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9i dGFpbmluZyBhIGNvcHkKPiAtICogb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1 bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksIHRvIGRlYWwKPiAtICogaW4gdGhlIFNv ZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24g dGhlIHJpZ2h0cwo+IC0gKiB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRp c3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vciBzZWxsCj4gLSAqIGNvcGllcyBvZiB0aGUgU29m dHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcwo+IC0g KiBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25z Ogo+IC0gKgo+IC0gKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNz aW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwKPiAtICogY29waWVzIG9yIHN1YnN0 YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS4KPiAtICoKPiAtICogVEhFIFNPRlRXQVJF IElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJF U1MgT1IKPiAtICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FS UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCj4gLSAqIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRQo+IC0g KiBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBE QU1BR0VTIE9SIE9USEVSCj4gLSAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0Yg Q09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sCj4gLSAqIE9VVCBPRiBP UiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVB TElOR1MgSU4gVEhFCj4gLSAqCj4gLSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAtICogTmFtZSAg ICAgICAgOiAyMDQ4LmMKPiAtICogQXV0aG9yICAgICAgOiBNYXVyaXRzIHZhbiBkZXIgU2NoZWUK PiAtICogRGVzY3JpcHRpb24gOiBDb25zb2xlIHZlcnNpb24gb2YgdGhlIGdhbWUgIjIwNDgiIGZv ciBHTlUvTGludXgKPiAtICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0gKi8KPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IE1JVAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAy MDE0IE1hdXJpdHMgdmFuIGRlciBTY2hlZQo+ICsKPiArLyogQ29uc29sZSB2ZXJzaW9uIG9mIHRo ZSBnYW1lICIyMDQ4IiBmb3IgR05VL0xpbnV4ICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+ Cj4gICNpbmNsdWRlIDxyZWFka2V5Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2F1dG9tb3Vu dC5jIGIvY29tbWFuZHMvYXV0b21vdW50LmMKPiBpbmRleCBhNzE0MzBjOWVmNTcuLmQyYjNhMmQ1 NmUwOSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9hdXRvbW91bnQuYwo+ICsrKyBiL2NvbW1hbmRz L2F1dG9tb3VudC5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+IC0vKgo+IC0gKiBhdXRvbW91bnQuYyAt IGF1dG9tb3VudCBkZXZpY2VzCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxMiBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBT ZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhp cwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0g KiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAx MiBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsK PiArLyogYXV0b21vdW50LmMgLSBhdXRvbW91bnQgZGV2aWNlcyAqLwo+ICsKPiAgI2luY2x1ZGUg PGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8ZnMuaD4KPiBk aWZmIC0tZ2l0IGEvY29tbWFuZHMvYmFyZWJveC11cGRhdGUuYyBiL2NvbW1hbmRzL2JhcmVib3gt dXBkYXRlLmMKPiBpbmRleCA1M2FmMmE4NTExMzcuLjRiMjM0MzNlODRmMiAxMDA2NDQKPiAtLS0g YS9jb21tYW5kcy9iYXJlYm94LXVwZGF0ZS5jCj4gKysrIGIvY29tbWFuZHMvYmFyZWJveC11cGRh dGUuYwo+IEBAIC0xLDIwICsxLDggQEAKPiAtLyoKPiAtICogYmFyZWJveC11cGRhdGUuYyAtIHVw ZGF0ZSBiYXJlYm94Cj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxMiBTYXNjaGEgSGF1ZXIg PHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmls ZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0g KiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBw dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2Vm dWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBTYXNj aGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyog YmFyZWJveC11cGRhdGUuYyAtIHVwZGF0ZSBiYXJlYm94ICovCj4gKwo+ICAjaW5jbHVkZSA8Y29t bW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gICNpbmNsdWRlIDxsaWJmaWxlLmg+Cj4g ZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2Jhc2VuYW1lLmMgYi9jb21tYW5kcy9iYXNlbmFtZS5jCj4g aW5kZXggYzFhMjhlOWUxZGUwLi43ZGQ5YmEyYTdhYzggMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMv YmFzZW5hbWUuYwo+ICsrKyBiL2NvbW1hbmRzL2Jhc2VuYW1lLmMKPiBAQCAtMSwyMSArMSw3IEBA Cj4gLS8qCj4gLSAqIGJhc2VuYW1lLmMgLSBzdHJpcCBkaXJlY3RvcnkgYW5kIHN1ZmZpeCBmcm9t IGZpbGVuYW1lcwo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTIgU2FzY2hhIEhhdWVyIDxz LmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUg Q1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICog cHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIg U2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiArCj4g Ky8qIGJhc2VuYW1lLmMgLSBzdHJpcCBkaXJlY3RvcnkgYW5kIHN1ZmZpeCBmcm9tIGZpbGVuYW1l cyAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ IGRpZmYgLS1naXQgYS9jb21tYW5kcy9ibG9iZ2VuLmMgYi9jb21tYW5kcy9ibG9iZ2VuLmMKPiBp bmRleCA0OTEwN2QwMzdjNmIuLjhmZjJjYzJjMTE0MiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9i bG9iZ2VuLmMKPiArKysgYi9jb21tYW5kcy9ibG9iZ2VuLmMKPiBAQCAtMSw0ICsxLDUgQEAKPiAt Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5j bHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8Z2V0b3B0Lmg+Cj4gZGlmZiAtLWdpdCBhL2Nv bW1hbmRzL2Jvb3QuYyBiL2NvbW1hbmRzL2Jvb3QuYwo+IGluZGV4IGFhYTIwZmFhZTlkNC4uYWQy ZDgzYTE3OTEyIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2Jvb3QuYwo+ICsrKyBiL2NvbW1hbmRz L2Jvb3QuYwo+IEBAIC0xLDE1ICsxLDQgQEAKPiAtLyoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+ IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gIAo+ ICAjaW5jbHVkZSA8Z2xvYmFsdmFyLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAt LWdpdCBhL2NvbW1hbmRzL2Jvb3RjaG9vc2VyLmMgYi9jb21tYW5kcy9ib290Y2hvb3Nlci5jCj4g aW5kZXggYWM3NjNhNjU1Mzg1Li40NmIwNjNlMDI3ZGIgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMv Ym9vdGNob29zZXIuYwo+ICsrKyBiL2NvbW1hbmRzL2Jvb3RjaG9vc2VyLmMKPiBAQCAtMSwxNyAr MSw2IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykgMjAxMiBKYW4gTHVlYmJlIDxqLmx1ZWJi ZUBwZW5ndXRyb25peC5kZT4KPiAtICogQ29weXJpZ2h0IChDKSAyMDE1IE1hcmMgS2xlaW5lLUJ1 ZGRlIDxta2xAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVi bGlzaGVkIGJ5Cj4gLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJz aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4gLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIEphbiBMdWViYmUgPGoubHVlYmJlQHBlbmd1dHJvbml4 LmRlPgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE1IE1hcmMgS2xlaW5lLUJ1 ZGRlIDxta2xAcGVuZ3V0cm9uaXguZGU+Cj4gIAo+ICAjaW5jbHVkZSA8Ym9vdGNob29zZXIuaD4K PiAgI2luY2x1ZGUgPGdsb2JhbHZhci5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9ib290bS5j IGIvY29tbWFuZHMvYm9vdG0uYwo+IGluZGV4IDEwMGMyZTk5ZmIzZi4uZjU0YTQ4MjdlYmY1IDEw MDY0NAo+IC0tLSBhL2NvbW1hbmRzL2Jvb3RtLmMKPiArKysgYi9jb21tYW5kcy9ib290bS5jCj4g QEAgLTEsMjEgKzEsNSBAQAo+IC0vKgo+IC0gKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwNgo+IC0g KiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgo+ IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJp YnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Cj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwMC0yMDA2IFdvbGZnYW5nIERlbmsgPHdk QGRlbnguZGU+LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nCj4gIAo+ICAvKgo+ICAgKiBCb290 IHN1cHBvcnQKPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvY2F0LmMgYi9jb21tYW5kcy9jYXQuYwo+ IGluZGV4IGMwMTcxMGNmYWU0YS4uMTdjMzFlZDA4MzY4IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRz L2NhdC5jCj4gKysrIGIvY29tbWFuZHMvY2F0LmMKPiBAQCAtMSwxOSArMSw1IEBACj4gLS8qCj4g LSAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXgu ZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkK PiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1 ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICAKPiAgLyoqCj4gICAqIEBmaWxlCj4g ZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2NkLmMgYi9jb21tYW5kcy9jZC5jCj4gaW5kZXggNTYxMWU5 YTU5MGQyLi4wMjM4OTE5YmYyNmMgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvY2QuYwo+ICsrKyBi L2NvbW1hbmRzL2NkLmMKPiBAQCAtMSwyMSArMSw3IEBACj4gLS8qCj4gLSAqIGNkLmMgLSBjaGFu Z2Ugd29ya2luZyBkaXJlY3RvcnkKPiAtICoKPiAtICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2No YSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAq IFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0 aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3 YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVy IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4g LSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJv bml4Cj4gKwo+ICsvKiBjZC5jIC0gY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICovCj4gIAo+ICAv KioKPiAgICogQGZpbGUKPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvY2xlYXIuYyBiL2NvbW1hbmRz L2NsZWFyLmMKPiBpbmRleCAzYmUyMTE5ZGE0YTIuLjU2YzFkYTQ4ZjJhNSAxMDA2NDQKPiAtLS0g YS9jb21tYW5kcy9jbGVhci5jCj4gKysrIGIvY29tbWFuZHMvY2xlYXIuYwo+IEBAIC0xLDIxICsx LDcgQEAKPiAtLyoKPiAtICogY2xlYXIuYyAtIENsZWFyIHRoZSBzY3JlZW4KPiAtICoKPiAtICog Q29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4s IFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVv cGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0 d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0g Kgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsv LyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICsvKiBjbGVhci5jIC0gQ2xlYXIgdGhl IHNjcmVlbiAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFu ZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9jbXAuYyBiL2NvbW1hbmRzL2NtcC5jCj4gaW5k ZXggYzQ5Mzk4OGE3OGMwLi45MzdjZmFiNmMxZjMgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvY21w LmMKPiArKysgYi9jb21tYW5kcy9jbXAuYwo+IEBAIC0xLDIwICsxLDYgQEAKPiAtLyoKPiAtICog Y21wIC0gZGV0ZXJtaW5lIGlmIHR3byBmaWxlcyBkaWZmZXIKPiAtICoKPiAtICogU2VlIGZpbGUg Q1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICog cHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKwo+ICsvKiBjbXAgLSBkZXRlcm1p bmUgaWYgdHdvIGZpbGVzIGRpZmZlciAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAj aW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9jcC5jIGIvY29tbWFu ZHMvY3AuYwo+IGluZGV4IDg0NWRhZTZiMTU1MS4uNzE0NDhmOWFmZjZmIDEwMDY0NAo+IC0tLSBh L2NvbW1hbmRzL2NwLmMKPiArKysgYi9jb21tYW5kcy9jcC5jCj4gQEAgLTEsMjEgKzEsNyBAQAo+ IC0vKgo+IC0gKiBjcC5jIC0gY29weSBmaWxlcwo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIw MDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAt ICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1 dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJz aW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwg UGVuZ3V0cm9uaXgKPiArCj4gKy8qIGNwLmMgLSBjb3B5IGZpbGVzICovCj4gIAo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1h bmRzL2NyYy5jIGIvY29tbWFuZHMvY3JjLmMKPiBpbmRleCA1ODA1MjFkNjc3YzkuLjgwZWNmN2Zl Mjk5NyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9jcmMuYwo+ICsrKyBiL2NvbW1hbmRzL2NyYy5j Cj4gQEAgLTEsMjEgKzEsNyBAQAo+IC0vKgo+IC0gKiBjcmMuYyAtIENhbGN1bGF0ZSBhIGNyYzMy IGNoZWNrc3VtIG9mIGEgbWVtb3J5IGFyZWEKPiAtICoKPiAtICogQ29weXJpZ2h0IChjKSAyMDA3 IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAq Cj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRl ZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lv biAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBl bmd1dHJvbml4Cj4gKwo+ICsvKiBjcmMuYyAtIENhbGN1bGF0ZSBhIGNyYzMyIGNoZWNrc3VtIG9m IGEgbWVtb3J5IGFyZWEgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUg PGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZGVmYXVsdGVudi5jIGIvY29tbWFu ZHMvZGVmYXVsdGVudi5jCj4gaW5kZXggNDdiZGYyNmQxNDA1Li5jMTNkOWFhYWM3YzAgMTAwNjQ0 Cj4gLS0tIGEvY29tbWFuZHMvZGVmYXVsdGVudi5jCj4gKysrIGIvY29tbWFuZHMvZGVmYXVsdGVu di5jCj4gQEAgLTEsMTkgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTQgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAt ICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRv IHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIK PiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTQgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0 cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGdldG9wdC5oPgo+ IGRpZmYgLS1naXQgYS9jb21tYW5kcy9kZXRlY3QuYyBiL2NvbW1hbmRzL2RldGVjdC5jCj4gaW5k ZXggNDhiYWI0ZDAyMDE4Li43MGVjYTU3NTM3OWUgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvZGV0 ZWN0LmMKPiArKysgYi9jb21tYW5kcy9kZXRlY3QuYwo+IEBAIC0xLDIxICsxLDggQEAKPiAtLyoK PiAtICogZGV0ZWN0LmMgLSBkZXRlY3QgZGV2aWNlcyBjb21tYW5kCj4gLSAqCj4gLSAqIENvcHly aWdodCAoYykgMjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3 aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1v ZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5U QUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAt ICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAt ICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BE WC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0 cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogZGV0ZWN0LmMgLSBkZXRlY3QgZGV2aWNl cyBjb21tYW5kICovCj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21t YW5kLmg+Cj4gICNpbmNsdWRlIDxjb21wbGV0ZS5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9k ZXZpbmZvLmMgYi9jb21tYW5kcy9kZXZpbmZvLmMKPiBpbmRleCBjZDY5ZDJlNWY4MDguLjgxOTU2 YjFjYzA5OSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9kZXZpbmZvLmMKPiArKysgYi9jb21tYW5k cy9kZXZpbmZvLmMKPiBAQCAtMSwxNyArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoQykg MjAxMyBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAq Cj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEzIFNhc2NoYSBIYXVlciwgUGVuZ3V0 cm9uaXgKPiAgCj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gICNpbmNsdWRlIDxjb21tb24uaD4K PiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZGZ1LmMgYi9jb21tYW5kcy9kZnUuYwo+IGluZGV4IDNm NTJiYmRkOTg3MS4uMzEzMmE3NDc5ZDcyIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2RmdS5jCj4g KysrIGIvY29tbWFuZHMvZGZ1LmMKPiBAQCAtMSwyMSArMSw4IEBACj4gLS8qCj4gLSAqIGRmdS5j IC0gZGV2aWNlIGZpcm13YXJlIHVwZGF0ZSBjb21tYW5kCj4gLSAqCj4gLSAqIENvcHlyaWdodCAo YykgMjAwOSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25p eAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29u dHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4g Ky8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxl Q29weXJpZ2h0VGV4dDogwqkgMjAwOSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXgu ZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogZGZ1LmMgLSBkZXZpY2UgZmlybXdhcmUgdXBkYXRl IGNvbW1hbmQgKi8KPiArCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1h bmQuaD4KPiAgI2luY2x1ZGUgPGVycm5vLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2RoY3Au YyBiL2NvbW1hbmRzL2RoY3AuYwo+IGluZGV4IGQ5ZTg0NGIzYmU3ZC4uOTdlOWIwM2U0YWRmIDEw MDY0NAo+IC0tLSBhL2NvbW1hbmRzL2RoY3AuYwo+ICsrKyBiL2NvbW1hbmRzL2RoY3AuYwo+IEBA IC0xLDEyICsxLDkgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s eQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE1IFBIWVRFQyBNZXNzdGVjaG5p ayBHbWJICj4gKwo+ICAvKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTUgUEhZVEVDIE1lc3N0ZWNo bmlrIEdtYkgsCj4gICAqIEF1dGhvcjogV2FkaW0gRWdvcm92IDx3LmVnb3JvdkBwaHl0ZWMuZGU+ Cj4gLSAqCj4gICAqIEJhc2VkIG9uIHdvcmsgb2YgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1 dHJvbml4LmRlPi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIgYXMKPiAtICog cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gICAqLwo+ICAKPiAg I2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9kaHJ5c3RvbmUuYyBi L2NvbW1hbmRzL2RocnlzdG9uZS5jCj4gaW5kZXggZjY3NzIyNjdiM2IxLi5jODM5YjBjMDQzNTEg MTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvZGhyeXN0b25lLmMKPiArKysgYi9jb21tYW5kcy9kaHJ5 c3RvbmUuYwo+IEBAIC0xLDUgKzEsNyBAQAo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQtMjAxNSBQ aHl0ZWMgTWVzc3RlY2huaWsgR21iSAo+ICsKPiAgLyoKPiAtICogKEMpIENvcHlyaWdodCAyMDE0 IC0gMjAxNSBQaHl0ZWMgTWVzc3RlY2huaWsgR21iSAo+ICAgKiBBdXRob3I6IFN0ZWZhbiBNw7xs bGVyLUtsaWVzZXIgPHMubXVlbGxlci1rbGllc2VyQHBoeXRlYy5kZT4KPiAgICogQXV0aG9yOiBE YW5pZWwgU2NodWx0eiA8ZC5zY2h1bHR6QHBoeXRlYy5kZT4KPiAgICoKPiBAQCAtNywxNiArOSw2 IEBACj4gICAqIFZlcnNpb246ICAgIEMsIFZlcnNpb24gMi4xCj4gICAqIERhdGU6ICAgICAgIE1h eSAyNSwgMTk4OAo+ICAgKiBBdXRob3I6ICAgICBSZWluaG9sZCBQLiBXZWlja2VyCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvZGlnZXN0LmMgYi9jb21tYW5kcy9kaWdlc3QuYwo+IGluZGV4IDIxYTA5MTcxNzAx Ny4uYjdlZDRkNTBhZjFmIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2RpZ2VzdC5jCj4gKysrIGIv Y29tbWFuZHMvZGlnZXN0LmMKPiBAQCAtMSw4ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0 IChjKSAyMDE1IEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jv c29mdC5jb20+Cj4gLSAqCj4gLSAqIEdQTHYyIE9OTFkKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAxNSBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3Nv ZnQuY29tPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5o Pgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9kaXJuYW1lLmMgYi9jb21tYW5kcy9kaXJuYW1lLmMK PiBpbmRleCA3M2NmMWU0ZDQzZWYuLmY4MDllNzY0OGM0MSAxMDA2NDQKPiAtLS0gYS9jb21tYW5k cy9kaXJuYW1lLmMKPiArKysgYi9jb21tYW5kcy9kaXJuYW1lLmMKPiBAQCAtMSwyMSArMSw3IEBA Cj4gLS8qCj4gLSAqIGRpcm5hbWUuYyAtIHN0cmlwIGRpcmVjdG9yeSBhbmQgc3VmZml4IGZyb20g ZmlsZW5hbWVzCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxMiBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBD UkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBw cm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiAr LyogZGlybmFtZS5jIC0gc3RyaXAgZGlyZWN0b3J5IGFuZCBzdWZmaXggZnJvbSBmaWxlbmFtZXMg Ki8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBk aWZmIC0tZ2l0IGEvY29tbWFuZHMvZG1lc2cuYyBiL2NvbW1hbmRzL2RtZXNnLmMKPiBpbmRleCBh N2RlZjJmMTU4YmQuLjE1YWQ0NDk2MzkzMyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9kbWVzZy5j Cj4gKysrIGIvY29tbWFuZHMvZG1lc2cuYwo+IEBAIC0xLDIxICsxLDggQEAKPiAtLyoKPiAtICog ZG1lc2cuYyAtIGJhcmVib3ggbG9nYnVmZmVyIGhhbmRsaW5nCj4gLSAqCj4gLSAqIENvcHlyaWdo dCAoYykgMjAxNCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9u aXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogZG1lc2cuYyAtIGJhcmVib3ggbG9nYnVmZmVy IGhhbmRsaW5nICovCj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxtYWxs b2MuaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvZHJ2 aW5mby5jIGIvY29tbWFuZHMvZHJ2aW5mby5jCj4gaW5kZXggNGE0Yjk1NzUzN2JkLi45ZjhmOTcx ZWU5ZGQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvZHJ2aW5mby5jCj4gKysrIGIvY29tbWFuZHMv ZHJ2aW5mby5jCj4gQEAgLTEsMTggKzEsNiBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIw MTMgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTQgSG9s Z2VyIFNjaHVyaWcKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMTMgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDE0IEhvbGdlciBTY2h1cmlnCj4gIAo+ICAjaW5jbHVkZSA8 Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRz L2VjaG8uYyBiL2NvbW1hbmRzL2VjaG8uYwo+IGluZGV4IDg4NTNlZTBhMzA5My4uOTk1NzViNGMw YzM1IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2VjaG8uYwo+ICsrKyBiL2NvbW1hbmRzL2VjaG8u Ywo+IEBAIC0xLDIxICsxLDcgQEAKPiAtLyoKPiAtICogZWNoby5jIC0gZWNobyBhcmd1bWVudHMg dG8gc3Rkb3V0IG9yIGludG8gYSBmaWxlCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAwNyBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+ IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g Mgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAo+ICsKPiArLyogZWNoby5jIC0gZWNobyBhcmd1bWVudHMgdG8gc3Rkb3V0IG9yIGlu dG8gYSBmaWxlICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21t YW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2VkaXQuYyBiL2NvbW1hbmRzL2VkaXQuYwo+ IGluZGV4IDRlNjYxZGYxNGYxOS4uM2FiNGJlYWE0ZmZiIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRz L2VkaXQuYwo+ICsrKyBiL2NvbW1hbmRzL2VkaXQuYwo+IEBAIC0xLDE5ICsxLDUgQEAKPiAtLyoK PiAtICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25p eC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qg b2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhP VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAt ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz Lgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25s eQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9u Lmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2V4ZWMu YyBiL2NvbW1hbmRzL2V4ZWMuYwo+IGluZGV4IDdjODkzNGYxMzdlMi4uMGIwNjMxODFiMjQ3IDEw MDY0NAo+IC0tLSBhL2NvbW1hbmRzL2V4ZWMuYwo+ICsrKyBiL2NvbW1hbmRzL2V4ZWMuYwo+IEBA IC0xLDIxICsxLDcgQEAKPiAtLyoKPiAtICogZXhlYy5jIC0gZXhlY3V0ZSBzY3JpcHRzCj4gLSAq Cj4gLSAqIENvcHlyaWdodCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9u aXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0 IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg aXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4g LSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogZXhlYy5jIC0gZXhl Y3V0ZSBzY3JpcHRzICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxj b21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2V4cG9ydC5jIGIvY29tbWFuZHMvZXhw b3J0LmMKPiBpbmRleCA0YjRjZjFlMTJlMjQuLjg5NzJiN2Q1MjhkNyAxMDA2NDQKPiAtLS0gYS9j b21tYW5kcy9leHBvcnQuYwo+ICsrKyBiL2NvbW1hbmRzL2V4cG9ydC5jCj4gQEAgLTEsMTkgKzEs NSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVy QHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElU UyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVj dC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2FzY2hh IEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAgCj4gIC8qKgo+ ICAgKiBAZmlsZQo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9mYWxzZS5jIGIvY29tbWFuZHMvZmFs c2UuYwo+IGluZGV4IDkwYWEyY2M5ZWFiNS4uOTBhYjU3OWQwZTkwIDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL2ZhbHNlLmMKPiArKysgYi9jb21tYW5kcy9mYWxzZS5jCj4gQEAgLTEsMjEgKzEsNSBA QAo+IC0vKgo+IC0gKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwMwo+IC0gKiBXb2xmZ2FuZyBEZW5r LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgo+IC0gKgo+IC0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+ IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAwMC0yMDAzIFdvbGZnYW5nIERlbmsgPHdkQGRlbnguZGU+LCBERU5Y IFNvZnR3YXJlIEVuZ2luZWVyaW5nCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNs dWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2ZpbGV0eXBlLmMgYi9jb21t YW5kcy9maWxldHlwZS5jCj4gaW5kZXggNGUwMTZkZDRkNmQ0Li44MThjMTRmZTc5N2UgMTAwNjQ0 Cj4gLS0tIGEvY29tbWFuZHMvZmlsZXR5cGUuYwo+ICsrKyBiL2NvbW1hbmRzL2ZpbGV0eXBlLmMK PiBAQCAtMSw4ICsxLDUgQEAKPiAtLyoKPiAtICogKEMpIENvcHlyaWdodCAyMDEyIEplYW4tQ2hy aXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4g LSAqIFVuZGVyIEdQTHYyIE9ubHkKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKZWFu LUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ICAK PiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1n aXQgYS9jb21tYW5kcy9maXJtd2FyZWxvYWQuYyBiL2NvbW1hbmRzL2Zpcm13YXJlbG9hZC5jCj4g aW5kZXggZGJkNDNlMDQ2ZDhmLi5iNzM1MDg4ZjYxMTcgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMv ZmlybXdhcmVsb2FkLmMKPiArKysgYi9jb21tYW5kcy9maXJtd2FyZWxvYWQuYwo+IEBAIC0xLDE1 ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChjKSAyMDEzIEp1ZXJnZW4gQmVpc2VydCA8 a2VybmVsQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTMgSnVlcmdlbiBCZWlzZXJ0IDxrZXJuZWxAcGVuZ3V0cm9uaXgu ZGU+LCBQZW5ndXRyb25peAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8 Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9mbGFzaC5jIGIvY29tbWFuZHMvZmxh c2guYwo+IGluZGV4IGQ4ODFiNGQzOTllYS4uM2Q3YzhmZDU3NzNkIDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL2ZsYXNoLmMKPiArKysgYi9jb21tYW5kcy9mbGFzaC5jCj4gQEAgLTEsMjMgKzEsNyBA QAo+IC0vKgo+IC0gKiBlcmFzZSwgcHJvdGVjdCwgdW5wcm90ZWN0IC0gRkxBU0ggc3VwcG9ydAo+ IC0gKgo+IC0gKiAoQykgQ29weXJpZ2h0IDIwMDAKPiAtICogV29sZmdhbmcgRGVuaywgREVOWCBT b2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JF RElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJv amVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUg TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMDAgV29sZmdhbmcgRGVuayA8d2RAZGVueC5kZT4sIERFTlggU29mdHdhcmUgRW5n aW5lZXJpbmcKPiArCj4gKy8qIGVyYXNlLCBwcm90ZWN0LCB1bnByb3RlY3QgLSBGTEFTSCBzdXBw b3J0ICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+ Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2dsb2JhbC5jIGIvY29tbWFuZHMvZ2xvYmFsLmMKPiBp bmRleCBjNjZiZjZlNTM5NTEuLjE1YjZhOWYzZDM0MSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9n bG9iYWwuYwo+ICsrKyBiL2NvbW1hbmRzL2dsb2JhbC5jCj4gQEAgLTEsMjEgKzEsOCBAQAo+IC0v Kgo+IC0gKiBnbG9iYWwuYyAtIGdsb2JhbCBzaGVsbCB2YXJpYWJsZXMKPiAtICoKPiAtICogQ29w eXJpZ2h0IChjKSAyMDEyIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBl bmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxl IHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBT UERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5n dXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICsvKiBnbG9iYWwuYyAtIGdsb2JhbCBzaGVs bCB2YXJpYWJsZXMgKi8KPiArCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPG1h bGxvYy5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9n by5jIGIvY29tbWFuZHMvZ28uYwo+IGluZGV4IGVjYzJjZWI2ZTQyMi4uMGMwYjRjYjE1ZTRkIDEw MDY0NAo+IC0tLSBhL2NvbW1hbmRzL2dvLmMKPiArKysgYi9jb21tYW5kcy9nby5jCj4gQEAgLTEs MjMgKzEsNyBAQAo+IC0vKgo+IC0gKiBnby0gZXhlY3V0ZSBzb21lIGNvZGUgYW55d2hlcmUgKG1p c2MgYm9vdCBzdXBwb3J0KQo+IC0gKgo+IC0gKiAoQykgQ29weXJpZ2h0IDIwMDAtMjAwMwo+IC0g KiBXb2xmZ2FuZyBEZW5rLCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nLCB3ZEBkZW54LmRlLgo+ IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJp YnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz Cj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIg dmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdB UlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+ IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwMC0yMDAzIFdvbGZnYW5nIERlbmsgPHdk QGRlbnguZGU+LCBERU5YIFNvZnR3YXJlIEVuZ2luZWVyaW5nCj4gKwo+ICsvKiBnbyAtIGV4ZWN1 dGUgc29tZSBjb2RlIGFueXdoZXJlIChtaXNjIGJvb3Qgc3VwcG9ydCkgKi8KPiAgCj4gICNpbmNs dWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29t bWFuZHMvZ3Bpby5jIGIvY29tbWFuZHMvZ3Bpby5jCj4gaW5kZXggNmQ4OGFiNmJiZTU1Li45NTVi NjBlOTFiY2UgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvZ3Bpby5jCj4gKysrIGIvY29tbWFuZHMv Z3Bpby5jCj4gQEAgLTEsMTUgKzEsNCBAQAo+IC0vKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4g LSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0g KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0g Ki8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiAgCj4g ICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0 IGEvY29tbWFuZHMvaGFiLmMgYi9jb21tYW5kcy9oYWIuYwo+IGluZGV4IDBkN2VlOGU3NmMwMS4u OTdhMTcwMWZhNTUxIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2hhYi5jCj4gKysrIGIvY29tbWFu ZHMvaGFiLmMKPiBAQCAtMSwxMyArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5 IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMK PiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24g Mi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUKPiAtICogR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9oYXNoc3Vt LmMgYi9jb21tYW5kcy9oYXNoc3VtLmMKPiBpbmRleCA3MGFhYjJjNGJmYTUuLmJmYWNlZTBiOTIy YiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9oYXNoc3VtLmMKPiArKysgYi9jb21tYW5kcy9oYXNo c3VtLmMKPiBAQCAtMSwyMSArMSw3IEBACj4gLS8qCj4gLSAqIGRpZ2VzdC5jIC0gQ2FsY3VsYXRl IGEgbWQ1L3NoYTEvc2hhMjU2IGNoZWNrc3VtIG9mIGEgbWVtb3J5IGFyZWEKPiAtICoKPiAtICog Q29weXJpZ2h0IChjKSAyMDExIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+Cj4g LSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmli dXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBm cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAq IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVy c2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhh dCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiDCqSAyMDExIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+Cj4g Kwo+ICsvKiBkaWdlc3QuYyAtIENhbGN1bGF0ZSBhIG1kNS9zaGExL3NoYTI1NiBjaGVja3N1bSBv ZiBhIG1lbW9yeSBhcmVhICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRl IDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2hlbHAuYyBiL2NvbW1hbmRzL2hl bHAuYwo+IGluZGV4IDM0ZmZhOWE0MTk1My4uYmE4NTQyYjkwZjAxIDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL2hlbHAuYwo+ICsrKyBiL2NvbW1hbmRzL2hlbHAuYwo+IEBAIC0xLDIxICsxLDUgQEAK PiAtLyoKPiAtICogKEMpIENvcHlyaWdodCAyMDAwLTIwMDMKPiAtICogV29sZmdhbmcgRGVuaywg REVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZywgd2RAZGVueC5kZS4KPiAtICoKPiAtICogU2VlIGZp bGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAt ICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0g KiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMDAtMjAwMyBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54LmRlPiwgREVOWCBT b2Z0d2FyZSBFbmdpbmVlcmluZwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVk ZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9pMmMuYyBiL2NvbW1hbmRzL2ky Yy5jCj4gaW5kZXggNzdhOGY3ZmY5NzgxLi41M2YzNmRmYWFiODYgMTAwNjQ0Cj4gLS0tIGEvY29t bWFuZHMvaTJjLmMKPiArKysgYi9jb21tYW5kcy9pMmMuYwo+IEBAIC0xLDE5ICsxLDcgQEAKPiAt LyoKPiAtICogaTJjLmMgLSBpMmMgY29tbWFuZHMKPiAtICoKPiAtICogQ29weXJpZ2h0IChjKSAy MDEwIEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuQ29tPiwgRXVrcsOpYSBFbGVjdHJvbWF0aXF1 ZQo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJl ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNl bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAxMCBFcmljIELDqW5hcmQgPGVyaWNAZXVrcmVhLkNvbT4sIEV1a3LDqWEgRWxlY3Ryb21h dGlxdWUKPiArCj4gKy8qIGkyYy5jIC0gaTJjIGNvbW1hbmRzICovCj4gIAo+ICAjaW5jbHVkZSA8 Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRz L2ltZC5jIGIvY29tbWFuZHMvaW1kLmMKPiBpbmRleCBmYzZjYzQ3MjMxNDQuLjkxMmYwNjVjOWU4 ZiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9pbWQuYwo+ICsrKyBiL2NvbW1hbmRzL2ltZC5jCj4g QEAgLTEsMjAgKzEsNSBAQAo+IC0vKgo+IC0gKiAoQykgQ29weXJpZ2h0IDIwMTQgU2FzY2hhIEhh dWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNCBTYXNj aGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNs dWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2lvbWVtcG9ydC5jIGIvY29t bWFuZHMvaW9tZW1wb3J0LmMKPiBpbmRleCA2ZDk3YzU3MTFiZjMuLmQwY2ZjNDEzYzI2MiAxMDA2 NDQKPiAtLS0gYS9jb21tYW5kcy9pb21lbXBvcnQuYwo+ICsrKyBiL2NvbW1hbmRzL2lvbWVtcG9y dC5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+IC0vKgo+IC0gKiBpb21lbS5jIC0gYmFyZWJveCBpb21l bSBjb21tYW5kCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBD UkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBw cm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogaW9t ZW0uYyAtIGJhcmVib3ggaW9tZW0gY29tbWFuZCAqLwo+ICsKPiAgI2luY2x1ZGUgPGFzbS9pby5o Pgo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAt LWdpdCBhL2NvbW1hbmRzL2lwLXJvdXRlLWdldC5jIGIvY29tbWFuZHMvaXAtcm91dGUtZ2V0LmMK PiBpbmRleCBkM2MxNWI3Nzk4NjAuLjU2NmUxMjE5MmE3ZiAxMDA2NDQKPiAtLS0gYS9jb21tYW5k cy9pcC1yb3V0ZS1nZXQuYwo+ICsrKyBiL2NvbW1hbmRzL2lwLXJvdXRlLWdldC5jCj4gQEAgLTEs MTMgKzEsNCBAQAo+IC0vKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy bXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB2ZXJzaW9uIDIuCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VCj4gLSAqIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKPiAgCj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbGVkLmMgYi9jb21tYW5kcy9sZWQuYwo+ IGluZGV4IGI2MDhmY2ZhMmNkYi4uN2NmMmNlZWZiODZhIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRz L2xlZC5jCj4gKysrIGIvY29tbWFuZHMvbGVkLmMKPiBAQCAtMSwyMiArMSw3IEBACj4gLS8qCj4g LSAqIExFRCBjb21tYW5kIHN1cHBvcnQgZm9yIGJhcmVib3gKPiAtICoKPiAtICogKEMpIENvcHly aWdodCAyMDEwIFNhc2NoYSBIYXVlciwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUg Q1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICog cHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0 aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMTAgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+ICsKPiArLyogTEVEIGNv bW1hbmQgc3VwcG9ydCBmb3IgYmFyZWJveCAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ ICAjaW5jbHVkZSA8bGVkLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xldC5jIGIvY29tbWFu ZHMvbGV0LmMKPiBpbmRleCAzYzg0ZDI3NmMxM2QuLmQ2NzYyZWI1OTNiYSAxMDA2NDQKPiAtLS0g YS9jb21tYW5kcy9sZXQuYwo+ICsrKyBiL2NvbW1hbmRzL2xldC5jCj4gQEAgLTEsMTkgKzEsNyBA QAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVAcGVu Z3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFBhcnRpYWxseSBiYXNlZCBvbiBjb2RlIGZyb20gQnVz eUJveC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPiAtICogdGhl IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z ZSwgb3IKPiAtICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTIgSmFuIEx1ZWJiZSA8ai5sdWViYmVAcGVuZ3V0cm9uaXguZGU+Cj4gKwo+ICsv KiBQYXJ0aWFsbHkgYmFzZWQgb24gY29kZSBmcm9tIEJ1c3lCb3guICovCj4gIAo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1h bmRzL2xpbnV4MTYuYyBiL2NvbW1hbmRzL2xpbnV4MTYuYwo+IGluZGV4IGRiOGQwODEwNWZhNS4u NzNlNDAyZDg3NzQxIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL2xpbnV4MTYuYwo+ICsrKyBiL2Nv bW1hbmRzL2xpbnV4MTYuYwo+IEBAIC0xLDIyICsxLDExIEBACj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMDkgSnVlcmdlbiBCZWlzZXJ0LCBQZW5ndXRyb25peAo+ICsKPiAgLyoKPiAtICogQ29w eXJpZ2h0IChDKSAyMDA5IEp1ZXJnZW4gQmVpc2VydCwgUGVuZ3V0cm9uaXgKPiAtICoKPiAgICog SW4gcGFydHMgZnJvbSB0aGUgR1JVQjIgcHJvamVjdDoKPiAgICoKPiAgICogIEdSVUIgIC0tICBH UmFuZCBVbmlmaWVkIEJvb3Rsb2FkZXIKPiAgICogIENvcHlyaWdodCAoQykgMTk5OSwyMDAwLDIw MDEsMjAwMiwyMDAzLDIwMDQsMjAwNSwyMDA3LDIwMDggIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgSW5jLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRo ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+ IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKgo+ICAgKi8KPiAgCj4gICNp bmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbGludXhfZXhlYy5jIGIv Y29tbWFuZHMvbGludXhfZXhlYy5jCj4gaW5kZXggNTkwZTBiZmQ1MDkxLi41YWZhMjUwMWM0ODMg MTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbGludXhfZXhlYy5jCj4gKysrIGIvY29tbWFuZHMvbGlu dXhfZXhlYy5jCj4gQEAgLTEsMTkgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIw MTEgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNv bT4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNv bnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK PiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQg PHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2lu Y2x1ZGUgPG1hbGxvYy5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9sbi5jIGIvY29tbWFuZHMv bG4uYwo+IGluZGV4IGYxZGYzMjAzNWI3NS4uOTIwNjQ4MDMwMGE4IDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL2xuLmMKPiArKysgYi9jb21tYW5kcy9sbi5jCj4gQEAgLTEsMjEgKzEsNyBAQAo+IC0v Kgo+IC0gKiBsbi5jIC0gbWFrZSBsaW5rcyBiZXR3ZWVuIGZpbGVzCj4gLSAqCj4gLSAqIENvcHly aWdodCAoYykgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pA amNyb3NvZnQuY29tPgo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBl b3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFO WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0 aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAt ICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiAr Ly8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05J T0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ICsKPiArLyogbG4uYyAtIG1ha2Ug bGlua3MgYmV0d2VlbiBmaWxlcyAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5j bHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9sb2FkYi5jIGIvY29tbWFu ZHMvbG9hZGIuYwo+IGluZGV4IDM3YzI3MmY2Yzc2MS4uMTdkM2FmODRiNWRiIDEwMDY0NAo+IC0t LSBhL2NvbW1hbmRzL2xvYWRiLmMKPiArKysgYi9jb21tYW5kcy9sb2FkYi5jCj4gQEAgLTEsMyAr MSw1IEBACj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4g Ky8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDAtMjAwNCBXb2xmZ2FuZyBEZW5rIDx3 ZEBkZW54LmRlPiwgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZwo+ICAvKioKPiAgICogQGZpbGUK PiAgICogQGJyaWVmIExvYWRCIGFuZCBMb2FkWSBzdXBwb3J0Lgo+IEBAIC03LDI0ICs5LDYgQEAK PiAgICoKPiAgICogRmlsZU5hbWU6IGNvbW1hbmRzL2xvYWRiLmMKPiAgICovCj4gLS8qCj4gLSAq IChDKSBDb3B5cmlnaHQgMjAwMC0yMDA0Cj4gLSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdh cmUgRW5naW5lZXJpbmcsIHdkQGRlbnguZGUuCj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMg Zm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3Qu Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vu c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w bGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQ QVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICAKPiAgLyoKPiAgICogU2VyaWFs IHVwLSBhbmQgZG93bmxvYWQgc3VwcG9ydAo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9sb2FkZW52 LmMgYi9jb21tYW5kcy9sb2FkZW52LmMKPiBpbmRleCBiZjAxMDcyYzQyZTcuLjI3OWVlNTJkYTVh NCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9sb2FkZW52LmMKPiArKysgYi9jb21tYW5kcy9sb2Fk ZW52LmMKPiBAQCAtMSwxOSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoYykgMjAwNyBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+ IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g Mgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAo+ICAKPiAgLyoqCj4gICAqIEBmaWxlCj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xv YWRzLmMgYi9jb21tYW5kcy9sb2Fkcy5jCj4gaW5kZXggZWIzZTEwOWIwYjVmLi44MjYwNjczYzUx YzUgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbG9hZHMuYwo+ICsrKyBiL2NvbW1hbmRzL2xvYWRz LmMKPiBAQCAtMSwyNSArMSw4IEBACj4gLS8qCj4gLSAqIChDKSBDb3B5cmlnaHQgMjAwMC0yMDA0 Cj4gLSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbngu ZGUuCj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDAwLTIwMDQgV29sZmdhbmcgRGVu ayA8d2RAZGVueC5kZT4sIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcKPiArCj4gKy8qIFNlcmlh bCB1cC0gYW5kIGRvd25sb2FkIHN1cHBvcnQgKi8KPiAgCj4gLS8qCj4gLSAqIFNlcmlhbCB1cC0g YW5kIGRvd25sb2FkIHN1cHBvcnQKPiAtICovCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2lu Y2x1ZGUgPGNvbW1hbmQuaD4KPiAgI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4gZGlmZiAtLWdp dCBhL2NvbW1hbmRzL2xvYWR4eS5jIGIvY29tbWFuZHMvbG9hZHh5LmMKPiBpbmRleCA4NWVmYWQ2 N2M3YmQuLjY2ZGFhMTE3ZDkzNyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9sb2FkeHkuYwo+ICsr KyBiL2NvbW1hbmRzL2xvYWR4eS5jCj4gQEAgLTEsMyArMSw2IEBACj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTIgUm9iZXJ0IEphcnptaWsgPHJvYmVydC5qYXJ6bWlrQGZyZWUuZnI+Cj4gKwo+ ICAvKioKPiAgICogQGZpbGUKPiAgICogQGJyaWVmIGxvYWR5IGFuZCBsb2FkeCAgc3VwcG9ydC4K PiBAQCAtNywyMyArMTAsNiBAQAo+ICAgKgo+ICAgKiBGaWxlTmFtZTogY29tbWFuZHMvbG9hZHh5 LmMKPiAgICovCj4gLS8qCj4gLSAqIChDKSBDb3B5cmlnaHQgMjAxMiBSb2JlcnQgSmFyem1payA8 cm9iZXJ0LmphcnptaWtAZnJlZS5mcj4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3Ig bGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli dXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZSwg b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gIAo+ICAvKgo+ICAgKiBTZXJpYWwgdXAt IGFuZCBkb3dubG9hZCBzdXBwb3J0Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xvZ2luLmMgYi9j b21tYW5kcy9sb2dpbi5jCj4gaW5kZXggNThiYjU5MjkwMDdlLi43MDg1ZjM4ODVjZjkgMTAwNjQ0 Cj4gLS0tIGEvY29tbWFuZHMvbG9naW4uYwo+ICsrKyBiL2NvbW1hbmRzL2xvZ2luLmMKPiBAQCAt MSwxOSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoYykgMjAwOC0yMDEwIEplYW4tQ2hy aXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4g LSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0 byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAy Cj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0g Kgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3 aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDA4LTIwMTAgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWdu aW9qQGpjcm9zb2Z0LmNvbT4KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUg PGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbHMuYyBiL2NvbW1hbmRzL2xzLmMK PiBpbmRleCBlNWUzN2Q3NWM1OGIuLjZhNTQ3NWQwOTRlNSAxMDA2NDQKPiAtLS0gYS9jb21tYW5k cy9scy5jCj4gKysrIGIvY29tbWFuZHMvbHMuYwo+IEBAIC0xLDIxICsxLDcgQEAKPiAtLyoKPiAt ICogbHMuYyAtIGxpc3QgZmlsZXMgYW5kIGRpcmVjdG9yaWVzCj4gLSAqCj4gLSAqIENvcHlyaWdo dCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9u aXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogbHMuYyAtIGxpc3QgZmlsZXMgYW5kIGRpcmVj dG9yaWVzICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5k Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL2xzcGNpLmMgYi9jb21tYW5kcy9sc3BjaS5jCj4g aW5kZXggMjdlZGQ1ZDFjMjU3Li4xOGU3ZTQ2OTVjMTIgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMv bHNwY2kuYwo+ICsrKyBiL2NvbW1hbmRzL2xzcGNpLmMKPiBAQCAtMSwxOSArMSw1IEBACj4gLS8q Cj4gLSAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE0IEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZs b3ZAZ21haWwuY29tPgo+IC0gKgo+IC0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYXJlYm94Lgo+ IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcyBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2Fy ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0 aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0g KiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDog wqkgMjAxMS0yMDE0IEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgo+ICAK PiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1n aXQgYS9jb21tYW5kcy9tZC5jIGIvY29tbWFuZHMvbWQuYwo+IGluZGV4IDIzODljMTJkMTQzMi4u ZWY2YTFlMWJjMGIxIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL21kLmMKPiArKysgYi9jb21tYW5k cy9tZC5jCj4gQEAgLTEsMTkgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTEg U2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoK PiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVk IHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9u IDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdo dFRleHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVu Z3V0cm9uaXgKPiAgCj4gIC8qCj4gICAqIE1lbW9yeSBGdW5jdGlvbnMKPiBkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvbWVtY21wLmMgYi9jb21tYW5kcy9tZW1jbXAuYwo+IGluZGV4IDc2ZmJlMDc4ZjA0 ZC4uMmIzNzgzZDY2YTljIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL21lbWNtcC5jCj4gKysrIGIv Y29tbWFuZHMvbWVtY21wLmMKPiBAQCAtMSwxOSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdo dCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9u aXguZGU+LCBQZW5ndXRyb25peAo+ICAKPiAgLyoKPiAgICogTWVtb3J5IEZ1bmN0aW9ucwo+IGRp ZmYgLS1naXQgYS9jb21tYW5kcy9tZW1jcHkuYyBiL2NvbW1hbmRzL21lbWNweS5jCj4gaW5kZXgg YjJjZWE4YzA5ZDQwLi4yNDc3YmJhMzU5OGQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvbWVtY3B5 LmMKPiArKysgYi9jb21tYW5kcy9tZW1jcHkuYwo+IEBAIC0xLDE5ICsxLDUgQEAKPiAtLyoKPiAt ICogQ29weXJpZ2h0IChjKSAyMDExIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2Yg cGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAq IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0 ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQg QU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICog TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIFNhc2NoYSBIYXVlciA8cy5oYXVl ckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gIAo+ICAvKgo+ICAgKiBNZW1vcnkgRnVu Y3Rpb25zCj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21lbWluZm8uYyBiL2NvbW1hbmRzL21lbWlu Zm8uYwo+IGluZGV4IDg3Yzc2ZmMzZDE5Zi4uYzgwOGNhYTkwMmE0IDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL21lbWluZm8uYwo+ICsrKyBiL2NvbW1hbmRzL21lbWluZm8uYwo+IEBAIC0xLDIxICsx LDggQEAKPiAtLyoKPiAtICogbWVtaW5mby5jIC0gc2hvdyBpbmZvcm1hdGlvbiBhYm91dCBtZW1v cnkgdXNhZ2UKPiAtICoKPiAtICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENS RURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHBy b2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNh c2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICsv KiBtZW1pbmZvLmMgLSBzaG93IGluZm9ybWF0aW9uIGFib3V0IG1lbW9yeSB1c2FnZSAqLwo+ICsK PiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVk ZSA8Y29tcGxldGUuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvbWVtc2V0LmMgYi9jb21tYW5k cy9tZW1zZXQuYwo+IGluZGV4IGIwNzcwMTU5ZjgxOC4uNzE2Y2JhMjZkZWM1IDEwMDY0NAo+IC0t LSBhL2NvbW1hbmRzL21lbXNldC5jCj4gKysrIGIvY29tbWFuZHMvbWVtc2V0LmMKPiBAQCAtMSwx OSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoYykgMjAxMSBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBD UkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBw cm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICAKPiAg LyoKPiAgICogTWVtb3J5IEZ1bmN0aW9ucwo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9tZW10ZXN0 LmMgYi9jb21tYW5kcy9tZW10ZXN0LmMKPiBpbmRleCBkYzhmN2RiMjc5MTYuLjg2NDk0N2ZhOTRm OSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9tZW10ZXN0LmMKPiArKysgYi9jb21tYW5kcy9tZW10 ZXN0LmMKPiBAQCAtMSwyMyArMSw3IEBACj4gLS8qCj4gLSAqIG1lbXRlc3QgLSBQZXJmb3JtIGEg bWVtb3J5IHRlc3QKPiAtICoKPiAtICogKEMpIENvcHlyaWdodCAyMDEzCj4gLSAqIEFsZXhhbmRl ciBBcmluZyA8YWFyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2Vl IGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMK PiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7 IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgo+IC0gKiBtb2RpZnkgaXQgdW5kZXIgdGhl IHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwo+IC0gKiBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgo+ IC0gKiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNv cHlyaWdodFRleHQ6IMKpIDIwMTMgQWxleGFuZGVyIEFyaW5nIDxhYXJAcGVuZ3V0cm9uaXguZGU+ LCBQZW5ndXRyb25peAo+ICsKPiArLyogbWVtdGVzdCAtIFBlcmZvcm0gYSBtZW1vcnkgdGVzdCAq Lwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiAgI2luY2x1ZGUgPGdldG9wdC5oPgo+IGRp ZmYgLS1naXQgYS9jb21tYW5kcy9tZW51LmMgYi9jb21tYW5kcy9tZW51LmMKPiBpbmRleCBkZGM5 YzNhYjg2MzcuLjdhMDFhZmYyODA2NiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9tZW51LmMKPiAr KysgYi9jb21tYW5kcy9tZW51LmMKPiBAQCAtMSwyMCArMSw1IEBACj4gLS8qCj4gLSAqIChDKSBD b3B5cmlnaHQgMjAwOS0yMDEwIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFn bmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qg b2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb247IHZlcnNpb24gMiBvZgo+IC0gKiB0aGUgTGljZW5zZS4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAwOS0yMDEwIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1WSUxMQVJEIDxwbGFnbmlvakBqY3Jv c29mdC5jb20+Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5k Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21lbnV0cmVlLmMgYi9jb21tYW5kcy9tZW51dHJl ZS5jCj4gaW5kZXggY2YzN2IwMTYwMTU2Li4xMjk4NzcxNTFmZWEgMTAwNjQ0Cj4gLS0tIGEvY29t bWFuZHMvbWVudXRyZWUuYwo+ICsrKyBiL2NvbW1hbmRzL21lbnV0cmVlLmMKPiBAQCAtMSwxMyAr MSw1IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb25seQo+ICsKPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiAgI2luY2x1ZGUgPGNvbW1v bi5oPgo+ICAjaW5jbHVkZSA8Z2V0b3B0Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21paXRv b2wuYyBiL2NvbW1hbmRzL21paXRvb2wuYwo+IGluZGV4IDA3NDM3ZDI4YThmOS4uNDc0OTRmNTA4 OTc5IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL21paXRvb2wuYwo+ICsrKyBiL2NvbW1hbmRzL21p aXRvb2wuYwo+IEBAIC0xLDEwICsxLDcgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIEFudG9u eSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgo+ICsKPiAgLyoKPiAtICogQ29weXJp Z2h0IChDKSAyMDEyIEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29tPgo+IC0g Kgo+IC0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYXJlYm94Lgo+IC0gKiBTZWUgZmlsZSBDUkVE SVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9q ZWN0Lgo+IC0gKgo+ICAgKiBUaGlzIHByb2dyYW0gaXMgYmFzZWQgb24gRG9uYWxkIEJlY2tlcidz ICJtaWktZGlhZyIgYW5kCj4gICAqIERhdmlkIEEuIEhpbmRzJyAibWlpLXRvb2wiLgo+ICAgKgo+ IEBAIC0xMywxNiArMTAsNiBAQAo+ICAgKgo+ICAgKiBtaWktZGlhZyBpcyB3cml0dGVuL2NvcHly aWdodCAxOTk3LTIwMDAgYnkgRG9uYWxkIEJlY2tlcgo+ICAgKiAgICAgPGJlY2tlckBzY3lsZC5j b20+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAt ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgo+IC0gKgo+ICAgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiBk aWZmIC0tZ2l0IGEvY29tbWFuZHMvbWtkaXIuYyBiL2NvbW1hbmRzL21rZGlyLmMKPiBpbmRleCA3 ZDAyNGM4NzFkZDMuLmU3MTUzYjg3MzJjNSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9ta2Rpci5j Cj4gKysrIGIvY29tbWFuZHMvbWtkaXIuYwo+IEBAIC0xLDIxICsxLDcgQEAKPiAtLyoKPiAtICog bWtkaXIuYyAtIGNyZWF0ZSBkaXJlY3Rvcmllcwo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIw MDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAt ICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1 dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJz aW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwg UGVuZ3V0cm9uaXgKPiArCj4gKy8qIG1rZGlyLmMgLSBjcmVhdGUgZGlyZWN0b3JpZXMgKi8KPiAg Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0t Z2l0IGEvY29tbWFuZHMvbW0uYyBiL2NvbW1hbmRzL21tLmMKPiBpbmRleCBjN2Y2MmZjYTU0YmIu LmY2ZDY2MzIwZmJjNSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9tbS5jCj4gKysrIGIvY29tbWFu ZHMvbW0uYwo+IEBAIC0xLDE5ICsxLDUgQEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChjKSAyMDEz IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAq Cj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRl ZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVl IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0 IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lv biAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmln aHRUZXh0OiDCqSAyMDEzIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBl bmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5k Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21tY19leHRjc2QuYyBiL2NvbW1hbmRzL21tY19l eHRjc2QuYwo+IGluZGV4IDRmNTY2YmM4MDVkYi4uYzlhMjhmYjFmZTk0IDEwMDY0NAo+IC0tLSBh L2NvbW1hbmRzL21tY19leHRjc2QuYwo+ICsrKyBiL2NvbW1hbmRzL21tY19leHRjc2QuYwo+IEBA IC0xLDE5ICsxLDcgQEAKPiAtLyoKPiAtICoKPiAtICogKEMpIENvcHlyaWdodCAyMDE1IFBoeXRl YyBNZXNzdGVjaG5payBHbWJICj4gLSAqIEF1dGhvcjogRGFuaWVsIFNjaHVsdHogPGQuc2NodWx0 ekBwaHl0ZWMuZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5 b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0 ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4g LSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhl IExpY2Vuc2UsIG9yCj4gLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4g LSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklU TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiDCqSAyMDE1IFBoeXRlYyBNZXNzdGVjaG5payBHbWJICj4gKwo+ICsvKiBBdXRo b3I6IERhbmllbCBTY2h1bHR6IDxkLnNjaHVsdHpAcGh5dGVjLmRlPiAqLwo+ICAKPiAgI2luY2x1 ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21t YW5kcy9tb3VudC5jIGIvY29tbWFuZHMvbW91bnQuYwo+IGluZGV4IGY1MjNmNmIzYjZlMC4uZmYx ZDhiYzVlNTViIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL21vdW50LmMKPiArKysgYi9jb21tYW5k cy9tb3VudC5jCj4gQEAgLTEsMjEgKzEsNyBAQAo+IC0vKgo+IC0gKiBtb3VudC5jIC0gbW91bnQg ZGV2aWNlcwo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhh dWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JF RElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJv amVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiArCj4gKy8q IG1vdW50LmMgLSBtb3VudCBkZXZpY2VzICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL21zbGVlcC5jIGIv Y29tbWFuZHMvbXNsZWVwLmMKPiBpbmRleCA0YWVlM2MzOTQ4ZmUuLjJjYTExZmFhZDg2YiAxMDA2 NDQKPiAtLS0gYS9jb21tYW5kcy9tc2xlZXAuYwo+ICsrKyBiL2NvbW1hbmRzL21zbGVlcC5jCj4g QEAgLTEsMTkgKzEsMTAgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAt b25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIFN0ZWZmZW4gVHJ1bXRy YXIgPHMudHJ1bXRyYXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiAgLyoKPiAg ICogbXNsZWVwLmMgLSBkZWxheSBleGVjdXRpb24gZm9yIG4gbWlsbGlzZWNvbmRzCj4gICAqCj4g LSAqIENvcHlyaWdodCAoYykgMjAxMiBTdGVmZmVuIFRydW10cmFyIDxzLnRydW10cmFyQHBlbmd1 dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAgICogZGVyaXZlZCBmcm9tIGNvbW1hbmRz L3NsZWVwLmMKPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVi bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9tdy5jIGIvY29tbWFuZHMvbXcuYwo+IGluZGV4IDNl ZDZjODIwZDBlNC4uNWJkNGJkZDU4ZjE0IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL213LmMKPiAr KysgYi9jb21tYW5kcy9tdy5jCj4gQEAgLTEsMTkgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmln aHQgKGMpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0 cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hv IGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2Rp ZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAq IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAq Lwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgt RmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJv bml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAgCj4gIC8qCj4gICAqIE1lbW9yeSBGdW5jdGlvbnMKPiBk aWZmIC0tZ2l0IGEvY29tbWFuZHMvbmFuZC1iaXRmbGlwLmMgYi9jb21tYW5kcy9uYW5kLWJpdGZs aXAuYwo+IGluZGV4IGNmZGUyZjQwNDBlNy4uNzMzNWY3NzM3OWE2IDEwMDY0NAo+IC0tLSBhL2Nv bW1hbmRzL25hbmQtYml0ZmxpcC5jCj4gKysrIGIvY29tbWFuZHMvbmFuZC1iaXRmbGlwLmMKPiBA QCAtMSwxMyArMSw0IEBACj4gLS8qCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9kaWZ5IGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKPiAtICogcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KPiAtICoKPiAt ICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUKPiAtICogR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb25seQo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVk ZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9uYW5kLmMgYi9jb21tYW5kcy9u YW5kLmMKPiBpbmRleCBjNTdiMzk0NWE4NDIuLmVkMjg2NGZiN2IwYiAxMDA2NDQKPiAtLS0gYS9j b21tYW5kcy9uYW5kLmMKPiArKysgYi9jb21tYW5kcy9uYW5kLmMKPiBAQCAtMSwxOSArMSw2IEBA Cj4gLS8qCj4gLSAqIENvcHlyaWdodCAoYykgMjAwOCBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZv ciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkg dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwt Mi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOCBTYXNjaGEgSGF1 ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiAgI2luY2x1ZGUg PGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8ZnMuaD4KPiBk aWZmIC0tZ2l0IGEvY29tbWFuZHMvbmFuZHRlc3QuYyBiL2NvbW1hbmRzL25hbmR0ZXN0LmMKPiBp bmRleCAxMTJiYjAxMmE1OWQuLmJmZTRjNGMwZWQwMyAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9u YW5kdGVzdC5jCj4gKysrIGIvY29tbWFuZHMvbmFuZHRlc3QuYwo+IEBAIC0xLDE1ICsxLDcgQEAK PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsKPiAgLyoKPiAg ICogQmFzZWQgb24gbmFuZHRlc3QuYyBzb3VyY2UgaW4gbXRkLXV0aWxzIHBhY2thZ2UuCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK PiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh aWxzLgo+IC0gKgo+ICAgKi8KPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29t bWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9udi5jIGIvY29tbWFuZHMvbnYuYwo+IGlu ZGV4IDMxNTAxOTM0NWNhYy4uOGQ0MTkyNDAyY2E1IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL252 LmMKPiArKysgYi9jb21tYW5kcy9udi5jCj4gQEAgLTEsMjEgKzEsOCBAQAo+IC0vKgo+IC0gKiBu di5jIC0gbm9uIHZvbGF0aWxlIHNoZWxsIHZhcmlhYmxlcwo+IC0gKgo+IC0gKiBDb3B5cmlnaHQg KGMpIDIwMTQgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9u aXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNv bnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK PiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKPiArCj4gKy8qIG52LmMgLSBub24gdm9sYXRpbGUgc2hlbGwgdmFy aWFibGVzICovCj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxtYWxsb2Mu aD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvb2ZfZGlm Zi5jIGIvY29tbWFuZHMvb2ZfZGlmZi5jCj4gaW5kZXggOGVmMDA2ZGVhODI3Li44YWNmZDQyYTZi ODggMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvb2ZfZGlmZi5jCj4gKysrIGIvY29tbWFuZHMvb2Zf ZGlmZi5jCj4gQEAgLTEsMTAgKzEsNyBAQAo+IC0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMAo+IC0vKgo+IC0gKiBvZl9kaWZmLmMgLSBjb21wYXJlIGRldmljZSB0cmVlIGZpbGVz Cj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxOSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVu Z3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDC qSAyMDE5IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4 Cj4gKwo+ICsvKiBvZl9kaWZmLmMgLSBjb21wYXJlIGRldmljZSB0cmVlIGZpbGVzICovCj4gIAo+ ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxmcy5oPgo+IGRpZmYgLS1naXQgYS9j b21tYW5kcy9vZl9kaXNwbGF5X3RpbWluZ3MuYyBiL2NvbW1hbmRzL29mX2Rpc3BsYXlfdGltaW5n cy5jCj4gaW5kZXggMzY1ZmY4MGMzNmM0Li4yN2I5MWYzMTFhYTggMTAwNjQ0Cj4gLS0tIGEvY29t bWFuZHMvb2ZfZGlzcGxheV90aW1pbmdzLmMKPiArKysgYi9jb21tYW5kcy9vZl9kaXNwbGF5X3Rp bWluZ3MuYwo+IEBAIC0xLDIwICsxLDcgQEAKPiAtLyoKPiAtICogb2ZfZGlzcGxheV90aW1pbmdz LmMgLSBsaXN0IGFuZCBzZWxlY3QgZGlzcGxheV90aW1pbmdzCj4gLSAqCj4gLSAqIENvcHlyaWdo dCAoYykgMjAxNCBUZXJlc2EgR8OhbWV6IDx0LmdhbWV6QHBoeXRlYy5kZT4gUEhZVEVDIE1lc3N0 ZWNobmlrIEdtYkgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9w bGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAq Lwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgt RmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgVGVyZXNhIEfDoW1leiA8dC5nYW1lekBwaHl0ZWMu ZGU+LCBQSFlURUMgTWVzc3RlY2huaWsgR21iSAo+ICsKPiArLyogb2ZfZGlzcGxheV90aW1pbmdz LmMgLSBsaXN0IGFuZCBzZWxlY3QgZGlzcGxheV90aW1pbmdzICovCj4gIAo+ICAjaW5jbHVkZSA8 Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxmaWxldHlwZS5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5k cy9vZl9kdW1wLmMgYi9jb21tYW5kcy9vZl9kdW1wLmMKPiBpbmRleCAwNmI4ZTlmY2RhMGIuLjY3 OTJhZjNhZmMzMSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9vZl9kdW1wLmMKPiArKysgYi9jb21t YW5kcy9vZl9kdW1wLmMKPiBAQCAtMSwyMSArMSw3IEBACj4gLS8qCj4gLSAqIG9mX2R1bXAuYyAt IGR1bXAgZGV2aWNldHJlZXMgdG8gdGhlIGNvbnNvbGUKPiAtICoKPiAtICogQ29weXJpZ2h0IChj KSAyMDE0IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4 Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250 cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4g LSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug dmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0 aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiAr Ly8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVD b3B5cmlnaHRUZXh0OiDCqSAyMDE0IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5k ZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICsvKiBvZl9kdW1wLmMgLSBkdW1wIGRldmljZXRyZWVzIHRv IHRoZSBjb25zb2xlICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxs aWJmaWxlLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL29mX2ZpeHVwX3N0YXR1cy5jIGIvY29t bWFuZHMvb2ZfZml4dXBfc3RhdHVzLmMKPiBpbmRleCBlMGRhNDI5YWMzOTQuLjUwYzFiYmIxNDZk MCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9vZl9maXh1cF9zdGF0dXMuYwo+ICsrKyBiL2NvbW1h bmRzL29mX2ZpeHVwX3N0YXR1cy5jCj4gQEAgLTEsMjMgKzEsMTEgQEAKPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0 OiDCqSAyMDE0LTIwMTYgUEhZVEVDIE1lc3N0ZWNobmlrIEdtYkgKPiArCj4gIC8qCj4gICAqIG9m X2ZpeHVwX3N0YXR1cy5jIC0gUmVnaXN0ZXIgYSBmaXh1cCB0byBlbmFibGUgb3IgZGlzYWJsZSBu b2RlcyBpbiB0aGUKPiAgICogZGV2aWNlIHRyZWUKPiAgICoKPiAtICogQ29weXJpZ2h0IChjKSAy MDE0LTIwMTYgUEhZVEVDIE1lc3N0ZWNobmlrIEdtYkgKPiAtICogQXV0aG9yOgo+IC0gKglUZXJl c2EgUmVtbWV0Cj4gLSAqCVdhZGltIEVnb3Jvdgo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRT IGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0 Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQg YnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAq IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KPiArICogQXV0aG9yczogVGVyZXNhIFJlbW1ldCBhbmQgV2FkaW0gRWdvcm92 Cj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5k cy9vZl9ub2RlLmMgYi9jb21tYW5kcy9vZl9ub2RlLmMKPiBpbmRleCAyOGM0MzU3YzVkOTcuLjdk NGViNDg2ZWRiZCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9vZl9ub2RlLmMKPiArKysgYi9jb21t YW5kcy9vZl9ub2RlLmMKPiBAQCAtMSwyMSArMSw3IEBACj4gLS8qCj4gLSAqIG9mX25vZGUuYyAt IGRldmljZSB0cmVlIG5vZGUgaGFuZGxpbmcgc3VwcG9ydAo+IC0gKgo+IC0gKiBDb3B5cmlnaHQg KGMpIDIwMTMgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9u aXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNv bnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK PiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k YXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJ VFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTMgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4 LmRlPiwgUGVuZ3V0cm9uaXgKPiArCj4gKy8qIG9mX25vZGUuYyAtIGRldmljZSB0cmVlIG5vZGUg aGFuZGxpbmcgc3VwcG9ydCAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVk ZSA8ZW52aXJvbm1lbnQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvb2Zfb3ZlcmxheS5jIGIv Y29tbWFuZHMvb2Zfb3ZlcmxheS5jCj4gaW5kZXggZGUzYzNkY2VlNTBlLi5hYTRiNjQ4NGNhMWIg MTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvb2Zfb3ZlcmxheS5jCj4gKysrIGIvY29tbWFuZHMvb2Zf b3ZlcmxheS5jCj4gQEAgLTEsMTkgKzEsNSBAQAo+IC0vLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTkgTWljaGFlbCBUcmV0dGVy IDxtLnRyZXR0ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+ IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxOSBN aWNoYWVsIFRyZXR0ZXIgPG0udHJldHRlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4g IAo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gZGlmZiAt LWdpdCBhL2NvbW1hbmRzL29mX3Byb3BlcnR5LmMgYi9jb21tYW5kcy9vZl9wcm9wZXJ0eS5jCj4g aW5kZXggMWQ3YmExODFkNWYwLi4zZDUwOTcxNjViNTkgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMv b2ZfcHJvcGVydHkuYwo+ICsrKyBiL2NvbW1hbmRzL29mX3Byb3BlcnR5LmMKPiBAQCAtMSwyMSAr MSw3IEBACj4gLS8qCj4gLSAqIG9mX3Byb3BlcnR5LmMgLSBkZXZpY2UgdHJlZSBwcm9wZXJ0eSBo YW5kbGluZyBzdXBwb3J0Cj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxMyBTYXNjaGEgSGF1 ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+ IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBh cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICog VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1 c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBp bXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkg MjAxMyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ ICsKPiArLyogb2ZfcHJvcGVydHkuYyAtIGRldmljZSB0cmVlIHByb3BlcnR5IGhhbmRsaW5nIHN1 cHBvcnQgKi8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGVudmlyb25t ZW50Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL29mdHJlZS5jIGIvY29tbWFuZHMvb2Z0cmVl LmMKPiBpbmRleCAyOTljMmVkZmNkMDAuLjFkOTAyZjI4MzAyMSAxMDA2NDQKPiAtLS0gYS9jb21t YW5kcy9vZnRyZWUuYwo+ICsrKyBiL2NvbW1hbmRzL29mdHJlZS5jCj4gQEAgLTEsMjYgKzEsMTQg QEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERY LUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDExIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRy b25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICAvKgo+ICAgKiBvZnRyZWUuYyAtIGRldmljZSB0 cmVlIGNvbW1hbmQgc3VwcG9ydAo+ICAgKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgU2FzY2hh IEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAgICog YmFzZWQgb24gVS1Cb290IGNvZGUgYnk6Cj4gICAqCj4gICAqIEdlcmFsZCBWYW4gQmFyZW4sIEN1 c3RvbSBJREVBUywgdmFuYmFyZW5AY2lkZWFzLmNvbQo+ICAgKiBQYW50ZWxpcyBBbnRvbmlvdSA8 cGFudGVsaXMuYW50b25pb3VAZ21haWwuY29tPiBhbmQKPiAgICogTWF0dGhldyBNY0NsaW50b2Nr IDxtc21AZnJlZXNjYWxlLmNvbT4KPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlz dCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0 cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+ IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu ICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCj4gLSAqCj4gICAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+IGRpZmYgLS1naXQg YS9jb21tYW5kcy9wYXJ0aXRpb24uYyBiL2NvbW1hbmRzL3BhcnRpdGlvbi5jCj4gaW5kZXggNjRj Y2FmMDgxM2QyLi40NGVlMDM1OWJmODcgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvcGFydGl0aW9u LmMKPiArKysgYi9jb21tYW5kcy9wYXJ0aXRpb24uYwo+IEBAIC0xLDIxICsxLDkgQEAKPiArLy8g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5 cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4s IFBlbmd1dHJvbml4Cj4gKwo+ICAvKgo+ICAgKiBwYXJ0aXRpb24uYyAtIHBhcnNlIGEgbGludXgt bGlrZSBtdGQgcGFydGl0aW9uIGRlZmluaXRpb24gYW5kIHJlZ2lzdGVyCj4gICAqICAgICAgICAg ICAgICAgdGhlIG5ldyBwYXJ0aXRpb25zCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAwNyBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+ IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g Mgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gIAo+ICAvKioK PiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvcGFzc3dkLmMgYi9jb21tYW5kcy9wYXNzd2QuYwo+IGlu ZGV4IDZmNjg3MDBjMjU3Ni4uZGZjYzYzNjIzYTdmIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3Bh c3N3ZC5jCj4gKysrIGIvY29tbWFuZHMvcGFzc3dkLmMKPiBAQCAtMSwxOSArMSw1IEBACj4gLS8q Cj4gLSAqIENvcHlyaWdodCAoYykgMjAwOC0yMDEwIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1W SUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJ VFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2pl Y3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAt ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA4LTIwMTAg SmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJTExBUkQgPHBsYWduaW9qQGpjcm9zb2Z0LmNvbT4K PiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZm IC0tZ2l0IGEvY29tbWFuZHMvcG93ZXJvZmYuYyBiL2NvbW1hbmRzL3Bvd2Vyb2ZmLmMKPiBpbmRl eCBiYmFmYTEzYmQwZmUuLjkzMjBjMDdhNmM1ZiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9wb3dl cm9mZi5jCj4gKysrIGIvY29tbWFuZHMvcG93ZXJvZmYuYwo+IEBAIC0xLDIxICsxLDcgQEAKPiAt LyoKPiAtICogcG93ZXJvZmYuYyAtIHR1cm4gYm9hcmQncyBwb3dlciBvZmYKPiAtICoKPiAtICog Q29weXJpZ2h0IChDKSAyMDExIEFudG9ueSBQYXZsb3YgPGFudG9ueW5wYXZsb3ZAZ21haWwuY29t Pgo+IC0gKgo+IC0gKiBUaGlzIGZpbGUgaXMgcGFydCBvZiBiYXJlYm94Lgo+IC0gKiBTZWUgZmls ZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcyBwcm9q ZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNo ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4g LSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh cnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y IG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMSBBbnRv bnkgUGF2bG92IDxhbnRvbnlucGF2bG92QGdtYWlsLmNvbT4KPiArCj4gKy8qIHBvd2Vyb2ZmLmMg LSB0dXJuIGJvYXJkJ3MgcG93ZXIgb2ZmICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4g ICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3ByaW50ZW52LmMg Yi9jb21tYW5kcy9wcmludGVudi5jCj4gaW5kZXggMTYxYzIxNDQ2Mjc5Li5mZmU0NjNlNjU0NDAg MTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvcHJpbnRlbnYuYwo+ICsrKyBiL2NvbW1hbmRzL3ByaW50 ZW52LmMKPiBAQCAtMSwxOSArMSw1IEBACj4gLS8qCj4gLSAqIENvcHlyaWdodCAoYykgMjAwNyBT YXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+ IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQg dG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24g Mgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAt ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg d2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0 VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5n dXRyb25peAo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5o Pgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9wd2QuYyBiL2NvbW1hbmRzL3B3ZC5jCj4gaW5kZXgg ZDVkZDE2MTkzMTdiLi43YTFmZTk3YzQwYWYgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvcHdkLmMK PiArKysgYi9jb21tYW5kcy9wd2QuYwo+IEBAIC0xLDIxICsxLDggQEAKPiAtLyoKPiAtICogcHdk LmMgLSBwcmludCB3b3JraW5nIGRpcmVjdG9yeQo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIw MDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAt ICoKPiAtICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1 dGVkIHRvIHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZy ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICog aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJz aW9uIDIKPiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24u Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHly aWdodFRleHQ6IMKpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwg UGVuZ3V0cm9uaXgKPiArCj4gKy8qIHB3ZC5jIC0gcHJpbnQgd29ya2luZyBkaXJlY3RvcnkgKi8K PiArCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiAgI2lu Y2x1ZGUgPGNvbXBsZXRlLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3JlYWRsaW5lLmMgYi9j b21tYW5kcy9yZWFkbGluZS5jCj4gaW5kZXggYjZlMGUzZTA5MTNiLi5lZjU0YjVlOTJmMjAgMTAw NjQ0Cj4gLS0tIGEvY29tbWFuZHMvcmVhZGxpbmUuYwo+ICsrKyBiL2NvbW1hbmRzL3JlYWRsaW5l LmMKPiBAQCAtMSwyMSArMSw1IEBACj4gLS8qCj4gLSAqIChDKSBDb3B5cmlnaHQgMjAwMC0yMDAz Cj4gLSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbngu ZGUuCj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDAwLTIwMDMgV29sZmdhbmcgRGVu ayA8d2RAZGVueC5kZT4sIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcKPiAgCj4gICNpbmNsdWRl IDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFu ZHMvcmVhZGxpbmsuYyBiL2NvbW1hbmRzL3JlYWRsaW5rLmMKPiBpbmRleCAyZGZhNTY2Njc1ZjEu LmZkY2YxNzVmNTZiYiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9yZWFkbGluay5jCj4gKysrIGIv Y29tbWFuZHMvcmVhZGxpbmsuYwo+IEBAIC0xLDIxICsxLDcgQEAKPiAtLyoKPiAtICogcmVhZGxp bmsuYyAtIHJlYWQgdmFsdWUgb2YgYSBzeW1ib2xpYyBsaW5rCj4gLSAqCj4gLSAqIENvcHlyaWdo dCAoYykgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNy b3NvZnQuY29tPgo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3Bs ZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y IG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK PiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoK PiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKZWFuLUNocmlzdG9waGUgUExBR05JT0wt VklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ICsKPiArLyogcmVhZGxpbmsuYyAtIHJl YWQgdmFsdWUgb2YgYSBzeW1ib2xpYyBsaW5rICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+ Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3JlZ2luZm8u YyBiL2NvbW1hbmRzL3JlZ2luZm8uYwo+IGluZGV4IDM3ODE2Y2IyNjEzMy4uYmQ0NmNmMTVlN2Rl IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3JlZ2luZm8uYwo+ICsrKyBiL2NvbW1hbmRzL3JlZ2lu Zm8uYwo+IEBAIC0xLDIxICsxLDcgQEAKPiAtLyoKPiAtICogcmVnaW5mby5jIC0gcHJpbnQgaW5m b3JtYXRpb24gYWJvdXQgU29DIHNwZWNpZmMgcmVnaXN0ZXJzCj4gLSAqCj4gLSAqIENvcHlyaWdo dCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9u aXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogcmVnaW5mby5jIC0gcHJpbnQgaW5mb3JtYXRp b24gYWJvdXQgU29DIHNwZWNpZmMgcmVnaXN0ZXJzICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9u Lmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3JlZ3Vs YXRvci5jIGIvY29tbWFuZHMvcmVndWxhdG9yLmMKPiBpbmRleCBlMGI3MDRmODhhMjQuLjNlMjU5 NWY4YmZjMSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9yZWd1bGF0b3IuYwo+ICsrKyBiL2NvbW1h bmRzL3JlZ3VsYXRvci5jCj4gQEAgLTEsMjEgKzEsOCBAQAo+IC0vKgo+IC0gKiByZWd1bGF0b3Ig Y29tbWFuZAo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTQgU2FzY2hhIEhhdWVyIDxzLmhh dWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JF RElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJv amVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTQgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiArCj4gKy8q IHJlZ3VsYXRvciBjb21tYW5kICovCj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNs dWRlIDxjb21tYW5kLmg+Cj4gICNpbmNsdWRlIDxyZWd1bGF0b3IuaD4KPiBkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvcmVzZXQuYyBiL2NvbW1hbmRzL3Jlc2V0LmMKPiBpbmRleCA2ZWFjNTMyNjIzZjcu LjJiMTBmMWNkMTgzYSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy9yZXNldC5jCj4gKysrIGIvY29t bWFuZHMvcmVzZXQuYwo+IEBAIC0xLDIxICsxLDcgQEAKPiAtLyoKPiAtICogcmVzZXQuYyAtIHJl c2V0IHRoZSBjcHUKPiAtICoKPiAtICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8 cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxl IENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAq IHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3 IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ ICsvKiByZXNldC5jIC0gcmVzZXQgdGhlIGNwdSAqLwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9ybS5jIGIv Y29tbWFuZHMvcm0uYwo+IGluZGV4IDRlZWJiM2QxNTk5OS4uYmE1MmIxODVjYjM0IDEwMDY0NAo+ IC0tLSBhL2NvbW1hbmRzL3JtLmMKPiArKysgYi9jb21tYW5kcy9ybS5jCj4gQEAgLTEsMjEgKzEs OCBAQAo+IC0vKgo+IC0gKiBybS5jIC0gcmVtb3ZlIGZpbGVzCj4gLSAqCj4gLSAqIENvcHlyaWdo dCAoYykgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRy b25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8g Y29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBo b3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5U WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJ TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICov Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1G aWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9u aXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogcm0uYyAtIHJlbW92ZSBmaWxlcyAqLwo+ICsK PiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVk ZSA8ZnMuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvc2F2ZWVudi5jIGIvY29tbWFuZHMvc2F2 ZWVudi5jCj4gaW5kZXggYmMxMjAyZjlhMTFiLi4yMDM3MjllZmJiMWEgMTAwNjQ0Cj4gLS0tIGEv Y29tbWFuZHMvc2F2ZWVudi5jCj4gKysrIGIvY29tbWFuZHMvc2F2ZWVudi5jCj4gQEAgLTEsMTkg KzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMDcgU2FzY2hhIEhhdWVyIDxzLmhh dWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JF RElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJv amVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g cmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlz aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+ IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMDcgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAgCj4gICNp bmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEv Y29tbWFuZHMvc2VlZC5jIGIvY29tbWFuZHMvc2VlZC5jCj4gaW5kZXggZTM3OGNkNzYzNTQ2Li4z OTQ3MjA4ODM0ZmYgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvc2VlZC5jCj4gKysrIGIvY29tbWFu ZHMvc2VlZC5jCj4gQEAgLTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiAoYykgMjAxNyBPbGVrc2lq IFJlbXBlbCA8a2VybmVsQHBlbmd1dHJvbml4LmRlPgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+ IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGFzIHB1Ymxpc2hlZCBieQo+IC0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgo+IC0gKiAoYXQgeW91ciBvcHRpb24pIGFu eSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0g Ki8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8g U1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxNyBPbGVrc2lqIFJlbXBlbCA8a2VybmVsQHBl bmd1dHJvbml4LmRlPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29t bWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy9zZXRlbnYuYyBiL2NvbW1hbmRzL3NldGVu di5jCj4gaW5kZXggYWY0ZGQyOWFjNDU3Li4zY2Y3NjlkMjRhNjggMTAwNjQ0Cj4gLS0tIGEvY29t bWFuZHMvc2V0ZW52LmMKPiArKysgYi9jb21tYW5kcy9zZXRlbnYuYwo+IEBAIC0xLDE5ICsxLDUg QEAKPiAtLyoKPiAtICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5oYXVlckBw ZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMg Zm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3Qu Cj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxpc2hlZCBi eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0g aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICog YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y ZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gIAo+ICAjaW5jbHVk ZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1h bmRzL3NsZWVwLmMgYi9jb21tYW5kcy9zbGVlcC5jCj4gaW5kZXggMjQ5MWRjMjYxZGJkLi5iNDYy ZWY0NDEzOTUgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvc2xlZXAuYwo+ICsrKyBiL2NvbW1hbmRz L3NsZWVwLmMKPiBAQCAtMSwyMSArMSw3IEBACj4gLS8qCj4gLSAqIHNsZWVwLmMgLSBkZWxheSBl eGVjdXRpb24KPiAtICoKPiAtICogQ29weXJpZ2h0IChjKSAyMDA3IFNhc2NoYSBIYXVlciA8cy5o YXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENS RURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAqIHBy b2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1Ymxp c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK PiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElD VUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNh c2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICsv KiBzbGVlcC5jIC0gZGVsYXkgZXhlY3V0aW9uICovCj4gIAo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+ Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3NtYy5jIGIv Y29tbWFuZHMvc21jLmMKPiBpbmRleCA4NDEwMmYzMjQ5YmMuLjJhNTNlMWI2NDc1MiAxMDA2NDQK PiAtLS0gYS9jb21tYW5kcy9zbWMuYwo+ICsrKyBiL2NvbW1hbmRzL3NtYy5jCj4gQEAgLTEsNCAr MSw0IEBACj4gLS8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wCj4gKy8vIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiAgCj4gICNpbmNsdWRlIDxjb21tb24u aD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvc3BkX2Rl Y29kZS5jIGIvY29tbWFuZHMvc3BkX2RlY29kZS5jCj4gaW5kZXggMDhiOTU4OTYyMjQ5Li5lOGVl MzM5YTkxYjIgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvc3BkX2RlY29kZS5jCj4gKysrIGIvY29t bWFuZHMvc3BkX2RlY29kZS5jCj4gQEAgLTEsMjUgKzEsMTAgQEAKPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4 dDogwqkgMjAxNSBBbGV4YW5kZXIgU21pcm5vdiA8YWxsbGVjc0B5YW5kZXgucnU+Cj4gKwo+ICAv Kgo+ICAgKiBUaGlzIHByb2dyYW0gaXMgZGVjb2RpbmcgYW5kIHByaW50aW5nIFNQRCBjb250ZW50 cwo+ICAgKiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQKPiAgICogQXMgYW4gYXJndW1lbnQgcHJv Z3JhbSwgeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZSBuYW1lLgo+IC0gKgo+IC0gKiBUaGlzIHBy b2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4g LSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u OyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4gLSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTICJBUyBJUyIKPiAt ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg Tk9UIExJTUlURUQgVE8sCj4gLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKPiAtICogUFVSUE9TRSBBUkUgRElT Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQUxURVJBIENPUlBPUkFUSU9OIEJFIExJQUJMRQo+ IC0gKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q TEFSWSwgT1IgQ09OU0VRVUVOVElBTAo+IC0gKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgo+IC0gKiBTRVJW SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ VElPTikgSE9XRVZFUgo+IC0gKiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAo+IC0gKiBPUiBUT1JUIChJ TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg T0YKPiAtICogVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIw MTUgQWxleGFuZGVyIFNtaXJub3YgPGFsbGxlY3NAeWFuZGV4LnJ1Pgo+ICAgKi8KPiAgCj4gICNp bmNsdWRlIDxjb21tb24uaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvc3BpLmMgYi9jb21tYW5k cy9zcGkuYwo+IGluZGV4IGQzNWFhMWNkODFjOS4uYzZjZmQ0ZmJiYTc4IDEwMDY0NAo+IC0tLSBh L2NvbW1hbmRzL3NwaS5jCj4gKysrIGIvY29tbWFuZHMvc3BpLmMKPiBAQCAtMSw5ICsxLDUgQEAK PiAtLyoKPiAtICogQ29weXJpZ2h0IChjKSAyMDEyIEplYW4tQ2hyaXN0b3BoZSBQTEFHTklPTC1W SUxMQVJEIDxwbGFnbmlvakBqY3Jvc29mdC5jb20+Cj4gLSAqCj4gLSAqIFVuZGVyIEdQTHYyIG9u bHkKPiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9u bHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBKZWFuLUNocmlzdG9waGUg UExBR05JT0wtVklMTEFSRCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ICAKPiAgI2luY2x1ZGUg PGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5k cy9zdGF0ZS5jIGIvY29tbWFuZHMvc3RhdGUuYwo+IGluZGV4IDBkYmNhOWYzYjc4My4uZTdjYjk5 MDJmNzFhIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3N0YXRlLmMKPiArKysgYi9jb21tYW5kcy9z dGF0ZS5jCj4gQEAgLTEsMTYgKzEsNSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg SmFuIEx1ZWJiZSA8ai5sdWViYmVAcGVuZ3V0cm9uaXguZGU+Cj4gLSAqCj4gLSAqIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4gLSAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247 IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4gLSAqIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmli dXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0g KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu Cj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDEyIEphbiBMdWViYmUgPGoubHVlYmJl QHBlbmd1dHJvbml4LmRlPgo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8 Z2V0b3B0Lmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3N0ZGRldi5jIGIvY29tbWFuZHMvc3Rk ZGV2LmMKPiBpbmRleCAyYjNkMDg0YzgzNTMuLmU5YjdkY2MwZDJmMyAxMDA2NDQKPiAtLS0gYS9j b21tYW5kcy9zdGRkZXYuYwo+ICsrKyBiL2NvbW1hbmRzL3N0ZGRldi5jCj4gQEAgLTEsMTkgKzEs NSBAQAo+IC0vKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVy QHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICogU2VlIGZpbGUgQ1JFRElU UyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRoaXMKPiAtICogcHJvamVj dC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAtICogYXMgcHVibGlzaGVk IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0g KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS IFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog R1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgU2FzY2hh IEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAgCj4gICNpbmNs dWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGluaXQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFu ZHMvdGVzdC5jIGIvY29tbWFuZHMvdGVzdC5jCj4gaW5kZXggODY2MzZkZTFjMjgzLi41MDViN2M1 NmIxYTQgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvdGVzdC5jCj4gKysrIGIvY29tbWFuZHMvdGVz dC5jCj4gQEAgLTEsMjMgKzEsMTEgQEAKPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQ TC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA3IFNhc2NoYSBI YXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKwo+ICAvKgo+ICAg KiB0ZXN0LmMgLSBzaCBsaWtlIHRlc3QKPiAgICoKPiAtICogT3JpZ2luYWxseSBiYXNlZCBvbiBi YXJlYm94cyBkb190ZXN0LCBidXQgbW9zdGx5IHJlaW1wbGVtZW50ZWQKPiArICogT3JpZ2luYWxs eSBiYXNlZCBvbiBiYXJlYm94J3MgZG9fdGVzdCwgYnV0IG1vc3RseSByZWltcGxlbWVudGVkCj4g ICAqIGZvciBzbWFsbGVyIGJpbmFyeSBzaXplCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAw NyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0g Kgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0 ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNp b24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAgICovCj4gICNpbmNs dWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29t bWFuZHMvdGZ0cC5jIGIvY29tbWFuZHMvdGZ0cC5jCj4gaW5kZXggMDgzNjZiNDc2ZjhjLi4xNTY5 ODE5ODQ0YmYgMTAwNjQ0Cj4gLS0tIGEvY29tbWFuZHMvdGZ0cC5jCj4gKysrIGIvY29tbWFuZHMv dGZ0cC5jCj4gQEAgLTEsMjAgKzEsOCBAQAo+IC0vKgo+IC0gKiB0ZnRwLmMgLSAodXApbG9hZCB0 ZnRwIGZpbGVzCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAxMiBTYXNjaGEgSGF1ZXIgPHMu aGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBD UkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBw cm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJs aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws Cj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug Zm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBH UEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAxMiBTYXNjaGEg SGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsKPiArLyogdGZ0 cC5jIC0gKHVwKWxvYWQgdGZ0cCBmaWxlcyAqLwo+ICsKPiAgI2luY2x1ZGUgPGNvbW1vbi5oPgo+ ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8bGludXgvc3RhdC5oPgo+IGRpZmYg LS1naXQgYS9jb21tYW5kcy90aW1lb3V0LmMgYi9jb21tYW5kcy90aW1lb3V0LmMKPiBpbmRleCBk Yjg4OTAwMjg3ZmMuLmJhNTU4NDZjNTU4MiAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy90aW1lb3V0 LmMKPiArKysgYi9jb21tYW5kcy90aW1lb3V0LmMKPiBAQCAtMSwyMSArMSw3IEBACj4gLS8qCj4g LSAqIHRpbWVvdXQgLSB3YWl0IGZvciB0aW1lb3V0Cj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykg MjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJp YnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0g KiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZl cnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv bi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo YXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8v IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+ LCBQZW5ndXRyb25peAo+ICsKPiArLyogdGltZW91dCAtIHdhaXQgZm9yIHRpbWVvdXQgKi8KPiAg Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gICNpbmNsdWRlIDxlcnJuby5oPgo+IGRpZmYgLS1n aXQgYS9jb21tYW5kcy90cmlnZ2VyLmMgYi9jb21tYW5kcy90cmlnZ2VyLmMKPiBpbmRleCAwZGQz YjM0NmZhYTYuLmMxNDAyYjY2ZjA0OSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy90cmlnZ2VyLmMK PiArKysgYi9jb21tYW5kcy90cmlnZ2VyLmMKPiBAQCAtMSwyMiArMSw3IEBACj4gLS8qCj4gLSAq IExFRCB0cmlnZ2VyIGNvbW1hbmQgc3VwcG9ydCBmb3IgYmFyZWJveAo+IC0gKgo+IC0gKiAoQykg Q29weXJpZ2h0IDIwMTAgU2FzY2hhIEhhdWVyLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUg ZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+ IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4gLSAqIHB1Ymxpc2hl ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mCj4g LSAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgo+ IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPiArLy8gU1BEWC1GaWxlQ29w eXJpZ2h0VGV4dDogwqkgMjAxMCBTYXNjaGEgSGF1ZXIsIFBlbmd1dHJvbml4Cj4gKwo+ICsvKiBM RUQgdHJpZ2dlciBjb21tYW5kIHN1cHBvcnQgZm9yIGJhcmVib3ggKi8KPiAgCj4gICNpbmNsdWRl IDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGxlZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy90 cnVlLmMgYi9jb21tYW5kcy90cnVlLmMKPiBpbmRleCBhZDJiZThlOGViMjAuLmJlNzZjZTVkMjFh NCAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy90cnVlLmMKPiArKysgYi9jb21tYW5kcy90cnVlLmMK PiBAQCAtMSwyMSArMSw1IEBACj4gLS8qCj4gLSAqIChDKSBDb3B5cmlnaHQgMjAwMC0yMDAzCj4g LSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbnguZGUu Cj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250 cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhl ciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBp biB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJD SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl Cj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAq Cj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDAwLTIwMDMgV29sZmdhbmcgRGVuayA8 d2RAZGVueC5kZT4sIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcKPiAgCj4gICNpbmNsdWRlIDxj b21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMv dWJpZm9ybWF0LmMgYi9jb21tYW5kcy91Ymlmb3JtYXQuYwo+IGluZGV4IDc1MzdlNmI1Njc4Yy4u NzVjZjIzNGUyZTU1IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3ViaWZvcm1hdC5jCj4gKysrIGIv Y29tbWFuZHMvdWJpZm9ybWF0LmMKPiBAQCAtMSwxNyArMSw2IEBACj4gLS8qCj4gLSAqIENvcHly aWdodCAoQykgMjAwOCBOb2tpYSBDb3Jwb3JhdGlvbgo+IC0gKiBDb3B5cmlnaHQgKEMpIDIwMTIg V29sZnJhbSBTYW5nLCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQo+IC0gKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgo+IC0gKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUKPiAtICogdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqLwo+ICsv LyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRlcgo+ICsvLyBTUERYLUZp bGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA4IE5va2lhIENvcnBvcmF0aW9uCj4gKy8vIFNQRFgtRmls ZUNvcHlyaWdodFRleHQ6IMKpIDIwMTIgV29sZnJhbSBTYW5nLCBQZW5ndXRyb25peAo+ICAKPiAg LyoKPiAgICogQW4gdXRpbGl0eSB0byBmb3JtYXQgTVREIGRldmljZXMgaW50byBVQkkgYW5kIGZs YXNoIFVCSSBpbWFnZXMuCj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3Vic2FuLmMgYi9jb21tYW5k cy91YnNhbi5jCj4gaW5kZXggNzg0Njc4ZDM5OWQ5Li42MjBiNDc3NGMzYzIgMTAwNjQ0Cj4gLS0t IGEvY29tbWFuZHMvdWJzYW4uYwo+ICsrKyBiL2NvbW1hbmRzL3Vic2FuLmMKPiBAQCAtMSw0ICsx LDUgQEAKPiAtLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAKPiArLy8gU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb25seQo+ICsKPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8YWJvcnQuaD4KPiBkaWZmIC0t Z2l0IGEvY29tbWFuZHMvdW1vdW50LmMgYi9jb21tYW5kcy91bW91bnQuYwo+IGluZGV4IGZkZjRk YTk1YTAyMS4uYjI2YzdjMzk0MmFiIDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3Vtb3VudC5jCj4g KysrIGIvY29tbWFuZHMvdW1vdW50LmMKPiBAQCAtMSwyMSArMSw4IEBACj4gLS8qCj4gLSAqIHVt b3VudC5jIC0gdW1vdW50IGZpbGVzeXN0ZW1zCj4gLSAqCj4gLSAqIENvcHlyaWdodCAoYykgMjAw NyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+IC0g Kgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9mIHBlb3BsZSB3aG8gY29udHJpYnV0 ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0gKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo+IC0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNp b24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4K PiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg aXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91 dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICoKPiAtICovCj4gKy8vIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkKPiArLy8gU1BEWC1GaWxlQ29weXJp Z2h0VGV4dDogwqkgMjAwNyBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXguZGU+LCBQ ZW5ndXRyb25peAo+ICsKPiArLyogdW1vdW50LmMgLSB1bW91bnQgZmlsZXN5c3RlbXMgKi8KPiAr Cj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiAgI2luY2x1 ZGUgPGZzLmg+Cj4gZGlmZiAtLWdpdCBhL2NvbW1hbmRzL3VuY29tcHJlc3MuYyBiL2NvbW1hbmRz L3VuY29tcHJlc3MuYwo+IGluZGV4IDM4ZDUzZTc0OTE4OS4uMTA4ODRkNjc1YjNkIDEwMDY0NAo+ IC0tLSBhL2NvbW1hbmRzL3VuY29tcHJlc3MuYwo+ICsrKyBiL2NvbW1hbmRzL3VuY29tcHJlc3Mu Ywo+IEBAIC0xLDIxICsxLDcgQEAKPiAtLyoKPiAtICogdW5jb21wcmVzcy5jIC0gdW5jb21wcmVz cyBhIGNvbXByZXNzZWQgZmlsZQo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTAgU2FzY2hh IEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAtICog U2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRvIHRo aXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIKPiAt ICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAqCj4g LSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg YmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTAgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9u aXgKPiArCj4gKy8qIHVuY29tcHJlc3MuYyAtIHVuY29tcHJlc3MgYSBjb21wcmVzc2VkIGZpbGUg Ki8KPiAgCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAgI2luY2x1ZGUgPGNvbW1hbmQuaD4KPiBk aWZmIC0tZ2l0IGEvY29tbWFuZHMvdXNiLmMgYi9jb21tYW5kcy91c2IuYwo+IGluZGV4IDlhMjNh YTIyOWQxYy4uY2E4ZDNlMGQ1MjQ4IDEwMDY0NAo+IC0tLSBhL2NvbW1hbmRzL3VzYi5jCj4gKysr IGIvY29tbWFuZHMvdXNiLmMKPiBAQCAtMSwyMSArMSw4IEBACj4gLS8qCj4gLSAqIHVzYi5jIC0g cmVzY2FuIGZvciBVU0IgZGV2aWNlcwo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgU2Fz Y2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0cm9uaXgKPiAtICoKPiAt ICogU2VlIGZpbGUgQ1JFRElUUyBmb3IgbGlzdCBvZiBwZW9wbGUgd2hvIGNvbnRyaWJ1dGVkIHRv IHRoaXMKPiAtICogcHJvamVjdC4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29m dHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIK PiAtICogYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCj4gLSAq Cj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4gLSAqCj4gLSAqLwo+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vbmx5Cj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRl eHQ6IMKpIDIwMTEgU2FzY2hhIEhhdWVyIDxzLmhhdWVyQHBlbmd1dHJvbml4LmRlPiwgUGVuZ3V0 cm9uaXgKPiArCj4gKy8qIHVzYi5jIC0gcmVzY2FuIGZvciBVU0IgZGV2aWNlcyAqLwo+ICsKPiAg I2luY2x1ZGUgPGNvbW1vbi5oPgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+ICAjaW5jbHVkZSA8 Y29tcGxldGUuaD4KPiBkaWZmIC0tZ2l0IGEvY29tbWFuZHMvdXNiZ2FkZ2V0LmMgYi9jb21tYW5k cy91c2JnYWRnZXQuYwo+IGluZGV4IGU4ZTFlOWFkYWM3OS4uMTkzZGE4NmRlZTVkIDEwMDY0NAo+ IC0tLSBhL2NvbW1hbmRzL3VzYmdhZGdldC5jCj4gKysrIGIvY29tbWFuZHMvdXNiZ2FkZ2V0LmMK PiBAQCAtMSwyMyArMSw5IEBACj4gLS8qCj4gLSAqIHVzYnNlcmlhbC5jIC0gdXNiIHNlcmlhbCBn YWRnZXQgY29tbWFuZAo+IC0gKgo+IC0gKiBDb3B5cmlnaHQgKGMpIDIwMTEgRXJpYyBCw6luYXJk IDxlcmljQGV1a3JlYS5jb20+LCBFdWtyw6lhIEVsZWN0cm9tYXRpcXVlCj4gLSAqIGJhc2VkIG9u IGRmdS5jIHdoaWNoIGlzIDoKPiAtICogQ29weXJpZ2h0IChjKSAyMDA5IFNhc2NoYSBIYXVlciA8 cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gLSAqCj4gLSAqIFNlZSBmaWxl IENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBjb250cmlidXRlZCB0byB0aGlzCj4gLSAq IHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCj4gLSAqIGFzIHB1 Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgo+IC0gKgo+IC0gKiBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKPiAtICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+IC0gKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKi8KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEdQTC0yLjAtb25seQo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSAyMDA5 IFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4sIFBlbmd1dHJvbml4Cj4gKy8v IFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6IMKpIDIwMTEgRXJpYyBCw6luYXJkIDxlcmljQGV1a3Jl YS5jb20+LCBFdWtyw6lhIEVsZWN0cm9tYXRpcXVlCj4gKwo+ICsvKiB1c2JzZXJpYWwuYyAtIHVz YiBzZXJpYWwgZ2FkZ2V0IGNvbW1hbmQgKi8KPiArCj4gICNpbmNsdWRlIDxjb21tb24uaD4KPiAg I2luY2x1ZGUgPGNvbW1hbmQuaD4KPiAgI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+Cj4gZGlmZiAt LWdpdCBhL2NvbW1hbmRzL3VzYnNlcmlhbC5jIGIvY29tbWFuZHMvdXNic2VyaWFsLmMKPiBpbmRl eCBhZDZiYzYzZmNjOWIuLjU2NzAxOGMyMzM1YSAxMDA2NDQKPiAtLS0gYS9jb21tYW5kcy91c2Jz ZXJpYWwuYwo+ICsrKyBiL2NvbW1hbmRzL3VzYnNlcmlhbC5jCj4gQEAgLTEsMjMgKzEsOSBAQAo+ IC0vKgo+IC0gKiB1c2JzZXJpYWwuYyAtIHVzYiBzZXJpYWwgZ2FkZ2V0IGNvbW1hbmQKPiAtICoK PiAtICogQ29weXJpZ2h0IChjKSAyMDExIEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPiwg RXVrcsOpYSBFbGVjdHJvbWF0aXF1ZQo+IC0gKiBiYXNlZCBvbiBkZnUuYyB3aGljaCBpcyA6Cj4g LSAqIENvcHlyaWdodCAoYykgMjAwOSBTYXNjaGEgSGF1ZXIgPHMuaGF1ZXJAcGVuZ3V0cm9uaXgu ZGU+LCBQZW5ndXRyb25peAo+IC0gKgo+IC0gKiBTZWUgZmlsZSBDUkVESVRTIGZvciBsaXN0IG9m IHBlb3BsZSB3aG8gY29udHJpYnV0ZWQgdG8gdGhpcwo+IC0gKiBwcm9qZWN0Lgo+IC0gKgo+IC0g KiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg YW5kL29yIG1vZGlmeQo+IC0gKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMgo+IC0gKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbi4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAq IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl ZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K PiAtICoKPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBHUEwtMi4wLW9ubHkK PiArLy8gU1BEWC1GaWxlQ29weXJpZ2h0VGV4dDogwqkgMjAwOSBTYXNjaGEgSGF1ZXIgPHMuaGF1 ZXJAcGVuZ3V0cm9uaXguZGU+LCBQZW5ndXRyb25peAo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRU ZXh0OiDCqSAyMDExIEVyaWMgQsOpbmFyZCA8ZXJpY0BldWtyZWEuY29tPiwgRXVrcsOpYSBFbGVj dHJvbWF0aXF1ZQo+ICsKPiArLyogdXNic2VyaWFsLmMgLSB1c2Igc2VyaWFsIGdhZGdldCBjb21t YW5kICovCj4gKwo+ICAjaW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+ Cj4gICNpbmNsdWRlIDxlcnJuby5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy92ZXJzaW9uLmMg Yi9jb21tYW5kcy92ZXJzaW9uLmMKPiBpbmRleCAwOTBmMmRkMTM2ZGUuLjc2NGMyMDg3NjcwMyAx MDA2NDQKPiAtLS0gYS9jb21tYW5kcy92ZXJzaW9uLmMKPiArKysgYi9jb21tYW5kcy92ZXJzaW9u LmMKPiBAQCAtMSwyMSArMSw1IEBACj4gLS8qCj4gLSAqIChDKSBDb3B5cmlnaHQgMjAwMC0yMDAz Cj4gLSAqIFdvbGZnYW5nIERlbmssIERFTlggU29mdHdhcmUgRW5naW5lZXJpbmcsIHdkQGRlbngu ZGUuCj4gLSAqCj4gLSAqIFNlZSBmaWxlIENSRURJVFMgZm9yIGxpc3Qgb2YgcGVvcGxlIHdobyBj b250cmlidXRlZCB0byB0aGlzCj4gLSAqIHByb2plY3QuCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKPiAtICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKPiAtICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp dGhlciB2ZXJzaW9uIDIgb2YKPiAtICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAo+IC0gKiBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgo+IC0gKiBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCj4gLSAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4g LSAqCj4gLSAqLwo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMC1vci1sYXRl cgo+ICsvLyBTUERYLUZpbGVDb3B5cmlnaHRUZXh0OiDCqSBXb2xmZ2FuZyBEZW5rIDx3ZEBkZW54 LmRlPiwgREVOWCBTb2Z0d2FyZSBFbmdpbmVlcmluZwo+ICAKPiAgI2luY2x1ZGUgPGNvbW1vbi5o Pgo+ICAjaW5jbHVkZSA8Y29tbWFuZC5oPgo+IGRpZmYgLS1naXQgYS9jb21tYW5kcy93ZC5jIGIv Y29tbWFuZHMvd2QuYwo+IGluZGV4IDgwMjliYWIxY2UxOS4uYzE4NjI0NGIyYjNhIDEwMDY0NAo+ IC0tLSBhL2NvbW1hbmRzL3dkLmMKPiArKysgYi9jb21tYW5kcy93ZC5jCj4gQEAgLTEsMTYgKzEs NSBAQAo+IC0vKgo+IC0gKiAoYykgMjAxMiBKdWVyZ2VuIEJlaXNlcnQgPGtlcm5lbEBwZW5ndXRy b25peC5kZT4KPiAtICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKPiAtICogaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKPiAtICog dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGlj ZW5zZSwgb3IKPiAtICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KPiAtICoK PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls bCBiZSB1c2VmdWwsCj4gLSAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCj4gLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKPiAtICogR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KPiAtICovCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8vIFNQRFgtRmlsZUNvcHlyaWdodFRleHQ6 IMKpIDIwMTIgSnVlcmdlbiBCZWlzZXJ0IDxrZXJuZWxAcGVuZ3V0cm9uaXguZGU+Cj4gIAo+ICAj aW5jbHVkZSA8Y29tbW9uLmg+Cj4gICNpbmNsdWRlIDxjb21tYW5kLmg+Cj4gLS0gCj4gMi4yNi4w LnJjMgo+IAo+IAoKLS0gClJvbGFuZCBIaWViZXIsIFBlbmd1dHJvbml4IGUuSy4gICAgICAgICAg fCByLmhpZWJlckBwZW5ndXRyb25peC5kZSAgICAgfApTdGV1ZXJ3YWxkZXIgU3RyLiAyMSAgICAg ICAgICAgICAgICAgICAgIHwgaHR0cHM6Ly93d3cucGVuZ3V0cm9uaXguZGUvIHwKMzExMzcgSGls ZGVzaGVpbSwgR2VybWFueSAgICAgICAgICAgICAgICB8IFBob25lOiArNDktNTEyMS0yMDY5MTct MCAgICB8CkFtdHNnZXJpY2h0IEhpbGRlc2hlaW0sIEhSQSAyNjg2ICAgICAgICAgfCBGYXg6ICAg KzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KYmFyZWJveCBtYWlsaW5nIGxpc3QKYmFyZWJveEBsaXN0cy5pbmZyYWRl YWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYmFyZWJv eAo=