From dev-return-4978-archive-asf-public=cust-asf.ponee.io@mxnet.incubator.apache.org Tue Nov 27 14:04:26 2018 Return-Path: X-Original-To: archive-asf-public@cust-asf.ponee.io Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx-eu-01.ponee.io (Postfix) with SMTP id 0DE92180670 for ; Tue, 27 Nov 2018 14:04:24 +0100 (CET) Received: (qmail 66072 invoked by uid 500); 27 Nov 2018 13:04:24 -0000 Mailing-List: contact dev-help@mxnet.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@mxnet.incubator.apache.org Delivered-To: mailing list dev@mxnet.incubator.apache.org Received: (qmail 66061 invoked by uid 99); 27 Nov 2018 13:04:23 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Nov 2018 13:04:23 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 09514C1A84 for ; Tue, 27 Nov 2018 13:04:23 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -5.001 X-Spam-Level: X-Spam-Status: No, score=-5.001 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id wgw1_EAXrVym for ; Tue, 27 Nov 2018 13:04:17 +0000 (UTC) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id BB69E5F2C3 for ; Tue, 27 Nov 2018 13:04:16 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Nov 2018 05:03:54 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,286,1539673200"; d="scan'208";a="111798378" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by fmsmga002.fm.intel.com with ESMTP; 27 Nov 2018 05:03:54 -0800 Received: from fmsmsx120.amr.corp.intel.com (10.18.124.208) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 27 Nov 2018 05:03:53 -0800 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by fmsmsx120.amr.corp.intel.com (10.18.124.208) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 27 Nov 2018 05:03:53 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.117]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.161]) with mapi id 14.03.0415.000; Tue, 27 Nov 2018 21:03:51 +0800 From: "Lv, Tao A" To: "'dev@mxnet.incubator.apache.org'" Subject: RE: Include MKLDNN into default mxnet pip package Thread-Topic: Include MKLDNN into default mxnet pip package Thread-Index: AQHUgf/zOvdA5b5iCkuyxbmOegAdfqVbA83w//+NnoCAAAIfgIAAzLowgAVMDYCAAJVvuYAA32yAgADXeDA= Date: Tue, 27 Nov 2018 13:03:50 +0000 Message-ID: <7EE05B097135E4438AAC805EE2C744E903C2B616@SHSMSX104.ccr.corp.intel.com> References: <5B9DEF31-3007-486D-9E7C-852B16DD34E1@amazon.com> <7EE05B097135E4438AAC805EE2C744E903C1E35C@SHSMSX104.ccr.corp.intel.com> <7EE05B097135E4438AAC805EE2C744E903C1EB6B@SHSMSX104.ccr.corp.intel.com> <3488D38C-E6AC-46D4-B25F-29780E4DF00A@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYzc4ZTE5NDctMDEwMC00ODY2LThkOGYtMzg3MDU2NzY0ZjMwIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiOFdObkJqcnNEdkpZcVhXc1NqT3JkU2ZWbXZubm81a0hnTCtjNkkya09DeVNqdXdOVHBHbEhHYzI1NEdQeGI1NiJ9 x-ctpclassification: CTP_NT x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 SGkgQW5pcnVkaCwNCg0KSnVzdCB0byBjb25maXJtLCB5b3UncmUgZm9jdXNpbmcgb24gdGhlIDEu NC4wIHJlbGVhc2Ugb2YgTVhOZXQgYW5kIHdhbnQgdG8gaGF2ZSBhIHJlbGVhc2UgdmVyc2lvbiBv ZiBNS0wtRE5OIHRoZXJlLCByaWdodD8gT3IgZG8geW91IG1lYW4gYWxsIHRoZSBkZXZlbG9wbWVu dCBpbiB0aGUgZnV0dXJlIHNob3VsZCBiYXNlIG9uIHRoZSByZWxlYXNlIHZlcnNpb24gb2YgTUtM LUROTj8gRm9yIHRoZSBmb3JtZXIgb25lLCBJIHRoaW5rIDAuMTcgcmVsZWFzZSBvZiBNS0wtRE5O IGlzIGEgZ29vZCBjaG9pY2UuIEJ1dCBpdCB3aWxsIG5vdCBoYXZlIGZpeCBmb3IgdGhlIExTVE0g cmVncmVzc2lvbiBtZW50aW9uZWQgaW4gcHJldmlvdXMgZW1haWwuDQoNCkknbSB0YWxraW5nIGFi b3V0IHRoZSB2ZXJzaW9uaW5nIG1lY2hhbmlzbSB3aXRoIE1LTC1ETk4gbWFpbnRhaW5lcnMgYW5k IHdpbGwgYmUgYmFjayB0byB5b3UgaWYgSSBnZXQgYW55IHJlc3BvbnNlLiBCdXQgZnJvbSB0aGUg cmVsZWFzaW5nIGhpc3Rvcnkgb2YgTUtMLUROTiwgSSBjYW5ub3QgZmluZCBhbnkgZXZpZGVuY2Ug YWJvdXQgcGF0Y2ggcmVsZWFzZS4NCg0KLXRhbw0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KRnJvbTogQW5pcnVkaCBTdWJyYW1hbmlhbiBbbWFpbHRvOmFuaXJ1ZGgyMjkwQGdtYWlsLmNv bV0gDQpTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAyNywgMjAxOCA2OjE2IEFNDQpUbzogZGV2QG14 bmV0LmluY3ViYXRvci5hcGFjaGUub3JnDQpTdWJqZWN0OiBSZTogSW5jbHVkZSBNS0xETk4gaW50 byBkZWZhdWx0IG14bmV0IHBpcCBwYWNrYWdlDQoNCkhpIFRhbywNCg0KSSBhZ3JlZSB3aXRoIFN0 ZWZmZW4gdGhhdCB3ZSBjYW4gc3RhcnQgd2l0aCBhIHN0YWJsZSByZWxlYXNlIGZvciBNS0xETk4g Zm9yIDEuNC4wLiBGb3IgeW91ciBzdWdnZXN0aW9uIG9uIHVzaW5nIDAuMTcsIGNhbiB5b3UgcHJv dmlkZSBpbmZvIG9uIHdoYXQgdmVyc2lvbmluZyBtZWNoYW5pc20gTUtMRE5OIHVzZXMuIE9uY2Ug YSBNS0xETk4gcmVsZWFzZSBpcyBvdXQgYW5kIHRoZXJlIGFyZSBzb21lIHJlZ3Jlc3Npb25zIGZv dW5kIGxpa2UgdGhlIExTVE0gcmVncmVzc2lvbiwgd291bGQgaXQgYmUgcG9zc2libGUgdG8gZG8g YSBwYXRjaCByZWxlYXNlIGZvciBpdCBvciBtYWludGFpbiBhIHJlbGVhc2UgYnJhbmNoIGZvciBp dCA/DQoNCkFuaXJ1ZGgNCg0KT24gU3VuLCBOb3YgMjUsIDIwMTggYXQgNTowMyBQTSBMdiwgVGFv IEEgPHRhby5hLmx2QGludGVsLmNvbT4gd3JvdGU6DQoNCj4gSGkgU3RlZmZlbiwNCj4NCj4gSSB0 aGluayBhbGwgdGhlIGNvbW1pdHMgb24gTUtMLUROTiBtYXN0ZXIgYnJhbmNoIGFyZSB3ZWxsIHRl c3RlZCBmb3IgDQo+IE1LTC1ETk4gZGV2ZWxvcG1lbnQgdGVhbS4gSWYgd2UgcmVhbGx5IHdhbnQg dG8gaGF2ZSBhIHJlbGVhc2UgY29tbWl0IA0KPiBpbiB0aGUgY29taW5nIDEuNCBteG5ldCByZWxl YXNlLCBteSBzdWdnZXN0aW9uIGlzIDAuMTcgTUtMLUROTiByZWxlYXNlLg0KPg0KPiBUaGFuayB5 b3UsDQo+IFRhbw0KPg0KPiBTZW50IGZyb20gbXkgaVBob25lDQo+DQo+ID4gT24gTm92IDI2LCAy MDE4LCBhdCA4OjA5IEFNLCBTdGVmZmVuIFJvY2hlbCANCj4gPiA8c3RlZmZlbnJvY2hlbEBnbWFp bC5jb20+DQo+IHdyb3RlOg0KPiA+DQo+ID4gKzEgdG8gbWFrZSBNS0wtRE5OIGRlZmF1bHQuDQo+ ID4gSSdtIHRyYWNraW5nICBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2luY3ViYXRvci1teG5l dC9pc3N1ZXMvMTMzNjkgDQo+ID4gYXMgb3BlbiBpc3N1ZSB0byBiZSBhZGRyZXNzZWQgZm9yIDEu NC4wIEkgZG8gYWdyZWUgdGhhdCB3ZSBzaG91bGQgDQo+ID4gbW92ZSB0byBhIG1vZGVsIHRvIGlu Y2x1ZGUgcmVsZWFzZWQNCj4gZGVwZW5kZW5jaWVzDQo+ID4gaW5zdGVhZCBvZiBqdXN0IHRha2lu ZyBibGVlZGluZyBlZGdlIHNuYXBzaG90cy4NCj4gPiBIb3dldmVyLCBzcGVlZCBvZiBkZXZlbG9w bWVudCBpcyBpbXBvcnRhbnQgYXMgd2VsbC4NCj4gPiBBcyBhIGNvbXByb21pc2UgZm9yIDEuNC4w IHJlbGVhc2Ugd2l0aCBNS0wtRE5OOiBjYW4gdGhlIE1LTC1ETk4NCj4gZGV2ZWxvcG1lbnQNCj4g PiB0ZWFtIHByb3ZpZGUgdXMgd2l0aCBhIHdlbGwgdGVzdGVkIHRhZy9jb21taXQgaWQgdG8gaW5j bHVkZSBpbiAxLjQuMCANCj4gPiByZWxlYXNlPw0KPiA+IFN0ZWZmZW4NCj4gPg0KPiA+PiBPbiBX ZWQsIE5vdiAyMSwgMjAxOCBhdCAxMTo0MiBQTSBMdiwgVGFvIEEgPHRhby5hLmx2QGludGVsLmNv bT4gd3JvdGU6DQo+ID4+DQo+ID4+IFRoYW5rcyBmb3IgdGhlIGluZm9ybWF0aW9uLCBLZWxsZW4g YW5kIE5hdmVlbi4NCj4gPj4NCj4gPj4gQmV0dGVyIHRoYW4gb25ueC10ZW5zb3JydCwgTUtMLURO TiBoYXMgYWxyZWFkeSBwcm92aWRlZCB2ZXJzaW9uaW5nIA0KPiA+PiBhbmQgcmVsZWFzZSB0YWdz LiBNeSBjb25jZXJuIGlzIHRoYXQgYXMgTUtMLUROTiBpcyBzdGlsbCB1bmRlciANCj4gPj4gaW50 ZW5zaXZlIGRldmVsb3BtZW50LCBpZiBpdCBoYXMgYSBuZXcgZmVhdHVyZSBvciBidWcgZml4IG9u IGl0cyANCj4gPj4gbWFzdGVyIGJyYW5jaCwNCj4gZG8gd2UNCj4gPj4gcmVhbGx5IHdhbnQgdG8g d2FpdCBmb3IgbmV4dCByZWxlYXNlIHRvIGdldCBpdCBzdXBwb3J0ZWQgaW4gTVhOZXQ/DQo+ID4+ DQo+ID4+IFRha2UgdGhlIExTVE0gcmVncmVzc2lvbiBhcyBhbiBleGFtcGxlLCBwcm9iYWJseSBN S0wtRE5OIHdpbGwgZ2l2ZSANCj4gPj4gYSBmaXggb3IgaW1wcm92ZW1lbnQgb24gaXRzIG1hc3Rl ciBicmFuY2ggc29vbiwgZG8gd2UgbmVlZCB0byB3YWl0IA0KPiA+PiBmb3IgMC4xOCByZWxlYXNl IHRvIGdldCBpdCBmaXhlZCBmb3IgbXhuZXQgdXNlcj8gQUZBSUssIHRlbnNvcmZsb3cgDQo+ID4+ IGlzIGFsc28gdXNpbmcgbm9ybWFsIGNvbW1pdCBpZCwgbm90IHJlbGVhc2UsIGFzIHRoZSBkZXBl bmRlbmN5IGZvciBNS0wtRE5OLg0KPiA+Pg0KPiA+PiBSZWdhcmRpbmcgdGhlIExTVE0gcmVncmVz c2lvbiwgd2UgYXJlIHVzaW5nIGludGVybmFsIEpJUkEgdGlja2V0cyANCj4gPj4gcmF0aGVyIHRo YW4gZ2l0aHViIGlzc3VlcyB0byB0cmFjayB0aGUgZGVmZWN0cyBvZiBNS0wtRE5OLiBCdXQgSSAN Cj4gPj4gYWdyZWUgd2l0aA0KPiB5b3UsDQo+ID4+IHdlIG5lZWQgdXBkYXRlIHRoZSBwcm9ncmVz cyBvZiBpdCBpbiBBbGV4J3MgaXNzdWUuDQo+ID4+DQo+ID4+IFRoYW5rcywNCj4gPj4gLXRhbw0K PiA+Pg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9tOiBrZWxsZW4g c3VuZGVybGFuZCBbbWFpbHRvOmtlbGxlbi5zdW5kZXJsYW5kQGdtYWlsLmNvbV0NCj4gPj4gU2Vu dDogVGh1cnNkYXksIE5vdmVtYmVyIDIyLCAyMDE4IDEwOjU1IEFNDQo+ID4+IFRvOiBkZXZAbXhu ZXQuaW5jdWJhdG9yLmFwYWNoZS5vcmcNCj4gPj4gU3ViamVjdDogUmU6IEluY2x1ZGUgTUtMRE5O IGludG8gZGVmYXVsdCBteG5ldCBwaXAgcGFja2FnZQ0KPiA+Pg0KPiA+PiBBZ3JlZSB3aXRoIHlv dXIgcG9pbnQgYWJvdXQgb3RoZXIgcmVwb3MgYWxzbyBub3QgYmVpbmcgYmFzZWQgb24NCj4gdmVy c2lvbmluZw0KPiA+PiBUYW8uICBJIHdvdWxkIHBvaW50IG91dCB0aGF0IEkndmUgZ2l2ZW4gc29t ZSB0aGF0IEkndmUgd29ya2VkIHdpdGgNCj4gc2ltaWxhcg0KPiA+PiBmZWVkYmFjazogaHR0cHM6 Ly9naXRodWIuY29tL29ubngvb25ueC10ZW5zb3JydC9pc3N1ZXMvNjgNCj4gPj4NCj4gPj4+IE9u IFdlZCwgTm92IDIxLCAyMDE4IGF0IDY6NDggUE0gTmF2ZWVuIFN3YW15IDxtbm5hdmVlbkBnbWFp bC5jb20+DQo+IHdyb3RlOg0KPiA+Pj4NCj4gPj4+IFRhbywNCj4gPj4+DQo+ID4+PiBZb3UgYXJl IHJpZ2h0IHRoZXJlIGFyZSBtYW55IHN1Ym1vZHVsZXMgaW4gM3JkIHBhcnR5LiBXZSBoYXZlIHRv IA0KPiA+Pj4gc3RhcnQgc29tZXdoZXJlIGFuZCBJIGJlbGlldmUgdGhpcyBvbmUgaXMgYSBnb29k IGNhbmRpZGF0ZSB0byBzdGFydCB3aXRoLg0KPiA+Pj4gVGhpcyBpcyBub3QgdG8gY2F0ZXIgdG8g cmVsZWFzZSBvZiBNWE5ldCBvciB0byB0aWUgdGhlbSB3aXRoIHRoZSANCj4gPj4+IHJlbGVhc2Vz IG9mIHRoZSBzdWJtb2R1bGVzIGJ1dCBpbnN0ZWFkIHRvIHBpY2sgb25seSBzdGFibGUgDQo+ID4+ PiByZWxlYXNlcyBhbmQgbm90IHRvIHBpY2sgdXAgYmxlZWRpbmcgZWRnZSBjb21taXRzIGZyb20g dGhlIHRpcCBvZiANCj4gPj4+IHRoZSBtYXN0ZXIsIHRoaXMgZ2l2ZXMgdXMgY29uZmlkZW5jZSBp biB0aGUgc3VibW9kdWxlIHRoYXQgTVhOZXQgDQo+ID4+PiB1c2VycyBhcmUgZGVwZW5kaW5nIG9u IHRoYXQgZXNwZWNpYWxseSBpZiB3ZSBtYWtlIE1LTEROTiB0aGUgZGVmYXVsdC4NCj4gPj4+DQo+ ID4+PiBHb29kIHRvIGtub3cgaXQgaXMga25vd24gYWxyZWFkeSBhcyBhIHJlZ3Jlc3Npb24uQWxl eCBoYXMgY3JlYXRlZCANCj4gPj4+IHRoaXMgaXNzdWUgaHR0cHM6Ly9naXRodWIuY29tL2FwYWNo ZS9pbmN1YmF0b3ItbXhuZXQvaXNzdWVzLzEzMzY5LCANCj4gPj4+IHBsZWFzZSBhZGQgZGV0YWls cyBhbmQgbGluayB0aGUgY29ycmVzcG9uZGluZyBpc3N1ZSBpbiBNS0xETk4oSSANCj4gPj4+IGNv dWxkbid0DQo+IGZpbmQpLg0KPiA+Pj4NCj4gPj4+IC1OYXZlZW4NCj4gPj4+DQo+ID4+Pj4gT24g V2VkLCBOb3YgMjEsIDIwMTggYXQgNjowNCBQTSBMdiwgVGFvIEEgPHRhby5hLmx2QGludGVsLmNv bT4gd3JvdGU6DQo+ID4+Pj4NCj4gPj4+PiBIZXJlIGFyZSBteSBhbnN3ZXJzIGZvciB0aGUgcXVl c3Rpb25zIGZyb20gS2VsbGVuIGFuZCBOYXZlZW4gDQo+ID4+Pj4gYWJvdXQgTUtMLUROTi4gSXQg ZG9lc24ndCBtZWFuIHRoYXQgSSdtIHN1cHBvcnRpdmUgZm9yIG1ha2luZyANCj4gPj4+PiBNS0wt RE5OIGRlZmF1bHQgaGVyZS4NCj4gPj4+Pg0KPiA+Pj4+IEBLZWxsZW4sDQo+ID4+Pj4NCj4gPj4+ PiBGWUksIGhlcmUgaXMgYSBsaXN0IGZvciB0aG9zZSBwbGF0Zm9ybXMgd2hpY2ggYXJlIG9mZmlj aWFsbHkgDQo+ID4+Pj4gc3VwcG9ydGVkIGJ5IE1LTC1ETk4uDQo+ID4+Pj4gaHR0cHM6Ly9naXRo dWIuY29tL2ludGVsL21rbC1kbm4jc3lzdGVtLXJlcXVpcmVtZW50cw0KPiA+Pj4+DQo+ID4+Pj4g TW9zdCBvZiBjb21wdXRhdGlvbiBpbnRlbnNpdmUga2VybmVscyBpbiBNS0wtRE5OIGFyZSBKSVRl ZC4gU28gDQo+ID4+Pj4gdGhleSBhcmUgc3VwcG9zZWQgdG8gZ2VuZXJhdGUgY29kZSBhY2NvcmRp bmcgdG8gdGhlIHBsYXRmb3JtIA0KPiA+Pj4+IGR1cmluZyBydW50aW1lLiBGb3Igbm9uLUpJVCBj b2RlIGluIE1LTC1ETk4sIHNhbWUgYXMgb3RoZXIgY29kZSANCj4gPj4+PiBpbiBNWE5ldCwgaXQg d2lsbCBnZW5lcmF0ZSBpbnN0cnVjdGlvbnMgYWNjb3JkaW5nIHRvIHRoZSANCj4gPj4+PiBvcHRp b25zL2ZsYWdzIG9mIGNvbXBpbGVyLiBXZSBjYW4gc2V0IC1EQVJDSF9PUFRfRkxBR1Mgd2hlbiBi dWlsZCANCj4gPj4+PiBNS0wtRE5OIHRvIGF2b2lkIG9wdGltaXphdGlvbiBmb3IgY29tcGlsaW5n IG1hY2hpbmUuIFRoYXQncyANCj4gPj4+PiBleGFjdGx5IHdoYXQgd2UgYXJlIGRvaW5nDQo+ID4+ IGZvciBNS0wtRE5OIGJ1aWxkIGluIE1YTmV0Lg0KPiA+Pj4gRXZlbg0KPiA+Pj4+IHdpdGhvdXQg TUtMLUROTiwgSSBub3RpY2VkIHRoZXJlIHdlcmUgaXNzdWVzIGFib3V0IGlsbGVnYWwgDQo+ID4+ Pj4gaW5zdHJ1Y3Rpb25zDQo+ID4+PiBvZg0KPiA+Pj4+IE1YTmV0IHdoZW4gdXNlcnMgaW1wb3J0 IHRoZSBwaXAgcGFja2FnZSBvbiBhIGxvd2VyIGVuZCBtYWNoaW5lIA0KPiA+Pj4+IHdoaWNoIHBy b2JhYmx5IG9ubHkgc3VwcG9ydHMgU1NFLg0KPiA+Pj4+DQo+ID4+Pj4gQE5hdmVlbiwNCj4gPj4+ Pg0KPiA+Pj4+IFRoZSBMU1RNIGlzc3VlIGhhcyBhbHJlYWR5IGJlZW4gaWRlbnRpZmllZCBhcyBh IHJlZ3Jlc3Npb24gZnJvbSANCj4gPj4+PiB0aGUNCj4gPj4+IHJlY2VudA0KPiA+Pj4+IHZlcnNp b24gb2YgTUtMLUROTi4gSG9wZWZ1bGx5IGl0IHdpbGwgYmUgZml4ZWQgc29vbiB3aXRoIGEgbmV3 IA0KPiA+Pj4+IHVwZGF0ZSBvZiBNS0wtRE5OLg0KPiA+Pj4+DQo+ID4+Pj4gTVhOZXQgaGFzIG1h bnkgc3VibW9kdWxlIGRlcGVuZGVuY2llcyB1bmRlciB0aGUgM3JkIHBhcnR5IGZvbGRlci4NCj4g Pj4+PiBTZWVtcw0KPiA+Pj4gd2UNCj4gPj4+PiBkb24ndCByZXF1aXJlIHJlbGVhc2UgdmVyc2lv bnMgZm9yIG1vc3Qgb2YgdGhlc2UgZGVwZW5kZW5jaWVzLiANCj4gPj4+PiBUaGUNCj4gPj4+IHJl bGVhc2UNCj4gPj4+PiBwZXJpb2Qgb2YgTUtMLUROTiBhbmQgTVhOZXQgYXJlIG5vdCBtYXRjaGVk IHZlcnkgd2VsbC4gSSB0aGluayBpdCANCj4gPj4+PiB3b3VsZA0KPiA+Pj4gYmUNCj4gPj4+PiBh IHJpc2sgZm9yIE1YTmV0IHJlbGVhc2UgaWYgaXQgaGFyZGx5IGRlcGVuZHMgb24gdGhlIHJlbGVh c2Ugb2YgYSANCj4gPj4+PiBzdWJtb2R1bGUsIG5vIG5lZWQgdG8gc2F5IGRlcGVuZHMgb24gdGhl IHJlbGVhc2VzIG9mIGFsbCBzdWJtb2R1bGVzLg0KPiA+Pj4+DQo+ID4+Pj4gLXRhbw0KPiA+Pj4+ DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBOYXZlZW4g U3dhbXkgW21haWx0bzptbm5hdmVlbkBnbWFpbC5jb21dDQo+ID4+Pj4gU2VudDogVGh1cnNkYXks IE5vdmVtYmVyIDIyLCAyMDE4IDk6MDggQU0NCj4gPj4+PiBUbzogZGV2QG14bmV0LmluY3ViYXRv ci5hcGFjaGUub3JnDQo+ID4+Pj4gQ2M6IGRldkBteG5ldC5hcGFjaGUub3JnDQo+ID4+Pj4gU3Vi amVjdDogUmU6IEluY2x1ZGUgTUtMRE5OIGludG8gZGVmYXVsdCBteG5ldCBwaXAgcGFja2FnZQ0K PiA+Pj4+DQo+ID4+Pj4gSGkgQWxleCwNCj4gPj4+Pg0KPiA+Pj4+IFRoYW5rcyBmb3IgcHJvbXB0 bHkgcnVubmluZyB0aGUgbnVtYmVycyBvbiBBTUQgYW5kIHJlcG9ydGluZyBoZXJlLg0KPiA+Pj4+ DQo+ID4+Pj4gQ2FuIHlvdSBwbGVhc2UgdXBkYXRlIHRoZSBBTUQgbnVtYmVycyBoZXJlIGZvciBw b3N0ZXJpdHkNCj4gPj4+Pg0KPiA+Pj4gaHR0cHM6Ly9jd2lraS5hcGFjaGUub3JnL2NvbmZsdWVu Y2UvZGlzcGxheS9NWE5FVC9NWE5ldCt3aXRoK0ludGVsDQo+ID4+PiArTUtMDQo+ID4+PiAtRE5O Ky0rUGVyZm9ybWFuY2UrQmVuY2htYXJraW5nDQo+ID4+Pj4gPw0KPiA+Pj4+DQo+ID4+Pj4gYXJl IHRoZXJlIGFueSBvdXRzdGFuZGluZyBpc3N1ZXMgd2hlbiBNS0xETk4gaXMgZW5hYmxlZD8gZnJv bSBteSANCj4gPj4+PiBvZmZsaW5lIGNvbnZlcnNhdGlvbiBJIGFtIGJyaWVmbHkgYXdhcmUgcGVy Zm9ybWFuY2UgaXNzdWVzIHdpdGggDQo+ID4+Pj4gTFNUTSwgaXMgdGhlcmUgYW4gR2l0SHViIGlz c3VlIGZvciBpdD8NCj4gPj4+Pg0KPiA+Pj4+IE1LTEROTiBpcyBhIHN1Ym1vZHVsZSBkZXBlbmRl bmN5LCBhcmUgd2UgcHVsbGluZyB0aGUgbGF0ZXN0IA0KPiA+Pj4+IGNvbW1pdCBvciByZWxlYXNl cyAgPyBJZiBub3Qgd2Ugc2hvdWxkIG1vdmUgdG8gcmVsZWFzZXMgYmVmb3JlIHdlIA0KPiA+Pj4+ IG1ha2UgaXQgYQ0KPiA+Pj4gZGVmYXVsdC4NCj4gPj4+PiBJZGVhbGx5IHdlIHNob3VsZCB1c2Ug cGxhdGZvcm0gc3BlY2lmaWMgZGlzdHJpYnV0aW9ucyAoLWRldg0KPiA+Pj4+IHBhY2thZ2VzKSBh dCBsZWFzdCB3ZSBzaG91bGQgcmVseSBvbiB3ZWxsIHRlc3RlZCByZWxlYXNlcy4NCj4gPj4+Pg0K PiA+Pj4+DQo+ID4+Pj4gVGhhbmtzLCBOYXZlZW4NCj4gPj4+Pg0KPiA+Pj4+IE9uIFdlZCwgTm92 IDIxLCAyMDE4IGF0IDQ6NTUgUE0gWmFpLCBBbGV4YW5kZXINCj4gPj4+IDxhbGV4emFpQGFtYXpv bi5jb20uaW52YWxpZA0KPiA+Pj4+Pg0KPiA+Pj4+IHdyb3RlOg0KPiA+Pj4+DQo+ID4+Pj4+IEFN RCBiZW5jaG1hcmtzIGhhdmUgYmVlbiBwdWJsaXNoZWQuIFdlIGFyZSBzZWVpbmcgYSB4MTUuOCAN Cj4gPj4+Pj4gc3BlZWR1cCB3aXRoDQo+ID4+Pj4+IFJlc25ldDUwIChiYXRjaCBzaXplIDMyKSBv biBBV1MncyBuZXcgbTVhLjI0eGxhcmdlIG1hY2hpbmUuIFdpdGggDQo+ID4+Pj4+IGEgc21hbGxl ciBuZXR3b3JrIChNb2JpbGVuZXQgLSBiYXRjaCBzaXplIDMyKSB0aGUgc3BlZWR1cCBpcyANCj4g Pj4+Pj4gbW9yZSBzaWduaWZpY2FudCBhdCB4MzguNy4gTGV0J3MgaGF2ZSBhIHZvdGUgdG8gc2Vl IGlmIHRoZSBQUiB0byANCj4gPj4+Pj4gaGF2ZSBNS0xETk4gZW5hYmxlZCBieSBkZWZhdWx0DQo+ ID4+Pj4+IChodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2luY3ViYXRvci1teG5ldC9wdWxsLzEy NTkxKSBjYW4gYmUgDQo+ID4+Pj4+IG1lcmdlZCBiZWZvcmUgMS40LjAgcmVsZWFzZS4NCj4gPj4+ Pj4NCj4gPj4+Pj4g77u/T24gMTAvMTkvMTgsIDk6MTcgQU0sICJQZWRybyBMYXJyb3kiDQo+ID4+ Pj4+IDxwZWRyby5sYXJyb3kubGlzdHNAZ21haWwuY29tPg0KPiA+Pj4+PiB3cm90ZToNCj4gPj4+ Pj4NCj4gPj4+Pj4gICAgSSBkaWQgIHBpcCBpbnN0YWxsIG14bmV0LW1rbD09MS4zLjFiMjAxODEw MTggb24gYW4gQU1EIFJ5emVuIA0KPiA+Pj4+PiAxOTUwWCBhbmQgdW5pdA0KPiA+Pj4+PiAgICB0 ZXN0cyBhcmUgcGFzc2luZy4NCj4gPj4+Pj4NCj4gPj4+Pj4gICAgSXMgdGhpcyBidWlsZCB1c2lu ZyBBVlg1MTI/ICBpbiAvcHJvYy9jcHVpbmZvIEkgc2VlIG9ubHkgImF2eCINCj4gPj4+IGZsYWcu DQo+ID4+Pj4+ICAgIFRoZXJlJ3Mgbm8gImF2eDIiIGxpa2Ugb24gcmVjZW50IGludGVsIGNwdXMu DQo+ID4+Pj4+DQo+ID4+Pj4+ICAgIFBlZHJvLg0KPiA+Pj4+Pg0KPiA+Pj4+PiAgICBPbiBGcmks IE9jdCAxOSwgMjAxOCBhdCA1OjEyIFBNIEhhZ2F5IEx1cGVza28gDQo+ID4+Pj4+IDxsdXBlc2tv QGdtYWlsLmNvbT4NCj4gPj4+Pj4gd3JvdGU6DQo+ID4+Pj4+DQo+ID4+Pj4+PiBBd2Vzb21lIGNv bGxhYm9yYXRpdmUgZWZmb3J0IGFjcm9zcyBtYW55IGNvbnRyaWJ1dG9ycyBhbmQNCj4gPj4+PiBj b21wYW5pZXMhDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlIGJvb3N0IGlzIGltcHJlc3NpdmUgYW5k IGZvciBNWE5ldCB1c2VycyB0byBnZXQgdGhpcw0KPiA+Pj4+PiBib29zdCAib3V0IG9mIHRoZQ0K PiA+Pj4+Pj4gYm94IiBpcyBhIGdyZWF0IGJlbmVmaXQgYW5kIG1ha2VzIE1YTmV0IGFuIGV2ZW4g YmV0dGVyIGNob2ljZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBBbGV4IC0gY2FuIHlvdSBjbGFyaWZ5 IHdoZXRoZXIgdGhlcmUgYXJlIGFueSBkb3duIHNpZGVzIHdpdGgNCj4gPj4+Pj4gcmVnYXJkcyB0 bw0KPiA+Pj4+Pj4gbm9vbiBBVlgtNTEyIGFyY2hpdGVjdHVyZXMsIEFNRCBDUFVzLCBldGM/IFdp bGwgaXQNCj4gPj4+Pj4gZ3JhY2VmdWxseSBmYWxsYmFjaz8NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBI YWdheQ0KPiA+Pj4+Pj4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBPbiBGcmksIE9jdCAxOSwgMjAxOCwg MTU6NDYgU2VyZ2lvIEZlcm7DoW5kZXoNCj4gPj4+Pj4gPHdpa2llckBhcGFjaGUub3JnPg0KPiA+ Pj4+PiB3cm90ZToNCj4gPj4+Pj4+DQo+ID4+Pj4+Pj4gSWYgdGhlcmUgaXMgbm8gZG93bnNpZGUg b24gcGxhdGZvcm1zIG5vdCBzdXBwb3J0aW5nIEFWWDUxMg0KPiA+Pj4+PiBpbnN0cnVjdGlvbnMs DQo+ID4+Pj4+Pj4gdGhlbiArMQ0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBPbiBX ZWQsIE9jdCAxNywgMjAxOCwgMTQ6MTAgQWxleCBaYWkgPGF6YWk5MUBnbWFpbC5jb20+DQo+ID4+ IHdyb3RlOg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEhleSBhbGwsDQo+ID4+Pj4+Pj4+IFdlIGhh dmUgYmVlbiB3b3JraW5nIGhhcmQgdGhlc2UgcGFzdCBmZXcgbW9udGhzIHRvDQo+ID4+Pj4+IGlu dGVncmF0ZQ0KPiA+Pj4+IGFuZA0KPiA+Pj4+Pj4+IHN0YWJpbGl6ZQ0KPiA+Pj4+Pj4+PiBJbnRl bOKAmXMgTUtMRE5OIGRlZXAgbGVhcm5pbmcgQ1BVIGFjY2VsZXJhdG9yIGludG8gTXhuZXQNCj4g Pj4+Pj4gYW5kIGhhdmUgbWFkZQ0KPiA+Pj4+Pj4+PiBpbmNyZWRpYmxlIHByb2dyZXNzLiBPbiBD UFVzIHdpdGggQVZYNTEyIGluc3RydWN0aW9ucw0KPiA+Pj4+PiAoc3VjaCBhcw0KPiA+Pj4+PiBj NS4xOHgpDQo+ID4+Pj4+PiB3ZQ0KPiA+Pj4+Pj4+PiBoYXZlIHNlZW4gcGVyZm9ybWFuY2UgaW5j cmVhc2UgdXAgdG8gMTJ4IGFuZCBvbiBvdGhlcg0KPiA+Pj4+PiBwbGF0Zm9ybXMgKE1hY3MsDQo+ ID4+Pj4+Pj4+IEFWWDIpIHdlIHNlZW4gYSBzcGVlZHVwIG9mIDEuNSsuIEZ1bGwgbGlzdCBvZiBi ZW5jaG1hcmtzDQo+ID4+Pj4+IGNhbiBiZSBmb3VuZA0KPiA+Pj4+Pj4+IGhlcmUNCj4gPj4+Pj4+ Pj4gKA0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pg0KPiA+Pj4+Pg0KPiA+Pj4+DQo+ ID4+PiBodHRwczovL2N3aWtpLmFwYWNoZS5vcmcvY29uZmx1ZW5jZS9wYWdlcy92aWV3cGFnZS5h Y3Rpb24/cGFnZUlkPTkNCj4gPj4+IDU2NTANCj4gPj4+IDc2NA0KPiA+Pj4+Pj4+PiBhbmQgaHR0 cHM6Ly9naXRodWIuY29tL2FwYWNoZS9pbmN1YmF0b3ItbXhuZXQvcHVsbC8xMjU5MQ0KPiA+PiAp Lg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBDdXJyZW50bHksIHVzaW5nIHRoaXMgYWNjZWxlcmF0 b3IgcmVxdWlyZXMgdGhlIGRldmVsb3Blcg0KPiA+Pj4+PiB0byBlaXRoZXIgcGlwDQo+ID4+Pj4+ Pj4+IGluc3RhbGwgdGhlIG14bmV0LW1rbCB2ZXJzaW9uIG9mIG14bmV0IG9yIHRvIGJ1aWxkIGl0 DQo+ID4+Pj4+IHRoZW1zZWx2ZXMgZnJvbQ0KPiA+Pj4+Pj4+PiBzb3VyY2UuIEdpdmVuIHRoYXQg d2Ugc2hvdWxkIHRyeSB0byBwcm92aWRlIHRoZSBiZXN0DQo+ID4+Pj4+IHBlcmZvcm1hbmNlICJv dXQNCj4gPj4+Pj4+IG9mDQo+ID4+Pj4+Pj4+IHRoZSBib3jigJ0gd2l0aCBteG5ldCB3ZSBzaG91 bGQgaW5jbHVkZSB0aGlzIGluIHRoZQ0KPiA+Pj4+PiBkZWZhdWx0DQo+ID4+Pj4gYnVpbGQuDQo+ ID4+Pj4+IFRoZQ0KPiA+Pj4+Pj4+IG1rbGRubg0KPiA+Pj4+Pj4+PiBsaWJyYXJ5IGlzIGluY2x1 ZGVkIHdpdGggaW4gdGhlIHBpcCBwYWNrYWdlIGJ1aWxkIHNvIGl0DQo+ID4+Pj4+IGRvZXMNCj4g Pj4+PiBub3QNCj4gPj4+Pj4+IHJlcXVpcmUNCj4gPj4+Pj4+PiBhbg0KPiA+Pj4+Pj4+PiBleHRl cm5hbCBkZXBlbmRlbmN5Lg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+PiBUaGVyZSB3ZXJlIGNvbmNl cm5zIHRoYXQgTUtMRE5OIGNvdWxkIGNhdXNlIHJlZ3Jlc3Npb25zDQo+ID4+Pj4+IG9uIGNlcnRh aW4NCj4gPj4+Pj4+Pj4gcGxhdGZvcm1zIChhcyBpdCBkaWQgd2l0aCB0aGUgdGVuc29yZmxvdyB2 ZXJzaW9uIGEgd2hpbGUNCj4gPj4+Pj4gYmFjayk7IGJ1dCB3ZQ0KPiA+Pj4+Pj4+PiBhZGRlZCBh IGVudiBmbGFnIChNWE5FVF9NS0xETk5fRU5BQkxFRCkgdGhhdCBhbGxvd3MNCj4gPj4+Pj4gdXNl cnMgdG8gdHVybiBvZg0KPiA+Pj4+Pj4gdGhpcw0KPiA+Pj4+Pj4+PiBmZWF0dXJlIGR1cmluZyBy dW50aW1lLiBQbGVhc2UgYnJpbmcgdXAgYW55IG90aGVyDQo+ID4+Pj4+IGNvbmNlcm5zIHlvdSBt YXkgaGF2ZQ0KPiA+Pj4+Pj4+IGFuZA0KPiA+Pj4+Pj4+PiB5b3VyIHRob3VnaHRzIG9uIGluY2x1 ZGluZyB0aGlzIGFjY2VsZXJhdG9yIGluIHRoZQ0KPiA+Pj4+PiBkZWZhdWx0DQo+ID4+Pj4gYnVp bGQuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+IEJlc3QsDQo+ID4+Pj4+Pj4+IEFsZXgNCj4gPj4+ Pj4+Pj4NCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4g Pj4+Pg0KPiA+Pj4NCj4gPj4NCj4NCg==