Return-Path: X-Original-To: apmail-samza-dev-archive@minotaur.apache.org Delivered-To: apmail-samza-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 75157184F3 for ; Tue, 4 Aug 2015 12:33:44 +0000 (UTC) Received: (qmail 84507 invoked by uid 500); 4 Aug 2015 12:33:44 -0000 Delivered-To: apmail-samza-dev-archive@samza.apache.org Received: (qmail 84453 invoked by uid 500); 4 Aug 2015 12:33:44 -0000 Mailing-List: contact dev-help@samza.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@samza.apache.org Delivered-To: mailing list dev@samza.apache.org Received: (qmail 84441 invoked by uid 99); 4 Aug 2015 12:33:43 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 04 Aug 2015 12:33:43 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 125681A96F7 for ; Tue, 4 Aug 2015 12:33:43 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.11 X-Spam-Level: X-Spam-Status: No, score=-0.11 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); domainkeys=pass (1024-bit key) header.from=jblasi@nextel.es header.d=nextel.es; dkim=pass (1024-bit key) header.d=nextel.es Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id WwLeXkKIfaFW for ; Tue, 4 Aug 2015 12:33:31 +0000 (UTC) Received: from smtp.nextel.es (smtp.nextel.es [194.30.4.77]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTP id AA69A210DF for ; Tue, 4 Aug 2015 12:33:30 +0000 (UTC) DomainKey-Signature: s=mta01dk; d=nextel.es; c=nofws; q=dns; h=Authentication-Results:X-IronPort-AV:Received:Received: From:To:Subject:Thread-Topic:Thread-Index:Date:Message-ID: References:In-Reply-To:Accept-Language:Content-Language: X-MS-Has-Attach:X-MS-TNEF-Correlator:x-originating-ip: Content-Type:Content-Transfer-Encoding:MIME-Version; b=xGQ+mqX/3+aZTNHsKMQ+BuR8CRRWYgomNmFKGXMdU6ObR4xeM7+wAB25 zSJ5QvDlW08V6IH6uf2P4oIHyewNnU7ILyI6dp2ec1d0bCNzLb+t6eOth bTgX8w4+nHX0btEc74XIBzbSTtzf8YJDtT8OlyrEm44D3rKxjhPbGmT6o Y=; DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nextel.es; i=@nextel.es; q=dns/txt; s=mta01dkim; t=1438691611; x=1470227611; h=from:to:subject:date:message-id:references:in-reply-to: content-transfer-encoding:mime-version; bh=JlL/cRstAmMLw9n3B0CZpaZQCH2fX8ebnNN92+Nvmu0=; b=DiC4r0BFqNYMDOCxFKcdQdcEmCVdfIO/Wm7HxC+c5T78mrY47uX6N8Zq 3DFOTBc3ZWWggoR2gd4WwQalaIN0y1PFkVLEj9Il4p6pR89kMezmqDFuZ lXpRNC6G6ic44/d2j5KWIaqNj6eQUYBXkMMODPzSUjA0zSGXXfI9juHC9 o=; Authentication-Results: smtp.nextel.es; dkim=neutral (message not signed) header.i=none X-IronPort-AV: E=Sophos;i="5.15,608,1432591200"; d="scan'208";a="2010496" Received: from nx1mail.nextel.dom ([192.168.4.80]) by smtp.nextel.es with ESMTP/TLS/AES128-SHA; 04 Aug 2015 14:32:23 +0200 Received: from NX1MAIL.nextel.dom ([fe80::78ac:1695:d67f:869b]) by NX1MAIL.nextel.dom ([fe80::78ac:1695:d67f:869b%10]) with mapi id 14.03.0195.001; Tue, 4 Aug 2015 14:32:23 +0200 From: Jordi Blasi Uribarri To: "dev@samza.apache.org" Subject: RE: testThreadInterruptInOperationSleep on clean installation Thread-Topic: testThreadInterruptInOperationSleep on clean installation Thread-Index: AdDNt++f6RQVIi12QHO/ZDh63q0/GgAcwrYAABW8HeD//+LzAP//g6wg Date: Tue, 4 Aug 2015 12:32:22 +0000 Message-ID: References: In-Reply-To: Accept-Language: es-ES, en-US Content-Language: es-ES X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [192.168.45.5] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 SXQgaGFzIGNvbXBpbGVkIHBlcmZlY3RseSBub3cuIA0KDQpUaGFua3MgZm9yIHlvdXIgaGVscC4N Cg0KSm9yZGkNCg0KLS0tLS1NZW5zYWplIG9yaWdpbmFsLS0tLS0NCkRlOiBOYXZpbmEgUmFtZXNo IFttYWlsdG86bnJhbWVzaEBsaW5rZWRpbi5jb20uSU5WQUxJRF0gDQpFbnZpYWRvIGVsOiBtYXJ0 ZXMsIDA0IGRlIGFnb3N0byBkZSAyMDE1IDk6MDcNClBhcmE6IGRldkBzYW16YS5hcGFjaGUub3Jn DQpBc3VudG86IFJlOiB0ZXN0VGhyZWFkSW50ZXJydXB0SW5PcGVyYXRpb25TbGVlcCBvbiBjbGVh biBpbnN0YWxsYXRpb24NCg0KSGkgSm9yZGksDQpMb29rcyBsaWtlIHlvdSBhcmUgaGl0dGluZyB0 aGlzIGVycm9yOg0Kb3JnLmFwYWNoZS5zYW16YS5zdG9yYWdlLmt2LlRlc3RSb2Nrc0RiS2V5VmFs dWVTdG9yZSA+IHRlc3RUVEwgU1RBTkRBUkRfRVJST1INCiAgICBTTEY0SjogRmFpbGVkIHRvIGxv YWQgY2xhc3MgIm9yZy5zbGY0ai5pbXBsLlN0YXRpY0xvZ2dlckJpbmRlciIuDQogICAgU0xGNEo6 IERlZmF1bHRpbmcgdG8gbm8tb3BlcmF0aW9uIChOT1ApIGxvZ2dlciBpbXBsZW1lbnRhdGlvbg0K ICAgIFNMRjRKOiBTZWUgaHR0cDovL3d3dy5zbGY0ai5vcmcvY29kZXMuaHRtbCNTdGF0aWNMb2dn ZXJCaW5kZXIgZm9yIGZ1cnRoZXIgZGV0YWlscy4NCiovdXNyL2xpYi9qdm0vamF2YS03LW9wZW5q ZGstYW1kNjQvYmluL2phdmE6IHN5bWJvbCBsb29rdXAgZXJyb3I6DQovdG1wL2xpYnJvY2tzZGJq bmkxODcxMzA0ODMwMDQyNDQwNTA4Li5zbzogdW5kZWZpbmVkIHN5bWJvbDogY2xvY2tfZ2V0dGlt ZSoNCg0KVGhpcyBpcyBhIGtub3duIGlzc3VlIHdoZW4gYnVpbGRpbmcgU2FtemEgb24gTGludXgg YW5kIGlzIGJlaW5nIHRyYWNrZWQgaW4NClNBTVpBLTc0NyA8aHR0cHM6Ly9pc3N1ZXMuYXBhY2hl Lm9yZy9qaXJhL2Jyb3dzZS9TQU1aQS03NDc+LiBUaGlzIGlzIGJsb2NrZWQgb24gdGhlIFJvY2tz REIgMy4xMS4xIHJlbGVhc2UgYW5kIGhlbmNlLCBhIGJsb2NrZXIgZm9yIHRoZSBTYW16YSAwLjEw IHJlbGVhc2UgYXMgd2VsbC4NCg0KSWYgdGhlIGJ1aWxkIGlzIGp1c3QgZmFpbGluZyBvbiB0aGlz IHRlc3QsIHRyeSB0byBjb21tZW50IG91dCB0ZXN0VFRMIGluIFRlc3RSb2Nrc0RCS2V5VmFsdWVT dG9yZS5zY2FsYSBhbmQgZ2l2ZSBpdCBhIHRyeS4gSSBob3BlIGl0IHNvbHZlcyB5b3VyIGJ1aWxk IGlzc3Vlcy4NCg0KVGhhbmtzIQ0KTmF2aW5hDQoNCk9uIE1vbiwgQXVnIDMsIDIwMTUgYXQgMTE6 NTMgUE0sIEpvcmRpIEJsYXNpIFVyaWJhcnJpIDxqYmxhc2lAbmV4dGVsLmVzPg0Kd3JvdGU6DQoN Cj4gSGksDQo+DQo+IFRoZXJlIHdhcyBubyBncmFkbGUgcHJvY2VzcyBhbmQgSSBoYXZlIHRyaWVk IHRvIHJ1biBpdCBpbmNyZWFzaW5nIHRoZSANCj4gbG9nIGxldmVsLiBJdCBzZWVtcyB0aGF0IHRo ZSB0ZXN0IHRoYXQgaXMgZmFpbGluZyBpcyB0aGUgb25lIHJlbGF0ZWQgdG8gUm9ja3NkYi4NCj4N Cj4gSG93IGNhbiBJIHJ1biB0aGUgdGVzdCBvbiBlY2xpcHNlPw0KPg0KPiBUaGlzIGlzIHdoYXQg SSBnZXQ6DQo+DQo+IEV4ZWN1dGluZyB0YXNrICc6c2FtemEta3Ytcm9ja3NkYl8yLjEwOnNvdXJj ZXNKYXInICh1cC10by1kYXRlIGNoZWNrIA0KPiB0b29rDQo+IDAuMDA1IHNlY3MpIGR1ZSB0bzoN Cj4gICBPdXRwdXQgZmlsZQ0KPiAvb3B0L3NhbXphL3NhbXphLWt2LXJvY2tzZGIvYnVpbGQvbGli cy9zYW16YS1rdi1yb2Nrc2RiXzIuMTAtMC4xMC4wLVNODQo+IEFQU0hPVC1zb3VyY2VzLmphcg0K PiBoYXMgY2hhbmdlZC4NCj4gICBPdXRwdXQgZmlsZQ0KPiAvb3B0L3NhbXphL3NhbXphLWt2LXJv Y2tzZGIvYnVpbGQvbGlicy9zYW16YS1rdi1yb2Nrc2RiXzIuMTAtMC4xMC4wLVNODQo+IEFQU0hP VC1zb3VyY2VzLmphcg0KPiBoYXMgYmVlbiByZW1vdmVkLg0KPiA6c2FtemEta3Ytcm9ja3NkYl8y LjEwOnNvdXJjZXNKYXIgKFRocmVhZFtEYWVtb24sNSxtYWluXSkgY29tcGxldGVkLiANCj4gVG9v aw0KPiAwLjAxOSBzZWNzLg0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEwOnNpZ25BcmNoaXZlcyAo VGhyZWFkW0RhZW1vbiw1LG1haW5dKSBzdGFydGVkLg0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEw OnNpZ25BcmNoaXZlcw0KPiBTa2lwcGluZyB0YXNrICc6c2FtemEta3Ytcm9ja3NkYl8yLjEwOnNp Z25BcmNoaXZlcycgYXMgdGFzayBvbmx5SWYgaXMgDQo+IGZhbHNlLg0KPiA6c2FtemEta3Ytcm9j a3NkYl8yLjEwOnNpZ25BcmNoaXZlcyBTS0lQUEVEIA0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEw OnNpZ25BcmNoaXZlcyAoVGhyZWFkW0RhZW1vbiw1LG1haW5dKSBjb21wbGV0ZWQuDQo+IFRvb2sg MC4wMDMgc2Vjcy4NCj4gOnNhbXphLWt2LXJvY2tzZGJfMi4xMDphc3NlbWJsZSAoVGhyZWFkW0Rh ZW1vbiw1LG1haW5dKSBzdGFydGVkLg0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEwOmFzc2VtYmxl DQo+IFNraXBwaW5nIHRhc2sgJzpzYW16YS1rdi1yb2Nrc2RiXzIuMTA6YXNzZW1ibGUnIGFzIGl0 IGhhcyBubyBhY3Rpb25zLg0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEwOmFzc2VtYmxlIChUaHJl YWRbRGFlbW9uLDUsbWFpbl0pIGNvbXBsZXRlZC4gDQo+IFRvb2sNCj4gMC4wMDEgc2Vjcy4NCj4g OnNhbXphLWt2LXJvY2tzZGJfMi4xMDpjb21waWxlVGVzdEphdmEgKFRocmVhZFtEYWVtb24sNSxt YWluXSkgc3RhcnRlZC4NCj4gOnNhbXphLWt2LXJvY2tzZGJfMi4xMDpjb21waWxlVGVzdEphdmEN Cj4gU2tpcHBpbmcgdGFzayAnOnNhbXphLWt2LXJvY2tzZGJfMi4xMDpjb21waWxlVGVzdEphdmEn IGFzIGl0IGhhcyBubyANCj4gc291cmNlIGZpbGVzLg0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEw OmNvbXBpbGVUZXN0SmF2YSBVUC1UTy1EQVRFIA0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEwOmNv bXBpbGVUZXN0SmF2YSAoVGhyZWFkW0RhZW1vbiw1LG1haW5dKSBjb21wbGV0ZWQuDQo+IFRvb2sg MC4wMDEgc2Vjcy4NCj4gOnNhbXphLWt2LXJvY2tzZGJfMi4xMDpjb21waWxlVGVzdFNjYWxhIChU aHJlYWRbRGFlbW9uLDUsbWFpbl0pIHN0YXJ0ZWQuDQo+IDpzYW16YS1rdi1yb2Nrc2RiXzIuMTA6 Y29tcGlsZVRlc3RTY2FsYQ0KPiBFeGVjdXRpbmcgdGFzayAnOnNhbXphLWt2LXJvY2tzZGJfMi4x MDpjb21waWxlVGVzdFNjYWxhJyAodXAtdG8tZGF0ZSANCj4gY2hlY2sgdG9vayAwLjA2OCBzZWNz KSBkdWUgdG86DQo+ICAgT3V0cHV0IGZpbGUgL29wdC9zYW16YS9zYW16YS1rdi1yb2Nrc2RiL2J1 aWxkL2NsYXNzZXMvdGVzdCBoYXMgY2hhbmdlZC4NCj4gICBPdXRwdXQgZmlsZQ0KPiAvb3B0L3Nh bXphL3NhbXphLWt2LXJvY2tzZGIvYnVpbGQvY2xhc3Nlcy90ZXN0L29yZy9hcGFjaGUvc2FtemEv c3RvcmFnDQo+IGUva3YvVGVzdFJvY2tzRGJLZXlWYWx1ZVN0b3JlLmNsYXNzDQo+IGhhcyBiZWVu IHJlbW92ZWQuDQo+ICAgT3V0cHV0IGZpbGUNCj4gL29wdC9zYW16YS9zYW16YS1rdi1yb2Nrc2Ri L2J1aWxkL2NsYXNzZXMvdGVzdC9vcmcvYXBhY2hlL3NhbXphL3N0b3JhZw0KPiBlL2t2L1Rlc3RS b2Nrc0RiS2V5VmFsdWVTdG9yZSQkYW5vbmZ1biR0ZXN0VFRMJDIuY2xhc3MNCj4gaGFzIGJlZW4g cmVtb3ZlZC4NCj4gQ29tcGlsaW5nIHdpdGggQW50IHNjYWxhYyB0YXNrLg0KPiBbYW50OnNjYWxh Y10gQ29tcGlsaW5nIDEgc291cmNlIGZpbGUgdG8gDQo+IC9vcHQvc2FtemEvc2FtemEta3Ytcm9j a3NkYi9idWlsZC9jbGFzc2VzL3Rlc3QNCj4gW2FudDpzY2FsYWNdIEVsZW1lbnQgJy9vcHQvc2Ft emEvc2FtemEta3Ytcm9ja3NkYi9idWlsZC9yZXNvdXJjZXMvbWFpbicNCj4gZG9lcyBub3QgZXhp c3QuDQo+IDpzYW16YS1rdi1yb2Nrc2RiXzIuMTA6Y29tcGlsZVRlc3RTY2FsYSAoVGhyZWFkW0Rh ZW1vbiw1LG1haW5dKSBjb21wbGV0ZWQuDQo+IFRvb2sgMS4xNTggc2Vjcy4NCj4gOnNhbXphLWt2 LXJvY2tzZGJfMi4xMDpwcm9jZXNzVGVzdFJlc291cmNlcyAoVGhyZWFkW0RhZW1vbiw1LG1haW5d KSANCj4gc3RhcnRlZC4NCj4gOnNhbXphLWt2LXJvY2tzZGJfMi4xMDpwcm9jZXNzVGVzdFJlc291 cmNlcw0KPiBTa2lwcGluZyB0YXNrICc6c2FtemEta3Ytcm9ja3NkYl8yLjEwOnByb2Nlc3NUZXN0 UmVzb3VyY2VzJyBhcyBpdCBoYXMgDQo+IG5vIHNvdXJjZSBmaWxlcy4NCj4gOnNhbXphLWt2LXJv Y2tzZGJfMi4xMDpwcm9jZXNzVGVzdFJlc291cmNlcyBVUC1UTy1EQVRFIA0KPiA6c2FtemEta3Yt cm9ja3NkYl8yLjEwOnByb2Nlc3NUZXN0UmVzb3VyY2VzIChUaHJlYWRbRGFlbW9uLDUsbWFpbl0p IA0KPiBjb21wbGV0ZWQuIFRvb2sgMC4wMDMgc2Vjcy4NCj4gOnNhbXphLWt2LXJvY2tzZGJfMi4x MDp0ZXN0Q2xhc3NlcyAoVGhyZWFkW0RhZW1vbiw1LG1haW5dKSBzdGFydGVkLg0KPiA6c2FtemEt a3Ytcm9ja3NkYl8yLjEwOnRlc3RDbGFzc2VzDQo+IFNraXBwaW5nIHRhc2sgJzpzYW16YS1rdi1y b2Nrc2RiXzIuMTA6dGVzdENsYXNzZXMnIGFzIGl0IGhhcyBubyBhY3Rpb25zLg0KPiA6c2FtemEt a3Ytcm9ja3NkYl8yLjEwOnRlc3RDbGFzc2VzIChUaHJlYWRbRGFlbW9uLDUsbWFpbl0pIGNvbXBs ZXRlZC4gDQo+IFRvb2sNCj4gMC4wMDEgc2Vjcy4NCj4gOnNhbXphLWt2LXJvY2tzZGJfMi4xMDp0 ZXN0IChUaHJlYWRbRGFlbW9uLDUsbWFpbl0pIHN0YXJ0ZWQuDQo+IDpzYW16YS1rdi1yb2Nrc2Ri XzIuMTA6dGVzdA0KPiBFeGVjdXRpbmcgdGFzayAnOnNhbXphLWt2LXJvY2tzZGJfMi4xMDp0ZXN0 JyAodXAtdG8tZGF0ZSBjaGVjayB0b29rIA0KPiAwLjExDQo+IHNlY3MpIGR1ZSB0bzoNCj4gICBO byBoaXN0b3J5IGlzIGF2YWlsYWJsZS4NCj4gU3RhcnRpbmcgcHJvY2VzcyAnR3JhZGxlIFRlc3Qg RXhlY3V0b3IgMTYnLiBXb3JraW5nIGRpcmVjdG9yeToNCj4gL29wdC9zYW16YS9zYW16YS1rdi1y b2Nrc2RiIENvbW1hbmQ6DQo+IC91c3IvbGliL2p2bS9qYXZhLTctb3Blbmpkay1hbWQ2NC9iaW4v amF2YQ0KPiAtRGphdmEuc2VjdXJpdHkubWFuYWdlcj1qYXJqYXIub3JnLmdyYWRsZS5wcm9jZXNz LmludGVybmFsLmNoaWxkLkJvb3RzDQo+IHRyYXBTZWN1cml0eU1hbmFnZXINCj4gLURmaWxlLmVu Y29kaW5nPVVURi04IC1lYSAtY3ANCj4gL3Jvb3QvLmdyYWRsZS9jYWNoZXMvMi4wL3dvcmtlck1h aW4vZ3JhZGxlLXdvcmtlci5qYXINCj4gamFyamFyLm9yZy5ncmFkbGUucHJvY2Vzcy5pbnRlcm5h bC5sYXVuY2hlci5HcmFkbGVXb3JrZXJNYWluDQo+IFN1Y2Nlc3NmdWxseSBzdGFydGVkIHByb2Nl c3MgJ0dyYWRsZSBUZXN0IEV4ZWN1dG9yIDE2Jw0KPiBHcmFkbGUgVGVzdCBFeGVjdXRvciAxNiBz dGFydGVkIGV4ZWN1dGluZyB0ZXN0cy4NCj4NCj4gb3JnLmFwYWNoZS5zYW16YS5zdG9yYWdlLmt2 LlRlc3RSb2Nrc0RiS2V5VmFsdWVTdG9yZSA+IHRlc3RUVEwgDQo+IFNUQU5EQVJEX0VSUk9SDQo+ ICAgICBTTEY0SjogRmFpbGVkIHRvIGxvYWQgY2xhc3MgIm9yZy5zbGY0ai5pbXBsLlN0YXRpY0xv Z2dlckJpbmRlciIuDQo+ICAgICBTTEY0SjogRGVmYXVsdGluZyB0byBuby1vcGVyYXRpb24gKE5P UCkgbG9nZ2VyIGltcGxlbWVudGF0aW9uDQo+ICAgICBTTEY0SjogU2VlIGh0dHA6Ly93d3cuc2xm NGoub3JnL2NvZGVzLmh0bWwjU3RhdGljTG9nZ2VyQmluZGVyIGZvciANCj4gZnVydGhlciBkZXRh aWxzLg0KPiAvdXNyL2xpYi9qdm0vamF2YS03LW9wZW5qZGstYW1kNjQvYmluL2phdmE6IHN5bWJv bCBsb29rdXAgZXJyb3I6DQo+IC90bXAvbGlicm9ja3NkYmpuaTE4NzEzMDQ4MzAwNDI0NDA1MDgu LnNvOiB1bmRlZmluZWQgc3ltYm9sOiANCj4gY2xvY2tfZ2V0dGltZSA6c2FtemEta3Ytcm9ja3Nk Yl8yLjEwOnRlc3QgRkFJTEVEIA0KPiA6c2FtemEta3Ytcm9ja3NkYl8yLjEwOnRlc3QgKFRocmVh ZFtEYWVtb24sNSxtYWluXSkgY29tcGxldGVkLiBUb29rIA0KPiAyLjM2IHNlY3MuDQo+DQo+IEZB SUxVUkU6IEJ1aWxkIGZhaWxlZCB3aXRoIGFuIGV4Y2VwdGlvbi4NCj4NCj4gKiBXaGF0IHdlbnQg d3Jvbmc6DQo+IEV4ZWN1dGlvbiBmYWlsZWQgZm9yIHRhc2sgJzpzYW16YS1rdi1yb2Nrc2RiXzIu MTA6dGVzdCcuDQo+ID4gUHJvY2VzcyAnR3JhZGxlIFRlc3QgRXhlY3V0b3IgMTYnIGZpbmlzaGVk IHdpdGggbm9uLXplcm8gZXhpdCB2YWx1ZSANCj4gPiAxMjcNCj4NCj4gVGhhbmtzLA0KPg0KPiAg ICAgSm9yZGkNCj4NCj4gLS0tLS1NZW5zYWplIG9yaWdpbmFsLS0tLS0NCj4gRGU6IFlhbiBGYW5n IFttYWlsdG86eWFuZmFuZzcyNEBnbWFpbC5jb21dIEVudmlhZG8gZWw6IG1hcnRlcywgMDQgZGUg DQo+IGFnb3N0byBkZSAyMDE1IDA6MjkNCj4gUGFyYTogZGV2QHNhbXphLmFwYWNoZS5vcmcNCj4g QXN1bnRvOiBSZTogdGVzdFRocmVhZEludGVycnVwdEluT3BlcmF0aW9uU2xlZXAgb24gY2xlYW4g aW5zdGFsbGF0aW9uDQo+DQo+IEhpIEpvcmRpLA0KPg0KPiBUaG9zZSB0d28gZXhjZXB0aW9ucyBz ZWVtcyBsaWtlIGNhdXNlZCBieSB0aGUgcmFjZSBjb25kaXRpb24uIFNpbmNlIEkgDQo+IGNhbiBu b3QgcmVwcm9kdWNlIGl0LCBjYW4geW91IHRyeSAxKSBraWxsIGFsbCB0aGUgR3JhZGxlRGFlbW9u IGFuZCANCj4gR3JhZGxlV3JhcHBlck1haW4gcHJvY2Vzc2VzIHdoZW4geW91IHJlcnVuIHRoZSBi dWlsZCA/IDIpIGNhbiB5b3UgdHJ5IA0KPiB0byBydW4gdGhvc2UgdHdvIHRlc3RzIGluIHRoZSBl Y2xpcHNlIChvciBzb21lIG90aGVyIHdheXMpIHdpdGhvdXQgDQo+IGdyYWRsZSA/IEkgZG91YnQg Ym90aCBhcmUgcmVsYXRlZCB0byB0aGUgZ3JhZGxlLg0KPg0KPiBUaGFua3MsDQo+DQo+IEZhbmcs IFlhbg0KPiB5YW5mYW5nNzI0QGdtYWlsLmNvbQ0KPg0KPiBPbiBTdW4sIEF1ZyAyLCAyMDE1IGF0 IDExOjQ1IFBNLCBKb3JkaSBCbGFzaSBVcmliYXJyaSANCj4gPGpibGFzaUBuZXh0ZWwuZXM+DQo+ IHdyb3RlOg0KPg0KPiA+IEhpLA0KPiA+DQo+ID4gSSBhbSB0cnlpbmcgdG8gZG8gYSBjbGVhbiBp bnN0YWxsYXRpb24gb2YgU2FtemEgb24gYSBuZXdseSBpbnN0YWxsZWQgDQo+ID4gRGViaWFuIDcu OCBib3guIEZvbGxvd2luZyB0aGUgc3RwZXMgSSBjb2xsZWN0ZWQgaW4gYSBwcmV2aW91cyAwLjgu MiANCj4gPiBTYW16YSBpbnN0YWxsYXRpb24gSSBoYXZlIHBlcmZvcm1lZCB0aGUgZm9sbG93aW5n IHN0ZXBzOg0KPiA+DQo+ID4gYXB0LWdldCBpbnN0YWxsIG9wZW5qZGstNy1qZGsgb3Blbmpkay03 LWpyZSBnaXQgbWF2ZW4gY3VybCB2aSANCj4gPiAvcm9vdC8uYmFzaHJjIGV4cG9ydCBKQVZBX0hP TUU9L3Vzci9saWIvanZtL2phdmEtNy1vcGVuamRrLWFtZDY0DQo+ID4gZXhwb3J0IENMQVNTUEFU SD0kQ0xBU1NQQVRIOi91c3Ivc2hhcmUvamF2YQ0KPiA+DQo+ID4gY2QgL29wdA0KPiA+IGdpdCBj bG9uZSBodHRwOi8vZ2l0LXdpcC11cy5hcGFjaGUub3JnL3JlcG9zL2FzZi9zYW16YS5naXQNCj4g PiBjZCBzYW16YQ0KPiA+IC4vZ3JhZGxldyBjbGVhbiBidWlsZA0KPiA+DQo+ID4NCj4gPiBFdmVy eSB0aW1lIEkgcnVuIGl0IEkgZ2V0IGFuIGVycm9yIG9uIHRoZSB0ZXN0IHRoZSBzY3JpcHQgcnVu czoNCj4gPiB0ZXN0VGhyZWFkSW50ZXJydXB0SW5PcGVyYXRpb25TbGVlcA0KPiA+IHZhLmxhbmcu QXNzZXJ0aW9uRXJyb3I6IGV4cGVjdGVkOjwxPiBidXQgd2FzOjwwPg0KPiA+ICAgICAgICBhdCBv cmcuanVuaXQuQXNzZXJ0LmZhaWwoQXNzZXJ0LmphdmE6OTEpDQo+ID4gICAgICAgIGF0IG9yZy5q dW5pdC5Bc3NlcnQuZmFpbE5vdEVxdWFscyhBc3NlcnQuamF2YTo2NDUpDQo+ID4gICAgICAgIGF0 IG9yZy5qdW5pdC5Bc3NlcnQuYXNzZXJ0RXF1YWxzKEFzc2VydC5qYXZhOjEyNikNCj4gPiAgICAg ICAgYXQgb3JnLmp1bml0LkFzc2VydC5hc3NlcnRFcXVhbHMoQXNzZXJ0LmphdmE6NDcwKQ0KPiA+ ICAgICAgICBhdCBvcmcuanVuaXQuQXNzZXJ0LmFzc2VydEVxdWFscyhBc3NlcnQuamF2YTo0NTQp DQo+ID4gICAgICAgIGF0DQo+ID4NCj4gb3JnLmFwYWNoZS5zYW16YS51dGlsLlRlc3RFeHBvbmVu dGlhbFNsZWVwU3RyYXRlZ3kudGVzdFRocmVhZEludGVycnVwdA0KPiBJbk9wZXJhdGlvblNsZWVw KFRlc3RFeHBvbmVudGlhbFNsZWVwU3RyYXRlZ3kuc2NhbGE6MTU4KQ0KPiA+ICAgICAgICBhdCBz dW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlMChOYXRpdmUgTWV0aG9k KQ0KPiA+ICAgICAgICBhdA0KPiA+DQo+IHN1bi5yZWZsZWN0Lk5hdGl2ZU1ldGhvZEFjY2Vzc29y SW1wbC5pbnZva2UoTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmoNCj4gYXZhOjU3KQ0KPiA+ICAg ICAgICBhdA0KPiA+DQo+IHN1bi5yZWZsZWN0LkRlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwu aW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3MNCj4gb3JJbXBsLmphdmE6NDMpDQo+ID4gICAg ICAgIGF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NjA2KQ0K PiA+ICAgICAgICBhdA0KPiA+DQo+IG9yZy5qdW5pdC5ydW5uZXJzLm1vZGVsLkZyYW1ld29ya01l dGhvZCQxLnJ1blJlZmxlY3RpdmVDYWxsKEZyYW1ld29ya00NCj4gZXRob2QuamF2YTo0NCkNCj4g PiAgICAgICAgYXQNCj4gPg0KPiBvcmcuanVuaXQuaW50ZXJuYWwucnVubmVycy5tb2RlbC5SZWZs ZWN0aXZlQ2FsbGFibGUucnVuKFJlZmxlY3RpdmVDYWxsDQo+IGFibGUuamF2YToxNSkNCj4gPiAg ICAgICAgYXQNCj4gPg0KPiBvcmcuanVuaXQucnVubmVycy5tb2RlbC5GcmFtZXdvcmtNZXRob2Qu aW52b2tlRXhwbG9zaXZlbHkoRnJhbWV3b3JrTWV0DQo+IGhvZC5qYXZhOjQxKQ0KPiA+ICAgICAg ICBhdA0KPiA+DQo+IG9yZy5qdW5pdC5pbnRlcm5hbC5ydW5uZXJzLnN0YXRlbWVudHMuSW52b2tl TWV0aG9kLmV2YWx1YXRlKEludm9rZU1ldGgNCj4gb2QuamF2YToyMCkNCj4gPiAgICAgICAgYXQN Cj4gPg0KPiBvcmcuanVuaXQucnVubmVycy5CbG9ja0pVbml0NENsYXNzUnVubmVyLnJ1bkNoaWxk KEJsb2NrSlVuaXQ0Q2xhc3NSdW5uDQo+IGVyLmphdmE6NzYpDQo+ID4gICAgICAgIGF0DQo+ID4N Cj4gb3JnLmp1bml0LnJ1bm5lcnMuQmxvY2tKVW5pdDRDbGFzc1J1bm5lci5ydW5DaGlsZChCbG9j a0pVbml0NENsYXNzUnVubg0KPiBlci5qYXZhOjUwKQ0KPiA+ICAgICAgICBhdCBvcmcuanVuaXQu cnVubmVycy5QYXJlbnRSdW5uZXIkMy5ydW4oUGFyZW50UnVubmVyLmphdmE6MTkzKQ0KPiA+ICAg ICAgICBhdCBvcmcuanVuaXQucnVubmVycy5QYXJlbnRSdW5uZXIkMS5zY2hlZHVsZShQYXJlbnRS dW5uZXIuamF2YTo1MikNCj4gPiAgICAgICAgYXQNCj4gb3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50 UnVubmVyLnJ1bkNoaWxkcmVuKFBhcmVudFJ1bm5lci5qYXZhOjE5MSkNCj4gPiAgICAgICAgYXQg b3JnLmp1bml0LnJ1bm5lcnMuUGFyZW50UnVubmVyLmFjY2VzcyQwMDAoUGFyZW50UnVubmVyLmph dmE6NDIpDQo+ID4gICAgICAgIGF0DQo+IG9yZy5qdW5pdC5ydW5uZXJzLlBhcmVudFJ1bm5lciQy LmV2YWx1YXRlKFBhcmVudFJ1bm5lci5qYXZhOjE4NCkNCj4gPiAgICAgICAgYXQgb3JnLmp1bml0 LnJ1bm5lcnMuUGFyZW50UnVubmVyLnJ1bihQYXJlbnRSdW5uZXIuamF2YToyMzYpDQo+ID4gICAg ICAgIGF0DQo+ID4NCj4gb3JnLmdyYWRsZS5hcGkuaW50ZXJuYWwudGFza3MudGVzdGluZy5qdW5p dC5KVW5pdFRlc3RDbGFzc0V4ZWN1dGVyLnJ1bg0KPiBUZXN0Q2xhc3MoSlVuaXRUZXN0Q2xhc3NF eGVjdXRlci5qYXZhOjg2KQ0KPiA+ICAgICAgICBhdA0KPiA+DQo+IG9yZy5ncmFkbGUuYXBpLmlu dGVybmFsLnRhc2tzLnRlc3RpbmcuanVuaXQuSlVuaXRUZXN0Q2xhc3NFeGVjdXRlci5leGUNCj4g Y3V0ZShKVW5pdFRlc3RDbGFzc0V4ZWN1dGVyLmphdmE6NDkpDQo+ID4gICAgICAgIGF0DQo+ID4N Cj4gb3JnLmdyYWRsZS5hcGkuaW50ZXJuYWwudGFza3MudGVzdGluZy5qdW5pdC5KVW5pdFRlc3RD bGFzc1Byb2Nlc3Nvci5wcg0KPiBvY2Vzc1Rlc3RDbGFzcyhKVW5pdFRlc3RDbGFzc1Byb2Nlc3Nv ci5qYXZhOjY5KQ0KPiA+ICAgICAgICBhdA0KPiA+DQo+IG9yZy5ncmFkbGUuYXBpLmludGVybmFs LnRhc2tzLnRlc3RpbmcuU3VpdGVUZXN0Q2xhc3NQcm9jZXNzb3IucHJvY2Vzc1QNCj4gZXN0Q2xh c3MoU3VpdGVUZXN0Q2xhc3NQcm9jZXNzb3IuamF2YTo0OCkNCj4gPiAgICAgICAgYXQgc3VuLnJl ZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZTAoTmF0aXZlIE1ldGhvZCkNCj4g PiAgICAgICAgYXQNCj4gPg0KPiBzdW4ucmVmbGVjdC5OYXRpdmVNZXRob2RBY2Nlc3NvckltcGwu aW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qDQo+IGF2YTo1NykNCj4gPiAgICAgICAg YXQNCj4gPg0KPiBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r ZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzDQo+IG9ySW1wbC5qYXZhOjQzKQ0KPiA+ICAgICAgICBh dCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1ldGhvZC5qYXZhOjYwNikNCj4gPiAg ICAgICAgYXQNCj4gPg0KPiBvcmcuZ3JhZGxlLm1lc3NhZ2luZy5kaXNwYXRjaC5SZWZsZWN0aW9u RGlzcGF0Y2guZGlzcGF0Y2goUmVmbGVjdGlvbkRpDQo+IHNwYXRjaC5qYXZhOjM1KQ0KPiA+ICAg ICAgICBhdA0KPiA+DQo+IG9yZy5ncmFkbGUubWVzc2FnaW5nLmRpc3BhdGNoLlJlZmxlY3Rpb25E aXNwYXRjaC5kaXNwYXRjaChSZWZsZWN0aW9uRGkNCj4gc3BhdGNoLmphdmE6MjQpDQo+ID4gICAg ICAgIGF0DQo+ID4NCj4gb3JnLmdyYWRsZS5tZXNzYWdpbmcuZGlzcGF0Y2guQ29udGV4dENsYXNz TG9hZGVyRGlzcGF0Y2guZGlzcGF0Y2goQ29udA0KPiBleHRDbGFzc0xvYWRlckRpc3BhdGNoLmph dmE6MzIpDQo+ID4gICAgICAgIGF0DQo+ID4NCj4gb3JnLmdyYWRsZS5tZXNzYWdpbmcuZGlzcGF0 Y2guUHJveHlEaXNwYXRjaEFkYXB0ZXIkRGlzcGF0Y2hpbmdJbnZvY2F0aQ0KPiBvbkhhbmRsZXIu aW52b2tlKFByb3h5RGlzcGF0Y2hBZGFwdGVyLmphdmE6OTMpDQo+ID4gICAgICAgIGF0IGNvbS5z dW4ucHJveHkuJFByb3h5Mi5wcm9jZXNzVGVzdENsYXNzKFVua25vd24gU291cmNlKQ0KPiA+ICAg ICAgICBhdA0KPiA+DQo+IG9yZy5ncmFkbGUuYXBpLmludGVybmFsLnRhc2tzLnRlc3Rpbmcud29y a2VyLlRlc3RXb3JrZXIucHJvY2Vzc1Rlc3RDbGENCj4gc3MoVGVzdFdvcmtlci5qYXZhOjEwNSkN Cj4gPiAgICAgICAgYXQgc3VuLnJlZmxlY3QuTmF0aXZlTWV0aG9kQWNjZXNzb3JJbXBsLmludm9r ZTAoTmF0aXZlIE1ldGhvZCkNCj4gPiAgICAgICAgYXQNCj4gPg0KPiBzdW4ucmVmbGVjdC5OYXRp dmVNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKE5hdGl2ZU1ldGhvZEFjY2Vzc29ySW1wbC5qDQo+ IGF2YTo1NykNCj4gPiAgICAgICAgYXQNCj4gPg0KPiBzdW4ucmVmbGVjdC5EZWxlZ2F0aW5nTWV0 aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNzDQo+IG9ySW1wbC5q YXZhOjQzKQ0KPiA+ICAgICAgICBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52b2tlKE1l dGhvZC5qYXZhOjYwNikNCj4gPiAgICAgICAgYXQNCj4gPg0KPiBvcmcuZ3JhZGxlLm1lc3NhZ2lu Zy5kaXNwYXRjaC5SZWZsZWN0aW9uRGlzcGF0Y2guZGlzcGF0Y2goUmVmbGVjdGlvbkRpDQo+IHNw YXRjaC5qYXZhOjM1KQ0KPiA+ICAgICAgICBhdA0KPiA+DQo+IG9yZy5ncmFkbGUubWVzc2FnaW5n LmRpc3BhdGNoLlJlZmxlY3Rpb25EaXNwYXRjaC5kaXNwYXRjaChSZWZsZWN0aW9uRGkNCj4gc3Bh dGNoLmphdmE6MjQpDQo+ID4gICAgICAgIGF0DQo+ID4NCj4gb3JnLmdyYWRsZS5tZXNzYWdpbmcu cmVtb3RlLmludGVybmFsLmh1Yi5NZXNzYWdlSHViJEhhbmRsZXIucnVuKE1lc3NhZw0KPiBlSHVi LmphdmE6MzU1KQ0KPiA+ICAgICAgICBhdA0KPiA+DQo+IG9yZy5ncmFkbGUuaW50ZXJuYWwuY29u Y3VycmVudC5EZWZhdWx0RXhlY3V0b3JGYWN0b3J5JFN0b3BwYWJsZUV4ZWN1dG8NCj4gckltcGwk MS5ydW4oRGVmYXVsdEV4ZWN1dG9yRmFjdG9yeS5qYXZhOjY0KQ0KPiA+ICAgICAgICBhdA0KPiA+ DQo+IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhy ZWFkUG9vbEV4ZWN1dG9yLmoNCj4gYXZhOjExNDUpDQo+ID4gICAgICAgIGF0DQo+ID4NCj4gamF2 YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9v bEV4ZWN1dG9yLg0KPiBqYXZhOjYxNSkNCj4gPiAgICAgICAgYXQgamF2YS5sYW5nLlRocmVhZC5y dW4oVGhyZWFkLmphdmE6NzQ1KQ0KPiA+DQo+ID4gSSBhbSBhbHNvIHNlZWluZyBvbiB0aGUgcmVw b3J0IHRoZSBmb2xsb3dpbmcgZXJyb3JzOg0KPiA+DQo+ID4NCj4gPiBFeGNlcHRpb24gaW4gdGhy ZWFkICJTQU1aQS1maWxlcmVhZGVyLSIgamF2YS5sYW5nLkVycm9yOg0KPiA+IGphdmEuaW8uRmls ZU5vdEZvdW5kRXhjZXB0aW9uOiBlbXB0eS50eHQgKE5vIGV4aXN0ZSBlbCBmaWNoZXJvIG8gZWwN Cj4gPiBkaXJlY3RvcmlvKQ0KPiA+DQo+ID4gICAgICAgIGF0DQo+ID4gamF2YS51dGlsLmNvbmN1 cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3INCj4g PiAuag0KPiA+IGF2YToxMTUxKQ0KPiA+DQo+ID4gICAgICAgIGF0DQo+ID4gamF2YS51dGlsLmNv bmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yJFdvcmtlci5ydW4oVGhyZWFkUG9vbEV4ZWN1dG9y Lg0KPiA+IGphdmE6NjE1KQ0KPiA+DQo+ID4gICAgICAgIGF0IGphdmEubGFuZy5UaHJlYWQucnVu KFRocmVhZC5qYXZhOjc0NSkNCj4gPg0KPiA+IENhdXNlZCBieTogamF2YS5pby5GaWxlTm90Rm91 bmRFeGNlcHRpb246IGVtcHR5LnR4dCAoTm8gZXhpc3RlIGVsIA0KPiA+IGZpY2hlcm8gbyBlbCBk aXJlY3RvcmlvKQ0KPiA+DQo+ID4gICAgICAgIGF0IGphdmEuaW8uUmFuZG9tQWNjZXNzRmlsZS5v cGVuKE5hdGl2ZSBNZXRob2QpDQo+ID4NCj4gPiAgICAgICAgYXQgamF2YS5pby5SYW5kb21BY2Nl c3NGaWxlLjxpbml0PihSYW5kb21BY2Nlc3NGaWxlLmphdmE6MjQxKQ0KPiA+DQo+ID4gICAgICAg IGF0IGphdmEuaW8uUmFuZG9tQWNjZXNzRmlsZS48aW5pdD4oUmFuZG9tQWNjZXNzRmlsZS5qYXZh OjEyMikNCj4gPg0KPiA+ICAgICAgICBhdA0KPiA+IG9yZy5hcGFjaGUuc2FtemEuc3lzdGVtLmZp bGVyZWFkZXIuRmlsZVJlYWRlclN5c3RlbUNvbnN1bWVyJCRhbm9uJDEuDQo+ID4gcnUNCj4gPiBu KEZpbGVSZWFkZXJTeXN0ZW1Db25zdW1lci5zY2FsYToxMjEpDQo+ID4NCj4gPiAgICAgICAgYXQN Cj4gPiBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRo cmVhZFBvb2xFeGVjdXRvcg0KPiA+IC5qDQo+ID4gYXZhOjExNDUpDQo+ID4NCj4gPiAgICAgICAg Li4uIDIgbW9yZQ0KPiA+DQo+ID4gRXhjZXB0aW9uIGluIHRocmVhZCAiU0FNWkEtZmlsZXJlYWRl ci0iIGphdmEubGFuZy5FcnJvcjoNCj4gPiBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjog dHdvRW50ZXIudHh0IChObyBleGlzdGUgZWwgZmljaGVybyBvIA0KPiA+IGVsDQo+ID4gZGlyZWN0 b3JpbykNCj4gPg0KPiA+ICAgICAgICBhdA0KPiA+IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVh ZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yDQo+ID4gLmoNCj4gPiBh dmE6MTE1MSkNCj4gPg0KPiA+ICAgICAgICBhdA0KPiA+IGphdmEudXRpbC5jb25jdXJyZW50LlRo cmVhZFBvb2xFeGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci4NCj4gPiBqYXZh OjYxNSkNCj4gPg0KPiA+ICAgICAgICBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2 YTo3NDUpDQo+ID4NCj4gPiBDYXVzZWQgYnk6IGphdmEuaW8uRmlsZU5vdEZvdW5kRXhjZXB0aW9u OiB0d29FbnRlci50eHQgKE5vIGV4aXN0ZSBlbCANCj4gPiBmaWNoZXJvIG8gZWwgZGlyZWN0b3Jp bykNCj4gPg0KPiA+ICAgICAgICBhdCBqYXZhLmlvLlJhbmRvbUFjY2Vzc0ZpbGUub3BlbihOYXRp dmUgTWV0aG9kKQ0KPiA+DQo+ID4gICAgICAgIGF0IGphdmEuaW8uUmFuZG9tQWNjZXNzRmlsZS48 aW5pdD4oUmFuZG9tQWNjZXNzRmlsZS5qYXZhOjI0MSkNCj4gPg0KPiA+ICAgICAgICBhdCBqYXZh LmlvLlJhbmRvbUFjY2Vzc0ZpbGUuPGluaXQ+KFJhbmRvbUFjY2Vzc0ZpbGUuamF2YToxMjIpDQo+ ID4NCj4gPiAgICAgICAgYXQNCj4gPiBvcmcuYXBhY2hlLnNhbXphLnN5c3RlbS5maWxlcmVhZGVy LkZpbGVSZWFkZXJTeXN0ZW1Db25zdW1lciQkYW5vbiQxLg0KPiA+IHJ1DQo+ID4gbihGaWxlUmVh ZGVyU3lzdGVtQ29uc3VtZXIuc2NhbGE6MTIxKQ0KPiA+DQo+ID4gICAgICAgIGF0DQo+ID4gamF2 YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFkUG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29s RXhlY3V0b3INCj4gPiAuag0KPiA+IGF2YToxMTQ1KQ0KPiA+DQo+ID4gICAgICAgIC4uLiAyIG1v cmUNCj4gPg0KPiA+IEV4Y2VwdGlvbiBpbiB0aHJlYWQgIlNBTVpBLWZpbGVyZWFkZXItIiBqYXZh LmxhbmcuRXJyb3I6DQo+ID4gamF2YS5pby5GaWxlTm90Rm91bmRFeGNlcHRpb246IG5vRW50ZXIu dHh0IChObyBleGlzdGUgZWwgZmljaGVybyBvIA0KPiA+IGVsDQo+ID4gZGlyZWN0b3JpbykNCj4g Pg0KPiA+ICAgICAgICBhdA0KPiA+IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVj dXRvci5ydW5Xb3JrZXIoVGhyZWFkUG9vbEV4ZWN1dG9yDQo+ID4gLmoNCj4gPiBhdmE6MTE1MSkN Cj4gPg0KPiA+ICAgICAgICBhdA0KPiA+IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xF eGVjdXRvciRXb3JrZXIucnVuKFRocmVhZFBvb2xFeGVjdXRvci4NCj4gPiBqYXZhOjYxNSkNCj4g Pg0KPiA+ICAgICAgICBhdCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQo+ ID4NCj4gPiBDYXVzZWQgYnk6IGphdmEuaW8uRmlsZU5vdEZvdW5kRXhjZXB0aW9uOiBub0VudGVy LnR4dCAoTm8gZXhpc3RlIGVsIA0KPiA+IGZpY2hlcm8gbyBlbCBkaXJlY3RvcmlvKQ0KPiA+DQo+ ID4gICAgICAgIGF0IGphdmEuaW8uUmFuZG9tQWNjZXNzRmlsZS5vcGVuKE5hdGl2ZSBNZXRob2Qp DQo+ID4NCj4gPiAgICAgICAgYXQgamF2YS5pby5SYW5kb21BY2Nlc3NGaWxlLjxpbml0PihSYW5k b21BY2Nlc3NGaWxlLmphdmE6MjQxKQ0KPiA+DQo+ID4gICAgICAgIGF0IGphdmEuaW8uUmFuZG9t QWNjZXNzRmlsZS48aW5pdD4oUmFuZG9tQWNjZXNzRmlsZS5qYXZhOjEyMikNCj4gPg0KPiA+ICAg ICAgICBhdA0KPiA+IG9yZy5hcGFjaGUuc2FtemEuc3lzdGVtLmZpbGVyZWFkZXIuRmlsZVJlYWRl clN5c3RlbUNvbnN1bWVyJCRhbm9uJDEuDQo+ID4gcnUNCj4gPiBuKEZpbGVSZWFkZXJTeXN0ZW1D b25zdW1lci5zY2FsYToxMjEpDQo+ID4NCj4gPiAgICAgICAgYXQNCj4gPiBqYXZhLnV0aWwuY29u Y3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvcg0K PiA+IC5qDQo+ID4gYXZhOjExNDUpDQo+ID4NCj4gPiAgICAgICAgLi4uIDIgbW9yZQ0KPiA+DQo+ ID4gRXhjZXB0aW9uIGluIHRocmVhZCAiU0FNWkEtZmlsZXJlYWRlci0iIGphdmEubGFuZy5FcnJv cjoNCj4gPiBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjogbW9yZUVudGVyLnR4dCAoTm8g ZXhpc3RlIGVsIGZpY2hlcm8gbyANCj4gPiBlbA0KPiA+IGRpcmVjdG9yaW8pDQo+ID4NCj4gPiAg ICAgICAgYXQNCj4gPiBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3IucnVu V29ya2VyKFRocmVhZFBvb2xFeGVjdXRvcg0KPiA+IC5qDQo+ID4gYXZhOjExNTEpDQo+ID4NCj4g PiAgICAgICAgYXQNCj4gPiBqYXZhLnV0aWwuY29uY3VycmVudC5UaHJlYWRQb29sRXhlY3V0b3Ik V29ya2VyLnJ1bihUaHJlYWRQb29sRXhlY3V0b3IuDQo+ID4gamF2YTo2MTUpDQo+ID4NCj4gPiAg ICAgICAgYXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NzQ1KQ0KPiA+DQo+ID4g Q2F1c2VkIGJ5OiBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjogbW9yZUVudGVyLnR4dCAo Tm8gZXhpc3RlIA0KPiA+IGVsIGZpY2hlcm8gbyBlbCBkaXJlY3RvcmlvKQ0KPiA+DQo+ID4gICAg ICAgIGF0IGphdmEuaW8uUmFuZG9tQWNjZXNzRmlsZS5vcGVuKE5hdGl2ZSBNZXRob2QpDQo+ID4N Cj4gPiAgICAgICAgYXQgamF2YS5pby5SYW5kb21BY2Nlc3NGaWxlLjxpbml0PihSYW5kb21BY2Nl c3NGaWxlLmphdmE6MjQxKQ0KPiA+DQo+ID4gICAgICAgIGF0IGphdmEuaW8uUmFuZG9tQWNjZXNz RmlsZS48aW5pdD4oUmFuZG9tQWNjZXNzRmlsZS5qYXZhOjEyMikNCj4gPg0KPiA+ICAgICAgICBh dA0KPiA+IG9yZy5hcGFjaGUuc2FtemEuc3lzdGVtLmZpbGVyZWFkZXIuRmlsZVJlYWRlclN5c3Rl bUNvbnN1bWVyJCRhbm9uJDEuDQo+ID4gcnUNCj4gPiBuKEZpbGVSZWFkZXJTeXN0ZW1Db25zdW1l ci5zY2FsYToxMjEpDQo+ID4NCj4gPiAgICAgICAgYXQNCj4gPiBqYXZhLnV0aWwuY29uY3VycmVu dC5UaHJlYWRQb29sRXhlY3V0b3IucnVuV29ya2VyKFRocmVhZFBvb2xFeGVjdXRvcg0KPiA+IC5q DQo+ID4gYXZhOjExNDUpDQo+ID4NCj4gPiAgICAgICAgLi4uIDIgbW9yZQ0KPiA+DQo+ID4gRXhj ZXB0aW9uIGluIHRocmVhZCAiU0FNWkEtZmlsZXJlYWRlci0iIGphdmEubGFuZy5FcnJvcjoNCj4g PiBqYXZhLmlvLkZpbGVOb3RGb3VuZEV4Y2VwdGlvbjogb25lRW50ZXIudHh0IChObyBleGlzdGUg ZWwgZmljaGVybyBvIA0KPiA+IGVsDQo+ID4gZGlyZWN0b3JpbykNCj4gPg0KPiA+ICAgICAgICBh dA0KPiA+IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvci5ydW5Xb3JrZXIo VGhyZWFkUG9vbEV4ZWN1dG9yDQo+ID4gLmoNCj4gPiBhdmE6MTE1MSkNCj4gPg0KPiA+ICAgICAg ICBhdA0KPiA+IGphdmEudXRpbC5jb25jdXJyZW50LlRocmVhZFBvb2xFeGVjdXRvciRXb3JrZXIu cnVuKFRocmVhZFBvb2xFeGVjdXRvci4NCj4gPiBqYXZhOjYxNSkNCj4gPg0KPiA+ICAgICAgICBh dCBqYXZhLmxhbmcuVGhyZWFkLnJ1bihUaHJlYWQuamF2YTo3NDUpDQo+ID4NCj4gPiBDYXVzZWQg Ynk6IGphdmEuaW8uRmlsZU5vdEZvdW5kRXhjZXB0aW9uOiBvbmVFbnRlci50eHQgKE5vIGV4aXN0 ZSBlbCANCj4gPiBmaWNoZXJvIG8gZWwgZGlyZWN0b3JpbykNCj4gPg0KPiA+ICAgICAgICBhdCBq YXZhLmlvLlJhbmRvbUFjY2Vzc0ZpbGUub3BlbihOYXRpdmUgTWV0aG9kKQ0KPiA+DQo+ID4gICAg ICAgIGF0IGphdmEuaW8uUmFuZG9tQWNjZXNzRmlsZS48aW5pdD4oUmFuZG9tQWNjZXNzRmlsZS5q YXZhOjI0MSkNCj4gPg0KPiA+ICAgICAgICBhdCBqYXZhLmlvLlJhbmRvbUFjY2Vzc0ZpbGUuPGlu aXQ+KFJhbmRvbUFjY2Vzc0ZpbGUuamF2YToxMjIpDQo+ID4NCj4gPiAgICAgICAgYXQNCj4gPiBv cmcuYXBhY2hlLnNhbXphLnN5c3RlbS5maWxlcmVhZGVyLkZpbGVSZWFkZXJTeXN0ZW1Db25zdW1l ciQkYW5vbiQxLg0KPiA+IHJ1DQo+ID4gbihGaWxlUmVhZGVyU3lzdGVtQ29uc3VtZXIuc2NhbGE6 MTIxKQ0KPiA+DQo+ID4gICAgICAgIGF0DQo+ID4gamF2YS51dGlsLmNvbmN1cnJlbnQuVGhyZWFk UG9vbEV4ZWN1dG9yLnJ1bldvcmtlcihUaHJlYWRQb29sRXhlY3V0b3INCj4gPiAuag0KPiA+IGF2 YToxMTQ1KQ0KPiA+DQo+ID4gICAgICAgIC4uLiAyIG1vcmUNCj4gPg0KPiA+IFdoYXQgSSBhbSBt aXNzaW5nPyBUaGFua3MgaW4gYWR2YW5jZS4NCj4gPg0KPiA+IEJ5ZQ0KPiA+DQo+ID4gICAgICAg ICAgICAgICAgIEpvcmRpDQo+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4g PiBKb3JkaSBCbGFzaSBVcmliYXJyaQ0KPiA+IMOBcmVhIEkrRCtpDQo+ID4NCj4gPiBqYmxhc2lA bmV4dGVsLmVzDQo+ID4gT2ZpY2luYSBCaWxiYW8NCj4gPg0KPiA+IFtodHRwOi8vd3d3Lm5leHRl bC5lcy93cC1jb250ZW50L3VwbG9hZHMvRmlybWFfTmV4dGVsXzIwMTUucG5nXQ0KPiA+DQo+DQoN Cg0KDQotLQ0KTmF2aW5hIFIuDQo=