From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Alexey Mahotkin" Subject: Re: Git at Better SCM Initiative comparison of VCS (long) Date: Sun, 14 Sep 2008 19:09:36 +0400 Message-ID: References: <200809131906.18746.jnareb@gmail.com> <20080914144306.GF28210@dpotapov.dyndns.org> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Cc: "Jakub Narebski" , git@vger.kernel.org To: "Dmitry Potapov" X-From: git-owner@vger.kernel.org Sun Sep 14 17:10:49 2008 Return-path: Envelope-to: gcvg-git-2@gmane.org Received: from vger.kernel.org ([209.132.176.167]) by lo.gmane.org with esmtp (Exim 4.50) id 1KetFQ-000610-0g for gcvg-git-2@gmane.org; Sun, 14 Sep 2008 17:10:49 +0200 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751992AbYINPJj (ORCPT ); Sun, 14 Sep 2008 11:09:39 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751941AbYINPJj (ORCPT ); Sun, 14 Sep 2008 11:09:39 -0400 Received: from rv-out-0506.google.com ([209.85.198.229]:63980 "EHLO rv-out-0506.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751865AbYINPJh (ORCPT ); Sun, 14 Sep 2008 11:09:37 -0400 Received: by rv-out-0506.google.com with SMTP id k40so1742993rvb.1 for ; Sun, 14 Sep 2008 08:09:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:cc:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=OGm6KRYTUU0LTMnDjDHpun5KwqHlrRilxsEyA4/cQzg=; b=o2cYtQr0meBQT21a6beDxirHc9TEHA1r+Pox4UM/kBxks7F65jA6X4R00Ulg2ulEYH iqxn0w84KYGdMSidQYcRf8qb/S3UfyNmwNQc7/6ejW/VzLgqHYaQJY+1PeEKxBP6vTZH cFt/IhzUQzRTWUpkc1aCq7XbJGbJFe5q38CZg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:cc:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=g1m+BLzXUVyheKtQKqr9/ORZA0k5pHWcieWuJ/e/Sg09S12vsCQZ/LC2JhZ7nHiYwf gk0fVnYnBNeCgmKelrKkuUKRr+Iq2YMiCg4V10iivKyXcKlHbKWxzIwb6uBOx9gINLTF MR7r3DKaIFyRH5fe2grhdgc0TuraSAnxJLt3U= Received: by 10.140.136.5 with SMTP id j5mr4111462rvd.0.1221404976701; Sun, 14 Sep 2008 08:09:36 -0700 (PDT) Received: by 10.141.67.11 with HTTP; Sun, 14 Sep 2008 08:09:36 -0700 (PDT) In-Reply-To: <20080914144306.GF28210@dpotapov.dyndns.org> Content-Disposition: inline Sender: git-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: git@vger.kernel.org Archived-At: SGksCgpJJ3ZlIHdyaXR0ZW4gdGhlIHZlcnNpb24gd2hpY2ggaXMgb24gaHR0cDovL3ZlcnNpb25j b250cm9sYmxvZy5jb20gYW5kCnNlbnQgaXQgdG8gTXIuIFNobG9taSBGaXNoIHNldmVyYWwgbW9u dGhzIGFnby4gICAgIEhlIGhhcyBleHRlbnNpdmVseQpyZS13cml0dGVuIG15IHRleHQsIG1ha2lu ZyBpdCBtb3JlICJuZXV0cmFsIiwgYW5kIHB1Ymxpc2hlZCBpdCBvbgpiZXR0ZXItc2NtLiAgSSBk byBub3QgYWdyZWUgd2l0aCBzb21lIG9mIHRoZSBjaGFuZ2VzIGhlIG1hZGUsIGJ1dCBJCmRpZCBu b3QgaW5zaXN0LiAgOikKCk9jY2FzaW9uYWxseSBJIHVwZGF0ZSBteSB0ZXh0IHdpdGggdGhlIGN1 cnJlbnQgdmVyc2lvbiBhdCBiZXR0ZXItc2NtLApidXQgdGhpcyBoYXMgbm90IGhhcHBlbmVkIGZv ciBzb21lIHRpbWUsIGFuZCBpdCBzdGlsbCBjb250YWlucyBteQpvcmlnaW5hbCB2ZXJzaW9uLgoK SXMgdGhlcmUgYW55dGhpbmcgSSBjYW4gZG8gdG8gaW1wcm92ZSB0aGUgc3RhdGUgb2YgdGhpbmdz IGluIGFueSB3YXk/IDopCgpPbiBTdW4sIFNlcCAxNCwgMjAwOCBhdCA2OjQzIFBNLCBEbWl0cnkg UG90YXBvdiA8ZHBvdGFwb3ZAZ21haWwuY29tPiB3cm90ZToKPiBIZWxsbyBKYWt1YiwKPgo+IEkg aGF2ZSBhZGRlZCBBbGV4ZXkgTWFob3RraW4gaW4gQ0MsIHdobyBpcyBhbGxlZ2VkbHkgdGhlIGF1 dGhvciBvZiB0aGF0Cj4gaW5mb3JtYXRpb24gYWJvdXQgR2l0IHRoYXQgeW91IGNhbiByZWFkIG9u IHRoZSBiZXR0ZXItc2NtIHNpdGUuCj4KPiBPbiBTYXQsIFNlcCAxMywgMjAwOCBhdCAwNzowNjox NlBNICswMjAwLCBKYWt1YiBOYXJlYnNraSB3cm90ZToKPj4KPj4gSSBoYXZlIHRob3VnaHQgYWJv dXQgdHJ5aW5nIHlldCBhbm90aGVyIHRpbWUuLi4gYnV0IEdpdCB3YXMgYWxyZWFkeQo+PiBhZGRl ZDsgc2VlIGh0dHA6Ly9iZXR0ZXItc2NtLmJlcmxpb3MuZGUvbmV3cy9jaGFuZ2VzLTIwMDgtMDgt MDcvCj4KPiBJbnRlcmVzdGluZywgdGhlIHNpdGUgc3RpbGwgbWVudGlvbnMgR2l0IGFzIG1pc3Np bmcgaW4gYSBmZXcgcGxhY2VzLgo+IEZvciBpbnN0YW5jZSwgd2hlbiB5b3UgY2xpY2sgb24gR2l0 IGluIHRoZSBsaXN0IG9mIGFsdGVybmF0aXZlcywgeW91Cj4gZ2V0IHRoaXM6IGh0dHA6Ly9iZXR0 ZXItc2NtLmJlcmxpb3MuZGUvYWx0ZXJuYXRpdmVzL2dpdC8KPiBhbmQgdGhlbiB3aGVuIHlvdSBn b3QgdG8gRkFRLCB5b3UgY2FuIHJlYWQgdGhpczoKPgo+IHwgVGhlIHJlYXNvbiBpdCdzIG5vdCB0 aGVyZSBpcyB0aGF0IHdoaWxlIG1hbnkgcGVvcGxlIGhhdmUgY29tcGxhaW5lZAo+IHwgYWJvdXQg aXRzIGFic2Vuc2UsIG5vIG9uZSBzdWl0YWJsZSBoYXMgdm9sdW50ZWVyZWQgdG8gYmVjb21lIGl0 cwo+IHwgY2hhbXBpb24gYW5kIHN1cHBsaWVkIGEgZ29vZCBlbm91Z2ggcGF0Y2guIElmIHlvdSBo YXZlIGEgc3Vic3RhbnRpYWwKPiB8IGFtb3VudCBvZiBnaXQgZXhwZXJ0aXNlLCBoYXZlIGdvb2Qg RW5nbGlzaCB3cml0aW5nIHNraWxscywgYW5kIHdpc2ggdG8KPiB8IHZvbHVudGVlciwgdGhlbiB3 ZSdsbCBiZSBoYXBweSB0byBoZWFyIGZyb20geW91LiBJZiBub3QgLSBhdCBsZWFzdCBkb24ndAo+ IHwgY29tcGxhaW4gYWJvdXQgaXQuCj4gfAo+IHwgSW4gYWRkaXRpb24gdG8gZXZlcnl0aGluZyB0 aGF0IHdhcyBzYWlkIGhlcmUsIGl0IHNlZW1zIHRoYXQgdGhlCj4gfCBvcmlnaW5hdG9yIGFuZCBt YWludGFpbmVyIG9mIHRoZSBzaXRlIGFuZCBjb21wYXJpc29uIGlzIG5vdyBiYW5uZWQKPiB8IGZy b20gc2VuZGluZyBtZXNzYWdlcyB0byB2Z2VyLmtlcm5lbC5vcmcsIHdoaWNoIGhvc3RzIHNldmVy YWwKPiB8IExpbnV4LWtlcm5lbC1yZWxhdGVkIG1haWxpbmctbGlzdHMsIGluY2x1ZGluZyB0aGUg Z2l0IG9uZS4gVGhpcyBoYXMKPiB8IGludGVyZmVyZWQgd2l0aCBzb21lIG9mIGhpcyBMaW51eC1y ZWxhdGVkIG9wZW4tc291cmNlIHdvcmssIGluY2x1ZGluZwo+IHwgdHJ5aW5nIHRvIGZpbmQgYSAi QmV0dGVyIFNDTSIgbWFpbnRhaW5lciBmb3IgZ2l0LiBUaGlzIGlzIHVuZm9ydHVuYXRlLAo+IHwg YnV0IGNoYW5naW5nIHRoaXMgc2l0dWF0aW9uLCBpcyBjdXJyZW50bHkgYmV5b25kIGhpcyBjb250 cm9sLgo+Cj4gU291cmNlOiBodHRwOi8vYmV0dGVyLXNjbS5iZXJsaW9zLmRlL2ZhcS8jZ2l0LW1p c3NpbmcKPgo+IEkgYW0gc3VycHJpc2VkIHRvIGhlYXIgdGhhdCBTaGxvbWkgRmlzaCBpcyBiYW5u ZWQuLi4KPgo+PiBzY20+ICAgICA8c2VjdGlvbiBpZD0icmVwb3Nfb3BlcmF0aW9ucyI+Cj4+IHNj bT4gICAgICAgICA8dGl0bGU+UmVwb3NpdG9yeSBPcGVyYXRpb25zPC90aXRsZT4KPj4gc2NtPiAg ICAgICAgIDxzZWN0aW9uIGlkPSJhdG9taWNfY29tbWl0cyI+Cj4+IHNjbT4gICAgICAgICAgICAg PHRpdGxlPkF0b21pYyBDb21taXRzPC90aXRsZT4KPj4gc2NtPiAgICAgICAgICAgICA8ZXhwbD4K Pj4gc2NtPiAgICAgICAgICAgICAgICAgU3VwcG9ydCBmb3IgYXRvbWljIGNvbW1pdHMgbWVhbnMg dGhhdCBpZiBhbgo+PiBzY20+ICAgICAgICAgICAgICAgICBvcGVyYXRpb24gb24gdGhlIHJlcG9z aXRvcnkgaXMgaW50ZXJydXB0ZWQKPj4gc2NtPiAgICAgICAgICAgICAgICAgaW4gdGhlIG1pZGRs ZSwgdGhlIHJlcG9zaXRvcnkgd2lsbCBub3QgYmUKPj4gc2NtPiAgICAgICAgICAgICAgICAgbGVm dCBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUuIEFyZSB0aGUKPj4gc2NtPiAgICAgICAgICAgICAg ICAgY2hlY2staW4gb3BlcmF0aW9ucyBhdG9taWMsIG9yIGNhbgo+PiBzY20+ICAgICAgICAgICAg ICAgICBpbnRlcnJ1cHRpbmcgYW4gb3BlcmF0aW9uIGxlYXZlIHRoZQo+PiBzY20+ICAgICAgICAg ICAgICAgICByZXBvc2l0b3J5IGluIGFuIGludGVybWVkaWF0ZSBzdGF0ZT8KPj4gc2NtPiAgICAg ICAgICAgICA8L2V4cGw+Cj4+Cj4+IEhlcmUgSSB0aGluayB0aGUgZXhwbGFuYXRpb24gb2YgYSBj cml0ZXJpb24gKGZlYXR1cmUpIGlzIGNsZWFyIGVub3VnaC4KPj4gSSBtaWdodCBoYXZlIGFkZGVk IHRoYXQgImludGVycnVwdGlvbiIgaW5jbHVkZSBraWxsaW5nIG9mIGEgcHJvY2Vzcwo+PiBkdXJp bmcgZm9yIGV4YW1wbGUgY29tbWl0LCBsYWNrIG9mIGRpc2sgc3BhY2UgZm9yIGEgZnVsbCBjb21t aXQsIG9yCj4+IGEgbmV0d29yayBmYWlsIGR1cmluZyBuZXR3b3JrIG9wZXJhdGlvbiAoZmV0Y2gg b3IgcHVzaCwgb3IgZXF1aXZhbGVudCkuCj4KPiBNeSBpbml0aWFsIHJlYWN0aW9uIHdhcyB0byBz YXkgdGhhdCBraWxsaW5nIGEgcHJvY2VzcyB3aXRoIC05IGlzIG5vdAo+IHdoYXQgeW91IGV4cGVj dCB0byBzZWUgaW4gcHJhY3RpY2UsIGJ1dCBhIHNlY29uZCBsYXRlciwgSSByZWFsaXplZCBob3cK PiB3cm9uZyBJIHdhcy4gTGFjayBvZiBtZW1vcnkgbWF5IGNhdXNlIHRoYXQgdGhlIHByb2Nlc3Mg Z2V0cyBraWxsZWQgd2l0aAo+IC05LCBhbmQgaXQgaGFzIGJlZW4gb2JzZXJ2ZWQgaW4gcHJhY3Rp Y2UgKGF0IGxlYXN0LCBpbiBjYXNlIG9mIE1lcmN1cnkKPiByZXBvKTogaHR0cDovL25vcm1hbi53 YWxzaC5uYW1lLzIwMDcvMDgvMDkvbWVyY3VyaWFsCj4KPiBBbm90aGVyIHRoaW5nIHRoYXQgaXMg bm90IGNsZWFyIGluIHRoZSBhYm92ZSBjcml0ZXJpb24gaXMgd2hhdCBleGFjdGx5Cj4gImluY29u c2lzdGVudCBzdGF0ZSIgKG9yICJpbnRlcm1lZGlhdGUgc3RhdGUiKSBtZWFucy4gRm9yIGluc3Rh bmNlLCBpZgo+IEdpdCBnZXRzIGtpbGxlZCBkdXJpbmcgY29tbWl0LCB5b3UgbWF5IGhhdmUgdG8g cmVtb3ZlIC5naXQvaW5kZXgubG9jawo+IG1hbnVhbGx5LiBBRkFJSywgTWVyY3VyeSBsZWF2ZXMg dGhlICdqb3VybmFsJyBmaWxlIGFuZCB5b3UgaGF2ZSB0bwo+IHJ1biAiaGcgcmVjb3ZlcnkiLiBE b2VzIGl0IG1lYW4gdGhhdCB0aGUgY29tbWl0IGlzIG5vdCBhdG9taWM/Cj4KPiBBbm90aGVyIHRo aW5nIGhlcmUgaXMgdGhhdCAiZ2l0IGNvbW1pdCIgaXMgbG9jYWwsIHNvIEkgYW0gbm90IHN1cmUK PiBpZiB0aGlzIHF1ZXN0aW9uIGluY2x1ZGVzIG5ldHdvcmsgb3BlcmF0aW9ucy4uLgo+Cj4+IHNj bT4gICAgICAgICA8c2VjdGlvbiBpZD0ibW92ZSI+Cj4+IHNjbT4gICAgICAgICAgICAgPHRpdGxl PkZpbGVzIGFuZCBEaXJlY3RvcmllcyBNb3ZlcyBvciBSZW5hbWVzPC90aXRsZT4KPj4gc2NtPiAg ICAgICAgICAgICA8ZXhwbD4KPj4gc2NtPiAgICAgICAgICAgICAgICAgRG9lcyB0aGUgc3lzdGVt IHN1cHBvcnQgbW92aW5nIGEgZmlsZSBvciBkaXJlY3RvcnkgdG8KPj4gc2NtPiAgICAgICAgICAg ICAgICAgYSBkaWZmZXJlbnQgbG9jYXRpb24gd2hpbGUgc3RpbGwgcmV0YWluaW5nIHRoZSBoaXN0 b3J5Cj4+IHNjbT4gICAgICAgICAgICAgICAgIG9mIHRoZSBmaWxlPyA8Yj5Ob3RlOjwvYj4gYWxz byBzZWUgdGhlIG5leHQgc2VjdGlvbgo+PiBzY20+ICAgICAgICAgICAgICAgICBhYm91dCBpbnRl bGxpZ2VudCBtZXJnaW5nIG9mIHJlbmFtZWQgcGF0aHMuCj4+IHNjbT4gICAgICAgICAgICAgPC9l eHBsPgo+Pgo+PiBJbiBteSBvcGluaW9uIHRoaXMgY3JpdGVyaW9uIGlzIG5leHQgdG8gd29ydGhl c3Mgd2l0aG91dCBtb3JlIGluIGRlcHRoCj4+IGNsYXJpZmljYXRpb24gb2Ygd2hhdCBkb2VzIGl0 IG1lYW4gdG8gInN1cHBvcnQiIG1vdmVzIG9yIHJlbmFtZXM7IGFzCj4+IGVudHJpZXMgZm9yIGRp ZmZlcmVudCBzeXN0ZW1zIGFyZSB3cml0dGVuIGJ5IGRpZmZlcmVudCBwZW9wbGUsIGlmIGl0Cj4+ IGlzIG5vdCBjbGVhciBob3cgdG8gY2hlY2sgaWYgc29tZSBmZWF0dXJlIGlzIHN1cHBvcnRlZCwg c29tZSBtaWdodAo+PiB3cml0ZSAnbm8nIGZvciBzb21lIHN5c3RlbSBBLCBhbmQgc29tZSBvdGhl ciBwZXJzb24gY2FuIHdyaXRlICd5ZXMnCj4+IGZvciBvdGhlciBzeXN0ZW0gQiwgZXZlbiBpZiB0 aGUgc3VwcG9ydCBpcyBiZXR0ZXIgaW4gc3lzdGVtIEEgdGhhbiBpbgo+PiBzeXN0ZW0gQiAoYW5k IHdvdWxkIGJlIGNvbnNpZGVyZWQgZW5vdWdoLCBpLmUuICd5ZXMnIGFuc3dlciwgYnkgdGhlCj4+ IGNyZWF0b3Igb2YgdGhpcyBjcml0ZXJpb24pLgo+Pgo+PiBGb3IgbWUgdGhlIHN1cHBvcnQgZm9y IHJlbmFtZXMvbW92ZXMgYW5kIGNvcHlpbmcgKHNlZSBuZXh0IHNlY3Rpb24pCj4+IG1lYW5zIHRo YXQ6Cj4+Cj4+ICAwLikgV2hlbiBleGFtaW5pbmcgb3IgZ29pbmcgdG8gc29tZSBwb2ludCBpbiB0 aGUgaGlzdG9yeSAoc29tZSBvbGQKPj4gICAgICByZXZpc2lvbi92ZXJzaW9uIG9mIGEgcHJvamVj dCkgdGhlIHN0YXRlIHlvdSBnZXQgaXMgX2V4YWN0bHlfCj4+ICAgICAgdGhlIHNhbWUgYXMgaXQg d2FzIGF0IHRoYXQgdGltZSwgZXhhY3RseSB0aGUgc2FtZSBhcyBpdCB3YXMKPj4gICAgICByZWNv cmRlZCAoY29taXR0ZWQpIHRoZW4uCj4+Cj4+ICAgICAgRm9yIGV4YW1wbGUgdHJpY2tzIHdpdGgg bW92aW5nICosdiBmaWxlcyBpbiB0aGUgQ1ZTIHJlcG9zaXRvcnkKPj4gICAgICBicmVhayB0aGlz IGFzc2VydGlvbi4KPgo+IElNSE8sIHRoZSBhYm92ZSBhc3NlcnRpb24gaXMgYXNzdW1lZCB3aGVu IHdlIHRhbGsgYWJvdXQgcmVuYW1pbmcsIGFzCj4gdGhlIHN5c3RlbSB0aGF0IGlzIG5vdCBjYXBh YmxlIG9mIHRoYXQgd2lsbCBub3QgYmUgcXVhbGlmaWVkIGFzIGFuCj4gU0NNLiBZZXQsIHRoZXJl IGlzIHN0aWxsIHBsZW50eSB3YXkgdG8gaW50ZXJwcmV0IHRoZSBhYm92ZSBjcml0ZXJpb24uCj4g RXZlbiBpbiBDVlMsIHRoZSBoaXN0b3J5IG9mIHRoZSBmaWxlIGRvZXMgbm90IGRpc2FwcGVhciB3 aGVuIHlvdSBtb3ZlCj4gYSBmaWxlLiBZb3UgY2FuIGp1c3Qgd3JpdGUsIHRoaXMgZmlsZSBtb3Zl IHdhcyByZW5hbWVkIGZyb20gb2xkLW5hbWUsCj4gc28gYW55b25lIGNhbiBnZXQgb2xkIGhpc3Rv cnkgd2l0aG91dCBhbnkgcHJvYmxlbS4gT2YgY291cnNlLCBpdCB3aWxsCj4gcmVxdWlyZSBzb21l IGFuIGFkZGl0aW9uYWwgc3RlcCB0YWtlbiBtYW51YWxseS4gQnV0IGlmIHRoZSByZXF1aXJlbWVu dAo+IGlzIHRvIHNlZSBhbGwgbG9nIGhpc3Rvcnkgd2l0aCBvbmUgJHNjbSBsb2cgY29tbWFuZCwg eW91IGNhbiBqdXN0IGNvcHkKPiBvbGQgbG9nIGludG8gbG9nIG9mIGEgbmV3bHkgYWRkZWQgZmls ZS4gT2YgY291cnNlLCB5b3UgY2Fubm90IHJ1biAkc2NtCj4gYW5ub3RhdGUgb24gdGhhdCBmaWxl IGFuZCBzZWUgd2hvIGNoYW5nZWQgd2hhdCBsaW5lLCBidXQgdGhlcmUgaXMgbm8KPiBzdWNoIGEg cmVxdWlyZW1lbnQgYWJvdmUuCj4KPiBTbywgSSBhZ3JlZSwgaXQgc2hvdWxkIGJlIGJldHRlciBk ZWZpbmVkLgo+Cj4+Cj4+ICAxLikgV2hlbiBleGFtaW5pbmcgaGlzdG9yeSBvZiBhIHByb2plY3Qg YXMgYSB3aG9sZSB2ZXJzaW9uIGNvbnRyb2wKPj4gICAgICBzeXN0ZW0gdGVsbHMgeW91IHRoYXQg ZmlsZSB3YXMgcmVuYW1lZCAobW92ZWQpLiBJIHdvdWxkIGNvbnNpZGVyCj4+ICAgICAgaGF2aW5n IHRoZXJlIHJlbmFtaW5nIHJlcHJlc2VudGVkIGFzIGNvcHkgKyBkZWxldGUgdG8gYmUgb25seQo+ PiAgICAgIGEgcGFydGlhbCBzdXBwb3J0IG9mIHRoaXMgZmVhdHVyZS4KPgo+IElmIGZpbGVzIG1v dmluZyBpcyBpbnRlcnByZXRlZCBpbiB0aGUgc2Vuc2Ugb2YgcHJlc2VydmluZyB0aGUgb2xkIGhp c3RvcnkKPiB0aGVuIGNvcHkgKyBkZWxldGUgZnVsbHkgc2F0aXNmaWVzIHRoYXQgY3JpdGVyaW9u Lgo+Cj4gSG93ZXZlciwgaWYgeW91IGRlZmluZWQgc3VwcG9ydCBvZiBmaWxlIG1vdmVtZW50IGFz IGFiaWxpdHkgdG8gc2VlIHRoYXQKPiBzb21lIGZpbGUgd2hlbiB5b3UgbG9vayBhdCB0aGUgaGlz dG9yeSBvZiB0aGUgd2hvbGUgcHJvamVjdCB0aGVuCj4gY2VydGFpbmx5IGNvcHkgKyBkZWxldGUg cmVwcmVzZW50YXRpb24gd291bGQgbm90IHNhdGlzZnkgaXQuCj4KPiBTbywgcGVyaGFwcywgaXQg c2hvdWxkIGJlIHR3byBzZXBhcmF0ZSBwb2ludHM6Cj4gLSBhYmlsaXR5IHRvIHByZXNlcnZlIGhp c3Rvcnkgb2YgcmVuYW1lICh3aXRoIGRldGFpbCBjbGFyaWZpY2F0aW9uCj4gIG9mIHdoYXQgaXQg bWVhbnMpCj4gLSBhYmlsaXR5IHRvIHNob3cgcmVuYW1lcyBpbiB0aGUgcHJvamVjdCBoaXN0b3J5 Cj4KPj4KPj4gc2NtPiAgICAgICAgICAgICAgICAgPHMgaWQ9ImdpdCI+Cj4+IHNjbT4gICAgICAg ICAgICAgICAgICAgICBSZW5hbWVzIGFyZSBzdXBwb3J0ZWQgZm9yIG1vc3QgcHJhY3RpY2FsCj4+ IHNjbT4gICAgICAgICAgICAgICAgICAgICBwdXJwb3Nlcy4gIEdpdCBldmVuIGRldGVjdHMgcmVu YW1lcyB3aGVuIGEgZmlsZSBoYXMgYmVlbgo+PiBzY20+ICAgICAgICAgICAgICAgICAgICAgY2hh bmdlZCBhZnRlcndhcmQgdGhlIHJlbmFtZS4gIEhvd2V2ZXIsIGR1ZSB0byBhIHBlY3VsaWFyCj4+ IHNjbT4gICAgICAgICAgICAgICAgICAgICByZXBvc2l0b3J5IHN0cnVjdHVyZSwgcmVuYW1lcyBh cmUgbm90IHJlY29yZGVkCj4+IHNjbT4gICAgICAgICAgICAgICAgICAgICBleHBsaWNpdGx5LCBh bmQgR2l0IGhhcyB0byBkZWR1Y2UgdGhlbSAod2hpY2ggd29ya3Mgd2VsbAo+PiBzY20+ICAgICAg ICAgICAgICAgICAgICAgaW4gcHJhY3RpY2UpLgo+PiBzY20+ICAgICAgICAgICAgICAgICA8L3M+ Cj4+Cj4+IEZpcnN0LCBhIGNvcnJlY3Rpb24gdG8gYWJvdmUgc3RhdGVtZW50LiAgSXQgaXMgbm90 IGR1ZSB0byAiYSBwZWN1bGlhcgo+PiByZXBvc2l0b3J5IHN0cnVjdHVyZSIsIGJ1dCBkdWUgdG8g ImEgZGVzaWduIGRlY2lzaW9uIiAocGVyaGFwcyB3aXRoCj4+IGxpbmsgdG8gc29tZSBleHBsYW5h dGlvbiB3aHkgaXQgd2FzIGltcGxlbWVudGVkIHRoaXMgd2F5OyBJIHBsYW5uZWQKPj4gdG8gbWFr ZSBhIHdpa2kgcGFnZSBhYm91dCAncmVuYW1lIHRyYWNraW5nJyB2cy4gJ3JlbmFtZSBkZXRlY3Rp b24nCj4+IHdpdGggcmVmZXJlbmNlcyB0byB2YXJpb3VzIG1haWxpbmcgbGlzdCBtZXNzYWdlcyBl dGMuLCBidXQgdG8gdGhpcwo+PiBkYXkgaXQgd2FzIG5vdCBjcmVhdGVkKS4KPgo+IEFncmVlZC4K Pgo+Pgo+Pgo+PiBTZWNvbmQsIHdlIGNhbiB0aGluayBhYm91dCBob3cgdGhlIGFib3ZlIHN0YXRl bWVudCBjb3VsZCBiZSBpbXByb3ZlZC4KPj4KPgo+IDxsb25nIGFuZCBkZXRhaWwgZXhwbGFuYXRp b24gb2YgaG93IGdpdCB3b3Jrcz4KPgo+Pgo+PiAuLi5Ob3cgb25seSBwdXQgdGhlIGFib3ZlIGlu IGEgZmV3IHNob3J0IHNlbnRlbmNlcyB0byBiZSB1c2VkIGluCj4+ICJCZXR0ZXIgU0NNIEluaXRp YXRpdmUiIGNvbXBhcmlzb24gdGFibGUuLi4KPgo+IEdpdCB0cmFja3MgY29udGVudCByYXRoZXIg dGhhbiBmaWxlLWlkcywgYW5kIHRoZXJlZm9yZSBpdCB1c2VzIGhldXJpc3RpY3MKPiBmb3IgcmVu YW1lIGRldGVjdGlvbi4gIFRoaXMgYXBwcm9hY2ggaGFzIGFuIGFkdmFudGFnZSBvZiBiZWluZyBh YmxlIHRvCj4gcHJlc2VydmUgaGlzdG9yeSBmb3IgY29kZSBsaW5lcyBiZXR3ZWVuIGZpbGVzLCB3 aGljaCB1c3VhbGx5IGhhcHBlbnMgbXVjaAo+IG1vcmUgb2Z0ZW4gdGhhbiBmaWxlIHJlbmFtaW5n Lgo+Cj4+IHNjbT4gICAgICAgICAgICAgICAgIDxzIGlkPSJnaXQiPgo+PiBzY20+ICAgICAgICAg ICAgICAgICAgICAgTm8uIEFzIGRldGFpbGVkIGluIHRoZSA8YQo+PiBzY20+ICAgICAgICAgICAg ICAgICAgICAgICAgIGhyZWY9Imh0dHA6Ly9naXQub3IuY3ovZ2l0d2lraS9HaXRGYXEjcmVuYW1l LXRyYWNraW5nIj5HaXQKPj4gc2NtPiAgICAgICAgICAgICAgICAgICAgICAgICBGQVE8L2E+Ogo+ PiBzY20+ICAgICAgICAgICAgICAgICAgICAgIkdpdCBoYXMgYSByZW5hbWUgY29tbWFuZCBnaXQg bXYsIGJ1dCB0aGF0IGlzIGp1c3QgYQo+PiBzY20+ICAgICAgICAgICAgICAgICAgICAgY29udmVu aWVuY2UuIFRoZSBlZmZlY3QgaXMgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSByZW1vdmluZwo+PiBz Y20+ICAgICAgICAgICAgICAgICAgICAgdGhlIGZpbGUgYW5kIGFkZGluZyBhbm90aGVyIHdpdGgg ZGlmZmVyZW50IG5hbWUgYW5kIHRoZQo+PiBzY20+ICAgICAgICAgICAgICAgICAgICAgc2FtZSBj b250ZW50LiIKPj4gc2NtPiAgICAgICAgICAgICAgICAgPC9zPgo+Pgo+PiBUaGlzIGlzIG9mIGNv dXJzZSBOT1QgVFJVRS4gIElmIHRoZSBhdXRob3IgYm90aGVyIGNoZWNraW5nICh3aGljaAo+PiB3 b3VsZCBiZSBoZWxwZWQgaWYgdGhlcmUgd2FzIGF2YWlsYWJsZSBzaW1wbGUgc2hlbGwgc2NyaXB0 LCBvciBzaW1wbGUKPj4gUGVybCBzY3JpcHQsIHRlc3RpbmcgJ2ludGVsbGlnZW50X3JlbmFtZXMn IGNyaXRlcmlvbikgaGUvc2hlIHdvdWxkCj4+IG5vdGljZSB0aGF0IGdpdCBkb2VzIGFwcGx5IGNo YW5nZSB0byByZW5hbWVkIGZpbGUsIGJvdGggaWYgZmlsZQo+PiBpdHNlbGYgaXMgcmVuYW1lZCwg YW5kIGlmIGRpcmVjdG9yeSBpdCBpcyBpbiBnZXRzIHJlbmFtZWQuCj4KPiBTdXJlLiBCdXQgaXQg anVzdCBkZW1vbnN0cmF0ZXMgdGhhdCB0aGUgbGluZSBvZiByZWFzb25pbmcsIHdoaWNoIHdhcwo+ IGNsZWFybHkgYmFzZWQgb24gdW5zdGF0ZWQgYXNzdW1wdGlvbiBvZiBob3cgZmlsZS1pZCB0cmFj a2luZyBwZXJmb3Jtcwo+IG1lcmdlIGluIHRoaXMgc2l0dWF0aW9uIGxlYWRzIHRvIHRoZSB3cm9u ZyBjb25jbHVzaW9uIGZvciBHaXQgYXMgaXQgaXMKPiB0aGUgY29udGVudCB0cmFja2luZyBzeXN0 ZW0sIHNvIEdpdCBkb2VzIHRoYXQgZGlmZmVyZW50bHkuCj4KPiBQZXJoYXBzLCBpdCB3b3VsZCBt YWtlIHNlbnNlIHRvIGV4dGVuZCBHaXRGYXEgdG8gYmV0dGVyIGNvdmVyIHRoYXQKPiBwb2ludCwg YmVjYXVzZSBwZW9wbGUgd2l0aCBvdGhlciBTQ00gYmFja2dyb3VuZCBjb3VsZCBlYXNpbHkgY29u Y2x1ZGUKPiB0aGF0IEdpdCBjYW5ub3QgZG8gImludGVsbGlnZW50IG1lcmdlIiBhZnRlciByZWFk aW5nIGFib3V0IGdpdC1tdi4KPgo+PiBzY20+ICAgICAgICAgPHNlY3Rpb24gaWQ9ImNoYW5nZXNl dHMiPgo+PiBzY20+ICAgICAgICAgICAgIDx0aXRsZT5DaGFuZ2VzZXRzJyBTdXBwb3J0PC90aXRs ZT4KPj4gc2NtPiAgICAgICAgICAgICA8ZXhwbD4KPj4gc2NtPiAgICAgICAgICAgICAgICAgRG9l cyB0aGUgcmVwb3NpdG9yeSBzdXBwb3J0IGNoYW5nZXNldHM/IENoYW5nZXNldHMgYXJlIGEgd2F5 Cj4+IHNjbT4gICAgICAgICAgICAgICAgIHRvIGdyb3VwIGEgbnVtYmVyIG9mIG1vZGlmaWNhdGlv bnMgdGhhdCBhcmUgcmVsZXZhbnQgdG8gZWFjaAo+PiBzY20+ICAgICAgICAgICAgICAgICBvdGhl ciBpbiBvbmUgYXRvbWljIHBhY2thZ2UsIHRoYXQgY2FuIGJlIGNhbmNlbGxlZCBvcgo+PiBzY20+ ICAgICAgICAgICAgICAgICBwcm9wYWdhdGVkIGFzIG5lZWRlZC4KPj4gc2NtPiAgICAgICAgICAg ICA8L2V4cGw+Cj4+Cj4+IEhlcmUgaXQgaXMgbm90IGVudGlyZWx5IGNsZWFuIHdoYXQgY3JlYXRv ciBvZiAiQmV0dGVyIFNDTSBJbml0aWF0aXZlIgo+PiBjb21wYXJpc29uIHRhYmxlIGhhZCBvbiBt aW5kLCB3aGF0IGhlIG1lYW50IGJ5IHRoaXMuICBOb3QgYWxsIHZlcnNpb24KPj4gY29udHJvbCBz eXN0ZW1zIGFyZSBjaGFuZ2VzZXQgYmFzZWQ7IHNvbWUgYXJlIHNuYXBzaG90IGJhc2VkLiAgSSBn dWVzcwo+PiB0aGF0IGZvciBzbmFwc2hvdCBiYXNlZCBTQ00gdGhlIGFib3ZlIHJlcXVpcmVtZW50 IGlzIGVxdWl2YWxlbnQgdG8KPj4gIldob2xlIHRyZWUgY29tbWl0cyIuCj4KPiBZZXMsIGl0IGlz IGlycmVsZXZhbnQgdG8gYmVpbmcgY2hhbmdlc2V0IG9yIHNuYXBzaG90IGJhc2VkLiBJdCBpcwo+ IHdoZXRoZXIgbW9kaWZpY2F0aW9uIHRvIG1vcmUgdGhhbiBvbmUgZmlsZSBjYW4gYmUgY29tbWl0 ZWQgKGFuZAo+IHByb3BvZ2F0ZWQpIGF0b21pY2FsbHkuIEkgYWxzbyBzdXBwb3NlIHRoYXQgdGhv c2UgY2hhbmdlcyBzaG91bGQgYmUKPiBzaG93biBpbiBoaXN0b3J5IGFzIGEgc2luZ2xlIGNoYW5n ZSAobm90IG1hbnkgY2hhbmdlcyB0b28gZGlmZmVyZW50Cj4gZmlsZXMgdGhhdCB0b29rIHBsYWNl IGluIHRoZSBzYW1lIHRpbWUgYW5kIHRoZSBzYW1lIGNvbW1pdCBjb21tZW50KS4KPgo+IEhvd2V2 ZXIsIHRoZSB3aG9sZSB0cmVlIGNvbW1pdCBpcyBhIG1vcmUgc3RyaWN0IHJlcXVpcmVtZW50IHRo YW4KPiBqdXN0IGJlaW5nIGFibGUgdG8gY29tbWl0IGEgZ3JvdXAgb2YgY2hhbmdlcyBhdG9taWNh bGx5LiBGb3IgZXhhbXBsZSwKPiAic3ZuIGNpIiBjcmVhdGVzIGEgY2hhbmdlc2V0IGFuZCBhdG9t aWNhbGx5IHN0b3JlIGFsbCBpdHMgbW9kaWZpY2F0aW9uCj4gb24gdGhlIHNlcnZlci4gWWV0LCBp dCBpcyBub3QgdGhlIHdob2xlIHRyZWUgY29tbWl0LCBiZWNhdXNlIHRoZSByZXN1bHQKPiB0cmVl IG1heSBkaWZmZXIgZnJvbSB0aGUgdHJlZSB0aGF0IHlvdSBjb21taXRpbmcgKGZpbGVzIHRoYXQg YXJlIG5vdAo+IG1vZGlmaWVkIGJ5IGNoYW5nZXNldCBtYXkgZGlmZmVyKS4KPgo+PiBzY20+ICAg ICAgICAgICAgICAgICA8cyBpZD0iZ2l0Ij4KPj4gc2NtPiAgICAgICAgICAgICAgICAgICAgIFll cywgQ2hhbmdlc2V0cyBhcmUgc3VwcG9ydGVkLAo+PiBzY20+ICAgICAgICAgICAgICAgICAgICAg YW5kIHRoZXJlJ3Mgc29tZSBmbGV4aWJpbGl0eSBpbiBjcmVhdGluZyB0aGVtLgo+PiBzY20+ICAg ICAgICAgICAgICAgICA8L3M+Cj4+IHNjbT4gICAgICAgICAgICA8L2NvbXBhcmU+Cj4+IHNjbT4g ICAgICAgICA8L3NlY3Rpb24+Cj4+Cj4+IFtBZ2FpbiwgR2l0IHBhcnQgd2FzIHJlLXdyYXBwZWQg Zm9yIGJldHRlciByZWFkaWJpbGl0eV0KPj4KPj4gSW4gbXkgb3BpdGlvbiwgc3VjaCBhbiBfZW1w dHlfIGFkZGl0aW9uICgidGhlcmUncyBzb21lIGZsZXhpYmlsaXR5IGluCj4+IGNyZWF0aW5nIHRo ZW0iKSBpcyB0b3RhbGx5IHVubmVjZXNzYXJ5OyBpdCBhZGRzIG5vIHNvbGlkIGluZm9ybWF0aW9u Cj4+ICh3aGF0IGRvZXMgaXQgbWVhbiAic29tZSBmbGV4aWJpbGl0eSIpIGFuZCBzaG91bGQgYmUg cmVtb3ZlZC4KPgo+IEFncmVlZC4gSSBzdXNwZWN0IHRoZSBhdXRob3IgaW1wbGllZCBieSB0aGF0 IEdpdCBhbGxvd3MgdG8gc3RhZ2UKPiBhbmQgY29tbWl0IHNlcGFyYXRlbHkgY2h1bmsgd2l0aG91 dCBjb21taXRpbmcgdGhlIHdob2xlIGZpbGUuCj4gWWV0LCBhcyBpdCBpcyB3b3JkZWQgYWJvdmUs IGl0IGlzIHVzZWxlc3MuCj4KPj4gc2NtPiAgICAgICAgIDxzZWN0aW9uIGlkPSJ0cmFja2luZ191 bmNvbW1pdGVkX2NoYW5nZXMiPgo+PiBzY20+ICAgICAgICAgICAgIDx0aXRsZT5UcmFja2luZyBV bmNvbW1pdGVkIENoYW5nZXM8L3RpdGxlPgo+PiBzY20+ICAgICAgICAgICAgIDxleHBsPgo+PiBz Y20+ICAgICAgICAgICAgICAgICBEb2VzIHRoZSBzb2Z0d2FyZSBoYXZlIGFuIGFiaWxpdHkgdG8g dHJhY2sgdGhlIGNoYW5nZXMgaW4gdGhlCj4+IHNjbT4gICAgICAgICAgICAgICAgIHdvcmtpbmcg Y29weSB0aGF0IHdlcmUgbm90IHlldCBjb21taXR0ZWQgdG8gdGhlIHJlcG9zaXRvcnk/Cj4+IHNj bT4gICAgICAgICAgICAgPC9leHBsPgo+Pgo+PiBUaGlzIGFsc28gc2hvdWxkIGJlIG1hZGUgbW9y ZSBjbGVhbi4gIERvZXMgaXQgbWVhbiBmb3IgZXhhbXBsZSBhYmlsaXR5Cj4+IHRvIHRlbGwgd2hp Y2ggZmlsZXMgaGF2ZSBjaGFuZ2VkLCBvciBhYmlsaXR5IHRvIGRpZmYgd29ya2luZyBjb3B5IHRv Cj4+IGVpdGhlciBsYXN0IGNvbWl0dGVkIGNoYW5nZXMsIG9yIHRvIGFueSByZXZpc2lvbiBhdmFp bGFibGUgaW4gcmVwb3NpdG9yeT8KPgo+IEFsc28sIGFiaWxpdHkgdG8gZGlmZiBvbmUgb3IgbW9y ZSBzcGVjaWZpZWQgZmlsZXMgaW4gdGhlIHdvcmtpbmcgY29weSB0bwo+IHNvbWUgc3BlY2lmaWVk IHJldmlzaW9uLgo+Cj4+IHNjbT4gICAgIDxzZWN0aW9uIGlkPSJ0ZWNobmljYWxfc3RhdHVzIj4K Pj4gc2NtPiAgICAgICAgIDx0aXRsZT5UZWNobmljYWwgU3RhdHVzPC90aXRsZT4KPj4gc2NtPiAg ICAgICAgIDxzZWN0aW9uIGlkPSJkb2N1bWVudGF0aW9uIj4KPj4gc2NtPiAgICAgICAgICAgICA8 dGl0bGU+RG9jdW1lbnRhdGlvbjwvdGl0bGU+Cj4+IHNjbT4gICAgICAgICAgICAgPGV4cGw+Cj4+ IHNjbT4gICAgICAgICAgICAgICAgIEhvdyB3ZWxsIGlzIHRoZSBzeXN0ZW0gZG9jdW1lbnRlZD8g SG93IGVhc3kgaXMgaXQgdG8KPj4gc2NtPiAgICAgICAgICAgICAgICAgZ2V0IHN0YXJ0ZWQgdXNp bmcgaXQ/Cj4+IHNjbT4gICAgICAgICAgICAgPC9leHBsPgo+PiBzY20+ICAgICAgICAgICAgIDxj b21wYXJlPgo+PiBzY20+ICAgICAgICAgICAgICAgICA8cyBpZD0iZ2l0Ij4KPj4gc2NtPiAgICAg ICAgICAgICAgICAgICAgIE1lZGl1bS4gVGhlIHNob3J0IGhlbHAgaXMgdG9vIHRlcnNlIGFuZCBv YnNjdXJlLgo+PiBzY20+ICAgICAgICAgICAgICAgICAgICAgVGhlIG1hbiBwYWdlcyBhcmUgZXh0 ZW5zaXZlLCBidXQgdGVuZCB0byBiZSBjb25mdXNpbmcuCj4+IHNjbT4gICAgICAgICAgICAgICAg ICAgICBUaGUgYXJlIG1hbnkgdHV0b3JpYWxzLgo+PiBzY20+ICAgICAgICAgICAgICAgICA8L3M+ Cj4+IHNjbT4gICAgICAgICAgICAgPC9jb21wYXJlPgo+PiBzY20+ICAgICAgICAgPC9zZWN0aW9u Pgo+Pgo+PiBUaGF0IG9mIGNvdXJzZSBkZXBlbmRzIG9uIHlvdXIgb3Bpbmlvbi4gIEkgd291bGQg c2F5ICJHb29kIiwgbm93IHRoYXQKPj4gdGhlcmUgaXMgIkdpdCBVc2VyJ3MgTWFudWFsIiBkaXN0 cmlidXRlZCB3aXRoIEdpdCwgYW5kIG5vdyB0aGF0IHRoZXJlCj4+IHN0YXJ0ZWQgc2VtaS1vZmZp Y2lhbCAiR2l0IENvbW11bml0eSBCb29rIiAoaHR0cDovL2Jvb2suZ2l0LXNjbS5jb20pLgo+Cj4g SW50ZXJlc3RpbmcgdGhhdCB2ZXJzaW9uY29udHJvbGJsb2csIHdoaWNoLCBpZiBJIGFtIG5vdCBt aXN0YWtlbiwgaXMKPiBBbGV4ZXkncyBzaXRlLCBzdGF0ZXMgZm9yIEdpdCBEb2N1bWVudGF0aW9u Ogo+Cj4gfCBHb29kLiBUaGVyZSBpcyBleHRlbnNpdmUgZG9jdW1lbnRhdGlvbiBmb3IgZXZlcnkg Y29tbWFuZCwgYW5kIG1hbnkKPiB8IHR1dG9yaWFscy4KPgo+IGh0dHA6Ly93d3cudmVyc2lvbmNv bnRyb2xibG9nLmNvbS9jb21wYXJpc29uL0dpdC9pbmRleC5odG1sCj4KPiBTbywgSSBhbSBub3Qg c3VyZSB3ZXJlIHRoZSB3b3JkICJNZWRpdW0iIGNhbWUgZnJvbS4KPgo+Cj4gRG1pdHJ5Cj4KCgoK LS0gCtCQ0LvQtdC60YHQtdC5INCc0LDRhdC+0YLQutC40L0KaHR0cDovL3NxdWFkZXR0ZS5ydS8K