Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 08E3E200B13 for ; Wed, 15 Jun 2016 17:25:10 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 07D62160A4D; Wed, 15 Jun 2016 15:25:10 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 576B8160A19 for ; Wed, 15 Jun 2016 17:25:08 +0200 (CEST) Received: (qmail 5845 invoked by uid 500); 15 Jun 2016 15:25:07 -0000 Mailing-List: contact user-help@hbase.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@hbase.apache.org Delivered-To: mailing list user@hbase.apache.org Received: (qmail 5831 invoked by uid 99); 15 Jun 2016 15:25:06 -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, 15 Jun 2016 15:25:06 +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 B5D46C12F7 for ; Wed, 15 Jun 2016 15:25:05 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.422 X-Spam-Level: X-Spam-Status: No, score=-2.422 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd1-us-west.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=lloydsbanking.com 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 U2Hxt856-LIW for ; Wed, 15 Jun 2016 15:25:03 +0000 (UTC) Received: from mail1.bemta14.messagelabs.com (mail1.bemta14.messagelabs.com [193.109.254.111]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 59C445F295 for ; Wed, 15 Jun 2016 15:25:02 +0000 (UTC) Received: from [193.109.254.67] by server-7.bemta-14.messagelabs.com id 12/31-07668-74371675; Wed, 15 Jun 2016 15:24:55 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFtrLKsWRWlGSWpSXmKPExsVyUOn5H1234sR wg3MNhhYrZk9idmD02DnxDksAYxRrZl5SfkUCa0b3hStsBVuuM1as/d7B1sB45gpjFyMXB4vA BlaJZ9+OADmcHBICvBJHls1ghbD9Je7+WcECUiQkcJJRYvety4wQzkVGidP37kNltjFKHNo7g wWkhU3AXWJ++xSwUSICxhJPny8BG8UioCrxecEbZhBbWMBOYt6SX1A19hLTT/9jhrCNJI4svw Q2h1cgSeL73s/sEAtOsErMaLrLDpLgFAiU6P0zC6yIUUBW4tHKX2BxZgFxiVtP5jNB3C0osWj 2HmYIW0zi366HbBD1MhK/d10A6uUAqteUWL9LH2KXoMTJmU/ARgoJaEhcPHSLBaJVROLLij5m iPGKElO6H7JPYJSchWTbLIRJs5BMmoWkYwEjyypG9eLUorLUIl1zvaSizPSMktzEzBxdQ0MTv dzU4uLE9NScxKRiveT83E2MwKhkAIIdjF+WOB9ilORgUhLl9StMDBfiS8pPqcxILM6ILyrNSS 0+xCjDwaEkwWtZBJQTLEpNT61Iy8wBpgeYtAQHj5IIbwNImre4IDG3ODMdInWKUZdj1vI7a5m EWPLy81KlxHk1QIoEQIoySvPgRsBS1SVGWSlhXkago4R4ClKLcjNLUOVfMYpzMCoJ8xqATOHJ zCuB2/QK6AgmoCNspseDHFGSiJCSamA05N5dbKi8ykBQwj9zyqF3+Q5btkk++7Y88a5JtOFfi SNLHS/vUZzoKqNyPD3IwPcO1xzv+uC5hgKTMq5O/du1SeI778k5s+NSXsbPWS29vVg7TNTo3p 77CcobBSM27p586yLD1ZvcVR8aF2w4/irqL7OozpNDb3mfu+/1znDZJrdmTppOTQuvEktxRqK hFnNRcSIA4wI+ilADAAA= X-Env-Sender: Tom.Ellis@lloydsbanking.com X-Msg-Ref: server-11.tower-56.messagelabs.com!1466004294!20208176!1 X-Originating-IP: [193.34.231.252] X-StarScan-Received: X-StarScan-Version: 8.46; banners=-,-,- X-VirusChecked: Checked Received: (qmail 750 invoked from network); 15 Jun 2016 15:24:54 -0000 Received: from mailgate2.lloydstsb.co.uk (HELO MGWLSPET03F001.machine.group) (193.34.231.252) by server-11.tower-56.messagelabs.com with DHE-RSA-AES256-GCM-SHA384 encrypted SMTP; 15 Jun 2016 15:24:54 -0000 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.26,476,1459810800"; d="scan'208";a="142506895" Received: from applgvirtual3a7.global.lloydstsb.com (HELO EXCLGVIRTUAL00D.Global.Lloydstsb.Com) ([10.125.196.93]) by MGWLSPET03F001.machine.group with ESMTP/TLS/AES256-SHA; 15 Jun 2016 16:24:53 +0100 Received: from FMP-A8-2800.Markets.Global.Lloydstsb.Com (10.186.111.141) by EXCLGVIRTUAL00D.Global.Lloydstsb.Com (10.125.226.13) with Microsoft SMTP Server (TLS) id 8.3.444.0; Wed, 15 Jun 2016 16:24:53 +0100 Received: from CLFMPEXMBX02.Markets.Global.Lloydstsb.Com ([169.254.1.136]) by FMP-A8-2800.Markets.Global.Lloydstsb.Com ([10.186.111.141]) with mapi; Wed, 15 Jun 2016 16:24:53 +0100 From: "Ellis, Tom (Financial Markets IT)" To: "user@hbase.apache.org" Date: Wed, 15 Jun 2016 16:24:52 +0100 Subject: RE: Writing visibility labels with HFileOutputFormat2 Thread-Topic: Writing visibility labels with HFileOutputFormat2 Thread-Index: AdHG+WN72apH8eJBRFW4lKrSgPKWtgAH+s6Q Message-ID: <877F60814215D949AD1D8CF44C6AC1C709CB580562@CLFMPEXMBX02.Markets.Global.Lloydstsb.Com> References: <877F60814215D949AD1D8CF44C6AC1C709CB58053E@CLFMPEXMBX02.Markets.Global.Lloydstsb.Com> <877F60814215D949AD1D8CF44C6AC1C709CB58053F@CLFMPEXMBX02.Markets.Global.Lloydstsb.Com> <877F60814215D949AD1D8CF44C6AC1C709CB58055D@CLFMPEXMBX02.Markets.Global.Lloydstsb.Com> <877F60814215D949AD1D8CF44C6AC1C709CB58055E@CLFMPEXMBX02.Markets.Global.Lloydstsb.Com> In-Reply-To: Accept-Language: en-US, en-GB Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US, en-GB Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Cfilter: Forwarded Content-Transfer-Encoding: base64 archived-at: Wed, 15 Jun 2016 15:25:10 -0000 U28gSSBoYXZlIGEgd29ya2luZyBwcm90b3R5cGUgdXNpbmcganVzdCBidWxrIHB1dHMgb24gYSB0 YWJsZSBhbmQgdXNpbmcgc2V0Q2VsbFZpc2liaWxpdHkgYXMgbmVjZXNzYXJ5LiBOb3cgSSdtIHRy eWluZyB0byBkbyBpdCB1c2luZyBIRmlsZS4NCg0KU29ycnkgUmFtLCBJIGRvbid0IHF1aXRlIGZv bGxvdyB3aHkgdGhlIHVzZXIgZG9pbmcgdGhlIHdyaXRpbmcgb2YgdGhlIEhGaWxlIGhhcyB0byBi ZSBhbiBhZG1pbi9zdXBlciB1c2VyPyBJcyB0aGF0IG5lY2Vzc2FyeSB0byBsb2FkIEhGaWxlcz8N Cg0KVGhlIHVzZSBjYXNlIGlzIHRvIGhvcGVmdWxseSBoYXZlIGFuIGFwcGxpY2F0aW9uIHVzZXIg KG5vbiBhZG1pbikgcGVyZm9ybWluZyB0aGUgd3JpdGVzIHRvIGFuIGhiYXNlIHRhYmxlIHZpYSBh IGJ1bGsgbG9hZCBvZiBhbiBoZmlsZSwgc2V0dGluZyB2aXNpYmlsaXR5IGxhYmVscyBvbiBpbmRp dmlkdWFsIGNlbGxzIGFzIG5lY2Vzc2FyeS4gVGhlbiBidXNpbmVzcyB1c2VycyB3aG8gaGFzIGJl ZW4gZ2l2ZW4gdGhlIGF1dGggdG8gdmlldyB0aGF0IGxhYmVsIGNhbiBzZWUgdGhvc2UgY2VsbHMs IGFuZCBvdGhlcnMgbm90Lg0KDQpJJ3ZlIHNlZW4gdGhhdCBpdCdzIHBvc3NpYmxlIHRvIGRvIHRo aXMgd2l0aCBtYXAgcmVkdWNlICYgc2V0dGluZyB0aGUgbWFwIG91dHB1dCB0byBiZSBhIFB1dCAo YW5kIHRodXMgY291bGQgc2V0Q2VsbFZpc2liaWxpdHkgb24gdGhlIHB1dHMpLCBidXQgSSdtIHN0 cnVnZ2xpbmcgdG8gZG8gdGhpcyB3aXRoIFNwYXJrLCBhcyBJIGtlZXAgZ2V0dGluZyB0aGUgZXhj ZXB0aW9uIHRoYXQgSSBjYW4ndCBjYXN0IGEgUHV0IHRvIGEgQ2VsbC4NCg0KQ2hlZXJzLA0KDQpU b20gRWxsaXMNCkNvbnN1bHRhbnQgRGV2ZWxvcGVyIOKAkyBFeGNlbGlhbg0KRGF0YSBMYWtlIHwg RmluYW5jaWFsIE1hcmtldHMgSVQNCkxMT1lEUyBCQU5LIENPTU1FUkNJQUwgQkFOS0lORw0KDQoN CkU6IFRvbS5FbGxpc0BMbG95ZHNCYW5raW5nLmNvbQ0KV2Vic2l0ZTogd3d3Lmxsb3lkc2Jhbmtj b21tZXJjaWFsLmNvbQ0KLCAsICwNClJlZHVjZSBwcmludGluZy4gTGxveWRzIEJhbmtpbmcgR3Jv dXAgaXMgaGVscGluZyB0byBidWlsZCB0aGUgbG93IGNhcmJvbiBlY29ub215Lg0KQ29ycG9yYXRl IFJlc3BvbnNpYmlsaXR5IFJlcG9ydDogd3d3Lmxsb3lkc2Jhbmtpbmdncm91cC1jci5jb20vZG93 bmxvYWRzDQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IHJhbWtyaXNobmEg dmFzdWRldmFuIFttYWlsdG86cmFta3Jpc2huYS5zLnZhc3VkZXZhbkBnbWFpbC5jb21dDQpTZW50 OiAxNSBKdW5lIDIwMTYgMTI6MzENClRvOiB1c2VyQGhiYXNlLmFwYWNoZS5vcmcNClN1YmplY3Q6 IFJlOiBXcml0aW5nIHZpc2liaWxpdHkgbGFiZWxzIHdpdGggSEZpbGVPdXRwdXRGb3JtYXQyDQoN Ci0tIFRoaXMgZW1haWwgaGFzIHJlYWNoZWQgdGhlIEJhbmsgdmlhIGFuIGV4dGVybmFsIHNvdXJj ZSAtLQ0KDQoNCj4+V2UgY291bGQgSSBndWVzcyBjcmVhdGUgbXVsdGlwbGUgcHV0cyBmb3IgY2Vs bHMgaW4gdGhlIHNhbWUgcm93IHdpdGgNCmRpZmZlcmVudCBsYWJlbHMgYW5kIHVzZSB0aGUgc2V0 Q2VsbFZpc2liaWxpdHkgb24gZWFjaCBpbmRpdmlkdWFsIHB1dC9jZWxsLCBidXQgd2lsbCB0aGlz IGNyZWF0ZSBhZGRpdGlvbmFsIG92ZXJoZWFkPw0KVGhpcyBjYW4gYmUgZG9uZS4gSWYgeW91IHdh bnQgZGlmZmVyZW50IGNlbGxzIGluIHRoZSBzYW1lIHJvdyB0byBoYXZlIGRpZmZlcmVudCBsYWJl bHMgdGhlbiBpdCBpcyBiZXR0ZXIgdG8gY3JlYXRlIHRob3NlIG1hbnkgcHV0cyBhbmQgc2V0Q2Vs bFZpc2liaWxpdHkgb24gZWFjaCBvZiB0aGVtLiBXaGF0IHR5cGUgb2Ygb3ZlcmhlYWQgeW91IHNl ZSBoZXJlPyBJbiB0ZXJtcyBvZiB0aGUgc2VydmVyIHByb2Nlc3NpbmcgdGhlbT8gSWYgc28gdGhl cmUgc2hvdWxkIG5vdCBiZSBtdWNoIG92ZXJoZWFkIGhlcmUgYW5kIGFsc28gYWRkaW5nIGRpZmZl cmVudCBjZWxscyB0byBldmVyeSBjb2x1bW4gaW50dXJuIG1lYW5zIHlvdSBuZWVkIGV2ZXJ5IGNl bGwgdG8gYmUgdHJlYXRlZCBkaWZmZXJlbmx5IGluIHRlcm1zIG9mIHNlY3VyaXR5LiBzbyBzaG91 bGQgYmUgZmluZSBJTUhPLg0KDQpXaXRob3V0IGRvaW5nIHB1dC5zZXRDZWxsdmlzaWJpbGl0eSgp IHRoZXJlIGlzIG5vIG90aGVyIHdheSBJIGJlbGlldmUuIE9uZSBxdWVzdGlvbiByZWdhcmRpbmcg eW91ciB1c2UgY2FzZSBOb3cgaW4gdGhlIG1haWwgeW91IGhhZCB0b2xkIGFib3V0IHRoZSBzcGFy ayBqb2Igd2hlcmUgeW91IHdpbGwgY3JlYXRlIGEgYnVsayBsb2FkZWQgZmlsZS4gTm93IGlmIHRo YXQgaXMgdG8gaGF2ZSBhbGwgdGhlIHZpc2liaWxpdHkgcmVsYXRlZCBpbmZvcm1hdGlvbiBvZiBh bGwgdGhlIGNlbGxzIHRoZW4gdGhlIHVzZXIgZG9pbmcgdGhpcyBqb2Igc2hvdWxkIGJlIGFuIGFk bWluIG9yIHN1cGVyIHVzZXIgcmlnaHQgV2h5IGlzIHRoZSBjYXNlIHRoYXQgYSBub3JtYWwgY2xp ZW50IHVzZXIgd2lsbCByZWFkIHRocm91Z2ggYWxsIHRoZSB2aXNpYmlsaXR5IGNlbGxzIHdoaWNo IG1heSBvciBtYXkgbm90IGJlIGFzc29jaWF0ZWQgd2l0aCB0aGF0IHVzZXI/DQoNClRoYW5rIHlv dSB2ZXJ5IG11Y2ggZm9yIHRlc3RpbmcgYW5kIHVzaW5nIHRoaXMgZmVhdHVyZS4gTEV0IHVzIGtu b3cgeW91ciBmZWVkYmFjayBhbmQgaWYgeW91IGZpbmQgYW55IGdhcHMgaGVyZS4gSGFwcHkgdG8g aGVscC4NCg0KUmVnYXJkcw0KUmFtDQoNCg0KT24gV2VkLCBKdW4gMTUsIDIwMTYgYXQgNDowOSBQ TSwgRWxsaXMsIFRvbSAoRmluYW5jaWFsIE1hcmtldHMgSVQpIDwgVG9tLkVsbGlzQGxsb3lkc2Jh bmtpbmcuY29tLmludmFsaWQ+IHdyb3RlOg0KDQo+IEhtbSwgaXMgdGhlcmUgbm8gb3RoZXIgd2F5 IHRvIHNldCBsYWJlbHMgb24gaW5kaXZpZHVhbCBjZWxscyB3aGVyZSB3ZQ0KPiBkb24ndCBoYXZl IHRvIGdpdmUgdGhlIGNsaWVudCB1c2VycyBzeXN0ZW0gcGVybXM/IEZvciBpbnN0YW5jZSwgY2xp ZW50DQo+IHVzZXJzIGNhbiBzZXQgdGhlIGNlbGwgdmlzaWJpbGl0eSBvbiB0aGUgZW50aXJlIHB1 dCB3aXRob3V0IGhhdmluZw0KPiB0aGlzIChpLmUuIHB1dC5zZXRDZWxsVmlzaWJpbGl0eSgibGFi ZWwiKSkgYW5kIHRoZQ0KPiBWaXNpYmlsaXR5Q29udHJvbGxlciB3aWxsIGNoZWNrIHRoaXMuDQo+ DQo+IFdlIGNvdWxkIEkgZ3Vlc3MgY3JlYXRlIG11bHRpcGxlIHB1dHMgZm9yIGNlbGxzIGluIHRo ZSBzYW1lIHJvdyB3aXRoDQo+IGRpZmZlcmVudCBsYWJlbHMgYW5kIHVzZSB0aGUgc2V0Q2VsbFZp c2liaWxpdHkgb24gZWFjaCBpbmRpdmlkdWFsDQo+IHB1dC9jZWxsLCBidXQgd2lsbCB0aGlzIGNy ZWF0ZSBhZGRpdGlvbmFsIG92ZXJoZWFkPw0KPg0KPiBDaGVlcnMsDQo+DQo+IFRvbSBFbGxpcw0K PiBDb25zdWx0YW50IERldmVsb3BlciDigJMgRXhjZWxpYW4NCj4gRGF0YSBMYWtlIHwgRmluYW5j aWFsIE1hcmtldHMgSVQNCj4gTExPWURTIEJBTksgQ09NTUVSQ0lBTCBCQU5LSU5HDQo+DQo+DQo+ IEU6IFRvbS5FbGxpc0BMbG95ZHNCYW5raW5nLmNvbQ0KPiBXZWJzaXRlOiB3d3cubGxveWRzYmFu a2NvbW1lcmNpYWwuY29tDQo+ICwgLCAsDQo+IFJlZHVjZSBwcmludGluZy4gTGxveWRzIEJhbmtp bmcgR3JvdXAgaXMgaGVscGluZyB0byBidWlsZCB0aGUgbG93DQo+IGNhcmJvbiBlY29ub215Lg0K PiBDb3Jwb3JhdGUgUmVzcG9uc2liaWxpdHkgUmVwb3J0Og0KPiB3d3cubGxveWRzYmFua2luZ2dy b3VwLWNyLmNvbS9kb3dubG9hZHMNCj4NCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gRnJvbTogcmFta3Jpc2huYSB2YXN1ZGV2YW4gW21haWx0bzpyYW1rcmlzaG5hLnMudmFzdWRl dmFuQGdtYWlsLmNvbV0NCj4gU2VudDogMTUgSnVuZSAyMDE2IDExOjI0DQo+IFRvOiB1c2VyQGhi YXNlLmFwYWNoZS5vcmcNCj4gU3ViamVjdDogUmU6IFdyaXRpbmcgdmlzaWJpbGl0eSBsYWJlbHMg d2l0aCBIRmlsZU91dHB1dEZvcm1hdDINCj4NCj4gLS0gVGhpcyBlbWFpbCBoYXMgcmVhY2hlZCB0 aGUgQmFuayB2aWEgYW4gZXh0ZXJuYWwgc291cmNlIC0tDQo+DQo+DQo+IFRoZSB2aXNpYmlsaXR5 IGV4cHJlc3Npb24gcmVzb2x2ZXIgdHJpZXMgdG8gc2NhbiB0aGUgbGFiZWxzIHRhYmxlIGFuZA0K PiB0aGUgdXNlciB1c2luZyB0aGUgcmVzb2x2ZXIgc2hvdWxkIGhhdmUgdGhlIFNZU1RFTSBwcml2 aWxlZ2VzLiBTaW5jZQ0KPiB0aGUgaW5mb3JtYXRpb24gdGhhdCBpcyBnZXR0aW5nIGFjY2Vzc2Vk IGlzIHNlbnNpdGl2ZSBpbmZvcm1hdGlvbi4NCj4NCj4gU3VwcG9zZSBpbiB5b3VyIGFib3ZlIGNh c2UgeW91IGhhdmUgdGhlIGNsaWVudCB1c2VyIGFkZGVkIGFzIGEgYW4NCj4gYWRtaW4gdGhlbiB3 aGVuIHlvdSBzY2FuIHRoZSBsYWJlbCB0YWJsZSB5b3Ugc2hvdWxkIGJlIGFibGUgdG8gIHNjYW4g aXQuDQo+DQo+IFJlZ2FyZHMNCj4gUmFtDQo+DQo+IE9uIFdlZCwgSnVuIDE1LCAyMDE2IGF0IDM6 MDkgUE0sIEVsbGlzLCBUb20gKEZpbmFuY2lhbCBNYXJrZXRzIElUKSA8DQo+IFRvbS5FbGxpc0Bs bG95ZHNiYW5raW5nLmNvbS5pbnZhbGlkPiB3cm90ZToNCj4NCj4gPiBZZWFoLCB0aGFua3MgZm9y IHRoaXMgUmFtLiBBbHRob3VnaCBpbiBteSB0ZXN0aW5nIEkgaGF2ZSBmb3VuZCB0aGF0DQo+ID4g YSBjbGllbnQgdXNlciBhdHRlbXB0aW5nIHRvIHVzZSB0aGUgdmlzaWJpbGl0eSBleHByZXNzaW9u IHJlc29sdmVyDQo+ID4gZG9lc24ndCBzZWVtIHRvIGhhdmUgdGhlIGFiaWxpdHkgdG8gc2NhbiB0 aGUgaGJhc2U6bGFiZWxzIHRhYmxlIGZvcg0KPiA+IHRoZSBmdWxsIGxpc3Qgb2YgbGFiZWxzIGFu ZCB0aHVzIGNhbid0IGdldCB0aGUgb3JkaW5hbHMvdGFncyB0byBhZGQNCj4gPiB0byB0aGUgY2Vs bC4gRG9lcyB0aGUgY2xpZW50IHVzZXIgYXR0ZW1wdGluZyB0byB1c2UgdGhlDQo+ID4gVmlzaWJp bGl0eUV4cHJlc3Npb25SZXNvbHZlciBoYXZlIHRvIGhhdmUgc29tZSBzcGVjaWFsIHBlcm1pc3Np b25zPw0KPiA+DQo+ID4gU2NhbiBvZiBoYmFzZTpsYWJlbHMgYnkgY2xpZW50IHVzZXI6DQo+ID4N Cj4gPiBoYmFzZShtYWluKTowMDM6MD4gc2NhbiAnaGJhc2U6bGFiZWxzJw0KPiA+IFJPVyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ09MVU1OK0NFTEwNCj4gPiAgXHgw MFx4MDBceDAwXHgwMSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbj1mOlx4MDAsDQo+ ID4gdGltZXN0YW1wPTE0NjUyMTY2NTI2NjIsIHZhbHVlPXN5c3RlbQ0KPiA+IDEgcm93KHMpIGlu IDAuMDY1MCBzZWNvbmRzDQo+ID4NCj4gPiBTY2FuIG9mIGhiYXNlOmxhYmVscyBieSBoYmFzZSB1 c2VyOg0KPiA+DQo+ID4gaGJhc2UobWFpbik6MDAxOjA+IHNjYW4gJ2hiYXNlOmxhYmVscycNCj4g PiBST1cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENPTFVNTitDRUxM DQo+ID4gIFx4MDBceDAwXHgwMFx4MDEgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW49 ZjpceDAwLA0KPiA+IHRpbWVzdGFtcD0xNDY1MjE2NjUyNjYyLCB2YWx1ZT1zeXN0ZW0NCj4gPiAg XHgwMFx4MDBceDAwXHgwMiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbj1mOlx4MDAs DQo+ID4gdGltZXN0YW1wPTE0NjUyMTY5NDQ5MzUsIHZhbHVlPXByb3RlY3RlZA0KPiA+ICBceDAw XHgwMFx4MDBceDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uPWY6aGJhc2UsDQo+ ID4gdGltZXN0YW1wPTE0NjU1NDcxMzg1MzMsIHZhbHVlPQ0KPiA+ICBceDAwXHgwMFx4MDBceDAy ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uPWY6dG9tLA0KPiA+IHRpbWVzdGFtcD0x NDY1OTgwMjM2ODgyLCB2YWx1ZT0NCj4gPiAgXHgwMFx4MDBceDAwXHgwMyAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbHVtbj1mOlx4MDAsDQo+ID4gdGltZXN0YW1wPTE0NjU1MDAxNTY2Njcs IHZhbHVlPXRlc3R0ZXN0dGVzdA0KPiA+ICBceDAwXHgwMFx4MDBceDAzICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29sdW1uPWY6QGhhZG9vcCwNCj4gPiB0aW1lc3RhbXA9MTQ2NTk4MDIzNjk2 NywgdmFsdWU9DQo+ID4gIFx4MDBceDAwXHgwMFx4MDMgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb2x1bW49ZjpoYWRvb3AsDQo+ID4gdGltZXN0YW1wPTE0NjU1NDczMDQ2MTAsIHZhbHVlPQ0K PiA+ICBceDAwXHgwMFx4MDBceDAzICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uPWY6 aGl2ZSwNCj4gPiB0aW1lc3RhbXA9MTQ2NTUwMTMyMjYxNiwgdmFsdWU9DQo+ID4gIFx4MDBceDAw XHgwMFx4MDQgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW49ZjpceDAwLA0KPiA+IHRp bWVzdGFtcD0xNDY1NTcwNzE5OTAxLCB2YWx1ZT1jb25maWRlbnRpYWwNCj4gPiAgXHgwMFx4MDBc eDAwXHgwNSAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbj1mOlx4MDAsDQo+ID4gdGlt ZXN0YW1wPTE0NjU4MzUwNDc4MzUsIHZhbHVlPWJyYW5jaA0KPiA+ICBceDAwXHgwMFx4MDBceDA1 ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uPWY6aGRmcywNCj4gPiB0aW1lc3RhbXA9 MTQ2NTk4MDIzNzA2MCwgdmFsdWU9DQo+ID4gIFx4MDBceDAwXHgwMFx4MDYgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb2x1bW49ZjpceDAwLA0KPiA+IHRpbWVzdGFtcD0xNDY1OTgwNDQ3MzA3 LCB2YWx1ZT1ncm91cA0KPiA+ICBceDAwXHgwMFx4MDBceDA2ICAgICAgICAgICAgICAgICAgICAg ICAgICAgY29sdW1uPWY6aGRmcywNCj4gPiB0aW1lc3RhbXA9MTQ2NTk4MDQ1NDEzMCwgdmFsdWU9 DQo+ID4gNiByb3cocykgaW4gMC43MzcwIHNlY29uZHMNCj4gPg0KPiA+IENoZWVycywNCj4gPg0K PiA+IFRvbSBFbGxpcw0KPiA+IENvbnN1bHRhbnQgRGV2ZWxvcGVyIOKAkyBFeGNlbGlhbg0KPiA+ IERhdGEgTGFrZSB8IEZpbmFuY2lhbCBNYXJrZXRzIElUDQo+ID4gTExPWURTIEJBTksgQ09NTUVS Q0lBTCBCQU5LSU5HDQo+ID4NCj4gPg0KPiA+IEU6IFRvbS5FbGxpc0BMbG95ZHNCYW5raW5nLmNv bQ0KPiA+IFdlYnNpdGU6IHd3dy5sbG95ZHNiYW5rY29tbWVyY2lhbC5jb20gLCAsICwgUmVkdWNl IHByaW50aW5nLiBMbG95ZHMNCj4gPiBCYW5raW5nIEdyb3VwIGlzIGhlbHBpbmcgdG8gYnVpbGQg dGhlIGxvdyBjYXJib24gZWNvbm9teS4NCj4gPiBDb3Jwb3JhdGUgUmVzcG9uc2liaWxpdHkgUmVw b3J0Og0KPiA+IHd3dy5sbG95ZHNiYW5raW5nZ3JvdXAtY3IuY29tL2Rvd25sb2Fkcw0KPiA+DQo+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBbm9vcCBKb2huIFttYWls dG86YW5vb3AuaGJhc2VAZ21haWwuY29tXQ0KPiA+IFNlbnQ6IDA4IEp1bmUgMjAxNiAxMTo1OA0K PiA+IFRvOiB1c2VyQGhiYXNlLmFwYWNoZS5vcmcNCj4gPiBTdWJqZWN0OiBSZTogV3JpdGluZyB2 aXNpYmlsaXR5IGxhYmVscyB3aXRoIEhGaWxlT3V0cHV0Rm9ybWF0Mg0KPiA+DQo+ID4gLS0gVGhp cyBlbWFpbCBoYXMgcmVhY2hlZCB0aGUgQmFuayB2aWEgYW4gZXh0ZXJuYWwgc291cmNlIC0tDQo+ ID4NCj4gPg0KPiA+IFRoYW5rcyBSYW0uLiBZYSB0aGF0IHNlZW1zIHRoZSBiZXN0IHdheSBhcyBD ZWxsQ3JlYXRvciBpcyBwdWJsaWMNCj4gPiBleHBvc2VkIGNsYXNzLiBNYXkgYmUgd2Ugc2hvdWxk IGV4cGxhaW4gYWJ0IHRoaXMgaW4gaGJhc2UgYm9vayB1bmRlcg0KPiA+IHRoZSBWaXNpYmlsaXR5 IGxhYmVscyBhcmVhLiAgR29vZCB0byBrbm93IHlvdSBoYXZlIFZpc2liaWxpdHkgbGFiZWxzDQo+ ID4gYmFzZWQgdXNlY2FzZS4gTGV0IHVzIGtub3cgaW4gY2FzZSBvZiBhbnkgdHJvdWJsZS4gIFRo YW5rcy4NCj4gPg0KPiA+IC1Bbm9vcC0NCj4gPg0KPiA+IE9uIFdlZCwgSnVuIDgsIDIwMTYgYXQg MTo0MyBQTSwgcmFta3Jpc2huYSB2YXN1ZGV2YW4gPA0KPiA+IHJhbWtyaXNobmEucy52YXN1ZGV2 YW5AZ21haWwuY29tPiB3cm90ZToNCj4gPiA+IEhpDQo+ID4gPg0KPiA+ID4gSXQgY2FuIGJlIGRv bmUuIFNlZSB0aGUgY2xhc3MgQ2VsbENyZWF0b3Igd2hpY2ggaXMgUHVibGljIGZhY2luZw0KPiA+ IGludGVyZmFjZS4NCj4gPiA+IFdoZW4geW91IGNyZWF0ZSB5b3VyIHNwYXJrIGpvYiB0byBjcmVh dGUgdGhlIGhhZG9vcCBmaWxlcyB0aGF0DQo+ID4gPiBwcm9kdWNlcyB0aGUNCj4gPiA+IEhGaWxl T3V0cHV0Zm9ybWF0MiBkYXRhLiBXaGlsZSBjcmVhdGluZyB0aGUgS2V5VmFsdWVzIHlvdSBjYW4g dXNlDQo+ID4gPiB0aGUgQ2VsbENyZWF0b3IgdG8gY3JlYXRlIHlvdXIgS2V5VmFsdWVzIGFuZCB1 c2UgdGhlDQo+ID4gPiBDZWxsQ3JlYXRvci5nZXRWaXNpYmlsaXR5RXhwcmVzc2lvblJlc29sdmVy KCkgdG8gbWFwIHlvdXIgU3RyaW5nDQo+ID4gPiBWaXNpYmlsaXR5IHRhZ3Mgd2l0aCB0aGUgc3lz dGVtIGdlbmVyYXRlZCBvcmRpbmFscy4NCj4gPiA+DQo+ID4gPiBGb3IgZWcsIHlvdSBjYW4gc2Vl IGhvdyBUZXh0U29ydFJlZHVjZXIgd29ya3MuICBJIHRoaW5rIHRoaXMNCj4gPiA+IHNob3VsZCBo ZWxwIHlvdSBzb2x2ZSB5b3VyIHByb2JsZW0uIExldCB1cyBrbm93IGlmIHlvdSBuZWVkDQo+ID4g PiBmdXJ0aGVyDQo+IGluZm9ybWF0aW9uLg0KPiA+ID4NCj4gPiA+IFJlZ2FyZHMNCj4gPiA+IFJh bQ0KPiA+ID4NCj4gPiA+IE9uIFR1ZSwgSnVuIDcsIDIwMTYgYXQgMzo1OCBQTSwgRWxsaXMsIFRv bSAoRmluYW5jaWFsIE1hcmtldHMgSVQpDQo+ID4gPiA8IFRvbS5FbGxpc0BsbG95ZHNiYW5raW5n LmNvbS5pbnZhbGlkPiB3cm90ZToNCj4gPiA+DQo+ID4gPj4gSGkgUmFtLA0KPiA+ID4+DQo+ID4g Pj4gV2UncmUgYXR0ZW1wdGluZyB0byBkbyBpdCBwcm9ncmFtbWF0aWNhbGx5IHNvOg0KPiA+ID4+ DQo+ID4gPj4gVGhlIEhGaWxlIGlzIGNyZWF0ZWQgYnkgYSBTcGFyayBqb2IgdXNpbmcgc2F2ZUFz TmV3QVBJSGFkb29wRmlsZSwNCj4gPiA+PiBhbmQgdXNpbmcgSW1tdXRhYmxlQnl0ZXNXcml0YWJs ZSBhcyB0aGUga2V5IChyb3drZXkpIHdpdGgNCj4gPiA+PiBLZXlWYWx1ZSBhcyB0aGUgdmFsdWUs IGFuZCB1c2luZyB0aGUgSEZpbE91dHB1dEZvcm1hdDIgZm9ybWF0Lg0KPiA+ID4+IFRoaXMgSEZp bGUgaXMgdGhlbiBsb2FkZWQgdXNpbmcgSEJhc2UgY2xpZW50J3MNCj4gPiA+PiBMb2FkSW5jcmVt ZW50YWxIRmlsZXMuZG9CdWxrTG9hZA0KPiA+ID4+DQo+ID4gPj4gSXMgdGhlcmUgYSB3YXkgdG8g ZG8gdGhpcyBwcm9ncmFtbWF0aWNhbGx5IHdpdGhvdXQgdXNpbmcgdGhlDQo+ID4gPj4gSW1wb3J0 VHN2IHRvb2w/IEkgd2FzIHRha2luZyBhIGxvb2sgYXQNCj4gPiA+PiBWaXNpYmlsaXR5VXRpbHMu Y3JlYXRlVmlzaWJpbGl0eUV4cFRhZ3MgYW5kIG1heWJlIGJlaW5nIGFibGUgdG8NCj4gPiA+PiBq dXN0IGNyZWF0ZSB0aGUgVGFncyBteXNlbGYgdGhhdCB3YXkgKGFsdGhvdWdoIGl0J3Mgb2J2aW91 c2x5DQo+ID4gPj4gQEludGVyZmFjZUF1ZGllbmNlLlByaXZhdGUpIGJ1dCBpdCBzZWVtcyB0byBi ZSBhYmxlIHRvIHVzZSB0aGF0DQo+ID4gPj4gSSdkDQo+ID4gbmVlZCB0byBrbm93IExhYmVsIG9y ZGluYWxpdHkgY2xpZW50IHNpZGUuLg0KPiA+ID4+DQo+ID4gPj4gVGhhbmtzIGZvciB5b3VyIGhl bHAsDQo+ID4gPj4NCj4gPiA+PiBUb20NCj4gPiA+Pg0KPiA+ID4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4gPj4gRnJvbTogcmFta3Jpc2huYSB2YXN1ZGV2YW4NCj4gPiA+PiBbbWFp bHRvOnJhbWtyaXNobmEucy52YXN1ZGV2YW5AZ21haWwuY29tXQ0KPiA+ID4+IFNlbnQ6IDA3IEp1 bmUgMjAxNiAxMToxOQ0KPiA+ID4+IFRvOiB1c2VyQGhiYXNlLmFwYWNoZS5vcmcNCj4gPiA+PiBT dWJqZWN0OiBSZTogV3JpdGluZyB2aXNpYmlsaXR5IGxhYmVscyB3aXRoIEhGaWxlT3V0cHV0Rm9y bWF0Mg0KPiA+ID4+DQo+ID4gPj4gLS0gVGhpcyBlbWFpbCBoYXMgcmVhY2hlZCB0aGUgQmFuayB2 aWEgYW4gZXh0ZXJuYWwgc291cmNlIC0tDQo+ID4gPj4NCj4gPiA+Pg0KPiA+ID4+IEhpIEVsbGlz DQo+ID4gPj4NCj4gPiA+PiBIb3cgaXMgdGhlIEhGaWxlT3V0cHV0Rm9ybWF0MiBmaWxlcyBjcmVh dGVkPyAgQXJlIHlvdSB1c2luZyB0aGUNCj4gPiA+PiBJbXBvcnRUc3YgdG9vbD8gIElmIHlvdSBh cmUgdXNpbmcgdGhlIEltcG9ydFRzdiB0b29sIHRoZW4geWVzDQo+ID4gPj4gdGhlcmUgaXMgYSB3 YXkgdG8gc3BlY2lmeSB2aXNpYmlsaXR5IHRhZ3Mgd2hpbGUgbG9hZGluZyBmcm9tIHRoZQ0KPiA+ ID4+IEltcG9ydFRzdiB0b29sIGFuZCB0aG9zZSB2aXNpYmlsaXR5IHRhZ3MgYXJlIGFsc28gYnVs ayBsb2FkZWQgYXMNCj4gSEZpbGUuDQo+ID4gPj4NCj4gPiA+PiBUaGVyZSBpcyBhbiBhdHRyaWJ1 dGUgQ0VMTF9WSVNJQklMSVRZX0NPTFVNTl9TUEVDIHRoYXQgY2FuIGJlDQo+ID4gPj4gdXNlZCB0 byBpbmRpY2F0ZSB0aGF0IHRoZSBkYXRhIHdpbGwgaGF2ZSBWaXNpYmlsaXR5IFRhZ3MgYW5kIHRo ZQ0KPiA+ID4+IHRvb2wgd2lsbCBhdXRvbWF0aWNhbGx5IHBhcnNlIHRoZSBzcGVjaWZpZWQgZmll bGQgYXMgVmlzaWJpbGl0eSBUYWcuDQo+ID4gPj4NCj4gPiA+PiBJbiBjYXNlIHlvdSBoYXZlIGFj Y2VzcyB0byB0aGUgY29kZSB5b3UgY2FuIHNlZSB0aGUgdGVzdCBjYXNlDQo+ID4gPj4gVGVzdElt cG9ydFRTVldpdGhWaXNpYmlsaXR5TGFiZWxzIHRvIGdldCBhbiBpbml0aWFsIGlkZWEgb2YgaG93 DQo+ID4gPj4gaXQgaXMgYmVpbmcgZG9uZS4gSWYgbm90IGdldCBiYWNrIHRvIHVzLCBoYXBweSB0 byBoZWxwIC4NCj4gPiA+Pg0KPiA+ID4+IFJlZ2FyZHMNCj4gPiA+PiBSYW0NCj4gPiA+Pg0KPiA+ ID4+DQo+ID4gPj4NCj4gPiA+PiBPbiBUdWUsIEp1biA3LCAyMDE2IGF0IDM6MzYgUE0sIEVsbGlz LCBUb20gKEZpbmFuY2lhbCBNYXJrZXRzIElUKQ0KPiA+ID4+IDwgVG9tLkVsbGlzQGxsb3lkc2Jh bmtpbmcuY29tLmludmFsaWQ+IHdyb3RlOg0KPiA+ID4+DQo+ID4gPj4gPiBIaSwNCj4gPiA+PiA+ DQo+ID4gPj4gPiBJIHdhcyB3b25kZXJpbmcgaWYgaXQncyBwb3NzaWJsZS9ob3cgdG8gd3JpdGUg VmlzaWJpbGl0eSBMYWJlbHMNCj4gPiA+PiA+IHRvIGFuIEhGaWxlT3V0cHV0Rm9ybWF0Mj8gSSBi ZWxpZXZlIFZpc2liaWxpdHkgTGFiZWxzIGFyZSBqdXN0DQo+ID4gPj4gPiBpbXBsZW1lbnRlZCBh cyBUYWdzLCBidXQgd2l0aCB0aGUgbm9ybWFsIHdheSBvZiB3cml0aW5nIHRoZW0NCj4gPiA+PiA+ IHdpdGggTXV0YXRpb24jc2V0Q2VsbFZpc2liaWxpdHkgdGhlc2UgYXJlIGZvcm1hbGx5IHdyaXR0 ZW4gYXMNCj4gPiA+PiA+IFRhZ3MgdG8gdGhlIGNlbGxzIGR1cmluZyB0aGUgVmlzaWJpbGl0eUNv bnRyb2xsZXIgY29wcm9jZXNzb3INCj4gPiA+PiA+IGFzIHdlIG5lZWQgdG8gYXNzZXJ0IHRoZSBl eHByZXNzaW9uIGlzIHZhbGlkIGZvciB0aGUgbGFiZWxzIGNvbmZpZ3VyZWQuDQo+ID4gPj4gPg0K PiA+ID4+ID4gSG93IGNhbiB3ZSBhZGQgdmlzaWJpbGl0eSBsYWJlbHMgdG8gY2VsbHMgaWYgd2Ug aGF2ZSBhIGpvYiB0aGF0DQo+ID4gPj4gPiBjcmVhdGVzIGFuIEhGaWxlIHdpdGggSEZpbGVPdXRw dXRGb3JtYXQyIHdoaWNoIGlzIHRoZW4NCj4gPiA+PiA+IHN1YnNlcXVlbnRseSBsb2FkZWQgdXNp bmcgTG9hZEluY3JlbWVudGFsSEZpbGVzPw0KPiA+ID4+ID4NCj4gPiA+PiA+IENoZWVycywNCj4g PiA+PiA+DQo+ID4gPj4gPiBUb20gRWxsaXMNCj4gPiA+PiA+IENvbnN1bHRhbnQgRGV2ZWxvcGVy IC0gRXhjZWxpYW4gRGF0YSBMYWtlIHwgRmluYW5jaWFsIE1hcmtldHMNCj4gPiA+PiA+IElUIExM T1lEUyBCQU5LIENPTU1FUkNJQUwgQkFOS0lORw0KPiA+ID4+ID4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18NCj4gPiA+PiA+DQo+ID4gPj4gPiBFOg0KPiA+ID4+ID4gVG9tLkVsbGlz QExsb3lkc0JhbmtpbmcuY29tPG1haWx0bzpUb20uRWxsaXNATGxveWRzQmFua2luZy5jb20+DQo+ ID4gPj4gPiBXZWJzaXRlOg0KPiA+ID4+ID4gd3d3Lmxsb3lkc2Jhbmtjb21tZXJjaWFsLmNvbTxo dHRwOi8vd3d3Lmxsb3lkc2Jhbmtjb21tZXJjaWFsLmNvDQo+ID4gPj4gPiBtLw0KPiA+ID4+ID4g Pg0KPiA+ID4+ID4gLCAsICwNCj4gPiA+PiA+IFJlZHVjZSBwcmludGluZy4gTGxveWRzIEJhbmtp bmcgR3JvdXAgaXMgaGVscGluZyB0byBidWlsZCB0aGUNCj4gPiA+PiA+IGxvdyBjYXJib24gZWNv bm9teS4NCj4gPiA+PiA+IENvcnBvcmF0ZSBSZXNwb25zaWJpbGl0eSBSZXBvcnQ6DQo+ID4gPj4g PiB3d3cubGxveWRzYmFua2luZ2dyb3VwLWNyLmNvbS9kb3dubG9hZHM8DQo+ID4gPj4gPiBodHRw Oi8vd3d3Lmxsb3lkc2Jhbmtpbmdncm91cC1jci5jb20vZG93bmxvYWRzPg0KPiA+ID4+ID4NCj4g PiA+PiA+DQo+ID4gPj4gPg0KPiA+ID4+ID4gTGxveWRzIEJhbmtpbmcgR3JvdXAgcGxjLiBSZWdp c3RlcmVkIE9mZmljZTogVGhlIE1vdW5kLA0KPiA+ID4+ID4gRWRpbmJ1cmdoDQo+ID4gPj4gPiBF SDENCj4gPiA+PiAxWVouDQo+ID4gPj4gPiBSZWdpc3RlcmVkIGluIFNjb3RsYW5kIG5vLiBTQzk1 MDAwLiBUZWxlcGhvbmU6IDAxMzEgMjI1IDQ1NTUuDQo+ID4gPj4gPiBMbG95ZHMgQmFuayBwbGMu IFJlZ2lzdGVyZWQgT2ZmaWNlOiAyNSBHcmVzaGFtIFN0cmVldCwgTG9uZG9uDQo+ID4gPj4gPiBF QzJWDQo+ID4gN0hOLg0KPiA+ID4+ID4gUmVnaXN0ZXJlZCBpbiBFbmdsYW5kIGFuZCBXYWxlcyBu by4gMjA2NS4gVGVsZXBob25lIDAyMDc2MjYgMTUwMC4NCj4gPiA+PiA+IEJhbmsNCj4gPiA+PiBv ZiBTY290bGFuZCBwbGMuDQo+ID4gPj4gPiBSZWdpc3RlcmVkIE9mZmljZTogVGhlIE1vdW5kLCBF ZGluYnVyZ2ggRUgxIDFZWi4gUmVnaXN0ZXJlZCBpbg0KPiA+ID4+ID4gU2NvdGxhbmQNCj4gPiA+ PiBuby4NCj4gPiA+PiA+IFNDMzI3MDAwLiBUZWxlcGhvbmU6IDAzNDU3IDgwMSA4MDEuIENoZWx0 ZW5oYW0gJiBHbG91Y2VzdGVyIHBsYy4NCj4gPiA+PiA+IFJlZ2lzdGVyZWQNCj4gPiA+PiA+IE9m ZmljZTogQmFybmV0dCBXYXksIEdsb3VjZXN0ZXIgR0w0IDNSTC4gUmVnaXN0ZXJlZCBpbiBFbmds YW5kDQo+ID4gPj4gPiBhbmQgV2FsZXMgMjI5OTQyOC4gVGVsZXBob25lOiAwMzQ1IDYwMyAxNjM3 DQo+ID4gPj4gPg0KPiA+ID4+ID4gTGxveWRzIEJhbmsgcGxjLCBCYW5rIG9mIFNjb3RsYW5kIHBs YyBhcmUgYXV0aG9yaXNlZCBieSB0aGUNCj4gPiA+PiA+IFBydWRlbnRpYWwgUmVndWxhdGlvbiBB dXRob3JpdHkgYW5kIHJlZ3VsYXRlZCBieSB0aGUgRmluYW5jaWFsDQo+ID4gPj4gPiBDb25kdWN0 IEF1dGhvcml0eSBhbmQgUHJ1ZGVudGlhbCBSZWd1bGF0aW9uIEF1dGhvcml0eS4NCj4gPiA+PiA+ DQo+ID4gPj4gPiBDaGVsdGVuaGFtICYgR2xvdWNlc3RlciBwbGMgaXMgYXV0aG9yaXNlZCBhbmQg cmVndWxhdGVkIGJ5IHRoZQ0KPiA+ID4+ID4gRmluYW5jaWFsIENvbmR1Y3QgQXV0aG9yaXR5Lg0K PiA+ID4+ID4NCj4gPiA+PiA+IEhhbGlmYXggaXMgYSBkaXZpc2lvbiBvZiBCYW5rIG9mIFNjb3Rs YW5kIHBsYy4gQ2hlbHRlbmhhbSAmDQo+ID4gPj4gPiBHbG91Y2VzdGVyIFNhdmluZ3MgaXMgYSBk aXZpc2lvbiBvZiBMbG95ZHMgQmFuayBwbGMuDQo+ID4gPj4gPg0KPiA+ID4+ID4gSEJPUyBwbGMu IFJlZ2lzdGVyZWQgT2ZmaWNlOiBUaGUgTW91bmQsIEVkaW5idXJnaCBFSDEgMVlaLg0KPiA+ID4+ ID4gUmVnaXN0ZXJlZCBpbiBTY290bGFuZCBuby4gU0MyMTg4MTMuDQo+ID4gPj4gPg0KPiA+ID4+ ID4gVGhpcyBlLW1haWwgKGluY2x1ZGluZyBhbnkgYXR0YWNobWVudHMpIGlzIHByaXZhdGUgYW5k DQo+ID4gPj4gPiBjb25maWRlbnRpYWwgYW5kIG1heSBjb250YWluIHByaXZpbGVnZWQgbWF0ZXJp YWwuIElmIHlvdSBoYXZlDQo+ID4gPj4gPiByZWNlaXZlZCB0aGlzIGUtbWFpbCBpbiBlcnJvciwg cGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGFuZA0KPiA+ID4+ID4gZGVsZXRlIGl0IChpbmNsdWRp bmcgYW55DQo+ID4gPj4gPiBhdHRhY2htZW50cykgaW1tZWRpYXRlbHkuIFlvdSBtdXN0IG5vdCBj b3B5LCBkaXN0cmlidXRlLA0KPiA+ID4+ID4gZGlzY2xvc2Ugb3IgdXNlIGFueSBvZiB0aGUgaW5m b3JtYXRpb24gaW4gaXQgb3IgYW55DQo+ID4gPj4gPiBhdHRhY2htZW50cy4gVGVsZXBob25lIGNh bGxzIG1heSBiZSBtb25pdG9yZWQgb3IgcmVjb3JkZWQuDQo+ID4gPj4gPg0KPiA+ID4+DQo+ID4g Pj4NCj4gPiA+PiBMbG95ZHMgQmFua2luZyBHcm91cCBwbGMuIFJlZ2lzdGVyZWQgT2ZmaWNlOiBU aGUgTW91bmQsIEVkaW5idXJnaA0KPiA+ID4+IEVIMQ0KPiA+IDFZWi4NCj4gPiA+PiBSZWdpc3Rl cmVkIGluIFNjb3RsYW5kIG5vLiBTQzk1MDAwLiBUZWxlcGhvbmU6IDAxMzEgMjI1IDQ1NTUuDQo+ ID4gPj4gTGxveWRzIEJhbmsgcGxjLiBSZWdpc3RlcmVkIE9mZmljZTogMjUgR3Jlc2hhbSBTdHJl ZXQsIExvbmRvbg0KPiA+ID4+IEVDMlYNCj4gN0hOLg0KPiA+ID4+IFJlZ2lzdGVyZWQgaW4gRW5n bGFuZCBhbmQgV2FsZXMgbm8uIDIwNjUuIFRlbGVwaG9uZSAwMjA3NjI2IDE1MDAuDQo+ID4gPj4g QmFuaw0KPiA+IG9mIFNjb3RsYW5kIHBsYy4NCj4gPiA+PiBSZWdpc3RlcmVkIE9mZmljZTogVGhl IE1vdW5kLCBFZGluYnVyZ2ggRUgxIDFZWi4gUmVnaXN0ZXJlZCBpbg0KPiA+ID4+IFNjb3RsYW5k DQo+ID4gbm8uDQo+ID4gPj4gU0MzMjcwMDAuIFRlbGVwaG9uZTogMDM0NTcgODAxIDgwMS4gQ2hl bHRlbmhhbSAmIEdsb3VjZXN0ZXIgcGxjLg0KPiA+ID4+IFJlZ2lzdGVyZWQNCj4gPiA+PiBPZmZp Y2U6IEJhcm5ldHQgV2F5LCBHbG91Y2VzdGVyIEdMNCAzUkwuIFJlZ2lzdGVyZWQgaW4gRW5nbGFu ZA0KPiA+ID4+IGFuZCBXYWxlcyAyMjk5NDI4LiBUZWxlcGhvbmU6IDAzNDUgNjAzIDE2MzcNCj4g PiA+Pg0KPiA+ID4+IExsb3lkcyBCYW5rIHBsYywgQmFuayBvZiBTY290bGFuZCBwbGMgYXJlIGF1 dGhvcmlzZWQgYnkgdGhlDQo+ID4gPj4gUHJ1ZGVudGlhbCBSZWd1bGF0aW9uIEF1dGhvcml0eSBh bmQgcmVndWxhdGVkIGJ5IHRoZSBGaW5hbmNpYWwNCj4gPiA+PiBDb25kdWN0IEF1dGhvcml0eSBh bmQgUHJ1ZGVudGlhbCBSZWd1bGF0aW9uIEF1dGhvcml0eS4NCj4gPiA+Pg0KPiA+ID4+IENoZWx0 ZW5oYW0gJiBHbG91Y2VzdGVyIHBsYyBpcyBhdXRob3Jpc2VkIGFuZCByZWd1bGF0ZWQgYnkgdGhl DQo+ID4gPj4gRmluYW5jaWFsIENvbmR1Y3QgQXV0aG9yaXR5Lg0KPiA+ID4+DQo+ID4gPj4gSGFs aWZheCBpcyBhIGRpdmlzaW9uIG9mIEJhbmsgb2YgU2NvdGxhbmQgcGxjLiBDaGVsdGVuaGFtICYN Cj4gPiA+PiBHbG91Y2VzdGVyIFNhdmluZ3MgaXMgYSBkaXZpc2lvbiBvZiBMbG95ZHMgQmFuayBw bGMuDQo+ID4gPj4NCj4gPiA+PiBIQk9TIHBsYy4gUmVnaXN0ZXJlZCBPZmZpY2U6IFRoZSBNb3Vu ZCwgRWRpbmJ1cmdoIEVIMSAxWVouDQo+ID4gPj4gUmVnaXN0ZXJlZCBpbiBTY290bGFuZCBuby4g U0MyMTg4MTMuDQo+ID4gPj4NCj4gPiA+PiBUaGlzIGUtbWFpbCAoaW5jbHVkaW5nIGFueSBhdHRh Y2htZW50cykgaXMgcHJpdmF0ZSBhbmQNCj4gPiA+PiBjb25maWRlbnRpYWwgYW5kIG1heSBjb250 YWluIHByaXZpbGVnZWQgbWF0ZXJpYWwuIElmIHlvdSBoYXZlDQo+ID4gPj4gcmVjZWl2ZWQgdGhp cyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBhbmQNCj4gPiA+PiBk ZWxldGUgaXQgKGluY2x1ZGluZyBhbnkNCj4gPiA+PiBhdHRhY2htZW50cykgaW1tZWRpYXRlbHku IFlvdSBtdXN0IG5vdCBjb3B5LCBkaXN0cmlidXRlLCBkaXNjbG9zZQ0KPiA+ID4+IG9yIHVzZSBh bnkgb2YgdGhlIGluZm9ybWF0aW9uIGluIGl0IG9yIGFueSBhdHRhY2htZW50cy4gVGVsZXBob25l DQo+ID4gPj4gY2FsbHMgbWF5IGJlIG1vbml0b3JlZCBvciByZWNvcmRlZC4NCj4gPiA+Pg0KPiA+ DQo+ID4NCj4gPiBMbG95ZHMgQmFua2luZyBHcm91cCBwbGMuIFJlZ2lzdGVyZWQgT2ZmaWNlOiBU aGUgTW91bmQsIEVkaW5idXJnaA0KPiA+IEVIMQ0KPiAxWVouDQo+ID4gUmVnaXN0ZXJlZCBpbiBT Y290bGFuZCBuby4gU0M5NTAwMC4gVGVsZXBob25lOiAwMTMxIDIyNSA0NTU1LiBMbG95ZHMNCj4g PiBCYW5rIHBsYy4gUmVnaXN0ZXJlZCBPZmZpY2U6IDI1IEdyZXNoYW0gU3RyZWV0LCBMb25kb24g RUMyViA3SE4uDQo+ID4gUmVnaXN0ZXJlZCBpbiBFbmdsYW5kIGFuZCBXYWxlcyBuby4gMjA2NS4g VGVsZXBob25lIDAyMDc2MjYgMTUwMC4NCj4gPiBCYW5rDQo+IG9mIFNjb3RsYW5kIHBsYy4NCj4g PiBSZWdpc3RlcmVkIE9mZmljZTogVGhlIE1vdW5kLCBFZGluYnVyZ2ggRUgxIDFZWi4gUmVnaXN0 ZXJlZCBpbg0KPiA+IFNjb3RsYW5kDQo+IG5vLg0KPiA+IFNDMzI3MDAwLiBUZWxlcGhvbmU6IDAz NDU3IDgwMSA4MDEuIENoZWx0ZW5oYW0gJiBHbG91Y2VzdGVyIHBsYy4NCj4gPiBSZWdpc3RlcmVk DQo+ID4gT2ZmaWNlOiBCYXJuZXR0IFdheSwgR2xvdWNlc3RlciBHTDQgM1JMLiBSZWdpc3RlcmVk IGluIEVuZ2xhbmQgYW5kDQo+ID4gV2FsZXMgMjI5OTQyOC4gVGVsZXBob25lOiAwMzQ1IDYwMyAx NjM3DQo+ID4NCj4gPiBMbG95ZHMgQmFuayBwbGMsIEJhbmsgb2YgU2NvdGxhbmQgcGxjIGFyZSBh dXRob3Jpc2VkIGJ5IHRoZQ0KPiA+IFBydWRlbnRpYWwgUmVndWxhdGlvbiBBdXRob3JpdHkgYW5k IHJlZ3VsYXRlZCBieSB0aGUgRmluYW5jaWFsDQo+ID4gQ29uZHVjdCBBdXRob3JpdHkgYW5kIFBy dWRlbnRpYWwgUmVndWxhdGlvbiBBdXRob3JpdHkuDQo+ID4NCj4gPiBDaGVsdGVuaGFtICYgR2xv dWNlc3RlciBwbGMgaXMgYXV0aG9yaXNlZCBhbmQgcmVndWxhdGVkIGJ5IHRoZQ0KPiA+IEZpbmFu Y2lhbCBDb25kdWN0IEF1dGhvcml0eS4NCj4gPg0KPiA+IEhhbGlmYXggaXMgYSBkaXZpc2lvbiBv ZiBCYW5rIG9mIFNjb3RsYW5kIHBsYy4gQ2hlbHRlbmhhbSAmDQo+ID4gR2xvdWNlc3RlciBTYXZp bmdzIGlzIGEgZGl2aXNpb24gb2YgTGxveWRzIEJhbmsgcGxjLg0KPiA+DQo+ID4gSEJPUyBwbGMu IFJlZ2lzdGVyZWQgT2ZmaWNlOiBUaGUgTW91bmQsIEVkaW5idXJnaCBFSDEgMVlaLg0KPiA+IFJl Z2lzdGVyZWQgaW4gU2NvdGxhbmQgbm8uIFNDMjE4ODEzLg0KPiA+DQo+ID4gVGhpcyBlLW1haWwg KGluY2x1ZGluZyBhbnkgYXR0YWNobWVudHMpIGlzIHByaXZhdGUgYW5kIGNvbmZpZGVudGlhbA0K PiA+IGFuZCBtYXkgY29udGFpbiBwcml2aWxlZ2VkIG1hdGVyaWFsLiBJZiB5b3UgaGF2ZSByZWNl aXZlZCB0aGlzDQo+ID4gZS1tYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIg YW5kIGRlbGV0ZSBpdCAoaW5jbHVkaW5nDQo+ID4gYW55DQo+ID4gYXR0YWNobWVudHMpIGltbWVk aWF0ZWx5LiBZb3UgbXVzdCBub3QgY29weSwgZGlzdHJpYnV0ZSwgZGlzY2xvc2Ugb3INCj4gPiB1 c2UgYW55IG9mIHRoZSBpbmZvcm1hdGlvbiBpbiBpdCBvciBhbnkgYXR0YWNobWVudHMuIFRlbGVw aG9uZSBjYWxscw0KPiA+IG1heSBiZSBtb25pdG9yZWQgb3IgcmVjb3JkZWQuDQo+ID4NCj4NCj4N Cj4gTGxveWRzIEJhbmtpbmcgR3JvdXAgcGxjLiBSZWdpc3RlcmVkIE9mZmljZTogVGhlIE1vdW5k LCBFZGluYnVyZ2ggRUgxIDFZWi4NCj4gUmVnaXN0ZXJlZCBpbiBTY290bGFuZCBuby4gU0M5NTAw MC4gVGVsZXBob25lOiAwMTMxIDIyNSA0NTU1LiBMbG95ZHMNCj4gQmFuayBwbGMuIFJlZ2lzdGVy ZWQgT2ZmaWNlOiAyNSBHcmVzaGFtIFN0cmVldCwgTG9uZG9uIEVDMlYgN0hOLg0KPiBSZWdpc3Rl cmVkIGluIEVuZ2xhbmQgYW5kIFdhbGVzIG5vLiAyMDY1LiBUZWxlcGhvbmUgMDIwNzYyNiAxNTAw LiBCYW5rIG9mIFNjb3RsYW5kIHBsYy4NCj4gUmVnaXN0ZXJlZCBPZmZpY2U6IFRoZSBNb3VuZCwg RWRpbmJ1cmdoIEVIMSAxWVouIFJlZ2lzdGVyZWQgaW4gU2NvdGxhbmQgbm8uDQo+IFNDMzI3MDAw LiBUZWxlcGhvbmU6IDAzNDU3IDgwMSA4MDEuIENoZWx0ZW5oYW0gJiBHbG91Y2VzdGVyIHBsYy4N Cj4gUmVnaXN0ZXJlZA0KPiBPZmZpY2U6IEJhcm5ldHQgV2F5LCBHbG91Y2VzdGVyIEdMNCAzUkwu IFJlZ2lzdGVyZWQgaW4gRW5nbGFuZCBhbmQNCj4gV2FsZXMgMjI5OTQyOC4gVGVsZXBob25lOiAw MzQ1IDYwMyAxNjM3DQo+DQo+IExsb3lkcyBCYW5rIHBsYywgQmFuayBvZiBTY290bGFuZCBwbGMg YXJlIGF1dGhvcmlzZWQgYnkgdGhlIFBydWRlbnRpYWwNCj4gUmVndWxhdGlvbiBBdXRob3JpdHkg YW5kIHJlZ3VsYXRlZCBieSB0aGUgRmluYW5jaWFsIENvbmR1Y3QgQXV0aG9yaXR5DQo+IGFuZCBQ cnVkZW50aWFsIFJlZ3VsYXRpb24gQXV0aG9yaXR5Lg0KPg0KPiBDaGVsdGVuaGFtICYgR2xvdWNl c3RlciBwbGMgaXMgYXV0aG9yaXNlZCBhbmQgcmVndWxhdGVkIGJ5IHRoZQ0KPiBGaW5hbmNpYWwg Q29uZHVjdCBBdXRob3JpdHkuDQo+DQo+IEhhbGlmYXggaXMgYSBkaXZpc2lvbiBvZiBCYW5rIG9m IFNjb3RsYW5kIHBsYy4gQ2hlbHRlbmhhbSAmIEdsb3VjZXN0ZXINCj4gU2F2aW5ncyBpcyBhIGRp dmlzaW9uIG9mIExsb3lkcyBCYW5rIHBsYy4NCj4NCj4gSEJPUyBwbGMuIFJlZ2lzdGVyZWQgT2Zm aWNlOiBUaGUgTW91bmQsIEVkaW5idXJnaCBFSDEgMVlaLiBSZWdpc3RlcmVkDQo+IGluIFNjb3Rs YW5kIG5vLiBTQzIxODgxMy4NCj4NCj4gVGhpcyBlLW1haWwgKGluY2x1ZGluZyBhbnkgYXR0YWNo bWVudHMpIGlzIHByaXZhdGUgYW5kIGNvbmZpZGVudGlhbA0KPiBhbmQgbWF5IGNvbnRhaW4gcHJp dmlsZWdlZCBtYXRlcmlhbC4gSWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwNCj4gaW4g ZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGl0IChpbmNsdWRpbmcg YW55DQo+IGF0dGFjaG1lbnRzKSBpbW1lZGlhdGVseS4gWW91IG11c3Qgbm90IGNvcHksIGRpc3Ry aWJ1dGUsIGRpc2Nsb3NlIG9yDQo+IHVzZSBhbnkgb2YgdGhlIGluZm9ybWF0aW9uIGluIGl0IG9y IGFueSBhdHRhY2htZW50cy4gVGVsZXBob25lIGNhbGxzDQo+IG1heSBiZSBtb25pdG9yZWQgb3Ig cmVjb3JkZWQuDQo+DQoKCkxsb3lkcyBCYW5raW5nIEdyb3VwIHBsYy4gUmVnaXN0ZXJlZCBPZmZp Y2U6IFRoZSBNb3VuZCwgRWRpbmJ1cmdoIEVIMSAxWVouIFJlZ2lzdGVyZWQgaW4gU2NvdGxhbmQg bm8uIFNDOTUwMDAuIFRlbGVwaG9uZTogMDEzMSAyMjUgNDU1NS4gTGxveWRzIEJhbmsgcGxjLiBS ZWdpc3RlcmVkIE9mZmljZTogMjUgR3Jlc2hhbSBTdHJlZXQsIExvbmRvbiBFQzJWIDdITi4gUmVn aXN0ZXJlZCBpbiBFbmdsYW5kIGFuZCBXYWxlcyBuby4gMjA2NS4gVGVsZXBob25lIDAyMDc2MjYg MTUwMC4gQmFuayBvZiBTY290bGFuZCBwbGMuIFJlZ2lzdGVyZWQgT2ZmaWNlOiBUaGUgTW91bmQs IEVkaW5idXJnaCBFSDEgMVlaLiBSZWdpc3RlcmVkIGluIFNjb3RsYW5kIG5vLiBTQzMyNzAwMC4g VGVsZXBob25lOiAwMzQ1NyA4MDEgODAxLiBDaGVsdGVuaGFtICYgR2xvdWNlc3RlciBwbGMuIFJl Z2lzdGVyZWQgT2ZmaWNlOiBCYXJuZXR0IFdheSwgR2xvdWNlc3RlciBHTDQgM1JMLiBSZWdpc3Rl cmVkIGluIEVuZ2xhbmQgYW5kIFdhbGVzIDIyOTk0MjguIFRlbGVwaG9uZTogMDM0NSA2MDMgMTYz NwoKTGxveWRzIEJhbmsgcGxjLCBCYW5rIG9mIFNjb3RsYW5kIHBsYyBhcmUgYXV0aG9yaXNlZCBi eSB0aGUgUHJ1ZGVudGlhbCBSZWd1bGF0aW9uIEF1dGhvcml0eSBhbmQgcmVndWxhdGVkIGJ5IHRo ZSBGaW5hbmNpYWwgQ29uZHVjdCBBdXRob3JpdHkgYW5kIFBydWRlbnRpYWwgUmVndWxhdGlvbiBB dXRob3JpdHkuCgpDaGVsdGVuaGFtICYgR2xvdWNlc3RlciBwbGMgaXMgYXV0aG9yaXNlZCBhbmQg cmVndWxhdGVkIGJ5IHRoZSBGaW5hbmNpYWwgQ29uZHVjdCBBdXRob3JpdHkuCgpIYWxpZmF4IGlz IGEgZGl2aXNpb24gb2YgQmFuayBvZiBTY290bGFuZCBwbGMuIENoZWx0ZW5oYW0gJiBHbG91Y2Vz dGVyIFNhdmluZ3MgaXMgYSBkaXZpc2lvbiBvZiBMbG95ZHMgQmFuayBwbGMuCgpIQk9TIHBsYy4g UmVnaXN0ZXJlZCBPZmZpY2U6IFRoZSBNb3VuZCwgRWRpbmJ1cmdoIEVIMSAxWVouIFJlZ2lzdGVy ZWQgaW4gU2NvdGxhbmQgbm8uIFNDMjE4ODEzLgoKVGhpcyBlLW1haWwgKGluY2x1ZGluZyBhbnkg YXR0YWNobWVudHMpIGlzIHByaXZhdGUgYW5kIGNvbmZpZGVudGlhbCBhbmQgbWF5IGNvbnRhaW4g cHJpdmlsZWdlZCBtYXRlcmlhbC4gSWYgeW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBlLW1haWwgaW4g ZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBhbmQgZGVsZXRlIGl0IChpbmNsdWRpbmcg YW55IGF0dGFjaG1lbnRzKSBpbW1lZGlhdGVseS4gWW91IG11c3Qgbm90IGNvcHksIGRpc3RyaWJ1 dGUsIGRpc2Nsb3NlIG9yIHVzZSBhbnkgb2YgdGhlIGluZm9ybWF0aW9uIGluIGl0IG9yIGFueSBh dHRhY2htZW50cy4gVGVsZXBob25lIGNhbGxzIG1heSBiZSBtb25pdG9yZWQgb3IgcmVjb3JkZWQu Cg==