From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.24; helo=mga09.intel.com; envelope-from=ruiyu.ni@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 8D49C203564D4 for ; Wed, 29 Nov 2017 05:08:35 -0800 (PST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 29 Nov 2017 05:12:59 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,473,1505804400"; d="scan'208";a="7207345" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by FMSMGA003.fm.intel.com with ESMTP; 29 Nov 2017 05:12:58 -0800 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 29 Nov 2017 05:12:58 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.319.2; Wed, 29 Nov 2017 05:12:58 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.152]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.213]) with mapi id 14.03.0319.002; Wed, 29 Nov 2017 21:12:55 +0800 From: "Ni, Ruiyu" To: Laszlo Ersek , "edk2-devel@lists.01.org" CC: Anthony Perard , "Justen, Jordan L" , Ard Biesheuvel , "Carsey, Jaben" Thread-Topic: [edk2] [PATCH v3 6/6] OvmfPkg: Add tftp dynamic command Thread-Index: AQHTaK12Ba96OaKrHEKRqMQQ7/HAC6MqqTeAgACsanA= Date: Wed, 29 Nov 2017 13:12:54 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BAD70DD@SHSMSX104.ccr.corp.intel.com> References: <20171129005952.208940-1-ruiyu.ni@intel.com> <20171129005952.208940-7-ruiyu.ni@intel.com> <50f9cb65-5947-ce38-ee3f-656986058875@redhat.com> In-Reply-To: <50f9cb65-5947-ce38-ee3f-656986058875@redhat.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNzdiZjczNTMtMjYxNC00NDkxLTlmZmMtYjM3MzA4OTAwNTA3IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJsMm1RaE9OZjk2eGxXbEJcLzlVZWtuS0RUdHN6bGFaVEZ2YnpnVGtvUURBcEJldmwwTVp5THozY3IxbEdSSEFrdiJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH v3 6/6] OvmfPkg: Add tftp dynamic command X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Nov 2017 13:08:35 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogTGFzemxvIEVyc2VrIFtt YWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+IFNlbnQ6IFdlZG5lc2RheSwgTm92ZW1iZXIgMjks IDIwMTcgNjo1NCBQTQ0KPiBUbzogTmksIFJ1aXl1IDxydWl5dS5uaUBpbnRlbC5jb20+OyBlZGsy LWRldmVsQGxpc3RzLjAxLm9yZw0KPiBDYzogQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJk QGNpdHJpeC5jb20+OyBKdXN0ZW4sIEpvcmRhbiBMDQo+IDxqb3JkYW4ubC5qdXN0ZW5AaW50ZWwu Y29tPjsgQXJkIEJpZXNoZXV2ZWwgPGFyZC5iaWVzaGV1dmVsQGxpbmFyby5vcmc+Ow0KPiBDYXJz ZXksIEphYmVuIDxqYWJlbi5jYXJzZXlAaW50ZWwuY29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazJd IFtQQVRDSCB2MyA2LzZdIE92bWZQa2c6IEFkZCB0ZnRwIGR5bmFtaWMgY29tbWFuZA0KPiANCj4g SGkgUmF5LA0KPiANCj4gT24gMTEvMjkvMTcgMDE6NTksIFJ1aXl1IE5pIHdyb3RlOg0KPiA+IFRo ZSBURlRQIGNvbW1hbmQgd2FzIGNvbnZlcnRlZCBmcm9tIGEgTlVMTCBjbGFzcyBsaWJyYXJ5IGlu c3RhbmNlDQo+ID4gdG8gYSBkeW5hbWljIHNoZWxsIGNvbW1hbmQgaW4gY29tbWl0IDA5NjEwMDIz NTJlOS4NCj4gPiBUaGlzIHBhdGNoIGNvbXBsZW1lbnRzIGNvbW1pdCBmOWJjMmY4NzYzMjYsIHdo aWNoIG9ubHkgcmVtb3ZlZCB0aGUNCj4gPiBvbGQgbGlicmFyeSwgYnV0IGRpZG4ndCBhZGQgdGhl IG5ldyBkeW5hbWljIGNvbW1hbmTjgIINCj4gPg0KPiA+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFu b0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPiBTaWduZWQtb2ZmLWJ5OiBSdWl5 dSBOaSA8cnVpeXUubmlAaW50ZWwuY29tPg0KPiA+IENjOiBKb3JkYW4gSnVzdGVuIDxqb3JkYW4u bC5qdXN0ZW5AaW50ZWwuY29tPg0KPiA+IFJldmlld2VkLWJ5OiBMYXN6bG8gRXJzZWsgPGxlcnNl a0ByZWRoYXQuY29tPg0KPiA+IENjOiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGlu YXJvLm9yZz4NCj4gPiBDYzogQW50aG9ueSBQZXJhcmQgPGFudGhvbnkucGVyYXJkQGNpdHJpeC5j b20+DQo+ID4gQ2M6IEp1bGllbiBHcmFsbCA8anVsaWVuLmdyYWxsQGxpbmFyby5vcmc+DQo+ID4g LS0tDQo+ID4gIE92bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjICAgIHwgNyArKysrKy0tDQo+ID4gIE92 bWZQa2cvT3ZtZlBrZ0lhMzIuZmRmICAgIHwgMyArKy0NCj4gPiAgT3ZtZlBrZy9Pdm1mUGtnSWEz Mlg2NC5kc2MgfCA3ICsrKysrLS0NCj4gPiAgT3ZtZlBrZy9Pdm1mUGtnSWEzMlg2NC5mZGYgfCAz ICsrLQ0KPiA+ICBPdm1mUGtnL092bWZQa2dYNjQuZHNjICAgICB8IDcgKysrKystLQ0KPiA+ICBP dm1mUGtnL092bWZQa2dYNjQuZmRmICAgICB8IDMgKystDQo+ID4gIDYgZmlsZXMgY2hhbmdlZCwg MjEgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkNCj4gDQo+IGFmdGVyIHYxIEkgYXNrZWQg Zm9yIHNvbWUgY2hhbmdlcywgYW5kIGdhdmUgbXkgUi1iIGNvbmRpdGlvbmFsIG9uIHRob3NlDQo+ IGNoYW5nZXM6DQo+IA0KPiBodHRwOi8vbWlkLm1haWwtYXJjaGl2ZS5jb20vZmUzODJmOGMtMGMx YS1mNjZjLWNiYmEtDQo+IGExOGE3ZWQzN2FhYUByZWRoYXQuY29tDQo+IA0KPiBUaGUgdjIgYW5k IHYzIHZlcnNpb25zIG9mIHRoZSBzYW1lIHBhdGNoIGNvbnRhaW4gY29kZSB0aGF0IHdlcmUgKGEp IG5vdA0KPiBwcmVzZW50IGluIHYxIGFuZCAoYikgbm90IHJlcXVlc3RlZCBieSBtZSBhZnRlciB2 MS4gU28sIEkgY291bGQgbm90IGhhdmUNCj4gc2VlbiB0aGF0IGNvZGUgb3IgY29tbWVudGVkIG9u IGl0LiBJIGRvbid0IHRoaW5rIG15IFItYiBmcm9tIHYxIHNob3VsZA0KPiBoYXZlIGJlZW4gY2Fy cmllZCBmb3J3YXJkIHRvIHYzLCBhbmQgdGhlbiB1c2VkIGFzIHRoZSBiYXNpcyBmb3IgcHVzaGlu Zw0KPiB0aGUgdjMgcGF0Y2ggYXMgOTg0YmE2YTQ2NzQ3Lg0KPiANCj4gVGhlIGNvbW1pdCBtZXNz YWdlIGRvZXNuJ3Qgc2F5IGFueXRoaW5nIGFib3V0IFBjZFNoZWxsTGliQXV0b0luaXRpYWxpemUs DQo+IGFuZCBhYm91dCB0aGUgcmVtb3ZhbCBvZiB0aGUgRmlsZUhhbmRsZUxpYiByZXNvbHV0aW9u Lg0KPiANCj4gVGhlIHJlbW92YWwgb2YgdGhlIEZpbGVIYW5kbGVMaWIgcmVzb2x1dGlvbiB1bmRl ciBTaGVsbC5pbmYgd2FzDQo+IGp1c3RpZmllZCwgb2YgY291cnNlIChiZWNhdXNlIGl0IHdhcyBh IGR1cGxpY2F0ZSAvIHVubmVjZXNzYXJ5DQo+IHJlc29sdXRpb24pLCBidXQgaXQgc2hvdWxkIGhh dmUgYmVlbiBicm9rZW4gb3V0IHRvIGEgc2VwYXJhdGUgcGF0Y2gsIG9yDQo+IGF0IGxlYXN0IG1l bnRpb25lZCBpbiB0aGUgY29tbWl0IG1lc3NhZ2UuDQo+IA0KPiBBbHNvIEkgY2FuIGZpbmQgUGNk U2hlbGxMaWJBdXRvSW5pdGlhbGl6ZSBpbiAiU2hlbGxQa2cuZGVjIiwNCj4gDQo+ICAgIyMgVGhp cyBmbGFnIGlzIHVzZWQgdG8gY29udHJvbCBpbml0aWFsaXphdGlvbiBvZiB0aGUgc2hlbGwgbGli cmFyeQ0KPiAgICMgIFRoaXMgc2hvdWxkIGJlIEZBTFNFIGZvciBjb21waWxpbmcgdGhlIHNoZWxs IGFwcGxpY2F0aW9uIGl0c2VsZiBvbmx5Lg0KPiANCj4gYnV0IHF1b3RpbmcgaXQgaW4gdGhlIGNv bW1pdCBtZXNzYWdlIGlzIGhlbHBmdWwuIFRoZSBnZW5lcmFsIGlkZWEgaXMgdG8NCj4gc3BlbmQg YSBiaXQgbW9yZSB0aW1lIG9uIHBhdGNoIGNyZWF0aW9uIHNvIHRoYXQgcmV2aWV3IGlzIGZhc3Rl ci9lYXNpZXINCj4gKHRoZXJlIGNvdWxkIGJlIG11bHRpcGxlIHJldmlld2VycywgYW5kIGluIHRo ZSBmdXR1cmUgdGhlIGNvbW1pdCBjb3VsZA0KPiBiZSBjb25zdWx0ZWQgc2V2ZXJhbCB0aW1lcyku DQoNCkl0J3MgbGF0ZSBiZWNhdXNlIEkgYWxyZWFkeSBwdXNoZWQgdGhlIHBhdGNoLjooDQoNCj4g DQo+IEluIGZhY3QsIGdpdmVuIGhvdyAiUGNkU2hlbGxMaWJBdXRvSW5pdGlhbGl6ZSIgaXMgbm93 IHVzZWQgaW4gdGhlIE9WTUYNCj4gRFNDIGZpbGVzLCBJIHdvdWxkIHNheSB0aGF0IHRoZSBkZXNj cmlwdGlvbiBpbiAiU2hlbGxQa2cuZGVjIiBpcyBub3cgb3V0DQo+IG9mIGRhdGUuIFRoZSBkb2N1 bWVudGF0aW9uIHNob3VsZCBzYXkgdGhhdCB0aGUgUENEIHNob3VsZCBiZSBGQUxTRSBmb3INCj4g dGhlIHNoZWxsIGFwcGxpY2F0aW9uIGl0c2VsZiwgKnBsdXMqIERYRV9EUklWRVIgbW9kdWxlcyB0 aGF0IGltcGxlbWVudA0KPiBkeW5hbWljIHNoZWxsIGNvbW1hbmRzLg0KDQpZb3UgYXJlIGNvcnJl Y3QuIEkgaGFkIGFub3RoZXIgcGF0Y2ggdG8gbW9kaWZ5IHRoZSBjb21tZW50cyBpbiBTaGVsbFBr Zy5kZWMuDQoNCj4gDQo+IA0KPiBJJ20gZG9pbmcgbXkgYmVzdCB0byBiZSByZXNwb25zaXZlOyBw bGVhc2UgZ2l2ZSBtZSBhIGNoYW5jZSB0byBjb21tZW50DQo+IG9uIE92bWZQa2cgY2hhbmdlcyB0 aGF0IEkndmUgbmV2ZXIgc2VlbiBvciByZXF1ZXN0ZWQuDQoNCk9rLg0KDQo+IA0KPiBUaGFua3MN Cj4gTGFzemxvDQo+IA0KPiA+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2dJYTMyLmRzYyBi L092bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjDQo+ID4gaW5kZXggMTlmYTBiNGM4ZC4uOWQyM2Y4YzE2 MiAxMDA2NDQNCj4gPiAtLS0gYS9Pdm1mUGtnL092bWZQa2dJYTMyLmRzYw0KPiA+ICsrKyBiL092 bWZQa2cvT3ZtZlBrZ0lhMzIuZHNjDQo+ID4gQEAgLTE5Myw2ICsxOTMsNyBAQCBbTGlicmFyeUNs YXNzZXNdDQo+ID4gICAgVGxzTGlifENyeXB0b1BrZy9MaWJyYXJ5L1Rsc0xpYi9UbHNMaWIuaW5m DQo+ID4gICFlbmRpZg0KPiA+DQo+ID4gKyAgU2hlbGxMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZp U2hlbGxMaWIvVWVmaVNoZWxsTGliLmluZg0KPiA+DQo+IFMzQm9vdFNjcmlwdExpYnxNZGVNb2R1 bGVQa2cvTGlicmFyeS9QaUR4ZVMzQm9vdFNjcmlwdExpYi9EeGVTM0Jvb3RTY3JpcHQNCj4gTGli LmluZg0KPiA+ICAgIFNtYnVzTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VTbWJ1c0xpYk51bGwvQmFz ZVNtYnVzTGliTnVsbC5pbmYNCj4gPg0KPiBPcmRlcmVkQ29sbGVjdGlvbkxpYnxNZGVQa2cvTGli cmFyeS9CYXNlT3JkZXJlZENvbGxlY3Rpb25SZWRCbGFja1RyZWVMaWIvDQo+IEJhc2VPcmRlcmVk Q29sbGVjdGlvblJlZEJsYWNrVHJlZUxpYi5pbmYNCj4gPiBAQCAtNzgzLDYgKzc4NCwxMCBAQCBb Q29tcG9uZW50c10NCj4gPiAgIWVuZGlmDQo+ID4NCj4gPiAgIWlmbmRlZiAkKFVTRV9PTERfU0hF TEwpDQo+ID4gKw0KPiBTaGVsbFBrZy9EeW5hbWljQ29tbWFuZC9UZnRwRHluYW1pY0NvbW1hbmQv VGZ0cER5bmFtaWNDb21tYW5kLmluZg0KPiB7DQo+ID4gKyAgICA8UGNkc0ZpeGVkQXRCdWlsZD4N Cj4gPiArICAgICAgZ0VmaVNoZWxsUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2hlbGxMaWJBdXRvSW5p dGlhbGl6ZXxGQUxTRQ0KPiA+ICsgIH0NCj4gPiAgICBTaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVs bC9TaGVsbC5pbmYgew0KPiA+ICAgICAgPExpYnJhcnlDbGFzc2VzPg0KPiA+DQo+IFNoZWxsQ29t bWFuZExpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbENvbW1hbmRMaWIvVWVmaVNoZWxsQ29t bWFuZExpDQo+IGIuaW5mDQo+ID4gQEAgLTc5Nyw4ICs4MDIsNiBAQCBbQ29tcG9uZW50c10NCj4g Pg0KPiBOVUxMfFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsTmV0d29yazJDb21tYW5kc0xpYi9V ZWZpU2hlbGxOZXR3b3JrMkNvDQo+IG1tYW5kc0xpYi5pbmYNCj4gPiAgIWVuZGlmDQo+ID4NCj4g SGFuZGxlUGFyc2luZ0xpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlIYW5kbGVQYXJzaW5nTGliL1Vl ZmlIYW5kbGVQYXJzaW5nTGliLmkNCj4gbmYNCj4gPiAtICAgICAgU2hlbGxMaWJ8U2hlbGxQa2cv TGlicmFyeS9VZWZpU2hlbGxMaWIvVWVmaVNoZWxsTGliLmluZg0KPiA+IC0gICAgICBGaWxlSGFu ZGxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlGaWxlSGFuZGxlTGliL1VlZmlGaWxlSGFuZGxlTGli LmluZg0KPiA+ICAgICAgICBQcmludExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvQmFz ZVByaW50TGliLmluZg0KPiA+ICAjICAgICAgU2FmZUJsb2NrSW9MaWJ8U2hlbGxQa2cvTGlicmFy eS9TYWZlQmxvY2tJb0xpYi9TYWZlQmxvY2tJb0xpYi5pbmYNCj4gPiAgIw0KPiBTYWZlT3BlblBy b3RvY29sTGlifFNoZWxsUGtnL0xpYnJhcnkvU2FmZU9wZW5Qcm90b2NvbExpYi9TYWZlT3BlblBy b3RvY29sDQo+IExpYi5pbmYNCj4gPiBkaWZmIC0tZ2l0IGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5m ZGYgYi9Pdm1mUGtnL092bWZQa2dJYTMyLmZkZg0KPiA+IGluZGV4IDA2YTQzOWY4Y2IuLmJhOTgw ODM0ZDcgMTAwNjQ0DQo+ID4gLS0tIGEvT3ZtZlBrZy9Pdm1mUGtnSWEzMi5mZGYNCj4gPiArKysg Yi9Pdm1mUGtnL092bWZQa2dJYTMyLmZkZg0KPiA+IEBAIC0xLDcgKzEsNyBAQA0KPiA+ICAjIyBA ZmlsZQ0KPiA+ICAjICBPcGVuIFZpcnR1YWwgTWFjaGluZSBGaXJtd2FyZTogRkRGDQo+ID4gICMN Cj4gPiAtIyAgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiA+ICsjICBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE3 LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gICMgIChD KSBDb3B5cmlnaHQgMjAxNiBIZXdsZXR0IFBhY2thcmQgRW50ZXJwcmlzZSBEZXZlbG9wbWVudCBM UDxCUj4NCj4gPiAgIw0KPiA+ICAjICBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcg bWF0ZXJpYWxzDQo+ID4gQEAgLTI4NSw2ICsyODUsNyBAQCBbRlYuRFhFRlZdDQo+ID4gIElORiAg TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL1VkZkR4ZS9VZGZEeGUuaW5mDQo+ID4NCj4gPiAg IWlmbmRlZiAkKFVTRV9PTERfU0hFTEwpDQo+ID4gK0lORg0KPiBTaGVsbFBrZy9EeW5hbWljQ29t bWFuZC9UZnRwRHluYW1pY0NvbW1hbmQvVGZ0cER5bmFtaWNDb21tYW5kLmluZg0KPiA+ICBJTkYg IFNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmluZg0KPiA+ICAhZWxzZQ0KPiA+ICBJ TkYgIFJ1bGVPdmVycmlkZSA9IEJJTkFSWSBFZGtTaGVsbEJpblBrZy9GdWxsU2hlbGwvRnVsbFNo ZWxsLmluZg0KPiA+IGRpZmYgLS1naXQgYS9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYyBiL092 bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjDQo+ID4gaW5kZXggZTE1NTVkYmZhOC4uYTljNjY3ZmVk OCAxMDA2NDQNCj4gPiAtLS0gYS9Pdm1mUGtnL092bWZQa2dJYTMyWDY0LmRzYw0KPiA+ICsrKyBi L092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZHNjDQo+ID4gQEAgLTE5OCw2ICsxOTgsNyBAQCBbTGli cmFyeUNsYXNzZXNdDQo+ID4gICAgVGxzTGlifENyeXB0b1BrZy9MaWJyYXJ5L1Rsc0xpYi9UbHNM aWIuaW5mDQo+ID4gICFlbmRpZg0KPiA+DQo+ID4gKyAgU2hlbGxMaWJ8U2hlbGxQa2cvTGlicmFy eS9VZWZpU2hlbGxMaWIvVWVmaVNoZWxsTGliLmluZg0KPiA+DQo+IFMzQm9vdFNjcmlwdExpYnxN ZGVNb2R1bGVQa2cvTGlicmFyeS9QaUR4ZVMzQm9vdFNjcmlwdExpYi9EeGVTM0Jvb3RTY3JpcHQN Cj4gTGliLmluZg0KPiA+ICAgIFNtYnVzTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VTbWJ1c0xpYk51 bGwvQmFzZVNtYnVzTGliTnVsbC5pbmYNCj4gPg0KPiBPcmRlcmVkQ29sbGVjdGlvbkxpYnxNZGVQ a2cvTGlicmFyeS9CYXNlT3JkZXJlZENvbGxlY3Rpb25SZWRCbGFja1RyZWVMaWIvDQo+IEJhc2VP cmRlcmVkQ29sbGVjdGlvblJlZEJsYWNrVHJlZUxpYi5pbmYNCj4gPiBAQCAtNzkyLDYgKzc5Mywx MCBAQCBbQ29tcG9uZW50cy5YNjRdDQo+ID4gICFlbmRpZg0KPiA+DQo+ID4gICFpZm5kZWYgJChV U0VfT0xEX1NIRUxMKQ0KPiA+ICsNCj4gU2hlbGxQa2cvRHluYW1pY0NvbW1hbmQvVGZ0cER5bmFt aWNDb21tYW5kL1RmdHBEeW5hbWljQ29tbWFuZC5pbmYNCj4gew0KPiA+ICsgICAgPFBjZHNGaXhl ZEF0QnVpbGQ+DQo+ID4gKyAgICAgIGdFZmlTaGVsbFBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNoZWxs TGliQXV0b0luaXRpYWxpemV8RkFMU0UNCj4gPiArICB9DQo+ID4gICAgU2hlbGxQa2cvQXBwbGlj YXRpb24vU2hlbGwvU2hlbGwuaW5mIHsNCj4gPiAgICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gPg0K PiBTaGVsbENvbW1hbmRMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxDb21tYW5kTGliL1Vl ZmlTaGVsbENvbW1hbmRMaQ0KPiBiLmluZg0KPiA+IEBAIC04MDYsOCArODExLDYgQEAgW0NvbXBv bmVudHMuWDY0XQ0KPiA+DQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxOZXR3b3Jr MkNvbW1hbmRzTGliL1VlZmlTaGVsbE5ldHdvcmsyQ28NCj4gbW1hbmRzTGliLmluZg0KPiA+ICAh ZW5kaWYNCj4gPg0KPiBIYW5kbGVQYXJzaW5nTGlifFNoZWxsUGtnL0xpYnJhcnkvVWVmaUhhbmRs ZVBhcnNpbmdMaWIvVWVmaUhhbmRsZVBhcnNpbmdMaWIuaQ0KPiBuZg0KPiA+IC0gICAgICBTaGVs bExpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExpYi9VZWZpU2hlbGxMaWIuaW5mDQo+ID4g LSAgICAgIEZpbGVIYW5kbGVMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaUZpbGVIYW5kbGVMaWIvVWVm aUZpbGVIYW5kbGVMaWIuaW5mDQo+ID4gICAgICAgIFByaW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jh c2VQcmludExpYi9CYXNlUHJpbnRMaWIuaW5mDQo+ID4gICMgICAgICBTYWZlQmxvY2tJb0xpYnxT aGVsbFBrZy9MaWJyYXJ5L1NhZmVCbG9ja0lvTGliL1NhZmVCbG9ja0lvTGliLmluZg0KPiA+ICAj DQo+IFNhZmVPcGVuUHJvdG9jb2xMaWJ8U2hlbGxQa2cvTGlicmFyeS9TYWZlT3BlblByb3RvY29s TGliL1NhZmVPcGVuUHJvdG9jb2wNCj4gTGliLmluZg0KPiA+IGRpZmYgLS1naXQgYS9Pdm1mUGtn L092bWZQa2dJYTMyWDY0LmZkZiBiL092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZmRmDQo+ID4gaW5k ZXggY2VkNGM1NjM5Zi4uNzJhYzgyZTc2YiAxMDA2NDQNCj4gPiAtLS0gYS9Pdm1mUGtnL092bWZQ a2dJYTMyWDY0LmZkZg0KPiA+ICsrKyBiL092bWZQa2cvT3ZtZlBrZ0lhMzJYNjQuZmRmDQo+ID4g QEAgLTEsNyArMSw3IEBADQo+ID4gICMjIEBmaWxlDQo+ID4gICMgIE9wZW4gVmlydHVhbCBNYWNo aW5lIEZpcm13YXJlOiBGREYNCj4gPiAgIw0KPiA+IC0jICBDb3B5cmlnaHQgKGMpIDIwMDYgLSAy MDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ID4gKyMg IENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCj4gPiAgIyAgKEMpIENvcHlyaWdodCAyMDE2IEhld2xldHQgUGFja2Fy ZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQPEJSPg0KPiA+ICAjDQo+ID4gICMgIFRoaXMgcHJv Z3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMNCj4gPiBAQCAtMjg2LDYgKzI4Niw3 IEBAIFtGVi5EWEVGVl0NCj4gPiAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svVWRm RHhlL1VkZkR4ZS5pbmYNCj4gPg0KPiA+ICAhaWZuZGVmICQoVVNFX09MRF9TSEVMTCkNCj4gPiAr SU5GDQo+IFNoZWxsUGtnL0R5bmFtaWNDb21tYW5kL1RmdHBEeW5hbWljQ29tbWFuZC9UZnRwRHlu YW1pY0NvbW1hbmQuaW5mDQo+ID4gIElORiAgU2hlbGxQa2cvQXBwbGljYXRpb24vU2hlbGwvU2hl bGwuaW5mDQo+ID4gICFlbHNlDQo+ID4gIElORiAgUnVsZU92ZXJyaWRlID0gQklOQVJZIFVTRSA9 IFg2NCBFZGtTaGVsbEJpblBrZy9GdWxsU2hlbGwvRnVsbFNoZWxsLmluZg0KPiA+IGRpZmYgLS1n aXQgYS9Pdm1mUGtnL092bWZQa2dYNjQuZHNjIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmRzYw0KPiA+ IGluZGV4IDgzZDYzZTU1ZDcuLmFiZjU3MDUxMmEgMTAwNjQ0DQo+ID4gLS0tIGEvT3ZtZlBrZy9P dm1mUGtnWDY0LmRzYw0KPiA+ICsrKyBiL092bWZQa2cvT3ZtZlBrZ1g2NC5kc2MNCj4gPiBAQCAt MTk4LDYgKzE5OCw3IEBAIFtMaWJyYXJ5Q2xhc3Nlc10NCj4gPiAgICBUbHNMaWJ8Q3J5cHRvUGtn L0xpYnJhcnkvVGxzTGliL1Rsc0xpYi5pbmYNCj4gPiAgIWVuZGlmDQo+ID4NCj4gPiArICBTaGVs bExpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExpYi9VZWZpU2hlbGxMaWIuaW5mDQo+ID4N Cj4gUzNCb290U2NyaXB0TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1BpRHhlUzNCb290U2NyaXB0 TGliL0R4ZVMzQm9vdFNjcmlwdA0KPiBMaWIuaW5mDQo+ID4gICAgU21idXNMaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZVNtYnVzTGliTnVsbC9CYXNlU21idXNMaWJOdWxsLmluZg0KPiA+DQo+IE9yZGVy ZWRDb2xsZWN0aW9uTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VPcmRlcmVkQ29sbGVjdGlvblJlZEJs YWNrVHJlZUxpYi8NCj4gQmFzZU9yZGVyZWRDb2xsZWN0aW9uUmVkQmxhY2tUcmVlTGliLmluZg0K PiA+IEBAIC03OTAsNiArNzkxLDEwIEBAIFtDb21wb25lbnRzXQ0KPiA+ICAhZW5kaWYNCj4gPg0K PiA+ICAhaWZuZGVmICQoVVNFX09MRF9TSEVMTCkNCj4gPiArDQo+IFNoZWxsUGtnL0R5bmFtaWND b21tYW5kL1RmdHBEeW5hbWljQ29tbWFuZC9UZnRwRHluYW1pY0NvbW1hbmQuaW5mDQo+IHsNCj4g PiArICAgIDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiA+ICsgICAgICBnRWZpU2hlbGxQa2dUb2tlblNw YWNlR3VpZC5QY2RTaGVsbExpYkF1dG9Jbml0aWFsaXplfEZBTFNFDQo+ID4gKyAgfQ0KPiA+ICAg IFNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmluZiB7DQo+ID4gICAgICA8TGlicmFy eUNsYXNzZXM+DQo+ID4NCj4gU2hlbGxDb21tYW5kTGlifFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNo ZWxsQ29tbWFuZExpYi9VZWZpU2hlbGxDb21tYW5kTGkNCj4gYi5pbmYNCj4gPiBAQCAtODA0LDgg KzgwOSw2IEBAIFtDb21wb25lbnRzXQ0KPiA+DQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZp U2hlbGxOZXR3b3JrMkNvbW1hbmRzTGliL1VlZmlTaGVsbE5ldHdvcmsyQ28NCj4gbW1hbmRzTGli LmluZg0KPiA+ICAhZW5kaWYNCj4gPg0KPiBIYW5kbGVQYXJzaW5nTGlifFNoZWxsUGtnL0xpYnJh cnkvVWVmaUhhbmRsZVBhcnNpbmdMaWIvVWVmaUhhbmRsZVBhcnNpbmdMaWIuaQ0KPiBuZg0KPiA+ IC0gICAgICBTaGVsbExpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExpYi9VZWZpU2hlbGxM aWIuaW5mDQo+ID4gLSAgICAgIEZpbGVIYW5kbGVMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaUZpbGVI YW5kbGVMaWIvVWVmaUZpbGVIYW5kbGVMaWIuaW5mDQo+ID4gICAgICAgIFByaW50TGlifE1kZVBr Zy9MaWJyYXJ5L0Jhc2VQcmludExpYi9CYXNlUHJpbnRMaWIuaW5mDQo+ID4gICMgICAgICBTYWZl QmxvY2tJb0xpYnxTaGVsbFBrZy9MaWJyYXJ5L1NhZmVCbG9ja0lvTGliL1NhZmVCbG9ja0lvTGli LmluZg0KPiA+ICAjDQo+IFNhZmVPcGVuUHJvdG9jb2xMaWJ8U2hlbGxQa2cvTGlicmFyeS9TYWZl T3BlblByb3RvY29sTGliL1NhZmVPcGVuUHJvdG9jb2wNCj4gTGliLmluZg0KPiA+IGRpZmYgLS1n aXQgYS9Pdm1mUGtnL092bWZQa2dYNjQuZmRmIGIvT3ZtZlBrZy9Pdm1mUGtnWDY0LmZkZg0KPiA+ IGluZGV4IDYyZGQ1OGY2ZTQuLjJmYzE3ODEwZWIgMTAwNjQ0DQo+ID4gLS0tIGEvT3ZtZlBrZy9P dm1mUGtnWDY0LmZkZg0KPiA+ICsrKyBiL092bWZQa2cvT3ZtZlBrZ1g2NC5mZGYNCj4gPiBAQCAt MSw3ICsxLDcgQEANCj4gPiAgIyMgQGZpbGUNCj4gPiAgIyAgT3BlbiBWaXJ0dWFsIE1hY2hpbmUg RmlybXdhcmU6IEZERg0KPiA+ICAjDQo+ID4gLSMgIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTYs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gPiArIyAgQ29w eXJpZ2h0IChjKSAyMDA2IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiA+ICAjICAoQykgQ29weXJpZ2h0IDIwMTYgSGV3bGV0dCBQYWNrYXJkIEVu dGVycHJpc2UgRGV2ZWxvcG1lbnQgTFA8QlI+DQo+ID4gICMNCj4gPiAgIyAgVGhpcyBwcm9ncmFt IGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscw0KPiA+IEBAIC0yODYsNiArMjg2LDcgQEAg W0ZWLkRYRUZWXQ0KPiA+ICBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9VZGZEeGUv VWRmRHhlLmluZg0KPiA+DQo+ID4gICFpZm5kZWYgJChVU0VfT0xEX1NIRUxMKQ0KPiA+ICtJTkYN Cj4gU2hlbGxQa2cvRHluYW1pY0NvbW1hbmQvVGZ0cER5bmFtaWNDb21tYW5kL1RmdHBEeW5hbWlj Q29tbWFuZC5pbmYNCj4gPiAgSU5GICBTaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVsbC5p bmYNCj4gPiAgIWVsc2UNCj4gPiAgSU5GICBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkgRWRrU2hlbGxC aW5Qa2cvRnVsbFNoZWxsL0Z1bGxTaGVsbC5pbmYNCj4gPg0KDQo=