Q3VybCBhbmQgbGliY3VybCA3LjE1LjQKCiBQdWJsaWMgY3VybCByZWxlYXNlIG51bWJlcjogICAgICAgICAgICAgICA5NAogUmVsZWFzZXMgY291bnRlZCBmcm9tIHRoZSB2ZXJ5IGJlZ2lubmluZzogMTIxCiBBdmFpbGFibGUgY29tbWFuZCBsaW5lIG9wdGlvbnM6ICAgICAgICAgICAxMTIKIEF2YWlsYWJsZSBjdXJsX2Vhc3lfc2V0b3B0KCkgb3B0aW9uczogICAgIDEzMgogTnVtYmVyIG9mIHB1YmxpYyBmdW5jdGlvbnMgaW4gbGliY3VybDogICAgNDkKIEFtb3VudCBvZiBwdWJsaWMgd2ViIHNpdGUgbWlycm9yczogICAgICAgIDMzCiBOdW1iZXIgb2Yga25vd24gbGliY3VybCBiaW5kaW5nczogICAgICAgICAzMgogTnVtYmVyIG9mIGNvbnRyaWJ1dG9yczogICAgICAgICAgICAgICAgICAgNDkyCgpUaGlzIHJlbGVhc2UgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBjaGFuZ2VzOgoKIG8gTlRMTTIgc2Vzc2lvbiByZXNwb25zZSBzdXBwb3J0CiBvIENVUkxPUFRfQ09PS0lFTElTVCBzZXQgdG8gIlNFU1MiIGNsZWFycyBhbGwgc2Vzc2lvbiBjb29raWVzCiBvIENVUkxJTkZPX0xBU1RTT0NLRVQgcmV0dXJuZWQgc29ja2V0cyBhcmUgbm93IGNoZWNrZWQgbW9yZSBiZWZvcmUgcmV0dXJuZWQKIG8gY3VybC1jb25maWcgZ290IGEgLS1jaGVja2ZvciBvcHRpb24gdG8gY29tcGFyZSB2ZXJzaW9uIG51bWJlcnMKIG8gbGluZSBlbmQgY29udmVyc2lvbnMgZm9yIEZUUCBBU0NJSSB0cmFuc2ZlcnMKIG8gY3VybF9tdWx0aV9zb2NrZXQoKSBBUEkgYWRkZWQgKHN0aWxsIG1vc3RseSB1bnRlc3RlZCkKIG8gY29udmVyc2lvbiBjYWxsYmFjayBvcHRpb25zIGZvciBFQkNESUMgPD0+IEFTQ0lJIGNvbnZlcnNpb25zCiBvIGFkZGVkIENVUkxJTkZPX0ZUUF9FTlRSWV9QQVRICiBvIGxlc3MgYmxvY2tpbmcgZm9yIHRoZSBtdWx0aSBpbnRlcmZhY2UgZHVyaW5nIChPcGVuKVNTTCBjb25uZWN0IG5lZ290aWF0aW9uCgpUaGlzIHJlbGVhc2UgaW5jbHVkZXMgdGhlIGZvbGxvd2luZyBidWdmaXhlczoKCiBvIGJ1aWxkcyBmaW5lIG9uIGN5Z3dpbgogbyBtZDUtc2VzcyB3aXRoIERpZ2VzdCBhdXRoZW50aWNhdGlvbgogbyBkaWN0IHdpdGggbGV0dGVycyBzdWNoIGFzIHNwYWNlIGluIGEgd29yZAogbyBkaWN0IHdpdGggdXJsLWVuY29kZWQgd29yZHMgaW4gdGhlIFVSTAogbyBsaWJjdXJsLm00IHdoZW4gZGVmYXVsdD15ZXMgYnV0IG5vIGxpYmN1cmwgd2FzIGZvdW5kCiBvIG51bWVyb3VzIGJ1Z3MgZml4ZWQgaW4gdGhlIFRGVFAgY29kZQogbyBwb3NzaWJsZSBtZW1vcnkgbGVhayB3aGVuIGFkZGluZyBlYXN5IGhhbmRsZXMgdG8gbXVsdGkgc3RhY2sKIG8gVEZUUCB3b3JrcyBpbiBhIG1vcmUgcG9ydGFibGUgZmFzaGlvbiAoPT0gb24gbW9yZSBwbGF0Zm9ybXMpCiBvIFdTQUdldExhc3RFcnJvcigpIGlzIG5vdyB1c2VkIChiZXR0ZXIpIG9uIFdpbmRvd3MKIG8gR251VExTIG5vbi1ibG9jayBjYXNlIHRoYXQgY291bGQgY2F1c2UgZGF0YSB0cmFzaGluZwogbyBkZWZsYXRlIGNvZGUgc3Vydml2ZXMgbGFjayBvZiB6bGliIGhlYWRlcgogbyBDVVJMT1BUX0lOVEVSRkFDRSB3b3JrcyB3aXRoIGhvc3RuYW1lCiBvIGNvbmZpZ3VyZSBydW5zIGZpbmUgd2l0aCBJQ0MKIG8gY2xvc2VkIGNvbnRyb2wgY29ubmVjdGlvbiB3aXRoIEZUUCB3aGVuIGVhc3kgaGFuZGxlIHdhcyByZW1vdmVkIGZyb20gbXVsdGkKIG8gY3VybCAtLXRyYWNlIGNyYXNoIHdoZW4gYnVpbHQgd2l0aCBWUzIwMDUKIG8gU1NMIGNvbm5lY3QgdGltZS1vdXQKIG8gaW1wcm92ZWQgTlRMTSBmdW5jdGlvbmFsaXR5CiBvIGZvbGxvd2luZyByZWRpcmVjdHMgd2l0aCBtb3JlIHRoYW4gb25lIHF1ZXN0aW9uIG1hcmsgaW4gc291cmNlIFVSTAogbyBmaXhlZCBkZWJ1ZyBidWlsZCBjcmFzaCB3aXRoIC1kCiBvIGdlbmVyYXRlcyBhIGZpbmUgQUlYIFRvb2xib3ggUlBNIHNwZWMKIG8gdHJlYXQgRlRQIEFVVEggZmFpbHVyZXMgcHJvcGVybHkKIG8gVEZUUCB0cmFuc2ZlcnMgY291bGQgdHJhc2ggZGF0YQogbyAtZCArIC1HIGNvbWJvIGNyYXNoCgpPdGhlciBjdXJsLXJlbGF0ZWQgbmV3czoKCiBvIHRjbGN1cmwgMC4xNS4zIHdhcyByZWxlYXNlZDoKICAgaHR0cDovL3BlcnNvbmFsMS5pZGRlby5lcy9hbmRyZXNnYXJjaS90Y2xjdXJsL2VuZ2xpc2gvCgpOZXcgY3VybCBtaXJyb3JzOgoKIG8gaHR0cDovL2N1cmwud2ViZGVzaWduLXpkZy5kZS8gaW4gRnJhbmtmdXJ0LCBHZXJtYW55CiBvIGh0dHA6Ly9jdXJsLmRlLW1pcnJvci5kZS8gaW4gQWFjaGVuLCBHZXJtYW55CiBvIGh0dHA6Ly9jdXJsLm9zbWlycm9yLm5sLyBpbiBBbXN0ZXJkYW0sIHRoZSBOZXRoZXJsYW5kcwogbyBodHRwOi8vY3VybC51c3BocC5jb20vIGluIEZsb3JpZGEsIFVTCiBvIGh0dHA6Ly9jdXJsLm9zbGV2ZWwuZGUvIGluIEthcmxzcnVoZSwgR2VybWFueQoKVGhpcyByZWxlYXNlIHdvdWxkIG5vdCBoYXZlIGxvb2tlZCBsaWtlIHRoaXMgd2l0aG91dCBoZWxwLCBjb2RlLCByZXBvcnRzIGFuZAphZHZpY2UgZnJvbSBmcmllbmRzIGxpa2UgdGhlc2U6CgogRGFuIEZhbmRyaWNoLCBJbGphIHZhbiBTcHJ1bmRlbCwgRGF2aWQgTWNDcmVlZHksIFRvciBBcm50c2VuLCBYYXZpZXIgQm91Y2hvdXgsCiBEYXZpZCBCeXJvbiwgTWljaGVsZSBCaW5pLCBBdGVzIEdvcmFsLCBLYXRpZSBXYW5nLCBSb2Jzb24gQnJhZ2EgQXJhdWpvLAogQWxlIFZlc2VseSwgUGF1bCBRdWVybmEsIEdpc2xlIFZhbmVtLCBNYXJrIEVpY2hpbiwgUm9sYW5kIEJsb20sIEFuZHJlYXMKIE50YWZsb3MsIERhdmlkIFNoYXcsIE1pY2hhZWwgV2FsbG5lciwgT2xhZiBTdPxiZW4sIE1pa2FlbCBTZW5uZXJob2xtLAogQnJpYW4gRGVzc2VudAoKICAgICAgICBUaGFua3MhIChhbmQgc29ycnkgaWYgSSBmb3Jnb3QgdG8gbWVudGlvbiBzb21lb25lKQo=