WHBkZgo9PT09Cgp2ZXJzaW9uIDMuMDAKMjAwNC1qYW4tMjIKClRoZSBYcGRmIHNvZnR3YXJlIGFuZCBkb2N1bWVudGF0aW9uIGFyZQpjb3B5cmlnaHQgMTk5Ni0yMDA0IEdseXBoICYgQ29nLCBMTEMuCgpFbWFpbDogZGVyZWtuQGZvb2xhYnMuY29tCldXVzogaHR0cDovL3d3dy5mb29sYWJzLmNvbS94cGRmLwoKVGhlIFBERiBkYXRhIHN0cnVjdHVyZXMsIG9wZXJhdG9ycywgYW5kIHNwZWNpZmljYXRpb24gYXJlCmNvcHlyaWdodCAxOTg1LTIwMDMgQWRvYmUgU3lzdGVtcyBJbmMuCgoKV2hhdCBpcyBYcGRmPwotLS0tLS0tLS0tLS0tCgpYcGRmIGlzIGFuIG9wZW4gc291cmNlIHZpZXdlciBmb3IgUG9ydGFibGUgRG9jdW1lbnQgRm9ybWF0IChQREYpCmZpbGVzLiAgKFRoZXNlIGFyZSBhbHNvIHNvbWV0aW1lcyBhbHNvIGNhbGxlZCAnQWNyb2JhdCcgZmlsZXMsIGZyb20KdGhlIG5hbWUgb2YgQWRvYmUncyBQREYgc29mdHdhcmUuKSAgVGhlIFhwZGYgcHJvamVjdCBhbHNvIGluY2x1ZGVzIGEKUERGIHRleHQgZXh0cmFjdG9yLCBQREYtdG8tUG9zdFNjcmlwdCBjb252ZXJ0ZXIsIGFuZCB2YXJpb3VzIG90aGVyCnV0aWxpdGllcy4KClhwZGYgcnVucyB1bmRlciB0aGUgWCBXaW5kb3cgU3lzdGVtIG9uIFVOSVgsIFZNUywgYW5kIE9TLzIuICBUaGUgbm9uLVgKY29tcG9uZW50cyAocGRmdG9wcywgcGRmdG90ZXh0LCBldGMuKSBhbHNvIHJ1biBvbiBXaW4zMiBzeXN0ZW1zIGFuZApzaG91bGQgcnVuIG9uIHByZXR0eSBtdWNoIGFueSBzeXN0ZW0gd2l0aCBhIGRlY2VudCBDKysgY29tcGlsZXIuCgpYcGRmIGlzIGRlc2lnbmVkIHRvIGJlIHNtYWxsIGFuZCBlZmZpY2llbnQuICBJdCBjYW4gdXNlIFR5cGUgMSBvcgpUcnVlVHlwZSBmb250cy4KCgpEaXN0cmlidXRpb24KLS0tLS0tLS0tLS0tCgpYcGRmIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSAoR1BMKSwgdmVyc2lvbgoyLiAgSW4gbXkgb3BpbmlvbiwgdGhlIEdQTCBpcyBhIGNvbnZvbHV0ZWQsIGNvbmZ1c2luZywgYW1iaWd1b3VzIG1lc3MuCkJ1dCBpdCdzIGFsc28gcGVydmFzaXZlLCBhbmQgSSdtIHNpY2sgb2YgYXJndWluZy4gIEFuZCBldmVuIGlmIGl0IGlzCmNvbmZ1c2luZywgdGhlIGJhc2ljIGlkZWEgaXMgZ29vZC4KCkluIG9yZGVyIHRvIGN1dCBkb3duIG9uIHRoZSBjb25mdXNpb24gYSBsaXR0bGUgYml0LCBoZXJlIGFyZSBzb21lCmluZm9ybWFsIGNsYXJpZmljYXRpb25zOgoKLSBJIGRvbid0IG1pbmQgaWYgeW91IHJlZGlzdHJpYnV0ZSBYcGRmIGluIHNvdXJjZSBhbmQvb3IgYmluYXJ5IGZvcm0sCiAgYXMgbG9uZyBhcyB5b3UgaW5jbHVkZSBhbGwgb2YgdGhlIGRvY3VtZW50YXRpb246IFJFQURNRSwgbWFuIHBhZ2VzCiAgKG9yIGhlbHAgZmlsZXMpLCBhbmQgQ09QWUlORy4gIChOb3RlIHRoYXQgdGhlIFJFQURNRSBmaWxlIGNvbnRhaW5zIGEKICBwb2ludGVyIHRvIGEgd2ViIHBhZ2Ugd2l0aCB0aGUgc291cmNlIGNvZGUuKQoKLSBTZWxsaW5nIGEgQ0QtUk9NIHRoYXQgY29udGFpbnMgWHBkZiBpcyBmaW5lIHdpdGggbWUsIGFzIGxvbmcgYXMgaXQKICBpbmNsdWRlcyB0aGUgZG9jdW1lbnRhdGlvbi4gIEkgd291bGRuJ3QgbWluZCByZWNlaXZpbmcgYSBzYW1wbGUKICBjb3B5LCBidXQgaXQncyBub3QgbmVjZXNzYXJ5LgoKLSBJZiB5b3UgbWFrZSB1c2VmdWwgY2hhbmdlcyB0byBYcGRmLCBwbGVhc2UgbWFrZSB0aGUgc291cmNlIGNvZGUKICBhdmFpbGFibGUgLS0gcG9zdCBpdCBvbiBhIHdlYiBzaXRlLCBlbWFpbCBpdCB0byBtZSwgd2hhdGV2ZXIuCgpJZiB5b3UncmUgaW50ZXJlc3RlZCBpbiBjb21tZXJjaWFsIGxpY2Vuc2luZywgcGxlYXNlIHNlZSB0aGUgR2x5cGggJgpDb2cgd2ViIHNpdGU6CgogICAgaHR0cDovL3d3dy5nbHlwaGFuZGNvZy5jb20vCgoKQ29tcGF0aWJpbGl0eQotLS0tLS0tLS0tLS0tCgpYcGRmIGlzIGRldmVsb3BlZCBhbmQgdGVzdGVkIG9uIGEgTGludXggMi40IHg4NiBzeXN0ZW0uCgpJbiBhZGRpdGlvbiwgaXQgaGFzIGJlZW4gY29tcGlsZWQgYnkgb3RoZXJzIG9uIFNvbGFyaXMsIEFJWCwgSFAtVVgsCkRpZ2l0YWwgVW5peCwgSXJpeCwgYW5kIG51bWVyb3VzIG90aGVyIFVuaXggaW1wbGVtZW50YXRpb25zLCBhcyB3ZWxsCmFzIFZNUyBhbmQgT1MvMi4gIEl0IHNob3VsZCB3b3JrIG9uIHByZXR0eSBtdWNoIGFueSBzeXN0ZW0gd2hpY2ggcnVucwpYMTEgYW5kIGhhcyBVbml4LWxpa2UgbGlicmFyaWVzLiAgWW91J2xsIG5lZWQgQU5TSSBDKysgYW5kIEMgY29tcGlsZXJzCnRvIGNvbXBpbGUgaXQuCgpUaGUgbm9uLVggY29tcG9uZW50cyBvZiBYcGRmIChwZGZ0b3BzLCBwZGZ0b3RleHQsIHBkZmluZm8sIHBkZmZvbnRzLApwZGZ0b3BwbSwgYW5kIHBkZmltYWdlcykgY2FuIGFsc28gYmUgY29tcGlsZWQgb24gV2luMzIgc3lzdGVtcy4gIFNlZQp0aGUgWHBkZiB3ZWIgcGFnZSBmb3IgZGV0YWlscy4KCklmIHlvdSBjb21waWxlIFhwZGYgZm9yIGEgc3lzdGVtIG5vdCBsaXN0ZWQgb24gdGhlIHdlYiBwYWdlLCBwbGVhc2UKbGV0IG1lIGtub3cuICBJZiB5b3UncmUgd2lsbGluZyB0byBtYWtlIHlvdXIgYmluYXJ5IGF2YWlsYWJsZSBieSBmdHAKb3Igb24gdGhlIHdlYiwgSSdsbCBiZSBoYXBweSB0byBhZGQgYSBsaW5rIGZyb20gdGhlIFhwZGYgd2ViIHBhZ2UuICBJCmhhdmUgZGVjaWRlZCBub3QgdG8gaG9zdCBhbnkgYmluYXJpZXMgSSBkaWRuJ3QgY29tcGlsZSBteXNlbGYgKGZvcgpkaXNrIHNwYWNlIGFuZCBzdXBwb3J0IHJlYXNvbnMpLgoKSWYgeW91IGNhbid0IGdldCBYcGRmIHRvIGNvbXBpbGUgb24geW91ciBzeXN0ZW0sIHNlbmQgbWUgZW1haWwgYW5kCkknbGwgdHJ5IHRvIGhlbHAuCgpYcGRmIGhhcyBiZWVuIHBvcnRlZCB0byB0aGUgQWNvcm4sIEFtaWdhLCBCZU9TLCBhbmQgRVBPQy4gIFNlZSB0aGUKWHBkZiB3ZWIgcGFnZSBmb3IgbGlua3MuCgoKR2V0dGluZyBYcGRmCi0tLS0tLS0tLS0tLQoKVGhlIGxhdGVzdCB2ZXJzaW9uIGlzIGF2YWlsYWJsZSBmcm9tOgoKICBodHRwOi8vd3d3LmZvb2xhYnMuY29tL3hwZGYvCgpvcjoKCiAgZnRwOi8vZnRwLmZvb2xhYnMuY29tL3B1Yi94cGRmLwoKU291cmNlIGNvZGUgYW5kIHNldmVyYWwgcHJlY29tcGlsZWQgZXhlY3V0YWJsZXMgYXJlIGF2YWlsYWJsZS4KCkFubm91bmNlbWVudHMgb2YgbmV3IHZlcnNpb25zIGFyZSBwb3N0ZWQgdG8gc2V2ZXJhbCBuZXdzZ3JvdXBzCihjb21wLnRleHQucGRmLCBjb21wLm9zLmxpbnV4LmFubm91bmNlLCBhbmQgb3RoZXJzKSBhbmQgZW1haWxlZCB0byBhCmxpc3Qgb2YgcGVvcGxlLiAgSWYgeW91J2QgbGlrZSB0byByZWNlaXZlIGVtYWlsIG5vdGlmaWNhdGlvbiBvZiBuZXcKdmVyc2lvbnMsIGp1c3QgbGV0IG1lIGtub3cuCgoKUnVubmluZyBYcGRmCi0tLS0tLS0tLS0tLQoKVG8gcnVuIHhwZGYsIHNpbXBseSB0eXBlOgoKICB4cGRmIGZpbGUucGRmCgpUbyBnZW5lcmF0ZSBhIFBvc3RTY3JpcHQgZmlsZSwgaGl0IHRoZSAicHJpbnQiIGJ1dHRvbiBpbiB4cGRmLCBvciBydW4KcGRmdG9wczoKCiAgcGRmdG9wcyBmaWxlLnBkZgoKVG8gZ2VuZXJhdGUgYSBwbGFpbiB0ZXh0IGZpbGUsIHJ1biBwZGZ0b3RleHQ6CgogIHBkZnRvdGV4dCBmaWxlLnBkZgoKVGhlcmUgYXJlIGZvdXIgYWRkaXRpb25hbCB1dGlsaXRpZXMgKHdoaWNoIGFyZSBmdWxseSBkZXNjcmliZWQgaW4KdGhlaXIgbWFuIHBhZ2VzKToKCiAgcGRmaW5mbyAtLSBkdW1wcyBhIFBERiBmaWxlJ3MgSW5mbyBkaWN0aW9uYXJ5IChwbHVzIHNvbWUgb3RoZXIKICAgICAgICAgICAgIHVzZWZ1bCBpbmZvcm1hdGlvbikKICBwZGZmb250cyAtLSBsaXN0cyB0aGUgZm9udHMgdXNlZCBpbiBhIFBERiBmaWxlIGFsb25nIHdpdGggdmFyaW91cwogICAgICAgICAgICAgIGluZm9ybWF0aW9uIGZvciBlYWNoIGZvbnQKICBwZGZ0b3BwbSAtLSBjb252ZXJ0cyBhIFBERiBmaWxlIHRvIGEgc2VyaWVzIG9mIFBQTS9QR00vUEJNLWZvcm1hdAogICAgICAgICAgICAgIGJpdG1hcHMKICBwZGZpbWFnZXMgLS0gZXh0cmFjdHMgdGhlIGltYWdlcyBmcm9tIGEgUERGIGZpbGUKCkNvbW1hbmQgbGluZSBvcHRpb25zIGFuZCBtYW55IG90aGVyIGRldGFpbHMgYXJlIGRlc2NyaWJlZCBpbiB0aGUgbWFuCnBhZ2VzICh4cGRmLjEsIGV0Yy4pIGFuZCB0aGUgVk1TIGhlbHAgZmlsZXMgKHhwZGYuaGxwLCBldGMuKS4KCgpVcGdyYWRpbmcgZnJvbSBYcGRmIDIueHgKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpXQVJOSU5HOiBYcGRmIDMuMDAgc3dpdGNoZWQgdG8gYSBuZXcgUERGIHJhc3Rlcml6ZXIsIHdoaWNoIG5vIGxvbmdlcgp1c2VzIFggZm9udHMuICBZb3UnbGwgbmVlZCBhIHNldCBvZiBCYXNlLTE0IGZvbnRzIC0tIHRoZSBVUlcgZm9udHMKZGlzdHJpYnV0ZWQgd2l0aCBnaG9zdHNjcmlwdCBjYW4gYmUgdXNlZCBmb3IgdGhpcy4gIFhwZGYgd2lsbCBzZWFyY2gKZm9yIHRoZSBVUlcgZm9udHMsIGJ1dCBpZiB5b3UgaGF2ZSB0aGVtIGluc3RhbGxlZCBpbiBhIG5vbi1zdGFuZGFyZApkaXJlY3RvcnksIHlvdSdsbCBuZWVkIHRvIHNldCB1cCBhbiB4cGRmcmMgY29uZmlnIGZpbGUgdG8gcG9pbnQgdG8KdGhlbS4gIEZvciBmdWxsIGRldGFpbHMsIHBsZWFzZSBzZWUgdGhlIHhwZGZyYyg1KSBtYW4gcGFnZS4KCgpDb21waWxpbmcgWHBkZgotLS0tLS0tLS0tLS0tLQoKU2VlIHRoZSBzZXBhcmF0ZSBmaWxlLCBJTlNUQUxMLgoKCkJ1Z3MKLS0tLQoKSWYgeW91IGZpbmQgYSBidWcgaW4gWHBkZiwgaS5lLiwgaWYgaXQgcHJpbnRzIGFuIGVycm9yIG1lc3NhZ2UsCmNyYXNoZXMsIG9yIGluY29ycmVjdGx5IGRpc3BsYXlzIGEgZG9jdW1lbnQsIGFuZCB5b3UgZG9uJ3Qgc2VlIHRoYXQKYnVnIGxpc3RlZCBoZXJlLCBwbGVhc2Ugc2VuZCBtZSBlbWFpbCwgd2l0aCBhIHBvaW50ZXIgKFVSTCwgZnRwIHNpdGUsCmV0Yy4pIHRvIHRoZSBQREYgZmlsZS4KCgpBY2tub3dsZWRnbWVudHMKLS0tLS0tLS0tLS0tLS0tCgpUaGFua3MgdG86CgoqIFBhdHJpY2sgVm9pZ3QgZm9yIGhlbHAgd2l0aCB0aGUgcmVtb3RlIHNlcnZlciBjb2RlLgoqIFBhdHJpY2sgTW9yZWF1LCBNYXJ0aW4gUC5KLiBaaW5zZXIsIGFuZCBEYXZpZCBNYXRob2cgZm9yIHRoZSBWTVMKICBwb3J0LgoqIERhdmlkIEJvbGR0IGFuZCBSaWNrIFJvZGdlcnMgZm9yIHNhbXBsZSBtYW4gcGFnZXMuCiogQnJlbmRhbiBNaWxsZXIgZm9yIHRoZSBpY29uIGlkZWEuCiogT2xseSBCZXR0cyBmb3IgaGVscCB0ZXN0aW5nIHBkZnRvdGV4dC4KKiBQZXRlciBHYW50ZW4gZm9yIHRoZSBPUy8yIHBvcnQuCiogTWljaGFlbCBSaWNobW9uZCBmb3IgdGhlIFdpbjMyIHBvcnQgb2YgcGRmdG9wcyBhbmQgcGRmdG90ZXh0IGFuZCB0aGUKICB4cGRmL2N5Z3dpbi9YRnJlZTg2IGJ1aWxkIGluc3RydWN0aW9ucy4KKiBGcmFuayBNLiBTaWVnZXJ0IGZvciBpbXByb3ZlbWVudHMgaW4gdGhlIFBvc3RTY3JpcHQgY29kZS4KKiBMZW8gU21pZXJzIGZvciB0aGUgZGVjcnlwdGlvbiBwYXRjaGVzLgoqIFJhaW5lciBNZW56bmVyIGZvciBjcmVhdGluZyB0MWxpYiwgYW5kIGZvciBoZWxwaW5nIG1lIGFkYXB0IGl0IHRvCiAgeHBkZi4KKiBQaW5lIFRyZWUgU3lzdGVtcyBBL1MgZm9yIGZ1bmRpbmcgdGhlIE9QSSBhbmQgRVBTIHN1cHBvcnQgaW4KICBwZGZ0b3BzLgoqIEVhc3kgU29mdHdhcmUgUHJvZHVjdHMgZm9yIGZ1bmRpbmcgdGhlICJzaCIgb3BlcmF0b3Igc3VwcG9ydC4KKiBUb20gS2Fjdmluc2t5IGZvciBoZWxwIHdpdGggRnJlZVR5cGUgYW5kIGZvciBiZWluZyBteSBpbnRlcmZhY2UgdG8KICB0aGUgRnJlZVR5cGUgdGVhbS4KKiBUaGVwcGl0YWsgS2Fyb29uYm9vbnlhbmFuIGZvciBoZWxwIHdpdGggVGhhaSBzdXBwb3J0LgoqIExlb25hcmQgUm9zZW50aG9sIGZvciBoZWxwIGFuZCBjb250cmlidXRpb25zIG9uIGEgYnVuY2ggb2YgdGhpbmdzLgoqIEFsZXhhbmRyb3MgRGlhbWFudGlkaXMgYW5kIE1hcmlhIEFkYWxvZ2xvdSBmb3IgaGVscCB3aXRoIEdyZWVrCiAgc3VwcG9ydC4KKiBMYXdyZW5jZSBMYWkgZm9yIGhlbHAgd2l0aCB0aGUgQ0pLIFVuaWNvZGUgbWFwcy4KClZhcmlvdXMgcGVvcGxlIGhhdmUgY29udHJpYnV0ZWQgbW9kaWZpY2F0aW9ucyBtYWRlIGZvciB1c2UgYnkgdGhlCnBkZnRleCBwcm9qZWN0OgoKKiBIYW4gVGhlIFRoYW5oCiogTWFydGluIFNjaHL2ZGVyIG9mIEFydENvbSBHbWJICgoKUmVmZXJlbmNlcwotLS0tLS0tLS0tCgpBZG9iZSBTeXN0ZW1zIEluYy4sIF9QREYgUmVmZXJlbmNlOiBBZG9iZSBQb3J0YWJsZSBEb2N1bWVudCBGb3JtYXQKVmVyc2lvbiAxLjVfLgpodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL2Fzbi90ZWNoL3BkZi9zcGVjaWZpY2F0aW9ucy5qc3AKW1RoZSBtYW51YWwgZm9yIFBERiB2ZXJzaW9uIDEuNS5dCgpBZG9iZSBTeXN0ZW1zIEluYy4sIF9Qb3N0U2NyaXB0IExhbmd1YWdlIFJlZmVyZW5jZV8sIDNyZCBlZC4KQWRkaXNvbi1XZXNsZXksIDE5OTksIElTQk4gMC0yMDEtMzc5MjItOC4KW1RoZSBvZmZpY2lhbCBQb3N0U2NyaXB0IG1hbnVhbC5dCgpBZG9iZSBTeXN0ZW1zLCBJbmMuLCBfVGhlIFR5cGUgNDIgRm9udCBGb3JtYXQgU3BlY2lmaWNhdGlvbl8sCkFkb2JlIERldmVsb3BlciBTdXBwb3J0IFRlY2huaWNhbCBTcGVjaWZpY2F0aW9uICM1MDEyLiAgMTk5OC4KaHR0cDovL3BhcnRuZXJzLmFkb2JlLmNvbS9hc24vZGV2ZWxvcGVyL3BkZnMvdG4vNTAxMi5UeXBlNDJfU3BlYy5wZGYKW1R5cGUgNDIgaXMgdGhlIGZvcm1hdCB1c2VkIHRvIGVtYmVkIFRydWVUeXBlIGZvbnRzIGluIFBvc3RTY3JpcHQKZmlsZXMuXQoKQWRvYmUgU3lzdGVtcywgSW5jLiwgX0Fkb2JlIENNYXAgYW5kIENJREZvbnQgRmlsZXMgU3BlY2lmaWNhdGlvbl8sCkFkb2JlIERldmVsb3BlciBTdXBwb3J0IFRlY2huaWNhbCBTcGVjaWZpY2F0aW9uICM1MDE0LiAgMTk5NS4KaHR0cDovL3d3dy5hZG9iZS5jb20vc3VwcG9ydHNlcnZpY2UvZGV2cmVsYXRpb25zL1BERlMvVE4vNTAxNC5DSURGb250X1NwZWMucGRmCltDTWFwIGZpbGUgZm9ybWF0IG5lZWRlZCBmb3IgSmFwYW5lc2UgYW5kIENoaW5lc2UgZm9udCBzdXBwb3J0Ll0KCkFkb2JlIFN5c3RlbXMsIEluYy4sIF9BZG9iZS1KYXBhbjEtNCBDaGFyYWN0ZXIgQ29sbGVjdGlvbiBmb3IKQ0lELUtleWVkIEZvbnRzXywgQWRvYmUgRGV2ZWxvcGVyIFN1cHBvcnQgVGVjaG5pY2FsIE5vdGUgIzUwNzguCjIwMDAuCmh0dHA6Ly9wYXJ0bmVycy5hZG9iZS5jb20vYXNuL2RldmVsb3Blci9QREZTL1ROLzUwNzguQ0lEX0dseXBoLnBkZgpbVGhlIEFkb2JlIEphcGFuZXNlIGNoYXJhY3RlciBzZXQuXQoKQWRvYmUgU3lzdGVtcywgSW5jLiwgX0Fkb2JlLUdCMS00IENoYXJhY3RlciBDb2xsZWN0aW9uIGZvcgpDSUQtS2V5ZWQgRm9udHNfLCBBZG9iZSBEZXZlbG9wZXIgU3VwcG9ydCBUZWNobmljYWwgTm90ZSAjNTA3OS4KMjAwMC4KaHR0cDovL3BhcnRuZXJzLmFkb2JlLmNvbS9hc24vZGV2ZWxvcGVyL3BkZnMvdG4vNTA3OS5BZG9iZS1HQjEtNC5wZGYKW1RoZSBBZG9iZSBDaGluZXNlIEdCIChzaW1wbGlmaWVkKSBjaGFyYWN0ZXIgc2V0Ll0KCkFkb2JlIFN5c3RlbXMsIEluYy4sIF9BZG9iZS1DTlMxLTMgQ2hhcmFjdGVyIENvbGxlY3Rpb24gZm9yCkNJRC1LZXllZCBGb250c18sIEFkb2JlIERldmVsb3BlciBTdXBwb3J0IFRlY2huaWNhbCBOb3RlICM1MDgwLgoyMDAwLgpodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL2Fzbi9kZXZlbG9wZXIvUERGUy9UTi81MDgwLkNOU19DaGFyQ29sbC5wZGYKW1RoZSBBZG9iZSBDaGluZXNlIENOUyAodHJhZGl0aW9uYWwpIGNoYXJhY3RlciBzZXQuXQoKQWRvYmUgU3lzdGVtcyBJbmMuLCBfU3VwcG9ydGluZyB0aGUgRENUIEZpbHRlcnMgaW4gUG9zdFNjcmlwdCBMZXZlbAoyXywgQWRvYmUgRGV2ZWxvcGVyIFN1cHBvcnQgVGVjaG5pY2FsIE5vdGUgIzUxMTYuICAxOTkyLgpodHRwOi8vd3d3LmFkb2JlLmNvbS9zdXBwb3J0c2VydmljZS9kZXZyZWxhdGlvbnMvUERGUy9UTi81MTE2LlBTMl9EQ1QuUERGCltEZXNjcmlwdGlvbiBvZiB0aGUgRENURGVjb2RlIGZpbHRlciBwYXJhbWV0ZXJzLl0KCkFkb2JlIFN5c3RlbXMgSW5jLiwgX09wZW4gUHJlcHJlc3MgSW50ZXJmYWNlIChPUEkpIFNwZWNpZmljYXRpb24gLQpWZXJzaW9uIDIuMF8sIEFkb2JlIERldmVsb3BlciBTdXBwb3J0IFRlY2huaWNhbCBOb3RlICM1NjYwLiAgMjAwMC4KaHR0cDovL3BhcnRuZXJzLmFkb2JlLmNvbS9hc24vZGV2ZWxvcGVyL1BERlMvVE4vNTY2MC5PUElfMi4wLnBkZgoKQWRvYmUgU3lzdGVtcyBJbmMuLCBDTWFwIGZpbGVzLgpmdHA6Ly9mdHAub3JlaWxseS5jb20vcHViL2V4YW1wbGVzL251dHNoZWxsL2Nqa3YvYWRvYmUvCltUaGUgYWN0dWFsIENNYXAgZmlsZXMgZm9yIHRoZSAxNi1iaXQgQ0pLIGVuY29kaW5ncy5dCgpBZG9iZSBTeXN0ZW1zIEluYy4sIFVuaWNvZGUgZ2x5cGggbGlzdHMuCmh0dHA6Ly9wYXJ0bmVycy5hZG9iZS5jb20vYXNuL2RldmVsb3Blci90eXBlL3VuaWNvZGVnbi5odG1sCmh0dHA6Ly9wYXJ0bmVycy5hZG9iZS5jb20vYXNuL2RldmVsb3Blci90eXBlL2dseXBobGlzdC50eHQKaHR0cDovL3BhcnRuZXJzLmFkb2JlLmNvbS9hc24vZGV2ZWxvcGVyL3R5cGUvY29ycG9yYXRldXNlLnR4dApodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL2Fzbi9kZXZlbG9wZXIvdHlwZS96YXBmZGluZ2JhdHMudHh0CltNYXBwaW5ncyBiZXR3ZWVuIGNoYXJhY3RlciBuYW1lcyB0byBVbmljb2RlLl0KCkFsZHVzIENvcnAuLCBfT1BJOiBPcGVuIFByZXByZXNzIEludGVyZmFjZSBTcGVjaWZpY2F0aW9uIDEuM18uICAxOTkzLgpodHRwOi8vcGFydG5lcnMuYWRvYmUuY29tL2Fzbi9kZXZlbG9wZXIvUERGUy9UTi9PUElfMTMucGRmCgpBbm9ueW1vdXMsIFJDNCBzb3VyY2UgY29kZS4KZnRwOi8vZnRwLm94LmFjLnVrL3B1Yi9jcnlwdG8vbWlzYy9yYzQudGFyLmd6CmZ0cDovL2lkZWEuc2VjLmRzaS51bmltaS5pdC9wdWIvY3J5cHQvY29kZS9yYzQudGFyLmd6CltUaGlzIGlzIHRoZSBhbGdvcml0aG0gdXNlZCB0byBlbmNyeXB0IFBERiBmaWxlcy5dCgpULiBCb3V0ZWxsLCBldCBhbC4sICJQTkcgKFBvcnRhYmxlIE5ldHdvcmsgR3JhcGhpY3MpIFNwZWNpZmljYXRpb24sClZlcnNpb24gMS4wLiAgUkZDIDIwODMuCltQREYgdXNlcyB0aGUgUE5HIGZpbHRlciBhbGdvcml0aG1zLl0KCkNDSVRULCAiSW5mb3JtYXRpb24gVGVjaG5vbG9neSAtIERpZ2l0YWwgQ29tcHJlc3Npb24gYW5kIENvZGluZyBvZgpDb250aW51b3VzLXRvbmUgU3RpbGwgSW1hZ2VzIC0gUmVxdWlyZW1lbnRzIGFuZCBHdWlkZWxpbmVzIiwgQ0NJVFQKUmVjb21tZW5kYXRpb24gVC44MS4KaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvSlBFRy8KW1RoZSBvZmZpY2lhbCBKUEVHIHNwZWMuXQoKQS4gQ2hlcm5vdiwgIlJlZ2lzdHJhdGlvbiBvZiBhIEN5cmlsbGljIENoYXJhY3RlciBTZXQiLiAgUkZDIDE0ODkuCltEb2N1bWVudGF0aW9uIGZvciB0aGUgS09JOC1SIEN5cmlsbGljIGVuY29kaW5nLl0KClJvbWFuIEN6eWJvcnJhLCAiVGhlIElTTyA4ODU5IEFscGhhYmV0IFNvdXAiLgpodHRwOi8vY3p5Ym9ycmEuY29tL2NoYXJzZXRzL2lzbzg4NTkuaHRtbApbRG9jdW1lbnRhdGlvbiBvbiB0aGUgdmFyaW91cyBJU08gODU5IGVuY29kaW5ncy5dCgpMLiBQZXRlciBEZXV0c2NoLCAiWkxJQiBDb21wcmVzc2VkIERhdGEgRm9ybWF0IFNwZWNpZmljYXRpb24gdmVyc2lvbgozLjMiLiAgUkZDIDE5NTAuCltJbmZvcm1hdGlvbiBvbiB0aGUgZ2VuZXJhbCBmb3JtYXQgdXNlZCBpbiBGbGF0ZURlY29kZSBzdHJlYW1zLl0KCkwuIFBldGVyIERldXRzY2gsICJERUZMQVRFIENvbXByZXNzZWQgRGF0YSBGb3JtYXQgU3BlY2lmaWNhdGlvbgp2ZXJzaW9uIDEuMyIuICBSRkMgMTk1MS4KW1RoZSBkZWZpbml0aW9uIG9mIHRoZSBjb21wcmVzc2lvbiBhbGdvcml0aG0gdXNlZCBpbiBGbGF0ZURlY29kZQpzdHJlYW1zLl0KCkppbSBGbG93ZXJzLCAiWCBMb2dpY2FsIEZvbnQgRGVzY3JpcHRpb24gQ29udmVudGlvbnMiLCBWZXJzaW9uIDEuNSwgWApDb25zb3J0aXVtIFN0YW5kYXJkLCBYIFZlcnNpb24gMTEsIFJlbGVhc2UgNi4xLgpmdHA6Ly9mdHAueC5vcmcvcHViL1I2LjEveGMvZG9jL2hhcmRjb3B5L1hMRkQveGxmZC5QUy5aCltUaGUgb2ZmaWNpYWwgc3BlY2lmaWNhdGlvbiBvZiBYIGZvbnQgZGVzY3JpcHRvcnMsIGluY2x1ZGluZyBmb250CnRyYW5zZm9ybWF0aW9uIG1hdHJpY2VzLl0KCkZvbGV5LCB2YW4gRGFtLCBGZWluZXIsIGFuZCBIdWdoZXMsIF9Db21wdXRlciBHcmFwaGljczogUHJpbmNpcGxlcyBhbmQKUHJhY3RpY2VfLCAybmQgZWQuICBBZGRpc29uLVdlc2xleSwgMTk5MCwgSVNCTiAwLTIwMS0xMjExMC03LgpbQ29sb3JzcGFjZSBjb252ZXJzaW9uIGZ1bmN0aW9ucywgQmV6aWVyIHNwbGluZSBtYXRoLl0KClJvYmVydCBMLiBIdW1tZWwsIF9Qcm9ncmFtbWVyJ3MgVGVjaG5pY2FsIFJlZmVyZW5jZTogRGF0YSBhbmQgRmF4CkNvbW11bmljYXRpb25zXy4gIFppZmYtRGF2aXMgUHJlc3MsIDE5OTMsIElTQk4gMS01NjI3Ni0wNzctNy4KW0NDSVRUIEdyb3VwIDMgYW5kIDQgZmF4IGRlY29kaW5nLl0KCklTTy9JRUMsIF9JbmZvcm1hdGlvbiB0ZWNobm9sb2d5IC0tIExvc3N5L2xvc3NsZXNzIGNvZGluZyBvZiBiaS1sZXZlbAppbWFnZXNfLiAgSVNPL0lFQyAxNDQ5MiwgRmlyc3QgZWRpdGlvbiAoMjAwMS0xMi0xNSkuCmh0dHA6Ly93ZWJzdG9yZS5hbnNpLm9yZy8KW1RoZSBvZmZpY2lhbCBKQklHMiBzdGFuZGFyZC4gIFRoZSBmaW5hbCBkcmFmdCBvZiB0aGlzIHNwZWMgaXMKYXZhaWxhYmxlIGZyb20gaHR0cDovL3d3dy5qcGVnLm9yZy9qYmlnaG9tZXBhZ2UuaHRtbC5dCgpJU08vSUVDLCBfSW5mb3JtYXRpb24gdGVjaG5vbG9neSAtLSBKUEVHIDIwMDAgaW1hZ2UgY29kaW5nIHN5c3RlbSAtLQpQYXJ0IDE6IENvcmUgY29kaW5nIHN5c3RlbV8uICBJU08vSUVDIDE1NDQ0LTEsIEZpcnN0IGVkaXRpb24KKDIwMDAtMTItMTUpLgpodHRwOi8vd2Vic3RvcmUuYW5zaS5vcmcvCltUaGUgb2ZmaWNpYWwgSlBFRyAyMDAwIHN0YW5kYXJkLiAgVGhlIGZpbmFsIGNvbW1pdHRlZSBkcmFmdCBvZiB0aGlzCnNwZWMgaXMgYXZhaWxhYmxlIGZyb20gaHR0cDovL3d3dy5qcGVnLm9yZy9KUEVHMjAwMC5odG1sLCBidXQgdGhlcmUKd2VyZSBjaGFuZ2VzIG1hZGUgdG8gdGhlIGJpdHN0cmVhbSBmb3JtYXQgYmV0d2VlbiB0aGF0IGRyYWZ0IGFuZCB0aGUKcHVibGlzaGVkIHNwZWMuXQoKSVRVLCAiU3RhbmRhcmRpemF0aW9uIG9mIEdyb3VwIDMgZmFjc2ltaWxlIHRlcm1pbmFscyBmb3IgZG9jdW1lbnQKdHJhbnNtaXNzaW9uIiwgSVRVLVQgUmVjb21tZW5kYXRpb24gVC40LCAxOTk5LgpJVFUsICJGYWNzaW1pbGUgY29kaW5nIHNjaGVtZXMgYW5kIGNvZGluZyBjb250cm9sIGZ1bmN0aW9ucyBmb3IgR3JvdXAgNApmYWNzaW1pbGUgYXBwYXJhdHVzIiwgSVRVLVQgUmVjb21tZW5kYXRpb24gVC42LCAxOTkzLgpodHRwOi8vd3d3Lml0dS5pbnQvCltUaGUgb2ZmaWNpYWwgR3JvdXAgMyBhbmQgNCBmYXggc3RhbmRhcmRzIC0gdXNlZCBieSB0aGUgQ0NJVFRGYXhEZWNvZGUKc3RyZWFtLCBhcyB3ZWxsIGFzIHRoZSBKQklHMkRlY29kZSBzdHJlYW0uXQoKQ2hyaXN0b3BoIExvZWZmbGVyLCBBZHJpYWFuIExpZ3RlbmJlcmcsIEdlb3JnZSBTLiBNb3NjaHl0eiwgIlByYWN0aWNhbApGYXN0IDEtRCBEQ1QgQWxnb3JpdGhtcyB3aXRoIDExIE11bHRpcGxpY2F0aW9ucyIuICBJRUVFIEludGwuIENvbmYuIG9uCkFjb3VzdGljcywgU3BlZWNoICYgU2lnbmFsIFByb2Nlc3NpbmcsIDE5ODksIDk4OC05OTEuCltUaGUgZmFzdCBJRENUIGFsZ29yaXRobSB1c2VkIGluIHRoZSBEQ1REZWNvZGUgZmlsdGVyLl0KCk1pY3Jvc29mdCwgX1RydWVUeXBlIDEuMCBGb250IEZpbGVzXywgcmV2LiAxLjY2LiAgMTk5NS4KaHR0cDovL3d3dy5taWNyb3NvZnQuY29tL3R5cG9ncmFwaHkvdHQvdHQuaHRtCltUaGUgVHJ1ZVR5cGUgZm9udCBzcGVjIChpbiBNUyBXb3JkIGZvcm1hdCwgbmF0dXJhbGx5KS5dCgpUaGFpIEluZHVzdHJpYWwgU3RhbmRhcmQsICJTdGFuZGFyZCBmb3IgVGhhaSBDaGFyYWN0ZXIgQ29kZXMgZm9yCkNvbXB1dGVycyIsIFRJUy02MjAtMjUzMyAoMTk5MCkuCmh0dHA6Ly93d3cubmVjdGVjLm9yLnRoL2l0LXN0YW5kYXJkcy9zdGQ2MjAvc3RkNjIwLmh0bQpbVGhlIFRJUy02MjAgVGhhaSBlbmNvZGluZy5dCgpQLiBQZXRlcmxpbiwgIklTTyA4ODU5LTIgKExhdGluIDIpIFJlc291cmNlcyIuCmh0dHA6Ly9zaXppZi5tZi51bmktbGouc2kvbGludXgvY2VlL2lzbzg4NTktMi5odG1sCltUaGlzIGlzIGEgd2ViIHBhZ2Ugd2l0aCBhbGwgc29ydHMgb2YgdXNlZnVsIExhdGluLTIgY2hhcmFjdGVyIHNldCBhbmQKZm9udCBpbmZvcm1hdGlvbi5dCgpDaGFybGVzIFBveW50b24sICJDb2xvciBGQVEiLgpodHRwOi8vd3d3LmluZm9yYW1wLm5ldC9+cG95bnRvbi9Db2xvckZBUS5odG1sCltUaGUgbWFwcGluZyBmcm9tIHRoZSBDSUUgMTkzMSAoWFlaKSBjb2xvciBzcGFjZSB0byBSR0IuXQoKUi4gUml2ZXN0LCAiVGhlIE1ENSBNZXNzYWdlLURpZ2VzdCBBbGdvcml0aG0iLiAgUkZDIDEzMjEuCltNRDUgaXMgdXNlZCBpbiBQREYgZG9jdW1lbnQgZW5jcnlwdGlvbi5dCgpVbmljb2RlIENvbnNvcnRpdW0sICJVbmljb2RlIEhvbWUgUGFnZSIuCmh0dHA6Ly93d3cudW5pY29kZS5vcmcvCltPbmxpbmUgY29weSBvZiB0aGUgVW5pY29kZSBzcGVjLl0KClczQyBSZWNvbW1lbmRhdGlvbiwgIlBORyAoUG9ydGFibGUgTmV0d29yayBHcmFwaGljcykgU3BlY2lmaWNhdGlvbgpWZXJzaW9uIDEuMCIuCmh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1BORy8KW0RlZmluZXMgdGhlIFBORyBpbWFnZSBwcmVkaWN0b3IuXQoKR3JlZ29yeSBLLiBXYWxsYWNlLCAiVGhlIEpQRUcgU3RpbGwgUGljdHVyZSBDb21wcmVzc2lvbiBTdGFuZGFyZCIuCmZ0cDovL2Z0cC51dS5uZXQvZ3JhcGhpY3MvanBlZy93YWxsYWNlLnBzLmd6CltHb29kIGRlc2NyaXB0aW9uIG9mIHRoZSBKUEVHIHN0YW5kYXJkLiAgQWxzbyBwdWJsaXNoZWQgaW4gQ0FDTSwgQXByaWwKMTk5MSwgYW5kIHN1Ym1pdHRlZCB0byBJRUVFIFRyYW5zYWN0aW9ucyBvbiBDb25zdW1lciBFbGVjdHJvbmljcy5dCgpGLiBZZXJnZWF1LCAiVVRGLTgsIGEgdHJhbnNmb3JtYXRpb24gZm9ybWF0IG9mIElTTyAxMDY0NiIuICBSRkMgMjI3OS4KW0EgY29tbW9ubHkgdXNlZCBVbmljb2RlIGVuY29kaW5nLl0K