• TriLUG Digest, Vol 4256, Issue 1

    From via TriLUG@trilug@trilug.org to trilug@trilug.org on Fri Feb 21 12:00:01 2025
    U2VuZCBUcmlMVUcgbWFpbGluZyBsaXN0IHN1Ym1pc3Npb25zIHRvCgl0cmlsdWdAdHJpbHVnLm9y ZwoKVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSB0aGUgV29ybGQgV2lkZSBXZWIsIHZp c2l0CglodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnCm9yLCB2 aWEgZW1haWwsIHNlbmQgYSBtZXNzYWdlIHdpdGggc3ViamVjdCBvciBib2R5ICdoZWxwJyB0bwoJ dHJpbHVnLXJlcXVlc3RAdHJpbHVnLm9yZwoKWW91IGNhbiByZWFjaCB0aGUgcGVyc29uIG1hbmFn aW5nIHRoZSBsaXN0IGF0Cgl0cmlsdWctb3duZXJAdHJpbHVnLm9yZwoKV2hlbiByZXBseWluZywg cGxlYXNlIGVkaXQgeW91ciBTdWJqZWN0IGxpbmUgc28gaXQgaXMgbW9yZSBzcGVjaWZpYwp0aGFu ICJSZTogQ29udGVudHMgb2YgVHJpTFVHIGRpZ2VzdC4uLiIKCgpUb2RheSdzIFRvcGljczoKCiAg IDEuIFJlOiBQaG9uZSBjYWxscyAoTWF1cmljaW8gVGF2YXJlcyB2aWEgVHJpTFVHKQogICAyLiBS ZTogSG9tZSBWUE4/IChHcmVnIEJyb3duIHZpYSBUcmlMVUcpCiAgIDMuIE9wZW5XUlQgKEJpbGwg RmFycm93IHZpYSBUcmlMVUcpCiAgIDQuIFJlOiBPcGVuV1JUIChKb2huIFZhdWdodGVycyB2aWEg VHJpTFVHKQogICA1LiBSZTogSG9tZSBWUE4/IChNYXR0aGV3IEdsYXNzbWFuIHZpYSBUcmlMVUcp CiAgIDYuIFJlOiBPcGVuV1JUIChNYXVyaWNpbyBUYXZhcmVzIHZpYSBUcmlMVUcpCiAgIDcuIFJl OiBIb21lIFZQTj8gKEJpbGwgRmFycm93IHZpYSBUcmlMVUcpCiAgIDguIFJlOiBPcGVuV1JUIChK b2huIEJyb29tZSB2aWEgVHJpTFVHKQogICA5LiBSZTogT3BlbldSVCAoSm9obiBWYXVnaHRlcnMg dmlhIFRyaUxVRykKICAxMC4gUmU6IE9wZW5XUlQgKEpvaG4gVmF1Z2h0ZXJzIHZpYSBUcmlMVUcp CiAgMTEuIFJlOiBQaG9uZSBjYWxscyAoQnJpYW4gdmlhIFRyaUxVRykKICAxMi4gUmU6IFBob25l IGNhbGxzIChKYW1lcyBKb25lcyB2aWEgVHJpTFVHKQogIDEzLiBSZTogSG9tZSBWUE4/IChKb3Nl cGggTWFjayBOQTNUIHZpYSBUcmlMVUcpCiAgMTQuIFJlOiBBZHZpY2UgUGxlYXNlIChEd2FpbiBT aW1zIHZpYSBUcmlMVUcpCiAgMTUuIFJlOiBBZHZpY2UgUGxlYXNlIChKb3NlcGggTWFjayBOQTNU IHZpYSBUcmlMVUcpCiAgMTYuIFJlOiBBZHZpY2UgUGxlYXNlIChEd2FpbiBTaW1zIHZpYSBUcmlM VUcpCiAgMTcuIFJlOiBBZHZpY2UgUGxlYXNlIChKb3NlcGggTWFjayBOQTNUIHZpYSBUcmlMVUcp CiAgMTguIFJlOiBBZHZpY2UgUGxlYXNlIChNYXVyaWNpbyBUYXZhcmVzIHZpYSBUcmlMVUcpCiAg MTkuIFJlOiBBZHZpY2UgUGxlYXNlIChKb2huIE1pdGNoZWxsIHZpYSBUcmlMVUcpCiAgMjAuIFJl OiBBZHZpY2UgUGxlYXNlIChEd2FpbiBTaW1zIHZpYSBUcmlMVUcpCiAgMjEuIFJlOiBBZHZpY2Ug UGxlYXNlIChKb2huIE1pdGNoZWxsIHZpYSBUcmlMVUcpCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTWVzc2Fn ZTogMQpEYXRlOiBUaHUsIDIwIEZlYiAyMDI1IDEzOjA0OjIwIC0wNTAwCkZyb206IE1hdXJpY2lv IFRhdmFyZXMgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBXaWxsaWFtIFN1dHRv biA8d2lsbGlhbUB0cmlsdWcub3JnPiwgIFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwCglHZW5l cmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10g UGhvbmUgY2FsbHMKTWVzc2FnZS1JRDoKCTxDQUhFS1lWNlZoYjNSPUUxQU9tNkt2ZFEyc2JpWT1k UXBmcGkxNzhTc2JBMzlYZHJWYVFAbWFpbC5nbWFpbC5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD0iVVRGLTgiCgpPbiBUaHUsIEZlYiAyMCwgMjAyNSBhdCAxMToyOeKAr0FN IFdpbGxpYW0gU3V0dG9uIHZpYSBUcmlMVUcKPHRyaWx1Z0B0cmlsdWcub3JnPiB3cm90ZToKPgo+ IFNlZW1zIGxpa2Ugc29tZSB5ZWFycyBhZ28sIG9uZSBzb2x1dGlvbiB3YXMgdG8gc2V0IHVwIGFu IEFzdGVyaXNrIHNlcnZlcgo+IGFuZCBiYXNpY2FsbHkgc2NyZWVuIGFsbCB5b3VyIGluY29taW5n IGNhbGxzLgo+Cj4gQW4gYWx0ZXJuYXRpdmUgd291bGQgYmUgdG8gZ2V0IGEgY2VsbCBwaG9uZSB3 aXRoIGFuIG91dC1vZi1zdGF0ZSBhcmVhIGNvZGUKPiBhbmQgaW1tZWRpYXRlbHkgaWdub3JlIGFu eSBjYWxscyBmcm9tIHNhaWQgYXJlYSBjb2RlIDotKAo+CiAgICAgIEkgdXN1YWxseSBuZXZlciBh bnN3ZXIgY2FsbHMgaW4gbXkgY2VsbHBob25lIHVubGVzcyBJIGtub3cgdGhlCm51bWJlci4gVm9p Y2VtYWlsIHN0YXRlcyAibGVhdmUgYSBtZXNzYWdlIHNvIEkga25vdyB5b3UgY2FsbC4iIElmIHRo ZXkKZG9uJ3QsIHdlbGwuLi4KCnNvbWV0aW1lcyB0aGUgc3BhbSBjYWxscyBhcmUgZnVuCgo+IFdp bGxpYW0gU3V0dG9uCj4KPiBPbiBUaHUsIDIwIEZlYiAyMDI1LCBKb3NlcGggTWFjayBOQTNUIHZp YSBUcmlMVUcgd3JvdGU6Cj4KPiA+IE9uIFRodSwgMjAgRmViIDIwMjUsIEphbWVzIEpvbmVzIHZp YSBUcmlMVUcgd3JvdGU6Cj4gPgo+ID4+IEhlbHAgbmVlZGVkLiBNeSBob21lIHBob25lIG51bWJl ciBoYXMgYmVlbiB0YWdnZWQgYnkgYSBzcG9vZmVyIG9mIHNvcnRzLgo+ID4+IEFib3V0IGV2ZXJ5 IGZpdmUgbWludXRlcywgdGhlcmUgaXMgYSBjYWxsIHdoaWNoIGhhcyBhcyBpdHMgaWRlbnRpZmll ciBhCj4gPj4gcGhvbmUgbnVtYmVyIHdpdGggYSB0b3duIHVzdWFsbHkgaW4gTm9ydGggY2Fyb2xp bmEuIEVhY2ggY2FsbCB3aWxsIGJlIGEKPiA+PiBkaWZmZXJlbnQgbnVtYmVyL3Rvd24gaWRlbnRp Zmllci4KPiA+Pgo+ID4+IEFueSB0aG91Z2h0cyBvbiBob3cgdG8gc3RvcCB0aGlzPwo+ID4KPiA+ IEkgZG9uJ3QgaGF2ZSBhIHNob3J0IHRlcm0gc29sdXRpb24gc29ycnkKPiA+Cj4gPiBUaGUgbWVk aXVtIHRlcm0gc29sdXRpb24gaXMgdG8gbm90IGdldCBwaG9uZSBzZXJ2aWNlIGZyb20gYnVzaW5l c3NlcyB0aGF0Cj4gPiBwYXNzIHRoZXNlIHBob25lIGNhbGxzIG9uIHRvIHlvdS4KPiA+Cj4gPiBK b2UKPiA+Cj4gPiAtLQo+ID4gSm9zZXBoIE1hY2sgTkEzVCBFTUUoQixEKSwgRk0wNWx3IE5vcnRo IENhcm9saW5hCj4gPiBEb24ndCB1cGdyYWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29uJ3Qg d29yayBhbnkKPiA+IGJldHRlciAtIGl0IGNvdWxkIHdvcmsgd29yc2U7IGl0IG1heSBub3Qgd29y ayBhdCBhbGwuCj4gPiBIb21lcGFnZSBodHRwOi8vd3d3LmF1c3RpbnRlay5jb20vIEl0J3MgR05V L0xpbnV4IQo+ID4KPiA+IC0tCj4gPiBUaGlzIG1lc3NhZ2Ugd2FzIHNlbnQgdG86IFdpbGxpYW0g PHdpbGxpYW1AdHJpbHVnLm9yZz4KPiA+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgYmxhbmsgbWVz c2FnZSB0byB0cmlsdWctbGVhdmVAdHJpbHVnLm9yZyBmcm9tIHRoYXQKPiA+IGFkZHJlc3MuCj4g PiBUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3RyaWx1Zwo+ID4gVW5zdWJzY3JpYmUgb3IgZWRpdCBvcHRpb25zIG9uIHRoZSB3ZWIg ICAgICAgIDoKPiA+IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25zL3RyaWx1 Zy93aWxsaWFtJTQwdHJpbHVnLm9yZwo+ID4gV2VsY29tZSB0byBUcmlMVUc6IGh0dHBzOi8vdHJp bHVnLm9yZy93ZWxjb21lCj4gLS0KPiBUaGlzIG1lc3NhZ2Ugd2FzIHNlbnQgdG86IHJhdWJ2b2dl bEBnbWFpbC5jb20gPHJhdWJ2b2dlbEBnbWFpbC5jb20+Cj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQg YSBibGFuayBtZXNzYWdlIHRvIHRyaWx1Zy1sZWF2ZUB0cmlsdWcub3JnIGZyb20gdGhhdCBhZGRy ZXNzLgo+IFRyaUxVRyBtYWlsaW5nIGxpc3QgOiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxt YW4vbGlzdGluZm8vdHJpbHVnCj4gVW5zdWJzY3JpYmUgb3IgZWRpdCBvcHRpb25zIG9uIHRoZSB3 ZWIgIDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL29wdGlvbnMvdHJpbHVnL3JhdWJ2 b2dlbCU0MGdtYWlsLmNvbQo+IFdlbGNvbWUgdG8gVHJpTFVHOiBodHRwczovL3RyaWx1Zy5vcmcv d2VsY29tZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTWVzc2FnZTogMgpEYXRl OiBUaHUsIDIwIEZlYiAyMDI1IDEzOjA3OjMwIC0wNTAwCkZyb206IEdyZWcgQnJvd24gdmlhIFRy aUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBNYXR0aGV3IEdsYXNzbWFuIDxtYXR0aGV3Z2xh c3NtYW43OEBnbWFpbC5jb20+LCAgVHJpYW5nbGUgTGludXgKCVVzZXJzIEdyb3VwIEdlbmVyYWwg RGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBIb21l IFZQTj8KTWVzc2FnZS1JRDoKCTxDQUIrSjNBKzhhTVBKZmdWc1JZWjhBSFZxNzh1MWl4ZUItQUU1 QjBpOC1qaFYyc1llcndAbWFpbC5nbWFpbC5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsg Y2hhcnNldD0iVVRGLTgiCgpJZiBJJ20gcmVhZGluZyB0aGlzIGNvcnJlY3RseSwgeW91IGFyZSBs b29raW5nIHRvIHNldCB1cCBhIFZQTiBlbmRwb2ludCBhdApob21lIHRoYXQgd291bGQgYWxsb3cg eW91IHRvIGNvbm5lY3QgZnJvbSBuZXR3b3JrcyBhZmFyIHRoYXQgd291bGQKZXN0YWJsaXNoIGEg dHVubmVsIHRvIHlvdXIgaG9tZSB3aGlsZSB5b3Ugd2VyZSBzb21ld2hlcmUgcmVtb3RlPyAgSWYg dGhpcwppcyB0aGUgY2FzZSBVYmlxdWl0aSByb3V0ZXJzLCBzb21lIGF0IGxlYXN0LCBwcm92aWRl IGEgemVybyBjb25maWd1cmF0aW9uCldpcmVHdWFyZCBWUE4gdGhleSBjYWxsIFRlbGVwb3J0LiBJ dCBpcyBub3QgYXMgbXVjaCBmdW4gYXMgYnVpbGRpbmcgeW91cgp0b3duLCBncmFudGVkLCBidXQg aXQgY2FuIGdpdmUgeW91IHNvbWUgcGVhY2Ugb2YgbWluZCBydW5uaW5nIHRoZSBWUE4gdW50aWwK eW91IGhhdmUgdGhlIGhvdXJzIGFuZCBleHBlcnRpc2Ugc2V0dGluZyB1cCBhIFZQTiBzZXJ2ZXIg ZnJvbSBzY3JhdGNoLgoKSnVzdCBhIHRob3VnaHQuCgpodHRwczovL2hlbHAudWkuY29tL2hjL2Vu LXVzL2FydGljbGVzLzUyNDY0MDM1NjE0OTUtVW5pRmktR2F0ZXdheS1UZWxlcG9ydC1WUE4KCkdy ZWcKCk9uIFR1ZSwgRmViIDE4LCAyMDI1IGF0IDg6MjTigK9QTSBNYXR0aGV3IEdsYXNzbWFuIHZp YSBUcmlMVUcgPAp0cmlsdWdAdHJpbHVnLm9yZz4gd3JvdGU6Cgo+IEhvdyBkaWZmaWN1bHQgYW5k IHByZWNhcmlvdXMgaXMgaXQgdG8gc2V0IHVwIGEgaG9tZSBWUE4gd2l0aG91dCByZWx5aW5nIG9u Cj4gc29tZXRoaW5nIGxpa2UgTk9SRCBvciBzb21lIG90aGVyIHNlcnZpY2U/ICBJIGhhZCB0aGUg dGhvdWdodCB0aGF0IG1heWJlCj4gSSdkIHdhbnQgdG8gdHJ5IGRvaW5nIHRoYXQgYnV0IHdhc24n dCBzdXJlIHdoZXJlIHRvIHN0YXJ0IGFuZCB3aGF0IEkgbWlnaHQKPiB3YW50IHRvIGNvbnNpZGVy Lgo+IC0tCj4gVGhpcyBtZXNzYWdlIHdhcyBzZW50IHRvOiBHcmVnIEJyb3duIDxnd2Jyb3duMUBn bWFpbC5jb20+Cj4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBibGFuayBtZXNzYWdlIHRvIHRyaWx1 Zy1sZWF2ZUB0cmlsdWcub3JnIGZyb20gdGhhdAo+IGFkZHJlc3MuCj4gVHJpTFVHIG1haWxpbmcg bGlzdCA6IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9saXN0aW5mby90cmlsdWcKPiBV bnN1YnNjcmliZSBvciBlZGl0IG9wdGlvbnMgb24gdGhlIHdlYiAgOgo+IGh0dHBzOi8vd3d3LnRy aWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25zL3RyaWx1Zy9nd2Jyb3duMSU0MGdtYWlsLmNvbQo+IFdl bGNvbWUgdG8gVHJpTFVHOiBodHRwczovL3RyaWx1Zy5vcmcvd2VsY29tZQoKCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQoKTWVzc2FnZTogMwpEYXRlOiBUaHUsIDIwIEZlYiAyMDI1IDEz OjQ5OjM5IC0wNTAwCkZyb206IEJpbGwgRmFycm93IHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcu b3JnPgpUbzogVHJpTFVHIEdlbmVyYWwgTGlzdCA8dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6 IFtUcmlMVUddIE9wZW5XUlQKTWVzc2FnZS1JRDoKCTxDQVBtOE5yMTVzTVlteHBlY1Rka2JXWjQ4 cUMyKzl2NlY5b1hWWHN0dXdfelpDY3hnMUFAbWFpbC5nbWFpbC5jb20+CkNvbnRlbnQtVHlwZTog dGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiCgpXb290IGlzIHNlbGxpbmcgTGlua3N5cyBBWDMy MDAgd2lmaTYgcmVmdXJiaXNoZWQgcm91dGVycyB0aGlzIHdlZWsgZm9yICQyMC4KaHR0cHM6Ly9j b21wdXRlcnMud29vdC5jb20vb2ZmZXJzL2xpbmtzeXMtYXgzMjAwLXdpLWZpLTYtcm91dGVyCjxo dHRwczovL2NvbXB1dGVycy53b290LmNvbS9vZmZlcnMvbGlua3N5cy1heDMyMDAtd2ktZmktNi1y b3V0ZXI/cmVmPXdfY250X2xuZF9jYXRfcGNfNl8zPgoKVGhpcyByb3V0ZXIgaGFzIGdvb2QgT3Bl bldSVCBzdXBwb3J0LgpodHRwczovL29wZW53cnQub3JnL3RvaC9saW5rc3lzL2U4NDUwCgpUaGlz IGlzIGFsc28gYSBncmVhdCB3YXkgdG8gZ2V0IGludG8gZW1iZWRkZWQgTGludXguIFRoZSBVQVJU IGhlYWRlciBpcwplYXN5IHRvIGdldCB0byBpZiB5b3Ugd2FudCBjb25zb2xlIGFjY2Vzcy4KCgoK QmlsbAoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKTWVzc2FnZTogNApEYXRlOiBU aHUsIDIwIEZlYiAyMDI1IDE5OjA0OjI2ICswMDAwIChVVEMpCkZyb206IEpvaG4gVmF1Z2h0ZXJz IHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogVHJpTFVHIEdlbmVyYWwgTGlzdCA8 dHJpbHVnQHRyaWx1Zy5vcmc+LCAgQmlsbCBGYXJyb3cKCTxiaWxsLmZhcnJvd0BnbWFpbC5jb20+ ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBPcGVuV1JUCk1lc3NhZ2UtSUQ6IDw0MzIxMjQ5MjEuMjIw NzM1Ni4xNzQwMDc4MjY2ODM5QG1haWwueWFob28uY29tPgpDb250ZW50LVR5cGU6IHRleHQvcGxh aW47IGNoYXJzZXQ9VVRGLTgKCisxIG9uIE9wZW5XUlQKCkkgdXNlZCBERC1XUlQgZm9yIG1hbnkg bWFueSB5ZWFycyBhbmQgdXNlZCB0byBjcmVhdGUgYWN0aXZlIGZpcmV3YWxscyB3aGVyZSBJIGNv dWxkIHVzZSBzc2ggd2l0aCBhIGtleSB0byBvcGVuIGEgcG9ydCB0byB0aGUgaXAgdGhhdCB0cmFm ZmljIGNhbWUgZnJvbSBjdXJyZW50bHkuwqAgTWFraW5nIGZvciBhIHZlcnkgc2VjdXJlIGFjY2Vz cyB3aGVuIG5lZWRlZC4gVGhlc2UgZW1iZWRkZWQgdmVyc2lvbnMgY29tZSB3aXRoIGEgbXVsdGl0 dWRlIG9mIFZQTnMgdGhhdCBJIHVzZWQgdG8gY3JlYXRlIGRpc3RyaWJ1dGVkIG5ldHdvcmtzLiBP bmx5IHJlY2VudGx5IG15IDE1IHllYXIgb2xkIHJvdXRlciBkaWVzIGFuZCBJIHdlbnQgdG8gYSBU UC1MaW5rIGZvciBhIHZhcmlldHkgb2YgcmVhc29ucy4gQW5kIG9mIGNvdXJzZSBUUC1MaW5rIGlz IG9uIHRoZSBsaXN0IG9mIGJhZCBzZWN1cml0eSByb3V0ZXJzLiBXaHkgc2hvdWxkIEkgYmUgc3Vy cHJpc2VkLiBBbnl3YXksIEkgbWlzcyB0aGUgZnVsbCBvbiBhY2Nlc3MgdG8gYSBsaW51eCBzeXN0 ZW0gYW5kIGFsbCB0aGUgZmxleGliaWxpdHkgaXQgcHJvdmlkZWQuIE9uZSBkYXkgSSB3aWxsIGdv IGJhY2sgdG8gdGhlIGVtYmVkZGVkIHNvbHV0aW9uLgoKSXQgd2FzIGEgZ29vZCBydW4gb2YgVkVS WSBsb3cgY29zdCBhbmQgc2VjdXJlIHJvdXRpbmcgc29sdXRpb25zLgoKfkpvaG4gVmF1Z2h0ZXJz CgoKCgoKCgoKT24gVGh1cnNkYXksIEZlYnJ1YXJ5IDIwLCAyMDI1IGF0IDAxOjUwOjA0IFBNIEVT VCwgQmlsbCBGYXJyb3cgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+IHdyb3RlOiAKCgoK CgpXb290IGlzIHNlbGxpbmcgTGlua3N5cyBBWDMyMDAgd2lmaTYgcmVmdXJiaXNoZWQgcm91dGVy cyB0aGlzIHdlZWsgZm9yICQyMC4KaHR0cHM6Ly9jb21wdXRlcnMud29vdC5jb20vb2ZmZXJzL2xp bmtzeXMtYXgzMjAwLXdpLWZpLTYtcm91dGVyCjxodHRwczovL2NvbXB1dGVycy53b290LmNvbS9v ZmZlcnMvbGlua3N5cy1heDMyMDAtd2ktZmktNi1yb3V0ZXI/cmVmPXdfY250X2xuZF9jYXRfcGNf Nl8zPgoKVGhpcyByb3V0ZXIgaGFzIGdvb2QgT3BlbldSVCBzdXBwb3J0LgpodHRwczovL29wZW53 cnQub3JnL3RvaC9saW5rc3lzL2U4NDUwCgpUaGlzIGlzIGFsc28gYSBncmVhdCB3YXkgdG8gZ2V0 IGludG8gZW1iZWRkZWQgTGludXguIFRoZSBVQVJUIGhlYWRlciBpcwplYXN5IHRvIGdldCB0byBp ZiB5b3Ugd2FudCBjb25zb2xlIGFjY2Vzcy4KCgoKQmlsbAotLSAKVGhpcyBtZXNzYWdlIHdhcyBz ZW50IHRvOiBKb2huIFZhdWdodGVycyA8anZhdWdodGVyczA0QHlhaG9vLmNvbT4KVG8gdW5zdWJz Y3JpYmUsIHNlbmQgYSBibGFuayBtZXNzYWdlIHRvIHRyaWx1Zy1sZWF2ZUB0cmlsdWcub3JnIGZy b20gdGhhdCBhZGRyZXNzLgpUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVn Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3RyaWx1ZwpVbnN1YnNjcmliZSBvciBlZGl0IG9wdGlvbnMg b24gdGhlIHdlYsKgwqDCoCA6IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25z L3RyaWx1Zy9qdmF1Z2h0ZXJzMDQlNDB5YWhvby5jb20KV2VsY29tZSB0byBUcmlMVUc6IGh0dHBz Oi8vdHJpbHVnLm9yZy93ZWxjb21lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpN ZXNzYWdlOiA1CkRhdGU6IFRodSwgMjAgRmViIDIwMjUgMTQ6MTQ6MDggLTA1MDAKRnJvbTogTWF0 dGhldyBHbGFzc21hbiB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IFRyaWFuZ2xl IExpbnV4IFVzZXJzIEdyb3VwIEdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+ LAoJR3JlZyBCcm93biA8Z3dicm93bjFAZ21haWwuY29tPgpTdWJqZWN0OiBSZTogW1RyaUxVR10g SG9tZSBWUE4/Ck1lc3NhZ2UtSUQ6IDw2NzY0YTlmMy1mODJjLTQ2NjgtODU5Yi1mZjc4NDNiMTNm YmJAU3Bhcms+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0idXRmLTgiCgpXaGF0 IEnigJltIGxvb2tpbmcgdG8gZG8gaXMgdG8gY3JlYXRlIHNvbWUgdGhpbmcgYWxsb3dzIG1lIHRv IHJlbW90ZSBpbnRvIG15IGhvbWUgbmV0d29yayBzZWN1cmVseSBmcm9tIG91dHNpZGUgdG8gYmUg YWJsZSB0byBkbyB2YXJpb3VzIHRoaW5ncyB0aGF0IHdvdWxkIGhlbHAgdHJvdWJsZXNob290IG9y IG1hbmFnZSBpdGVtcyBsaWtlIG15IGtpZHMgbHVidW50dSBjb21wdXRlciBsaWtlIHNzaCBpbnRv IGl0IG9yIGFjY2VzcyBhIGZpbGUgc2VydmVyIG9yIHByaW50IHNvbWV0aGluZyBvbiB0aGUgaG9t ZSBwcmludGVyLiDCoEkgZmlndXJlIGEgdm9uIHdvdWxkIGJlIHRoaXMgZW50cnkgcG9pbnQgYW5k IGJlIGEgYml0IG1vcmUgc2VjdXJlLiDCoEJlc2lkZXMgaXQgYWxzbyBzb3VuZGVkIGxpa2UgYSBn b29kIHByb2plY3QKT24gRmViIDIwLCAyMDI1IGF0IDE6MDfigK9QTSAtMDUwMCwgR3JlZyBCcm93 biA8Z3dicm93bjFAZ21haWwuY29tPiwgd3JvdGU6Cj4gSWYgSSdtIHJlYWRpbmcgdGhpcyBjb3Jy ZWN0bHksIHlvdSBhcmUgbG9va2luZyB0byBzZXQgdXAgYSBWUE4gZW5kcG9pbnQgYXQgaG9tZSB0 aGF0IHdvdWxkIGFsbG93IHlvdSB0byBjb25uZWN0IGZyb20gbmV0d29ya3MgYWZhciB0aGF0IHdv dWxkIGVzdGFibGlzaCBhIHR1bm5lbCB0byB5b3VyIGhvbWUgd2hpbGUgeW91IHdlcmUgc29tZXdo ZXJlIHJlbW90ZT/CoCBJZiB0aGlzIGlzIHRoZSBjYXNlIFViaXF1aXRpIHJvdXRlcnMsIHNvbWUg YXQgbGVhc3QsIHByb3ZpZGUgYSB6ZXJvIGNvbmZpZ3VyYXRpb24gV2lyZUd1YXJkIFZQTiB0aGV5 IGNhbGwgVGVsZXBvcnQuIEl0IGlzIG5vdCBhcyBtdWNoIGZ1biBhcyBidWlsZGluZyB5b3VyIHRv d24sIGdyYW50ZWQsIGJ1dCBpdCBjYW4gZ2l2ZSB5b3Ugc29tZSBwZWFjZSBvZiBtaW5kIHJ1bm5p bmcgdGhlIFZQTiB1bnRpbCB5b3UgaGF2ZSB0aGUgaG91cnMgYW5kIGV4cGVydGlzZSBzZXR0aW5n IHVwIGEgVlBOIHNlcnZlciBmcm9tIHNjcmF0Y2guCj4KPiBKdXN0IGEgdGhvdWdodC4KPgo+IGh0 dHBzOi8vaGVscC51aS5jb20vaGMvZW4tdXMvYXJ0aWNsZXMvNTI0NjQwMzU2MTQ5NS1VbmlGaS1H YXRld2F5LVRlbGVwb3J0LVZQTgo+Cj4gR3JlZwo+Cj4gT24gVHVlLCBGZWIgMTgsIDIwMjUgYXQg ODoyNOKAr1BNIE1hdHRoZXcgR2xhc3NtYW4gdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ IHdyb3RlOgo+ID4gSG93IGRpZmZpY3VsdCBhbmQgcHJlY2FyaW91cyBpcyBpdCB0byBzZXQgdXAg YSBob21lIFZQTiB3aXRob3V0IHJlbHlpbmcgb24KPiA+IHNvbWV0aGluZyBsaWtlIE5PUkQgb3Ig c29tZSBvdGhlciBzZXJ2aWNlP8KgIEkgaGFkIHRoZSB0aG91Z2h0IHRoYXQgbWF5YmUKPiA+IEkn ZCB3YW50IHRvIHRyeSBkb2luZyB0aGF0IGJ1dCB3YXNuJ3Qgc3VyZSB3aGVyZSB0byBzdGFydCBh bmQgd2hhdCBJIG1pZ2h0Cj4gPiB3YW50IHRvIGNvbnNpZGVyLgo+ID4gLS0KPiA+IFRoaXMgbWVz c2FnZSB3YXMgc2VudCB0bzogR3JlZyBCcm93biA8Z3dicm93bjFAZ21haWwuY29tPgo+ID4gVG8g dW5zdWJzY3JpYmUsIHNlbmQgYSBibGFuayBtZXNzYWdlIHRvIHRyaWx1Zy1sZWF2ZUB0cmlsdWcu b3JnIGZyb20gdGhhdCBhZGRyZXNzLgo+ID4gVHJpTFVHIG1haWxpbmcgbGlzdCA6IGh0dHBzOi8v d3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9saXN0aW5mby90cmlsdWcKPiA+IFVuc3Vic2NyaWJlIG9y IGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViwqAgOiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxt YW4vb3B0aW9ucy90cmlsdWcvZ3dicm93bjElNDBnbWFpbC5jb20KPiA+IFdlbGNvbWUgdG8gVHJp TFVHOiBodHRwczovL3RyaWx1Zy5vcmcvd2VsY29tZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQoKTWVzc2FnZTogNgpEYXRlOiBUaHUsIDIwIEZlYiAyMDI1IDE0OjIzOjM1IC0wNTAw CkZyb206IE1hdXJpY2lvIFRhdmFyZXMgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRv OiBUcmlhbmdsZSBMaW51eCBVc2VycyBHcm91cCBHZW5lcmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0 cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10gT3BlbldSVApNZXNzYWdlLUlEOgoJPENB SEVLWVY1RzZwUC1QQlVZcUFOYmRYR1pfTjJjWFRUZ2g5amd4VjVLZ1JTMjlWNksrQUBtYWlsLmdt YWlsLmNvbT4KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCIKCk9uIFRo dSwgRmViIDIwLCAyMDI1IGF0IDI6MDbigK9QTSBKb2huIFZhdWdodGVycyB2aWEgVHJpTFVHCjx0 cmlsdWdAdHJpbHVnLm9yZz4gd3JvdGU6Cj4KPiArMSBvbiBPcGVuV1JUCj4KPiBJIHVzZWQgREQt V1JUIGZvciBtYW55IG1hbnkgeWVhcnMgYW5kIHVzZWQgdG8gY3JlYXRlIGFjdGl2ZSBmaXJld2Fs bHMgd2hlcmUgSSBjb3VsZCB1c2Ugc3NoIHdpdGggYSBrZXkgdG8gb3BlbiBhIHBvcnQgdG8gdGhl IGlwIHRoYXQgdHJhZmZpYyBjYW1lIGZyb20gY3VycmVudGx5LiAgTWFraW5nIGZvciBhIHZlcnkg c2VjdXJlIGFjY2VzcyB3aGVuIG5lZWRlZC4gVGhlc2UgZW1iZWRkZWQgdmVyc2lvbnMgY29tZSB3 aXRoIGEgbXVsdGl0dWRlIG9mIFZQTnMgdGhhdCBJIHVzZWQgdG8gY3JlYXRlIGRpc3RyaWJ1dGVk IG5ldHdvcmtzLiBPbmx5IHJlY2VudGx5IG15IDE1IHllYXIgb2xkIHJvdXRlciBkaWVzIGFuZCBJ IHdlbnQgdG8gYSBUUC1MaW5rIGZvciBhIHZhcmlldHkgb2YgcmVhc29ucy4gQW5kIG9mIGNvdXJz ZSBUUC1MaW5rIGlzIG9uIHRoZSBsaXN0IG9mIGJhZCBzZWN1cml0eSByb3V0ZXJzLiBXaHkgc2hv dWxkIEkgYmUgc3VycHJpc2VkLiBBbnl3YXksIEkgbWlzcyB0aGUgZnVsbCBvbiBhY2Nlc3MgdG8g YSBsaW51eCBzeXN0ZW0gYW5kIGFsbCB0aGUgZmxleGliaWxpdHkgaXQgcHJvdmlkZWQuIE9uZSBk YXkgSSB3aWxsIGdvIGJhY2sgdG8gdGhlIGVtYmVkZGVkIHNvbHV0aW9uLgo+Cj4gSXQgd2FzIGEg Z29vZCBydW4gb2YgVkVSWSBsb3cgY29zdCBhbmQgc2VjdXJlIHJvdXRpbmcgc29sdXRpb25zLgo+ Cj4gfkpvaG4gVmF1Z2h0ZXJzCj4KICAgICAgUmVsaWdpb3VzIHdhciBiZWNhdXNlIGJvcmVkOiBE RC1XUlQgb3IgT3BlbldSVD8KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3Nh Z2U6IDcKRGF0ZTogVGh1LCAyMCBGZWIgMjAyNSAxNDoyNTo1NyAtMDUwMApGcm9tOiBCaWxsIEZh cnJvdyB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IE1hdHRoZXcgR2xhc3NtYW4g PG1hdHRoZXdnbGFzc21hbjc4QGdtYWlsLmNvbT4sICBUcmlhbmdsZSBMaW51eAoJVXNlcnMgR3Jv dXAgR2VuZXJhbCBEaXNjdXNzaW9uIDx0cmlsdWdAdHJpbHVnLm9yZz4KU3ViamVjdDogUmU6IFtU cmlMVUddIEhvbWUgVlBOPwpNZXNzYWdlLUlEOgoJPENBUG04TnIwdWdCWj1aZlB5VU9XOTgrWXNC SzdORVZiT3BhSlFaWDBEWXlXb01RKzdSQUBtYWlsLmdtYWlsLmNvbT4KQ29udGVudC1UeXBlOiB0 ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCIKCkFzIHByZXZpb3VzbHkgc3RhdGVkLCBUYWlsc2Nh bGUgaXMgcmVhbGx5IGdvb2QgZm9yIHRoaXMgdXNlIGNhc2UgdXNpbmcKdGhlaXIgZnJlZSB0aWVy LiBWZXJ5IHNpbXBsZSB0byBzZXQgdXAgYW5kIHRyeSBvdXQuIE5vIG5lZWQgdG8gb3BlbiBwb3J0 cwpvbiB5b3VyIGhvbWUgZmlyZXdhbGwuIEVhc3kgdG8gY29uZmlndXJlLiBFdGMuCgpUaGVyZSBp cyBhbHNvIHRoZSBvcGVuIHNvdXJjZSBIZWFkc2NhbGUgcHJvamVjdCB3aGljaCB5b3UgY2FuIGNv bmZpZ3VyZSB0aGUKY2xpZW50cyB5byB1c2UuCgoKCgpCaWxsCgoKT24gVGh1LCBGZWIgMjAsIDIw MjUgYXQgMjoxNeKAr1BNIE1hdHRoZXcgR2xhc3NtYW4gdmlhIFRyaUxVRyA8CnRyaWx1Z0B0cmls dWcub3JnPiB3cm90ZToKCj4gV2hhdCBJ4oCZbSBsb29raW5nIHRvIGRvIGlzIHRvIGNyZWF0ZSBz b21lIHRoaW5nIGFsbG93cyBtZSB0byByZW1vdGUgaW50byBteQo+IGhvbWUgbmV0d29yayBzZWN1 cmVseSBmcm9tIG91dHNpZGUgdG8gYmUgYWJsZSB0byBkbyB2YXJpb3VzIHRoaW5ncyB0aGF0Cj4g d291bGQgaGVscCB0cm91Ymxlc2hvb3Qgb3IgbWFuYWdlIGl0ZW1zIGxpa2UgbXkga2lkcyBsdWJ1 bnR1IGNvbXB1dGVyIGxpa2UKPiBzc2ggaW50byBpdCBvciBhY2Nlc3MgYSBmaWxlIHNlcnZlciBv ciBwcmludCBzb21ldGhpbmcgb24gdGhlIGhvbWUKPiBwcmludGVyLiAgSSBmaWd1cmUgYSB2b24g d291bGQgYmUgdGhpcyBlbnRyeSBwb2ludCBhbmQgYmUgYSBiaXQgbW9yZQo+IHNlY3VyZS4gIEJl c2lkZXMgaXQgYWxzbyBzb3VuZGVkIGxpa2UgYSBnb29kIHByb2plY3QKPiBPbiBGZWIgMjAsIDIw MjUgYXQgMTowN+KAr1BNIC0wNTAwLCBHcmVnIEJyb3duIDxnd2Jyb3duMUBnbWFpbC5jb20+LCB3 cm90ZToKPiA+IElmIEknbSByZWFkaW5nIHRoaXMgY29ycmVjdGx5LCB5b3UgYXJlIGxvb2tpbmcg dG8gc2V0IHVwIGEgVlBOIGVuZHBvaW50Cj4gYXQgaG9tZSB0aGF0IHdvdWxkIGFsbG93IHlvdSB0 byBjb25uZWN0IGZyb20gbmV0d29ya3MgYWZhciB0aGF0IHdvdWxkCj4gZXN0YWJsaXNoIGEgdHVu bmVsIHRvIHlvdXIgaG9tZSB3aGlsZSB5b3Ugd2VyZSBzb21ld2hlcmUgcmVtb3RlPyAgSWYgdGhp cwo+IGlzIHRoZSBjYXNlIFViaXF1aXRpIHJvdXRlcnMsIHNvbWUgYXQgbGVhc3QsIHByb3ZpZGUg YSB6ZXJvIGNvbmZpZ3VyYXRpb24KPiBXaXJlR3VhcmQgVlBOIHRoZXkgY2FsbCBUZWxlcG9ydC4g SXQgaXMgbm90IGFzIG11Y2ggZnVuIGFzIGJ1aWxkaW5nIHlvdXIKPiB0b3duLCBncmFudGVkLCBi dXQgaXQgY2FuIGdpdmUgeW91IHNvbWUgcGVhY2Ugb2YgbWluZCBydW5uaW5nIHRoZSBWUE4gdW50 aWwKPiB5b3UgaGF2ZSB0aGUgaG91cnMgYW5kIGV4cGVydGlzZSBzZXR0aW5nIHVwIGEgVlBOIHNl cnZlciBmcm9tIHNjcmF0Y2guCj4gPgo+ID4gSnVzdCBhIHRob3VnaHQuCj4gPgo+ID4KPiBodHRw czovL2hlbHAudWkuY29tL2hjL2VuLXVzL2FydGljbGVzLzUyNDY0MDM1NjE0OTUtVW5pRmktR2F0 ZXdheS1UZWxlcG9ydC1WUE4KPiA+Cj4gPiBHcmVnCj4gPgo+ID4gT24gVHVlLCBGZWIgMTgsIDIw MjUgYXQgODoyNOKAr1BNIE1hdHRoZXcgR2xhc3NtYW4gdmlhIFRyaUxVRyA8Cj4gdHJpbHVnQHRy aWx1Zy5vcmc+IHdyb3RlOgo+ID4gPiBIb3cgZGlmZmljdWx0IGFuZCBwcmVjYXJpb3VzIGlzIGl0 IHRvIHNldCB1cCBhIGhvbWUgVlBOIHdpdGhvdXQKPiByZWx5aW5nIG9uCj4gPiA+IHNvbWV0aGlu ZyBsaWtlIE5PUkQgb3Igc29tZSBvdGhlciBzZXJ2aWNlPyAgSSBoYWQgdGhlIHRob3VnaHQgdGhh dAo+IG1heWJlCj4gPiA+IEknZCB3YW50IHRvIHRyeSBkb2luZyB0aGF0IGJ1dCB3YXNuJ3Qgc3Vy ZSB3aGVyZSB0byBzdGFydCBhbmQgd2hhdCBJCj4gbWlnaHQKPiA+ID4gd2FudCB0byBjb25zaWRl ci4KPiA+ID4gLS0KPiA+ID4gVGhpcyBtZXNzYWdlIHdhcyBzZW50IHRvOiBHcmVnIEJyb3duIDxn d2Jyb3duMUBnbWFpbC5jb20+Cj4gPiA+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgYmxhbmsgbWVz c2FnZSB0byB0cmlsdWctbGVhdmVAdHJpbHVnLm9yZyBmcm9tCj4gdGhhdCBhZGRyZXNzLgo+ID4g PiBUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3RyaWx1Zwo+ID4gPiBVbnN1YnNjcmliZSBvciBlZGl0IG9wdGlvbnMgb24gdGhlIHdl YiAgOgo+IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25zL3RyaWx1Zy9nd2Jy b3duMSU0MGdtYWlsLmNvbQo+ID4gPiBXZWxjb21lIHRvIFRyaUxVRzogaHR0cHM6Ly90cmlsdWcu b3JnL3dlbGNvbWUKPiAtLQo+IFRoaXMgbWVzc2FnZSB3YXMgc2VudCB0bzogQmlsbCBGYXJyb3cg PGJpbGwuZmFycm93QGdtYWlsLmNvbT4KPiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIGJsYW5rIG1l c3NhZ2UgdG8gdHJpbHVnLWxlYXZlQHRyaWx1Zy5vcmcgZnJvbSB0aGF0Cj4gYWRkcmVzcy4KPiBU cmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL3RyaWx1Zwo+IFVuc3Vic2NyaWJlIG9yIGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViICA6Cj4g aHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL29wdGlvbnMvdHJpbHVnL2JpbGwuZmFycm93 JTQwZ21haWwuY29tCj4gV2VsY29tZSB0byBUcmlMVUc6IGh0dHBzOi8vdHJpbHVnLm9yZy93ZWxj b21lCgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiA4CkRhdGU6IFRo dSwgMjAgRmViIDIwMjUgMTQ6MzA6MzUgLTA1MDAKRnJvbTogSm9obiBCcm9vbWUgdmlhIFRyaUxV RyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBNYXVyaWNpbyBUYXZhcmVzIDxyYXVidm9nZWxAZ21h aWwuY29tPiwgIFRyaWFuZ2xlIExpbnV4IFVzZXJzCglHcm91cCBHZW5lcmFsIERpc2N1c3Npb24g PHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10gT3BlbldSVApNZXNzYWdl LUlEOgoJPENBK3UzQzJtNGtDa1I9U2crcWR3WVBFUGs9b3h5K0t3YjhlZkNoNVJHZDlCQWNmZTJ3 UUBtYWlsLmdtYWlsLmNvbT4KQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYt OCIKCkhhcyBkZC13cnQgaGFkIHJlY2VudCByZWxlYXNlcy91cGRhdGVzIGluIHRoZSBsYXN0IGZp dmUgeWVhcnM/CgpPbiBUaHUsIEZlYiAyMCwgMjAyNSBhdCAyOjI04oCvUE0gTWF1cmljaW8gVGF2 YXJlcyB2aWEgVHJpTFVHIDwKdHJpbHVnQHRyaWx1Zy5vcmc+IHdyb3RlOgoKPiBPbiBUaHUsIEZl YiAyMCwgMjAyNSBhdCAyOjA24oCvUE0gSm9obiBWYXVnaHRlcnMgdmlhIFRyaUxVRwo+IDx0cmls dWdAdHJpbHVnLm9yZz4gd3JvdGU6Cj4gPgo+ID4gKzEgb24gT3BlbldSVAo+ID4KPiA+IEkgdXNl ZCBERC1XUlQgZm9yIG1hbnkgbWFueSB5ZWFycyBhbmQgdXNlZCB0byBjcmVhdGUgYWN0aXZlIGZp cmV3YWxscwo+IHdoZXJlIEkgY291bGQgdXNlIHNzaCB3aXRoIGEga2V5IHRvIG9wZW4gYSBwb3J0 IHRvIHRoZSBpcCB0aGF0IHRyYWZmaWMgY2FtZQo+IGZyb20gY3VycmVudGx5LiAgTWFraW5nIGZv ciBhIHZlcnkgc2VjdXJlIGFjY2VzcyB3aGVuIG5lZWRlZC4gVGhlc2UKPiBlbWJlZGRlZCB2ZXJz aW9ucyBjb21lIHdpdGggYSBtdWx0aXR1ZGUgb2YgVlBOcyB0aGF0IEkgdXNlZCB0byBjcmVhdGUK PiBkaXN0cmlidXRlZCBuZXR3b3Jrcy4gT25seSByZWNlbnRseSBteSAxNSB5ZWFyIG9sZCByb3V0 ZXIgZGllcyBhbmQgSSB3ZW50Cj4gdG8gYSBUUC1MaW5rIGZvciBhIHZhcmlldHkgb2YgcmVhc29u cy4gQW5kIG9mIGNvdXJzZSBUUC1MaW5rIGlzIG9uIHRoZSBsaXN0Cj4gb2YgYmFkIHNlY3VyaXR5 IHJvdXRlcnMuIFdoeSBzaG91bGQgSSBiZSBzdXJwcmlzZWQuIEFueXdheSwgSSBtaXNzIHRoZSBm dWxsCj4gb24gYWNjZXNzIHRvIGEgbGludXggc3lzdGVtIGFuZCBhbGwgdGhlIGZsZXhpYmlsaXR5 IGl0IHByb3ZpZGVkLiBPbmUgZGF5IEkKPiB3aWxsIGdvIGJhY2sgdG8gdGhlIGVtYmVkZGVkIHNv bHV0aW9uLgo+ID4KPiA+IEl0IHdhcyBhIGdvb2QgcnVuIG9mIFZFUlkgbG93IGNvc3QgYW5kIHNl Y3VyZSByb3V0aW5nIHNvbHV0aW9ucy4KPiA+Cj4gPiB+Sm9obiBWYXVnaHRlcnMKPiA+Cj4gICAg ICAgUmVsaWdpb3VzIHdhciBiZWNhdXNlIGJvcmVkOiBERC1XUlQgb3IgT3BlbldSVD8KPiAtLQo+ IFRoaXMgbWVzc2FnZSB3YXMgc2VudCB0bzogSm9obiBCcm9vbWUgPGpicm9vbWVAZ21haWwuY29t Pgo+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgYmxhbmsgbWVzc2FnZSB0byB0cmlsdWctbGVhdmVA dHJpbHVnLm9yZyBmcm9tIHRoYXQKPiBhZGRyZXNzLgo+IFRyaUxVRyBtYWlsaW5nIGxpc3QgOiBo dHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnCj4gVW5zdWJzY3Jp YmUgb3IgZWRpdCBvcHRpb25zIG9uIHRoZSB3ZWIgIDoKPiBodHRwczovL3d3dy50cmlsdWcub3Jn L21haWxtYW4vb3B0aW9ucy90cmlsdWcvamJyb29tZSU0MGdtYWlsLmNvbQo+IFdlbGNvbWUgdG8g VHJpTFVHOiBodHRwczovL3RyaWx1Zy5vcmcvd2VsY29tZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQoKTWVzc2FnZTogOQpEYXRlOiBUaHUsIDIwIEZlYiAyMDI1IDE5OjMyOjIwICsw MDAwIChVVEMpCkZyb206IEpvaG4gVmF1Z2h0ZXJzIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcu b3JnPgpUbzogVHJpYW5nbGUgTGludXggVXNlcnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNzaW9uIDx0 cmlsdWdAdHJpbHVnLm9yZz4sCglNYXVyaWNpbyBUYXZhcmVzIDxyYXVidm9nZWxAZ21haWwuY29t PgpTdWJqZWN0OiBSZTogW1RyaUxVR10gT3BlbldSVApNZXNzYWdlLUlEOiA8MTMzMzEyNTc1OS4y MjE5NDY1LjE3NDAwNzk5NDAxOTJAbWFpbC55YWhvby5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD1VVEYtOAoKwqA+UmVsaWdpb3VzIHdhciBiZWNhdXNlIGJvcmVkOiBERC1X UlQgb3IgT3BlbldSVD8KCkkganVzdCB3ZW50IHdpdGggREQtV1JULCBiZWNhdXNlIGl0IGhhZCBh IHN1cGVyY2hlYXAgcmVmdXJiIHJvdXRlciBvcHRpb24gYXQgdGhlIHRpbWUgSSB3YXMgbG9va2lu Zy4gSSBjb25zaWRlcmVkIGJvdGgsIGJ1dCB3ZW50IHdpdGggREQtV1JULiBPbmNlIEkgZ290IHN0 dWNrIG9uIHRoYXQgZWNvc3lzdGVtLCBJIGp1c3Qgc3R1Y2sgd2l0aCBpdCB0byByZWR1Y2Ugd29y ay4gSSBoYXRlIHdvcmssIHRoYXQncyB3aHkgSSB3b3JrIHNvIG11Y2ggdG8gc3RvcCB3b3JraW5n IHRvbyBtdWNoIHdpdGggYXV0b21hdGlvbiBhbmQgc2tpbGwgbWluaW1pemF0aW9uIGluIGFyZWFz IEkgZG9uJ3QgcmVhbGx5IGNhcmUgYWJvdXQsIGJ1dCBmb3Igc29tZSByZWFzb24sIHBlb3BsZSBr ZWVwIGZpbmRpbmcgbW9yZSB3b3JrIGZvciBtZS4gSSBibGFtZSBBZGFtIQoKU29ycnksIG5vIHdh ciBmcm9tIG1lLiBBdCB0aGlzIHRpbWUsIGl0IHNlZW1zIGxpa2UgT3BlbldSVCBpcyBtb3JlIHN1 cHBvcnRlZCwgYnV0IEkgaGF2ZW4ndCByZWFsbHkgY2hlY2tlZCBlaXRoZXIuCgp+Sm9obiBWYXVn aHRlcnMKCgoKCk9uIFRodXJzZGF5LCBGZWJydWFyeSAyMCwgMjAyNSBhdCAwMjoyNDowMiBQTSBF U1QsIE1hdXJpY2lvIFRhdmFyZXMgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+IHdyb3Rl OiAKCgoKCgpPbiBUaHUsIEZlYiAyMCwgMjAyNSBhdCAyOjA24oCvUE0gSm9obiBWYXVnaHRlcnMg dmlhIFRyaUxVRwo8dHJpbHVnQHRyaWx1Zy5vcmc+IHdyb3RlOgo+Cj4gKzEgb24gT3BlbldSVAo+ Cj4gSSB1c2VkIERELVdSVCBmb3IgbWFueSBtYW55IHllYXJzIGFuZCB1c2VkIHRvIGNyZWF0ZSBh Y3RpdmUgZmlyZXdhbGxzIHdoZXJlIEkgY291bGQgdXNlIHNzaCB3aXRoIGEga2V5IHRvIG9wZW4g YSBwb3J0IHRvIHRoZSBpcCB0aGF0IHRyYWZmaWMgY2FtZSBmcm9tIGN1cnJlbnRseS7CoCBNYWtp bmcgZm9yIGEgdmVyeSBzZWN1cmUgYWNjZXNzIHdoZW4gbmVlZGVkLiBUaGVzZSBlbWJlZGRlZCB2 ZXJzaW9ucyBjb21lIHdpdGggYSBtdWx0aXR1ZGUgb2YgVlBOcyB0aGF0IEkgdXNlZCB0byBjcmVh dGUgZGlzdHJpYnV0ZWQgbmV0d29ya3MuIE9ubHkgcmVjZW50bHkgbXkgMTUgeWVhciBvbGQgcm91 dGVyIGRpZXMgYW5kIEkgd2VudCB0byBhIFRQLUxpbmsgZm9yIGEgdmFyaWV0eSBvZiByZWFzb25z LiBBbmQgb2YgY291cnNlIFRQLUxpbmsgaXMgb24gdGhlIGxpc3Qgb2YgYmFkIHNlY3VyaXR5IHJv dXRlcnMuIFdoeSBzaG91bGQgSSBiZSBzdXJwcmlzZWQuIEFueXdheSwgSSBtaXNzIHRoZSBmdWxs IG9uIGFjY2VzcyB0byBhIGxpbnV4IHN5c3RlbSBhbmQgYWxsIHRoZSBmbGV4aWJpbGl0eSBpdCBw cm92aWRlZC4gT25lIGRheSBJIHdpbGwgZ28gYmFjayB0byB0aGUgZW1iZWRkZWQgc29sdXRpb24u Cj4KPiBJdCB3YXMgYSBnb29kIHJ1biBvZiBWRVJZIGxvdyBjb3N0IGFuZCBzZWN1cmUgcm91dGlu ZyBzb2x1dGlvbnMuCj4KPiB+Sm9obiBWYXVnaHRlcnMKPgrCoCDCoCDCoCBSZWxpZ2lvdXMgd2Fy IGJlY2F1c2UgYm9yZWQ6IERELVdSVCBvciBPcGVuV1JUPwoKLS0gClRoaXMgbWVzc2FnZSB3YXMg c2VudCB0bzogSm9obiBWYXVnaHRlcnMgPGp2YXVnaHRlcnMwNEB5YWhvby5jb20+ClRvIHVuc3Vi c2NyaWJlLCBzZW5kIGEgYmxhbmsgbWVzc2FnZSB0byB0cmlsdWctbGVhdmVAdHJpbHVnLm9yZyBm cm9tIHRoYXQgYWRkcmVzcy4KVHJpTFVHIG1haWxpbmcgbGlzdCA6IGh0dHBzOi8vd3d3LnRyaWx1 Zy5vcmcvbWFpbG1hbi9saXN0aW5mby90cmlsdWcKVW5zdWJzY3JpYmUgb3IgZWRpdCBvcHRpb25z IG9uIHRoZSB3ZWLCoMKgwqAgOiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vb3B0aW9u cy90cmlsdWcvanZhdWdodGVyczA0JTQweWFob28uY29tCldlbGNvbWUgdG8gVHJpTFVHOiBodHRw czovL3RyaWx1Zy5vcmcvd2VsY29tZQoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK TWVzc2FnZTogMTAKRGF0ZTogVGh1LCAyMCBGZWIgMjAyNSAxOTozODozNSArMDAwMCAoVVRDKQpG cm9tOiBKb2huIFZhdWdodGVycyB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IE1h dXJpY2lvIFRhdmFyZXMgPHJhdWJ2b2dlbEBnbWFpbC5jb20+LCAgVHJpYW5nbGUgTGludXggVXNl cnMKCUdyb3VwIEdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+LCAgSm9obiBC cm9vbWUKCTxqYnJvb21lQGdtYWlsLmNvbT4KU3ViamVjdDogUmU6IFtUcmlMVUddIE9wZW5XUlQK TWVzc2FnZS1JRDogPDE5MjIyMTc0NDIuMjIyMzkwMi4xNzQwMDgwMzE1Nzg5QG1haWwueWFob28u Y29tPgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTgKCj5IYXMgZGQtd3J0 IGhhZCByZWNlbnQgcmVsZWFzZXMvdXBkYXRlcyBpbiB0aGUgbGFzdCBmaXZlIHllYXJzPwoKRXhj ZWxsZW50IHF1ZXN0aW9uISEhIEJ1dCBJIGhhdmUgbm8gaWRlYSwgaXQncyBiZWVuIGEgY291cGxl IHllYXJzIHNpbmNlIG15IGRkLXdydCByb3V0ZXIgZGllZCBhbmQgaXQgd2FzIGFsd2F5cyBzdXBl ciBzb2xpZC4gRm9yIHNvbWUgcmVhc29uIGluIG15IG15IG1pbmQgSSBmZWx0IHRoYXQgREQtV1JU IGxvc3QgdGhlIHJhY2UgYW5kIE9wZW5XUlQgaGFkIHdvbi4gSSBjYW5ub3QgZ2l2ZSB5b3UgdGhl IHJlYXNvbiBJIGZlbHQgdGhhdCB3YXksIEkganVzdCByZW1lbWJlciB0aGUgc2VudGltZW50LiBQ cmV0dHkgc3VyZSBJIGhhZCByZXNlYXJjaGVkIGF0IHNvbWUgcG9pbnQsIGJ1dCBJIHRyeSBzb29v b28gVkVSWSBoYXJkIHRvIGZvcmdldCBzdHVmZi4gSSBqdXN0IGRvbid0IGhhdmUgdGhlIHJvb20g YCx+KS4KCn5Kb2huIFZhdWdodGVycwoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK TWVzc2FnZTogMTEKRGF0ZTogVGh1LCAyMCBGZWIgMjAyNSAxNTozNDo0MyAtMDUwMApGcm9tOiBC cmlhbiB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IHRyaWx1Z0B0cmlsdWcub3Jn ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBQaG9uZSBjYWxscwpNZXNzYWdlLUlEOiA8NDVmZTkzZjIt NDk5Zi00MGE4LTk2MTUtNzlkNGJmYmIwNmEyQHVuZGVjaWRlZGdhbWVzLmNvbT4KQ29udGVudC1U eXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04OyBmb3JtYXQ9Zmxvd2VkCgpUZWxlcGhvbmUg U1BBTSBpcyBhIHNjb3VyZ2UgdXBvbiB0aGUgZGV2ZWxvcGVkIHdvcmxkLiAgRHVlIHRvIHRoZSBu ZWVkIAp0byBzdXBwb3J0IGxlZ2FjeSBzeXN0ZW1zIGZyb20gdGhlIGRheXMgb2YgUE9UUyBwYXJ0 eSBsaW5lcywgaXQncyBzdGlsbCAKdHJpdmlhbGx5IGVhc3kgdG8gd2FyLWRpYWwgZnJvbSBhbnl3 aGVyZSB3aXRoIGFuIEludGVybmV0IGNvbm5lY3Rpb24gYW5kIAphIFNJUCBwcm92aWRlciB3aWxs aW5nIHRvIGxvb2sgdGhlIG90aGVyIHdheS4gIFNwb29maW5nIGNhbGxlci1pZCB3YXMgCnBvc3Np YmxlIGZyb20gZGF5IDEuCgpNeSBhZHZpY2U/ICBEaXRjaCB0aGUgbGFuZC1saW5lIHVubGVzcyB5 b3UgaGF2ZSByZWFsbHkgdW5yZWxpYWJsZSAKY2VsbHVsYXIgY292ZXJhZ2UgaW4geW91ciBhcmVh LiAgVGhlbiBzZXQgeW91ciBjZWxsIHBob25lIHRvIHNpbGVuY2UgCmNhbGxzIGZyb20gbnVtYmVy cyBub3QgaW4geW91ciBjb250YWN0IGxpc3QuICBUaG9zZSBjYWxscyBzdGlsbCBnbyB0byBWTSAK aWYgdGhlIHNjYW1tZXIgY2FyZXMgdG8gbGVhdmUgYSBtZXNzYWdlLCBidXQgbXkgZXhwZXJpZW5j ZSBpcyB0aGF0IHZlcnkgCmZldyBldmVyIGRvLgoKV2hlbiBJIG1vdmVkIG91dCBvZiBteSBwYXJl bnRzJyBob3VzZSBmb3IgZ29vZCBiYWNrIGluLi4uMjAwNS1pc2g/ICBJIApuZXZlciBnb3QgYSBs YW5kLWxpbmUuICBJJ3ZlIG5ldmVyIG9uY2UgbWlzc2VkIGhhdmluZyBvbmUuCgpJIGtlZXAgdHJ5 aW5nIHRvIGNvbnZpbmNlIG15IEJvb21lciBtb20gdG8gZGl0Y2ggaGVyIGxhbmQtbGluZSwgYW5k IEkgCnRoaW5rIEkndmUgYWxtb3N0IGdvdHRlbiB0aHJvdWdoIHRvIGhlci4gIFNoZSdzIGFscmVh ZHkgc3RvcHBlZCAKYW5zd2VyaW5nIGl0IGFzIGEgbWF0dGVyIG9mIGNvdXJzZSBkdWUgdG8gdGhl IGNyYXp5IGFtb3VudCBvZiBTUEFNIGl0IApnZXRzIChteSBkYWQgZmVsbCBmb3IgYSBjb3VwbGUg c2NhbSBjYWxsZXJzIGEgZmV3IHllYXJzIGFnbywgc28gdGhlIApmbG9vZGdhdGVzIG9wZW5lZC4u LnRoZXkgbmV2ZXIgY2xvc2UpLgoKU28sIHllYWguICBEaXRjaCB0aGUgY29wcGVyIGlmIGl0J3Mg YXQgYWxsIGZlYXNpYmxlLgoKL3JhbnQKCiQwLjAyLAotQnJpYW4KPHNuaXA+Cgo+Pj4gT24gVGh1 LCAyMCBGZWIgMjAyNSwgSmFtZXMgSm9uZXMgdmlhIFRyaUxVRyB3cm90ZToKPj4+Cj4+Pj4gSGVs cCBuZWVkZWQuIE15IGhvbWUgcGhvbmUgbnVtYmVyIGhhcyBiZWVuIHRhZ2dlZCBieSBhIHNwb29m ZXIgb2Ygc29ydHMuCj4+Pj4gQWJvdXQgZXZlcnkgZml2ZSBtaW51dGVzLCB0aGVyZSBpcyBhIGNh bGwgd2hpY2ggaGFzIGFzIGl0cyBpZGVudGlmaWVyIGEKPj4+PiBwaG9uZSBudW1iZXIgd2l0aCBh IHRvd24gdXN1YWxseSBpbiBOb3J0aCBjYXJvbGluYS4gRWFjaCBjYWxsIHdpbGwgYmUgYQo+Pj4+ IGRpZmZlcmVudCBudW1iZXIvdG93biBpZGVudGlmaWVyLgo+Pj4+Cj4+Pj4gQW55IHRob3VnaHRz IG9uIGhvdyB0byBzdG9wIHRoaXM/CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpN ZXNzYWdlOiAxMgpEYXRlOiBUaHUsIDIwIEZlYiAyMDI1IDE2OjM3OjI2IC0wNTAwCkZyb206IEph bWVzIEpvbmVzIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogQnJpYW4gPGx1Z21h aWxAdW5kZWNpZGVkZ2FtZXMuY29tPiwgIFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwCglHZW5l cmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10g UGhvbmUgY2FsbHMKTWVzc2FnZS1JRDoKCTxDQUFvNkh0MlA0cW13UEVKVGs5ZTY5Q1FvNFJkdEJm QUJ6YkdnNVgyPUVVVXhaMXB2MGdAbWFpbC5nbWFpbC5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9w bGFpbjsgY2hhcnNldD0iVVRGLTgiCgpCcmlhbgoKKioqKiogVGVsZXBob25lIFNQQU0gaXMgYSBz Y291cmdlIHVwb24gdGhlIGRldmVsb3BlZCB3b3JsZC4KQWdyZWVkLgoKVGhhbmtzIGZvciB0aGUg dGhvdWdodHMuIFRoZSBwaG9uZSB3YXMgb3JpZ2luYWxseSBhIHBvdHMgKGNvcHBlcikgbnVtYmVy CnN0YXJ0ZWQgaW4gMTk5MiwgYnV0IGZvciB0aGUgcGFzdCAxMCB5ZWFycyB0aGUgbnVtYmVyIGlz IG5vdyBhIHZvbmFnZQpzeXN0ZW0uIFRoZSBvbmx5IHJlYXNvbiBmb3Iga2VlcGluZyB0aGUgbnVt YmVyIGlzIHJlbGF0aXZlcywgYnVzaW5lc3MKY29ubmVjdGlvbnMsIGFuZCBjaHVyY2ggY29ubmVj dGlvbnMuIEkgaGF2ZW4ndCBmb3VuZCBhbnl0aGluZyBvbiB2b25hZ2UKdGhhdCB3b3VsZCBjaGVj ayBhIGNvbnRhY3QgbGlzdCBhcyBhIHBhc3MgdGhyb3VnaCwgc28gdGhlIHVzZSBvZiBBc3Rlcmlz awphcyBhIGJsb2NrL3Bhc3MgZGV2aWNlIG1ha2VzIHNlbnNlLiBJIHRoaW5rIEkgaGF2ZSBlbm91 Z2ggTGlua3N5cyBwaG9uZQpkZXZpY2VzLCBJIHNob3VsZCBiZSBhYmxlIHRvIHNldCB1cCBzdWNo IGEgZGV2aWNlLgpXZSBzaGFsbCBzZWUuCkFnYWluIC0gVGhhbmtzIGZvciB0aGUgdGhvdWdodHMu CmpjIGpvbmVzIC0gS0s0VlVTCgpPbiBUaHUsIEZlYiAyMCwgMjAyNSBhdCAzOjM04oCvUE0gQnJp YW4gdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+IHdyb3RlOgoKPiBUZWxlcGhvbmUgU1BB TSBpcyBhIHNjb3VyZ2UgdXBvbiB0aGUgZGV2ZWxvcGVkIHdvcmxkLiAgRHVlIHRvIHRoZSBuZWVk Cj4gdG8gc3VwcG9ydCBsZWdhY3kgc3lzdGVtcyBmcm9tIHRoZSBkYXlzIG9mIFBPVFMgcGFydHkg bGluZXMsIGl0J3Mgc3RpbGwKPiB0cml2aWFsbHkgZWFzeSB0byB3YXItZGlhbCBmcm9tIGFueXdo ZXJlIHdpdGggYW4gSW50ZXJuZXQgY29ubmVjdGlvbiBhbmQKPiBhIFNJUCBwcm92aWRlciB3aWxs aW5nIHRvIGxvb2sgdGhlIG90aGVyIHdheS4gIFNwb29maW5nIGNhbGxlci1pZCB3YXMKPiBwb3Nz aWJsZSBmcm9tIGRheSAxLgo+Cj4gTXkgYWR2aWNlPyAgRGl0Y2ggdGhlIGxhbmQtbGluZSB1bmxl c3MgeW91IGhhdmUgcmVhbGx5IHVucmVsaWFibGUKPiBjZWxsdWxhciBjb3ZlcmFnZSBpbiB5b3Vy IGFyZWEuICBUaGVuIHNldCB5b3VyIGNlbGwgcGhvbmUgdG8gc2lsZW5jZQo+IGNhbGxzIGZyb20g bnVtYmVycyBub3QgaW4geW91ciBjb250YWN0IGxpc3QuICBUaG9zZSBjYWxscyBzdGlsbCBnbyB0 byBWTQo+IGlmIHRoZSBzY2FtbWVyIGNhcmVzIHRvIGxlYXZlIGEgbWVzc2FnZSwgYnV0IG15IGV4 cGVyaWVuY2UgaXMgdGhhdCB2ZXJ5Cj4gZmV3IGV2ZXIgZG8uCj4KPiBXaGVuIEkgbW92ZWQgb3V0 IG9mIG15IHBhcmVudHMnIGhvdXNlIGZvciBnb29kIGJhY2sgaW4uLi4yMDA1LWlzaD8gIEkKPiBu ZXZlciBnb3QgYSBsYW5kLWxpbmUuICBJJ3ZlIG5ldmVyIG9uY2UgbWlzc2VkIGhhdmluZyBvbmUu Cj4KPiBJIGtlZXAgdHJ5aW5nIHRvIGNvbnZpbmNlIG15IEJvb21lciBtb20gdG8gZGl0Y2ggaGVy IGxhbmQtbGluZSwgYW5kIEkKPiB0aGluayBJJ3ZlIGFsbW9zdCBnb3R0ZW4gdGhyb3VnaCB0byBo ZXIuICBTaGUncyBhbHJlYWR5IHN0b3BwZWQKPiBhbnN3ZXJpbmcgaXQgYXMgYSBtYXR0ZXIgb2Yg Y291cnNlIGR1ZSB0byB0aGUgY3JhenkgYW1vdW50IG9mIFNQQU0gaXQKPiBnZXRzIChteSBkYWQg ZmVsbCBmb3IgYSBjb3VwbGUgc2NhbSBjYWxsZXJzIGEgZmV3IHllYXJzIGFnbywgc28gdGhlCj4g Zmxvb2RnYXRlcyBvcGVuZWQuLi50aGV5IG5ldmVyIGNsb3NlKS4KPgo+IFNvLCB5ZWFoLiAgRGl0 Y2ggdGhlIGNvcHBlciBpZiBpdCdzIGF0IGFsbCBmZWFzaWJsZS4KPgo+IC9yYW50Cj4KPiAkMC4w MiwKPiAtQnJpYW4KPiA8c25pcD4KPgo+ID4+PiBPbiBUaHUsIDIwIEZlYiAyMDI1LCBKYW1lcyBK b25lcyB2aWEgVHJpTFVHIHdyb3RlOgo+ID4+Pgo+ID4+Pj4gSGVscCBuZWVkZWQuIE15IGhvbWUg cGhvbmUgbnVtYmVyIGhhcyBiZWVuIHRhZ2dlZCBieSBhIHNwb29mZXIgb2YKPiBzb3J0cy4KPiA+ Pj4+IEFib3V0IGV2ZXJ5IGZpdmUgbWludXRlcywgdGhlcmUgaXMgYSBjYWxsIHdoaWNoIGhhcyBh cyBpdHMgaWRlbnRpZmllcgo+IGEKPiA+Pj4+IHBob25lIG51bWJlciB3aXRoIGEgdG93biB1c3Vh bGx5IGluIE5vcnRoIGNhcm9saW5hLiBFYWNoIGNhbGwgd2lsbCBiZQo+IGEKPiA+Pj4+IGRpZmZl cmVudCBudW1iZXIvdG93biBpZGVudGlmaWVyLgo+ID4+Pj4KPiA+Pj4+IEFueSB0aG91Z2h0cyBv biBob3cgdG8gc3RvcCB0aGlzPwo+IC0tCj4gVGhpcyBtZXNzYWdlIHdhcyBzZW50IHRvOiBqYyBq b25lcyA8amMuam9uZXNAdHVmdHV4LmNvbT4KPiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIGJsYW5r IG1lc3NhZ2UgdG8gdHJpbHVnLWxlYXZlQHRyaWx1Zy5vcmcgZnJvbSB0aGF0Cj4gYWRkcmVzcy4K PiBUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL3RyaWx1Zwo+IFVuc3Vic2NyaWJlIG9yIGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViICA6 Cj4gaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL29wdGlvbnMvdHJpbHVnL2pjLmpvbmVz JTQwdHVmdHV4LmNvbQo+IFdlbGNvbWUgdG8gVHJpTFVHOiBodHRwczovL3RyaWx1Zy5vcmcvd2Vs Y29tZQoKCgotLSAKSmMgSm9uZXMKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1l c3NhZ2U6IDEzCkRhdGU6IFRodSwgMjAgRmViIDIwMjUgMjI6MTU6MzIgKzAwMDAgKEdNVCkKRnJv bTogSm9zZXBoIE1hY2sgTkEzVCB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IE1h dHRoZXcgR2xhc3NtYW4gPG1hdHRoZXdnbGFzc21hbjc4QGdtYWlsLmNvbT4sICBUcmlhbmdsZSBM aW51eAoJVXNlcnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNzaW9uIDx0cmlsdWdAdHJpbHVnLm9yZz4K U3ViamVjdDogUmU6IFtUcmlMVUddIEhvbWUgVlBOPwpNZXNzYWdlLUlEOiA8YWxwaW5lLkRFQi4y LjAyLjI1MDIyMDIyMDQxNjAuMTkxNjhAcGlsb3QudHJpbHVnLm9yZz4KQ29udGVudC1UeXBlOiBU RVhUL1BMQUlOOyBjaGFyc2V0PVVTLUFTQ0lJOyBmb3JtYXQ9Zmxvd2VkCgpPbiBUaHUsIDIwIEZl YiAyMDI1LCBNYXR0aGV3IEdsYXNzbWFuIHZpYSBUcmlMVUcgd3JvdGU6Cgo+IFdoYXQgST9tIGxv b2tpbmcgdG8gZG8gaXMgdG8gY3JlYXRlIHNvbWUgdGhpbmcgYWxsb3dzIG1lIHRvIHJlbW90ZSBp bnRvIAo+IG15IGhvbWUgbmV0d29yawoKSSB1c2Ugb3BlbnZwbi4gWW91ciByZW1vdGUgbGFwdG9w IGdldHMgYW4gSVAgaW4geW91ciBob21lIG5ldHdvcmsuIFlvdSAKYXBwZWFyIHRvIGJlIGF0IGhv bWUgKG1heWJlIGFsbCB2cG5zIGRvIHRoYXQpLgoKVGhlIHNldHVwIHNjcmlwdCBpcyBhIGJpdCBt eXN0ZXJpb3VzIGFuZCBjcnlwdGljLCBidXQgSSBnb3QgaXQgdG8gd29yayAKZXZlbnR1YWxseS4g VGhpcyB3YXMgYmFjayBhYm91dCAxNSB5ZWFycyBhZ28sIHdoZW4gb3BlbnZwbiB3YXMgdGhlIG9u bHkgCnRoaW5nLiBJIHNldCB0aGUgY2VydGlmaWNhdGVzIHRvIGV4cGlyZSBpbiAxMCB5ZWFycyBh bmQgZm9yZ290IGFib3V0IHRoZW0uIApJIHdhcyBtaWZmZWQgb25lIGRheSB0byBmaW5kIHVuZXhw ZWN0ZWRseSB0aGF0IG9wZW52cG4sIHdoaWNoIGhhZCB3b3JrZWQgCnJlbGlhYmx5IGZvciBzbyBs b25nLCBqdXN0IGRpZG4ndCB3b3JrIGFueW1vcmUuIEkganVzdCByZXJhbiB0aGUgc2V0dXAgCnNj cmlwdCB0byBtYWtlIG5ldyBjZXJ0aWZpY2F0ZXMgdGhhdCBleHBpcmVkIGluIGFub3RoZXIgMTAg eWVhcnMuCgpNeSBzb24gc3VnZ2VzdGVkIFdpcmVndWFyZCwgYnV0IEkgY291bGRuJ3QgZmlndXJl IG91dCBob3cgdG8gc2V0IGl0IHVwIChJIApjb3VsZG4ndCBmaWd1cmUgb3V0IGhvdyBpdCB3b3Jr ZWQgZWl0aGVyKS4gSXQgd2FzIGp1c3QgZWFzaWVyIHRvIGdlbmVyYXRlIApuZXcgY2VydGlmaWNh dGVzIGZvciBvcGVudnBuLgoKSm9lCgotLSAKSm9zZXBoIE1hY2sgTkEzVCBFTUUoQixEKSwgRk0w NWx3IE5vcnRoIENhcm9saW5hCkRvbid0IHVwZ3JhZGUgYSB3b3JraW5nIG1hY2hpbmUgLSBpdCB3 b24ndCB3b3JrIGFueQpiZXR0ZXIgLSBpdCBjb3VsZCB3b3JrIHdvcnNlOyBpdCBtYXkgbm90IHdv cmsgYXQgYWxsLgpIb21lcGFnZSBodHRwOi8vd3d3LmF1c3RpbnRlay5jb20vIEl0J3MgR05VL0xp bnV4IQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDE0CkRhdGU6 IFRodSwgMjAgRmViIDIwMjUgMTM6MTA6MzUgLTA1MDAKRnJvbTogRHdhaW4gU2ltcyB2aWEgVHJp TFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IERhdmlkIEJ1cnRvbiA8bmNkYXZlNGxpZmVAZ21h aWwuY29tPgpDYzogVHJpYW5nbGUgTGludXggVXNlcnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNzaW9u IDx0cmlsdWdAdHJpbHVnLm9yZz4KU3ViamVjdDogUmU6IFtUcmlMVUddIEFkdmljZSBQbGVhc2UK TWVzc2FnZS1JRDoKCTxDQUpORFJIS0t4WFl5K3J2VXN2LXA0NHR4N29SQ0FLTG1oU3dMTytuVmt4 cGtPS2FZRFFAbWFpbC5nbWFpbC5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNl dD0iVVRGLTgiCgpObyBudW0gbG9jayBrZXkuICBUaGUgQ2FwcyBsb2NrIGtleSBkb2VzIGhhdmUg YW4gTEVEIG9uIGl0IGFuZCBub3RoaW5nCmhhcHBlbnMgd2hlbiBwcmVzc2VkLgooSSBhbSBwcmV0 dHkgY2VydGFpbiBub3RoaW5nIGlzIHJ1bm5pbmcgb24gdGhpcyBiZWFzdCEpCgpJIGxlZnQgaXQg b24gb3ZlciBuaWdodCBhbmQgSSBhbSByZWNoYXJnaW5nIGl0IHRvZGF5LiAgU3RpbGwgbm90aGlu Zy4gIEp1c3QKYSBwYXBlciB3ZWlnaHQuCgpEd2FpbgoKCk9uIFdlZCwgRmViIDE5LCAyMDI1IGF0 IDExOjQx4oCvUE0gRGF2aWQgQnVydG9uIDxuY2RhdmU0bGlmZUBnbWFpbC5jb20+IHdyb3RlOgoK PiBEb2VzIHByZXNzaW5nIHRoZSBDYXBzTG9jayBvciBOdW1Mb2NrIGtleSBjYXVzZSB0aGUgY29y cmVzcG9uZGluZyBzdGF0dXMKPiBsaWdodHMgdG8gZ28gb24gYW5kIG9mZj8KPiAoSWYgc28sIHRo YXQgd291bGQgbWVhbiBpdCBpcyBydW5uaW5nLCBiZWNhdXNlIHRoZSBDUFUgaGFzIHRvIHJlY2Vp dmUgdGhlCj4ga2V5c3Ryb2tlcyBhbmQgdGVsbCB0aG9zZSBsaWdodHMgdG8gZ28gb24gYW5kIG9m Zi4pCj4KPgo+IE9uIFdlZCwgRmViIDE5LCAyMDI1IGF0IDg6MzDigK9QTSBEd2FpbiBTaW1zIDxk c2ltc0BiYXlsZWFmbmMub3JnPiB3cm90ZToKPgo+PiBIb29rZWQgdXAgYSBnb29kIHdvcmtpbmcg bW9uaXRvciB2aWEgSERNSS4gIE5vIGNoYW5nZSBpbiBiZWhhdmlvciBhZnRlcgo+PiBwdXR0aW5n IHRoZSBiYXR0ZXJ5IGJhY2sgaW4uCj4+Cj4+IER3YWluCj4+Cj4+IE9uIFdlZCwgRmViIDE5LCAy MDI1IGF0IDY6MjbigK9QTSBEd2FpbiBTaW1zIDxkc2ltc0BiYXlsZWFmbmMub3JnPiB3cm90ZToK Pj4KPj4+IEl0IGlzIEhETUkuICBJJ2xsIHRyeSBpdCBpbiBhIHdoaWxlIGFuZCBsZXQgeW91IGtu b3cuCj4+Pgo+Pj4gRHdhaW4KPj4+Cj4+PiBPbiBXZWQsIEZlYiAxOSwgMjAyNSBhdCA0OjU14oCv UE0gV2VzIEdhcnJpc29uIDx3ZXNAeGl0ZWNodXNhLmNvbT4gd3JvdGU6Cj4+Pgo+Pj4+IEhvbmVz dGx5IGl0IHNvdW5kcyBsaWtlIHNvbWV0aGluZyBtYXkgYmUgd3Jvbmcgd2l0aCB0aGUgKnNjcmVl biouCj4+Pj4KPj4+PiBDYW4geW91IHRyeSBwbHVnZ2luZyBpbnRvIGFuIGV4dGVybmFsIG1vbml0 b3I/ICBQcmVmZXJhYmx5IHVzaW5nIHRoZQo+Pj4+IDE1LXBpbiBWR0EgZC1zdWIgaWYgeW91ciBs YXB0b3AgaXMgb2xkIGVub3VnaCB0byBoYXZlIHRoYXQuCj4+Pj4KPj4+PiBUaGVuIHRyeSB0b2dn bGluZyB0aHJvdWdoIHNjcmVlbnMgd2l0aCBGbitGNwo+Pj4+IF9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+Pj4+IFdlc2xleSBTLiBHYXJyaXNvbgo+Pj4+IE5ldHdvcmsgRW5naW5l ZXIKPj4+PiBYaXRlY2ggQ29tbXVuaWNhdGlvbnMsIEluYy4KPj4+PiBwaG9uZTogICg5MTkpIDI2 MC0wODAzCj4+Pj4gZmF4OiAgICAgICAoOTE5KSA5MzItNTA1MQo+Pj4+IF9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KPj4+PiAiTGVhZCB1cyBub3QgaW50byB0ZW1wdGF0aW9uLCBi dXQgZGVsaXZlciB1cyBmcm9tIGVtYWlsLiIKPj4+Pgo+Pj4+Cj4+Pj4gT24gV2VkLCBGZWIgMTks IDIwMjUgYXQgNDo1MuKAr1BNIER3YWluIFNpbXMgdmlhIFRyaUxVRyA8Cj4+Pj4gdHJpbHVnQHRy aWx1Zy5vcmc+IHdyb3RlOgo+Pj4+Cj4+Pj4+IERhdmlkIGFuZCBCaWxsOgo+Pj4+Pgo+Pj4+PiBU aGFuayB5b3Ugc28gbXVjaCBmb3IgdGhlIGdyZWF0IHN1Z2dlc3Rpb25zLiAgSSBhbSBnaXZpbmcg dGhpcyB0aGUgb2xkCj4+Pj4+IGNvbGxlZ2UgdHJ5Li4uLi4KPj4+Pj4KPj4+Pj4gT24gV2VkLCBG ZWIgMTksIDIwMjUgYXQgMTE6NTPigK9BTSBEYXZpZCBCdXJ0b24gPG5jZGF2ZTRsaWZlQGdtYWls LmNvbT4KPj4+Pj4gd3JvdGU6Cj4+Pj4+Cj4+Pj4+ID4gRHdhaW4sIHRyeSBkaXNjb25uZWN0aW5n IG9yIHJlbW92aW5nIHRoZSBiYXR0ZXJ5IGVudGlyZWx5LCBhbmQKPj4+Pj4gPiBkaXNjb25uZWN0 aW5nIHRoZSBBQyBhZGFwdGVyLCB0aGVuIHByZXNzaW5nIHRoZSBwb3dlciBidXR0b24sIHRoZW4K Pj4+Pj4gPiByZWNvbm5lY3RpbmcgdGhlIEFDIGFkYXB0ZXIgb25seSwgYW5kIHRoZW4gdHJ5aW5n IGFnYWluIHRvIHBvd2VyIGl0Cj4+Pj4+IG9uLgo+Pj4+PiA+Cj4+Pj4+Cj4+Pj4+IEJhdHRlcnkg aGFzIG5vdyBiZWVuIHB1bGxlZCBvdXQgY29tcGxldGVseS4gIFRyaWVkIHRvIHBvd2VyIG9uIGFu ZAo+Pj4+PiBub3RoaW5nLAo+Pj4+PiBhcyBleHBlY3RlZC4gIFJlY29ubmVjdGVkIGEgbmV3IFVT QiBjaGFyZ2VyLi4uLgo+Pj4+Pgo+Pj4+PiBJIGhhdmUgbm93IGNvbm5lY3RlZCBhIHRoaXJkIGRp ZmZlcmVudCBVU0ItQyBjaGFyZ2VyIHdpdGggdGhlIGJhdHRlcnkKPj4+Pj4gb3V0LAo+Pj4+PiB0 aGlzIG9uZSBvZmYgb2YgbXkgSFAgRHJhZ29uZmx5ICg2NSB3YXR0KS4gIFNhbWUgYmVoYXZpb3Iu ICAgVGhlCj4+Pj4+IGNoYXJnZXIKPj4+Pj4gdGhhdCBjYW1lIHdpdGggaXQgaGFzIGJlZW4gcG93 ZXJpbmcgYW4gb2xkZXIgWDEgQ2FyYm9uICg0NSB3YXR0KSBzaW5jZQo+Pj4+PiB0aGlzCj4+Pj4+ IHN0YXJ0ZWQuICBTbyBJIHRoaW5rIHRoYXQgb25lIHdhcyBPSyB0b28uICBJIHRyaWVkIGEgZGlm ZmVyZW50IEdhYU4KPj4+Pj4gY2hhcmdlcgo+Pj4+PiAoNjUgd2F0dCkgSSB1c2Ugd2l0aCB0aGUg RHJhZ29uZmx5IGFsbCB0aGUgdGltZS4gIE5vIGRpZmZlcmVuY2UuCj4+Pj4+Cj4+Pj4+ID4KPj4+ Pj4gPiBJZiBub3QsIGl0IGNvdWxkIGJlIHRoZSBwb3dlciBzdXBwbHkuIFJlY29ubmVjdCB0aGUg YmF0dGVyeS4gSSB0aGluawo+Pj4+PiB0aGF0Cj4+Pj4+ID4gbGFwdG9wIHVzZXMgYSBVU0IgQyBj aGFyZ2VyLCBzbzoKPj4+Pj4gPgo+Pj4+Pgo+Pj4+PiBJdCBkb2VzLgo+Pj4+Pgo+Pj4+Pgo+Pj4+ PiA+IDEuIFRyeSBjaGFyZ2luZyB0aGUgbGFwdG9wIHdpdGggYSBkaWZmZXJlbnQgVVNCIGNoYXJn ZXIuIEFuZCwKPj4+Pj4gPgo+Pj4+Pgo+Pj4+PiBEaWQgdGhhdC4KPj4+Pj4KPj4+Pj4KPj4+Pj4g PiAyLiBUcnkgdXNpbmcgdGhlIGxhcHRvcCdzIFVTQi1DIGNoYXJnZXIgdG8gcnVuIHNvbWV0aGlu ZyBlbHNlCj4+Pj4+IChwcmVmZXJhYmx5Cj4+Pj4+ID4gc29tZXRoaW5nIHRoYXQgd2lsbCBsb2Fk IGl0IGhlYXZpbHksIGxpa2UgdGhlIGxhcHRvcCBkb2VzKS4KPj4+Pj4gPgo+Pj4+PiA+IEkgdGhp bmsgdGhhdCB3aGVuIHlvdSBmaXJzdCBjb25uZWN0IHRoZSBjaGFyZ2VyIHRvIHRoZSBsYXB0b3As IGlmIHRoZQo+Pj4+PiA+IGJhdHRlcnkgaXMgaW5zdGFsbGVkIHRoZSBMRUQgb24gdGhlICJUaGlu a3BhZCIgbG9nbyBzaG91bGQgYmxpbmsuCj4+Pj4+IFdhdGNoIGl0Cj4+Pj4+ID4gYXMgeW91IHBs dWcgaW4gdGhlIGNoYXJnZXIuIERvZXMgaXQgYmxpbms/Cj4+Pj4+ID4KPj4+Pj4KPj4+Pj4gVGhl IHJlZCBMRUQgb24gdGhlIHRvcCBjb3ZlciBvZiB0aGUgUDE0cyBkb2VzIGNvbWUgb24gd2hlbiBJ IHBsdWcgaXQgaW4KPj4+Pj4gd2l0aCBhbnkgb2YgdGhlIDMgY2hhcmdlcnMuICBBbmQgdGhlIHdo aXRlIExFRCBvbiB0aGUgcG93ZXIgYnV0dG9uLgo+Pj4+PiBBbmQKPj4+Pj4gdGhlIGtleWJvYXJk IExFRHMgY3ljbGUgb24gYW5kIG9mZi4gICBCdXQgbm8gYmVlcHMgYW5kIG5vdGhpbmcgb24gdGhl Cj4+Pj4+IGRpc3BsYXkuLiAgSSBhbHNvIGdldCBhIHJlZC9vcmFuZ2UgTEVEIG5leHQgdG8gdGhl IFBvd2VyIFVTQiBwb3J0Lgo+Pj4+Pgo+Pj4+PiA+Cj4+Pj4+ID4gRGF2ZQo+Pj4+PiA+Cj4+Pj4+ ID4KPj4+Pj4gPiBPbiBXZWQsIEZlYiAxOSwgMjAyNSBhdCAxMToyN+KAr0FNIEJpbGwgRmFycm93 IHZpYSBUcmlMVUcgPAo+Pj4+PiB0cmlsdWdAdHJpbHVnLm9yZz4KPj4+Pj4gPiB3cm90ZToKPj4+ Pj4gPgo+Pj4+PiA+PiBCZWZvcmUgeW91IGFiYW5kb24gaG9wZToKPj4+Pj4gPj4KPj4+Pj4gPj4g RGlkIHlvdSB0cnkgYSBmb3JjZWQgaGFyZCByZXNldCBieSBob2xkaW5nIGRvd24gdGhlIHBvd2Vy IGJ1dHRvbgo+Pj4+PiBmb3IgMzAKPj4+Pj4gPj4gc2Vjb25kcywgZGlzY29ubmVjdGluZyBwb3dl ciBhbmQgYmF0dGVyeT8KPj4+Pj4gPj4KPj4+Pj4gPgo+Pj4+PiBCaWxsLCBJIGhhdmUgaGVsZCB0 aGUgcG93ZXIgYnV0dG9uIGRvd24gZm9yIGEgdmVyeSBsb25nIHRpbWUuICBUaGUKPj4+Pj4gS2V5 Ym9hcmQKPj4+Pj4gbGlnaHRzIGN5Y2xlIG9uIGFuZCBvZmYgZXZlcnkgMTUgc2Vjb25kcyBvciBz byB3aGlsZSBJIGhhdmUgdGhlIGJ1dHRvbgo+Pj4+PiBwcmVzc2VkLCBidXQgbm90aGluZyBlbHNl IGhhcHBlbnMuCj4+Pj4+Cj4+Pj4+ID4KPj4+Pj4gPj4gRGlkIHlvdSB0cnkgYm9vdGluZyBpbnRv IExlbm92byByZWNvdmVyeSBtb2RlPwo+Pj4+PiA+Pgo+Pj4+PiA+Cj4+Pj4+IEl0IHdpbGwgbm90 IGJvb3QgaW50byBhbnl0aGluZy4gIEp1c3QgYSBibGFuayBzY3JlZW4gYW5kIG5vIGJlZXBzLgo+ Pj4+Pgo+Pj4+PiBJIGFtIHN0YXJ0aW5nIHRvIGxvc2UgaG9wZSEKPj4+Pj4KPj4+Pj4gRHdhaW4K Pj4+Pj4KPj4+Pj4KPj4+Pj4gPj4KPj4+Pj4gPj4gQmlsbAo+Pj4+PiA+Pgo+Pj4+PiA+Pgo+Pj4+ PiA+PiBPbiBXZWQsIEZlYiAxOSwgMjAyNSBhdCAxMToxNeKAr0FNIER3YWluIFNpbXMgdmlhIFRy aUxVRyA8Cj4+Pj4+IHRyaWx1Z0B0cmlsdWcub3JnCj4+Pj4+ID4+ID4KPj4+Pj4gPj4gd3JvdGU6 Cj4+Pj4+ID4+Cj4+Pj4+ID4+ID4gTWFueSB0aGFua3MgdG8gYWxsIHdobyByZXBsaWVkLiAgSGVy ZSBJIGFtIHdpdGggYW4gdXBkYXRlLgo+Pj4+PiA+PiA+Cj4+Pj4+ID4+ID4gSSB3YXMgYWJsZSB0 byBwdWxsIHRoZSBib3R0b20gcGxhdGUgb2ZmIG9mIHRoZSBQMTRzIGxhc3QgZXZlbmluZy4KPj4+ Pj4gPj4gPiBOb3RoaW5nIGxvb2tzIGFtaXNzLiAgVGhlIGJhdHRlcnkgbG9va3MgYnJhbmQgbmV3 LiBObyBzd2VsbGluZyBhdAo+Pj4+PiBhbGwKPj4+Pj4gPj4gPiAodW5saWtlIG1vc3QgRGVsbHMh ICAgVGhpcyBpcyB0aGUgYnJhbmQgSSBoYXZlIGVuY291bnRlcmVkIHRoaXMKPj4+Pj4gdGhlIG1v c3QKPj4+Pj4gPj4gPiBvbi4pCj4+Pj4+ID4+ID4KPj4+Pj4gPj4gPiBTbyB0aGlzIHN5c3RlbSBo YXMgMTZHQiBvZiBERFIgUkFNLCBhbmQgaXQgYXBwZWFycyB0aGF0IDhHQiBpcwo+Pj4+PiBzb2xk ZXJlZAo+Pj4+PiA+PiBvbgo+Pj4+PiA+PiA+IHRoZSBNQiBhbmQgOCBHQiBpcyBpbiBhIHNpbmds ZSBESU1NIHNsb3QuCj4+Pj4+ID4+ID4KPj4+Pj4gPj4gPiBJIHB1bGxlZCB0aGUgRElNTSBhbmQg dHJpZWQgYWdhaW4uICBObyBjaGFuZ2UgaW4gYmVoYXZpb3IuCj4+Pj4+ID4+ID4KPj4+Pj4gPj4g PiBJIGFsc28gcHVsbGVkIHRoZSBOVk1lIGNhcmQgYW5kIHRyaWVkIHRoYXQgY29uZmlnLiAgTm8g Y2hhbmdlLgo+Pj4+PiA+PiA+Cj4+Pj4+ID4+ID4gSSBhbSBzdGFydGluZyB0byBjb25jbHVkZSB0 aGF0IHRoZSBwcm9ibGVtIGxpZXMgZGVlcCBpbiB0aGUKPj4+Pj4gbW90aGVyYm9hcmQKPj4+Pj4g Pj4gPiBzb21lcGxhY2UsIGFuZCB0aGUgR1BVIHNlZW1zIHZlcnkgc3VzcGVjdC4KPj4+Pj4gPj4g Pgo+Pj4+PiA+PiA+IEkgYW0gbm93IGxlZnQgd2l0aCBhIHZlcnkgbmV3IGxvb2tpbmcgcGFwZXIg d2VpZ2h0LiAgU2lnaC4gIEkKPj4+Pj4gZ3Vlc3MgSQo+Pj4+PiA+PiBjb3VsZAo+Pj4+PiA+PiA+ IHNlbGwgaXQgZm9yIHBhcnRzPwo+Pj4+PiA+PiA+Cj4+Pj4+ID4+ID4gRHdhaW4KPj4+Pj4gPj4g Pgo+Pj4+PiA+PiA+Cj4+Pj4+ID4+ID4gT24gVHVlLCBGZWIgMTgsIDIwMjUgYXQgMzoyMOKAr1BN IEpvc2VwaCBNYWNrIE5BM1QgPAo+Pj4+PiBqbWFja0B0cmlsdWcub3JnPgo+Pj4+PiA+PiB3cm90 ZToKPj4+Pj4gPj4gPgo+Pj4+PiA+PiA+ID4gT24gVHVlLCAxOCBGZWIgMjAyNSwgRHdhaW4gU2lt cyB3cm90ZToKPj4+Pj4gPj4gPiA+Cj4+Pj4+ID4+ID4gPiA+IE5vIGJlZXBzLiAgVGhhdCBpcyBh IGJhZCBzaWduIQo+Pj4+PiA+PiA+ID4KPj4+Pj4gPj4gPiA+IHllcy4gdGhhdCBtZWFucyB0aGUg QklPUyBkaWRuJ3Qgc3RhcnQgY2hlY2tpbmcgdGhlIGhhcmR3YXJlLgo+Pj4+PiA+PiA+ID4KPj4+ Pj4gPj4gPiA+IGlzIHRoZSBiYXR0ZXJ5IE9LIChub3Qgc3dvbGxlbiwgY2hhcmdlZCwgcHVsbCBv dXQgdGhlIGJhdHRlcnkKPj4+Pj4gYW5kIHJ1bgo+Pj4+PiA+PiBvZmYKPj4+Pj4gPj4gPiA+IHRo ZSBwb3dlciBjYWJsZSk/Cj4+Pj4+ID4+ID4gPgo+Pj4+PiA+PiA+ID4gdHJ5IHN3YXBwaW5nIHRo ZSBtZW1vcnkgc3RpY2tzIGFyb3VuZC4gSW4gc29tZSBtYWNoaW5lcywgdGhlCj4+Pj4+IEJJT1Mg d2lsbAo+Pj4+PiA+PiA+IG5vdAo+Pj4+PiA+PiA+ID4gcnVuIGlmIHRoZSBtZW1vcnkgaXMgZGVh ZC4gSW4gb3RoZXJzIHRoZSBCSU9TIG1ha2VzIGEgbG91ZCBiZWVwCj4+Pj4+IGlmCj4+Pj4+ID4+ ID4gdGhlcmUncwo+Pj4+PiA+PiA+ID4gbm8gbWVtb3J5Lgo+Pj4+PiA+PiA+ID4KPj4+Pj4gPj4g PiA+IERvZXMgdGhlIE9OIGJ1dHRvbiBmbGFzaCB3aGVuIHlvdSBwcmVzcyBpdD8KPj4+Pj4gPj4g PiA+Cj4+Pj4+ID4+ID4gPiBKb2UKPj4+Pj4gPj4gPiA+Cj4+Pj4+ID4+ID4gPiAtLQo+Pj4+PiA+ PiA+ID4gSm9zZXBoIE1hY2sgTkEzVCBFTUUoQixEKSwgRk0wNWx3IE5vcnRoIENhcm9saW5hCj4+ Pj4+ID4+ID4gPiBEb24ndCB1cGdyYWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29uJ3Qgd29y ayBhbnkKPj4+Pj4gPj4gPiA+IGJldHRlciAtIGl0IGNvdWxkIHdvcmsgd29yc2U7IGl0IG1heSBu b3Qgd29yayBhdCBhbGwuCj4+Pj4+ID4+ID4gPiBIb21lcGFnZSBodHRwOi8vd3d3LmF1c3RpbnRl ay5jb20vIEl0J3MgR05VL0xpbnV4IQo+Pj4+PiA+PiA+ID4KPj4+Pj4gPj4gPiA+Cj4+Pj4+ID4+ ID4gLS0KPj4+Pj4gPj4gPiBUaGlzIG1lc3NhZ2Ugd2FzIHNlbnQgdG86IEJpbGwgRmFycm93IDxi aWxsLmZhcnJvd0BnbWFpbC5jb20+Cj4+Pj4+ID4+ID4gVG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBi bGFuayBtZXNzYWdlIHRvIHRyaWx1Zy1sZWF2ZUB0cmlsdWcub3JnCj4+Pj4+IGZyb20KPj4+Pj4g Pj4gdGhhdAo+Pj4+PiA+PiA+IGFkZHJlc3MuCj4+Pj4+ID4+ID4gVHJpTFVHIG1haWxpbmcgbGlz dCA6Cj4+Pj4+IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9saXN0aW5mby90cmlsdWcK Pj4+Pj4gPj4gPiBVbnN1YnNjcmliZSBvciBlZGl0IG9wdGlvbnMgb24gdGhlIHdlYiAgOgo+Pj4+ PiA+PiA+Cj4+Pj4+IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25zL3RyaWx1 Zy9iaWxsLmZhcnJvdyU0MGdtYWlsLmNvbQo+Pj4+PiA+PiA+IFdlbGNvbWUgdG8gVHJpTFVHOiBo dHRwczovL3RyaWx1Zy5vcmcvd2VsY29tZQo+Pj4+PiA+PiAtLQo+Pj4+PiA+PiBUaGlzIG1lc3Nh Z2Ugd2FzIHNlbnQgdG86IERhdmUgQnVydG9uIDxuY2RhdmU0bGlmZUBnbWFpbC5jb20+Cj4+Pj4+ ID4+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgYmxhbmsgbWVzc2FnZSB0byB0cmlsdWctbGVhdmVA dHJpbHVnLm9yZwo+Pj4+PiBmcm9tCj4+Pj4+ID4+IHRoYXQgYWRkcmVzcy4KPj4+Pj4gPj4gVHJp TFVHIG1haWxpbmcgbGlzdCA6Cj4+Pj4+IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9s aXN0aW5mby90cmlsdWcKPj4+Pj4gPj4gVW5zdWJzY3JpYmUgb3IgZWRpdCBvcHRpb25zIG9uIHRo ZSB3ZWIgIDoKPj4+Pj4gPj4KPj4+Pj4gaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL29w dGlvbnMvdHJpbHVnL25jZGF2ZTRsaWZlJTQwZ21haWwuY29tCj4+Pj4+ID4+IFdlbGNvbWUgdG8g VHJpTFVHOiBodHRwczovL3RyaWx1Zy5vcmcvd2VsY29tZQo+Pj4+PiA+Cj4+Pj4+ID4KPj4+Pj4g LS0KPj4+Pj4gVGhpcyBtZXNzYWdlIHdhcyBzZW50IHRvOiBXZXMgPHdlc0B4aXRlY2h1c2EuY29t Pgo+Pj4+PiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIGJsYW5rIG1lc3NhZ2UgdG8gdHJpbHVnLWxl YXZlQHRyaWx1Zy5vcmcgZnJvbQo+Pj4+PiB0aGF0IGFkZHJlc3MuCj4+Pj4+IFRyaUxVRyBtYWls aW5nIGxpc3QgOiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVn Cj4+Pj4+IFVuc3Vic2NyaWJlIG9yIGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViICA6Cj4+Pj4+IGh0 dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25zL3RyaWx1Zy93ZXMlNDB4aXRlY2h1 c2EuY29tCj4+Pj4+IFdlbGNvbWUgdG8gVHJpTFVHOiBodHRwczovL3RyaWx1Zy5vcmcvd2VsY29t ZQo+Pj4+Cj4+Pj4KCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDE1 CkRhdGU6IEZyaSwgMjEgRmViIDIwMjUgMTU6MjE6MjMgKzAwMDAgKEdNVCkKRnJvbTogSm9zZXBo IE1hY2sgTkEzVCB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86IER3YWluIFNpbXMg PGRzaW1zQGJheWxlYWZuYy5vcmc+LCAgVHJpYW5nbGUgTGludXggVXNlcnMgR3JvdXAKCUdlbmVy YWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBB ZHZpY2UgUGxlYXNlCk1lc3NhZ2UtSUQ6IDxhbHBpbmUuREVCLjIuMDIuMjUwMjIxMTUwODQ4MC4y MjM3OUBwaWxvdC50cmlsdWcub3JnPgpDb250ZW50LVR5cGU6IFRFWFQvUExBSU47IGNoYXJzZXQ9 VVMtQVNDSUk7IGZvcm1hdD1mbG93ZWQKCk9uIFRodSwgMjAgRmViIDIwMjUsIER3YWluIFNpbXMg dmlhIFRyaUxVRyB3cm90ZToKCj4gSSBsZWZ0IGl0IG9uIG92ZXIgbmlnaHQgYW5kIEkgYW0gcmVj aGFyZ2luZyBpdCB0b2RheS4gIFN0aWxsIG5vdGhpbmcuICBKdXN0Cj4gYSBwYXBlciB3ZWlnaHQu CgpTb3JyeSB0byBoZWFyIGl0LgoKSSBndWVzcyB5b3UncmUgbm93IGFtZW5hYmxlIHRvIGFkdmlj ZSBvbiB3aGF0IHRvIHJlcGxhY2UgaXQgd2l0aC4KCm8gSSBoYWQgVGhpbmtwYWRzIGZvciAyMCB5 ZWFycyBhbmQgbGlrZWQgdGhlbSBhIGxvdC4gSSB1bmRlcnN0YW5kIHRoYXQgCndoZW4gdGhleSB3 ZW50IGZ1bGwgTGVub3ZvIHRoZSBxdWFsaXR5IGRyb3BwZWQuIFRoaXMgbWF5IGJlIHdoYXQncyAK aGFwcGVuZWQgdG8geW91LgoKbyBJIGhhdmUgYSBEZWxsIGxhcHRvcCBub3cuIEl0J3MgT0ssIGJ1 dCBJIGRvbnQgbmVlZCBhIHdpZGUgc2NyZWVuICgxNDQwIApwaXhlbHMpIG9uIGEgbGFwdG9wIGFu ZCBJJ2QgcmF0aGVyIGhhdmUgdGhlIHNtYWxsZXIgZm9ybWF0IG9mIHRoZSBUaGlua3BhZCAKKDEw MjQqNzY4KSBhbmQgdGhlIHNtYWxsZXIgc2l6ZSBvZiB0aGUgbGFwdG9wLiBBcyB3ZWxsIHRoZSBs YXJnZSBidWlsdC1pbiAKRGVsbCBtb3VzZXBhZCwgaW4gdGhlIGNlbnRlciBvZiB0aGUga2V5Ym9h cmQgYXJlYSwgaXMgdW5kZXIgbXkgaGFuZHMgd2hlbiAKSSB0eXBlIGFuZCBJIGhhdmUgdG8gbWFu dWFsbHkgdHVybiBpdCBvZmYgKHdoaWNoIEkgY2FuIG9ubHkgZG8gYWZ0ZXIgCmJvb3R1cCkgYW5k IHVzZSBhbiBleHRlcm5hbCBtb3VzZSwgd2hpY2ggbmVnYXRlcyB0aGUgcG9pbnQgb2YgaGF2aW5n IGEgCmJ1aWx0LWluIG1vdXNlcGFkLiBUaGUgb25seSB3YXkgeW91IGNhbiB0eXBlIHdpdGggdGhl IERlbGwgbW91c2VwYWQgb24sIGlzIAp0byBob2xkIHlvdXIgaGFuZHMgaW4gdGhlIGFpci4gVGhl IFRoaW5rcGFkcyBoYWQgYSBzbWFsbCBudWJiaW4gaW4gdGhlIAptaWRkbGUgb2YgdGhlIGtleWJv YXJkLCBmb3IgdGhlIG1vdXNlLCB3aGljaCBkaWRuJ3QgZ2V0IGFjdGl2YXRlZCB3aGVuIHlvdSAK dHlwZWQuCgpKb2UKLS0gCkpvc2VwaCBNYWNrIE5BM1QgRU1FKEIsRCksIEZNMDVsdyBOb3J0aCBD YXJvbGluYQpEb24ndCB1cGdyYWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29uJ3Qgd29yayBh bnkKYmV0dGVyIC0gaXQgY291bGQgd29yayB3b3JzZTsgaXQgbWF5IG5vdCB3b3JrIGF0IGFsbC4K SG9tZXBhZ2UgaHR0cDovL3d3dy5hdXN0aW50ZWsuY29tLyBJdCdzIEdOVS9MaW51eCEKCgoKLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiAxNgpEYXRlOiBGcmksIDIxIEZl YiAyMDI1IDExOjE0OjI2IC0wNTAwCkZyb206IER3YWluIFNpbXMgdmlhIFRyaUxVRyA8dHJpbHVn QHRyaWx1Zy5vcmc+ClRvOiBKb3NlcGggTWFjayBOQTNUIDxqbWFja0B0cmlsdWcub3JnPgpDYzog VHJpYW5nbGUgTGludXggVXNlcnMgR3JvdXAgR2VuZXJhbCBEaXNjdXNzaW9uIDx0cmlsdWdAdHJp bHVnLm9yZz4KU3ViamVjdDogUmU6IFtUcmlMVUddIEFkdmljZSBQbGVhc2UKTWVzc2FnZS1JRDoK CTxDQUpORFJISzhiTU9YVlQ5VlZQa2V4bj03eXY0UkNpVnU5ZGJ1OEJTRGl4UkJWU1NOYWdAbWFp bC5nbWFpbC5jb20+CkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD0iVVRGLTgiCgpH ZW5lcmFsbHkgaGF2ZSBJIGhhZCBnb29kIGx1Y2sgd2l0aCBUaGlua3BhZHMgb3ZlciB0aGUgeWVh cnMuICBSZWFkaW5nCm1vcmUsIHRoaXMgcGFydGljdWxhciBtb2RlbCB3aXRoIGFuIEFNRCBwcm9j ZXNzb3IsIHdoaWNoIHByb2JhYmx5IGhhcwpub3RoaW5nIHRvIGRvIHdpdGggdGhpcyBmYWlsdXJl LCBoYXMgYmVlbiBwcm9uZSB0byBHUFUgZGVhdGggYW5kIHdoZW4gaXQKZG9lcyBpdCB0YWtlcyB0 aGUgZW50aXJlIE1CIHdpdGggaXQuICBUaGVyZSBhcHBlYXJzIHRvIGJlIG5vIHJlcGFpci4gIEl0 IGlzCmEgdmVyeSBjbGVhbiBzeXN0ZW0gd2l0aCBubyByZWFsIHNpZ25zIG9mIHdlYXIuICBJdCBs b29rcyBsaWtlIGl0IGp1c3QgY2FtZQpvdXQgb2YgdGhlIHNoaXBwaW5nIGJveC4gIEkgaGF0ZSB0 byBzZWUgaXQgZGVhZC4gIEEgbmV3IE1CIGlzIHByb2JhYmx5CjI1MC0zMDAgd2hpY2ggbWFrZXMg aXQgYm9yZGVybGluZSB1bnJlcGFpcmFibGUuCgpUaGFua3MgZm9yIGFsbCBvZiB0aGUgdGlwcyEK CkR3YWluCgpPbiBGcmksIEZlYiAyMSwgMjAyNSBhdCAxMDoyMeKAr0FNIEpvc2VwaCBNYWNrIE5B M1QgPGptYWNrQHRyaWx1Zy5vcmc+IHdyb3RlOgoKPiBPbiBUaHUsIDIwIEZlYiAyMDI1LCBEd2Fp biBTaW1zIHZpYSBUcmlMVUcgd3JvdGU6Cj4KPiA+IEkgbGVmdCBpdCBvbiBvdmVyIG5pZ2h0IGFu ZCBJIGFtIHJlY2hhcmdpbmcgaXQgdG9kYXkuICBTdGlsbCBub3RoaW5nLgo+IEp1c3QKPiA+IGEg cGFwZXIgd2VpZ2h0Lgo+Cj4gU29ycnkgdG8gaGVhciBpdC4KPgo+IEkgZ3Vlc3MgeW91J3JlIG5v dyBhbWVuYWJsZSB0byBhZHZpY2Ugb24gd2hhdCB0byByZXBsYWNlIGl0IHdpdGguCj4KPiBvIEkg aGFkIFRoaW5rcGFkcyBmb3IgMjAgeWVhcnMgYW5kIGxpa2VkIHRoZW0gYSBsb3QuIEkgdW5kZXJz dGFuZCB0aGF0Cj4gd2hlbiB0aGV5IHdlbnQgZnVsbCBMZW5vdm8gdGhlIHF1YWxpdHkgZHJvcHBl ZC4gVGhpcyBtYXkgYmUgd2hhdCdzCj4gaGFwcGVuZWQgdG8geW91Lgo+Cj4gbyBJIGhhdmUgYSBE ZWxsIGxhcHRvcCBub3cuIEl0J3MgT0ssIGJ1dCBJIGRvbnQgbmVlZCBhIHdpZGUgc2NyZWVuICgx NDQwCj4gcGl4ZWxzKSBvbiBhIGxhcHRvcCBhbmQgSSdkIHJhdGhlciBoYXZlIHRoZSBzbWFsbGVy IGZvcm1hdCBvZiB0aGUgVGhpbmtwYWQKPiAoMTAyNCo3NjgpIGFuZCB0aGUgc21hbGxlciBzaXpl IG9mIHRoZSBsYXB0b3AuIEFzIHdlbGwgdGhlIGxhcmdlIGJ1aWx0LWluCj4gRGVsbCBtb3VzZXBh ZCwgaW4gdGhlIGNlbnRlciBvZiB0aGUga2V5Ym9hcmQgYXJlYSwgaXMgdW5kZXIgbXkgaGFuZHMg d2hlbgo+IEkgdHlwZSBhbmQgSSBoYXZlIHRvIG1hbnVhbGx5IHR1cm4gaXQgb2ZmICh3aGljaCBJ IGNhbiBvbmx5IGRvIGFmdGVyCj4gYm9vdHVwKSBhbmQgdXNlIGFuIGV4dGVybmFsIG1vdXNlLCB3 aGljaCBuZWdhdGVzIHRoZSBwb2ludCBvZiBoYXZpbmcgYQo+IGJ1aWx0LWluIG1vdXNlcGFkLiBU aGUgb25seSB3YXkgeW91IGNhbiB0eXBlIHdpdGggdGhlIERlbGwgbW91c2VwYWQgb24sIGlzCj4g dG8gaG9sZCB5b3VyIGhhbmRzIGluIHRoZSBhaXIuIFRoZSBUaGlua3BhZHMgaGFkIGEgc21hbGwg bnViYmluIGluIHRoZQo+IG1pZGRsZSBvZiB0aGUga2V5Ym9hcmQsIGZvciB0aGUgbW91c2UsIHdo aWNoIGRpZG4ndCBnZXQgYWN0aXZhdGVkIHdoZW4geW91Cj4gdHlwZWQuCj4KPiBKb2UKPiAtLQo+ IEpvc2VwaCBNYWNrIE5BM1QgRU1FKEIsRCksIEZNMDVsdyBOb3J0aCBDYXJvbGluYQo+IERvbid0 IHVwZ3JhZGUgYSB3b3JraW5nIG1hY2hpbmUgLSBpdCB3b24ndCB3b3JrIGFueQo+IGJldHRlciAt IGl0IGNvdWxkIHdvcmsgd29yc2U7IGl0IG1heSBub3Qgd29yayBhdCBhbGwuCj4gSG9tZXBhZ2Ug aHR0cDovL3d3dy5hdXN0aW50ZWsuY29tLyBJdCdzIEdOVS9MaW51eCEKPgo+CgoKLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpNZXNzYWdlOiAxNwpEYXRlOiBGcmksIDIxIEZlYiAyMDI1 IDE2OjE1OjExICswMDAwIChHTVQpCkZyb206IEpvc2VwaCBNYWNrIE5BM1QgdmlhIFRyaUxVRyA8 dHJpbHVnQHRyaWx1Zy5vcmc+ClRvOiBEd2FpbiBTaW1zIDxkc2ltc0BiYXlsZWFmbmMub3JnPiwg IFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwCglHZW5lcmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0 cmlsdWcub3JnPgpTdWJqZWN0OiBSZTogW1RyaUxVR10gQWR2aWNlIFBsZWFzZQpNZXNzYWdlLUlE OiA8YWxwaW5lLkRFQi4yLjAyLjI1MDIyMTE2MTEzOTAuMjY1ODNAcGlsb3QudHJpbHVnLm9yZz4K Q29udGVudC1UeXBlOiBURVhUL1BMQUlOOyBjaGFyc2V0PVVTLUFTQ0lJOyBmb3JtYXQ9Zmxvd2Vk CgpPbiBGcmksIDIxIEZlYiAyMDI1LCBKb3NlcGggTWFjayBOQTNUIHdyb3RlOgoKPiBvIEkgaGFk IFRoaW5rcGFkcyBmb3IgMjAgeWVhcnMgYW5kIGxpa2VkIHRoZW0gYSBsb3QuIEkgdW5kZXJzdGFu ZCB0aGF0IHdoZW4gCj4gdGhleSB3ZW50IGZ1bGwgTGVub3ZvIHRoZSBxdWFsaXR5IGRyb3BwZWQu IFRoaXMgbWF5IGJlIHdoYXQncyBoYXBwZW5lZCB0byAKPiB5b3UuCgphcyBsb25nIGFzIHlvdSBk b24ndCBkcm9wIHRoZW0sIGNvbXB1dGVycyBzaG91bGQgc3RpbGwgd29yayAob3RoZXIgdGhhbiAK cmVwbGFjaW5nIGRpc2tzKSBsb25nIGFmdGVyIHRoZXkgYmVjb21lIG9ic29sZXRlLiBXZSdyZSBu b3QgaW4gdGhlIGVyYSBvZiAKdmFjdXVtIHR1YmVzIGFueSBtb3JlLgoKSm9lCgotLSAKSm9zZXBo IE1hY2sgTkEzVCBFTUUoQixEKSwgRk0wNWx3IE5vcnRoIENhcm9saW5hCkRvbid0IHVwZ3JhZGUg YSB3b3JraW5nIG1hY2hpbmUgLSBpdCB3b24ndCB3b3JrIGFueQpiZXR0ZXIgLSBpdCBjb3VsZCB3 b3JrIHdvcnNlOyBpdCBtYXkgbm90IHdvcmsgYXQgYWxsLgpIb21lcGFnZSBodHRwOi8vd3d3LmF1 c3RpbnRlay5jb20vIEl0J3MgR05VL0xpbnV4IQoKCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KCk1lc3NhZ2U6IDE4CkRhdGU6IEZyaSwgMjEgRmViIDIwMjUgMTE6MjQ6NTUgLTA1MDAK RnJvbTogTWF1cmljaW8gVGF2YXJlcyB2aWEgVHJpTFVHIDx0cmlsdWdAdHJpbHVnLm9yZz4KVG86 IER3YWluIFNpbXMgPGRzaW1zQGJheWxlYWZuYy5vcmc+LCAgVHJpYW5nbGUgTGludXggVXNlcnMg R3JvdXAKCUdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJl OiBbVHJpTFVHXSBBZHZpY2UgUGxlYXNlCk1lc3NhZ2UtSUQ6Cgk8Q0FIRUtZVjdBVEctWi0xN2dR X3ZWV2JrT2VTWTVENlhzaDh3R1ZqWURVaUQ0QVl2UjRRQG1haWwuZ21haWwuY29tPgpDb250ZW50 LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04IgoKT24gRnJpLCBGZWIgMjEsIDIwMjUg YXQgMTE6MTbigK9BTSBEd2FpbiBTaW1zIHZpYSBUcmlMVUcKPHRyaWx1Z0B0cmlsdWcub3JnPiB3 cm90ZToKPgo+IEdlbmVyYWxseSBoYXZlIEkgaGFkIGdvb2QgbHVjayB3aXRoIFRoaW5rcGFkcyBv dmVyIHRoZSB5ZWFycy4gIFJlYWRpbmcKPiBtb3JlLCB0aGlzIHBhcnRpY3VsYXIgbW9kZWwgd2l0 aCBhbiBBTUQgcHJvY2Vzc29yLCB3aGljaCBwcm9iYWJseSBoYXMKPiBub3RoaW5nIHRvIGRvIHdp dGggdGhpcyBmYWlsdXJlLCBoYXMgYmVlbiBwcm9uZSB0byBHUFUgZGVhdGggYW5kIHdoZW4gaXQK PiBkb2VzIGl0IHRha2VzIHRoZSBlbnRpcmUgTUIgd2l0aCBpdC4gIFRoZXJlIGFwcGVhcnMgdG8g YmUgbm8gcmVwYWlyLiAgSXQgaXMKPiBhIHZlcnkgY2xlYW4gc3lzdGVtIHdpdGggbm8gcmVhbCBz aWducyBvZiB3ZWFyLiAgSXQgbG9va3MgbGlrZSBpdCBqdXN0IGNhbWUKPiBvdXQgb2YgdGhlIHNo aXBwaW5nIGJveC4gIEkgaGF0ZSB0byBzZWUgaXQgZGVhZC4gIEEgbmV3IE1CIGlzIHByb2JhYmx5 Cj4gMjUwLTMwMCB3aGljaCBtYWtlcyBpdCBib3JkZXJsaW5lIHVucmVwYWlyYWJsZS4KPgogICAg ICBPbiB0aGUgTWFjcywgdGhlIG1vZGUgb2YgZmFpbHVyZSB3YXMgZmFpbHVyZSBvZiB0aGUKZW52 aXJvbm1lbnRhbGx5IGZyaWVuZGx5IHNvbGRlciAoY3JhY2tzKS4gSWYgaXQgd2FzIGEgbGFwdG9w LCB5b3UKY291bGQgaGVhdCB0aGUgbW90aGVyYm9hcmQgaW4gaG9wZSBvZiByZWZsb3dpbmcgaXQs IHJlbW92ZSB0aGUgR1BVIGFuZApyZXNvbGRlciBpdCB3aXRoIHNhbmUgcmVsaWFibGUgYnV0IGxl YWQtZnVsbCBzb2xkZXIsIHBheSBzb21lb25lIHRvIGRvCnRoYXQsIHJlcGxhY2UgbW90aGVyYm9h cmQsIG9yIHNldCBpdCBvbiBmaXJlLgoKPiBUaGFua3MgZm9yIGFsbCBvZiB0aGUgdGlwcyEKPgo+ IER3YWluCj4KPiBPbiBGcmksIEZlYiAyMSwgMjAyNSBhdCAxMDoyMeKAr0FNIEpvc2VwaCBNYWNr IE5BM1QgPGptYWNrQHRyaWx1Zy5vcmc+IHdyb3RlOgo+Cj4gPiBPbiBUaHUsIDIwIEZlYiAyMDI1 LCBEd2FpbiBTaW1zIHZpYSBUcmlMVUcgd3JvdGU6Cj4gPgo+ID4gPiBJIGxlZnQgaXQgb24gb3Zl ciBuaWdodCBhbmQgSSBhbSByZWNoYXJnaW5nIGl0IHRvZGF5LiAgU3RpbGwgbm90aGluZy4KPiA+ IEp1c3QKPiA+ID4gYSBwYXBlciB3ZWlnaHQuCj4gPgo+ID4gU29ycnkgdG8gaGVhciBpdC4KPiA+ Cj4gPiBJIGd1ZXNzIHlvdSdyZSBub3cgYW1lbmFibGUgdG8gYWR2aWNlIG9uIHdoYXQgdG8gcmVw bGFjZSBpdCB3aXRoLgo+ID4KPiA+IG8gSSBoYWQgVGhpbmtwYWRzIGZvciAyMCB5ZWFycyBhbmQg bGlrZWQgdGhlbSBhIGxvdC4gSSB1bmRlcnN0YW5kIHRoYXQKPiA+IHdoZW4gdGhleSB3ZW50IGZ1 bGwgTGVub3ZvIHRoZSBxdWFsaXR5IGRyb3BwZWQuIFRoaXMgbWF5IGJlIHdoYXQncwo+ID4gaGFw cGVuZWQgdG8geW91Lgo+ID4KPiA+IG8gSSBoYXZlIGEgRGVsbCBsYXB0b3Agbm93LiBJdCdzIE9L LCBidXQgSSBkb250IG5lZWQgYSB3aWRlIHNjcmVlbiAoMTQ0MAo+ID4gcGl4ZWxzKSBvbiBhIGxh cHRvcCBhbmQgSSdkIHJhdGhlciBoYXZlIHRoZSBzbWFsbGVyIGZvcm1hdCBvZiB0aGUgVGhpbmtw YWQKPiA+ICgxMDI0Kjc2OCkgYW5kIHRoZSBzbWFsbGVyIHNpemUgb2YgdGhlIGxhcHRvcC4gQXMg d2VsbCB0aGUgbGFyZ2UgYnVpbHQtaW4KPiA+IERlbGwgbW91c2VwYWQsIGluIHRoZSBjZW50ZXIg b2YgdGhlIGtleWJvYXJkIGFyZWEsIGlzIHVuZGVyIG15IGhhbmRzIHdoZW4KPiA+IEkgdHlwZSBh bmQgSSBoYXZlIHRvIG1hbnVhbGx5IHR1cm4gaXQgb2ZmICh3aGljaCBJIGNhbiBvbmx5IGRvIGFm dGVyCj4gPiBib290dXApIGFuZCB1c2UgYW4gZXh0ZXJuYWwgbW91c2UsIHdoaWNoIG5lZ2F0ZXMg dGhlIHBvaW50IG9mIGhhdmluZyBhCj4gPiBidWlsdC1pbiBtb3VzZXBhZC4gVGhlIG9ubHkgd2F5 IHlvdSBjYW4gdHlwZSB3aXRoIHRoZSBEZWxsIG1vdXNlcGFkIG9uLCBpcwo+ID4gdG8gaG9sZCB5 b3VyIGhhbmRzIGluIHRoZSBhaXIuIFRoZSBUaGlua3BhZHMgaGFkIGEgc21hbGwgbnViYmluIGlu IHRoZQo+ID4gbWlkZGxlIG9mIHRoZSBrZXlib2FyZCwgZm9yIHRoZSBtb3VzZSwgd2hpY2ggZGlk bid0IGdldCBhY3RpdmF0ZWQgd2hlbiB5b3UKPiA+IHR5cGVkLgo+ID4KPiA+IEpvZQo+ID4gLS0K PiA+IEpvc2VwaCBNYWNrIE5BM1QgRU1FKEIsRCksIEZNMDVsdyBOb3J0aCBDYXJvbGluYQo+ID4g RG9uJ3QgdXBncmFkZSBhIHdvcmtpbmcgbWFjaGluZSAtIGl0IHdvbid0IHdvcmsgYW55Cj4gPiBi ZXR0ZXIgLSBpdCBjb3VsZCB3b3JrIHdvcnNlOyBpdCBtYXkgbm90IHdvcmsgYXQgYWxsLgo+ID4g SG9tZXBhZ2UgaHR0cDovL3d3dy5hdXN0aW50ZWsuY29tLyBJdCdzIEdOVS9MaW51eCEKPiA+Cj4g Pgo+IC0tCj4gVGhpcyBtZXNzYWdlIHdhcyBzZW50IHRvOiByYXVidm9nZWxAZ21haWwuY29tIDxy YXVidm9nZWxAZ21haWwuY29tPgo+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgYmxhbmsgbWVzc2Fn ZSB0byB0cmlsdWctbGVhdmVAdHJpbHVnLm9yZyBmcm9tIHRoYXQgYWRkcmVzcy4KPiBUcmlMVUcg bWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3Ry aWx1Zwo+IFVuc3Vic2NyaWJlIG9yIGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViICA6IGh0dHBzOi8v d3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25zL3RyaWx1Zy9yYXVidm9nZWwlNDBnbWFpbC5j b20KPiBXZWxjb21lIHRvIFRyaUxVRzogaHR0cHM6Ly90cmlsdWcub3JnL3dlbGNvbWUKCgotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCk1lc3NhZ2U6IDE5CkRhdGU6IEZyaSwgMjEgRmVi IDIwMjUgMTE6MzQ6MTYgLTA1MDAKRnJvbTogSm9obiBNaXRjaGVsbCB2aWEgVHJpTFVHIDx0cmls dWdAdHJpbHVnLm9yZz4KVG86IER3YWluIFNpbXMgPGRzaW1zQGJheWxlYWZuYy5vcmc+LCAgVHJp YW5nbGUgTGludXggVXNlcnMgR3JvdXAKCUdlbmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1 Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVHXSBBZHZpY2UgUGxlYXNlCk1lc3NhZ2UtSUQ6Cgk8 Q0FNT3BfWEJraTRPU3MrLUFEPXQ9cU5MQ0w9Nj1vZzdidUtTaHB5cW5HT3ZYUm83MTZRQG1haWwu Z21haWwuY29tPgpDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9IlVURi04IgoKRHdh aW4sCgpJZiBpdCB3YXMgbWUsIEknZCBsb29rIGludG8gYSB1c2VkIG9uZSBvZiB5b3VyIG1vZGVs IHdpdGggYSBjcmFja2VkIHNjcmVlbgpvbiBlYmF5Lgpqb2huIG1pdGNoZWxsCgpPbiBGcmksIEZl YiAyMSwgMjAyNSBhdCAxMToxNuKAr0FNIER3YWluIFNpbXMgdmlhIFRyaUxVRyA8dHJpbHVnQHRy aWx1Zy5vcmc+Cndyb3RlOgoKPiBHZW5lcmFsbHkgaGF2ZSBJIGhhZCBnb29kIGx1Y2sgd2l0aCBU aGlua3BhZHMgb3ZlciB0aGUgeWVhcnMuICBSZWFkaW5nCj4gbW9yZSwgdGhpcyBwYXJ0aWN1bGFy IG1vZGVsIHdpdGggYW4gQU1EIHByb2Nlc3Nvciwgd2hpY2ggcHJvYmFibHkgaGFzCj4gbm90aGlu ZyB0byBkbyB3aXRoIHRoaXMgZmFpbHVyZSwgaGFzIGJlZW4gcHJvbmUgdG8gR1BVIGRlYXRoIGFu ZCB3aGVuIGl0Cj4gZG9lcyBpdCB0YWtlcyB0aGUgZW50aXJlIE1CIHdpdGggaXQuICBUaGVyZSBh cHBlYXJzIHRvIGJlIG5vIHJlcGFpci4gIEl0IGlzCj4gYSB2ZXJ5IGNsZWFuIHN5c3RlbSB3aXRo IG5vIHJlYWwgc2lnbnMgb2Ygd2Vhci4gIEl0IGxvb2tzIGxpa2UgaXQganVzdCBjYW1lCj4gb3V0 IG9mIHRoZSBzaGlwcGluZyBib3guICBJIGhhdGUgdG8gc2VlIGl0IGRlYWQuICBBIG5ldyBNQiBp cyBwcm9iYWJseQo+IDI1MC0zMDAgd2hpY2ggbWFrZXMgaXQgYm9yZGVybGluZSB1bnJlcGFpcmFi bGUuCj4KPiBUaGFua3MgZm9yIGFsbCBvZiB0aGUgdGlwcyEKPgo+IER3YWluCj4KPiBPbiBGcmks IEZlYiAyMSwgMjAyNSBhdCAxMDoyMeKAr0FNIEpvc2VwaCBNYWNrIE5BM1QgPGptYWNrQHRyaWx1 Zy5vcmc+Cj4gd3JvdGU6Cj4KPiA+IE9uIFRodSwgMjAgRmViIDIwMjUsIER3YWluIFNpbXMgdmlh IFRyaUxVRyB3cm90ZToKPiA+Cj4gPiA+IEkgbGVmdCBpdCBvbiBvdmVyIG5pZ2h0IGFuZCBJIGFt IHJlY2hhcmdpbmcgaXQgdG9kYXkuICBTdGlsbCBub3RoaW5nLgo+ID4gSnVzdAo+ID4gPiBhIHBh cGVyIHdlaWdodC4KPiA+Cj4gPiBTb3JyeSB0byBoZWFyIGl0Lgo+ID4KPiA+IEkgZ3Vlc3MgeW91 J3JlIG5vdyBhbWVuYWJsZSB0byBhZHZpY2Ugb24gd2hhdCB0byByZXBsYWNlIGl0IHdpdGguCj4g Pgo+ID4gbyBJIGhhZCBUaGlua3BhZHMgZm9yIDIwIHllYXJzIGFuZCBsaWtlZCB0aGVtIGEgbG90 LiBJIHVuZGVyc3RhbmQgdGhhdAo+ID4gd2hlbiB0aGV5IHdlbnQgZnVsbCBMZW5vdm8gdGhlIHF1 YWxpdHkgZHJvcHBlZC4gVGhpcyBtYXkgYmUgd2hhdCdzCj4gPiBoYXBwZW5lZCB0byB5b3UuCj4g Pgo+ID4gbyBJIGhhdmUgYSBEZWxsIGxhcHRvcCBub3cuIEl0J3MgT0ssIGJ1dCBJIGRvbnQgbmVl ZCBhIHdpZGUgc2NyZWVuICgxNDQwCj4gPiBwaXhlbHMpIG9uIGEgbGFwdG9wIGFuZCBJJ2QgcmF0 aGVyIGhhdmUgdGhlIHNtYWxsZXIgZm9ybWF0IG9mIHRoZQo+IFRoaW5rcGFkCj4gPiAoMTAyNCo3 NjgpIGFuZCB0aGUgc21hbGxlciBzaXplIG9mIHRoZSBsYXB0b3AuIEFzIHdlbGwgdGhlIGxhcmdl IGJ1aWx0LWluCj4gPiBEZWxsIG1vdXNlcGFkLCBpbiB0aGUgY2VudGVyIG9mIHRoZSBrZXlib2Fy ZCBhcmVhLCBpcyB1bmRlciBteSBoYW5kcyB3aGVuCj4gPiBJIHR5cGUgYW5kIEkgaGF2ZSB0byBt YW51YWxseSB0dXJuIGl0IG9mZiAod2hpY2ggSSBjYW4gb25seSBkbyBhZnRlcgo+ID4gYm9vdHVw KSBhbmQgdXNlIGFuIGV4dGVybmFsIG1vdXNlLCB3aGljaCBuZWdhdGVzIHRoZSBwb2ludCBvZiBo YXZpbmcgYQo+ID4gYnVpbHQtaW4gbW91c2VwYWQuIFRoZSBvbmx5IHdheSB5b3UgY2FuIHR5cGUg d2l0aCB0aGUgRGVsbCBtb3VzZXBhZCBvbiwKPiBpcwo+ID4gdG8gaG9sZCB5b3VyIGhhbmRzIGlu IHRoZSBhaXIuIFRoZSBUaGlua3BhZHMgaGFkIGEgc21hbGwgbnViYmluIGluIHRoZQo+ID4gbWlk ZGxlIG9mIHRoZSBrZXlib2FyZCwgZm9yIHRoZSBtb3VzZSwgd2hpY2ggZGlkbid0IGdldCBhY3Rp dmF0ZWQgd2hlbgo+IHlvdQo+ID4gdHlwZWQuCj4gPgo+ID4gSm9lCj4gPiAtLQo+ID4gSm9zZXBo IE1hY2sgTkEzVCBFTUUoQixEKSwgRk0wNWx3IE5vcnRoIENhcm9saW5hCj4gPiBEb24ndCB1cGdy YWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29uJ3Qgd29yayBhbnkKPiA+IGJldHRlciAtIGl0 IGNvdWxkIHdvcmsgd29yc2U7IGl0IG1heSBub3Qgd29yayBhdCBhbGwuCj4gPiBIb21lcGFnZSBo dHRwOi8vd3d3LmF1c3RpbnRlay5jb20vIEl0J3MgR05VL0xpbnV4IQo+ID4KPiA+Cj4gLS0KPiBU aGlzIG1lc3NhZ2Ugd2FzIHNlbnQgdG86IGpvaG4gbWl0Y2hlbGwgPGpvaG4yODB6QGdtYWlsLmNv bT4KPiBUbyB1bnN1YnNjcmliZSwgc2VuZCBhIGJsYW5rIG1lc3NhZ2UgdG8gdHJpbHVnLWxlYXZl QHRyaWx1Zy5vcmcgZnJvbSB0aGF0Cj4gYWRkcmVzcy4KPiBUcmlMVUcgbWFpbGluZyBsaXN0IDog aHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3RyaWx1Zwo+IFVuc3Vic2Ny aWJlIG9yIGVkaXQgb3B0aW9ucyBvbiB0aGUgd2ViICA6Cj4gaHR0cHM6Ly93d3cudHJpbHVnLm9y Zy9tYWlsbWFuL29wdGlvbnMvdHJpbHVnL2pvaG4yODB6JTQwZ21haWwuY29tCj4gV2VsY29tZSB0 byBUcmlMVUc6IGh0dHBzOi8vdHJpbHVnLm9yZy93ZWxjb21lCgoKLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCgpNZXNzYWdlOiAyMApEYXRlOiBGcmksIDIxIEZlYiAyMDI1IDExOjUxOjA4 IC0wNTAwCkZyb206IER3YWluIFNpbXMgdmlhIFRyaUxVRyA8dHJpbHVnQHRyaWx1Zy5vcmc+ClRv OiBKb2huIE1pdGNoZWxsIDxqb2huMjgwekBnbWFpbC5jb20+CkNjOiBUcmlhbmdsZSBMaW51eCBV c2VycyBHcm91cCBHZW5lcmFsIERpc2N1c3Npb24gPHRyaWx1Z0B0cmlsdWcub3JnPgpTdWJqZWN0 OiBSZTogW1RyaUxVR10gQWR2aWNlIFBsZWFzZQpNZXNzYWdlLUlEOgoJPENBSk5EUkgraWJOSkpB N1BhZGRYazVqdlhqRHAwU2NkZEpEelBNWEM9cGJ4SllycmdQd0BtYWlsLmdtYWlsLmNvbT4KQ29u dGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PSJVVEYtOCIKCkkgaGFkIHRob3VnaHQgYWJv dXQgdGhhdCB0b28uICBBIHJlYWxseSBnb29kIGlkZWEuCgpEd2FpbgoKCk9uIEZyaSwgRmViIDIx LCAyMDI1IGF0IDExOjM04oCvQU0gSm9obiBNaXRjaGVsbCA8am9objI4MHpAZ21haWwuY29tPiB3 cm90ZToKCj4gRHdhaW4sCj4KPiBJZiBpdCB3YXMgbWUsIEknZCBsb29rIGludG8gYSB1c2VkIG9u ZSBvZiB5b3VyIG1vZGVsIHdpdGggYSBjcmFja2VkIHNjcmVlbgo+IG9uIGViYXkuCj4gam9obiBt aXRjaGVsbAo+Cj4gT24gRnJpLCBGZWIgMjEsIDIwMjUgYXQgMTE6MTbigK9BTSBEd2FpbiBTaW1z IHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgo+IHdyb3RlOgo+Cj4+IEdlbmVyYWxseSBo YXZlIEkgaGFkIGdvb2QgbHVjayB3aXRoIFRoaW5rcGFkcyBvdmVyIHRoZSB5ZWFycy4gIFJlYWRp bmcKPj4gbW9yZSwgdGhpcyBwYXJ0aWN1bGFyIG1vZGVsIHdpdGggYW4gQU1EIHByb2Nlc3Nvciwg d2hpY2ggcHJvYmFibHkgaGFzCj4+IG5vdGhpbmcgdG8gZG8gd2l0aCB0aGlzIGZhaWx1cmUsIGhh cyBiZWVuIHByb25lIHRvIEdQVSBkZWF0aCBhbmQgd2hlbiBpdAo+PiBkb2VzIGl0IHRha2VzIHRo ZSBlbnRpcmUgTUIgd2l0aCBpdC4gIFRoZXJlIGFwcGVhcnMgdG8gYmUgbm8gcmVwYWlyLiAgSXQK Pj4gaXMKPj4gYSB2ZXJ5IGNsZWFuIHN5c3RlbSB3aXRoIG5vIHJlYWwgc2lnbnMgb2Ygd2Vhci4g IEl0IGxvb2tzIGxpa2UgaXQganVzdAo+PiBjYW1lCj4+IG91dCBvZiB0aGUgc2hpcHBpbmcgYm94 LiAgSSBoYXRlIHRvIHNlZSBpdCBkZWFkLiAgQSBuZXcgTUIgaXMgcHJvYmFibHkKPj4gMjUwLTMw MCB3aGljaCBtYWtlcyBpdCBib3JkZXJsaW5lIHVucmVwYWlyYWJsZS4KPj4KPj4gVGhhbmtzIGZv ciBhbGwgb2YgdGhlIHRpcHMhCj4+Cj4+IER3YWluCj4+Cj4+IE9uIEZyaSwgRmViIDIxLCAyMDI1 IGF0IDEwOjIx4oCvQU0gSm9zZXBoIE1hY2sgTkEzVCA8am1hY2tAdHJpbHVnLm9yZz4KPj4gd3Jv dGU6Cj4+Cj4+ID4gT24gVGh1LCAyMCBGZWIgMjAyNSwgRHdhaW4gU2ltcyB2aWEgVHJpTFVHIHdy b3RlOgo+PiA+Cj4+ID4gPiBJIGxlZnQgaXQgb24gb3ZlciBuaWdodCBhbmQgSSBhbSByZWNoYXJn aW5nIGl0IHRvZGF5LiAgU3RpbGwgbm90aGluZy4KPj4gPiBKdXN0Cj4+ID4gPiBhIHBhcGVyIHdl aWdodC4KPj4gPgo+PiA+IFNvcnJ5IHRvIGhlYXIgaXQuCj4+ID4KPj4gPiBJIGd1ZXNzIHlvdSdy ZSBub3cgYW1lbmFibGUgdG8gYWR2aWNlIG9uIHdoYXQgdG8gcmVwbGFjZSBpdCB3aXRoLgo+PiA+ Cj4+ID4gbyBJIGhhZCBUaGlua3BhZHMgZm9yIDIwIHllYXJzIGFuZCBsaWtlZCB0aGVtIGEgbG90 LiBJIHVuZGVyc3RhbmQgdGhhdAo+PiA+IHdoZW4gdGhleSB3ZW50IGZ1bGwgTGVub3ZvIHRoZSBx dWFsaXR5IGRyb3BwZWQuIFRoaXMgbWF5IGJlIHdoYXQncwo+PiA+IGhhcHBlbmVkIHRvIHlvdS4K Pj4gPgo+PiA+IG8gSSBoYXZlIGEgRGVsbCBsYXB0b3Agbm93LiBJdCdzIE9LLCBidXQgSSBkb250 IG5lZWQgYSB3aWRlIHNjcmVlbiAoMTQ0MAo+PiA+IHBpeGVscykgb24gYSBsYXB0b3AgYW5kIEkn ZCByYXRoZXIgaGF2ZSB0aGUgc21hbGxlciBmb3JtYXQgb2YgdGhlCj4+IFRoaW5rcGFkCj4+ID4g KDEwMjQqNzY4KSBhbmQgdGhlIHNtYWxsZXIgc2l6ZSBvZiB0aGUgbGFwdG9wLiBBcyB3ZWxsIHRo ZSBsYXJnZQo+PiBidWlsdC1pbgo+PiA+IERlbGwgbW91c2VwYWQsIGluIHRoZSBjZW50ZXIgb2Yg dGhlIGtleWJvYXJkIGFyZWEsIGlzIHVuZGVyIG15IGhhbmRzCj4+IHdoZW4KPj4gPiBJIHR5cGUg YW5kIEkgaGF2ZSB0byBtYW51YWxseSB0dXJuIGl0IG9mZiAod2hpY2ggSSBjYW4gb25seSBkbyBh ZnRlcgo+PiA+IGJvb3R1cCkgYW5kIHVzZSBhbiBleHRlcm5hbCBtb3VzZSwgd2hpY2ggbmVnYXRl cyB0aGUgcG9pbnQgb2YgaGF2aW5nIGEKPj4gPiBidWlsdC1pbiBtb3VzZXBhZC4gVGhlIG9ubHkg d2F5IHlvdSBjYW4gdHlwZSB3aXRoIHRoZSBEZWxsIG1vdXNlcGFkIG9uLAo+PiBpcwo+PiA+IHRv IGhvbGQgeW91ciBoYW5kcyBpbiB0aGUgYWlyLiBUaGUgVGhpbmtwYWRzIGhhZCBhIHNtYWxsIG51 YmJpbiBpbiB0aGUKPj4gPiBtaWRkbGUgb2YgdGhlIGtleWJvYXJkLCBmb3IgdGhlIG1vdXNlLCB3 aGljaCBkaWRuJ3QgZ2V0IGFjdGl2YXRlZCB3aGVuCj4+IHlvdQo+PiA+IHR5cGVkLgo+PiA+Cj4+ ID4gSm9lCj4+ID4gLS0KPj4gPiBKb3NlcGggTWFjayBOQTNUIEVNRShCLEQpLCBGTTA1bHcgTm9y dGggQ2Fyb2xpbmEKPj4gPiBEb24ndCB1cGdyYWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29u J3Qgd29yayBhbnkKPj4gPiBiZXR0ZXIgLSBpdCBjb3VsZCB3b3JrIHdvcnNlOyBpdCBtYXkgbm90 IHdvcmsgYXQgYWxsLgo+PiA+IEhvbWVwYWdlIGh0dHA6Ly93d3cuYXVzdGludGVrLmNvbS8gSXQn cyBHTlUvTGludXghCj4+ID4KPj4gPgo+PiAtLQo+PiBUaGlzIG1lc3NhZ2Ugd2FzIHNlbnQgdG86 IGpvaG4gbWl0Y2hlbGwgPGpvaG4yODB6QGdtYWlsLmNvbT4KPj4gVG8gdW5zdWJzY3JpYmUsIHNl bmQgYSBibGFuayBtZXNzYWdlIHRvIHRyaWx1Zy1sZWF2ZUB0cmlsdWcub3JnIGZyb20KPj4gdGhh dCBhZGRyZXNzLgo+PiBUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL3RyaWx1Zwo+PiBVbnN1YnNjcmliZSBvciBlZGl0IG9wdGlvbnMg b24gdGhlIHdlYiAgOgo+PiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vb3B0aW9ucy90 cmlsdWcvam9objI4MHolNDBnbWFpbC5jb20KPj4gV2VsY29tZSB0byBUcmlMVUc6IGh0dHBzOi8v dHJpbHVnLm9yZy93ZWxjb21lCj4KPgoKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK TWVzc2FnZTogMjEKRGF0ZTogRnJpLCAyMSBGZWIgMjAyNSAxMTo1MzoyOSAtMDUwMApGcm9tOiBK b2huIE1pdGNoZWxsIHZpYSBUcmlMVUcgPHRyaWx1Z0B0cmlsdWcub3JnPgpUbzogRHdhaW4gU2lt cyA8ZHNpbXNAYmF5bGVhZm5jLm9yZz4KQ2M6IFRyaWFuZ2xlIExpbnV4IFVzZXJzIEdyb3VwIEdl bmVyYWwgRGlzY3Vzc2lvbiA8dHJpbHVnQHRyaWx1Zy5vcmc+ClN1YmplY3Q6IFJlOiBbVHJpTFVH XSBBZHZpY2UgUGxlYXNlCk1lc3NhZ2UtSUQ6Cgk8Q0FNT3BfWEN5WkVQR2RjRV9qRXJ4YXZCRV9H S1R4QkxSODhDYXhHYkpKY0hUOFB3SnB3QG1haWwuZ21haWwuY29tPgpDb250ZW50LVR5cGU6IHRl eHQvcGxhaW47IGNoYXJzZXQ9IlVURi04IgoKVGhlIHJlZGRpdCAgZ3JvdXAgci90aGlua3BhZCBp cyBhbHdheXMgcG9zdGluZyBhYm91dCBtb2RzIGFuZCBzd2Fwcy4Kam9obm0KCk9uIEZyaSwgRmVi IDIxLCAyMDI1IGF0IDExOjUx4oCvQU0gRHdhaW4gU2ltcyA8ZHNpbXNAYmF5bGVhZm5jLm9yZz4g d3JvdGU6Cgo+IEkgaGFkIHRob3VnaHQgYWJvdXQgdGhhdCB0b28uICBBIHJlYWxseSBnb29kIGlk ZWEuCj4KPiBEd2Fpbgo+Cj4KPiBPbiBGcmksIEZlYiAyMSwgMjAyNSBhdCAxMTozNOKAr0FNIEpv aG4gTWl0Y2hlbGwgPGpvaG4yODB6QGdtYWlsLmNvbT4gd3JvdGU6Cj4KPj4gRHdhaW4sCj4+Cj4+ IElmIGl0IHdhcyBtZSwgSSdkIGxvb2sgaW50byBhIHVzZWQgb25lIG9mIHlvdXIgbW9kZWwgd2l0 aCBhIGNyYWNrZWQKPj4gc2NyZWVuIG9uIGViYXkuCj4+IGpvaG4gbWl0Y2hlbGwKPj4KPj4gT24g RnJpLCBGZWIgMjEsIDIwMjUgYXQgMTE6MTbigK9BTSBEd2FpbiBTaW1zIHZpYSBUcmlMVUcgPHRy aWx1Z0B0cmlsdWcub3JnPgo+PiB3cm90ZToKPj4KPj4+IEdlbmVyYWxseSBoYXZlIEkgaGFkIGdv b2QgbHVjayB3aXRoIFRoaW5rcGFkcyBvdmVyIHRoZSB5ZWFycy4gIFJlYWRpbmcKPj4+IG1vcmUs IHRoaXMgcGFydGljdWxhciBtb2RlbCB3aXRoIGFuIEFNRCBwcm9jZXNzb3IsIHdoaWNoIHByb2Jh Ymx5IGhhcwo+Pj4gbm90aGluZyB0byBkbyB3aXRoIHRoaXMgZmFpbHVyZSwgaGFzIGJlZW4gcHJv bmUgdG8gR1BVIGRlYXRoIGFuZCB3aGVuIGl0Cj4+PiBkb2VzIGl0IHRha2VzIHRoZSBlbnRpcmUg TUIgd2l0aCBpdC4gIFRoZXJlIGFwcGVhcnMgdG8gYmUgbm8gcmVwYWlyLiAgSXQKPj4+IGlzCj4+ PiBhIHZlcnkgY2xlYW4gc3lzdGVtIHdpdGggbm8gcmVhbCBzaWducyBvZiB3ZWFyLiAgSXQgbG9v a3MgbGlrZSBpdCBqdXN0Cj4+PiBjYW1lCj4+PiBvdXQgb2YgdGhlIHNoaXBwaW5nIGJveC4gIEkg aGF0ZSB0byBzZWUgaXQgZGVhZC4gIEEgbmV3IE1CIGlzIHByb2JhYmx5Cj4+PiAyNTAtMzAwIHdo aWNoIG1ha2VzIGl0IGJvcmRlcmxpbmUgdW5yZXBhaXJhYmxlLgo+Pj4KPj4+IFRoYW5rcyBmb3Ig YWxsIG9mIHRoZSB0aXBzIQo+Pj4KPj4+IER3YWluCj4+Pgo+Pj4gT24gRnJpLCBGZWIgMjEsIDIw MjUgYXQgMTA6MjHigK9BTSBKb3NlcGggTWFjayBOQTNUIDxqbWFja0B0cmlsdWcub3JnPgo+Pj4g d3JvdGU6Cj4+Pgo+Pj4gPiBPbiBUaHUsIDIwIEZlYiAyMDI1LCBEd2FpbiBTaW1zIHZpYSBUcmlM VUcgd3JvdGU6Cj4+PiA+Cj4+PiA+ID4gSSBsZWZ0IGl0IG9uIG92ZXIgbmlnaHQgYW5kIEkgYW0g cmVjaGFyZ2luZyBpdCB0b2RheS4gIFN0aWxsIG5vdGhpbmcuCj4+PiA+IEp1c3QKPj4+ID4gPiBh IHBhcGVyIHdlaWdodC4KPj4+ID4KPj4+ID4gU29ycnkgdG8gaGVhciBpdC4KPj4+ID4KPj4+ID4g SSBndWVzcyB5b3UncmUgbm93IGFtZW5hYmxlIHRvIGFkdmljZSBvbiB3aGF0IHRvIHJlcGxhY2Ug aXQgd2l0aC4KPj4+ID4KPj4+ID4gbyBJIGhhZCBUaGlua3BhZHMgZm9yIDIwIHllYXJzIGFuZCBs aWtlZCB0aGVtIGEgbG90LiBJIHVuZGVyc3RhbmQgdGhhdAo+Pj4gPiB3aGVuIHRoZXkgd2VudCBm dWxsIExlbm92byB0aGUgcXVhbGl0eSBkcm9wcGVkLiBUaGlzIG1heSBiZSB3aGF0J3MKPj4+ID4g aGFwcGVuZWQgdG8geW91Lgo+Pj4gPgo+Pj4gPiBvIEkgaGF2ZSBhIERlbGwgbGFwdG9wIG5vdy4g SXQncyBPSywgYnV0IEkgZG9udCBuZWVkIGEgd2lkZSBzY3JlZW4KPj4+ICgxNDQwCj4+PiA+IHBp eGVscykgb24gYSBsYXB0b3AgYW5kIEknZCByYXRoZXIgaGF2ZSB0aGUgc21hbGxlciBmb3JtYXQg b2YgdGhlCj4+PiBUaGlua3BhZAo+Pj4gPiAoMTAyNCo3NjgpIGFuZCB0aGUgc21hbGxlciBzaXpl IG9mIHRoZSBsYXB0b3AuIEFzIHdlbGwgdGhlIGxhcmdlCj4+PiBidWlsdC1pbgo+Pj4gPiBEZWxs IG1vdXNlcGFkLCBpbiB0aGUgY2VudGVyIG9mIHRoZSBrZXlib2FyZCBhcmVhLCBpcyB1bmRlciBt eSBoYW5kcwo+Pj4gd2hlbgo+Pj4gPiBJIHR5cGUgYW5kIEkgaGF2ZSB0byBtYW51YWxseSB0dXJu IGl0IG9mZiAod2hpY2ggSSBjYW4gb25seSBkbyBhZnRlcgo+Pj4gPiBib290dXApIGFuZCB1c2Ug YW4gZXh0ZXJuYWwgbW91c2UsIHdoaWNoIG5lZ2F0ZXMgdGhlIHBvaW50IG9mIGhhdmluZyBhCj4+ PiA+IGJ1aWx0LWluIG1vdXNlcGFkLiBUaGUgb25seSB3YXkgeW91IGNhbiB0eXBlIHdpdGggdGhl IERlbGwgbW91c2VwYWQKPj4+IG9uLCBpcwo+Pj4gPiB0byBob2xkIHlvdXIgaGFuZHMgaW4gdGhl IGFpci4gVGhlIFRoaW5rcGFkcyBoYWQgYSBzbWFsbCBudWJiaW4gaW4gdGhlCj4+PiA+IG1pZGRs ZSBvZiB0aGUga2V5Ym9hcmQsIGZvciB0aGUgbW91c2UsIHdoaWNoIGRpZG4ndCBnZXQgYWN0aXZh dGVkIHdoZW4KPj4+IHlvdQo+Pj4gPiB0eXBlZC4KPj4+ID4KPj4+ID4gSm9lCj4+PiA+IC0tCj4+ PiA+IEpvc2VwaCBNYWNrIE5BM1QgRU1FKEIsRCksIEZNMDVsdyBOb3J0aCBDYXJvbGluYQo+Pj4g PiBEb24ndCB1cGdyYWRlIGEgd29ya2luZyBtYWNoaW5lIC0gaXQgd29uJ3Qgd29yayBhbnkKPj4+ ID4gYmV0dGVyIC0gaXQgY291bGQgd29yayB3b3JzZTsgaXQgbWF5IG5vdCB3b3JrIGF0IGFsbC4K Pj4+ID4gSG9tZXBhZ2UgaHR0cDovL3d3dy5hdXN0aW50ZWsuY29tLyBJdCdzIEdOVS9MaW51eCEK Pj4+ID4KPj4+ID4KPj4+IC0tCj4+PiBUaGlzIG1lc3NhZ2Ugd2FzIHNlbnQgdG86IGpvaG4gbWl0 Y2hlbGwgPGpvaG4yODB6QGdtYWlsLmNvbT4KPj4+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGEgYmxh bmsgbWVzc2FnZSB0byB0cmlsdWctbGVhdmVAdHJpbHVnLm9yZyBmcm9tCj4+PiB0aGF0IGFkZHJl c3MuCj4+PiBUcmlMVUcgbWFpbGluZyBsaXN0IDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy9tYWls bWFuL2xpc3RpbmZvL3RyaWx1Zwo+Pj4gVW5zdWJzY3JpYmUgb3IgZWRpdCBvcHRpb25zIG9uIHRo ZSB3ZWIgIDoKPj4+IGh0dHBzOi8vd3d3LnRyaWx1Zy5vcmcvbWFpbG1hbi9vcHRpb25zL3RyaWx1 Zy9qb2huMjgweiU0MGdtYWlsLmNvbQo+Pj4gV2VsY29tZSB0byBUcmlMVUc6IGh0dHBzOi8vdHJp bHVnLm9yZy93ZWxjb21lCj4+Cj4+CgoKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpT dWJqZWN0OiBEaWdlc3QgRm9vdGVyCgotLSAKVHJpTFVHIG1haWxpbmcgbGlzdApUcmlMVUdAdHJp bHVnLm9yZwpodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnClRy aUxVRyBPcmdhbml6YXRpb25hbCBGQVEgIDogLS0KVHJpTFVHIG1haWxpbmcgbGlzdCAgICAgICAg OiBodHRwczovL3d3dy50cmlsdWcub3JnL21haWxtYW4vbGlzdGluZm8vdHJpbHVnClRyaUxVRyBG QVEgIDogaHR0cHM6Ly93d3cudHJpbHVnLm9yZy93aWtpL0ZyZXF1ZW50bHlfQXNrZWRfUXVlc3Rp b25zClRyaUxVRyBNZW1iZXIgU2VydmljZXMgRkFRIDogaHR0cHM6Ly90cmlsdWcub3JnL3dpa2kv RnJlcXVlbnRseV9Bc2tlZF9RdWVzdGlvbnMjVHJpTFVHX1NlcnZpY2VzCgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KCkVuZCBvZiBUcmlMVUcgRGlnZXN0LCBWb2wgNDI1NiwgSXNzdWUg MQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioK