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 10289200D57 for ; Mon, 11 Dec 2017 12:46:15 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id 0EA92160C13; Mon, 11 Dec 2017 11:46:15 +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 83686160C10 for ; Mon, 11 Dec 2017 12:46:13 +0100 (CET) Received: (qmail 80036 invoked by uid 500); 11 Dec 2017 11:46:12 -0000 Mailing-List: contact general-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: general@incubator.apache.org Delivered-To: mailing list general@incubator.apache.org Received: (qmail 80024 invoked by uid 99); 11 Dec 2017 11:46:11 -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; Mon, 11 Dec 2017 11:46:11 +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 55C11C4850 for ; Mon, 11 Dec 2017 11:46:11 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd1-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.022 X-Spam-Level: X-Spam-Status: No, score=-0.022 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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 (1024-bit key) header.d=cwareitservice.onmicrosoft.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 sskTEVunOA1o for ; Mon, 11 Dec 2017 11:46:08 +0000 (UTC) Received: from EUR01-HE1-obe.outbound.protection.outlook.com (mail-he1eur01on0127.outbound.protection.outlook.com [104.47.0.127]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id 9E7FE5F489 for ; Mon, 11 Dec 2017 11:46:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CWareITService.onmicrosoft.com; s=selector1-cware-de0c; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=yy+wu8Yso5Xr4rp36KOAqdQtnM47YN12AiOpKLFfWWQ=; b=Q12GKIHm+ain6ONYNDHIDZuAqGbWNsrA80yPIv5WoSHVi6wvJp88X9SnK5XorKWLd8YylrxWtyhNIQ/RbslmM9029YXbg6J+qChgFjXtyhh4bekGSzyWEpRmyDDxuoFL7pJ6w6xHMEZfZmNMuLQpi+aL4TzobTp22dhttBE0f/c= Received: from DB5PR05MB1608.eurprd05.prod.outlook.com (10.165.6.26) by DB5PR05MB1607.eurprd05.prod.outlook.com (10.165.6.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.302.9; Mon, 11 Dec 2017 11:45:58 +0000 Received: from DB5PR05MB1608.eurprd05.prod.outlook.com ([fe80::d1e8:8d82:950c:1cc2]) by DB5PR05MB1608.eurprd05.prod.outlook.com ([fe80::d1e8:8d82:950c:1cc2%14]) with mapi id 15.20.0302.013; Mon, 11 Dec 2017 11:45:58 +0000 From: Christofer Dutz To: "general@incubator.apache.org" Subject: Re: [PROPOSAL] PLC4X - proposal for Apache Incubation Thread-Topic: [PROPOSAL] PLC4X - proposal for Apache Incubation Thread-Index: AQHTcUtHVtmu/jnBx0WzW/XCxkjIdqM8O2wAgAHd9gA= Date: Mon, 11 Dec 2017 11:45:58 +0000 Message-ID: <773497B9-B15B-401E-9DB9-A0F97A644501@c-ware.de> References: In-Reply-To: Accept-Language: de-DE, en-US Content-Language: de-DE X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=christofer.dutz@c-ware.de; x-originating-ip: [217.110.130.19] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;DB5PR05MB1607;6:Ul36PFq+MWJlt2OZHxVgAgeFeqsp4mmPL+eT0MLl2QhW9DnNp4/i8+3LKo6us7hva0uaavTZSWtoiIjHBdf4n5zJL8nT69+JTAZ+bM/VNA8z/mt0cdlk/lKHrGHdSpBbPVRibynfdSNDcCsjZuRNftgSaNGFJ6FWcQd++BZrIuyfckDMXgffKbGYMKLdGHFOs9KQHGENPWqeL8E+dcyBJKk9P9eKs0fYoeJMBqLdv98JF9xIh809skpb8yE1FhbcbYnoUGFROqfdIa9IHOrnv9GCXSBAo3/h8Gb+AZYn60ZP6N7bB8bPrcSpeLkxicv1+JjCDl2IZICey/Vx4ewgAjLNQtyWKFAlQLHBbGOsxUk=;5:Iwys7JRBrJhh7cHXkMKVy+Q0Di4WxLWp8BOvFdFFBPLIQkrWN9L6+KsynWOfLhY6q4oNkwTas+Cmtqelnaq5xRQYnJzwPLlzOTRw7qfyjafxKzZfG18pMKT2AedHKb8t+DM1x8iFKyy8e5awrk/d41QekT6e00XcVND2DMLLDug=;24:1m5uq+N6CahaPV9yhTm5l6dJRT4BfVXGCThdgu0NDxEveYfD22SLZzoNPs0KCmpm9M+34Iye1Cr5UrKUucF9p2CN+d3e0YMGCIyQC/+BPzU=;7:c3kMB7iZ9tbPrH3wccbovo0xW6zGbqQINm3z3qIp5eRRJRr0nxMxW+9+T9RQmC/QOsQeN4D+Q3nHZzkchJDh4BnwuJMtSPvaCiuSJF8/H4sYQAflXlZUJPkPhdEGcsjPhqQiAj64V8Wf7/oUsEy+IfSkGAJunVWmWF/AaXCFsLYz3pf8HMi4ILpatU7LwaaPrZ2kIAEJlhlkmRFntV8pIb+flBnHy1hYUTYlhMyquy8M7pEd9zRA3vc+rO9IKeeV x-ms-exchange-antispam-srfa-diagnostics: SSOS; x-ms-office365-filtering-correlation-id: 0f45cfb9-8960-4e4f-f1e5-08d5408cbed5 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(5600026)(4604075)(4534020)(4602075)(4603075)(7168020)(4627115)(201702281549075)(2017052603307);SRVR:DB5PR05MB1607; x-ms-traffictypediagnostic: DB5PR05MB1607: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(250069074691196)(278428928389397)(192374486261705)(278021236550800)(190461294614860)(5213294742642)(8415204561270)(231250463719595)(17755550239193); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040450)(2401047)(5005006)(8121501046)(3231022)(93006095)(93001095)(3002001)(10201501046)(6041248)(2016111802025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(6043046)(6072148)(201708071742011);SRVR:DB5PR05MB1607;BCL:0;PCL:0;RULEID:(100000803101)(100110400095);SRVR:DB5PR05MB1607; x-forefront-prvs: 0518EEFB48 x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(346002)(39830400002)(366004)(376002)(189003)(199004)(24454002)(45074003)(13734003)(252514010)(6306002)(68736007)(36756003)(6512007)(55236003)(229853002)(59450400001)(53936002)(4477795004)(53946003)(6486002)(3660700001)(6246003)(6116002)(99286004)(3280700002)(76176011)(5250100002)(102836003)(3846002)(83716003)(74482002)(86362001)(106356001)(316002)(5660300001)(105586002)(561944003)(14454004)(2501003)(75402003)(66066001)(2351001)(82746002)(966005)(97736004)(305945005)(7736002)(8936002)(19273905006)(1730700003)(8676002)(81156014)(81166006)(6506006)(2900100001)(2906002)(478600001)(33656002)(53546010)(25786009)(6916009)(2950100002)(6436002)(5640700003)(200143003)(32563001)(562404015)(563064011);DIR:OUT;SFP:1102;SCL:1;SRVR:DB5PR05MB1607;H:DB5PR05MB1608.eurprd05.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;MX:1;A:1;LANG:en; received-spf: None (protection.outlook.com: c-ware.de does not designate permitted sender hosts) spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: <5C7D76F43CFF4E4CA69F3AAA6804F33D@eurprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: c-ware.de X-MS-Exchange-CrossTenant-Network-Message-Id: 0f45cfb9-8960-4e4f-f1e5-08d5408cbed5 X-MS-Exchange-CrossTenant-originalarrivaltime: 11 Dec 2017 11:45:58.2521 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 9d387546-1437-4b89-846c-691d64a7e74d X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB5PR05MB1607 archived-at: Mon, 11 Dec 2017 11:46:15 -0000 UGxlYXNlIGxldCBtZSBhZGQgYSBsaXR0bGUgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgcHJvamVj dDoNCg0KV2UgaGF2ZSBjdXJyZW50bHkgc2V0dXAgdGhlIHJlcG8gYW5kIHRoZSBDSSBvbiBvdXIg Y29tcGFuaWVzIEdpdExhYiBzZXJ2ZXIuIFRoZSBzaXRlIGlzIGFscmVhZHkgcHVibGlzaGluZyB0 aGUgcHJvamVjdCB3ZWJzaXRlIGF0Og0KaHR0cHM6Ly9pb3QuZ2l0bGFiLmNvZGVjZW50cmljLmRl L3BsYzR4Lw0KKEFzIEdpdGxhYiBhZGRzIHRoZSBwcmVmaXggb2Yg4oCeaW904oCdIHRvIHRoZSBk b21haW4tbmFtZSBvdXIgY3VycmVudGx5IGluc3RhbGxlZCBTU0wgY2VydGlmaWNhdGUgd2lsbCBt YWtlIHRoZSBicm93c2VyIGNvbXBsYWluKQ0KDQpPbiB0aGUgc2l0ZSwgeW91IGNhbiBmaW5kIGEg bGl0dGxlIG1vcmUgaW5mb3JtYXRpb24gb24gdGhlIHByb2plY3QgYXMgd2VsbCBhcyBzZWUgdGhl IHByb2plY3QgbG9nby4NCg0KQXMgc29vbiBhcyBhIFZPVEUgdGhyZWFkIGlzIGNyZWF0ZWQsIEni gJlsbCBzZXQgdGhlIGNvZGUtcmVwbyB0byBwdWJsaWMgcmVhZGFibGUgc28geW91IGtub3cgd2hh dCB5b3XigJlyZSB2b3Rpbmcgb24uDQoNCkNocmlzDQoNCg0KDQoNCkFtIDEwLjEyLjE3LCAwOTox NSBzY2hyaWViICJQaWVycmUgU21pdHMiIDxwaWVycmUuc21pdHNAZ21haWwuY29tPjoNCg0KICAg IEhJIEp1c3RpbiwgQWxsLA0KICAgIA0KICAgIEdyZWF0IHRvIHNlZSB0aGlzIGluaXRpYXRpdmUg Y3VsbWluYXRpbmcgaGVyZS4NCiAgICANCiAgICBCZXN0IHJlZ2FyZHMsDQogICAgDQogICAgUGll cnJlIFNtaXRzDQogICAgDQogICAgT1JSVElaLkNPTSA8aHR0cDovL3d3dy5vcnJ0aXouY29tPg0K ICAgIE9GQml6IGJhc2VkIHNvbHV0aW9ucyAmIHNlcnZpY2VzDQogICAgDQogICAgT0VNIC0gVGhl IE9GQml6IEV4dGVuc2lvbnMgTWFya2V0cGxhY2UxDQogICAgaHR0cDovL29lbS5vZmJpemNpLm5l dC9vY2ktMi8NCiAgICAxIG5vdCBhZmZpbGlhdGVkIHRvIChhbmQgbm90IGVuZG9yc2VkIGJ5KSB0 aGUgT0ZCaXogcHJvamVjdA0KICAgIA0KICAgIE9uIFN1biwgRGVjIDEwLCAyMDE3IGF0IDE6MTAg QU0sIEp1c3RpbiBNY2xlYW4gPGp1c3RpbkBjbGFzc3NvZnR3YXJlLmNvbT4NCiAgICB3cm90ZToN CiAgICANCiAgICA+IERlYXIgQXBhY2hlIEluY3ViYXRvciBDb21tdW5pdHksDQogICAgPg0KICAg ID4gUGxlYXNlIGFjY2VwdCB0aGUgZm9sbG93aW5nIHByb3Bvc2FsIGZvciBwcmVzZW50YXRpb24g YW5kIGRpc2N1c3Npb246DQogICAgPiBodHRwczovL3dpa2kuYXBhY2hlLm9yZy9pbmN1YmF0b3Iv UExDNFhQcm9wb3NhbA0KICAgID4NCiAgICA+IFBMQzRYIGlzIGFpbWluZyBhdCBiZWNvbWluZyBh IHNldCBvZiBsaWJyYXJpZXMgcHJvdmlkaW5nIGEgdW5pdmVyc2FsIHdheSB0bw0KICAgID4gYWNj ZXNzIGluZHVzdHJpYWwgcHJvZ3JhbW1hYmxlIGxvZ2ljIGNvbnRyb2xsZXJzLiBXaGlsZSB3ZSBh cmUgY3VycmVudGx5DQogICAgPiB3b3JraW5nDQogICAgPiBoYXJkIG9uIEphdmEgaW1wbGVtZW50 YXRpb25zLCB3ZSBoYXZlIG90aGVyIGxhbmd1YWdlcyBvbiBvdXIgVE9ETyBsaXN0DQogICAgPiAo dGhlcmVmb3JlIDRYIGFuZCBub3QgNEopDQogICAgPg0KICAgID4gQ2hyaXN0b2ZlciBoYXMgYmVl biBwcm92aWRlZCB3aXRoIHRoZSBjaGFuY2UgdG8gaW5pdGlhdGUgdGhpcyBwcm9qZWN0IGFzDQog ICAgPiBwYXJ0DQogICAgPiBvZiBhIHJlc2VhcmNoIHByb2plY3QgYnkgaGlzIGNvbXBhbnkgKGNv ZGVjZW50cmljKS4gSXQncyBjYXVzZWQgcXVpdGUgYQ0KICAgID4gYnV6eg0KICAgID4gaW50ZXJu YWxseSBhbmQgYSBsb3Qgb2YgaGlzIGNvLXdvcmtlcnMgaGF2ZSBzdGFydGVkIGhlbHBpbmcgb3V0 LiBCdXQgdGhleQ0KICAgID4gYWxzbw0KICAgID4gaGF2ZSBiZWVuIGFibGUgdG8gYXR0cmFjdCBj b250cmlidXRvcnMgb3V0c2lkZSBvZiB0aGUgY29tcGFueS4gVGhlcmUgc2VlbXMNCiAgICA+IHRv IGJlDQogICAgPiBxdWl0ZSBhbiBpbnRlcmVzdCBpbiB0aGlzIHRvcGljIGJvdGggd2l0aCBjb21t ZXJjaWFsIGNvbXBhbmllcyBhcyB3aXRoDQogICAgPiByZXNlYXJjaA0KICAgID4gaW5zdGl0dXRl cyBhbmQgdW5pdmVyc2l0aWVzLg0KICAgID4NCiAgICA+IENocmlzdG9mZXIgYXNrZWQgbWUgdG8g YmUgYm90aCBjaGFtcGlvbiBhbmQgb25lIG9mIHRoZSBmb3VyIG1lbnRvcnMgZm9yIHRoZQ0KICAg ID4gcHJvamVjdC4gIFdlIGhhdmUgc2V2ZXJhbCBvdGhlciBBU0YgbWVtYmVycyBpbnZvbHZlZCB3 aG8gaGF2ZSB3b3JrZWQNCiAgICA+IG9uIG11bHRpcGxlIEFwYWNoZSBwcm9qZWN0cyBhbmQgaGF2 ZSBhIGdvb2QgdW5kZXJzdGFuZGluZyBvZiB0aGUgQXBhY2hlDQogICAgPiBXYXkuDQogICAgPg0K ICAgID4gSWYgYW55b25lIGVsc2UgaXMgaW50ZXJlc3RlZCBpbiB0aGlzIHByb2plY3QgYW5kIHdh bnRzIHRvIGJlIGludm9sdmVkIGp1c3QNCiAgICA+IGFzaw0KICAgID4gYW5kIHdl4oCZbGwgYmUg aGFwcHkgdG8gYWRkIHlvdXIgbmFtZSB0byB0aGUgcHJvcG9zYWwuDQogICAgPg0KICAgID4gPSBQ TEM0WFByb3Bvc2FsID0NCiAgICA+DQogICAgPiA9PSBBYnN0cmFjdCA9PQ0KICAgID4NCiAgICA+ IFBMQzRYIGlzIGludGVuZGVkIHRvIGJlY29tZSBhIHNldCBvZiBsaWJyYXJpZXMgZm9yIGNvbW11 bmljYXRpbmcgd2l0aA0KICAgID4gaW5kdXN0cmlhbCBwcm9ncmFtbWFibGUgbG9naWMgY29udHJv bGxlcnMgKFBMQ3MpIHVzaW5nIGEgdmFyaWV0eSBvZg0KICAgID4gcHJvdG9jb2xzDQogICAgPiBi dXQgd2l0aCBhIHNoYXJlZCBBUEkuDQogICAgPg0KICAgID4gRm9yIHRoZSBtb3N0IHVzZWQgb2Yg dGhlc2UgcHJvdG9jb2xzLCBQTEM0WCB3aWxsIHByb3ZpZGUgaW1wbGVtZW50YXRpb25zIG9mDQog ICAgPiBkcml2ZXJzLiBFYWNoIHByb3RvY29sIGRyaXZlciBpcyBoZXJlYnkgcHJvdmlkZWQgYnkg YW4gaW5kaXZpZHVhbCBhcnRpZmFjdC4NCiAgICA+DQogICAgPiBJbiBhIGZpcnN0IHN0ZXAsIHdl IGFyZSBjb25jZW50cmF0aW5nIG9uIEphdmEgYnV0IHdpbGwgYmUgaG9waW5nIHRvIGJlDQogICAg PiBhYmxlIHRvDQogICAgPiBwb3J0IGltcGxlbWVudGF0aW9uIHRvIEMgYW5kIG90aGVyIGxhbmd1 YWdlcy4NCiAgICA+DQogICAgPiA9PSBCYWNrZ3JvdW5kID09DQogICAgPg0KICAgID4gSW5kdXN0 cmlhbCBtYWNoaW5lcyBoYXZlIGJlZW4gY29udHJvbGxlZCBieSBQTENzIGZvciBtb3JlIHRoYW4g MzAgeWVhcnMuIEluDQogICAgPiBzaW1wbGVyIHBpZWNlcyBvZiBtYWNoaW5lcnkgdGhlc2UgbWF5 IG9wZXJhdGUgYXV0b25vbW91c2x5LCBpbiBtb3JlIGNvbXBsZXgNCiAgICA+IG9uZXMgc2V2ZXJh bCB0byBodW5kcmVkcyBvZiB0aGVzZSBpbmR1c3RyaWFsIGNvbXB1dGVycyBjb21tdW5pY2F0ZSB3 aXRoDQogICAgPiBlYWNoDQogICAgPiBvdGhlci4NCiAgICA+DQogICAgPiA9PSBSYXRpb25hbGUg PT0NCiAgICA+DQogICAgPiBDdXJyZW50bHkgc29mdHdhcmUgZm9yIGNvbW11bmljYXRpbmcgd2l0 aCBQTENzIGlzIG1haW5seSBwcm9wcmlldGFyeQ0KICAgID4gc29mdHdhcmUNCiAgICA+IGFuZCBh IHdob2xlIGVjb3N5c3RlbSBvZiBjbG9zZWQtc291cmNlIHNvbHV0aW9ucyBleGlzdC4gVXN1YWxs eSB0aGlzDQogICAgPiBzb2Z0d2FyZQ0KICAgID4gaXMgdmVyeSBleHBlbnNpdmUgYW5kIGxpY2Vu c2luZyBpbXBsaWVzIGEgbG90IG9mIHJlc3RyaWN0aW9ucyBvbiBpdHMgdXNhZ2UuDQogICAgPiBU aGVyZSBpcyBhIHNtYWxsIHNldCBvZiBvcGVuLXNvdXJjZSBsaWJyYXJpZXMgYXZhaWxhYmxlLCBi dXQgdW5mb3J0dW5hdGVseQ0KICAgID4gbW9zdA0KICAgID4gb2YgdGhlc2UgYXJlIEdQTCBsaWNl bnNlZCBhbmQgaGVyZWJ5IGRpc3F1YWxpZnkgdGhlbXNlbHZlcyBmcm9tIGNvbW1lcmNpYWwNCiAg ICA+IHVzZS4NCiAgICA+IE1vc3Qgb2YgdGhlc2UgYXJlIGRpcmVjdCBwb3J0cyBmcm9tIEMvQysr IGltcGxlbWVudGF0aW9ucyBhbmQgdGhlcmVmb3JlDQogICAgPiBpbmhlcml0DQogICAgPiB0aGVp ciBBUEkuIFVzdWFsbHkgdGhlc2UgYXJlIGltcGxlbWVudGVkIGJsb2NraW5nIHNvY2tldCBvcGVy YXRpb25zIGFuZA0KICAgID4gaGF2ZQ0KICAgID4gZ3JlYXQgcHJvYmxlbXMgd2l0aCBjb25jdXJy ZW5jeS4gQWxzbywgdGhlIEFQSXMgb2YgdGhlc2UgdG9vbHMgZGlmZmVyDQogICAgPiBxdWl0ZSBh DQogICAgPiBsb3QsIHNvIHBvcnRpbmcgYSBzb2Z0d2FyZSBmcm9tIGNvbW11bmljYXRpbmcgd2l0 aCBvbmUgdHlwZSBvZiBQTEMgdG8NCiAgICA+IGFub3RoZXINCiAgICA+IHNvbWV0aW1lcyByZXF1 aXJlcyByZS13cml0aW5nIGEgZ3JlYXQgcGFydCBvZiB0aGUgc29mdHdhcmUuDQogICAgPg0KICAg ID4gVGhlcmUgYXJlIG11bHRpcGxlIHJhdGlvbmFsZXMgYmVoaW5kIHRoaXMgcHJvamVjdDoNCiAg ICA+DQogICAgPiAgMS4gQnkgcHJvdmlkaW5nIGxpYnJhcmllcyB3aXRoIEFwYWNoZSBsaWNlbnNl LCBpdCB3aWxsIGJlIHBvc3NpYmxlIHRvDQogICAgPiBjcmVhdGUNCiAgICA+IGNvbW1lcmNpYWwg YXBwbGljYXRpb25zIHdoaWNoIGFjY2VzcyBQTENzDQogICAgPiAgMi4gQnkgcHJvdmlkaW5nIGEg dW5pdmVyc2FsIEFQSSBmb3IgZGlmZmVyZW50IHByb3RvY29scywgaXQgcmVkdWNlcyB0aGUNCiAg ICA+IHZlbmRvcg0KICAgID4gbG9jay1pbiB3aGVuIGNyZWF0aW5nIHNvZnR3YXJlDQogICAgPiAg My4gTW9zdCBvZiB0aGUgcHJvcHJpZXRhcnkgY29tbWVyY2lhbCBzb2x1dGlvbnMgYXJlIGJhc2Vk IG9uIFdpbmRvd3MNCiAgICA+IHN5c3RlbXMsDQogICAgPiBlc3BlY2lhbGx5IHRoZSBTaWVtZW5z IHNvbHV0aW9ucywgc29tZXRpbWVzIHJlcXVpcmUgbWFpbnRhaW5pbmcgdW4tcGF0Y2hlZA0KICAg ID4gdmVyc2lvbnMgb2Ygb2xkZXIgV2luZG93cyB2ZXJzaW9uIGluIG9yZGVyIHRvIHJ1biwgdGhp cyBpcyBhIGh1Z2Ugc2VjdXJpdHkNCiAgICA+IHJpc2sNCiAgICA+IChTZWUgU3R1eG5ldCkNCiAg ICA+ICA0LiBNb3N0IG9mIHRoZSBwcm9wcmlldGFyeSBjb21tZXJjaWFsIHNvbHV0aW9ucyBkb24n dCBzY2FsZS4gUnVubmluZyB0aGVtDQogICAgPiBpbg0KICAgID4gcHVibGljL3ByaXZhdGUgY2xv dWRzIGFuZC9vciBpbiBjb250YWluZXJzIGlzIGNvbXBsZXRlbHkgb3V0IG9mIHRoZQ0KICAgID4g cXVlc3Rpb24uDQogICAgPg0KICAgID4gQXMgYSByZXN1bHQgb2YgYWJvdmUsIGl0IHdvdWxkIGJl IHBvc3NpYmxlIHRvIHN0YXJ0IHdyaXRpbmcgc2VjdXJlLA0KICAgID4gc2NhbGFibGUNCiAgICA+ IGFuZCByZWxpYWJsZSBzb2Z0d2FyZSB1c2luZyB0aGUgZnVsbCBzdGFjayBvZiBvcGVuLXNvdXJj ZSBzb2x1dGlvbnMgYW5kDQogICAgPiBoZXJlYnkNCiAgICA+IG9wZW4gYSBjb21wbGV0ZSBuZXcg bWFya2V0IGZvciBkZXZlbG9wZXJzLiBJbiBvcmRlciB0byBtYWtlIHRoaXMgZXZlbg0KICAgID4g ZWFzaWVyLA0KICAgID4gd2UgYXJlIHBsYW5uaW5nIG9uIGRpcmVjdGx5IHByb3ZpZGluZyBhZGFw dGVycyBhbmQgZXhhbXBsZXMgZm9yIHVzaW5nIFBMQzRYDQogICAgPiB0b2dldGhlciB3aXRoIG90 aGVyIEFwYWNoZSBmcmFtZXdvcmtzLg0KICAgID4NCiAgICA+ID09IEluaXRpYWwgR29hbHMgPT0N CiAgICA+DQogICAgPiBEZXZlbG9wIGEgdW5pdmVyc2FsIEFQSSBmb3IgYWNjZXNzaW5nIGluZHVz dHJpYWwgcHJvZ3JhbW1hYmxlIGxvZ2ljDQogICAgPiBjb250cm9sbGVycw0KICAgID4gaW4gYSBw cm90b2NvbC1hZ25vc3RpYyB3YXkuIEFsc28gaW1wbGVtZW50IEphdmEgdmVyc2lvbnMgb2YgZHJp dmVycyBmb3IgdGhlDQogICAgPiBtb3N0IHByb21pbmVudCBwcm90b2NvbHM6IFM3LCBNb2RidXMg YW5kIE9QQy1VQSAtIGJ1dCBub3QgbGltaXRlZCB0bw0KICAgID4gdGhvc2UuIE9uDQogICAgPiB0 aGUgc2lkZSBvZiB0aGUgYWRhcHRlcnMsIGZvciBleGlzdGluZyBPUyBzb2x1dGlvbnMsIHdlIGFy ZSBjdXJyZW50bHkNCiAgICA+IHdvcmtpbmcNCiAgICA+IG9uIGFkYXB0ZXJzIGZvcjogQXBhY2hl IEVkZ2VudCAoaW5jdWJhdGluZyksIEFwYWNoZSBDYW1lbCBhbmQgZXZlbnR1YWxseQ0KICAgID4g ZXZlbg0KICAgID4gQXBhY2hlIEJyb29rbHluLg0KICAgID4NCiAgICA+IEFsc28sIHdlIHdpbGwg YmUgcHJvdmlkaW5nIGEgU2NhbGEgd3JhcHBlciB0byBlYXNlIGludGVncmF0aW9uIG9mIFBMQzRY IGluDQogICAgPiBTY2FsYSBiYXNlZCBzeXN0ZW1zIHdpdGggYW4gQVBJIFNjYWxhIGRldmVsb3Bl cnMgc2hvdWxkIGVhc2lseSBhZG9wdC4NCiAgICA+DQogICAgPiBBcyBzb29uIGFzIGEgQyB2ZXJz aW9uIGV4aXN0cywgd2UgYXJlIHBsYW5uaW5nIG9uIHByb3ZpZGluZyBhbiBBcGFjaGUNCiAgICA+ IE15bmV3dA0KICAgID4gYWRhcHRlciBhcyB3ZSBzZWUgZ3JlYXQgYmVuZWZpdHMgb24gdGhpcyBj b21iaW5hdGlvbi4NCiAgICA+DQogICAgPiA9PSBDdXJyZW50IFN0YXR1cyA9PQ0KICAgID4NCiAg ICA+ID09PSBNZXJpdG9jcmFjeSA9PT0NCiAgICA+DQogICAgPiBQTEM0WCB3YXMgaW5pdGlhbGx5 IGNyZWF0ZWQgYnkgQ2hyaXN0b2ZlciBEdXR6LiBIZSBpcyBhbiBBcGFjaGUgTWVtYmVyIGFuZA0K ICAgID4gYWxzbw0KICAgID4gaW52b2x2ZWQgaW4gYSB2YXJpZXR5IG9mIEFwYWNoZSBhbmQgTm9u LUFwYWNoZSBPcGVuLVNvdXJjZSBwcm9qZWN0cy4gQmVpbmcNCiAgICA+IFBNQw0KICAgID4gb2Yg dGhlIEFwYWNoZSBGbGV4LCBBcGFjaGUgS2liYmxlIGFuZCB0aGUgQXBhY2hlIFRyYXZlbCBBc3Np c3RhbmNlIGhlDQogICAgPiBkZWZpbml0ZWx5IGtub3dzIGhvdyBBcGFjaGUgd29ya3MgYW5kIGlz IGEgc3Ryb25nIGFkdm9jYXRlIG9mIHRoZSBBcGFjaGUNCiAgICA+IFdheS4NCiAgICA+IEhlIGlz IGFsc28gY3VycmVudGx5IGhlbHBpbmcgdGhlIEFwYWNoZSBFZGdlbnQgcHJvamVjdCBhcyBtZW1i ZXIgb2YgdGhlDQogICAgPiBQUE1DLg0KICAgID4gSG93ZXZlciwgdGhlIHRlYW0gd29ya2luZyBv biBQTEM0WCBhbHNvIGluY2x1ZGVzIGEgZGl2ZXJzZSBzZXQgb2YNCiAgICA+IGFkZGl0aW9uYWwN CiAgICA+IEFwYWNoZSBDb21taXR0ZXJzIGFuZCBNZW1iZXJzIGFzIHdlbGwgYXMgcGVvcGxlLCB0 aGF0IGFyZSBub3QgeWV0DQogICAgPiBhZmZpbGlhdGVkDQogICAgPiB3aXRoIGFueSBBcGFjaGUg cHJvamVjdC4gVGhlIHRlYW0gd29ya2luZyBvbiBQTEM0WCBhcmUgYm90aCB3b3JraW5nIGZvcg0K ICAgID4gY29kZWNlbnRyaWMgYXMgd2VsbCBhcyBvdGhlciBlbnRpdGllcywgc3VjaCBhcyBjb21t ZXJjaWFsIGNvbXBhbmllcyBhcw0KICAgID4gd2VsbCBhcw0KICAgID4gdW5pdmVyc2l0aWVzLg0K ICAgID4NCiAgICA+ID09PSBDb21tdW5pdHkgPT09DQogICAgPg0KICAgID4gQ3VycmVudGx5IHRo ZSBQTEM0WCBjb21tdW5pdHkgZXhpc3RzIG91dCBvZiBhIHNldCBvZiBjb3JlIGRldmVsb3BlcnMN CiAgICA+IHdvcmtpbmcgb24NCiAgICA+IGEgcHJpdmF0ZSBjb2RlIHJlcG9zaXRvcnkgcHJvdmlk ZWQgYnkgY29kZWNlbnRyaWMgKHRoZSBjb21wYW55IENocmlzdG9mZXINCiAgICA+IER1dHoNCiAg ICA+IGlzIHdvcmtpbmcgZm9yKS4gSG93ZXZlciwgdGhlIHNldCBvZiBkZXZlbG9wZXJzLCB3b3Jr aW5nIG9uIFBMQzRYIGlzIG5vdA0KICAgID4gbGltaXRlZCB0byBjb2RlY2VudHJpYyBlbXBsb3ll ZXMgYXMgd2UgYXJlIGFsc28gaW52aXRpbmcgb3V0c2lkZQ0KICAgID4gY29udHJpYnV0b3JzLg0K ICAgID4NCiAgICA+IFRoZSBtYWluIHJlYXNvbiBmb3IgdXNpbmcgYSBwcml2YXRlIHJlcG8gaW5z dGVhZCBvZiBhIHB1YmxpYyBvbmUsIGlzIHRoYXQNCiAgICA+IHdlDQogICAgPiB3ZXJlIHBsYW5u aW5nIG9uIHN0YXJ0aW5nIGluY3ViYXRpb24gYXQgQXBhY2hlIHdpdGhpbiBhIGZldyB3ZWVrcyBh ZnRlcg0KICAgID4gaW5pdGlhdGluZyB0aGUgcHJvamVjdC4gVGhlcmVmb3JlLCB3ZSB3YW50ZWQg dG8gc3RhcnQgd3JpdGluZyBldmVyeXRoaW5nDQogICAgPiB3aXRoDQogICAgPiBBcGFjaGUgcGFj a2FnZSBuYW1lcyBhbmQgQXBhY2hlIE1hdmVuIGNvb3JkaW5hdGVzLiBFdmVuIG91ciBsb2dvIGlz DQogICAgPiBkaXJlY3RseQ0KICAgID4gZGVzaWduZWQgaW5jbHVkaW5nIHRoZSBBcGFjaGUgRmVh dGhlciBhbmQgIkFwYWNoZSIgaW5zaWRlIHRoZSBuYW1lLiBBcyBvbmx5DQogICAgPiByZWFsIEFw YWNoZSBwcm9qZWN0cyBhcmUgYWxsb3dlZCB0byB1c2UgIkFwYWNoZSIsIHdlIGRlY2lkZWQgdG8g Z28gZG93biB0aGUNCiAgICA+IHByaXZhdGUgcmVwb3NpdG9yeSBwYXRoLg0KICAgID4NCiAgICA+ ID09PSBDb3JlIERldmVsb3BlcnMgPT09DQogICAgPg0KICAgID4gKEluIGFscGhhYmV0aWNhbCBv cmRlcikNCiAgICA+DQogICAgPiAgKiBCZW5lZGlrdCBSaXR0ZXIgKGNvZGVjZW50cmljKSAoQXBh Y2hlIE1lbWJlcikNCiAgICA+ICAqIENocmlzdG9mZXIgRHV0eiAoY29kZWNlbnRyaWMpIChBcGFj aGUgTWVtYmVyKQ0KICAgID4gICogRGFsZSBMYUJvc3NpZXJlIChJQk0pIChQUE1DIE1lbWJlciBv ZiB0aGUgQXBhY2hlIEVkZ2VudCBpbmN1YmF0b3INCiAgICA+IHBvZGxpbmcpDQogICAgPiAgKiBG cmFuayBTdGliYW5lIChjb2RlY2VudHJpYykNCiAgICA+ICAqIEdyZWcgVHJhc3VrIChXZWIgQWdl IFNvbHV0aW9ucykgKEFwYWNoZSBNZW1iZXIpDQogICAgPiAgKiBKdXN0aW4gTWNMZWFuIChFeHRl cm5hbCkgKEFwYWNoZSBNZW1iZXIpDQogICAgPiAgKiBLYWkgSGVyaW5ncyAoY29kZWNlbnRyaWMp DQogICAgPiAgKiBMdWthcyBGcmllZHJpY2hzZW4gKEhvY2hzY2h1bGUgQm9jaHVtKQ0KICAgID4g ICogTWFyayBLZWluaMO2cnN0ZXIgKGNvZGVjZW50cmljKQ0KICAgID4gICogUm9sZiBGZWxrZXIg KGNvZGVjZW50cmljKQ0KICAgID4gICogU2ViYXN0aWFuIFLDvGhsIChjb2RlY2VudHJpYykNCiAg ICA+DQogICAgPiA9PT0gQWxpZ25tZW50ID09PQ0KICAgID4NCiAgICA+IFRoZSBidWlsZCBzeXN0 ZW0gaXMgYmFzZWQgb24gQXBhY2hlIE1hdmVuLiBBbHNvLCBpdCB1c2VzIEFwYWNoZSBFZGdlbnQN CiAgICA+IChpbmN1YmF0aW5nKSBhbmQgQXBhY2hlIENhbWVsIGxpYnJhcmllcyBmb3IgcHJvdmlk aW5nIGFkYXB0ZXJzIHRvIHRoZXNlDQogICAgPiBzeXN0ZW1zLiBCZWluZyBhIGZ1bGwtYmxvd24g QXBhY2hlIGVudGh1c2lhc3QsIGZvciBDaHJpc3RvZmVyIHRoZXJlIGhhc24ndA0KICAgID4gYmVl bg0KICAgID4gYW55IHRob3VnaHQgaW4gYnJpbmdpbmcgdGhpcyBwcm9qZWN0IGludG8gYW55IG90 aGVyIGNvbGxhYm9yYXRpb24gcGxhdGZvcm0NCiAgICA+IG9yDQogICAgPiBmb3VuZGF0aW9uLiBU aGlzIGlkZWEgaXMgc2hhcmVkIGJ5IGEgYmlnIG1ham9yaXR5IG9mIHRoZSBjb3JlIGNvbnRyaWJ1 dG9ycy4NCiAgICA+DQogICAgPiA9PT0gUHJvamVjdCBOYW1lID09PQ0KICAgID4NCiAgICA+IEFz IHdlIGtub3cgdGhhdCByZW5hbWluZyBhIGNvZGViYXNlIGNhbiBiZSBhIGh1Z2UgcGFpbiwgd2Ug aGF2ZSBpbnZlc3RlZA0KICAgID4gcXVpdGUNCiAgICA+IGEgbG90IG9mIHRpbWUgaW50byBmaW5k aW5nIGEgc3VpdGFibGUgbmFtZS4gSW4gdGhlIGVuZCwgd2UgY2FtZSB1cCB3aXRoIGENCiAgICA+ IGxpc3QNCiAgICA+IG9mIGFib3V0IDIwIHByb2plY3QgbmFtZXMsIHdoaWNoIHdlIGRpZCB0aGUg ZnVsbHkgcmVxdWlyZWQgYmFja2dyb3VuZA0KICAgID4gY2hlY2tzDQogICAgPiBmb3IuIE9uIHRo ZSBvcHRpb25zIHN1cnZpdmluZyB0aGVzZSBjaGVja3MsIHdlIGludGVybmFsbHkgdm90ZWQgb24g dGhlDQogICAgPiBuYW1lLiBJdA0KICAgID4gd2FzIGEgcHJldHR5IGNsb3NlIHRpZSBiZXR3ZWVu IFBMQzRKIGFuZCBQTEM0WCwgYnV0IHdlIGRlY2lkZWQgdG8gZ28gZm9yDQogICAgPiB0aGUNCiAg ICA+IGxhdGVyIGFzIHdlIGFyZSBwbGFubmluZyBvbiBwcm92aWRpbmcgbGlicmFyaWVzIGZvciBt dWx0aXBsZSBsYW5ndWFnZXMNCiAgICA+IGJleW9uZA0KICAgID4gSmF2YS4NCiAgICA+DQogICAg PiBQTEM0WCBoYXMgbm8gcmVnaXN0ZXJlZCB0cmFkZW1hcmtzIHRoYXQgd2UgY291bGQgZmluZCBh bmQgdGhlIG9ubHkNCiAgICA+IHBvdGVudGlhbA0KICAgID4gcHJvYmxlbSB3b3VsZCBiZSBhIGhh cmR3YXJlIExQVCBCcmVha291dCBCb2FyZCBieSBhIFJ1c3NpYW4gQ29tcGFueSBjYWxsZWQNCiAg ICA+IFB1cmVsb2dpYyAoaHR0cHM6Ly9wdXJlbG9naWMucnUvZG9jL1BERi9Db250cm9sbGVyL1BM QzR4LnBkZikgRW5nbGlzaA0KICAgID4gdmVyc2lvbg0KICAgID4gKGh0dHA6Ly93d3cuemFwcGF1 dG9tYXRpb24uY28udWsvcHJvZHVjdGF0dGFjaG1lbnRzL2luZGV4L2Rvd25sb2FkP2lkPTk5KQ0K ICAgID4gQnV0IHdlIGRvbid0IHNlZSBhbnkgcHJvYmxlbXMgdG8gYXJpc2UgZnJvbSB0aGlzLiBJ ZiB0aGVyZSB3b3VsZCBiZQ0KICAgID4gcHJvYmxlbXMsDQogICAgPiB3ZSB3b3VsZCBwcm9iYWJs eSBmYWxsYmFjayB0byB1c2luZyBQTEM0Siwgd2hpY2ggaGFkIG5vIGNvbmZsaWN0cyBhdCBhbGwN CiAgICA+IGFuZA0KICAgID4gd291bGQgZXZlbnR1YWxseSBuYW1lIG91ciBzdWItcHJvZHVjdHMg UExDNFMgKFNjYWxhKSBhbmQgUExDNEMgKEMvQysrKS4NCiAgICA+DQogICAgPiA9PSBLbm93biBS aXNrcyA9PQ0KICAgID4NCiAgICA+ID09PSBPcnBoYW5lZCBwcm9qZWN0cyA9PT0NCiAgICA+DQog ICAgPiBQTEM0WCBpcyBhIG5ldyBQcm9qZWN0LCB3aGljaCBoYXMganVzdCBiZWVuIHN0YXJ0ZWQu IFRoZSBmZWVkYmFjayBmcm9tIHRoZQ0KICAgID4gaW5kdXN0cnkgaGFzIGJlZW4gb3ZlcndoZWxt aW5nIHNvIHRoZSByaXNrIG9mIHRoZSBwcm9qZWN0IGJlaW5nIG9ycGhhbmVkIGlzDQogICAgPiBt aW5pbWFsLg0KICAgID4NCiAgICA+ID09PSBJbmV4cGVyaWVuY2Ugd2l0aCBPcGVuIFNvdXJjZSA9 PT0NCiAgICA+DQogICAgPiBUaGUgc2V0IG9mIGNvcmUgZGV2ZWxvcGVycyBvZiB0aGlzIHByb2pl Y3QgY29uc2lzdHMgb2YgYSBsYXJnZSBzZXQgb2YNCiAgICA+IGV4cGVyaWVuY2VkIG9wZW4tc291 cmNlIGRldmVsb3BlcnMsIG1vc3Qgb2YgdGhlc2UgZXZlbiBiZWluZyBBcGFjaGUNCiAgICA+IE1l bWJlcnMuDQogICAgPg0KICAgID4gPT09IEhvbW9nZW5lb3VzIERldmVsb3BlcnMgPT09DQogICAg Pg0KICAgID4gRXZlbiBpZiBhIGJpZyBwYXJ0IG9mIHRoZSBwcm9qZWN0cyBpbml0aWFsIGNvbW1p dHRlciB0ZWFtIGlzIGFmZmlsaWF0ZWQNCiAgICA+IHdpdGgNCiAgICA+IGNvZGVjZW50cmljLCB3 ZSBoYXZlIGJlZW4gc3VjY2Vzc2Z1bCBhbmQgY29udGludWluZyB0byBiZSBpbiBhY3RpdmVseQ0K ICAgID4gcmVjcnVpdGluZyBwZW9wbGUgZnJvbSBvdGhlciBjb21tZXJjaWFsIGFuZCBub24tY29t bWVyY2lhbCBlbnRpdGllcy4NCiAgICA+DQogICAgPiA9PT0gUmVsaWFuY2Ugb24gU2FsYXJpZWQg RGV2ZWxvcGVycyA9PT0NCiAgICA+DQogICAgPiBDdXJyZW50bHkgb25seSBDaHJpc3RvZmVyIER1 dHogaXMgYmVpbmcgcGFpZCB0byB3b3JrIG9uIHRoaXMgcHJvamVjdA0KICAgID4gZXhjbHVzaXZl bHkuDQogICAgPg0KICAgID4gPT09IFJlbGF0aW9uc2hpcHMgd2l0aCBPdGhlciBBcGFjaGUgUHJv ZHVjdHMgPT09DQogICAgPg0KICAgID4gUExDNFggbWFrZXMgZ3JlYXQgdXNlZCBvZiBBcGFjaGUg TWF2ZW4gZm9yIHRoZSBidWlsZCBzeXN0ZW0gYW5kIEFwYWNoZQ0KICAgID4gQ29tbW9ucw0KICAg ID4gZm9yIHByb3ZpZGluZyBhIGxvdCBvZiBiYXNpYyBmdW5jdGlvbmFsaXR5Lg0KICAgID4NCiAg ICA+IEFsc28gZG9lcyBpdCBjdXJyZW50bHkgaGF2ZSBkaXJlY3QgcmVsYXRpb25zIHRvIHRoZSBB cGFjaGUgQ2FtZWwgYW5kIEFwYWNoZQ0KICAgID4gRWRnZW50IHByb2plY3RzIGFzIGl0IHByb3Zp ZGVzIG1vZHVsZXMgZm9yIGRpcmVjdCBpbnRlZ3JhdGlvbiBvZiBQTEM0WCBpbnRvDQogICAgPiB0 aGVzZSBmcmFtZXdvcmtzLg0KICAgID4NCiAgICA+IEluIHRoZSBmdXR1cmUgd2UgYXJlIHBsYW5u aW5nIG9uIGFsc28gYWRkaW5nIHN1Y2ggbW9kdWxlcyBmb3IgQXBhY2hlDQogICAgPiBCcm9va2x5 bg0KICAgID4gYW5kIGFzIHNvb24gYXMgYSBDLWJhc2VkIHZlcnNpb24gb2YgUExDNFggaXMgYXZh aWxhYmxlIEFwYWNoZSBNeW5ld3QuDQogICAgPg0KICAgID4gQ3VycmVudGx5IHRoZXJlIGlzIG5v IGNvbXBldGluZyBwcm9qZWN0IGF0IHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbi4NCiAg ICA+DQogICAgPiA9PT0gQW4gRXhjZXNzaXZlIEZhc2NpbmF0aW9uIHdpdGggdGhlIEFwYWNoZSBC cmFuZCA9PT0NCiAgICA+DQogICAgPiBXZSBhcmUgY2VydGFpbiB0aGF0IFBMQzRYIGl0c2VsZiB3 aWxsIHByb2ZpdCBmcm9tIGJlaW5nIGFuIG9mZmljaWFsIEFwYWNoZQ0KICAgID4gcHJvamVjdCwg aW4gdGVybXMgb2YgYXR0cmFjdGluZyBhIGNvbW11bml0eSBhbmQgZXN0YWJsaXNoaW5nIGEgc29s aWQgZ3JvdXANCiAgICA+IG9mDQogICAgPiBkZXZlbG9wZXJzIGFuZCB1c2VycywgYnV0IGFsc28g dG8gZWFzZSB0aGUgaW50ZXJhY3Rpb24gd2l0aCBvdGhlciBBcGFjaGUNCiAgICA+IHByb2plY3Rz LCB1c2VkIGluIFBMQzRYIG9yIHByb2plY3QgUExDNFggcHJvdmlkZXMgYWRhcHRlcnMgZm9yIGFz IGFsbCB3aWxsDQogICAgPiBzaGFyZSB0aGUgc2FtZSBiYXNlLg0KICAgID4NCiAgICA+IE91ciBn ZW5lcmFsIGJlbGllZiBpbiB0aGUgQXBhY2hlIHdheSBhcyB3ZWxsIGFzIHRoZSByZWFzb25zIG1l bnRpb25lZA0KICAgID4gYWJvdmUgYXJlDQogICAgPiB0aGUgbWFpbiByZWFzb25zIGZvciB1cyB0 byBzZW5kIHRoaXMgcHJvcG9zYWwuIFdlIHRoaW5rIHRoYXQgYSBnb29kDQogICAgPiBjb21tdW5p dHkNCiAgICA+IGlzIG5lZWRlZCB0byBidWlsZCBhbmQgbWFpbnRhaW4gZ29vZCBzb2Z0d2FyZSwg c3VjaCBhcyBQTEM0WC4gQWxzbyBkbyB3ZQ0KICAgID4gbmVlZCBhDQogICAgPiBiaWcgY29tbXVu aXR5IHRvIHN1cHBvcnQgYSBiaWcgdmFyaWV0eSBvZiBzeXN0ZW1zLiBIb3dldmVyLCBldmVuIGlm IFBMQzRYDQogICAgPiB3b3VsZA0KICAgID4gbm90IGJlIGFjY2VwdGVkLCBkZXZlbG9wbWVudCB3 b3VsZCBkZWZpbml0ZWx5IGNvbnRpbnVlIGVsc2V3aGVyZS4gQXBhY2hlIGlzDQogICAgPiBqdXN0 IG91ciBwcmltYXJ5IGZvdW5kYXRpb24gb2YgY2hvaWNlLiBBcyBzdWNoLCB0aGVyZSBpcyBubyBu ZWVkIHRvLCBvcg0KICAgID4gcmVhc29uDQogICAgPiB0bywgImFidXNlIiB0aGUgQXBhY2hlIEJy YW5kLg0KICAgID4NCiAgICA+ID09PSBQb3NzaWJpbGl0eSBvZiBsZWdhbCBhY3Rpb25zID09PQ0K ICAgID4NCiAgICA+IFNvbWUgb2YgdGhlIHByb3RvY29scyBhcmUgbm90IHB1YmxpY2x5IGRlZmlu ZWQuIEV4aXN0aW5nIG9wZW4tc291cmNlDQogICAgPiBpbXBsZW1lbnRhdGlvbnMgY29udGFpbiBs aWNlbnNpbmcgcmVzdHJpY3Rpb25zLiBUbyBhdm9pZCBsaWNlbnNpbmcgaXNzdWVzDQogICAgPiB3 ZQ0KICAgID4gbWFkZSBzdXJlIHRoZSBsaWNlbnNlIG9mIGluZm9ybWF0aW9uIHVzZWQgdG8gaW1w bGVtZW50IGRyaXZlcnMgaW4gUExDNFggYXJlDQogICAgPiBjb21wYXRpYmxlIHdpdGggdGhlIEFw YWNoZSBsaWNlbnNlIGFuZCBhZGRlZCByZWZlcmVuY2VzIHRvIHRoZXNlIHNvdXJjZXMNCiAgICA+ IGluIHRoZQ0KICAgID4gcHJvamVjdCBkb2N1bWVudGF0aW9uIHRvIHByb3ZlIHRoaXMuIFRoaXMg ZG9jdW1lbnRhdGlvbiBpcyBwYXJ0IG9mIHRoZQ0KICAgID4gY29kZWJhc2UuIFdlIGFyZSB0aGVy ZWZvcmUgbm90IGV4cGVjdGluZyBhbnkgcmVhbCBwcm9ibGVtcyBvbiB0aGlzIHNpZGUuDQogICAg Pg0KICAgID4gPT09IFRlc3Qgc2V0dXAgY291bGQgcmVxdWlyZSBoYXJkd2FyZSA9PT0NCiAgICA+ DQogICAgPiBBIHRlc3Qtc3VpdGUgZm9yIFBMQzRYIGNvdWxkIGludm9sdmUgdGVzdHMgcnVuIGFn YWluc3QgdmlydHVhbCBvciByZWFsDQogICAgPiBoYXJkd2FyZS4gSXQgY291bGQgYmUgcHJvYmxl bWF0aWMgdG8gaW5jbHVkZSB0aGVzZSBpbiBhdXRvbWF0ZWQgYnVpbGRzIHJ1bg0KICAgID4gb24N CiAgICA+IGJ1aWxkLmFwYWNoZS5vcmcsIGJ1dCBBcGFjaGUgaW5mcmEgaGF2ZSBhbHJlYWR5IHNp Z25hbGVkIHRoYXQgdGhlcmUNCiAgICA+IHNob3VsZCBiZQ0KICAgID4gb3B0aW9ucyB0byB3b3Jr IHRoaXMgb3V0Lg0KICAgID4NCiAgICA+ID09IERvY3VtZW50YXRpb24gPT0NCiAgICA+DQogICAg PiBDdXJyZW50bHkgYWxsIGRvY3VtZW50YXRpb24gYW5kIGluZm9ybWF0aW9uIGlzIHN0b3JlZCBh bG9uZ3NpZGUgdGhlIGNvZGUNCiAgICA+IGluIGENCiAgICA+IHByaXZhdGUgY29ycG9yYXRlIEdJ VCByZXBvc2l0b3J5IGFuZCBpcyBhdmFpbGFibGUgYXMgcGFydCBvZiB0aGUgd2Vic2l0ZQ0KICAg ID4gd2hpY2gNCiAgICA+IGlzIGdlbmVyYXRlZCBhcyBwYXJ0IG9mIHRoZSBidWlsZC4NCiAgICA+ DQogICAgPiA9PSBJbml0aWFsIFNvdXJjZSA9PQ0KICAgID4NCiAgICA+IERldmVsb3BtZW50IG9m IFBMQzRYIHN0YXJ0ZWQgYXQgY29kZWNlbnRyaWMgaW4gT2N0b2JlciBvZiAyMDE3LiBUaGUgc291 cmNlDQogICAgPiBjdXJyZW50bHkgaXMgbG9jYXRlZCBvbiBhIHByaXZhdGUgY29ycG9yYXRlIEdJ VCByZXBvc2l0b3J5LiBBbGwgdGhlIGNvZGUgaXMNCiAgICA+IGF2YWlsYWJsZSBhdCBodHRwczov L2dpdGxhYi5jb2RlY2VudHJpYy5kZS9pb3QvcGxjNHggKEFjY291bnRzIGNhbiBiZQ0KICAgID4g Y3JlYXRlZA0KICAgID4gb24gYSByZXF1ZXN0IGJhc2lzKQ0KICAgID4NCiAgICA+ID09IFNvdXJj ZSBhbmQgSW50ZWxsZWN0dWFsIFByb3BlcnR5IFN1Ym1pc3Npb24gUGxhbiA9PQ0KICAgID4NCiAg ICA+IFBMQzRYIGlzIGN1cnJlbnRseSBtYWlubHkgZGV2ZWxvcGVkIGJ5LCBidXQgbm90IGxpbWl0 ZWQgdG8sIGNvZGVjZW50cmljDQogICAgPiBlbXBsb3llZXMuIEhvd2V2ZXIsIGFsbCBjb2RlIGhh cyBiZWVuIGRldmVsb3BlZCBjb21wbGV0ZWx5IGZyb20gc2NyYXRjaCBpdA0KICAgID4gd2FzDQog ICAgPiBlbnN1cmVkIGZyb20gdGhlIHN0YXJ0IHRoYXQgZWFjaCBkb2N1bWVudCBpcyBhbHJlYWR5 IGZ1bGx5IGxpY2Vuc2VkIHVuZGVyDQogICAgPiB0aGUNCiAgICA+IEFwYWNoZSAyLjAgbGljZW5z ZS4gQWxsIHNvdXJjZSB3aWxsIGJlIGRvbmF0ZWQgdG8gQXBhY2hlIHdpdGhvdXQgYW55DQogICAg PiBleGNlcHRpb25zLg0KICAgID4NCiAgICA+ID09IEV4dGVybmFsIERlcGVuZGVuY2llcyA9PQ0K ICAgID4NCiAgICA+ICAqIEFwYWNoZSBDb21tb25zLUlPLCBBcGFjaGUgTGljZW5zZSAyLjANCiAg ICA+ICAqIEFwYWNoZSBFZGdlbnQsIEFwYWNoZSBMaWNlbnNlIDIuMA0KICAgID4gICogTmV0dHks IEFwYWNoZSBMaWNlbnNlIDIuMA0KICAgID4gICogTWV0cmljcyBDb3JlLCBBcGFjaGUgTGljZW5z ZSAyLjANCiAgICA+ICAqIEdvb2dsZSBHc29uLCBBcGFjaGUgTGljZW5zZSAyLjANCiAgICA+DQog ICAgPiBUaGVzZSBzb3VyY2VzIGNhbiBiZSBpbmNsdWRlZCwgYWNjb3JkaW5nIHRvDQogICAgPiBo dHRwOi8vd3d3LmFwYWNoZS5vcmcvbGVnYWwvcmVzb2x2ZWQuaHRtbA0KICAgID4NCiAgICA+ICAq IExvZ2JhY2ssIEVQTCAxLjANCiAgICA+DQogICAgPiBUaGlzIHNvdXJjZSBjYW4gTk9UIGJlIGlu Y2x1ZGVkLCBhY2NvcmRpbmcgdG8NCiAgICA+IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9sZWdhbC9y ZXNvbHZlZC5odG1sDQogICAgPg0KICAgID4gPT0gQ3J5cHRvZ3JhcGh5ID09DQogICAgPg0KICAg ID4gTm90IGFwcGxpY2FibGUuDQogICAgPg0KICAgID4gPT0gUmVxdWlyZWQgUmVzb3VyY2VzID09 DQogICAgPg0KICAgID4gPT09IE1haWxpbmcgTGlzdHMgPT09DQogICAgPg0KICAgID4gICogcGxj NHgtZGV2DQogICAgPiAgKiBwbGM0eC1wcml2YXRlDQogICAgPg0KICAgID4gPT09IEdpdCBSZXBv c2l0b3J5ID09PQ0KICAgID4NCiAgICA+IGh0dHBzOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3Jl cG9zL2FzZi9pbmN1YmF0b3ItcGxjNHguZ2l0DQogICAgPg0KICAgID4gPT09IElzc3VlIFRyYWNr aW5nID09PQ0KICAgID4NCiAgICA+IEpJUkEgUExDNFgNCiAgICA+DQogICAgPiA9PT0gQ29uZmx1 ZW5jZSBXaWtpID09PQ0KICAgID4NCiAgICA+IFRvIGJlIGFibGUgdG8gcHJvdmlkZSBoZWxwLCBk b2N1bWVudGF0aW9uLCBmYXEgZXRjLCBhIHdpa2kgaXMgbmVlZGVkLg0KICAgID4NCiAgICA+ID09 IEluaXRpYWwgQ29tbWl0dGVycyA9PQ0KICAgID4NCiAgICA+IChJbiBhbHBoYWJldGljYWwgb3Jk ZXIpDQogICAgPg0KICAgID4gICogQmVuZWRpa3QgUml0dGVyIChicml0dGVyQGFwYWNoZS5vcmcp DQogICAgPiAgKiBDaHJpc3RvZmVyIER1dHogKGNkdXR6QGFwYWNoZS5vcmcpDQogICAgPiAgKiBE YWxlIExhQm9zc2llcmUgKGRsYWJvc3NAYXBhY2hlLm9yZykNCiAgICA+ICAqIEZyYW5rIFN0aWJh bmUgKGZyYW5rLnN0aWJhbmVAY29kZWNlbnRyaWMuZGUpDQogICAgPiAgKiBHcmVnIFRyYXN1ayAo Z3RyYXN1a0BhcGFjaGUub3JnKQ0KICAgID4gICogSnVzdGluIE1jTGVhbiAoam1jbGVhbkBhcGFj aGUub3JnKQ0KICAgID4gICogS2FpIEhlcmluZ3MgKGthaS5oZXJpbmdzQGNvZGVjZW50cmljLmRl KQ0KICAgID4gICogTHVrYXMgRnJpZWRyaWNoc2VuIChmcmllZHJpY2hzZW4ubHVrQGdvb2dsZW1h aWwuY29tKQ0KICAgID4gICogTWFyayBLZWluaMO2cnN0ZXIgKG1hcmsua2VpbmhvZXJzdGVyQGNv ZGVjZW50cmljLmRlKQ0KICAgID4gICogUm9sZiBGZWxrZXIgKHJvbGYuZmVsa2VyQGNvZGVjZW50 cmljLmRlKQ0KICAgID4gICogU2ViYXN0aWFuIFLDvGhsIChzZWJhc3RpYW4ucnVlaGxAY29kZWNl bnRyaWMuZGUpDQogICAgPg0KICAgID4gPT0gQWZmaWxpYXRpb25zID09DQogICAgPg0KICAgID4g Q3VycmVudGx5IG1vc3Qgb2YgdGhlIGluaXRpYWwgY29tbWl0dGVycyBhcmUgZW1wbG95ZWVzIG9m IGNvZGVjZW50cmljLg0KICAgID4gQ3VycmVudGx5IENocmlzdG9mZXIgRHV0eiBpcyB0aGUgb25s eSBjb250cmlidXRvciBwYWlkIHRvIHdvcmsgb24gUExDNFgNCiAgICA+IGZ1bGwtdGltZS4gVGhl IG90aGVycyBwYXJ0aWNpcGF0ZSBhcyBwYXJ0IG9mIHRoZWlyIHNvLWNhbGxlZCAiKzEgdGltZSIg KEF0DQogICAgPiBjb2RlY2VudHJpYyBlbXBsb3llZXMgZ2V0IHRvIHNwZW5kIDIwJSBvZiB0aGVp ciB0aW1lIHRvIHdvcmsgb24NCiAgICA+IG9wZW4tc291cmNlLA0KICAgID4gZWR1Y2F0aW9uLCBl dGMuIGFuZCB0aGV5IGludmVzdCBhIGxvdCBvZiB0aGlzIHRpbWUgb24gdGhlIHByb2plY3QpLg0K ICAgID4NCiAgICA+IEJlc2lkZXMgdGhlc2Ugd2UgYWxzbyBoYXZlIGNvbnRyaWJ1dG9ycyBmcm9t IGNvbXBhbmllcyBvdGhlciB0aGFuDQogICAgPiBjb2RlY2VudHJpYw0KICAgID4gKERhbGUsIEdy ZWcsIEp1c3RpbikgYXMgd2VsbCBhcyB1bml2ZXJzaXRpZXMgKEx1a2FzKS4NCiAgICA+DQogICAg PiA9PSBTcG9uc29ycyA9PQ0KICAgID4NCiAgICA+ID09PSBDaGFtcGlvbiA9PT0NCiAgICA+DQog ICAgPiAgKiBKdXN0aW4gTWNMZWFuDQogICAgPg0KICAgID4gPT09IE5vbWluYXRlZCBNZW50b3Jz ID09PQ0KICAgID4NCiAgICA+IChJbiBhbHBoYWJldGljYWwgb3JkZXIpDQogICAgPg0KICAgID4g ICogR3JlZyBUcmFzdWsNCiAgICA+ICAqIEp1c3RpbiBNY0xlYW4NCiAgICA+ICAqIEx1Y2lhbm8g UmVzZW5kZQ0KICAgID4gICogU3RlZmFuIEJvZGV3aWcNCiAgICA+DQogICAgPiA9PT0gU3BvbnNv cmluZyBFbnRpdHkgPT09DQogICAgPg0KICAgID4gUExDNFggaXMgYSBuZXcgcHJvamVjdCBhbmQg cHJvcG9zZWQgaXMgdG8gcmVsZWFzZSB0byBjb2RlIHVuZGVyIHRoZQ0KICAgID4gc3BvbnNvcnNo aXANCiAgICA+IG9mIHRoZSBJbmN1YmF0b3IuDQogICAgPg0KICAgID4gVGhhbmtzLA0KICAgID4g SnVzdGluDQogICAgPg0KICAgID4NCiAgICA+IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgID4gVG8gdW5zdWJz Y3JpYmUsIGUtbWFpbDogZ2VuZXJhbC11bnN1YnNjcmliZUBpbmN1YmF0b3IuYXBhY2hlLm9yZw0K ICAgID4gRm9yIGFkZGl0aW9uYWwgY29tbWFuZHMsIGUtbWFpbDogZ2VuZXJhbC1oZWxwQGluY3Vi YXRvci5hcGFjaGUub3JnDQogICAgPg0KICAgID4NCiAgICANCg0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGdlbmVyYWwtdW5z dWJzY3JpYmVAaW5jdWJhdG9yLmFwYWNoZS5vcmcNCkZvciBhZGRpdGlvbmFsIGNvbW1hbmRz LCBlLW1haWw6IGdlbmVyYWwtaGVscEBpbmN1YmF0b3IuYXBhY2hlLm9yZw0K