Return-Path: Delivered-To: apmail-lucene-hadoop-user-archive@locus.apache.org Received: (qmail 39658 invoked from network); 16 Nov 2007 18:27:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 16 Nov 2007 18:27:39 -0000 Received: (qmail 82315 invoked by uid 500); 16 Nov 2007 18:27:23 -0000 Delivered-To: apmail-lucene-hadoop-user-archive@lucene.apache.org Received: (qmail 82287 invoked by uid 500); 16 Nov 2007 18:27:23 -0000 Mailing-List: contact hadoop-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hadoop-user@lucene.apache.org Delivered-To: mailing list hadoop-user@lucene.apache.org Received: (qmail 82278 invoked by uid 99); 16 Nov 2007 18:27:23 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Nov 2007 10:27:23 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kareem.dana@gmail.com designates 64.233.166.182 as permitted sender) Received: from [64.233.166.182] (HELO py-out-1112.google.com) (64.233.166.182) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 16 Nov 2007 18:27:14 +0000 Received: by py-out-1112.google.com with SMTP id d32so8097137pye for ; Fri, 16 Nov 2007 10:27:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; bh=Ro/W8qt3W9wTaeCYQOUYK96cNMr3qcwkmUwnK/oRKBM=; b=CAK6AaHeksyuKdjWsawkZZrsu5+t300NzTlgoXgXB8mGZ9rlEnxtciuKm03hTXYbdlO1hw7Zacb4ZGTgDG04+5T0bSRVxhErm4Lzc1GVw48elCS3SvKNSUcQvzaG6rZNYAcqLHb5xH308PJVNj0HiTXp4yMpshlBFsRnIwGPoWA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=CY4Nh9psl+G3BqtQ3CxF9Ql4DPi7WtFn8xlHnqW55XYzU4Qi+dxqJt91HoqUhoZZHecIQNFohVhANnrDxrYIf6ZJHLL51Kx9jPk/QlMRh85JUSPIIusBu+ypqy+4qxjcELyvCKidqSkLxtNuurAZ88RHM/i9j6Mxvqnnhc+QBw8= Received: by 10.65.242.7 with SMTP id u7mr4769703qbr.1195237627145; Fri, 16 Nov 2007 10:27:07 -0800 (PST) Received: by 10.65.103.18 with HTTP; Fri, 16 Nov 2007 10:27:07 -0800 (PST) Message-ID: <3bb76bfe0711161027j752523a7rf80d19f2d539323d@mail.gmail.com> Date: Fri, 16 Nov 2007 13:27:07 -0500 From: "Kareem Dana" To: hadoop-user@lucene.apache.org Subject: =?GB2312?B?UmU6ILTwuLQ6IEhCYXNlIFBlcmZvcm1hbmNlRXZhbHVhdGlvbiBmYWlsaW5n?= In-Reply-To: <667e11$12hleb@smtp.alibaba-inc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: base64 Content-Disposition: inline References: <3bb76bfe0711151731s6f56508coe801e0715586a18f@mail.gmail.com> <667e11$12hleb@smtp.alibaba-inc.com> X-Virus-Checked: Checked by ClamAV on apache.org SSBhbSB1c2luZyB4ZW4gd2l0aCBMaW51eCAyLjYuMTguIGRmcyAtcHV0IHdvcmtzIGZpbmUuIEkg Y2FuIHJlYWQgZGF0YQpJIGhhdmUgcHV0IGFuZCBhbGwgb3RoZXIgZGZzIG9wZXJhdGlvbnMgd29y ay4gVGhleSB3b3JrIGJlZm9yZSBJIHJ1bgp0aGUgUEUgdGVzdCBhbmQgdGhlbiBhZnRlciB0aGUg UEUgdGVzdCBmYWlscyBkZnMgc3RpbGwgd29ya3MgZmluZSBvbgppdHMgb3duLiBIb3dldmVyIEkg Zm91bmQgc29tZSBtb3JlIERGUyBlcnJvcnMgaW4gdGhlIGxvZ3MgdGhhdCBoYXBwZW4KcmlnaHQg YmVmb3JlIHRoZSBQRSB0ZXN0IGZhaWxzLiBNeSBERlMgZGF0YW5vZGVzIGFyZSBoYWRvb3AwOC0x MgoKT24gaGFkb29wMDg6CjIwMDctMTEtMTUgMTk6MTM6NTIsNzUxIElORk8gb3JnLmFwYWNoZS5o YWRvb3AuZGZzLkRhdGFOb2RlOiBTdGFydGluZwp0aHJlYWQgdG8gdHJhbnNmZXIgYmxvY2sgYmxr XzYzODQzOTYzMzYyMjQwNjE1NDcgdG8KW0xvcmcuYXBhY2hlLmhhZG9vcC5kZnMuRGF0YW5vZGVJ bmZvO0AxZDM0OWUyCjIwMDctMTEtMTUgMTk6MTM6NTIsNzU1IFdBUk4gb3JnLmFwYWNoZS5oYWRv b3AuZGZzLkRhdGFOb2RlOiBGYWlsZWQgdG8KdHJhbnNmZXIgYmxrXzYzODQzOTYzMzYyMjQwNjE1 NDcgdG8gMTcyLjE2LjYuNTY6NTAwMTAgZ290CmphdmEubmV0LlNvY2tldEV4Y2VwdGlvbjogQ29u bmVjdGlvbiByZXNldAoKaGFkb29wMDk6CjIwMDctMTEtMTUgMTk6MTM6NTgsNzg4IEVSUk9SIG9y Zy5hcGFjaGUuaGFkb29wLmRmcy5EYXRhTm9kZToKRGF0YVhjZWl2ZXI6IGphdmEuaW8uSU9FeGNl cHRpb246IEJsb2NrIGJsa182Mzg0Mzk2MzM2MjI0MDYxNTQ3IGhhcwphbHJlYWR5IGJlZW4gc3Rh cnRlZCAodGhvdWcKaCBub3QgY29tcGxldGVkKSwgYW5kIHRodXMgY2Fubm90IGJlIGNyZWF0ZWQu CgpoYWRvb3AxMDoKMjAwNy0xMS0xNSAxOToxNDoxMywxMTkgV0FSTiBvcmcuYXBhY2hlLmhhZG9v cC5kZnMuRGF0YU5vZGU6ClVuZXhwZWN0ZWQgZXJyb3IgdHJ5aW5nIHRvIGRlbGV0ZSBibG9jayBi bGtfLTYwNzA1MzUxNDc0NzE0MzA5MDEuCkJsb2NrIG5vdCBmb3VuZCBpbiBibG9ja01hcC4KMjAw Ny0xMS0xNSAxOToxNDoxMywxMjAgSU5GTyBvcmcuYXBhY2hlLmhhZG9vcC5kZnMuRGF0YU5vZGU6 IERlbGV0aW5nCmJsb2NrIGJsa180MDYzOTMwMzY4NjI4NzExODk3IGZpbGUKL3RtcC9oYWRvb3At a2NkL2Rmcy9kYXRhL2N1cnJlbnQvYmxrXzQwNjM5MzAzNjg2Mjg3MTE4OTcKMjAwNy0xMS0xNSAx OToxNDoxMywxMzYgSU5GTyBvcmcuYXBhY2hlLmhhZG9vcC5kZnMuRGF0YU5vZGU6IERlbGV0aW5n CmJsb2NrIGJsa18tMjIwNjY1NDc2MTAwNDA4Nzk0MiBmaWxlCi90bXAvaGFkb29wLWtjZC9kZnMv ZGF0YS9jdXJyZW50L2Jsa18tMjIwNjY1NDc2MTAwNDA4Nzk0MgoyMDA3LTExLTE1IDE5OjE0OjEz LDE1NyBXQVJOIG9yZy5hcGFjaGUuaGFkb29wLmRmcy5EYXRhTm9kZToKamF2YS5pby5JT0V4Y2Vw dGlvbjogRXJyb3IgaW4gZGVsZXRpbmcgYmxvY2tzLgoKaGFkb29wMTI6CjIwMDctMTEtMTUgMTk6 MTQ6MTMsMTE5IFdBUk4gb3JnLmFwYWNoZS5oYWRvb3AuZGZzLkRhdGFOb2RlOgpVbmV4cGVjdGVk IGVycm9yIHRyeWluZyB0byBkZWxldGUgYmxvY2sgYmxrXy02MDcwNTM1MTQ3NDcxNDMwOTAxLgpC bG9jayBub3QgZm91bmQgaW4gYmxvY2tNYXAuCjIwMDctMTEtMTUgMTk6MTQ6MTMsMTIwIElORk8g b3JnLmFwYWNoZS5oYWRvb3AuZGZzLkRhdGFOb2RlOiBEZWxldGluZwpibG9jayBibGtfNDA2Mzkz MDM2ODYyODcxMTg5NyBmaWxlCi90bXAvaGFkb29wLWtjZC9kZnMvZGF0YS9jdXJyZW50L2Jsa180 MDYzOTMwMzY4NjI4NzExODk3CjIwMDctMTEtMTUgMTk6MTQ6MTMsMTM2IElORk8gb3JnLmFwYWNo ZS5oYWRvb3AuZGZzLkRhdGFOb2RlOiBEZWxldGluZwpibG9jayBibGtfLTIyMDY2NTQ3NjEwMDQw ODc5NDIgZmlsZQovdG1wL2hhZG9vcC1rY2QvZGZzL2RhdGEvY3VycmVudC9ibGtfLTIyMDY2NTQ3 NjEwMDQwODc5NDIKMjAwNy0xMS0xNSAxOToxNDoxMywxNTcgV0FSTiBvcmcuYXBhY2hlLmhhZG9v cC5kZnMuRGF0YU5vZGU6CmphdmEuaW8uSU9FeGNlcHRpb246IEVycm9yIGluIGRlbGV0aW5nIGJs b2Nrcy4KCmhhZG9vcDA3IE5hbWVub2RlOgoyMDA3LTExLTE1IDE5OjEwOjMzLDA5MCBJTkZPIG9y Zy5hcGFjaGUuaGFkb29wLmlwYy5TZXJ2ZXI6IElQQyBTZXJ2ZXIKaGFuZGxlciAzIG9uIDU0MzEw LCBjYWxsCm9wZW4oL3RtcC9oYWRvb3Ata2NkL2hiYXNlL2hyZWdpb25fVGVzdFRhYmxlLDQyMDQ5 MzIsNTM0NzExNDg4MDA5MzM2NDY4MC9pbmZvL2luZm8vNTgyOTE4NTUyNTU5MjA4Nzc2OSwKMCwg NjcxMDg4NjQwKSBmcm9tIDE3Mi4xNi42LjU4OjU3NDA5OiBlcnJvcjogamF2YS5pby5JT0V4Y2Vw dGlvbjoKQ2Fubm90IG9wZW4gZmlsZW5hbWUKL3RtcC9oYWRvb3Ata2NkL2hiYXNlL2hyZWdpb25f VGVzdFRhYmxlLDQyMDQ5MzIsNTM0NzExNDg4MDA5MzM2NDY4MC9pbmZvL2luZm8vNTgyOTE4NTUy NTU5MjA4Nzc2OQpqYXZhLmlvLklPRXhjZXB0aW9uOiBDYW5ub3Qgb3BlbiBmaWxlbmFtZQovdG1w L2hhZG9vcC1rY2QvaGJhc2UvaHJlZ2lvbl9UZXN0VGFibGUsNDIwNDkzMiw1MzQ3MTE0ODgwMDkz MzY0NjgwL2luZm8vaW5mby81ODI5MTg1NTI1NTkyMDg3NzY5CgpJdCBsb29rcyBsaWtlIHNvbWV0 aGluZyB3cm9uZyB3aXRoIERGUyBidXQgREZTIGlzIHdvcmtpbmcgZmluZQpvdGhlcndpc2UgYW5k IHdoZW4gSSBydW4gYSBQRSB3aXRoIGp1c3QgMSBjbGllbnQgaXQgZmluaXNoZXMgdG8KY29tcGxl dGlvbi4gRG9lcyB0aGF0IHB1dCB0aGUgc2FtZSBzdHJlc3Mgb24gREZTIG9yIGRvZXMgYSAyIGNs aWVudAp0ZXN0IGVmZmVjdGl2ZWx5IGRvdWJsZSB0aGUgSU8gdGhyb3VnaCBERlM/CgpSZWdhcmRz LApLYXJlZW0KCk9uIE5vdiAxNSwgMjAwNyA5OjA4IFBNLCDjxtGpsfkgPHlhbnh1ZWJpbmdAYWxp YmFiYS1pbmMuY29tPiB3cm90ZToKPiBBcmUgeW91IHdvcmtpbmcgb24gRnJlZUJTRCA0LjExPyBE aWQgeW91IGV2ZXIgc3VjY2VlZCBpbiBkb2luZyBhICdkZnMgLXB1dCcKPiBvcGVyYXRpb24/Cj4K PiBJIHdlbnQgaW50byBhIHZlcnkgc2ltaWxhciB0cm91YmxlIGEgZmV3IGRheXMgYWdvLiBJbiBt eSBjYXNlLCBJIGdvdCBhbgo+ICJvbmx5IGJlIHJlcGxpY2F0ZWQgdG8gMCBub2RlcywgaW5zdGVh ZCBvZiAxIiBtc2cgd2hlbiBJIHRyaWVkIHRvIHJ1biB0aGUgUEUKPiBwcm9ncmFtLCBJIGZvdW5k IHRoYXQgSSBjb3VsZG4ndCBldmVuIG1hbmFnZWQgdG8gbWFrZSBhICdkZnMgLXB1dCcgd2hpY2gK PiB3b3VsZCBhbHNvIGdpdmUgbWUgdGhlIHByZXZpb3VzIGVycm9yIG1zZywgdGhvdWdoIEkgc3Vj Y2VlZGVkIGluIGRvaW5nICdkZnMKPiAtbWFrZWRpcicuCj4KPiBUaGUgcmVhc29uIGlzIFNlY3Vy ZVJhbmRvbSBkb2Vzbid0IHdvcmsgb24gbXkgRnJlZUJTRCA0LjExLCBJIGZpbmFsbHkgZ2V0Cj4g dHdvIHNvbHV0aW9uczoKPiAgICAgICAgIGEpIEdldCBiYWNrIHRvIGhhZG9vcC0wLjE0LjMsIHdo aWNoIHdpbGwgd29yayBmaW5lIHdpdGggdGhlIHNhbWUKPiBjb25maWd1cmF0aW9uLCBvcgo+ICAg ICAgICAgYikgQ29tbWVudCBvZmYgdGhlIFNlY3VyZVJhbmRvbSBibG9jayBsaWtlIGJlbG93Cj4g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQo+ICAvKgo+ICAgICB0cnkgewo+ICAgICAgIHJhbmQgPQo+IFNlY3VyZVJhbmRvbS5nZXRJbnN0 YW5jZSgiU0hBMVBSTkciKS5uZXh0SW50KEludGVnZXIuTUFYX1ZBTFVFKTsKPiAgICAgfSBjYXRj aCAoTm9TdWNoQWxnb3JpdGhtRXhjZXB0aW9uIGUpIHsKPiAgICAgICBMT0cud2FybigiQ291bGQg bm90IHVzZSBTZWN1cmVSYW5kb20iKTsKPiAgICAgICByYW5kID0gKG5ldyBSYW5kb20oKSkubmV4 dEludChJbnRlZ2VyLk1BWF9WQUxVRSk7Cj4gICAgIH0KPiAqLwo+ICAgICByYW5kID0gKG5ldyBS YW5kb20oKSkubmV4dEludChJbnRlZ2VyLk1BWF9WQUxVRSk7Cj4gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IE1heSBpdCBoZWxwLgo+ IC1YdWViaW5nIFlhbgo+Cj4gLS0tLS3Tyrz+1K28/i0tLS0tCj4gt6K8/sjLOiBLYXJlZW0gRGFu YSBbbWFpbHRvOmthcmVlbS5kYW5hQGdtYWlsLmNvbV0KPiC3osvNyrG85DogMjAwN8TqMTHUwjE2 yNUgOTozMgo+IMrVvP7IyzogaGFkb29wLXVzZXJAbHVjZW5lLmFwYWNoZS5vcmcKPiDW98ziOiBS ZTogSEJhc2UgUGVyZm9ybWFuY2VFdmFsdWF0aW9uIGZhaWxpbmcKPgo+IE15IERGUyBhcHBlYXJz IGhlYWx0aHkuIEFmdGVyIHRoZSBQRSBmYWlscywgdGhlIGRhdGFub2RlcyBhcmUgc3RpbGwKPiBy dW5uaW5nIGJ1dCBhbGwgdGhlIEhSZWdpb25TZXJ2ZXJzIGhhdmUgZXhpdGVkLiBNeSBpbml0aWFs IGNvbmNlcm4gaXMKPiBmcmVlIGhhcmRkcml2ZSBzcGFjZSBvciBtZW1vcnkuIEVhY2ggbm9kZSBo YXMgfjEuNUdCIGZyZWUgc3BhY2UgZm9yCj4gREZTIGFuZCA0MDBNQiByYW0vMjU2bWIgc3dhcC4g SXMgdGhpcyBlbm91Z2ggZm9yIHRoZSBQRT8gSSB0cmllZAo+IG1vbml0b3JpbmcgdGhlIGZyZWUg c3BhY2UgYXMgdGhlIFBFIHJhbiBhbmQgaXQgbmV2ZXIgY29tcGxldGVseSBmaWxsZWQKPiB1cCBi dXQgaXQgaXMga2luZCBvZiB0aWdodC4KPgo+Cj4gT24gTm92IDE1LCAyMDA3IDg6MDEgUE0sIHN0 YWNrIDxzdGFja0BkdWJvY2UubmV0PiB3cm90ZToKPiA+IFlvdXIgREZTIGlzIGhlYWx0aHk/ICBU aGlzIHNlZW1zIG9kZDogIkZpbGUKPiA+Cj4gL3RtcC9oYWRvb3Ata2NkL2hiYXNlL2hyZWdpb25f VGVzdFRhYmxlLDIxMDIxNjUsNjg0MzQ3NzUyNTI4MTE3MDk1NC9pbmZvL21hcAo+IGZpbGVzLzY0 NjQ5ODc4NTkzOTY1NDM5ODEvZGF0YWNvdWxkCj4KPiA+IG9ubHkgYmUgcmVwbGljYXRlZCB0byAw IG5vZGVzLCBpbnN0ZWFkIG9mIDE7IiAgSW4gbXkgZXhwZXJpZW5jZSwgSUlSQywKPiA+IGl0IG1l YW5zIG5vIGRhdGFub2RlcyBydW5uaW5nLgo+ID4KPiA+IChJIGp1c3QgdHJpZWQgdGhlIFBFIGZy b20gVFJVTksgYW5kIGl0IHJhbiB0byBjb21wbGV0aW9uKS4KPiA+Cj4gPiBTdC5BY2sKPiA+Cj4g Pgo+ID4gS2FyZWVtIERhbmEgd3JvdGU6Cj4gPiA+IEknbSB0cnlpbmcgdG8gcnVuIHRoZSBIQmFz ZSBQZXJmb3JtYW5jZUV2YWx1YXRpb24gcHJvZ3JhbSBvbiBhIGNsdXN0ZXIKPiA+ID4gb2YgNSBo YWRvb3Agbm9kZXMgKG9uIHZpcnR1YWwgbWFjaGluZXMpLgo+ID4gPgo+ID4gPiBoYWRvb3AwNyBp cyBhIERGUyBNYXN0ZXIgYW5kIEhCYXNlIG1hc3Rlcgo+ID4gPiBoYWRvb3AwOC0xMiBhcmUgSEJh c2UgcmVnaW9uIHNlcnZlcnMKPiA+ID4KPiA+ID4gSSBzdGFydCB0aGUgdGVzdCBhcyBmb2xsb3dz Ogo+ID4gPgo+ID4gPiAkIGJpbi9oYWRvb3AgamFyCj4gPiA+ICR7SEFET09QX0hPTUV9YnVpbGQv Y29udHJpYi9oYmFzZS9oYWRvb3AtMC4xNS4wLWRldi1oYmFzZS10ZXN0Lmphcgo+ID4gPiBzZXF1 ZW50aWFsV3JpdGUgMgo+ID4gPgo+ID4gPiBUaGlzIHN0YXJ0cyB0aGUgc2VxdWVudGlhbFdyaXRl IHRlc3Qgd2l0aCAyIGNsaWVudHMuIEFmdGVyIGFib3V0IDI1Cj4gPiA+IG1pbnV0ZXMgdGhlIG1h cCB0YXNrcyBhcmUgYWJvdXQgMjUlIGNvbXBsZXRlIGFuZCByZWR1Y2UgYXQgNiUgdGhlIHRlc3QK PiA+ID4gZmFpbHMgd2l0aCB0aGUgZm9sbG93aW5nIGVycm9yOgo+ID4gPiAyMDA3LTExLTE1IDE3 OjA2OjM1LDEwMCBJTkZPIG9yZy5hcGFjaGUuaGFkb29wLm1hcHJlZC5UYXNrSW5Qcm9ncmVzczoK PiA+ID4gVGFza0luUHJvZ3Jlc3MgdGlwXzIwMDcxMTE1MTYyNl8wMDAxX21fMDAwMDAyIGhhcyBm YWlsZWQgMSB0aW1lcy4KPiA+ID4gMjAwNy0xMS0xNSAxNzowNjozNSwxMDAgSU5GTyBvcmcuYXBh Y2hlLmhhZG9vcC5tYXByZWQuSm9iSW5Qcm9ncmVzczoKPiA+ID4gQWJvcnRpbmcgam9iIGpvYl8y MDA3MTExNTE2MjZfMDAwMQo+ID4gPiAyMDA3LTExLTE1IDE3OjA2OjM1LDEwMSBJTkZPIG9yZy5h cGFjaGUuaGFkb29wLm1hcHJlZC5UYXNrSW5Qcm9ncmVzczoKPiA+ID4gRXJyb3IgZnJvbSB0YXNr XzIwMDcxMTE1MTYyNl8wMDAxX21fMDAwMDA2XzA6Cj4gPiA+IG9yZy5hcGFjaGUuaGFkb29wLmhi YXNlLk5vU2VydmVyRm9yUmVnaW9uRXhjZXB0aW9uOiBmYWlsZWQgdG8gZmluZAo+ID4gPiBzZXJ2 ZXIgZm9yIFRlc3RUYWJsZSBhZnRlciA1IHJldHJpZXMKPiA+ID4gICAgICAgYXQKPiBvcmcuYXBh Y2hlLmhhZG9vcC5oYmFzZS5IQ29ubmVjdGlvbk1hbmFnZXIkVGFibGVTZXJ2ZXJzLnNjYW5PbmVN ZXRhUmVnaW9uKEhDCj4gb25uZWN0aW9uTWFuYWdlci5qYXZhOjc2MSkKPiA+ID4gICAgICAgYXQK PiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5IQ29ubmVjdGlvbk1hbmFnZXIkVGFibGVTZXJ2ZXJz LmZpbmRTZXJ2ZXJzRm9yVGFibGUoCj4gSENvbm5lY3Rpb25NYW5hZ2VyLmphdmE6NTIxKQo+ID4g PiAgICAgICBhdAo+IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLkhDb25uZWN0aW9uTWFuYWdlciRU YWJsZVNlcnZlcnMucmVsb2FkVGFibGVTZXJ2ZXJzKEgKPiBDb25uZWN0aW9uTWFuYWdlci5qYXZh OjMxNykKPiA+ID4gICAgICAgYXQgb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuSFRhYmxlLmNvbW1p dChIVGFibGUuamF2YTo2NzEpCj4gPiA+ICAgICAgIGF0IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNl LkhUYWJsZS5jb21taXQoSFRhYmxlLmphdmE6NjM2KQo+ID4gPiAgICAgICBhdAo+IG9yZy5hcGFj aGUuaGFkb29wLmhiYXNlLlBlcmZvcm1hbmNlRXZhbHVhdGlvbiRTZXF1ZW50aWFsV3JpdGVUZXN0 LnRlc3RSb3coUGUKPiByZm9ybWFuY2VFdmFsdWF0aW9uLmphdmE6NDkzKQo+ID4gPiAgICAgICBh dAo+IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLlBlcmZvcm1hbmNlRXZhbHVhdGlvbiRUZXN0LnRl c3QoUGVyZm9ybWFuY2VFdmFsdWF0aW8KPiBuLmphdmE6MzU2KQo+ID4gPiAgICAgICBhdAo+IG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLlBlcmZvcm1hbmNlRXZhbHVhdGlvbi5ydW5PbmVDbGllbnQo UGVyZm9ybWFuY2VFdmFsdWEKPiB0aW9uLmphdmE6NTI5KQo+ID4gPiAgICAgICBhdAo+IG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLlBlcmZvcm1hbmNlRXZhbHVhdGlvbiRFdmFsdWF0aW9uTWFwVGFz ay5tYXAoUGVyZm9ybWEKPiBuY2VFdmFsdWF0aW9uLmphdmE6MTg0KQo+ID4gPiAgICAgICBhdCBv cmcuYXBhY2hlLmhhZG9vcC5tYXByZWQuTWFwUnVubmVyLnJ1bihNYXBSdW5uZXIuamF2YTo1MCkK PiA+ID4gICAgICAgYXQgb3JnLmFwYWNoZS5oYWRvb3AubWFwcmVkLk1hcFRhc2sucnVuKE1hcFRh c2suamF2YToxOTIpCj4gPiA+ICAgICAgIGF0Cj4gb3JnLmFwYWNoZS5oYWRvb3AubWFwcmVkLlRh c2tUcmFja2VyJENoaWxkLm1haW4oVGFza1RyYWNrZXIuamF2YToxNzYwKQo+ID4gPgo+ID4gPgo+ ID4gPiBBbiBIQmFzZSByZWdpb24gc2VydmVyIGxvZyBzaG93cyB0aGVzZSBlcnJvcnM6Cj4gPiA+ IDIwMDctMTEtMTUgMTc6MDM6MDAsMDE3IEVSUk9SIG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLkhS ZWdpb25TZXJ2ZXI6Cj4gPiA+IGVycm9yIGNsb3NpbmcgcmVnaW9uIFRlc3RUYWJsZSwyMTAyMTY1 LDY4NDM0Nzc1MjUyODExNzA5NTQKPiA+ID4gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuRHJvcHBl ZFNuYXBzaG90RXhjZXB0aW9uOiBqYXZhLmlvLklPRXhjZXB0aW9uOgo+ID4gPiBGaWxlCj4gL3Rt cC9oYWRvb3Ata2NkL2hiYXNlL2hyZWdpb25fVGVzdFRhYmxlLDIxMDIxNjUsNjg0MzQ3NzUyNTI4 MTE3MDk1NC9pbmZvL21hcAo+IGZpbGVzLzY0NjQ5ODc4NTkzOTY1NDM5ODEvZGF0YQo+ID4gPiBj b3VsZCBvbmx5IGJlIHJlcGxpY2F0ZWQgdG8gMCBub2RlcywgaW5zdGVhZCBvZiAxCj4gPiA+ICAg ICAgICAgYXQKPiBvcmcuYXBhY2hlLmhhZG9vcC5kZnMuRlNOYW1lc3lzdGVtLmdldEFkZGl0aW9u YWxCbG9jayhGU05hbWVzeXN0ZW0uamF2YToxMDAzCj4gKQo+ID4gPiAgICAgICAgIGF0IG9yZy5h cGFjaGUuaGFkb29wLmRmcy5OYW1lTm9kZS5hZGRCbG9jayhOYW1lTm9kZS5qYXZhOjI5MykKPiA+ ID4gICAgICAgICBhdCBzdW4ucmVmbGVjdC5HZW5lcmF0ZWRNZXRob2RBY2Nlc3NvcjE4Lmludm9r ZShVbmtub3duIFNvdXJjZSkKPiA+ID4gICAgICAgICBhdAo+IHN1bi5yZWZsZWN0LkRlbGVnYXRp bmdNZXRob2RBY2Nlc3NvckltcGwuaW52b2tlKERlbGVnYXRpbmdNZXRob2RBY2Nlc3NvckltcGwK PiAuamF2YToyNSkKPiA+ID4gICAgICAgICBhdCBqYXZhLmxhbmcucmVmbGVjdC5NZXRob2QuaW52 b2tlKE1ldGhvZC5qYXZhOjU4NSkKPiA+ID4gICAgICAgICBhdCBvcmcuYXBhY2hlLmhhZG9vcC5p cGMuUlBDJFNlcnZlci5jYWxsKFJQQy5qYXZhOjM3OSkKPiA+ID4gICAgICAgICBhdCBvcmcuYXBh Y2hlLmhhZG9vcC5pcGMuU2VydmVyJEhhbmRsZXIucnVuKFNlcnZlci5qYXZhOjU5NikKPiA+ID4K PiA+ID4gICAgICAgICBhdAo+IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLkhSZWdpb24uaW50ZXJu YWxGbHVzaGNhY2hlKEhSZWdpb24uamF2YTo4ODYpCj4gPiA+ICAgICAgICAgYXQgb3JnLmFwYWNo ZS5oYWRvb3AuaGJhc2UuSFJlZ2lvbi5jbG9zZShIUmVnaW9uLmphdmE6Mzg4KQo+ID4gPiAgICAg ICAgIGF0Cj4gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuSFJlZ2lvblNlcnZlci5jbG9zZUFsbFJl Z2lvbnMoSFJlZ2lvblNlcnZlci5qYXZhOjk3OAo+ICkKPiA+ID4gICAgICAgICBhdAo+IG9yZy5h cGFjaGUuaGFkb29wLmhiYXNlLkhSZWdpb25TZXJ2ZXIucnVuKEhSZWdpb25TZXJ2ZXIuamF2YTo1 OTMpCj4gPiA+ICAgICAgICAgYXQgamF2YS5sYW5nLlRocmVhZC5ydW4oVGhyZWFkLmphdmE6NTk1 KQo+ID4gPiAyMDA3LTExLTE1IDE3OjAzOjAwLDYxNSBFUlJPUiBvcmcuYXBhY2hlLmhhZG9vcC5o YmFzZS5IUmVnaW9uU2VydmVyOgo+ID4gPiBlcnJvciBjbG9zaW5nIHJlZ2lvbiBUZXN0VGFibGUs MzE0NzY1NCw4OTI5MTI0NTMyMDgxOTA4ODk0Cj4gPiA+IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNl LkRyb3BwZWRTbmFwc2hvdEV4Y2VwdGlvbjogamF2YS5pby5JT0V4Y2VwdGlvbjoKPiA+ID4gRmls ZQo+IC90bXAvaGFkb29wLWtjZC9oYmFzZS9ocmVnaW9uX1Rlc3RUYWJsZSwzMTQ3NjU0LDg5Mjkx MjQ1MzIwODE5MDg4OTQvaW5mby9tYXAKPiBmaWxlcy8zNDUxODU3NDk3Mzk3NDkzNzQyL2RhdGEK PiA+ID4gY291bGQgb25seSBiZSByZXBsaWNhdGVkIHRvIDAgbm9kZXMsIGluc3RlYWQgb2YgMQo+ ID4gPiAgICAgICAgIGF0Cj4gb3JnLmFwYWNoZS5oYWRvb3AuZGZzLkZTTmFtZXN5c3RlbS5nZXRB ZGRpdGlvbmFsQmxvY2soRlNOYW1lc3lzdGVtLmphdmE6MTAwMwo+ICkKPiA+ID4gICAgICAgICBh dCBvcmcuYXBhY2hlLmhhZG9vcC5kZnMuTmFtZU5vZGUuYWRkQmxvY2soTmFtZU5vZGUuamF2YToy OTMpCj4gPiA+ICAgICAgICAgYXQgc3VuLnJlZmxlY3QuR2VuZXJhdGVkTWV0aG9kQWNjZXNzb3Ix OC5pbnZva2UoVW5rbm93biBTb3VyY2UpCj4gPiA+ICAgICAgICAgYXQKPiBzdW4ucmVmbGVjdC5E ZWxlZ2F0aW5nTWV0aG9kQWNjZXNzb3JJbXBsLmludm9rZShEZWxlZ2F0aW5nTWV0aG9kQWNjZXNz b3JJbXBsCj4gLmphdmE6MjUpCj4gPiA+ICAgICAgICAgYXQgamF2YS5sYW5nLnJlZmxlY3QuTWV0 aG9kLmludm9rZShNZXRob2QuamF2YTo1ODUpCj4gPiA+ICAgICAgICAgYXQgb3JnLmFwYWNoZS5o YWRvb3AuaXBjLlJQQyRTZXJ2ZXIuY2FsbChSUEMuamF2YTozNzkpCj4gPiA+ICAgICAgICAgYXQg b3JnLmFwYWNoZS5oYWRvb3AuaXBjLlNlcnZlciRIYW5kbGVyLnJ1bihTZXJ2ZXIuamF2YTo1OTYp Cj4gPiA+Cj4gPiA+ICAgICAgICAgYXQKPiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5IUmVnaW9u LmludGVybmFsRmx1c2hjYWNoZShIUmVnaW9uLmphdmE6ODg2KQo+ID4gPiAgICAgICAgIGF0IG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLkhSZWdpb24uY2xvc2UoSFJlZ2lvbi5qYXZhOjM4OCkKPiA+ ID4gICAgICAgICBhdAo+IG9yZy5hcGFjaGUuaGFkb29wLmhiYXNlLkhSZWdpb25TZXJ2ZXIuY2xv c2VBbGxSZWdpb25zKEhSZWdpb25TZXJ2ZXIuamF2YTo5NzgKPiApCj4gPiA+ICAgICAgICAgYXQK PiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5IUmVnaW9uU2VydmVyLnJ1bihIUmVnaW9uU2VydmVy LmphdmE6NTkzKQo+ID4gPiAgICAgICAgIGF0IGphdmEubGFuZy5UaHJlYWQucnVuKFRocmVhZC5q YXZhOjU5NSkKPiA+ID4gMjAwNy0xMS0xNSAxNzowMzowMCw2MzkgRVJST1Igb3JnLmFwYWNoZS5o YWRvb3AuaGJhc2UuSFJlZ2lvblNlcnZlcjoKPiA+ID4gQ2xvc2UgYW5kIGRlbGV0ZSBmYWlsZWQK PiA+ID4gamF2YS5pby5JT0V4Y2VwdGlvbjogamF2YS5pby5JT0V4Y2VwdGlvbjogRmlsZQo+ID4g Pgo+IC90bXAvaGFkb29wLWtjZC9oYmFzZS9sb2dfMTcyLjE2LjYuNTdfLTM4ODkyMzI4ODg2NzM0 MDgxNzFfNjAwMjAvaGxvZy5kYXQuMDAKPiA1Cj4gPiA+IGNvdWxkIG9ubHkgYmUgcmVwbGljYXRl ZCB0byAwIG5vZGVzLCBpbnN0ZWFkIG9mIDEKPiA+ID4gICAgICAgICBhdAo+IG9yZy5hcGFjaGUu aGFkb29wLmRmcy5GU05hbWVzeXN0ZW0uZ2V0QWRkaXRpb25hbEJsb2NrKEZTTmFtZXN5c3RlbS5q YXZhOjEwMDMKPiApCj4gPiA+ICAgICAgICAgYXQgb3JnLmFwYWNoZS5oYWRvb3AuZGZzLk5hbWVO b2RlLmFkZEJsb2NrKE5hbWVOb2RlLmphdmE6MjkzKQo+ID4gPiAgICAgICAgIGF0IHN1bi5yZWZs ZWN0LkdlbmVyYXRlZE1ldGhvZEFjY2Vzc29yMTguaW52b2tlKFVua25vd24gU291cmNlKQo+ID4g PiAgICAgICAgIGF0Cj4gc3VuLnJlZmxlY3QuRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbC5p bnZva2UoRGVsZWdhdGluZ01ldGhvZEFjY2Vzc29ySW1wbAo+IC5qYXZhOjI1KQo+ID4gPiAgICAg ICAgIGF0IGphdmEubGFuZy5yZWZsZWN0Lk1ldGhvZC5pbnZva2UoTWV0aG9kLmphdmE6NTg1KQo+ ID4gPiAgICAgICAgIGF0IG9yZy5hcGFjaGUuaGFkb29wLmlwYy5SUEMkU2VydmVyLmNhbGwoUlBD LmphdmE6Mzc5KQo+ID4gPiAgICAgICAgIGF0IG9yZy5hcGFjaGUuaGFkb29wLmlwYy5TZXJ2ZXIk SGFuZGxlci5ydW4oU2VydmVyLmphdmE6NTk2KQo+ID4gPgo+ID4gPiAgICAgICAgIGF0IHN1bi5y ZWZsZWN0Lk5hdGl2ZUNvbnN0cnVjdG9yQWNjZXNzb3JJbXBsLm5ld0luc3RhbmNlMChOYXRpdmUK PiBNZXRob2QpCj4gPiA+ICAgICAgICAgYXQKPiBzdW4ucmVmbGVjdC5OYXRpdmVDb25zdHJ1Y3Rv ckFjY2Vzc29ySW1wbC5uZXdJbnN0YW5jZShOYXRpdmVDb25zdHJ1Y3RvckFjY2VzCj4gc29ySW1w bC5qYXZhOjM5KQo+ID4gPiAgICAgICAgIGF0Cj4gc3VuLnJlZmxlY3QuRGVsZWdhdGluZ0NvbnN0 cnVjdG9yQWNjZXNzb3JJbXBsLm5ld0luc3RhbmNlKERlbGVnYXRpbmdDb25zdHJ1Ywo+IHRvckFj Y2Vzc29ySW1wbC5qYXZhOjI3KQo+ID4gPiAgICAgICAgIGF0Cj4gamF2YS5sYW5nLnJlZmxlY3Qu Q29uc3RydWN0b3IubmV3SW5zdGFuY2UoQ29uc3RydWN0b3IuamF2YTo0OTQpCj4gPiA+ICAgICAg ICAgYXQKPiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5SZW1vdGVFeGNlcHRpb25IYW5kbGVyLmRl Y29kZVJlbW90ZUV4Y2VwdGlvbihSZW1vdGVFCj4geGNlcHRpb25IYW5kbGVyLmphdmE6ODIpCj4g PiA+ICAgICAgICAgYXQKPiBvcmcuYXBhY2hlLmhhZG9vcC5oYmFzZS5SZW1vdGVFeGNlcHRpb25I YW5kbGVyLmNoZWNrSU9FeGNlcHRpb24oUmVtb3RlRXhjZXB0Cj4gaW9uSGFuZGxlci5qYXZhOjQ4 KQo+ID4gPiAgICAgICAgIGF0Cj4gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuSFJlZ2lvblNlcnZl ci5ydW4oSFJlZ2lvblNlcnZlci5qYXZhOjU5NykKPiA+ID4gICAgICAgICBhdCBqYXZhLmxhbmcu VGhyZWFkLnJ1bihUaHJlYWQuamF2YTo1OTUpCj4gPiA+IDIwMDctMTEtMTUgMTc6MDM6MDAsNjQw IElORk8gb3JnLmFwYWNoZS5oYWRvb3AuaGJhc2UuSFJlZ2lvblNlcnZlcjoKPiA+ID4gdGVsbGlu ZyBtYXN0ZXIgdGhhdCByZWdpb24gc2VydmVyIGlzIHNodXR0aW5nIGRvd24gYXQ6Cj4gPiA+IDE3 Mi4xNi42LjU3OjYwMDIwCj4gPiA+IDIwMDctMTEtMTUgMTc6MDM6MDAsNjQzIElORk8gb3JnLmFw YWNoZS5oYWRvb3AuaGJhc2UuSFJlZ2lvblNlcnZlcjoKPiA+ID4gc3RvcHBpbmcgc2VydmVyIGF0 OiAxNzIuMTYuNi41Nzo2MDAyMAo+ID4gPiAyMDA3LTExLTE1IDE3OjAzOjAwLDY0MyBJTkZPIG9y Zy5hcGFjaGUuaGFkb29wLmhiYXNlLkhSZWdpb25TZXJ2ZXI6Cj4gPiA+IHJlZ2lvbnNlcnZlci8w LjAuMC4wOjYwMDIwIGV4aXRpbmcKPiA+ID4KPiA+ID4gSSBjYW4gcHJvdmlkZSBzb21lIG1vcmUg bG9ncyBpZiBuZWNlc3NhcnkuIEFueSBpZGVhcyBvciBzdWdnZXN0aW9ucwo+ID4gPiBhYm91dCBo b3cgSSB0cmFjayB0aGlzIGRvd24/IFJ1bm5pbmcgc2VxdWVudGlhbFdyaXRlIHRlc3Qgd2l0aCBq dXN0IDEKPiA+ID4gY2xpZW50IHdvcmtzIGZpbmUgYnV0IHVzaW5nIDIgb3IgbW9yZSBjYXVzZXMg dGhlc2UgZXJyb3JzLgo+ID4gPgo+ID4gPiBUaGFua3MgZm9yIGFueSBoZWxwLAo+ID4gPiBLYXJl ZW0gRGFuYQo+ID4gPgo+ID4KPiA+Cj4K