ZGlmZiAtLWdpdCBhL21vc2dpLmpteC5hZ2VudC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmVsaXgvbW9zZ2kvam14L2FnZW50L0FnZW50QWN0aXZhdG9yLmphdmEgYi9tb3NnaS5qbXguYWdlbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZlbGl4L21vc2dpL2pteC9hZ2VudC9BZ2VudEFjdGl2YXRvci5qYXZhCmluZGV4IDg2YzNlMGIuLjIzYjc4NTkgMTAwNjQ0Ci0tLSBhL21vc2dpLmpteC5hZ2VudC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmVsaXgvbW9zZ2kvam14L2FnZW50L0FnZW50QWN0aXZhdG9yLmphdmEKKysrIGIvbW9zZ2kuam14LmFnZW50L3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9mZWxpeC9tb3NnaS9qbXgvYWdlbnQvQWdlbnRBY3RpdmF0b3IuamF2YQpAQCAtMSwzOSArMSwyMSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwMyBTdOlwaGFuZSBGculub3QKLSAqIENvcHlyaWdodCAoQykgMjAwMyBJTlNBIEx5b24gTGFib3JhdG9pcmUgQ0lUSSwgRnJhbmNlCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgSU5SSUEgcHJvamV0IEFSRVMsIEZyYW5jZQotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIFNvZnR3YXJlIExpY2Vuc2UKLSAqIHZlcnNpb24gMS4xOyByZWZlciB0byB0aGUgQVNMLUxJQ0VOU0UudHh0IGZpbGUgaW5jbHVkZWQgd2l0aAotICogdGhpcyBwcm9ncmFtIGZvciBkZXRhaWxzLgotICoKLSAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KLSAqCi0gKiBDb250YWN0OiBTdOlwaGFuZSBGculub3Qgc3RlcGhhbmUuZnJlbm90QGluc2EtbHlvbi5mcgotICogQ29udHJpYnV0b3Iocyk6IERpZGllciBEb25zZXosIGRpZGllci5kb25zZXpAaW1hZy5mcgotICogCi0gKiAkSWQ6IEFnZW50QWN0aXZhdG9yLmphdmEsdiAxLjYgMjAwNS8wOS8xMiAwOTo1MjoxMyBzZnJlbm90IEV4cCAkCi0gKgotICogVE9ETyA6IHByb2ZpbGUgc2hvdWxkIG9ubHkgY2FsbCBiYy5nZXRQcm9wZXJ0eQotKiovCi0vKgotICogICBDb3B5cmlnaHQgMjAwNSBUaGUgQXBhY2hlIFNvZnR3YXJlIEZvdW5kYXRpb24KLSAqCi0gKiAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwotICogICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuCi0gKiAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAotICoKLSAqICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAotICoKLSAqICAgVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZQotICogICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiAiQVMgSVMiIEJBU0lTLAotICogICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KLSAqICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZAotICogICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS4KLSAqCi0gKi8KKyogTGljZW5zZWQgdG8gdGhlIEFwYWNoZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIChBU0YpIHVuZGVyIG9uZQorKiBvciBtb3JlIGNvbnRyaWJ1dG9yIGxpY2Vuc2UgYWdyZWVtZW50cy4gIFNlZSB0aGUgTk9USUNFIGZpbGUKKyogZGlzdHJpYnV0ZWQgd2l0aCB0aGlzIHdvcmsgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24KKyogcmVnYXJkaW5nIGNvcHlyaWdodCBvd25lcnNoaXAuICBUaGUgQVNGIGxpY2Vuc2VzIHRoaXMgZmlsZQorKiB0byB5b3UgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlCisqICJMaWNlbnNlIik7IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2UKKyogd2l0aCB0aGUgTGljZW5zZS4gIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdAorKiAKKyogIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAorKgorKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsCisqIHNvZnR3YXJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuCisqICJBUyBJUyIgQkFTSVMsIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWQorKiBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLiAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUKKyogc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZCBsaW1pdGF0aW9ucworKiB1bmRlciB0aGUgTGljZW5zZS4gICAgCisqLwogcGFja2FnZSBvcmcuYXBhY2hlLmZlbGl4Lm1vc2dpLmpteC5hZ2VudDsKIAogaW1wb3J0IGphdmEudXRpbC5TdHJpbmdUb2tlbml6ZXI7CmRpZmYgLS1naXQgYS9tb3NnaS5qbXguYWdlbnQvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2ZlbGl4L21vc2dpL2pteC9hZ2VudC9Db25zdGFudHMuamF2YSBiL21vc2dpLmpteC5hZ2VudC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmVsaXgvbW9zZ2kvam14L2FnZW50L0NvbnN0YW50cy5qYXZhCmluZGV4IDBjYzlhOTMuLjc2Y2EwNzggMTAwNjQ0Ci0tLSBhL21vc2dpLmpteC5hZ2VudC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmVsaXgvbW9zZ2kvam14L2FnZW50L0NvbnN0YW50cy5qYXZhCisrKyBiL21vc2dpLmpteC5hZ2VudC9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZmVsaXgvbW9zZ2kvam14L2FnZW50L0NvbnN0YW50cy5qYXZhCkBAIC0xLDMgKzEsMjEgQEAKKy8qCisqIExpY2Vuc2VkIHRvIHRoZSBBcGFjaGUgU29mdHdhcmUgRm91bmRhdGlvbiAoQVNGKSB1bmRlciBvbmUKKyogb3IgbW9yZSBjb250cmlidXRvciBsaWNlbnNlIGFncmVlbWVudHMuICBTZWUgdGhlIE5PVElDRSBmaWxlCisqIGRpc3RyaWJ1dGVkIHdpdGggdGhpcyB3b3JrIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uCisqIHJlZ2FyZGluZyBjb3B5cmlnaHQgb3duZXJzaGlwLiAgVGhlIEFTRiBsaWNlbnNlcyB0aGlzIGZpbGUKKyogdG8geW91IHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZQorKiAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlCisqIHdpdGggdGhlIExpY2Vuc2UuICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQKKyogCisqICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAKKyoKKyogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLAorKiBzb2Z0d2FyZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbgorKiAiQVMgSVMiIEJBU0lTLCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkKKyogS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4gIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlCisqIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMKKyogdW5kZXIgdGhlIExpY2Vuc2UuICAgIAorKi8KIHBhY2thZ2Ugb3JnLmFwYWNoZS5mZWxpeC5tb3NnaS5qbXguYWdlbnQ7CiBwdWJsaWMgaW50ZXJmYWNlIENvbnN0YW50cyB7CiAgICBwdWJsaWMgZmluYWwgc3RhdGljIFN0cmluZyBPQkpFQ1ROQU1FPSJqbXhhZ2VudC5vYmplY3RuYW1lIjsK