ZGlmZiAtLWdpdCBhL3J1bnRpbWUvY29tcGlsZXIvYmRmLnZpbSBiL3J1bnRpbWUvY29tcGlsZXIvYmRmLnZpbQppbmRleCBhZTJkYTc1Li4xMzNlOTgwIDEwMDY0NAotLS0gYS9ydW50aW1lL2NvbXBpbGVyL2JkZi52aW0KKysrIGIvcnVudGltZS9jb21waWxlci9iZGYudmltCkBAIC0xLDE2ICsxLDE0IEBACiAiIFZpbSBjb21waWxlciBmaWxlCi0iIENvbXBpbGVyOgkgICAgQkRGIHRvIFBDRiBDb252ZXJzaW9uCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2NvbXBpbGVyL3BjcC9iZGYvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICAyZTJmM2E1NS0xOTliLTQ2OGMtYWEyZS1kNmIxYTdiODc4MDYKKyIgQ29tcGlsZXI6ICAgICAgICAgQkRGIHRvIFBDRiBDb252ZXJzaW9uCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQogCiBpZiBleGlzdHMoImN1cnJlbnRfY29tcGlsZXIiKQogICBmaW5pc2gKIGVuZGlmCiBsZXQgY3VycmVudF9jb21waWxlciA9ICJiZGYiCiAKLWlmIGV4aXN0cygiOkNvbXBpbGVyU2V0IikgIT0gMiAgICAgICAgICAiIG9sZGVyIFZpbSBhbHdheXMgdXNlZCA6c2V0bG9jYWwKK2lmIGV4aXN0cygiOkNvbXBpbGVyU2V0IikgIT0gMgogICBjb21tYW5kIC1uYXJncz0qIENvbXBpbGVyU2V0IHNldGxvY2FsIDxhcmdzPgogZW5kaWYKIApAQCAtMjYsNSArMjQsMyBAQAogCiBsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKIHVubGV0IHM6Y3BvX3NhdmUKLQotIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9jb21waWxlci9nY2MudmltIGIvcnVudGltZS9jb21waWxlci9nY2MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNjRmMzIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2NvbXBpbGVyL2djYy52aW0KQEAgLTAsMCArMSwzMCBAQAorIiBWaW0gY29tcGlsZXIgZmlsZQorIiBDb21waWxlcjogICAgICAgICBHTlUgQyBDb21waWxlcgorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJjdXJyZW50X2NvbXBpbGVyIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGN1cnJlbnRfY29tcGlsZXIgPSAiZ2NjIgorCitpZiBleGlzdHMoIjpDb21waWxlclNldCIpICE9IDIKKyAgY29tbWFuZCAtbmFyZ3M9KiBDb21waWxlclNldCBzZXRsb2NhbCA8YXJncz4KK2VuZGlmCisKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwby09QworCitDb21waWxlclNldCBlcnJvcmZvcm1hdD0KKyAgICAgIFwlKlteXCJdXCIlZlwiJSpcXEQlbDpcICVtLAorICAgICAgXFwiJWZcIiUqXFxEJWw6XCAlbSwKKyAgICAgIFwlLUclZjolbDpcICV0cnJvcjpcIChFYWNoXCB1bmRlY2xhcmVkXCBpZGVudGlmaWVyXCBpc1wgcmVwb3J0ZWRcIG9ubHlcIG9uY2UsCisgICAgICBcJS1HJWY6JWw6XCAldHJyb3I6XCBmb3JcIGVhY2hcIGZ1bmN0aW9uXCBpdFwgYXBwZWFyc1wgaW4uKSwKKyAgICAgIFwlZjolbDpcICVtLAorICAgICAgXFwiJWZcIlxcLFwgbGluZVwgJWwlKlxcRCVjJSpbXlwgXVwgJW0sCisgICAgICBcJUQlKlxcYVslKlxcZF06XCBFbnRlcmluZ1wgZGlyZWN0b3J5XCBgJWYnLAorICAgICAgXCVYJSpcXGFbJSpcXGRdOlwgTGVhdmluZ1wgZGlyZWN0b3J5XCBgJWYnLAorICAgICAgXCVETWFraW5nXCAlKlxcYVwgaW5cICVmCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9jb21waWxlci9yc3QudmltIGIvcnVudGltZS9jb21waWxlci9yc3QudmltCmluZGV4IGM5ZTViZTEuLmY5ODNmZTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvY29tcGlsZXIvcnN0LnZpbQorKysgYi9ydW50aW1lL2NvbXBpbGVyL3JzdC52aW0KQEAgLTEsMTYgKzEsMTQgQEAKICIgVmltIGNvbXBpbGVyIGZpbGUKLSIgQ29tcGlsZXI6CSAgICByZVN0cnVjdHVyZWRUZXh0IERvY3VtZW50YXRpb24gRm9ybWF0Ci0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9jb21waWxlci9wY3AvcnN0LwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCi0iIGFyY2gtdGFnOgkgICAgYWM2NGE5NWEtNWQ0NS00OTNkLWE5ZjktZjk2ZmM4NTY4NjU3CisiIENvbXBpbGVyOiAgICAgICAgIHJlU3RydWN0dXJlZFRleHQgRG9jdW1lbnRhdGlvbiBGb3JtYXQKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKIGlmIGV4aXN0cygiY3VycmVudF9jb21waWxlciIpCiAgIGZpbmlzaAogZW5kaWYKIGxldCBjdXJyZW50X2NvbXBpbGVyID0gInJzdCIKIAotaWYgZXhpc3RzKCI6Q29tcGlsZXJTZXQiKSAhPSAyICAgICAgICAgICIgb2xkZXIgVmltIGFsd2F5cyB1c2VkIDpzZXRsb2NhbAoraWYgZXhpc3RzKCI6Q29tcGlsZXJTZXQiKSAhPSAyCiAgIGNvbW1hbmQgLW5hcmdzPSogQ29tcGlsZXJTZXQgc2V0bG9jYWwgPGFyZ3M+CiBlbmRpZgogCkBAIC0yOSw1ICsyNywzIEBACiAKIGxldCAmY3BvID0gczpjcG9fc2F2ZQogdW5sZXQgczpjcG9fc2F2ZQotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9ldmFsLnR4dCBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CmluZGV4IGI0ZjcxZDIuLjllZTEzZTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2V2YWwudHh0CisrKyBiL3J1bnRpbWUvZG9jL2V2YWwudHh0CkBAIC0xLDQgKzEsNCBAQAotKmV2YWwudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEp1biAyOAorKmV2YWwudHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEp1biAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzc4MSw4ICszNzgxLDggQEAKIHNvdW5kZm9sZCh7d29yZH0pCiAJCVJldHVybiB0aGUgc291bmQtZm9sZGVkIGVxdWl2YWxlbnQgb2Yge3dvcmR9LiAgVXNlcyB0aGUgZmlyc3QKIAkJbGFuZ3VhZ2UgaW4gJ3NwZWxsYW5nJyBmb3IgdGhlIGN1cnJlbnQgd2luZG93IHRoYXQgc3VwcG9ydHMKLQkJc291bmRmb2xkaW5nLiAgV2hlbiBubyBzb3VuZCBmb2xkaW5nIGlzIHBvc3NpYmxlIHRoZSB7d29yZH0KLQkJaXMgcmV0dXJuZWQgdW5tb2RpZmllZC4KKwkJc291bmRmb2xkaW5nLiAgJ3NwZWxsJyBtdXN0IGJlIHNldC4gIFdoZW4gbm8gc291bmQgZm9sZGluZyBpcworCQlwb3NzaWJsZSB0aGUge3dvcmR9IGlzIHJldHVybmVkIHVubW9kaWZpZWQuCiAJCVRoaXMgY2FuIGJlIHVzZWQgZm9yIG1ha2luZyBzcGVsbGluZyBzdWdnZXN0aW9ucy4gIE5vdGUgdGhhdAogCQl0aGUgbWV0aG9kIGNhbiBiZSBxdWl0ZSBzbG93LgogCkBAIC0zODA4LDggKzM4MDgsOCBAQAogCQlmaXJzdCBlbnRyeSwgdGh1cyB0aGlzIGNhbiBiZSB1c2VkIHRvIGNoZWNrIHNwZWxsaW5nLgogCiAJCVRoZSBzcGVsbGluZyBpbmZvcm1hdGlvbiBmb3IgdGhlIGN1cnJlbnQgd2luZG93IGlzIHVzZWQuICBUaGUKLQkJJ3NwZWxsJyBvcHRpb24gbXVzdCBiZSBzZXQgYW5kIHRoZSB2YWx1ZSBvZiAnc3BlbGxsYW5nJyBpcwotCQl1c2VkLgorCQknc3BlbGwnIG9wdGlvbiBtdXN0IGJlIHNldCBhbmQgdGhlIHZhbHVlcyBvZiAnc3BlbGxsYW5nJyBhbmQKKwkJJ3NwZWxsc3VnZ2VzdCcgYXJlIHVzZWQuCiAKIAogc3BsaXQoe2V4cHJ9IFssIHtwYXR0ZXJufSBbLCB7a2VlcGVtcHR5fV1dKQkJCSpzcGxpdCgpKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3BlbGwudHh0IGIvcnVudGltZS9kb2Mvc3BlbGwudHh0CmluZGV4IDZhY2NjMTEuLjYwNmEwMzAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NwZWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy9zcGVsbC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3BlbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKdW4gMjgKKypzcGVsbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEp1biAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC03MDYsNyArNzA2LDggQEAKIAlTQUwgQyAgICAgICAgICAgICAgICAgICAgSyB+CiAJU0FMIEsgICAgICAgICAgICAgICAgICAgIEsgfgogCi1UT0RPOiBleHBsYWluIGhvdyBpdCB3b3Jrcy4KK0FuIGV4cGxhbnRpb24gaG93IGl0IHdvcmtzIGNhbiBiZSBmb3VuZCBpbiB0aGUgQXNwZWxsIG1hbnVhbDoKK2h0dHA6Ly9hc3BlbGwubmV0L21hbi1odG1sL1Bob25ldGljLUNvZGUuaHRtbC4KIAogVGhlcmUgYXJlIGEgZmV3IHNwZWNpYWwgaXRlbXM6CiAKQEAgLTcxNiw0ICs3MTcsMzIgQEAKIAogIjEiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJ0cnVlIi4gIEFueSBvdGhlciB2YWx1ZSBtZWFucyAiZmFsc2UiLgogCisKK1NJTVBMRSBTT1VOREZPTERJTkcJCSpzcGVsbC1hZmZpeC1TT0ZPRlJPTSogKnNwZWxsLWFmZml4LVNPRk9UTyoKKworVGhlIFNBTCBtZWNoYW5pc20gaXMgY29tcGxleCBhbmQgc2xvdy4gIEEgc2ltcGxlciBtZWNoYW5pc20gaXMgbWFwcGluZyBhbGwKK2NoYXJhY3RlcnMgdG8gYW5vdGhlciBjaGFyYWN0ZXIsIG1hcHBpbmcgc2ltaWxhciBzb3VuZGluZyBjaGFyYWN0ZXJzIHRvIHRoZQorc2FtZSBjaGFyYWN0ZXIuICBBdCB0aGUgc2FtZSB0aW1lIHRoaXMgZG9lcyBjYXNlIGZvbGRpbmcuICBZb3UgY2FuIG5vdCBoYXZlCitTQUwgaXRlbXMgYXQgdGhlIHNhbWUgdGltZS4KKworVGhlcmUgYXJlIHR3byBpdGVtcyByZXF1aXJlZDogb25lIHRvIHNwZWZpY3kgdGhlIGNoYXJhY3RlcnMgdGhhdCBhcmUgbWFwcGVkCithbmQgb25lIHRoYXQgc3BlY2lmaWVzIHRoZSBjaGFyYWN0ZXJzIHRoZXkgYXJlIG1hcHBlZCB0by4gIFRoZXkgbXVzdCBoYXZlCitleGFjdGx5IHRoZSBzYW1lIG51bWJlciBvZiBjaGFyYWN0ZXJzLiAgRXhhbXBsZToKKworICAgIFNPRk9GUk9NIGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVogfgorICAgIFNPRk9UTyAgIGViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXMgfgorCitJbiB0aGUgZXhhbXBsZSBhbGwgdm93ZWxzIGFyZSBtYXBwZWQgdG8gdGhlIHNhbWUgY2hhcmFjdGVyICdlJy4gIEFub3RoZXIKK21ldGhvZCBpcyB0byBsZWF2ZSBvdXQgYWxsIHZvd2Vscy4gIFNvbWUgY2hhcmFjdGVycyB0aGF0IHNvdW5kIG5lYXJseSB0aGUgc2FtZQorYW5kIGFyZSBvZnRlbiBtaXhlZCB1cCwgc3VjaCBhcyAnbScgYW5kICduJywgYXJlIG1hcHBlZCB0byB0aGUgc2FtZSBjaGFyYWN0ZXIuCitEb24ndCBkbyB0aGlzIHRvbyBtdWNoLCBhbGwgd29yZHMgd2lsbCBzdGFydCBsb29raW5nIGFsaWtlLgorCitDaGFyYWN0ZXJzIHRoYXQgZG8gbm90IGFwcGVhciBpbiBTT0ZPRlJPTSB3aWxsIGJlIGxlZnQgb3V0LCBleGNlcHQgdGhhdCBhbGwKK3doaXRlIHNwYWNlIGlzIHJlcGxhY2VkIGJ5IG9uZSBzcGFjZS4gIFNlcXVlbmNlcyBvZiB0aGUgc2FtZSBjaGFyYWN0ZXIgaW4KK1NPRk9GUk9NIGFyZSByZXBsYWNlZCBieSBvbmUuCisKK1lvdSBjYW4gdXNlIHRoZSB8c291bmRmb2xkKCl8IGZ1bmN0aW9uIHRvIHRyeSBvdXQgdGhlIHJlc3VsdHMuICBPciBzZXQgdGhlCisndmVyYm9zZScgb3B0aW9uIHRvIHNlZSB0aGUgc2NvcmUgaW4gdGhlIG91dHB1dCBvZiB0aGUgfHo/fCBjb21tYW5kLgorCisKICB2aW06dHc9Nzg6c3c9NDp0cz04OmZ0PWhlbHA6bm9ybDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RhZ3MgYi9ydW50aW1lL2RvYy90YWdzCmluZGV4IDhkOWQxNTIuLjY3OTMwYTIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RhZ3MKKysrIGIvcnVudGltZS9kb2MvdGFncwpAQCAtMjQxNSw2ICsyNDE1LDggQEAKIDpzcGVsbGQJc3BlbGwudHh0CS8qOnNwZWxsZCoKIDpzcGVsbGR1bXAJc3BlbGwudHh0CS8qOnNwZWxsZHVtcCoKIDpzcGVsbGdvb2QJc3BlbGwudHh0CS8qOnNwZWxsZ29vZCoKKzpzcGVsbHIJc3BlbGwudHh0CS8qOnNwZWxscioKKzpzcGVsbHJlcGFsbAlzcGVsbC50eHQJLyo6c3BlbGxyZXBhbGwqCiA6c3BlbGx3CXNwZWxsLnR4dAkvKjpzcGVsbHcqCiA6c3BlbGx3cm9uZwlzcGVsbC50eHQJLyo6c3BlbGx3cm9uZyoKIDpzcGxpdAl3aW5kb3dzLnR4dAkvKjpzcGxpdCoKQEAgLTM3MTAsNiArMzcxMiw4IEBACiBFNzUJdmlfZGlmZi50eHQJLypFNzUqCiBFNzUwCXJlcGVhdC50eHQJLypFNzUwKgogRTc1MQlzcGVsbC50eHQJLypFNzUxKgorRTc1MglzcGVsbC50eHQJLypFNzUyKgorRTc1MwlzcGVsbC50eHQJLypFNzUzKgogRTc1NAlzcGVsbC50eHQJLypFNzU0KgogRTc1NglzcGVsbC50eHQJLypFNzU2KgogRTc1OAlzcGVsbC50eHQJLypFNzU4KgpAQCAtNTE0MSw2ICs1MTQ1LDcgQEAKIGhlYnJldy50eHQJaGVicmV3LnR4dAkvKmhlYnJldy50eHQqCiBoZWxwCXZhcmlvdXMudHh0CS8qaGVscCoKIGhlbHAtY29udGV4dAloZWxwLnR4dAkvKmhlbHAtY29udGV4dCoKK2hlbHAtdGFncwl0YWdzCTEKIGhlbHAtdHJhbnNsYXRlZAl2YXJpb3VzLnR4dAkvKmhlbHAtdHJhbnNsYXRlZCoKIGhlbHAteHRlcm0td2luZG93CXZhcmlvdXMudHh0CS8qaGVscC14dGVybS13aW5kb3cqCiBoZWxwLnR4dAloZWxwLnR4dAkvKmhlbHAudHh0KgpAQCAtNjI1Myw2ICs2MjU4LDcgQEAKIHNuaWZmLWludHJvCWlmX3NuaWZmLnR4dAkvKnNuaWZmLWludHJvKgogc29ydCgpCWV2YWwudHh0CS8qc29ydCgpKgogc29ydGluZwljaGFuZ2UudHh0CS8qc29ydGluZyoKK3NvdW5kZm9sZCgpCWV2YWwudHh0CS8qc291bmRmb2xkKCkqCiBzcGFjZQlpbnRyby50eHQJLypzcGFjZSoKIHNwZWMtY3VzdG9taXppbmcJcGlfc3BlYy50eHQJLypzcGVjLWN1c3RvbWl6aW5nKgogc3BlYy1ob3ctdG8tdXNlLWl0CXBpX3NwZWMudHh0CS8qc3BlYy1ob3ctdG8tdXNlLWl0KgpAQCAtNjI3NSw2ICs2MjgxLDggQEAKIHNwZWxsLWFmZml4LVJFUAlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1SRVAqCiBzcGVsbC1hZmZpeC1TQUwJc3BlbGwudHh0CS8qc3BlbGwtYWZmaXgtU0FMKgogc3BlbGwtYWZmaXgtU0ZYCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LVNGWCoKK3NwZWxsLWFmZml4LVNPRk9GUk9NCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LVNPRk9GUk9NKgorc3BlbGwtYWZmaXgtU09GT1RPCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LVNPRk9UTyoKIHNwZWxsLWFmZml4LVVQUAlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1VUFAqCiBzcGVsbC1hZmZpeC1jaGFycwlzcGVsbC50eHQJLypzcGVsbC1hZmZpeC1jaGFycyoKIHNwZWxsLWFmZml4LW1ieXRlCXNwZWxsLnR4dAkvKnNwZWxsLWFmZml4LW1ieXRlKgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdG9kby50eHQgYi9ydW50aW1lL2RvYy90b2RvLnR4dAppbmRleCA1OTczMzc1Li4xMWIxYzA0IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90b2RvLnR4dAorKysgYi9ydW50aW1lL2RvYy90b2RvLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKdW4gMjgKKyp0b2RvLnR4dCogICAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKdW4gMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzAsOCArMzAsNiBAQAogCQkJCQkJCSprbm93bi1idWdzKgogLS0tLS0tLS0tLS0tLS0tLS0tLS0gS25vd24gYnVncyBhbmQgY3VycmVudCB3b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLXNlbmQgZml4ZXMgZm9yIGNjbWFsbG9jIHBvcnQgdG8gRnJlZUJTRC4KLQogQWRkIGV4dHJhIGxpc3Qgb2YgZmlsZSBsb2NhdGlvbnMuICBDYW4gYmUgdXNlZCB3aXRoOgogICAgIDpsdGFnCSAgICAgIGxpc3Qgb2YgbWF0Y2hpbmcgdGFncywgbGlrZSA6dHNlbGVjdAogCkBAIC05OSwxMyArOTcsOSBAQAogUExBTk5FRCBGT1IgVkVSU0lPTiA3LjA6CiAKIC0gICBBZGQgU1BFTExDSEVDS0VSLCB3aXRoIHN1cHBvcnQgZm9yIG1hbnkgbGFuZ3VhZ2VzLgotICAgIC0gU3BlbGwgY2hlY2tpbmcgY29kZSB0b2RvJ3M6Ci0JLSBDb2RlIGZvciBtYWtpbmcgc3VnZ2VzdGlvbnM6Ci0JICAtIEhlYnJldzogYWxzbyB1c2UgcHJlZml4ZXMgZm9yIHN1Z2dlc3Rpb25zLiAgU2VlIG1lc3NhZ2UgZnJvbQotCSAgICBLYW1pbnNreSAoSnVuZSAyMCkgZm9yIGlkZWFzLgotCSAgLSBTaW1wbGUgYW5kIGZhc3Qgc291bmQtYS1saWtlOiBtYXBwaW5nIGxpc3QgZm9yIGZpcnN0IGNoYXIgYW5kIHJlc3QKLQkJICAgIHZvd2VsIGFzIGZpcnN0IGNoYXI6ICoKLQkJICAgIHJlbW92ZSBvdGhlciB2b3dlbHMKKyAgLSBTcGVsbCBjaGVja2luZyBjb2RlIHRvZG8nczoKKyAgICAtIER1dGNoOiBiYWR3b3JkICJ2b29yamFhcnNjb25mZXJlbnRpZSI7ICJuYWphYXJzY29uZmVyZW50aWUiIGdldHMgemVybworICAgICAgc291bmRmb2xkIHNjb3JlLgogICAgIC0gUHJvb2ZyZWFkIGFuZCBjbGVhbnVwIHNwZWxsIGhlbHAuCiAgICAgLSBVc2UgImVuZ3NwY2hrIiBmcm9tIENoYXJsZXMgQ2FtcGJlbGwgZm9yIGlkZWFzIChjb21tYW5kcywgcmFyZSB3b3JkcykuCiAgICAgLSBNYWtlICJlbi1yYXJlIiBzcGVsbCBmaWxlPyAgQXNrIENoYXJsZXMgQ2FtcGJlbGwuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKaW5kZXggZjlhNjM0Yy4uMDAyMDlhMSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKdW4gMjUKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBKdW4gMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMwNSw2ICszMDUsNyBAQAogCQkJKGlkZWEgYnkgSHVnbyBIYWFzKQogJ3NwZWxsJwkJCXN3aXRjaCBzcGVsbCBjaGVja2luZyBvbi9vZmYKICdzcGVsbGxhbmcnCQlsYW5ndWFnZXMgdG8gY2hlY2sgc3BlbGxpbmcgZm9yCisnc3BlbGxzdWdnZXN0JwkJbWV0aG9kcyBmb3Igc3BlbGwgc3VnZ2VzdGlvbnMKICd2ZXJib3NlZmlsZScJCUxvZyBtZXNzYWdlcyBpbiBhIGZpbGUuCiAKIApAQCAtMzc3LDcgKzM3OCwxMCBAQAogfHJldmVyc2UoKXwJCXJldmVyc2UgdGhlIG9yZGVyIG9mIGEgTGlzdAogfHNldHFmbGlzdCgpfAkJY3JlYXRlIGEgcXVpY2tmaXggbGlzdCAoWWVnYXBwYW4gTGFrc2htYW5hbikKIHxzb3J0KCl8CQlzb3J0IGEgTGlzdAorfHNvdW5kZm9sZCgpfAkJZ2V0IHRoZSBzb3VuZC1hLWxpa2UgZXF1aXZhbGVudCBvZiBhIHdvcmQKIHxzcGxpdCgpfAkJc3BsaXQgYSBTdHJpbmcgaW50byBhIExpc3QKK3xzcGVsbGJhZHdvcmQoKXwJZ2V0IGEgYmFkbHkgc3BlbGxlZCB3b3JkCit8c3BlbGxzdWdnZXN0KCl8CWdldCBzdWdnZXN0aW9ucyBmb3IgY29ycmVjdCBzcGVsbGluZwogfHN0cmluZygpfAkJU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIGEgTGlzdCBvciBEaWN0aW9uYXJ5CiB8c3lzdGVtKCl8CQlGaWx0ZXJzIHtpbnB1dH0gdGhyb3VnaCBhIHNoZWxsIGNvbW1hbmQuCiB8dGFnbGlzdCgpfAkJR2V0IGxpc3Qgb2YgbWF0Y2hpbmcgdGFncy4gKFllZ2FwcGFuIExha3NobWFuYW4pCkBAIC00MzUsNiArNDM5LDggQEAKIAogUGFzY2FsIGluZGVudCBmaWxlLiAoTmVpbCBDYXJ0ZXIpCiAKK01hbnkgZmlsZXR5cGUgcGx1Z2lucyBhbmQgb3RoZXJzIGZyb20gTmlrb2xhaSBXZWlidWxsLgorCiBNb3ZlZCBhbGwgdGhlIGluZGVudCBzZXR0aW5ncyBmcm9tIHRoZSBmaWxldHlwZSBwbHVnaW4gdG8gdGhlIGluZGVudCBmaWxlLgogSW1wbGVtZW50ZWQgYjp1bmRvX2luZGVudCB0byB1bmRvIGluZGVudCBzZXR0aW5ncyB3aGVuIHNldHRpbmcgJ2ZpbGV0eXBlJyB0byBhCiBkaWZmZXJlbnQgdmFsdWUuCkBAIC0xMTQ2LDQgKzExNTIsMTEgQEAKIAogQ1RSTC1XIEYgYW5kICJnZiIgZGlkbid0IHVzZSB0aGUgc2FtZSBtZXRob2QgdG8gZ2V0IHRoZSBmaWxlIG5hbWUuCiAKK1doZW4gcmVwb3J0aW5nIGEgY29udmVyc2lvbiBlcnJvciB0aGUgbGluZSBudW1iZXIgb2YgdGhlIGxhc3QgZXJyb3IgY291bGQgYmUKK2dpdmVuLiAgTm93IHJlcG9ydCB0aGUgZmlyc3QgZW5jb3VudGVyZWQgZXJyb3IuCisKK1doZW4gdXNpbmcgIjplICsrZW5jPW5hbWUgZmlsZSIgYW5kIGljb252KCkgd2FzIHVzZWQgZm9yIGNvbnZlcnNpb24gYW4gZXJyb3IKK2NhdXNlZCBhIGZhbGxiYWNrIHRvIG5vIGNvbnZlcnNpb24uICBOb3cgcmVwbGFjZSBhIGNoYXJhY3RlciB3aXRoICc/JyBhbmQKK2NvbnRpbnVlLgorCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9maWxldHlwZS52aW0gYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQppbmRleCA4ZGNjNzE4Li45YjQ3ZGNhIDEwMDY0NAotLS0gYS9ydW50aW1lL2ZpbGV0eXBlLnZpbQorKysgYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN1cHBvcnQgZmlsZSB0byBkZXRlY3QgZmlsZSB0eXBlcwogIgogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwNSBKdW4gMTcKKyIgTGFzdCBDaGFuZ2U6CTIwMDUgSnVuIDI5CiAKICIgTGlzdGVuIHZlcnkgY2FyZWZ1bGx5LCBJIHdpbGwgc2F5IHRoaXMgb25seSBvbmNlCiBpZiBleGlzdHMoImRpZF9sb2FkX2ZpbGV0eXBlcyIpCkBAIC0xOTQsNiArMTk0LDkgQEAKICIgQXV0b21ha2UKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCBbbU1dYWtlZmlsZS5hbQkJc2V0ZiBhdXRvbWFrZQogCisiIEF1dG90ZXN0IC5hdCBmaWxlcyBhcmUgYWN0dWFsbHkgbTQKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmF0CQkJc2V0ZiBtNAorCiAiIEF2ZW51ZQogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouYXZlCQkJc2V0ZiBhdmUKIApAQCAtNzMzLDEyICs3MzYsMTggQEAKICIgTGF0dGUKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmxhdHRlLCoubHRlCQlzZXRmIGxhdHRlCiAKKyIgTGltaXRzCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgL2V0Yy9saW1pdHMJCXNldGYgbGltaXRzCisKICIgTGFtYmRhUHJvbG9nICgqLm1vZCB0b28sIHNlZSBNb2RzaW0pCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5zaWcJCQlzZXRmIGxwcm9sb2cKIAogIiBMREFQIExESUYKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmxkaWYJCQlzZXRmIGxkaWYKIAorIiBMZCBsb2FkZXIKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmxkCQkJc2V0ZiBsZAorCiAiIExleAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoubGV4LCoubAkJCXNldGYgbGV4CiAKQEAgLTc2MSw5ICs3NzAsMTggQEAKICAgYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoubHNwLCoubGlzcCwqLmVsLCouY2wsKi5qbCwuZW1hY3MsLnNhd2Zpc2hyYyBzZXRmIGxpc3AKIGVuZGlmCiAKKyIgU0JDTCBpbXBsZW1lbnRhdGlvbiBvZiBDb21tb24gTGlzcAorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIHNiY2xyYywuc2JjbHJjCQlzZXRmIGxpc3AKKwogIiBMaXRlCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5saXRlLCoubHQJCXNldGYgbGl0ZQogCisiIExvZ2luIGFjY2VzcworYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvbG9naW4uYWNjZXNzCQlzZXRmIGxvZ2luYWNjZXNzCisKKyIgTG9naW4gZGVmcworYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvbG9naW4uZGVmcwkJc2V0ZiBsb2dpbmRlZnMKKwogIiBMb2d0YWxrCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5sZ3QJCQlzZXRmIGxvZ3RhbGsKIApAQCAtOTkwLDYgKzEwMDgsOSBAQAogIiBQYWNrZXQgZmlsdGVyIGNvbmYKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCBwZi5jb25mCQkJc2V0ZiBwZgogCisiIFBhbSBjb25mCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgL2V0Yy9wYW0uY29uZgkJc2V0ZiBwYW1jb25mCisKICIgUEFwcAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoucGFwcCwqLnB4bWwsKi5weHNsCXNldGYgcGFwcAogCkBAIC0xNTM1LDYgKzE1NTYsOSBAQAogIiBTdGFuZGFyZCBNTAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouc21sCQkJc2V0ZiBzbWwKIAorIiBTeXNjdGwKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAvZXRjL3N5c2N0bC5jb25mCQlzZXRmIHN5c2N0bAorCiAiIFN1ZG9lcnMKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAvZXRjL3N1ZG9lcnMsc3Vkb2Vycy50bXAJc2V0ZiBzdWRvZXJzCiAKQEAgLTE1OTMsMTIgKzE2MTcsMTUgQEAKICIgVW5yZWFsU2NyaXB0CiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi51YwkJCXNldGYgdWMKIAorIiBVcGRhdGVkYgorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvdXBkYXRlZGIuY29uZglzZXRmIHVwZGF0ZWRiCisKICIgVmVyaWxvZyBIREwKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnYJCQlzZXRmIHZlcmlsb2cKIAogIiBWSERMCiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi5oZGwsKi52aGQsKi52aGRsLCoudmJlLCoudnN0ICBzZXRmIHZoZGwKLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnZoZGxfWzAtOV0qICAJCWNhbGwgczpTdGFyU2V0ZigndmhkbCcpCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi52aGRsX1swLTldKgkJY2FsbCBzOlN0YXJTZXRmKCd2aGRsJykKIAogIiBWaW0gc2NyaXB0CiBhdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi52aW0sLmV4cmMsX2V4cmMJCXNldGYgdmltCkBAIC0xNjczLDYgKzE3MDAsOSBAQAogIiBYb3JnIGNvbmZpZwogYXUgQnVmTmV3RmlsZSxCdWZSZWFkIHhvcmcuY29uZix4b3JnLmNvbmYtNAlsZXQgYjp4Zjg2Y194ZnJlZTg2X3ZlcnNpb24gPSA0IHwgc2V0ZiB4Zjg2Y29uZgogCisiIFhpbmV0ZCBjb25mCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgL2V0Yy94aW5ldGQuY29uZgkJc2V0ZiB4aW5ldGQKKwogIiBYUyBQZXJsIGV4dGVuc2lvbiBpbnRlcmZhY2UgbGFuZ3VhZ2UKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnhzCQkJc2V0ZiB4cwogCkBAIC0xNzA5LDcgKzE3MzksMjMgQEAKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnhzbCwqLnhzbHQJCXNldGYgeHNsdAogCiAiIFlhY2MKLWF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnksKi55eQkJCXNldGYgeWFjYworYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoueXkJCQlzZXRmIHlhY2MKKworIiBZYWNjIG9yIHJhY2MKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnkJCQljYWxsIHM6RlR5KCkKKworZnVuISBzOkZUeSgpCisgIGxldCBuID0gMQorICB3aGlsZSBuIDwgMTAKKyAgICBpZiBnZXRsaW5lKG4pID1+ICdeXHMqXCgjXHxjbGFzc1w+XCknCisgICAgICBzZXRmIHJhY2MKKyAgICAgIHJldHVybgorICAgIGVuZGlmCisgICAgbGV0IG4gPSBuICsgMQorICBlbmR3aGlsZQorICBzZXRmIHlhY2MKK2VuZGZ1bgorCiAKICIgWWFtbAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICoueWFtbCwqLnltbAkJc2V0ZiB5YW1sCkBAIC0xNzk0LDYgKzE4NDAsOSBAQAogIiBOcm9mZiBtYWNyb3MKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCB0bWFjLioJCQljYWxsIHM6U3RhclNldGYoJ25yb2ZmJykKIAorIiBQYW0gY29uZgorYXUgQnVmTmV3RmlsZSxCdWZSZWFkIC9ldGMvcGFtLmQvKgkJY2FsbCBzOlN0YXJTZXRmKCdwYW1jb25mJykKKwogIiBQcmludGNhcCBhbmQgVGVybWNhcAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICpwcmludGNhcCoKIAlcIGlmICFkaWRfZmlsZXR5cGUoKQpAQCAtMTgyNSw2ICsxODc0LDkgQEAKICIgWDExIHhtb2RtYXAKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqeG1vZG1hcCoJCQljYWxsIHM6U3RhclNldGYoJ3htb2RtYXAnKQogCisiIFhpbmV0ZCBjb25mCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgL2V0Yy94aW5ldGQuZC8qCQljYWxsIHM6U3RhclNldGYoJ3hpbmV0ZCcpCisKICIgWi1TaGVsbCBzY3JpcHQKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCB6c2gqLHpsb2cqCQljYWxsIHM6U3RhclNldGYoJ3pzaCcpCiAKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vYWxzYWNvbmYudmltIGIvcnVudGltZS9mdHBsdWdpbi9hbHNhY29uZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5NmU4MgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vYWxzYWNvbmYudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIGFsc2Fjb25mKDgpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9hcmNoLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vYXJjaC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDEwMmU5YQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vYXJjaC52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgR05VIEFyY2ggaW52ZW50b3J5IGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vYXV0b21ha2UudmltIGIvcnVudGltZS9mdHBsdWdpbi9hdXRvbWFrZS52aW0KaW5kZXggZjI1NzcwYy4uMWVmMjhkMSAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9hdXRvbWFrZS52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9hdXRvbWFrZS52aW0KQEAgLTEsMTEgKzEsMTAgQEAKICIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCi0iIExhbmd1Z2FnZToJICAgIEF1dG9tYWtlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9mdHBsdWdpbi9wY3AvYXV0b21ha2UvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICAzYTc4YjBjZC0yN2IyLTQxMGEtOGU3Yi01MWExNzE3YzJhNWIKKyIgTGFuZ3VhZ2U6ICAgICAgICAgQXV0b21ha2UKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTIyCiAKLSIgU2FtZSBhcyBtYWtlZmlsZSBmaWxldHlwZSBwbHVnaW4gZm9yIG5vdy4KK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCisKIHJ1bnRpbWUhIGZ0cGx1Z2luL21ha2UudmltIGZ0cGx1Z2luL21ha2VfKi52aW0gZnRwbHVnaW4vbWFrZS8qLnZpbQotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2JkZi52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2JkZi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMwM2Q4NQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vYmRmLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBCREYgZm9udCBkZWZpbml0aW9uCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yMgorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz1iOkNPTU1FTlQgY29tbWVudHN0cmluZz1DT01NRU5UXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9jYWxlbmRhci52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2NhbGVuZGFyLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzFiZmU0Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9jYWxlbmRhci52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgY2FsZW5kYXIoMSkgaW5wdXQgZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCBpbmM8IgorCitzZXRsb2NhbCBjb21tZW50cz1zMTovKixtYjoqLGV4OiovIGNvbW1lbnRzdHJpbmcmIGluY2x1ZGUmCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2NoYW5nZWxvZy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2NoYW5nZWxvZy52aW0KaW5kZXggODQ3Y2NhNy4uYjIyOWRiZSAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9jaGFuZ2Vsb2cudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vY2hhbmdlbG9nLnZpbQpAQCAtMSwyNCArMSwyMiBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBnZW5lcmljIENoYW5nZWxvZyBmaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9mdHBsdWdpbi9wY3AvY2hhbmdlbG9nLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA0LTI1Ci0iIGFyY2gtdGFnOgkgICAgYjAwZTI5NzQtYzU1OS00NDc3LWI3YjItM2VmM2Y0MDYxYmRiCisiIExhbmd1YWdlOiAgICAgICAgIGdlbmVyaWMgQ2hhbmdlbG9nIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAiIFZhcmlhYmxlczoKICIgICBnOmNoYW5nZWxvZ190aW1lZm9ybWF0IC0KLSIJZGVzY3JpcHRpb246IHRoZSB0aW1lZm9ybWF0IHVzZWQgaW4gQ2hhbmdlTG9nIGVudHJpZXMuCi0iCWRlZmF1bHQ6ICIlWS0lbS0lZCIuCisiICAgICAgIGRlc2NyaXB0aW9uOiB0aGUgdGltZWZvcm1hdCB1c2VkIGluIENoYW5nZUxvZyBlbnRyaWVzLgorIiAgICAgICBkZWZhdWx0OiAiJVktJW0tJWQiLgogIiAgIGc6Y2hhbmdlbG9nX3VzZXJuYW1lIC0KLSIJZGVzY3JpcHRpb246IHRoZSB1c2VybmFtZSB0byB1c2UgaW4gQ2hhbmdlTG9nIGVudHJpZXMKLSIJZGVmYXVsdDogdHJ5IHRvIGRlZHVjZSBpdCBmcm9tIGVudmlyb25tZW50IHZhcmlhYmxlcyBhbmQgc3lzdGVtCWZpbGVzLgorIiAgICAgICBkZXNjcmlwdGlvbjogdGhlIHVzZXJuYW1lIHRvIHVzZSBpbiBDaGFuZ2VMb2cgZW50cmllcworIiAgICAgICBkZWZhdWx0OiB0cnkgdG8gZGVkdWNlIGl0IGZyb20gZW52aXJvbm1lbnQgdmFyaWFibGVzIGFuZCBzeXN0ZW0gZmlsZXMuCiAiIExvY2FsIE1hcHBpbmdzOgogIiAgIDxMZWFkZXI+byAtCi0iCWFkZHMgYSBuZXcgY2hhbmdlbG9nIGVudHJ5IGZvciB0aGUgY3VycmVudCB1c2VyIGZvciB0aGUgY3VycmVudCBkYXRlLgorIiAgICAgICBhZGRzIGEgbmV3IGNoYW5nZWxvZyBlbnRyeSBmb3IgdGhlIGN1cnJlbnQgdXNlciBmb3IgdGhlIGN1cnJlbnQgZGF0ZS4KICIgR2xvYmFsIE1hcHBpbmdzOgogIiAgIDxMZWFkZXI+byAtCi0iCXN3aXRjaGVzIHRvIHRoZSBDaGFuZ2VMb2cgYnVmZmVyIG9wZW5lZCBmb3IgdGhlIGN1cnJlbnQgZGlyZWN0b3J5LCBvcgotIglvcGVucyBpdCBpbiBhIG5ldyBidWZmZXIgaWYgaXQgZXhpc3RzIGluIHRoZSBjdXJyZW50IGRpcmVjdG9yeS4gIFRoZW4KLSIJaXQgZG9lcyB0aGUgc2FtZSBhcyB0aGUgbG9jYWwgPExlYWRlcj5vIGRlc2NyaWJlZCBhYm92ZS4KKyIgICAgICAgc3dpdGNoZXMgdG8gdGhlIENoYW5nZUxvZyBidWZmZXIgb3BlbmVkIGZvciB0aGUgY3VycmVudCBkaXJlY3RvcnksIG9yCisiICAgICAgIG9wZW5zIGl0IGluIGEgbmV3IGJ1ZmZlciBpZiBpdCBleGlzdHMgaW4gdGhlIGN1cnJlbnQgZGlyZWN0b3J5LiAgVGhlbgorIiAgICAgICBpdCBkb2VzIHRoZSBzYW1lIGFzIHRoZSBsb2NhbCA8TGVhZGVyPm8gZGVzY3JpYmVkIGFib3ZlLgogIiBOb3RlczoKICIgICBydW4gJ3J1bnRpbWUgZnRwbHVnaW4vY2hhbmdlbG9nLnZpbScgdG8gZW5hYmxlIHRoZSBnbG9iYWwgbWFwcGluZyBmb3IKICIgICBjaGFuZ2Vsb2cgZmlsZXMuCkBAIC0yOCwxNiArMjYsMTMgQEAKIAogIiBJZiAnZmlsZXR5cGUnIGlzbid0ICJjaGFuZ2Vsb2ciLCB3ZSBtdXN0IGhhdmUgYmVlbiB0byBhZGQgQ2hhbmdlTG9nIG9wZW5lcgogaWYgJmZpbGV0eXBlID09ICJjaGFuZ2Vsb2ciCi0gICIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgogICBpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKICAgICBmaW5pc2gKICAgZW5kaWYKLQotICAiIERvbid0IGxvYWQgYW5vdGhlciBwbHVnaW4gZm9yIHRoaXMgYnVmZmVyCiAgIGxldCBiOmRpZF9mdHBsdWdpbiA9IDEKIAotICBsZXQgY3BvX3NhdmUgPSAmY3BvCi0gIHNldCBjcG8tPUMKKyAgbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCisgIHNldCBjcG8mdmltCiAKICAgIiBUaGUgZm9ybWF0IG9mIHRoZSBkYXRlLXRpbWUgZmllbGQgKHNob3VsZCBoYXZlIGJlZW4gY2FsbGVkIGRhdGVmb3JtYXQpCiAgIGlmICFleGlzdHMoImc6Y2hhbmdlbG9nX3RpbWVmb3JtYXQiKQpAQCAtNTUsNTYgKzUwLDU2IEBACiAgICAgICAiIEdldCB0aGUgdXNlcnMgbG9naW4gbmFtZQogICAgICAgbGV0IGxvZ2luID0gc3lzdGVtKCd3aG9hbWknKQogICAgICAgaWYgdjpzaGVsbF9lcnJvcgotCWxldCBsb2dpbiA9ICd1bmtub3duJworICAgICAgICBsZXQgbG9naW4gPSAndW5rbm93bicKICAgICAgIGVsc2UKLQlsZXQgbmV3bGluZSA9IHN0cmlkeChsb2dpbiwgIlxuIikKLQlpZiBuZXdsaW5lICE9IC0xCi0JICBsZXQgbG9naW4gPSBzdHJwYXJ0KGxvZ2luLCAwLCBuZXdsaW5lKQotCWVuZGlmCisgICAgICAgIGxldCBuZXdsaW5lID0gc3RyaWR4KGxvZ2luLCAiXG4iKQorICAgICAgICBpZiBuZXdsaW5lICE9IC0xCisgICAgICAgICAgbGV0IGxvZ2luID0gc3RycGFydChsb2dpbiwgMCwgbmV3bGluZSkKKyAgICAgICAgZW5kaWYKICAgICAgIGVuZGlmCiAKICAgICAgICIgVHJ5IHRvIGZ1bGwgbmFtZSBmcm9tIGdlY29zIGZpZWxkIGluIC9ldGMvcGFzc3dkCiAgICAgICBpZiBmaWxlcmVhZGFibGUoJy9ldGMvcGFzc3dkJykKLQlsZXQgbmFtZSA9IHN1YnN0aXR1dGUoCi0JICAgICAgXHN5c3RlbSgnY2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCBeYHdob2FtaWAnKSwKLQkgICAgICBcJ15cJShbXjpdKjpcKVx7NH1cKFteOl0qXCk6LiokJywgJ1wxJywgJycpCisgICAgICAgIGxldCBuYW1lID0gc3Vic3RpdHV0ZSgKKyAgICAgICAgICAgICAgXHN5c3RlbSgnY2F0IC9ldGMvcGFzc3dkIHwgZ3JlcCBeYHdob2FtaWAnKSwKKyAgICAgICAgICAgICAgXCdeXCUoW146XSo6XClcezR9XChbXjpdKlwpOi4qJCcsICdcMScsICcnKQogICAgICAgZW5kaWYKIAogICAgICAgIiBJZiB0aGVyZSBpcyBubyBzdWNoIGZpbGUsIG9yIHRoZXJlIHdhcyBzb21lIG90aGVyIHByb2JsZW0gdHJ5CiAgICAgICAiIG90aGVycwogICAgICAgaWYgIWZpbGVyZWFkYWJsZSgnL2V0Yy9wYXNzd2QnKSB8fCB2OnNoZWxsX2Vycm9yCi0JIiBNYXliZSB0aGUgZW52aXJvbm1lbnQgaGFzIHNvbWV0aGluZyBvZiBpbnRlcmVzdAotCWlmIGV4aXN0cygiJE5BTUUiKQotCSAgbGV0IG5hbWUgPSAkTkFNRQotCWVsc2UKLQkgICIgTm8/IHdlbGwsIHVzZSB0aGUgbG9naW4gbmFtZSBhbmQgY2FwaXRhbGl6ZSBmaXJzdAotCSAgIiBjaGFyYWN0ZXIKLQkgIGxldCBuYW1lID0gdG91cHBlcihsb2dpblswXSkgLiBzdHJwYXJ0KGxvZ2luLCAxKQotCWVuZGlmCisgICAgICAgICIgTWF5YmUgdGhlIGVudmlyb25tZW50IGhhcyBzb21ldGhpbmcgb2YgaW50ZXJlc3QKKyAgICAgICAgaWYgZXhpc3RzKCIkTkFNRSIpCisgICAgICAgICAgbGV0IG5hbWUgPSAkTkFNRQorICAgICAgICBlbHNlCisgICAgICAgICAgIiBObz8gd2VsbCwgdXNlIHRoZSBsb2dpbiBuYW1lIGFuZCBjYXBpdGFsaXplIGZpcnN0CisgICAgICAgICAgIiBjaGFyYWN0ZXIKKyAgICAgICAgICBsZXQgbmFtZSA9IHRvdXBwZXIobG9naW5bMF0pIC4gc3RycGFydChsb2dpbiwgMSkKKyAgICAgICAgZW5kaWYKICAgICAgIGVuZGlmCiAKICAgICAgICIgT25seSBrZWVwIHN0dWZmIGJlZm9yZSB0aGUgZmlyc3QgY29tbWEKICAgICAgIGxldCBjb21tYSA9IHN0cmlkeChuYW1lLCAnLCcpCiAgICAgICBpZiBjb21tYSAhPSAtMQotCWxldCBuYW1lID0gc3RycGFydChuYW1lLCAwLCBjb21tYSkKKyAgICAgICAgbGV0IG5hbWUgPSBzdHJwYXJ0KG5hbWUsIDAsIGNvbW1hKQogICAgICAgZW5kaWYKIAogICAgICAgIiBBbmQgc3Vic3RpdHV0ZSAmIGluIHRoZSByZWFsIG5hbWUgd2l0aCB0aGUgbG9naW4gb2Ygb3VyIHVzZXIKICAgICAgIGxldCBhbXAgPSBzdHJpZHgobmFtZSwgJyYnKQogICAgICAgaWYgYW1wICE9IC0xCi0JbGV0IG5hbWUgPSBzdHJwYXJ0KG5hbWUsIDAsIGFtcCkgLiB0b3VwcGVyKGxvZ2luWzBdKSAuCi0JICAgICAgXHN0cnBhcnQobG9naW4sIDEpIC4gc3RycGFydChuYW1lLCBhbXAgKyAxKQorICAgICAgICBsZXQgbmFtZSA9IHN0cnBhcnQobmFtZSwgMCwgYW1wKSAuIHRvdXBwZXIobG9naW5bMF0pIC4KKyAgICAgICAgICAgICAgXHN0cnBhcnQobG9naW4sIDEpIC4gc3RycGFydChuYW1lLCBhbXAgKyAxKQogICAgICAgZW5kaWYKIAogICAgICAgIiBHZXQgb3VyIGhvc3RuYW1lCiAgICAgICBsZXQgaG9zdG5hbWUgPSBzeXN0ZW0oImhvc3RuYW1lIikKICAgICAgIGlmIHY6c2hlbGxfZXJyb3IKLQlsZXQgaG9zdG5hbWUgPSAndW5rbm93bmhvc3QnCisgICAgICAgIGxldCBob3N0bmFtZSA9ICd1bmtub3duaG9zdCcKICAgICAgIGVsc2UKLQlsZXQgbmV3bGluZSA9IHN0cmlkeChob3N0bmFtZSwgIlxuIikKLQlpZiBuZXdsaW5lICE9IC0xCi0JICBsZXQgaG9zdG5hbWUgPSBzdHJwYXJ0KGhvc3RuYW1lLCAwLCBuZXdsaW5lKQotCWVuZGlmCisgICAgICAgIGxldCBuZXdsaW5lID0gc3RyaWR4KGhvc3RuYW1lLCAiXG4iKQorICAgICAgICBpZiBuZXdsaW5lICE9IC0xCisgICAgICAgICAgbGV0IGhvc3RuYW1lID0gc3RycGFydChob3N0bmFtZSwgMCwgbmV3bGluZSkKKyAgICAgICAgZW5kaWYKICAgICAgIGVuZGlmCiAKICAgICAgICIgQW5kIGZpbmFsbHkgc2V0IHRoZSB1c2VybmFtZQpAQCAtMTM0LDE1ICsxMjksMTUgQEAKICAgICB3aGlsZSBpICE9IC0xCiAgICAgICBsZXQgY2hhciA9IHN0cltpICsgMV0KICAgICAgIGlmIGNoYXIgPT0gJyUnCi0JbGV0IG1pZGRsZSA9ICclJworICAgICAgICBsZXQgbWlkZGxlID0gJyUnCiAgICAgICBlbHNlaWYgY2hhciA9PSAnZCcKLQlsZXQgbWlkZGxlID0gYTpkYXRlCisgICAgICAgIGxldCBtaWRkbGUgPSBhOmRhdGUKICAgICAgIGVsc2VpZiBjaGFyID09ICd1JwotCWxldCBtaWRkbGUgPSBhOnVzZXIKKyAgICAgICAgbGV0IG1pZGRsZSA9IGE6dXNlcgogICAgICAgZWxzZWlmIGNoYXIgPT0gJ2MnCi0JbGV0IG1pZGRsZSA9ICd7Y3Vyc29yfScKKyAgICAgICAgbGV0IG1pZGRsZSA9ICd7Y3Vyc29yfScKICAgICAgIGVsc2UKLQlsZXQgbWlkZGxlID0gY2hhcgorICAgICAgICBsZXQgbWlkZGxlID0gY2hhcgogICAgICAgZW5kaWYKICAgICAgIGxldCBzdHIgPSBzdHJwYXJ0KHN0ciwgMCwgaSkgLiBtaWRkbGUgLiBzdHJwYXJ0KHN0ciwgaSArIDIpCiAgICAgICBsZXQgaSA9IHN0cmlkeChzdHIsICclJykKQEAgLTE2OSwxNyArMTY0LDE3IEBACiAgICAgIiBMb29rIGZvciBhbiBlbnRyeSBmb3IgdG9kYXkgYnkgb3VyIHVzZXIKICAgICBsZXQgZGF0ZSA9IHN0cmZ0aW1lKGc6Y2hhbmdlbG9nX3RpbWVmb3JtYXQpCiAgICAgbGV0IHNlYXJjaCA9IHM6c3Vic3RpdHV0ZV9pdGVtcyhnOmNoYW5nZWxvZ19kYXRlX2VudHJ5X3NlYXJjaCwgZGF0ZSwKLQkgIFxnOmNoYW5nZWxvZ191c2VybmFtZSkKKyAgICAgICAgICBcZzpjaGFuZ2Vsb2dfdXNlcm5hbWUpCiAgICAgaWYgc2VhcmNoKHNlYXJjaCkgPiAwCiAgICAgICAiIE9rLCBub3cgd2UgbG9vayBmb3IgdGhlIGVuZCBvZiB0aGUgZGF0ZS1lbnRyeSwgYW5kIGFkZCBhbiBlbnRyeQogICAgICAgbGV0IHBvcyA9IG5leHRub25ibGFuayhsaW5lKCcuJykgKyAxKQogICAgICAgbGV0IGxpbmUgPSBnZXRsaW5lKHBvcykKICAgICAgIHdoaWxlIGxpbmUgPX4gJ15cc1wrXFNcKycKLQlsZXQgcG9zID0gcG9zICsgMQotCWxldCBsaW5lID0gZ2V0bGluZShwb3MpCisgICAgICAgIGxldCBwb3MgPSBwb3MgKyAxCisgICAgICAgIGxldCBsaW5lID0gZ2V0bGluZShwb3MpCiAgICAgICBlbmR3aGlsZQogICAgICAgbGV0IGluc2VydCA9IHM6c3Vic3RpdHV0ZV9pdGVtcyhnOmNoYW5nZWxvZ19uZXdfZW50cnlfZm9ybWF0LAotCSAgICBcJycsICcnKQorICAgICAgICAgICAgXCcnLCAnJykKICAgICAgIGV4ZWN1dGUgIm5vcm1hbCEgIi4ocG9zIC0gMSkuIkdvIi5pbnNlcnQKICAgICAgIGV4ZWN1dGUgcG9zCiAgICAgZWxzZQpAQCAtMTg4LDE4ICsxODMsMTggQEAKIAogICAgICAgIiBObyBlbnRyeSB0b2RheSwgc28gY3JlYXRlIGEgZGF0ZS11c2VyIGhlYWRlciBhbmQgaW5zZXJ0IGFuIGVudHJ5CiAgICAgICBsZXQgdG9kYXlzX2VudHJ5ID0gczpzdWJzdGl0dXRlX2l0ZW1zKGc6Y2hhbmdlbG9nX25ld19kYXRlX2Zvcm1hdCwKLQkgICAgXGRhdGUsIGc6Y2hhbmdlbG9nX3VzZXJuYW1lKQorICAgICAgICAgICAgXGRhdGUsIGc6Y2hhbmdlbG9nX3VzZXJuYW1lKQogICAgICAgIiBNYWtlIHN1cmUgd2UgaGF2ZSBhIGN1cnNvciBwb3NpdGlvbmluZwogICAgICAgaWYgc3RyaWR4KHRvZGF5c19lbnRyeSwgJ3tjdXJzb3J9JykgPT0gLTEKLQlsZXQgdG9kYXlzX2VudHJ5ID0gdG9kYXlzX2VudHJ5Lid7Y3Vyc29yfScKKyAgICAgICAgbGV0IHRvZGF5c19lbnRyeSA9IHRvZGF5c19lbnRyeS4ne2N1cnNvcn0nCiAgICAgICBlbmRpZgogCiAgICAgICAiIE5vdyBkbyB0aGUgd29yawogICAgICAgZXhlY3V0ZSAibm9ybWFsISBpIi50b2RheXNfZW50cnkKICAgICAgIGlmIHJlbW92ZV9lbXB0eQotCXdoaWxlIGdldGxpbmUoJyQnKSA9PSAnJwotCSAgJGRlbGV0ZQotCWVuZHdoaWxlCisgICAgICAgIHdoaWxlIGdldGxpbmUoJyQnKSA9PSAnJworICAgICAgICAgICRkZWxldGUKKyAgICAgICAgZW5kd2hpbGUKICAgICAgIGVuZGlmCiAKICAgICAgIDEKQEAgLTIxNiw3ICsyMTEsNyBAQAogICAgIGNvbW1hbmQhIC1uYXJncz0wIE5ld0NoYW5nZWxvZ0VudHJ5IGNhbGwgczpuZXdfY2hhbmdlbG9nX2VudHJ5KCkKICAgZW5kaWYKIAotICBsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCB0dzwgZm88IGV0PCIKKyAgbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgdHc8IGZvPCBldDwgYWk8IgogCiAgIGlmICZ0ZXh0d2lkdGggPT0gMAogICAgIHNldGxvY2FsIHRleHR3aWR0aD03OApAQCAtMjI0LDkgKzIxOSwxMCBAQAogICBzZXRsb2NhbCBjb21tZW50cz0KICAgc2V0bG9jYWwgZm9ybWF0b3B0aW9ucys9dAogICBzZXRsb2NhbCBub2V4cGFuZHRhYgotICAiIHNldGxvY2FsIGF1dG9pbmRlbnQgICAgIG5vdyBpbiBpbmRlbnQgZmlsZQorICBzZXRsb2NhbCBhdXRvaW5kZW50CiAKLSAgbGV0ICZjcG8gPSBjcG9fc2F2ZQorICBsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKKyAgdW5sZXQgczpjcG9fc2F2ZQogZWxzZQogICAiIEFkZCB0aGUgQ2hhbmdlbG9nIG9wZW5pbmcgbWFwcGluZwogICBubWFwIDxzaWxlbnQ+IDxMZWFkZXI+byA6Y2FsbCA8U0lEPm9wZW5fY2hhbmdlbG9nKCk8Q1I+CkBAIC0yMzQsMjMgKzIzMCwyMSBAQAogICBmdW5jdGlvbiEgczpvcGVuX2NoYW5nZWxvZygpCiAgICAgaWYgZmlsZXJlYWRhYmxlKCdDaGFuZ2VMb2cnKQogICAgICAgaWYgYnVmbG9hZGVkKCdDaGFuZ2VMb2cnKQotCWxldCBidWYgPSBidWZucignQ2hhbmdlTG9nJykKLQlleGVjdXRlICJub3JtYWwhIFw8Qy1XPnQiCi0Jd2hpbGUgd2luYnVmbnIod2lubnIoKSkgIT0gYnVmCi0JICBleGVjdXRlICJub3JtYWwhIFw8Qy1XPnciCi0JZW5kd2hpbGUKKyAgICAgICAgbGV0IGJ1ZiA9IGJ1Zm5yKCdDaGFuZ2VMb2cnKQorICAgICAgICBleGVjdXRlICJub3JtYWwhIFw8Qy1XPnQiCisgICAgICAgIHdoaWxlIHdpbmJ1Zm5yKHdpbm5yKCkpICE9IGJ1ZgorICAgICAgICAgIGV4ZWN1dGUgIm5vcm1hbCEgXDxDLVc+dyIKKyAgICAgICAgZW5kd2hpbGUKICAgICAgIGVsc2UKLQlzcGxpdCBDaGFuZ2VMb2cKKyAgICAgICAgc3BsaXQgQ2hhbmdlTG9nCiAgICAgICBlbmRpZgogCiAgICAgICBpZiBleGlzdHMoImc6bWFwbGVhZGVyIikKLQlleGVjdXRlICJub3JtYWwgIiAuIGc6bWFwbGVhZGVyIC4gIm8iCisgICAgICAgIGV4ZWN1dGUgIm5vcm1hbCAiIC4gZzptYXBsZWFkZXIgLiAibyIKICAgICAgIGVsc2UKLQlleGVjdXRlICJub3JtYWwgXFxvIgorICAgICAgICBleGVjdXRlICJub3JtYWwgXFxvIgogICAgICAgZW5kaWYKICAgICAgIHN0YXJ0aW5zZXJ0IQogICAgIGVuZGlmCiAgIGVuZGZ1bmN0aW9uCiBlbmRpZgotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2NvbmYudmltIGIvcnVudGltZS9mdHBsdWdpbi9jb25mLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2U1ZTY1Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9jb25mLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBnZW5lcmljIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9jb250ZXh0LnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vY29udGV4dC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg2ODMxOQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vY29udGV4dC52aW0KQEAgLTAsMCArMSwzNiBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgQ29uVGVYdCB0eXBlc2V0dGluZyBlbmdpbmUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCBkZWY8IGluYzwgc3VhPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiUsYjolRCxiOiVDLGI6JU0gY29tbWVudHN0cmluZz0lXCAlcworCitsZXQgJmw6ZGVmaW5lPSdcXFwlKFtlZ3hdXHxjaGFyXHxtYXRoY2hhclx8Y291bnRcfGRpbWVuXHxtdXNraXBcfHNraXBcfHRva3NcKVw9JworICAgICAgICBcIC4gICAgICdkZWZcfFxcZm9udFx8XFxcJShmdXR1cmVcKVw9bGV0JworICAgICAgICBcIC4gJ1x8XFxuZXdcJShjb3VudFx8ZGltZW5cfHNraXBcfG11c2tpcFx8Ym94XHx0b2tzXHxyZWFkXHx3cml0ZScKKyAgICAgICAgXCAuICAgICAnXHxmYW1cfGluc2VydFx8aWZcKScKKworbGV0ICZsOmluY2x1ZGUgPSAnXlxzKlwlKGlucHV0XHxjb21wb25lbnRcKScKKworc2V0bG9jYWwgc3VmZml4ZXNhZGQ9LnRleAorCitpZiBleGlzdHMoImxvYWRlZF9tYXRjaGl0IikKKyAgbGV0IGI6bWF0Y2hfaWdub3JlY2FzZSA9IDAKKyAgbGV0IGI6bWF0Y2hfc2tpcCA9ICdyOlxcXEA8IVwlKFxcXFxcKSolJworICBsZXQgYjptYXRjaF93b3JkcyA9ICcoOiksXFs6XSx7On0sXFwoOlxcKSxcXFxbOlxcXSwnIC4KKyAgICAgICAgXCAnXFxzdGFydFwoXGFcK1wpOlxcc3RvcFwxJworZW5kaWYgIiBleGlzdHMoImxvYWRlZF9tYXRjaGl0IikKKworCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vY3JtLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vY3JtLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMmI0MWJmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9jcm0udmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIENSTTExNAorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9jc3MudmltIGIvcnVudGltZS9mdHBsdWdpbi9jc3MudmltCmluZGV4IDA1ZWI5ZmYuLjQxNzU5MGMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vY3NzLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2Nzcy52aW0KQEAgLTEsMjAgKzEsMTUgQEAKICIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCi0iIExhbmd1YWdlOgkgICAgQ1NTCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9mdHBsdWdpbi9wY3AvY3NzLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA0LTI1Ci0iIGFyY2gtdGFnOgkgICAgNWZhN2M3NGYtYmYxYS00N2M0LWIwNmYtNmVmZThmNDhkYjNiCisiIExhbmd1YWdlOiAgICAgICAgIENTUworIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotIiBPbmx5IGRvIHRoaXMgd2hlbiBub3QgZG9uZSB5ZXQgZm9yIHRoaXMgYnVmZmVyCiBpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKICAgZmluaXNoCiBlbmRpZgotCi0iIERvbid0IGxvYWQgYW5vdGhlciBwbHVnaW4gZm9yIHRoaXMgYnVmZmVyCiBsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCiAKLWxldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IgorbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCBpbmM8IgogCi1zZXRsb2NhbCBjb21tZW50cz1zMTovKixtYjoqLGV4OiovCitzZXRsb2NhbCBjb21tZW50cz1zMTovKixtYjoqLGV4OiovIGNvbW1lbnRzdHJpbmcmCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmbDppbmNsdWRlID0gJ15ccypAaW1wb3J0XHNcK1wlKHVybChcKVw9JwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9jdnNyYy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2N2c3JjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODZmZGRmCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9jdnNyYy52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgY3ZzKDEpIFJDIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPSBjb21tZW50c3RyaW5nPQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9kaXJjb2xvcnMudmltIGIvcnVudGltZS9mdHBsdWdpbi9kaXJjb2xvcnMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNjJjMzgKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2RpcmNvbG9ycy52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgZGlyY29sb3JzKDEpIGlucHV0IGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZWxpbmtzLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vZWxpbmtzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjgxZjFkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9lbGlua3MudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIGVsaW5rcygxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vZXRlcm0udmltIGIvcnVudGltZS9mdHBsdWdpbi9ldGVybS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjI3MjVlZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZXRlcm0udmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIGV0ZXJtKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCBpbmM8IgorCitzZXRsb2NhbCBjb21tZW50cz06IyBjb21tZW50c3RyaW5nPSNcICVzIGluY2x1ZGU9XlxccyppbmNsdWRlCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2ZldGNobWFpbC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2ZldGNobWFpbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg5ODVjMwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZmV0Y2htYWlsLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBmZXRjaG1haWwoMSkgUkMgRmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9ncGcudmltIGIvcnVudGltZS9mdHBsdWdpbi9ncGcudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZjdiMjYKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2dwZy52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgZ3BnKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9ncnViLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vZ3J1Yi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI5Yjc4MQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vZ3J1Yi52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgZ3J1Yig4KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vaGFza2VsbC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2hhc2tlbGwudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0Mjg3NWIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2hhc2tlbGwudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIEhhc2tlbGwKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fcGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz1zMWZsOnstLG1iOi0sZXg6LX0sOi0tIGNvbW1lbnRzdHJpbmc9LS1cICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2hlbHAudmltIGIvcnVudGltZS9mdHBsdWdpbi9oZWxwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMjQzOWJhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9oZWxwLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBWaW0gaGVscCBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX3BsdWdpbiA9ICJzZXRsIGZvPCB0dzwiCisKK3NldGxvY2FsIGZvcm1hdG9wdGlvbnMrPXRjcm9xbCB0ZXh0d2lkdGg9NzgKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vaW5kZW50LnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vaW5kZW50LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGYwZmRlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9pbmRlbnQudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIGluZGVudCgxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IgorCitzZXRsb2NhbCBjb21tZW50cz1zMTovKixtYjoqLGV4OiovCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2xkLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vbGQudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0YjZiYmMKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2xkLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBsZCgxKSBzY3JpcHQKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwgaW5jPCIKKworc2V0bG9jYWwgY29tbWVudHM9czE6LyosbWI6KixleDoqLyBjb21tZW50c3RyaW5nPS8qJXMqLyBpbmNsdWRlPV5cXHMqSU5DTFVERQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9sZnRwLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vbGZ0cC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTk0ZWJjNwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vbGZ0cC52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbGZ0cCgxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vbGliYW8udmltIGIvcnVudGltZS9mdHBsdWdpbi9saWJhby52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM4YWM5NQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vbGliYW8udmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIGxpYmFvLmNvbmYoNSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz06IyBjb21tZW50c3RyaW5nPSNcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2xpbWl0cy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2xpbWl0cy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTIwNzUzNQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vbGltaXRzLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBsaW1pdHMoNSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz06IyBjb21tZW50c3RyaW5nPSNcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2xvZ2luYWNjZXNzLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vbG9naW5hY2Nlc3MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwNGEzNmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2xvZ2luYWNjZXNzLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBsb2dpbi5hY2Nlc3MoNSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz06IyBjb21tZW50c3RyaW5nPSNcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL2xvZ2luZGVmcy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2xvZ2luZGVmcy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjY0ODZiYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vbG9naW5kZWZzLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBsb2dpbi5kZWZzKDUpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9tNC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL200LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Zjk3MWU4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9tNC52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbTQKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojLDpkbmwgY29tbWVudHN0cmluZz1kbmxcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL21haWxjYXAudmltIGIvcnVudGltZS9mdHBsdWdpbi9tYWlsY2FwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDhjOWY1Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9tYWlsY2FwLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBNYWlsY2FwIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0IGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vbW9kY29uZi52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL21vZGNvbmYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2ZWQwZTcKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL21vZGNvbmYudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIG1vZHVsZXMuY29uZig1KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwgaW5jPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcyBpbmNsdWRlPV5cXHMqaW5jbHVkZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9tcGxheWVyY29uZi52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL21wbGF5ZXJjb25mLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzFiOTEzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9tcGxheWVyY29uZi52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbXBsYXllcigxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwgaW5jPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcyBpbmNsdWRlPV5cXHMqaW5jbHVkZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9tdXR0cmMudmltIGIvcnVudGltZS9mdHBsdWdpbi9tdXR0cmMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyMDE3ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL211dHRyYy52aW0KQEAgLTAsMCArMSwxNSBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbXV0dCBSQyBGaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IGluYzwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKKworbGV0ICZsOmluY2x1ZGUgPSAnXlxzKnNvdXJjZVw+JwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9uZXRyYy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL25ldHJjLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTU2ZWY4Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9uZXRyYy52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbmV0cmMoNSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz0gY29tbWVudHN0cmluZz0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vcGFtY29uZi52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3BhbWNvbmYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzMzJmN2UKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3BhbWNvbmYudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIHBhbSg4KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vcGluZm8udmltIGIvcnVudGltZS9mdHBsdWdpbi9waW5mby52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTE3YTJlMgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vcGluZm8udmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIHBpbmZvKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9wcm9jbWFpbC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3Byb2NtYWlsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NWQ4MDY3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9wcm9jbWFpbC52aW0KQEAgLTAsMCArMSwxNSBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgcHJvY21haWwoMSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IGluYzwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKKworbGV0ICZsOmluY2x1ZGUgPSAnXlxzKklOQ0xVREVSQ1w+JwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9wcm9sb2cudmltIGIvcnVudGltZS9mdHBsdWdpbi9wcm9sb2cudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YWI3NmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3Byb2xvZy52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgUHJvbG9nCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz1zMTovKixtYjoqLGV4OiovLDolIGNvbW1lbnRzdHJpbmc9JVwgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vcXVha2UudmltIGIvcnVudGltZS9mdHBsdWdpbi9xdWFrZS52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc1MGFlZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vcXVha2UudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIFF1YWtlWzEtM10gY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz06Ly8gY29tbWVudHN0cmluZz0vL1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vcmFjYy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3JhY2MudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2MWQzYTQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3JhY2MudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIFJhY2MgaW5wdXQgZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9czE6LyosbWI6KixleDoqLyw6IyBjb21tZW50c3RyaW5nPSNcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL3JlYWRsaW5lLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vcmVhZGxpbmUudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YmJlMzkKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3JlYWRsaW5lLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICByZWFkbGluZSgzKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vcm5jLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vcm5jLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTNmMzg3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9ybmMudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIFJlbGF4IE5HIGNvbXBhY3Qgc3ludGF4CisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz06IyBjb21tZW50c3RyaW5nPSNcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL3JzdC52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3JzdC52aW0KaW5kZXggOThkZDVhMC4uNjQxNGM4NCAxMDA2NDQKLS0tIGEvcnVudGltZS9mdHBsdWdpbi9yc3QudmltCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vcnN0LnZpbQpAQCAtMSwyMyArMSwxMyBAQAogIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICByZVN0cnVjdHVyZWRUZXh0IERvY3VtZW50YXRpb24gRm9ybWF0Ci0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9mdHBsdWdpbi9wY3AvcnN0LwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA0LTI1Ci0iIGFyY2gtdGFnOgkgICAgNjE4YmY1MDQtODFiYS00NTE4LWJhZDItNDNiYTJiODQ0YTI2CisiIExhbmd1YWdlOiAgICAgICAgIHJlU3RydWN0dXJlZFRleHQgZG9jdW1lbnRhdGlvbiBmb3JtYXQKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLSIgT25seSBkbyB0aGlzIHdoZW4gbm90IGRvbmUgeWV0IGZvciB0aGlzIGJ1ZmZlcgogaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCiAgIGZpbmlzaAogZW5kaWYKLQotIiBEb24ndCBsb2FkIGFub3RoZXIgcGx1Z2luIGZvciB0aGlzIGJ1ZmZlcgogbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQogCi1sZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCBldDwiCiAKLXNldGxvY2FsIGNvbW1lbnRzPWZiOi4uCi1zZXRsb2NhbCBjb21tZW50c3RyaW5nPS4uXCAlcwotc2V0bG9jYWwgZXhwYW5kdGFiCi1zZXRsb2NhbCBzdHM9MiBzdz0yCi0KLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK3NldGxvY2FsIGNvbW1lbnRzPWZiOi4uIGNvbW1lbnRzdHJpbmc9Li5cICVzIGV4cGFuZHRhYgpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9zY3JlZW4udmltIGIvcnVudGltZS9mdHBsdWdpbi9zY3JlZW4udmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkODAzZmQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3NjcmVlbi52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgc2NyZWVuKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9zaWV2ZS52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3NpZXZlLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45N2QyMzViCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9zaWV2ZS52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgU2lldmUgZmlsdGVyaW5nIGxhbmd1YWdlIGlucHV0IGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPXMxOi8qLG1iOiosZXg6Ki8sOiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9zc2hjb25maWcudmltIGIvcnVudGltZS9mdHBsdWdpbi9zc2hjb25maWcudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NmEwOWQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3NzaGNvbmZpZy52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgT3BlblNTSCBjbGllbnQgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IgorCitzZXRsb2NhbCBjb21tZW50cz06IyBjb21tZW50c3RyaW5nPSNcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL3N1ZG9lcnMudmltIGIvcnVudGltZS9mdHBsdWdpbi9zdWRvZXJzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzZiZmE5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9zdWRvZXJzLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBzdWRvZXJzKDUpIGNvbmZpZ3VyYXRpb24gZmlsZXMKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vc3lzY3RsLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4vc3lzY3RsLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDkzOWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi9zeXNjdGwudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIHN5c2N0bC5jb25mKDUpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19wbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTo7LDojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vdGVybWluZm8udmltIGIvcnVudGltZS9mdHBsdWdpbi90ZXJtaW5mby52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY0YWYzNAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vdGVybWluZm8udmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIHRlcm1pbmZvKDUpIGRlZmluaXRpb24KKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vdXBkYXRlZGIudmltIGIvcnVudGltZS9mdHBsdWdpbi91cGRhdGVkYi52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U4MThlOAotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4vdXBkYXRlZGIudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIHVwZGF0ZWRiLmNvbmYoNSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX3BsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi94ZGVmYXVsdHMudmltIGIvcnVudGltZS9mdHBsdWdpbi94ZGVmYXVsdHMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMDRjMzEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL2Z0cGx1Z2luL3hkZWZhdWx0cy52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgWCByZXNvdXJjZXMgZmlsZXMgbGlrZSB+Ly5YZGVmYXVsdHMgKHhyZGIpCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IGluYzwiCisKK3NldGxvY2FsIGNvbW1lbnRzPXMxOi8qLG1iOiosZXg6Ki8sOiEgY29tbWVudHN0cmluZyYgaW5jJgpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi94Zjg2Y29uZi52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL3hmODZjb25mLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWViNWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi94Zjg2Y29uZi52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgWEZyZWU4NiBDb25maWd1cmF0aW9uIEZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPTojIGNvbW1lbnRzdHJpbmc9I1wgJXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4veGluZXRkLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4veGluZXRkLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzFiMzA3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi94aW5ldGQudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIHhpbmV0ZC5jb25mKDUpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCBpbmM8IgorCitzZXRsb2NhbCBjb21tZW50cz06IyBjb21tZW50c3RyaW5nPSNcICVzIGluY2x1ZGU9XlxccyppbmNsdWRlCmRpZmYgLS1naXQgYS9ydW50aW1lL2Z0cGx1Z2luL3htb2RtYXAudmltIGIvcnVudGltZS9mdHBsdWdpbi94bW9kbWFwLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zN2QwMDI3Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi94bW9kbWFwLnZpbQpAQCAtMCwwICsxLDEzIEBACisiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQorIiBMYW5ndWFnZTogICAgICAgICB4bW9kbWFwKDEpIGRlZmluaXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9mdHBsdWdpbiIpCisgIGZpbmlzaAorZW5kaWYKK2xldCBiOmRpZF9mdHBsdWdpbiA9IDEKKworbGV0IGI6dW5kb19mdHBsdWdpbiA9ICJzZXRsIGNvbTwgY21zPCIKKworc2V0bG9jYWwgY29tbWVudHM9OiEgY29tbWVudHN0cmluZz0hXCAlcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi95YW1sLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4veWFtbC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODljN2U0YQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvZnRwbHVnaW4veWFtbC52aW0KQEAgLTAsMCArMSwxMyBAQAorIiBWaW0gZmlsZXR5cGUgcGx1Z2luIGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgWUFNTCAoWUFNTCBBaW4ndCBNYXJrdXAgTGFuZ3VhZ2UpCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2Z0cGx1Z2luID0gMQorCitsZXQgYjp1bmRvX2Z0cGx1Z2luID0gInNldGwgY29tPCBjbXM8IGV0PCIKKworc2V0bG9jYWwgY29tbWVudHM9OiMgY29tbWVudHN0cmluZz0jXCAlcyBleHBhbmR0YWIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4venNoLnZpbSBiL3J1bnRpbWUvZnRwbHVnaW4venNoLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMGRjZTMwCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9mdHBsdWdpbi96c2gudmltCkBAIC0wLDAgKzEsMTMgQEAKKyIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIFpzaCBzaGVsbCBzY3JpcHQKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpkaWRfZnRwbHVnaW4iKQorICBmaW5pc2gKK2VuZGlmCitsZXQgYjpkaWRfZnRwbHVnaW4gPSAxCisKK2xldCBiOnVuZG9fZnRwbHVnaW4gPSAic2V0bCBjb208IGNtczwiCisKK3NldGxvY2FsIGNvbW1lbnRzPWI6IyBjb21tZW50c3RyaW5nPSNcICVzCmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9hdXRvbWFrZS52aW0gYi9ydW50aW1lL2luZGVudC9hdXRvbWFrZS52aW0KaW5kZXggNjBlZmYwNy4uMGY4ZGJhZCAxMDA2NDQKLS0tIGEvcnVudGltZS9pbmRlbnQvYXV0b21ha2UudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L2F1dG9tYWtlLnZpbQpAQCAtMSwxMSArMSwxMSBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBhdXRvbWFrZQotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vaW5kZW50L3BjcC9hdXRvbWFrZS8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNC0yNQotIiBhcmNoLXRhZzoJICAgIDlhMmFmNDhjLTQ4ZDQtNGJhZS04MmMzLWM4MDFiYzlkMTk3NgorIiBMYW5ndWFnZTogICAgICAgICBhdXRvbWFrZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQorICBmaW5pc2gKK2VuZGlmCiAKICIgc2FtZSBhcyBtYWtlZmlsZSBpbmRlbnRpbmcgZm9yIG5vdy4KLXNvdXJjZSA8c2ZpbGU+OnA6aC9tYWtlLnZpbQotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitydW50aW1lISBpbmRlbnQvbWFrZS52aW0KZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2NvbmZpZy52aW0gYi9ydW50aW1lL2luZGVudC9jb25maWcudmltCmluZGV4IDVhODAzZWQuLjM3ODlhNTAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L2NvbmZpZy52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvY29uZmlnLnZpbQpAQCAtMSwxOCArMSwxNyBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBBdXRvY29uZiBjb25maWd1cmUue2FjLGlufSBmaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9pbmRlbnQvcGNwL2NvbmZpZy8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNC0yNQotIiBhcmNoLXRhZzoJICAgIDc3NzljMzQxLTc5NmYtNDA4ZS04MGU0LWE1NWMyNmI1MTlhNAotIiBUT0RPOgkJICAgIGhvdyBhYm91dCBuZXN0ZWQgWygpXSdzIGluIG9uZSBsaW5lCi0iCQkgICAgd2hhdCdzIHdyb25nIHdpdGggJ1xcXEAhJz8KKyIgTGFuZ3VhZ2U6ICAgICAgICAgQXV0b2NvbmYgY29uZmlndXJlLnthYyxpbn0gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIFVSTDogICAgICAgICAgICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vaW5kZW50L3BjcC9jb25maWcvCisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKyIgVE9ETzogICAgICAgICAgICAgaG93IGFib3V0IG5lc3RlZCBbKCldJ3MgaW4gb25lIGxpbmUKKyIgICAgICAgICAgICAgICAgICAgd2hhdCdzIHdyb25nIHdpdGggJ1xcXEAhJz8KIAogIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKIAotc291cmNlIDxzZmlsZT46cDpoL3NoLnZpbSAgICAgICAiIHdpbGwgc2V0IGI6ZGlkX2luZGVudAorcnVudGltZSEgaW5kZW50L3NoLnZpbSAgICAgICAgICAiIHdpbGwgc2V0IGI6ZGlkX2luZGVudAogCiBzZXRsb2NhbCBpbmRlbnRleHByPUdldENvbmZpZ0luZGVudCgpCiBzZXRsb2NhbCBpbmRlbnRrZXlzPSFeRixvLE8sPXRoZW4sPWRvLD1lbHNlLD1lbGlmLD1lc2FjLD1maSw9ZmluLD1maWwsPWRvbmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2Nzcy52aW0gYi9ydW50aW1lL2luZGVudC9jc3MudmltCmluZGV4IDYxMGM3MjUuLmVlNDI4OGMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L2Nzcy52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvY3NzLnZpbQpAQCAtMSw3OSArMSw1NCBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBDU1MKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2luZGVudC9wY3AvY3NzLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA0LTI1Ci0iIGFyY2gtdGFnOgkgICAgY2NmZDc3YTAtMWM5YS00M2Y3LWE0MDctYmJlNzA0NTQxNDQyCisiIExhbmd1YWdlOiAgICAgICAgIENTUworIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKLQogbGV0IGI6ZGlkX2luZGVudCA9IDEKIAogc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRDU1NJbmRlbnQoKQotc2V0bG9jYWwgaW5kZW50a2V5cy09OiwwIyBpbmRlbnRrZXlzLT1lCitzZXRsb2NhbCBpbmRlbnRrZXlzPTB7LDB9LCFeRixvLE8KIAotIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KIGlmIGV4aXN0cygiKkdldENTU0luZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKIAotZnVuY3Rpb24hIHM6TG9va3VwTGluZShsbnVtKQotICAiIGZpbmQgYSBub24tYmxhbmsgbGluZSBhYm92ZSB0aGUgY3VycmVudCBsaW5lCitmdW5jdGlvbiBzOkxvb2t1cExpbmUobG51bSkKICAgbGV0IGxudW0gPSBwcmV2bm9uYmxhbmsoYTpsbnVtIC0gMSkKKyAgd2hpbGUgbG51bSA+IDAKKyAgICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKIAotICBpZiBsbnVtID09IDAKLSAgICByZXR1cm4gMAotICBlbmRpZgorICAgIGlmIGxpbmUgPX4gJ1wqLycKKyAgICAgIHdoaWxlIGxudW0gPiAwICYmIGxpbmUgIX4gJy9cKicKKyAgICAgICAgbGV0IGxudW0gLT0gMQorICAgICAgICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKKyAgICAgIGVuZHdoaWxlCisgICAgZW5kaWYKIAotICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKLQotICAiIGlmIHRoZSBsaW5lIGhhcyBhbiBlbmQgY29tbWVudCBzZXF1ZW5jZSB3ZSBuZWVkIHRvIGZpbmQgYSBsaW5lCi0gICIgdGhhdCBpc24ndCBhZmZlY3RlZCBieSB0aGUgY29tbWVudC4KLSAgaWYgbGluZSA9fiAnXCovJwotICAgIHdoaWxlIGxpbmUgIX4gJy9cKicKLSAgICAgIGxldCBsbnVtID0gbG51bSAtIDEKLSAgICAgIGxldCBsaW5lID0gZ2V0bGluZShsbnVtKQotICAgIGVuZHdoaWxlCi0gIGVuZGlmCi0KLSAgIiBpZiB0aGUgbGluZSB3ZSBmb3VuZCBvbmx5IGNvbnRhaW5lZCB0aGUgY29tbWVudCBhbmQgd2hpdGVzcGFjZQotICAiIHdlIG5lZWQgdG8gZmluZCBhbm90aGVyIGxpbmUgdG8gdXNlLi4uCi0gIGlmIGxpbmUgPX4gJ15ccyovXConCi0gICAgcmV0dXJuIHM6TG9va3VwTGluZShsbnVtKQotICBlbHNlCi0gICAgcmV0dXJuIGxudW0KLSAgZW5kaWYKKyAgICBpZiBsaW5lICF+ICdeXHMqL1wqJworICAgICAgcmV0dXJuIGxudW0KKyAgICBlbmQKKyAgZW5kd2hpbGUKKyAgcmV0dXJuIGxudW0KIGVuZGZ1bmN0aW9uCiAKIGZ1bmN0aW9uIEdldENTU0luZGVudCgpCi0gIGxldCBsbnVtID0gczpMb29rdXBMaW5lKHY6bG51bSkKLQorICBsZXQgbG51bSA9IHByZXZub25ibGFuayh2OmxudW0gLSAxKQogICBpZiBsbnVtID09IDAKICAgICByZXR1cm4gMAogICBlbmRpZgogCi0gICIgcmVtb3ZlIGNvbW1lbnRlZCBzdHVmZiBmcm9tIGxpbmUKLSAgbGV0IGxpbmUgPSBzdWJzdGl0dXRlKGdldGxpbmUobG51bSksICcvXCouXCovJywgJycsICdlZycpCi0KICAgbGV0IGluZCA9IGluZGVudChsbnVtKQogCi0gICIgY2hlY2sgZm9yIG9wZW5pbmcgYnJhY2Ugb24gdGhlIHByZXZpb3VzIGxpbmUKLSAgIiBza2lwIGlmIGl0IGFsc28gY29udGFpbnMgYSBjbG9zaW5nIGJyYWNlLi4uCi0gIGlmIGxpbmUgPX4gJ3tcKC4qfVwpXEAhJworICBpZiBzdWJzdGl0dXRlKGdldGxpbmUobG51bSksICcvXCouKicsICcnLCAnZScpID1+ICd7XCguKn1cKVxAIScKICAgICBsZXQgaW5kID0gaW5kICsgJnN3CiAgIGVuZGlmCiAKLSAgbGV0IGxpbmUgPSBnZXRsaW5lKHY6bG51bSkKLQotICAiIGNoZWNrIGZvciBjbG9zaW5nIGJyYWNlIGZpcnN0IG9uIGN1cnJlbnQgbGluZQotICBpZiBsaW5lID1+ICdeXHMqfScKLSAgICBsZXQgaW5kCT0gaW5kIC0gJnN3CisgIGlmIGdldGxpbmUodjpsbnVtKSA9fiAnXlxzKn0nCisgICAgbGV0IGluZCA9IGluZCAtICZzdwogICBlbmRpZgogCiAgIHJldHVybiBpbmQKIGVuZGZ1bmN0aW9uCi0KLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2RvY2JrLnZpbSBiL3J1bnRpbWUvaW5kZW50L2RvY2JrLnZpbQppbmRleCAyOTdhZDA0Li41NzViOTFmIDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9kb2Niay52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvZG9jYmsudmltCkBAIC0xLDEyICsxLDEwIEBACiAiIFZpbSBpbmRlbnQgZmlsZQotIiBMYW5ndWFnZToJICAgIERvY0Jvb2sgRG9jdW1lbnRhdGlvbiBGb3JtYXQKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2luZGVudC9wY3AvZG9jYmsvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICAzZDA3M2FmNy0xZDY5LTQyYTItOTlhZC05YTQ5YTIxZWIyOGYKKyIgTGFuZ3VhZ2U6ICAgICAgICAgRG9jQm9vayBEb2N1bWVudGF0aW9uIEZvcm1hdAorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAogaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQotICAgIGZpbmlzaAorICBmaW5pc2gKIGVuZGlmCiAKICIgU2FtZSBhcyBYTUwgaW5kZW50aW5nIGZvciBub3cuCkBAIC0xNSw1ICsxMywzIEBACiBpZiBleGlzdHMoJypYbWxJbmRlbnRHZXQnKQogICBzZXRsb2NhbCBpbmRlbnRleHByPVhtbEluZGVudEdldCh2OmxudW0sMCkKIGVuZGlmCi0KLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2V0ZXJtLnZpbSBiL3J1bnRpbWUvaW5kZW50L2V0ZXJtLnZpbQppbmRleCAyZTdiYTE4Li45MzhiOTRhIDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9ldGVybS52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvZXRlcm0udmltCkBAIC0xLDQ5ICsxLDM1IEBACiAiIFZpbSBpbmRlbnQgZmlsZQotIiBMYW5ndWFnZToJICAgIEV0ZXJtIGNvbmZpZ3VyYXRpb24gZmlsZQotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vaW5kZW50L3BjcC9ldGVybS8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNC0yNQotIiBhcmNoLXRhZzoJICAgIGEyMmE5MmIxLWM1OWYtNGY0Ny04MjA3LWIyMWRiNjU0OWIyMQorIiBMYW5ndWFnZTogICAgICAgICBFdGVybSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLSIgT25seSBsb2FkIHRoaXMgaW5kZW50IGZpbGUgd2hlbiBubyBvdGhlciB3YXMgbG9hZGVkLgogaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQogICBmaW5pc2gKIGVuZGlmCi0KIGxldCBiOmRpZF9pbmRlbnQgPSAxCiAKIHNldGxvY2FsIGluZGVudGV4cHI9R2V0RXRlcm1JbmRlbnQoKQogc2V0bG9jYWwgaW5kZW50a2V5cz0hXkYsbyxPLD1lbmQKIAotIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KIGlmIGV4aXN0cygiKkdldEV0ZXJtSW5kZW50IikKICAgZmluaXNoCiBlbmRpZgogCiBmdW5jdGlvbiBHZXRFdGVybUluZGVudCgpCi0gICIgRmluZCBhIG5vbi1ibGFuayBsaW5lIGFib3ZlIHRoZSBjdXJyZW50IGxpbmUuCiAgIGxldCBsbnVtID0gcHJldm5vbmJsYW5rKHY6bG51bSAtIDEpCi0KLSAgIiBIaXQgdGhlIHN0YXJ0IG9mIHRoZSBmaWxlLCB1c2UgemVybyBpbmRlbnQuCiAgIGlmIGxudW0gPT0gMAogICAgIHJldHVybiAwCiAgIGVuZGlmCiAKLSAgbGV0IGxpbmUgPSBnZXRsaW5lKGxudW0pCiAgIGxldCBpbmQgPSBpbmRlbnQobG51bSkKIAotICBpZiBsaW5lID1+ICdeXHMqYmVnaW5cPicKKyAgaWYgZ2V0bGluZShsbnVtKSA9fiAnXlxzKmJlZ2luXD4nCiAgICAgbGV0IGluZCA9IGluZCArICZzdwogICBlbmRpZgogCi0gIGxldCBsaW5lID0gZ2V0bGluZSh2OmxudW0pCi0KLSAgIiBDaGVjayBmb3IgY2xvc2luZyBicmFjZSBvbiBjdXJyZW50IGxpbmUKLSAgaWYgbGluZSA9fiAnXlxzKmVuZFw+JworICBpZiBnZXRsaW5lKHY6bG51bSkgPX4gJ15ccyplbmRcPicKICAgICBsZXQgaW5kID0gaW5kIC0gJnN3CiAgIGVuZGlmCiAKICAgcmV0dXJuIGluZAogZW5kZnVuY3Rpb24KLQotIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQvbGQudmltIGIvcnVudGltZS9pbmRlbnQvbGQudmltCmluZGV4IDhjNDk0Y2UuLjhiN2MwM2YgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L2xkLnZpbQorKysgYi9ydW50aW1lL2luZGVudC9sZC52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBpbmRlbnQgZmlsZQogIiBMYW5ndWFnZTogICAgICAgICBsZCgxKSBzY3JpcHQKICIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI4CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAogaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQogICBmaW5pc2gKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L21ha2UudmltIGIvcnVudGltZS9pbmRlbnQvbWFrZS52aW0KaW5kZXggZjM3NjQyNC4uOWRiNzdmMCAxMDA2NDQKLS0tIGEvcnVudGltZS9pbmRlbnQvbWFrZS52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvbWFrZS52aW0KQEAgLTEsMjEgKzEsMTYgQEAKICIgVmltIGluZGVudCBmaWxlCi0iIExhbmd1YWdlOgkgICAgTWFrZWZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2luZGVudC9wY3AvbWFrZS8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNC0yNQotIiBhcmNoLXRhZzoJICAgIGI1MzllMTQ3LWEwNWMtNDg2MC05OGFmLTFkMjQzNmRiMmY0YgorIiBMYW5ndWFnZTogICAgICAgICBNYWtlZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKLQogbGV0IGI6ZGlkX2luZGVudCA9IDEKIAogc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRNYWtlSW5kZW50KCkKIHNldGxvY2FsIGluZGVudGtleXM9IV5GLG8sTwogCi0iIE9ubHkgZGVmaW5lIHRoZSBmdW5jdGlvbiBvbmNlLgogaWYgZXhpc3RzKCIqR2V0TWFrZUluZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKQEAgLTIzLDM1ICsxOCwyOCBAQAogZnVuY3Rpb24gczpHZXRTdHJpbmdXaWR0aChsaW5lLCBzdHIpCiAgIGxldCBlbmQgPSBtYXRjaGVuZChhOmxpbmUsIGE6c3RyKQogICBsZXQgd2lkdGggPSAwCi0gIGxldCBpID0gMAotICB3aGlsZSBpIDwgZW5kCi0gICAgaWYgYTpsaW5lW2ldICE9ICJcdCIKLSAgICAgIGxldCB3aWR0aCA9IHdpZHRoICsgMQorICBmb3IgYyBpbiBhOmxpbmUKKyAgICBpZiBjID09ICJcdCIKKyAgICAgIGxldCB3aWR0aCArPSAmdHMgLSAod2lkdGggJSAmdHMpCiAgICAgZWxzZQotICAgICAgbGV0IHdpZHRoID0gd2lkdGggKyAmdHMgLSAod2lkdGggJSAmdHMpCisgICAgICBsZXQgd2lkdGggKz0gMQogICAgIGVuZGlmCi0gICAgbGV0IGkgPSBpICsgMQotICBlbmR3aGlsZQorICBlbmRmb3IKICAgcmV0dXJuIHdpZHRoCiBlbmRmdW5jdGlvbgogCiBmdW5jdGlvbiBHZXRNYWtlSW5kZW50KCkKLSAgaWYgdjpsbnVtID09IDEKKyAgbGV0IGxudW0gPSB2OmxudW0gLSAxCisgIGlmIGxudW0gPT0gMAogICAgIHJldHVybiAwCiAgIGVuZGlmCiAKLSAgbGV0IGluZCA9IGluZGVudCh2OmxudW0gLSAxKQotICBsZXQgbGluZSA9IGdldGxpbmUodjpsbnVtIC0gMSkKLQorICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKICAgaWYgbGluZSA9PSAnJwotICAgIGxldCBpbmQgPSAwCi0gIGVsc2VpZiBsaW5lID1+ICdeW14gXHQjOl1bXiM6XSo6XHsxLDJ9XChbXj06XVx8JFwpJwotICAgIGxldCBpbmQgPSBpbmQgKyAmdHMKLSAgZWxzZWlmIGxpbmUgPX4gJ15ccypcaFx3KlxzKj1ccyouXCtcXCQnCi0gICAgbGV0IGluZCA9IHM6R2V0U3RyaW5nV2lkdGgobGluZSwgJz1ccyonKQorICAgIHJldHVybiAwCisgIGVsc2VpZiBsaW5lID1+ICdeW14gXHQjOl1bXiM6XSo6XHsxLDJ9XCUoW149Ol1cfCRcKScKKyAgICByZXR1cm4gaW5kZW50KGxudW0pICsgJnRzCisgIGVsc2VpZiBsaW5lID1+ICdeXHMqXGhcdypccyorXD09XHMqLlwrXFwkJworICAgIHJldHVybiBzOkdldFN0cmluZ1dpZHRoKGxpbmUsICcrXD09XHMqJykKICAgZW5kaWYKLQotICByZXR1cm4gaW5kCiBlbmRmdW5jdGlvbgotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9yZWFkbGluZS52aW0gYi9ydW50aW1lL2luZGVudC9yZWFkbGluZS52aW0KaW5kZXggYjI2NDBmMS4uNTJkMmE3MSAxMDA2NDQKLS0tIGEvcnVudGltZS9pbmRlbnQvcmVhZGxpbmUudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L3JlYWRsaW5lLnZpbQpAQCAtMSw0OCArMSwzNSBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICByZWFkbGluZSBjb25maWd1cmF0aW9uIGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2luZGVudC9wY3AvcmVhZGxpbmUvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDQtMjUKLSIgYXJjaC10YWc6CSAgICBlZTY4MTIzNS0zYWJmLTRhNDItODU4Ny1lZGFiZDQwOWE5ODAKKyIgTGFuZ3VhZ2U6ICAgICAgICAgcmVhZGxpbmUgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQogCi0iIE9ubHkgbG9hZCB0aGlzIGluZGVudCBmaWxlIHdoZW4gbm8gb3RoZXIgd2FzIGxvYWRlZC4KIGlmIGV4aXN0cygiYjpkaWRfaW5kZW50IikKICAgZmluaXNoCiBlbmRpZgotCiBsZXQgYjpkaWRfaW5kZW50ID0gMQogCiBzZXRsb2NhbCBpbmRlbnRleHByPUdldFJlYWRsaW5lSW5kZW50KCkKIHNldGxvY2FsIGluZGVudGtleXM9IV5GLG8sTyw9JGVsc2UsPSRlbmRpZgogCi0iIE9ubHkgZGVmaW5lIHRoZSBmdW5jdGlvbiBvbmNlLgogaWYgZXhpc3RzKCIqR2V0UmVhZGxpbmVJbmRlbnQiKQogICBmaW5pc2gKIGVuZGlmCiAKIGZ1bmN0aW9uIEdldFJlYWRsaW5lSW5kZW50KCkKICAgbGV0IGxudW0gPSBwcmV2bm9uYmxhbmsodjpsbnVtIC0gMSkKLQogICBpZiBsbnVtID09IDAKICAgICByZXR1cm4gMAogICBlbmRpZgogCi0gIGxldCBsaW5lID0gZ2V0bGluZShsbnVtKQogICBsZXQgaW5kID0gaW5kZW50KGxudW0pCiAKLSAgIiBpbmNyZWFzZSBpbmRlbnQgaWYgcHJldmlvdXMgbGluZSBzdGFydGVkIHdpdGggJGlmIG9yICRlbHNlCi0gIGlmICBsaW5lID1+ICdeXHMqJFwoaWZcfGVsc2VcKVw+JworICBpZiBnZXRsaW5lKGxudW0pID1+ICdeXHMqJFwoaWZcfGVsc2VcKVw+JwogICAgIGxldCBpbmQgPSBpbmQgKyAmc3cKICAgZW5kaWYKIAotICBsZXQgbGluZSA9IGdldGxpbmUodjpsbnVtKQotCi0gICIgZGVjcmVhc2UgaW5kZW50IGlmIHRoaXMgbGluZSBzdGFydHMgd2l0aCAkZWxzZSBvciAkZW5kaWYKLSAgaWYgbGluZSA9fiAnXlxzKiRcKGVsc2VcfGVuZGlmXClcPicKKyAgaWYgZ2V0bGluZSh2OmxudW0pID1+ICdeXHMqJFwoZWxzZVx8ZW5kaWZcKVw+JwogICAgIGxldCBpbmQgPSBpbmQgLSAmc3cKICAgZW5kaWYKIAogICByZXR1cm4gaW5kCiBlbmRmdW5jdGlvbgotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC9yc3QudmltIGIvcnVudGltZS9pbmRlbnQvcnN0LnZpbQppbmRleCBjNjI2OWVjLi5mOThlNzU1IDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9yc3QudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L3JzdC52aW0KQEAgLTEsMjggKzEsMjIgQEAKICIgVmltIGluZGVudCBmaWxlCi0iIExhbmd1YWdlOgkgICAgcmVTdHJ1Y3R1cmVkVGV4dCBEb2N1bWVudGF0aW9uIEZvcm1hdAotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vaW5kZW50L3BjcC9yc3QvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDQtMjUKLSIgYXJjaC10YWc6CSAgICAzZmUxMGY3NS0yNGQwLTRkOTQtYTkyNC0wY2U5NDU5NTgxMDQKKyIgTGFuZ3VhZ2U6ICAgICAgICAgcmVTdHJ1Y3R1cmVkVGV4dCBEb2N1bWVudGF0aW9uIEZvcm1hdAorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKLQogbGV0IGI6ZGlkX2luZGVudCA9IDEKIAogc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRSU1RJbmRlbnQoKQotc2V0bG9jYWwgaW5kZW50a2V5cy09OiwwIyBpbmRlbnRrZXlzLT1lCitzZXRsb2NhbCBpbmRlbnRrZXlzPSFeRixvLE8KIAotIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KIGlmIGV4aXN0cygiKkdldFJTVEluZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKIAogZnVuY3Rpb24gR2V0UlNUSW5kZW50KCkKICAgbGV0IGxudW0gPSBwcmV2bm9uYmxhbmsodjpsbnVtIC0gMSkKLQogICBpZiBsbnVtID09IDAKICAgICByZXR1cm4gMAogICBlbmRpZgpAQCAtNDYsNyArNDAsNyBAQAogICAgICAgbGV0IGluZCA9IGluZCAtIDIKICAgICBlbHNlaWYgbGluZSA9fiAnXlxzKlxkXCtcLlxzJwogICAgICAgbGV0IGluZCA9IGluZCAtIG1hdGNoZW5kKHN1YnN0aXR1dGUobGluZSwgJ15ccyonLCAnJywgJycpLAotCSAgICBcICdcZFwrXC5cc1wrJykKKyAgICAgICAgICAgIFwgJ1xkXCtcLlxzXCsnKQogICAgIGVsc2VpZiBsaW5lID1+ICdeXHMqXC5cLicKICAgICAgIGxldCBpbmQgPSBpbmQgLSAzCiAgICAgZWxzZQpAQCAtNTYsNSArNTAsMyBAQAogCiAgIHJldHVybiBpbmQKIGVuZGZ1bmN0aW9uCi0KLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3NoLnZpbSBiL3J1bnRpbWUvaW5kZW50L3NoLnZpbQppbmRleCA4ODBhZDEyLi5iNmNlNzc0IDEwMDY0NAotLS0gYS9ydW50aW1lL2luZGVudC9zaC52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvc2gudmltCkBAIC0xLDMzICsxLDI2IEBACiAiIFZpbSBpbmRlbnQgZmlsZQotIiBMYW5ndWFnZToJICAgIFNoZWxsIFNjcmlwdAotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vaW5kZW50L3BjcC9zaC8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNC0yNQotIiBhcmNoLXRhZzoJICAgIDQzMWM3ZmMxLTEyYTYtNGQ3MS05NjM2LTE0OThlZjU2YjAzOAorIiBMYW5ndWFnZTogICAgICAgICBTaGVsbCBTY3JpcHQKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLSIgT25seSBsb2FkIHRoaXMgaW5kZW50IGZpbGUgd2hlbiBubyBvdGhlciB3YXMgbG9hZGVkLgogaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQogICBmaW5pc2gKIGVuZGlmCi0KIGxldCBiOmRpZF9pbmRlbnQgPSAxCiAKIHNldGxvY2FsIGluZGVudGV4cHI9R2V0U2hJbmRlbnQoKQogc2V0bG9jYWwgaW5kZW50a2V5cys9PXRoZW4sPWRvLD1lbHNlLD1lbGlmLD1lc2FjLD1maSw9ZmluLD1maWwsPWRvbmUKIHNldGxvY2FsIGluZGVudGtleXMtPTosMCMKIAotIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KIGlmIGV4aXN0cygiKkdldFNoSW5kZW50IikKICAgZmluaXNoCiBlbmRpZgogCi1zZXQgY3BvcHRpb25zLT1DCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCiAKIGZ1bmN0aW9uIEdldFNoSW5kZW50KCkKLSAgIiBGaW5kIGEgbm9uLWJsYW5rIGxpbmUgYWJvdmUgdGhlIGN1cnJlbnQgbGluZS4KICAgbGV0IGxudW0gPSBwcmV2bm9uYmxhbmsodjpsbnVtIC0gMSkKLQotICAiIEhpdCB0aGUgc3RhcnQgb2YgdGhlIGZpbGUsIHVzZSB6ZXJvIGluZGVudC4KICAgaWYgbG51bSA9PSAwCiAgICAgcmV0dXJuIDAKICAgZW5kaWYKQEAgLTM3LDggKzMwLDggQEAKICAgbGV0IGluZCA9IGluZGVudChsbnVtKQogICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKICAgaWYgbGluZSA9fiAnXlxzKlwoaWZcfHRoZW5cfGRvXHxlbHNlXHxlbGlmXHxjYXNlXHx3aGlsZVx8dW50aWxcfGZvclwpXD4nCi0JXCB8fCBsaW5lID1+ICdeXHMqXDxcaFx3Klw+XHMqKClccyp7JwotCVwgfHwgbGluZSA9fiAnXlxzKnsnCisgICAgICAgIFwgfHwgbGluZSA9fiAnXlxzKlw8XGtcK1w+XHMqKClccyp7JworICAgICAgICBcIHx8IGxpbmUgPX4gJ15ccyp7JwogICAgIGlmIGxpbmUgIX4gJ1woZXNhY1x8ZmlcfGRvbmVcKVw+XHMqJCcgJiYgbGluZSAhfiAnfVxzKiQnCiAgICAgICBsZXQgaW5kID0gaW5kICsgJnN3CiAgICAgZW5kaWYKQEAgLTQ4LDExICs0MSwxMiBAQAogICAiIFJldGFpbiB0aGUgaW5kZW50YXRpb24gbGV2ZWwgaWYgbGluZSBtYXRjaGVzIGZpbiAoZm9yIGZpbmQpCiAgIGxldCBsaW5lID0gZ2V0bGluZSh2OmxudW0pCiAgIGlmIChsaW5lID1+ICdeXHMqXCh0aGVuXHxkb1x8ZWxzZVx8ZWxpZlx8ZXNhY1x8ZmlcfGRvbmVcKVw+JyB8fCBsaW5lID1+ICdeXHMqfScpCi0JXCAmJiBsaW5lICF+ICdeXHMqZmlbbG5dXD4nCisgICAgICAgIFwgJiYgbGluZSAhfiAnXlxzKmZpW2xuXVw+JwogICAgIGxldCBpbmQgPSBpbmQgLSAmc3cKICAgZW5kaWYKIAogICByZXR1cm4gaW5kCiBlbmRmdW5jdGlvbgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3RjbC52aW0gYi9ydW50aW1lL2luZGVudC90Y2wudmltCmluZGV4IDMyNjU3NWUuLjgzZTc3MTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3RjbC52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvdGNsLnZpbQpAQCAtMSwyNyArMSwyMSBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBUY2wKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2luZGVudC9wY3AvdGNsLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIxCi0iIGFyY2gtdGFnOgkgICAgNjRmYWIxZmEtZDY3MC00MGFiLWExOTEtNTU2NzhmMjBjZWIwCisiIExhbmd1YWdlOiAgICAgICAgIFRjbAorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotIiBvbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCiAgIGZpbmlzaAogZW5kaWYKLQogbGV0IGI6ZGlkX2luZGVudCA9IDEKIAogc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRUY2xJbmRlbnQoKQotc2V0bG9jYWwgaW5kZW50a2V5cy09OiwwIwotc2V0bG9jYWwgaW5kZW50a2V5cys9MF0KK3NldGxvY2FsIGluZGVudGtleXM9MHssMH0sIV5GLG8sTywwXQogCi0iIG9ubHkgZGVmaW5lIHRoZSBmdW5jdGlvbiBvbmNlLgogaWYgZXhpc3RzKCIqR2V0VGNsSW5kZW50IikKICAgZmluaXNoCiBlbmRpZgogCi1mdW5jdGlvbiBzOlByZXZOb25CbGFua05vbkNvbW1lbnQobG51bSkKK2Z1bmN0aW9uIHM6cHJldm5vbmJsYW5rbm9uY29tbWVudChsbnVtKQogICBsZXQgbG51bSA9IHByZXZub25ibGFuayhhOmxudW0pCiAgIHdoaWxlIGxudW0gPiAwCiAgICAgbGV0IGxpbmUgPSBnZXRsaW5lKGxudW0pCkBAIC0zMyw5MSArMjcsNDQgQEAKICAgcmV0dXJuIGxudW0KIGVuZGZ1bmN0aW9uCiAKLWZ1bmN0aW9uISBHZXRUY2xJbmRlbnQoKQotICBsZXQgbG51bSA9IHM6UHJldk5vbkJsYW5rTm9uQ29tbWVudCh2OmxudW0gLSAxKQorZnVuY3Rpb24gczpjb3VudF9icmFjZXMobG51bSwgY291bnRfb3BlbikKKyAgbGV0IG5fb3BlbiA9IDAKKyAgbGV0IG5fY2xvc2UgPSAwCisgIGxldCBsaW5lID0gZ2V0bGluZShhOmxudW0pCisgIGxldCBwYXR0ZXJuID0gJ1xcXEA8IVt7fV0nCisgIGxldCBpID0gbWF0Y2gobGluZSwgcGF0dGVybikKKyAgd2hpbGUgaSAhPSAtMQorICAgIGlmIHN5bklEYXR0cihzeW5JRChhOmxudW0sIGkgKyAxLCAxKSwgJ25hbWUnKSAhfiAndGNsXCUoQ29tbWVudFx8U3RyaW5nXCknCisgICAgICBpZiBsaW5lW2ldID09ICd7JworICAgICAgICBsZXQgbl9vcGVuICs9IDEKKyAgICAgIGVsc2VpZiBsaW5lW2ldID09ICd9JworICAgICAgICBpZiBuX29wZW4gPiAwCisgICAgICAgICAgbGV0IG5fb3BlbiAtPSAxCisgICAgICAgIGVsc2UKKyAgICAgICAgICBsZXQgbl9jbG9zZSArPSAxCisgICAgICAgIGVuZGlmCisgICAgICBlbmRpZgorICAgIGVuZGlmCisgICAgbGV0IGkgPSBtYXRjaChsaW5lLCBwYXR0ZXJuLCBpICsgMSkKKyAgZW5kd2hpbGUKKyAgcmV0dXJuIGE6Y291bnRfb3BlbiA/IG5fb3BlbiA6IG5fY2xvc2UKK2VuZGZ1bmN0aW9uCiAKLSAgaWYgbG51bSA9PSAwCitmdW5jdGlvbiBHZXRUY2xJbmRlbnQoKQorICBsZXQgcG51bSA9IHM6cHJldm5vbmJsYW5rbm9uY29tbWVudCh2OmxudW0gLSAxKQorICBpZiBwbnVtID09IDAKICAgICByZXR1cm4gMAogICBlbmRpZgogCi0gIGxldCBsaW5lID0gZ2V0bGluZShsbnVtKQotICBsZXQgaW5kID0gaW5kZW50KGxudW0pCisgIGxldCBpbmQgPSBpbmRlbnQocG51bSkgKyBzOmNvdW50X2JyYWNlcyhwbnVtLCAxKSAqICZzdworICBpZiBnZXRsaW5lKHBudW0pID1+ICdcXCQnCisgICAgbGV0IGluZCArPSAmc3cKKyAgZW5kaWYKIAotICAiIFRPRE86IFBvc3NpYmxlIGltcHJvdmVtZW50LCBjaGVjayB0aGF0ICdiZWdpbicgYW5kICdlbmQnIGFyZW4ndCBpbnNpZGUgYQotICAiIGNvbW1lbnQgb3Igc3RyaW5nLiAgVGhpcyB3aWxsIG1lc3MgaXQgdXAuICBBcyBJIGFtIHByZXNzZWQgZm9yIHRpbWUgYW5kCi0gICIgc3R1ZmYgbGlrZSB0aGlzIGlzIHVubGlrZWx5IHRvIGhhcHBlbiBJIHdvbid0IGRlYWwgd2l0aCBpdCBpbiB0aGlzCi0gICIgdmVyc2lvbi4KLSAgbGV0IG9wZW4gPSAwCi0gIGxldCBiZWdpbiA9IG1hdGNoKGxpbmUsICd7JywgMCkKLSAgd2hpbGUgYmVnaW4gPiAtMQotICAgIGxldCBlbmQgPSBtYXRjaChsaW5lLCAnfScsIGJlZ2luICsgMSkKLSAgICBpZiBlbmQgPCAwCi0gICAgICBsZXQgb3BlbiA9IG9wZW4gKyAxCi0gICAgZWxzZQotICAgICAgbGV0IHRtcCA9IG1hdGNoKGxpbmUsICd7JywgYmVnaW4gKyAxKQotICAgICAgaWYgdG1wICE9IC0xICYmIHRtcCA8IGVuZAotCWxldCBvcGVuID0gb3BlbiArIDEKLSAgICAgIGVuZGlmCi0gICAgZW5kaWYKLSAgICBsZXQgYmVnaW4gPSBtYXRjaChsaW5lLCAneycsIGJlZ2luICsgMSkKLSAgZW5kd2hpbGUKKyAgbGV0IHBudW0gPSBzOnByZXZub25ibGFua25vbmNvbW1lbnQocG51bSAtIDEpCisgIGlmIHBudW0gPiAwICYmIGdldGxpbmUocG51bSkgPX4gJ1xcJCcKKyAgICBsZXQgaW5kIC09ICZzdworICBlbmRpZgogCi0gIGxldCBiZWdpbiA9IG1hdGNoKGxpbmUsICdbJywgMCkKLSAgd2hpbGUgYmVnaW4gPiAtMQotICAgIGxldCBlbmQgPSBtYXRjaChsaW5lLCAnXScsIGJlZ2luICsgMSkKLSAgICBpZiBlbmQgPCAwCi0gICAgICBsZXQgb3BlbiA9IG9wZW4gKyAxCi0gICAgZWxzZQotICAgICAgbGV0IHRtcCA9IG1hdGNoKGxpbmUsICd7JywgYmVnaW4gKyAxKQotICAgICAgaWYgdG1wICE9IC0xICYmIHRtcCA8IGVuZAotCWxldCBvcGVuID0gb3BlbiArIDEKLSAgICAgIGVuZGlmCi0gICAgZW5kaWYKLSAgICBsZXQgYmVnaW4gPSBtYXRjaChsaW5lLCAneycsIGJlZ2luICsgMSkKLSAgZW5kd2hpbGUKLQotICBsZXQgY2xvc2UgPSAwCi0gIGxldCBwcmV2ID0gMAotICBsZXQgZW5kID0gbWF0Y2hlbmQobGluZSwgJ15ccyp9Lip9JywgcHJldikKLSAgd2hpbGUgZW5kID4gLTEKLSAgICBsZXQgYmVnaW4gPSBtYXRjaChsaW5lLCAneycsIHByZXYgKyAxKQotICAgIGlmIGJlZ2luIDwgMCB8fCBiZWdpbiA+IHByZXYKLSAgICAgIGxldCBjbG9zZSA9IGNsb3NlICsgMQotICAgIGVuZGlmCi0gICAgbGV0IHByZXYgPSBlbmQKLSAgICBsZXQgZW5kID0gbWF0Y2gobGluZSwgJ30nLCBwcmV2ICsgMSkKLSAgZW5kd2hpbGUKLQotICBsZXQgcHJldiA9IDAKLSAgbGV0IGVuZCA9IG1hdGNoKGxpbmUsICddJywgcHJldikKLSAgd2hpbGUgZW5kID4gLTEKLSAgICBsZXQgYmVnaW4gPSBtYXRjaChsaW5lLCAnWycsIHByZXYgKyAxKQotICAgIGlmIGJlZ2luIDwgMCB8fCBiZWdpbiA+IHByZXYKLSAgICAgIGxldCBjbG9zZSA9IGNsb3NlICsgMQotICAgIGVuZGlmCi0gICAgbGV0IHByZXYgPSBlbmQKLSAgICBsZXQgZW5kID0gbWF0Y2gobGluZSwgJ10nLCBwcmV2ICsgMSkKLSAgZW5kd2hpbGUKLQotICBsZXQgaW5kID0gaW5kICsgKG9wZW4gLSBjbG9zZSkgKiAmc3cKLQotICBsZXQgbGluZSA9IGdldGxpbmUodjpsbnVtKQotCi0gIGxldCBjbG9zZSA9IDAKLSAgbGV0IHByZXYgPSAwCi0gIGxldCBlbmQgPSBtYXRjaChsaW5lLCAnfScsIHByZXYpCi0gIHdoaWxlIGVuZCA+IC0xCi0gICAgbGV0IGJlZ2luID0gbWF0Y2gobGluZSwgJ3snLCBwcmV2ICsgMSkKLSAgICBpZiBiZWdpbiA8IDAgfHwgYmVnaW4gPiBwcmV2Ci0gICAgICBsZXQgY2xvc2UgPSBjbG9zZSArIDEKLSAgICBlbmRpZgotICAgIGxldCBwcmV2ID0gZW5kCi0gICAgbGV0IGVuZCA9IG1hdGNoKGxpbmUsICd9JywgcHJldiArIDEpCi0gIGVuZHdoaWxlCi0KLSAgbGV0IGluZCA9IGluZCAtIGNsb3NlICogJnN3Ci0KLSAgcmV0dXJuIGluZCA+PSAwID8gaW5kIDogMAorICByZXR1cm4gaW5kIC0gczpjb3VudF9icmFjZXModjpsbnVtLCAwKSAqICZzdwogZW5kZnVuY3Rpb24KLQotIiB2aW06IHNldCBzdHM9MiBzdz0yOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9pbmRlbnQveGY4NmNvbmYudmltIGIvcnVudGltZS9pbmRlbnQveGY4NmNvbmYudmltCmluZGV4IGY5ZGIxYmEuLmYxZjFjOGUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3hmODZjb25mLnZpbQorKysgYi9ydW50aW1lL2luZGVudC94Zjg2Y29uZi52aW0KQEAgLTEsMjEgKzEsMTYgQEAKICIgVmltIGluZGVudCBmaWxlCi0iIExhbmd1YWdlOgkgICAgWEZyZWU4NiBDb25maWd1cmF0aW9uIEZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2luZGVudC9wY3AveGY4NmNvbmYvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDQtMjUKLSIgYXJjaC10YWc6CSAgICA4YTQyZjdiNi01MDg4LTQ5Y2YtYjE1Yi0wNzY5NmE5MWMwMTUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgWEZyZWU4NiBDb25maWd1cmF0aW9uIEZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLSIgT25seSBsb2FkIHRoaXMgaW5kZW50IGZpbGUgd2hlbiBubyBvdGhlciB3YXMgbG9hZGVkLgogaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQogICBmaW5pc2gKIGVuZGlmCi0KIGxldCBiOmRpZF9pbmRlbnQgPSAxCiAKIHNldGxvY2FsIGluZGVudGV4cHI9R2V0WEY4NkNvbmZJbmRlbnQoKQogc2V0bG9jYWwgaW5kZW50a2V5cz0hXkYsbyxPLD1FbmQKIAotIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KIGlmIGV4aXN0cygiKkdldFhGODZDb25mSW5kZW50IikKICAgZmluaXNoCiBlbmRpZgpAQCAtMjgsMTUgKzIzLDE0IEBACiAgIGVuZGlmCiAKICAgbGV0IGluZCA9IGluZGVudChsbnVtKQotICBsZXQgbGluZSA9IGdldGxpbmUobG51bSkKIAotICBpZiBsaW5lID1+PyAnXlxzKlwoU3ViXClcPVNlY3Rpb24nCisgIGlmIGdldGxpbmUobG51bSkgPX4/ICdeXHMqXChTdWJcKVw9U2VjdGlvblw+JwogICAgIGxldCBpbmQgPSBpbmQgKyAmc3cKLSAgZWxzZWlmIGdldGxpbmUodjpsbnVtKSA9fj8gJ15ccypFbmQnCisgIGVuZGlmCisKKyAgaWYgZ2V0bGluZSh2OmxudW0pID1+PyAnXlxzKkVuZFw+JwogICAgIGxldCBpbmQgPSBpbmQgLSAmc3cKICAgZW5kaWYKIAogICByZXR1cm4gaW5kCiBlbmRmdW5jdGlvbgotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC94aW5ldGQudmltIGIvcnVudGltZS9pbmRlbnQveGluZXRkLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ODM4MTYzCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9pbmRlbnQveGluZXRkLnZpbQpAQCAtMCwwICsxLDQ5IEBACisiIFZpbSBpbmRlbnQgZmlsZQorIiBMYW5ndWFnZTogICAgICAgICB4aW5ldGQuY29uZig1KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI4CisKK2lmIGV4aXN0cygiYjpkaWRfaW5kZW50IikKKyAgZmluaXNoCitlbmRpZgorbGV0IGI6ZGlkX2luZGVudCA9IDEKKworc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRYaW5ldGRJbmRlbnQoKQorc2V0bG9jYWwgaW5kZW50a2V5cz0weywwfSwhXkYsbyxPCisKK2lmIGV4aXN0cygiKkdldFhpbmV0ZEluZGVudCIpCisgIGZpbmlzaAorZW5kaWYKKworZnVuY3Rpb24gczpjb3VudF9icmFjZXMobG51bSwgY291bnRfb3BlbikKKyAgbGV0IG5fb3BlbiA9IDAKKyAgbGV0IG5fY2xvc2UgPSAwCisgIGxldCBsaW5lID0gZ2V0bGluZShhOmxudW0pCisgIGxldCBwYXR0ZXJuID0gJ1t7fV0nCisgIGxldCBpID0gbWF0Y2gobGluZSwgcGF0dGVybikKKyAgd2hpbGUgaSAhPSAtMQorICAgIGlmIHN5bklEYXR0cihzeW5JRChhOmxudW0sIGkgKyAxLCAwKSwgJ25hbWUnKSAhfiAnbGRcJShDb21tZW50XHxTdHJpbmdcKScKKyAgICAgIGlmIGxpbmVbaV0gPT0gJ3snCisgICAgICAgIGxldCBuX29wZW4gKz0gMQorICAgICAgZWxzZWlmIGxpbmVbaV0gPT0gJ30nCisgICAgICAgIGlmIG5fb3BlbiA+IDAKKyAgICAgICAgICBsZXQgbl9vcGVuIC09IDEKKyAgICAgICAgZWxzZQorICAgICAgICAgIGxldCBuX2Nsb3NlICs9IDEKKyAgICAgICAgZW5kaWYKKyAgICAgIGVuZGlmCisgICAgZW5kaWYKKyAgICBsZXQgaSA9IG1hdGNoKGxpbmUsIHBhdHRlcm4sIGkgKyAxKQorICBlbmR3aGlsZQorICByZXR1cm4gYTpjb3VudF9vcGVuID8gbl9vcGVuIDogbl9jbG9zZQorZW5kZnVuY3Rpb24KKworZnVuY3Rpb24gR2V0WGluZXRkSW5kZW50KCkKKyAgbGV0IHBudW0gPSBwcmV2bm9uYmxhbmsodjpsbnVtIC0gMSkKKyAgaWYgcG51bSA9PSAwCisgICAgcmV0dXJuIDAKKyAgZW5kaWYKKworICByZXR1cm4gaW5kZW50KHBudW0pICsgczpjb3VudF9icmFjZXMocG51bSwgMSkgKiAmc3cKKyAgICAgICAgXCAtIHM6Y291bnRfYnJhY2VzKHY6bG51bSwgMCkgKiAmc3cKK2VuZGZ1bmN0aW9uCmRpZmYgLS1naXQgYS9ydW50aW1lL2luZGVudC95YWNjLnZpbSBiL3J1bnRpbWUvaW5kZW50L3lhY2MudmltCmluZGV4IDRlYThmNmEuLjlkMDc5OGQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3lhY2MudmltCisrKyBiL3J1bnRpbWUvaW5kZW50L3lhY2MudmltCkBAIC0xLDkgKzEsNyBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBZQUNDIGlucHV0IGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL2luZGVudC9wY3AveWFjYy8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNC0yNQotIiBhcmNoLXRhZzoJICAgIDYyOWFhNzE5LThmZTQtNDc4Ny1hZGI3LWFlOTRjYTgwMTYxMAorIiBMYW5ndWFnZTogICAgICAgICBZQUNDIGlucHV0IGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKICIgT25seSBsb2FkIHRoaXMgaW5kZW50IGZpbGUgd2hlbiBubyBvdGhlciB3YXMgbG9hZGVkLgogaWYgZXhpc3RzKCJiOmRpZF9pbmRlbnQiKQpAQCAtNDAsNSArMzgsMyBAQAogCiAgIHJldHVybiBpbmQKIGVuZGZ1bmN0aW9uCi0KLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3pzaC52aW0gYi9ydW50aW1lL2luZGVudC96c2gudmltCmluZGV4IGZmMjhkOTkuLjcyYjAwYjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3pzaC52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvenNoLnZpbQpAQCAtMSwxMSArMSwxMSBAQAogIiBWaW0gaW5kZW50IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBac2ggU2hlbGwgU2NyaXB0Ci0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9pbmRlbnQvcGNwL3pzaC8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgotIiBhcmNoLXRhZzoJICAgIGU1NjZmNTVmLWQ4YzAtNGM2MC1iNGIzLTYwYzBkYmQ2ZGVhMQorIiBMYW5ndWFnZTogICAgICAgICBac2ggU2hlbGwgU2NyaXB0CisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCisgIGZpbmlzaAorZW5kaWYKIAogIiBTYW1lIGFzIHNoIGluZGVudGluZyBmb3Igbm93LgogcnVudGltZSEgaW5kZW50L3NoLnZpbQotCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9hbHNhY29uZi52aW0gYi9ydW50aW1lL3N5bnRheC9hbHNhY29uZi52aW0KaW5kZXggOTBkMDM2MC4uMGUzMzYyYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYWxzYWNvbmYudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2Fsc2Fjb25mLnZpbQpAQCAtMSw3MiArMSw1MSBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBBTFNBIGNvbmZpZ3VyYXRpb24gZmlsZQotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wOS0xMAotIiBhcmNoLXRhZzoJICAgIDNlMDZmZTUzLTI4ZDUtNDRhMS04NzFkLTI3OWYyMmU3YWVkNAorIiBMYW5ndWFnZTogICAgICAgICBhbHNhY29uZig4KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiB0b2RvCi1zeW4ga2V5d29yZCBhbHNvY29uZlRvZG8gICAgICBjb250YWluZWQgRklYTUUgVE9ETyBYWFggTk9URQorbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIGNvbW1lbnRzCi1zeW4gcmVnaW9uICBhbHNhY29uZkNvbW1lbnQgICBtYXRjaGdyb3VwPWFsc2Fjb25mQ29tbWVudCBzdGFydD0iIyIgZW5kPSIkIgotCQkJICAgICAgXCBjb250YWlucz1hbHNhY29uZlRvZG8KK3N5biBrZXl3b3JkIGFsc29jb25mVG9kbyAgICAgICAgY29udGFpbmVkIEZJWE1FIFRPRE8gWFhYIE5PVEUKIAotIiBzcGVjaWFsIGNoYXJhY3RlcnMKLXN5biBtYXRjaCAgIGFsc2Fjb25mU3BlY2lhbENoYXIJY29udGFpbmVkICJcXFtudHZicmZdIgotc3luIG1hdGNoICAgYWxzYWNvbmZTcGVjaWFsQ2hhcgljb250YWluZWQgIlxcXG9cKyIKK3N5biByZWdpb24gIGFsc2Fjb25mQ29tbWVudCAgICAgbWF0Y2hncm91cD1hbHNhY29uZkNvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWFsc2Fjb25mVG9kbyxAU3BlbGwKIAotIiBzdHJpbmdzCi1zeW4gcmVnaW9uICBhbHNhY29uZlN0cmluZyAgICBtYXRjaGdyb3VwPWFsc2Fjb25mU3RyaW5nIHN0YXJ0PSsiKyBza2lwPStcXCQrCi0JCQkgICAgICBcIGVuZD0rIisgZW5kPSskKyBjb250YWlucz1hbHNhY29uZlNwZWNpYWxDaGFyCitzeW4gbWF0Y2ggICBhbHNhY29uZlNwZWNpYWxDaGFyIGNvbnRhaW5lZCBkaXNwbGF5ICdcXFtudHZicmZdJworc3luIG1hdGNoICAgYWxzYWNvbmZTcGVjaWFsQ2hhciBjb250YWluZWQgZGlzcGxheSAnXFxcb1wrJwogCi0iIHByZXByb2Nlc3NvciBzcGVjaWFsCi1zeW4gbWF0Y2ggICBhbHNhY29uZlNwZWNpYWwgICBjb250YWluZWQgImNvbmZkaXI6Igorc3luIHJlZ2lvbiAgYWxzYWNvbmZTdHJpbmcgICAgICBtYXRjaGdyb3VwPWFsc2Fjb25mU3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9KyIrIHNraXA9K1xcJCsgZW5kPSsiKyBlbmQ9KyQrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9YWxzYWNvbmZTcGVjaWFsQ2hhcgogCi0iIHByZXByb2Nlc3Nvcgotc3luIHJlZ2lvbiAgYWxzYWNvbmZQcmVQcm9jICAgbWF0Y2hncm91cD1hbHNhY29uZlByZVByb2Mgc3RhcnQ9IjwiIGVuZD0iPiIKLQkJCSAgICAgIFwgY29udGFpbnM9YWxzYWNvbmZTcGVjaWFsCitzeW4gbWF0Y2ggICBhbHNhY29uZlNwZWNpYWwgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdjb25mZGlyOicKIAotIiBtb2Rlcwotc3luIG1hdGNoICAgYWxzYWNvbmZNb2RlICAgICAgIlsrPyEtXSIKK3N5biByZWdpb24gIGFsc2Fjb25mUHJlUHJvYyAgICAgbWF0Y2hncm91cD1hbHNhY29uZlByZVByb2Mgc3RhcnQ9JzwnIGVuZD0nPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1hbHNhY29uZlNwZWNpYWwKIAotIiBrZXl3b3Jkcwotc3luIGtleXdvcmQgYWxzYWNvbmZLZXl3b3JkICAgY2FyZCBkZWZhdWx0IGRldmljZSBlcnJvcnMgZmlsZXMgZnVuYyBzdHJpbmdzCi1zeW4ga2V5d29yZCBhbHNhY29uZktleXdvcmQgICBzdWJkZXZpY2UgdHlwZSB2YXJzCitzeW4gbWF0Y2ggICBhbHNhY29uZk1vZGUgICAgICAgIGRpc3BsYXkgJ1srPyEtXScKIAotIiB2YXJpYWJsZXMKLXN5biBtYXRjaCAgIGFsc2Fjb25mVmFyaWFibGVzICJAXChob29rc1x8ZnVuY1x8YXJnc1wpIgorc3luIGtleXdvcmQgYWxzYWNvbmZLZXl3b3JkICAgICBjYXJkIGRlZmF1bHQgZGV2aWNlIGVycm9ycyBmaWxlcyBmdW5jIHN0cmluZ3MKK3N5biBrZXl3b3JkIGFsc2Fjb25mS2V5d29yZCAgICAgc3ViZGV2aWNlIHR5cGUgdmFycwogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9hbHNhY29uZl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9kaXJjb2xvcnNfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK3N5biBtYXRjaCAgIGFsc2Fjb25mVmFyaWFibGVzICAgZGlzcGxheSAnQFwoaG9va3NcfGZ1bmNcfGFyZ3NcKScKIAotICBIaUxpbmsgYWxzb2NvbmZUb2RvCSAgICAgIFRvZG8KLSAgSGlMaW5rIGFsc2Fjb25mQ29tbWVudCAgICAgIENvbW1lbnQKLSAgSGlMaW5rIGFsc2Fjb25mU3BlY2lhbENoYXIgIFNwZWNpYWxDaGFyCi0gIEhpTGluayBhbHNhY29uZlN0cmluZwkgICAgICBTdHJpbmcKLSAgSGlMaW5rIGFsc2Fjb25mU3BlY2lhbCAgICAgIFNwZWNpYWwKLSAgSGlMaW5rIGFsc2Fjb25mUHJlUHJvYyAgICAgIFByZVByb2MKLSAgSGlMaW5rIGFsc2Fjb25mTW9kZQkgICAgICBTcGVjaWFsCi0gIEhpTGluayBhbHNhY29uZktleXdvcmQgICAgICBLZXl3b3JkCi0gIEhpTGluayBhbHNhY29uZlZhcmlhYmxlcyAgICBJZGVudGlmaWVyCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayBhbHNvY29uZlRvZG8gICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGFsc2Fjb25mQ29tbWVudCAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgYWxzYWNvbmZTcGVjaWFsQ2hhciBTcGVjaWFsQ2hhcgoraGkgZGVmIGxpbmsgYWxzYWNvbmZTdHJpbmcgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIGFsc2Fjb25mU3BlY2lhbCAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgYWxzYWNvbmZQcmVQcm9jICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBhbHNhY29uZk1vZGUgICAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIGFsc2Fjb25mS2V5d29yZCAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgYWxzYWNvbmZWYXJpYWJsZXMgICBJZGVudGlmaWVyCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFsc2Fjb25mIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FyY2gudmltIGIvcnVudGltZS9zeW50YXgvYXJjaC52aW0KaW5kZXggZDI1OTNmZC4uNjYzY2NhOCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYXJjaC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvYXJjaC52aW0KQEAgLTEsNjAgKzEsMzUgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgR05VIEFyY2ggaW52ZW50b3J5IGZpbGUuCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2FyY2gvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICA1MjlkNjBjNC01M2Q4LTRkM2EtODBkNi01NGFkYTg2ZDk5MzIKKyIgTGFuZ3VhZ2U6ICAgICAgICAgR05VIEFyY2ggaW52ZW50b3J5IGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBTZXQgaXNrZXl3b3JkIHNpbmNlIHdlIG5lZWQgYC0nIChhbmQgcG90ZW50aWFsbHkgb3RoZXJzKSBpbiBrZXl3b3Jkcy4KLSIgRm9yIHZlcnNpb24gNS54OiBTZXQgaXQgZ2xvYmFsbHkKLSIgRm9yIHZlcnNpb24gNi54OiBTZXQgaXQgbG9jYWxseQotaWYgdmVyc2lvbiA+PSA2MDAKLSAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgotZWxzZQotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXQgaXNrZXl3b3JkPTxhcmdzPgotZW5kaWYKLVNldElzayBALDQ4LTU3LF8sLQotZGVsY29tbWFuZCBTZXRJc2sKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBUb2RvCi1zeW4ga2V5d29yZCBhcmNoVG9kbwkgIFRPRE8gRklYTUUgWFhYIE5PVEUKK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LF8sLQogCi0iIENvbW1lbnQKLXN5biByZWdpb24gIGFyY2hDb21tZW50ICBtYXRjaGdyb3VwPWFyY2hDb21tZW50IHN0YXJ0PSdeXCUoI1x8XHNcKScgZW5kPSckJyBjb250YWlucz1hcmNoVG9kbworc3luIGtleXdvcmQgYXJjaFRvZG8gICAgVE9ETyBGSVhNRSBYWFggTk9URQogCi0iIEtleXdvcmRzCi1zeW4ga2V5d29yZCBhcmNoS2V5d29yZCAgaW1wbGljaXQgdGFnbGluZSBleHBsaWNpdCBuYW1lcwotc3luIGtleXdvcmQgYXJjaEtleXdvcmQgIHVudGFnZ2VkLXNvdXJjZQotc3luIGtleXdvcmQgYXJjaEtleXdvcmQgIGV4Y2x1ZGUganVuayBiYWNrdXAgcHJlY2lvdXMgdW5yZWNvZ25pemVkIHNvdXJjZSBza2lwd2hpdGUgbmV4dGdyb3VwPWFyY2hSZWdleAorc3luIHJlZ2lvbiAgYXJjaENvbW1lbnQgZGlzcGxheSBtYXRjaGdyb3VwPWFyY2hDb21tZW50CisgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXCUoI1x8XHNcKScgZW5kPSckJyBjb250YWlucz1hcmNoVG9kbyxAU3BlbGwKIAotIiBSZWdleGVzCi1zeW4gbWF0Y2ggICBhcmNoUmVnZXggICAgY29udGFpbmVkICdccypcenMuKicKK3N5biBrZXl3b3JkIGFyY2hLZXl3b3JkIGltcGxpY2l0IHRhZ2xpbmUgZXhwbGljaXQgbmFtZXMKK3N5biBrZXl3b3JkIGFyY2hLZXl3b3JkIHVudGFnZ2VkLXNvdXJjZQorc3luIGtleXdvcmQgYXJjaEtleXdvcmQgZXhjbHVkZSBqdW5rIGJhY2t1cCBwcmVjaW91cyB1bnJlY29nbml6ZWQgc291cmNlCisgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBuZXh0Z3JvdXA9YXJjaFJlZ2V4CiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FyY2hfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfYXJjaF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorc3luIG1hdGNoICAgYXJjaFJlZ2V4ICAgY29udGFpbmVkICdccypcenMuKicKIAotICBIaUxpbmsgYXJjaFRvZG8gICAgIFRvZG8KLSAgSGlMaW5rIGFyY2hDb21tZW50ICBDb21tZW50Ci0gIEhpTGluayBhcmNoS2V5d29yZCAgS2V5d29yZAotICBIaUxpbmsgYXJjaFJlZ2V4ICAgIFN0cmluZwotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgoraGkgZGVmIGxpbmsgYXJjaFRvZG8gICAgVG9kbworaGkgZGVmIGxpbmsgYXJjaENvbW1lbnQgQ29tbWVudAoraGkgZGVmIGxpbmsgYXJjaEtleXdvcmQgS2V5d29yZAoraGkgZGVmIGxpbmsgYXJjaFJlZ2V4ICAgU3RyaW5nCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImFyY2giCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYmRmLnZpbSBiL3J1bnRpbWUvc3ludGF4L2JkZi52aW0KaW5kZXggM2ZjNDA0YS4uZTc5YTY0OCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYmRmLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9iZGYudmltCkBAIC0xLDg2ICsxLDk3IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIEJERiBGb250IGRlZmluaXRpb24KLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvYmRmLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTA2Ci0iIGFyY2gtdGFnOgkgICAgYjY5NmI2YmEtYWYyNC00MWJhLWI0ZWItZDI0ODQ5NWVjYTY4CisiIExhbmd1YWdlOiAgICAgICAgIEJERiBmb250IGRlZmluaXRpb24KKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI3CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBudW1iZXJzCi1zeW4gbWF0Y2ggICBiZGZOdW1iZXIJICAgIGRpc3BsYXkgIlw8XChceFwrXHxcZFwrXC5cZFwrXClcPiIKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBjb21tZW50cwotc3luIHJlZ2lvbiAgYmRmQ29tbWVudAkgICAgc3RhcnQ9Il5DT01NRU5UXD4iIGVuZD0iJCIgY29udGFpbnM9YmRmVG9kbworc3luIHJlZ2lvbiAgYmRmRm9udERlZmluaXRpb24gdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1iZGZLZXl3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeU1RBUlRGT05UXD4nIGVuZD0nXkVOREZPTlRcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9YmRmQ29tbWVudCxiZGZGb250LGJkZlNpemUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGJkZkJvdW5kaW5nQm94LGJkZlByb3BlcnRpZXMsYmRmQ2hhcnMsYmRmQ2hhcgogCi0iIHRvZG8KLXN5biBrZXl3b3JkIGJkZlRvZG8JICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitzeW4gbWF0Y2ggICBiZGZOdW1iZXIgICAgICAgICBjb250YWluZWQgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnXDxcJShceFwrXHxbKy1dXD1cZFwrXCUoXC5cZFwrXCkqXCknCiAKLSIgc3RyaW5ncwotc3luIHJlZ2lvbiAgYmRmU3RyaW5nCSAgICBzdGFydD0rIisgc2tpcD0rIiIrIGVuZD0rIisKK3N5biBrZXl3b3JkIGJkZlRvZG8gICAgICAgICAgIGNvbnRhaW5lZCBGSVhNRSBUT0RPIFhYWCBOT1RFCiAKLSIgcHJvcGVydGllcwotc3luIGtleXdvcmQgYmRmUHJvcGVydGllcyAgIGNvbnRhaW5lZCBGT05UIFNJWkUgRk9OVEJPVU5ESU5HQk9YIENIQVJTCitzeW4gcmVnaW9uICBiZGZDb21tZW50ICAgICAgICBjb250YWluZWQgc3RhcnQ9J15DT01NRU5UXD4nIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9YmRmVG9kbyxAU3BlbGwKIAotIiBYMTEgcHJvcGVydGllcwotc3luIGtleXdvcmQgYmRmWFByb3BlcnRpZXMgIGNvbnRhaW5lZCBGT05UX0FTQ0VOVCBGT05UX0RFU0NFTlQgREVGQVVMVF9DSEFSCi1zeW4ga2V5d29yZCBiZGZYUHJvcGVydGllcyAgY29udGFpbmVkIEZPTlROQU1FX1JFR0lTVFJZIEZPVU5EUlkgRkFNSUxZX05BTUUKLXN5biBrZXl3b3JkIGJkZlhQcm9wZXJ0aWVzICBjb250YWluZWQgV0VJR0hUX05BTUUgU0xBTlQgU0VUV0lEVEhfTkFNRSBQSVhFTF9TSVpFCi1zeW4ga2V5d29yZCBiZGZYUHJvcGVydGllcyAgY29udGFpbmVkIFBPSU5UX1NJWkUgUkVTT0xVVElPTl9YIFJFU09MVVRJT05fWSBTUEFDSU5HCi1zeW4ga2V5d29yZCBiZGZYUHJvcGVydGllcyAgY29udGFpbmVkIENIQVJTRVRfUkVHSVNUUlkgQ0hBUlNFVF9FTkNPRElORyBDT1BZUklHSFQKLXN5biBrZXl3b3JkIGJkZlhQcm9wZXJ0aWVzICBjb250YWluZWQgQUREX1NUWUxFX05BTUUgV0VJR0hUIFJFU09MVVRJT04gWF9IRUlHSFQKLXN5biBrZXl3b3JkIGJkZlhQcm9wZXJ0aWVzICBjb250YWluZWQgUVVBRF9XSURUSCBGT05UIEFWRVJBR0VfV0lEVEgKK3N5biByZWdpb24gIGJkZkZvbnQgICAgICAgICAgIGNvbnRhaW5lZCBtYXRjaGdyb3VwPWJkZktleXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15GT05UXD4nIGVuZD0nJCcKIAotc3luIHJlZ2lvbiAgYmRmRGVmaW5pdGlvbiAgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9YmRmRGVsaW0gc3RhcnQ9Il5TVEFSVFBST1BFUlRJRVNcPiIgZW5kPSJeRU5EUFJPUEVSVElFU1w+IiBjb250YWlucz1iZGZYUHJvcGVydGllcyxiZGZOdW1iZXIsYmRmU3RyaW5nCitzeW4gcmVnaW9uICBiZGZTaXplICAgICAgICAgICBjb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1iZGZLZXl3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeU0laRVw+JyBlbmQ9JyQnIGNvbnRhaW5zPWJkZk51bWJlcgogCi0iIGNoYXJhY3RlcnMKLXN5biBrZXl3b3JkIGJkZkNoYXJQcm9wZXJ0aWVzIGNvbnRhaW5lZCBFTkNPRElORyBTV0lEVEggRFdJRFRIIEJCWCBBVFRSSUJVVEVTIEJJVE1BUAorc3luIHJlZ2lvbiAgYmRmQm91bmRpbmdCb3ggICAgY29udGFpbmVkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9YmRmS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXkZPTlRCT1VORElOR0JPWCcgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1iZGZOdW1iZXIKIAotc3luIG1hdGNoICAgYmRmQ2hhck5hbWUJICAgIGNvbnRhaW5lZCBkaXNwbGF5ICJcPFswLTlhLXpBLVpdXHsxLDE0fVw+Igotc3luIG1hdGNoICAgYmRmQ2hhck5hbWVFcnJvciBjb250YWluZWQgZGlzcGxheSAiXDxbMC05YS16QS1aXVx7MTUsfVw+Igorc3luIHJlZ2lvbiAgYmRmUHJvcGVydGllcyAgICAgY29udGFpbmVkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9YmRmS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlNUQVJUUFJPUEVSVElFUycgZW5kPSdeRU5EUFJPUEVSVElFUycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9YmRmTnVtYmVyLGJkZlN0cmluZyxiZGZQcm9wZXJ0eSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmRmWFByb3BlcnR5CiAKLXN5biByZWdpb24gIGJkZlN0YXJ0Q2hhciAgICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWJkZkRlbGltIHN0YXJ0PSJcPFNUQVJUQ0hBUlw+IiBlbmQ9IiQiIGNvbnRhaW5zPWJkZkNoYXJOYW1lLGJkZkNoYXJOYW1lRXJyb3IKK3N5biBrZXl3b3JkIGJkZlByb3BlcnR5ICAgICAgIGNvbnRhaW5lZCBGT05UX0FTQ0VOVCBGT05UX0RFU0NFTlQgREVGQVVMVF9DSEFSCitzeW4gbWF0Y2ggICBiZGZQcm9wZXJ0eSAgICAgICBjb250YWluZWQgJ15cU1wrJwogCi1zeW4gcmVnaW9uICBiZGZDaGFyRGVmaW5pdGlvbiB0cmFuc3BhcmVudCBzdGFydD0iXlNUQVJUQ0hBUlw+IiBtYXRjaGdyb3VwPWJkZkRlbGltIGVuZD0iXkVORENIQVJcPiIgY29udGFpbnM9YmRmQ2hhclByb3BlcnRpZXMsYmRmTnVtYmVyLGJkZlN0YXJ0Q2hhcgorc3luIGtleXdvcmQgYmRmWFByb3BlcnR5ICAgICAgY29udGFpbmVkIEZPTlRfQVNDRU5UIEZPTlRfREVTQ0VOVCBERUZBVUxUX0NIQVIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgRk9OVE5BTUVfUkVHSVNUUlkgRk9VTkRSWSBGQU1JTFlfTkFNRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBXRUlHSFRfTkFNRSBTTEFOVCBTRVRXSURUSF9OQU1FIFBJWEVMX1NJWkUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgUE9JTlRfU0laRSBSRVNPTFVUSU9OX1ggUkVTT0xVVElPTl9ZIFNQQUNJTkcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgQ0hBUlNFVF9SRUdJU1RSWSBDSEFSU0VUX0VOQ09ESU5HIENPUFlSSUdIVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBBRERfU1RZTEVfTkFNRSBXRUlHSFQgUkVTT0xVVElPTiBYX0hFSUdIVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBRVUFEX1dJRFRIIEZPTlQgQVZFUkFHRV9XSURUSAogCi0iIGZvbnQKLXN5biByZWdpb24gIGJkZkZvbnREZWZpbml0aW9uIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9YmRmRGVsaW0gc3RhcnQ9Il5TVEFSVEZPTlRcPiIgZW5kPSJeRU5ERk9OVFw+IiBjb250YWlucz1iZGZQcm9wZXJ0aWVzLGJkZkRlZmluaXRpb24sYmRmQ2hhckRlZmluaXRpb24sYmRmTnVtYmVyLGJkZkNvbW1lbnQKK3N5biByZWdpb24gIGJkZlN0cmluZyAgICAgICAgIGNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rIiIrIGVuZD0rIisKKworc3luIHJlZ2lvbiAgYmRmQ2hhcnMgICAgICAgICAgY29udGFpbmVkIGRpc3BsYXkgdHJhbnNwYXJlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWF0Y2hncm91cD1iZGZLZXl3b3JkIHN0YXJ0PSdeQ0hBUlMnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9YmRmTnVtYmVyCisKK3N5biByZWdpb24gIGJkZkNoYXIgICAgICAgICAgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9YmRmS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlNUQVJUQ0hBUicgZW5kPSdeRU5EQ0hBUicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9YmRmRW5jb2RpbmcsYmRmV2lkdGgsYmRmQXR0cmlidXRlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmRmQml0bWFwCisKK3N5biByZWdpb24gIGJkZkVuY29kaW5nICAgICAgIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWJkZktleXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15FTkNPRElORycgZW5kPSckJyBjb250YWlucz1iZGZOdW1iZXIKKworc3luIHJlZ2lvbiAgYmRmV2lkdGggICAgICAgICAgY29udGFpbmVkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9YmRmS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlNXSURUSFx8RFdJRFRIXHxCQlgnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9YmRmTnVtYmVyCisKK3N5biByZWdpb24gIGJkZkF0dHJpYnV0ZXMgICAgIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWJkZktleXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15BVFRSSUJVVEVTJyBlbmQ9JyQnCisKK3N5biBrZXl3b3JkIGJkZkJpdG1hcCAgICAgICAgIGNvbnRhaW5lZCBCSVRNQVAKIAogaWYgZXhpc3RzKCJiZGZfbWlubGluZXMiKQogICBsZXQgYjpiZGZfbWlubGluZXMgPSBiZGZfbWlubGluZXMKIGVsc2UKLSAgbGV0IGI6YmRmX21pbmxpbmVzID0gNTAKKyAgbGV0IGI6YmRmX21pbmxpbmVzID0gMzAKIGVuZGlmCi1leGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gYjpiZGZfbWlubGluZXMKK2V4ZWMgInN5biBzeW5jIGNjb21tZW50IGJkZkNoYXIgbWlubGluZXM9IiAuIGI6YmRmX21pbmxpbmVzCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2JkZl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9iZGZfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKIAotICBIaUxpbmsgYmRmQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgYmRmVG9kbwkJVG9kbwotICBIaUxpbmsgYmRmTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIGJkZlN0cmluZwkJU3RyaW5nCi0gIEhpTGluayBiZGZQcm9wZXJ0aWVzCUtleXdvcmQKLSAgSGlMaW5rIGJkZlhQcm9wZXJ0aWVzCUtleXdvcmQKLSAgSGlMaW5rIGJkZkNoYXJQcm9wZXJ0aWVzCVN0cnVjdHVyZQotICBIaUxpbmsgYmRmRGVsaW0JCURlbGltaXRlcgotICBIaUxpbmsgYmRmQ2hhck5hbWUJCVN0cmluZwotICBIaUxpbmsgYmRmQ2hhck5hbWVFcnJvcglFcnJvcgotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2hpIGRlZiBsaW5rIGJkZktleXdvcmQgICAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIGJkZk51bWJlciAgICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgYmRmVG9kbyAgICAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgYmRmQ29tbWVudCAgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgYmRmRm9udCAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBiZGZQcm9wZXJ0eSAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBiZGZYUHJvcGVydHkgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBiZGZTdHJpbmcgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIGJkZkNoYXJzICAgICAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIGJkZkJpdG1hcCAgICAgICAgIEtleXdvcmQKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYmRmIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NhbGVuZGFyLnZpbSBiL3J1bnRpbWUvc3ludGF4L2NhbGVuZGFyLnZpbQppbmRleCA5ODM0MjY3Li41MDJhYzcwIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9jYWxlbmRhci52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY2FsZW5kYXIudmltCkBAIC0xLDEwNCArMSwxMTEgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgY2FsZW5kYXIoMSkgZmlsZS4KLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvY2FsZW5kYXIvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMDYKLSIgYXJjaC10YWc6CSAgICBkNzE0MTI3ZC00NjlkLTQzYmQtOWM3OS1jMmE0NmVjNTQ1MzUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgY2FsZW5kYXIoMSkgaW5wdXQgZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIFRvZG8KLXN5biBrZXl3b3JkIGNhbGVuZGFyVG9kbwljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIENvbW1lbnRzCi1zeW4gcmVnaW9uICBjYWxlbmRhckNvbW1lbnQJbWF0Y2hncm91cD1jYWxlbmRhckNvbW1lbnQgc3RhcnQ9Jy9cKicgZW5kPSdcKi8nIGNvbnRhaW5zPWNhbGVuZGFyVG9kbworc3luIGtleXdvcmQgY2FsZW5kYXJUb2RvICAgICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCiAKLSIgU3RyaW5ncwotc3luIHJlZ2lvbiAgY2FsZW5kYXJDcHBTdHJpbmcJc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIlx8XFwkKyBleGNsdWRlbmwgZW5kPSsiKyBlbmQ9JyQnIGNvbnRhaW5zPWNhbGVuZGFyU3BlY2lhbAotc3luIG1hdGNoICAgY2FsZW5kYXJTcGVjaWFsCWRpc3BsYXkgY29udGFpbmVkICdcXFwlKHhceFwrXHxcb1x7MSwzfVx8Llx8JFwpJwotc3luIG1hdGNoICAgY2FsZW5kYXJTcGVjaWFsCWRpc3BsYXkgY29udGFpbmVkICJcXFwodVx4XHs0fVx8VVx4XHs4fVwpIgorc3luIHJlZ2lvbiAgY2FsZW5kYXJDb21tZW50ICAgICAgIG1hdGNoZ3JvdXA9Y2FsZW5kYXJDb21tZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nL1wqJyBlbmQ9J1wqLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWNhbGVuZGFyVG9kbyxAU3BlbGwKIAotIiBjcHAoMSkgUHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgKGFkYXB0ZWQgZnJvbSBzeW50YXgvYy52aW0pCitzeW4gcmVnaW9uICBjYWxlbmRhckNwcFN0cmluZyAgICAgc3RhcnQ9K0xcPSIrIHNraXA9K1xcXFxcfFxcIlx8XFwkKyBleGNsdWRlbmwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0rIisgZW5kPSckJyBjb250YWlucz1jYWxlbmRhclNwZWNpYWwKK3N5biBtYXRjaCAgIGNhbGVuZGFyU3BlY2lhbCAgICAgICBkaXNwbGF5IGNvbnRhaW5lZCAnXFxcJSh4XHhcK1x8XG9cezEsM31cfC5cfCRcKScKK3N5biBtYXRjaCAgIGNhbGVuZGFyU3BlY2lhbCAgICAgICBkaXNwbGF5IGNvbnRhaW5lZCAiXFxcKHVceFx7NH1cfFVceFx7OH1cKSIKIAotc3luIHJlZ2lvbiAgY2FsZW5kYXJQcmVDb25kaXQJc3RhcnQ9J15ccyojXHMqXCUoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcKVw+JyBza2lwPSdcXCQnIGVuZD0nJCcgY29udGFpbnM9Y2FsZW5kYXJDb21tZW50LGNhbGVuZGFyQ3BwU3RyaW5nCi1zeW4gbWF0Y2ggICBjYWxlbmRhclByZUNvbmRpdAlkaXNwbGF5ICdeXHMqI1xzKlwlKGVsc2VcfGVuZGlmXClcPicKLXN5biByZWdpb24gIGNhbGVuZGFyQ3BwT3V0CXN0YXJ0PSdeXHMqI1xzKmlmXHNcKzBcKycgZW5kPScuXEA9XHwkJyBjb250YWlucz1jYWxlbmRhckNwcE91dDIKLXN5biByZWdpb24gIGNhbGVuZGFyQ3BwT3V0Mgljb250YWluZWQgc3RhcnQ9JzAnIGVuZD0nXlxzKiNccypcJShlbmRpZlx8ZWxzZVx8ZWxpZlwpXD4nIGNvbnRhaW5zPWNhbGVuZGFyU3BhY2VFcnJvcixjYWxlbmRhckNwcFNraXAKLXN5biByZWdpb24gIGNhbGVuZGFyQ3BwU2tpcAljb250YWluZWQgc3RhcnQ9J15ccyojXHMqXCUoaWZcfGlmZGVmXHxpZm5kZWZcKVw+JyBza2lwPSdcXCQnIGVuZD0nXlxzKiNccyplbmRpZlw+JyBjb250YWlucz1jYWxlbmRhclNwYWNlRXJyb3IsY2FsZW5kYXJDcHBTa2lwCi1zeW4gcmVnaW9uICBjYWxlbmRhckluY2x1ZGVkCWRpc3BsYXkgY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKLXN5biBtYXRjaCAgIGNhbGVuZGFySW5jbHVkZWQJZGlzcGxheSBjb250YWluZWQgJzxbXj5dKj4nCi1zeW4gbWF0Y2ggICBjYWxlbmRhckluY2x1ZGUJZGlzcGxheSAnXlxzKiNccyppbmNsdWRlXD5ccypbIjxdJyBjb250YWlucz1jYWxlbmRhckluY2x1ZGVkCi1zeW4gY2x1c3RlciBjYWxlbmRhclByZVByb2NHcm91cCAgICBjb250YWlucz1jYWxlbmRhclByZUNvbmRpdCxjYWxlbmRhckluY2x1ZGVkLGNhbGVuZGFySW5jbHVkZSxjYWxlbmRhckRlZmluZSxjYWxlbmRhckNwcE91dCxjYWxlbmRhckNwcE91dDIsY2FsZW5kYXJDcHBTa2lwLGNhbGVuZGFyU3RyaW5nLGNhbGVuZGFyU3BlY2lhbCxjYWxlbmRhclRvZG8KLXN5biByZWdpb24gIGNhbGVuZGFyRGVmaW5lCXN0YXJ0PSdeXHMqI1xzKlwlKGRlZmluZVx8dW5kZWZcKVw+JyBza2lwPSdcXCQnIGVuZD0nJCcgY29udGFpbnM9QUxMQlVULEBjYWxlbmRhclByZVByb2NHcm91cAotc3luIHJlZ2lvbiAgY2FsZW5kYXJQcmVQcm9jCXN0YXJ0PSdeXHMqI1xzKlwlKHByYWdtYVx8bGluZVx8d2FybmluZ1x8d2Fyblx8ZXJyb3JcKVw+JyBza2lwPSdcXCQnIGVuZD0nJCcga2VlcGVuZCBjb250YWlucz1BTExCVVQsQGNhbGVuZGFyUHJlUHJvY0dyb3VwCitzeW4gcmVnaW9uICBjYWxlbmRhclByZUNvbmRpdCAgICAgc3RhcnQ9J15ccyojXHMqXCUoaWZcfGlmZGVmXHxpZm5kZWZcfGVsaWZcKVw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcD0nXFwkJyBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1jYWxlbmRhckNvbW1lbnQsY2FsZW5kYXJDcHBTdHJpbmcKK3N5biBtYXRjaCAgIGNhbGVuZGFyUHJlQ29uZGl0ICAgICBkaXNwbGF5ICdeXHMqI1xzKlwlKGVsc2VcfGVuZGlmXClcPicKK3N5biByZWdpb24gIGNhbGVuZGFyQ3BwT3V0ICAgICAgICBzdGFydD0nXlxzKiNccyppZlxzXCswXCsnIGVuZD0nLlxAPVx8JCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWNhbGVuZGFyQ3BwT3V0Mgorc3luIHJlZ2lvbiAgY2FsZW5kYXJDcHBPdXQyICAgICAgIGNvbnRhaW5lZCBzdGFydD0nMCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzKiNccypcJShlbmRpZlx8ZWxzZVx8ZWxpZlwpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1jYWxlbmRhclNwYWNlRXJyb3IsY2FsZW5kYXJDcHBTa2lwCitzeW4gcmVnaW9uICBjYWxlbmRhckNwcFNraXAgICAgICAgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKiNccypcJShpZlx8aWZkZWZcfGlmbmRlZlwpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwPSdcXCQnIGVuZD0nXlxzKiNccyplbmRpZlw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9Y2FsZW5kYXJTcGFjZUVycm9yLGNhbGVuZGFyQ3BwU2tpcAorc3luIHJlZ2lvbiAgY2FsZW5kYXJJbmNsdWRlZCAgICAgIGRpc3BsYXkgY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9KyIrCitzeW4gbWF0Y2ggICBjYWxlbmRhckluY2x1ZGVkICAgICAgZGlzcGxheSBjb250YWluZWQgJzxbXj5dKj4nCitzeW4gbWF0Y2ggICBjYWxlbmRhckluY2x1ZGUgICAgICAgZGlzcGxheSAnXlxzKiNccyppbmNsdWRlXD5ccypbIjxdJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9Y2FsZW5kYXJJbmNsdWRlZAorc3luIGNsdXN0ZXIgY2FsZW5kYXJQcmVQcm9jR3JvdXAgIGNvbnRhaW5zPWNhbGVuZGFyUHJlQ29uZGl0LGNhbGVuZGFySW5jbHVkZWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjYWxlbmRhckluY2x1ZGUsY2FsZW5kYXJEZWZpbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjYWxlbmRhckNwcE91dCxjYWxlbmRhckNwcE91dDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjYWxlbmRhckNwcFNraXAsY2FsZW5kYXJTdHJpbmcsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjYWxlbmRhclNwZWNpYWwsY2FsZW5kYXJUb2RvCitzeW4gcmVnaW9uICBjYWxlbmRhckRlZmluZSAgICAgICAgc3RhcnQ9J15ccyojXHMqXCUoZGVmaW5lXHx1bmRlZlwpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwPSdcXCQnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUFMTEJVVCxAY2FsZW5kYXJQcmVQcm9jR3JvdXAKK3N5biByZWdpb24gIGNhbGVuZGFyUHJlUHJvYyAgICAgICBzdGFydD0nXlxzKiNccypcJShwcmFnbWFcfGxpbmVcfHdhcm5pbmdcfHdhcm5cfGVycm9yXClcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXA9J1xcJCcgZW5kPSckJyBrZWVwZW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1BTExCVVQsQGNhbGVuZGFyUHJlUHJvY0dyb3VwCiAKLSIgS2V5d29yZHMKLXN5biBrZXl3b3JkIGNhbGVuZGFyS2V5d29yZAlDSEFSU0VUIEJPRFVOIExBTkcKK3N5biBrZXl3b3JkIGNhbGVuZGFyS2V5d29yZCAgICAgICBDSEFSU0VUIEJPRFVOIExBTkcKIHN5biBjYXNlIGlnbm9yZQotc3luIGtleXdvcmQgY2FsZW5kYXJLZXl3b3JkCUVhc3RlciBQYXNoa2EKK3N5biBrZXl3b3JkIGNhbGVuZGFyS2V5d29yZCAgICAgICBFYXN0ZXIgUGFzaGthCiBzeW4gY2FzZSBtYXRjaAogCi0iIERhdGVzCiBzeW4gY2FzZSBpZ25vcmUKLXN5biBtYXRjaCAgIGNhbGVuZGFyTnVtYmVyCSdcPFxkXCtcPicKLXN5biBrZXl3b3JkIGNhbGVuZGFyTW9udGgJSmFuW3VhcnldIEZlYltydWFyeV0gTWFyW2NoXSBBcHJbaWxdIE1heSBKdW5bZV0KLXN5biBrZXl3b3JkIGNhbGVuZGFyTW9udGgJSnVsW3ldIEF1Z1t1c3RdIFNlcFt0ZW1iZXJdIE9jdFtvYmVyXQotc3luIGtleXdvcmQgY2FsZW5kYXJNb250aAlOb3ZbZW1iZXJdIERlY1tlbWJlcl0KLXN5biBtYXRjaCAgIGNhbGVuZGFyTW9udGgJJ1w8XCUoSmFuXHxGZWJcfE1hclx8QXByXHxNYXlcfEp1blx8SnVsXHxBdWdcfFNlcFx8T2N0XHxOb3ZcfERlY1wpXC4nCi1zeW4ga2V5d29yZCBjYWxlbmRhcldlZWtkYXkJTW9uW2RheV0gVHVlW3NkYXldIFdlZFtuZXNkYXldIFRodVtyc2RheV0KLXN5biBrZXl3b3JkIGNhbGVuZGFyV2Vla2RheQlGcmlbZGF5XSBTYXRbdXJkYXldIFN1bltkYXldCi1zeW4gbWF0Y2ggICBjYWxlbmRhcldlZWtkYXkJJ1w8XCUoTW9uXHxUdWVcfFdlZFx8VGh1XHxGcmlcfFNhdFx8U3VuXClcLicgbmV4dGdyb3VwPWNhbGVuZGFyV2Vla2RheU1vZAotc3luIG1hdGNoICAgY2FsZW5kYXJXZWVrZGF5TW9kCSdbKy1dXGRcK1w+Jworc3luIG1hdGNoICAgY2FsZW5kYXJOdW1iZXIgICAgICAgIGRpc3BsYXkgJ1w8XGRcK1w+Jworc3luIGtleXdvcmQgY2FsZW5kYXJNb250aCAgICAgICAgIEphblt1YXJ5XSBGZWJbcnVhcnldIE1hcltjaF0gQXByW2lsXSBNYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEp1bltlXSBKdWxbeV0gQXVnW3VzdF0gU2VwW3RlbWJlcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIE9jdFtvYmVyXSBOb3ZbZW1iZXJdIERlY1tlbWJlcl0KK3N5biBtYXRjaCAgIGNhbGVuZGFyTW9udGggICAgICAgICBkaXNwbGF5ICdcPFwlKEphblx8RmViXHxNYXJcfEFwclx8TWF5XHxKdW5cfEp1bFx8QXVnXHxTZXBcfE9jdFx8Tm92XHxEZWNcKVwuJworc3luIGtleXdvcmQgY2FsZW5kYXJXZWVrZGF5ICAgICAgIE1vbltkYXldIFR1ZVtzZGF5XSBXZWRbbmVzZGF5XSBUaHVbcnNkYXldCitzeW4ga2V5d29yZCBjYWxlbmRhcldlZWtkYXkgICAgICAgRnJpW2RheV0gU2F0W3VyZGF5XSBTdW5bZGF5XQorc3luIG1hdGNoICAgY2FsZW5kYXJXZWVrZGF5ICAgICAgIGRpc3BsYXkgJ1w8XCUoTW9uXHxUdWVcfFdlZFx8VGh1XHxGcmlcfFNhdFx8U3VuXClcLicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1jYWxlbmRhcldlZWtkYXlNb2QKK3N5biBtYXRjaCAgIGNhbGVuZGFyV2Vla2RheU1vZCAgICBkaXNwbGF5ICdbKy1dXGRcK1w+Jwogc3luIGNhc2UgbWF0Y2gKIAotIiBUaW1lcwotc3luIG1hdGNoICAgY2FsZW5kYXJUaW1lCSdcPFwlKFswMV1cPVxkXHwyWzAtM11cKTpbMC01XVxkXCUoOlswLTVdXGRcKVw9Jwotc3luIG1hdGNoICAgY2FsZW5kYXJUaW1lCSdcPFwlKDBcPVsxLTldXHwxWzAtMl1cKTpbMC01XVxkXCUoOlswLTVdXGRcKVw9XHMqW0FhUHBdW01tXScKK3N5biBtYXRjaCAgIGNhbGVuZGFyVGltZSAgICAgICAgICBkaXNwbGF5ICdcPFwlKFswMV1cPVxkXHwyWzAtM11cKTpbMC01XVxkXCUoOlswLTVdXGRcKVw9Jworc3luIG1hdGNoICAgY2FsZW5kYXJUaW1lICAgICAgICAgIGRpc3BsYXkgJ1w8XCUoMFw9WzEtOV1cfDFbMC0yXVwpOlswLTVdXGRcJSg6WzAtNV1cZFwpXD1ccypbQWFQcF1bTW1dJwogCi0iIFZhcmlhYmxlcwotc3luIG1hdGNoIGNhbGVuZGFyVmFyaWFibGUJJ1wqJworc3luIG1hdGNoIGNhbGVuZGFyVmFyaWFibGUgICAgICAgICdcKicKIAotbGV0IGI6Y19taW5saW5lcyA9IDUwCQkiICNpZiAwIGNvbnN0cnVjdHMgY2FuIGJlIGxvbmcKK2lmIGV4aXN0cygiY19taW5saW5lcyIpCisgIGxldCBiOmNfbWlubGluZXMgPSBjX21pbmxpbmVzCitlbHNlCisgIGlmICFleGlzdHMoImNfbm9faWYwIikKKyAgICBsZXQgYjpjX21pbmxpbmVzID0gNTAgICAgICAgIiAjaWYgMCBjb25zdHJ1Y3RzIGNhbiBiZSBsb25nCisgIGVsc2UKKyAgICBsZXQgYjpjX21pbmxpbmVzID0gMTUgICAgICAgIiBtb3N0bHkgZm9yICgpIGNvbnN0cnVjdHMKKyAgZW5kaWYKK2VuZGlmCiBleGVjICJzeW4gc3luYyBjY29tbWVudCBjYWxlbmRhckNvbW1lbnQgbWlubGluZXM9IiAuIGI6Y19taW5saW5lcwogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9jYWxlbmRhcl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9jYWxlbmRhcl9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayBjYWxlbmRhclRvZG8JCVRvZG8KLSAgSGlMaW5rIGNhbGVuZGFyQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBjYWxlbmRhckNwcFN0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGNhbGVuZGFyU3BlY2lhbAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgY2FsZW5kYXJQcmVDb25kaXQJUHJlQ29uZGl0Ci0gIEhpTGluayBjYWxlbmRhckNwcE91dAlDb21tZW50Ci0gIEhpTGluayBjYWxlbmRhckNwcE91dDIJY2FsZW5kYXJDcHBPdXQKLSAgSGlMaW5rIGNhbGVuZGFyQ3BwU2tpcAljYWxlbmRhckNwcE91dAotICBIaUxpbmsgY2FsZW5kYXJJbmNsdWRlZAlTdHJpbmcKLSAgSGlMaW5rIGNhbGVuZGFySW5jbHVkZQlJbmNsdWRlCi0gIEhpTGluayBjYWxlbmRhckRlZmluZQlNYWNybwotICBIaUxpbmsgY2FsZW5kYXJQcmVQcm9jCVByZVByb2MKLSAgSGlMaW5rIGNhbGVuZGFyS2V5d29yZAlLZXl3b3JkCi0gIEhpTGluayBjYWxlbmRhck51bWJlcglOdW1iZXIKLSAgSGlMaW5rIGNhbGVuZGFyTW9udGgJU3RyaW5nCi0gIEhpTGluayBjYWxlbmRhcldlZWtkYXkJU3RyaW5nCi0gIEhpTGluayBjYWxlbmRhcldlZWtkYXlNb2QJU3BlY2lhbAotICBIaUxpbmsgY2FsZW5kYXJUaW1lCQlOdW1iZXIKLSAgSGlMaW5rIGNhbGVuZGFyVmFyaWFibGUJSWRlbnRpZmllcgotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgoraGkgZGVmIGxpbmsgY2FsZW5kYXJUb2RvICAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGNhbGVuZGFyQ29tbWVudCAgICAgICBDb21tZW50CitoaSBkZWYgbGluayBjYWxlbmRhckNwcFN0cmluZyAgICAgU3RyaW5nCitoaSBkZWYgbGluayBjYWxlbmRhclNwZWNpYWwgICAgICAgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIGNhbGVuZGFyUHJlQ29uZGl0ICAgICBQcmVDb25kaXQKK2hpIGRlZiBsaW5rIGNhbGVuZGFyQ3BwT3V0ICAgICAgICBDb21tZW50CitoaSBkZWYgbGluayBjYWxlbmRhckNwcE91dDIgICAgICAgY2FsZW5kYXJDcHBPdXQKK2hpIGRlZiBsaW5rIGNhbGVuZGFyQ3BwU2tpcCAgICAgICBjYWxlbmRhckNwcE91dAoraGkgZGVmIGxpbmsgY2FsZW5kYXJJbmNsdWRlZCAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgY2FsZW5kYXJJbmNsdWRlICAgICAgIEluY2x1ZGUKK2hpIGRlZiBsaW5rIGNhbGVuZGFyRGVmaW5lICAgICAgICBNYWNybworaGkgZGVmIGxpbmsgY2FsZW5kYXJQcmVQcm9jICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIGNhbGVuZGFyS2V5d29yZCAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBjYWxlbmRhck51bWJlciAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBjYWxlbmRhck1vbnRoICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBjYWxlbmRhcldlZWtkYXkgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBjYWxlbmRhcldlZWtkYXlNb2QgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgY2FsZW5kYXJUaW1lICAgICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgY2FsZW5kYXJWYXJpYWJsZSAgICAgIElkZW50aWZpZXIKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiY2FsZW5kYXIiCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvY29udGV4dC52aW0gYi9ydW50aW1lL3N5bnRheC9jb250ZXh0LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjQ5YjZjCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvY29udGV4dC52aW0KQEAgLTAsMCArMSwxMDQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIENvblRlWHQgdHlwZXNldHRpbmcgZW5naW5lCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworc3luIGtleXdvcmQgY29udGV4dFRvZG8gICAgICAgVE9ETyBGSVhNRSBYWFggTk9URQorCitzeW4gcmVnaW9uICBjb250ZXh0Q29tbWVudCAgICBkaXNwbGF5IG9uZWxpbmUgbWF0Y2hncm91cD1jb250ZXh0Q29tbWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nJScgZW5kPSckJyBjb250YWlucz1jb250ZXh0VG9kbworc3luIHJlZ2lvbiAgY29udGV4dENvbW1lbnQgICAgZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9Y29udGV4dENvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15ccyolW0NETV0nIGVuZD0nJCcgY29udGFpbnM9QUxMCisKK3N5biBtYXRjaCAgIGNvbnRleHRTdGF0ZW1lbnQgIGRpc3BsYXkgJ1xcW2EtekEtWkBdXCsnIGNvbnRhaW5zPUBOb1NwZWxsCisKK3N5biBtYXRjaCAgIGNvbnRleHRCbG9ja0RlbGltIGRpc3BsYXkgJ1xcXCUoc3RhcnRcfHN0b3BcKVxhXCsnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBOb1NwZWxsCisKK3N5biBtYXRjaCAgIGNvbnRleHREZWxpbWl0ZXIgICdbXVt7fV0nCisKK3N5biBtYXRjaCAgIGNvbnRleHRFc2NhcGVkICAgIGRpc3BsYXkgJ1xcXF9bXHt9fCYlJCBdJworc3luIHJlZ2lvbiAgY29udGV4dEVzY2FwZWQgICAgZGlzcGxheSBtYXRjaGdyb3VwPWNvbnRleHRQcmVQcm9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdcXHR5cGVceihcQVwpJyBlbmQ9J1x6MScKK3N5biByZWdpb24gIGNvbnRleHRFc2NhcGVkICAgIGRpc3BsYXkgbWF0Y2hncm91cD1jb250ZXh0UHJlUHJvYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXFx0eXBlXD17JyBlbmQ9J30nCitzeW4gcmVnaW9uICBjb250ZXh0RXNjYXBlZCAgICBkaXNwbGF5IG1hdGNoZ3JvdXA9Y29udGV4dFByZVByb2MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J1xcdHlwZVw9PDwnIGVuZD0nPj4nCitzeW4gcmVnaW9uICBjb250ZXh0RXNjYXBlZCAgICBtYXRjaGdyb3VwPWNvbnRleHRQcmVQcm9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdcXHN0YXJ0XHooXGEqXCUodHlwaW5nXHx0eXBlblwpXCknCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXFxzdG9wXHoxJworc3luIHJlZ2lvbiAgY29udGV4dEVzY2FwZWQgICAgZGlzcGxheSBtYXRjaGdyb3VwPWNvbnRleHRQcmVQcm9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdcXFxoXCtUeXBleycgZW5kPSd9Jworc3luIHJlZ2lvbiAgY29udGV4dEVzY2FwZWQgICAgZGlzcGxheSBtYXRjaGdyb3VwPWNvbnRleHRQcmVQcm9jCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdcXFR5cGVkXGhcK3snIGVuZD0nfScKKworInN5biByZWdpb24gIGNvbnRleHRNYXRoICAgICAgIG1hdGNoZ3JvdXA9Y29udGV4dE1hdGggc3RhcnQ9J1wkJyBlbmQ9J1wkJworIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9Y29udGV4dFN0YXRlbWVudAorCitzeW4gbWF0Y2ggICBjb250ZXh0QnVpbHRpbiAgICAnXFxcJShuZXdpZlx8ZGVmXHxnZGVmXHxnbG9iYWxcfGxldFx8Z2xldFx8Ymdyb3VwXClcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QE5vU3BlbGwKK3N5biBtYXRjaCAgIGNvbnRleHRCdWlsdGluICAgICdcXFwlKGJlZ2luZ3JvdXBcfGVncm91cFx8ZW5kZ3JvdXBcfGxvbmdcfGNhdGNvZGVcKVw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1ATm9TcGVsbAorc3luIG1hdGNoICAgY29udGV4dEJ1aWx0aW4gICAgJ1xcXCUodW5wcm90ZWN0XHx1bmV4cGFuZGVkXHxpZlx8ZWxzZVx8ZmlcfGlmeFwpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBOb1NwZWxsCitzeW4gbWF0Y2ggICBjb250ZXh0QnVpbHRpbiAgICAnXFxcJShmdXR1cmVsZXRcfHByb3RlY3RcKVw+JyBjb250YWlucz1ATm9TcGVsbAorc3luIG1hdGNoICAgY29udGV4dEJ1aWx0aW4gICAgJ1xcXCUoW2xyXXFcKVw+JyBjb250YWlucz1ATm9TcGVsbAorCitzeW4gbWF0Y2ggICBjb250ZXh0UHJlUHJvYyAgICAnXlxzKlxcXCUoc3RhcnRcfHN0b3BcKVw9XCUoY29tcG9uZW50XHxlbnZpcm9ubWVudFx8cHJvamVjdFx8cHJvZHVjdFwpLiokJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1ATm9TcGVsbAorc3luIG1hdGNoICAgY29udGV4dFByZVByb2MgICAgJ15ccypcXGlucHV0XHNcKy4qJCcgY29udGFpbnM9QE5vU3BlbGwKKworc3luIG1hdGNoICAgY29udGV4dFNlY3Rpb25pbmcgJ1xcY2hhcHRlclw+JyBjb250YWlucz1ATm9TcGVsbAorc3luIG1hdGNoICAgY29udGV4dFNlY3Rpb25pbmcgJ1xcXCUoc3ViXCkqc2VjdGlvblw+JyBjb250YWlucz1ATm9TcGVsbAorCitzeW4gbWF0Y2ggICBjb250ZXh0U3BlY2lhbCAgICAnXFxjcmxmXD5cfFxccGFyXD5cfC1cezIsM31cfHxbPD4vXVw9fCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QE5vU3BlbGwKK3N5biBtYXRjaCAgIGNvbnRleHRTcGVjaWFsICAgICdcXFtgJyJdJworc3luIG1hdGNoICAgY29udGV4dFNwZWNpYWwgICAgK1xcY2hhclwlKFxkXHsxLDN9XHwnXG9cezEsM31cfCJceFx7MSwyfVwpXD4rCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBOb1NwZWxsCitzeW4gbWF0Y2ggICBjb250ZXh0U3BlY2lhbCAgICAnXF5cXi4nCitzeW4gbWF0Y2ggICBjb250ZXh0U3BlY2lhbCAgICAnYFwlKFxcLlx8XF5cXi5cfC5cKScKKworc3luIG1hdGNoICAgY29udGV4dFN0eWxlICAgICAgJ1xcXCUoZW1cfHR0XHxybVx8c3NcfGh3XHxjZ1wpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBOb1NwZWxsCitzeW4gbWF0Y2ggICBjb250ZXh0Rm9udCAgICAgICAnXFxcJShDQVBcfENhcFx8Y2FwXHxDYXBzXHxrYXBcfG5vY2FwXClcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QE5vU3BlbGwKK3N5biBtYXRjaCAgIGNvbnRleHRGb250ICAgICAgICdcXFwlKFdvcmRcfFdPUkRcfFdvcmRzXHxXT1JEU1wpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBOb1NwZWxsCitzeW4gbWF0Y2ggICBjb250ZXh0Rm9udCAgICAgICAnXFxcJSh2aVx7MSwzfVx8aXhcfHhpXHswLDJ9XClcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QE5vU3BlbGwKK3N5biBtYXRjaCAgIGNvbnRleHRGb250ICAgICAgICdcXFwlKHRmW2FiY2R4XVx8YmZ4XHxbaXNdbHhcKVw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1ATm9TcGVsbAorc3luIG1hdGNoICAgY29udGV4dEZvbnQgICAgICAgJ1xcXCUoYltmc2ldXHxzW2NsXVx8aXRcfG9zXHxtZlwpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBOb1NwZWxsCisKK3N5biBtYXRjaCAgIGNvbnRleHREaW1lbnNpb24gICdbKy1dXD1ccypcJShcZFwrXCUoWy4sXVxkKlwpXD1cfFsuLF1cZFwrXClccypcJSh0cnVlXClcPVxzKlwlKHBbdGNdXHxpblx8YnBcfGNbbWNdXHxtbVx8ZGRcfHNwXHxlW214XVwpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBOb1NwZWxsCisKK2hpIGRlZiBsaW5rIGNvbnRleHRUb2RvICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGNvbnRleHRDb21tZW50ICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIGNvbnRleHRFc2NhcGVkICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIGNvbnRleHRTdGF0ZW1lbnQgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIGNvbnRleHRNYXRoICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgY29udGV4dEJsb2NrRGVsaW0gS2V5d29yZAoraGkgZGVmIGxpbmsgY29udGV4dEJ1aWx0aW4gICAgS2V5d29yZAoraGkgZGVmIGxpbmsgY29udGV4dERlbGltaXRlciAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBjb250ZXh0UHJlUHJvYyAgICBQcmVQcm9jCitoaSBkZWYgbGluayBjb250ZXh0U2VjdGlvbmluZyBQcmVQcm9jCitoaSBkZWYgbGluayBjb250ZXh0U3BlY2lhbCAgICBTcGVjaWFsCitoaSBkZWYgbGluayBjb250ZXh0U3R5bGUgICAgICBjb250ZXh0VHlwZQoraGkgZGVmIGxpbmsgY29udGV4dEZvbnQgICAgICAgY29udGV4dFR5cGUKK2hpIGRlZiBsaW5rIGNvbnRleHRUeXBlICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIGNvbnRleHREaW1lbnNpb24gIE51bWJlcgorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJjb250ZXh0IgorCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2NybS52aW0gYi9ydW50aW1lL3N5bnRheC9jcm0udmltCmluZGV4IDRhMWUzYmMuLmZkYjE1MDQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2NybS52aW0KKysrIGIvcnVudGltZS9zeW50YXgvY3JtLnZpbQpAQCAtMSw2MSArMSw0MiBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBDUk0xMTQKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvY3JtLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCi0iIGFyY2gtdGFnOgkgICAgYTNkM2VhYWYtNDcwMC00NGZmLWIzMzItZjZjNDJjMDM2ODgzCisiIExhbmd1YWdlOiAgICAgICAgIENSTTExNAorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjcKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIFRvZG8KLXN5biBrZXl3b3JkIGNybVRvZG8JICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCiAKLSIgQ29tbWVudHMKLXN5biByZWdpb24gIGNybUNvbW1lbnQJICAgIG1hdGNoZ3JvdXA9Y3JtQ29tbWVudCBzdGFydD0nIycgZW5kPSckJyBlbmQ9J1xcIycgY29udGFpbnM9Y3JtVG9kbworc3luIGtleXdvcmQgY3JtVG9kbyAgICAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQogCi0iIFZhcmlhYmxlcwotc3luIG1hdGNoICAgY3JtVmFyaWFibGUgICAgJzpbKiNAXTpbXjpdXHstMSx9OicKK3N5biByZWdpb24gIGNybUNvbW1lbnQgICAgbWF0Y2hncm91cD1jcm1Db21tZW50IHN0YXJ0PScjJyBlbmQ9JyQnIGVuZD0nXFwjJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWNybVRvZG8sQFNwZWxsCiAKLSIgU3BlY2lhbCBDaGFyYWN0ZXJzCi1zeW4gbWF0Y2ggICBjcm1TcGVjaWFsCSAgICAnXFxcJSh4XHhceFx8b1xvXG9cb1x8W11ucnRhYnZmMD4pfTsvXFxdXCknCitzeW4gbWF0Y2ggICBjcm1WYXJpYWJsZSAgIGRpc3BsYXkgJzpbKiNAXTpbXjpdXHstMSx9OicKIAotIiBTdGF0ZW1lbnRzCi1zeW4ga2V5d29yZCBjcm1TdGF0ZW1lbnQgICAgaW5zZXJ0IG5vb3AgYWNjZXB0IGFsaXVzIGFsdGVyIGNsYXNzaWZ5IGV2YWwgZXhpdAotc3luIGtleXdvcmQgY3JtU3RhdGVtZW50ICAgIGZhaWwgZmF1bHQgZ290byBoYXNoIGludGVyc2VjdCBpc29sYXRlIGlucHV0IGxlYXJuCi1zeW4ga2V5d29yZCBjcm1TdGF0ZW1lbnQgICAgbGlhZiBtYXRjaCBvdXRwdXQgc3lzY2FsbCB0cmFwIHVuaW9uIHdpbmRvdworc3luIG1hdGNoICAgY3JtU3BlY2lhbCAgICBkaXNwbGF5ICdcXFwlKHhceFx4XHxvXG9cb1xvXHxbXW5ydGFidmYwPil9Oy9cXF1cKScKIAotIiBSZWdleGVzCi1zeW4gcmVnaW9uICAgY3JtUmVnZXgJICAgIG1hdGNoZ3JvdXA9Y3JtUmVnZXggc3RhcnQ9Jy8nIHNraXA9J1xcLycgZW5kPScvJyBjb250YWlucz1jcm1WYXJpYWJsZQorc3luIGtleXdvcmQgY3JtU3RhdGVtZW50ICBpbnNlcnQgbm9vcCBhY2NlcHQgYWxpdXMgYWx0ZXIgY2xhc3NpZnkgZXZhbCBleGl0CitzeW4ga2V5d29yZCBjcm1TdGF0ZW1lbnQgIGZhaWwgZmF1bHQgZ290byBoYXNoIGludGVyc2VjdCBpc29sYXRlIGlucHV0IGxlYXJuCitzeW4ga2V5d29yZCBjcm1TdGF0ZW1lbnQgIGxpYWYgbWF0Y2ggb3V0cHV0IHN5c2NhbGwgdHJhcCB1bmlvbiB3aW5kb3cKIAotIiBMYWJlbHMKLXN5biBtYXRjaCAgIGNybUxhYmVsCSAgICAnXlxzKjpbWzpncmFwaDpdXVwrOicKK3N5biByZWdpb24gIGNybVJlZ2V4ICAgICAgbWF0Y2hncm91cD1jcm1SZWdleCBzdGFydD0nLycgc2tpcD0nXFwvJyBlbmQ9Jy8nCisgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9Y3JtVmFyaWFibGUKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3JtX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2NybV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgorc3luIG1hdGNoICAgY3JtTGFiZWwgICAgICBkaXNwbGF5ICdeXHMqOltbOmdyYXBoOl1dXCs6JwogCi0gIEhpTGluayBjcm1Ub2RvCVRvZG8KLSAgSGlMaW5rIGNybUNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgY3JtVmFyaWFibGUJSWRlbnRpZmllcgotICBIaUxpbmsgY3JtU3BlY2lhbAlTcGVjaWFsQ2hhcgotICBIaUxpbmsgY3JtU3RhdGVtZW50CVN0YXRlbWVudAotICBIaUxpbmsgY3JtUmVnZXgJU3RyaW5nCi0gIEhpTGluayBjcm1MYWJlbAlMYWJlbAotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgoraGkgZGVmIGxpbmsgY3JtVG9kbyAgICAgICBUb2RvCitoaSBkZWYgbGluayBjcm1Db21tZW50ICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIGNybVZhcmlhYmxlICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgY3JtU3BlY2lhbCAgICBTcGVjaWFsQ2hhcgoraGkgZGVmIGxpbmsgY3JtU3RhdGVtZW50ICBTdGF0ZW1lbnQKK2hpIGRlZiBsaW5rIGNybVJlZ2V4ICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBjcm1MYWJlbCAgICAgIExhYmVsCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImNybSIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jdnNyYy52aW0gYi9ydW50aW1lL3N5bnRheC9jdnNyYy52aW0KaW5kZXggZDU1MTk3OS4uZjkzY2E2MyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY3ZzcmMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2N2c3JjLnZpbQpAQCAtMSw0OSArMSwzOSBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBDVlMgUkMgRmlsZQotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy9zeW50YXgvcGNwL2N2c3JjLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTA2Ci0iIGFyY2gtdGFnOgkgICAgMTkxMGYyYTgtNjZmNC00ZGRlLTlkMWEtMjk3NTY2OTM0NTM1CisiIExhbmd1YWdlOiAgICAgICAgIGN2cygxKSBSQyBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLSIgc3RyaW5ncwotc3luIHJlZ2lvbiAgY3ZzcmNTdHJpbmcJICAgIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXFxcIisgZW5kPSsiXHwkKwotc3luIHJlZ2lvbiAgY3ZzcmNTdHJpbmcJICAgIHN0YXJ0PSsnKyBza2lwPStcXFxcXHxcXFxcJysgZW5kPSsnXHwkKworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIG51bWJlcnMKLXN5biBtYXRjaCAgIGN2c3JjTnVtYmVyCSAgICAiXDxcZFwrXD4iCitzeW4gcmVnaW9uICBjdnNyY1N0cmluZyAgIGRpc3BsYXkgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcXFwiKyBlbmQ9KyJcfCQrCitzeW4gcmVnaW9uICBjdnNyY1N0cmluZyAgIGRpc3BsYXkgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcXFwnKyBlbmQ9KydcfCQrCiAKLSIgY29tbWFuZHMKLXN5biBtYXRjaCAgIGN2c3JjQmVnaW4JICAgICJeIiBuZXh0Z3JvdXA9Y3ZzcmNDb21tYW5kIHNraXB3aGl0ZQorc3luIG1hdGNoICAgY3ZzcmNOdW1iZXIgICBkaXNwbGF5ICdcPFxkXCtcPicKIAotc3luIHJlZ2lvbiAgY3ZzcmNDb21tYW5kICAgIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWN2c3JjQ29tbWFuZCBzdGFydD0iYWRkXHxhZG1pblx8Y2hlY2tvdXRcfGNvbW1pdFx8Y3ZzXHxkaWZmXHxleHBvcnRcfGhpc3RvcnlcfGltcG9ydFx8aW5pdFx8bG9nXHxyZGlmZlx8cmVsZWFzZVx8cmVtb3ZlXHxydGFnXHxzdGF0dXNcfHRhZ1x8dXBkYXRlIiBlbmQ9IiQiIGNvbnRhaW5zPWN2c3JjT3B0aW9uLGN2c3JjU3RyaW5nLGN2c3JjTnVtYmVyIGtlZXBlbmQKK3N5biBtYXRjaCAgIGN2c3JjQmVnaW4gICAgZGlzcGxheSAnXicgbmV4dGdyb3VwPWN2c3JjQ29tbWFuZCBza2lwd2hpdGUKIAotIiBvcHRpb25zCi1zeW4gbWF0Y2ggICBjdnNyY09wdGlvbgkgICAgIi1cYVwrIgorc3luIHJlZ2lvbiAgY3ZzcmNDb21tYW5kICBjb250YWluZWQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1jdnNyY0NvbW1hbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nYWRkXHxhZG1pblx8Y2hlY2tvdXRcfGNvbW1pdFx8Y3ZzXHxkaWZmJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdleHBvcnRcfGhpc3RvcnlcfGltcG9ydFx8aW5pdFx8bG9nJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdyZGlmZlx8cmVsZWFzZVx8cmVtb3ZlXHxydGFnXHxzdGF0dXNcfHRhZycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0ndXBkYXRlJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1jdnNyY09wdGlvbixjdnNyY1N0cmluZyxjdnNyY051bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtlZXBlbmQKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfY3ZzcmNfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfY3ZzcmNfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK3N5biBtYXRjaCAgIGN2c3JjT3B0aW9uICAgY29udGFpbmVkIGRpc3BsYXkgJy1cYVwrJwogCi0gIEhpTGluayBjdnNyY1N0cmluZwlTdHJpbmcKLSAgSGlMaW5rIGN2c3JjTnVtYmVyCU51bWJlcgotICBIaUxpbmsgY3ZzcmNDb21tYW5kCUtleXdvcmQKLSAgSGlMaW5rIGN2c3JjT3B0aW9uCUlkZW50aWZpZXIKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayBjdnNyY1N0cmluZyAgIFN0cmluZworaGkgZGVmIGxpbmsgY3ZzcmNOdW1iZXIgICBOdW1iZXIKK2hpIGRlZiBsaW5rIGN2c3JjQ29tbWFuZCAgS2V5d29yZAoraGkgZGVmIGxpbmsgY3ZzcmNPcHRpb24gICBJZGVudGlmaWVyCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImN2c3JjIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2RpcmNvbG9ycy52aW0gYi9ydW50aW1lL3N5bnRheC9kaXJjb2xvcnMudmltCmluZGV4IGFkZTUyZmMuLjhhMjJiMWQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2RpcmNvbG9ycy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZGlyY29sb3JzLnZpbQpAQCAtMSwxMDYgKzEsNzQ2IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIGRpcmNvbG9ycygxKSBpbnB1dCBmaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2RpcmNvbG9ycy8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgotIiBhcmNoLXRhZzoJICAgIDk5NWUyOTgzLTJhN2EtNGYxZS1iMDBkLTNmZGY4ZTA3NmI0MAotIiBDb2xvciBkZWZpbml0aW9uIGNvbG9yaW5nIGltcGxlbWVudGVkIG15IE1pa29sYWogTWFjaG93c2tpIDxtaWttYWNoQHdwLnBsPgorIiBMYW5ndWFnZTogICAgICAgICBkaXJjb2xvcnMoMSkgaW5wdXQgZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjcKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIHRvZG8KLXN5biBrZXl3b3JkIGRpcmNvbG9yc1RvZG8JY29udGFpbmVkIEZJWE1FIFRPRE8gWFhYIE5PVEUKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBjb21tZW50cwotc3luIHJlZ2lvbiAgZGlyY29sb3JzQ29tbWVudAlzdGFydD0iIyIgZW5kPSIkIiBjb250YWlucz1kaXJjb2xvcnNUb2RvCitzeW4ga2V5d29yZCBkaXJjb2xvcnNUb2RvICAgICAgIGNvbnRhaW5lZCBGSVhNRSBUT0RPIFhYWCBOT1RFCiAKLSIgbnVtYmVycwotc3luIG1hdGNoICAgZGlyY29sb3JzTnVtYmVyCSJcPFxkXCtcPiIKK3N5biByZWdpb24gIGRpcmNvbG9yc0NvbW1lbnQgICAgc3RhcnQ9JyMnIGVuZD0nJCcgY29udGFpbnM9ZGlyY29sb3JzVG9kbyxAU3BlbGwKIAotIiBrZXl3b3Jkcwotc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZAlURVJNIE5PUk1BTCBOT1JNIEZJTEUgRElSIExOSyBMSU5LIFNZTUxJTksKLXN5biBrZXl3b3JkIGRpcmNvbG9yc0tleXdvcmQJT1JQSEFOIE1JU1NJTkcgRklGTyBQSVBFIFNPQ0sgQkxLIEJMT0NLIENIUgotc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZAlDSEFSIERPT1IgRVhFQyBMRUZUIExFRlRDT0RFIFJJR0hUIFJJR0hUQ09ERQotc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZAlFTkQgRU5EQ09ERQorc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZCAgICBURVJNIExFRlQgTEVGVENPREUgUklHSFQgUklHSFRDT0RFIEVORCBFTkRDT0RFCisKK3N5biBrZXl3b3JkIGRpcmNvbG9yc0tleXdvcmQgICAgTk9STUFMIE5PUk0gRklMRSBESVIgTE5LIExJTksgU1lNTElOSyBPUlBIQU4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBNSVNTSU5HIEZJRk8gUElQRSBTT0NLIEJMSyBCTE9DSyBDSFIgQ0hBUgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIERPT1IgRVhFQworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1AZGlyY29sb3JzQ29sb3JzIHNraXB3aGl0ZQorCiBpZiBleGlzdHMoImRpcmNvbG9yc19pc19zbGFja3dhcmUiKQotICBzeW4ga2V5d29yZAlkaXJjb2xvcnNLZXl3b3JkICAgIENPTE9SIE9QVElPTlMgRUlHSFRCSVQKKyAgc3luIGtleXdvcmQgZGlyY29sb3JzS2V5d29yZCAgQ09MT1IgT1BUSU9OUyBFSUdIVEJJVAogZW5kaWYKIAotIiBleHRlbnNpb25zCi1zeW4gbWF0Y2ggICBkaXJjb2xvcnNFeHRlbnNpb24JIl5ccypcenNbLipdXFNcKyIKK3N5biBtYXRjaCAgIGRpcmNvbG9yc0V4dGVuc2lvbiAgJ15ccypcenNbLipdXFNcKycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QGRpcmNvbG9yc0NvbG9ycyBza2lwd2hpdGUKIAotIiBjb2xvcnMKLXN5biBtYXRjaCBkaXJjb2xvcnMwMSAiXDwwMVw+Igotc3luIG1hdGNoIGRpcmNvbG9yczA0ICJcPDA0XD4iCi1zeW4gbWF0Y2ggZGlyY29sb3JzMDUgIlw8MDVcPiIKLXN5biBtYXRjaCBkaXJjb2xvcnMwNyAiXDwwN1w+Igotc3luIG1hdGNoIGRpcmNvbG9yczA4ICJcPDA4XD4iCi1zeW4gbWF0Y2ggZGlyY29sb3JzMzAgIlw8MzBcPiIKLXN5biBtYXRjaCBkaXJjb2xvcnMzMSAiXDwzMVw+Igotc3luIG1hdGNoIGRpcmNvbG9yczMyICJcPDMyXD4iCi1zeW4gbWF0Y2ggZGlyY29sb3JzMzMgIlw8MzNcPiIKLXN5biBtYXRjaCBkaXJjb2xvcnMzNCAiXDwzNFw+Igotc3luIG1hdGNoIGRpcmNvbG9yczM1ICJcPDM1XD4iCi1zeW4gbWF0Y2ggZGlyY29sb3JzMzYgIlw8MzZcPiIKLXN5biBtYXRjaCBkaXJjb2xvcnMzNyAiXDwzN1w+Igotc3luIG1hdGNoIGRpcmNvbG9yczQwICJcPDQwXD4iCi1zeW4gbWF0Y2ggZGlyY29sb3JzNDEgIlw8NDFcPiIKLXN5biBtYXRjaCBkaXJjb2xvcnM0MiAiXDw0Mlw+Igotc3luIG1hdGNoIGRpcmNvbG9yczQzICJcPDQzXD4iCi1zeW4gbWF0Y2ggZGlyY29sb3JzNDQgIlw8NDRcPiIKLXN5biBtYXRjaCBkaXJjb2xvcnM0NSAiXDw0NVw+Igotc3luIG1hdGNoIGRpcmNvbG9yczQ2ICJcPDQ2XD4iCi1zeW4gbWF0Y2ggZGlyY29sb3JzNDcgIlw8NDdcPiIKK2lmICZ0X0NvID09IDggfHwgJnRfQ28gPT0gMTYKKyAgc3luIGNsdXN0ZXIgZGlyY29sb3JzQ29sb3JzICAgY29udGFpbnM9ZGlyY29sb3JzQm9sZCxkaXJjb2xvcnNVbmRlcmxpbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQmxpbmssZGlyY29sb3JzUmV2ZXJzZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNJbnZpc2libGUsZGlyY29sb3JzQmxhY2ssCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzUmVkLGRpcmNvbG9yc0dyZWVuLGRpcmNvbG9yc1llbGxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNCbHVlLGRpcmNvbG9yc01hZ2VudGEsZGlyY29sb3JzQ3lhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNXaGl0ZSxkaXJjb2xvcnNCR0JsYWNrLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0JHUmVkLGRpcmNvbG9yc0JHR3JlZW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQkdZZWxsb3csZGlyY29sb3JzQkdCbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0JHTWFnZW50YSxkaXJjb2xvcnNCR0N5YW4sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQkdXaGl0ZQogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9kaXJjb2xvcnNfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZGlyY29sb3JzX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlEZWYgaGkgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIGRlZiA8YXJncz4KLSAgZW5kaWYKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0JvbGQgICAgICAgY29udGFpbmVkICdcPDAxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNVbmRlcmxpbmUgIGNvbnRhaW5lZCAnXDwwNFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQmxpbmsgICAgICBjb250YWluZWQgJ1w8MDVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc1JldmVyc2UgICAgY29udGFpbmVkICdcPDA3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNJbnZpc2libGUgIGNvbnRhaW5lZCAnXDwwOFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQmxhY2sgICAgICBjb250YWluZWQgJ1w8MzBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc1JlZCAgICAgICAgY29udGFpbmVkICdcPDMxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNHcmVlbiAgICAgIGNvbnRhaW5lZCAnXDwzMlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzWWVsbG93ICAgICBjb250YWluZWQgJ1w8MzNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0JsdWUgICAgICAgY29udGFpbmVkICdcPDM0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNNYWdlbnRhICAgIGNvbnRhaW5lZCAnXDwzNVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ3lhbiAgICAgICBjb250YWluZWQgJ1w8MzZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc1doaXRlICAgICAgY29udGFpbmVkICdcPDM3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNCR0JsYWNrICAgIGNvbnRhaW5lZCAnXDw0MFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQkdSZWQgICAgICBjb250YWluZWQgJ1w8NDFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0JHR3JlZW4gICAgY29udGFpbmVkICdcPDQyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNCR1llbGxvdyAgIGNvbnRhaW5lZCAnXDw0M1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQkdCbHVlICAgICBjb250YWluZWQgJ1w8NDRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0JHTWFnZW50YSAgY29udGFpbmVkICdcPDQ1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNCR0N5YW4gICAgIGNvbnRhaW5lZCAnXDw0Nlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQkdXaGl0ZSAgICBjb250YWluZWQgJ1w8NDdcPicKK2Vsc2VpZiAmdF9DbyA9PSAyNTYKKyAgc3luIGNsdXN0ZXIgZGlyY29sb3JzQ29sb3JzICAgY29udGFpbnM9ZGlyY29sb3JzQ29sb3IxLGRpcmNvbG9yc0NvbG9yMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjMsZGlyY29sb3JzQ29sb3I0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yNSxkaXJjb2xvcnNDb2xvcjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I3LGRpcmNvbG9yc0NvbG9yOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjksZGlyY29sb3JzQ29sb3IxMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjExLGRpcmNvbG9yc0NvbG9yMTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMyxkaXJjb2xvcnNDb2xvcjE0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yMTUsZGlyY29sb3JzQ29sb3IxNiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjE3LGRpcmNvbG9yc0NvbG9yMTgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxOSxkaXJjb2xvcnNDb2xvcjIwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yMjEsZGlyY29sb3JzQ29sb3IyMiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjIzLGRpcmNvbG9yc0NvbG9yMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNSxkaXJjb2xvcnNDb2xvcjI2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yMjcsZGlyY29sb3JzQ29sb3IyOCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjI5LGRpcmNvbG9yc0NvbG9yMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IzMSxkaXJjb2xvcnNDb2xvcjMyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yMzMsZGlyY29sb3JzQ29sb3IzNCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjM1LGRpcmNvbG9yc0NvbG9yMzYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IzNyxkaXJjb2xvcnNDb2xvcjM4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yMzksZGlyY29sb3JzQ29sb3I0MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjQxLGRpcmNvbG9yc0NvbG9yNDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I0MyxkaXJjb2xvcnNDb2xvcjQ0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yNDUsZGlyY29sb3JzQ29sb3I0NiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjQ3LGRpcmNvbG9yc0NvbG9yNDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I0OSxkaXJjb2xvcnNDb2xvcjUwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yNTEsZGlyY29sb3JzQ29sb3I1MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjUzLGRpcmNvbG9yc0NvbG9yNTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I1NSxkaXJjb2xvcnNDb2xvcjU2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yNTcsZGlyY29sb3JzQ29sb3I1OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjU5LGRpcmNvbG9yc0NvbG9yNjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I2MSxkaXJjb2xvcnNDb2xvcjYyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yNjMsZGlyY29sb3JzQ29sb3I2NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjY1LGRpcmNvbG9yc0NvbG9yNjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I2NyxkaXJjb2xvcnNDb2xvcjY4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yNjksZGlyY29sb3JzQ29sb3I3MCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjcxLGRpcmNvbG9yc0NvbG9yNzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I3MyxkaXJjb2xvcnNDb2xvcjc0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yNzUsZGlyY29sb3JzQ29sb3I3NiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjc3LGRpcmNvbG9yc0NvbG9yNzgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I3OSxkaXJjb2xvcnNDb2xvcjgwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yODEsZGlyY29sb3JzQ29sb3I4MiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjgzLGRpcmNvbG9yc0NvbG9yODQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I4NSxkaXJjb2xvcnNDb2xvcjg2LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yODcsZGlyY29sb3JzQ29sb3I4OCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjg5LGRpcmNvbG9yc0NvbG9yOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I5MSxkaXJjb2xvcnNDb2xvcjkyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yOTMsZGlyY29sb3JzQ29sb3I5NCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXJjb2xvcnNDb2xvcjk1LGRpcmNvbG9yc0NvbG9yOTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3I5NyxkaXJjb2xvcnNDb2xvcjk4LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpcmNvbG9yc0NvbG9yOTksZGlyY29sb3JzQ29sb3IxMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMDEsZGlyY29sb3JzQ29sb3IxMDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMDMsZGlyY29sb3JzQ29sb3IxMDQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMDUsZGlyY29sb3JzQ29sb3IxMDYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMDcsZGlyY29sb3JzQ29sb3IxMDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMDksZGlyY29sb3JzQ29sb3IxMTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMTEsZGlyY29sb3JzQ29sb3IxMTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMTMsZGlyY29sb3JzQ29sb3IxMTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMTUsZGlyY29sb3JzQ29sb3IxMTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMTcsZGlyY29sb3JzQ29sb3IxMTgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMTksZGlyY29sb3JzQ29sb3IxMjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMjEsZGlyY29sb3JzQ29sb3IxMjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMjMsZGlyY29sb3JzQ29sb3IxMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMjUsZGlyY29sb3JzQ29sb3IxMjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMjcsZGlyY29sb3JzQ29sb3IxMjgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMjksZGlyY29sb3JzQ29sb3IxMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMzEsZGlyY29sb3JzQ29sb3IxMzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMzMsZGlyY29sb3JzQ29sb3IxMzQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMzUsZGlyY29sb3JzQ29sb3IxMzYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMzcsZGlyY29sb3JzQ29sb3IxMzgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxMzksZGlyY29sb3JzQ29sb3IxNDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNDEsZGlyY29sb3JzQ29sb3IxNDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNDMsZGlyY29sb3JzQ29sb3IxNDQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNDUsZGlyY29sb3JzQ29sb3IxNDYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNDcsZGlyY29sb3JzQ29sb3IxNDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNDksZGlyY29sb3JzQ29sb3IxNTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNTEsZGlyY29sb3JzQ29sb3IxNTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNTMsZGlyY29sb3JzQ29sb3IxNTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNTUsZGlyY29sb3JzQ29sb3IxNTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNTcsZGlyY29sb3JzQ29sb3IxNTgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNTksZGlyY29sb3JzQ29sb3IxNjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNjEsZGlyY29sb3JzQ29sb3IxNjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNjMsZGlyY29sb3JzQ29sb3IxNjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNjUsZGlyY29sb3JzQ29sb3IxNjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNjcsZGlyY29sb3JzQ29sb3IxNjgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNjksZGlyY29sb3JzQ29sb3IxNzAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNzEsZGlyY29sb3JzQ29sb3IxNzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNzMsZGlyY29sb3JzQ29sb3IxNzQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNzUsZGlyY29sb3JzQ29sb3IxNzYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNzcsZGlyY29sb3JzQ29sb3IxNzgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxNzksZGlyY29sb3JzQ29sb3IxODAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxODEsZGlyY29sb3JzQ29sb3IxODIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxODMsZGlyY29sb3JzQ29sb3IxODQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxODUsZGlyY29sb3JzQ29sb3IxODYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxODcsZGlyY29sb3JzQ29sb3IxODgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxODksZGlyY29sb3JzQ29sb3IxOTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxOTEsZGlyY29sb3JzQ29sb3IxOTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxOTMsZGlyY29sb3JzQ29sb3IxOTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxOTUsZGlyY29sb3JzQ29sb3IxOTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxOTcsZGlyY29sb3JzQ29sb3IxOTgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IxOTksZGlyY29sb3JzQ29sb3IyMDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMDEsZGlyY29sb3JzQ29sb3IyMDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMDMsZGlyY29sb3JzQ29sb3IyMDQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMDUsZGlyY29sb3JzQ29sb3IyMDYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMDcsZGlyY29sb3JzQ29sb3IyMDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMDksZGlyY29sb3JzQ29sb3IyMTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMTEsZGlyY29sb3JzQ29sb3IyMTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMTMsZGlyY29sb3JzQ29sb3IyMTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMTUsZGlyY29sb3JzQ29sb3IyMTYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMTcsZGlyY29sb3JzQ29sb3IyMTgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMTksZGlyY29sb3JzQ29sb3IyMjAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMjEsZGlyY29sb3JzQ29sb3IyMjIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMjMsZGlyY29sb3JzQ29sb3IyMjQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMjUsZGlyY29sb3JzQ29sb3IyMjYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMjcsZGlyY29sb3JzQ29sb3IyMjgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMjksZGlyY29sb3JzQ29sb3IyMzAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMzEsZGlyY29sb3JzQ29sb3IyMzIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMzMsZGlyY29sb3JzQ29sb3IyMzQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMzUsZGlyY29sb3JzQ29sb3IyMzYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMzcsZGlyY29sb3JzQ29sb3IyMzgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyMzksZGlyY29sb3JzQ29sb3IyNDAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNDEsZGlyY29sb3JzQ29sb3IyNDIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNDMsZGlyY29sb3JzQ29sb3IyNDQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNDUsZGlyY29sb3JzQ29sb3IyNDYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNDcsZGlyY29sb3JzQ29sb3IyNDgsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNDksZGlyY29sb3JzQ29sb3IyNTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNTEsZGlyY29sb3JzQ29sb3IyNTIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNTMsZGlyY29sb3JzQ29sb3IyNTQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlyY29sb3JzQ29sb3IyNTUKIAotICBIaUxpbmsgZGlyY29sb3JzVG9kbwlUb2RvCi0gIEhpTGluayBkaXJjb2xvcnNDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGRpcmNvbG9yc051bWJlcglOdW1iZXIKLSAgSGlMaW5rIGRpcmNvbG9yc0tleXdvcmQJS2V5d29yZAotICBIaUxpbmsgZGlyY29sb3JzRXh0ZW5zaW9uCUtleXdvcmQKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMSAgICAgY29udGFpbmVkICdcPDFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMiAgICAgY29udGFpbmVkICdcPDJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMyAgICAgY29udGFpbmVkICdcPDNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNCAgICAgY29udGFpbmVkICdcPDRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNSAgICAgY29udGFpbmVkICdcPDVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNiAgICAgY29udGFpbmVkICdcPDZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNyAgICAgY29udGFpbmVkICdcPDdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yOCAgICAgY29udGFpbmVkICdcPDhcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yOSAgICAgY29udGFpbmVkICdcPDlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTAgICAgY29udGFpbmVkICdcPDEwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjExICAgIGNvbnRhaW5lZCAnXDwxMVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMiAgICBjb250YWluZWQgJ1w8MTJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTMgICAgY29udGFpbmVkICdcPDEzXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE0ICAgIGNvbnRhaW5lZCAnXDwxNFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNSAgICBjb250YWluZWQgJ1w8MTVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTYgICAgY29udGFpbmVkICdcPDE2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE3ICAgIGNvbnRhaW5lZCAnXDwxN1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxOCAgICBjb250YWluZWQgJ1w8MThcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTkgICAgY29udGFpbmVkICdcPDE5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIwICAgIGNvbnRhaW5lZCAnXDwyMFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMSAgICBjb250YWluZWQgJ1w8MjFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjIgICAgY29udGFpbmVkICdcPDIyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIzICAgIGNvbnRhaW5lZCAnXDwyM1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyNCAgICBjb250YWluZWQgJ1w8MjRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjUgICAgY29udGFpbmVkICdcPDI1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI2ICAgIGNvbnRhaW5lZCAnXDwyNlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyNyAgICBjb250YWluZWQgJ1w8MjdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjggICAgY29udGFpbmVkICdcPDI4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI5ICAgIGNvbnRhaW5lZCAnXDwyOVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IzMCAgICBjb250YWluZWQgJ1w8MzBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMzEgICAgY29udGFpbmVkICdcPDMxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjMyICAgIGNvbnRhaW5lZCAnXDwzMlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IzMyAgICBjb250YWluZWQgJ1w8MzNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMzQgICAgY29udGFpbmVkICdcPDM0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjM1ICAgIGNvbnRhaW5lZCAnXDwzNVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IzNiAgICBjb250YWluZWQgJ1w8MzZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMzcgICAgY29udGFpbmVkICdcPDM3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjM4ICAgIGNvbnRhaW5lZCAnXDwzOFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IzOSAgICBjb250YWluZWQgJ1w8MzlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNDAgICAgY29udGFpbmVkICdcPDQwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjQxICAgIGNvbnRhaW5lZCAnXDw0MVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I0MiAgICBjb250YWluZWQgJ1w8NDJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNDMgICAgY29udGFpbmVkICdcPDQzXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjQ0ICAgIGNvbnRhaW5lZCAnXDw0NFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I0NSAgICBjb250YWluZWQgJ1w8NDVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNDYgICAgY29udGFpbmVkICdcPDQ2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjQ3ICAgIGNvbnRhaW5lZCAnXDw0N1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I0OCAgICBjb250YWluZWQgJ1w8NDhcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNDkgICAgY29udGFpbmVkICdcPDQ5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjUwICAgIGNvbnRhaW5lZCAnXDw1MFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I1MSAgICBjb250YWluZWQgJ1w8NTFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNTIgICAgY29udGFpbmVkICdcPDUyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjUzICAgIGNvbnRhaW5lZCAnXDw1M1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I1NCAgICBjb250YWluZWQgJ1w8NTRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNTUgICAgY29udGFpbmVkICdcPDU1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjU2ICAgIGNvbnRhaW5lZCAnXDw1Nlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I1NyAgICBjb250YWluZWQgJ1w8NTdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNTggICAgY29udGFpbmVkICdcPDU4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjU5ICAgIGNvbnRhaW5lZCAnXDw1OVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I2MCAgICBjb250YWluZWQgJ1w8NjBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNjEgICAgY29udGFpbmVkICdcPDYxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjYyICAgIGNvbnRhaW5lZCAnXDw2Mlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I2MyAgICBjb250YWluZWQgJ1w8NjNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNjQgICAgY29udGFpbmVkICdcPDY0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjY1ICAgIGNvbnRhaW5lZCAnXDw2NVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I2NiAgICBjb250YWluZWQgJ1w8NjZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNjcgICAgY29udGFpbmVkICdcPDY3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjY4ICAgIGNvbnRhaW5lZCAnXDw2OFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I2OSAgICBjb250YWluZWQgJ1w8NjlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNzAgICAgY29udGFpbmVkICdcPDcwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjcxICAgIGNvbnRhaW5lZCAnXDw3MVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I3MiAgICBjb250YWluZWQgJ1w8NzJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNzMgICAgY29udGFpbmVkICdcPDczXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjc0ICAgIGNvbnRhaW5lZCAnXDw3NFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I3NSAgICBjb250YWluZWQgJ1w8NzVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNzYgICAgY29udGFpbmVkICdcPDc2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjc3ICAgIGNvbnRhaW5lZCAnXDw3N1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I3OCAgICBjb250YWluZWQgJ1w8NzhcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yNzkgICAgY29udGFpbmVkICdcPDc5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjgwICAgIGNvbnRhaW5lZCAnXDw4MFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I4MSAgICBjb250YWluZWQgJ1w8ODFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yODIgICAgY29udGFpbmVkICdcPDgyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjgzICAgIGNvbnRhaW5lZCAnXDw4M1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I4NCAgICBjb250YWluZWQgJ1w8ODRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yODUgICAgY29udGFpbmVkICdcPDg1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjg2ICAgIGNvbnRhaW5lZCAnXDw4Nlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I4NyAgICBjb250YWluZWQgJ1w8ODdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yODggICAgY29udGFpbmVkICdcPDg4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjg5ICAgIGNvbnRhaW5lZCAnXDw4OVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I5MCAgICBjb250YWluZWQgJ1w8OTBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yOTEgICAgY29udGFpbmVkICdcPDkxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjkyICAgIGNvbnRhaW5lZCAnXDw5Mlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I5MyAgICBjb250YWluZWQgJ1w8OTNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yOTQgICAgY29udGFpbmVkICdcPDk0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjk1ICAgIGNvbnRhaW5lZCAnXDw5NVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I5NiAgICBjb250YWluZWQgJ1w8OTZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yOTcgICAgY29udGFpbmVkICdcPDk3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjk4ICAgIGNvbnRhaW5lZCAnXDw5OFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3I5OSAgICBjb250YWluZWQgJ1w8OTlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTAwICAgY29udGFpbmVkICdcPDEwMFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMDEgICBjb250YWluZWQgJ1w8MTAxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEwMiAgIGNvbnRhaW5lZCAnXDwxMDJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTAzICAgY29udGFpbmVkICdcPDEwM1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMDQgICBjb250YWluZWQgJ1w8MTA0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEwNSAgIGNvbnRhaW5lZCAnXDwxMDVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTA2ICAgY29udGFpbmVkICdcPDEwNlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMDcgICBjb250YWluZWQgJ1w8MTA3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEwOCAgIGNvbnRhaW5lZCAnXDwxMDhcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTA5ICAgY29udGFpbmVkICdcPDEwOVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMTAgICBjb250YWluZWQgJ1w8MTEwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjExMSAgIGNvbnRhaW5lZCAnXDwxMTFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTEyICAgY29udGFpbmVkICdcPDExMlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMTMgICBjb250YWluZWQgJ1w8MTEzXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjExNCAgIGNvbnRhaW5lZCAnXDwxMTRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTE1ICAgY29udGFpbmVkICdcPDExNVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMTYgICBjb250YWluZWQgJ1w8MTE2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjExNyAgIGNvbnRhaW5lZCAnXDwxMTdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTE4ICAgY29udGFpbmVkICdcPDExOFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMTkgICBjb250YWluZWQgJ1w8MTE5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEyMCAgIGNvbnRhaW5lZCAnXDwxMjBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTIxICAgY29udGFpbmVkICdcPDEyMVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMjIgICBjb250YWluZWQgJ1w8MTIyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEyMyAgIGNvbnRhaW5lZCAnXDwxMjNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTI0ICAgY29udGFpbmVkICdcPDEyNFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMjUgICBjb250YWluZWQgJ1w8MTI1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEyNiAgIGNvbnRhaW5lZCAnXDwxMjZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTI3ICAgY29udGFpbmVkICdcPDEyN1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMjggICBjb250YWluZWQgJ1w8MTI4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEyOSAgIGNvbnRhaW5lZCAnXDwxMjlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTMwICAgY29udGFpbmVkICdcPDEzMFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMzEgICBjb250YWluZWQgJ1w8MTMxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEzMiAgIGNvbnRhaW5lZCAnXDwxMzJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTMzICAgY29udGFpbmVkICdcPDEzM1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMzQgICBjb250YWluZWQgJ1w8MTM0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEzNSAgIGNvbnRhaW5lZCAnXDwxMzVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTM2ICAgY29udGFpbmVkICdcPDEzNlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxMzcgICBjb250YWluZWQgJ1w8MTM3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjEzOCAgIGNvbnRhaW5lZCAnXDwxMzhcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTM5ICAgY29udGFpbmVkICdcPDEzOVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNDAgICBjb250YWluZWQgJ1w8MTQwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE0MSAgIGNvbnRhaW5lZCAnXDwxNDFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTQyICAgY29udGFpbmVkICdcPDE0Mlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNDMgICBjb250YWluZWQgJ1w8MTQzXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE0NCAgIGNvbnRhaW5lZCAnXDwxNDRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTQ1ICAgY29udGFpbmVkICdcPDE0NVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNDYgICBjb250YWluZWQgJ1w8MTQ2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE0NyAgIGNvbnRhaW5lZCAnXDwxNDdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTQ4ICAgY29udGFpbmVkICdcPDE0OFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNDkgICBjb250YWluZWQgJ1w8MTQ5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE1MCAgIGNvbnRhaW5lZCAnXDwxNTBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTUxICAgY29udGFpbmVkICdcPDE1MVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNTIgICBjb250YWluZWQgJ1w8MTUyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE1MyAgIGNvbnRhaW5lZCAnXDwxNTNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTU0ICAgY29udGFpbmVkICdcPDE1NFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNTUgICBjb250YWluZWQgJ1w8MTU1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE1NiAgIGNvbnRhaW5lZCAnXDwxNTZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTU3ICAgY29udGFpbmVkICdcPDE1N1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNTggICBjb250YWluZWQgJ1w8MTU4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE1OSAgIGNvbnRhaW5lZCAnXDwxNTlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTYwICAgY29udGFpbmVkICdcPDE2MFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNjEgICBjb250YWluZWQgJ1w8MTYxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE2MiAgIGNvbnRhaW5lZCAnXDwxNjJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTYzICAgY29udGFpbmVkICdcPDE2M1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNjQgICBjb250YWluZWQgJ1w8MTY0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE2NSAgIGNvbnRhaW5lZCAnXDwxNjVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTY2ICAgY29udGFpbmVkICdcPDE2Nlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNjcgICBjb250YWluZWQgJ1w8MTY3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE2OCAgIGNvbnRhaW5lZCAnXDwxNjhcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTY5ICAgY29udGFpbmVkICdcPDE2OVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNzAgICBjb250YWluZWQgJ1w8MTcwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE3MSAgIGNvbnRhaW5lZCAnXDwxNzFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTcyICAgY29udGFpbmVkICdcPDE3Mlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNzMgICBjb250YWluZWQgJ1w8MTczXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE3NCAgIGNvbnRhaW5lZCAnXDwxNzRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTc1ICAgY29udGFpbmVkICdcPDE3NVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNzYgICBjb250YWluZWQgJ1w8MTc2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE3NyAgIGNvbnRhaW5lZCAnXDwxNzdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTc4ICAgY29udGFpbmVkICdcPDE3OFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxNzkgICBjb250YWluZWQgJ1w8MTc5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE4MCAgIGNvbnRhaW5lZCAnXDwxODBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTgxICAgY29udGFpbmVkICdcPDE4MVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxODIgICBjb250YWluZWQgJ1w8MTgyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE4MyAgIGNvbnRhaW5lZCAnXDwxODNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTg0ICAgY29udGFpbmVkICdcPDE4NFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxODUgICBjb250YWluZWQgJ1w8MTg1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE4NiAgIGNvbnRhaW5lZCAnXDwxODZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTg3ICAgY29udGFpbmVkICdcPDE4N1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxODggICBjb250YWluZWQgJ1w8MTg4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE4OSAgIGNvbnRhaW5lZCAnXDwxODlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTkwICAgY29udGFpbmVkICdcPDE5MFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxOTEgICBjb250YWluZWQgJ1w8MTkxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE5MiAgIGNvbnRhaW5lZCAnXDwxOTJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTkzICAgY29udGFpbmVkICdcPDE5M1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxOTQgICBjb250YWluZWQgJ1w8MTk0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE5NSAgIGNvbnRhaW5lZCAnXDwxOTVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTk2ICAgY29udGFpbmVkICdcPDE5Nlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IxOTcgICBjb250YWluZWQgJ1w8MTk3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjE5OCAgIGNvbnRhaW5lZCAnXDwxOThcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMTk5ICAgY29udGFpbmVkICdcPDE5OVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMDAgICBjb250YWluZWQgJ1w8MjAwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIwMSAgIGNvbnRhaW5lZCAnXDwyMDFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjAyICAgY29udGFpbmVkICdcPDIwMlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMDMgICBjb250YWluZWQgJ1w8MjAzXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIwNCAgIGNvbnRhaW5lZCAnXDwyMDRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjA1ICAgY29udGFpbmVkICdcPDIwNVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMDYgICBjb250YWluZWQgJ1w8MjA2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIwNyAgIGNvbnRhaW5lZCAnXDwyMDdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjA4ICAgY29udGFpbmVkICdcPDIwOFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMDkgICBjb250YWluZWQgJ1w8MjA5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIxMCAgIGNvbnRhaW5lZCAnXDwyMTBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjExICAgY29udGFpbmVkICdcPDIxMVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMTIgICBjb250YWluZWQgJ1w8MjEyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIxMyAgIGNvbnRhaW5lZCAnXDwyMTNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjE0ICAgY29udGFpbmVkICdcPDIxNFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMTUgICBjb250YWluZWQgJ1w8MjE1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIxNiAgIGNvbnRhaW5lZCAnXDwyMTZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjE3ICAgY29udGFpbmVkICdcPDIxN1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMTggICBjb250YWluZWQgJ1w8MjE4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIxOSAgIGNvbnRhaW5lZCAnXDwyMTlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjIwICAgY29udGFpbmVkICdcPDIyMFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMjEgICBjb250YWluZWQgJ1w8MjIxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIyMiAgIGNvbnRhaW5lZCAnXDwyMjJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjIzICAgY29udGFpbmVkICdcPDIyM1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMjQgICBjb250YWluZWQgJ1w8MjI0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIyNSAgIGNvbnRhaW5lZCAnXDwyMjVcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjI2ICAgY29udGFpbmVkICdcPDIyNlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMjcgICBjb250YWluZWQgJ1w8MjI3XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIyOCAgIGNvbnRhaW5lZCAnXDwyMjhcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjI5ICAgY29udGFpbmVkICdcPDIyOVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMzAgICBjb250YWluZWQgJ1w8MjMwXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIzMSAgIGNvbnRhaW5lZCAnXDwyMzFcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjMyICAgY29udGFpbmVkICdcPDIzMlw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMzMgICBjb250YWluZWQgJ1w8MjMzXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIzNCAgIGNvbnRhaW5lZCAnXDwyMzRcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjM1ICAgY29udGFpbmVkICdcPDIzNVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMzYgICBjb250YWluZWQgJ1w8MjM2XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjIzNyAgIGNvbnRhaW5lZCAnXDwyMzdcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjM4ICAgY29udGFpbmVkICdcPDIzOFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyMzkgICBjb250YWluZWQgJ1w8MjM5XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI0MCAgIGNvbnRhaW5lZCAnXDwyNDBcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjQxICAgY29udGFpbmVkICdcPDI0MVw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyNDIgICBjb250YWluZWQgJ1w8MjQyXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI0MyAgIGNvbnRhaW5lZCAnXDwyNDNcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjQ0ICAgY29udGFpbmVkICdcPDI0NFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyNDUgICBjb250YWluZWQgJ1w8MjQ1XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI0NiAgIGNvbnRhaW5lZCAnXDwyNDZcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjQ3ICAgY29udGFpbmVkICdcPDI0N1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyNDggICBjb250YWluZWQgJ1w8MjQ4XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI0OSAgIGNvbnRhaW5lZCAnXDwyNDlcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjUwICAgY29udGFpbmVkICdcPDI1MFw+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyNTEgICBjb250YWluZWQgJ1w8MjUxXD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI1MiAgIGNvbnRhaW5lZCAnXDwyNTJcPicKKyAgc3luIG1hdGNoIGRpcmNvbG9yc0NvbG9yMjUzICAgY29udGFpbmVkICdcPDI1M1w+JworICBzeW4gbWF0Y2ggZGlyY29sb3JzQ29sb3IyNTQgICBjb250YWluZWQgJ1w8MjU0XD4nCisgIHN5biBtYXRjaCBkaXJjb2xvcnNDb2xvcjI1NSAgIGNvbnRhaW5lZCAnXDwyNTVcPicKK2Vsc2UKKyAgc3luIGNsdXN0ZXIgZGlyY29sb3JzQ29sb3JzICAgY29udGFpbnM9ZGlyY29sb3JzTnVtYmVyCisgIHN5biBtYXRjaCAgIGRpcmNvbG9yc051bWJlciAgICdcPFxkXCtcPicKK2VuZGlmCiAKLSAgSGlEZWYgZGlyY29sb3JzMDEJCXRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCi0gIEhpRGVmIGRpcmNvbG9yczA0CQl0ZXJtPXVuZGVybGluZSBjdGVybT11bmRlcmxpbmUgZ3VpPXVuZGVybGluZQotICAiICAgIEhpRGVmIGRpcmNvbG9yczA1Ci0gIEhpRGVmIGRpcmNvbG9yczA3CQl0ZXJtPXJldmVyc2UgY3Rlcm09cmV2ZXJzZSBndWk9cmV2ZXJzZQotICBIaUxpbmsgZGlyY29sb3JzMDgJCUlnbm9yZQotICBIaURlZiBkaXJjb2xvcnMzMAkJY3Rlcm1mZz1CbGFjayBndWlmZz1CbGFjawotICBIaURlZiBkaXJjb2xvcnMzMQkJY3Rlcm1mZz1SZWQgZ3VpZmc9UmVkCi0gIEhpRGVmIGRpcmNvbG9yczMyCQljdGVybWZnPUdyZWVuIGd1aWZnPUdyZWVuCi0gIEhpRGVmIGRpcmNvbG9yczMzCQljdGVybWZnPVllbGxvdyBndWlmZz1ZZWxsb3cKLSAgSGlEZWYgZGlyY29sb3JzMzQJCWN0ZXJtZmc9Qmx1ZSBndWlmZz1CbHVlCi0gIEhpRGVmIGRpcmNvbG9yczM1CQljdGVybWZnPU1hZ2VudGEgZ3VpZmc9TWFnZW50YQotICBIaURlZiBkaXJjb2xvcnMzNgkJY3Rlcm1mZz1DeWFuIGd1aWZnPUN5YW4KLSAgSGlEZWYgZGlyY29sb3JzMzcJCWN0ZXJtZmc9V2hpdGUgZ3VpZmc9V2hpdGUKLSAgSGlEZWYgZGlyY29sb3JzNDAJCWN0ZXJtYmc9QmxhY2sgY3Rlcm1mZz1XaGl0ZSBndWliZz1CbGFjayBndWlmZz1XaGl0ZQotICBIaURlZiBkaXJjb2xvcnM0MQkJY3Rlcm1iZz1EYXJrUmVkIGd1aWJnPURhcmtSZWQKLSAgSGlEZWYgZGlyY29sb3JzNDIJCWN0ZXJtYmc9RGFya0dyZWVuIGd1aWJnPURhcmtHcmVlbgotICBIaURlZiBkaXJjb2xvcnM0MwkJY3Rlcm1iZz1EYXJrWWVsbG93IGd1aWJnPURhcmtZZWxsb3cKLSAgSGlEZWYgZGlyY29sb3JzNDQJCWN0ZXJtYmc9RGFya0JsdWUgZ3VpYmc9RGFya0JsdWUKLSAgSGlEZWYgZGlyY29sb3JzNDUJCWN0ZXJtYmc9RGFya01hZ2VudGEgZ3VpYmc9RGFya01hZ2VudGEKLSAgSGlEZWYgZGlyY29sb3JzNDYJCWN0ZXJtYmc9RGFya0N5YW4gZ3VpYmc9RGFya0N5YW4KLSAgSGlEZWYgZGlyY29sb3JzNDcJCWN0ZXJtYmc9V2hpdGUgY3Rlcm1mZz1CbGFjayBndWliZz1XaGl0ZSBndWlmZz1CbGFjaworaGkgZGVmIGxpbmsgZGlyY29sb3JzVG9kbyAgICAgICBUb2RvCitoaSBkZWYgbGluayBkaXJjb2xvcnNDb21tZW50ICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIGRpcmNvbG9yc0tleXdvcmQgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgZGlyY29sb3JzRXh0ZW5zaW9uICBLZXl3b3JkCiAKLSAgZGVsY29tbWFuZCBIaUxpbmsKLSAgZGVsY29tbWFuZCBIaURlZgoraWYgJnRfQ28gPT0gOCB8fCAmdF9DbyA9PSAxNgorICBoaSBkZWYgICAgICBkaXJjb2xvcnNCb2xkICAgICAgIHRlcm09Ym9sZCBjdGVybT1ib2xkIGd1aT1ib2xkCisgIGhpIGRlZiAgICAgIGRpcmNvbG9yc1VuZGVybGluZSAgdGVybT11bmRlcmxpbmUgY3Rlcm09dW5kZXJsaW5lIGd1aT11bmRlcmxpbmUKKyAgaGkgZGVmIGxpbmsgZGlyY29sb3JzQmxpbmsgICAgICBOb3JtYWwKKyAgaGkgZGVmICAgICAgZGlyY29sb3JzUmV2ZXJzZSAgICB0ZXJtPXJldmVyc2UgY3Rlcm09cmV2ZXJzZSBndWk9cmV2ZXJzZQorICBoaSBkZWYgbGluayBkaXJjb2xvcnNJbnZpc2libGUgIElnbm9yZQorICBoaSBkZWYgICAgICBkaXJjb2xvcnNCbGFjayAgICAgIGN0ZXJtZmc9QmxhY2sgZ3VpZmc9QmxhY2sKKyAgaGkgZGVmICAgICAgZGlyY29sb3JzUmVkICAgICAgICBjdGVybWZnPVJlZCBndWlmZz1SZWQKKyAgaGkgZGVmICAgICAgZGlyY29sb3JzR3JlZW4gICAgICBjdGVybWZnPUdyZWVuIGd1aWZnPUdyZWVuCisgIGhpIGRlZiAgICAgIGRpcmNvbG9yc1llbGxvdyAgICAgY3Rlcm1mZz1ZZWxsb3cgZ3VpZmc9WWVsbG93CisgIGhpIGRlZiAgICAgIGRpcmNvbG9yc0JsdWUgICAgICAgY3Rlcm1mZz1CbHVlIGd1aWZnPUJsdWUKKyAgaGkgZGVmICAgICAgZGlyY29sb3JzTWFnZW50YSAgICBjdGVybWZnPU1hZ2VudGEgZ3VpZmc9TWFnZW50YQorICBoaSBkZWYgICAgICBkaXJjb2xvcnNDeWFuICAgICAgIGN0ZXJtZmc9Q3lhbiBndWlmZz1DeWFuCisgIGhpIGRlZiAgICAgIGRpcmNvbG9yc1doaXRlICAgICAgY3Rlcm1mZz1XaGl0ZSBndWlmZz1XaGl0ZQorICBoaSBkZWYgICAgICBkaXJjb2xvcnNCR0JsYWNrICAgIGN0ZXJtYmc9QmxhY2sgY3Rlcm1mZz1XaGl0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZ3VpYmc9QmxhY2sgZ3VpZmc9V2hpdGUKKyAgaGkgZGVmICAgICAgZGlyY29sb3JzQkdSZWQgICAgICBjdGVybWJnPURhcmtSZWQgZ3VpYmc9RGFya1JlZAorICBoaSBkZWYgICAgICBkaXJjb2xvcnNCR0dyZWVuICAgIGN0ZXJtYmc9RGFya0dyZWVuIGd1aWJnPURhcmtHcmVlbgorICBoaSBkZWYgICAgICBkaXJjb2xvcnNCR1llbGxvdyAgIGN0ZXJtYmc9RGFya1llbGxvdyBndWliZz1EYXJrWWVsbG93CisgIGhpIGRlZiAgICAgIGRpcmNvbG9yc0JHQmx1ZSAgICAgY3Rlcm1iZz1EYXJrQmx1ZSBndWliZz1EYXJrQmx1ZQorICBoaSBkZWYgICAgICBkaXJjb2xvcnNCR01hZ2VudGEgIGN0ZXJtYmc9RGFya01hZ2VudGEgZ3VpYmc9RGFya01hZ2VudGEKKyAgaGkgZGVmICAgICAgZGlyY29sb3JzQkdDeWFuICAgICBjdGVybWJnPURhcmtDeWFuIGd1aWJnPURhcmtDeWFuCisgIGhpIGRlZiAgICAgIGRpcmNvbG9yc0JHV2hpdGUgICAgY3Rlcm1iZz1XaGl0ZSBjdGVybWZnPUJsYWNrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBndWliZz1XaGl0ZSBndWlmZz1CbGFjaworZWxzZWlmICZ0X0NvID09IDI1NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxICAgICBjdGVybWZnPTEgICBndWlmZz0xCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIgICAgIGN0ZXJtZmc9MiAgIGd1aWZnPTIKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMyAgICAgY3Rlcm1mZz0zICAgZ3VpZmc9MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0ICAgICBjdGVybWZnPTQgICBndWlmZz00CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjUgICAgIGN0ZXJtZmc9NSAgIGd1aWZnPTUKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yNiAgICAgY3Rlcm1mZz02ICAgZ3VpZmc9NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3ICAgICBjdGVybWZnPTcgICBndWlmZz03CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjggICAgIGN0ZXJtZmc9OCAgIGd1aWZnPTgKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yOSAgICAgY3Rlcm1mZz05ICAgZ3VpZmc9OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMCAgICBjdGVybWZnPTEwICBndWlmZz0xMAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMSAgICBjdGVybWZnPTExICBndWlmZz0xMQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMiAgICBjdGVybWZnPTEyICBndWlmZz0xMgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMyAgICBjdGVybWZnPTEzICBndWlmZz0xMworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNCAgICBjdGVybWZnPTE0ICBndWlmZz0xNAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNSAgICBjdGVybWZnPTE1ICBndWlmZz0xNQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNiAgICBjdGVybWZnPTE2ICBndWlmZz0xNgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNyAgICBjdGVybWZnPTE3ICBndWlmZz0xNworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxOCAgICBjdGVybWZnPTE4ICBndWlmZz0xOAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxOSAgICBjdGVybWZnPTE5ICBndWlmZz0xOQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMCAgICBjdGVybWZnPTIwICBndWlmZz0yMAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMSAgICBjdGVybWZnPTIxICBndWlmZz0yMQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMiAgICBjdGVybWZnPTIyICBndWlmZz0yMgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMyAgICBjdGVybWZnPTIzICBndWlmZz0yMworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNCAgICBjdGVybWZnPTI0ICBndWlmZz0yNAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNSAgICBjdGVybWZnPTI1ICBndWlmZz0yNQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNiAgICBjdGVybWZnPTI2ICBndWlmZz0yNgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNyAgICBjdGVybWZnPTI3ICBndWlmZz0yNworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyOCAgICBjdGVybWZnPTI4ICBndWlmZz0yOAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyOSAgICBjdGVybWZnPTI5ICBndWlmZz0yOQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzMCAgICBjdGVybWZnPTMwICBndWlmZz0zMAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzMSAgICBjdGVybWZnPTMxICBndWlmZz0zMQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzMiAgICBjdGVybWZnPTMyICBndWlmZz0zMgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzMyAgICBjdGVybWZnPTMzICBndWlmZz0zMworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzNCAgICBjdGVybWZnPTM0ICBndWlmZz0zNAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzNSAgICBjdGVybWZnPTM1ICBndWlmZz0zNQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzNiAgICBjdGVybWZnPTM2ICBndWlmZz0zNgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzNyAgICBjdGVybWZnPTM3ICBndWlmZz0zNworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzOCAgICBjdGVybWZnPTM4ICBndWlmZz0zOAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IzOSAgICBjdGVybWZnPTM5ICBndWlmZz0zOQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0MCAgICBjdGVybWZnPTQwICBndWlmZz00MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0MSAgICBjdGVybWZnPTQxICBndWlmZz00MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0MiAgICBjdGVybWZnPTQyICBndWlmZz00MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0MyAgICBjdGVybWZnPTQzICBndWlmZz00MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0NCAgICBjdGVybWZnPTQ0ICBndWlmZz00NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0NSAgICBjdGVybWZnPTQ1ICBndWlmZz00NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0NiAgICBjdGVybWZnPTQ2ICBndWlmZz00NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0NyAgICBjdGVybWZnPTQ3ICBndWlmZz00NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0OCAgICBjdGVybWZnPTQ4ICBndWlmZz00OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I0OSAgICBjdGVybWZnPTQ5ICBndWlmZz00OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1MCAgICBjdGVybWZnPTUwICBndWlmZz01MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1MSAgICBjdGVybWZnPTUxICBndWlmZz01MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1MiAgICBjdGVybWZnPTUyICBndWlmZz01MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1MyAgICBjdGVybWZnPTUzICBndWlmZz01MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1NCAgICBjdGVybWZnPTU0ICBndWlmZz01NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1NSAgICBjdGVybWZnPTU1ICBndWlmZz01NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1NiAgICBjdGVybWZnPTU2ICBndWlmZz01NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1NyAgICBjdGVybWZnPTU3ICBndWlmZz01NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1OCAgICBjdGVybWZnPTU4ICBndWlmZz01OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I1OSAgICBjdGVybWZnPTU5ICBndWlmZz01OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2MCAgICBjdGVybWZnPTYwICBndWlmZz02MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2MSAgICBjdGVybWZnPTYxICBndWlmZz02MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2MiAgICBjdGVybWZnPTYyICBndWlmZz02MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2MyAgICBjdGVybWZnPTYzICBndWlmZz02MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2NCAgICBjdGVybWZnPTY0ICBndWlmZz02NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2NSAgICBjdGVybWZnPTY1ICBndWlmZz02NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2NiAgICBjdGVybWZnPTY2ICBndWlmZz02NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2NyAgICBjdGVybWZnPTY3ICBndWlmZz02NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2OCAgICBjdGVybWZnPTY4ICBndWlmZz02OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I2OSAgICBjdGVybWZnPTY5ICBndWlmZz02OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3MCAgICBjdGVybWZnPTcwICBndWlmZz03MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3MSAgICBjdGVybWZnPTcxICBndWlmZz03MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3MiAgICBjdGVybWZnPTcyICBndWlmZz03MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3MyAgICBjdGVybWZnPTczICBndWlmZz03MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3NCAgICBjdGVybWZnPTc0ICBndWlmZz03NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3NSAgICBjdGVybWZnPTc1ICBndWlmZz03NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3NiAgICBjdGVybWZnPTc2ICBndWlmZz03NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3NyAgICBjdGVybWZnPTc3ICBndWlmZz03NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3OCAgICBjdGVybWZnPTc4ICBndWlmZz03OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I3OSAgICBjdGVybWZnPTc5ICBndWlmZz03OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4MCAgICBjdGVybWZnPTgwICBndWlmZz04MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4MSAgICBjdGVybWZnPTgxICBndWlmZz04MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4MiAgICBjdGVybWZnPTgyICBndWlmZz04MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4MyAgICBjdGVybWZnPTgzICBndWlmZz04MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4NCAgICBjdGVybWZnPTg0ICBndWlmZz04NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4NSAgICBjdGVybWZnPTg1ICBndWlmZz04NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4NiAgICBjdGVybWZnPTg2ICBndWlmZz04NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4NyAgICBjdGVybWZnPTg3ICBndWlmZz04NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4OCAgICBjdGVybWZnPTg4ICBndWlmZz04OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I4OSAgICBjdGVybWZnPTg5ICBndWlmZz04OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5MCAgICBjdGVybWZnPTkwICBndWlmZz05MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5MSAgICBjdGVybWZnPTkxICBndWlmZz05MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5MiAgICBjdGVybWZnPTkyICBndWlmZz05MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5MyAgICBjdGVybWZnPTkzICBndWlmZz05MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5NCAgICBjdGVybWZnPTk0ICBndWlmZz05NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5NSAgICBjdGVybWZnPTk1ICBndWlmZz05NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5NiAgICBjdGVybWZnPTk2ICBndWlmZz05NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5NyAgICBjdGVybWZnPTk3ICBndWlmZz05NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5OCAgICBjdGVybWZnPTk4ICBndWlmZz05OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3I5OSAgICBjdGVybWZnPTk5ICBndWlmZz05OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMDAgICBjdGVybWZnPTEwMCBndWlmZz0xMDAKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTAxICAgY3Rlcm1mZz0xMDEgZ3VpZmc9MTAxCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEwMiAgIGN0ZXJtZmc9MTAyIGd1aWZnPTEwMgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMDMgICBjdGVybWZnPTEwMyBndWlmZz0xMDMKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTA0ICAgY3Rlcm1mZz0xMDQgZ3VpZmc9MTA0CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEwNSAgIGN0ZXJtZmc9MTA1IGd1aWZnPTEwNQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMDYgICBjdGVybWZnPTEwNiBndWlmZz0xMDYKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTA3ICAgY3Rlcm1mZz0xMDcgZ3VpZmc9MTA3CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEwOCAgIGN0ZXJtZmc9MTA4IGd1aWZnPTEwOAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMDkgICBjdGVybWZnPTEwOSBndWlmZz0xMDkKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTEwICAgY3Rlcm1mZz0xMTAgZ3VpZmc9MTEwCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjExMSAgIGN0ZXJtZmc9MTExIGd1aWZnPTExMQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMTIgICBjdGVybWZnPTExMiBndWlmZz0xMTIKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTEzICAgY3Rlcm1mZz0xMTMgZ3VpZmc9MTEzCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjExNCAgIGN0ZXJtZmc9MTE0IGd1aWZnPTExNAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMTUgICBjdGVybWZnPTExNSBndWlmZz0xMTUKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTE2ICAgY3Rlcm1mZz0xMTYgZ3VpZmc9MTE2CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjExNyAgIGN0ZXJtZmc9MTE3IGd1aWZnPTExNworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMTggICBjdGVybWZnPTExOCBndWlmZz0xMTgKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTE5ICAgY3Rlcm1mZz0xMTkgZ3VpZmc9MTE5CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEyMCAgIGN0ZXJtZmc9MTIwIGd1aWZnPTEyMAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMjEgICBjdGVybWZnPTEyMSBndWlmZz0xMjEKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTIyICAgY3Rlcm1mZz0xMjIgZ3VpZmc9MTIyCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEyMyAgIGN0ZXJtZmc9MTIzIGd1aWZnPTEyMworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMjQgICBjdGVybWZnPTEyNCBndWlmZz0xMjQKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTI1ICAgY3Rlcm1mZz0xMjUgZ3VpZmc9MTI1CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEyNiAgIGN0ZXJtZmc9MTI2IGd1aWZnPTEyNgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMjcgICBjdGVybWZnPTEyNyBndWlmZz0xMjcKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTI4ICAgY3Rlcm1mZz0xMjggZ3VpZmc9MTI4CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEyOSAgIGN0ZXJtZmc9MTI5IGd1aWZnPTEyOQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMzAgICBjdGVybWZnPTEzMCBndWlmZz0xMzAKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTMxICAgY3Rlcm1mZz0xMzEgZ3VpZmc9MTMxCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEzMiAgIGN0ZXJtZmc9MTMyIGd1aWZnPTEzMgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMzMgICBjdGVybWZnPTEzMyBndWlmZz0xMzMKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTM0ICAgY3Rlcm1mZz0xMzQgZ3VpZmc9MTM0CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEzNSAgIGN0ZXJtZmc9MTM1IGd1aWZnPTEzNQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMzYgICBjdGVybWZnPTEzNiBndWlmZz0xMzYKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTM3ICAgY3Rlcm1mZz0xMzcgZ3VpZmc9MTM3CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjEzOCAgIGN0ZXJtZmc9MTM4IGd1aWZnPTEzOAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxMzkgICBjdGVybWZnPTEzOSBndWlmZz0xMzkKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTQwICAgY3Rlcm1mZz0xNDAgZ3VpZmc9MTQwCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE0MSAgIGN0ZXJtZmc9MTQxIGd1aWZnPTE0MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNDIgICBjdGVybWZnPTE0MiBndWlmZz0xNDIKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTQzICAgY3Rlcm1mZz0xNDMgZ3VpZmc9MTQzCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE0NCAgIGN0ZXJtZmc9MTQ0IGd1aWZnPTE0NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNDUgICBjdGVybWZnPTE0NSBndWlmZz0xNDUKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTQ2ICAgY3Rlcm1mZz0xNDYgZ3VpZmc9MTQ2CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE0NyAgIGN0ZXJtZmc9MTQ3IGd1aWZnPTE0NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNDggICBjdGVybWZnPTE0OCBndWlmZz0xNDgKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTQ5ICAgY3Rlcm1mZz0xNDkgZ3VpZmc9MTQ5CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE1MCAgIGN0ZXJtZmc9MTUwIGd1aWZnPTE1MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNTEgICBjdGVybWZnPTE1MSBndWlmZz0xNTEKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTUyICAgY3Rlcm1mZz0xNTIgZ3VpZmc9MTUyCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE1MyAgIGN0ZXJtZmc9MTUzIGd1aWZnPTE1MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNTQgICBjdGVybWZnPTE1NCBndWlmZz0xNTQKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTU1ICAgY3Rlcm1mZz0xNTUgZ3VpZmc9MTU1CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE1NiAgIGN0ZXJtZmc9MTU2IGd1aWZnPTE1NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNTcgICBjdGVybWZnPTE1NyBndWlmZz0xNTcKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTU4ICAgY3Rlcm1mZz0xNTggZ3VpZmc9MTU4CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE1OSAgIGN0ZXJtZmc9MTU5IGd1aWZnPTE1OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNjAgICBjdGVybWZnPTE2MCBndWlmZz0xNjAKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTYxICAgY3Rlcm1mZz0xNjEgZ3VpZmc9MTYxCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE2MiAgIGN0ZXJtZmc9MTYyIGd1aWZnPTE2MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNjMgICBjdGVybWZnPTE2MyBndWlmZz0xNjMKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTY0ICAgY3Rlcm1mZz0xNjQgZ3VpZmc9MTY0CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE2NSAgIGN0ZXJtZmc9MTY1IGd1aWZnPTE2NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNjYgICBjdGVybWZnPTE2NiBndWlmZz0xNjYKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTY3ICAgY3Rlcm1mZz0xNjcgZ3VpZmc9MTY3CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE2OCAgIGN0ZXJtZmc9MTY4IGd1aWZnPTE2OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNjkgICBjdGVybWZnPTE2OSBndWlmZz0xNjkKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTcwICAgY3Rlcm1mZz0xNzAgZ3VpZmc9MTcwCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE3MSAgIGN0ZXJtZmc9MTcxIGd1aWZnPTE3MQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNzIgICBjdGVybWZnPTE3MiBndWlmZz0xNzIKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTczICAgY3Rlcm1mZz0xNzMgZ3VpZmc9MTczCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE3NCAgIGN0ZXJtZmc9MTc0IGd1aWZnPTE3NAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNzUgICBjdGVybWZnPTE3NSBndWlmZz0xNzUKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTc2ICAgY3Rlcm1mZz0xNzYgZ3VpZmc9MTc2CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE3NyAgIGN0ZXJtZmc9MTc3IGd1aWZnPTE3NworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxNzggICBjdGVybWZnPTE3OCBndWlmZz0xNzgKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTc5ICAgY3Rlcm1mZz0xNzkgZ3VpZmc9MTc5CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE4MCAgIGN0ZXJtZmc9MTgwIGd1aWZnPTE4MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxODEgICBjdGVybWZnPTE4MSBndWlmZz0xODEKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTgyICAgY3Rlcm1mZz0xODIgZ3VpZmc9MTgyCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE4MyAgIGN0ZXJtZmc9MTgzIGd1aWZnPTE4MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxODQgICBjdGVybWZnPTE4NCBndWlmZz0xODQKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTg1ICAgY3Rlcm1mZz0xODUgZ3VpZmc9MTg1CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE4NiAgIGN0ZXJtZmc9MTg2IGd1aWZnPTE4NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxODcgICBjdGVybWZnPTE4NyBndWlmZz0xODcKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTg4ICAgY3Rlcm1mZz0xODggZ3VpZmc9MTg4CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE4OSAgIGN0ZXJtZmc9MTg5IGd1aWZnPTE4OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxOTAgICBjdGVybWZnPTE5MCBndWlmZz0xOTAKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTkxICAgY3Rlcm1mZz0xOTEgZ3VpZmc9MTkxCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE5MiAgIGN0ZXJtZmc9MTkyIGd1aWZnPTE5MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxOTMgICBjdGVybWZnPTE5MyBndWlmZz0xOTMKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTk0ICAgY3Rlcm1mZz0xOTQgZ3VpZmc9MTk0CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE5NSAgIGN0ZXJtZmc9MTk1IGd1aWZnPTE5NQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxOTYgICBjdGVybWZnPTE5NiBndWlmZz0xOTYKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMTk3ICAgY3Rlcm1mZz0xOTcgZ3VpZmc9MTk3CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjE5OCAgIGN0ZXJtZmc9MTk4IGd1aWZnPTE5OAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IxOTkgICBjdGVybWZnPTE5OSBndWlmZz0xOTkKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjAwICAgY3Rlcm1mZz0yMDAgZ3VpZmc9MjAwCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIwMSAgIGN0ZXJtZmc9MjAxIGd1aWZnPTIwMQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMDIgICBjdGVybWZnPTIwMiBndWlmZz0yMDIKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjAzICAgY3Rlcm1mZz0yMDMgZ3VpZmc9MjAzCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIwNCAgIGN0ZXJtZmc9MjA0IGd1aWZnPTIwNAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMDUgICBjdGVybWZnPTIwNSBndWlmZz0yMDUKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjA2ICAgY3Rlcm1mZz0yMDYgZ3VpZmc9MjA2CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIwNyAgIGN0ZXJtZmc9MjA3IGd1aWZnPTIwNworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMDggICBjdGVybWZnPTIwOCBndWlmZz0yMDgKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjA5ICAgY3Rlcm1mZz0yMDkgZ3VpZmc9MjA5CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIxMCAgIGN0ZXJtZmc9MjEwIGd1aWZnPTIxMAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMTEgICBjdGVybWZnPTIxMSBndWlmZz0yMTEKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjEyICAgY3Rlcm1mZz0yMTIgZ3VpZmc9MjEyCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIxMyAgIGN0ZXJtZmc9MjEzIGd1aWZnPTIxMworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMTQgICBjdGVybWZnPTIxNCBndWlmZz0yMTQKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjE1ICAgY3Rlcm1mZz0yMTUgZ3VpZmc9MjE1CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIxNiAgIGN0ZXJtZmc9MjE2IGd1aWZnPTIxNgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMTcgICBjdGVybWZnPTIxNyBndWlmZz0yMTcKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjE4ICAgY3Rlcm1mZz0yMTggZ3VpZmc9MjE4CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIxOSAgIGN0ZXJtZmc9MjE5IGd1aWZnPTIxOQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMjAgICBjdGVybWZnPTIyMCBndWlmZz0yMjAKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjIxICAgY3Rlcm1mZz0yMjEgZ3VpZmc9MjIxCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIyMiAgIGN0ZXJtZmc9MjIyIGd1aWZnPTIyMgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMjMgICBjdGVybWZnPTIyMyBndWlmZz0yMjMKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjI0ICAgY3Rlcm1mZz0yMjQgZ3VpZmc9MjI0CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIyNSAgIGN0ZXJtZmc9MjI1IGd1aWZnPTIyNQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMjYgICBjdGVybWZnPTIyNiBndWlmZz0yMjYKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjI3ICAgY3Rlcm1mZz0yMjcgZ3VpZmc9MjI3CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIyOCAgIGN0ZXJtZmc9MjI4IGd1aWZnPTIyOAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMjkgICBjdGVybWZnPTIyOSBndWlmZz0yMjkKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjMwICAgY3Rlcm1mZz0yMzAgZ3VpZmc9MjMwCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIzMSAgIGN0ZXJtZmc9MjMxIGd1aWZnPTIzMQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMzIgICBjdGVybWZnPTIzMiBndWlmZz0yMzIKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjMzICAgY3Rlcm1mZz0yMzMgZ3VpZmc9MjMzCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIzNCAgIGN0ZXJtZmc9MjM0IGd1aWZnPTIzNAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMzUgICBjdGVybWZnPTIzNSBndWlmZz0yMzUKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjM2ICAgY3Rlcm1mZz0yMzYgZ3VpZmc9MjM2CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjIzNyAgIGN0ZXJtZmc9MjM3IGd1aWZnPTIzNworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyMzggICBjdGVybWZnPTIzOCBndWlmZz0yMzgKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjM5ICAgY3Rlcm1mZz0yMzkgZ3VpZmc9MjM5CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjI0MCAgIGN0ZXJtZmc9MjQwIGd1aWZnPTI0MAorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNDEgICBjdGVybWZnPTI0MSBndWlmZz0yNDEKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjQyICAgY3Rlcm1mZz0yNDIgZ3VpZmc9MjQyCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjI0MyAgIGN0ZXJtZmc9MjQzIGd1aWZnPTI0MworICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNDQgICBjdGVybWZnPTI0NCBndWlmZz0yNDQKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjQ1ICAgY3Rlcm1mZz0yNDUgZ3VpZmc9MjQ1CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjI0NiAgIGN0ZXJtZmc9MjQ2IGd1aWZnPTI0NgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNDcgICBjdGVybWZnPTI0NyBndWlmZz0yNDcKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjQ4ICAgY3Rlcm1mZz0yNDggZ3VpZmc9MjQ4CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjI0OSAgIGN0ZXJtZmc9MjQ5IGd1aWZnPTI0OQorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNTAgICBjdGVybWZnPTI1MCBndWlmZz0yNTAKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjUxICAgY3Rlcm1mZz0yNTEgZ3VpZmc9MjUxCisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjI1MiAgIGN0ZXJtZmc9MjUyIGd1aWZnPTI1MgorICBoaSBkZWYgICAgZGlyY29sb3JzQ29sb3IyNTMgICBjdGVybWZnPTI1MyBndWlmZz0yNTMKKyAgaGkgZGVmICAgIGRpcmNvbG9yc0NvbG9yMjU0ICAgY3Rlcm1mZz0yNTQgZ3VpZmc9MjU0CisgIGhpIGRlZiAgICBkaXJjb2xvcnNDb2xvcjI1NSAgIGN0ZXJtZmc9MjU1IGd1aWZnPTI1NQorZWxzZQorICBoaSBkZWYgbGluayBkaXJjb2xvcnNOdW1iZXIgICAgIE51bWJlcgogZW5kaWYKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZGlyY29sb3JzIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2VsaW5rcy52aW0gYi9ydW50aW1lL3N5bnRheC9lbGlua3MudmltCmluZGV4IDAzOTJjMDguLjIwZGZmODMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2VsaW5rcy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZWxpbmtzLnZpbQpAQCAtMSw1NCArMSw0MCBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBlbGlua3MoMSkgY29uZmlndXJhdGlvbiBmaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCi0iIGFyY2gtdGFnOgkgICAgNzRlYWZmNTUtY2RiNS00ZDMxLTgwNWItOTYyN2ViNjUzNWYxCisiIExhbmd1YWdlOiAgICAgICAgIGVsaW5rcygxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI3CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBTZXQgaXNrZXl3b3JkIHNpbmNlIHdlIG5lZWQgYC0nIChhbmQgcG90ZW50aWFsbHkgb3RoZXJzKSBpbiBrZXl3b3Jkcy4KLSIgRm9yIHZlcnNpb24gNS54OiBTZXQgaXQgZ2xvYmFsbHkKLSIgRm9yIHZlcnNpb24gNi54OiBTZXQgaXQgbG9jYWxseQotaWYgdmVyc2lvbiA+PSA2MDAKLSAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgotZWxzZQotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXQgaXNrZXl3b3JkPTxhcmdzPgotZW5kaWYKLVNldElzayBALDQ4LTU3LF8sLQotZGVsY29tbWFuZCBTZXRJc2sKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBUb2RvCi1zeW4ga2V5d29yZCBlbGlua3NUb2RvCSAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsXywtCiAKLSIgQ29tbWVudHMKLXN5biByZWdpb24gIGVsaW5rc0NvbW1lbnQgICBtYXRjaGdyb3VwPWVsaW5rc0NvbW1lbnQgc3RhcnQ9JyMnIGVuZD0nJCcgY29udGFpbnM9ZWxpbmtzVG9kbworc3luIGtleXdvcmQgZWxpbmtzVG9kbyAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCiAKLSIgTnVtYmVycworc3luIHJlZ2lvbiAgZWxpbmtzQ29tbWVudCAgIG1hdGNoZ3JvdXA9ZWxpbmtzQ29tbWVudCBzdGFydD0nIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9ZWxpbmtzVG9kbworCiBzeW4gbWF0Y2ggICBlbGlua3NOdW1iZXIgICAgJ1w8XGRcK1w+JwogCi0iIFN0cmluZ3MKLXN5biByZWdpb24gIGVsaW5rc1N0cmluZyAgICBtYXRjaGdyb3VwPWVsaW5rc1N0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPUBlbGlua3NDb2xvcgorc3luIHJlZ2lvbiAgZWxpbmtzU3RyaW5nICAgIG1hdGNoZ3JvdXA9ZWxpbmtzU3RyaW5nIHN0YXJ0PSsiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPUBlbGlua3NDb2xvcgogCi0iIEtleXdvcmRzCiBzeW4ga2V5d29yZCBlbGlua3NLZXl3b3JkICAgc2V0IGJpbmQKIAotIiBPcHRpb25zCiBzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgYm9va21hcmtzCiBzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgZmlsZV9mb3JtYXQKIAogc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIGNvbmZpZwogc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGNvbW1lbnRzIGluZGVudGF0aW9uIHNhdmluZ19zdHlsZSBpMThuCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgc2F2aW5nX3N0eWxlX3cgc2hvd190ZW1wbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2F2aW5nX3N0eWxlX3cgc2hvd190ZW1wbGF0ZQogCiBzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgY29ubmVjdGlvbiBzc2wgY2xpZW50X2NlcnQKIHN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBlbmFibGUgZmlsZSBjZXJ0X3ZlcmlmeSBhc3luY19kbnMgbWF4X2Nvbm5lY3Rpb25zCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgbWF4X2Nvbm5lY3Rpb25zX3RvX2hvc3QgcmVjZWl2ZV90aW1lb3V0IHJldHJpZXMKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB1bnJlc3RhcnRhYmxlX3JlY2VpdmVfdGltZW91dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWF4X2Nvbm5lY3Rpb25zX3RvX2hvc3QgcmVjZWl2ZV90aW1lb3V0IHJldHJpZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHVucmVzdGFydGFibGVfcmVjZWl2ZV90aW1lb3V0CiAKIHN5biBrZXl3b3JkIGVsaW5rc1ByZWZpeCAgICBjb29raWVzCiBzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYWNjZXB0X3BvbGljeSBtYXhfYWdlIHBhcmFub2lkX3NlY3VyaXR5IHNhdmUgcmVzYXZlCkBAIC01OCwxNTAgKzQ0LDE0NSBAQAogc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIGZvcm1hdCBtZW1vcnkgZG93bmxvYWQgZHVtcCBoaXN0b3J5IGdsb2JhbCBodG1sCiBzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgcGxhaW4KIHN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBhdXRvX2ZvbGxvdyBwcmlvcml0eSBhdXRvX3N1Ym1pdCBjb25maXJtX3N1Ym1pdAotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGlucHV0X3NpemUgc2hvd19mb3JtaGlzdCBmaWxlX3RhZ3MKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBpbWFnZV9saW5rX3RhZ2dpbmcgaW1hZ2VfbGlua19wcmVmaXgKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBpbWFnZV9saW5rX3N1ZmZpeCBzaG93X2FzX2xpbmtzIHNob3dfYW55X2FzX2xpbmtzCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYmFja2dyb3VuZCB0ZXh0IGVuYWJsZV9jb2xvciBib2xkIGludmVydCB1bmRlcmxpbmUKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBjb2xvcl9kaXJzIG51bWJlcmluZyB1c2VfdGFiaW5kZXgKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBudW1iZXJfa2V5c19zZWxlY3RfbGluayB3cmFwYXJvdW5kIGNhc2UgcmVnZXgKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBzaG93X2hpdF90b3BfYm90dG9tIHdyYXBhcm91bmQgc2hvd19ub3RfZm91bmQKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBtYXJnaW5fd2lkdGggcmVmcmVzaCBtaW5pbXVtX3JlZnJlc2hfdGltZQotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIHNjcm9sbF9tYXJnaW4gc2Nyb2xsX3N0ZXAgdGFibGVfbW92ZV9vcmRlciBzaXplCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgc2l6ZSBjYWNoZV9yZWRpcmVjdHMgaWdub3JlX2NhY2hlX2NvbnRyb2wgYXNzdW1lCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgZm9yY2VfYXNzdW1lZCB0ZXh0IGJhY2tncm91bmQgbGluayB2bGluayBkaXJzCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYWxsb3dfZGFya19vbl9ibGFjayBlbnN1cmVfY29udHJhc3QKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB1c2VfZG9jdW1lbnRfY29sb3JzIGRpcmVjdG9yeSBzZXRfb3JpZ2luYWxfdGltZQotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIG92ZXJ3cml0ZSBub3RpZnlfYmVsbCBjb2RlcGFnZSB3aWR0aCBlbmFibGUKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBtYXhfaXRlbXMgZGlzcGxheV90eXBlIHdyaXRlX2ludGVydmFsCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAga2VlcF91bmhpc3RvcnkgZGlzcGxheV9mcmFtZXMgZGlzcGxheV90YWJsZXMKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBleHBhbmRfdGFibGVfY29sdW1ucyBkaXNwbGF5X3N1YnMgZGlzcGxheV9zdXBzCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgbGlua19kaXNwbGF5IHVuZGVybGluZV9saW5rcyB3cmFwX25ic3AKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBkaXNwbGF5X2xpbmtzIGNvbXByZXNzX2VtcHR5X2xpbmVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpbnB1dF9zaXplIHNob3dfZm9ybWhpc3QgZmlsZV90YWdzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpbWFnZV9saW5rX3RhZ2dpbmcgaW1hZ2VfbGlua19wcmVmaXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGltYWdlX2xpbmtfc3VmZml4IHNob3dfYXNfbGlua3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNob3dfYW55X2FzX2xpbmtzIGJhY2tncm91bmQgdGV4dCBlbmFibGVfY29sb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGJvbGQgaW52ZXJ0IHVuZGVybGluZSBjb2xvcl9kaXJzIG51bWJlcmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdXNlX3RhYmluZGV4IG51bWJlcl9rZXlzX3NlbGVjdF9saW5rCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB3cmFwYXJvdW5kIGNhc2UgcmVnZXggc2hvd19oaXRfdG9wX2JvdHRvbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgd3JhcGFyb3VuZCBzaG93X25vdF9mb3VuZCBtYXJnaW5fd2lkdGggcmVmcmVzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWluaW11bV9yZWZyZXNoX3RpbWUgc2Nyb2xsX21hcmdpbiBzY3JvbGxfc3RlcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdGFibGVfbW92ZV9vcmRlciBzaXplIHNpemUgY2FjaGVfcmVkaXJlY3RzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpZ25vcmVfY2FjaGVfY29udHJvbCBhc3N1bWUgZm9yY2VfYXNzdW1lZCB0ZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiYWNrZ3JvdW5kIGxpbmsgdmxpbmsgZGlycyBhbGxvd19kYXJrX29uX2JsYWNrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbnN1cmVfY29udHJhc3QgdXNlX2RvY3VtZW50X2NvbG9ycyBkaXJlY3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNldF9vcmlnaW5hbF90aW1lIG92ZXJ3cml0ZSBub3RpZnlfYmVsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29kZXBhZ2Ugd2lkdGggZW5hYmxlIG1heF9pdGVtcyBkaXNwbGF5X3R5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHdyaXRlX2ludGVydmFsIGtlZXBfdW5oaXN0b3J5IGRpc3BsYXlfZnJhbWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXNwbGF5X3RhYmxlcyBleHBhbmRfdGFibGVfY29sdW1ucyBkaXNwbGF5X3N1YnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpc3BsYXlfc3VwcyBsaW5rX2Rpc3BsYXkgdW5kZXJsaW5lX2xpbmtzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB3cmFwX25ic3AgZGlzcGxheV9saW5rcyBjb21wcmVzc19lbXB0eV9saW5lcwogCiBzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgbWltZSBleHRlbnNpb24gaGFuZGxlciBtYWlsY2FwIG1pbWV0eXBlcyB0eXBlCiBzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYXNrIGJsb2NrIHByb2dyYW0gZW5hYmxlIHBhdGggYXNrIGRlc2NyaXB0aW9uCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgcHJpb3JpdGl6ZSBlbmFibGUgcGF0aCBkZWZhdWx0X3R5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHByaW9yaXRpemUgZW5hYmxlIHBhdGggZGVmYXVsdF90eXBlCiAKIHN5biBrZXl3b3JkIGVsaW5rc1ByZWZpeCAgICBwcm90b2NvbCBmaWxlIGNnaSBmdHAgcHJveHkgaHR0cCBidWdzIHByb3h5CiBzeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgcmVmZXJlciBodHRwcyBwcm94eSByZXdyaXRlIGR1bWIgc21hcnQKIHN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBwYXRoIHBvbGljeSBhbGxvd19zcGVjaWFsX2ZpbGVzIHNob3dfaGlkZGVuX2ZpbGVzCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgdHJ5X2VuY29kaW5nX2V4dGVuc2lvbnMgaG9zdCBhbm9uX3Bhc3N3ZCB1c2VfcGFzdgotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIHVzZV9lcHN2IGFjY2VwdF9jaGFyc2V0IGFsbG93X2JsYWNrbGlzdAotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGJyb2tlbl8zMDJfcmVkaXJlY3QgcG9zdF9ub19rZWVwYWxpdmUgaHR0cDEwIGhvc3QKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB1c2VyIHBhc3N3ZCBwb2xpY3kgZmFrZSBhY2NlcHRfbGFuZ3VhZ2UKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBhY2NlcHRfdWlfbGFuZ3VhZ2UgdHJhY2UgdXNlcl9hZ2VudCBob3N0Ci1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgZW5hYmxlLWR1bWIgZW5hYmxlLXNtYXJ0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0cnlfZW5jb2RpbmdfZXh0ZW5zaW9ucyBob3N0IGFub25fcGFzc3dkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1c2VfcGFzdiB1c2VfZXBzdiBhY2NlcHRfY2hhcnNldCBhbGxvd19ibGFja2xpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGJyb2tlbl8zMDJfcmVkaXJlY3QgcG9zdF9ub19rZWVwYWxpdmUgaHR0cDEwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBob3N0IHVzZXIgcGFzc3dkIHBvbGljeSBmYWtlIGFjY2VwdF9sYW5ndWFnZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWNjZXB0X3VpX2xhbmd1YWdlIHRyYWNlIHVzZXJfYWdlbnQgaG9zdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5hYmxlLWR1bWIgZW5hYmxlLXNtYXJ0CiAKIHN5biBrZXl3b3JkIGVsaW5rc1ByZWZpeCAgICB0ZXJtaW5hbAogc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIHR5cGUgbTExX2hhY2sgdXRmXzhfaW8gcmVzdHJpY3RfODUyIGJsb2NrX2N1cnNvcgotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGNvbG9ycyB0cmFuc3BhcmVuY3kgdW5kZXJsaW5lIGNoYXJzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbG9ycyB0cmFuc3BhcmVuY3kgdW5kZXJsaW5lIGNoYXJzZXQKIAogc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIHVpIGNvbG9ycyBjb2xvciBtYWlubWVudSBub3JtYWwgc2VsZWN0ZWQgaG90a2V5Ci1zeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgbWVudSBtYXJrZWQgaG90a2V5IGZyYW1lIGRpYWxvZyBnZW5lcmljIGZyYW1lCi1zeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgc2Nyb2xsYmFyIHNjcm9sbGJhci1zZWxlY3RlZCB0aXRsZSB0ZXh0IGNoZWNrYm94Ci1zeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgY2hlY2tib3gtbGFiZWwgYnV0dG9uIGJ1dHRvbi1zZWxlY3RlZCBmaWVsZAotc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIGZpZWxkLXRleHQgbWV0ZXIgc2hhZG93IHRpdGxlIHRpdGxlLWJhciB0aXRsZS10ZXh0Ci1zeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgc3RhdHVzIHN0YXR1cy1iYXIgc3RhdHVzLXRleHQgdGFicyB1bnZpc2l0ZWQgbm9ybWFsCi1zeW4ga2V5d29yZCBlbGlua3NQcmVmaXggICAgbG9hZGluZyBzZXBhcmF0b3Igc2VhcmNoZWQgbW9ubworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWVudSBtYXJrZWQgaG90a2V5IGZyYW1lIGRpYWxvZyBnZW5lcmljCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmcmFtZSBzY3JvbGxiYXIgc2Nyb2xsYmFyLXNlbGVjdGVkIHRpdGxlIHRleHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNoZWNrYm94IGNoZWNrYm94LWxhYmVsIGJ1dHRvbiBidXR0b24tc2VsZWN0ZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZpZWxkIGZpZWxkLXRleHQgbWV0ZXIgc2hhZG93IHRpdGxlIHRpdGxlLWJhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdGl0bGUtdGV4dCBzdGF0dXMgc3RhdHVzLWJhciBzdGF0dXMtdGV4dCB0YWJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1bnZpc2l0ZWQgbm9ybWFsIGxvYWRpbmcgc2VwYXJhdG9yIHNlYXJjaGVkIG1vbm8KIHN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICB0ZXh0IGJhY2tncm91bmQKIAogc3luIGtleXdvcmQgZWxpbmtzUHJlZml4ICAgIHVpIGRpYWxvZ3MgbGVkcyBzZXNzaW9ucyB0YWJzIHRpbWVyCiBzeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgbGlzdGJveF9taW5faGVpZ2h0IHNoYWRvd3MgdW5kZXJsaW5lX2hvdGtleXMgZW5hYmxlCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgYXV0b19zYXZlIGF1dG9fcmVzdG9yZSBhdXRvX3NhdmVfZm9sZGVybmFtZQotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIGhvbWVwYWdlIHNob3dfYmFyIHdyYXBhcm91bmQgY29uZmlybV9jbG9zZSBlbmFibGUKLXN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBkdXJhdGlvbiBhY3Rpb24gbGFuZ3VhZ2Ugc2hvd19zdGF0dXNfYmFyCi1zeW4ga2V5d29yZCBlbGlua3NPcHRpb25zICAgc2hvd190aXRsZV9iYXIgc3RhcnR1cF9nb3RvX2RpYWxvZyBzdWNjZXNzX21zZ2JveAotc3luIGtleXdvcmQgZWxpbmtzT3B0aW9ucyAgIHdpbmRvd190aXRsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYXV0b19zYXZlIGF1dG9fcmVzdG9yZSBhdXRvX3NhdmVfZm9sZGVybmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaG9tZXBhZ2Ugc2hvd19iYXIgd3JhcGFyb3VuZCBjb25maXJtX2Nsb3NlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmFibGUgZHVyYXRpb24gYWN0aW9uIGxhbmd1YWdlIHNob3dfc3RhdHVzX2JhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2hvd190aXRsZV9iYXIgc3RhcnR1cF9nb3RvX2RpYWxvZworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3VjY2Vzc19tc2dib3ggd2luZG93X3RpdGxlCiAKIHN5biBrZXl3b3JkIGVsaW5rc09wdGlvbnMgICBzZWN1cmVfZmlsZV9zYXZpbmcKIAotIiBDb2xvcnMKLXN5biBjbHVzdGVyIGVsaW5rc0NvbG9yIGNvbnRhaW5zPWVsaW5rc0NvbG9yQmxhY2ssZWxpbmtzQ29sb3JEYXJrUmVkLGVsaW5rc0NvbG9yRGFya0dyZWVuLGVsaW5rc0NvbG9yRGFya1llbGxvdyxlbGlua3NDb2xvckRhcmtCbHVlLGVsaW5rc0NvbG9yRGFya01hZ2VudGEsZWxpbmtzQ29sb3JEYXJrQ3lhbixlbGlua3NDb2xvckdyYXksZWxpbmtzQ29sb3JEYXJrR3JheSxlbGlua3NDb2xvclJlZCxlbGlua3NDb2xvckdyZWVuLGVsaW5rc0NvbG9yWWVsbG93LGVsaW5rc0NvbG9yQmx1ZSxlbGlua3NDb2xvck1hZ2VudGEsZWxpbmtzQ29sb3JDeWFuLGVsaW5rc0NvbG9yV2hpdGUKK3N5biBjbHVzdGVyIGVsaW5rc0NvbG9yICAgICBjb250YWlucz1lbGlua3NDb2xvckJsYWNrLGVsaW5rc0NvbG9yRGFya1JlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVsaW5rc0NvbG9yRGFya0dyZWVuLGVsaW5rc0NvbG9yRGFya1llbGxvdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVsaW5rc0NvbG9yRGFya0JsdWUsZWxpbmtzQ29sb3JEYXJrTWFnZW50YSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVsaW5rc0NvbG9yRGFya0N5YW4sZWxpbmtzQ29sb3JHcmF5LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZWxpbmtzQ29sb3JEYXJrR3JheSxlbGlua3NDb2xvclJlZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVsaW5rc0NvbG9yR3JlZW4sZWxpbmtzQ29sb3JZZWxsb3csCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbGlua3NDb2xvckJsdWUsZWxpbmtzQ29sb3JNYWdlbnRhLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZWxpbmtzQ29sb3JDeWFuLGVsaW5rc0NvbG9yV2hpdGUKIAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JCbGFjawkgICAgYmxhY2sgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtSZWQJICAgIGRhcmtyZWQgc2FuZHlicm93biBtYXJvb24gY3JpbXNvbiBmaXJlYnJpY2sgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtHcmVlbiAgICBkYXJrZ3JlZW4gZGFya29saXZlZ3JlZW4gZGFya3NlYWdyZWVuIGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrR3JlZW4gICAgZm9yZXN0Z3JlZW4gbWVkaXVtc3ByaW5nZ3JlZW4gc2VhZ3JlZW4gY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtZZWxsb3cgICBicm93biBibGFuY2hlZGFsbW9uZCBjaG9jb2xhdGUgZGFya29yYW5nZSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya1llbGxvdyAgIGRhcmtnb2xkZW5yb2Qgb3JhbmdlIHJvc3licm93biBzYWRkbGVicm93biBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya1llbGxvdyAgIHBlcnUgb2xpdmUgb2xpdmVkcmFiIHNpZW5uYSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya0JsdWUJICAgIGRhcmtibHVlIGNhZGV0Ymx1ZSBjb3JuZmxvd2VyYmx1ZSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya0JsdWUJICAgIGRhcmtzbGF0ZWJsdWUgZGVlcHNreWJsdWUgbWlkbmlnaHRibHVlIGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrQmx1ZQkgICAgcm95YWxibHVlIHN0ZWVsYmx1ZSBuYXZ5IGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrTWFnZW50YSAgZGFya21hZ2VudGEgbWVkaXVtb3JjaGlkIG1lZGl1bXB1cnBsZSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya01hZ2VudGEgIG1lZGl1bXNsYXRlYmx1ZSBzbGF0ZWJsdWUgZGVlcHBpbmsgaG90cGluayBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya01hZ2VudGEgIGRhcmtvcmNoaWQgb3JjaGlkIHB1cnBsZSBpbmRpZ28gY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtDeWFuCSAgICBkYXJrY3lhbiBtZWRpdW1hcXVhbWFyaW5lIG1lZGl1bXR1cnF1b2lzZSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya0N5YW4JICAgIGRhcmt0dXJxdW9pc2UgdGVhbCBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yR3JheQkgICAgc2lsdmVyIGRpbWdyYXkgbGlnaHRzbGF0ZWdyYXkgc2xhdGVncmF5IGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JHcmF5CSAgICBsaWdodGdyZXkgYnVybHl3b29kIHBsdW0gdGFuIHRoaXN0bGUgY29udGFpbmVkCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckJsYWNrICAgICAgICBjb250YWluZWQgYmxhY2sKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya1JlZCAgICAgIGNvbnRhaW5lZCBkYXJrcmVkIHNhbmR5YnJvd24gbWFyb29uIGNyaW1zb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZmlyZWJyaWNrCitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtHcmVlbiAgICBjb250YWluZWQgZGFya2dyZWVuIGRhcmtvbGl2ZWdyZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRhcmtzZWFncmVlbiBmb3Jlc3RncmVlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtZWRpdW1zcHJpbmdncmVlbiBzZWFncmVlbgorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrWWVsbG93ICAgY29udGFpbmVkIGJyb3duIGJsYW5jaGVkYWxtb25kIGNob2NvbGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkYXJrb3JhbmdlIGRhcmtnb2xkZW5yb2Qgb3JhbmdlIHJvc3licm93bgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzYWRkbGVicm93biBwZXJ1IG9saXZlIG9saXZlZHJhYiBzaWVubmEKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya0JsdWUgICAgIGNvbnRhaW5lZCBkYXJrYmx1ZSBjYWRldGJsdWUgY29ybmZsb3dlcmJsdWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGFya3NsYXRlYmx1ZSBkZWVwc2t5Ymx1ZSBtaWRuaWdodGJsdWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcm95YWxibHVlIHN0ZWVsYmx1ZSBuYXZ5CitzeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtNYWdlbnRhICBjb250YWluZWQgZGFya21hZ2VudGEgbWVkaXVtb3JjaGlkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1lZGl1bXB1cnBsZSBtZWRpdW1zbGF0ZWJsdWUgc2xhdGVibHVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRlZXBwaW5rIGhvdHBpbmsgZGFya29yY2hpZCBvcmNoaWQgcHVycGxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGluZGlnbworc3luIGtleXdvcmQgZWxpbmtzQ29sb3JEYXJrQ3lhbiAgICAgY29udGFpbmVkIGRhcmtjeWFuIG1lZGl1bWFxdWFtYXJpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWVkaXVtdHVycXVvaXNlIGRhcmt0dXJxdW9pc2UgdGVhbAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JHcmF5ICAgICAgICAgY29udGFpbmVkIHNpbHZlciBkaW1ncmF5IGxpZ2h0c2xhdGVncmF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNsYXRlZ3JheSBsaWdodGdyZXkgYnVybHl3b29kIHBsdW0gdGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHRoaXN0bGUKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yRGFya0dyYXkgICAgIGNvbnRhaW5lZCBncmF5IGRhcmtncmF5IGRhcmtzbGF0ZWdyYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGFya3NhbG1vbgorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JSZWQgICAgICAgICAgY29udGFpbmVkIHJlZCBpbmRpYW5yZWQgb3JhbmdlcmVkIHRvbWF0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsaWdodHNhbG1vbiBzYWxtb24gY29yYWwgbGlnaHRjb3JhbAorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JHcmVlbiAgICAgICAgY29udGFpbmVkIGdyZWVuIGdyZWVueWVsbG93IGxhd25ncmVlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsaWdodGdyZWVuIGxpZ2h0c2VhZ3JlZW4gbGltZWdyZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1lZGl1bXNlYWdyZWVuIHNwcmluZ2dyZWVuIHllbGxvd2dyZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBhbGVncmVlbiBsaW1lIGNoYXJ0cmV1c2UKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yWWVsbG93ICAgICAgIGNvbnRhaW5lZCB5ZWxsb3cgYmVpZ2UgZGFya2toYWtpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxpZ2h0Z29sZGVucm9keWVsbG93IHBhbGVnb2xkZW5yb2QgZ29sZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBnb2xkZW5yb2Qga2hha2kgbGlnaHR5ZWxsb3cKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yQmx1ZSAgICAgICAgIGNvbnRhaW5lZCBibHVlIGFsaWNlYmx1ZSBhcXVhIGFxdWFtYXJpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYXp1cmUgZG9kZ2VyYmx1ZSBsaWdodGJsdWUgbGlnaHRza3libHVlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxpZ2h0c3RlZWxibHVlIG1lZGl1bWJsdWUKK3N5biBrZXl3b3JkIGVsaW5rc0NvbG9yTWFnZW50YSAgICAgIGNvbnRhaW5lZCBtYWdlbnRhIGRhcmt2aW9sZXQgYmx1ZXZpb2xldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsaWdodHBpbmsgbWVkaXVtdmlvbGV0cmVkIHBhbGV2aW9sZXRyZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmlvbGV0IHBpbmsgZnVjaHNpYQorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JDeWFuICAgICAgICAgY29udGFpbmVkIGN5YW4gbGlnaHRjeWFuIHBvd2RlcmJsdWUgc2t5Ymx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0dXJxdW9pc2UgcGFsZXR1cnF1b2lzZQorc3luIGtleXdvcmQgZWxpbmtzQ29sb3JXaGl0ZSAgICAgICAgY29udGFpbmVkIHdoaXRlIGFudGlxdWV3aGl0ZSBmbG9yYWx3aGl0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBnaG9zdHdoaXRlIG5hdmFqb3doaXRlIHdoaXRlc21va2UgbGluZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbGVtb25jaGlmZm9uIGNvcm5zaWxrIGxhdmVuZGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxhdmVuZGVyYmx1c2ggc2Vhc2hlbGwgbWlzdHlyb3NlIGl2b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBhcGF5YXdoaXAgYmlzcXVlIGdhaW5zYm9ybyBob25leWRldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtaW50Y3JlYW0gbW9jY2FzaW4gb2xkbGFjZSBwZWFjaHB1ZmYgc25vdworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB3aGVhdAogCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckRhcmtHcmF5CSAgICBncmF5IGRhcmtncmF5IGRhcmtzbGF0ZWdyYXkgZGFya3NhbG1vbiBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yUmVkCSAgICByZWQgaW5kaWFucmVkIG9yYW5nZXJlZCB0b21hdG8gbGlnaHRzYWxtb24gY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvclJlZAkgICAgc2FsbW9uIGNvcmFsIGxpZ2h0Y29yYWwgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckdyZWVuCSAgICBncmVlbiBncmVlbnllbGxvdyBsYXduZ3JlZW4gbGlnaHRncmVlbiBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yR3JlZW4JICAgIGxpZ2h0c2VhZ3JlZW4gbGltZWdyZWVuIG1lZGl1bXNlYWdyZWVuIGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JHcmVlbgkgICAgc3ByaW5nZ3JlZW4geWVsbG93Z3JlZW4gcGFsZWdyZWVuIGxpbWUgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckdyZWVuCSAgICBjaGFydHJldXNlIGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JZZWxsb3cJICAgIHllbGxvdyBiZWlnZSBkYXJra2hha2kgbGlnaHRnb2xkZW5yb2R5ZWxsb3cgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvclllbGxvdwkgICAgcGFsZWdvbGRlbnJvZCBnb2xkIGdvbGRlbnJvZCBraGFraSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yWWVsbG93CSAgICBsaWdodHllbGxvdyBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yQmx1ZQkgICAgYmx1ZSBhbGljZWJsdWUgYXF1YSBhcXVhbWFyaW5lIGF6dXJlIGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JCbHVlCSAgICBkb2RnZXJibHVlIGxpZ2h0Ymx1ZSBsaWdodHNreWJsdWUgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckJsdWUJICAgIGxpZ2h0c3RlZWxibHVlIG1lZGl1bWJsdWUgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvck1hZ2VudGEJICAgIG1hZ2VudGEgZGFya3Zpb2xldCBibHVldmlvbGV0IGxpZ2h0cGluayBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yTWFnZW50YQkgICAgbWVkaXVtdmlvbGV0cmVkIHBhbGV2aW9sZXRyZWQgdmlvbGV0IHBpbmsgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvck1hZ2VudGEJICAgIGZ1Y2hzaWEgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckN5YW4JICAgIGN5YW4gbGlnaHRjeWFuIHBvd2RlcmJsdWUgc2t5Ymx1ZSB0dXJxdW9pc2UgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvckN5YW4JICAgIHBhbGV0dXJxdW9pc2UgY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvcldoaXRlCSAgICB3aGl0ZSBhbnRpcXVld2hpdGUgZmxvcmFsd2hpdGUgZ2hvc3R3aGl0ZSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yV2hpdGUJICAgIG5hdmFqb3doaXRlIHdoaXRlc21va2UgbGluZW4gbGVtb25jaGlmZm9uIGNvbnRhaW5lZAotc3luIGtleXdvcmQgZWxpbmtzQ29sb3JXaGl0ZQkgICAgY29ybnNpbGsgbGF2ZW5kZXIgbGF2ZW5kZXJibHVzaCBzZWFzaGVsbCBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yV2hpdGUJICAgIG1pc3R5cm9zZSBpdm9yeSBwYXBheWF3aGlwIGJpc3F1ZSBnYWluc2Jvcm8gY29udGFpbmVkCi1zeW4ga2V5d29yZCBlbGlua3NDb2xvcldoaXRlCSAgICBob25leWRldyBtaW50Y3JlYW0gbW9jY2FzaW4gb2xkbGFjZSBjb250YWluZWQKLXN5biBrZXl3b3JkIGVsaW5rc0NvbG9yV2hpdGUJICAgIHBlYWNocHVmZiBzbm93IHdoZWF0IGNvbnRhaW5lZAotCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9lbGlua3Nfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZWxpbmtzX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlEZWYgaGkgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIGRlZiA8YXJncz4KLSAgZW5kaWYKLQotICBIaUxpbmsgZWxpbmtzVG9kbwkJVG9kbwotICBIaUxpbmsgZWxpbmtzQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgZWxpbmtzTnVtYmVyCQlOdW1iZXIKLSAgSGlMaW5rIGVsaW5rc1N0cmluZwkJU3RyaW5nCi0gIEhpTGluayBlbGlua3NLZXl3b3JkCQlLZXl3b3JkCi0gIEhpTGluayBlbGlua3NQcmVmaXgJCUlkZW50aWZpZXIKLSAgSGlMaW5rIGVsaW5rc09wdGlvbnMJCUlkZW50aWZpZXIKLSAgSGlEZWYgIGVsaW5rc0NvbG9yQmxhY2sJY3Rlcm1mZz1CbGFjawkgICAgZ3VpZmc9QmxhY2sKLSAgSGlEZWYgIGVsaW5rc0NvbG9yRGFya1JlZAljdGVybWZnPURhcmtSZWQJICAgIGd1aWZnPURhcmtSZWQKLSAgSGlEZWYgIGVsaW5rc0NvbG9yRGFya0dyZWVuCWN0ZXJtZmc9RGFya0dyZWVuICAgZ3VpZmc9RGFya0dyZWVuCi0gIEhpRGVmICBlbGlua3NDb2xvckRhcmtZZWxsb3cJY3Rlcm1mZz1EYXJrWWVsbG93ICBndWlmZz1EYXJrWWVsbG93Ci0gIEhpRGVmICBlbGlua3NDb2xvckRhcmtCbHVlCWN0ZXJtZmc9RGFya0JsdWUgICAgZ3VpZmc9RGFya0JsdWUKLSAgSGlEZWYgIGVsaW5rc0NvbG9yRGFya01hZ2VudGEJY3Rlcm1mZz1EYXJrTWFnZW50YSBndWlmZz1EYXJrTWFnZW50YQotICBIaURlZiAgZWxpbmtzQ29sb3JEYXJrQ3lhbgljdGVybWZnPURhcmtDeWFuICAgIGd1aWZnPURhcmtDeWFuCi0gIEhpRGVmICBlbGlua3NDb2xvckdyYXkJY3Rlcm1mZz1HcmF5CSAgICBndWlmZz1HcmF5Ci0gIEhpRGVmICBlbGlua3NDb2xvckRhcmtHcmF5CWN0ZXJtZmc9RGFya0dyYXkgICAgZ3VpZmc9RGFya0dyYXkKLSAgSGlEZWYgIGVsaW5rc0NvbG9yUmVkCQljdGVybWZnPVJlZAkgICAgZ3VpZmc9UmVkCi0gIEhpRGVmICBlbGlua3NDb2xvckdyZWVuCWN0ZXJtZmc9R3JlZW4JICAgIGd1aWZnPUdyZWVuCi0gIEhpRGVmICBlbGlua3NDb2xvclllbGxvdwljdGVybWZnPVllbGxvdwkgICAgZ3VpZmc9WWVsbG93Ci0gIEhpRGVmICBlbGlua3NDb2xvckJsdWUJY3Rlcm1mZz1CbHVlCSAgICBndWlmZz1CbHVlCi0gIEhpRGVmICBlbGlua3NDb2xvck1hZ2VudGEJY3Rlcm1mZz1NYWdlbnRhCSAgICBndWlmZz1NYWdlbnRhCi0gIEhpRGVmICBlbGlua3NDb2xvckN5YW4JY3Rlcm1mZz1DeWFuCSAgICBndWlmZz1DeWFuCi0gIEhpRGVmICBlbGlua3NDb2xvcldoaXRlCWN0ZXJtZmc9V2hpdGUJICAgIGd1aWZnPVdoaXRlCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKLSAgZGVsY29tbWFuZCBIaURlZgotZW5kaWYKK2hpIGRlZiBsaW5rIGVsaW5rc1RvZG8gICAgICAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGVsaW5rc0NvbW1lbnQgICAgICAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIGVsaW5rc051bWJlciAgICAgICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgZWxpbmtzU3RyaW5nICAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBlbGlua3NLZXl3b3JkICAgICAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBlbGlua3NQcmVmaXggICAgICAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBlbGlua3NPcHRpb25zICAgICAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgICAgICBlbGlua3NDb2xvckJsYWNrICAgICAgICBjdGVybWZnPUJsYWNrICAgICAgIGd1aWZnPUJsYWNrCitoaSBkZWYgICAgICBlbGlua3NDb2xvckRhcmtSZWQgICAgICBjdGVybWZnPURhcmtSZWQgICAgIGd1aWZnPURhcmtSZWQKK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yRGFya0dyZWVuICAgIGN0ZXJtZmc9RGFya0dyZWVuICAgZ3VpZmc9RGFya0dyZWVuCitoaSBkZWYgICAgICBlbGlua3NDb2xvckRhcmtZZWxsb3cgICBjdGVybWZnPURhcmtZZWxsb3cgIGd1aWZnPURhcmtZZWxsb3cKK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yRGFya0JsdWUgICAgIGN0ZXJtZmc9RGFya0JsdWUgICAgZ3VpZmc9RGFya0JsdWUKK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yRGFya01hZ2VudGEgIGN0ZXJtZmc9RGFya01hZ2VudGEgZ3VpZmc9RGFya01hZ2VudGEKK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yRGFya0N5YW4gICAgIGN0ZXJtZmc9RGFya0N5YW4gICAgZ3VpZmc9RGFya0N5YW4KK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yR3JheSAgICAgICAgIGN0ZXJtZmc9R3JheSAgICAgICAgZ3VpZmc9R3JheQoraGkgZGVmICAgICAgZWxpbmtzQ29sb3JEYXJrR3JheSAgICAgY3Rlcm1mZz1EYXJrR3JheSAgICBndWlmZz1EYXJrR3JheQoraGkgZGVmICAgICAgZWxpbmtzQ29sb3JSZWQgICAgICAgICAgY3Rlcm1mZz1SZWQgICAgICAgICBndWlmZz1SZWQKK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yR3JlZW4gICAgICAgIGN0ZXJtZmc9R3JlZW4gICAgICAgZ3VpZmc9R3JlZW4KK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yWWVsbG93ICAgICAgIGN0ZXJtZmc9WWVsbG93ICAgICAgZ3VpZmc9WWVsbG93CitoaSBkZWYgICAgICBlbGlua3NDb2xvckJsdWUgICAgICAgICBjdGVybWZnPUJsdWUgICAgICAgIGd1aWZnPUJsdWUKK2hpIGRlZiAgICAgIGVsaW5rc0NvbG9yTWFnZW50YSAgICAgIGN0ZXJtZmc9TWFnZW50YSAgICAgZ3VpZmc9TWFnZW50YQoraGkgZGVmICAgICAgZWxpbmtzQ29sb3JDeWFuICAgICAgICAgY3Rlcm1mZz1DeWFuICAgICAgICBndWlmZz1DeWFuCitoaSBkZWYgICAgICBlbGlua3NDb2xvcldoaXRlICAgICAgICBjdGVybWZnPVdoaXRlICAgICAgIGd1aWZnPVdoaXRlCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImVsaW5rcyIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9ldGVybS52aW0gYi9ydW50aW1lL3N5bnRheC9ldGVybS52aW0KaW5kZXggOWNmMzhmZS4uZDI0ZTA4YSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZXRlcm0udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2V0ZXJtLnZpbQpAQCAtMSwyMDAgKzEsNDI4IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIEV0ZXJtIGNvbmZpZ3VyYXRpb24gZmlsZQotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9ldGVybS8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0wNgotIiBhcmNoLXRhZzoJICAgIGY0YzU4Y2FmLTJiOTEtNGZjNC05NmFmLWUzY2FkN2M3MGU2YgorIiBMYW5ndWFnZTogICAgICAgICBldGVybSgxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBtYWdpYyBudW1iZXIKLXN5biBtYXRjaCAgIGV0ZXJtTWFnaWMJCWRpc3BsYXkgIl48RXRlcm0tWzAtOS5dXCs+JCIKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBjb21tZW50cwotc3luIHJlZ2lvbiAgZXRlcm1Db21tZW50CW1hdGNoZ3JvdXA9ZXRlcm1Db21tZW50IHN0YXJ0PSJeIyIgZW5kPSIkIiBjb250YWlucz1ldGVybVRvZG8KK3N5biBrZXl3b3JkIGV0ZXJtVG9kbyAgICAgICAgICAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQogCi0iIHRvZG8KLXN5biBrZXl3b3JkIGV0ZXJtVG9kbwkJY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK3N5biByZWdpb24gIGV0ZXJtQ29tbWVudCAgICAgICAgICBtYXRjaGdyb3VwPWV0ZXJtQ29tbWVudCBzdGFydD0nXiMnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWV0ZXJtVG9kbyxAU3BlbGwKIAotIiBudW1iZXJzCi1zeW4gbWF0Y2ggICBldGVybU51bWJlcgkJY29udGFpbmVkIGRpc3BsYXkgIlw8XChcZFwrXHwweFx4XHsxLDJ9XClcPiIKK3N5biBtYXRjaCAgIGV0ZXJtTWFnaWMgICAgICAgICAgICBkaXNwbGF5IGRpc3BsYXkgJ148RXRlcm0tWzAtOS5dXCs+JCcKIAotIiBzdHJpbmdzCi1zeW4gcmVnaW9uICBldGVybVN0cmluZwkJY29udGFpbmVkIGRpc3BsYXkgb25lbGluZSBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCitzeW4gbWF0Y2ggICBldGVybU51bWJlciAgICAgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1w8XChcZFwrXHwweFx4XHsxLDJ9XClcPicKIAotIiBib29sZWFucwotc3luIGtleXdvcmQgZXRlcm1Cb29sZWFuCWNvbnRhaW5lZCBvbiBvZmYgdHJ1ZSBmYWxzZSB5ZXMgbm8KK3N5biByZWdpb24gIGV0ZXJtU3RyaW5nICAgICAgICAgICBjb250YWluZWQgZGlzcGxheSBvbmVsaW5lIHN0YXJ0PSsiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcD0rXFwiKyBlbmQ9KyIrCiAKLSIgY29sb3JzIChub3QgcHJldHR5LCBidXQgY2FuJ3QgZmlndXJlIG91dCBiZXR0ZXIgd2F5Li4uKQotc3luIG1hdGNoICAgZXRlcm1Db2xvcgkJY29udGFpbmVkIGRpc3BsYXkgIlxzXCsjXHhcezZ9XD4iCi1zeW4ga2V5d29yZCBldGVybUNvbG9yCQljb250YWluZWQgd2hpdGUgYmxhY2sKK3N5biBrZXl3b3JkIGV0ZXJtQm9vbGVhbiAgICAgICAgICBjb250YWluZWQgb24gb2ZmIHRydWUgZmFsc2UgeWVzIG5vCiAKLSIgcHJlcHJvYwotc3luIG1hdGNoICAgZXRlcm1QcmVQcm9jCWNvbnRhaW5lZCAiJVwoYXBwbmFtZVx8ZXhlY1x8Z2V0XHxwdXRcfHJhbmRvbVx8dmVyc2lvblx8aW5jbHVkZVx8cHJlcHJvY1wpKCJoZT1lLTEKK3N5biBrZXl3b3JkIGV0ZXJtUHJlUHJvYyAgICAgICAgICBjb250YWluZWQgYXBwbmFtZSBleGVjIGdldCBwdXQgcmFuZG9tIHZlcnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGluY2x1ZGUgcHJlcHJvYwogCi0iIGZ1bmN0aW9ucwotc3luIG1hdGNoICAgZXRlcm1GdW5jdGlvbnMJY29udGFpbmVkICJcPFwoY29weVx8ZXhpdFx8a2lsbFx8bm9wXHxwYXN0ZVx8c2F2ZVx8c2Nyb2xsXHxzZWFyY2hcfHNwYXduXCkoIgorc3luIGtleXdvcmQgZXRlcm1GdW5jdGlvbnMgICAgICAgIGNvbnRhaW5lZCBjb3B5IGV4aXQga2lsbCBub3AgcGFzdGUgc2F2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2Nyb2xsIHNlYXJjaCBzcGF3bgogCi0iIGFuZCBtYWtlIGl0IGVhc3kgdG8gcmVmZXIgdG8gdGhlIGFib3ZlLi4uCi1zeW4gY2x1c3RlciBldGVybUdlbmVyYWwJY29udGFpbnM9ZXRlcm1Db21tZW50LGV0ZXJtTnVtYmVyLGV0ZXJtU3RyaW5nLGV0ZXJtQm9vbGVhbixldGVybUNvbG9yLGV0ZXJtRnVuY3Rpb24sZXRlcm1QcmVQcm9jCitzeW4gY2x1c3RlciBldGVybUdlbmVyYWwgICAgICAgICAgY29udGFpbnM9ZXRlcm1Db21tZW50LGV0ZXJtRnVuY3Rpb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBldGVybVByZVByb2MKIAotIiBrZXkgbW9kaWZpZXJzCi1zeW4ga2V5d29yZCBldGVybUtleU1vZAkJY29udGFpbmVkIGN0cmwgc2hpZnQgbG9jayBtb2QxIG1vZDIgbW9kMyBtb2Q0IG1vZDUgYWx0IG1ldGEgYW55bW9kCi1zeW4ga2V5d29yZCBldGVybUtleU1vZAkJY29udGFpbmVkIGJ1dHRvbjEgYnV0dG9uMiBidXR0b24zIGJ1dHRvbjQgYnV0dG9uNQorc3luIGtleXdvcmQgZXRlcm1LZXlNb2QgICAgICAgICAgIGNvbnRhaW5lZCBjdHJsIHNoaWZ0IGxvY2sgbW9kMSBtb2QyIG1vZDMgbW9kNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbW9kNSBhbHQgbWV0YSBhbnltb2QKK3N5biBrZXl3b3JkIGV0ZXJtS2V5TW9kICAgICAgICAgICBjb250YWluZWQgYnV0dG9uMSBidXR0b24yIGJ1dHRvbjMgYnV0dG9uNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYnV0dG9uNQogCi0iIGNvbG9yIGNvbnRleHQKLXN5biByZWdpb24gIGV0ZXJtQ29sb3JPcHRpb25zCWNvbnRhaW5lZCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccyp2aWRlb1w+IiBtYXRjaGdyb3VwPWV0ZXJtVHlwZSBlbmQ9Ilw8XChub3JtYWxcfHJldmVyc2VcKVw+Igotc3luIHJlZ2lvbiAgZXRlcm1Db2xvck9wdGlvbnMJY29udGFpbmVkIG9uZWxpbmUgbWF0Y2hncm91cD1ldGVybU9wdGlvbiBzdGFydD0iXlxzKmNvbG9yXD4iIG1hdGNoZ3JvdXA9ZXRlcm1UeXBlIGVuZD0iXDxcKGJkXHx1bFx8WzAtOV1cfDFbMC01XVwpXD4iCi1zeW4ga2V5d29yZCBldGVybUNvbG9yT3B0aW9ucwljb250YWluZWQgZm9yZWdyb3VuZCBiYWNrZ3JvdW5kIGN1cnNvciBjdXJzb3JfdGV4dCBwb2ludGVyCitzeW4ga2V5d29yZCBldGVybUNvbG9yT3B0aW9ucyAgICAgY29udGFpbmVkIHZpZGVvIG5leHRncm91cD1ldGVybVZpZGVvT3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCiAKLXN5biByZWdpb24gIGV0ZXJtQ29sb3JDb250ZXh0CWZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wrY29sb3JccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUNvbG9yT3B0aW9ucworc3luIGtleXdvcmQgZXRlcm1WaWRlb1R5cGUgICAgICAgIGNvbnRhaW5lZCBub3JtYWwgcmV2ZXJzZQogCi0iIGF0dHJpYnV0ZXMgY29udGV4dAotc3luIHJlZ2lvbiAgZXRlcm1BdHRyT3B0aW9ucwljb250YWluZWQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqZ2VvbWV0cnlcPiIgbWF0Y2hncm91cD1ldGVybVR5cGUgZW5kPSJcPFxkXCt4XGRcKytcZFwrK1xkXCtcPiIKLXN5biByZWdpb24gIGV0ZXJtQXR0ck9wdGlvbnMJY29udGFpbmVkIG9uZWxpbmUgbWF0Y2hncm91cD1ldGVybU9wdGlvbiBzdGFydD0iXlxzKnNjcm9sbGJhcl90eXBlXD4iIG1hdGNoZ3JvdXA9ZXRlcm1UeXBlIGVuZD0iXDxcKG1vdGlmXHx4dGVybVx8bmV4dFwpXD4iCi1zeW4gcmVnaW9uICBldGVybUF0dHJPcHRpb25zCWNvbnRhaW5lZCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccypmb250XD4iIG1hdGNoZ3JvdXA9ZXRlcm1UeXBlIGVuZD0iXDxcKGJvbGRcfGRlZmF1bHRcfHByb3BvcnRpb25hbFx8ZnhcfFswLTVdXClcPiIKLXN5biBrZXl3b3JkIGV0ZXJtQXR0ck9wdGlvbnMJY29udGFpbmVkIHRpdGxlIG5hbWUgaWNvbm5hbWUgZGVza3RvcCBzY3JvbGxiYXJfd2lkdGgKK3N5biBrZXl3b3JkIGV0ZXJtQ29sb3JPcHRpb25zICAgICBjb250YWluZWQgZm9yZWdyb3VuZCBiYWNrZ3JvdW5kIGN1cnNvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY3Vyc29yX3RleHQgcG9pbnRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtQ29sb3JUeXBlIHNraXB3aGl0ZQogCi1zeW4gcmVnaW9uICBldGVybUF0dHJDb250ZXh0CWZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wrYXR0cmlidXRlc1xzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtQXR0ck9wdGlvbnMKK3N5biBrZXl3b3JkIGV0ZXJtQ29sb3JUeXBlICAgICAgICBjb250YWluZWQgYmQgdWwKK3N5biBtYXRjaCAgIGV0ZXJtQ29sb3JUeXBlICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXDxcJShcZFx8MVswLTVdXCknCiAKLSIgaW1hZ2UgY29udGV4dAotIiBpbWFnZSB0eXBlcwotc3luIGtleXdvcmQgZXRlcm1JbWFnZVR5cGVzCWNvbnRhaW5lZCBiYWNrZ3JvdW5kIHRyb3VnaCBhbmNob3IgdXBfYXJyb3cKLXN5biBrZXl3b3JkIGV0ZXJtSW1hZ2VUeXBlcwljb250YWluZWQgbGVmdF9hcnJvdyByaWdodF9hcnJvdyBtZW51IG1lbnVpdGVtCi1zeW4ga2V5d29yZCBldGVybUltYWdlVHlwZXMJY29udGFpbmVkIHN1Ym1lbnUgYnV0dG9uIGJ1dHRvbmJhciBkb3duX2Fycm93Ci1zeW4gcmVnaW9uICBldGVybUltYWdlT3B0aW9ucwljb250YWluZWQgdHJhbnNwYXJlbnQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqdHlwZVw+IiBlbmQ9IiQiIGNvbnRhaW5zPWV0ZXJtSW1hZ2VUeXBlcwotIiBpbWFnZSBtb2Rlcwotc3luIGtleXdvcmQgZXRlcm1JbWFnZU1vZGVzCWNvbnRhaW5lZCBpbWFnZSB0cmFucyB2aWV3cG9ydCBhdXRvIHNvbGlkCi1zeW4ga2V5d29yZCBldGVybUltYWdlTW9kZXNBbGxvdyBjb250YWluZWQgYWxsb3cKLXN5biByZWdpb24gIGV0ZXJtSW1hZ2VPcHRpb25zCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccyptb2RlXD4iIGVuZD0iJCIgY29udGFpbnM9ZXRlcm1JbWFnZU1vZGVzLGV0ZXJtSW1hZ2VNb2Rlc0FsbG93Ci0iIGltYWdlIHN0YXRlcwotc3luIHJlZ2lvbiAgZXRlcm1JbWFnZU9wdGlvbnMJY29udGFpbmVkIHRyYW5zcGFyZW50IG9uZWxpbmUgbWF0Y2hncm91cD1ldGVybU9wdGlvbiBzdGFydD0iXlxzKnN0YXRlXD4iIG1hdGNoZ3JvdXA9ZXRlcm1UeXBlIGVuZD0iXDxcKG5vcm1hbFx8c2VsZWN0ZWRcfGNsaWNrZWRcfGRpc2FibGVkXClcPiIKLSIgaW1hZ2UgZ2VvbWV0cnkKLXN5biByZWdpb24gIGV0ZXJtSW1hZ2VPcHRpb25zCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccypnZW9tXD4iIG1hdGNoZ3JvdXA9ZXRlcm1UeXBlIGVuZD0iXHNcK1woXGRcK3hcZFwrK1xkXCsrXGRcK1wpXD06XChcKHRpbGVcfHNjYWxlXHxoc2NhbGVcfHZzY2FsZVx8cHJvcHNjYWxlXClkXD1cKVw9IgotIiBpbWFnZSBjb2xvciBtb2RpZmljYXRpb24KLXN5biByZWdpb24gIGV0ZXJtSW1hZ2VPcHRpb25zCWNvbnRhaW5lZCB0cmFuc3BhcmVudCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccypcKGNtb2RcfGNvbG9ybW9kXClcPiIgbWF0Y2hncm91cD1ldGVybVR5cGUgZW5kPSJcPFwoaW1hZ2VcfHJlZFx8Z3JlZW5cfGJsdWVcKVw+IgotIiBvdGhlciBrZXl3b3Jkcwotc3luIGtleXdvcmQgZXRlcm1JbWFnZU9wdGlvbnMJY29udGFpbmVkIGZpbGUgcGFkZGluZyBib3JkZXIgYmV2ZWwgY29sb3IKK3N5biBrZXl3b3JkIGV0ZXJtQ29sb3JPcHRpb25zICAgICBjb250YWluZWQgY29sb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybUNvbG9yTnVtYmVyIHNraXB3aGl0ZQogCi1zeW4gcmVnaW9uICBldGVybUltYWdlQ29udGV4dAljb250YWluZWQgdHJhbnNwYXJlbnQgZm9sZCBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK2ltYWdlXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1JbWFnZU9wdGlvbnMKK3N5biBrZXl3b3JkIGV0ZXJtQ29sb3JOdW1iZXIgICAgICBjb250YWluZWQgYmQgdWwgbmV4dGdyb3VwPWV0ZXJtQ29sb3JTcGVjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKK3N5biBtYXRjaCAgIGV0ZXJtQ29sb3JOdW1iZXIgICAgICBjb250YWluZWQgZGlzcGxheSAnXDxcJShcZFx8MVswLTVdXCknCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9ZXRlcm1Db2xvclNwZWMgc2tpcHdoaXRlCiAKLSIgaW1hZ2VjbGFzc2VzIGNvbnRleHQKLXN5biBrZXl3b3JkIGV0ZXJtSUNsYXNzT3B0aW9ucwljb250YWluZWQgaWNvbiBjYWNoZSBwYXRoIGFuaW0KK3N5biBtYXRjaCAgIGV0ZXJtQ29sb3JTcGVjICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFNcKycKIAotc3luIHJlZ2lvbiAgZXRlcm1JQ2xhc3NDb250ZXh0CWZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wraW1hZ2VjbGFzc2VzXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1JbWFnZUNvbnRleHQsZXRlcm1JQ2xhc3NPcHRpb25zCitzeW4gcmVnaW9uICBldGVybUNvbG9yQ29udGV4dCAgICAgZm9sZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15ccypiZWdpblxzXCtjb2xvcicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUNvbG9yT3B0aW9ucwogCi0iIG1lbnVpdGVtIGNvbnRleHQKLXN5biByZWdpb24gIGV0ZXJtTWVudUl0ZW1PcHRpb25zIGNvbnRhaW5lZCB0cmFuc3BhcmVudCBvbmVsaW5lIG1hdGNoZ3JvdXA9ZXRlcm1PcHRpb24gc3RhcnQ9Il5ccyphY3Rpb25cPiIgbWF0Y2hncm91cD1ldGVybVR5cGUgZW5kPSJcPHN0cmluZ1x8ZWNob1x8c3VibWVudVx8c2NyaXB0XHxzZXBhcmF0b3JcPiIKLXN5biBrZXl3b3JkIGV0ZXJtTWVudUl0ZW1PcHRpb25zIGNvbnRhaW5lZCB0ZXh0IHJ0ZXh0CitzeW4ga2V5d29yZCBldGVybUF0dHJPcHRpb25zICAgICAgY29udGFpbmVkIGdlb21ldHJ5IG5leHRncm91cD1ldGVybUdlb21ldHJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKIAotc3luIHJlZ2lvbiAgZXRlcm1NZW51SXRlbUNvbnRleHQgZm9sZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK21lbnVpdGVtXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1NZW51SXRlbU9wdGlvbnMKK3N5biBtYXRjaCAgIGV0ZXJtR2VvbWV0cnkgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXGRcK3hcZCsrXGRcKytcZFwrJwogCi0iIG1lbnUgY29udGV4dCAoc2hvdWxkIGNvbnRhaW4gLSBhcyB3ZWxsLCBidXQgbm8uLi4pCi1zeW4ga2V5d29yZCBldGVybU1lbnVPcHRpb25zICAgIGNvbnRhaW5lZCB0aXRsZSBmb250X25hbWUgc2VwCitzeW4ga2V5d29yZCBldGVybUF0dHJPcHRpb25zICAgICAgY29udGFpbmVkIHNjcm9sbGJhcl90eXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9ZXRlcm1TY3JvbGxiYXJUeXBlIHNraXB3aGl0ZQogCi1zeW4gcmVnaW9uICBldGVybU1lbnVDb250ZXh0ICAgIGZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wrbWVudVxzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtTWVudU9wdGlvbnMsZXRlcm1NZW51SXRlbUNvbnRleHQKK3N5biBrZXl3b3JkIGV0ZXJtU2Nyb2xsYmFyVHlwZSAgICBjb250YWluZWQgbW90aWYgeHRlcm0gbmV4dAogCi0iIGFjdGlvbiBjb250ZXh0Ci1zeW4gbWF0Y2ggICBldGVybUFjdGlvbkRlZgljb250YWluZWQgIlw8XCh0b1x8c3RyaW5nXHxlY2hvXHxtZW51XHxzY3JpcHRcKVw+Igotc3luIHJlZ2lvbiAgZXRlcm1BY3Rpb25zT3B0aW9ucwljb250YWluZWQgdHJhbnNwYXJlbnQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqYmluZFw+IiBlbmQ9IiQiIGNvbnRhaW5zPWV0ZXJtQWN0aW9uRGVmLGV0ZXJtS2V5TW9kCitzeW4ga2V5d29yZCBldGVybUF0dHJPcHRpb25zICAgICAgY29udGFpbmVkIGZvbnQgbmV4dGdyb3VwPWV0ZXJtRm9udFR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQogCi1zeW4gcmVnaW9uICBldGVybUFjdGlvbnNDb250ZXh0CWZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wrYWN0aW9uc1xzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtQWN0aW9uc09wdGlvbnMKK3N5biBrZXl3b3JkIGV0ZXJtRm9udFR5cGUgICAgICAgICBjb250YWluZWQgYm9sZCBuZXh0Z3JvdXA9ZXRlcm1Gb250IHNraXB3aGl0ZQorc3luIG1hdGNoICAgZXRlcm1Gb250VHlwZSAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdbMC01XScgbmV4dGdyb3VwPWV0ZXJtRm9udAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCiAKLSIgYnV0dG9uIGJhciBjb250ZXh0Ci1zeW4gbWF0Y2ggICBldGVybUJ1dHRvbkRlZgljb250YWluZWQgIlw8XChhY3Rpb25cfHN0cmluZ1x8ZWNob1x8bWVudVx8c2NydXB0XClcPiIKLXN5biByZWdpb24gIGV0ZXJtQnV0dG9uT3B0aW9ucwljb250YWluZWQgdHJhbnNwYXJlbnQgb25lbGluZSBtYXRjaGdyb3VwPWV0ZXJtT3B0aW9uIHN0YXJ0PSJeXHMqYnV0dG9uXD4iIGVuZD0iJCIgY29udGFpbnM9ZXRlcm1CdXR0b25EZWYKLXN5biBrZXl3b3JkIGV0ZXJtQnV0dG9uT3B0aW9ucwljb250YWluZWQgZm9udCB2aXNpYmxlIGRvY2sKK3N5biBtYXRjaCAgIGV0ZXJtRm9udCAgICAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFNcKycKIAotc3luIHJlZ2lvbiAgZXRlcm1CdXR0b25Db250ZXh0CWZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wrYnV0dG9uX2JhclxzKiQiIGVuZD0iXlxzKmVuZFw+XChcc1wrLlx7LTAsfVwpXD0kIiBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtQnV0dG9uT3B0aW9ucworc3luIGtleXdvcmQgZXRlcm1Gb250VHlwZSAgICAgICAgIGNvbnRhaW5lZCBkZWZhdWx0IG5leHRncm91cD1ldGVybU51bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCiAKLSIgbXVsdGljaGFyIGNvbnRleHQKLXN5biBrZXl3b3JkIGV0ZXJtTXVsdGlPcHRpb25zCWNvbnRhaW5lZCBlbmNvZGluZyBmb250CitzeW4ga2V5d29yZCBldGVybUZvbnRUeXBlICAgICAgICAgY29udGFpbmVkIHByb3BvcnRpb25hbCBuZXh0Z3JvdXA9ZXRlcm1Cb29sZWFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKIAotc3luIHJlZ2lvbiAgZXRlcm1NdWx0aUNvbnRleHQJZm9sZCB0cmFuc3BhcmVudCAgbWF0Y2hncm91cD1ldGVybUNvbnRleHQgc3RhcnQ9Il5ccypiZWdpblxzXCttdWx0aWNoYXJccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybU11bHRpT3B0aW9ucworc3luIGtleXdvcmQgZXRlcm1Gb250VHlwZSAgICAgICAgIGNvbnRhaW5lZCBmeCBuZXh0Z3JvdXA9ZXRlcm1TdHJpbmcgc2tpcHdoaXRlCiAKLSIgeGltIGNvbnRleHQKLXN5biBrZXl3b3JkIGV0ZXJtWGltT3B0aW9ucyAgICAgY29udGFpbmVkIGlucHV0X21ldGhvZCBwcmVlZGl0X3R5cGUKK3N5biBrZXl3b3JkIGV0ZXJtQXR0ck9wdGlvbnMgICAgICBjb250YWluZWQgdGl0bGUgbmFtZSBpY29ubmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtU3RyaW5nIHNraXB3aGl0ZQogCi1zeW4gcmVnaW9uICBldGVybVhpbUNvbnRleHQJZm9sZCB0cmFuc3BhcmVudCAgbWF0Y2hncm91cD1ldGVybUNvbnRleHQgc3RhcnQ9Il5ccypiZWdpblxzXCt4aW1ccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybVhpbU9wdGlvbnMKK3N5biBrZXl3b3JkIGV0ZXJtQXR0ck9wdGlvbnMgICAgICBjb250YWluZWQgc2Nyb2xsYmFyX3dpZHRoIGRlc2t0b3AKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybU51bWJlciBza2lwd2hpdGUKIAotIiB0b2dnbGVzIGNvbnRleHQKLXN5biBrZXl3b3JkIGV0ZXJtVG9nT3B0aW9ucwljb250YWluZWQgbWFwX2FsZXJ0IHZpc3VhbF9iZWxsIGxvZ2luX3NoZWxsIHNjcm9sbGJhciB1dG1wX2xvZ2dpbmcgbWV0YTggaWNvbmljIG5vX2lucHV0Ci1zeW4ga2V5d29yZCBldGVybVRvZ09wdGlvbnMJY29udGFpbmVkIGhvbWVfb25fb3V0cHV0IGhvbWVfb25faW5wdXQgc2Nyb2xsYmFyX2Zsb2F0aW5nIHNjcm9sbGJhcl9yaWdodCBzY3JvbGxiYXJfcG9wdXAKLXN5biBrZXl3b3JkIGV0ZXJtVG9nT3B0aW9ucwljb250YWluZWQgYm9yZGVybGVzcyBkb3VibGVfYnVmZmVyIG5vX2N1cnNvciBwYXVzZSB4dGVybV9zZWxlY3Qgc2VsZWN0X2xpbmUKLXN5biBrZXl3b3JkIGV0ZXJtVG9nT3B0aW9ucwljb250YWluZWQgc2VsZWN0X3RyYWlsaW5nX3NwYWNlcyByZXBvcnRfYXNfa2V5c3ltcyBpdHJhbnMgaW1tb3RpbGVfdHJhbnMgYnV0dG9uYmFyCi1zeW4ga2V5d29yZCBldGVybVRvZ09wdGlvbnMJY29udGFpbmVkIHJlc2l6ZV9ncmF2aXR5CitzeW4gcmVnaW9uICBldGVybUF0dHJDb250ZXh0ICAgICAgZm9sZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15ccypiZWdpblxzXCthdHRyaWJ1dGVzXCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUF0dHJPcHRpb25zCiAKLXN5biByZWdpb24gIGV0ZXJtVG9nQ29udGV4dAlmb2xkIHRyYW5zcGFyZW50ICBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dCBzdGFydD0iXlxzKmJlZ2luXHNcK3RvZ2dsZXNccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybVRvZ09wdGlvbnMKK3N5biBrZXl3b3JkIGV0ZXJtSUNsYXNzT3B0aW9ucyAgICBjb250YWluZWQgaWNvbiBwYXRoIG5leHRncm91cD1ldGVybVN0cmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCitzeW4ga2V5d29yZCBldGVybUlDbGFzc09wdGlvbnMgICAgY29udGFpbmVkIGNhY2hlIG5leHRncm91cD1ldGVybU51bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCitzeW4ga2V5d29yZCBldGVybUlDbGFzc09wdGlvbnMgICAgY29udGFpbmVkIGFuaW0gbmV4dGdyb3VwPWV0ZXJtTnVtYmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKIAotIiBrZXlib2FyZCBjb250ZXh0Ci1zeW4ga2V5d29yZCBldGVybUtleWJvYXJkT3B0aW9ucyBjb250YWluZWQgc21hbGxmb250X2tleSBiaWdmb250X2tleSBrZXlzeW0gbWV0YV9tb2QgYWx0X21vZAotc3luIGtleXdvcmQgZXRlcm1LZXlib2FyZE9wdGlvbnMgY29udGFpbmVkIGdyZWVrIG51bWxvY2tfbW9kIGFwcF9rZXlwYWQgYXBwX2N1cnNvcgorc3luIHJlZ2lvbiAgZXRlcm1JQ2xhc3NDb250ZXh0ICAgIGZvbGQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1ldGVybUNvbnRleHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXHMqYmVnaW5cc1wraW1hZ2VjbGFzc2VzJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdeXHMqZW5kXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtSW1hZ2VDb250ZXh0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZXRlcm1JQ2xhc3NPcHRpb25zCiAKLXN5biByZWdpb24gIGV0ZXJtS2V5Ym9hcmRDb250ZXh0IGZvbGQgdHJhbnNwYXJlbnQgIG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0IHN0YXJ0PSJeXHMqYmVnaW5cc1wra2V5Ym9hcmRccyokIiBlbmQ9Il5ccyplbmRcPlwoXHNcKy5cey0wLH1cKVw9JCIgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUtleWJvYXJkT3B0aW9ucworc3luIGtleXdvcmQgZXRlcm1JbWFnZU9wdGlvbnMgICAgIGNvbnRhaW5lZCB0eXBlIG5leHRncm91cD1ldGVybUltYWdlVHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCiAKLSIgbWlzYyBjb250ZXh0Ci1zeW4ga2V5d29yZCBldGVybU1pc2NPcHRpb25zCWNvbnRhaW5lZCBwcmludF9waXBlIHNhdmVfbGluZXMgY3V0X2NoYXJzIG1pbl9hbmNob3Jfc2l6ZQotc3luIGtleXdvcmQgZXRlcm1NaXNjT3B0aW9ucwljb250YWluZWQgYm9yZGVyX3dpZHRoIGxpbmVfc3BhY2UgZmluaXNoZWRfdGl0bGUgdGVybV9uYW1lCi1zeW4ga2V5d29yZCBldGVybU1pc2NPcHRpb25zCWNvbnRhaW5lZCBmaW5pc2hlZF90ZXh0IGV4ZWMKK3N5biBrZXl3b3JkIGV0ZXJtSW1hZ2VUeXBlcyAgICAgICBjb250YWluZWQgYmFja2dyb3VuZCB0cm91Z2ggYW5jaG9yIHVwX2Fycm93CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsZWZ0X2Fycm93IHJpZ2h0X2Fycm93IG1lbnUgbWVudWl0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN1Ym1lbnUgYnV0dG9uIGJ1dHRvbmJhciBkb3duX2Fycm93CiAKLXN5biByZWdpb24gIGV0ZXJtTWlzY0NvbnRleHQJZm9sZCB0cmFuc3BhcmVudCAgbWF0Y2hncm91cD1ldGVybUNvbnRleHQgc3RhcnQ9Il5ccypiZWdpblxzXCttaXNjXHMqJCIgZW5kPSJeXHMqZW5kXD5cKFxzXCsuXHstMCx9XClcPSQiIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1NaXNjT3B0aW9ucworc3luIGtleXdvcmQgZXRlcm1JbWFnZU9wdGlvbnMgICAgIGNvbnRhaW5lZCBtb2RlIG5leHRncm91cD1ldGVybUltYWdlTW9kZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUltYWdlTW9kZXMgICAgICAgY29udGFpbmVkIGltYWdlIHRyYW5zIHZpZXdwb3J0IGF1dG8gc29saWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybUltYWdlTW9kZXNBbGxvdyBza2lwd2hpdGUKK3N5biBrZXl3b3JkIGV0ZXJtSW1hZ2VNb2Rlc0FsbG93ICBjb250YWluZWQgYWxsb3cgbmV4dGdyb3VwPWV0ZXJtSW1hZ2VNb2Rlc1IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorc3luIGtleXdvcmQgZXRlcm1JbWFnZU1vZGVzUiAgICAgIGNvbnRhaW5lZCBpbWFnZSB0cmFucyB2aWV3cG9ydCBhdXRvIHNvbGlkCisKK3N5biBrZXl3b3JkIGV0ZXJtSW1hZ2VPcHRpb25zICAgICBjb250YWluZWQgc3RhdGUgbmV4dGdyb3VwPWV0ZXJtSW1hZ2VTdGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGV0ZXJtSW1hZ2VTdGF0ZSAgICAgICBjb250YWluZWQgbm9ybWFsIHNlbGVjdGVkIGNsaWNrZWQgZGlzYWJsZWQKKworc3luIGtleXdvcmQgZXRlcm1JbWFnZU9wdGlvbnMgICAgIGNvbnRhaW5lZCBjb2xvciBuZXh0Z3JvdXA9ZXRlcm1JbWFnZUNvbG9yRkcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUltYWdlQ29sb3JGRyAgICAgY29udGFpbmVkICdcU1wrJyBuZXh0Z3JvdXA9ZXRlcm1JbWFnZUNvbG9yQkcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUltYWdlQ29sb3JCRyAgICAgY29udGFpbmVkICdcU1wrJworCitzeW4ga2V5d29yZCBldGVybUltYWdlT3B0aW9ucyAgICAgY29udGFpbmVkIGZpbGUgbmV4dGdyb3VwPWV0ZXJtU3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGtleXdvcmQgZXRlcm1JbWFnZU9wdGlvbnMgICAgIGNvbnRhaW5lZCBnZW9tIG5leHRncm91cD1ldGVybUltYWdlR2VvbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGV0ZXJtSW1hZ2VHZW9tICAgICAgICBjb250YWluZWQgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgJ1xzXCtcJShcZFwreFxkXCsrXGRcKytcZFwrXClcPTpcJShcJSh0aWVcfHNjYWxlXHxoc2NhbGVcfHZzY2FsZVx8cHJvcHNjYWxlXClkXD1cKVw9JworCitzeW4ga2V5d29yZCBldGVybUltYWdlT3B0aW9ucyAgICAgY29udGFpbmVkIGNtb2QgY29sb3Jtb2QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybUltYWdlQ21vZCBza2lwd2hpdGUKKworc3luIGtleXdvcmQgZXRlcm1JbWFnZUNtb2QgICAgICAgIGNvbnRhaW5lZCBpbWFnZSByZWQgZ3JlZW4gYmx1ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtSW1hZ2VCcmlnaHRuZXNzIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBldGVybUltYWdlQnJpZ2h0bmVzcyAgY29udGFpbmVkIGRpc3BsYXkgJ1w8XChcZFwrXHwweFx4XHsxLDJ9XClcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybUltYWdlQ29udHJhc3Qgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGV0ZXJtSW1hZ2VDb250cmFzdCAgICBjb250YWluZWQgZGlzcGxheSAnXDxcKFxkXCtcfDB4XHhcezEsMn1cKVw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtSW1hZ2VHYW1tYSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgZXRlcm1JbWFnZUdhbW1hICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcPFwoXGRcK1x8MHhceFx7MSwyfVwpXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9ZXRlcm1JbWFnZUdhbW1hIHNraXB3aGl0ZQorCitzeW4gcmVnaW9uICBldGVybUltYWdlT3B0aW9ucyAgICAgY29udGFpbmVkIG1hdGNoZ3JvdXA9ZXRlcm1JbWFnZU9wdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdib3JkZXJcfGJldmVsXCUoXHNcK1wlKHVwXHxkb3duXClcKVx8cGFkZGluZycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nJCcgY29udGFpbnM9ZXRlcm1OdW1iZXIKKworc3luIHJlZ2lvbiAgZXRlcm1JbWFnZUNvbnRleHQgICAgIGNvbnRhaW5lZCBmb2xkIHRyYW5zcGFyZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15ccypiZWdpblxzXCtpbWFnZScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUltYWdlT3B0aW9ucworCitzeW4ga2V5d29yZCBldGVybU1lbnVJdGVtT3B0aW9ucyAgY29udGFpbmVkIGFjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtTWVudUl0ZW1BY3Rpb24gc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGV0ZXJtTWVudUl0ZW1BY3Rpb24gICBjb250YWluZWQgc3RyaW5nIGVjaG8gc3VibWVudSBzY3JpcHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybVN0cmluZyBza2lwd2hpdGUKKworc3luIGtleXdvcmQgZXRlcm1NZW51SXRlbUFjdGlvbiAgIGNvbnRhaW5lZCBzZXBhcmF0b3IKKworc3luIGtleXdvcmQgZXRlcm1NZW51SXRlbU9wdGlvbnMgIGNvbnRhaW5lZCB0ZXh0IHJ0ZXh0IG5leHRncm91cD1ldGVybVN0cmluZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGV0ZXJtTWVudUl0ZW1Db250ZXh0ICBjb250YWluZWQgZm9sZCB0cmFuc3BhcmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWF0Y2hncm91cD1ldGVybUNvbnRleHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXHMqYmVnaW5cc1wrbWVudWl0ZW0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9J15ccyplbmRcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1NZW51SXRlbU9wdGlvbnMKKworc3luIGtleXdvcmQgZXRlcm1NZW51T3B0aW9ucyAgICAgIGNvbnRhaW5lZCB0aXRsZSBuZXh0Z3JvdXA9ZXRlcm1TdHJpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybU1lbnVPcHRpb25zICAgICAgY29udGFpbmVkIGZvbnRfbmFtZSBuZXh0Z3JvdXA9ZXRlcm1Gb250CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgZXRlcm1NZW51T3B0aW9ucyAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcPHNlcFw+XHwtJworCitzeW4gcmVnaW9uICBldGVybU1lbnVDb250ZXh0ICAgICAgZm9sZCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPWV0ZXJtQ29udGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15ccypiZWdpblxzXCttZW51JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdeXHMqZW5kXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtTWVudU9wdGlvbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBldGVybU1lbnVJdGVtQ29udGV4dAorCitzeW4ga2V5d29yZCBldGVybUJpbmQgICAgICAgICAgICAgY29udGFpbmVkIGJpbmQgbmV4dGdyb3VwPWV0ZXJtQmluZE1vZHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUJpbmRNb2RzICAgICAgICAgY29udGFpbmVkIGN0cmwgc2hpZnQgbG9jayBtb2QxIG1vZDIgbW9kMyBtb2Q0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtb2Q1IGFsdCBtZXRhIGFueW1vZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtQmluZE1vZHMgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGV0ZXJtQmluZFRvICAgICAgICAgICBjb250YWluZWQgdG8gbmV4dGdyb3VwPWV0ZXJtQmluZFR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUJpbmRUeXBlICAgICAgICAgY29udGFpbmVkIHN0cmluZyBlY2hvIG1lbnUgc2NyaXB0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9ZXRlcm1CaW5kUGFyYW0gc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGV0ZXJtQmluZFBhcmFtICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFNcKycKKworc3luIHJlZ2lvbiAgZXRlcm1BY3Rpb25zQ29udGV4dCAgIGZvbGQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1ldGVybUNvbnRleHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXHMqYmVnaW5cc1wrYWN0aW9ucycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybUFjdGlvbnNPcHRpb25zCisKK3N5biBrZXl3b3JkIGV0ZXJtQnV0dG9uT3B0aW9ucyAgICBjb250YWluZWQgZm9udCBuZXh0Z3JvdXA9ZXRlcm1Gb250IHNraXB3aGl0ZQorc3luIGtleXdvcmQgZXRlcm1CdXR0b25PcHRpb25zICAgIGNvbnRhaW5lZCB2aXNpYmxlIG5leHRncm91cD1ldGVybUJvb2xlYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorc3luIGtleXdvcmQgZXRlcm1CdXR0b25PcHRpb25zICAgIGNvbnRhaW5lZCBkb2NrIG5leHRncm91cD1ldGVybURvY2tPcHRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybURvY2tPcHRpb24gICAgICAgY29udGFpbmVkIHRvcCBib3R0b20gbm8KKworc3luIGtleXdvcmQgZXRlcm1CdXR0b24gICAgICAgICAgIGNvbnRhaW5lZCBidXR0b24gbmV4dGdyb3VwPWV0ZXJtQnV0dG9uVGV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGV0ZXJtQnV0dG9uVGV4dCAgICAgICBjb250YWluZWQgZGlzcGxheSBvbmVsaW5lIHN0YXJ0PSsiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcD0rXFwiKyBlbmQ9KyIrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9ZXRlcm1CdXR0b25JY29uIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUJ1dHRvbkljb24gICAgICAgY29udGFpbmVkIGljb24gbmV4dGdyb3VwPWV0ZXJtQnV0dG9uSWNvbkZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUJ1dHRvbkljb25GaWxlICAgY29udGFpbmVkICdcU1wrJyBuZXh0Z3JvdXA9ZXRlcm1CdXR0b25BY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUJ1dHRvbkFjdGlvbiAgICAgY29udGFpbmVkIGFjdGlvbiBuZXh0Z3JvdXA9ZXRlcm1CaW5kVHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGV0ZXJtQnV0dG9uQ29udGV4dCAgICBmb2xkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKmJlZ2luXHNcK2J1dHRvbl9iYXInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9J15ccyplbmRcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1CdXR0b25PcHRpb25zCisKK3N5biBrZXl3b3JkIGV0ZXJtTXVsdGlPcHRpb25zICAgICBjb250YWluZWQgZW5jb2RpbmcgbmV4dGdyb3VwPWV0ZXJtRW5jb2RpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUVuY29kaW5nICAgICAgICAgZXVjaiBzamlzIGV1Y2tyIGJpZzUgZ2IKK3N5biBtYXRjaCAgIGV0ZXJtRW5jb2RpbmcgICAgICAgICBkaXNwbGF5ICdpc28tMTA2NDYnCisKK3N5biBrZXl3b3JkIGV0ZXJtTXVsdGlPcHRpb25zICAgICBjb250YWluZWQgZm9udCBuZXh0Z3JvdXA9ZXRlcm1Gb250VHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGV0ZXJtTXVsdGlDb250ZXh0ICAgICBmb2xkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKmJlZ2luXHNcK211bHRpY2hhcicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0iXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybU11bHRpT3B0aW9ucworCitzeW4ga2V5d29yZCBldGVybVhpbU9wdGlvbnMgICAgICAgY29udGFpbmVkIGlucHV0X21ldGhvZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtSW5wdXRNZXRob2Qgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGV0ZXJtSW5wdXRNZXRob2QgICAgICBjb250YWluZWQgZGlzcGxheSAnXFMrJworCitzeW4ga2V5d29yZCBldGVybVhpbU9wdGlvbnMgICAgICAgY29udGFpbmVkIHByZWVkaXRfdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtUHJlZWRpdFR5cGUgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGV0ZXJtUHJlZWRpdFR5cGUgICAgICBjb250YWluZWQgT3ZlclRoZVNwb3QgT2ZmVGhlU3BvdCBSb290CisKK3N5biByZWdpb24gIGV0ZXJtWGltQ29udGV4dCAgICAgICBmb2xkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKmJlZ2luXHNcK3hpbScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0iXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybVhpbU9wdGlvbnMKKworc3luIGtleXdvcmQgZXRlcm1Ub2dPcHRpb25zICAgICAgIGNvbnRhaW5lZCBtYXBfYWxlcnQgdmlzdWFsX2JlbGwgbG9naW5fc2hlbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNjcm9sbGJhciB1dG1wX2xvZ2dpbmcgbWV0YTggaWNvbmljCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub19pbnB1dCBob21lX29uX291dHB1dCBob21lX29uX2lucHV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzY3JvbGxiYXJfZmxvYXRpbmcgc2Nyb2xsYmFyX3JpZ2h0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzY3JvbGxiYXJfcG9wdXAgYm9yZGVybGVzcyBkb3VibGVfYnVmZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub19jdXJzb3IgcGF1c2UgeHRlcm1fc2VsZWN0IHNlbGVjdF9saW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzZWxlY3RfdHJhaWxpbmdfc3BhY2VzIHJlcG9ydF9hc19rZXlzeW1zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpdHJhbnMgaW1tb3RpbGVfdHJhbnMgYnV0dG9uYmFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZXNpemVfZ3Jhdml0eSBuZXh0Z3JvdXA9ZXRlcm1Cb29sZWFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIHJlZ2lvbiAgZXRlcm1Ub2dDb250ZXh0ICAgICAgIGZvbGQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1ldGVybUNvbnRleHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXHMqYmVnaW5cc1wrdG9nZ2xlcycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybVRvZ09wdGlvbnMKKworc3luIGtleXdvcmQgZXRlcm1LZXlib2FyZE9wdGlvbnMgIGNvbnRhaW5lZCBzbWFsbGZvbnRfa2V5IGJpZ2ZvbnRfa2V5IGtleXN5bQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWV0ZXJtS2V5c3ltIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUtleXN5bSAgICAgICAgICAgY29udGFpbmVkICdcU1wrJyBuZXh0Z3JvdXA9ZXRlcm1TdHJpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUtleWJvYXJkT3B0aW9ucyAgY29udGFpbmVkIG1ldGFfbW9kIGFsdF9tb2QgbnVtbG9ja19tb2QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybU51bWJlciBza2lwd2hpdGUKKworc3luIGtleXdvcmQgZXRlcm1LZXlib2FyZE9wdGlvbnMgIGNvbnRhaW5lZCBncmVlayBhcHBfa2V5cGFkIGFwcF9jdXJzb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybUJvb2xlYW4gc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGV0ZXJtS2V5Ym9hcmRDb250ZXh0ICBmb2xkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKmJlZ2luXHNcK2tleWJvYXJkJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdeXHMqZW5kXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1AZXRlcm1HZW5lcmFsLGV0ZXJtS2V5Ym9hcmRPcHRpb25zCisKK3N5biBrZXl3b3JkIGV0ZXJtTWlzY09wdGlvbnMgICAgICBjb250YWluZWQgcHJpbnRfcGlwZSBjdXRfY2hhcnMgZmluaXNoZWRfdGl0bGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZpbmlzaGVkX3RleHQgdGVybV9uYW1lIGV4ZWMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ldGVybVN0cmluZyBza2lwd2hpdGUKKworc3luIGtleXdvcmQgZXRlcm1NaXNjT3B0aW9ucyAgICAgIGNvbnRhaW5lZCBzYXZlX2xpbmVzIG1pbl9hbmNob3Jfc2l6ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYm9yZGVyX3dpZHRoIGxpbmVfc3BhY2UKKworc3luIHJlZ2lvbiAgZXRlcm1NaXNjQ29udGV4dCAgICAgIGZvbGQgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1ldGVybUNvbnRleHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXHMqYmVnaW5cc1wrbWlzYycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzKmVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QGV0ZXJtR2VuZXJhbCxldGVybU1pc2NPcHRpb25zCisKK3N5biBrZXl3b3JkIGV0ZXJtRVNjcmVlbk9wdGlvbnMgICBjb250YWluZWQgdXJsIG5leHRncm91cD1ldGVybVVSTCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgZXRlcm1VUkwgICAgICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnXDxcJShzY3JlZW5cfHR3aW5cKTovL1wlKFteQDovXVwrXCUoQFteOi9dXCtcJSg6W14vXVwrXClcPVwpXD1cKVw9L1xTXCsnCisKK3N5biBrZXl3b3JkIGV0ZXJtRVNjcmVlbk9wdGlvbnMgICBjb250YWluZWQgZmlyZXdhbGwKKworc3luIGtleXdvcmQgZXRlcm1FU2NyZWVuT3B0aW9ucyAgIGNvbnRhaW5lZCBkZWxheSBuZXh0Z3JvdXA9ZXRlcm1OdW1iZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBldGVybUVTY3JlZW5PcHRpb25zICAgY29udGFpbmVkIGJiYXJfZm9udCBuZXh0Z3JvdXA9ZXRlcm1Gb250CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGtleXdvcmQgZXRlcm1FU2NyZWVuT3B0aW9ucyAgIGNvbnRhaW5lZCBiYmFyX2RvY2sgbmV4dGdyb3VwPWV0ZXJtRG9ja09wdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIGV0ZXJtRVNjcmVlbkNvbnRleHQgICBmb2xkIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZXRlcm1Db250ZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKmJlZ2luXHNcK2VzY3JlZW4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9J15ccyplbmRcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUBldGVybUdlbmVyYWwsZXRlcm1FU2NyZWVuT3B0aW9ucwogCiBpZiBleGlzdHMoImV0ZXJtX21pbmxpbmVzIikKICAgbGV0IGI6ZXRlcm1fbWlubGluZXMgPSBldGVybV9taW5saW5lcwogZWxzZQotICBsZXQgYjpldGVybV9taW5saW5lcyA9IDMwCisgIGxldCBiOmV0ZXJtX21pbmxpbmVzID0gNTAKIGVuZGlmCiBleGVjICJzeW4gc3luYyBtaW5saW5lcz0iIC4gYjpldGVybV9taW5saW5lcwogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ldGVybV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9ldGVybV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayBldGVybU1hZ2ljCQlTcGVjaWFsCi0gIEhpTGluayBldGVybUNvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIGV0ZXJtVG9kbwkJVG9kbwotICBIaUxpbmsgZXRlcm1OdW1iZXIJCU51bWJlcgotICBIaUxpbmsgZXRlcm1TdHJpbmcJCVN0cmluZwotICBIaUxpbmsgZXRlcm1Cb29sZWFuCQlCb29sZWFuCi0gIEhpTGluayBldGVybUNvbG9yCQlOdW1iZXIKLSAgSGlMaW5rIGV0ZXJtUHJlUHJvYwkJUHJlUHJvYwotICBIaUxpbmsgZXRlcm1GdW5jdGlvbnMgICAgCUZ1bmN0aW9uCi0gIEhpTGluayBldGVybUtleU1vZAkJU3BlY2lhbAotICBIaUxpbmsgZXRlcm1Db250ZXh0CQlLZXl3b3JkCi0gIEhpTGluayBldGVybU9wdGlvbgkJS2V5d29yZAotICBIaUxpbmsgZXRlcm1UeXBlCQlUeXBlCi0gIEhpTGluayBldGVybUNvbG9yT3B0aW9ucwlLZXl3b3JkCi0gIEhpTGluayBldGVybUF0dHJPcHRpb25zCUtleXdvcmQKLSAgSGlMaW5rIGV0ZXJtSUNsYXNzT3B0aW9ucwlLZXl3b3JkCi0gIEhpTGluayBldGVybUltYWdlVHlwZXMJVHlwZQotICBIaUxpbmsgZXRlcm1JbWFnZU1vZGVzCVR5cGUKLSAgSGlMaW5rIGV0ZXJtSW1hZ2VNb2Rlc0FsbG93CUtleXdvcmQKLSAgSGlMaW5rIGV0ZXJtSW1hZ2VPcHRpb25zCUtleXdvcmQKLSAgSGlMaW5rIGV0ZXJtTWVudU9wdGlvbnMJS2V5d29yZAotICBIaUxpbmsgZXRlcm1NZW51SXRlbU9wdGlvbnMJS2V5d29yZAotICBIaUxpbmsgZXRlcm1BY3Rpb25EZWYJVHlwZQotICBIaUxpbmsgZXRlcm1BY3Rpb25zT3B0aW9ucwlLZXl3b3JkCi0gIEhpTGluayBldGVybUJ1dHRvbkRlZglUeXBlCi0gIEhpTGluayBldGVybUJ1dHRvbk9wdGlvbnMJS2V5d29yZAotICBIaUxpbmsgZXRlcm1NdWx0aU9wdGlvbnMJS2V5d29yZAotICBIaUxpbmsgZXRlcm1YaW1PcHRpb25zCUtleXdvcmQKLSAgSGlMaW5rIGV0ZXJtVG9nT3B0aW9ucwlLZXl3b3JkCi0gIEhpTGluayBldGVybUtleWJvYXJkT3B0aW9ucwlLZXl3b3JkCi0gIEhpTGluayBldGVybU1pc2NPcHRpb25zCUtleXdvcmQKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayBldGVybVRvZG8gICAgICAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgZXRlcm1Db21tZW50ICAgICAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIGV0ZXJtTWFnaWMgICAgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBldGVybU51bWJlciAgICAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBldGVybVN0cmluZyAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBldGVybUJvb2xlYW4gICAgICAgICAgQm9vbGVhbgoraGkgZGVmIGxpbmsgZXRlcm1QcmVQcm9jICAgICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIGV0ZXJtRnVuY3Rpb25zICAgICAgICBGdW5jdGlvbgoraGkgZGVmIGxpbmsgZXRlcm1LZXlNb2QgICAgICAgICAgIENvbnN0YW50CitoaSBkZWYgbGluayBldGVybU9wdGlvbiAgICAgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgZXRlcm1Db2xvck9wdGlvbnMgICAgIGV0ZXJtT3B0aW9uCitoaSBkZWYgbGluayBldGVybUNvbG9yICAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBldGVybVZpZGVvVHlwZSAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgZXRlcm1Db2xvclR5cGUgICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIGV0ZXJtQ29sb3JOdW1iZXIgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIGV0ZXJtQ29sb3JTcGVjICAgICAgICBldGVybUNvbG9yCitoaSBkZWYgbGluayBldGVybUNvbnRleHQgICAgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgZXRlcm1BdHRyT3B0aW9ucyAgICAgIGV0ZXJtT3B0aW9uCitoaSBkZWYgbGluayBldGVybUdlb21ldHJ5ICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBldGVybVNjcm9sbGJhclR5cGUgICAgVHlwZQoraGkgZGVmIGxpbmsgZXRlcm1Gb250VHlwZSAgICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIGV0ZXJtSUNsYXNzT3B0aW9ucyAgICBldGVybU9wdGlvbgoraGkgZGVmIGxpbmsgZXRlcm1JbWFnZU9wdGlvbnMgICAgIGV0ZXJtT3B0aW9uCitoaSBkZWYgbGluayBldGVybUltYWdlVHlwZXMgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgZXRlcm1JbWFnZU1vZGVzICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIGV0ZXJtSW1hZ2VNb2Rlc0FsbG93ICBLZXl3b3JkCitoaSBkZWYgbGluayBldGVybUltYWdlTW9kZXNSICAgICAgVHlwZQoraGkgZGVmIGxpbmsgZXRlcm1JbWFnZVN0YXRlICAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIGV0ZXJtSW1hZ2VDb2xvckZHICAgICBldGVybUNvbG9yCitoaSBkZWYgbGluayBldGVybUltYWdlQ29sb3JCRyAgICAgZXRlcm1Db2xvcgoraGkgZGVmIGxpbmsgZXRlcm1JbWFnZUdlb20gICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgZXRlcm1JbWFnZUNtb2QgICAgICAgIGV0ZXJtT3B0aW9uCitoaSBkZWYgbGluayBldGVybUltYWdlQnJpZ2h0bmVzcyAgTnVtYmVyCitoaSBkZWYgbGluayBldGVybUltYWdlQ29udHJhc3QgICAgTnVtYmVyCitoaSBkZWYgbGluayBldGVybUltYWdlR2FtbWEgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBldGVybU1lbnVJdGVtT3B0aW9ucyAgZXRlcm1PcHRpb24KK2hpIGRlZiBsaW5rIGV0ZXJtTWVudUl0ZW1BY3Rpb24gICBLZXl3b3JkCitoaSBkZWYgbGluayBldGVybU1lbnVPcHRpb25zICAgICAgZXRlcm1PcHRpb24KK2hpIGRlZiBsaW5rIGV0ZXJtQmluZCAgICAgICAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBldGVybUJpbmRNb2RzICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgZXRlcm1CaW5kVG8gICAgICAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIGV0ZXJtQmluZFR5cGUgICAgICAgICBUeXBlCitoaSBkZWYgbGluayBldGVybUJpbmRQYXJhbSAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBldGVybUJ1dHRvbk9wdGlvbnMgICAgZXRlcm1PcHRpb24KK2hpIGRlZiBsaW5rIGV0ZXJtRG9ja09wdGlvbiAgICAgICBldGVybU9wdGlvbgoraGkgZGVmIGxpbmsgZXRlcm1CdXR0b25UZXh0ICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgZXRlcm1CdXR0b25JY29uICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgZXRlcm1CdXR0b25JY29uRmlsZSAgIFN0cmluZworaGkgZGVmIGxpbmsgZXRlcm1CdXR0b25BY3Rpb24gICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIGV0ZXJtTXVsdGlPcHRpb25zICAgICBldGVybU9wdGlvbgoraGkgZGVmIGxpbmsgZXRlcm1FbmNvZGluZyAgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIGV0ZXJtWGltT3B0aW9ucyAgICAgICBldGVybU9wdGlvbgoraGkgZGVmIGxpbmsgZXRlcm1JbnB1dE1ldGhvZCAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIGV0ZXJtUHJlZWRpdFR5cGUgICAgICBUeXBlCitoaSBkZWYgbGluayBldGVybVRvZ09wdGlvbnMgICAgICAgZXRlcm1PcHRpb24KK2hpIGRlZiBsaW5rIGV0ZXJtS2V5Ym9hcmRPcHRpb25zICBldGVybU9wdGlvbgoraGkgZGVmIGxpbmsgZXRlcm1LZXlzeW0gICAgICAgICAgIENvbnN0YW50CitoaSBkZWYgbGluayBldGVybU1pc2NPcHRpb25zICAgICAgZXRlcm1PcHRpb24KK2hpIGRlZiBsaW5rIGV0ZXJtRVNjcmVlbk9wdGlvbnMgICBldGVybU9wdGlvbgoraGkgZGVmIGxpbmsgZXRlcm1VUkwgICAgICAgICAgICAgIElkZW50aWZpZXIKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZXRlcm0iCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZmV0Y2htYWlsLnZpbSBiL3J1bnRpbWUvc3ludGF4L2ZldGNobWFpbC52aW0KaW5kZXggYzU4NmVlNy4uMTk4YTMxNCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZmV0Y2htYWlsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9mZXRjaG1haWwudmltCkBAIC0xLDg4ICsxLDc0IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIGZldGNobWFpbCgxKSBSQyBGaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2ZldGNobWFpbC8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0wNgotIiBhcmNoLXRhZzoJICAgIDU5ZDhhZGFjLTZlNTktNDVmNi04OGNiLWY5YmExZTAwOWMxZgorIiBMYW5ndWFnZTogICAgICAgICBmZXRjaG1haWwoMSkgUkMgRmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjcKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIHRvZG8KLXN5biBrZXl3b3JkIGZldGNobWFpbFRvZG8JY29udGFpbmVkIEZJWE1FIFRPRE8gWFhYIE5PVEUKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBjb21tZW50cwotc3luIHJlZ2lvbiAgZmV0Y2htYWlsQ29tbWVudAlzdGFydD0iIyIgZW5kPSIkIiBjb250YWlucz1mZXRjaG1haWxUb2RvCitzeW4ga2V5d29yZCBmZXRjaG1haWxUb2RvICAgICAgIGNvbnRhaW5lZCBGSVhNRSBUT0RPIFhYWCBOT1RFCiAKLSIgbnVtYmVycwotc3luIG1hdGNoICAgZmV0Y2htYWlsTnVtYmVyCSJcPFxkXCtcPiIKK3N5biByZWdpb24gIGZldGNobWFpbENvbW1lbnQgICAgc3RhcnQ9JyMnIGVuZD0nJCcgY29udGFpbnM9ZmV0Y2htYWlsVG9kbyxAU3BlbGwKIAotIiBzdHJpbmdzCi1zeW4gcmVnaW9uICBmZXRjaG1haWxTdHJpbmcJc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1mZXRjaG1haWxTdHJpbmdFc2MKLXN5biByZWdpb24gIGZldGNobWFpbFN0cmluZwlzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrIGNvbnRhaW5zPWZldGNobWFpbFN0cmluZ0VzYworc3luIG1hdGNoICAgZmV0Y2htYWlsTnVtYmVyICAgICBkaXNwbGF5ICdcPFxkXCtcPicKIAotIiBlc2NhcGUgY2hhcmFjdGVycyBpbiBzdHJpbmdzCi1zeW4gbWF0Y2ggICBmZXRjaG1haWxTdHJpbmdFc2MJIlxcXChbbnRiXVx8MFxkKlx8eFx4XCtcKSIKK3N5biByZWdpb24gIGZldGNobWFpbFN0cmluZyAgICAgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWZldGNobWFpbFN0cmluZ0VzYworc3luIHJlZ2lvbiAgZmV0Y2htYWlsU3RyaW5nICAgICBzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9ZmV0Y2htYWlsU3RyaW5nRXNjCiAKLSIgc2VydmVyIGVudHJpZXMKLXN5biByZWdpb24gIGZldGNobWFpbEtleXdvcmQJdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1mZXRjaG1haWxLZXl3b3JkIHN0YXJ0PSJcPHBvbGxcfHNraXBcfGRlZmF1bHRzXD4iIGVuZD0iXDxwb2xsXHxza2lwXHxkZWZhdWx0c1w+IiBjb250YWlucz1BTExCVVQsZmV0Y2htYWlsT3B0aW9ucyxmZXRjaG1haWxTZXQKK3N5biBtYXRjaCAgIGZldGNobWFpbFN0cmluZ0VzYyAgY29udGFpbmVkICdcXFwoW250Yl1cfDBcZCpcfHhceFwrXCknCiAKLSIgc2VydmVyIG9wdGlvbnMKLXN5biBrZXl3b3JkIGZldGNobWFpbFNlcnZlck9wdHMJY29udGFpbmVkIHZpYSBwcm90b1tjb2xdIGxvY2FsW2RvbWFpbnNdIHBvcnQgYXV0aFtlbnRpY2F0ZV0KLXN5biBrZXl3b3JkIGZldGNobWFpbFNlcnZlck9wdHMJY29udGFpbmVkIHRpbWVvdXQgZW52ZWxvcGUgcXZpcnR1YWwgYWthIGludGVyZmFjZSBtb25pdG9yCi1zeW4ga2V5d29yZCBmZXRjaG1haWxTZXJ2ZXJPcHRzCWNvbnRhaW5lZCBwbHVnaW4gcGx1Z291dCBkbnMgY2hlY2thbGlhcyB1aWRsIGludGVydmFsIG5ldHNlYwotc3luIGtleXdvcmQgZmV0Y2htYWlsU2VydmVyT3B0cwljb250YWluZWQgcHJpbmNpcGFsIGVzbXRwbmFtZSBlc210cHBhc3N3b3JkCi1zeW4gbWF0Y2ggICBmZXRjaG1haWxTZXJ2ZXJPcHRzCWNvbnRhaW5lZCAiXDxub1xfc1wrXChlbnZlbG9wZVx8ZG5zXHxjaGVja2FsaWFzXHx1aWRsXCkiCitzeW4gcmVnaW9uICBmZXRjaG1haWxLZXl3b3JkICAgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9ZmV0Y2htYWlsS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdcPHBvbGxcfHNraXBcfGRlZmF1bHRzXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdcPHBvbGxcfHNraXBcfGRlZmF1bHRzXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9QUxMQlVULGZldGNobWFpbE9wdGlvbnMsZmV0Y2htYWlsU2V0CiAKLSIgdXNlciBvcHRpb25zCi1zeW4ga2V5d29yZCBmZXRjaG1haWxVc2VyT3B0cwljb250YWluZWQgdXNlcltuYW1lXSBpcyB0byBwYXNzW3dvcmRdIHNzbCBzc2xjZXJ0IHNzbGtleSBzc2xwcm90byBmb2xkZXIKLXN5biBrZXl3b3JkIGZldGNobWFpbFVzZXJPcHRzCWNvbnRhaW5lZCBzbXRwaG9zdCBmZXRjaGRvbWFpbnMgc210cGFkZHJlc3Mgc210cG5hbWUgYW50aXNwYW0gbWRhIGJzbXRwCi1zeW4ga2V5d29yZCBmZXRjaG1haWxVc2VyT3B0cwljb250YWluZWQgcHJlY29ubmVjdCBwb3N0Y29ubmVjdCBrZWVwIGZsdXNoIGZldGNoYWxsIHJld3JpdGUgc3RyaXBjcgotc3luIGtleXdvcmQgZmV0Y2htYWlsVXNlck9wdHMJY29udGFpbmVkIGZvcmNlY3IgcGFzczhiaXRzIGRyb3BzdGF0dXMgZHJvcGRlbGl2ZXJlZCBtaW1lZGVjb2RlIGlkbGUKLXN5biBrZXl3b3JkIGZldGNobWFpbFVzZXJPcHRzCWNvbnRhaW5lZCBsaW1pdCB3YXJuaW5ncyBiYXRjaGxpbWl0IGZldGNobGltaXQgZXhwdW5nZSB0cmFjZXBvbGxzIHByb3BlcnRpZXMKLXN5biBtYXRjaCAgIGZldGNobWFpbFVzZXJPcHRzCWNvbnRhaW5lZCAiXDxub1xfc1wrXChrZWVwXHxmbHVzaFx8ZmV0Y2hhbGxcfHJld3JpdGVcfHN0cmlwY3JcfGZvcmNlY3JcfHBhc3M4Yml0c1x8ZHJvcHN0YXR1c1x8ZHJvcGRlbGl2ZXJlZFx8bWltZWRlY29kZVx8bm9pZGxlXCkiCitzeW4ga2V5d29yZCBmZXRjaG1haWxTZXJ2ZXJPcHRzIGNvbnRhaW5lZCB2aWEgcHJvdG9bY29sXSBsb2NhbFtkb21haW5zXSBwb3J0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYXV0aFtlbnRpY2F0ZV0gdGltZW91dCBlbnZlbG9wZSBxdmlydHVhbCBha2EKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpbnRlcmZhY2UgbW9uaXRvciBwbHVnaW4gcGx1Z291dCBkbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjaGVja2FsaWFzIHVpZGwgaW50ZXJ2YWwgbmV0c2VjIHByaW5jaXBhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVzbXRwbmFtZSBlc210cHBhc3N3b3JkCitzeW4gbWF0Y2ggICBmZXRjaG1haWxTZXJ2ZXJPcHRzIGNvbnRhaW5lZCAnXDxub1xfc1wrXChlbnZlbG9wZVx8ZG5zXHxjaGVja2FsaWFzXHx1aWRsXCknCiAKLXN5biBrZXl3b3JkIGZldGNobWFpbFNwZWNpYWwJY29udGFpbmVkIGhlcmUgdGhlcmUKK3N5biBrZXl3b3JkIGZldGNobWFpbFVzZXJPcHRzICAgY29udGFpbmVkIHVzZXJbbmFtZV0gaXMgdG8gcGFzc1t3b3JkXSBzc2wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzc2xjZXJ0IHNzbGtleSBzc2xwcm90byBmb2xkZXIgc210cGhvc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmZXRjaGRvbWFpbnMgc210cGFkZHJlc3Mgc210cG5hbWUgYW50aXNwYW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtZGEgYnNtdHAgcHJlY29ubmVjdCBwb3N0Y29ubmVjdCBrZWVwIGZsdXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZmV0Y2hhbGwgcmV3cml0ZSBzdHJpcGNyIGZvcmNlY3IgcGFzczhiaXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHJvcHN0YXR1cyBkcm9wZGVsaXZlcmVkIG1pbWVkZWNvZGUgaWRsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxpbWl0IHdhcm5pbmdzIGJhdGNobGltaXQgZmV0Y2hsaW1pdCBleHB1bmdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdHJhY2Vwb2xscyBwcm9wZXJ0aWVzCitzeW4gbWF0Y2ggICBmZXRjaG1haWxVc2VyT3B0cyAgIGNvbnRhaW5lZCAnXDxub1xfc1wrXChrZWVwXHxmbHVzaFx8ZmV0Y2hhbGxcfHJld3JpdGVcfHN0cmlwY3JcfGZvcmNlY3JcfHBhc3M4Yml0c1x8ZHJvcHN0YXR1c1x8ZHJvcGRlbGl2ZXJlZFx8bWltZWRlY29kZVx8bm9pZGxlXCknCiAKK3N5biBrZXl3b3JkIGZldGNobWFpbFNwZWNpYWwgICAgY29udGFpbmVkIGhlcmUgdGhlcmUKIAotIiBub2lzZSBrZXl3b3Jkcwotc3luIGtleXdvcmQgZmV0Y2htYWlsTm9pc2UJYW5kIHdpdGggaGFzIHdhbnRzIG9wdGlvbnMKLXN5biBtYXRjaCAgIGZldGNobWFpbE5vaXNlCSJbOjssXSIKK3N5biBrZXl3b3JkIGZldGNobWFpbE5vaXNlICAgICAgYW5kIHdpdGggaGFzIHdhbnRzIG9wdGlvbnMKK3N5biBtYXRjaCAgIGZldGNobWFpbE5vaXNlICAgICAgZGlzcGxheSAnWzo7LF0nCiAKLSIgb3B0aW9ucwotc3luIGtleXdvcmQgZmV0Y2htYWlsU2V0CW5leHRncm91cD1mZXRjaG1haWxPcHRpb25zIHNraXB3aGl0ZSBza2lwbmwgc2V0CitzeW4ga2V5d29yZCBmZXRjaG1haWxTZXQgICAgICAgIG5leHRncm91cD1mZXRjaG1haWxPcHRpb25zIHNraXB3aGl0ZSBza2lwbmwgc2V0CiAKLXN5biBrZXl3b3JkIGZldGNobWFpbE9wdGlvbnMJZGFlbW9uIHBvc3RtYXN0ZXIgYm91bmNlbWFpbCBzcGFtYm91bmNlIGxvZ2ZpbGUgaWRmaWxlIHN5c2xvZyBub3N5c2xvZyBwcm9wZXJ0aWVzCi1zeW4gbWF0Y2ggICBmZXRjaG1haWxPcHRpb25zCSJcPG5vXF9zXCtcKGJvdW5jZW1haWxcfHNwYW1ib3VuY2VcKSIKK3N5biBrZXl3b3JkIGZldGNobWFpbE9wdGlvbnMgICAgZGFlbW9uIHBvc3RtYXN0ZXIgYm91bmNlbWFpbCBzcGFtYm91bmNlIGxvZ2ZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpZGZpbGUgc3lzbG9nIG5vc3lzbG9nIHByb3BlcnRpZXMKK3N5biBtYXRjaCAgIGZldGNobWFpbE9wdGlvbnMgICAgJ1w8bm9cX3NcK1woYm91bmNlbWFpbFx8c3BhbWJvdW5jZVwpJwogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9mZXRjaG1haWxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZmV0Y2htYWlsX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0KLSAgSGlMaW5rIGZldGNobWFpbENvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgZmV0Y2htYWlsVG9kbwlUb2RvCi0gIEhpTGluayBmZXRjaG1haWxOdW1iZXIJTnVtYmVyCi0gIEhpTGluayBmZXRjaG1haWxTdHJpbmcJU3RyaW5nCi0gIEhpTGluayBmZXRjaG1haWxTdHJpbmdFc2MJU3BlY2lhbENoYXIKLSAgSGlMaW5rIGZldGNobWFpbEtleXdvcmQJS2V5d29yZAotICBIaUxpbmsgZmV0Y2htYWlsU2VydmVyT3B0cwlJZGVudGlmaWVyCi0gIEhpTGluayBmZXRjaG1haWxVc2VyT3B0cwlJZGVudGlmaWVyCi0gIEhpTGluayBmZXRjaG1haWxTcGVjaWFsCVNwZWNpYWwKLSAgSGlMaW5rIGZldGNobWFpbFNldAkJS2V5d29yZAotICBIaUxpbmsgZmV0Y2htYWlsT3B0aW9ucwlJZGVudGlmaWVyCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgoraGkgZGVmIGxpbmsgZmV0Y2htYWlsQ29tbWVudCAgICBDb21tZW50CitoaSBkZWYgbGluayBmZXRjaG1haWxUb2RvICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGZldGNobWFpbE51bWJlciAgICAgTnVtYmVyCitoaSBkZWYgbGluayBmZXRjaG1haWxTdHJpbmcgICAgIFN0cmluZworaGkgZGVmIGxpbmsgZmV0Y2htYWlsU3RyaW5nRXNjICBTcGVjaWFsQ2hhcgoraGkgZGVmIGxpbmsgZmV0Y2htYWlsS2V5d29yZCAgICBLZXl3b3JkCitoaSBkZWYgbGluayBmZXRjaG1haWxTZXJ2ZXJPcHRzIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIGZldGNobWFpbFVzZXJPcHRzICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgZmV0Y2htYWlsU3BlY2lhbCAgICBTcGVjaWFsCitoaSBkZWYgbGluayBmZXRjaG1haWxTZXQgICAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIGZldGNobWFpbE9wdGlvbnMgICAgSWRlbnRpZmllcgogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJmZXRjaG1haWwiCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvZ3BnLnZpbSBiL3J1bnRpbWUvc3ludGF4L2dwZy52aW0KaW5kZXggMjM0MDE5Ni4uYjg0YzMwMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ3BnLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9ncGcudmltCkBAIC0xLDcyICsxLDEwNSBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBHbnVQRyBDb25maWd1cmF0aW9uIEZpbGUuCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL2dwZy8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0wNgotIiBhcmNoLXRhZzoJICAgIDYwMjMwNWY3LWQ4YWUtNDhlZi1hNjhmLTRkNTRmMTJhZjcwYQorIiBMYW5ndWFnZTogICAgICAgICBncGcoMSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLSIgU2V0IGlza2V5d29yZCBzaW5jZSB3ZSBuZWVkIGAtJyAoYW5kIHBvdGVudGlhbGx5IG90aGVycykgaW4ga2V5d29yZHMuCi0iIEZvciB2ZXJzaW9uIDUueDogU2V0IGl0IGdsb2JhbGx5Ci0iIEZvciB2ZXJzaW9uIDYueDogU2V0IGl0IGxvY2FsbHkKLWlmIHZlcnNpb24gPj0gNjAwCi0gIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldGxvY2FsIGlza2V5d29yZD08YXJncz4KLWVsc2UKLSAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0IGlza2V5d29yZD08YXJncz4KLWVuZGlmCi1TZXRJc2sgNDgtNTcsNjUtOTAsOTctMTIyLC0KLWRlbGNvbW1hbmQgU2V0SXNrCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCiAKLSIgY29tbWVudHMKLXN5biByZWdpb24gIGdwZ0NvbW1lbnQJICAgIGNvbnRhaW5lZCBkaXNwbGF5IG9uZWxpbmUgc3RhcnQ9IiMiIGVuZD0iJCIgY29udGFpbnM9Z3BnVG9kbyxncGdJRAorc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsLQogCi0iIHRvZG8KLXN5biBrZXl3b3JkIGdwZ1RvZG8JICAgIGNvbnRhaW5lZCBGSVhNRSBUT0RPIFhYWCBOT1RFCitzeW4ga2V5d29yZCBncGdUb2RvICAgICBjb250YWluZWQgRklYTUUgVE9ETyBYWFggTk9URQogCi0iIGlkcwotc3luIG1hdGNoICAgZ3BnSUQJICAgIGNvbnRhaW5lZCBkaXNwbGF5ICJcPFwoMHhcKVw9XHhcezgsfVw+Igorc3luIHJlZ2lvbiAgZ3BnQ29tbWVudCAgY29udGFpbmVkIGRpc3BsYXkgb25lbGluZSBzdGFydD0nIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1ncGdUb2RvLGdwZ0lELEBTcGVsbAogCi1zeW4gbWF0Y2ggICBncGdCZWdpbgkgICAgIl4iIHNraXB3aGl0ZSBuZXh0Z3JvdXA9Z3BnQ29tbWVudCxncGdPcHRpb24sZ3BnQ29tbWFuZAorc3luIG1hdGNoICAgZ3BnSUQgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1w8XCgweFwpXD1ceFx7OCx9XD4nCiAKLSIgY29tbWFuZHMgdGhhdCB0YWtlIGFyZ3MKLXN5biBrZXl3b3JkIGdwZ0NvbW1hbmQgICAgICBjb250YWluZWQgc2tpcHdoaXRlIG5leHRncm91cD1ncGdBcmcgY2hlY2stc2lncyBkZWNyeXB0IGRlY3J5cHQtZmlsZXMgZGVsZXRlLWtleSBkZWxldGUtc2VjcmV0LWFuZC1wdWJsaWMta2V5IGRlbGV0ZS1zZWNyZXQta2V5IGVkaXQta2V5IGVuY3J5cHQtZmlsZXMgZXhwb3J0IGV4cG9ydC1hbGwgZXhwb3J0LW93bmVydHJ1c3QgZXhwb3J0LXNlY3JldC1rZXlzIGV4cG9ydC1zZWNyZXQtc3Via2V5cyBmYXN0LWltcG9ydCBmaW5nZXJwcmludCBnZW4tcHJpbWUgZ2VuLXJhbmRvbSBpbXBvcnQgaW1wb3J0LW93bmVydHJ1c3QgbGlzdC1rZXlzIGxpc3QtcHVibGljLWtleXMgbGlzdC1zZWNyZXQta2V5cyBsaXN0LXNpZ3MgbHNpZ24ta2V5IG5yc2lnbi1rZXkgcHJpbnQtbWQgcHJpbnQtbWRzIHJlY3Yta2V5cyBzZWFyY2gta2V5cyBzZW5kLWtleXMgc2lnbi1rZXkgdmVyaWZ5IHZlcmlmeS1maWxlcwotIiBjb21tYW5kcyB0aGF0IHRha2Ugbm8gYXJncwotc3luIGtleXdvcmQgZ3BnQ29tbWFuZCAgICAgIGNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPWdwZ0FyZ0Vycm9yIGNoZWNrLXRydXN0ZGIgY2xlYXJzaWduIGRlc2lnLXJldm9rZSBkZXRhY2gtc2lnbiBlbmNyeXB0IGdlbi1rZXkgZ2VuLXJldm9rZSBoZWxwIGxpc3QtcGFja2V0cyByZWJ1aWxkLWtleWRiLWNhY2hlcyBzaWduIHN0b3JlIHN5bW1ldHJpYyB1cGRhdGUtdHJ1c3RkYiB2ZXJzaW9uIHdhcnJhbnR5CitzeW4gbWF0Y2ggICBncGdCZWdpbiAgICBkaXNwbGF5ICdeJyBza2lwd2hpdGUgbmV4dGdyb3VwPWdwZ0NvbW1lbnQsZ3BnT3B0aW9uLGdwZ0NvbW1hbmQKIAotIiBvcHRpb25zIHRoYXQgdGFrZSBhcmdzCi1zeW4ga2V5d29yZCBncGdPcHRpb24gICAgICAgY29udGFpbmVkIHNraXB3aGl0ZSBuZXh0Z3JvdXA9Z3BnQXJnIGF0dHJpYnV0ZS1mZCBjZXJ0LWRpZ2VzdC1hbGdvIGNoYXJzZXQgY2lwaGVyLWFsZ28gY29tbWFuZC1mZCBjb21tZW50IGNvbXBsZXRlcy1uZWVkZWQgY29tcHJlc3MgY29tcHJlc3MtYWxnbyBkZWJ1ZyBkZWZhdWx0LWNlcnQtY2hlY2stbGV2ZWwgZGVmYXVsdC1rZXkgZGVmYXVsdC1wcmVmZXJlbmNlLWxpc3QgZGVmYXVsdC1yZWNpcGllbnQgZGlnZXN0LWFsZ28gZGlzYWJsZS1jaXBoZXItYWxnbyBkaXNhYmxlLXB1YmtleS1hbGdvIGVuY3J5cHQtdG8gZXhlYy1wYXRoIGV4cG9ydC1vcHRpb25zIGdyb3VwIGhvbWVkaXIgaW1wb3J0LW9wdGlvbnMga2V5cmluZyBrZXlzZXJ2ZXIga2V5c2VydmVyLW9wdGlvbnMgbG9hZC1leHRlbnNpb24gbG9jYWwtdXNlciBsb2dnZXItZmQgbWFyZ2luYWxzLW5lZWRlZCBtYXgtY2VydC1kZXB0aCBub3RhdGlvbi1kYXRhIG9wdGlvbnMgb3V0cHV0IG92ZXJyaWRlLXNlc3Npb24ta2V5IHBhc3NwaHJhc2UtZmQgcGVyc29uYWwtY2lwaGVyLXByZWZlcmVuY2VzIHBlcnNvbmFsLWNvbXByZXNzLXByZWZlcmVuY2VzIHBlcnNvbmFsLWRpZ2VzdC1wcmVmZXJlbmNlcyBwaG90by12aWV3ZXIgcmVjaXBpZW50IHMyay1jaXBoZXItYWxnbyBzMmstZGlnZXN0LWFsZ28gczJrLW1vZGUgc2VjcmV0LWtleXJpbmcgc2V0LWZpbGVuYW1lIHNldC1wb2xpY3ktdXJsIHN0YXR1cy1mZCB0cnVzdGVkLWtleQotIiBvcHRpb25zIHRoYXQgdGFrZSBubyBhcmdzCi1zeW4ga2V5d29yZCBncGdPcHRpb24gICAgICAgY29udGFpbmVkIHNraXB3aGl0ZSBuZXh0Z3JvdXA9Z3BnQXJnRXJyb3IgYWxsb3ctZnJlZWZvcm0tdWlkIGFsbG93LW5vbi1zZWxmc2lnbmVkLXVpZCBhbGxvdy1zZWNyZXQta2V5LWltcG9ydCBhbHdheXMtdHJ1c3QgYXJtb3IgYXNrLWNlcnQtZXhwaXJlIGFzay1zaWctZXhwaXJlIGF1dG8tY2hlY2stdHJ1c3RkYiBiYXRjaCBkZWJ1Zy1hbGwgZGVmYXVsdC1jb21tZW50IGRlZmF1bHQtcmVjaXBpZW50LXNlbGYgZHJ5LXJ1biBlbWl0LXZlcnNpb24gZW11bGF0ZS1tZC1lbmNvZGUtYnVnIGVuYWJsZS1zcGVjaWFsLWZpbGVuYW1lcyBlc2NhcGUtZnJvbS1saW5lcyBleHBlcnQgZmFzdC1saXN0LW1vZGUgZml4ZWQtbGlzdC1tb2RlIGZvci15b3VyLWV5ZXMtb25seSBmb3JjZS1tZGMgZm9yY2UtdjMtc2lncyBmb3JjZS12NC1jZXJ0cyBncGctYWdlbnQtaW5mbyBpZ25vcmUtY3JjLWVycm9yIGlnbm9yZS1tZGMtZXJyb3IgaWdub3JlLXRpbWUtY29uZmxpY3QgaWdub3JlLXZhbGlkLWZyb20gaW50ZXJhY3RpdmUgbGlzdC1vbmx5IGxvY2stbXVsdGlwbGUgbG9jay1uZXZlciBsb2NrLW9uY2UgbWVyZ2Utb25seSBubyBuby1hbGxvdy1ub24tc2VsZnNpZ25lZC11aWQgbm8tYXJtb3Igbm8tYXNrLWNlcnQtZXhwaXJlIG5vLWFzay1zaWctZXhwaXJlIG5vLWF1dG8tY2hlY2stdHJ1c3RkYiBuby1iYXRjaCBuby1jb21tZW50IG5vLWRlZmF1bHQta2V5cmluZyBuby1kZWZhdWx0LXJlY2lwaWVudCBuby1lbmNyeXB0LXRvIG5vLWV4cGVuc2l2ZS10cnVzdC1jaGVja3Mgbm8tZXhwZXJ0IG5vLWZvci15b3VyLWV5ZXMtb25seSBuby1mb3JjZS12My1zaWdzIG5vLWZvcmNlLXY0LWNlcnRzIG5vLWdyZWV0aW5nIG5vLWxpdGVyYWwgbm8tbWRjLXdhcm5pbmcgbm8tb3B0aW9ucyBuby1wZXJtaXNzaW9uLXdhcm5pbmcgbm8tcGdwMiBuby1wZ3A2IG5vLXBncDcgbm8tcmFuZG9tLXNlZWQtZmlsZSBuby1zZWNtZW0td2FybmluZyBuby1zaG93LW5vdGF0aW9uIG5vLXNob3ctcGhvdG9zIG5vLXNob3ctcG9saWN5LXVybCBuby1zaWctY2FjaGUgbm8tc2lnLWNyZWF0ZS1jaGVjayBuby1zay1jb21tZW50cyBuby10dHkgbm8tdXRmOC1zdHJpbmdzIG5vLXZlcmJvc2Ugbm8tdmVyc2lvbiBub3QtZGFzaC1lc2NhcGVkIG9wZW5wZ3AgcGdwMiBwZ3A2IHBncDcgcHJlc2VydmUtcGVybWlzc2lvbnMgcXVpZXQgcmZjMTk5MSBzZXQtZmlsZXNpemUgc2hvdy1rZXlyaW5nIHNob3ctbm90YXRpb24gc2hvdy1waG90b3Mgc2hvdy1wb2xpY3ktdXJsIHNob3ctc2Vzc2lvbi1rZXkgc2ltcGxlLXNrLWNoZWNrc3VtIHNrLWNvbW1lbnRzIHNraXAtdmVyaWZ5IHRleHRtb2RlIHRocm93LWtleWlkIHRyeS1hbGwtc2VjcmV0cyB1c2UtYWdlbnQgdXNlLWVtYmVkZGVkLWZpbGVuYW1lIHV0Zjgtc3RyaW5ncyB2ZXJib3NlIHdpdGgtY29sb25zIHdpdGgtZmluZ2VycHJpbnQgd2l0aC1rZXktZGF0YSB5ZXMKK3N5biBrZXl3b3JkIGdwZ0NvbW1hbmQgIGNvbnRhaW5lZCBza2lwd2hpdGUgbmV4dGdyb3VwPWdwZ0FyZworICAgICAgICAgICAgICAgICAgICAgICAgXCBjaGVjay1zaWdzIGRlY3J5cHQgZGVjcnlwdC1maWxlcyBkZWxldGUta2V5CisgICAgICAgICAgICAgICAgICAgICAgICBcIGRlbGV0ZS1zZWNyZXQtYW5kLXB1YmxpYy1rZXkgZGVsZXRlLXNlY3JldC1rZXkKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgZWRpdC1rZXkgZW5jcnlwdC1maWxlcyBleHBvcnQgZXhwb3J0LWFsbAorICAgICAgICAgICAgICAgICAgICAgICAgXCBleHBvcnQtb3duZXJ0cnVzdCBleHBvcnQtc2VjcmV0LWtleXMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgZXhwb3J0LXNlY3JldC1zdWJrZXlzIGZhc3QtaW1wb3J0IGZpbmdlcnByaW50CisgICAgICAgICAgICAgICAgICAgICAgICBcIGdlbi1wcmltZSBnZW4tcmFuZG9tIGltcG9ydCBpbXBvcnQtb3duZXJ0cnVzdAorICAgICAgICAgICAgICAgICAgICAgICAgXCBsaXN0LWtleXMgbGlzdC1wdWJsaWMta2V5cyBsaXN0LXNlY3JldC1rZXlzCisgICAgICAgICAgICAgICAgICAgICAgICBcIGxpc3Qtc2lncyBsc2lnbi1rZXkgbnJzaWduLWtleSBwcmludC1tZCBwcmludC1tZHMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgcmVjdi1rZXlzIHNlYXJjaC1rZXlzIHNlbmQta2V5cyBzaWduLWtleSB2ZXJpZnkKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgdmVyaWZ5LWZpbGVzCitzeW4ga2V5d29yZCBncGdDb21tYW5kICBjb250YWluZWQgc2tpcHdoaXRlIG5leHRncm91cD1ncGdBcmdFcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgXCBjaGVjay10cnVzdGRiIGNsZWFyc2lnbiBkZXNpZy1yZXZva2UgZGV0YWNoLXNpZ24KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5jcnlwdCBnZW4ta2V5IGdlbi1yZXZva2UgaGVscCBsaXN0LXBhY2tldHMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgcmVidWlsZC1rZXlkYi1jYWNoZXMgc2lnbiBzdG9yZSBzeW1tZXRyaWMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgdXBkYXRlLXRydXN0ZGIgdmVyc2lvbiB3YXJyYW50eQogCi0iIGFyZ3VtZW50cyB0byBjb21tYW5kcyBhbmQgb3B0aW9ucwotc3luIG1hdGNoICAgZ3BnQXJnICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICJcU1wrXChcc1wrXFNcK1wpKiIgY29udGFpbnM9Z3BnSUQKLXN5biBtYXRjaCAgIGdwZ0FyZ0Vycm9yICAgICBjb250YWluZWQgZGlzcGxheSAiXFNcK1woXHNcK1xTXCtcKSoiCitzeW4ga2V5d29yZCBncGdPcHRpb24gICBjb250YWluZWQgc2tpcHdoaXRlIG5leHRncm91cD1ncGdBcmcKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgYXR0cmlidXRlLWZkIGNlcnQtZGlnZXN0LWFsZ28gY2hhcnNldCBjaXBoZXItYWxnbworICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21tYW5kLWZkIGNvbW1lbnQgY29tcGxldGVzLW5lZWRlZCBjb21wcmVzcworICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21wcmVzcy1hbGdvIGRlYnVnIGRlZmF1bHQtY2VydC1jaGVjay1sZXZlbAorICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWZhdWx0LWtleSBkZWZhdWx0LXByZWZlcmVuY2UtbGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWZhdWx0LXJlY2lwaWVudCBkaWdlc3QtYWxnbyBkaXNhYmxlLWNpcGhlci1hbGdvCisgICAgICAgICAgICAgICAgICAgICAgICBcIGRpc2FibGUtcHVia2V5LWFsZ28gZW5jcnlwdC10byBleGVjLXBhdGgKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgZXhwb3J0LW9wdGlvbnMgZ3JvdXAgaG9tZWRpciBpbXBvcnQtb3B0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgXCBrZXlyaW5nIGtleXNlcnZlciBrZXlzZXJ2ZXItb3B0aW9ucyBsb2FkLWV4dGVuc2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCBsb2NhbC11c2VyIGxvZ2dlci1mZCBtYXJnaW5hbHMtbmVlZGVkIG1heC1jZXJ0LWRlcHRoCisgICAgICAgICAgICAgICAgICAgICAgICBcIG5vdGF0aW9uLWRhdGEgb3B0aW9ucyBvdXRwdXQgb3ZlcnJpZGUtc2Vzc2lvbi1rZXkKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFzc3BocmFzZS1mZCBwZXJzb25hbC1jaXBoZXItcHJlZmVyZW5jZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgcGVyc29uYWwtY29tcHJlc3MtcHJlZmVyZW5jZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgcGVyc29uYWwtZGlnZXN0LXByZWZlcmVuY2VzIHBob3RvLXZpZXdlcgorICAgICAgICAgICAgICAgICAgICAgICAgXCByZWNpcGllbnQgczJrLWNpcGhlci1hbGdvIHMyay1kaWdlc3QtYWxnbyBzMmstbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgXCBzZWNyZXQta2V5cmluZyBzZXQtZmlsZW5hbWUgc2V0LXBvbGljeS11cmwgc3RhdHVzLWZkCisgICAgICAgICAgICAgICAgICAgICAgICBcIHRydXN0ZWQta2V5CitzeW4ga2V5d29yZCBncGdPcHRpb24gICBjb250YWluZWQgc2tpcHdoaXRlIG5leHRncm91cD1ncGdBcmdFcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgXCBhbGxvdy1mcmVlZm9ybS11aWQgYWxsb3ctbm9uLXNlbGZzaWduZWQtdWlkCisgICAgICAgICAgICAgICAgICAgICAgICBcIGFsbG93LXNlY3JldC1rZXktaW1wb3J0IGFsd2F5cy10cnVzdAorICAgICAgICAgICAgICAgICAgICAgICAgXCBhcm1vciBhc2stY2VydC1leHBpcmUgYXNrLXNpZy1leHBpcmUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgYXV0by1jaGVjay10cnVzdGRiIGJhdGNoIGRlYnVnLWFsbCBkZWZhdWx0LWNvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgZGVmYXVsdC1yZWNpcGllbnQtc2VsZiBkcnktcnVuIGVtaXQtdmVyc2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCBlbXVsYXRlLW1kLWVuY29kZS1idWcgZW5hYmxlLXNwZWNpYWwtZmlsZW5hbWVzCisgICAgICAgICAgICAgICAgICAgICAgICBcIGVzY2FwZS1mcm9tLWxpbmVzIGV4cGVydCBmYXN0LWxpc3QtbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgXCBmaXhlZC1saXN0LW1vZGUgZm9yLXlvdXItZXllcy1vbmx5CisgICAgICAgICAgICAgICAgICAgICAgICBcIGZvcmNlLW1kYyBmb3JjZS12My1zaWdzIGZvcmNlLXY0LWNlcnRzCisgICAgICAgICAgICAgICAgICAgICAgICBcIGdwZy1hZ2VudC1pbmZvIGlnbm9yZS1jcmMtZXJyb3IgaWdub3JlLW1kYy1lcnJvcgorICAgICAgICAgICAgICAgICAgICAgICAgXCBpZ25vcmUtdGltZS1jb25mbGljdCBpZ25vcmUtdmFsaWQtZnJvbSBpbnRlcmFjdGl2ZQorICAgICAgICAgICAgICAgICAgICAgICAgXCBsaXN0LW9ubHkgbG9jay1tdWx0aXBsZSBsb2NrLW5ldmVyIGxvY2stb25jZQorICAgICAgICAgICAgICAgICAgICAgICAgXCBtZXJnZS1vbmx5IG5vIG5vLWFsbG93LW5vbi1zZWxmc2lnbmVkLXVpZAorICAgICAgICAgICAgICAgICAgICAgICAgXCBuby1hcm1vciBuby1hc2stY2VydC1leHBpcmUgbm8tYXNrLXNpZy1leHBpcmUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgbm8tYXV0by1jaGVjay10cnVzdGRiIG5vLWJhdGNoIG5vLWNvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgbm8tZGVmYXVsdC1rZXlyaW5nIG5vLWRlZmF1bHQtcmVjaXBpZW50CisgICAgICAgICAgICAgICAgICAgICAgICBcIG5vLWVuY3J5cHQtdG8gbm8tZXhwZW5zaXZlLXRydXN0LWNoZWNrcworICAgICAgICAgICAgICAgICAgICAgICAgXCBuby1leHBlcnQgbm8tZm9yLXlvdXItZXllcy1vbmx5IG5vLWZvcmNlLXYzLXNpZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgbm8tZm9yY2UtdjQtY2VydHMgbm8tZ3JlZXRpbmcgbm8tbGl0ZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgXCBuby1tZGMtd2FybmluZyBuby1vcHRpb25zIG5vLXBlcm1pc3Npb24td2FybmluZworICAgICAgICAgICAgICAgICAgICAgICAgXCBuby1wZ3AyIG5vLXBncDYgbm8tcGdwNyBuby1yYW5kb20tc2VlZC1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICBcIG5vLXNlY21lbS13YXJuaW5nIG5vLXNob3ctbm90YXRpb24gbm8tc2hvdy1waG90b3MKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgbm8tc2hvdy1wb2xpY3ktdXJsIG5vLXNpZy1jYWNoZSBuby1zaWctY3JlYXRlLWNoZWNrCisgICAgICAgICAgICAgICAgICAgICAgICBcIG5vLXNrLWNvbW1lbnRzIG5vLXR0eSBuby11dGY4LXN0cmluZ3Mgbm8tdmVyYm9zZQorICAgICAgICAgICAgICAgICAgICAgICAgXCBuby12ZXJzaW9uIG5vdC1kYXNoLWVzY2FwZWQgb3BlbnBncCBwZ3AyCisgICAgICAgICAgICAgICAgICAgICAgICBcIHBncDYgcGdwNyBwcmVzZXJ2ZS1wZXJtaXNzaW9ucyBxdWlldCByZmMxOTkxCisgICAgICAgICAgICAgICAgICAgICAgICBcIHNldC1maWxlc2l6ZSBzaG93LWtleXJpbmcgc2hvdy1ub3RhdGlvbiBzaG93LXBob3RvcworICAgICAgICAgICAgICAgICAgICAgICAgXCBzaG93LXBvbGljeS11cmwgc2hvdy1zZXNzaW9uLWtleSBzaW1wbGUtc2stY2hlY2tzdW0KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgc2stY29tbWVudHMgc2tpcC12ZXJpZnkgdGV4dG1vZGUgdGhyb3cta2V5aWQKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgdHJ5LWFsbC1zZWNyZXRzIHVzZS1hZ2VudCB1c2UtZW1iZWRkZWQtZmlsZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgdXRmOC1zdHJpbmdzIHZlcmJvc2Ugd2l0aC1jb2xvbnMgd2l0aC1maW5nZXJwcmludAorICAgICAgICAgICAgICAgICAgICAgICAgXCB3aXRoLWtleS1kYXRhIHllcwogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ncGdfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfZ3BnX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitzeW4gbWF0Y2ggICBncGdBcmcgICAgICBjb250YWluZWQgZGlzcGxheSAnXFNcK1woXHNcK1xTXCtcKSonIGNvbnRhaW5zPWdwZ0lECitzeW4gbWF0Y2ggICBncGdBcmdFcnJvciBjb250YWluZWQgZGlzcGxheSAnXFNcK1woXHNcK1xTXCtcKSonCiAKLSAgSGlMaW5rIGdwZ0NvbW1lbnQgICBDb21tZW50Ci0gIEhpTGluayBncGdUb2RvICAgICAgVG9kbwotICBIaUxpbmsgZ3BnSUQgICAgICAgIE51bWJlcgotICBIaUxpbmsgZ3BnT3B0aW9uICAgIEtleXdvcmQKLSAgSGlMaW5rIGdwZ0NvbW1hbmQgICBFcnJvcgotICBIaUxpbmsgZ3BnQXJnRXJyb3IgIEVycm9yCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgoraGkgZGVmIGxpbmsgZ3BnQ29tbWVudCAgQ29tbWVudAoraGkgZGVmIGxpbmsgZ3BnVG9kbyAgICAgVG9kbworaGkgZGVmIGxpbmsgZ3BnSUQgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBncGdPcHRpb24gICBLZXl3b3JkCitoaSBkZWYgbGluayBncGdDb21tYW5kICBFcnJvcgoraGkgZGVmIGxpbmsgZ3BnQXJnRXJyb3IgRXJyb3IKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAiZ3BnIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2dydWIudmltIGIvcnVudGltZS9zeW50YXgvZ3J1Yi52aW0KaW5kZXggZTg3YThkOS4uMmUwNGQ4NyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvZ3J1Yi52aW0KKysrIGIvcnVudGltZS9zeW50YXgvZ3J1Yi52aW0KQEAgLTEsNzcgKzEsOTMgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgR1JVQiBDb25maWd1cmF0aW9uIEZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvZ3J1Yi8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0wNgotIiBhcmNoLXRhZzoJICAgIDdhNTZkZGQwLWU1NTEtNDRiYy1iOGMwLTIzNWZlZGJkZjNjMAorIiBMYW5ndWFnZTogICAgICAgICBncnViKDgpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIGNvbW1lbnRzCi1zeW4gcmVnaW9uICBncnViQ29tbWVudAkgICAgZGlzcGxheSBvbmVsaW5lIHN0YXJ0PSJeIyIgZW5kPSIkIiBjb250YWlucz1ncnViVG9kbworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIHRvZG8KLXN5biBrZXl3b3JkIGdydWJUb2RvCSAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorc3luIGtleXdvcmQgZ3J1YlRvZG8gICAgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKIAotIiBkZXZpY2VzCi1zeW4gbWF0Y2ggICBncnViRGV2aWNlCSAgICBkaXNwbGF5ICIoXChbZmhdZFxkXHxcZFwrXHwweFx4XCtcKVwoLFxkXCtcKVw9XCgsXGxcKVw9KSIKK3N5biByZWdpb24gIGdydWJDb21tZW50ICAgICAgIGRpc3BsYXkgb25lbGluZSBzdGFydD0nXiMnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9Z3J1YlRvZG8sQFNwZWxsCiAKLSIgYmxvY2sgbGlzdHMKLXN5biBtYXRjaCAgIGdydWJCbG9jawkgICAgZGlzcGxheSAiXChcZFwrXClcPStcZFwrXCgsXChcZFwrXClcPStcZFwrXCkqIgorc3luIG1hdGNoICAgZ3J1YkRldmljZSAgICAgICAgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnKFwoW2ZoXWRcZFx8XGRcK1x8MHhceFwrXClcKCxcZFwrXClcPVwoLFxsXClcPSknCiAKLSIgbnVtYmVycwotc3luIG1hdGNoICAgZ3J1Yk51bWJlcnMJICAgIGRpc3BsYXkgIitcPVw8XGRcK1x8MHhceFwrXD4iCitzeW4gbWF0Y2ggICBncnViQmxvY2sgICAgICAgICBkaXNwbGF5ICdcKFxkXCtcKVw9K1xkXCtcKCxcKFxkXCtcKVw9K1xkXCtcKSonCiAKLXN5biBtYXRjaCAgZ3J1YkJlZ2luCSAgICBkaXNwbGF5ICJeIiBuZXh0Z3JvdXA9Z3J1YkNvbW1hbmQsZ3J1YkNvbW1lbnQgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICBncnViTnVtYmVycyAgICAgICBkaXNwbGF5ICcrXD1cPFxkXCtcfDB4XHhcK1w+JwogCi0iIG1lbnUgY29tbWFuZHMKLXN5biBrZXl3b3JkIGdydWJDb21tYW5kCSAgICBjb250YWluZWQgZGVmYXVsdCBmYWxsYmFjayBoaWRkZW5tZW51IHRpbWVvdXQgdGl0bGUKK3N5biBtYXRjaCAgIGdydWJCZWdpbiAgICAgICAgIGRpc3BsYXkgJ14nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1AZ3J1YkNvbW1hbmRzLGdydWJDb21tZW50IHNraXB3aGl0ZQogCi0iIGdlbmVyYWwgY29tbWFuZHMKLXN5biBrZXl3b3JkIGdydWJDb21tYW5kCSAgICBjb250YWluZWQgYm9vdHAgY29sb3IgZGV2aWNlIGRoY3AgaGlkZSBpZmNvbmZpZyBwYWdlcgotc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBwYXJ0bmV3IHBhcnR0eXBlIHBhc3N3b3JkIHJhcnAgc2VyaWFsIHNldGtleQotc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCB0ZXJtaW5hbCB0ZnRwc2VydmVyIHVuaGlkZSBibG9ja2xpc3QgYm9vdCBjYXQKLXN5biBrZXl3b3JkIGdydWJDb21tYW5kCSAgICBjb250YWluZWQgY2hhaW5sb2FkZXIgY21wIGNvbmZpZ2ZpbGUgZGVidWcgZGlzcGxheWFwbQotc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBkaXNwbGF5bWVtIGVtYmVkIGZpbmQgZnN0ZXN0IGdlb21ldHJ5IGhhbHQgaGVscAotc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBpbXBzcHJvYmUgaW5pdHJkIGluc3RhbGwgaW9wcm9iZSBrZXJuZWwgbG9jawotc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBtYWtlYWN0aXZlIG1hcCBtZDVjcnlwdCBtb2R1bGUgbW9kdWxlbm91bnppcCBwYXVzZQotc3luIGtleXdvcmQgZ3J1YkNvbW1hbmQJICAgIGNvbnRhaW5lZCBxdWl0IHJlYm9vdCByZWFkIHJvb3Qgcm9vdG5vdmVyaWZ5IHNhdmVkZWZhdWx0Ci1zeW4ga2V5d29yZCBncnViQ29tbWFuZAkgICAgY29udGFpbmVkIHNldHVwIHRlc3Rsb2FkIHRlc3R2YmUgdXBwZXJtZW0gdmJlcHJvYmUKK3N5biBjbHVzdGVyIGdydWJDb21tYW5kcyAgICAgIGNvbnRhaW5zPWdydWJDb21tYW5kLGdydWJUaXRsZUNvbW1hbmQKIAotIiBjb2xvcnMKLXN5biBtYXRjaCAgIGdydWJDb2xvcgkgICAgIlwoYmxpbmstXClcPVwoYmxhY2tcfGJsdWVcfGdyZWVuXHxjeWFuXHxyZWRcfG1hZ2VudGFcfGJyb3duXHx5ZWxsb3dcfHdoaXRlXCkiCi1zeW4gbWF0Y2ggICBncnViQ29sb3IJICAgICJcPFwoYmxpbmstXClcPWxpZ2h0LVwoZ3JheVx8Ymx1ZVx8Z3JlZW5cfGN5YW5cfHJlZFx8bWFnZW50YVwpIgotc3luIG1hdGNoICAgZ3J1YkNvbG9yCSAgICAiXDxcKGJsaW5rLVwpXD1kYXJrLWdyYXkiCitzeW4ga2V5d29yZCBncnViQ29tbWFuZCAgICAgICBjb250YWluZWQgZGVmYXVsdCBmYWxsYmFjayBoaWRkZW5tZW51IHRpbWVvdXQKIAotIiBzcGVjaWFscwotc3luIGtleXdvcmQgZ3J1YlNwZWNpYWwJICAgIHNhdmVkCitzeW4ga2V5d29yZCBncnViVGl0bGVDb21tYW5kICBjb250YWluZWQgdGl0bGUgbmV4dGdyb3VwPWdydWJUaXRsZSBza2lwd2hpdGUKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfZ3J1Yl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9ncnViX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitzeW4gbWF0Y2ggICBncnViVGl0bGUgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnLionCiAKLSAgSGlMaW5rIGdydWJDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGdydWJUb2RvCVRvZG8KLSAgSGlMaW5rIGdydWJOdW1iZXJzCU51bWJlcgotICBIaUxpbmsgZ3J1YkRldmljZQlJZGVudGlmaWVyCi0gIEhpTGluayBncnViQmxvY2sJSWRlbnRpZmllcgotICBIaUxpbmsgZ3J1YkNvbW1hbmQJS2V5d29yZAotICBIaUxpbmsgZ3J1YkNvbG9yCUlkZW50aWZpZXIKLSAgSGlMaW5rIGdydWJTcGVjaWFsCVNwZWNpYWwKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitzeW4ga2V5d29yZCBncnViQ29tbWFuZCAgICAgICBjb250YWluZWQgYm9vdHAgY29sb3IgZGV2aWNlIGRoY3AgaGlkZSBpZmNvbmZpZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwYWdlciBwYXJ0bmV3IHBhcnR0eXBlIHBhc3N3b3JkIHJhcnAgc2VyaWFsIHNldGtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0ZXJtaW5hbCB0ZnRwc2VydmVyIHVuaGlkZSBibG9ja2xpc3QgYm9vdCBjYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY2hhaW5sb2FkZXIgY21wIGNvbmZpZ2ZpbGUgZGVidWcgZGlzcGxheWFwbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXNwbGF5bWVtIGVtYmVkIGZpbmQgZnN0ZXN0IGdlb21ldHJ5IGhhbHQgaGVscAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpbXBzcHJvYmUgaW5pdHJkIGluc3RhbGwgaW9wcm9iZSBrZXJuZWwgbG9jaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYWtlYWN0aXZlIG1hcCBtZDVjcnlwdCBtb2R1bGUgbW9kdWxlbm91bnppcCBwYXVzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBxdWl0IHJlYm9vdCByZWFkIHJvb3Qgcm9vdG5vdmVyaWZ5IHNhdmVkZWZhdWx0IHNldHVwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHRlc3Rsb2FkIHRlc3R2YmUgdXBwZXJtZW0gdmJlcHJvYmUKKworc3luIGtleXdvcmQgZ3J1YlNwZWNpYWwgICAgICAgc2F2ZWQKKworc3luIG1hdGNoICAgZ3J1YkJsaW5rICAgICAgICAgZGlzcGxheSAnYmxpbmstJworc3luIGtleXdvcmQgZ3J1YkJsYWNrICAgICAgICAgYmxhY2sKK3N5biBrZXl3b3JkIGdydWJCbHVlICAgICAgICAgIGJsdWUKK3N5biBrZXl3b3JkIGdydWJHcmVlbiAgICAgICAgIGdyZWVuCitzeW4ga2V5d29yZCBncnViUmVkICAgICAgICAgICByZWQKK3N5biBrZXl3b3JkIGdydWJNYWdlbnRhICAgICAgIG1hZ2VudGEKK3N5biBrZXl3b3JkIGdydWJCcm93biAgICAgICAgIGJyb3duIHllbGxvdworc3luIGtleXdvcmQgZ3J1YldoaXRlICAgICAgICAgd2hpdGUKK3N5biBtYXRjaCAgIGdydWJMaWdodEdyYXkgICAgIGRpc3BsYXkgJ2xpZ2h0LWdyYXknCitzeW4gbWF0Y2ggICBncnViTGlnaHRCbHVlICAgICBkaXNwbGF5ICdsaWdodC1ibHVlJworc3luIG1hdGNoICAgZ3J1YkxpZ2h0R3JlZW4gICAgZGlzcGxheSAnbGlnaHQtZ3JlZW4nCitzeW4gbWF0Y2ggICBncnViTGlnaHRDeWFuICAgICBkaXNwbGF5ICdsaWdodC1jeWFuJworc3luIG1hdGNoICAgZ3J1YkxpZ2h0UmVkICAgICAgZGlzcGxheSAnbGlnaHQtcmVkJworc3luIG1hdGNoICAgZ3J1YkxpZ2h0TWFnZW50YSAgZGlzcGxheSAnbGlnaHQtbWFnZW50YScKK3N5biBtYXRjaCAgIGdydWJEYXJrR3JheSAgICAgIGRpc3BsYXkgJ2RhcmstZ3JheScKKworaGkgZGVmIGxpbmsgZ3J1YkNvbW1lbnQgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgZ3J1YlRvZG8gICAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgZ3J1Yk51bWJlcnMgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBncnViRGV2aWNlICAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBncnViQmxvY2sgICAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBncnViQ29tbWFuZCAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBncnViVGl0bGVDb21tYW5kICBncnViQ29tbWFuZAoraGkgZGVmIGxpbmsgZ3J1YlRpdGxlICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBncnViU3BlY2lhbCAgICAgICBTcGVjaWFsCisKK2hpIGRlZiAgICAgIGdydWJCbGluayAgICAgICAgIGN0ZXJtPWludmVyc2UKK2hpIGRlZiAgICAgIGdydWJCbGFjayAgICAgICAgIGN0ZXJtZmc9QmxhY2sgY3Rlcm1iZz1XaGl0ZSBndWlmZz1CbGFjayBndWliZz1XaGl0ZQoraGkgZGVmICAgICAgZ3J1YkJsdWUgICAgICAgICAgY3Rlcm1mZz1EYXJrQmx1ZSBndWlmZz1EYXJrQmx1ZQoraGkgZGVmICAgICAgZ3J1YkdyZWVuICAgICAgICAgY3Rlcm1mZz1EYXJrR3JlZW4gZ3VpZmc9RGFya0dyZWVuCitoaSBkZWYgICAgICBncnViUmVkICAgICAgICAgICBjdGVybWZnPURhcmtSZWQgZ3VpZmc9RGFya1JlZAoraGkgZGVmICAgICAgZ3J1Yk1hZ2VudGEgICAgICAgY3Rlcm1mZz1EYXJrTWFnZW50YSBndWlmZz1EYXJrTWFnZW50YQoraGkgZGVmICAgICAgZ3J1YkJyb3duICAgICAgICAgY3Rlcm1mZz1Ccm93biBndWlmZz1Ccm93bgoraGkgZGVmICAgICAgZ3J1YldoaXRlICAgICAgICAgY3Rlcm1mZz1XaGl0ZSBjdGVybWJnPUJsYWNrIGd1aWZnPVdoaXRlIGd1aWJnPUJsYWNrCitoaSBkZWYgICAgICBncnViTGlnaHRHcmF5ICAgICBjdGVybWZnPUxpZ2h0R3JheSBndWlmZz1MaWdodEdyYXkKK2hpIGRlZiAgICAgIGdydWJMaWdodEJsdWUgICAgIGN0ZXJtZmc9TGlnaHRCbHVlIGd1aWZnPUxpZ2h0Qmx1ZQoraGkgZGVmICAgICAgZ3J1YkxpZ2h0R3JlZW4gICAgY3Rlcm1mZz1MaWdodEdyZWVuIGd1aWZnPUxpZ2h0R3JlZW4KK2hpIGRlZiAgICAgIGdydWJMaWdodEN5YW4gICAgIGN0ZXJtZmc9TGlnaHRDeWFuIGd1aWZnPUxpZ2h0Q3lhbgoraGkgZGVmICAgICAgZ3J1YkxpZ2h0UmVkICAgICAgY3Rlcm1mZz1MaWdodFJlZCBndWlmZz1MaWdodFJlZAoraGkgZGVmICAgICAgZ3J1YkxpZ2h0TWFnZW50YSAgY3Rlcm1mZz1MaWdodE1hZ2VudGEgZ3VpZmc9TGlnaHRNYWdlbnRhCitoaSBkZWYgICAgICBncnViRGFya0dyYXkgICAgICBjdGVybWZnPURhcmtHcmF5IGd1aWZnPURhcmtHcmF5CiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImdydWIiCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvaW5kZW50LnZpbSBiL3J1bnRpbWUvc3ludGF4L2luZGVudC52aW0KaW5kZXggYjlmM2M3ZS4uOGQ4MjJlYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvaW5kZW50LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9pbmRlbnQudmltCkBAIC0xLDEwMSArMSwxNzggQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgaW5kZW50IFJDIEZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvaW5kZW50LwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCi0iIGFyY2gtdGFnOgkgICAgMjNjMTExOTAtNzlmYS00NDkzLTlmYzUtMzY0MzU0MDJhMjBkCisiIExhbmd1YWdlOiAgICAgICAgIGluZGVudCgxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisiICAgaW5kZW50X2lzX2JzZDogIElmIGV4aXN0cywgd2lsbCBjaGFuZ2Ugc29tZXdoYXQgdG8gbWF0Y2ggQlNEIGltcGxlbWVudGF0aW9uCisiCiAiIFRPRE86IGlzIHRoZSBkZW55LWFsbCAoYSBsYSBsaWxvLnZpbSBuaWNlIG9yIG5vPykuLi4KLSIJaXJyaXRhdGluZyB0byBiZSB3cm9uZyB0byB0aGUgbGFzdCBjaGFyLi4uCi0iCXdvdWxkIGJlIHN3ZWV0IGlmIHJpZ2h0IHVudGlsIG9uZSBjaGFyIGZhaWxzCisiICAgICAgIGlycml0YXRpbmcgdG8gYmUgd3JvbmcgdG8gdGhlIGxhc3QgY2hhci4uLgorIiAgICAgICB3b3VsZCBiZSBzd2VldCBpZiByaWdodCB1bnRpbCBvbmUgY2hhciBmYWlscwogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLSIgU2V0IGlza2V5d29yZCBzaW5jZSB3ZSBuZWVkIGAtJyAoYW5kIHBvdGVudGlhbGx5IG90aGVycykgaW4ga2V5d29yZHMuCi0iIEZvciB2ZXJzaW9uIDUueDogU2V0IGl0IGdsb2JhbGx5Ci0iIEZvciB2ZXJzaW9uIDYueDogU2V0IGl0IGxvY2FsbHkKLWlmIHZlcnNpb24gPj0gNjAwCi0gIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldGxvY2FsIGlza2V5d29yZD08YXJncz4KLWVsc2UKLSAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0IGlza2V5d29yZD08YXJncz4KK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsLSxfCisKK3N5biBtYXRjaCAgIGluZGVudEVycm9yICAgJ1xTXCsnCisKK3N5biBrZXl3b3JkIGluZGVudFRvZG8gICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworc3luIHJlZ2lvbiAgaW5kZW50Q29tbWVudCBtYXRjaGdyb3VwPWluZGVudENvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nL1wqJyBlbmQ9J1wqLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1pbmRlbnRUb2RvLEBTcGVsbAorc3luIHJlZ2lvbiAgaW5kZW50Q29tbWVudCBtYXRjaGdyb3VwPWluZGVudENvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nLy8nIHNraXA9J1xcJCcgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWluZGVudFRvZG8sQFNwZWxsCisKK3N5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLWJhY2MgLS1ibGFuay1saW5lcy1hZnRlci1pZmRlZnMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWJhZCAtLWJsYW5rLWxpbmVzLWFmdGVyLWRlY2xhcmF0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgXCAtYmFkcCAtLWJsYW5rLWxpbmVzLWFmdGVyLXByb2NlZHVyZS1kZWNsYXJhdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWJhcCAtLWJsYW5rLWxpbmVzLWFmdGVyLXByb2NlZHVyZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWJiYiAtLWJsYW5rLWxpbmVzLWJlZm9yZS1ibG9jay1jb21tZW50cworICAgICAgICAgICAgICAgICAgICAgICAgXCAtYmJvIC0tYnJlYWstYmVmb3JlLWJvb2xlYW4tb3BlcmF0b3IKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWJjIC0tYmxhbmstbGluZXMtYWZ0ZXItY29tbWFzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1iZmRhIC0tYnJlYWstZnVuY3Rpb24tZGVjbC1hcmdzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1iZmRlIC0tYnJlYWstZnVuY3Rpb24tZGVjbC1hcmdzLWVuZAorICAgICAgICAgICAgICAgICAgICAgICAgXCAtYmwgLS1icmFjZXMtYWZ0ZXItaWYtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtYmxmIC0tYnJhY2VzLWFmdGVyLWZ1bmMtZGVmLWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWJscyAtLWJyYWNlcy1hZnRlci1zdHJ1Y3QtZGVjbC1saW5lCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1iciAtLWJyYWNlcy1vbi1pZi1saW5lCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1icmYgLS1icmFjZXMtb24tZnVuYy1kZWYtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtYnJzIC0tYnJhY2VzLW9uLXN0cnVjdC1kZWNsLWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWJzIC0tQmlsbC1TaGFubm9uCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1icyAtLWJsYW5rLWJlZm9yZS1zaXplb2YKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWMrKyAtLWMtcGx1cy1wbHVzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1jZGIgLS1jb21tZW50LWRlbGltaXRlcnMtb24tYmxhbmstbGluZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWNkdyAtLWN1ZGRsZS1kby13aGlsZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtY2UgLS1jdWRkbGUtZWxzZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtY3MgLS1zcGFjZS1hZnRlci1jYXN0CisgICAgICAgICAgICAgICAgICAgICAgICBcIC1kaiAtLWxlZnQtanVzdGlmeS1kZWNsYXJhdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWVlaSAtLWV4dHJhLWV4cHJlc3Npb24taW5kZW50YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWZjMSAtLWZvcm1hdC1maXJzdC1jb2x1bW4tY29tbWVudHMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWZjYSAtLWZvcm1hdC1hbGwtY29tbWVudHMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWdudSAtLWdudS1zdHlsZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtaCAtLWhlbHAKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWggLS11c2FnZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtaG5sIC0taG9ub3VyLW5ld2xpbmVzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1rciAtLWstYW5kLXItc3R5bGUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWtyIC0ta2VybmlnaGFuLWFuZC1yaXRjaGllCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1rciAtLWtlcm5pZ2hhbi1hbmQtcml0Y2hpZS1zdHlsZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtbHAgLS1jb250aW51ZS1hdC1wYXJlbnRoZXNlcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbHBzIC0tbGVhdmUtcHJlcHJvY2Vzc29yLXNwYWNlCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uYmFjYyAtLW5vLWJsYW5rLWxpbmVzLWFmdGVyLWlmZGVmcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmJhZCAtLW5vLWJsYW5rLWxpbmVzLWFmdGVyLWRlY2xhcmF0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmJhZHAgLS1uby1ibGFuay1saW5lcy1hZnRlci1wcm9jZWR1cmUtZGVjbGFyYXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uYmFwIC0tbm8tYmxhbmstbGluZXMtYWZ0ZXItcHJvY2VkdXJlcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmJiYiAtLW5vLWJsYW5rLWxpbmVzLWJlZm9yZS1ibG9jay1jb21tZW50cworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmJibyAtLWJyZWFrLWFmdGVyLWJvb2xlYW4tb3BlcmF0b3IKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5iYyAtLW5vLWJsYW5rLWxpbmVzLWFmdGVyLWNvbW1hcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmJmZGEgLS1kb250LWJyZWFrLWZ1bmN0aW9uLWRlY2wtYXJncworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmJmZGUgLS1kb250LWJyZWFrLWZ1bmN0aW9uLWRlY2wtYXJncy1lbmQKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5icyAtLW5vLUJpbGwtU2hhbm5vbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmJzIC0tbm8tYmxhbmstYmVmb3JlLXNpemVvZgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmNkYiAtLW5vLWNvbW1lbnQtZGVsaW1pdGVycy1vbi1ibGFuay1saW5lcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmNkdyAtLWRvbnQtY3VkZGxlLWRvLXdoaWxlCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uY2UgLS1kb250LWN1ZGRsZS1lbHNlCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uY3MgLS1uby1zcGFjZS1hZnRlci1jYXN0cworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmRqIC0tZG9udC1sZWZ0LWp1c3RpZnktZGVjbGFyYXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uZWVpIC0tbm8tZXh0cmEtZXhwcmVzc2lvbi1pbmRlbnRhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmZjMSAtLWRvbnQtZm9ybWF0LWZpcnN0LWNvbHVtbi1jb21tZW50cworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmZjYSAtLWRvbnQtZm9ybWF0LWNvbW1lbnRzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uaG5sIC0taWdub3JlLW5ld2xpbmVzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uaXAgLS1kb250LWluZGVudC1wYXJhbWV0ZXJzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uaXAgLS1uby1wYXJhbWV0ZXItaW5kZW50YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5scCAtLWRvbnQtbGluZS11cC1wYXJlbnRoZXNlcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbmxwcyAtLXJlbW92ZS1wcmVwcm9jZXNzb3Itc3BhY2UKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5wY3MgLS1uby1zcGFjZS1hZnRlci1mdW5jdGlvbi1jYWxsLW5hbWVzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1ucHJvIC0taWdub3JlLXByb2ZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5wcnMgLS1uby1zcGFjZS1hZnRlci1wYXJlbnRoZXNlcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbnBzbCAtLWRvbnQtYnJlYWstcHJvY2VkdXJlLXR5cGUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5zYWYgLS1uby1zcGFjZS1hZnRlci1mb3IKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5zYWkgLS1uby1zcGFjZS1hZnRlci1pZgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtbnNhdyAtLW5vLXNwYWNlLWFmdGVyLXdoaWxlCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1uc2MgLS1kb250LXN0YXItY29tbWVudHMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW5zb2IgLS1sZWF2ZS1vcHRpb25hbC1ibGFuay1saW5lcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbnNzIC0tZG9udC1zcGFjZS1zcGVjaWFsLXNlbWljb2xvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtbnV0IC0tbm8tdGFicworICAgICAgICAgICAgICAgICAgICAgICAgXCAtbnYgLS1uby12ZXJib3NpdHkKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW8gLS1vdXRwdXQKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW8gLS1vdXRwdXQtZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtb3JpZyAtLWJlcmtlbGV5CisgICAgICAgICAgICAgICAgICAgICAgICBcIC1vcmlnIC0tYmVya2VsZXktc3R5bGUKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLW9yaWcgLS1vcmlnaW5hbAorICAgICAgICAgICAgICAgICAgICAgICAgXCAtb3JpZyAtLW9yaWdpbmFsLXN0eWxlCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1wY3MgLS1zcGFjZS1hZnRlci1wcm9jZWR1cmUtY2FsbHMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLXBtdCAtLXByZXNlcnZlLW10aW1lCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1wcnMgLS1zcGFjZS1hZnRlci1wYXJlbnRoZXNlcworICAgICAgICAgICAgICAgICAgICAgICAgXCAtcHNsIC0tcHJvY25hbWVzLXN0YXJ0LWxpbmVzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1zYWYgLS1zcGFjZS1hZnRlci1mb3IKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLXNhaSAtLXNwYWNlLWFmdGVyLWlmCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1zYXcgLS1zcGFjZS1hZnRlci13aGlsZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtc2MgLS1zdGFydC1sZWZ0LXNpZGUtb2YtY29tbWVudHMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLXNvYiAtLXN3YWxsb3ctb3B0aW9uYWwtYmxhbmstbGluZXMKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLXNzIC0tc3BhY2Utc3BlY2lhbC1zZW1pY29sb24KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLXN0IC0tc3RhbmRhcmQtb3V0cHV0CisgICAgICAgICAgICAgICAgICAgICAgICBcIC11dCAtLXVzZS10YWJzCisgICAgICAgICAgICAgICAgICAgICAgICBcIC12IC0tdmVyYm9zZQorICAgICAgICAgICAgICAgICAgICAgICAgXCAtdmVyc2lvbiAtLXZlcnNpb24KKworc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtYmxpIC0tYnJhY2UtaW5kZW50CisgICAgICAgICAgICAgICAgICAgICAgICBcIC1jIC0tY29tbWVudC1pbmRlbnRhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtYmxpIC0tYnJhY2UtaW5kZW50CisgICAgICAgICAgICAgICAgICAgICAgICBcIC1jIC0tY29tbWVudC1pbmRlbnRhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtY2JpIC0tY2FzZS1icmFjZS1pbmRlbnRhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtY2QgLS1kZWNsYXJhdGlvbi1jb21tZW50LWNvbHVtbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtY2kgLS1jb250aW51YXRpb24taW5kZW50YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWNsaSAtLWNhc2UtaW5kZW50YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWNwIC0tZWxzZS1lbmRpZi1jb2x1bW4KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLWQgLS1saW5lLWNvbW1lbnRzLWluZGVudGF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1kaSAtLWRlY2xhcmF0aW9uLWluZGVudGF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1pIC0taW5kZW50LWxldmVsCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1pcCAtLXBhcmFtZXRlci1pbmRlbnRhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtbCAtLWxpbmUtbGVuZ3RoCisgICAgICAgICAgICAgICAgICAgICAgICBcIC1sYyAtLWNvbW1lbnQtbGluZS1sZW5ndGgKKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLXBpIC0tcGFyZW4taW5kZW50YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAgIFwgLXBwaSAtLXByZXByb2Nlc3Nvci1pbmRlbnRhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgXCAtc2JpIC0tc3RydWN0LWJyYWNlLWluZGVudGF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICBcIC10cyAtLXRhYi1zaXplCisgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1pbmRlbk51bWJlciBza2lwd2hpdGUKK2lmICFleGlzdHMoImluZGVudF9pc19ic2QiKQorICBzeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC1pIC0taW5kZW50YXRpb24tbGV2ZWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9aW5kZW50TnVtYmVyIHNraXB3aGl0ZQogZW5kaWYKLVNldElzayA0OC01Nyw2NS05MCw5Ny0xMjIsLSxfCi1kZWxjb21tYW5kIFNldElzawogCi0iIGVycm9ycwotc3luIG1hdGNoICAgaW5kZW50RXJyb3IgIlxTXCsiCitzeW4gbWF0Y2ggICBpbmRlbnROdW1iZXIgIGRpc3BsYXkgJ1w8XGRcK1w+JwogCi0iIHRvZG8KLXN5biBrZXl3b3JkIGluZGVudFRvZG8gY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK3N5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLVQgbmV4dGdyb3VwPWluZGVudElkZW50IHNraXB3aGl0ZQogCi0iIGNvbW1lbnRzCi1zeW4gcmVnaW9uICBpbmRlbnRDb21tZW50IG1hdGNoZ3JvdXA9aW5kZW50Q29tbWVudCBzdGFydD0iL1wqIiBlbmQ9IlwqLyIgY29udGFpbnM9aW5kZW50VG9kbworc3luIG1hdGNoICAgaW5kZW50SWRlbnQgICBkaXNwbGF5ICdcPFxoXHcqXD4nCiAKLSIga2V5d29yZHMgKGNvbW1hbmQtbGluZSBzd2l0Y2hlcykKLXN5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKG5vLVwpXD1ibGFuay1cKGJlZm9yZS1zaXplb2ZcfEJpbGwtU2hhbm5vblx8bGluZXMtXChhZnRlci1cKGNvbW1hc1x8ZGVjbGFyYXRpb25zXHxwcm9jZWR1cmVzXClcfGJlZm9yZS1ibG9jay1jb21tZW50c1wpXClcPiIKLXN5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1icmFjZS1pbmRlbnRccypcZFwrXD4iCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tYnJhY2VzLVwoYWZ0ZXJcfG9uXCktXChpZlx8c3RydWN0LWRlY2xcKS1saW5lXD4iCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tYnJlYWstXChcKGFmdGVyXHxiZWZvcmVcKS1ib29sZWFuLW9wZXJhdG9yXHxmdW5jdGlvbi1kZWNsLWFyZ3NcKVw+Igotc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLVwoY2FzZVwoLWJyYWNlXClcPVx8Y29tbWVudFx8Y29udGludWF0aW9uXHxkZWNsYXJhdGlvblx8bGluZS1jb21tZW50c1x8cGFyYW1ldGVyXHxwYXJlblx8c3RydWN0LWJyYWNlXCktaW5kZW50YXRpb25ccypcZFwrXD4iCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChuby1cKVw9Y29tbWVudC1kZWxpbWl0ZXJzLW9uLWJsYW5rLWxpbmVzXD4iCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChkb250LVwpXD1jdWRkbGUtXChkby13aGlsZVx8ZWxzZVwpXD4iCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChkZWNsYXJhdGlvbi1jb21tZW50XHxlbHNlLWVuZGlmXCktY29sdW1uXHMqXGRcK1w+Igotc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLWRvbnQtYnJlYWstXChmdW5jdGlvbi1kZWNsLWFyZ3NcfHByb2NlZHVyZS10eXBlXClcPiIKLXN5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKGRvbnQtXClcPVwoZm9ybWF0XCgtZmlyc3QtY29sdW1uXClcPVx8c3RhclwpLWNvbW1lbnRzXD4iCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChob25vdXJcfGlnbm9yZVwpLW5ld2xpbmVzXD4iCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChpbmRlbnQtbGV2ZWxcfFwoY29tbWVudC1cKVw9bGluZS1sZW5ndGhcKVxzKlxkXCtcPiIKLXN5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKGxlYXZlXHxyZW1vdmVcKS1wcmVwcm9jZXNzb3Itc3BhY2VcPiIKLSJub3QgMTAwJSwgc2luY2UgY2FzdHNcPSBzaG91bGQgYWx3YXlzIGJlIGNhc3QgaWYgbm8tIGlzbid0IGdpdmVuCi1zeW4gbWF0Y2ggICBpbmRlbnRPcHRpb25zICJcPC0tXChuby1cKVw9c3BhY2UtYWZ0ZXItXChwYXJlbnRoZXNlc1x8Y2FzdHNcPVx8Zm9yXHxpZlx8d2hpbGVcKVw+Igotc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtLVwoZG9udC1cKVw9c3BhY2Utc3BlY2lhbC1zZW1pY29sb25cPiIKLXN5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKGxlYXZlXHxzd2FsbG93XCktb3B0aW9uYWwtYmxhbmstbGluZXNcPiIKLXN5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS10YWItc2l6ZVxzKlxkXCtcPiIKLXN5biBtYXRjaCAgIGluZGVudE9wdGlvbnMgIlw8LS1cKG5vXHx1c2VcKS10YWJzXD4iCi1zeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC0tZ251LXN0eWxlIC0taWdub3JlLXByb2ZpbGUgLS1rLWFuZC1yLXN0eWxlIC0tb3JpZ2luYWwKLXN5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLS1wcmVzZXJ2ZS1tdGltZSAtLW5vLXZlcmJvc2l0eSAtLXZlcmJvc2UgLS1vdXRwdXQtZmlsZQotc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtLW5vLXBhcmFtZXRlci1pbmRlbnRhdGlvbiAtLXByb2NuYW1lcy1zdGFydC1saW5lcwotc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtLXN0YW5kYXJkLW91dHB1dCAtLXN0YXJ0LWxlZnQtc2lkZS1vZi1jb21tZW50cwotc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtLXNwYWNlLWFmdGVyLXByb2NlZHVyZS1jYWxscwotIiB0aGlzIGFsc28gaGVyZSBzaW5jZSB0aGUgZ251IGluZGVudCBmZWxsYXMgYXJlbid0IGNvbnNpc3RlbnQuIChldmVyIHJlYWQKLSIgdGhlIGNvZGUgdG8gYGluZGVudCc/IHlvdSdsbCBrbm93IHdoYXQgaSBtZWFuIGlmIHlvdSBoYXZlKQotc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtXChibGlcfGNiaVx8Y2RcfGNpXHxjbGlcfGNcfGNwXHxkaVx8ZFx8aVx8aXBcfGxcfGxjXHxwaVx8c2JpXHx0c1wpXHMqXGRcK1w+Igotc3luIG1hdGNoICAgaW5kZW50T3B0aW9ucyAiXDwtVFxzXCtcd1wrXD4iCi1zeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC0tZm9ybWF0LWFsbC1jb21tZW50cyAtLWNvbnRpbnVlLWF0LXBhcmVudGhlc2VzIC0tZG9udC1saW5lLXVwLXBhcmVudGhlc2VzCi1zeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC0tbm8tc3BhY2UtYWZ0ZXItZnVuY3Rpb24tY2FsbC1uYW1lcwotc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtYmFkIC1iYXAgLWJiYiAtYmJvIC1iYyAtYmZkYSAtYmwgLWJyIC1icyAtbmJzIC1jZGIgLWNkdyAtY2UgLWNzIC1kY2UgLWZjMSAtZmNhCi1zeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC1nbnUgLWhubCAta3IgLWxwIC1scHMgLW5iYWQgLW5iYXAgLW5iYmIgLW5iYm8gLW5iYyAtbmJmZGEgLW5jZGIgLW5jZHcgLW5wcnMKLXN5biBrZXl3b3JkIGluZGVudE9wdGlvbnMgLW5jZSAtbmNzIC1uZmMxIC1uZmNhIC1uaG5sIC1uaXAgLW5scCAtbmxwcyAtbnBjcyAtbnBtdCAtbnBybyAtbnBzbCAtbnNhZiAtbnNhaQotc3luIGtleXdvcmQgaW5kZW50T3B0aW9ucyAtbnNhdyAtbnNjIC1uc29iIC1uc3MgLW52IC1vIC1vcmlnIC1wY3MgLXBtdCAtcHJzIC1wc2wgLXNhZiAtc2FpIC1zYXcgLXNjCi1zeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC1zb2IgLXNzIC1zdCAtdiAtdmVyc2lvbiAtYmxzIC1icnMgLXV0IC1udXQKLQotaWYgZXhpc3RzKCJpbmRlbnRfbWlubGluZXMiKQotICAgIGxldCBiOmluZGVudF9taW5saW5lcyA9IGluZGVudF9taW5saW5lcwotZWxzZQotICAgIGxldCBiOmluZGVudF9taW5saW5lcyA9IDUwCitpZiBleGlzdHMoImluZGVudF9pc19ic2QiKQorICBzeW4ga2V5d29yZCBpbmRlbnRPcHRpb25zIC1pcCAtbmlwIC1kaiAtbmRqIC1laSAtbmVpCiBlbmRpZgotZXhlYyAic3luIHN5bmMgbWlubGluZXM9IiAuIGI6aW5kZW50X21pbmxpbmVzCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2luZGVudF9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9pbmRlbnRfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+CitpZiBleGlzdHMoImNfbWlubGluZXMiKQorICBsZXQgYjpjX21pbmxpbmVzID0gY19taW5saW5lcworZWxzZQorICBpZiAhZXhpc3RzKCJjX25vX2lmMCIpCisgICAgbGV0IGI6Y19taW5saW5lcyA9IDUwICAgICAgICIgI2lmIDAgY29uc3RydWN0cyBjYW4gYmUgbG9uZwogICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+CisgICAgbGV0IGI6Y19taW5saW5lcyA9IDE1ICAgICAgICIgbW9zdGx5IGZvciAoKSBjb25zdHJ1Y3RzCiAgIGVuZGlmCi0KLSAgSGlMaW5rIGluZGVudEVycm9yCUVycm9yCi0gIEhpTGluayBpbmRlbnRDb21tZW50CUNvbW1lbnQKLSAgSGlMaW5rIGluZGVudFRvZG8JVG9kbwotICBIaUxpbmsgaW5kZW50T3B0aW9ucwlLZXl3b3JkCi0gIGRlbGNvbW1hbmQgSGlMaW5rCiBlbmRpZgogCitoaSBkZWYgbGluayBpbmRlbnRFcnJvciAgIEVycm9yCitoaSBkZWYgbGluayBpbmRlbnRDb21tZW50IENvbW1lbnQKK2hpIGRlZiBsaW5rIGluZGVudFRvZG8gICAgVG9kbworaGkgZGVmIGxpbmsgaW5kZW50T3B0aW9ucyBLZXl3b3JkCitoaSBkZWYgbGluayBpbmRlbnROdW1iZXIgIE51bWJlcgoraGkgZGVmIGxpbmsgaW5kZW50SWRlbnQgICBJZGVudGlmaWVyCisKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImluZGVudCIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sZC52aW0gYi9ydW50aW1lL3N5bnRheC9sZC52aW0KaW5kZXggYzFhMDBkOS4uMmIzOWJlYSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbGQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xkLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOiAgICAgICAgIGxkKDEpIHNjcmlwdAogIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+Ci0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjgKKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQogCiBpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKQEAgLTE2LDcgKzE2LDcgQEAKIAogc3luIHJlZ2lvbiAgbGRGaWxlTmFtZSAgICAgIHN0YXJ0PSsiKyBlbmQ9KyIrCiAKLXN5biBrZXl3b3JkIGxkUHJlUHJvYyAgICAgICBTRUNUSU9OUyBNRU1PUlkgT1ZFUkxBWSBQSERSUyBWRVJTSU9OCitzeW4ga2V5d29yZCBsZFByZVByb2MgICAgICAgU0VDVElPTlMgTUVNT1JZIE9WRVJMQVkgUEhEUlMgVkVSU0lPTiBJTkNMVURFCiBzeW4gbWF0Y2ggICBsZFByZVByb2MgICAgICAgJ1w8VkVSU19cZFwrXC5cZFwrJwogCiBzeW4ga2V5d29yZCBsZEZ1bmN0aW9uICAgICAgQUJTT0xVVEUgQUREUiBBTElHTiBCTE9DSyBEQVRBX1NFR01FTlRfQUxJR04KQEAgLTI0LDcgKzI0LDcgQEAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIExPQURBRERSIE1BWCBNSU4gTkVYVCBTSVpFT0YgU0laRU9GX0hFQURFUlMKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNpemVvZl9oZWFkZXJzCiAKLXN5biBrZXl3b3JkIGxkS2V5d29yZCAgICAgICBFTlRSWSBJTkNMVURFIElOUFVUIEdST1VQIE9VVFBVVAorc3luIGtleXdvcmQgbGRLZXl3b3JkICAgICAgIEVOVFJZIElOUFVUIEdST1VQIE9VVFBVVAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU0VBUkNIX0RJUiBTVEFSVFVQIE9VVFBVVF9GT1JNQVQgVEFSR0VUCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBBU1NFUlQgRVhURVJOIEZPUkNFX0NPTU1PTl9BTExPQ0FUSU9OCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBJTkhJQklUX0NPTU1PTl9BTExPQ0FUSU9OIE5PQ1JPU1NSRUZTIE9VVFBVVF9BUkNICmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sZnRwLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xmdHAudmltCmluZGV4IGZjMTk1OGUuLjBhYWI3MWUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xmdHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xmdHAudmltCkBAIC0xLDE4NCArMSwxNTIgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgbGZ0cCgxKSBjb25maWd1cmF0aW9uIGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvbGZ0cC8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgotIiBhcmNoLXRhZzoJICAgIGYyNTM3YzQ5LTVkNjQtNDJiOC1iZWI0LTEzYTA5ZGQ3MjNkMgorIiBMYW5ndWFnZTogICAgICAgICBsZnRwKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjcKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIFNldCBpc2tleXdvcmQgc2luY2Ugd2UgbmVlZCBgLScgKGFuZCBwb3RlbnRpYWxseSBvdGhlcnMpIGluIGtleXdvcmRzLgotIiBGb3IgdmVyc2lvbiA1Lng6IFNldCBpdCBnbG9iYWxseQotIiBGb3IgdmVyc2lvbiA2Lng6IFNldCBpdCBsb2NhbGx5Ci1pZiB2ZXJzaW9uID49IDYwMAotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXRsb2NhbCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbHNlCi0gIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbmRpZgotU2V0SXNrIDQ4LTU3LDk3LTEyMiwtCi1kZWxjb21tYW5kIFNldElzaworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIGNvbW1lbnRzCi1zeW4gcmVnaW9uICBsZnRwQ29tbWVudAkJZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9bGZ0cENvbW1lbnQgc3RhcnQ9IiMiIGVuZD0iJCIgY29udGFpbnM9bGZ0cFRvZG8KK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LC0KIAotIiB0b2RvCi1zeW4ga2V5d29yZCBsZnRwVG9kbwkJY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK3N5biByZWdpb24gIGxmdHBDb21tZW50ICAgICAgICAgZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9bGZ0cENvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nIycgZW5kPSckJyBjb250YWlucz1sZnRwVG9kbyxAU3BlbGwKIAotIiBzdHJpbmdzCi1zeW4gcmVnaW9uICBsZnRwU3RyaW5nCQljb250YWluZWQgZGlzcGxheSBzdGFydD0rIisgc2tpcD0rXFwkXHxcXCIrIGVuZD0rIisgZW5kPSskKworc3luIGtleXdvcmQgbGZ0cFRvZG8gICAgICAgICAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQogCi0iIG51bWJlcnMKLXN5biBtYXRjaCAgIGxmdHBOdW1iZXIJCWNvbnRhaW5lZCBkaXNwbGF5ICJcPFxkXCtcKFwuXGRcK1wpXD1cPiIKK3N5biByZWdpb24gIGxmdHBTdHJpbmcgICAgICAgICAgY29udGFpbmVkIGRpc3BsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0rIisgc2tpcD0rXFwkXHxcXCIrIGVuZD0rIisgZW5kPSskKwogCi0iIGJvb2xlYW5zIGFuZCBvdGhlciB0aGluZ3MKLXN5biBrZXl3b3JkIGxmdHBCb29sZWFuCQljb250YWluZWQgeWVzIG5vIG9uIG9mZiB0cnVlIGZhbHNlCitzeW4gbWF0Y2ggICBsZnRwTnVtYmVyICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcPFxkXCtcKFwuXGRcK1wpXD1cPicKIAotIiBpbnRlcnZhbHMKLXN5biBrZXl3b3JkIGxmdHBJbnRlcnZhbAljb250YWluZWQgaW5maW5pdHkgaW5mIG5ldmVyIGZvcmV2ZXIKLXN5biBtYXRjaCAgIGxmdHBJbnRlcnZhbAljb250YWluZWQgIlw8XChcZFwrXChcLlxkXCtcKVw9W2RobXNdXClcK1w+Igorc3luIGtleXdvcmQgbGZ0cEJvb2xlYW4gICAgICAgICBjb250YWluZWQgeWVzIG5vIG9uIG9mZiB0cnVlIGZhbHNlCiAKLSIgY29tbWFuZHMKLXN5biBrZXl3b3JkIGxmdHBLZXl3b3JkcwlhbGlhcyBhbm9uIGF0IGJvb2ttYXJrIGNhY2hlIGNhdCBjZCBjaG1vZCBjbG9zZQotc3luIGtleXdvcmQgbGZ0cEtleXdvcmRzCWNscyBjb21tYW5kIGRlYnVnIGR1IGVjaG8gZXhpdCBmZyBmaW5kIGdldCBnZXQxCi1zeW4ga2V5d29yZCBsZnRwS2V5d29yZHMJZ2xvYiBoZWxwIGhpc3Rvcnkgam9icyBraWxsIGxjZCBsZnRwIGxwd2QgbHMKLXN5biBrZXl3b3JkIGxmdHBLZXl3b3JkcwltZ2V0IG1pcnJvciBta2RpciBtb2R1bGUKLXN5biBrZXl3b3JkIGxmdHBLZXl3b3Jkcwltb3JlIG1wdXQgbXJtIG12IG5saXN0IG9wZW4gcGdldCBwdXQgcHdkIHF1ZXVlCi1zeW4ga2V5d29yZCBsZnRwS2V5d29yZHMJcXVvdGUgcmVnZXQgcmVjbHMgcmVscyByZW5saXN0IHJlcGVhdAotc3luIGtleXdvcmQgbGZ0cEtleXdvcmRzCXJlcHV0IHJtIHJtZGlyIHNjYWNoZSBzaXRlIHNvdXJjZSBzdXNwZW5kIHVzZXIKLXN5biBrZXl3b3JkIGxmdHBLZXl3b3Jkcwl2ZXJzaW9uIHdhaXQgemNhdCB6bW9yZQorc3luIGtleXdvcmQgbGZ0cEludGVydmFsICAgICAgICBjb250YWluZWQgaW5maW5pdHkgaW5mIG5ldmVyIGZvcmV2ZXIKK3N5biBtYXRjaCAgIGxmdHBJbnRlcnZhbCAgICAgICAgY29udGFpbmVkICdcPFwoXGRcK1woXC5cZFwrXClcPVtkaG1zXVwpXCtcPicKIAotIiBzZXR0aW5ncwotc3luIHJlZ2lvbiAgbGZ0cFNldAkJbWF0Y2hncm91cD1sZnRwS2V5d29yZHMgc3RhcnQ9InNldCIgZW5kPSI7IiBlbmQ9IiQiIGNvbnRhaW5zPWxmdHBTdHJpbmcsbGZ0cE51bWJlcixsZnRwQm9vbGVhbixsZnRwSW50ZXJ2YWwsbGZ0cFNldHRpbmdzUHJlZml4LGxmdHBTZXR0aW5ncwotc3luIG1hdGNoICAgbGZ0cFNldHRpbmdzUHJlZml4CWNvbnRhaW5lZCAnXDxcJShibWtcfGNhY2hlXHxjbWRcfGNvbG9yXHxkbnNcKTonCi1zeW4gbWF0Y2ggICBsZnRwU2V0dGluZ3NQcmVmaXgJY29udGFpbmVkICdcPFwlKGZpbGVcfGZpc2hcfGZ0cFx8aGZ0cFwpOicKLXN5biBtYXRjaCAgIGxmdHBTZXR0aW5nc1ByZWZpeAljb250YWluZWQgJ1w8XCUoaHR0cFx8aHR0cHNcfG1pcnJvclx8bW9kdWxlXCk6Jwotc3luIG1hdGNoICAgbGZ0cFNldHRpbmdzUHJlZml4CWNvbnRhaW5lZCAnXDxcJShuZXRcfHNmdHBcfHNzbFx8eGZlclwpOicKK3N5biBrZXl3b3JkIGxmdHBLZXl3b3JkcyAgICAgICAgYWxpYXMgYW5vbiBhdCBib29rbWFyayBjYWNoZSBjYXQgY2QgY2htb2QgY2xvc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjbHMgY29tbWFuZCBkZWJ1ZyBkdSBlY2hvIGV4aXQgZmcgZmluZCBnZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBnZXQxIGdsb2IgaGVscCBoaXN0b3J5IGpvYnMga2lsbCBsY2QgbGZ0cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxwd2QgbHMgbWdldCBtaXJyb3IgbWtkaXIgbW9kdWxlIG1vcmUgbXB1dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1ybSBtdiBubGlzdCBvcGVuIHBnZXQgcHV0IHB3ZCBxdWV1ZSBxdW90ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHJlZ2V0IHJlY2xzIHJlbHMgcmVubGlzdCByZXBlYXQgcmVwdXQgcm0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBybWRpciBzY2FjaGUgc2l0ZSBzb3VyY2Ugc3VzcGVuZCB1c2VyIHZlcnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB3YWl0IHpjYXQgem1vcmUKKworc3luIHJlZ2lvbiAgbGZ0cFNldCAgICAgICAgICAgICBtYXRjaGdyb3VwPWxmdHBLZXl3b3JkcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSJzZXQiIGVuZD0iOyIgZW5kPSIkIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWxmdHBTdHJpbmcsbGZ0cE51bWJlcixsZnRwQm9vbGVhbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsZnRwSW50ZXJ2YWwsbGZ0cFNldHRpbmdzUHJlZml4LGxmdHBTZXR0aW5ncworc3luIG1hdGNoICAgbGZ0cFNldHRpbmdzUHJlZml4ICBjb250YWluZWQgJ1w8XCUoYm1rXHxjYWNoZVx8Y21kXHxjb2xvclx8ZG5zXCk6Jworc3luIG1hdGNoICAgbGZ0cFNldHRpbmdzUHJlZml4ICBjb250YWluZWQgJ1w8XCUoZmlsZVx8ZmlzaFx8ZnRwXHxoZnRwXCk6Jworc3luIG1hdGNoICAgbGZ0cFNldHRpbmdzUHJlZml4ICBjb250YWluZWQgJ1w8XCUoaHR0cFx8aHR0cHNcfG1pcnJvclx8bW9kdWxlXCk6Jworc3luIG1hdGNoICAgbGZ0cFNldHRpbmdzUHJlZml4ICBjb250YWluZWQgJ1w8XCUobmV0XHxzZnRwXHxzc2xcfHhmZXJcKTonCiAiIGJtazoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc2F2ZS1wW2Fzc3dvcmRzXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzICAgICAgICBjb250YWluZWQgc2F2ZS1wW2Fzc3dvcmRzXQogIiBjYWNoZToKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY2FjaGUtZW1bcHR5LWxpc3RpbmdzXSBlblthYmxlXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBleHBbaXJlXSBzaXpbZV0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncyAgICAgICAgY29udGFpbmVkIGNhY2hlLWVtW3B0eS1saXN0aW5nc10gZW5bYWJsZV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBleHBbaXJlXSBzaXpbZV0KICIgY21kOgotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBhdFstZXhpdF0gY2xzLWNbb21wbGV0aW9uLWRlZmF1bHRdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGNscy1kW2VmYXVsdF0gY3NbaC1oaXN0b3J5XQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBkZWZhdWx0LXBbcm90b2NvbF0gZGVmYXVsdC10W2l0bGVdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGZhaVtsLWV4aXRdIGluW3RlcmFjdGl2ZV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgbG9bbmctcnVubmluZ10gbHNbLWRlZmF1bHRdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIG1vW3ZlLWJhY2tncm91bmRdIHByb21bcHRdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHJlbVtvdGUtY29tcGxldGlvbl0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc2F2ZS1jW3dkLWhpc3RvcnldIHNhdmUtcltsLWhpc3RvcnldCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNldC10W2VybS1zdGF0dXNdIHN0YXR1W3MtaW50ZXJ2YWxdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHRlW3JtLXN0YXR1c10gdmVyYltvc2VdIHZlcmlmeS1oW29zdF0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdmVyaWZ5LXBhdGggdmVyaWZ5LXBhdGhbLWNhY2hlZF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncyAgICAgICAgY29udGFpbmVkIGF0Wy1leGl0XSBjbHMtY1tvbXBsZXRpb24tZGVmYXVsdF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjbHMtZFtlZmF1bHRdIGNzW2gtaGlzdG9yeV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWZhdWx0LXBbcm90b2NvbF0gZGVmYXVsdC10W2l0bGVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MgICAgICAgIGNvbnRhaW5lZCBmYWlbbC1leGl0XSBpblt0ZXJhY3RpdmVdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9bbmctcnVubmluZ10gbHNbLWRlZmF1bHRdIG1vW3ZlLWJhY2tncm91bmRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcHJvbVtwdF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZW1bb3RlLWNvbXBsZXRpb25dCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2F2ZS1jW3dkLWhpc3RvcnldIHNhdmUtcltsLWhpc3RvcnldCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2V0LXRbZXJtLXN0YXR1c10gc3RhdHVbcy1pbnRlcnZhbF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0ZVtybS1zdGF0dXNdIHZlcmJbb3NlXSB2ZXJpZnktaFtvc3RdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmVyaWZ5LXBhdGggdmVyaWZ5LXBhdGhbLWNhY2hlZF0KICIgY29sb3I6Ci1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGRpclstY29sb3JzXSB1c2UtY1tvbG9yXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzICAgICAgICBjb250YWluZWQgZGlyWy1jb2xvcnNdIHVzZS1jW29sb3JdCiAiIGRuczoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgU1tSVi1xdWVyeV0gY2FjaGUtZW5bYWJsZV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY2FjaGUtZXhbcGlyZV0gY2FjaGUtc1tpemVdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGZhdFthbC10aW1lb3V0XSBvW3JkZXJdIHVzZS1mb1tya10KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncyAgICAgICAgY29udGFpbmVkIFNbUlYtcXVlcnldIGNhY2hlLWVuW2FibGVdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY2FjaGUtZXhbcGlyZV0gY2FjaGUtc1tpemVdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZmF0W2FsLXRpbWVvdXRdIG9bcmRlcl0gdXNlLWZvW3JrXQogIiBmaWxlOgotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjaFthcnNldF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncyAgICAgICAgY29udGFpbmVkIGNoW2Fyc2V0XQogIiBmaXNoOgotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjb25uZWN0Wy1wcm9ncmFtXSBzaFtlbGxdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MgICAgICAgIGNvbnRhaW5lZCBjb25uZWN0Wy1wcm9ncmFtXSBzaFtlbGxdCiAiIGZ0cDoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgYWNjdCBhbm9uLXBbYXNzXSBhbm9uLXVbc2VyXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBhdVt0by1zeW5jLW1vZGVdIGJbaW5kLWRhdGEtc29ja2V0XQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjaFthcnNldF0gY2xpW2VudF0gZGV2W2ljZS1wcmVmaXhdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGZpW3gtcGFzdi1hZGRyZXNzXSBmeHAtZltvcmNlXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBmeHAtcFthc3NpdmUtc291cmNlXSBoW29tZV0gbGFbbmddCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGxpc3QtZVttcHR5LW9rXSBsaXN0LW9bcHRpb25zXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBub3BbLWludGVydmFsXSBwYXNbc2l2ZS1tb2RlXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwb3J0LWlbcHY0XSBwb3J0LXJbYW5nZV0gcHJveFt5XQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCByZXN0LWxbaXN0XSByZXN0LXNbdG9yXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCByZXRyeS01MzAgcmV0cnktNTMwWy1hbm9ueW1vdXNdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNpdFtlLWdyb3VwXSBza2V5LWFbbGxvd10KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc2tleS1mW29yY2VdIHNzbC1hbGxvdwotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBzc2wtYWxsb3dbLWFub255bW91c10gc3NsLWF1W3RoXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBzc2wtZltvcmNlXSBzc2wtcHJvdGVjdC1kW2F0YV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc3NsLXByb3RlY3QtbFtpc3RdIHN0YXQtW2ludGVydmFsXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBzeVtuYy1tb2RlXSB0aW1leltvbmVdIHVzZS1hW2Jvcl0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdXNlLWZlW2F0XSB1c2UtZnhbcF0gdXNlLWhmW3RwXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB1c2UtbWR0bSB1c2UtbWR0bVstb3ZlcmxvYWRlZF0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdXNlLW1sW3NkXSB1c2UtcFtyZXRdIHVzZS1xW3VpdF0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdXNlLXNpdGUtY1tobW9kXSB1c2Utc2l0ZS1pW2RsZV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdXNlLXNpdGUtdVt0aW1lXSB1c2Utc2l6W2VdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1zdFthdF0gdXNlLXRlW2xuZXQtaWFjXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB2ZXJpZnktYVtkZHJlc3NdIHZlcmlmeS1wW29ydF0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgd1tlYi1tb2RlXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzICAgICAgICBjb250YWluZWQgYWNjdCBhbm9uLXBbYXNzXSBhbm9uLXVbc2VyXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGF1W3RvLXN5bmMtbW9kZV0gYltpbmQtZGF0YS1zb2NrZXRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY2hbYXJzZXRdIGNsaVtlbnRdIGRldltpY2UtcHJlZml4XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZpW3gtcGFzdi1hZGRyZXNzXSBmeHAtZltvcmNlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZ4cC1wW2Fzc2l2ZS1zb3VyY2VdIGhbb21lXSBsYVtuZ10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsaXN0LWVbbXB0eS1va10gbGlzdC1vW3B0aW9uc10KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub3BbLWludGVydmFsXSBwYXNbc2l2ZS1tb2RlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvcnQtaVtwdjRdIHBvcnQtclthbmdlXSBwcm94W3ldCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmVzdC1sW2lzdF0gcmVzdC1zW3Rvcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZXRyeS01MzAgcmV0cnktNTMwWy1hbm9ueW1vdXNdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2l0W2UtZ3JvdXBdIHNrZXktYVtsbG93XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNrZXktZltvcmNlXSBzc2wtYWxsb3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzc2wtYWxsb3dbLWFub255bW91c10gc3NsLWF1W3RoXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNzbC1mW29yY2VdIHNzbC1wcm90ZWN0LWRbYXRhXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNzbC1wcm90ZWN0LWxbaXN0XSBzdGF0LVtpbnRlcnZhbF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzeVtuYy1tb2RlXSB0aW1leltvbmVdIHVzZS1hW2Jvcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1c2UtZmVbYXRdIHVzZS1meFtwXSB1c2UtaGZbdHBdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdXNlLW1kdG0gdXNlLW1kdG1bLW92ZXJsb2FkZWRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdXNlLW1sW3NkXSB1c2UtcFtyZXRdIHVzZS1xW3VpdF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1c2Utc2l0ZS1jW2htb2RdIHVzZS1zaXRlLWlbZGxlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHVzZS1zaXRlLXVbdGltZV0gdXNlLXNpeltlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHVzZS1zdFthdF0gdXNlLXRlW2xuZXQtaWFjXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZlcmlmeS1hW2RkcmVzc10gdmVyaWZ5LXBbb3J0XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHdbZWItbW9kZV0KICIgaGZ0cDoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgd1tlYi1tb2RlXSBjYWNoZSBwcm94W3ldCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1hdVt0aG9yaXphdGlvbl0gdXNlLWhlW2FkXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB1c2UtdHlbcGVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MgICAgICAgIGNvbnRhaW5lZCB3W2ViLW1vZGVdIGNhY2hlIHByb3hbeV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1c2UtYXVbdGhvcml6YXRpb25dIHVzZS1oZVthZF0gdXNlLXR5W3BlXQogIiBodHRwOgotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBhY2NlcHQgYWNjZXB0LWNbaGFyc2V0XQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBhY2NlcHQtbFthbmd1YWdlXSBjYWNoZSBjb29ba2llXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwb3NbdC1jb250ZW50LXR5cGVdIHByb3hbeV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcHV0LWNbb250ZW50LXR5cGVdIHB1dC1tW2V0aG9kXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCByZWZbZXJlcl0gc2V0LWNbb29raWVzXSB1c2VyWy1hZ2VudF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncyAgICAgICAgY29udGFpbmVkIGFjY2VwdCBhY2NlcHQtY1toYXJzZXRdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWNjZXB0LWxbYW5ndWFnZV0gY2FjaGUgY29vW2tpZV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwb3NbdC1jb250ZW50LXR5cGVdIHByb3hbeV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwdXQtY1tvbnRlbnQtdHlwZV0gcHV0LW1bZXRob2RdIHJlZltlcmVyXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNldC1jW29va2llc10gdXNlclstYWdlbnRdCiAiIGh0dHBzOgotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwcm94W3ldCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MgICAgICAgIGNvbnRhaW5lZCBwcm94W3ldCiAiIG1pcnJvcjoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgZXhjW2x1ZGUtcmVnZXhdIG9bcmRlcl0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcGFyYWxsZWwtZFtpcmVjdG9yaWVzXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwYXJhbGxlbC10W3JhbnNmZXItY291bnRdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHVzZS1wW2dldC1uXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzICAgICAgICBjb250YWluZWQgZXhjW2x1ZGUtcmVnZXhdIG9bcmRlcl0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwYXJhbGxlbC1kW2lyZWN0b3JpZXNdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFyYWxsZWwtdFtyYW5zZmVyLWNvdW50XSB1c2UtcFtnZXQtbl0KICIgbW9kdWxlOgotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBwYXRbaF0KK3N5biBrZXl3b3JkIGxmdHBTZXR0aW5ncyAgICAgICAgY29udGFpbmVkIHBhdFtoXQogIiBuZXQ6Ci1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGNvbm5lY3Rpb24tbFtpbWl0XQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjb25uZWN0aW9uLXRbYWtlb3Zlcl0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgaWRbbGVdIGxpbWl0LW1bYXhdIGxpbWl0LXJbYXRlXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBsaW1pdC10b3RhbC1tW2F4XSBsaW1pdC10b3RhbC1yW2F0ZV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgbWF4LXJldFtyaWVzXSBuby1bcHJveHldCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHBlW3JzaXN0LXJldHJpZXNdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHJlY29ubmVjdC1pbnRlcnZhbC1iW2FzZV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcmVjb25uZWN0LWludGVydmFsLW1hW3hdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHJlY29ubmVjdC1pbnRlcnZhbC1tdVtsdGlwbGllcl0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc29ja2V0LWJpbmQtaXB2NCBzb2NrZXQtYmluZC1pcHY2Ci1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIHNvY2tldC1idVtmZmVyXSBzb2NrZXQtbVtheHNlZ10KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgdGltZW9bdXRdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MgICAgICAgIGNvbnRhaW5lZCBjb25uZWN0aW9uLWxbaW1pdF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb25uZWN0aW9uLXRbYWtlb3Zlcl0gaWRbbGVdIGxpbWl0LW1bYXhdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbGltaXQtclthdGVdIGxpbWl0LXRvdGFsLW1bYXhdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbGltaXQtdG90YWwtclthdGVdIG1heC1yZXRbcmllc10gbm8tW3Byb3h5XQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBlW3JzaXN0LXJldHJpZXNdIHJlY29ubmVjdC1pbnRlcnZhbC1iW2FzZV0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZWNvbm5lY3QtaW50ZXJ2YWwtbWFbeF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZWNvbm5lY3QtaW50ZXJ2YWwtbXVbbHRpcGxpZXJdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc29ja2V0LWJpbmQtaXB2NCBzb2NrZXQtYmluZC1pcHY2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc29ja2V0LWJ1W2ZmZXJdIHNvY2tldC1tW2F4c2VnXSB0aW1lb1t1dF0KICIgc2Z0cDoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY29ubmVjdFstcHJvZ3JhbV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgbWF4LXBbYWNrZXRzLWluLWZsaWdodF0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgcHJvdFtvY29sLXZlcnNpb25dIHNlclt2ZXItcHJvZ3JhbV0KLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgc2l6ZS1yW2VhZF0gc2l6ZS13W3JpdGVdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MgICAgICAgIGNvbnRhaW5lZCBjb25uZWN0Wy1wcm9ncmFtXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1heC1wW2Fja2V0cy1pbi1mbGlnaHRdIHByb3Rbb2NvbC12ZXJzaW9uXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNlclt2ZXItcHJvZ3JhbV0gc2l6ZS1yW2VhZF0gc2l6ZS13W3JpdGVdCiAiIHNzbDoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY2EtZltpbGVdIGNhLXBbYXRoXSBjZVtydC1maWxlXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBjcmwtZltpbGVdIGNybC1wW2F0aF0ga1tleS1maWxlXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCB2ZXJpZnktY1tlcnRpZmljYXRlXQorc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzICAgICAgICBjb250YWluZWQgY2EtZltpbGVdIGNhLXBbYXRoXSBjZVtydC1maWxlXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNybC1mW2lsZV0gY3JsLXBbYXRoXSBrW2V5LWZpbGVdCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmVyaWZ5LWNbZXJ0aWZpY2F0ZV0KICIgeGZlcjoKLXN5biBrZXl3b3JkIGxmdHBTZXR0aW5ncwljb250YWluZWQgY2xvW2JiZXJdIGRpc1trLWZ1bGwtZmF0YWxdCi1zeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MJY29udGFpbmVkIGV0YS1wW2VyaW9kXSBldGEtdFtlcnNlXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCBtYWtbZS1iYWNrdXBdIG1heC1yZWRbaXJlY3Rpb25zXQotc3luIGtleXdvcmQgbGZ0cFNldHRpbmdzCWNvbnRhaW5lZCByYVt0ZS1wZXJpb2RdCitzeW4ga2V5d29yZCBsZnRwU2V0dGluZ3MgICAgICAgIGNvbnRhaW5lZCBjbG9bYmJlcl0gZGlzW2stZnVsbC1mYXRhbF0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBldGEtcFtlcmlvZF0gZXRhLXRbZXJzZV0gbWFrW2UtYmFja3VwXQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1heC1yZWRbaXJlY3Rpb25zXSByYVt0ZS1wZXJpb2RdCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xmdHBfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbGZ0cF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayBsZnRwQ29tbWVudAkJQ29tbWVudAotICBIaUxpbmsgbGZ0cFRvZG8JCVRvZG8KLSAgSGlMaW5rIGxmdHBTdHJpbmcJCVN0cmluZwotICBIaUxpbmsgbGZ0cE51bWJlcgkJTnVtYmVyCi0gIEhpTGluayBsZnRwQm9vbGVhbgkJQm9vbGVhbgotICBIaUxpbmsgbGZ0cEludGVydmFsCQlOdW1iZXIKLSAgSGlMaW5rIGxmdHBLZXl3b3JkcwkJS2V5d29yZAotICBIaUxpbmsgbGZ0cFNldHRpbmdzUHJlZml4CVByZVByb2MKLSAgSGlMaW5rIGxmdHBTZXR0aW5ncwkJVHlwZQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2hpIGRlZiBsaW5rIGxmdHBDb21tZW50ICAgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgbGZ0cFRvZG8gICAgICAgICAgICBUb2RvCitoaSBkZWYgbGluayBsZnRwU3RyaW5nICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgbGZ0cE51bWJlciAgICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIGxmdHBCb29sZWFuICAgICAgICAgQm9vbGVhbgoraGkgZGVmIGxpbmsgbGZ0cEludGVydmFsICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIGxmdHBLZXl3b3JkcyAgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgbGZ0cFNldHRpbmdzUHJlZml4ICBQcmVQcm9jCitoaSBkZWYgbGluayBsZnRwU2V0dGluZ3MgICAgICAgIFR5cGUKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibGZ0cCIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9saWJhby52aW0gYi9ydW50aW1lL3N5bnRheC9saWJhby52aW0KaW5kZXggZjY3NTE1MC4uZjRjZTYyMyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbGliYW8udmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2xpYmFvLnZpbQpAQCAtMSw0NiArMSwyNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBsaWJhbyBjb25maWd1cmF0aW9uIGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvbGliYW8vCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICA0ZGRlZjBhOC02ODE3LTQ1NTUtYTVhMS0wYmU4MjA5NDA1M2QKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbGliYW8uY29uZig1KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBUb2RvCi1zeW4ga2V5d29yZCBsaWJhb1RvZG8JICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCiAKLSIgQ29tbWVudHMKLXN5biByZWdpb24gIGxpYmFvQ29tbWVudCAgICBtYXRjaGdyb3VwPWxpYmFvQ29tbWVudCBzdGFydD0nXlxzKiMnIGVuZD0nJCcgY29udGFpbnM9bGliYW9Ub2RvCitzeW4ga2V5d29yZCBsaWJhb1RvZG8gICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCiAKLSIgS2V5d29yZHMKLXN5biBrZXl3b3JkIGxpYmFvS2V5d29yZCAgICBkZWZhdWx0X2RyaXZlcgorc3luIHJlZ2lvbiAgbGliYW9Db21tZW50ICBtYXRjaGdyb3VwPWxpYmFvQ29tbWVudCBzdGFydD0nXlxzKiMnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1saWJhb1RvZG8sQFNwZWxsCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2xpYmFvX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX2xpYmFvX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlEZWYgaGkgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIGRlZiA8YXJncz4KLSAgZW5kaWYKK3N5biBrZXl3b3JkIGxpYmFvS2V5d29yZCAgZGVmYXVsdF9kcml2ZXIKIAotICBIaUxpbmsgbGliYW9Ub2RvCVRvZG8KLSAgSGlMaW5rIGxpYmFvQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBsaWJhb0tleXdvcmQJS2V5d29yZAotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi0gIGRlbGNvbW1hbmQgSGlEZWYKLWVuZGlmCitoaSBkZWYgbGluayBsaWJhb1RvZG8gICAgIFRvZG8KK2hpIGRlZiBsaW5rIGxpYmFvQ29tbWVudCAgQ29tbWVudAoraGkgZGVmIGxpbmsgbGliYW9LZXl3b3JkICBLZXl3b3JkCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxpYmFvIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xpbWl0cy52aW0gYi9ydW50aW1lL3N5bnRheC9saW1pdHMudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2ZGZkOGEKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9saW1pdHMudmltCkBAIC0wLDAgKzEsNDQgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIGxpbWl0cyg1KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitzeW4ga2V5d29yZCBsaW1pdHNUb2RvICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCisKK3N5biByZWdpb24gIGxpbWl0c0NvbW1lbnQgZGlzcGxheSBvbmVsaW5lIHN0YXJ0PSdeXHMqIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWxpbWl0c1RvZG8sQFNwZWxsCisKK3N5biBtYXRjaCAgIGxpbWl0c0JlZ2luICAgZGlzcGxheSAnXicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bGltaXRzVXNlcixsaW1pdHNEZWZhdWx0LGxpbWl0c0NvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgbGltaXRzVXNlciAgICBjb250YWluZWQgJ1teIFx0IypdXCsnCisgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxpbWl0c0xpbWl0LGxpbWl0c0RlTGltaXQgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIGxpbWl0c0RlZmF1bHQgY29udGFpbmVkICcqJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1saW1pdHNMaW1pdCxsaW1pdHNEZUxpbWl0IHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBsaW1pdHNMaW1pdCAgIGNvbnRhaW5lZCAnW0FDREZNTlJTVFVLTFBdJyBuZXh0Z3JvdXA9bGltaXRzTnVtYmVyCitzeW4gbWF0Y2ggICBsaW1pdHNEZUxpbWl0IGNvbnRhaW5lZCAnLScKKworc3luIG1hdGNoICAgbGltaXRzTnVtYmVyICBjb250YWluZWQgJ1xkXCtcPicgbmV4dGdyb3VwPWxpbWl0c0xpbWl0IHNraXB3aGl0ZQorCitoaSBkZWYgbGluayBsaW1pdHNUb2RvICAgIFRvZG8KK2hpIGRlZiBsaW5rIGxpbWl0c0NvbW1lbnQgQ29tbWVudAoraGkgZGVmIGxpbmsgbGltaXRzVXNlciAgICBLZXl3b3JkCitoaSBkZWYgbGluayBsaW1pdHNEZWZhdWx0IE1hY3JvCitoaSBkZWYgbGluayBsaW1pdHNMaW1pdCAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIGxpbWl0c0RlTGltaXQgU3BlY2lhbAoraGkgZGVmIGxpbmsgbGltaXRzTnVtYmVyICBOdW1iZXIKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAibGltaXRzIgorCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xvZ2luYWNjZXNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2xvZ2luYWNjZXNzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NGEwNTlkCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbG9naW5hY2Nlc3MudmltCkBAIC0wLDAgKzEsOTYgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIGxvZ2luLmFjY2Vzcyg1KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitzeW4ga2V5d29yZCBsb2dpbmFjY2Vzc1RvZG8gICAgICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCisKK3N5biByZWdpb24gIGxvZ2luYWNjZXNzQ29tbWVudCAgICAgICAgZGlzcGxheSBvbmVsaW5lIHN0YXJ0PSdeIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWxvZ2luYWNjZXNzVG9kbyxAU3BlbGwKKworc3luIG1hdGNoICAgbG9naW5hY2Nlc3NCZWdpbiAgICAgICAgICBkaXNwbGF5ICdeJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1sb2dpbmFjY2Vzc1Blcm1pc3Npb24sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9naW5hY2Nlc3NDb21tZW50IHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBsb2dpbmFjY2Vzc1Blcm1pc3Npb24gICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdbXiNdJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWxvZ2luYWNjZXNzUGVybUVycm9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luYWNjZXNzVXNlclNlcAorCitzeW4gbWF0Y2ggICBsb2dpbmFjY2Vzc1Blcm1FcnJvciAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdbXistXScKKworc3luIG1hdGNoICAgbG9naW5hY2Nlc3NVc2VyU2VwICAgICAgICBjb250YWluZWQgZGlzcGxheSAnOicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bG9naW5hY2Nlc3NVc2VycywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsb2dpbmFjY2Vzc0FsbFVzZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxvZ2luYWNjZXNzRXhjZXB0VXNlcnMKKworc3luIG1hdGNoICAgbG9naW5hY2Nlc3NVc2VycyAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnW14sIFx0Ol1cKycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bG9naW5hY2Nlc3NVc2VySW50U2VwLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxvZ2luYWNjZXNzT3JpZ2luU2VwCisKK3N5biBtYXRjaCAgIGxvZ2luYWNjZXNzQWxsVXNlcnMgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1w8QUxMXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luYWNjZXNzVXNlckludFNlcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsb2dpbmFjY2Vzc09yaWdpblNlcAorCitzeW4gbWF0Y2ggICBsb2dpbmFjY2Vzc0xvY2FsVXNlcnMgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcPExPQ0FMXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luYWNjZXNzVXNlckludFNlcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsb2dpbmFjY2Vzc09yaWdpblNlcAorCitzeW4gbWF0Y2ggICBsb2dpbmFjY2Vzc0V4Y2VwdFVzZXJzICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcPEVYQ0VQVFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1sb2dpbmFjY2Vzc1VzZXJJbnRTZXAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9naW5hY2Nlc3NPcmlnaW5TZXAKKworc3luIG1hdGNoICAgbG9naW5hY2Nlc3NVc2VySW50U2VwICAgICBjb250YWluZWQgZGlzcGxheSAnWywgXHRdJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1sb2dpbmFjY2Vzc1VzZXJzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxvZ2luYWNjZXNzQWxsVXNlcnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9naW5hY2Nlc3NFeGNlcHRVc2VycworCitzeW4gbWF0Y2ggICBsb2dpbmFjY2Vzc09yaWdpblNlcCAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICc6JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1sb2dpbmFjY2Vzc09yaWdpbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9naW5hY2Nlc3NBbGxPcmlnaW5zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxvZ2luYWNjZXNzRXhjZXB0T3JpZ2lucworCitzeW4gbWF0Y2ggICBsb2dpbmFjY2Vzc09yaWdpbnMgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdbXiwgXHRdXCsnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luYWNjZXNzT3JpZ2luSW50U2VwCisKK3N5biBtYXRjaCAgIGxvZ2luYWNjZXNzQWxsT3JpZ2lucyAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1w8QUxMXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luYWNjZXNzT3JpZ2luSW50U2VwCisKK3N5biBtYXRjaCAgIGxvZ2luYWNjZXNzTG9jYWxPcmlnaW5zICAgY29udGFpbmVkIGRpc3BsYXkgJ1w8TE9DQUxcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bG9naW5hY2Nlc3NPcmlnaW5JbnRTZXAKKworc3luIG1hdGNoICAgbG9naW5hY2Nlc3NFeGNlcHRPcmlnaW5zICBjb250YWluZWQgZGlzcGxheSAnXDxFWENFUFRcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bG9naW5hY2Nlc3NPcmlnaW5JbnRTZXAKKworc3luIG1hdGNoICAgbG9naW5hY2Nlc3NPcmlnaW5JbnRTZXAgICBjb250YWluZWQgZGlzcGxheSAnWywgXHRdJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1sb2dpbmFjY2Vzc09yaWdpbnMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9naW5hY2Nlc3NBbGxPcmlnaW5zLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxvZ2luYWNjZXNzRXhjZXB0T3JpZ2lucworCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc1RvZG8gICAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGxvZ2luYWNjZXNzQ29tbWVudCAgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgbG9naW5hY2Nlc3NQZXJtaXNzaW9uICAgICBUeXBlCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc1Blcm1FcnJvciAgICAgIEVycm9yCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc1VzZXJTZXAgICAgICAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgbG9naW5hY2Nlc3NVc2VycyAgICAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc0FsbFVzZXJzICAgICAgIE1hY3JvCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc0xvY2FsVXNlcnMgICAgIE1hY3JvCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc0V4Y2VwdFVzZXJzICAgIE9wZXJhdG9yCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc1VzZXJJbnRTZXAgICAgIGxvZ2luYWNjZXNzVXNlclNlcAoraGkgZGVmIGxpbmsgbG9naW5hY2Nlc3NPcmlnaW5TZXAgICAgICBsb2dpbmFjY2Vzc1VzZXJTZXAKK2hpIGRlZiBsaW5rIGxvZ2luYWNjZXNzT3JpZ2lucyAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgbG9naW5hY2Nlc3NBbGxPcmlnaW5zICAgICBNYWNybworaGkgZGVmIGxpbmsgbG9naW5hY2Nlc3NMb2NhbE9yaWdpbnMgICBNYWNybworaGkgZGVmIGxpbmsgbG9naW5hY2Nlc3NFeGNlcHRPcmlnaW5zICBsb2dpbmFjY2Vzc0V4Y2VwdFVzZXJzCitoaSBkZWYgbGluayBsb2dpbmFjY2Vzc09yaWdpbkludFNlcCAgIGxvZ2luYWNjZXNzVXNlclNlcAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJsb2dpbmFjY2VzcyIKKworbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9sb2dpbmRlZnMudmltIGIvcnVudGltZS9zeW50YXgvbG9naW5kZWZzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmJjNmRhCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvbG9naW5kZWZzLnZpbQpAQCAtMCwwICsxLDk0IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBMYW5ndWFnZTogICAgICAgICBsb2dpbi5kZWZzKDUpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK3N5biBrZXl3b3JkIGxvZ2luZGVmc1RvZG8gICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworc3luIHJlZ2lvbiAgbG9naW5kZWZzQ29tbWVudCAgICBkaXNwbGF5IG9uZWxpbmUgc3RhcnQ9J15ccyojJyBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9bG9naW5kZWZzVG9kbyxAU3BlbGwKKworc3luIG1hdGNoICAgbG9naW5kZWZzU3RyaW5nICAgICBjb250YWluZWQgJ1tbOmdyYXBoOl1dXCsnCisKK3N5biBtYXRjaCAgIGxvZ2luZGVmc1BhdGggICAgICAgY29udGFpbmVkICdbWzpncmFwaDpdXVwrJworCitzeW4gbWF0Y2ggICBsb2dpbmRlZnNQYXRocyAgICAgIGNvbnRhaW5lZCAnW1s6Z3JhcGg6XV1cKycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bG9naW5kZWZzUGF0aERlbGltCisKK3N5biBtYXRjaCAgIGxvZ2luZGVmc1BhdGhEZWxpbSAgY29udGFpbmVkICc6JyBuZXh0Z3JvdXA9bG9naW5kZWZzUGF0aHMKKworc3luIGtleXdvcmQgbG9naW5kZWZzQm9vbGVhbiAgICBjb250YWluZWQgeWVzIG5vCisKK3N5biBtYXRjaCAgIGxvZ2luZGVmc0RlY2ltYWwgICAgY29udGFpbmVkICdcPFxkXCtcPicKKworc3luIG1hdGNoICAgbG9naW5kZWZzT2N0YWwgICAgICBjb250YWluZWQgZGlzcGxheSAnXDwwXG9cK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPWxvZ2luZGVmc09jdGFsWmVybworc3luIG1hdGNoICAgbG9naW5kZWZzT2N0YWxaZXJvICBjb250YWluZWQgZGlzcGxheSAnXDwwJworc3luIG1hdGNoICAgbG9naW5kZWZzT2N0YWxFcnJvciBjb250YWluZWQgZGlzcGxheSAnXDwwXG8qWzg5XVxkKlw+JworCitzeW4gbWF0Y2ggICBsb2dpbmRlZnNIZXggICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcPDB4XHhcK1w+JworCitzeW4gY2x1c3RlciBsb2dpbmRlZnNOdW1iZXIgICAgIGNvbnRhaW5zPWxvZ2luZGVmc0RlY2ltYWwsbG9naW5kZWZzT2N0YWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9naW5kZWZzT2N0YWxFcnJvcixsb2dpbmRlZnNIZXgKKworc3luIG1hdGNoICAgbG9naW5kZWZzQmVnaW4gICAgICBkaXNwbGF5ICdeJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1sb2dpbmRlZnNLZXl3b3JkLGxvZ2luZGVmc0NvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGtleXdvcmQgbG9naW5kZWZzS2V5d29yZCAgICBjb250YWluZWQgQ0hGTl9BVVRIIENMT1NFX1NFU1NJT05TIENSRUFURV9IT01FCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgREVGQVVMVF9IT01FIEZBSUxMT0dfRU5BQiBMQVNUTE9HX0VOQUIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBMT0dfT0tfTE9HSU5TIExPR19VTktGQUlMX0VOQUIgTUFJTF9DSEVDS19FTkFCCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgTUQ1X0NSWVBUX0VOQUIgT0JTQ1VSRV9DSEVDS1NfRU5BQgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFBBU1NfQUxXQVlTX1dBUk4gUE9SVFRJTUVfQ0hFQ0tTX0VOQUIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBRVU9UQVNfRU5BQiBTVV9XSEVFTF9PTkxZIFNZU0xPR19TR19FTkFCCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU1lTTE9HX1NVX0VOQUIgVVNFUkdST1VQU19FTkFCCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luZGVmc0Jvb2xlYW4gc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGxvZ2luZGVmc0tleXdvcmQgICAgY29udGFpbmVkIENIRk5fUkVTVFJJQ1QgQ09OU09MRSBDT05TT0xFX0dST1VQUworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEVOVl9UWiBFTlZfSFogRkFLRV9TSEVMTCBTVV9OQU1FIExPR0lOX1NUUklORworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIE5PTE9HSU5fU1RSIFRUWUdST1VQIFVTRVJERUxfQ01ECisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luZGVmc1N0cmluZyBza2lwd2hpdGUKKworc3luIGtleXdvcmQgbG9naW5kZWZzS2V5d29yZCAgICBjb250YWluZWQgRU5WSVJPTl9GSUxFIEZUTVBfRklMRSBIVVNITE9HSU5fRklMRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIElTU1VFX0ZJTEUgTUFJTF9ESVIgTUFJTF9GSUxFIE5PTE9HSU5TX0ZJTEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBOT0xPR0lOU19GSUxFIFRUWVRZUEVfRklMRSBRTUFJTF9ESVIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBTVUxPR19GSUxFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luZGVmc1BhdGggc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIGxvZ2luZGVmc0tleXdvcmQgICAgY29udGFpbmVkIENSQUNLTElCX0RJQ1RQQVRIIEVOVl9QQVRICisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgRU5WX1JPT1RQQVRIIEVOVl9TVVBBVEggTU9URF9GSUxFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPWxvZ2luZGVmc1BhdGhzIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCBsb2dpbmRlZnNLZXl3b3JkICAgIGNvbnRhaW5lZCBFUkFTRUNIQVIgRkFJTF9ERUxBWSBHRVRQQVNTX0FTVEVSSVNLUworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEdJRF9NQVggR0lEX01JTiBLSUxMQ0hBUiBMT0dJTl9SRVRSSUVTCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgTE9HSU5fVElNRU9VVCBQQVNTX0NIQU5HRV9UUklFUyBQQVNTX01BWF9EQVlTCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgUEFTU19NQVhfTEVOIFBBU1NfTUlOX0RBWVMgUEFTU19NSU5fTEVOCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgUEFTU19XQVJOX0FHRSBUVFlQRVJNIFVJRF9NQVggVUlEX01JTiBVTElNSVQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBVTUFTSworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1AbG9naW5kZWZzTnVtYmVyIHNraXB3aGl0ZQorCitoaSBkZWYgbGluayBsb2dpbmRlZnNUb2RvICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIGxvZ2luZGVmc0NvbW1lbnQgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgbG9naW5kZWZzU3RyaW5nICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIGxvZ2luZGVmc1BhdGggICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBsb2dpbmRlZnNQYXRocyAgICAgIGxvZ2luZGVmc1BhdGgKK2hpIGRlZiBsaW5rIGxvZ2luZGVmc1BhdGhEZWxpbSAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBsb2dpbmRlZnNCb29sZWFuICAgIEJvb2xlYW4KK2hpIGRlZiBsaW5rIGxvZ2luZGVmc0RlY2ltYWwgICAgTnVtYmVyCitoaSBkZWYgbGluayBsb2dpbmRlZnNPY3RhbCAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgbG9naW5kZWZzT2N0YWxaZXJvICBQcmVQcm9jCitoaSBkZWYgbGluayBsb2dpbmRlZnNPY3RhbEVycm9yIEVycm9yCitoaSBkZWYgbGluayBsb2dpbmRlZnNIZXggICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgbG9naW5kZWZzS2V5d29yZCAgICBLZXl3b3JkCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gImxvZ2luZGVmcyIKKworbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tb2Rjb25mLnZpbSBiL3J1bnRpbWUvc3ludGF4L21vZGNvbmYudmltCmluZGV4IDU2OWUxMzQuLjgyY2I5ODAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21vZGNvbmYudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21vZGNvbmYudmltCkBAIC0xLDY2ICsxLDQ0IEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIExpbnV4IG1vZHV0aWxzIG1vZHVsZXMuY29uZiBGaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL21vZGNvbmYvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICBiNzk4MWJkYi1kYWEzLTQxZDEtOTRiNS1hM2Q2MGI2Mjc5MTYKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbW9kdWxlcy5jb25mKDUpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIGNvbW1lbnRzCi1zeW4gcmVnaW9uICBtb2Rjb25mQ29tbWVudCAgc3RhcnQ9IiMiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1tb2Rjb25mVG9kbworc2V0bG9jYWwgaXNrZXl3b3JkPUAsNDgtNTcsLQogCi0iIHRvZG8KLXN5biBrZXl3b3JkIG1vZGNvbmZUb2RvCSAgICBGSVhNRSBUT0RPIFhYWCBOT1RFCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCiAKLSIga2V5d29yZHMgYW5kIHNpbWlsYXIKLXN5biBtYXRjaCAgIG1vZGNvbmZCZWdpbiAgICAiXiIgc2tpcHdoaXRlIG5leHRncm91cD1tb2Rjb25mQ29tbWFuZCxtb2Rjb25mQ29tbWVudAorc3luIGtleXdvcmQgbW9kY29uZlRvZG8gICAgICAgICBGSVhNRSBUT0RPIFhYWCBOT1RFCiAKLXN5biBtYXRjaCAgIG1vZGNvbmZDb21tYW5kICAiXChhZGRcc1wrXClcPShhYm92ZVx8YmVsb3dcfHByb2JlXHxwcm9iZWFsbFx9Igotc3luIHJlZ2lvbiAgbW9kY29uZkNvbW1hbmQgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9bW9kY29uZkNvbW1hbmQgc3RhcnQ9IlwoYWRkXHNcK1wpXD1vcHRpb25zIiBza2lwPSJcXCQiIGVuZD0iJCIgY29udGFpbnM9bW9kY29uZk1vZE9wdAotc3luIGtleXdvcmQgbW9kY29uZkNvbW1hbmQgIGRlZmluZSByZW1vdmUga2VlcCBpbnN0YWxsIGluc21vZF9vcHQgZWxzZSBlbmRpZgotc3luIGtleXdvcmQgbW9kY29uZkNvbW1hbmQgIG5leHRncm91cD1tb2Rjb25mUGF0aCBza2lwd2hpdGUgYWxpYXMgZGVwZmlsZSBnZW5lcmljX3N0cmluZ2ZpbGUgcGNpbWFwZmlsZSBpbmNsdWRlIGlzYXBucG1hcGZpbGUgdXNibWFwZmlsZSBwYXJwb3J0bWFwZmlsZSBpZWVlMTM5NG1hcGZpbGUgcG5wYmlvc21hcGZpbGUgcGVyc2lzdGRpciBwcnVuZQotc3luIG1hdGNoICAgbW9kY29uZkNvbW1hbmQgICJwYXRoXChcW1x3XCtcXVwpXD0iIG5leHRncm91cD1tb2Rjb25mUGF0aCBza2lwd2hpdGUKLXN5biByZWdpb24gIG1vZGNvbmZDb21tYW5kICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW1vZGNvbmZDb21tYW5kIHN0YXJ0PSJeXHMqXChpZlx8ZWxzZWlmXCkiIHNraXA9IlxcJCIgZW5kPSIkIiBjb250YWlucz1tb2Rjb25mT3AKLXN5biByZWdpb24gIG1vZGNvbmZDb21tYW5kICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPW1vZGNvbmZDb21tYW5kIHN0YXJ0PSJeXHMqXChwb3N0XHxwcmVcKS1cKGluc3RhbGxcfHJlbW92ZVwpIiBza2lwPSJcXCQiIGVuZD0iJCIKK3N5biByZWdpb24gIG1vZGNvbmZDb21tZW50ICAgICAgc3RhcnQ9JyMnIHNraXA9J1xcJCcgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPW1vZGNvbmZUb2RvLEBTcGVsbAogCitzeW4ga2V5d29yZCBtb2Rjb25mQ29uZGl0aW9uYWwgIGlmIGVsc2UgZWxzZWlmIGVuZGlmCiAKLSIgZXhwcmVzc2lvbnMgYW5kIHNpbWlsYXkKLXN5biBtYXRjaCAgIG1vZGNvbmZPcAkgICAgY29udGFpbmVkICJccy1bZm5rXVw+Igotc3luIHJlZ2lvbiAgbW9kY29uZlBhdGgJICAgIGNvbnRhaW5lZCBzdGFydD0iXCg9XEA9XClcPS8iIHNraXA9IlxcJCIgZW5kPSJcXFxAIVxfcyIKLXN5biBtYXRjaCAgIG1vZGNvbmZNb2RPcHQgICBjb250YWluZWQgIlw8XHdcKz1cQD0iCitzeW4ga2V5d29yZCBtb2Rjb25mUHJlUHJvYyAgICAgIGFsaWFzIGRlZmluZSBpbmNsdWRlIGtlZXAgcHJ1bmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwb3N0LWluc3RhbGwgcG9zdC1yZW1vdmUgcHJlLWluc3RhbGwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwcmUtcmVtb3ZlIHBlcnNpc3RkaXIKIAotaWYgZXhpc3RzKCJtb2Rjb25mX21pbmxpbmVzIikKLSAgICBsZXQgYjptb2Rjb25mX21pbmxpbmVzID0gbW9kY29uZl9taW5saW5lcwotZWxzZQotICAgIGxldCBiOm1vZGNvbmZfbWlubGluZXMgPSA1MAotZW5kaWYKLWV4ZWMgInN5biBzeW5jIG1pbmxpbmVzPSIgLiBiOm1vZGNvbmZfbWlubGluZXMKK3N5biBrZXl3b3JkIG1vZGNvbmZLZXl3b3JkICAgICAgYWRkIGFib3ZlIGJlbG93IGluc3RhbGwgb3B0aW9ucyBwcm9iZSBwcm9iZWFsbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHJlbW92ZQogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9tb2Rjb25mX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX21vZGNvbmZfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK3N5biBrZXl3b3JkIG1vZGNvbmZJZGVudGlmaWVyICAgZGVwZmlsZSBpbnNtb2Rfb3B0IHBhdGggZ2VuZXJpY19zdHJpbmdmaWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGNpbWFwZmlsZSBpc2FwbnBtYXBmaWxlIHVzYm1hcGZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwYXJwb3J0bWFwZmlsZSBpZWVlMTM5NG1hcGZpbGUgcG5wYmlvc21hcGZpbGUKK3N5biBtYXRjaCAgIG1vZGNvbmZJZGVudGlmaWVyICAgJ3BhdGhcW1teXV1cK1xdJwogCi0gIEhpTGluayBtb2Rjb25mQ29tbWVudCBDb21tZW50Ci0gIEhpTGluayBtb2Rjb25mVG9kbwlUb2RvCi0gIEhpTGluayBtb2Rjb25mQ29tbWFuZCBLZXl3b3JkCi0gIEhpTGluayBtb2Rjb25mUGF0aAlTdHJpbmcKLSAgSGlMaW5rIG1vZGNvbmZPcAlJZGVudGlmaWVyCi0gIEhpTGluayBtb2Rjb25mTW9kT3B0ICBJZGVudGlmaWVyCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi1lbmRpZgoraGkgZGVmIGxpbmsgbW9kY29uZlRvZG8gICAgICAgICBUb2RvCitoaSBkZWYgbGluayBtb2Rjb25mQ29tbWVudCAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIG1vZGNvbmZDb25kaXRpb25hbCAgQ29uZGl0aW9uYWwKK2hpIGRlZiBsaW5rIG1vZGNvbmZQcmVQcm9jICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgbW9kY29uZktleXdvcmQgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBtb2Rjb25mSWRlbnRpZmllciAgIElkZW50aWZpZXIKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAibW9kY29uZiIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9tcGxheWVyY29uZi52aW0gYi9ydW50aW1lL3N5bnRheC9tcGxheWVyY29uZi52aW0KaW5kZXggN2FiZTIwYS4uODU2ZDhjZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbXBsYXllcmNvbmYudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L21wbGF5ZXJjb25mLnZpbQpAQCAtMSwxMTEgKzEsODQgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgbXBsYXllcigxKSBjb25maWd1cmF0aW9uIGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvbXBsYXllcmNvbmYvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICBjMjBiOTM4MS01ODU4LTQ0NTItYjg2Ni01NGUyZTE4OTEyMjkKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbXBsYXllcigxKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI3CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBTZXQgaXNrZXl3b3JkIHNpbmNlIHdlIG5lZWQgYC0nIChhbmQgcG90ZW50aWFsbHkgb3RoZXJzKSBpbiBrZXl3b3Jkcy4KLSIgRm9yIHZlcnNpb24gNS54OiBTZXQgaXQgZ2xvYmFsbHkKLSIgRm9yIHZlcnNpb24gNi54OiBTZXQgaXQgbG9jYWxseQotaWYgdmVyc2lvbiA+PSA2MDAKLSAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgotZWxzZQotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXQgaXNrZXl3b3JkPTxhcmdzPgotZW5kaWYKLVNldElzayBALDQ4LTU3LC0KLWRlbGNvbW1hbmQgU2V0SXNrCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCiAKLSIgVG9kbwotc3luIGtleXdvcmQgbXBsYXllcmNvbmZUb2RvCWNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywtCiAKLSIgQ29tbWVudHMKLXN5biByZWdpb24gbXBsYXllcmNvbmZDb21tZW50ICAgZGlzcGxheSBtYXRjaGdyb3VwPW1wbGF5ZXJjb25mQ29tbWVudCBzdGFydD0nIycgZW5kPSckJyBjb250YWlucz1tcGxheWVyY29uZlRvZG8KK3N5biBrZXl3b3JkIG1wbGF5ZXJjb25mVG9kbyAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKIAotIiBQcmVQcm9jCitzeW4gcmVnaW9uIG1wbGF5ZXJjb25mQ29tbWVudCAgIGRpc3BsYXkgbWF0Y2hncm91cD1tcGxheWVyY29uZkNvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPW1wbGF5ZXJjb25mVG9kbyxAU3BlbGwKKwogc3luIGtleXdvcmQgbXBsYXllcmNvbmZQcmVQcm9jICBpbmNsdWRlCiAKLSIgQm9vbGVhbnMKIHN5biBrZXl3b3JkIG1wbGF5ZXJjb25mQm9vbGVhbiAgeWVzIG5vCiAKLSIgTnVtYmVycwogc3luIG1hdGNoICAgbXBsYXllcmNvbmZOdW1iZXIgICAnXDxcZFwrXD4nCiAKLSIgT3B0aW9ucwotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24JaGFyZGZyYW1lZHJvcCBub21vdXNlaW5wdXQgYmFuZHdpZHRoIGR1bXBzdHJlYW0KLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uCXJ0c3Atc3RyZWFtLW92ZXItdGNwIHR2IG92ZXJsYXBzdWIgc3ViLWJnLWFscGhhCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbglzdWJmb250LW91dGxpbmUgdW5pY29kZSBmb3JtYXQgdm8gZWRsIGNvb2tpZXMKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uCWZwcyB6cmZkIGFmLWFkdiBub3NvdW5kIGF1ZGlvLWRlbnNpdHkKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uCXBhc3Nsb2dmaWxlIHZvYnN1Ym91dGluZGV4Ci1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGF1dG9xIGF1dG9zeW5jIGJlbmNobWFyayBjb2xvcmtleSBub2NvbG9ya2V5Ci1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGVkbG91dCBlbnF1ZXVlIGZpeGVkLXZvIGZyYW1lZHJvcCBoCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGlkZW50aWZ5IGlucHV0IGxpcmNjb25mIGxpc3Qtb3B0aW9ucyBsb29wIG1lbnUKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbWVudS1jZmcgbWVudS1yb290IG5vam95c3RpY2sgbm9saXJjCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIG5vcnRjIHBsYXlsaXN0IHF1aWV0IHJlYWxseS1xdWlldCBzaHVmZmxlIHNraW4KLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgc2xhdmUgc29mdHNsZWVwIHNwZWVkIHNzdGVwIHVzZS1zdGRpbiBhaWQgYWxhbmcKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgYXVkaW8tZGVtdXhlciBhdWRpb2ZpbGUgYXVkaW9maWxlLWNhY2hlCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGNkcm9tLWRldmljZSBjYWNoZSBjZGRhIGNoYW5uZWxzIGNoYXB0ZXIKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgY29va2llcy1maWxlIGRlbXV4ZXIgZHVtcGF1ZGlvIGR1bXBmaWxlCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGR1bXB2aWRlbyBkdmJpbiBkdmQtZGV2aWNlIGR2ZGFuZ2xlIGZvcmNlaWR4Ci1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGZyYW1lcyBoci1tcDMtc2VlayBpZHggaXB2NC1vbmx5LXByb3h5IGxvYWRpZHgKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbWMgbWYgbmkgbm9icHMgbm9leHRiYXNlZCBwYXNzd2QgcHJlZmVyLWlwdjQKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgcHJlZmVyLWlwdjYgcmF3YXVkaW8gcmF3dmlkZW8KLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgc2F2ZWlkeCBzYiBzcmF0ZSBzcyB0c2tlZXBicm9rZW4gdHNwcm9nIHRzcHJvYmUKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgdXNlciB1c2VyLWFnZW50IHZpZCB2aXZvIGR1bXBqYWNvc3ViCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGR1bXBtaWNyb2R2ZHN1YiBkdW1wbXBzdWIgZHVtcHNhbWkgZHVtcHNydHN1Ygotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBkdW1wc3ViIGZmYWN0b3IgZmxpcC1oZWJyZXcgZm9udCBmb3JjZWRzdWJzb25seQotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBmcmliaWRpLWNoYXJzZXQgaWZvIG5vYXV0b3N1YiBvc2RsZXZlbAotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBzaWQgc2xhbmcgc3B1YWEgc3B1YWxpZ24gc3B1Z2F1c3Mgc3ViCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1Yi1iZy1jb2xvciBzdWItZGVtdXhlciBzdWItZnV6emluZXNzCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1Yi1uby10ZXh0LXBwIHN1YmFsaWduIHN1YmNjIHN1YmNwIHN1YmRlbGF5Ci1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1YmZpbGUgc3ViZm9udC1hdXRvc2NhbGUgc3ViZm9udC1ibHVyCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHN1YmZvbnQtZW5jb2Rpbmcgc3ViZm9udC1vc2Qtc2NhbGUKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgc3ViZm9udC10ZXh0LXNjYWxlIHN1YmZwcyBzdWJwb3Mgc3Vid2lkdGgKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgdXRmOCB2b2JzdWIgdm9ic3ViaWQgYWJzIGFvIGFvZmlsZSBhb3AgZGVsYXkKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbWl4ZXIgbm93YXZlaGVhZGVyIGFhIGJwcCBicmlnaHRuZXNzIGNvbnRyYXN0Ci1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGRmYm9wdHMgZGlzcGxheSBkb3VibGUgZHIgZHhyMiBmYiBmYm1vZGUKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgZmJtb2RlY29uZmlnIGZvcmNleHYgZnMgZnNtb2RlLWRvbnR1c2UgZnN0eXBlCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGdlb21ldHJ5IGd1aXdpZCBodWUganBlZyBtb25pdG9yLWRvdGNsb2NrCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIG1vbml0b3ItaGZyZXEgbW9uaXRvci12ZnJlcSBtb25pdG9yYXNwZWN0Ci1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIG5vZ3JhYnBvaW50ZXIgbm9rZWVwYXNwZWN0IG5veHYgb250b3AgcGFuc2Nhbgotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICByb290d2luIHNhdHVyYXRpb24gc2NyZWVudyBzdG9wLXhzY3JlZW5zYXZlciB2bQotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICB2c3luYyB3aWQgeGluZXJhbWFzY3JlZW4geiB6cmJ3IHpyY3JvcCB6cmRldgotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICB6cmhlbHAgenJub3JtIHpycXVhbGl0eSB6cnZkZWMgenJ4ZG9mZiBhYyBhZgotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBhZm0gYXNwZWN0IGZsaXAgbGF2ZG9wdHMgbm9hc3BlY3Qgbm9zbGljZXMKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgbm92aWRlbyBvbGRwcCBwcCBwcGhlbHAgc3NmIHN0ZXJlbyBzd3MgdmMgdmZtIHgKLXN5biBrZXl3b3JkIG1wbGF5ZXJjb25mT3B0aW9uICAgeHZpZG9wdHMgeHkgeSB6b29tIHZmIHZvcCBhdWRpby1kZWxheQotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBhdWRpby1wcmVsb2FkIGVuZHBvcyBmZm91cmNjIGluY2x1ZGUgaW5mbwotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBub2F1dG9leHBhbmQgbm9za2lwIG8gb2FjIG9mIG9mcHMgb3ZjCi1zeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIHNraXBsaW1pdCB2IHZvYnN1Ym91dCB2b2JzdWJvdXRpZAotc3luIGtleXdvcmQgbXBsYXllcmNvbmZPcHRpb24gICBsYW1lb3B0cyBsYXZjb3B0cyBudXZvcHRzIHh2aWRlbmNvcHRzCitzeW4ga2V5d29yZCBtcGxheWVyY29uZk9wdGlvbiAgIGhhcmRmcmFtZWRyb3Agbm9tb3VzZWlucHV0IGJhbmR3aWR0aCBkdW1wc3RyZWFtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcnRzcC1zdHJlYW0tb3Zlci10Y3AgdHYgb3ZlcmxhcHN1YgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN1Yi1iZy1hbHBoYSBzdWJmb250LW91dGxpbmUgdW5pY29kZSBmb3JtYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2byBlZGwgY29va2llcyBmcHMgenJmZCBhZi1hZHYgbm9zb3VuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGF1ZGlvLWRlbnNpdHkgcGFzc2xvZ2ZpbGUgdm9ic3Vib3V0aW5kZXggYXV0b3EKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhdXRvc3luYyBiZW5jaG1hcmsgY29sb3JrZXkgbm9jb2xvcmtleSBlZGxvdXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbnF1ZXVlIGZpeGVkLXZvIGZyYW1lZHJvcCBoIGlkZW50aWZ5IGlucHV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbGlyY2NvbmYgbGlzdC1vcHRpb25zIGxvb3AgbWVudSBtZW51LWNmZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1lbnUtcm9vdCBub2pveXN0aWNrIG5vbGlyYyBub3J0YyBwbGF5bGlzdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHF1aWV0IHJlYWxseS1xdWlldCBzaHVmZmxlIHNraW4gc2xhdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzb2Z0c2xlZXAgc3BlZWQgc3N0ZXAgdXNlLXN0ZGluIGFpZCBhbGFuZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGF1ZGlvLWRlbXV4ZXIgYXVkaW9maWxlIGF1ZGlvZmlsZS1jYWNoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNkcm9tLWRldmljZSBjYWNoZSBjZGRhIGNoYW5uZWxzIGNoYXB0ZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb29raWVzLWZpbGUgZGVtdXhlciBkdW1wYXVkaW8gZHVtcGZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkdW1wdmlkZW8gZHZiaW4gZHZkLWRldmljZSBkdmRhbmdsZSBmb3JjZWlkeAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZyYW1lcyBoci1tcDMtc2VlayBpZHggaXB2NC1vbmx5LXByb3h5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9hZGlkeCBtYyBtZiBuaSBub2JwcyBub2V4dGJhc2VkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFzc3dkIHByZWZlci1pcHY0IHByZWZlci1pcHY2IHJhd2F1ZGlvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmF3dmlkZW8gc2F2ZWlkeCBzYiBzcmF0ZSBzcyB0c2tlZXBicm9rZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0c3Byb2cgdHNwcm9iZSB1c2VyIHVzZXItYWdlbnQgdmlkIHZpdm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkdW1wamFjb3N1YiBkdW1wbWljcm9kdmRzdWIgZHVtcG1wc3ViIGR1bXBzYW1pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHVtcHNydHN1YiBkdW1wc3ViIGZmYWN0b3IgZmxpcC1oZWJyZXcgZm9udAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZvcmNlZHN1YnNvbmx5IGZyaWJpZGktY2hhcnNldCBpZm8gbm9hdXRvc3ViCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgb3NkbGV2ZWwgc2lkIHNsYW5nIHNwdWFhIHNwdWFsaWduIHNwdWdhdXNzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3ViIHN1Yi1iZy1jb2xvciBzdWItZGVtdXhlciBzdWItZnV6emluZXNzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3ViLW5vLXRleHQtcHAgc3ViYWxpZ24gc3ViY2Mgc3ViY3Agc3ViZGVsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdWJmaWxlIHN1YmZvbnQtYXV0b3NjYWxlIHN1YmZvbnQtYmx1cgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN1YmZvbnQtZW5jb2Rpbmcgc3ViZm9udC1vc2Qtc2NhbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdWJmb250LXRleHQtc2NhbGUgc3ViZnBzIHN1YnBvcyBzdWJ3aWR0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHV0Zjggdm9ic3ViIHZvYnN1YmlkIGFicyBhbyBhb2ZpbGUgYW9wIGRlbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWl4ZXIgbm93YXZlaGVhZGVyIGFhIGJwcCBicmlnaHRuZXNzIGNvbnRyYXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGZib3B0cyBkaXNwbGF5IGRvdWJsZSBkciBkeHIyIGZiIGZibW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZibW9kZWNvbmZpZyBmb3JjZXh2IGZzIGZzbW9kZS1kb250dXNlIGZzdHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGdlb21ldHJ5IGd1aXdpZCBodWUganBlZyBtb25pdG9yLWRvdGNsb2NrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbW9uaXRvci1oZnJlcSBtb25pdG9yLXZmcmVxIG1vbml0b3Jhc3BlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub2dyYWJwb2ludGVyIG5va2VlcGFzcGVjdCBub3h2IG9udG9wIHBhbnNjYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByb290d2luIHNhdHVyYXRpb24gc2NyZWVudyBzdG9wLXhzY3JlZW5zYXZlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZtIHZzeW5jIHdpZCB4aW5lcmFtYXNjcmVlbiB6IHpyYncgenJjcm9wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgenJkZXYgenJoZWxwIHpybm9ybSB6cnF1YWxpdHkgenJ2ZGVjIHpyeGRvZmYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhYyBhZiBhZm0gYXNwZWN0IGZsaXAgbGF2ZG9wdHMgbm9hc3BlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub3NsaWNlcyBub3ZpZGVvIG9sZHBwIHBwIHBwaGVscCBzc2Ygc3RlcmVvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3dzIHZjIHZmbSB4IHh2aWRvcHRzIHh5IHkgem9vbSB2ZiB2b3AKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhdWRpby1kZWxheSBhdWRpby1wcmVsb2FkIGVuZHBvcyBmZm91cmNjCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaW5jbHVkZSBpbmZvIG5vYXV0b2V4cGFuZCBub3NraXAgbyBvYWMgb2YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBvZnBzIG92YyBza2lwbGltaXQgdiB2b2JzdWJvdXQgdm9ic3Vib3V0aWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsYW1lb3B0cyBsYXZjb3B0cyBudXZvcHRzIHh2aWRlbmNvcHRzCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX21wbGF5ZXJfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbXBsYXllcl9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayBtcGxheWVyY29uZlRvZG8gICAgVG9kbwotICBIaUxpbmsgbXBsYXllcmNvbmZDb21tZW50IENvbW1lbnQKLSAgSGlMaW5rIG1wbGF5ZXJjb25mUHJlUHJvYyBQcmVQcm9jCi0gIEhpTGluayBtcGxheWVyY29uZkJvb2xlYW4gQm9vbGVhbgotICBIaUxpbmsgbXBsYXllcmNvbmZOdW1iZXIgIE51bWJlcgotICBIaUxpbmsgbXBsYXllcmNvbmZPcHRpb24gIEtleXdvcmQKLQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2hpIGRlZiBsaW5rIG1wbGF5ZXJjb25mVG9kbyAgICAgVG9kbworaGkgZGVmIGxpbmsgbXBsYXllcmNvbmZDb21tZW50ICBDb21tZW50CitoaSBkZWYgbGluayBtcGxheWVyY29uZlByZVByb2MgIFByZVByb2MKK2hpIGRlZiBsaW5rIG1wbGF5ZXJjb25mQm9vbGVhbiAgQm9vbGVhbgoraGkgZGVmIGxpbmsgbXBsYXllcmNvbmZOdW1iZXIgICBOdW1iZXIKK2hpIGRlZiBsaW5rIG1wbGF5ZXJjb25mT3B0aW9uICAgS2V5d29yZAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJtcGxheWVyY29uZiIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9uZXRyYy52aW0gYi9ydW50aW1lL3N5bnRheC9uZXRyYy52aW0KaW5kZXggODM5NDBlYi4uOWQ1ZDNhZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbmV0cmMudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L25ldHJjLnZpbQpAQCAtMSw1NSArMSw1MSBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMTItMTYKLSIgYXJjaC10YWc6CSAgICA0ZjZlY2IzNy1kMTBjLTRlY2EtYWRkMC03Nzk5MTU1OTQxNGEKKyIgTGFuZ3VhZ2U6ICAgICAgICAgbmV0cmMoNSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yNwogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLSIgS2V5d29yZHMKLXN5biBrZXl3b3JkIG5ldHJjS2V5d29yZCAgICAgIG1hY2hpbmUgcGFzc3dvcmQgbmV4dGdyb3VwPW5ldHJjTmFtZSBza2lwd2hpdGUgc2tpcG5sCi1zeW4ga2V5d29yZCBuZXRyY0tleXdvcmQgICAgICBsb2dpbiBuZXh0Z3JvdXA9bmV0cmNOYW1lLG5ldHJjU3BlY2lhbCBza2lwd2hpdGUgc2tpcG5sCi1zeW4ga2V5d29yZCBuZXRyY0tleXdvcmQgICAgICBkZWZhdWx0Ci1zeW4ga2V5d29yZCBuZXRyY0tleXdvcmQgICAgICBtYWNkZWYgbmV4dGdyb3VwPW5ldHJjSW5pdCxuZXRyY01hY3JvTmFtZSBza2lwd2hpdGUgc2tpcG5sCi1zeW4gcmVnaW9uICBuZXRyY01hY3JvCSAgICAgIGNvbnRhaW5lZCBzdGFydD0nLicgZW5kPSdeJCcKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBOYW1lcwotc3luIG1hdGNoICAgbmV0cmNOYW1lCSAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcU1wrJwotc3luIG1hdGNoICAgbmV0cmNOYW1lCSAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICciW15cXCJdKlwoXFwuW15cXCJdKlwpKicKLXN5biBtYXRjaCAgIG5ldHJjTWFjcm9OYW1lICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcU1wrJyBuZXh0Z3JvdXA9bmV0cmNNYWNybyBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBuZXRyY01hY3JvTmFtZSAgICBjb250YWluZWQgZGlzcGxheSAnIlteXFwiXSpcKFxcLlteXFwiXSpcKSonIG5leHRncm91cD1uZXRyY01hY3JvIHNraXB3aGl0ZSBza2lwbmwKK3N5biBrZXl3b3JkIG5ldHJjS2V5d29yZCAgICBtYWNoaW5lIG5leHRncm91cD1uZXRyY01hY2hpbmUgc2tpcHdoaXRlIHNraXBubAorc3luIGtleXdvcmQgbmV0cmNLZXl3b3JkICAgIGxvZ2luIG5leHRncm91cD1uZXRyY0xvZ2luLG5ldHJjU3BlY2lhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorc3luIGtleXdvcmQgbmV0cmNLZXl3b3JkICAgIHBhc3N3b3JkIG5leHRncm91cD1uZXRyY1Bhc3N3b3JkIHNraXB3aGl0ZSBza2lwbmwKK3N5biBrZXl3b3JkIG5ldHJjS2V5d29yZCAgICBkZWZhdWx0CitzeW4ga2V5d29yZCBuZXRyY0tleXdvcmQgICAgbWFjZGVmIG5leHRncm91cD1uZXRyY0luaXQsbmV0cmNNYWNyb05hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZSBza2lwbmwKK3N5biByZWdpb24gIG5ldHJjTWFjcm8gICAgICBjb250YWluZWQgc3RhcnQ9Jy4nIGVuZD0nXiQnCiAKLSIgU3BlY2lhbAotc3luIGtleXdvcmQgbmV0cmNTcGVjaWFsICAgICAgY29udGFpbmVkIGFub255bW91cwotc3luIG1hdGNoICAgbmV0cmNJbml0CSAgICAgIGNvbnRhaW5lZCAnXDxpbml0JCcgbmV4dGdyb3VwPW5ldHJjTWFjcm8gc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgbmV0cmNNYWNoaW5lICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcU1wrJworc3luIG1hdGNoICAgbmV0cmNNYWNoaW5lICAgIGNvbnRhaW5lZCBkaXNwbGF5ICciW15cXCJdKlwoXFwuW15cXCJdKlwpKiInCitzeW4gbWF0Y2ggICBuZXRyY0xvZ2luICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xTXCsnCitzeW4gbWF0Y2ggICBuZXRyY0xvZ2luICAgICAgY29udGFpbmVkIGRpc3BsYXkgJyJbXlxcIl0qXChcXC5bXlxcIl0qXCkqIicKK3N5biBtYXRjaCAgIG5ldHJjUGFzc3dvcmQgICBjb250YWluZWQgZGlzcGxheSAnXFNcKycKK3N5biBtYXRjaCAgIG5ldHJjUGFzc3dvcmQgICBjb250YWluZWQgZGlzcGxheSAnIlteXFwiXSpcKFxcLlteXFwiXSpcKSoiJworc3luIG1hdGNoICAgbmV0cmNNYWNyb05hbWUgIGNvbnRhaW5lZCBkaXNwbGF5ICdcU1wrJyBuZXh0Z3JvdXA9bmV0cmNNYWNybworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgbmV0cmNNYWNyb05hbWUgIGNvbnRhaW5lZCBkaXNwbGF5ICciW15cXCJdKlwoXFwuW15cXCJdKlwpKiInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9bmV0cmNNYWNybyBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBrZXl3b3JkIG5ldHJjU3BlY2lhbCAgICBjb250YWluZWQgYW5vbnltb3VzCitzeW4gbWF0Y2ggICBuZXRyY0luaXQgICAgICAgY29udGFpbmVkICdcPGluaXQkJyBuZXh0Z3JvdXA9bmV0cmNNYWNybworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlIHNraXBubAogCiBzeW4gc3luYyBmcm9tc3RhcnQKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfbmV0cmNfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfbmV0cmNfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKLQotICBIaUxpbmsgbmV0cmNLZXl3b3JkCUtleXdvcmQKLSAgSGlMaW5rIG5ldHJjTWFjcm8JUHJlUHJvYwotICBIaUxpbmsgbmV0cmNOYW1lCVN0cmluZwotICBIaUxpbmsgbmV0cmNNYWNyb05hbWUJU3RyaW5nCi0gIEhpTGluayBuZXRyY1NwZWNpYWwJU3BlY2lhbAotICBIaUxpbmsgbmV0cmNJbml0CVNwZWNpYWwKLQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2hpIGRlZiBsaW5rIG5ldHJjS2V5d29yZCAgICBLZXl3b3JkCitoaSBkZWYgbGluayBuZXRyY01hY3JvICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgbmV0cmNNYWNoaW5lICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIG5ldHJjTG9naW4gICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIG5ldHJjUGFzc3dvcmQgICBTdHJpbmcKK2hpIGRlZiBsaW5rIG5ldHJjTWFjcm9OYW1lICBTdHJpbmcKK2hpIGRlZiBsaW5rIG5ldHJjU3BlY2lhbCAgICBTcGVjaWFsCitoaSBkZWYgbGluayBuZXRyY0luaXQgICAgICAgU3BlY2lhbAogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJuZXRyYyIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wYW1jb25mLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BhbWNvbmYudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4ZWFmNGIKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC9wYW1jb25mLnZpbQpAQCAtMCwwICsxLDExOCBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgcGFtKDgpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworc3luIG1hdGNoICAgcGFtY29uZlNlcnZpY2UgICAgICAgICAgJ15bWzpncmFwaDpdXVwrJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cGFtY29uZlR5cGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBhbWNvbmZTZXJ2aWNlTGluZUNvbnQgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHBhbWNvbmZUb2RvICAgICAgICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCisKK3N5biByZWdpb24gIHBhbWNvbmZDb21tZW50ICAgICAgICAgIGRpc3BsYXkgb25lbGluZSBzdGFydD0nIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1wYW1jb25mVG9kbyxAU3BlbGwKKworc3luIG1hdGNoICAgcGFtY29uZlNlcnZpY2VMaW5lQ29udCAgY29udGFpbmVkICdcXCQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1wYW1jb25mVHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFtY29uZlNlcnZpY2VMaW5lQ29udCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBrZXl3b3JkIHBhbWNvbmZUeXBlICAgICAgICAgICAgIGFjY291bnQgYXV0aCBwYXNzd29yZCBzZXNzaW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1wYW1jb25mQ29udHJvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFtY29uZlR5cGVMaW5lQ29udCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgcGFtY29uZlR5cGVMaW5lQ29udCAgICAgY29udGFpbmVkICdcXCQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1wYW1jb25mQ29udHJvbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFtY29uZlR5cGVMaW5lQ29udCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBrZXl3b3JkIHBhbWNvbmZDb250cm9sICAgICAgICAgIGNvbnRhaW5lZCByZXF1aXNpdGUgcmVxdWlyZWQgc3VmZmljaWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBvcHRpb25hbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cGFtY29uZk1QYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwYW1jb25mQ29udHJvbExpbmVDb250SCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgcGFtY29uZkNvbnRyb2xCZWdpbiAgICAgJ1xbJyBuZXh0Z3JvdXA9cGFtY29uZkNvbnRyb2xWYWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBhbWNvbmZDb250cm9sTGluZUNvbnQgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHBhbWNvbmZDb250cm9sTGluZUNvbnQgIGNvbnRhaW5lZCAnXFwkJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cGFtY29uZkNvbnRyb2xWYWx1ZXMsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBhbWNvbmZDb250cm9sTGluZUNvbnQgc2tpcHdoaXRlIHNraXBubAorCitzeW4ga2V5d29yZCBwYW1jb25mQ29udHJvbFZhbHVlcyAgICBjb250YWluZWQgc3VjY2VzcyBvcGVuX2VyciBzeW1ib2xfZXJyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNlcnZpY2VfZXJyIHN5c3RlbV9lcnIgYnVmX2VycgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwZXJtX2RlbmllZCBhdXRoX2VyciBjcmVkX2luc3VmZmljaWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhdXRoaW5mb191bmF2YWlsIHVzZXJfdW5rbm93biBtYXh0cmllcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXdfYXV0aHRva19yZXFkIGFjY3RfZXhwaXJlZCBzZXNzaW9uX2VycgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjcmVkX3VuYXZhaWwgY3JlZF9leHBpcmVkIGNyZWRfZXJyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5vX21vZHVsZV9kYXRhIGNvbnZfZXJyIGF1dGh0b2tfZXJyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGF1dGh0b2tfcmVjb3Zlcl9lcnIgYXV0aHRva19sb2NrX2J1c3kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYXV0aHRva19kaXNhYmxlX2FnaW5nIHRyeV9hZ2FpbiBpZ25vcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWJvcnQgYXV0aHRva19leHBpcmVkIG1vZHVsZV91bmtub3duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGJhZF9pdGVtIGFuZCBkZWZhdWx0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1wYW1jb25mQ29udHJvbFZhbHVlRXEKKworc3luIG1hdGNoICAgcGFtY29uZkNvbnRyb2xWYWx1ZUVxICAgY29udGFpbmVkICc9JyBuZXh0Z3JvdXA9cGFtY29uZkNvbnRyb2xBY3Rpb24KKworc3luIG1hdGNoICAgcGFtY29uZkNvbnRyb2xBY3Rpb25OICAgY29udGFpbmVkICdcZFwrXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1wYW1jb25mQ29udHJvbFZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFtY29uZkNvbnRyb2xMaW5lQ29udCxwYW1jb25mQ29udHJvbEVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKK3N5biBrZXl3b3JkIHBhbWNvbmZDb250cm9sQWN0aW9uICAgIGNvbnRhaW5lZCBpZ25vcmUgYmFkIGRpZSBvayBkb25lIHJlc2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1wYW1jb25mQ29udHJvbFZhbHVlcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFtY29uZkNvbnRyb2xMaW5lQ29udCxwYW1jb25mQ29udHJvbEVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgcGFtY29uZkNvbnRyb2xFbmQgICAgICAgY29udGFpbmVkICdcXScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXBhbWNvbmZNUGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFtY29uZkNvbnRyb2xMaW5lQ29udEggc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHBhbWNvbmZDb250cm9sTGluZUNvbnRIIGNvbnRhaW5lZCAnXFwkJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cGFtY29uZk1QYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwYW1jb25mQ29udHJvbExpbmVDb250SCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIHBhbWNvbmZNUGF0aCAgICAgICAgICAgIGNvbnRhaW5lZCAnXFNcKycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXBhbWNvbmZNUGF0aExpbmVDb250LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwYW1jb25mQXJncyBza2lwd2hpdGUKKworc3luIG1hdGNoICAgcGFtY29uZkFyZ3MgICAgICAgICAgICAgY29udGFpbmVkICdcU1wrJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cGFtY29uZkFyZ3NMaW5lQ29udCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcGFtY29uZkFyZ3Mgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHBhbWNvbmZNUGF0aExpbmVDb250ICAgIGNvbnRhaW5lZCAnXFwkJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cGFtY29uZk1QYXRoTGluZUNvbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBhbWNvbmZBcmdzIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAgcGFtY29uZkFyZ3NMaW5lQ29udCAgICAgY29udGFpbmVkICdcXCQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1wYW1jb25mQXJnc0xpbmVDb250LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwYW1jb25mQXJncyBza2lwd2hpdGUgc2tpcG5sCisKK2hpIGRlZiBsaW5rIHBhbWNvbmZUb2RvICAgICAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIHBhbWNvbmZDb21tZW50ICAgICAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHBhbWNvbmZTZXJ2aWNlICAgICAgICAgIFN0YXRlbWVudAoraGkgZGVmIGxpbmsgcGFtY29uZlNlcnZpY2VMaW5lQ29udCAgU3BlY2lhbAoraGkgZGVmIGxpbmsgcGFtY29uZlR5cGUgICAgICAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgcGFtY29uZlR5cGVMaW5lQ29udCAgICAgcGFtY29uZlNlcnZpY2VMaW5lQ29udAoraGkgZGVmIGxpbmsgcGFtY29uZkNvbnRyb2wgICAgICAgICAgTWFjcm8KK2hpIGRlZiBsaW5rIHBhbWNvbmZDb250cm9sQmVnaW4gICAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgcGFtY29uZkNvbnRyb2xMaW5lQ29udEggcGFtY29uZlNlcnZpY2VMaW5lQ29udAoraGkgZGVmIGxpbmsgcGFtY29uZkNvbnRyb2xMaW5lQ29udCAgcGFtY29uZlNlcnZpY2VMaW5lQ29udAoraGkgZGVmIGxpbmsgcGFtY29uZkNvbnRyb2xWYWx1ZXMgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcGFtY29uZkNvbnRyb2xWYWx1ZUVxICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHBhbWNvbmZDb250cm9sQWN0aW9uTiAgIE51bWJlcgoraGkgZGVmIGxpbmsgcGFtY29uZkNvbnRyb2xBY3Rpb24gICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcGFtY29uZkNvbnRyb2xFbmQgICAgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBwYW1jb25mTVBhdGggICAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHBhbWNvbmZNUGF0aExpbmVDb250ICAgIHBhbWNvbmZTZXJ2aWNlTGluZUNvbnQKK2hpIGRlZiBsaW5rIHBhbWNvbmZBcmdzICAgICAgICAgICAgIE5vcm1hbAoraGkgZGVmIGxpbmsgcGFtY29uZkFyZ3NMaW5lQ29udCAgICAgcGFtY29uZlNlcnZpY2VMaW5lQ29udAorCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJwYW1jb25mIgorCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3BpbmZvLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BpbmZvLnZpbQppbmRleCBhYWVmNzEyLi5kYzc2ZTlmIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9waW5mby52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcGluZm8udmltCkBAIC0xLDEzNCArMSwxMTEgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgcGluZm8oMSkgY29uZmlndXJhdGlvbiBmaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCi0iIGFyY2gtdGFnOgkgICAgZGEyY2ZhMWMtMDM1MC00NWRjLWIyZDItMmJmMzkxNWJkMGEyCisiIExhbmd1YWdlOiAgICAgICAgIHBpbmZvKDEpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjgKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIFNldCBpc2tleXdvcmQgc2luY2Ugd2UgbmVlZCBgLScgKGFuZCBwb3RlbnRpYWxseSBvdGhlcnMpIGluIGtleXdvcmRzLgotIiBGb3IgdmVyc2lvbiA1Lng6IFNldCBpdCBnbG9iYWxseQotIiBGb3IgdmVyc2lvbiA2Lng6IFNldCBpdCBsb2NhbGx5Ci1pZiB2ZXJzaW9uID49IDYwMAotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXRsb2NhbCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbHNlCi0gIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbmRpZgotU2V0SXNrIEAsNDgtNTcsXywtCi1kZWxjb21tYW5kIFNldElzaworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIElnbm9yZSBDYXNlCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC0KKwogc3luIGNhc2UgaWdub3JlCiAKLSIgVG9kbwotc3luIGtleXdvcmQgcGluZm9Ub2RvCWNvbnRhaW5lZCBGSVhNRSBUT0RPIFhYWCBOT1RFCitzeW4ga2V5d29yZCBwaW5mb1RvZG8gICAgICAgICAgICAgY29udGFpbmVkIEZJWE1FIFRPRE8gWFhYIE5PVEUKIAotIiBDb21tZW50cwotc3luIHJlZ2lvbiAgcGluZm9Db21tZW50ICAgIHN0YXJ0PSdeIycgZW5kPSckJyBjb250YWlucz1waW5mb1RvZG8KK3N5biByZWdpb24gIHBpbmZvQ29tbWVudCAgICAgICAgICBzdGFydD0nXiMnIGVuZD0nJCcgY29udGFpbnM9cGluZm9Ub2RvLEBTcGVsbAogCi0iIEtleXdvcmRzCi1zeW4ga2V5d29yZCBwaW5mb09wdGlvbnMgICAgTUFOVUFMIENVVC1NQU4tSEVBREVSUyBDVVQtRU1QVFktTUFOLUxJTkVTCi1zeW4ga2V5d29yZCBwaW5mb09wdGlvbnMgICAgUkFXLUZJTEVOQU1FIEFQUk9QT1MgRE9OVC1IQU5ETEUtV0lUSE9VVC1UQUctVEFCTEUKLXN5biBrZXl3b3JkIHBpbmZvT3B0aW9ucyAgICBIVFRQVklFV0VSIEZUUFZJRVdFUiBNQUlMRURJVE9SIFBSSU5UVVRJTElUWQotc3luIGtleXdvcmQgcGluZm9PcHRpb25zICAgIE1BTkxJTktTIElORk9QQVRIIE1BTi1PUFRJT05TIFNUREVSUi1SRURJUkVDVElPTgotc3luIGtleXdvcmQgcGluZm9PcHRpb25zICAgIExPTkctTUFOVUFMLUxJTktTIEZJTFRFUi0weEI3IFFVSVQtQ09ORklSTUFUSU9OCi1zeW4ga2V5d29yZCBwaW5mb09wdGlvbnMgICAgUVVJVC1DT05GSVJNLURFRkFVTFQgQ0xFQVItU0NSRUVOLUFULUVYSVQKLXN5biBrZXl3b3JkIHBpbmZvT3B0aW9ucyAgICBDQUxMLVJFQURMSU5FLUhJU1RPUlkgSElHSExJR0hUUkVHRVhQIFNBRkUtVVNFUgotc3luIGtleXdvcmQgcGluZm9PcHRpb25zICAgIFNBRkUtR1JPVVAKK3N5biBrZXl3b3JkIHBpbmZvT3B0aW9ucyAgICAgICAgICBNQU5VQUwgQ1VULU1BTi1IRUFERVJTIENVVC1FTVBUWS1NQU4tTElORVMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFJBVy1GSUxFTkFNRSBBUFJPUE9TCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBET05ULUhBTkRMRS1XSVRIT1VULVRBRy1UQUJMRSBIVFRQVklFV0VSCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBGVFBWSUVXRVIgTUFJTEVESVRPUiBQUklOVFVUSUxJVFkgTUFOTElOS1MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIElORk9QQVRIIE1BTi1PUFRJT05TIFNUREVSUi1SRURJUkVDVElPTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgTE9ORy1NQU5VQUwtTElOS1MgRklMVEVSLTB4QjcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFFVSVQtQ09ORklSTUFUSU9OIFFVSVQtQ09ORklSTS1ERUZBVUxUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBDTEVBUi1TQ1JFRU4tQVQtRVhJVCBDQUxMLVJFQURMSU5FLUhJU1RPUlkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEhJR0hMSUdIVFJFR0VYUCBTQUZFLVVTRVIgU0FGRS1HUk9VUAogCi0iIENvbG9ycwotc3luIGtleXdvcmQgcGluZm9Db2xvcnMJICAgIENPTF9OT1JNQUwgQ09MX1RPUExJTkUgQ09MX0JPVFRPTUxJTkUgQ09MX01FTlUKLXN5biBrZXl3b3JkIHBpbmZvQ29sb3JzCSAgICBDT0xfTUVOVVNFTEVDVEVEIENPTF9OT1RFIENPTF9OT1RFU0VMRUNURUQgQ09MX1VSTAotc3luIGtleXdvcmQgcGluZm9Db2xvcnMJICAgIENPTF9VUkxTRUxFQ1RFRCBDT0xfSU5GT0hJR0hMSUdIVCBDT0xfTUFOVUFMQk9MRAotc3luIGtleXdvcmQgcGluZm9Db2xvcnMJICAgIENPTF9NQU5VQUxJVEFMSUMKLXN5biBrZXl3b3JkIHBpbmZvQ29sb3JEZWZhdWx0CUNPTE9SX0RFRkFVTFQKLXN5biBrZXl3b3JkIHBpbmZvQ29sb3JCb2xkCUJPTEQKLXN5biBrZXl3b3JkIHBpbmZvQ29sb3JOb0JvbGQJTk9fQk9MRAotc3luIGtleXdvcmQgcGluZm9Db2xvckJsaW5rCUJMSU5LCi1zeW4ga2V5d29yZCBwaW5mb0NvbG9yTm9CbGluawlOT19CTElOSwotc3luIGtleXdvcmQgcGluZm9Db2xvckJsYWNrCUNPTE9SX0JMQUNLCi1zeW4ga2V5d29yZCBwaW5mb0NvbG9yUmVkCUNPTE9SX1JFRAotc3luIGtleXdvcmQgcGluZm9Db2xvckdyZWVuCUNPTE9SX0dSRUVOCi1zeW4ga2V5d29yZCBwaW5mb0NvbG9yWWVsbG93CUNPTE9SX1lFTExPVwotc3luIGtleXdvcmQgcGluZm9Db2xvckJsdWUJQ09MT1JfQkxVRQotc3luIGtleXdvcmQgcGluZm9Db2xvck1hZ2VudGEJQ09MT1JfTUFHRU5UQQotc3luIGtleXdvcmQgcGluZm9Db2xvckN5YW4JQ09MT1JfQ1lBTgotc3luIGtleXdvcmQgcGluZm9Db2xvcldoaXRlCUNPTE9SX1dISVRFCitzeW4ga2V5d29yZCBwaW5mb0NvbG9ycyAgICAgICAgICAgQ09MX05PUk1BTCBDT0xfVE9QTElORSBDT0xfQk9UVE9NTElORQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgQ09MX01FTlUgQ09MX01FTlVTRUxFQ1RFRCBDT0xfTk9URQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgQ09MX05PVEVTRUxFQ1RFRCBDT0xfVVJMIENPTF9VUkxTRUxFQ1RFRAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgQ09MX0lORk9ISUdITElHSFQgQ09MX01BTlVBTEJPTEQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIENPTF9NQU5VQUxJVEFMSUMgQ09MX1NFQVJDSEhJR0hMSUdIVAogCi0iIEtleWJpbmRpbmdzCi1zeW4ga2V5d29yZCBwaW5mb0tleXMJS0VZX1RPVEFMU0VBUkNIXzEgS0VZX1RPVEFMU0VBUkNIXzIgS0VZX1NFQVJDSF8xCi1zeW4ga2V5d29yZCBwaW5mb0tleXMJS0VZX1NFQVJDSF8yIEtFWV9TRUFSQ0hfQUdBSU5fMSBLRVlfU0VBUkNIX0FHQUlOXzIKLXN5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfR09UT18xIEtFWV9HT1RPXzIgS0VZX1BSRVZOT0RFXzEgS0VZX1BSRVZOT0RFXzIKLXN5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfTkVYVE5PREVfMSBLRVlfTkVYVE5PREVfMiBLRVlfVVBfMSBLRVlfVVBfMgotc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9FTkRfMSBLRVlfRU5EXzIgS0VZX1BHRE5fMSBLRVlfUEdETl8yCi1zeW4ga2V5d29yZCBwaW5mb0tleXMJS0VZX1BHRE5fQVVUT18xIEtFWV9QR0ROX0FVVE9fMiBLRVlfSE9NRV8xIEtFWV9IT01FXzIKLXN5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfUEdVUF8xIEtFWV9QR1VQXzIgS0VZX1BHVVBfQVVUT18xIEtFWV9QR1VQX0FVVE9fMgotc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9ET1dOXzEgS0VZX0RPV05fMiBLRVlfVE9QXzEgS0VZX1RPUF8yIEtFWV9CQUNLXzEKLXN5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfQkFDS18yIEtFWV9GT0xMT1dMSU5LXzEgS0VZX0ZPTExPV0xJTktfMgotc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9SRUZSRVNIXzEgS0VZX1JFRlJFU0hfMiBLRVlfU0hFTExGRUVEXzEKLXN5biBrZXl3b3JkIHBpbmZvS2V5cwlLRVlfU0hFTExGRUVEXzIgS0VZX1FVSVRfMSBLRVlfUVVJVF8yIEtFWV9HT0xJTkVfMQotc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9HT0xJTkVfMiBLRVlfUFJJTlRfMSBLRVlfUFJJTlRfMgotc3luIGtleXdvcmQgcGluZm9LZXlzCUtFWV9ESVJQQUdFXzEgS0VZX0RJUlBBR0VfMgorc3luIGtleXdvcmQgcGluZm9Db2xvckRlZmF1bHQgICAgIENPTE9SX0RFRkFVTFQKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JCb2xkICAgICAgICBCT0xECitzeW4ga2V5d29yZCBwaW5mb0NvbG9yTm9Cb2xkICAgICAgTk9fQk9MRAorc3luIGtleXdvcmQgcGluZm9Db2xvckJsaW5rICAgICAgIEJMSU5LCitzeW4ga2V5d29yZCBwaW5mb0NvbG9yTm9CbGluayAgICAgTk9fQkxJTksKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JCbGFjayAgICAgICBDT0xPUl9CTEFDSworc3luIGtleXdvcmQgcGluZm9Db2xvclJlZCAgICAgICAgIENPTE9SX1JFRAorc3luIGtleXdvcmQgcGluZm9Db2xvckdyZWVuICAgICAgIENPTE9SX0dSRUVOCitzeW4ga2V5d29yZCBwaW5mb0NvbG9yWWVsbG93ICAgICAgQ09MT1JfWUVMTE9XCitzeW4ga2V5d29yZCBwaW5mb0NvbG9yQmx1ZSAgICAgICAgQ09MT1JfQkxVRQorc3luIGtleXdvcmQgcGluZm9Db2xvck1hZ2VudGEgICAgIENPTE9SX01BR0VOVEEKK3N5biBrZXl3b3JkIHBpbmZvQ29sb3JDeWFuICAgICAgICBDT0xPUl9DWUFOCitzeW4ga2V5d29yZCBwaW5mb0NvbG9yV2hpdGUgICAgICAgQ09MT1JfV0hJVEUKIAotIiBTcGVjaWFsIEtleXMKLXN5biBrZXl3b3JkIHBpbmZvU3BlY2lhbEtleXMJS0VZX0JSRUFLIEtFWV9ET1dOIEtFWV9VUCBLRVlfTEVGVCBLRVlfUklHSFQKLXN5biBrZXl3b3JkIHBpbmZvU3BlY2lhbEtleXMJS0VZX0RPV04gS0VZX0hPTUUgS0VZX0JBQ0tTUEFDRSBLRVlfTlBBR0UKLXN5biBrZXl3b3JkIHBpbmZvU3BlY2lhbEtleXMJS0VZX1BQQUdFIEtFWV9FTkQgS0VZX0lDIEtFWV9EQwotc3luIHJlZ2lvbiAgcGluZm9TcGVjaWFsS2V5cwltYXRjaGdyb3VwPXBpbmZvU3BlY2lhbEtleXMgdHJhbnNwYXJlbnQgc3RhcnQ9K0tFWV9cJShGXHxDVFJMXHxBTFRcKSgrIGVuZD0rKSsKLXN5biByZWdpb24gIHBpbmZvU2ltcGxlS2V5CW1hdGNoZ3JvdXA9cGluZm9TaW1wbGVLZXkgc3RhcnQ9KycrIHNraXA9K1xcJysgZW5kPSsnKyBjb250YWlucz1waW5mb1NpbXBsZUtleUVzY2FwZQotc3luIG1hdGNoICAgcGluZm9TaW1wbGVLZXlFc2NhcGUgICAgK1xcW1xcbnQnXSsKLXN5biBtYXRjaCAgIHBpbmZvS2V5Y29kZSAgICAnXDxcZFwrXD4nCitzeW4ga2V5d29yZCBwaW5mb0tleXMgICAgICAgICAgICAgS0VZX1RPVEFMU0VBUkNIXzEgS0VZX1RPVEFMU0VBUkNIXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEtFWV9TRUFSQ0hfMSBLRVlfU0VBUkNIXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEtFWV9TRUFSQ0hfQUdBSU5fMSBLRVlfU0VBUkNIX0FHQUlOXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEtFWV9HT1RPXzEgS0VZX0dPVE9fMiBLRVlfUFJFVk5PREVfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgS0VZX1BSRVZOT0RFXzIgS0VZX05FWFROT0RFXzEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEtFWV9ORVhUTk9ERV8yIEtFWV9VUF8xIEtFWV9VUF8yIEtFWV9FTkRfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgS0VZX0VORF8yIEtFWV9QR0ROXzEgS0VZX1BHRE5fMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgS0VZX1BHRE5fQVVUT18xIEtFWV9QR0ROX0FVVE9fMiBLRVlfSE9NRV8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBLRVlfSE9NRV8yIEtFWV9QR1VQXzEgS0VZX1BHVVBfMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgS0VZX1BHVVBfQVVUT18xIEtFWV9QR1VQX0FVVE9fMiBLRVlfRE9XTl8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBLRVlfRE9XTl8yIEtFWV9UT1BfMSBLRVlfVE9QXzIgS0VZX0JBQ0tfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgS0VZX0JBQ0tfMiBLRVlfRk9MTE9XTElOS18xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBLRVlfRk9MTE9XTElOS18yIEtFWV9SRUZSRVNIXzEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEtFWV9SRUZSRVNIXzIgS0VZX1NIRUxMRkVFRF8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBLRVlfU0hFTExGRUVEXzIgS0VZX1FVSVRfMSBLRVlfUVVJVF8yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBLRVlfR09MSU5FXzEgS0VZX0dPTElORV8yIEtFWV9QUklOVF8xCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBLRVlfUFJJTlRfMiBLRVlfRElSUEFHRV8xIEtFWV9ESVJQQUdFXzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEtFWV9UV09ET1dOXzEgS0VZX1RXT0RPV05fMiBLRVlfVFdPVVBfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgS0VZX1RXT1VQXzIKIAotIiBDb25zdGFudHMKLXN5biBrZXl3b3JkIHBpbmZvQ29uc3RhbnRzICBUUlVFIEZBTFNFIFlFUyBOTworc3luIGtleXdvcmQgcGluZm9TcGVjaWFsS2V5cyAgICAgIEtFWV9CUkVBSyBLRVlfRE9XTiBLRVlfVVAgS0VZX0xFRlQgS0VZX1JJR0hUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBLRVlfRE9XTiBLRVlfSE9NRSBLRVlfQkFDS1NQQUNFIEtFWV9OUEFHRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgS0VZX1BQQUdFIEtFWV9FTkQgS0VZX0lDIEtFWV9EQworc3luIHJlZ2lvbiAgcGluZm9TcGVjaWFsS2V5cyAgICAgIG1hdGNoZ3JvdXA9cGluZm9TcGVjaWFsS2V5cyB0cmFuc3BhcmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9K0tFWV9cJShGXHxDVFJMXHxBTFRcKSgrIGVuZD0rKSsKK3N5biByZWdpb24gIHBpbmZvU2ltcGxlS2V5ICAgICAgICBtYXRjaGdyb3VwPXBpbmZvU2ltcGxlS2V5IHN0YXJ0PSsnKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcD0rXFwnKyBlbmQ9KycrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1waW5mb1NpbXBsZUtleUVzY2FwZQorc3luIG1hdGNoICAgcGluZm9TaW1wbGVLZXlFc2NhcGUgICtcXFtcXG50J10rCitzeW4gbWF0Y2ggICBwaW5mb0tleWNvZGUgICAgICAgICAgJ1w8XGRcK1w+JwogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9waW5mb19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9waW5mb19zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgICBjb21tYW5kIC1uYXJncz0rIEhpRGVmIGhpIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaURlZiBoaSBkZWYgPGFyZ3M+Ci0gIGVuZGlmCitzeW4ga2V5d29yZCBwaW5mb0NvbnN0YW50cyAgICAgICAgVFJVRSBGQUxTRSBZRVMgTk8KIAotICBIaUxpbmsgcGluZm9Ub2RvCQlUb2RvCi0gIEhpTGluayBwaW5mb0NvbW1lbnQJCUNvbW1lbnQKLSAgSGlMaW5rIHBpbmZvT3B0aW9ucwkJS2V5d29yZAotICBIaUxpbmsgcGluZm9Db2xvcnMJCUtleXdvcmQKLSAgSGlMaW5rIHBpbmZvQ29sb3JEZWZhdWx0CU5vcm1hbAotICBIaURlZiBwaW5mb0NvbG9yQm9sZAkJY3Rlcm09Ym9sZAotICBIaURlZiBwaW5mb0NvbG9yTm9Cb2xkCWN0ZXJtPW5vbmUKLSAgIiB3ZSBjYW4ndCBhY2Nlc3MgdGhlIGJsaW5rIGF0dHJpYnV0ZSBmcm9tIFZpbSBhdG0KLSAgSGlEZWYgcGluZm9Db2xvckJsaW5rCQljdGVybT1pbnZlcnNlCi0gIEhpRGVmIHBpbmZvQ29sb3JOb0JsaW5rCWN0ZXJtPW5vbmUKLSAgSGlEZWYgcGluZm9Db2xvckJsYWNrCQljdGVybWZnPUJsYWNrCSAgICBndWlmZz1CbGFjawotICBIaURlZiBwaW5mb0NvbG9yUmVkCQljdGVybWZnPURhcmtSZWQJICAgIGd1aWZnPURhcmtSZWQKLSAgSGlEZWYgcGluZm9Db2xvckdyZWVuCQljdGVybWZnPURhcmtHcmVlbiAgIGd1aWZnPURhcmtHcmVlbgotICBIaURlZiBwaW5mb0NvbG9yWWVsbG93CWN0ZXJtZmc9RGFya1llbGxvdyAgZ3VpZmc9RGFya1llbGxvdwotICBIaURlZiBwaW5mb0NvbG9yQmx1ZQkJY3Rlcm1mZz1EYXJrQmx1ZSAgICBndWlmZz1EYXJrQmx1ZQotICBIaURlZiBwaW5mb0NvbG9yTWFnZW50YQljdGVybWZnPURhcmtNYWdlbnRhIGd1aWZnPURhcmtNYWdlbnRhCi0gIEhpRGVmIHBpbmZvQ29sb3JDeWFuCQljdGVybWZnPURhcmtDeWFuICAgIGd1aWZnPURhcmtDeWFuCi0gIEhpRGVmIHBpbmZvQ29sb3JXaGl0ZQkJY3Rlcm1mZz1MaWdodEdyYXkgICBndWlmZz1MaWdodEdyYXkKLSAgSGlMaW5rIHBpbmZvS2V5cwkJS2V5d29yZAotICBIaUxpbmsgcGluZm9TcGVjaWFsS2V5cwlTcGVjaWFsQ2hhcgotICBIaUxpbmsgcGluZm9TaW1wbGVLZXkJCVN0cmluZwotICBIaUxpbmsgcGluZm9TaW1wbGVLZXlFc2NhcGUJU3BlY2lhbENoYXIKLSAgSGlMaW5rIHBpbmZvS2V5Y29kZQkJTnVtYmVyCi0gIEhpTGluayBwaW5mb0NvbnN0YW50cwlDb25zdGFudAotCi0gIGRlbGNvbW1hbmQgSGlMaW5rCi0gIGRlbGNvbW1hbmQgSGlEZWYKLWVuZGlmCitoaSBkZWYgbGluayBwaW5mb1RvZG8gICAgICAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgcGluZm9Db21tZW50ICAgICAgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHBpbmZvT3B0aW9ucyAgICAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBwaW5mb0NvbG9ycyAgICAgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgcGluZm9Db2xvckRlZmF1bHQgICAgIE5vcm1hbAoraGkgZGVmIGxpbmsgcGluZm9TcGVjaWFsS2V5cyAgICAgIFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayBwaW5mb1NpbXBsZUtleSAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBwaW5mb1NpbXBsZUtleUVzY2FwZSAgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHBpbmZvS2V5Y29kZSAgICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHBpbmZvQ29uc3RhbnRzICAgICAgICBDb25zdGFudAoraGkgZGVmIGxpbmsgcGluZm9LZXlzICAgICAgICAgICAgIEtleXdvcmQKK2hpIGRlZiAgICAgIHBpbmZvQ29sb3JCb2xkICAgICAgICBjdGVybT1ib2xkCitoaSBkZWYgICAgICBwaW5mb0NvbG9yTm9Cb2xkICAgICAgY3Rlcm09bm9uZQoraGkgZGVmICAgICAgcGluZm9Db2xvckJsaW5rICAgICAgIGN0ZXJtPWludmVyc2UKK2hpIGRlZiAgICAgIHBpbmZvQ29sb3JOb0JsaW5rICAgICBjdGVybT1ub25lCitoaSBkZWYgICAgICBwaW5mb0NvbG9yQmxhY2sgICAgICAgY3Rlcm1mZz1CbGFjayAgICAgICBndWlmZz1CbGFjaworaGkgZGVmICAgICAgcGluZm9Db2xvclJlZCAgICAgICAgIGN0ZXJtZmc9RGFya1JlZCAgICAgZ3VpZmc9RGFya1JlZAoraGkgZGVmICAgICAgcGluZm9Db2xvckdyZWVuICAgICAgIGN0ZXJtZmc9RGFya0dyZWVuICAgZ3VpZmc9RGFya0dyZWVuCitoaSBkZWYgICAgICBwaW5mb0NvbG9yWWVsbG93ICAgICAgY3Rlcm1mZz1EYXJrWWVsbG93ICBndWlmZz1EYXJrWWVsbG93CitoaSBkZWYgICAgICBwaW5mb0NvbG9yQmx1ZSAgICAgICAgY3Rlcm1mZz1EYXJrQmx1ZSAgICBndWlmZz1EYXJrQmx1ZQoraGkgZGVmICAgICAgcGluZm9Db2xvck1hZ2VudGEgICAgIGN0ZXJtZmc9RGFya01hZ2VudGEgZ3VpZmc9RGFya01hZ2VudGEKK2hpIGRlZiAgICAgIHBpbmZvQ29sb3JDeWFuICAgICAgICBjdGVybWZnPURhcmtDeWFuICAgIGd1aWZnPURhcmtDeWFuCitoaSBkZWYgICAgICBwaW5mb0NvbG9yV2hpdGUgICAgICAgY3Rlcm1mZz1MaWdodEdyYXkgICBndWlmZz1MaWdodEdyYXkKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicGluZm8iCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcXVha2UudmltIGIvcnVudGltZS9zeW50YXgvcXVha2UudmltCmluZGV4IDFhZThjNzEuLmI4NmQ1MjggMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3F1YWtlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9xdWFrZS52aW0KQEAgLTEsMTYyICsxLDEzNCBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBRdWFrZVsxLTNdIENvbmZpZ3VyYXRpb24gRmlsZQotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9xdWFrZS8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgotIiBhcmNoLXRhZzoJICAgIGE5NTc5M2Q3LWNhYjMtNDU0NC1hNzhjLTFjZWE0N2I1ODcwYgotIiBWYXJpYWJsZXM6IAlxdWFrZV9pc19xdWFrZTEgLSB0aGUgc3ludGF4IGlzIHRvIGJlIHVzZWQgZm9yIHF1YWtlMSBjb25maWdzCi0iIAkJcXVha2VfaXNfcXVha2UyIC0gdGhlIHN5bnRheCBpcyB0byBiZSB1c2VkIGZvciBxdWFrZTIgY29uZmlncwotIiAJCXF1YWtlX2lzX3F1YWtlMyAtIHRoZSBzeW50YXggaXMgdG8gYmUgdXNlZCBmb3IgcXVha2UzIGNvbmZpZ3MKKyIgTGFuZ3VhZ2U6ICAgICAgICAgUXVha2VbMS0zXSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisiICAgICAgICAgICAgICAgcXVha2VfaXNfcXVha2UyIC0gdGhlIHN5bnRheCBpcyB0byBiZSB1c2VkIGZvciBxdWFrZTIgY29uZmlncworIiAgICAgICAgICAgICAgIHF1YWtlX2lzX3F1YWtlMyAtIHRoZSBzeW50YXggaXMgdG8gYmUgdXNlZCBmb3IgcXVha2UzIGNvbmZpZ3MKIAotCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBTZXQgaXNrZXl3b3JkIHNpbmNlIHdlIG5lZWQgYC0nIChhbmQgcG90ZW50aWFsbHkgb3RoZXJzKSBpbiBrZXl3b3Jkcy4KLSIgRm9yIHZlcnNpb24gNS54OiBTZXQgaXQgZ2xvYmFsbHkKLSIgRm9yIHZlcnNpb24gNi54OiBTZXQgaXQgbG9jYWxseQotaWYgdmVyc2lvbiA+PSA2MDAKLSAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgotZWxzZQotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXQgaXNrZXl3b3JkPTxhcmdzPgotZW5kaWYKLVNldElzayA0OC01Nyw2NS05MCw5Ny0xMjIsKywtLF8KLWRlbGNvbW1hbmQgU2V0SXNrCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NywrLC0sXwogCitzeW4ga2V5d29yZCBxdWFrZVRvZG8gICAgICAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQogCi0iIGNvbW1lbnRzCi1zeW4gcmVnaW9uCXF1YWtlQ29tbWVudAlkaXNwbGF5IG9uZWxpbmUgc3RhcnQ9Ii8vIiBlbmQ9IiQiIGVuZD0iOyIga2VlcGVuZCBjb250YWlucz1xdWFrZVRvZG8KK3N5biByZWdpb24gIHF1YWtlQ29tbWVudCAgICAgIGRpc3BsYXkgb25lbGluZSBzdGFydD0nLy8nIGVuZD0nJCcgZW5kPSc7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBrZWVwZW5kIGNvbnRhaW5zPXF1YWtlVG9kbyxAU3BlbGwKIAotIiB0b2RvCi1zeW4ga2V5d29yZAlxdWFrZVRvZG8JY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK3N5biByZWdpb24gIHF1YWtlU3RyaW5nICAgICAgIGRpc3BsYXkgb25lbGluZSBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9KyJcfCQrIGNvbnRhaW5zPXF1YWtlTnVtYmVycyxAcXVha2VDb21tYW5kcwogCi0iIHN0cmluZyAoY2FuIGNvbnRhaW4gbnVtYmVycyAod2hpY2ggc2hvdWxkIGJlIGhpbGlnaHRlZCBhcyBzdWNoKQotc3luIHJlZ2lvbglxdWFrZVN0cmluZwlkaXNwbGF5IG9uZWxpbmUgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiXHwkKyBjb250YWlucz1xdWFrZU51bWJlcnMsQHF1YWtlQ29tbWFuZHMKLQotIiBudW1iZXIKIHN5biBjYXNlIGlnbm9yZQotc3luIG1hdGNoCXF1YWtlTnVtYmVycwlkaXNwbGF5IHRyYW5zcGFyZW50ICJcPFxkXHxcLlxkIiBjb250YWlucz1xdWFrZU51bWJlcixxdWFrZUZsb2F0LHF1YWtlT2N0YWxFcnJvcixxdWFrZU9jdGFsCi1zeW4gbWF0Y2gJcXVha2VOdW1iZXIJZGlzcGxheSBjb250YWluZWQgIlxkXCtcPiIKLSIgRmxhZyB0aGUgZmlyc3QgemVybyBvZiBhbiBvY3RhbCBudW1iZXIgYXMgc29tZXRoaW5nIHNwZWNpYWwKLXN5biBtYXRjaAlxdWFrZU9jdGFsCWRpc3BsYXkgY29udGFpbmVkICIwXG9cK1w+IiBjb250YWlucz1xdWFrZU9jdGFsWmVybwotc3luIG1hdGNoCXF1YWtlT2N0YWxaZXJvCWRpc3BsYXkgY29udGFpbmVkICJcPDAiCi0iIGZsb2F0aW5nIHBvaW50IG51bWJlciwgd2l0aCBkb3QKLXN5biBtYXRjaAlxdWFrZUZsb2F0CWRpc3BsYXkgY29udGFpbmVkICJcZFwrXC5cZCoiCi0iIGZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdAotc3luIG1hdGNoCXF1YWtlRmxvYXQJZGlzcGxheSBjb250YWluZWQgIlwuXGRcK1w+IgotIiBmbGFnIGFuIG9jdGFsIG51bWJlciB3aXRoIHdyb25nIGRpZ2l0cwotc3luIG1hdGNoCXF1YWtlT2N0YWxFcnJvcglkaXNwbGF5IGNvbnRhaW5lZCAiMFxvKls4OV1cZCoiCi1zeW4gY2FzZSBtYXRjaAogCi0iIGNvbW1hbmRzCi1zeW4gY2FzZSBpZ25vcmUKLXN5biBjbHVzdGVyCXF1YWtlQ29tbWFuZHMJY29udGFpbnM9cXVha2VDb21tYW5kLHF1YWtlMUNvbW1hbmQscXVha2UxMkNvbW1hbmQsUXVha2UyQ29tbWFuZCxRdWFrZTIzQ29tbWFuZCxRdWFrZTNDb21tYW5kCitzeW4gbWF0Y2ggcXVha2VOdW1iZXJzICAgICAgICBkaXNwbGF5IHRyYW5zcGFyZW50ICdcPFxkXHxcLlxkJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1xdWFrZU51bWJlcixxdWFrZUZsb2F0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBxdWFrZU9jdGFsRXJyb3IscXVha2VPY3RhbAorc3luIG1hdGNoIHF1YWtlTnVtYmVyICAgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xkXCtcPicKK3N5biBtYXRjaCBxdWFrZU9jdGFsICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICcwXG9cK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1xdWFrZU9jdGFsWmVybworc3luIG1hdGNoIHF1YWtlT2N0YWxaZXJvICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1w8MCcKK3N5biBtYXRjaCBxdWFrZUZsb2F0ICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcZFwrXC5cZConCitzeW4gbWF0Y2ggcXVha2VGbG9hdCAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXC5cZFwrXD4nCitzeW4gbWF0Y2ggcXVha2VPY3RhbEVycm9yICAgICBjb250YWluZWQgZGlzcGxheSAnMFxvKls4OV1cZConCiAKLXN5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAkrYXR0YWNrICtiYWNrICtmb3J3YXJkICtsZWZ0ICtsb29rZG93biArbG9va3VwCi1zeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJK21sb29rICttb3ZlZG93biArbW92ZWxlZnQgK21vdmVyaWdodCArbW92ZXVwCi1zeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJK3JpZ2h0ICtzcGVlZCArc3RyYWZlIC1hdHRhY2sgLWJhY2sgYmluZAotc3luIGtleXdvcmQJcXVha2VDb21tYW5kCWJpbmRsaXN0IGNlbnRlcnZpZXcgY2xlYXIgY29ubmVjdCBjdmFybGlzdCBkaXIKLXN5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAlkaXNjb25uZWN0IGR1bXB1c2VyIGVjaG8gZXJyb3IgZXhlYyAtZm9yd2FyZAotc3luIGtleXdvcmQJcXVha2VDb21tYW5kCWdvZCBoZWFydGJlYXQgam95X2FkdmFuY2VkdXBkYXRlIGtpY2sga2lsbAotc3luIGtleXdvcmQJcXVha2VDb21tYW5kCWtpbGxzZXJ2ZXIgLWxlZnQgLWxvb2tkb3duIC1sb29rdXAgbWFwCi1zeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJbWVzc2FnZW1vZGUgbWVzc2FnZW1vZGUyIC1tbG9vayBtb2RlbGxpc3QKLXN5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAktbW92ZWRvd24gLW1vdmVsZWZ0IC1tb3ZlcmlnaHQgLW1vdmV1cCBwbGF5Ci1zeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJcXVpdCByY29uIHJlY29ubmVjdCByZWNvcmQgLXJpZ2h0IHNheSBzYXlfdGVhbQotc3luIGtleXdvcmQJcXVha2VDb21tYW5kCXNjcmVlbnNob3Qgc2VydmVyaW5mbyBzZXJ2ZXJyZWNvcmQgc2VydmVyc3RvcAotc3luIGtleXdvcmQJcXVha2VDb21tYW5kCXNldCBzaXplZG93biBzaXpldXAgc25kX3Jlc3RhcnQgc291bmRpbmZvCi1zeW4ga2V5d29yZAlxdWFrZUNvbW1hbmQJc291bmRsaXN0IC1zcGVlZCBzcG1hcCBzdGF0dXMgLXN0cmFmZSBzdG9wc291bmQKLXN5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAl0b2dnbGVjb25zb2xlIHVuYmluZCB1bmJpbmRhbGwgdXNlcmluZm8gcGF1c2UKLXN5biBrZXl3b3JkCXF1YWtlQ29tbWFuZAl2aWRfcmVzdGFydCB2aWV3cG9zIHdhaXQgd2VhcG5leHQgd2VhcHByZXYKK3N5biBjbHVzdGVyIHF1YWtlQ29tbWFuZHMgICAgIGNvbnRhaW5zPXF1YWtlQ29tbWFuZCxxdWFrZTFDb21tYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBxdWFrZTEyQ29tbWFuZCxRdWFrZTJDb21tYW5kLFF1YWtlMjNDb21tYW5kLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBRdWFrZTNDb21tYW5kCisKK3N5biBrZXl3b3JkIHF1YWtlQ29tbWFuZCAgICAgICthdHRhY2sgK2JhY2sgK2ZvcndhcmQgK2xlZnQgK2xvb2tkb3duICtsb29rdXAKK3N5biBrZXl3b3JkIHF1YWtlQ29tbWFuZCAgICAgICttbG9vayArbW92ZWRvd24gK21vdmVsZWZ0ICttb3ZlcmlnaHQgK21vdmV1cAorc3luIGtleXdvcmQgcXVha2VDb21tYW5kICAgICAgK3JpZ2h0ICtzcGVlZCArc3RyYWZlIC1hdHRhY2sgLWJhY2sgYmluZAorc3luIGtleXdvcmQgcXVha2VDb21tYW5kICAgICAgYmluZGxpc3QgY2VudGVydmlldyBjbGVhciBjb25uZWN0IGN2YXJsaXN0IGRpcgorc3luIGtleXdvcmQgcXVha2VDb21tYW5kICAgICAgZGlzY29ubmVjdCBkdW1wdXNlciBlY2hvIGVycm9yIGV4ZWMgLWZvcndhcmQKK3N5biBrZXl3b3JkIHF1YWtlQ29tbWFuZCAgICAgIGdvZCBoZWFydGJlYXQgam95X2FkdmFuY2VkdXBkYXRlIGtpY2sga2lsbAorc3luIGtleXdvcmQgcXVha2VDb21tYW5kICAgICAga2lsbHNlcnZlciAtbGVmdCAtbG9va2Rvd24gLWxvb2t1cCBtYXAKK3N5biBrZXl3b3JkIHF1YWtlQ29tbWFuZCAgICAgIG1lc3NhZ2Vtb2RlIG1lc3NhZ2Vtb2RlMiAtbWxvb2sgbW9kZWxsaXN0CitzeW4ga2V5d29yZCBxdWFrZUNvbW1hbmQgICAgICAtbW92ZWRvd24gLW1vdmVsZWZ0IC1tb3ZlcmlnaHQgLW1vdmV1cCBwbGF5CitzeW4ga2V5d29yZCBxdWFrZUNvbW1hbmQgICAgICBxdWl0IHJjb24gcmVjb25uZWN0IHJlY29yZCAtcmlnaHQgc2F5IHNheV90ZWFtCitzeW4ga2V5d29yZCBxdWFrZUNvbW1hbmQgICAgICBzY3JlZW5zaG90IHNlcnZlcmluZm8gc2VydmVycmVjb3JkIHNlcnZlcnN0b3AKK3N5biBrZXl3b3JkIHF1YWtlQ29tbWFuZCAgICAgIHNldCBzaXplZG93biBzaXpldXAgc25kX3Jlc3RhcnQgc291bmRpbmZvCitzeW4ga2V5d29yZCBxdWFrZUNvbW1hbmQgICAgICBzb3VuZGxpc3QgLXNwZWVkIHNwbWFwIHN0YXR1cyAtc3RyYWZlIHN0b3Bzb3VuZAorc3luIGtleXdvcmQgcXVha2VDb21tYW5kICAgICAgdG9nZ2xlY29uc29sZSB1bmJpbmQgdW5iaW5kYWxsIHVzZXJpbmZvIHBhdXNlCitzeW4ga2V5d29yZCBxdWFrZUNvbW1hbmQgICAgICB2aWRfcmVzdGFydCB2aWV3cG9zIHdhaXQgd2VhcG5leHQgd2VhcHByZXYKIAogaWYgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTEiKQotc3luIGtleXdvcmQJcXVha2UxQ29tbWFuZAlzdgorICBzeW4ga2V5d29yZCBxdWFrZTFDb21tYW5kICAgc3YKIGVuZGlmCiAKIGlmIGV4aXN0cygicXVha2VfaXNfcXVha2UxIikgfHwgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTIiKQotc3luIGtleXdvcmQJcXVha2UxMkNvbW1hbmQJK2tsb29rIGFsaWFzIGNkIGltcHVsc2UgbGluayBsb2FkIHNhdmUKLXN5biBrZXl3b3JkCXF1YWtlMTJDb21tYW5kCXRpbWVyZWZyZXNoIGNoYW5naW5nIGluZm8gbG9hZGluZwotc3luIGtleXdvcmQJcXVha2UxMkNvbW1hbmQJcGluZ3NlcnZlcnMgcGxheWVybGlzdCBwbGF5ZXJzIHNjb3JlCisgIHN5biBrZXl3b3JkIHF1YWtlMTJDb21tYW5kICAra2xvb2sgYWxpYXMgY2QgaW1wdWxzZSBsaW5rIGxvYWQgc2F2ZQorICBzeW4ga2V5d29yZCBxdWFrZTEyQ29tbWFuZCAgdGltZXJlZnJlc2ggY2hhbmdpbmcgaW5mbyBsb2FkaW5nCisgIHN5biBrZXl3b3JkIHF1YWtlMTJDb21tYW5kICBwaW5nc2VydmVycyBwbGF5ZXJsaXN0IHBsYXllcnMgc2NvcmUKIGVuZGlmCiAKIGlmIGV4aXN0cygicXVha2VfaXNfcXVha2UyIikKLXN5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJY21kIGRlbW9tYXAgK3VzZSBjb25kdW1wIGRvd25sb2FkIGRyb3AgZ2FtZW1hcAotc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAlnaXZlIGd1bl9tb2RlbCBzZXRtYXN0ZXIgc2t5IHN2X21hcGxpc3Qgd2F2ZQotc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAljbWRsaXN0IGdhbWV2ZXJzaW9uYSBndW5fbmV4dCBndW5fcHJldiBpbnZkcm9wCi1zeW4ga2V5d29yZAlxdWFrZTJDb21tYW5kCWludmVuIGludm5leHQgaW52bmV4dHAgaW52bmV4dHcgaW52cHJldgotc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAlpbnZwcmV2cCBpbnZwcmV2dyBpbnZ1c2UgbWVudV9hZGRyZXNzYm9vawotc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAltZW51X2NyZWRpdHMgbWVudV9kbW9wdGlvbnMgbWVudV9nYW1lCi1zeW4ga2V5d29yZAlxdWFrZTJDb21tYW5kCW1lbnVfam9pbnNlcnZlciBtZW51X2tleXMgbWVudV9sb2FkZ2FtZQotc3luIGtleXdvcmQJcXVha2UyQ29tbWFuZAltZW51X21haW4gbWVudV9tdWx0aXBsYXllciBtZW51X29wdGlvbnMKLXN5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJbWVudV9wbGF5ZXJjb25maWcgbWVudV9xdWl0IG1lbnVfc2F2ZWdhbWUKLXN5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJbWVudV9zdGFydHNlcnZlciBtZW51X3ZpZGVvCi1zeW4ga2V5d29yZAlxdWFrZTJDb21tYW5kCW5vdGFyZ2V0IHByZWNhY2hlIHByb2cgdG9nZ2xlY2hhdCB2aWRfZnJvbnQKLXN5biBrZXl3b3JkCXF1YWtlMkNvbW1hbmQJd2VhcGxhc3QKLWVuZGlmCi0KLWlmIGV4aXN0cygicXVha2VfaXNfcXVha2UyIikgfHwgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTMiKQotc3luIGtleXdvcmQJcXVha2UyM0NvbW1hbmQJaW1hZ2VsaXN0IG1vZGVsbGlzdCBwYXRoIHpfc3RhdHMKLWVuZGlmCi0KLWlmIGV4aXN0cygicXVha2VfaXNfcXVha2UzIikKLXN5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJK2luZm8gK3Njb3JlcyArem9vbSBhZGRib3QgYXJlbmEgYmFuQ2xpZW50Ci1zeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCWJhblVzZXIgY2FsbHRlYW12b3RlIGNhbGx2b3RlIGNoYW5nZVZlY3RvcnMKLXN5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJY2luZW1hdGljIGNsaWVudGluZm8gY2xpZW50a2ljayBjbWQgY21kbGlzdAotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAljb25kdW1wIGNvbmZpZ3N0cmluZ3MgY3Jhc2ggY3Zhcl9yZXN0YXJ0IGRldm1hcAotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlmZGlyIGZvbGxvdyBmcmVlemUgZnNfb3BlbmVkTGlzdCBGc19wdXJlTGlzdAotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlGc19yZWZlcmVuY2VkTGlzdCBnZnhpbmZvIGdsb2JhbHNlcnZlcnMKLXN5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJaHVua19zdGF0cyBpbl9yZXN0YXJ0IC1pbmZvIGxldmVsc2hvdAotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlsb2FkZGVmZXJyZWQgbG9jYWxzZXJ2ZXJzIG1hcF9yZXN0YXJ0IG1lbV9pbmZvCi1zeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCW1lc3NhZ2Vtb2RlMyBtZXNzYWdlbW9kZTQgbWlkaWluZm8gbW9kZWwgbXVzaWMKLXN5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJbW9kZWxpc3QgbmV0X3Jlc3RhcnQgbmV4dGZyYW1lIG5leHRza2luIG5vY2xpcAotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlub3RhcmdldCBwaW5nIHByZXZmcmFtZSBwcmV2c2tpbiByZXNldCByZXN0YXJ0Ci1zeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXNfZGlzYWJsZV9hM2Qgc19lbmFibGVfYTNkIHNfaW5mbyBzX2xpc3Qgc19zdG9wCi1zeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXNjYW5zZXJ2ZXJzIC1zY29yZXMgc2NyZWVuc2hvdEpQRUcgc2VjdG9ybGlzdAotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlzZXJ2ZXJzdGF0dXMgc2V0YSBzZXRlbnYgc2V0cyBzZXR1IHNldHZpZXdwb3MKLXN5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJc2hhZGVybGlzdCBzaG93aXAgc2tpbmxpc3Qgc3BkZXZtYXAgc3RhcnRPcmlidAotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAlzdGF0cyBzdG9wZGVtbyBzdG9wcmVjb3JkIHN5c3RlbWluZm8gdG9nZ2xlbWVudQotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAl0Y21kIHRlYW0gdGVhbXRhc2sgdGVhbXZvdGUgdGVsbCB0ZWxsX2F0dGFja2VyCi1zeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXRlbGxfdGFyZ2V0IHRlc3RndW4gdGVzdG1vZGVsIHRlc3RzaGFkZXIgdG9nZ2xlCi1zeW4ga2V5d29yZAlxdWFrZTNDb21tYW5kCXRvdWNoRmlsZSB2bWluZm8gdm1wcm9maWxlIHZtdGVzdCB2b3NheQotc3luIGtleXdvcmQJcXVha2UzQ29tbWFuZAl2b3NheV90ZWFtIHZvdGUgdm90ZWxsIHZzYXkgdnNheV90ZWFtIHZzdHIKLXN5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJdnRhdW50IHZ0ZWxsIHZ0ZWxsX2F0dGFja2VyIHZ0ZWxsX3RhcmdldCB3ZWFwb24KLXN5biBrZXl3b3JkCXF1YWtlM0NvbW1hbmQJd3JpdGVjb25maWcgLXpvb20KLXN5biBtYXRjaAlxdWFrZTNDb21tYW5kCWRpc3BsYXkgIlw8WystXWJ1dHRvblwoXGRcfDFbMC00XVwpXD4iCisgIHN5biBrZXl3b3JkIHF1YWtlMkNvbW1hbmQgICBjbWQgZGVtb21hcCArdXNlIGNvbmR1bXAgZG93bmxvYWQgZHJvcCBnYW1lbWFwCisgIHN5biBrZXl3b3JkIHF1YWtlMkNvbW1hbmQgICBnaXZlIGd1bl9tb2RlbCBzZXRtYXN0ZXIgc2t5IHN2X21hcGxpc3Qgd2F2ZQorICBzeW4ga2V5d29yZCBxdWFrZTJDb21tYW5kICAgY21kbGlzdCBnYW1ldmVyc2lvbmEgZ3VuX25leHQgZ3VuX3ByZXYgaW52ZHJvcAorICBzeW4ga2V5d29yZCBxdWFrZTJDb21tYW5kICAgaW52ZW4gaW52bmV4dCBpbnZuZXh0cCBpbnZuZXh0dyBpbnZwcmV2CisgIHN5biBrZXl3b3JkIHF1YWtlMkNvbW1hbmQgICBpbnZwcmV2cCBpbnZwcmV2dyBpbnZ1c2UgbWVudV9hZGRyZXNzYm9vaworICBzeW4ga2V5d29yZCBxdWFrZTJDb21tYW5kICAgbWVudV9jcmVkaXRzIG1lbnVfZG1vcHRpb25zIG1lbnVfZ2FtZQorICBzeW4ga2V5d29yZCBxdWFrZTJDb21tYW5kICAgbWVudV9qb2luc2VydmVyIG1lbnVfa2V5cyBtZW51X2xvYWRnYW1lCisgIHN5biBrZXl3b3JkIHF1YWtlMkNvbW1hbmQgICBtZW51X21haW4gbWVudV9tdWx0aXBsYXllciBtZW51X29wdGlvbnMKKyAgc3luIGtleXdvcmQgcXVha2UyQ29tbWFuZCAgIG1lbnVfcGxheWVyY29uZmlnIG1lbnVfcXVpdCBtZW51X3NhdmVnYW1lCisgIHN5biBrZXl3b3JkIHF1YWtlMkNvbW1hbmQgICBtZW51X3N0YXJ0c2VydmVyIG1lbnVfdmlkZW8KKyAgc3luIGtleXdvcmQgcXVha2UyQ29tbWFuZCAgIG5vdGFyZ2V0IHByZWNhY2hlIHByb2cgdG9nZ2xlY2hhdCB2aWRfZnJvbnQKKyAgc3luIGtleXdvcmQgcXVha2UyQ29tbWFuZCAgIHdlYXBsYXN0CiBlbmRpZgogCiBzeW4gY2FzZSBtYXRjaAogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9zY3JlZW5fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfc2NyZWVuX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0KLSAgSGlMaW5rIHF1YWtlQ29tbWVudCAJQ29tbWVudAotICBIaUxpbmsgcXVha2VUb2RvIAlUb2RvCi0gIEhpTGluayBxdWFrZVN0cmluZyAJU3RyaW5nCi0gIEhpTGluayBxdWFrZU51bWJlcglOdW1iZXIKLSAgSGlMaW5rIHF1YWtlT2N0YWwJTnVtYmVyCi0gIEhpTGluayBxdWFrZU9jdGFsWmVybwlOdW1iZXIKLSAgSGlMaW5rIHF1YWtlRmxvYXQJTnVtYmVyCi0gIEhpTGluayBxdWFrZU9jdGFsRXJyb3IJRXJyb3IKLSAgSGlMaW5rIHF1YWtlQ29tbWFuZAlxdWFrZUNvbW1hbmRzCi0gIEhpTGluayBxdWFrZTFDb21tYW5kCXF1YWtlQ29tbWFuZHMKLSAgSGlMaW5rIHF1YWtlMTJDb21tYW5kCXF1YWtlQ29tbWFuZHMKLSAgSGlMaW5rIHF1YWtlMkNvbW1hbmQJcXVha2VDb21tYW5kcwotICBIaUxpbmsgcXVha2UyM0NvbW1hbmQJcXVha2VDb21tYW5kcwotICBIaUxpbmsgcXVha2UzQ29tbWFuZAlxdWFrZUNvbW1hbmRzCi0gIEhpTGluayBxdWFrZUNvbW1hbmRzCUtleXdvcmQKLQotICBkZWxjb21tYW5kIEhpTGluaworaWYgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTIiKSB8fCBleGlzdHMoInF1YWtlX2lzX3F1YWtlMyIpCisgIHN5biBrZXl3b3JkIHF1YWtlMjNDb21tYW5kICBpbWFnZWxpc3QgbW9kZWxsaXN0IHBhdGggel9zdGF0cwogZW5kaWYKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgoraWYgZXhpc3RzKCJxdWFrZV9pc19xdWFrZTMiKQorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgK2luZm8gK3Njb3JlcyArem9vbSBhZGRib3QgYXJlbmEgYmFuQ2xpZW50CisgIHN5biBrZXl3b3JkIHF1YWtlM0NvbW1hbmQgICBiYW5Vc2VyIGNhbGx0ZWFtdm90ZSBjYWxsdm90ZSBjaGFuZ2VWZWN0b3JzCisgIHN5biBrZXl3b3JkIHF1YWtlM0NvbW1hbmQgICBjaW5lbWF0aWMgY2xpZW50aW5mbyBjbGllbnRraWNrIGNtZCBjbWRsaXN0CisgIHN5biBrZXl3b3JkIHF1YWtlM0NvbW1hbmQgICBjb25kdW1wIGNvbmZpZ3N0cmluZ3MgY3Jhc2ggY3Zhcl9yZXN0YXJ0IGRldm1hcAorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgZmRpciBmb2xsb3cgZnJlZXplIGZzX29wZW5lZExpc3QgRnNfcHVyZUxpc3QKKyAgc3luIGtleXdvcmQgcXVha2UzQ29tbWFuZCAgIEZzX3JlZmVyZW5jZWRMaXN0IGdmeGluZm8gZ2xvYmFsc2VydmVycworICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgaHVua19zdGF0cyBpbl9yZXN0YXJ0IC1pbmZvIGxldmVsc2hvdAorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgbG9hZGRlZmVycmVkIGxvY2Fsc2VydmVycyBtYXBfcmVzdGFydCBtZW1faW5mbworICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgbWVzc2FnZW1vZGUzIG1lc3NhZ2Vtb2RlNCBtaWRpaW5mbyBtb2RlbCBtdXNpYworICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgbW9kZWxpc3QgbmV0X3Jlc3RhcnQgbmV4dGZyYW1lIG5leHRza2luIG5vY2xpcAorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgbm90YXJnZXQgcGluZyBwcmV2ZnJhbWUgcHJldnNraW4gcmVzZXQgcmVzdGFydAorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgc19kaXNhYmxlX2EzZCBzX2VuYWJsZV9hM2Qgc19pbmZvIHNfbGlzdCBzX3N0b3AKKyAgc3luIGtleXdvcmQgcXVha2UzQ29tbWFuZCAgIHNjYW5zZXJ2ZXJzIC1zY29yZXMgc2NyZWVuc2hvdEpQRUcgc2VjdG9ybGlzdAorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgc2VydmVyc3RhdHVzIHNldGEgc2V0ZW52IHNldHMgc2V0dSBzZXR2aWV3cG9zCisgIHN5biBrZXl3b3JkIHF1YWtlM0NvbW1hbmQgICBzaGFkZXJsaXN0IHNob3dpcCBza2lubGlzdCBzcGRldm1hcCBzdGFydE9yaWJ0CisgIHN5biBrZXl3b3JkIHF1YWtlM0NvbW1hbmQgICBzdGF0cyBzdG9wZGVtbyBzdG9wcmVjb3JkIHN5c3RlbWluZm8gdG9nZ2xlbWVudQorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgdGNtZCB0ZWFtIHRlYW10YXNrIHRlYW12b3RlIHRlbGwgdGVsbF9hdHRhY2tlcgorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgdGVsbF90YXJnZXQgdGVzdGd1biB0ZXN0bW9kZWwgdGVzdHNoYWRlciB0b2dnbGUKKyAgc3luIGtleXdvcmQgcXVha2UzQ29tbWFuZCAgIHRvdWNoRmlsZSB2bWluZm8gdm1wcm9maWxlIHZtdGVzdCB2b3NheQorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgdm9zYXlfdGVhbSB2b3RlIHZvdGVsbCB2c2F5IHZzYXlfdGVhbSB2c3RyCisgIHN5biBrZXl3b3JkIHF1YWtlM0NvbW1hbmQgICB2dGF1bnQgdnRlbGwgdnRlbGxfYXR0YWNrZXIgdnRlbGxfdGFyZ2V0IHdlYXBvbgorICBzeW4ga2V5d29yZCBxdWFrZTNDb21tYW5kICAgd3JpdGVjb25maWcgLXpvb20KKyAgc3luIG1hdGNoICAgcXVha2UzQ29tbWFuZCAgIGRpc3BsYXkgIlw8WystXWJ1dHRvblwoXGRcfDFbMC00XVwpXD4iCitlbmRpZgorCitoaSBkZWYgbGluayBxdWFrZUNvbW1lbnQgICAgICBDb21tZW50CitoaSBkZWYgbGluayBxdWFrZVRvZG8gICAgICAgICBUb2RvCitoaSBkZWYgbGluayBxdWFrZVN0cmluZyAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHF1YWtlTnVtYmVyICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgcXVha2VPY3RhbCAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBxdWFrZU9jdGFsWmVybyAgICBQcmVQcm9jCitoaSBkZWYgbGluayBxdWFrZUZsb2F0ICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHF1YWtlT2N0YWxFcnJvciAgIEVycm9yCitoaSBkZWYgbGluayBxdWFrZUNvbW1hbmQgICAgICBxdWFrZUNvbW1hbmRzCitoaSBkZWYgbGluayBxdWFrZTFDb21tYW5kICAgICBxdWFrZUNvbW1hbmRzCitoaSBkZWYgbGluayBxdWFrZTEyQ29tbWFuZCAgICBxdWFrZUNvbW1hbmRzCitoaSBkZWYgbGluayBxdWFrZTJDb21tYW5kICAgICBxdWFrZUNvbW1hbmRzCitoaSBkZWYgbGluayBxdWFrZTIzQ29tbWFuZCAgICBxdWFrZUNvbW1hbmRzCitoaSBkZWYgbGluayBxdWFrZTNDb21tYW5kICAgICBxdWFrZUNvbW1hbmRzCitoaSBkZWYgbGluayBxdWFrZUNvbW1hbmRzICAgICBLZXl3b3JkCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInF1YWtlIgorCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JhY2MudmltIGIvcnVudGltZS9zeW50YXgvcmFjYy52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY0NDg5NQotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3JhY2MudmltCkBAIC0wLDAgKzEsMTM4IEBACisiIFZpbSBkZWZhdWx0IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgUmFjYyBpbnB1dCBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworc3luIGtleXdvcmQgcmFjY1RvZG8gICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCisKK3N5biByZWdpb24gIHJhY2NDb21tZW50ICAgICBtYXRjaGdyb3VwPXJhY2NDb21tZW50IHN0YXJ0PScvXConIGVuZD0nXCovJworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmFjY1RvZG8sQFNwZWxsCitzeW4gcmVnaW9uICByYWNjQ29tbWVudCAgICAgbWF0Y2hncm91cD1yYWNjQ29tbWVudCBzdGFydD0nIycgZW5kPSckJworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmFjY1RvZG8sQFNwZWxsCisKK3N5biByZWdpb24gIHJhY2NDbGFzcyAgICAgICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXJhY2NLZXl3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXDxjbGFzc1w+JyBlbmQ9J1w8cnVsZVw+J2hlPWUtNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmFjY0NvbW1lbnQscmFjY1ByZWNlZGVuY2UsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByYWNjVG9rZW5EZWNsLHJhY2NFeHBlY3QscmFjY09wdGlvbnMscmFjY0NvbnZlcnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByYWNjU3RhcnQsCisKK3N5biByZWdpb24gIHJhY2NQcmVjZWRlbmNlICB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXJhY2NLZXl3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXDxwcmVjaGlnaFw+JyBlbmQ9J1w8cHJlY2xvd1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmFjY0NvbW1lbnQscmFjY1ByZWNTcGVjCisKK3N5biBrZXl3b3JkIHJhY2NQcmVjU3BlYyAgICBjb250YWluZWQgbm9uYXNzb2MgbGVmdCByaWdodAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJhY2NQcmVjVG9rZW4scmFjY1ByZWNTdHJpbmcgc2tpcHdoaXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwbmwKKworc3luIG1hdGNoICAgcmFjY1ByZWNUb2tlbiAgIGNvbnRhaW5lZCAnXDxcdVtBLVowLTldKlw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJhY2NQcmVjVG9rZW4scmFjY1ByZWNTdHJpbmcgc2tpcHdoaXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwbmwKKworc3luIHJlZ2lvbiAgcmFjY1ByZWNTdHJpbmcgIG1hdGNoZ3JvdXA9cmFjY1ByZWNTdHJpbmcgc3RhcnQ9KyIrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXJhY2NTcGVjaWFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmFjY1ByZWNUb2tlbixyYWNjUHJlY1N0cmluZyBza2lwd2hpdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXBubAorc3luIHJlZ2lvbiAgcmFjY1ByZWNTdHJpbmcgIG1hdGNoZ3JvdXA9cmFjY1ByZWNTdHJpbmcgc3RhcnQ9KycrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwPStcXFxcXHxcXCcrIGVuZD0rJysgY29udGFpbnM9cmFjY1NwZWNpYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yYWNjUHJlY1Rva2VuLHJhY2NQcmVjU3RyaW5nIHNraXB3aGl0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcG5sCisKK3N5biBrZXl3b3JkIHJhY2NUb2tlbkRlY2wgICBjb250YWluZWQgdG9rZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yYWNjVG9rZW5SIHNraXB3aGl0ZSBza2lwbmwKKworc3luIG1hdGNoICAgcmFjY1Rva2VuUiAgICAgIGNvbnRhaW5lZCAnXDxcdVtBLVowLTldKlw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJhY2NUb2tlblIgc2tpcHdoaXRlIHNraXBubAorCitzeW4ga2V5d29yZCByYWNjRXhwZWN0ICAgICAgY29udGFpbmVkIGV4cGVjdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJhY2NOdW1iZXIgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICByYWNjTnVtYmVyICAgICAgY29udGFpbmVkICdcPFxkXCtcPicKKworc3luIGtleXdvcmQgcmFjY09wdGlvbnMgICAgIGNvbnRhaW5lZCBvcHRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmFjY09wdGlvbnNSIHNraXB3aGl0ZSBza2lwbmwKKworc3luIGtleXdvcmQgcmFjY09wdGlvbnNSICAgIGNvbnRhaW5lZCBvbWl0X2FjdGlvbl9jYWxsIHJlc3VsdF92YXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yYWNjT3B0aW9uc1Igc2tpcHdoaXRlIHNraXBubAorCitzeW4gcmVnaW9uICByYWNjQ29udmVydCAgICAgdHJhbnNwYXJlbnQgY29udGFpbmVkIG1hdGNoZ3JvdXA9cmFjY0tleXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdcPGNvbnZlcnRcPicgZW5kPSdcPGVuZFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmFjY0NvbW1lbnQscmFjY0NvbnZUb2tlbiBza2lwd2hpdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXBubAorCitzeW4gbWF0Y2ggICByYWNjQ29udlRva2VuICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV0qXD4nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmFjY1N0cmluZyBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBrZXl3b3JkIHJhY2NTdGFydCAgICAgICBjb250YWluZWQgc3RhcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yYWNjVGFyZ2V0UyBza2lwd2hpdGUgc2tpcG5sCisKK3N5biBtYXRjaCAgIHJhY2NUYXJnZXRTICAgICBjb250YWluZWQgJ1w8XGxbYS16MC05XSpcPicKKworc3luIG1hdGNoICAgcmFjY1NwZWNpYWwgICAgIGNvbnRhaW5lZCAnXFxbIidcXF0nCisKK3N5biByZWdpb24gIHJhY2NTdHJpbmcgICAgICBtYXRjaGdyb3VwPXJhY2NTdHJpbmcgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0rIisgY29udGFpbnM9cmFjY1NwZWNpYWwKK3N5biByZWdpb24gIHJhY2NTdHJpbmcgICAgICBtYXRjaGdyb3VwPXJhY2NTdHJpbmcgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0rJysgY29udGFpbnM9cmFjY1NwZWNpYWwKKworc3luIHJlZ2lvbiAgcmFjY1J1bGVzICAgICAgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9cmFjY0tleXdvcmQgc3RhcnQ9J1w8cnVsZVw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdcPGVuZFw+JyBjb250YWlucz1yYWNjQ29tbWVudCxyYWNjU3RyaW5nLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmFjY051bWJlcixyYWNjVG9rZW4scmFjY1RhcmdldCxyYWNjRGVsaW1pdGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmFjY0FjdGlvbgorCitzeW4gbWF0Y2ggICByYWNjVGFyZ2V0ICAgICAgY29udGFpbmVkICdcPFxsW2EtejAtOV0qXD4nCisKK3N5biBtYXRjaCAgIHJhY2NEZWxpbWl0ZXIgICBjb250YWluZWQgJ1s6fF0nCisKK3N5biBtYXRjaCAgIHJhY2NUb2tlbiAgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05XSpcPicKKworc3luIGluY2x1ZGUgQHJhY2NSdWJ5ICAgICAgIHN5bnRheC9ydWJ5LnZpbQorCitzeW4gcmVnaW9uICByYWNjQWN0aW9uICAgICAgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1yYWNjRGVsaW1pdGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0neycgZW5kPSd9JyBjb250YWlucz1AcmFjY1J1YnkKKworc3luIHJlZ2lvbiAgcmFjY0hlYWRlciAgICAgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9cmFjY1ByZVByb2MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeLS0tLSBoZWFkZXIuKicgZW5kPSdeLS0tLSdoZT1lLTQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUByYWNjUnVieQorCitzeW4gcmVnaW9uICByYWNjSW5uZXIgICAgICAgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1yYWNjUHJlUHJvYworICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J14tLS0tIGlubmVyLionIGVuZD0nXi0tLS0naGU9ZS00CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1AcmFjY1J1YnkKKworc3luIHJlZ2lvbiAgcmFjY0Zvb3RlciAgICAgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9cmFjY1ByZVByb2MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeLS0tLSBmb290ZXIuKicgZW5kPSdeLS0tLSdoZT1lLTQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUByYWNjUnVieQorCitoaSBkZWYgbGluayByYWNjVG9kbyAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgcmFjY0NvbW1lbnQgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHJhY2NQcmVjU3BlYyAgICBUeXBlCitoaSBkZWYgbGluayByYWNjUHJlY1Rva2VuICAgcmFjY1Rva2VuCitoaSBkZWYgbGluayByYWNjUHJlY1N0cmluZyAgcmFjY1N0cmluZworaGkgZGVmIGxpbmsgcmFjY1Rva2VuRGVjbCAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHJhY2NUb2tlbiAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayByYWNjVG9rZW5SICAgICAgcmFjY1Rva2VuCitoaSBkZWYgbGluayByYWNjRXhwZWN0ICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgcmFjY051bWJlciAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgcmFjY09wdGlvbnMgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHJhY2NPcHRpb25zUiAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayByYWNjQ29udlRva2VuICAgcmFjY1Rva2VuCitoaSBkZWYgbGluayByYWNjU3RhcnQgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgcmFjY1RhcmdldFMgICAgIFR5cGUKK2hpIGRlZiBsaW5rIHJhY2NTcGVjaWFsICAgICBzcGVjaWFsCitoaSBkZWYgbGluayByYWNjU3RyaW5nICAgICAgU3RyaW5nCitoaSBkZWYgbGluayByYWNjVGFyZ2V0ICAgICAgVHlwZQoraGkgZGVmIGxpbmsgcmFjY0RlbGltaXRlciAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgcmFjY1ByZVByb2MgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHJhY2NLZXl3b3JkICAgICBLZXl3b3JkCisKK2xldCBiOmN1cnJlbnRfc3ludGF4ID0gInJhY2MiCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmVhZGxpbmUudmltIGIvcnVudGltZS9zeW50YXgvcmVhZGxpbmUudmltCmluZGV4IDhmNzIwNDguLmNjNGQ4NmQgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JlYWRsaW5lLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yZWFkbGluZS52aW0KQEAgLTEsMTUyICsxLDE3NiBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICByZWFkbGluZSBjb25maWd1cmF0aW9uIGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvcmVhZGxpbmUvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICA2ZDhlN2RhNC1iMzljLTRiZjctOGU2YS1kOTEzNWY5OTM0NTcKLSIgVmFyaWFibGVzOgorIiBMYW5ndWFnZTogICAgICAgICByZWFkbGluZSgzKSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAiICAgcmVhZGxpbmVfaGFzX2Jhc2ggLSBpZiBkZWZpbmVkIGFkZCBzdXBwb3J0IGZvciBiYXNoIHNwZWNpZmljCi0iCQkJc2V0dGluZ3MvZnVuY3Rpb25zCisiICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy9mdW5jdGlvbnMKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIFNldCBpc2tleXdvcmQgc2luY2Ugd2UgbmVlZCBgLScgKGFuZCBwb3RlbnRpYWxseSBvdGhlcnMpIGluIGtleXdvcmRzLgotIiBGb3IgdmVyc2lvbiA1Lng6IFNldCBpdCBnbG9iYWxseQotIiBGb3IgdmVyc2lvbiA2Lng6IFNldCBpdCBsb2NhbGx5Ci1pZiB2ZXJzaW9uID49IDYwMAotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXRsb2NhbCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbHNlCi0gIGNvbW1hbmQgLW5hcmdzPTEgU2V0SXNrIHNldCBpc2tleXdvcmQ9PGFyZ3M+Ci1lbmRpZgotU2V0SXNrIDQ4LTU3LDY1LTkwLDk3LTEyMiwtCi1kZWxjb21tYW5kIFNldElzaworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIGNvbW1lbnRzCi1zeW4gcmVnaW9uICByZWFkbGluZUNvbW1lbnQJZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9cmVhZGxpbmVDb21tZW50IHN0YXJ0PSJeXHMqIyIgZW5kPSIkIiBjb250YWlucz1yZWFkbGluZVRvZG8KK3NldGxvY2FsIGlza2V5d29yZD1ALDQ4LTU3LC0KIAotIiB0b2RvCi1zeW4ga2V5d29yZCByZWFkbGluZVRvZG8JY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK3N5biBrZXl3b3JkIHJlYWRsaW5lVG9kbyAgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKIAotIiBzdHJpbmdzIChhcmdoLi4ubm90IHRoZSB3YXkgaSB3YW50IGl0LCBidXQgZmluZS4uLiIKLXN5biBtYXRjaCAgIHJlYWRsaW5lU3RyaW5nCSJeXHMqW0EtWmEtei1dXCs6Im1lPWUtMSBjb250YWlucz1yZWFkbGluZUtleXMKLXN5biByZWdpb24gIHJlYWRsaW5lU3RyaW5nCWRpc3BsYXkgb25lbGluZSBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXJlYWRsaW5lS2V5c1R3bworc3luIHJlZ2lvbiAgcmVhZGxpbmVDb21tZW50ICAgICBkaXNwbGF5IG9uZWxpbmUgbWF0Y2hncm91cD1yZWFkbGluZUNvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKiMnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1yZWFkbGluZVRvZG8sQFNwZWxsCiAKLSIgc3BlY2lhbCBrZXkKK3N5biBtYXRjaCAgIHJlYWRsaW5lU3RyaW5nICAgICAgJ15ccypbQS1aYS16LV1cKzonbWU9ZS0xIGNvbnRhaW5zPXJlYWRsaW5lS2V5cworc3luIHJlZ2lvbiAgcmVhZGxpbmVTdHJpbmcgICAgICBkaXNwbGF5IG9uZWxpbmUgc3RhcnQ9KyIrIHNraXA9K1xcXFxcfFxcIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9KyIrIGNvbnRhaW5zPXJlYWRsaW5lS2V5c1R3bworCiBzeW4gY2FzZSBpZ25vcmUKLXN5biBrZXl3b3JkIHJlYWRsaW5lS2V5cwljb250YWluZWQgQ29udHJvbCBNZXRhIERlbCBFc2MgRXNjYXBlIExGRCBOZXdsaW5lIFJldCBSZXR1cm4gUnVib3V0IFNwYWNlIFNwYyBUYWIKK3N5biBrZXl3b3JkIHJlYWRsaW5lS2V5cyAgICAgICAgY29udGFpbmVkIENvbnRyb2wgTWV0YSBEZWwgRXNjIEVzY2FwZSBMRkQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBOZXdsaW5lIFJldCBSZXR1cm4gUnVib3V0IFNwYWNlIFNwYyBUYWIKIHN5biBjYXNlIG1hdGNoCiAKLXN5biBtYXRjaCAgIHJlYWRsaW5lS2V5c1R3bwljb250YWluZWQgK1xcXChbQ01dLVx8W2VcXCInYWJkZm5ydHZdXHxcb1x7M31cfHhceFx7M31cKSsKK3N5biBtYXRjaCAgIHJlYWRsaW5lS2V5c1R3byAgICAgY29udGFpbmVkIGRpc3BsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCArXFxcKFtDTV0tXHxbZVxcIidhYmRmbnJ0dl1cfFxvXHszfVx8eFx4XHszfVwpKwogCi0iIGtleW1hcHMKLXN5biBtYXRjaCAgIHJlYWRsaW5lS2V5bWFwcwljb250YWluZWQgImVtYWNzXCgtc3RhbmRhcmRcfC1tZXRhXHwtY3RseFwpXD0iCi1zeW4gbWF0Y2ggICByZWFkbGluZUtleW1hcHMJY29udGFpbmVkICJ2aVwoLW1vdmVcfC1jb21tYW5kXHwtaW5zZXJ0XClcPSIKK3N5biBtYXRjaCAgIHJlYWRsaW5lS2V5bWFwcyAgICAgY29udGFpbmVkIGRpc3BsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnZW1hY3NcKC1zdGFuZGFyZFx8LW1ldGFcfC1jdGx4XClcPScKK3N5biBtYXRjaCAgIHJlYWRsaW5lS2V5bWFwcyAgICAgY29udGFpbmVkIGRpc3BsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAndmlcKC1tb3ZlXHwtY29tbWFuZFx8LWluc2VydFwpXD0nCiAKLSIgYmVsbCBzdHlsZXMKLXN5biBrZXl3b3JkIHJlYWRsaW5lQmVsbFN0eWxlcwljb250YWluZWQgYXVkaWJsZSB2aXNpYmxlIG5vbmUKK3N5biBrZXl3b3JkIHJlYWRsaW5lQmVsbFN0eWxlcyAgY29udGFpbmVkIGF1ZGlibGUgdmlzaWJsZSBub25lCiAKLSIgbnVtYmVycwotc3luIG1hdGNoICAgcmVhZGxpbmVOdW1iZXIJY29udGFpbmVkICJcPFxkXCtcPiIKK3N5biBtYXRjaCAgIHJlYWRsaW5lTnVtYmVyICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1w8XGRcK1w+JwogCi0iIGJvb2xlYW5zCiBzeW4gY2FzZSBpZ25vcmUKLXN5biBrZXl3b3JkIHJlYWRsaW5lQm9vbGVhbgljb250YWluZWQgb24gb2ZmCitzeW4ga2V5d29yZCByZWFkbGluZUJvb2xlYW4gICAgIGNvbnRhaW5lZCBvbiBvZmYKIHN5biBjYXNlIG1hdGNoCiAKLSIgY29uZGl0aW9uYWxzCi1zeW4ga2V5d29yZCByZWFkbGluZUlmT3BzCWNvbnRhaW5lZCBtb2RlIHRlcm0KK3N5biBrZXl3b3JkIHJlYWRsaW5lSWZPcHMgICAgICAgY29udGFpbmVkIG1vZGUgdGVybQogCi1zeW4gcmVnaW9uICByZWFkbGluZUNvbmRpdGlvbmFsIGRpc3BsYXkgb25lbGluZSB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXJlYWRsaW5lQ29uZGl0aW9uYWwgc3RhcnQ9Il5ccyokaWYiIGVuZD0iJCIgY29udGFpbnM9cmVhZGxpbmVJZk9wcyxyZWFkbGluZUtleW1hcHMKLXN5biBtYXRjaCAgIHJlYWRsaW5lQ29uZGl0aW9uYWwJIl5ccyokXChlbHNlXHxlbmRpZlwpXD4iCitzeW4gcmVnaW9uICByZWFkbGluZUNvbmRpdGlvbmFsIGRpc3BsYXkgb25lbGluZSB0cmFuc3BhcmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9cmVhZGxpbmVDb25kaXRpb25hbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXHMqJGlmJyBlbmQ9IiQiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmVhZGxpbmVJZk9wcyxyZWFkbGluZUtleW1hcHMKK3N5biBtYXRjaCAgIHJlYWRsaW5lQ29uZGl0aW9uYWwgZGlzcGxheSAnXlxzKiRcKGVsc2VcfGVuZGlmXClcPicKIAotIiBpbmNsdWRlCi1zeW4gbWF0Y2ggICByZWFkbGluZUluY2x1ZGUJIl5ccyokaW5jbHVkZVw+Igorc3luIG1hdGNoICAgcmVhZGxpbmVJbmNsdWRlICAgICBkaXNwbGF5ICdeXHMqJGluY2x1ZGVcPicKIAotIiBzZXR0aW5ncworc3luIHJlZ2lvbiAgcmVhZGxpbmVTZXQgICAgICAgICBkaXNwbGF5IG9uZWxpbmUgdHJhbnNwYXJlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXJlYWRsaW5lS2V5d29yZCBzdGFydD0nXlxzKnNldFw+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0iJCJtZT1lLTEgY29udGFpbnM9cmVhZGxpbmVOdW1iZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmVhZGxpbmVCb29sZWFuLHJlYWRsaW5lS2V5bWFwcywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZWFkbGluZUJlbGxTdHlsZXMscmVhZGxpbmVTZXR0aW5ncwogCi1zeW4gcmVnaW9uICByZWFkbGluZVNldAkJZGlzcGxheSBvbmVsaW5lIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9cmVhZGxpbmVLZXl3b3JkIHN0YXJ0PSJeXHMqc2V0XD4iIGVuZD0iJCJtZT1lLTEgY29udGFpbnM9cmVhZGxpbmVOdW1iZXIscmVhZGxpbmVCb29sZWFuLHJlYWRsaW5lS2V5bWFwcyxyZWFkbGluZUJlbGxTdHlsZXMscmVhZGxpbmVTZXR0aW5ncworc3luIGtleXdvcmQgcmVhZGxpbmVTZXR0aW5ncyAgICBjb250YWluZWQgYmVsbC1zdHlsZSBjb21tZW50LWJlZ2luCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGlvbi1pZ25vcmUtY2FzZSBjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udmVydC1tZXRhIGRpc2FibGUtY29tcGxldGlvbiBlZGl0aW5nLW1vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmFibGUta2V5cGFkIGV4cGFuZC10aWxkZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhvcml6b250YWwtc2Nyb2xsLW1vZGUgbWFyay1kaXJlY3RvcmllcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtleW1hcCBtYXJrLW1vZGlmaWVkLWxpbmVzIG1ldGEtZmxhZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGlucHV0LW1ldGEgb3V0cHV0LW1ldGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwcmludC1jb21wbGV0aW9ucy1ob3Jpem9udGFsbHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzaG93LWFsbC1pZi1hbWJpZ3VvdXMgdmlzaWJsZS1zdGF0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHByZWZlci12aXNpYmxlLWJlbGwgYmxpbmstbWF0Y2hpbmctcGFyZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaC1oaWRkZW4tZmlsZXMgaGlzdG9yeS1wcmVzZXJ2ZS1wb2ludAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGlzZWFyY2gtdGVybWluYXRvcnMKIAotc3luIGtleXdvcmQgcmVhZGxpbmVTZXR0aW5ncwljb250YWluZWQgYmVsbC1zdHlsZSBjb21tZW50LWJlZ2luIGNvbXBsZXRpb24taWdub3JlLWNhc2UKLXN5biBrZXl3b3JkIHJlYWRsaW5lU2V0dGluZ3MJY29udGFpbmVkIGNvbXBsZXRpb24tcXVlcnktaXRlbXMgY29udmVydC1tZXRhIGRpc2FibGUtY29tcGxldGlvbiBlZGl0aW5nLW1vZGUgZW5hYmxlLWtleXBhZAotc3luIGtleXdvcmQgcmVhZGxpbmVTZXR0aW5ncwljb250YWluZWQgZXhwYW5kLXRpbGRlIGhvcml6b250YWwtc2Nyb2xsLW1vZGUgbWFyay1kaXJlY3RvcmllcyBrZXltYXAgbWFyay1tb2RpZmllZC1saW5lcyBtZXRhLWZsYWcKLXN5biBrZXl3b3JkIHJlYWRsaW5lU2V0dGluZ3MJY29udGFpbmVkIGlucHV0LW1ldGEgb3V0cHV0LW1ldGEgcHJpbnQtY29tcGxldGlvbnMtaG9yaXpvbnRhbGx5IHNob3ctYWxsLWlmLWFtYmlndW91cyB2aXNpYmxlLXN0YXRzCi1zeW4ga2V5d29yZCByZWFkbGluZVNldHRpbmdzCWNvbnRhaW5lZCBwcmVmZXItdmlzaWJsZS1iZWxsIGJsaW5rLW1hdGNoaW5nLXBhcmVuCi1zeW4ga2V5d29yZCByZWFkbGluZVNldHRpbmdzCWNvbnRhaW5lZCBtYXRjaC1oaWRkZW4tZmlsZXMgaGlzdG9yeS1wcmVzZXJ2ZS1wb2ludCBpc2VhcmNoLXRlcm1pbmF0b3JzCitzeW4gcmVnaW9uICByZWFkbGluZUJpbmRpbmcgICAgIGRpc3BsYXkgb25lbGluZSB0cmFuc3BhcmVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9cmVhZGxpbmVLZXl3b3JkIHN0YXJ0PSc6JyBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmVhZGxpbmVLZXlzLHJlYWRsaW5lRnVuY3Rpb25zCiAKLSIgYmFzaCBleHRlbnNpb25zCitzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucyAgIGNvbnRhaW5lZCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmVnaW5uaW5nLW9mLWxpbmUgZW5kLW9mLWxpbmUgZm9yd2FyZC1jaGFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmFja3dhcmQtY2hhciBmb3J3YXJkLXdvcmQgYmFja3dhcmQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNsZWFyLXNjcmVlbiByZWRyYXctY3VycmVudC1saW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWNjZXB0LWxpbmUgcHJldmlvdXMtaGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHQtaGlzdG9yeSBiZWdpbm5pbmctb2YtaGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZC1vZi1oaXN0b3J5IHJldmVyc2Utc2VhcmNoLWhpc3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmb3J3YXJkLXNlYXJjaC1oaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub24taW5jcmVtZW50YWwtZm9yd2FyZC1zZWFyY2gtaGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhpc3Rvcnktc2VhcmNoLWZvcndhcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBoaXN0b3J5LXNlYXJjaC1iYWNrd2FyZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHlhbmstbnRoLWFyZyB5YW5rLWxhc3QtYXJnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGVsZXRlLWNoYXIgYmFja3dhcmQtZGVsZXRlLWNoYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS1jaGFyIHF1b3RlZC1pbnNlcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0YWItaW5zZXJ0IHNlbGYtaW5zZXJ0IHRyYW5zcG9zZS1jaGFycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHRyYW5zcG9zZS13b3JkcyB1cGNhc2Utd29yZCBkb3duY2FzZS13b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY2FwaXRhbGl6ZS13b3JkIG92ZXJ3cml0ZS1tb2RlIGtpbGwtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGJhY2t3YXJkLWtpbGwtbGluZSB1bml4LWxpbmUtZGlzY2FyZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtpbGwtd2hvbGUtbGluZSBraWxsLXdvcmQgYmFja3dhcmQta2lsbC13b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdW5peC13b3JkLXJ1Ym91dCB1bml4LWZpbGVuYW1lLXJ1Ym91dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlIGtpbGwtcmVnaW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29weS1yZWdpb24tYXMta2lsbCBjb3B5LWJhY2t3YXJkLXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb3B5LWZvcndhcmQtd29yZCB5YW5rIHlhbmstcG9wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlnaXQtYXJndW1lbnQgdW5pdmVyc2FsLWFyZ3VtZW50IGNvbXBsZXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcG9zc2libGUtY29tcGxldGlvbnMgaW5zZXJ0LWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWVudS1jb21wbGV0ZSBkZWxldGUtY2hhci1vci1saXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQta2JkLW1hY3JvIGVuZC1rYmQtbWFjcm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjYWxsLWxhc3Qta2JkLW1hY3JvIHJlLXJlYWQtaW5pdC1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWJvcnQgZG8tdXBwZXJjYXNlLXZlcnNpb24gcHJlZml4LW1ldGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1bmRvIHJldmVydC1saW5lIHRpbGRlLWV4cGFuZCBzZXQtbWFyaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIGNoYXJhY3Rlci1zZWFyY2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjaGFyYWN0ZXItc2VhcmNoLWJhY2t3YXJkIGluc2VydC1jb21tZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHVtcC1mdW5jdGlvbnMgZHVtcC12YXJpYWJsZXMgZHVtcC1tYWNyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbWFjcy1lZGl0aW5nLW1vZGUgdmktZWRpdGluZy1tb2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktY29tcGxldGUgdmktY2hhci1zZWFyY2ggdmktcmVkbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXNlYXJjaCB2aS1hcmctZGlnaXQgdmktYXBwZW5kLWVvbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXByZXYtd29yZCB2aS1jaGFuZ2UtdG8gdmktZGVsZXRlLXRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktZW5kLXdvcmQgdmktZmV0Y2gtaGlzdG9yeSB2aS1pbnNlcnQtYmVnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktc2VhcmNoLWFnYWluIHZpLXB1dCB2aS1yZXBsYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktc3Vic3QgdmkteWFuay10byB2aS1maXJzdC1wcmludAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXlhbmstYXJnIHZpLWdvdG8tbWFyayB2aS1hcHBlbmQtbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWluc2VydGlvbi1tb2RlIHByZXYtaGlzdG9yeSB2aS1zZXQtbWFyaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXNlYXJjaC1hZ2FpbiB2aS1wdXQgdmktY2hhbmdlLWNoYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1zdWJzdCB2aS1kZWxldGUgdmkteWFuay10bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWNvbHVtbiB2aS1jaGFuZ2UtY2FzZSB2aS1vdmVyc3RyaWtlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktb3ZlcnN0cmlrZS1kZWxldGUgZG8tbG93ZXJjYXNlLXZlcnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWxldGUtY2hhci1vci1saXN0IHR0eS1zdGF0dXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhcnJvdy1rZXktcHJlZml4IHZpLWJhY2stdG8taW5kZW50IHZpLWJ3b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktYldvcmQgdmktZXdvcmQgdmktZVdvcmQgdmktZndvcmQgdmktZldvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1uZXh0LXdvcmQKKwogaWYgZXhpc3RzKCJyZWFkbGluZV9oYXNfYmFzaCIpCi0gICJzeW4ga2V5d29yZCByZWFkbGluZVNldHRpbmdzCWNvbnRhaW5lZAorICBzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucyBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzaGVsbC1leHBhbmQtbGluZSBoaXN0b3J5LWV4cGFuZC1saW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWFnaWMtc3BhY2UgYWxpYXMtZXhwYW5kLWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBoaXN0b3J5LWFuZC1hbGlhcy1leHBhbmQtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGluc2VydC1sYXN0LWFyZ3VtZW50IG9wZXJhdGUtYW5kLWdldC1uZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZm9yd2FyZC1iYWNrd2FyZC1kZWxldGUtY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRlbGV0ZS1jaGFyLW9yLWxpc3QgY29tcGxldGUtZmlsZW5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwb3NzaWJsZS1maWxlbmFtZS1jb21wbGV0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLXVzZXJuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcG9zc2libGUtdXNlcm5hbWUtY29tcGxldGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21wbGV0ZS12YXJpYWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGUtaG9zdG5hbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwb3NzaWJsZS1ob3N0bmFtZS1jb21wbGV0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLWNvbW1hbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwb3NzaWJsZS1jb21tYW5kLWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHluYW1pYy1jb21wbGV0ZS1oaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGUtaW50by1icmFjZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBnbG9iLWV4cGFuZC13b3JkIGdsb2ItbGlzdC1leHBhbnNpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlzcGxheS1zaGVsbC12ZXJzaW9uIGdsb2ItY29tcGxldGUtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVkaXQtYW5kLWV4ZWN1dGUtY29tbWFuZAogZW5kaWYKIAotIiBrZXkgYmluZGluZ3MKLXN5biByZWdpb24gIHJlYWRsaW5lQmluZGluZwlkaXNwbGF5IG9uZWxpbmUgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1yZWFkbGluZUtleXdvcmQgc3RhcnQ9IjoiIGVuZD0iJCIgY29udGFpbnM9cmVhZGxpbmVLZXlzLHJlYWRsaW5lRnVuY3Rpb25zCi0KLXN5biBtYXRjaCAgIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCAiXDxcKGJlZ2lubmluZ1x8ZW5kXCktb2YtbGluZVw+Igotc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPFwoYmFja3dhcmRcfGZvcndhcmRcKS1cKGNoYXJcfHdvcmRcKVw+Igotc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPFwocHJldmlvdXNcfG5leHRcfFwoYmVnaW5uaW5nXHxlbmRcKS1vZlx8XChub24taW5jcmVtZW50YWwtXClcPVwocmV2ZXJzZVx8Zm9yd2FyZFwpLXNlYXJjaFwpLWhpc3RvcnlcPiIKLXN5biBtYXRjaCAgIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCAiXDxoaXN0b3J5LXNlYXJjaC1cKGZvcndhcmRcfGJhY2t3YXJkXClcPiIKLXN5biBtYXRjaCAgIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCAiXDx5YW5rLVwobnRoXHxsYXN0XCktYXJnXD4iCi1zeW4gbWF0Y2ggICByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgIlw8XChiYWNrd2FyZC1cKVw9a2lsbC1cKFwod2hvbGUtXClcPWxpbmVcfHdvcmRcKVw+Igotc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPFwoc3RhcnRcfGVuZFx8Y2FsbC1sYXN0XCkta2JkLW1hY3JvXD4iCi1zeW4gbWF0Y2ggICByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgIlw8ZHVtcC1cKGZ1bmN0aW9uc1x8dmFyaWFibGVzXHxtYWNyb3NcKVw+Igotc3luIG1hdGNoICAgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkICJcPG5vbi1pbmNyZW1lbnRhbC1cKHJldmVyc2VcfGZvcndhcmRcKS1zZWFyY2gtaGlzdG9yeS1hZ2Fpblw+Igotc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGNsZWFyLXNjcmVlbiByZWRyYXctY3VycmVudC1saW5lIGFjY2VwdC1saW5lIGRlbGV0ZS1jaGFyIGJhY2t3YXJkLWRlbGV0ZS1jaGFyIHF1b3RlZC1pbnNlcnQgdGFiLWluc2VydAotc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIHNlbGYtaW5zZXJ0IHRyYW5zcG9zZS1jaGFycyB0cmFuc3Bvc2Utd29yZHMgZG93bmNhc2Utd29yZCBjYXBpdGFsaXplLXdvcmQgdW5peC13b3JkLXJ1Ym91dAotc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlIGtpbGwtcmVnaW9uIGNvcHktcmVnaW9uLWFzLWtpbGwgY29weS1iYWNrd2FyZC13b3JkIGNvcHktZm9yd2FyZC13b3JkIHlhbmsgeWFuay1wb3AKLXN5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCBkaWdpdC1hcmd1bWVudCB1bml2ZXJzYWwtYXJndW1lbnQgY29tcGxldGUgcG9zc2libGUtY29tcGxldGlvbnMgaW5zZXJ0LWNvbXBsZXRpb25zIG1lbnUtY29tcGxldGUKLXN5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCByZS1yZWFkLWluaXQtZmlsZSBhYm9ydCBkby11cHBlcmNhc2UtdmVyc2lvbiBwcmVmaXgtbWV0YSB1bmRvIHJldmVydC1saW5lIHRpbGRlLWV4cGFuZCBzZXQtbWFyawotc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIGNoYXJhY3Rlci1zZWFyY2ggY2hhcmFjdGVyLXNlYXJjaC1iYWNrd2FyZCBpbnNlcnQtY29tbWVudCBlbWFjcy1lZGl0aW5nLW1vZGUgdmktZWRpdGluZy1tb2RlCi1zeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgdW5peC1saW5lLWRpc2NhcmQgdXBjYXNlLXdvcmQgYmFja3dhcmQtZGVsZXRlLXdvcmQgdmktZW9mLW1heWJlIHZpLW1vdmVtZW50LW1vZGUgdmktbWF0Y2ggdmktdGlsZGUtZXhwYW5kCi1zeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgdmktY29tcGxldGUgdmktY2hhci1zZWFyY2ggdmktcmVkbyB2aS1zZWFyY2ggdmktYXJnLWRpZ2l0IHZpLWFwcGVuZC1lb2wgdmktcHJldi13b3JkIHZpLWNoYW5nZS10byB2aS1kZWxldGUtdG8KLXN5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCB2aS1lbmQtd29yZCB2aS1mZXRjaC1oaXN0b3J5IHZpLWluc2VydC1iZWcgdmktc2VhcmNoLWFnYWluIHZpLXB1dCB2aS1yZXBsYWNlIHZpLXN1YnN0IHZpLXlhbmstdG8gdmktZmlyc3QtcHJpbnQKLXN5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCB2aS15YW5rLWFyZyB2aS1nb3RvLW1hcmsgdmktYXBwZW5kLW1vZGUgdmktaW5zZXJ0aW9uLW1vZGUgcHJldi1oaXN0b3J5IHZpLXNldC1tYXJrIHZpLXNlYXJjaC1hZ2FpbiB2aS1wdXQgdmktY2hhbmdlLWNoYXIKLXN5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCB2aS1zdWJzdCB2aS1kZWxldGUgdmkteWFuay10byB2aS1jb2x1bW4gdmktY2hhbmdlLWNhc2Ugdmktb3ZlcnN0cmlrZSB2aS1vdmVyc3RyaWtlLWRlbGV0ZQotc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGRvLWxvd2VyY2FzZS12ZXJzaW9uIGRlbGV0ZS1jaGFyLW9yLWxpc3QgdHR5LXN0YXR1cyBhcnJvdy1rZXktcHJlZml4Ci1zeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgdmktYmFjay10by1pbmRlbnQgdmktYndvcmQgdmktYldvcmQgdmktZXdvcmQgdmktZVdvcmQgdmktZndvcmQgdmktZldvcmQgdmktbmV4dC13b3JkCi0KLSIgYmFzaCBleHRlbnNpb25zCi1pZiBleGlzdHMoInJlYWRsaW5lX2hhc19iYXNoIikKLSAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIHNoZWxsLWV4cGFuZC1saW5lIGhpc3RvcnktZXhwYW5kLWxpbmUgbWFnaWMtc3BhY2UgYWxpYXMtZXhwYW5kLWxpbmUgaGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUgaW5zZXJ0LWxhc3QtYXJndW1lbnQKLSAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIG9wZXJhdGUtYW5kLWdldC1uZXh0IGZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIgZGVsZXRlLWNoYXItb3ItbGlzdCBjb21wbGV0ZS1maWxlbmFtZSBwb3NzaWJsZS1maWxlbmFtZS1jb21wbGV0aW9ucwotICBzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucwljb250YWluZWQgY29tcGxldGUtdXNlcm5hbWUgcG9zc2libGUtdXNlcm5hbWUtY29tcGxldGlvbnMgY29tcGxldGUtdmFyaWFibGUgcG9zc2libGUtdmFyaWFibGUtY29tcGxldGlvbnMgY29tcGxldGUtaG9zdG5hbWUKLSAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIHBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zIGNvbXBsZXRlLWNvbW1hbmQgcG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucyBkeW5hbWljLWNvbXBsZXRlLWhpc3RvcnkgY29tcGxldGUtaW50by1icmFjZXMKLSAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMJY29udGFpbmVkIGdsb2ItZXhwYW5kLXdvcmQgZ2xvYi1saXN0LWV4cGFuc2lvbnMgZGlzcGxheS1zaGVsbC12ZXJzaW9uCi0gIHN5biBrZXl3b3JkIHJlYWRsaW5lRnVuY3Rpb25zCWNvbnRhaW5lZCBnbG9iLWNvbXBsZXRlLXdvcmQgZWRpdC1hbmQtZXhlY3V0ZS1jb21tYW5kCi1lbmRpZgotCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9yZWFkbGluZV9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9yZWFkbGluZV9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayByZWFkbGluZUNvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgcmVhZGxpbmVUb2RvCQlUb2RvCi0gIEhpTGluayByZWFkbGluZVN0cmluZwkJU3RyaW5nCi0gIEhpTGluayByZWFkbGluZUtleXMJCVNwZWNpYWxDaGFyCi0gIEhpTGluayByZWFkbGluZUtleXNUd28JU3BlY2lhbENoYXIKLSAgSGlMaW5rIHJlYWRsaW5lS2V5bWFwcwlDb25zdGFudAotICBIaUxpbmsgcmVhZGxpbmVCZWxsU3R5bGVzCUNvbnN0YW50Ci0gIEhpTGluayByZWFkbGluZU51bWJlcgkJTnVtYmVyCi0gIEhpTGluayByZWFkbGluZUJvb2xlYW4JQm9vbGVhbgotICBIaUxpbmsgcmVhZGxpbmVJZk9wcwkJVHlwZQotICBIaUxpbmsgcmVhZGxpbmVDb25kaXRpb25hbAlDb25kaXRpb25hbAotICBIaUxpbmsgcmVhZGxpbmVJbmNsdWRlCUluY2x1ZGUKLSAgSGlMaW5rIHJlYWRsaW5lS2V5d29yZAlLZXl3b3JkCi0gIEhpTGluayByZWFkbGluZVNldHRpbmdzCVR5cGUKLSAgSGlMaW5rIHJlYWRsaW5lRnVuY3Rpb25zCVR5cGUKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayByZWFkbGluZUNvbW1lbnQgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHJlYWRsaW5lVG9kbyAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgcmVhZGxpbmVTdHJpbmcgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHJlYWRsaW5lS2V5cyAgICAgICAgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHJlYWRsaW5lS2V5c1R3byAgICAgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHJlYWRsaW5lS2V5bWFwcyAgICAgQ29uc3RhbnQKK2hpIGRlZiBsaW5rIHJlYWRsaW5lQmVsbFN0eWxlcyAgQ29uc3RhbnQKK2hpIGRlZiBsaW5rIHJlYWRsaW5lTnVtYmVyICAgICAgTnVtYmVyCitoaSBkZWYgbGluayByZWFkbGluZUJvb2xlYW4gICAgIEJvb2xlYW4KK2hpIGRlZiBsaW5rIHJlYWRsaW5lSWZPcHMgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgcmVhZGxpbmVDb25kaXRpb25hbCBDb25kaXRpb25hbAoraGkgZGVmIGxpbmsgcmVhZGxpbmVJbmNsdWRlICAgICBJbmNsdWRlCitoaSBkZWYgbGluayByZWFkbGluZUtleXdvcmQgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHJlYWRsaW5lU2V0dGluZ3MgICAgVHlwZQoraGkgZGVmIGxpbmsgcmVhZGxpbmVGdW5jdGlvbnMgICBUeXBlCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJlYWRsaW5lIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JuYy52aW0gYi9ydW50aW1lL3N5bnRheC9ybmMudmltCmluZGV4IDM4NzhjOGMuLjk5ZjdmMTkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JuYy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcm5jLnZpbQpAQCAtMSw5NCArMSw2OCBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBSZWxheCBORyBjb21wYWN0IHN5bnRheAotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC9ybmMvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICAwNjFlZTBhMi05ZWZhLTRlMmEtYjFhOS0xNGNmNTE3MmQ2NDUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgUmVsYXggTkcgY29tcGFjdCBzeW50YXgKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI3CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBTZXQgaXNrZXl3b3JkIHNpbmNlIHdlIG5lZWQgYC0nIChhbmQgcG90ZW50aWFsbHkgb3RoZXJzKSBpbiBrZXl3b3Jkcy4KLSIgRm9yIHZlcnNpb24gNS54OiBTZXQgaXQgZ2xvYmFsbHkKLSIgRm9yIHZlcnNpb24gNi54OiBTZXQgaXQgbG9jYWxseQotaWYgdmVyc2lvbiA+PSA2MDAKLSAgY29tbWFuZCAtbmFyZ3M9MSBTZXRJc2sgc2V0bG9jYWwgaXNrZXl3b3JkPTxhcmdzPgotZWxzZQotICBjb21tYW5kIC1uYXJncz0xIFNldElzayBzZXQgaXNrZXl3b3JkPTxhcmdzPgotZW5kaWYKLVNldElzayBALDQ4LTU3LF8sLSwuCi1kZWxjb21tYW5kIFNldElzaworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIFRvZG8KLXN5biBrZXl3b3JkIHJuY1RvZG8JICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitzZXRsb2NhbCBpc2tleXdvcmQ9QCw0OC01NyxfLC0sLgogCi0iIENvbW1lbnRzCi1zeW4gcmVnaW9uICBybmNDb21tZW50CSAgICBtYXRjaGdyb3VwPXJuY0NvbW1lbnQgc3RhcnQ9J15ccyojJyBlbmQ9JyQnIGNvbnRhaW5zPXJuY1RvZG8KK3N5biBrZXl3b3JkIHJuY1RvZG8gICAgICAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQogCi0iIE9wZXJhdG9ycwotc3luIG1hdGNoICAgcm5jT3BlcmF0b3IJICAgICdbLXwsJis/Kn5dJwotc3luIG1hdGNoICAgcm5jT3BlcmF0b3IJICAgICdcJSh8JlwpXD09Jwotc3luIG1hdGNoICAgcm5jT3BlcmF0b3IJICAgICc+PicKK3N5biByZWdpb24gIHJuY0NvbW1lbnQgICAgICBtYXRjaGdyb3VwPXJuY0NvbW1lbnQgc3RhcnQ9J15ccyojJyBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1ybmNUb2RvLEBTcGVsbAogCi0iIE5hbWVzcGFjZXMKLXN5biBtYXRjaCAgIHJuY05hbWVzcGFjZSAgICAnXDxca1wrOicKK3N5biBtYXRjaCAgIHJuY09wZXJhdG9yICAgICBkaXNwbGF5ICdbLXwsJis/Kn5dJworc3luIG1hdGNoICAgcm5jT3BlcmF0b3IgICAgIGRpc3BsYXkgJ1wlKHwmXClcPT0nCitzeW4gbWF0Y2ggICBybmNPcGVyYXRvciAgICAgZGlzcGxheSAnPj4nCiAKLSIgUXVvdGVkIElkZW50aWZpZXIKLXN5biBtYXRjaCAgIHJuY1F1b3RlZAkgICAgJ1xcXGtcK1w+Jworc3luIG1hdGNoICAgcm5jTmFtZXNwYWNlICAgIGRpc3BsYXkgJ1w8XGtcKzonCiAKLSIgU3BlY2lhbCBDaGFyYWN0ZXJzCi1zeW4gbWF0Y2ggICBybmNTcGVjaWFsCSAgICAnXFx4e1x4XCt9Jworc3luIG1hdGNoICAgcm5jUXVvdGVkICAgICAgIGRpc3BsYXkgJ1xcXGtcK1w+JwogCi0iIEFubm90YXRpb25zCi1zeW4gcmVnaW9uIEFubm90YXRpb24JICAgIHRyYW5zcGFyZW50IHN0YXJ0PSdcWycgZW5kPSdcXScgY29udGFpbnM9QUxMQlVULHJuY0NvbW1lbnQscm5jVG9kbworc3luIG1hdGNoICAgcm5jU3BlY2lhbCAgICAgIGRpc3BsYXkgJ1xceHtceFwrfScKIAotIiBMaXRlcmFscwotc3luIHJlZ2lvbiAgcm5jTGl0ZXJhbAkgICAgbWF0Y2hncm91cD1ybmNMaXRlcmFsIG9uZWxpbmUgc3RhcnQ9KyIrIGVuZD0rIisgY29udGFpbnM9cm5jU3BlY2lhbAotc3luIHJlZ2lvbiAgcm5jTGl0ZXJhbAkgICAgbWF0Y2hncm91cD1ybmNMaXRlcmFsIG9uZWxpbmUgc3RhcnQ9KycrIGVuZD0rJysKLXN5biByZWdpb24gIHJuY0xpdGVyYWwJICAgIG1hdGNoZ3JvdXA9cm5jTGl0ZXJhbCBzdGFydD0rIiIiKyBlbmQ9KyIiIisgY29udGFpbnM9cm5jU3BlY2lhbAotc3luIHJlZ2lvbiAgcm5jTGl0ZXJhbAkgICAgbWF0Y2hncm91cD1ybmNMaXRlcmFsIHN0YXJ0PSsnJycrIGVuZD0rJycnKworc3luIHJlZ2lvbiBybmNBbm5vdGF0aW9uICAgIHRyYW5zcGFyZW50IHN0YXJ0PSdcWycgZW5kPSdcXScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPUFMTEJVVCxybmNDb21tZW50LHJuY1RvZG8KIAotIiBEZWxpbWl0ZXJzCi1zeW4gbWF0Y2ggICBybmNEZWxpbWl0ZXIgICAgJ1t7fSwoKV0nCitzeW4gcmVnaW9uICBybmNMaXRlcmFsICAgICAgbWF0Y2hncm91cD1ybmNMaXRlcmFsIG9uZWxpbmUgc3RhcnQ9KyIrIGVuZD0rIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXJuY1NwZWNpYWwKK3N5biByZWdpb24gIHJuY0xpdGVyYWwgICAgICBtYXRjaGdyb3VwPXJuY0xpdGVyYWwgb25lbGluZSBzdGFydD0rJysgZW5kPSsnKworc3luIHJlZ2lvbiAgcm5jTGl0ZXJhbCAgICAgIG1hdGNoZ3JvdXA9cm5jTGl0ZXJhbCBzdGFydD0rIiIiKyBlbmQ9KyIiIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXJuY1NwZWNpYWwKK3N5biByZWdpb24gIHJuY0xpdGVyYWwgICAgICBtYXRjaGdyb3VwPXJuY0xpdGVyYWwgc3RhcnQ9KycnJysgZW5kPSsnJycrCiAKLSIgS2V5d29yZHMKLXN5biBrZXl3b3JkIHJuY0tleXdvcmQJICAgIGRhdGF0eXBlcyBkZWZhdWx0IGRpdiBlbXB0eSBleHRlcm5hbCBncmFtbWFyCi1zeW4ga2V5d29yZCBybmNLZXl3b3JkCSAgICBpbmNsdWRlIGluaGVyaXQgbGlzdCBtaXhlZCBuYW1lIG5hbWVzcGFjZQotc3luIGtleXdvcmQgcm5jS2V5d29yZAkgICAgbm90QWxsb3dlZCBwYXJlbnQgc3RhcnQgc3RyaW5nIHRleHQgdG9rZW4KK3N5biBtYXRjaCAgIHJuY0RlbGltaXRlciAgICBkaXNwbGF5ICdbe30sKCldJwogCi0iIElkZW50aWZpZXJzCi1zeW4gbWF0Y2ggICBybmNJZGVudGlmaWVyICAgJ1xrXCtcX3MqXCUoPVx8Jj1cfHw9XClcQD0nIG5leHRncm91cD1ybmNPcGVyYXRvcgotc3luIGtleXdvcmQgcm5jS2V5d29yZAkgICAgbmV4dGdyb3VwPXJuY0lkTmFtZSBza2lwd2hpdGUgc2tpcGVtcHR5IGVsZW1lbnQgYXR0cmlidXRlCi1zeW4gbWF0Y2ggICBybmNJZGVudGlmaWVyICAgY29udGFpbmVkICdca1wrJworc3luIGtleXdvcmQgcm5jS2V5d29yZCAgICAgIGRhdGF0eXBlcyBkZWZhdWx0IGRpdiBlbXB0eSBleHRlcm5hbCBncmFtbWFyCitzeW4ga2V5d29yZCBybmNLZXl3b3JkICAgICAgaW5jbHVkZSBpbmhlcml0IGxpc3QgbWl4ZWQgbmFtZSBuYW1lc3BhY2UKK3N5biBrZXl3b3JkIHJuY0tleXdvcmQgICAgICBub3RBbGxvd2VkIHBhcmVudCBzdGFydCBzdHJpbmcgdGV4dCB0b2tlbgogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF9ybmNfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfcm5jX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitzeW4gbWF0Y2ggICBybmNJZGVudGlmaWVyICAgZGlzcGxheSAnXGtcK1xfcypcJSg9XHwmPVx8fD1cKVxAPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1ybmNPcGVyYXRvcgorc3luIGtleXdvcmQgcm5jS2V5d29yZCAgICAgIGVsZW1lbnQgYXR0cmlidXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cm5jSWROYW1lIHNraXB3aGl0ZSBza2lwZW1wdHkKK3N5biBtYXRjaCAgIHJuY0lkTmFtZSAgICAgICBjb250YWluZWQgJ1xrXCsnCiAKLSAgSGlMaW5rIHJuY1RvZG8JVG9kbwotICBIaUxpbmsgcm5jQ29tbWVudAlDb21tZW50Ci0gIEhpTGluayBybmNPcGVyYXRvcglPcGVyYXRvcgotICBIaUxpbmsgcm5jTmFtZXNwYWNlCUlkZW50aWZpZXIKLSAgSGlMaW5rIHJuY1F1b3RlZAlTcGVjaWFsCi0gIEhpTGluayBybmNTcGVjaWFsCVNwZWNpYWxDaGFyCi0gIEhpTGluayBybmNMaXRlcmFsCVN0cmluZwotICBIaUxpbmsgcm5jRGVsaW1pdGVyCURlbGltaXRlcgotICBIaUxpbmsgcm5jS2V5d29yZAlLZXl3b3JkCi0gIEhpTGluayBybmNJZGVudGlmaWVyCUlkZW50aWZpZXIKLQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2hpIGRlZiBsaW5rIHJuY1RvZG8gICAgICAgICBUb2RvCitoaSBkZWYgbGluayBybmNDb21tZW50ICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgcm5jT3BlcmF0b3IgICAgIE9wZXJhdG9yCitoaSBkZWYgbGluayBybmNOYW1lc3BhY2UgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcm5jUXVvdGVkICAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHJuY1NwZWNpYWwgICAgICBTcGVjaWFsQ2hhcgoraGkgZGVmIGxpbmsgcm5jQW5ub3RhdGlvbiAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHJuY0xpdGVyYWwgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHJuY0RlbGltaXRlciAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHJuY0tleXdvcmQgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBybmNJZGVudGlmaWVyICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcm5jSWROYW1lICAgICAgIElkZW50aWZpZXIKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAicm5jIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3JzdC52aW0gYi9ydW50aW1lL3N5bnRheC9yc3QudmltCmluZGV4IDAyZDQzYzYuLmExYjQ0MjkgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JzdC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvcnN0LnZpbQpAQCAtMSwxMDcgKzEsMTAyIEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIHJlU3RydWN0dXJlZFRleHQgRG9jdW1lbnRhdGlvbiBGb3JtYXQKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvcnN0LwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTEzCi0iIGFyY2gtdGFnOgkgICAgNmZhZTA5ZGEtZDVkNC00OWQ4LWFlYzEtZTQ5MDA4ZWEyMWU2CisiIExhbmd1YWdlOiAgICAgICAgIHJlU3RydWN0dXJlZFRleHQgZG9jdW1lbnRhdGlvbiBmb3JtYXQKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiB0b2RvCi1zeW4ga2V5d29yZAlyc3RUb2RvCQljb250YWluZWQgRklYTUUgVE9ETyBYWFggTk9URQorbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitzeW4ga2V5d29yZCAgICAgcnN0VG9kbyAgICAgICAgICAgICBjb250YWluZWQgRklYTUUgVE9ETyBYWFggTk9URQogCiBzeW4gY2FzZSBpZ25vcmUKIAotIiBjb21tZW50cwotc3luIHJlZ2lvbglyc3RDb21tZW50IAltYXRjaGdyb3VwPXJzdENvbW1lbnQgc3RhcnQ9Il5cLlwuXCUoIFwlKFthLXowLTlfLi1dXCs6OlwpXEAhXHwkXCkiIGVuZD0iXlxzXEAhIiBjb250YWlucz1yc3RUb2RvCitzeW4gcmVnaW9uICAgICAgcnN0Q29tbWVudCAgICAgICAgICBtYXRjaGdyb3VwPXJzdENvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9J15cLlwuXCUoIFwlKFthLXowLTlfLi1dXCs6OlwpXEAhXHwkXCknCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0nXlxzXEAhJyBjb250YWlucz1yc3RUb2RvCiAKLXN5biBjbHVzdGVyCXJzdENydWZ0ICAgIGNvbnRhaW5zPXJzdEZvb3Rub3RlTGFiZWwscnN0Q2l0YXRpb25MYWJlbCxyc3RTdWJzdGl0dXRpb25MYWJlbCxyc3RJbmxpbmUscnN0SHlwZXJsaW5rcyxyc3RJbnRlcm5hbFRhcmdldAorc3luIGNsdXN0ZXIgICAgIHJzdENydWZ0ICAgICAgICAgICAgY29udGFpbnM9cnN0Rm9vdG5vdGVMYWJlbCxyc3RDaXRhdGlvbkxhYmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByc3RTdWJzdGl0dXRpb25MYWJlbCxyc3RJbmxpbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHJzdEh5cGVybGlua3MscnN0SW50ZXJuYWxUYXJnZXQKIAotIiBibG9ja3MKLSIgc3luIHJlZ2lvbglyc3RCbG9jawltYXRjaGdyb3VwPXJzdERlbGltaXRlciBzdGFydD0iOlxAPCE6JCIgc2tpcD0iXiQiIGVuZD0iXlxzXEAhIiBjb250YWlucz1AcnN0Q3J1ZnQKLXN5biByZWdpb24JcnN0QmxvY2sJbWF0Y2hncm91cD1yc3REZWxpbWl0ZXIgc3RhcnQ9Ijo6JCIgc2tpcD0iXiQiIGVuZD0iXlxzXEAhIgotc3luIHJlZ2lvbglyc3REb2N0ZXN0QmxvY2sJbWF0Y2hncm91cD1yc3REZWxpbWl0ZXIgc3RhcnQ9Il4+Pj5ccyIgZW5kPSJeJCIKK3N5biByZWdpb24gICAgICByc3RCbG9jayAgICAgICAgICAgIG1hdGNoZ3JvdXA9cnN0RGVsaW1pdGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSc6OiQnIHNraXA9J14kJyBlbmQ9J15cc1xAIScKK3N5biByZWdpb24gICAgICByc3REb2N0ZXN0QmxvY2sgICAgIG1hdGNoZ3JvdXA9cnN0RGVsaW1pdGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdePj4+XHMnIGVuZD0nXiQnCiAKLSIgdGFibGVzCiAiIFRPRE86IHRoZXNlIG1heSBhY3R1YWxseSBiZSBhIGJpdCB0b28gY29tcGxpY2F0ZWQgdG8gbWF0Y2ggY29ycmVjdGx5IGFuZAotIiBzaG91bGQgcGVyaGFwcyBiZSByZW1vdmVkLiAgV2hvbiByZWFsbHkgbmVlZHMgaXQgYW55d2F5Pwotc3luIHJlZ2lvbglyc3RUYWJsZQl0cmFuc3BhcmVudCBzdGFydD0iXlxuXHMqK1stPStdXCsiIGVuZD0iXiQiIGNvbnRhaW5zPXJzdFRhYmxlTGluZXMsQHJzdENydWZ0Ci1zeW4gbWF0Y2gJcnN0VGFibGVMaW5lcwljb250YWluZWQgIl5ccypbfCs9LV1cKyQiCi1zeW4gcmVnaW9uCXJzdFNpbXBsZVRhYmxlCXRyYW5zcGFyZW50IHN0YXJ0PSJeXG5ccypcJSg9XCtcc1wrXClcJSg9XCtccypcKVwrJCIgZW5kPSJeJCIgY29udGFpbnM9cnN0U2ltcGxlVGFibGVMaW5lcyxAcnN0Q3J1ZnQKLXN5biBtYXRjaAlyc3RTaW1wbGVUYWJsZUxpbmVzIGNvbnRhaW5lZCAiXlxzKlwlKD1cK1xzXCtcKVwlKD1cK1xzKlwpXCskIgorIiBzaG91bGQgcGVyaGFwcyBiZSByZW1vdmVkLiAgV2Ugd29uJ3QgcmVhbGx5IG5lZWRzIGl0IGFueXdheT8KK3N5biByZWdpb24gICAgICByc3RUYWJsZSAgICAgICAgICAgIHRyYW5zcGFyZW50IHN0YXJ0PSdeXG5ccyorWy09K11cKycgZW5kPSdeJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cnN0VGFibGVMaW5lcyxAcnN0Q3J1ZnQKK3N5biBtYXRjaCAgICAgICByc3RUYWJsZUxpbmVzICAgICAgIGNvbnRhaW5lZCAnXlxzKlt8Kz0tXVwrJCcKK3N5biByZWdpb24gICAgICByc3RTaW1wbGVUYWJsZSAgICAgIHRyYW5zcGFyZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXG5ccypcJSg9XCtcc1wrXClcJSg9XCtccypcKVwrJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdeJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cnN0U2ltcGxlVGFibGVMaW5lcyxAcnN0Q3J1ZnQKK3N5biBtYXRjaCAgICAgICByc3RTaW1wbGVUYWJsZUxpbmVzIGNvbnRhaW5lZCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICdeXHMqXCUoPVwrXHNcK1wpXCUoPVwrXHMqXClcKyQnCiAKLSIgZm9vdG5vdGVzCi1zeW4gcmVnaW9uCXJzdEZvb3Rub3RlIAltYXRjaGdyb3VwPXJzdERpcmVjdGl2ZSBzdGFydD0iXlwuXC4gXFtcJShbIypdXHxbMC05XVwrXHwjW2EtejAtOV8uLV1cK1wpXF1ccyIgZW5kPSJeXHNcQCEiIGNvbnRhaW5zPUByc3RDcnVmdAotc3luIG1hdGNoCXJzdEZvb3Rub3RlTGFiZWwgIlxbXCUoWyMqXVx8WzAtOV1cK1x8I1thLXowLTlfLi1dXCtcKVxdXyIKK3N5biByZWdpb24gICAgICByc3RGb290bm90ZSAgICAgICAgIG1hdGNoZ3JvdXA9cnN0RGlyZWN0aXZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXC5cLiBcW1wlKFsjKl1cfFswLTldXCtcfCNbYS16MC05Xy4tXVwrXClcXVxzJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9J15cc1xAIScgY29udGFpbnM9QHJzdENydWZ0CitzeW4gbWF0Y2ggICAgICAgcnN0Rm9vdG5vdGVMYWJlbCAgICAnXFtcJShbIypdXHxbMC05XVwrXHwjW2EtejAtOV8uLV1cK1wpXF1fJwogCi0iIGNpdGF0aW9ucwotc3luIHJlZ2lvbglyc3RDaXRhdGlvbiAJbWF0Y2hncm91cD1yc3REaXJlY3RpdmUgc3RhcnQ9Il5cLlwuIFxbW2EtejAtOV8uLV1cK1xdXHMiIGVuZD0iXlxzXEAhIiBjb250YWlucz1AcnN0Q3J1ZnQKLXN5biBtYXRjaAlyc3RDaXRhdGlvbkxhYmVsICJcW1thLXowLTlfLi1dXCtcXV8iCitzeW4gcmVnaW9uICAgICAgcnN0Q2l0YXRpb24gICAgICAgICBtYXRjaGdyb3VwPXJzdERpcmVjdGl2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlwuXC4gXFtbYS16MC05Xy4tXVwrXF1ccycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdeXHNcQCEnIGNvbnRhaW5zPUByc3RDcnVmdAorc3luIG1hdGNoICAgICAgIHJzdENpdGF0aW9uTGFiZWwgICAgJ1xbW2EtejAtOV8uLV1cK1xdXycKIAotIiBkaXJlY3RpdmVzCi1zeW4gcmVnaW9uCXJzdERpcmVjdGl2ZUJvZHkgbWF0Y2hncm91cD1yc3REaXJlY3RpdmUgc3RhcnQ9Il5cLlwuIFthLXowLTlfLi1dXCs6OiIgZW5kPSJeXHNcQCEiCitzeW4gcmVnaW9uICAgICAgcnN0RGlyZWN0aXZlQm9keSAgICBtYXRjaGdyb3VwPXJzdERpcmVjdGl2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlwuXC4gW2EtejAtOV8uLV1cKzo6JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9J15cc1xAIScKIAotIiBzdWJzdGl0dXRpb25zCi1zeW4gcmVnaW9uCXJzdFN1YnN0aXR1dGlvbiBtYXRjaGdyb3VwPXJzdERpcmVjdGl2ZSBzdGFydD0iXlwuXC4gfFthLXowLTlfLi1dfFxzW2EtejAtOV8uLV1cKzo6XHMiIGVuZD0iXlxzXEAhIiBjb250YWlucz1AcnN0Q3J1ZnQKLXN5biBtYXRjaAlyc3RTdWJzdGl0dXRpb25MYWJlbCAifFthLXowLTlfLi1dfCIKK3N5biByZWdpb24gICAgICByc3RTdWJzdGl0dXRpb24gICAgIG1hdGNoZ3JvdXA9cnN0RGlyZWN0aXZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSdeXC5cLiB8W2EtejAtOV8uLV18XHNbYS16MC05Xy4tXVwrOjpccycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSdeXHNcQCEnIGNvbnRhaW5zPUByc3RDcnVmdAorc3luIG1hdGNoICAgICAgIHJzdFN1YnN0aXR1dGlvbkxibCAgJ3xbYS16MC05Xy4tXXwnCiAKLSIgaW5saW5lIG1hcmt1cAotc3luIG1hdGNoCXJzdElubGluZQkiXCpcezEsMn1cU1wlKFteKl0qXFNcKVw9XCpcezEsMn0iCi1zeW4gbWF0Y2gJcnN0SW5saW5lCSJgXHsxLDJ9XFNcJShbXmBdKlxTXClcPWBcezEsMn0iCitzeW4gbWF0Y2ggICAgICAgcnN0SW5saW5lICAgICAgICAgICAnXCpcezEsMn1cU1wlKFteKl0qXFNcKVw9XCpcezEsMn0nCitzeW4gbWF0Y2ggICAgICAgcnN0SW5saW5lICAgICAgICAgICAnYFx7MSwyfVxTXCUoW15gXSpcU1wpXD1gXHsxLDJ9JwogCi0iIGh5cGVybGlua3MKLXN5biByZWdpb24JcnN0SHlwZXJsaW5rcwltYXRjaGdyb3VwPVJzdERpcmVjdGl2ZSBzdGFydD0iXlwuXC4gX1thLXowLTlfLiAtXVwrOlxzIiBlbmQ9Il5cc1xAISIgY29udGFpbnM9QHJzdENydWZ0CitzeW4gcmVnaW9uICAgICAgcnN0SHlwZXJsaW5rcyAgICAgICBtYXRjaGdyb3VwPVJzdERpcmVjdGl2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlwuXC4gX1thLXowLTlfLiAtXVwrOlxzJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9J15cc1xAIScgY29udGFpbnM9QHJzdENydWZ0CiAKLXN5biBtYXRjaAlyc3RIeXBlcmxpbmtzTGFiZWwJImBcU1wlKFteYF0qXFNcKVw9YF9fXD1cPiIKLXN5biBtYXRjaAlyc3RIeXBlcmxpbmtzTGFiZWwJIlx3XCtfX1w9XD4iCitzeW4gbWF0Y2ggICAgICAgcnN0SHlwZXJsaW5rc0xhYmVsICAnYFxTXCUoW15gXSpcU1wpXD1gX19cPVw+Jworc3luIG1hdGNoICAgICAgIHJzdEh5cGVybGlua3NMYWJlbCAgJ1x3XCtfX1w9XD4nCiAKLSIgaW50ZXJuYWwgdGFyZ2V0cwotc3luIG1hdGNoCXJzdEludGVybmFsVGFyZ2V0ICJfYFxTXCUoW15gXSpcU1wpXD1gIgorc3luIG1hdGNoICAgICAgIHJzdEludGVybmFsVGFyZ2V0ICAgJ19gXFNcJShbXmBdKlxTXClcPWAnCiAKLSIgbGlzdHMKLXN5biBtYXRjaAlyc3RMaXN0SXRlbQkiXjpcJShcd1wrXHMqXClcKzoiCi1zeW4gbWF0Y2gJcnN0TGlzdEl0ZW0JIl5ccypbLSorXVxzXCsiCitzeW4gbWF0Y2ggICAgICAgcnN0TGlzdEl0ZW0gICAgICAgICAnXjpcJShcd1wrXHMqXClcKzonCitzeW4gbWF0Y2ggICAgICAgcnN0TGlzdEl0ZW0gICAgICAgICAnXlxzKlstKitdXHNcKycKIAogc3luIHN5bmMgbWlubGluZXM9NTAKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfcnN0X3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3JzdF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayByc3RUb2RvIFRvZG8KLSAgSGlMaW5rIHJzdENvbW1lbnQgQ29tbWVudAotICBIaUxpbmsgcnN0RGVsaW1pdGVyIERlbGltaXRlcgotICBIaUxpbmsgcnN0QmxvY2sgU3RyaW5nCi0gIEhpTGluayByc3REb2N0ZXN0QmxvY2sgUHJlUHJvYwotICBIaUxpbmsgcnN0VGFibGVMaW5lcyBEZWxpbWl0ZXIKLSAgSGlMaW5rIHJzdFNpbXBsZVRhYmxlTGluZXMgcnN0VGFibGVMaW5lcwotICBIaUxpbmsgcnN0Rm9vdG5vdGUgU3RyaW5nCi0gIEhpTGluayByc3RGb290bm90ZUxhYmVsIElkZW50aWZpZXIKLSAgSGlMaW5rIHJzdENpdGF0aW9uIFN0cmluZwotICBIaUxpbmsgcnN0Q2l0YXRpb25MYWJlbCBJZGVudGlmaWVyCi0gIEhpTGluayByc3REaXJlY3RpdmUgS2V5d29yZAotICBIaUxpbmsgcnN0RGlyZWN0aXZlQm9keSBUeXBlCi0gIEhpTGluayByc3RTdWJzdGl0dXRpb24gU3RyaW5nCi0gIEhpTGluayByc3RTdWJzdGl0dXRpb25MYWJlbCBJZGVudGlmaWVyCi0gIEhpTGluayByc3RIeXBlcmxpbmtzIFN0cmluZwotICBIaUxpbmsgcnN0SHlwZXJsaW5rc0xhYmVsIElkZW50aWZpZXIKLSAgSGlMaW5rIHJzdExpc3RJdGVtIElkZW50aWZpZXIKLSAgaGkgZGVmIHJzdElubGluZSB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYwotICBoaSBkZWYgcnN0SW50ZXJuYWxUYXJnZXQgdGVybT1pdGFsaWMgY3Rlcm09aXRhbGljIGd1aT1pdGFsaWMKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayByc3RUb2RvICAgICAgICAgICAgICAgICBUb2RvCitoaSBkZWYgbGluayByc3RDb21tZW50ICAgICAgICAgICAgICBDb21tZW50CitoaSBkZWYgbGluayByc3REZWxpbWl0ZXIgICAgICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHJzdEJsb2NrICAgICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgcnN0RG9jdGVzdEJsb2NrICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgcnN0VGFibGVMaW5lcyAgICAgICAgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayByc3RTaW1wbGVUYWJsZUxpbmVzICAgICByc3RUYWJsZUxpbmVzCitoaSBkZWYgbGluayByc3RGb290bm90ZSAgICAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHJzdEZvb3Rub3RlTGFiZWwgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHJzdENpdGF0aW9uICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgcnN0Q2l0YXRpb25MYWJlbCAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgcnN0RGlyZWN0aXZlICAgICAgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgcnN0RGlyZWN0aXZlQm9keSAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgcnN0U3Vic3RpdHV0aW9uICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayByc3RTdWJzdGl0dXRpb25MYmwgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayByc3RIeXBlcmxpbmtzICAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHJzdEh5cGVybGlua3NMYWJlbCAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHJzdExpc3RJdGVtICAgICAgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiAgICAgIHJzdElubGluZSAgICAgICAgICAgICAgIHRlcm09aXRhbGljIGN0ZXJtPWl0YWxpYyBndWk9aXRhbGljCitoaSBkZWYgICAgICByc3RJbnRlcm5hbFRhcmdldCAgICAgICB0ZXJtPWl0YWxpYyBjdGVybT1pdGFsaWMgZ3VpPWl0YWxpYwogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJyc3QiCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc2NyZWVuLnZpbSBiL3J1bnRpbWUvc3ludGF4L3NjcmVlbi52aW0KaW5kZXggZWVmNzRmMi4uNTUzZDFkNSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2NyZWVuLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zY3JlZW4udmltCkBAIC0xLDkzICsxLDgzIEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIFNjcmVlbiBWaXJ0dWFsIFRlcm1pbmFsIEVtdWxhdG9yL01hbmFnZXIgQ29uZmlndXJhdGlvbiBGaWxlCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL3NjcmVlbi8KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNC0wNS0yMgotIiBhcmNoLXRhZzoJICAgIDZhOTdmYjhmLWZjODgtNDk3Zi05YzU1LWU5NDY3MzRiYTAzNAorIiBMYW5ndWFnZTogICAgICAgICBzY3JlZW4oMSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLSIgY29tbWVudHMKLXN5biByZWdpb24gIHNjcmVlbkNvbW1lbnQJbWF0Y2hncm91cD1zY3JlZW5Db21tZW50IHN0YXJ0PSIjIiBlbmQ9IiQiIGNvbnRhaW5zPXNjcmVlblRvZG8KK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiB0b2RvCi1zeW4ga2V5d29yZCBzY3JlZW5Ub2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorc3luIG1hdGNoICAgc2NyZWVuRXNjYXBlICAgICdcXC4nCiAKLSIgc3RyaW5nIChjYW4gY29udGFpbiB2YXJpYWJsZXMpCi1zeW4gcmVnaW9uICBzY3JlZW5TdHJpbmcJbWF0Y2hncm91cD1zY3JlZW5TdHJpbmcgc3RhcnQ9JyInIHNraXA9J1xcIicgZW5kPSciXHwkJyBjb250YWlucz1zY3JlZW5WYXJpYWJsZSxzY3JlZW5TcGVjaWFsCitzeW4ga2V5d29yZCBzY3JlZW5Ub2RvICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKIAotIiBsaXRlcmFsIHN0cmluZwotc3luIHJlZ2lvbiAgc2NyZWVuTGl0ZXJhbAltYXRjaGdyb3VwPXNjcmVlbkxpdGVyYWwgc3RhcnQ9IiciIHNraXA9IlxcJyIgZW5kPSInXHwkIgorc3luIHJlZ2lvbiAgc2NyZWVuQ29tbWVudCAgIGRpc3BsYXkgb25lbGluZSBtYXRjaGdyb3VwPXNjcmVlbkNvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PScjJyBlbmQ9JyQnIGNvbnRhaW5zPXNjcmVlblRvZG8sQFNwZWxsCiAKLSIgZW52aXJvbm1lbnQgdmFyaWFibGVzCi1zeW4gbWF0Y2ggICBzY3JlZW5WYXJpYWJsZQljb250YWluZWQgIiRcKFxoXHcqXHx7XGhcdyp9XCkiCitzeW4gcmVnaW9uICBzY3JlZW5TdHJpbmcgICAgZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9c2NyZWVuU3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyJcfCQrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1zY3JlZW5WYXJpYWJsZSxzY3JlZW5TcGVjaWFsCiAKLSIgYm9vbGVhbnMKLXN5biBrZXl3b3JkIHNjcmVlbkJvb2xlYW4Jb24gb2ZmCitzeW4gcmVnaW9uICBzY3JlZW5MaXRlcmFsICAgZGlzcGxheSBvbmVsaW5lIG1hdGNoZ3JvdXA9c2NyZWVuTGl0ZXJhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQ9KycrIHNraXA9K1xcJysgZW5kPSsnXHwkKwogCi0iIG51bWJlcnMKLXN5biBtYXRjaCAgIHNjcmVlbk51bWJlcnMJIlw8XGRcK1w+Igorc3luIG1hdGNoICAgc2NyZWVuVmFyaWFibGUgIGNvbnRhaW5lZCBkaXNwbGF5ICckXChcaFx3Klx8e1xoXHcqfVwpJwogCi0iIHNwZWNpYWxzCi1zeW4gbWF0Y2ggICBzY3JlZW5TcGVjaWFscwljb250YWluZWQgIiVcKFslYUFkRGhsbU1zdHV3V3lZPzp7XVx8WzAtOV0qblx8MD9jQ1wpIgorc3luIGtleXdvcmQgc2NyZWVuQm9vbGVhbiAgIG9uIG9mZgogCi0iIGNvbW1hbmRzCi1zeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwlhY2xhZGQgYWNsY2hnIGFjbGRlbCBhY2xncnAgYWNsdW1hc2sgYWN0aXZpdHkgYWRkYWNsIGFsbHBhcnRpYWwgYXQgYXR0cmNvbG9yCi1zeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwlhdXRvZGV0YWNoIGJlbGxfbXNnIGJpbmQgYmluZGtleSBidWZmZXJmaWxlIGNhcHRpb24gY2hhY2wgY2hkaXIgY2xlYXIgY29sb24KLXN5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCWNvbW1hbmQgY29tcGFjdGhpc3QgY29uc29sZSBjb3B5IGNvcHlfcmVnY3JsZiBkZWJ1ZyBkZXRhY2ggZGlncmFwaCBkaW5mbyBjcmxmCi1zeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwlkaXNwbGF5cyBkdW1wdGVybWNhcCBlY2hvIGV4ZWMgZml0IGZvY3VzIGhlaWdodCBoZWxwIGhpc3RvcnkKLXN5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCWluZm8ga2lsbCBsYXN0bXNnIGxpY2Vuc2UgbG9ja3NjcmVlbiBtYXJra2V5cyBtZXRhIG1zZ21pbndhaXQgbXNnd2FpdAotc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJbXVsdGl1c2VyIG5ldGhhY2sgbmV4dCBub25ibG9jayBudW1iZXIgb25seSBvdGhlciBwYXJ0aWFsX3N0YXRlCi1zeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwlwYXNzd29yZCBwYXN0ZSBwYXN0ZWZvbnQgcG93X2JyZWFrIHBvd19kZXRhY2hfbXNnIHByZXYgcHJpbnRjbWQgcHJvY2Vzcwotc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJcXVpdCByZWFkYnVmIHJlYWRyZWcgcmVkaXNwbGF5IHJlZ2lzdGVyIHJlbW92ZSByZW1vdmVidWYgcmVzZXQgcmVzaXplIHNjcmVlbgotc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJc2VsZWN0IHNlc3Npb25uYW1lIHNldGVudiBzaGVsbHRpdGxlIHNpbGVuY2V3YWl0IHZlcmJvc2UKLXN5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCXNsZWVwIHNvcmVuZGl0aW9uIHNwbGl0IHN0YXJ0dXBfbWVzc2FnZSBzdHVmZiBzdSBzdXNwZW5kIHRpbWUKLXN5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCXRpdGxlIHVtYXNrIHZlcnNpb24gd2FsbCB3aWR0aCB3cml0ZWJ1ZiB4b2ZmIHhvbiBkZWZtb2RlIGhhcmRzdGF0dXMKLXN5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzCWFsdHNjcmVlbiBicmVhayBicmVha3R5cGUgY29weV9yZWcgZGVmYnJlYWt0eXBlIGRlZmVuY29kaW5nIGRlZmxvZyBlbmNvZGluZwotc3luIGtleXdvcmQgc2NyZWVuQ29tbWFuZHMJZXZhbCBpZ25vcmVjYXNlIGluc19yZWcgbWF4d2luIHBhcnRpYWwgcG93X2RldGFjaCBzZXRzaWQgc291cmNlIHVuc2V0ZW52Ci1zeW4ga2V5d29yZCBzY3JlZW5Db21tYW5kcwl3aW5kb3dsaXN0IHdpbmRvd3MKLXN5biBtYXRjaCAgIHNjcmVlbkNvbW1hbmRzCSJcPFwoZGVmXClcPVwoYXV0b251a2VcfGJjZVx8YzFcfGNoYXJzZXRcfGVzY2FwZVx8Zmxvd1x8a2FuamlcfGxvZ2luXHxtb25pdG9yXHxoc3RhdHVzXHxvYnVmbGltaXRcKVw+Igotc3luIG1hdGNoICAgc2NyZWVuQ29tbWFuZHMJIlw8XChkZWZcKVw9XChzY3JvbGxiYWNrXHxzaGVsbFx8c2lsZW5jZVx8c2xvd3Bhc3RlXHx1dGY4XHx3cmFwXHx3cml0ZWxvY2tcfHpvbWJpZVx8Z3JcKVw+Igotc3luIG1hdGNoICAgc2NyZWVuQ29tbWFuZHMJIlw8aGFyZFwoY29weVwoX2FwcGVuZFx8ZGlyXClcPVx8c3RhdHVzXClcPiIKLXN5biBtYXRjaCAgIHNjcmVlbkNvbW1hbmRzCSJcPGxvZ1woZmlsZVx8aW5cfHRzdGFtcFwpXD1cPiIKLXN5biBtYXRjaCAgIHNjcmVlbkNvbW1hbmRzCSJcPG1hcFwoZGVmYXVsdFx8bm90bmV4dFx8dGltZW91dFwpXD4iCi1zeW4gbWF0Y2ggICBzY3JlZW5Db21tYW5kcwkiXDx0ZXJtXChjYXBcfGluZm9cfGNhcGluZm9cKVw9XD4iCi1zeW4gbWF0Y2ggICBzY3JlZW5Db21tYW5kcwkiXDx2YmVsbFwoX21zZ1x8d2FpdFwpXD1cPiIKK3N5biBtYXRjaCAgIHNjcmVlbk51bWJlcnMgICBkaXNwbGF5ICdcPFxkXCtcPicKIAotaWYgZXhpc3RzKCJzY3JlZW5fbWlubGluZXMiKQotICAgIGxldCBiOnNjcmVlbl9taW5saW5lcyA9IHNjcmVlbl9taW5saW5lcwotZWxzZQotICAgIGxldCBiOnNjcmVlbl9taW5saW5lcyA9IDEwCi1lbmRpZgotZXhlYyAic3luIHN5bmMgbWlubGluZXM9IiAuIGI6c2NyZWVuX21pbmxpbmVzCitzeW4gbWF0Y2ggICBzY3JlZW5TcGVjaWFscyAgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnJVwoWyVhQWREaGxtTXN0dXdXeVk/OntdXHxbMC05XSpuXHwwP2NDXCknCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NjcmVlbl9zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zY3JlZW5fc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK3N5biBrZXl3b3JkIHNjcmVlbkNvbW1hbmRzICBhY2xhZGQgYWNsY2hnIGFjbGRlbCBhY2xncnAgYWNsdW1hc2sgYWN0aXZpdHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGFkZGFjbCBhbGxwYXJ0aWFsIGF0IGF0dHJjb2xvciBhdXRvZGV0YWNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiZWxsX21zZyBiaW5kIGJpbmRrZXkgYnVmZmVyZmlsZSBjYXB0aW9uIGNoYWNsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjaGRpciBjbGVhciBjb2xvbiBjb21tYW5kIGNvbXBhY3RoaXN0IGNvbnNvbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvcHkgY29weV9yZWdjcmxmIGRlYnVnIGRldGFjaCBkaWdyYXBoIGRpbmZvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjcmxmIGRpc3BsYXlzIGR1bXB0ZXJtY2FwIGVjaG8gZXhlYyBmaXQgZm9jdXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhlaWdodCBoZWxwIGhpc3RvcnkgaW5mbyBraWxsIGxhc3Rtc2cgbGljZW5zZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbG9ja3NjcmVlbiBtYXJra2V5cyBtZXRhIG1zZ21pbndhaXQgbXNnd2FpdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbXVsdGl1c2VyIG5ldGhhY2sgbmV4dCBub25ibG9jayBudW1iZXIgb25seQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgb3RoZXIgcGFydGlhbF9zdGF0ZSBwYXNzd29yZCBwYXN0ZSBwYXN0ZWZvbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvd19icmVhayBwb3dfZGV0YWNoX21zZyBwcmV2IHByaW50Y21kIHByb2Nlc3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHF1aXQgcmVhZGJ1ZiByZWFkcmVnIHJlZGlzcGxheSByZWdpc3RlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmVtb3ZlIHJlbW92ZWJ1ZiByZXNldCByZXNpemUgc2NyZWVuIHNlbGVjdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2Vzc2lvbm5hbWUgc2V0ZW52IHNoZWxsdGl0bGUgc2lsZW5jZXdhaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZlcmJvc2Ugc2xlZXAgc29yZW5kaXRpb24gc3BsaXQgc3RhcnR1cF9tZXNzYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdHVmZiBzdSBzdXNwZW5kIHRpbWUgdGl0bGUgdW1hc2sgdmVyc2lvbiB3YWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB3aWR0aCB3cml0ZWJ1ZiB4b2ZmIHhvbiBkZWZtb2RlIGhhcmRzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGFsdHNjcmVlbiBicmVhayBicmVha3R5cGUgY29weV9yZWcgZGVmYnJlYWt0eXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWZlbmNvZGluZyBkZWZsb2cgZW5jb2RpbmcgZXZhbCBpZ25vcmVjYXNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpbnNfcmVnIG1heHdpbiBwYXJ0aWFsIHBvd19kZXRhY2ggc2V0c2lkIHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdW5zZXRlbnYgd2luZG93bGlzdCB3aW5kb3dzIGRlZmF1dG9udWtlIGF1dG9udWtlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWZiY2UgYmNlIGRlZmMxIGMxIGRlZmNoYXJzZXQgY2hhcnNldCBkZWZlc2NhcGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVzY2FwZSBkZWZmbG93IGZsb3cgZGVma2Fuamkga2FuamkgZGVmbG9naW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxvZ2luIGRlZm1vbml0b3IgbW9uaXRvciBkZWZoc3RhdHVzIGhzdGF0dXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRlZm9idWZsaW1pdCBvYnVmbGltaXQgZGVmc2Nyb2xsYmFjayBzY3JvbGxiYWNrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWZzaGVsbCBzaGVsbCBkZWZzaWxlbmNlIHNpbGVuY2UgZGVmc2xvd3Bhc3RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzbG93cGFzdGUgZGVmdXRmOCB1dGY4IGRlZndyYXAgd3JhcCBkZWZ3cml0ZWxvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHdyaXRlbG9jayBkZWZ6b21iaWUgem9tYmllIGRlZmdyIGdyIGhhcmRjb3B5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBoYXJkY29weV9hcHBlbmQgaGFyZGNvcHlkaXIgaGFyZHN0YXR1cyBsb2cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGxvZ2ZpbGUgbG9naW4gbG9ndHN0YW1wIG1hcGRlZmF1bHQgbWFwbm90bmV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWFwdGltZW91dCB0ZXJtIHRlcm1jYXAgdGVybWluZm8gdGVybWNhcGluZm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZiZWxsIHZiZWxsX21zZyB2YmVsbHdhaXQKIAotICBIaUxpbmsgc2NyZWVuQ29tbWVudCAgICBDb21tZW50Ci0gIEhpTGluayBzY3JlZW5Ub2RvCSAgVG9kbwotICBIaUxpbmsgc2NyZWVuU3RyaW5nCSAgU3RyaW5nCi0gIEhpTGluayBzY3JlZW5MaXRlcmFsICAgIFN0cmluZwotICBIaUxpbmsgc2NyZWVuVmFyaWFibGUgICBJZGVudGlmaWVyCi0gIEhpTGluayBzY3JlZW5Cb29sZWFuICAgIEJvb2xlYW4KLSAgSGlMaW5rIHNjcmVlbk51bWJlcnMgICAgTnVtYmVyCi0gIEhpTGluayBzY3JlZW5TcGVjaWFscyAgIFNwZWNpYWwKLSAgSGlMaW5rIHNjcmVlbkNvbW1hbmRzICAgS2V5d29yZAotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2hpIGRlZiBsaW5rIHNjcmVlbkVzY2FwZSAgICBTcGVjaWFsCitoaSBkZWYgbGluayBzY3JlZW5Db21tZW50ICAgQ29tbWVudAoraGkgZGVmIGxpbmsgc2NyZWVuVG9kbyAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIHNjcmVlblN0cmluZyAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHNjcmVlbkxpdGVyYWwgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHNjcmVlblZhcmlhYmxlICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBzY3JlZW5Cb29sZWFuICAgQm9vbGVhbgoraGkgZGVmIGxpbmsgc2NyZWVuTnVtYmVycyAgIE51bWJlcgoraGkgZGVmIGxpbmsgc2NyZWVuU3BlY2lhbHMgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHNjcmVlbkNvbW1hbmRzICBLZXl3b3JkCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNjcmVlbiIKIAotIiB2aW06IHNldCBzdHM9MiBzdz0yOgorbGV0ICZjcG8gPSBzOmNwb19zYXZlCit1bmxldCBzOmNwb19zYXZlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaWV2ZS52aW0gYi9ydW50aW1lL3N5bnRheC9zaWV2ZS52aW0KaW5kZXggMjkyM2Y0NC4uMWNlNjcxMyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2lldmUudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NpZXZlLnZpbQpAQCAtMSw3MCArMSw1NiBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMTEtMTEKLSIgYXJjaC10YWc6CSAgICAzNTZmYWQ2ZC1mZjZiLTQ1M2MtYmQyNS03ZmM2M2M0NzU4YmMKKyIgTGFuZ3VhZ2U6ICAgICAgICAgU2lldmUgZmlsdGVyaW5nIGxhbmd1YWdlIGlucHV0IGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CiAKLWlmIHZlcnNpb24gPCA2MDAKLSAgc3ludGF4IGNsZWFyCi1lbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCiAgIGZpbmlzaAogZW5kaWYKIAotIiBUb2RvCi1zeW4ga2V5d29yZCBzaWV2ZVRvZG8JICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIENvbW1lbnRzCi1zeW4gcmVnaW9uICBzaWV2ZUNvbW1lbnQgIG1hdGNoZ3JvdXA9c2lldmVDb21tZW50IHN0YXJ0PScvXConIGVuZD0nXCovJyBjb250YWlucz1zaWV2ZVRvZG8KLXN5biByZWdpb24gIHNpZXZlQ29tbWVudCAgbWF0Y2hncm91cD1zaWV2ZUNvbW1lbnQgc3RhcnQ9JyMnIGVuZD0nJCcgY29udGFpbnM9c2lldmVUb2RvCitzeW4ga2V5d29yZCBzaWV2ZVRvZG8gICAgICAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCitzeW4gcmVnaW9uICBzaWV2ZUNvbW1lbnQgICAgICBtYXRjaGdyb3VwPXNpZXZlQ29tbWVudCBzdGFydD0nL1wqJyBlbmQ9J1wqLycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9c2lldmVUb2RvLEBTcGVsbAorc3luIHJlZ2lvbiAgc2lldmVDb21tZW50ICAgICAgbWF0Y2hncm91cD1zaWV2ZUNvbW1lbnQgc3RhcnQ9JyMnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9c2lldmVUb2RvLEBTcGVsbAogCiBzeW4gY2FzZSBpZ25vcmUKIAotIiBUYWdzCi1zeW4gbWF0Y2ggICBzaWV2ZVRhZwkgICc6XGhcdyonCitzeW4gbWF0Y2ggICBzaWV2ZVRhZyAgICAgICAgICBkaXNwbGF5ICc6XGhcdyonCiAKLSIgTnVtYmVycwotc3luIG1hdGNoICAgc2lldmVOdW1iZXIJICAnXGRcK1tLTUddXD0nCitzeW4gbWF0Y2ggICBzaWV2ZU51bWJlciAgICAgICBkaXNwbGF5ICdcPFxkXCtbS01HXVw9XD4nCiAKLSIgU3BlY2lhbHMKLXN5biBtYXRjaCAgIHNpZXZlU3BlY2lhbCAgJ1xcWyJcXF0nCitzeW4gbWF0Y2ggICBzaWV2ZVNwZWNpYWwgICAgICBkaXNwbGF5ICdcXFsiXFxdJwogCi0iIFN0cmluZ3MKLXN5biByZWdpb24gIHNpZXZlU3RyaW5nCSAgbWF0Y2hncm91cD1zaWV2ZVN0cmluZyBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrIGNvbnRhaW5zPXNpZXZlU3BlY2lhbAotc3luIHJlZ2lvbiAgc2lldmVTdHJpbmcJICBtYXRjaGdyb3VwPXNpZXZlU3RyaW5nIHN0YXJ0PSd0ZXh0OicgZW5kPSdcbi5cbicKK3N5biByZWdpb24gIHNpZXZlU3RyaW5nICAgICAgIG1hdGNoZ3JvdXA9c2lldmVTdHJpbmcgc3RhcnQ9KyIrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXA9K1xcXFxcfFxcIisgZW5kPSsiKyBjb250YWlucz1zaWV2ZVNwZWNpYWwKK3N5biByZWdpb24gIHNpZXZlU3RyaW5nICAgICAgIG1hdGNoZ3JvdXA9c2lldmVTdHJpbmcgc3RhcnQ9J3RleHQ6JyBlbmQ9J1xuLlxuJwogCi0iIEtleXdvcmRzCiBzeW4ga2V5d29yZCBzaWV2ZUNvbmRpdGlvbmFsICBpZiBlbHNpZiBlbHNlCi1zeW4ga2V5d29yZCBzaWV2ZVRlc3QJICAgICAgYWRkcmVzcyBhbGxvZiBhbnlvZiBlbnZlbG9wZSBleGlzdHMgZmFsc2UgaGVhZGVyIG5vdCBzaXplIHRydWUKK3N5biBrZXl3b3JkIHNpZXZlVGVzdCAgICAgICAgIGFkZHJlc3MgYWxsb2YgYW55b2YgZW52ZWxvcGUgZXhpc3RzIGZhbHNlIGhlYWRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub3Qgc2l6ZSB0cnVlCiBzeW4ga2V5d29yZCBzaWV2ZVByZVByb2MgICAgICByZXF1aXJlIHN0b3AKLXN5biBrZXl3b3JkIHNpZXZlQWN0aW9uCSAgICAgIHJlamVjdCBmaWxlaW50byByZWRpcmVjdCBrZWVwIGRpc2NhcmQKK3N5biBrZXl3b3JkIHNpZXZlQWN0aW9uICAgICAgIHJlamVjdCBmaWxlaW50byByZWRpcmVjdCBrZWVwIGRpc2NhcmQKIHN5biBtYXRjaCAgIHNpZXZlS2V5d29yZCAgICAgICdcPFxoXHcqXD4nCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3NpZXZlX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3NpZXZlX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCitzeW4gY2FzZSBtYXRjaAogCi0gIEhpTGluayBzaWV2ZVRvZG8JICBUb2RvCi0gIEhpTGluayBzaWV2ZUNvbW1lbnQJICBDb21tZW50Ci0gIEhpTGluayBzaWV2ZVRhZwkgIFR5cGUKLSAgSGlMaW5rIHNpZXZlTnVtYmVyCSAgTnVtYmVyCi0gIEhpTGluayBzaWV2ZVNwZWNpYWwJICBTcGVjaWFsCi0gIEhpTGluayBzaWV2ZVN0cmluZwkgIFN0cmluZwotICBIaUxpbmsgc2lldmVDb25kaXRpb25hbCBDb25kaXRpb25hbAotICBIaUxpbmsgc2lldmVUZXN0CSAgS2V5d29yZAotICBIaUxpbmsgc2lldmVQcmVQcm9jCSAgUHJlUHJvYwotICBIaUxpbmsgc2lldmVBY3Rpb24JICBLZXl3b3JkCi0gIEhpTGluayBzaWV2ZUtleXdvcmQJICBLZXl3b3JkCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayBzaWV2ZVRvZG8gICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIHNpZXZlQ29tbWVudCAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgc2lldmVUYWcgICAgICAgICBUeXBlCitoaSBkZWYgbGluayBzaWV2ZU51bWJlciAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgc2lldmVTcGVjaWFsICAgICBTcGVjaWFsCitoaSBkZWYgbGluayBzaWV2ZVN0cmluZyAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgc2lldmVDb25kaXRpb25hbCBDb25kaXRpb25hbAoraGkgZGVmIGxpbmsgc2lldmVUZXN0ICAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayBzaWV2ZVByZVByb2MgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHNpZXZlQWN0aW9uICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgc2lldmVLZXl3b3JkICAgICBLZXl3b3JkCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInNpZXZlIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3N1ZG9lcnMudmltIGIvcnVudGltZS9zeW50YXgvc3Vkb2Vycy52aW0KaW5kZXggNzJhNzg5MC4uZTE5N2NhMiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3Vkb2Vycy52aW0KKysrIGIvcnVudGltZS9zeW50YXgvc3Vkb2Vycy52aW0KQEAgLTEsMTY0ICsxLDE1NCBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICBzdWRvZXJzKDUpIGNvbmZpZ3VyYXRpb24gZmlsZXMuCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTEyLTE3Ci0iIGFyY2gtdGFnOgkgICAgMDJmYzNiYzgtNDMwOC00NjZmLWI4M2UtNzE4YTc0ODdiMTk4CisiIExhbmd1YWdlOiAgICAgICAgIHN1ZG9lcnMoNSkgY29uZmlndXJhdGlvbiBmaWxlcworIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKICIgVE9ETzogaW5zdGVhZCBvZiAnc2tpcG5sJywgd2Ugd291bGQgbGlrZSB0byBtYXRjaCBhIHNwZWNpZmljIGdyb3VwIHRoYXQgd291bGQKICIgbWF0Y2ggXFwkIGFuZCB0aGVuIGNvbnRpbnVlIHdpdGggdGhlIG5leHRncm91cCwgYWN0dWFsbHksIHRoZSBza2lwbmwgZG9lc24ndAogIiB3b3JrLi4uCiAiIFRPRE86IHRyZWF0ICdBTEwnIGxpa2UgYSBzcGVjaWFsICh5YXksIGEgYnVuZGxlIG9mIG5ldyBydWxlcyEhISkKIAotIiBVc2VyIFNwZWNzCiBzeW4gbWF0Y2ggICBzdWRvZXJzVXNlclNwZWMgJ14nIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJJblNwZWMgc2tpcHdoaXRlCiAKLXN5biBtYXRjaCAgIHN1ZG9lcnNTcGVjRXF1YWxzCSAgICAgIGNvbnRhaW5lZCAnPScgbmV4dGdyb3VwPUBzdWRvZXJzQ21uZFNwZWNMaXN0IHNraXB3aGl0ZQorc3luIG1hdGNoICAgc3Vkb2Vyc1NwZWNFcXVhbHMgICAgICAgICBjb250YWluZWQgJz0nIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRTcGVjTGlzdCBza2lwd2hpdGUKIAotc3luIGNsdXN0ZXIgc3Vkb2Vyc0NtbmRTcGVjTGlzdAkgICAgICBjb250YWlucz1zdWRvZXJzVXNlclJ1bmFzQmVnaW4sc3Vkb2Vyc1BBU1NXRCxAc3Vkb2Vyc0NtbmRJblNwZWMKK3N5biBjbHVzdGVyIHN1ZG9lcnNDbW5kU3BlY0xpc3QgICAgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJSdW5hc0JlZ2luLHN1ZG9lcnNQQVNTV0QsQHN1ZG9lcnNDbW5kSW5TcGVjCiAKLSIgVG9kbwotc3luIGtleXdvcmQgc3Vkb2Vyc1RvZG8JCSAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitzeW4ga2V5d29yZCBzdWRvZXJzVG9kbyAgICAgICAgICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCiAKLSIgQ29tbWVudHMKLXN5biByZWdpb24gIHN1ZG9lcnNDb21tZW50CSAgICAgIG1hdGNoZ3JvdXA9c3Vkb2Vyc0NvbW1lbnQgc3RhcnQ9JyMnIGVuZD0nJCcgY29udGFpbnM9c3Vkb2Vyc1RvZG8KK3N5biByZWdpb24gIHN1ZG9lcnNDb21tZW50ICAgICAgICAgICAgbWF0Y2hncm91cD1zdWRvZXJzQ29tbWVudCBzdGFydD0nIycgZW5kPSckJyBjb250YWlucz1zdWRvZXJzVG9kbwogCi0iIEFsaWFzZXMKLXN5biBrZXl3b3JkIHN1ZG9lcnNBbGlhcwkgICAgICBVc2VyX0FsaWFzIFJ1bmFzX0FsaWFzIG5leHRncm91cD1zdWRvZXJzVXNlckFsaWFzIHNraXB3aGl0ZSBza2lwbmwKLXN5biBrZXl3b3JkIHN1ZG9lcnNBbGlhcwkgICAgICBIb3N0X0FsaWFzIG5leHRncm91cD1zdWRvZXJzSG9zdEFsaWFzIHNraXB3aGl0ZSBza2lwbmwKLXN5biBrZXl3b3JkIHN1ZG9lcnNBbGlhcwkgICAgICBDbW5kX0FsaWFzIG5leHRncm91cD1zdWRvZXJzQ21uZEFsaWFzIHNraXB3aGl0ZSBza2lwbmwKK3N5biBrZXl3b3JkIHN1ZG9lcnNBbGlhcyAgICAgICAgICAgICAgVXNlcl9BbGlhcyBSdW5hc19BbGlhcyBuZXh0Z3JvdXA9c3Vkb2Vyc1VzZXJBbGlhcyBza2lwd2hpdGUgc2tpcG5sCitzeW4ga2V5d29yZCBzdWRvZXJzQWxpYXMgICAgICAgICAgICAgIEhvc3RfQWxpYXMgbmV4dGdyb3VwPXN1ZG9lcnNIb3N0QWxpYXMgc2tpcHdoaXRlIHNraXBubAorc3luIGtleXdvcmQgc3Vkb2Vyc0FsaWFzICAgICAgICAgICAgICBDbW5kX0FsaWFzIG5leHRncm91cD1zdWRvZXJzQ21uZEFsaWFzIHNraXB3aGl0ZSBza2lwbmwKIAotIiBOYW1lcwotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJBbGlhcwkgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9c3Vkb2Vyc1VzZXJBbGlhc0VxdWFscyAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOYW1lSW5MaXN0ICAgICBjb250YWluZWQgJ1w8XGxcK1w+JwkgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckxpc3QJICAgICAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VJREluTGlzdAkgICAgICBjb250YWluZWQgJyNcZFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyTGlzdAkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzR3JvdXBJbkxpc3QJICAgICAgY29udGFpbmVkICclXGxcK1w+JwkgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckxpc3QJICAgICAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOZXRncm91cEluTGlzdCBjb250YWluZWQgJytcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyTGlzdAkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlckFsaWFzSW5MaXN0ICAgIGNvbnRhaW5lZCAnXDxcdVtBLVowLTlfXSpcPicgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJMaXN0CSAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyQWxpYXMgICAgICAgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPXN1ZG9lcnNVc2VyQWxpYXNFcXVhbHMgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyTmFtZUluTGlzdCAgICAgY29udGFpbmVkICdcPFxsXCtcPicgICAgICAgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckxpc3QgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVSURJbkxpc3QgICAgICAgICAgY29udGFpbmVkICcjXGRcK1w+JyAgICAgICAgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckxpc3QgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNHcm91cEluTGlzdCAgICAgICAgY29udGFpbmVkICclXGxcK1w+JyAgICAgICAgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckxpc3QgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyTmV0Z3JvdXBJbkxpc3QgY29udGFpbmVkICcrXGxcK1w+JyAgICAgICAgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckxpc3QgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyQWxpYXNJbkxpc3QgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckxpc3QgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKIAotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOYW1lCSAgICAgIGNvbnRhaW5lZCAnXDxcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIJICAgICAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VJRAkJICAgICAgY29udGFpbmVkICcjXGRcK1w+JwkgICAgbmV4dGdyb3VwPUBzdWRvZXJzUGFyYW1ldGVyCSAgICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNHcm91cAkgICAgICBjb250YWluZWQgJyVcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIJICAgICAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOZXRncm91cAkgICAgICBjb250YWluZWQgJytcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIJICAgICAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJBbGlhc1JlZgkgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIJICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOYW1lICAgICAgICAgICBjb250YWluZWQgJ1w8XGxcK1w+JyAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VJRCAgICAgICAgICAgICAgICBjb250YWluZWQgJyNcZFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0dyb3VwICAgICAgICAgICAgICBjb250YWluZWQgJyVcbFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOZXRncm91cCAgICAgICBjb250YWluZWQgJytcbFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJBbGlhc1JlZiAgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAogCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlck5hbWVJblNwZWMgICAgIGNvbnRhaW5lZCAnXDxcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyU3BlYwkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzVUlESW5TcGVjCSAgICAgIGNvbnRhaW5lZCAnI1xkXCtcPicJICAgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJTcGVjCSAgICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNHcm91cEluU3BlYwkgICAgICBjb250YWluZWQgJyVcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyU3BlYwkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlck5ldGdyb3VwSW5TcGVjIGNvbnRhaW5lZCAnK1xsXCtcPicJICAgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJTcGVjCSAgICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNVc2VyQWxpYXNJblNwZWMgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlclNwZWMJICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOYW1lSW5TcGVjICAgICBjb250YWluZWQgJ1w8XGxcK1w+JyAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyU3BlYyAgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VJREluU3BlYyAgICAgICAgICBjb250YWluZWQgJyNcZFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyU3BlYyAgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0dyb3VwSW5TcGVjICAgICAgICBjb250YWluZWQgJyVcbFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyU3BlYyAgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOZXRncm91cEluU3BlYyBjb250YWluZWQgJytcbFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyU3BlYyAgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJBbGlhc0luU3BlYyAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyU3BlYyAgICAgICAgc2tpcHdoaXRlIHNraXBubAogCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlck5hbWVJblJ1bmFzICAgIGNvbnRhaW5lZCAnXDxcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyUnVuYXMJICAgICAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VJREluUnVuYXMJICAgICAgY29udGFpbmVkICcjXGRcK1w+JwkgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlclJ1bmFzCSAgICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNHcm91cEluUnVuYXMJICAgICAgY29udGFpbmVkICclXGxcK1w+JwkgICAgbmV4dGdyb3VwPUBzdWRvZXJzVXNlclJ1bmFzCSAgICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNVc2VyTmV0Z3JvdXBJblJ1bmFzIGNvbnRhaW5lZCAnK1xsXCtcPicJICAgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJSdW5hcwkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlckFsaWFzSW5SdW5hcyAgIGNvbnRhaW5lZCAnXDxcdVtBLVowLTlfXSpcPicgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJSdW5hcwkgICAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzVXNlck5hbWVJblJ1bmFzICAgIGNvbnRhaW5lZCAnXDxcbFwrXD4nICAgICAgICAgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJSdW5hcyAgICAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzVUlESW5SdW5hcyAgICAgICAgIGNvbnRhaW5lZCAnI1xkXCtcPicgICAgICAgICAgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJSdW5hcyAgICAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzR3JvdXBJblJ1bmFzICAgICAgIGNvbnRhaW5lZCAnJVxsXCtcPicgICAgICAgICAgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJSdW5hcyAgICAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzVXNlck5ldGdyb3VwSW5SdW5hcyBjb250YWluZWQgJytcbFwrXD4nICAgICAgICAgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJSdW5hcyAgICAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzVXNlckFsaWFzSW5SdW5hcyAgIGNvbnRhaW5lZCAnXDxcdVtBLVowLTlfXSpcPicgIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJSdW5hcyAgICAgICBza2lwd2hpdGUgc2tpcG5sCiAKLXN5biBtYXRjaCAgIHN1ZG9lcnNIb3N0QWxpYXMJICAgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPXN1ZG9lcnNIb3N0QWxpYXNFcXVhbHMgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNIb3N0TmFtZUluTGlzdCAgICAgY29udGFpbmVkICdcPFxsXCtcPicJICAgIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RMaXN0CSAgICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNJUEFkZHJJbkxpc3QJICAgICAgY29udGFpbmVkICdcJShcZFx7MSwzfVwuXClcezN9XGRcezEsM30nIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RMaXN0IHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNIb3N0QWxpYXMgICAgICAgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPXN1ZG9lcnNIb3N0QWxpYXNFcXVhbHMgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNIb3N0TmFtZUluTGlzdCAgICAgY29udGFpbmVkICdcPFxsXCtcPicgICAgICAgICAgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdExpc3QgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNJUEFkZHJJbkxpc3QgICAgICAgY29udGFpbmVkICdcJShcZFx7MSwzfVwuXClcezN9XGRcezEsM30nIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RMaXN0IHNraXB3aGl0ZSBza2lwbmwKIHN5biBtYXRjaCAgIHN1ZG9lcnNOZXR3b3JrSW5MaXN0ICAgICAgY29udGFpbmVkICdcJShcZFx7MSwzfVwuXClcezN9XGRcezEsM31cJSgvXCUoXCUoXGRcezEsM31cLlwpXHszfVxkXHsxLDN9XHxcZFwrXClcKVw9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0TGlzdCBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzSG9zdE5ldGdyb3VwSW5MaXN0IGNvbnRhaW5lZCAnK1xsXCtcPicJICAgIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RMaXN0CSAgICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNIb3N0QWxpYXNJbkxpc3QgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdExpc3QJICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3ROZXRncm91cEluTGlzdCBjb250YWluZWQgJytcbFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0TGlzdCAgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3RBbGlhc0luTGlzdCAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0TGlzdCAgICAgICAgc2tpcHdoaXRlIHNraXBubAogCi1zeW4gbWF0Y2ggICBzdWRvZXJzSG9zdE5hbWUJICAgICAgY29udGFpbmVkICdcPFxsXCtcPicJICAgIG5leHRncm91cD1Ac3Vkb2Vyc1BhcmFtZXRlcgkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzSVBBZGRyCSAgICAgIGNvbnRhaW5lZCAnXCUoXGRcezEsM31cLlwpXHszfVxkXHsxLDN9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc05ldHdvcmsJICAgICAgY29udGFpbmVkICdcJShcZFx7MSwzfVwuXClcezN9XGRcezEsM31cJSgvXCUoXCUoXGRcezEsM31cLlwpXHszfVxkXHsxLDN9XHxcZFwrXClcKVw9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3ROZXRncm91cAkgICAgICBjb250YWluZWQgJytcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIJICAgICAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3RBbGlhc1JlZgkgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIJICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3ROYW1lICAgICAgICAgICBjb250YWluZWQgJ1w8XGxcK1w+JyAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0lQQWRkciAgICAgICAgICAgICBjb250YWluZWQgJ1wlKFxkXHsxLDN9XC5cKVx7M31cZFx7MSwzfScgbmV4dGdyb3VwPUBzdWRvZXJzUGFyYW1ldGVyIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNOZXR3b3JrICAgICAgICAgICAgY29udGFpbmVkICdcJShcZFx7MSwzfVwuXClcezN9XGRcezEsM31cJSgvXCUoXCUoXGRcezEsM31cLlwpXHszfVxkXHsxLDN9XHxcZFwrXClcKVw9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3ROZXRncm91cCAgICAgICBjb250YWluZWQgJytcbFwrXD4nICAgICAgICAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3RBbGlhc1JlZiAgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNQYXJhbWV0ZXIgICAgICAgc2tpcHdoaXRlIHNraXBubAogCi1zeW4gbWF0Y2ggICBzdWRvZXJzSG9zdE5hbWVJblNwZWMgICAgIGNvbnRhaW5lZCAnXDxcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0U3BlYwkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzSVBBZGRySW5TcGVjCSAgICAgIGNvbnRhaW5lZCAnXCUoXGRcezEsM31cLlwpXHszfVxkXHsxLDN9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0U3BlYyBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzSG9zdE5hbWVJblNwZWMgICAgIGNvbnRhaW5lZCAnXDxcbFwrXD4nICAgICAgICAgIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RTcGVjICAgICAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzSVBBZGRySW5TcGVjICAgICAgIGNvbnRhaW5lZCAnXCUoXGRcezEsM31cLlwpXHszfVxkXHsxLDN9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0U3BlYyBza2lwd2hpdGUgc2tpcG5sCiBzeW4gbWF0Y2ggICBzdWRvZXJzTmV0d29ya0luU3BlYyAgICAgIGNvbnRhaW5lZCAnXCUoXGRcezEsM31cLlwpXHszfVxkXHsxLDN9XCUoL1wlKFwlKFxkXHsxLDN9XC5cKVx7M31cZFx7MSwzfVx8XGRcK1wpXClcPScgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdFNwZWMgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3ROZXRncm91cEluU3BlYyBjb250YWluZWQgJytcbFwrXD4nCSAgICBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0U3BlYwkgICAgICBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzSG9zdEFsaWFzSW5TcGVjICAgIGNvbnRhaW5lZCAnXDxcdVtBLVowLTlfXSpcPicgIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RTcGVjCSAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNIb3N0TmV0Z3JvdXBJblNwZWMgY29udGFpbmVkICcrXGxcK1w+JyAgICAgICAgICAgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdFNwZWMgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNIb3N0QWxpYXNJblNwZWMgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdFNwZWMgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKIAotc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRBbGlhcwkgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9c3Vkb2Vyc0NtbmRBbGlhc0VxdWFscyAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRBbGlhcyAgICAgICAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9c3Vkb2Vyc0NtbmRBbGlhc0VxdWFscyAgc2tpcHdoaXRlIHNraXBubAogc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmROYW1lSW5MaXN0ICAgICBjb250YWluZWQgJ1teWzpzcGFjZTpdLDo9XFxdXCtcJShcXFtbOnNwYWNlOl0sOj1cXF1bXls6c3BhY2U6XSw6PVxcXSpcKSonIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRMaXN0LHN1ZG9lcnNDb21tYW5kRW1wdHksc3Vkb2Vyc0NvbW1hbmRBcmdzIHNraXB3aGl0ZQotc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRBbGlhc0luTGlzdCAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kTGlzdAkgICAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzQ21uZEFsaWFzSW5MaXN0ICAgIGNvbnRhaW5lZCAnXDxcdVtBLVowLTlfXSpcPicgIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRMaXN0ICAgICAgICBza2lwd2hpdGUgc2tpcG5sCiAKIHN5biBtYXRjaCAgIHN1ZG9lcnNDbW5kTmFtZUluU3BlYyAgICAgY29udGFpbmVkICdbXls6c3BhY2U6XSw6PVxcXVwrXCUoXFxbWzpzcGFjZTpdLDo9XFxdW15bOnNwYWNlOl0sOj1cXF0qXCkqJyBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kU3BlYyxzdWRvZXJzQ29tbWFuZEVtcHR5SW5TcGVjLHN1ZG9lcnNDb21tYW5kQXJnc0luU3BlYyBza2lwd2hpdGUKLXN5biBtYXRjaCAgIHN1ZG9lcnNDbW5kQWxpYXNJblNwZWMgICAgY29udGFpbmVkICdcPFx1W0EtWjAtOV9dKlw+JyAgbmV4dGdyb3VwPUBzdWRvZXJzQ21uZFNwZWMJICAgICAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRBbGlhc0luU3BlYyAgICBjb250YWluZWQgJ1w8XHVbQS1aMC05X10qXD4nICBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kU3BlYyAgICAgICAgc2tpcHdoaXRlIHNraXBubAogCi0iIERlbGltaXRlcnMKLXN5biBtYXRjaCAgIHN1ZG9lcnNVc2VyQWxpYXNFcXVhbHMgIGNvbnRhaW5lZCAnPScgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckluTGlzdAlza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlckxpc3RDb21tYSAgICBjb250YWluZWQgJywnIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJJbkxpc3QJc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJMaXN0Q29sb24gICAgY29udGFpbmVkICc6JyBuZXh0Z3JvdXA9c3Vkb2Vyc1VzZXJBbGlhcwlza2lwd2hpdGUgc2tpcG5sCi1zeW4gY2x1c3RlciBzdWRvZXJzVXNlckxpc3QJICAgIGNvbnRhaW5zPXN1ZG9lcnNVc2VyTGlzdENvbW1hLHN1ZG9lcnNVc2VyTGlzdENvbG9uCitzeW4gbWF0Y2ggICBzdWRvZXJzVXNlckFsaWFzRXF1YWxzICBjb250YWluZWQgJz0nIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJJbkxpc3QgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyTGlzdENvbW1hICAgIGNvbnRhaW5lZCAnLCcgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckluTGlzdCAgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJMaXN0Q29sb24gICAgY29udGFpbmVkICc6JyBuZXh0Z3JvdXA9c3Vkb2Vyc1VzZXJBbGlhcyAgICBza2lwd2hpdGUgc2tpcG5sCitzeW4gY2x1c3RlciBzdWRvZXJzVXNlckxpc3QgICAgICAgICBjb250YWlucz1zdWRvZXJzVXNlckxpc3RDb21tYSxzdWRvZXJzVXNlckxpc3RDb2xvbgogCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlclNwZWNDb21tYSAgICBjb250YWluZWQgJywnIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJJblNwZWMJc2tpcHdoaXRlIHNraXBubAotc3luIGNsdXN0ZXIgc3Vkb2Vyc1VzZXJTcGVjCSAgICBjb250YWlucz1zdWRvZXJzVXNlclNwZWNDb21tYSxAc3Vkb2Vyc0hvc3RJblNwZWMKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyU3BlY0NvbW1hICAgIGNvbnRhaW5lZCAnLCcgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckluU3BlYyAgc2tpcHdoaXRlIHNraXBubAorc3luIGNsdXN0ZXIgc3Vkb2Vyc1VzZXJTcGVjICAgICAgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJTcGVjQ29tbWEsQHN1ZG9lcnNIb3N0SW5TcGVjCiAKIHN5biBtYXRjaCAgIHN1ZG9lcnNVc2VyUnVuYXNCZWdpbiAgIGNvbnRhaW5lZCAnKCcgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckluUnVuYXMgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJSdW5hc0NvbW1hICAgY29udGFpbmVkICcsJyBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VySW5SdW5hcwlza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzVXNlclJ1bmFzRW5kCSAgICBjb250YWluZWQgJyknIG5leHRncm91cD1zdWRvZXJzUEFTU1dELEBzdWRvZXJzQ21uZEluU3BlYyBza2lwd2hpdGUgc2tpcG5sCi1zeW4gY2x1c3RlciBzdWRvZXJzVXNlclJ1bmFzCSAgICBjb250YWlucz1zdWRvZXJzVXNlclJ1bmFzQ29tbWEsQHN1ZG9lcnNVc2VySW5SdW5hcyxzdWRvZXJzVXNlclJ1bmFzRW5kCitzeW4gbWF0Y2ggICBzdWRvZXJzVXNlclJ1bmFzQ29tbWEgICBjb250YWluZWQgJywnIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJJblJ1bmFzIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyUnVuYXNFbmQgICAgIGNvbnRhaW5lZCAnKScgbmV4dGdyb3VwPXN1ZG9lcnNQQVNTV0QsQHN1ZG9lcnNDbW5kSW5TcGVjIHNraXB3aGl0ZSBza2lwbmwKK3N5biBjbHVzdGVyIHN1ZG9lcnNVc2VyUnVuYXMgICAgICAgIGNvbnRhaW5zPXN1ZG9lcnNVc2VyUnVuYXNDb21tYSxAc3Vkb2Vyc1VzZXJJblJ1bmFzLHN1ZG9lcnNVc2VyUnVuYXNFbmQKIAogCi1zeW4gbWF0Y2ggICBzdWRvZXJzSG9zdEFsaWFzRXF1YWxzICBjb250YWluZWQgJz0nIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RJbkxpc3QJc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3RMaXN0Q29tbWEgICAgY29udGFpbmVkICcsJyBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0SW5MaXN0CXNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNIb3N0TGlzdENvbG9uICAgIGNvbnRhaW5lZCAnOicgbmV4dGdyb3VwPXN1ZG9lcnNIb3N0QWxpYXMJc2tpcHdoaXRlIHNraXBubAotc3luIGNsdXN0ZXIgc3Vkb2Vyc0hvc3RMaXN0CSAgICBjb250YWlucz1zdWRvZXJzSG9zdExpc3RDb21tYSxzdWRvZXJzSG9zdExpc3RDb2xvbgorc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3RBbGlhc0VxdWFscyAgY29udGFpbmVkICc9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0SW5MaXN0ICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzSG9zdExpc3RDb21tYSAgICBjb250YWluZWQgJywnIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3RJbkxpc3QgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNIb3N0TGlzdENvbG9uICAgIGNvbnRhaW5lZCAnOicgbmV4dGdyb3VwPXN1ZG9lcnNIb3N0QWxpYXMgICAgc2tpcHdoaXRlIHNraXBubAorc3luIGNsdXN0ZXIgc3Vkb2Vyc0hvc3RMaXN0ICAgICAgICAgY29udGFpbnM9c3Vkb2Vyc0hvc3RMaXN0Q29tbWEsc3Vkb2Vyc0hvc3RMaXN0Q29sb24KIAotc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3RTcGVjQ29tbWEgICAgY29udGFpbmVkICcsJyBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0SW5TcGVjCXNraXB3aGl0ZSBza2lwbmwKLXN5biBjbHVzdGVyIHN1ZG9lcnNIb3N0U3BlYwkgICAgY29udGFpbnM9c3Vkb2Vyc0hvc3RTcGVjQ29tbWEsc3Vkb2Vyc1NwZWNFcXVhbHMKK3N5biBtYXRjaCAgIHN1ZG9lcnNIb3N0U3BlY0NvbW1hICAgIGNvbnRhaW5lZCAnLCcgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdEluU3BlYyAgc2tpcHdoaXRlIHNraXBubAorc3luIGNsdXN0ZXIgc3Vkb2Vyc0hvc3RTcGVjICAgICAgICAgY29udGFpbnM9c3Vkb2Vyc0hvc3RTcGVjQ29tbWEsc3Vkb2Vyc1NwZWNFcXVhbHMKIAogCi1zeW4gbWF0Y2ggICBzdWRvZXJzQ21uZEFsaWFzRXF1YWxzICBjb250YWluZWQgJz0nIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRJbkxpc3QJc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRMaXN0Q29tbWEgICAgY29udGFpbmVkICcsJyBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kSW5MaXN0CXNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNDbW5kTGlzdENvbG9uICAgIGNvbnRhaW5lZCAnOicgbmV4dGdyb3VwPXN1ZG9lcnNDbW5kQWxpYXMJc2tpcHdoaXRlIHNraXBubAotc3luIGNsdXN0ZXIgc3Vkb2Vyc0NtbmRMaXN0CSAgICBjb250YWlucz1zdWRvZXJzQ21uZExpc3RDb21tYSxzdWRvZXJzQ21uZExpc3RDb2xvbgorc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRBbGlhc0VxdWFscyAgY29udGFpbmVkICc9JyBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kSW5MaXN0ICBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzQ21uZExpc3RDb21tYSAgICBjb250YWluZWQgJywnIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRJbkxpc3QgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNDbW5kTGlzdENvbG9uICAgIGNvbnRhaW5lZCAnOicgbmV4dGdyb3VwPXN1ZG9lcnNDbW5kQWxpYXMgICAgc2tpcHdoaXRlIHNraXBubAorc3luIGNsdXN0ZXIgc3Vkb2Vyc0NtbmRMaXN0ICAgICAgICAgY29udGFpbnM9c3Vkb2Vyc0NtbmRMaXN0Q29tbWEsc3Vkb2Vyc0NtbmRMaXN0Q29sb24KIAogc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRTcGVjQ29tbWEgICAgY29udGFpbmVkICcsJyBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kU3BlY0xpc3Qgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0NtbmRTcGVjQ29sb24gICAgY29udGFpbmVkICc6JyBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VySW5TcGVjCXNraXB3aGl0ZSBza2lwbmwKLXN5biBjbHVzdGVyIHN1ZG9lcnNDbW5kU3BlYwkgICAgY29udGFpbnM9c3Vkb2Vyc0NtbmRTcGVjQ29tbWEsc3Vkb2Vyc0NtbmRTcGVjQ29sb24KK3N5biBtYXRjaCAgIHN1ZG9lcnNDbW5kU3BlY0NvbG9uICAgIGNvbnRhaW5lZCAnOicgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckluU3BlYyAgc2tpcHdoaXRlIHNraXBubAorc3luIGNsdXN0ZXIgc3Vkb2Vyc0NtbmRTcGVjICAgICAgICAgY29udGFpbnM9c3Vkb2Vyc0NtbmRTcGVjQ29tbWEsc3Vkb2Vyc0NtbmRTcGVjQ29sb24KIAotIiBMaXN0cwotc3luIGNsdXN0ZXIgc3Vkb2Vyc1VzZXJJbkxpc3QJICAgIGNvbnRhaW5zPXN1ZG9lcnNVc2VyTmVnYXRpb25Jbkxpc3Qsc3Vkb2Vyc1VzZXJOYW1lSW5MaXN0LHN1ZG9lcnNVSURJbkxpc3Qsc3Vkb2Vyc0dyb3VwSW5MaXN0LHN1ZG9lcnNVc2VyTmV0Z3JvdXBJbkxpc3Qsc3Vkb2Vyc1VzZXJBbGlhc0luTGlzdAotc3luIGNsdXN0ZXIgc3Vkb2Vyc0hvc3RJbkxpc3QJICAgIGNvbnRhaW5zPXN1ZG9lcnNIb3N0TmVnYXRpb25Jbkxpc3Qsc3Vkb2Vyc0hvc3ROYW1lSW5MaXN0LHN1ZG9lcnNJUEFkZHJJbkxpc3Qsc3Vkb2Vyc05ldHdvcmtJbkxpc3Qsc3Vkb2Vyc0hvc3ROZXRncm91cEluTGlzdCxzdWRvZXJzSG9zdEFsaWFzSW5MaXN0Ci1zeW4gY2x1c3RlciBzdWRvZXJzQ21uZEluTGlzdAkgICAgY29udGFpbnM9c3Vkb2Vyc0NtbmROZWdhdGlvbkluTGlzdCxzdWRvZXJzQ21uZE5hbWVJbkxpc3Qsc3Vkb2Vyc0NtbmRBbGlhc0luTGlzdAorc3luIGNsdXN0ZXIgc3Vkb2Vyc1VzZXJJbkxpc3QgICAgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJOZWdhdGlvbkluTGlzdCxzdWRvZXJzVXNlck5hbWVJbkxpc3Qsc3Vkb2Vyc1VJREluTGlzdCxzdWRvZXJzR3JvdXBJbkxpc3Qsc3Vkb2Vyc1VzZXJOZXRncm91cEluTGlzdCxzdWRvZXJzVXNlckFsaWFzSW5MaXN0CitzeW4gY2x1c3RlciBzdWRvZXJzSG9zdEluTGlzdCAgICAgICBjb250YWlucz1zdWRvZXJzSG9zdE5lZ2F0aW9uSW5MaXN0LHN1ZG9lcnNIb3N0TmFtZUluTGlzdCxzdWRvZXJzSVBBZGRySW5MaXN0LHN1ZG9lcnNOZXR3b3JrSW5MaXN0LHN1ZG9lcnNIb3N0TmV0Z3JvdXBJbkxpc3Qsc3Vkb2Vyc0hvc3RBbGlhc0luTGlzdAorc3luIGNsdXN0ZXIgc3Vkb2Vyc0NtbmRJbkxpc3QgICAgICAgY29udGFpbnM9c3Vkb2Vyc0NtbmROZWdhdGlvbkluTGlzdCxzdWRvZXJzQ21uZE5hbWVJbkxpc3Qsc3Vkb2Vyc0NtbmRBbGlhc0luTGlzdAogCi1zeW4gY2x1c3RlciBzdWRvZXJzVXNlcgkJICAgIGNvbnRhaW5zPXN1ZG9lcnNVc2VyTmVnYXRpb24sc3Vkb2Vyc1VzZXJOYW1lLHN1ZG9lcnNVSUQsc3Vkb2Vyc0dyb3VwLHN1ZG9lcnNVc2VyTmV0Z3JvdXAsc3Vkb2Vyc1VzZXJBbGlhc1JlZgotc3luIGNsdXN0ZXIgc3Vkb2Vyc0hvc3QJCSAgICBjb250YWlucz1zdWRvZXJzSG9zdE5lZ2F0aW9uLHN1ZG9lcnNIb3N0TmFtZSxzdWRvZXJzSVBBZGRyLHN1ZG9lcnNOZXR3b3JrLHN1ZG9lcnNIb3N0TmV0Z3JvdXAsc3Vkb2Vyc0hvc3RBbGlhc1JlZgorc3luIGNsdXN0ZXIgc3Vkb2Vyc1VzZXIgICAgICAgICAgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJOZWdhdGlvbixzdWRvZXJzVXNlck5hbWUsc3Vkb2Vyc1VJRCxzdWRvZXJzR3JvdXAsc3Vkb2Vyc1VzZXJOZXRncm91cCxzdWRvZXJzVXNlckFsaWFzUmVmCitzeW4gY2x1c3RlciBzdWRvZXJzSG9zdCAgICAgICAgICAgICBjb250YWlucz1zdWRvZXJzSG9zdE5lZ2F0aW9uLHN1ZG9lcnNIb3N0TmFtZSxzdWRvZXJzSVBBZGRyLHN1ZG9lcnNOZXR3b3JrLHN1ZG9lcnNIb3N0TmV0Z3JvdXAsc3Vkb2Vyc0hvc3RBbGlhc1JlZgogCi1zeW4gY2x1c3RlciBzdWRvZXJzVXNlckluU3BlYwkgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJOZWdhdGlvbkluU3BlYyxzdWRvZXJzVXNlck5hbWVJblNwZWMsc3Vkb2Vyc1VJREluU3BlYyxzdWRvZXJzR3JvdXBJblNwZWMsc3Vkb2Vyc1VzZXJOZXRncm91cEluU3BlYyxzdWRvZXJzVXNlckFsaWFzSW5TcGVjCi1zeW4gY2x1c3RlciBzdWRvZXJzSG9zdEluU3BlYwkgICAgY29udGFpbnM9c3Vkb2Vyc0hvc3ROZWdhdGlvbkluU3BlYyxzdWRvZXJzSG9zdE5hbWVJblNwZWMsc3Vkb2Vyc0lQQWRkckluU3BlYyxzdWRvZXJzTmV0d29ya0luU3BlYyxzdWRvZXJzSG9zdE5ldGdyb3VwSW5TcGVjLHN1ZG9lcnNIb3N0QWxpYXNJblNwZWMKLXN5biBjbHVzdGVyIHN1ZG9lcnNVc2VySW5SdW5hcwkgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJOZWdhdGlvbkluUnVuYXMsc3Vkb2Vyc1VzZXJOYW1lSW5SdW5hcyxzdWRvZXJzVUlESW5SdW5hcyxzdWRvZXJzR3JvdXBJblJ1bmFzLHN1ZG9lcnNVc2VyTmV0Z3JvdXBJblJ1bmFzLHN1ZG9lcnNVc2VyQWxpYXNJblJ1bmFzCi1zeW4gY2x1c3RlciBzdWRvZXJzQ21uZEluU3BlYwkgICAgY29udGFpbnM9c3Vkb2Vyc0NtbmROZWdhdGlvbkluU3BlYyxzdWRvZXJzQ21uZE5hbWVJblNwZWMsc3Vkb2Vyc0NtbmRBbGlhc0luU3BlYworc3luIGNsdXN0ZXIgc3Vkb2Vyc1VzZXJJblNwZWMgICAgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJOZWdhdGlvbkluU3BlYyxzdWRvZXJzVXNlck5hbWVJblNwZWMsc3Vkb2Vyc1VJREluU3BlYyxzdWRvZXJzR3JvdXBJblNwZWMsc3Vkb2Vyc1VzZXJOZXRncm91cEluU3BlYyxzdWRvZXJzVXNlckFsaWFzSW5TcGVjCitzeW4gY2x1c3RlciBzdWRvZXJzSG9zdEluU3BlYyAgICAgICBjb250YWlucz1zdWRvZXJzSG9zdE5lZ2F0aW9uSW5TcGVjLHN1ZG9lcnNIb3N0TmFtZUluU3BlYyxzdWRvZXJzSVBBZGRySW5TcGVjLHN1ZG9lcnNOZXR3b3JrSW5TcGVjLHN1ZG9lcnNIb3N0TmV0Z3JvdXBJblNwZWMsc3Vkb2Vyc0hvc3RBbGlhc0luU3BlYworc3luIGNsdXN0ZXIgc3Vkb2Vyc1VzZXJJblJ1bmFzICAgICAgY29udGFpbnM9c3Vkb2Vyc1VzZXJOZWdhdGlvbkluUnVuYXMsc3Vkb2Vyc1VzZXJOYW1lSW5SdW5hcyxzdWRvZXJzVUlESW5SdW5hcyxzdWRvZXJzR3JvdXBJblJ1bmFzLHN1ZG9lcnNVc2VyTmV0Z3JvdXBJblJ1bmFzLHN1ZG9lcnNVc2VyQWxpYXNJblJ1bmFzCitzeW4gY2x1c3RlciBzdWRvZXJzQ21uZEluU3BlYyAgICAgICBjb250YWlucz1zdWRvZXJzQ21uZE5lZ2F0aW9uSW5TcGVjLHN1ZG9lcnNDbW5kTmFtZUluU3BlYyxzdWRvZXJzQ21uZEFsaWFzSW5TcGVjCiAKLSIgT3BlcmF0b3JzCiBzeW4gbWF0Y2ggICBzdWRvZXJzVXNlck5lZ2F0aW9uSW5MaXN0IGNvbnRhaW5lZCAnIVwrJyBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VySW5MaXN0ICBza2lwd2hpdGUgc2tpcG5sCiBzeW4gbWF0Y2ggICBzdWRvZXJzSG9zdE5lZ2F0aW9uSW5MaXN0IGNvbnRhaW5lZCAnIVwrJyBuZXh0Z3JvdXA9QHN1ZG9lcnNIb3N0SW5MaXN0ICBza2lwd2hpdGUgc2tpcG5sCiBzeW4gbWF0Y2ggICBzdWRvZXJzQ21uZE5lZ2F0aW9uSW5MaXN0IGNvbnRhaW5lZCAnIVwrJyBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kSW5MaXN0ICBza2lwd2hpdGUgc2tpcG5sCiAKLXN5biBtYXRjaCAgIHN1ZG9lcnNVc2VyTmVnYXRpb24JICAgICAgY29udGFpbmVkICchXCsnIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXIJICAgIHNraXB3aGl0ZSBza2lwbmwKLXN5biBtYXRjaCAgIHN1ZG9lcnNIb3N0TmVnYXRpb24JICAgICAgY29udGFpbmVkICchXCsnIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3QJICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNVc2VyTmVnYXRpb24gICAgICAgY29udGFpbmVkICchXCsnIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXIgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNIb3N0TmVnYXRpb24gICAgICAgY29udGFpbmVkICchXCsnIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3QgICAgICAgIHNraXB3aGl0ZSBza2lwbmwKIAogc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOZWdhdGlvbkluU3BlYyBjb250YWluZWQgJyFcKycgbmV4dGdyb3VwPUBzdWRvZXJzVXNlckluU3BlYyAgc2tpcHdoaXRlIHNraXBubAogc3luIG1hdGNoICAgc3Vkb2Vyc0hvc3ROZWdhdGlvbkluU3BlYyBjb250YWluZWQgJyFcKycgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdEluU3BlYyAgc2tpcHdoaXRlIHNraXBubAogc3luIG1hdGNoICAgc3Vkb2Vyc1VzZXJOZWdhdGlvbkluUnVuYXMgY29udGFpbmVkICchXCsnIG5leHRncm91cD1Ac3Vkb2Vyc1VzZXJJblJ1bmFzIHNraXB3aGl0ZSBza2lwbmwKIHN5biBtYXRjaCAgIHN1ZG9lcnNDbW5kTmVnYXRpb25JblNwZWMgY29udGFpbmVkICchXCsnIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRJblNwZWMgIHNraXB3aGl0ZSBza2lwbmwKIAotIiBBcmd1bWVudHMKLXN5biBtYXRjaCAgIHN1ZG9lcnNDb21tYW5kQXJncwkgICAgY29udGFpbmVkICdbXls6c3BhY2U6XSw6PVxcXVwrXCUoXFxbWzpzcGFjZTpdLDo9XFxdW15bOnNwYWNlOl0sOj1cXF0qXCkqJyBuZXh0Z3JvdXA9c3Vkb2Vyc0NvbW1hbmRBcmdzLEBzdWRvZXJzQ21uZExpc3Qgc2tpcHdoaXRlCi1zeW4gbWF0Y2ggICBzdWRvZXJzQ29tbWFuZEVtcHR5CSAgICBjb250YWluZWQgJyIiJyBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kTGlzdCBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzQ29tbWFuZEFyZ3MgICAgICBjb250YWluZWQgJ1teWzpzcGFjZTpdLDo9XFxdXCtcJShcXFtbOnNwYWNlOl0sOj1cXF1bXls6c3BhY2U6XSw6PVxcXSpcKSonIG5leHRncm91cD1zdWRvZXJzQ29tbWFuZEFyZ3MsQHN1ZG9lcnNDbW5kTGlzdCBza2lwd2hpdGUKK3N5biBtYXRjaCAgIHN1ZG9lcnNDb21tYW5kRW1wdHkgICAgIGNvbnRhaW5lZCAnIiInIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRMaXN0IHNraXB3aGl0ZSBza2lwbmwKIAogc3luIG1hdGNoICAgc3Vkb2Vyc0NvbW1hbmRBcmdzSW5TcGVjIGNvbnRhaW5lZCAnW15bOnNwYWNlOl0sOj1cXF1cK1wlKFxcW1s6c3BhY2U6XSw6PVxcXVteWzpzcGFjZTpdLDo9XFxdKlwpKicgbmV4dGdyb3VwPXN1ZG9lcnNDb21tYW5kQXJnc0luU3BlYyxAc3Vkb2Vyc0NtbmRTcGVjIHNraXB3aGl0ZQogc3luIG1hdGNoICAgc3Vkb2Vyc0NvbW1hbmRFbXB0eUluU3BlYyBjb250YWluZWQgJyIiJyBuZXh0Z3JvdXA9QHN1ZG9lcnNDbW5kU3BlYyBza2lwd2hpdGUgc2tpcG5sCiAKLSIgRGVmYXVsdCBFbnRyaWVzCi1zeW4ga2V5d29yZCBzdWRvZXJzRGVmYXVsdEVudHJ5CURlZmF1bHRzIG5leHRncm91cD1zdWRvZXJzRGVmYXVsdFR5cGVBdCxzdWRvZXJzRGVmYXVsdFR5cGVDb2xvbixzdWRvZXJzRGVmYXVsdFR5cGVHcmVhdGVyVGhhbixAc3Vkb2Vyc1BhcmFtZXRlciBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzRGVmYXVsdFR5cGVBdAkgIGNvbnRhaW5lZCAnQCcgbmV4dGdyb3VwPUBzdWRvZXJzSG9zdCBza2lwd2hpdGUgc2tpcG5sCi1zeW4gbWF0Y2ggICBzdWRvZXJzRGVmYXVsdFR5cGVDb2xvbgkgIGNvbnRhaW5lZCAnOicgbmV4dGdyb3VwPUBzdWRvZXJzVXNlciBza2lwd2hpdGUgc2tpcG5sCitzeW4ga2V5d29yZCBzdWRvZXJzRGVmYXVsdEVudHJ5IERlZmF1bHRzIG5leHRncm91cD1zdWRvZXJzRGVmYXVsdFR5cGVBdCxzdWRvZXJzRGVmYXVsdFR5cGVDb2xvbixzdWRvZXJzRGVmYXVsdFR5cGVHcmVhdGVyVGhhbixAc3Vkb2Vyc1BhcmFtZXRlciBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzRGVmYXVsdFR5cGVBdCAgICAgICAgICBjb250YWluZWQgJ0AnIG5leHRncm91cD1Ac3Vkb2Vyc0hvc3Qgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc0RlZmF1bHRUeXBlQ29sb24gICAgICAgY29udGFpbmVkICc6JyBuZXh0Z3JvdXA9QHN1ZG9lcnNVc2VyIHNraXB3aGl0ZSBza2lwbmwKIHN5biBtYXRjaCAgIHN1ZG9lcnNEZWZhdWx0VHlwZUdyZWF0ZXJUaGFuIGNvbnRhaW5lZCAnPicgbmV4dGdyb3VwPUBzdWRvZXJzVXNlciBza2lwd2hpdGUgc2tpcG5sCiAKICIgVE9ETzogY291bGQgYWxzbyBkZWFsIHdpdGggc3BlY2lhbCBjaGFyYWN0ZXJzIGhlcmUKK3N5biBtYXRjaCAgIHN1ZG9lcnNCb29sZWFuUGFyYW1ldGVyIGNvbnRhaW5lZCAnIScgbmV4dGdyb3VwPXN1ZG9lcnNCb29sZWFuUGFyYW1ldGVyIHNraXB3aGl0ZSBza2lwbmwKIHN5biBrZXl3b3JkIHN1ZG9lcnNCb29sZWFuUGFyYW1ldGVyIGNvbnRhaW5lZCBsb25nX29wdF9wcm9tcHQgaWdub3JlX2RvdCBtYWlsX2Fsd2F5cyBtYWlsX2JhZHBhc3MgbWFpbF9ub191c2VyIG1haWxfbm9fcGVybXMgdHR5X3RpY2tldHMgbGVjdHVyZSBhdXRoZW50aWNhdGUgcm9vdF9zdWRvIGxvZ19ob3N0IGxvZ195ZWFyIHNoZWxsX25vYXJncyBzZXRfaG9tZSBhbHdheXNfc2V0X2hvbWUgcGF0aF9pbmZvIHByZXNlcnZlX2dyb3VwcyBmcWRuIGluc3VsdHMgcmVxdWlyZXR0eSBlbnZfZWRpdG9yIHJvb3RwdyBydW5hc3B3IHRhcmdldHB3IHNldF9sb2duYW1lIHN0YXlfc2V0dWlkIGVudl9yZXNldCB1c2VfbG9naW5jbGFzcyBuZXh0Z3JvdXA9c3Vkb2Vyc1BhcmFtZXRlckxpc3RDb21tYSBza2lwd2hpdGUgc2tpcG5sCiBzeW4ga2V5d29yZCBzdWRvZXJzSW50ZWdlclBhcmFtZXRlciBjb250YWluZWQgcGFzc3dkX3RyaWVzIGxvZ2xpbmVsZW4gdGltZXN0YW1wX3RpbWVvdXQgcGFzc3dkX3RpbWVvdXQgdW1hc2sgbmV4dGdyb3VwPXN1ZG9lcnNJbnRlZ2VyUGFyYW1ldGVyRXF1YWxzIHNraXB3aGl0ZSBza2lwbmwKIHN5biBrZXl3b3JkIHN1ZG9lcnNTdHJpbmdQYXJhbWV0ZXIgIGNvbnRhaW5lZCBtYWlsc3ViIGJhZHBhc3NfbWVzc2FnZSB0aW1lc3RhbXBkaXIgdGltZXN0YW1wb3duZXIgcGFzc3Byb21wdCBydW5hc19kZWZhdWx0IHN5c2xvZ19nb29kcHJpIHN5c2xvZ19iYWRwcmkgZWRpdG9yIGxvZ2ZpbGUgc3lzbG9nIG1haWxlcnBhdGggbWFpbGVyZmxhZ3MgbWFpbHRvIGV4ZW1wdF9ncm91cCB2ZXJpZnlwdyBsaXN0cHcgbmV4dGdyb3VwPXN1ZG9lcnNTdHJpbmdQYXJhbWV0ZXJFcXVhbHMgc2tpcHdoaXRlIHNraXBubApAQCAtMTY2LDEyNSArMTU2LDExMSBAQAogCiBzeW4gbWF0Y2ggICBzdWRvZXJzUGFyYW1ldGVyTGlzdENvbW1hIGNvbnRhaW5lZCAnLCcgbmV4dGdyb3VwPUBzdWRvZXJzUGFyYW1ldGVyIHNraXB3aGl0ZSBza2lwbmwKIAotc3luIGNsdXN0ZXIgc3Vkb2Vyc1BhcmFtZXRlcgkgICAgY29udGFpbnM9c3Vkb2Vyc0Jvb2xlYW5QYXJhbWV0ZXIsc3Vkb2Vyc0ludGVnZXJQYXJhbWV0ZXJFcXVhbHMsc3Vkb2Vyc1N0cmluZ1BhcmFtZXRlcixzdWRvZXJzTGlzdFBhcmFtZXRlcgorc3luIGNsdXN0ZXIgc3Vkb2Vyc1BhcmFtZXRlciAgICAgICAgY29udGFpbnM9c3Vkb2Vyc0Jvb2xlYW5QYXJhbWV0ZXIsc3Vkb2Vyc0ludGVnZXJQYXJhbWV0ZXJFcXVhbHMsc3Vkb2Vyc1N0cmluZ1BhcmFtZXRlcixzdWRvZXJzTGlzdFBhcmFtZXRlcgogCiBzeW4gbWF0Y2ggICBzdWRvZXJzSW50ZWdlclBhcmFtZXRlckVxdWFscyBjb250YWluZWQgJ1srLV1cPT0nIG5leHRncm91cD1zdWRvZXJzSW50ZWdlclZhbHVlIHNraXB3aGl0ZSBza2lwbmwKIHN5biBtYXRjaCAgIHN1ZG9lcnNTdHJpbmdQYXJhbWV0ZXJFcXVhbHMgIGNvbnRhaW5lZCAnWystXVw9PScgbmV4dGdyb3VwPXN1ZG9lcnNTdHJpbmdWYWx1ZSAgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0xpc3RQYXJhbWV0ZXJFcXVhbHMJICBjb250YWluZWQgJ1srLV1cPT0nIG5leHRncm91cD1zdWRvZXJzTGlzdFZhbHVlICAgIHNraXB3aGl0ZSBza2lwbmwKK3N5biBtYXRjaCAgIHN1ZG9lcnNMaXN0UGFyYW1ldGVyRXF1YWxzICAgIGNvbnRhaW5lZCAnWystXVw9PScgbmV4dGdyb3VwPXN1ZG9lcnNMaXN0VmFsdWUgICAgc2tpcHdoaXRlIHNraXBubAogCi1zeW4gbWF0Y2ggICBzdWRvZXJzSW50ZWdlclZhbHVlCWNvbnRhaW5lZCAnXGRcKycgbmV4dGdyb3VwPXN1ZG9lcnNQYXJhbWV0ZXJMaXN0Q29tbWEgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc1N0cmluZ1ZhbHVlCWNvbnRhaW5lZCAnW15bOnNwYWNlOl0sOj1cXF0qXCUoXFxbWzpzcGFjZTpdLDo9XFxdW15bOnNwYWNlOl0sOj1cXF0qXCkqJyBuZXh0Z3JvdXA9c3Vkb2Vyc1BhcmFtZXRlckxpc3RDb21tYSBza2lwd2hpdGUgc2tpcG5sCi1zeW4gcmVnaW9uICBzdWRvZXJzU3RyaW5nVmFsdWUJY29udGFpbmVkIHN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisgbmV4dGdyb3VwPXN1ZG9lcnNQYXJhbWV0ZXJMaXN0Q29tbWEgc2tpcHdoaXRlIHNraXBubAotc3luIG1hdGNoICAgc3Vkb2Vyc0xpc3RWYWx1ZQljb250YWluZWQgJ1teWzpzcGFjZTpdLDo9XFxdKlwlKFxcW1s6c3BhY2U6XSw6PVxcXVteWzpzcGFjZTpdLDo9XFxdKlwpKicgbmV4dGdyb3VwPXN1ZG9lcnNQYXJhbWV0ZXJMaXN0Q29tbWEgc2tpcHdoaXRlIHNraXBubAotc3luIHJlZ2lvbiAgc3Vkb2Vyc0xpc3RWYWx1ZQljb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBuZXh0Z3JvdXA9c3Vkb2Vyc1BhcmFtZXRlckxpc3RDb21tYSBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzSW50ZWdlclZhbHVlIGNvbnRhaW5lZCAnXGRcKycgbmV4dGdyb3VwPXN1ZG9lcnNQYXJhbWV0ZXJMaXN0Q29tbWEgc2tpcHdoaXRlIHNraXBubAorc3luIG1hdGNoICAgc3Vkb2Vyc1N0cmluZ1ZhbHVlICBjb250YWluZWQgJ1teWzpzcGFjZTpdLDo9XFxdKlwlKFxcW1s6c3BhY2U6XSw6PVxcXVteWzpzcGFjZTpdLDo9XFxdKlwpKicgbmV4dGdyb3VwPXN1ZG9lcnNQYXJhbWV0ZXJMaXN0Q29tbWEgc2tpcHdoaXRlIHNraXBubAorc3luIHJlZ2lvbiAgc3Vkb2Vyc1N0cmluZ1ZhbHVlICBjb250YWluZWQgc3RhcnQ9KyIrIHNraXA9K1xcIisgZW5kPSsiKyBuZXh0Z3JvdXA9c3Vkb2Vyc1BhcmFtZXRlckxpc3RDb21tYSBza2lwd2hpdGUgc2tpcG5sCitzeW4gbWF0Y2ggICBzdWRvZXJzTGlzdFZhbHVlICAgIGNvbnRhaW5lZCAnW15bOnNwYWNlOl0sOj1cXF0qXCUoXFxbWzpzcGFjZTpdLDo9XFxdW15bOnNwYWNlOl0sOj1cXF0qXCkqJyBuZXh0Z3JvdXA9c3Vkb2Vyc1BhcmFtZXRlckxpc3RDb21tYSBza2lwd2hpdGUgc2tpcG5sCitzeW4gcmVnaW9uICBzdWRvZXJzTGlzdFZhbHVlICAgIGNvbnRhaW5lZCBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrIG5leHRncm91cD1zdWRvZXJzUGFyYW1ldGVyTGlzdENvbW1hIHNraXB3aGl0ZSBza2lwbmwKIAotIiBTcGVjaWFsIGZvciBzcGVjcwotc3luIG1hdGNoICAgc3Vkb2Vyc1BBU1NXRAkgICAgICBjb250YWluZWQgJ1wlKE5PXClcPVBBU1NXRDonIG5leHRncm91cD1Ac3Vkb2Vyc0NtbmRJblNwZWMgc2tpcHdoaXRlCitzeW4gbWF0Y2ggICBzdWRvZXJzUEFTU1dEICAgICAgICAgICAgICAgICAgIGNvbnRhaW5lZCAnXCUoTk9cKVw9UEFTU1dEOicgbmV4dGdyb3VwPUBzdWRvZXJzQ21uZEluU3BlYyBza2lwd2hpdGUKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3Vkb2Vyc19zeW5faW5pdHMiKQotICBpZiB2ZXJzaW9uIDwgNTA4Ci0gICAgbGV0IGRpZF9zdWRvZXJzX3N5bl9pbml0cyA9IDEKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBsaW5rIDxhcmdzPgotICBlbHNlCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgZGVmIGxpbmsgPGFyZ3M+Ci0gIGVuZGlmCi0KLSAgSGlMaW5rIHN1ZG9lcnNTcGVjRXF1YWxzCQlPcGVyYXRvcgotICBIaUxpbmsgc3Vkb2Vyc1RvZG8JCQlUb2RvCi0gIEhpTGluayBzdWRvZXJzQ29tbWVudAkJCUNvbW1lbnQKLSAgSGlMaW5rIHN1ZG9lcnNBbGlhcwkJCUtleXdvcmQKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyQWxpYXMJCUlkZW50aWZpZXIKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyTmFtZUluTGlzdAkJU3RyaW5nCi0gIEhpTGluayBzdWRvZXJzVUlESW5MaXN0CQlOdW1iZXIKLSAgSGlMaW5rIHN1ZG9lcnNHcm91cEluTGlzdCAgICAgICAgICAgICBQcmVQcm9jCi0gIEhpTGluayBzdWRvZXJzVXNlck5ldGdyb3VwSW5MaXN0ICAgICAgUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc1VzZXJBbGlhc0luTGlzdCAgICAgICAgIFByZVByb2MKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyTmFtZQkJU3RyaW5nCi0gIEhpTGluayBzdWRvZXJzVUlECQkJTnVtYmVyCi0gIEhpTGluayBzdWRvZXJzR3JvdXAJCQlQcmVQcm9jCi0gIEhpTGluayBzdWRvZXJzVXNlck5ldGdyb3VwCQlQcmVQcm9jCi0gIEhpTGluayBzdWRvZXJzVXNlckFsaWFzUmVmICAgICAgICAgICAgUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc1VzZXJOYW1lSW5TcGVjCQlTdHJpbmcKLSAgSGlMaW5rIHN1ZG9lcnNVSURJblNwZWMJCU51bWJlcgotICBIaUxpbmsgc3Vkb2Vyc0dyb3VwSW5TcGVjCQlQcmVQcm9jCi0gIEhpTGluayBzdWRvZXJzVXNlck5ldGdyb3VwSW5TcGVjCVByZVByb2MKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyQWxpYXNJblNwZWMJCVByZVByb2MKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyTmFtZUluUnVuYXMJCVN0cmluZwotICBIaUxpbmsgc3Vkb2Vyc1VJREluUnVuYXMJCU51bWJlcgotICBIaUxpbmsgc3Vkb2Vyc0dyb3VwSW5SdW5hcwkJUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc1VzZXJOZXRncm91cEluUnVuYXMJUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc1VzZXJBbGlhc0luUnVuYXMJUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc0hvc3RBbGlhcyAgICAgICAgICAgICAgIElkZW50aWZpZXIKLSAgSGlMaW5rIHN1ZG9lcnNIb3N0TmFtZUluTGlzdCAgICAgICAgICBTdHJpbmcKLSAgSGlMaW5rIHN1ZG9lcnNJUEFkZHJJbkxpc3QgICAgICAgICAgICBOdW1iZXIKLSAgSGlMaW5rIHN1ZG9lcnNOZXR3b3JrSW5MaXN0ICAgICAgICAgICBOdW1iZXIKLSAgSGlMaW5rIHN1ZG9lcnNIb3N0TmV0Z3JvdXBJbkxpc3QgICAgICBQcmVQcm9jCi0gIEhpTGluayBzdWRvZXJzSG9zdEFsaWFzSW5MaXN0ICAgICAgICAgUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc0hvc3ROYW1lCQlTdHJpbmcKLSAgSGlMaW5rIHN1ZG9lcnNJUEFkZHIJCQlOdW1iZXIKLSAgSGlMaW5rIHN1ZG9lcnNOZXR3b3JrCQkJTnVtYmVyCi0gIEhpTGluayBzdWRvZXJzSG9zdE5ldGdyb3VwCQlQcmVQcm9jCi0gIEhpTGluayBzdWRvZXJzSG9zdEFsaWFzUmVmICAgICAgICAgICAgUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc0hvc3ROYW1lSW5TcGVjICAgICAgICAgIFN0cmluZwotICBIaUxpbmsgc3Vkb2Vyc0lQQWRkckluU3BlYyAgICAgICAgICAgIE51bWJlcgotICBIaUxpbmsgc3Vkb2Vyc05ldHdvcmtJblNwZWMgICAgICAgICAgIE51bWJlcgotICBIaUxpbmsgc3Vkb2Vyc0hvc3ROZXRncm91cEluU3BlYyAgICAgIFByZVByb2MKLSAgSGlMaW5rIHN1ZG9lcnNIb3N0QWxpYXNJblNwZWMgICAgICAgICBQcmVQcm9jCi0gIEhpTGluayBzdWRvZXJzQ21uZEFsaWFzCQlJZGVudGlmaWVyCi0gIEhpTGluayBzdWRvZXJzQ21uZE5hbWVJbkxpc3QJCVN0cmluZwotICBIaUxpbmsgc3Vkb2Vyc0NtbmRBbGlhc0luTGlzdCAgICAgICAgIFByZVByb2MKLSAgSGlMaW5rIHN1ZG9lcnNDbW5kTmFtZUluU3BlYwkJU3RyaW5nCi0gIEhpTGluayBzdWRvZXJzQ21uZEFsaWFzSW5TcGVjICAgICAgICAgUHJlUHJvYwotICBIaUxpbmsgc3Vkb2Vyc1VzZXJBbGlhc0VxdWFscwkJT3BlcmF0b3IKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyTGlzdENvbW1hICAgICAgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyTGlzdENvbG9uICAgICAgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyU3BlY0NvbW1hICAgICAgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIHN1ZG9lcnNVc2VyUnVuYXNCZWdpbgkJRGVsaW1pdGVyCi0gIEhpTGluayBzdWRvZXJzVXNlclJ1bmFzQ29tbWEJCURlbGltaXRlcgotICBIaUxpbmsgc3Vkb2Vyc1VzZXJSdW5hc0VuZAkJRGVsaW1pdGVyCi0gIEhpTGluayBzdWRvZXJzSG9zdEFsaWFzRXF1YWxzICAgICAgICAgT3BlcmF0b3IKLSAgSGlMaW5rIHN1ZG9lcnNIb3N0TGlzdENvbW1hICAgICAgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIHN1ZG9lcnNIb3N0TGlzdENvbG9uICAgICAgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIHN1ZG9lcnNIb3N0U3BlY0NvbW1hICAgICAgICAgICBEZWxpbWl0ZXIKLSAgSGlMaW5rIHN1ZG9lcnNDbW5kQWxpYXNFcXVhbHMgICAgICAgICBPcGVyYXRvcgotICBIaUxpbmsgc3Vkb2Vyc0NtbmRMaXN0Q29tbWEgICAgICAgICAgIERlbGltaXRlcgotICBIaUxpbmsgc3Vkb2Vyc0NtbmRMaXN0Q29sb24gICAgICAgICAgIERlbGltaXRlcgotICBIaUxpbmsgc3Vkb2Vyc0NtbmRTcGVjQ29tbWEgICAgICAgICAgIERlbGltaXRlcgotICBIaUxpbmsgc3Vkb2Vyc0NtbmRTcGVjQ29sb24gICAgICAgICAgIERlbGltaXRlcgotICBIaUxpbmsgc3Vkb2Vyc1VzZXJOZWdhdGlvbkluTGlzdCAgICAgIE9wZXJhdG9yCi0gIEhpTGluayBzdWRvZXJzSG9zdE5lZ2F0aW9uSW5MaXN0ICAgICAgT3BlcmF0b3IKLSAgSGlMaW5rIHN1ZG9lcnNDbW5kTmVnYXRpb25Jbkxpc3QgICAgICBPcGVyYXRvcgotICBIaUxpbmsgc3Vkb2Vyc1VzZXJOZWdhdGlvbgkJT3BlcmF0b3IKLSAgSGlMaW5rIHN1ZG9lcnNIb3N0TmVnYXRpb24JCU9wZXJhdG9yCi0gIEhpTGluayBzdWRvZXJzVXNlck5lZ2F0aW9uSW5TcGVjCU9wZXJhdG9yCi0gIEhpTGluayBzdWRvZXJzSG9zdE5lZ2F0aW9uSW5TcGVjCU9wZXJhdG9yCi0gIEhpTGluayBzdWRvZXJzVXNlck5lZ2F0aW9uSW5SdW5hcwlPcGVyYXRvcgotICBIaUxpbmsgc3Vkb2Vyc0NtbmROZWdhdGlvbkluU3BlYwlPcGVyYXRvcgotICBIaUxpbmsgc3Vkb2Vyc0NvbW1hbmRBcmdzCQlTdHJpbmcKLSAgSGlMaW5rIHN1ZG9lcnNDb21tYW5kRW1wdHkJCVNwZWNpYWwKLSAgSGlMaW5rIHN1ZG9lcnNEZWZhdWx0RW50cnkJCUtleXdvcmQKLSAgSGlMaW5rIHN1ZG9lcnNEZWZhdWx0VHlwZUF0CQlTcGVjaWFsCi0gIEhpTGluayBzdWRvZXJzRGVmYXVsdFR5cGVDb2xvbglTcGVjaWFsCi0gIEhpTGluayBzdWRvZXJzRGVmYXVsdFR5cGVHcmVhdGVyVGhhbglTcGVjaWFsCi0gIEhpTGluayBzdWRvZXJzQm9vbGVhblBhcmFtZXRlciAgICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgc3Vkb2Vyc0ludGVnZXJQYXJhbWV0ZXIgICAgICAgIElkZW50aWZpZXIKLSAgSGlMaW5rIHN1ZG9lcnNTdHJpbmdQYXJhbWV0ZXIgICAgICAgICBJZGVudGlmaWVyCi0gIEhpTGluayBzdWRvZXJzTGlzdFBhcmFtZXRlciAgICAgICAgICAgSWRlbnRpZmllcgotICBIaUxpbmsgc3Vkb2Vyc1BhcmFtZXRlckxpc3RDb21tYSAgICAgIERlbGltaXRlcgotICBIaUxpbmsgc3Vkb2Vyc0ludGVnZXJQYXJhbWV0ZXJFcXVhbHMgIE9wZXJhdG9yCi0gIEhpTGluayBzdWRvZXJzU3RyaW5nUGFyYW1ldGVyRXF1YWxzICAgT3BlcmF0b3IKLSAgSGlMaW5rIHN1ZG9lcnNMaXN0UGFyYW1ldGVyRXF1YWxzICAgICBPcGVyYXRvcgotICBIaUxpbmsgc3Vkb2Vyc0ludGVnZXJWYWx1ZSAgICAgICAgICAgIE51bWJlcgotICBIaUxpbmsgc3Vkb2Vyc1N0cmluZ1ZhbHVlICAgICAgICAgICAgIFN0cmluZwotICBIaUxpbmsgc3Vkb2Vyc0xpc3RWYWx1ZSAgICAgICAgICAgICAgIFN0cmluZwotICBIaUxpbmsgc3Vkb2Vyc1BBU1NXRAkJCVNwZWNpYWwKLQotICBkZWxjb21tYW5kIEhpTGluawotZW5kaWYKK2hpIGRlZiBsaW5rIHN1ZG9lcnNTcGVjRXF1YWxzICAgICAgICAgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNUb2RvICAgICAgICAgICAgICAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgc3Vkb2Vyc0NvbW1lbnQgICAgICAgICAgICAgICAgICBDb21tZW50CitoaSBkZWYgbGluayBzdWRvZXJzQWxpYXMgICAgICAgICAgICAgICAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyQWxpYXMgICAgICAgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJOYW1lSW5MaXN0ICAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVSURJbkxpc3QgICAgICAgICAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBzdWRvZXJzR3JvdXBJbkxpc3QgICAgICAgICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTmV0Z3JvdXBJbkxpc3QgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJBbGlhc0luTGlzdCAgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBzdWRvZXJzVXNlck5hbWUgICAgICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgc3Vkb2Vyc1VJRCAgICAgICAgICAgICAgICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNHcm91cCAgICAgICAgICAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJOZXRncm91cCAgICAgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBzdWRvZXJzVXNlckFsaWFzUmVmICAgICAgICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTmFtZUluU3BlYyAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBzdWRvZXJzVUlESW5TcGVjICAgICAgICAgICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0dyb3VwSW5TcGVjICAgICAgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBzdWRvZXJzVXNlck5ldGdyb3VwSW5TcGVjICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyQWxpYXNJblNwZWMgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJOYW1lSW5SdW5hcyAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVSURJblJ1bmFzICAgICAgICAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBzdWRvZXJzR3JvdXBJblJ1bmFzICAgICAgICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTmV0Z3JvdXBJblJ1bmFzICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJBbGlhc0luUnVuYXMgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBzdWRvZXJzSG9zdEFsaWFzICAgICAgICAgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNIb3N0TmFtZUluTGlzdCAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBzdWRvZXJzSVBBZGRySW5MaXN0ICAgICAgICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc05ldHdvcmtJbkxpc3QgICAgICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNIb3N0TmV0Z3JvdXBJbkxpc3QgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc0hvc3RBbGlhc0luTGlzdCAgICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBzdWRvZXJzSG9zdE5hbWUgICAgICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgc3Vkb2Vyc0lQQWRkciAgICAgICAgICAgICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNOZXR3b3JrICAgICAgICAgICAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBzdWRvZXJzSG9zdE5ldGdyb3VwICAgICAgICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHN1ZG9lcnNIb3N0QWxpYXNSZWYgICAgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc0hvc3ROYW1lSW5TcGVjICAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHN1ZG9lcnNJUEFkZHJJblNwZWMgICAgICAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayBzdWRvZXJzTmV0d29ya0luU3BlYyAgICAgICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0hvc3ROZXRncm91cEluU3BlYyAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayBzdWRvZXJzSG9zdEFsaWFzSW5TcGVjICAgICAgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHN1ZG9lcnNDbW5kQWxpYXMgICAgICAgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0NtbmROYW1lSW5MaXN0ICAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHN1ZG9lcnNDbW5kQWxpYXNJbkxpc3QgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc0NtbmROYW1lSW5TcGVjICAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHN1ZG9lcnNDbW5kQWxpYXNJblNwZWMgICAgICAgICAgUHJlUHJvYworaGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJBbGlhc0VxdWFscyAgICAgICAgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJMaXN0Q29tbWEgICAgICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTGlzdENvbG9uICAgICAgICAgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBzdWRvZXJzVXNlclNwZWNDb21tYSAgICAgICAgICAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc1VzZXJSdW5hc0JlZ2luICAgICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyUnVuYXNDb21tYSAgICAgICAgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBzdWRvZXJzVXNlclJ1bmFzRW5kICAgICAgICAgICAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0hvc3RBbGlhc0VxdWFscyAgICAgICAgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0hvc3RMaXN0Q29tbWEgICAgICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNIb3N0TGlzdENvbG9uICAgICAgICAgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBzdWRvZXJzSG9zdFNwZWNDb21tYSAgICAgICAgICAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0NtbmRBbGlhc0VxdWFscyAgICAgICAgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0NtbmRMaXN0Q29tbWEgICAgICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNDbW5kTGlzdENvbG9uICAgICAgICAgICAgRGVsaW1pdGVyCitoaSBkZWYgbGluayBzdWRvZXJzQ21uZFNwZWNDb21tYSAgICAgICAgICAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0NtbmRTcGVjQ29sb24gICAgICAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTmVnYXRpb25Jbkxpc3QgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNIb3N0TmVnYXRpb25Jbkxpc3QgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNDbW5kTmVnYXRpb25Jbkxpc3QgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTmVnYXRpb24gICAgICAgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNIb3N0TmVnYXRpb24gICAgICAgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTmVnYXRpb25JblNwZWMgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNIb3N0TmVnYXRpb25JblNwZWMgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNVc2VyTmVnYXRpb25JblJ1bmFzICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNDbW5kTmVnYXRpb25JblNwZWMgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHN1ZG9lcnNDb21tYW5kQXJncyAgICAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBzdWRvZXJzQ29tbWFuZEVtcHR5ICAgICAgICAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHN1ZG9lcnNEZWZhdWx0RW50cnkgICAgICAgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgc3Vkb2Vyc0RlZmF1bHRUeXBlQXQgICAgICAgICAgICBTcGVjaWFsCitoaSBkZWYgbGluayBzdWRvZXJzRGVmYXVsdFR5cGVDb2xvbiAgICAgICAgIFNwZWNpYWwKK2hpIGRlZiBsaW5rIHN1ZG9lcnNEZWZhdWx0VHlwZUdyZWF0ZXJUaGFuICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgc3Vkb2Vyc0Jvb2xlYW5QYXJhbWV0ZXIgICAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBzdWRvZXJzSW50ZWdlclBhcmFtZXRlciAgICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNTdHJpbmdQYXJhbWV0ZXIgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0xpc3RQYXJhbWV0ZXIgICAgICAgICAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBzdWRvZXJzUGFyYW1ldGVyTGlzdENvbW1hICAgICAgIERlbGltaXRlcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0ludGVnZXJQYXJhbWV0ZXJFcXVhbHMgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc1N0cmluZ1BhcmFtZXRlckVxdWFscyAgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0xpc3RQYXJhbWV0ZXJFcXVhbHMgICAgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgc3Vkb2Vyc0ludGVnZXJWYWx1ZSAgICAgICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHN1ZG9lcnNTdHJpbmdWYWx1ZSAgICAgICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayBzdWRvZXJzTGlzdFZhbHVlICAgICAgICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgc3Vkb2Vyc1BBU1NXRCAgICAgICAgICAgICAgICAgICBTcGVjaWFsCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInN1ZG9lcnMiCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3lzY3RsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3N5c2N0bC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDYwZDBhYwotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3N5c2N0bC52aW0KQEAgLTAsMCArMSwzOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgc3lzY3RsLmNvbmYoNSkgY29uZmlndXJhdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQorCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQorICBmaW5pc2gKK2VuZGlmCisKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KKworc3luIG1hdGNoICAgc3lzY3RsQmVnaW4gICBkaXNwbGF5ICdeJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1zeXNjdGxUb2tlbixzeXNjdGxDb21tZW50IHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBzeXNjdGxUb2tlbiAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcU1wrJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1zeXNjdGxUb2tlbkVxIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICBzeXNjdGxUb2tlbkVxIGNvbnRhaW5lZCBkaXNwbGF5ICc9JyBuZXh0Z3JvdXA9c3lzY3RsVmFsdWUgc2tpcHdoaXRlCisKK3N5biByZWdpb24gIHN5c2N0bFZhbHVlICAgY29udGFpbmVkIGRpc3BsYXkgb25lbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9c3lzY3RsVmFsdWUgc3RhcnQ9J1xTJworICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9Tm9ybWFsIGVuZD0nXHMqJCcKKworc3luIGtleXdvcmQgc3lzY3RsVG9kbyAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorCitzeW4gcmVnaW9uICBzeXNjdGxDb21tZW50IGRpc3BsYXkgb25lbGluZSBzdGFydD0nXlxzKlsjO10nIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1zeXNjdGxUb2RvLEBTcGVsbAorCitoaSBkZWYgbGluayBzeXNjdGxUb2RvICAgIFRvZG8KK2hpIGRlZiBsaW5rIHN5c2N0bENvbW1lbnQgQ29tbWVudAoraGkgZGVmIGxpbmsgc3lzY3RsVG9rZW4gICBJZGVudGlmaWVyCitoaSBkZWYgbGluayBzeXNjdGxUb2tlbkVxIE9wZXJhdG9yCitoaSBkZWYgbGluayBzeXNjdGxWYWx1ZSAgIFN0cmluZworCitsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzeXNjdGwiCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdGVybWluZm8udmltIGIvcnVudGltZS9zeW50YXgvdGVybWluZm8udmltCmluZGV4IDZhYzdmZmEuLmM4M2EzYTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3Rlcm1pbmZvLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC90ZXJtaW5mby52aW0KQEAgLTEsMTE1ICsxLDkzIEBACiAiIFZpbSBzeW50YXggZmlsZQotIiBMYW5ndWFnZToJICAgIFRlcm1pbmZvIGRlZmluaXRpb24KLSIgTWFpbnRhaW5lcjoJICAgIE5pa29sYWkgV2VpYnVsbCA8c291cmNlQHBjcHBvcHBlci5vcmc+Ci0iIFVSTDoJCSAgICBodHRwOi8vd3d3LnBjcHBvcHBlci5vcmcvdmltL3N5bnRheC9wY3AvdGVybWluZm8vCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICA4NDY0ZGQ0Ny0wYzVhLTQ3ZDUtODdlZC1hMmFkOTllMTE5NmYKKyIgTGFuZ3VhZ2U6ICAgICAgICAgdGVybWluZm8oNSkgZGVmaW5pdGlvbgorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKIAotaWYgdmVyc2lvbiA8IDYwMAotICBzeW50YXggY2xlYXIKLWVsc2VpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQoraWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCiBlbmRpZgogCi0iIGtleXdvcmRzIChkZWZpbmUgZmlyc3QgYXMgdG8gbm90IG1lc3MgdXAgY29tbWVudHMKLXN5biBtYXRjaCB0ZXJtaW5mb0tleXdvcmRzCSJbLD0jfF0iCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCiAKLSIgdG9kbwotc3luIGtleXdvcmQgdGVybWluZm9Ub2RvCWNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCitzeW4gbWF0Y2ggdGVybWluZm9LZXl3b3JkcyAgICAgICdbLD0jfF0nCiAKLSIgY29tbWVudHMKLXN5biByZWdpb24gIHRlcm1pbmZvQ29tbWVudAltYXRjaGdyb3VwPXRlcm1pbmZvQ29tbWVudCBzdGFydD0iXiMiIGVuZD0iJCIgY29udGFpbnM9dGVybWluZm9Ub2RvCitzeW4ga2V5d29yZCB0ZXJtaW5mb1RvZG8gICAgICAgIGNvbnRhaW5lZCBUT0RPIEZJWE1FIFhYWCBOT1RFCiAKLSIgbnVtYmVycwotc3luIG1hdGNoICAgdGVybWluZm9OdW1iZXJzCSJcPFswLTldXCtcPiIKK3N5biByZWdpb24gIHRlcm1pbmZvQ29tbWVudCAgICAgbWF0Y2hncm91cD10ZXJtaW5mb0NvbW1lbnQgc3RhcnQ9J14jJyBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9dGVybWluZm9Ub2RvLEBTcGVsbAogCi0iIHNwZWNpYWwga2V5cwotc3luIG1hdGNoICAgdGVybWluZm9TcGVjaWFsQ2hhcgkiXFxcKFxvXHszfVx8W0VlbmxydGJmc15cLDowXVwpIgotc3luIG1hdGNoICAgdGVybWluZm9TcGVjaWFsQ2hhciAiXF5cYSIKK3N5biBtYXRjaCAgIHRlcm1pbmZvTnVtYmVycyAgICAgJ1w8WzAtOV1cK1w+JwogCi0iIGRlbGF5cwotc3luIG1hdGNoICAgdGVybWluZm9EZWxheQkiJDxbMC05XVwrPiIKK3N5biBtYXRjaCAgIHRlcm1pbmZvU3BlY2lhbENoYXIgJ1xcXChcb1x7M31cfFtFZW5scnRiZnNeXCw6MF1cKScKK3N5biBtYXRjaCAgIHRlcm1pbmZvU3BlY2lhbENoYXIgJ1xeXGEnCiAKLSIgYm9vbGVhbiBjYXBhYmlsaXRpZXMKLXN5biBrZXl3b3JkIHRlcm1pbmZvQm9vbGVhbnMJYncgYW0gYmNlIGNjYyB4aHAgeGhwYSBjcGl4IGNyeHcgeHQgeGVubCBlbyBnbgotc3luIGtleXdvcmQgdGVybWluZm9Cb29sZWFucwloYyBjaHRzIGttIGRhaXN5IGhzIGhscyBpbiBscGl4IGRhIGRiIG1pciBtc2dyCi1zeW4ga2V5d29yZCB0ZXJtaW5mb0Jvb2xlYW5zCW54b24geHNiIG5wYyBuZHNjciBucnJtYyBvcyBtYzVpIHhjcGEgc2FtIGVzbG9rCi1zeW4ga2V5d29yZCB0ZXJtaW5mb0Jvb2xlYW5zCWh6IHVsIHhvbgorc3luIG1hdGNoICAgdGVybWluZm9EZWxheSAgICAgICAnJDxbMC05XVwrPicKIAotIiBudW1lcmljIGNhcGFiaWxpdGllcwotc3luIGtleXdvcmQgdGVybWluZm9OdW1lcmljcwljb2xzIGl0IGxoIGx3IGxpbmVzIGxtIHhtYyBtYSBjb2xvcnMgcGFpcnMgd251bQotc3luIGtleXdvcmQgdGVybWluZm9OdW1lcmljcwluY3YgbmxhYiBwYiB2dCB3c2wgYml0d2luIGJpdHlwZSBidWZzeiBidG5zCi1zeW4ga2V5d29yZCB0ZXJtaW5mb051bWVyaWNzCXNwaW5oIHNwaW52IG1hZGRyIG1qdW1wIG1jcyBucGlucyBvcmMgb3JoaSBvcmwKLXN5biBrZXl3b3JkIHRlcm1pbmZvTnVtZXJpY3MJb3J2aSBjcHMgd2lkY3MKK3N5biBrZXl3b3JkIHRlcm1pbmZvQm9vbGVhbnMgICAgYncgYW0gYmNlIGNjYyB4aHAgeGhwYSBjcGl4IGNyeHcgeHQgeGVubCBlbyBnbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhjIGNodHMga20gZGFpc3kgaHMgaGxzIGluIGxwaXggZGEgZGIgbWlyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbXNnciBueG9uIHhzYiBucGMgbmRzY3IgbnJybWMgb3MgbWM1aSB4Y3BhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2FtIGVzbG9rIGh6IHVsIHhvbgogCi0iIHN0cmluZyBjYXBhYmlsaXRpZXMKLXN5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlhY3NjIGNidCBiZWwgY3IgY3BpIGxwaSBjaHIgY3ZyIGNzciBybXAgdGJjIG1nYwotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWNsZWFyIGVsMSBlbCBlZCBocGEgY21kY2ggY3dpbiBjdXAgY3VkMSBob21lCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJY2l2aXMgY3ViMSBtcmN1cCBjbm9ybSBjdWYxIGxsIGN1dTEgY3Z2aXMgZGVmYwotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWRjaDEgZGwxIGRpYWwgZHNsIGRjbGsgaGQgZW5hY3Mgc21hY3Mgc21hbSBibGluawotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWJvbGQgc21jdXAgc21kYyBkaW0gc3dpZG0gc2RyZnEgc21pciBzaXRtIHNsbQotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXNtaWNtIHNubHEgc25ybXEgcHJvdCByZXYgaW52aXMgc3NobSBzbXNvIHNzdWJtCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJc3N1cG0gc211bCBzdW0gc214b24gZWNoIHJtYWNzIHJtYW0gc2dyMCBybWN1cAotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXJtZGMgcndpZG0gcm1pciByaXRtIHJsbSBybWljbSByc2htIHJtc28gcnN1Ym0KLXN5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlyc3VwbSBybXVsIHJ1bSBybXhvbiBwYXVzZSBob29rIGZsYXNoIGZmIGZzbAotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXdpbmdvIGh1cCBpczEgaXMyIGlzMyBpZiBpcHJvZyBpbml0YyBpbml0cCBpY2gxCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJaWwxIGlwIGthMSBrYTMga2IyIGticyBrYmVnIGtjYnQga2MxIGtjMyBrY2FuCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa3RiYyBrY2xyIGtjbG8ga2NtZCBrY3B5IGtjcnQga2N0YWIga2RjaDEga2RsMQotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWtjdWQxIGtybWlyIGtlbmQga2VudCBrZWwga2VkIGtleHQKLXN5biBtYXRjaCAgIHRlcm1pbmZvU3RyaW5ncwkiXDxrZlwoWzAtOV1cfFswLTVdWzAtOV1cfDZbMC0zXVwpXD4iCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa2ZuZCBraGxwIGtob21lIGtpY2gxIGtpbDEga2N1YjEga2xsIGttcmsKLXN5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlrbXNnIGttb3Yga254dCBrbnAga29wbiBrb3B0IGtwcCBrcHJ2IGtwcnQga3Jkbwotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWtyZWYga3JmciBrcnBsIGtyc3Qga3JlcyBrY3VmMSBrc2F2IGtCRUcga0NBTgotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWtDTUQga0NQWSBrQ1JUIGtEQyBrREwga3NsdCBrRU5EIGtFT0wga0VYVCBraW5kCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa0ZORCBrSExQIGtIT00ga0lDIGtMRlQga01TRyBrTU9WIGtOWFQga09QVCBrUFJWCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa1BSVCBrcmkga1JETyBrUlBMIGtSSVQga1JFUyBrU0FWIGtTUEQga2h0cyBrVU5ECi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJa3NwZCBrdW5kIGtjdXUxIHJta3ggc21reCBsZjAgbGYxIGxmMTAgbGYyIGxmMwotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWxmNCBsZjUgbGY2IGxmNyBsZjggbGY5IGZsbiBybWxuIHNtbG4gcm1tIHNtbQotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCW1ocGEgbWN1ZDEgbWN1YjEgbWN1ZjEgbXZwYSBtY3V1MSBuZWwgcG9yZGVyIG9jCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJb3AgcGFkIGRjaCBkbCBjdWQgbWN1ZCBpY2ggaW5kbiBpbCBjdWIgbWN1YiBjdWYKLXN5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwltY3VmIHJpbiBjdXUgbWNjdSBwZmtleSBwZmxvYyBwZnggcGxuIG1jMCBtYzVwCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJbWM0IG1jNSBwdWxzZSBxZGlhbCBybWNsayByZXAgcmZpIHJzMSByczIgcnMzIHJmCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJcmMgdnBhIHNjIGluZCByaSBzY3Mgc2dyIHNldGJzbWdiIHNtZ2JwIHNjbGsgc2NwCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJc2V0YiBzZXRmIHNtZ2wgc21nbHAgc21nciBzbWdycCBodHMgc21ndCBzbWd0cAotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXdpbmQgc2JpbSBzY3NkIHJiaW0gcmNzZCBzdWJjcyBzdXBjcyBodCBkb2NyCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJdHNsIHRvbmUgdWMgaHUKLXN5biBtYXRjaCAgIHRlcm1pbmZvU3RyaW5ncwkiXDx1WzAtOV1cPiIKLXN5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwl3YWl0IHhvZmZjIHhvbmMgemVyb20KLXN5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlzY2VzYSBiaWNyIGJpbmVsIGJpcmVwIGNzbm0gY3NpbiBjb2xvcm5tIGRlZmJpCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJZGV2dCBkaXNwYyBlbmRiaSBzbXBjaCBzbXNjIHJtcGNoIHJtc2MgZ2V0bQotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCWttb3VzIG1pbmZvIHBjdHJtIHBmeGwgcmVxbXAgc2Nlc2MgczBkcyBzMWRzCi1zeW4ga2V5d29yZCB0ZXJtaW5mb1N0cmluZ3MJczJkcyBzM2RzIHNldGFiIHNldGFmIHNldGNvbG9yIHNtZ2xyIHNsaW5lcwotc3luIGtleXdvcmQgdGVybWluZm9TdHJpbmdzCXNtZ3RiIGVoaGxtIGVsaGxtIGVyaGxtIGV0aGxtIGV2aGxtIHNncjEKLXN5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncwlzbGVuZ3Roc0wKK3N5biBrZXl3b3JkIHRlcm1pbmZvTnVtZXJpY3MgICAgY29scyBpdCBsaCBsdyBsaW5lcyBsbSB4bWMgbWEgY29sb3JzIHBhaXJzIHdudW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuY3YgbmxhYiBwYiB2dCB3c2wgYml0d2luIGJpdHlwZSBidWZzeiBidG5zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3Bpbmggc3BpbnYgbWFkZHIgbWp1bXAgbWNzIG5waW5zIG9yYyBvcmhpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgb3JsIG9ydmkgY3BzIHdpZGNzCiAKLSIgcGFyYW1ldGVyaXplZCBzdHJpbmdzCi1zeW4gbWF0Y2ggdGVybWluZm9QYXJhbWV0ZXJzCSIlWyVkY3NwbCsqL21BTyZ8Xj08PiF+aT90ZTstXSIKLXN5biBtYXRjaCB0ZXJtaW5mb1BhcmFtZXRlcnMJIiVcKCdbQS1aXSdcfHtbMC05XVx7MSwyfX1cfHBbMS05XVx8UFthLXpdXHxnW0EtWl1cKSIKK3N5biBrZXl3b3JkIHRlcm1pbmZvU3RyaW5ncyAgICAgYWNzYyBjYnQgYmVsIGNyIGNwaSBscGkgY2hyIGN2ciBjc3Igcm1wIHRiYyBtZ2MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjbGVhciBlbDEgZWwgZWQgaHBhIGNtZGNoIGN3aW4gY3VwIGN1ZDEgaG9tZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNpdmlzIGN1YjEgbXJjdXAgY25vcm0gY3VmMSBsbCBjdXUxIGN2dmlzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGVmYyBkY2gxIGRsMSBkaWFsIGRzbCBkY2xrIGhkIGVuYWNzIHNtYWNzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc21hbSBibGluayBib2xkIHNtY3VwIHNtZGMgZGltIHN3aWRtIHNkcmZxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc21pciBzaXRtIHNsbSBzbWljbSBzbmxxIHNucm1xIHByb3QgcmV2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaW52aXMgc3NobSBzbXNvIHNzdWJtIHNzdXBtIHNtdWwgc3VtIHNteG9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZWNoIHJtYWNzIHJtYW0gc2dyMCBybWN1cCBybWRjIHJ3aWRtIHJtaXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByaXRtIHJsbSBybWljbSByc2htIHJtc28gcnN1Ym0gcnN1cG0gcm11bAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHJ1bSBybXhvbiBwYXVzZSBob29rIGZsYXNoIGZmIGZzbCB3aW5nbyBodXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpczEgaXMyIGlzMyBpZiBpcHJvZyBpbml0YyBpbml0cCBpY2gxIGlsMSBpcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGthMSBrYTMga2IyIGticyBrYmVnIGtjYnQga2MxIGtjMyBrY2FuIGt0YmMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBrY2xyIGtjbG8ga2NtZCBrY3B5IGtjcnQga2N0YWIga2RjaDEga2RsMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtjdWQxIGtybWlyIGtlbmQga2VudCBrZWwga2VkIGtleHQga2ZuZCBraGxwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwga2hvbWUga2ljaDEga2lsMSBrY3ViMSBrbGwga21yayBrbXNnIGttb3YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBrbnh0IGtucCBrb3BuIGtvcHQga3BwIGtwcnYga3BydCBrcmRvIGtyZWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBrcmZyIGtycGwga3JzdCBrcmVzIGtjdWYxIGtzYXYga0JFRyBrQ0FOCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwga0NNRCBrQ1BZIGtDUlQga0RDIGtETCBrc2x0IGtFTkQga0VPTCBrRVhUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwga2luZCBrRk5EIGtITFAga0hPTSBrSUMga0xGVCBrTVNHIGtNT1Yga05YVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtPUFQga1BSViBrUFJUIGtyaSBrUkRPIGtSUEwga1JJVCBrUkVTIGtTQVYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBrU1BEIGtodHMga1VORCBrc3BkIGt1bmQga2N1dTEgcm1reCBzbWt4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbGYwIGxmMSBsZjEwIGxmMiBsZjMgbGY0IGxmNSBsZjYgbGY3IGxmOCBsZjkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmbG4gcm1sbiBzbWxuIHJtbSBzbW0gbWhwYSBtY3VkMSBtY3ViMSBtY3VmMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG12cGEgbWN1dTEgbmVsIHBvcmRlciBvYyBvcCBwYWQgZGNoIGRsIGN1ZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1jdWQgaWNoIGluZG4gaWwgY3ViIG1jdWIgY3VmIG1jdWYgcmluIGN1dQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1jY3UgcGZrZXkgcGZsb2MgcGZ4IHBsbiBtYzAgbWM1cCBtYzQgbWM1CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcHVsc2UgcWRpYWwgcm1jbGsgcmVwIHJmaSByczEgcnMyIHJzMyByZiByYworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZwYSBzYyBpbmQgcmkgc2NzIHNnciBzZXRic21nYiBzbWdicCBzY2xrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2NwIHNldGIgc2V0ZiBzbWdsIHNtZ2xwIHNtZ3Igc21ncnAgaHRzIHNtZ3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzbWd0cCB3aW5kIHNiaW0gc2NzZCByYmltIHJjc2Qgc3ViY3Mgc3VwY3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBodCBkb2NyIHRzbCB0b25lIHVjIGh1IHUwIHUxIHUyIHUzIHU0IHU1IHU2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdTcgdTggdTkgd2FpdCB4b2ZmYyB4b25jIHplcm9tIHNjZXNhIGJpY3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiaW5lbCBiaXJlcCBjc25tIGNzaW4gY29sb3JubSBkZWZiaSBkZXZ0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlzcGMgZW5kYmkgc21wY2ggc21zYyBybXBjaCBybXNjIGdldG0ga21vdXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtaW5mbyBwY3RybSBwZnhsIHJlcW1wIHNjZXNjIHMwZHMgczFkcyBzMmRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgczNkcyBzZXRhYiBzZXRhZiBzZXRjb2xvciBzbWdsciBzbGluZXMgc21ndGIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlaGhsbSBlbGhsbSBlcmhsbSBldGhsbSBldmhsbSBzZ3IxIHNsZW5ndGhzTAorc3luIG1hdGNoIHRlcm1pbmZvU3RyaW5ncyAgICAgICBkaXNwbGF5ICdcPGtmXChbMC05XVx8WzAtNV1bMC05XVx8NlswLTNdXClcPicKIAotIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgotIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5Ci0iIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0Ci1pZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfdGVybWluZm9fc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfdGVybWluZm9fc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKK3N5biBtYXRjaCB0ZXJtaW5mb1BhcmFtZXRlcnMgICAgJyVbJWRjc3BsKyovbUFPJnxePTw+IX5pP3RlOy1dJworc3luIG1hdGNoIHRlcm1pbmZvUGFyYW1ldGVycyAgICAnJVwoJ1tBLVpdJ1x8e1swLTldXHsxLDJ9fVx8cFsxLTldXHxQW2Etel1cfGdbQS1aXVwpJwogCi0gIEhpTGluayB0ZXJtaW5mb0NvbW1lbnQJQ29tbWVudAotICBIaUxpbmsgdGVybWluZm9Ub2RvCQlUb2RvCi0gIEhpTGluayB0ZXJtaW5mb051bWJlcnMJTnVtYmVyCi0gIEhpTGluayB0ZXJtaW5mb1NwZWNpYWxDaGFyCVNwZWNpYWxDaGFyCi0gIEhpTGluayB0ZXJtaW5mb0RlbGF5CQlTcGVjaWFsCi0gIEhpTGluayB0ZXJtaW5mb0Jvb2xlYW5zCVR5cGUKLSAgSGlMaW5rIHRlcm1pbmZvTnVtZXJpY3MJVHlwZQotICBIaUxpbmsgdGVybWluZm9TdHJpbmdzCVR5cGUKLSAgSGlMaW5rIHRlcm1pbmZvUGFyYW1ldGVycwlLZXl3b3JkCi0gIEhpTGluayB0ZXJtaW5mb0tleXdvcmRzCUtleXdvcmQKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayB0ZXJtaW5mb0NvbW1lbnQgICAgIENvbW1lbnQKK2hpIGRlZiBsaW5rIHRlcm1pbmZvVG9kbyAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgdGVybWluZm9OdW1iZXJzICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHRlcm1pbmZvU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHRlcm1pbmZvRGVsYXkgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgdGVybWluZm9Cb29sZWFucyAgICBUeXBlCitoaSBkZWYgbGluayB0ZXJtaW5mb051bWVyaWNzICAgIFR5cGUKK2hpIGRlZiBsaW5rIHRlcm1pbmZvU3RyaW5ncyAgICAgVHlwZQoraGkgZGVmIGxpbmsgdGVybWluZm9QYXJhbWV0ZXJzICBLZXl3b3JkCitoaSBkZWYgbGluayB0ZXJtaW5mb0tleXdvcmRzICAgIEtleXdvcmQKIAogbGV0IGI6Y3VycmVudF9zeW50YXggPSAidGVybWluZm8iCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvdXBkYXRlZGIudmltIGIvcnVudGltZS9zeW50YXgvdXBkYXRlZGIudmltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxYzMzNWQKLS0tIC9kZXYvbnVsbAorKysgYi9ydW50aW1lL3N5bnRheC91cGRhdGVkYi52aW0KQEAgLTAsMCArMSwzOSBAQAorIiBWaW0gc3ludGF4IGZpbGUKKyIgTGFuZ3VhZ2U6ICAgICAgICAgdXBkYXRlZGIuY29uZig1KSBjb25maWd1cmF0aW9uIGZpbGUKKyIgTWFpbnRhaW5lcjogICAgICAgTmlrb2xhaSBXZWlidWxsIDxuaWtvbGFpK3dvcmsudmltQGJpdHdpLnNlPgorIiBMYXRlc3QgUmV2aXNpb246ICAyMDA1LTA2LTI5CisKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQorCitzeW4ga2V5d29yZCB1cGRhdGVkYlRvZG8gICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworc3luIHJlZ2lvbiAgdXBkYXRlZGJDb21tZW50IGRpc3BsYXkgb25lbGluZSBzdGFydD0nXlxzKiMnIGVuZD0nJCcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXVwZGF0ZWRiVG9kbyxAU3BlbGwKKworc3luIG1hdGNoICAgdXBkYXRlZGJCZWdpbiAgIGRpc3BsYXkgJ14nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9dXBkYXRlZGJOYW1lLHVwZGF0ZWRiQ29tbWVudCBza2lwd2hpdGUKKworc3luIGtleXdvcmQgdXBkYXRlZGJOYW1lICAgIGNvbnRhaW5lZCBQUlVORUZTIFBSVU5FUEFUSFMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD11cGRhdGVkYk5hbWVFcQorCitzeW4gbWF0Y2ggICB1cGRhdGVkYk5hbWVFcSAgY29udGFpbmVkIGRpc3BsYXkgJz0nIG5leHRncm91cD11cGRhdGVkYlZhbHVlCisKK3N5biByZWdpb24gIHVwZGF0ZWRiVmFsdWUgICBjb250YWluZWQgZGlzcGxheSBvbmVsaW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXVwZGF0ZWRiVmFsdWUgc3RhcnQ9JyInCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXVwZGF0ZWRiVmFsdWUgZW5kPSciJworCitoaSBkZWYgbGluayB1cGRhdGVkYlRvZG8gICAgVG9kbworaGkgZGVmIGxpbmsgdXBkYXRlZGJDb21tZW50IENvbW1lbnQKK2hpIGRlZiBsaW5rIHVwZGF0ZWRiTmFtZSAgICBJZGVudGlmaWVyCitoaSBkZWYgbGluayB1cGRhdGVkYk5hbWVFcSAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHVwZGF0ZWRiVmFsdWUgICBTdHJpbmcKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAidXBkYXRlZGIiCisKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveGluZXRkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3hpbmV0ZC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk3NTNmZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L3hpbmV0ZC52aW0KQEAgLTAsMCArMSwzNDcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOiAgICAgICAgIHhpbmV0ZC5jb25mKDUpIGNvbmZpZ3VyYXRpb24gZmlsZQorIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5pa29sYWkrd29yay52aW1AYml0d2kuc2U+CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMDUtMDYtMjkKKworaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitsZXQgczpjcG9fc2F2ZSA9ICZjcG8KK3NldCBjcG8mdmltCisKK3N5biBrZXl3b3JkIHhpbmV0ZFRvZG8gICAgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKKworc3luIHJlZ2lvbiAgeGluZXRkQ29tbWVudCAgICAgICBkaXNwbGF5IG9uZWxpbmUgc3RhcnQ9J15ccyojJyBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9eGluZXRkVG9kbyxAU3BlbGwKKworc3luIG1hdGNoICAgeGluZXRkU2VydmljZSAgICAgICAnXlxzKnNlcnZpY2VcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkU2VydmljZU5hbWUgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZFNlcnZpY2VOYW1lICAgY29udGFpbmVkICdcU1wrJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRTZXJ2aWNlR3JvdXAgc2tpcHdoaXRlIHNraXBubAorCitzeW4gbWF0Y2ggICB4aW5ldGREZWZhdWx0cyAgICAgICdeXHMqZGVmYXVsdHMnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFNlcnZpY2VHcm91cCBza2lwd2hpdGUgc2tpcG5sCisKK3N5biByZWdpb24gIHhpbmV0ZFNlcnZpY2VHcm91cCAgY29udGFpbmVkIHRyYW5zcGFyZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWF0Y2hncm91cD14aW5ldGRTZXJ2aWNlR3JvdXBEIHN0YXJ0PSd7JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoZ3JvdXA9eGluZXRkU2VydmljZUdyb3VwRCBlbmQ9J30nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9eGluZXRkQXR0cmlidXRlLHhpbmV0ZFJlcUF0dHJpYnV0ZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB4aW5ldGREaXNhYmxlCisKK3N5biBrZXl3b3JkIHhpbmV0ZFJlcUF0dHJpYnV0ZSAgY29udGFpbmVkIHVzZXIgc2VydmVyIHByb3RvY29sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFN0cmluZ0VxIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBpZCBncm91cCBiaW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaW50ZXJmYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFN0cmluZ0VxIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRTdHJpbmdFcSAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICc9JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRTdHJpbmcgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZFN0cmluZyAgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xTXCsnCisKK3N5biBrZXl3b3JkIHhpbmV0ZEF0dHJpYnV0ZSAgICAgY29udGFpbmVkIHR5cGUgbmV4dGdyb3VwPXhpbmV0ZFR5cGVFcSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkVHlwZUVxICAgICAgICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkVHlwZSBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkVHlwZSAgICAgICAgICBjb250YWluZWQgUlBDIElOVEVSTkFMIFRDUE1VWCBUQ1BNVVhQTFVTCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgVU5MSVNURUQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkVHlwZSBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkQXR0cmlidXRlICAgICBjb250YWluZWQgZmxhZ3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkRmxhZ3NFcSBza2lwd2hpdGUKKworc3luIGNsdXN0ZXIgeGluZXRkRmxhZ3NDICAgICAgICBjb250YWlucz14aW5ldGRGbGFncyx4aW5ldGREZXByRmxhZ3MKKworc3luIG1hdGNoICAgeGluZXRkRmxhZ3NFcSAgICAgICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9QHhpbmV0ZEZsYWdzQyBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkRmxhZ3MgICAgICAgICBjb250YWluZWQgSU5URVJDRVBUIE5PUkVUUlkgSURPTkxZIE5BTUVJTkFSR1MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBOT0RFTEFZIEtFRVBBTElWRSBOT0xJQldSQVAgU0VOU09SIElQdjQgSVB2NgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1AeGluZXRkRmxhZ3NDIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGREZXByRmxhZ3MgICAgIGNvbnRhaW5lZCBSRVVTRSBuZXh0Z3JvdXA9eGluZXRkRmxhZ3NDIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGREaXNhYmxlICAgICAgIGNvbnRhaW5lZCBkaXNhYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZEJvb2xlYW5FcSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkQm9vbGVhbkVxICAgICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkQm9vbGVhbiBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkQm9vbGVhbiAgICAgICBjb250YWluZWQgeWVzIG5vCisKK3N5biBrZXl3b3JkIHhpbmV0ZFJlcUF0dHJpYnV0ZSAgY29udGFpbmVkIHNvY2tldF90eXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFNvY2tldFR5cGVFcSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkU29ja2V0VHlwZUVxICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkU29ja2V0VHlwZSBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkU29ja2V0VHlwZSAgICBjb250YWluZWQgc3RyZWFtIGRncmFtIHJhdyBzZXFwYWNrZXQKKworc3luIGtleXdvcmQgeGluZXRkUmVxQXR0cmlidXRlICBjb250YWluZWQgd2FpdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRCb29sZWFuRXEgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHhpbmV0ZEF0dHJpYnV0ZSAgICAgY29udGFpbmVkIGdyb3VwcyBtZG5zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZEJvb2xlYW5FcSBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkQXR0cmlidXRlICAgICBjb250YWluZWQgaW5zdGFuY2VzIHBlcl9zb3VyY2UgcmxpbWl0X2NwdQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHJsaW1pdF9kYXRhIHJsaW1pdF9yc3MgcmxpbWl0X3N0YWNrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFVOdW1iZXJFcSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkVU51bWJlckVxICAgICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkVW5saW1pdGVkLHhpbmV0ZE51bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRVbmxpbWl0ZWQgICAgIGNvbnRhaW5lZCBVTkxJTUlURUQKKworc3luIG1hdGNoICAgeGluZXRkTnVtYmVyICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXDxcZFwrXD4nCisKK3N5biBrZXl3b3JkIHhpbmV0ZEF0dHJpYnV0ZSAgICAgY29udGFpbmVkIG5pY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkU2lnbmVkTnVtRXEgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZFNpZ25lZE51bUVxICAgY29udGFpbmVkIGRpc3BsYXkgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFNpZ25lZE51bWJlciBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkU2lnbmVkTnVtYmVyICBjb250YWluZWQgZGlzcGxheSAnWystXVw9XGRcK1w+JworCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBzZXJ2ZXJfYXJncworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuYWJsZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkU3RyaW5nc0VxIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRTdHJpbmdzRXEgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICc9JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRTdHJpbmdzIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRTdHJpbmdzICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcU1wrJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRTdHJpbmdzIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBvbmx5X2Zyb20gbm9fYWNjZXNzIHBhc3NlbnYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkU3RyaW5nc0FkdkVxIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRTdHJpbmdzQWR2RXEgIGNvbnRhaW5lZCBkaXNwbGF5ICdbKy1dXD09JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRTdHJpbmdzIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBhY2Nlc3NfdGltZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkVGltZVJhbmdlc0VxIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRUaW1lUmFuZ2VzRXEgIGNvbnRhaW5lZCBkaXNwbGF5ICc9JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRUaW1lUmFuZ2VzIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRUaW1lUmFuZ2VzICAgIGNvbnRhaW5lZCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgJ1wlKDA/XGRcfDFcZFx8MlswLTNdXCk6XCUoMD9cZFx8WzEtNV1cZFwpLVwlKDA/XGRcfDFcZFx8MlswLTNdXCk6XCUoMD9cZFx8WzEtNV1cZFwpJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRUaW1lUmFuZ2VzIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBsb2dfdHlwZSBuZXh0Z3JvdXA9eGluZXRkTG9nVHlwZUVxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZExvZ1R5cGVFcSAgICAgY29udGFpbmVkIGRpc3BsYXkgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZExvZ1R5cGUgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHhpbmV0ZExvZ1R5cGUgICAgICAgY29udGFpbmVkIFNZU0xPRyBuZXh0Z3JvdXA9eGluZXRkU3lzbG9nVHlwZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRMb2dUeXBlICAgICAgIGNvbnRhaW5lZCBGSUxFIG5leHRncm91cD14aW5ldGRMb2dGaWxlIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRTeXNsb2dUeXBlICAgIGNvbnRhaW5lZCBkYWVtb24gYXV0aCBhdXRocHJpdiB1c2VyIG1haWwgbHByCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV3cyB1dWNwIGZ0cCBsb2NhbDAgbG9jYWwxIGxvY2FsMiBsb2NhbDMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBsb2NhbDQgbG9jYWw1IGxvY2FsNiBsb2NhbDcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkU3lzbG9nTGV2ZWwgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHhpbmV0ZFN5c2xvZ0xldmVsICAgY29udGFpbmVkIGVtZXJnIGFsZXJ0IGNyaXQgZXJyIHdhcm5pbmcgbm90aWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaW5mbyBkZWJ1ZworCitzeW4gbWF0Y2ggICB4aW5ldGRMb2dGaWxlICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcU1wrJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRMb2dTb2Z0TGltaXQgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZExvZ1NvZnRMaW1pdCAgY29udGFpbmVkIGRpc3BsYXkgJ1w8XGRcK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRMb2dIYXJkTGltaXQgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZExvZ0hhcmRMaW1pdCAgY29udGFpbmVkIGRpc3BsYXkgJ1w8XGRcK1w+JworCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBsb2dfb25fc3VjY2VzcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRMb2dTdWNjZXNzRXEgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZExvZ1N1Y2Nlc3NFcSAgY29udGFpbmVkIGRpc3BsYXkgJ1srLV1cPT0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZExvZ1N1Y2Nlc3Mgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHhpbmV0ZExvZ1N1Y2Nlc3MgICAgY29udGFpbmVkIFBJRCBIT1NUIFVTRVJJRCBFWElUIERVUkFUSU9OIFRSQUZGSUMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkTG9nU3VjY2VzcyBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkQXR0cmlidXRlICAgICBjb250YWluZWQgbG9nX29uX2ZhaWx1cmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkTG9nRmFpbHVyZUVxIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRMb2dGYWlsdXJlRXEgIGNvbnRhaW5lZCBkaXNwbGF5ICdbKy1dXD09JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRMb2dGYWlsdXJlIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRMb2dGYWlsdXJlICAgIGNvbnRhaW5lZCBIT1NUIFVTRVJJRCBBVFRFTVBUCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZExvZ0ZhaWx1cmUgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHhpbmV0ZFJlcUF0dHJpYnV0ZSAgY29udGFpbmVkIHJwY192ZXJzaW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFJQQ1ZlcnNpb25FcSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkUlBDVmVyc2lvbkVxICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkUlBDVmVyc2lvbiBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkUlBDVmVyc2lvbiAgICBjb250YWluZWQgZGlzcGxheSAnXGRcK1wlKC1cZFwrXClcPVw+JworCitzeW4ga2V5d29yZCB4aW5ldGRSZXFBdHRyaWJ1dGUgIGNvbnRhaW5lZCBycGNfbnVtYmVyIHBvcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkTnVtYmVyRXEgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZE51bWJlckVxICAgICAgY29udGFpbmVkIGRpc3BsYXkgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZE51bWJlciBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkQXR0cmlidXRlICAgICBjb250YWluZWQgZW52IG5leHRncm91cD14aW5ldGRFbnZFcSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkRW52RXEgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnK1w9PScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkRW52TmFtZSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkRW52TmFtZSAgICAgICBjb250YWluZWQgZGlzcGxheSAnW149XVwrJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRFbnZOYW1lRXEKKworc3luIG1hdGNoICAgeGluZXRkRW52TmFtZUVxICAgICBjb250YWluZWQgZGlzcGxheSAnPScgbmV4dGdyb3VwPXhpbmV0ZEVudlZhbHVlCisKK3N5biBtYXRjaCAgIHhpbmV0ZEVudlZhbHVlICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xTXCsnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZEVudk5hbWUgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHhpbmV0ZEF0dHJpYnV0ZSAgICAgY29udGFpbmVkIGJhbm5lciBiYW5uZXJfc3VjY2VzcyBiYW5uZXJfZmFpbHVyZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRQYXRoRXEgc2tpcHdoaXRlCisKK3N5biBrZXl3b3JkIHhpbmV0ZFBQQXR0cmlidXRlICAgaW5jbHVkZSBpbmNsdWRlZGlyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFBhdGggc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZFBhdGhFcSAgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFBhdGggc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZFBhdGggICAgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xTXCsnCisKK3N5biBrZXl3b3JkIHhpbmV0ZEF0dHJpYnV0ZSAgICAgY29udGFpbmVkIHJlZGlyZWN0IG5leHRncm91cD14aW5ldGRSZWRpcmVjdEVxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZFJlZGlyZWN0RXEgICAgY29udGFpbmVkIGRpc3BsYXkgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZFJlZGlyZWN0SVAgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZFJlZGlyZWN0SVAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xTXCsnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZE51bWJlciBza2lwd2hpdGUKKworc3luIGtleXdvcmQgeGluZXRkQXR0cmlidXRlICAgICBjb250YWluZWQgY3BzIG5leHRncm91cD14aW5ldGRDUFNFcSBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkQ1BTRXEgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkQ1BTIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRDUFMgICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICdcPFxkXCtcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkTnVtYmVyIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBtYXhfbG9hZCBuZXh0Z3JvdXA9eGluZXRkRmxvYXRFcQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4gbWF0Y2ggICB4aW5ldGRGbG9hdEVxICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICc9JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD14aW5ldGRGbG9hdCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkRmxvYXQgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXGRcK1wuXGQqXHxcLlxkXCsnCisKK3N5biBrZXl3b3JkIHhpbmV0ZEF0dHJpYnV0ZSAgICAgY29udGFpbmVkIHVtYXNrIG5leHRncm91cD14aW5ldGRPY3RhbEVxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZE9jdGFsRXEgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZE9jdGFsLHhpbmV0ZE9jdGFsRXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkT2N0YWwgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXDwwXG9cK1w+JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXhpbmV0ZE9jdGFsWmVybworc3luIG1hdGNoICAgeGluZXRkT2N0YWxaZXJvICAgICBjb250YWluZWQgZGlzcGxheSAnXDwwJworc3luIG1hdGNoICAgeGluZXRkT2N0YWxFcnJvciAgICBjb250YWluZWQgZGlzcGxheSAnXDwwXG8qWzg5XVxkKlw+JworCitzeW4ga2V5d29yZCB4aW5ldGRBdHRyaWJ1dGUgICAgIGNvbnRhaW5lZCBybGltaXRfYXMgbmV4dGdyb3VwPXhpbmV0ZEFTRXEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIG1hdGNoICAgeGluZXRkQVNFcSAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnPScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9eGluZXRkQVMseGluZXRkVW5saW1pdGVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZEFTICAgICAgICAgICAgY29udGFpbmVkIGRpc3BsYXkgJ1xkXCsnIG5leHRncm91cD14aW5ldGRBU011bHQKKworc3luIG1hdGNoICAgeGluZXRkQVNNdWx0ICAgICAgICBjb250YWluZWQgZGlzcGxheSAnW0tNXScKKworc3luIGtleXdvcmQgeGluZXRkQXR0cmlidXRlICAgICBjb250YWluZWQgZGVueV90aW1lIG5leHRncm91cD14aW5ldGREZW55VGltZUVxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisKK3N5biBtYXRjaCAgIHhpbmV0ZERlbnlUaW1lRXEgICAgY29udGFpbmVkIGRpc3BsYXkgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXhpbmV0ZERlbnlUaW1lLHhpbmV0ZE51bWJlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorCitzeW4ga2V5d29yZCB4aW5ldGREZW55VGltZSAgICAgIGNvbnRhaW5lZCBGT1JFVkVSIE5FVkVSCisKK2hpIGRlZiBsaW5rIHhpbmV0ZFRvZG8gICAgICAgICAgVG9kbworaGkgZGVmIGxpbmsgeGluZXRkQ29tbWVudCAgICAgICBDb21tZW50CitoaSBkZWYgbGluayB4aW5ldGRTZXJ2aWNlICAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHhpbmV0ZFNlcnZpY2VOYW1lICAgU3RyaW5nCitoaSBkZWYgbGluayB4aW5ldGREZWZhdWx0cyAgICAgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHhpbmV0ZFNlcnZpY2VHcm91cEQgRGVsaW1pdGVyCitoaSBkZWYgbGluayB4aW5ldGRSZXFBdHRyaWJ1dGUgIEtleXdvcmQKK2hpIGRlZiBsaW5rIHhpbmV0ZEF0dHJpYnV0ZSAgICAgVHlwZQoraGkgZGVmIGxpbmsgeGluZXRkRXEgICAgICAgICAgICBPcGVyYXRvcgoraGkgZGVmIGxpbmsgeGluZXRkU3RyaW5nRXEgICAgICB4aW5ldGRFcQoraGkgZGVmIGxpbmsgeGluZXRkU3RyaW5nICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHhpbmV0ZFR5cGVFcSAgICAgICAgeGluZXRkRXEKK2hpIGRlZiBsaW5rIHhpbmV0ZFR5cGUgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgeGluZXRkRmxhZ3NFcSAgICAgICB4aW5ldGRFcQoraGkgZGVmIGxpbmsgeGluZXRkRmxhZ3MgICAgICAgICB4aW5ldGRUeXBlCitoaSBkZWYgbGluayB4aW5ldGREZXByRmxhZ3MgICAgIFdhcm5pbmdNc2cKK2hpIGRlZiBsaW5rIHhpbmV0ZERpc2FibGUgICAgICAgU3BlY2lhbAoraGkgZGVmIGxpbmsgeGluZXRkQm9vbGVhbkVxICAgICB4aW5ldGRFcQoraGkgZGVmIGxpbmsgeGluZXRkQm9vbGVhbiAgICAgICBCb29sZWFuCitoaSBkZWYgbGluayB4aW5ldGRTb2NrZXRUeXBlRXEgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRTb2NrZXRUeXBlICAgIHhpbmV0ZFR5cGUKK2hpIGRlZiBsaW5rIHhpbmV0ZFVOdW1iZXJFcSAgICAgeGluZXRkRXEKK2hpIGRlZiBsaW5rIHhpbmV0ZFVubGltaXRlZCAgICAgRGVmaW5lCitoaSBkZWYgbGluayB4aW5ldGROdW1iZXIgICAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgeGluZXRkU2lnbmVkTnVtRXEgICB4aW5ldGRFcQoraGkgZGVmIGxpbmsgeGluZXRkU2lnbmVkTnVtYmVyICB4aW5ldGROdW1iZXIKK2hpIGRlZiBsaW5rIHhpbmV0ZFN0cmluZ3NFcSAgICAgeGluZXRkRXEKK2hpIGRlZiBsaW5rIHhpbmV0ZFN0cmluZ3MgICAgICAgeGluZXRkU3RyaW5nCitoaSBkZWYgbGluayB4aW5ldGRTdHJpbmdzQWR2RXEgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRUaW1lUmFuZ2VzRXEgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRUaW1lUmFuZ2VzICAgIE51bWJlcgoraGkgZGVmIGxpbmsgeGluZXRkTG9nVHlwZUVxICAgICB4aW5ldGRFcQoraGkgZGVmIGxpbmsgeGluZXRkTG9nVHlwZSAgICAgICBLZXl3b3JkCitoaSBkZWYgbGluayB4aW5ldGRTeXNsb2dUeXBlICAgIHhpbmV0ZFR5cGUKK2hpIGRlZiBsaW5rIHhpbmV0ZFN5c2xvZ0xldmVsICAgTnVtYmVyCitoaSBkZWYgbGluayB4aW5ldGRMb2dGaWxlICAgICAgIHhpbmV0ZFBhdGgKK2hpIGRlZiBsaW5rIHhpbmV0ZExvZ1NvZnRMaW1pdCAgeGluZXRkTnVtYmVyCitoaSBkZWYgbGluayB4aW5ldGRMb2dIYXJkTGltaXQgIHhpbmV0ZE51bWJlcgoraGkgZGVmIGxpbmsgeGluZXRkTG9nU3VjY2Vzc0VxICB4aW5ldGRFcQoraGkgZGVmIGxpbmsgeGluZXRkTG9nU3VjY2VzcyAgICB4aW5ldGRUeXBlCitoaSBkZWYgbGluayB4aW5ldGRMb2dGYWlsdXJlRXEgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRMb2dGYWlsdXJlICAgIHhpbmV0ZFR5cGUKK2hpIGRlZiBsaW5rIHhpbmV0ZFJQQ1ZlcnNpb25FcSAgeGluZXRkRXEKK2hpIGRlZiBsaW5rIHhpbmV0ZFJQQ1ZlcnNpb24gICAgeGluZXRkTnVtYmVyCitoaSBkZWYgbGluayB4aW5ldGROdW1iZXJFcSAgICAgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRFbnZFcSAgICAgICAgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRFbnZOYW1lICAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHhpbmV0ZEVudk5hbWVFcSAgICAgeGluZXRkRXEKK2hpIGRlZiBsaW5rIHhpbmV0ZEVudlZhbHVlICAgICAgU3RyaW5nCitoaSBkZWYgbGluayB4aW5ldGRQUEF0dHJpYnV0ZSAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHhpbmV0ZFBhdGhFcSAgICAgICAgeGluZXRkRXEKK2hpIGRlZiBsaW5rIHhpbmV0ZFBhdGggICAgICAgICAgU3RyaW5nCitoaSBkZWYgbGluayB4aW5ldGRSZWRpcmVjdEVxICAgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRSZWRpcmVjdElQICAgIFN0cmluZworaGkgZGVmIGxpbmsgeGluZXRkQ1BTRXEgICAgICAgICB4aW5ldGRFcQoraGkgZGVmIGxpbmsgeGluZXRkQ1BTICAgICAgICAgICB4aW5ldGROdW1iZXIKK2hpIGRlZiBsaW5rIHhpbmV0ZEZsb2F0RXEgICAgICAgeGluZXRkRXEKK2hpIGRlZiBsaW5rIHhpbmV0ZEZsb2F0ICAgICAgICAgeGluZXRkTnVtYmVyCitoaSBkZWYgbGluayB4aW5ldGRPY3RhbEVxICAgICAgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRPY3RhbCAgICAgICAgIHhpbmV0ZE51bWJlcgoraGkgZGVmIGxpbmsgeGluZXRkT2N0YWxaZXJvICAgICBQcmVQcm9jCitoaSBkZWYgbGluayB4aW5ldGRPY3RhbEVycm9yICAgIEVycm9yCitoaSBkZWYgbGluayB4aW5ldGRBU0VxICAgICAgICAgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGRBUyAgICAgICAgICAgIHhpbmV0ZE51bWJlcgoraGkgZGVmIGxpbmsgeGluZXRkQVNNdWx0ICAgICAgICBQcmVQcm9jCitoaSBkZWYgbGluayB4aW5ldGREZW55VGltZUVxICAgIHhpbmV0ZEVxCitoaSBkZWYgbGluayB4aW5ldGREZW55VGltZSAgICAgIFByZVByb2MKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAieGluZXRkIgorCitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3htb2RtYXAudmltIGIvcnVudGltZS9zeW50YXgveG1vZG1hcC52aW0KaW5kZXggNzcyMTg4NC4uY2Y2MGM0NyAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgveG1vZG1hcC52aW0KKysrIGIvcnVudGltZS9zeW50YXgveG1vZG1hcC52aW0KQEAgLTEsMTcyICsxLDY3NyBAQAogIiBWaW0gc3ludGF4IGZpbGUKLSIgTGFuZ3VhZ2U6CSAgICB4bW9kbWFwIGRlZmluaXRpb24gZmlsZQotIiBNYWludGFpbmVyOgkgICAgTmlrb2xhaSBXZWlidWxsIDxzb3VyY2VAcGNwcG9wcGVyLm9yZz4KLSIgVVJMOgkJICAgIGh0dHA6Ly93d3cucGNwcG9wcGVyLm9yZy92aW0vc3ludGF4L3BjcC94bW9kbWFwLwotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA0LTA1LTIyCi0iIGFyY2gtdGFnOgkgICAgOGMzN2VkNDEtNjU1YS00NzlkLTgwNTAtZTE1ZGM2NzcwMzM4CisiIExhbmd1YWdlOiAgICAgICAgIHhtb2RtYXAoMSkgZGVmaW5pdGlvbiBmaWxlCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yOQogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLSIgY29tbWVudHMKLXN5biByZWdpb24gIHhtb2RtYXBDb21tZW50CWRpc3BsYXkgb25lbGluZSBtYXRjaGdyb3VwPXhtb2RtYXBDb21tZW50IHN0YXJ0PS9eIS8gZW5kPS8kLyBjb250YWlucz14bW9kbWFwVG9kbworbGV0IHM6Y3BvX3NhdmUgPSAmY3BvCitzZXQgY3BvJnZpbQogCi0iIHRvZG8KLXN5biBrZXl3b3JkIHhtb2RtYXBUb2RvCQljb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQorc3luIGtleXdvcmQgeG1vZG1hcFRvZG8gICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKIAotIiBudW1iZXJzCitzeW4gcmVnaW9uICB4bW9kbWFwQ29tbWVudCAgICBkaXNwbGF5IG9uZWxpbmUgbWF0Y2hncm91cD14bW9kbWFwQ29tbWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0vXiEvIGVuZD0vJC8gY29udGFpbnM9eG1vZG1hcFRvZG8sQFNwZWxsCisKIHN5biBjYXNlIGlnbm9yZQotc3luIG1hdGNoICAgeG1vZG1hcEludAkJZGlzcGxheSAiXDxcZFwrXD4iCi1zeW4gbWF0Y2ggICB4bW9kbWFwSGV4CQlkaXNwbGF5ICJcPDB4XHhcK1w+Igotc3luIG1hdGNoICAgeG1vZG1hcE9jdGFsCWRpc3BsYXkgIlw8MFxvXCtcPiIKLXN5biBtYXRjaCAgIHhtb2RtYXBPY3RhbEVycm9yCWRpc3BsYXkgIlw8MFxvKls4OV1cZCoiCitzeW4gbWF0Y2ggICB4bW9kbWFwSW50ICAgICAgICBkaXNwbGF5ICdcPFxkXCtcPicKK3N5biBtYXRjaCAgIHhtb2RtYXBIZXggICAgICAgIGRpc3BsYXkgJ1w8MHhceFwrXD4nCitzeW4gbWF0Y2ggICB4bW9kbWFwT2N0YWwgICAgICBkaXNwbGF5ICdcPDBcb1wrXD4nCitzeW4gbWF0Y2ggICB4bW9kbWFwT2N0YWxFcnJvciBkaXNwbGF5ICdcPDBcbypbODldXGQqJwogc3luIGNhc2UgbWF0Y2gKIAotIiBrZXlzeW1zICh0YWtlbiBmcm9tIDxYMTEva2V5c3ltZGVmLmg+KQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlWb2lkU3ltYm9sIEJhY2tTcGFjZSBUYWIgTGluZWZlZWQgQ2xlYXIgUmV0dXJuIFBhdXNlIFNjcm9sbF9Mb2NrIFN5c19SZXEgRXNjYXBlIERlbGV0ZSBNdWx0aV9rZXkgQ29kZWlucHV0IFNpbmdsZUNhbmRpZGF0ZSBNdWx0aXBsZUNhbmRpZGF0ZQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlQcmV2aW91c0NhbmRpZGF0ZSBLYW5qaSBNdWhlbmthbiBIZW5rYW5fTW9kZSBIZW5rYW4gUm9tYWppIEhpcmFnYW5hIEthdGFrYW5hIEhpcmFnYW5hX0thdGFrYW5hIFplbmtha3UgSGFua2FrdSBaZW5rYWt1X0hhbmtha3UgVG91cm9rdSBNYXNzeW8gS2FuYV9Mb2NrCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUthbmFfU2hpZnQgRWlzdV9TaGlmdCBFaXN1X3RvZ2dsZSBLYW5qaV9CYW5nb3UgWmVuX0tvaG8gTWFlX0tvaG8gSG9tZSBMZWZ0IFVwIFJpZ2h0IERvd24gUHJpb3IgUGFnZV9VcCBOZXh0IFBhZ2VfRG93bgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlFbmQgQmVnaW4gU2VsZWN0IFByaW50IEV4ZWN1dGUgSW5zZXJ0IFVuZG8gUmVkbyBNZW51IEZpbmQgQ2FuY2VsIEhlbHAgQnJlYWsgTW9kZV9zd2l0Y2ggc2NyaXB0X3N3aXRjaAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlOdW1fTG9jayBLUF9TcGFjZSBLUF9UYWIgS1BfRW50ZXIgS1BfRjEgS1BfRjIgS1BfRjMgS1BfRjQgS1BfSG9tZSBLUF9MZWZ0IEtQX1VwIEtQX1JpZ2h0IEtQX0Rvd24gS1BfUHJpb3IgS1BfUGFnZV9VcAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlLUF9OZXh0IEtQX1BhZ2VfRG93biBLUF9FbmQgS1BfQmVnaW4gS1BfSW5zZXJ0IEtQX0RlbGV0ZSBLUF9FcXVhbCBLUF9NdWx0aXBseSBLUF9BZGQgS1BfU2VwYXJhdG9yIEtQX1N1YnRyYWN0IEtQX0RlY2ltYWwgS1BfRGl2aWRlIEtQXzAgS1BfMQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlLUF8yIEtQXzMgS1BfNCBLUF81IEtQXzYgS1BfNyBLUF84IEtQXzkgRjEgRjIgRjMgRjQgRjUgRjYgRjcKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JRjggRjkgRjEwIEYxMSBMMSBGMTIgTDIgRjEzIEwzIEYxNCBMNCBGMTUgTDUgRjE2IEw2Ci1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUYxNyBMNyBGMTggTDggRjE5IEw5IEYyMCBMMTAgRjIxIFIxIEYyMiBSMiBGMjMgUjMgRjI0Ci1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVI0IEYyNSBSNSBGMjYgUjYgRjI3IFI3IEYyOCBSOCBGMjkgUjkgRjMwIFIxMCBGMzEgUjExCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUYzMiBSMTIgRjMzIFIxMyBGMzQgUjE0IEYzNSBSMTUgU2hpZnRfTCBTaGlmdF9SIENvbnRyb2xfTCBDb250cm9sX1IgQ2Fwc19Mb2NrIFNoaWZ0X0xvY2sgTWV0YV9MCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCU1ldGFfUiBBbHRfTCBBbHRfUiBTdXBlcl9MIFN1cGVyX1IgSHlwZXJfTCBIeXBlcl9SIElTT19Mb2NrIElTT19MZXZlbDJfTGF0Y2ggSVNPX0xldmVsM19TaGlmdCBJU09fTGV2ZWwzX0xhdGNoIElTT19MZXZlbDNfTG9jayBJU09fR3JvdXBfU2hpZnQgSVNPX0dyb3VwX0xhdGNoIElTT19Hcm91cF9Mb2NrCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUlTT19OZXh0X0dyb3VwIElTT19OZXh0X0dyb3VwX0xvY2sgSVNPX1ByZXZfR3JvdXAgSVNPX1ByZXZfR3JvdXBfTG9jayBJU09fRmlyc3RfR3JvdXAgSVNPX0ZpcnN0X0dyb3VwX0xvY2sgSVNPX0xhc3RfR3JvdXAgSVNPX0xhc3RfR3JvdXBfTG9jayBJU09fTGVmdF9UYWIgSVNPX01vdmVfTGluZV9VcCBJU09fTW92ZV9MaW5lX0Rvd24gSVNPX1BhcnRpYWxfTGluZV9VcCBJU09fUGFydGlhbF9MaW5lX0Rvd24gSVNPX1BhcnRpYWxfU3BhY2VfTGVmdCBJU09fUGFydGlhbF9TcGFjZV9SaWdodAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlJU09fU2V0X01hcmdpbl9MZWZ0IElTT19TZXRfTWFyZ2luX1JpZ2h0IElTT19SZWxlYXNlX01hcmdpbl9MZWZ0IElTT19SZWxlYXNlX01hcmdpbl9SaWdodCBJU09fUmVsZWFzZV9Cb3RoX01hcmdpbnMgSVNPX0Zhc3RfQ3Vyc29yX0xlZnQgSVNPX0Zhc3RfQ3Vyc29yX1JpZ2h0IElTT19GYXN0X0N1cnNvcl9VcCBJU09fRmFzdF9DdXJzb3JfRG93biBJU09fQ29udGludW91c19VbmRlcmxpbmUgSVNPX0Rpc2NvbnRpbnVvdXNfVW5kZXJsaW5lIElTT19FbXBoYXNpemUgSVNPX0NlbnRlcl9PYmplY3QgSVNPX0VudGVyIGRlYWRfZ3JhdmUKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JZGVhZF9hY3V0ZSBkZWFkX2NpcmN1bWZsZXggZGVhZF90aWxkZSBkZWFkX21hY3JvbiBkZWFkX2JyZXZlIGRlYWRfYWJvdmVkb3QgZGVhZF9kaWFlcmVzaXMgZGVhZF9hYm92ZXJpbmcgZGVhZF9kb3VibGVhY3V0ZSBkZWFkX2Nhcm9uIGRlYWRfY2VkaWxsYSBkZWFkX29nb25layBkZWFkX2lvdGEgZGVhZF92b2ljZWRfc291bmQgZGVhZF9zZW1pdm9pY2VkX3NvdW5kCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWRlYWRfYmVsb3dkb3QgZGVhZF9ob29rIGRlYWRfaG9ybiBGaXJzdF9WaXJ0dWFsX1NjcmVlbiBQcmV2X1ZpcnR1YWxfU2NyZWVuIE5leHRfVmlydHVhbF9TY3JlZW4gTGFzdF9WaXJ0dWFsX1NjcmVlbiBUZXJtaW5hdGVfU2VydmVyIEFjY2Vzc1hfRW5hYmxlIEFjY2Vzc1hfRmVlZGJhY2tfRW5hYmxlIFJlcGVhdEtleXNfRW5hYmxlIFNsb3dLZXlzX0VuYWJsZSBCb3VuY2VLZXlzX0VuYWJsZSBTdGlja3lLZXlzX0VuYWJsZSBNb3VzZUtleXNfRW5hYmxlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCU1vdXNlS2V5c19BY2NlbF9FbmFibGUgT3ZlcmxheTFfRW5hYmxlIE92ZXJsYXkyX0VuYWJsZSBBdWRpYmxlQmVsbF9FbmFibGUgUG9pbnRlcl9MZWZ0IFBvaW50ZXJfUmlnaHQgUG9pbnRlcl9VcCBQb2ludGVyX0Rvd24gUG9pbnRlcl9VcExlZnQgUG9pbnRlcl9VcFJpZ2h0IFBvaW50ZXJfRG93bkxlZnQgUG9pbnRlcl9Eb3duUmlnaHQgUG9pbnRlcl9CdXR0b25fRGZsdCBQb2ludGVyX0J1dHRvbjEgUG9pbnRlcl9CdXR0b24yCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVBvaW50ZXJfQnV0dG9uMyBQb2ludGVyX0J1dHRvbjQgUG9pbnRlcl9CdXR0b241IFBvaW50ZXJfRGJsQ2xpY2tfRGZsdCBQb2ludGVyX0RibENsaWNrMSBQb2ludGVyX0RibENsaWNrMiBQb2ludGVyX0RibENsaWNrMyBQb2ludGVyX0RibENsaWNrNCBQb2ludGVyX0RibENsaWNrNSBQb2ludGVyX0RyYWdfRGZsdCBQb2ludGVyX0RyYWcxIFBvaW50ZXJfRHJhZzIgUG9pbnRlcl9EcmFnMyBQb2ludGVyX0RyYWc0IFBvaW50ZXJfRHJhZzUKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JUG9pbnRlcl9FbmFibGVLZXlzIFBvaW50ZXJfQWNjZWxlcmF0ZSBQb2ludGVyX0RmbHRCdG5OZXh0IFBvaW50ZXJfRGZsdEJ0blByZXYgMzI3MF9EdXBsaWNhdGUgMzI3MF9GaWVsZE1hcmsgMzI3MF9SaWdodDIgMzI3MF9MZWZ0MiAzMjcwX0JhY2tUYWIgMzI3MF9FcmFzZUVPRiAzMjcwX0VyYXNlSW5wdXQgMzI3MF9SZXNldCAzMjcwX1F1aXQgMzI3MF9QQTEgMzI3MF9QQTIKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JMzI3MF9QQTMgMzI3MF9UZXN0IDMyNzBfQXR0biAzMjcwX0N1cnNvckJsaW5rIDMyNzBfQWx0Q3Vyc29yIDMyNzBfS2V5Q2xpY2sgMzI3MF9KdW1wIDMyNzBfSWRlbnQgMzI3MF9SdWxlIDMyNzBfQ29weSAzMjcwX1BsYXkgMzI3MF9TZXR1cCAzMjcwX1JlY29yZCAzMjcwX0NoYW5nZVNjcmVlbiAzMjcwX0RlbGV0ZVdvcmQKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JMzI3MF9FeFNlbGVjdCAzMjcwX0N1cnNvclNlbGVjdCAzMjcwX1ByaW50U2NyZWVuIDMyNzBfRW50ZXIgc3BhY2UgZXhjbGFtIHF1b3RlZGJsIG51bWJlcnNpZ24gZG9sbGFyIHBlcmNlbnQgYW1wZXJzYW5kIGFwb3N0cm9waGUgcXVvdGVyaWdodCBwYXJlbmxlZnQgcGFyZW5yaWdodAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlhc3RlcmlzayBwbHVzIGNvbW1hIG1pbnVzIHBlcmlvZCBzbGFzaCAwIDEgMiAzIDQgNSA2IDcgOAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQk5IGNvbG9uIHNlbWljb2xvbiBsZXNzIGVxdWFsIGdyZWF0ZXIgcXVlc3Rpb24gYXQgQSBCIEMgRCBFIEYgRwotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlIIEkgSiBLIEwgTSBOIE8gUCBRIFIgUyBUIFUgVgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlXIFggWSBaIGJyYWNrZXRsZWZ0IGJhY2tzbGFzaCBicmFja2V0cmlnaHQgYXNjaWljaXJjdW0gdW5kZXJzY29yZSBncmF2ZSBxdW90ZWxlZnQgYSBiIGMgZAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQllIGYgZyBoIGkgaiBrIGwgbSBuIG8gcCBxIHIgcwotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQl0IHUgdiB3IHggeSB6IGJyYWNlbGVmdCBiYXIgYnJhY2VyaWdodCBhc2NpaXRpbGRlIG5vYnJlYWtzcGFjZSBleGNsYW1kb3duIGNlbnQgc3RlcmxpbmcKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JY3VycmVuY3kgeWVuIGJyb2tlbmJhciBzZWN0aW9uIGRpYWVyZXNpcyBjb3B5cmlnaHQgb3JkZmVtaW5pbmUgZ3VpbGxlbW90bGVmdCBub3RzaWduIGh5cGhlbiByZWdpc3RlcmVkIG1hY3JvbiBkZWdyZWUgcGx1c21pbnVzIHR3b3N1cGVyaW9yCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXRocmVlc3VwZXJpb3IgYWN1dGUgbXUgcGFyYWdyYXBoIHBlcmlvZGNlbnRlcmVkIGNlZGlsbGEgb25lc3VwZXJpb3IgbWFzY3VsaW5lIGd1aWxsZW1vdHJpZ2h0IG9uZXF1YXJ0ZXIgb25laGFsZiB0aHJlZXF1YXJ0ZXJzIHF1ZXN0aW9uZG93biBBZ3JhdmUgQWFjdXRlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFjaXJjdW1mbGV4IEF0aWxkZSBBZGlhZXJlc2lzIEFyaW5nIEFFIENjZWRpbGxhIEVncmF2ZSBFYWN1dGUgRWNpcmN1bWZsZXggRWRpYWVyZXNpcyBJZ3JhdmUgSWFjdXRlIEljaXJjdW1mbGV4IElkaWFlcmVzaXMgRVRICi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUV0aCBOdGlsZGUgT2dyYXZlIE9hY3V0ZSBPY2lyY3VtZmxleCBPdGlsZGUgT2RpYWVyZXNpcyBtdWx0aXBseSBPb2JsaXF1ZSBPc2xhc2ggVWdyYXZlIFVhY3V0ZSBVY2lyY3VtZmxleCBVZGlhZXJlc2lzIFlhY3V0ZQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlUSE9STiBUaG9ybiBzc2hhcnAgYWdyYXZlIGFhY3V0ZSBhY2lyY3VtZmxleCBhdGlsZGUgYWRpYWVyZXNpcyBhcmluZyBhZSBjY2VkaWxsYSBlZ3JhdmUgZWFjdXRlIGVjaXJjdW1mbGV4IGVkaWFlcmVzaXMKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JaWdyYXZlIGlhY3V0ZSBpY2lyY3VtZmxleCBpZGlhZXJlc2lzIGV0aCBudGlsZGUgb2dyYXZlIG9hY3V0ZSBvY2lyY3VtZmxleCBvdGlsZGUgb2RpYWVyZXNpcyBkaXZpc2lvbiBvc2xhc2ggb29ibGlxdWUgdWdyYXZlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXVhY3V0ZSB1Y2lyY3VtZmxleCB1ZGlhZXJlc2lzIHlhY3V0ZSB0aG9ybiB5ZGlhZXJlc2lzIEFvZ29uZWsgYnJldmUgTHN0cm9rZSBMY2Fyb24gU2FjdXRlIFNjYXJvbiBTY2VkaWxsYSBUY2Fyb24gWmFjdXRlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVpjYXJvbiBaYWJvdmVkb3QgYW9nb25layBvZ29uZWsgbHN0cm9rZSBsY2Fyb24gc2FjdXRlIGNhcm9uIHNjYXJvbiBzY2VkaWxsYSB0Y2Fyb24gemFjdXRlIGRvdWJsZWFjdXRlIHpjYXJvbiB6YWJvdmVkb3QKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JUmFjdXRlIEFicmV2ZSBMYWN1dGUgQ2FjdXRlIENjYXJvbiBFb2dvbmVrIEVjYXJvbiBEY2Fyb24gRHN0cm9rZSBOYWN1dGUgTmNhcm9uIE9kb3VibGVhY3V0ZSBSY2Fyb24gVXJpbmcgVWRvdWJsZWFjdXRlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVRjZWRpbGxhIHJhY3V0ZSBhYnJldmUgbGFjdXRlIGNhY3V0ZSBjY2Fyb24gZW9nb25layBlY2Fyb24gZGNhcm9uIGRzdHJva2UgbmFjdXRlIG5jYXJvbiBvZG91YmxlYWN1dGUgdWRvdWJsZWFjdXRlIHJjYXJvbgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQl1cmluZyB0Y2VkaWxsYSBhYm92ZWRvdCBIc3Ryb2tlIEhjaXJjdW1mbGV4IElhYm92ZWRvdCBHYnJldmUgSmNpcmN1bWZsZXggaHN0cm9rZSBoY2lyY3VtZmxleCBpZG90bGVzcyBnYnJldmUgamNpcmN1bWZsZXggQ2Fib3ZlZG90IENjaXJjdW1mbGV4Ci1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUdhYm92ZWRvdCBHY2lyY3VtZmxleCBVYnJldmUgU2NpcmN1bWZsZXggY2Fib3ZlZG90IGNjaXJjdW1mbGV4IGdhYm92ZWRvdCBnY2lyY3VtZmxleCB1YnJldmUgc2NpcmN1bWZsZXgga3JhIGthcHBhIFJjZWRpbGxhIEl0aWxkZSBMY2VkaWxsYQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlFbWFjcm9uIEdjZWRpbGxhIFRzbGFzaCByY2VkaWxsYSBpdGlsZGUgbGNlZGlsbGEgZW1hY3JvbiBnY2VkaWxsYSB0c2xhc2ggRU5HIGVuZyBBbWFjcm9uIElvZ29uZWsgRWFib3ZlZG90IEltYWNyb24KLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JTmNlZGlsbGEgT21hY3JvbiBLY2VkaWxsYSBVb2dvbmVrIFV0aWxkZSBVbWFjcm9uIGFtYWNyb24gaW9nb25layBlYWJvdmVkb3QgaW1hY3JvbiBuY2VkaWxsYSBvbWFjcm9uIGtjZWRpbGxhIHVvZ29uZWsgdXRpbGRlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXVtYWNyb24gQmFib3ZlZG90IGJhYm92ZWRvdCBEYWJvdmVkb3QgV2dyYXZlIFdhY3V0ZSBkYWJvdmVkb3QgWWdyYXZlIEZhYm92ZWRvdCBmYWJvdmVkb3QgTWFib3ZlZG90IG1hYm92ZWRvdCBQYWJvdmVkb3Qgd2dyYXZlIHBhYm92ZWRvdAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQl3YWN1dGUgU2Fib3ZlZG90IHlncmF2ZSBXZGlhZXJlc2lzIHdkaWFlcmVzaXMgc2Fib3ZlZG90IFdjaXJjdW1mbGV4IFRhYm92ZWRvdCBZY2lyY3VtZmxleCB3Y2lyY3VtZmxleCB0YWJvdmVkb3QgeWNpcmN1bWZsZXggT0Ugb2UgWWRpYWVyZXNpcwotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlvdmVybGluZSBrYW5hX2Z1bGxzdG9wIGthbmFfb3BlbmluZ2JyYWNrZXQga2FuYV9jbG9zaW5nYnJhY2tldCBrYW5hX2NvbW1hIGthbmFfY29uanVuY3RpdmUga2FuYV9taWRkbGVkb3Qga2FuYV9XTyBrYW5hX2Ega2FuYV9pIGthbmFfdSBrYW5hX2Uga2FuYV9vIGthbmFfeWEga2FuYV95dQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlrYW5hX3lvIGthbmFfdHN1IGthbmFfdHUgcHJvbG9uZ2Vkc291bmQga2FuYV9BIGthbmFfSSBrYW5hX1Uga2FuYV9FIGthbmFfTyBrYW5hX0tBIGthbmFfS0kga2FuYV9LVSBrYW5hX0tFIGthbmFfS08ga2FuYV9TQQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlrYW5hX1NISSBrYW5hX1NVIGthbmFfU0Uga2FuYV9TTyBrYW5hX1RBIGthbmFfQ0hJIGthbmFfVEkga2FuYV9UU1Uga2FuYV9UVSBrYW5hX1RFIGthbmFfVE8ga2FuYV9OQSBrYW5hX05JIGthbmFfTlUga2FuYV9ORQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlrYW5hX05PIGthbmFfSEEga2FuYV9ISSBrYW5hX0ZVIGthbmFfSFUga2FuYV9IRSBrYW5hX0hPIGthbmFfTUEga2FuYV9NSSBrYW5hX01VIGthbmFfTUUga2FuYV9NTyBrYW5hX1lBIGthbmFfWVUga2FuYV9ZTwotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlrYW5hX1JBIGthbmFfUkkga2FuYV9SVSBrYW5hX1JFIGthbmFfUk8ga2FuYV9XQSBrYW5hX04gdm9pY2Vkc291bmQgc2VtaXZvaWNlZHNvdW5kIGthbmFfc3dpdGNoIEZhcnNpXzAgRmFyc2lfMSBGYXJzaV8yIEZhcnNpXzMgRmFyc2lfNAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlGYXJzaV81IEZhcnNpXzYgRmFyc2lfNyBGYXJzaV84IEZhcnNpXzkgQXJhYmljX3BlcmNlbnQgQXJhYmljX3N1cGVyc2NyaXB0X2FsZWYgQXJhYmljX3R0ZWggQXJhYmljX3BlaCBBcmFiaWNfdGNoZWggQXJhYmljX2RkYWwgQXJhYmljX3JyZWggQXJhYmljX2NvbW1hIEFyYWJpY19mdWxsc3RvcCBBcmFiaWNfMAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcmFiaWNfMSBBcmFiaWNfMiBBcmFiaWNfMyBBcmFiaWNfNCBBcmFiaWNfNSBBcmFiaWNfNiBBcmFiaWNfNyBBcmFiaWNfOCBBcmFiaWNfOSBBcmFiaWNfc2VtaWNvbG9uIEFyYWJpY19xdWVzdGlvbl9tYXJrIEFyYWJpY19oYW16YSBBcmFiaWNfbWFkZGFvbmFsZWYgQXJhYmljX2hhbXphb25hbGVmIEFyYWJpY19oYW16YW9ud2F3Ci1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFyYWJpY19oYW16YXVuZGVyYWxlZiBBcmFiaWNfaGFtemFvbnllaCBBcmFiaWNfYWxlZiBBcmFiaWNfYmVoIEFyYWJpY190ZWhtYXJidXRhIEFyYWJpY190ZWggQXJhYmljX3RoZWggQXJhYmljX2plZW0gQXJhYmljX2hhaCBBcmFiaWNfa2hhaCBBcmFiaWNfZGFsIEFyYWJpY190aGFsIEFyYWJpY19yYSBBcmFiaWNfemFpbiBBcmFiaWNfc2Vlbgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcmFiaWNfc2hlZW4gQXJhYmljX3NhZCBBcmFiaWNfZGFkIEFyYWJpY190YWggQXJhYmljX3phaCBBcmFiaWNfYWluIEFyYWJpY19naGFpbiBBcmFiaWNfdGF0d2VlbCBBcmFiaWNfZmVoIEFyYWJpY19xYWYgQXJhYmljX2thZiBBcmFiaWNfbGFtIEFyYWJpY19tZWVtIEFyYWJpY19ub29uIEFyYWJpY19oYQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcmFiaWNfaGVoIEFyYWJpY193YXcgQXJhYmljX2FsZWZtYWtzdXJhIEFyYWJpY195ZWggQXJhYmljX2ZhdGhhdGFuIEFyYWJpY19kYW1tYXRhbiBBcmFiaWNfa2FzcmF0YW4gQXJhYmljX2ZhdGhhIEFyYWJpY19kYW1tYSBBcmFiaWNfa2FzcmEgQXJhYmljX3NoYWRkYSBBcmFiaWNfc3VrdW4gQXJhYmljX21hZGRhX2Fib3ZlIEFyYWJpY19oYW16YV9hYm92ZSBBcmFiaWNfaGFtemFfYmVsb3cKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JQXJhYmljX2plaCBBcmFiaWNfdmVoIEFyYWJpY19rZWhlaCBBcmFiaWNfZ2FmIEFyYWJpY19ub29uX2dodW5uYSBBcmFiaWNfaGVoX2RvYWNoYXNobWVlIEZhcnNpX3llaCBBcmFiaWNfZmFyc2lfeWVoIEFyYWJpY195ZWhfYmFyZWUgQXJhYmljX2hlaF9nb2FsIEFyYWJpY19zd2l0Y2ggQ3lyaWxsaWNfR0hFX2JhciBDeXJpbGxpY19naGVfYmFyIEN5cmlsbGljX1pIRV9kZXNjZW5kZXIgQ3lyaWxsaWNfemhlX2Rlc2NlbmRlcgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlDeXJpbGxpY19LQV9kZXNjZW5kZXIgQ3lyaWxsaWNfa2FfZGVzY2VuZGVyIEN5cmlsbGljX0tBX3ZlcnRzdHJva2UgQ3lyaWxsaWNfa2FfdmVydHN0cm9rZSBDeXJpbGxpY19FTl9kZXNjZW5kZXIgQ3lyaWxsaWNfZW5fZGVzY2VuZGVyIEN5cmlsbGljX1Vfc3RyYWlnaHQgQ3lyaWxsaWNfdV9zdHJhaWdodCBDeXJpbGxpY19VX3N0cmFpZ2h0X2JhciBDeXJpbGxpY191X3N0cmFpZ2h0X2JhciBDeXJpbGxpY19IQV9kZXNjZW5kZXIgQ3lyaWxsaWNfaGFfZGVzY2VuZGVyIEN5cmlsbGljX0NIRV9kZXNjZW5kZXIgQ3lyaWxsaWNfY2hlX2Rlc2NlbmRlciBDeXJpbGxpY19DSEVfdmVydHN0cm9rZQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlDeXJpbGxpY19jaGVfdmVydHN0cm9rZSBDeXJpbGxpY19TSEhBIEN5cmlsbGljX3NoaGEgQ3lyaWxsaWNfU0NIV0EgQ3lyaWxsaWNfc2Nod2EgQ3lyaWxsaWNfSV9tYWNyb24gQ3lyaWxsaWNfaV9tYWNyb24gQ3lyaWxsaWNfT19iYXIgQ3lyaWxsaWNfb19iYXIgQ3lyaWxsaWNfVV9tYWNyb24gQ3lyaWxsaWNfdV9tYWNyb24gU2VyYmlhbl9kamUgTWFjZWRvbmlhX2dqZSBDeXJpbGxpY19pbyBVa3JhaW5pYW5faWUKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JVWtyYW5pYW5famUgTWFjZWRvbmlhX2RzZSBVa3JhaW5pYW5faSBVa3Jhbmlhbl9pIFVrcmFpbmlhbl95aSBVa3Jhbmlhbl95aSBDeXJpbGxpY19qZSBTZXJiaWFuX2plIEN5cmlsbGljX2xqZSBTZXJiaWFuX2xqZSBDeXJpbGxpY19uamUgU2VyYmlhbl9uamUgU2VyYmlhbl90c2hlIE1hY2Vkb25pYV9ramUgVWtyYWluaWFuX2doZV93aXRoX3VwdHVybgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlCeWVsb3J1c3NpYW5fc2hvcnR1IEN5cmlsbGljX2R6aGUgU2VyYmlhbl9kemUgbnVtZXJvc2lnbiBTZXJiaWFuX0RKRSBNYWNlZG9uaWFfR0pFIEN5cmlsbGljX0lPIFVrcmFpbmlhbl9JRSBVa3Jhbmlhbl9KRSBNYWNlZG9uaWFfRFNFIFVrcmFpbmlhbl9JIFVrcmFuaWFuX0kgVWtyYWluaWFuX1lJIFVrcmFuaWFuX1lJIEN5cmlsbGljX0pFCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVNlcmJpYW5fSkUgQ3lyaWxsaWNfTEpFIFNlcmJpYW5fTEpFIEN5cmlsbGljX05KRSBTZXJiaWFuX05KRSBTZXJiaWFuX1RTSEUgTWFjZWRvbmlhX0tKRSBVa3JhaW5pYW5fR0hFX1dJVEhfVVBUVVJOIEJ5ZWxvcnVzc2lhbl9TSE9SVFUgQ3lyaWxsaWNfRFpIRSBTZXJiaWFuX0RaRSBDeXJpbGxpY195dSBDeXJpbGxpY19hIEN5cmlsbGljX2JlIEN5cmlsbGljX3RzZQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlDeXJpbGxpY19kZSBDeXJpbGxpY19pZSBDeXJpbGxpY19lZiBDeXJpbGxpY19naGUgQ3lyaWxsaWNfaGEgQ3lyaWxsaWNfaSBDeXJpbGxpY19zaG9ydGkgQ3lyaWxsaWNfa2EgQ3lyaWxsaWNfZWwgQ3lyaWxsaWNfZW0gQ3lyaWxsaWNfZW4gQ3lyaWxsaWNfbyBDeXJpbGxpY19wZSBDeXJpbGxpY195YSBDeXJpbGxpY19lcgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlDeXJpbGxpY19lcyBDeXJpbGxpY190ZSBDeXJpbGxpY191IEN5cmlsbGljX3poZSBDeXJpbGxpY192ZSBDeXJpbGxpY19zb2Z0c2lnbiBDeXJpbGxpY195ZXJ1IEN5cmlsbGljX3plIEN5cmlsbGljX3NoYSBDeXJpbGxpY19lIEN5cmlsbGljX3NoY2hhIEN5cmlsbGljX2NoZSBDeXJpbGxpY19oYXJkc2lnbiBDeXJpbGxpY19ZVSBDeXJpbGxpY19BCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUN5cmlsbGljX0JFIEN5cmlsbGljX1RTRSBDeXJpbGxpY19ERSBDeXJpbGxpY19JRSBDeXJpbGxpY19FRiBDeXJpbGxpY19HSEUgQ3lyaWxsaWNfSEEgQ3lyaWxsaWNfSSBDeXJpbGxpY19TSE9SVEkgQ3lyaWxsaWNfS0EgQ3lyaWxsaWNfRUwgQ3lyaWxsaWNfRU0gQ3lyaWxsaWNfRU4gQ3lyaWxsaWNfTyBDeXJpbGxpY19QRQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlDeXJpbGxpY19ZQSBDeXJpbGxpY19FUiBDeXJpbGxpY19FUyBDeXJpbGxpY19URSBDeXJpbGxpY19VIEN5cmlsbGljX1pIRSBDeXJpbGxpY19WRSBDeXJpbGxpY19TT0ZUU0lHTiBDeXJpbGxpY19ZRVJVIEN5cmlsbGljX1pFIEN5cmlsbGljX1NIQSBDeXJpbGxpY19FIEN5cmlsbGljX1NIQ0hBIEN5cmlsbGljX0NIRSBDeXJpbGxpY19IQVJEU0lHTgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHcmVla19BTFBIQWFjY2VudCBHcmVla19FUFNJTE9OYWNjZW50IEdyZWVrX0VUQWFjY2VudCBHcmVla19JT1RBYWNjZW50IEdyZWVrX0lPVEFkaWVyZXNpcyBHcmVla19JT1RBZGlhZXJlc2lzIEdyZWVrX09NSUNST05hY2NlbnQgR3JlZWtfVVBTSUxPTmFjY2VudCBHcmVla19VUFNJTE9OZGllcmVzaXMgR3JlZWtfT01FR0FhY2NlbnQgR3JlZWtfYWNjZW50ZGllcmVzaXMgR3JlZWtfaG9yaXpiYXIgR3JlZWtfYWxwaGFhY2NlbnQgR3JlZWtfZXBzaWxvbmFjY2VudCBHcmVla19ldGFhY2NlbnQKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JR3JlZWtfaW90YWFjY2VudCBHcmVla19pb3RhZGllcmVzaXMgR3JlZWtfaW90YWFjY2VudGRpZXJlc2lzIEdyZWVrX29taWNyb25hY2NlbnQgR3JlZWtfdXBzaWxvbmFjY2VudCBHcmVla191cHNpbG9uZGllcmVzaXMgR3JlZWtfdXBzaWxvbmFjY2VudGRpZXJlc2lzIEdyZWVrX29tZWdhYWNjZW50IEdyZWVrX0FMUEhBIEdyZWVrX0JFVEEgR3JlZWtfR0FNTUEgR3JlZWtfREVMVEEgR3JlZWtfRVBTSUxPTiBHcmVla19aRVRBIEdyZWVrX0VUQQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHcmVla19USEVUQSBHcmVla19JT1RBIEdyZWVrX0tBUFBBIEdyZWVrX0xBTURBIEdyZWVrX0xBTUJEQSBHcmVla19NVSBHcmVla19OVSBHcmVla19YSSBHcmVla19PTUlDUk9OIEdyZWVrX1BJIEdyZWVrX1JITyBHcmVla19TSUdNQSBHcmVla19UQVUgR3JlZWtfVVBTSUxPTiBHcmVla19QSEkKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JR3JlZWtfQ0hJIEdyZWVrX1BTSSBHcmVla19PTUVHQSBHcmVla19hbHBoYSBHcmVla19iZXRhIEdyZWVrX2dhbW1hIEdyZWVrX2RlbHRhIEdyZWVrX2Vwc2lsb24gR3JlZWtfemV0YSBHcmVla19ldGEgR3JlZWtfdGhldGEgR3JlZWtfaW90YSBHcmVla19rYXBwYSBHcmVla19sYW1kYSBHcmVla19sYW1iZGEKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JR3JlZWtfbXUgR3JlZWtfbnUgR3JlZWtfeGkgR3JlZWtfb21pY3JvbiBHcmVla19waSBHcmVla19yaG8gR3JlZWtfc2lnbWEgR3JlZWtfZmluYWxzbWFsbHNpZ21hIEdyZWVrX3RhdSBHcmVla191cHNpbG9uIEdyZWVrX3BoaSBHcmVla19jaGkgR3JlZWtfcHNpIEdyZWVrX29tZWdhIEdyZWVrX3N3aXRjaAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlsZWZ0cmFkaWNhbCB0b3BsZWZ0cmFkaWNhbCBob3JpemNvbm5lY3RvciB0b3BpbnRlZ3JhbCBib3RpbnRlZ3JhbCB2ZXJ0Y29ubmVjdG9yIHRvcGxlZnRzcWJyYWNrZXQgYm90bGVmdHNxYnJhY2tldCB0b3ByaWdodHNxYnJhY2tldCBib3RyaWdodHNxYnJhY2tldCB0b3BsZWZ0cGFyZW5zIGJvdGxlZnRwYXJlbnMgdG9wcmlnaHRwYXJlbnMgYm90cmlnaHRwYXJlbnMgbGVmdG1pZGRsZWN1cmx5YnJhY2UKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JcmlnaHRtaWRkbGVjdXJseWJyYWNlIHRvcGxlZnRzdW1tYXRpb24gYm90bGVmdHN1bW1hdGlvbiB0b3B2ZXJ0c3VtbWF0aW9uY29ubmVjdG9yIGJvdHZlcnRzdW1tYXRpb25jb25uZWN0b3IgdG9wcmlnaHRzdW1tYXRpb24gYm90cmlnaHRzdW1tYXRpb24gcmlnaHRtaWRkbGVzdW1tYXRpb24gbGVzc3RoYW5lcXVhbCBub3RlcXVhbCBncmVhdGVydGhhbmVxdWFsIGludGVncmFsIHRoZXJlZm9yZSB2YXJpYXRpb24gaW5maW5pdHkKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JbmFibGEgYXBwcm94aW1hdGUgc2ltaWxhcmVxdWFsIGlmb25seWlmIGltcGxpZXMgaWRlbnRpY2FsIHJhZGljYWwgaW5jbHVkZWRpbiBpbmNsdWRlcyBpbnRlcnNlY3Rpb24gdW5pb24gbG9naWNhbGFuZCBsb2dpY2Fsb3IgcGFydGlhbGRlcml2YXRpdmUgZnVuY3Rpb24KLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JbGVmdGFycm93IHVwYXJyb3cgcmlnaHRhcnJvdyBkb3duYXJyb3cgYmxhbmsgc29saWRkaWFtb25kIGNoZWNrZXJib2FyZCBodCBmZiBjciBsZiBubCB2dCBsb3dyaWdodGNvcm5lciB1cHJpZ2h0Y29ybmVyCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXVwbGVmdGNvcm5lciBsb3dsZWZ0Y29ybmVyIGNyb3NzaW5nbGluZXMgaG9yaXpsaW5lc2NhbjEgaG9yaXpsaW5lc2NhbjMgaG9yaXpsaW5lc2NhbjUgaG9yaXpsaW5lc2NhbjcgaG9yaXpsaW5lc2NhbjkgbGVmdHQgcmlnaHR0IGJvdHQgdG9wdCB2ZXJ0YmFyIGVtc3BhY2UgZW5zcGFjZQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQllbTNzcGFjZSBlbTRzcGFjZSBkaWdpdHNwYWNlIHB1bmN0c3BhY2UgdGhpbnNwYWNlIGhhaXJzcGFjZSBlbWRhc2ggZW5kYXNoIHNpZ25pZmJsYW5rIGVsbGlwc2lzIGRvdWJiYXNlbGluZWRvdCBvbmV0aGlyZCB0d290aGlyZHMgb25lZmlmdGggdHdvZmlmdGhzCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXRocmVlZmlmdGhzIGZvdXJmaWZ0aHMgb25lc2l4dGggZml2ZXNpeHRocyBjYXJlb2YgZmlnZGFzaCBsZWZ0YW5nbGVicmFja2V0IGRlY2ltYWxwb2ludCByaWdodGFuZ2xlYnJhY2tldCBtYXJrZXIgb25lZWlnaHRoIHRocmVlZWlnaHRocyBmaXZlZWlnaHRocyBzZXZlbmVpZ2h0aHMgdHJhZGVtYXJrCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXNpZ25hdHVyZW1hcmsgdHJhZGVtYXJraW5jaXJjbGUgbGVmdG9wZW50cmlhbmdsZSByaWdodG9wZW50cmlhbmdsZSBlbW9wZW5jaXJjbGUgZW1vcGVucmVjdGFuZ2xlIGxlZnRzaW5nbGVxdW90ZW1hcmsgcmlnaHRzaW5nbGVxdW90ZW1hcmsgbGVmdGRvdWJsZXF1b3RlbWFyayByaWdodGRvdWJsZXF1b3RlbWFyayBwcmVzY3JpcHRpb24gbWludXRlcyBzZWNvbmRzIGxhdGluY3Jvc3MgaGV4YWdyYW0KLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JZmlsbGVkcmVjdGJ1bGxldCBmaWxsZWRsZWZ0dHJpYnVsbGV0IGZpbGxlZHJpZ2h0dHJpYnVsbGV0IGVtZmlsbGVkY2lyY2xlIGVtZmlsbGVkcmVjdCBlbm9wZW5jaXJjYnVsbGV0IGVub3BlbnNxdWFyZWJ1bGxldCBvcGVucmVjdGJ1bGxldCBvcGVudHJpYnVsbGV0dXAgb3BlbnRyaWJ1bGxldGRvd24gb3BlbnN0YXIgZW5maWxsZWRjaXJjYnVsbGV0IGVuZmlsbGVkc3FidWxsZXQgZmlsbGVkdHJpYnVsbGV0dXAgZmlsbGVkdHJpYnVsbGV0ZG93bgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlsZWZ0cG9pbnRlciByaWdodHBvaW50ZXIgY2x1YiBkaWFtb25kIGhlYXJ0IG1hbHRlc2Vjcm9zcyBkYWdnZXIgZG91YmxlZGFnZ2VyIGNoZWNrbWFyayBiYWxsb3Rjcm9zcyBtdXNpY2Fsc2hhcnAgbXVzaWNhbGZsYXQgbWFsZXN5bWJvbCBmZW1hbGVzeW1ib2wgdGVsZXBob25lCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCXRlbGVwaG9uZXJlY29yZGVyIHBob25vZ3JhcGhjb3B5cmlnaHQgY2FyZXQgc2luZ2xlbG93cXVvdGVtYXJrIGRvdWJsZWxvd3F1b3RlbWFyayBjdXJzb3IgbGVmdGNhcmV0IHJpZ2h0Y2FyZXQgZG93bmNhcmV0IHVwY2FyZXQgb3ZlcmJhciBkb3dudGFjayB1cHNob2UgZG93bnN0aWxlIHVuZGVyYmFyCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWpvdCBxdWFkIHVwdGFjayBjaXJjbGUgdXBzdGlsZSBkb3duc2hvZSByaWdodHNob2UgbGVmdHNob2UgbGVmdHRhY2sgcmlnaHR0YWNrIGhlYnJld19kb3VibGVsb3dsaW5lIGhlYnJld19hbGVwaCBoZWJyZXdfYmV0IGhlYnJld19iZXRoIGhlYnJld19naW1lbAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQloZWJyZXdfZ2ltbWVsIGhlYnJld19kYWxldCBoZWJyZXdfZGFsZXRoIGhlYnJld19oZSBoZWJyZXdfd2F3IGhlYnJld196YWluIGhlYnJld196YXlpbiBoZWJyZXdfY2hldCBoZWJyZXdfaGV0IGhlYnJld190ZXQgaGVicmV3X3RldGggaGVicmV3X3lvZCBoZWJyZXdfZmluYWxrYXBoIGhlYnJld19rYXBoIGhlYnJld19sYW1lZAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQloZWJyZXdfZmluYWxtZW0gaGVicmV3X21lbSBoZWJyZXdfZmluYWxudW4gaGVicmV3X251biBoZWJyZXdfc2FtZWNoIGhlYnJld19zYW1la2ggaGVicmV3X2F5aW4gaGVicmV3X2ZpbmFscGUgaGVicmV3X3BlIGhlYnJld19maW5hbHphZGUgaGVicmV3X2ZpbmFsemFkaSBoZWJyZXdfemFkZSBoZWJyZXdfemFkaSBoZWJyZXdfcW9waCBoZWJyZXdfa3VmCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCWhlYnJld19yZXNoIGhlYnJld19zaGluIGhlYnJld190YXcgaGVicmV3X3RhZiBIZWJyZXdfc3dpdGNoIFRoYWlfa29rYWkgVGhhaV9raG9raGFpIFRoYWlfa2hva2h1YXQgVGhhaV9raG9raHdhaSBUaGFpX2tob2tob24gVGhhaV9raG9yYWtoYW5nIFRoYWlfbmdvbmd1IFRoYWlfY2hvY2hhbiBUaGFpX2Nob2NoaW5nIFRoYWlfY2hvY2hhbmcKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JVGhhaV9zb3NvIFRoYWlfY2hvY2hvZSBUaGFpX3lveWluZyBUaGFpX2RvY2hhZGEgVGhhaV90b3BhdGFrIFRoYWlfdGhvdGhhbiBUaGFpX3Rob25hbmdtb250aG8gVGhhaV90aG9waHV0aGFvIFRoYWlfbm9uZW4gVGhhaV9kb2RlayBUaGFpX3RvdGFvIFRoYWlfdGhvdGh1bmcgVGhhaV90aG90aGFoYW4gVGhhaV90aG90aG9uZyBUaGFpX25vbnUKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JVGhhaV9ib2JhaW1haSBUaGFpX3BvcGxhIFRoYWlfcGhvcGh1bmcgVGhhaV9mb2ZhIFRoYWlfcGhvcGhhbiBUaGFpX2ZvZmFuIFRoYWlfcGhvc2FtcGhhbyBUaGFpX21vbWEgVGhhaV95b3lhayBUaGFpX3JvcnVhIFRoYWlfcnUgVGhhaV9sb2xpbmcgVGhhaV9sdSBUaGFpX3dvd2FlbiBUaGFpX3Nvc2FsYQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlUaGFpX3NvcnVzaSBUaGFpX3Nvc3VhIFRoYWlfaG9oaXAgVGhhaV9sb2NodWxhIFRoYWlfb2FuZyBUaGFpX2hvbm9raHVrIFRoYWlfcGFpeWFubm9pIFRoYWlfc2FyYWEgVGhhaV9tYWloYW5ha2F0IFRoYWlfc2FyYWFhIFRoYWlfc2FyYWFtIFRoYWlfc2FyYWkgVGhhaV9zYXJhaWkgVGhhaV9zYXJhdWUgVGhhaV9zYXJhdWVlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCVRoYWlfc2FyYXUgVGhhaV9zYXJhdXUgVGhhaV9waGludGh1IFRoYWlfbWFpaGFuYWthdF9tYWl0aG8gVGhhaV9iYWh0IFRoYWlfc2FyYWUgVGhhaV9zYXJhYWUgVGhhaV9zYXJhbyBUaGFpX3NhcmFhaW1haW11YW4gVGhhaV9zYXJhYWltYWltYWxhaSBUaGFpX2xha2toYW5neWFvIFRoYWlfbWFpeWFtb2sgVGhhaV9tYWl0YWlraHUgVGhhaV9tYWllayBUaGFpX21haXRobwotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlUaGFpX21haXRyaSBUaGFpX21haWNoYXR0YXdhIFRoYWlfdGhhbnRoYWtoYXQgVGhhaV9uaWtoYWhpdCBUaGFpX2xla3N1biBUaGFpX2xla251bmcgVGhhaV9sZWtzb25nIFRoYWlfbGVrc2FtIFRoYWlfbGVrc2kgVGhhaV9sZWtoYSBUaGFpX2xla2hvayBUaGFpX2xla2NoZXQgVGhhaV9sZWtwYWV0IFRoYWlfbGVra2FvIEhhbmd1bAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlIYW5ndWxfU3RhcnQgSGFuZ3VsX0VuZCBIYW5ndWxfSGFuamEgSGFuZ3VsX0phbW8gSGFuZ3VsX1JvbWFqYSBIYW5ndWxfQ29kZWlucHV0IEhhbmd1bF9KZW9uamEgSGFuZ3VsX0JhbmphIEhhbmd1bF9QcmVIYW5qYSBIYW5ndWxfUG9zdEhhbmphIEhhbmd1bF9TaW5nbGVDYW5kaWRhdGUgSGFuZ3VsX011bHRpcGxlQ2FuZGlkYXRlIEhhbmd1bF9QcmV2aW91c0NhbmRpZGF0ZSBIYW5ndWxfU3BlY2lhbCBIYW5ndWxfc3dpdGNoCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUhhbmd1bF9LaXllb2cgSGFuZ3VsX1NzYW5nS2l5ZW9nIEhhbmd1bF9LaXllb2dTaW9zIEhhbmd1bF9OaWV1biBIYW5ndWxfTmlldW5KaWV1aiBIYW5ndWxfTmlldW5IaWV1aCBIYW5ndWxfRGlrZXVkIEhhbmd1bF9Tc2FuZ0Rpa2V1ZCBIYW5ndWxfUmlldWwgSGFuZ3VsX1JpZXVsS2l5ZW9nIEhhbmd1bF9SaWV1bE1pZXVtIEhhbmd1bF9SaWV1bFBpZXViIEhhbmd1bF9SaWV1bFNpb3MgSGFuZ3VsX1JpZXVsVGlldXQgSGFuZ3VsX1JpZXVsUGhpZXVmCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUhhbmd1bF9SaWV1bEhpZXVoIEhhbmd1bF9NaWV1bSBIYW5ndWxfUGlldWIgSGFuZ3VsX1NzYW5nUGlldWIgSGFuZ3VsX1BpZXViU2lvcyBIYW5ndWxfU2lvcyBIYW5ndWxfU3NhbmdTaW9zIEhhbmd1bF9JZXVuZyBIYW5ndWxfSmlldWogSGFuZ3VsX1NzYW5nSmlldWogSGFuZ3VsX0NpZXVjIEhhbmd1bF9LaGlldXEgSGFuZ3VsX1RpZXV0IEhhbmd1bF9QaGlldWYgSGFuZ3VsX0hpZXVoCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUhhbmd1bF9BIEhhbmd1bF9BRSBIYW5ndWxfWUEgSGFuZ3VsX1lBRSBIYW5ndWxfRU8gSGFuZ3VsX0UgSGFuZ3VsX1lFTyBIYW5ndWxfWUUgSGFuZ3VsX08gSGFuZ3VsX1dBIEhhbmd1bF9XQUUgSGFuZ3VsX09FIEhhbmd1bF9ZTyBIYW5ndWxfVSBIYW5ndWxfV0VPCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUhhbmd1bF9XRSBIYW5ndWxfV0kgSGFuZ3VsX1lVIEhhbmd1bF9FVSBIYW5ndWxfWUkgSGFuZ3VsX0kgSGFuZ3VsX0pfS2l5ZW9nIEhhbmd1bF9KX1NzYW5nS2l5ZW9nIEhhbmd1bF9KX0tpeWVvZ1Npb3MgSGFuZ3VsX0pfTmlldW4gSGFuZ3VsX0pfTmlldW5KaWV1aiBIYW5ndWxfSl9OaWV1bkhpZXVoIEhhbmd1bF9KX0Rpa2V1ZCBIYW5ndWxfSl9SaWV1bCBIYW5ndWxfSl9SaWV1bEtpeWVvZwotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlIYW5ndWxfSl9SaWV1bE1pZXVtIEhhbmd1bF9KX1JpZXVsUGlldWIgSGFuZ3VsX0pfUmlldWxTaW9zIEhhbmd1bF9KX1JpZXVsVGlldXQgSGFuZ3VsX0pfUmlldWxQaGlldWYgSGFuZ3VsX0pfUmlldWxIaWV1aCBIYW5ndWxfSl9NaWV1bSBIYW5ndWxfSl9QaWV1YiBIYW5ndWxfSl9QaWV1YlNpb3MgSGFuZ3VsX0pfU2lvcyBIYW5ndWxfSl9Tc2FuZ1Npb3MgSGFuZ3VsX0pfSWV1bmcgSGFuZ3VsX0pfSmlldWogSGFuZ3VsX0pfQ2lldWMgSGFuZ3VsX0pfS2hpZXVxCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUhhbmd1bF9KX1RpZXV0IEhhbmd1bF9KX1BoaWV1ZiBIYW5ndWxfSl9IaWV1aCBIYW5ndWxfUmlldWxZZW9yaW5IaWV1aCBIYW5ndWxfU3Vua3llb25nZXVtTWlldW0gSGFuZ3VsX1N1bmt5ZW9uZ2V1bVBpZXViIEhhbmd1bF9QYW5TaW9zIEhhbmd1bF9La29namlEYWxyaW5JZXVuZyBIYW5ndWxfU3Vua3llb25nZXVtUGhpZXVmIEhhbmd1bF9ZZW9yaW5IaWV1aCBIYW5ndWxfQXJhZUEgSGFuZ3VsX0FyYWVBRSBIYW5ndWxfSl9QYW5TaW9zIEhhbmd1bF9KX0trb2dqaURhbHJpbklldW5nIEhhbmd1bF9KX1llb3JpbkhpZXVoCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUtvcmVhbl9Xb24gQXJtZW5pYW5fZXRlcm5pdHkgQXJtZW5pYW5fbGlnYXR1cmVfZXcgQXJtZW5pYW5fZnVsbF9zdG9wIEFybWVuaWFuX3Zlcmpha2V0IEFybWVuaWFuX3BhcmVucmlnaHQgQXJtZW5pYW5fcGFyZW5sZWZ0IEFybWVuaWFuX2d1aWxsZW1vdHJpZ2h0IEFybWVuaWFuX2d1aWxsZW1vdGxlZnQgQXJtZW5pYW5fZW1fZGFzaCBBcm1lbmlhbl9kb3QgQXJtZW5pYW5fbWlqYWtldCBBcm1lbmlhbl9zZXBhcmF0aW9uX21hcmsgQXJtZW5pYW5fYnV0IEFybWVuaWFuX2NvbW1hCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFybWVuaWFuX2VuX2Rhc2ggQXJtZW5pYW5faHlwaGVuIEFybWVuaWFuX3llbnRhbW5hIEFybWVuaWFuX2VsbGlwc2lzIEFybWVuaWFuX2V4Y2xhbSBBcm1lbmlhbl9hbWFuYWsgQXJtZW5pYW5fYWNjZW50IEFybWVuaWFuX3NoZXNodCBBcm1lbmlhbl9xdWVzdGlvbiBBcm1lbmlhbl9wYXJ1eWsgQXJtZW5pYW5fQVlCIEFybWVuaWFuX2F5YiBBcm1lbmlhbl9CRU4gQXJtZW5pYW5fYmVuIEFybWVuaWFuX0dJTQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcm1lbmlhbl9naW0gQXJtZW5pYW5fREEgQXJtZW5pYW5fZGEgQXJtZW5pYW5fWUVDSCBBcm1lbmlhbl95ZWNoIEFybWVuaWFuX1pBIEFybWVuaWFuX3phIEFybWVuaWFuX0UgQXJtZW5pYW5fZSBBcm1lbmlhbl9BVCBBcm1lbmlhbl9hdCBBcm1lbmlhbl9UTyBBcm1lbmlhbl90byBBcm1lbmlhbl9aSEUgQXJtZW5pYW5femhlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCUFybWVuaWFuX0lOSSBBcm1lbmlhbl9pbmkgQXJtZW5pYW5fTFlVTiBBcm1lbmlhbl9seXVuIEFybWVuaWFuX0tIRSBBcm1lbmlhbl9raGUgQXJtZW5pYW5fVFNBIEFybWVuaWFuX3RzYSBBcm1lbmlhbl9LRU4gQXJtZW5pYW5fa2VuIEFybWVuaWFuX0hPIEFybWVuaWFuX2hvIEFybWVuaWFuX0RaQSBBcm1lbmlhbl9kemEgQXJtZW5pYW5fR0hBVAotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcm1lbmlhbl9naGF0IEFybWVuaWFuX1RDSEUgQXJtZW5pYW5fdGNoZSBBcm1lbmlhbl9NRU4gQXJtZW5pYW5fbWVuIEFybWVuaWFuX0hJIEFybWVuaWFuX2hpIEFybWVuaWFuX05VIEFybWVuaWFuX251IEFybWVuaWFuX1NIQSBBcm1lbmlhbl9zaGEgQXJtZW5pYW5fVk8gQXJtZW5pYW5fdm8gQXJtZW5pYW5fQ0hBIEFybWVuaWFuX2NoYQotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBcm1lbmlhbl9QRSBBcm1lbmlhbl9wZSBBcm1lbmlhbl9KRSBBcm1lbmlhbl9qZSBBcm1lbmlhbl9SQSBBcm1lbmlhbl9yYSBBcm1lbmlhbl9TRSBBcm1lbmlhbl9zZSBBcm1lbmlhbl9WRVYgQXJtZW5pYW5fdmV2IEFybWVuaWFuX1RZVU4gQXJtZW5pYW5fdHl1biBBcm1lbmlhbl9SRSBBcm1lbmlhbl9yZSBBcm1lbmlhbl9UU08KLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JQXJtZW5pYW5fdHNvIEFybWVuaWFuX1ZZVU4gQXJtZW5pYW5fdnl1biBBcm1lbmlhbl9QWVVSIEFybWVuaWFuX3B5dXIgQXJtZW5pYW5fS0UgQXJtZW5pYW5fa2UgQXJtZW5pYW5fTyBBcm1lbmlhbl9vIEFybWVuaWFuX0ZFIEFybWVuaWFuX2ZlIEFybWVuaWFuX2Fwb3N0cm9waGUgQXJtZW5pYW5fc2VjdGlvbl9zaWduIEdlb3JnaWFuX2FuIEdlb3JnaWFuX2Jhbgotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlHZW9yZ2lhbl9nYW4gR2VvcmdpYW5fZG9uIEdlb3JnaWFuX2VuIEdlb3JnaWFuX3ZpbiBHZW9yZ2lhbl96ZW4gR2VvcmdpYW5fdGFuIEdlb3JnaWFuX2luIEdlb3JnaWFuX2thbiBHZW9yZ2lhbl9sYXMgR2VvcmdpYW5fbWFuIEdlb3JnaWFuX25hciBHZW9yZ2lhbl9vbiBHZW9yZ2lhbl9wYXIgR2VvcmdpYW5femhhciBHZW9yZ2lhbl9yYWUKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JR2VvcmdpYW5fc2FuIEdlb3JnaWFuX3RhciBHZW9yZ2lhbl91biBHZW9yZ2lhbl9waGFyIEdlb3JnaWFuX2toYXIgR2VvcmdpYW5fZ2hhbiBHZW9yZ2lhbl9xYXIgR2VvcmdpYW5fc2hpbiBHZW9yZ2lhbl9jaGluIEdlb3JnaWFuX2NhbiBHZW9yZ2lhbl9qaWwgR2VvcmdpYW5fY2lsIEdlb3JnaWFuX2NoYXIgR2VvcmdpYW5feGFuIEdlb3JnaWFuX2poYW4KLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JR2VvcmdpYW5faGFlIEdlb3JnaWFuX2hlIEdlb3JnaWFuX2hpZSBHZW9yZ2lhbl93ZSBHZW9yZ2lhbl9oYXIgR2VvcmdpYW5faG9lIEdlb3JnaWFuX2ZpIENjZWRpbGxhYWJvdmVkb3QgWGFib3ZlZG90IFFhYm92ZWRvdCBJYnJldmUgSUUgVU8gWnN0cm9rZSBHY2Fyb24KLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JT2JhcnJlZCBjY2VkaWxsYWFib3ZlZG90IHhhYm92ZWRvdCBPY2Fyb24gcWFib3ZlZG90IGlicmV2ZSBpZSB1byB6c3Ryb2tlIGdjYXJvbiBvY2Fyb24gb2JhcnJlZCBTQ0hXQSBzY2h3YSBMYmVsb3dkb3QKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JTHN0cm9rZWJlbG93ZG90IGxiZWxvd2RvdCBsc3Ryb2tlYmVsb3dkb3QgR3RpbGRlIGd0aWxkZSBBYmVsb3dkb3QgYWJlbG93ZG90IEFob29rIGFob29rIEFjaXJjdW1mbGV4YWN1dGUgYWNpcmN1bWZsZXhhY3V0ZSBBY2lyY3VtZmxleGdyYXZlIGFjaXJjdW1mbGV4Z3JhdmUgQWNpcmN1bWZsZXhob29rIGFjaXJjdW1mbGV4aG9vawotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQlBY2lyY3VtZmxleHRpbGRlIGFjaXJjdW1mbGV4dGlsZGUgQWNpcmN1bWZsZXhiZWxvd2RvdCBhY2lyY3VtZmxleGJlbG93ZG90IEFicmV2ZWFjdXRlIGFicmV2ZWFjdXRlIEFicmV2ZWdyYXZlIGFicmV2ZWdyYXZlIEFicmV2ZWhvb2sgYWJyZXZlaG9vayBBYnJldmV0aWxkZSBhYnJldmV0aWxkZSBBYnJldmViZWxvd2RvdCBhYnJldmViZWxvd2RvdCBFYmVsb3dkb3QKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JZWJlbG93ZG90IEVob29rIGVob29rIEV0aWxkZSBldGlsZGUgRWNpcmN1bWZsZXhhY3V0ZSBlY2lyY3VtZmxleGFjdXRlIEVjaXJjdW1mbGV4Z3JhdmUgZWNpcmN1bWZsZXhncmF2ZSBFY2lyY3VtZmxleGhvb2sgZWNpcmN1bWZsZXhob29rIEVjaXJjdW1mbGV4dGlsZGUgZWNpcmN1bWZsZXh0aWxkZSBFY2lyY3VtZmxleGJlbG93ZG90IGVjaXJjdW1mbGV4YmVsb3dkb3QKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JSWhvb2sgaWhvb2sgSWJlbG93ZG90IGliZWxvd2RvdCBPYmVsb3dkb3Qgb2JlbG93ZG90IE9ob29rIG9ob29rIE9jaXJjdW1mbGV4YWN1dGUgb2NpcmN1bWZsZXhhY3V0ZSBPY2lyY3VtZmxleGdyYXZlIG9jaXJjdW1mbGV4Z3JhdmUgT2NpcmN1bWZsZXhob29rIG9jaXJjdW1mbGV4aG9vayBPY2lyY3VtZmxleHRpbGRlCi1zeW4ga2V5d29yZCB4bW9kbWFwS2V5U3ltCW9jaXJjdW1mbGV4dGlsZGUgT2NpcmN1bWZsZXhiZWxvd2RvdCBvY2lyY3VtZmxleGJlbG93ZG90IE9ob3JuYWN1dGUgb2hvcm5hY3V0ZSBPaG9ybmdyYXZlIG9ob3JuZ3JhdmUgT2hvcm5ob29rIG9ob3JuaG9vayBPaG9ybnRpbGRlIG9ob3JudGlsZGUgT2hvcm5iZWxvd2RvdCBvaG9ybmJlbG93ZG90IFViZWxvd2RvdCB1YmVsb3dkb3QKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JVWhvb2sgdWhvb2sgVWhvcm5hY3V0ZSB1aG9ybmFjdXRlIFVob3JuZ3JhdmUgdWhvcm5ncmF2ZSBVaG9ybmhvb2sgdWhvcm5ob29rIFVob3JudGlsZGUgdWhvcm50aWxkZSBVaG9ybmJlbG93ZG90IHVob3JuYmVsb3dkb3QgWWJlbG93ZG90IHliZWxvd2RvdCBZaG9vawotc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bQl5aG9vayBZdGlsZGUgeXRpbGRlIE9ob3JuIG9ob3JuIFVob3JuIHVob3JuIGNvbWJpbmluZ190aWxkZSBjb21iaW5pbmdfZ3JhdmUgY29tYmluaW5nX2FjdXRlIGNvbWJpbmluZ19ob29rIGNvbWJpbmluZ19iZWxvd2RvdCBFY3VTaWduIENvbG9uU2lnbiBDcnV6ZWlyb1NpZ24KLXN5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0JRkZyYW5jU2lnbiBMaXJhU2lnbiBNaWxsU2lnbiBOYWlyYVNpZ24gUGVzZXRhU2lnbiBSdXBlZVNpZ24gV29uU2lnbiBOZXdTaGVxZWxTaWduIERvbmdTaWduIEV1cm9TaWduCi1zeW4gbWF0Y2ggICB4bW9kbWFwS2V5U3ltCSJcPFtBLVphLXpdXD4iCitzeW4gbWF0Y2ggICB4bW9kbWFwS2V5U3ltICAgICBkaXNwbGF5ICdcPFtBLVphLXpdXD4nCiAKLSIga2V5d29yZHMKLXN5biBrZXl3b3JkIHhtb2RtYXBLZXl3b3JkCWtleWNvZGUga2V5c3ltIGNsZWFyIGFkZCByZW1vdmUgcG9pbnRlcgorIiAjaW5jbHVkZSA8WDExL2tleXN5bWRlZi5oPgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bSAgICAgWEtfVm9pZFN5bWJvbCBYS19CYWNrU3BhY2UgWEtfVGFiIFhLX0xpbmVmZWVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0NsZWFyIFhLX1JldHVybiBYS19QYXVzZSBYS19TY3JvbGxfTG9jaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19TeXNfUmVxIFhLX0VzY2FwZSBYS19EZWxldGUgWEtfTXVsdGlfa2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0NvZGVpbnB1dCBYS19TaW5nbGVDYW5kaWRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfTXVsdGlwbGVDYW5kaWRhdGUgWEtfUHJldmlvdXNDYW5kaWRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfS2FuamkgWEtfTXVoZW5rYW4gWEtfSGVua2FuX01vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGVua2FuIFhLX1JvbWFqaSBYS19IaXJhZ2FuYSBYS19LYXRha2FuYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IaXJhZ2FuYV9LYXRha2FuYSBYS19aZW5rYWt1IFhLX0hhbmtha3UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfWmVua2FrdV9IYW5rYWt1IFhLX1RvdXJva3UgWEtfTWFzc3lvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0thbmFfTG9jayBYS19LYW5hX1NoaWZ0IFhLX0Vpc3VfU2hpZnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfRWlzdV90b2dnbGUgWEtfS2FuamlfQmFuZ291IFhLX1plbl9Lb2hvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX01hZV9Lb2hvIFhLX0hvbWUgWEtfTGVmdCBYS19VcCBYS19SaWdodAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Eb3duIFhLX1ByaW9yIFhLX1BhZ2VfVXAgWEtfTmV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19QYWdlX0Rvd24gWEtfRW5kIFhLX0JlZ2luIFhLX1NlbGVjdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19QcmludCBYS19FeGVjdXRlIFhLX0luc2VydCBYS19VbmRvIFhLX1JlZG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfTWVudSBYS19GaW5kIFhLX0NhbmNlbCBYS19IZWxwIFhLX0JyZWFrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX01vZGVfc3dpdGNoIFhLX3NjcmlwdF9zd2l0Y2ggWEtfTnVtX0xvY2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfS1BfU3BhY2UgWEtfS1BfVGFiIFhLX0tQX0VudGVyIFhLX0tQX0YxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0tQX0YyIFhLX0tQX0YzIFhLX0tQX0Y0IFhLX0tQX0hvbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfS1BfTGVmdCBYS19LUF9VcCBYS19LUF9SaWdodCBYS19LUF9Eb3duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0tQX1ByaW9yIFhLX0tQX1BhZ2VfVXAgWEtfS1BfTmV4dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19LUF9QYWdlX0Rvd24gWEtfS1BfRW5kIFhLX0tQX0JlZ2luCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0tQX0luc2VydCBYS19LUF9EZWxldGUgWEtfS1BfRXF1YWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfS1BfTXVsdGlwbHkgWEtfS1BfQWRkIFhLX0tQX1NlcGFyYXRvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19LUF9TdWJ0cmFjdCBYS19LUF9EZWNpbWFsIFhLX0tQX0RpdmlkZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19LUF8wIFhLX0tQXzEgWEtfS1BfMiBYS19LUF8zIFhLX0tQXzQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfS1BfNSBYS19LUF82IFhLX0tQXzcgWEtfS1BfOCBYS19LUF85IFhLX0YxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0YyIFhLX0YzIFhLX0Y0IFhLX0Y1IFhLX0Y2IFhLX0Y3IFhLX0Y4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0Y5IFhLX0YxMCBYS19GMTEgWEtfTDEgWEtfRjEyIFhLX0wyIFhLX0YxMworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19MMyBYS19GMTQgWEtfTDQgWEtfRjE1IFhLX0w1IFhLX0YxNiBYS19MNgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19GMTcgWEtfTDcgWEtfRjE4IFhLX0w4IFhLX0YxOSBYS19MOSBYS19GMjAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfTDEwIFhLX0YyMSBYS19SMSBYS19GMjIgWEtfUjIgWEtfRjIzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1IzIFhLX0YyNCBYS19SNCBYS19GMjUgWEtfUjUgWEtfRjI2CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1I2IFhLX0YyNyBYS19SNyBYS19GMjggWEtfUjggWEtfRjI5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1I5IFhLX0YzMCBYS19SMTAgWEtfRjMxIFhLX1IxMSBYS19GMzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfUjEyIFhLX0YzMyBYS19SMTMgWEtfRjM0IFhLX1IxNCBYS19GMzUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfUjE1IFhLX1NoaWZ0X0wgWEtfU2hpZnRfUiBYS19Db250cm9sX0wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ29udHJvbF9SIFhLX0NhcHNfTG9jayBYS19TaGlmdF9Mb2NrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX01ldGFfTCBYS19NZXRhX1IgWEtfQWx0X0wgWEtfQWx0X1IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfU3VwZXJfTCBYS19TdXBlcl9SIFhLX0h5cGVyX0wgWEtfSHlwZXJfUgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19kZWFkX2hvb2sgWEtfZGVhZF9ob3JuIFhLXzMyNzBfRHVwbGljYXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLXzMyNzBfRmllbGRNYXJrIFhLXzMyNzBfUmlnaHQyIFhLXzMyNzBfTGVmdDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfMzI3MF9CYWNrVGFiIFhLXzMyNzBfRXJhc2VFT0YKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfMzI3MF9FcmFzZUlucHV0IFhLXzMyNzBfUmVzZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfMzI3MF9RdWl0IFhLXzMyNzBfUEExIFhLXzMyNzBfUEEyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLXzMyNzBfUEEzIFhLXzMyNzBfVGVzdCBYS18zMjcwX0F0dG4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfMzI3MF9DdXJzb3JCbGluayBYS18zMjcwX0FsdEN1cnNvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS18zMjcwX0tleUNsaWNrIFhLXzMyNzBfSnVtcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS18zMjcwX0lkZW50IFhLXzMyNzBfUnVsZSBYS18zMjcwX0NvcHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfMzI3MF9QbGF5IFhLXzMyNzBfU2V0dXAgWEtfMzI3MF9SZWNvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfMzI3MF9DaGFuZ2VTY3JlZW4gWEtfMzI3MF9EZWxldGVXb3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLXzMyNzBfRXhTZWxlY3QgWEtfMzI3MF9DdXJzb3JTZWxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfMzI3MF9QcmludFNjcmVlbiBYS18zMjcwX0VudGVyIFhLX3NwYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2V4Y2xhbSBYS19xdW90ZWRibCBYS19udW1iZXJzaWduIFhLX2RvbGxhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19wZXJjZW50IFhLX2FtcGVyc2FuZCBYS19hcG9zdHJvcGhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3F1b3RlcmlnaHQgWEtfcGFyZW5sZWZ0IFhLX3BhcmVucmlnaHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYXN0ZXJpc2sgWEtfcGx1cyBYS19jb21tYSBYS19taW51cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19wZXJpb2QgWEtfc2xhc2ggWEtfMCBYS18xIFhLXzIgWEtfMworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS180IFhLXzUgWEtfNiBYS183IFhLXzggWEtfOSBYS19jb2xvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19zZW1pY29sb24gWEtfbGVzcyBYS19lcXVhbCBYS19ncmVhdGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3F1ZXN0aW9uIFhLX2F0IFhLX0EgWEtfQiBYS19DIFhLX0QgWEtfRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19GIFhLX0cgWEtfSCBYS19JIFhLX0ogWEtfSyBYS19MIFhLX00gWEtfTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19PIFhLX1AgWEtfUSBYS19SIFhLX1MgWEtfVCBYS19VIFhLX1YgWEtfVworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19YIFhLX1kgWEtfWiBYS19icmFja2V0bGVmdCBYS19iYWNrc2xhc2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYnJhY2tldHJpZ2h0IFhLX2FzY2lpY2lyY3VtIFhLX3VuZGVyc2NvcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZ3JhdmUgWEtfcXVvdGVsZWZ0IFhLX2EgWEtfYiBYS19jIFhLX2QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZSBYS19mIFhLX2cgWEtfaCBYS19pIFhLX2ogWEtfayBYS19sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX20gWEtfbiBYS19vIFhLX3AgWEtfcSBYS19yIFhLX3MgWEtfdCBYS191CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3YgWEtfdyBYS194IFhLX3kgWEtfeiBYS19icmFjZWxlZnQgWEtfYmFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2JyYWNlcmlnaHQgWEtfYXNjaWl0aWxkZSBYS19ub2JyZWFrc3BhY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZXhjbGFtZG93biBYS19jZW50IFhLX3N0ZXJsaW5nIFhLX2N1cnJlbmN5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3llbiBYS19icm9rZW5iYXIgWEtfc2VjdGlvbiBYS19kaWFlcmVzaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfY29weXJpZ2h0IFhLX29yZGZlbWluaW5lIFhLX2d1aWxsZW1vdGxlZnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfbm90c2lnbiBYS19oeXBoZW4gWEtfcmVnaXN0ZXJlZCBYS19tYWNyb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZGVncmVlIFhLX3BsdXNtaW51cyBYS190d29zdXBlcmlvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS190aHJlZXN1cGVyaW9yIFhLX2FjdXRlIFhLX211IFhLX3BhcmFncmFwaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19wZXJpb2RjZW50ZXJlZCBYS19jZWRpbGxhIFhLX29uZXN1cGVyaW9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX21hc2N1bGluZSBYS19ndWlsbGVtb3RyaWdodCBYS19vbmVxdWFydGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX29uZWhhbGYgWEtfdGhyZWVxdWFydGVycyBYS19xdWVzdGlvbmRvd24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQWdyYXZlIFhLX0FhY3V0ZSBYS19BY2lyY3VtZmxleCBYS19BdGlsZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQWRpYWVyZXNpcyBYS19BcmluZyBYS19BRSBYS19DY2VkaWxsYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19FZ3JhdmUgWEtfRWFjdXRlIFhLX0VjaXJjdW1mbGV4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0VkaWFlcmVzaXMgWEtfSWdyYXZlIFhLX0lhY3V0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19JY2lyY3VtZmxleCBYS19JZGlhZXJlc2lzIFhLX0VUSCBYS19FdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfTnRpbGRlIFhLX09ncmF2ZSBYS19PYWN1dGUgWEtfT2NpcmN1bWZsZXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfT3RpbGRlIFhLX09kaWFlcmVzaXMgWEtfbXVsdGlwbHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfT29ibGlxdWUgWEtfVWdyYXZlIFhLX1VhY3V0ZSBYS19VY2lyY3VtZmxleAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19VZGlhZXJlc2lzIFhLX1lhY3V0ZSBYS19USE9STiBYS19UaG9ybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19zc2hhcnAgWEtfYWdyYXZlIFhLX2FhY3V0ZSBYS19hY2lyY3VtZmxleAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19hdGlsZGUgWEtfYWRpYWVyZXNpcyBYS19hcmluZyBYS19hZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19jY2VkaWxsYSBYS19lZ3JhdmUgWEtfZWFjdXRlIFhLX2VjaXJjdW1mbGV4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2VkaWFlcmVzaXMgWEtfaWdyYXZlIFhLX2lhY3V0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19pY2lyY3VtZmxleCBYS19pZGlhZXJlc2lzIFhLX2V0aCBYS19udGlsZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfb2dyYXZlIFhLX29hY3V0ZSBYS19vY2lyY3VtZmxleCBYS19vdGlsZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfb2RpYWVyZXNpcyBYS19kaXZpc2lvbiBYS19vc2xhc2ggWEtfdWdyYXZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3VhY3V0ZSBYS191Y2lyY3VtZmxleCBYS191ZGlhZXJlc2lzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3lhY3V0ZSBYS190aG9ybiBYS195ZGlhZXJlc2lzIFhLX0FvZ29uZWsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYnJldmUgWEtfTHN0cm9rZSBYS19MY2Fyb24gWEtfU2FjdXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1NjYXJvbiBYS19TY2VkaWxsYSBYS19UY2Fyb24gWEtfWmFjdXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1pjYXJvbiBYS19aYWJvdmVkb3QgWEtfYW9nb25layBYS19vZ29uZWsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfbHN0cm9rZSBYS19sY2Fyb24gWEtfc2FjdXRlIFhLX2Nhcm9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3NjYXJvbiBYS19zY2VkaWxsYSBYS190Y2Fyb24gWEtfemFjdXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2RvdWJsZWFjdXRlIFhLX3pjYXJvbiBYS196YWJvdmVkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfUmFjdXRlIFhLX0FicmV2ZSBYS19MYWN1dGUgWEtfQ2FjdXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0NjYXJvbiBYS19Fb2dvbmVrIFhLX0VjYXJvbiBYS19EY2Fyb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfRHN0cm9rZSBYS19OYWN1dGUgWEtfTmNhcm9uIFhLX09kb3VibGVhY3V0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19SY2Fyb24gWEtfVXJpbmcgWEtfVWRvdWJsZWFjdXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RjZWRpbGxhIFhLX3JhY3V0ZSBYS19hYnJldmUgWEtfbGFjdXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2NhY3V0ZSBYS19jY2Fyb24gWEtfZW9nb25layBYS19lY2Fyb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZGNhcm9uIFhLX2RzdHJva2UgWEtfbmFjdXRlIFhLX25jYXJvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19vZG91YmxlYWN1dGUgWEtfdWRvdWJsZWFjdXRlIFhLX3JjYXJvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS191cmluZyBYS190Y2VkaWxsYSBYS19hYm92ZWRvdCBYS19Ic3Ryb2tlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hjaXJjdW1mbGV4IFhLX0lhYm92ZWRvdCBYS19HYnJldmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSmNpcmN1bWZsZXggWEtfaHN0cm9rZSBYS19oY2lyY3VtZmxleAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19pZG90bGVzcyBYS19nYnJldmUgWEtfamNpcmN1bWZsZXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ2Fib3ZlZG90IFhLX0NjaXJjdW1mbGV4IFhLX0dhYm92ZWRvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HY2lyY3VtZmxleCBYS19VYnJldmUgWEtfU2NpcmN1bWZsZXgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfY2Fib3ZlZG90IFhLX2NjaXJjdW1mbGV4IFhLX2dhYm92ZWRvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19nY2lyY3VtZmxleCBYS191YnJldmUgWEtfc2NpcmN1bWZsZXggWEtfa3JhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thcHBhIFhLX1JjZWRpbGxhIFhLX0l0aWxkZSBYS19MY2VkaWxsYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19FbWFjcm9uIFhLX0djZWRpbGxhIFhLX1RzbGFzaCBYS19yY2VkaWxsYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19pdGlsZGUgWEtfbGNlZGlsbGEgWEtfZW1hY3JvbiBYS19nY2VkaWxsYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS190c2xhc2ggWEtfRU5HIFhLX2VuZyBYS19BbWFjcm9uIFhLX0lvZ29uZWsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfRWFib3ZlZG90IFhLX0ltYWNyb24gWEtfTmNlZGlsbGEgWEtfT21hY3JvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19LY2VkaWxsYSBYS19Vb2dvbmVrIFhLX1V0aWxkZSBYS19VbWFjcm9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2FtYWNyb24gWEtfaW9nb25layBYS19lYWJvdmVkb3QgWEtfaW1hY3JvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19uY2VkaWxsYSBYS19vbWFjcm9uIFhLX2tjZWRpbGxhIFhLX3VvZ29uZWsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfdXRpbGRlIFhLX3VtYWNyb24gWEtfQmFib3ZlZG90IFhLX2JhYm92ZWRvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19EYWJvdmVkb3QgWEtfV2dyYXZlIFhLX1dhY3V0ZSBYS19kYWJvdmVkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfWWdyYXZlIFhLX0ZhYm92ZWRvdCBYS19mYWJvdmVkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfTWFib3ZlZG90IFhLX21hYm92ZWRvdCBYS19QYWJvdmVkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfd2dyYXZlIFhLX3BhYm92ZWRvdCBYS193YWN1dGUgWEtfU2Fib3ZlZG90CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3lncmF2ZSBYS19XZGlhZXJlc2lzIFhLX3dkaWFlcmVzaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfc2Fib3ZlZG90IFhLX1djaXJjdW1mbGV4IFhLX1RhYm92ZWRvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19ZY2lyY3VtZmxleCBYS193Y2lyY3VtZmxleAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS190YWJvdmVkb3QgWEtfeWNpcmN1bWZsZXggWEtfT0UgWEtfb2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfWWRpYWVyZXNpcyBYS19vdmVybGluZSBYS19rYW5hX2Z1bGxzdG9wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfb3BlbmluZ2JyYWNrZXQgWEtfa2FuYV9jbG9zaW5nYnJhY2tldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19rYW5hX2NvbW1hIFhLX2thbmFfY29uanVuY3RpdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfa2FuYV9taWRkbGVkb3QgWEtfa2FuYV9XTyBYS19rYW5hX2EKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfa2FuYV9pIFhLX2thbmFfdSBYS19rYW5hX2UgWEtfa2FuYV9vCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfeWEgWEtfa2FuYV95dSBYS19rYW5hX3lvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfdHN1IFhLX2thbmFfdHUgWEtfcHJvbG9uZ2Vkc291bmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfa2FuYV9BIFhLX2thbmFfSSBYS19rYW5hX1UgWEtfa2FuYV9FCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfTyBYS19rYW5hX0tBIFhLX2thbmFfS0kgWEtfa2FuYV9LVQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19rYW5hX0tFIFhLX2thbmFfS08gWEtfa2FuYV9TQSBYS19rYW5hX1NISQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19rYW5hX1NVIFhLX2thbmFfU0UgWEtfa2FuYV9TTyBYS19rYW5hX1RBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfQ0hJIFhLX2thbmFfVEkgWEtfa2FuYV9UU1UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfa2FuYV9UVSBYS19rYW5hX1RFIFhLX2thbmFfVE8gWEtfa2FuYV9OQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19rYW5hX05JIFhLX2thbmFfTlUgWEtfa2FuYV9ORSBYS19rYW5hX05PCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfSEEgWEtfa2FuYV9ISSBYS19rYW5hX0ZVIFhLX2thbmFfSFUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfa2FuYV9IRSBYS19rYW5hX0hPIFhLX2thbmFfTUEgWEtfa2FuYV9NSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19rYW5hX01VIFhLX2thbmFfTUUgWEtfa2FuYV9NTyBYS19rYW5hX1lBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfWVUgWEtfa2FuYV9ZTyBYS19rYW5hX1JBIFhLX2thbmFfUkkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfa2FuYV9SVSBYS19rYW5hX1JFIFhLX2thbmFfUk8gWEtfa2FuYV9XQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19rYW5hX04gWEtfdm9pY2Vkc291bmQgWEtfc2VtaXZvaWNlZHNvdW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2thbmFfc3dpdGNoIFhLX0ZhcnNpXzAgWEtfRmFyc2lfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19GYXJzaV8yIFhLX0ZhcnNpXzMgWEtfRmFyc2lfNCBYS19GYXJzaV81CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0ZhcnNpXzYgWEtfRmFyc2lfNyBYS19GYXJzaV84IFhLX0ZhcnNpXzkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX3BlcmNlbnQgWEtfQXJhYmljX3N1cGVyc2NyaXB0X2FsZWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX3R0ZWggWEtfQXJhYmljX3BlaCBYS19BcmFiaWNfdGNoZWgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX2RkYWwgWEtfQXJhYmljX3JyZWggWEtfQXJhYmljX2NvbW1hCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY19mdWxsc3RvcCBYS19BcmFiaWNfMCBYS19BcmFiaWNfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfMiBYS19BcmFiaWNfMyBYS19BcmFiaWNfNAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfNSBYS19BcmFiaWNfNiBYS19BcmFiaWNfNworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfOCBYS19BcmFiaWNfOSBYS19BcmFiaWNfc2VtaWNvbG9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY19xdWVzdGlvbl9tYXJrIFhLX0FyYWJpY19oYW16YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfbWFkZGFvbmFsZWYgWEtfQXJhYmljX2hhbXphb25hbGVmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY19oYW16YW9ud2F3IFhLX0FyYWJpY19oYW16YXVuZGVyYWxlZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfaGFtemFvbnllaCBYS19BcmFiaWNfYWxlZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfYmVoIFhLX0FyYWJpY190ZWhtYXJidXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY190ZWggWEtfQXJhYmljX3RoZWggWEtfQXJhYmljX2plZW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX2hhaCBYS19BcmFiaWNfa2hhaCBYS19BcmFiaWNfZGFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY190aGFsIFhLX0FyYWJpY19yYSBYS19BcmFiaWNfemFpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfc2VlbiBYS19BcmFiaWNfc2hlZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX3NhZCBYS19BcmFiaWNfZGFkIFhLX0FyYWJpY190YWgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX3phaCBYS19BcmFiaWNfYWluIFhLX0FyYWJpY19naGFpbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfdGF0d2VlbCBYS19BcmFiaWNfZmVoIFhLX0FyYWJpY19xYWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX2thZiBYS19BcmFiaWNfbGFtIFhLX0FyYWJpY19tZWVtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY19ub29uIFhLX0FyYWJpY19oYSBYS19BcmFiaWNfaGVoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY193YXcgWEtfQXJhYmljX2FsZWZtYWtzdXJhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY195ZWggWEtfQXJhYmljX2ZhdGhhdGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY19kYW1tYXRhbiBYS19BcmFiaWNfa2FzcmF0YW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX2ZhdGhhIFhLX0FyYWJpY19kYW1tYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfa2FzcmEgWEtfQXJhYmljX3NoYWRkYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfc3VrdW4gWEtfQXJhYmljX21hZGRhX2Fib3ZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FyYWJpY19oYW16YV9hYm92ZSBYS19BcmFiaWNfaGFtemFfYmVsb3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJhYmljX2plaCBYS19BcmFiaWNfdmVoIFhLX0FyYWJpY19rZWhlaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfZ2FmIFhLX0FyYWJpY19ub29uX2dodW5uYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfaGVoX2RvYWNoYXNobWVlIFhLX0ZhcnNpX3llaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfeWVoX2JhcmVlIFhLX0FyYWJpY19oZWhfZ29hbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BcmFiaWNfc3dpdGNoIFhLX0N5cmlsbGljX0dIRV9iYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfZ2hlX2JhciBYS19DeXJpbGxpY19aSEVfZGVzY2VuZGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX3poZV9kZXNjZW5kZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfS0FfZGVzY2VuZGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX2thX2Rlc2NlbmRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19LQV92ZXJ0c3Ryb2tlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX2thX3ZlcnRzdHJva2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfRU5fZGVzY2VuZGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX2VuX2Rlc2NlbmRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19VX3N0cmFpZ2h0IFhLX0N5cmlsbGljX3Vfc3RyYWlnaHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfVV9zdHJhaWdodF9iYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfdV9zdHJhaWdodF9iYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfSEFfZGVzY2VuZGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX2hhX2Rlc2NlbmRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19DSEVfZGVzY2VuZGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX2NoZV9kZXNjZW5kZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfQ0hFX3ZlcnRzdHJva2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfY2hlX3ZlcnRzdHJva2UgWEtfQ3lyaWxsaWNfU0hIQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19zaGhhIFhLX0N5cmlsbGljX1NDSFdBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX3NjaHdhIFhLX0N5cmlsbGljX0lfbWFjcm9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX2lfbWFjcm9uIFhLX0N5cmlsbGljX09fYmFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX29fYmFyIFhLX0N5cmlsbGljX1VfbWFjcm9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX3VfbWFjcm9uIFhLX1NlcmJpYW5fZGplCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX01hY2Vkb25pYV9namUgWEtfQ3lyaWxsaWNfaW8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVWtyYWluaWFuX2llIFhLX1VrcmFuaWFuX2plCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX01hY2Vkb25pYV9kc2UgWEtfVWtyYWluaWFuX2kgWEtfVWtyYW5pYW5faQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Va3JhaW5pYW5feWkgWEtfVWtyYW5pYW5feWkgWEtfQ3lyaWxsaWNfamUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfU2VyYmlhbl9qZSBYS19DeXJpbGxpY19samUgWEtfU2VyYmlhbl9samUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfbmplIFhLX1NlcmJpYW5fbmplIFhLX1NlcmJpYW5fdHNoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19NYWNlZG9uaWFfa2plIFhLX1VrcmFpbmlhbl9naGVfd2l0aF91cHR1cm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQnllbG9ydXNzaWFuX3Nob3J0dSBYS19DeXJpbGxpY19kemhlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1NlcmJpYW5fZHplIFhLX251bWVyb3NpZ24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfU2VyYmlhbl9ESkUgWEtfTWFjZWRvbmlhX0dKRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19JTyBYS19Va3JhaW5pYW5fSUUgWEtfVWtyYW5pYW5fSkUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfTWFjZWRvbmlhX0RTRSBYS19Va3JhaW5pYW5fSSBYS19Va3Jhbmlhbl9JCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1VrcmFpbmlhbl9ZSSBYS19Va3Jhbmlhbl9ZSSBYS19DeXJpbGxpY19KRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19TZXJiaWFuX0pFIFhLX0N5cmlsbGljX0xKRSBYS19TZXJiaWFuX0xKRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19OSkUgWEtfU2VyYmlhbl9OSkUgWEtfU2VyYmlhbl9UU0hFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX01hY2Vkb25pYV9LSkUgWEtfVWtyYWluaWFuX0dIRV9XSVRIX1VQVFVSTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19CeWVsb3J1c3NpYW5fU0hPUlRVIFhLX0N5cmlsbGljX0RaSEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfU2VyYmlhbl9EWkUgWEtfQ3lyaWxsaWNfeXUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfYSBYS19DeXJpbGxpY19iZSBYS19DeXJpbGxpY190c2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfZGUgWEtfQ3lyaWxsaWNfaWUgWEtfQ3lyaWxsaWNfZWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfZ2hlIFhLX0N5cmlsbGljX2hhIFhLX0N5cmlsbGljX2kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfc2hvcnRpIFhLX0N5cmlsbGljX2thCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX2VsIFhLX0N5cmlsbGljX2VtIFhLX0N5cmlsbGljX2VuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX28gWEtfQ3lyaWxsaWNfcGUgWEtfQ3lyaWxsaWNfeWEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfZXIgWEtfQ3lyaWxsaWNfZXMgWEtfQ3lyaWxsaWNfdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfdSBYS19DeXJpbGxpY196aGUgWEtfQ3lyaWxsaWNfdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfc29mdHNpZ24gWEtfQ3lyaWxsaWNfeWVydQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY196ZSBYS19DeXJpbGxpY19zaGEgWEtfQ3lyaWxsaWNfZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19zaGNoYSBYS19DeXJpbGxpY19jaGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfaGFyZHNpZ24gWEtfQ3lyaWxsaWNfWVUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfQSBYS19DeXJpbGxpY19CRSBYS19DeXJpbGxpY19UU0UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfREUgWEtfQ3lyaWxsaWNfSUUgWEtfQ3lyaWxsaWNfRUYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfR0hFIFhLX0N5cmlsbGljX0hBIFhLX0N5cmlsbGljX0kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfU0hPUlRJIFhLX0N5cmlsbGljX0tBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX0VMIFhLX0N5cmlsbGljX0VNIFhLX0N5cmlsbGljX0VOCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0N5cmlsbGljX08gWEtfQ3lyaWxsaWNfUEUgWEtfQ3lyaWxsaWNfWUEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfRVIgWEtfQ3lyaWxsaWNfRVMgWEtfQ3lyaWxsaWNfVEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfVSBYS19DeXJpbGxpY19aSEUgWEtfQ3lyaWxsaWNfVkUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfU09GVFNJR04gWEtfQ3lyaWxsaWNfWUVSVQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19aRSBYS19DeXJpbGxpY19TSEEgWEtfQ3lyaWxsaWNfRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19DeXJpbGxpY19TSENIQSBYS19DeXJpbGxpY19DSEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3lyaWxsaWNfSEFSRFNJR04gWEtfR3JlZWtfQUxQSEFhY2NlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfRVBTSUxPTmFjY2VudCBYS19HcmVla19FVEFhY2NlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfSU9UQWFjY2VudCBYS19HcmVla19JT1RBZGllcmVzaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfT01JQ1JPTmFjY2VudCBYS19HcmVla19VUFNJTE9OYWNjZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX1VQU0lMT05kaWVyZXNpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19PTUVHQWFjY2VudCBYS19HcmVla19hY2NlbnRkaWVyZXNpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19ob3JpemJhciBYS19HcmVla19hbHBoYWFjY2VudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19lcHNpbG9uYWNjZW50IFhLX0dyZWVrX2V0YWFjY2VudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19pb3RhYWNjZW50IFhLX0dyZWVrX2lvdGFkaWVyZXNpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19pb3RhYWNjZW50ZGllcmVzaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfb21pY3JvbmFjY2VudCBYS19HcmVla191cHNpbG9uYWNjZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX3Vwc2lsb25kaWVyZXNpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla191cHNpbG9uYWNjZW50ZGllcmVzaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfb21lZ2FhY2NlbnQgWEtfR3JlZWtfQUxQSEEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfQkVUQSBYS19HcmVla19HQU1NQSBYS19HcmVla19ERUxUQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19FUFNJTE9OIFhLX0dyZWVrX1pFVEEgWEtfR3JlZWtfRVRBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX1RIRVRBIFhLX0dyZWVrX0lPVEEgWEtfR3JlZWtfS0FQUEEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfTEFNREEgWEtfR3JlZWtfTEFNQkRBIFhLX0dyZWVrX01VCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX05VIFhLX0dyZWVrX1hJIFhLX0dyZWVrX09NSUNST04KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfUEkgWEtfR3JlZWtfUkhPIFhLX0dyZWVrX1NJR01BCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX1RBVSBYS19HcmVla19VUFNJTE9OIFhLX0dyZWVrX1BISQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19DSEkgWEtfR3JlZWtfUFNJIFhLX0dyZWVrX09NRUdBCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX2FscGhhIFhLX0dyZWVrX2JldGEgWEtfR3JlZWtfZ2FtbWEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfZGVsdGEgWEtfR3JlZWtfZXBzaWxvbiBYS19HcmVla196ZXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX2V0YSBYS19HcmVla190aGV0YSBYS19HcmVla19pb3RhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX2thcHBhIFhLX0dyZWVrX2xhbWRhIFhLX0dyZWVrX2xhbWJkYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19tdSBYS19HcmVla19udSBYS19HcmVla194aQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19vbWljcm9uIFhLX0dyZWVrX3BpIFhLX0dyZWVrX3JobworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HcmVla19zaWdtYSBYS19HcmVla19maW5hbHNtYWxsc2lnbWEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfdGF1IFhLX0dyZWVrX3Vwc2lsb24gWEtfR3JlZWtfcGhpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dyZWVrX2NoaSBYS19HcmVla19wc2kgWEtfR3JlZWtfb21lZ2EKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR3JlZWtfc3dpdGNoIFhLX2xlZnRyYWRpY2FsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3RvcGxlZnRyYWRpY2FsIFhLX2hvcml6Y29ubmVjdG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3RvcGludGVncmFsIFhLX2JvdGludGVncmFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3ZlcnRjb25uZWN0b3IgWEtfdG9wbGVmdHNxYnJhY2tldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19ib3RsZWZ0c3FicmFja2V0IFhLX3RvcHJpZ2h0c3FicmFja2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2JvdHJpZ2h0c3FicmFja2V0IFhLX3RvcGxlZnRwYXJlbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYm90bGVmdHBhcmVucyBYS190b3ByaWdodHBhcmVucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19ib3RyaWdodHBhcmVucyBYS19sZWZ0bWlkZGxlY3VybHlicmFjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19yaWdodG1pZGRsZWN1cmx5YnJhY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfdG9wbGVmdHN1bW1hdGlvbiBYS19ib3RsZWZ0c3VtbWF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3RvcHZlcnRzdW1tYXRpb25jb25uZWN0b3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYm90dmVydHN1bW1hdGlvbmNvbm5lY3RvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS190b3ByaWdodHN1bW1hdGlvbiBYS19ib3RyaWdodHN1bW1hdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19yaWdodG1pZGRsZXN1bW1hdGlvbiBYS19sZXNzdGhhbmVxdWFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX25vdGVxdWFsIFhLX2dyZWF0ZXJ0aGFuZXF1YWwgWEtfaW50ZWdyYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfdGhlcmVmb3JlIFhLX3ZhcmlhdGlvbiBYS19pbmZpbml0eQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19uYWJsYSBYS19hcHByb3hpbWF0ZSBYS19zaW1pbGFyZXF1YWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaWZvbmx5aWYgWEtfaW1wbGllcyBYS19pZGVudGljYWwgWEtfcmFkaWNhbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19pbmNsdWRlZGluIFhLX2luY2x1ZGVzIFhLX2ludGVyc2VjdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS191bmlvbiBYS19sb2dpY2FsYW5kIFhLX2xvZ2ljYWxvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19wYXJ0aWFsZGVyaXZhdGl2ZSBYS19mdW5jdGlvbiBYS19sZWZ0YXJyb3cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfdXBhcnJvdyBYS19yaWdodGFycm93IFhLX2Rvd25hcnJvdyBYS19ibGFuaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19zb2xpZGRpYW1vbmQgWEtfY2hlY2tlcmJvYXJkIFhLX2h0IFhLX2ZmCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2NyIFhLX2xmIFhLX25sIFhLX3Z0IFhLX2xvd3JpZ2h0Y29ybmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3VwcmlnaHRjb3JuZXIgWEtfdXBsZWZ0Y29ybmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2xvd2xlZnRjb3JuZXIgWEtfY3Jvc3NpbmdsaW5lcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19ob3JpemxpbmVzY2FuMSBYS19ob3JpemxpbmVzY2FuMworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19ob3JpemxpbmVzY2FuNSBYS19ob3JpemxpbmVzY2FuNworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19ob3JpemxpbmVzY2FuOSBYS19sZWZ0dCBYS19yaWdodHQgWEtfYm90dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS190b3B0IFhLX3ZlcnRiYXIgWEtfZW1zcGFjZSBYS19lbnNwYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2VtM3NwYWNlIFhLX2VtNHNwYWNlIFhLX2RpZ2l0c3BhY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfcHVuY3RzcGFjZSBYS190aGluc3BhY2UgWEtfaGFpcnNwYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2VtZGFzaCBYS19lbmRhc2ggWEtfc2lnbmlmYmxhbmsgWEtfZWxsaXBzaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZG91YmJhc2VsaW5lZG90IFhLX29uZXRoaXJkIFhLX3R3b3RoaXJkcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19vbmVmaWZ0aCBYS190d29maWZ0aHMgWEtfdGhyZWVmaWZ0aHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZm91cmZpZnRocyBYS19vbmVzaXh0aCBYS19maXZlc2l4dGhzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2NhcmVvZiBYS19maWdkYXNoIFhLX2xlZnRhbmdsZWJyYWNrZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZGVjaW1hbHBvaW50IFhLX3JpZ2h0YW5nbGVicmFja2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX21hcmtlciBYS19vbmVlaWdodGggWEtfdGhyZWVlaWdodGhzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2ZpdmVlaWdodGhzIFhLX3NldmVuZWlnaHRocyBYS190cmFkZW1hcmsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfc2lnbmF0dXJlbWFyayBYS190cmFkZW1hcmtpbmNpcmNsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19sZWZ0b3BlbnRyaWFuZ2xlIFhLX3JpZ2h0b3BlbnRyaWFuZ2xlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2Vtb3BlbmNpcmNsZSBYS19lbW9wZW5yZWN0YW5nbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfbGVmdHNpbmdsZXF1b3RlbWFyayBYS19yaWdodHNpbmdsZXF1b3RlbWFyaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19sZWZ0ZG91YmxlcXVvdGVtYXJrIFhLX3JpZ2h0ZG91YmxlcXVvdGVtYXJrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3ByZXNjcmlwdGlvbiBYS19taW51dGVzIFhLX3NlY29uZHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfbGF0aW5jcm9zcyBYS19oZXhhZ3JhbSBYS19maWxsZWRyZWN0YnVsbGV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2ZpbGxlZGxlZnR0cmlidWxsZXQgWEtfZmlsbGVkcmlnaHR0cmlidWxsZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZW1maWxsZWRjaXJjbGUgWEtfZW1maWxsZWRyZWN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2Vub3BlbmNpcmNidWxsZXQgWEtfZW5vcGVuc3F1YXJlYnVsbGV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX29wZW5yZWN0YnVsbGV0IFhLX29wZW50cmlidWxsZXR1cAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19vcGVudHJpYnVsbGV0ZG93biBYS19vcGVuc3RhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19lbmZpbGxlZGNpcmNidWxsZXQgWEtfZW5maWxsZWRzcWJ1bGxldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19maWxsZWR0cmlidWxsZXR1cCBYS19maWxsZWR0cmlidWxsZXRkb3duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2xlZnRwb2ludGVyIFhLX3JpZ2h0cG9pbnRlciBYS19jbHViCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2RpYW1vbmQgWEtfaGVhcnQgWEtfbWFsdGVzZWNyb3NzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2RhZ2dlciBYS19kb3VibGVkYWdnZXIgWEtfY2hlY2ttYXJrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2JhbGxvdGNyb3NzIFhLX211c2ljYWxzaGFycCBYS19tdXNpY2FsZmxhdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19tYWxlc3ltYm9sIFhLX2ZlbWFsZXN5bWJvbCBYS190ZWxlcGhvbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfdGVsZXBob25lcmVjb3JkZXIgWEtfcGhvbm9ncmFwaGNvcHlyaWdodAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19jYXJldCBYS19zaW5nbGVsb3dxdW90ZW1hcmsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfZG91YmxlbG93cXVvdGVtYXJrIFhLX2N1cnNvcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19sZWZ0Y2FyZXQgWEtfcmlnaHRjYXJldCBYS19kb3duY2FyZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfdXBjYXJldCBYS19vdmVyYmFyIFhLX2Rvd250YWNrIFhLX3Vwc2hvZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19kb3duc3RpbGUgWEtfdW5kZXJiYXIgWEtfam90IFhLX3F1YWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfdXB0YWNrIFhLX2NpcmNsZSBYS191cHN0aWxlIFhLX2Rvd25zaG9lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3JpZ2h0c2hvZSBYS19sZWZ0c2hvZSBYS19sZWZ0dGFjaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19yaWdodHRhY2sgWEtfaGVicmV3X2RvdWJsZWxvd2xpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X2FsZXBoIFhLX2hlYnJld19iZXQgWEtfaGVicmV3X2JldGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X2dpbWVsIFhLX2hlYnJld19naW1tZWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X2RhbGV0IFhLX2hlYnJld19kYWxldGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X2hlIFhLX2hlYnJld193YXcgWEtfaGVicmV3X3phaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X3pheWluIFhLX2hlYnJld19jaGV0IFhLX2hlYnJld19oZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X3RldCBYS19oZWJyZXdfdGV0aCBYS19oZWJyZXdfeW9kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2hlYnJld19maW5hbGthcGggWEtfaGVicmV3X2thcGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X2xhbWVkIFhLX2hlYnJld19maW5hbG1lbQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19oZWJyZXdfbWVtIFhLX2hlYnJld19maW5hbG51biBYS19oZWJyZXdfbnVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2hlYnJld19zYW1lY2ggWEtfaGVicmV3X3NhbWVraAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19oZWJyZXdfYXlpbiBYS19oZWJyZXdfZmluYWxwZSBYS19oZWJyZXdfcGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X2ZpbmFsemFkZSBYS19oZWJyZXdfZmluYWx6YWRpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2hlYnJld196YWRlIFhLX2hlYnJld196YWRpIFhLX2hlYnJld19xb3BoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2hlYnJld19rdWYgWEtfaGVicmV3X3Jlc2ggWEtfaGVicmV3X3NoaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfaGVicmV3X3RhdyBYS19oZWJyZXdfdGFmIFhLX0hlYnJld19zd2l0Y2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9rb2thaSBYS19UaGFpX2tob2toYWkgWEtfVGhhaV9raG9raHVhdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX2tob2tod2FpIFhLX1RoYWlfa2hva2hvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX2tob3Jha2hhbmcgWEtfVGhhaV9uZ29uZ3UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9jaG9jaGFuIFhLX1RoYWlfY2hvY2hpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9jaG9jaGFuZyBYS19UaGFpX3Nvc28gWEtfVGhhaV9jaG9jaG9lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfeW95aW5nIFhLX1RoYWlfZG9jaGFkYSBYS19UaGFpX3RvcGF0YWsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV90aG90aGFuIFhLX1RoYWlfdGhvbmFuZ21vbnRobworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX3Rob3BodXRoYW8gWEtfVGhhaV9ub25lbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX2RvZGVrIFhLX1RoYWlfdG90YW8gWEtfVGhhaV90aG90aHVuZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX3Rob3RoYWhhbiBYS19UaGFpX3Rob3Rob25nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfbm9udSBYS19UaGFpX2JvYmFpbWFpIFhLX1RoYWlfcG9wbGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9waG9waHVuZyBYS19UaGFpX2ZvZmEgWEtfVGhhaV9waG9waGFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfZm9mYW4gWEtfVGhhaV9waG9zYW1waGFvIFhLX1RoYWlfbW9tYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX3lveWFrIFhLX1RoYWlfcm9ydWEgWEtfVGhhaV9ydQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX2xvbGluZyBYS19UaGFpX2x1IFhLX1RoYWlfd293YWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfc29zYWxhIFhLX1RoYWlfc29ydXNpIFhLX1RoYWlfc29zdWEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9ob2hpcCBYS19UaGFpX2xvY2h1bGEgWEtfVGhhaV9vYW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfaG9ub2todWsgWEtfVGhhaV9wYWl5YW5ub2kKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9zYXJhYSBYS19UaGFpX21haWhhbmFrYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9zYXJhYWEgWEtfVGhhaV9zYXJhYW0gWEtfVGhhaV9zYXJhaQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX3NhcmFpaSBYS19UaGFpX3NhcmF1ZSBYS19UaGFpX3NhcmF1ZWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9zYXJhdSBYS19UaGFpX3NhcmF1dSBYS19UaGFpX3BoaW50aHUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9tYWloYW5ha2F0X21haXRobyBYS19UaGFpX2JhaHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9zYXJhZSBYS19UaGFpX3NhcmFhZSBYS19UaGFpX3NhcmFvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfc2FyYWFpbWFpbXVhbiBYS19UaGFpX3NhcmFhaW1haW1hbGFpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfbGFra2hhbmd5YW8gWEtfVGhhaV9tYWl5YW1vaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19UaGFpX21haXRhaWtodSBYS19UaGFpX21haWVrIFhLX1RoYWlfbWFpdGhvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfbWFpdHJpIFhLX1RoYWlfbWFpY2hhdHRhd2EKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV90aGFudGhha2hhdCBYS19UaGFpX25pa2hhaGl0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfbGVrc3VuIFhLX1RoYWlfbGVrbnVuZyBYS19UaGFpX2xla3NvbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9sZWtzYW0gWEtfVGhhaV9sZWtzaSBYS19UaGFpX2xla2hhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1RoYWlfbGVraG9rIFhLX1RoYWlfbGVrY2hldCBYS19UaGFpX2xla3BhZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVGhhaV9sZWtrYW8gWEtfSGFuZ3VsIFhLX0hhbmd1bF9TdGFydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfRW5kIFhLX0hhbmd1bF9IYW5qYSBYS19IYW5ndWxfSmFtbworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfUm9tYWphIFhLX0hhbmd1bF9Db2RlaW5wdXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX0plb25qYSBYS19IYW5ndWxfQmFuamEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX1ByZUhhbmphIFhLX0hhbmd1bF9Qb3N0SGFuamEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX1NpbmdsZUNhbmRpZGF0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfTXVsdGlwbGVDYW5kaWRhdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX1ByZXZpb3VzQ2FuZGlkYXRlIFhLX0hhbmd1bF9TcGVjaWFsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9zd2l0Y2ggWEtfSGFuZ3VsX0tpeWVvZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfU3NhbmdLaXllb2cgWEtfSGFuZ3VsX0tpeWVvZ1Npb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX05pZXVuIFhLX0hhbmd1bF9OaWV1bkppZXVqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9OaWV1bkhpZXVoIFhLX0hhbmd1bF9EaWtldWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX1NzYW5nRGlrZXVkIFhLX0hhbmd1bF9SaWV1bAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfUmlldWxLaXllb2cgWEtfSGFuZ3VsX1JpZXVsTWlldW0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX1JpZXVsUGlldWIgWEtfSGFuZ3VsX1JpZXVsU2lvcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfUmlldWxUaWV1dCBYS19IYW5ndWxfUmlldWxQaGlldWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX1JpZXVsSGlldWggWEtfSGFuZ3VsX01pZXVtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9QaWV1YiBYS19IYW5ndWxfU3NhbmdQaWV1YgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfUGlldWJTaW9zIFhLX0hhbmd1bF9TaW9zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9Tc2FuZ1Npb3MgWEtfSGFuZ3VsX0lldW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9KaWV1aiBYS19IYW5ndWxfU3NhbmdKaWV1agorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfQ2lldWMgWEtfSGFuZ3VsX0toaWV1cQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfVGlldXQgWEtfSGFuZ3VsX1BoaWV1ZgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfSGlldWggWEtfSGFuZ3VsX0EgWEtfSGFuZ3VsX0FFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9ZQSBYS19IYW5ndWxfWUFFIFhLX0hhbmd1bF9FTworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfRSBYS19IYW5ndWxfWUVPIFhLX0hhbmd1bF9ZRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfTyBYS19IYW5ndWxfV0EgWEtfSGFuZ3VsX1dBRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfT0UgWEtfSGFuZ3VsX1lPIFhLX0hhbmd1bF9VCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9XRU8gWEtfSGFuZ3VsX1dFIFhLX0hhbmd1bF9XSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfWVUgWEtfSGFuZ3VsX0VVIFhLX0hhbmd1bF9ZSQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfSSBYS19IYW5ndWxfSl9LaXllb2cKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX0pfU3NhbmdLaXllb2cgWEtfSGFuZ3VsX0pfS2l5ZW9nU2lvcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfSl9OaWV1biBYS19IYW5ndWxfSl9OaWV1bkppZXVqCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9KX05pZXVuSGlldWggWEtfSGFuZ3VsX0pfRGlrZXVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9KX1JpZXVsIFhLX0hhbmd1bF9KX1JpZXVsS2l5ZW9nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9KX1JpZXVsTWlldW0gWEtfSGFuZ3VsX0pfUmlldWxQaWV1YgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfSl9SaWV1bFNpb3MgWEtfSGFuZ3VsX0pfUmlldWxUaWV1dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfSl9SaWV1bFBoaWV1ZiBYS19IYW5ndWxfSl9SaWV1bEhpZXVoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9KX01pZXVtIFhLX0hhbmd1bF9KX1BpZXViCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9KX1BpZXViU2lvcyBYS19IYW5ndWxfSl9TaW9zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9KX1NzYW5nU2lvcyBYS19IYW5ndWxfSl9JZXVuZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfSl9KaWV1aiBYS19IYW5ndWxfSl9DaWV1YworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfSl9LaGlldXEgWEtfSGFuZ3VsX0pfVGlldXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX0pfUGhpZXVmIFhLX0hhbmd1bF9KX0hpZXVoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9SaWV1bFllb3JpbkhpZXVoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9TdW5reWVvbmdldW1NaWV1bQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfU3Vua3llb25nZXVtUGlldWIgWEtfSGFuZ3VsX1BhblNpb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX0trb2dqaURhbHJpbklldW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0hhbmd1bF9TdW5reWVvbmdldW1QaGlldWYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX1llb3JpbkhpZXVoIFhLX0hhbmd1bF9BcmFlQQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19IYW5ndWxfQXJhZUFFIFhLX0hhbmd1bF9KX1BhblNpb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX0pfS2tvZ2ppRGFscmluSWV1bmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfSGFuZ3VsX0pfWWVvcmluSGlldWggWEtfS29yZWFuX1dvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9ldGVybml0eSBYS19Bcm1lbmlhbl9saWdhdHVyZV9ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9mdWxsX3N0b3AgWEtfQXJtZW5pYW5fdmVyamFrZXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fcGFyZW5yaWdodCBYS19Bcm1lbmlhbl9wYXJlbmxlZnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fZ3VpbGxlbW90cmlnaHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fZ3VpbGxlbW90bGVmdCBYS19Bcm1lbmlhbl9lbV9kYXNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX2RvdCBYS19Bcm1lbmlhbl9taWpha2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX3NlcGFyYXRpb25fbWFyayBYS19Bcm1lbmlhbl9idXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fY29tbWEgWEtfQXJtZW5pYW5fZW5fZGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9oeXBoZW4gWEtfQXJtZW5pYW5feWVudGFtbmEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fZWxsaXBzaXMgWEtfQXJtZW5pYW5fZXhjbGFtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX2FtYW5hayBYS19Bcm1lbmlhbl9hY2NlbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fc2hlc2h0IFhLX0FybWVuaWFuX3F1ZXN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX3BhcnV5ayBYS19Bcm1lbmlhbl9BWUIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fYXliIFhLX0FybWVuaWFuX0JFTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9iZW4gWEtfQXJtZW5pYW5fR0lNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX2dpbSBYS19Bcm1lbmlhbl9EQSBYS19Bcm1lbmlhbl9kYQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9ZRUNIIFhLX0FybWVuaWFuX3llY2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fWkEgWEtfQXJtZW5pYW5femEgWEtfQXJtZW5pYW5fRQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9lIFhLX0FybWVuaWFuX0FUIFhLX0FybWVuaWFuX2F0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX1RPIFhLX0FybWVuaWFuX3RvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX1pIRSBYS19Bcm1lbmlhbl96aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fSU5JIFhLX0FybWVuaWFuX2luaQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9MWVVOIFhLX0FybWVuaWFuX2x5dW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fS0hFIFhLX0FybWVuaWFuX2toZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9UU0EgWEtfQXJtZW5pYW5fdHNhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX0tFTiBYS19Bcm1lbmlhbl9rZW4gWEtfQXJtZW5pYW5fSE8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5faG8gWEtfQXJtZW5pYW5fRFpBIFhLX0FybWVuaWFuX2R6YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9HSEFUIFhLX0FybWVuaWFuX2doYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fVENIRSBYS19Bcm1lbmlhbl90Y2hlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX01FTiBYS19Bcm1lbmlhbl9tZW4gWEtfQXJtZW5pYW5fSEkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5faGkgWEtfQXJtZW5pYW5fTlUgWEtfQXJtZW5pYW5fbnUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fU0hBIFhLX0FybWVuaWFuX3NoYSBYS19Bcm1lbmlhbl9WTworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl92byBYS19Bcm1lbmlhbl9DSEEgWEtfQXJtZW5pYW5fY2hhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX1BFIFhLX0FybWVuaWFuX3BlIFhLX0FybWVuaWFuX0pFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX2plIFhLX0FybWVuaWFuX1JBIFhLX0FybWVuaWFuX3JhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX1NFIFhLX0FybWVuaWFuX3NlIFhLX0FybWVuaWFuX1ZFVgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl92ZXYgWEtfQXJtZW5pYW5fVFlVTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl90eXVuIFhLX0FybWVuaWFuX1JFCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0FybWVuaWFuX3JlIFhLX0FybWVuaWFuX1RTTworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl90c28gWEtfQXJtZW5pYW5fVllVTgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl92eXVuIFhLX0FybWVuaWFuX1BZVVIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fcHl1ciBYS19Bcm1lbmlhbl9LRSBYS19Bcm1lbmlhbl9rZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9PIFhLX0FybWVuaWFuX28gWEtfQXJtZW5pYW5fRkUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQXJtZW5pYW5fZmUgWEtfQXJtZW5pYW5fYXBvc3Ryb3BoZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Bcm1lbmlhbl9zZWN0aW9uX3NpZ24gWEtfR2VvcmdpYW5fYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR2VvcmdpYW5fYmFuIFhLX0dlb3JnaWFuX2dhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HZW9yZ2lhbl9kb24gWEtfR2VvcmdpYW5fZW4gWEtfR2VvcmdpYW5fdmluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dlb3JnaWFuX3plbiBYS19HZW9yZ2lhbl90YW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR2VvcmdpYW5faW4gWEtfR2VvcmdpYW5fa2FuIFhLX0dlb3JnaWFuX2xhcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HZW9yZ2lhbl9tYW4gWEtfR2VvcmdpYW5fbmFyIFhLX0dlb3JnaWFuX29uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dlb3JnaWFuX3BhciBYS19HZW9yZ2lhbl96aGFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dlb3JnaWFuX3JhZSBYS19HZW9yZ2lhbl9zYW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR2VvcmdpYW5fdGFyIFhLX0dlb3JnaWFuX3VuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dlb3JnaWFuX3BoYXIgWEtfR2VvcmdpYW5fa2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HZW9yZ2lhbl9naGFuIFhLX0dlb3JnaWFuX3FhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HZW9yZ2lhbl9zaGluIFhLX0dlb3JnaWFuX2NoaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR2VvcmdpYW5fY2FuIFhLX0dlb3JnaWFuX2ppbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HZW9yZ2lhbl9jaWwgWEtfR2VvcmdpYW5fY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HZW9yZ2lhbl94YW4gWEtfR2VvcmdpYW5famhhbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19HZW9yZ2lhbl9oYWUgWEtfR2VvcmdpYW5faGUgWEtfR2VvcmdpYW5faGllCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0dlb3JnaWFuX3dlIFhLX0dlb3JnaWFuX2hhciBYS19HZW9yZ2lhbl9ob2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfR2VvcmdpYW5fZmkgWEtfQ2NlZGlsbGFhYm92ZWRvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19YYWJvdmVkb3QgWEtfUWFib3ZlZG90IFhLX0lFIFhLX1VPCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1pzdHJva2UgWEtfY2NlZGlsbGFhYm92ZWRvdCBYS194YWJvdmVkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfcWFib3ZlZG90IFhLX2llIFhLX3VvIFhLX3pzdHJva2UgWEtfU0NIV0EKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfc2Nod2EgWEtfTGJlbG93ZG90IFhLX0xzdHJva2ViZWxvd2RvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19sYmVsb3dkb3QgWEtfbHN0cm9rZWJlbG93ZG90IFhLX0d0aWxkZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19ndGlsZGUgWEtfQWJlbG93ZG90IFhLX2FiZWxvd2RvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BaG9vayBYS19haG9vayBYS19BY2lyY3VtZmxleGFjdXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2FjaXJjdW1mbGV4YWN1dGUgWEtfQWNpcmN1bWZsZXhncmF2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19hY2lyY3VtZmxleGdyYXZlIFhLX0FjaXJjdW1mbGV4aG9vaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19hY2lyY3VtZmxleGhvb2sgWEtfQWNpcmN1bWZsZXh0aWxkZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19hY2lyY3VtZmxleHRpbGRlIFhLX0FjaXJjdW1mbGV4YmVsb3dkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYWNpcmN1bWZsZXhiZWxvd2RvdCBYS19BYnJldmVhY3V0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19hYnJldmVhY3V0ZSBYS19BYnJldmVncmF2ZSBYS19hYnJldmVncmF2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19BYnJldmVob29rIFhLX2FicmV2ZWhvb2sgWEtfQWJyZXZldGlsZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYWJyZXZldGlsZGUgWEtfQWJyZXZlYmVsb3dkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfYWJyZXZlYmVsb3dkb3QgWEtfRWJlbG93ZG90IFhLX2ViZWxvd2RvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19FaG9vayBYS19laG9vayBYS19FdGlsZGUgWEtfZXRpbGRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0VjaXJjdW1mbGV4YWN1dGUgWEtfZWNpcmN1bWZsZXhhY3V0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19FY2lyY3VtZmxleGdyYXZlIFhLX2VjaXJjdW1mbGV4Z3JhdmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfRWNpcmN1bWZsZXhob29rIFhLX2VjaXJjdW1mbGV4aG9vaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19FY2lyY3VtZmxleHRpbGRlIFhLX2VjaXJjdW1mbGV4dGlsZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfRWNpcmN1bWZsZXhiZWxvd2RvdCBYS19lY2lyY3VtZmxleGJlbG93ZG90CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX0lob29rIFhLX2lob29rIFhLX0liZWxvd2RvdCBYS19pYmVsb3dkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfT2JlbG93ZG90IFhLX29iZWxvd2RvdCBYS19PaG9vayBYS19vaG9vaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19PY2lyY3VtZmxleGFjdXRlIFhLX29jaXJjdW1mbGV4YWN1dGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfT2NpcmN1bWZsZXhncmF2ZSBYS19vY2lyY3VtZmxleGdyYXZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX09jaXJjdW1mbGV4aG9vayBYS19vY2lyY3VtZmxleGhvb2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfT2NpcmN1bWZsZXh0aWxkZSBYS19vY2lyY3VtZmxleHRpbGRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX09jaXJjdW1mbGV4YmVsb3dkb3QgWEtfb2NpcmN1bWZsZXhiZWxvd2RvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19PaG9ybmFjdXRlIFhLX29ob3JuYWN1dGUgWEtfT2hvcm5ncmF2ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19vaG9ybmdyYXZlIFhLX09ob3JuaG9vayBYS19vaG9ybmhvb2sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfT2hvcm50aWxkZSBYS19vaG9ybnRpbGRlIFhLX09ob3JuYmVsb3dkb3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfb2hvcm5iZWxvd2RvdCBYS19VYmVsb3dkb3QgWEtfdWJlbG93ZG90CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX1Vob29rIFhLX3Vob29rIFhLX1Vob3JuYWN1dGUgWEtfdWhvcm5hY3V0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19VaG9ybmdyYXZlIFhLX3Vob3JuZ3JhdmUgWEtfVWhvcm5ob29rCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3Vob3JuaG9vayBYS19VaG9ybnRpbGRlIFhLX3Vob3JudGlsZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfVWhvcm5iZWxvd2RvdCBYS191aG9ybmJlbG93ZG90IFhLX1liZWxvd2RvdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS195YmVsb3dkb3QgWEtfWWhvb2sgWEtfeWhvb2sgWEtfWXRpbGRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX3l0aWxkZSBYS19PaG9ybiBYS19vaG9ybiBYS19VaG9ybiBYS191aG9ybgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19jb21iaW5pbmdfdGlsZGUgWEtfY29tYmluaW5nX2dyYXZlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhLX2NvbWJpbmluZ19hY3V0ZSBYS19jb21iaW5pbmdfaG9vaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19jb21iaW5pbmdfYmVsb3dkb3QgWEtfRWN1U2lnbiBYS19Db2xvblNpZ24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfQ3J1emVpcm9TaWduIFhLX0ZGcmFuY1NpZ24gWEtfTGlyYVNpZ24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfTWlsbFNpZ24gWEtfTmFpcmFTaWduIFhLX1Blc2V0YVNpZ24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEtfUnVwZWVTaWduIFhLX1dvblNpZ24gWEtfTmV3U2hlcWVsU2lnbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYS19Eb25nU2lnbiBYS19FdXJvU2lnbgogCi0iIERlZmluZSB0aGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCi0iIEZvciB2ZXJzaW9uIDUuNyBhbmQgZWFybGllcjogb25seSB3aGVuIG5vdCBkb25lIGFscmVhZHkKLSIgRm9yIHZlcnNpb24gNS44IGFuZCBsYXRlcjogb25seSB3aGVuIGFuIGl0ZW0gZG9lc24ndCBoYXZlIGhpZ2hsaWdodGluZyB5ZXQKLWlmIHZlcnNpb24gPj0gNTA4IHx8ICFleGlzdHMoImRpZF94bW9kbWFwX3N5bl9pbml0cyIpCi0gIGlmIHZlcnNpb24gPCA1MDgKLSAgICBsZXQgZGlkX3htb2RtYXBfc3luX2luaXRzID0gMQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGxpbmsgPGFyZ3M+Ci0gIGVsc2UKLSAgICBjb21tYW5kIC1uYXJncz0rIEhpTGluayBoaSBkZWYgbGluayA8YXJncz4KLSAgZW5kaWYKKyIgI2luY2x1ZGUgPFgxMS9TdW5rZXlzeW0uaD4KK3N5biBrZXl3b3JkIHhtb2RtYXBLZXlTeW0gICAgIFN1blhLX1N5c19SZXEgU3VuWEtfUHJpbnRfU2NyZWVuIFN1blhLX0NvbXBvc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU3VuWEtfQWx0R3JhcGggU3VuWEtfUGFnZVVwIFN1blhLX1BhZ2VEb3duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFN1blhLX1VuZG8gU3VuWEtfQWdhaW4gU3VuWEtfRmluZCBTdW5YS19TdG9wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFN1blhLX1Byb3BzIFN1blhLX0Zyb250IFN1blhLX0NvcHkgU3VuWEtfT3BlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBTdW5YS19QYXN0ZSBTdW5YS19DdXQgU3VuWEtfUG93ZXJTd2l0Y2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU3VuWEtfQXVkaW9Mb3dlclZvbHVtZSBTdW5YS19BdWRpb011dGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU3VuWEtfQXVkaW9SYWlzZVZvbHVtZSBTdW5YS19WaWRlb0RlZ2F1c3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU3VuWEtfVmlkZW9Mb3dlckJyaWdodG5lc3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU3VuWEtfVmlkZW9SYWlzZUJyaWdodG5lc3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgU3VuWEtfUG93ZXJTd2l0Y2hTaGlmdAogCi0gIEhpTGluayB4bW9kbWFwQ29tbWVudAkgICAgQ29tbWVudAotICBIaUxpbmsgeG1vZG1hcFRvZG8JICAgIFRvZG8KLSAgSGlMaW5rIHhtb2RtYXBJbnQJICAgIE51bWJlcgotICBIaUxpbmsgeG1vZG1hcEhleAkgICAgTnVtYmVyCi0gIEhpTGluayB4bW9kbWFwT2N0YWwJICAgIE51bWJlcgotICBIaUxpbmsgeG1vZG1hcE9jdGFsRXJyb3IgIEVycm9yCi0gIEhpTGluayB4bW9kbWFwS2V5U3ltCSAgICBDb25zdGFudAotICBIaUxpbmsgeG1vZG1hcEtleXdvcmQJICAgIEtleXdvcmQKLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCisiICNpbmNsdWRlIDxYMTEvWEY4NmtleXN5bS5oPgorc3luIGtleXdvcmQgeG1vZG1hcEtleVN5bSAgICAgWEY4NlhLX01vZGVMb2NrIFhGODZYS19TdGFuZGJ5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19BdWRpb0xvd2VyVm9sdW1lIFhGODZYS19BdWRpb011dGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0F1ZGlvUmFpc2VWb2x1bWUgWEY4NlhLX0F1ZGlvUGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfQXVkaW9TdG9wIFhGODZYS19BdWRpb1ByZXYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0F1ZGlvTmV4dCBYRjg2WEtfSG9tZVBhZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX01haWwgWEY4NlhLX1N0YXJ0IFhGODZYS19TZWFyY2gKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0F1ZGlvUmVjb3JkIFhGODZYS19DYWxjdWxhdG9yCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19NZW1vIFhGODZYS19Ub0RvTGlzdCBYRjg2WEtfQ2FsZW5kYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1Bvd2VyRG93biBYRjg2WEtfQ29udHJhc3RBZGp1c3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1JvY2tlclVwIFhGODZYS19Sb2NrZXJEb3duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19Sb2NrZXJFbnRlciBYRjg2WEtfQmFjayBYRjg2WEtfRm9yd2FyZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfU3RvcCBYRjg2WEtfUmVmcmVzaCBYRjg2WEtfUG93ZXJPZmYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1dha2VVcCBYRjg2WEtfRWplY3QgWEY4NlhLX1NjcmVlblNhdmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19XV1cgWEY4NlhLX1NsZWVwIFhGODZYS19GYXZvcml0ZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0F1ZGlvUGF1c2UgWEY4NlhLX0F1ZGlvTWVkaWEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX015Q29tcHV0ZXIgWEY4NlhLX1ZlbmRvckhvbWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0xpZ2h0QnVsYiBYRjg2WEtfU2hvcCBYRjg2WEtfSGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfT3BlblVSTCBYRjg2WEtfQWRkRmF2b3JpdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0hvdExpbmtzIFhGODZYS19CcmlnaHRuZXNzQWRqdXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19GaW5hbmNlIFhGODZYS19Db21tdW5pdHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0F1ZGlvUmV3aW5kIFhGODZYS19YRjg2QmFja0ZvcndhcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0xhdW5jaDAgWEY4NlhLX0xhdW5jaDEgWEY4NlhLX0xhdW5jaDIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0xhdW5jaDMgWEY4NlhLX0xhdW5jaDQgWEY4NlhLX0xhdW5jaDUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0xhdW5jaDYgWEY4NlhLX0xhdW5jaDcgWEY4NlhLX0xhdW5jaDgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0xhdW5jaDkgWEY4NlhLX0xhdW5jaEEgWEY4NlhLX0xhdW5jaEIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0xhdW5jaEMgWEY4NlhLX0xhdW5jaEQgWEY4NlhLX0xhdW5jaEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0xhdW5jaEYgWEY4NlhLX0FwcGxpY2F0aW9uTGVmdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfQXBwbGljYXRpb25SaWdodCBYRjg2WEtfQm9vaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfQ0QgWEY4NlhLX0NhbGN1bGF0ZXIgWEY4NlhLX0NsZWFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19DbG9zZSBYRjg2WEtfQ29weSBYRjg2WEtfQ3V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19EaXNwbGF5IFhGODZYS19ET1MgWEY4NlhLX0RvY3VtZW50cworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfRXhjZWwgWEY4NlhLX0V4cGxvcmVyIFhGODZYS19HYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19HbyBYRjg2WEtfaVRvdWNoIFhGODZYS19Mb2dPZmYKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX01hcmtldCBYRjg2WEtfTWVldGluZyBYRjg2WEtfTWVudUtCCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19NZW51UEIgWEY4NlhLX015U2l0ZXMgWEY4NlhLX05ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfTmV3cyBYRjg2WEtfT2ZmaWNlSG9tZSBYRjg2WEtfT3BlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfT3B0aW9uIFhGODZYS19QYXN0ZSBYRjg2WEtfUGhvbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1EgWEY4NlhLX1JlcGx5IFhGODZYS19SZWxvYWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1JvdGF0ZVdpbmRvd3MgWEY4NlhLX1JvdGF0aW9uUEIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1JvdGF0aW9uS0IgWEY4NlhLX1NhdmUgWEY4NlhLX1Njcm9sbFVwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19TY3JvbGxEb3duIFhGODZYS19TY3JvbGxDbGljaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfU2VuZCBYRjg2WEtfU3BlbGwgWEY4NlhLX1NwbGl0U2NyZWVuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19TdXBwb3J0IFhGODZYS19UYXNrUGFuZSBYRjg2WEtfVGVybWluYWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1Rvb2xzIFhGODZYS19UcmF2ZWwgWEY4NlhLX1VzZXJQQgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfVXNlcjFLQiBYRjg2WEtfVXNlcjJLQiBYRjg2WEtfVmlkZW8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1doZWVsQnV0dG9uIFhGODZYS19Xb3JkIFhGODZYS19YZmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19ab29tSW4gWEY4NlhLX1pvb21PdXQgWEY4NlhLX0F3YXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX01lc3NlbmdlciBYRjg2WEtfV2ViQ2FtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19NYWlsRm9yd2FyZCBYRjg2WEtfUGljdHVyZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX011c2ljIFhGODZYS19Td2l0Y2hfVlRfMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfU3dpdGNoX1ZUXzIgWEY4NlhLX1N3aXRjaF9WVF8zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19Td2l0Y2hfVlRfNCBYRjg2WEtfU3dpdGNoX1ZUXzUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX1N3aXRjaF9WVF82IFhGODZYS19Td2l0Y2hfVlRfNworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfU3dpdGNoX1ZUXzggWEY4NlhLX1N3aXRjaF9WVF85CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhGODZYS19Td2l0Y2hfVlRfMTAgWEY4NlhLX1N3aXRjaF9WVF8xMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfU3dpdGNoX1ZUXzEyIFhGODZYS19VbmdyYWIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgWEY4NlhLX0NsZWFyR3JhYiBYRjg2WEtfTmV4dF9WTW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBYRjg2WEtfUHJldl9WTW9kZQorCitzeW4ga2V5d29yZCB4bW9kbWFwS2V5d29yZCAgICBrZXljb2RlIGtleXN5bSBjbGVhciBhZGQgcmVtb3ZlIHBvaW50ZXIKKworaGkgZGVmIGxpbmsgeG1vZG1hcENvbW1lbnQgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgeG1vZG1hcFRvZG8gICAgICAgVG9kbworaGkgZGVmIGxpbmsgeG1vZG1hcEludCAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayB4bW9kbWFwSGV4ICAgICAgICBOdW1iZXIKK2hpIGRlZiBsaW5rIHhtb2RtYXBPY3RhbCAgICAgIE51bWJlcgoraGkgZGVmIGxpbmsgeG1vZG1hcE9jdGFsRXJyb3IgRXJyb3IKK2hpIGRlZiBsaW5rIHhtb2RtYXBLZXlTeW0gICAgIENvbnN0YW50CitoaSBkZWYgbGluayB4bW9kbWFwS2V5d29yZCAgICBLZXl3b3JkCiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gInhtb2RtYXAiCiAKLSIgdmltOiBzZXQgc3RzPTIgc3c9MjoKK2xldCAmY3BvID0gczpjcG9fc2F2ZQordW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgveWFtbC52aW0gYi9ydW50aW1lL3N5bnRheC95YW1sLnZpbQppbmRleCA1NmU1NzhiLi4xYmUwMGVlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC95YW1sLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC95YW1sLnZpbQpAQCAtMSwxMDUgKzEsODMgQEAKICIgVmltIHN5bnRheCBmaWxlCi0iIExhbmd1YWdlOgkgICAgWUFNTCAoWUFNTCBBaW4ndCBNYXJrdXAgTGFuZ3VhZ2UpCi0iIE1haW50YWluZXI6CSAgICBOaWtvbGFpIFdlaWJ1bGwgPHNvdXJjZUBwY3Bwb3BwZXIub3JnPgotIiBVUkw6CQkgICAgaHR0cDovL3d3dy5wY3Bwb3BwZXIub3JnL3ZpbS9zeW50YXgvcGNwL3lhbWwvCi0iIExhdGVzdCBSZXZpc2lvbjogIDIwMDQtMDUtMjIKLSIgYXJjaC10YWc6CSAgICAwMWJmOGVmMS0zMzVmLTQ2OTItYTIyOC00ODQ2Y2I2NGNkMTYKKyIgTGFuZ3VhZ2U6ICAgICAgICAgWUFNTCAoWUFNTCBBaW4ndCBNYXJrdXAgTGFuZ3VhZ2UpCisiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bmlrb2xhaSt3b3JrLnZpbUBiaXR3aS5zZT4KKyIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwNS0wNi0yNwogCi1pZiB2ZXJzaW9uIDwgNjAwCi0gIHN5bnRheCBjbGVhcgotZWxzZWlmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCitpZiBleGlzdHMoImI6Y3VycmVudF9zeW50YXgiKQogICBmaW5pc2gKIGVuZGlmCiAKLSIgVG9kbwotc3luIGtleXdvcmQgeWFtbFRvZG8JY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK2xldCBzOmNwb19zYXZlID0gJmNwbworc2V0IGNwbyZ2aW0KIAotIiBDb21tZW50cyAoNC4yLjIpCi1zeW4gcmVnaW9uICB5YW1sQ29tbWVudAltYXRjaGdyb3VwPXlhbWxDb21tZW50IHN0YXJ0PSdcJSheXHxcc1wpIycgZW5kPSckJyBjb250YWlucz15YW1sVG9kbworc3luIGtleXdvcmQgeWFtbFRvZG8gICAgICAgICAgICBjb250YWluZWQgVE9ETyBGSVhNRSBYWFggTk9URQogCi0iIE5vZGUgUHJvcGVydGllcyAoNC4zLjQpCi1zeW4gbWF0Y2ggICB5YW1sTm9kZVByb3BlcnR5CSchXCUoIVteXFxeJQkgXVwrXHxbXiFdW146LwkgXSpcKScKK3N5biByZWdpb24gIHlhbWxDb21tZW50ICAgICAgICAgbWF0Y2hncm91cD15YW1sQ29tbWVudCBzdGFydD0nXCUoXlx8XHNcKSMnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5kPSckJyBjb250YWlucz15YW1sVG9kbyxAU3BlbGwKIAotIiBBbmNob3JzICg0LjMuNikKLXN5biBtYXRjaCAgIHlhbWxBbmNob3IJJyYuXCsnCitzeW4gbWF0Y2ggICB5YW1sTm9kZVByb3BlcnR5ICAgICchXCUoIVteXFxeJSAgICAgXVwrXHxbXiFdW146LyAgIF0qXCknCiAKLSIgQWxpYXNlcyAoNC4zLjcpCi1zeW4gbWF0Y2ggICB5YW1sQWxpYXMJJ1wqLlwrJworc3luIG1hdGNoICAgeWFtbEFuY2hvciAgICAgICAgICAnJi5cKycKIAotIiBPcGVyYXRvcnMsIEJsb2NrcywgS2V5cywgYW5kIERlbGltaXRlcnMKLXN5biBtYXRjaCAgIHlhbWxEZWxpbWl0ZXIgICAnWy0sOl0nCi1zeW4gbWF0Y2ggICB5YW1sQmxvY2sJICAgICdbXFtcXXt9PnxdJwotc3luIG1hdGNoICAgeWFtbE9wZXJhdG9yICAgICdbPystXScKLXN5biBtYXRjaCAgIHlhbWxLZXkJICAgICdcd1wrXChcc1wrXHdcK1wpKlx6ZVxzKjonCitzeW4gbWF0Y2ggICB5YW1sQWxpYXMgICAgICAgICAgICdcKi5cKycKIAotIiBTdHJpbmdzICg0LjYuOCwgNC42LjkpCi1zeW4gcmVnaW9uICB5YW1sU3RyaW5nCXN0YXJ0PSsiKyBza2lwPStcXCIrIGVuZD0rIisgY29udGFpbnM9eWFtbEVzY2FwZQotc3luIHJlZ2lvbiAgeWFtbFN0cmluZwlzdGFydD0rJysgc2tpcD0rJycrIGVuZD0rJysgY29udGFpbnM9eWFtbFNpbmdsZUVzY2FwZQotc3luIG1hdGNoICAgeWFtbEVzY2FwZQljb250YWluZWQgK1xcW1xcImFiZWZucnR2XjBfIE5MUF0rCi1zeW4gbWF0Y2ggICB5YW1sRXNjYXBlCWNvbnRhaW5lZCAnXFx4XHhcezJ9Jwotc3luIG1hdGNoICAgeWFtbEVzY2FwZQljb250YWluZWQgJ1xcdVx4XHs0fScKLXN5biBtYXRjaCAgIHlhbWxFc2NhcGUJY29udGFpbmVkICdcXFVceFx7OH0nCitzeW4gbWF0Y2ggICB5YW1sRGVsaW1pdGVyICAgICAgICdbLSw6XScKK3N5biBtYXRjaCAgIHlhbWxCbG9jayAgICAgICAgICAgJ1tcW1xde30+fF0nCitzeW4gbWF0Y2ggICB5YW1sT3BlcmF0b3IgICAgICAgICdbPystXScKK3N5biBtYXRjaCAgIHlhbWxLZXkgICAgICAgICAgICAgJ1x3XCtcKFxzXCtcd1wrXCkqXHplXHMqOicKKworc3luIHJlZ2lvbiAgeWFtbFN0cmluZyAgICAgICAgICBzdGFydD0rIisgc2tpcD0rXFwiKyBlbmQ9KyIrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9eWFtbEVzY2FwZQorc3luIHJlZ2lvbiAgeWFtbFN0cmluZyAgICAgICAgICBzdGFydD0rJysgc2tpcD0rJycrIGVuZD0rJysKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz15YW1sU2luZ2xlRXNjYXBlCitzeW4gbWF0Y2ggICB5YW1sRXNjYXBlICAgICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5ICtcXFtcXCJhYmVmbnJ0dl4wXyBOTFBdKworc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFx4XHhcezJ9Jworc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFx1XHhcezR9Jworc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBjb250YWluZWQgZGlzcGxheSAnXFxVXHhcezh9JwogIiBUT0RPOiBob3cgZG8gd2UgZ2V0IDB4ODUsIDB4MjAyOCwgYW5kIDB4MjAyOSBpbnRvIHRoaXM/Ci1zeW4gbWF0Y2ggICB5YW1sRXNjYXBlCSdcXFwlKFxyXG5cfFtcclxuXVwpJwotc3luIG1hdGNoICAgeWFtbFNpbmdsZUVzY2FwZSBjb250YWluZWQgKycnKworc3luIG1hdGNoICAgeWFtbEVzY2FwZSAgICAgICAgICBkaXNwbGF5ICdcXFwlKFxyXG5cfFtcclxuXVwpJworc3luIG1hdGNoICAgeWFtbFNpbmdsZUVzY2FwZSAgICBjb250YWluZWQgZGlzcGxheSArJycrCiAKLSIgTnVtYmVycwogIiBUT0RPOiBzZXhhZ2VjaW1hbCBhbmQgZml4ZWQgKDIwOjMwLjE1IGFuZCAxLDIzMC4xNSkKLXN5biBtYXRjaCAgIHlhbWxOdW1iZXIJJ1w8WystXVw9XGRcK1wlKFwuXGRcK1wlKFtlRV1bKy1dXD1cZFwrXClcPVwpXD0nCi1zeW4gbWF0Y2ggICB5YW1sTnVtYmVyCScwXG9cKycKLXN5biBtYXRjaCAgIHlhbWxOdW1iZXIJJzB4XHhcKycKLXN5biBtYXRjaCAgIHlhbWxOdW1iZXIJJyhbKy1dXD1baUldbmYpJwotc3luIG1hdGNoICAgeWFtbE51bWJlcgknKE5hTiknCitzeW4gbWF0Y2ggICB5YW1sTnVtYmVyICAgICAgICAgIGRpc3BsYXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnXDxbKy1dXD1cZFwrXCUoXC5cZFwrXCUoW2VFXVsrLV1cPVxkXCtcKVw9XClcPScKK3N5biBtYXRjaCAgIHlhbWxOdW1iZXIgICAgICAgICAgZGlzcGxheSAnMFxvXCsnCitzeW4gbWF0Y2ggICB5YW1sTnVtYmVyICAgICAgICAgIGRpc3BsYXkgJzB4XHhcKycKK3N5biBtYXRjaCAgIHlhbWxOdW1iZXIgICAgICAgICAgZGlzcGxheSAnKFsrLV1cPVtpSV1uZiknCitzeW4gbWF0Y2ggICB5YW1sTnVtYmVyICAgICAgICAgIGRpc3BsYXkgJyhOYU4pJwogCi0iIENvbnN0YW50cwotc3luIG1hdGNoICAgeWFtbENvbnN0YW50ICAgICdcPFt+eW5dXD4nCi1zeW4ga2V5d29yZCB5YW1sQ29uc3RhbnQgICAgdHJ1ZSBUcnVlIFRSVUUgZmFsc2UgRmFsc2UgRkFMU0UKLXN5biBrZXl3b3JkIHlhbWxDb25zdGFudCAgICB5ZXMgWWVzIG9uIE9OIG5vIE5vIG9mZiBPRkYKLXN5biBrZXl3b3JkIHlhbWxDb25zdGFudCAgICBudWxsIE51bGwgTlVMTCBuaWwgTmlsIE5JTAorc3luIG1hdGNoICAgeWFtbENvbnN0YW50ICAgICAgICAnXDxbfnluXVw+Jworc3luIGtleXdvcmQgeWFtbENvbnN0YW50ICAgICAgICB0cnVlIFRydWUgVFJVRSBmYWxzZSBGYWxzZSBGQUxTRQorc3luIGtleXdvcmQgeWFtbENvbnN0YW50ICAgICAgICB5ZXMgWWVzIG9uIE9OIG5vIE5vIG9mZiBPRkYKK3N5biBrZXl3b3JkIHlhbWxDb25zdGFudCAgICAgICAgbnVsbCBOdWxsIE5VTEwgbmlsIE5pbCBOSUwKIAotIiBUaW1lc3RhbXBzCi1zeW4gbWF0Y2ggICB5YW1sVGltZXN0YW1wICAgJ1xkXGRcZFxkLVwlKDFbMC0yXVx8XGRcKS1cJSgzWzAtMl1cfDJcZFx8MVxkXHxcZFwpXCUoIFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkXGQgWystXVwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZFx8dFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkXGRbKy1dXCUoWzAxXVxkXHwyWzAtM11cKTpbMC01XVxkXHxUXCUoWzAxXVxkXHwyWzAtM11cKTpbMC01XVxkOlswLTVdXGQuXGRaXClcPScKK3N5biBtYXRjaCAgIHlhbWxUaW1lc3RhbXAgICAgICAgJ1xkXGRcZFxkLVwlKDFbMC0yXVx8XGRcKS1cJSgzWzAtMl1cfDJcZFx8MVxkXHxcZFwpXCUoIFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkXGQgWystXVwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZFx8dFwlKFswMV1cZFx8MlswLTNdXCk6WzAtNV1cZDpbMC01XVxkLlxkXGRbKy1dXCUoWzAxXVxkXHwyWzAtM11cKTpbMC01XVxkXHxUXCUoWzAxXVxkXHwyWzAtM11cKTpbMC01XVxkOlswLTVdXGQuXGRaXClcPScKIAotIiBEb2N1bWVudHMgKDQuMy4xKQotc3luIHJlZ2lvbiAgeWFtbERvY3VtZW50SGVhZGVyCXN0YXJ0PSctLS0nIGVuZD0nJCcgY29udGFpbnM9eWFtbERpcmVjdGl2ZQotc3luIG1hdGNoICAgeWFtbERvY3VtZW50RW5kCSdcLlwuXC4nCitzeW4gcmVnaW9uICB5YW1sRG9jdW1lbnRIZWFkZXIgIHN0YXJ0PSctLS0nIGVuZD0nJCcgY29udGFpbnM9eWFtbERpcmVjdGl2ZQorc3luIG1hdGNoICAgeWFtbERvY3VtZW50RW5kICAgICAnXC5cLlwuJwogCi0iIERpcmVjdGl2ZXMgKDQuMy4yKQotc3luIG1hdGNoICAgeWFtbERpcmVjdGl2ZSAgIGNvbnRhaW5lZCAnJVteOl1cKzouXCsnCitzeW4gbWF0Y2ggICB5YW1sRGlyZWN0aXZlICAgICAgIGNvbnRhaW5lZCAnJVteOl1cKzouXCsnCiAKLSIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KLSIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQotIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAotaWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX3lhbWxfc3luX2luaXRzIikKLSAgaWYgdmVyc2lvbiA8IDUwOAotICAgIGxldCBkaWRfeWFtbF9zeW5faW5pdHMgPSAxCi0gICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KLSAgZWxzZQotICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgotICBlbmRpZgotCi0gIEhpTGluayB5YW1sVG9kbwkgICAgVG9kbwotICBIaUxpbmsgeWFtbENvbW1lbnQJICAgIENvbW1lbnQKLSAgSGlMaW5rIHlhbWxEb2N1bWVudEhlYWRlciBQcmVQcm9jCi0gIEhpTGluayB5YW1sRG9jdW1lbnRFbmQgICAgUHJlUHJvYwotICBIaUxpbmsgeWFtbERpcmVjdGl2ZQkgICAgS2V5d29yZAotICBIaUxpbmsgeWFtbE5vZGVQcm9wZXJ0eSAgIFR5cGUKLSAgSGlMaW5rIHlhbWxBbmNob3IJICAgIFR5cGUKLSAgSGlMaW5rIHlhbWxBbGlhcwkgICAgVHlwZQotICBIaUxpbmsgeWFtbERlbGltaXRlcgkgICAgRGVsaW1pdGVyCi0gIEhpTGluayB5YW1sQmxvY2sJICAgIE9wZXJhdG9yCi0gIEhpTGluayB5YW1sT3BlcmF0b3IJICAgIE9wZXJhdG9yCi0gIEhpTGluayB5YW1sS2V5CSAgICBJZGVudGlmaWVyCi0gIEhpTGluayB5YW1sU3RyaW5nCSAgICBTdHJpbmcKLSAgSGlMaW5rIHlhbWxFc2NhcGUJICAgIFNwZWNpYWxDaGFyCi0gIEhpTGluayB5YW1sU2luZ2xlRXNjYXBlICAgU3BlY2lhbENoYXIKLSAgSGlMaW5rIHlhbWxOdW1iZXIJICAgIE51bWJlcgotICBIaUxpbmsgeWFtbENvbnN0YW50CSAgICBDb25zdGFudAotICBIaUxpbmsgeWFtbFRpbWVzdGFtcAkgICAgTnVtYmVyCi0KLSAgZGVsY29tbWFuZCBIaUxpbmsKLWVuZGlmCitoaSBkZWYgbGluayB5YW1sVG9kbyAgICAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIHlhbWxDb21tZW50ICAgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgeWFtbERvY3VtZW50SGVhZGVyICBQcmVQcm9jCitoaSBkZWYgbGluayB5YW1sRG9jdW1lbnRFbmQgICAgIFByZVByb2MKK2hpIGRlZiBsaW5rIHlhbWxEaXJlY3RpdmUgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgeWFtbE5vZGVQcm9wZXJ0eSAgICBUeXBlCitoaSBkZWYgbGluayB5YW1sQW5jaG9yICAgICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIHlhbWxBbGlhcyAgICAgICAgICAgVHlwZQoraGkgZGVmIGxpbmsgeWFtbERlbGltaXRlciAgICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHlhbWxCbG9jayAgICAgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHlhbWxPcGVyYXRvciAgICAgICAgT3BlcmF0b3IKK2hpIGRlZiBsaW5rIHlhbWxLZXkgICAgICAgICAgICAgSWRlbnRpZmllcgoraGkgZGVmIGxpbmsgeWFtbFN0cmluZyAgICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHlhbWxFc2NhcGUgICAgICAgICAgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHlhbWxTaW5nbGVFc2NhcGUgICAgU3BlY2lhbENoYXIKK2hpIGRlZiBsaW5rIHlhbWxOdW1iZXIgICAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayB5YW1sQ29uc3RhbnQgICAgICAgIENvbnN0YW50CitoaSBkZWYgbGluayB5YW1sVGltZXN0YW1wICAgICAgIE51bWJlcgogCiBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJ5YW1sIgogCi0iIHZpbTogc2V0IHN0cz0yIHN3PTI6CitsZXQgJmNwbyA9IHM6Y3BvX3NhdmUKK3VubGV0IHM6Y3BvX3NhdmUKZGlmZiAtLWdpdCBhL3NyYy9maWxlaW8uYyBiL3NyYy9maWxlaW8uYwppbmRleCBkZDQyZmI0Li5hODE5MmVhIDEwMDY0NAotLS0gYS9zcmMvZmlsZWlvLmMKKysrIGIvc3JjL2ZpbGVpby5jCkBAIC0xMzQ0LDggKzEzNDQsMTEgQEAKIAkJCSAgICA9PSAoc2l6ZV90KS0xICYmIElDT05WX0VSUk5PICE9IElDT05WX0VJTlZBTCkKIAkJCQkJCSAgfHwgZnJvbV9zaXplID4gQ09OVl9SRVNUTEVOKQogCQl7Ci0JCSAgICBpZiAoIWtlZXBfZGVzdF9lbmMpCisJCSAgICBpZiAoIWtlZXBfZGVzdF9lbmMgJiYgY2FuX3JldHJ5KQogCQkJZ290byByZXdpbmRfcmV0cnk7CisJCSAgICBpZiAoIWtlZXBfZGVzdF9lbmMpCisJCQljb252X2Vycm9yID0gVFJVRTsKKwogCQkgICAgLyogSWdub3JlIGEgYnl0ZSBhbmQgdHJ5IGFnYWluLiAqLwogCQkgICAgKytmcm9tcDsKIAkJICAgIC0tZnJvbV9zaXplOwpAQCAtMTc2MSw2ICsxNzY0LDcgQEAKIAkJCWNvbnZfZXJyb3IgPSBUUlVFOwogCQkgICAgZWxzZQogIyBlbmRpZgorCQkgICAgaWYgKGlsbGVnYWxfYnl0ZSA9PSAwKSAgLyogS2VlcCB0aGUgZmlyc3QgbGluZW5yICovCiAJCSAgICB7CiAJCQljaGFyX3UJCSpzOwogCmRpZmYgLS1naXQgYS9zcmMvbWlzYzEuYyBiL3NyYy9taXNjMS5jCmluZGV4IDczZDBlZjIuLmZjYzg3MjYgMTAwNjQ0Ci0tLSBhL3NyYy9taXNjMS5jCisrKyBiL3NyYy9taXNjMS5jCkBAIC0zMTYyLDcgKzMxNjIsMTAgQEAKICAgICBpbnQJCXNhdmVfU3RhdGU7CiAKICAgICAvKiBXaGVuIHVzaW5nICI6c2lsZW50IiBhc3N1bWUgdGhhdCA8Q1I+IHdhcyBlbnRlcmVkLiAqLwotICAgIE1TR19QVVRTKF8oIkNob2ljZSBudW1iZXIgKDxFbnRlcj4gY2FuY2Vscyk6ICIpKTsKKyAgICBpZiAobW91c2VfdXNlZCAhPSBOVUxMKQorCU1TR19QVVRTKF8oIlR5cGUgbnVtYmVyIG9yIGNsaWNrIHdpdGggbW91c2UgKDxFbnRlcj4gY2FuY2Vscyk6ICIpKTsKKyAgICBlbHNlCisJTVNHX1BVVFMoXygiQ2hvaWNlIG51bWJlciAoPEVudGVyPiBjYW5jZWxzKTogIikpOwogCiAgICAgLyogU2V0IHRoZSBzdGF0ZSBzdWNoIHRoYXQgdGV4dCBjYW4gYmUgc2VsZWN0ZWQvY29waWVkL3Bhc3RlZC4gKi8KICAgICBzYXZlX2NtZGxpbmVfcm93ID0gY21kbGluZV9yb3c7CmRpZmYgLS1naXQgYS9zcmMvc3BlbGwuYyBiL3NyYy9zcGVsbC5jCmluZGV4IGM0ZWZlZDIuLjY0NDZjZDkgMTAwNjQ0Ci0tLSBhL3NyYy9zcGVsbC5jCisrKyBiL3NyYy9zcGVsbC5jCkBAIC0xMzQsMTQgKzEzNCwxNyBAQAogICoJCQkgICAgU0FMX0YwTExPV1VQCiAgKgkJCSAgICBTQUxfQ09MTEFQU0UKICAqCQkJICAgIFNBTF9SRU1fQUNDRU5UUworICoJCQkgICAgU0FMX1NPRk86IFNPRk9GUk9NIGFuZCBTT0ZPVE8gdXNlZCBpbnN0ZWFkIG9mIFNBTAorICoKKyAqIDxzYWxjb3VudD4gICAyIGJ5dGVzCSAgICBudW1iZXIgb2YgPHNhbD4gaXRlbXMgZm9sbG93aW5nCiAgKgogICogPHNhbD4gOiA8c2FsZnJvbWxlbj4gPHNhbGZyb20+IDxzYWx0b2xlbj4gPHNhbHRvPgogICoKLSAqIDxzYWxmcm9tbGVuPgkxIGJ5dGUJICAgIGxlbmd0aCBvZiA8c2FsZnJvbT4KKyAqIDxzYWxmcm9tbGVuPgkxLTIgYnl0ZXMgICAgbGVuZ3RoIG9mIDxzYWxmcm9tPiAoMiBieXRlcyBmb3IgU0FMX1NPRk8pCiAgKgogICogPHNhbGZyb20+CU4gYnl0ZXMJICAgICJmcm9tIiBwYXJ0IG9mIHNvdW5kc2FsaWtlCiAgKgotICogPHNhbHRvbGVuPgkxIGJ5dGUJICAgIGxlbmd0aCBvZiA8c2FsdG8+CisgKiA8c2FsdG9sZW4+CTEtMiBieXRlcyAgICBsZW5ndGggb2YgPHNhbHRvPiAoMiBieXRlcyBmb3IgU0FMX1NPRk8pCiAgKgogICogPHNhbHRvPglOIGJ5dGVzCSAgICAidG8iIHBhcnQgb2Ygc291bmRzYWxpa2UKICAqCkBAIC0yNjcsMTYgKzI3MCwyMiBAQAogewogICAgIGNoYXJfdQkqc21fbGVhZDsJLyogbGVhZGluZyBsZXR0ZXJzICovCiAgICAgaW50CQlzbV9sZWFkbGVuOwkvKiBsZW5ndGggb2YgInNtX2xlYWQiICovCi0gICAgY2hhcl91CSpzbV9vbmVvZmY7CS8qIGxldHRlcnMgZnJvbSAoKSBvciBOVUxMICovCisgICAgY2hhcl91CSpzbV9vbmVvZjsJLyogbGV0dGVycyBmcm9tICgpIG9yIE5VTEwgKi8KICAgICBjaGFyX3UJKnNtX3J1bGVzOwkvKiBydWxlcyBsaWtlIF4sICQsIHByaW9yaXR5ICovCiAgICAgY2hhcl91CSpzbV90bzsJCS8qIHJlcGxhY2VtZW50LiAqLwogI2lmZGVmIEZFQVRfTUJZVEUKICAgICBpbnQJCSpzbV9sZWFkX3c7CS8qIHdpZGUgY2hhcmFjdGVyIGNvcHkgb2YgInNtX2xlYWQiICovCi0gICAgaW50CQkqc21fb25lb2ZmX3c7CS8qIHdpZGUgY2hhcmFjdGVyIGNvcHkgb2YgInNtX29uZW9mZiIgKi8KKyAgICBpbnQJCSpzbV9vbmVvZl93OwkvKiB3aWRlIGNoYXJhY3RlciBjb3B5IG9mICJzbV9vbmVvZiIgKi8KICAgICBpbnQJCSpzbV90b193OwkvKiB3aWRlIGNoYXJhY3RlciBjb3B5IG9mICJzbV90byIgKi8KICNlbmRpZgogfSBzYWxpdGVtX1Q7CiAKKyNpZmRlZiBGRUFUX01CWVRFCit0eXBlZGVmIGludCBzYWxmaXJzdF9UOworI2Vsc2UKK3R5cGVkZWYgc2hvcnQgc2FsZmlyc3RfVDsKKyNlbmRpZgorCiAvKgogICogU3RydWN0dXJlIHVzZWQgdG8gc3RvcmUgd29yZHMgYW5kIG90aGVyIGluZm8gZm9yIG9uZSBsYW5ndWFnZSwgbG9hZGVkIGZyb20KICAqIGEgLnNwbCBmaWxlLgpAQCAtMzE2LDggKzMyNSwxMSBAQAogICAgIHNob3J0CXNsX3JlcF9maXJzdFsyNTZdOyAgLyogaW5kZXhlcyB3aGVyZSBieXRlIGZpcnN0IGFwcGVhcnMsIC0xIGlmCiAJCQkJICAgICAgIHRoZXJlIGlzIG5vbmUgKi8KICAgICBnYXJyYXlfVAlzbF9zYWw7CQkvKiBsaXN0IG9mIHNhbGl0ZW1fVCBlbnRyaWVzIGZyb20gU0FMIGxpbmVzICovCi0gICAgc2hvcnQJc2xfc2FsX2ZpcnN0WzI1Nl07ICAvKiBpbmRleGVzIHdoZXJlIGJ5dGUgZmlyc3QgYXBwZWFycywgLTEgaWYKKyAgICBzYWxmaXJzdF9UCXNsX3NhbF9maXJzdFsyNTZdOyAgLyogaW5kZXhlcyB3aGVyZSBieXRlIGZpcnN0IGFwcGVhcnMsIC0xIGlmCiAJCQkJICAgICAgIHRoZXJlIGlzIG5vbmUgKi8KKyAgICBpbnQJCXNsX3NvZm87CS8qIFNPRk9GUk9NIGFuZCBTT0ZPVE8gaW5zdGVhZCBvZiBTQUwgaXRlbXM6CisJCQkJICogInNsX3NhbF9maXJzdCIgbWFwcyBjaGFycywgd2hlbiBoYXNfbWJ5dGUKKwkJCQkgKiAic2xfc2FsIiBpcyBhIGxpc3Qgb2Ygd2lkZSBjaGFyIGxpc3RzLiAqLwogICAgIGludAkJc2xfZm9sbG93dXA7CS8qIFNBTCBmb2xsb3d1cCAqLwogICAgIGludAkJc2xfY29sbGFwc2U7CS8qIFNBTCBjb2xsYXBzZV9yZXN1bHQgKi8KICAgICBpbnQJCXNsX3JlbV9hY2NlbnRzOwkvKiBTQUwgcmVtb3ZlX2FjY2VudHMgKi8KQEAgLTMzOCw2ICszNTAsNyBAQAogI2RlZmluZSBTQUxfRjBMTE9XVVAJCTEKICNkZWZpbmUgU0FMX0NPTExBUFNFCQkyCiAjZGVmaW5lIFNBTF9SRU1fQUNDRU5UUwkJNAorI2RlZmluZSBTQUxfU09GTwkJOCAgIC8qIFNPRk9GUk9NIGFuZCBTT0ZPVE8gaW5zdGVhZCBvZiBTQUwgKi8KIAogLyoKICAqIFN0cnVjdHVyZSB1c2VkIGluICJiX2xhbmdwIiwgZmlsbGVkIGZyb20gJ3NwZWxsbGFuZycuCkBAIC01MDEsNiArNTE0LDcgQEAKICAgICBTVEFURV9TVEFSVCA9IDAsCS8qIEF0IHN0YXJ0IG9mIG5vZGUgY2hlY2sgZm9yIE5VTCBieXRlcyAoZ29vZHdvcmQKIAkJCSAqIGVuZHMpOyBpZiBiYWR3b3JkIGVuZHMgdGhlcmUgaXMgYSBtYXRjaCwgb3RoZXJ3aXNlCiAJCQkgKiB0cnkgc3BsaXR0aW5nIHdvcmQuICovCisgICAgU1RBVEVfTk9QUkVGSVgsCS8qIHRyeSB3aXRob3V0IHByZWZpeCAqLwogICAgIFNUQVRFX1NQTElUVU5ETywJLyogVW5kbyBzcGxpdHRpbmcuICovCiAgICAgU1RBVEVfRU5ETlVMLAkvKiBQYXN0IE5VTCBieXRlcyBhdCBzdGFydCBvZiB0aGUgbm9kZS4gKi8KICAgICBTVEFURV9QTEFJTiwJLyogVXNlIGVhY2ggYnl0ZSBvZiB0aGUgbm9kZS4gKi8KQEAgLTUzMCw2ICs1NDQsOCBAQAogICAgIGNoYXJfdQl0c19maWR4OwkvKiBpbmRleCBpbiBmd29yZFtdLCBjYXNlLWZvbGRlZCBiYWQgd29yZCAqLwogICAgIGNoYXJfdQl0c19maWR4dHJ5OwkvKiB0c19maWR4IGF0IHdoaWNoIGJ5dGVzIG1heSBiZSBjaGFuZ2VkICovCiAgICAgY2hhcl91CXRzX3R3b3JkbGVuOwkvKiB2YWxpZCBsZW5ndGggb2YgdHdvcmRbXSAqLworICAgIGNoYXJfdQl0c19wcmVmaXhkZXB0aDsJLyogc3RhY2sgZGVwdGggZm9yIGVuZCBvZiBwcmVmaXggb3IgUFJFRklYVFJFRQorCQkJCSAqIG9yIE5PUFJFRklYICovCiAjaWZkZWYgRkVBVF9NQllURQogICAgIGNoYXJfdQl0c190Y2hhcmxlbjsJLyogbnVtYmVyIG9mIGJ5dGVzIGluIHR3b3JkIGNoYXJhY3RlciAqLwogICAgIGNoYXJfdQl0c190Y2hhcmlkeDsJLyogY3VycmVudCBieXRlIGluZGV4IGluIHR3b3JkIGNoYXJhY3RlciAqLwpAQCAtNTQ2LDYgKzU2MiwxMCBAQAogI2RlZmluZSBESUZGX1lFUwkxCS8qIGRpZmZlcmVudCBieXRlIGZvdW5kICovCiAjZGVmaW5lIERJRkZfSU5TRVJUCTIJLyogaW5zZXJ0aW5nIGNoYXJhY3RlciAqLwogCisvKiBzcGVjaWFsIHZhbHVlcyB0c19wcmVmaXhkZXB0aCAqLworI2RlZmluZSBQUkVGSVhUUkVFCTB4ZmUJLyogd2Fsa2luZyB0aHJvdWdoIHRoZSBwcmVmaXggdHJlZSAqLworI2RlZmluZSBOT1BSRUZJWAkweGZmCS8qIG5vdCB1c2luZyBwcmVmaXhlcyAqLworCiAvKiBtb2RlIHZhbHVlcyBmb3IgZmluZF93b3JkICovCiAjZGVmaW5lIEZJTkRfRk9MRFdPUkQJMAkvKiBmaW5kIHdvcmQgY2FzZS1mb2xkZWQgKi8KICNkZWZpbmUgRklORF9LRUVQV09SRAkxCS8qIGZpbmQga2VlcC1jYXNlIHdvcmQgKi8KQEAgLTYwMSw5ICs2MjEsMTEgQEAKIHN0YXRpYyB2b2lkIGZyZWVfYmFubmVkIF9fQVJHUygoc3VnaW5mb19UICpzdSkpOwogc3RhdGljIHZvaWQgcmVzY29yZV9zdWdnZXN0aW9ucyBfX0FSR1MoKHN1Z2luZm9fVCAqc3UpKTsKIHN0YXRpYyBpbnQgY2xlYW51cF9zdWdnZXN0aW9ucyBfX0FSR1MoKGdhcnJheV9UICpnYXAsIGludCBtYXhzY29yZSwgaW50IGtlZXApKTsKLXN0YXRpYyB2b2lkIHNwZWxsX3NvdW5kZm9sZCBfX0FSR1MoKHNsYW5nX1QgKnNsYW5nLCBjaGFyX3UgKmlud29yZCwgY2hhcl91ICpyZXMpKTsKK3N0YXRpYyB2b2lkIHNwZWxsX3NvdW5kZm9sZCBfX0FSR1MoKHNsYW5nX1QgKnNsYW5nLCBjaGFyX3UgKmlud29yZCwgaW50IGZvbGRlZCwgY2hhcl91ICpyZXMpKTsKK3N0YXRpYyB2b2lkIHNwZWxsX3NvdW5kZm9sZF9zb2ZvIF9fQVJHUygoc2xhbmdfVCAqc2xhbmcsIGNoYXJfdSAqaW53b3JkLCBjaGFyX3UgKnJlcykpOworc3RhdGljIHZvaWQgc3BlbGxfc291bmRmb2xkX3NhbCBfX0FSR1MoKHNsYW5nX1QgKnNsYW5nLCBjaGFyX3UgKmlud29yZCwgY2hhcl91ICpyZXMpKTsKICNpZmRlZiBGRUFUX01CWVRFCi1zdGF0aWMgdm9pZCBzcGVsbF9zb3VuZGZvbGRfdyBfX0FSR1MoKHNsYW5nX1QgKnNsYW5nLCBjaGFyX3UgKmlud29yZCwgY2hhcl91ICpyZXMpKTsKK3N0YXRpYyB2b2lkIHNwZWxsX3NvdW5kZm9sZF93c2FsIF9fQVJHUygoc2xhbmdfVCAqc2xhbmcsIGNoYXJfdSAqaW53b3JkLCBjaGFyX3UgKnJlcykpOwogI2VuZGlmCiBzdGF0aWMgaW50IHNvdW5kYWxpa2Vfc2NvcmUgX19BUkdTKChjaGFyX3UgKmdvb2Rzb3VuZCwgY2hhcl91ICpiYWRzb3VuZCkpOwogc3RhdGljIGludCBzcGVsbF9lZGl0X3Njb3JlIF9fQVJHUygoY2hhcl91ICpiYWR3b3JkLCBjaGFyX3UgKmdvb2R3b3JkKSk7CkBAIC0xMTA3LDE2ICsxMTI5LDE2IEBACiAgICAgY2hhcl91CSpieXRzOwogICAgIGlkeF9UCSppZHhzOwogCisgICAgYnl0cyA9IHNsYW5nLT5zbF9wYnl0czsKKyAgICBpZiAoYnl0cyA9PSBOVUxMKQorCXJldHVybjsJCQkvKiBhcnJheSBpcyBlbXB0eSAqLworCiAgICAgLyogV2UgdXNlIHRoZSBjYXNlLWZvbGRlZCB3b3JkIGhlcmUsIHNpbmNlIHByZWZpeGVzIGFyZSBhbHdheXMKICAgICAgKiBjYXNlLWZvbGRlZC4gKi8KICAgICBwdHIgPSBtaXAtPm1pX2Z3b3JkOwogICAgIGZsZW4gPSBtaXAtPm1pX2Z3b3JkbGVuOyAgICAvKiBhdmFpbGFibGUgY2FzZS1mb2xkZWQgYnl0ZXMgKi8KLSAgICBieXRzID0gc2xhbmctPnNsX3BieXRzOwogICAgIGlkeHMgPSBzbGFuZy0+c2xfcGlkeHM7CiAKLSAgICBpZiAoYnl0cyA9PSBOVUxMKQotCXJldHVybjsJCQkvKiBhcnJheSBpcyBlbXB0eSAqLwotCiAgICAgLyoKICAgICAgKiBSZXBlYXQgYWR2YW5jaW5nIGluIHRoZSB0cmVlIHVudGlsOgogICAgICAqIC0gdGhlcmUgaXMgYSBieXRlIHRoYXQgZG9lc24ndCBtYXRjaCwKQEAgLTE1NjIsMTIgKzE1ODQsMjQgQEAKICAgICBnYV9jbGVhcihnYXApOwogCiAgICAgZ2FwID0gJmxwLT5zbF9zYWw7Ci0gICAgd2hpbGUgKGdhcC0+Z2FfbGVuID4gMCkKLSAgICB7Ci0Jc21wID0gJigoc2FsaXRlbV9UICopZ2FwLT5nYV9kYXRhKVstLWdhcC0+Z2FfbGVuXTsKLQl2aW1fZnJlZShzbXAtPnNtX2xlYWQpOwotCXZpbV9mcmVlKHNtcC0+c21fdG8pOwotICAgIH0KKyAgICBpZiAobHAtPnNsX3NvZm8pCisJLyogU09GT0ZST00gYW5kIFNPRk9UTyBpdGVtczogZnJlZSBsaXN0cyBvZiB3aWRlIGNoYXJhY3RlcnMuICovCisJZm9yIChpID0gMDsgaSA8IGdhcC0+Z2FfbGVuOyArK2kpCisJICAgIHZpbV9mcmVlKCgoaW50ICoqKWdhcC0+Z2FfZGF0YSlbaV0pOworICAgIGVsc2UKKwkvKiBTQUwgaXRlbXM6IGZyZWUgc2FsaXRlbV9UIGl0ZW1zICovCisJd2hpbGUgKGdhcC0+Z2FfbGVuID4gMCkKKwl7CisJICAgIHNtcCA9ICYoKHNhbGl0ZW1fVCAqKWdhcC0+Z2FfZGF0YSlbLS1nYXAtPmdhX2xlbl07CisJICAgIHZpbV9mcmVlKHNtcC0+c21fbGVhZCk7CisJICAgIC8qIERvbid0IGZyZWUgc21fb25lb2YgYW5kIHNtX3J1bGVzLCB0aGV5IHBvaW50IGludG8gc21fbGVhZC4gKi8KKwkgICAgdmltX2ZyZWUoc21wLT5zbV90byk7CisjaWZkZWYgRkVBVF9NQllURQorCSAgICB2aW1fZnJlZShzbXAtPnNtX2xlYWRfdyk7CisJICAgIHZpbV9mcmVlKHNtcC0+c21fb25lb2Zfdyk7CisJICAgIHZpbV9mcmVlKHNtcC0+c21fdG9fdyk7CisjZW5kaWYKKwl9CiAgICAgZ2FfY2xlYXIoZ2FwKTsKIAogICAgIGZvciAoaSA9IDA7IGkgPCBscC0+c2xfcHJlZml4Y250OyArK2kpCkBAIC0xNjM4LDYgKzE2NzIsNyBAQAogICAgIHNhbGl0ZW1fVAkqc21wOwogICAgIGludAkJcnI7CiAgICAgc2hvcnQJKmZpcnN0OworICAgIHNhbGZpcnN0X1QJKnNmaXJzdDsKICAgICBpZHhfVAlpZHg7CiAgICAgaW50CQljID0gMDsKIApAQCAtMTg5NSwxNTEgKzE5MzAsMjgyIEBACiAJbHAtPnNsX2NvbGxhcHNlID0gVFJVRTsKICAgICBpZiAoaSAmIFNBTF9SRU1fQUNDRU5UUykKIAlscC0+c2xfcmVtX2FjY2VudHMgPSBUUlVFOworICAgIGlmIChpICYgU0FMX1NPRk8pCisJbHAtPnNsX3NvZm8gPSBUUlVFOwogCiAgICAgY250ID0gKGdldGMoZmQpIDw8IDgpICsgZ2V0YyhmZCk7CQkvKiA8c2FsY291bnQ+ICovCiAgICAgaWYgKGNudCA8IDApCiAJZ290byBmb3JtZXJyOwogCi0gICAgZ2FwID0gJmxwLT5zbF9zYWw7Ci0gICAgaWYgKGdhX2dyb3coZ2FwLCBjbnQpID09IEZBSUwpCi0JZ290byBlbmRGQUlMOwotCi0gICAgLyogPHNhbD4gOiA8c2FsZnJvbWxlbj4gPHNhbGZyb20+IDxzYWx0b2xlbj4gPHNhbHRvPiAqLwotICAgIGZvciAoOyBnYXAtPmdhX2xlbiA8IGNudDsgKytnYXAtPmdhX2xlbikKKyAgICBpZiAobHAtPnNsX3NvZm8pCiAgICAgewotCXNtcCA9ICYoKHNhbGl0ZW1fVCAqKWdhcC0+Z2FfZGF0YSlbZ2FwLT5nYV9sZW5dOwotCWNjbnQgPSBnZXRjKGZkKTsJCQkvKiA8c2FsZnJvbWxlbj4gKi8KLQlpZiAoY2NudCA8IDApCisJLyoKKwkgKiBTT0ZPRlJPTSBhbmQgU09GT1RPIGl0ZW1zIGNvbWUgaW4gb25lIDxzYWxmcm9tPiBhbmQgPHNhbHRvPgorCSAqLworCWlmIChjbnQgIT0gMSkKIAkgICAgZ290byBmb3JtZXJyOwotCWlmICgocCA9IGFsbG9jKGNjbnQgKyAyKSkgPT0gTlVMTCkKKworCWNudCA9IChnZXRjKGZkKSA8PCA4KSArIGdldGMoZmQpOwkJLyogPHNhbGZyb21sZW4+ICovCisJaWYgKGNudCA8IDApCisJICAgIGdvdG8gZm9ybWVycjsKKwlpZiAoKGJwID0gYWxsb2MoY250ICsgMSkpID09IE5VTEwpCiAJICAgIGdvdG8gZW5kRkFJTDsKLQlzbXAtPnNtX2xlYWQgPSBwOworCWZvciAoaSA9IDA7IGkgPCBjbnQ7ICsraSkKKwkgICAgYnBbaV0gPSBnZXRjKGZkKTsJCQkJLyogPHNhbGZyb20+ICovCisJYnBbaV0gPSBOVUw7CiAKLQkvKiBSZWFkIHVwIHRvIHRoZSBmaXJzdCBzcGVjaWFsIGNoYXIgaW50byBzbV9sZWFkLiAqLwotCWZvciAoaSA9IDA7IGkgPCBjY250OyArK2kpCisJY2NudCA9IChnZXRjKGZkKSA8PCA4KSArIGdldGMoZmQpOwkJLyogPHNhbHRvbGVuPiAqLworCWlmIChjY250IDwgMCkKIAl7Ci0JICAgIGMgPSBnZXRjKGZkKTsJCQkvKiA8c2FsZnJvbT4gKi8KLQkgICAgaWYgKHZpbV9zdHJjaHIoKGNoYXJfdSAqKSIwMTIzNDU2Nzg5KC08XiQiLCBjKSAhPSBOVUxMKQotCQlicmVhazsKLQkgICAgKnArKyA9IGM7CisJICAgIHZpbV9mcmVlKGJwKTsKKwkgICAgZ290byBmb3JtZXJyOwogCX0KLQlzbXAtPnNtX2xlYWRsZW4gPSBwIC0gc21wLT5zbV9sZWFkOwotCSpwKysgPSBOVUw7Ci0KLQkvKiBQdXQgb3B0aW9uYWwgY2hhcnMgaW4gc21fb25lb2ZmLCBpZiBhbnkuICovCi0JaWYgKGMgPT0gJygnKQorCWlmICgoZm9sID0gYWxsb2MoY2NudCArIDEpKSA9PSBOVUxMKQogCXsKLQkgICAgc21wLT5zbV9vbmVvZmYgPSBwOwotCSAgICBmb3IgKCsraTsgaSA8IGNjbnQ7ICsraSkKKwkgICAgdmltX2ZyZWUoYnApOworCSAgICBnb3RvIGVuZEZBSUw7CisJfQorCWZvciAoaSA9IDA7IGkgPCBjY250OyArK2kpCisJICAgIGZvbFtpXSA9IGdldGMoZmQpOwkJCQkvKiA8c2FsdG8+ICovCisJZm9sW2ldID0gTlVMOworCisjaWZkZWYgRkVBVF9NQllURQorCWlmIChoYXNfbWJ5dGUpCisJeworCSAgICBjaGFyX3UJKnM7CisKKwkgICAgLyogVXNlICJzbF9zYWwiIGFzIGFuIGFycmF5IHdpdGggMjU2IHBvaW50ZXJzIHRvIGEgbGlzdCBvZiB3aWRlCisJICAgICAqIGNoYXJhY3RlcnMuICBUaGUgaW5kZXggaXMgdGhlIGxvdyBieXRlIG9mIHRoZSBjaGFyYWN0ZXIuCisJICAgICAqIFRoZSBsaXN0IGNvbnRhaW5zIGZyb20tdG8gcGFpcnMgd2l0aCBhIHRlcm1pbmF0aW5nIE5VTC4KKwkgICAgICogc2xfc2FsX2ZpcnN0W10gaXMgdXNlZCBmb3IgbGF0aW4xICJmcm9tIiBjaGFyYWN0ZXJzLiAqLworCSAgICBnYXAgPSAmbHAtPnNsX3NhbDsKKwkgICAgZ2FfaW5pdDIoZ2FwLCBzaXplb2YoaW50ICopLCAxKTsKKwkgICAgaWYgKGdhX2dyb3coZ2FwLCAyNTYpID09IEZBSUwpCisJICAgIHsKK3NvZm9GQUlMOgorCQl2aW1fZnJlZShicCk7CisJCXZpbV9mcmVlKGZvbCk7CisJCWdvdG8gZW5kRkFJTDsKKwkgICAgfQorCSAgICB2aW1fbWVtc2V0KGdhcC0+Z2FfZGF0YSwgMCwgc2l6ZW9mKGludCAqKSAqIDI1Nik7CisJICAgIGdhcC0+Z2FfbGVuID0gMjU2OworCisJICAgIC8qIEZpcnN0IGNvdW50IHRoZSBudW1iZXIgb2YgaXRlbXMgZm9yIGVhY2ggbGlzdC4gIFRlbXBvcmFyaWx5IHVzZQorCSAgICAgKiBzbF9zYWxfZmlyc3RbXSBmb3IgdGhpcy4gKi8KKwkgICAgZm9yIChwID0gYnAsIHMgPSBmb2w7ICpwICE9IE5VTCAmJiAqcyAhPSBOVUw7ICkKKwkgICAgeworCQljID0gbWJfcHRyMmNoYXJfYWR2KCZwKTsKKwkJbWJfcHRyX2FkdihzKTsKKwkJaWYgKGMgPj0gMjU2KQorCQkgICAgKytscC0+c2xfc2FsX2ZpcnN0W2MgJiAweGZmXTsKKwkgICAgfQorCSAgICBpZiAoKnAgIT0gTlVMIHx8ICpzICE9IE5VTCkJICAgIC8qIGxlbmd0aHMgZGlmZmVyICovCisJCWdvdG8gc29mb2VycjsKKworCSAgICAvKiBBbGxvY2F0ZSB0aGUgbGlzdHMuICovCisJICAgIGZvciAoaSA9IDA7IGkgPCAyNTY7ICsraSkKKwkJaWYgKGxwLT5zbF9zYWxfZmlyc3RbaV0gPiAwKQorCQl7CisJCSAgICBwID0gYWxsb2Moc2l6ZW9mKGludCkgKiAobHAtPnNsX3NhbF9maXJzdFtpXSAqIDIgKyAxKSk7CisJCSAgICBpZiAocCA9PSBOVUxMKQorCQkJZ290byBzb2ZvRkFJTDsKKwkJICAgICgoaW50ICoqKWdhcC0+Z2FfZGF0YSlbaV0gPSAoaW50ICopcDsKKwkJICAgICooaW50ICopcCA9IDA7CisJCX0KKworCSAgICAvKiBQdXQgdGhlIGNoYXJhY3RlcnMgaW4gc2xfc2FsX2ZpcnN0W10gb3IgYSBzbF9zYWwgbGlzdC4gKi8KKwkgICAgdmltX21lbXNldChscC0+c2xfc2FsX2ZpcnN0LCAwLCBzaXplb2Yoc2FsZmlyc3RfVCkgKiAyNTYpOworCSAgICBmb3IgKHAgPSBicCwgcyA9IGZvbDsgKnAgIT0gTlVMICYmICpzICE9IE5VTDsgKQorCSAgICB7CisJCWMgPSBtYl9wdHIyY2hhcl9hZHYoJnApOworCQlpID0gbWJfcHRyMmNoYXJfYWR2KCZzKTsKKwkJaWYgKGMgPj0gMjU2KQorCQl7CisJCSAgICBpbnQJKmlucDsKKworCQkgICAgLyogQXBwZW5kIHRoZSBmcm9tLXRvIGNoYXJzIGF0IHRoZSBlbmQgb2YgdGhlIGxpc3Qgd2l0aAorCQkgICAgICogdGhlIGxvdyBieXRlLiAqLworCQkgICAgaW5wID0gKChpbnQgKiopZ2FwLT5nYV9kYXRhKVtjICYgMHhmZl07CisJCSAgICB3aGlsZSAoKmlucCAhPSAwKQorCQkJKytpbnA7CisJCSAgICAqaW5wKysgPSBjOwkJLyogZnJvbSBjaGFyICovCisJCSAgICAqaW5wKysgPSBpOwkJLyogdG8gY2hhciAqLworCQkgICAgKmlucCsrID0gTlVMOwkvKiBOVUwgYXQgdGhlIGVuZCAqLworCQl9CisJCWVsc2UKKwkJICAgIC8qIG1hcHBpbmcgYnl0ZSB0byBjaGFyIGlzIGRvbmUgaW4gc2xfc2FsX2ZpcnN0W10gKi8KKwkJICAgIGxwLT5zbF9zYWxfZmlyc3RbY10gPSBpOworCSAgICB9CisJfQorCWVsc2UKKyNlbmRpZgorCXsKKwkgICAgLyogbWFwcGluZyBieXRlcyB0byBieXRlcyBpcyBkb25lIGluIHNsX3NhbF9maXJzdFtdICovCisJICAgIGlmIChjbnQgIT0gY2NudCkKKwkgICAgeworI2lmZGVmIEZFQVRfTUJZVEUKK3NvZm9lcnI6CisjZW5kaWYKKwkJdmltX2ZyZWUoYnApOworCQl2aW1fZnJlZShmb2wpOworCQlnb3RvIGZvcm1lcnI7CisJICAgIH0KKwkgICAgZm9yIChpID0gMDsgaSA8IGNudDsgKytpKQorCQlscC0+c2xfc2FsX2ZpcnN0W2JwW2ldXSA9IGZvbFtpXTsKKwkgICAgbHAtPnNsX3NhbC5nYV9sZW4gPSAxOwkvKiBpbmRpY2F0ZXMgd2UgaGF2ZSBzb3VuZGZvbGRpbmcgKi8KKwl9CisJdmltX2ZyZWUoYnApOworCXZpbV9mcmVlKGZvbCk7CisgICAgfQorICAgIGVsc2UKKyAgICB7CisJLyoKKwkgKiBTQUwgaXRlbXMKKwkgKi8KKwlnYXAgPSAmbHAtPnNsX3NhbDsKKwlpZiAoZ2FfZ3JvdyhnYXAsIGNudCkgPT0gRkFJTCkKKwkgICAgZ290byBlbmRGQUlMOworCisJLyogPHNhbD4gOiA8c2FsZnJvbWxlbj4gPHNhbGZyb20+IDxzYWx0b2xlbj4gPHNhbHRvPiAqLworCWZvciAoOyBnYXAtPmdhX2xlbiA8IGNudDsgKytnYXAtPmdhX2xlbikKKwl7CisJICAgIHNtcCA9ICYoKHNhbGl0ZW1fVCAqKWdhcC0+Z2FfZGF0YSlbZ2FwLT5nYV9sZW5dOworCSAgICBjY250ID0gZ2V0YyhmZCk7CQkJLyogPHNhbGZyb21sZW4+ICovCisJICAgIGlmIChjY250IDwgMCkKKwkJZ290byBmb3JtZXJyOworCSAgICBpZiAoKHAgPSBhbGxvYyhjY250ICsgMikpID09IE5VTEwpCisJCWdvdG8gZW5kRkFJTDsKKwkgICAgc21wLT5zbV9sZWFkID0gcDsKKworCSAgICAvKiBSZWFkIHVwIHRvIHRoZSBmaXJzdCBzcGVjaWFsIGNoYXIgaW50byBzbV9sZWFkLiAqLworCSAgICBmb3IgKGkgPSAwOyBpIDwgY2NudDsgKytpKQogCSAgICB7CiAJCWMgPSBnZXRjKGZkKTsJCQkvKiA8c2FsZnJvbT4gKi8KLQkJaWYgKGMgPT0gJyknKQorCQlpZiAodmltX3N0cmNocigoY2hhcl91ICopIjAxMjM0NTY3ODkoLTxeJCIsIGMpICE9IE5VTEwpCiAJCSAgICBicmVhazsKIAkJKnArKyA9IGM7CiAJICAgIH0KKwkgICAgc21wLT5zbV9sZWFkbGVuID0gcCAtIHNtcC0+c21fbGVhZDsKIAkgICAgKnArKyA9IE5VTDsKLQkgICAgaWYgKCsraSA8IGNjbnQpCi0JCWMgPSBnZXRjKGZkKTsKLQl9Ci0JZWxzZQotCSAgICBzbXAtPnNtX29uZW9mZiA9IE5VTEw7CiAKLQkvKiBBbnkgZm9sbG93aW5nIGNoYXJzIGdvIGluIHNtX3J1bGVzLiAqLwotCXNtcC0+c21fcnVsZXMgPSBwOwotCWlmIChpIDwgY2NudCkKLQkgICAgKnArKyA9IGM7Ci0JZm9yICgrK2k7IGkgPCBjY250OyArK2kpCi0JICAgICpwKysgPSBnZXRjKGZkKTsJCQkvKiA8c2FsZnJvbT4gKi8KLQkqcCsrID0gTlVMOwotCi0JY2NudCA9IGdldGMoZmQpOwkJCS8qIDxzYWx0b2xlbj4gKi8KLQlpZiAoY2NudCA8IDApCi0JewotCSAgICB2aW1fZnJlZShzbXAtPnNtX2xlYWQpOwotCSAgICBnb3RvIGZvcm1lcnI7Ci0JfQotCWlmICgocCA9IGFsbG9jKGNjbnQgKyAxKSkgPT0gTlVMTCkKLQl7Ci0JICAgIHZpbV9mcmVlKHNtcC0+c21fbGVhZCk7Ci0JICAgIGdvdG8gZW5kRkFJTDsKLQl9Ci0Jc21wLT5zbV90byA9IHA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgY2NudDsgKytpKQotCSAgICAqcCsrID0gZ2V0YyhmZCk7CQkJLyogPHNhbHRvPiAqLwotCSpwKysgPSBOVUw7Ci0KLSNpZmRlZiBGRUFUX01CWVRFCi0JaWYgKGhhc19tYnl0ZSkKLQl7Ci0JICAgIC8qIGNvbnZlcnQgdGhlIG11bHRpLWJ5dGUgc3RyaW5ncyB0byB3aWRlIGNoYXIgc3RyaW5ncyAqLwotCSAgICBzbXAtPnNtX2xlYWRfdyA9IG1iX3N0cjJ3aWRlKHNtcC0+c21fbGVhZCk7Ci0JICAgIHNtcC0+c21fbGVhZGxlbiA9IG1iX2NoYXJsZW4oc21wLT5zbV9sZWFkKTsKLQkgICAgaWYgKHNtcC0+c21fb25lb2ZmID09IE5VTEwpCi0JCXNtcC0+c21fb25lb2ZmX3cgPSBOVUxMOworCSAgICAvKiBQdXQgKGFiYykgY2hhcnMgaW4gc21fb25lb2YsIGlmIGFueS4gKi8KKwkgICAgaWYgKGMgPT0gJygnKQorCSAgICB7CisJCXNtcC0+c21fb25lb2YgPSBwOworCQlmb3IgKCsraTsgaSA8IGNjbnQ7ICsraSkKKwkJeworCQkgICAgYyA9IGdldGMoZmQpOwkJCS8qIDxzYWxmcm9tPiAqLworCQkgICAgaWYgKGMgPT0gJyknKQorCQkJYnJlYWs7CisJCSAgICAqcCsrID0gYzsKKwkJfQorCQkqcCsrID0gTlVMOworCQlpZiAoKytpIDwgY2NudCkKKwkJICAgIGMgPSBnZXRjKGZkKTsKKwkgICAgfQogCSAgICBlbHNlCi0JCXNtcC0+c21fb25lb2ZmX3cgPSBtYl9zdHIyd2lkZShzbXAtPnNtX29uZW9mZik7Ci0JICAgIHNtcC0+c21fdG9fdyA9IG1iX3N0cjJ3aWRlKHNtcC0+c21fdG8pOwotCSAgICBpZiAoc21wLT5zbV9sZWFkX3cgPT0gTlVMTAotCQkgICAgfHwgKHNtcC0+c21fb25lb2ZmX3cgPT0gTlVMTCAmJiBzbXAtPnNtX29uZW9mZiAhPSBOVUxMKQotCQkgICAgfHwgc21wLT5zbV90b193ID09IE5VTEwpCisJCXNtcC0+c21fb25lb2YgPSBOVUxMOworCisJICAgIC8qIEFueSBmb2xsb3dpbmcgY2hhcnMgZ28gaW4gc21fcnVsZXMuICovCisJICAgIHNtcC0+c21fcnVsZXMgPSBwOworCSAgICBpZiAoaSA8IGNjbnQpCisJCS8qIHN0b3JlIHRoZSBjaGFyIHdlIGdvdCB3aGlsZSBjaGVja2luZyBmb3IgZW5kIG9mIHNtX2xlYWQgKi8KKwkJKnArKyA9IGM7CisJICAgIGZvciAoKytpOyBpIDwgY2NudDsgKytpKQorCQkqcCsrID0gZ2V0YyhmZCk7CQkJLyogPHNhbGZyb20+ICovCisJICAgICpwKysgPSBOVUw7CisKKwkgICAgY2NudCA9IGdldGMoZmQpOwkJCS8qIDxzYWx0b2xlbj4gKi8KKwkgICAgaWYgKGNjbnQgPCAwKQogCSAgICB7CiAJCXZpbV9mcmVlKHNtcC0+c21fbGVhZCk7Ci0JCXZpbV9mcmVlKHNtcC0+c21fdG8pOwotCQl2aW1fZnJlZShzbXAtPnNtX2xlYWRfdyk7Ci0JCXZpbV9mcmVlKHNtcC0+c21fb25lb2ZmX3cpOwotCQl2aW1fZnJlZShzbXAtPnNtX3RvX3cpOworCQlnb3RvIGZvcm1lcnI7CisJICAgIH0KKwkgICAgaWYgKChwID0gYWxsb2MoY2NudCArIDEpKSA9PSBOVUxMKQorCSAgICB7CisJCXZpbV9mcmVlKHNtcC0+c21fbGVhZCk7CiAJCWdvdG8gZW5kRkFJTDsKIAkgICAgfQotCX0KLSNlbmRpZgotICAgIH0KKwkgICAgc21wLT5zbV90byA9IHA7CiAKLSAgICAvKiBGaWxsIHRoZSBmaXJzdC1pbmRleCB0YWJsZS4gKi8KLSAgICBmaXJzdCA9IGxwLT5zbF9zYWxfZmlyc3Q7Ci0gICAgZm9yIChpID0gMDsgaSA8IDI1NjsgKytpKQotCWZpcnN0W2ldID0gLTE7Ci0gICAgZm9yIChpID0gMDsgaSA8IGdhcC0+Z2FfbGVuOyArK2kpCi0gICAgewotCXNtcCA9ICYoKHNhbGl0ZW1fVCAqKWdhcC0+Z2FfZGF0YSlbaV07Ci0jaWZkZWYgRkVBVF9NQllURQotCWlmIChoYXNfbWJ5dGUpCi0JICAgIC8qIFVzZSB0aGUgbG93ZXN0IGJ5dGUgb2YgdGhlIGZpcnN0IGNoYXJhY3Rlci4gKi8KLQkgICAgYyA9ICpzbXAtPnNtX2xlYWRfdyAmIDB4ZmY7Ci0JZWxzZQotI2VuZGlmCi0JICAgIGMgPSAqc21wLT5zbV9sZWFkOwotCWlmIChmaXJzdFtjXSA9PSAtMSkKLQl7Ci0JICAgIGZpcnN0W2NdID0gaTsKKwkgICAgZm9yIChpID0gMDsgaSA8IGNjbnQ7ICsraSkKKwkJKnArKyA9IGdldGMoZmQpOwkJCS8qIDxzYWx0bz4gKi8KKwkgICAgKnArKyA9IE5VTDsKKwogI2lmZGVmIEZFQVRfTUJZVEUKIAkgICAgaWYgKGhhc19tYnl0ZSkKIAkgICAgewotCQlpbnQJajsKLQotCQkvKiBNYWtlIHN1cmUgYWxsIGVudHJpZXMgd2l0aCB0aGlzIGJ5dGUgYXJlIGZvbGxvd2luZyBlYWNoCi0JCSAqIG90aGVyLiAgTW92ZSB0aGUgb25lcyBkb3duIHRoYXQgYXJlIGluIHRoZSB3cm9uZyBwb3NpdGlvbi4KLQkJICogRG8ga2VlcCB0aGUgcmlnaHQgc2VxdWVuY2UuICovCi0JCXdoaWxlIChpICsgMSA8IGdhcC0+Z2FfbGVuICYmICgqc21wWzFdLnNtX2xlYWRfdyAmIDB4ZmYpID09IGMpCisJCS8qIGNvbnZlcnQgdGhlIG11bHRpLWJ5dGUgc3RyaW5ncyB0byB3aWRlIGNoYXIgc3RyaW5ncyAqLworCQlzbXAtPnNtX2xlYWRfdyA9IG1iX3N0cjJ3aWRlKHNtcC0+c21fbGVhZCk7CisJCXNtcC0+c21fbGVhZGxlbiA9IG1iX2NoYXJsZW4oc21wLT5zbV9sZWFkKTsKKwkJaWYgKHNtcC0+c21fb25lb2YgPT0gTlVMTCkKKwkJICAgIHNtcC0+c21fb25lb2ZfdyA9IE5VTEw7CisJCWVsc2UKKwkJICAgIHNtcC0+c21fb25lb2ZfdyA9IG1iX3N0cjJ3aWRlKHNtcC0+c21fb25lb2YpOworCQlzbXAtPnNtX3RvX3cgPSBtYl9zdHIyd2lkZShzbXAtPnNtX3RvKTsKKwkJaWYgKHNtcC0+c21fbGVhZF93ID09IE5VTEwKKwkJCXx8IChzbXAtPnNtX29uZW9mX3cgPT0gTlVMTCAmJiBzbXAtPnNtX29uZW9mICE9IE5VTEwpCisJCQl8fCBzbXAtPnNtX3RvX3cgPT0gTlVMTCkKIAkJewotCQkgICAgKytpOwotCQkgICAgKytzbXA7CisJCSAgICB2aW1fZnJlZShzbXAtPnNtX2xlYWQpOworCQkgICAgdmltX2ZyZWUoc21wLT5zbV90byk7CisJCSAgICB2aW1fZnJlZShzbXAtPnNtX2xlYWRfdyk7CisJCSAgICB2aW1fZnJlZShzbXAtPnNtX29uZW9mX3cpOworCQkgICAgdmltX2ZyZWUoc21wLT5zbV90b193KTsKKwkJICAgIGdvdG8gZW5kRkFJTDsKIAkJfQotCQlmb3IgKGogPSAxOyBpICsgaiA8IGdhcC0+Z2FfbGVuOyArK2opCi0JCSAgICBpZiAoKCpzbXBbal0uc21fbGVhZF93ICYgMHhmZikgPT0gYykKLQkJICAgIHsKLQkJCXNhbGl0ZW1fVCAgdHNhbDsKLQotCQkJKytpOwotCQkJKytzbXA7Ci0JCQktLWo7Ci0JCQl0c2FsID0gc21wW2pdOwotCQkJbWNoX21lbW1vdmUoc21wICsgMSwgc21wLCBzaXplb2Yoc2FsaXRlbV9UKSAqIGopOwotCQkJKnNtcCA9IHRzYWw7Ci0JCSAgICB9CiAJICAgIH0KICNlbmRpZgogCX0KKworCS8qIEZpbGwgdGhlIGZpcnN0LWluZGV4IHRhYmxlLiAqLworCXNmaXJzdCA9IGxwLT5zbF9zYWxfZmlyc3Q7CisJZm9yIChpID0gMDsgaSA8IDI1NjsgKytpKQorCSAgICBzZmlyc3RbaV0gPSAtMTsKKwlzbXAgPSAoc2FsaXRlbV9UICopZ2FwLT5nYV9kYXRhOworCWZvciAoaSA9IDA7IGkgPCBnYXAtPmdhX2xlbjsgKytpKQorCXsKKyNpZmRlZiBGRUFUX01CWVRFCisJICAgIGlmIChoYXNfbWJ5dGUpCisJCS8qIFVzZSB0aGUgbG93ZXN0IGJ5dGUgb2YgdGhlIGZpcnN0IGNoYXJhY3Rlci4gIEZvciBsYXRpbjEgaXQncworCQkgKiB0aGUgY2hhcmFjdGVyLCBmb3Igb3RoZXIgZW5jb2RpbmdzIGl0IHNob3VsZCBkaWZmZXIgZm9yIG1vc3QKKwkJICogY2hhcmFjdGVycy4gKi8KKwkJYyA9ICpzbXBbaV0uc21fbGVhZF93ICYgMHhmZjsKKwkgICAgZWxzZQorI2VuZGlmCisJCWMgPSAqc21wW2ldLnNtX2xlYWQ7CisJICAgIGlmIChzZmlyc3RbY10gPT0gLTEpCisJICAgIHsKKwkJc2ZpcnN0W2NdID0gaTsKKyNpZmRlZiBGRUFUX01CWVRFCisJCWlmIChoYXNfbWJ5dGUpCisJCXsKKwkJICAgIC8qIE1ha2Ugc3VyZSBhbGwgZW50cmllcyB3aXRoIHRoaXMgYnl0ZSBhcmUgZm9sbG93aW5nIGVhY2gKKwkJICAgICAqIG90aGVyLiAgTW92ZSB0aGUgb25lcyB0aGF0IGFyZSBpbiB0aGUgd3JvbmcgcG9zaXRpb24uICBEbworCQkgICAgICoga2VlcCB0aGUgc2FtZSBvcmRlcmluZyEgKi8KKwkJICAgIHdoaWxlIChpICsgMSA8IGdhcC0+Z2FfbGVuCisJCQkJCSAgICYmICgqc21wW2kgKyAxXS5zbV9sZWFkX3cgJiAweGZmKSA9PSBjKQorCQkJLyogU2tpcCBvdmVyIGVudHJ5IHdpdGggc2FtZSBpbmRleCBieXRlLiAqLworCQkJKytpOworCisJCSAgICBmb3IgKG4gPSAxOyBpICsgbiA8IGdhcC0+Z2FfbGVuOyArK24pCisJCQlpZiAoKCpzbXBbaSArIG5dLnNtX2xlYWRfdyAmIDB4ZmYpID09IGMpCisJCQl7CisJCQkgICAgc2FsaXRlbV9UICB0c2FsOworCisJCQkgICAgLyogTW92ZSBlbnRyeSB3aXRoIHNhbWUgaW5kZXggYnl0ZSBhZnRlciB0aGUgZW50cmllcworCQkJICAgICAqIHdlIGFscmVhZHkgZm91bmQuICovCisJCQkgICAgKytpOworCQkJICAgIC0tbjsKKwkJCSAgICB0c2FsID0gc21wW2kgKyBuXTsKKwkJCSAgICBtY2hfbWVtbW92ZShzbXAgKyBpICsgMSwgc21wICsgaSwKKwkJCQkJCQkgICBzaXplb2Yoc2FsaXRlbV9UKSAqIG4pOworCQkJICAgIHNtcFtpXSA9IHRzYWw7CisJCQl9CisJCX0KKyNlbmRpZgorCSAgICB9CisJfQogICAgIH0KIAogICAgIGNudCA9IChnZXRjKGZkKSA8PCA4KSArIGdldGMoZmQpOwkJLyogPG1hcGxlbj4gKi8KQEAgLTI3MTEsNiArMjg3Nyw4IEBACiAKICAgICBnYXJyYXlfVAlzaV9yZXA7CQkvKiBsaXN0IG9mIGZyb210b19UIGVudHJpZXMgZnJvbSBSRVAgbGluZXMgKi8KICAgICBnYXJyYXlfVAlzaV9zYWw7CQkvKiBsaXN0IG9mIGZyb210b19UIGVudHJpZXMgZnJvbSBTQUwgbGluZXMgKi8KKyAgICBjaGFyX3UJKnNpX3NvZm9mcjsJLyogU09GT0ZST00gdGV4dCAqLworICAgIGNoYXJfdQkqc2lfc29mb3RvOwkvKiBTT0ZPVE8gdGV4dCAqLwogICAgIGludAkJc2lfZm9sbG93dXA7CS8qIHNvdW5kc2FsaWtlOiA/ICovCiAgICAgaW50CQlzaV9jb2xsYXBzZTsJLyogc291bmRzYWxpa2U6ID8gKi8KICAgICBpbnQJCXNpX3JlbV9hY2NlbnRzOwkvKiBzb3VuZHNhbGlrZTogcmVtb3ZlIGFjY2VudHMgKi8KQEAgLTI3NzYsNiArMjk0NCw3IEBACiAgICAgaW50CQlkb19zYWw7CiAgICAgaW50CQlkb19tYXA7CiAgICAgaW50CQlkb19taWR3b3JkOworICAgIGludAkJZG9fc29mbzsKICAgICBpbnQJCWZvdW5kX21hcCA9IEZBTFNFOwogICAgIGhhc2hpdGVtX1QJKmhpOwogCkBAIC0yODExLDYgKzI5ODAsOSBAQAogICAgIC8qIE9ubHkgZG8gTUlEV09SRCBsaW5lIHdoZW4gbm90IGRvbmUgaW4gYW5vdGhlciAuYWZmIGZpbGUgYWxyZWFkeSAqLwogICAgIGRvX21pZHdvcmQgPSBzcGluLT5zaV9taWR3b3JkID09IE5VTEw7CiAKKyAgICAvKiBPbmx5IGRvIFNPRk9GUk9NIGFuZCBTT0ZPVE8gd2hlbiBub3QgZG9uZSBpbiBhbm90aGVyIC5hZmYgZmlsZSBhbHJlYWR5ICovCisgICAgZG9fc29mbyA9IHNwaW4tPnNpX3NvZm9mciA9PSBOVUxMOworCiAgICAgLyoKICAgICAgKiBBbGxvY2F0ZSBhbmQgaW5pdCB0aGUgYWZmZmlsZV9UIHN0cnVjdHVyZS4KICAgICAgKi8KQEAgLTI4ODYsNiArMzA1OCw3IEBACiAJCQkJCQkJICAgICAgIHBfZW5jKSA9PSBGQUlMKQogCQkgICAgc21zZygoY2hhcl91ICopXygiQ29udmVyc2lvbiBpbiAlcyBub3Qgc3VwcG9ydGVkOiBmcm9tICVzIHRvICVzIiksCiAJCQkJCSAgICAgICBmbmFtZSwgYWZmLT5hZl9lbmMsIHBfZW5jKTsKKwkJc3Bpbi0+c2lfY29udi52Y19mYWlsID0gVFJVRTsKICNlbHNlCiAJCSAgICBzbXNnKChjaGFyX3UgKilfKCJDb252ZXJzaW9uIGluICVzIG5vdCBzdXBwb3J0ZWQiKSwgZm5hbWUpOwogI2VuZGlmCkBAIC0zMTY1LDEyICszMzM4LDMwIEBACiAJCQkJCQkJCTogaXRlbXNbMl0pOwogCQl9CiAJICAgIH0KKwkgICAgZWxzZSBpZiAoU1RSQ01QKGl0ZW1zWzBdLCAiU09GT0ZST00iKSA9PSAwICYmIGl0ZW1jbnQgPT0gMgorCQkJCSAgICAgJiYgKCFkb19zb2ZvIHx8IHNwaW4tPnNpX3NvZm9mciA9PSBOVUxMKSkKKwkgICAgeworCQlpZiAoZG9fc29mbykKKwkJICAgIHNwaW4tPnNpX3NvZm9mciA9IHZpbV9zdHJzYXZlKGl0ZW1zWzFdKTsKKwkgICAgfQorCSAgICBlbHNlIGlmIChTVFJDTVAoaXRlbXNbMF0sICJTT0ZPVE8iKSA9PSAwICYmIGl0ZW1jbnQgPT0gMgorCQkJCSAgICAgJiYgKCFkb19zb2ZvIHx8IHNwaW4tPnNpX3NvZm90byA9PSBOVUxMKSkKKwkgICAgeworCQlpZiAoZG9fc29mbykKKwkJICAgIHNwaW4tPnNpX3NvZm90byA9IHZpbV9zdHJzYXZlKGl0ZW1zWzFdKTsKKwkgICAgfQogCSAgICBlbHNlCiAJCXNtc2coKGNoYXJfdSAqKV8oIlVucmVjb2duaXplZCBpdGVtIGluICVzIGxpbmUgJWQ6ICVzIiksCiAJCQkJCQkgICAgICAgZm5hbWUsIGxudW0sIGl0ZW1zWzBdKTsKIAl9CiAgICAgfQogCisgICAgaWYgKGRvX3NvZm8gJiYgKHNwaW4tPnNpX3NvZm9mciA9PSBOVUxMKSAhPSAoc3Bpbi0+c2lfc29mb3RvID09IE5VTEwpKQorCXNtc2coKGNoYXJfdSAqKV8oIk1pc3NpbmcgU09GTyVzIGxpbmUgaW4gJXMiKSwKKwkJCSAgICAgIHNwaW4tPnNpX3NvZm9mciA9PSBOVUxMID8gIkZST00iIDogIlRPIiwgZm5hbWUpOworICAgIGlmIChzcGluLT5zaV9zb2ZvZnIgIT0gTlVMTCAmJiBzcGluLT5zaV9zYWwuZ2FfbGVuID4gMCkKKwlzbXNnKChjaGFyX3UgKilfKCJCb3RoIFNBTCBhbmQgU09GTyBsaW5lcyBpbiAlcyIpLCBmbmFtZSk7CisKICAgICBpZiAoZm9sICE9IE5VTEwgfHwgbG93ICE9IE5VTEwgfHwgdXBwICE9IE5VTEwpCiAgICAgewogCWlmIChzcGluLT5zaV9jbGVhcl9jaGFydGFiKQpAQCAtMzQ0OSw3ICszNjQwLDcgQEAKIAloaSA9IGhhc2hfbG9va3VwKCZodCwgZHcsIGhhc2gpOwogCWlmICghSEFTSElURU1fRU1QVFkoaGkpKQogCSAgICBzbXNnKChjaGFyX3UgKilfKCJEdXBsaWNhdGUgd29yZCBpbiAlcyBsaW5lICVkOiAlcyIpLAotCQkJCQkJCSAgICAgIGZuYW1lLCBsbnVtLCB3KTsKKwkJCQkJCQkgICAgIGZuYW1lLCBsbnVtLCBkdyk7CiAJZWxzZQogCSAgICBoYXNoX2FkZF9pdGVtKCZodCwgaGksIGR3LCBoYXNoKTsKIApAQCAtMzc5Nyw2ICszOTg4LDcgQEAKIAkJCXNtc2coKGNoYXJfdSAqKV8oIkNvbnZlcnNpb24gaW4gJXMgbm90IHN1cHBvcnRlZDogZnJvbSAlcyB0byAlcyIpLAogCQkJCQkJCSAgZm5hbWUsIGxpbmUsIHBfZW5jKTsKIAkJICAgIHZpbV9mcmVlKGVuYyk7CisJCSAgICBzcGluLT5zaV9jb252LnZjX2ZhaWwgPSBUUlVFOwogI2Vsc2UKIAkJICAgIHNtc2coKGNoYXJfdSAqKV8oIkNvbnZlcnNpb24gaW4gJXMgbm90IHN1cHBvcnRlZCIpLCBmbmFtZSk7CiAjZW5kaWYKQEAgLTQzNzYsNiArNDU2OCw4IEBACiAgICAgcXNvcnQoc3Bpbi0+c2lfcmVwLmdhX2RhdGEsIChzaXplX3Qpc3Bpbi0+c2lfcmVwLmdhX2xlbiwKIAkJCQkJICAgICAgIHNpemVvZihmcm9tdG9fVCksIHJlcF9jb21wYXJlKTsKIAorICAgIC8qIHJvdW5kIDE6IFJFUCBpdGVtcworICAgICAqIHJvdW5kIDI6IFNBTCBpdGVtcyAodW5sZXNzIFNPRk8gaXMgdXNlZCkgKi8KICAgICBmb3IgKHJvdW5kID0gMTsgcm91bmQgPD0gMjsgKytyb3VuZCkKICAgICB7CiAJaWYgKHJvdW5kID09IDEpCkBAIC00MzkxLDcgKzQ1ODUsMTEgQEAKIAkJaSB8PSBTQUxfQ09MTEFQU0U7CiAJICAgIGlmIChzcGluLT5zaV9yZW1fYWNjZW50cykKIAkJaSB8PSBTQUxfUkVNX0FDQ0VOVFM7CisJICAgIGlmIChzcGluLT5zaV9zb2ZvZnIgIT0gTlVMTCAmJiBzcGluLT5zaV9zb2ZvdG8gIT0gTlVMTCkKKwkJaSB8PSBTQUxfU09GTzsKIAkgICAgcHV0YyhpLCBmZCk7CQkJLyogPHNhbGZsYWdzPiAqLworCSAgICBpZiAoaSAmIFNBTF9TT0ZPKQorCQlicmVhazsKIAl9CiAKIAlwdXRfYnl0ZXMoZmQsIChsb25nX3UpZ2FwLT5nYV9sZW4sIDIpOwkvKiA8cmVwY291bnQ+IG9yIDxzYWxjb3VudD4gKi8KQEAgLTQ0MTAsNiArNDYwOCwyMCBAQAogCX0KICAgICB9CiAKKyAgICAvKiBTT0ZPRlJPTSBhbmQgU09GT1RPICovCisgICAgaWYgKHNwaW4tPnNpX3NvZm9mciAhPSBOVUxMICYmIHNwaW4tPnNpX3NvZm90byAhPSBOVUxMKQorICAgIHsKKwlwdXRfYnl0ZXMoZmQsIDFMLCAyKTsJCQkJLyogPHNhbGNvdW50PiAqLworCisJbCA9IFNUUkxFTihzcGluLT5zaV9zb2ZvZnIpOworCXB1dF9ieXRlcyhmZCwgKGxvbmdfdSlsLCAyKTsJCQkvKiA8c2FsZnJvbWxlbj4gKi8KKwlmd3JpdGUoc3Bpbi0+c2lfc29mb2ZyLCBsLCAoc2l6ZV90KTEsIGZkKTsJLyogPHNhbGZyb20+ICovCisKKwlsID0gU1RSTEVOKHNwaW4tPnNpX3NvZm90byk7CisJcHV0X2J5dGVzKGZkLCAobG9uZ191KWwsIDIpOwkJCS8qIDxzYWx0b2xlbj4gKi8KKwlmd3JpdGUoc3Bpbi0+c2lfc29mb3RvLCBsLCAoc2l6ZV90KTEsIGZkKTsJLyogPHNhbHRvPiAqLworICAgIH0KKwogICAgIHB1dF9ieXRlcyhmZCwgKGxvbmdfdSlzcGluLT5zaV9tYXAuZ2FfbGVuLCAyKTsJLyogPG1hcGxlbj4gKi8KICAgICBpZiAoc3Bpbi0+c2lfbWFwLmdhX2xlbiA+IDApCQkJLyogPG1hcHN0cj4gKi8KIAlmd3JpdGUoc3Bpbi0+c2lfbWFwLmdhX2RhdGEsIChzaXplX3Qpc3Bpbi0+c2lfbWFwLmdhX2xlbiwKQEAgLTQ4NjksNiArNTA4MSw4IEBACiAJZ2FfY2xlYXIoJnNwaW4uc2lfbWFwKTsKIAlnYV9jbGVhcigmc3Bpbi5zaV9wcmVmY29uZCk7CiAJdmltX2ZyZWUoc3Bpbi5zaV9taWR3b3JkKTsKKwl2aW1fZnJlZShzcGluLnNpX3NvZm9mcik7CisJdmltX2ZyZWUoc3Bpbi5zaV9zb2ZvdG8pOwogCiAJLyogRnJlZSB0aGUgLmFmZiBmaWxlIHN0cnVjdHVyZXMuICovCiAJZm9yIChpID0gMDsgaSA8IGluY291bnQ7ICsraSkKQEAgLTU1MzUsNyArNTc0OSw3IEBACiAJd2hpbGUgKHAgPiBsaW5lICYmIFNQRUxMX0lTV09SRFAocCkpCiAJICAgIG1iX3B0cl9iYWNrKGxpbmUsIHApOwogCS8qIEZvcndhcmQgdG8gc3RhcnQgb2Ygd29yZC4gKi8KLQl3aGlsZSAoIVNQRUxMX0lTV09SRFAocCkpCisJd2hpbGUgKCpwICE9IE5VTCAmJiAhU1BFTExfSVNXT1JEUChwKSkKIAkgICAgbWJfcHRyX2FkdihwKTsKIAogCWlmICghU1BFTExfSVNXT1JEUChwKSkJCS8qIE5vIHdvcmQgZm91bmQuICovCkBAIC01ODEzLDggKzYwMjcsOCBAQAogCWlmIChTVFJOQ01QKGJ1ZiwgImV4cHI6IiwgNSkgPT0gMCkKIAl7CiAjaWZkZWYgRkVBVF9FVkFMCi0JICAgIC8qIEV2YWx1YXRlIGFuIGV4cHJlc3Npb24uICBTa2lwIHRoaXMgd2hlbiBjYWxsZWQgcmVjdXJzaXZlbHkKLQkgICAgICogKHVzaW5nIHNwZWxsc3VnZ2VzdCgpIGluIHRoZSBleHByZXNzaW9uKS4gKi8KKwkgICAgLyogRXZhbHVhdGUgYW4gZXhwcmVzc2lvbi4gIFNraXAgdGhpcyB3aGVuIGNhbGxlZCByZWN1cnNpdmVseSwKKwkgICAgICogd2hlbiB1c2luZyBzcGVsbHN1Z2dlc3QoKSBpbiB0aGUgZXhwcmVzc2lvbi4gKi8KIAkgICAgaWYgKCFleHByX2J1c3kpCiAJICAgIHsKIAkJZXhwcl9idXN5ID0gVFJVRTsKQEAgLTYxNTEsOCArNjM2NSw4IEBACiAgICAgdHJ5c3RhdGVfVAkqc3A7CiAgICAgaW50CQluZXdzY29yZTsKICAgICBsYW5ncF9UCSpscDsKLSAgICBjaGFyX3UJKmJ5dHM7Ci0gICAgaWR4X1QJKmlkeHM7CisgICAgY2hhcl91CSpieXRzLCAqZmJ5dHMsICpwYnl0czsKKyAgICBpZHhfVAkqaWR4cywgKmZpZHhzLCAqcGlkeHM7CiAgICAgaW50CQlkZXB0aDsKICAgICBpbnQJCWMsIGMyLCBjMzsKICAgICBpbnQJCW4gPSAwOwpAQCAtNjE4MiwyMiArNjM5Niw0MiBAQAogCSAqICJmd29yZFtdIiB0aGUgd29yZCB3ZSBhcmUgdHJ5aW5nIHRvIG1hdGNoIHdpdGggKGluaXRpYWxseSB0aGUgYmFkCiAJICogd29yZCkuCiAJICovCi0JYnl0cyA9IGxwLT5scF9zbGFuZy0+c2xfZmJ5dHM7Ci0JaWR4cyA9IGxwLT5scF9zbGFuZy0+c2xfZmlkeHM7Ci0KIAlkZXB0aCA9IDA7Ci0Jc3RhY2tbMF0udHNfc3RhdGUgPSBTVEFURV9TVEFSVDsKLQlzdGFja1swXS50c19zY29yZSA9IDA7Ci0Jc3RhY2tbMF0udHNfY3VyaSA9IDE7Ci0Jc3RhY2tbMF0udHNfZmlkeCA9IDA7Ci0Jc3RhY2tbMF0udHNfZmlkeHRyeSA9IDA7Ci0Jc3RhY2tbMF0udHNfdHdvcmRsZW4gPSAwOwotCXN0YWNrWzBdLnRzX2FycmlkeCA9IDA7CisJc3AgPSAmc3RhY2tbMF07CisJc3AtPnRzX3N0YXRlID0gU1RBVEVfU1RBUlQ7CisJc3AtPnRzX3Njb3JlID0gMDsKKwlzcC0+dHNfY3VyaSA9IDE7CisJc3AtPnRzX2ZpZHggPSAwOworCXNwLT50c19maWR4dHJ5ID0gMDsKKwlzcC0+dHNfdHdvcmRsZW4gPSAwOworCXNwLT50c19hcnJpZHggPSAwOwogI2lmZGVmIEZFQVRfTUJZVEUKLQlzdGFja1swXS50c190Y2hhcmxlbiA9IDA7CisJc3AtPnRzX3RjaGFybGVuID0gMDsKICNlbmRpZgogCiAJLyoKKwkgKiBXaGVuIHRoZXJlIGFyZSBwb3N0cG9uZWQgcHJlZml4ZXMgd2UgbmVlZCB0byB1c2UgdGhlc2UgZmlyc3QuICBBdAorCSAqIHRoZSBlbmQgb2YgdGhlIHByZWZpeCB3ZSBjb250aW51ZSBpbiB0aGUgY2FzZS1mb2xkIHRyZWUuCisJICovCisJZmJ5dHMgPSBscC0+bHBfc2xhbmctPnNsX2ZieXRzOworCWZpZHhzID0gbHAtPmxwX3NsYW5nLT5zbF9maWR4czsKKwlwYnl0cyA9IGxwLT5scF9zbGFuZy0+c2xfcGJ5dHM7CisJcGlkeHMgPSBscC0+bHBfc2xhbmctPnNsX3BpZHhzOworCWlmIChwYnl0cyAhPSBOVUxMKQorCXsKKwkgICAgYnl0cyA9IHBieXRzOworCSAgICBpZHhzID0gcGlkeHM7CisJICAgIHNwLT50c19wcmVmaXhkZXB0aCA9IFBSRUZJWFRSRUU7CisJICAgIHNwLT50c19zdGF0ZSA9IFNUQVRFX05PUFJFRklYOwkvKiB0cnkgd2l0aG91dCBwcmVmaXggZmlyc3QgKi8KKwl9CisJZWxzZQorCXsKKwkgICAgYnl0cyA9IGZieXRzOworCSAgICBpZHhzID0gZmlkeHM7CisJICAgIHNwLT50c19wcmVmaXhkZXB0aCA9IE5PUFJFRklYOworCX0KKworCS8qCiAJICogTG9vcCB0byBmaW5kIGFsbCBzdWdnZXN0aW9ucy4gIEF0IGVhY2ggcm91bmQgd2UgZWl0aGVyOgogCSAqIC0gRm9yIHRoZSBjdXJyZW50IHN0YXRlIHRyeSBvbmUgb3BlcmF0aW9uLCBhZHZhbmNlICJ0c19jdXJpIiwKIAkgKiAgIGluY3JlYXNlICJkZXB0aCIuCkBAIC02MjEwLDYgKzY0NDQsNyBAQAogCSAgICBzd2l0Y2ggKHNwLT50c19zdGF0ZSkKIAkgICAgewogCSAgICBjYXNlIFNUQVRFX1NUQVJUOgorCSAgICBjYXNlIFNUQVRFX05PUFJFRklYOgogCQkvKgogCQkgKiBTdGFydCBvZiBub2RlOiBEZWFsIHdpdGggTlVMIGJ5dGVzLCB3aGljaCBtZWFucwogCQkgKiB0d29yZFtdIG1heSBlbmQgaGVyZS4KQEAgLTYyMTgsNiArNjQ1Myw0MCBAQAogCQlsZW4gPSBieXRzW2FycmlkeF07CSAgICAvKiBieXRlcyBpbiB0aGlzIG5vZGUgKi8KIAkJYXJyaWR4ICs9IHNwLT50c19jdXJpOwkgICAgLyogaW5kZXggb2YgY3VycmVudCBieXRlICovCiAKKwkJaWYgKHNwLT50c19wcmVmaXhkZXB0aCA9PSBQUkVGSVhUUkVFKQorCQl7CisJCSAgICAvKiBTa2lwIG92ZXIgdGhlIE5VTCBieXRlcywgd2UgdXNlIHRoZW0gbGF0ZXIuICovCisJCSAgICBmb3IgKG4gPSAwOyBuIDwgbGVuICYmIGJ5dHNbYXJyaWR4ICsgbl0gPT0gMDsgKytuKQorCQkJOworCQkgICAgc3AtPnRzX2N1cmkgKz0gbjsKKworCQkgICAgLyogQXQgZW5kIG9mIGEgcHJlZml4IG9yIGF0IHN0YXJ0IG9mIHByZWZpeHRyZWU6IGNoZWNrIGZvcgorCQkgICAgICogZm9sbG93aW5nIHdvcmQuICovCisJCSAgICBpZiAoYnl0c1thcnJpZHhdID09IDAgfHwgc3AtPnRzX3N0YXRlID09IFNUQVRFX05PUFJFRklYKQorCQkgICAgeworCQkJc3AtPnRzX3N0YXRlID0gU1RBVEVfU1RBUlQ7CisJCQkrK2RlcHRoOworCQkJc3RhY2tbZGVwdGhdID0gc3RhY2tbZGVwdGggLSAxXTsKKwkJCXNwID0gJnN0YWNrW2RlcHRoXTsKKwkJCXNwLT50c19wcmVmaXhkZXB0aCA9IGRlcHRoIC0gMTsKKwkJCWJ5dHMgPSBmYnl0czsKKwkJCWlkeHMgPSBmaWR4czsKKwkJCXNwLT50c19zdGF0ZSA9IFNUQVRFX1NUQVJUOworCQkJc3AtPnRzX2N1cmkgPSAxOyAgIC8qIHN0YXJ0IGp1c3QgYWZ0ZXIgbGVuZ3RoIGJ5dGUgKi8KKwkJCXNwLT50c19hcnJpZHggPSAwOworCisJCQkvKiBNb3ZlIHRoZSBwcmVmaXggdG8gcHJld29yZFtdIHNvIHRoYXQKKwkJCSAqIGZpbmRfa2VlcGNhcF93b3JkKCkgd29ya3MuICovCisJCQlwcmV3b3JkbGVuID0gc3BsaXRvZmYgPSBzcC0+dHNfdHdvcmRsZW47CisJCQltY2hfbWVtbW92ZShwcmV3b3JkLCB0d29yZCwgc3BsaXRvZmYpOworCQkJYnJlYWs7CisJCSAgICB9CisKKwkJICAgIC8qIEFsd2F5cyBwYXN0IE5VTCBieXRlcyBub3cuICovCisJCSAgICBzcC0+dHNfc3RhdGUgPSBTVEFURV9FTkROVUw7CisJCSAgICBicmVhazsKKwkJfQorCiAJCWlmIChzcC0+dHNfY3VyaSA+IGxlbiB8fCBieXRzW2FycmlkeF0gIT0gMCkKIAkJewogCQkgICAgLyogUGFzdCBieXRlcyBpbiBub2RlIGFuZC9vciBwYXN0IE5VTCBieXRlcy4gKi8KQEAgLTYyMzIsNiArNjUwMSwzMSBAQAogCiAJCWZsYWdzID0gKGludClpZHhzW2FycmlkeF07CiAKKwkJaWYgKHNwLT50c19wcmVmaXhkZXB0aCA8IE1BWFdMRU4pCisJCXsKKwkJICAgIC8qIFRoZXJlIHdhcyBhIHByZWZpeCBiZWZvcmUgdGhlIHdvcmQuICBDaGVjayB0aGF0IHRoZQorCQkgICAgICogcHJlZml4IGNhbiBiZSB1c2VkIHdpdGggdGhpcyB3b3JkLiAqLworCQkgICAgLyogQ291bnQgdGhlIGxlbmd0aCBvZiB0aGUgTlVMcyBpbiB0aGUgcHJlZml4LiAgSWYgdGhlcmUKKwkJICAgICAqIGFyZSBub25lIHRoaXMgbXVzdCBiZSB0aGUgZmlyc3QgdHJ5IHdpdGhvdXQgYSBwcmVmaXguCisJCSAgICAgKi8KKwkJICAgIG4gPSBzdGFja1tzcC0+dHNfcHJlZml4ZGVwdGhdLnRzX2FycmlkeDsKKwkJICAgIGxlbiA9IHBieXRzW24rK107CisJCSAgICBmb3IgKGMgPSAwOyBjIDwgbGVuICYmIHBieXRzW24gKyBjXSA9PSAwOyArK2MpCisJCQk7CisJCSAgICBpZiAoYyA+IDApCisJCSAgICB7CisJCQkvKiBUaGUgcHJlZml4IElEIGlzIHN0b3JlZCB0d28gYnl0ZXMgYWJvdmUgdGhlIGZsYWdzLiAqLworCQkJYyA9IHZhbGlkX3dvcmRfcHJlZml4KGMsIG4sICh1bnNpZ25lZClmbGFncyA+PiAxNiwKKwkJCQkJICAgICAgdHdvcmQgKyBzcGxpdG9mZiwgbHAtPmxwX3NsYW5nKTsKKwkJCWlmIChjID09IDApCisJCQkgICAgYnJlYWs7CisKKwkJCS8qIFVzZSB0aGUgV0ZfUkFSRSBmbGFnIGZvciBhIHJhcmUgcHJlZml4LiAqLworCQkJaWYgKGMgJiBXRl9SQVJFUEZYKQorCQkJICAgIGZsYWdzIHw9IFdGX1JBUkU7CisJCSAgICB9CisJCX0KKwogCQkvKgogCQkgKiBGb3JtIHRoZSB3b3JkIHdpdGggcHJvcGVyIGNhc2UgaW4gcHJld29yZC4KIAkJICogSWYgdGhlcmUgaXMgYSB3b3JkIGZyb20gYSBwcmV2aW91cyBzcGxpdCwgYXBwZW5kLgpAQCAtNjk0NSw2ICs3MjM5LDE0IEBACiAJCS8qIERpZCBhbGwgcG9zc2libGUgc3RhdGVzIGF0IHRoaXMgbGV2ZWwsIGdvIHVwIG9uZSBsZXZlbC4gKi8KIAkJLS1kZXB0aDsKIAorCQlpZiAoZGVwdGggPj0gMCAmJiBzdGFja1tkZXB0aF0udHNfcHJlZml4ZGVwdGggPT0gUFJFRklYVFJFRSkKKwkJeworCQkgICAgLyogQ29udGludWUgaW4gb3IgZ28gYmFjayB0byB0aGUgcHJlZml4IHRyZWUuICovCisJCSAgICBieXRzID0gcGJ5dHM7CisJCSAgICBpZHhzID0gcGlkeHM7CisJCSAgICBzcGxpdG9mZiA9IDA7CisJCX0KKwogCQkvKiBEb24ndCBjaGVjayBmb3IgQ1RSTC1DIHRvbyBvZnRlbiwgaXQgdGFrZXMgdGltZS4gKi8KIAkJbGluZV9icmVha2NoZWNrKCk7CiAJICAgIH0KQEAgLTcxNjEsNyArNzQ2Myw3IEBACiAJaWYgKGxwLT5scF9zbGFuZy0+c2xfc2FsLmdhX2xlbiA+IDApCiAJewogCSAgICAvKiBzb3VuZGZvbGQgdGhlIGJhZCB3b3JkICovCi0JICAgIHNwZWxsX3NvdW5kZm9sZChscC0+bHBfc2xhbmcsIHN1LT5zdV9mYmFkd29yZCwgYmFkc291bmQpOworCSAgICBzcGVsbF9zb3VuZGZvbGQobHAtPmxwX3NsYW5nLCBzdS0+c3VfZmJhZHdvcmQsIFRSVUUsIGJhZHNvdW5kKTsKIAogCSAgICBmb3IgKGkgPSAwOyBpIDwgc3UtPnN1X2dhLmdhX2xlbjsgKytpKQogCSAgICB7CkBAIC03MjEzLDcgKzc1MTUsNyBAQAogCWlmIChscC0+bHBfc2xhbmctPnNsX3NhbC5nYV9sZW4gPiAwKQogCXsKIAkgICAgLyogc291bmRmb2xkIHRoZSBiYWQgd29yZCAqLwotCSAgICBzcGVsbF9zb3VuZGZvbGQobHAtPmxwX3NsYW5nLCBzdS0+c3VfZmJhZHdvcmQsIGJhZHNvdW5kKTsKKwkgICAgc3BlbGxfc291bmRmb2xkKGxwLT5scF9zbGFuZywgc3UtPnN1X2ZiYWR3b3JkLCBUUlVFLCBiYWRzb3VuZCk7CiAKIAkgICAgZm9yIChpID0gMDsgaSA8IHN1LT5zdV9nYS5nYV9sZW47ICsraSkKIAkgICAgewpAQCAtNzMyMCwxNCArNzYyMiwxMiBAQAogCSAgICBmb3IgKHAgPSBmd29yZDsgKihwID0gc2tpcHRvd2hpdGUocCkpICE9IE5VTDsgKQogCQltY2hfbWVtbW92ZShwLCBwICsgMSwgU1RSTEVOKHApKTsKIAotCXNwZWxsX3NvdW5kZm9sZChzbGFuZywgZndvcmQsIGJhZHNvdW5kMik7CisJc3BlbGxfc291bmRmb2xkKHNsYW5nLCBmd29yZCwgVFJVRSwgYmFkc291bmQyKTsKIAlwID0gYmFkc291bmQyOwogICAgIH0KIAotICAgIC8qIENhc2UtZm9sZCB0aGUgd29yZCwgc291bmQtZm9sZCB0aGUgd29yZCBhbmQgY29tcHV0ZSB0aGUgc2NvcmUgZm9yIHRoZQotICAgICAqIGRpZmZlcmVuY2UuICovCi0gICAgKHZvaWQpc3BlbGxfY2FzZWZvbGQoc3RwLT5zdF93b3JkLCBTVFJMRU4oc3RwLT5zdF93b3JkKSwgZndvcmQsIE1BWFdMRU4pOwotICAgIHNwZWxsX3NvdW5kZm9sZChzbGFuZywgZndvcmQsIGdvb2Rzb3VuZCk7CisgICAgLyogU291bmQtZm9sZCB0aGUgd29yZCBhbmQgY29tcHV0ZSB0aGUgc2NvcmUgZm9yIHRoZSBkaWZmZXJlbmNlLiAqLworICAgIHNwZWxsX3NvdW5kZm9sZChzbGFuZywgc3RwLT5zdF93b3JkLCBGQUxTRSwgZ29vZHNvdW5kKTsKIAogICAgIHJldHVybiBzb3VuZGFsaWtlX3Njb3JlKGdvb2Rzb3VuZCwgcCk7CiB9CkBAIC03MzQxLDcgKzc2NDEsNiBAQAogewogICAgIGNoYXJfdQlzYWx3b3JkW01BWFdMRU5dOwogICAgIGNoYXJfdQl0d29yZFtNQVhXTEVOXTsKLSAgICBjaGFyX3UJdGZ3b3JkW01BWFdMRU5dOwogICAgIGNoYXJfdQl0c2Fsd29yZFtNQVhXTEVOXTsKICAgICBpZHhfVAlhcnJpZHhbTUFYV0xFTl07CiAgICAgaW50CQljdXJpW01BWFdMRU5dOwpAQCAtNzM2Miw3ICs3NjYxLDcgQEAKIAlpZiAobHAtPmxwX3NsYW5nLT5zbF9zYWwuZ2FfbGVuID4gMCkKIAl7CiAJICAgIC8qIHNvdW5kZm9sZCB0aGUgYmFkIHdvcmQgKi8KLQkgICAgc3BlbGxfc291bmRmb2xkKGxwLT5scF9zbGFuZywgc3UtPnN1X2ZiYWR3b3JkLCBzYWx3b3JkKTsKKwkgICAgc3BlbGxfc291bmRmb2xkKGxwLT5scF9zbGFuZywgc3UtPnN1X2ZiYWR3b3JkLCBUUlVFLCBzYWx3b3JkKTsKIAogCSAgICAvKgogCSAgICAgKiBHbyB0aHJvdWdoIHRoZSB3aG9sZSB0cmVlLCBzb3VuZGZvbGQgZWFjaCB3b3JkIGFuZCBjb21wYXJlLgpAQCAtNzQwNiwxOCArNzcwNSwxMCBAQAogCQkJICAgIGlmIChyb3VuZCA9PSAyIHx8IChmbGFncyAmIFdGX0tFRVBDQVApID09IDApCiAJCQkgICAgewogCQkJCXR3b3JkW2RlcHRoXSA9IE5VTDsKLQkJCQlpZiAocm91bmQgPT0gMSkKLQkJCQkgICAgc3BlbGxfc291bmRmb2xkKGxwLT5scF9zbGFuZywKLQkJCQkJCQkgICAgIHR3b3JkLCB0c2Fsd29yZCk7Ci0JCQkJZWxzZQotCQkJCXsKLQkJCQkgICAgLyogSW4ga2VlcC1jYXNlIHRyZWUgbmVlZCB0byBjYXNlLWZvbGQgdGhlCi0JCQkJICAgICAqIHdvcmQuICovCi0JCQkJICAgICh2b2lkKXNwZWxsX2Nhc2Vmb2xkKHR3b3JkLCBkZXB0aCwKLQkJCQkJCQkgICAgIHRmd29yZCwgTUFYV0xFTik7Ci0JCQkJICAgIHNwZWxsX3NvdW5kZm9sZChscC0+bHBfc2xhbmcsCi0JCQkJCQkJICAgIHRmd29yZCwgdHNhbHdvcmQpOwotCQkJCX0KKwkJCQkvKiBTb3VuZC1mb2xkLiAgT25seSBpbiBrZWVwLWNhc2UgdHJlZSBuZWVkIHRvCisJCQkJICogY2FzZS1mb2xkIHRoZSB3b3JkLiAqLworCQkJCXNwZWxsX3NvdW5kZm9sZChscC0+bHBfc2xhbmcsIHR3b3JkLAorCQkJCQkJCXJvdW5kID09IDEsIHRzYWx3b3JkKTsKIAogCQkJCS8qIENvbXB1dGUgdGhlIGVkaXQgZGlzdGFuY2UgYmV0d2VlbiB0aGUKIAkJCQkgKiBzb3VuZC1hLWxpa2Ugd29yZHMuICovCkBAIC03ODEyLDcgKzgxMDMsNyBAQAogCWlmIChscC0+bHBfc2xhbmctPnNsX3NhbC5nYV9sZW4gPiAwKQogCXsKIAkgICAgLyogc291bmRmb2xkIHRoZSBiYWQgd29yZCAqLwotCSAgICBzcGVsbF9zb3VuZGZvbGQobHAtPmxwX3NsYW5nLCBzdS0+c3VfZmJhZHdvcmQsIHNhbF9iYWR3b3JkKTsKKwkgICAgc3BlbGxfc291bmRmb2xkKGxwLT5scF9zbGFuZywgc3UtPnN1X2ZiYWR3b3JkLCBUUlVFLCBzYWxfYmFkd29yZCk7CiAKIAkgICAgZm9yIChpID0gMDsgaSA8IHN1LT5zdV9nYS5nYV9sZW47ICsraSkKIAkgICAgewpAQCAtNzg5Niw3ICs4MTg3LDYgQEAKICAgICBjaGFyX3UJKndvcmQ7CiB7CiAgICAgbGFuZ3BfVAkqbHA7Ci0gICAgY2hhcl91CWZ3b3JkW01BWFdMRU5dOwogICAgIGNoYXJfdQlzb3VuZFtNQVhXTEVOXTsKIAogICAgIGlmIChjdXJ3aW4tPndfcF9zcGVsbCAmJiAqY3VyYnVmLT5iX3Bfc3BsICE9IE5VTCkKQEAgLTc5MDUsMTEgKzgxOTUsOCBAQAogCQkJCQkJICAgbHAtPmxwX3NsYW5nICE9IE5VTEw7ICsrbHApCiAJICAgIGlmIChscC0+bHBfc2xhbmctPnNsX3NhbC5nYV9sZW4gPiAwKQogCSAgICB7Ci0JCS8qIHdvcmQgbW9zdCBiZSBjYXNlLWZvbGRlZCBmaXJzdC4gKi8KLQkJKHZvaWQpc3BlbGxfY2FzZWZvbGQod29yZCwgU1RSTEVOKHdvcmQpLCBmd29yZCwgTUFYV0xFTik7Ci0KIAkJLyogc291bmRmb2xkIHRoZSB3b3JkICovCi0JCXNwZWxsX3NvdW5kZm9sZChscC0+bHBfc2xhbmcsIGZ3b3JkLCBzb3VuZCk7CisJCXNwZWxsX3NvdW5kZm9sZChscC0+bHBfc2xhbmcsIHdvcmQsIEZBTFNFLCBzb3VuZCk7CiAJCXJldHVybiB2aW1fc3Ryc2F2ZShzb3VuZCk7CiAJICAgIH0KIApAQCAtNzkyMiwxNCArODIwOSwxMjUgQEAKICAqIFR1cm4gImlud29yZCIgaW50byBpdHMgc291bmQtYS1saWtlIGVxdWl2YWxlbnQgaW4gInJlc1tNQVhXTEVOXSIuCiAgKi8KICAgICBzdGF0aWMgdm9pZAotc3BlbGxfc291bmRmb2xkKHNsYW5nLCBpbndvcmQsIHJlcykKK3NwZWxsX3NvdW5kZm9sZChzbGFuZywgaW53b3JkLCBmb2xkZWQsIHJlcykKKyAgICBzbGFuZ19UCSpzbGFuZzsKKyAgICBjaGFyX3UJKmlud29yZDsKKyAgICBpbnQJCWZvbGRlZDsJICAgIC8qICJpbndvcmQiIGlzIGFscmVhZHkgY2FzZS1mb2xkZWQgKi8KKyAgICBjaGFyX3UJKnJlczsKK3sKKyAgICBjaGFyX3UJZndvcmRbTUFYV0xFTl07CisgICAgY2hhcl91CSp3b3JkOworCisgICAgaWYgKHNsYW5nLT5zbF9zb2ZvKQorCS8qIFNPRk9GUk9NIGFuZCBTT0ZPVE8gdXNlZCAqLworCXNwZWxsX3NvdW5kZm9sZF9zb2ZvKHNsYW5nLCBpbndvcmQsIHJlcyk7CisgICAgZWxzZQorICAgIHsKKwkvKiBTQUwgaXRlbXMgdXNlZC4gIFJlcXVpcmVzIHRoZSB3b3JkIHRvIGJlIGNhc2UtZm9sZGVkLiAqLworCWlmIChmb2xkZWQpCisJICAgIHdvcmQgPSBpbndvcmQ7CisJZWxzZQorCXsKKwkgICAgKHZvaWQpc3BlbGxfY2FzZWZvbGQoaW53b3JkLCBTVFJMRU4oaW53b3JkKSwgZndvcmQsIE1BWFdMRU4pOworCSAgICB3b3JkID0gZndvcmQ7CisJfQorCisjaWZkZWYgRkVBVF9NQllURQorCWlmIChoYXNfbWJ5dGUpCisJICAgIHNwZWxsX3NvdW5kZm9sZF93c2FsKHNsYW5nLCB3b3JkLCByZXMpOworCWVsc2UKKyNlbmRpZgorCSAgICBzcGVsbF9zb3VuZGZvbGRfc2FsKHNsYW5nLCB3b3JkLCByZXMpOworICAgIH0KK30KKworLyoKKyAqIFBlcmZvcm0gc291bmQgZm9sZGluZyBvZiAiaW53b3JkIiBpbnRvICJyZXMiIGFjY29yZGluZyB0byBTT0ZPRlJPTSBhbmQKKyAqIFNPRk9UTyBsaW5lcy4KKyAqLworICAgIHN0YXRpYyB2b2lkCitzcGVsbF9zb3VuZGZvbGRfc29mbyhzbGFuZywgaW53b3JkLCByZXMpCisgICAgc2xhbmdfVAkqc2xhbmc7CisgICAgY2hhcl91CSppbndvcmQ7CisgICAgY2hhcl91CSpyZXM7Cit7CisgICAgY2hhcl91CSpzOworICAgIGludAkJcmkgPSAwOworICAgIGludAkJYzsKKworI2lmZGVmIEZFQVRfTUJZVEUKKyAgICBpZiAoaGFzX21ieXRlKQorICAgIHsKKwlpbnQJcHJldmMgPSAwOworCWludAkqaXA7CisKKwkvKiBUaGUgc2xfc2FsX2ZpcnN0W10gdGFibGUgY29udGFpbnMgdGhlIHRyYW5zbGF0aW9uIGZvciBjaGFycyB1cCB0bworCSAqIDI1NSwgc2xfc2FsIHRoZSByZXN0LiAqLworCWZvciAocyA9IGlud29yZDsgKnMgIT0gTlVMOyApCisJeworCSAgICBjID0gbWJfcHRyMmNoYXJfYWR2KCZzKTsKKwkgICAgaWYgKGVuY191dGY4ID8gdXRmX2NsYXNzKGMpID09IDAgOiB2aW1faXN3aGl0ZShjKSkKKwkJYyA9ICcgJzsKKwkgICAgZWxzZSBpZiAoYyA8IDI1NikKKwkJYyA9IHNsYW5nLT5zbF9zYWxfZmlyc3RbY107CisJICAgIGVsc2UKKwkgICAgeworCQlpcCA9ICgoaW50ICoqKXNsYW5nLT5zbF9zYWwuZ2FfZGF0YSlbYyAmIDB4ZmZdOworCQlpZiAoaXAgPT0gTlVMTCkJCS8qIGVtcHR5IGxpc3QsIGNhbid0IG1hdGNoICovCisJCSAgICBjID0gTlVMOworCQllbHNlCisJCSAgICBmb3IgKDs7KQkJLyogZmluZCAiYyIgaW4gdGhlIGxpc3QgKi8KKwkJICAgIHsKKwkJCWlmICgqaXAgPT0gMCkJLyogbm90IGZvdW5kICovCisJCQl7CisJCQkgICAgYyA9IE5VTDsKKwkJCSAgICBicmVhazsKKwkJCX0KKwkJCWlmICgqaXAgPT0gYykJLyogbWF0Y2ghICovCisJCQl7CisJCQkgICAgYyA9IGlwWzFdOworCQkJICAgIGJyZWFrOworCQkJfQorCQkJaXAgKz0gMjsKKwkJICAgIH0KKwkgICAgfQorCisJICAgIGlmIChjICE9IE5VTCAmJiBjICE9IHByZXZjKQorCSAgICB7CisJCXJpICs9IG1iX2NoYXIyYnl0ZXMoYywgcmVzICsgcmkpOworCQlpZiAocmkgKyBNQl9NQVhCWVRFUyA+IE1BWFdMRU4pCisJCSAgICBicmVhazsKKwkJcHJldmMgPSBjOworCSAgICB9CisJfQorICAgIH0KKyAgICBlbHNlCisjZW5kaWYKKyAgICB7CisJLyogVGhlIHNsX3NhbF9maXJzdFtdIHRhYmxlIGNvbnRhaW5zIHRoZSB0cmFuc2xhdGlvbi4gKi8KKwlmb3IgKHMgPSBpbndvcmQ7IChjID0gKnMpICE9IE5VTDsgKytzKQorCXsKKwkgICAgaWYgKHZpbV9pc3doaXRlKGMpKQorCQljID0gJyAnOworCSAgICBlbHNlCisJCWMgPSBzbGFuZy0+c2xfc2FsX2ZpcnN0W2NdOworCSAgICBpZiAoYyAhPSBOVUwgJiYgKHJpID09IDAgfHwgcmVzW3JpIC0gMV0gIT0gYykpCisJCXJlc1tyaSsrXSA9IGM7CisJfQorICAgIH0KKworICAgIHJlc1tyaV0gPSBOVUw7Cit9CisKKyAgICBzdGF0aWMgdm9pZAorc3BlbGxfc291bmRmb2xkX3NhbChzbGFuZywgaW53b3JkLCByZXMpCiAgICAgc2xhbmdfVAkqc2xhbmc7CiAgICAgY2hhcl91CSppbndvcmQ7CiAgICAgY2hhcl91CSpyZXM7CiB7CiAgICAgc2FsaXRlbV9UCSpzbXA7CiAgICAgY2hhcl91CXdvcmRbTUFYV0xFTl07Ci0gICAgY2hhcl91CSpzOworICAgIGNoYXJfdQkqcyA9IGlud29yZDsKICAgICBjaGFyX3UJKnQ7CiAgICAgY2hhcl91CSpwZjsKICAgICBpbnQJCWksIGosIHo7CkBAIC03OTQzLDIxICs4MzQxLDEyIEBACiAgICAgaW50CQlwMCA9IC0zMzM7CiAgICAgaW50CQljMDsKIAotI2lmZGVmIEZFQVRfTUJZVEUKLSAgICBpZiAoaGFzX21ieXRlKQotICAgIHsKLQkvKiBDYWxsIHRoZSBtdWx0aS1ieXRlIHZlcnNpb24gb2YgdGhpcy4gKi8KLQlzcGVsbF9zb3VuZGZvbGRfdyhzbGFuZywgaW53b3JkLCByZXMpOwotCXJldHVybjsKLSAgICB9Ci0jZW5kaWYKLQogICAgIC8qIFJlbW92ZSBhY2NlbnRzLCBpZiB3YW50ZWQuICBXZSBhY3R1YWxseSByZW1vdmUgYWxsIG5vbi13b3JkIGNoYXJhY3RlcnMuCi0gICAgICogQnV0IGtlZXAgd2hpdGUgc3BhY2UuICovCisgICAgICogQnV0IGtlZXAgd2hpdGUgc3BhY2UuICBXZSBuZWVkIGEgY29weSwgdGhlIHdvcmQgbWF5IGJlIGNoYW5nZWQgaGVyZS4gKi8KICAgICBpZiAoc2xhbmctPnNsX3JlbV9hY2NlbnRzKQogICAgIHsKIAl0ID0gd29yZDsKLQlmb3IgKHMgPSBpbndvcmQ7ICpzICE9IE5VTDsgKQorCXdoaWxlICgqcyAhPSBOVUwpCiAJewogCSAgICBpZiAodmltX2lzd2hpdGUoKnMpKQogCSAgICB7CkBAIC03OTc0LDcgKzgzNjMsNyBAQAogCSp0ID0gTlVMOwogICAgIH0KICAgICBlbHNlCi0JU1RSQ1BZKHdvcmQsIGlud29yZCk7CisJU1RSQ1BZKHdvcmQsIHMpOwogCiAgICAgc21wID0gKHNhbGl0ZW1fVCAqKXNsYW5nLT5zbF9zYWwuZ2FfZGF0YTsKIApAQCAtODAxMSw5ICs4NDAwLDkgQEAKIAkJICAgIH0KIAkJfQogCi0JCWlmICgocGYgPSBzbXBbbl0uc21fb25lb2ZmKSAhPSBOVUxMKQorCQlpZiAoKHBmID0gc21wW25dLnNtX29uZW9mKSAhPSBOVUxMKQogCQl7Ci0JCSAgICAvKiBDaGVjayBmb3IgbWF0Y2ggd2l0aCBvbmUgb2YgdGhlIGNoYXJzIGluICJzbV9vbmVvZmYiLiAqLworCQkgICAgLyogQ2hlY2sgZm9yIG1hdGNoIHdpdGggb25lIG9mIHRoZSBjaGFycyBpbiAic21fb25lb2YiLiAqLwogCQkgICAgd2hpbGUgKCpwZiAhPSBOVUwgJiYgKnBmICE9IHdvcmRbaSArIGtdKQogCQkJKytwZjsKIAkJICAgIGlmICgqcGYgPT0gTlVMKQpAQCAtODA4MSwxMCArODQ3MCwxMCBAQAogCQkJICAgIH0KIAkJCSAgICBrMCArPSBrIC0gMTsKIAotCQkJICAgIGlmICgocGYgPSBzbXBbbjBdLnNtX29uZW9mZikgIT0gTlVMTCkKKwkJCSAgICBpZiAoKHBmID0gc21wW24wXS5zbV9vbmVvZikgIT0gTlVMTCkKIAkJCSAgICB7CiAJCQkJLyogQ2hlY2sgZm9yIG1hdGNoIHdpdGggb25lIG9mIHRoZSBjaGFycyBpbgotCQkJCSAqICJzbV9vbmVvZmYiLiAqLworCQkJCSAqICJzbV9vbmVvZiIuICovCiAJCQkJd2hpbGUgKCpwZiAhPSBOVUwgJiYgKnBmICE9IHdvcmRbaSArIGswXSkKIAkJCQkgICAgKytwZjsKIAkJCQlpZiAoKnBmID09IE5VTCkKQEAgLTgyMTEsMTIgKzg2MDAsMTIgQEAKICAqIE11bHRpLWJ5dGUgdmVyc2lvbiBvZiBzcGVsbF9zb3VuZGZvbGQoKS4KICAqLwogICAgIHN0YXRpYyB2b2lkCi1zcGVsbF9zb3VuZGZvbGRfdyhzbGFuZywgaW53b3JkLCByZXMpCitzcGVsbF9zb3VuZGZvbGRfd3NhbChzbGFuZywgaW53b3JkLCByZXMpCiAgICAgc2xhbmdfVAkqc2xhbmc7CiAgICAgY2hhcl91CSppbndvcmQ7CiAgICAgY2hhcl91CSpyZXM7CiB7Ci0gICAgc2FsaXRlbV9UCSpzbXA7CisgICAgc2FsaXRlbV9UCSpzbXAgPSAoc2FsaXRlbV9UICopc2xhbmctPnNsX3NhbC5nYV9kYXRhOwogICAgIGludAkJd29yZFtNQVhXTEVOXTsKICAgICBpbnQJCXdyZXNbTUFYV0xFTl07CiAgICAgaW50CQlsOwpAQCAtODI2Niw4ICs4NjU1LDYgQEAKICAgICB9CiAgICAgd29yZFtuXSA9IE5VTDsKIAotICAgIHNtcCA9IChzYWxpdGVtX1QgKilzbGFuZy0+c2xfc2FsLmdhX2RhdGE7Ci0KICAgICAvKgogICAgICAqIFRoaXMgY29tZXMgZnJvbSBBc3BlbGwgcGhvbmV0LmNwcC4KICAgICAgKiBDb252ZXJ0ZWQgZnJvbSBDKysgdG8gQy4gIEFkZGVkIHN1cHBvcnQgZm9yIG11bHRpLWJ5dGUgY2hhcnMuCkBAIC04MjgyLDExICs4NjY5LDEzIEBACiAKIAlpZiAobiA+PSAwKQogCXsKLQkgICAgLyogY2hlY2sgYWxsIHJ1bGVzIGZvciB0aGUgc2FtZSBsZXR0ZXIgKi8KKwkgICAgLyogY2hlY2sgYWxsIHJ1bGVzIGZvciB0aGUgc2FtZSBpbmRleCBieXRlICovCiAJICAgIGZvciAoOyAoKHdzID0gc21wW25dLnNtX2xlYWRfdylbMF0gJiAweGZmKSA9PSAoYyAmIDB4ZmYpOyArK24pCiAJICAgIHsKIAkJLyogUXVpY2tseSBza2lwIGVudHJpZXMgdGhhdCBkb24ndCBtYXRjaCB0aGUgd29yZC4gIE1vc3QKIAkJICogZW50cmllcyBhcmUgbGVzcyB0aGVuIHRocmVlIGNoYXJzLCBvcHRpbWl6ZSBmb3IgdGhhdC4gKi8KKwkJaWYgKGMgIT0gd3NbMF0pCisJCSAgICBjb250aW51ZTsKIAkJayA9IHNtcFtuXS5zbV9sZWFkbGVuOwogCQlpZiAoayA+IDEpCiAJCXsKQEAgLTgzMDIsOSArODY5MSw5IEBACiAJCSAgICB9CiAJCX0KIAotCQlpZiAoKHBmID0gc21wW25dLnNtX29uZW9mZl93KSAhPSBOVUxMKQorCQlpZiAoKHBmID0gc21wW25dLnNtX29uZW9mX3cpICE9IE5VTEwpCiAJCXsKLQkJICAgIC8qIENoZWNrIGZvciBtYXRjaCB3aXRoIG9uZSBvZiB0aGUgY2hhcnMgaW4gInNtX29uZW9mZiIuICovCisJCSAgICAvKiBDaGVjayBmb3IgbWF0Y2ggd2l0aCBvbmUgb2YgdGhlIGNoYXJzIGluICJzbV9vbmVvZiIuICovCiAJCSAgICB3aGlsZSAoKnBmICE9IE5VTCAmJiAqcGYgIT0gd29yZFtpICsga10pCiAJCQkrK3BmOwogCQkgICAgaWYgKCpwZiA9PSBOVUwpCkBAIC04MzUwLDEyICs4NzM5LDE1IEBACiAJCSAgICBpZiAoc2xhbmctPnNsX2ZvbGxvd3VwICYmIGsgPiAxICYmIG4wID49IDAKIAkJCQkJICAgJiYgcDAgIT0gJy0nICYmIHdvcmRbaSArIGtdICE9IE5VTCkKIAkJICAgIHsKLQkJCS8qIHRlc3QgZm9sbG93LXVwIHJ1bGUgZm9yICJ3b3JkW2kgKyBrXSIgKi8KKwkJCS8qIFRlc3QgZm9sbG93LXVwIHJ1bGUgZm9yICJ3b3JkW2kgKyBrXSI7IGxvb3Agb3ZlcgorCQkJICogYWxsIGVudHJpZXMgd2l0aCB0aGUgc2FtZSBpbmRleCBieXRlLiAqLwogCQkJZm9yICggOyAoKHdzID0gc21wW24wXS5zbV9sZWFkX3cpWzBdICYgMHhmZikKIAkJCQkJCQkgPT0gKGMwICYgMHhmZik7ICsrbjApCiAJCQl7CiAJCQkgICAgLyogUXVpY2tseSBza2lwIGVudHJpZXMgdGhhdCBkb24ndCBtYXRjaCB0aGUgd29yZC4KLQkJCSAgICAgKiAqLworCQkJICAgICAqLworCQkJICAgIGlmIChjMCAhPSB3c1swXSkKKwkJCQljb250aW51ZTsKIAkJCSAgICBrMCA9IHNtcFtuMF0uc21fbGVhZGxlbjsKIAkJCSAgICBpZiAoazAgPiAxKQogCQkJICAgIHsKQEAgLTgzNzMsMTAgKzg3NjUsMTAgQEAKIAkJCSAgICB9CiAJCQkgICAgazAgKz0gayAtIDE7CiAKLQkJCSAgICBpZiAoKHBmID0gc21wW24wXS5zbV9vbmVvZmZfdykgIT0gTlVMTCkKKwkJCSAgICBpZiAoKHBmID0gc21wW24wXS5zbV9vbmVvZl93KSAhPSBOVUxMKQogCQkJICAgIHsKIAkJCQkvKiBDaGVjayBmb3IgbWF0Y2ggd2l0aCBvbmUgb2YgdGhlIGNoYXJzIGluCi0JCQkJICogInNtX29uZW9mZiIuICovCisJCQkJICogInNtX29uZW9mIi4gKi8KIAkJCQl3aGlsZSAoKnBmICE9IE5VTCAmJiAqcGYgIT0gd29yZFtpICsgazBdKQogCQkJCSAgICArK3BmOwogCQkJCWlmICgqcGYgPT0gTlVMKQpkaWZmIC0tZ2l0IGEvc3JjL3NwZWxsL2hlX0lMLmRpZmYgYi9zcmMvc3BlbGwvaGVfSUwuZGlmZgppbmRleCAwZGZkZTQzLi4yOTQ3YzI4IDEwMDY0NAotLS0gYS9zcmMvc3BlbGwvaGVfSUwuZGlmZgorKysgYi9zcmMvc3BlbGwvaGVfSUwuZGlmZgpAQCAtMSw1ICsxLDUgQEAKICoqKiBoZV9JTC5vcmlnLmFmZglTYXQgSnVuIDE4IDE0OjQ2OjUxIDIwMDUKLS0tLSBoZV9JTC5hZmYJU2F0IEp1biAxOCAxNToxMzozNCAyMDA1CistLS0gaGVfSUwuYWZmCVdlZCBKdW4gMjkgMTc6MjQ6MTIgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogMiwzICoqKioKIC0tLSAyLDYgLS0tLQpAQCAtOCwzICs4LDY5IEBACiArIFBGWFBPU1RQT05FCiArIAogICAjIFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgZnJvbSBkYXRhIHByZXBhcmVkCisqKiogaGVfSUwub3JpZy5kaWMJU2F0IEp1biAxOCAxNDo0NzowMCAyMDA1CistLS0gaGVfSUwuZGljCVdlZCBKdW4gMjkgMTc6MjI6MTMgMjAwNQorKioqKioqKioqKioqKioqCisqKiogMzE4ODk4LDMxODkwMiAqKioqCisgIOvrCistIOvsCisgIOvuCistIOvu5AorICDr+QorLS0tIDMxODg5OCwzMTg5MDAgLS0tLQorKioqKioqKioqKioqKioqCisqKiogMzE4OTExLDMxODkxMyAqKioqCisgIOv56+7kCistIOv57AorICDr+ezrCistLS0gMzE4OTA5LDMxODkxMCAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAzMTg5MzUsMzE4OTUwICoqKioKKyAg7uEKKy0g7uQKKyAg7usKKy0g7uwKKy0g7vkKKy0g7vnhCisgIO754esKKy0g7vnkCisgIO756worLSDu+evhCisgIO756+sKKy0g7vnr7AorICDu+evuCisgIO756+7kCistIO757AorICDu+ezrCistLS0gMzE4OTMyLDMxODkzOSAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAzMTg5NTQsMzE4OTY0ICoqKioKKyAg+QorLSD54QorICD54esKKy0g+eQKKyAg+esKKy0g+evhCisgIPnr6worLSD56+wKKyAg+evuCistIPnr7uQKKyAg+ev5CistLS0gMzE4OTQzLDMxODk0OCAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAzMTg5NzgsMzE4OTgwICoqKioKKyAg+ev57usKKy0g+ewKKyAg+ezrCistLS0gMzE4OTYyLDMxODk2MyAtLS0tCisqKioqKioqKioqKioqKioKKyoqKiAzMTg5OTYsMzE5MDAzICoqKioKKyAg+e4KKy0g+e7kCisgIPnu6worLSD57vkKKyAg+e754QorICD57vnh6worLSD57vnkCisgIPnu+esKKy0tLSAzMTg5NzksMzE4OTgzIC0tLS0KZGlmZiAtLWdpdCBhL3NyYy9zcGVsbC9ubF9OTC5kaWZmIGIvc3JjL3NwZWxsL25sX05MLmRpZmYKaW5kZXggM2FhYjcwMi4uMDcwZGQ5MSAxMDA2NDQKLS0tIGEvc3JjL3NwZWxsL25sX05MLmRpZmYKKysrIGIvc3JjL3NwZWxsL25sX05MLmRpZmYKQEAgLTEsMTMgKzEsMTYgQEAKICoqKiBubF9OTC5vcmlnLmFmZglXZWQgQXByIDIwIDExOjQ4OjE2IDIwMDUKLS0tLSBubF9OTC5hZmYJTW9uIEp1biAyNyAyMjowNzowMiAyMDA1CistLS0gbmxfTkwuYWZmCVdlZCBKdW4gMjkgMTc6Mjk6NDkgMjAwNQogKioqKioqKioqKioqKioqCiAqKiogMyw0ICoqKioKLS0tLSAzLDE0IC0tLS0KKy0tLSAzLDE3IC0tLS0KICAgCiArIEZPTCAg4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3/8KICsgTE9XICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/wogKyBVUFAgIMDBwsPExcbHyMnKy8zNzs/Q0dLT1NXW2Nna29zd3t//CiArIAorKyBTT0ZPRlJPTSBhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ekFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla4OHi4+Tl5ufo6err7O3u7/Dx8vP09fb4+fr7/P3+3//AwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d6/CisrIFNPRk9UTyAgIGViY3RlZmdoZWprbG5uZXBrcnN0ZXZ2a2VzZWJjdGVmZ2hlamtsbm5lcGtyc3RldnZrZXNlZWVlZWVlY2VlZWVlZWVlZG5lZWVlZWVlZWVlZXBzZWVlZWVlZWVjZWVlZWVlZWVkbmVlZWVlZWVlZWVlcD8KKysgCiArIE1JRFdPUkQJJy0KICsgCiArIEtFUCA9CkBAIC0zNyw3ICs0MCw3IEBACiAhIFNGWCBKIDAgamUgW2FlaW91XVtiY2RmZ2twdF0gCiAhIFNGWCBKIDAgamVzIFthZWlvdV1bYmNkZmdrcHRdIAogICAKLS0tLSA0Myw2MiAtLS0tCistLS0gNDYsNjUgLS0tLQogICBTRlggSiBOIDE4CiAhIFNGWCBKIDAgdGplIFthZWlvdV1bYWVpb3VdCiAhIFNGWCBKIDAgdGplcyBbYWVpb3VdW2FlaW91XQpAQCAtNjMsNyArNjYsNyBAQAogICBSRVAgdWJpIGlidQogISBSRVAgY3JvYyBrcm9rIAogICBSRVAgdGVuIHRoYW4KLS0tLSAyNjMsMjY1IC0tLS0KKy0tLSAyNjYsMjY4IC0tLS0KICAgUkVQIHViaSBpYnUKICEgUkVQIGNyb2Mga3JvawogICBSRVAgdGVuIHRoYW4KQEAgLTcyLDcgKzc1LDcgQEAKICAgUkVQIGNhcHVjaW5vIGNhcHB1Y2Npbm8KICEgUkVQIGNlbGNpdXMgQ2Vsc2l1cyAKICAgUkVQIGthZG8gY2FkZWF1Ci0tLS0gMjk4LDMwMCAtLS0tCistLS0gMzAxLDMwMyAtLS0tCiAgIFJFUCBjYXB1Y2lubyBjYXBwdWNjaW5vCiAhIFJFUCBjZWxjaXVzIENlbHNpdXMKICAgUkVQIGthZG8gY2FkZWF1CkBAIC04NSw3ICs4OCw3IEBACiAgIFJFUCBrb21taXR0ZWUgY29taXTpCiAhIFJFUCBrd2lzIHF1aXogCiAgIFJFUCBrd2lzc2VuIHF1aXp6ZW4KLS0tLSAzMDQsMzEwIC0tLS0KKy0tLSAzMDcsMzEzIC0tLS0KICAgUkVQIGNvbW1pdHRlZSBjb21pdOkKICEgUkVQIGtvbWl0ZWUgY29taXTpCiAhIFJFUCBrb21pdHRlZSBjb21pdOkKQEAgLTk4LDcgKzEwMSw3IEBACiAgIFJFUCBjb3B5IGtvcGlqCiAhIFJFUCBwaXRvcmVzcXVlIHBpdHRvcmVza2UgCiAgIFJFUCByZWlrd2VpdGUgcmVpa3dpamR0ZQotLS0tIDMxMiwzMTQgLS0tLQorLS0tIDMxNSwzMTcgLS0tLQogICBSRVAgY29weSBrb3BpagogISBSRVAgcGl0b3Jlc3F1ZSBwaXR0b3Jlc2tlCiAgIFJFUCByZWlrd2VpdGUgcmVpa3dpamR0ZQpAQCAtMTEwLDcgKzExMyw3IEBACiAhIFJFUCBrb250ZWtzdCBjb250ZXh0IAogISBSRVAga29ycmVrdCBjb3JyZWN0IAogICBSRVAga3JpdGlrdXMgY3JpdGljdXMKLS0tLSAzMjQsMzI5IC0tLS0KKy0tLSAzMjcsMzMyIC0tLS0KICAgUkVQIGtsdXAgY2x1YgogISBSRVAgd2lza2lkIHdoaXp6a2lkCiAhIFJFUCBrb250YWt0IGNvbnRhY3QKQEAgLTExOSw3ICsxMjIsNyBAQAogICBSRVAga3JpdGlrdXMgY3JpdGljdXMKICoqKioqKioqKioqKioqKgogKioqIDMzMyAqKioqCi0tLS0gMzQzLDQ2NiAtLS0tCistLS0gMzQ2LDM1OSAtLS0tCiAgIFJFUCBhZmxhc3NlbiBhZmdlbGFzdGVuCiArIFJFUCBzdnAgcy52LnAuCiArIFJFUCB6b3ogei5vLnouCkBAIC0xMzQsMTE2ICsxMzcsNiBAQAogKyBNQVAgY+cKICsgTUFQIHn//QogKyBNQVAgc98KLSsgCi0rICMgVGhpcyBjb21lcyBmcm9tIEFzcGVsbCBlbl9waG9uZXQuZGF0LCB2ZXJzaW9uIDEuMSwgMjAwMC0wMS0wNwotKyAKLSsgU0FMIEFIKEFFSU9VWSktXiAgICAgICAgICpICi0rIFNBTCBBUihBRUlPVVkpLV4gICAgICAgICAqUgotKyBTQUwgQShIUileICAgICAgICAgICAgICAgKgotKyBTQUwgQV4gICAgICAgICAgICAgICAgICAgKgotKyBTQUwgQUgoQUVJT1VZKS0gICAgICAgICAgSAotKyBTQUwgQVIoQUVJT1VZKS0gICAgICAgICAgUgotKyBTQUwgQShIUikgICAgICAgICAgICAgICAgXwotKyBTQUwgwF4gICAgICAgICAgICAgICAgICAgKgotKyBTQUwgxV4gICAgICAgICAgICAgICAgICAgKgotKyBTQUwgQkItICAgICAgICAgICAgICAgICAgXwotKyBTQUwgQiAgICAgICAgICAgICAgICAgICAgQgotKyBTQUwgQ1EtICAgICAgICAgICAgICAgICAgXwotKyBTQUwgQ0lBICAgICAgICAgICAgICAgICAgWAotKyBTQUwgQ0ggICAgICAgICAgICAgICAgICAgWAotKyBTQUwgQyhFSVkpLSAgICAgICAgICAgICAgUwotKyBTQUwgQ0sgICAgICAgICAgICAgICAgICAgSwotKyBTQUwgQ09VR0heICAgICAgICAgICAgICAgS0YKLSsgU0FMIENDPCAgICAgICAgICAgICAgICAgIEMKLSsgU0FMIEMgICAgICAgICAgICAgICAgICAgIEsKLSsgU0FMIERHKEVJWSkgICAgICAgICAgICAgIEsKLSsgU0FMIERELSAgICAgICAgICAgICAgICAgIF8KLSsgU0FMIEQgICAgICAgICAgICAgICAgICAgIFQKLSsgU0FMIMk8ICAgICAgICAgICAgICAgICAgIEUKLSsgU0FMIEVIKEFFSU9VWSktXiAgICAgICAgICpICi0rIFNBTCBFUihBRUlPVVkpLV4gICAgICAgICAqUgotKyBTQUwgRShIUileICAgICAgICAgICAgICAgKgotKyBTQUwgRU5PVUdIXiQgICAgICAgICAgICAgKk5GCi0rIFNBTCBFXiAgICAgICAgICAgICAgICAgICAqCi0rIFNBTCBFSChBRUlPVVkpLSAgICAgICAgICBICi0rIFNBTCBFUihBRUlPVVkpLSAgICAgICAgICBSCi0rIFNBTCBFKEhSKSAgICAgICAgICAgICAgICBfCi0rIFNBTCBGRi0gICAgICAgICAgICAgICAgICBfCi0rIFNBTCBGICAgICAgICAgICAgICAgICAgICBGCi0rIFNBTCBHTl4gICAgICAgICAgICAgICAgICBOCi0rIFNBTCBHTiQgICAgICAgICAgICAgICAgICBOCi0rIFNBTCBHTlMkICAgICAgICAgICAgICAgICBOUwotKyBTQUwgR05FRCQgICAgICAgICAgICAgICAgTgotKyBTQUwgR0goQUVJT1VZKS0gICAgICAgICAgSwotKyBTQUwgR0ggICAgICAgICAgICAgICAgICAgXwotKyBTQUwgR0c5ICAgICAgICAgICAgICAgICAgSwotKyBTQUwgRyAgICAgICAgICAgICAgICAgICAgSwotKyBTQUwgSCAgICAgICAgICAgICAgICAgICAgSAotKyBTQUwgSUgoQUVJT1VZKS1eICAgICAgICAgKkgKLSsgU0FMIElSKEFFSU9VWSktXiAgICAgICAgICpSCi0rIFNBTCBJKEhSKV4gICAgICAgICAgICAgICAqCi0rIFNBTCBJXiAgICAgICAgICAgICAgICAgICAqCi0rIFNBTCBJTkc2ICAgICAgICAgICAgICAgICBOCi0rIFNBTCBJSChBRUlPVVkpLSAgICAgICAgICBICi0rIFNBTCBJUihBRUlPVVkpLSAgICAgICAgICBSCi0rIFNBTCBJKEhSKSAgICAgICAgICAgICAgICBfCi0rIFNBTCBKICAgICAgICAgICAgICAgICAgICBLCi0rIFNBTCBLTl4gICAgICAgICAgICAgICAgICBOCi0rIFNBTCBLSy0gICAgICAgICAgICAgICAgICBfCi0rIFNBTCBLICAgICAgICAgICAgICAgICAgICBLCi0rIFNBTCBMQVVHSF4gICAgICAgICAgICAgICBMRgotKyBTQUwgTEwtICAgICAgICAgICAgICAgICAgXwotKyBTQUwgTCAgICAgICAgICAgICAgICAgICAgTAotKyBTQUwgTUIkICAgICAgICAgICAgICAgICAgTQotKyBTQUwgTU0gICAgICAgICAgICAgICAgICAgTQotKyBTQUwgTSAgICAgICAgICAgICAgICAgICAgTQotKyBTQUwgTk4tICAgICAgICAgICAgICAgICAgXwotKyBTQUwgTiAgICAgICAgICAgICAgICAgICAgTgotKyBTQUwgT0goQUVJT1VZKS1eICAgICAgICAgKkgKLSsgU0FMIE9SKEFFSU9VWSktXiAgICAgICAgICpSCi0rIFNBTCBPKEhSKV4gICAgICAgICAgICAgICAqCi0rIFNBTCBPXiAgICAgICAgICAgICAgICAgICAqCi0rIFNBTCBPSChBRUlPVVkpLSAgICAgICAgICBICi0rIFNBTCBPUihBRUlPVVkpLSAgICAgICAgICBSCi0rIFNBTCBPKEhSKSAgICAgICAgICAgICAgICBfCi0rIFNBTCBQSCAgICAgICAgICAgICAgICAgICBGCi0rIFNBTCBQTl4gICAgICAgICAgICAgICAgICBOCi0rIFNBTCBQUC0gICAgICAgICAgICAgICAgICBfCi0rIFNBTCBQICAgICAgICAgICAgICAgICAgICBQCi0rIFNBTCBRICAgICAgICAgICAgICAgICAgICBLCi0rIFNBTCBSSF4gICAgICAgICAgICAgICAgICBSCi0rIFNBTCBST1VHSF4gICAgICAgICAgICAgICBSRgotKyBTQUwgUlItICAgICAgICAgICAgICAgICAgXwotKyBTQUwgUiAgICAgICAgICAgICAgICAgICAgUgotKyBTQUwgU0NIKEVPVSktICAgICAgICAgICAgU0sKLSsgU0FMIFNDKElFWSktICAgICAgICAgICAgIFMKLSsgU0FMIFNIICAgICAgICAgICAgICAgICAgIFgKLSsgU0FMIFNJKEFPKS0gICAgICAgICAgICAgIFgKLSsgU0FMIFNTLSAgICAgICAgICAgICAgICAgIF8KLSsgU0FMIFMgICAgICAgICAgICAgICAgICAgIFMKLSsgU0FMIFRJKEFPKS0gICAgICAgICAgICAgIFgKLSsgU0FMIFRIICAgICAgICAgICAgICAgICAgIEAKLSsgU0FMIFRDSC0tICAgICAgICAgICAgICAgIF8KLSsgU0FMIFRPVUdIXiAgICAgICAgICAgICAgIFRGCi0rIFNBTCBUVC0gICAgICAgICAgICAgICAgICBfCi0rIFNBTCBUICAgICAgICAgICAgICAgICAgICBUCi0rIFNBTCBVSChBRUlPVVkpLV4gICAgICAgICAqSAotKyBTQUwgVVIoQUVJT1VZKS1eICAgICAgICAgKlIKLSsgU0FMIFUoSFIpXiAgICAgICAgICAgICAgICoKLSsgU0FMIFVeICAgICAgICAgICAgICAgICAgICoKLSsgU0FMIFVIKEFFSU9VWSktICAgICAgICAgIEgKLSsgU0FMIFVSKEFFSU9VWSktICAgICAgICAgIFIKLSsgU0FMIFUoSFIpICAgICAgICAgICAgICAgIF8KLSsgU0FMIFZeICAgICAgICAgICAgICAgICAgIFcKLSsgU0FMIFYgICAgICAgICAgICAgICAgICAgIEYKLSsgU0FMIFdSXiAgICAgICAgICAgICAgICAgIFIKLSsgU0FMIFdIXiAgICAgICAgICAgICAgICAgIFcKLSsgU0FMIFcoQUVJT1UpLSAgICAgICAgICAgIFcKLSsgU0FMIFheICAgICAgICAgICAgICAgICAgIFMKLSsgU0FMIFggICAgICAgICAgICAgICAgICAgIEtTCi0rIFNBTCBZKEFFSU9VKS0gICAgICAgICAgICBZCi0rIFNBTCBaWi0gICAgICAgICAgICAgICAgICBfCi0rIFNBTCBaICAgICAgICAgICAgICAgICAgICBTCiAqKiogbmxfTkwub3JpZy5kaWMJVHVlIEFwciAxOSAyMTowMzoxNSAyMDA1CiAtLS0gbmxfTkwuZGljCU1vbiBKdW4gMjcgMjA6Mzg6MzUgMjAwNQogKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9zcmMvdmVyc2lvbi5oIGIvc3JjL3ZlcnNpb24uaAppbmRleCAxYjEyYjBjLi41OWE4ODU0IDEwMDY0NAotLS0gYS9zcmMvdmVyc2lvbi5oCisrKyBiL3NyYy92ZXJzaW9uLmgKQEAgLTM2LDUgKzM2LDUgQEAKICNkZWZpbmUgVklNX1ZFUlNJT05fTk9ET1QJInZpbTcwYWEiCiAjZGVmaW5lIFZJTV9WRVJTSU9OX1NIT1JUCSI3LjBhYSIKICNkZWZpbmUgVklNX1ZFUlNJT05fTUVESVVNCSI3LjBhYSBBTFBIQSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYWEgQUxQSEEgKDIwMDUgSnVuIDI4KSIKLSNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBKdW4gMjgsIGNvbXBpbGVkICIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9ORwkiVklNIC0gVmkgSU1wcm92ZWQgNy4wYWEgQUxQSEEgKDIwMDUgSnVuIDI5KSIKKyNkZWZpbmUgVklNX1ZFUlNJT05fTE9OR19EQVRFCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBKdW4gMjksIGNvbXBpbGVkICIK