From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from [2001:67c:670:100:5054:ff:fe2a:3aa] (helo=pty.hi.pengutronix.de) by metis.ext.pengutronix.de with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1dd9oy-0003Q2-NW for ptxdist@pengutronix.de; Thu, 03 Aug 2017 08:41:24 +0200 Received: from mol by pty.hi.pengutronix.de with local (Exim 4.89) (envelope-from ) id 1dd9oy-0002cP-G0 for ptxdist@pengutronix.de; Thu, 03 Aug 2017 08:41:24 +0200 Date: Thu, 3 Aug 2017 08:41:24 +0200 From: Michael Olbrich Message-ID: <20170803064124.5a3mwjkxzexzt32c@pengutronix.de> References: <20170704203646.15193-1-r.schwebel@pengutronix.de> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20170704203646.15193-1-r.schwebel@pengutronix.de> Subject: Re: [ptxdist] [PATCH 1/2] lua: version bump 5.1.4 -> 5.3.4 List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ptxdist-bounces@pengutronix.de Sender: "ptxdist" To: ptxdist@pengutronix.de T24gVHVlLCBKdWwgMDQsIDIwMTcgYXQgMTA6MzY6NDZQTSArMDIwMCwgUm9iZXJ0IFNjaHdlYmVs IHdyb3RlOgo+IFRoZSAwMCoucGF0Y2ggc2VyaWVzIHdhcyBwcmV2aW91c2x5IHBvcnRlZCBmcm9t IHVwc3RyZWFtIGFuZCBpcyBhbHJlYWR5Cj4gaW5jbHVkZWQgaW4gNS4zLjQuCj4gCj4gVGhlIDAx Ki5wYXRjaCBzZXJpZXMgcmVtb3ZlcyB0aGUgb2xkIE1ha2VmaWxlIGFuZCBhZGRzIGF1dG90b29s aXNhdGlvbiwKPiBzbyB0aGVzZSBwYXRjaGVzIGFyZSBmb3J3YXJkIHBvcnRlZC4KCmx1YWV4cGF0 IGZhaWxzIHRvIGJ1aWxkIHdpdGggdGhpcy4gSSB0aGluayB0aGUgYXV0b3Rvb2wgc3R1ZmYgaXMg bWlzc2luZwpzb21ldGhpbmcuCgpNaWNoYWVsCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KdGFy Z2V0OiBsdWFleHBhdC5jb21waWxlCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKbWFrZVsxXTog RW50ZXJpbmcgZGlyZWN0b3J5ICcvc3J2L2plbmtpbnMtZGF0YS9hZ2VudC93b3Jrc3BhY2UvcHR4 ZGlzdC10ZXN0cy9hbGwteWVzL21hc3Rlci5tb2wtbmV4dC5hcm0taGYvcGxhdGZvcm0tYXJtLWhm L2J1aWxkLXRhcmdldC9sdWFleHBhdC0xLjIuMCcKYXJtLXY3YS1saW51eC1nbnVlYWJpaGYtZ2Nj IC1XYWxsIC1wZWRhbnRpYyAtV2FnZ3JlZ2F0ZS1yZXR1cm4gLVdjYXN0LWFsaWduIC1XbWlzc2lu Zy1wcm90b3R5cGVzIC1Xc3RyaWN0LXByb3RvdHlwZXMgLVduZXN0ZWQtZXh0ZXJucyAtV3BvaW50 ZXItYXJpdGggLVdzaGFkb3cgLVd3cml0ZS1zdHJpbmdzIC1hbnNpIC1PMiAtSS4gLUkuLi9jb21w YXQvc3JjIC1JLiAgIC1jIC1vIHNyYy9seHBsaWIubyBzcmMvbHhwbGliLmMKSW4gZmlsZSBpbmNs dWRlZCBmcm9tIC9zcnYvamVua2lucy1kYXRhL2FnZW50L3dvcmtzcGFjZS9wdHhkaXN0LXRlc3Rz L2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1oZi9wbGF0Zm9ybS1hcm0taGYvc3lzcm9vdC10 YXJnZXQvdXNyL2luY2x1ZGUvbHVhLmg6MTY6MCwKICAgICAgICAgICAgICAgICBmcm9tIHNyYy9s eHBsaWIuYzoxNDoKL3Nydi9qZW5raW5zLWRhdGEvYWdlbnQvd29ya3NwYWNlL3B0eGRpc3QtdGVz dHMvYWxsLXllcy9tYXN0ZXIubW9sLW5leHQuYXJtLWhmL3BsYXRmb3JtLWFybS1oZi9zeXNyb290 LXRhcmdldC91c3IvaW5jbHVkZS9sdWFjb25mLmg6NTk1OjI6IGVycm9yOiAjZXJyb3IgIkNvbXBp bGVyIGRvZXMgbm90IHN1cHBvcnQgJ2xvbmcgbG9uZycuIFVzZSBvcHRpb24gJy1ETFVBXzMyQklU UycgICBvciAnLURMVUFfQzg5X05VTUJFUlMnIChzZWUgZmlsZSAnbHVhY29uZi5oJyBmb3IgZGV0 YWlscykiCiAjZXJyb3IgIkNvbXBpbGVyIGRvZXMgbm90IHN1cHBvcnQgJ2xvbmcgbG9uZycuIFVz ZSBvcHRpb24gJy1ETFVBXzMyQklUUycgXAogIF4KPGJ1aWx0aW4+OiByZWNpcGUgZm9yIHRhcmdl dCAnc3JjL2x4cGxpYi5vJyBmYWlsZWQKbWFrZVsxXTogKioqIFtzcmMvbHhwbGliLm9dIEVycm9y IDEKbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy9zcnYvamVua2lucy1kYXRhL2FnZW50L3dv cmtzcGFjZS9wdHhkaXN0LXRlc3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0LmFybS1oZi9wbGF0 Zm9ybS1hcm0taGYvYnVpbGQtdGFyZ2V0L2x1YWV4cGF0LTEuMi4wJwovc3J2L2plbmtpbnMtZGF0 YS9hZ2VudC93b3Jrc3BhY2UvcHR4ZGlzdC10ZXN0cy9hbGwteWVzL21hc3Rlci5tb2wtbmV4dC5h cm0taGYvcHR4ZGlzdC9ydWxlcy9wb3N0L3B0eGRfbWFrZV93b3JsZF9jb21waWxlLm1ha2U6MjE6 IHJlY2lwZSBmb3IgdGFyZ2V0ICcvc3J2L2plbmtpbnMtZGF0YS9hZ2VudC93b3Jrc3BhY2UvcHR4 ZGlzdC10ZXN0cy9hbGwteWVzL21hc3Rlci5tb2wtbmV4dC5hcm0taGYvcGxhdGZvcm0tYXJtLWhm L3N0YXRlL2x1YWV4cGF0LmNvbXBpbGUnIGZhaWxlZAptYWtlOiAqKiogWy9zcnYvamVua2lucy1k YXRhL2FnZW50L3dvcmtzcGFjZS9wdHhkaXN0LXRlc3RzL2FsbC15ZXMvbWFzdGVyLm1vbC1uZXh0 LmFybS1oZi9wbGF0Zm9ybS1hcm0taGYvc3RhdGUvbHVhZXhwYXQuY29tcGlsZV0gRXJyb3IgMgoK PiBTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXgu ZGU+Cj4gLS0tCj4gIC4uLmx5LWNyYWZ0ZWQtcHJlY29tcGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVh LnBhdGNoIHwgIDEzIC0KPiAgLi4uYmxlLXRvLWNyZWF0ZS1mdW5jdGlvbnMtdGhhdC1yZXR1cm4t dG9vLW0ucGF0Y2ggfCAgMTQgLQo+ICAuLi5nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXIt Ym9vbGVhbi1leC5wYXRjaCB8ICA3MiAtLQo+ICAuLi5sZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVy ZW5jZS10by1hLXRhYmxlLS5wYXRjaCB8ICA1MiAtLQo+ICAuLi5udi1kb2VzLW5vdC1jaGVjay13 aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaCB8ICAzMiAtCj4gIC4uLnN0dWNrLWR1cmluZy1w YXJzaW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoIHwgIDM1IC0KPiAgLi4uYXQtbWF5LWdl dC1idWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUucGF0Y2ggfCAgNDQgLQo+ICAuLi5uLW1h eS1yZXR1cm4tZ2FyYmFnZS1pZi1zZWNvbmQtcmVhZC1mYWlscy5wYXRjaCB8ICAzNyAtCj4gIC4u LmdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoIHwgIDU2IC0t Cj4gIC4uLm1ldGFtZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoIHwg IDM3IC0KPiAgLi4ubWF5LWNvbGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQucGF0 Y2ggfCAgMzEgLQo+ICAuLi5wcG9ydC10by1wdHhkaXN0LTEuOTktcmVtb3ZlLW9sZC1NYWtlZmls ZS5wYXRjaCB8IDE1MSAtLS0tCj4gIC4uLnVwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9j b25mLWZpbGVzLnBhdGNoIHwgOTE4IC0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIHBhdGNoZXMvbHVh LTUuMS40L3NlcmllcyAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDE5IC0KPiAgLi4ucHBv cnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUucGF0Y2ggfCAxMzkgKysrCj4g IC4uLnVwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9jb25mLWZpbGVzLnBhdGNoIHwgOTM4 ICsrKysrKysrKysrKysrKysrKysrKwo+ICAuLi5wcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1 dG9tYWtlLWZpbGVzLnBhdGNofSB8ICAyNCArLQo+ICBwYXRjaGVzL3tsdWEtNS4xLjQgPT4gbHVh LTUuMy40fS9hdXRvZ2VuLnNoICAgICAgICB8ICAgMAo+ICBwYXRjaGVzL2x1YS01LjMuNC9zZXJp ZXMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgNiArCj4gIHJ1bGVzL2x1YS5tYWtlICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0ICstCj4gIDIwIGZpbGVzIGNo YW5nZWQsIDEwOTYgaW5zZXJ0aW9ucygrKSwgMTUyNiBkZWxldGlvbnMoLSkKPiAgZGVsZXRlIG1v ZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDEtTWFsaWNpb3VzbHktY3JhZnRlZC1wcmVj b21waWxlZC1jb2RlLWNhbi1jcmFzaC1MdWEucGF0Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBh dGNoZXMvbHVhLTUuMS40LzAwMDItSXQtaXMtcG9zc2libGUtdG8tY3JlYXRlLWZ1bmN0aW9ucy10 aGF0LXJldHVybi10b28tbS5wYXRjaAo+ICBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEt NS4xLjQvMDAwMy1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29s ZWFuLWV4LnBhdGNoCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDA0 LWx1YVZfc2V0dGFibGUtbWF5LWludmFsaWRhdGUtYS1yZWZlcmVuY2UtdG8tYS10YWJsZS0ucGF0 Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMDUtZGVidWcuZ2V0 ZmVudi1kb2VzLW5vdC1jaGVjay13aGV0aGVyLWl0LWhhcy1hbi1hcmd1bS5wYXRjaAo+ICBkZWxl dGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNi1HQy1tYXktZ2V0LXN0dWNrLWR1 cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoCj4gIGRlbGV0ZSBtb2RlIDEw MDY0NCBwYXRjaGVzL2x1YS01LjEuNC8wMDA3LXN0cmluZy5mb3JtYXQtbWF5LWdldC1idWZmZXIt YXMtYW4tYXJndW1lbnQtd2hlbi10aGUucGF0Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNo ZXMvbHVhLTUuMS40LzAwMDgtaW8ucmVhZC1uLW4tbWF5LXJldHVybi1nYXJiYWdlLWlmLXNlY29u ZC1yZWFkLWZhaWxzLnBhdGNoCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEu NC8wMDA5LVdyb25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4t ZXgucGF0Y2gKPiAgZGVsZXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAwMTAtX19u ZXdpbmRleC1tZXRhbWV0aG9kLW1heS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMtaS5wYXRjaAo+ ICBkZWxldGUgbW9kZSAxMDA2NDQgcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMS1QYXJzZXItbWF5LWNv bGxlY3QtYS1wcm90b3R5cGUtd2hpbGUtYnVpbGRpbmctaXQucGF0Y2gKPiAgZGVsZXRlIG1vZGUg MTAwNjQ0IHBhdGNoZXMvbHVhLTUuMS40LzAxMDAtQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3Qt MS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRj aGVzL2x1YS01LjEuNC8wMTAxLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1 dG9jb25mLWZpbGVzLnBhdGNoCj4gIGRlbGV0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjEu NC9zZXJpZXMKPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBhdGNoZXMvbHVhLTUuMy40LzAxMDEtQWRk LWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjMuNC8wMTAyLUFkZC1sdWEtc3VwcG9y dC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9jb25mLWZpbGVzLnBhdGNoCj4gIHJlbmFtZSBwYXRj aGVzL3tsdWEtNS4xLjQvMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1h dXRvbWFrZS1maWxlcy5wYXRjaCA9PiBsdWEtNS4zLjQvMDEwMy1BZGQtbHVhLXN1cHBvcnQtdG8t cHR4ZGlzdC0xLjk5LWFkZC1hdXRvbWFrZS1maWxlcy5wYXRjaH0gKDg5JSkKPiAgcmVuYW1lIHBh dGNoZXMve2x1YS01LjEuNCA9PiBsdWEtNS4zLjR9L2F1dG9nZW4uc2ggKDEwMCUpCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBwYXRjaGVzL2x1YS01LjMuNC9zZXJpZXMKPiAKPiBkaWZmIC0tZ2l0IGEv cGF0Y2hlcy9sdWEtNS4xLjQvMDAwMS1NYWxpY2lvdXNseS1jcmFmdGVkLXByZWNvbXBpbGVkLWNv ZGUtY2FuLWNyYXNoLUx1YS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDEtTWFsaWNpb3Vz bHktY3JhZnRlZC1wcmVjb21waWxlZC1jb2RlLWNhbi1jcmFzaC1MdWEucGF0Y2gKPiBkZWxldGVk IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCA4NDhmZTMwYzUuLjAwMDAwMDAwMAo+IC0tLSBhL3Bh dGNoZXMvbHVhLTUuMS40LzAwMDEtTWFsaWNpb3VzbHktY3JhZnRlZC1wcmVjb21waWxlZC1jb2Rl LWNhbi1jcmFzaC1MdWEucGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMTMgKzAsMCBAQAo+ IC1Gcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5p Y2hvbkBhaXJ0YWcuY29tPgo+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MDU6MzUgKzAxMDAK PiAtU3ViamVjdDogW1BBVENIXSBNYWxpY2lvdXNseSBjcmFmdGVkIHByZWNvbXBpbGVkIGNvZGUg Y2FuIGNyYXNoIEx1YQo+IC1NSU1FLVZlcnNpb246IDEuMAo+IC1Db250ZW50LVR5cGU6IHRleHQv cGxhaW47IGNoYXJzZXQ9VVRGLTgKPiAtQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAo+ IC0KPiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTEKPiAt Cj4gLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFp cnRhZy5jb20+Cj4gLQo+IC0tLS0KPiAtCj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40 LzAwMDItSXQtaXMtcG9zc2libGUtdG8tY3JlYXRlLWZ1bmN0aW9ucy10aGF0LXJldHVybi10b28t bS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDItSXQtaXMtcG9zc2libGUtdG8tY3JlYXRl LWZ1bmN0aW9ucy10aGF0LXJldHVybi10b28tbS5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEw MDY0NAo+IGluZGV4IDI4MGZlZTNkYi4uMDAwMDAwMDAwCj4gLS0tIGEvcGF0Y2hlcy9sdWEtNS4x LjQvMDAwMi1JdC1pcy1wb3NzaWJsZS10by1jcmVhdGUtZnVuY3Rpb25zLXRoYXQtcmV0dXJuLXRv by1tLnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDE0ICswLDAgQEAKPiAtRnJvbTogPT9V VEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFn LmNvbT4KPiAtRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjA3OjE4ICswMTAwCj4gLVN1YmplY3Q6 IFtQQVRDSF0gSXQgaXMgcG9zc2libGUgdG8gY3JlYXRlIGZ1bmN0aW9ucyB0aGF0IHJldHVybiB0 b28gbWFueQo+IC0gYXJndW1lbnRzIGFuZCBvdmVyZmxvdyB0aGUgc3RhY2sgb2YgQyBmdW5jdGlv bnMuCj4gLU1JTUUtVmVyc2lvbjogMS4wCj4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAo+IC1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gLQo+IC1Db21l cyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtMgo+IC0KPiAtU2lnbmVk LW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4K PiAtCj4gLS0tLQo+IC0KPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwMy1Xcm9u Zy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoIGIv cGF0Y2hlcy9sdWEtNS4xLjQvMDAwMy1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFy dGljdWxhci1ib29sZWFuLWV4LnBhdGNoCj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5k ZXggYzU5OWNjNmYzLi4wMDAwMDAwMDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDAzLVdy b25nLWNvZGUtZ2VuZXJhdGlvbi1mb3Itc29tZS1wYXJ0aWN1bGFyLWJvb2xlYW4tZXgucGF0Y2gK PiArKysgL2Rldi9udWxsCj4gQEAgLTEsNzIgKzAsMCBAQAo+IC1Gcm9tOiA9P1VURi04P3E/QmVu bz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+IC1E YXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MTA6NTYgKzAxMDAKPiAtU3ViamVjdDogW1BBVENIXSBX cm9uZyBjb2RlIGdlbmVyYXRpb24gZm9yIHNvbWUgcGFydGljdWxhciBib29sZWFuCj4gLSBleHBy ZXNzaW9ucy4gKHNlZSBhbHNvIDkpCj4gLU1JTUUtVmVyc2lvbjogMS4wCj4gLUNvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+IC1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5n OiA4Yml0Cj4gLQo+IC1Db21lcyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4x LjQtMwo+IC0KPiAtIHJlcG9ydGVkIGJ5IEJyaWFuIEtlbGxleSBvbiAxNSBBcHIgMjAwOS4KPiAt IEV4YW1wbGU6Cj4gLSAtLQo+IC0gcHJpbnQoKCgxIG9yIGZhbHNlKSBhbmQgdHJ1ZSkgb3IgZmFs c2UpICAgLS0+IDEsIGJ1dCBzaG91bGQgYmUgJ3RydWUnCj4gLSAtLQo+IC0KPiAtUGF0Y2g6IChw YXJ0aWFsIHNvbHV0aW9uOyBzZWUgYWxzbyA5KQo+IC0KPiAtU2lnbmVkLW9mZi1ieTogQmVub8Ou dCBCdXJuaWNob24gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtLS0tCj4gLSBzcmMv bGNvZGUuYyB8ICAgMjIgKysrKysrKysrKysrKystLS0tLS0tLQo+IC0gMSBmaWxlcyBjaGFuZ2Vk LCAxNCBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9ucygtKQo+IC0KPiAtZGlmZiAtLWdpdCBhL3Ny Yy9sY29kZS5jIGIvc3JjL2xjb2RlLmMKPiAtaW5kZXggY2ZmNjI2Yi4uODRmMjg2YiAxMDA2NDQK PiAtLS0tIGEvc3JjL2xjb2RlLmMKPiAtKysrIGIvc3JjL2xjb2RlLmMKPiAtQEAgLTU0NCwxNSAr NTQ0LDE4IEBAIHZvaWQgbHVhS19nb2lmdHJ1ZSAoRnVuY1N0YXRlICpmcywgZXhwZGVzYyAqZSkg ewo+IC0gICAgICAgcGMgPSBOT19KVU1QOyAgLyogYWx3YXlzIHRydWU7IGRvIG5vdGhpbmcgKi8K PiAtICAgICAgIGJyZWFrOwo+IC0gICAgIH0KPiAtLSAgICBjYXNlIFZGQUxTRTogewo+IC0tICAg ICAgcGMgPSBsdWFLX2p1bXAoZnMpOyAgLyogYWx3YXlzIGp1bXAgKi8KPiAtLSAgICAgIGJyZWFr Owo+IC0tICAgIH0KPiAtICAgICBjYXNlIFZKTVA6IHsKPiAtICAgICAgIGludmVydGp1bXAoZnMs IGUpOwo+IC0gICAgICAgcGMgPSBlLT51LnMuaW5mbzsKPiAtICAgICAgIGJyZWFrOwo+IC0gICAg IH0KPiAtKyAgICBjYXNlIFZGQUxTRTogewo+IC0rICAgICAgaWYgKCFoYXNqdW1wcyhlKSkgewo+ IC0rICAgICAgICBwYyA9IGx1YUtfanVtcChmcyk7ICAvKiBhbHdheXMganVtcCAqLwo+IC0rICAg ICAgICBicmVhazsKPiAtKyAgICAgIH0KPiAtKyAgICAgIC8qIGVsc2UgZ28gdGhyb3VnaCAqLwo+ IC0rICAgIH0KPiAtICAgICBkZWZhdWx0OiB7Cj4gLSAgICAgICBwYyA9IGp1bXBvbmNvbmQoZnMs IGUsIDApOwo+IC0gICAgICAgYnJlYWs7Cj4gLUBAIC01NzIsMTQgKzU3NSwxNyBAQCBzdGF0aWMg dm9pZCBsdWFLX2dvaWZmYWxzZSAoRnVuY1N0YXRlICpmcywgZXhwZGVzYyAqZSkgewo+IC0gICAg ICAgcGMgPSBOT19KVU1QOyAgLyogYWx3YXlzIGZhbHNlOyBkbyBub3RoaW5nICovCj4gLSAgICAg ICBicmVhazsKPiAtICAgICB9Cj4gLS0gICAgY2FzZSBWVFJVRTogewo+IC0tICAgICAgcGMgPSBs dWFLX2p1bXAoZnMpOyAgLyogYWx3YXlzIGp1bXAgKi8KPiAtLSAgICAgIGJyZWFrOwo+IC0tICAg IH0KPiAtICAgICBjYXNlIFZKTVA6IHsKPiAtICAgICAgIHBjID0gZS0+dS5zLmluZm87Cj4gLSAg ICAgICBicmVhazsKPiAtICAgICB9Cj4gLSsgICAgY2FzZSBWVFJVRTogewo+IC0rICAgICAgaWYg KCFoYXNqdW1wcyhlKSkgewo+IC0rICAgICAgICBwYyA9IGx1YUtfanVtcChmcyk7ICAvKiBhbHdh eXMganVtcCAqLwo+IC0rICAgICAgICBicmVhazsKPiAtKyAgICAgIH0KPiAtKyAgICAgIC8qIGVs c2UgZ28gdGhyb3VnaCAqLwo+IC0rICAgIH0KPiAtICAgICBkZWZhdWx0OiB7Cj4gLSAgICAgICBw YyA9IGp1bXBvbmNvbmQoZnMsIGUsIDEpOwo+IC0gICAgICAgYnJlYWs7Cj4gZGlmZiAtLWdpdCBh L3BhdGNoZXMvbHVhLTUuMS40LzAwMDQtbHVhVl9zZXR0YWJsZS1tYXktaW52YWxpZGF0ZS1hLXJl ZmVyZW5jZS10by1hLXRhYmxlLS5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDQtbHVhVl9z ZXR0YWJsZS1tYXktaW52YWxpZGF0ZS1hLXJlZmVyZW5jZS10by1hLXRhYmxlLS5wYXRjaAo+IGRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IGZlMTE4OTIxZS4uMDAwMDAwMDAwCj4gLS0t IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNC1sdWFWX3NldHRhYmxlLW1heS1pbnZhbGlkYXRlLWEt cmVmZXJlbmNlLXRvLWEtdGFibGUtLnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDUyICsw LDAgQEAKPiAtRnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9p dC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjEzOjU5 ICswMTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0gbHVhVl9zZXR0YWJsZSBtYXkgaW52YWxpZGF0ZSBh IHJlZmVyZW5jZSB0byBhIHRhYmxlIGFuZCB0cnkKPiAtIHRvIHJldXNlIGl0Cj4gLU1JTUUtVmVy c2lvbjogMS4wCj4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+IC1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gLQo+IC1Db21lcyBmcm9tIGh0dHA6Ly93 d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtNAo+IC0KPiAtcmVwb3J0ZWQgYnkgTWFyayBGZWxk bWFuIG9uIDI3IEp1biAyMDA5Lgo+IC1FeGFtcGxlOgo+IC0gLS0KPiAtIGdyYW5kcGFyZW50ID0g e30KPiAtIGdyYW5kcGFyZW50Ll9fbmV3aW5kZXggPSBmdW5jdGlvbihzLF8sXykgcHJpbnQocykg ZW5kCj4gLQo+IC0gcGFyZW50ID0ge30KPiAtIHBhcmVudC5fX25ld2luZGV4ID0gcGFyZW50Cj4g LSBzZXRtZXRhdGFibGUocGFyZW50LCBncmFuZHBhcmVudCkKPiAtCj4gLSBjaGlsZCA9IHNldG1l dGF0YWJsZSh7fSwgcGFyZW50KQo+IC0gY2hpbGQuZm9vID0gMTAgICAgICAtLT4gKGNyYXNoIG9u IHNvbWUgbWFjaGluZXMpCj4gLSAtLQo+IC0KPiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJu aWNob24gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtLS0tCj4gLSBzcmMvbHZtLmMg fCAgICA1ICsrKystCj4gLSAxIGZpbGVzIGNoYW5nZWQsIDQgaW5zZXJ0aW9ucygrKSwgMSBkZWxl dGlvbnMoLSkKPiAtCj4gLWRpZmYgLS1naXQgYS9zcmMvbHZtLmMgYi9zcmMvbHZtLmMKPiAtaW5k ZXggZWUzMjU2YS4uNGFjMmU3MSAxMDA2NDQKPiAtLS0tIGEvc3JjL2x2bS5jCj4gLSsrKyBiL3Ny Yy9sdm0uYwo+IC1AQCAtMTMzLDYgKzEzMyw3IEBAIHZvaWQgbHVhVl9nZXR0YWJsZSAobHVhX1N0 YXRlICpMLCBjb25zdCBUVmFsdWUgKnQsIFRWYWx1ZSAqa2V5LCBTdGtJZCB2YWwpIHsKPiAtIAo+ IC0gdm9pZCBsdWFWX3NldHRhYmxlIChsdWFfU3RhdGUgKkwsIGNvbnN0IFRWYWx1ZSAqdCwgVFZh bHVlICprZXksIFN0a0lkIHZhbCkgewo+IC0gICBpbnQgbG9vcDsKPiAtKyAgVFZhbHVlIHRlbXA7 Cj4gLSAgIGZvciAobG9vcCA9IDA7IGxvb3AgPCBNQVhUQUdMT09QOyBsb29wKyspIHsKPiAtICAg ICBjb25zdCBUVmFsdWUgKnRtOwo+IC0gICAgIGlmICh0dGlzdGFibGUodCkpIHsgIC8qIGB0JyBp cyBhIHRhYmxlPyAqLwo+IC1AQCAtMTUyLDcgKzE1Myw5IEBAIHZvaWQgbHVhVl9zZXR0YWJsZSAo bHVhX1N0YXRlICpMLCBjb25zdCBUVmFsdWUgKnQsIFRWYWx1ZSAqa2V5LCBTdGtJZCB2YWwpIHsK PiAtICAgICAgIGNhbGxUTShMLCB0bSwgdCwga2V5LCB2YWwpOwo+IC0gICAgICAgcmV0dXJuOwo+ IC0gICAgIH0KPiAtLSAgICB0ID0gdG07ICAvKiBlbHNlIHJlcGVhdCB3aXRoIGB0bScgKi8gCj4g LSsgICAgLyogZWxzZSByZXBlYXQgd2l0aCBgdG0nICovCj4gLSsgICAgc2V0b2JqKEwsICZ0ZW1w LCB0bSk7ICAvKiBhdm9pZCBwb2ludGluZyBpbnNpZGUgdGFibGUgKG1heSByZWhhc2gpICovCj4g LSsgICAgdCA9ICZ0ZW1wOwo+IC0gICB9Cj4gLSAgIGx1YUdfcnVuZXJyb3IoTCwgImxvb3AgaW4g c2V0dGFibGUiKTsKPiAtIH0KPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNS1k ZWJ1Zy5nZXRmZW52LWRvZXMtbm90LWNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNo IGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNS1kZWJ1Zy5nZXRmZW52LWRvZXMtbm90LWNoZWNrLXdo ZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNoCj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4g aW5kZXggNDBjMGUzZjUxLi4wMDAwMDAwMDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDA1 LWRlYnVnLmdldGZlbnYtZG9lcy1ub3QtY2hlY2std2hldGhlci1pdC1oYXMtYW4tYXJndW0ucGF0 Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMzIgKzAsMCBAQAo+IC1Gcm9tOiA9P1VURi04P3E/ QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVub2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+ IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6MTg6MjAgKzAxMDAKPiAtU3ViamVjdDogW1BBVENI XSBkZWJ1Zy5nZXRmZW52IGRvZXMgbm90IGNoZWNrIHdoZXRoZXIgaXQgaGFzIGFuIGFyZ3VtZW50 Lgo+IC1NSU1FLVZlcnNpb246IDEuMAo+IC1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJz ZXQ9VVRGLTgKPiAtQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAo+IC0KPiAtQ29tZXMg ZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTUKPiAtCj4gLXJlcG9ydGVk IGJ5IFBhdHJpY2sgRG9ubmVsbHkgb24gMzAgSnVsIDIwMDkuCj4gLUV4YW1wbGU6Cj4gLSAtLQo+ IC0gZGVidWcuZ2V0ZmVudigpICAgLS0gc2hvdWxkIHJhaXNlIGFuIGVycm9yCj4gLSAtLQo+IC0K PiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJlbm9pdC5idXJuaWNob25AYWly dGFnLmNvbT4KPiAtLS0tCj4gLSBzcmMvbGRibGliLmMgfCAgICAxICsKPiAtIDEgZmlsZXMgY2hh bmdlZCwgMSBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygtKQo+IC0KPiAtZGlmZiAtLWdpdCBh L3NyYy9sZGJsaWIuYyBiL3NyYy9sZGJsaWIuYwo+IC1pbmRleCA2N2RlMTIyLi4yMTExNmFjIDEw MDY0NAo+IC0tLS0gYS9zcmMvbGRibGliLmMKPiAtKysrIGIvc3JjL2xkYmxpYi5jCj4gLUBAIC00 NSw2ICs0NSw3IEBAIHN0YXRpYyBpbnQgZGJfc2V0bWV0YXRhYmxlIChsdWFfU3RhdGUgKkwpIHsK PiAtIAo+IC0gCj4gLSBzdGF0aWMgaW50IGRiX2dldGZlbnYgKGx1YV9TdGF0ZSAqTCkgewo+IC0r ICBsdWFMX2NoZWNrYW55KEwsIDEpOwo+IC0gICBsdWFfZ2V0ZmVudihMLCAxKTsKPiAtICAgcmV0 dXJuIDE7Cj4gLSB9Cj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDYtR0MtbWF5 LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRjaCBiL3Bh dGNoZXMvbHVhLTUuMS40LzAwMDYtR0MtbWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQt YXZvaWRzLXByb3Blci1yZS5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4 IGY3NDgzNzJkYS4uMDAwMDAwMDAwCj4gLS0tIGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwNi1HQy1t YXktZ2V0LXN0dWNrLWR1cmluZy1wYXJzaW5nLWFuZC1hdm9pZHMtcHJvcGVyLXJlLnBhdGNoCj4g KysrIC9kZXYvbnVsbAo+IEBAIC0xLDM1ICswLDAgQEAKPiAtRnJvbTogPT9VVEYtOD9xP0Jlbm89 QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAtRGF0 ZTogVHVlLCA2IERlYyAyMDExIDE0OjIwOjE1ICswMTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0gR0Mg bWF5IGdldCBzdHVjayBkdXJpbmcgcGFyc2luZyBhbmQgYXZvaWRzIHByb3BlciByZXNpemluZwo+ IC0gb2YgdGhlIHN0cmluZyB0YWJsZSwgbWFraW5nIGl0cyBsaXN0cyBncm93IHRvbyBtdWNoIGFu ZAo+IC0gZGVncmFkaW5nIHBlcmZvcm1hbmNlLgo+IC1NSU1FLVZlcnNpb246IDEuMAo+IC1Db250 ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKPiAtQ29udGVudC1UcmFuc2Zlci1F bmNvZGluZzogOGJpdAo+IC0KPiAtQ29tZXMgZnJvbSBodHRwOi8vd3d3Lmx1YS5vcmcvYnVncy5o dG1sIzUuMS40LTYKPiAtCj4gLSByZXBvcnRlZCBieSBTZWFuIENvbm5lciBvbiAxMCBOb3YgMjAw OS4KPiAtCj4gLQo+IC1TaWduZWQtb2ZmLWJ5OiBCZW5vw650IEJ1cm5pY2hvbiA8YmVub2l0LmJ1 cm5pY2hvbkBhaXJ0YWcuY29tPgo+IC0tLS0KPiAtIHNyYy9sbGV4LmMgfCAgICA0ICsrKy0KPiAt IDEgZmlsZXMgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9ucygtKQo+IC0KPiAt ZGlmZiAtLWdpdCBhL3NyYy9sbGV4LmMgYi9zcmMvbGxleC5jCj4gLWluZGV4IDZkYzMxOTMuLjky ZDY1NzUgMTAwNjQ0Cj4gLS0tLSBhL3NyYy9sbGV4LmMKPiAtKysrIGIvc3JjL2xsZXguYwo+IC1A QCAtMTE4LDggKzExOCwxMCBAQCBUU3RyaW5nICpsdWFYX25ld3N0cmluZyAoTGV4U3RhdGUgKmxz LCBjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsKSB7Cj4gLSAgIGx1YV9TdGF0ZSAqTCA9IGxzLT5M Owo+IC0gICBUU3RyaW5nICp0cyA9IGx1YVNfbmV3bHN0cihMLCBzdHIsIGwpOwo+IC0gICBUVmFs dWUgKm8gPSBsdWFIX3NldHN0cihMLCBscy0+ZnMtPmgsIHRzKTsgIC8qIGVudHJ5IGZvciBgc3Ry JyAqLwo+IC0tICBpZiAodHRpc25pbChvKSkKPiAtKyAgaWYgKHR0aXNuaWwobykpIHsKPiAtICAg ICBzZXRidmFsdWUobywgMSk7ICAvKiBtYWtlIHN1cmUgYHN0cicgd2lsbCBub3QgYmUgY29sbGVj dGVkICovCj4gLSsgICAgbHVhQ19jaGVja0dDKEwpOwo+IC0rICB9Cj4gLSAgIHJldHVybiB0czsK PiAtIH0KPiAtIAo+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMDA3LXN0cmluZy5m b3JtYXQtbWF5LWdldC1idWZmZXItYXMtYW4tYXJndW1lbnQtd2hlbi10aGUucGF0Y2ggYi9wYXRj aGVzL2x1YS01LjEuNC8wMDA3LXN0cmluZy5mb3JtYXQtbWF5LWdldC1idWZmZXItYXMtYW4tYXJn dW1lbnQtd2hlbi10aGUucGF0Y2gKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCBj YzBjMzEwM2IuLjAwMDAwMDAwMAo+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDctc3RyaW5n LmZvcm1hdC1tYXktZ2V0LWJ1ZmZlci1hcy1hbi1hcmd1bWVudC13aGVuLXRoZS5wYXRjaAo+ICsr KyAvZGV2L251bGwKPiBAQCAtMSw0NCArMCwwIEBACj4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMz PUFFdD0yMEJ1cm5pY2hvbj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLURhdGU6 IFR1ZSwgNiBEZWMgMjAxMSAxNDoyMTo0NiArMDEwMAo+IC1TdWJqZWN0OiBbUEFUQ0hdIHN0cmlu Zy5mb3JtYXQgbWF5IGdldCBidWZmZXIgYXMgYW4gYXJndW1lbnQgd2hlbiB0aGVyZSBhcmUKPiAt IG1pc3NpbmcgYXJndW1lbnRzIGFuZCBmb3JtYXQgc3RyaW5nIGlzIHRvbyBsb25nLgo+IC1NSU1F LVZlcnNpb246IDEuMAo+IC1Db250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgK PiAtQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdAo+IC0KPiAtQ29tZXMgZnJvbSBodHRw Oi8vd3d3Lmx1YS5vcmcvYnVncy5odG1sIzUuMS40LTcKPiAtCj4gLXJlcG9ydGVkIGJ5IFJvYmVy dG8gb24gMTIgQXByIDIwMTAuCj4gLUV4YW1wbGU6Cj4gLSAtLQo+IC0geCA9IHN0cmluZy5yZXAo IngiLCAxMDAwMCkgLi4gIiVkIgo+IC0gcHJpbnQoc3RyaW5nLmZvcm1hdCh4KSkgICAgLS0gZ2l2 ZXMgd3JvbmcgZXJyb3IgbWVzc2FnZQo+IC0gLS0KPiAtCj4gLVNpZ25lZC1vZmYtYnk6IEJlbm/D rnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLS0tLQo+IC0gc3Jj L2xzdHJsaWIuYyB8ICAgIDQgKysrLQo+IC0gMSBmaWxlcyBjaGFuZ2VkLCAzIGluc2VydGlvbnMo KyksIDEgZGVsZXRpb25zKC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2xzdHJsaWIuYyBiL3Ny Yy9sc3RybGliLmMKPiAtaW5kZXggMWI0NzYzZC4uZmU0NTJjZSAxMDA2NDQKPiAtLS0tIGEvc3Jj L2xzdHJsaWIuYwo+IC0rKysgYi9zcmMvbHN0cmxpYi5jCj4gLUBAIC03NTQsNiArNzU0LDcgQEAg c3RhdGljIHZvaWQgYWRkaW50bGVuIChjaGFyICpmb3JtKSB7Cj4gLSAKPiAtIAo+IC0gc3RhdGlj IGludCBzdHJfZm9ybWF0IChsdWFfU3RhdGUgKkwpIHsKPiAtKyAgaW50IHRvcCA9IGx1YV9nZXR0 b3AoTCk7Cj4gLSAgIGludCBhcmcgPSAxOwo+IC0gICBzaXplX3Qgc2ZsOwo+IC0gICBjb25zdCBj aGFyICpzdHJmcm10ID0gbHVhTF9jaGVja2xzdHJpbmcoTCwgYXJnLCAmc2ZsKTsKPiAtQEAgLTc2 OCw3ICs3NjksOCBAQCBzdGF0aWMgaW50IHN0cl9mb3JtYXQgKGx1YV9TdGF0ZSAqTCkgewo+IC0g ICAgIGVsc2UgeyAvKiBmb3JtYXQgaXRlbSAqLwo+IC0gICAgICAgY2hhciBmb3JtW01BWF9GT1JN QVRdOyAgLyogdG8gc3RvcmUgdGhlIGZvcm1hdCAoYCUuLi4nKSAqLwo+IC0gICAgICAgY2hhciBi dWZmW01BWF9JVEVNXTsgIC8qIHRvIHN0b3JlIHRoZSBmb3JtYXR0ZWQgaXRlbSAqLwo+IC0tICAg ICAgYXJnKys7Cj4gLSsgICAgICBpZiAoKythcmcgPiB0b3ApCj4gLSsgICAgICAgIGx1YUxfYXJn ZXJyb3IoTCwgYXJnLCAibm8gdmFsdWUiKTsKPiAtICAgICAgIHN0cmZybXQgPSBzY2FuZm9ybWF0 KEwsIHN0cmZybXQsIGZvcm0pOwo+IC0gICAgICAgc3dpdGNoICgqc3RyZnJtdCsrKSB7Cj4gLSAg ICAgICAgIGNhc2UgJ2MnOiB7Cj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDgt aW8ucmVhZC1uLW4tbWF5LXJldHVybi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNo IGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAwOC1pby5yZWFkLW4tbi1tYXktcmV0dXJuLWdhcmJhZ2Ut aWYtc2Vjb25kLXJlYWQtZmFpbHMucGF0Y2gKPiBkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKPiBp bmRleCA1YTVkMGYyN2YuLjAwMDAwMDAwMAo+IC0tLSBhL3BhdGNoZXMvbHVhLTUuMS40LzAwMDgt aW8ucmVhZC1uLW4tbWF5LXJldHVybi1nYXJiYWdlLWlmLXNlY29uZC1yZWFkLWZhaWxzLnBhdGNo Cj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDM3ICswLDAgQEAKPiAtRnJvbTogPT9VVEYtOD9xP0Jl bm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNob25AYWlydGFnLmNvbT4KPiAt RGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjIzOjUzICswMTAwCj4gLVN1YmplY3Q6IFtQQVRDSF0g aW8ucmVhZCgiKm4iLCAiKm4iKSBtYXkgcmV0dXJuIGdhcmJhZ2UgaWYgc2Vjb25kIHJlYWQgZmFp bHMuCj4gLU1JTUUtVmVyc2lvbjogMS4wCj4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hh cnNldD1VVEYtOAo+IC1Db250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gLQo+IC1Db21l cyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtOAo+IC0KPiAtcmVwb3J0 ZWQgYnkgUm9iZXJ0byBvbiAxMiBBcHIgMjAxMC4KPiAtRXhhbXBsZToKPiAtIC0tCj4gLSBwcmlu dChpby5yZWFkKCIqbiIsICIqbiIpKSAgIC0tPDwgZW50ZXIgIjEwICAgaGkiCj4gLSAtLT4gZmls ZSAoMHg4ODQ0MjApCW5pbAo+IC0gLS0KPiAtCj4gLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVy bmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLS0tLQo+IC0gc3JjL2xpb2xp Yi5jIHwgICAgNSArKysrLQo+IC0gMSBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb25zKC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2xpb2xpYi5jIGIvc3JjL2xpb2xp Yi5jCj4gLWluZGV4IGU3OWVkMWMuLjhkZTI1NDcgMTAwNjQ0Cj4gLS0tLSBhL3NyYy9saW9saWIu Ywo+IC0rKysgYi9zcmMvbGlvbGliLmMKPiAtQEAgLTI3Niw3ICsyNzYsMTAgQEAgc3RhdGljIGlu dCByZWFkX251bWJlciAobHVhX1N0YXRlICpMLCBGSUxFICpmKSB7Cj4gLSAgICAgbHVhX3B1c2hu dW1iZXIoTCwgZCk7Cj4gLSAgICAgcmV0dXJuIDE7Cj4gLSAgIH0KPiAtLSAgZWxzZSByZXR1cm4g MDsgIC8qIHJlYWQgZmFpbHMgKi8KPiAtKyAgZWxzZSB7Cj4gLSsgICAgbHVhX3B1c2huaWwoTCk7 ICAvKiAicmVzdWx0IiB0byBiZSByZW1vdmVkICovCj4gLSsgICAgcmV0dXJuIDA7ICAvKiByZWFk IGZhaWxzICovCj4gLSsgIH0KPiAtIH0KPiAtIAo+IC0gCj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMv bHVhLTUuMS40LzAwMDktV3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXIt Ym9vbGVhbi1leC5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMS40LzAwMDktV3JvbmctY29kZS1nZW5l cmF0aW9uLWZvci1zb21lLXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+IGRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDIwYzBiMTEyMy4uMDAwMDAwMDAwCj4gLS0tIGEvcGF0Y2hl cy9sdWEtNS4xLjQvMDAwOS1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNvbWUtcGFydGljdWxh ci1ib29sZWFuLWV4LnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDU2ICswLDAgQEAKPiAt RnJvbTogPT9VVEYtOD9xP0Jlbm89QzM9QUV0PTIwQnVybmljaG9uPz0gPGJlbm9pdC5idXJuaWNo b25AYWlydGFnLmNvbT4KPiAtRGF0ZTogVHVlLCA2IERlYyAyMDExIDE0OjI1OjE4ICswMTAwCj4g LVN1YmplY3Q6IFtQQVRDSF0gV3JvbmcgY29kZSBnZW5lcmF0aW9uIGZvciBzb21lIHBhcnRpY3Vs YXIgYm9vbGVhbgo+IC0gZXhwcmVzc2lvbnMuCj4gLU1JTUUtVmVyc2lvbjogMS4wCj4gLUNvbnRl bnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+IC1Db250ZW50LVRyYW5zZmVyLUVu Y29kaW5nOiA4Yml0Cj4gLQo+IC1Db21lcyBmcm9tIGh0dHA6Ly93d3cubHVhLm9yZy9idWdzLmh0 bWwjNS4xLjQtOQo+IC0KPiAtcmVwb3J0ZWQgYnkgVGhpZXJyeSBWYW4gRWxzdXdlIG9uIDIwIEph biAyMDExLgo+IC1FeGFtcGxlOgo+IC0gLS0KPiAtIHByaW50KCgoJ2hpJyBvciB0cnVlKSBhbmQg dHJ1ZSkgb3IgdHJ1ZSkKPiAtIC0tPiBoaSAgICAgKHNob3VsZCBiZSB0cnVlKQo+IC0gcHJpbnQo KChuaWwgYW5kIG5pbCkgb3IgZmFsc2UpIGFuZCB0cnVlKQo+IC0gLS0+IG5pbCAgICAoc2hvdWxk IGJlIGZhbHNlKQo+IC0gLS0KPiAtCj4gLVNpZ25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9u IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLS0tLQo+IC0gc3JjL2xjb2RlLmMgfCAg IDE0IC0tLS0tLS0tLS0tLS0tCj4gLSAxIGZpbGVzIGNoYW5nZWQsIDAgaW5zZXJ0aW9ucygrKSwg MTQgZGVsZXRpb25zKC0pCj4gLQo+IC1kaWZmIC0tZ2l0IGEvc3JjL2xjb2RlLmMgYi9zcmMvbGNv ZGUuYwo+IC1pbmRleCA4NGYyODZiLi5jMTMwNjZlIDEwMDY0NAo+IC0tLS0gYS9zcmMvbGNvZGUu Ywo+IC0rKysgYi9zcmMvbGNvZGUuYwo+IC1AQCAtNTQ5LDEzICs1NDksNiBAQCB2b2lkIGx1YUtf Z29pZnRydWUgKEZ1bmNTdGF0ZSAqZnMsIGV4cGRlc2MgKmUpIHsKPiAtICAgICAgIHBjID0gZS0+ dS5zLmluZm87Cj4gLSAgICAgICBicmVhazsKPiAtICAgICB9Cj4gLS0gICAgY2FzZSBWRkFMU0U6 IHsKPiAtLSAgICAgIGlmICghaGFzanVtcHMoZSkpIHsKPiAtLSAgICAgICAgcGMgPSBsdWFLX2p1 bXAoZnMpOyAgLyogYWx3YXlzIGp1bXAgKi8KPiAtLSAgICAgICAgYnJlYWs7Cj4gLS0gICAgICB9 Cj4gLS0gICAgICAvKiBlbHNlIGdvIHRocm91Z2ggKi8KPiAtLSAgICB9Cj4gLSAgICAgZGVmYXVs dDogewo+IC0gICAgICAgcGMgPSBqdW1wb25jb25kKGZzLCBlLCAwKTsKPiAtICAgICAgIGJyZWFr Owo+IC1AQCAtNTc5LDEzICs1NzIsNiBAQCBzdGF0aWMgdm9pZCBsdWFLX2dvaWZmYWxzZSAoRnVu Y1N0YXRlICpmcywgZXhwZGVzYyAqZSkgewo+IC0gICAgICAgcGMgPSBlLT51LnMuaW5mbzsKPiAt ICAgICAgIGJyZWFrOwo+IC0gICAgIH0KPiAtLSAgICBjYXNlIFZUUlVFOiB7Cj4gLS0gICAgICBp ZiAoIWhhc2p1bXBzKGUpKSB7Cj4gLS0gICAgICAgIHBjID0gbHVhS19qdW1wKGZzKTsgIC8qIGFs d2F5cyBqdW1wICovCj4gLS0gICAgICAgIGJyZWFrOwo+IC0tICAgICAgfQo+IC0tICAgICAgLyog ZWxzZSBnbyB0aHJvdWdoICovCj4gLS0gICAgfQo+IC0gICAgIGRlZmF1bHQ6IHsKPiAtICAgICAg IHBjID0ganVtcG9uY29uZChmcywgZSwgMSk7Cj4gLSAgICAgICBicmVhazsKPiBkaWZmIC0tZ2l0 IGEvcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMC1fX25ld2luZGV4LW1ldGFtZXRob2QtbWF5LW5vdC13 b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4xLjQvMDAxMC1fX25l d2luZGV4LW1ldGFtZXRob2QtbWF5LW5vdC13b3JrLWlmLW1ldGF0YWJsZS1pcy1pLnBhdGNoCj4g ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggNmM5ZjdlMWRmLi4wMDAwMDAwMDAKPiAt LS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDEwLV9fbmV3aW5kZXgtbWV0YW1ldGhvZC1tYXktbm90 LXdvcmstaWYtbWV0YXRhYmxlLWlzLWkucGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMzcg KzAsMCBAQAo+IC1Gcm9tOiA9P1VURi04P3E/QmVubz1DMz1BRXQ9MjBCdXJuaWNob24/PSA8YmVu b2l0LmJ1cm5pY2hvbkBhaXJ0YWcuY29tPgo+IC1EYXRlOiBUdWUsIDYgRGVjIDIwMTEgMTQ6Mjc6 MDQgKzAxMDAKPiAtU3ViamVjdDogW1BBVENIXSBfX25ld2luZGV4IG1ldGFtZXRob2QgbWF5IG5v dCB3b3JrIGlmIG1ldGF0YWJsZSBpcyBpdHMgb3duCj4gLSBtZXRhdGFibGUuCj4gLU1JTUUtVmVy c2lvbjogMS4wCj4gLUNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAo+IC1D b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0Cj4gLQo+IC1Db21lcyBmcm9tIGh0dHA6Ly93 d3cubHVhLm9yZy9idWdzLmh0bWwjNS4xLjQtMTAKPiAtCj4gLXJlcG9ydGVkIGJ5IEN1ZXJvIEJ1 Z290IG9uIDA5IEF1ZyAyMDExLgo+IC1FeGFtcGxlOgo+IC0gLS0KPiAtIG1ldGE9e30KPiAtIHNl dG1ldGF0YWJsZShtZXRhLCBtZXRhKQo+IC0gbWV0YS5fX25ld2luZGV4ID0gZnVuY3Rpb24odCwg a2V5LCB2YWx1ZSkgcHJpbnQoInNldCIpIGVuZAo+IC0gbyA9IHNldG1ldGF0YWJsZSh7fSwgbWV0 YSkKPiAtIG8ueCA9IDEwICAgIC0tIHNob3VsZCBwcmludCAnc2V0Jwo+IC0gLS0KPiAtCj4gLVNp Z25lZC1vZmYtYnk6IEJlbm/DrnQgQnVybmljaG9uIDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5j b20+Cj4gLS0tLQo+IC0gc3JjL2x2bS5jIHwgICAgMSArCj4gLSAxIGZpbGVzIGNoYW5nZWQsIDEg aW5zZXJ0aW9ucygrKSwgMCBkZWxldGlvbnMoLSkKPiAtCj4gLWRpZmYgLS1naXQgYS9zcmMvbHZt LmMgYi9zcmMvbHZtLmMKPiAtaW5kZXggNGFjMmU3MS4uY2E3YmVhMCAxMDA2NDQKPiAtLS0tIGEv c3JjL2x2bS5jCj4gLSsrKyBiL3NyYy9sdm0uYwo+IC1AQCAtMTQyLDYgKzE0Miw3IEBAIHZvaWQg bHVhVl9zZXR0YWJsZSAobHVhX1N0YXRlICpMLCBjb25zdCBUVmFsdWUgKnQsIFRWYWx1ZSAqa2V5 LCBTdGtJZCB2YWwpIHsKPiAtICAgICAgIGlmICghdHRpc25pbChvbGR2YWwpIHx8ICAvKiByZXN1 bHQgaXMgbm8gbmlsPyAqLwo+IC0gICAgICAgICAgICh0bSA9IGZhc3R0bShMLCBoLT5tZXRhdGFi bGUsIFRNX05FV0lOREVYKSkgPT0gTlVMTCkgeyAvKiBvciBubyBUTT8gKi8KPiAtICAgICAgICAg c2V0b2JqMnQoTCwgb2xkdmFsLCB2YWwpOwo+IC0rICAgICAgICBoLT5mbGFncyA9IDA7Cj4gLSAg ICAgICAgIGx1YUNfYmFycmllcnQoTCwgaCwgdmFsKTsKPiAtICAgICAgICAgcmV0dXJuOwo+IC0g ICAgICAgfQo+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMDExLVBhcnNlci1tYXkt Y29sbGVjdC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5wYXRjaCBiL3BhdGNoZXMvbHVh LTUuMS40LzAwMTEtUGFyc2VyLW1heS1jb2xsZWN0LWEtcHJvdG90eXBlLXdoaWxlLWJ1aWxkaW5n LWl0LnBhdGNoCj4gZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggOTRlZTJlNDgwLi4w MDAwMDAwMDAKPiAtLS0gYS9wYXRjaGVzL2x1YS01LjEuNC8wMDExLVBhcnNlci1tYXktY29sbGVj dC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5wYXRjaAo+ICsrKyAvZGV2L251bGwKPiBA QCAtMSwzMSArMCwwIEBACj4gLUZyb206ID0/VVRGLTg/cT9CZW5vPUMzPUFFdD0yMEJ1cm5pY2hv bj89IDxiZW5vaXQuYnVybmljaG9uQGFpcnRhZy5jb20+Cj4gLURhdGU6IFR1ZSwgNiBEZWMgMjAx MSAxNDoyODoxOSArMDEwMAo+IC1TdWJqZWN0OiBbUEFUQ0hdIFBhcnNlciBtYXkgY29sbGVjdCBh IHByb3RvdHlwZSB3aGlsZSBidWlsZGluZyBpdC4KPiAtTUlNRS1WZXJzaW9uOiAxLjAKPiAtQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04Cj4gLUNvbnRlbnQtVHJhbnNmZXIt RW5jb2Rpbmc6IDhiaXQKPiAtCj4gLUNvbWVzIGZyb20gaHR0cDovL3d3dy5sdWEub3JnL2J1Z3Mu aHRtbCM1LjEuNC0xMQo+IC0KPiAtcmVwb3J0ZWQgYnkgSW5nbyB2YW4gTGlsIG9uIDEzIE9jdCAy MDExLgo+IC0KPiAtU2lnbmVkLW9mZi1ieTogQmVub8OudCBCdXJuaWNob24gPGJlbm9pdC5idXJu aWNob25AYWlydGFnLmNvbT4KPiAtLS0tCj4gLSBzcmMvbHBhcnNlci5jIHwgICAgMiArLQo+IC0g MSBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCj4gLQo+IC1k aWZmIC0tZ2l0IGEvc3JjL2xwYXJzZXIuYyBiL3NyYy9scGFyc2VyLmMKPiAtaW5kZXggMWUyYTlh OC4uYTI3MjFkMiAxMDA2NDQKPiAtLS0tIGEvc3JjL2xwYXJzZXIuYwo+IC0rKysgYi9zcmMvbHBh cnNlci5jCj4gLUBAIC0zNzQsOSArMzc0LDkgQEAgc3RhdGljIHZvaWQgY2xvc2VfZnVuYyAoTGV4 U3RhdGUgKmxzKSB7Cj4gLSAgIGx1YV9hc3NlcnQobHVhR19jaGVja2NvZGUoZikpOwo+IC0gICBs dWFfYXNzZXJ0KGZzLT5ibCA9PSBOVUxMKTsKPiAtICAgbHMtPmZzID0gZnMtPnByZXY7Cj4gLS0g IEwtPnRvcCAtPSAyOyAgLyogcmVtb3ZlIHRhYmxlIGFuZCBwcm90b3R5cGUgZnJvbSB0aGUgc3Rh Y2sgKi8KPiAtICAgLyogbGFzdCB0b2tlbiByZWFkIHdhcyBhbmNob3JlZCBpbiBkZWZ1bmN0IGZ1 bmN0aW9uOyBtdXN0IHJlYW5jaG9yIGl0ICovCj4gLSAgIGlmIChmcykgYW5jaG9yX3Rva2VuKGxz KTsKPiAtKyAgTC0+dG9wIC09IDI7ICAvKiByZW1vdmUgdGFibGUgYW5kIHByb3RvdHlwZSBmcm9t IHRoZSBzdGFjayAqLwo+IC0gfQo+IC0gCj4gLSAKPiBkaWZmIC0tZ2l0IGEvcGF0Y2hlcy9sdWEt NS4xLjQvMDEwMC1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFr ZWZpbGUucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMTAwLUFkZC1sdWEtc3VwcG9ydC10by1w dHhkaXN0LTEuOTktcmVtb3ZlLW9sZC1NYWtlZmlsZS5wYXRjaAo+IGRlbGV0ZWQgZmlsZSBtb2Rl IDEwMDY0NAo+IGluZGV4IDA5MTE4YzEwNC4uMDAwMDAwMDAwCj4gLS0tIGEvcGF0Y2hlcy9sdWEt NS4xLjQvMDEwMC1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFr ZWZpbGUucGF0Y2gKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMTUxICswLDAgQEAKPiAtRnJvbTog RXJ3aW4gUm9sIDxlcndpbkBlcndpbnJvbC5jb20+Cj4gLURhdGU6IEZyaSwgOSBEZWMgMjAxMSAx MTozMjoxMSArMDEwMAo+IC1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBsdWEgc3VwcG9ydCB0byBwdHhk aXN0IDEuOTk6IHJlbW92ZSBvbGQgTWFrZWZpbGUKPiAtCj4gLVRoaXMgcGF0Y2ggYWRkIGx1YSBz dXBwb3J0IHRvIHB0eGRpc3QgMS45OS4gSXQgaGFzIGEgbWVudSBlbnRyeSB1bmRlcgo+IC1zY3Jp cHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRvIHVz ZSBhdXRvY29uZgo+IC10byBidWlsZC4KPiAtCj4gLVRoaXMgcGFydCBvZiB0aGUgcGF0Y2ggcmVt b3ZlcyB0aGUgb2xkIE1ha2VmaWxlLgo+IC0KPiAtU2lnbmVkLW9mZi1ieTogRXJ3aW4gUm9sIDxl cndpbkBlcndpbnJvbC5jb20+Cj4gLVNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5z Y2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KPiAtLS0tCj4gLSBNYWtlZmlsZSB8IDEyOCAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K PiAtIDEgZmlsZSBjaGFuZ2VkLCAxMjggZGVsZXRpb25zKC0pCj4gLSBkZWxldGUgbW9kZSAxMDA2 NDQgTWFrZWZpbGUKPiAtCj4gLWRpZmYgLS1naXQgYS9NYWtlZmlsZSBiL01ha2VmaWxlCj4gLWRl bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IC1pbmRleCA2ZTc4ZjY2Li4wMDAwMDAwCj4gLS0tLSBh L01ha2VmaWxlCj4gLSsrKyAvZGV2L251bGwKPiAtQEAgLTEsMTI4ICswLDAgQEAKPiAtLSMgbWFr ZWZpbGUgZm9yIGluc3RhbGxpbmcgTHVhCj4gLS0jIHNlZSBJTlNUQUxMIGZvciBpbnN0YWxsYXRp b24gaW5zdHJ1Y3Rpb25zCj4gLS0jIHNlZSBzcmMvTWFrZWZpbGUgYW5kIHNyYy9sdWFjb25mLmgg Zm9yIGZ1cnRoZXIgY3VzdG9taXphdGlvbgo+IC0tCj4gLS0jID09IENIQU5HRSBUSEUgU0VUVElO R1MgQkVMT1cgVE8gU1VJVCBZT1VSIEVOVklST05NRU5UID09PT09PT09PT09PT09PT09PT09PT09 Cj4gLS0KPiAtLSMgWW91ciBwbGF0Zm9ybS4gU2VlIFBMQVRTIGZvciBwb3NzaWJsZSB2YWx1ZXMu Cj4gLS1QTEFUPSBub25lCj4gLS0KPiAtLSMgV2hlcmUgdG8gaW5zdGFsbC4gVGhlIGluc3RhbGxh dGlvbiBzdGFydHMgaW4gdGhlIHNyYyBhbmQgZG9jIGRpcmVjdG9yaWVzLAo+IC0tIyBzbyB0YWtl IGNhcmUgaWYgSU5TVEFMTF9UT1AgaXMgbm90IGFuIGFic29sdXRlIHBhdGguCj4gLS1JTlNUQUxM X1RPUD0gL3Vzci9sb2NhbAo+IC0tSU5TVEFMTF9CSU49ICQoSU5TVEFMTF9UT1ApL2Jpbgo+IC0t SU5TVEFMTF9JTkM9ICQoSU5TVEFMTF9UT1ApL2luY2x1ZGUKPiAtLUlOU1RBTExfTElCPSAkKElO U1RBTExfVE9QKS9saWIKPiAtLUlOU1RBTExfTUFOPSAkKElOU1RBTExfVE9QKS9tYW4vbWFuMQo+ IC0tIwo+IC0tIyBZb3UgcHJvYmFibHkgd2FudCB0byBtYWtlIElOU1RBTExfTE1PRCBhbmQgSU5T VEFMTF9DTU9EIGNvbnNpc3RlbnQgd2l0aAo+IC0tIyBMVUFfUk9PVCwgTFVBX0xESVIsIGFuZCBM VUFfQ0RJUiBpbiBsdWFjb25mLmggKGFuZCBhbHNvIHdpdGggZXRjL2x1YS5wYykuCj4gLS1JTlNU QUxMX0xNT0Q9ICQoSU5TVEFMTF9UT1ApL3NoYXJlL2x1YS8kVgo+IC0tSU5TVEFMTF9DTU9EPSAk KElOU1RBTExfVE9QKS9saWIvbHVhLyRWCj4gLS0KPiAtLSMgSG93IHRvIGluc3RhbGwuIElmIHlv dXIgaW5zdGFsbCBwcm9ncmFtIGRvZXMgbm90IHN1cHBvcnQgIi1wIiwgdGhlbiB5b3UKPiAtLSMg bWF5IGhhdmUgdG8gcnVuIHJhbmxpYiBvbiB0aGUgaW5zdGFsbGVkIGxpYmx1YS5hIChkbyAibWFr ZSByYW5saWIiKS4KPiAtLUlOU1RBTEw9IGluc3RhbGwgLXAKPiAtLUlOU1RBTExfRVhFQz0gJChJ TlNUQUxMKSAtbSAwNzU1Cj4gLS1JTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkgLW0gMDY0NAo+IC0t Iwo+IC0tIyBJZiB5b3UgZG9uJ3QgaGF2ZSBpbnN0YWxsIHlvdSBjYW4gdXNlIGNwIGluc3RlYWQu Cj4gLS0jIElOU1RBTEw9IGNwIC1wCj4gLS0jIElOU1RBTExfRVhFQz0gJChJTlNUQUxMKQo+IC0t IyBJTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkKPiAtLQo+IC0tIyBVdGlsaXRpZXMuCj4gLS1NS0RJ Uj0gbWtkaXIgLXAKPiAtLVJBTkxJQj0gcmFubGliCj4gLS0KPiAtLSMgPT0gRU5EIE9GIFVTRVIg U0VUVElOR1MuIE5PIE5FRUQgVE8gQ0hBTkdFIEFOWVRISU5HIEJFTE9XIFRISVMgTElORSA9PT09 PT09PT0KPiAtLQo+IC0tIyBDb252ZW5pZW5jZSBwbGF0Zm9ybXMgdGFyZ2V0cy4KPiAtLVBMQVRT PSBhaXggYW5zaSBic2QgZnJlZWJzZCBnZW5lcmljIGxpbnV4IG1hY29zeCBtaW5ndyBwb3NpeCBz b2xhcmlzCj4gLS0KPiAtLSMgV2hhdCB0byBpbnN0YWxsLgo+IC0tVE9fQklOPSBsdWEgbHVhYwo+ IC0tVE9fSU5DPSBsdWEuaCBsdWFjb25mLmggbHVhbGliLmggbGF1eGxpYi5oIC4uL2V0Yy9sdWEu aHBwCj4gLS1UT19MSUI9IGxpYmx1YS5hCj4gLS1UT19NQU49IGx1YS4xIGx1YWMuMQo+IC0tCj4g LS0jIEx1YSB2ZXJzaW9uIGFuZCByZWxlYXNlLgo+IC0tVj0gNS4xCj4gLS1SPSA1LjEuNAo+IC0t Cj4gLS1hbGw6CSQoUExBVCkKPiAtLQo+IC0tJChQTEFUUykgY2xlYW46Cj4gLS0JY2Qgc3JjICYm ICQoTUFLRSkgJEAKPiAtLQo+IC0tdGVzdDoJZHVtbXkKPiAtLQlzcmMvbHVhIHRlc3QvaGVsbG8u bHVhCj4gLS0KPiAtLWluc3RhbGw6IGR1bW15Cj4gLS0JY2Qgc3JjICYmICQoTUtESVIpICQoSU5T VEFMTF9CSU4pICQoSU5TVEFMTF9JTkMpICQoSU5TVEFMTF9MSUIpICQoSU5TVEFMTF9NQU4pICQo SU5TVEFMTF9MTU9EKSAkKElOU1RBTExfQ01PRCkKPiAtLQljZCBzcmMgJiYgJChJTlNUQUxMX0VY RUMpICQoVE9fQklOKSAkKElOU1RBTExfQklOKQo+IC0tCWNkIHNyYyAmJiAkKElOU1RBTExfREFU QSkgJChUT19JTkMpICQoSU5TVEFMTF9JTkMpCj4gLS0JY2Qgc3JjICYmICQoSU5TVEFMTF9EQVRB KSAkKFRPX0xJQikgJChJTlNUQUxMX0xJQikKPiAtLQljZCBkb2MgJiYgJChJTlNUQUxMX0RBVEEp ICQoVE9fTUFOKSAkKElOU1RBTExfTUFOKQo+IC0tCj4gLS1yYW5saWI6Cj4gLS0JY2Qgc3JjICYm IGNkICQoSU5TVEFMTF9MSUIpICYmICQoUkFOTElCKSAkKFRPX0xJQikKPiAtLQo+IC0tbG9jYWw6 Cj4gLS0JJChNQUtFKSBpbnN0YWxsIElOU1RBTExfVE9QPS4uCj4gLS0KPiAtLW5vbmU6Cj4gLS0J QGVjaG8gIlBsZWFzZSBkbyIKPiAtLQlAZWNobyAiICAgbWFrZSBQTEFURk9STSIKPiAtLQlAZWNo byAid2hlcmUgUExBVEZPUk0gaXMgb25lIG9mIHRoZXNlOiIKPiAtLQlAZWNobyAiICAgJChQTEFU UykiCj4gLS0JQGVjaG8gIlNlZSBJTlNUQUxMIGZvciBjb21wbGV0ZSBpbnN0cnVjdGlvbnMuIgo+ IC0tCj4gLS0jIG1ha2UgbWF5IGdldCBjb25mdXNlZCB3aXRoIHRlc3QvIGFuZCBJTlNUQUxMIGlu IGEgY2FzZS1pbnNlbnNpdGl2ZSBPUwo+IC0tZHVtbXk6Cj4gLS0KPiAtLSMgZWNobyBjb25maWcg cGFyYW1ldGVycwo+IC0tZWNobzoKPiAtLQlAZWNobyAiIgo+IC0tCUBlY2hvICJUaGVzZSBhcmUg dGhlIHBhcmFtZXRlcnMgY3VycmVudGx5IHNldCBpbiBzcmMvTWFrZWZpbGUgdG8gYnVpbGQgTHVh ICRSOiIKPiAtLQlAZWNobyAiIgo+IC0tCUBjZCBzcmMgJiYgJChNQUtFKSAtcyBlY2hvCj4gLS0J QGVjaG8gIiIKPiAtLQlAZWNobyAiVGhlc2UgYXJlIHRoZSBwYXJhbWV0ZXJzIGN1cnJlbnRseSBz ZXQgaW4gTWFrZWZpbGUgdG8gaW5zdGFsbCBMdWEgJFI6Igo+IC0tCUBlY2hvICIiCj4gLS0JQGVj aG8gIlBMQVQgPSAkKFBMQVQpIgo+IC0tCUBlY2hvICJJTlNUQUxMX1RPUCA9ICQoSU5TVEFMTF9U T1ApIgo+IC0tCUBlY2hvICJJTlNUQUxMX0JJTiA9ICQoSU5TVEFMTF9CSU4pIgo+IC0tCUBlY2hv ICJJTlNUQUxMX0lOQyA9ICQoSU5TVEFMTF9JTkMpIgo+IC0tCUBlY2hvICJJTlNUQUxMX0xJQiA9 ICQoSU5TVEFMTF9MSUIpIgo+IC0tCUBlY2hvICJJTlNUQUxMX01BTiA9ICQoSU5TVEFMTF9NQU4p Igo+IC0tCUBlY2hvICJJTlNUQUxMX0xNT0QgPSAkKElOU1RBTExfTE1PRCkiCj4gLS0JQGVjaG8g IklOU1RBTExfQ01PRCA9ICQoSU5TVEFMTF9DTU9EKSIKPiAtLQlAZWNobyAiSU5TVEFMTF9FWEVD ID0gJChJTlNUQUxMX0VYRUMpIgo+IC0tCUBlY2hvICJJTlNUQUxMX0RBVEEgPSAkKElOU1RBTExf REFUQSkiCj4gLS0JQGVjaG8gIiIKPiAtLQlAZWNobyAiU2VlIGFsc28gc3JjL2x1YWNvbmYuaCAu Igo+IC0tCUBlY2hvICIiCj4gLS0KPiAtLSMgZWNobyBwcml2YXRlIGNvbmZpZyBwYXJhbWV0ZXJz Cj4gLS1wZWNobzoKPiAtLQlAZWNobyAiViA9ICQoVikiCj4gLS0JQGVjaG8gIlIgPSAkKFIpIgo+ IC0tCUBlY2hvICJUT19CSU4gPSAkKFRPX0JJTikiCj4gLS0JQGVjaG8gIlRPX0lOQyA9ICQoVE9f SU5DKSIKPiAtLQlAZWNobyAiVE9fTElCID0gJChUT19MSUIpIgo+IC0tCUBlY2hvICJUT19NQU4g PSAkKFRPX01BTikiCj4gLS0KPiAtLSMgZWNobyBjb25maWcgcGFyYW1ldGVycyBhcyBMdWEgY29k ZQo+IC0tIyB1bmNvbW1lbnQgdGhlIGxhc3Qgc2VkIGV4cHJlc3Npb24gaWYgeW91IHdhbnQgbmls IGluc3RlYWQgb2YgZW1wdHkgc3RyaW5ncwo+IC0tbGVjaG86Cj4gLS0JQGVjaG8gIi0tIGluc3Rh bGxhdGlvbiBwYXJhbWV0ZXJzIGZvciBMdWEgJFIiCj4gLS0JQGVjaG8gIlZFUlNJT04gPSAnJFYn Igo+IC0tCUBlY2hvICJSRUxFQVNFID0gJyRSJyIKPiAtLQlAJChNQUtFKSBlY2hvIHwgZ3JlcCA9 IHwgc2VkIC1lICdzLz0gLz0gIi8nIC1lICdzLyQkLyIvJyAjLWUgJ3MvIiIvbmlsLycKPiAtLQlA ZWNobyAiLS0gRU9GIgo+IC0tCj4gLS0jIGxpc3QgdGFyZ2V0cyB0aGF0IGRvIG5vdCBjcmVhdGUg ZmlsZXMgKGJ1dCBub3QgYWxsIG1ha2VzIHVuZGVyc3RhbmQgLlBIT05ZKQo+IC0tLlBIT05ZOiBh bGwgJChQTEFUUykgY2xlYW4gdGVzdCBpbnN0YWxsIGxvY2FsIG5vbmUgZHVtbXkgZWNobyBwZWNo byBsZWNobwo+IC0tCj4gLS0jIChlbmQgb2YgTWFrZWZpbGUpCj4gZGlmZiAtLWdpdCBhL3BhdGNo ZXMvbHVhLTUuMS40LzAxMDEtQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0 b2NvbmYtZmlsZXMucGF0Y2ggYi9wYXRjaGVzL2x1YS01LjEuNC8wMTAxLUFkZC1sdWEtc3VwcG9y dC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9jb25mLWZpbGVzLnBhdGNoCj4gZGVsZXRlZCBmaWxl IG1vZGUgMTAwNjQ0Cj4gaW5kZXggZjI3YTYyZTg4Li4wMDAwMDAwMDAKPiAtLS0gYS9wYXRjaGVz L2x1YS01LjEuNC8wMTAxLUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9j b25mLWZpbGVzLnBhdGNoCj4gKysrIC9kZXYvbnVsbAo+IEBAIC0xLDkxOCArMCwwIEBACj4gLUZy b206IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgo+IC1EYXRlOiBGcmksIDkgRGVjIDIw MTEgMTE6MzI6MTIgKzAxMDAKPiAtU3ViamVjdDogW1BBVENIXSBBZGQgbHVhIHN1cHBvcnQgdG8g cHR4ZGlzdCAxLjk5OiBhZGQgYXV0b2NvbmYgZmlsZXMKPiAtCj4gLVRoaXMgcGF0Y2ggYWRkIGx1 YSBzdXBwb3J0IHRvIHB0eGRpc3QgMS45OS4gSXQgaGFzIGEgbWVudSBlbnRyeSB1bmRlcgo+IC1z Y3JpcHRpbmcgbGFuZ3VhZ2VzLiBBbmQgYSBwYXRjaCB0aGF0IG1ha2VzIGl0IHBvc3NpYmxlIHRv IHVzZSBhdXRvY29uZgo+IC10byBidWlsZC4KPiAtCj4gLVRoaXMgcGFydCBvZiB0aGUgcGF0Y2gg YWRkcyB0aGUgYXV0b2NvbmYgZmlsZXMuCj4gLQo+IC1TaWduZWQtb2ZmLWJ5OiBFcndpbiBSb2wg PGVyd2luQGVyd2lucm9sLmNvbT4KPiAtU2lnbmVkLW9mZi1ieTogUm9iZXJ0IFNjaHdlYmVsIDxy LnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgo+IC0tLS0KPiAtIGNvbmZpZ3VyZS5hYyAgICAgICAg ICAgICAgfCAgNzAgKysrKysKPiAtIGV0Yy9sdWEucGMuaW4gICAgICAgICAgICAgfCAgMzIgKysK PiAtIHNyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4gfCA3NzcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+IC0gMyBmaWxlcyBjaGFuZ2VkLCA4NzkgaW5zZXJ0 aW9ucygrKQo+IC0gY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbmZpZ3VyZS5hYwo+IC0gY3JlYXRlIG1v ZGUgMTAwNjQ0IGV0Yy9sdWEucGMuaW4KPiAtIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbHVhY29u Zi5oLnRlbXBsYXRlLmluCj4gLQo+IC1kaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmln dXJlLmFjCj4gLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gLWluZGV4IDAwMDAwMDAuLmQ4NzlhODYK PiAtLS0tIC9kZXYvbnVsbAo+IC0rKysgYi9jb25maWd1cmUuYWMKPiAtQEAgLTAsMCArMSw3MCBA QAo+IC0rQUNfUFJFUkVRKFsyLjY3XSkKPiAtK0FDX0lOSVQoW0F1dG90b29saXplZCBMdWFdLFs1 LjEuNF0sW10sW2x1YS1hdF0pCj4gLSsKPiAtK0FDX0NPTkZJR19NQUNST19ESVIoW200XSkKPiAt Kwo+IC0rQUNfQ09ORklHX0hFQURFUlMoW2NvbmZpZy5oXSkKPiAtK0FDX0NPTkZJR19TUkNESVIo W3NyYy9sYXBpLmNdKQo+IC0rCj4gLStBTV9JTklUX0FVVE9NQUtFKFsxLjkgZm9yZWlnbl0pCj4g LSsKPiAtK0FDX1BST0dfQ0MKPiAtK0xUX0lOSVQKPiAtKwo+IC0rQUNfQVJHX1dJVEgoCj4gLSsg IFtyZWFkbGluZV0sCj4gLSsgIFtBU19IRUxQX1NUUklORyhbLS13aXRoLXJlYWRsaW5lXSxbVXNl IHJlYWRsaW5lIGZvciBpbnRlcnByZXRlciBpbnB1dCBbZGVmYXVsdD15ZXNdXSldLAo+IC0rICBb dXNlX3JlYWRsaW5lPSR3aXRodmFsXSwKPiAtKyAgW3VzZV9yZWFkbGluZT15ZXNdCj4gLSspCj4g LSsKPiAtK0xVQV9MSUJTPSItbG0iCj4gLSsKPiAtKyMgQ2hlY2sgZm9yIHJlYWRsaW5lCj4gLStS RUFETElORV9ERUZTPSIjdW5kZWYgTFVBX1VTRV9SRUFETElORSIKPiAtK2lmIHRlc3QgIngkdXNl X3JlYWRsaW5lIiA9PSAieHllcyI7IHRoZW4KPiAtKyAgQUNfQ0hFQ0tfTElCKFtyZWFkbGluZV0s IFtyZWFkbGluZV0sIFtdLCBbdXNlX3JlYWRsaW5lPW5vXSkKPiAtKyAgQUNfQ0hFQ0tfSEVBREVS UyhbcmVhZGxpbmUvcmVhZGxpbmUuaCByZWFkbGluZS9oaXN0b3J5LmhdLCBbXSwgW3VzZV9yZWFk bGluZT1ub10pCj4gLSsgIGlmIHRlc3QgIngkdXNlX3JlYWRsaW5lIiA9PSAieG5vIjsgdGhlbgo+ IC0rICAgIEFDX01TR19XQVJOKFtyZWFkbGluZSBoZWFkZXJzIGNvdWxkIG5vdCBiZSBmb3VuZCwg ZGlzYWJsaW5nIHJlYWRsaW5lIHN1cHBvcnRdKQo+IC0rICBlbHNlCj4gLSsgICAgUkVBRExJTkVf REVGUz0iI2RlZmluZSBMVUFfVVNFX1JFQURMSU5FIgo+IC0rICAgIExVQV9MSUJTPSIkTFVBX0xJ QlMgLWxyZWFkbGluZSIKPiAtKyAgZmkKPiAtK2ZpCj4gLStBQ19TVUJTVChSRUFETElORV9ERUZT KQo+IC0rCj4gLStjYXNlICIkaG9zdCIgaW4KPiAtKyAgKi1taW5ndyopICB1c2Vfb3M9d2luMzIg IDs7Cj4gLSsgICotZGFyd2luKikgdXNlX29zPW1hY29zeCA7Owo+IC0rICAqKSAgICAgICAgIHVz ZV9vcz1wb3NpeCAgOzsKPiAtK2VzYWMKPiAtKwo+IC0rUE9TSVhfREVGUz0iI3VuZGVmIExVQV9V U0VfUE9TSVgiCj4gLStMVUFfRExfREVGUz0iI3VuZGVmIExVQV9VU0VfRExPUEVOIgo+IC0rTFVB X0JVSUxEX0FTX0RMTF9ERUZTPSIjdW5kZWYgTFVBX0JVSUxEX0FTX0RMTCIKPiAtKwo+IC0raWYg dGVzdCAieCR1c2Vfb3MiID09ICJ4d2luMzIiOyB0aGVuCj4gLSsgIExVQV9CVUlMRF9BU19ETExf REVGUz0iI2RlZmluZSBMVUFfQlVJTERfQVNfRExMIgo+IC0rZWxpZiB0ZXN0ICJ4JHVzZV9vcyIg PT0gInhtYWNvc3giOyB0aGVuCj4gLSsgIFBPU0lYX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9QT1NJ WCIKPiAtKyAgTFVBX0RMX0RFRlM9IiNkZWZpbmUgTFVBX0RMX0RZTEQiCj4gLStlbGlmIHRlc3Qg IngkdXNlX29zIiA9PSAieHBvc2l4IjsgdGhlbgo+IC0rICBQT1NJWF9ERUZTPSIjZGVmaW5lIExV QV9VU0VfUE9TSVgiCj4gLSsgIExVQV9ETF9ERUZTPSIjZGVmaW5lIExVQV9ETF9ETE9QRU4iCj4g LSsgIExVQV9MSUJTPSIkTFVBX0xJQlMgLWxkbCIKPiAtK2ZpCj4gLStBQ19TVUJTVChQT1NJWF9E RUZTKQo+IC0rQUNfU1VCU1QoTFVBX0RMX0RFRlMpCj4gLStBQ19TVUJTVChMVUFfQlVJTERfQVNf RExMX0RFRlMpCj4gLSsKPiAtK0FDX1NVQlNUKExVQV9MSUJTKQo+IC0rCj4gLStBQ19DT05GSUdf RklMRVMoW01ha2VmaWxlCj4gLSsgICAgICAgICAgICAgICAgIHNyYy9NYWtlZmlsZQo+IC0rICAg ICAgICAgICAgICAgICBzcmMvbHVhY29uZi5oLnRlbXBsYXRlCj4gLSsgICAgICAgICAgICAgICAg IGV0Yy9NYWtlZmlsZQo+IC0rICAgICAgICAgICAgICAgICBldGMvbHVhLnBjCj4gLSsgICAgICAg ICAgICAgICAgIGRvYy9NYWtlZmlsZQo+IC0rCQkgdGVzdC9NYWtlZmlsZV0pCj4gLStBQ19PVVRQ VVQKPiAtZGlmZiAtLWdpdCBhL2V0Yy9sdWEucGMuaW4gYi9ldGMvbHVhLnBjLmluCj4gLW5ldyBm aWxlIG1vZGUgMTAwNjQ0Cj4gLWluZGV4IDAwMDAwMDAuLjdmMzNjZmYKPiAtLS0tIC9kZXYvbnVs bAo+IC0rKysgYi9ldGMvbHVhLnBjLmluCj4gLUBAIC0wLDAgKzEsMzIgQEAKPiAtKyMgbHVhLnBj IC0tIHBrZy1jb25maWcgZGF0YSBmb3IgTHVhCj4gLSsKPiAtKyMgdmFycyBmcm9tIGluc3RhbGwg TWFrZWZpbGUKPiAtKwo+IC0rIyBncmVwICdeVj0nIC4uL01ha2VmaWxlCj4gLStWPSA1LjEKPiAt KyMgZ3JlcCAnXlI9JyAuLi9NYWtlZmlsZQo+IC0rUj0gQFZFUlNJT05ACj4gLSsKPiAtKyMgZ3Jl cCAnXklOU1RBTExfLio9JyAuLi9NYWtlZmlsZSB8IHNlZCAncy9JTlNUQUxMX1RPUC9wcmVmaXgv Jwo+IC0rIyBwbHVzIGF1dG90b29saWZpY2F0aW9uCj4gLStwcmVmaXg9IEBwcmVmaXhACj4gLStJ TlNUQUxMX0JJTj0gJHtwcmVmaXh9L2Jpbgo+IC0rSU5TVEFMTF9JTkM9ICR7cHJlZml4fS9pbmNs dWRlCj4gLStJTlNUQUxMX0xJQj0gJHtwcmVmaXh9L2xpYgo+IC0rSU5TVEFMTF9NQU49ICR7cHJl Zml4fS9tYW4vbWFuMQo+IC0rSU5TVEFMTF9MTU9EPSAke3ByZWZpeH0vc2hhcmUvbHVhLyR7Vn0K PiAtK0lOU1RBTExfQ01PRD0gJHtwcmVmaXh9L2xpYi9sdWEvJHtWfQo+IC0rCj4gLSsjIGNhbm9u aWNhbCB2YXJzCj4gLStleGVjX3ByZWZpeD0ke3ByZWZpeH0KPiAtK2xpYmRpcj0ke2V4ZWNfcHJl Zml4fS9saWIKPiAtK2luY2x1ZGVkaXI9JHtwcmVmaXh9L2luY2x1ZGUKPiAtKwo+IC0rTmFtZTog THVhCj4gLStEZXNjcmlwdGlvbjogQW4gRXh0ZW5zaWJsZSBFeHRlbnNpb24gTGFuZ3VhZ2UKPiAt K1ZlcnNpb246ICR7Un0KPiAtK1JlcXVpcmVzOiAKPiAtK0xpYnM6IC1MJHtsaWJkaXJ9IC1sbHVh IC1sbQo+IC0rQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0KPiAtKwo+IC0rIyAoZW5kIG9mIGx1YS5w YykKPiAtZGlmZiAtLWdpdCBhL3NyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4gYi9zcmMvbHVhY29u Zi5oLnRlbXBsYXRlLmluCj4gLW5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gLWluZGV4IDAwMDAwMDAu LjQxYjIzNGQKPiAtLS0tIC9kZXYvbnVsbAo+IC0rKysgYi9zcmMvbHVhY29uZi5oLnRlbXBsYXRl LmluCj4gLUBAIC0wLDAgKzEsNzc3IEBACj4gLSsvKgo+IC0rKiogJElkOiBsdWFjb25mLmgsdiAx LjgyYSAyMDA2LzA0LzEwIDE4OjI3OjIzIHJvYmVydG8gRXhwICQKPiAtKyoqIENvbmZpZ3VyYXRp b24gZmlsZSBmb3IgTHVhCj4gLSsqKiBTZWUgQ29weXJpZ2h0IE5vdGljZSBpbiBsdWEuaAo+IC0r Ki8KPiAtKwo+IC0rCj4gLSsjaWZuZGVmIGxjb25maWdfaAo+IC0rI2RlZmluZSBsY29uZmlnX2gK PiAtKwo+IC0rI2luY2x1ZGUgPGxpbWl0cy5oPgo+IC0rI2luY2x1ZGUgPHN0ZGRlZi5oPgo+IC0r Cj4gLSsvKgo+IC0rKiogPT09PT09PT09PT09PT09PT0KPiAtKyoqIEF1dG90b29saWZpY2F0aW9u Cj4gLSsqKiA9PT09PT09PT09PT09PT09PQo+IC0rKi8KPiAtKwo+IC0rLyoqIGF1dG90b29saXpl IHBhdGNoICoqLwo+IC0rQFBPU0lYX0RFRlNACj4gLStATFVBX0RMX0RFRlNACj4gLStATFVBX0JV SUxEX0FTX0RMTF9ERUZTQAo+IC0rQFJFQURMSU5FX0RFRlNACj4gLSsvKiogYXV0b3Rvb2xpemUg cGF0Y2ggKiovCj4gLSsKPiAtKy8qCj4gLSsqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAtKyoqIFNlYXJjaCBmb3Ig IkBAIiB0byBmaW5kIGFsbCBjb25maWd1cmFibGUgZGVmaW5pdGlvbnMuCj4gLSsqKiA9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Cj4gLSsqLwo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfQU5TSSBjb250cm9scyB0aGUg dXNlIG9mIG5vbi1hbnNpIGZlYXR1cmVzLgo+IC0rKiogQ0hBTkdFIGl0IChkZWZpbmUgaXQpIGlm IHlvdSB3YW50IEx1YSB0byBhdm9pZCB0aGUgdXNlIG9mIGFueQo+IC0rKiogbm9uLWFuc2kgZmVh dHVyZSBvciBsaWJyYXJ5Lgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKF9fU1RSSUNUX0FOU0lfXykK PiAtKyNkZWZpbmUgTFVBX0FOU0kKPiAtKyNlbmRpZgo+IC0rCj4gLSsKPiAtKyNpZiAhZGVmaW5l ZChMVUFfQU5TSSkgJiYgZGVmaW5lZChfV0lOMzIpCj4gLSsjZGVmaW5lIExVQV9XSU4KPiAtKyNl bmRpZgo+IC0rCj4gLSsjaWYgZGVmaW5lZChMVUFfVVNFX0xJTlVYKQo+IC0rI2RlZmluZSBMVUFf VVNFX1BPU0lYCj4gLSsjZGVmaW5lIExVQV9VU0VfRExPUEVOCQkvKiBuZWVkcyBhbiBleHRyYSBs aWJyYXJ5OiAtbGRsICovCj4gLSsjZGVmaW5lIExVQV9VU0VfUkVBRExJTkUJLyogbmVlZHMgc29t ZSBleHRyYSBsaWJyYXJpZXMgKi8KPiAtKyNlbmRpZgo+IC0rCj4gLSsjaWYgZGVmaW5lZChMVUFf VVNFX01BQ09TWCkKPiAtKyNkZWZpbmUgTFVBX1VTRV9QT1NJWAo+IC0rI2RlZmluZSBMVUFfRExf RFlMRAkJLyogZG9lcyBub3QgbmVlZCBleHRyYSBsaWJyYXJ5ICovCj4gLSsjZW5kaWYKPiAtKwo+ IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfVVNFX1BPU0lYIGluY2x1ZGVzIGFsbCBmdW5jdGlv bmFsbGl0eSBsaXN0ZWQgYXMgWC9PcGVuIFN5c3RlbQo+IC0rQCogSW50ZXJmYWNlcyBFeHRlbnNp b24gKFhTSSkuCj4gLSsqKiBDSEFOR0UgaXQgKGRlZmluZSBpdCkgaWYgeW91ciBzeXN0ZW0gaXMg WFNJIGNvbXBhdGlibGUuCj4gLSsqLwo+IC0rI2lmIGRlZmluZWQoTFVBX1VTRV9QT1NJWCkKPiAt KyNkZWZpbmUgTFVBX1VTRV9NS1NURU1QCj4gLSsjZGVmaW5lIExVQV9VU0VfSVNBVFRZCj4gLSsj ZGVmaW5lIExVQV9VU0VfUE9QRU4KPiAtKyNkZWZpbmUgTFVBX1VTRV9VTE9OR0pNUAo+IC0rI2Vu ZGlmCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQV9QQVRIIGFuZCBMVUFfQ1BBVEggYXJlIHRo ZSBuYW1lcyBvZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXQKPiAtK0AqIEx1YSBjaGVj ayB0byBzZXQgaXRzIHBhdGhzLgo+IC0rQEAgTFVBX0lOSVQgaXMgdGhlIG5hbWUgb2YgdGhlIGVu dmlyb25tZW50IHZhcmlhYmxlIHRoYXQgTHVhCj4gLStAKiBjaGVja3MgZm9yIGluaXRpYWxpemF0 aW9uIGNvZGUuCj4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5b3Ugd2FudCBkaWZmZXJlbnQgbmFtZXMu Cj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfUEFUSCAgICAgICAgIkxVQV9QQVRIIgo+IC0rI2RlZmlu ZSBMVUFfQ1BBVEggICAgICAgIkxVQV9DUEFUSCIKPiAtKyNkZWZpbmUgTFVBX0lOSVQJIkxVQV9J TklUIgo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfUEFUSF9ERUZBVUxUIGlzIHRoZSBkZWZh dWx0IHBhdGggdGhhdCBMdWEgdXNlcyB0byBsb29rIGZvcgo+IC0rQCogTHVhIGxpYnJhcmllcy4K PiAtK0BAIExVQV9DUEFUSF9ERUZBVUxUIGlzIHRoZSBkZWZhdWx0IHBhdGggdGhhdCBMdWEgdXNl cyB0byBsb29rIGZvcgo+IC0rQCogQyBsaWJyYXJpZXMuCj4gLSsqKiBDSEFOR0UgdGhlbSBpZiB5 b3VyIG1hY2hpbmUgaGFzIGEgbm9uLWNvbnZlbnRpb25hbCBkaXJlY3RvcnkKPiAtKyoqIGhpZXJh cmNoeSBvciBpZiB5b3Ugd2FudCB0byBpbnN0YWxsIHlvdXIgbGlicmFyaWVzIGluCj4gLSsqKiBu b24tY29udmVudGlvbmFsIGRpcmVjdG9yaWVzLgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKF9XSU4z MikKPiAtKy8qCj4gLSsqKiBJbiBXaW5kb3dzLCBhbnkgZXhjbGFtYXRpb24gbWFyayAoJyEnKSBp biB0aGUgcGF0aCBpcyByZXBsYWNlZCBieSB0aGUKPiAtKyoqIHBhdGggb2YgdGhlIGRpcmVjdG9y eSBvZiB0aGUgZXhlY3V0YWJsZSBmaWxlIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCj4gLSsqLwo+ IC0rI2RlZmluZSBMVUFfTERJUgkiIVxcbHVhXFwiCj4gLSsjZGVmaW5lIExVQV9DRElSCSIhXFwi Cj4gLSsjZGVmaW5lIExVQV9QQVRIX0RFRkFVTFQgIFwKPiAtKwkJIi5cXD8ubHVhOyIgIExVQV9M RElSIj8ubHVhOyIgIExVQV9MRElSIj9cXGluaXQubHVhOyIgXAo+IC0rCQkgICAgICAgICAgICAg TFVBX0NESVIiPy5sdWE7IiAgTFVBX0NESVIiP1xcaW5pdC5sdWEiCj4gLSsjZGVmaW5lIExVQV9D UEFUSF9ERUZBVUxUIFwKPiAtKwkiLlxcPy5kbGw7IiAgTFVBX0NESVIiPy5kbGw7IiBMVUFfQ0RJ UiJsb2FkYWxsLmRsbCIKPiAtKwo+IC0rI2Vsc2UKPiAtKwo+IC0rLyoqIGF1dG90b29saXplIHBh dGNoICoqLwo+IC0rI2RlZmluZSBMVUFfTERJUgkiJWx1YV9kYXRhZGlyJS9sdWEvNS4xLyIKPiAt KyNkZWZpbmUgTFVBX0NESVIJIiVsdWFfbGliZGlyJS9sdWEvNS4xLyIKPiAtKy8qKiBhdXRvdG9v bGl6ZSBwYXRjaCAqKi8KPiAtKwo+IC0rI2RlZmluZSBMVUFfUEFUSF9ERUZBVUxUICBcCj4gLSsJ CSIuLz8ubHVhOyIgIExVQV9MRElSIj8ubHVhOyIgIExVQV9MRElSIj8vaW5pdC5sdWE7IiBcCj4g LSsJCSAgICAgICAgICAgIExVQV9DRElSIj8ubHVhOyIgIExVQV9DRElSIj8vaW5pdC5sdWEiCj4g LSsjZGVmaW5lIExVQV9DUEFUSF9ERUZBVUxUIFwKPiAtKwkiLi8/LnNvOyIgIExVQV9DRElSIj8u c287IiBMVUFfQ0RJUiJsb2FkYWxsLnNvIgo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rLyoKPiAt K0BAIExVQV9ESVJTRVAgaXMgdGhlIGRpcmVjdG9yeSBzZXBhcmF0b3IgKGZvciBzdWJtb2R1bGVz KS4KPiAtKyoqIENIQU5HRSBpdCBpZiB5b3VyIG1hY2hpbmUgZG9lcyBub3QgdXNlICIvIiBhcyB0 aGUgZGlyZWN0b3J5IHNlcGFyYXRvcgo+IC0rKiogYW5kIGlzIG5vdCBXaW5kb3dzLiAoT24gV2lu ZG93cyBMdWEgYXV0b21hdGljYWxseSB1c2VzICJcIi4pCj4gLSsqLwo+IC0rI2lmIGRlZmluZWQo X1dJTjMyKQo+IC0rI2RlZmluZSBMVUFfRElSU0VQCSJcXCIKPiAtKyNlbHNlCj4gLSsjZGVmaW5l IExVQV9ESVJTRVAJIi8iCj4gLSsjZW5kaWYKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX1BB VEhTRVAgaXMgdGhlIGNoYXJhY3RlciB0aGF0IHNlcGFyYXRlcyB0ZW1wbGF0ZXMgaW4gYSBwYXRo Lgo+IC0rQEAgTFVBX1BBVEhfTUFSSyBpcyB0aGUgc3RyaW5nIHRoYXQgbWFya3MgdGhlIHN1YnN0 aXR1dGlvbiBwb2ludHMgaW4gYQo+IC0rQCogdGVtcGxhdGUuCj4gLStAQCBMVUFfRVhFQ0RJUiBp biBhIFdpbmRvd3MgcGF0aCBpcyByZXBsYWNlZCBieSB0aGUgZXhlY3V0YWJsZSdzCj4gLStAKiBk aXJlY3RvcnkuCj4gLStAQCBMVUFfSUdNQVJLIGlzIGEgbWFyayB0byBpZ25vcmUgYWxsIGJlZm9y ZSBpdCB3aGVuIGJ1bGRpbmcgdGhlCj4gLStAKiBsdWFvcGVuXyBmdW5jdGlvbiBuYW1lLgo+IC0r KiogQ0hBTkdFIHRoZW0gaWYgZm9yIHNvbWUgcmVhc29uIHlvdXIgc3lzdGVtIGNhbm5vdCB1c2Ug dGhvc2UKPiAtKyoqIGNoYXJhY3RlcnMuIChFLmcuLCBpZiBvbmUgb2YgdGhvc2UgY2hhcmFjdGVy cyBpcyBhIGNvbW1vbiBjaGFyYWN0ZXIKPiAtKyoqIGluIGZpbGUvZGlyZWN0b3J5IG5hbWVzLikg UHJvYmFibHkgeW91IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0aGVtLgo+IC0rKi8KPiAtKyNkZWZp bmUgTFVBX1BBVEhTRVAJIjsiCj4gLSsjZGVmaW5lIExVQV9QQVRIX01BUksJIj8iCj4gLSsjZGVm aW5lIExVQV9FWEVDRElSCSIhIgo+IC0rI2RlZmluZSBMVUFfSUdNQVJLCSItIgo+IC0rCj4gLSsK PiAtKy8qCj4gLStAQCBMVUFfSU5URUdFUiBpcyB0aGUgaW50ZWdyYWwgdHlwZSB1c2VkIGJ5IGx1 YV9wdXNoaW50ZWdlci9sdWFfdG9pbnRlZ2VyLgo+IC0rKiogQ0hBTkdFIHRoYXQgaWYgcHRyZGlm Zl90IGlzIG5vdCBhZGVxdWF0ZSBvbiB5b3VyIG1hY2hpbmUuIChPbiBtb3N0Cj4gLSsqKiBtYWNo aW5lcywgcHRyZGlmZl90IGdpdmVzIGEgZ29vZCBjaG9pY2UgYmV0d2VlbiBpbnQgb3IgbG9uZy4p Cj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfSU5URUdFUglwdHJkaWZmX3QKPiAtKwo+IC0rCj4gLSsv Kgo+IC0rQEAgTFVBX0FQSSBpcyBhIG1hcmsgZm9yIGFsbCBjb3JlIEFQSSBmdW5jdGlvbnMuCj4g LStAQCBMVUFMSUJfQVBJIGlzIGEgbWFyayBmb3IgYWxsIHN0YW5kYXJkIGxpYnJhcnkgZnVuY3Rp b25zLgo+IC0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IG5lZWQgdG8gZGVmaW5lIHRob3NlIGZ1bmN0 aW9ucyBpbiBzb21lIHNwZWNpYWwgd2F5Lgo+IC0rKiogRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2Fu dCB0byBjcmVhdGUgb25lIFdpbmRvd3MgRExMIHdpdGggdGhlIGNvcmUgYW5kCj4gLSsqKiB0aGUg bGlicmFyaWVzLCB5b3UgbWF5IHdhbnQgdG8gdXNlIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbiAo ZGVmaW5lCj4gLSsqKiBMVUFfQlVJTERfQVNfRExMIHRvIGdldCBpdCkuCj4gLSsqLwo+IC0rI2lm IGRlZmluZWQoTFVBX0JVSUxEX0FTX0RMTCkKPiAtKwo+IC0rI2lmIGRlZmluZWQoTFVBX0NPUkUp IHx8IGRlZmluZWQoTFVBX0xJQikKPiAtKyNkZWZpbmUgTFVBX0FQSSBfX2RlY2xzcGVjKGRsbGV4 cG9ydCkKPiAtKyNlbHNlCj4gLSsjZGVmaW5lIExVQV9BUEkgX19kZWNsc3BlYyhkbGxpbXBvcnQp Cj4gLSsjZW5kaWYKPiAtKwo+IC0rI2Vsc2UKPiAtKwo+IC0rI2RlZmluZSBMVUFfQVBJCQlleHRl cm4KPiAtKwo+IC0rI2VuZGlmCj4gLSsKPiAtKy8qIG1vcmUgb2Z0ZW4gdGhhbiBub3QgdGhlIGxp YnMgZ28gdG9nZXRoZXIgd2l0aCB0aGUgY29yZSAqLwo+IC0rI2RlZmluZSBMVUFMSUJfQVBJCUxV QV9BUEkKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBSV9GVU5DIGlzIGEgbWFyayBmb3IgYWxs IGV4dGVybiBmdW5jdGlvbnMgdGhhdCBhcmUgbm90IHRvIGJlCj4gLStAKiBleHBvcnRlZCB0byBv dXRzaWRlIG1vZHVsZXMuCj4gLStAQCBMVUFJX0RBVEEgaXMgYSBtYXJrIGZvciBhbGwgZXh0ZXJu IChjb25zdCkgdmFyaWFibGVzIHRoYXQgYXJlIG5vdCB0bwo+IC0rQCogYmUgZXhwb3J0ZWQgdG8g b3V0c2lkZSBtb2R1bGVzLgo+IC0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IG5lZWQgdG8gbWFyayB0 aGVtIGluIHNvbWUgc3BlY2lhbCB3YXkuIEVsZi9nY2MKPiAtKyoqICh2ZXJzaW9ucyAzLjIgYW5k IGxhdGVyKSBtYXJrIHRoZW0gYXMgImhpZGRlbiIgdG8gb3B0aW1pemUgYWNjZXNzCj4gLSsqKiB3 aGVuIEx1YSBpcyBjb21waWxlZCBhcyBhIHNoYXJlZCBsaWJyYXJ5Lgo+IC0rKi8KPiAtKyNpZiBk ZWZpbmVkKGx1YWFsbF9jKQo+IC0rI2RlZmluZSBMVUFJX0ZVTkMJc3RhdGljCj4gLSsjZGVmaW5l IExVQUlfREFUQQkvKiBlbXB0eSAqLwo+IC0rCj4gLSsjZWxpZiBkZWZpbmVkKF9fR05VQ19fKSAm JiAoKF9fR05VQ19fKjEwMCArIF9fR05VQ19NSU5PUl9fKSA+PSAzMDIpICYmIFwKPiAtKyAgICAg IGRlZmluZWQoX19FTEZfXykKPiAtKyNkZWZpbmUgTFVBSV9GVU5DCV9fYXR0cmlidXRlX18oKHZp c2liaWxpdHkoImhpZGRlbiIpKSkgZXh0ZXJuCj4gLSsjZGVmaW5lIExVQUlfREFUQQlMVUFJX0ZV TkMKPiAtKwo+IC0rI2Vsc2UKPiAtKyNkZWZpbmUgTFVBSV9GVU5DCWV4dGVybgo+IC0rI2RlZmlu ZSBMVUFJX0RBVEEJZXh0ZXJuCj4gLSsjZW5kaWYKPiAtKwo+IC0rCj4gLSsKPiAtKy8qCj4gLStA QCBMVUFfUUwgZGVzY3JpYmVzIGhvdyBlcnJvciBtZXNzYWdlcyBxdW90ZSBwcm9ncmFtIGVsZW1l bnRzLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IGEgZGlmZmVyZW50IGFwcGVhcmFuY2Uu Cj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfUUwoeCkJIiciIHggIiciCj4gLSsjZGVmaW5lIExVQV9R UwkJTFVBX1FMKCIlcyIpCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQV9JRFNJWkUgZ2l2ZXMg dGhlIG1heGltdW0gc2l6ZSBmb3IgdGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBzb3VyY2UKPiAtK0Aq IG9mIGEgZnVuY3Rpb24gaW4gZGVidWcgaW5mb3JtYXRpb24uCj4gLSsqKiBDSEFOR0UgaXQgaWYg eW91IHdhbnQgYSBkaWZmZXJlbnQgc2l6ZS4KPiAtKyovCj4gLSsjZGVmaW5lIExVQV9JRFNJWkUJ NjAKPiAtKwo+IC0rCj4gLSsvKgo+IC0rKiogez09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0rKiogU3RhbmQtYWxvbmUg Y29uZmlndXJhdGlvbgo+IC0rKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0rKi8KPiAtKwo+IC0rI2lmIGRlZmlu ZWQobHVhX2MpIHx8IGRlZmluZWQobHVhYWxsX2MpCj4gLSsKPiAtKy8qCj4gLStAQCBsdWFfc3Rk aW5faXNfdHR5IGRldGVjdHMgd2hldGhlciB0aGUgc3RhbmRhcmQgaW5wdXQgaXMgYSAndHR5JyAo dGhhdAo+IC0rQCogaXMsIHdoZXRoZXIgd2UncmUgcnVubmluZyBsdWEgaW50ZXJhY3RpdmVseSku Cj4gLSsqKiBDSEFOR0UgaXQgaWYgeW91IGhhdmUgYSBiZXR0ZXIgZGVmaW5pdGlvbiBmb3Igbm9u LVBPU0lYL25vbi1XaW5kb3dzCj4gLSsqKiBzeXN0ZW1zLgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVk KExVQV9VU0VfSVNBVFRZKQo+IC0rI2luY2x1ZGUgPHVuaXN0ZC5oPgo+IC0rI2RlZmluZSBsdWFf c3RkaW5faXNfdHR5KCkJaXNhdHR5KDApCj4gLSsjZWxpZiBkZWZpbmVkKExVQV9XSU4pCj4gLSsj aW5jbHVkZSA8aW8uaD4KPiAtKyNpbmNsdWRlIDxzdGRpby5oPgo+IC0rI2RlZmluZSBsdWFfc3Rk aW5faXNfdHR5KCkJX2lzYXR0eShfZmlsZW5vKHN0ZGluKSkKPiAtKyNlbHNlCj4gLSsjZGVmaW5l IGx1YV9zdGRpbl9pc190dHkoKQkxICAvKiBhc3N1bWUgc3RkaW4gaXMgYSB0dHkgKi8KPiAtKyNl bmRpZgo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfUFJPTVBUIGlzIHRoZSBkZWZhdWx0IHBy b21wdCB1c2VkIGJ5IHN0YW5kLWFsb25lIEx1YS4KPiAtK0BAIExVQV9QUk9NUFQyIGlzIHRoZSBk ZWZhdWx0IGNvbnRpbnVhdGlvbiBwcm9tcHQgdXNlZCBieSBzdGFuZC1hbG9uZSBMdWEuCj4gLSsq KiBDSEFOR0UgdGhlbSBpZiB5b3Ugd2FudCBkaWZmZXJlbnQgcHJvbXB0cy4gKFlvdSBjYW4gYWxz byBjaGFuZ2UgdGhlCj4gLSsqKiBwcm9tcHRzIGR5bmFtaWNhbGx5LCBhc3NpZ25pbmcgdG8gZ2xv YmFscyBfUFJPTVBUL19QUk9NUFQyLikKPiAtKyovCj4gLSsjZGVmaW5lIExVQV9QUk9NUFQJCSI+ ICIKPiAtKyNkZWZpbmUgTFVBX1BST01QVDIJCSI+PiAiCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BA IExVQV9QUk9HTkFNRSBpcyB0aGUgZGVmYXVsdCBuYW1lIGZvciB0aGUgc3RhbmQtYWxvbmUgTHVh IHByb2dyYW0uCj4gLSsqKiBDSEFOR0UgaXQgaWYgeW91ciBzdGFuZC1hbG9uZSBpbnRlcnByZXRl ciBoYXMgYSBkaWZmZXJlbnQgbmFtZSBhbmQKPiAtKyoqIHlvdXIgc3lzdGVtIGlzIG5vdCBhYmxl IHRvIGRldGVjdCB0aGF0IG5hbWUgYXV0b21hdGljYWxseS4KPiAtKyovCj4gLSsjZGVmaW5lIExV QV9QUk9HTkFNRQkJImx1YSIKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBX01BWElOUFVUIGlz IHRoZSBtYXhpbXVtIGxlbmd0aCBmb3IgYW4gaW5wdXQgbGluZSBpbiB0aGUKPiAtK0AqIHN0YW5k LWFsb25lIGludGVycHJldGVyLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSBuZWVkIGxvbmdlciBs aW5lcy4KPiAtKyovCj4gLSsjZGVmaW5lIExVQV9NQVhJTlBVVAk1MTIKPiAtKwo+IC0rCj4gLSsv Kgo+IC0rQEAgbHVhX3JlYWRsaW5lIGRlZmluZXMgaG93IHRvIHNob3cgYSBwcm9tcHQgYW5kIHRo ZW4gcmVhZCBhIGxpbmUgZnJvbQo+IC0rQCogdGhlIHN0YW5kYXJkIGlucHV0Lgo+IC0rQEAgbHVh X3NhdmVsaW5lIGRlZmluZXMgaG93IHRvICJzYXZlIiBhIHJlYWQgbGluZSBpbiBhICJoaXN0b3J5 Ii4KPiAtK0BAIGx1YV9mcmVlbGluZSBkZWZpbmVzIGhvdyB0byBmcmVlIGEgbGluZSByZWFkIGJ5 IGx1YV9yZWFkbGluZS4KPiAtKyoqIENIQU5HRSB0aGVtIGlmIHlvdSB3YW50IHRvIGltcHJvdmUg dGhpcyBmdW5jdGlvbmFsaXR5IChlLmcuLCBieSB1c2luZwo+IC0rKiogR05VIHJlYWRsaW5lIGFu ZCBoaXN0b3J5IGZhY2lsaXRpZXMpLgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKExVQV9VU0VfUkVB RExJTkUpCj4gLSsjaW5jbHVkZSA8c3RkaW8uaD4KPiAtKyNpbmNsdWRlIDxyZWFkbGluZS9yZWFk bGluZS5oPgo+IC0rI2luY2x1ZGUgPHJlYWRsaW5lL2hpc3RvcnkuaD4KPiAtKyNkZWZpbmUgbHVh X3JlYWRsaW5lKEwsYixwKQkoKHZvaWQpTCwgKChiKT1yZWFkbGluZShwKSkgIT0gTlVMTCkKPiAt KyNkZWZpbmUgbHVhX3NhdmVsaW5lKEwsaWR4KSBcCj4gLSsJaWYgKGx1YV9zdHJsZW4oTCxpZHgp ID4gMCkgIC8qIG5vbi1lbXB0eSBsaW5lPyAqLyBcCj4gLSsJICBhZGRfaGlzdG9yeShsdWFfdG9z dHJpbmcoTCwgaWR4KSk7ICAvKiBhZGQgaXQgdG8gaGlzdG9yeSAqLwo+IC0rI2RlZmluZSBsdWFf ZnJlZWxpbmUoTCxiKQkoKHZvaWQpTCwgZnJlZShiKSkKPiAtKyNlbHNlCj4gLSsjZGVmaW5lIGx1 YV9yZWFkbGluZShMLGIscCkJXAo+IC0rCSgodm9pZClMLCBmcHV0cyhwLCBzdGRvdXQpLCBmZmx1 c2goc3Rkb3V0KSwgIC8qIHNob3cgcHJvbXB0ICovIFwKPiAtKwlmZ2V0cyhiLCBMVUFfTUFYSU5Q VVQsIHN0ZGluKSAhPSBOVUxMKSAgLyogZ2V0IGxpbmUgKi8KPiAtKyNkZWZpbmUgbHVhX3NhdmVs aW5lKEwsaWR4KQl7ICh2b2lkKUw7ICh2b2lkKWlkeDsgfQo+IC0rI2RlZmluZSBsdWFfZnJlZWxp bmUoTCxiKQl7ICh2b2lkKUw7ICh2b2lkKWI7IH0KPiAtKyNlbmRpZgo+IC0rCj4gLSsjZW5kaWYK PiAtKwo+IC0rLyogfT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PSAqLwo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFJX0dD UEFVU0UgZGVmaW5lcyB0aGUgZGVmYXVsdCBwYXVzZSBiZXR3ZWVuIGdhcmJhZ2UtY29sbGVjdG9y IGN5Y2xlcwo+IC0rQCogYXMgYSBwZXJjZW50YWdlLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSB3 YW50IHRoZSBHQyB0byBydW4gZmFzdGVyIG9yIHNsb3dlciAoaGlnaGVyIHZhbHVlcwo+IC0rKiog bWVhbiBsYXJnZXIgcGF1c2VzIHdoaWNoIG1lYW4gc2xvd2VyIGNvbGxlY3Rpb24uKSBZb3UgY2Fu IGFsc28gY2hhbmdlCj4gLSsqKiB0aGlzIHZhbHVlIGR5bmFtaWNhbGx5Lgo+IC0rKi8KPiAtKyNk ZWZpbmUgTFVBSV9HQ1BBVVNFCTIwMCAgLyogMjAwJSAod2FpdCBtZW1vcnkgdG8gZG91YmxlIGJl Zm9yZSBuZXh0IEdDKSAqLwo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFJX0dDTVVMIGRlZmlu ZXMgdGhlIGRlZmF1bHQgc3BlZWQgb2YgZ2FyYmFnZSBjb2xsZWN0aW9uIHJlbGF0aXZlIHRvCj4g LStAKiBtZW1vcnkgYWxsb2NhdGlvbiBhcyBhIHBlcmNlbnRhZ2UuCj4gLSsqKiBDSEFOR0UgaXQg aWYgeW91IHdhbnQgdG8gY2hhbmdlIHRoZSBncmFudWxhcml0eSBvZiB0aGUgZ2FyYmFnZQo+IC0r KiogY29sbGVjdGlvbi4gKEhpZ2hlciB2YWx1ZXMgbWVhbiBjb2Fyc2VyIGNvbGxlY3Rpb25zLiAw IHJlcHJlc2VudHMKPiAtKyoqIGluZmluaXR5LCB3aGVyZSBlYWNoIHN0ZXAgcGVyZm9ybXMgYSBm dWxsIGNvbGxlY3Rpb24uKSBZb3UgY2FuIGFsc28KPiAtKyoqIGNoYW5nZSB0aGlzIHZhbHVlIGR5 bmFtaWNhbGx5Lgo+IC0rKi8KPiAtKyNkZWZpbmUgTFVBSV9HQ01VTAkyMDAgLyogR0MgcnVucyAn dHdpY2UgdGhlIHNwZWVkJyBvZiBtZW1vcnkgYWxsb2NhdGlvbiAqLwo+IC0rCj4gLSsKPiAtKwo+ IC0rLyoKPiAtK0BAIExVQV9DT01QQVRfR0VUTiBjb250cm9scyBjb21wYXRpYmlsaXR5IHdpdGgg b2xkIGdldG4gYmVoYXZpb3IuCj4gLSsqKiBDSEFOR0UgaXQgKGRlZmluZSBpdCkgaWYgeW91IHdh bnQgZXhhY3QgY29tcGF0aWJpbGl0eSB3aXRoIHRoZQo+IC0rKiogYmVoYXZpb3Igb2Ygc2V0bi9n ZXRuIGluIEx1YSA1LjAuCj4gLSsqLwo+IC0rI3VuZGVmIExVQV9DT01QQVRfR0VUTgo+IC0rCj4g LSsvKgo+IC0rQEAgTFVBX0NPTVBBVF9MT0FETElCIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgYWJv dXQgZ2xvYmFsIGxvYWRsaWIuCj4gLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24g YXMgeW91IGRvIG5vdCBuZWVkIGEgZ2xvYmFsICdsb2FkbGliJwo+IC0rKiogZnVuY3Rpb24gKHRo ZSBmdW5jdGlvbiBpcyBzdGlsbCBhdmFpbGFibGUgYXMgJ3BhY2thZ2UubG9hZGxpYicpLgo+IC0r Ki8KPiAtKyN1bmRlZiBMVUFfQ09NUEFUX0xPQURMSUIKPiAtKwo+IC0rLyoKPiAtK0BAIExVQV9D T01QQVRfVkFSQVJHIGNvbnRyb2xzIGNvbXBhdGliaWxpdHkgd2l0aCBvbGQgdmFyYXJnIGZlYXR1 cmUuCj4gLSsqKiBDSEFOR0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91ciBwcm9ncmFt cyB1c2Ugb25seSAnLi4uJyB0bwo+IC0rKiogYWNjZXNzIHZhcmFyZyBwYXJhbWV0ZXJzIChpbnN0 ZWFkIG9mIHRoZSBvbGQgJ2FyZycgdGFibGUpLgo+IC0rKi8KPiAtKyNkZWZpbmUgTFVBX0NPTVBB VF9WQVJBUkcKPiAtKwo+IC0rLyoKPiAtK0BAIExVQV9DT01QQVRfTU9EIGNvbnRyb2xzIGNvbXBh dGliaWxpdHkgd2l0aCBvbGQgbWF0aC5tb2QgZnVuY3Rpb24uCj4gLSsqKiBDSEFOR0UgaXQgdG8g dW5kZWZpbmVkIGFzIHNvb24gYXMgeW91ciBwcm9ncmFtcyB1c2UgJ21hdGguZm1vZCcgb3IKPiAt KyoqIHRoZSBuZXcgJyUnIG9wZXJhdG9yIGluc3RlYWQgb2YgJ21hdGgubW9kJy4KPiAtKyovCj4g LSsjZGVmaW5lIExVQV9DT01QQVRfTU9ECj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfQ09NUEFUX0xT VFIgY29udHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIG9sZCBsb25nIHN0cmluZyBuZXN0aW5nCj4g LStAKiBmYWNpbGl0eS4KPiAtKyoqIENIQU5HRSBpdCB0byAyIGlmIHlvdSB3YW50IHRoZSBvbGQg YmVoYXZpb3VyLCBvciB1bmRlZmluZSBpdCB0byB0dXJuCj4gLSsqKiBvZmYgdGhlIGFkdmlzb3J5 IGVycm9yIHdoZW4gbmVzdGluZyBbWy4uLl1dLgo+IC0rKi8KPiAtKyNkZWZpbmUgTFVBX0NPTVBB VF9MU1RSCQkxCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfQ09NUEFUX0dGSU5EIGNvbnRyb2xzIGNv bXBhdGliaWxpdHkgd2l0aCBvbGQgJ3N0cmluZy5nZmluZCcgbmFtZS4KPiAtKyoqIENIQU5HRSBp dCB0byB1bmRlZmluZWQgYXMgc29vbiBhcyB5b3UgcmVuYW1lICdzdHJpbmcuZ2ZpbmQnIHRvCj4g LSsqKiAnc3RyaW5nLmdtYXRjaCcuCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFfQ09NUEFUX0dGSU5E Cj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfQ09NUEFUX09QRU5MSUIgY29udHJvbHMgY29tcGF0aWJp bGl0eSB3aXRoIG9sZCAnbHVhTF9vcGVubGliJwo+IC0rQCogYmVoYXZpb3IuCj4gLSsqKiBDSEFO R0UgaXQgdG8gdW5kZWZpbmVkIGFzIHNvb24gYXMgeW91IHJlcGxhY2UgdG8gJ2x1YUxfcmVnaXN0 ZXInCj4gLSsqKiB5b3VyIHVzZXMgb2YgJ2x1YUxfb3BlbmxpYicKPiAtKyovCj4gLSsjZGVmaW5l IExVQV9DT01QQVRfT1BFTkxJQgo+IC0rCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIGx1YWlfYXBp Y2hlY2sgaXMgdGhlIGFzc2VydCBtYWNybyB1c2VkIGJ5IHRoZSBMdWEtQyBBUEkuCj4gLSsqKiBD SEFOR0UgbHVhaV9hcGljaGVjayBpZiB5b3Ugd2FudCBMdWEgdG8gcGVyZm9ybSBzb21lIGNoZWNr cyBpbiB0aGUKPiAtKyoqIHBhcmFtZXRlcnMgaXQgZ2V0cyBmcm9tIEFQSSBjYWxscy4gVGhpcyBt YXkgc2xvdyBkb3duIHRoZSBpbnRlcnByZXRlcgo+IC0rKiogYSBiaXQsIGJ1dCBtYXkgYmUgcXVp dGUgdXNlZnVsIHdoZW4gZGVidWdnaW5nIEMgY29kZSB0aGF0IGludGVyZmFjZXMKPiAtKyoqIHdp dGggTHVhLiBBIHVzZWZ1bCByZWRlZmluaXRpb24gaXMgdG8gdXNlIGFzc2VydC5oLgo+IC0rKi8K PiAtKyNpZiBkZWZpbmVkKExVQV9VU0VfQVBJQ0hFQ0spCj4gLSsjaW5jbHVkZSA8YXNzZXJ0Lmg+ Cj4gLSsjZGVmaW5lIGx1YWlfYXBpY2hlY2soTCxvKQl7ICh2b2lkKUw7IGFzc2VydChvKTsgfQo+ IC0rI2Vsc2UKPiAtKyNkZWZpbmUgbHVhaV9hcGljaGVjayhMLG8pCXsgKHZvaWQpTDsgfQo+IC0r I2VuZGlmCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQUlfQklUU0lOVCBkZWZpbmVzIHRoZSBu dW1iZXIgb2YgYml0cyBpbiBhbiBpbnQuCj4gLSsqKiBDSEFOR0UgaGVyZSBpZiBMdWEgY2Fubm90 IGF1dG9tYXRpY2FsbHkgZGV0ZWN0IHRoZSBudW1iZXIgb2YgYml0cyBvZgo+IC0rKiogeW91ciBt YWNoaW5lLiBQcm9iYWJseSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMuCj4gLSsqLwo+ IC0rLyogYXZvaWQgb3ZlcmZsb3dzIGluIGNvbXBhcmlzb24gKi8KPiAtKyNpZiBJTlRfTUFYLTIw IDwgMzI3NjAKPiAtKyNkZWZpbmUgTFVBSV9CSVRTSU5UCTE2Cj4gLSsjZWxpZiBJTlRfTUFYID4g MjE0NzQ4MzY0MEwKPiAtKy8qIGludCBoYXMgYXQgbGVhc3QgMzIgYml0cyAqLwo+IC0rI2RlZmlu ZSBMVUFJX0JJVFNJTlQJMzIKPiAtKyNlbHNlCj4gLSsjZXJyb3IgInlvdSBtdXN0IGRlZmluZSBM VUFfQklUU0lOVCB3aXRoIG51bWJlciBvZiBiaXRzIGluIGFuIGludGVnZXIiCj4gLSsjZW5kaWYK PiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBSV9VSU5UMzIgaXMgYW4gdW5zaWduZWQgaW50ZWdl ciB3aXRoIGF0IGxlYXN0IDMyIGJpdHMuCj4gLStAQCBMVUFJX0lOVDMyIGlzIGFuIHNpZ25lZCBp bnRlZ2VyIHdpdGggYXQgbGVhc3QgMzIgYml0cy4KPiAtK0BAIExVQUlfVU1FTSBpcyBhbiB1bnNp Z25lZCBpbnRlZ2VyIGJpZyBlbm91Z2ggdG8gY291bnQgdGhlIHRvdGFsCj4gLStAKiBtZW1vcnkg dXNlZCBieSBMdWEuCj4gLStAQCBMVUFJX01FTSBpcyBhIHNpZ25lZCBpbnRlZ2VyIGJpZyBlbm91 Z2ggdG8gY291bnQgdGhlIHRvdGFsIG1lbW9yeQo+IC0rQCogdXNlZCBieSBMdWEuCj4gLSsqKiBD SEFOR0UgaGVyZSBpZiBmb3Igc29tZSB3ZWlyZCByZWFzb24gdGhlIGRlZmF1bHQgZGVmaW5pdGlv bnMgYXJlIG5vdAo+IC0rKiogZ29vZCBlbm91Z2ggZm9yIHlvdXIgbWFjaGluZS4gKFRoZSBkZWZp bml0aW9ucyBpbiB0aGUgJ2Vsc2UnCj4gLSsqKiBwYXJ0IGFsd2F5cyB3b3JrcywgYnV0IG1heSB3 YXN0ZSBzcGFjZSBvbiBtYWNoaW5lcyB3aXRoIDY0LWJpdAo+IC0rKiogbG9uZ3MuKSBQcm9iYWJs eSB5b3UgZG8gbm90IG5lZWQgdG8gY2hhbmdlIHRoaXMuCj4gLSsqLwo+IC0rI2lmIExVQUlfQklU U0lOVCA+PSAzMgo+IC0rI2RlZmluZSBMVUFJX1VJTlQzMgl1bnNpZ25lZCBpbnQKPiAtKyNkZWZp bmUgTFVBSV9JTlQzMglpbnQKPiAtKyNkZWZpbmUgTFVBSV9NQVhJTlQzMglJTlRfTUFYCj4gLSsj ZGVmaW5lIExVQUlfVU1FTQlzaXplX3QKPiAtKyNkZWZpbmUgTFVBSV9NRU0JcHRyZGlmZl90Cj4g LSsjZWxzZQo+IC0rLyogMTYtYml0IGludHMgKi8KPiAtKyNkZWZpbmUgTFVBSV9VSU5UMzIJdW5z aWduZWQgbG9uZwo+IC0rI2RlZmluZSBMVUFJX0lOVDMyCWxvbmcKPiAtKyNkZWZpbmUgTFVBSV9N QVhJTlQzMglMT05HX01BWAo+IC0rI2RlZmluZSBMVUFJX1VNRU0JdW5zaWduZWQgbG9uZwo+IC0r I2RlZmluZSBMVUFJX01FTQlsb25nCj4gLSsjZW5kaWYKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAg TFVBSV9NQVhDQUxMUyBsaW1pdHMgdGhlIG51bWJlciBvZiBuZXN0ZWQgY2FsbHMuCj4gLSsqKiBD SEFOR0UgaXQgaWYgeW91IG5lZWQgcmVhbGx5IGRlZXAgcmVjdXJzaXZlIGNhbGxzLiBUaGlzIGxp bWl0IGlzCj4gLSsqKiBhcmJpdHJhcnk7IGl0cyBvbmx5IHB1cnBvc2UgaXMgdG8gc3RvcCBpbmZp bml0ZSByZWN1cnNpb24gYmVmb3JlCj4gLSsqKiBleGhhdXN0aW5nIG1lbW9yeS4KPiAtKyovCj4g LSsjZGVmaW5lIExVQUlfTUFYQ0FMTFMJMjAwMDAKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVB SV9NQVhDU1RBQ0sgbGltaXRzIHRoZSBudW1iZXIgb2YgTHVhIHN0YWNrIHNsb3RzIHRoYXQgYSBD IGZ1bmN0aW9uCj4gLStAKiBjYW4gdXNlLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSBuZWVkIGxv dHMgb2YgKEx1YSkgc3RhY2sgc3BhY2UgZm9yIHlvdXIgQwo+IC0rKiogZnVuY3Rpb25zLiBUaGlz IGxpbWl0IGlzIGFyYml0cmFyeTsgaXRzIG9ubHkgcHVycG9zZSBpcyB0byBzdG9wIEMKPiAtKyoq IGZ1bmN0aW9ucyB0byBjb25zdW1lIHVubGltaXRlZCBzdGFjayBzcGFjZS4KPiAtKyovCj4gLSsj ZGVmaW5lIExVQUlfTUFYQ1NUQUNLCTIwNDgKPiAtKwo+IC0rCj4gLSsKPiAtKy8qCj4gLSsqKiB7 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Cj4gLSsqKiBDSEFOR0UgKHRvIHNtYWxsZXIgdmFsdWVzKSB0aGUgZm9sbG93aW5n IGRlZmluaXRpb25zIGlmIHlvdXIgc3lzdGVtCj4gLSsqKiBoYXMgYSBzbWFsbCBDIHN0YWNrLiAo T3IgeW91IG1heSB3YW50IHRvIGNoYW5nZSB0aGVtIHRvIGxhcmdlcgo+IC0rKiogdmFsdWVzIGlm IHlvdXIgc3lzdGVtIGhhcyBhIGxhcmdlIEMgc3RhY2sgYW5kIHRoZXNlIGxpbWl0cyBhcmUKPiAt KyoqIHRvbyByaWdpZCBmb3IgeW91LikgU29tZSBvZiB0aGVzZSBjb25zdGFudHMgY29udHJvbCB0 aGUgc2l6ZSBvZgo+IC0rKiogc3RhY2stYWxsb2NhdGVkIGFycmF5cyB1c2VkIGJ5IHRoZSBjb21w aWxlciBvciB0aGUgaW50ZXJwcmV0ZXIsIHdoaWxlCj4gLSsqKiBvdGhlcnMgbGltaXQgdGhlIG1h eGltdW0gbnVtYmVyIG9mIHJlY3Vyc2l2ZSBjYWxscyB0aGF0IHRoZSBjb21waWxlcgo+IC0rKiog b3IgdGhlIGludGVycHJldGVyIGNhbiBwZXJmb3JtLiBWYWx1ZXMgdG9vIGxhcmdlIG1heSBjYXVz ZSBhIEMgc3RhY2sKPiAtKyoqIG92ZXJmbG93IGZvciBzb21lIGZvcm1zIG9mIGRlZXAgY29uc3Ry dWN0cy4KPiAtKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT0KPiAtKyovCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExV QUlfTUFYQ0NBTExTIGlzIHRoZSBtYXhpbXVtIGRlcHRoIGZvciBuZXN0ZWQgQyBjYWxscyAoc2hv cnQpIGFuZAo+IC0rQCogc3ludGFjdGljYWwgbmVzdGVkIG5vbi10ZXJtaW5hbHMgaW4gYSBwcm9n cmFtLgo+IC0rKi8KPiAtKyNkZWZpbmUgTFVBSV9NQVhDQ0FMTFMJCTIwMAo+IC0rCj4gLSsKPiAt Ky8qCj4gLStAQCBMVUFJX01BWFZBUlMgaXMgdGhlIG1heGltdW0gbnVtYmVyIG9mIGxvY2FsIHZh cmlhYmxlcyBwZXIgZnVuY3Rpb24KPiAtK0AqIChtdXN0IGJlIHNtYWxsZXIgdGhhbiAyNTApLgo+ IC0rKi8KPiAtKyNkZWZpbmUgTFVBSV9NQVhWQVJTCQkyMDAKPiAtKwo+IC0rCj4gLSsvKgo+IC0r QEAgTFVBSV9NQVhVUFZBTFVFUyBpcyB0aGUgbWF4aW11bSBudW1iZXIgb2YgdXB2YWx1ZXMgcGVy IGZ1bmN0aW9uCj4gLStAKiAobXVzdCBiZSBzbWFsbGVyIHRoYW4gMjUwKS4KPiAtKyovCj4gLSsj ZGVmaW5lIExVQUlfTUFYVVBWQUxVRVMJNjAKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgTFVBTF9C VUZGRVJTSVpFIGlzIHRoZSBidWZmZXIgc2l6ZSB1c2VkIGJ5IHRoZSBsYXV4bGliIGJ1ZmZlciBz eXN0ZW0uCj4gLSsqLwo+IC0rI2RlZmluZSBMVUFMX0JVRkZFUlNJWkUJCUJVRlNJWgo+IC0rCj4g LSsvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ICovCj4gLSsKPiAtKwo+IC0rCj4gLSsKPiAtKy8qCj4gLSsqKiB7PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09Cj4gLStAQCBMVUFfTlVNQkVSIGlzIHRoZSB0eXBlIG9mIG51bWJlcnMgaW4gTHVhLgo+ IC0rKiogQ0hBTkdFIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbnMgb25seSBpZiB5b3Ugd2FudCB0 byBidWlsZCBMdWEKPiAtKyoqIHdpdGggYSBudW1iZXIgdHlwZSBkaWZmZXJlbnQgZnJvbSBkb3Vi bGUuIFlvdSBtYXkgYWxzbyBuZWVkIHRvCj4gLSsqKiBjaGFuZ2UgbHVhX251bWJlcjJpbnQgJiBs dWFfbnVtYmVyMmludGVnZXIuCj4gLSsqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gLSsqLwo+IC0rCj4gLSsjZGVm aW5lIExVQV9OVU1CRVJfRE9VQkxFCj4gLSsjZGVmaW5lIExVQV9OVU1CRVIJZG91YmxlCj4gLSsK PiAtKy8qCj4gLStAQCBMVUFJX1VBQ05VTUJFUiBpcyB0aGUgcmVzdWx0IG9mIGFuICd1c3VhbCBh cmd1bWVudCBjb252ZXJzaW9uJwo+IC0rQCogb3ZlciBhIG51bWJlci4KPiAtKyovCj4gLSsjZGVm aW5lIExVQUlfVUFDTlVNQkVSCWRvdWJsZQo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfTlVN QkVSX1NDQU4gaXMgdGhlIGZvcm1hdCBmb3IgcmVhZGluZyBudW1iZXJzLgo+IC0rQEAgTFVBX05V TUJFUl9GTVQgaXMgdGhlIGZvcm1hdCBmb3Igd3JpdGluZyBudW1iZXJzLgo+IC0rQEAgbHVhX251 bWJlcjJzdHIgY29udmVydHMgYSBudW1iZXIgdG8gYSBzdHJpbmcuCj4gLStAQCBMVUFJX01BWE5V TUJFUjJTVFIgaXMgbWF4aW11bSBzaXplIG9mIHByZXZpb3VzIGNvbnZlcnNpb24uCj4gLStAQCBs dWFfc3RyMm51bWJlciBjb252ZXJ0cyBhIHN0cmluZyB0byBhIG51bWJlci4KPiAtKyovCj4gLSsj ZGVmaW5lIExVQV9OVU1CRVJfU0NBTgkJIiVsZiIKPiAtKyNkZWZpbmUgTFVBX05VTUJFUl9GTVQJ CSIlLjE0ZyIKPiAtKyNkZWZpbmUgbHVhX251bWJlcjJzdHIocyxuKQlzcHJpbnRmKChzKSwgTFVB X05VTUJFUl9GTVQsIChuKSkKPiAtKyNkZWZpbmUgTFVBSV9NQVhOVU1CRVIyU1RSCTMyIC8qIDE2 IGRpZ2l0cywgc2lnbiwgcG9pbnQsIGFuZCBcMCAqLwo+IC0rI2RlZmluZSBsdWFfc3RyMm51bWJl cihzLHApCXN0cnRvZCgocyksIChwKSkKPiAtKwo+IC0rCj4gLSsvKgo+IC0rQEAgVGhlIGx1YWlf bnVtKiBtYWNyb3MgZGVmaW5lIHRoZSBwcmltaXRpdmUgb3BlcmF0aW9ucyBvdmVyIG51bWJlcnMu Cj4gLSsqLwo+IC0rI2lmIGRlZmluZWQoTFVBX0NPUkUpCj4gLSsjaW5jbHVkZSA8bWF0aC5oPgo+ IC0rI2RlZmluZSBsdWFpX251bWFkZChhLGIpCSgoYSkrKGIpKQo+IC0rI2RlZmluZSBsdWFpX251 bXN1YihhLGIpCSgoYSktKGIpKQo+IC0rI2RlZmluZSBsdWFpX251bW11bChhLGIpCSgoYSkqKGIp KQo+IC0rI2RlZmluZSBsdWFpX251bWRpdihhLGIpCSgoYSkvKGIpKQo+IC0rI2RlZmluZSBsdWFp X251bW1vZChhLGIpCSgoYSkgLSBmbG9vcigoYSkvKGIpKSooYikpCj4gLSsjZGVmaW5lIGx1YWlf bnVtcG93KGEsYikJKHBvdyhhLGIpKQo+IC0rI2RlZmluZSBsdWFpX251bXVubShhKQkJKC0oYSkp Cj4gLSsjZGVmaW5lIGx1YWlfbnVtZXEoYSxiKQkJKChhKT09KGIpKQo+IC0rI2RlZmluZSBsdWFp X251bWx0KGEsYikJCSgoYSk8KGIpKQo+IC0rI2RlZmluZSBsdWFpX251bWxlKGEsYikJCSgoYSk8 PShiKSkKPiAtKyNkZWZpbmUgbHVhaV9udW1pc25hbihhKQkoIWx1YWlfbnVtZXEoKGEpLCAoYSkp KQo+IC0rI2VuZGlmCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIGx1YV9udW1iZXIyaW50IGlzIGEg bWFjcm8gdG8gY29udmVydCBsdWFfTnVtYmVyIHRvIGludC4KPiAtK0BAIGx1YV9udW1iZXIyaW50 ZWdlciBpcyBhIG1hY3JvIHRvIGNvbnZlcnQgbHVhX051bWJlciB0byBsdWFfSW50ZWdlci4KPiAt KyoqIENIQU5HRSB0aGVtIGlmIHlvdSBrbm93IGEgZmFzdGVyIHdheSB0byBjb252ZXJ0IGEgbHVh X051bWJlciB0bwo+IC0rKiogaW50ICh3aXRoIGFueSByb3VuZGluZyBtZXRob2QgYW5kIHdpdGhv dXQgdGhyb3dpbmcgZXJyb3JzKSBpbiB5b3VyCj4gLSsqKiBzeXN0ZW0uIEluIFBlbnRpdW0gbWFj aGluZXMsIGEgbmFpdmUgdHlwZWNhc3QgZnJvbSBkb3VibGUgdG8gaW50Cj4gLSsqKiBpbiBDIGlz IGV4dHJlbWVseSBzbG93LCBzbyBhbnkgYWx0ZXJuYXRpdmUgaXMgd29ydGggdHJ5aW5nLgo+IC0r Ki8KPiAtKwo+IC0rLyogT24gYSBQZW50aXVtLCByZXNvcnQgdG8gYSB0cmljayAqLwo+IC0rI2lm IGRlZmluZWQoTFVBX05VTUJFUl9ET1VCTEUpICYmICFkZWZpbmVkKExVQV9BTlNJKSAmJiAhZGVm aW5lZChfX1NTRTJfXykgJiYgXAo+IC0rICAgIChkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZCAo X01fSVg4NikgfHwgZGVmaW5lZChfX2kzODZfXykpCj4gLSsKPiAtKy8qIE9uIGEgTWljcm9zb2Z0 IGNvbXBpbGVyLCB1c2UgYXNzZW1ibGVyICovCj4gLSsjaWYgZGVmaW5lZChfTVNDX1ZFUikKPiAt Kwo+IC0rI2RlZmluZSBsdWFfbnVtYmVyMmludChpLGQpICAgX19hc20gZmxkIGQgICBfX2FzbSBm aXN0cCBpCj4gLSsjZGVmaW5lIGx1YV9udW1iZXIyaW50ZWdlcihpLG4pCQlsdWFfbnVtYmVyMmlu dChpLCBuKQo+IC0rCj4gLSsvKiB0aGUgbmV4dCB0cmljayBzaG91bGQgd29yayBvbiBhbnkgUGVu dGl1bSwgYnV0IHNvbWV0aW1lcyBjbGFzaGVzCj4gLSsgICB3aXRoIGEgRGlyZWN0WCBpZGlvc3lu Y3Jhc3kgKi8KPiAtKyNlbHNlCj4gLSsKPiAtK3VuaW9uIGx1YWlfQ2FzdCB7IGRvdWJsZSBsX2Q7 IGxvbmcgbF9sOyB9Owo+IC0rI2RlZmluZSBsdWFfbnVtYmVyMmludChpLGQpIFwKPiAtKyAgeyB2 b2xhdGlsZSB1bmlvbiBsdWFpX0Nhc3QgdTsgdS5sX2QgPSAoZCkgKyA2NzU1Mzk5NDQxMDU1NzQ0 LjA7IChpKSA9IHUubF9sOyB9Cj4gLSsjZGVmaW5lIGx1YV9udW1iZXIyaW50ZWdlcihpLG4pCQls dWFfbnVtYmVyMmludChpLCBuKQo+IC0rCj4gLSsjZW5kaWYKPiAtKwo+IC0rCj4gLSsvKiB0aGlz IG9wdGlvbiBhbHdheXMgd29ya3MsIGJ1dCBtYXkgYmUgc2xvdyAqLwo+IC0rI2Vsc2UKPiAtKyNk ZWZpbmUgbHVhX251bWJlcjJpbnQoaSxkKQkoKGkpPShpbnQpKGQpKQo+IC0rI2RlZmluZSBsdWFf bnVtYmVyMmludGVnZXIoaSxkKQkoKGkpPShsdWFfSW50ZWdlcikoZCkpCj4gLSsKPiAtKyNlbmRp Zgo+IC0rCj4gLSsvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09ICovCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIExVQUlf VVNFUl9BTElHTk1FTlRfVCBpcyBhIHR5cGUgdGhhdCByZXF1aXJlcyBtYXhpbXVtIGFsaWdubWVu dC4KPiAtKyoqIENIQU5HRSBpdCBpZiB5b3VyIHN5c3RlbSByZXF1aXJlcyBhbGlnbm1lbnRzIGxh cmdlciB0aGFuIGRvdWJsZS4gKEZvcgo+IC0rKiogaW5zdGFuY2UsIGlmIHlvdXIgc3lzdGVtIHN1 cHBvcnRzIGxvbmcgZG91YmxlcyBhbmQgdGhleSBtdXN0IGJlCj4gLSsqKiBhbGlnbmVkIGluIDE2 LWJ5dGUgYm91bmRhcmllcywgdGhlbiB5b3Ugc2hvdWxkIGFkZCBsb25nIGRvdWJsZSBpbiB0aGUK PiAtKyoqIHVuaW9uLikgUHJvYmFibHkgeW91IGRvIG5vdCBuZWVkIHRvIGNoYW5nZSB0aGlzLgo+ IC0rKi8KPiAtKyNkZWZpbmUgTFVBSV9VU0VSX0FMSUdOTUVOVF9UCXVuaW9uIHsgZG91YmxlIHU7 IHZvaWQgKnM7IGxvbmcgbDsgfQo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFJX1RIUk9XL0xV QUlfVFJZIGRlZmluZSBob3cgTHVhIGRvZXMgZXhjZXB0aW9uIGhhbmRsaW5nLgo+IC0rKiogQ0hB TkdFIHRoZW0gaWYgeW91IHByZWZlciB0byB1c2UgbG9uZ2ptcC9zZXRqbXAgZXZlbiB3aXRoIEMr Kwo+IC0rKiogb3IgaWYgd2FudC9kb24ndCB0byB1c2UgX2xvbmdqbXAvX3NldGptcCBpbnN0ZWFk IG9mIHJlZ3VsYXIKPiAtKyoqIGxvbmdqbXAvc2V0am1wLiBCeSBkZWZhdWx0LCBMdWEgaGFuZGxl cyBlcnJvcnMgd2l0aCBleGNlcHRpb25zIHdoZW4KPiAtKyoqIGNvbXBpbGluZyBhcyBDKysgY29k ZSwgd2l0aCBfbG9uZ2ptcC9fc2V0am1wIHdoZW4gYXNrZWQgdG8gdXNlIHRoZW0sCj4gLSsqKiBh bmQgd2l0aCBsb25nam1wL3NldGptcCBvdGhlcndpc2UuCj4gLSsqLwo+IC0rI2lmIGRlZmluZWQo X19jcGx1c3BsdXMpCj4gLSsvKiBDKysgZXhjZXB0aW9ucyAqLwo+IC0rI2RlZmluZSBMVUFJX1RI Uk9XKEwsYykJdGhyb3coYykKPiAtKyNkZWZpbmUgTFVBSV9UUlkoTCxjLGEpCXRyeSB7IGEgfSBj YXRjaCguLi4pIFwKPiAtKwl7IGlmICgoYyktPnN0YXR1cyA9PSAwKSAoYyktPnN0YXR1cyA9IC0x OyB9Cj4gLSsjZGVmaW5lIGx1YWlfam1wYnVmCWludCAgLyogZHVtbXkgdmFyaWFibGUgKi8KPiAt Kwo+IC0rI2VsaWYgZGVmaW5lZChMVUFfVVNFX1VMT05HSk1QKQo+IC0rLyogaW4gVW5peCwgdHJ5 IF9sb25nam1wL19zZXRqbXAgKG1vcmUgZWZmaWNpZW50KSAqLwo+IC0rI2RlZmluZSBMVUFJX1RI Uk9XKEwsYykJX2xvbmdqbXAoKGMpLT5iLCAxKQo+IC0rI2RlZmluZSBMVUFJX1RSWShMLGMsYSkJ aWYgKF9zZXRqbXAoKGMpLT5iKSA9PSAwKSB7IGEgfQo+IC0rI2RlZmluZSBsdWFpX2ptcGJ1Zglq bXBfYnVmCj4gLSsKPiAtKyNlbHNlCj4gLSsvKiBkZWZhdWx0IGhhbmRsaW5nIHdpdGggbG9uZyBq dW1wcyAqLwo+IC0rI2RlZmluZSBMVUFJX1RIUk9XKEwsYykJbG9uZ2ptcCgoYyktPmIsIDEpCj4g LSsjZGVmaW5lIExVQUlfVFJZKEwsYyxhKQlpZiAoc2V0am1wKChjKS0+YikgPT0gMCkgeyBhIH0K PiAtKyNkZWZpbmUgbHVhaV9qbXBidWYJam1wX2J1Zgo+IC0rCj4gLSsjZW5kaWYKPiAtKwo+IC0r Cj4gLSsvKgo+IC0rQEAgTFVBX01BWENBUFRVUkVTIGlzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBj YXB0dXJlcyB0aGF0IGEgcGF0dGVybgo+IC0rQCogY2FuIGRvIGR1cmluZyBwYXR0ZXJuLW1hdGNo aW5nLgo+IC0rKiogQ0hBTkdFIGl0IGlmIHlvdSBuZWVkIG1vcmUgY2FwdHVyZXMuIFRoaXMgbGlt aXQgaXMgYXJiaXRyYXJ5Lgo+IC0rKi8KPiAtKyNkZWZpbmUgTFVBX01BWENBUFRVUkVTCQkzMgo+ IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBsdWFfdG1wbmFtIGlzIHRoZSBmdW5jdGlvbiB0aGF0IHRo ZSBPUyBsaWJyYXJ5IHVzZXMgdG8gY3JlYXRlIGEKPiAtK0AqIHRlbXBvcmFyeSBuYW1lLgo+IC0r QEAgTFVBX1RNUE5BTUJVRlNJWkUgaXMgdGhlIG1heGltdW0gc2l6ZSBvZiBhIG5hbWUgY3JlYXRl ZCBieSBsdWFfdG1wbmFtLgo+IC0rKiogQ0hBTkdFIHRoZW0gaWYgeW91IGhhdmUgYW4gYWx0ZXJu YXRpdmUgdG8gdG1wbmFtICh3aGljaCBpcyBjb25zaWRlcmVkCj4gLSsqKiBpbnNlY3VyZSkgb3Ig aWYgeW91IHdhbnQgdGhlIG9yaWdpbmFsIHRtcG5hbSBhbnl3YXkuICBCeSBkZWZhdWx0LCBMdWEK PiAtKyoqIHVzZXMgdG1wbmFtIGV4Y2VwdCB3aGVuIFBPU0lYIGlzIGF2YWlsYWJsZSwgd2hlcmUg aXQgdXNlcyBta3N0ZW1wLgo+IC0rKi8KPiAtKyNpZiBkZWZpbmVkKGxvc2xpYl9jKSB8fCBkZWZp bmVkKGx1YWFsbF9jKQo+IC0rCj4gLSsjaWYgZGVmaW5lZChMVUFfVVNFX01LU1RFTVApCj4gLSsj aW5jbHVkZSA8dW5pc3RkLmg+Cj4gLSsjZGVmaW5lIExVQV9UTVBOQU1CVUZTSVpFCTMyCj4gLSsj ZGVmaW5lIGx1YV90bXBuYW0oYixlKQl7IFwKPiAtKwlzdHJjcHkoYiwgIi90bXAvbHVhX1hYWFhY WCIpOyBcCj4gLSsJZSA9IG1rc3RlbXAoYik7IFwKPiAtKwlpZiAoZSAhPSAtMSkgY2xvc2UoZSk7 IFwKPiAtKwllID0gKGUgPT0gLTEpOyB9Cj4gLSsKPiAtKyNlbHNlCj4gLSsjZGVmaW5lIExVQV9U TVBOQU1CVUZTSVpFCUxfdG1wbmFtCj4gLSsjZGVmaW5lIGx1YV90bXBuYW0oYixlKQkJeyBlID0g KHRtcG5hbShiKSA9PSBOVUxMKTsgfQo+IC0rI2VuZGlmCj4gLSsKPiAtKyNlbmRpZgo+IC0rCj4g LSsKPiAtKy8qCj4gLStAQCBsdWFfcG9wZW4gc3Bhd25zIGEgbmV3IHByb2Nlc3MgY29ubmVjdGVk IHRvIHRoZSBjdXJyZW50IG9uZSB0aHJvdWdoCj4gLStAKiB0aGUgZmlsZSBzdHJlYW1zLgo+IC0r KiogQ0hBTkdFIGl0IGlmIHlvdSBoYXZlIGEgd2F5IHRvIGltcGxlbWVudCBpdCBpbiB5b3VyIHN5 c3RlbS4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChMVUFfVVNFX1BPUEVOKQo+IC0rCj4gLSsjZGVm aW5lIGx1YV9wb3BlbihMLGMsbSkJKCh2b2lkKUwsIHBvcGVuKGMsbSkpCj4gLSsjZGVmaW5lIGx1 YV9wY2xvc2UoTCxmaWxlKQkoKHZvaWQpTCwgKHBjbG9zZShmaWxlKSAhPSAtMSkpCj4gLSsKPiAt KyNlbGlmIGRlZmluZWQoTFVBX1dJTikKPiAtKwo+IC0rI2RlZmluZSBsdWFfcG9wZW4oTCxjLG0p CSgodm9pZClMLCBfcG9wZW4oYyxtKSkKPiAtKyNkZWZpbmUgbHVhX3BjbG9zZShMLGZpbGUpCSgo dm9pZClMLCAoX3BjbG9zZShmaWxlKSAhPSAtMSkpCj4gLSsKPiAtKyNlbHNlCj4gLSsKPiAtKyNk ZWZpbmUgbHVhX3BvcGVuKEwsYyxtKQkoKHZvaWQpKCh2b2lkKWMsIG0pLCAgXAo+IC0rCQlsdWFM X2Vycm9yKEwsIExVQV9RTCgicG9wZW4iKSAiIG5vdCBzdXBwb3J0ZWQiKSwgKEZJTEUqKTApCj4g LSsjZGVmaW5lIGx1YV9wY2xvc2UoTCxmaWxlKQkJKCh2b2lkKSgodm9pZClMLCBmaWxlKSwgMCkK PiAtKwo+IC0rI2VuZGlmCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfRExfKiBkZWZpbmUgd2hpY2gg ZHluYW1pYy1saWJyYXJ5IHN5c3RlbSBMdWEgc2hvdWxkIHVzZS4KPiAtKyoqIENIQU5HRSBoZXJl IGlmIEx1YSBoYXMgcHJvYmxlbXMgY2hvb3NpbmcgdGhlIGFwcHJvcHJpYXRlCj4gLSsqKiBkeW5h bWljLWxpYnJhcnkgc3lzdGVtIGZvciB5b3VyIHBsYXRmb3JtIChlaXRoZXIgV2luZG93cycgRExM LCBNYWMncwo+IC0rKiogZHlsZCwgb3IgVW5peCdzIGRsb3BlbikuIElmIHlvdXIgc3lzdGVtIGlz IHNvbWUga2luZCBvZiBVbml4LCB0aGVyZQo+IC0rKiogaXMgYSBnb29kIGNoYW5jZSB0aGF0IGl0 IGhhcyBkbG9wZW4sIHNvIExVQV9ETF9ETE9QRU4gd2lsbCB3b3JrIGZvcgo+IC0rKiogaXQuICBU byB1c2UgZGxvcGVuIHlvdSBhbHNvIG5lZWQgdG8gYWRhcHQgdGhlIHNyYy9NYWtlZmlsZSAocHJv YmFibHkKPiAtKyoqIGFkZGluZyAtbGRsIHRvIHRoZSBsaW5rZXIgb3B0aW9ucyksIHNvIEx1YSBk b2VzIG5vdCBzZWxlY3QgaXQKPiAtKyoqIGF1dG9tYXRpY2FsbHkuICAoV2hlbiB5b3UgY2hhbmdl IHRoZSBtYWtlZmlsZSB0byBhZGQgLWxkbCwgeW91IG11c3QKPiAtKyoqIGFsc28gYWRkIC1ETFVB X1VTRV9ETE9QRU4uKQo+IC0rKiogSWYgeW91IGRvIG5vdCB3YW50IGFueSBraW5kIG9mIGR5bmFt aWMgbGlicmFyeSwgdW5kZWZpbmUgYWxsIHRoZXNlCj4gLSsqKiBvcHRpb25zLgo+IC0rKiogQnkg ZGVmYXVsdCwgX1dJTjMyIGdldHMgTFVBX0RMX0RMTCBhbmQgTUFDIE9TIFggZ2V0cyBMVUFfRExf RFlMRC4KPiAtKyovCj4gLSsjaWYgZGVmaW5lZChMVUFfVVNFX0RMT1BFTikKPiAtKyNkZWZpbmUg TFVBX0RMX0RMT1BFTgo+IC0rI2VuZGlmCj4gLSsKPiAtKyNpZiBkZWZpbmVkKExVQV9XSU4pCj4g LSsjZGVmaW5lIExVQV9ETF9ETEwKPiAtKyNlbmRpZgo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBM VUFJX0VYVFJBU1BBQ0UgYWxsb3dzIHlvdSB0byBhZGQgdXNlci1zcGVjaWZpYyBkYXRhIGluIGEg bHVhX1N0YXRlCj4gLStAKiAodGhlIGRhdGEgZ29lcyBqdXN0ICpiZWZvcmUqIHRoZSBsdWFfU3Rh dGUgcG9pbnRlcikuCj4gLSsqKiBDSEFOR0UgKGRlZmluZSkgdGhpcyBpZiB5b3UgcmVhbGx5IG5l ZWQgdGhhdC4gVGhpcyB2YWx1ZSBtdXN0IGJlCj4gLSsqKiBhIG11bHRpcGxlIG9mIHRoZSBtYXhp bXVtIGFsaWdubWVudCByZXF1aXJlZCBmb3IgeW91ciBtYWNoaW5lLgo+IC0rKi8KPiAtKyNkZWZp bmUgTFVBSV9FWFRSQVNQQUNFCQkwCj4gLSsKPiAtKwo+IC0rLyoKPiAtK0BAIGx1YWlfdXNlcnN0 YXRlKiBhbGxvdyB1c2VyLXNwZWNpZmljIGFjdGlvbnMgb24gdGhyZWFkcy4KPiAtKyoqIENIQU5H RSB0aGVtIGlmIHlvdSBkZWZpbmVkIExVQUlfRVhUUkFTUEFDRSBhbmQgbmVlZCB0byBkbyBzb21l dGhpbmcKPiAtKyoqIGV4dHJhIHdoZW4gYSB0aHJlYWQgaXMgY3JlYXRlZC9kZWxldGVkL3Jlc3Vt ZWQveWllbGRlZC4KPiAtKyovCj4gLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlb3BlbihMKQkJKCh2 b2lkKUwpCj4gLSsjZGVmaW5lIGx1YWlfdXNlcnN0YXRlY2xvc2UoTCkJCSgodm9pZClMKQo+IC0r I2RlZmluZSBsdWFpX3VzZXJzdGF0ZXRocmVhZChMLEwxKQkoKHZvaWQpTCkKPiAtKyNkZWZpbmUg bHVhaV91c2Vyc3RhdGVmcmVlKEwpCQkoKHZvaWQpTCkKPiAtKyNkZWZpbmUgbHVhaV91c2Vyc3Rh dGVyZXN1bWUoTCxuKQkoKHZvaWQpTCkKPiAtKyNkZWZpbmUgbHVhaV91c2Vyc3RhdGV5aWVsZChM LG4pCSgodm9pZClMKQo+IC0rCj4gLSsKPiAtKy8qCj4gLStAQCBMVUFfSU5URlJNTEVOIGlzIHRo ZSBsZW5ndGggbW9kaWZpZXIgZm9yIGludGVnZXIgY29udmVyc2lvbnMKPiAtK0AqIGluICdzdHJp bmcuZm9ybWF0Jy4KPiAtK0BAIExVQV9JTlRGUk1fVCBpcyB0aGUgaW50ZWdlciB0eXBlIGNvcnJl c3BvZGluZyB0byB0aGUgcHJldmlvdXMgbGVuZ3RoCj4gLStAKiBtb2RpZmllci4KPiAtKyoqIENI QU5HRSB0aGVtIGlmIHlvdXIgc3lzdGVtIHN1cHBvcnRzIGxvbmcgbG9uZyBvciBkb2VzIG5vdCBz dXBwb3J0IGxvbmcuCj4gLSsqLwo+IC0rCj4gLSsjaWYgZGVmaW5lZChMVUFfVVNFTE9OR0xPTkcp Cj4gLSsKPiAtKyNkZWZpbmUgTFVBX0lOVEZSTUxFTgkJImxsIgo+IC0rI2RlZmluZSBMVUFfSU5U RlJNX1QJCWxvbmcgbG9uZwo+IC0rCj4gLSsjZWxzZQo+IC0rCj4gLSsjZGVmaW5lIExVQV9JTlRG Uk1MRU4JCSJsIgo+IC0rI2RlZmluZSBMVUFfSU5URlJNX1QJCWxvbmcKPiAtKwo+IC0rI2VuZGlm Cj4gLSsKPiAtKwo+IC0rCj4gLSsvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCj4gLSsKPiAtKy8qCj4gLSsqKiBM b2NhbCBjb25maWd1cmF0aW9uLiBZb3UgY2FuIHVzZSB0aGlzIHNwYWNlIHRvIGFkZCB5b3VyIHJl ZGVmaW5pdGlvbnMKPiAtKyoqIHdpdGhvdXQgbW9kaWZ5aW5nIHRoZSBtYWluIHBhcnQgb2YgdGhl IGZpbGUuCj4gLSsqLwo+IC0rCj4gLSsKPiAtKwo+IC0rI2VuZGlmCj4gLSsKPiBkaWZmIC0tZ2l0 IGEvcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzIGIvcGF0Y2hlcy9sdWEtNS4xLjQvc2VyaWVzCj4g ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gaW5kZXggNzQ2ZTgxOTE4Li4wMDAwMDAwMDAKPiAt LS0gYS9wYXRjaGVzL2x1YS01LjEuNC9zZXJpZXMKPiArKysgL2Rldi9udWxsCj4gQEAgLTEsMTkg KzAsMCBAQAo+IC0jIGdlbmVyYXRlZCBieSBnaXQtcHR4LXBhdGNoZXMKPiAtIyB1cHN0cmVhbSBp c3N1ZXMgd2l0aCBubyBjb250ZW50Cj4gLSMwMDAxLU1hbGljaW91c2x5LWNyYWZ0ZWQtcHJlY29t cGlsZWQtY29kZS1jYW4tY3Jhc2gtTHVhLnBhdGNoCj4gLSMwMDAyLUl0LWlzLXBvc3NpYmxlLXRv LWNyZWF0ZS1mdW5jdGlvbnMtdGhhdC1yZXR1cm4tdG9vLW0ucGF0Y2gKPiAtI3RhZzp1cHN0cmVh bSAtLXN0YXJ0LW51bWJlciAzCj4gLTAwMDMtV3JvbmctY29kZS1nZW5lcmF0aW9uLWZvci1zb21l LXBhcnRpY3VsYXItYm9vbGVhbi1leC5wYXRjaAo+IC0wMDA0LWx1YVZfc2V0dGFibGUtbWF5LWlu dmFsaWRhdGUtYS1yZWZlcmVuY2UtdG8tYS10YWJsZS0ucGF0Y2gKPiAtMDAwNS1kZWJ1Zy5nZXRm ZW52LWRvZXMtbm90LWNoZWNrLXdoZXRoZXItaXQtaGFzLWFuLWFyZ3VtLnBhdGNoCj4gLTAwMDYt R0MtbWF5LWdldC1zdHVjay1kdXJpbmctcGFyc2luZy1hbmQtYXZvaWRzLXByb3Blci1yZS5wYXRj aAo+IC0wMDA3LXN0cmluZy5mb3JtYXQtbWF5LWdldC1idWZmZXItYXMtYW4tYXJndW1lbnQtd2hl bi10aGUucGF0Y2gKPiAtMDAwOC1pby5yZWFkLW4tbi1tYXktcmV0dXJuLWdhcmJhZ2UtaWYtc2Vj b25kLXJlYWQtZmFpbHMucGF0Y2gKPiAtMDAwOS1Xcm9uZy1jb2RlLWdlbmVyYXRpb24tZm9yLXNv bWUtcGFydGljdWxhci1ib29sZWFuLWV4LnBhdGNoCj4gLTAwMTAtX19uZXdpbmRleC1tZXRhbWV0 aG9kLW1heS1ub3Qtd29yay1pZi1tZXRhdGFibGUtaXMtaS5wYXRjaAo+IC0wMDExLVBhcnNlci1t YXktY29sbGVjdC1hLXByb3RvdHlwZS13aGlsZS1idWlsZGluZy1pdC5wYXRjaAo+IC0jdGFnOmF1 dG90b29scyAtLXN0YXJ0LW51bWJlciAxMDAKPiAtMDEwMC1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4 ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZpbGUucGF0Y2gKPiAtMDEwMS1BZGQtbHVhLXN1cHBv cnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRjaAo+IC0wMTAyLUFkZC1s dWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNoCj4gLSMg OGI5MDkwNGIwYTU5MjMwMzM0M2E1N2JkNjM1ZTJlZjggIC0gZ2l0LXB0eC1wYXRjaGVzIG1hZ2lj Cj4gZGlmZiAtLWdpdCBhL3BhdGNoZXMvbHVhLTUuMy40LzAxMDEtQWRkLWx1YS1zdXBwb3J0LXRv LXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoIGIvcGF0Y2hlcy9sdWEtNS4z LjQvMDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJlbW92ZS1vbGQtTWFrZWZp bGUucGF0Y2gKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMC4uMzk3YjBk NDAyCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL3BhdGNoZXMvbHVhLTUuMy40LzAxMDEtQWRkLWx1 YS1zdXBwb3J0LXRvLXB0eGRpc3QtMS45OS1yZW1vdmUtb2xkLU1ha2VmaWxlLnBhdGNoCj4gQEAg LTAsMCArMSwxMzkgQEAKPiArRnJvbTogUm9iZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1 dHJvbml4LmRlPgo+ICtEYXRlOiBUdWUsIDQgSnVsIDIwMTcgMjA6Mzk6MDggKzAyMDAKPiArU3Vi amVjdDogW1BBVENIXSBBZGQgbHVhIHN1cHBvcnQgdG8gcHR4ZGlzdCAxLjk5OiByZW1vdmUgb2xk IE1ha2VmaWxlCj4gKwo+ICtUaGlzIHBhdGNoIGFkZCBsdWEgc3VwcG9ydCB0byBwdHhkaXN0IDEu OTkuIEl0IGhhcyBhIG1lbnUgZW50cnkgdW5kZXIKPiArc2NyaXB0aW5nIGxhbmd1YWdlcy4gQW5k IGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0byB1c2UgYXV0b2NvbmYKPiArdG8gYnVp bGQuCj4gKwo+ICtUaGlzIHBhcnQgb2YgdGhlIHBhdGNoIHJlbW92ZXMgdGhlIG9sZCBNYWtlZmls ZS4KPiArCj4gK1NpZ25lZC1vZmYtYnk6IEVyd2luIFJvbCA8ZXJ3aW5AZXJ3aW5yb2wuY29tPgo+ ICtTaWduZWQtb2ZmLWJ5OiBSb2JlcnQgU2Nod2ViZWwgPHIuc2Nod2ViZWxAcGVuZ3V0cm9uaXgu ZGU+Cj4gK1twb3J0ZWQgZnJvbSA1LjEuNCB0byA1LjMuNF0KPiArU2lnbmVkLW9mZi1ieTogUm9i ZXJ0IFNjaHdlYmVsIDxyLnNjaHdlYmVsQHBlbmd1dHJvbml4LmRlPgo+ICstLS0KPiArIE1ha2Vm aWxlIHwgMTE0IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQo+ICsgMSBmaWxlIGNoYW5nZWQsIDExNCBkZWxldGlvbnMoLSkKPiAr IGRlbGV0ZSBtb2RlIDEwMDY0NCBNYWtlZmlsZQo+ICsKPiArZGlmZiAtLWdpdCBhL01ha2VmaWxl IGIvTWFrZWZpbGUKPiArZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cj4gK2luZGV4IDExOTExMGQy ZjAxMC4uMDAwMDAwMDAwMDAwCj4gKy0tLSBhL01ha2VmaWxlCj4gKysrKyAvZGV2L251bGwKPiAr QEAgLTEsMTE0ICswLDAgQEAKPiArLSMgTWFrZWZpbGUgZm9yIGluc3RhbGxpbmcgTHVhCj4gKy0j IFNlZSBkb2MvcmVhZG1lLmh0bWwgZm9yIGluc3RhbGxhdGlvbiBhbmQgY3VzdG9taXphdGlvbiBp bnN0cnVjdGlvbnMuCj4gKy0KPiArLSMgPT0gQ0hBTkdFIFRIRSBTRVRUSU5HUyBCRUxPVyBUTyBT VUlUIFlPVVIgRU5WSVJPTk1FTlQgPT09PT09PT09PT09PT09PT09PT09PT0KPiArLQo+ICstIyBZ b3VyIHBsYXRmb3JtLiBTZWUgUExBVFMgZm9yIHBvc3NpYmxlIHZhbHVlcy4KPiArLVBMQVQ9IG5v bmUKPiArLQo+ICstIyBXaGVyZSB0byBpbnN0YWxsLiBUaGUgaW5zdGFsbGF0aW9uIHN0YXJ0cyBp biB0aGUgc3JjIGFuZCBkb2MgZGlyZWN0b3JpZXMsCj4gKy0jIHNvIHRha2UgY2FyZSBpZiBJTlNU QUxMX1RPUCBpcyBub3QgYW4gYWJzb2x1dGUgcGF0aC4gU2VlIHRoZSBsb2NhbCB0YXJnZXQuCj4g Ky0jIFlvdSBtYXkgd2FudCB0byBtYWtlIElOU1RBTExfTE1PRCBhbmQgSU5TVEFMTF9DTU9EIGNv bnNpc3RlbnQgd2l0aAo+ICstIyBMVUFfUk9PVCwgTFVBX0xESVIsIGFuZCBMVUFfQ0RJUiBpbiBs dWFjb25mLmguCj4gKy1JTlNUQUxMX1RPUD0gL3Vzci9sb2NhbAo+ICstSU5TVEFMTF9CSU49ICQo SU5TVEFMTF9UT1ApL2Jpbgo+ICstSU5TVEFMTF9JTkM9ICQoSU5TVEFMTF9UT1ApL2luY2x1ZGUK PiArLUlOU1RBTExfTElCPSAkKElOU1RBTExfVE9QKS9saWIKPiArLUlOU1RBTExfTUFOPSAkKElO U1RBTExfVE9QKS9tYW4vbWFuMQo+ICstSU5TVEFMTF9MTU9EPSAkKElOU1RBTExfVE9QKS9zaGFy ZS9sdWEvJFYKPiArLUlOU1RBTExfQ01PRD0gJChJTlNUQUxMX1RPUCkvbGliL2x1YS8kVgo+ICst Cj4gKy0jIEhvdyB0byBpbnN0YWxsLiBJZiB5b3VyIGluc3RhbGwgcHJvZ3JhbSBkb2VzIG5vdCBz dXBwb3J0ICItcCIsIHRoZW4KPiArLSMgeW91IG1heSBoYXZlIHRvIHJ1biByYW5saWIgb24gdGhl IGluc3RhbGxlZCBsaWJsdWEuYS4KPiArLUlOU1RBTEw9IGluc3RhbGwgLXAKPiArLUlOU1RBTExf RVhFQz0gJChJTlNUQUxMKSAtbSAwNzU1Cj4gKy1JTlNUQUxMX0RBVEE9ICQoSU5TVEFMTCkgLW0g MDY0NAo+ICstIwo+ICstIyBJZiB5b3UgZG9uJ3QgaGF2ZSAiaW5zdGFsbCIgeW91IGNhbiB1c2Ug ImNwIiBpbnN0ZWFkLgo+ICstIyBJTlNUQUxMPSBjcCAtcAo+ICstIyBJTlNUQUxMX0VYRUM9ICQo SU5TVEFMTCkKPiArLSMgSU5TVEFMTF9EQVRBPSAkKElOU1RBTEwpCj4gKy0KPiArLSMgT3RoZXIg dXRpbGl0aWVzLgo+ICstTUtESVI9IG1rZGlyIC1wCj4gKy1STT0gcm0gLWYKPiArLQo+ICstIyA9 PSBFTkQgT0YgVVNFUiBTRVRUSU5HUyAtLSBOTyBORUVEIFRPIENIQU5HRSBBTllUSElORyBCRUxP VyBUSElTIExJTkUgPT09PT09PQo+ICstCj4gKy0jIENvbnZlbmllbmNlIHBsYXRmb3JtcyB0YXJn ZXRzLgo+ICstUExBVFM9IGFpeCBic2QgYzg5IGZyZWVic2QgZ2VuZXJpYyBsaW51eCBtYWNvc3gg bWluZ3cgcG9zaXggc29sYXJpcwo+ICstCj4gKy0jIFdoYXQgdG8gaW5zdGFsbC4KPiArLVRPX0JJ Tj0gbHVhIGx1YWMKPiArLVRPX0lOQz0gbHVhLmggbHVhY29uZi5oIGx1YWxpYi5oIGxhdXhsaWIu aCBsdWEuaHBwCj4gKy1UT19MSUI9IGxpYmx1YS5hCj4gKy1UT19NQU49IGx1YS4xIGx1YWMuMQo+ ICstCj4gKy0jIEx1YSB2ZXJzaW9uIGFuZCByZWxlYXNlLgo+ICstVj0gNS4zCj4gKy1SPSAkVi40 Cj4gKy0KPiArLSMgVGFyZ2V0cyBzdGFydCBoZXJlLgo+ICstYWxsOgkkKFBMQVQpCj4gKy0KPiAr LSQoUExBVFMpIGNsZWFuOgo+ICstCWNkIHNyYyAmJiAkKE1BS0UpICRACj4gKy0KPiArLXRlc3Q6 CWR1bW15Cj4gKy0Jc3JjL2x1YSAtdgo+ICstCj4gKy1pbnN0YWxsOiBkdW1teQo+ICstCWNkIHNy YyAmJiAkKE1LRElSKSAkKElOU1RBTExfQklOKSAkKElOU1RBTExfSU5DKSAkKElOU1RBTExfTElC KSAkKElOU1RBTExfTUFOKSAkKElOU1RBTExfTE1PRCkgJChJTlNUQUxMX0NNT0QpCj4gKy0JY2Qg c3JjICYmICQoSU5TVEFMTF9FWEVDKSAkKFRPX0JJTikgJChJTlNUQUxMX0JJTikKPiArLQljZCBz cmMgJiYgJChJTlNUQUxMX0RBVEEpICQoVE9fSU5DKSAkKElOU1RBTExfSU5DKQo+ICstCWNkIHNy YyAmJiAkKElOU1RBTExfREFUQSkgJChUT19MSUIpICQoSU5TVEFMTF9MSUIpCj4gKy0JY2QgZG9j ICYmICQoSU5TVEFMTF9EQVRBKSAkKFRPX01BTikgJChJTlNUQUxMX01BTikKPiArLQo+ICstdW5p bnN0YWxsOgo+ICstCWNkIHNyYyAmJiBjZCAkKElOU1RBTExfQklOKSAmJiAkKFJNKSAkKFRPX0JJ TikKPiArLQljZCBzcmMgJiYgY2QgJChJTlNUQUxMX0lOQykgJiYgJChSTSkgJChUT19JTkMpCj4g Ky0JY2Qgc3JjICYmIGNkICQoSU5TVEFMTF9MSUIpICYmICQoUk0pICQoVE9fTElCKQo+ICstCWNk IGRvYyAmJiBjZCAkKElOU1RBTExfTUFOKSAmJiAkKFJNKSAkKFRPX01BTikKPiArLQo+ICstbG9j YWw6Cj4gKy0JJChNQUtFKSBpbnN0YWxsIElOU1RBTExfVE9QPS4uL2luc3RhbGwKPiArLQo+ICst bm9uZToKPiArLQlAZWNobyAiUGxlYXNlIGRvICdtYWtlIFBMQVRGT1JNJyB3aGVyZSBQTEFURk9S TSBpcyBvbmUgb2YgdGhlc2U6Igo+ICstCUBlY2hvICIgICAkKFBMQVRTKSIKPiArLQlAZWNobyAi U2VlIGRvYy9yZWFkbWUuaHRtbCBmb3IgY29tcGxldGUgaW5zdHJ1Y3Rpb25zLiIKPiArLQo+ICst IyBtYWtlIG1heSBnZXQgY29uZnVzZWQgd2l0aCB0ZXN0LyBhbmQgaW5zdGFsbC8KPiArLWR1bW15 Ogo+ICstCj4gKy0jIGVjaG8gY29uZmlnIHBhcmFtZXRlcnMKPiArLWVjaG86Cj4gKy0JQGNkIHNy YyAmJiAkKE1BS0UpIC1zIGVjaG8KPiArLQlAZWNobyAiUExBVD0gJChQTEFUKSIKPiArLQlAZWNo byAiVj0gJFYiCj4gKy0JQGVjaG8gIlI9ICRSIgo+ICstCUBlY2hvICJUT19CSU49ICQoVE9fQklO KSIKPiArLQlAZWNobyAiVE9fSU5DPSAkKFRPX0lOQykiCj4gKy0JQGVjaG8gIlRPX0xJQj0gJChU T19MSUIpIgo+ICstCUBlY2hvICJUT19NQU49ICQoVE9fTUFOKSIKPiArLQlAZWNobyAiSU5TVEFM TF9UT1A9ICQoSU5TVEFMTF9UT1ApIgo+ICstCUBlY2hvICJJTlNUQUxMX0JJTj0gJChJTlNUQUxM X0JJTikiCj4gKy0JQGVjaG8gIklOU1RBTExfSU5DPSAkKElOU1RBTExfSU5DKSIKPiArLQlAZWNo byAiSU5TVEFMTF9MSUI9ICQoSU5TVEFMTF9MSUIpIgo+ICstCUBlY2hvICJJTlNUQUxMX01BTj0g JChJTlNUQUxMX01BTikiCj4gKy0JQGVjaG8gIklOU1RBTExfTE1PRD0gJChJTlNUQUxMX0xNT0Qp Igo+ICstCUBlY2hvICJJTlNUQUxMX0NNT0Q9ICQoSU5TVEFMTF9DTU9EKSIKPiArLQlAZWNobyAi SU5TVEFMTF9FWEVDPSAkKElOU1RBTExfRVhFQykiCj4gKy0JQGVjaG8gIklOU1RBTExfREFUQT0g JChJTlNUQUxMX0RBVEEpIgo+ICstCj4gKy0jIGVjaG8gcGtnLWNvbmZpZyBkYXRhCj4gKy1wYzoK PiArLQlAZWNobyAidmVyc2lvbj0kUiIKPiArLQlAZWNobyAicHJlZml4PSQoSU5TVEFMTF9UT1Ap Igo+ICstCUBlY2hvICJsaWJkaXI9JChJTlNUQUxMX0xJQikiCj4gKy0JQGVjaG8gImluY2x1ZGVk aXI9JChJTlNUQUxMX0lOQykiCj4gKy0KPiArLSMgbGlzdCB0YXJnZXRzIHRoYXQgZG8gbm90IGNy ZWF0ZSBmaWxlcyAoYnV0IG5vdCBhbGwgbWFrZXMgdW5kZXJzdGFuZCAuUEhPTlkpCj4gKy0uUEhP Tlk6IGFsbCAkKFBMQVRTKSBjbGVhbiB0ZXN0IGluc3RhbGwgbG9jYWwgbm9uZSBkdW1teSBlY2hv IHBlY2hvIGxlY2hvCj4gKy0KPiArLSMgKGVuZCBvZiBNYWtlZmlsZSkKPiBkaWZmIC0tZ2l0IGEv cGF0Y2hlcy9sdWEtNS4zLjQvMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFk ZC1hdXRvY29uZi1maWxlcy5wYXRjaCBiL3BhdGNoZXMvbHVhLTUuMy40LzAxMDItQWRkLWx1YS1z dXBwb3J0LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b2NvbmYtZmlsZXMucGF0Y2gKPiBuZXcgZmls ZSBtb2RlIDEwMDY0NAo+IGluZGV4IDAwMDAwMDAwMC4uM2YyZmUxYzJiCj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL3BhdGNoZXMvbHVhLTUuMy40LzAxMDItQWRkLWx1YS1zdXBwb3J0LXRvLXB0eGRp c3QtMS45OS1hZGQtYXV0b2NvbmYtZmlsZXMucGF0Y2gKPiBAQCAtMCwwICsxLDkzOCBAQAo+ICtG cm9tOiBFcndpbiBSb2wgPGVyd2luQGVyd2lucm9sLmNvbT4KPiArRGF0ZTogRnJpLCA5IERlYyAy MDExIDExOjMyOjEyICswMTAwCj4gK1N1YmplY3Q6IFtQQVRDSF0gQWRkIGx1YSBzdXBwb3J0IHRv IHB0eGRpc3QgMS45OTogYWRkIGF1dG9jb25mIGZpbGVzCj4gKwo+ICtUaGlzIHBhdGNoIGFkZCBs dWEgc3VwcG9ydCB0byBwdHhkaXN0IDEuOTkuIEl0IGhhcyBhIG1lbnUgZW50cnkgdW5kZXIKPiAr c2NyaXB0aW5nIGxhbmd1YWdlcy4gQW5kIGEgcGF0Y2ggdGhhdCBtYWtlcyBpdCBwb3NzaWJsZSB0 byB1c2UgYXV0b2NvbmYKPiArdG8gYnVpbGQuCj4gKwo+ICtUaGlzIHBhcnQgb2YgdGhlIHBhdGNo IGFkZHMgdGhlIGF1dG9jb25mIGZpbGVzLgo+ICsKPiArU2lnbmVkLW9mZi1ieTogRXJ3aW4gUm9s IDxlcndpbkBlcndpbnJvbC5jb20+Cj4gK1NpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8 ci5zY2h3ZWJlbEBwZW5ndXRyb25peC5kZT4KPiArLS0tCj4gKyBjb25maWd1cmUuYWMgICAgICAg ICAgICAgIHwgIDcwICsrKysKPiArIGV0Yy9sdWEucGMuaW4gICAgICAgICAgICAgfCAgMzIgKysK PiArIHNyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4gfCA3OTcgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ICsgMyBmaWxlcyBjaGFuZ2VkLCA4OTkgaW5zZXJ0 aW9ucygrKQo+ICsgY3JlYXRlIG1vZGUgMTAwNjQ0IGNvbmZpZ3VyZS5hYwo+ICsgY3JlYXRlIG1v ZGUgMTAwNjQ0IGV0Yy9sdWEucGMuaW4KPiArIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvbHVhY29u Zi5oLnRlbXBsYXRlLmluCj4gKwo+ICtkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmln dXJlLmFjCj4gK25ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gK2luZGV4IDAwMDAwMDAwMDAwMC4uNTEw NWMwYmIwZDJhCj4gKy0tLSAvZGV2L251bGwKPiArKysrIGIvY29uZmlndXJlLmFjCj4gK0BAIC0w LDAgKzEsNzAgQEAKPiArK0FDX1BSRVJFUShbMi42N10pCj4gKytBQ19JTklUKFtBdXRvdG9vbGl6 ZWQgTHVhXSxbNS4zLjRdLFtdLFtsdWEtYXRdKQo+ICsrCj4gKytBQ19DT05GSUdfTUFDUk9fRElS KFttNF0pCj4gKysKPiArK0FDX0NPTkZJR19IRUFERVJTKFtjb25maWcuaF0pCj4gKytBQ19DT05G SUdfU1JDRElSKFtzcmMvbGFwaS5jXSkKPiArKwo+ICsrQU1fSU5JVF9BVVRPTUFLRShbMS45IGZv cmVpZ25dKQo+ICsrCj4gKytBQ19QUk9HX0NDCj4gKytMVF9JTklUCj4gKysKPiArK0FDX0FSR19X SVRIKAo+ICsrICBbcmVhZGxpbmVdLAo+ICsrICBbQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1yZWFk bGluZV0sW1VzZSByZWFkbGluZSBmb3IgaW50ZXJwcmV0ZXIgaW5wdXQgW2RlZmF1bHQ9eWVzXV0p XSwKPiArKyAgW3VzZV9yZWFkbGluZT0kd2l0aHZhbF0sCj4gKysgIFt1c2VfcmVhZGxpbmU9eWVz XQo+ICsrKQo+ICsrCj4gKytMVUFfTElCUz0iLWxtIgo+ICsrCj4gKysjIENoZWNrIGZvciByZWFk bGluZQo+ICsrUkVBRExJTkVfREVGUz0iI3VuZGVmIExVQV9VU0VfUkVBRExJTkUiCj4gKytpZiB0 ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0gInh5ZXMiOyB0aGVuCj4gKysgIEFDX0NIRUNLX0xJQihb cmVhZGxpbmVdLCBbcmVhZGxpbmVdLCBbXSwgW3VzZV9yZWFkbGluZT1ub10pCj4gKysgIEFDX0NI RUNLX0hFQURFUlMoW3JlYWRsaW5lL3JlYWRsaW5lLmggcmVhZGxpbmUvaGlzdG9yeS5oXSwgW10s IFt1c2VfcmVhZGxpbmU9bm9dKQo+ICsrICBpZiB0ZXN0ICJ4JHVzZV9yZWFkbGluZSIgPT0gInhu byI7IHRoZW4KPiArKyAgICBBQ19NU0dfV0FSTihbcmVhZGxpbmUgaGVhZGVycyBjb3VsZCBub3Qg YmUgZm91bmQsIGRpc2FibGluZyByZWFkbGluZSBzdXBwb3J0XSkKPiArKyAgZWxzZQo+ICsrICAg IFJFQURMSU5FX0RFRlM9IiNkZWZpbmUgTFVBX1VTRV9SRUFETElORSIKPiArKyAgICBMVUFfTElC Uz0iJExVQV9MSUJTIC1scmVhZGxpbmUiCj4gKysgIGZpCj4gKytmaQo+ICsrQUNfU1VCU1QoUkVB RExJTkVfREVGUykKPiArKwo+ICsrY2FzZSAiJGhvc3QiIGluCj4gKysgICotbWluZ3cqKSAgdXNl X29zPXdpbjMyICA7Owo+ICsrICAqLWRhcndpbiopIHVzZV9vcz1tYWNvc3ggOzsKPiArKyAgKikg ICAgICAgICB1c2Vfb3M9cG9zaXggIDs7Cj4gKytlc2FjCj4gKysKPiArK1BPU0lYX0RFRlM9IiN1 bmRlZiBMVUFfVVNFX1BPU0lYIgo+ICsrTFVBX0RMX0RFRlM9IiN1bmRlZiBMVUFfVVNFX0RMT1BF TiIKPiArK0xVQV9CVUlMRF9BU19ETExfREVGUz0iI3VuZGVmIExVQV9CVUlMRF9BU19ETEwiCj4g KysKPiArK2lmIHRlc3QgIngkdXNlX29zIiA9PSAieHdpbjMyIjsgdGhlbgo+ICsrICBMVUFfQlVJ TERfQVNfRExMX0RFRlM9IiNkZWZpbmUgTFVBX0JVSUxEX0FTX0RMTCIKPiArK2VsaWYgdGVzdCAi eCR1c2Vfb3MiID09ICJ4bWFjb3N4IjsgdGhlbgo+ICsrICBQT1NJWF9ERUZTPSIjZGVmaW5lIExV QV9VU0VfUE9TSVgiCj4gKysgIExVQV9ETF9ERUZTPSIjZGVmaW5lIExVQV9ETF9EWUxEIgo+ICsr ZWxpZiB0ZXN0ICJ4JHVzZV9vcyIgPT0gInhwb3NpeCI7IHRoZW4KPiArKyAgUE9TSVhfREVGUz0i I2RlZmluZSBMVUFfVVNFX1BPU0lYIgo+ICsrICBMVUFfRExfREVGUz0iI2RlZmluZSBMVUFfRExf RExPUEVOIgo+ICsrICBMVUFfTElCUz0iJExVQV9MSUJTIC1sZGwiCj4gKytmaQo+ICsrQUNfU1VC U1QoUE9TSVhfREVGUykKPiArK0FDX1NVQlNUKExVQV9ETF9ERUZTKQo+ICsrQUNfU1VCU1QoTFVB X0JVSUxEX0FTX0RMTF9ERUZTKQo+ICsrCj4gKytBQ19TVUJTVChMVUFfTElCUykKPiArKwo+ICsr QUNfQ09ORklHX0ZJTEVTKFtNYWtlZmlsZQo+ICsrICAgICAgICAgICAgICAgICBzcmMvTWFrZWZp bGUKPiArKyAgICAgICAgICAgICAgICAgc3JjL2x1YWNvbmYuaC50ZW1wbGF0ZQo+ICsrICAgICAg ICAgICAgICAgICBldGMvTWFrZWZpbGUKPiArKyAgICAgICAgICAgICAgICAgZXRjL2x1YS5wYwo+ ICsrICAgICAgICAgICAgICAgICBkb2MvTWFrZWZpbGUKPiArKwkJIHRlc3QvTWFrZWZpbGVdKQo+ ICsrQUNfT1VUUFVUCj4gK2RpZmYgLS1naXQgYS9ldGMvbHVhLnBjLmluIGIvZXRjL2x1YS5wYy5p bgo+ICtuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ICtpbmRleCAwMDAwMDAwMDAwMDAuLjdmMzNjZmY4 ZmFmNgo+ICstLS0gL2Rldi9udWxsCj4gKysrKyBiL2V0Yy9sdWEucGMuaW4KPiArQEAgLTAsMCAr MSwzMiBAQAo+ICsrIyBsdWEucGMgLS0gcGtnLWNvbmZpZyBkYXRhIGZvciBMdWEKPiArKwo+ICsr IyB2YXJzIGZyb20gaW5zdGFsbCBNYWtlZmlsZQo+ICsrCj4gKysjIGdyZXAgJ15WPScgLi4vTWFr ZWZpbGUKPiArK1Y9IDUuMQo+ICsrIyBncmVwICdeUj0nIC4uL01ha2VmaWxlCj4gKytSPSBAVkVS U0lPTkAKPiArKwo+ICsrIyBncmVwICdeSU5TVEFMTF8uKj0nIC4uL01ha2VmaWxlIHwgc2VkICdz L0lOU1RBTExfVE9QL3ByZWZpeC8nCj4gKysjIHBsdXMgYXV0b3Rvb2xpZmljYXRpb24KPiArK3By ZWZpeD0gQHByZWZpeEAKPiArK0lOU1RBTExfQklOPSAke3ByZWZpeH0vYmluCj4gKytJTlNUQUxM X0lOQz0gJHtwcmVmaXh9L2luY2x1ZGUKPiArK0lOU1RBTExfTElCPSAke3ByZWZpeH0vbGliCj4g KytJTlNUQUxMX01BTj0gJHtwcmVmaXh9L21hbi9tYW4xCj4gKytJTlNUQUxMX0xNT0Q9ICR7cHJl Zml4fS9zaGFyZS9sdWEvJHtWfQo+ICsrSU5TVEFMTF9DTU9EPSAke3ByZWZpeH0vbGliL2x1YS8k e1Z9Cj4gKysKPiArKyMgY2Fub25pY2FsIHZhcnMKPiArK2V4ZWNfcHJlZml4PSR7cHJlZml4fQo+ ICsrbGliZGlyPSR7ZXhlY19wcmVmaXh9L2xpYgo+ICsraW5jbHVkZWRpcj0ke3ByZWZpeH0vaW5j bHVkZQo+ICsrCj4gKytOYW1lOiBMdWEKPiArK0Rlc2NyaXB0aW9uOiBBbiBFeHRlbnNpYmxlIEV4 dGVuc2lvbiBMYW5ndWFnZQo+ICsrVmVyc2lvbjogJHtSfQo+ICsrUmVxdWlyZXM6IAo+ICsrTGli czogLUwke2xpYmRpcn0gLWxsdWEgLWxtCj4gKytDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfQo+ICsr Cj4gKysjIChlbmQgb2YgbHVhLnBjKQo+ICtkaWZmIC0tZ2l0IGEvc3JjL2x1YWNvbmYuaC50ZW1w bGF0ZS5pbiBiL3NyYy9sdWFjb25mLmgudGVtcGxhdGUuaW4KPiArbmV3IGZpbGUgbW9kZSAxMDA2 NDQKPiAraW5kZXggMDAwMDAwMDAwMDAwLi4zZjVhZDYzMDU4NWEKPiArLS0tIC9kZXYvbnVsbAo+ ICsrKysgYi9zcmMvbHVhY29uZi5oLnRlbXBsYXRlLmluCj4gK0BAIC0wLDAgKzEsNzk3IEBACj4g KysvKgo+ICsrKiogJElkOiBsdWFjb25mLmgsdiAxLjI1OSAyMDE2LzEyLzIyIDEzOjA4OjUwIHJv YmVydG8gRXhwICQKPiArKyoqIENvbmZpZ3VyYXRpb24gZmlsZSBmb3IgTHVhCj4gKysqKiBTZWUg Q29weXJpZ2h0IE5vdGljZSBpbiBsdWEuaAo+ICsrKi8KPiArKwo+ICsrCj4gKysjaWZuZGVmIGx1 YWNvbmZfaAo+ICsrI2RlZmluZSBsdWFjb25mX2gKPiArKwo+ICsrI2luY2x1ZGUgPGxpbWl0cy5o Pgo+ICsrI2luY2x1ZGUgPHN0ZGRlZi5oPgo+ICsrCj4gKysvKgo+ICsrICoqID09PT09PT09PT09 PT09PT09Cj4gKysgKiogQXV0b3Rvb2xpZmljYXRpb24KPiArKyAqKiA9PT09PT09PT09PT09PT09 PQo+ICsrICovCj4gKysKPiArKy8qKiBhdXRvdG9vbGl6ZSBwYXRjaCAqKi8KPiArK0BQT1NJWF9E RUZTQAo+ICsrQExVQV9ETF9ERUZTQAo+ICsrQExVQV9CVUlMRF9BU19ETExfREVGU0AKPiArK0BS RUFETElORV9ERUZTQAo+ICsrLyoqIGF1dG90b29saXplIHBhdGNoICoqLwo+ICsrCj4gKysvKgo+ ICsrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+ICsrKiogU2VhcmNoIGZvciAiQEAiIHRvIGZpbmQgYWxsIGNvbmZp Z3VyYWJsZSBkZWZpbml0aW9ucy4KPiArKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiArKyovCj4gKysKPiArKwo+ ICsrLyoKPiArKyoqIHs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsrKiogU3lzdGVtIENvbmZpZ3VyYXRpb246IG1h Y3JvcyB0byBhZGFwdCAoaWYgbmVlZGVkKSBMdWEgdG8gc29tZQo+ICsrKiogcGFydGljdWxhciBw bGF0Zm9ybSwgZm9yIGluc3RhbmNlIGNvbXBpbGluZyBpdCB3aXRoIDMyLWJpdCBudW1iZXJzIG9y Cj4gKysqKiByZXN0cmljdGluZyBpdCB0byBDODkuCj4gKysqKiA9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiArKyov Cj4gKysKPiArKy8qCj4gKytAQCBMVUFfMzJCSVRTIGVuYWJsZXMgTHVhIHdpdGggMzItYml0IGlu dGVnZXJzIGFuZCAzMi1iaXQgZmxvYXRzLiBZb3UKPiArKyoqIGNhbiBhbHNvIGRlZmluZSBMVUFf MzJCSVRTIGluIHRoZSBtYWtlIGZpbGUsIGJ1dCBjaGFuZ2luZyBoZXJlIHlvdQo+ICsrKiogZW5z dXJlIHRoYXQgYWxsIHNvZnR3YXJlIGNvbm5lY3RlZCB0byBMdWEgd2lsbCBiZSBjb21waWxlZCB3 aXRoIHRoZQo+ICsrKiogc2FtZSBjb25maWd1cmF0aW9uLgo+ICsrKi8KPiArKy8qICNkZWZpbmUg TFVBXzMyQklUUyAqLwo+ICsrCj4gKysKPiArKy8qCj4gKytAQCBMVUFfVVNFX0M4OSBjb250cm9s cyB0aGUgdXNlIG9mIG5vbi1JU08tQzg5IGZlYXR1cmVzLgo+ICsrKiogRGVmaW5lIGl0IGlmIHlv dSB3YW50IEx1YSB0byBhdm9pZCB0aGUgdXNlIG9mIGEgZmV3IEM5OSBmZWF0dXJlcwo+ICsrKiog b3IgV2luZG93cy1zcGVjaWZpYyBmZWF0dXJlcyBvbiBXaW5kb3dzLgo+ICsrKi8KPiArKy8qICNk ZWZpbmUgTFVBX1VTRV9DODkgKi8KPiArKwo+ICsrCj4gKysvKgo+ICsrKiogQnkgZGVmYXVsdCwg THVhIG9uIFdpbmRvd3MgdXNlIChzb21lKSBzcGVjaWZpYyBXaW5kb3dzIGZlYXR1cmVzCj4gKysq Lwo+ICsrI2lmICFkZWZpbmVkKExVQV9VU0VfQzg5KSAmJiBkZWZpbmVkKF9XSU4zMikgJiYgIWRl ZmluZWQoX1dJTjMyX1dDRSkKPiArKyNkZWZpbmUgTFVBX1VTRV9XSU5ET1dTICAvKiBlbmFibGUg Z29vZGllcyBmb3IgcmVndWxhciBXaW5kb3dzICovCj4gKysjZW5kaWYKPiArKwo+ICsrCj4gKysj aWYgZGVmaW5lZChMVUFfVVNFX1dJTkRPV1MpCj4gKysjZGVmaW5lIExVQV9ETF9ETEwJLyogZW5h YmxlIHN1cHBvcnQgZm9yIERMTCAqLwo+ICsrI2RlZmluZSBMVUFfVVNFX0M4OQkvKiBicm9hZGx5 LCBXaW5kb3dzIGlzIEM4OSAqLwo+ICsrI2VuZGlmCj4gKysKPiArKwo+ICsrI2lmIGRlZmluZWQo TFVBX1VTRV9MSU5VWCkKPiArKyNkZWZpbmUgTFVBX1VTRV9QT1NJWAo+ICsrI2RlZmluZSBMVUFf VVNFX0RMT1BFTgkJLyogbmVlZHMgYW4gZXh0cmEgbGlicmFyeTogLWxkbCAqLwo+ICsrI2RlZmlu ZSBMVUFfVVNFX1JFQURMSU5FCS8qIG5lZWRzIHNvbWUgZXh0cmEgbGlicmFyaWVzICovCj4gKysj ZW5kaWYKPiArKwo+ICsrCj4gKysjaWYgZGVmaW5lZChMVUFfVVNFX01BQ09TWCkKPiArKyNkZWZp bmUgTFVBX1VTRV9QT1NJWAo+ICsrI2RlZmluZSBMVUFfVVNFX0RMT1BFTgkJLyogTWFjT1MgZG9l cyBub3QgbmVlZCAtbGRsICovCj4gKysjZGVmaW5lIExVQV9VU0VfUkVBRExJTkUJLyogbmVlZHMg YW4gZXh0cmEgbGlicmFyeTogLWxyZWFkbGluZSAqLwo+ICsrI2VuZGlmCj4gKysKPiArKwo+ICsr LyoKPiArK0BAIExVQV9DODlfTlVNQkVSUyBlbnN1cmVzIHRoYXQgTHVhIHVzZXMgdGhlIGxhcmdl c3QgdHlwZXMgYXZhaWxhYmxlIGZvcgo+ICsrKiogQzg5ICgnbG9uZycgYW5kICdkb3VibGUnKTsg V2luZG93cyBhbHdheXMgaGFzICdfX2ludDY0Jywgc28gaXQgZG9lcwo+ICsrKiogbm90IG5lZWQg dG8gdXNlIHRoaXMgY2FzZS4KPiArKyovCj4gKysjaWYgZGVmaW5lZChMVUFfVVNFX0M4OSkgJiYg IWRlZmluZWQoTFVBX1VTRV9XSU5ET1dTKQo+ICsrI2RlZmluZSBMVUFfQzg5X05VTUJFUlMKPiAr KyNlbmRpZgo+ICsrCj4gKysKPiArKwo+ICsrLyoKPiArK0BAIExVQUlfQklUU0lOVCBkZWZpbmVz IHRoZSAobWluaW11bSkgbnVtYmVyIG9mIGJpdHMgaW4gYW4gJ2ludCcuCj4gKysqLwo+ICsrLyog YXZvaWQgdW5kZWZpbmVkIHNoaWZ0cyAqLwo+ICsrI2lmICgoSU5UX01BWCA+PiAxNSkgPj4gMTUp ID49IDEKPiArKyNkZWZpbmUgTFVBSV9CSVRTSU5UCTMyCj4gKysjZWxzZQo+ICsrLyogJ2ludCcg YWx3YXlzIG11c3QgaGF2ZSBhdCBsZWFzdCAxNiBiaXRzICovCj4gKysjZGVmaW5lIExVQUlfQklU U0lOVAkxNgo+ICsrI2VuZGlmCj4gKysKPiArKwo+ICsrLyoKPiArK0BAIExVQV9JTlRfVFlQRSBk ZWZpbmVzIHRoZSB0eXBlIGZvciBMdWEgaW50ZWdlcnMuCj4gKytAQCBMVUFfRkxPQVRfVFlQRSBk ZWZpbmVzIHRoZSB0eXBlIGZvciBMdWEgZmxvYXRzLgo+ICsrKiogTHVhIHNob3VsZCB3b3JrIGZp bmUgd2l0aCBhbnkgbWl4IG9mIHRoZXNlIG9wdGlvbnMgKGlmIHN1cHBvcnRlZAo+ICsrKiogYnkg eW91ciBDIGNvbXBpbGVyKS4gVGhlIHVzdWFsIGNvbmZpZ3VyYXRpb25zIGFyZSA2NC1iaXQgaW50 ZWdlcnMKPiArKyoqIGFuZCAnZG91YmxlJyAodGhlIGRlZmF1bHQpLCAzMi1iaXQgaW50ZWdlcnMg YW5kICdmbG9hdCcgKGZvcgo+ICsrKiogcmVzdHJpY3RlZCBwbGF0Zm9ybXMpLCBhbmQgJ2xvbmcn Lydkb3VibGUnIChmb3IgQyBjb21waWxlcnMgbm90Cj4gKysqKiBjb21wbGlhbnQgd2l0aCBDOTks IHdoaWNoIG1heSBub3QgaGF2ZSBzdXBwb3J0IGZvciAnbG9uZyBsb25nJykuCj4gKysqLwo+ICsr Cj4gKysvKiBwcmVkZWZpbmVkIG9wdGlvbnMgZm9yIExVQV9JTlRfVFlQRSAqLwo+ICsrI2RlZmlu ZSBMVUFfSU5UX0lOVAkJMQo+ICsrI2RlZmluZSBMVUFfSU5UX0xPTkcJCTIKPiArKyNkZWZpbmUg TFVBX0lOVF9MT05HTE9ORwkzCj4gKysKPiArKy8qIHByZWRlZmluZWQgb3B0aW9ucyBmb3IgTFVB X0ZMT0FUX1RZUEUgKi8KPiArKyNkZWZpbmUgTFVBX0ZMT0FUX0ZMT0FUCQkxCj4gKysjZGVmaW5l IExVQV9GTE9BVF9ET1VCTEUJMgo+ICsrI2RlZmluZSBMVUFfRkxPQVRfTE9OR0RPVUJMRQkzCj4g KysKPiArKyNpZiBkZWZpbmVkKExVQV8zMkJJVFMpCQkvKiB7ICovCj4gKysvKgo+ICsrKiogMzIt Yml0IGludGVnZXJzIGFuZCAnZmxvYXQnCj4gKysqLwo+ICsrI2lmIExVQUlfQklUU0lOVCA+PSAz MiAgLyogdXNlICdpbnQnIGlmIGJpZyBlbm91Z2ggKi8KPiArKyNkZWZpbmUgTFVBX0lOVF9UWVBF CUxVQV9JTlRfSU5UCj4gKysjZWxzZSAgLyogb3RoZXJ3aXNlIHVzZSAnbG9uZycgKi8KPiArKyNk ZWZpbmUgTFVBX0lOVF9UWVBFCUxVQV9JTlRfTE9ORwo+ICsrI2VuZGlmCj4gKysjZGVmaW5lIExV QV9GTE9BVF9UWVBFCUxVQV9GTE9BVF9GTE9BVAo+ICsrCj4gKysjZWxpZiBkZWZpbmVkKExVQV9D ODlfTlVNQkVSUykJLyogfXsgKi8KPiArKy8qCj4gKysqKiBsYXJnZXN0IHR5cGVzIGF2YWlsYWJs ZSBmb3IgQzg5ICgnbG9uZycgYW5kICdkb3VibGUnKQo+ICsrKi8KPiArKyNkZWZpbmUgTFVBX0lO VF9UWVBFCUxVQV9JTlRfTE9ORwo+ICsrI2RlZmluZSBMVUFfRkxPQVRfVFlQRQlMVUFfRkxPQVRf RE9VQkxFCj4gKysKPiArKyNlbmRpZgkJCQkvKiB9ICovCj4gKysKPiArKwo+ICsrLyoKPiArKyoq IGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgNjQtYml0IEx1YSAoJ2xvbmcgbG9uZycgYW5kICdk b3VibGUnKQo+ICsrKi8KPiArKyNpZiAhZGVmaW5lZChMVUFfSU5UX1RZUEUpCj4gKysjZGVmaW5l IExVQV9JTlRfVFlQRQlMVUFfSU5UX0xPTkdMT05HCj4gKysjZW5kaWYKPiArKwo+ICsrI2lmICFk ZWZpbmVkKExVQV9GTE9BVF9UWVBFKQo+ICsrI2RlZmluZSBMVUFfRkxPQVRfVFlQRQlMVUFfRkxP QVRfRE9VQkxFCj4gKysjZW5kaWYKPiArKwo+ICsrLyogfT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwo+ICsrCj4gKysK PiArKwo+ICsrCj4gKysvKgo+ICsrKiogez09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsrKiogQ29uZmlndXJhdGlvbiBm b3IgUGF0aHMuCj4gKysqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKysqLwo+ICsrCj4gKysvKgo+ICsrKiogTFVB X1BBVEhfU0VQIGlzIHRoZSBjaGFyYWN0ZXIgdGhhdCBzZXBhcmF0ZXMgdGVtcGxhdGVzIGluIGEg cGF0aC4KPiArKyoqIExVQV9QQVRIX01BUksgaXMgdGhlIHN0cmluZyB0aGF0IG1hcmtzIHRoZSBz dWJzdGl0dXRpb24gcG9pbnRzIGluIGEKPiArKyoqIHRlbXBsYXRlLgo+ICsrKiogTFVBX0VYRUNf RElSIGluIGEgV2luZG93cyBwYXRoIGlzIHJlcGxhY2VkIGJ5IHRoZSBleGVjdXRhYmxlJ3MKPiAr KyoqIGRpcmVjdG9yeS4KPiArKyovCj4gKysjZGVmaW5lIExVQV9QQVRIX1NFUCAgICAgICAgICAg ICI7Igo+ICsrI2RlZmluZSBMVUFfUEFUSF9NQVJLICAgICAgICAgICAiPyIKPiArKyNkZWZpbmUg TFVBX0VYRUNfRElSICAgICAgICAgICAgIiEiCj4gKysKPiArKwo+ICsrLyoKPiArK0BAIExVQV9Q QVRIX0RFRkFVTFQgaXMgdGhlIGRlZmF1bHQgcGF0aCB0aGF0IEx1YSB1c2VzIHRvIGxvb2sgZm9y Cj4gKysqKiBMdWEgbGlicmFyaWVzLgo+ICsrQEAgTFVBX0NQQVRIX0RFRkFVTFQgaXMgdGhlIGRl ZmF1bHQgcGF0aCB0aGF0IEx1YSB1c2VzIHRvIGxvb2sgZm9yCj4gKysqKiBDIGxpYnJhcmllcy4K PiArKyoqIENIQU5HRSB0aGVtIGlmIHlvdXIgbWFjaGluZSBoYXMgYSBub24tY29udmVudGlvbmFs IGRpcmVjdG9yeQo+ICsrKiogaGllcmFyY2h5IG9yIGlmIHlvdSB3YW50IHRvIGluc3RhbGwgeW91 ciBsaWJyYXJpZXMgaW4KPiArKyoqIG5vbi1jb252ZW50aW9uYWwgZGlyZWN0b3JpZXMuCj4gKysq Lwo+ICsrI2RlZmluZSBMVUFfVkRJUglMVUFfVkVSU0lPTl9NQUpPUiAiLiIgTFVBX1ZFUlNJT05f TUlOT1IKPiArKyNpZiBkZWZpbmVkKF9XSU4zMikJLyogeyAqLwo+ICsrLyoKPiArKyoqIEluIFdp bmRvd3MsIGFueSBleGNsYW1hdGlvbiBtYXJrICgnIScpIGluIHRoZSBwYXRoIGlzIHJlcGxhY2Vk IGJ5IHRoZQo+ICsrKiogcGF0aCBvZiB0aGUgZGlyZWN0b3J5IG9mIHRoZSBleGVjdXRhYmxlIGZp bGUgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KPiArKyovCj4gKysjZGVmaW5lIExVQV9MRElSCSIh XFxsdWFcXCIKPiArKyNkZWZpbmUgTFVBX0NESVIJIiFcXCIKPiArKyNkZWZpbmUgTFVBX1NIUkRJ UgkiIVxcLi5cXHNoYXJlXFxsdWFcXCIgTFVBX1ZESVIgIlxcIgo+ICsrI2RlZmluZSBMVUFfUEFU SF9ERUZBVUxUICBcCj4gKysJCUxVQV9MRElSIj8ubHVhOyIgIExVQV9MRElSIj9cXGluaXQubHVh OyIgXAo+ICsrCQlMVUFfQ0RJUiI/Lmx1YTsiICBMVUFfQ0RJUiI/XFxpbml0Lmx1YTsiIFwKPiAr KwkJTFVBX1NIUkRJUiI/Lmx1YTsiIExVQV9TSFJESVIiP1xcaW5pdC5sdWE7IiBcCj4gKysJCSIu XFw/Lmx1YTsiICIuXFw/XFxpbml0Lmx1YSIKPiArKyNkZWZpbmUgTFVBX0NQQVRIX0RFRkFVTFQg XAo+ICsrCQlMVUFfQ0RJUiI/LmRsbDsiIFwKPiArKwkJTFVBX0NESVIiLi5cXGxpYlxcbHVhXFwi IExVQV9WRElSICJcXD8uZGxsOyIgXAo+ICsrCQlMVUFfQ0RJUiJsb2FkYWxsLmRsbDsiICIuXFw/ LmRsbCIKPiArKwo+ICsrI2Vsc2UJCQkvKiB9eyAqLwo+ICsrCj4gKysvKiogYXV0b3Rvb2xpemUg cGF0Y2ggKiovCj4gKysjZGVmaW5lIExVQV9MRElSCSIlbHVhX2RhdGFkaXIlL2x1YS81LjEvIgo+ ICsrI2RlZmluZSBMVUFfQ0RJUgkiJWx1YV9saWJkaXIlL2x1YS81LjEvIgo+ICsrLyoqIGF1dG90 b29saXplIHBhdGNoICoqLwo+ICsrCj4gKysjZGVmaW5lIExVQV9QQVRIX0RFRkFVTFQgIFwKPiAr KwkJTFVBX0xESVIiPy5sdWE7IiAgTFVBX0xESVIiPy9pbml0Lmx1YTsiIFwKPiArKwkJTFVBX0NE SVIiPy5sdWE7IiAgTFVBX0NESVIiPy9pbml0Lmx1YTsiIFwKPiArKwkJIi4vPy5sdWE7IiAiLi8/ L2luaXQubHVhIgo+ICsrI2RlZmluZSBMVUFfQ1BBVEhfREVGQVVMVCBcCj4gKysJCUxVQV9DRElS Ij8uc287IiBMVUFfQ0RJUiJsb2FkYWxsLnNvOyIgIi4vPy5zbyIKPiArKyNlbmRpZgkJCS8qIH0g Ki8KPiArKwo+ICsrCj4gKysvKgo+ICsrQEAgTFVBX0RJUlNFUCBpcyB0aGUgZGlyZWN0b3J5IHNl cGFyYXRvciAoZm9yIHN1Ym1vZHVsZXMpLgo+ICsrKiogQ0hBTkdFIGl0IGlmIHlvdXIgbWFjaGlu ZSBkb2VzIG5vdCB1c2UgIi8iIGFzIHRoZSBkaXJlY3Rvcnkgc2VwYXJhdG9yCj4gKysqKiBhbmQg aXMgbm90IFdpbmRvd3MuIChPbiBXaW5kb3dzIEx1YSBhdXRvbWF0aWNhbGx5IHVzZXMgIlwiLikK PiArKyovCj4gKysjaWYgZGVmaW5lZChfV0lOMzIpCj4gKysjZGVmaW5lIExVQV9ESVJTRVAJIlxc Igo+ICsrI2Vsc2UKPiArKyNkZWZpbmUgTFVBX0RJUlNFUAkiLyIKPiArKyNlbmRpZgo+ICsrCj4g KysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ICovCj4gKysKPiArKwo+ICsrLyoKPiArKyoqIHs9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiAr KyoqIE1hcmtzIGZvciBleHBvcnRlZCBzeW1ib2xzIGluIHRoZSBDIGNvZGUKPiArKyoqID09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT0KPiArKyovCj4gKysKPiArKy8qCj4gKytAQCBMVUFfQVBJIGlzIGEgbWFyayBmb3IgYWxs IGNvcmUgQVBJIGZ1bmN0aW9ucy4KPiArK0BAIExVQUxJQl9BUEkgaXMgYSBtYXJrIGZvciBhbGwg YXV4aWxpYXJ5IGxpYnJhcnkgZnVuY3Rpb25zLgo+ICsrQEAgTFVBTU9EX0FQSSBpcyBhIG1hcmsg Zm9yIGFsbCBzdGFuZGFyZCBsaWJyYXJ5IG9wZW5pbmcgZnVuY3Rpb25zLgo+ICsrKiogQ0hBTkdF IHRoZW0gaWYgeW91IG5lZWQgdG8gZGVmaW5lIHRob3NlIGZ1bmN0aW9ucyBpbiBzb21lIHNwZWNp YWwgd2F5Lgo+ICsrKiogRm9yIGluc3RhbmNlLCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgb25lIFdp bmRvd3MgRExMIHdpdGggdGhlIGNvcmUgYW5kCj4gKysqKiB0aGUgbGlicmFyaWVzLCB5b3UgbWF5 IHdhbnQgdG8gdXNlIHRoZSBmb2xsb3dpbmcgZGVmaW5pdGlvbiAoZGVmaW5lCj4gKysqKiBMVUFf QlVJTERfQVNfRExMIHRvIGdldCBpdCkuCj4gKysqLwo+ICsrI2lmIGRlZmluZWQoTFVBX0JVSUxE X0FTX0RMTCkJLyogeyAqLwo+ICsrCj4gKysjaWYgZGVmaW5lZChMVUFfQ09SRSkgfHwgZGVmaW5l ZChMVUFfTElCKQkvKiB7ICovCj4gKysjZGVmaW5lIExVQV9BUEkgX19kZWNsc3BlYyhkbGxleHBv cnQpCj4gKysjZWxzZQkJCQkJCS8qIH17ICovCj4gKysjZGVmaW5lIExVQV9BUEkgX19kZWNsc3Bl YyhkbGxpbXBvcnQpCj4gKysjZW5kaWYJCQkJCQkvKiB9ICovCj4gKysKPiArKyNlbHNlCQkJCS8q IH17ICovCj4gKysKPiArKyNkZWZpbmUgTFVBX0FQSQkJZXh0ZXJuCj4gKysKPiArKyNlbmRpZgkJ CQkvKiB9ICovCj4gKysKPiArKwo+ICsrLyogbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGUgbGlicyBn byB0b2dldGhlciB3aXRoIHRoZSBjb3JlICovCj4gKysjZGVmaW5lIExVQUxJQl9BUEkJTFVBX0FQ SQo+ICsrI2RlZmluZSBMVUFNT0RfQVBJCUxVQUxJQl9BUEkKPiArKwo+ICsrCj4gKysvKgo+ICsr QEAgTFVBSV9GVU5DIGlzIGEgbWFyayBmb3IgYWxsIGV4dGVybiBmdW5jdGlvbnMgdGhhdCBhcmUg bm90IHRvIGJlCj4gKysqKiBleHBvcnRlZCB0byBvdXRzaWRlIG1vZHVsZXMuCj4gKytAQCBMVUFJ X0RERUYgYW5kIExVQUlfRERFQyBhcmUgbWFya3MgZm9yIGFsbCBleHRlcm4gKGNvbnN0KSB2YXJp YWJsZXMKPiArKyoqIHRoYXQgYXJlIG5vdCB0byBiZSBleHBvcnRlZCB0byBvdXRzaWRlIG1vZHVs ZXMgKExVQUlfRERFRiBmb3IKPiArKyoqIGRlZmluaXRpb25zIGFuZCBMVUFJX0RERUMgZm9yIGRl Y2xhcmF0aW9ucykuCj4gKysqKiBDSEFOR0UgdGhlbSBpZiB5b3UgbmVlZCB0byBtYXJrIHRoZW0g aW4gc29tZSBzcGVjaWFsIHdheS4gRWxmL2djYwo+ICsrKiogKHZlcnNpb25zIDMuMiBhbmQgbGF0 ZXIpIG1hcmsgdGhlbSBhcyAiaGlkZGVuIiB0byBvcHRpbWl6ZSBhY2Nlc3MKPiArKyoqIHdoZW4g THVhIGlzIGNvbXBpbGVkIGFzIGEgc2hhcmVkIGxpYnJhcnkuIE5vdCBhbGwgZWxmIHRhcmdldHMg c3VwcG9ydAo+ICsrKiogdGhpcyBhdHRyaWJ1dGUuIFVuZm9ydHVuYXRlbHksIGdjYyBkb2VzIG5v dCBvZmZlciBhIHdheSB0byBjaGVjawo+ICsrKiogd2hldGhlciB0aGUgdGFyZ2V0IG9mZmVycyB0 aGF0IHN1cHBvcnQsIGFuZCB0aG9zZSB3aXRob3V0IHN1cHBvcnQKPiArKyoqIGdpdmUgYSB3YXJu aW5nIGFib3V0IGl0LiBUbyBhdm9pZCB0aGVzZSB3YXJuaW5ncywgY2hhbmdlIHRvIHRoZQo+ICsr KiogZGVmYXVsdCBkZWZpbml0aW9uLgo+ICsrKi8KPiArKyNpZiBkZWZpbmVkKF9fR05VQ19fKSAm JiAoKF9fR05VQ19fKjEwMCArIF9fR05VQ19NSU5PUl9fKSA+PSAzMDIpICYmIFwKPiArKyAgICBk ZWZpbmVkKF9fRUxGX18pCQkvKiB7ICovCj4gKysjZGVmaW5lIExVQUlfRlVOQwlfX2F0dHJpYnV0 ZV9fKCh2aXNpYmlsaXR5KCJoaWRkZW4iKSkpIGV4dGVybgo+ICsrI2Vsc2UJCQkJLyogfXsgKi8K PiArKyNkZWZpbmUgTFVBSV9GVU5DCWV4dGVybgo+ICsrI2VuZGlmCQkJCS8qIH0gKi8KPiArKwo+ ICsrI2RlZmluZSBMVUFJX0RERUMJTFVBSV9GVU5DCj4gKysjZGVmaW5lIExVQUlfRERFRgkvKiBl bXB0eSAqLwo+ICsrCj4gKysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCj4gKysKPiArKwo+ICsrLyoKPiArKyoq IHs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KPiArKyoqIENvbXBhdGliaWxpdHkgd2l0aCBwcmV2aW91cyB2ZXJzaW9ucwo+ ICsrKiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQo+ICsrKi8KPiArKwo+ICsrLyoKPiArK0BAIExVQV9DT01QQVRfNV8y IGNvbnRyb2xzIG90aGVyIG1hY3JvcyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIEx1YSA1LjIuCj4g KytAQCBMVUFfQ09NUEFUXzVfMSBjb250cm9scyBvdGhlciBtYWNyb3MgZm9yIGNvbXBhdGliaWxp dHkgd2l0aCBMdWEgNS4xLgo+ICsrKiogWW91IGNhbiBkZWZpbmUgaXQgdG8gZ2V0IGFsbCBvcHRp b25zLCBvciBjaGFuZ2Ugc3BlY2lmaWMgb3B0aW9ucwo+ICsrKiogdG8gZml0IHlvdXIgc3BlY2lm aWMgbmVlZHMuCj4gKysqLwo+ICsrI2lmIGRlZmluZWQoTFVBX0NPTVBBVF81XzIpCS8qIHsgKi8K PiArKwo+ICsrLyoKPiArK0BAIExVQV9DT01QQVRfTUFUSExJQiBjb250cm9scyB0aGUgcHJlc2Vu Y2Ugb2Ygc2V2ZXJhbCBkZXByZWNhdGVkCj4gKysqKiBmdW5jdGlvbnMgaW4gdGhlIG1hdGhlbWF0 aWNhbCBsaWJyYXJ5Lgo+ICsrKi8KPiArKyNkZWZpbmUgTFVBX0NPTVBBVF9NQVRITElCCj4gKysK PiArKy8qCj4gKytAQCBMVUFfQ09NUEFUX0JJVExJQiBjb250cm9scyB0aGUgcHJlc2VuY2Ugb2Yg bGlicmFyeSAnYml0MzInLgo+ICsrKi8KPiArKyNkZWZpbmUgTFVBX0NPTVBBVF9CSVRMSUIKPiAr Kwo+ICsrLyoKPiArK0BAIExVQV9DT01QQVRfSVBBSVJTIGNvbnRyb2xzIHRoZSBlZmZlY3RpdmVu ZXNzIG9mIHRoZSBfX2lwYWlycyBtZXRhbWV0aG9kLgo+ICsrKi8KPiArKyNkZWZpbmUgTFVBX0NP TVBBVF9JUEFJUlMKPiArKwo+ICsrLyoKPiArK0BAIExVQV9DT01QQVRfQVBJSU5UQ0FTVFMgY29u dHJvbHMgdGhlIHByZXNlbmNlIG9mIG1hY3JvcyBmb3IKPiArKyoqIG1hbmlwdWxhdGluZyBvdGhl ciBpbnRlZ2VyIHR5cGVzIChsdWFfcHVzaHVuc2lnbmVkLCBsdWFfdG91bnNpZ25lZCwKPiArKyoq IGx1YUxfY2hlY2tpbnQsIGx1YUxfY2hlY2tsb25nLCBldGMuKQo+ICsrKi8KPiArKyNkZWZpbmUg TFVBX0NPTVBBVF9BUElJTlRDQVNUUwo+ICsrCj4gKysjZW5kaWYJCQkJLyogfSAqLwo+ICsrCj4g KysKPiArKyNpZiBkZWZpbmVkKExVQV9DT01QQVRfNV8xKQkvKiB7ICovCj4gKysKPiArKy8qIElu Y29tcGF0aWJpbGl0aWVzIGZyb20gNS4yIC0+IDUuMyAqLwo+ICsrI2RlZmluZSBMVUFfQ09NUEFU X01BVEhMSUIKPiArKyNkZWZpbmUgTFVBX0NPTVBBVF9BUElJTlRDQVNUUwo+ICsrCj4gKysvKgo+ ICsrQEAgTFVBX0NPTVBBVF9VTlBBQ0sgY29udHJvbHMgdGhlIHByZXNlbmNlIG9mIGdsb2JhbCAn dW5wYWNrJy4KPiArKyoqIFlvdSBjYW4gcmVwbGFjZSBpdCB3aXRoICd0YWJsZS51bnBhY2snLgo+ ICsrKi8KPiArKyNkZWZpbmUgTFVBX0NPTVBBVF9VTlBBQ0sKPiArKwo+ICsrLyoKPiArK0BAIExV QV9DT01QQVRfTE9BREVSUyBjb250cm9scyB0aGUgcHJlc2VuY2Ugb2YgdGFibGUgJ3BhY2thZ2Uu bG9hZGVycycuCj4gKysqKiBZb3UgY2FuIHJlcGxhY2UgaXQgd2l0aCAncGFja2FnZS5zZWFyY2hl cnMnLgo+ICsrKi8KPiArKyNkZWZpbmUgTFVBX0NPTVBBVF9MT0FERVJTCj4gKysKPiArKy8qCj4g KytAQCBtYWNybyAnbHVhX2NwY2FsbCcgZW11bGF0ZXMgZGVwcmVjYXRlZCBmdW5jdGlvbiBsdWFf Y3BjYWxsLgo+ICsrKiogWW91IGNhbiBjYWxsIHlvdXIgQyBmdW5jdGlvbiBkaXJlY3RseSAod2l0 aCBsaWdodCBDIGZ1bmN0aW9ucykuCj4gKysqLwo+ICsrI2RlZmluZSBsdWFfY3BjYWxsKEwsZix1 KSAgXAo+ICsrCShsdWFfcHVzaGNmdW5jdGlvbihMLCAoZikpLCBcCj4gKysJIGx1YV9wdXNobGln aHR1c2VyZGF0YShMLCh1KSksIFwKPiArKwkgbHVhX3BjYWxsKEwsMSwwLDApKQo+ICsrCj4gKysK PiArKy8qCj4gKytAQCBMVUFfQ09NUEFUX0xPRzEwIGRlZmluZXMgdGhlIGZ1bmN0aW9uICdsb2cx MCcgaW4gdGhlIG1hdGggbGlicmFyeS4KPiArKyoqIFlvdSBjYW4gcmV3cml0ZSAnbG9nMTAoeCkn IGFzICdsb2coeCwgMTApJy4KPiArKyovCj4gKysjZGVmaW5lIExVQV9DT01QQVRfTE9HMTAKPiAr Kwo+ICsrLyoKPiArK0BAIExVQV9DT01QQVRfTE9BRFNUUklORyBkZWZpbmVzIHRoZSBmdW5jdGlv biAnbG9hZHN0cmluZycgaW4gdGhlIGJhc2UKPiArKyoqIGxpYnJhcnkuIFlvdSBjYW4gcmV3cml0 ZSAnbG9hZHN0cmluZyhzKScgYXMgJ2xvYWQocyknLgo+ICsrKi8KPiArKyNkZWZpbmUgTFVBX0NP TVBBVF9MT0FEU1RSSU5HCj4gKysKPiArKy8qCj4gKytAQCBMVUFfQ09NUEFUX01BWE4gZGVmaW5l cyB0aGUgZnVuY3Rpb24gJ21heG4nIGluIHRoZSB0YWJsZSBsaWJyYXJ5Lgo+ICsrKi8KPiArKyNk ZWZpbmUgTFVBX0NPTVBBVF9NQVhOCj4gKysKPiArKy8qCj4gKytAQCBUaGUgZm9sbG93aW5nIG1h Y3JvcyBzdXBwbHkgdHJpdmlhbCBjb21wYXRpYmlsaXR5IGZvciBzb21lCj4gKysqKiBjaGFuZ2Vz IGluIHRoZSBBUEkuIFRoZSBtYWNyb3MgdGhlbXNlbHZlcyBkb2N1bWVudCBob3cgdG8KPiArKyoq IGNoYW5nZSB5b3VyIGNvZGUgdG8gYXZvaWQgdXNpbmcgdGhlbS4KPiArKyovCj4gKysjZGVmaW5l IGx1YV9zdHJsZW4oTCxpKQkJbHVhX3Jhd2xlbihMLCAoaSkpCj4gKysKPiArKyNkZWZpbmUgbHVh X29iamxlbihMLGkpCQlsdWFfcmF3bGVuKEwsIChpKSkKPiArKwo+ICsrI2RlZmluZSBsdWFfZXF1 YWwoTCxpZHgxLGlkeDIpCQlsdWFfY29tcGFyZShMLChpZHgxKSwoaWR4MiksTFVBX09QRVEpCj4g KysjZGVmaW5lIGx1YV9sZXNzdGhhbihMLGlkeDEsaWR4MikJbHVhX2NvbXBhcmUoTCwoaWR4MSks KGlkeDIpLExVQV9PUExUKQo+ICsrCj4gKysvKgo+ICsrQEAgTFVBX0NPTVBBVF9NT0RVTEUgY29u dHJvbHMgY29tcGF0aWJpbGl0eSB3aXRoIHByZXZpb3VzCj4gKysqKiBtb2R1bGUgZnVuY3Rpb25z ICdtb2R1bGUnIChMdWEpIGFuZCAnbHVhTF9yZWdpc3RlcicgKEMpLgo+ICsrKi8KPiArKyNkZWZp bmUgTFVBX0NPTVBBVF9NT0RVTEUKPiArKwo+ICsrI2VuZGlmCQkJCS8qIH0gKi8KPiArKwo+ICsr Cj4gKysvKgo+ICsrQEAgTFVBX0NPTVBBVF9GTE9BVFNUUklORyBtYWtlcyBMdWEgZm9ybWF0IGlu dGVncmFsIGZsb2F0cyB3aXRob3V0IGEKPiArK0BAIGEgZmxvYXQgbWFyayAoJy4wJykuCj4gKysq KiBUaGlzIG1hY3JvIGlzIG5vdCBvbiBieSBkZWZhdWx0IGV2ZW4gaW4gY29tcGF0aWJpbGl0eSBt b2RlLAo+ICsrKiogYmVjYXVzZSB0aGlzIGlzIG5vdCByZWFsbHkgYW4gaW5jb21wYXRpYmlsaXR5 Lgo+ICsrKi8KPiArKy8qICNkZWZpbmUgTFVBX0NPTVBBVF9GTE9BVFNUUklORyAqLwo+ICsrCj4g KysvKiB9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09ICovCj4gKysKPiArKwo+ICsrCj4gKysvKgo+ICsrKiogez09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PQo+ICsrKiogQ29uZmlndXJhdGlvbiBmb3IgTnVtYmVycy4KPiArKyoqIENoYW5nZSB0aGVzZSBk ZWZpbml0aW9ucyBpZiBubyBwcmVkZWZpbmVkIExVQV9GTE9BVF8qIC8gTFVBX0lOVF8qCj4gKysq KiBzYXRpc2Z5IHlvdXIgbmVlZHMuCj4gKysqKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKysqLwo+ICsrCj4gKysv Kgo+ICsrQEAgTFVBX05VTUJFUiBpcyB0aGUgZmxvYXRpbmctcG9pbnQgdHlwZSB1c2VkIGJ5IEx1 YS4KPiArK0BAIExVQUlfVUFDTlVNQkVSIGlzIHRoZSByZXN1bHQgb2YgYSAnZGVmYXVsdCBhcmd1 bWVudCBwcm9tb3Rpb24nCj4gKytAQCBvdmVyIGEgZmxvYXRpbmcgbnVtYmVyLgo+ICsrQEAgbF9t YXRobGltKHgpIGNvcnJlY3RzIGxpbWl0IG5hbWUgJ3gnIHRvIHRoZSBwcm9wZXIgZmxvYXQgdHlw ZQo+ICsrKiogYnkgcHJlZml4aW5nIGl0IHdpdGggb25lIG9mIEZMVC9EQkwvTERCTC4KPiArK0BA IExVQV9OVU1CRVJfRlJNTEVOIGlzIHRoZSBsZW5ndGggbW9kaWZpZXIgZm9yIHdyaXRpbmcgZmxv YXRzLgo+ICsrQEAgTFVBX05VTUJFUl9GTVQgaXMgdGhlIGZvcm1hdCBmb3Igd3JpdGluZyBmbG9h dHMuCj4gKytAQCBsdWFfbnVtYmVyMnN0ciBjb252ZXJ0cyBhIGZsb2F0IHRvIGEgc3RyaW5nLgo+ ICsrQEAgbF9tYXRob3AgYWxsb3dzIHRoZSBhZGRpdGlvbiBvZiBhbiAnbCcgb3IgJ2YnIHRvIGFs bCBtYXRoIG9wZXJhdGlvbnMuCj4gKytAQCBsX2Zsb29yIHRha2VzIHRoZSBmbG9vciBvZiBhIGZs b2F0Lgo+ICsrQEAgbHVhX3N0cjJudW1iZXIgY29udmVydHMgYSBkZWNpbWFsIG51bWVyaWMgc3Ry aW5nIHRvIGEgbnVtYmVyLgo+ICsrKi8KPiArKwo+ICsrCj4gKysvKiBUaGUgZm9sbG93aW5nIGRl ZmluaXRpb25zIGFyZSBnb29kIGZvciBtb3N0IGNhc2VzIGhlcmUgKi8KPiArKwo+ICsrI2RlZmlu ZSBsX2Zsb29yKHgpCQkobF9tYXRob3AoZmxvb3IpKHgpKQo+ICsrCj4gKysjZGVmaW5lIGx1YV9u dW1iZXIyc3RyKHMsc3osbikgIFwKPiArKwlsX3NwcmludGYoKHMpLCBzeiwgTFVBX05VTUJFUl9G TVQsIChMVUFJX1VBQ05VTUJFUikobikpCj4gKysKPiArKy8qCj4gKytAQCBsdWFfbnVtYmVydG9p bnRlZ2VyIGNvbnZlcnRzIGEgZmxvYXQgbnVtYmVyIHRvIGFuIGludGVnZXIsIG9yCj4gKysqKiBy ZXR1cm5zIDAgaWYgZmxvYXQgaXMgbm90IHdpdGhpbiB0aGUgcmFuZ2Ugb2YgYSBsdWFfSW50ZWdl ci4KPiArKyoqIChUaGUgcmFuZ2UgY29tcGFyaXNvbnMgYXJlIHRyaWNreSBiZWNhdXNlIG9mIHJv dW5kaW5nLiBUaGUgdGVzdHMKPiArKyoqIGhlcmUgYXNzdW1lIGEgdHdvLWNvbXBsZW1lbnQgcmVw cmVzZW50YXRpb24sIHdoZXJlIE1JTklOVEVHRVIgYWx3YXlzCj4gKysqKiBoYXMgYW4gZXhhY3Qg cmVwcmVzZW50YXRpb24gYXMgYSBmbG9hdDsgTUFYSU5URUdFUiBtYXkgbm90IGhhdmUgb25lLAo+ ICsrKiogYW5kIHRoZXJlZm9yZSBpdHMgY29udmVyc2lvbiB0byBmbG9hdCBtYXkgaGF2ZSBhbiBp bGwtZGVmaW5lZCB2YWx1ZS4pCj4gKysqLwo+ICsrI2RlZmluZSBsdWFfbnVtYmVydG9pbnRlZ2Vy KG4scCkgXAo+ICsrICAoKG4pID49IChMVUFfTlVNQkVSKShMVUFfTUlOSU5URUdFUikgJiYgXAo+ ICsrICAgKG4pIDwgLShMVUFfTlVNQkVSKShMVUFfTUlOSU5URUdFUikgJiYgXAo+ICsrICAgICAg KCoocCkgPSAoTFVBX0lOVEVHRVIpKG4pLCAxKSkKPiArKwo+ICsrCj4gKysvKiBub3cgdGhlIHZh cmlhYmxlIGRlZmluaXRpb25zICovCj4gKysKPiArKyNpZiBMVUFfRkxPQVRfVFlQRSA9PSBMVUFf RkxPQVRfRkxPQVQJCS8qIHsgc2luZ2xlIGZsb2F0ICovCj4gKysKPiArKyNkZWZpbmUgTFVBX05V TUJFUglmbG9hdAo+ICsrCj4gKysjZGVmaW5lIGxfbWF0aGxpbShuKQkJKEZMVF8jI24pCj4gKysK PiArKyNkZWZpbmUgTFVBSV9VQUNOVU1CRVIJZG91YmxlCj4gKysKPiArKyNkZWZpbmUgTFVBX05V TUJFUl9GUk1MRU4JIiIKPiArKyNkZWZpbmUgTFVBX05VTUJFUl9GTVQJCSIlLjdnIgo+ICsrCj4g KysjZGVmaW5lIGxfbWF0aG9wKG9wKQkJb3AjI2YKPiArKwo+ICsrI2RlZmluZSBsdWFfc3RyMm51 bWJlcihzLHApCXN0cnRvZigocyksIChwKSkKPiArKwo+ICsrCj4gKysjZWxpZiBMVUFfRkxPQVRf VFlQRSA9PSBMVUFfRkxPQVRfTE9OR0RPVUJMRQkvKiB9eyBsb25nIGRvdWJsZSAqLwo+ICsrCj4g KysjZGVmaW5lIExVQV9OVU1CRVIJbG9uZyBkb3VibGUKPiArKwo+ICsrI2RlZmluZSBsX21hdGhs aW0obikJCShMREJMXyMjbikKPiArKwo+ICsrI2RlZmluZSBMVUFJX1VBQ05VTUJFUglsb25nIGRv dWJsZQo+ICsrCj4gKysjZGVmaW5lIExVQV9OVU1CRVJfRlJNTEVOCSJMIgo+ICsrI2RlZmluZSBM VUFfTlVNQkVSX0ZNVAkJIiUuMTlMZyIKPiArKwo+ICsrI2RlZmluZSBsX21hdGhvcChvcCkJCW9w IyNsCj4gKysKPiArKyNkZWZpbmUgbHVhX3N0cjJudW1iZXIocyxwKQlzdHJ0b2xkKChzKSwgKHAp KQo+ICsrCj4gKysjZWxpZiBMVUFfRkxPQVRfVFlQRSA9PSBMVUFfRkxPQVRfRE9VQkxFCS8qIH17 IGRvdWJsZSAqLwo+ICsrCj4gKysjZGVmaW5lIExVQV9OVU1CRVIJZG91YmxlCj4gKysKPiArKyNk ZWZpbmUgbF9tYXRobGltKG4pCQkoREJMXyMjbikKPiArKwo+ICsrI2RlZmluZSBMVUFJX1VBQ05V TUJFUglkb3VibGUKPiArKwo+ICsrI2RlZmluZSBMVUFfTlVNQkVSX0ZSTUxFTgkiIgo+ICsrI2Rl ZmluZSBMVUFfTlVNQkVSX0ZNVAkJIiUuMTRnIgo+ICsrCj4gKysjZGVmaW5lIGxfbWF0aG9wKG9w KQkJb3AKPiArKwo+ICsrI2RlZmluZSBsdWFfc3RyMm51bWJlcihzLHApCXN0cnRvZCgocyksIChw KSkKPiArKwo+ICsrI2Vsc2UJCQkJCQkvKiB9eyAqLwo+ICsrCj4gKysjZXJyb3IgIm51bWVyaWMg ZmxvYXQgdHlwZSBub3QgZGVmaW5lZCIKPiArKwo+ICsrI2VuZGlmCQkJCQkvKiB9ICovCj4gKysK PiArKwo+ICsrCj4gKysvKgo+ICsrQEAgTFVBX0lOVEVHRVIgaXMgdGhlIGludGVnZXIgdHlwZSB1 c2VkIGJ5IEx1YS4KPiArKyoqCj4gKytAQCBMVUFfVU5TSUdORUQgaXMgdGhlIHVuc2lnbmVkIHZl cnNpb24gb2YgTFVBX0lOVEVHRVIuCj4gKysqKgo+ICsrQEAgTFVBSV9VQUNJTlQgaXMgdGhlIHJl c3VsdCBvZiBhICdkZWZhdWx0IGFyZ3VtZW50IHByb21vdGlvbicKPiArK0BAIG92ZXIgYSBsVUFf SU5URUdFUi4KPiArK0BAIExVQV9JTlRFR0VSX0ZSTUxFTiBpcyB0aGUgbGVuZ3RoIG1vZGlmaWVy IGZvciByZWFkaW5nL3dyaXRpbmcgaW50ZWdlcnMuCj4gKytAQCBMVUFfSU5URUdFUl9GTVQgaXMg dGhlIGZvcm1hdCBmb3Igd3JpdGluZyBpbnRlZ2Vycy4KPiArK0BAIExVQV9NQVhJTlRFR0VSIGlz IHRoZSBtYXhpbXVtIHZhbHVlIGZvciBhIExVQV9JTlRFR0VSLgo+ICsrQEAgTFVBX01JTklOVEVH RVIgaXMgdGhlIG1pbmltdW0gdmFsdWUgZm9yIGEgTFVBX0lOVEVHRVIuCj4gKytAQCBsdWFfaW50 ZWdlcjJzdHIgY29udmVydHMgYW4gaW50ZWdlciB0byBhIHN0cmluZy4KPiArKyovCj4gKysKPiAr Kwo+ICsrLyogVGhlIGZvbGxvd2luZyBkZWZpbml0aW9ucyBhcmUgZ29vZCBmb3IgbW9zdCBjYXNl cyBoZXJlICovCj4gKysKPiArKyNkZWZpbmUgTFVBX0lOVEVHRVJfRk1UCQkiJSIgTFVBX0lOVEVH RVJfRlJNTEVOICJkIgo+ICsrCj4gKysjZGVmaW5lIExVQUlfVUFDSU5UCQlMVUFfSU5URUdFUgo+ ICsrCj4gKysjZGVmaW5lIGx1YV9pbnRlZ2VyMnN0cihzLHN6LG4pICBcCj4gKysJbF9zcHJpbnRm KChzKSwgc3osIExVQV9JTlRFR0VSX0ZNVCwgKExVQUlfVUFDSU5UKShuKSkKPiArKwo+ICsrLyoK PiArKyoqIHVzZSBMVUFJX1VBQ0lOVCBoZXJlIHRvIGF2b2lkIHByb2JsZW1zIHdpdGggcHJvbW90 aW9ucyAod2hpY2gKPiArKyoqIGNhbiB0dXJuIGEgY29tcGFyaXNvbiBiZXR3ZWVuIHVuc2lnbmVk cyBpbnRvIGEgc2lnbmVkIGNvbXBhcmlzb24pCj4gKysqLwo+ICsrI2RlZmluZSBMVUFfVU5TSUdO RUQJCXVuc2lnbmVkIExVQUlfVUFDSU5UCj4gKysKPiArKwo+ICsrLyogbm93IHRoZSB2YXJpYWJs ZSBkZWZpbml0aW9ucyAqLwo+ICsrCj4gKysjaWYgTFVBX0lOVF9UWVBFID09IExVQV9JTlRfSU5U CQkvKiB7IGludCAqLwo+ICsrCj4gKysjZGVmaW5lIExVQV9JTlRFR0VSCQlpbnQKPiArKyNkZWZp bmUgTFVBX0lOVEVHRVJfRlJNTEVOCSIiCj4gKysKPiArKyNkZWZpbmUgTFVBX01BWElOVEVHRVIJ CUlOVF9NQVgKPiArKyNkZWZpbmUgTFVBX01JTklOVEVHRVIJCUlOVF9NSU4KPiArKwo+ICsrI2Vs aWYgTFVBX0lOVF9UWVBFID09IExVQV9JTlRfTE9ORwkvKiB9eyBsb25nICovCj4gKysKPiArKyNk ZWZpbmUgTFVBX0lOVEVHRVIJCWxvbmcKPiArKyNkZWZpbmUgTFVBX0lOVEVHRVJfRlJNTEVOCSJs Igo+ICsrCj4gKysjZGVmaW5lIExVQV9NQVhJTlRFR0VSCQlMT05HX01BWAo+ICsrI2RlZmluZSBM VUFfTUlOSU5URUdFUgkJTE9OR19NSU4KPiArKwo+ICsrI2VsaWYgTFVBX0lOVF9UWVBFID09IExV QV9JTlRfTE9OR0xPTkcJLyogfXsgbG9uZyBsb25nICovCj4gKysKPiArKy8qIHVzZSBwcmVzZW5j ZSBvZiBtYWNybyBMTE9OR19NQVggYXMgcHJveHkgZm9yIEM5OSBjb21wbGlhbmNlICovCj4gKysj aWYgZGVmaW5lZChMTE9OR19NQVgpCQkvKiB7ICovCj4gKysvKiB1c2UgSVNPIEM5OSBzdHVmZiAq Lwo+ICsrCj4gKysjZGVmaW5lIExVQV9JTlRFR0VSCQlsb25nIGxvbmcKPiArKyNkZWZpbmUgTFVB X0lOVEVHRVJfRlJNTEVOCSJsbCIKPiArKwo+ICsrI2RlZmluZSBMVUFfTUFYSU5URUdFUgkJTExP TkdfTUFYCj4gKysjZGVmaW5lIExVQV9NSU5JTlRFR0VSCQlMTE9OR19NSU4KPiArKwo+ICsrI2Vs aWYgZGVmaW5lZChMVUFfVVNFX1dJTkRPV1MpIC8qIH17ICovCj4gKysvKiBpbiBXaW5kb3dzLCBj YW4gdXNlIHNwZWNpZmljIFdpbmRvd3MgdHlwZXMgKi8KPiArKwo+ICsrI2RlZmluZSBMVUFfSU5U RUdFUgkJX19pbnQ2NAo+ICsrI2RlZmluZSBMVUFfSU5URUdFUl9GUk1MRU4JIkk2NCIKPiArKwo+ ICsrI2RlZmluZSBMVUFfTUFYSU5URUdFUgkJX0k2NF9NQVgKPiArKyNkZWZpbmUgTFVBX01JTklO VEVHRVIJCV9JNjRfTUlOCj4gKysKPiArKyNlbHNlCQkJCS8qIH17ICovCj4gKysKPiArKyNlcnJv ciAiQ29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydCAnbG9uZyBsb25nJy4gVXNlIG9wdGlvbiAnLURM VUFfMzJCSVRTJyBcCj4gKysgIG9yICctRExVQV9DODlfTlVNQkVSUycgKHNlZSBmaWxlICdsdWFj b25mLmgnIGZvciBkZXRhaWxzKSIKPiArKwo+ICsrI2VuZGlmCQkJCS8qIH0gKi8KPiArKwo+ICsr I2Vsc2UJCQkJLyogfXsgKi8KPiArKwo+ICsrI2Vycm9yICJudW1lcmljIGludGVnZXIgdHlwZSBu b3QgZGVmaW5lZCIKPiArKwo+ICsrI2VuZGlmCQkJCS8qIH0gKi8KPiArKwo+ICsrLyogfT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PSAqLwo+ICsrCj4gKysKPiArKy8qCj4gKysqKiB7PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gKysqKiBEZXBlbmRl bmNpZXMgd2l0aCBDOTkgYW5kIG90aGVyIEMgZGV0YWlscwo+ICsrKiogPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsr Ki8KPiArKwo+ICsrLyoKPiArK0BAIGxfc3ByaW50ZiBpcyBlcXVpdmFsZW50IHRvICdzbnByaW50 Zicgb3IgJ3NwcmludGYnIGluIEM4OS4KPiArKyoqIChBbGwgdXNlcyBpbiBMdWEgaGF2ZSBvbmx5 IG9uZSBmb3JtYXQgaXRlbS4pCj4gKysqLwo+ICsrI2lmICFkZWZpbmVkKExVQV9VU0VfQzg5KQo+ ICsrI2RlZmluZSBsX3NwcmludGYocyxzeixmLGkpCXNucHJpbnRmKHMsc3osZixpKQo+ICsrI2Vs c2UKPiArKyNkZWZpbmUgbF9zcHJpbnRmKHMsc3osZixpKQkoKHZvaWQpKHN6KSwgc3ByaW50Zihz LGYsaSkpCj4gKysjZW5kaWYKPiArKwo+ICsrCj4gKysvKgo+ICsrQEAgbHVhX3N0cngybnVtYmVy IGNvbnZlcnRzIGFuIGhleGFkZWNpbWFsIG51bWVyaWMgc3RyaW5nIHRvIGEgbnVtYmVyLgo+ICsr KiogSW4gQzk5LCAnc3RydG9kJyBkb2VzIHRoYXQgY29udmVyc2lvbi4gT3RoZXJ3aXNlLCB5b3Ug Y2FuCj4gKysqKiBsZWF2ZSAnbHVhX3N0cngybnVtYmVyJyB1bmRlZmluZWQgYW5kIEx1YSB3aWxs IHByb3ZpZGUgaXRzIG93bgo+ICsrKiogaW1wbGVtZW50YXRpb24uCj4gKysqLwo+ICsrI2lmICFk ZWZpbmVkKExVQV9VU0VfQzg5KQo+ICsrI2RlZmluZSBsdWFfc3RyeDJudW1iZXIocyxwKQkJbHVh X3N0cjJudW1iZXIocyxwKQo+ICsrI2VuZGlmCj4gKysKPiArKwo+ICsrLyoKPiArK0BAIGx1YV9u dW1iZXIyc3RyeCBjb252ZXJ0cyBhIGZsb2F0IHRvIGFuIGhleGFkZWNpbWFsIG51bWVyaWMgc3Ry aW5nLgo+ICsrKiogSW4gQzk5LCAnc3ByaW50ZicgKHdpdGggZm9ybWF0IHNwZWNpZmllcnMgJyVh Jy8nJUEnKSBkb2VzIHRoYXQuCj4gKysqKiBPdGhlcndpc2UsIHlvdSBjYW4gbGVhdmUgJ2x1YV9u dW1iZXIyc3RyeCcgdW5kZWZpbmVkIGFuZCBMdWEgd2lsbAo+ICsrKiogcHJvdmlkZSBpdHMgb3du IGltcGxlbWVudGF0aW9uLgo+ICsrKi8KPiArKyNpZiAhZGVmaW5lZChMVUFfVVNFX0M4OSkKPiAr KyNkZWZpbmUgbHVhX251bWJlcjJzdHJ4KEwsYixzeixmLG4pICBcCj4gKysJKCh2b2lkKUwsIGxf c3ByaW50ZihiLHN6LGYsKExVQUlfVUFDTlVNQkVSKShuKSkpCj4gKysjZW5kaWYKPiArKwo+ICsr Cj4gKysvKgo+ICsrKiogJ3N0cnRvZicgYW5kICdvcGYnIHZhcmlhbnRzIGZvciBtYXRoIGZ1bmN0 aW9ucyBhcmUgbm90IHZhbGlkIGluCj4gKysqKiBDODkuIE90aGVyd2lzZSwgdGhlIG1hY3JvICdI VUdFX1ZBTEYnIGlzIGEgZ29vZCBwcm94eSBmb3IgdGVzdGluZyB0aGUKPiArKyoqIGF2YWlsYWJp bGl0eSBvZiB0aGVzZSB2YXJpYW50cy4gKCdtYXRoLmgnIGlzIGFscmVhZHkgaW5jbHVkZWQgaW4K PiArKyoqIGFsbCBmaWxlcyB0aGF0IHVzZSB0aGVzZSBtYWNyb3MuKQo+ICsrKi8KPiArKyNpZiBk ZWZpbmVkKExVQV9VU0VfQzg5KSB8fCAoZGVmaW5lZChIVUdFX1ZBTCkgJiYgIWRlZmluZWQoSFVH RV9WQUxGKSkKPiArKyN1bmRlZiBsX21hdGhvcCAgLyogdmFyaWFudHMgbm90IGF2YWlsYWJsZSAq Lwo+ICsrI3VuZGVmIGx1YV9zdHIybnVtYmVyCj4gKysjZGVmaW5lIGxfbWF0aG9wKG9wKQkJKGx1 YV9OdW1iZXIpb3AgIC8qIG5vIHZhcmlhbnQgKi8KPiArKyNkZWZpbmUgbHVhX3N0cjJudW1iZXIo cyxwKQkoKGx1YV9OdW1iZXIpc3RydG9kKChzKSwgKHApKSkKPiArKyNlbmRpZgo+ICsrCj4gKysK PiArKy8qCj4gKytAQCBMVUFfS0NPTlRFWFQgaXMgdGhlIHR5cGUgb2YgdGhlIGNvbnRleHQgKCdj dHgnKSBmb3IgY29udGludWF0aW9uCj4gKysqKiBmdW5jdGlvbnMuICBJdCBtdXN0IGJlIGEgbnVt ZXJpY2FsIHR5cGU7IEx1YSB3aWxsIHVzZSAnaW50cHRyX3QnIGlmCj4gKysqKiBhdmFpbGFibGUs IG90aGVyd2lzZSBpdCB3aWxsIHVzZSAncHRyZGlmZl90JyAodGhlIG5lYXJlc3QgdGhpbmcgdG8K PiArKyoqICdpbnRwdHJfdCcgaW4gQzg5KQo+ICsrKi8KPiArKyNkZWZpbmUgTFVBX0tDT05URVhU CXB0cmRpZmZfdAo+ICsrCj4gKysjaWYgIWRlZmluZWQoTFVBX1VTRV9DODkpICYmIGRlZmluZWQo X19TVERDX1ZFUlNJT05fXykgJiYgXAo+ICsrICAgIF9fU1REQ19WRVJTSU9OX18gPj0gMTk5OTAx TAo+ICsrI2luY2x1ZGUgPHN0ZGludC5oPgo+ICsrI2lmIGRlZmluZWQoSU5UUFRSX01BWCkgIC8q IGV2ZW4gaW4gQzk5IHRoaXMgdHlwZSBpcyBvcHRpb25hbCAqLwo+ICsrI3VuZGVmIExVQV9LQ09O VEVYVAo+ICsrI2RlZmluZSBMVUFfS0NPTlRFWFQJaW50cHRyX3QKPiArKyNlbmRpZgo+ICsrI2Vu ZGlmCj4gKysKPiArKwo+ICsrLyoKPiArK0BAIGx1YV9nZXRsb2NhbGVkZWNwb2ludCBnZXRzIHRo ZSBsb2NhbGUgInJhZGl4IGNoYXJhY3RlciIgKGRlY2ltYWwgcG9pbnQpLgo+ICsrKiogQ2hhbmdl IHRoYXQgaWYgeW91IGRvIG5vdCB3YW50IHRvIHVzZSBDIGxvY2FsZXMuIChDb2RlIHVzaW5nIHRo aXMKPiArKyoqIG1hY3JvIG11c3QgaW5jbHVkZSBoZWFkZXIgJ2xvY2FsZS5oJy4pCj4gKysqLwo+ ICsrI2lmICFkZWZpbmVkKGx1YV9nZXRsb2NhbGVkZWNwb2ludCkKPiArKyNkZWZpbmUgbHVhX2dl dGxvY2FsZWRlY3BvaW50KCkJCShsb2NhbGVjb252KCktPmRlY2ltYWxfcG9pbnRbMF0pCj4gKysj ZW5kaWYKPiArKwo+ICsrLyogfT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwo+ICsrCj4gKysKPiArKy8qCj4gKysqKiB7 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09Cj4gKysqKiBMYW5ndWFnZSBWYXJpYXRpb25zCj4gKysqKiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K PiArKyovCj4gKysKPiArKy8qCj4gKytAQCBMVUFfTk9DVlROMlMvTFVBX05PQ1ZUUzJOIGNvbnRy b2wgaG93IEx1YSBwZXJmb3JtcyBzb21lCj4gKysqKiBjb2VyY2lvbnMuIERlZmluZSBMVUFfTk9D VlROMlMgdG8gdHVybiBvZmYgYXV0b21hdGljIGNvZXJjaW9uIGZyb20KPiArKyoqIG51bWJlcnMg dG8gc3RyaW5ncy4gRGVmaW5lIExVQV9OT0NWVFMyTiB0byB0dXJuIG9mZiBhdXRvbWF0aWMKPiAr KyoqIGNvZXJjaW9uIGZyb20gc3RyaW5ncyB0byBudW1iZXJzLgo+ICsrKi8KPiArKy8qICNkZWZp bmUgTFVBX05PQ1ZUTjJTICovCj4gKysvKiAjZGVmaW5lIExVQV9OT0NWVFMyTiAqLwo+ICsrCj4g KysKPiArKy8qCj4gKytAQCBMVUFfVVNFX0FQSUNIRUNLIHR1cm5zIG9uIHNldmVyYWwgY29uc2lz dGVuY3kgY2hlY2tzIG9uIHRoZSBDIEFQSS4KPiArKyoqIERlZmluZSBpdCBhcyBhIGhlbHAgd2hl biBkZWJ1Z2dpbmcgQyBjb2RlLgo+ICsrKi8KPiArKyNpZiBkZWZpbmVkKExVQV9VU0VfQVBJQ0hF Q0spCj4gKysjaW5jbHVkZSA8YXNzZXJ0Lmg+Cj4gKysjZGVmaW5lIGx1YWlfYXBpY2hlY2sobCxl KQlhc3NlcnQoZSkKPiArKyNlbmRpZgo+ICsrCj4gKysvKiB9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovCj4gKysKPiAr Kwo+ICsrLyoKPiArKyoqIHs9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KPiArKyoqIE1hY3JvcyB0aGF0IGFmZmVjdCB0aGUg QVBJIGFuZCBtdXN0IGJlIHN0YWJsZSAodGhhdCBpcywgbXVzdCBiZSB0aGUKPiArKyoqIHNhbWUg d2hlbiB5b3UgY29tcGlsZSBMdWEgYW5kIHdoZW4geW91IGNvbXBpbGUgY29kZSB0aGF0IGxpbmtz IHRvCj4gKysqKiBMdWEpLiBZb3UgcHJvYmFibHkgZG8gbm90IHdhbnQvbmVlZCB0byBjaGFuZ2Ug dGhlbS4KPiArKyoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQo+ICsrKi8KPiArKwo+ICsrLyoKPiArK0BAIExVQUlf TUFYU1RBQ0sgbGltaXRzIHRoZSBzaXplIG9mIHRoZSBMdWEgc3RhY2suCj4gKysqKiBDSEFOR0Ug aXQgaWYgeW91IG5lZWQgYSBkaWZmZXJlbnQgbGltaXQuIFRoaXMgbGltaXQgaXMgYXJiaXRyYXJ5 Owo+ICsrKiogaXRzIG9ubHkgcHVycG9zZSBpcyB0byBzdG9wIEx1YSBmcm9tIGNvbnN1bWluZyB1 bmxpbWl0ZWQgc3RhY2sKPiArKyoqIHNwYWNlIChhbmQgdG8gcmVzZXJ2ZSBzb21lIG51bWJlcnMg Zm9yIHBzZXVkby1pbmRpY2VzKS4KPiArKyovCj4gKysjaWYgTFVBSV9CSVRTSU5UID49IDMyCj4g KysjZGVmaW5lIExVQUlfTUFYU1RBQ0sJCTEwMDAwMDAKPiArKyNlbHNlCj4gKysjZGVmaW5lIExV QUlfTUFYU1RBQ0sJCTIwNDgKPiArKyNlbmRpZgo+ICsrCj4gKysKPiArKy8qCj4gKytAQCBMVUFf RVhUUkFTUEFDRSBkZWZpbmVzIHRoZSBzaXplIG9mIGEgcmF3IG1lbW9yeSBhcmVhIGFzc29jaWF0 ZWQgd2l0aAo+ICsrKiogYSBMdWEgc3RhdGUgd2l0aCB2ZXJ5IGZhc3QgYWNjZXNzLgo+ICsrKiog Q0hBTkdFIGl0IGlmIHlvdSBuZWVkIGEgZGlmZmVyZW50IHNpemUuCj4gKysqLwo+ICsrI2RlZmlu ZSBMVUFfRVhUUkFTUEFDRQkJKHNpemVvZih2b2lkICopKQo+ICsrCj4gKysKPiArKy8qCj4gKytA QCBMVUFfSURTSVpFIGdpdmVzIHRoZSBtYXhpbXVtIHNpemUgZm9yIHRoZSBkZXNjcmlwdGlvbiBv ZiB0aGUgc291cmNlCj4gKytAQCBvZiBhIGZ1bmN0aW9uIGluIGRlYnVnIGluZm9ybWF0aW9uLgo+ ICsrKiogQ0hBTkdFIGl0IGlmIHlvdSB3YW50IGEgZGlmZmVyZW50IHNpemUuCj4gKysqLwo+ICsr I2RlZmluZSBMVUFfSURTSVpFCTYwCj4gKysKPiArKwo+ICsrLyoKPiArK0BAIExVQUxfQlVGRkVS U0laRSBpcyB0aGUgYnVmZmVyIHNpemUgdXNlZCBieSB0aGUgbGF1eGxpYiBidWZmZXIgc3lzdGVt Lgo+ICsrKiogQ0hBTkdFIGl0IGlmIGl0IHVzZXMgdG9vIG11Y2ggQy1zdGFjayBzcGFjZS4gKEZv ciBsb25nIGRvdWJsZSwKPiArKyoqICdzdHJpbmcuZm9ybWF0KCIlLjk5ZiIsIC0xZTQ5MzIpJyBu ZWVkcyA1MDM0IGJ5dGVzLCBzbyBhCj4gKysqKiBzbWFsbGVyIGJ1ZmZlciB3b3VsZCBmb3JjZSBh IG1lbW9yeSBhbGxvY2F0aW9uIGZvciBlYWNoIGNhbGwgdG8KPiArKyoqICdzdHJpbmcuZm9ybWF0 Jy4pCj4gKysqLwo+ICsrI2lmIExVQV9GTE9BVF9UWVBFID09IExVQV9GTE9BVF9MT05HRE9VQkxF Cj4gKysjZGVmaW5lIExVQUxfQlVGRkVSU0laRQkJODE5Mgo+ICsrI2Vsc2UKPiArKyNkZWZpbmUg TFVBTF9CVUZGRVJTSVpFICAgKChpbnQpKDB4ODAgKiBzaXplb2Yodm9pZCopICogc2l6ZW9mKGx1 YV9JbnRlZ2VyKSkpCj4gKysjZW5kaWYKPiArKwo+ICsrLyogfT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwo+ICsrCj4g KysKPiArKy8qCj4gKytAQCBMVUFfUUwgZGVzY3JpYmVzIGhvdyBlcnJvciBtZXNzYWdlcyBxdW90 ZSBwcm9ncmFtIGVsZW1lbnRzLgo+ICsrKiogTHVhIGRvZXMgbm90IHVzZSB0aGVzZSBtYWNyb3Mg YW55bW9yZTsgdGhleSBhcmUgaGVyZSBmb3IKPiArKyoqIGNvbXBhdGliaWxpdHkgb25seS4KPiAr KyovCj4gKysjZGVmaW5lIExVQV9RTCh4KQkiJyIgeCAiJyIKPiArKyNkZWZpbmUgTFVBX1FTCQlM VUFfUUwoIiVzIikKPiArKwo+ICsrCj4gKysKPiArKwo+ICsrLyogPT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqLwo+ICsr Cj4gKysvKgo+ICsrKiogTG9jYWwgY29uZmlndXJhdGlvbi4gWW91IGNhbiB1c2UgdGhpcyBzcGFj ZSB0byBhZGQgeW91ciByZWRlZmluaXRpb25zCj4gKysqKiB3aXRob3V0IG1vZGlmeWluZyB0aGUg bWFpbiBwYXJ0IG9mIHRoZSBmaWxlLgo+ICsrKi8KPiArKwo+ICsrCj4gKysKPiArKwo+ICsrCj4g KysjZW5kaWYKPiArKwo+IGRpZmYgLS1naXQgYS9wYXRjaGVzL2x1YS01LjEuNC8wMTAyLUFkZC1s dWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNoIGIvcGF0 Y2hlcy9sdWEtNS4zLjQvMDEwMy1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1h dXRvbWFrZS1maWxlcy5wYXRjaAo+IHNpbWlsYXJpdHkgaW5kZXggODklCj4gcmVuYW1lIGZyb20g cGF0Y2hlcy9sdWEtNS4xLjQvMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFk ZC1hdXRvbWFrZS1maWxlcy5wYXRjaAo+IHJlbmFtZSB0byBwYXRjaGVzL2x1YS01LjMuNC8wMTAz LUFkZC1sdWEtc3VwcG9ydC10by1wdHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNo Cj4gaW5kZXggYTJiNmM0YWFlLi4xYmEyNzgyNWUgMTAwNjQ0Cj4gLS0tIGEvcGF0Y2hlcy9sdWEt NS4xLjQvMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LWFkZC1hdXRvbWFrZS1m aWxlcy5wYXRjaAo+ICsrKyBiL3BhdGNoZXMvbHVhLTUuMy40LzAxMDMtQWRkLWx1YS1zdXBwb3J0 LXRvLXB0eGRpc3QtMS45OS1hZGQtYXV0b21ha2UtZmlsZXMucGF0Y2gKPiBAQCAtMTMsMTAgKzEz LDEwIEBAIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRy b25peC5kZT4KPiAgLS0tCj4gICBNYWtlZmlsZS5hbSAgICAgIHwgIDUgKysrKysKPiAgIGRvYy9N YWtlZmlsZS5hbSAgfCAgNSArKysrKwo+IC0gZXRjL01ha2VmaWxlLmFtICB8ICA4ICsrKysrKysr Cj4gKyBldGMvTWFrZWZpbGUuYW0gIHwgIDYgKysrKysrCj4gICBzcmMvTWFrZWZpbGUuYW0gIHwg NDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKPiAgIHRl c3QvTWFrZWZpbGUuYW0gfCAgNSArKysrKwo+IC0gNSBmaWxlcyBjaGFuZ2VkLCA3MCBpbnNlcnRp b25zKCspCj4gKyA1IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKykKPiAgIGNyZWF0ZSBt b2RlIDEwMDY0NCBNYWtlZmlsZS5hbQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRvYy9NYWtlZmls ZS5hbQo+ICAgY3JlYXRlIG1vZGUgMTAwNjQ0IGV0Yy9NYWtlZmlsZS5hbQo+IEBAIC0yNSw3ICsy NSw3IEBAIFNpZ25lZC1vZmYtYnk6IFJvYmVydCBTY2h3ZWJlbCA8ci5zY2h3ZWJlbEBwZW5ndXRy b25peC5kZT4KPiAgCj4gIGRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCj4g IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gLWluZGV4IDAwMDAwMDAuLmRlNzhhMjQKPiAraW5kZXgg MDAwMDAwMDAwMDAwLi5kZTc4YTI0NWU0OWUKPiAgLS0tIC9kZXYvbnVsbAo+ICArKysgYi9NYWtl ZmlsZS5hbQo+ICBAQCAtMCwwICsxLDUgQEAKPiBAQCAtMzYsNyArMzYsNyBAQCBpbmRleCAwMDAw MDAwLi5kZTc4YTI0Cj4gICtFWFRSQV9ESVNUID0gYXV0b2dlbi5zaCBDT1BZUklHSFQgSElTVE9S WSBJTlNUQUxMIFJFQURNRQo+ICBkaWZmIC0tZ2l0IGEvZG9jL01ha2VmaWxlLmFtIGIvZG9jL01h a2VmaWxlLmFtCj4gIG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gLWluZGV4IDAwMDAwMDAuLjU3NGI2 ZjgKPiAraW5kZXggMDAwMDAwMDAwMDAwLi41NzRiNmY4ZWI5M2EKPiAgLS0tIC9kZXYvbnVsbAo+ ICArKysgYi9kb2MvTWFrZWZpbGUuYW0KPiAgQEAgLTAsMCArMSw1IEBACj4gQEAgLTQ3LDEyICs0 NywxMCBAQCBpbmRleCAwMDAwMDAwLi41NzRiNmY4Cj4gICsJbG9nby5naWYgICAgICAgbHVhYy4x ICBsdWEuY3NzICAgIHJlYWRtZS5odG1sCj4gIGRpZmYgLS1naXQgYS9ldGMvTWFrZWZpbGUuYW0g Yi9ldGMvTWFrZWZpbGUuYW0KPiAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiAtaW5kZXggMDAwMDAw MC4uMjNlZGQ5Mgo+ICtpbmRleCAwMDAwMDAwMDAwMDAuLmI4NjllNzcxOTg3ZQo+ICAtLS0gL2Rl di9udWxsCj4gICsrKyBiL2V0Yy9NYWtlZmlsZS5hbQo+IC1AQCAtMCwwICsxLDggQEAKPiAtK2lu Y2x1ZGVfSEVBREVSUyA9IGx1YS5ocHAKPiAtKwo+ICtAQCAtMCwwICsxLDYgQEAKPiAgK3BrZ2Nv bmZpZ2RpciA9ICQobGliZGlyKS9wa2djb25maWcKPiAgK3BrZ2NvbmZpZ19EQVRBID0gbHVhLnBj Cj4gICsKPiBAQCAtNjEsMTMgKzU5LDEzIEBAIGluZGV4IDAwMDAwMDAuLjIzZWRkOTIKPiAgKwls dWF2cy5iYXQgIG1pbi5jICAgICAgUkVBRE1FCj4gIGRpZmYgLS1naXQgYS9zcmMvTWFrZWZpbGUu YW0gYi9zcmMvTWFrZWZpbGUuYW0KPiAgbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiAtaW5kZXggMDAw MDAwMC4uY2Y2YmRlYQo+ICtpbmRleCAwMDAwMDAwMDAwMDAuLmZkZWMyMzNjYjUyMQo+ICAtLS0g L2Rldi9udWxsCj4gICsrKyBiL3NyYy9NYWtlZmlsZS5hbQo+ICBAQCAtMCwwICsxLDQ3IEBACj4g ICtBTV9DRkxBR1MgPSAtV2FsbAo+ICArCj4gLStpbmNsdWRlX0hFQURFUlMgPSBsdWEuaCBsdWFs aWIuaCBsYXV4bGliLmgKPiArK2luY2x1ZGVfSEVBREVSUyA9IGx1YS5oIGx1YWxpYi5oIGxhdXhs aWIuaCBsdWEuaHBwCj4gICtub2Rpc3RfaW5jbHVkZV9IRUFERVJTID0gbHVhY29uZi5oCj4gICsK PiAgK2xpYl9MVExJQlJBUklFUyA9IGxpYmx1YS5sYQo+IEBAIC03Nyw3ICs3NSw3IEBAIGluZGV4 IDAwMDAwMDAuLmNmNmJkZWEKPiAgKwlsb2JqZWN0LmMgbG9wY29kZXMuYyBscGFyc2VyLmMgbHN0 YXRlLmMgbHN0cmluZy5jIGx0YWJsZS5jIGx0bS5jICBcCj4gICsJbHVuZHVtcC5jIGx2bS5jIGx6 aW8uYyBcCj4gICsJbGF1eGxpYi5jIGxiYXNlbGliLmMgbGRibGliLmMgbGlvbGliLmMgbG1hdGhs aWIuYyBsb3NsaWIuYyBsdGFibGliLmMgXAo+IC0rCWxzdHJsaWIuYyBsb2FkbGliLmMgbGluaXQu YyBcCj4gKysJbHN0cmxpYi5jIGxvYWRsaWIuYyBsaW5pdC5jIGxjdHlwZS5jIGxjb3JvbGliLmMg bHV0ZjhsaWIuYyBcCj4gICsJbGFwaS5oIGxkZWJ1Zy5oIGxnYy5oIGxtZW0uaCBscGFyc2VyLmgg bHRhYmxlLmggbHppby5oIGxkby5oIGxsZXguaCBcCj4gICsJbG9iamVjdC5oIGxzdGF0ZS5oIGx0 bS5oIGx1bmR1bXAuaCBsY29kZS5oIGxmdW5jLmggbGxpbWl0cy5oIGxvcGNvZGVzLmggXAo+ICAr CWxzdHJpbmcuaCBsdm0uaAo+IEBAIC05MCw3ICs4OCw3IEBAIGluZGV4IDAwMDAwMDAuLmNmNmJk ZWEKPiAgK2x1YV9MREFERCA9IGxpYmx1YS5sYSBATFVBX0xJQlNACj4gICtsdWFfREVQRU5ERU5D SUVTID0gbGlibHVhLmxhCj4gICsKPiAtK2x1YWNfU09VUkNFUyA9IGx1YWMuYyBwcmludC5jCj4g KytsdWFjX1NPVVJDRVMgPSBsdWFjLmMKPiAgK2x1YWNfTERBREQgPSBsaWJsdWEubGEgQExVQV9M SUJTQAo+ICArbHVhY19ERVBFTkRFTkNJRVMgPSBsaWJsdWEubGEKPiAgKwo+IEBAIC0xMTQsNyAr MTEyLDcgQEAgaW5kZXggMDAwMDAwMC4uY2Y2YmRlYQo+ICArCW12IGx1YWNvbmYuaC50bXAgbHVh Y29uZi5oCj4gIGRpZmYgLS1naXQgYS90ZXN0L01ha2VmaWxlLmFtIGIvdGVzdC9NYWtlZmlsZS5h bQo+ICBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IC1pbmRleCAwMDAwMDAwLi5iYWI3ZWFjCj4gK2lu ZGV4IDAwMDAwMDAwMDAwMC4uYmFiN2VhYzJmYzc0Cj4gIC0tLSAvZGV2L251bGwKPiAgKysrIGIv dGVzdC9NYWtlZmlsZS5hbQo+ICBAQCAtMCwwICsxLDUgQEAKPiBkaWZmIC0tZ2l0IGEvcGF0Y2hl cy9sdWEtNS4xLjQvYXV0b2dlbi5zaCBiL3BhdGNoZXMvbHVhLTUuMy40L2F1dG9nZW4uc2gKPiBz aW1pbGFyaXR5IGluZGV4IDEwMCUKPiByZW5hbWUgZnJvbSBwYXRjaGVzL2x1YS01LjEuNC9hdXRv Z2VuLnNoCj4gcmVuYW1lIHRvIHBhdGNoZXMvbHVhLTUuMy40L2F1dG9nZW4uc2gKPiBkaWZmIC0t Z2l0IGEvcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVzIGIvcGF0Y2hlcy9sdWEtNS4zLjQvc2VyaWVz Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwMDAuLmU1ODI0MWI4Ygo+IC0t LSAvZGV2L251bGwKPiArKysgYi9wYXRjaGVzL2x1YS01LjMuNC9zZXJpZXMKPiBAQCAtMCwwICsx LDYgQEAKPiArIyBnZW5lcmF0ZWQgYnkgZ2l0LXB0eC1wYXRjaGVzCj4gKyN0YWc6YmFzZSAtLXN0 YXJ0LW51bWJlciAxMDEKPiArMDEwMS1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlzdC0xLjk5LXJl bW92ZS1vbGQtTWFrZWZpbGUucGF0Y2gKPiArMDEwMi1BZGQtbHVhLXN1cHBvcnQtdG8tcHR4ZGlz dC0xLjk5LWFkZC1hdXRvY29uZi1maWxlcy5wYXRjaAo+ICswMTAzLUFkZC1sdWEtc3VwcG9ydC10 by1wdHhkaXN0LTEuOTktYWRkLWF1dG9tYWtlLWZpbGVzLnBhdGNoCj4gKyMgNzkyYzhhMDJhZTY0 NTgzZmIxMWExMWNlMzYwOWJlZDIgIC0gZ2l0LXB0eC1wYXRjaGVzIG1hZ2ljCj4gZGlmZiAtLWdp dCBhL3J1bGVzL2x1YS5tYWtlIGIvcnVsZXMvbHVhLm1ha2UKPiBpbmRleCAzMGJjZTVkYTcuLmQ3 MzQzMzlkOSAxMDA2NDQKPiAtLS0gYS9ydWxlcy9sdWEubWFrZQo+ICsrKyBiL3J1bGVzL2x1YS5t YWtlCj4gQEAgLTE3LDggKzE3LDggQEAgUEFDS0FHRVMtJChQVFhDT05GX0xVQSkgKz0gbHVhCj4g ICMKPiAgIyBQYXRocyBhbmQgbmFtZXMKPiAgIwo+IC1MVUFfVkVSU0lPTgk6PSA1LjEuNAo+IC1M VUFfTUQ1CQk6PSBkMDg3MGYyZGU1NWQ1OWMxYzg0MTlmMzZlOGZhYzE1MAo+ICtMVUFfVkVSU0lP Tgk6PSA1LjMuNAo+ICtMVUFfTUQ1CQk6PSA1M2E5YzY4YmNjMGVkYTU4YmRjMjA5NWFkNWNkZmM2 Mwo+ICBMVUEJCTo9IGx1YS0kKExVQV9WRVJTSU9OKQo+ICBMVUFfU1VGRklYCTo9IHRhci5nego+ ICBMVUFfVVJMCQk6PSBodHRwOi8vd3d3Lmx1YS5vcmcvZnRwLyQoTFVBKS4kKExVQV9TVUZGSVgp Cj4gLS0gCj4gMi4xMy4yCj4gCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KPiBwdHhkaXN0IG1haWxpbmcgbGlzdAo+IHB0eGRpc3RAcGVuZ3V0cm9u aXguZGUKCi0tIApQZW5ndXRyb25peCBlLksuICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfApJbmR1c3RyaWFsIExpbnV4IFNvbHV0aW9ucyAg ICAgICAgICAgICAgICAgfCBodHRwOi8vd3d3LnBlbmd1dHJvbml4LmRlLyAgfApQZWluZXIgU3Ry LiA2LTgsIDMxMTM3IEhpbGRlc2hlaW0sIEdlcm1hbnkgfCBQaG9uZTogKzQ5LTUxMjEtMjA2OTE3 LTAgICAgfApBbXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEgMjY4NiAgICAgICAgICAgfCBGYXg6 ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KcHR4ZGlzdCBtYWlsaW5nIGxpc3QKcHR4ZGlzdEBwZW5ndXRyb25p eC5kZQ==