Return-Path: X-Original-To: apmail-cordova-dev-archive@www.apache.org Delivered-To: apmail-cordova-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id B26A117D29 for ; Wed, 28 Jan 2015 17:06:16 +0000 (UTC) Received: (qmail 20732 invoked by uid 500); 28 Jan 2015 17:06:17 -0000 Delivered-To: apmail-cordova-dev-archive@cordova.apache.org Received: (qmail 20697 invoked by uid 500); 28 Jan 2015 17:06:16 -0000 Mailing-List: contact dev-help@cordova.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cordova.apache.org Delivered-To: mailing list dev@cordova.apache.org Received: (qmail 20686 invoked by uid 99); 28 Jan 2015 17:06:16 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jan 2015 17:06:16 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=RCVD_IN_DNSWL_NONE,SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of muratsu@microsoft.com designates 65.55.169.117 as permitted sender) Received: from [65.55.169.117] (HELO na01-bl2-obe.outbound.protection.outlook.com) (65.55.169.117) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Jan 2015 17:05:48 +0000 Received: from SN2PR03MB032.namprd03.prod.outlook.com (10.255.175.42) by SN2PR03MB031.namprd03.prod.outlook.com (10.255.175.41) with Microsoft SMTP Server (TLS) id 15.1.65.13; Wed, 28 Jan 2015 17:05:45 +0000 Received: from SN2PR03MB032.namprd03.prod.outlook.com ([169.254.13.145]) by SN2PR03MB032.namprd03.prod.outlook.com ([169.254.13.145]) with mapi id 15.01.0065.013; Wed, 28 Jan 2015 17:05:45 +0000 From: Murat Sutunc To: "dev@cordova.apache.org" Subject: RE: [DISCUSS] Cordova-Android 4.0.0 Release Thread-Topic: [DISCUSS] Cordova-Android 4.0.0 Release Thread-Index: AQHQOxaWsXL8idTilE2goYdqDun7uZzVuTSAgAAJg8A= Date: Wed, 28 Jan 2015 17:05:44 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [199.231.240.200] authentication-results: cordova.apache.org; dkim=none (message not signed) header.d=none;cordova.apache.org; dmarc=none action=none header.from=microsoft.com; x-dmarcaction-test: None x-microsoft-antispam: BCL:0;PCL:0;RULEID:(3005004);SRVR:SN2PR03MB031; x-exchange-antispam-report-test: UriScan:; x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:;SRVR:SN2PR03MB031; x-forefront-prvs: 047001DADA x-forefront-antispam-report: SFV:NSPM;SFS:(10019020)(6009001)(51704005)(377454003)(13464003)(43784003)(24454002)(107886001)(2351001)(86362001)(54356999)(50986999)(86612001)(99286002)(19580405001)(106116001)(2950100001)(325944007)(102836002)(76176999)(92566002)(2900100001)(33656002)(40100003)(87936001)(66066001)(450100001)(74316001)(54206007)(110136001)(62966003)(19580395003)(2656002)(77156002)(122556002)(46102003)(2501002)(76576001);DIR:OUT;SFP:1102;SCL:1;SRVR:SN2PR03MB031;H:SN2PR03MB032.namprd03.prod.outlook.com;FPR:;SPF:None;MLV:sfv;LANG:en; Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: microsoft.onmicrosoft.com X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Jan 2015 17:05:44.9929 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 72f988bf-86f1-41af-91ab-2d7cd011db47 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN2PR03MB031 X-Virus-Checked: Checked by ClamAV on apache.org SeKAmXZlIHJhbiB0aGUgbW9iaWxlLXNwZWMgdGVzdHMgb24gYW5kcm9pZCA0LjAuMyB3aXRoIDQu MC54IGFuZCB0aGVyZSBhcmUgc29tZSBmYWlsdXJlcy4gSeKAmXZlIHNlYXJjaGVkIHRoZSBqaXJh IGZvciBpc3N1ZXMgYnV0IHdhc27igJl0IGFibGUgdG8gZmluZCBhbnkuIEhhcyBhbnlvbmUgZWxz ZSByYW4gaW50byB0aGVzZSBpc3N1ZXMgYmVmb3JlPw0KDQpvcmcuYXBhY2hlLmNvcmRvdmEuY29u dGFjdHMudGVzdHMudGVzdHMgPj4gQ29udGFjdHMgKG5hdmlnYXRvci5jb250YWN0cykgUm91bmQg dHJpcCBDb250YWN0IHRlc3RzIChjcmVhdGluZyArIHNhdmUgKyBkZWxldGUgKyBmaW5kKS4gQ29u dGFjdHMuc3BlYy4yNCBDcmVhdGluZywgc2F2aW5nLCBmaW5kaW5nIGEgY29udGFjdCBzaG91bGQg d29yaywgYWZ0ZXIgd2hpY2ggd2Ugc2hvdWxkIG5vdCBiZSBhYmxlIHRvIGZpbmQgaXQsIGFuZCB3 ZSBzaG91bGQgbm90IGJlIGFibGUgdG8gZGVsZXRlIGl0IGFnYWluLg0K4oCiCUV4cGVjdGVkIDIg dG8gYmUgMQ0K4oCiCUV4cGVjdGVkIDEgdG8gYmUgMA0KICAgICAgICAgaXQoImNvbnRhY3RzLnNw ZWMuMjQgQ3JlYXRpbmcsIHNhdmluZywgZmluZGluZyBhIGNvbnRhY3Qgc2hvdWxkIHdvcmssIHJl bW92aW5nIGl0IHNob3VsZCB3b3JrLCBhZnRlciB3aGljaCB3ZSBzaG91bGQgbm90IGJlIGFibGUg dG8gZmluZCBpdCwgYW5kIHdlIHNob3VsZCBub3QgYmUgYWJsZSB0byBkZWxldGUgaXQgYWdhaW4u IiwgZnVuY3Rpb24gKGRvbmUpIHsNCiAgICAgICAgICAgICAgLy8gU2F2ZSBtZXRob2QgaXMgbm90 IHN1cHBvcnRlZCBvbiBXaW5kb3dzIHBsYXRmb3JtDQogICAgICAgICAgICAgIGlmIChpc1dpbmRv d3MpIHsNCiAgICAgICAgICAgICAgICAgIHBlbmRpbmcoKTsNCiAgICAgICAgICAgICAgICAgIHJl dHVybjsNCiAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICBpZiAoaXNXaW5kb3dzUGhvbmU4 KSB7DQogICAgICAgICAgICAgICAgICBkb25lKCk7DQogICAgICAgICAgICAgICAgICByZXR1cm47 DQogICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgZ0NvbnRhY3RPYmogPSBuZXcgQ29udGFj dCgpOw0KICAgICAgICAgICAgICBnQ29udGFjdE9iai5uYW1lID0gbmV3IENvbnRhY3ROYW1lKCk7 DQogICAgICAgICAgICAgIGdDb250YWN0T2JqLm5hbWUuZmFtaWx5TmFtZSA9ICJEZWxldGVNZSI7 DQogICAgICAgICAgICAgIGdDb250YWN0T2JqLnNhdmUoZnVuY3Rpb24oY19vYmopIHsNCiAgICAg ICAgICAgICAgICAgIHZhciBmaW5kV2luID0gZnVuY3Rpb24oY3MpIHsNCiAgICAgICAgICAgICAg ICAgICAgICBleHBlY3QoY3MubGVuZ3RoKS50b0JlKDEpOw0KICAgICAgICAgICAgICAgICAgICAg IC8vIHVwZGF0ZSB0byBoYXZlIHByb3BlciBzYXZlZCBpZA0KICAgICAgICAgICAgICAgICAgICAg IGdDb250YWN0T2JqID0gY3NbMF07DQogICAgICAgICAgICAgICAgICAgICAgZ0NvbnRhY3RPYmou cmVtb3ZlKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmluZFdp bkFnYWluID0gZnVuY3Rpb24oc2Vhcykgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZXhwZWN0KHNlYXMubGVuZ3RoKS50b0JlKDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZ0NvbnRhY3RPYmoucmVtb3ZlKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRocm93KCJzdWNjZXNzIGNhbGxiYWNrIGNhbGxlZCBhZnRlciBub24tZXhp c3RlbnQgQ29udGFjdCBvYmplY3QgY2FsbGVkIHJlbW92ZSgpLiBUZXN0IGZhaWxlZC4iKTsNCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBleHBlY3QoZS5jb2RlKS50b0JlKENvbnRhY3RFcnJvci5V TktOT1dOX0VSUk9SKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb25lKCk7 DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgfTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZpbmRGYWlsQWdhaW4gPSBm dW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJvdygiZmluZCBl cnJvciBjYWxsYmFjayBpbnZva2VkIGFmdGVyIGRlbGV0ZSwgdGVzdCBmYWlsZWQuIik7DQogICAg ICAgICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBv YmogPSBuZXcgQ29udGFjdEZpbmRPcHRpb25zKCk7DQogICAgICAgICAgICAgICAgICAgICAgICAg IG9iai5maWx0ZXI9IkRlbGV0ZU1lIjsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqLm11 bHRpcGxlPXRydWU7DQogICAgICAgICAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci5jb250YWN0 cy5maW5kKFsiZGlzcGxheU5hbWUiLCAibmFtZSIsICJwaG9uZU51bWJlcnMiLCAiZW1haWxzIl0s IGZpbmRXaW5BZ2FpbiwgZmluZEZhaWxBZ2Fpbiwgb2JqKTsNCiAgICAgICAgICAgICAgICAgICAg ICB9LCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93KCJOZXds eSBjcmVhdGVkIGNvbnRhY3QncyByZW1vdmUgZnVuY3Rpb24gaW52b2tlZCBlcnJvciBjYWxsYmFj ay4gVGVzdCBmYWlsZWQuIik7DQogICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAg ICAgICAgICB9Ow0KICAgICAgICAgICAgICAgICAgdmFyIGZpbmRGYWlsID0gZmFpbDsNCiAgICAg ICAgICAgICAgICAgIHZhciBvYmogPSBuZXcgQ29udGFjdEZpbmRPcHRpb25zKCk7DQogICAgICAg ICAgICAgICAgICBvYmouZmlsdGVyPSJEZWxldGVNZSI7DQogICAgICAgICAgICAgICAgICBvYmou bXVsdGlwbGU9dHJ1ZTsNCiAgICAgICAgICAgICAgICAgIG5hdmlnYXRvci5jb250YWN0cy5maW5k KFsiZGlzcGxheU5hbWUiLCAibmFtZSIsICJwaG9uZU51bWJlcnMiLCAiZW1haWxzIl0sIGZpbmRX aW4sIGZpbmRGYWlsLCBvYmopOw0KICAgICAgICAgICAgICB9LCBmYWlsKTsNCiAgICAgICAgICB9 KTsNCg0Kb3JnLmFwYWNoZS5jb3Jkb3ZhLmZpbGUudGVzdHMudGVzdCA+PiBmaWxlIGFwaSBmaWxl cmVhZGVyIGZpbGUuc3BlYy44MSAoY291bGRu4oCZdCBmaW5kIGEgSklSQSBpc3N1ZSkNCuKAoglF eHBlY3RlZCBgYCB0byBiZSBudWxsDQogICAgICAgIGRlc2NyaWJlKCdGaWxlUmVhZGVyJywgZnVu Y3Rpb24gKCkgew0KICAgICAgICAgICAgaXQoImZpbGUuc3BlYy44MSBzaG91bGQgaGF2ZSBjb3Jy ZWN0IG1ldGhvZHMiLCBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICAgICAgdmFyIHJlYWRlciA9 IG5ldyBGaWxlUmVhZGVyKCk7DQogICAgICAgICAgICAgICAgZXhwZWN0KHJlYWRlcikudG9CZURl ZmluZWQoKTsNCiAgICAgICAgICAgICAgICBleHBlY3QodHlwZW9mIHJlYWRlci5yZWFkQXNCaW5h cnlTdHJpbmcpLnRvQmUoJ2Z1bmN0aW9uJyk7DQogICAgICAgICAgICAgICAgZXhwZWN0KHR5cGVv ZiByZWFkZXIucmVhZEFzRGF0YVVSTCkudG9CZSgnZnVuY3Rpb24nKTsNCiAgICAgICAgICAgICAg ICBleHBlY3QodHlwZW9mIHJlYWRlci5yZWFkQXNUZXh0KS50b0JlKCdmdW5jdGlvbicpOw0KICAg ICAgICAgICAgICAgIGV4cGVjdCh0eXBlb2YgcmVhZGVyLnJlYWRBc0FycmF5QnVmZmVyKS50b0Jl KCdmdW5jdGlvbicpOw0KICAgICAgICAgICAgICAgIGV4cGVjdCh0eXBlb2YgcmVhZGVyLmFib3J0 KS50b0JlKCdmdW5jdGlvbicpOw0KICAgICAgICAgICAgICAgIC8vLy8vLy8vLy8vLyB0ZXN0IGJl bG93IGZhaWxzIC8vLy8vLy8vLy8vLw0KICAgICAgICAgICAgICAgIC8vLy8vLy8vLy8vLyAgICcn ICE9PSBudWxsICAgIC8vLy8vLy8vLy8vLw0KICAgICAgICAgICAgICAgIGV4cGVjdChyZWFkZXIu cmVzdWx0KS50b0JlKG51bGwpOyANCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9KTsNCg0Kb3Jn LmFwYWNoZS5jb3Jkb3ZhLmZpbGUudGVzdHMudGVzdHMgPj4gZmlsZSBhcGkgcGFyZW50IHJlZmVy ZW5jZXMgZmlsZS5zcGVjLjExMSAoY291bGRu4oCZdCBmaW5kIGEgZmlyZSBpc3N1ZSk6DQrigKIJ cm9vdC5nZXRGaWxlIHN1Y2NlZWRzLCBpdCBpcyBleHBlY3RlZCB0byBmYWlsLg0KdmFyIGZpbGVO YW1lID0gInRyYXZlcnNlLmZpbGUudXJpIjsNCiAgICAgICAgICAgICAgICAvLyBjcmVhdGUgYSBu ZXcgZmlsZSBlbnRyeQ0KICAgICAgICAgICAgICAgIGNyZWF0ZUZpbGUoZmlsZU5hbWUsIGZ1bmN0 aW9uIChlbnRyeSkgew0KICAgICAgICAgICAgICAgICAgICAvLyBsb29rdXAgZmlsZSBzeXN0ZW0g ZW50cnkNCiAgICAgICAgICAgICAgICAgICAgcm9vdC5nZXRGaWxlKCcuLi8nICsgZmlsZU5hbWUs IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSA6IGZhbHNlDQogICAgICAgICAgICAg ICAgICAgIH0sIHN1Y2NlZWQuYmluZChudWxsLCBkb25lLCAicm9vdC5nZXRGaWxlKCcuLi8iK2Zp bGVOYW1lKyAiJyktIFVuZXhwZWN0ZWQgc3VjY2VzcyBjYWxsYmFjaywgaXQgc2hvdWxkIG5vdCB0 cmF2ZXJzZSBhYnZvZSB0aGUgcm9vdCBkaXJlY3RvcnkiKSwgDQogICAgICAgICAgICAgICAgICAg IGZ1bmN0aW9uIChlcnJvcikgeyAvLy4uLi4uDQoNCm9yZy5hcGFjaGUuY29yZG92YS5maWxlLXRy YW5zZmVyLnRlc3RzLnRlc3RzID4+IEZpbGVUcmFuc2ZlciBtZXRob2RzIGRvd25sb2FkIGZpbGV0 cmFuc2Zlci5zcGVjLjYgc2hvdWxkIGdldCA0MDEgc3RhdHVzIG9uIGh0dHAgYmFzaWMgYXV0aCBm YWlsdXJlDQrigKIJRXhwZWN0ZWQgbnVsbCB0byBiZSA0MDENCiAgICAgICAgICAgICAgICBpdCgn ZmlsZXRyYW5zZmVyLnNwZWMuNiBzaG91bGQgZ2V0IDQwMSBzdGF0dXMgb24gaHR0cCBiYXNpYyBh dXRoIGZhaWx1cmUnLCBmdW5jdGlvbiAoZG9uZSkgew0KDQogICAgICAgICAgICAgICAgICAgIC8v IE5PVEU6DQogICAgICAgICAgICAgICAgICAgIC8vICAgICAgdXNpbmcgc2VydmVyIHdpdGhvdXQg Y3JlZGVudGlhbHMNCiAgICAgICAgICAgICAgICAgICAgdmFyIGZpbGVVUkwgPSBTRVJWRVIgKyAn L2Rvd25sb2FkX2Jhc2ljX2F1dGgnOw0KDQogICAgICAgICAgICAgICAgICAgIHZhciBkb3dubG9h ZEZhaWwgPSBmdW5jdGlvbiAoZXJyb3IpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVj dChlcnJvci5odHRwX3N0YXR1cykudG9CZSg0MDEpOw0KICAgICAgICAgICAgICAgICAgICAgICAg ZXhwZWN0KGVycm9yLmh0dHBfc3RhdHVzKS5ub3QudG9CZSg0MDQsICJFbnN1cmUgIiArIGZpbGVV UkwgKyAiIGlzIGluIHRoZSB3aGl0ZSBsaXN0Iik7DQogICAgICAgICAgICAgICAgICAgICAgICBk b25lKCk7DQogICAgICAgICAgICAgICAgICAgIH07DQoNCiAgICAgICAgICAgICAgICAgICAgdHJh bnNmZXIuZG93bmxvYWQoZmlsZVVSTCwgbG9jYWxGaWxlUGF0aCwgdW5leHBlY3RlZENhbGxiYWNr cy5odHRwV2luLCBkb3dubG9hZEZhaWwpOw0KICAgICAgICAgICAgICAgIH0pOw0KDQpvcmcuYXBh Y2hlLmNvcmRvdmEuZ2VvbG9jYXRpb24udGVzdHMudGVzdHMgPj4gZ2V0Q3VycmVudFBvc2l0aW9u IG1ldGhvZCBzdWNjZXNzIGNhbGxiYWNrIGdlb2xvY2F0aW9uLnNwZWMuNiBzaG91bGQgYmUgY2Fs bGVkIHdpdGggYSBwb3NpdGlvbiBvYmplY3QNCuKAoglFeHBlY3RlZCB0cnVlIHRvIGJlIGZhbHNl DQogICAgICAgICAgICBpdCgiZ2VvbG9jYXRpb24uc3BlYy42IHNob3VsZCBiZSBjYWxsZWQgd2l0 aCBhIFBvc2l0aW9uIG9iamVjdCIsIGZ1bmN0aW9uIChkb25lKSB7DQogICAgICAgICAgICAgICAg Ly8gdGhpcyB0ZXN0IGFza3MgZm9yIHVzaW5nIGdlb2xvY2F0aW9uIGFuZCBpbnRlcnJ1cHRzIGF1 dG90ZXN0cyBydW5uaW5nLg0KICAgICAgICAgICAgICAgIC8vIFRoYXQncyB3aHkgd2UgaGF2ZSB0 byBwZW5kaW5nIHRoYXQgZm9yIFdpbmRvd3MgU3RvcmUgOC4wLzguMSBhcHBzDQogICAgICAgICAg ICAgICAgaWYgKGlzV2luZG93c1N0b3JlKSB7DQogICAgICAgICAgICAgICAgICAgIHBlbmRpbmco KTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgbmF2aWdhdG9yLmdlb2xvY2F0 aW9uLmdldEN1cnJlbnRQb3NpdGlvbihmdW5jdGlvbiAocCkgew0KICAgICAgICAgICAgICAgICAg ICBleHBlY3QocC5jb29yZHMpLnRvQmVEZWZpbmVkKCk7DQogICAgICAgICAgICAgICAgICAgIGV4 cGVjdChwLnRpbWVzdGFtcCkudG9CZURlZmluZWQoKTsNCiAgICAgICAgICAgICAgICAgICAgZG9u ZSgpOw0KICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgZmFpbC5iaW5kKG51bGws IGRvbmUpLA0KICAgICAgICAgICAgICAgIHsNCiAgICAgICAgICAgICAgICAgICAgbWF4aW11bUFn ZTogMzAwMDAwIC8vIDUgbWludXRlcyBtYXhpbXVtIGFnZSBvZiBjYWNoZWQgcG9zaXRpb24NCiAg ICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0pOw0KDQpvcmcuYXBhY2hlLmNvcmRvdmEu Z2VvbG9jYXRpb24udGVzdHMudGVzdHMgPj4gd2F0Y2hQb3NpdGlvbiBtZXRob2Qgc3VjY2VzcyBj YWxsYmFjayBnZW9sb2NhdGlvbi5zcGVjLjggc2hvdWxkIGJlIGNhbGxlZCB3aXRoIGEgIHBvc2l0 aW9uIG9iamVjdA0K4oCiCUV4cGVjdGVkIHRydWUgdG8gYmUgZmFsc2UNCiAgICAgICAgICAgIGl0 KCJnZW9sb2NhdGlvbi5zcGVjLjggc2hvdWxkIGJlIGNhbGxlZCB3aXRoIGEgUG9zaXRpb24gb2Jq ZWN0IiwgZnVuY3Rpb24gKGRvbmUpIHsNCiAgICAgICAgICAgICAgICAvLyB0aGlzIHRlc3QgYXNr cyBmb3IgdXNpbmcgZ2VvbG9jYXRpb24gYW5kIGludGVycnVwdHMgYXV0b3Rlc3RzIHJ1bm5pbmcu DQogICAgICAgICAgICAgICAgLy8gVGhhdCdzIHdoeSB3ZSBoYXZlIHRvIHBlbmRpbmcgdGhhdCBm b3IgV2luZG93cyBTdG9yZSA4LjAvOC4xIGFwcHMNCiAgICAgICAgICAgICAgICBpZiAoaXNXaW5k b3dzU3RvcmUpIHsNCiAgICAgICAgICAgICAgICAgICAgcGVuZGluZygpOw0KICAgICAgICAgICAg ICAgIH0NCiAgICAgICAgICAgICAgICBzdWNjZXNzV2F0Y2ggPSBuYXZpZ2F0b3IuZ2VvbG9jYXRp b24ud2F0Y2hQb3NpdGlvbigNCiAgICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKHApIHsNCiAg ICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdChwLmNvb3JkcykudG9CZURlZmluZWQoKTsNCiAg ICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdChwLnRpbWVzdGFtcCkudG9CZURlZmluZWQoKTsN CiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoKTsNCiAgICAgICAgICAgICAgICAgICAgfSwN CiAgICAgICAgICAgICAgICAgICAgZmFpbC5iaW5kKG51bGwsIGRvbmUpLA0KICAgICAgICAgICAg ICAgICAgICB7DQogICAgICAgICAgICAgICAgICAgICAgICBtYXhpbXVtQWdlOiAoNSAqIDYwICog MTAwMCkgLy8gNSBtaW51dGVzIG1heGltdW0gYWdlIG9mIGNhY2hlZCBwb3NpdGlvbg0KICAgICAg ICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0pOw0KDQoNCi0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQpGcm9tOiBKb3NoIEJhdmFyaSBbbWFpbHRvOmpiYXZhcmlAZ21haWwuY29tXSAN ClNlbnQ6IFdlZG5lc2RheSwgSmFudWFyeSAyOCwgMjAxNSA4OjMwIEFNDQpUbzogZGV2QGNvcmRv dmEuYXBhY2hlLm9yZw0KU3ViamVjdDogUmU6IFtESVNDVVNTXSBDb3Jkb3ZhLUFuZHJvaWQgNC4w LjAgUmVsZWFzZQ0KDQpKb2UgYW5kIHRlYW0sDQoNCkkgd29yayBmb3IgSW9uaWMgYW5kIEkndmUg aGFkIHNvbWUgaW52b2x2ZW1lbnQgd2l0aCB0aGUgQ29yZG92YSBwcm9qZWN0IHNpbmNlIGxhc3Qg eWVhci4gQXQgSW9uaWMsIHdlJ3ZlIHJlbGVhc2VkIGEgQ3Jvc3N3YWxrIGJ1aWxkIHVzaW5nIENv cmRvdmEgQW5kcm9pZCA0LjAgc28gd2UgY2FuIHVzZSB0aGUgY29yZG92YSBjcm9zc3dhbGsgZW5n aW5lIGZvciB0aGUgaW9uaWMgcGxhdGZvcm0uDQoNCkkndmUgYmVlbiB3b3JraW5nIHdpdGggSWFu IGFuZCBBbmRyZXcgb24gdGhpcyB0byBnYXRoZXIgbW9yZSB1bmRlcnN0YW5kaW5nIGFuZCB0byBn ZXQgc29tZSBoZWxwIGFsb25nIHRoZSB3YXkuIEkgbXVzdCBzYXksIGV4Y2VsbGVudCB3b3JrLCBl dmVyeW9uZS4NCg0KQXMgc3VjaCwgd2UndmUgYWNjdW11bGF0ZWQgcXVpdGUgYSBiaXQgb2YgdXNl cnMgd2hvIGFyZSBhY3RpdmVseSB1c2luZyBDb3Jkb3ZhIEFuZHJvaWQgNC4wLiBDdXJyZW50bHks IHdlJ3ZlIGhhZCBvdmVyIDEwayB0ZXN0IHRyaWFscyB3aXRoIGl0LCBhbmQgSSdtIGhhcHB5IHRv IHNheSwgbW9zdGx5IGl0J3MgYmVlbiBzbW9vdGguDQoNCldoYXQgSSd2ZSBkb25lIGlzIG1hZGUg YSBmb3JrIHRvIGFkanVzdCBhIGZldyBzbWFsbCB0aGluZ3MsIGJ1dCBmb3IgdGhlIG1vc3QgcGFy dCwgd2UncmUgdXNpbmcgNC4wLg0KDQpJJ2QgbG92ZSB0byBwcm92aWRlIGFueSBtb3JlIGZlZWRi YWNrIHRoYXQgeW91J2Qgd2lzaC4NCg0KVGhhbmtzIGFnYWluIGZvciB0aGUgYXdlc29tZSB3b3Jr Lg0KDQpPbiBXZWQsIEphbiAyOCwgMjAxNSBhdCA5OjIxIEFNLCBKb2UgQm93c2VyIDxib3dzZXJq QGdtYWlsLmNvbT4gd3JvdGU6DQoNCj4gSGV5DQo+DQo+IFNvLCBpdCdzIGZpbmFsbHkgaGVyZS4g IEkgd2FudCB0byBzZWUgdXMgd29yayBtb3JlIG9uIFBsdWdnYWJsZSANCj4gV2Vidmlld3MsIGFu ZCBhZGRpbmcgdGhlIEFQSSwgYnV0IEkgdGhpbmsgaXQncyB0aW1lIHRoYXQgd2UgcmVsZWFzZWQg DQo+IHdoYXQgd2UndmUgYmVlbiB3b3JraW5nIG9uIGZvciBhbG1vc3QgYSB5ZWFyIHRvIG91ciB1 c2Vycy4gIEkga25vdyANCj4gdGhhdCB0aGUgQVBJIGlzbid0IGV4YWN0bHkgdGhlIG1vc3QgYXdl c29tZSB3ZSBjYW4gbWFrZSBpdCwgYnV0IGl0IA0KPiB3b3JrcywgYW5kIEknZCByYXRoZXIgaGF2 ZSBpdCBvdXQgYXQgODAlIHRoYW4gaXQgc2l0dGluZyBmb3IgYSBmZXcgbW9yZSBtb250aHMgaW4g bGltYm8uDQo+DQo+IEFyZSB0aGVyZSBhbnkgbWFqb3IgYmxvY2tpbmcgdGFza3MgdGhhdCB3b3Vs ZCBwcmV2ZW50IGEgdm90ZSB0aHJlYWQgDQo+IHRoYXQgYW55b25lIGtub3dzIGFib3V0LCBvciBz aG91bGQgd2Ugc3RhcnQgZmlyaW5nIHVwIGEgcmVsZWFzZT8gIEkgDQo+IGRvbid0IHRoaW5rIHdl J3JlIGdvaW5nIHRvIG1ha2Ugb3VyIEphbnVhcnkgZGF0ZSwgYnV0IHRoZSBmaXJzdCB3ZWVrIA0K PiBvZiBGZWJydWFyeSBpc24ndCB0aGF0IHRlcnJpYmxlLg0KPg0KPiBUaG91Z2h0cz8NCj4NCj4g Sm9lDQo+DQoNCg0KDQotLQ0KIkNsZWFyIHRob3VnaHRzIHByb2R1Y2UgY2xlYXIgcmVzdWx0cy4i DQpKb3NoIEJhdmFyaQ0KQXBwbGljYXRpb24gRGV2ZWxvcGVyDQpQaG9uZTogNDA1LTUwOS05NDQ4 DQpDZWxsOiA0MDUtODEyLTA0OTYNCkVtYWlsOiBqYmF2YXJpQGdtYWlsLmNvbQ0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NClRvIHVuc3Vic2NyaWJlLCBlLW1haWw6IGRldi11bnN1YnNj cmliZUBjb3Jkb3ZhLmFwYWNoZS5vcmcNCkZvciBhZGRpdGlvbmFsIGNvbW1hbmRzLCBlLW1h aWw6IGRldi1oZWxwQGNvcmRvdmEuYXBhY2hlLm9yZw0K