From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: ray.ni@intel.com) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by groups.io with SMTP; Mon, 02 Sep 2019 20:39:54 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Sep 2019 20:39:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,461,1559545200"; d="scan'208";a="211848888" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by fmsmga002.fm.intel.com with ESMTP; 02 Sep 2019 20:39:54 -0700 Received: from fmsmsx151.amr.corp.intel.com (10.18.125.4) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 2 Sep 2019 20:39:54 -0700 Received: from shsmsx153.ccr.corp.intel.com (10.239.6.53) by FMSMSX151.amr.corp.intel.com (10.18.125.4) with Microsoft SMTP Server (TLS) id 14.3.439.0; Mon, 2 Sep 2019 20:39:53 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.32]) by SHSMSX153.ccr.corp.intel.com ([169.254.12.235]) with mapi id 14.03.0439.000; Tue, 3 Sep 2019 11:39:52 +0800 From: "Ni, Ray" To: "rfc@edk2.groups.io" , "lersek@redhat.com" , "devel@edk2.groups.io" , "Gao, Liming" , "Kinney, Michael D" Subject: Re: [edk2-rfc] [edk2-devel] [RFC] EDK II Continuous Integration Phase 1 Thread-Topic: [edk2-rfc] [edk2-devel] [RFC] EDK II Continuous Integration Phase 1 Thread-Index: AdVeooLjZu0dT/k9SsO41W96IKrh5AAV2rdg///rOAD/+c2O8A== Date: Tue, 3 Sep 2019 03:39:51 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5C2BD07D@SHSMSX104.ccr.corp.intel.com> References: <4A89E2EF3DFEDB4C8BFDE51014F606A14E4E1317@SHSMSX104.ccr.corp.intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTlmZTJmMDYtZDMyMS00YTFkLWE5YWUtYzEwNjk1NjIxNzMxIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiejhDdnZsdG9RMGZjbUx0SkUyaHh0czJBT0grNXp6cXhJTU1uMXFGXC81aE5mZ2Y1ZFNMUng1U1l6eXpuSFwvT3dSIn0= x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action 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 Q2FuIHNvbWVvbmUgZHJhdyBhIGZsb3cgY2hhcnQgb2Ygd2hvIGRvZXMgd2hhdCB0byBoZWxwIGNs YXJpZnk/DQoNCkl0IHNvdW5kcyBsaWtlIG1haW50YWluZXJzIGFyZSBnb2luZyB0byBiZSB0aGUg dmVyeSBpbXBvcnRhbnQgYnJpZGdlcyBiZXR3ZWVuIENJIHN5c3RlbSBhbmQgdGhlIHBhdGNoIG93 bmVycyAoZGV2ZWxvcGVycykuIEltcG9ydGFudCBpdCBpcyBJIGFncmVlIGJ1dCBib3JpbmcgaXQg aXMgYXMgd2VsbCBJIGhhdmUgdG8gc2F5Lg0KDQpBcmUgbWFpbnRhaW5lcnMgc3RpbGwgbmVlZGVk IHRvIGJlIHBpY2tlZCB1cC9jaG9zZW4vcHJvbW90ZWQgZnJvbSBkZXZlbG9wZXJzPw0KDQo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IHJmY0BlZGsyLmdyb3Vwcy5pbyA8cmZj QGVkazIuZ3JvdXBzLmlvPiBPbiBCZWhhbGYgT2YgTGFzemxvIEVyc2VrDQo+IFNlbnQ6IEZyaWRh eSwgQXVndXN0IDMwLCAyMDE5IDU6NTggQU0NCj4gVG86IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBH YW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+OyByZmNAZWRrMi5ncm91cHMuaW87IEtp bm5leSwgTWljaGFlbCBEDQo+IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gU3ViamVj dDogUmU6IFtlZGsyLXJmY10gW2VkazItZGV2ZWxdIFtSRkNdIEVESyBJSSBDb250aW51b3VzIElu dGVncmF0aW9uIFBoYXNlIDENCj4gDQo+IE9uIDA4LzMwLzE5IDEwOjQzLCBMaW1pbmcgR2FvIHdy b3RlOg0KPiA+IE1pa2U6DQo+ID4gICBJIGFkZCBteSBjb21tZW50cy4NCj4gPg0KPiA+PiAtLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiByZmNAZWRrMi5ncm91cHMuaW8gW21h aWx0bzpyZmNAZWRrMi5ncm91cHMuaW9dIE9uIEJlaGFsZiBPZiBNaWNoYWVsDQo+ID4+IEQgS2lu bmV5DQo+ID4+IFNlbnQ6IEZyaWRheSwgQXVndXN0IDMwLCAyMDE5IDQ6MjMgQU0NCj4gPj4gVG86 IGRldmVsQGVkazIuZ3JvdXBzLmlvOyByZmNAZWRrMi5ncm91cHMuaW8NCj4gPj4gU3ViamVjdDog W2VkazItcmZjXSBbUkZDXSBFREsgSUkgQ29udGludW91cyBJbnRlZ3JhdGlvbiBQaGFzZSAxDQo+ ID4+DQo+ID4+IEhlbGxvLA0KPiA+Pg0KPiA+PiBUaGlzIGlzIGEgcHJvcG9zYWwgZm9yIGEgZmly c3Qgc3RlcCB0b3dhcmRzIGNvbnRpbnVvdXMNCj4gPj4gaW50ZWdyYXRpb24gZm9yIGFsbCBUaWFu b0NvcmUgcmVwb3NpdG9yaWVzIHRvIGhlbHANCj4gPj4gaW1wcm92ZSB0byBxdWFsaXR5IG9mIGNv bW1pdHMgYW5kIGF1dG9tYXRlIHRlc3RpbmcgYW5kDQo+ID4+IHJlbGVhc2UgcHJvY2Vzc2VzIGZv ciBhbGwgRURLIElJIHBhY2thZ2VzIGFuZCBwbGF0Zm9ybXMuDQo+ID4+DQo+ID4+IFRoaXMgaXMg YmFzZWQgb24gd29yayBmcm9tIGEgbnVtYmVyIG9mIEVESyBJSSBjb21tdW5pdHkNCj4gPj4gbWVt YmVycyB0aGF0IGhhdmUgcHJvdmlkZSB2YWx1YWJsZSBpbnB1dCBhbmQgZXZhbHVhdGlvbnMuDQo+ ID4+DQo+ID4+ICogUmViZWNjYSBDcmFuIDxyZWJlY2NhQGJzZGlvLmNvbT4gSmVua2lucyBldmFs dWF0aW9uDQo+ID4+ICogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4gR2l0TGFiIGV2 YWx1YXRpb24NCj4gPj4gKiBQaGlsaXBwZSBNYXRoaWV1LURhdWTDqSA8cGhpbG1kQHJlZGhhdC5j b20+IEdpdExhYiBldmFsdWF0aW9uDQo+ID4+ICogU2VhbiBCcm9nYW4gPHNlYW4uYnJvZ2FuQG1p Y3Jvc29mdC5jb20+IEF6dXJlIFBpcGVsaW5lcyBhbmQgSEJGQQ0KPiA+PiAqIEJyZXQgQmFya2Vs ZXcgPEJyZXQuQmFya2VsZXdAbWljcm9zb2Z0LmNvbT4gQXp1cmUgUGlwZWxpbmVzIGFuZCBIQkZB DQo+ID4+ICogSmlld2VuIFlhbyA8amlld2VuLnlhb0BpbnRlbC5jb20+IEhCRkENCj4gPj4NCj4g Pj4gVGhlIGZvbGxvd2luZyBsaW5rIGlzIGEgbGluayB0byBhbiBFREsgSUkgV0lLSSBwYWdlIHRo YXQNCj4gPj4gY29udGFpbnMgYSBzdW1tYXJ5IG9mIHRoZSB3b3JrIHRvIGRhdGUuICBQbGVhc2Ug cHJvdmlkZQ0KPiA+PiBmZWVkYmFjayBpbiB0aGUgRURLIElJIG1haWxpbmcgbGlzdHMuICBUaGUg V0lLSSBwYWdlcyB3aWxsDQo+ID4+IGJlIHVwZGF0ZWQgd2l0aCBpbnB1dCBmcm9tIHRoZSBlbnRp cmUgRURLIElJIGNvbW11bml0eS4NCj4gPj4NCj4gPj4gICAgaHR0cHM6Ly9naXRodWIuY29tL3Rp YW5vY29yZS90aWFub2NvcmUuZ2l0aHViLmlvL3dpa2kvRURLLUlJLUNvbnRpbnVvdXMtDQo+ID4+ IEludGVncmF0aW9uDQo+ID4+DQo+ID4+IFByb3Bvc2FsDQo+ID4+ID09PT09PT09DQo+ID4+IFBo YXNlIDEgb2YgYWRkaW5nIGNvbnRpbnVvdXMgaW50ZWdyYXRpb24gaXMgbGltaXRlZCB0byB0aGUN Cj4gPj4gZWRrMiByZXBvc2l0b3J5LiAgQWRkaXRpb25hbCByZXBvc2l0b3JpZXMgd2lsbCBiZSBh ZGRlZCBsYXRlci4NCj4gPj4NCj4gPj4gVGhlIGZvbGxvd2luZyBjaGFuZ2VzIGFyZSBwcm9wb3Nl ZDoNCj4gPj4gKiBSZW1vdmUgRURLIElJIE1haW50YWluZXJzIHdyaXRlIGFjY2VzcyB0byBlZGsy IHJlcG9zaXRvcnkuDQo+ID4+ICBPbmx5IEVESyBJSSBBZG1pbmlzdHJhdG9ycyB3aWxsIGNvbnRp bnVlIHRvIGhhdmUgd3JpdGUNCj4gPj4gIGFjY2VzcywgYW5kIHRoYXQgc2hvdWxkIG9ubHkgYmUg dXNlZCB0byBoYW5kbGUgZXh0cmFvcmRpbmFyeQ0KPiA+PiAgZXZlbnRzLg0KPiA+PiAqIEVESyBJ SSBNYWludGFpbmVycyB1c2UgYSBHaXRIdWIgUHVsbCBSZXF1ZXN0IGluc3RlYWQgb2YgcHVzaA0K PiA+PiAgdG8gY29tbWl0IGEgcGF0Y2ggc2VyaWVzIHRvIHRoZSBlZGsyIHJlcG9zaXRvcnkuICBU aGVyZSBhcmUNCj4gPj4gIG5vIG90aGVyIGNoYW5nZXMgdG8gdGhlIGRldmVsb3BtZW50IGFuZCBy ZXZpZXcgcHJvY2Vzcy4gIFRoZQ0KPiA+PiAgcGF0Y2ggc2VyaWVzIGlzIHByZXBhcmVkIGluIGFu IEVESyBJSSBtYWludGFpbmVyIGJyYW5jaCB3aXRoDQo+ID4+ICBhbGwgY29tbWl0IG1lc3NhZ2Ug cmVxdWlyZW1lbnRzIG1ldCBvbiBlYWNoIHBhdGNoIGluIHRoZSBzZXJpZXMuDQo+ID4NCj4gPiBX aWxsIHRoZSBtYWludGFpbmVyIG1hbnVhbGx5IHByb3ZpZGUgcHVsbCByZXF1ZXN0IGFmdGVyIHRo ZSBwYXRjaCBwYXNzZXMgdGhlIHJldmlldz8NCj4gDQo+IFllcy4gVGhlIG1haW50YWluZXIgd2ls bCBwcmVwYXJlIGEgbG9jYWwgYnJhbmNoIHRoYXQgaXMgcmViYXNlZCB0bw0KPiBtYXN0ZXIsIGFu ZCBoYXMgYWxsIHRoZSBtYWlsaW5nIGxpc3QgZmVlZGJhY2sgdGFncyAoUmV2aWV3ZWQtYnksIGV0 YykNCj4gYXBwbGllZC4gVGhlIG1haW50YWluZXIgYWxzbyBkb2VzIGFsbCB0aGUgbG9jYWwgdGVz dGluZyB0aGF0IHRoZXkNCj4gdXN1YWxseSBkbywganVzdCBiZWZvcmUgdGhlIGZpbmFsICJnaXQg cHVzaCBvcmlnaW4iLg0KPiANCj4gVGhlbiwgdGhlIGZpbmFsICJnaXQgcHVzaCBvcmlnaW4iIGFj dGlvbiBpcyByZXBsYWNlZCBieToNCj4gKDEpIGdpdCBwdXNoIHBlcnNvbmFsLXJlcG8gdG9waWMt YnJhbmNoLXByDQo+ICgyKSBtYW51YWwgY3JlYXRpb24gb2YgYSBHaXRIdWIuY29tIFB1bGwgUmVx dWVzdCwgZm9yIHRoZSB0b3BpYyBicmFuY2gNCj4ganVzdCBwdXNoZWQuDQo+IA0KPiBUaGF0IGlz LCB0aGUgZmluYWwgImdpdCBwdXNoIG9yaWdpbiIgYWN0aW9uIGlzIHJlcGxhY2VkIHdpdGggdGhl IHB1c2hpbmcNCj4gb2YgYSBwZXJzb25hbCAocmVhZHktbWFkZSkgdG9waWMgYnJhbmNoLCBhbmQg YSBHaXRIdWIuY29tIFB1bGwgUmVxdWVzdA0KPiBhZ2FpbnN0IHRoYXQgYnJhbmNoLiBUaGUgdmVy aWZpY2F0aW9uIGFuZCB0aGUgZmluYWwgbWVyZ2luZyB3aWxsIGJlDQo+IHBlcmZvcm1lZCBieSBn aXRodWIuDQo+IA0KPiA+IENhbiB0aGUgc2NyaXB0IHNjYW4gdGhlIG1haWwgbGlzdCBhbmQgYXV0 byB0cmlnIHB1bGwgcmVxdWVzdCBvbmNlIHRoZSBwYXRjaCBnZXRzDQo+ID4gUmV2aWV3ZWQtYnkg b3IgQWNrZWQtYnkgZnJvbSBQYWNrYWdlIG1haW50YWluZXJzPw0KPiANCj4gTm8sIGl0IGNhbid0 LiAoQW5kLCBhdCB0aGlzIHN0YWdlLCBpdCBzaG91bGQgbm90LikgVGhlIGNvb3JkaW5hdGlvbg0K PiBiZXR3ZWVuIHN1Ym1pdHRlcnMsIG1haW50YWluZXJzLCByZXZpZXdlcnMsIGFuZCBvY2Nhc2lv bmFsbHksIHN0ZXdhcmRzLA0KPiBmb3IgZGV0ZXJtaW5pbmcgd2hlbiBhIHBhdGNoIHNlcmllcyBp cyByZWFkeSB0byBnbywgYmFzZWQgb24gcmV2aWV3DQo+IGRpc2N1c3Npb24sIHJlbWFpbnMgdGhl IHNhbWUuDQo+IA0KPiA+PiAqIFRoZSBlZGsyIHJlcG9zaXRvcnkgb25seSBhY2NlcHRzIFB1bGwg UmVxdWVzdHMgZnJvbSBtZW1iZXJzDQo+ID4+ICBvZiB0aGUgRURLIElJIE1haW50YWluZXJzIHRl YW0uICBQdWxsIFJlcXVlc3RzIGZyb20gYW55b25lIGVsc2UNCj4gPj4gIGFyZSByZWplY3RlZC4N Cj4gPj4gKiBSdW4gcHJlLWNvbW1pdCBjaGVja3MgdXNpbmcgQXp1cmUgUGlwZWxpbmVzDQo+ID4N Cj4gPiBUaGUgbWFpbnRhaW5lciBtYW51YWxseSB0cmlnIHByZS1jb21taXQgY2hlY2sgb3IgYXV0 byB0cmlnIHByZS1jb21taXQ/DQo+IA0KPiBBZnRlciB0aGUgbWFpbnRhaW5lciBwdXNoZXMgdGhl IHJlYWR5LW1hZGUgYnJhbmNoIHRvIHRoZWlyIHBlcnNvbmFsDQo+IHJlcG8sIGFuZCBzdWJtaXRz IGEgUFIgYWdhaW5zdCB0aGF0LCB0aGUgUFIgd2lsbCBzZXQgb2ZmIHRoZSBjaGVja3MuIElmDQo+ IHRoZSBjaGVja3MgcGFzcywgdGhlIHRvcGljIGJyYW5jaCBpcyBtZXJnZWQuDQo+IA0KPiA+IEJ5 IGRlZmF1bHQsIHByZS1jb21taXQgc2hvdWxkIGJlIGF1dG8gdHJpZ2dlZCBiYXNlZCBvbiBwdWxs IHJlcXVlc3QuDQo+ID4NCj4gPj4gKiBJZiBhbGwgcHJlLWNvbW1pdCBjaGVja3MgcGFzcywgdGhl biB0aGUgcGF0Y2ggc2VyaWVzIGlzIGF1dG8NCj4gPj4gIGNvbW1pdHRlZC4gIFRoZSByZXN1bHQg b2YgdGhpcyBjb21taXQgbXVzdCBtYXRjaCB0aGUgY29udGVudHMNCj4gPj4gIGFuZCBjb21taXQg aGlzdG9yeSB0aGF0IHdvdWxkIGhhdmUgb2NjdXJyZWQgdXNpbmcgdGhlIHByZXZpb3VzDQo+ID4+ ICBwdXNoIG9wZXJhdGlvbi4NCj4gPj4gKiBJZiBhbnkgcHJlLWNvbW1pdCBjaGVja3MgZmFpbCwg dGhlbiBub3RpZnkgdGhlIHN1Ym1pdHRlci4NCj4gPg0KPiA+IFdpbGwgUHJlLWNvbW1pdCBjaGVj ayBmYWlsIHNlbmQgdGhlIG1haWwgdG8gdGhlIHBhdGNoIHN1Ym1pdHRlcj8NCj4gPiBUaGUgcGF0 Y2ggc3VibWl0dGVyIG5lZWQgdXBkYXRlIHRoZSBwYXRjaCBhbmQgZ28gdGhyb3VnaCByZXZpZXcg cHJvY2VzcyBhZ2Fpbi4NCj4gDQo+IE15IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCwgaWYgdGhlIHRl c3RpbmcgaW4gR2l0SHViLmNvbSBmYWlscywgdGhlIFBSDQo+IHdpbGwgYmUgcmVqZWN0ZWQgYW5k IGNsb3NlZC4gVGhpcyB3aWxsIGdlbmVyYXRlIGEgbm90aWZpY2F0aW9uIGVtYWlsIGZvcg0KPiB0 aGUgbWFpbnRhaW5lciB0aGF0IHN1Ym1pdHRlZCB0aGUgUFIuIFRoZSBtYWludGFpbmVyIGNhbiB0 aGVuIHJldHVybiB0bw0KPiB0aGUgZW1haWwgdGhyZWFkLCBhbmQgcmVwb3J0IHRoZSBDSSBmYWls dXJlLCBwb3NzaWJseSB3aXRoIGEgbGluayB0byB0aGUNCj4gZmFpbGVkIC8gcmVqZWN0ZWQgUFIu DQo+IA0KPiBUaGVuLCBpbmRlZWQsIHRoZSBzdWJtaXR0ZXIgbXVzdCByZXdvcmsgdGhlIHNlcmll cyBhbmQgcG9zdCBhIG5ldw0KPiB2ZXJzaW9uIHRvIHRoZSBsaXN0Lg0KPiANCj4gSXQncyBhbHNv IHBvc3NpYmxlIChhbmQgcG9saXRlKSBpZiB0aGUgbWFpbnRhaW5lciBwb3N0cyB0aGUgUFIgbGlu ayBpbg0KPiB0aGUgbWFpbGluZyBsaXN0IHRocmVhZCByaWdodCBhZnRlciBzdWJtaXR0aW5nIHRo ZSBQUi4gVGhlbiB0aGUNCj4gc3VibWl0dGVyIGNhbiBtb25pdG9yIHRoZSBQUiB0b28uIChTdWJz Y3JpYmUgdG8gaXQgZm9yIG5vdGlmaWNhdGlvbnMuKQ0KPiBBcyBJIHVuZGVyc3RhbmQgaXQuDQo+ IA0KPiBGdXJ0aGVybW9yZSwNCj4gDQo+ID4NCj4gPj4gIEEgdHlwaWNhbCByZWFzb24gZm9yIGEg ZmFpbHVyZSB3b3VsZCBiZSBhIG1lcmdlIGNvbmZsaWN0IHdpdGgNCj4gPj4gIGFub3RoZXIgcHVs bCByZXF1ZXN0IHRoYXQgd2FzIGp1c3QgcHJvY2Vzc2VkLg0KPiA+PiAqIExpbWl0IHByZS1jb21t aXQgY2hlY2tzIGV4ZWN1dGlvbiB0aW1lIHRvIDEwIG1pbnV0ZXMuDQo+ID4+ICogUHJvdmlkZSBv bi1kZW1hbmQgYnVpbGRzIHRvIEVESyBJSSBNYWludGFpbmVycyB0aGF0IHRvIGFsbG93DQo+ID4+ ICBFREsgSUkgTWFpbnRhaW5lcnMgdG8gc3VibWl0IGEgYnJhbmNoIHRocm91Z2ggZm9yIHRoZSBz YW1lDQo+ID4+ICBzZXQgb2YgcHJlLWNvbW1pdCBjaGVja3Mgd2l0aG91dCBzdWJtaXR0aW5nIGEg cHVsbCByZXF1ZXN0Lg0KPiANCj4gYSBtYWludGFpbmVyIGNvdWxkIHVzZSB0aGlzIG9uLWRlbWFu ZCBidWlsZCAmIHRlc3RpbmcgZmFjaWxpdHkgaW4gdGhlDQo+IGNvdXJzZSBvZiByZXZpZXcsIHRv IHJlcG9ydCBmaW5kaW5ncyBlYXJseS4NCj4gDQo+IFRoYW5rcw0KPiBMYXN6bG8NCj4gDQo+ID4+ DQo+ID4+ICMjIFByZS1Db21taXQgQ2hlY2tzIGluIFBoYXNlIDENCj4gPj4gKiBSdW4gYW5kIHBh c3MgUGF0Y2hDaGVjay5weSB3aXRoIG5vIGVycm9ycw0KPiA+Pg0KPiA+PiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+Pg0KPiA+PiBUaGUg Zm9sbG93aW5nIGFyZSBzb21lIGFkZGl0aW9uYWwgcHJlLWNvbW1pdCBjaGVjayBpZGVhcw0KPiA+ PiB0aGF0IGNvdWxkIGJlIHF1aWNrbHkgYWRkZWQgb25jZSB0aGUgaW5pdGlhbCB2ZXJzaW9uIHVz aW5nDQo+ID4+IFBhdGNoQ2hlY2sucHkgaXMgZnVsbHkgZnVuY3Rpb25hbC4gIFBsZWFzZSBwcm92 aWRlIGZlZWRiYWNrDQo+ID4+IG9uIHRoZSBvbmVzIHlvdSBsaWtlIGFuZCBhZGRpdGlvbmFsIG9u ZXMgeW91IHRoaW5rIG1heQ0KPiA+PiBpbXByb3ZlIHRoZSBxdWFsaXR5IG9mIHRoZSBjb21taXRz IHRvIHRoZSBlZGsyIHJlcG9zaXRvcnkuDQo+ID4+DQo+ID4+ICMjIFByb3Bvc2VkIFByZS1Db21t aXQgQ2hlY2tzIGluIFBoYXNlIDINCj4gPj4gKiBWZXJpZnkgUmV2aWV3ZWQtYnkgYW5kIEFja2Vk LWJ5IHRhZ3MgYXJlIHByZXNlbnQgd2l0aA0KPiA+PiAgY29ycmVjdCBtYWludGFpbmVyIGVtYWls IGFkZHJlc3Nlcw0KPiA+PiAqIFZlcmlmeSBubyBub24tQVNDSUkgY2hhcmFjdGVycyBpbiBtb2Rp ZmllZCBmaWxlcw0KPiA+PiAqIFZlcmlmeSBubyBiaW5hcnkgZmlsZXMgaW4gc2V0IG9mIG1vZGlm aWVkIGZpbGVzDQo+ID4NCj4gPiBOb3csIEVkazIgaGFzIGZldyBiaW5hcnkgZmlsZXMsIGxpa2Ug bG9nby5ibXAuDQo+ID4gSSBzZWUgb25lIEJaIHRvIHJlcXVlc3QgbG9nbyBibXAgdXBkYXRlLg0K PiA+IChCWiBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dpP2lkPTIw NTApDQo+ID4gU28sIHdlIG5lZWQgdGhlIGV4Y2VwdGlvbiB3YXkgZm9yIGl0Lg0KPiA+DQo+ID4+ ICogVmVyaWZ5IHBhY2thZ2UgZGVwZW5kZW5jeSBydWxlcyBpbiBtb2RpZmllZCBmaWxlcw0KPiA+ Pg0KPiA+PiAjIyBQcm9wb3NlZCBQcmUtQ29tbWl0IENoZWNrcyBpbiBQaGFzZSAzDQo+ID4+ICog UnVuIEVDQyBvbiBtb2RpZmllZCBmaWxlcw0KPiA+PiAqIFZlcmlmeSBtb2RpZmllZCBtb2R1bGVz L2xpYnMgYnVpbGQNCj4gPj4gKiBSdW4gYXZhaWxhYmxlIGhvc3QgYmFzZWQgdGVzdHMgKEhCRkEp IGFnYWluc3QgbW9kaWZpZWQNCj4gPj4gIG1vZHVsZXMvbGlicw0KPiA+Pg0KPiA+DQo+ID4gSSBy ZXF1ZXN0IGJvb3QgdGVzdCBvbiBFbXVsYXRvciBhbmQgT3ZtZiBpbiB0aGUgZGFpbHkgYW5kIHdl ZWtseSBzY29wZS4NCj4gPiBEYWlseSBjYW4gY292ZXIgYm9vdCB0byBTaGVsbC4NCj4gPiBXZWVr bHkgY2FuIGNvdmVyIG1vcmUgYm9vdCBmdW5jdGlvbmFsaXR5Lg0KPiANCj4gDQoNCg==