Re: Mozilla and Non-Copyleft Licensing
Gervase Markham <[email protected]> Wed, 23 Jan 2013 14:06:18 +0000
| Newsgroups | gmane.comp.mozilla.license |
|---|---|
| Message-ID | <[email protected]> |
T24gMjIvMDEvMTMgMTM6MTEsIEhlbnJpIFNpdm9uZW4gd3JvdGU6Cj4gT24gRnJpLCBKYW4gMTgs IDIwMTMgYXQgNjowNiBQTSwgR2VydmFzZSBNYXJraGFtIDxnZXJ2QG1vemlsbGEub3JnPiB3cm90 ZToKPj4gVGhlIE1QTCB3YXMgY3JlYXRlZCBhcyBhbiBpbnRlcm1lZGlhdGUgc3RhZ2UgYmV0d2Vl biB0aGUgY29weWxlZnQgb2YgdGhlCj4+IEdQTCBhbmQgdGhlIG5vbi1jb3B5bGVmdCBvZiBsaWNl bmNlcyBsaWtlIHRoZSBCU0QgbGljZW5zZS4gSXQgaGFzIHNlcnZlZAo+PiB1cyB3ZWxsIGluIHRo YXQgcm9sZSBmb3IgbWFueSB5ZWFycy4KPiAKPiBTZXJ2ZWQgdXMgd2VsbCBpbiB3aGF0IHNlbnNl PyBXaGF0IGNvZGUgY29udHJpYnV0aW9ucyBoYXMgTW96aWxsYQo+IGdvdHRlbiBiZWNhdXNlIG9m IGNvcHlsZWZ0IGluIE1QTD8gV2hhdCBjb2RlIGNvbnRyaWJ1dGlvbnMgTW96aWxsYQo+IHRoaW5r cyBpdCBzaG91bGQgaGF2ZSBnb3R0ZW4gYnV0IGRpZG4ndCBnZXQgZGVzcGl0ZSBvZiBNUEw/CgpJ J20gbm90IHN1cmUgb25lIGNvdWxkIHNheSB0aGUgTVBMIHdhcyB0aGUgdGlwcGluZyBmYWN0b3Ig b25lIHdheSBvciB0aGUKb3RoZXIgZm9yIGEgcGFydGljdWxhciBjb250cmlidXRpb24uIEkgY2Fu IHRyeSBhbmQgYW5zd2VyIHRoZSByZWxhdGVkCnF1ZXN0aW9uLCAid2h5IGlzIHRoZSBNUEwncyBw YXJ0aWN1bGFyIGJyYW5kIG9mIGNvcHlsZWZ0IHN0cmVuZ3RoIGEgZ29vZApjaG9pY2UgZm9yIE1v emlsbGE/IgoKSSB0aGluayB0aGUgYW5zd2VyIHRvIHRoYXQgaXMgdGhhdCB0aGUgZmlsZS1sZXZl bCBjb3B5bGVmdCBzZXRzIHVwIGEKY29tbXVuaXR5IGV4cGVjdGF0aW9uIG9mIHNoYXJpbmcgbW9y ZSB0aGFuIHBlcm1pc3NpdmUgbGljZW5zZXMgZG8sIHdoaWxlCm5vdCBwcm9oaWJpdGluZyBwcm9w cmlldGFyeSBkZXJpdmF0aXZlcyBpbiB0aGUgd2F5IHN0cm9uZ2VyIGNvcHlsZWZ0CmxpY2Vuc2Vz IGRvLiBTb21lLCBvZiBjb3Vyc2UsIG1heSBub3QgYWdyZWUgd2l0aCB0aGUgZmlyc3QgaGFsZiBv ZiB0aGF0LgoKPiBJIGRpZG4ndCBmb2xsb3cgdGhlIEZsb2NrIGNhc2UgYXQgdGhlIHRpbWUuIElz IHRoZXJlIGEgcG9zdG1vcnRlbQo+IGFuYWx5emluZyB0aGUgRmxvY2sgY2FzZSBhbmQgd2hldGhl ciBNb3ppbGxhJ3MgbGljZW5zaW5nIHBvbGljeQo+IHJlc3VsdGVkIGluIG91dGNvbWVzIE1vemls bGEgd2FudGVkIGluIHRoYXQgY2FzZT8KCkkndmUgbm90IHNlZW4gYW4gZXhwbGljaXQgcG9zdC1t b3J0ZW0uIEkgZGlkIG5vdCBjYXJlZnVsbHkgc3R1ZHkgRmxvY2sncwpsaWNlbnNpbmcsIGJ1dCBt eSB1bmRlcnN0YW5kaW5nIGZyb20gb3RoZXJzIGlzIHRoYXQgdGhleSB0b29rCnRyaS1saWNlbnNl ZCBjb2RlIGFuZCBtYWRlIGl0IEdQTC1vbmx5IHRvIHByZXZlbnQgTW96aWxsYSBmcm9tCnJlaW5j b3Jwb3JhdGluZyB0aGVpciBjaGFuZ2VzLiAoT2YgY291cnNlLCB0aGVyZSdzIHN0aWxsIHRoZSBx dWVzdGlvbiBvZgp3aGV0aGVyIHdlJ2QgaGF2ZSB3YW50ZWQgdG8gdGFrZSB0aGVpciBjaGFuZ2Vz LikgVGhpcyBpcyB1bmZyaWVuZGx5LCBidXQKdGhlbiB0aGUgTVBMIGl0c2VsZiBpcyBkZXNpZ25l ZCB0byBhbGxvdyBwcm9wcmlldGFyeSBkZXJpdmF0aXZlIHdvcmtzCmxpa2UgZS5nLiBOZXRzY2Fw ZSA2Ky4gSXQgY291bGQgYmUgYXJndWVkIHRoYXQgdGhlIG9ubHkgZGlmZmVyZW5jZSB3aXRoCkZs b2NrIGlzIHRoYXQgaW5zdGVhZCBvZiBtYWtpbmcgaXQgcHJvcHJpZXRhcnksIHRoZXkgd2FudGVk IHRvIGFwcGVhciB0bwpzb21lIGxpa2UgZ29vZCBvcGVuIHNvdXJjZSBwZW9wbGUgYW5kIHNvIHVz ZWQgdGhlIEdQTCBpbnN0ZWFkLgoKUGVyaGFwcyBzb21lIG9mIHRoZSBleC1GbG9ja2VycyBhcm91 bmQgdGhlIGNvbW11bml0eSwgbm93IHRoYXQgRmxvY2sgaXMKZ29uZSwgY291bGQgdGVsbCB1cyBh IGxpdHRsZSBhYm91dCBob3cgdGhlc2UgdGhpbmdzIHdlcmUgdmlld2VkIGluc2lkZT8KCj4+IENv cHlsZWZ0IGlzIGEgdG9vbCB3aGljaCB3ZSB1c2UgdG8gYWNoaWV2ZSBwYXJ0aWN1bGFyIGVuZHMu Cj4gCj4gV2hhdCBhcmUgdGhlIGVuZHMgaW4gTW96aWxsYSdzIGNhc2U/Cj4gCj4gSW4gZ2VuZXJh bCwgY29weWxlZnQgc2VydmVzIHRocmVlIHB1cnBvc2VzOiAxKSByZXF1aXJpbmcgcGVvcGxlIHdo bwo+IGJ1aWxkIHVwb24gdGhlIGNvcHlsZWZ0ZWQgY29kZSB0byBsaWNlbnNlIHRoZWlyIGNvZGUg aW4gc3VjaCBhIHdheQo+IHRoYXQgaXQgY2FuIGJlIGludGVncmF0ZWQgYmFjayBpbnRvIHRoZSBv cmlnaW5hbCBwcm9qZWN0LCAyKSBtYWtpbmcKPiBwZW9wbGUgc2VlIHdoYXQgY29kZSBzb21lb25l IHNoaXBzIGFuZCAzKSBtYWtpbmcgaG93IHlvdSBvYnRhaW4KPiBzb2Z0d2FyZSBub3QgbWF0dGVy IHdoZW4gaXQgY29tZXMgdG8gcmlnaHQgdG8gcmVkaXN0cmlidXRlIChpLmUuIHlvdQo+IGtub3cg R0NDIGlzIHN0aWxsIHVuZGVyIHRoZSBHUEwgaWYgeW91IG9idGFpbiBHQ0MgZnJvbSBBcHBsZeKA lGJ1dCBhcmUKPiB5b3Ugc3VyZSB0aGUgY29weSBvZiBjbGFuZyB5b3Ugb2J0YWluZWQgZnJvbSBB cHBsZSBoYXNu4oCZdCBnb3R0ZW4KPiBpbmZlY3RlZCBieSB0aGUgcHJvcHJpZXRhcnkgbGljZW5z ZSBvZiB0aGUgZGV2IHRvb2wgcGFja2FnZT8pLiAoR1BMdjMKPiBhbHNvIHRyaWVzIHRvIHNlcnZl IHRoZSBwdXJwb3NlIG9mIG1ha2luZyBzdXJlIHVzZXJzIGNhbiByZXBhaXIKPiBzb2Z0d2FyZSBv biB0aGVpciBkZXZpY2VzIHRoZW1zZWx2ZXMsIGJ1dCBpbiB0aGUgVGl2b2l6ZWQgd29ybGQKPiBj b3B5bGVmdCBpbiBnZW5lcmFsIGRvZXMgbm90IHByb3ZpZGUgdGhpcy4pCj4gCj4gSW4gdGhlIGNh c2Ugb2YgdGhlIG9sZCB0cmktbGljZW5zZSwgcHVycG9zZSAjMSB3YXMgZWFzeSB0byBjaXJjdW12 ZW50Cj4gYnkgc29tZW9uZSB3aG8gZGlkbid0IG1pbmQgIzIgYnV0IHdobyBoYWQgcmVhc29ucyBu b3QgdG8gY29udHJpYnV0ZQo+IGJhY2sgdG8gdGhlIG9yaWdpbmFsIHByb2plY3Q6IExpY2Vuc2lu ZyBtb2RpZmljYXRpb25zIG9ubHkgdW5kZXIgdGhlCj4gTEdQTCBvciB0aGUgR1BMLiBNUEwgMiB0 cmllZCB0byBwbHVnIHRoYXQgaG9sZS4gSXMgaXQgdG9vIHNvb24gdG8KPiBhc3Nlc3Mgd2hldGhl ciBwbHVnZ2luZyB0aGF0IGhvbGUgaGFzIHJlc3VsdGVkIGluIGFueSBjb2RlIGdldHRpbmcKPiBp bnRlZ3JhdGVkIGludG8gTW96aWxsYSdzIHJlcG9zaXRvcmllcyB0aGF0IHByZXZpb3VzbHkgd291 bGQgaGF2ZSBiZWVuCj4gZGVsaWJlcmF0ZWx5IG1hZGUgdW5pbnRlZ3JhdGFibGU/CgpJJ2Qgc2F5 IGl0J3MgdG9vIHNvb24sIHllcy4gQWx0aG91Z2ggSSdkIGFsc28gc2F5IHRoYXQgTVBMIChlaXRo ZXIKdmVyc2lvbikgcHJvdmlkZXMgb3RoZXIgbWVjaGFuaXNtcyAoc3VjaCBhcyB0aGUgbGltaXRl ZCBjb3B5bGVmdCkgdG8Ka2VlcCB5b3VyIGNvZGUgZnJvbSBmYWxsaW5nIHVuZGVyIHRoZSBNUEwg aWYgeW91IGFyZSB3aWxsaW5nIHRvIG1ha2UgdGhlCmVuZ2luZWVyaW5nIGVmZm9ydCB0byB1c2Ug dGhlbS4KCj4gV2hlbiBNb3ppbGxhJ3MgbGljZW5zaW5nIHBvbGljeSB3YXMgZXN0YWJsaXNoZWQs IHRoZSBleHBlY3RhdGlvbiB3YXMKPiB0aGF0IG1hbnkgcHJvcHJpZXRhcnktbWluZGVkIGVudGl0 aWVzIHdvdWxkIGVtYmVkIEdlY2tvIGludG8KPiBwcm9wcmlldGFyeSBzaGVsbHMgYW5kIHN0aWxs IG1ha2UgaW1wcm92ZW1lbnRzIHRvIEdlY2tvIGl0c2VsZi4gQnV0Cj4gYWZ0ZXIgdGhhdCB0aW1l Ogo+IAo+ICAxKSBXZWJLaXQgaGFzIGVudGVyZWQgdGhlIG1hcmtldCBhbmQgaXMgcGVyY2VpdmVk IGJ5IHBvdGVudGlhbAo+IGVtYmVkZGVycyBhcyBnb29kIGVub3VnaCBhbmQgaGFzIGEgbW9yZSBj b21tb24gbGljZW5zZSB0aGF0IEdlY2tvCj4gKExHUEx2MiB2cy4gTVBMKS4KCi4uLi5hbGJlaXQg b25lIHdoaWNoIHJlcXVpcmVzIGEgZ3JlYXRlciBsZXZlbCBvZiBjb2RlIHNoYXJpbmcgdGhhbiBN UEwgZG9lcy4KCj4gIDIpIFRoZSB3YXkgV2ViS2l0IGhhcyBiZWVuIHVzZWQgc3VnZ2VzdHMgdGhh dCBwcm9wcmlldGFyeS1taW5kZWQKPiBlbnRpdGllcyB0aGF0IHdhbnQgdG8gZW1iZWQgYSBXZWIg ZW5naW5lIGFyZW4ndCByZWFsbHkgdGhhdCBpbnRlcmVzdGVkCj4gaW4gY29udHJpYnV0aW5nIHRv IHRoZSBlbmdpbmVlcmluZyBvZiB0aGUgV2ViLWV4cG9zZWQgY2FwYWJpbGl0aWVzIG9mCj4gdGhl IGVuZ2luZS4gKFRoYXQgaXMsIEFwcGxlIGFuZCBtb3JlIHJlY2VudGx5IEdvb2dsZSBhcmUgdGhl IGNvbXBhbmllcwo+IHRoYXQgZG8gdGhlIG1vc3Qgb2YgdGhlIGNvcmUgZW5naW5lIGVuZ2luZWVy aW5nIGluIHRoZSBjYXNlIG9mIFdlYktpdC4KPiBUaGUgbGFyZ2UgbnVtYmVyIG9mIG90aGVyIGNv bXBhbmllcyB0aGF0IHVzZSBXZWJLaXQgdGVuZCB0byBnZXQgYSBmcmVlCj4gcmlkZSB3aGVuIGl0 IGNvbWVzIHRvIHRoZSBjb3JlIGZlYXR1cmVzIG9mIHRoZSBlbmdpbmUgYW5kIHRoZXkgZm9jdXMK PiB0aGVpciBlbmdpbmVlcmluZyBlZmZvcnRzIG9uIHBvcnRpbmcgdGhlIGVuZ2luZSB0byB0aGVp ciBlbnZpcm9ubWVudC4pCj4gVGhhdCBpcywgcGVyaGFwcyB0aGUgaWRlYSB0aGF0IHByb3ByaWV0 YXJ5LW1pbmRlZCBlbWJlZGRlcnMgd291bGQKPiBpbXByb3ZlIHRoZSBndXRzIG9mIEdlY2tvIHdh cyB3aXNoZnVsIHRoaW5raW5nIGFsbCBhbG9uZy4KCkEgZmFpciBwb2ludCBpbmRlZWQuIEl0IHdv dWxkIGJlIGludGVyZXN0aW5nIHRvIGhlYXIgZnJvbSB0aGUgcGxhdGZvcm0KZW5naW5lZXJzIGFi b3V0IHRoZWlyIGV4cGVyaWVuY2Ugb2YgaW5jb21pbmcgcGF0Y2hlcyBhbmQgdGhlaXIgb3JpZ2lu cy4KCj4gSWYgb25lIGNvbnNpZGVycyB0aGUgYXZhaWxhYmlsaXR5IG9mIGNvbXBldGluZyBhbHRl cm5hdGl2ZXMgYXMgYQo+IGZhY3RvciBpbiBsaWNlbnNpbmc6IFNob3VsZCBNb3ppbGxhIG1ha2Ug U2Vydm8ncyBsaWNlbnNpbmcgbGVzcwo+IHJlc3RyaWN0aXZlIHRoYW4gZWl0aGVyIEdlY2tvJ3Mg b3IgV2ViS2l0J3MgdG8gZHJpdmUgYWRvcHRpb24gb25jZQo+IFNlcnZvIGlzIHRlY2huaWNhbGx5 IGdvb2QgZW5vdWdoPwoKSSB3b25kZXIgd2hldGhlciBpdCdzIGluIHRoZSBiZXN0IGludGVyZXN0 cyBvZiB0aGUgd2ViIGZvciB0aGVyZSB0byBiZQpsb3RzIG9mIHByb3ByaWV0YXJ5IHJlbmRlcmlu ZyBlbmdpbmUgZm9ya3MuICJQZW9wbGUgd29uJ3QgYm90aGVyIHRvIGRvCnRoYXQiIHNlZW1zIGEg Yml0IHdpc2hmdWwuIElmIHRoZSBlbmdpbmUgaXMgY29weWxlZnQsIG9uZSBjYW4gYXQgbGVhc3QK c2VlIHdoYXQgYnJhaW4tZGFtYWdlZCB0aGluZyBzb21lb25lIGVsc2UgaGFzIGRvbmUsIGV2ZW4g aWYgeW91IGRvbid0CndhbnQgdG8gZG8gdGhlIHNhbWUgdGhpbmcgeW91cnNlbGYuCgo+PiBTbywg dGhlIGZpcnN0IHF1ZXN0aW9uIGlzOiBpZiB1c2Ugb2Ygbm9uLWNvcHlsZWZ0IGxpY2Vuc2VzIGhh cyBiZWNvbWUgYQo+PiBwcmFjdGljZSwgaXMgaXQgYSBnb29kIHByYWN0aWNlPwo+IAo+IEhhdmUg dGhlcmUgc28gZmFyIGJlZW4gY2FzZXMgd2hlcmUgc29tZW9uZSBoYXMgaW1wcm92ZWQgbm9uLWNv cHlsZWZ0Cj4gTW96aWxsYSBzb3VyY2UgYW5kIHdlIHJlYWxseSB3aXNoIHdlIGNvdWxkIGdldCB0 aGVpciBpbXByb3ZlbWVudHMgYW5kCj4gYmVsaWV2ZSB0aGF0IGhhZCB0aGUgY29kZSBiZWVuIHVu ZGVyIE1QTCwgdGhleSdkIGhhdmUgc3RpbGwgY2hvc2VuIHRvCj4gbWFrZSB0aGUgaW1wcm92ZW1l bnRzPwoKSSBoYXZlIG5vIGlkZWE7IHRvIGtub3csIHdlJ2QgbmVlZCB0byBoZWFyIGZyb20gYW4g ZW5naW5lZXIgd2hvIHdhbnRlZApzb21lIHNvdXJjZSBidXQgY291bGRuJ3QgZ2V0IGl0LgoKPiBP biBNb24sIEphbiAyMSwgMjAxMyBhdCA0OjIxIFBNLCBHZXJ2YXNlIE1hcmtoYW0gPGdlcnZAbW96 aWxsYS5vcmc+IHdyb3RlOgo+PiAxKSBEbyB3ZSB0aGluayB0aGVyZSBhcmUgY2lyY3Vtc3RhbmNl cyB1bmRlciB3aGljaCBpdCBpcyBiZXN0IGZvcgo+PiBNb3ppbGxhIHRvIHJlbGVhc2Ugc29mdHdh cmUgdW5kZXIgYSAibm8gY29weWxlZnQiIChhLmsuYS4gInBlcm1pc3NpdmUiKQo+PiBsaWNlbnNl PyBJZiBzbywgd2hhdCBhcmUgdGhleT8KPiAKPiBUaGUgbGluayBiZXR3ZWVuIE1vemlsbGEncyBN aXNzaW9uIGFuZCBmdW5kaW5nIHRoZSBET00gYW5kIFhPTQo+IGZlYXR1cmVzIG9mIHRoZSBWYWxp ZGF0b3IubnUgSFRNTCBQYXJzZXIgdGhhdCBhcmUgbmVlZGVkIG5laXRoZXIgYnkKPiBWYWxpZGF0 b3IubnUgbm9yIGJ5IEZpcmVmb3ggd2FzIGRyaXZpbmcgdGhlIGFkb3B0aW9uIG9mIHRoZSBIVE1M NQo+IHBhcnNpbmcgYWxnb3JpdGhtIHRoZXJlYnkgZHJpdmluZyB0aGUgYWRvcHRpb24gb2YgT3Bl biBXZWIgZm9ybWF0cwo+IGJleW9uZCBNb3ppbGxhJ3MgdXN1YWwgYnJvd3NlciBjb250ZXh0LiBU aGUgTUlUIGxpY2Vuc2UgbWFkZSBzZW5zZSwKPiBiZWNhdXNlIHdoZW4geW91IHdhbnQgdG8gZHJp dmUgYWRvcHRpb24sIGl0IG1ha2VzIHNlbnNlIHRvIGNob29zZSBhbgo+IHVuaXZlcnNhbCBkb25v ciBsaWNlbnNlIHRoYXQgd29ya3MgZm9yIGFwcHMgZnJvbSBzdXBlci1wcm9wcmlldGFyeSB0bwo+ IEdQTHYyIGFuZCBHUEx2My4KCkkgY2FuIHNlZSB0aGlzIGFzIGFuIGFyZ3VtZW50IGFnYWluc3Qg R1BMLWxldmVsIGNvcHlsZWZ0OyB0aGUgRlNGIGV2ZW4KdXNlcyBpdCB3aGVuIGRlY2lkaW5nIHdo ZXRoZXIgdG8gdXNlIHRoZSBMR1BMLiBCdXQgSSdtIG5vdCBzdXJlIGl0CmFwcGxpZXMgd2hlbiBj b25zaWRlcmluZyB0aGUgTVBMLiBMZXQncyBpbWFnaW5lIHlvdXIgInN1cGVyLXByb3ByaWV0YXJ5 IgphcHAgd2FudHMgdG8gaW5jbHVkZSBhbiBNUExlZCBsaWJyYXJ5LiBXaGF0IGRvIHRoZXkgaGF2 ZSB0byBkbz8gU2hpcCB0aGUKc291cmNlIHRvIHRoYXQgbGlicmFyeSAob25seSkuIFdoeSBjYW4n dCB0aGV5IHNpbXBseSBkbyB0aGF0PyBUaGVyZSBhcmUKYSBmZXcgcG9zc2libGUgcmVhc29uczoK YSkgdGVjaG5pY2FsIGNoYW5nZXMgdG8gb3VyIGNvZGUgdGhhdCB0aGV5IGRvbid0IHdhbnQgdG8g cmV2ZWFsCmIpIGlkZW9sb2dpY2FsIG9wcG9zaXRpb24gdG8gcHVibGlzaGluZyBzb3VyY2UgY29k ZQoKUmU6IGEpIC0gZG8gd2UgcmVhbGx5IHdhbnQgbG90cyBvZiBwcm9wcmlldGFyeSwgZGlmZmVy ZW50bHktYmVoYXZpbmcKSFRNTDUgcGFyc2VyIGZvcmtzIHdlIGNhbid0IHNlZSBpbnNpZGU/CgpJ J20gbm90IHN1cmUgd2hhdCB0byBzYXkgYWJvdXQgYiksIG90aGVyIHRoYW4gdGhhdCBpdCdzIGEg cmVhbGx5IHN0dXBpZApwb3NpdGlvbiB0byBob2xkLgoKPj4gMikgSWYgdGhlcmUgYXJlIHN1Y2gg Y2lyY3Vtc3RhbmNlcywgd2hhdCAibm8gY29weWxlZnQiIGxpY2Vuc2Ugc2hvdWxkIHdlCj4+IHVz ZT8gKFdpdGggdGhlIGxpY2Vuc2luZyB0ZWFtIHJlY29tbWVuZGluZyBBcGFjaGUuKQo+IAo+IENv bXBhcmVkIHRvIEJTRCBhbmQgTUlULCBBcGFjaGUgaGFzIHR3byBkb3duc2lkZXM6Cj4gIDEpIElu Y29tcGF0aWJpbGl0eSB3aXRoIEdQTHYyLgo+ICAyKSBIYXZpbmcgdG8gaW5jbHVkZSBhIGxvbmdl ciBwaWVjZSBvZiBsZWdhbCB0ZXh0Lgo+IAo+IE9uIHBvaW50ICMyIGV2ZW4gd2l0aG91dCBjb21w YXJpc29uIHRvIEJTRCBvciBNSVQ6IEFwYWNoZSBMaWNlbnNlIDIuMAo+IHNheXMgeW91IGhhdmUg dG8gZGlzdHJpYnV0ZSB0aGUgZnVsbCBsaWNlbnNlIHRleHQgYWxvbmcgd2l0aCB0aGUgd29yay4K ClllcywgYWxiZWl0IG9uY2UsIGFuZCB0aGUgcGVyLWZpbGUgbGljZW5zZSBoZWFkZXIgaXMgaGFs ZiB0aGUgbGVuZ3RoIG9mCk1JVCBpbiB3b3JkcywgYW5kIGxlc3MgdGhhbiBoYWxmIG9mIEJTRC4K Cj4gVGhpcyBpcyBhIG5vbi1pc3N1ZSBmb3IgYSBsYXJnZSBzb2Z0d2FyZSBhcHBsaWNhdGlvbi4g SXQgbWlnaHQgZXZlbiBiZQo+IGEgbm9uLWlzc3VlIGZvciBXZWIgdXNlIGlmIGl0IGlzIGVub3Vn aCBmb3IgdGhlIGxpY2Vuc2UgZmlsZSB0byBzaXQgb24KPiBhIHNlcnZlciByZWFkeSB0byBhIEdF VCB3aXRoIG9ubHkgaXRzIFVSTCBzZW50IGluIEpTIG9yIENTUyBjb21tZW50cwo+IG9yIHNvbWV0 aGluZyBidXQgdGhlIGVuZCB1c2VyIGRvZXMgbm90IGFjdHVhbGx5IGhhdmUgdG8gaXNzdWUgdGhl IEdFVAo+IGZvciBpdC4KCkl0IGRlcGVuZHMgb24gaG93IHlvdSBpbnRlcnByZXQgdGhlIHdvcmQg ImdpdmUiIGluIEFwYWNoZSAyLjAuIEknZCBvbmx5CnNheSB0aGF0IGl0J3MgbWluZC1ib2dnbGlu Z2x5IHVubGlrZWx5IHRoYXQgeW91IHdvdWxkIGZhY2UgYSBjb3B5cmlnaHQKc3VpdCBmb3IgcHJv dmlkaW5nIGEgY29weSBvZiB0aGUgY2Fub25pY2FsIFVSTCB0byB0aGUgQXBhY2hlIExpY2Vuc2UK aW5zdGVhZCBvZiBhIGZ1bGwgY29weSBvZiB0aGUgbGljZW5zZSBpdHNlbGYuCgo+IEhvd2V2ZXIs IGZvciB3b3JrcyBsaWtlIGZvbnRzLCBpbWFnZXMgYW5kIHNpbWlsYXIsIHRoZSByZXF1aXJlbWVu dCB0bwo+IGRpc3RyaWJ1dGUgdGhlIGZ1bGwgbGljZW5zZSB0ZXh0IGFsb25nIHdpdGggdGhlIHdv cmsgbWF5IGJlIG9uZXJvdXMuCj4gSWYgTW96aWxsYSBtYW5kYXRlcyB0aGUgdXNlIG9mIHRoZSBB cGFjaGUgTGljZW5zZSBmb3IgdGhhdCBraW5kIG9mCj4gd29ya3MsIEkgdGhpbmsgTW96aWxsYSBz aG91bGQgd2FpdmUgdGhlIHJlcXVpcmVtZW50IHRvIGRpc3RyaWJ1dGUgdGhlCj4gZnVsbCBsaWNl bnNlIHRleHQuCgpBbiBpbnRlcmVzdGluZyBpZGVhOyBhbHRob3VnaCB3ZSBjb3VsZCBvbmx5IGRv IHNvIGZvciBzdHVmZiB3ZSBvd25lZCB0aGUKY29weXJpZ2h0IG9uLCBvciB3aGljaCB3YXMgY29u dHJpYnV0ZWQgZGlyZWN0bHkgdG8gdXMgKGFuZCBzbyB3ZSBjb3VsZApzYXkgaGFkIGJlZW4gY29u dHJpYnV0ZWQgd2l0aCB0aGlzIHJpZGVyIGluIG1pbmQpLiBJZiB3ZSB1c2VkIGEgM3JkCnBhcnR5 IEFwYWNoZS1saWNlbnNlZCB0aGluZywgd2Ugd291bGRuJ3QgaGF2ZSB0aGlzIGV4Y2VwdGlvbi4g QW5kIHNvCndlJ2QgaGF2ZSB0byBrZWVwIHRyYWNrIG9mIHdoaWNoIEFwYWNoZSB0aGluZ3MgaW4g b3VyIHRyZWUgd2VyZSB2YW5pbGxhLAphbmQgd2hpY2ggd2VyZSBNb3otZmxhdm91cmVkLgoKPj4g MykgSWYgd2UgZGVjaWRlIG9uIEFwYWNoZSBhcyBvdXIgIm5vIGNvcHlsZWZ0IiBsaWNlbnNlLCB3 aGF0IGRvIHdlIGRvLAo+PiBpZiBhbnl0aGluZywgYWJvdXQgZXhpc3RpbmcgcHJvamVjdHMgd2hp Y2ggYXJlIEJTRGVkIG9yIE1JVGVkPwo+IAo+IERvZXMgdGhpcyBxdWVzdGlvbiBhcHBseSB0byBw cm9qZWN0cyB3aG9zZSBkZXZlbG9wbWVudCBNb3ppbGxhIHBheXMKPiBmb3IgYnV0IHRoYXQgYXJl bid0IHVuZGVyIE1vemlsbGEgZ292ZXJuYW5jZSBmb3JtYWxseT8KCkdvb2QgcXVlc3Rpb247IEkg aGFkbid0IHRob3VnaHQgYWJvdXQgaXQuIEFyZSB5b3UgdGhpbmtpbmcgYWJvdXQgdGhlCnZhbGlk YXRvci5udSBIVE1MNSBwYXJzZXI/IDotKQoKR2VydgoKX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KbGVnYWwgbWFpbGluZyBsaXN0CmxlZ2FsQGxpc3RzLm1v emlsbGEub3JnCmh0dHBzOi8vbGlzdHMubW96aWxsYS5vcmcvbGlzdGluZm8vbGVnYWwK