Re: New Essay - "FOSS Licences Wars"
Shlomi Fish <shlomif-ik1l9ssToec+JF/[email protected]> Sat, 03 Oct 2009 15:48:53 +0200
| Newsgroups | gmane.linux.region.israel,gmane.culture.hackers.israel |
|---|---|
| Message-ID | <[email protected]> |
SGkgTWlraGFlbCEKCk9uIFN1bmRheSAzMCBBdWcgMjAwOSAwMjo1MTo0NyBNaWtoYWVsIEdvaWto bWFuIHdyb3RlOgo+IE9uIDI4IEF1ZyAyMDA5IDIxOjM5OjE0ICswMzAwLCBTaGxvbWkgRmlzaCB3 cm90ZToKPiA+IEhpIE1pa2hhZWwhCj4gPgo+ID4gVGhhbmtzIGZvciB5b3VyIGNvbW1lbnRzIGFu ZCBzb3JyeSBmb3IgdGhlIGxhdGUgcmVzcG9uc2UuCj4gCj4gTm8gd29ycnkgYWJvdXQgdGhlIGxh dGUgcmVzcG9uc2UsIG1vc3RseSBiZWNhdXNlIEkgZGlkbid0IHNlZSBtdWNoIHRvCj4gZGlzY3Vz cyBoZXJlLiBZb3Ugd3JvdGUgYSBzb21ld2hhdCBwcm92b2NhdGl2ZSBhcnRpY2xlIGFkdmlzaW5n IGFnYWluc3QKPiBtYWpvciBGT1NTIGxpY2Vuc2VzLCBzbyBJIGp1c3QgbmVlZGVkIHRvIGRlZmVu ZCB0aGUgRk9TUyBsaWNlbnNlcy4KPiAKPiBIb3dldmVyLCBpZiB5b3UgYXJlIGhvbmVzdGx5IG9w ZW4gdG8gbGVhcm4gZmFjdHMgYW5kIG9wcG9zaXRlIG9waW5pb25zLAo+IHdlIG1heSBob2xkIGEg c2hvcnQgZGlzY3Vzc2lvbi4gVGhlIGFudGktR1BMIGFyZ3VtZW50cyB5b3UgdXNlZCBhcmUKPiBh Y3R1YWxseSBhcyBvbGQgYXMgR1BMIGl0c2VsZiAoMjAgeWVhcnMpIGFuZCBhcmUgcXVpdGUgZWFz eSB0byBwYXJyeS4KPiBUaGlzIGlzIG1vc3RseSBhbHJlYWR5IGRvbmUgaW4gR1BMIEZBUToKPiAK PiAgIGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtZmFxLmh0bWwKCkkgcmVhZCBwYXJ0 cyBvZiBpdCBhbmQgaXQgZG9lcyBub3QgYW5zd2VyIHRoZW0gc3VjY2Vzc2Z1bGx5LiBJIGFsc28g dGhpbmsgdGhhdCAKaGF2aW5nIHN1Y2ggYSBsb25nIGRvY3VtZW50IChldmVuIGxvbmdlciB0aGFu IHRoZSBsaWNlbmNlcyB3aGljaCBhcmUgCnRoZW1zZWx2ZXMgdmVyeSBsb25nKSwgaXMgYSBiaWcg cmVkIGZsYWcgdGhhdCBpdCBpcyBvdmVyLWNvbXBsaWNhdGVkLgoKPiAKPiA+IE9uIFNhdHVyZGF5 IDIyIEF1Z3VzdCAyMDA5IDE4OjMxOjM4IE1pa2hhZWwgR29pa2htYW4gd3JvdGU6Cj4gPiA+IE9u IDIxIEF1ZyAyMDA5IDE5OjU4OjEzICswMzAwLCBTaGxvbWkgRmlzaCB3cm90ZToKPiA+Cj4gPiBN YW55IHBlb3BsZSBhcmUgdXNpbmcgdGhlIEdQTCwgYmVjYXVzZSBpdCB3YXMgcmVjb21tZW5kZWQg YnkgdGhlaXIKPiA+IGZyaWVuZHMsIHdoaWxlIGFjdHVhbGx5IGRlc2lyaW5nIGEgd2VhayBjb3B5 bGVmdCBvciBldmVuIGEgcGVybWlzc2l2ZQo+ID4gbGljZW5jZS4KPiAKPiBUbyBzdWdnZXN0IHRo YXQgbWFueSBwZW9wbGUgd2FudCB0byB5aWVsZCBhbGwgdGhlaXIgcmlnaHRzIGdyYW50ZWQgYnkK PiBDb3B5cmlnaHQgTGF3IGFuZCB0byB1c2UgcGVybWlzc2l2ZSBsaWNlbnNlIHdvdWxkIG5vdCBi ZSByaWdodC4KPiBIb3dldmVyIHRvIHN1Z2dlc3QgdGhhdCB0aGVpciBmcmllbmRzIHJlY29tbWVu ZCBHUEwgYmVjYXVzZSBpdCBoYXMgbm8KPiBwcm9ibGVtcyB3b3VsZCBiZSBtb3JlIGNvcnJlY3Qu CgpJIGRvbid0IHVuZGVyc3RhbmQuIE1hbnkgcGVvcGxlIHdobyBhcmUgbmV3IHRvIHRoZSBGT1NT IHdvcmxkIHJlbGVhc2UgcHJvZ3JhbXMgCnRoYXQgdGhleSB3cm90ZSB1bmRlciB0aGUgR1BMLCB3 aXRob3V0IGJlaW5nIGZ1bGx5IGF3YXJlIG9mIGl0cyBpbXBsaWNhdGlvbnMsIApmcm9tIHZhcmlv dXMgcmVhc29ucy4gSG93IHRoZXkgYWN0dWFsbHkgd2FudCBwZW9wbGUgdG8gdXNlIHRoZWlyIHNv ZnR3YXJlIG1heSAKYmUgdmVyeSBkaWZmZXJlbnQgZnJvbSB0aGUgaW1wbGljYXRpb25zIG9mIHRo ZSBHUEwuIExpa2UgdGhleSBtYXkgbm90IG1pbmQgCnBlb3BsZSBjbG9zaW5nIGRlcml2ZWQgdmVy c2lvbnMgb2YgdGhlIHNvdXJjZSB1bmRlciBhIGRpZmZlcmVudCBsaWNlbmNlLiBPciAKdGhleSBk b24ndCB3YW50IHRoZSB2YXJpb3VzIGFudGktcGF0ZW50IGNsYXVzZXMgb2YgdGhlIEdQTC4gT3Ig dGhleSB3YW50IApzb21ldGhpbmcgdGhhdCBpcyBhIHdlYWsgY29weWxlZnQgbGljZW5jZS4gSSBh bHJlYWR5IHRhbGtlZCB3aXRoIHNvbWVvbmUgd2hvIAp3YW50ZWQgdG8gdXNlIHRoZSBHUEwsIGFu ZCBhZnRlciBJIGFza2VkIGhpbSB3aGF0IGhlIHdhbnQsIGl0IHdhcyBhY3R1YWxseSAKd2VhayBj b3B5bGVmdC4KCk1hbnkgcGVvcGxlIGp1c3QgaGVhciBhYm91dCB0aGUgR1BMIGxpY2VuY2VzIG9u bGluZSBhbmQgYmVsaWV2ZSB0aGUgaHlwZSBhYm91dCAKdGhlbSwgZG9uJ3QgaW52ZXN0aWdhdGUg d2hhdCB0aGVpciBpbXBsaWNhdGlvbnMgYXJlIGFuZCBzbyBlbmQgdXAgdXNpbmcgdGhlbS4KCj4g Cj4gPiBBbmQgbm93IHRoZSBPcGVuQlNEIHByb2plY3Qgd2FudHMgdG8gcmVwbGFjZSBtb3N0IEdQ TCBzb2Z0d2FyZSB3aXRoCj4gPiBwZXJtaXNzaXZlLCBCU0Qtc3R5bGUgbGljZW5jZXMgKHNwZWNp ZmljYWxseSB0aGUgSVNDIGxpY2VuY2UsIEkKPiA+IGJlbGlldmUpLgo+IAo+IEdvb2QgbHVjayB0 byB0aGlzIHB1cmVseSBwb2xpdGljYWwgYWN0aW9uIG9mIEJTRCBwZW9wbGUuIEkgcHJlZGljdCBp dAo+IHdpbGwgZmFpbCBpbiB0aGUgd2hvbGUsIGFsdGhvdWdoIHRoZXkgbWF5IHJlcGxhY2UgMy00 IHByb2plY3RzIGZyb20KPiAxMDAwMDAuCgpJIGRvbid0IGtub3cgdGhlIHNjb3BlIG9mIHRoaXMg cmVwbGFjZW1lbnQuIEluIGFueSBjYXNlLCBtb3N0IEdQTGVkIHNvZnR3YXJlIApvdXQgdGhlcmUg aXMgb2YgbGl0dGxlIGludGVyZXN0IHRvIGFueW9uZSwgb3IgaGF2ZSBwZXJtaXNzaXZlbHktbGlj ZW5zZWQgCmFsdGVybmF0aXZlcyB0aGF0IGFyZSBnb29kIGVub3VnaCwgc28gdGhhdCB3b3VsZCBi ZSBnb29kIGVub3VnaC4gVGhlIHVzZXItbGFuZCAKb2YgdGhlIEJTRCBkaXN0cmlidXRpb25zIGhh dmUgYWxyZWFkeSBpbXBsZW1lbnRlZCBhIGxvdCBvZiB0aGUgZmVhdHVyZXMgb2YgdGhlIApHTlUg dXNlci1sYW5kLiAKCj4gCj4gT3BlbkJTRCBkZXZlbG9wZXJzIGhhdmUgc29tZSByZXNwZWN0IGZy b20gbWUsIG1vc3RseSBiZWNhdXNlIHRoZXkKPiByZWZ1c2UgdG8gaW5jbHVkZSBub24gZnJlZSBz b2Z0d2FyZSBkcml2ZXJzLiBCdXQgdGhleSBhcmUgc3RpbGwgbm90IHRvbwo+IGhpZ2ggb24gbXkg c2NhbGUsIGJlY2F1c2UgdGhlaXIgcHJpbmNpcGxlcyBhcmUgc29tZXdoYXQgdHdpc3R5LiBUaGV5 Cj4gaGFkIGFuIG9wcG9ydHVuaXR5IHRvIGJlIGxpc3RlZCBvbiB0aGUgR05VIHNpdGUgYXMgYSBm dWxseSBmcmVlIE9TLCBidXQKPiBleHBsaWNpdGVseSByZWZ1c2VkIHRvIGRvIHRoZSBuZWVkZWQg dGhpbmcsIGkuZS4gdG8gc3RvcCB0byBpbmNsdWRlIG9yCj4gYWR2ZXJ0aXNlIG5vbi1mcmVlIHNv ZnR3YXJlIChpbiBvbmUgb3IgYW5vdGhlciB3YXksIGJlaW5nIGl0IG9wdGlvbmFsCj4gcGFja2Fn ZXMvcG9ydHMgb3Igb24gdGhlIHdlYiBzaXRlKS4gRGV2ZWxvcGVycyB3aG8ga25vd2xpbmdseSBj aG9vc2UKPiBHUEwgZm9yIHRoZSBzYWtlIG9mIGZyZWUgc29mdHdhcmUgaGF2ZSBtb3JlIHJlc3Bl Y3QgZnJvbSBtZS4KCldlbGwsIGFyZ3VhYmx5IHRoaXMgaXMgYmVzaWRlcyB0aGUgcG9pbnQgb2Yg dGhlIEdQTCBzdWl0YWJpbGl0eSBmb3Igb3RoZXIgCnByb2plY3RzLCBhbmQgd2hldGhlciBpdCBl bmNvdXJhZ2VzIGR1cGxpY2F0ZSBlZmZvcnQgb3Igbm90LiBCdXQgdG8gYW5zd2VyIAp5b3VyIHF1 ZXN0aW9uIC0gdGhlIEZTRiBpcyBmYXIgdG9vIHBpY2t5IGFuZCBmYW5hdGljYWwgYWJvdXQgaXRz IGNob2ljZSBvZiAKd2hhdCBpcyBhICIxMDAlIEZyZWUgRGlzdHJpYnV0aW9uIi4gRnJvbSBteSB1 bmRlcnN0YW5kaW5nLCB0aGUgRlNGIGRvZXMgbm90IApldmVuIHdhbnQgdG8gaGF2ZSByZWZlcmVu Y2VzIG9yIG1lbnRpb25zIG9mIG5vbi1mcmVlLXNvZnR3YXJlIGFueXdoZXJlLCBvciAKdGhhdCB0 aGVyZSB3aWxsIGJlIHJlcG9zaXRvcmllcyBvZiBub24tRk9TUyBzb2Z0d2FyZS4gVGhpcyBzZWVt cyB3YXkgdG9vIAppcnJhdGlvbmFsIGFuZCBpbXByYWN0aWNhbC4KClRoZSBmb2xsb3dpbmcgcG9w dWxhciBMaW51eCBkaXN0cmlidXRpb25zIC0gRGViaWFuLCBVYnVudHUsIE1hbmRyaXZhLCBGZWRv cmEsIApvcGVuU1VTRSwgR2VudG9vLCBBcmNobGludXgsIFNsYWNrd2FyZSAtIG5vbmUgb2YgdGhl bSBhcmUgZnJlZSBlbm91Z2ggZm9yIHRoZSAKRlNGJ3MgdGFzdGVzLCBhbmQgaW5zdGVhZCBpdCBo YXMgdGhlIGZvbGxvd2luZyBsaXN0IC0gCmh0dHA6Ly93d3cuZ251Lm9yZy9kaXN0cm9zL2ZyZWUt ZGlzdHJvcy5odG1sIC0gb2YgaW5jcmVkaWJseSBvYnNjdXJlIApkaXN0cmlidXRpb25zLCBhbmQg Z05ld1NlbnNlIHdoaWNoIGlzIGJhc2VkIG9uIFVidW50dSwgb25seSB0byBleGNsdWRlIHRoZSAK bm9uLWZyZWUgc3R1ZmYuCgo+IAo+ID4gV2hhdCBpbiB5b3VyIG9waW5pb24gbWFrZXMgdGhlIEdQ TCBzdXBlcmlvciBpbiB0aGF0IGNhc2U/Cj4gCj4gVGhlIHN1cGVyaW9yaXR5IG9mIEdQTCAoYW5k IGl0cyBmYW1pbHkpIG92ZXIgb3RoZXIgbGljZW5zZXMgaXMgd2VsbAo+IGtub3duLiBBbnlvbmUg d2hvIGlzIHdpbGxpbmcgdG8gaGF2ZSBtb3JlIGZyZWUgc29mdHdhcmUgY2hvb3NlcyB0aGlzCj4g bGljZW5zZS4gSXQgaXMgdGhlIEJTRCBwZW9wbGUgd2hvIHNob3VsZCBqdXN0aWZ5IHRoZWlyICJu ZWVkIiB0bwo+IHJlcGxhY2UgZnJlZSBzb2Z0d2FyZSBqdXN0IG9uIHRoZSBzYWtlIG9mIGVhc2ll ciBzZXJ2aW5nIG5vbi1mcmVlCj4gc29mdHdhcmUsIG9yIG91dCBvZiB0aGUgbm90LWludmVudGVk LWhlcmUgc3luZHJvbS4KPiAKClNvcnJ5LCBJIGxvc3QgY29udGV4dC4gTmV4dCB0aW1lLCBwbGVh c2UgZG9uJ3QgdHJpbSB0aGUgbWVzc2FnZSBzbyBtdWNoLgoKPiA+ID4gMikgWW91ciBjYXRhbG9n aXppbmcgb2YgQXJ0aXN0aWMgTGljZW5zZSBhcyB3ZWFrIGNvcHlsZWZ0IGlzIGZhbHNlLgo+ID4g PiBOb29uZSAoZXhjZXB0IGZvciB5b3UpIGNvbnNpZGVycyBpdCBjb3B5bGVmdCwgc2VlIHdpa2lw ZWRpYS4KPiA+Cj4gPiBBY2NvcmRpbmcgdG86Cj4gPgo+ID4gW3NraXBwZWQgdG8gcmVkdWNlIG1l c3NhZ2UgbGVuZ3RoXQo+ID4KPiA+IFRoaXMgc2VlbXMgbGlrZSBjb3B5bGVmdCB0byBtZSwgYXQg bGVhc3QgYXMgZmFyIGFzIHRoZSBzb3VyY2UgY29kZSBpcwo+ID4gY29uY2VybmVkLgo+ID4KPiA+ IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQXJ0aXN0aWNfTGljZW5zZSBpbmRlZWQgc2F5 cyB0aGF0IGl0IGlzIG5vdAo+ID4gY29weWxlZnQsIGJ1dCBJIHdvdWxkIGNsYXNzaWZ5IGl0IGFz IG1hcmdpbmFsbHkgY29weWxlZnQuCj4gCj4gQXJ0aXN0aWMgTGljZW5zZSBtYXkgc291bmQgbW9y ZSBjb3B5bGVmdGlzaCB0aGFuIE1JVCBsaWNlbnNlLCBidXQgaXQgaXMKPiBub3QgYXQgYWxsLiBO b3QgYmVjYXVzZSB3aWtpcGVkaWEgc2F5cyB0aGlzLCBidXQgYmVjYXVzZSBvZiB0aGUgYWN0dWFs Cj4gaW50ZW5kIG9mIHRoZSBsaWNlbnNlLCB0aGF0IGlzIGp1c3QgdG8gZGlzYWxsb3cgeW91IHRv IGNhbGwgaXQgUGVybCBpZgo+IHlvdSByZW1vdmVkIGJyYXNlcyB7fSBmcm9tIHRoZSBzeW50YXgg YW5kIGFkZGVkCj4gbGVhZGluZy13aGl0ZXNwYWNlLWNvdW50ZXIgaW5zdGVhZCwgYnV0IHlvdSBt YXkgY2FsbCBpdCBQeXJsLgo+IAo+IFRoZSByZWRpc3RyaWJ1dGlvbiAibGltaXRhdGlvbiIgb25s eSBzYXlzIHRoYXQgSSBjYW4ndCByZWRpc3RyaWJ1dGUKPiBGcmVlY2VsbCBTb2x2ZXIgKGluIGJp bmFyeSB3YXkpIHdpdGggbXkgbW9kaWZpY2F0aW9ucyB3aXRob3V0IHNwZWNpZnlpbmcKPiB0aGF0 IEkgbW9kaWZpZWQgaXQsIG9yIGFsdGVybmF0aXZlbGx5IEkgY2FuIHJlbmFtZSBpdCB0byBPcGVu Y2VsbCBTb2x2ZXIuCj4gVGhhdCBpcyBhbGwuIEl0IGRvZXMgbm90IG1hbmRhdGVzIG1lIHRvIHNo b3cgdGhlIG1vZGlmaWNhdGlvbnMgYXMKPiByZXF1aXJlZCBieSB3ZWFrIG9yIHN0cm9uZyBjb3B5 bGVmdC4KPiAKPiBBbmQgaWYgRnJlZWNlbGwgU29sdmVyIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIE1J VCwgdGhlbiBJIChub3QgdGhlIG9yaWdpbmFsCj4gYXV0aG9yKSBtYXkgc3VwcG9zZWRseSBtYWtl IG15IG93biBkaXN0cmlidXRpb24gKGluIGJpbmFyeSB3YXkpIGFuZCBqdXN0Cj4gbmFtZSBpdCBG cmVlY2VsbCBTb2x2ZXIgdGhhdCB3aWxsIGNvbXBldGUgd2l0aCB0aGUgb3JpZ2luYWwgZGlzdHJp YnV0aW9uLgo+IAoKSW50ZXJlc3RpbmcuIFRoYW5rcyBmb3IgdGhlIGNsYXJpZmljYXRpb24uCgo+ ID4gPiAzKSBZb3VyIGFkdmljZSB0byB1c2UgVGhlIFNsZWVweWNhdCBMaWNlbnNlIGlmIG9uZSBu ZWVkcyBzdHJvbmcKPiA+ID4gY29weWxlZnQgaXMgdmVyeSBwcm9ibGVtYXRpYyBpbiBzZXZlcmFs IGFzcGVjdHMuCj4gPiA+Cj4gPiA+IEZpcnN0LCBUaGUgU2xlZXB5Y2F0IExpY2Vuc2UgaXMgbm90 IHRoZSBjbGFzc2ljYWwgY29weWxlZnQgdGhhdAo+ID4gPiBtYW5kYXRlcyB0aGUgZnJlZSBuYXR1 cmUgb2YgdGhlIGRlcml2YXRpdmVzLiBJdCBmYWlscyBvbiBhdCBsZWFzdAo+ID4gPiBvbmUgaW1w b3J0YW50IHByb3BlcnR5IG9mIHRoZSBjbGFzc2ljYWwgY29weWxlZnQgKGkuZS4gR1BMIG9yIEdG REwpCj4gPiA+IHRoYXQgaXMgY29kZSBpbnRlcm9wZXJhYmlsaXR5LiBJdCBpcyB0b28gZWFzeSB0 byBjcmVhdGUgZGVyaXZhdGl2ZQo+ID4gPiB3b3JrcyB0aGF0IGFyZSB1bmRlciBpbmNvbXBhdGli bGUgdGVybXMgKHRoaW5rIGFib3V0IGFueSBsaWNlbnNlCj4gPiA+IHRoYXQgc3BlYWtzIGFib3V0 IGF2YWlsYWJsZSBzb3VyY2VzLCBidXQgaW5jb21wYXRpYmxlIHdpdGggR1BMOwo+ID4gPiB0aGVy ZSBhcmUgbWFueSBvZiB0aGVzZSkuCj4gPiA+Cj4gPiA+ICAgaHR0cDovL3d3dy5nbnUub3JnL2Nv cHlsZWZ0L2NvcHlsZWZ0Lmh0bWwKPiA+ID4KPiA+ID4gU2Vjb25kLCBpdHMgdXNlIG9mICJyZWFz b25hYmxlIGNvbmRpdGlvbnMiIHdvcmRpbmcgbWFrZXMgaXQgdG9vCj4gPiA+IHZhZ3VlIGFuZCBv cGVuIHRvIGFsbCBraW5kcyBvZiBhdHRhY2tzLiBJdCBpcyBub3QgZXZlbiBjbGVhcgo+ID4gPiB3 aGV0aGVyIHByb3ByaWV0YXJ5IGRlcmlhdGl2ZXMgYXJlIGFsbG93ZWQsIGFuZCBpbiB3aGljaCBj YXNlcy4KPiA+ID4gSSB3b3VsZCBzYXkgaXQgaGFzIHNlcmlvdXMgaG9sZXMgdG8gYmUgZXZlbiBj b25zaWRlcmVkIFN0cm9uZwo+ID4gPiBDb3B5bGVmdC4gQW55b25lIHdobyB1c2VzIHRoaXMgbGlj ZW5zZSBmb3IgaGlzIG93biB3b3JrIHNob3VsZCBiZQo+ID4gPiBwcmVwYXJlZCBmb3IgaXQgdG8g YmUgaW50ZXJwcmV0ZWQgbW9yZSBhcyBQZXJtaXNzaXZlIExpY2Vuc2UgdGhhbgo+ID4gPiBDb3B5 bGVmdCBMaWNlbnNlLiBBbm90aGVyIHByb2JsZW0gb2Ygc2hvcnQgbGljZW5zZSB0ZXh0cyAoc2Vl IG15Cj4gPiA+IHBvaW50IDExKSBpcyB0aGVpciBhbWJpZ3VpdHkuIEl0IGZ1bGx5IGRlcGVuZHMg b24gdGhlICJjb21tb24KPiA+ID4gcHJhY3RpY2UgYW5kIGludGVycHJldGF0aW9uIi4gSWYgaXQg aXMgaW50ZXJwcmV0ZWQgYXMgeWV0IGFub3RoZXIKPiA+ID4gYWxsLXBlcm1pc3NpdmUgbGljZW5z ZSB0aGVuIGl0IHNoYXJlcyBhbGwgdGhlaXIgcHJvYmxlbXMgdGhhdCB0aGUKPiA+ID4gY2xhc3Np Y2FsIGNvcHlsZWZ0IHRyaWVzIHRvIHNvbHZlLCBpbmNsdWRpbmcgdGhlIGxpY2Vuc2UKPiA+ID4g cHJvbGlmZXJhdGlvbi4KPiA+Cj4gPiBbY2l0YXRpb24tbmVlZGVkXQo+ID4KPiA+IGh0dHA6Ly9l bi53aWtpcGVkaWEub3JnL3dpa2kvU2xlZXB5Y2F0X0xpY2Vuc2UgZG9lcyBub3QgbWVudGlvbiB0 aGF0Lgo+IAo+IEkgZG9uJ3QgdGhpbmsgdGhhdCBhbnlvbmUgbWF5IHNheSBtdWNoIGZvciBzdXJl IGFib3V0IHRoZSBuYXR1cmUgb2YKPiBTbGVlcHljYXQgTGljZW5zZSwganVzdCBiZWNhdXNlIHRo ZXJlIGFyZSBhbG1vc3Qgbm8gc29mdHdhcmUgdXNpbmcgaXQsCj4gc28gdGhlcmUgYXJlIG5vIG11 Y2ggImNvbW1vbiBwcmFjdGljZSBhbmQgaW50ZXJwcmV0YXRpb24iLgo+IAo+IFRoZSBvbmx5IGlu dGVyZXN0aW5nIHRoaW5nIGFib3V0IHRoaXMgbGljZW5zZSBpcyB0aGF0IHdpdGggb25lIG9yIGFu b3RoZXIKPiBpbnRlcnByZXRhdGlvbiB0aGF0IG1ha2VzIGFueSBzZW5zZSBpdCBzZWVtcyB0byBi ZSBjb21wYXRpYmxlIHdpdGggR1BMLgo+IEJ1dCB3aGV0aGVyIGl0IGlzIHdlYWsgb3Igc3Ryb25n IGNvcHlsZWZ0IG9yIGp1c3QgeWV0IGFub3RoZXIgcGVybWlzc2l2ZQo+IGxpY2Vuc2UgY2FuJ3Qg YmUgZWFzaWx5IGRlZHVjZWQgZGlyZWN0bHkgZnJvbSBqdXN0IHRoZSBsaWNlbnNlIHRleHQuIFlv dQo+IHlvdXJzZWxmIGluIHlvdXIgYXJ0aWNsZSBzdWdnZXN0IHRoYXQgcHJvcHJpZXRhcnkgZGVy aXZhdGl2ZXMgc2VlbSB0byBiZQo+IGFsbG93ZWQuIE5vb25lIGNhbiBwcm92ZSBvciBkaXNwcm92 ZSB0aGlzIHdpdGhvdXQgdGhlIGNvdXJ0IGNhc2UuCj4gCj4gT25lIHRoaW5nIGlzIGNsZWFyIC0g dGhpcyBsaWNlbnNlIGlzIG1vcmUgdGhhbiB2YWd1ZSBpbiBuYXR1cmUgYW5kIGFzCj4gc3VjaCBz aG91bGQgbm90IGJlIHJlY29tbWVuZGVkLiBJdCBpcyBqdXN0IG11Y2ggYmV0dGVyIGlmIHRoZSBs aWNlbnNlCj4ganVzdCBleHBsaWNpdGVseSBkZXNjcmliZXMgaXRzIG5hdHVyZSBhbmQgY29tbW9u IHVzZSBjYXNlcywgc28gbm9vbmUKPiBzaG91bGQgZXZlciBndWVzcy4KPiAKPiBJZiB5b3UgcmVh bGx5IGNhcmUgYWJvdXQgdGhlIHNhbmUgaW50ZXJwcmV0YXRpb24gb2YgdGhpcyBsaWNlbnNlLCBh c2sKPiBSTVMuIEhlIHVzdWFsbHkgYW5zd2VycyBzdWNoIHF1ZXN0aW9ucyBpbiBhIG1hdHRlciBv ZiBkYXlzLgo+IAo+IE90aGVyIHBlb3BsZSB0aGlua2luZyB0aGlzIGxpY2Vuc2UgaXMgInZhZ3Vl IjoKPiAKPiAgCj4gIGh0dHA6Ly9zbmsudHV4ZmFtaWx5Lm9yZy93ZWIvMjAwNy0wNS0wMi1jb3B5 bGVmdC12YXJpYXRpb24tb2YtbWl0LWxpY2Vuc2UuCj4gaHRtbAo+IAo+IE9mIGNvdXJzZSBJIHdv dWxkIHN0cm9uZ2x5IHN1Z2dlc3QgdG8gdGhpcyBndXkganVzdCB0byB1c2UgTEdQTCBoZXJlCj4g dGhhdCBkb2VzIGV4YWN0bHkgd2hhdCBoZSB3YW50cywgaW5zdGVhZCBvZiBpbnZlbnRpbmcgeWV0 IGFub3RoZXIgdmFndWUKPiBsaWNlbnNlLCBidXQgdGhpcyBpcyBhbm90aGVyIHN0b3J5IGFscmVh ZHkuCgpJIHNlZS4gCgo+IAo+ID4gRnVydGhlcm1vcmUsIGFjY29yZGluZyB0byB0aGlzIGludGVy dmlldyB3aXRoIHRoZSBTbGVlcHlDYXQgQ0VPIC0KPiA+IFtza2lwcGVkXQo+ID4gTW9yZW92ZXIs IEJlcmtlbGV5IERCIHdhcyB1c2VkIGJ5IGEgbG90IG9mIGZyZWUgc29mdHdhcmUgcHJvamVjdHMg c3VjaAo+ID4gYXMgUlBNLCBTdWJ2ZXJzaW9uIGFuZCBvdGhlcnMuCj4gCj4gQXMgYSBsaWJyYXJ5 LiBXaXRob3V0IG1vZGlmaWNhdGlvbnMuIEJ5IGdvb2QgcGxheWVycy4gTm90aGluZyBpcyBjbGVh cgo+IGlmIGFueSBvZiB0aGVzZSBjb25kaXRpb25zIGFyZSBub3Qgc2F0aXNmaWVkLiBUbyBzdWdn ZXN0IHRoaXMgbGljZW5zZQo+IGZvciBhcmJpdHJhcnkgRk9TUywgYXMgeW91IGRpZCwgaXMgcHJv YmxlbWF0aWMgYW5kIElNTyBpcnJlc3BvbnNpYmxlLgo+IAo+ID4gPiBTbyBpdCBpcyBpcnJlc3Bv bnNpYmxlIHRvIGJsaW5kbHkgc3VnZ2VzdCBUaGUgU2xlZXB5Y2F0IExpY2Vuc2UgZm9yCj4gPiA+ IGV2ZXJ5IHByb2dyYW1tZXIgd2l0aG91dCBkZXNjcmliaW5nIGl0cyBtdWx0aXBsZSBwcm9ibGVt cy4KPiA+ID4KPiA+ID4gT24gdGhlIGNvbnRyYXJ5LCB0aGUgR05VIEdQTCB3YXMgd3JpdHRlbiBh bmQgdmVyaWZpZWQgYnkgdGhlIGJlc3QKPiA+ID4gbGF3ZXJzIGFuZCBmb3VuZCBub3QgdG8gY29u dGFpbiBhbnkga25vd24gaG9sZSwgd2FzIHByb3ZlbiB0byBiZQo+ID4gPiBlbmZvcmNlYWJsZSBp biBjb3VydHMsIGFuZCBkb2VzIG5vdCBoYXZlIGludGVyb3BlcmFiaWxpdHkgcHJvYmxlbQo+ID4g PiBtZW50aW9uZWQgYWJvdmUuCj4gPgo+ID4gVGhlIEdQTCBoYXMgaHVnZSBpbnRlcm9wZXJhYmls aXR5IHByb2JsZW1zLiBUaGUgR1BMdjIgaXMgbm90Cj4gPiBjb21wYXRpYmxlIHdpdGggdGhlIEFw YWNoZSBsaWNlbmNlLCB0aGUgR1BMdjMsIHRoZSBMR1BMdjMgKCEpLCB0aGUKPiA+IG9yaWdpbmFs IEJTRCBsaWNlbmNlIGFuZCBtYW55IG90aGVyIGxpY2VuY2VzLiBTZWU6Cj4gCj4gSWYgeW91IGNh bGwgdGhlc2UgcHJvYmxlbXMsIHRoZW4gU2xlZXB5Y2F0IExpY2Vuc2UgaGFzIGFsbCBvZiB0aGVt IHRvby4KCk5vLCB0aGUgU2xlZXB5Y2F0IGxpY2VuY2UgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB0 aGUgR1BMcywgdGhlIEFwYWNoZSBMaWNlbnNlLCAKdGhlIE1QTCBhbmQgbW9zdCBvdGhlciBvcGVu LXNvdXJjZSBsaWNlbmNlcy4gRm9yIGV4YW1wbGUsIFN1YnZlcnNpb24gKCAKaHR0cDovL3N1YnZl cnNpb24udGlncmlzLm9yZy8gKSB3aGljaCB3YXMgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbmNlLCBt YWRlIHVzZSAKb2YgQmVya2VsZXkgREIsIHdoaWNoIGlzIHVuZGVyIHRoZSBTbGVlcHljYXQgbGlj ZW5jZS4gCgo+IElmIHlvdSB3cml0ZSBNUEwgZGVyaXZhdGl2ZSBhbmQgQXBhY2hlIExpY2Vuc2Ug ZGVyaXZhdGl2ZSwgdGhleSB3aWxsIGJlCj4gaW5jb21wYXRpYmxlIGJldHdlZW4gdGhlbXNlbHZl cywgbm90aGluZyBuZXcgaGVyZS4gQW5kIEkgZG9uJ3QgZXZlbgo+IHNwZWFrIGFib3V0IGZ1dHVy ZSB2ZXJzaW9uIDIgb2YgdGhpcyBsaWNlbnNlIHRoYXQgd2lsbCBiZSBpbmNvbXBhdGlibGUKPiB3 aXRoIHRoZSBjdXJyZW50IHZlcnNpb24uCgpJc24ndCB0aGUgTVBMIGEgd2VhayBjb3B5bGVmdCBs aWNlbmNlLCB0aGF0IGFsbG93cyBjb2RlIGZyb20gb3RoZXIgbGljZW5jZXMgdG8gCmxpbmsgYWdh aW5zdCBpdD8gT3IgSSBkaWRuJ3QgdW5kZXJzdGFuZCB5b3UuCgoKPiAKPiBZb3Ugb21pdCBvbmUg aW1wb3J0YW50IHRoaW5nLiBBbGwgY2xhc3NpY2FsIEdQTCBwcm9qZWN0cyAodGhhdCB1c2UKPiAi b3IgbGF0ZXIiIHRpcCBtZW50aW9uZWQgaW4gdGhlIGxpY2Vuc2UgaXRzZWxmKSBhcmUgY29tcGF0 aWJsZSBiZXR3ZWVuCj4gdGhlbXNlbHZlcywgdGhlcmUgaXMgbm8gbmVlZCB0byBpbnZlbnQgdW5l eGlzdGluZyBwcm9ibGVtcy4KPiAKClJpZ2h0LiBCdXQgbm90IGFsbCBHUEwgcHJvamVjdHMgdXNl IHRoZSAib3IgbGF0ZXIiIGNsYXVzZS4gTWFueSBhcmUgR1BMdjItb25seSAKOgoKaHR0cDovL2Zy ZXNobWVhdC5uZXQvdGFncy9nbnUtZ2VuZXJhbC1wdWJsaWMtbGljZW5zZS12MgoKQXMgc3VjaCwg dGhleSBhcmUgaW5jb21wYXRpYmxlIHdpdGggR1BMdjMtb3ItbGF0ZXIgY29kZS4KCj4gU28gaXQg aXMgYWx3YXlzIHBvc3NpYmxlIHRvIHNoYXJlIGNvZGUgYmV0d2VlbiBjbGFzc2ljYWwgR1BMIHBy b2plY3RzLAo+IHNpbmNlIGFsbCBvZiB0aGUgcGFydHMgYXJlIHVuZGVyIGNvbXBhdGlibGUgbGlj ZW5zZXMgKE1JVCwgTEdQTCwgR1BMKS4KPiBCdXQgdGhpcyBpcyBub3QgZ3VhcmFudGVlZCBhdCBh bGwgaW4gdGhlIHdvcmxkIHdoZXJlIFNsZWVweWNhdCBMaWNlbnNlCj4gcGFydGlhbGx5IHJlcGxh Y2VkIEdQTCBhcyBvZiB5b3VyIGFkdmlzZS4gVGhlbiB3ZSB3b3VsZCBzZWUgcmVhbCAobm90Cj4g aW52ZW50ZWQpIGludGVyb3BlcmFiaWxpdHkgcHJvYmxlbXMgYW5kIGxpY2Vuc2UgcHJvbGlmZXJh dGlvbi4KPiAKCldoYXQ/IFdoeT8gWW91IGNhbiB1c2UgY29kZSB1bmRlciB0aGUgQkRCIGxpY2Vu Y2UgZnJvbSBHUEwtbGljZW5zZWQsIFgxMUwtCmxpY2Vuc2VkLCBMR1BMLWxpY2Vuc2VkLCBldGMu IGNvZGUuCgo+ID4gaHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvbGljZW5zZS1saXN0Lmh0 bWwKPiA+Cj4gPiA+IDQpIFRvIHNheSAiR1BMIHYzIGhhcyBtb3JlIHJlc3RyaWN0aW9uIHRoYW4g djIiIGlzIHRvIHNob3cgaWdub3JhbmNlIG9uCj4gPiA+IHRoZSB0b3BpYy4gQWxsIEdQTCB2ZXJz aW9ucyBpbXBsZW1lbnQgdGhlIHNhbWUgaWRlYSB0aGF0IHdhcyBub3QKPiA+ID4gY2hhbmdlZCBz aW5jZSBpdHMgc3RhcnQgKGVuZm9yY2UgdGhlIGZvdXIgc29mdHdhcmUgZnJlZWRvbXMgZm9yIGFu eQo+ID4gPiBldm9sdXRpb24gb2YgdGhlIHByb2dyYW0pLiBKdXN0IHNvbWUgYnVncyB3ZXJlIGZp eGVkIGZvciB0aGUgY2hhbmdlZAo+ID4gPiByZWFsaXR5Lgo+ID4KPiA+IFRoZSBHUEx2MyBhbHNv IGhhcyBzb21lIGFkZGl0aW9uYWwgcmVzdHJpY3Rpb25zIGFnYWluc3QgdGhlIHNvLWNhbGxlZAo+ ID4gInRpdm9pc2F0aW9uIiwgbW9yZSBwYXRlbnRzIHN0dWZmLCBldGMuIElmIGl0IGRvZXNuJ3Qg aGF2ZSBhbnkgZXh0cmEKPiA+IHJlc3RyaWN0aW9ucywgdGhlbiB3aHkgaXNuJ3QgaXQgY29tcGF0 aWJsZSB3aXRoIEdQTHYyLW9ubHktbGljZW5zZWQKPiA+IHNvZnR3YXJlPwo+IAo+IEkgcmVmdXNl IHRvIGNhbGwgYW55IG9mIHRoZXNlICJyZXN0cmljdGlvbnMiLCBiZWNhdXNlIHRoZXkgb25seSBh ZGQgdG8KPiB0aGUgZnJlZWRvbSBvZiB0aGUgc29mdHdhcmUsIGZpeGluZyBob2xlcyB0byB3b3Jr YXJvdW5kIGNvcHlsZWYpLiBBbmQgSQo+IHN1Z2dlc3QgeW91IHRvIGNhbGwgaXQgcHJvcGVybHkg dG9vLCBpLmUuICJmaXhlcyIsIG1ha2luZyB0aGUgbGljZW5zZQo+IHN0cm9uZ2VyIGFnYWluc3Qg YXR0YWNrcy4gQXMgYSBkZW1vbnN0cmF0aW9uLCBhZGRpbmcgcGF0ZW50IHRlcm1pbmF0aW9uCj4g Y2xhdXNlIG1ha2VzIHNldmVyYWwgcG9wdWxhciBGT1NTIGxpY2Vuc2VzIGNvbXBhdGlibGUsIHNv IGhvdyBjYW4gdGhpcwo+IGJlIGNhbGxlZCByZXN0cmljdGlvbi4gU2ltaWxhcmx5IHdpdGggYWxs IG90aGVyIGNoYW5nZXMuIE9ubHkgdGhlCj4gY2xvc2VkIHNvdXJjZSBwcm9wb25lbnRzIGhhdmlu ZyBhbnRpIGZyZWUgc29mdHdhcmUgYWdlbmRhIG1heSBjYWxsIHRoZW0KPiByZXN0cmljdGlvbnMu IEFuZCB3ZSBhcmUgbm90IHN1Y2ggcGVvcGxlLCBJIGhvcGUuCj4gCgpJIHNlZSB0aGVtIGFzIHRo aW5ncyB0aGF0IGFkZCB0byB0aGUgY29tcGxleGl0eSBvZiB0aGUgbGljZW5jZSwgYXJlIG1vcmUg CnBvbGl0aWNhbCBhbmQgZGVtYW5kaW5nIGluIG5hdHVyZSwgYW5kIGdlbmVyYWxseSBzb21ldGhp bmcgdGhhdCBJIGRvbid0IGxpa2UgCmluIGEgZnJlZSBzb2Z0d2FyZSBsaWNlbmNlLgoKPiA+ID4g NSkgQWxsIGNsYXNzaWNhbCBjb3B5bGVmdCBsaWNlbnNlIGFyZSBpbmNvbXBhdGlibGUgYmV0d2Vl biB0aGVtc2VsdmVzLAo+ID4gPiBvbiBwdXJwb3NlLiBUaGUgd2F5IHRvIG1ha2UgdGhlbSBjb21w YXRpYmxlIGlzIGJ5IGFkZGluZyBleHBsaWNpdAo+ID4gPiByZWxpY2Vuc2luZyBwZXJtaXNzaW9u IChzYXkgR1BMIHYzIGFuZCBBR1BMIHYzIGFyZSBtdXR1YWxseQo+ID4gPiBjb21wYXRpYmxlKS4g T3IgZHVhbCBsaWNlbnNpbmcsIGluY2x1ZGluZyB0aGUgIm9yIGxhdGVyIiB0aXAuCj4gPgo+ID4g VGhlIExHUEx2Mi4xIG9yIExHUEx2MyBpcyBhICh3ZWFrKSBjb3B5bGVmdCBsaWNlbnNlIHRoYXQg YWltcyB0byBiZQo+ID4gY29tcGF0aWJsZSB3aXRoIGFzIG1hbnkgbGljZW5jZXMgYXMgcG9zc2li bGUuIEJ5ICJjbGFzc2ljYWwgY29weWxlZnQiCj4gPiBkbyB5b3UgbWVhbiAic3Ryb25nIGNvcHls ZWZ0IiBieSBhbnkgY2hhbmNlPwo+IAo+IEJ5ICJjbGFzc2ljYWwgY29weWxlZnQiIEkgbWVhbiBh bnkgbGljZW5zZSB0aGF0IG1hbmRhdGVzIHRoZSBzYW1lIHRlcm1zCj4gZm9yIHRoZSBkaXJlY3Qg ZGVyaXZhdGl2ZSB3b3JrIChMR1BMLCBHUEwsIEFHUEwsIEdGREwsIE1QTCBvciBzaW1pbGFyKS4K PiBTb21lIG9mIHRoZW0gd2VyZSBkZXNpZ25lZCB0byBiZSBjb21wYXRpYmxlLCBqdXN0IGxpa2Ug SSBzYWlkLgo+IAoKT0suIFlvdSBkaWRuJ3QgcGhyYXNlIHlvdXJzZWxmIHByb3Blcmx5LgoKPiA+ ID4gNikgWW91ciBjb21tZW50cyBhYm91dCBBZmZlcm8gR1BMIGFyZSB1bmZvdW5kZWQuIEl0IHNl ZW1zIHlvdSB0aGluawo+ID4gPiB0aGF0IHRoaXMgbGljZW5zZSBpcyBhcHBsaWNhYmxlIHRvIGFu eSBub3JtYWwgKGRlc2t0b3ApIHByb2dyYW0uIEl0IGlzCj4gPiA+IG5vdC4gSXQgaXMgb25seSBh cHBsaWNhYmxlIHRvIGEgc3BlY2lhbCBwcm9ncmFtIHRoYXQgd2FzIGRlc2lnbmVkIChhbmQKPiA+ ID4gd2FzIGJvcm4gZnJvbSB0aGUgc3RhcnQpIGFzIGEgbmV0d29yayBpbnRlcmZhY2UgKGxpa2Ug d2ViIHNlcnZpY2UpCj4gPiA+IF9hbmRfIGhhcyBhIGZ1bmN0aW9uYWxpdHkgdG8gZG93bmxvYWQg aXRzIG93biBzb3VyY2UgY29kZSBvdmVyIG5ldHdvcmsuCj4gPiA+IFRoZW4gaXQgaXMgYmVsaWV2 ZWQgdGhhdCByZW1vdmluZyB0aGlzIGZ1bmN0aW9uYWxpdHkgaW4gZGVyaWF0aXZlIHdvcmtzCj4g PiA+IHdvdWxkIG1lYW4gdHVybmluZyBzdWNoIGZyZWUgc29mdHdhcmUgc2VydmljZSBpbnRvIGEg bm9uIGZyZWUgc29mdHdhcmUKPiA+ID4gc2VydmljZSwgdGhhdCB3b3VsZCBpbmRpY2F0ZSBhIGhv bGUgaW4gU3Ryb25nIENvcHlsZWZ0IGluIGEKPiA+ID4gbXVsdGktY29tcHV0ZXIgZW52aXJvbm1l bnQgYW5kIGluIGFiaWxpdHkgdG8gZW5mb3JjZSBwcm92aWRpbmcgdGhlIGZvdXIKPiA+ID4gZnJl ZWRvbXMgdG8gdXNlcnMuCj4gPiA+Cj4gPiA+IFRoZXJlIGFyZSBjYXNlcyB3aGVuIG5vIG90aGVy IGxpY2Vuc2UgYWx0ZXJuYXRpdmVzIGZvciB3ZWIgc2VydmljZXMKPiA+ID4gKGRlc2lnbmVkIHRv IGJlIGZyZWUgYW5kIHRydXN0ZnVsKSBleGlzdCBvdGhlciB0aGFuIEFHUEwuIE5vIHNhbmUgdXNl cgo+ID4gPiB3b3VsZC9zaG91bGQgdXNlICJPbmxpbmUgU2VjdXJlIFZvdGluZyIgb3Igb3RoZXIg c2VydmljZXMgaWYgaGUgY2FuJ3QKPiA+ID4gdmVyaWZ5IGl0cyBzb3VyY2VzIGZpcnN0LiBJbmNs dWRpbmcgeW91LiBTbyBwbGVhc2UgZWl0aGVyIHJlbW92ZSB5b3VyCj4gPiA+IGFkdmljZSB0byBh dm9pZCBub24tRk9TUyBsaWNlbnNlcywgb3IgcmVtb3ZlIHlvdXIgcHJlanVkaWNlIGFnYWluc3QK PiA+ID4gQUdQTC4KPiA+Cj4gPiBUaGlzIGlzIGE6Cj4gPgo+ID4gaHR0cDovL3d3dy5uaXprb3Iu b3JnL2ZlYXR1cmVzL2ZhbGxhY2llcy9hZC1ob21pbmVtLXR1LXF1b3F1ZS5odG1sCj4gPgo+ID4g SSBkaWRuJ3QgcmVjb21tZW5kIHBlb3BsZSB0byBhdm9pZCBub24tRk9TUy1saWNlbnNlcyAtIGlu c3RlYWQgSSBzYWlkCj4gPiB0aGF0IGl0IHdhcyBvdXQgb2YgdGhlIHNjb3BlIG9mIHRoaXMgZG9j dW1lbnQuIElmIHNvbWVvbmUgd2FudHMgdG8gY3JlYXRlCj4gPiBub24tRk9TUyBzb2Z0d2FyZSBi ZWNhdXNlIHRoZXkncmUgbm90IGhhcHB5IHdpdGggdGhlIEZyZWUgU29mdHdhcmUKPiA+IERlZmlu aXRpb24gYW5kL29yIHRoZSBPcGVuIFNvdXJjZSBEZWZpbml0aW9uLCB0aGVuIEkgd2lzaCB0aGVt IHN1Y2Nlc3MsCj4gPiBidXQgSSBzcGVjaWZpY2FsbHkgc2FpZCBpdCB3YXMgb3V0IG9mIHRoZSBz Y29wZSBvZiB0aGUgZG9jdW1lbnQuIEkKPiA+IHNwZWNpZmljYWxseSBjb3VsZCBub3QgZ2l2ZSB0 aGVtIGFueSBmdXJ0aGVyIGFkdmljZSwgZHVlIHRvIGxhY2sgb2YKPiA+IGtub3dsZWRnZSBpbiBw aHJhc2luZyBzdWNoIGxpY2VuY2VzLgo+IAo+IE9rLCBJIGFjY2VwdCB0aGlzLiBJIHdvdWxkIGxp a2UgdG8gcmV3b3JkIHdoYXQgSSBzYWlkOiBQbGVhc2UgZWl0aGVyCj4gcmVtb3ZlIHlvdXIgYWR2 aWNlIHRvIHVzZSBGT1NTIG9yIHJlbW92ZSB5b3VyIHByZWp1ZGljZSBhZ2FpbnN0IEFHUEwuCj4g U29ycnksIGlmIGl0IHNvdW5kcyB0aGUgc2FtZSwganVzdCByZXdvcmRlZCwgYnV0IGl0IGlzIGp1 c3QgdGhhdAo+IHNpbXBsZS4gSWYgeW91IGJlbGlldmUgZnJlZSBzb2Z0d2FyZSBpcyBnb29kLCB0 aGVuIGFueXRoaW5nIHRoYXQKPiBpbnRlbnNpZmllcyB0aGUgc29mdHdhcmUgZnJlZWRvbXMgKGxp a2UgQUdQTCkgaXMgZ29vZCB0b28uCgpXZWxsLCBsZXQgbWUgY2xhcmlmeSBteSBwb3NpdGlvbi4g SSB0aGluayB0aGF0IHJlbGVhc2luZyBhbnkgcHJvZ3JhbSB0byB0aGUgCnB1YmxpYyBpcyBhIGdv b2QgdGhpbmcsIGJ1dCBuYXR1cmFsbHksIHRoZSBtb3JlIGxpYmVyYWwgdGhlIGxpY2VuY2UgLSB0 aGUgCmJldHRlci4gSWYgeW91IHdhbnQgdG8gcmVsZWFzZSBhIHByb2dyYW0geW91IHdyb3RlIHVu ZGVyIHRoZSBNaWNyb3NvZnQgV2luZG93cyAKVmlzdGEgSG9tZSBCYXNpYyBFVUxBLCB0aGVuIGFs bCB0aGUgcG93ZXIgdG8geW91IC0gaXQncyBiZXR0ZXIgdGhhbiBoYWQgeW91IAprZXB0IGl0IGZv ciB5b3Vyc2VsZi4gSSB3b3VsZG4ndCBnZXQgbmVhciB0aGlzIGNvZGUgd2l0aCBhIHRlbi1mb290 IHBvbGUsIGJ1dCAKc29tZSBwZW9wbGUgbWF5IG9wdCB0by4KCk5vdywgaWYgeW91IHdhbnQgdG8g cmVsZWFzZSBhIHByb2dyYW0gdW5kZXIgdGhlIEFHUEwsIHRoZW4gSSB3b24ndCBwcmV2ZW50IHlv dSAKZnJvbSBkb2luZyB0aGlzLiBTb21lIHBlb3BsZSBtYXkgY29uc2lkZXIgc29mdHdhcmUgdW5k ZXIgdGhpcyBsaWNlbmNlIGZyZWUsIAphbmQgaXQgaXMgc3RpbGwgYmV0dGVyIHRoYW4gYSBjbG9z ZWQtc291cmNlIHByb2dyYW0gb3IgYSBwcm9ncmFtIHRoYXQgd2FzIG5vdCAKcmVsZWFzZWQgZWl0 aGVyLiBCdXQgSSB3b24ndCBnZXQgbmVhciBpdCBlaXRoZXIuCgpXaGljaCBsaWNlbmNlcyBJIGNv bnNpZGVyIGZyZWUgb3Igbm90IGhhdmUgbGl0dGxlIGRvIHdpdGggbXkgZGVzaXJlIHRvIAplbmNv dXJhZ2UgcGVvcGxlIHRvIHJlbGVhc2UgY29kZSB0aGV5IHdyb3RlIHRvIHRoZSB3aWxkLCBwcmVm ZXJhYmx5IHVuZGVyIApsaWNlbmNlcyB0aGF0IGFyZSBhcyBsaWJlcmFsIGFzIHBvc3NpYmxlLCBz byBwZW9wbGUgY2FuIGJlbmVmaXQuIAoKPiA+IEFzIGZvciB0aGUgQUdQTHYzIDogSWYgSSBkZXBs b3kgYSBzb2Z0d2FyZSBvbiBteSBzZXJ2ZXJzLCB0aGVuIEkgd2FudAo+ID4gdG8gYmUgYWJsZSB0 byBtb2RpZnkgaXQgZm9yIG15IHVzZSB3aXRob3V0IHRoZSBuZWVkIHRvIHNoYXJlIG15Cj4gPiBt b2RpZmljYXRpb25zIHdpdGggdGhlIG91dHNpZGUuIFRoaXMgaW5jbHVkZXMgd3JpdGluZyBhIGNv bmZpZ3VyYXRpb24KPiA+IGZpbGUgKHBvc3NpYmx5IHdpdGggcGFzc3dvcmRzKSwgaW5zdGFsbGlu ZyBwbHVnLWlucywgZml4aW5nIGJ1Z3MKPiA+IGludGVybmFsbHkgd2l0aG91dCByZWxlYXNpbmcg dGhlbSwgZXRjLiBUaGUgQUdQTCBhaW1lZCB0byBjbG9zZSB0aGUKPiA+ICJBcHBsaWNhdGlvbiBT b2Z0d2FyZSBQcm92aWRlciAoQVNQKSBsb29waG9sZSIgZm9yIG1hbnkgcHJvZ3JhbXMgdGhhdAo+ ID4gYXJlIG11Y2ggbG93ZXIgcHJvZmlsZSB0aGFuIGEgdm90aW5nIHN5c3RlbS4gIFVzaW5nIGl0 IG9uIGEgc2VydmVyCj4gPiB3aWxsIGNhdXNlIHJpc2sgdGhhdCBldmVyeXRoaW5nIHlvdSBydW4g YmFzZWQgb24gaXQgd2lsbCBiZSBleHBvc2VkCj4gPiB0byB0aGUgd29ybGQtd2lkZS13b3JsZC4K PiAKPiBUaGlzIGZlYXIsIHVuY2VydGFpbnR5IGFuZCBkb3VidCBhcmd1bWVudCB3YXMgc3RhcnRl ZCBieSBwYXJhbm9pZAo+IHBlb3BsZSB3aGVuIEdQTCB2MyB3YXMgb25seSBpbiBwbGFucy4KPiAK PiBUaGUgcmVhbGl0eSBpcyB5b3UgYXJlIG5ldmVyIGV2ZXIgc3VwcG9zZWQgdG8geWllbGQgeW91 ciBwYXNzd29yZHMgYW5kCj4gY29uZmlndXJhdGlvbnMuIFRoaXMgaXMgYWdhaW5zdCBjb21tb24g c2Vuc2UgYW5kIG5vIGxpY2Vuc2UgbWF5IGV2ZXIKPiBhc2sgeW91IHRvIGRvIHN1Y2ggdGhpbmdz Lgo+IAo+IElmIHlvdSBkb24ndCB0cnVzdCBzb21lIGFwcGxpY2F0aW9uIGFuZCB0aGluayBpdCBt YXkgZG8gbWFsaWNpb3VzIHRoaW5ncwo+IChyZWdhcmRsZXNzIG9mIGl0cyBsaWNlbnNlKSwganVz dCBkb24ndCB1c2UgaXQuIElmIHlvdSB0aGluayBhbgo+IGFwcGxpY2F0aW9uIGhhcyBzb21lIGJ1 Z3Mgc2VuZGluZyBwYXNzd29yZHMsIHRoZW4ganVzdCBmaXggdGhlc2UgYnVncywKPiB0aGlzIHdp bGwgYmUgaW4gZnVsbCBjb21wbGlhbmNlIHdpdGggYW55IEZPU1MgbGljZW5zZSwgaW5jbHVkaW5n IEFHUEwuCgpOb3Qgc3VyZSBJIHVuZGVyc3RhbmQuCgo+IAo+ID4gQXMgYSByZXN1bHQsIEkgZG9u J3QgY29uc2lkZXIgdGhlIEFHUEwgYSBmcmVlIGxpY2VuY2UgYWNjb3JkaW5nIHRvCj4gPiB0aGUg d2F5IEkgaW50ZXJwcmV0IHRoZSBGcmVlIFNvZnR3YXJlIERlZmluaXRpb24uIEhvd2V2ZXIsIG90 aGVyCj4gPiBwZW9wbGUgbWF5IGludGVycHJldCB0aGUgRnJlZSBTb2Z0d2FyZSBEZWZpbml0aW9u IGRpZmZlcmVudGx5IGFuZAo+ID4gY29uc2lkZXIgaXQgZnJlZSwgYW5kIHRoYXQgaXMgd2l0aGlu IHRoZWlyIHJpZ2h0Lgo+IAo+IEkgc3RpbGwgaGF2ZSBhbGwgcmVhc29ucyB0byB0aGluayB5b3Vy IGFyZ3VtZW50cyBhcmUgdW5mb3VuZGVkLgo+IAo+IFRoZXJlIGlzIG5vIHJlYWxseSBkaWZmZXJl bmNlIGJldHdlZW4gR1BMIGFuZCBBR1BMIGluIHRoZSBpbnRlbmQuIEdQTAo+IHNpbWlsYXJseSBo YXMgYSBjbGF1c2UgdGhhdCBpZiB0aGUgb3JpZ2luYWwgcHJvZ3JhbSBoYXMgYSB3YXkgdG8gdGVs bAo+IHVzZXJzIHRoYXQgdGhpcyBpcyBhIEZyZWUgU29mdHdhcmUgcHJvZ3JhbSAoc2F5LCB1c2lu ZyAtLWhlbHAgb3IKPiAtLWxpY2Vuc2Ugb3B0aW9uKSB0aGVuIHlvdSBjYW4ndCByZW1vdmUgdGhp cyBwcmluY2lwYWwgbWVudGlvbmluZyAoYnV0Cj4geW91IG1heSBvZiBjb3Vyc2UgcHJvdmlkZSBh biBhbHRlcm5hdGl2ZSkuIFRoaXMgY2xhdXNlIGlzIHBlcmZlY3RseQo+IGFjY2VwdGFibGUgYnkg T1NJLCBEZWJpYW4gYW5kIG90aGVycy4gQUdQTCBpcyBqdXN0IGEgdmVyeSBzaW1pbGFyIGJ5Cj4g aW50ZW5kIGNsYXVzZS4KCkRvZXNuJ3QgQUdQTCBhbHNvIHJlcXVpcmUgdGhlIHNlcnZlciB0byBz ZW5kIHRoZSBtb2RpZmllZCBjb2RlIHRvIHRoZSBjbGllbnQ/Cgo+IAo+ID4gPiA4KSBUbyBhZHZv Y2F0ZSBvbmUgTUlUIGxpY2Vuc2UgaW4gYWxsIGNhc2VzIGlzIG5vdCB3aXNlLiBUaGVuIHlvdSB3 b3VsZAo+ID4gPiBiZXR0ZXIgc3RhcnQgdG8gYWR2b2NhdGUgTG9vc3kgU29mdHdhcmUgKDUgZnJl ZWRvbXMsIHRoZSBmaWZ0aCBpcyB0byBiZQo+ID4gPiBhYmxlIHRvIGNvbnZlcnQgdG8gYSBjbG9z ZWQgc291cmNlKSBhbmQgbm90IEZyZWUgU29mdHdhcmUgKDQgZnJlZWRvbXMpLgo+ID4KPiA+IEkn bSBub3QgdmVyeSBpbnRlcmVzdGVkIGluIGFub3RoZXIgR1BMLXZzLUJTRCB3YXIuIEkgcHJlZmVy IHVzaW5nIHRoZQo+ID4gWDExIGxpY2VuY2UgZm9yIGFsbCBwcm9ncmFtcyB0aGF0IEkgd3JpdGUs IHJlZ2FyZGxlc3Mgb2YgdGhlaXIKPiA+IGludGVuZGVkIHVzZSwgYXVkaWVuY2Ugb3Igd2hhdGV2 ZXIuIE90aGVyIHBlb3BsZSBsaWtlIHRvIHVzZQo+ID4gZGlmZmVyZW50IGxpY2VuY2VzIGluIGRp ZmZlcmVudCBjb250ZXh0cyAob3IgR1BMLW9ubHksIGV0Yy4pLiBXaGF0IEkKPiA+IHNhaWQgaW4g dGhlICJXaHkgSSBwcmVmZXIgdGhlIFgxMUwiIHdhcyB0aGF0IHRoaXMgd2FzIG15IHBlcnNvbmFs Cj4gPiBwcmVmZXJlbmNlLCBhbmQgdGhhdCBJIHRyaWVkIHRvIGV4cGxhaW4gd2h5LiBZb3UgYXJl IGZyZWUgdG8KPiA+IGRpc2FncmVlLCBhbmQgZXhwbGFpbiB5b3VyIHJlYXNvbnMgd2hlbiB5b3Ug dGhpbmsgZWFjaCBsaWNlbmNlIGlzCj4gPiBhcHByb3ByaWF0ZSwgYW5kIGlmIEkgbGlrZSB0aGVt LCBJIG1heSBpbmNvcnBvcmF0ZSB0aGVtIGluIHRoZSBuZXh0Cj4gPiBlZGl0aW9uIG9mIHRoZSBh cnRpY2xlLgo+IAo+IEZvciBtb3N0IG9mIHRoZSBhcHBsaWNhdGlvbiBHUEwgaXMgdGhlIGJlc3Qu IEl0IGluY3JlYXNlcyBzaGFyaW5nLgo+IAo+IEhvd2V2ZXIsIGFzIEZTRiBpdHNlbGYgc2F5cywg dXNpbmcgdGhlIG9yZGluYXJ5IEdQTCBpcyBub3QgYWR2YW50YWdlb3VzCj4gZm9yIGV2ZXJ5IHNv ZnR3YXJlL2xpYnJhcnkuIFRoZXJlIGFyZSByZWFzb25zIHRoYXQgY2FuIG1ha2UgaXQgYmV0dGVy Cj4gdG8gdXNlIHRoZSBMZXNzZXIgR1BMIGluIGNlcnRhaW4gY2FzZXMuIEFuZCBzb21ldGltZXMg ZXZlbiB0byB1c2UKPiBwZXJtaXNzaXZlIGxpY2Vuc2VzIGlmZiBpdCBzb2x2ZXMgbW9yZSBzZXJp b3VzIHByb2JsZW1zIHRoYW4gbm9uLWZyZWUKPiBzb2Z0d2FyZSwgbGlrZSBzb2Z0d2FyZSBwYXRl bnRzLiBJLmUuIHpsaWIgYW5kIGxpbnBuZyBhcmUgYmxlc3NlZCBieQo+IEZTRiB0byBiZSB1bmRl ciBhIHBlcm1pc3NpdmUgbGljZW5zZS4KCldlbGwsIGluIG15IGNhc2UsIEkgaGF2ZSByZWxlYXNl ZCBhbGwgbXkgc29mdHdhcmUgdW5kZXIgdGhlIFgxMUwgKGFuZCAKcHJldmlvdXNseSB0aGUgcHVy ZSAiUHVibGljIERvbWFpbiIsIGhvd2V2ZXIgZGVmaW5lZCkuIFNvIGZhciBpdCB3b3JrZWQgCnBl cmZlY3RseSB3ZWxsOiBJJ3ZlIGhhZCBtYW55IHVzZXJzLCBtYW55IGNvbnRyaWJ1dG9ycyBvciBw ZW9wbGUgd2hvIGNvbW1lbnRlZCAKb24gaXQgb3IgYXNrZWQgbWUgZm9yIHF1ZXN0aW9ucyBhYm91 dCBpdCwgb3IgZW1haWxlZCBtZSB0byB0aGFuayBtZSBhYm91dCBpdDsgCnNvbWUgb2YgbXkgcHJv Z3JhbXMgaGF2ZSBhbHNvIGJlZW4gaW50ZWdyYXRlZCBpbiBzb21lIGxhcmdlciB3b3JrcyAtIGJv dGggRk9TUyAKYW5kIG5vbi1GT1NTOyBhbmQgc29tZSBvZiB0aGVtIGhhdmUgYmVlbiByZS1kaXN0 cmlidXRlZCBieSBGT1NTIGRpc3RyaWJ1dG9ycy4KCkkgaGF2ZSB5ZXQgdG8gZmluZCBhIHByb2Js ZW0gZG9tYWluIGZvciB3aGljaCBJIGVuZGVkIHVwIGNob29zaW5nIGEgbW9yZSAKcmVzdHJpY3Rp dmUgbGljZW5jZS4gSSByZXNwZWN0IHBlb3BsZSB3aG8gb3B0IHRvIHVzZSB3ZWFrLWNvcHlsZWZ0 IG9yIHN0cm9uZy0KY29weWxlZnQgbGljZW5jZXMgKGxpa2UgSSByZXNwZWN0IGRldmVsb3BlcnMg b2Ygbm9uLWZyZWUgb3Igbm90LWVudGlyZWx5LWZyZWUgCnNvZnR3YXJlKSwgYnV0IHNvIGZhciBJ IGRpZG4ndCBmaW5kIGEgbmVlZCBmb3IgYW55dGhpbmcgY29weWxlZnQuCgo+IAo+ID4gPiA5KSBV bmZvcnR1bmF0ZWx5IHRoZSBzZWN0aW9uICJCYWQgSWRlYSBOby4gNjogVXNpbmcgdGhlIEdQTCBv ciB0aGUKPiA+ID4gTEdQTCIgZGVlcGx5IHBsYWNlcyB0aGUgd2hvbGUgYXJ0aWNsZSBpbnRvIHRo ZSB0cm9sbCBjYXRlZ29yeS4gSXQgc2VlbXMKPiA+ID4geW91IGFyZSB2ZXJ5IGNvbmZ1c2VkLiBP biBvbmUgaGFuZCB5b3UgdXNlIHRoZSBGcmVlIFNvZnR3YXJlIGRlZmluaXRpb24KPiA+ID4gYnkg RlNGLCBhbmQgb24gdGhlIG90aGVyIGhhbmQgeW91IGRpc21pc3MgdGhlIGxpY2VuY2VzIHRoYXQg aW1wbGVtZW50Cj4gPiA+IHRoaXMgRlNGIGRlZmluaXRpb24gaW4gdGhlIG1vc3Qgb3B0aW1hbCwg cHJhY3RpY2FsIGFuZCBwcmVzZXJ2aW5nIHdheS4KPiA+ID4KPiA+ID4gVGhpcyBzZWN0aW9uIGFs c28gc291bmRzIGFzIEZVRC4gSWYgeW91IGRvbid0IHVuZGVyc3RhbmQgR1BMIGFzIHlvdSBzYXkK PiA+ID4gKGFsdGhvdWdoIGl0IGlzIGNyeXN0YWwgY2xlYXI7IGVuZm9yY2UgdGhlIDQgc29mdHdh cmUgZnJlZWRvbXMgZm9yIGFueQo+ID4gPiBldm9sdXRpb24gb2YgdGhlIHByb2dyYW0sIHVzaW5n IGxlZ2FsIGxhbmd1YWdlKSwgeW91IHNob3VsZCBub3Qgd3JpdGUKPiA+ID4gYW4gYXJ0aWNsZSBh Ym91dCBGT1NTIExpY2Vuc2VzIGFuZCBzdGFydCB1bm5lZWRlZCB3YXJzLiBTb3JyeSB0byBzYXkK PiA+ID4gdGhpcy4KPiA+Cj4gPiBJc24ndCBpdCBhZ2FpbiBhbgo+ID4gaHR0cDovL3d3dy5uaXpr b3Iub3JnL2ZlYXR1cmVzL2ZhbGxhY2llcy9hZC1ob21pbmVtLXR1LXF1b3F1ZS5odG1sID8KPiAK PiBBbnkgdGVjaG5pY2FsIGFyZ3VtZW50IChpbmNsdWRpbmcgbWluZSkgdGhhdCB1c2VzIHNvbWUg a2luZCBvZiBsb2dpYwo+IG1heSBiZSBwcmVzZW50ZWQgYXMgQUhUUS4gU2VlbXMgdXNlbGVzcyBm b3IgbWUsIGlmIEkgY2FuJ3Qgc3VwcG9zZSB5b3UKPiBhcmUgYSBmcmVlIHNvZnR3YXJlIHN1cHBv cnRlciBhbmQgYXJlIG5vdCBhIGh5cG9jcml0ZS4KPiAKPiBBbmQgb25jZSBJIHN1cHBvc2UgdGhp cywgYW5kIHdlIGJvdGggYWdyZWUgdGhhdCBHUEwgaXMganVzdCBhIHRlY2huaWNhbAo+IGxlZ2Fs IHdheSB0byBlbmZvcmNlIHNvZnR3YXJlIGZyZWVkb21zIGZvciBhbnkgZXZvbHV0aW9uIG9mIHRo ZSBwcm9ncmFtLAo+IHRoZW4gaXQgYmVjb21lcyB2ZXJ5IHVuY2xlYXIgZm9yIG1lIHdoeSB5b3Ug d3JvdGUgdGhpcyBzZWN0aW9uLiBIb3cgd291bGQKPiB5b3UgZXhwcmVzcyBteSBmZWVsaW5ncyBp biBhIGRpZmZlcmVudCB3YXk/Cj4gCgpXZWxsLCBJIGRpc2xpa2UgdGhlIEdQTCBhbmQgTEdQTCBk dWUgdG8gdGhlaXIgaW5oZXJlbnQgY29tcGxleGl0eSwgdGhlaXIgbGFjayAKb2YgY29tcGF0aWJp bGl0eSB3aXRoIG1hbnkgb3RoZXIgbGljZW5jZXMgYW5kIHRoZWlyIGFkZGl0aW9uYWwgcmVzdHJp Y3Rpb25zIAphYm92ZSB0aGUgZ2VuZXJhbCBzcGlyaXQgb2YgY29weWxlZnQuIFRoYXQncyB3aHkg SSByZWNvbW1lbmRlZCBhZ2FpbnN0IHRoZW0uIAoKTXkgcmVjb21tZW5kYXRpb24gYWdhaW5zdCB0 aGVtIGRvZXMgbm90IGludmFsaWRhdGUgdGhlIGVudGlyZSBhcnRpY2xlIGFzIGEgCndob2xlLgoK PiA+IFdoaWxlIEkgZGlkIG5vdCB1bmRlcnN0YW5kIHRoZSBHUEwncyB0ZXh0LCBJIGRvIHVuZGVy c3RhbmQgbW9zdCBvZiBpdHMKPiA+IGltcGxpY2F0aW9ucywgYW5kIEkgZG9uJ3QgbGlrZSB0aGVt LiBJIGtub3cgR1BMdjIgaXMgaW5jb21wYXRpYmxlIHdpdGgKPiA+IEdQTHYzIGFuZCB3aXRoIExH UEx2MyBhbmQgdGhhdCBib3RoIHRoZSBHUEx2MiBhbmQgdGhlIEdQTHYzIGFyZQo+ID4gaW5jb21w YXRpYmxlIHdpdGggbWFueSBvdGhlciBmcmVlIHNvZnR3YXJlIGxpY2VuY2VzLgo+IAo+IEFuZCBp ZiB3ZSBleGNsdWRlIHRoaXMgaW5jb21wYXRpYmlsaXR5IGFyZ3VtZW50LCBzaW5jZSBhcyBJIHNh aWQsIHRoaXMKPiBpcyBhbiBpbnZlbnRlZCBwcm9ibGVtPyBHUEwgaGFzIHJldmlzaW9ucywgdGhp cyBpcyBrbm93biBmb3IgYW55Ym9keSBpbgo+IGFkdmFuY2UsIHRoaXMgc2hvdWxkIG5vdCBjb21l IGF0IHN1cnByaXNlLiBUaGUgaG93LXRvLWFwcGx5IHBhcnQgb2YgdGhlCj4gbGljZW5zZSBpdHNl bGYgc3VnZ2VzdHMgdGhlIHBlcmZlY3Qgc29sdXRpb24gZm9yIHRoaXMuIE1vc3Qgb2YgdGhlIEdQ TAo+IHNvZnR3YXJlIHVzZXMgdGhpcyBzb2x1dGlvbiAoaW5jbHVkaW5nIGFib3V0IDYwJSBvZiBs aW51eCBrZXJuZWwgY29kZSkKCnRoZSBvdGhlciA0MCUgb2YgdGhlIExpbnV4IGtlcm5lbCBjb2Rl IGlzIG5vdCBleGFjdGx5IG5lZ2xpZ2libGUgb3IgZWFzeSB0byAKcmUtaW1wbGVtZW50IGFnYWlu LiAKCj4gdGhhdCBpcyAib3IgbGF0ZXIiIHdvcmRpbmcuIFNvIHRoaXMgaXMgbm90IGEgcHJvYmxl bSwgb3IgYXQgbGVhc3QgYQo+IHBlcmZlY3RseSBzb2x2YWJsZSBwcm9ibGVtLiBBbmQgbWFueSBG T1NTIGFkdm9jYXRlcyB0aGluayBzaW1pbGFybHk6Cj4gCj4gIAo+ICBodHRwOi8vaXRtYW5hZ2Vt ZW50LmVhcnRod2ViLmNvbS9vc3JjL2FydGljbGUucGhwLzEyMDY4XzM4MDMxMDFfMi9CcnVjZS1Q ZQo+IHJlbnMtSG93LU1hbnktT3Blbi1Tb3VyY2UtTGljZW5zZXMtRG8tWW91LU5lZWQuaHRtCj4g Cj4gSXQgd291bGQgYmUgbXVjaCBtb3JlIHByb2R1Y3RpdmUgaWYgcGVvcGxlIGp1c3Qgc3RvcHBl ZCB0aGlzIGludmVudGVkCj4gIkdQTCBpcyBub3QgY29tcGF0aWJsZSIgYXJndW1lbnQuIE1vc3Qg b2YgdGhlIEZPU1MgbGluY2Vuc2VzIGluIGFjdHVhbAo+IHVzZSBhcmUgY29tcGF0aWJsZSB3aXRo IHRoZSBsYXRlc3QgR1BMIHJldmlzaW9uLCBqdXN0IGFjY2VwdCB0aGlzIGZhY3QuCgpJIHN0aWxs IHRoaW5rIHRoYXQgdGhlIGZhY3QgcGVvcGxlIGNhbiBtYWtlIGNvZGUgR1BMdjItb25seSBvciBH UEx2My1hbmQtCmFib3ZlLW9ubHkgKG9yIEdQTHYzLW9ubHkpIGluY3VycyBtdXR1YWwgaW5jb21w YXRpYmlsaXRpZXMgYmV0d2VlbiB0aGVtLCBhbmQgCnRoYXQncyBub3QgYSBnb29kIHRoaW5nLiBU aGlzIHByZXZlbnRzIGNvZGUgcmUtdXNlIGFuZCBwdXRzIGxlZ2FsIGFuZCAKYXJ0aWZpY2lhbCBw cm9ibGVtcyBpbiByZS11c2luZyBvdGhlciBwZW9wbGUncyBjb2RlLCB0aGF0IHN0YW5kIGFnYWlu c3QgdGhlIApIYWNrZXIgRXRoaWNzIHdoaWNoIHNheXMgdGhhdCAiTm8gcHJvYmxlbSBzaG91bGQg ZXZlciBoYXZlIHRvIGJlIHNvbHZlZCAKdHdpY2UiOgoKaHR0cDovL2NhdGIub3JnL35lc3IvZmFx cy9oYWNrZXItaG93dG8uaHRtbCNiZWxpZXZlMgoKPiAKPiA+IEkgYWxzbyB3YXMgdG9sZCB0aGF0 IHRoZSBMR1BMIHJlcXVpcmVzIHRoYXQgYWxsIHByb2dyYW1zIGxpbmtpbmcgdG8KPiA+IGl0IHdp bGwgYmUgYWxsb3dlZCB0byBiZSByZXZlcnNlIGVuZ2luZWVyZWQsIGFuZCB0aGF0IGl0IHdhcwo+ ID4gb3RoZXJ3aXNlIGV4dHJlbWVseSBjb21wbGljYXRlZC4KPiAKPiBSZXZlcnNlIGVuZ2luZWVy aW5nIGlzIG9ubHkgbmVlZGVkIHRvIGFsbG93IG1vZGlmaWNhdGlvbnMgb2YgdGhlIExHUEwnZAo+ IGxpYnJhcnkgaXRzZWxmIHVzZWQgYnkgKGluY2x1ZGVkIGJ5KSB0aGUgcHJvcHJpZXRhcnkgcHJv Z3JhbS4gRG9pbmcKPiByZXZlcnNlIGVuZ2luZWVyaW5nIGZvciBhbnkgb3RoZXIgcHVycG9zZSBp cyBvdXQgb2YgdGhlIHNjb3BlLgo+IAo+IEFuZCBpZiB5b3UgYWxyZWFkeSBzcGVhayBhYm91dCAi cmV2ZXJzZSBlbmdpbmVlcmluZyIsIHRoZW4gaXQgaXMgYm90aAo+IGxlZ2FsIGluIG1vc3Qgb2Yg Y291bnRyaWVzIGFuZCBtb3JhbGx5IG9rLiBBbmQgaGFzIG5vdGhpbmcgdG8gZG8gd2l0aAo+IExH UEwsIG9mIGNvdXJzZSwgYnV0IHdpdGggcHJvcHJpZXRhcnkgcHJvZ3JhbXMgdGhhdCBuZWVkIHRo aXMgYXQgYWxsLgo+IAo+IElmIHlvdSBhcmUgbm90IGEgbGF3ZXIsIHRoZW4gaW5zdGVhZCBvZiBj YWxsaW5nIExHUEwgY29tcGxpY2F0ZWQsIHlvdQo+IG1heSBqdXN0IGFzayBhIGxhd2VyIGFib3V0 IGl0LCBoZSB3aWxsIG1vc3QgY2VydGFpbmx5IGFwcHJlY2lhdGUgdGhlCj4gY2xlYXIgZXhwbGlj aXQgbGVnYWwgbGFuZ3VhZ2UgdXNlZCB0byBleHBsYWluIGFsbCB1c2UgY2FzZXMuCj4gCj4gTEdQ TCBpcyBhY3R1YWxseSB3aGF0IG1vc3Qgb2YgdGhlIHBlb3BsZSwgd2lsbGluZyB0byBjcmVhdGUg bm9uCj4gYWxsLXBlcm1pc3NpdmUgZnJlZSBzb2Z0d2FyZSwgd2hpbGUgc3RpbGwgYWxsb3dpbmcg cHJvcHJpZXRhcnkKPiBwcm9ncmFtcywgd2FudCBhbmQgbmVlZC4gQW55b25lIHdobyB0aGlua3Mg dG8gaW52ZW50IGEgd2VhayBjb3B5bGVmdCBvbgo+IHRvcCBvZiBNSVQgc2hvdWxkIGJldHRlciBq dXN0IHVzZSBMR1BMIGluc3RlYWQsIGFuZCBzYXZlIHRoZSBsYXJnZQo+IGxlZ2FsIHdvcmsgZG9u ZSB0byBtYWtlIExHUEwgd29yayB3aXRob3V0IHByb2JsZW1zLgoKT0suCgo+IAo+ID4gPiAxMCkg IkkgaGFkIG5vIHByb2JsZW0gdW5kZXJzdGFuZGluZyB0aGUgU2xlZXB5Y2F0IGxpY2VuY2UsIHRo ZSBQZXJsCj4gPiA+IEFydGlzdGljIGxpY2VuY2UgWy4uLl0iLgo+ID4gPgo+ID4gPiBBcyB5b3Ug c2VlLCB5b3UgZGlkIGhhdmUgcHJvYmxlbXMgdW5kZXJzdGFuZGluZyB0aGUgU2xlZXB5Y2F0IGxp Y2VuY2UKPiA+ID4gYW5kIHRoZSBQZXJsIEFydGlzdGljIGxpY2VuY2UuIEFuZCB5b3Ugc2F5IHlv dSBkaWRuJ3QgcmVhZCBMR1BMIGFuZCBHUEwKPiA+ID4gdjMuIFlldCB5b3UgZmVlbCB0aGUgbmVl ZCB0byBzdHJvbmdseSBhZHZpc2Ugb24gdGhlIGxpY2Vuc2VzIHRvIG90aGVyCj4gPiA+IHBlb3Bs ZS4KPiA+Cj4gPiBJIGRvbid0IHRoaW5rIEkgZG8uCj4gCj4gRG9lcyBub3QgeW91ciBhcnRpY2xl IGFkdmlzZSBhZ2FpbnN0IG1hbnkgW21ham9yXSBGT1NTIGxpY2Vuc2VzPwo+IAo+IFRoaXMgaXMg cmVhbGx5IGEgcHJvYmxlbS4gTW9zdCBvZiB0aGUgcGVvcGxlIChhbmQgRlNGKSB3b3VsZCBub3Qg c2F5Cj4geW91IGEgd29yZCBhYm91dCB5b3VyIHVzYWdlIG9mIE1JVCBmb3IgeW91ciBjb2RlLCBh cyBsb25nIGFzIGl0IGlzIGZyZWUKPiBzb2Z0d2FyZS4gU28gd2h5IGRvIHlvdSB0ZWxsIG90aGVy IEZPU1MgZGV2ZWxvcGVycyB0aGF0IHRoZXkgZGlkCj4gc29tZXRoaW5nIHdyb25nIGNob29zaW5n IG1vcmUgYXBwcm9wcmlhdGVkIGZvciB0aGVtIGxpY2Vuc2VzPwoKVGhlIEdQTCBhbmQgdGhlIExH UEwgYXJlIHN0aWxsIGJldHRlciB0aGFuIG5vdGhpbmcsIGFuZCBwZW9wbGUgd2hvIHJlbGVhc2Ug CnNvZnR3YXJlIHVuZGVyIHRoZW0gc2hvdWxkIGJlIGNvbW1lbmRlZC4gU29tZXRpbWVzLCB0aGV5 IGFyZSBnb29kIGVub3VnaC4gCkhvd2V2ZXIsIEkgdGhpbmsgYSBiZXR0ZXIgY2hvaWNlIHdvdWxk IGJlIHRvIHVzZSBjb3B5bGVmdCBsaWNlbmNlcyAoYm90aCB3ZWFrIAphbmQgc3Ryb25nKSB0aGF0 IGFyZSBsZXNzIGNvbXBsaWNhdGVkLCBlYXNpZXIgdG8gdW5kZXJzdGFuZCBhbmQgbGVzcyBwb2xp dGljYWwgCmluIG5hdHVyZS4KCkFuZCBzb21lIHBlb3BsZSBoYXZlIGNyaXRpY2lzZWQgbXkgY2hv aWNlIG9mIHRoZSBYMTEgTGljZW5zZSwgbGlrZSBpbXBseWluZyAKdGhhdCBJIHdhcyBhIHN1Y2tl ciAob3IgItek16jXkNeZ15nXqCIgaW4gSGVicmV3KSBzZWU6CgpodHRwOi8vd3d3LnNobG9taWZp c2gub3JnL3BoaWxvc29waHkvY29tcHV0ZXJzL29wZW4tc291cmNlL2dwbC1ic2QtYW5kLQpzdWNr ZXJpc20vCgooc2hvcnQgVVJMOiBodHRwOi8veHJsLnVzL2JmcDdzaiApCgpTb21lIHBlb3BsZSBj bGFpbWVkIEkgd2FzIGRvaW5nIHRoZSB3b3JsZCBhIGRpcy1zZXJ2aWNlIGFuZCB0aGF0IEkgd2Fz IG5vdCAKYmVoYXZpbmcgYWx0cnVpc3RpY2FsbHkgZW5vdWdoIGJ5IG1ha2luZyBteSBzb2Z0d2Fy ZSBYMTFMLCBiZWNhdXNlIHBlb3BsZSBjYW4gCnByZXBhcmUgZGVyaXZlZCBub24tZnJlZSB3b3Jr cy4KClNvIEkgaGF2ZSBiZWVuIGNyaXRpY2lzZWQgZm9yIGl0IGFzIHdlbGwuCgo+IAo+ID4gPiAx MSkgSXQgaXMgbm90IHRydWUgdGhhdCBzaG9ydGVyIGxpY2Vuc2UgdGV4dHMgYXJlIGJldHRlci4g VGhlIHdheSBzaG9ydAo+ID4gPiBwZXJtaXNzaXZlIGxpY2Vuc2VzIHdvcmsgaXMgb25seSBiZWNh dXNlIG9mIHRoZSBjb21tb24gcHJhY3RpY2Ugb2YKPiA+ID4gdXNpbmcgdGhlc2UgbGljZW5zZXMs IHdpdGhvdXQgd2hpY2ggdGhlaXIgc2hvcnQgdGV4dCB3b3VsZCBiZQo+ID4gPiBpbmFkZWN2YXRl Lgo+ID4KPiA+IEkgYWdyZWUgb24gcHJpbmNpcGxlIHRoYXQgc2hvcnRlciBtYXkgbm90IGJlIGJl dHRlci4gQnV0IHdoYXQncyB3cm9uZwo+ID4gd2l0aCB0aGUgTUlUL1gxMSBsaWNlbmNlPyBJdCBz cGVjaWZpY2FsbHkgYWxsb3dzIHN1Yi1saWNlbnNpbmcgZm9yCj4gPiBleGFtcGxlLgo+IAo+IFRo ZSBNSVQgTGljZW5zZSBjb250YWlucyB0aGlzIHdvcmRpbmcgYWJvdXQgc3VibGljZW5zZSBhbmQg c29tZSBvdGhlcgo+IGNvbW1vbiB1c2UgY2FzZXMsIGJ1dCBCU0RMIGRvZXMgbm90IGNvbnRhaW4g aXQuIFlvdSBhcmUgZnJlZSB0byB2ZXJpZnkuCj4gU28gTUlUIExpY2Vuc2UgaXMgcmVsYXRpdmVs eSBleHBsaWNpdCwgYW5kIHRoaXMgaXMgYSBnb29kIHRoaW5nLgoKT0suIDotKQoKWWVzLCBJIHJl YWxpc2UgdGhlIEJTREwgZG9lcyBub3QgY29udGFpbiBhbiBleHBsaWNpdCBsYW5ndWFnZSBhYm91 dCBzdWItCmxpY2Vuc2luZy4gCgo+IAo+ID4gPiBJZiB5b3UgZG9uJ3QgYmVsaWV2ZSBtZSwgdGhp bmsgYWJvdXQgY2xhaW1zIG9mIE9wZW5CU0QgcGVvcGxlIHNvbWUKPiA+ID4geWVhcnMgYWdvIHRo YXQgYWxsIGJvaWxlZCBkb3duIHRvIGRpZmZlcmVudCBpbnRlcnByZXRhdGlvbiBvZiB0aGlzCj4g PiA+IHNob3J0IHRleHQuCj4gPgo+ID4gVVJMLCBwbGVhc2UuCj4gCj4gaHR0cDovL3d3dy5saW51 eC13YXRjaC5jb20vbmV3cy9OUzI5MDIxMDY0MDQuaHRtbAo+IAo+ID4gPiBJLmUuIGlmIHRoZSB0 ZXh0IGRvZXMgbm90IG1lbnRpb24gYSBwb3NzaWJpbGl0eSB0byAiZWZmZWN0aXZlbHkKPiA+ID4g cmVsaWNlbnNlIiB0aGUgZGVyaXZhdGl2ZSBjb2RlIG9yIG1vZGlmaWNhdGlvbnMsIHRoZW4gaXQg aXMgbm90Cj4gPiA+IGFsbG93ZWQuIEhvd2V2ZXIgaXQgaXMgYSBjb21tb24gYmVsaWV2ZSB0aGF0 IGl0IGlzIGFsbG93ZWQgYW5kIHRoaXMgaXMKPiA+ID4gd2hhdCBtYWtlcyB0aGVzZSBsaWNlbnNl cyBwZXJtaXNzaXZlLiBCZWZvcmUgeW91IHN0YXJ0IHRvIGFyZ3VlLCBwbGVhc2UKPiA+ID4gcmVh ZCB0aGlzIGRvY3VtZW50IGZ1bGx5IGFuZCB0aG9yb3VnaGx5IHRoYXQgdXNlcyAiaGlzdG9yaWNh bCBjb21tdW5pdHkKPiA+ID4gcHJhY3RpY2UiLCAidW5pbnRlcnJ1cHRlZCwgbG9uZ3N0YW5kaW5n IHByYWN0aWNlIiBhcyB0aGUgb25seSBhcmd1bWVudAo+ID4gPiBmb3IgY29tcGF0aWJpbGl0eSBi ZXR3ZWVuIHNob3J0IHBlcm1pc3NpdmUgbGljZW5zZXMgYW5kIEdQTDoKPiA+ID4KPiA+ID4gaHR0 cDovL3d3dy5zb2Z0d2FyZWZyZWVkb20ub3JnL3Jlc291cmNlcy8yMDA3L2dwbC1ub24tZ3BsLWNv bGxhYm9yYXRpb24KPiA+ID4uaHRtbAo+ID4KPiA+IEhvcGVmdWxseSwgSSdsbCByZWFkIGl0IGxh dGVyLCBidXQgSSBoYXZlIG90aGVyIHByaW9yaXRpZXMuCj4gCj4gVGhpcyBkb2N1bWVudCBleHBs YWlucyBob3cgdG8gImVmZmVjdGl2ZWxseSByZWxpY2Vuc2UiIHRoZSBldm9sdmVkIGNvZGUKPiAo aS5lIG1vZGlmaWNhdGlvbnMpIGZyb20gYSBwZXJtaXNzaXZlIGxpY2Vuc2UgaW50byBHUEwsIGFu ZCBpdCBsaXN0cwo+IHNldmVyYWwgZGlmZmVyZW50IHdheXMsIHRoZSBtb3N0IHJhZGljYWwgaXMg dG8gYWRkIGEgR1BMIGhlYWRlciBvbiB0b3AKPiBvZiBCU0RMIGhlYWRlci4KPiAKPiBTbywgYmFz aWNhbGx5LCBsaW51eCBrZXJuZWwgZGV2ZWxvcGVycyBoYWQgdmFsaWQgd2F5cyB0byBldm9sdmUg dGhlCj4gY29kZSB1bmRlciBHUEwsIGJ1dCB0aGV5IGRlY2lkZWQgdG8gYmUgbmljZSB0byBPcGVu QlNEIGJyb3RoZXJzLgo+IAo+IFRoZXJlIHdlcmUgdG9vIG1hbnkgY2xhaW1zIGZyb20gc29tZSBC U0RMIHN1cHBvcnRlcnMgdGhhdCBjaGFuZ2luZyB0aGUKPiBsaWNlbnNlIGlzIGp1c3Qgbm90IGFs bG93ZWQsIHNpbmNlIEJTREwgZG9lcyBub3QgYWxsb3cgYW55IHJlbGljZW5zaW5nLAo+IGFuZCB0 aGUgY29kZSBvbmNlIEJTREwtZWQgYWx3YXlzIHN0YXlzIHN1Y2guCj4gCj4gVGhpcyBpcyBhIHZl cnkgdmFsaWQgYW5kIHVuZGVyc3RhbmRhYmxlIHdpbGxpbmcsIGJ1dCB0aGUgd3JvbmcgdG9vbAo+ IChCU0RMKSBpcyBjaG9vc2VuIGZvciB0aGlzLiBMR1BMIHdvdWxkIHN1aXQgdGhpcyB3aWxsaW5n IG5pY2VseS4KPiAKClJpZ2h0LgoKPiA+ID4gU28gYSBzaG9ydGVyIHRleHQganVzdCBtZWFucyBt b3JlIHdheXMgZm9yIGRpZmZlcmVudCBpbnRlcnByZXRhdGlvbnMuIEEKPiA+ID4gY2xlYXIgZXhw bGljaXQgZXhwbGFuYXRpb24gb2YgYWxsIHVzZSBjYXNlcyBpcyBhbHdheXMgbGVzcyBwcm9ibGVt YXRpYy4KPiA+ID4gU3BlY2lmaWNhbGx5LCBleHBsYWluaW5nIHRoZSBpZGVhIHVuZGVyIHRoZSBs aWNlbnNlIGluIHRoZSBsaWNlbnNlIHRleHQKPiA+ID4gbWFrZXMgaXQgbW9yZSBjbGVhciBhbmQg aGVscHMgdG8gYXZvaWQgaW5jb3JyZWN0IGludGVycHJldGF0aW9ucy4KPiA+Cj4gPiBPSy4KPiAK PiBUaGlzIG1lc3NhZ2UgaXMgbGVuZ3RoeSwgYnV0IGl0IHNob3VsZCBzdGlsbCB3ZWlnaHQgbGVz cyB0aGFuIHRoZQo+IHBhcmVudCBtZXNzYWdlLCBzaW5jZSB5b3UgcG9zdGVkIGl0IGluIGh0bWws IG1ha2luZyBpdCBtb3JlIHRoYW4gMwo+IHRpbWVzIGJpZ2dlciB0aGFuIG5lZWRlZC4KClllcywg dGhhdCB3YXMgYSBtaXMtY29uZmlndXJhdGlvbiBvZiBLTWFpbCwgdGhhdCBoYXMgYmVlbiBmaXhl cyBzaW5jZSB0aGVuLgoKSGFwcHkgU3Vra290aCEKClJlZ2FyZHMsCgoJU2hsb21pIEZpc2gKCi0t IAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQpTaGxvbWkgRmlzaCAgICAgICBodHRwOi8vd3d3LnNobG9taWZpc2gub3JnLwoi U3RhciBUcmVrOiBXZSwgdGhlIExpdmluZyBEZWFkIiAtIGh0dHA6Ly9zaGxvbS5pbi9zdC13dGxk CgpDaHVjayBOb3JyaXMgcmVhZCB0aGUgZW50aXJlIEVuZ2xpc2ggV2lraXBlZGlhIGluIDI0IGhv dXJzLiBUd2ljZS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkxpbnV4LWlsIG1haWxpbmcgbGlzdApMaW51eC1pbEBjcy5odWppLmFjLmlsCmh0dHA6Ly9t YWlsbWFuLmNzLmh1amkuYWMuaWwvbWFpbG1hbi9saXN0aW5mby9saW51eC1pbAo=