From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx.groups.io with SMTP id smtpd.web11.495.1587954754842688436 for ; Sun, 26 Apr 2020 19:32:35 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.126, mailfrom: ray.ni@intel.com) IronPort-SDR: oSIWNVHh0Gqa0pBsz/Fpfmh00sSyrdW/3H8S4a6oiWkJcf9d6eSEpxYZHxBH6zcRhHu8Fx6bLT G2Hb77to8CSw== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by orsmga106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Apr 2020 19:32:33 -0700 IronPort-SDR: IxomKAYJ6kM8bEV/J+1P1mmBamfzy+99hlqmmLfBxVzd7TT876cD/gsjR88jvHjIbuL50xW5xU Jdj7Gk1H3bng== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,321,1583222400"; d="scan'208";a="336103684" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga001.jf.intel.com with ESMTP; 26 Apr 2020 19:32:32 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 26 Apr 2020 19:32:32 -0700 Received: from fmsmsx602.amr.corp.intel.com (10.18.126.82) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sun, 26 Apr 2020 19:32:30 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sun, 26 Apr 2020 19:32:30 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.225]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.209]) with mapi id 14.03.0439.000; Mon, 27 Apr 2020 10:32:15 +0800 From: "Ni, Ray" To: "Gao, Liming" , "Jiang, Guomin" , "devel@edk2.groups.io" , "Kinney, Michael D" , "ard.biesheuvel@linaro.org" CC: "lersek@redhat.com" , "macarl@microsoft.com" Subject: Re: [edk2-devel] [PATCH] CryptoPkg/FltUsedLib: Add FltUsedLib for float. Thread-Topic: [edk2-devel] [PATCH] CryptoPkg/FltUsedLib: Add FltUsedLib for float. Thread-Index: AQHWBnCgCoUkH8e7okW2cls24/mue6hg+RYAgAAoAACAAAPHgIAA+7QAgAAgDACAAQ3WgIAApm0AgBQyHQCAABynoIANyA8wgAAmJPD//4O8AIAAHT4AgAGGugCAA9NIgIABPeAA Date: Mon, 27 Apr 2020 02:32:14 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C5113B9@SHSMSX104.ccr.corp.intel.com> References: <03f18a49-6bd6-e753-e1bf-7e061d13f200@redhat.com> <14537.1585603662366515487@groups.io> <276d435b-4d94-0899-9710-1584d7baeb3c@redhat.com> <734D49CCEBEEF84792F5B80ED585239D5C4FC746@SHSMSX104.ccr.corp.intel.com> <16059D94172527B2.17445@groups.io> <734D49CCEBEEF84792F5B80ED585239D5C5099F3@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: ray.ni@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBtYXkgbWlzcyBzb21lIGRpc2N1c3Npb25zLg0KSSByZW1lbWJlciB0aGUgb3JpZ2luYWwgZGlz Y3Vzc2lvbiBvdXRwdXQgd2FzIHRvIGNyZWF0ZSBhIGNvbXBpbGVyIHN0dWIgZm9yIHg4Ni4NCldo eSBub3cgd2UgdHJlbmQgdG8gbW92ZSB0byBCYXNlTGliPw0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4NCj4g U2VudDogU3VuZGF5LCBBcHJpbCAyNiwgMjAyMCAxMTozMyBQTQ0KPiBUbzogSmlhbmcsIEd1b21p biA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBOaSwgUmF5 DQo+IDxyYXkubmlAaW50ZWwuY29tPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsNCj4gYXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZw0KPiBDYzogbGVyc2Vr QHJlZGhhdC5jb207IG1hY2FybEBtaWNyb3NvZnQuY29tDQo+IFN1YmplY3Q6IFJFOiBbZWRrMi1k ZXZlbF0gW1BBVENIXSBDcnlwdG9Qa2cvRmx0VXNlZExpYjogQWRkIEZsdFVzZWRMaWIgZm9yDQo+ IGZsb2F0Lg0KPiANCj4gR3VvbWluOg0KPiAgIFRoZSBzaXplIGltcGFjdCBpcyBzbWFsbC4gVGhp cyBzb2x1dGlvbiB0aGF0IG1vdmVzIF9mbHR1c2VkIHRvIEJhc2VMaWIgaXMgT0sgdG8NCj4gbWUu DQo+IA0KPiBUaGFua3MNCj4gTGltaW5nDQo+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPiBGcm9tOiBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPg0KPiA+IFNl bnQ6IEZyaWRheSwgQXByaWwgMjQsIDIwMjAgMTowOCBQTQ0KPiA+IFRvOiBHYW8sIExpbWluZyA8 bGltaW5nLmdhb0BpbnRlbC5jb20+OyBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTmksIFJheQ0KPiA8 cmF5Lm5pQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4gPG1pY2hhZWwuZC5raW5u ZXlAaW50ZWwuY29tPjsgYXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZw0KPiA+IENjOiBsZXJzZWtA cmVkaGF0LmNvbTsgbWFjYXJsQG1pY3Jvc29mdC5jb20NCj4gPiBTdWJqZWN0OiBSRTogW2VkazIt ZGV2ZWxdIFtQQVRDSF0gQ3J5cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZCBGbHRVc2VkTGliIGZvcg0K PiBmbG9hdC4NCj4gPg0KPiA+IEkgaGF2ZSBjb21wYXJlIHRoZSBJbWFnZSBkaWZmZXJlbnQsIHRo ZSBhcmUgdHdvIGltYWdlIHNpemUgd2lsbCBiZSBhZmZlY3QNCj4gYmVmb3JlIGFuZCBhZnRlciBt b3ZlIF9mbHR1c2VkIHRvIEJhc2VMaWIuDQo+ID4NCj4gPiBPbmUgaXMgVGNnUGVpLCBhbm90aGVy IGlzIFNlY3VyaXR5U3R1YkR4ZSwgdGhlIGRldGFpbCBhcyBiZWxvdyB0YWJsZQ0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBUY2dQZWkgICAgICAgICAgICAgICAgICAgIHwgU2Vj dXJpdHlTdHViRHhlDQo+ID4gQmVmb3JlIG1vdmU6ICAgICAgIDIyNjg4KGRlY2ltYWwpICAgfCAg IDMwNjI0KGRlY2ltYWwpDQo+ID4gQWZ0ZXIgbW92ZSAgICAgICAgICAgMjI2NTYoZGVjaW1hbCkg ICB8ICAgMzA1OTIoZGVjaW1hbCkNCj4gPg0KPiA+IFRoZSBzaXplIG9mIHJlZHVjYXRpb24gaXMg MzIgb3IgMHgyMCBieXRlcw0KPiA+IFRob3NlIGNvbXBvbmVudCBpcyBsb2NhdGVkIHRoZSBib3Vu ZGFyeSwgc28gaXQgd2lsbCBvY2N1cHkgbW9yZSBzaXplIHRvIG1lZXQNCj4gdGhlIGFsaWdubWVu dC4NCj4gPg0KPiA+IEFub3RoZXIgcXVlc3Rpb24gaXMgdGhhdCBzb21lIGNvbXBvbmVudCB3aWxs IGZhaWwgaW4gQ0kgcmVzdWx0IHdoZW4gbW92ZQ0KPiBfZmx0dXNlZCB0byBCYXNlTGliLg0KPiA+ IEkgYW0gY2hlY2tpbmcgaXQuDQo+ID4NCj4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+ID4gPiBGcm9tOiBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+ID4gPiBT ZW50OiBUaHVyc2RheSwgQXByaWwgMjMsIDIwMjAgMTo0OSBQTQ0KPiA+ID4gVG86IGRldmVsQGVk azIuZ3JvdXBzLmlvOyBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgTmks DQo+IFJheQ0KPiA+ID4gPHJheS5uaUBpbnRlbC5jb20+OyBLaW5uZXksIE1pY2hhZWwgRCA8bWlj aGFlbC5kLmtpbm5leUBpbnRlbC5jb20+Ow0KPiA+ID4gYXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9y Zw0KPiA+ID4gQ2M6IGxlcnNla0ByZWRoYXQuY29tOyBtYWNhcmxAbWljcm9zb2Z0LmNvbQ0KPiA+ ID4gU3ViamVjdDogUkU6IFtlZGsyLWRldmVsXSBbUEFUQ0hdIENyeXB0b1BrZy9GbHRVc2VkTGli OiBBZGQgRmx0VXNlZExpYiBmb3INCj4gPiA+IGZsb2F0Lg0KPiA+ID4NCj4gPiA+IEd1b21pbjoN Cj4gPiA+ICAgWW91IGNhbiBjb3VudCB0aGUgc2l6ZSBvZiBhbGwgZ2VuZXJhdGVkIEVGSSBpbWFn ZXMgZm9yIElBMzIgYW5kIFg2NCwgdGhlbg0KPiA+ID4gY29tcGFyZSB0aGVtIGJldHdlZW4gdHdv IGJ1aWxkcy4gVGhpcyBjaGFuZ2Ugc2hvdWxkIGltcGFjdCBFRkkgaW1hZ2UNCj4gPiA+IG9ubHku IEJhc2VkIG9uIHRoaXMgZGF0YSwgd2UgY2FuIGtub3cgdGhlIGltYWdlIHNpemUgaW1wYWN0Lg0K PiA+ID4NCj4gPiA+IFRoYW5rcw0KPiA+ID4gTGltaW5nDQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBl ZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mDQo+ID4gPiBHdW9taW4NCj4gPiA+ID4gSmlhbmcN Cj4gPiA+ID4gU2VudDogVGh1cnNkYXksIEFwcmlsIDIzLCAyMDIwIDEyOjA0IFBNDQo+ID4gPiA+ IFRvOiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPjsgZGV2ZWxAZWRrMi5ncm91cHMuaW87IEtp bm5leSwgTWljaGFlbA0KPiA+ID4gPiBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IGFy ZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcNCj4gPiA+ID4gQ2M6IGxlcnNla0ByZWRoYXQuY29tOyBt YWNhcmxAbWljcm9zb2Z0LmNvbQ0KPiA+ID4gPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQ QVRDSF0gQ3J5cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZCBGbHRVc2VkTGliDQo+ID4gPiBmb3IgZmxv YXQuDQo+ID4gPiA+DQo+ID4gPiA+IEkgZ3Vlc3MgdGhlIGtleSBwb2ludCBpcyAvR0wgb3B0aW9u LiBJbnRyaW5zaWNMaWIgb21pdCB0aGUgL0dMIG9wdGlvbg0KPiA+ID4gPiB0byBhdm9pZCB0aGUg YnVpbGQgZXJyb3IsIGJ1dCBpdCBhYmFuZG9uIHRoZSBvcHRpbWl6YXRpb24gbWVhbndoaWxlLg0K PiA+ID4gPiBJIHdpbGwgZG8gYSB0ZXN0OiBjcmVhdGUgYSBzaW1wbGVzdCBhcHBsaWNhdGlvbiBh bmQganVzdCBkZXBlbmQNCj4gPiA+ID4gSW50cmluc2ljTGliIGFuZCBhZGQgL0dMIG9wdGlvbiB0 byBjb21wYXJlIHRoZSBkaWZmZXJlbnQgd2l0aCBhbmQgd2l0aG91dA0KPiA+ID4gL0dMLg0KPiA+ ID4gPg0KPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gRnJv bTogTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPiA+ID4gPiBTZW50OiBUaHVyc2RheSwg QXByaWwgMjMsIDIwMjAgMTE6MzIgQU0NCj4gPiA+ID4gPiBUbzogSmlhbmcsIEd1b21pbiA8Z3Vv bWluLmppYW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOw0KPiA+ID4gPiA+IEtp bm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47DQo+ID4gPiA+ID4g YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZw0KPiA+ID4gPiA+IENjOiBsZXJzZWtAcmVkaGF0LmNv bTsgbWFjYXJsQG1pY3Jvc29mdC5jb20NCj4gPiA+ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2 ZWxdIFtQQVRDSF0gQ3J5cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZA0KPiA+ID4gPiA+IEZsdFVzZWRM aWIgZm9yIGZsb2F0Lg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gR3VvbWluLA0KPiA+ID4gPiA+IENh biB5b3UgaW52ZXN0aWdhdGUgd2h5IG1vdmluZyBfZmx0dXNlZCBmcm9tIENyeXB0b1BrZy9JbnRy aW5zaWNMaWINCj4gPiA+ID4gPiB0byBNZGVQa2cvQmFzZUxpYiBzYXZlcyBzaXplPw0KPiA+ID4g PiA+DQo+ID4gPiA+ID4gVGhhbmtzLA0KPiA+ID4gPiA+IFJheQ0KPiA+ID4gPiA+DQo+ID4gPiA+ ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gRnJvbTogSmlhbmcs IEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4gPiA+ID4gPiA+IFNlbnQ6IFRodXJz ZGF5LCBBcHJpbCAyMywgMjAyMCA5OjM0IEFNDQo+ID4gPiA+ID4gPiBUbzogZGV2ZWxAZWRrMi5n cm91cHMuaW87IEppYW5nLCBHdW9taW4gPGd1b21pbi5qaWFuZ0BpbnRlbC5jb20+Ow0KPiA+ID4g PiA+ID4gTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFlbCBEDQo+ID4g PiA+ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBhcmQuYmllc2hldXZlbEBsaW5h cm8ub3JnDQo+ID4gPiA+ID4gPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IG1hY2FybEBtaWNyb3Nv ZnQuY29tDQo+ID4gPiA+ID4gPiBTdWJqZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQ3J5 cHRvUGtnL0ZsdFVzZWRMaWI6IEFkZA0KPiA+ID4gPiA+ID4gRmx0VXNlZExpYg0KPiA+ID4gPiA+ IGZvciBmbG9hdC4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBUaGUgc2l6ZSBjb21wYXJhdGlv biBiZXR3ZWVuIHdpdGggX2ZsdHVzZWQgYW5kIHdpdGhvdXQgX2ZsdHVzZWQsDQo+ID4gPiA+ID4g PiB1c2UNCj4gPiA+ID4gPiBPdm1mUGtnWDY0IGFzIGJ1aWxkIHRhcmdldA0KPiA+ID4gPiA+ID4g T3ZtZlg2NCAgRUZJX0ZWX1RBS0VOX1NJWkUgIHwgICBXaXRob3V0IF9mbHR1c2VkICAgICAgIHwg V2l0aCBfZmx0dXNlZA0KPiA+ID4gPiA+ID4gRFhFRlYgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB8ICAweDQ2YmJlMCAgICAgICAgICAgICAgICAgICAgIHwgMHg0 NmJiYzANCj4gPiA+ID4gPiA+IEZWTUFJTl9DT01QQUNUICAgICAgICAgICAgICAgICAgICAgfCAg MHgxMmM4YTAgICAgICAgICAgICAgICAgICAgICAgfCAweDEyYzdmMA0KPiA+ID4gPiA+ID4gUEVJ RlYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMHg0Y2Fl OCAgICAgICAgICAgICAgICAgICAgICAgICB8IDB4NGNhNjgNCj4gPiA+ID4gPiA+IEZyb20gdGhl IHJlc3VsdCwgaXQgd2lsbCBvY2N1cHkgbGVzcyBzaXplIHJhdGhlciB0aGFuIG1vcmUgc2l6ZS4N Cj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBDb2RlIENoYW5nZSBhcyBiZWxvdyBhbmQgYnVpbGQg Y29tbWFuZCBpcyBgYGBidWlsZCAtcA0KPiA+ID4gPiA+ID4gT3ZtZlBrZy9Pdm1mUGtnWDY0IC1i IERFQlVHIC10IFZTMjAxOSAtYSBYNjQgLQ0KPiA+ID4gRFRQTV9FTkFCTEU9VFJVRWBgYA0KPiA+ ID4gPiA+ID4NCj4gPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9DcnlwdG9Qa2cvTGlicmFyeS9JbnRy aW5zaWNMaWIvTWVtb3J5SW50cmluc2ljcy5jDQo+ID4gPiA+ID4gPiBiL0NyeXB0b1BrZy9MaWJy YXJ5L0ludHJpbnNpY0xpYi9NZW1vcnlJbnRyaW5zaWNzLmMNCj4gPiA+ID4gPiA+IGluZGV4IDk0 ZmUzNDFiZWMuLmM0MTM2OTE2ZDAgMTAwNjQ0DQo+ID4gPiA+ID4gPiAtLS0gYS9DcnlwdG9Qa2cv TGlicmFyeS9JbnRyaW5zaWNMaWIvTWVtb3J5SW50cmluc2ljcy5jDQo+ID4gPiA+ID4gPiArKysg Yi9DcnlwdG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvTWVtb3J5SW50cmluc2ljcy5jDQo+ID4g PiA+ID4gPiBAQCAtMiw3ICsyLDcgQEANCj4gPiA+ID4gPiA+ICAgIEludHJpbnNpYyBNZW1vcnkg Um91dGluZXMgV3JhcHBlciBJbXBsZW1lbnRhdGlvbiBmb3IgT3BlblNTTC0NCj4gPiA+IGJhc2Vk DQo+ID4gPiA+ID4gPiAgICBDcnlwdG9ncmFwaGljIExpYnJhcnkuDQo+ID4gPiA+ID4gPg0KPiA+ ID4gPiA+ID4gLUNvcHlyaWdodCAoYykgMjAxMCAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzDQo+ID4gPiA+ID4gPiByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4gPiArQ29weXJp Z2h0IChjKSAyMDEwIC0gMjAyMCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ ID4gPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4gPiAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgKiovDQo+ ID4gPiA+ID4gPiBAQCAtMTMsMTYgKzEzLDYgQEAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiAgdHlwZWRlZiBVSU5U TiAgc2l6ZV90Ow0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IC0jaWYgZGVmaW5lZChfX0dOVUNf XykgfHwgZGVmaW5lZChfX2NsYW5nX18pDQo+ID4gPiA+ID4gPiAtICAjZGVmaW5lIEdMT0JBTF9V U0VEIF9fYXR0cmlidXRlX18oKHVzZWQpKSAtI2Vsc2UNCj4gPiA+ID4gPiA+IC0gICNkZWZpbmUg R0xPQkFMX1VTRUQNCj4gPiA+ID4gPiA+IC0jZW5kaWYNCj4gPiA+ID4gPiA+IC0NCj4gPiA+ID4g PiA+IC0vKiBPcGVuU1NMIHdpbGwgdXNlIGZsb2F0aW5nIHBvaW50IHN1cHBvcnQsIGFuZCBDIGNv bXBpbGVyDQo+ID4gPiA+ID4gPiBwcm9kdWNlcyB0aGUNCj4gPiA+ID4gPiBfZmx0dXNlZA0KPiA+ ID4gPiA+ID4gLSAgIHN5bWJvbCBieSBkZWZhdWx0LiBTaW1wbHkgZGVmaW5lIHRoaXMgc3ltYm9s IGhlcmUgdG8gc2F0aXNmeSB0aGUNCj4gbGlua2VyLg0KPiA+ID4gKi8NCj4gPiA+ID4gPiA+IC1p bnQgIEdMT0JBTF9VU0VEIF9mbHR1c2VkID0gMTsNCj4gPiA+ID4gPiA+IC0NCj4gPiA+ID4gPiA+ ICAvKiBTZXRzIGJ1ZmZlcnMgdG8gYSBzcGVjaWZpZWQgY2hhcmFjdGVyICovICB2b2lkICogbWVt c2V0ICh2b2lkDQo+ID4gPiA+ID4gPiAqZGVzdCwgaW50IGNoLCBzaXplX3QgY291bnQpICB7IGRp ZmYgLS1naXQNCj4gPiA+ID4gPiA+IGEvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmlu Zg0KPiA+ID4gPiA+ID4gYi9NZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+ID4g PiA+ID4gPiBpbmRleCAzNTg2YmViMGFiLi5iYWIzMWMwN2M3IDEwMDY0NA0KPiA+ID4gPiA+ID4g LS0tIGEvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+ID4gPiA+ID4gKysr IGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxpYi9CYXNlTGliLmluZg0KPiA+ID4gPiA+ID4gQEAgLTEs NyArMSw3IEBADQo+ID4gPiA+ID4gPiAgIyMgQGZpbGUNCj4gPiA+ID4gPiA+ICAjICBCYXNlIExp YnJhcnkgaW1wbGVtZW50YXRpb24uDQo+ID4gPiA+ID4gPiAgIw0KPiA+ID4gPiA+ID4gLSMgIENv cHlyaWdodCAoYykgMjAwNyAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzDQo+ ID4gPiA+ID4gPiByZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4gPiArIyAgQ29weXJpZ2h0IChjKSAy MDA3IC0gMjAyMCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ID4gPiA+ICty ZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4gPiAgIyAgUG9ydGlvbnMgY29weXJpZ2h0IChjKSAyMDA4 IC0gMjAwOSwgQXBwbGUgSW5jLiBBbGwgcmlnaHRzDQo+ID4gPiA+ID4gPiByZXNlcnZlZC48QlI+ ICAjICBQb3J0aW9ucyBjb3B5cmlnaHQgKGMpIDIwMTEgLSAyMDEzLCBBUk0gTHRkLiBBbGwNCj4g PiA+ID4gPiA+IHJpZ2h0cyByZXNlcnZlZC48QlI+ICAjIEBAIC02MCw2ICs2MCw3IEBADQo+ID4g PiA+ID4gPiAgICBTdHJpbmcuYw0KPiA+ID4gPiA+ID4gICAgRmlsZVBhdGhzLmMNCj4gPiA+ID4g PiA+ICAgIEJhc2VMaWJJbnRlcm5hbHMuaA0KPiA+ID4gPiA+ID4gKyAgRmx0VXNlZC5jICAgICAg ICAgICAgICAgfCBNU0ZUDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gIFtTb3VyY2VzLklhMzJd DQo+ID4gPiA+ID4gPiAgICBJYTMyL1dyaXRlVHIubmFzbQ0KPiA+ID4gPiA+ID4gZGlmZiAtLWdp dCBhL01kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvRmx0VXNlZC5jDQo+ID4gPiA+ID4gPiBiL01kZVBr Zy9MaWJyYXJ5L0Jhc2VMaWIvRmx0VXNlZC5jDQo+ID4gPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiA+ID4gPiA+ID4gaW5kZXggMDAwMDAwMDAwMC4uYzA2NTU5NDI2Ng0KPiA+ID4gPiA+ ID4gLS0tIC9kZXYvbnVsbA0KPiA+ID4gPiA+ID4gKysrIGIvTWRlUGtnL0xpYnJhcnkvQmFzZUxp Yi9GbHRVc2VkLmMNCj4gPiA+ID4gPiA+IEBAIC0wLDAgKzEsMTQgQEANCj4gPiA+ID4gPiA+ICsv KiogQGZpbGUNCj4gPiA+ID4gPiA+ICsgIERlY2xhcmUgX2ZsdHVzZWQgc3ltYm9sIGZvciBNU1ZD DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4gPiArICBNU1ZDIG5lZWQgdGhpcyBzeW1ib2wgZm9y IGZsb2F0LCBhbmRkIGl0IGhlcmUgdG8gZmVlZCBNU1ZDLiBpdA0KPiA+ID4gPiA+ID4gKyBtYXkg cmVtb3ZlICBpZiBNU1ZDIG5vdCBuZWVkIGl0IGFueSBtb3JlLg0KPiA+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ID4gKyAgQ29weXJpZ2h0IChjKSAyMDIwIC0gMjAyMCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMNCj4gPiA+ID4gPiA+ICtyZXNlcnZlZC48QlI+DQo+ID4gPiA+ID4gPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudCAqKi8NCj4gPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiA+ICsvLw0KPiA+ID4gPiA+ID4gKy8vIEp1c3QgZm9yIE1TVkMgZmxv YXQNCj4gPiA+ID4gPiA+ICsvLw0KPiA+ID4gPiA+ID4gK2ludCBfZmx0dXNlZCA9IDB4MTsNCj4g PiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4g PiA+ID4gPiA+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5p bz4gT24gQmVoYWxmIE9mDQo+ID4gPiA+ID4gPiA+IEd1b21pbiBKaWFuZw0KPiA+ID4gPiA+ID4g PiBTZW50OiBUdWVzZGF5LCBBcHJpbCAxNCwgMjAyMCAzOjAxIFBNDQo+ID4gPiA+ID4gPiA+IFRv OiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT47IEtpbm5l eSwNCj4gPiA+ID4gPiA+ID4gTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47 DQo+ID4gPiA+ID4gPiA+IGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmcNCj4gPiA+ID4gPiA+ID4g Q2M6IGxlcnNla0ByZWRoYXQuY29tOyBtYWNhcmxAbWljcm9zb2Z0LmNvbQ0KPiA+ID4gPiA+ID4g PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQ3J5cHRvUGtnL0ZsdFVzZWRMaWI6 IEFkZA0KPiA+ID4gPiA+ID4gPiBGbHRVc2VkTGliIGZvciBmbG9hdC4NCj4gPiA+ID4gPiA+ID4N Cj4gPiA+ID4gPiA+ID4gU3VtbWFyaXplIGN1cnJlbnQgc3RhdHVzOg0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiBQcm9ibGVtIFN0YXRlbWVudDoNCj4gPiA+ID4gPiA+ID4gT3BlbnNzbCBy ZXF1aXJlIF9mbHR1c2VkIHRvIGJlIGRlZmluZWQgYXMgYSBjb25zdGFudCBhbnl3aGVyZQ0KPiA+ ID4gPiA+ID4gPiBmbG9hdGluZyBwb2ludCBpcyB1c2VkLg0KPiA+ID4gPiA+ID4gPiBJdCBtYXkg dXNlIGZsb2F0IG91dCBvZiBlZGsyIHRyZWUgYW5kIG5lZWQgX2ZsdHVzZWQsIGZvcg0KPiA+ID4g PiA+ID4gPiBleGFtcGxlLCBNaWNyb3NvZnTigJlzIE9uU2NyZWVuS2V5Ym9hcmQgYW5kIFVpVG9v bEtpdC4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gQ3VycmVudCBQcm9wb3NhbCBhcyBi ZWxvdzoNCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gUHJvcG9zYWwgMTogQWRkIEZsdFVz ZWQuYyBpbnRvIGV4aXN0IGxpYnJhcnkNCj4gPiA+ID4gPiA+ID4gRGV0YWlsOiBBZGQgRmx0VXNl ZC5jIGludG8gRW50cnlQb2ludExpYihQRUlNLCBEWEUpLg0KPiA+ID4gPiA+ID4gPiBSZWNvbW1l bmQ6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiA+ID4gPiA+ ID4gPiBBcHByb3ZlOiBMYXN6bG8gRXJzZWsgbGVyc2VrQHJlZGhhdC5jb20NCj4gPiA+ID4gPiA+ ID4gTmV0dWFsOiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4N Cj4gPiA+ID4gPiA+ID4gQmVuZWZpdDogRG9lc27igJl0IG5lZWQgbW9kaWZ5IGV2ZXJ5IC5kc2Mg ZGVzY3JpcHRpb24gZmlsZS4NCj4gPiA+ID4gPiA+ID4gRGVmZWN0aW9uOiBJIHRlc3QgdGhhdCBp dCB3aWxsIGZhaWwgYmVjYXVzZSBvZiAvR0wgb3B0aW9uLCB0aGUNCj4gPiA+ID4gPiA+ID4gZXJy b3Igc2hvdyBmYXRhbCBlcnJvciBMTksxMjM3OiBkdXJpbmcgY29kZSBnZW5lcmF0aW9uLCBjb21w aWxlcg0KPiA+ID4gPiA+ID4gPiBpbnRyb2R1Y2VkIHJlZmVyZW5jZSB0byBzeW1ib2wgJ19mbHR1 c2VkJyBkZWZpbmVkIGluIG1vZHVsZQ0KPiA+ID4gPiA+ID4gPiAnVWVmaUFwcGxpY2F0aW9uRW50 cnlQb2ludC5saWIoRmx0VXNlZC5vYmopJyBjb21waWxlZCB3aXRoIC9HTA0KPiA+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+ID4gPiBQcm9wb3NhbCAyOiBEZWZpbmUgTlVMTCBsaWJyYXJ5DQo+ID4gPiA+ ID4gPiA+IFJlY29tbWVuZDogTWljaGFlbCBEIEtpbm5leSBtaWNoYWVsLmQua2lubmV5QGludGVs LmNvbQ0KPiA+ID4gPiA+ID4gPiBPcHBvc2U6IFNlYW4gc2Vhbi5icm9nYW49bWljcm9zb2Z0LmNv bUBncm91cHMuaW8gLCBBcmQNCj4gPiA+ID4gPiA+ID4gQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2 ZWxAbGluYXJvLm9yZz4NCj4gPiA+ID4gPiA+ID4gQmVuZWZpdDogSSB0ZXN0IGl0IGFuZCBwcm92 ZSB0aGF0IGl0IGlzIGV4ZWN1dGFibGUuDQo+ID4gPiA+ID4gPiA+IERlZmVjdGlvbjogSXQgaXMg cmVxdWlyZWQgdGhhdCBtb2RpZnkgZXZlcnkgZGVzY3JpcHRpb24gZmlsZS4NCj4gPiA+ID4gPiA+ ID4gRGVmZWN0aW9uOiBJdCBuZWVkIGJlIHZlcnkgY2FyZWZ1bCB0aGF0IGl0IHNob3VsZCBvbmx5 IGFwcGx5DQo+ID4gPiA+ID4gPiA+IHNvbWUgbW9kdWxlIHR5cGUoUEVJTSwgRFhFX0RSSVZFUiwg VUVGSV9BUFBMSUNBVElPTikgcmF0aGVyDQo+ID4gPiB0aGFuIGFsbC4NCj4gPiA+ID4gPiA+ID4g RGVmZWN0aW9uOiBCdWlsZCBicmVhayB1cC4NCj4gPiA+ID4gPiA+ID4gQWN0aW9uIFJlcXVpcmVk OiBOZWVkIGV2YWx1YXRlIHRoZSBhZmZlY3Rpb24gb24gc2l6ZS4NCj4gPiA+ID4gPiA+ID4gQ29u c2lkZXJhdGlvbjogQWRkIFBDRCB0byBjb250cm9sIHRoZSBmZWF0dXJlDQo+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+IFByb3Bvc2FsIDM6IERlZmluZSBGbHRVc2VkTGliDQo+ID4gPiA+ID4g PiA+IERldGFpbDogRGVmaW5lIEZsdFVzZWRMaWIgYW5kIGFkZCBkZXBlbmRlbmNlDQo+ID4gPiA+ ID4gPiA+IE9wcG9zZTogQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+ DQo+ID4gPiA+ID4gPiA+IEJlbmVmaXQ6IERvZXNu4oCZdCBuZWVkIGNhcmUgdGhhdCB3aGljaCBt b2R1bGUgd2lsbCB1c2UgaXQsIHdlDQo+ID4gPiA+ID4gPiA+IHdpbGwgZXhwbGljaXRseSBwb2lu dCBpdCBpbiBjb21wb25lbnQgZmlsZS4NCj4gPiA+ID4gPiA+ID4gRGVmZWN0aW9uOiBNb3JlIGNv bXBsZXgsIEl0IGlzIHJlcXVpcmVkIHRoYXQgbW9kaWZ5IGV2ZXJ5DQo+ID4gPiA+ID4gPiA+IGRl c2NyaXB0aW9uIGZpbGUgYW5kIG1vZGlmeSBjb21wb25lbnQgbWVhbndoaWxlLg0KPiA+ID4gPiA+ ID4gPiBEZWZlY3Rpb246IEJ1aWxkIGJyZWFrdXANCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gVGhhbmtzDQo+ID4gPiA+ID4gPiA+IGd1b21pbg0KPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+ID4gRnJvbTog ZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYNCj4g T2YNCj4gPiA+ID4gPiA+ID4gPiBOaSwNCj4gPiA+ID4gPiA+ID4gUmF5DQo+ID4gPiA+ID4gPiA+ ID4gU2VudDogVHVlc2RheSwgQXByaWwgMTQsIDIwMjAgMTowMyBQTQ0KPiA+ID4gPiA+ID4gPiA+ IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA+ID4gPiA+ ID4gPiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyBhcmQuYmllc2hldXZlbEBsaW5hcm8u b3JnOw0KPiA+ID4gPiA+ID4gPiA+IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiBDYzogbGVyc2VrQHJlZGhhdC5jb207IG1hY2Fy bEBtaWNyb3NvZnQuY29tDQo+ID4gPiA+ID4gPiA+ID4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVs XSBbUEFUQ0hdIENyeXB0b1BrZy9GbHRVc2VkTGliOiBBZGQNCj4gPiA+ID4gPiA+ID4gPiBGbHRV c2VkTGliIGZvciBmbG9hdC4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFVFRkkg c3BlYyBhbGxvd3MgdXNpbmcgZmxvYXQgb3BlcmF0aW9uIHNvIGFza2luZyBtb2R1bGUNCj4gPiA+ ID4gPiA+ID4gPiBkZXZlbG9wZXJzIGF2b2lkIHVzaW5nIGZsb2F0IG1heSBub3QgbWFrZSBzZW5z ZS4gRXZlbg0KPiA+ID4gPiA+ID4gPiA+IFVlZmlDcHVQa2dcTGlicmFyeVxCYXNlVWVmaUNwdUxp YlwNCj4gPiA+ID4gPiA+ID4gPiBwcm92aWRlcyByb3V0aW5lIHRvIGluaXRpYWxpemUgZmxvYXQg c3VwcG9ydCBmb3IgWDg2Lg0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gR2l2ZW4g QVJNIGFscmVhZHkgdXNlcyBOVUxMIGxpYnJhcnkgY2xhc3MgbWVjaGFuaXNtIHRvIHN1cHBseQ0K PiA+ID4gPiA+ID4gPiA+IHRoZSBjb21waWxlciBzdHViLCBJIHByZWZlciBYODYgYWxpZ25zIHRv IHRoZSBBUk0gc3R5bGUuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGUgb25s eSB1bnN1cmUgdGhpbmcgaXMgdGhlIHNpemUgaW1wYWN0IHdoZW4gYSBtb2R1bGUgaXMgbm90DQo+ ID4gPiA+ID4gPiA+ID4gdXNpbmcgZmxvYXQuIFdlIGV4cGVjdCB0aGVyZSBpcyBubyBzaXplIGlt cGFjdCB3aGVuIGEgbW9kdWxlDQo+ID4gPiA+ID4gPiA+ID4gaXMgbm90DQo+ID4gPiA+ID4gdXNp bmcgZmxvYXQuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGFua3MsDQo+ID4g PiA+ID4gPiA+ID4gUmF5DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+ID4gPiA+ID4gPiBGcm9tOiBkZXZlbEBlZGsy Lmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9uIEJlaGFsZg0KPiA+ID4gPiA+ID4g PiA+ID4gT2YNCj4gPiA+ID4gPiA+ID4gPiBNaWNoYWVsDQo+ID4gPiA+ID4gPiA+ID4gPiBEIEtp bm5leQ0KPiA+ID4gPiA+ID4gPiA+ID4gU2VudDogVGh1cnNkYXksIEFwcmlsIDIsIDIwMjAgMTI6 MzggQU0NCj4gPiA+ID4gPiA+ID4gPiA+IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbzsgYXJkLmJp ZXNoZXV2ZWxAbGluYXJvLm9yZzsgS2lubmV5LA0KPiA+ID4gPiA+ID4gPiA+ID4gTWljaGFlbCBE IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+IENjOiBsZXJz ZWtAcmVkaGF0LmNvbTsgbWFjYXJsQG1pY3Jvc29mdC5jb20NCj4gPiA+ID4gPiA+ID4gPiA+IFN1 YmplY3Q6IFJlOiBbZWRrMi1kZXZlbF0gW1BBVENIXSBDcnlwdG9Qa2cvRmx0VXNlZExpYjogQWRk DQo+ID4gPiA+ID4gPiA+ID4gPiBGbHRVc2VkTGliIGZvciBmbG9hdC4NCj4gPiA+ID4gPiA+ID4g PiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBIaSBBcmQsDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+ID4gSSB0aGluayBhZGRpbmcgYSBkZXBlbmRlbmN5IGluIHRoZSBtb2R1bGUgZW50 cnkgcG9pbnQgbGlicw0KPiA+ID4gPiA+ID4gPiA+ID4gaXMgYWxzbyBnb29kIHdheSB0byBndWFy YW50ZWUgYW4gaW50cmluc2ljIGxpYiBpcyBhdmFpbGFibGUuDQo+ID4gPiA+ID4gPiA+ID4gPiBJ IGFncmVlIHRoYXQgaXQgY2FuIHByb3ZpZGUgbW9kdWxlIHR5cGUgYW5kIGFyY2ggc3BlY2lmaWMN Cj4gPiA+ID4gPiA+ID4gPiA+IG1hcHBpbmdzLiAgVGhlIE5VTEwgbGliIGluc3RhbmNlIGNhbiBk byB0aGUgc2FtZSBpZiB0aGUgTlVMTA0KPiA+ID4gPiA+ID4gPiA+ID4gaW5zdGFuY2UgaXMgbGlz dGVkIGluIHRoZSBtb2R1bGUvYXJjaCBzcGVjaWZpYyBsaWJyYXJ5DQo+ID4gPiA+ID4gPiA+ID4g PiBjbGFzc2VzIHNlY3Rpb25zLiBhIGZldyBleGFtcGxlIHNlY3Rpb24gbmFtZXMuDQo+ID4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gW0xpYnJhcnlDbGFzc2VzLkFSTS5QRUlNLCBM aWJyYXJ5Q2xhc3Nlcy5BQVJDSDY0LlBFSU1dDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ID4gW0xpYnJhcnlDbGFzc2VzLklBMzIuVUVGSV9EUklWRVJdDQo+ID4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gW0xpYnJhcnlDbGFzc2VzLlg2NC5EWEVfRFJJVkVSXQ0K PiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IFNvIGVpdGhlciB3YXksIHRoZSBE U0MgZmlsZXMgbmVlZCB0byBwcm92aWRlIHRoZSBsaWJyYXJ5IG1hcHBpbmcuDQo+ID4gPiA+ID4g PiA+ID4gPiBUaGUgb25seSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlc2UNCj4gPiA+ID4gPiA+ID4g PiA+IDIgYXBwcm9hY2hlcyBpcyB0aGF0IGFkZGluZyBhIGRlcGVuZGVuY3kgdG8gdGhlIG1vZHVs ZSBlbnRyeQ0KPiA+ID4gPiA+ID4gPiA+ID4gcG9pbnQgbGlicyB1c2VzIGEgZm9ybWFsbHkgZGVm aW5lZCBsaWJyYXJ5IGNsYXNzIG5hbWUgZm9yDQo+ID4gPiA+ID4gPiA+ID4gPiB0aGUgaW50cmlu c2ljIGZ1bmN0aW9ucyB2cy4NCj4gPiA+ID4gPiA+ID4gPiA+IHRoZSB1bi1uYW1lZCBOVUxMIGxp YnJhcnkgaW5zdGFuY2UuICBBIGZvcm1hbGx5IGRlZmluZWQNCj4gPiA+ID4gPiA+ID4gPiA+IGxp YnJhcnkgY2xhc3MgbmFtZSBpcyBiZXR0ZXIgc3VwcG9ydGVkIGZvciB0aGluZ3MgbGlrZSB1bml0 DQo+ID4gPiA+ID4gPiA+ID4gPiB0ZXN0cyBmcm9tIHRoZSBVbml0VGVzdEZyYW1ld29ya1BrZy4N Cj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBUaGUgZmx0dXNlZCBpc3N1ZSB3 b3VsZCBub3QgZ28gYXdheSBvZiB3ZSByZW1vdmVkIHRoZSBmbG9hdA0KPiA+ID4gPiA+ID4gPiA+ ID4gdXNhZ2UgZm9yIE9wZW5TU0wuICBPbmUgb3IgbW9yZSBvdGhlciBsaWJzIG9yIHRoZSBtb2R1 bGUNCj4gPiA+ID4gPiA+ID4gPiA+IGNvdWxkIHVzZSBmbG9hdC9kb3VibGUgdHlwZXMgYW5kIHRo aXMgaXNzdWUgd291bGQgcG9wIHVwDQo+ID4gPiA+ID4gPiA+ID4gPiBhZ2Fpbi4gIEkgZG8gYWdy ZWUgaXQgd291bGQgYmUgY2xlYW5lciBpZiB3ZSBjb3VsZCB1c2UNCj4gPiA+ID4gPiA+ID4gPiA+ IE9wZW5TU0wgd2l0aG91dCBmbG9hdGluZw0KPiA+ID4gPiA+IHBvaW50Lg0KPiA+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+IEkgdGhpbmsgYWRkaW5nIGFuIGludHJpbnNpYyBsaWIg Zm9yIElBMzIvWDY0IGZvciBWUzIweHgNCj4gPiA+ID4gPiA+ID4gPiA+IGdlbmVyYXRpb24gb2Yg aW50cmluc2ljIGZ1bmN0aW9ucyB3b3VsZCBhZGRyZXNzIGZsdHVzZWQgYW5kDQo+ID4gPiA+ID4g PiA+ID4gPiBvdGhlciBjb21tb24gQyBpbXBsZW1lbnRhdGlvbiBzdHlsZXMgdGhhdCBnZW5lcmF0 ZSBpbnRyaW5zaWMNCj4gPiA+ID4gPiA+ID4gPiA+IGZ1bmN0aW9ucyAoZS5nLiA2NC1iaXQgaW50 IG1hdGggb24gMzItYml0LCBzdHJ1Y3R1cmUNCj4gPiA+ID4gPiA+ID4gPiA+IHZhcmlhYmxlIGFz c2lnbm1lbnRzLCBhbmQgbG9vcHMgdGhhdCBmaWxsIGEgYnVmZmVyIHdpdGggYQ0KPiA+ID4gPiA+ ID4gPiA+ID4gY29uc3QgdmFsdWUpIGJ5IFZTMjB4eCBjb21waWxlcnMuICBBbiBpbnRyaW5zaWMg bGliIGZvciBHQ0MNCj4gPiA+ID4gPiA+ID4gPiA+IHdvdWxkIGFsc28gaGVscCB3aXRoIHRoZXNl IHNhbWUgY29tbW9uIEMgaW1wbGVtZW50YXRpb24NCj4gPiA+ID4gPiA+ID4gPiA+IHN0eWxlcyB0 aGF0IGdlbmVyYXRlIGludHJpbnNpYw0KPiA+ID4gPiA+IGZ1bmN0aW9ucy4NCj4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBNaWtlDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4g PiA+ID4gPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+ID4gPiA+ ID4gPiBGcm9tOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbyA8ZGV2ZWxAZWRrMi5ncm91cHMuaW8+IE9u DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEJlaGFsZiBPZg0KPiA+ID4gPiA+ID4gPiBBcmQNCj4gPiA+ ID4gPiA+ID4gPiA+ID4gQmllc2hldXZlbA0KPiA+ID4gPiA+ID4gPiA+ID4gPiBTZW50OiBUdWVz ZGF5LCBNYXJjaCAzMSwgMjAyMCAxMTo0MyBQTQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBUbzogS2lu bmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+ID4g PiA+ID4gPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IGxlcnNla0ByZWRoYXQuY29tOw0KPiA+ ID4gPiA+ID4gPiA+ID4gPiBtYWNhcmxAbWljcm9zb2Z0LmNvbQ0KPiA+ID4gPiA+ID4gPiA+ID4g PiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSF0gQ3J5cHRvUGtnL0ZsdFVzZWRMaWI6 DQo+ID4gPiA+ID4gPiA+ID4gPiA+IEFkZCBGbHRVc2VkTGliIGZvciBmbG9hdC4NCj4gPiA+ID4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gT24gVHVlLCAzMSBNYXIgMjAyMCBhdCAx NjozNiwgS2lubmV5LCBNaWNoYWVsIEQNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPG1pY2hhZWwuZC5r aW5uZXlAaW50ZWwuY29tPiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiA+IEFSTSBhbmQgQUFSQ0g2NCBoYXZlIGEgY29tcGlsZXIgaW50cmluc2ljIGxp YiB0aGF0IGlzDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGxpbmtlZCBhZ2FpbnN0IGFsbCBtb2R1bGVz Lg0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4gW0xpYnJhcnlD bGFzc2VzLkFSTSwgTGlicmFyeUNsYXNzZXMuQUFSQ0g2NF0NCj4gPiA+ID4gPiA+ID4gPiA+ID4g PiAgICMNCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICMgSXQgaXMgbm90IHBvc3NpYmxlIHRvIHBy ZXZlbnQgQVJNIGNvbXBpbGVyIGNhbGxzIHRvDQo+ID4gPiA+ID4gPiA+ID4gPiA+IGdlbmVyaWMg aW50cmluc2ljIGZ1bmN0aW9ucy4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAgICMgVGhpcyBsaWJy YXJ5IHByb3ZpZGVzIHRoZSBpbnN0cmluc2ljIGZ1bmN0aW9ucw0KPiA+ID4gPiA+ID4gPiA+ID4g PiBnZW5lcmF0ZWQgYnkgYSBnaXZlbiBjb21waWxlci4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPiAg ICMgW0xpYnJhcnlDbGFzc2VzLkFSTV0gYW5kIE5VTEwgbWVhbiBsaW5rIHRoaXMNCj4gPiA+ID4g PiA+ID4gPiA+ID4gbGlicmFyeSBpbnRvIGFsbCBBUk0gaW1hZ2VzLg0KPiA+ID4gPiA+ID4gPiA+ ID4gPiA+ICAgIw0KPiA+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiA+IE5V TEx8QXJtUGtnL0xpYnJhcnkvQ29tcGlsZXJJbnRyaW5zaWNzTGliL0NvbXBpbGVySW50cmlucw0K PiA+ID4gPiA+ID4gPiA+ID4gPiBpY3NMaWIuaW5mDQo+ID4gPiA+ID4gPiA+ID4gPiA+ID4NCj4g PiA+ID4gPiA+ID4gPiA+ID4gPiBDYW4gd2UgdXNlIHRoaXMgc2FtZSB0ZWNobmlxdWUgZm9yIElB MzIvWDY0IFZTIGJ1aWxkcz8NCj4gPiA+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBJbiBteSBvcGluaW9uLCBoYXZpbmcgdGhlc2UgaW50 cmluc2ljcyBsaWJyYXJpZXMgYWRkZWQgdmlhDQo+ID4gPiA+ID4gPiA+ID4gPiA+IE5VTEwgbGli cmFyeSBjbGFzcyByZXNvbHV0aW9uIHdhcyBhIG1pc3Rha2UgdG8gYmVnaW4gd2l0aC4NCj4gPiA+ ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiA+ID4gRXZlcnkgY29tcG9uZW50IHRoYXQg d2UgYnVpbGQgaW5jb3Jwb3JhdGVzIHNvbWUga2luZCBvZg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBz dGFydHVwIGNvZGUgbGlicmFyeSB0aGF0IGRlZmluZXMgdGhlIF9Nb2R1bGVFbnRyeVBvaW50DQo+ ID4gPiA+ID4gPiA+ID4gPiA+IHN5bWJvbCwgYW5kIGl0IHdvdWxkIGJlIG11Y2ggYmV0dGVyIHRv IG1ha2UgdGhvc2UNCj4gPiA+ID4gPiA+ID4gPiA+ID4gbGlicmFyaWVzIGluY2x1ZGUgYW4gSW50 cmluc2ljc0xpYnJhcnkgZGVwZW5kZW5jeSB0aGF0IGNhbg0KPiA+ID4gPiA+ID4gPiA+ID4gPiBi ZSBzYXRpc2ZpZWQgYnkgYXJjaCBzcGVjaWZpYyB2ZXJzaW9ucyB0aGF0IGFsc28NCj4gPiA+ID4g PiA+ID4gPiA+ID4gZW5jYXBzdWxhdGUgdGhlIHRvb2xjaGFpbiBkZXBlbmRlbmNpZXMgKHN1Y2gg YXMgdGhpcw0KPiA+ID4gPiA+ID4gPiA+ID4gPiBfZmx0dXNlZCBzeW1ib2wsIG9yIG1lbWNweS9t ZW1zZXQNCj4gPiA+ID4gPiBvbiBBUk0vR0NDKS4NCj4gPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiA+ID4gT24gYW5vdGhlciBub3RlLCBpdCBpcyBzdGlsbCBkZWVwbHkgZGlzYXBw b2ludGluZyB0aGF0IHdlDQo+ID4gPiA+ID4gPiA+ID4gPiA+IG5lZWQgdG8ganVtcCB0aHJvdWdo IGFsbCBvZiB0aGVzZSBob29wcyBiZWNhdXNlIHRoZSAqb25seSoNCj4gPiA+ID4gPiA+ID4gPiA+ ID4gc2luZ2xlIHVzZSBvZiBmbG9hdGluZyBwb2ludCBpbiBPcGVuU1NMIGlzIHRoZSBlbnRyb3B5 DQo+ID4gPiA+ID4gPiA+ID4gPiA+IGVzdGltYXRlIG9mIGFuIFJORywgd2hpY2ggaXMgaW4gdGhl IHJhbmdlIG9mIDAuLjEwMjMgdG8gYmVnaW4NCj4gPiA+IHdpdGggW0lJUkMpLg0KPiA+ID4gPiA+ ID4gPiA+ID4gPiBSZW1lbWJlciB0aGF0IHdlIGFsc28gaGF2ZSBhIHNvZnRmbG9hdCBzdWJtb2R1 bGUgZm9yDQo+ID4gPiA+ID4gPiA+ID4gPiA+IDMyLWJpdCBBUk0sIGZvciB0aGUgc2FtZSBzdHVw aWQgcmVhc29uLiBJZiB3ZSBjb3VsZCBzdG9wDQo+ID4gPiA+ID4gPiA+ID4gPiA+IHB1bGxpbmcg aW4gdGhhdCBwYXJ0IG9mIHRoZSBjb2RlIChvciByZXBsYWNlIGl0IHdpdGggYW4NCj4gPiA+ID4g PiA+ID4gPiA+ID4gVUlOVDE2IHdoZW4gYnVpbGRpbmcgZm9yIHRoZSBVRUZJIHRhcmdldCksIHRo ZSB3aG9sZQ0KPiA+ID4gPiA+ID4gPiA+ID4gPiBmbG9hdGluZyBwb2ludCBpc3N1ZSB3b3VsZCBt b3N0bHkgZ28gYXdheSBBRkFJQ1QuDQo+ID4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4g Pg0KPiA+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IA0KPiANCg0K