WHBkZgo9PT09Cgp2ZXJzaW9uIDMuMDMKMjAxMS1hdWctMTUKClRoZSBYcGRmIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uIGFyZQpjb3B5cmlnaHQgMTk5Ni0yMDExIEdseXBoICYgQ29nLCBMTEMuCgpFbWFpbDogZGVyZWtuQGZvb2xhYnMuY29tCldXVzogaHR0cDovL3d3dy5mb29sYWJzLmNvbS94cGRmLwoKVGhlIFBERiBkYXRhIHN0cnVjdHVyZXMsIG9wZXJhdG9ycywgYW5kIHNwZWNpZmljYXRpb24gYXJlCmNvcHlyaWdodCAxOTg1LTIwMDYgQWRvYmUgU3lzdGVtcyBJbmMuCgoKV2hhdCBpcyBYcGRmPwotLS0tLS0tLS0tLS0tCgpYcGRmIGlzIGFuIG9wZW4gc291cmNlIHZpZXdlciBmb3IgUG9ydGFibGUgRG9jdW1lbnQgRm9ybWF0IChQREYpCmZpbGVzLiAgKFRoZXNlIGFyZSBhbHNvIHNvbWV0aW1lcyBhbHNvIGNhbGxlZCAnQWNyb2JhdCcgZmlsZXMsIGZyb20KdGhlIG5hbWUgb2YgQWRvYmUncyBQREYgc29mdHdhcmUuKSAgVGhlIFhwZGYgcHJvamVjdCBhbHNvIGluY2x1ZGVzIGEKUERGIHRleHQgZXh0cmFjdG9yLCBQREYtdG8tUG9zdFNjcmlwdCBjb252ZXJ0ZXIsIGFuZCB2YXJpb3VzIG90aGVyCnV0aWxpdGllcy4KClhwZGYgcnVucyB1bmRlciB0aGUgWCBXaW5kb3cgU3lzdGVtIG9uIFVOSVgsIFZNUywgYW5kIE9TLzIuICBUaGUgbm9uLVgKY29tcG9uZW50cyAocGRmdG9wcywgcGRmdG90ZXh0LCBldGMuKSBhbHNvIHJ1biBvbiBXaW5kb3dzIGFuZCBNYWMgT1NYCnN5c3RlbXMgYW5kIHNob3VsZCBydW4gb24gcHJldHR5IG11Y2ggYW55IHN5c3RlbSB3aXRoIGEgZGVjZW50IEMrKwpjb21waWxlci4gIFhwZGYgd2lsbCBydW4gb24gMzItYml0IGFuZCA2NC1iaXQgbWFjaGluZXMuCgoKTGljZW5zZSAmIERpc3RyaWJ1dGlvbgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpYcGRmIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWxiaWMgTGljZW5zZSAoR1BMKSwgdmVyc2lvbiAyCm9yIDMuICBUaGlzIG1lYW5zIHRoYXQgeW91IGNhbiBkaXN0cmlidXRlIGRlcml2YXRpdmVzIG9mIFhwZGYgdW5kZXIKYW55IG9mIHRoZSBmb2xsb3dpbmc6CiAgLSBHUEwgdjIgb25seQogIC0gR1BMIHYzIG9ubHkKICAtIEdQTCB2MiBvciB2MwoKVGhlIFhwZGYgc291cmNlIHBhY2thZ2UgaW5jbHVkZXMgdGhlIHRleHQgb2YgYm90aCBHUEwgdmVyc2lvbnM6CkNPUFlJTkcgZm9yIEdQTCB2MiwgQ09QWUlORzMgZm9yIEdQTCB2My4KClBsZWFzZSBub3RlIHRoYXQgWHBkZiBpcyBOT1QgbGljZW5zZWQgdW5kZXIgImFueSBsYXRlciB2ZXJzaW9uIiBvZiB0aGUKR1BMLCBhcyBJIGhhdmUgbm8gaWRlYSB3aGF0IHRob3NlIHZlcnNpb25zIHdpbGwgbG9vayBsaWtlLgoKSWYgeW91IGFyZSByZWRpc3RyaWJ1dGluZyB1bm1vZGlmaWVkIGNvcGllcyBvZiBYcGRmIChvciBhbnkgb2YgdGhlClhwZGYgdG9vbHMpIGluIGJpbmFyeSBmb3JtLCB5b3UgbmVlZCB0byBpbmNsdWRlIGFsbCBvZiB0aGUKZG9jdW1lbnRhdGlvbjogUkVBRE1FLCBtYW4gcGFnZXMgKG9yIGhlbHAgZmlsZXMpLCBDT1BZSU5HLCBhbmQKQ09QWUlORzMuCgpJZiB5b3Ugd2FudCB0byBpbmNvcnBvcmF0ZSB0aGUgWHBkZiBzb3VyY2UgY29kZSBpbnRvIGFub3RoZXIgcHJvZ3JhbQoob3IgY3JlYXRlIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiBYcGRmKSwgYW5kIHlvdSBhcmUgZGlzdHJpYnV0aW5nIHRoYXQKcHJvZ3JhbSwgeW91IGhhdmUgdHdvIG9wdGlvbnM6IHJlbGVhc2UgeW91ciBwcm9ncmFtIHVuZGVyIHRoZSBHUEwgKHYyCmFuZC9vciB2MyksIG9yIHB1cmNoYXNlIGEgY29tbWVyY2lhbCBYcGRmIHNvdXJjZSBsaWNlbnNlLgoKSWYgeW91J3JlIGludGVyZXN0ZWQgaW4gY29tbWVyY2lhbCBsaWNlbnNpbmcsIHBsZWFzZSBzZWUgdGhlIEdseXBoICYKQ29nIHdlYiBzaXRlOgoKICAgIGh0dHA6Ly93d3cuZ2x5cGhhbmRjb2cuY29tLwoKCkNvbXBhdGliaWxpdHkKLS0tLS0tLS0tLS0tLQoKWHBkZiBpcyBkZXZlbG9wZWQgYW5kIHRlc3RlZCBvbiBMaW51eC4KCkluIGFkZGl0aW9uLCBpdCBoYXMgYmVlbiBjb21waWxlZCBieSBvdGhlcnMgb24gU29sYXJpcywgQUlYLCBIUC1VWCwKRGlnaXRhbCBVbml4LCBJcml4LCBhbmQgbnVtZXJvdXMgb3RoZXIgVW5peCBpbXBsZW1lbnRhdGlvbnMsIGFzIHdlbGwKYXMgVk1TIGFuZCBPUy8yLiAgSXQgc2hvdWxkIHdvcmsgb24gcHJldHR5IG11Y2ggYW55IHN5c3RlbSB3aGljaCBydW5zClgxMSBhbmQgaGFzIFVuaXgtbGlrZSBsaWJyYXJpZXMuICBZb3UnbGwgbmVlZCBBTlNJIEMrKyBhbmQgQyBjb21waWxlcnMKdG8gY29tcGlsZSBpdC4KClRoZSBub24tWCBjb21wb25lbnRzIG9mIFhwZGYgKHBkZnRvcHMsIHBkZnRvdGV4dCwgcGRmaW5mbywgcGRmZm9udHMsCnBkZmRldGFjaCwgcGRmdG9wcG0sIGFuZCBwZGZpbWFnZXMpIGNhbiBhbHNvIGJlIGNvbXBpbGVkIG9uIFdpbmRvd3MKYW5kIE1hYyBPU1ggc3lzdGVtcy4gIFNlZSB0aGUgWHBkZiB3ZWIgcGFnZSBmb3IgZGV0YWlscy4KCklmIHlvdSBjb21waWxlIFhwZGYgZm9yIGEgc3lzdGVtIG5vdCBsaXN0ZWQgb24gdGhlIHdlYiBwYWdlLCBwbGVhc2UKbGV0IG1lIGtub3cuICBJZiB5b3UncmUgd2lsbGluZyB0byBtYWtlIHlvdXIgYmluYXJ5IGF2YWlsYWJsZSBieSBmdHAKb3Igb24gdGhlIHdlYiwgSSdsbCBiZSBoYXBweSB0byBhZGQgYSBsaW5rIGZyb20gdGhlIFhwZGYgd2ViIHBhZ2UuICBJCmhhdmUgZGVjaWRlZCBub3QgdG8gaG9zdCBhbnkgYmluYXJpZXMgSSBkaWRuJ3QgY29tcGlsZSBteXNlbGYgKGZvcgpkaXNrIHNwYWNlIGFuZCBzdXBwb3J0IHJlYXNvbnMpLgoKSWYgeW91IGNhbid0IGdldCBYcGRmIHRvIGNvbXBpbGUgb24geW91ciBzeXN0ZW0sIHNlbmQgbWUgZW1haWwgYW5kCkknbGwgdHJ5IHRvIGhlbHAuCgpYcGRmIGhhcyBiZWVuIHBvcnRlZCB0byB0aGUgQWNvcm4sIEFtaWdhLCBCZU9TLCBhbmQgRVBPQy4gIFNlZSB0aGUKWHBkZiB3ZWIgcGFnZSBmb3IgbGlua3MuCgoKR2V0dGluZyBYcGRmCi0tLS0tLS0tLS0tLQoKVGhlIGxhdGVzdCB2ZXJzaW9uIGlzIGF2YWlsYWJsZSBmcm9tOgoKICBodHRwOi8vd3d3LmZvb2xhYnMuY29tL3hwZGYvCgpvcjoKCiAgZnRwOi8vZnRwLmZvb2xhYnMuY29tL3B1Yi94cGRmLwoKU291cmNlIGNvZGUgYW5kIHNldmVyYWwgcHJlY29tcGlsZWQgZXhlY3V0YWJsZXMgYXJlIGF2YWlsYWJsZS4KCkFubm91bmNlbWVudHMgb2YgbmV3IHZlcnNpb25zIGFyZSBwb3N0ZWQgdG8gY29tcC50ZXh0LnBkZiBhbmQgZW1haWxlZAp0byBhIGxpc3Qgb2YgcGVvcGxlLiAgSWYgeW91J2QgbGlrZSB0byByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbiBvZgpuZXcgdmVyc2lvbnMsIGp1c3QgbGV0IG1lIGtub3cuCgoKUnVubmluZyBYcGRmCi0tLS0tLS0tLS0tLQoKVG8gcnVuIHhwZGYsIHNpbXBseSB0eXBlOgoKICB4cGRmIGZpbGUucGRmCgpUbyBnZW5lcmF0ZSBhIFBvc3RTY3JpcHQgZmlsZSwgaGl0IHRoZSAicHJpbnQiIGJ1dHRvbiBpbiB4cGRmLCBvciBydW4KcGRmdG9wczoKCiAgcGRmdG9wcyBmaWxlLnBkZgoKVG8gZ2VuZXJhdGUgYSBwbGFpbiB0ZXh0IGZpbGUsIHJ1biBwZGZ0b3RleHQ6CgogIHBkZnRvdGV4dCBmaWxlLnBkZgoKVGhlcmUgYXJlIGZpdmUgYWRkaXRpb25hbCB1dGlsaXRpZXMgKHdoaWNoIGFyZSBmdWxseSBkZXNjcmliZWQgaW4KdGhlaXIgbWFuIHBhZ2VzKToKCiAgcGRmaW5mbyAtLSBkdW1wcyBhIFBERiBmaWxlJ3MgSW5mbyBkaWN0aW9uYXJ5IChwbHVzIHNvbWUgb3RoZXIKICAgICAgICAgICAgIHVzZWZ1bCBpbmZvcm1hdGlvbikKICBwZGZmb250cyAtLSBsaXN0cyB0aGUgZm9udHMgdXNlZCBpbiBhIFBERiBmaWxlIGFsb25nIHdpdGggdmFyaW91cwogICAgICAgICAgICAgIGluZm9ybWF0aW9uIGZvciBlYWNoIGZvbnQKICBwZGZkZXRhY2ggLS0gbGlzdHMgb3IgZXh0cmFjdHMgZW1iZWRkZWQgZmlsZXMgKGF0dGFjaG1lbnRzKSBmcm9tIGEKICAgICAgICAgICAgICAgUERGIGZpbGUKICBwZGZ0b3BwbSAtLSBjb252ZXJ0cyBhIFBERiBmaWxlIHRvIGEgc2VyaWVzIG9mIFBQTS9QR00vUEJNLWZvcm1hdAogICAgICAgICAgICAgIGJpdG1hcHMKICBwZGZpbWFnZXMgLS0gZXh0cmFjdHMgdGhlIGltYWdlcyBmcm9tIGEgUERGIGZpbGUKCkNvbW1hbmQgbGluZSBvcHRpb25zIGFuZCBtYW55IG90aGVyIGRldGFpbHMgYXJlIGRlc2NyaWJlZCBpbiB0aGUgbWFuCnBhZ2VzICh4cGRmKDEpLCBldGMuKSBhbmQgdGhlIFZNUyBoZWxwIGZpbGVzICh4cGRmLmhscCwgZXRjLikuCgpBbGwgb2YgdGhlc2UgdXRpbGl0aWVzIHJlYWQgYW4gb3B0aW9uYWwgY29uZmlndXJhdGlvbiBmaWxlOiBzZWUgdGhlCnhwZGZyYyg1KSBtYW4gcGFnZS4KCgpVcGdyYWRpbmcgZnJvbSBYcGRmIDMuMDIgKGFuZCBlYXJsaWVyKQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKVGhlIGZvbnQgY29uZmlndXJhdGlvbiBzeXN0ZW0gaGFzIGJlZW4gY2hhbmdlZC4gIFByZXZpb3VzIHZlcnNpb25zCnVzZWQgbW9zdGx5IHNlcGFyYXRlIGNvbW1hbmRzIHRvIGNvbmZpZ3VyZSBmb250cyBmb3IgZGlzcGxheSBhbmQgZm9yClBvc3RTY3JpcHQgb3V0cHV0LiAgQXMgb2YgMy4wMywgY29uZmlndXJhdGlvbiBvcHRpb25zIHRoYXQgbWFrZSBzZW5zZQpmb3IgYm90aCBkaXNwbGF5IGFuZCBQUyBvdXRwdXQgaGF2ZSBiZWVuIHVuaWZpZWQuCgpUaGUgZm9sbG93aW5nIHhwZGZyYyBjb21tYW5kcyBoYXZlIGJlZW4gcmVtb3ZlZDoKKiBkaXNwbGF5Rm9udFQxLCBkaXNwbGF5Rm9udFRUOiByZXBsYWNlZCB3aXRoIGZvbnRGaWxlCiogZGlzcGxheU5hbWVkQ0lERm9udFQxLCBkaXNwbGF5TmFtZWRDSURGb250VFQ6IHJlcGxhY2VkIHdpdGggZm9udEZpbGUKKiBkaXNwbGF5Q0lERm9udFQxLCBkaXNwbGF5Q0lERm9udFRUOiByZXBsYWNlZCB3aXRoIGZvbnRGaWxlQ0MKKiBwc0ZvbnQ6IHJlcGxhY2VkIHdpdGggcHNSZXNpZGVudEZvbnQKKiBwc05hbWVkRm9udDE2OiByZXBsYWNlZCB3aXRoIHBzUmVzaWRlbnRGb250MTYKKiBwc0ZvbnQxNjogcmVwbGFjZWQgd2l0aCBwc1Jlc2lkZW50Rm9udENDCgpTZWUgdGhlIHhwZGZyYyg1KSBtYW4gcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGUgbmV3IGNvbW1hbmRzLgoKUGRmdG9wcyB3aWxsIG5vdyBlbWJlZCBleHRlcm5hbCAxNi1iaXQgZm9udHMgKGNvbmZpZ3VyZWQgd2l0aCB0aGUKZm9udEZpbGVDQyBjb21tYW5kKSB3aGVuIHRoZSBQREYgZmlsZSByZWZlcnMgdG8gYSBub24tZW1iZWRkZWQgZm9udC4KSXQgZG9lcyBub3QgZG8gYW55IHN1YnNldHRpbmcgKHlldCksIHNvIHRoZSByZXN1bHRpbmcgUFMgZmlsZXMgd2lsbCBiZQpsYXJnZS4KCgpDb21waWxpbmcgWHBkZgotLS0tLS0tLS0tLS0tLQoKU2VlIHRoZSBzZXBhcmF0ZSBmaWxlLCBJTlNUQUxMLgoKCkJ1Z3MKLS0tLQoKSWYgeW91IGZpbmQgYSBidWcgaW4gWHBkZiwgaS5lLiwgaWYgaXQgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UsCmNyYXNoZXMsIG9yIGluY29ycmVjdGx5IGRpc3BsYXlzIGEgZG9jdW1lbnQsIGFuZCB5b3UgZG9uJ3Qgc2VlIHRoYXQKYnVnIGxpc3RlZCBoZXJlLCBwbGVhc2Ugc2VuZCBtZSBlbWFpbCwgd2l0aCBhIHBvaW50ZXIgKFVSTCwgZnRwIHNpdGUsCmV0Yy4pIHRvIHRoZSBQREYgZmlsZS4KCgpBY2tub3dsZWRnbWVudHMKLS0tLS0tLS0tLS0tLS0tCgpUaGFua3MgdG86CgoqIFBhdHJpY2sgVm9pZ3QgZm9yIGhlbHAgd2l0aCB0aGUgcmVtb3RlIHNlcnZlciBjb2RlLgoqIFBhdHJpY2sgTW9yZWF1LCBNYXJ0aW4gUC5KLiBaaW5zZXIsIGFuZCBEYXZpZCBNYXRob2cgZm9yIHRoZSBWTVMKICBwb3J0LgoqIERhdmlkIEJvbGR0IGFuZCBSaWNrIFJvZGdlcnMgZm9yIHNhbXBsZSBtYW4gcGFnZXMuCiogQnJlbmRhbiBNaWxsZXIgZm9yIHRoZSBpY29uIGlkZWEuCiogT2xseSBCZXR0cyBmb3IgaGVscCB0ZXN0aW5nIHBkZnRvdGV4dC4KKiBQZXRlciBHYW50ZW4gZm9yIHRoZSBPUy8yIHBvcnQuCiogTWljaGFlbCBSaWNobW9uZCBmb3IgdGhlIFdpbjMyIHBvcnQgb2YgcGRmdG9wcyBhbmQgcGRmdG90ZXh0IGFuZCB0aGUKICB4cGRmL2N5Z3dpbi9YRnJlZTg2IGJ1aWxkIGluc3RydWN0aW9ucy4KKiBGcmFuayBNLiBTaWVnZXJ0IGZvciBpbXByb3ZlbWVudHMgaW4gdGhlIFBvc3RTY3JpcHQgY29kZS4KKiBMZW8gU21pZXJzIGZvciB0aGUgZGVjcnlwdGlvbiBwYXRjaGVzLgoqIFJhaW5lciBNZW56bmVyIGZvciBjcmVhdGluZyB0MWxpYiwgYW5kIGZvciBoZWxwaW5nIG1lIGFkYXB0IGl0IHRvCiAgeHBkZi4KKiBQaW5lIFRyZWUgU3lzdGVtcyBBL1MgZm9yIGZ1bmRpbmcgdGhlIE9QSSBhbmQgRVBTIHN1cHBvcnQgaW4KICBwZGZ0b3BzLgoqIEVhc3kgU29mdHdhcmUgUHJvZHVjdHMgZm9yIGZ1bmRpbmcgc2V2ZXJhbCBpbXByb3ZlbWVudHMgdG8gdGhlCiAgUG9zdFNjcmlwdCBvdXRwdXQgY29kZS4KKiBUb20gS2Fjdmluc2t5IGZvciBoZWxwIHdpdGggRnJlZVR5cGUgYW5kIGZvciBiZWluZyBteSBpbnRlcmZhY2UgdG8KICB0aGUgRnJlZVR5cGUgdGVhbS4KKiBUaGVwcGl0YWsgS2Fyb29uYm9vbnlhbmFuIGZvciBoZWxwIHdpdGggVGhhaSBzdXBwb3J0LgoqIExlb25hcmQgUm9zZW50aG9sIGZvciBoZWxwIGFuZCBjb250cmlidXRpb25zIG9uIGEgYnVuY2ggb2YgdGhpbmdzLgoqIEFsZXhhbmRyb3MgRGlhbWFudGlkaXMgYW5kIE1hcmlhIEFkYWxvZ2xvdSBmb3IgaGVscCB3aXRoIEdyZWVrCiAgc3VwcG9ydC4KKiBMYXdyZW5jZSBMYWkgZm9yIGhlbHAgd2l0aCB0aGUgQ0pLIFVuaWNvZGUgbWFwcy4KClZhcmlvdXMgcGVvcGxlIGhhdmUgY29udHJpYnV0ZWQgbW9kaWZpY2F0aW9ucyBtYWRlIGZvciB1c2UgYnkgdGhlCnBkZnRleCBwcm9qZWN0OgoKKiBIYW4gVGhlIFRoYW5oCiogTWFydGluIFNjaHL2ZGVyIG9mIEFydENvbSBHbWJICgoKUmVmZXJlbmNlcwotLS0tLS0tLS0tCgpBZG9iZSBTeXN0ZW1zIEluYy4sIF9QREYgUmVmZXJlbmNlLCBzaXh0aCBlZGl0aW9uOiBBZG9iZSBQb3J0YWJsZQpEb2N1bWVudCBGb3JtYXQgdmVyc2lvbiAxLjdfLgpodHRwOi8vd3d3LmFkb2JlLmNvbS9kZXZuZXQvcGRmL3BkZl9yZWZlcmVuY2UuaHRtbApbVGhlIG1hbnVhbCBmb3IgUERGIHZlcnNpb24gMS43Ll0KCkFkb2JlIFN5c3RlbXMgSW5jLiwgIkVycmF0YSBmb3IgdGhlIFBERiBSZWZlcmVuY2UsIHNpeHRoIGVkaXRpb24sCnZlcnNpb24gMS43IiwgT2N0b2JlciAxNiwgMjAwNi4KaHR0cDovL3d3dy5hZG9iZS5jb20vZGV2bmV0L3BkZi9wZGZfcmVmZXJlbmNlLmh0bWwKW1RoZSBlcnJhdGEgZm9yIHRoZSBQREYgMS43IHNwZWMuXQoKQWRvYmUgU3lzdGVtcyBJbmMuLCBfUG9zdFNjcmlwdCBMYW5ndWFnZSBSZWZlcmVuY2VfLCAzcmQgZWQuCkFkZGlzb24tV2VzbGV5LCAxOTk5LCBJU0JOIDAtMjAxLTM3OTIyLTguCltUaGUgb2ZmaWNpYWwgUG9zdFNjcmlwdCBtYW51YWwuXQoKQWRvYmUgU3lzdGVtcywgSW5jLiwgX1RoZSBUeXBlIDQyIEZvbnQgRm9ybWF0IFNwZWNpZmljYXRpb25fLApBZG9iZSBEZXZlbG9wZXIgU3VwcG9ydCBUZWNobmljYWwgU3BlY2lmaWNhdGlvbiAjNTAxMi4gIDE5OTguCmh0dHA6Ly9wYXJ0bmVycy5hZG9iZS5jb20vYXNuL2RldmVsb3Blci9wZGZzL3RuLzUwMTIuVHlwZTQyX1NwZWMucGRmCltUeXBlIDQyIGlzIHRoZSBmb3JtYXQgdXNlZCB0byBlbWJlZCBUcnVlVHlwZSBmb250cyBpbiBQb3N0U2NyaXB0CmZpbGVzLl0KCkFkb2JlIFN5c3RlbXMsIEluYy4sIF9BZG9iZSBDTWFwIGFuZCBDSURGb250IEZpbGVzIFNwZWNpZmljYXRpb25fLApBZG9iZSBEZXZlbG9wZXIgU3VwcG9ydCBUZWNobmljYWwgU3BlY2lmaWNhdGlvbiAjNTAxNC4gIDE5OTUuCmh0dHA6Ly93d3cuYWRvYmUuY29tL3N1cHBvcnRzZXJ2aWNlL2RldnJlbGF0aW9ucy9QREZTL1ROLzUwMTQuQ0lERm9udF9TcGVjLnBkZgpbQ01hcCBmaWxlIGZvcm1hdCBuZWVkZWQgZm9yIEphcGFuZXNlIGFuZCBDaGluZXNlIGZvbnQgc3VwcG9ydC5dCgpBZG9iZSBTeXN0ZW1zLCBJbmMuLCBfQWRvYmUtSmFwYW4xLTQgQ2hhcmFjdGVyIENvbGxlY3Rpb24gZm9yCkNJRC1LZXllZCBGb250c18sIEFkb2JlIERldmVsb3BlciBTdXBwb3J0IFRlY2huaWNhbCBOb3RlICM1MDc4LgoyMDAwLgpodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL2Fzbi9kZXZlbG9wZXIvUERGUy9UTi81MDc4LkNJRF9HbHlwaC5wZGYKW1RoZSBBZG9iZSBKYXBhbmVzZSBjaGFyYWN0ZXIgc2V0Ll0KCkFkb2JlIFN5c3RlbXMsIEluYy4sIF9BZG9iZS1HQjEtNCBDaGFyYWN0ZXIgQ29sbGVjdGlvbiBmb3IKQ0lELUtleWVkIEZvbnRzXywgQWRvYmUgRGV2ZWxvcGVyIFN1cHBvcnQgVGVjaG5pY2FsIE5vdGUgIzUwNzkuCjIwMDAuCmh0dHA6Ly9wYXJ0bmVycy5hZG9iZS5jb20vYXNuL2RldmVsb3Blci9wZGZzL3RuLzUwNzkuQWRvYmUtR0IxLTQucGRmCltUaGUgQWRvYmUgQ2hpbmVzZSBHQiAoc2ltcGxpZmllZCkgY2hhcmFjdGVyIHNldC5dCgpBZG9iZSBTeXN0ZW1zLCBJbmMuLCBfQWRvYmUtQ05TMS0zIENoYXJhY3RlciBDb2xsZWN0aW9uIGZvcgpDSUQtS2V5ZWQgRm9udHNfLCBBZG9iZSBEZXZlbG9wZXIgU3VwcG9ydCBUZWNobmljYWwgTm90ZSAjNTA4MC4KMjAwMC4KaHR0cDovL3BhcnRuZXJzLmFkb2JlLmNvbS9hc24vZGV2ZWxvcGVyL1BERlMvVE4vNTA4MC5DTlNfQ2hhckNvbGwucGRmCltUaGUgQWRvYmUgQ2hpbmVzZSBDTlMgKHRyYWRpdGlvbmFsKSBjaGFyYWN0ZXIgc2V0Ll0KCkFkb2JlIFN5c3RlbXMgSW5jLiwgX1N1cHBvcnRpbmcgdGhlIERDVCBGaWx0ZXJzIGluIFBvc3RTY3JpcHQgTGV2ZWwKMl8sIEFkb2JlIERldmVsb3BlciBTdXBwb3J0IFRlY2huaWNhbCBOb3RlICM1MTE2LiAgMTk5Mi4KaHR0cDovL3d3dy5hZG9iZS5jb20vc3VwcG9ydHNlcnZpY2UvZGV2cmVsYXRpb25zL1BERlMvVE4vNTExNi5QUzJfRENULlBERgpbRGVzY3JpcHRpb24gb2YgdGhlIERDVERlY29kZSBmaWx0ZXIgcGFyYW1ldGVycy5dCgpBZG9iZSBTeXN0ZW1zIEluYy4sIF9PcGVuIFByZXByZXNzIEludGVyZmFjZSAoT1BJKSBTcGVjaWZpY2F0aW9uIC0KVmVyc2lvbiAyLjBfLCBBZG9iZSBEZXZlbG9wZXIgU3VwcG9ydCBUZWNobmljYWwgTm90ZSAjNTY2MC4gIDIwMDAuCmh0dHA6Ly9wYXJ0bmVycy5hZG9iZS5jb20vYXNuL2RldmVsb3Blci9QREZTL1ROLzU2NjAuT1BJXzIuMC5wZGYKCkFkb2JlIFN5c3RlbXMgSW5jLiwgQ01hcCBmaWxlcy4KZnRwOi8vZnRwLm9yZWlsbHkuY29tL3B1Yi9leGFtcGxlcy9udXRzaGVsbC9jamt2L2Fkb2JlLwpbVGhlIGFjdHVhbCBDTWFwIGZpbGVzIGZvciB0aGUgMTYtYml0IENKSyBlbmNvZGluZ3MuXQoKQWRvYmUgU3lzdGVtcyBJbmMuLCBVbmljb2RlIGdseXBoIGxpc3RzLgpodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL2Fzbi9kZXZlbG9wZXIvdHlwZS91bmljb2RlZ24uaHRtbApodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL2Fzbi9kZXZlbG9wZXIvdHlwZS9nbHlwaGxpc3QudHh0Cmh0dHA6Ly9wYXJ0bmVycy5hZG9iZS5jb20vYXNuL2RldmVsb3Blci90eXBlL2NvcnBvcmF0ZXVzZS50eHQKaHR0cDovL3BhcnRuZXJzLmFkb2JlLmNvbS9hc24vZGV2ZWxvcGVyL3R5cGUvemFwZmRpbmdiYXRzLnR4dApbTWFwcGluZ3MgYmV0d2VlbiBjaGFyYWN0ZXIgbmFtZXMgdG8gVW5pY29kZS5dCgpBZG9iZSBTeXN0ZW1zIEluYy4sIE9wZW5UeXBlIFNwZWNpZmljYXRpb24gdi4gMS40LgpodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL3B1YmxpYy9kZXZlbG9wZXIvb3BlbnR5cGUvaW5kZXhfc3BlYy5odG1sCltUaGUgT3BlblR5cGUgZm9udCBmb3JtYXQgc3BlYy5dCgpBbGR1cyBDb3JwLiwgX09QSTogT3BlbiBQcmVwcmVzcyBJbnRlcmZhY2UgU3BlY2lmaWNhdGlvbiAxLjNfLiAgMTk5My4KaHR0cDovL3BhcnRuZXJzLmFkb2JlLmNvbS9hc24vZGV2ZWxvcGVyL1BERlMvVE4vT1BJXzEzLnBkZgoKQW5vbnltb3VzLCBSQzQgc291cmNlIGNvZGUuCmZ0cDovL2Z0cC5veC5hYy51ay9wdWIvY3J5cHRvL21pc2MvcmM0LnRhci5negpmdHA6Ly9pZGVhLnNlYy5kc2kudW5pbWkuaXQvcHViL2NyeXB0L2NvZGUvcmM0LnRhci5negpbVGhpcyBpcyB0aGUgYWxnb3JpdGhtIHVzZWQgdG8gZW5jcnlwdCBQREYgZmlsZXMuXQoKVC4gQm91dGVsbCwgZXQgYWwuLCAiUE5HIChQb3J0YWJsZSBOZXR3b3JrIEdyYXBoaWNzKSBTcGVjaWZpY2F0aW9uLApWZXJzaW9uIDEuMCIuICBSRkMgMjA4My4KW1BERiB1c2VzIHRoZSBQTkcgZmlsdGVyIGFsZ29yaXRobXMuXQoKQ0NJVFQsICJJbmZvcm1hdGlvbiBUZWNobm9sb2d5IC0gRGlnaXRhbCBDb21wcmVzc2lvbiBhbmQgQ29kaW5nIG9mCkNvbnRpbnVvdXMtdG9uZSBTdGlsbCBJbWFnZXMgLSBSZXF1aXJlbWVudHMgYW5kIEd1aWRlbGluZXMiLCBDQ0lUVApSZWNvbW1lbmRhdGlvbiBULjgxLgpodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9KUEVHLwpbVGhlIG9mZmljaWFsIEpQRUcgc3BlYy5dCgpBLiBDaGVybm92LCAiUmVnaXN0cmF0aW9uIG9mIGEgQ3lyaWxsaWMgQ2hhcmFjdGVyIFNldCIuICBSRkMgMTQ4OS4KW0RvY3VtZW50YXRpb24gZm9yIHRoZSBLT0k4LVIgQ3lyaWxsaWMgZW5jb2RpbmcuXQoKUm9tYW4gQ3p5Ym9ycmEsICJUaGUgSVNPIDg4NTkgQWxwaGFiZXQgU291cCIuCmh0dHA6Ly9jenlib3JyYS5jb20vY2hhcnNldHMvaXNvODg1OS5odG1sCltEb2N1bWVudGF0aW9uIG9uIHRoZSB2YXJpb3VzIElTTyA4NTkgZW5jb2RpbmdzLl0KCkwuIFBldGVyIERldXRzY2gsICJaTElCIENvbXByZXNzZWQgRGF0YSBGb3JtYXQgU3BlY2lmaWNhdGlvbiB2ZXJzaW9uCjMuMyIuICBSRkMgMTk1MC4KW0luZm9ybWF0aW9uIG9uIHRoZSBnZW5lcmFsIGZvcm1hdCB1c2VkIGluIEZsYXRlRGVjb2RlIHN0cmVhbXMuXQoKTC4gUGV0ZXIgRGV1dHNjaCwgIkRFRkxBVEUgQ29tcHJlc3NlZCBEYXRhIEZvcm1hdCBTcGVjaWZpY2F0aW9uCnZlcnNpb24gMS4zIi4gIFJGQyAxOTUxLgpbVGhlIGRlZmluaXRpb24gb2YgdGhlIGNvbXByZXNzaW9uIGFsZ29yaXRobSB1c2VkIGluIEZsYXRlRGVjb2RlCnN0cmVhbXMuXQoKTW9ycmlzIER3b3JraW4sICJSZWNvbW1lbmRhdGlvbiBmb3IgQmxvY2sgQ2lwaGVyIE1vZGVzIG9mIE9wZXJhdGlvbiIsCk5hdGlvbmFsIEluc3RpdHV0ZSBvZiBTdGFuZGFyZHMsIE5JU1QgU3BlY2lhbCBQdWJsaWNhdGlvbiA4MDAtMzhBLAoyMDAxLgpbVGhlIGNpcGhlciBibG9jayBjaGFpbmluZyAoQ0JDKSBtb2RlIHVzZWQgd2l0aCBBRVMgaW4gUERGIGZpbGVzLl0KCkZlZGVyYWwgSW5mb3JtYXRpb24gUHJvY2Vzc2luZyBTdGFuZGFyZHMgUHVibGljYXRpb24gMTk3IChGSVBTIFBVQlMKMTk3KSwgIkFkdmFuY2VkIEVuY3J5cHRpb24gU3RhbmRhcmQgKEFFUykiLCBOb3ZlbWJlciAyNiwgMjAwMS4KW0FFUyBlbmNyeXB0aW9uLCB1c2VkIGluIFBERiAxLjYuXQoKSmltIEZsb3dlcnMsICJYIExvZ2ljYWwgRm9udCBEZXNjcmlwdGlvbiBDb252ZW50aW9ucyIsIFZlcnNpb24gMS41LCBYCkNvbnNvcnRpdW0gU3RhbmRhcmQsIFggVmVyc2lvbiAxMSwgUmVsZWFzZSA2LjEuCmZ0cDovL2Z0cC54Lm9yZy9wdWIvUjYuMS94Yy9kb2MvaGFyZGNvcHkvWExGRC94bGZkLlBTLloKW1RoZSBvZmZpY2lhbCBzcGVjaWZpY2F0aW9uIG9mIFggZm9udCBkZXNjcmlwdG9ycywgaW5jbHVkaW5nIGZvbnQKdHJhbnNmb3JtYXRpb24gbWF0cmljZXMuXQoKRm9sZXksIHZhbiBEYW0sIEZlaW5lciwgYW5kIEh1Z2hlcywgX0NvbXB1dGVyIEdyYXBoaWNzOiBQcmluY2lwbGVzIGFuZApQcmFjdGljZV8sIDJuZCBlZC4gIEFkZGlzb24tV2VzbGV5LCAxOTkwLCBJU0JOIDAtMjAxLTEyMTEwLTcuCltDb2xvcnNwYWNlIGNvbnZlcnNpb24gZnVuY3Rpb25zLCBCZXppZXIgc3BsaW5lIG1hdGguXQoKUm9iZXJ0IEwuIEh1bW1lbCwgX1Byb2dyYW1tZXIncyBUZWNobmljYWwgUmVmZXJlbmNlOiBEYXRhIGFuZCBGYXgKQ29tbXVuaWNhdGlvbnNfLiAgWmlmZi1EYXZpcyBQcmVzcywgMTk5MywgSVNCTiAxLTU2Mjc2LTA3Ny03LgpbQ0NJVFQgR3JvdXAgMyBhbmQgNCBmYXggZGVjb2RpbmcuXQoKSVNPL0lFQywgX0luZm9ybWF0aW9uIHRlY2hub2xvZ3kgLS0gTG9zc3kvbG9zc2xlc3MgY29kaW5nIG9mIGJpLWxldmVsCmltYWdlc18uICBJU08vSUVDIDE0NDkyLCBGaXJzdCBlZGl0aW9uICgyMDAxLTEyLTE1KS4KaHR0cDovL3dlYnN0b3JlLmFuc2kub3JnLwpbVGhlIG9mZmljaWFsIEpCSUcyIHN0YW5kYXJkLiAgVGhlIGZpbmFsIGRyYWZ0IG9mIHRoaXMgc3BlYyBpcwphdmFpbGFibGUgZnJvbSBodHRwOi8vd3d3LmpwZWcub3JnL2piaWdob21lcGFnZS5odG1sLl0KCklTTy9JRUMsIF9JbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0tIEpQRUcgMjAwMCBpbWFnZSBjb2Rpbmcgc3lzdGVtIC0tClBhcnQgMTogQ29yZSBjb2Rpbmcgc3lzdGVtXy4gIElTTy9JRUMgMTU0NDQtMSwgRmlyc3QgZWRpdGlvbgooMjAwMC0xMi0xNSkuCmh0dHA6Ly93ZWJzdG9yZS5hbnNpLm9yZy8KW1RoZSBvZmZpY2lhbCBKUEVHIDIwMDAgc3RhbmRhcmQuICBUaGUgZmluYWwgY29tbWl0dGVlIGRyYWZ0IG9mIHRoaXMKc3BlYyBpcyBhdmFpbGFibGUgZnJvbSBodHRwOi8vd3d3LmpwZWcub3JnL0pQRUcyMDAwLmh0bWwsIGJ1dCB0aGVyZQp3ZXJlIGNoYW5nZXMgbWFkZSB0byB0aGUgYml0c3RyZWFtIGZvcm1hdCBiZXR3ZWVuIHRoYXQgZHJhZnQgYW5kIHRoZQpwdWJsaXNoZWQgc3BlYy5dCgpJVFUsICJTdGFuZGFyZGl6YXRpb24gb2YgR3JvdXAgMyBmYWNzaW1pbGUgdGVybWluYWxzIGZvciBkb2N1bWVudAp0cmFuc21pc3Npb24iLCBJVFUtVCBSZWNvbW1lbmRhdGlvbiBULjQsIDE5OTkuCklUVSwgIkZhY3NpbWlsZSBjb2Rpbmcgc2NoZW1lcyBhbmQgY29kaW5nIGNvbnRyb2wgZnVuY3Rpb25zIGZvciBHcm91cCA0CmZhY3NpbWlsZSBhcHBhcmF0dXMiLCBJVFUtVCBSZWNvbW1lbmRhdGlvbiBULjYsIDE5OTMuCmh0dHA6Ly93d3cuaXR1LmludC8KW1RoZSBvZmZpY2lhbCBHcm91cCAzIGFuZCA0IGZheCBzdGFuZGFyZHMgLSB1c2VkIGJ5IHRoZSBDQ0lUVEZheERlY29kZQpzdHJlYW0sIGFzIHdlbGwgYXMgdGhlIEpCSUcyRGVjb2RlIHN0cmVhbS5dCgpCLiBLYWxpc2tpLCAiUEtDUyAjNTogUGFzc3dvcmQtQmFzZWQgQ3J5cHRvZ3JhcGh5IFNwZWNpZmljYXRpb24sClZlcnNpb24gMi4wIi4gIFJGQyAyODk4LgpbRGVmaW5lcyB0aGUgcGFkZGluZyBzY2hlbWUgdXNlZCB3aXRoIEFFUyBlbmNyeXB0aW9uIGluIFBERiBmaWxlcy5dCgpDaHJpc3RvcGggTG9lZmZsZXIsIEFkcmlhYW4gTGlndGVuYmVyZywgR2VvcmdlIFMuIE1vc2NoeXR6LCAiUHJhY3RpY2FsCkZhc3QgMS1EIERDVCBBbGdvcml0aG1zIHdpdGggMTEgTXVsdGlwbGljYXRpb25zIi4gIElFRUUgSW50bC4gQ29uZi4gb24KQWNvdXN0aWNzLCBTcGVlY2ggJiBTaWduYWwgUHJvY2Vzc2luZywgMTk4OSwgOTg4LTk5MS4KW1RoZSBmYXN0IElEQ1QgYWxnb3JpdGhtIHVzZWQgaW4gdGhlIERDVERlY29kZSBmaWx0ZXIuXQoKTWljcm9zb2Z0LCBfVHJ1ZVR5cGUgMS4wIEZvbnQgRmlsZXNfLCByZXYuIDEuNjYuICAxOTk1LgpodHRwOi8vd3d3Lm1pY3Jvc29mdC5jb20vdHlwb2dyYXBoeS90dC90dC5odG0KW1RoZSBUcnVlVHlwZSBmb250IHNwZWMgKGluIE1TIFdvcmQgZm9ybWF0LCBuYXR1cmFsbHkpLl0KClYuIE9zdHJvbW91a2hvdiwgUi5ELiBIZXJzY2gsICJTdG9jaGFzdGljIENsdXN0ZXJlZC1Eb3QgRGl0aGVyaW5nIiwKQ29uZi4gQ29sb3IgSW1hZ2luZzogRGV2aWNlLUluZGVwZW5kZW50IENvbG9yLCBDb2xvciBIYXJkY29weSwgYW5kCkdyYXBoaWMgQXJ0cyBJViwgMTk5OSwgU1BJRSBWb2wuIDM2NDgsIDQ5Ni01MDUuCmh0dHA6Ly9kaXd3dy5lcGZsLmNoL3czbHNwL3B1YmxpY2F0aW9ucy9jb2xvdXIvc2NkLmh0bWwKW1RoZSBzdG9jaGFzdGljIGRpdGhlcmluZyBhbGdvcml0aG0gdXNlZCBpbiBYcGRmLl0KClAuIFBldGVybGluLCAiSVNPIDg4NTktMiAoTGF0aW4gMikgUmVzb3VyY2VzIi4KaHR0cDovL3NpemlmLm1mLnVuaS1sai5zaS9saW51eC9jZWUvaXNvODg1OS0yLmh0bWwKW1RoaXMgaXMgYSB3ZWIgcGFnZSB3aXRoIGFsbCBzb3J0cyBvZiB1c2VmdWwgTGF0aW4tMiBjaGFyYWN0ZXIgc2V0IGFuZApmb250IGluZm9ybWF0aW9uLl0KCkNoYXJsZXMgUG95bnRvbiwgIkNvbG9yIEZBUSIuCmh0dHA6Ly93d3cuaW5mb3JhbXAubmV0L35wb3ludG9uL0NvbG9yRkFRLmh0bWwKW1RoZSBtYXBwaW5nIGZyb20gdGhlIENJRSAxOTMxIChYWVopIGNvbG9yIHNwYWNlIHRvIFJHQi5dCgpSLiBSaXZlc3QsICJUaGUgTUQ1IE1lc3NhZ2UtRGlnZXN0IEFsZ29yaXRobSIuICBSRkMgMTMyMS4KW01ENSBpcyB1c2VkIGluIFBERiBkb2N1bWVudCBlbmNyeXB0aW9uLl0KClRoYWkgSW5kdXN0cmlhbCBTdGFuZGFyZCwgIlN0YW5kYXJkIGZvciBUaGFpIENoYXJhY3RlciBDb2RlcyBmb3IKQ29tcHV0ZXJzIiwgVElTLTYyMC0yNTMzICgxOTkwKS4KaHR0cDovL3d3dy5uZWN0ZWMub3IudGgvaXQtc3RhbmRhcmRzL3N0ZDYyMC9zdGQ2MjAuaHRtCltUaGUgVElTLTYyMCBUaGFpIGVuY29kaW5nLl0KClVuaWNvZGUgQ29uc29ydGl1bSwgIlVuaWNvZGUgSG9tZSBQYWdlIi4KaHR0cDovL3d3dy51bmljb2RlLm9yZy8KW09ubGluZSBjb3B5IG9mIHRoZSBVbmljb2RlIHNwZWMuXQoKVzNDIFJlY29tbWVuZGF0aW9uLCAiUE5HIChQb3J0YWJsZSBOZXR3b3JrIEdyYXBoaWNzKSBTcGVjaWZpY2F0aW9uClZlcnNpb24gMS4wIi4KaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvUE5HLwpbRGVmaW5lcyB0aGUgUE5HIGltYWdlIHByZWRpY3Rvci5dCgpHcmVnb3J5IEsuIFdhbGxhY2UsICJUaGUgSlBFRyBTdGlsbCBQaWN0dXJlIENvbXByZXNzaW9uIFN0YW5kYXJkIi4KZnRwOi8vZnRwLnV1Lm5ldC9ncmFwaGljcy9qcGVnL3dhbGxhY2UucHMuZ3oKW0dvb2QgZGVzY3JpcHRpb24gb2YgdGhlIEpQRUcgc3RhbmRhcmQuICBBbHNvIHB1Ymxpc2hlZCBpbiBDQUNNLCBBcHJpbAoxOTkxLCBhbmQgc3VibWl0dGVkIHRvIElFRUUgVHJhbnNhY3Rpb25zIG9uIENvbnN1bWVyIEVsZWN0cm9uaWNzLl0KCkYuIFllcmdlYXUsICJVVEYtOCwgYSB0cmFuc2Zvcm1hdGlvbiBmb3JtYXQgb2YgSVNPIDEwNjQ2Ii4gIFJGQyAyMjc5LgpbQSBjb21tb25seSB1c2VkIFVuaWNvZGUgZW5jb2RpbmcuXQo=