From dev-return-1755-apmail-openwhisk-dev-archive=openwhisk.apache.org@openwhisk.apache.org Tue Mar 27 22:26:10 2018 Return-Path: X-Original-To: apmail-openwhisk-dev-archive@minotaur.apache.org Delivered-To: apmail-openwhisk-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 9007017404 for ; Tue, 27 Mar 2018 22:26:10 +0000 (UTC) Received: (qmail 8033 invoked by uid 500); 27 Mar 2018 22:26:10 -0000 Delivered-To: apmail-openwhisk-dev-archive@openwhisk.apache.org Received: (qmail 7968 invoked by uid 500); 27 Mar 2018 22:26:10 -0000 Mailing-List: contact dev-help@openwhisk.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@openwhisk.apache.org Delivered-To: mailing list dev@openwhisk.apache.org Received: (qmail 7952 invoked by uid 99); 27 Mar 2018 22:26:09 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Mar 2018 22:26:09 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 47527180446 for ; Tue, 27 Mar 2018 22:26:09 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -0.103 X-Spam-Level: X-Spam-Status: No, score=-0.103 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001] autolearn=disabled Authentication-Results: spamd3-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=adobe.com Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id oWEte4JdhwsL for ; Tue, 27 Mar 2018 22:26:07 +0000 (UTC) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0047.outbound.protection.outlook.com [104.47.41.47]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id A68D85F39E for ; Tue, 27 Mar 2018 22:26:06 +0000 (UTC) Received: from CY4PR02MB2391.namprd02.prod.outlook.com (10.169.182.17) by CY4PR02MB2231.namprd02.prod.outlook.com (10.169.181.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P256) id 15.20.609.10; Tue, 27 Mar 2018 22:25:59 +0000 Received: from CY4PR02MB2391.namprd02.prod.outlook.com ([fe80::796e:8c02:3136:22cc]) by CY4PR02MB2391.namprd02.prod.outlook.com ([fe80::796e:8c02:3136:22cc%17]) with mapi id 15.20.0609.012; Tue, 27 Mar 2018 22:25:59 +0000 From: Tyson Norris To: "dev@openwhisk.apache.org" Subject: Re: Invoker HA on Mesos Thread-Topic: Invoker HA on Mesos Thread-Index: AQHTxgrp3jxCLNXNQEuH6GVEvLSDRKPkmO+AgAAQIoA= Date: Tue, 27 Mar 2018 22:25:59 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3445.5.20) authentication-results: spf=none (sender IP is ) smtp.mailfrom=tnorris@adobe.com; x-originating-ip: [67.170.221.233] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;CY4PR02MB2231;7:R2kB25T1vO+CJQaso0X9R6+elJobIhMl4yxNgIYzyBvFPBwcpozoQRAgYOZBL6TOLAGisNkQObDJn3EZG4bbp6mLqaUsgLf5ZsAqYfWUNN2OR1TLJnRKcMAIS5Flc97GgQ6uggrqTHcCy/hEtkszP5unE5D4bRWK8fGK7cjB9ks8BSr6mcX3wHGIdRoJbQLjhcL5E3VtXkod45xT94WN1KrhWMx7Vo1zysWLzl42pq00sHkx1QpUNphuygJkuPnC x-ms-exchange-antispam-srfa-diagnostics: SOS; x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: aecad457-a02b-4dd0-cfb8-08d59431b751 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(7020095)(4652020)(48565401081)(5600026)(4604075)(3008032)(4534165)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);SRVR:CY4PR02MB2231; x-ms-traffictypediagnostic: CY4PR02MB2231: x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(189930954265078)(274839183919467)(219752817060721)(104084551191319); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(8211001083)(61425038)(6040522)(2401047)(8121501046)(5005006)(3002001)(10201501046)(3231221)(944501327)(52105095)(93006095)(93001095)(6055026)(61426038)(61427038)(6041310)(20161123562045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(6072148)(201708071742011);SRVR:CY4PR02MB2231;BCL:0;PCL:0;RULEID:;SRVR:CY4PR02MB2231; x-forefront-prvs: 0624A2429E x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(39860400002)(39380400002)(376002)(346002)(396003)(366004)(199004)(189003)(3480700004)(3846002)(66066001)(76176011)(50226002)(7736002)(6116002)(36756003)(81166006)(57306001)(1730700003)(81156014)(8676002)(8936002)(305945005)(99286004)(186003)(3660700001)(26005)(106356001)(5660300001)(102836004)(59450400001)(2900100001)(6506007)(53546011)(2906002)(6916009)(68736007)(97736004)(316002)(105586002)(229853002)(446003)(10090500001)(11346002)(33656002)(2351001)(6486002)(6436002)(3280700002)(6306002)(561944003)(6512007)(5640700003)(14454004)(478600001)(6246003)(53936002)(966005)(86362001)(2501003)(476003)(2616005)(45080400002)(83716003)(25786009)(486005)(82746002)(5250100002)(486005);DIR:OUT;SFP:1101;SCL:1;SRVR:CY4PR02MB2231;H:CY4PR02MB2391.namprd02.prod.outlook.com;FPR:;SPF:None;PTR:InfoNoRecords;A:1;MX:1;LANG:en; received-spf: None (protection.outlook.com: adobe.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: 0srxxzmzBgHsKiaXc1VmyERSBrCUQOakJjNtdzc7dZ/JvmzBl/qJT1VACwKl+Exs1z1eUlzAvQZ5qBEywMVIYf849LFN/KC0W26STB31sRwKE+4USwC3vCCeTuGsHMv6iuM7+7Bb8S08f72hxm9PZgVqwSj3mNrUU4Dt2jenQZ9vXCOMyFgnHjTCibF5fPhtp+Kho85qgH7tVgieZW4mFzh/me0GR9tcxe6QxdK7ORYvhIlsb5UpKF5iB8xYicV29nrz0FYw2neAA/eeCU0fkRLhYnuGElf8duUntqDYhS27yke78rCkmu8bZJk6qSB3pZ5EPsTbCCoIrGSrImAsCw== spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: adobe.com X-MS-Exchange-CrossTenant-Network-Message-Id: aecad457-a02b-4dd0-cfb8-08d59431b751 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Mar 2018 22:25:59.0975 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fa7b1b5a-7b34-4387-94ae-d2c178decee1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR02MB2231 DQoNCj4gT24gTWFyIDI3LCAyMDE4LCBhdCAyOjI4IFBNLCBEYXZpZCBQIEdyb3ZlIDxncm92ZWRA dXMuaWJtLmNvbT4gd3JvdGU6DQo+IA0KPiBUeXNvbiBOb3JyaXMgPHRub3JyaXNAYWRvYmUuY29t LklOVkFMSUQ+IHdyb3RlIG9uIDAzLzI3LzIwMTggMDQ6MzM6NDggUE06DQo+PiANCj4+IFdl4oCZ dmUgYmVlbiBkaXNjdXNzaW5nIGhvdyB0byBoYW5kbGUgbWVzb3MgZnJhbWV3b3JrIEhBIGluIHRo ZQ0KPj4gSW52b2tlciwgYW5kIEkgY3JlYXRlZCBhIHByb3Bvc2FsIG9uIHRoZSB3aWtpIHRvIGRp c2N1c3MuDQo+PiANCj4+IGh0dHBzOi8vbmEwMS5zYWZlbGlua3MucHJvdGVjdGlvbi5vdXRsb29r LmNvbS8/dXJsPWh0dHBzJTNBJTJGJTJGY3dpa2kuYXBhY2hlLm9yZyUyRmNvbmZsdWVuY2UlMkZk aXNwbGF5JTJGT1BFTldISVNLJTJGQ2x1c3RlcmVkJTJCU2luZ2xldG9uJmRhdGE9MDIlN0MwMSU3 Q3Rub3JyaXMlNDBhZG9iZS5jb20lN0M2OGZjMjljN2UyZTE0MGI2YmFlMDA4ZDU5NDJhMWU5MSU3 Q2ZhN2IxYjVhN2IzNDQzODc5NGFlZDJjMTc4ZGVjZWUxJTdDMCU3QzAlN0M2MzY1Nzc4MzA5Nzgz NTA1ODkmc2RhdGE9UEdpR1hQem1STWVzVWFyNnFUTFBteU1ORyUyRkg2Z1JFMlh1cjA1QzNwZVJF JTNEJnJlc2VydmVkPTANCj4gK0ludm9rZXIrZm9yK0hBK29uK01lc29zDQo+PiANCj4+IEluIGdl bmVyYWwsIHRoZSBpZGVhIGlzIHRvIGFsbG93IGEgc2luZ2xlIGNsdXN0ZXItd2lkZS9zaW5nbGUN Cj4+IENvbnRhaW5lclBvb2wgdG8gb3BlcmF0ZSwgd2hpbGUgcHJvdmlkaW5nIGEgcmVhc29uYWJs ZSBmYWlsb3Zlcg0KPj4gYmVoYXZpb3IgaW4gY2FzZSBvZiBpdHMgdW5leHBlY3RlZCBkZWF0aC4N Cj4+IA0KPj4gVG8gYWNjb21wbGlzaCB0aGlzLCB0aGUgcHJvcG9zYWwgaXMgdG8gYWxsb3cgcGFy dHMgb2YgdGhlDQo+PiBDb250YWluZXJQb29sIChmcmVlUG9vbCBhbmQgcHJld2FybVBvb2wpIHRv IGJlIHJlcGxpY2F0ZWQgdG8gb3RoZXINCj4+IChwYXNzaXZlKSBpbnZva2VyIGluc3RhbmNlcywg YW5kIHRvIGFsbG93IHRoZSByZXBsaWNhdGVkIGNvbnRhaW5lcg0KPj4gbWV0YSBkYXRhIHRvIGJl IHVzZWQgYnkgQ29udGFpbmVyRmFjdG9yaWVzIHRvIHJlc3VycmVjdCBjb250YWluZXJzDQo+PiBm b3IgdXNlIGluIGNhc2UgYSBmYWlsdXJlIG9jY3Vycy4NCj4+IA0KPj4gVGhpcyBkb2VzIGEgY291 cGxlIHRoaW5ncywgbGlrZSByZW1vdmluZyB0aGUgbm90aW9uIG9mIHJlc291cmNlDQo+PiBzY2hl ZHVsaW5nIGZyb20gdGhlIENvbnRyb2xsZXIgKHNpbmNlIHRoZXJlIGlzIG9ubHkgZXZlciAxIGlu dm9rZXIpLA0KPj4gYW5kIGFsbG93cyB0aGUgQ29udGFpbmVyUG9vbCB0byBvcGVyYXRlIHdpdGgg YSBob2xpc3RpYyB2aWV3IG9mIHRoZQ0KPj4gY2x1c3RlciwgdXNlZnVsIGZvciB3aG9sZS1jbHVz dGVyIENvbnRhaW5lckZhY3RvcnkgaW1wbHMgbGlrZQ0KPj4gTWVzb3NDb250YWluZXJGYWN0b3J5 Lg0KPj4gDQo+PiBJ4oCZbSBjdXJpb3VzIGlmIHRoZSBrdWJlcm5ldGVzIGZvbGtzIHdpbGwgYWxz byBmaW5kIHRoaXMgdXNlZnVsPw0KPj4gDQo+IA0KPiBIaSBUeXNvbiwNCj4gDQo+IFRoYW5rcyBm b3Igd3JpdGluZyB0aGlzIHVwIQ0KPiANCj4gQSBjb3VwbGUgb2YgdGhvdWdodHMuDQo+IAkxLiBV c2luZyBBa2thIERpc3RyaWJ1dGVkIERhdGEgdG8gYWN0aXZlbHkgdHJhY2sgdGhlIHNldCBvZg0K PiBjb250YWluZXJzIHRvIHN1cHBvcnQgZmFpbHVyZSByZWNvdmVyeSBzZWVtcyBsaWtlIGEgbG90 IG9mIG92ZXJoZWFkLiAgRm9yDQo+IEt1YmVybmV0ZXMsIHdlIGFyZSBsYWJlbGluZyBhbGwgdGhl IGFjdGlvbiBjb250YWluZXJzIHdpdGggdGhlaXIgb3duaW5nDQo+IGludm9rZXIgdXNpbmcgS3Vi ZXJuZXRlcyBsYWJlbHMuICBTbywgd2hlbiBhbiBpbnZva2VyIGNyYXNoZXMgYW5kIGdldHMNCj4g cmVwbGFjZWQsIG9uZSBjb3VsZCByZWNvdmVyIGFsbCBvZiBpdHMgcHJld2FybWVkICYgZnJlZXBv b2wgY29udGFpbmVycyB3aXRoDQo+IGEgc2ltcGxlIHF1ZXJ5IGFnYWluc3QgdGhlIEt1YmVybmV0 ZXMgQVBJIHNlcnZlci4gIE5vIG5lZWQgdG8gdHJhY2sgdGhlIHNldA0KPiBhY3RpdmVseTsgS3Vi ZSBpcyBhbHJlYWR5IGRvaW5nIHRoYXQgdmlhIHRoZSBsYWJlbHMuICBBbnl0aGluZyBzaW1pbGFy IHRvDQo+IEt1YmUgbGFiZWxzIGluIE1lc29zPw0KDQpEbyB5b3UgaGF2ZSBhbiBleGFtcGxlIG9m IHRoZSBsYWJlbHMgd29ya2luZz8gSSBndWVzcyB0aGUgbGFiZWxzIGFyZSBjaGFuZ2VkIG92ZXIg dGltZSB0aHJvdWdoIHRoZSBsaWZlY3ljbGUgb2YgdGhlIGNvbnRhaW5lcj8gDQpOb3RoaW5nIEkg a25vdyBvZiBzaW1pbGFyIGluIG1lc29zLCBhbHRob3VnaCBpdCBjb3VsZCBiZSBkb25lIGluIHRo ZSBNZXNvc0NvbnRhaW5lckZhY3RvcnkgZm9yIHNpbWlsYXIgcHVycG9zZXMuIA0KDQpJIHRoaW5r IGl0IGlzIHBhcnRseSBhIHF1ZXN0aW9uIG9mIHdoZXJlIHRvIHBsYWNlIGNvbnRhaW5lciByZS1h c3NvY2lhdGlvbiBsb2dpYyAoaW4gdGhlIENvbnRhaW5lclBvb2w/IENvbnRhaW5lckZhY3Rvcnk/ IEJvdGg/KSwgYW5kIHBhcnRseSBob3cgdG8gaW1wbGVtZW50IENvbnRhaW5lclBvb2wgYmVoYXZp b3IuIA0KQ3VycmVudGx5IE1lc29zQ29udGFpbmVyRmFjdG9yeSBvcGVyYXRlcyBhcyBhbiBlbWJl ZGRlZCBtZXNvcyBjbGllbnQgdGhhdCBtdXN0IGJlaGF2ZSBhcyBhIHNpbmdsZXRvbiB3aXRoIGZh aWxvdmVyLCBzbyBDb250YWluZXJQb29sIG5lZWRzIHRvIGRvIHRoZSBzYW1lIA0KDQpBcyBmb3Ig dGhlIG92ZXJoZWFkLCBJ4oCZbSBub3Qgc3VyZSBpdCBpcywgb3IgaXNu4oCZdC4gQ3VycmVudGx5 IGl0IGlzIHVzaW5nIFdyaXRlTG9jYWwgd3JpdGVDb25zaXN0ZW5jeSB0byBwdWJsaXNoIHVwZGF0 ZXMgdG8gdGhlIHBvb2xzLCBhbmQgb25seSBvbiBwYXJ0aWN1bGFyIGNvbWJpbmF0aW9ucyAocHJl d2FybStQcmV3YXJtZWREYXRhLCBhbmQgZnJlZStXYXJtZWREYXRhKSAgIA0KDQpJ4oCZbGwgZ2V0 IHRoZSBQUiB1cCBzaG9ydGx5LiANCg0KDQoNCj4gDQo+IAkyLiAgV2UndmUgYmVlbiBleHBsb3Jp bmcgcnVubmluZyB3aXRoIGEgc21hbGxlciBudW1iZXIgb2YgaW52b2tlcnMNCj4gdGhhbiB3b3Jr ZXIgbm9kZXMgYW5kIGNsdXN0ZXItd2lkZSBzY2hlZHVsaW5nIHVzaW5nIHRoZQ0KPiBLdWJlcm5l dGVzQ29udGFpbmVyRmFjdG9yeSArIGludm9rZXJBZ2VudC4gIEhvd2V2ZXIsIEkgZG9uJ3QgYmVs aWV2ZSBhdA0KPiBwcm9kdWN0aW9uIHNjYWxlIGEgc2luZ2xlIEludm9rZXIgZm9yIGFuIGVudGly ZSBjbHVzdGVyIGlzIGdvaW5nIHRvIGJlDQo+IHZpYWJsZS4gIEVzcGVjaWFsbHkgd2l0aCB0aGUg Y3VycmVudCBhcmNoaXRlY3R1cmUgd2hlcmUgdGhlIGFjdGlvbg0KPiBwYXJhbWV0ZXJzIGdldCBz dHJlYW1lZCB0aHJvdWdoIHRoZSBpbnZva2VyIGFuZCB0aGUgYWN0aW9uIHJlc3VsdHMgZ2V0DQo+ IHN0cmVhbWVkIGJhY2sgdGhyb3VnaCB0aGUgaW52b2tlci4gIEkgYmVsaWV2ZSB0aGF0IGlzIGdv aW5nIHRvIGJvdHRsZW5lY2sNCj4gaG93IG1hbnkgY29udGFpbmVycyBhIHNpbmdsZSBJbnZva2Vy IGNhbiBtYW5hZ2UuDQoNClllYWggSeKAmW0gd29uZGVyaW5nIHRoZSBzYW1lIHRoaW5nLiBGb3Ig bm93LCBvcGVyYXRpbmcgb25seSBvbmUgKG9yIGEgZmV3KSBjb250cm9sbGVycyBoYXMgdGhlIHNh bWUgaXNzdWUgcmlnaHQ/IA0KDQpGb3IgbWVzb3MsIHdlIGNhbiBvcGVyYXRlICJtdWx0aXBsZSBp bnZva2VyIGNsdXN0ZXJz4oCdLCBmb2xsb3dpbmcgdGhlIHNhbWUgYXBwcm9hY2ggb3V0bGluZWQs IGJ1dCBpbnN0ZWFkIG9mIHVzaW5nIGEgc2luZ2xlIHRvcGljIGludm9rZXIwLCB3ZSBoYXZlIG11 bHRpcGxlIHRvcGljcyBpbnZva2VyMS4uaW52b2tlcm4sIChzaW1pbGFyIHRvIHRvZGF5KSwgYnV0 IHdoZXJlIGVhY2ggdG9waWMgaXMgY29uc3VtZWQgYnkgbXVsdGlwbGUgaW52b2tlcnMgKGluIGFj dGl2ZS9wYXNzaXZlIG1vZGUpLiANCg0KDQpTZXBhcmF0ZWx5LCByZWxhdGVkIHRvIHBlcmZvcm1h bmNlOg0KLSB3ZSBzdGlsbCBwbGFuIHRvIGFsbG93IGNvbmN1cnJlbmN5IHNvIHRoaW5ncyB0aGF0 IGFyZSByZXF1aXJlZCB0byBiZSBmYXN0IChibG9ja2luZyBhY3RpdmF0aW9ucywgYW5kIG9uZXMg dGhhdCBzaWduYWwgdGhleSB0b2xlcmF0ZSBpdCkgc2hvdWxkIGxldmVyYWdlIHRoaXMsIGFuZCB0 aGluZ3MgdGhhdCBjYW4gdG9sZXJhdGUgYWRkaXRpb25hbCBsYXRlbmN5IHNob3VsZCBub3QNCi0g aWYgdGhlIENvbnRhaW5lclBvb2wgb3BlcmF0ZWQgY2xlYW51cCBvbiBhIG1vcmUgR0MtbGlrZSBz ZW1hbnRpYywgZXh0ZXJuYWwgY2xpZW50cyAob3RoZXIgaW52b2tlcnMsIG9yIHRoZSBjb250cm9s bGVyKSB3b3VsZCBiZSBhYmxlIHRvIHVzZSBleGlzdGluZyBydW5uaW5nIGNvbnRhaW5lcnMgKGF0 IGxlYXN0IHdoZXJlIGNvbmN1cnJlbmN5IGlzIHRvbGVyYXRlZCkuIFdoZW4gYWxsIGNsaWVudHMg b2YgYSBjb250YWluZXIgaGF2ZSBjb21wbGV0ZWQgKHBsdXMgc29tZSB0aW1lKSwgaXQgY291bGQg YmUgZ2FyYmFnZSBjb2xsZWN0ZWQgYnkgdGhlIENvbnRhaW5lclBvb2wgKHNpbWlsYXIgdG8gaG93 IGZyZWVQb29sIGNvbnRhaW5lcnMgY3VycmVudGx5IGxpbmdlcikuIFRoaXMgY291bGQgdW5idXJk ZW4gc29tZSBhY3RpdmF0aW9uIHByb2Nlc3NpbmcgZnJvbSB0aGUgY3VycmVudCBpbnZva2VyIHdv cmtmbG93Lg0KDQpPZiBjb3Vyc2UsIHlvdXIgbWlsZWFnZSBtYXkgdmFyeTogSeKAmW0gbm90IHN1 cmUgaG93IHdlbGwgYW55IG9mIHRoYXQgd29ya3MgaW4gYSBjYXNlIHdoZXJlIHlvdSBkb27igJl0 IHN1cHBvcnQgY29uY3VycmVudCBhY3RpdmF0aW9ucywgb3IgZm9yIGNhc2VzIHdoZXJlIHRoZSBu dW1iZXIgb2YgYWN0aW9ucy9jb250YWluZXJzIGV4Y2VlZHMgdGhlIG51bWJlciBvZiBjbGllbnRz IChpLmUuIHdoZXJlIGV2ZXJ5dGhpbmcgaXMgb25seSBldmVyIHVzZWQgb25jZSkuDQoNClRoYW5r cw0KVHlzb24NCg0KDQo+IA0KPiAtLWRhdmUNCj4gDQoNCg==