From dev-return-4990-archive-asf-public=cust-asf.ponee.io@mxnet.incubator.apache.org Wed Nov 28 03:21:51 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 0F3D6180670 for ; Wed, 28 Nov 2018 03:21:50 +0100 (CET) Received: (qmail 18257 invoked by uid 500); 28 Nov 2018 02:21:50 -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 18245 invoked by uid 99); 28 Nov 2018 02:21:49 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd1-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Nov 2018 02:21:49 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd1-us-west.apache.org (ASF Mail Server at spamd1-us-west.apache.org) with ESMTP id 1F765C6CD5 for ; Wed, 28 Nov 2018 02:21:49 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.301 X-Spam-Level: X-Spam-Status: No, score=-2.301 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd1-us-west.apache.org [10.40.0.7]) (amavisd-new, port 10024) with ESMTP id 7KQ2qoDmuwLt for ; Wed, 28 Nov 2018 02:21:46 +0000 (UTC) Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 0376660FF8 for ; Wed, 28 Nov 2018 02:21:45 +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 orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 27 Nov 2018 18:21:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,289,1539673200"; d="scan'208";a="113031255" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga002.fm.intel.com with ESMTP; 27 Nov 2018 18:21:38 -0800 Received: from fmsmsx153.amr.corp.intel.com (10.18.125.6) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 27 Nov 2018 18:21:38 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX153.amr.corp.intel.com (10.18.125.6) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 27 Nov 2018 18:21:37 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.117]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.46]) with mapi id 14.03.0415.000; Wed, 28 Nov 2018 10:21:35 +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//+NnoCAAAIfgIAAzLowgAVMDYCAAJVvuYAA32yAgADXeDCAAN88AIAAo5cg Date: Wed, 28 Nov 2018 02:21:35 +0000 Message-ID: <7EE05B097135E4438AAC805EE2C744E903C2D287@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> <7EE05B097135E4438AAC805EE2C744E903C2B616@SHSMSX104.ccr.corp.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: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiZjlkNjUxMTAtYmEwMC00MjNhLWI1NjktYTAzOGViNzAwN2FkIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiZzBMaFcwZFBnd0t5WlA3Nnl3cTZkNHVjZklZRGpSU05DQzdaVENQQ0ZiYWpwRzYyajNQckpwYUR0ZGFaV2pYOSJ9 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 SGkgQW5pcnVkaCwgcGxlYXNlIGZpbmQgdGhlIHN0YXRlbWVudHMgZnJvbSBNS0wtRE5OIG1hbmFn ZXIgZm9yIHRoZSB2ZXJzaW9uaW5nIG1lY2hhbmlzbSBvZiBNS0wtRE5OIGxpYnJhcnkgYXMgYmVs b3c6DQoNCiJUaGF0J3MgdmFsaWQgcmVxdWVzdCBhbmQgSSB3b3VsZCBleHBlY3QgdGhhdCBhcyB0 aGUgc29mdHdhcmUgbWF0dXJlcyBtb3JlIGFuZCBtb3JlIGFwcGxpY2F0aW9ucyB3aWxsIHJlbHkg b24gc3RhYmxlIHZlcnNpb25zLiBJIHdvdWxkIGV4cGVjdCB0aGF0IGZvciBNWE5ldCB0aGVyZSBp cyBhIHN0YWJsZSBicmFuY2ggdGhhdCB3b3VsZCByZWx5IG9uIHN0YWJsZSBNS0wtRE5OIGFuZCBk ZXZlbG9wbWVudCBicmFuY2ggdGhhdCB3b3VsZCByZWx5IG9uIG1hc3Rlci4gDQoNCk1LTC1ETk4g cmVsaWVzIG9uIHNlbWFudGljIHZlcnNpb25pbmcuIFdlIGRvIG1haW50YWluIGEgcmVsZWFzZSBi cmFuY2hlcyBpbiBhZGRpdGlvbiB0byBtYXN0ZXIgdGhhdCBjYW4gYmUgdXNlZCB0byByZWxlYXNl IHBhdGNoZXMuIEluIHBhcnRpY3VsYXIgd2UgYXJlIHBsYW5uaW5nIHYwLjE3LjEgdGhpcyB3ZWVr IHRvIGRlbGl2ZXIgYSBmaXggZm9yIHJlb3JkZXJzIHRoYXQgeW91IHJlcXVlc3RlZC4gVGhpcyB3 b3JrcyBpbiB0aGUgZm9sbG93aW5nIHdheToNCiogbWFzdGVyIGNvbnRhaW5zIHRoZSBsYXRlc3Qg ZGV2ZWxvcG1lbnQgKHR5cGljYWxseSB0aGUgbmV4dCByZWxlYXNlKQ0KKiBybHMtdjAuMTcgY29u dGFpbnMgdjAuMTcgYW5kIHdpbGwgYmUgdXNlZCB0byBjcmVhdGUgbWlub3IgcmVsZWFzZXMgKHYw LjE3LjEgYW5kIHNvIG9uKSINCg0KSSBhbHNvIHJlc3RhdGUgbXkgaW5pdGlhbCBjb25jZXJuIGhl cmU6IElmIHRoZSBtYXN0ZXIgKGRldmVsb3BtZW50KSBicmFuY2ggb2YgTVhOZXQgcmVsaWVzIG9u IGEgYmxlZWRpbmcgZWRnZSBjb21taXQgZnJvbSBNS0wtRE5OIG1hc3RlciBicmFuY2gsIHdoZW4g TVhOZXQgY29tZXMgdG8gcmVsZWFzZSwgd2UgbmVlZCByZXZlcnQgbWFueSBjaGFuZ2VzIGluIE1Y TmV0IGlmIE1LTC1ETk4gd2lsbCBub3QgaGF2ZSBhIG5ldyByZWxlYXNlIGF0IHRoYXQgdGltZSwg c2luY2Ugd2UgbmVlZCBmYWxsYmFjayB0aGUgZGVwZW5kZW5jeSB0byBhIHByZXZpb3VzIHJlbGVh c2UgdmVyc2lvbi4gVGhhdCBtaWdodCBtZXNzIHVwIG9yIHNsb3cgZG93biB0aGUgZGV2ZWxvcG1l bnQgYW5kIHJlbGVhc2Ugb2YgTVhOZXQuIFRvIGF2b2lkIHRoYXQsIHdlIGFsd2F5cyBuZWVkIG5l Z290aWF0ZSB3aXRoIE1LTC1ETk4gdGVhbSBmb3IgdGhlIHJlbGVhc2UgcGFjZSBiZWZvcmUgZXZl cnkgcmVsZWFzZS4NCg0KSWYgeW91IGhhdmUgYW55IG90aGVyIHF1ZXN0aW9ucyBhYm91dCBNS0wt RE5OJ3MgdmVyc2lvbmluZywgZmVlbCBmcmVlIHRvIGxldCBtZSBrbm93LiBJZiB5b3Ugd2FudCB0 byBjaGFuZ2UgYW5kIHJlLWRlZmluZSB0aGUgZGVwZW5kZW5jeSBiZWhhdmlvciBvZiBNS0wtRE5O LCBwbGVhc2UgcHJvcG9zZSBhIHNvbHV0aW9uIGZvciBteSBjb25jZXJuIGFuZCBzdGFydCBhIHZv dGUgZm9yIHRoYXQuDQoNClRoYW5rcywNCi10YW8NCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KRnJvbTogQW5pcnVkaCBTdWJyYW1hbmlhbiBbbWFpbHRvOmFuaXJ1ZGgyMjkwQGdtYWls LmNvbV0gDQpTZW50OiBXZWRuZXNkYXksIE5vdmVtYmVyIDI4LCAyMDE4IDg6MjYgQU0NClRvOiBk ZXZAbXhuZXQuaW5jdWJhdG9yLmFwYWNoZS5vcmcNClN1YmplY3Q6IFJlOiBJbmNsdWRlIE1LTERO TiBpbnRvIGRlZmF1bHQgbXhuZXQgcGlwIHBhY2thZ2UNCg0KSGkgVGFvLA0KDQpJIHdhcyBzdWdn ZXN0aW5nIHdlIGNhbiBzdGFydCB1c2luZyBhIHJlbGVhc2UgdGFnIGZyb20gbWtsZG5uIGZvciBt YWpvciBhbmQgbWlub3IgcmVsZWFzZXMgb2YgbXhuZXQgc3RhcnRpbmcgd2l0aCAxLjQuMC4gQnV0 IHRoaXMgd291bGQgcmVxdWlyZSBhIHZlcnNpb25pbmcgbWVjaGFuaXNtIHNpbWlsYXIgdG8gc2Vt dmVyIGZvciBNS0xETk4gYW5kICBNS0xETk4gdG8gZG8gcGF0Y2ggcmVsZWFzZSB0byBiYWNrcG9y dCB0aGUgYnVnIGZpeGVzL3JlZ3Jlc3Npb25zLiBJIGRvbnQga25vdyBpZiB0aGlzIGlzIGdvaW5n IHRvIGhhcHBlbiBhbnl0aW1lIHNvb24gKEl0IHdvdWxkIGJlIG5pY2UgaWYgeW91IGNhbiBvYnRh aW4gc29tZSB0aW1lbGluZSBmcm9tIE1LTEROTiB0ZWFtIG9uIHRoaXMpLiBBcyBsb25nIGFzIHRo ZSBQSVAgc3RpbGwgaGFzIHR3byBkaWZmZXJlbnQgcGFja2FnZXMgZm9yIG1rbCBhbmQgd2l0aG91 dCBta2wgbXkgdm90ZSBpcyArMSBmb3IgYWRkaW5nIGl0IGFzIGEgZGVmYXVsdC4NCg0KQW5pcnVk aA0KDQoNCk9uIFR1ZSwgTm92IDI3LCAyMDE4IGF0IDU6MDQgQU0gTHYsIFRhbyBBIDx0YW8uYS5s dkBpbnRlbC5jb20+IHdyb3RlOg0KDQo+IEhpIEFuaXJ1ZGgsDQo+DQo+IEp1c3QgdG8gY29uZmly bSwgeW91J3JlIGZvY3VzaW5nIG9uIHRoZSAxLjQuMCByZWxlYXNlIG9mIE1YTmV0IGFuZCANCj4g d2FudCB0byBoYXZlIGEgcmVsZWFzZSB2ZXJzaW9uIG9mIE1LTC1ETk4gdGhlcmUsIHJpZ2h0PyBP ciBkbyB5b3UgbWVhbiANCj4gYWxsIHRoZSBkZXZlbG9wbWVudCBpbiB0aGUgZnV0dXJlIHNob3Vs ZCBiYXNlIG9uIHRoZSByZWxlYXNlIHZlcnNpb24gb2YgTUtMLUROTj8NCj4gRm9yIHRoZSBmb3Jt ZXIgb25lLCBJIHRoaW5rIDAuMTcgcmVsZWFzZSBvZiBNS0wtRE5OIGlzIGEgZ29vZCBjaG9pY2Uu IA0KPiBCdXQgaXQgd2lsbCBub3QgaGF2ZSBmaXggZm9yIHRoZSBMU1RNIHJlZ3Jlc3Npb24gbWVu dGlvbmVkIGluIHByZXZpb3VzIGVtYWlsLg0KPg0KPiBJJ20gdGFsa2luZyBhYm91dCB0aGUgdmVy c2lvbmluZyBtZWNoYW5pc20gd2l0aCBNS0wtRE5OIG1haW50YWluZXJzIA0KPiBhbmQgd2lsbCBi ZSBiYWNrIHRvIHlvdSBpZiBJIGdldCBhbnkgcmVzcG9uc2UuIEJ1dCBmcm9tIHRoZSByZWxlYXNp bmcgDQo+IGhpc3Rvcnkgb2YgTUtMLUROTiwgSSBjYW5ub3QgZmluZCBhbnkgZXZpZGVuY2UgYWJv dXQgcGF0Y2ggcmVsZWFzZS4NCj4NCj4gLXRhbw0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiBGcm9tOiBBbmlydWRoIFN1YnJhbWFuaWFuIFttYWlsdG86YW5pcnVkaDIyOTBAZ21h aWwuY29tXQ0KPiBTZW50OiBUdWVzZGF5LCBOb3ZlbWJlciAyNywgMjAxOCA2OjE2IEFNDQo+IFRv OiBkZXZAbXhuZXQuaW5jdWJhdG9yLmFwYWNoZS5vcmcNCj4gU3ViamVjdDogUmU6IEluY2x1ZGUg TUtMRE5OIGludG8gZGVmYXVsdCBteG5ldCBwaXAgcGFja2FnZQ0KPg0KPiBIaSBUYW8sDQo+DQo+ IEkgYWdyZWUgd2l0aCBTdGVmZmVuIHRoYXQgd2UgY2FuIHN0YXJ0IHdpdGggYSBzdGFibGUgcmVs ZWFzZSBmb3IgDQo+IE1LTEROTiBmb3IgMS40LjAuIEZvciB5b3VyIHN1Z2dlc3Rpb24gb24gdXNp bmcgMC4xNywgY2FuIHlvdSBwcm92aWRlIA0KPiBpbmZvIG9uIHdoYXQgdmVyc2lvbmluZyBtZWNo YW5pc20gTUtMRE5OIHVzZXMuIE9uY2UgYSBNS0xETk4gcmVsZWFzZSANCj4gaXMgb3V0IGFuZCB0 aGVyZSBhcmUgc29tZSByZWdyZXNzaW9ucyBmb3VuZCBsaWtlIHRoZSBMU1RNIHJlZ3Jlc3Npb24s IA0KPiB3b3VsZCBpdCBiZSBwb3NzaWJsZSB0byBkbyBhIHBhdGNoIHJlbGVhc2UgZm9yIGl0IG9y IG1haW50YWluIGEgcmVsZWFzZSBicmFuY2ggZm9yIGl0ID8NCj4NCj4gQW5pcnVkaA0KPg0KPiBP biBTdW4sIE5vdiAyNSwgMjAxOCBhdCA1OjAzIFBNIEx2LCBUYW8gQSA8dGFvLmEubHZAaW50ZWwu Y29tPiB3cm90ZToNCj4NCj4gPiBIaSBTdGVmZmVuLA0KPiA+DQo+ID4gSSB0aGluayBhbGwgdGhl IGNvbW1pdHMgb24gTUtMLUROTiBtYXN0ZXIgYnJhbmNoIGFyZSB3ZWxsIHRlc3RlZCBmb3IgDQo+ ID4gTUtMLUROTiBkZXZlbG9wbWVudCB0ZWFtLiBJZiB3ZSByZWFsbHkgd2FudCB0byBoYXZlIGEg cmVsZWFzZSBjb21taXQgDQo+ID4gaW4gdGhlIGNvbWluZyAxLjQgbXhuZXQgcmVsZWFzZSwgbXkg c3VnZ2VzdGlvbiBpcyAwLjE3IE1LTC1ETk4gcmVsZWFzZS4NCj4gPg0KPiA+IFRoYW5rIHlvdSwN Cj4gPiBUYW8NCj4gPg0KPiA+IFNlbnQgZnJvbSBteSBpUGhvbmUNCj4gPg0KPiA+ID4gT24gTm92 IDI2LCAyMDE4LCBhdCA4OjA5IEFNLCBTdGVmZmVuIFJvY2hlbCANCj4gPiA+IDxzdGVmZmVucm9j aGVsQGdtYWlsLmNvbT4NCj4gPiB3cm90ZToNCj4gPiA+DQo+ID4gPiArMSB0byBtYWtlIE1LTC1E Tk4gZGVmYXVsdC4NCj4gPiA+IEknbSB0cmFja2luZyAgDQo+ID4gPiBodHRwczovL2dpdGh1Yi5j b20vYXBhY2hlL2luY3ViYXRvci1teG5ldC9pc3N1ZXMvMTMzNjkNCj4gPiA+IGFzIG9wZW4gaXNz dWUgdG8gYmUgYWRkcmVzc2VkIGZvciAxLjQuMCBJIGRvIGFncmVlIHRoYXQgd2Ugc2hvdWxkIA0K PiA+ID4gbW92ZSB0byBhIG1vZGVsIHRvIGluY2x1ZGUgcmVsZWFzZWQNCj4gPiBkZXBlbmRlbmNp ZXMNCj4gPiA+IGluc3RlYWQgb2YganVzdCB0YWtpbmcgYmxlZWRpbmcgZWRnZSBzbmFwc2hvdHMu DQo+ID4gPiBIb3dldmVyLCBzcGVlZCBvZiBkZXZlbG9wbWVudCBpcyBpbXBvcnRhbnQgYXMgd2Vs bC4NCj4gPiA+IEFzIGEgY29tcHJvbWlzZSBmb3IgMS40LjAgcmVsZWFzZSB3aXRoIE1LTC1ETk46 IGNhbiB0aGUgTUtMLUROTg0KPiA+IGRldmVsb3BtZW50DQo+ID4gPiB0ZWFtIHByb3ZpZGUgdXMg d2l0aCBhIHdlbGwgdGVzdGVkIHRhZy9jb21taXQgaWQgdG8gaW5jbHVkZSBpbiANCj4gPiA+IDEu NC4wIHJlbGVhc2U/DQo+ID4gPiBTdGVmZmVuDQo+ID4gPg0KPiA+ID4+IE9uIFdlZCwgTm92IDIx LCAyMDE4IGF0IDExOjQyIFBNIEx2LCBUYW8gQSA8dGFvLmEubHZAaW50ZWwuY29tPg0KPiB3cm90 ZToNCj4gPiA+Pg0KPiA+ID4+IFRoYW5rcyBmb3IgdGhlIGluZm9ybWF0aW9uLCBLZWxsZW4gYW5k IE5hdmVlbi4NCj4gPiA+Pg0KPiA+ID4+IEJldHRlciB0aGFuIG9ubngtdGVuc29ycnQsIE1LTC1E Tk4gaGFzIGFscmVhZHkgcHJvdmlkZWQgDQo+ID4gPj4gdmVyc2lvbmluZyBhbmQgcmVsZWFzZSB0 YWdzLiBNeSBjb25jZXJuIGlzIHRoYXQgYXMgTUtMLUROTiBpcyANCj4gPiA+PiBzdGlsbCB1bmRl ciBpbnRlbnNpdmUgZGV2ZWxvcG1lbnQsIGlmIGl0IGhhcyBhIG5ldyBmZWF0dXJlIG9yIGJ1ZyAN Cj4gPiA+PiBmaXggb24gaXRzIG1hc3RlciBicmFuY2gsDQo+ID4gZG8gd2UNCj4gPiA+PiByZWFs bHkgd2FudCB0byB3YWl0IGZvciBuZXh0IHJlbGVhc2UgdG8gZ2V0IGl0IHN1cHBvcnRlZCBpbiBN WE5ldD8NCj4gPiA+Pg0KPiA+ID4+IFRha2UgdGhlIExTVE0gcmVncmVzc2lvbiBhcyBhbiBleGFt cGxlLCBwcm9iYWJseSBNS0wtRE5OIHdpbGwgDQo+ID4gPj4gZ2l2ZSBhIGZpeCBvciBpbXByb3Zl bWVudCBvbiBpdHMgbWFzdGVyIGJyYW5jaCBzb29uLCBkbyB3ZSBuZWVkIA0KPiA+ID4+IHRvIHdh aXQgZm9yIDAuMTggcmVsZWFzZSB0byBnZXQgaXQgZml4ZWQgZm9yIG14bmV0IHVzZXI/IEFGQUlL LCANCj4gPiA+PiB0ZW5zb3JmbG93IGlzIGFsc28gdXNpbmcgbm9ybWFsIGNvbW1pdCBpZCwgbm90 IHJlbGVhc2UsIGFzIHRoZSANCj4gPiA+PiBkZXBlbmRlbmN5IGZvcg0KPiBNS0wtRE5OLg0KPiA+ ID4+DQo+ID4gPj4gUmVnYXJkaW5nIHRoZSBMU1RNIHJlZ3Jlc3Npb24sIHdlIGFyZSB1c2luZyBp bnRlcm5hbCBKSVJBIHRpY2tldHMgDQo+ID4gPj4gcmF0aGVyIHRoYW4gZ2l0aHViIGlzc3VlcyB0 byB0cmFjayB0aGUgZGVmZWN0cyBvZiBNS0wtRE5OLiBCdXQgSSANCj4gPiA+PiBhZ3JlZSB3aXRo DQo+ID4geW91LA0KPiA+ID4+IHdlIG5lZWQgdXBkYXRlIHRoZSBwcm9ncmVzcyBvZiBpdCBpbiBB bGV4J3MgaXNzdWUuDQo+ID4gPj4NCj4gPiA+PiBUaGFua3MsDQo+ID4gPj4gLXRhbw0KPiA+ID4+ DQo+ID4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+PiBGcm9tOiBrZWxsZW4g c3VuZGVybGFuZCBbbWFpbHRvOmtlbGxlbi5zdW5kZXJsYW5kQGdtYWlsLmNvbV0NCj4gPiA+PiBT ZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMjIsIDIwMTggMTA6NTUgQU0NCj4gPiA+PiBUbzogZGV2 QG14bmV0LmluY3ViYXRvci5hcGFjaGUub3JnDQo+ID4gPj4gU3ViamVjdDogUmU6IEluY2x1ZGUg TUtMRE5OIGludG8gZGVmYXVsdCBteG5ldCBwaXAgcGFja2FnZQ0KPiA+ID4+DQo+ID4gPj4gQWdy ZWUgd2l0aCB5b3VyIHBvaW50IGFib3V0IG90aGVyIHJlcG9zIGFsc28gbm90IGJlaW5nIGJhc2Vk IG9uDQo+ID4gdmVyc2lvbmluZw0KPiA+ID4+IFRhby4gIEkgd291bGQgcG9pbnQgb3V0IHRoYXQg SSd2ZSBnaXZlbiBzb21lIHRoYXQgSSd2ZSB3b3JrZWQgDQo+ID4gPj4gd2l0aA0KPiA+IHNpbWls YXINCj4gPiA+PiBmZWVkYmFjazogaHR0cHM6Ly9naXRodWIuY29tL29ubngvb25ueC10ZW5zb3Jy dC9pc3N1ZXMvNjgNCj4gPiA+Pg0KPiA+ID4+PiBPbiBXZWQsIE5vdiAyMSwgMjAxOCBhdCA2OjQ4 IFBNIE5hdmVlbiBTd2FteSANCj4gPiA+Pj4gPG1ubmF2ZWVuQGdtYWlsLmNvbT4NCj4gPiB3cm90 ZToNCj4gPiA+Pj4NCj4gPiA+Pj4gVGFvLA0KPiA+ID4+Pg0KPiA+ID4+PiBZb3UgYXJlIHJpZ2h0 IHRoZXJlIGFyZSBtYW55IHN1Ym1vZHVsZXMgaW4gM3JkIHBhcnR5LiBXZSBoYXZlIHRvIA0KPiA+ ID4+PiBzdGFydCBzb21ld2hlcmUgYW5kIEkgYmVsaWV2ZSB0aGlzIG9uZSBpcyBhIGdvb2QgY2Fu ZGlkYXRlIHRvIA0KPiA+ID4+PiBzdGFydA0KPiB3aXRoLg0KPiA+ID4+PiBUaGlzIGlzIG5vdCB0 byBjYXRlciB0byByZWxlYXNlIG9mIE1YTmV0IG9yIHRvIHRpZSB0aGVtIHdpdGggdGhlIA0KPiA+ ID4+PiByZWxlYXNlcyBvZiB0aGUgc3VibW9kdWxlcyBidXQgaW5zdGVhZCB0byBwaWNrIG9ubHkg c3RhYmxlIA0KPiA+ID4+PiByZWxlYXNlcyBhbmQgbm90IHRvIHBpY2sgdXAgYmxlZWRpbmcgZWRn ZSBjb21taXRzIGZyb20gdGhlIHRpcCANCj4gPiA+Pj4gb2YgdGhlIG1hc3RlciwgdGhpcyBnaXZl cyB1cyBjb25maWRlbmNlIGluIHRoZSBzdWJtb2R1bGUgdGhhdCANCj4gPiA+Pj4gTVhOZXQgdXNl cnMgYXJlIGRlcGVuZGluZyBvbiB0aGF0IGVzcGVjaWFsbHkgaWYgd2UgbWFrZSBNS0xETk4gdGhl IGRlZmF1bHQuDQo+ID4gPj4+DQo+ID4gPj4+IEdvb2QgdG8ga25vdyBpdCBpcyBrbm93biBhbHJl YWR5IGFzIGEgcmVncmVzc2lvbi5BbGV4IGhhcyANCj4gPiA+Pj4gY3JlYXRlZCB0aGlzIGlzc3Vl IA0KPiA+ID4+PiBodHRwczovL2dpdGh1Yi5jb20vYXBhY2hlL2luY3ViYXRvci1teG5ldC9pc3N1 ZXMvMTMzNjksDQo+ID4gPj4+IHBsZWFzZSBhZGQgZGV0YWlscyBhbmQgbGluayB0aGUgY29ycmVz cG9uZGluZyBpc3N1ZSBpbiBNS0xETk4oSSANCj4gPiA+Pj4gY291bGRuJ3QNCj4gPiBmaW5kKS4N Cj4gPiA+Pj4NCj4gPiA+Pj4gLU5hdmVlbg0KPiA+ID4+Pg0KPiA+ID4+Pj4gT24gV2VkLCBOb3Yg MjEsIDIwMTggYXQgNjowNCBQTSBMdiwgVGFvIEEgPHRhby5hLmx2QGludGVsLmNvbT4NCj4gd3Jv dGU6DQo+ID4gPj4+Pg0KPiA+ID4+Pj4gSGVyZSBhcmUgbXkgYW5zd2VycyBmb3IgdGhlIHF1ZXN0 aW9ucyBmcm9tIEtlbGxlbiBhbmQgTmF2ZWVuIA0KPiA+ID4+Pj4gYWJvdXQgTUtMLUROTi4gSXQg ZG9lc24ndCBtZWFuIHRoYXQgSSdtIHN1cHBvcnRpdmUgZm9yIG1ha2luZyANCj4gPiA+Pj4+IE1L TC1ETk4gZGVmYXVsdCBoZXJlLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IEBLZWxsZW4sDQo+ID4gPj4+ Pg0KPiA+ID4+Pj4gRllJLCBoZXJlIGlzIGEgbGlzdCBmb3IgdGhvc2UgcGxhdGZvcm1zIHdoaWNo IGFyZSBvZmZpY2lhbGx5IA0KPiA+ID4+Pj4gc3VwcG9ydGVkIGJ5IE1LTC1ETk4uDQo+ID4gPj4+ PiBodHRwczovL2dpdGh1Yi5jb20vaW50ZWwvbWtsLWRubiNzeXN0ZW0tcmVxdWlyZW1lbnRzDQo+ ID4gPj4+Pg0KPiA+ID4+Pj4gTW9zdCBvZiBjb21wdXRhdGlvbiBpbnRlbnNpdmUga2VybmVscyBp biBNS0wtRE5OIGFyZSBKSVRlZC4gU28gDQo+ID4gPj4+PiB0aGV5IGFyZSBzdXBwb3NlZCB0byBn ZW5lcmF0ZSBjb2RlIGFjY29yZGluZyB0byB0aGUgcGxhdGZvcm0gDQo+ID4gPj4+PiBkdXJpbmcg cnVudGltZS4gRm9yIG5vbi1KSVQgY29kZSBpbiBNS0wtRE5OLCBzYW1lIGFzIG90aGVyIGNvZGUg DQo+ID4gPj4+PiBpbiBNWE5ldCwgaXQgd2lsbCBnZW5lcmF0ZSBpbnN0cnVjdGlvbnMgYWNjb3Jk aW5nIHRvIHRoZSANCj4gPiA+Pj4+IG9wdGlvbnMvZmxhZ3Mgb2YgY29tcGlsZXIuIFdlIGNhbiBz ZXQgLURBUkNIX09QVF9GTEFHUyB3aGVuIA0KPiA+ID4+Pj4gYnVpbGQgTUtMLUROTiB0byBhdm9p ZCBvcHRpbWl6YXRpb24gZm9yIGNvbXBpbGluZyBtYWNoaW5lLiANCj4gPiA+Pj4+IFRoYXQncyBl eGFjdGx5IHdoYXQgd2UgYXJlIGRvaW5nDQo+ID4gPj4gZm9yIE1LTC1ETk4gYnVpbGQgaW4gTVhO ZXQuDQo+ID4gPj4+IEV2ZW4NCj4gPiA+Pj4+IHdpdGhvdXQgTUtMLUROTiwgSSBub3RpY2VkIHRo ZXJlIHdlcmUgaXNzdWVzIGFib3V0IGlsbGVnYWwgDQo+ID4gPj4+PiBpbnN0cnVjdGlvbnMNCj4g PiA+Pj4gb2YNCj4gPiA+Pj4+IE1YTmV0IHdoZW4gdXNlcnMgaW1wb3J0IHRoZSBwaXAgcGFja2Fn ZSBvbiBhIGxvd2VyIGVuZCBtYWNoaW5lIA0KPiA+ID4+Pj4gd2hpY2ggcHJvYmFibHkgb25seSBz dXBwb3J0cyBTU0UuDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gQE5hdmVlbiwNCj4gPiA+Pj4+DQo+ID4g Pj4+PiBUaGUgTFNUTSBpc3N1ZSBoYXMgYWxyZWFkeSBiZWVuIGlkZW50aWZpZWQgYXMgYSByZWdy ZXNzaW9uIGZyb20gDQo+ID4gPj4+PiB0aGUNCj4gPiA+Pj4gcmVjZW50DQo+ID4gPj4+PiB2ZXJz aW9uIG9mIE1LTC1ETk4uIEhvcGVmdWxseSBpdCB3aWxsIGJlIGZpeGVkIHNvb24gd2l0aCBhIG5l dyANCj4gPiA+Pj4+IHVwZGF0ZSBvZiBNS0wtRE5OLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IE1YTmV0 IGhhcyBtYW55IHN1Ym1vZHVsZSBkZXBlbmRlbmNpZXMgdW5kZXIgdGhlIDNyZCBwYXJ0eSBmb2xk ZXIuDQo+ID4gPj4+PiBTZWVtcw0KPiA+ID4+PiB3ZQ0KPiA+ID4+Pj4gZG9uJ3QgcmVxdWlyZSBy ZWxlYXNlIHZlcnNpb25zIGZvciBtb3N0IG9mIHRoZXNlIGRlcGVuZGVuY2llcy4NCj4gPiA+Pj4+ IFRoZQ0KPiA+ID4+PiByZWxlYXNlDQo+ID4gPj4+PiBwZXJpb2Qgb2YgTUtMLUROTiBhbmQgTVhO ZXQgYXJlIG5vdCBtYXRjaGVkIHZlcnkgd2VsbC4gSSB0aGluayANCj4gPiA+Pj4+IGl0IHdvdWxk DQo+ID4gPj4+IGJlDQo+ID4gPj4+PiBhIHJpc2sgZm9yIE1YTmV0IHJlbGVhc2UgaWYgaXQgaGFy ZGx5IGRlcGVuZHMgb24gdGhlIHJlbGVhc2Ugb2YgDQo+ID4gPj4+PiBhIHN1Ym1vZHVsZSwgbm8g bmVlZCB0byBzYXkgZGVwZW5kcyBvbiB0aGUgcmVsZWFzZXMgb2YgYWxsIHN1Ym1vZHVsZXMuDQo+ ID4gPj4+Pg0KPiA+ID4+Pj4gLXRhbw0KPiA+ID4+Pj4NCj4gPiA+Pj4+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gPj4+PiBGcm9tOiBOYXZlZW4gU3dhbXkgW21haWx0bzptbm5hdmVl bkBnbWFpbC5jb21dDQo+ID4gPj4+PiBTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMjIsIDIwMTgg OTowOCBBTQ0KPiA+ID4+Pj4gVG86IGRldkBteG5ldC5pbmN1YmF0b3IuYXBhY2hlLm9yZw0KPiA+ ID4+Pj4gQ2M6IGRldkBteG5ldC5hcGFjaGUub3JnDQo+ID4gPj4+PiBTdWJqZWN0OiBSZTogSW5j bHVkZSBNS0xETk4gaW50byBkZWZhdWx0IG14bmV0IHBpcCBwYWNrYWdlDQo+ID4gPj4+Pg0KPiA+ ID4+Pj4gSGkgQWxleCwNCj4gPiA+Pj4+DQo+ID4gPj4+PiBUaGFua3MgZm9yIHByb21wdGx5IHJ1 bm5pbmcgdGhlIG51bWJlcnMgb24gQU1EIGFuZCByZXBvcnRpbmcgaGVyZS4NCj4gPiA+Pj4+DQo+ ID4gPj4+PiBDYW4geW91IHBsZWFzZSB1cGRhdGUgdGhlIEFNRCBudW1iZXJzIGhlcmUgZm9yIHBv c3Rlcml0eQ0KPiA+ID4+Pj4NCj4gPiA+Pj4gaHR0cHM6Ly9jd2lraS5hcGFjaGUub3JnL2NvbmZs dWVuY2UvZGlzcGxheS9NWE5FVC9NWE5ldCt3aXRoK0ludA0KPiA+ID4+PiBlbA0KPiA+ID4+PiAr TUtMDQo+ID4gPj4+IC1ETk4rLStQZXJmb3JtYW5jZStCZW5jaG1hcmtpbmcNCj4gPiA+Pj4+ID8N Cj4gPiA+Pj4+DQo+ID4gPj4+PiBhcmUgdGhlcmUgYW55IG91dHN0YW5kaW5nIGlzc3VlcyB3aGVu IE1LTEROTiBpcyBlbmFibGVkPyBmcm9tIA0KPiA+ID4+Pj4gbXkgb2ZmbGluZSBjb252ZXJzYXRp b24gSSBhbSBicmllZmx5IGF3YXJlIHBlcmZvcm1hbmNlIGlzc3VlcyANCj4gPiA+Pj4+IHdpdGgg TFNUTSwgaXMgdGhlcmUgYW4gR2l0SHViIGlzc3VlIGZvciBpdD8NCj4gPiA+Pj4+DQo+ID4gPj4+ PiBNS0xETk4gaXMgYSBzdWJtb2R1bGUgZGVwZW5kZW5jeSwgYXJlIHdlIHB1bGxpbmcgdGhlIGxh dGVzdCANCj4gPiA+Pj4+IGNvbW1pdCBvciByZWxlYXNlcyAgPyBJZiBub3Qgd2Ugc2hvdWxkIG1v dmUgdG8gcmVsZWFzZXMgYmVmb3JlIA0KPiA+ID4+Pj4gd2UgbWFrZSBpdCBhDQo+ID4gPj4+IGRl ZmF1bHQuDQo+ID4gPj4+PiBJZGVhbGx5IHdlIHNob3VsZCB1c2UgcGxhdGZvcm0gc3BlY2lmaWMg ZGlzdHJpYnV0aW9ucyAoLWRldg0KPiA+ID4+Pj4gcGFja2FnZXMpIGF0IGxlYXN0IHdlIHNob3Vs ZCByZWx5IG9uIHdlbGwgdGVzdGVkIHJlbGVhc2VzLg0KPiA+ID4+Pj4NCj4gPiA+Pj4+DQo+ID4g Pj4+PiBUaGFua3MsIE5hdmVlbg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IE9uIFdlZCwgTm92IDIxLCAy MDE4IGF0IDQ6NTUgUE0gWmFpLCBBbGV4YW5kZXINCj4gPiA+Pj4gPGFsZXh6YWlAYW1hem9uLmNv bS5pbnZhbGlkDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+IHdyb3RlOg0KPiA+ID4+Pj4NCj4gPiA+Pj4+ PiBBTUQgYmVuY2htYXJrcyBoYXZlIGJlZW4gcHVibGlzaGVkLiBXZSBhcmUgc2VlaW5nIGEgeDE1 LjggDQo+ID4gPj4+Pj4gc3BlZWR1cCB3aXRoDQo+ID4gPj4+Pj4gUmVzbmV0NTAgKGJhdGNoIHNp emUgMzIpIG9uIEFXUydzIG5ldyBtNWEuMjR4bGFyZ2UgbWFjaGluZS4gDQo+ID4gPj4+Pj4gV2l0 aCBhIHNtYWxsZXIgbmV0d29yayAoTW9iaWxlbmV0IC0gYmF0Y2ggc2l6ZSAzMikgdGhlIHNwZWVk dXAgDQo+ID4gPj4+Pj4gaXMgbW9yZSBzaWduaWZpY2FudCBhdCB4MzguNy4gTGV0J3MgaGF2ZSBh IHZvdGUgdG8gc2VlIGlmIHRoZSANCj4gPiA+Pj4+PiBQUiB0byBoYXZlIE1LTEROTiBlbmFibGVk IGJ5IGRlZmF1bHQNCj4gPiA+Pj4+PiAoaHR0cHM6Ly9naXRodWIuY29tL2FwYWNoZS9pbmN1YmF0 b3ItbXhuZXQvcHVsbC8xMjU5MSkgY2FuIGJlIA0KPiA+ID4+Pj4+IG1lcmdlZCBiZWZvcmUgMS40 LjAgcmVsZWFzZS4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+IO+7v09uIDEwLzE5LzE4LCA5OjE3IEFN LCAiUGVkcm8gTGFycm95Ig0KPiA+ID4+Pj4+IDxwZWRyby5sYXJyb3kubGlzdHNAZ21haWwuY29t Pg0KPiA+ID4+Pj4+IHdyb3RlOg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4gICAgSSBkaWQgIHBpcCBp bnN0YWxsIG14bmV0LW1rbD09MS4zLjFiMjAxODEwMTggb24gYW4gQU1EIA0KPiA+ID4+Pj4+IFJ5 emVuIDE5NTBYIGFuZCB1bml0DQo+ID4gPj4+Pj4gICAgdGVzdHMgYXJlIHBhc3NpbmcuDQo+ID4g Pj4+Pj4NCj4gPiA+Pj4+PiAgICBJcyB0aGlzIGJ1aWxkIHVzaW5nIEFWWDUxMj8gIGluIC9wcm9j L2NwdWluZm8gSSBzZWUgb25seSAiYXZ4Ig0KPiA+ID4+PiBmbGFnLg0KPiA+ID4+Pj4+ICAgIFRo ZXJlJ3Mgbm8gImF2eDIiIGxpa2Ugb24gcmVjZW50IGludGVsIGNwdXMuDQo+ID4gPj4+Pj4NCj4g PiA+Pj4+PiAgICBQZWRyby4NCj4gPiA+Pj4+Pg0KPiA+ID4+Pj4+ICAgIE9uIEZyaSwgT2N0IDE5 LCAyMDE4IGF0IDU6MTIgUE0gSGFnYXkgTHVwZXNrbyANCj4gPiA+Pj4+PiA8bHVwZXNrb0BnbWFp bC5jb20+DQo+ID4gPj4+Pj4gd3JvdGU6DQo+ID4gPj4+Pj4NCj4gPiA+Pj4+Pj4gQXdlc29tZSBj b2xsYWJvcmF0aXZlIGVmZm9ydCBhY3Jvc3MgbWFueSBjb250cmlidXRvcnMgYW5kDQo+ID4gPj4+ PiBjb21wYW5pZXMhDQo+ID4gPj4+Pj4+DQo+ID4gPj4+Pj4+IFRoZSBib29zdCBpcyBpbXByZXNz aXZlIGFuZCBmb3IgTVhOZXQgdXNlcnMgdG8gZ2V0IHRoaXMNCj4gPiA+Pj4+PiBib29zdCAib3V0 IG9mIHRoZQ0KPiA+ID4+Pj4+PiBib3giIGlzIGEgZ3JlYXQgYmVuZWZpdCBhbmQgbWFrZXMgTVhO ZXQgYW4gZXZlbiBiZXR0ZXIgY2hvaWNlLg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+PiBBbGV4IC0g Y2FuIHlvdSBjbGFyaWZ5IHdoZXRoZXIgdGhlcmUgYXJlIGFueSBkb3duIHNpZGVzIHdpdGgNCj4g PiA+Pj4+PiByZWdhcmRzIHRvDQo+ID4gPj4+Pj4+IG5vb24gQVZYLTUxMiBhcmNoaXRlY3R1cmVz LCBBTUQgQ1BVcywgZXRjPyBXaWxsIGl0DQo+ID4gPj4+Pj4gZ3JhY2VmdWxseSBmYWxsYmFjaz8N Cj4gPiA+Pj4+Pj4NCj4gPiA+Pj4+Pj4gSGFnYXkNCj4gPiA+Pj4+Pj4NCj4gPiA+Pj4+Pj4NCj4g PiA+Pj4+Pj4gT24gRnJpLCBPY3QgMTksIDIwMTgsIDE1OjQ2IFNlcmdpbyBGZXJuw6FuZGV6DQo+ ID4gPj4+Pj4gPHdpa2llckBhcGFjaGUub3JnPg0KPiA+ID4+Pj4+IHdyb3RlOg0KPiA+ID4+Pj4+ Pg0KPiA+ID4+Pj4+Pj4gSWYgdGhlcmUgaXMgbm8gZG93bnNpZGUgb24gcGxhdGZvcm1zIG5vdCBz dXBwb3J0aW5nIEFWWDUxMg0KPiA+ID4+Pj4+IGluc3RydWN0aW9ucywNCj4gPiA+Pj4+Pj4+IHRo ZW4gKzENCj4gPiA+Pj4+Pj4+DQo+ID4gPj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4gT24gV2VkLCBPY3Qg MTcsIDIwMTgsIDE0OjEwIEFsZXggWmFpIDxhemFpOTFAZ21haWwuY29tPg0KPiA+ID4+IHdyb3Rl Og0KPiA+ID4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiBIZXkgYWxsLA0KPiA+ID4+Pj4+Pj4+IFdlIGhh dmUgYmVlbiB3b3JraW5nIGhhcmQgdGhlc2UgcGFzdCBmZXcgbW9udGhzIHRvDQo+ID4gPj4+Pj4g aW50ZWdyYXRlDQo+ID4gPj4+PiBhbmQNCj4gPiA+Pj4+Pj4+IHN0YWJpbGl6ZQ0KPiA+ID4+Pj4+ Pj4+IEludGVs4oCZcyBNS0xETk4gZGVlcCBsZWFybmluZyBDUFUgYWNjZWxlcmF0b3IgaW50byBN eG5ldA0KPiA+ID4+Pj4+IGFuZCBoYXZlIG1hZGUNCj4gPiA+Pj4+Pj4+PiBpbmNyZWRpYmxlIHBy b2dyZXNzLiBPbiBDUFVzIHdpdGggQVZYNTEyIGluc3RydWN0aW9ucw0KPiA+ID4+Pj4+IChzdWNo IGFzDQo+ID4gPj4+Pj4gYzUuMTh4KQ0KPiA+ID4+Pj4+PiB3ZQ0KPiA+ID4+Pj4+Pj4+IGhhdmUg c2VlbiBwZXJmb3JtYW5jZSBpbmNyZWFzZSB1cCB0byAxMnggYW5kIG9uIG90aGVyDQo+ID4gPj4+ Pj4gcGxhdGZvcm1zIChNYWNzLA0KPiA+ID4+Pj4+Pj4+IEFWWDIpIHdlIHNlZW4gYSBzcGVlZHVw IG9mIDEuNSsuIEZ1bGwgbGlzdCBvZiBiZW5jaG1hcmtzDQo+ID4gPj4+Pj4gY2FuIGJlIGZvdW5k DQo+ID4gPj4+Pj4+PiBoZXJlDQo+ID4gPj4+Pj4+Pj4gKA0KPiA+ID4+Pj4+Pj4+DQo+ID4gPj4+ Pj4+Pg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pg0KPiA+ID4+PiBodHRwczovL2N3 aWtpLmFwYWNoZS5vcmcvY29uZmx1ZW5jZS9wYWdlcy92aWV3cGFnZS5hY3Rpb24/cGFnZUlkDQo+ ID4gPj4+ID05DQo+ID4gPj4+IDU2NTANCj4gPiA+Pj4gNzY0DQo+ID4gPj4+Pj4+Pj4gYW5kIGh0 dHBzOi8vZ2l0aHViLmNvbS9hcGFjaGUvaW5jdWJhdG9yLW14bmV0L3B1bGwvMTI1OTENCj4gPiA+ PiApLg0KPiA+ID4+Pj4+Pj4+DQo+ID4gPj4+Pj4+Pj4gQ3VycmVudGx5LCB1c2luZyB0aGlzIGFj Y2VsZXJhdG9yIHJlcXVpcmVzIHRoZSBkZXZlbG9wZXINCj4gPiA+Pj4+PiB0byBlaXRoZXIgcGlw DQo+ID4gPj4+Pj4+Pj4gaW5zdGFsbCB0aGUgbXhuZXQtbWtsIHZlcnNpb24gb2YgbXhuZXQgb3Ig dG8gYnVpbGQgaXQNCj4gPiA+Pj4+PiB0aGVtc2VsdmVzIGZyb20NCj4gPiA+Pj4+Pj4+PiBzb3Vy Y2UuIEdpdmVuIHRoYXQgd2Ugc2hvdWxkIHRyeSB0byBwcm92aWRlIHRoZSBiZXN0DQo+ID4gPj4+ Pj4gcGVyZm9ybWFuY2UgIm91dA0KPiA+ID4+Pj4+PiBvZg0KPiA+ID4+Pj4+Pj4+IHRoZSBib3ji gJ0gd2l0aCBteG5ldCB3ZSBzaG91bGQgaW5jbHVkZSB0aGlzIGluIHRoZQ0KPiA+ID4+Pj4+IGRl ZmF1bHQNCj4gPiA+Pj4+IGJ1aWxkLg0KPiA+ID4+Pj4+IFRoZQ0KPiA+ID4+Pj4+Pj4gbWtsZG5u DQo+ID4gPj4+Pj4+Pj4gbGlicmFyeSBpcyBpbmNsdWRlZCB3aXRoIGluIHRoZSBwaXAgcGFja2Fn ZSBidWlsZCBzbyBpdA0KPiA+ID4+Pj4+IGRvZXMNCj4gPiA+Pj4+IG5vdA0KPiA+ID4+Pj4+PiBy ZXF1aXJlDQo+ID4gPj4+Pj4+PiBhbg0KPiA+ID4+Pj4+Pj4+IGV4dGVybmFsIGRlcGVuZGVuY3ku DQo+ID4gPj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiBUaGVyZSB3ZXJlIGNvbmNlcm5zIHRoYXQgTUtM RE5OIGNvdWxkIGNhdXNlIHJlZ3Jlc3Npb25zDQo+ID4gPj4+Pj4gb24gY2VydGFpbg0KPiA+ID4+ Pj4+Pj4+IHBsYXRmb3JtcyAoYXMgaXQgZGlkIHdpdGggdGhlIHRlbnNvcmZsb3cgdmVyc2lvbiBh IHdoaWxlDQo+ID4gPj4+Pj4gYmFjayk7IGJ1dCB3ZQ0KPiA+ID4+Pj4+Pj4+IGFkZGVkIGEgZW52 IGZsYWcgKE1YTkVUX01LTEROTl9FTkFCTEVEKSB0aGF0IGFsbG93cw0KPiA+ID4+Pj4+IHVzZXJz IHRvIHR1cm4gb2YNCj4gPiA+Pj4+Pj4gdGhpcw0KPiA+ID4+Pj4+Pj4+IGZlYXR1cmUgZHVyaW5n IHJ1bnRpbWUuIFBsZWFzZSBicmluZyB1cCBhbnkgb3RoZXINCj4gPiA+Pj4+PiBjb25jZXJucyB5 b3UgbWF5IGhhdmUNCj4gPiA+Pj4+Pj4+IGFuZA0KPiA+ID4+Pj4+Pj4+IHlvdXIgdGhvdWdodHMg b24gaW5jbHVkaW5nIHRoaXMgYWNjZWxlcmF0b3IgaW4gdGhlDQo+ID4gPj4+Pj4gZGVmYXVsdA0K PiA+ID4+Pj4gYnVpbGQuDQo+ID4gPj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiBCZXN0LA0KPiA+ID4+ Pj4+Pj4+IEFsZXgNCj4gPiA+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4NCj4gPiA+Pj4+Pj4NCj4gPiA+ Pj4+Pg0KPiA+ID4+Pj4+DQo+ID4gPj4+Pj4NCj4gPiA+Pj4+DQo+ID4gPj4+DQo+ID4gPj4NCj4g Pg0KPg0K