Return-Path: X-Original-To: apmail-flink-user-archive@minotaur.apache.org Delivered-To: apmail-flink-user-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0720E18492 for ; Mon, 22 Feb 2016 09:35:47 +0000 (UTC) Received: (qmail 15915 invoked by uid 500); 22 Feb 2016 09:29:07 -0000 Delivered-To: apmail-flink-user-archive@flink.apache.org Received: (qmail 15823 invoked by uid 500); 22 Feb 2016 09:29:07 -0000 Mailing-List: contact user-help@flink.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: user@flink.apache.org Delivered-To: mailing list user@flink.apache.org Received: (qmail 15813 invoked by uid 99); 22 Feb 2016 09:29:07 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 22 Feb 2016 09:29:07 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id D3194C00ED for ; Mon, 22 Feb 2016 09:29:06 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -2.65 X-Spam-Level: X-Spam-Status: No, score=-2.65 tagged_above=-999 required=6.31 tests=[RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.329, SPF_PASS=-0.001] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 5derTb4CkaVh for ; Mon, 22 Feb 2016 09:29:04 +0000 (UTC) Received: from lhrrgout.huawei.com (lhrrgout.huawei.com [194.213.3.17]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTPS id C186D5F343 for ; Mon, 22 Feb 2016 09:29:03 +0000 (UTC) Received: from 172.18.7.190 (EHLO lhreml405-hub.china.huawei.com) ([172.18.7.190]) by lhrrg02-dlp.huawei.com (MOS 4.3.7-GA FastPath queued) with ESMTP id CEV57653; Mon, 22 Feb 2016 09:28:55 +0000 (GMT) Received: from LHREML702-CAH.china.huawei.com (10.201.5.99) by lhreml405-hub.china.huawei.com (10.201.5.242) with Microsoft SMTP Server (TLS) id 14.3.235.1; Mon, 22 Feb 2016 09:28:54 +0000 Received: from LHREML503-MBX.china.huawei.com ([10.125.30.103]) by lhreml702-cah.china.huawei.com ([10.201.5.99]) with mapi id 14.03.0235.001; Mon, 22 Feb 2016 09:28:52 +0000 From: Radu Tudoran To: "user@flink.apache.org" Subject: RE: events eviction Thread-Topic: events eviction Thread-Index: AdFn2QDojQgp7MuIS92ScAA+AD8tsQABrqCAAAybcQAAuhcpgACWE+gQ Date: Mon, 22 Feb 2016 09:28:52 +0000 Message-ID: <8B754047F81D6B4290B9F4CE928333A517A48D2F@lhreml503-mbx> References: <8B754047F81D6B4290B9F4CE928333A517A4659D@lhreml503-mbx> <327A7A5F-1561-45AD-8A6A-06E03D7C457D@apache.org> <8B754047F81D6B4290B9F4CE928333A517A46A56@lhreml503-mbx> <10BFBFEE-952C-4C7F-B958-1EBC741FFACA@apache.org> In-Reply-To: <10BFBFEE-952C-4C7F-B958-1EBC741FFACA@apache.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.221.99.50] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A090202.56CAD4D7.0106,ss=1,re=0.000,recu=0.000,reip=0.000,cl=1,cld=1,fgs=0, ip=0.0.0.0, so=2013-06-18 04:22:30, dmn=2013-03-21 17:37:32 X-Mirapoint-Loop-Id: c5e1d46222666e46e79443a401336d21 SGksDQoNCkZvbGxvd2luZyB1cCBvbiB0aGUgZXhhbXBsZSBiZWZvcmU6IHlvdSBoYXZlIHRvIGFn Z3JlZ2F0ZSB0aGUgZGF0YSBmcm9tIDIgcGFydGl0aW9ucyAoZS5nLiBsZXQncyBzYXkgaW4gb25l IHlvdSBjb3VudCBvYmplY3RzIG9mIHR5cGUgMSBhbmQgaW4gdGhlIG90aGVyIG9mIHR5cGUgMiku IFRoZW4geW91IG5lZWQgdG8gcGFpciB0aGVtIHRvZ2V0aGVyIGFuZCBlbWl0IHRoYXQgYXQgaXRl cmF0aW9ucyBOIHlvdSBoYWQ6IChvYmplY3QgVDEgLSBZLCBvYmplY3QgVDIgLSBYKSBhbmQgZmlu YWxseSBldmljdCB0aGVtIHRvZ2V0aGVyLiBBbHRlcm5hdGl2ZWx5IHlvdSBjYW4gYWxzbyBjb25z aWRlciBtb3JlIGNvbXBsZXggb3BlcmF0aW9ucyBub3Qgb25seSB0aGlzIHNpbXBsZSBhZ2dyZWdh dGlvbiAoZS5nLiBzZWUgaWYgYW55IG9mIG9iamVjdHMgbyBUMSBpcyBhbHNvIGFuIG9iamVjdCBv ZiB0eXBlIFQyKS4NCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogQWxqb3Nj aGEgS3JldHRlayBbbWFpbHRvOmFsam9zY2hhQGFwYWNoZS5vcmddIA0KU2VudDogRnJpZGF5LCBG ZWJydWFyeSAxOSwgMjAxNiAxMDo0NyBBTQ0KVG86IHVzZXJAZmxpbmsuYXBhY2hlLm9yZw0KU3Vi amVjdDogUmU6IGV2ZW50cyBldmljdGlvbg0KDQpIaSwNCnllcywgaW4gc29tZSBjYXNlcyBpdCBj b3VsZCBiZSBuZWNlc3NhcnkuIENvdWxkIHlvdSBtYXliZSBnaXZlIHNvbWUgZXhhbXBsZSBvZiB3 aGF0IGtpbmQgb2Ygd2luZG93IGNvbXB1dGF0aW9uIHlvdSB3YW50IHRvIGFjaGlldmU/IFRoZW4g d2UgY2FuIHNlZSBpZiBpdCB3b3VsZCBiZSBwb3NzaWJsZSB3aXRob3V0IEdsb2JhbFdpbmRvd3Mg YW5kIGV2aWN0b3IuDQoNCkNoZWVycywNCkFsam9zY2hhDQo+IE9uIDE1IEZlYiAyMDE2LCBhdCAx ODowNywgUmFkdSBUdWRvcmFuIDxyYWR1LnR1ZG9yYW5AaHVhd2VpLmNvbT4gd3JvdGU6DQo+IA0K PiBIaSwNCj4gDQo+IFRoYW5rcyBBbGpvc2NoYSBmb3IgdGhlIGRldGFpbHMhDQo+IA0KPiBUaGUg d2FybmluZyBhYm91dCBwZXJmb3JtYW5jZSBhbmQgZXZpY3RvcnMgaXMgdXNlZnVsLCBidXQgSSBh bSBub3Qgc3VyZSBob3cgaXQgY2FuIGJlIHB1dCBpbiBwcmFjdGljZSBhbHdheXMuIFRha2UgZm9y IGV4YW1wbGUgYSBHbG9iYWxXaW5kb3cgdGhhdCB5b3Ugd291bGQgdXNlIHRvIGFnZ3JlZ2F0ZSBk YXRhIGZyb20gbXVsdGlwbGUgcGFydGl0aW9ucy4gQSBHbG9iYWxXaW5kb3cgZG9lcyBub3QgY29t ZSB3aXRoIGEgdHJpZ2dlciAtIHdvdWxkIGl0IGhhdmUgdGhhbiBhIGRlZmF1bHQgZXZpY3Rvcj8g RXZlbiBpZiBpdCBoYXMgc29tZSwgeW91IHN0aWxsIG5lZWQgdG8gY29udHJvbCB0aGUgZXZpY3Rp b24gb2YgdGhlIGV2ZW50cy4gU2Vjb25kbHksIGFzc3VtaW5nIHRoYXQgeW91IHdvdWxkIG5lZWQg dG8gYWdncmVnYXRlIHRoZSBkYXRhIGZyb20gMiBwYXJ0aXRpb25zIGFuZCBldmljdCBzb21ldGhp bmcgb25seSB3aGVuIHlvdSBoYXZlIG9uZSBpdGVtIGZyb20gZWFjaCBwYXJ0aXRpb24uIFlvdSB3 b3VsZCBuZWVkIGEgc29ydCBvZiBzdGF0ZSBmb3IgdGhpcy4gQW5kIHRoZW4gdG8gZW5zdXJlIHJl c2lsaWVuY3ksIHRoZSBzdGF0ZSBzaG91bGQgYmUgcmVjb3ZlcmFibGUgaWYgYSBjcmFzaCBoYXBw ZW5zLiBDb3VsZCB5b3UgYXBwcm9hY2ggdGhpcyB3aXRob3V0IGFuIGV2aWN0b3Igc3RhdGU/DQo+ IA0KPiANCj4gRHIuIFJhZHUgVHVkb3Jhbg0KPiBSZXNlYXJjaCBFbmdpbmVlciAtIEJpZyBEYXRh IEV4cGVydA0KPiBJVCBSJkQgRGl2aXNpb24NCj4gDQo+IA0KPiBIVUFXRUkgVEVDSE5PTE9HSUVT IER1ZXNzZWxkb3JmIEdtYkgNCj4gRXVyb3BlYW4gUmVzZWFyY2ggQ2VudGVyDQo+IFJpZXNzdHJh c3NlIDI1LCA4MDk5MiBNw7xuY2hlbg0KPiANCj4gRS1tYWlsOiByYWR1LnR1ZG9yYW5AaHVhd2Vp LmNvbQ0KPiBNb2JpbGU6ICs0OSAxNTIwOTA4NDMzMA0KPiBUZWxlcGhvbmU6ICs0OSA4OTE1ODgz NDQxNzMNCj4gDQo+IEhVQVdFSSBURUNITk9MT0dJRVMgRHVlc3NlbGRvcmYgR21iSA0KPiBIYW5z YWFsbGVlIDIwNSwgNDA1NDkgRMO8c3NlbGRvcmYsIEdlcm1hbnksIHd3dy5odWF3ZWkuY29tIFJl Z2lzdGVyZWQgDQo+IE9mZmljZTogRMO8c3NlbGRvcmYsIFJlZ2lzdGVyIENvdXJ0IETDvHNzZWxk b3JmLCBIUkIgNTYwNjMsIE1hbmFnaW5nIA0KPiBEaXJlY3RvcjogQm8gUEVORywgV2FuemhvdSBN RU5HLCBMaWZhbmcgQ0hFTiBTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IA0KPiBEw7xzc2VsZG9yZiwg QW10c2dlcmljaHQgRMO8c3NlbGRvcmYsIEhSQiA1NjA2MywNCj4gR2VzY2jDpGZ0c2bDvGhyZXI6 IEJvIFBFTkcsIFdhbnpob3UgTUVORywgTGlmYW5nIENIRU4gVGhpcyBlLW1haWwgYW5kIA0KPiBp dHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFX RUksIHdoaWNoIGlzIGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3Nl IGFkZHJlc3MgaXMgbGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBjb250 YWluZWQgaGVyZWluIGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0 b3RhbCBvciBwYXJ0aWFsIGRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlv bikgYnkgcGVyc29ucyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykgaXMgcHJv aGliaXRlZC4gSWYgeW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3Rp ZnkgdGhlIHNlbmRlciBieSBwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0 IQ0KPiANCj4gDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFsam9zY2hh IEtyZXR0ZWsgW21haWx0bzphbGpvc2NoYUBhcGFjaGUub3JnXQ0KPiBTZW50OiBNb25kYXksIEZl YnJ1YXJ5IDE1LCAyMDE2IDExOjU4IEFNDQo+IFRvOiB1c2VyQGZsaW5rLmFwYWNoZS5vcmcNCj4g U3ViamVjdDogUmU6IGV2ZW50cyBldmljdGlvbg0KPiANCj4gSGksDQo+IHlvdSBhcmUgcmlnaHQs IHRoZSBsb2dpYyBpcyBpbiBFdmljdGluZ05vbktleWVkV2luZG93T3BlcmF0b3IuZW1pdFdpbmRv dygpIGZvciBub24tcGFyYWxsZWwgKG5vbi1rZXllZCkgd2luZG93cyBhbmQgaW4gRXZpY3RpbmdX aW5kb3cucHJvY2Vzc1RyaWdnZXJSZXN1bHQoKSBpbiB0aGUgY2FzZSBvZiBrZXllZCB3aW5kb3dz Lg0KPiANCj4gWW91IGFyZSBhbHNvIHJpZ2h0IGFib3V0IHRoZSBjb250cmFjdCBvZiB0aGUgRXZp Y3RvciwgaXQgcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIHRvIGJlIGV2aWN0ZWQgZnJv bSB0aGUgYmVnaW5uaW5nLiBUaGlzIGFsc28gbWVhbnMgdGhhdCBldmljdGlvbiBkb2VzIG5vdCBj b25zaWRlciBhbnkgdGltZXN0YW1wcyBpbiB0aGUgZWxlbWVudHMgYW5kIGlzIHRoZXJlZm9yZSBx dWl0ZSBhcmJpdHJhcnkuIFRoZSBwbGFjZXMgaW4gdGhlIGNvZGUgSSBtZW50aW9uZWQgYWJvdmUg c2ltcGx5IGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgRXZpY3RvciBhbmQgZXZpY3QgdGhhdCBtYW55 IGVsZW1lbnRzIGZyb20gdGhlIGludGVybmFsIGJ1ZmZlci9zdGF0ZS4NCj4gDQo+IFJpZ2h0IG5v dyBpdCBpcyBub3QgcG9zc2libGUgdG8gcmVwbGFjZSB0aGUgd2luZG93IG9wZXJhdG9yIHRoYXQg aXMgdXNlZCBieSBmbGluay4gV2hhdCB5b3UgY2FuIGRvIGlzIGNvcHkgdGhlIHdpbmRvdyBvcGVy YXRvciBjb2RlIGFuZCB1c2UgaXQgbWFudWFsbHkgdXNpbmcgRGF0YVN0cmVhbS50cmFuc2Zvcm0o KS4NCj4gDQo+IEFib3V0IHRoZSBldmljdG9yIHN0YXRlLiBJ4oCZbSBhZnJhaWQgdGhpcyBpcyBu b3QgcG9zc2libGUgcmlnaHQgbm93LiBJdCB3YXMgYSBjb25zY2lvdXMgZGVjaXNpb24gdG8gbWFr ZSB0aGUgRXZpY3RvciBzdGF0ZWxlc3MgdG8gbWFrZSBpdCBlYXNpZXIgZm9yIHRoZSBzeXN0ZW0g dG8gaGFuZGxlLiBJIHdvdWxkIGFsc28gc3Ryb25nbHkgYWR2aXNlIGFnYWluc3QgdXNpbmcgRXZp Y3RvcnMgaWYgYXQgYWxsIHBvc3NpYmxlLiBUaGV5IG1ha2UgaXQgaW1wb3NzaWJsZSB0byBpbmNy ZW1lbnRhbGx5IGFnZ3JlZ2F0ZSB3aW5kb3cgcmVzdWx0cyAoZm9yIGV4YW1wbGUgd2l0aCBhIHJl ZHVjZSBmdW5jdGlvbikuIFRoaXMgY2FuIGhhdmUgYSBodWdlIHBlcmZvcm1hbmNlL21lbW9yeSBm b290cHJpbnQgaW1wYWN0LiBJbiB5b3VyIGNhc2UsIHdoYXQgYXJlIHlvdSB1c2luZyB0aGVtIGZv cj8NCj4gDQo+IEkgaG9wZSB0aGlzIGhlbHBzIHNvbWVob3csIGJ1dCBsZXQgdXMga25vdyBpZiB5 b3UgbmVlZCBmdXJ0aGVyIGV4cGxhbmF0aW9ucy4NCj4gDQo+IENoZWVycywNCj4gQWxqb3NjaGEN Cj4gDQo+PiBPbiAxNSBGZWIgMjAxNiwgYXQgMTE6MDksIFJhZHUgVHVkb3JhbiA8cmFkdS50dWRv cmFuQGh1YXdlaS5jb20+IHdyb3RlOg0KPj4gDQo+PiBIZWxsbywNCj4+IA0KPj4gSSBhbSBsb29r aW5nIG92ZXIgdGhlIG1lY2hhbmlzbXMgb2YgZXZpY3RpbmcgZXZlbnRzIGluIEZsaW5rLiBJIHNh dyB0aGF0IGVpdGhlciB1c2luZyBhIGRlZmF1bHQgZXZpY3RvciBvciBidWlsZGluZyBhIGN1c3Rv bSBvbmUgdGhlIGxvZ2ljIGlzIHRoYXQgdGhlIGV2aWN0b3Igd2lsbCBwcm92aWRlIHRoZSBudW1i ZXIgb2YgZXZlbnRzIHRvIGJlIGRpc2NhcmRlZC4NCj4+IENvdWxkIHlvdSBwbGVhc2UgcHJvdmlk ZSBtZSB3aXRoIHNvbWUgYWRkaXRpb25hbCBwb2ludGVycyByZWdhcmRpbmcgdGhlIG1lY2hhbmlz bSBpbiBGbGluayB3aGVyZSB0aGlzIGFjdHVhbGx5IGhhcHBlbnM6DQo+PiAtICAgICAgICAgIFRo ZSBjbGFzcyB0aGF0IGltcGxlbWVudHMgdGhpcyBmdW5jdGlvbmFsaXR5IG9mIGRpc2NhcmRpbmcg dGhlIGV2ZW50cz8gKG15IGluaXRpYWwgZXhwZWN0YXRpb25zIHRoYXQgdGhpcyBoYXBwZW5zIGlu IHRoZSB3aW5kb3cgY2xhc3MgdHVybiBvdXQgdG8gYmUgd3JvbmcpLiBJIGNoZWNrZWQgYW5kIGZv dW5kIHRoZSDigJxFdmljdGluZ05vbktleWVkV2luZG93T3BlcmF0b3LigJ0g4oCTIGlzIHRoaXMg dGhlIHJpZ2h0IHBsYWNlIHRvIGxvb2sgaW5kZWVkPw0KPj4gLSAgICAgICAgICBJZiB5ZXMsIHdv dWxkIGl0IGJlIHBvc3NpYmxlIHRvIGNyZWF0ZSBhIGN1c3RvbWl6YWJsZSBjbGFzcyBsaWtlIHRo aXMgb25lIGFuZCBzb21laG93IHBhc3MgaXQgdG8gdGhlIGZyYW1ld29yaz8gSSB3b3VsZCBiZSBj dXJpb3VzIGlmIHRoZXJlIGlzIGFuIG9wdGlvbiAgb3RoZXIgdGhhbiBtb2RpZnlpbmcgdGhlIGNv cmUgY2xhc3NlcyBhbmQgcmVjb21waWxpbmcgdGhlIGZyYW1ld29yaz8NCj4+IA0KPj4gT24gYSBz bGlnaHRseSBwYXJhbGxlbCB0b3BpYyAtIGlzIHRoZXJlIHNvbWUgd2F5IG9mIGNyZWF0aW5nIGEg c3RhdGUgaW4gdGhlIGV2aWN0b3IgdGhhdCB3aWxsIGJlIGNoZWNrIHBvaW50ZWQgYW5kIHJlc3Rv cmUgaW4gY2FzZSBvZiBmYWlsdXJlLiAgSSB3b3VsZCBiZSBpbnRlcmVzdGVkIGlmIHNvbWV0aGlu ZyBsaWtlIGFuIG9wZXJhdG9yIHN0YXRlIGlzIHBvc3NpYmxlIGluIHRoZSBldmljdG9yLg0KPj4g DQo+PiBSZWdhcmRzLA0KPj4gDQo+PiBEci4gUmFkdSBUdWRvcmFuDQo+PiBSZXNlYXJjaCBFbmdp bmVlciAtIEJpZyBEYXRhIEV4cGVydA0KPj4gSVQgUiZEIERpdmlzaW9uDQo+PiANCj4+IDxpbWFn ZTAwMS5wbmc+DQo+PiBIVUFXRUkgVEVDSE5PTE9HSUVTIER1ZXNzZWxkb3JmIEdtYkgNCj4+IEV1 cm9wZWFuIFJlc2VhcmNoIENlbnRlcg0KPj4gUmllc3N0cmFzc2UgMjUsIDgwOTkyIE3DvG5jaGVu DQo+PiANCj4+IEUtbWFpbDogcmFkdS50dWRvcmFuQGh1YXdlaS5jb20NCj4+IE1vYmlsZTogKzQ5 IDE1MjA5MDg0MzMwDQo+PiBUZWxlcGhvbmU6ICs0OSA4OTE1ODgzNDQxNzMNCj4+IA0KPj4gSFVB V0VJIFRFQ0hOT0xPR0lFUyBEdWVzc2VsZG9yZiBHbWJIDQo+PiBIYW5zYWFsbGVlIDIwNSwgNDA1 NDkgRMO8c3NlbGRvcmYsIEdlcm1hbnksIHd3dy5odWF3ZWkuY29tIFJlZ2lzdGVyZWQNCj4+IE9m ZmljZTogRMO8c3NlbGRvcmYsIFJlZ2lzdGVyIENvdXJ0IETDvHNzZWxkb3JmLCBIUkIgNTYwNjMs IE1hbmFnaW5nDQo+PiBEaXJlY3RvcjogQm8gUEVORywgV2FuemhvdSBNRU5HLCBMaWZhbmcgQ0hF TiBTaXR6IGRlciBHZXNlbGxzY2hhZnQ6IA0KPj4gRMO8c3NlbGRvcmYsIEFtdHNnZXJpY2h0IETD vHNzZWxkb3JmLCBIUkIgNTYwNjMsDQo+PiBHZXNjaMOkZnRzZsO8aHJlcjogQm8gUEVORywgV2Fu emhvdSBNRU5HLCBMaWZhbmcgQ0hFTiBUaGlzIGUtbWFpbCBhbmQgDQo+PiBpdHMgYXR0YWNobWVu dHMgY29udGFpbiBjb25maWRlbnRpYWwgaW5mb3JtYXRpb24gZnJvbSBIVUFXRUksIHdoaWNoIGlz IGludGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMg bGlzdGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWlu IGluIGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0 aWFsIGRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiwgb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29u cyBvdGhlciB0aGFuIHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYg eW91IHJlY2VpdmUgdGhpcyBlLW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRl ciBieSBwaG9uZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0IQ0KPiANCg0K