MS4gSU5UUk9EVUNUSU9OCgpXaW5lIGVzdCB1biBwcm9ncmFtbWUgcXVpIHBlcm1ldCBkJ2V46WN1dGVyIGxlcyBsb2dpY2llbHMg6WNyaXRzCnBvdXIgTWljcm9zb2Z0IFdpbmRvd3MgKGNvbXByZW5hbnQgbGVzIGV46WN1dGFibGVzIERPUywgV2luZG93cyAzLngKZXQgV2luMzIpIHN1ciB1biBVbml4LiBJbCBlc3QgY29tcG9z6SBkJ3VuIGNoYXJnZXVyIHF1aSBjaGFyZ2UgZXQKZXjpY3V0ZSB1biBiaW5haXJlIE1pY3Jvc29mdCBXaW5kb3dzLCBhaW5zaSBxdWUgZCd1bmUgbGlicmFpcmllIChhcHBlbOllCldpbmVsaWIpIHF1aSBpbXBs6W1lbnRlIGxlcyBhcHBlbHMgZGUgbCdBUEkgZGUgV2luZG93cyBwYXIgbGV1cgrpcXVpdmFsZW50IFVuaXggb3UgWDExLiBDZXR0ZSBsaWJyYWlyaWUgcGV1dCDpZ2FsZW1lbnQg6nRyZSB1dGlsaXPpZQpwb3VyIHBvcnRlciBkdSBjb2RlIFdpbjMyIHZlcnMgdW4gZXjpY3V0YWJsZSBVbml4IG5hdGlmcy4KCldpbmUgZXN0IHVuIGxvZ2ljaWVsIGxpYnJlLCBkaXN0cmlidekgc291cyBHTlUgTEdQTDsgbGlzZXogbGUgZmljaGllcgpMSUNFTkNFIHBvdXIgbGVzIGTpdGFpbHMuCgoyLiBEyU1BUlJBR0UgUkFQSURFCgpN6m1lIHNpIHZvdXMgY29tcGlsZXog4CBwYXJ0aXIgZGVzIHNvdXJjZXMsIGlsIGVzdCByZWNvbW1hbmTpIGQndXRpbGlzZXIKbCdJbnN0YWxsYXRldXIgZGUgV2luZSBwb3VyIGNvbnN0cnVpcmUgZXQgaW5zdGFsbGVyIFdpbmUuIMAgcGFydGlyIGR1CnLpcGVydG9pcmUgbGUgcGx1cyDpbGV26SBkZXMgc291cmNlcyBkZSBXaW5lIChxdWkgY29udGllbnQgY2UgZmljaGllciksCmV46WN1dGV6IDoKCi4vdG9vbHMvd2luZWluc3RhbGwKClBvdXIgZXjpY3V0ZXIgbGVzIHByb2dyYW1tZXMsIHRhcGV6ICJ3aW5lIFtvcHRpb25zXSBwcm9ncmFtbWUiLiBQb3VyIGRlcwppbmZvcm1hdGlvblMgY29tcGzpbWVudGFpcmVzIGV0IGRlcyBy6XNvbHV0aW9ucyBkZSBwcm9ibOhtZXMsIGxpc2V6IGxlCnJlc3RlIGRlIGNlIGZpY2hpZXIsIGxlcyBwYWdlcyAibWFuIiBkZSBXaW5lLCBldCBzdXJ0b3V0IGxlcyBub21icmV1c2VzIAppbmZvcm1hdGlvbnMgcXVlIHZvdXMgdHJvdXZlcmV6IHN1ciBodHRwOi8vd3d3LndpbmVocS5vcmcuCgozLiBDT05GSUdVUkFUSU9OIE7JQ0VTU0FJUkUKClBvdXIgY29tcGlsZXIgZXQgZXjpY3V0ZXIgV2luZSwgdm91cyBkZXZleiBhdm9pciB1biBkZXMgc3lzdOhtZXMKZCdleHBsb2l0YXRpb24gcXVpIHN1aXQgOgoKCUxpbnV4IHZlcnNpb24gMi4wLjM2IG91IHN1cOlyaWV1cgoJRnJlZUJTRCA0Lnggb3IgRnJlZUJTRCA1LUNVUlJFTlQgb3Ugc3Vw6XJpZXVyCglTb2xhcmlzIHg4NiAyLjUgb3Ugc3Vw6XJpZXVyCglOZXRCU0QtY3VycmVudAoKyXRhbnQgZG9ubukgcXVlIFdpbmUgbuljZXNzaXRlIHVuZSBpbXBs6W1lbnRhdGlvbiBkZXMgInRocmVhZHMiIGF1IG5pdmVhdSBkdQpub3lhdSwgc2V1bHMgbGVzIHN5c3TobWVzIGQnZXhwbG9pdGF0aW9uIG1lbnRpb25u6XMgY2ktaGF1dCBzb250IHN1cHBvcnTpcy4KRCdhdXRyZXMgc3lzdOhtZXMgZCdleHBsb2l0YXRpb24gcXVpIGltcGzpbWVudGVudCBsZXMgInRocmVhZHMiIG5veWF1IHBldXZlbnQK6nRyZSBzdXBwb3J06XMgZGFucyBsZSBmdXR1ci4KCkluZm9ybWF0aW9uIExpbnV4IDoKICBCaWVuIHF1ZSBMaW51eCAyLjIueCBkZXZyYWl0IGVuY29yZSBmb250aW9ubmVyIGV0IHF1ZSBMaW51eCAyLjAueCBwb3VycmFpdAogIGVuY29yZSBtYXJjaGVyIChkZXMgdmVyc2lvbnMgcGx1cyBhbmNpZW5uZXMgZGUgMi4wLnggYXZhaWVudCBkZXMgcGxhbnRhZ2VzCiAgZPsgYXV4ICJ0aHJlYWRzIiksIGlsIGVzdCBwculm6XJhYmxlIGQnYXZvaXIgdW4gbm95YXUgculjZW50IHRlbCBxdWUgMi40LnguCgpJbmZvcm1hdGlvbiBGcmVlQlNEIDoKICBXaW5lIGRldnJhaXQgcG91dm9pciDqdHJlIGNvbXBpbOkgc3VyIEZyZWVCU0QgNC54IGV0IEZyZWVCU0QgNS54LCBtYWlzIGxlcwogIHZlcnNpb25zIGFudOlyaWV1cmVzIOAgRnJlZUJTRCA1LjMgbmUgZm9uY3Rpb25uZXJvbnQgZ+lu6XJhbGVtZW50IHBhcy4KCiAgUGx1cyBkJ2luZm9ybWF0aW9uIGVzdCBzaXR16WUgZGFucyBsJ2FyYnJlIGRlIHBvcnRzIDoKICBmdHA6Ly9mdHAuZnJlZWJzZC5vcmcvcHViL0ZyZWVCU0QvcG9ydHMvcG9ydHMvZW11bGF0b3JzL3dpbmUvCgpJbmZvcm1hdGlvbiBTb2xhcmlzIDoKICBJbCBlc3QgcGx1cyBxdWUgcHJvYmFibGUgcXVlIHZvdXMgZGV2cmV6IGNvbnN0cnVpcmUgV2luZSBhdmVjIGxhIGNoYe5uZQogIGQnb3V0aWxzIEdOVSAoZ2NjLCBnYXMsIGV0Yy4pLiBBdmVydGlzc2VtZW50IDogaW50YWxsZXIgZ2FzIG4nYXNzdXJlIHBhcwogIHF1J2lsIHNlcmEgdXRpbGlz6SBwYXIgZ2NjLiAgUmVjb21wbGlsZXIgZ2NjIGFwcuhzIGwnaW5zdGFsbGF0aW9uIGRlIGdhcwogIG91IGNy6WVyIHVuIGxpZW4gc3ltYm9saXF1ZSBkZSBjYywgYXMgZXQgbGQgdmVycyBsZXMgb3V0aWxzIEdOVSBzZW1ibGUKICBu6WNlc3NhaXJlLgoKSW5mb3JtYXRpb24gTmV0QlNEIDoKICBBc3N1cmV6LXZvdXMgZCdhdm9pciBsZXMgb3B0aW9ucyBVU0VSX0xEVCwgU1lTVlNITSwgU1lTVlNFTSwgYW5kIFNZU1ZNU0cKICBlbmNsYW5jaOllcyBkYW5zIHZvdHJlIG5veWF1LgoKU3lzdOhtZXMgZGUgZmljaGllciBzdXBwb3J06XMgOgogIFdpbmUgZGV2cmFpdCBmb25jdGlvbm5lciBzdXIgbGEgcGx1cGFydCBkZXMgc3lzdOhtZXMgZGUgZmljaGllci4gQ2VwZW5kYW50CiAgV2luZSBzJ2Fycup0ZXJhIGF1IGTpbWFycmFnZSBzaSB1bXNkb3MgZXN0IHV0aWxpc+kgcG91ciBsZSBy6XBlcnRvaXJlIC90bXAuCiAgUXVlbHF1ZXMgcHJvYmzobWVzIGRlIGNvbXBhdGliaWxpdOkgb250IGF1c3NpIOl06SByYXBwb3J06XMgc3VyCiAgbCd1dGlsaXNhdGlvbiBkZXMgZmljaGllcnMgYWNj6WTpcyBhdSB0cmF2ZXJzIGRlIFNhbWJhLiBFZ2FsZW1lbnQsIHB1aXNxdWUKICBOVEZTIG5lIHBldXQg6nRyZSB1dGlsaXPpIGVuIHPpY3VyaXTpIHF1J2F2ZWMgdW4gYWNj6HMgZW4gbGVjdHVyZSBzZXVsIHBvdXIKICBsZSBtb21lbnQsIG5vdXMgcmVjb21tYW5kb25zIGRlIG5lIHBhcyB1dGlsaXNlciBOVEZTLCBwYXJjZSBxdWUgbGVzCiAgcHJvZ3JhbW1lcyBXaW5kb3dzIG9uIGJlc29pbiBkZXMgYWNj6HMgZW4g6WNyaXR1cmUgcHJlc3F1ZSBwYXJ0b3V0LiBTaSB2b3VzCiAgYXZleiBkZXMgZmljaGllciBOVEZTLCBjb3BpZXogbGVzIHZlcnMgdW5lIGxvY2FsaXNhdGlvbiBhY2Nlc3NpYmxlIGVuCiAg6WNyaXR1cmUuCgpDb25maWd1cmF0aW9uIHJlcXVpc2UgZGUgYmFzZSA6ClZvdXMgYXZleiBiZXNvaW4gZCdhdm9pciBsZXMgZmljaGllcnMgImluY2x1ZGUiIGRlIFgxMSBpbnN0YWxs6XMKKGFwcGVs6XMgeGxpYjZnLWRldiBwb3VyIERlYmlhbiBldCBYRnJlZTg2LWRldmVsIHBvdXIgUmVkSGF0KS4KCkNvbmZpZ3VyYXRpb24gcmVxdWlzZSBkZXMgb3V0aWxzIGRlIGNvbXBpbGF0aW9uIDoKU3VyIGxlcyBzeXN06G1lIHg4NiwgZ2NjID49IDIuNy4yIGVzdCBu6WNlc3NhaXJlLiBMZXMgdmVyc2lvbnMgaW5m6XJpZXVyZXMg4ApsYSAyLjcuMi4zIHBldXZlbnQgY3LpZXIgZGVzIGVubnVpcyBsb3NycXVlIGNlcnRhaW5zIGZpY2hpZXJzIHNvbnQgY29tcGls6XMKYXZlYyBsJ29wdGltaXNhdGlvbiwgc291dmVudCBk+yDgIGRlcyBwcm9ibOhtZXMgZGUgZ2VzdGlvbiBkJ2VuLXTqdGUgZGUgZmljaGllci4KcGdjYyBuZSBmb25jdGlvbm5lIHBhcyBhY3R1ZWxsZW1lbnQgYXZlYyBXaW5lLiBMYSBjYXVzZSBkZSBjZSBwcm9ibOhtZSBlc3QKaW5jb25udWUuCgrJdmlkZW1tZW50LCB2b3VzIGF1cmV6IGJlc29pbiBkZSAibWFrZSIgKHRy6HMgcHJvYmFibGVtZW50IEdOVSBtYWtlKS4KClZvdXMgYXVyZXog6WdhbGVtZW50IGJlc29pbiBkZSBmbGV4IHZlcnNpb24gMi41IG91IHN1cOlyaWV1cmUgZXQgYmlzb24uClNpIHZvdXMgdXRpbGlzZXogUmVkSGF0IG91IERlYmlhbiwgaW5zdGFsbGV6IGxlcyBwYXF1ZXRzIGZsZXggZXQgYmlzb24uCgpMaWJyYWlyaWVzIG9wdGlvbm5lbGxlcyA6CiAgU2kgdm91cyB2b3VsZXogdW4gc3VwcG9ydCBkJ2ltcHJlc3Npb24g4CBsJ2FpZGUgZGUgQ1VQUywgU1ZQIGluc3RhbGxleiDgIGxhCiAgZm9pcyBsZXMgcGFja2FnZXMgY3VwcyBldCBjdXBzLWRldmVsLgoKNC4gQ09NUElMQVRJT04KCkF1IGNhcyBv+SB2b3VzIGNob2lzaXNzZXogZGUgbmUgcGFzIHV0aWxpc2VyIHdpbmVpbnN0YWxsLCBleOljdXRlciBsZXMgY29tLQptYW5kZXMgc3VpdmFudGVzIHBvdXIgY29uc3RydWlyZSBXaW5lIDoKCi4vY29uZmlndXJlCm1ha2UgZGVwZW5kCm1ha2UKCkNlbGEgdmEgY29uc3R1aXJlIGxlIHByb2dyYW1tZSAid2luZSIgZXQgZGUgbm9tYnJldXggYmluYWlyZXMvbGlicmFpcmllcyBkZQpzdXBwb3J0LgpMZSBwcm9ncmFtbWUgIndpbmUiIGNoYXJnZXJhIGV0IGV46WN1dGVyYSBsZXMgZXjpY3V0YWJsZXMgV2luZG93cy4KTGEgbGlicmFpcmllICJsaWJ3aW5lIiAoIldpbmVsaWIiKSBwZXV0IOp0cmUgdXRpbGlz6WUgcG91ciBjb21waWxlciBldCBsaWVyCmxlIGNvZGUgc291cmNlIFdpbmRvd3Mgc291cyBVbml4LgoKUG91ciB2b2lyIGxlcyBvcHRpb25zIGRlIGNvbXBpbGF0aW9uLCB0YXBleiAuL2NvbmZpZ3VyZSAtLWhlbHAuCgpQb3VyIG1ldHRyZSDgIGpvdXIgdW5lIG5vdXZlbGxlIHZlcnNpb24gZW4gdXRpbGlzYW50IGxlcyBmaWNoaWVycyBwYXRjaCwgdG91dApkJ2Fib3JkIGFsbGVyIGRhbnMgbGUgculwZXJ0b2lyZSBkZSBwbHVzIGhhdXQgbml2ZWF1IGRlIGxhIHZlcnNpb24gYWN0dWVsbGUKKGNlbHVpIHF1aSBjb250aWVudCBjZSBmaWNoaWVyIFJFQURNRS5mcikuIEVuc3VpdGUgZmFpcmUgdW4gIm1ha2UgY2xlYW4iLCBldApwYXRjaGVyIGxhIHZlcnNpb24gYXZlYyA6CgogICAgZ3VuemlwIC1jIHBhdGNoLWZpbGUgfCBwYXRjaCAtcDEKCkF2ZWMgInBhdGNoLWZpbGUiIHF1aSBlc3QgbGUgbm9tIGR1IGZpY2hpZXIgZGUgcGF0Y2hlIChxdWVscXVlIGNob3NlIGRlCnNpbWlsYWlyZSDgIFdpbmUteXltbWRkLmRpZmYuZ3opLiBWb3VzIHBvdXZleiBy6WV46WN1dGVyICIuL2NvbmZpZ3VyZSIsIGV0CmVuc3VpdGUgdGFwZXIgIm1ha2UgZGVwZW5kICYmIG1ha2UiLgoKNS4gU0VUVVAKClVuIGZvaXMgcXVlIFdpbmUgYSDpdOkgY29uc3RydWl0IGNvcnJlY3RlbWVudCwgdm91cyBwb3V2ZXogdGFwZXogIm1ha2UgaW5zdGFsbCI7CmNlbGEgaW5zdGFsbGVyYSBsJ2V46WN1dGFibGUgd2luZSwgbGVzIHBhZ2VzIG1hbiBXaW5lIGV0IHF1ZWxxdWVzIGF1dHJlcyBmaWNoaWVycwpu6WNlc3NhaXJlcy4KCk4nb3VibGlleiBwYXMgZGUgZOlzaW5zYXRsbGVyIHRvdXRlcyBsZXMgaW5zdGFsbGF0aW9ucyBwculj6WRhbnRlcyBkZSB3aW5lLgpFc3NheWV6IHNvaXQgImRwa2cgLXIgd2luZSIsICJycG0gLWUgd2luZSIgb3UgIm1ha2UgdW5pbnN0YWxsIiBhdmFudApkJ2luc3RhbGxlci4KCk5hdmlndWV6IGRhbnMgbGEgc2VjdGlvbiBTdXBwb3J0IOAgaHR0cDovL3d3dy53aW5laHEub3JnLyBwb3VyIHBkJ2FzdHVjZXMKZGUgY29uZmlndXJhdGlvbi4KCkVuIGNhcyBkJ2VycmV1ciBkZSBjaGFyZ2VtZW50IGRlIGxpYnJhaXJpZSAocGFyIGV4ZW1wbGUKIkVycm9yIHdoaWxlIGxvYWRpbmcgc2hhcmVkIGxpYnJhcmllczogbGlibnRkbGwuc28iKSwgYXNzdXJleiB2b3VzIGQnYWpvdXRlcgpsZSBjaGVtaW4gZGVzIGxpYnJhaXJpZXMg4CAvZXRjL2xkLnNvLmNvbmYgZXQgZXjpY3V0ZXIgbGRjb25maWcgZW4gdGFudCBxdWUgcm9vdC4KCjYuIEVYyUNVVEVSIERFUyBQUk9HUkFNTUVTCgpMb3JzcXVlIGwnb24gaW52b3F1ZSBXaW5lLCB2b3VzIHBvdXZleiBzcOljaWZpZXIgbGUgY2hlbWluIGVudGllciB2ZXJzCmwnZXjpY3V0YWJsZSBvdSBzZXVsZW1lbnQgbGUgbm9tIGRlIGZpY2hpZXIuCgpQb3VyIGV46WN1dGVyIFNvbGl0YWlyZSBwYXIgZXhlbXBsZSA6CgoJd2luZSBzb2wJCSAgIChlbiB1dGlsaXNhbnQgbGUgY2hlbWluIGQnYWNj6HMgc3DpY2lmaekKCXdpbmUgc29sLmV4ZQkJCWRhbnMgbGUgZmljaGllciAiY29uZmlnIiBwb3VyIGxvY2FsaXNlcgoJCQkJCWxlIGZpY2hpZXIpCgoJd2luZSBjOlxcd2luZG93c1xcc29sLmV4ZSAgKGVuIHV0aWxpc2FudCBsYSBzeW50YXhlIGRlIGZpY2hpZXJzIERPUykKCgl3aW5lIC91c3Ivd2luZG93cy9zb2wuZXhlICAoZW4gdXRpbGlzYW50IGxhIHN5bnRheGUgZGUgZmljaGllcnMgVW5peCkKCgl3aW5lIHNvbC5leGUgL3BhcmFtZXRyZTEgLXBhcmFtZXRyZTIgcGFyYW1ldHJlMwoJCQkoZW4gYXBwZWxhbnQgbGUgcHJvZ3JhbW1lIGF2ZWMgZGVzIHBhcmFt6HRyZXMpCgpOb3RlOiBsZSBjaGVtaW4gZHUgZmljaGllciBzZXJhIOlnYWxlbWVudCBhZGRpdGlvbm7pIGF1IGNoZW1pbiBwYXIgZOlmYXV0CiAgICAgIGxvcnNxdWUgbGUgbm9tIGVudGllciBlc3Qg6WNyaXQgc3VyIGxhIGxpZ25lIGRlIGNvbW1hbmRlLgoKV2luZSBuJ2VzdCBwYXMgZW5jb3JlIGNvbXBsZXQsIGFpbnNpIHF1ZWxxdWUgcHJvZ3JhbW1lcyBwZXV2ZW50IHBsYW50ZXIuIFNlbG9uCnF1ZSB2b3VzIGF2ZXogaW5zdGFsbOkgY29ycmVjdGVtZW50IHdpbmVkYmcgZCdhcHLocyBkb2N1bWVudGF0aW9uL2RlYnVnZ2VyLnNnbWwsCnZvdXMgZW50cmVyZXogZGFucyBsZSBk6WJvZ3VldXIgdm91cyBwZXJtZXR0YW50IGQnZW5xdep0ZXIgZXQgZGUgculzb3VkcmUgbGUKcHJvYmzobWUuIFBvdXIgcGx1cyBkJ2luZm9ybWF0aW9uIHN1ciBsYSBtYW5p6HJlIGRlIGxlIGZhaXJlLCB2ZXVpbGxleiBsaXJlCmxlIGZpY2hpZXIgZG9jdW1lbnRhdGlvbi9kZWJ1Z2dpbmcuc2dtbC4KClZvdXMgZGV2cmlleiBzYXV2ZWdhcmRlciB0b3VzIHZvcyBmaWNoaWVyIGltcG9ydGFudCBhdXF1ZWxzIHZvdXMgZG9ubmV6IGFjY+hzCuAgV2luZSBvdSB1dGlsaXNlciB1bmUgY29waWUgc3DpY2lhbGUgcG91ciBXaW5lLCBwdWlzcXVlIGRhbnMgY2VydGFpbiBjYXMgZGVzCnV0aWxpc2F0ZXVycyBvbnQgcmFwcG9ydOkgZGVzIGNvcnJ1cHRpb25zIGRlIGZpY2hpZXJzLiBOZSBQQVMK6XjpY3V0ZXIgbCdFeHBsb3JhdGV1ciwgcGFyIGV4ZW1wbGUsIHNpIHZvdXMgbidhdmV6IHBhcyB1bmUgY29waWUgcHJvcHJlLApwdWlzcXVlIGlsIHJlbm9tbWUvY29ycm9tcHQgcGFyZm9pcyBwbHVzaWV1cnMgculwZXJ0b2lyZXMuIE3qbWUgY2VydGFpbmVzCmFwcGxpY2F0aW9uIE1TIHRlbGxlIE1lc3NlbmdlciBwYXIgZXhlbXBsZSBuZSBzb250IHBhcyBz+3JlcyBwdWlzcXUnZWxsZQpwZXV2ZW50IGxhbmNlciBsJ0V4cGxvcmF0ZXVyIGRhbnMgY2VydGFpbnMgY2FzLiBDZXJ0YWluZXMgY29ycnVwdGlvbnMKcGFydGljdWxp6HJlcyB0ZWxsZSAoISQhJCEkISQucGZyKSBwZXV0IGR1IG1vaW5zIOp0cmUgcGFydGllbGxlbWVudApmaXjpZSBlbiB1dGlsaXNhbnQgbGEgbel0aG9kZSBk6WNyaXRlIHBhcgpodHRwOi8vaG9tZS5uZXhnby5kZS9hbmRpLm1vaHIvZG93bmxvYWQvZGVjb3JydXB0X2V4cGxvcmVyCgo3LiBPUFRFTklSIFBMVVMgRCdJTkZPUk1BVElPTlMKCldXVzoJQmF1Y291cCBkJ2luZm9ybWF0aW9ucyDgIHByb3BvcyBkZSBXaW5lIHNvbnQgZGlzcG9uaWJsZXMgc3VyIFdpbmVIUSDgCglodHRwOi8vd3d3LndpbmVocS5vcmcvIDogZGl2ZXJzIEd1aWRlcyBXaW5lLCBiYXNlIGRlIGRvbm7pZQoJZCdhcHBsaWNhdGlvbnMsIHN1aXZpdCBkZSBib2d1ZXMuIEMnZXN0IHByb2JhYmxlbWVudCBsZSBtZWlsbGV1ciBwb2ludAoJZGUgZOlwYXJ0LgoKRkFROglMYSBGb2lyZSBBdXggUXVlc3Rpb25zIGRlIFdpbmUgZXN0IGxvY2FsaXPpZSDgIDoKCWh0dHA6Ly93d3cud2luZWhxLm9yZy9GQVEKClVzZW5ldDoJVm91cyBwb3V2ZXogcGFybGVyIGRlcyBwcm9ibOhtZXMgb3Ugculzb2x1dGlvbnMgZW4gcmVsYXRpb24gYXZlYyBXaW5lCglvdSBvcHRlbmlyIGRlIGwnYWlkZSBzdXIgY29tcC5lbXVsYXRvcnMubXMtd2luZG93cy53aW5lLgoKQnVnczoJUmFwcG9ydGV6IGxlcyBib2d1ZXMg4CBXaW5lIEJ1Z3ppbGxhIOAgaHR0cDovL2J1Z3Mud2luZWhxLm9yZwoJU1ZQIGNoZXJjaGV6IHRvdXQgZCdhYm9yZCBkYW5zIGxhIGJhc2UgZGUgZG9ubullIGRlIGJ1Z3ppbGxhCglwb3VyIGNvbnRy9GxlciBxdWUgbGUgcHJvYmzobWUgbidlc3QgcGFzIGTpauAgZOljb3V2ZXJ0IGF2YW50CglkZSBwb3N0ZXIgdW4gcmFwcG9ydCBkZSBib2d1ZS4gVm91cyBwb3V2ZXog6WdhbGVtZW50IHJhcHBvcnRlcgoJZGVzIHJhcHBvcnRzIGRlIGJvZ3VlIOAgY29tcC5lbXVsYXRvcnMubXMtd2luZG93cy53aW5lLgoJU1ZQIGxpc2V6IGxlIGZpY2hpZXIgZG9jdW1lbnRhdGlvbi9idWdzLnNnbWwgcG91ciBjb25uYe50cmUgbGVzCglpbmZvcm1hdGlvbnMgbuljZXNzYWlyZXMuCgpJUkM6CUwnYWlkZSBlbiBsaWduZSBlc3QgZGlzcG9uaWJsZSBzdXIgbGUgY2FubmFsICNXaW5lSFEgc3VyCglpcmMuZnJlZW5vZGUubmV0LgoKQ1ZTOglMJ2FyYnJlIGRlIGTpdmVsb3BwZW1lbnQgYWN0dWVsIGRlIFdpbmUgZXN0IGRpc3BvbmlibGUgYXUgdHJhdmVycwoJZGUgQ1ZTLgoJQWxsZXogc3VyIGh0dHA6Ly93d3cud2luZWhxLm9yZy9jdnMgcG91ciBwbHVzIGQnaW5mb3JtYXRpb25zCgpNYWlsaW5nIGxpc3RzOgoJSWwgZXhpc3RlIGRlIG11bHRpcGxlcyBtYWlsaW5nIGxpc3RzIHBvdXIgbGVzIGTpdmVsb3BwZXVycyBkZSBXaW5lOwoJcmVwcG9ydGV6LXZvdXMg4CBodHRwOi8vd3d3LndpbmVocS5vcmcvZm9ydW1zIHBvdXIgZGUgcGx1cwoJYW1wbGVzIGluZm9ybWF0aW9ucy4KClNpIHZvdXMgYWpvdXRleiBxdWVscXVlY2hvc2Ugb3UgZml4ZXogdW4gYm9ndWUsIGVudm95ZXogdW4gcGF0Y2ggKGRhbnMgbGUKZm9ybWF0ICdkaWZmIC11JyApIOAgbGEgbGlzdGUgZGUgZGlmZnVzaW9uIHdpbmUtcGF0Y2hlc0B3aW5laHEub3JnICBwb3VyIHNvbgppbmNsdXNpb24gZGFucyBsYSBwcm9jaGFpbmUgdmVyc2lvbi4KCi0tCkFsZXhhbmRyZSBKdWxsaWFyZApqdWxsaWFyZEB3aW5laHEub3JnCg==