From owner-svn-src-head@FreeBSD.ORG Mon May 2 21:12:39 2011 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7A6F51065673 for ; Mon, 2 May 2011 21:12:39 +0000 (UTC) (envelope-from lifanov@mail.lifanov.com) Received: from mail.lifanov.com (mail.lifanov.com [206.125.175.12]) by mx1.freebsd.org (Postfix) with ESMTP id 49DE08FC14 for ; Mon, 2 May 2011 21:12:39 +0000 (UTC) Received: by mail.lifanov.com (Postfix, from userid 65534) id 15E01136E94; Mon, 2 May 2011 20:55:12 +0000 (UTC) Received: from localhost (157.sub-174-252-144.myvzw.com [174.252.144.157]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.lifanov.com (Postfix) with ESMTPSA id D27CE136A93 for ; Mon, 2 May 2011 20:55:09 +0000 (UTC) Date: Mon, 02 May 2011 16:56:37 -0400 Message-ID: <2ocqwk9i52ulmc0iqg29sgmr.1304369797581@email.android.com> From: Nikolai Lifanov To: svn-src-head@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: base64 Subject: Re: svn-src-head Digest, Vol 88, Issue 2 X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 May 2011 21:12:39 -0000 Cgpzdm4tc3JjLWhlYWQtcmVxdWVzdEBmcmVlYnNkLm9yZyB3cm90ZToKCj5TZW5kIHN2bi1zcmMt aGVhZCBtYWlsaW5nIGxpc3Qgc3VibWlzc2lvbnMgdG8KPglzdm4tc3JjLWhlYWRAZnJlZWJzZC5v cmcKPgo+VG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSB0aGUgV29ybGQgV2lkZSBXZWIs IHZpc2l0Cj4JaHR0cDovL2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vc3ZuLXNy Yy1oZWFkCj5vciwgdmlhIGVtYWlsLCBzZW5kIGEgbWVzc2FnZSB3aXRoIHN1YmplY3Qgb3IgYm9k eSAnaGVscCcgdG8KPglzdm4tc3JjLWhlYWQtcmVxdWVzdEBmcmVlYnNkLm9yZwo+Cj5Zb3UgY2Fu IHJlYWNoIHRoZSBwZXJzb24gbWFuYWdpbmcgdGhlIGxpc3QgYXQKPglzdm4tc3JjLWhlYWQtb3du ZXJAZnJlZWJzZC5vcmcKPgo+V2hlbiByZXBseWluZywgcGxlYXNlIGVkaXQgeW91ciBTdWJqZWN0 IGxpbmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYwo+dGhhbiAiUmU6IENvbnRlbnRzIG9mIHN2bi1z cmMtaGVhZCBkaWdlc3QuLi4iCj4KPlRvZGF5J3MgVG9waWNzOgo+Cj4gICAxLiBzdm4gY29tbWl0 OiByMjIxMzAwIC0gaGVhZC9zeXMvY29uZiAoQmVybmhhcmQgU2NobWlkdCkKPiAgIDIuIHN2biBj b21taXQ6IHIyMjEzMDEgLSBoZWFkL3N5cy9jb25mIChCZXJuaGFyZCBTY2htaWR0KQo+ICAgMy4g UmU6IHN2biBjb21taXQ6IHIyMjEzMDEgLSBoZWFkL3N5cy9jb25mIChOYXRoYW4gV2hpdGVob3Ju KQo+ICAgNC4gc3ZuIGNvbW1pdDogcjIyMTMwMyAtIGhlYWQvdXNyLmJpbi9tYW4gKFVscmljaCBT cG9lcmxlaW4pCj4gICA1LiBSZTogc3ZuIGNvbW1pdDogcjIyMTMwMSAtIGhlYWQvc3lzL2NvbmYg KEJlcm5oYXJkIFNjaG1pZHQpCj4gICA2LiBzdm4gY29tbWl0OiByMjIxMzA0IC0gaGVhZC9zYmlu L3JlY292ZXJkaXNrIChVbHJpY2ggU3BvZXJsZWluKQo+ICAgNy4gc3ZuIGNvbW1pdDogcjIyMTMw NSAtIGhlYWQvc2hhcmUvbWFuL21hbjQgKENocmlzdGlhbiBCcnVlZmZlcikKPiAgIDguIHN2biBj b21taXQ6IHIyMjEzMDYgLSBpbiBoZWFkL3N5czogZnMvbmZzIG5mcyAoUmljayBNYWNrbGVtKQo+ ICAgOS4gc3ZuIGNvbW1pdDogcjIyMTMwNyAtIGhlYWQvc3lzL21pcHMvYXRoZXJvcyAoQWRyaWFu IENoYWRkKQo+ICAxMC4gc3ZuIGNvbW1pdDogcjIyMTMwOCAtIGhlYWQvdXNyLmJpbi9uZnNzdGF0 IChSaWNrIE1hY2tsZW0pCj4gIDExLiBzdm4gY29tbWl0OiByMjIxMzA5IC0gaGVhZC91c3IuYmlu L25mc3N0YXQgKFJpY2sgTWFja2xlbSkKPiAgMTIuIHN2biBjb21taXQ6IHIyMjEzMTIgLSBoZWFk L3N5cy9jb25mIChBZHJpYW4gQ2hhZGQpCj4gIDEzLiBSZTogc3ZuIGNvbW1pdDogcjIyMTMwMSAt IGhlYWQvc3lzL2NvbmYgKEFkcmlhbiBDaGFkZCkKPiAgMTQuIHN2biBjb21taXQ6IHIyMjEzMTkg LSBoZWFkL3NoYXJlL21pc2MgKE1heGltIEtvbm92YWxvdikKPiAgMTUuIHN2biBjb21taXQ6IHIy MjEzMjAgLSBoZWFkL3N5cy9jb25mIChCcnVjZSBDcmFuKQo+ICAxNi4gc3ZuIGNvbW1pdDogcjIy MTMyMSAtIGhlYWQvc3lzL21pcHMvY29uZiAoQWRyaWFuIENoYWRkKQo+ICAxNy4gUmU6IHN2biBj b21taXQ6IHIyMjEzMjAgLSBoZWFkL3N5cy9jb25mIChBbGV4YW5kZXIgQmVzdCkKPiAgMTguIFJl OiBzdm4gY29tbWl0OiByMjIxMjE0IC0gaGVhZC9zeXMveDg2L3g4NiAoRGltaXRyeSBBbmRyaWMp Cj4gIDE5LiBzdm4gY29tbWl0OiByMjIxMzI0IC0gaW4gaGVhZC9zeXM6IGFtZDY0L3BjaSBkZXYv YWNwaWNhCj4gICAgICBkZXYvcGNpCWkzODYvcGNpIHg4Ni94ODYgKEpvaG4gQmFsZHdpbikKPiAg MjAuIHN2biBjb21taXQ6IHIyMjEzMjYgLSBoZWFkL3N5cy9kZXYvcHVjIChKb2huIEJhbGR3aW4p Cj4gIDIxLiBSZTogc3ZuIGNvbW1pdDogcjIyMTMwMSAtIGhlYWQvc3lzL2NvbmYgKEpvaG4gQmFs ZHdpbikKPiAgMjIuIHN2biBjb21taXQ6IHIyMjEzMjcgLSBoZWFkL3N5cy9kZXYvY2FyZGJ1cyAo Sm9obiBCYWxkd2luKQo+ICAyMy4gc3ZuIGNvbW1pdDogcjIyMTMyOCAtIGhlYWQvc3lzL25ldGlu ZXQgKE1pY2hhZWwgVHVleGVuKQo+ICAyNC4gc3ZuIGNvbW1pdDogcjIyMTMyOSAtIGhlYWQvc3lz L2kzODYvY29uZiAoQmVybmhhcmQgU2NobWlkdCkKPiAgMjUuIFJlOiBzdm4gY29tbWl0OiByMjIx MzAxIC0gaGVhZC9zeXMvY29uZiAoQmVybmhhcmQgU2NobWlkdCkKPiAgMjYuIHN2biBjb21taXQ6 IHIyMjEzMzEgLSBoZWFkL3N5cy94ODYveDg2IChKdW5nLXVrIEtpbSkKPiAgMjcuIFJlOiBzdm4g Y29tbWl0OiByMjIxMjE0IC0gaGVhZC9zeXMveDg2L3g4NiAoSnVuZy11ayBLaW0pCj4gIDI4LiBS ZTogc3ZuIGNvbW1pdDogcjIyMTMwMSAtIGhlYWQvc3lzL2NvbmYgKEpvaG4gQmFsZHdpbikKPiAg MjkuIHN2biBjb21taXQ6IHIyMjEzMzMgLSBoZWFkIChEaW1pdHJ5IEFuZHJpYykKPiAgMzAuIHN2 biBjb21taXQ6IHIyMjEzMzQgLSBoZWFkL3N5cy9pYTY0L2luY2x1ZGUgKE1hcmNlbCBNb29sZW5h YXIpCj4gIDMxLiBzdm4gY29tbWl0OiByMjIxMzM1IC0gaGVhZC9zeXMvZGV2L2NvcmV0ZW1wIChY aW4gTEkpCj4gIDMyLiBzdm4gY29tbWl0OiByMjIxMzM2IC0gaGVhZC9zeXMvZGV2L2FjcGljYSAo Sm9obiBCYWxkd2luKQo+Cj5BdXRob3I6IGJzY2htaWR0Cj5EYXRlOiBTdW4gTWF5ICAxIDE4OjQy OjU2IDIwMTEKPk5ldyBSZXZpc2lvbjogMjIxMzAwCj5VUkw6IGh0dHA6Ly9zdm4uZnJlZWJzZC5v cmcvY2hhbmdlc2V0L2Jhc2UvMjIxMzAwCj4KPkxvZzoKPiAgQWRkIGZpbGVzIGZvciB3cGkoNCkK Pgo+TW9kaWZpZWQ6Cj4gIGhlYWQvc3lzL2NvbmYvZmlsZXMKPgo+TW9kaWZpZWQ6IGhlYWQvc3lz L2NvbmYvZmlsZXMKPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+LS0tIGhlYWQvc3lzL2NvbmYvZmls ZXMJU3VuIE1heSAgMSAxODo0MTo1NyAyMDExCShyMjIxMjk5KQo+KysrIGhlYWQvc3lzL2NvbmYv ZmlsZXMJU3VuIE1heSAgMSAxODo0Mjo1NiAyMDExCShyMjIxMzAwKQo+QEAgLTE5OTUsNiArMTk5 NSw3IEBAIGRldi93aS9pZl93aS5jCQkJb3B0aW9uYWwgd2kKPiBkZXYvd2kvaWZfd2lfcGNjYXJk LmMJCW9wdGlvbmFsIHdpIHBjY2FyZAo+IGRldi93aS9pZl93aV9wY2kuYwkJb3B0aW9uYWwgd2kg cGNpCj4gZGV2L3dsL2lmX3dsLmMJCQlvcHRpb25hbCB3bCBpc2EKPitkZXYvd3BpL2lmX3dwaS5j CQlvcHRpb25hbCB3cGkgcGNpCj4gd3BpZncuYwkJCW9wdGlvbmFsIHdwaWZ3CQkJCQlcCj4gCWNv bXBpbGUtd2l0aAkiJHtBV0t9IC1mICRTL3Rvb2xzL2Z3X3N0dWIuYXdrIHdwaS5mdzp3cGlmdzox NTMyMjkgLW13cGkgLWMkey5UQVJHRVR9IiBcCj4gCW5vLWltcGxpY2l0LXJ1bGUgYmVmb3JlLWRl cGVuZCBsb2NhbAkJCQlcCj4KPgo+QXV0aG9yOiBic2NobWlkdAo+RGF0ZTogU3VuIE1heSAgMSAx OTowNTo1NCAyMDExCj5OZXcgUmV2aXNpb246IDIyMTMwMQo+VVJMOiBodHRwOi8vc3ZuLmZyZWVi c2Qub3JnL2NoYW5nZXNldC9iYXNlLzIyMTMwMQo+Cj5Mb2c6Cj4gIFRoZXNlIGFyZSBvZiBjb3Vy c2UgaTM4Ni9hbWQ2NCBvbmx5Lgo+Cj5Nb2RpZmllZDoKPiAgaGVhZC9zeXMvY29uZi9OT1RFUwo+ Cj5Nb2RpZmllZDogaGVhZC9zeXMvY29uZi9OT1RFUwo+PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4t LS0gaGVhZC9zeXMvY29uZi9OT1RFUwlTdW4gTWF5ICAxIDE4OjQyOjU2IDIwMTEJKHIyMjEzMDAp Cj4rKysgaGVhZC9zeXMvY29uZi9OT1RFUwlTdW4gTWF5ICAxIDE5OjA1OjU0IDIwMTEJKHIyMjEz MDEpCj5AQCAtMTkzNSw5ICsxOTM1LDYgQEAgZGV2aWNlCQl4bXBoeQkJIyBYYVF0aSBYTUFDIElJ Cj4gIwkoaGludCBvZiBwcmVmZXJfaW9tYXAgY2FuIGJlIGRvbmUgdG8gcHJlZmVyIEkvTyBpbnN0 ZWFkIG9mIE1lbSBtYXBwaW5nKQo+ICMgZ2VtOiAgQXBwbGUgR01BQy9TdW4gRVJJL1N1biBHRU0K PiAjIGhtZTogIFN1biBITUUgKEhhcHB5IE1lYWwgRXRoZXJuZXQpCj4tIyBpcHc6ICBJbnRlbCAy MTAwIHdpcmVsZXNzIE5JQ3MuCj4tIyBpd2k6ICBJbnRlbCAyMjAwQkcvMjIyNUJHLzI5MTVBQkcg d2lyZWxlc3MgTklDcy4KPi0jIGl3bjogIEludGVsIDQ5NjUvMTAwMC81MDAwLzYwMDAgd2lyZWxl c3MgTklDcy4KPiAjIGptZTogIEpNaWNyb24gSk1DMjYwIEZhc3QgRXRoZXJuZXQvSk1DMjUwIEdp Z2FiaXQgRXRoZXJuZXQgYmFzZWQgYWRhcHRlcnMuCj4gIyBsZTogICBBTUQgQW03OTAwIExBTkNF IGFuZCBBbTc5Qzl4eCBQQ25ldAo+ICMgbGdlOglTdXBwb3J0IGZvciBQQ0kgZ2lnYWJpdCBldGhl cm5ldCBhZGFwdGVycyBiYXNlZCBvbiB0aGUgTGV2ZWwgMQo+QEAgLTIwMTYsNyArMjAxMyw2IEBA IGRldmljZQkJeG1waHkJCSMgWGFRdGkgWE1BQyBJSQo+ICMgd2k6ICAgTHVjZW50IFdhdmVMQU4v SUVFRSA4MDIuMTEgUENNQ0lBIGFkYXB0ZXJzLiBOb3RlOiB0aGlzIHN1cHBvcnRzIGJvdGgKPiAj ICAgICAgIHRoZSBQQ01DSUEgYW5kIElTQSBjYXJkczogdGhlIElTQSBjYXJkIGlzIHJlYWxseSBh IFBDTUNJQSB0byBJU0EKPiAjICAgICAgIGJyaWRnZSB3aXRoIGEgUENNQ0lBIGFkYXB0ZXIgcGx1 Z2dlZCBpbnRvIGl0Lgo+LSMgd3BpOiAgSW50ZWwgMzk0NUFCRyB3aXJlbGVzcyBOSUNzLgo+ICMg eGU6ICAgWGlyY29tL0ludGVsIEV0aGVyRXhwcmVzcyBQcm8xMDAvMTYgUEMgQ2FyZCBldGhlcm5l dCBjb250cm9sbGVyLAo+ICMgICAgICAgQWNjdG9uIEZhc3QgRXRoZXJDYXJkLTE2LCBDb21wYXEg TmV0ZWxsaWdlbnQgMTAvMTAwIFBDIENhcmQsCj4gIyAgICAgICBUb3NoaWJhIDEwLzEwMCBFdGhl cm5ldCBQQyBDYXJkLCBYaXJjb20gMTYtYml0IEV0aGVybmV0ICsgTW9kZW0gNTYKPkBAIC0yMTM3 LDEzICsyMTMzLDkgQEAgb3B0aW9ucwkgICAJQUhfUlhDRkdfU0RNQU1XXzRCWVRFUwo+IGRldmlj ZQkJYXRoX3JhdGVfc2FtcGxlCSMgU2FtcGxlUmF0ZSB0eCByYXRlIGNvbnRyb2wgZm9yIGF0aAo+ IGRldmljZQkJYndpCQkjIEJyb2FkY29tIEJDTTQzMCogQkNNNDMxKgo+IGRldmljZQkJYnduCQkj IEJyb2FkY29tIEJDTTQzeHgKPi1kZXZpY2UJCWlwdwkJIyBJbnRlbCAyMTAwIHdpcmVsZXNzIE5J Q3MuCj4tZGV2aWNlCQlpd2kJCSMgSW50ZWwgMjIwMEJHLzIyMjVCRy8yOTE1QUJHIHdpcmVsZXNz IE5JQ3MuCj4tZGV2aWNlCQlpd24JCSMgSW50ZWwgNDk2NS8xMDAwLzUwMDAvNjAwMCB3aXJlbGVz cyBOSUNzLgo+IGRldmljZQkJbWFsbwkJIyBNYXJ2ZWxsIExpYmVydGFzIHdpcmVsZXNzIE5JQ3Mu Cj4gZGV2aWNlCQltd2wJCSMgTWFydmVsbCA4OFc4MzYzIDgwMi4xMW4gd2lyZWxlc3MgTklDcy4K PiBkZXZpY2UJCXJhbAkJIyBSYWxpbmsgVGVjaG5vbG9neSBSVDI1MDAgd2lyZWxlc3MgTklDcy4K Pi1kZXZpY2UJCXdwaQkJIyBJbnRlbCAzOTQ1QUJHIHdpcmVsZXNzIE5JQ3MuCj4gCj4gIyBVc2Ug InByaXZhdGUiIGp1bWJvIGJ1ZmZlcnMgYWxsb2NhdGVkIGV4Y2x1c2l2ZWx5IGZvciB0aGUgdGko NCkgZHJpdmVyLgo+ICMgVGhpcyBvcHRpb24gaXMgaW5jb21wYXRpYmxlIHdpdGggdGhlIFRJX0pV TUJPX0hEUlNQTElUIG9wdGlvbiBiZWxvdy4KPgo+Cj5PbiAwNS8wMS8xMSAxNDowNSwgQmVybmhh cmQgU2NobWlkdCB3cm90ZToKPj4gQXV0aG9yOiBic2NobWlkdAo+PiBEYXRlOiBTdW4gTWF5ICAx IDE5OjA1OjU0IDIwMTEKPj4gTmV3IFJldmlzaW9uOiAyMjEzMDEKPj4gVVJMOiBodHRwOi8vc3Zu LmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzIyMTMwMQo+Pgo+PiBMb2c6Cj4+ICAgIFRoZXNl IGFyZSBvZiBjb3Vyc2UgaTM4Ni9hbWQ2NCBvbmx5Lgo+Cj4KPkknbSBub3Qgc3VyZSB0aGF0J3Mg aW50cmluc2ljYWxseSB0cnVlLiBFdmVuIGlmIHRoZXkgbW9zdGx5IG9ubHkgc2hpcCAKPndpdGgg SW50ZWwgbW90aGVyYm9hcmRzLCBtYW55IG9mIHRoZXNlIGFyZSBNaW5pLVBDSSBwYXJ0cyB3aGlj aCBjb3VsZCBiZSAKPnB1dCBpbnRvIG5vbi14ODYgc3lzdGVtcy4KPi1OYXRoYW4KPgo+Cj5BdXRo b3I6IHVxcwo+RGF0ZTogU3VuIE1heSAgMSAxOTo0NzozNCAyMDExCj5OZXcgUmV2aXNpb246IDIy MTMwMwo+VVJMOiBodHRwOi8vc3ZuLmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzIyMTMwMwo+ Cj5Mb2c6Cj4gIExldCB1c2VycycgUEFUSCBkZWNpZGUgd2hpY2ggZ3JvZmYgc3VpdGUgdG8gcGlj ayB1cC4KPiAgCj4gIExldCBncm9mZiBwYXNzIHRoZSAtYyBmbGFnIHRvIGdyb3R0eSwgd2hpY2gg d2lsbCB0dXJuIG9mZiBBTlNJCj4gIHNlcXVlbmNlcy4gV2hpbGUgdGhlc2UgYXJlIG5vdCBhIHBy b2JsZW0gZm9yIG91ciBtb3JlL2xlc3MsIHRoZXkgZ2V0Cj4gIG1hbmdsZWQgYnkgY29sKDEpIGFu ZCB0aGlzIHdpbGwgcmVzdWx0IGluIGdhcmJhZ2Ugb3V0cHV0Lgo+ICAKPiAgVGhpcyBtYWtlcyBt YW4oMSkgd29yayB0b2dldGhlciB3aXRoIHRleHRwcm9jL2dyb2ZmLCBpbiBjYXNlIHRoZQo+ICB1 c2VyIGRlY2lkZWQgdG8gZGVsZXRlIHRoZSBvbGQgZ3JvZmYgZnJvbSBiYXNlICgtRFdJVEhPVVRf R1JPRkYpLgo+Cj5Nb2RpZmllZDoKPiAgaGVhZC91c3IuYmluL21hbi9tYW4uc2gKPgo+TW9kaWZp ZWQ6IGhlYWQvdXNyLmJpbi9tYW4vbWFuLnNoCj49PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPi0tLSBo ZWFkL3Vzci5iaW4vbWFuL21hbi5zaAlTdW4gTWF5ICAxIDE5OjI0OjUxIDIwMTEJKHIyMjEzMDIp Cj4rKysgaGVhZC91c3IuYmluL21hbi9tYW4uc2gJU3VuIE1heSAgMSAxOTo0NzozNCAyMDExCShy MjIxMzAzKQo+QEAgLTg4OSwxNiArODg5LDE4IEBAIGRvX3doYXRpcygpIHsKPiAJc2VhcmNoX3do YXRpcyB3aGF0aXMgIiRAIgo+IH0KPiAKPi1FUU49L3Vzci9iaW4vZXFuCj4rIyBVc2VyJ3MgUEFU SCBzZXR0aW5nIGRlY2lkZXMgb24gdGhlIGdyb2ZmLXN1aXRlIHRvIHBpY2sgdXAuCj4rRVFOPWVx bgo+K05ST0ZGPSdncm9mZiAtUyAtUC1jIC1XYWxsIC1tdHR5LWNoYXIgLW1hbicKPitQSUM9cGlj Cj4rUkVGRVI9cmVmZXIKPitUQkw9dGJsCj4rVFJPRkY9J2dyb2ZmIC1TIC1QLWMgLW1hbicKPitW R1JJTkQ9dmdyaW5kCj4rCj4gQ09MPS91c3IvYmluL2NvbAo+IExPQ0FMRT0vdXNyL2Jpbi9sb2Nh bGUKPi1OUk9GRj0nL3Vzci9iaW4vZ3JvZmYgLVMgLVdhbGwgLW10dHktY2hhciAtbWFuJwo+LVBJ Qz0vdXNyL2Jpbi9waWMKPiBTWVNDVEw9L3NiaW4vc3lzY3RsCj4tVEJMPS91c3IvYmluL3RibAo+ LVRST0ZGPScvdXNyL2Jpbi9ncm9mZiAtUyAtbWFuJwo+LVJFRkVSPS91c3IvYmluL3JlZmVyCj4t VkdSSU5EPS91c3IvYmluL3ZncmluZAo+IAo+IGRlYnVnPTAKPiBtYW5fZGVmYXVsdF9zZWN0aW9u cz0nMToxYW91dDo4OjI6MzpuOjQ6NTo2Ojc6OTpsJwo+Cj4KPk9uIFN1bmRheSAwMSBNYXkgMjAx MSAyMToyODoyOCBOYXRoYW4gV2hpdGVob3JuIHdyb3RlOgo+PiBPbiAwNS8wMS8xMSAxNDowNSwg QmVybmhhcmQgU2NobWlkdCB3cm90ZToKPj4gPiBBdXRob3I6IGJzY2htaWR0Cj4+ID4gRGF0ZTog U3VuIE1heSAgMSAxOTowNTo1NCAyMDExCj4+ID4gTmV3IFJldmlzaW9uOiAyMjEzMDEKPj4gPiBV Ukw6IGh0dHA6Ly9zdm4uZnJlZWJzZC5vcmcvY2hhbmdlc2V0L2Jhc2UvMjIxMzAxCj4+ID4KPj4g PiBMb2c6Cj4+ID4gICAgVGhlc2UgYXJlIG9mIGNvdXJzZSBpMzg2L2FtZDY0IG9ubHkuCj4+IAo+ PiAKPj4gSSdtIG5vdCBzdXJlIHRoYXQncyBpbnRyaW5zaWNhbGx5IHRydWUuIEV2ZW4gaWYgdGhl eSBtb3N0bHkgb25seSBzaGlwIAo+PiB3aXRoIEludGVsIG1vdGhlcmJvYXJkcywgbWFueSBvZiB0 aGVzZSBhcmUgTWluaS1QQ0kgcGFydHMgd2hpY2ggY291bGQgYmUgCj4+IHB1dCBpbnRvIG5vbi14 ODYgc3lzdGVtcy4KPgo+WWVzLCBpbmRlZWQuIFRob3NlIG1pZ2h0IG9mIGNvdXJzZSBiZSB1c2Vk IG9uIG90aGVyIHBsYXRmb3JtcyB0b28KPih3ZWxsIGF0IGxlYXN0IGl0IGZpdHMgaW50byB0aGUg c2xvdCwgSSBrbm93IHRoYXQgY2VydGFpbiBmZWF0dXJlcwo+YXJlIG5vdCBldmVuIGF2YWlsYWJs ZSBvbiBBTUQgcGxhdGZvcm1zKS4gSSdtIGp1c3Qgbm90IGF3YXJlIHRoYXQKPmFueW9uZSBldmVy IHRyaWVkIG9uZSBvZiBpdCBvbiBtaXBzIGZvciBleGFtcGxlLgo+Cj5JIGRvbid0IG1pbmQgYmVp bmcgcHJvdmVuIHdyb25nIGFuZCBpZiBzbyBtb3ZlIHRoZSBlbnRyaWVzIGJhY2sgdG8KPmEgbW9y ZSBnZW5lcmljIGxvY2F0aW9uLiBDdXJyZW50bHkgSSdtIGp1c3QgdHJ5aW5nIG1pbWljIHRoZSBt b2R1bGUKPmJlaGF2aW91ciBpbiBzeXMvbW9kdWxlcy9NYWtlZmlsZS4KPgo+LS0gCj5CZXJuaGFy ZAo+Cj4KPkF1dGhvcjogdXFzCj5EYXRlOiBTdW4gTWF5ICAxIDIwOjE0OjEwIDIwMTEKPk5ldyBS ZXZpc2lvbjogMjIxMzA0Cj5VUkw6IGh0dHA6Ly9zdm4uZnJlZWJzZC5vcmcvY2hhbmdlc2V0L2Jh c2UvMjIxMzA0Cj4KPkxvZzoKPiAgcmVjb3ZlcmRpc2soOCk6IHRyZWF0IG91dHB1dCBmaWxlIGNv bnNpc3RlbnRseSBhbmQgYWJvcnQgb24gRUlOVkFMCj4gIAo+ICBUaGlzIGltcHJvdmVzIHVzYWJp bGl0eSBhIGxpdHRsZSBhcyB3ZSBubyBsb25nZXIgcmVxdWlyZSB1c2luZyB0b3VjaC4KPiAgQWxz byByZXdvcmQgdGhlIG1hbnBhZ2Ugd3J0LiBwYXJhbWV0ZXJzIGFuZCBmaXggdXNhZ2UoKSBbMV0K PiAgCj4gIFdpdGggbm8gbWVkaWEgaW4gYSBjZCg0KSBkcml2ZSwgdGhlIHJlYWRzIHdpbGwgbG9v cCBwcm9kdWNpbmcgRUlOVkFMLAo+ICBhYm9ydCBpbiB0aGF0IGNhc2UgWzJdLgo+ICAKPiAgRG9j dW1lbnQgdGhlIHNob3J0Y29taW5nIG9mIHNlY3RvcnNpemUgYW5kIE1BWFBIWVMgKGEgcXVpY2sg c29sdXRpb24KPiAgdG8gdGhpcyBtaWdodCBiZSBoYXZpbmcgTUFYUEhZUyBhcyB0aGUgImJpZ3Np emUiLCBpbiBzaG9ydCB0ZXN0aW5nIGl0Cj4gIGRpZG4ndCBtYWtlIGEgZGlmZmVyZW5jZSBvbiB0 aHJvdWdocHV0KS4KPiAgCj4gIFN1Ym1pdHRlZCBieToJYXJ1bmRlbCBbMV0KPiAgUFI6CQliaW4v MTU0NTI4IFsyXQo+Cj5Nb2RpZmllZDoKPiAgaGVhZC9zYmluL3JlY292ZXJkaXNrL3JlY292ZXJk aXNrLjEKPiAgaGVhZC9zYmluL3JlY292ZXJkaXNrL3JlY292ZXJkaXNrLmMKPgo+TW9kaWZpZWQ6 IGhlYWQvc2Jpbi9yZWNvdmVyZGlzay9yZWNvdmVyZGlzay4xCj49PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KPi0tLSBoZWFkL3NiaW4vcmVjb3ZlcmRpc2svcmVjb3ZlcmRpc2suMQlTdW4gTWF5ICAxIDE5 OjQ3OjM0IDIwMTEJKHIyMjEzMDMpCj4rKysgaGVhZC9zYmluL3JlY292ZXJkaXNrL3JlY292ZXJk aXNrLjEJU3VuIE1heSAgMSAyMDoxNDoxMCAyMDExCShyMjIxMzA0KQo+QEAgLTI0LDcgKzI0LDcg QEAKPiAuXCIKPiAuXCIgJEZyZWVCU0QkCj4gLlwiCj4tLkRkIE1heSA2LCAyMDA2Cj4rLkRkIE1h eSAxLCAyMDExCj4gLkR0IFJFQ09WRVJESVNLIDEKPiAuT3MKPiAuU2ggTkFNRQo+QEAgLTMzLDE3 ICszMywyMCBAQAo+IC5TaCBTWU5PUFNJUwo+IC5ObQo+IC5PcCBGbCBiIEFyIGJpZ3NpemUKPi0u T3AgRmwgciBBciBybGlzdAo+LS5PcCBGbCBzIEFyIHNuYXBzaG90Cj4tLk9wIEZsIHcgQXIgd2xp c3QKPi0uQXIgc3BlY2lhbAo+LS5PcCBBciBmaWxlCj4rLk9wIEZsIHIgQXIgcmVhZGxpc3QKPisu T3AgRmwgcyBBciBpbnRlcnZhbAo+Ky5PcCBGbCB3IEFyIHdyaXRlbGlzdAo+Ky5BciBzb3VyY2UK PisuT3AgQXIgZGVzdGluYXRpb24KPiAuU2ggREVTQ1JJUFRJT04KPiBUaGUKPiAuTm0KPiB1dGls aXR5IHJlYWRzIGRhdGEgZnJvbSB0aGUKPi0uQXIgc3BlY2lhbAo+Ky5BciBzb3VyY2UKPiBmaWxl IHVudGlsIGFsbCBibG9ja3MgY291bGQgYmUgc3VjY2Vzc2Z1bGx5IHJlYWQuCj4rSWYKPisuQXIg ZGVzdGluYXRpb24KPit3YXMgc3BlY2lmaWVkIGFsbCBkYXRhIGlzIGJlaW5nIHdyaXR0ZW4gdG8g dGhhdCBmaWxlLgo+IEl0IHN0YXJ0cyByZWFkaW5nIGluIG11bHRpcGxlcyBvZiB0aGUgc2VjdG9y IHNpemUuCj4gV2hlbmV2ZXIgYSBibG9jayBmYWlscywgaXQgaXMgcHV0IHRvIHRoZSBlbmQgb2Yg dGhlIHdvcmtpbmcgcXVldWUgYW5kIHdpbGwgYmUKPiByZWFkIGFnYWluLCBwb3NzaWJseSB3aXRo IGEgc21hbGxlciByZWFkIHNpemUuCj5AQCAtNTksMTMgKzYyLDEzIEBAIFRoZSBvcHRpb25zIGFy ZSBhcyBmb2xsb3dzOgo+IFRoZSBzaXplIG9mIHJlYWRzIGF0dGVtcHRlZCBmaXJzdC4KPiBUaGUg bWlkZGxlIHBhc3MgaXMgcm91Z2hseSB0aGUgbG9nYXJpdGhtaWMgYXZlcmFnZSBvZiB0aGUgYmln c2l6ZSBhbmQKPiB0aGUgc2VjdG9yc2l6ZS4KPi0uSXQgRmwgciBBciBybGlzdAo+Ky5JdCBGbCBy IEFyIHJlYWRsaXN0Cj4gUmVhZCB0aGUgbGlzdCBvZiBibG9ja3MgYW5kIGJsb2NrIHNpemVzIHRv IHJlYWQgZnJvbSB0aGUgc3BlY2lmaWVkIGZpbGUuCj4tLkl0IEZsIHMgQXIgc25hcHNob3QKPi1I b3cgb2Z0ZW4gd2Ugc2hvdWxkIHVwZGF0ZSB0aGUgd29ya2xpc3QgZmlsZSB3aGlsZSB0aGluZ3Mg Z28gT0suCj4tVGhlIGRlZmF1bHQgaXMgNjAgYW5kIHRoZSB1bml0cyBpcyAicHJvZ3Jlc3MgbWVz c2FnZXMiIHNvIGlmIHRoaW5ncwo+Ky5JdCBGbCBzIEFyIGludGVydmFsCj4rSG93IG9mdGVuIHdl IHNob3VsZCB1cGRhdGUgdGhlIHdyaXRlbGlzdCBmaWxlIHdoaWxlIHRoaW5ncyBnbyBPSy4KPitU aGUgZGVmYXVsdCBpcyA2MCBhbmQgdGhlIHVuaXQgaXMgInByb2dyZXNzIG1lc3NhZ2VzIiBzbyBp ZiB0aGluZ3MKPiBnbyB3ZWxsLCB0aGlzIGlzIHRoZSBzYW1lIGFzIG9uY2UgcGVyIG1pbnV0ZS4K Pi0uSXQgRmwgdyBBciB3bGlzdAo+Ky5JdCBGbCB3IEFyIHdyaXRlbGlzdAo+IFdyaXRlIHRoZSBs aXN0IG9mIHJlbWFpbmluZyBibG9ja3MgdG8gcmVhZCB0byB0aGUgc3BlY2lmaWVkIGZpbGUgaWYK PiAuTm0KPiBpcyBhYm9ydGVkIHZpYQo+QEAgLTEwMiwyMCArMTA1LDE5IEBAIFBlcmNlbnQgY29t cGxldGUuCj4gLlNoIEVYQU1QTEVTCj4gLkJkIC1saXRlcmFsCj4gIyByZWNvdmVyIGRhdGEgZnJv bSBmYWlsaW5nIGhhcmQgZHJpdmUgYWQzCj4tdG91Y2ggL2RhdGEvbG90c19vZl9zcGFjZQo+LXJl Y292ZXJkaXNrIC9kZXYvYWQzIC9kYXRhL2xvdHNfb2Zfc3BhY2UKPityZWNvdmVyZGlzayAvZGV2 L2FkMyAvZGF0YS9kaXNrLmltZwo+IAo+ICMgY2xvbmUgYSBoYXJkIGRpc2sKPiByZWNvdmVyZGlz ayAvZGV2L2FkMyAvZGV2L2FkNAo+IAo+ICMgcmVhZCBhbiBJU08gaW1hZ2UgZnJvbSBhIENELVJP TQo+LXRvdWNoIC9kYXRhL2NkLmlzbzsgcmVjb3ZlcmRpc2sgL2Rldi9hY2QwIC9kYXRhL2NkLmlz bwo+K3JlY292ZXJkaXNrIC9kZXYvY2QwIC9kYXRhL2NkLmlzbwo+IAo+ICMgY29udGludWUgcmVh ZGluZyBmcm9tIGEgYnJva2VuIENEIGFuZCB1cGRhdGUgdGhlIGV4aXN0aW5nIHdvcmtsaXN0Cj4t cmVjb3ZlcmRpc2sgLXIgd29ya2xpc3QgLXcgd29ya2xpc3QgL2Rldi9hY2QwIC9kYXRhL2NkLmlz bwo+K3JlY292ZXJkaXNrIC1yIHdvcmtsaXN0IC13IHdvcmtsaXN0IC9kZXYvY2QwIC9kYXRhL2Nk Lmlzbwo+IAo+ICMgcmVjb3ZlciBhIHNpbmdsZSBmaWxlIGZyb20gdGhlIHVucmVhZGFibGUgbWVk aWEKPi10b3VjaCBmaWxlLmF2aTsgcmVjb3ZlcmRpc2sgL2Nkcm9tL2ZpbGUuYXZpIGZpbGUuYXZp Cj4rcmVjb3ZlcmRpc2sgL2Nkcm9tL2ZpbGUuYXZpIGZpbGUuYXZpCj4gCj4gIyBJZiB0aGUgZGlz ayBoYW5ncyB0aGUgc3lzdGVtIG9uIHJlYWQtZXJyb3JzIHRyeToKPiByZWNvdmVyZGlzayAtYiAw IC9kZXYvYWQzIC9zb21ld2hlcmUKPkBAIC0xMzMsNyArMTM1LDcgQEAgdXRpbGl0eSBmaXJzdCBh cHBlYXJlZCBpbgo+IFRoZSBvcmlnaW5hbCBpbXBsZW1lbnRhdGlvbiB3YXMgZG9uZSBieQo+IC5B biBQb3VsLUhlbm5pbmcgS2FtcCBBcSBwaGtARnJlZUJTRC5vcmcKPiB3aXRoIG1pbm9yIGltcHJv dmVtZW50cyBmcm9tCj4tLkFuIFVscmljaCBTcFwoOm9ybGVpbiBBcSB1c3BvZXJsZWluQGdtYWls LmNvbSAuCj4rLkFuIFVscmljaCBTcFwoOm9ybGVpbiBBcSB1cXNARnJlZUJTRC5vcmcgLgo+IC5Q cAo+IFRoaXMgbWFudWFsIHBhZ2Ugd2FzIHdyaXR0ZW4gYnkKPiAuQW4gVWxyaWNoIFNwXCg6b3Js ZWluIC4KPkBAIC0xNDQsNCArMTQ2LDEzIEBAIFRoaXMgaXMgZHVlIHRvIHRoZSBETUEgcmVhZHMg YmVpbmcgc3BsaXQKPiBUaGVzZSByZWFkcyB0aGVuIGZhaWwgaWYgdGhlIHNlY3RvcnNpemUgaXMg bm90IGEgZGl2aXNvciBvZiAxMjhrQi4KPiBXaGVuIHJlYWRpbmcgYSBmdWxsIHJhdyBhdWRpbyBD RCwgdGhpcyBsZWFkcyB0byByb3VnaGx5IDcwMCBlcnJvciBtZXNzYWdlcwo+IGZseWluZyBieS4K Pi1UaGlzIGlzIGhhcm1sZXNzLgo+K1RoaXMgaXMgaGFybWxlc3MgYW5kIGNhbiBiZSBhdm9pZGVk IGJ5IHNldHRpbmcKPisuRmwgYgo+K3RvIG5vIG1vcmUgdGhhbiAxMjhrQi4KPisuXCIuUHAKPisu XCJXaGVuIHJlYWRpbmcgZnJvbSBvcHRpY2FsIG1lZGlhLCBhIGJ1ZyBpbiB0aGUgR0VPTSBmcmFt ZXdvcmsgd2lsbAo+Ky5cInByZXZlbnQgaXQgZnJvbSBzZWVpbmcgdGhhdCB0aGUgbWVkaWEgaGFz IGJlZW4gcmVtb3ZlZC4KPisuXCJUaGUgZGV2aWNlIGNhbiBzdGlsbCBiZSBvcGVuZWQsIGJ1dCBh bGwgcmVhZHMgd2lsbCBmYWlsLgo+Ky5cIlRoaXMgaXMgdXN1YWxseSBoYXJtbGVzcywgYnV0IHdp bGwgc2VuZAo+Ky5cIi5ObQo+Ky5cImludG8gYW4gaW5maW5pdGUgbG9vcC4KPgo+TW9kaWZpZWQ6 IGhlYWQvc2Jpbi9yZWNvdmVyZGlzay9yZWNvdmVyZGlzay5jCj49PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KPi0tLSBoZWFkL3NiaW4vcmVjb3ZlcmRpc2svcmVjb3ZlcmRpc2suYwlTdW4gTWF5ICAxIDE5 OjQ3OjM0IDIwMTEJKHIyMjEzMDMpCj4rKysgaGVhZC9zYmluL3JlY292ZXJkaXNrL3JlY292ZXJk aXNrLmMJU3VuIE1heSAgMSAyMDoxNDoxMCAyMDExCShyMjIxMzA0KQo+QEAgLTg2LDcgKzg2LDcg QEAgc2F2ZV93b3JrbGlzdCh2b2lkKQo+IAkJaWYgKGZpbGUgPT0gTlVMTCkKPiAJCQllcnIoMSwg IkVycm9yIG9wZW5pbmcgZmlsZSAlcyIsIHd3b3JrbGlzdCk7Cj4gCj4tCQlUQUlMUV9GT1JFQUNI KGxscCwgJmx1bXBzLCBsaXN0KSAKPisJCVRBSUxRX0ZPUkVBQ0gobGxwLCAmbHVtcHMsIGxpc3Qp Cj4gCQkJZnByaW50ZihmaWxlLCAiJWpkICVqZCAlZFxuIiwKPiAJCQkgICAgKGludG1heF90KWxs cC0+c3RhcnQsIChpbnRtYXhfdClsbHAtPmxlbiwKPiAJCQkgICAgbGxwLT5zdGF0ZSk7Cj5AQCAt MTM0LDggKzEzNCw4IEBAIHJlYWRfd29ya2xpc3Qob2ZmX3QgdCkKPiBzdGF0aWMgdm9pZAo+IHVz YWdlKHZvaWQpCj4gewo+LQkodm9pZClmcHJpbnRmKHN0ZGVyciwKPi0gICAgInVzYWdlOiByZWNv dmVyZGlzayBbLXIgd29ya2xpc3RdIFstdyB3b3JrbGlzdF0gc291cmNlLWRyaXZlIFtkZXN0aW5h dGlvbl1cbiIpOwo+Kwkodm9pZClmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiByZWNvdmVyZGlzayBb LWIgYmlnc2l6ZV0gWy1yIHJlYWRsaXN0XSAiCj4rCSAgICAiWy1zIGludGVydmFsXSBbLXcgd3Jp dGVsaXN0XSBzb3VyY2UgW2Rlc3RpbmF0aW9uXVxuIik7Cj4gCWV4aXQoMSk7Cj4gfQo+IAo+QEAg LTE1Myw3ICsxNTMsNyBAQCBtYWluKGludCBhcmdjLCBjaGFyICogY29uc3QgYXJndltdKQo+IAlp bnQgZmRyLCBmZHc7Cj4gCW9mZl90IHQsIGQsIHN0YXJ0LCBsZW47Cj4gCXNpemVfdCBpLCBqOwo+ LQlpbnQgZXJyb3IsIGZsYWdzLCBzdGF0ZTsKPisJaW50IGVycm9yLCBzdGF0ZTsKPiAJdV9jaGFy ICpidWY7Cj4gCXVfaW50IHNlY3RvcnNpemU7Cj4gCXRpbWVfdCB0MSwgdDI7Cj5AQCAtMTk2LDcg KzE5Niw2IEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiBjb25zdCBhcmd2W10pCj4gCWVycm9yID0g ZnN0YXQoZmRyLCAmc2IpOwo+IAlpZiAoZXJyb3IgPCAwKQo+IAkJZXJyKDEsICJmc3RhdCBmYWls ZWQiKTsKPi0JZmxhZ3MgPSBPX1dST05MWTsKPiAJaWYgKFNfSVNCTEsoc2Iuc3RfbW9kZSkgfHwg U19JU0NIUihzYi5zdF9tb2RlKSkgewo+IAkJZXJyb3IgPSBpb2N0bChmZHIsIERJT0NHU0VDVE9S U0laRSwgJnNlY3RvcnNpemUpOwo+IAkJaWYgKGVycm9yIDwgMCkKPkBAIC0yMTAsNyArMjA5LDYg QEAgbWFpbihpbnQgYXJnYywgY2hhciAqIGNvbnN0IGFyZ3ZbXSkKPiAJCQllcnIoMSwgIkRJT0NH TUVESUFTSVpFIGZhaWxlZCIpOwo+IAl9IGVsc2Ugewo+IAkJdCA9IHNiLnN0X3NpemU7Cj4tCQlm bGFncyB8PSBPX0NSRUFUIHwgT19UUlVOQzsKPiAJfQo+IAo+IAlpZiAoYmlnc2l6ZSA8IG1pbnNp emUpCj5AQCAtMjI5LDkgKzIyNywxMiBAQCBtYWluKGludCBhcmdjLCBjaGFyICogY29uc3QgYXJn dltdKQo+IAkJZXJyKDEsICJDYW5ub3QgYWxsb2NhdGUgJXp1IGJ5dGVzIGJ1ZmZlciIsIGJpZ3Np emUpOwo+IAo+IAlpZiAoYXJnYyA+IDEpIHsKPi0JCWZkdyA9IG9wZW4oYXJndlsxXSwgZmxhZ3Ms IERFRkZJTEVNT0RFKTsKPisJCWZkdyA9IG9wZW4oYXJndlsxXSwgT19XUk9OTFkgfCBPX0NSRUFU LCBERUZGSUxFTU9ERSk7Cj4gCQlpZiAoZmR3IDwgMCkKPiAJCQllcnIoMSwgIkNhbm5vdCBvcGVu IHdyaXRlIGRlc2NyaXB0b3IgJXMiLCBhcmd2WzFdKTsKPisJCWlmIChmdHJ1bmNhdGUoZmR3LCB0 KSA8IDApCj4rCQkJZXJyKDEsICJDYW5ub3QgdHJ1bmNhdGUgb3V0cHV0ICVzIHRvICVqZCBieXRl cyIsCj4rCQkJICAgIGFyZ3ZbMV0sIChpbnRtYXhfdCl0KTsKPiAJfSBlbHNlCj4gCQlmZHcgPSAt MTsKPiAKPkBAIC0yOTIsNiArMjkzLDEwIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiBjb25zdCBh cmd2W10pCj4gCQkJfQo+IAkJCXByaW50ZigiXG4lamQgJXp1IGZhaWxlZCAoJXMpXG4iLAo+IAkJ CSAgICBscC0+c3RhcnQsIGksIHN0cmVycm9yKGVycm5vKSk7Cj4rCQkJaWYgKGVycm5vID09IEVJ TlZBTCkgewo+KwkJCQlwcmludGYoInJlYWQoKSBzaXplIHRvbyBiaWc/IFRyeSB3aXRoIC1iIDEz MTA3MiIpOwo+KwkJCQlhYm9ydGluZyA9IDE7Cj4rCQkJfQo+IAkJCWlmIChlcnJubyA9PSBFTlhJ TykKPiAJCQkJYWJvcnRpbmcgPSAxOwo+IAkJCW5ld19sdW1wKGxwLT5zdGFydCwgaSwgbHAtPnN0 YXRlICsgMSk7Cj4KPgo+QXV0aG9yOiBicnVlZmZlcgo+RGF0ZTogU3VuIE1heSAgMSAyMDo0Njoz NyAyMDExCj5OZXcgUmV2aXNpb246IDIyMTMwNQo+VVJMOiBodHRwOi8vc3ZuLmZyZWVic2Qub3Jn L2NoYW5nZXNldC9iYXNlLzIyMTMwNQo+Cj5Mb2c6Cj4gIE1pbm9yIGNsZWFudXAuCj4KPk1vZGlm aWVkOgo+ICBoZWFkL3NoYXJlL21hbi9tYW40L3Z4Z2UuNAo+Cj5Nb2RpZmllZDogaGVhZC9zaGFy ZS9tYW4vbWFuNC92eGdlLjQKPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+LS0tIGhlYWQvc2hhcmUv bWFuL21hbjQvdnhnZS40CVN1biBNYXkgIDEgMjA6MTQ6MTAgMjAxMQkocjIyMTMwNCkKPisrKyBo ZWFkL3NoYXJlL21hbi9tYW40L3Z4Z2UuNAlTdW4gTWF5ICAxIDIwOjQ2OjM3IDIwMTEJKHIyMjEz MDUpCj5AQCAtNDksMTMgKzQ5LDEyIEBAIFRoZQo+IC5ObQo+IGRyaXZlciBwcm92aWRlcyBzdXBw b3J0IGZvciBOZXRlcmlvbiBYMzEwMCBhZGFwdGVycy4KPiBUaGUgZHJpdmVyIHN1cHBvcnRzIFRD UCBTZWdtZW50YXRpb24gT2ZmbG9hZCAoVFNPL0xTTyksIAo+LUxhcmdlIFJlY2VpdmUgT2ZmbGFv ZCAoTFJPKSwgSnVtYm8gRnJhbWVzLCBSZWNlaXZlIFRyYWZmaWMgSGFzaCAoUlRIKSwKPitMYXJn ZSBSZWNlaXZlIE9mZmxvYWQgKExSTyksIEp1bWJvIEZyYW1lcywgUmVjZWl2ZSBUcmFmZmljIEhh c2ggKFJUSCksCj4gVkxBTiwgUHJvbWlzY3VvdXMgbW9kZSBhbmQgTXVsdGkgZnVuY3Rpb24gbW9k ZS4KPiAuUHAKPi0KPiBUaGUKPiAuTm0KPi1kcml2ZXIgc3VwcG9ydHMgZm9sbG93aW5nIGZ1bmN0 aW9uIG1vZGVzOgo+K2RyaXZlciBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIGZ1bmN0aW9uIG1vZGVz Ogo+IC5CZCAtcmFnZ2VkIC1vZmZzZXQgaW5kZW50Cj4gLkNkICJTRjFfVlAxNyAtIDEgZnVuY3Rp b24gd2l0aCAxNyBWUEFUSHMiCj4gLkVkCj4KPgo+QXV0aG9yOiBybWFja2xlbQo+RGF0ZTogU3Vu IE1heSAgMSAyMjoxOTo1MiAyMDExCj5OZXcgUmV2aXNpb246IDIyMTMwNgo+VVJMOiBodHRwOi8v c3ZuLmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzIyMTMwNgo+Cj5Mb2c6Cj4gIEFkZCB0aGUg a2VybmVsIHN1cHBvcnQgbmVlZGVkIHRvIHplcm8gb3V0IHRoZSBuZnNzdGF0cwo+ICBzdHJ1Y3R1 cmUgZm9yIHRoZSBuZXcgTkZTIHN1YnN5c3RlbS4gVGhpcyB3aWxsIGJlIHVzZWQKPiAgYnkgbmZz c3RhdHMuYyB0byBpbXBsZW1lbnQgdGhlICIteiIgb3B0aW9uLgo+ICAKPiAgTUZDIGFmdGVyOgky IHdlZWtzCj4KPk1vZGlmaWVkOgo+ICBoZWFkL3N5cy9mcy9uZnMvbmZzX2NvbW1vbnBvcnQuYwo+ ICBoZWFkL3N5cy9uZnMvbmZzc3ZjLmgKPgo+TW9kaWZpZWQ6IGhlYWQvc3lzL2ZzL25mcy9uZnNf Y29tbW9ucG9ydC5jCj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPi0tLSBoZWFkL3N5cy9mcy9uZnMv bmZzX2NvbW1vbnBvcnQuYwlTdW4gTWF5ICAxIDIwOjQ2OjM3IDIwMTEJKHIyMjEzMDUpCj4rKysg aGVhZC9zeXMvZnMvbmZzL25mc19jb21tb25wb3J0LmMJU3VuIE1heSAgMSAyMjoxOTo1MiAyMDEx CShyMjIxMzA2KQo+QEAgLTQwNCw2ICs0MDQsOCBAQCBuZnNzdmNfY2FsbChzdHJ1Y3QgdGhyZWFk ICpwLCBzdHJ1Y3QgbmZzCj4gCX0gZWxzZSBpZiAodWFwLT5mbGFnICYgTkZTU1ZDX0dFVFNUQVRT KSB7Cj4gCQllcnJvciA9IGNvcHlvdXQoJm5ld25mc3N0YXRzLAo+IAkJICAgIENBU1RfVVNFUl9B RERSX1QodWFwLT5hcmdwKSwgc2l6ZW9mIChuZXduZnNzdGF0cykpOwo+KwkJaWYgKCh1YXAtPmZs YWcgJiBORlNTVkNfWkVST1NUQVRTKSAhPSAwICYmIGVycm9yID09IDApCj4rCQkJYnplcm8oJm5l d25mc3N0YXRzLCBzaXplb2YobmV3bmZzc3RhdHMpKTsKPiAJCXJldHVybiAoZXJyb3IpOwo+IAl9 IGVsc2UgaWYgKHVhcC0+ZmxhZyAmIE5GU1NWQ19ORlNVU0VSRFBPUlQpIHsKPiAJCXVfc2hvcnQg c29ja3BvcnQ7Cj4KPk1vZGlmaWVkOiBoZWFkL3N5cy9uZnMvbmZzc3ZjLmgKPj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQo+LS0tIGhlYWQvc3lzL25mcy9uZnNzdmMuaAlTdW4gTWF5ICAxIDIwOjQ2OjM3 IDIwMTEJKHIyMjEzMDUpCj4rKysgaGVhZC9zeXMvbmZzL25mc3N2Yy5oCVN1biBNYXkgIDEgMjI6 MTk6NTIgMjAxMQkocjIyMTMwNikKPkBAIC02NCw1ICs2NCw2IEBACj4gI2RlZmluZQlORlNTVkNf Q0JBRERTT0NLCTB4MDAyMDAwMDAKPiAjZGVmaW5lCU5GU1NWQ19HRVRTVEFUUwkJMHgwMDQwMDAw MAo+ICNkZWZpbmUJTkZTU1ZDX0JBQ0tVUFNUQUJMRQkweDAwODAwMDAwCj4rI2RlZmluZQlORlNT VkNfWkVST1NUQVRTCTB4MDEwMDAwMDAJLyogbW9kaWZpZXIgZm9yIEdFVFNUQVRTICovCj4gCj4g I2VuZGlmIC8qIF9ORlNfTkZTU1ZDX0ggKi8KPgo+Cj5BdXRob3I6IGFkcmlhbgo+RGF0ZTogU3Vu IE1heSAgMSAyMzozMjozNyAyMDExCj5OZXcgUmV2aXNpb246IDIyMTMwNwo+VVJMOiBodHRwOi8v c3ZuLmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzIyMTMwNwo+Cj5Mb2c6Cj4gIFNvbWUgQVI3 MjR4IFBDSWUgZml4ZXMsIHdoaWNoIHNob3VsZCB3cmFwIHVwIHRoZSBmaXJzdCByb3VuZAo+ICBv ZiBlbmRpYW4tbmVzcyBpc3N1ZXMgd2l0aCB0aGUgQVI3MjR4Lgo+ICAKPiAgRnJvbSBMdWl6Ogo+ ICAKPiAgKiBGaXggdGhlIGJ1cyBzcGFjZSB0YWcgdXNlZCBzbyBlbmRpYW4tbmVzcyBpcyBjb3Jy ZWN0bHkgaGFuZGxlZDsKPiAgKiBPbmx5IGRvIHRoZSB3b3JrYXJvdW5kIGZvciB0aGUgQVI3MjQw OyBBUjcyNDEvQVI3MjQyIChQQjkyKQo+ICAgIGRvbid0IHJlcXVpcmUgdGhpcwo+ICAKPiAgRnJv bSBtZToKPiAgCj4gICogQWRkIGEgcmVhZCBmbHVzaCBmcm9tIG9wZW53cnQKPiAgCj4gIFN1Ym1p dHRlZCBieToJTHVpeiBPdGF2aW8gTyBTb3V6YQo+Cj5Nb2RpZmllZDoKPiAgaGVhZC9zeXMvbWlw cy9hdGhlcm9zL2FyNzI0eF9wY2kuYwo+Cj5Nb2RpZmllZDogaGVhZC9zeXMvbWlwcy9hdGhlcm9z L2FyNzI0eF9wY2kuYwo+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4tLS0gaGVhZC9zeXMvbWlwcy9h dGhlcm9zL2FyNzI0eF9wY2kuYwlTdW4gTWF5ICAxIDIyOjE5OjUyIDIwMTEJKHIyMjEzMDYpCj4r KysgaGVhZC9zeXMvbWlwcy9hdGhlcm9zL2FyNzI0eF9wY2kuYwlTdW4gTWF5ICAxIDIzOjMyOjM3 IDIwMTEJKHIyMjEzMDcpCj5AQCAtNTcsOCArNTcsNyBAQCBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7 Cj4gI2luY2x1ZGUgPG1pcHMvYXRoZXJvcy9hcjcxeHhyZWcuaD4KPiAjaW5jbHVkZSA8bWlwcy9h dGhlcm9zL2FyNzI0eHJlZy5oPgo+ICNpbmNsdWRlIDxtaXBzL2F0aGVyb3MvYXI3MXh4X3NldHVw Lmg+Cj4tI2luY2x1ZGUgPG1pcHMvYXRoZXJvcy9hcjcxeHhfcGNpX2J1c19zcGFjZS5oPgkJLyog WFhYICovCj4tI2luY2x1ZGUgPG1pcHMvYXRoZXJvcy9hcjcxeHhfYnVzX3NwYWNlX3JldmVyc2Vk Lmg+CS8qIFhYWCAqLwo+KyNpbmNsdWRlIDxtaXBzL2F0aGVyb3MvYXI3MXh4X3BjaV9idXNfc3Bh Y2UuaD4KPiAKPiAjaW5jbHVkZSA8bWlwcy9hdGhlcm9zL2FyNzF4eF9jcHVkZWYuaD4KPiAKPkBA IC0xMTMsNyArMTEyLDcgQEAgc3RhdGljIHVpbnQzMl90Cj4gYXI3MjR4X3BjaV9yZWFkX2NvbmZp ZyhkZXZpY2VfdCBkZXYsIHVfaW50IGJ1cywgdV9pbnQgc2xvdCwgdV9pbnQgZnVuYywgCj4gICAg IHVfaW50IHJlZywgaW50IGJ5dGVzKQo+IHsKPi0JdWludDMyX3QgY21kLCBkYXRhLCBzaGlmdCwg bWFzazsKPisJdWludDMyX3QgZGF0YSwgc2hpZnQsIG1hc2s7Cj4gCj4gCS8qIFJlZ2lzdGVyIGFj Y2VzcyBpcyAzMi1iaXQgYWxpZ25lZCAqLwo+IAlzaGlmdCA9IChyZWcgJiAzKSAqIDg7Cj5AQCAt MTI1LDE4ICsxMjQsOSBAQCBhcjcyNHhfcGNpX3JlYWRfY29uZmlnKGRldmljZV90IGRldiwgdV9p Cj4gCWRwcmludGYoIiVzOiB0YWcgKCV4LCAleCwgJXgpIHJlZyAlZCglZClcbiIsIF9fZnVuY19f LCBidXMsIHNsb3QsCj4gCSAgICBmdW5jLCByZWcsIGJ5dGVzKTsKPiAKPi0JaWYgKChidXMgPT0g MCkgJiYgKHNsb3QgPT0gMCkgJiYgKGZ1bmMgPT0gMCkpIHsKPisJaWYgKChidXMgPT0gMCkgJiYg KHNsb3QgPT0gMCkgJiYgKGZ1bmMgPT0gMCkpCj4gCQlkYXRhID0gQVRIX1JFQURfUkVHKEFSNzI0 WF9QQ0lfQ0ZHX0JBU0UgKyAocmVnICYgfjMpKTsKPi0JCS8qCj4tCQkgKiBXQVIgZm9yIEJBUiBp c3N1ZSAtIFdlIGFyZSB1bmFibGUgdG8gYWNjZXNzIHRoZSBQQ0kgZGV2aWNlCj4tCQkgKiBzcGFj ZSBpZiB3ZSBzZXQgdGhlIEJBUiB3aXRoIHByb3BlciBiYXNlIGFkZHJlc3MuCj4tCQkgKi8KPi0J CWlmIChyZWcgPT0gUENJUl9CQVIoMCkgJiYgYnl0ZXMgPT0gNCkgewo+LQkJCWNtZCA9IChhcjcx eHhfc29jID09IEFSNzFYWF9TT0NfQVI3MjQwKSA/Cj4tCQkJICAgIDB4ZmZmZiA6IDB4MTAwMGZm ZmY7Cj4tCQkJYXI3MjR4X3BjaV93cml0ZShBUjcyNFhfUENJX0NGR19CQVNFLCByZWcsIGNtZCwg Ynl0ZXMpOwo+LQkJfQo+LQl9IGVsc2UKPisJZWxzZQo+IAkJZGF0YSA9IC0xOwo+IAo+IAkvKiBH ZXQgcmVxdWVzdCBieXRlcyBmcm9tIDMyLWJpdCB3b3JkICovCj5AQCAtMTU4LDE0ICsxNDgsMTQg QEAgYXI3MjR4X3BjaV93cml0ZV9jb25maWcoZGV2aWNlX3QgZGV2LCB1Xwo+IAlpZiAoKGJ1cyAh PSAwKSB8fCAoc2xvdCAhPSAwKSB8fCAoZnVuYyAhPSAwKSkKPiAJCXJldHVybjsKPiAKPi0JYXI3 MjR4X3BjaV93cml0ZShBUjcyNFhfUENJX0NGR19CQVNFLCByZWcsIGRhdGEsIGJ5dGVzKTsKPiAJ LyoKPi0JICogV0FSIGZvciBCQVIgaXNzdWUgLSBXZSBhcmUgdW5hYmxlIHRvIGFjY2VzcyB0aGUg UENJIGRldmljZSBzcGFjZQo+LQkgKiBpZiB3ZSBzZXQgdGhlIEJBUiB3aXRoIHByb3BlciBiYXNl IGFkZHJlc3MuCj4tCSAqIEZvcmNlIGEgZmx1c2ggaGVyZSAoYXQgcmVnaXN0ZXIgd3JpdGluZyku Cj4rCSAqIFdBUiBmb3IgQkFSIGlzc3VlIG9uIEFSNzI0MCAtIFdlIGFyZSB1bmFibGUgdG8gYWNj ZXNzIHRoZSBQQ0kgZGV2aWNlCj4rCSAqIHNwYWNlIGlmIHdlIHNldCB0aGUgQkFSIHdpdGggcHJv cGVyIGJhc2UgYWRkcmVzcy4KPiAJICovCj4tCWlmIChyZWcgPT0gUENJUl9CQVIoMCkgJiYgYnl0 ZXMgPT0gNCkKPi0JCSh2b2lkKWFyNzI0eF9wY2lfcmVhZF9jb25maWcoZGV2LCBidXMsIHNsb3Qs IGZ1bmMsIHJlZywgYnl0ZXMpOwo+KwlpZiAocmVnID09IFBDSVJfQkFSKDApICYmIGJ5dGVzID09 IDQgJiYgYXI3MXh4X3NvYyA9PSBBUjcxWFhfU09DX0FSNzI0MCkKPisJCWFyNzI0eF9wY2lfd3Jp dGUoQVI3MjRYX1BDSV9DRkdfQkFTRSwgcmVnLCAweGZmZmYsIGJ5dGVzKTsKPisJZWxzZQo+KwkJ YXI3MjR4X3BjaV93cml0ZShBUjcyNFhfUENJX0NGR19CQVNFLCByZWcsIGRhdGEsIGJ5dGVzKTsK PiB9Cj4gCj4gc3RhdGljIHZvaWQgCj5AQCAtMjMyLDYgKzIyMiw5IEBAIGFyNzI0eF9wY2lfc2V0 dXAoZGV2aWNlX3QgZGV2KQo+IAllbHNlCj4gCQlyZWcgPSAweDFmZmMxOwo+IAlBVEhfV1JJVEVf UkVHKEFSNzI0WF9QQ0lfQVBQLCByZWcpOwo+KwkvKiBGbHVzaCB3cml0ZSAqLwo+Kwkodm9pZCkg QVRIX1JFQURfUkVHKEFSNzI0WF9QQ0lfQVBQKTsKPisKPiAJREVMQVkoMTAwMCk7Cj4gCj4gCXJl ZyA9IEFUSF9SRUFEX1JFRyhBUjcyNFhfUENJX1JFU0VUKTsKPkBAIC00NTcsMTAgKzQ1MCw3IEBA IGFyNzI0eF9wY2lfYWN0aXZhdGVfcmVzb3VyY2UoZGV2aWNlX3QgYnUKPiAJCWNhc2UgU1lTX1JF U19NRU1PUlk6Cj4gCQljYXNlIFNZU19SRVNfSU9QT1JUOgo+IAo+LQkJCS8qIFhYWCAqLwo+LQkJ CS8vcm1hbl9zZXRfYnVzdGFnKHIsIGFyNzF4eF9idXNfc3BhY2VfcGNpbWVtKTsKPi0JCQkvL3Jt YW5fc2V0X2J1c3RhZyhyLCBtaXBzX2J1c19zcGFjZV9nZW5lcmljKTsKPi0JCQlybWFuX3NldF9i dXN0YWcociwgYXI3MXh4X2J1c19zcGFjZV9yZXZlcnNlZCk7Cj4rCQkJcm1hbl9zZXRfYnVzdGFn KHIsIGFyNzF4eF9idXNfc3BhY2VfcGNpbWVtKTsKPiAJCQlicmVhazsKPiAJCX0KPiAJfQo+Cj4K PkF1dGhvcjogcm1hY2tsZW0KPkRhdGU6IFN1biBNYXkgIDEgMjM6NDE6MzUgMjAxMQo+TmV3IFJl dmlzaW9uOiAyMjEzMDgKPlVSTDogaHR0cDovL3N2bi5mcmVlYnNkLm9yZy9jaGFuZ2VzZXQvYmFz ZS8yMjEzMDgKPgo+TG9nOgo+ICBGaXggbmZzc3RhdCBzbyB0aGF0IHRoZSAiLXoiIG9wdGlvbiB3 b3JrcyBmb3IgdGhlCj4gIG5ldyBORlMgc3Vic3lzdGVtLgo+ICAKPiAgTUZDIGFmdGVyOgkyIHdl ZWtzCj4KPk1vZGlmaWVkOgo+ICBoZWFkL3Vzci5iaW4vbmZzc3RhdC9uZnNzdGF0LmMKPgo+TW9k aWZpZWQ6IGhlYWQvdXNyLmJpbi9uZnNzdGF0L25mc3N0YXQuYwo+PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Cj4tLS0gaGVhZC91c3IuYmluL25mc3N0YXQvbmZzc3RhdC5jCVN1biBNYXkgIDEgMjM6MzI6 MzcgMjAxMQkocjIyMTMwNykKPisrKyBoZWFkL3Vzci5iaW4vbmZzc3RhdC9uZnNzdGF0LmMJU3Vu IE1heSAgMSAyMzo0MTozNSAyMDExCShyMjIxMzA4KQo+QEAgLTg1LDYgKzg1LDcgQEAgc3RhdGlj IGludCB6ZmxhZyA9IDA7Cj4gc3RhdGljIGludCBydW5fdjQgPSAwOwo+IHN0YXRpYyBpbnQgcHJp bnR0aXRsZSA9IDE7Cj4gc3RhdGljIHN0cnVjdCBleHRfbmZzc3RhdHMgZXh0X25mc3N0YXRzOwo+ K3N0YXRpYyBpbnQgbmZzc3ZjX2ZsYWc7Cj4gCj4gdm9pZCBpbnRwcihpbnQsIGludCk7Cj4gdm9p ZCBwcmludGhkcihpbnQsIGludCk7Cj5AQCAtMTA3LDYgKzEwOCw3IEBAIG1haW4oaW50IGFyZ2Ms IGNoYXIgKiphcmd2KQo+IAljaGFyICptZW1mLCAqbmxpc3RmOwo+IAljaGFyIGVycmJ1ZltfUE9T SVgyX0xJTkVfTUFYXTsKPiAKPisJbmZzc3ZjX2ZsYWcgPSBORlNTVkNfR0VUU1RBVFM7Cj4gCWlu dGVydmFsID0gMDsKPiAJbWVtZiA9IG5saXN0ZiA9IE5VTEw7Cj4gCXdoaWxlICgoY2ggPSBnZXRv cHQoYXJnYywgYXJndiwgImNlc1dNOk46dzp6IikpICE9IC0xKQo+QEAgLTEzNSw2ICsxMzcsNyBA QCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKPiAJCQlicmVhazsKPiAJCWNhc2UgJ3onOgo+ IAkJCXpmbGFnID0gMTsKPisJCQluZnNzdmNfZmxhZyB8PSBORlNTVkNfWkVST1NUQVRTOwo+IAkJ CWJyZWFrOwo+IAkJY2FzZSAnZSc6Cj4gCQkJcnVuX3Y0ID0gMTsKPkBAIC0xNjEsNyArMTY0LDcg QEAgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCj4gCQllcnJ4KDEsICJleHBlcmltZW50YWwg Y2xpZW50L3NlcnZlciBub3QgbG9hZGVkIik7Cj4gCj4gCWlmIChydW5fdjQgIT0gMCkgewo+LQkJ aWYgKG5mc3N2YyhORlNTVkNfR0VUU1RBVFMsICZleHRfbmZzc3RhdHMpIDwgMCkKPisJCWlmIChu ZnNzdmMobmZzc3ZjX2ZsYWcsICZleHRfbmZzc3RhdHMpIDwgMCkKPiAJCQllcnIoMSwgIkNhbid0 IGdldCBzdGF0cyIpOwo+IAl9IGVsc2UgaWYgKG5saXN0ZiAhPSBOVUxMIHx8IG1lbWYgIT0gTlVM TCkgewo+IAkJZGVhZGtlcm5lbCA9IDE7Cj5AQCAtNzkzLDEzICs3OTYsMTMgQEAgZXhwX3NpZGV3 YXlzaW50cHIodV9pbnQgaW50ZXJ2YWwsIGludCBjbAo+IAlpbnQgaGRyY250ID0gMTsKPiAKPiAJ ZXh0X25mc3N0YXRzcCA9ICZsYXN0c3Q7Cj4tCWlmIChuZnNzdmMoTkZTU1ZDX0dFVFNUQVRTLCBl eHRfbmZzc3RhdHNwKSA8IDApCj4rCWlmIChuZnNzdmMobmZzc3ZjX2ZsYWcsIGV4dF9uZnNzdGF0 c3ApIDwgMCkKPiAJCWVycigxLCAiQ2FuJ3QgZ2V0IHN0YXRzIik7Cj4gCXNsZWVwKGludGVydmFs KTsKPiAKPiAJZm9yICg7Oykgewo+IAkJZXh0X25mc3N0YXRzcCA9ICZuZnNzdGF0czsKPi0JCWlm IChuZnNzdmMoTkZTU1ZDX0dFVFNUQVRTLCBleHRfbmZzc3RhdHNwKSA8IDApCj4rCQlpZiAobmZz c3ZjKG5mc3N2Y19mbGFnLCBleHRfbmZzc3RhdHNwKSA8IDApCj4gCQkJZXJyKDEsICJDYW4ndCBn ZXQgc3RhdHMiKTsKPiAKPiAJCWlmICgtLWhkcmNudCA9PSAwKSB7Cj4KPgo+QXV0aG9yOiBybWFj a2xlbQo+RGF0ZTogU3VuIE1heSAgMSAyMzo1NTo1NiAyMDExCj5OZXcgUmV2aXNpb246IDIyMTMw OQo+VVJMOiBodHRwOi8vc3ZuLmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzIyMTMwOQo+Cj5M b2c6Cj4gIEZpeCBuZnNzdGF0LjEgdG8gaW5kaWNhdGUgdGhhdCAiLXoiIG5vdyB3b3JrcyBmb3IK PiAgdGhlIG5ldyBORlMgc3Vic3lzdGVtcyBhZnRlciByMjIxMzA4Lgo+ICBUaGlzIGlzIGEgY29u dGVudCBjaGFuZ2UuCj4gIAo+ICBNRkMgYWZ0ZXI6CTIgd2Vla3MKPgo+TW9kaWZpZWQ6Cj4gIGhl YWQvdXNyLmJpbi9uZnNzdGF0L25mc3N0YXQuMQo+Cj5Nb2RpZmllZDogaGVhZC91c3IuYmluL25m c3N0YXQvbmZzc3RhdC4xCj49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPi0tLSBoZWFkL3Vzci5iaW4v bmZzc3RhdC9uZnNzdGF0LjEJU3VuIE1heSAgMSAyMzo0MTozNSAyMDExCShyMjIxMzA4KQo+Kysr IGhlYWQvdXNyLmJpbi9uZnNzdGF0L25mc3N0YXQuMQlTdW4gTWF5ICAxIDIzOjU1OjU2IDIwMTEJ KHIyMjEzMDkpCj5AQCAtMjgsNyArMjgsNyBAQAo+IC5cIiAgICAgRnJvbTogQCgjKW5mc3N0YXQu MQk4LjEgKEJlcmtlbGV5KSA2LzYvOTMKPiAuXCIgJEZyZWVCU0QkCj4gLlwiCj4tLkRkIE9jdG9i ZXIgMTgsIDIwMDcKPisuRGQgTWF5IDEsIDIwMTEKPiAuRHQgTkZTU1RBVCAxCj4gLk9zCj4gLlNo IE5BTUUKPkBAIC03OCw3ICs3OCw2IEBAIGFjdGl2aXR5IGZvciBib3RoIHRoZSBjbGllbnQgYW5k IHNlcnZlciAKPiBzZWNvbmQgaW50ZXJ2YWxzLgo+IC5JdCBGbCB6Cj4gUmVzZXQgc3RhdGlzdGlj cyBhZnRlciBkaXNwbGF5aW5nIHRoZW0uCj4tKE5vdCBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IHRo ZSBleHBlcmltZW50YWwgbmZzIHN1YnN5c3RlbS4pCj4gLkl0IEZsIGUKPiBHYXRoZXIgc3RhdGlz dGljcyBmcm9tIHRoZSBleHBlcmltZW50YWwgbmZzIHN1YnN5c3RlbSB0aGF0IGluY2x1ZGVzCj4g c3VwcG9ydCBmb3IgTkZTdjQgaW5zdGVhZCBvZiB0aGUgcmVndWxhciBuZnMgc3Vic3lzdGVtLgo+ Cj4KPkF1dGhvcjogYWRyaWFuCj5EYXRlOiBNb24gTWF5ICAyIDA1OjM5OjQzIDIwMTEKPk5ldyBS ZXZpc2lvbjogMjIxMzEyCj5VUkw6IGh0dHA6Ly9zdm4uZnJlZWJzZC5vcmcvY2hhbmdlc2V0L2Jh c2UvMjIxMzEyCj4KPkxvZzoKPiAgQWRkIGRvY3VtZW50YXRpb24gdG8gc3lzL2NvbmYvb3B0aW9u cyBwb2ludGluZyBvdXQgdGhhdCBBSF9TVVBQT1JUX0FSOTEzMAo+ICBzaG91bGRuJ3QgYmUgZW5h YmxlZCBieSBkZWZhdWx0IHVubGVzcyB5b3UncmUgdHJ1ZWx5IGJ1aWxkaW5nIGZvciB0aGUKPiAg QVI5MTN4IHBsYXRmb3JtLgo+Cj5Nb2RpZmllZDoKPiAgaGVhZC9zeXMvY29uZi9vcHRpb25zCj4K Pk1vZGlmaWVkOiBoZWFkL3N5cy9jb25mL29wdGlvbnMKPj09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ LS0tIGhlYWQvc3lzL2NvbmYvb3B0aW9ucwlNb24gTWF5ICAyIDAxOjAxOjAzIDIwMTEJKHIyMjEz MTEpCj4rKysgaGVhZC9zeXMvY29uZi9vcHRpb25zCU1vbiBNYXkgIDIgMDU6Mzk6NDMgMjAxMQko cjIyMTMxMikKPkBAIC03NzUsNiArNzc1LDggQEAgQVRIX0VOQUJMRV8xMU4JCW9wdF9haC5oCj4g Cj4gIyBvcHRpb25zIGZvciB0aGUgQXRoZXJvcyBoYWwKPiBBSF9TVVBQT1JUX0FSNTQxNglvcHRf YWguaAo+KyMgWFhYIEZvciBub3csIHRoaXMgYnJlYWtzIG5vbi1BUjkxMzAgY2hpcHNldHMsIHNv IG9ubHkgdXNlIGl0Cj4rIyBYWFggd2hlbiBhY3R1YWxseSB0YXJnZXR0aW5nIEFSOTEzMC4KPiBB SF9TVVBQT1JUX0FSOTEzMAlvcHRfYWguaAo+IAo+IEFIX0RFQlVHCQlvcHRfYWguaAo+QEAgLTc5 MSw2ICs3OTMsNyBAQCBBSF9NQVhDSEFOCQlvcHRfYWguaAo+IEFIX1JYQ0ZHX1NETUFNV180QllU RVMJb3B0X2FoLmgKPiAKPiAjIEFSNTQxNiBhbmQgbGF0ZXIgaW50ZXJydXB0IG1pdGlnYXRpb24K PisjIFhYWCBkbyBub3QgdXNlIHRoaXMgZm9yIEFSOTEzMAo+IEFIX0FSNTQxNl9JTlRFUlJVUFRf TUlUSUdBVElPTglvcHRfYWguaAo+IAo+ICMgb3B0aW9ucyBmb3IgdGhlIEJyb2FkY29tIEJDTTQz eHggZHJpdmVyIChid2kpCj4KPgo+T24gMiBNYXkgMjAxMSAwMzo1NCwgQmVybmhhcmQgU2NobWlk dCA8YnNjaG1pZHRAZnJlZWJzZC5vcmc+IHdyb3RlOgo+Cj4+PiBJJ20gbm90IHN1cmUgdGhhdCdz IGludHJpbnNpY2FsbHkgdHJ1ZS4gRXZlbiBpZiB0aGV5IG1vc3RseSBvbmx5IHNoaXAKPj4+IHdp dGggSW50ZWwgbW90aGVyYm9hcmRzLCBtYW55IG9mIHRoZXNlIGFyZSBNaW5pLVBDSSBwYXJ0cyB3 aGljaCBjb3VsZCBiZQo+Pj4gcHV0IGludG8gbm9uLXg4NiBzeXN0ZW1zLgo+Pgo+PiBZZXMsIGlu ZGVlZC4gVGhvc2UgbWlnaHQgb2YgY291cnNlIGJlIHVzZWQgb24gb3RoZXIgcGxhdGZvcm1zIHRv bwo+PiAod2VsbCBhdCBsZWFzdCBpdCBmaXRzIGludG8gdGhlIHNsb3QsIEkga25vdyB0aGF0IGNl cnRhaW4gZmVhdHVyZXMKPj4gYXJlIG5vdCBldmVuIGF2YWlsYWJsZSBvbiBBTUQgcGxhdGZvcm1z KS4gSSdtIGp1c3Qgbm90IGF3YXJlIHRoYXQKPj4gYW55b25lIGV2ZXIgdHJpZWQgb25lIG9mIGl0 IG9uIG1pcHMgZm9yIGV4YW1wbGUuCj4+Cj4+IEkgZG9uJ3QgbWluZCBiZWluZyBwcm92ZW4gd3Jv bmcgYW5kIGlmIHNvIG1vdmUgdGhlIGVudHJpZXMgYmFjayB0bwo+PiBhIG1vcmUgZ2VuZXJpYyBs b2NhdGlvbi4gQ3VycmVudGx5IEknbSBqdXN0IHRyeWluZyBtaW1pYyB0aGUgbW9kdWxlCj4+IGJl aGF2aW91ciBpbiBzeXMvbW9kdWxlcy9NYWtlZmlsZS4KPgo+SSdtIGxpa2VseSB0byB0cnkgdGhl IGludGVsIG1pbmktcGNpZSBzdHVmZiBvbiB0aGUgYXRoZXJvcyBQQjkyIHJlZgo+Ym9hcmQgKEFS NzI0MiBNSVBTKS4gSnVzdCBub3QgeWV0Lgo+Cj5JJ2xsIGxldCB5b3Uga25vdyBob3cgaXQgZ29l cyB3aGVuIGkndmUgZG9uZSBpdC4KPgo+Cj4KPkFkaXJhbgo+Cj4KPkF1dGhvcjogbWF4aW0KPkRh dGU6IE1vbiBNYXkgIDIgMDk6NDc6MTMgMjAxMQo+TmV3IFJldmlzaW9uOiAyMjEzMTkKPlVSTDog aHR0cDovL3N2bi5mcmVlYnNkLm9yZy9jaGFuZ2VzZXQvYmFzZS8yMjEzMTkKPgo+TG9nOgo+ICBv IE9wZW5CU0QgNC45IGFkZGVkLgo+Cj5Nb2RpZmllZDoKPiAgaGVhZC9zaGFyZS9taXNjL2JzZC1m YW1pbHktdHJlZQo+Cj5Nb2RpZmllZDogaGVhZC9zaGFyZS9taXNjL2JzZC1mYW1pbHktdHJlZQo+ PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09Cj4tLS0gaGVhZC9zaGFyZS9taXNjL2JzZC1mYW1pbHktdHJl ZQlNb24gTWF5ICAyIDA4OjMzOjIwIDIwMTEJKHIyMjEzMTgpCj4rKysgaGVhZC9zaGFyZS9taXNj L2JzZC1mYW1pbHktdHJlZQlNb24gTWF5ICAyIDA5OjQ3OjEzIDIwMTEJKHIyMjEzMTkpCj5AQCAt MjQ2LDcgKzI0Niw3IEBAIEZyZWVCU0QgNS4yICAgICAgICAgICB8ICAgICAgfCAgICAgICAgICAK PiAgfCAgICAgfCAgICAgICAgfCAgICAgfCAgICAgIHwgTmV0QlNEIDUuMSAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgIHwKPiAgfCAgRnJlZUJTRCAgRnJlZUJTRCAgfCAgICAgIHwgICAgICAg ICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgIHwKPiAgfCAgICA4LjIgICAgICA3LjQg ICAgfCAgICAgIHwgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICBEcmFnb25GbHkgMi4x MC4xCj4tIHwgICAgIHYgICAgICAgICAgICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICB8Cj4rIHwgICAgIHYgICAgICAgICAgICAgIHwgICAgICB8ICAg ICAgICAgICAgIE9wZW5CU0QgNC45ICAgICAgICAgICAgICAgICB8Cj4gIHwgICAgICAgICAgICAg ICAgICAgIHwgICAgICB8ICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8 Cj4gRnJlZUJTRCA5IC1jdXJyZW50ICAgIHwgIE5ldEJTRCAtY3VycmVudCAgT3BlbkJTRCAtY3Vy cmVudCAgICAgICAgICAgICB8Cj4gIHwgICAgICAgICAgICAgICAgICAgIHwgICAgICB8ICAgICAg ICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICB8Cj5AQCAtNTMzLDYgKzUzMyw3IEBA IE5ldEJTRCA1LjEJCTIwMTAtMTEtMTkgW05CRF0KPiBGcmVlQlNEIDcuNAkJMjAxMS0wMi0yNCBb RkJEXQo+IEZyZWVCU0QgOC4yCQkyMDExLTAyLTI0IFtGQkRdCj4gRHJhZ29uRmx5IDIuMTAuMQky MDExLTA0LTI2IFtERkJdCj4rT3BlbkJTRCA0LjkJCTIwMTEtMDUtMDEgW09CRF0KPiAKPiBCaWJs aW9ncmFwaHkKPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPgo+Cj5BdXRob3I6IGJydWNlYwo+ RGF0ZTogTW9uIE1heSAgMiAxMDozNToyNyAyMDExCj5OZXcgUmV2aXNpb246IDIyMTMyMAo+VVJM OiBodHRwOi8vc3ZuLmZyZWVic2Qub3JnL2NoYW5nZXNldC9iYXNlLzIyMTMyMAo+Cj5Mb2c6Cj4g IEFkZCAtV21pc3NpbmctaW5jbHVkZS1kaXJzIHRvIENXQVJORkxBR1MsIHNvIHRpbmRlcmJveCB3 aWxsIHB1bmlzaCB0aG9zZQo+ICBkZXZlbG9wZXJzIGNvbW1pdHRpbmcgbmV3IGNvZGUgd2l0aCBi cm9rZW4gaW5jbHVkZSBkaXJlY3Rvcmllcy4KPiAgRml4IGEgZmV3IHdoaXRlc3BhY2UgaXNzdWVz Lgo+ICBJbXByb3ZlIGEgY291cGxlIG9mIGNvbW1lbnRzLgo+ICAtVyBpcyBub3cgZGVwcmVjYXRl ZCBhbmQgaXMgcmVmZXJyZWQgdG8gYXMgLVdleHRyYSAoc2VlIGdjYygxKSkuCj4gIAo+ICBTdWJt aXR0ZWQgYnk6CWFydW5kZWwKPgo+TW9kaWZpZWQ6Cj4gIGhlYWQvc3lzL2NvbmYva2Vybi5tawo+ Cj5Nb2RpZmllZDogaGVhZC9zeXMvY29uZi9rZXJuLm1rCj49PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K Pi0tLSBoZWFkL3N5cy9jb25mL2tlcm4ubWsJTW9uIE1heSAgMiAwOTo0NzoxMyAyMDExCShyMjIx MzE5KQo+KysrIGhlYWQvc3lzL2NvbmYva2Vybi5tawlNb24gTWF5ICAyIDEwOjM1OjI3IDIwMTEJ KHIyMjEzMjApCj5AQCAtMywyNCArMywyNSBAQAo+ICMKPiAjIFdhcm5pbmcgZmxhZ3MgZm9yIGNv bXBpbGluZyB0aGUga2VybmVsIGFuZCBjb21wb25lbnRzIG9mIHRoZSBrZXJuZWwuCj4gIwo+LSMg Tm90ZSB0aGF0IHRoZSBuZXdseSBhZGRlZCAtV2Nhc3QtcXVhbCBpcyByZXNwb25zaWJsZSBmb3Ig Z2VuZXJhdGluZyAKPisjIE5vdGUgdGhhdCB0aGUgbmV3bHkgYWRkZWQgLVdjYXN0LXF1YWwgaXMg cmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcKPiAjIG1vc3Qgb2YgdGhlIHJlbWFpbmluZyB3YXJu aW5ncy4gIFdhcm5pbmdzIGludHJvZHVjZWQgd2l0aCAtV2FsbCB3aWxsCj4gIyBhbHNvIHBvcCB1 cCwgYnV0IGFyZSBlYXNpZXIgdG8gZml4Lgo+IENXQVJORkxBR1M/PQktV2FsbCAtV3JlZHVuZGFu dC1kZWNscyAtV25lc3RlZC1leHRlcm5zIC1Xc3RyaWN0LXByb3RvdHlwZXMgXAo+IAkJLVdtaXNz aW5nLXByb3RvdHlwZXMgLVdwb2ludGVyLWFyaXRoIC1XaW5saW5lIC1XY2FzdC1xdWFsIFwKPi0J CS1XdW5kZWYgLVduby1wb2ludGVyLXNpZ24gLWZmb3JtYXQtZXh0ZW5zaW9ucwo+KwkJLVd1bmRl ZiAtV25vLXBvaW50ZXItc2lnbiAtZmZvcm1hdC1leHRlbnNpb25zIFwKPisJCS1XbWlzc2luZy1p bmNsdWRlLWRpcnMKPiAjCj4gIyBUaGUgZm9sbG93aW5nIGZsYWdzIGFyZSBuZXh0IHVwIGZvciB3 b3JraW5nIG9uOgo+LSMJLVcKPisjCS1XZXh0cmEKPiAKPiAjCj4tIyBPbiB0aGUgaTM4NiwgZG8g bm90IGFsaWduIHRoZSBzdGFjayB0byAxNi1ieXRlIGJvdW5kYXJpZXMuICBPdGhlcndpc2UgR0ND Cj4tIyAyLjk1IGFkZHMgY29kZSB0byB0aGUgZW50cnkgYW5kIGV4aXQgcG9pbnQgb2YgZXZlcnkg ZnVuY3Rpb24gdG8gYWxpZ24gdGhlCj4rIyBPbiBpMzg2LCBkbyBub3QgYWxpZ24gdGhlIHN0YWNr IHRvIDE2LWJ5dGUgYm91bmRhcmllcy4gIE90aGVyd2lzZSBHQ0MgMi45NQo+KyMgYW5kIGFib3Zl IGFkZHMgY29kZSB0byB0aGUgZW50cnkgYW5kIGV4aXQgcG9pbnQgb2YgZXZlcnkgZnVuY3Rpb24g dG8gYWxpZ24gdGhlCj4gIyBzdGFjayB0byAxNi1ieXRlIGJvdW5kYXJpZXMgLS0gdGh1cyB3YXN0 aW5nIGFwcHJveGltYXRlbHkgMTIgYnl0ZXMgb2Ygc3RhY2sKPi0jIHBlciBmdW5jdGlvbiBjYWxs LiAgV2hpbGUgdGhlIDE2LWJ5dGUgYWxpZ25tZW50IG1heSBiZW5lZml0IG1pY3JvIGJlbmNobWFy a3MsIAo+KyMgcGVyIGZ1bmN0aW9uIGNhbGwuICBXaGlsZSB0aGUgMTYtYnl0ZSBhbGlnbm1lbnQg bWF5IGJlbmVmaXQgbWljcm8gYmVuY2htYXJrcywKPiAjIGl0IGlzIHByb2JhYmx5IGFuIG92ZXJh bGwgbG9zcyBhcyBpdCBtYWtlcyB0aGUgY29kZSBiaWdnZXIgKGxlc3MgZWZmaWNpZW50Cj4gIyB1 c2Ugb2YgY29kZSBjYWNoZSB0YWcgbGluZXMpIGFuZCB1c2VzIG1vcmUgc3RhY2sgKGxlc3MgZWZm aWNpZW50IHVzZSBvZiBkYXRhCj4tIyBjYWNoZSB0YWcgbGluZXMpLiAgRXhwbGljaXRseSBwcm9o aWJpdCB0aGUgdXNlIG9mIFNTRSBhbmQgb3RoZXIgU0lNRAo+KyMgY2FjaGUgdGFnIGxpbmVzKS4g IEV4cGxpY2l0bHkgcHJvaGliaXQgdGhlIHVzZSBvZiBGUFUsIFNTRSBhbmQgb3RoZXIgU0lNRAo+ ICMgb3BlcmF0aW9ucyBpbnNpZGUgdGhlIGtlcm5lbCBpdHNlbGYuICBUaGVzZSBvcGVyYXRpb25z IGFyZSBleGNsdXNpdmVseQo+ICMgcmVzZXJ2ZWQgZm9yIHVzZXIgYXBwbGljYXRpb25zLgo+ICMK PkBAIC0zNSw2ICszNiw3IEBAIElOTElORV9MSU1JVD89CTgwMDAKPiAuaWYgJHtNQUNISU5FX0NQ VUFSQ0h9ID09ICJhcm0iCj4gSU5MSU5FX0xJTUlUPz0JODAwMAo+IC5lbmRpZgo+Kwo+ICMKPiAj IEZvciBJQS02NCwgd2UgdXNlIHIxMyBmb3IgdGhlIGtlcm5lbCBnbG9iYWxzIHBvaW50ZXIgYW5k IHdlIG9ubHkgdXNlCj4gIyBhIHZlcnkgc21hbGwgc3Vic2V0IG9mIGZsb2F0IHJlZ2lzdGVycyBm b3IgaW50ZWdlciBkaXZpZGVzLgo+QEAgLTk4LDcgKzEwMCw3IEBAIElOTElORV9MSU1JVD89CTgw MDAKPiBDRkxBR1MrPQktZmZyZWVzdGFuZGluZwo+IAo+ICMKPi0jIEdDQyBTU1Agc3VwcG9ydC4K PisjIEdDQyBTU1Agc3VwcG9ydAo+ICMKPiAuaWYgJHtNS19TU1B9ICE9ICJubyIgJiYgJHtNQUNI SU5FX0NQVUFSQ0h9ICE9ICJpYTY0IiAmJiBcCj4gICAgICR7TUFDSElORV9DUFVBUkNIfSAhPSAi YXJtIiAmJiAke01BQ0hJTkVfQ1BVQVJDSH0gIT0gIm1pcHMiCj5AQCAtMTA2LDkgKzEwOCw4IEBA IENGTEFHUys9CS1mc3RhY2stcHJvdGVjdG9yCj4gLmVuZGlmCj4gCj4gIwo+LSMgRW5hYmxlIENU RiBjb252ZXJzYXRpb24gb24gcmVxdWVzdC4KPisjIEVuYWJsZSBDVEYgY29udmVyc2F0aW9uIG9u IHJlcXVlc3QKPiAjCj4gLmlmIGRlZmluZWQoV0lUSF9DVEYpCj4gLnVuZGVmIE5PX0NURgo+IC5l bmRpZgo+LQo+Cj4KPkF1dGhvcjogYWRyaWFuCj5EYXRlOiBNb24gTWF5ICAyIDEwOjQyOjE5IDIw MTEKPk5ldyBSZXZpc2lvbjogMjIxMzIxCj5VUkw6IGh0dHA6Ly9zdm4uZnJlZWJzZC5vcmcvY2hh bmdlc2V0L2Jhc2UvMjIxMzIxCj4KPkxvZzoKPiAgQWRkIGluIHRoZSB3b3JrLWFyb3VuZCBmb3Ig dGhlIEFSODMxNiBnaWdlIHN3aXRjaCBQSFkuCj4gIAo+ICBUaGlzIGFsbG93cyB0aGUgZXRoZXJu ZXQgdG8gZnVuY3Rpb24gb24gdGhlIFBCOTIgYm9hcmQuCj4gIAo+ICBTdWJtaXR0ZWQgYnk6CUx1 aXogT3RhdmlvIE8gU291emEKPgo+TW9kaWZpZWQ6Cj4gIGhlYWQvc3lzL21pcHMvY29uZi9QQjky LmhpbnRzCj4KPk1vZGlmaWVkOiBoZWFkL3N5cy9taXBzL2NvbmYvUEI5Mi5oaW50cwo+PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cj4tLS0gaGVhZC9zeXMvbWlwcy9jb25mL1BCOTIuaGludHMJTW9uIE1h eSAgMiAxMDozNToyNyAyMDExCShyMjIxMzIwKQo+KysrIGhlYWQvc3lzL21pcHMvY29uZi9QQjky LmhpbnRzCU1vbiBNYXkgIDIgMTA6NDI6MTkgMjAxMQkocjIyMTMyMSkKPkBAIC0zMCw3ICszMCwx MSBAQCBoaW50LmFyZ2UuMC5hdD0ibmV4dXMwIgo+IGhpbnQuYXJnZS4wLm1hZGRyPTB4MTkwMDAw MDAKPiBoaW50LmFyZ2UuMC5tc2l6ZT0weDEwMDAKPiBoaW50LmFyZ2UuMC5pcnE9Mgo+LWhpbnQu YXJnZS4wLnBoeW1hc2s9MHgxCj4rCj4rIyBBUjgzMTYgd29ya2Fyb3VuZCBmb3Igbm93Cj4raGlu dC5hcmdlLjAubWVkaWE9MTAwMAo+K2hpbnQuYXJnZS4wLmZkdXBsZXg9MQo+K2hpbnQuYXJnZS4w LnBoeW1hc2s9MHgzCj4gCj4gIyBHUElPCj4gaGludC5ncGlvLjAuYXQ9ImFwYjAiCj4KPgo+T24g TW9uIE1heSAgMiAxMSwgQnJ1Y2UgQ3JhbiB3cm90ZToKPj4gQXV0aG9yOiBicnVjZWMKPj4gRGF0 ZTogTW9uIE1heSAgMiAxMDozNToyNyAyMDExCj4+IE5ldyBSZXZpc2lvbjogMjIxMzIwCj4+IFVS TDogaHR0cDovL3N2bi5mcmVlYnNkLm9yZy9jaGFuZ2VzZXQvYmFzZS8yMjEzMjAKPj4gCj4+IExv ZzoKPj4gICBBZGQgLVdtaXNzaW5nLWluY2x1ZGUtZGlycyB0byBDV0FSTkZMQUdTLCBzbyB0aW5k ZXJib3ggd2lsbCBwdW5pc2ggdGhvc2UKPj4gICBkZXZlbG9wZXJzIGNvbW1pdHRpbmcgbmV3IGNv ZGUgd2l0aCBicm9rZW4gaW5jbHVkZSBkaXJlY3Rvcmllcy4KPgo+QnJ1Y2UgYWxyZWFkeSBjb21t aXR0ZWQgcjIyMDcxMiBpbiBvcmRlciB0byBtYWtlIHRoZSBjdXJyZW50IHRyZWUgd29yayB3aXRo Cj4tV21pc3NpbmctaW5jbHVkZS1kaXJzLiBTbyBob3BlZnVsbHkgdGluZGVyYm94IHdpbGwgbm90 IGNvbXBsYWluIGZvciBhbnkgQVJDSC4KPgo+UGxlYXNlIGFsc28gbm90ZSB0aGF0IGN1cnJlbnRs eSAtV21pc3NpbmctaW5jbHVkZS1kaXJzIGlzIGEgbm9vcCBpbiBjbGFuZy4gT25jZQo+aXQgZ2V0 cyBpbXBsZW1lbnRlZCB3ZSB3aWxsIGhvcGVmdWxseSBiZW5lZml0IGZyb20gaXQgdmlhIHRoZSB2 ZW5kb3IgaW1wb3J0Lgo+Cj5UaGFua3MgYWdhaW4gQnJ1Y2UgZm9yIHRha2luZyBjYXJlISA6KQo+ Cj4+ICAgRml4IGEgZmV3IHdoaXRlc3BhY2UgaXNzdWVzLgo+PiAgIEltcHJvdmUgYSBjb3VwbGUg b2YgY29tbWVudHMuCj4+ICAgLVcgaXMgbm93IGRlcHJlY2F0ZWQgYW5kIGlzIHJlZmVycmVkIHRv IGFzIC1XZXh0cmEgKHNlZSBnY2MoMSkpLgo+PiAgIAo+PiAgIFN1Ym1pdHRlZCBieToJYXJ1bmRl bAo+PiAKPj4gTW9kaWZpZWQ6Cj4+ICAgaGVhZC9zeXMvY29uZi9rZXJuLm1rCj4+IAo+PiBNb2Rp ZmllZDogaGVhZC9zeXMvY29uZi9rZXJuLm1rCj4+ID09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+PiAt LS0gaGVhZC9zeXMvY29uZi9rZXJuLm1rCU1vbiBNYXkgIDIgMDk6NDc6MTMgMjAxMQkocjIyMTMx OSkKPj4gKysrIGhlYWQvc3lzL2NvbmYva2Vybi5tawlNb24gTWF5ICAyIDEwOjM1OjI3IDIwMTEJ KHIyMjEzMjApCj4+IEBAIC0zLDI0ICszLDI1IEBACj4+ICAjCj4+ICAjIFdhcm5pbmcgZmxhZ3Mg Zm9yIGNvbXBpbGluZyB0aGUga2VybmVsIGFuZCBjb21wb25lbnRzIG9mIHRoZSBrZXJuZWwuCj4+ ICAjCj4+IC0jIE5vdGUgdGhhdCB0aGUgbmV3bHkgYWRkZWQgLVdjYXN0LXF1YWwgaXMgcmVzcG9u c2libGUgZm9yIGdlbmVyYXRpbmcgCj4+ICsjIE5vdGUgdGhhdCB0aGUgbmV3bHkgYWRkZWQgLVdj YXN0LXF1YWwgaXMgcmVzcG9uc2libGUgZm9yIGdlbmVyYXRpbmcKPj4gICMgbW9zdCBvZiB0aGUg cmVtYWluaW5nIHdhcm5pbmdzLiAgV2FybmluZ3MgaW50cm9kdWNlZCB3aXRoIC1XYWxsIHdpbGwK Pj4gICMgYWxzbyBwb3AgdXAsIGJ1dCBhcmUgZWFzaWVyIHRvIGZpeC4KPj4gIENXQVJORkxBR1M/ PQktV2FsbCAtV3JlZHVuZGFudC1kZWNscyAtV25lc3RlZC1leHRlcm5zIC1Xc3RyaWN0LXByb3Rv dHlwZXMgXAo+PiAgCQktV21pc3NpbmctcHJvdG90eXBlcyAtV3BvaW50ZXItYXJpdGggLVdpbmxp bmUgLVdjYXN0LXF1YWwgXAo+PiAtCQktV3VuZGVmIC1Xbm8tcG9pbnRlci1zaWduIC1mZm9ybWF0 LWV4dGVuc2lvbnMKPj4gKwkJLVd1bmRlZiAtV25vLXBvaW50ZXItc2lnbiAtZmZvcm1hdC1leHRl bnNpb25zIFwKPj4gKwkJLVdtaXNzaW5nLWluY2x1ZGUtZGlycwo+PiAgIwo+PiAgIyBUaGUgZm9s bG93aW5nIGZsYWdzIGFyZSBuZXh0IHVwIGZvciB3b3JraW5nIG9uOgo+PiAtIwktVwo+PiArIwkt V2V4dHJhCj4+ICAKPj4gICMKPj4gLSMgT24gdGhlIGkzODYsIGRvIG5vdCBhbGlnbiB0aGUgc3Rh Y2sgdG8gMTYtYnl0ZSBib3VuZGFyaWVzLiAgT3RoZXJ3aXNlIEdDQwo+PiAtIyAyLjk1IGFkZHMg Y29kZSB0byB0aGUgZW50cnkgYW5kIGV4aXQgcG9pbnQgb2YgZXZlcnkgZnVuY3Rpb24gdG8gYWxp Z24gdGhlCj4+ICsjIE9uIGkzODYsIGRvIG5vdCBhbGlnbiB0aGUgc3RhY2sgdG8gMTYtYnl0ZSBi b3VuZGFyaWVzLiAgT3RoZXJ3aXNlIEdDQyAyLjk1Cj4+ICsjIGFuZCBhYm92ZSBhZGRzIGNvZGUg dG8gdGhlIGVudHJ5IGFuZCBleGl0IHBvaW50IG9mIGV2ZXJ5IGZ1bmN0aW9uIHRvIGFsaWduIHRo ZQo+PiAgIyBzdGFjayB0byAxNi1ieXRlIGJvdW5kYXJpZXMgLS0gdGh1cyB3YXN0aW5nIGFwcHJv eGltYXRlbHkgMTIgYnl0ZXMgb2Ygc3RhY2sKPj4gLSMgcGVyIGZ1bmN0aW9uIGNhbGwuICBXaGls ZSB0aGUgMTYtYnl0ZSBhbGlnbm1lbnQgbWF5IGJlbmVmaXQgbWljcm8gYmVuY2htYXJrcywgCj4+ ICsjIHBlciBmdW5jdGlvbiBjYWxsLiAgV2hpbGUgdGhlIDE2LWJ5dGUgYWxpZ25tZW50IG1heSBi ZW5lZml0IG1pY3JvIGJlbmNobWFya3MsCj4+ICAjIGl0IGlzIHByb2JhYmx5IGFuIG92ZXJhbGwg bG9zcyBhcyBpdCBtYWtlcyB0aGUgY29kZSBiaWdnZXIgKGxlc3MgZWZmaWNpZW50Cj4+ICAjIHVz ZSBvZiBjb2RlIGNhY2hlIHRhZyBsaW5lcykgYW5kIHVzZXMgbW9yZSBzdGFjayAobGVzcyBlZmZp Y2llbnQgdXNlIG9mIGRhdGEKPj4gLSMgY2FjaGUgdGFnIGxpbmVzKS4gIEV4cGxpY2l0bHkgcHJv aGliaXQgdGhlIHVzZSBvZiBTU0UgYW5kIG90aGVyIFNJTUQKPj4gKyMgY2FjaGUgdGFnIGxpbmVz KS4gIEV4cGxpY2l0bHkgcHJvaGliaXQgdGhlIHVzZSBvZiBGUFUsIFNTRSBhbmQgb3RoZXIgU0lN RAo+PiAgIyBvcGVyYXRpb25zIGluc2lkZSB0aGUga2VybmVsIGl0c2VsZi4gIFRoZXNlIG9wZXJh dGlvbnMgYXJlIGV4Y2x1c2l2ZWx5Cj4+ICAjIHJlc2VydmVkIGZvciB1c2VyIGFwcGxpY2F0aW9u cy4KPj4gICMKPj4gQEAgLTM1LDYgKzM2LDcgQEAgSU5MSU5FX0xJTUlUPz0JODAwMAo+PiAgLmlm ICR7TUFDSElORV9DUFVBUkNIfSA9PSAiYXJtIgo+PiAgSU5MSU5FX0xJTUlUPz0JODAwMAo+PiAg LmVuZGlmCj4+ICsKPj4gICMKPj4gICMgRm9yIElBLTY0LCB3ZSB1c2UgcjEzIGZvciB0aGUga2Vy bmVsIGdsb2JhbHMgcG9pbnRlciBhbmQgd2Ugb25seSB1c2UKPj4gICMgYSB2ZXJ5IHNtYWxsIHN1 YnNldCBvZiBmbG9hdCByZWdpc3RlcnMgZm9yIGludGVnZXIgZGl2aWRlcy4KPj4gQEAgLTk4LDcg KzEwMCw3IEBAIElOTElORV9MSU1JVD89CTgwMDAKPj4gIENGTEFHUys9CS1mZnJlZXN0YW5kaW5n Cj4+ICAKPj4gICMKPj4gLSMgR0NDIFNTUCBzdXBwb3J0Lgo+PiArIyBHQ0MgU1NQIHN1cHBvcnQK Pj4gICMKPj4gIC5pZiAke01LX1NTUH0gIT0gIm5vIiAmJiAke01BQ0hJTkVfQ1BVQVJDSH0gIT0g ImlhNjQiICYmIFwKPj4gICAgICAke01BQ0hJTkVfQ1BVQVJDSH0gIT0gImFybSIgJiYgJHtNQUNI SU5FX0NQVUFSQ0h9ICE9ICJtaXBzIgo+PiBAQCAtMTA2LDkgKzEwOCw4IEBAIENGTEFHUys9CS1m c3RhY2stcHJvdGVjdG9yCj4+ICAuZW5kaWYKPj4gIAo+PiAgIwo+PiAtIyBFbmFibGUgQ1RGIGNv bnZlcnNhdGlvbiBvbiByZXF1ZXN0Lgo+PiArIyBFbmFibGUgQ1RGIGNvbnZlcnNhdGlvbiBvbiBy ZXF1ZXN0Cj4+ICAjCj4+ICAuaWYgZGVmaW5lZChXSVRIX0NURikKPj4gIC51bmRlZiBOT19DVEYK Pj4gIC5lbmRpZgo+PiAtCj4KPi0tIAo+YTEzeAo+Cj4KPk9uIDIwMTEtMDQtMjkgMjA6MjAsIEp1 bmctdWsgS2ltIHdyb3RlOgo+Li4uCj4+ICtzdGF0aWMgX19pbmxpbmUgdm9pZAo+PiArdm13YXJl X2h2Y2FsbCh1X2ludCBjbWQsIHVfaW50ICpwKQo+PiArewo+PiArCj4+ICsJX19hc20gX192b2xh dGlsZSgiaW5sICglJWR4KSIKPj4gKwk6ICI9YSIgKHBbMF0pLCAiPWIiIChwWzFdKSwgIj1jIiAo cFsyXSksICI9ZCIgKHBbM10pCj4+ICsJOiAiMCIgKFZNV19IVk1BR0lDKSwgIjEiIChVSU5UX01B WCksICIyIiAoY21kKSwgIjMiIChWTVdfSFZQT1JUKQo+PiArCTogIm1lbW9yeSIpOwo+PiArfQo+ Cj5UaGlzIHVwc2V0cyBjbGFuZydzIGludGVncmF0ZWQgYXNzZW1ibGVyLCBhbmQgSSB0aGluayBp dCdzIHJpZ2h0IGluIHRoaXMKPmNhc2U6Cj4KPnN5cy94ODYveDg2L3RzYy5jOjEwMzoxOTogZXJy b3I6IGludmFsaWQgb3BlcmFuZCBmb3IgaW5zdHJ1Y3Rpb24KPiAgICAgICAgIF9fYXNtIF9fdm9s YXRpbGUoImlubCAoJSVkeCkiCj4gICAgICAgICAgICAgICAgICAgICAgICAgIF4KPjxpbmxpbmUg YXNtPjoxOjY6IG5vdGU6IGluc3RhbnRpYXRlZCBpbnRvIGFzc2VtYmx5IGhlcmUKPiAgICAgICAg IGlubCAoJWR4KQo+ICAgICAgICAgICAgIF4KPgo+Q2FuIHdlIHBsZWFzZSBhZGQgYW4gZXhwbGlj aXQgJSVlYXggYXMgc2Vjb25kIGFyZ3VtZW50IGhlcmU/ICBFLmcuOgo+Cj5kaWZmIC0tZ2l0IGEv c3lzL3g4Ni94ODYvdHNjLmMgYi9zeXMveDg2L3g4Ni90c2MuYwo+aW5kZXggMGI3NTEwYy4uOTYz ODE2NyAxMDA2NDQKPi0tLSBhL3N5cy94ODYveDg2L3RzYy5jCj4rKysgYi9zeXMveDg2L3g4Ni90 c2MuYwo+QEAgLTEwMCw3ICsxMDAsNyBAQCBzdGF0aWMgX19pbmxpbmUgdm9pZAo+ICB2bXdhcmVf aHZjYWxsKHVfaW50IGNtZCwgdV9pbnQgKnApCj4gIHsKPiAgCj4tCV9fYXNtIF9fdm9sYXRpbGUo ImlubCAoJSVkeCkiCj4rCV9fYXNtIF9fdm9sYXRpbGUoImlubCAoJSVkeCksICUlZWF4Igo+ICAJ OiAiPWEiIChwWzBdKSwgIj1iIiAocFsxXSksICI9YyIgKHBbMl0pLCAiPWQiIChwWzNdKQo+ICAJ OiAiMCIgKFZNV19IVk1BR0lDKSwgIjEiIChVSU5UX01BWCksICIyIiAoY21kKSwgIjMiIChWTVdf SFZQT1JUKQo+ICAJOiAibWVtb3J5Iik7Cj4KPgo+QXV0aG9yOiBqaGIKPkRhdGU6IE1vbiBNYXkg IDIgMTQ6MTM6MTIgMjAxMQo+TmV3IFJldmlzaW9uOiAyMjEzMjQKPlVSTDogaHR0cDovL3N2bi5m cmVlYnNkLm9yZy9jaGFuZ2VzZXQvYmFzZS8yMjEzMjQKPgo+TG9nOgo+ICBBZGQgaW1wbGVtZW50 YXRpb25zIG9mIEJVU19BREpVU1RfUkVTT1VSQ0UoKSB0byB0aGUgUENJIGJ1cyBkcml2ZXIsCj4g IGdlbmVyaWMgUENJLVBDSSBicmlkZ2UgZHJpdmVyLCB4ODYgbmV4dXMgZHJpdmVyLCBhbmQgeDg2 IEhvc3QgdG8gUENJIGJyaWRnZQo+ICBkcml2ZXJzLgo+Cj5Nb2RpZmllZDoKPiAgaGVhZC9zeXMv YW1kNjQvcGNpL3BjaV9idXMuYwo+ICBoZWFkL3N5cy9kZXYvYWNwaWNhL2FjcGlfcGNpYl9hY3Bp LmMKPiAgaGVhZC9zeXMvZGV2L3BjaS9wY2kuYwo+ICBoZWFkL3N5cy9kZXYvcGNpL3BjaV9wY2ku Ywo+ICBoZWFkL3N5cy9pMzg2L3BjaS9wY2lfYnVzLmMKPiAgaGVhZC9zeXMveDg2L3g4Ni9tcHRh YmxlX3BjaS5jCj4gIGhlYWQvc3lzL3g4Ni94ODYvbmV4dXMuYwo+Cj5Nb2RpZmllZDogaGVhZC9z eXMvYW1kNjQvcGNpL3BjaV9idXMuYwo+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4tLS0gaGVhZC9z eXMvYW1kNjQvcGNpL3BjaV9idXMuYwlNb24gTWF5ICAyIDEzOjU4OjQwIDIwMTEJKHIyMjEzMjMp Cj4rKysgaGVhZC9zeXMvYW1kNjQvcGNpL3BjaV9idXMuYwlNb24gTWF5ICAyIDE0OjEzOjEyIDIw MTEJKHIyMjEzMjQpCj5AQCAtMzQ4LDYgKzM0OCw3IEBAIHN0YXRpYyBkZXZpY2VfbWV0aG9kX3Qg bGVnYWN5X3BjaWJfbWV0aG8KPiAJREVWTUVUSE9EKGJ1c19yZWFkX2l2YXIsCWxlZ2FjeV9wY2li X3JlYWRfaXZhciksCj4gCURFVk1FVEhPRChidXNfd3JpdGVfaXZhciwJbGVnYWN5X3BjaWJfd3Jp dGVfaXZhciksCj4gCURFVk1FVEhPRChidXNfYWxsb2NfcmVzb3VyY2UsCWxlZ2FjeV9wY2liX2Fs bG9jX3Jlc291cmNlKSwKPisJREVWTUVUSE9EKGJ1c19hZGp1c3RfcmVzb3VyY2UsCWJ1c19nZW5l cmljX2FkanVzdF9yZXNvdXJjZSksCj4gCURFVk1FVEhPRChidXNfcmVsZWFzZV9yZXNvdXJjZSwJ YnVzX2dlbmVyaWNfcmVsZWFzZV9yZXNvdXJjZSksCj4gCURFVk1FVEhPRChidXNfYWN0aXZhdGVf cmVzb3VyY2UsIGJ1c19nZW5lcmljX2FjdGl2YXRlX3Jlc291cmNlKSwKPiAJREVWTUVUSE9EKGJ1 c19kZWFjdGl2YXRlX3Jlc291cmNlLCBidXNfZ2VuZXJpY19kZWFjdGl2YXRlX3Jlc291cmNlKSwK Pgo+TW9kaWZpZWQ6IGhlYWQvc3lzL2Rldi9hY3BpY2EvYWNwaV9wY2liX2FjcGkuYwo+PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09Cj4tLS0gaGVhZC9zeXMvZGV2L2FjcGljYS9hY3BpX3BjaWJfYWNwaS5j CU1vbiBNYXkgIDIgMTM6NTg6NDAgMjAxMQkocjIyMTMyMykKPisrKyBoZWFkL3N5cy9kZXYvYWNw aWNhL2FjcGlfcGNpYl9hY3BpLmMJTW9uIE1heSAgMiAxNDoxMzoxMiAyMDExCShyMjIxMzI0KQo+ QEAgLTEwMCw2ICsxMDAsNyBAQCBzdGF0aWMgZGV2aWNlX21ldGhvZF90IGFjcGlfcGNpYl9hY3Bp X21lCj4gICAgIERFVk1FVEhPRChidXNfcmVhZF9pdmFyLAkJYWNwaV9wY2liX3JlYWRfaXZhciks Cj4gICAgIERFVk1FVEhPRChidXNfd3JpdGVfaXZhciwJCWFjcGlfcGNpYl93cml0ZV9pdmFyKSwK PiAgICAgREVWTUVUSE9EKGJ1c19hbGxvY19yZXNvdXJjZSwJYWNwaV9wY2liX2FjcGlfYWxsb2Nf cmVzb3VyY2UpLAo+KyAgICBERVZNRVRIT0QoYnVzX2FkanVzdF9yZXNvdXJjZSwJYnVzX2dlbmVy aWNfYWRqdXN0X3Jlc291cmM=