ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CmluZGV4IDgxOWJiMDQuLmVhNWE0OTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKKysrIGIvcnVudGltZS9kb2MvY2hhbmdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjaGFuZ2UudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgSnVsIDE3CisqY2hhbmdlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDEzIEF1ZyAyNQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEyNiw2ICsxMTI2LDggQEAKIG1hZGUgZm9yIHRoZSBkZWxldGUgb3BlcmF0b3Igd2l0aCB0aGVzZSBtb3ZlbWVudCBjb21tYW5kczogfCV8LCB8KHwsIHwpfCwgfGB8LAogfC98LCB8P3wsIHxufCwgfE58LCB8e3wgYW5kIHx9fC4gIFJlZ2lzdGVyICIxIGlzIGFsd2F5cyB1c2VkIHRoZW4gKHRoaXMgaXMgVmkKIGNvbXBhdGlibGUpLiAgVGhlICItIHJlZ2lzdGVyIGlzIHVzZWQgYXMgd2VsbCBpZiB0aGUgZGVsZXRlIGlzIHdpdGhpbiBhIGxpbmUuCitOb3RlIHRoYXQgdGhlc2UgY2hhcmFjdGVyIG1heSBiZSBtYXBwZWQuICBFLmcuIHwlfCBpcyBtYXBwZWQgYnkgdGhlIG1hdGNoaXQKK3BsdWdpbi4KICAgIFdpdGggZWFjaCBzdWNjZXNzaXZlIGRlbGV0aW9uIG9yIGNoYW5nZSwgVmltIHNoaWZ0cyB0aGUgcHJldmlvdXMgY29udGVudHMKIG9mIHJlZ2lzdGVyIDEgaW50byByZWdpc3RlciAyLCAyIGludG8gMywgYW5kIHNvIGZvcnRoLCBsb3NpbmcgdGhlIHByZXZpb3VzCiBjb250ZW50cyBvZiByZWdpc3RlciA5LgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZXZhbC50eHQgYi9ydW50aW1lL2RvYy9ldmFsLnR4dAppbmRleCA3NDNhZWMxLi42MGIwMWE4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9ldmFsLnR4dAorKysgYi9ydW50aW1lL2RvYy9ldmFsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpldmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDEzIEF1ZyAwMworKmV2YWwudHh0KglGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgQXVnIDI0CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEyMyw2ICsxMjMsNyBAQAogCTplY2hvIEZuKCkKIDwJCQkJCQkJKkU3MDQqICpFNzA1KiAqRTcwNyoKIEEgRnVuY3JlZiB2YXJpYWJsZSBtdXN0IHN0YXJ0IHdpdGggYSBjYXBpdGFsLCAiczoiLCAidzoiLCAidDoiIG9yICJiOiIuICBZb3UKK2NhbiB1c2UgImc6IiBidXQgdGhlIGZvbGxvd2luZyBuYW1lIG11c3Qgc3RpbGwgc3RhcnQgd2l0aCBhIGNhcGl0YWwuICBZb3UKIGNhbm5vdCBoYXZlIGJvdGggYSBGdW5jcmVmIHZhcmlhYmxlIGFuZCBhIGZ1bmN0aW9uIHdpdGggdGhlIHNhbWUgbmFtZS4KIAogQSBzcGVjaWFsIGNhc2UgaXMgZGVmaW5pbmcgYSBmdW5jdGlvbiBhbmQgZGlyZWN0bHkgYXNzaWduaW5nIGl0cyBGdW5jcmVmIHRvIGEKQEAgLTYzMzcsNiArNjMzOCw3IEBACiA8ICAgTm90ZSB0aGF0IGl0J3MgcG9zc2libGUgZm9yIHBhdGNoIDE0NyB0byBiZSBvbWl0dGVkIGV2ZW4gdGhvdWdoIDE0OCBpcwogICAgIGluY2x1ZGVkLgogCithY2wJCQlDb21waWxlZCB3aXRoIHxBQ0x8IHN1cHBvcnQuCiBhbGxfYnVpbHRpbl90ZXJtcwlDb21waWxlZCB3aXRoIGFsbCBidWlsdGluIHRlcm1pbmFscyBlbmFibGVkLgogYW1pZ2EJCQlBbWlnYSB2ZXJzaW9uIG9mIFZpbS4KIGFyYWJpYwkJCUNvbXBpbGVkIHdpdGggQXJhYmljIHN1cHBvcnQgfEFyYWJpY3wuCkBAIC02NTAzLDcgKzY1MDUsOSBAQAogd3JpdGViYWNrdXAJCUNvbXBpbGVkIHdpdGggJ3dyaXRlYmFja3VwJyBkZWZhdWx0IG9uLgogeGZvbnRzZXQJCUNvbXBpbGVkIHdpdGggWCBmb250c2V0IHN1cHBvcnQgfHhmb250c2V0fC4KIHhpbQkJCUNvbXBpbGVkIHdpdGggWCBpbnB1dCBtZXRob2Qgc3VwcG9ydCB8eGltfC4KLXhwbV93MzIJCQlDb21waWxlZCB3aXRoIHBpeG1hcCBzdXBwb3J0IGZvciBXaW4zMi4KK3hwbQkJCUNvbXBpbGVkIHdpdGggcGl4bWFwIHN1cHBvcnQuCit4cG1fdzMyCQkJQ29tcGlsZWQgd2l0aCBwaXhtYXAgc3VwcG9ydCBmb3IgV2luMzIuIChPbmx5IGZvcgorCQkJYmFja3dhcmQgY29tcGF0aWJpbGl0eS4gVXNlICJ4cG0iIGluc3RlYWQuKQogeHNtcAkJCUNvbXBpbGVkIHdpdGggWCBzZXNzaW9uIG1hbmFnZW1lbnQgc3VwcG9ydC4KIHhzbXBfaW50ZXJhY3QJCUNvbXBpbGVkIHdpdGggaW50ZXJhY3RpdmUgWCBzZXNzaW9uIG1hbmFnZW1lbnQgc3VwcG9ydC4KIHh0ZXJtX2NsaXBib2FyZAkJQ29tcGlsZWQgd2l0aCBzdXBwb3J0IGZvciB4dGVybSBjbGlwYm9hcmQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pZl9sdWEudHh0IGIvcnVudGltZS9kb2MvaWZfbHVhLnR4dAppbmRleCA4ZDkzODNjLi4yYjMyMmRkIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9sdWEudHh0CisrKyBiL3J1bnRpbWUvZG9jL2lmX2x1YS50eHQKQEAgLTEsNCArMSw0IEBACi0qaWZfbHVhLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDEyIEp1biAyOQorKmlmX2x1YS50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxMyBTZXAgMDQKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgTHVpcyBDYXJ2YWxobwpAQCAtMTM1LDcgKzEzNSw3IEBACiA8CiAJdmltLmZ1bmNyZWYoe25hbWV9KQlSZXR1cm5zIGEgRnVuY3JlZiB0byBmdW5jdGlvbiB7bmFtZX0gKHNlZQogCQkJCXxGdW5jcmVmfCkuIEl0IGlzIGVxdWl2YWxlbnQgdG8gVmltJ3MKLQkJCQkiZnVuY3Rpb24iLgorCQkJCSJmdW5jdGlvbiIuIE5PVCBJTVBMRU1FTlRFRCBZRVQKIAogCXZpbS5idWZmZXIoW2FyZ10pCUlmICJhcmciIGlzIGEgbnVtYmVyLCByZXR1cm5zIGJ1ZmZlciB3aXRoCiAJCQkJbnVtYmVyICJhcmciIGluIHRoZSBidWZmZXIgbGlzdCBvciwgaWYgImFyZyIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21hcC50eHQgYi9ydW50aW1lL2RvYy9tYXAudHh0CmluZGV4IGRlODI2NzkuLjRhZTkwMmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21hcC50eHQKKysrIGIvcnVudGltZS9kb2MvbWFwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptYXAudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgQXVnIDAzCisqbWFwLnR4dCogICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDEzIEF1ZyAyMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzgwLDcgKzM4MCw3IEBACiAgICBUaGUgc2ltcGxlc3Qgd2F5IHRvIGxvYWQgYSBzZXQgb2YgcmVsYXRlZCBsYW5ndWFnZSBtYXBwaW5ncyBpcyBieSB1c2luZyB0aGUKICdrZXltYXAnIG9wdGlvbi4gIFNlZSB8NDUuNXwuCiAgICBJbiBJbnNlcnQgbW9kZSBhbmQgaW4gQ29tbWFuZC1saW5lIG1vZGUgdGhlIG1hcHBpbmdzIGNhbiBiZSBkaXNhYmxlZCB3aXRoCi10aGUgQ1RSTC1eIGNvbW1hbmQgfGlfQ1RSTC1efCB8Y19DVFJMLV58IFRoZXNlIGNvbW1hbmRzIGNoYW5nZSB0aGUgdmFsdWUgb2YKK3RoZSBDVFJMLV4gY29tbWFuZCB8aV9DVFJMLV58IHxjX0NUUkwtXnwuIFRoZXNlIGNvbW1hbmRzIGNoYW5nZSB0aGUgdmFsdWUgb2YKIHRoZSAnaW1pbnNlcnQnIG9wdGlvbi4gIFdoZW4gc3RhcnRpbmcgdG8gZW50ZXIgYSBub3JtYWwgY29tbWFuZCBsaW5lIChub3QgYQogc2VhcmNoIHBhdHRlcm4pIHRoZSBtYXBwaW5ncyBhcmUgZGlzYWJsZWQgdW50aWwgYSBDVFJMLV4gaXMgdHlwZWQuICBUaGUgc3RhdGUKIGxhc3QgdXNlZCBpcyByZW1lbWJlcmVkIGZvciBJbnNlcnQgbW9kZSBhbmQgU2VhcmNoIHBhdHRlcm5zIHNlcGFyYXRlbHkuICBUaGUKQEAgLTEzNTksNiArMTM1OSw4IEBACiBJbiB0aGUgY2FzZXMgb2YgdGhlIC1jb3VudCBhbmQgLXJlZ2lzdGVyIGF0dHJpYnV0ZXMsIGlmIHRoZSBvcHRpb25hbCBhcmd1bWVudAogaXMgc3VwcGxpZWQsIGl0IGlzIHJlbW92ZWQgZnJvbSB0aGUgYXJndW1lbnQgbGlzdCBhbmQgaXMgYXZhaWxhYmxlIHRvIHRoZQogcmVwbGFjZW1lbnQgdGV4dCBzZXBhcmF0ZWx5LgorTm90ZSB0aGF0IHRoZXNlIGFyZ3VtZW50cyBjYW4gYmUgYWJicmV2aWF0ZWQsIGJ1dCB0aGF0IGlzIGEgZGVwcmVjYXRlZAorZmVhdHVyZS4gIFVzZSB0aGUgZnVsbCBuYW1lIGZvciBuZXcgc2NyaXB0cy4KIAogUmVwbGFjZW1lbnQgdGV4dAogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dCBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CmluZGV4IGZkYzVhZDIuLjA2ODhmY2MgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgSnVsIDA5Cisqb3B0aW9ucy50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxMyBBdWcgMjIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTg4NCw4ICsxODg0LDggQEAKIAkJCWdsb2JhbAogCQkJe25vdCBpbiBWaX0KIAlBIHNlcXVlbmNlIG9mIHNpbmdsZSBjaGFyYWN0ZXIgZmxhZ3MuICBXaGVuIGEgY2hhcmFjdGVyIGlzIHByZXNlbnQKLQl0aGlzIGluZGljYXRlcyB2aS1jb21wYXRpYmxlIGJlaGF2aW9yLiAgVGhpcyBpcyB1c2VkIGZvciB0aGluZ3Mgd2hlcmUKLQlub3QgYmVpbmcgdmktY29tcGF0aWJsZSBpcyBtb3N0bHkgb3Igc29tZXRpbWVzIHByZWZlcnJlZC4KKwl0aGlzIGluZGljYXRlcyBWaS1jb21wYXRpYmxlIGJlaGF2aW9yLiAgVGhpcyBpcyB1c2VkIGZvciB0aGluZ3Mgd2hlcmUKKwlub3QgYmVpbmcgVmktY29tcGF0aWJsZSBpcyBtb3N0bHkgb3Igc29tZXRpbWVzIHByZWZlcnJlZC4KIAknY3BvcHRpb25zJyBzdGFuZHMgZm9yICJjb21wYXRpYmxlLW9wdGlvbnMiLgogCUNvbW1hcyBjYW4gYmUgYWRkZWQgZm9yIHJlYWRhYmlsaXR5LgogCVRvIGF2b2lkIHByb2JsZW1zIHdpdGggZmxhZ3MgdGhhdCBhcmUgYWRkZWQgaW4gdGhlIGZ1dHVyZSwgdXNlIHRoZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dCBiL3J1bnRpbWUvZG9jL29zX3Ztcy50eHQKaW5kZXggNzY2MmZhNy4uNzAwMmUyOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2Mvb3Nfdm1zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc192bXMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9zX3Ztcy50eHQqICAgIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxMSBBdWcgMTQKKypvc192bXMudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgQXVnIDIyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCkBAIC0yNCw3ICsyNCw3IEBACiAKIDEuIEdldHRpbmcgc3RhcnRlZAkJCQkJKnZtcy1zdGFydGVkKgogCi1WaW0gKFZpIElNcHJvdmVkKSBpcyBhIHZpLWNvbXBhdGlibGUgdGV4dCBlZGl0b3IgdGhhdCBydW5zIG9uIG5lYXJseSBldmVyeQorVmltIChWaSBJTXByb3ZlZCkgaXMgYSBWaS1jb21wYXRpYmxlIHRleHQgZWRpdG9yIHRoYXQgcnVucyBvbiBuZWFybHkgZXZlcnkKIG9wZXJhdGluZyBzeXN0ZW0ga25vd24gdG8gaHVtYW5pdHkuICBOb3cgdXNlIFZpbSBvbiBPcGVuVk1TIHRvbywgaW4gY2hhcmFjdGVyCiBvciBYL01vdGlmIGVudmlyb25tZW50LiAgSXQgaXMgZnVsbHkgZmVhdHVyZWQgYW5kIGFic29sdXRlbHkgY29tcGF0aWJsZSB3aXRoCiBWaW0gb24gb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCAyNDQyZjE1Li4zYzBjNTY4IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDEzIEp1bCAwNQorKnN5bnRheC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxMyBBdWcgMjIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzE1NiwxOCArMzE1NiwxNiBAQAogZW1iZWRkZWQgc2NyaXB0IGhpZ2hsaWdodGluZyB0aGV5IHdpc2ggdG8gaGF2ZS4gPgogCiAgICBnOnZpbXN5bl9lbWJlZCA9PSAwICAgOiBkb24ndCBlbWJlZCBhbnkgc2NyaXB0cwotICAgZzp2aW1zeW5fZW1iZWQgPX4gJ20nIDogZW1iZWQgbXpzY2hlbWUgKGJ1dCBvbmx5IGlmIHZpbSBzdXBwb3J0cyBpdCkKLSAgIGc6dmltc3luX2VtYmVkID1+ICdwJyA6IGVtYmVkIHBlcmwgICAgIChidXQgb25seSBpZiB2aW0gc3VwcG9ydHMgaXQpCi0gICBnOnZpbXN5bl9lbWJlZCA9fiAnUCcgOiBlbWJlZCBweXRob24gICAoYnV0IG9ubHkgaWYgdmltIHN1cHBvcnRzIGl0KQotICAgZzp2aW1zeW5fZW1iZWQgPX4gJ3InIDogZW1iZWQgcnVieSAgICAgKGJ1dCBvbmx5IGlmIHZpbSBzdXBwb3J0cyBpdCkKLSAgIGc6dmltc3luX2VtYmVkID1+ICd0JyA6IGVtYmVkIHRjbCAgICAgIChidXQgb25seSBpZiB2aW0gc3VwcG9ydHMgaXQpCisgICBnOnZpbXN5bl9lbWJlZCA9fiAnbScgOiBzdXBwb3J0IGVtYmVkZGVkIG16c2NoZW1lCisgICBnOnZpbXN5bl9lbWJlZCA9fiAncCcgOiBzdXBwb3J0IGVtYmVkZGVkIHBlcmwKKyAgIGc6dmltc3luX2VtYmVkID1+ICdQJyA6IHN1cHBvcnQgZW1iZWRkZWQgcHl0aG9uCisgICBnOnZpbXN5bl9lbWJlZCA9fiAncicgOiBzdXBwb3J0IGVtYmVkZGVkIHJ1YnkKKyAgIGc6dmltc3luX2VtYmVkID1+ICd0JyA6IHN1cHBvcnQgZW1iZWRkZWQgdGNsCiA8Ci1CeSBkZWZhdWx0LCBnOnZpbXN5bl9lbWJlZCBpcyAibXBQciI7IGllLiBzeW50YXgvdmltLnZpbSB3aWxsIHN1cHBvcnQKLWhpZ2hsaWdodGluZyBtenNjaGVtZSwgcGVybCwgcHl0aG9uLCBhbmQgcnVieSBieSBkZWZhdWx0LiAgVmltJ3MgaGFzKCJ0Y2wiKQotdGVzdCBhcHBlYXJzIHRvIGhhbmcgdmltIHdoZW4gdGNsIGlzIG5vdCB0cnVseSBhdmFpbGFibGUuICBUaHVzLCBieSBkZWZhdWx0LAotdGNsIGlzIG5vdCBzdXBwb3J0ZWQgZm9yIGVtYmVkZGluZyAoYnV0IHRob3NlIG9mIHlvdSB3aG8gbGlrZSB0Y2wgZW1iZWRkZWQgaW4KLXRoZWlyIHZpbSBzeW50YXggaGlnaGxpZ2h0aW5nIGNhbiBzaW1wbHkgaW5jbHVkZSBpdCBpbiB0aGUgZzp2aW1lbWJlZHNjcmlwdAotb3B0aW9uKS4KK0J5IGRlZmF1bHQsIGc6dmltc3luX2VtYmVkIGlzIGEgc3RyaW5nIHN1cHBvcnRpbmcgaW50ZXJwcmV0ZXJzIHRoYXQgeW91ciB2aW0KK2l0c2VsZiBzdXBwb3J0cy4gIENvbmNhdGVuYXRlIG11bHRpcGxlIGNoYXJhY3RlcnMgdG8gc3VwcG9ydCBtdWx0aXBsZSB0eXBlcworb2YgZW1iZWRkZWQgaW50ZXJwcmV0ZXJzOyBpZS4gZzp2aW1zeW5fZW1iZWQ9ICJtcCIgc3VwcG9ydHMgZW1iZWRkZWQgbXpzY2hlbWUKK2FuZCBlbWJlZGRlZCBwZXJsLgogCQkJCQkJKmc6dmltc3luX2ZvbGRpbmcqCiAKIFNvbWUgZm9sZGluZyBpcyBub3cgc3VwcG9ydGVkIHdpdGggc3ludGF4L3ZpbS52aW06ID4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IGI3ZTE2ZGYuLmYzMmVhNmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtMTE0MCw2ICsxMTQwLDcgQEAKICtHVUlfUGhvdG9uCXZhcmlvdXMudHh0CS8qK0dVSV9QaG90b24qCiArR1VJX25lWHRhdwl2YXJpb3VzLnR4dAkvKitHVUlfbmVYdGF3KgogK1gxMQl2YXJpb3VzLnR4dAkvKitYMTEqCisrYWNsCXZhcmlvdXMudHh0CS8qK2FjbCoKICthcmFiaWMJdmFyaW91cy50eHQJLyorYXJhYmljKgogK2F1dG9jbWQJdmFyaW91cy50eHQJLyorYXV0b2NtZCoKICtiYWxsb29uX2V2YWwJdmFyaW91cy50eHQJLyorYmFsbG9vbl9ldmFsKgpAQCAtMTI2Miw2ICsxMjYzLDcgQEAKICt3cml0ZWJhY2t1cAl2YXJpb3VzLnR4dAkvKit3cml0ZWJhY2t1cCoKICt4Zm9udHNldAl2YXJpb3VzLnR4dAkvKit4Zm9udHNldCoKICt4aW0JdmFyaW91cy50eHQJLyoreGltKgorK3hwbQl2YXJpb3VzLnR4dAkvKit4cG0qCiAreHBtX3czMgl2YXJpb3VzLnR4dAkvKit4cG1fdzMyKgogK3hzbXAJdmFyaW91cy50eHQJLyoreHNtcCoKICt4c21wX2ludGVyYWN0CXZhcmlvdXMudHh0CS8qK3hzbXBfaW50ZXJhY3QqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90b2RvLnR4dCBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CmluZGV4IDVjNjgzNTIuLjljZTMwYzMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RvZG8udHh0CisrKyBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxMyBBdWcgMTAKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgU2VwIDA1CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTM0LDkgKzM0LDQ4IEBACiAJCQkJCQkJKmtub3duLWJ1Z3MqCiAtLS0tLS0tLS0tLS0tLS0tLS0tLSBLbm93biBidWdzIGFuZCBjdXJyZW50IHdvcmsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAorTkZBIGVuZ2luZSBtaXNtYXRjaCwgd2l0aCBleGFtcGxlLiAoWnlYLCAyMDEzIEF1ZyAyOSkKKworcGhwIHN5bnRheCBmaWxlIHVwZGF0ZS4gKEphc29uIFdvb2ZlbmRlbiwgQXVnIDMwKQorCitQcm9ibGVtIHBvc2l0aW9uaW5nIHRoZSBjdXJzb3IgYWZ0ZXIgYXV0by1mb3JtYXR0aW5nIHdpdGhvdXQgYSBjb21tZW50LiAoVG9yCitQZXJraW5zLCAyMDEzIFNlcCAxKQorCitQb3B1cCBtZW51OiBmaXJzdCBpdGVtIGlzIG5vdCBzZWxlY3RlZCB3aGVuIHR5cGluZyBtb3JlIHRoYW4gb25lIGNoYXJhY3Rlcj8KKworUGF0Y2ggdG8gYWRkIGFzeW5jIGZ1bmN0aW9uYWxpdHkuIChHZW9mZiBHcmVlciwgMjAxMyBTZXAgMSkKKworUGF0Y2ggdG8gYXZvaWQgbW91c2UgY3Vyc29yIGZsaWNrZXJpbmcuIChLZW4gVGFrYXRhLCwgMjAxMyBTZXAgMikKKworU2hvdWxkIHdpbl9yZWRyX2N1c3RvbSgpIG5vdCBiZSBhbGxvd2VkIHRvIHVzZSByZWN1cnNpdmVseT8KKyhZYXN1aGlybyBNYXRzdW1vdG8sIDIwMTMgQXVnIDE1KQorCitORkEgZW5naW5lIGNvbWJpbmluZyBjaGFyYWN0ZXIgbWlzbWF0Y2guIChnbHRzLCAyMDEzIEF1ZyAyNykKK1JlbWFyayBEb21pbmlxdWUsIEF1ZyAyNworCitJc3N1ZSAxNjQ6IGZyZWV6ZSBvbiByZWdleHAgc2VhcmNoLgorCiBQeXRob246ICI6cHkgcmF3X2lucHV0KCdwcm9tcHQnKSIgZG9lc24ndCB3b3JrLiAoTWFudSBIYWNrKQogCi1QYXRjaCB0byBhZGQgImFjbCIgYW5kICJ4cG0iIGFzIGEgZmVhdHVyZS4gKEtlbiBUYWthdGEsIDIwMTMgSnVsIDgpCitQYXRjaCB0byBmaXggc3Vic3RpdHV0ZSBwcm9tcHQgd2l0aCBsaW5lIG51bWJlci4gKEJlbm9pdCBQaWVycmUsIDIwMTMgQXVnIDI3LAordGhpcmQgbWVzc2FnZSkKKworUGF0Y2ggdG8gYXZvaWQgcHJvYmxlbSB3aXRoIGNvbG9uIGluIGZpbGUgbmFtZS4gKFlhc3VoaXJvIE1hdHN1bW90bywgMjAxMyBTZXAKKzUpIE9ubHkgY29weSBmaWxlIG5hbWUgd2hlbiBuZWVkZWQuCisKK0luY2x1ZGUgc3lzdGVtdmVyaWxvZyBmaWxlPyAgVHdvIHZvdGVzIHllcy4KKworV3JhcHBpbmcgYXJvdW5kIGVuZCBvZiBmaWxlIGRvZXMgbm90IHdvcmsgZm9yICIuIiBhZnRlciAiY2duIi4gIChEaW1pdGFyCitEaW1pdHJvdikKK1BhdGNoIGJ5IENocmlzdGlhbiBCcmFiYW5kdCwgMjAxMyBBdWcgMjIKKworUHJvYmxlbSB3aXRoICdzcGVsbHN1Z2dlc3QnIGZpbGUsIG9ubHkgd29ya3MgZm9yIHNvbWUgd29yZHMuCisoQ2VzYXIgUm9tYW5pLCAyMDEzIEF1ZyAyMCkgIERlcGVuZHMgb24gZmlsZSBuYW1lPyAoQXVnIDI0KQorQWRkaXRpb25hbCByZW1hcmsgYnkgZ2x0czogdGhlIHN1Z2dlc3RlZCB3b3JkcyBhcmUgbWFya2VkIGJhZD8KKworU3ludGF4IGhpZ2hsaWdodGluZyBzbG93IChoYW5ncykgaW4gU0FTUyBmaWxlLiAoTmllayBCb3NjaCwgMjAxMyBBdWcgMjEpCisKK0FkZGluZyAifiIgdG8gJ2NkcGF0aCcgZG9lc24ndCB3b3JrIGZvciBjb21wbGV0aW9uPyAgKERhdmlkbywgMjAxMyBBdWcgMTkpCiAKIFBhdGNoIHRvIG1ha2UgaGFzKCkgY2hlY2sgZm9yIFZpbSB2ZXJzaW9uIGFuZCBwYXRjaCBhdCB0aGUgc2FtZSB0aW1lLgogKE1hcmMgV2ViZXIsIDIwMTMgSnVuIDcpCkBAIC00NiwxMyArODUsMjIgQEAKIAogR28gdGhyb3VnaCBtb3JlIGNvdmVyaXR5IHJlcG9ydHMuCiAKLSJnVWduIiBjYW5ub3QgYmUgcmVwZWF0ZWQsIHdoaWxlICJkZ24iIGNhbi4KK1dpdGggIiQiIGluICdjcG9wdGlvbnMnIHRoZSBwb3B1cCBtZW51IGlzbid0IGZ1bGx5IGRyYXduLiAoTWF0dGkgTmllbWVubWFhLAorMjAxMyBTZXAgNSkKKworImdVZ24iIGNhbm5vdCBiZSByZXBlYXRlZCwgd2hpbGUgImRnbiIgY2FuLiAoRGltaXRhciBEaW1pdHJvdikKK1BhdGNoIGJ5IENocmlzdGlhbiBCcmFiYW5kdCAoMjAxMyBBdWcgMTIpCiAKIFNldmVyYWwgV2luMzIgZnVuY3Rpb25zIGFyZSBub3QgdXNpbmcgVW5pY29kZS4KIFBhdGNoZXMgdG8gZml4IHRoaXMuIChLZW4gVGFrYXRhLCAyMDEzIEF1ZyA5KQogCiAvW2ItYV0gZ2l2ZXMgZXJyb3IgRTE2LCBzaG91bGQgcHJvYmFibHkgYmUgRTc2OS4KIAorOmhlbHAgZ2l2ZXMgZXhhbXBsZSBmb3Igej8sIGJ1dCBpdCBkb2VzIG5vdCB3b3JrLiAgbT8gYW5kIHQ/IGRvIHdvcmsuCisKK1BhdGNoIHRvIGFkZCBmdW5jcmVmIHRvIEx1YS4gIChMdWlzIENhcnZhbGhvLCAyMDEzIFNlcCA0KQorTWlzc2luZyB0ZXN0cy4KKwogRGlzY3Vzc2lvbiBhYm91dCBjYW5vbmljYWxpemF0aW9uIG9mIEhlYnJldy4gKFJvbiBBYXJvbiwgMjAxMSBBcHJpbCAxMCkKIAogUGF0Y2ggdG8gbWFrZSBleHRlcm5hbCBjb21tYW5kcyB3b3JrIHdpdGggbXVsdGktYnl0ZSBjaGFyYWN0ZXJzIG9uIFdpbjMyIHdoZW4KQEAgLTg1LDcgKzEzMyw3IEBACiAKIFdpbjMyOiBXaGVuIGEgZGlyZWN0b3J5IG5hbWUgY29udGFpbnMgYW4gZXhjbGFtYXRpb24gbWFyaywgY29tcGxldGlvbiBkb2Vzbid0CiBjb21wbGV0ZSB0aGUgY29udGVudHMgb2YgdGhlIGRpcmVjdG9yeS4gIE5vIGVzY2FwaW5nIGZvciB0aGUgIiEiPyAoSmFuCi1TdG9ja2VyLCAyMDEyIEphbiA1KQorU3RvY2tlciwgMjAxMiBKYW4gNTsgMjAxMyBBdWcgMjApCiAKIFBhdGNoIHRvIHN1cHBvcnQgZXhwcmVzc2lvbiBhcmd1bWVudCB0byBzb3J0KCkgaW5zdGVhZCBvZiBhIGZ1bmN0aW9uIG5hbWUuCiBZYXN1aGlybyBNYXRzdW1vdG8sIDIwMTMgTWF5IDMxLgpAQCAtOTQsNiArMTQyLDEwIEBACiBQcm9ibGVtIGNhdXNlZCBieSBwYXRjaCA3LjMuNjM4OiB3aW5kb3ctPm9wZW4gZG9lcyBub3QgdXBkYXRlIHdpbmRvdwogY29ycmVjdGx5LiBJc3N1ZSA5MS4KIAorOCAgICdiYWNrdXBkaXInIGFuZCAnZGlyZWN0b3J5JyBzaG91bGQgdXNlICRUTVBESVIsICRUTVAgYW5kL29yICRURU1QIHdoZW4KKyAgICBkZWZpbmVkLgorSXNzdWUgMjguCisKIFBhdGNoIHRvIGZpeCB0aGF0ICdjZWRpdCcgaXMgcmVjb2duaXplZCBhZnRlciA6bm9ybWFsLiAoQ2hyaXN0aWFuIEJyYWJhbmR0LAogMjAxMyBNYXIgMTksIGxhdGVyIG1lc3NhZ2UpCiAKQEAgLTEwOCw2ICsxNjAsOCBAQAogQnVnIHdpdGggJ2N1cnNvcmxpbmUnIGluIGRpZmYgbW9kZS4gIExpbmUgYmVpbmcgc2Nyb2xsZWQgaW50byB2aWV3IGdldHMKIGhpZ2hsaWdodGVkIGFzIHRoZSBjdXJzb3IgbGluZS4gIChBbGVzc2FuZHJvIEl2YWxkaSwgMjAxMyBKdW4gNCkKIAorVHdvIGhpZ2hsaWdodGluZyBidWdzLiAoWnl4LCAyMDEzIEF1ZyAxOCkKKwogUGF0Y2ggdG8gYWRkIHRoZSBidWZmZXJsaXN0KCkgZnVuY3Rpb24uIChZZWdhcHBhbiBMYWtzaG1hbmFuLCAyMDEzIE1heSA1KQogTWF5IDE3OiB3aXRoIHdpbmxpc3QoKSBhbmQgdGFicGFnZWxpc3QoKS4KIE1heSAxOTogd2l0aCBsb2NhbCB2YXJpYWJsZXMuCkBAIC0xMTksNiArMTczLDggQEAKIFBhdGNoIGZyb20gQ2hyaXN0aWFuIEJyYWJhbmR0IHRvIG1ha2UgdGhlICJidWZmZXIiIGFyZ3VtZW50IGZvciAiOnNpZ24gcGxhY2UiCiBvcHRpb25hbC4gKDIwMTMgSnVsIDEyKQogCitEaWFsb2cgaXMgdG9vIGJpZyBvbiBMaW51eCB0b28uIChEYXZpZCBGaXNoYnVybiwgMjAxMyBTZXAgMikKKwogUGF0Y2ggdG8gYWxsb3cgc2V0dGluZyB3OnF1aWNrZml4X3RpdGxlIHZpYSBzZXRxZmxpc3QoKSBhbmQgc2V0bG9jbGlzdCgpCiBmdW5jdGlvbnMuIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTMgTWF5IDgsIHVwZGF0ZSBNYXkgMjEpCiBQYXRjaCB0byBhZGQgZ2V0bG9jc3RhY2soKSAvIHNldGxvY3N0YWNrKCkuIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTMgTWF5IDE0KQpAQCAtMTI2LDYgKzE4Miw5IEBACiAKIFBhdGNoIHRvIG1ha2UgZm9sZCB1cGRhdGVzIG11Y2ggZmFzdGVyLiAoQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEyIERlYykKIAorVENMOiBXaXRoIE1TVkMgMjAxMCBkb2Vzbid0IGZpbmQgVGNsX0ZpbmRFeGVjdXRhYmxlLiAodHV4KQorUGF0Y2ggdG8gZGVmaW5lIGl0LiAoS2VuIFRha2F0YSwgMjAxMyBBdWcgMTIpICBJcyB0aGlzIHJpZ2h0PworCiBNUy1XaW5kb3dzOiBQYXRjaCB0byBtYWtlIHRlc3RzIGNvcHkgZmlsZXMgdG8gYXZvaWQgY2hhbmdpbmcgdGhlIGZpbGVmb3JtYXQgb2YKIHRoZSBmaWxlcyB1bmRlciB2ZXJzaW9uIGNvbnRyb2wuIChUYXJvIE11cmFva2EsIDIwMTMgSnVsIDUpCiAKQEAgLTE2Nyw4ICsyMjYsMTcgQEAKIAogUGF0Y2ggdG8gYWRkIGZ1bmN0aW9ucyBmb3Igc2lnbnMuIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTMgSmFuIDI3KQogCitEbyB3ZSBuZWVkIHNvbWUgd2F5IChvcHRpb24pIHRvIHNob3cgdGhlIHNpZ24gY29sdW1uIGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8KK3NpZ25zPyAgUGF0Y2ggYnkgQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEzIEF1ZyAyMi4KKworUGF0Y2ggdG8gcmVtb3ZlIGZsaWNrZXIgZnJvbSBwb3B1cCBtZW51LiAoWWFzdWhpcm8gTWF0c3Vtb3RvLCAyMDEzIEF1ZyAxNSkKKwogUGF0Y2ggdG8gdXNlIGRpcmVjdFggdG8gZHJhdyB0ZXh0IG9uIFdpbmRvd3MuICBBZGRzIHRoZSAncmVuZGVyb3B0aW9ucycKIG9wdGlvbi4gIChUYXJvIE11cmFva2EsIDIwMTMgSmFuIDI1LCB1cGRhdGUgMjAxMyBBcHIgMywgTWF5IDE0KQorRml4ZXMgdGhpcyBwcm9ibGVtOgorOCAgIFdpbjMyOiBNdWx0aS1ieXRlIGNoYXJhY3RlcnMgYXJlIG5vdCBkaXNwbGF5ZWQsIGV2ZW4gdGhvdWdoIHRoZSBzYW1lIGZvbnQKKyAgICBpbiBOb3RlcGFkIGNhbiBkaXNwbGF5IHRoZW0uIChTcmluYXRoIEF2YWRoYW51bGEpICBUcnkgd2l0aCB0aGUKKyAgICBVVEYtOC1kZW1vLnR4dCBwYWdlIHdpdGggQW5kYWxlIE1vbm8uCiAKIFBhdGNoIHRvIGFkZCAnY29tcGxldGVzZWxlY3QnIG9wdGlvbi4gIFNwZWNpZmllcyBob3cgdG8gc2VsZWN0IGEgY2FuZGlkYXRlIGluCiBpbnNlcnQgY29tcGxldGlvbi4gKFNob3VnbywgMjAxMyBNYXkgMjkpCkBAIC0yNzIsNiArMzQwLDkgQEAKIAogUGF0Y2ggdG8gbGlzdCB1c2VyIGRpZ3JhcGhzLiAoQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEyIEFwciAxNCkKIAorUGF0Y2ggdG8gYWRkIGRpZ3JhcGgoKSBmdW5jdGlvbi4gKENocmlzdGlhbiBCcmFiYW5kdCwgMjAxMyBBdWcgMjIsIHVwZGF0ZSBBdWcKKzI0KQorCiBQYXRjaCBmb3IgaW5wdXQgbWV0aG9kIHN0YXR1cy4gKEhpcm9oaXRvIEhpZ2FzaGksIDIwMTIgQXByIDE4KQogCiBQYXRjaCB0byB1c2UgLnBuZyBpY29ucyBmb3IgdGhlIHRvb2xiYXIgb24gTVMtV2luZG93cy4gKE1hcnRpbiBHaWVzZWtpbmcsIDIwMTMKQEAgLTM5Niw3ICs0NjcsNyBAQAogQ2hhbmdlcyB0byBtYW5wYWdlIHBsdWdpbi4gKEVsaWFzIFRvaXZhbmVuLCAyMDExIEp1bCAyNSkKIAogUGF0Y2ggdG8gbWFrZSAiej0iIHdvcmsgd2hlbiAnc3BlbGwnIGlzIG9mZi4gIERvZXMgdGhpcyBoYXZlIG5hc3R5IHNpZGUKLWVmZmVjdHM/ICAoQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEyIEF1ZyA1KQorZWZmZWN0cz8gIChDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTIgQXVnIDUsIFVwZGF0ZSAyMDEzIEF1ZyAxMikKIFdvdWxkIGFsc28gbmVlZCB0byBkbyB0aGlzIGZvciBzcGVsbGJhZHdvcmQoKSBhbmQgc3BlbGxzdWdnZXN0KCkuCiAKIFBhdGNoIGZvciB2YXJpYWJsZSB0YWJzdG9wcy4KQEAgLTQ1Niw2ICs1MjcsOSBAQAogbnVtYmVyLCBidXQgaXQgaXMgaW4gdGhlIHNpZ24gY29sdW1uLiAgRG9lc24ndCBsb29rIHJpZ2h0LiAoWnlYIDIwMTEgSnVuIDUpCiBQYXRjaCBieSBDaHJpc3RpYW4gQnJhYmFuZHQsIDIwMTEgSnVuIDUuICBJbnRyb2R1Y2VzIG5ldyBwcm9ibGVtcy4KIAorQWRkIGp1bXAoKSBmdW5jdGlvbi4gKE1hcmNpbiBTemFtb3R1bHNraSwgMjAxMyBBdWcgMjkpCitJcyB0aGlzIG5lZWRlZD8gIENUUkwtTyBhbmQgQ1RSTC1JIGRvIHRoZSBzYW1lLCBqdXN0IG1vcmUgZGlmZmljdWx0IHRvIHVzZS4KKwogOCAgIEFkZCBhIGNvbW1hbmQgdG8ganVtcCB0byB0aGUgbmV4dCBjaGFyYWN0ZXIgaGlnaGxpZ2h0ZWQgd2l0aCAiRXJyb3IiLgogUGF0Y2ggYnkgQ2hyaXN0aWFuIEJyYWJhbmR0LCB1c2VzIF1lIFtlIF10IGFuZCBbdC4gMjAxMSBBdWcgOS4KIApAQCAtNTczLDggKzY0Nyw3IEBACiAKIGdldHBvcygpL3NldHBvcygpIGRvbid0IGluY2x1ZGUgY3Vyc3dhbnQuICBnZXRwb3MoKSBjb3VsZCByZXR1cm4gYSBmaWZ0aAogZWxlbWVudC4gIHNldHBvcygpIGNvdWxkIGFjY2VwdCBhbiBvcHRpb25hbCBmaWZ0aCBlbGVtZW50LgotUGF0Y2ggYnkgQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEwIFNlcCA2LiAgQ2hlY2sgdGhhdCBuZXcgYXJndW1lbnQgaXMgb3B0aW9uYWwKLWFuZCB0aGF0IGl0J3MgZG9jdW1lbnRlZC4KK1BhdGNoIGJ5IENocmlzdGlhbiBCcmFiYW5kdCwgMjAxMCBTZXAgNi4gIEFnYWluIDIwMTMgQXVnIDIyLgogCiBXaXRoICJ0dz01NSBmbys9YSIgdHlwaW5nIHNwYWNlIGJlZm9yZSApIGRvZXNuJ3Qgd29yayB3ZWxsLiAoU2NvdHQgTWNkZXJtb3R0LAogMjAxMCBPY3QgMjQpCkBAIC03NTksNiArODMyLDcgQEAKIAogUGF0Y2ggdG8gYWRkIGZhcnNpIGhhbmRsaW5nIHRvIGFyYWJpYy5jIChBbGkgR2hvbGFtaSBSdWRpLCAyMDA5IE1heSAyKQogQWRkZWQgdGVzdCwgdXBkYXRlcywgSnVuZSAyMy4KK1VwZGF0ZWQgZm9yIDcuNDogaHR0cDovL2xpdGNhdmUucnVkaS5pci9mYXJzaV92aW0uZGlmZgogCiBQYXRjaCB0byBhZGQgImZvY3Vzb25seSIgdG8gJ3Njcm9sbG9wdCcsIHNvIHRoYXQgc2Nyb2xsYmluZCBhbHNvIGFwcGxpZXMgaW4KIHdpbmRvdyB0aGF0IGRvZXNuJ3QgaGF2ZSBmb2N1cy4gKEpvbmF0aG9uIE1haCwgMjAwOSBKYW4gMTIpCkBAIC0xNjg1LDcgKzE3NTksNyBAQAogLSAgIHRlc3RkaXIvTWFrZV9kb3Nfc2gubWFrIGZvciBydW5uaW5nIHRlc3RzIHdpdGggTWluZ1cuIChCaWxsIE1jY2FydGh5LCAyMDA4CiAgICAgU2VwIDEzKQogLSAgIFBhdGNoIGZvciBhZGRpbmcgInNwYWNlIiBpdGVtIGluICdsaXN0Y2hhcnMnLiAoSsOpcsOpbWllIFJvcXVldCwgMjAwOSBPY3QgMjksCi0gICAgRG9jcyBwYXRjaCBPY3QgMzApCisgICAgRG9jcyBwYXRjaCBPY3QgMzAsIHVwZGF0ZSBEYXZpZCBCdXJnaW4gKGdsdHMpIDIwMTMgQXVnIDI0KQogLSAgIFJlcGxhY2UgY2NvbXBsZXRlLnZpbSBieSBjcHBjb21wbGV0ZS52aW0gZnJvbSB3d3cudmltLm9yZz8gIHNjcmlwdCAxNTIwIGJ5CiAgICAgVmlzc2FsZSBOZWFuZy4gIChNYXJ0aW4gU3R1YmVuc2Nocm90dCkgQXNrZWQgVmlzc2FsZSB0byBtYWtlIHRoZSBzY3JpcHRzCiAgICAgbW9yZSBmcmllbmRseSBmb3IgdGhlIFZpbSBkaXN0cmlidXRpb24uCkBAIC0xODg3LDkgKzE5NjEsNiBAQAogOCAgIFVzZSBhbm90aGVyIGRlZmF1bHQgZm9yICd0ZXJtZW5jb2RpbmcnOiB0aGUgYWN0aXZlIGNvZGVwYWdlLiAgTWVhbnMgdGhhdAogICAgIHdoZW4gJ2VuY29kaW5nJyBpcyBjaGFuZ2VkIHR5cGluZyBjaGFyYWN0ZXJzIHN0aWxsIHdvcmtzIHByb3Blcmx5LgogICAgIEFsdGVybmF0aXZlOiB1c2UgdGhlIFVuaWNvZGUgZnVuY3Rpb25zIHRvIG9idGFpbiB0eXBlZCBjaGFyYWN0ZXJzLgotOCAgIFdpbjMyOiBNdWx0aS1ieXRlIGNoYXJhY3RlcnMgYXJlIG5vdCBkaXNwbGF5ZWQsIGV2ZW4gdGhvdWdoIHRoZSBzYW1lIGZvbnQKLSAgICBpbiBOb3RlcGFkIGNhbiBkaXNwbGF5IHRoZW0uIChTcmluYXRoIEF2YWRoYW51bGEpICBUcnkgd2l0aCB0aGUKLSAgICBVVEYtOC1kZW1vLnR4dCBwYWdlIHdpdGggQW5kYWxlIE1vbm8uCiA3ICAgVGhlIGN1cnNvciBjb2xvciBpbmRpY2F0aW5nIElNRSBtb2RlIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4gKFNoaXpodSBQYW4sCiAgICAgMjAwNCBNYXkgOSkKIDggICBXaW4zMjogV2hlbiBjbGlja2luZyBvbiB0aGUgZ3ZpbSB0aXRsZSBiYXIsIHdoaWNoIGdpdmVzIGl0IGZvY3VzLCBwcm9kdWNlcwpAQCAtMjI3Miw4ICsyMzQzLDYgQEAKICAgICBjaGFyYWN0ZXIuIChZYXN1aGlybyBNYXRzdW1vdG8pICBJdCBzaG91bGQgcmV0dXJuIDEgd2hlbiB1c2VkIG9uIGEgdGFpbAogICAgIGJ5dGUsIGxpa2UgZm9yIHV0Zi04LiAgU3RvcmUgc2Vjb25kIGJ5dGUgb2YgZG91YmxlLWJ5dGUgaW4gU2NyZWVuTGluZXMyW10KICAgICAobGlrZSBmb3IgREJDU19KUE5VKSBhbmQgcHV0IGEgemVybyBpbiB0aGUgc2Vjb25kIGJ5dGUgKGxpa2UgZm9yIFVURi04KS4KLTggICAnYmFja3VwZGlyJyBhbmQgJ2RpcmVjdG9yeScgc2hvdWxkIHVzZSAkVE1QRElSLCAkVE1QIGFuZC9vciAkVEVNUCB3aGVuCi0gICAgZGVmaW5lZC4KIDcgICBJbnNpZGUgYSBmdW5jdGlvbiB3aXRoICJwZXJsIDw8RU9GIiBhIGxpbmUgd2l0aCAiJGkrKyIgaXMgcmVjb2duaXplZCBhcyBhbgogICAgICI6aW5zZXJ0IiBjb21tYW5kLCBjYXVzaW5nIHRoZSBmb2xsb3dpbmcgImVuZGZ1bmN0aW9uIiBub3QgdG8gYmUgZm91bmQuCiAgICAgQWRkIHNraXBwaW5nIHRoaXMgcGVybCBjb25zdHJ1Y3Rpb24gaW5zaWRlIGZ1bmN0aW9uIGRlZmluaXRpb25zLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdW5kby50eHQgYi9ydW50aW1lL2RvYy91bmRvLnR4dAppbmRleCBmMTk5MGM5Li4yNTg5YTE1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91bmRvLnR4dAorKysgYi9ydW50aW1lL2RvYy91bmRvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1bmRvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTIgTWFyIDA0CisqdW5kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuNC4gIExhc3QgY2hhbmdlOiAyMDEzIEF1ZyAyMgogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNTcsNyArNTcsNyBAQAogMi4gVHdvIHdheXMgb2YgdW5kbwkJCQkJKnVuZG8tdHdvLXdheXMqCiAKIEhvdyB1bmRvIGFuZCByZWRvIGNvbW1hbmRzIHdvcmsgZGVwZW5kcyBvbiB0aGUgJ3UnIGZsYWcgaW4gJ2Nwb3B0aW9ucycuCi1UaGVyZSBpcyB0aGUgVmltIHdheSAoJ3UnIGV4Y2x1ZGVkKSBhbmQgdGhlIHZpLWNvbXBhdGlibGUgd2F5ICgndScgaW5jbHVkZWQpLgorVGhlcmUgaXMgdGhlIFZpbSB3YXkgKCd1JyBleGNsdWRlZCkgYW5kIHRoZSBWaS1jb21wYXRpYmxlIHdheSAoJ3UnIGluY2x1ZGVkKS4KIEluIHRoZSBWaW0gd2F5LCAidXUiIHVuZG9lcyB0d28gY2hhbmdlcy4gIEluIHRoZSBWaS1jb21wYXRpYmxlIHdheSwgInV1IiBkb2VzCiBub3RoaW5nICh1bmRvZXMgYW4gdW5kbykuCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZhcmlvdXMudHh0IGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKaW5kZXggMWQwNWUxYS4uNGExYzY0YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmFyaW91cy50eHQKKysrIGIvcnVudGltZS9kb2MvdmFyaW91cy50eHQKQEAgLTI5MSw2ICsyOTEsNyBAQAogCQkJaW4gdGhlIG5vcm1hbCwgYmlnIGFuZCBodWdlIHZlcnNpb25zIG9mIFZpbS4KIAogCQkJCQkJCSorZmVhdHVyZS1saXN0KgorICAgKithY2wqCQl8QUNMfCBzdXBwb3J0IGluY2x1ZGVkCiAgICAqK0FSUCoJCUFtaWdhIG9ubHk6IEFSUCBzdXBwb3J0IGluY2x1ZGVkCiBCICAqK2FyYWJpYyoJCXxBcmFiaWN8IGxhbmd1YWdlIHN1cHBvcnQKIE4gICorYXV0b2NtZCoJCXw6YXV0b2NtZHwsIGF1dG9tYXRpYyBjb21tYW5kcwpAQCAtNDI2LDYgKzQyNyw3IEBACiBtICAqK3dyaXRlYmFja3VwKgl8J3dyaXRlYmFja3VwJ3wgaXMgZGVmYXVsdCBvbgogbSAgKit4aW0qCQlYIGlucHV0IG1ldGhvZCB8eGltfAogICAgKit4Zm9udHNldCoJCVggZm9udHNldCBzdXBwb3J0IHx4Zm9udHNldHwKKyAgICoreHBtKgkJcGl4bWFwIHN1cHBvcnQKIG0gICoreHBtX3czMioJCVdpbjMyIEdVSSBvbmx5OiBwaXhtYXAgc3VwcG9ydCB8dzMyLXhwbS1zdXBwb3J0fAogICAgKit4c21wKgkJWFNNUCAoWCBzZXNzaW9uIG1hbmFnZW1lbnQpIHN1cHBvcnQKICAgICoreHNtcF9pbnRlcmFjdCoJaW50ZXJhY3RpdmUgWFNNUCAoWCBzZXNzaW9uIG1hbmFnZW1lbnQpIHN1cHBvcnQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dCBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dAppbmRleCA0NzgwOTc2Li40Y2YyZTk3IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKKysrIGIvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZlcnNpb243LnR4dCogIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxMyBBdWcgMTAKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgU2VwIDAzCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xMDI5Myw3ICsxMDI5Myw3IEBACiAJQWRkZWQgc3BlY2lhbCB8ZXhwYW5kKCl8IGFyZ3VtZW50IHRoYXQgZXhwYW5kcyB0byB0aGUgY3VycmVudCBsaW5lIAogCW51bWJlci4KIAotCU1hZGUgaXQgcG9zc2libGUgdG8gZm9yY2UgfGNoYXIybnIoKXwgYWx3YXlzIGdpdmUgdW5pY29kZSBjb2RlcG9pbnRzIAorCU1hZGUgaXQgcG9zc2libGUgdG8gZm9yY2UgfGNoYXIybnIoKXwgdG8gYWx3YXlzIGdpdmUgdW5pY29kZSBjb2RlcG9pbnRzIAogCXJlZ2FyZGxlc3Mgb2YgY3VycmVudCBlbmNvZGluZy4gKFlhc3VoaXJvIE1hdHN1bW90bykKIAogCU1hZGUgaXQgcG9zc2libGUgZm9yIGZ1bmN0aW9ucyBnZW5lcmF0aW5nIGZpbGUgbGlzdCBnZW5lcmF0ZSB8TGlzdHwgCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92aV9kaWZmLnR4dCBiL3J1bnRpbWUvZG9jL3ZpX2RpZmYudHh0CmluZGV4IGYzNWNjMDIuLjQ1ZmU3ZGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3ZpX2RpZmYudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZpX2RpZmYudHh0CkBAIC0xLDQgKzEsNCBAQAotKnZpX2RpZmYudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjQuICBMYXN0IGNoYW5nZTogMjAxMiBBdWcgMDgKKyp2aV9kaWZmLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy40LiAgTGFzdCBjaGFuZ2U6IDIwMTMgQXVnIDIyCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xNTAsNyArMTUwLDcgQEAKIE11bHRpIGxldmVsIHVuZG8uCQkJCQl8dW5kb3wKIAkndScgZ29lcyBiYWNrd2FyZCBpbiB0aW1lLCAnQ1RSTC1SJyBnb2VzIGZvcndhcmQgYWdhaW4uICBTZXQgb3B0aW9uCiAJJ3VuZG9sZXZlbHMnIHRvIHRoZSBudW1iZXIgb2YgY2hhbmdlcyB0byBiZSByZW1lbWJlcmVkIChkZWZhdWx0IDEwMDApLgotCVNldCAndW5kb2xldmVscycgdG8gMCBmb3IgYSB2aS1jb21wYXRpYmxlIG9uZSBsZXZlbCB1bmRvLiAgU2V0IGl0IHRvCisJU2V0ICd1bmRvbGV2ZWxzJyB0byAwIGZvciBhIFZpLWNvbXBhdGlibGUgb25lIGxldmVsIHVuZG8uICBTZXQgaXQgdG8KIAktMSBmb3Igbm8gdW5kbyBhdCBhbGwuCiAJV2hlbiBhbGwgY2hhbmdlcyBpbiBhIGJ1ZmZlciBoYXZlIGJlZW4gdW5kb25lLCB0aGUgYnVmZmVyIGlzIG5vdAogCWNvbnNpZGVyZWQgY2hhbmdlZCBhbnltb3JlLiAgWW91IGNhbiBleGl0IGl0IHdpdGggOnEsIHdpdGhvdXQgPCE+LgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaGVscC52aW0gYi9ydW50aW1lL3N5bnRheC9oZWxwLnZpbQppbmRleCA4MDdjNzhiLi4yN2Y3ZmYxIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9oZWxwLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9oZWxwLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOglWaW0gaGVscCBmaWxlCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIChCcmFtQHZpbS5vcmcpCi0iIExhc3QgQ2hhbmdlOgkyMDEzIEp1bCAwNworIiBMYXN0IENoYW5nZToJMjAxMyBTZXAgMDUKIAogIiBRdWl0IHdoZW4gYSAoY3VzdG9tKSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKIGlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCkBAIC00NCw3ICs0NCw3IEBACiBzeW4gbWF0Y2ggaGVscFZpbQkJIlZJTSBSRUZFUkVOQ0UuKiIKIHN5biBtYXRjaCBoZWxwT3B0aW9uCQkiJ1thLXpdXHsyLFx9JyIKIHN5biBtYXRjaCBoZWxwT3B0aW9uCQkiJ3RfLi4nIgotc3luIG1hdGNoIGhlbHBDb21tYW5kCQkiYFteYCBdXCtgImhzPXMrMSxoZT1lLTEgY29udGFpbnM9aGVscEJhY2t0aWNrCitzeW4gbWF0Y2ggaGVscENvbW1hbmQJCSJgW15gIFx0XVwrYCJocz1zKzEsaGU9ZS0xIGNvbnRhaW5zPWhlbHBCYWNrdGljawogc3luIG1hdGNoIGhlbHBIZWFkZXIJCSJccypcenMuXHstfVx6ZVxzXD1cfiQiIG5leHRncm91cD1oZWxwSWdub3JlCiBzeW4gbWF0Y2ggaGVscEdyYXBoaWMJCSIuKiBcemVgJCIgbmV4dGdyb3VwPWhlbHBJZ25vcmUKIGlmIGhhcygiY29uY2VhbCIpCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tYWlsLnZpbSBiL3J1bnRpbWUvc3ludGF4L21haWwudmltCmluZGV4IDgyM2M2YjQuLjBjZDQ4ZmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21haWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21haWwudmltCkBAIC0yLDcgKzIsNyBAQAogIiBMYW5ndWFnZToJCU1haWwgZmlsZQogIiBQcmV2aW91cyBNYWludGFpbmVyOglGZWxpeCB2b24gTGVpdG5lciA8bGVpdG5lckBtYXRoLmZ1LWJlcmxpbi5kZT4KICIgTWFpbnRhaW5lcjoJCUdJIDxhQGIuYz4sIHdoZXJlIGE9J2dpMTI0Mit2aW0nLCBiPSdnbWFpbCcsIGM9J2NvbScKLSIgTGFzdCBDaGFuZ2U6CQlUaHUgMDIgRmViIDIwMTIgMDg6NDc6MDQgUE0gRVNUCisiIExhc3QgQ2hhbmdlOgkJV2VkIDE0IEF1ZyAyMDEzIDA4OjI0OjUyIEFNIFBEVAogCiAiIFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKQEAgLTU1LDcgKzU1LDcgQEAKIAogIiBUcmVhdCB2ZXJiYXRpbSBUZXh0IHNwZWNpYWwuCiBzeW4gcmVnaW9uCW1haWxWZXJiYXRpbQljb250YWlucz1ATm9TcGVsbCBrZWVwZW5kIHN0YXJ0PSJeI3YrJCIgZW5kPSJeI3YtJCIgZm9sZCAKLXN5biByZWdpb24JbWFpbFZlcmJhdGltCWNvbnRhaW5zPUBtYWlsUXVvdGVFeHBzLEBOb1NwZWxsIHN0YXJ0PSJeXHooXCg+IFw/XClcK1wpI3YrJCIgZW5kPSJcejEjdi0kIiBmb2xkIAorc3luIHJlZ2lvbgltYWlsVmVyYmF0aW0JY29udGFpbnM9QG1haWxRdW90ZUV4cHMsQE5vU3BlbGwga2VlcGVuZCBzdGFydD0iXlx6KFwoPiBcP1wpXCtcKSN2KyQiIGVuZD0iXHoxI3YtJCIgZm9sZCAKIAogIiBVUkxzIHN0YXJ0IHdpdGggYSBrbm93biBwcm90b2NvbCBvciB3d3csd2ViLHczLgogc3luIG1hdGNoIG1haWxVUkwgY29udGFpbnM9QE5vU3BlbGwgYFx2PCgoKGh0dHBzP3xmdHB8Z29waGVyKTovL3wobWFpbHRvfGZpbGV8bmV3cyk6KVteJyAJPD4iXSt8KHd3d3x3ZWJ8dzMpW2EtejAtOV8tXSpcLlthLXowLTkuXy1dK1wuW14nIAk8PiJdKylbYS16MC05L11gCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9waHAudmltIGIvcnVudGltZS9zeW50YXgvcGhwLnZpbQppbmRleCBhYzNiMjBjLi5mMjdkOTIzIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9waHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BocC52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZTogcGhwIFBIUCAzLzQvNQogIiBNYWludGFpbmVyOiBKYXNvbiBXb29mZW5kZW4gPGphc29uQGphc29ud29vZi5jb20+Ci0iIExhc3QgQ2hhbmdlOiBEZWMgMTEsIDIwMTIKKyIgTGFzdCBDaGFuZ2U6IEF1ZyAyOCwgMjAxMwogIiBVUkw6IGh0dHBzOi8vZ2l0b3Jpb3VzLm9yZy9qYXNvbndvb2YvdmltLXN5bnRheC9ibG9icy9tYXN0ZXIvcGhwLnZpbQogIiBGb3JtZXIgTWFpbnRhaW5lcnM6IFBldGVyIEhvZGdlIDx0b29tdWNocGhwLXZpbUB5YWhvby5jb20+CiAiICAgICAgICAgRGViaWFuIFZJTSBNYWludGFpbmVycyA8cGtnLXZpbS1tYWludGFpbmVyc0BsaXN0cy5hbGlvdGguZGViaWFuLm9yZz4KQEAgLTYxNiw2ICs2MTYsMTEgQEAKICAgZXhlYyAic3luIHN5bmMgZnJvbXN0YXJ0IgogZW5kaWYKIAorc3ludGF4IG1hdGNoICBwaHBEb2NDdXN0b21UYWdzICAiQFthLXpBLVpdKlwoXHNcK1x8XG5cfFxyXCkiIGNvbnRhaW5lZGluPXBocENvbW1lbnQKK3N5bnRheCByZWdpb24gcGhwRG9jVGFncyAgc3RhcnQ9IntAXChleGFtcGxlXHxpZFx8aW50ZXJuYWxcfGluaGVyaXRkb2NcfGxpbmtcfHNvdXJjZVx8dG9jXHx0dXRvcmlhbFwpIiBlbmQ9In0iIGNvbnRhaW5lZGluPXBocENvbW1lbnQKK3N5bnRheCBtYXRjaCAgcGhwRG9jVGFncyAgIkBcKGFic3RyYWN0XHxhY2Nlc3NcfGF1dGhvclx8Y2F0ZWdvcnlcfGNvcHlyaWdodFx8ZGVwcmVjYXRlZFx8ZXhhbXBsZVx8ZmluYWxcfGdsb2JhbFx8aWdub3JlXHxpbnRlcm5hbFx8bGljZW5zZVx8bGlua1x8bWV0aG9kXHxuYW1lXHxwYWNrYWdlXHxwYXJhbVx8cHJvcGVydHlcfHJldHVyblx8c2VlXHxzaW5jZVx8c3RhdGljXHxzdGF0aWN2YXJcfHN1YnBhY2thZ2VcfHR1dG9yaWFsXHx1c2VzXHx2YXJcfHZlcnNpb25cfGNvbnRyaWJ1dG9yXHxtb2RpZmllZFx8ZmlsZW5hbWVcfGRlc2NyaXB0aW9uXHxmaWxlc291cmNlXHx0aHJvd3NcKVwoXHNcK1wpXD8iIGNvbnRhaW5lZGluPXBocENvbW1lbnQKK3N5bnRheCBtYXRjaCAgcGhwRG9jVG9kbyAgIkBcKHRvZG9cfGZpeG1lXHx4eHhcKVwoXHNcK1wpXD8iIGNvbnRhaW5lZGluPXBocENvbW1lbnQKKwogIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgogIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CiAiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CkBAIC02MzAsNiArNjM1LDggQEAKICAgSGlMaW5rICAgcGhwQ29uc3RhbnQgIENvbnN0YW50CiAgIEhpTGluayAgIHBocENvcmVDb25zdGFudCAgQ29uc3RhbnQKICAgSGlMaW5rICAgcGhwQ29tbWVudCBDb21tZW50CisgIEhpTGluayAgIHBocERvY1RhZ3MgUHJlUHJvYworICBIaUxpbmsgICBwaHBEb2NDdXN0b21UYWdzIFR5cGUKICAgSGlMaW5rICAgcGhwRXhjZXB0aW9uIEV4Y2VwdGlvbgogICBIaUxpbmsgICBwaHBCb29sZWFuIEJvb2xlYW4KICAgSGlMaW5rICAgcGhwU3RvcmFnZUNsYXNzICBTdG9yYWdlQ2xhc3MKQEAgLTY2OCw2ICs2NzUsNyBAQAogICBIaUxpbmsgICBwaHBJbnRlcnBTaW1wbGVDdXJseSBEZWxpbWl0ZXIKICAgSGlMaW5rICAgcGhwSW50ZXJwVmFybmFtZSBJZGVudGlmaWVyCiAgIEhpTGluayAgIHBocFRvZG8gIFRvZG8KKyAgSGlMaW5rICAgcGhwRG9jVG9kbyBUb2RvCiAgIEhpTGluayAgIHBocE1lbWJlclNlbGVjdG9yICBTdHJ1Y3R1cmUKICAgaWYgZXhpc3RzKCJwaHBfb2xkU3R5bGUiKQogICBoaSAgcGhwSW50VmFyIGd1aWZnPVJlZCBjdGVybWZnPURhcmtSZWQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0gYi9ydW50aW1lL3N5bnRheC92aW0udmltCmluZGV4IGIzOTE0ZTcuLjNhODJjMjEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3ZpbS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvdmltLnZpbQpAQCAtMSw4ICsxLDggQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOglWaW0gNy4zIHNjcmlwdAotIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgotIiBMYXN0IENoYW5nZToJSnVsIDA1LCAyMDEzCi0iIFZlcnNpb246CTcuMy0yNgorIiBMYW5ndWFnZToJVmltIDcuNCBzY3JpcHQKKyIgTWFpbnRhaW5lcjoJQ2hhcmxlcyBFLiBDYW1wYmVsbCA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KKyIgTGFzdCBDaGFuZ2U6CUF1ZyAxNiwgMjAxMworIiBWZXJzaW9uOgk3LjQtMQogIiBBdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBrZXl3b3JkIGxpc3RzOiB7e3sxCiAKICIgUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkIHt7ezIKQEAgLTU1MCwxNSArNTUwLDMxIEBACiAiIEFsbG93cyB1c2VycyB0byBzcGVjaWZ5IHRoZSB0eXBlIG9mIGVtYmVkZGVkIHNjcmlwdCBoaWdobGlnaHRpbmcKICIgdGhleSB3YW50OiAgKHBlcmwvcHl0aG9uL3J1YnkvdGNsIHN1cHBvcnQpCiAiICAgZzp2aW1zeW5fZW1iZWQgPT0gMCAgIDogZG9uJ3QgZW1iZWQgYW55IHNjcmlwdHMKLSIgICBnOnZpbXN5bl9lbWJlZCB+PSAnbCcgOiBlbWJlZCBsdWEgICAgICAoYnV0IG9ubHkgaWYgdmltIHN1cHBvcnRzIGl0KQotIiAgIGc6dmltc3luX2VtYmVkIH49ICdtJyA6IGVtYmVkIG16c2NoZW1lIChidXQgb25seSBpZiB2aW0gc3VwcG9ydHMgaXQpCi0iICAgZzp2aW1zeW5fZW1iZWQgfj0gJ3AnIDogZW1iZWQgcGVybCAgICAgKGJ1dCBvbmx5IGlmIHZpbSBzdXBwb3J0cyBpdCkKLSIgICBnOnZpbXN5bl9lbWJlZCB+PSAnUCcgOiBlbWJlZCBweXRob24gICAoYnV0IG9ubHkgaWYgdmltIHN1cHBvcnRzIGl0KQotIiAgIGc6dmltc3luX2VtYmVkIH49ICdyJyA6IGVtYmVkIHJ1YnkgICAgIChidXQgb25seSBpZiB2aW0gc3VwcG9ydHMgaXQpCi0iICAgZzp2aW1zeW5fZW1iZWQgfj0gJ3QnIDogZW1iZWQgdGNsICAgICAgKGJ1dCBvbmx5IGlmIHZpbSBzdXBwb3J0cyBpdCkKLWlmICFleGlzdHMoImc6dmltc3luX2VtYmVkIikKLSBsZXQgZzp2aW1zeW5fZW1iZWQ9ICJsbXBQciIKKyIgICBnOnZpbXN5bl9lbWJlZCB+PSAnbCcgOiBlbWJlZCBsdWEKKyIgICBnOnZpbXN5bl9lbWJlZCB+PSAnbScgOiBlbWJlZCBtenNjaGVtZQorIiAgIGc6dmltc3luX2VtYmVkIH49ICdwJyA6IGVtYmVkIHBlcmwKKyIgICBnOnZpbXN5bl9lbWJlZCB+PSAnUCcgOiBlbWJlZCBweXRob24KKyIgICBnOnZpbXN5bl9lbWJlZCB+PSAncicgOiBlbWJlZCBydWJ5CisiICAgZzp2aW1zeW5fZW1iZWQgfj0gJ3QnIDogZW1iZWQgdGNsCitpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikKKyAiIGFwcGFyZW50bHkgaGFzKCJ0Y2wiKSBoYXMgYmVlbiBoYW5naW5nIHZpbSBvbiBzb21lIHdpbmRvd3Mgc3lzdGVtcyB3aXRoIGN5Z3dpbgorIGxldCBzOnRyeXRjbD0gKCZzaGVsbCAhfiAnXDxcJShiYXNoXD5cfDRbbk5dW3RUXVx8XDx6c2hcKVw+XCUoXC5leGVcKVw9JCcpCitlbHNlCisgbGV0IHM6dHJ5dGNsPSAxCiBlbmRpZgoraWYgIWV4aXN0cygiZzp2aW1zeW5fZW1iZWQiKQorIGxldCBnOnZpbXN5bl9lbWJlZD0gIiIKKyBpZiBoYXMoImx1YSIpICAgICAgICB8bGV0IGc6dmltc3luX2VtYmVkPSBnOnZpbXN5bl9lbWJlZC4ibCJ8ZW5kaWYKKyBpZiBoYXMoIm16c2NoZW1lIikgICB8bGV0IGc6dmltc3luX2VtYmVkPSBnOnZpbXN5bl9lbWJlZC4ibSJ8ZW5kaWYKKyBpZiBoYXMoInBlcmwiKSAgICAgICB8bGV0IGc6dmltc3luX2VtYmVkPSBnOnZpbXN5bl9lbWJlZC4icCJ8ZW5kaWYKKyBpZiAgICAgaGFzKCJweXRob24iKSB8bGV0IGc6dmltc3luX2VtYmVkPSBnOnZpbXN5bl9lbWJlZC4iUCIKKyBlbHNlaWYgaGFzKCJweXRob24zIil8bGV0IGc6dmltc3luX2VtYmVkPSBnOnZpbXN5bl9lbWJlZC4iUCJ8ZW5kaWYKKyBpZiBoYXMoInJ1YnkiKSAgICAgICB8bGV0IGc6dmltc3luX2VtYmVkPSBnOnZpbXN5bl9lbWJlZC4iciJ8ZW5kaWYKKyBpZiBzOnRyeXRjbCAgICAgICAgIAorICBpZiBoYXMoInRjbCIpICAgICAgIHxsZXQgZzp2aW1zeW5fZW1iZWQ9IGc6dmltc3luX2VtYmVkLiJ0InxlbmRpZgorIGVuZGlmCitlbmRpZgordW5sZXQgczp0cnl0Y2wKIAogIiBbLS0gbHVhIC0tXSB7e3szCiBsZXQgczpsdWFwYXRoPSBmbmFtZWVzY2FwZShleHBhbmQoIjxzZmlsZT46cDpoIikuIi9sdWEudmltIikKQEAgLTU3MCw3ICs1ODYsNyBAQAogICBlbmRpZgogIGVuZGZvcgogZW5kaWYKLWlmIChnOnZpbXN5bl9lbWJlZCA9fiAnbCcgJiYgaGFzKCJsdWEiKSkgJiYgZmlsZXJlYWRhYmxlKHM6bHVhcGF0aCkKK2lmIChnOnZpbXN5bl9lbWJlZCA9fiAnbCcpICYmIGZpbGVyZWFkYWJsZShzOmx1YXBhdGgpCiAgdW5sZXQhIGI6Y3VycmVudF9zeW50YXgKICBleGUgInN5biBpbmNsdWRlIEB2aW1MdWFTY3JpcHQgIi5zOmx1YXBhdGgKICBpZiBleGlzdHMoImc6dmltc3luX2ZvbGRpbmciKSAmJiBnOnZpbXN5bl9mb2xkaW5nID1+ICdsJwpAQCAtNTk3LDcgKzYxMyw3IEBACiAgIGVuZGlmCiAgZW5kZm9yCiBlbmRpZgotaWYgKGc6dmltc3luX2VtYmVkID1+ICdwJyAmJiBoYXMoInBlcmwiKSkgJiYgZmlsZXJlYWRhYmxlKHM6cGVybHBhdGgpCitpZiAoZzp2aW1zeW5fZW1iZWQgPX4gJ3AnKSAmJiBmaWxlcmVhZGFibGUoczpwZXJscGF0aCkKICB1bmxldCEgYjpjdXJyZW50X3N5bnRheAogIGV4ZSAic3luIGluY2x1ZGUgQHZpbVBlcmxTY3JpcHQgIi5zOnBlcmxwYXRoCiAgaWYgZXhpc3RzKCJnOnZpbXN5bl9mb2xkaW5nIikgJiYgZzp2aW1zeW5fZm9sZGluZyA9fiAncCcKQEAgLTYyNCw3ICs2NDAsNyBAQAogICBlbmRpZgogIGVuZGZvcgogZW5kaWYKLWlmIChnOnZpbXN5bl9lbWJlZCA9fiAncicgJiYgaGFzKCJydWJ5IikpICYmIGZpbGVyZWFkYWJsZShzOnJ1YnlwYXRoKQoraWYgKGc6dmltc3luX2VtYmVkID1+ICdyJykgJiYgZmlsZXJlYWRhYmxlKHM6cnVieXBhdGgpCiAgdW5sZXQhIGI6Y3VycmVudF9zeW50YXgKICBleGUgInN5biBpbmNsdWRlIEB2aW1SdWJ5U2NyaXB0ICIuczpydWJ5cGF0aAogIGlmIGV4aXN0cygiZzp2aW1zeW5fZm9sZGluZyIpICYmIGc6dmltc3luX2ZvbGRpbmcgPX4gJ3InCkBAIC02NTAsNyArNjY2LDcgQEAKICAgZW5kaWYKICBlbmRmb3IKIGVuZGlmCi1pZiBnOnZpbXN5bl9lbWJlZCA9fiAnUCcgJiYgKGhhcygicHl0aG9uIikgfHwgaGFzKCJweXRob24zIikpICYmIGZpbGVyZWFkYWJsZShzOnB5dGhvbnBhdGgpCitpZiBnOnZpbXN5bl9lbWJlZCA9fiAnUCcgJiYgZmlsZXJlYWRhYmxlKHM6cHl0aG9ucGF0aCkKICB1bmxldCEgYjpjdXJyZW50X3N5bnRheAogIGV4ZSAic3luIGluY2x1ZGUgQHZpbVB5dGhvblNjcmlwdCAiLnM6cHl0aG9ucGF0aAogIGlmIGV4aXN0cygiZzp2aW1zeW5fZm9sZGluZyIpICYmIGc6dmltc3luX2ZvbGRpbmcgPX4gJ1AnCkBAIC02NjgsNDMgKzY4NCwzMSBAQAogdW5sZXQgczpweXRob25wYXRoCiAKICIgWy0tIHRjbCAtLV0ge3t7MwotaWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCi0gIiBhcHBhcmVudGx5IGhhcygidGNsIikgaGFzIGJlZW4gaGFuZ2luZyB2aW0gb24gc29tZSB3aW5kb3dzIHN5c3RlbXMgd2l0aCBjeWd3aW4KLSBsZXQgczp0cnl0Y2w9ICgmc2hlbGwgIX4gJ1w8XCUoYmFzaFw+XHw0W25OXVt0VF1cfFw8enNoXClcPlwlKFwuZXhlXClcPSQnKQotZWxzZQotIGxldCBzOnRyeXRjbD0gMQotZW5kaWYKLWlmIHM6dHJ5dGNsCi0gbGV0IHM6dGNscGF0aD0gZm5hbWVlc2NhcGUoZXhwYW5kKCI8c2ZpbGU+OnA6aCIpLiIvdGNsLnZpbSIpCi0gaWYgIWZpbGVyZWFkYWJsZShzOnRjbHBhdGgpCi0gIGZvciBzOnRjbHBhdGggaW4gc3BsaXQoZ2xvYnBhdGgoJnJ0cCwic3ludGF4L3RjbC52aW0iKSwiXG4iKQotICAgaWYgZmlsZXJlYWRhYmxlKGZuYW1lZXNjYXBlKHM6dGNscGF0aCkpCi0gICAgbGV0IHM6dGNscGF0aD0gZm5hbWVlc2NhcGUoczp0Y2xwYXRoKQotICAgIGJyZWFrCi0gICBlbmRpZgotICBlbmRmb3IKLSBlbmRpZgotIGlmIChnOnZpbXN5bl9lbWJlZCA9fiAndCcgJiYgaGFzKCJ0Y2wiKSkgJiYgZmlsZXJlYWRhYmxlKHM6dGNscGF0aCkKLSAgdW5sZXQhIGI6Y3VycmVudF9zeW50YXgKLSAgZXhlICJzeW4gaW5jbHVkZSBAdmltVGNsU2NyaXB0ICIuczp0Y2xwYXRoCi0gIGlmIGV4aXN0cygiZzp2aW1zeW5fZm9sZGluZyIpICYmIGc6dmltc3luX2ZvbGRpbmcgPX4gJ3QnCi0gICBzeW4gcmVnaW9uIHZpbVRjbFJlZ2lvbiBmb2xkIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKlx6KC4qXCkkKyBlbmQ9K15cejEkKwljb250YWlucz1AdmltVGNsU2NyaXB0Ci0gICBzeW4gcmVnaW9uIHZpbVRjbFJlZ2lvbiBmb2xkIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKiQrIGVuZD0rXC4kKwljb250YWlucz1AdmltVGNsU2NyaXB0Ci0gIGVsc2UKLSAgIHN5biByZWdpb24gdmltVGNsUmVnaW9uIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKlx6KC4qXCkkKyBlbmQ9K15cejEkKwljb250YWlucz1AdmltVGNsU2NyaXB0Ci0gICBzeW4gcmVnaW9uIHZpbVRjbFJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PSt0Y1tsXVw9XHMqPDxccyokKyBlbmQ9K1wuJCsJCWNvbnRhaW5zPUB2aW1UY2xTY3JpcHQKK2xldCBzOnRjbHBhdGg9IGZuYW1lZXNjYXBlKGV4cGFuZCgiPHNmaWxlPjpwOmgiKS4iL3RjbC52aW0iKQoraWYgIWZpbGVyZWFkYWJsZShzOnRjbHBhdGgpCisgZm9yIHM6dGNscGF0aCBpbiBzcGxpdChnbG9icGF0aCgmcnRwLCJzeW50YXgvdGNsLnZpbSIpLCJcbiIpCisgIGlmIGZpbGVyZWFkYWJsZShmbmFtZWVzY2FwZShzOnRjbHBhdGgpKQorICAgbGV0IHM6dGNscGF0aD0gZm5hbWVlc2NhcGUoczp0Y2xwYXRoKQorICAgYnJlYWsKICAgZW5kaWYKLSAgc3luIGNsdXN0ZXIgdmltRnVuY0JvZHlMaXN0CWFkZD12aW1UY2xTY3JpcHQKKyBlbmRmb3IKK2VuZGlmCitpZiAoZzp2aW1zeW5fZW1iZWQgPX4gJ3QnKSAmJiBmaWxlcmVhZGFibGUoczp0Y2xwYXRoKQorIHVubGV0ISBiOmN1cnJlbnRfc3ludGF4CisgZXhlICJzeW4gaW5jbHVkZSBAdmltVGNsU2NyaXB0ICIuczp0Y2xwYXRoCisgaWYgZXhpc3RzKCJnOnZpbXN5bl9mb2xkaW5nIikgJiYgZzp2aW1zeW5fZm9sZGluZyA9fiAndCcKKyAgc3luIHJlZ2lvbiB2aW1UY2xSZWdpb24gZm9sZCBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PSt0Y1tsXVw9XHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsJY29udGFpbnM9QHZpbVRjbFNjcmlwdAorICBzeW4gcmVnaW9uIHZpbVRjbFJlZ2lvbiBmb2xkIG1hdGNoZ3JvdXA9dmltU2NyaXB0RGVsaW0gc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKiQrIGVuZD0rXC4kKwljb250YWlucz1AdmltVGNsU2NyaXB0CiAgZWxzZQotICBzeW4gcmVnaW9uIHZpbUVtYmVkRXJyb3Igc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKlx6KC4qXCkkKyBlbmQ9K15cejEkKwotICBzeW4gcmVnaW9uIHZpbUVtYmVkRXJyb3Igc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKiQrIGVuZD0rXC4kKworICBzeW4gcmVnaW9uIHZpbVRjbFJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PSt0Y1tsXVw9XHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsJY29udGFpbnM9QHZpbVRjbFNjcmlwdAorICBzeW4gcmVnaW9uIHZpbVRjbFJlZ2lvbiBtYXRjaGdyb3VwPXZpbVNjcmlwdERlbGltIHN0YXJ0PSt0Y1tsXVw9XHMqPDxccyokKyBlbmQ9K1wuJCsJCWNvbnRhaW5zPUB2aW1UY2xTY3JpcHQKICBlbmRpZgotIHVubGV0IHM6dGNscGF0aAorIHN5biBjbHVzdGVyIHZpbUZ1bmNCb2R5TGlzdAlhZGQ9dmltVGNsU2NyaXB0CiBlbHNlCiAgc3luIHJlZ2lvbiB2aW1FbWJlZEVycm9yIHN0YXJ0PSt0Y1tsXVw9XHMqPDxccypceiguKlwpJCsgZW5kPSteXHoxJCsKICBzeW4gcmVnaW9uIHZpbUVtYmVkRXJyb3Igc3RhcnQ9K3RjW2xdXD1ccyo8PFxzKiQrIGVuZD0rXC4kKwogZW5kaWYKLXVubGV0IHM6dHJ5dGNsCit1bmxldCBzOnRjbHBhdGgKIAogIiBbLS0gbXpzY2hlbWUgLS1dIHt7ezMKIGxldCBzOm16c2NoZW1lcGF0aD0gZm5hbWVlc2NhcGUoZXhwYW5kKCI8c2ZpbGU+OnA6aCIpLiIvc2NoZW1lLnZpbSIpCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC95YW1sLnZpbSBiL3J1bnRpbWUvc3ludGF4L3lhbWwudmltCmluZGV4IDFlNTRhZmYuLjA3M2RiZjcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3lhbWwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3lhbWwudmltCkBAIC0xMDgsOSArMTA4LDEwIEBACiBzeW4gbWF0Y2ggeWFtbEZsb3dNYXBwaW5nTWVyZ2UgLzw8XHplXHMqOi8gY29udGFpbmVkIG5leHRncm91cD15YW1sS2V5VmFsdWVEZWxpbWl0ZXIKIAogc3luIG1hdGNoIHlhbWxCbG9ja0NvbGxlY3Rpb25JdGVtU3RhcnQgJ15ccypcenMtXCUoXHNcKy1cKSpccycgbmV4dGdyb3VwPXlhbWxCbG9ja01hcHBpbmdLZXkseWFtbEJsb2NrTWFwcGluZ01lcmdlCi1leGVjdXRlICdzeW4gbWF0Y2ggeWFtbEJsb2NrTWFwcGluZ0tleSAvXlxzKlx6cycuczpuc19wbGFpbl9vdXQuJ1x6ZVxzKjpcJShcc1x8JFwpLyAnLgorIiBVc2UgdGhlIG9sZCByZWdleHAgZW5naW5lLCB0aGUgTkZBIGVuZ2luZSBkb2Vzbid0IGxpa2UgYWxsIHRoZSBcQCBpdGVtcy4KK2V4ZWN1dGUgJ3N5biBtYXRjaCB5YW1sQmxvY2tNYXBwaW5nS2V5IC9cJSM9MV5ccypcenMnLnM6bnNfcGxhaW5fb3V0LidcemVccyo6XCUoXHNcfCRcKS8gJy4KICAgICAgICAgICAgIFwnbmV4dGdyb3VwPXlhbWxLZXlWYWx1ZURlbGltaXRlcicKLWV4ZWN1dGUgJ3N5biBtYXRjaCB5YW1sQmxvY2tNYXBwaW5nS2V5IC9ccypcenMnLnM6bnNfcGxhaW5fb3V0LidcemVccyo6XCUoXHNcfCRcKS8gY29udGFpbmVkICcuCitleGVjdXRlICdzeW4gbWF0Y2ggeWFtbEJsb2NrTWFwcGluZ0tleSAvXCUjPTFccypcenMnLnM6bnNfcGxhaW5fb3V0LidcemVccyo6XCUoXHNcfCRcKS8gY29udGFpbmVkICcuCiAgICAgICAgICAgICBcJ25leHRncm91cD15YW1sS2V5VmFsdWVEZWxpbWl0ZXInCiBzeW4gbWF0Y2ggeWFtbEJsb2NrTWFwcGluZ01lcmdlIC9eXHMqXHpzPDxcemU6XCUoXHNcfCRcKS8gbmV4dGdyb3VwPXlhbWxLZXlWYWx1ZURlbGltaXRlcgogc3luIG1hdGNoIHlhbWxCbG9ja01hcHBpbmdNZXJnZSAvPDxcemVccyo6XCUoXHNcfCRcKS8gbmV4dGdyb3VwPXlhbWxLZXlWYWx1ZURlbGltaXRlciBjb250YWluZWQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZXMgYi9ydW50aW1lL3R1dG9yL3R1dG9yLmVzCmluZGV4IGJmYjQyZTQuLjdiZDBjNTQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvdHV0b3IvdHV0b3IuZXMKKysrIGIvcnVudGltZS90dXRvci90dXRvci5lcwpAQCAtMTIxLDcgKzEyMSw3IEBACiAJIGggKGl6cXVpZXJkYSkJICAgaiAoYWJham8pCSAgayAoYXJyaWJhKQkgIGwgKGRlcmVjaGEpCiAKICAgMi4gUGFyYSBhY2NlZGVyIGEgVmltIChkZXNkZSBlbCBz7W1ib2xvIGRlbCBzaXN0ZW1hICUpIGVzY3JpYmE6Ci0gICAgIHZpbiBGSUxFTkFNRSA8SU5UUk8+CisgICAgIHZpbSBGSUxFTkFNRSA8SU5UUk8+CiAKICAgMy4gUGFyYSBzYWxpciBkZSBWaW0gZXNjcmliYTogPEVTQz4gOnEhIDxJTlRSTz4gcGFyYSBlbGltaW5hciB0b2RvcwogICAgICBsb3MgY2FtYmlvcy4KZGlmZiAtLWdpdCBhL3NyYy9wby9ydS5jcDEyNTEucG8gYi9zcmMvcG8vcnUuY3AxMjUxLnBvCmluZGV4IDcyNDc4ZDguLmUzNWViZTAgMTAwNjQ0Ci0tLSBhL3NyYy9wby9ydS5jcDEyNTEucG8KKysrIGIvc3JjL3BvL3J1LmNwMTI1MS5wbwpAQCAtOSw4ICs5LDggQEAKIG1zZ3N0ciAiIgogIlByb2plY3QtSWQtVmVyc2lvbjogdmltXzcuNF9ydVxuIgogIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0wNy0wOCAwMDo0NyswNDAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0wNy0wOCAwMDo0NyswNDAwXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTMtMDgtMzEgMTY6NDIrMDQwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTMtMDgtMzEgMjE6MTErMDQwMFxuIgogIkxhc3QtVHJhbnNsYXRvcjogU2VyZ2V5IEFseW9zaGluIDxhbHlvc2hpbi5zQGdtYWlsLmNvbT5cbiIKICJMYW5ndWFnZS1UZWFtOiBcbiIKICJMYW5ndWFnZTogUnVzc2lhblxuIgpAQCAtNTY4LDggKzU2OCw5IEBACiBtc2dpZCAiRTgwODogTnVtYmVyIG9yIEZsb2F0IHJlcXVpcmVkIgogbXNnc3RyICJFODA4OiDS8OXh8+Xy8f8g9uXr7uUg9+jx6+4g6OvoIPEg7+vg4uD++eXpIPLu9+ru6SIKIAorIy4gyPHv7uv85/Pl8vH/IOTr/yDv7uvz9+Xt6P8gIuft4Pfl7ejlIO/g8ODs5fLw4CBwKCkiIOIgRTc0MSDoIEU3NDIKIG1zZ2lkICJhZGQoKSBhcmd1bWVudCIKLW1zZ3N0ciAi7+Dw4Ozl8vAgYWRkKCkiCittc2dzdHIgIu/g8ODs5fLw4CBhZGQoKSIKIAogbXNnaWQgIkU2OTk6IFRvbyBtYW55IGFyZ3VtZW50cyIKIG1zZ3N0ciAiRTY5OTog0evo+Oru7CDs7e7j7iDv4PDg7OXy8O7iIgpAQCAtNTg5LDE0ICs1OTAsMTcgQEAKIG1zZ2lkICJFNzM3OiBLZXkgYWxyZWFkeSBleGlzdHM6ICVzIgogbXNnc3RyICJFNzM3OiDK6/73IPPm5SDx8/nl8fLi8+XyOiAlcyIKIAorIy4gyPHv7uv85/Pl8vH/IOTr/yDv7uvz9+Xt6P8gIuft4Pfl7ejlIO/g8ODs5fLw4CBwKCkiIOIgRTc0MSDoIEU3NDIKIG1zZ2lkICJleHRlbmQoKSBhcmd1bWVudCIKLW1zZ3N0ciAi7+Dw4Ozl8vAgZXh0ZW5kKCkiCittc2dzdHIgIu/g8ODs5fLw4CBleHRlbmQoKSIKIAorIy4gyPHv7uv85/Pl8vH/IOTr/yDv7uvz9+Xt6P8gIuft4Pfl7ejlIO/g8ODs5fLw4CBwKCkiIOIgRTc0MSDoIEU3NDIKIG1zZ2lkICJtYXAoKSBhcmd1bWVudCIKLW1zZ3N0ciAi7+Dw4Ozl8vAgbWFwKCkiCittc2dzdHIgIu/g8ODs5fLw4CBtYXAoKSIKIAorIy4gyPHv7uv85/Pl8vH/IOTr/yDv7uvz9+Xt6P8gIuft4Pfl7ejlIO/g8ODs5fLw4CBwKCkiIOIgRTc0MSDoIEU3NDIKIG1zZ2lkICJmaWx0ZXIoKSBhcmd1bWVudCIKLW1zZ3N0ciAi7+Dw4Ozl8vAgZmlsdGVyKCkiCittc2dzdHIgIu/g8ODs5fLw4CBmaWx0ZXIoKSIKIAogIywgYy1mb3JtYXQKIG1zZ2lkICIrLSVzJTNsZCBsaW5lczogIgpAQCAtNjE2LDggKzYyMCw5IEBACiBtc2dpZCAiY2FsbGVkIGlucHV0cmVzdG9yZSgpIG1vcmUgb2Z0ZW4gdGhhbiBpbnB1dHNhdmUoKSIKIG1zZ3N0ciAi1PPt6vbo/yBpbnB1dHJlc3RvcmUoKSDi++f74uDl8vH/IPfg+eUsIPfl7CD08+3q9uj/IGlucHV0c2F2ZSgpIgogCisjLiDI8e/u6/zn8+Xy8f8g5Ov/IO/u6/P35e3o/yAi5+3g9+Xt6OUg7+Dw4Ozl8vDgIHAoKSIg4iBFNzQxIOggRTc0MgogbXNnaWQgImluc2VydCgpIGFyZ3VtZW50IgotbXNnc3RyICLv4PDg7OXy8CBpbnNlcnQoKSIKK21zZ3N0ciAi7+Dw4Ozl8vDgIGluc2VydCgpIgogCiBtc2dpZCAiRTc4NjogUmFuZ2Ugbm90IGFsbG93ZWQiCiBtc2dzdHIgIkU3ODY6IMTo4O/g5+7tIO3lIOTu7/Px6uDl8vH/IgpAQCAtNjQ0LDIwICs2NDksMjMgQEAKIG1zZ2lkICJFMjc3OiBVbmFibGUgdG8gcmVhZCBhIHNlcnZlciByZXBseSIKIG1zZ3N0ciAiRTI3Nzog0eXw4uXwIO3lIO7y4uX34OXyIgogCisjLiDI8e/u6/zn8+Xy8f8g5Ov/IO/u6/P35e3o/yAi5+3g9+Xt6OUg7+Dw4Ozl8vDgIHAoKSIg4iBFNzQxIOggRTc0MgogbXNnaWQgInJlbW92ZSgpIGFyZ3VtZW50IgotbXNnc3RyICLv4PDg7OXy8CByZW1vdmUoKSIKK21zZ3N0ciAi7+Dw4Ozl8vDgIHJlbW92ZSgpIgogCiBtc2dpZCAiRTY1NTogVG9vIG1hbnkgc3ltYm9saWMgbGlua3MgKGN5Y2xlPykiCiBtc2dzdHIgIkU2NTU6INHr6Pjq7uwg7O3u4+4g8ejs4u7r6Pfl8ero9SDx8fvr7uogKPbo6us/KSIKIAorIy4gyPHv7uv85/Pl8vH/IOTr/yDv7uvz9+Xt6P8gIuft4Pfl7ejlIO/g8ODs5fLw4CBwKCkiIOIgRTc0MSDoIEU3NDIKIG1zZ2lkICJyZXZlcnNlKCkgYXJndW1lbnQiCi1tc2dzdHIgIu/g8ODs5fLwIHJldmVyc2UoKSIKK21zZ3N0ciAi7+Dw4Ozl8vDgIHJldmVyc2UoKSIKIAogbXNnaWQgIkUyNTg6IFVuYWJsZSB0byBzZW5kIHRvIGNsaWVudCIKIG1zZ3N0ciAiRTI1ODogzeUg7O7j8yDu8uLl8ujy/CDq6+jl7fLzIgogCisjLiDI8e/u6/zn8+Xy8f8g5Ov/IO/u6/P35e3o/yAi5+3g9+Xt6OUg7+Dw4Ozl8vDgIHAoKSIg4iBFNzQxIOggRTc0MgogbXNnaWQgInNvcnQoKSBhcmd1bWVudCIKLW1zZ3N0ciAi7+Dw4Ozl8vAgc29ydCgpIgorbXNnc3RyICLv4PDg7OXy8OAgc29ydCgpIgogCiBtc2dpZCAiRTcwMjogU29ydCBjb21wYXJlIGZ1bmN0aW9uIGZhaWxlZCIKIG1zZ3N0ciAiRTcwMjogzeXz5OD37e7lIOfg4uXw+OXt6OUg9PPt6vbo6CDx8ODi7eXt6P8g7/DoIPHu8PLo8O7i6uUiCkBAIC03MDcsMTMgKzcxNSwxNSBAQAogbXNnaWQgIkU3MDU6IFZhcmlhYmxlIG5hbWUgY29uZmxpY3RzIHdpdGggZXhpc3RpbmcgZnVuY3Rpb246ICVzIgogbXNnc3RyICJFNzA1OiDI7P8g7+Xw5ezl7e3u6SDq7u306+jq8vPl8iDxIPHz+eXx8uLz/vnl6SD08+3q9ujl6TogJXMiCiAKKyMuIMjx7+7r/Ofz5fLx/yDxICVzID0gIu/g8ODs5fLl8OAgcCIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTc0MTogVmFsdWUgaXMgbG9ja2VkOiAlcyIKLW1zZ3N0ciAiRTc0MTogx+3g9+Xt6OUg5+Dh6+7q6PDu4uDt7jogJXMiCittc2dzdHIgIkU3NDE6IMft4Pfl7ejlICVzIOfg4evu6ujw7uLg7e4iCiAKIG1zZ2lkICJVbmtub3duIgogbXNnc3RyICLN5ejn4uXx8u3uIgogCisjLiDI8e/u6/zn8+Xy8f8g8SAlcyA9ICLv4PDg7OXy5fDgIHAoKSIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTc0MjogQ2Fubm90IGNoYW5nZSB2YWx1ZSBvZiAlcyIKIG1zZ3N0ciAiRTc0MjogzeXi7ufs7ubt7iDo5+zl7ejy/CDn7eD35e3o5SAlcyIKZGlmZiAtLWdpdCBhL3NyYy9wby9ydS5wbyBiL3NyYy9wby9ydS5wbwppbmRleCAzZjk5YTQ3Li4xYTQzMzgxIDEwMDY0NAotLS0gYS9zcmMvcG8vcnUucG8KKysrIGIvc3JjL3BvL3J1LnBvCkBAIC05LDggKzksOCBAQAogbXNnc3RyICIiCiAiUHJvamVjdC1JZC1WZXJzaW9uOiB2aW1fNy40X3J1XG4iCiAiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IFxuIgotIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDEzLTA3LTA4IDAwOjQ3KzA0MDBcbiIKLSJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTA3LTA4IDAwOjQ3KzA0MDBcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxMy0wOC0zMSAxNjo0MiswNDAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMy0wOC0zMSAyMToxMSswNDAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBTZXJnZXkgQWx5b3NoaW4gPGFseW9zaGluLnNAZ21haWwuY29tPlxuIgogIkxhbmd1YWdlLVRlYW06IFxuIgogIkxhbmd1YWdlOiBSdXNzaWFuXG4iCkBAIC01NjgsOCArNTY4LDkgQEAKIG1zZ2lkICJFODA4OiBOdW1iZXIgb3IgRmxvYXQgcmVxdWlyZWQiCiBtc2dzdHIgIkU4MDg6INCi0YDQtdCx0YPQtdGC0YHRjyDRhtC10LvQvtC1INGH0LjRgdC70L4g0LjQu9C4INGBINC/0LvQsNCy0LDRjtGJ0LXQuSDRgtC+0YfQutC+0LkiCiAKKyMuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPICLQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCBwKCkiINCyIEU3NDEg0LggRTc0MgogbXNnaWQgImFkZCgpIGFyZ3VtZW50IgotbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIGFkZCgpIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LAgYWRkKCkiCiAKIG1zZ2lkICJFNjk5OiBUb28gbWFueSBhcmd1bWVudHMiCiBtc2dzdHIgIkU2OTk6INCh0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0L/QsNGA0LDQvNC10YLRgNC+0LIiCkBAIC01ODksMTQgKzU5MCwxNyBAQAogbXNnaWQgIkU3Mzc6IEtleSBhbHJlYWR5IGV4aXN0czogJXMiCiBtc2dzdHIgIkU3Mzc6INCa0LvRjtGHINGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgjogJXMiCiAKKyMuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPICLQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCBwKCkiINCyIEU3NDEg0LggRTc0MgogbXNnaWQgImV4dGVuZCgpIGFyZ3VtZW50IgotbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIGV4dGVuZCgpIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LAgZXh0ZW5kKCkiCiAKKyMuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPICLQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCBwKCkiINCyIEU3NDEg0LggRTc0MgogbXNnaWQgIm1hcCgpIGFyZ3VtZW50IgotbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIG1hcCgpIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LAgbWFwKCkiCiAKKyMuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPICLQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCBwKCkiINCyIEU3NDEg0LggRTc0MgogbXNnaWQgImZpbHRlcigpIGFyZ3VtZW50IgotbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIGZpbHRlcigpIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LAgZmlsdGVyKCkiCiAKICMsIGMtZm9ybWF0CiBtc2dpZCAiKy0lcyUzbGQgbGluZXM6ICIKQEAgLTYxNiw4ICs2MjAsOSBAQAogbXNnaWQgImNhbGxlZCBpbnB1dHJlc3RvcmUoKSBtb3JlIG9mdGVuIHRoYW4gaW5wdXRzYXZlKCkiCiBtc2dzdHIgItCk0YPQvdC60YbQuNGPIGlucHV0cmVzdG9yZSgpINCy0YvQt9GL0LLQsNC10YLRgdGPINGH0LDRidC1LCDRh9C10Lwg0YTRg9C90LrRhtC40Y8gaW5wdXRzYXZlKCkiCiAKKyMuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPICLQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCBwKCkiINCyIEU3NDEg0LggRTc0MgogbXNnaWQgImluc2VydCgpIGFyZ3VtZW50IgotbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGAIGluc2VydCgpIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LAgaW5zZXJ0KCkiCiAKIG1zZ2lkICJFNzg2OiBSYW5nZSBub3QgYWxsb3dlZCIKIG1zZ3N0ciAiRTc4Njog0JTQuNCw0L/QsNC30L7QvSDQvdC1INC00L7Qv9GD0YHQutCw0LXRgtGB0Y8iCkBAIC02NDQsMjAgKzY0OSwyMyBAQAogbXNnaWQgIkUyNzc6IFVuYWJsZSB0byByZWFkIGEgc2VydmVyIHJlcGx5IgogbXNnc3RyICJFMjc3OiDQodC10YDQstC10YAg0L3QtSDQvtGC0LLQtdGH0LDQtdGCIgogCisjLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyAi0LfQvdCw0YfQtdC90LjQtSDQv9Cw0YDQsNC80LXRgtGA0LAgcCgpIiDQsiBFNzQxINC4IEU3NDIKIG1zZ2lkICJyZW1vdmUoKSBhcmd1bWVudCIKLW1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCByZW1vdmUoKSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNCwIHJlbW92ZSgpIgogCiBtc2dpZCAiRTY1NTogVG9vIG1hbnkgc3ltYm9saWMgbGlua3MgKGN5Y2xlPykiCiBtc2dzdHIgIkU2NTU6INCh0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0YHQuNC80LLQvtC70LjRh9C10YHQutC40YUg0YHRgdGL0LvQvtC6ICjRhtC40LrQuz8pIgogCisjLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyAi0LfQvdCw0YfQtdC90LjQtSDQv9Cw0YDQsNC80LXRgtGA0LAgcCgpIiDQsiBFNzQxINC4IEU3NDIKIG1zZ2lkICJyZXZlcnNlKCkgYXJndW1lbnQiCi1tc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgcmV2ZXJzZSgpIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LAgcmV2ZXJzZSgpIgogCiBtc2dpZCAiRTI1ODogVW5hYmxlIHRvIHNlbmQgdG8gY2xpZW50IgogbXNnc3RyICJFMjU4OiDQndC1INC80L7Qs9GDINC+0YLQstC10YLQuNGC0Ywg0LrQu9C40LXQvdGC0YMiCiAKKyMuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPICLQt9C90LDRh9C10L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCBwKCkiINCyIEU3NDEg0LggRTc0MgogbXNnaWQgInNvcnQoKSBhcmd1bWVudCIKLW1zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCBzb3J0KCkiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQsCBzb3J0KCkiCiAKIG1zZ2lkICJFNzAyOiBTb3J0IGNvbXBhcmUgZnVuY3Rpb24gZmFpbGVkIgogbXNnc3RyICJFNzAyOiDQndC10YPQtNCw0YfQvdC+0LUg0LfQsNCy0LXRgNGI0LXQvdC40LUg0YTRg9C90LrRhtC40Lgg0YHRgNCw0LLQvdC10L3QuNGPINC/0YDQuCDRgdC+0YDRgtC40YDQvtCy0LrQtSIKQEAgLTcwNywxMyArNzE1LDE1IEBACiBtc2dpZCAiRTcwNTogVmFyaWFibGUgbmFtZSBjb25mbGljdHMgd2l0aCBleGlzdGluZyBmdW5jdGlvbjogJXMiCiBtc2dzdHIgIkU3MDU6INCY0LzRjyDQv9C10YDQtdC80LXQvdC90L7QuSDQutC+0L3RhNC70LjQutGC0YPQtdGCINGBINGB0YPRidC10YHRgtCy0YPRjtGJ0LXQuSDRhNGD0L3QutGG0LjQtdC5OiAlcyIKIAorIy4g0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGBICVzID0gItC/0LDRgNCw0LzQtdGC0LXRgNCwIHAiCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3NDE6IFZhbHVlIGlzIGxvY2tlZDogJXMiCi1tc2dzdHIgIkU3NDE6INCX0L3QsNGH0LXQvdC40LUg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNC90L46ICVzIgorbXNnc3RyICJFNzQxOiDQl9C90LDRh9C10L3QuNC1ICVzINC30LDQsdC70L7QutC40YDQvtCy0LDQvdC+IgogCiBtc2dpZCAiVW5rbm93biIKIG1zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90L4iCiAKKyMuINCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDRgSAlcyA9ICLQv9Cw0YDQsNC80LXRgtC10YDQsCBwKCkiCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU3NDI6IENhbm5vdCBjaGFuZ2UgdmFsdWUgb2YgJXMiCiBtc2dzdHIgIkU3NDI6INCd0LXQstC+0LfQvNC+0LbQvdC+INC40LfQvNC10L3QuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSAlcyIK