[[email protected]: Re: backtracking HTML templating]
Kragen Javier Sitaker <[email protected]> Fri, 13 Apr 2012 10:33:31 -0400
| Newsgroups | gmane.culture.people.kragen.discuss |
|---|---|
| Message-ID | <[email protected]> |
T29wcy4KCi0tLS0tIEZvcndhcmRlZCBtZXNzYWdlIGZyb20gSm9obmljaG9sYXMgSGluZXMgPGpv aG5pY2hvbGFzLmhpbmVzQGdtYWlsLmNvbT4gLS0tLS0KCkRhdGU6IEZyaSwgMTMgQXByIDIwMTIg MDg6MzA6MzkgLTA0MDAKRnJvbTogSm9obmljaG9sYXMgSGluZXMgPGpvaG5pY2hvbGFzLmhpbmVz QGdtYWlsLmNvbT4KVG86IEtyYWdlbiBKYXZpZXIgU2l0YWtlciA8a3JhZ2VuQGNhbm9uaWNhbC5v cmc+ClN1YmplY3Q6IFJlOiBiYWNrdHJhY2tpbmcgSFRNTCB0ZW1wbGF0aW5nCgpJIHRyaWVkIHRv IHNlbmQgdGhpcyB0byBrcmFnZW4tZGlzY3VzcywgYnV0IGl0IHdhcyByZWplY3RlZC4KCk9uIEZy aSwgQXByIDEzLCAyMDEyIGF0IDg6MjAgQU0sIEpvaG5pY2hvbGFzIEhpbmVzIDwKam9obmljaG9s YXMuaGluZXNAZ21haWwuY29tPiB3cm90ZToKCj4gVGhlIHdheSB5b3UgaGFuZGxlIGxvb3BzIHNl ZW1zIGRpZmZlcmVudCBmcm9tIFByb2xvZy4KPiBJZiBJIHVuZGVyc3RhbmQgY29ycmVjdGx5LCB0 aGVyZSBhcmUgdHdvIHdheXMgUHJvbG9nIGRvZXMgbG9vcHM6IHZpYQo+IHJlY3Vyc2lvbiBsaWtl IGluIGEgZnVuY3Rpb25hbCBwcm9ncmFtbWluZyBsYW5ndWFnZSwgZGVjb21wb3NpbmcgYQo+IHN0 cnVjdHVyZWQgbGlzdCBvciBhbiBpbnRlZ2VyLCBvciB1c2luZyAncmVwZWF0Jywgd2hpY2ggcGxh eXMgd2l0aCB0aGUKPiBmb3VyLXBvcnQgbW9kZWwgb2YgYmFja3RyYWNraW5nLgo+IEkgY2FuJ3Qg c2VlIHdoYXQgdGVjaG5pcXVlIHdvdWxkIGJlIG1vcmUgYWR2YW50YWdlb3VzLCBidXQgbG9va2lu ZyBhdCB0aGUKPiBhbHRlcm5hdGl2ZXMgbWlnaHQgYmUgaW50ZXJlc3RpbmcuCj4KPiBBIGxpdHRs ZSBnb29nbGluZyByZXZlYWxzIHRoYXQgdGhlcmUgaXMgYSB3ZWJieSBsb2dpYyBwcm9ncmFtbWlu ZyB0b29sCj4gY2FsbGVkIFBpbGxvdy4KPiBodHRwOi8vd3d3LmNsaXAuZGlhLmZpLnVwbS5lcy9T b2Z0d2FyZS9waWxsb3cvCj4gQWx0ZXJuYXRpdmVseSwgeW91IGNvdWxkIGRvIGJhY2t0cmFja2lu ZyB3aXRoIE1vbmFkUGx1cyBpbiBIYXNrZWxsLCBhbmQKPiBjb25uZWN0IGl0IHRvIHRoZSB3ZWIg dXNpbmcgc29tZXRoaW5nIGxpa2UgSGFwcFN0YWNrOgo+IGh0dHA6Ly9oYXBwc3RhY2suY29tL2Rv Y3MvY3Jhc2hjb3Vyc2UvaW5kZXguaHRtbAo+Cj4gV2h5IGlzIGl0IHZhbHVhYmxlIChJJ20gbm90 IGNvbnRlc3RpbmcgdGhhdCBpdCBpcyB2YWx1YWJsZSkgdG8gZG8KPiBiYWNrdHJhY2tpbmcgaW4g Zm9ybWF0dGluZz8KPiBJcyBpdCBzb21ldGhpbmcgYWJvdXQgdGhlIHByYWdtYXRpY3Mgb2Ygc3Bl ZWNoPwo+IEZvciBleGFtcGxlLCBpZiBzb21lb25lIHNheXMgIkkgaGF2ZSBhIGJ1cyB0byBjYXRj aCwgaG93IGRvIEkgZ2V0IHRvIHRoZQo+IGJ1cyBzdGF0aW9uPyIsCj4gYSByZWFzb25hYmxlIHBy YWdtYXRpYyByZXNwb25zZSB3b3VsZCBiZSBib3RoIGRpcmVjdGlvbnMgYW5kLAo+IGlmIGl0IGlz IGEgaG9saWRheSBhbmQgdGhlIGJ1cyBpcyBub3QgcnVubmluZywgdGhlIGluZm9ybWF0aW9uIHRo YXQgdGhlCj4gYnVzIGlzIG5vdCBydW5uaW5nLgo+IFRoZXJlJ3MgYSBzcGVha2VyL2xpc3RlbmVy IGdhbWUsIHdoZXJlIGEgc3BlYWtlciBkb2VzIGJldHRlciBpZiB0aGV5IGhhdmUKPiBhIG1vZGVs IG9mIGhvdyB0aGUgbGlzdGVuZXIgd2lsbCBpbnRlcnByZXQgd2hhdCB0aGV5IHNheToKPiBodHRw Oi8vd3d3LmFjbHdlYi5vcmcvYW50aG9sb2d5L0QvRDEwL0QxMC0xMDQwLnBkZgo+Cj4gQ2FuIHdl IG1ha2Ugc29tZSBzb3J0IG9mIEdyaWNlIGltcGxpY2F0dXJlIG1vZGVsIG9mIHRoZSB3ZWIgcGFn ZSByZWFkZXIsCj4gYW5kIHVzZSBpdCB0byBleHBsYWluIHdoYXQgd2VudCB3cm9uZyB3aXRoIHRo ZSBub24tYmFja3RyYWNraW5nIGZvcm1hdHRpbmc/Cj4gRm9yIGV4YW1wbGUsIGlmIHlvdSBqdXN0 IGxlYXZlIG9mZiB0aGUgYXV0aG9yIGluZm9ybWF0aW9uLCByYXRoZXIgdGhhbgo+IGV4cGxpY2l0 bHkgbWFya2luZyAiTm8gYXV0aG9yIGF2YWlsYWJsZSIsIHRoZW4gdGhlIGxpc3RlbmVyLCBsZWFu aW5nIG9uIGEKPiBwcmVzdW1wdGlvbiB0aGF0IHRoZSB3ZWIgc2l0ZSBpcyBjb29wZXJhdGluZywg bWlnaHQgcHJlc3VtZSB0aGF0IHRoZSB3ZWIKPiBzaXRlIGdlbmVyYWxseSBkb2VzIG5vdCBoYXZl IGF1dGhvciBpbmZvcm1hdGlvbi4KPiBTYXlpbmcgIk5vIGF1dGhvciBhdmFpbGFibGUiIGlzIGFj dGl2ZWx5IGNhbmNlbGxpbmcgdGhhdCBwcmVzdW1wdGlvbiwgdG8KPiBjcmVhdGUgYSBtb3JlIGFj Y3VyYXRlIHNjaGVtYSBvZiB3aGF0IHRoZSB3ZWIgc2l0ZSBnZW5lcmFsbHkgcHJvdmlkZXMuCj4K PiBKb2huaWNob2xhcwo+Cj4gT24gRnJpLCBBcHIgMTMsIDIwMTIgYXQgMTI6MzAgQU0sIEtyYWdl biBKYXZpZXIgU2l0YWtlciA8Cj4ga3JhZ2VuQGNhbm9uaWNhbC5vcmc+IHdyb3RlOgo+Cj4+IFRo aXMgaXMgYW4gaWRlYSBvcmlnaW5hbGx5IGZyb20gMjAxMC0wNC0wOCB0aGF0IEkganVzdCBuZXZl ciBnb3QKPj4gYXJvdW5kIHRvIHB1Ymxpc2hpbmcgdW50aWwgbm93Lgo+Pgo+PiBOb3cgdGhhdCBJ 4oCZdmUgd3JpdHRlbiB0aGUgYmVsb3csIEnigJltIHRlbXB0ZWQgdG8gdHJ5IHRvIGhhY2sgdGhp cwo+PiB0b2dldGhlciB0b25pZ2h0LCBidXQgSSB0aGluayBJIHNob3VsZCBwcm9iYWJseSBzbGVl cCBpbnN0ZWFkLCBhbmQKPj4gbWF5YmUgZG8gdGhpcyBvbiB0aGUgd2Vla2VuZC4KPj4KPj4gTW90 aXZhdGlvbgo+PiAtLS0tLS0tLS0tCj4+Cj4+IFRoaXMgd2VlayBJ4oCZdmUgYmVlbiB3b3JraW5n IG9uIGEgYmlibGlvZ3JhcGhpYyB3ZWJzaXRlLCB3aGljaCwgYW1vbmcKPj4gb3RoZXIgdGhpbmdz LCByZW5kZXJzIGNpdGF0aW9ucyBpbnRvIEhUTUwuICBBbmQgdGhpcyBpcyByZXN1bHRpbmcgaW4K Pj4gbWUgd3JpdGluZyBhIGxvdCBvZiBIQU1MIHRlbXBsYXRlcyB0aGF0IHNheSB0aGluZ3MgbGlr ZToKPj4KPj4gICAgLSBpZiBAcHVibGljYXRpb24uYm9va3RpdGxlPwo+PiAgICAgIEluICN7cHVi bGljYXRpb24uYm9va3RpdGxlfS4KPj4gICAgLSBpZiBAcHVibGljYXRpb24ubW9udGg/Cj4+ICAg ICAgI3tAcHVibGljYXRpb24ubW9udGh9ICN7QHB1YmxpY2F0aW9uLnllYXJ9Lgo+Pgo+PiBUaGUg Z2VuZXJhbCBwYXR0ZXJuIGhlcmUgaXMgdGhhdCB0aGVyZSBhcmUgb25lIG9yIG1vcmUgcHJvcGVy dGllcyB0aGF0Cj4+IG5lZWQgdG8gYmUgcHJlc2VudCwgYW5kIGlmIHRoZXnigJlyZSBwcmVzZW50 LCB3ZSBmb3JtYXQgdGhlbSB0b2dldGhlciwKPj4gYWxvbmcgd2l0aCBzb21lIG90aGVyIHdpbmRv dyBkcmVzc2luZyBpbnRlbmRlZCB0byBmb3JtYXQgdGhlbQo+PiBwcm9wZXJseS4gIEJ1dCB0aGlz IGludm9sdmVzIGEgbG90IG9mIHZlcnkgbG9jYWwgZHVwbGljYXRpb24gaW4gdGhlCj4+IGNvZGUs IGFuZCBldmVuIHRob3VnaCB0aGF0IGR1cGxpY2F0aW9uIGlzIGxvY2FsLCBpdCBpcyBzdGlsbAo+ PiBlcnJvci1wcm9uZTsgY29uc2lkZXIgd2hhdCBoYXBwZW5zIGluIHRoZSBhYm92ZSBjYXNlIGlm IHRoZSB5ZWFyIGlzCj4+IG1pc3NpbmcuCj4+Cj4+IE5vdywgYXNpZGUgZnJvbSB0aGUgcXVlc3Rp b24gb2Ygd2hldGhlciB0aGVyZSBhcmUgYWxyZWFkeSBleGlzdGluZwo+PiBCaWJUZVggSFRNTCBm b3JtYXR0ZXJzIGZvciBSYWlscywgdGhpcyBpcyBhbiBpbnRlcmVzdGluZyBraW5kIG9mCj4+IHBy b2JsZW0gdG8gc29sdmUuCj4+Cj4+IEludHJvZHVjaW5nIHRoZSBzb2x1dGlvbjogYW4gZXhhbXBs ZQo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4KPj4gU28gSSByZW1l bWJlcmVkIHRoaXMgdGhpbmcgSeKAmWQgd3JpdHRlbiB1cCBpbiBhIG5vdGVib29rIGEgY291cGxl IG9mCj4+IHllYXJzIGFnbywgdW5kZXIgdGhlIG5hbWUgIkJhY2t0cmFja2luZyBIVE1MIFRlbXBs YXRlcyIsIHdoaWNoIG1ha2VzCj4+IHRoYXQga2luZCBvZiB0aGluZyB2ZXJ5IHNpbXBsZSwgYW5k IGVsaW1pbmF0ZXMgdGhlIGR1cGxpY2F0aW9uLgo+PiBIZXJl4oCZcyBhIHByZXNlbnRhdGlvbiBi eSBleGFtcGxlOgo+Pgo+PiAgICBJbiAkYm9va3RpdGxlLjw7PiAkbW9udGggJHllYXIuPDs+Cj4+ Cj4+IFRoaXMgdGVtcGxhdGUgY29uc2lzdHMgb2YgdGhyZWUgInRyYW5zYWN0aW9ucyIsIHNlcGFy YXRlZCBieSBgPDs+YC4KPj4gVGhlIGZpcnN0IG9uZSBjb25jYXRlbmF0ZXMgIkluICIsIHRoZSB2 YWx1ZSBvZiB0aGUgdmFyaWFibGUKPj4gYGJvb2t0aXRsZWAsIGFuZCAiLiIuICBJZiBpdCBzdWNj ZWVkcywgdGhhdCBjb25jYXRlbmF0aW9uIHdpbGwgYmUKPj4gZW1pdHRlZC4gIElmIGl0IGZhaWxz LCBub3RoaW5nIGlzIGVtaXR0ZWQgZm9yIHRoYXQgdHJhbnNhY3Rpb24uICBJdAo+PiB3aWxsIGZh aWwgaWYgYW55IG9mIHRoZSB0aHJlZSB0aGluZ3MgaXTigJlzIGNvbmNhdGVuYXRpbmcgZmFpbC4g IFR3byBvZgo+PiB0aGVtIGFyZSBsaXRlcmFsIHN0cmluZ3MsIHdoaWNoIGFsd2F5cyBzdWNjZWVk LCBidXQgdGhlIG1pZGRsZSBvbmUgaXMKPj4gYSB2YXJpYWJsZSByZWZlcmVuY2UsIHdoaWNoIHdp bGwgb25seSBzdWNjZWVkIGlmIHRoZSB2YXJpYWJsZSBpcyBzZXQuCj4+IFRoZSBzZWNvbmQgdHJh bnNhY3Rpb24gaXMgc2ltaWxhciwgYnV0IGl0IGludGVycG9sYXRlcyB0d28gdmFyaWFibGVzCj4+ IGluc3RlYWQgb2Ygb25lLCBzbyBpdCBmYWlscyB1bmxlc3MgKmJvdGgqIHZhcmlhYmxlcyBhcmUg c2V0LiAgVGhlCj4+IHRoaXJkIHRyYW5zYWN0aW9uIGlzIHRoZSBlbXB0eSBzdHJpbmcgYWZ0ZXIg dGhlIHNlY29uZCBgPDs+YCwgd2hpY2ggaXMKPj4gYm9yaW5nIGJ1dCB3b3J0aCBtZW50aW9uaW5n Lgo+Pgo+PiBBIGxvbmdlciBleGFtcGxlCj4+IC0tLS0tLS0tLS0tLS0tLS0KPj4KPj4gVGhpcyBz aG93cyBvZmYgdGhlIGZ1bGwgZmVhdHVyZSBzZXQgb2YgdGhpcyB0ZW1wbGF0aW5nIGxhbmd1YWdl LAo+PiBhbGJlaXQgaW4gYSBmYWlybHkgYXJ0aWZpY2lhbCBzZXR0aW5nOgo+Pgo+PiAgICA8IURP Q1RZUEUgaHRtbD4KPj4gICAgPGh0bWw+Cj4+ICAgICAgPGhlYWQ+PHRpdGxlPjx7PiR0aXRsZSAt IHJhYnVqb2dvcG8uY29tCj4+IDx8PlJBQlVKT0dPUE88fT48L3RpdGxlPjwvaGVhZD4KPj4gICAg PGJvZHk+PDs+Cj4+ICAgICAgPGgxPiR0aXRsZTwvaDE+PDs+Cj4+Cj4+ICAgICAgPHA+IEhlbGxv PHs+LCAkZnVsbG5hbWU8fD4sICRmaXJzdG5hbWUgJGxhc3RuYW1lPDs+PH0+LiA8Oz4gWW91Cj4+ ICAgICAgICAgIGhhdmUgYXJyaXZlZCBmcm9tIGEgc2VhcmNoIGVuZ2luZSBzZWVraW5nICRzZWFy Y2h0ZXJtcy4gPDs+Cj4+ICAgICAgICAgIFRoaXMgYXJ0aWNsZSBpcyB0YWdnZWQgYXMKPj4gICAg ICAgICAgPHs+PEB0YWdzPjxhIGhyZWY9Ii90YWcvJHRhZ25hbWUiPiR0YWduYW1lPC9hPjwsPiA8 fT4uCj4+ICAgICAgICAgIDx8PiBUaGlzIGFydGljbGUgaXMgbm90IHRhZ2dlZC48Oz4KPj4gICAg ICAgICAgVGhpcyBhcnRpY2xlIGlzIGltcG9ydGFudC4gPGlmICRpbXBvcnRhbmNlID09IGhpZ2g+ IDw7Pgo+PiAgICAgIDwvcD4KPj4gICAgICA8ez4KPj4gICAgICAgIDxAc2VjdGlvbnM+Cj4+ICAg ICAgICA8aDI+JHRpdGxlPC9oMj4gPCEtLSB0aGUgc2VjdGlvbiB0aXRsZSAtLT4KPj4gICAgICAg IDxAY29udGVudHM+Cj4+ICAgICAgICA8aWYgJHR5cGUgPT0gcGFyYWdyYXBoPgo+PiAgICAgICAg ICA8cD4kdGV4dDwvcD4KPj4gICAgICAgIDx8Pgo+PiAgICAgICAgICA8QHN1YnNlY3Rpb25zPgo+ PiAgICAgICAgICA8aDM+JHRpdGxlPC9oMz4KPj4gICAgICAgICAgPEBjb250ZW50cz4KPj4gICAg ICAgICAgPHA+JHA8L3A+Cj4+ICAgICAgPH0+Cj4+ICAgIDwvYm9keT48L2h0bWw+Cj4+Cj4+ICMj IyBJbmZvcm1hbCBleHBsYW5hdGlvbiAjIyMKPj4KPj4gVGhpcyBjb250YWlucyBsaXRlcmFsIHRl eHQsIGAkdmFyYCwgYDw7PmAsIGA8ez48fT5gLCBgPHw+YCwgYDxpZgo+PiAuLi4+YCwgYDxAdmFy PmAsIGFuZCBgPCw+YCwgd2hpY2ggYXJlIHRoZSBlbnRpcmUgZmVhdHVyZSBzZXQgb2YgdGhlCj4+ IGxhbmd1YWdlLiAgSeKAmXZlIGFscmVhZHkgZXhwbGFpbmVkIGxpdGVyYWwgdGV4dCwgYCR2YXJg LCBhbmQgYDw7PmAsIGFuZAo+PiBjb25jYXRlbmF0aW9uLgo+Pgo+PiAjIyMjIEFsdGVybmF0aW9u OiBgPHw+YCBhbmQgYDx7Pjx9PmAgIyMjIwo+Pgo+PiBUaGUgYDw7PmAgaXMgdXNlZCB0byBpc29s YXRlIGEgdHJhbnNhY3Rpb24sIHNvIHRoYXQgaWYgaXQgZmFpbHMsIHlvdQo+PiBqdXN0IGdldCBh biBlbXB0eSBzdHJpbmcgaW5zdGVhZCBvZiwgc2F5LCBhbiBlcnJvci1tZXNzYWdlIHBhZ2UuICBJ dOKAmXMKPj4ganVzdCBzeW50YWN0aWMgc3VnYXIgZm9yIHRoZSBtb3JlIGdlbmVyYWwgYWx0ZXJu YXRpb24gY29uc3RydWN0Cj4+IHdyaXR0ZW4gd2l0aCBgPHw+YCwgdGhvdWdoLiAgVGhpcyB0ZW1w bGF0ZToKPj4KPj4gICAgJGZvbyBiYXI8Oz4KPj4KPj4gY291bGQgYmUgd3JpdHRlbiBsaWtlIHRo aXMsIGFuZCBtZWFuIGV4YWN0bHkgdGhlIHNhbWUgdGhpbmc6Cj4+Cj4+ICAgIDx7PiRmb28gYmFy PHw+PH0+Cj4+Cj4+IFRoZSBgPHw+YCBtYWtlcyBhbiAqYWx0ZXJuYXRpb24qIG9mIHR3byB0cmFu c2FjdGlvbnMuICBJZiB0aGUgZmlyc3QKPj4gdHJhbnNhY3Rpb24gc3VjY2VlZHMsIHRoZSBhbHRl cm5hdGlvbiB5aWVsZHMgdGhlIHJlc3VsdCBvZiB0aGUgZmlyc3QKPj4gdHJhbnNhY3Rpb247IGlm IGl0IGZhaWxzLCB0aGUgYWx0ZXJuYXRpb24gcnVucyB0aGUgb3RoZXIgdHJhbnNhY3Rpb24KPj4g YW5kIHlpZWxkcyBpdHMgcmVzdWx0LiAgSW4gdGhpcyBjYXNlLCB0aGUgc2Vjb25kIHRyYW5zYWN0 aW9uIGlzIHRoZQo+PiBlbXB0eSBzdHJpbmcsIHdoaWNoIHdpbGwgYWx3YXlzIHN1Y2NlZWQuICBU aGUgYDx7Pjx9PmAgc3ludGFjdGljYWxseQo+PiBkZWxpbWl0IHRoZSByZWFjaCBvZiB0aGUgYDx8 PmAgb3BlcmF0b3IsIHNvIHRoYXQgaXQgZG9lc27igJl0IHN1Y2sgdXAKPj4geW91ciBlbnRpcmUg ZG9jdW1lbnQgYXMgaXRzIG9wZXJhbmRzLgo+Pgo+PiBCdXQgeW91ciBzZWNvbmQgdHJhbnNhY3Rp b24gY291bGQgYmUgc29tZXRoaW5nIG1vcmUgaW50ZXJlc3RpbmcgdGhhbgo+PiBhbiBlbXB0eSBz dHJpbmcuICBGb3IgZXhhbXBsZSwgaXQgY291bGQgZXhwbGFpbiB0aGF0IHNvbWUgcGllY2Ugb2YK Pj4gZGF0YSB3YXMgbWlzc2luZy4KPj4KPj4gICAgPHs+QnkgJGF1dGhvci48fD5BdXRob3IgdW5r bm93bi48fT4KPj4KPj4gU28sIHlvdSBzZWUsIGluIHRoZSBsb25nZXIgZXhhbXBsZSB0ZW1wbGF0 ZSBhYm92ZSwgdGhlIHBhZ2UgdGl0bGUgaGFzCj4+IGEgZmFsbGJhY2sgb2Yg4oCcUkFCVUpPR09Q T+KAnS4gIEFuZCB3ZSBncmVldCB0aGUgdXNlciBieSB0aGUgdmFyaWFibGUKPj4gYGZ1bGxuYW1l YCBpZiB3ZSBoYXZlIGl0LCBvdGhlcndpc2UgYGZpcnN0bmFtZSBsYXN0bmFtZWAsIG9yIG90aGVy d2lzZQo+PiBqdXN0IHdpdGgg4oCcSGVsbG8u4oCdCj4+Cj4+ICMjIyMgYDxpZiBjb25kaXRpb24+ YCAjIyMjCj4+Cj4+IGA8aWYgY29uZGl0aW9uPmAgc3VjY2VlZHMgYW5kIHByb2R1Y2VzIHRoZSBl bXB0eSBzdHJpbmcgaWYgYGNvbmRpdGlvbmAKPj4gaXMgdHJ1ZSwgYW5kIGZhaWxzIG90aGVyd2lz ZS4gIEJlY2F1c2Ugb2YgaG93IGZhaWx1cmUgd29ya3MsIHlvdSBjYW4KPj4gcHV0IGl0IGJlZm9y ZSwgYWZ0ZXIsIG9yIGluIHRoZSBtaWRkbGUgb2YgdGhlIHRleHQgeW91IHdhbnQgaXQgdG8KPj4g Y29udHJvbC4gIFNvIGZhciBJ4oCZdmUgb25seSB0aG91Z2h0IGFib3V0IHN0cmluZy1lcXVhbGl0 eSBjb25kaXRpb25zLgo+Pgo+PiBTbywgaW4gdGhlIGV4YW1wbGUgYWJvdmUsIHRoZSBzZW50ZW5j ZSDigJxUaGlzIGFydGljbGUgaXMgaW1wb3J0YW50LuKAnSBpcwo+PiBvbmx5IGVtaXR0ZWQgaWYg dGhlIHZhcmlhYmxlIGBpbXBvcnRhbmNlYCBoYXMgdGhlIHZhbHVlIGBoaWdoYCwKPj4gYmVjYXVz ZSBvdGhlcndpc2UgdGhlIGA8aWY+YCBmYWlscywgZmFpbGluZyB0aGUgd2hvbGUgdHJhbnNhY3Rp b24KPj4gY29udGFpbmluZyB0aGF0IHNlbnRlbmNlLgo+Pgo+PiAjIyMjIEl0ZXJhdGlvbjogYDxA dmFyPmAgYW5kIGA8LD5gICMjIyMKPj4KPj4gYDxAdmFyPmAgYmVnaW5zIGEgbG9vcC4gIFRoZSB2 YXJpYWJsZSBuYW1lZCBuZWVkcyB0byBuYW1lIGEgbGlzdCBvZgo+PiBkaWN0cy4gIElmIHRoZSB2 YXJpYWJsZSBkb2VzbuKAmXQgZXhpc3Qgb3IgaXMgYW4gZW1wdHkgbGlzdCwgdGhlCj4+IHRyYW5z YWN0aW9uIGZhaWxzLiAgT3RoZXJ3aXNlLCB0aGUgdGV4dCB0aGF0IGZvbGxvd3MgYDxAdmFyPmAg aXMKPj4gZXZhbHVhdGVkIG9uY2UgZm9yIGVhY2ggb2YgdGhlIGRpY3QgaW4gdGhlIGxpc3Qg4oCU IHdpdGggdGhlIG5hbWVzIGZyb20KPj4gdGhlIGRpY3QgYWRkZWQgdG8gdGhlIGxvY2FsIG5hbWVz cGFjZSDigJQgYW5kIHRoZSByZXN1bHRpbmcgdmFsdWVzIGFyZQo+PiBjb25jYXRlbmF0ZWQuICBJ ZiBhbnkgb2YgdGhlIGl0ZXJhdGlvbnMgb2YgdGhlIGxvb3AgZmFpbHMsIHRoZSB3aG9sZQo+PiBs b29wIGZhaWxzLgo+Pgo+PiAoVGhpcyBuYW1lc3BhY2UgdGhpbmcgaXMgdGhlIG9uZSB0aGluZyBJ 4oCZbSBub3Qgc3VyZSBhYm91dCBoZXJlOwo+PiBtZXJnaW5nIHRoZSBnbG9iYWwgbmFtZXNwYWNl IHdpdGggdGhlIHBlci1pdGVyYXRpb24gbmFtZXNwYWNlIG1lYW5zCj4+IHRoYXQgYm90aCBodW1h biByZWFkZXJzIGFuZCB0aGUgY29tcGlsZXIgaGF2ZSB0byBndWVzcyB3aGljaCBzY29wZSBhCj4+ IGdpdmVuIHZhcmlhYmxlIHJlZmVycyB0by4pCj4+Cj4+IEJlY2F1c2UgdGhlIGxvb3AgZmFpbHMg aWYgaXQgZXhlY3V0ZXMgemVybyB0aW1lcywgeW91IGNhbiB1c2UgYDx8PmAgdG8KPj4gcHJvdmlk ZSBhbiBhbHRlcm5hdGl2ZSB0byBkaXNwbGF5IGluIHRoZSBjYXNlIHdoZXJlIGEgY29sbGVjdGlv biBjYW1lCj4+IHVwIGVtcHR5LCBhcyBpbiB0aGUg4oCcVGhpcyBhcnRpY2xlIGlzIG5vdCB0YWdn ZWQu4oCdIGV4YW1wbGUgYWJvdmUuCj4+Cj4+IGA8LD5gIGlzIGFuIG9wdGlvbmFsIHBhcnQgb2Yg dGhlIGxvb3AgY29uc3RydWN0LiAgYDxAdmFyPmE8LD5iYAo+PiBldmFsdWF0ZXMgYGFiYCBvbmNl IGZvciBlYWNoIGl0ZW0gaW4gdGhlIGxpc3QgKmV4Y2VwdCB0aGUgbGFzdCosIGFuZAo+PiBmb3Ig dGhlIGxhc3QgaXRlbSwgZXZhbHVhdGVzIG9ubHkgYGFgLgo+Pgo+PiBTbywgaW4gdGhlIGFib3Zl LCB3ZSBhY3R1YWxseSBoYXZlIGxvb3BzIG5lc3RlZCBmb3VyIGRlZXAsIHdpdGgKPj4gc2VjdGlv bnMgY29udGFpbmluZyBjb250ZW50cywgd2hpY2ggbWF5IGNvbnRhaW4gZWl0aGVyIHRleHQgb3IK Pj4gc3Vic2VjdGlvbnMsIHdoaWNoIGNvbnRhaW4gZnVydGhlciBjb250ZW50cy4gIEFuZCBpbiB0 aGUgbG9vcCBvdmVyCj4+IGA8QHRhZ3M+YCwgdGhlIGxpbmtzIHRvIHRoZSBpbmRpdmlkdWFsIHRh Z3MgYXJlIHNlcGFyYXRlZCBieSBzcGFjZXMsCj4+IGJ1dCB0aGUgbGFzdCB0YWcgaXMgbm90IGZv bGxvd2VkIGJ5IGEgc3BhY2UsIGJlY2F1c2UgdGhlIHNwYWNlIGlzCj4+IGJldHdlZW4gdGhlIGA8 LD5gIGFuZCB0aGUgb3V0c2lkZSBvZiB0aGUgYDx7Pjx9PmAuCj4+Cj4+IFNvbWUgbm90ZXMgb24g Z3JhbW1hcgo+PiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KPj4KPj4gRm9yIHRoZSBtb3N0IHBhcnQs IHRoaXMgaXMgYSByZWxhdGl2ZWx5IHRyYWRpdGlvbmFsIGluZml4IGdyYW1tYXIsCj4+IG1hc3F1 ZXJhZGluZyBhcyBhIG1hcmt1cCBsYW5ndWFnZS4gIGA8ez48fT5gIHByb3ZpZGUgbm90aGluZyBt b3JlIHRoYW4KPj4gc3ludGFjdGljIGdyb3VwaW5nOyBgPHw+YCwgYDw7PmAsIGJhcmUganV4dGFw b3NpdGlvbiwgYW5kIGA8QHZhcj5gIGFyZQo+PiBpbmZpeCBvcGVyYXRvcnM7IGFuZCBgPCw+YCBj YW4gYmUgdGhvdWdodCBvZiBhcyBhbiBpbmZpeCBvcGVyYXRvciB0aGF0Cj4+IG9ubHkgbWFrZXMg c2Vuc2Ugd2l0aGluIHRoZSByaWdodCBvcGVyYW5kIG9mIGA8QHZhcj5gLgo+Pgo+PiBUaGUgcHJl Y2VkZW5jZSBvcmRlciBJ4oCZdmUgaW1wbGljaXRseSB1c2VkIGFib3ZlLCBmcm9tIHRpZ2h0ZXN0 IGJpbmRpbmcKPj4gdG8gbG9vc2VzdDoKPj4KPj4gKiBjb25jYXRlbmF0aW9uIG9yIGp1eHRhcG9z aXRpb247Cj4+ICogYDx8PmAKPj4gKiBgPDs+YAo+PiAqIGA8QHZhcj5gIGFuZCBgPCw+YAo+Pgo+ PiBJIGRvbuKAmXQga25vdyBpZiB0aGlzIGlzIHRoZSBiZXN0IG9yZGVyLCBvciBldmVuIGEgc2Fu ZSBvbmUuCj4+Cj4+IEFzIGl0IGhhcHBlbnMsIGFsbCBvZiBqdXh0YXBvc2l0aW9uLCBgPHw+YCwg YW5kIGA8Oz5gIGFyZSBhc3NvY2lhdGl2ZSwKPj4gd2hpY2ggcHJvdmlkZXMgc29tZSBsaWJlcnR5 OyBidXQgdGhlIGxvb3BpbmcgY29uc3RydWN0IGlzCj4+IG5vdC4gYDx7PiBhIDxAYj4gYyA8fT4g PEBkPiBlYCBpcyBub3QgdGhlIHNhbWUgYXMgYGEgPEBiPiA8ez4gYyA8QGQ+IGUKPj4gPH0+YCwK Pj4gYmVjYXVzZSBpbiB0aGUgZmlyc3QgY2FzZSwgYDxAYj5gIGFuZCBgPEBkPmAgYXJlIHNlcGFy YXRlIGl0ZXJhdGlvbnMKPj4gdGhhdCBnZXQgY29uY2F0ZW5hdGVkLCBhbmQgaW4gdGhlIHNlY29u ZCBjYXNlLCBgPEBkPmAgaXMgbmVzdGVkIGluc2lkZQo+PiBgPEBiPmAuCj4+Cj4+IChJdOKAmXMg a2luZCBvZiBuaWNlIHRvIGhhdmUgYSBzeW50YWN0aWNhbGx5IGZsYXQgc3RydWN0dXJlIHRoYXTi gJlzCj4+IG5ldmVydGhlbGVzcyBjYXBhYmxlIG9mIGV4cHJlc3NpbmcgY29tcGxleCB0aGluZ3Mu KQo+Pgo+PiBJbiB0aGUgYWJvdmUsIEkgdHJlYXRlZCBgPEB2YXI+YCBhcyByaWdodC1hc3NvY2lh dGl2ZTogYDxAYT48QGI+eGAgaXMKPj4gYDxAYT48ez48QGI+eDx9PmAsIG5vdCBgPHs+PEBhPjx9 PjxAYj54YC4gIFRoYXQgd2FzIGp1c3QgYmVjYXVzZSBpdAo+PiBtYWRlIHRoYXQgcGFydGljdWxh ciBleGFtcGxlIGNvbWUgb3V0IHN5bnRhY3RpY2FsbHkgc2ltcGxlciwgbm90Cj4+IGJlY2F1c2Ug b2YgYW55IGRlZXAgYW5hbHlzaXMuCj4+Cj4+IFZhcmlhdGlvbnMKPj4gLS0tLS0tLS0tLQo+Pgo+ PiBUaGUgY3VycmVudCBzeW50YXggY29tcGxldGVseSBmYWlscyB0byB0YWtlIGFkdmFudGFnZSBv ZiB0aGUgbW9zdAo+PiBkZXNpcmFibGUgQVNDSUkgcHVuY3R1YXRpb24gY2hhcmFjdGVycywgd2hp Y2ggYXJlIOKAnC7igJ0sIOKAnDrigJ0sIOKAnCfigJ0sIGFuZAo+PiDigJwi4oCdLiAgWW91IGNv dWxkIHdyaXRlIGA8LnNlY3Rpb25zPmAgaW5zdGVhZCBvZiBgPEBzZWN0aW9ucz5gLCBhbmQgYDw6 Cj4+ICRpbXBvcnRhbmNlID09IGhpZ2ggPmAgaW5zdGVhZCBvZiBgPGlmICRpbXBvcnRhbmNlID09 IGhpZ2g+YCwgdGh1cwo+PiByZWR1Y2luZyB0aGUgdmlzdWFsIG5vaXNlIGEgYml0LiAgSG93ZXZl ciwgYDxpZiAuLi4+YCBpcyBtb3JlCj4+IHVuZGVyc3RhbmRhYmxlLiAgTWF5YmUgYDw6aWYgLi4u PmAgdG8gYXZvaWQgY2xhc2hlcyB3aXRoIFNHTUwuCj4+Cj4+IFNpbWlsYXJseSwgYDw8YCBhbmQg YD4+YCBtaWdodCBiZSBiZXR0ZXIgdGhhbiBgPHs+YCBhbmQgYDx9PmAsIHdoaWNoCj4+IGxvb2sg YSBiaXQgdW5iYWxhbmNlZC4gIGA+PmAgaGFzIHRoZSBkaXNhZHZhbnRhZ2UgdGhhdCBpdCBjb3Vs ZAo+PiBsZWdpdGltYXRlbHkgb2NjdXIgaW4gbm9ybWFsIEhUTUwsIGFuZCBib3RoIGNvdWxkIG9j Y3VyIGluIG5vcm1hbCBKUwo+PiBvciBzaW1pbGFyIGxhbmd1YWdlcy4gIEFsc28sIHRoZXnigJly ZSBhbWJpZ3VvdXMgd2hlbiB0aGV54oCZcmUgdXNlZCB3aXRoCj4+IEhUTUwgdGFncyBhZGphY2Vu dCB0byB0aGVtLgo+Pgo+PiBXaXRoIHRob3NlIHR3byB2YXJpYXRpb25zIHdlIHdvdWxkIGdldDoK Pj4KPj4gICAgPCFET0NUWVBFIGh0bWw+Cj4+ICAgIDxodG1sPgo+PiAgICAgIDxoZWFkPjx0aXRs ZT48PCR0aXRsZSAtIHJhYnVqb2dvcG8uY29tPHw+UkFCVUpPR09QTz4+PC90aXRsZT48L2hlYWQ+ Cj4+ICAgIDxib2R5Pjw7Pgo+PiAgICAgIDxoMT4kdGl0bGU8L2gxPjw7Pgo+Pgo+PiAgICAgIDxw PiBIZWxsbzw8LCAkZnVsbG5hbWU8fD4sICRmaXJzdG5hbWUgJGxhc3RuYW1lPDs+Pj4uIDw7PiBZ b3UKPj4gICAgICAgICAgaGF2ZSBhcnJpdmVkIGZyb20gYSBzZWFyY2ggZW5naW5lIHNlZWtpbmcg JHNlYXJjaHRlcm1zLiA8Oz4KPj4gICAgICAgICAgVGhpcyBhcnRpY2xlIGlzIHRhZ2dlZCBhcwo+ PiAgICAgICAgICA8PDwudGFncz48YSBocmVmPSIvdGFnLyR0YWduYW1lIj4kdGFnbmFtZTwvYT48 LD4gPj4uCj4+ICAgICAgICAgIDx8PiBUaGlzIGFydGljbGUgaXMgbm90IHRhZ2dlZC48Oz4KPj4g ICAgICAgICAgVGhpcyBhcnRpY2xlIGlzIGltcG9ydGFudC4gPDokaW1wb3J0YW5jZSA9PSBoaWdo PiA8Oz4KPj4gICAgICA8L3A+Cj4+ICAgICAgPDwKPj4gICAgICAgIDwuc2VjdGlvbnM+Cj4+ICAg ICAgICA8aDI+JHRpdGxlPC9oMj4gPCEtLSB0aGUgc2VjdGlvbiB0aXRsZSAtLT4KPj4gICAgICAg IDwuY29udGVudHM+Cj4+ICAgICAgICA8OiR0eXBlID09IHBhcmFncmFwaD4KPj4gICAgICAgICAg PHA+JHRleHQ8L3A+Cj4+ICAgICAgICA8fD4KPj4gICAgICAgICAgPC5zdWJzZWN0aW9ucz4KPj4g ICAgICAgICAgPGgzPiR0aXRsZTwvaDM+Cj4+ICAgICAgICAgIDwuY29udGVudHM+Cj4+ICAgICAg ICAgIDxwPiRwPC9wPgo+PiAgICAgID4+Cj4+ICAgIDwvYm9keT48L2h0bWw+Cj4+Cj4+IFlvdSBu ZWVkIHNvbWUga2luZCBvZiBlc2NhcGluZyBtZWNoYW5pc20gaW4gYW55IGNhc2UuCj4+Cj4+IFRo ZSBsb29wLW5hbWVzcGFjZSBwcm9ibGVtIGJvdGhlcnMgbWUuICBPbmUgYXBwcm9hY2ggaXMgdG8g bmFtZSB0aGUKPj4gbG9vcCB2YXJpYWJsZSwgYW5kIGV4dGVuZCBgJHZhcmAgdG8gYCR2YXIucHJv cGA6Cj4+Cj4+ICAgICAgICA8QHNlYyBpbiAkc2VjdGlvbnM+Cj4+ICAgICAgICA8aDI+JHNlYy50 aXRsZTwvaDI+Cj4+ICAgICAgICA8QGMgaW4gJGNvbnRlbnRzPgo+PiAgICAgICAgPGlmICRjLnR5 cGUgPT0gcGFyYWdyYXBoPgo+PiAgICAgICAgICA8cD4kYy50ZXh0PC9wPgo+PiAgICAgICAgPHw+ Cj4+ICAgICAgICAgIDxAcyBpbiAkYy5zdWJzZWN0aW9ucz4KPj4gICAgICAgICAgPGgzPiRzLnRp dGxlPC9oMz4KPj4gICAgICAgICAgPEBwIGluICRzLmNvbnRlbnRzPgo+PiAgICAgICAgICA8cD4k cC5wPC9wPgo+Pgo+PiBBbm90aGVyIGFwcHJvYWNoIG1pZ2h0IGJlIHRvIHVzZSBQZXJsL0JBU0lD L1J1YnkvQ29mZmVlU2NyaXB0IHNpZ2lscwo+PiB0byBkaXN0aW5ndWlzaCB2YXJpYWJsZXMgZnJv bSBkaWZmZXJlbnQgc2NvcGVzLiAgUnVieSBoYXMKPj4gYEBpbnN0YW5jZV92YXJpYWJsZXNgIGFu ZCBgQEBjbGFzc192YXJpYWJsZXNgLiAgSWYgd2Ugb25seSBzdXBwb3J0ZWQKPj4gdHdvIGxldmVs cyBvZiBzY29wZSDigJQgZ2xvYmFscywgYW5kIHZhcmlhYmxlcyBpbnNpZGUgdGhlIGlubmVybW9z dCBsb29wCj4+IOKAlCB3ZSBjb3VsZCBkbyB0aGUgc2FtZSB0aGluZywgdXNpbmcgc2VwYXJhdGUg c2lnaWxzLCBsaWtlIGAkLmAgYW5kCj4+IGA8QC4gPmAsIGZvciBsb29wLWxvY2FsczoKPj4KPj4g ICAgICAgIDxAc2VjdGlvbnM+Cj4+ICAgICAgICA8aDI+JC50aXRsZTwvaDI+IDwhLS0gdGhlIHNl Y3Rpb24gdGl0bGUgLS0+Cj4+ICAgICAgICA8QC5jb250ZW50cz4KPj4gICAgICAgIDxpZiAkLnR5 cGUgPT0gcGFyYWdyYXBoPgo+PiAgICAgICAgICA8cD4kLnRleHQ8L3A+Cj4+ICAgICAgICA8fD4K Pj4gICAgICAgICAgPEAuc3Vic2VjdGlvbnM+Cj4+ICAgICAgICAgIDxoMz4kLnRpdGxlPC9oMz4K Pj4gICAgICAgICAgPEAuY29udGVudHM+Cj4+ICAgICAgICAgIDxwPiQucDwvcD4KPj4KPj4gSSB0 aGluayB0aGF0IGlmIHlvdSB3YW50IHRvIGhhdmUgbW9yZSB0aGFuIHR3byBhY3RpdmUgc2NvcGVz LCB5b3UKPj4gY2Fu4oCZdCByZWx5IG9uIHNpZ2lsczsgeW91IGVuZCB1cCBoYXZpbmcgdG8gY291 bnQgbmVzdGVkIHNjb3BlcywgYW5kCj4+IGJhc2ljYWxseSB3cml0aW5nIGRlIEJydWlqbiBpbmRp Y2VzIGJ5IGhhbmQsIHdoaWNoIGlzIG5vdCBhbgo+PiBhY2NlcHRhYmxlIHVzZXIgaW50ZXJmYWNl LiAgWW914oCZZCBuZWVkIHRvIHVzZSB0aGUgYCRjLnRleHRgIGFwcHJvYWNoIEkKPj4gc3VnZ2Vz dGVkIGVhcmxpZXIuCj4+Cj4+IEkgaGFkIGF0IG9uZSBwb2ludCB0aG91Z2h0IGFib3V0IG1ha2lu ZyB0aGUgZGF0YSBtb2RlbCBzaW1wbGVyOgo+PiBpbnN0ZWFkIG9mIGEgbmFtZXNwYWNlIGJlaW5n IGEgbWFwcGluZyBmcm9tIG5hbWVzIHRvIGVpdGhlciBzdHJpbmdzIG9yCj4+IGxpc3RzIG9mIG5h bWVzcGFjZXMsIGEgbmFtZXNwYWNlIHdvdWxkIGJlIGEgbWFwcGluZyBmcm9tIG5hbWVzIHRvCj4+ IHZhbHVlcywgd2hlcmUgYSB2YWx1ZSB3YXMgZWl0aGVyIGEgc3RyaW5nIG9yIGEgbGlzdCBvZiB2 YWx1ZXMsIGxpa2UgaW4KPj4gU2NoZW1l4oCZcyBtYWNybyBzeXN0ZW0uICBTbyB5b3XigJlkIGl0 ZXJhdGUgZG93biBsaXN0cyBpbiBwYXJhbGxlbCwKPj4gaG9waW5nIHRoZXkgd2VyZSB0aGUgc2Ft ZSBsZW5ndGggYW5kIGRlcHRoOgo+Pgo+PiAgICAgIDxkbD4KPj4gICAgICAgIDx7PiA8QCAkbiAk dj4KPj4gICAgICAgICAgPGR0PiRuPC9kdD4KPj4gICAgICAgICAgPGRkPiR2PC9kZD4KPj4gICAg ICAgIDx9Pgo+PiAgICAgIDwvZGw+Cj4+ICAgIDx8Pgo+PiAgICAgIEVtcHR5Lgo+Pgo+PiBPcjoK Pj4KPj4gICAgPHA+IDxAICR3b3JkICRzeW5vbnltPgo+PiAgICA8Yj4kd29yZDwvYj46IDx7PjxA ICRzeW5vbnltPiRzeW5vbnltPCw+LCA8fT4KPj4gICAgPC9wPgo+Pgo+PiBJbiBTY2hlbWUsIHlv dSBvbmx5IGhhdmUgdG8gbWVudGlvbiB0aGUgdmFyaWFibGUgbmFtZXMgb25jZSwgaW5zdGVhZAo+ PiBvZiB0d2ljZTsgeW91IHN0aWNrIGEgYC4uLmAgYWZ0ZXIgdGhlIHN0cnVjdHVyZSBjb250YWlu aW5nIHRoZW0gdG8KPj4gaW5kaWNhdGUgYXQgd2hpY2ggc3ludGFjdGljIGxldmVsIHRoZSByZXBl dGl0aW9uIGlzIHN1cHBvc2VkIHRvIG9jY3VyLgo+PiBJZiB5b3UgZGlkIHRoZSBzYW1lIHRoaW5n IGhlcmUsIHVzaW5nIGA8Wz48XT5gIHRvIGluZGljYXRlIHJlcGV0aXRpb24sCj4+IHlvdeKAmWQg Z2V0IHRoaXM6Cj4+Cj4+ICAgIDxbPgo+PiAgICA8cD48Yj4kd29yZDwvYj46IDxbPiRzeW5vbnlt PCw+LCA8XT48L3A+Cj4+ICAgIDxdPgo+Pgo+PiBUaGF0IGdpdmVzIHRoZSBzYW1lIGtpbmQgb2Yg RFJZIGltcGxpY2l0LURXSU0gZmVlbGluZyB0byBpdGVyYXRpb24KPj4gdGhhdCBgPHw+YCBnaXZl cyB0byBjb25kaXRpb25hbHMsIGFuZCB3aXRoIHRoZSBzaWdpbCBhcHByb2FjaCwgeW91Cj4+IGNv dWxkIGV2ZW4gbWl4IGdsb2JhbCB2YXJpYWJsZXMgd2l0aCBsb29wIHZhcmlhYmxlcy4gIFN0aWxs LCBJ4oCZbSBub3QKPj4gY29udmluY2VkIHRoYXQgaXTigJlzIGJldHRlciwgcGFydGljdWxhcmx5 IHNpbmNlIGl0IGZvcmNlcyB3aGF0IEkgdGhpbmsKPj4gb2YgYXMgYSBmYWlybHkgaW5mbGV4aWJs ZSBkYXRhIG1vZGVsLgo+PiAtLQo+PiBUbyB1bnN1YnNjcmliZTogaHR0cDovL2xpc3RzLmNhbm9u aWNhbC5vcmcvbWFpbG1hbi9saXN0aW5mby9rcmFnZW4tdG9sCj4KPgo+CgotLS0tLSBFbmQgZm9y d2FyZGVkIG1lc3NhZ2UgLS0tLS0KLS0gClRvIHVuc3Vic2NyaWJlOiBodHRwOi8vbGlzdHMuY2Fu b25pY2FsLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2tyYWdlbi1kaXNjdXNz