ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQgYi9ydW50aW1lL2RvYy9jaGFuZ2UudHh0CmluZGV4IDZlNTMxMTEuLjFjOGMwZWIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2NoYW5nZS50eHQKKysrIGIvcnVudGltZS9kb2MvY2hhbmdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpjaGFuZ2UudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTEgRmViIDI1CisqY2hhbmdlLnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIE1heSAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtOTE5LDggKzkxOSw4IEBACiAKIAkJCQkJCQkqOnkqICo6eWFuayogKkU4NTAqCiA6W3JhbmdlXXlbYW5rXSBbeF0JWWFuayBbcmFuZ2VdIGxpbmVzIFtpbnRvIHJlZ2lzdGVyIHhdLiBZYW5raW5nIHRvIHRoZQotCQkJIiogb3IgIisgcmVnaXN0ZXJzIGlzIHBvc3NpYmxlIG9ubHkgaW4gR1VJIHZlcnNpb25zIG9yCi0JCQl3aGVuIHRoZSB8K3h0ZXJtX2NsaXBib2FyZHwgZmVhdHVyZSBpcyBpbmNsdWRlZC4KKwkJCSIqIG9yICIrIHJlZ2lzdGVycyBpcyBwb3NzaWJsZSBvbmx5IHdoZW4gdGhlCisJCQl8K2NsaXBib2FyZHwgZmVhdHVyZSBpcyBpbmNsdWRlZC4KIAogOltyYW5nZV15W2Fua10gW3hdIHtjb3VudH0KIAkJCVlhbmsge2NvdW50fSBsaW5lcywgc3RhcnRpbmcgd2l0aCBsYXN0IGxpbmUgbnVtYmVyCkBAIC0xMzkwLDE2ICsxMzkwLDE5IEBACiBtaWRkbGUtY29tbWVudCBsZWFkZXIgd2l0aCB0aGUgZW5kLWNvbW1lbnQgbGVhZGVyIGFuZCBhcHBseSBhbnkgc3BlY2lmaWVkCiBhbGlnbm1lbnQsIGxlYXZpbmcganVzdCAiICovIi4gIFRoZXJlIGlzIG5vIG5lZWQgdG8gaGl0IEJhY2tTcGFjZSBmaXJzdC4KIAorV2hlbiB0aGVyZSBpcyBhIG1hdGNoIHdpdGggYSBtaWRkbGUgcGFydCwgYnV0IHRoZXJlIGFsc28gaXMgYSBtYWNoaW5nIGVuZCBwYXJ0Cit3aGljaCBpcyBsb25nZXIsIHRoZSBlbmQgcGFydCBpcyB1c2VkLiAgVGhpcyBtYWtlcyBhIEMgc3R5bGUgY29tbWVudCB3b3JrCit3aXRob3V0IHJlcXVpcmluZyB0aGUgbWlkZGxlIHBhcnQgdG8gZW5kIHdpdGggYSBzcGFjZS4KIAogSGVyZSBpcyBhbiBleGFtcGxlIG9mIGFsaWdubWVudCBmbGFncyBhdCB3b3JrIHRvIG1ha2UgYSBjb21tZW50IHN0YW5kIG91dAotKGtpbmQgb2YgbG9va3MgbGlrZSBhIDEgdG9vKS4gQ29uc2lkZXIgY29tbWVudCBzdHJpbmcgPgotCXNyOi8qKiosbToqKixleDI6KioqKioqLwotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qKioKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKjwtLXJpZ2h0IGFsaWduZWQgZnJvbSAiciIgZmxhZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqCi1vZmZzZXQgMiBzcGFjZXMgZnJvbSB0aGUgIjIiIGZsYWctLS0+KioKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKioqKioqLworKGtpbmQgb2YgbG9va3MgbGlrZSBhIDEgdG9vKS4gQ29uc2lkZXIgY29tbWVudCBzdHJpbmc6ID4KKwk6c2V0IGNvbW1lbnRzPXNyOi8qKiosbToqKixleC0yOioqKioqKi8KKzwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyoqKiB+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKio8LS1yaWdodCBhbGlnbmVkIGZyb20gInIiIGZsYWcgfgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqIH4KK29mZnNldCAyIHNwYWNlcyBmb3IgdGhlICItMiIgZmxhZy0tLT4qKiB+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqKioqKi8gfgogSW4gdGhpcyBjYXNlLCB0aGUgZmlyc3QgY29tbWVudCB3YXMgdHlwZWQsIHRoZW4gcmV0dXJuIHdhcyBwcmVzc2VkIDQgdGltZXMsCiB0aGVuICIvIiB3YXMgcHJlc3NlZCB0byBlbmQgdGhlIGNvbW1lbnQuCiAKQEAgLTE0MTcsOCArMTQyMCw4IEBACiBhbGlnbm1lbnQgZmxhZ3MgZWl0aGVyLiBUaGUgc2FtZSBiZWhhdmlvdXIgY2FuIGJlIGRlZmluZWQgaW4gdGhvc2Ugb3RoZXIKIGZvcm1hdHRpbmcgb3B0aW9ucy4gT25lIGNvbnNpZGVyYXRpb24gaXMgdGhhdCAnY2luZGVudCcgaGFzIGFkZGl0aW9uYWwgb3B0aW9ucwogZm9yIGNvbnRleHQgYmFzZWQgaW5kZW50aW5nIG9mIGNvbW1lbnRzIGJ1dCBjYW5ub3QgcmVwbGljYXRlIG1hbnkgdGhyZWUgcGllY2UKLWluZGVudCBhbGlnbm1lbnRzLiAgSG93ZXZlciwgJ2luZGVudGV4cHInIGlzIGhhcyB0aGUgYWJpbGl0eSB0byB3b3JrIGJldHRlcgotd2l0aCB0aHJlZSBwaWVjZSBjb21tZW50cy4KK2luZGVudCBhbGlnbm1lbnRzLiAgSG93ZXZlciwgJ2luZGVudGV4cHInIGhhcyB0aGUgYWJpbGl0eSB0byB3b3JrIGJldHRlciB3aXRoCit0aHJlZSBwaWVjZSBjb21tZW50cy4KIAogT3RoZXIgZXhhbXBsZXM6ID4KICAgICJiOioiCUluY2x1ZGVzIGxpbmVzIHN0YXJ0aW5nIHdpdGggIioiLCBidXQgbm90IGlmIHRoZSAiKiIgaXMKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggOGM0NjRhOC4uMjk1ZmU0YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMSBNYXIgMTgKKypldmFsLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIE1heSAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0xNTQ1LDcgKzE1NDUsOSBAQAogCiAJCQkJCSp2OnJlZ2lzdGVyKiAqcmVnaXN0ZXItdmFyaWFibGUqCiB2OnJlZ2lzdGVyCVRoZSBuYW1lIG9mIHRoZSByZWdpc3RlciBpbiBlZmZlY3QgZm9yIHRoZSBjdXJyZW50IG5vcm1hbCBtb2RlCi0JCWNvbW1hbmQuICBJZiBub25lIGlzIHN1cHBsaWVkIGl0IGlzIHRoZSBkZWZhdWx0IHJlZ2lzdGVyLgorCQljb21tYW5kLiAgSWYgbm9uZSBpcyBzdXBwbGllZCBpdCBpcyB0aGUgZGVmYXVsdCByZWdpc3RlciAnIicsCisJCXVubGVzcyAnY2xpcGJvYXJkJyBjb250YWlucyAidW5uYW1lZCIgb3IgInVubmFtZWRwbHVzIiwgdGhlbgorCQlpdCBpcyAnKicgb3IgJysnLgogCQlBbHNvIHNlZSB8Z2V0cmVnKCl8IGFuZCB8c2V0cmVnKCl8CiAKIAkJCQkJKnY6c2Nyb2xsc3RhcnQqICpzY3JvbGxzdGFydC12YXJpYWJsZSoKQEAgLTYyMjIsNyArNjIyNCw4IEBACiBwb3N0c2NyaXB0CQlDb21waWxlZCB3aXRoIFBvc3RTY3JpcHQgZmlsZSBwcmludGluZy4KIHByaW50ZXIJCQlDb21waWxlZCB3aXRoIHw6aGFyZGNvcHl8IHN1cHBvcnQuCiBwcm9maWxlCQkJQ29tcGlsZWQgd2l0aCB8OnByb2ZpbGV8IHN1cHBvcnQuCi1weXRob24JCQlDb21waWxlZCB3aXRoIFB5dGhvbiBpbnRlcmZhY2UuCitweXRob24JCQlDb21waWxlZCB3aXRoIFB5dGhvbiAyLnggaW50ZXJmYWNlLiB8aGFzLXB5dGhvbnwKK3B5dGhvbjMJCQlDb21waWxlZCB3aXRoIFB5dGhvbiAzLnggaW50ZXJmYWNlLiB8aGFzLXB5dGhvbnwKIHFueAkJCVFOWCB2ZXJzaW9uIG9mIFZpbS4KIHF1aWNrZml4CQlDb21waWxlZCB3aXRoIHxxdWlja2ZpeHwgc3VwcG9ydC4KIHJlbHRpbWUJCQlDb21waWxlZCB3aXRoIHxyZWx0aW1lKCl8IHN1cHBvcnQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9mb2xkLnR4dCBiL3J1bnRpbWUvZG9jL2ZvbGQudHh0CmluZGV4IDI0YThkY2IuLjRmMjc5MzMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2ZvbGQudHh0CisrKyBiL3J1bnRpbWUvZG9jL2ZvbGQudHh0CkBAIC02MCw3ICs2MCw3IEBACiBUaGUgbmVzdGluZyBvZiBmb2xkcyBpcyBsaW1pdGVkIHdpdGggJ2ZvbGRuZXN0bWF4Jy4KIAogU29tZSBsaW5lcyBhcmUgaWdub3JlZCBhbmQgZ2V0IHRoZSBmb2xkIGxldmVsIG9mIHRoZSBsaW5lIGFib3ZlIG9yIGJlbG93IGl0LAotd2hhdGV2ZXIgaXMgdGhlIGxvd2VzdC4gIFRoZXNlIGFyZSBlbXB0eSBvciB3aGl0ZSBsaW5lcyBhbmQgbGluZXMgc3RhcnRpbmcKK3doaWNoZXZlciBpcyBsb3dlci4gIFRoZXNlIGFyZSBlbXB0eSBvciB3aGl0ZSBsaW5lcyBhbmQgbGluZXMgc3RhcnRpbmcKIHdpdGggYSBjaGFyYWN0ZXIgaW4gJ2ZvbGRpZ25vcmUnLiAgV2hpdGUgc3BhY2UgaXMgc2tpcHBlZCBiZWZvcmUgY2hlY2tpbmcgZm9yCiBjaGFyYWN0ZXJzIGluICdmb2xkaWdub3JlJy4gIEZvciBDIHVzZSAiIyIgdG8gaWdub3JlIHByZXByb2Nlc3NvciBsaW5lcy4KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaWZfcHl0aC50eHQgYi9ydW50aW1lL2RvYy9pZl9weXRoLnR4dAppbmRleCA1MWY5MzZlLi40M2M0MzU2IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9weXRoLnR4dAorKysgYi9ydW50aW1lL2RvYy9pZl9weXRoLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppZl9weXRoLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTAgT2N0IDIwCisqaWZfcHl0aC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIE1heSAwNwogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBQYXVsIE1vb3JlCkBAIC0zNzcsNiArMzc3LDE4IEBACiAzLiBZb3UgdW5kZWZpbmUgUFlfTk9fUlRMRF9HTE9CQUwgaW4gYXV0by9jb25maWcuaCBhZnRlciBjb25maWd1cmF0aW9uLiAgVGhpcwogICAgbWF5IGNyYXNoIFZpbSB0aG91Z2guCiAKKwkJCQkJCQkqaGFzLXB5dGhvbioKK1lvdSBjYW4gdGVzdCB3aGF0IFB5dGhvbiB2ZXJzaW9uIGlzIGF2YWlsYWJsZSB3aXRoOiA+CisJaWYgaGFzKCdweXRob24nKQorCSAgZWNobyAndGhlcmUgaXMgUHl0b24gMi54JworICAJZWxzZWlmIGhhcygncHl0aG9uMycpCisJICBlY2hvICd0aGVyZSBpcyBQeXRob24gMy54JworCWVuZGlmCisKK05vdGUgaG93ZXZlciwgdGhhdCB3aGVuIFB5dGhvbiAyIGFuZCAzIGFyZSBib3RoIGF2YWlsYWJsZSBhbmQgbG9hZGVkCitkeW5hbWljYWxseSwgdGhlc2UgaGFzKCkgY2FsbHMgd2lsbCB0cnkgdG8gbG9hZCB0aGVtLiAgSWYgb25seSBvbmUgY2FuIGJlCitsb2FkZWQgYXQgYSB0aW1lLCBqdXN0IGNoZWNraW5nIGlmIFB5dGhvbiAyIG9yIDMgYXJlIGF2YWlsYWJsZSB3aWxsIHByZXZlbnQKK3RoZSBvdGhlciBvbmUgZnJvbSBiZWluZyBhdmFpbGFibGUuCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIHZpbTp0dz03ODp0cz04OmZ0PWhlbHA6bm9ybDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21hcC50eHQgYi9ydW50aW1lL2RvYy9tYXAudHh0CmluZGV4IDI5YjllOWYuLmVjMjFkMTUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL21hcC50eHQKKysrIGIvcnVudGltZS9kb2MvbWFwLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptYXAudHh0KiAgICAgICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTEgQXByIDEzCisqbWFwLnR4dCogICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIE1heSAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDgwLDkgKzQ4MCw5IEBACiBoYXZlIHRvIHR5cGUgQ1RSTC1WIHR3byB0aW1lcykuICBVbmZvcnR1bmF0ZWx5LCB5b3UgY2Fubm90IGRvIHRoaXMgaW4gYSB2aW1yYwogZmlsZS4KIAkJCQkJCQkqPE5vcD4qCi1BIGVhc2llciB3YXkgdG8gZ2V0IGEgbWFwcGluZyB0aGF0IGRvZXNuJ3QgcHJvZHVjZSBhbnl0aGluZywgaXMgdG8gdXNlICI8Tm9wPiIKLWZvciB0aGUge3Joc30uICBUaGlzIG9ubHkgd29ya3Mgd2hlbiB0aGUgfDw+fCBub3RhdGlvbiBpcyBlbmFibGVkLiAgRm9yCi1leGFtcGxlLCB0byBtYWtlIHN1cmUgdGhhdCBmdW5jdGlvbiBrZXkgOCBkb2VzIG5vdGhpbmcgYXQgYWxsOiA+CitBbiBlYXNpZXIgd2F5IHRvIGdldCBhIG1hcHBpbmcgdGhhdCBkb2Vzbid0IHByb2R1Y2UgYW55dGhpbmcsIGlzIHRvIHVzZQorIjxOb3A+IiBmb3IgdGhlIHtyaHN9LiAgVGhpcyBvbmx5IHdvcmtzIHdoZW4gdGhlIHw8Pnwgbm90YXRpb24gaXMgZW5hYmxlZC4KK0ZvciBleGFtcGxlLCB0byBtYWtlIHN1cmUgdGhhdCBmdW5jdGlvbiBrZXkgOCBkb2VzIG5vdGhpbmcgYXQgYWxsOiA+CiAJOm1hcCAgPEY4PiAgPE5vcD4KIAk6bWFwISA8Rjg+ICA8Tm9wPgogPApAQCAtNDk1LDcgKzQ5NSw3IEBACiAJOnNldCBlbmNvZGluZz11dGYtOAogVGhlIG1hcHBpbmcgZm9yIDxNLUM+IGlzIGRlZmluZWQgd2l0aCB0aGUgbGF0aW4xIGVuY29kaW5nLCByZXN1bHRpbmcgaW4gYSAweGMzCiBieXRlLiAgSWYgeW91IHR5cGUgdGhlIGNoYXJhY3RlciDhICgweGUxIDxNLWE+KSBpbiBVVEYtOCBlbmNvZGluZyB0aGlzIGlzIHRoZQotdHdvIGJ5dGVzIDB4YzMgMHhhMS4gIFlvdSBkb24ndCB3YW50IHRoZSAweGMzIGJ5dGUgdG8gYmUgbWFwcGVkIHRoZW4sCit0d28gYnl0ZXMgMHhjMyAweGExLiAgWW91IGRvbid0IHdhbnQgdGhlIDB4YzMgYnl0ZSB0byBiZSBtYXBwZWQgdGhlbiBvcgogb3RoZXJ3aXNlIGl0IHdvdWxkIGJlIGltcG9zc2libGUgdG8gdHlwZSB0aGUg4SBjaGFyYWN0ZXIuCiAKIAkJCQkJKjxMZWFkZXI+KiAqbWFwbGVhZGVyKgpAQCAtMTE3NywxMyArMTE3NywxNSBAQAogY29tbWFuZCBjYW4gdGFrZSBhcmd1bWVudHMsIHVzaW5nIHRoZSAtbmFyZ3MgYXR0cmlidXRlLiAgVmFsaWQgY2FzZXMgYXJlOgogCiAJLW5hcmdzPTAgICAgTm8gYXJndW1lbnRzIGFyZSBhbGxvd2VkICh0aGUgZGVmYXVsdCkKLQktbmFyZ3M9MSAgICBFeGFjdGx5IG9uZSBhcmd1bWVudCBpcyByZXF1aXJlZAotCS1uYXJncz0qICAgIEFueSBudW1iZXIgb2YgYXJndW1lbnRzIGFyZSBhbGxvd2VkICgwLCAxLCBvciBtYW55KQorCS1uYXJncz0xICAgIEV4YWN0bHkgb25lIGFyZ3VtZW50IGlzIHJlcXVpcmUsIGl0IGluY2x1ZGVzIHNwYWNlcyAKKwktbmFyZ3M9KiAgICBBbnkgbnVtYmVyIG9mIGFyZ3VtZW50cyBhcmUgYWxsb3dlZCAoMCwgMSwgb3IgbWFueSksCisJCSAgICBzZXBhcmF0ZWQgYnkgd2hpdGUgc3BhY2UKIAktbmFyZ3M9PyAgICAwIG9yIDEgYXJndW1lbnRzIGFyZSBhbGxvd2VkCiAJLW5hcmdzPSsgICAgQXJndW1lbnRzIG11c3QgYmUgc3VwcGxpZWQsIGJ1dCBhbnkgbnVtYmVyIGFyZSBhbGxvd2VkCiAKIEFyZ3VtZW50cyBhcmUgY29uc2lkZXJlZCB0byBiZSBzZXBhcmF0ZWQgYnkgKHVuZXNjYXBlZCkgc3BhY2VzIG9yIHRhYnMgaW4gdGhpcwotY29udGV4dC4KK2NvbnRleHQsIGV4Y2VwdCB3aGVuIHRoZXJlIGlzIG9uZSBhcmd1bWVudCwgdGhlbiB0aGUgd2hpdGUgc3BhY2UgaXMgcGFydCBvZgordGhlIGFyZ3VtZW50LgogCiBOb3RlIHRoYXQgYXJndW1lbnRzIGFyZSB1c2VkIGFzIHRleHQsIG5vdCBhcyBleHByZXNzaW9ucy4gIFNwZWNpZmljYWxseSwKICJzOnZhciIgd2lsbCB1c2UgdGhlIHNjcmlwdC1sb2NhbCB2YXJpYWJsZSBpbiB0aGUgc2NyaXB0IHdoZXJlIHRoZSBjb21tYW5kIHdhcwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvbWVzc2FnZS50eHQgYi9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dAppbmRleCAyYTVmMGY1Li45N2M0NTI1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dAorKysgYi9ydW50aW1lL2RvYy9tZXNzYWdlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSptZXNzYWdlLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTEgSmFuIDMwCisqbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIE1heSAxMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMjcsOCArMjcsOCBAQAogVGhpcyBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBpZiB5b3UgYWNjaWRlbnRhbGx5IHR5cGVkIDxTcGFjZT4gYXQgdGhlIGhpdC1lbnRlcgogcHJvbXB0LiAgWW91IGFyZSB0aGVuIGJhY2sgYXQgdGhlIGhpdC1lbnRlciBwcm9tcHQgYW5kIGNhbiB0aGVuIHNjcm9sbCBmdXJ0aGVyCiBiYWNrLgotTm90ZTogd2hlbiB5b3Ugc3RvcHBlZCB0aGUgb3V0cHV0IHdpdGggInEiIGF0IHRoZSBtb3JlIHByb21wdCBvbmx5IHVwIHRvIHRoYXQKLXBvaW50IHdpbGwgYmUgZGlzcGxheWVkLgorTm90ZTogSWYgdGhlIG91dHB1dCBoYXMgYmVlbiBzdG9wcGVkIHdpdGggInEiIGF0IHRoZSBtb3JlIHByb21wdCwgaXQgd2lsbCBvbmx5CitiZSBkaXNwbGF5ZWQgdXAgdG8gdGhpcyBwb2ludC4KIFRoZSBwcmV2aW91cyBjb21tYW5kIG91dHB1dCBpcyBjbGVhcmVkIHdoZW4gYW5vdGhlciBjb21tYW5kIHByb2R1Y2VzIG91dHB1dC4KIAogSWYgeW91IGFyZSB1c2luZyB0cmFuc2xhdGVkIG1lc3NhZ2VzLCB0aGUgZmlyc3QgcHJpbnRlZCBsaW5lIHRlbGxzIHdobwpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3B0aW9ucy50eHQgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAppbmRleCBhMzY3ZTA2Li42YmEyMWZlIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vcHRpb25zLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIEFwciAxNQorKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4zLiAgTGFzdCBjaGFuZ2U6IDIwMTEgQXByIDI5CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTgxNSw3ICs4MTUsNyBAQAogCWJlZW4gc2V0LgogCiAJCQkJCQkJKidiYWNrZ3JvdW5kJyogKidiZycqCi0nYmFja2dyb3VuZCcgJ2JnJwlzdHJpbmcJKGRlZmF1bHQgImRhcmsiIG9yICJsaWdodCIpCisnYmFja2dyb3VuZCcgJ2JnJwlzdHJpbmcJKGRlZmF1bHQgImRhcmsiIG9yICJsaWdodCIsIHNlZSBiZWxvdykKIAkJCWdsb2JhbAogCQkJe25vdCBpbiBWaX0KIAlXaGVuIHNldCB0byAiZGFyayIsIFZpbSB3aWxsIHRyeSB0byB1c2UgY29sb3JzIHRoYXQgbG9vayBnb29kIG9uIGEKQEAgLTg0OSw2ICs4NDksMTIgQEAKIAljb2xvcikuICBUbyBnZXQgYXJvdW5kIHRoaXMsIGZvcmNlIHRoZSBHVUkgd2luZG93IHRvIGJlIG9wZW5lZCBieQogCXB1dHRpbmcgYSAiOmd1aSIgY29tbWFuZCBpbiB0aGUgLmd2aW1yYyBmaWxlLCBiZWZvcmUgd2hlcmUgdGhlIHZhbHVlCiAJb2YgJ2JhY2tncm91bmQnIGlzIHVzZWQgKGUuZy4sIGJlZm9yZSAiOnN5bnRheCBvbiIpLgorCisJRm9yIE1TLURPUywgV2luZG93cyBhbmQgT1MvMiB0aGUgZGVmYXVsdCBpcyAiZGFyayIuCisJRm9yIG90aGVyIHN5c3RlbXMgImRhcmsiIGlzIHVzZWQgd2hlbiAndGVybScgaXMgImxpbnV4IiwKKwkic2NyZWVuLmxpbnV4IiwgImN5Z3dpbiIgb3IgInB1dHR5Iiwgb3IgJENPTE9SRkdCRyBzdWdnZXN0cyBhIGRhcmsKKwliYWNrZ3JvdW5kLiAgT3RoZXJ3aXNlIHRoZSBkZWZhdWx0IGlzICJsaWdodCIuCisKIAlOb3JtYWxseSB0aGlzIG9wdGlvbiB3b3VsZCBiZSBzZXQgaW4gdGhlIC52aW1yYyBmaWxlLiAgUG9zc2libHkKIAlkZXBlbmRpbmcgb24gdGhlIHRlcm1pbmFsIG5hbWUuICBFeGFtcGxlOiA+CiAJCTppZiAmdGVybSA9PSAicGN0ZXJtIgpAQCAtMzA5NCw3ICszMTAwLDcgQEAKIAljbG9zZWQuICBBbHNvIGZvciBtYW51YWxseSBjbG9zZWQgZm9sZHMuICBXaXRoIHRoZSBkZWZhdWx0IHZhbHVlIG9mCiAJb25lIGEgZm9sZCBjYW4gb25seSBiZSBjbG9zZWQgaWYgaXQgdGFrZXMgdXAgdHdvIG9yIG1vcmUgc2NyZWVuIGxpbmVzLgogCVNldCB0byB6ZXJvIHRvIGJlIGFibGUgdG8gY2xvc2UgZm9sZHMgb2YganVzdCBvbmUgc2NyZWVuIGxpbmUuCi0JTm90ZSB0aGF0IHRoaXMgb25seSBoYXMgYW4gZWZmZWN0IG9mIHdoYXQgaXMgZGlzcGxheWVkLiAgQWZ0ZXIgdXNpbmcKKwlOb3RlIHRoYXQgdGhpcyBvbmx5IGhhcyBhbiBlZmZlY3Qgb24gd2hhdCBpcyBkaXNwbGF5ZWQuICBBZnRlciB1c2luZwogCSJ6YyIgdG8gY2xvc2UgYSBmb2xkLCB3aGljaCBpcyBkaXNwbGF5ZWQgb3BlbiBiZWNhdXNlIGl0J3Mgc21hbGxlcgogCXRoYW4gJ2ZvbGRtaW5saW5lcycsIGEgZm9sbG93aW5nICJ6YyIgbWF5IGNsb3NlIGEgY29udGFpbmluZyBmb2xkLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9zeW50YXgudHh0IGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dAppbmRleCBjMzA5MjY3Li5mZjgyNDNhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9zeW50YXgudHh0CisrKyBiL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3ludGF4LnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIEFwciAwNgorKnN5bnRheC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMSBNYXkgMDYKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMTEwMiw2ICsxMTAyLDggQEAKIEZMRVhXSUtJCQkJCSpmbGV4d2lraS52aW0qICpmdC1mbGV4d2lraS1zeW50YXgqCiAKIEZsZXhXaWtpIGlzIGFuIEFTUC5ORVQtYmFzZWQgd2lraSBwYWNrYWdlIGF2YWlsYWJsZSBhdCBodHRwOi8vd3d3LmZsZXh3aWtpLmNvbQorTk9URTogdGhpcyBzaXRlIGN1cnJlbnRseSBkb2Vzbid0IHdvcmssIG9uIFdpa2lwZWRpYSBpcyBtZW50aW9uZWQgdGhhdAorZGV2ZWxvcG1lbnQgc3RvcHBlZCBpbiAyMDA5LgogCiBTeW50YXggaGlnaGxpZ2h0aW5nIGlzIGF2YWlsYWJsZSBmb3IgdGhlIG1vc3QgY29tbW9uIGVsZW1lbnRzIG9mIEZsZXhXaWtpCiBzeW50YXguIFRoZSBhc3NvY2lhdGVkIGZ0cGx1Z2luIHNjcmlwdCBzZXRzIHNvbWUgYnVmZmVyLWxvY2FsIG9wdGlvbnMgdG8gbWFrZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFncyBiL3J1bnRpbWUvZG9jL3RhZ3MKaW5kZXggYmVlMzljMS4uNTBhMWQ0ZCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFncworKysgYi9ydW50aW1lL2RvYy90YWdzCkBAIC00MjM0LDYgKzQyMzQsNyBAQAogRTg0OAlzeW50YXgudHh0CS8qRTg0OCoKIEU4NDkJc3ludGF4LnR4dAkvKkU4NDkqCiBFODUJb3B0aW9ucy50eHQJLypFODUqCitFODUwCWNoYW5nZS50eHQJLypFODUwKgogRTg2CXdpbmRvd3MudHh0CS8qRTg2KgogRTg3CXdpbmRvd3MudHh0CS8qRTg3KgogRTg4CXdpbmRvd3MudHh0CS8qRTg4KgpAQCAtNjA1Nyw2ICs2MDU4LDcgQEAKIGhhbmd1bGluLnR4dAloYW5ndWxpbi50eHQJLypoYW5ndWxpbi50eHQqCiBoYXMoKQlldmFsLnR4dAkvKmhhcygpKgogaGFzLXBhdGNoCWV2YWwudHh0CS8qaGFzLXBhdGNoKgoraGFzLXB5dGhvbglpZl9weXRoLnR4dAkvKmhhcy1weXRob24qCiBoYXNfa2V5KCkJZXZhbC50eHQJLypoYXNfa2V5KCkqCiBoYXNrZWxsLnZpbQlzeW50YXgudHh0CS8qaGFza2VsbC52aW0qCiBoYXNsb2NhbGRpcigpCWV2YWwudHh0CS8qaGFzbG9jYWxkaXIoKSoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggM2FkYzM2Yy4uYjk2ZjI1NSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMy4gIExhc3QgY2hhbmdlOiAyMDExIEFwciAyOAorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjMuICBMYXN0IGNoYW5nZTogMjAxMSBNYXkgMTAKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMzIsMzAgKzMyLDE4IEBACiAKIEdvIHRocm91Z2ggbW9yZSBjb3Zlcml0eSByZXBvcnRzLgogCi1QYXRjaCBmb3IgYmVoYXZpb3Igb2YgOmN3aW5kb3cuIChJbmdvIEthcmthdCwgMjAxMSBBcHIgMTUpCi0KLUNvbmZpZ3VyZSBmaXggZm9yIGZpbmRpbmcgZXhjdGFncy4gKEhvbmcgWHUsIDIwMTEgQXBybCAyKQotCi1XaGVuICdjb2xvcmNvbHVtbicgaXMgc2V0IGxvY2FsbHkgdG8gYSB3aW5kb3csICI6bmV3IiBvcGVucyBhIHdpbmRvdyB3aXRoIHRoZQotc2FtZSBoaWdobGlnaHRpbmcgYnV0ICdjb2xvcmNvbHVtbicgaXMgZW1wdHkuIChUeXJ1LCAyMDEwIE5vdiAxNSkKLVBhdGNoIGJ5IENocmlzdGlhbiBCcmFiYW5kdCwgMjAxMSBGZWIgMTMgKGJ1dCBtb3ZlIGZ1cnRoZXIgZG93bikuCi0KLVBhdGNoIGZvciBjb25maWd1cmUgcmVsYXRlZCB0byBSdWJ5IG9uIE1hYyBPUyBYLiAoQmpvcm4gV2luY2tsZXIsIDIwMTEgSmFuIDE0KQotCi1QYXRjaCB0byBtYWtlIG1rZGlyKCkgd29yayBwcm9wZXJseSBmb3IgZGlmZmVyZW50IGVuY29kaW5ncy4gKFl1a2loaXJvCi1OYWthZGFpcmEsIDIwMTEgQXByIDIzKQotCi1VcGRhdGVkIFBIUCBzeW50YXggZmlsZS4gKEphc29uIFdvb2ZlbmRlbiwgMjAxMSBBcHIgMjIpCi0KLUFTQ0lJIFZpbSBsb2dvJ3MgKEVybGluZyBXZXN0ZW52aWssIDIwMTEgQXByIDE5KSAgQWRkIHRvIHdlYnNpdGUuCi0KIENyYXNoIGluIGF1dG9jb21wbGV0ZSwgdmFsZ3JpbmQgbG9nLiAoR3JlZyBXZWJlciwgMjAxMSBBcHIgMjIpCiAKLVBhdGNoIGZvciBzdGF0aWMgY29kZSBhbmFseXNpcyBlcnJvcnMgaW4gcmlzY09TLiAoRG9taW5pcXVlIFBlbGxlLCAyMDEwIERlYyAzKQorRXggY29tbWFuZCAiOnMvIFw/LyAvZyIgc3BsaXRzIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBpbnRvIGJ5dGVzLiAoRG9taW5pcXVlCitQZWxsZSwgMjAxMSBNYXkgNykuCiAKLVBhdGNoIHRvIHNldCB2OnJlZ2lzdGVyIG9uIHN0YXJ0dXAuIChJbmdvIEthcmthdCwgMjAxMSBKYW4gMTYpCitJbiBjb21tYW5kIGxpbmUgd2luZG93ICI6Y2xvc2UiIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4gKFRvbnkgTWVjaGVseW5jaywgMjAwOQorSnVuIDEpCitQYXRjaCBieSBKZWFuLVJlbmUgRGF2aWQsIDIwMTEgQXByIDMwLgogCi1SaXNjIE9TIGd1aSBoYXMgb2J2aW91cyBlcnJvcnMuICBEcm9wIGl0PworV2hlbiAiYiIgaXMgYSBzeW1saW5rIHRvIGRpcmVjdG9yeSAiYSIsIHJlc29sdmUoImIvIikgZG9lc24ndCByZXN1bHQgaW4gImEvIi4KKyhaeVgsIDIwMTEgRmViIDEyKQorUGF0Y2ggYnkgSmVhbi1SZW5lIERhdmlkLCAyMDExIEFwciAzMC4KIAogUGF0Y2ggdG8gc2V0IHY6cmVnaXN0ZXIgZGVmYXVsdCBkZXBlbmRpbmcgb24gInVubmFtZWQiIGluICdjbGlwYm9hcmQnLiAoSW5nbwogS2Fya2F0LCAyMDExIEphbiAxNikKQEAgLTk2LDYgKzg0LDkgQEAKIAogUGF0Y2ggZm9yIFB5dGhvbiAzIHN1cHBvcnQuIChsaWx5ZGp3ZywgMjAxMSBGZWIgMjQpCiAKK1BhdGNoIHRvIG1ha2UgcHV0dGluZyBmcm9tIGNsaXBib2FyZCBsaW5ld2lzZSB3aGVuIHRoZSB0ZXh0IGVuZHMgaW4gYSBuZXdsaW5lLgorKFN1bmcgUGFlKSAgRG8gd2Ugd2FudCB0aGlzPworCiBCdWlsZGluZyB0aGUgTWluZ1cgdmVyc2lvbiB3aXRob3V0IGNsaXBib2FyZCBidXQgd2l0aCBtdWx0aS1ieXRlIGRvZXNuJ3QKIHdvcmsuIChCaWxsIExhbSwgMjAxMCBTZXAgMTgpCiAKQEAgLTEwNSwxMiArOTYsMjYgQEAKIFBhdGNoIHRvIGRpc2FsbG93IGZvcmsoKSB3aGVuIF9fQVBQTEVfXyBpcyBkZWZpbmVkLiAoSGlzYXNoaSBUIEZ1amluYWthLCAyMDEwCiBOb3YgMjUpCiAKKzcgICBPdXRwdXQgZm9yICI6c2NyaXB0bmFtZXMiIGFuZCAiOmJyZWFrbGlzdCIgc2hvdWxkIHNob3J0ZW4gdGhlIGZpbGUgbmFtZXM6CisgICAgdXNlICJ+LyIgd2hlbiBwb3NzaWJsZS4KK1BhdGNoIGJ5IEplYW4tUmVuZSBEYXZpZCwgMjAxMSBNYXkgMS4KKworUGF0Y2ggZm9yIGJldHRlciAjaWYgMCBzeW50YXggaGlnaGxpZ2h0aW5nIGZvciBDIGNvZGUuIChCZW4gU2NobWlkdCwgMjAxMSBKYW4KKzIwKQorQ2hhbmdlIHRvIEMgc3ludGF4IGZvbGRpbmcgdG8gbWFrZSBpdCB3b3JrIG11Y2ggZmFzdGVyLCBidXQgYSBiaXQgbGVzcworcmVsaWFibGUuIChMZWNoIExvcmVucywgMjAwOSBOb3YgOSkgIEVuYWJsZSB3aXRoIGFuIG9wdGlvbj8KK01vc3QgdGltZSBpcyBzcGVudCBpbiBpbl9pZF9saXN0KCkuCitVcGRhdGVkIHRvIG1lcmdlIGJvdGggcGF0Y2hlcy4gKEJlbiBTY2htaWR0LCAyMDExIE1heSAyKQorCiBHVEs6IFBhdGNoIHRvIGZpeCBtZW51IHBvcHBpbmcgZG93bi4gKEhvbmcgWHUsIDIwMTAgRGVjIDQsIERlYyA1KQogVXBkYXRlIDIwMTEgRmViIDMuCiAKIFBhdGNoIHRvIHVzZSBwaXBlcyBvbiBXaW4zMi4gIChWaW5jZW50IEJlcnRob3V4LCAyMDExIEZlYiAyOCkKIFVwZGF0ZSBNYXIgMSB1c2luZyAnc2hlbGx0ZW1wJy4KIAorUGF0Y2ggdG8gc3VwcG9ydCBVVEYtOCBmb3IgSGFuZ3VsLiAoU2hhd24gWS5ILiBLaW0sIDIwMTEgTWF5IDEpCitOZWVkcyBtb3JlIHdvcmsuCisKICJnaDxEZWw+IiBkZWxldGVzIHRoZSBjdXJyZW50IGxpbmUsIGV4Y2VwdCB3aGVuIGl0J3MgdGhlIGxhc3QgbGluZS4KIEhpbnQgYnkgQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDExIE1hciAyMgogCkBAIC0xNTAsNiArMTU1LDEyIEBACiAgICBiYWNrdHJhY2UgZnJvbSB5b3VyIGRlYnVnZ2VyIGlmIHlvdSBicmVhayBvbiB0aGUgZ2RrX3hfZXJyb3IoKSBmdW5jdGlvbi4pCiBDaGVjayB0aGF0IG51bWJlciBvZiBwaXhlbHMgZG9lc24ndCBnbyBhYm92ZSA2NTUzNT8KIAorOCAgIEFkZCBhbiBldmVudCBsaWtlIEN1cnNvckhvbGQgdGhhdCBpcyB0cmlnZ2VyZWQgcmVwZWF0ZWRseSwgbm90IGp1c3Qgb25jZQorICAgIGFmdGVyIHR5cGluZyBzb21ldGhpbmcuCitOZWVkIGZvciBDdXJzb3JIb2xkIHRoYXQgcmV0cmlnZ2Vycy4gIFVzZSBhIGtleSB0aGF0IGRvZXNuJ3QgZG8gYW55dGhpbmcsIG9yIGEKK2Z1bmN0aW9uIHRoYXQgcmVzZXRzIGRpZF9jdXJzb3Job2xkLgorUGF0Y2ggYnkgQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDExIE1heSA2LgorCiBDdXJzb3JIb2xkIHJlcGVhdHMgdHlwZWQga2V5IHdoZW4gaXQncyB0aGUgc3RhcnQgb2YgYSBtYXBwaW5nLgogKFdpbGwgR3JheSwgMjAxMSBNYXIgMjMpCiAKQEAgLTM3MiwxMSArMzgzLDYgQEAKIElzIH4vYmluIChsaXRlcmFsbHkpIGluICRQQVRIIHN1cHBvc2VkIHRvIHdvcms/ICAoUGF1bCwgMjAxMCBNYXJjaCAyOSkKIExvb2tzIGxpa2Ugb25seSBiYXNoIGNhbiBkbyBpdC4gKFlha292IExlcm5lcikKIAotOCAgIEFkZCBhbiBldmVudCBsaWtlIEN1cnNvckhvbGQgdGhhdCBpcyB0cmlnZ2VyZWQgcmVwZWF0ZWRseSwgbm90IGp1c3Qgb25jZQotICAgIGFmdGVyIHR5cGluZyBzb21ldGhpbmcuCi1OZWVkIGZvciBDdXJzb3JIb2xkIHRoYXQgcmV0cmlnZ2Vycy4gIFVzZSBhIGtleSB0aGF0IGRvZXNuJ3QgZG8gYW55dGhpbmcsIG9yIGEKLWZ1bmN0aW9uIHRoYXQgcmVzZXRzIGRpZF9jdXJzb3Job2xkLgotCiBDc2NvcGUgImNzIGFkZCIgc3RvcHBlZCB3b3JraW5nIHNvbWV3aGF0IGJlZm9yZSA3LjIuNDM4LiAoR2FyeSBKb2huc29uLCAyMDEwCiBKdW4gMjkpICBDYXVzZWQgYnkgNy4yLjQzMz8KIApAQCAtNDAxLDggKzQwNyw2IEBACiBGaW5kIHRhaWw/ICBNaWdodCBoYXZlIGEgLyBpbiBhcmd1bWVudC4gIEZpbmQgc3BhY2U/ICBNaWdodCBoYXZlIHNwYWNlIGluCiBwYXRoLgogCi0iOnNvcnQgbiIgdHJlYXRzIGVtcHR5IGxpbmUgYXMgaGlnaGVyIHRoYW4gemVyby4gKEJlZXlhd25lZCwgMjAxMCBPY3QgMTMpCi0KIFRlc3QgNTEgZmFpbHMgd2hlbiBsYW5ndWFnZSBzZXQgdG8gR2VybWFuLiAoTWFyY28sIDIwMTEgSmFuIDkpCiBEb21pbmlxdWUgY2FuJ3QgcmVwcm9kdWMgaXQuCiAKQEAgLTQ0MCwxMyArNDQ0LDYgQEAKIG1vZGUuIChJc3JhZWwgQ2hhdWNhLCAyMDEwIE1heSAxMywgbW9yZSBpbiBzZWNvbmQgbXNnKQogQnJlYWsgdW5kbyB3aGVuIENUUkwtUiA9IGNoYW5nZXMgdGhlIHRleHQ/ICBPciBzYXZlIG1vcmUgbGluZXM/CiAKLVBhdGNoIGZvciBiZXR0ZXIgI2lmIDAgc3ludGF4IGhpZ2hsaWdodGluZyBmb3IgQyBjb2RlLiAoQmVuIFNjaG1pZHQsIDIwMTEgSmFuCi0yMCkKLQotQ2hhbmdlIHRvIEMgc3ludGF4IGZvbGRpbmcgdG8gbWFrZSBpdCB3b3JrIG11Y2ggZmFzdGVyLCBidXQgYSBiaXQgbGVzcwotcmVsaWFibGUuIChMZWNoIExvcmVucywgMjAwOSBOb3YgOSkgIEVuYWJsZSB3aXRoIGFuIG9wdGlvbj8KLU1vc3QgdGltZSBpcyBzcGVudCBpbiBpbl9pZF9saXN0KCkuCi0KIFNsb3cgY29tYmluYXRpb24gb2YgZm9sZGluZyBhbmQgUEhQIHN5bnRheCBoaWdobGlnaHRpbmcuICBTY3JpcHQgdG8gcmVwcm9kdWNlCiBpdC4gIENhdXNlZCBieSAic3ludGF4IHN5bmMgZnJvbXN0YXJ0IiBpbiBjb21iaW5hdGlvbiB3aXRoIHBhdGNoIDcuMi4yNzQuCiAoQ2hyaXN0aWFuIEJyYWJhbmR0LCAyMDEwIE1heSAyNykKQEAgLTQ1OSw5ICs0NTYsNiBAQAogVXNpbmcgIjpjYWxsIGZvbyNkLmYoKSIgZG9lc24ndCBhdXRvbG9hZCB0aGUgImZvby52aW0iIGZpbGUuICBXb3JrcyBPSyBmb3IKIGVjaG8sIGp1c3Qgbm90IGZvciAgIjpjYWxsIiBhbmQgIjpjYWxsIGNhbGwoKSIuIChUZWQsIDIwMTEgTWFyIDE3KQogCi1JbiBjb21tYW5kIGxpbmUgd2luZG93ICI6Y2xvc2UiIGRvZXNuJ3Qgd29yayBwcm9wZXJseS4gKFRvbnkgTWVjaGVseW5jaywgMjAwOQotSnVuIDEpCi0KIENhbm5vdCB1c2UgZ2V0Y2hhcigpIGluc2lkZSA6bm9ybWFsIGFuZCB1c2luZyBhbiBleHByZXNzaW9uIG1hcHBpbmcuICBJcyB0aGlzCiBzdXBwb3NlZCB0byB3b3JrPyAgKFh5WCwgMjAxMCBTZXAgMjIpCiAKQEAgLTU4NSw5ICs1NzksNiBAQAogUGVyaGFwcyB3ZSBuZWVkIHRvIHVzZSBhIGhpZGRlbiB3aW5kb3cgZm9yIGFwcGx5aW5nIGF1dG9jb21tYW5kcyB0byBhIGJ1ZmZlcgogdGhhdCBkb2Vzbid0IGhhdmUgYSB3aW5kb3cuCiAKLVdoZW4gImIiIGlzIGEgc3ltbGluayB0byBkaXJlY3RvcnkgImEiLCByZXNvbHZlKCJiLyIpIGRvZXNuJ3QgcmVzdWx0IGluICJhLyIuCi0oWnlYLCAyMDExIEZlYiAxMikKLQogV2hlbiB1c2luZyAiYWIgZm9vIGJhciIgYW5kIG1hcHBpbmcgPFRhYj4gdG8gPEVzYz4sIHByZXNzaW5nIDxUYWI+IGFmdGVyIGZvbwogZG9lc24ndCB0cmlnZ2VyIHRoZSBhYmJyZXZpYXRpb24gbGlrZSA8RXNjPiB3b3VsZC4gKFJhbWFuYSBLdW1hciwgMjAwOSBTZXAgNikKIApAQCAtMTg1Nyw3ICsxODQ4LDcgQEAKIDggICBXaGVuIHRyYW5zbGF0aW5nIG1lbnVzIGlnbm9yZSB0aGUgcGFydCBhZnRlciB0aGUgVGFiLCB0aGUgc2hvcnRjdXQuICBTbwogICAgIHRoYXQgdGhlIHNhbWUgbWVudSBpdGVtIHdpdGggYSBkaWZmZXJlbnQgc2hvcnRjdXQgKGUuZy4sIGZvciB0aGUgTWFjKSBhcmUKICAgICBzdGlsbCB0cmFuc2xhdGVkLgotOCAgIEFkZCBtZW51IHNlcGFyYXRvcnMgZm9yIEFtaWdhLCBSSVNDT1MuCis4ICAgQWRkIG1lbnUgc2VwYXJhdG9ycyBmb3IgQW1pZ2EuCiA4ICAgQWRkIHdheSB0byBzcGVjaWZ5IHRoZSBmaWxlIGZpbHRlciBmb3IgdGhlIGJyb3dzZSBkaWFsb2cuICBBdCBsZWFzdCBmb3IKICAgICBicm93c2UoKS4KIDggICBBZGQgZGlhbG9nIGZvciBzZWFyY2gvcmVwbGFjZSB0byBvdGhlciBHVUlzPyAgVGsgaGFzIHNvbWV0aGluZyBmb3IgdGhpcywKQEAgLTIxMDIsOCArMjA5Myw2IEBACiA2ICAgUHl0aG9uOiAiOnB5IHJhd19pbnB1dCgncHJvbXB0JykiIGRvZXNuJ3Qgd29yay4gKE1hbnUgSGFjaykKIDggICBDb21tYW5kIGxpbmUgY29tcGxldGlvbjogYnVmZmVycyAiZm9vLnR4dCIgYW5kICIuLi9iL2Zvby50eHQiLCBjb21wbGV0aW5nCiAgICAgIjpidWYgZm9vPFRhYj4iIGRvZXNuJ3QgZmluZCB0aGUgc2Vjb25kIG9uZS4gKEdlb3JnZSBWLiBSZWlsbHkpCi03ICAgT3V0cHV0IGZvciAiOnNjcmlwdG5hbWVzIiBhbmQgIjpicmVha2xpc3QiIHNob3VsZCBzaG9ydGVuIHRoZSBmaWxlIG5hbWVzOgotICAgIHVzZSAifi8iIHdoZW4gcG9zc2libGUuCiA3ICAgbWJfb2ZmMmNlbGxzKCkgZG9lc24ndCB3b3JrIGNvcnJlY3RseSBvbiB0aGUgdGFpbCBieXRlIG9mIGEgZG91YmxlLWJ5dGUKICAgICBjaGFyYWN0ZXIuIChZYXN1aGlybyBNYXRzdW1vdG8pICBJdCBzaG91bGQgcmV0dXJuIDEgd2hlbiB1c2VkIG9uIGEgdGFpbAogICAgIGJ5dGUsIGxpa2UgZm9yIHV0Zi04LiAgU3RvcmUgc2Vjb25kIGJ5dGUgb2YgZG91YmxlLWJ5dGUgaW4gU2NyZWVuTGluZXMyW10KQEAgLTIxMzAsOCArMjExOSw2IEBACiAgICAgd29ya3MuCiA4ICAgQSB2ZXJ5IGxvbmcgbWVzc2FnZSBpbiBjb25maXJtKCkgY2FuJ3QgYmUgcXVpdC4gIE1ha2UgdGhpcyBwb3NzaWJsZSB3aXRoCiAgICAgQ1RSTC1DLgotOCAgIFdoZW4gdGhlIGNsaXBib2FyZCBpc24ndCBzdXBwb3J0ZWQ6ICI6eWFuayoiIGdpdmVzIGEgY29uZnVzaW5nIGVycm9yCi0gICAgbWVzc2FnZS4gIFNwZWNpZmljYWxseSBtZW50aW9uIHRoYXQgdGhlIHJlZ2lzdGVyIG5hbWUgaXMgaW52YWxpZC4KIDggICAiZ2YiIGFsd2F5cyBleGNsdWRlcyB0cmFpbGluZyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzLiAgZmlsZV9uYW1lX2luX2xpbmUoKQogICAgIGlzIGN1cnJlbnRseSBmaXhlZCB0byB1c2UgIi4sOjshIi4gIEFkZCBhbiBvcHRpb24gdG8gbWFrZSB0aGlzCiAgICAgY29uZmlndXJhYmxlPwpAQCAtMjE0NSw4ICsyMTMyLDYgQEAKICAgICBpcyBhIG11bHRpLWJ5dGUgY2hhcmFjdGVyLgogOCAgIFdoZW4gYXBwZW5kaW5nIHRvIGEgZmlsZSBhbmQgJ3BhdGNobW9kZScgaXNuJ3QgZW1wdHksIGEgYmFja3VwIGZpbGUgaXMKICAgICBhbHdheXMgd3JpdHRlbiwgZXZlbiB3aGVuIHRoZSBvcmlnaW5hbCBmaWxlIGFscmVhZHkgZXhpc3RzLgotNyAgIFdoZW4gdXNpbmcgImRhdyIgb24gdGhlIGxhc3Qgd29yZCBpbiBhIGZpbGUgYW5kIHRoaXMgaXMgYSBzaW5nbGUgbGV0dGVyLAotICAgIG5vdGhpbmcgaXMgZGVsZXRlZC4gIFNob3VsZCBkZWxldGUgdGhlIGxldHRlciBhbmQgcHJlY2VkaW5nIHdoaXRlIHNwYWNlLgogOSAgIFdoZW4gZ2V0dGluZyBmb2N1cyB3aGlsZSB3cml0aW5nIGEgbGFyZ2UgZmlsZSwgY291bGQgd2FybiBmb3IgdGhpcyBmaWxlCiAgICAgYmVpbmcgY2hhbmdlZCBvdXRzaWRlIG9mIFZpbS4gIEF2b2lkIGNoZWNraW5nIHRoaXMgd2hpbGUgdGhlIGZpbGUgaXMgYmVpbmcKICAgICB3cml0dGVuLgpAQCAtMjc5Nyw3ICsyNzgyLDcgQEAKICAgICBGb3IgV2luZG93cywgdGhlIGNoYXJzZXRfcGFpcnNbXSB0YWJsZSBjb3VsZCBiZSB1c2VkLiAgQnV0IGhvdyBkbyB3ZSBrbm93CiAgICAgaWYgYSBmb250IGV4aXN0cz8KIC0gICBEbyBrZXlib2FyZCBjb252ZXJzaW9uIGZyb20gJ3Rlcm1lbmNvZGluZycgdG8gJ2VuY29kaW5nJyB3aXRoCi0gICAgY29udmVydF9pbnB1dCgpIGZvciBNYWMgR1VJIGFuZCBSaXNjT1MgR1VJLgorICAgIGNvbnZlcnRfaW5wdXQoKSBmb3IgTWFjIEdVSS4KIC0gICBBZGQgbW5lbW9uaWNzIGZyb20gUkZDMTM0NSBsb25nZXIgdGhhbiB0d28gY2hhcmFjdGVycy4KICAgICBTdXBwb3J0IENUUkwtSyBfe21uZW1vbmljfV8KIDcgICBJbiAiLS0gSU5TRVJUIChsYW5nKSAtLSIgc2hvdyB0aGUgbmFtZSBvZiB0aGUga2V5bWFwIHVzZWQgaW5zdGVhZCBvZgpAQCAtMzA2MCw2ICszMDQ1LDEwIEBACiAJCQkJUGF0Y2ggYnkgSWx5YSBTaGVyLCAyMDA0IE1hciA0LgogCQkJCVJldHVybiBhIGxpc3QgaW5zdGVhZC4KIAljaGFyMmhleCgpCQljb252ZXJ0IGNoYXIgc3RyaW5nIHRvIGhleCBzdHJpbmcuCisJY3J5cHQoKQkJCWVuY3J5cHQgc3RyaW5nCisJZGVjcnlwdCgpCQlkZWNyeXB0IHN0cmluZworCWJhc2U2NGVuYygpCQliYXNlIDY0IGVuY29kaW5nCisJYmFzZTY0ZGVjKCkJCWJhc2UgNjQgZGVjb2RpbmcKIAlhdHRyaWJ1dGVzKCkJCXJldHVybiBmaWxlIHByb3RlY3Rpb24gZmxhZ3MgImRyd3hyd3hyd3giCiAJZmlsZWNvcHkoZnJvbSwgdG8pCUNvcHkgYSBmaWxlCiAJc2hvcnRlbihmbmFtZSkJCXNob3J0ZW4gYSBmaWxlIG5hbWUsIGxpa2UgaG9tZV9yZXBsYWNlKCkKQEAgLTM0NDEsNyArMzQzMCw3IEBACiAKIAogR1VJOgotOCAgIE1ha2UgaW5wdXRkaWFsb2coKSB3b3JrIGZvciBQaG90b24sIEFtaWdhLCBSaXNjT1MuCis4ICAgTWFrZSBpbnB1dGRpYWxvZygpIHdvcmsgZm9yIFBob3RvbiwgQW1pZ2EuCiAtICAgPEMtLT4gY2Fubm90IGJlIG1hcHBlZC4gIFNob3VsZCBiZSBwb3NzaWJsZSB0byByZWNvZ25pemUgdGhpcyBhcyBhCiAgICAgbm9ybWFsICItIiB3aXRoIHRoZSBDdHJsIG1vZGlmaWVyLgogNyAgIEltcGxlbWVudCAiOnBvcHVwIiBmb3Igb3RoZXIgc3lzdGVtcyB0aGFuIFdpbmRvd3MuCkBAIC0zNTUyLDkgKzM1NDEsOSBAQAogICAgIGhhbmRsZWQgKGUuZy4sIG90aGVyIGZvbnQpIChSb24gQWFyb24pCiA3ICAgV2hlbiB0cnlpbmcgdG8gb3BlbiBhIGRpcmVjdG9yeSwgdHJpZ2dlciBhbiBPcGVuRGlyZWN0b3J5IGV2ZW50LgogNyAgIEFkZCBmaWxlIHR5cGUgaW4gZnJvbnQgb2YgZmlsZSBwYXR0ZXJuOiA8ZD4gZm9yIGRpcmVjdG9yeSwgPGw+IGZvciBsaW5rLAotICAgIDx4PiBmb3IgZXhlY3V0YWJsZSwgZXRjLiAgPCZ4eHg+IGZvciBSaXNjIE9TLiAgV2l0aCBjb21tYXMgdG8gc2VwYXJhdGUKLSAgICBhbHRlcm5hdGl2ZXMuICBUaGUgYXV0b2NvbW1hbmQgaXMgb25seSBleGVjdXRlZCB3aGVuIGJvdGggdGhlIGZpbGUgdHlwZQotICAgIEFORCB0aGUgZmlsZSBwYXR0ZXJuIG1hdGNoLiAoTGVvbmFyZCkKKyAgICA8eD4gZm9yIGV4ZWN1dGFibGUsIGV0Yy4gIFdpdGggY29tbWFzIHRvIHNlcGFyYXRlIGFsdGVybmF0aXZlcy4gIFRoZQorICAgIGF1dG9jb21tYW5kIGlzIG9ubHkgZXhlY3V0ZWQgd2hlbiBib3RoIHRoZSBmaWxlIHR5cGUgQU5EIHRoZSBmaWxlIHBhdHRlcm4KKyAgICBtYXRjaC4gKExlb25hcmQpCiA1ICAgQWRkIG9wdGlvbiB0aGF0IHNwZWNpZmllcyBleHRlbnNpb25zIHdoaWNoIGFyZSB0byBiZSBkaXNjYXJkZWQgZnJvbSB0aGUKICAgICBmaWxlIG5hbWUuICBFLmcuICdhdXN1ZmZpeCcsIHdpdGggIi5neiwub3JpZyIuICBTdWNoIHRoYXQgZmlsZS5jLmd6IHdpbGwKICAgICB0cmlnZ2VyIHRoZSAiKi5jIiBhdXRvY29tbWFuZHMuICAoQmVsYWJhcykKQEAgLTM4MTIsMTAgKzM4MDEsNiBAQAogCiAKICdjaW5kZW50JywgJ3NtYXJ0aW5kZW50JzoKLTkgICAiKSA6IiBjb25mdXNlcyBjb250aW51YXRpb24gbGluZTogKENvbGluIEJlbm5ldHQsIDIwMDcgRGVjIDE0KQotICAgICAgICBjb3V0IDw8ICJhIgotICAgICAgICAgICAgICAgIDw8ICIpIDoiCi0gICAgICAgICAgICAgICAgPDwgInkiOwogOSAgICJ9IGVsc2UiIGNhdXNlcyBmb2xsb3dpbmcgbGluZXMgdG8gYmUgaW5kZW50ZWQgdG9vIG11Y2guIChSb3ViZW4KICAgICBSb3N0YW1pYW4sIDIwMDggQXVnIDMwKQogOSAgIFdyYXBwaW5nIGEgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24gc2hvdWxkIGhhdmUgZXh0cmEgaW5kZW50OgpkaWZmIC0tZ2l0IGEvcnVudGltZS9mdHBsdWdpbi9jaGFuZ2Vsb2cudmltIGIvcnVudGltZS9mdHBsdWdpbi9jaGFuZ2Vsb2cudmltCmluZGV4IGM4NzFhNzcuLmRhZmNiZTIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vY2hhbmdlbG9nLnZpbQorKysgYi9ydW50aW1lL2Z0cGx1Z2luL2NoYW5nZWxvZy52aW0KQEAgLTEsNyArMSw3IEBACiAiIFZpbSBmaWxldHlwZSBwbHVnaW4gZmlsZQogIiBMYW5ndWFnZTogICAgICAgICBnZW5lcmljIENoYW5nZWxvZyBmaWxlCiAiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bm93QGJpdHdpLnNlPgotIiBMYXRlc3QgUmV2aXNpb246ICAyMDEwLTA4LTE3CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMTEtMDUtMDIKICIgVmFyaWFibGVzOgogIiAgIGc6Y2hhbmdlbG9nX3RpbWVmb3JtYXQgKGRlcHJlY2F0ZWQ6IHVzZSBnOmNoYW5nZWxvZ19kYXRlZm9ybWF0IGluc3RlYWQpIC0KICIgICAgICAgZGVzY3JpcHRpb246IHRoZSB0aW1lZm9ybWF0IHVzZWQgaW4gQ2hhbmdlTG9nIGVudHJpZXMuCkBAIC05OSw4ICs5OSw5IEBACiAgIGZ1bmN0aW9uISBzOnRyeV9yZWFkaW5nX2ZpbGUocGF0aCkKICAgICB0cnkKICAgICAgIHJldHVybiByZWFkZmlsZShhOnBhdGgpCisgICAgY2F0Y2gKKyAgICAgIHJldHVybiBbXQogICAgIGVuZHRyeQotICAgIHJldHVybiBbXQogICBlbmRmdW5jdGlvbgogCiAgIGZ1bmN0aW9uISBzOnBhc3N3ZF9maWVsZChsaW5lLCBmaWVsZCkKQEAgLTE3MCw3ICsxNzEsNyBAQAogICBlbmRmdW5jdGlvbgogCiAgICIgSW50ZXJuYWwgZnVuY3Rpb24gdG8gY3JlYXRlIGEgbmV3IGVudHJ5IGluIHRoZSBDaGFuZ2VMb2cuCi0gIGZ1bmN0aW9uISBzOm5ld19jaGFuZ2Vsb2dfZW50cnkoLi4uKQorICBmdW5jdGlvbiEgczpuZXdfY2hhbmdlbG9nX2VudHJ5KCkKICAgICAiIERlYWwgd2l0aCAncGFzdGUnIG9wdGlvbi4KICAgICBsZXQgc2F2ZV9wYXN0ZSA9ICZwYXN0ZQogICAgIGxldCAmcGFzdGUgPSAxCkBAIC0xNzgsNyArMTc5LDcgQEAKICAgICAiIExvb2sgZm9yIGFuIGVudHJ5IGZvciB0b2RheSBieSBvdXIgdXNlci4KICAgICBsZXQgZGF0ZSA9IHN0cmZ0aW1lKGc6Y2hhbmdlbG9nX2RhdGVmb3JtYXQpCiAgICAgbGV0IHNlYXJjaCA9IHM6c3Vic3RpdHV0ZV9pdGVtcyhnOmNoYW5nZWxvZ19kYXRlX2VudHJ5X3NlYXJjaCwgZGF0ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGc6Y2hhbmdlbG9nX3VzZXJuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgczp1c2VybmFtZSgpKQogICAgIGlmIHNlYXJjaChzZWFyY2gpID4gMAogICAgICAgIiBPaywgbm93IHdlIGxvb2sgZm9yIHRoZSBlbmQgb2YgdGhlIGRhdGUgZW50cnksIGFuZCBhZGQgYW4gZW50cnkuCiAgICAgICBjYWxsIGN1cnNvcihuZXh0bm9uYmxhbmsobGluZSgnLicpICsgMSksIDEpCkBAIC0xOTcsNyArMTk4LDcgQEAKIAogICAgICAgIiBObyBlbnRyeSB0b2RheSwgc28gY3JlYXRlIGEgZGF0ZS11c2VyIGhlYWRlciBhbmQgaW5zZXJ0IGFuIGVudHJ5LgogICAgICAgbGV0IHRvZGF5c19lbnRyeSA9IHM6c3Vic3RpdHV0ZV9pdGVtcyhnOmNoYW5nZWxvZ19uZXdfZGF0ZV9mb3JtYXQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRhdGUsIGc6Y2hhbmdlbG9nX3VzZXJuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkYXRlLCBzOnVzZXJuYW1lKCkpCiAgICAgICAiIE1ha2Ugc3VyZSB3ZSBoYXZlIGEgY3Vyc29yIHBvc2l0aW9uaW5nLgogICAgICAgaWYgc3RyaWR4KHRvZGF5c19lbnRyeSwgJ3tjdXJzb3J9JykgPT0gLTEKICAgICAgICAgbGV0IHRvZGF5c19lbnRyeSA9IHRvZGF5c19lbnRyeSAuICd7Y3Vyc29yfScKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2hvc3RzYWNjZXNzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2hvc3RzYWNjZXNzLnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTlmMDJlCi0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvaG9zdHNhY2Nlc3MudmltCkBAIC0wLDAgKzEsMjcgQEAKKyIgVmltIHN5bnRheCBmaWxlCisiIExhbmd1YWdlOglob3N0cy5kZW55LCBob3N0cy5hbGxvdyBjb25maWd1cmF0aW9uIGZpbGVzCisiIE1haW50YWluZXI6CVRoaWxvIFNpeCA8VC5TaXhAZ214LmRlPgorIiBMYXN0IENoYW5nZToJMjAxMSBNYXkgMDEKKyIgRGVyaXZlZCBGcm9tOiBjb25mLnZpbQorIiBDcmVkaXRzOglCcmFtIE1vb2xlbmFhcgorIgorIiBUaGlzIGZpbGUgaXMgdGhlcmUgdG8gZ2V0IGF0IGxlYXN0IGEgbWluaW1hbCBoaWdobGlnaHRpbmcuCisiIEEgbGF0ZXIgdmVyc2lvbiBtYXkgYmUgaW1wcm92ZWQuCisKKworIiBRdWl0IHdoZW4gYSAoY3VzdG9tKSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIGV4aXN0cygiYjpjdXJyZW50X3N5bnRheCIpCisgIGZpbmlzaAorZW5kaWYKKworIiBGb3IgYSBzdGFydGVyIHdlIGp1c3QgdXNlIGNvbmYudmltIGZvciBoaWdobGlnaHRpbmcKK2lmIHZlcnNpb24gPCA2MDAKKyAgc28gPHNmaWxlPjpwOmgvY29uZi52aW0KK2Vsc2UKKyAgcnVudGltZSEgc3ludGF4L2NvbmYudmltCisgIHVubGV0IGI6Y3VycmVudF9zeW50YXgKK2VuZGlmCisKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiaG9zdHNhY2Nlc3MiCisiIHZpbTogdHM9OCBzdz0yCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9waHAudmltIGIvcnVudGltZS9zeW50YXgvcGhwLnZpbQppbmRleCA0ZTZiOTVjLi5mOTEwNGFkIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bnRheC9waHAudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BocC52aW0KQEAgLTEsMTEgKzEsMTAgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOiBwaHAgUEhQIDMvNC81Ci0iIE1haW50YWluZXI6IFBldGVyIEhvZGdlIDx0b29tdWNocGhwLXZpbUB5YWhvby5jb20+Ci0iIExhc3QgQ2hhbmdlOiAgSnVuZSA5LCAyMDA2Ci0iIFVSTDogaHR0cDovL3d3dy52aW0ub3JnL3NjcmlwdHMvc2NyaXB0LnBocD9zY3JpcHRfaWQ9MTU3MQotIgotIiBGb3JtZXIgTWFpbnRhaW5lcjogIERlYmlhbiBWSU0gTWFpbnRhaW5lcnMgPHBrZy12aW0tbWFpbnRhaW5lcnNAbGlzdHMuYWxpb3RoLmRlYmlhbi5vcmc+Ci0iIEZvcm1lciBVUkw6IGh0dHA6Ly9zdm4uZGViaWFuLm9yZy93c3ZuL3BrZy12aW0vdHJ1bmsvcnVudGltZS9zeW50YXgvcGhwLnZpbT9vcD1maWxlJnJldj0wJnNjPTAKKyIgTWFpbnRhaW5lcjogSmFzb24gV29vZmVuZGVuIDxqYXNvbkBqYXNvbndvb2YuY29tPgorIiBMYXN0IENoYW5nZTogIEFwcmlsIDI4LCAyMDExCisiIFVSTDogaHR0cHM6Ly9naXRvcmlvdXMub3JnL2phc29ud29vZi92aW0tc3ludGF4L2Jsb2JzL21hc3Rlci9waHAudmltCisiIEZvcm1lciBNYWludGFpbmVyczogUGV0ZXIgSG9kZ2UgPHRvb211Y2hwaHAtdmltQHlhaG9vLmNvbT4KKyIgICAgICAgICBEZWJpYW4gVklNIE1haW50YWluZXJzIDxwa2ctdmltLW1haW50YWluZXJzQGxpc3RzLmFsaW90aC5kZWJpYW4ub3JnPgogIgogIiBOb3RlOiBJZiB5b3UgYXJlIHVzaW5nIGEgY29sb3VyIHRlcm1pbmFsIHdpdGggZGFyayBiYWNrZ3JvdW5kLCB5b3Ugd2lsbCBwcm9iYWJseSBmaW5kCiAiICAgICAgIHRoZSAnZWxmbG9yZCcgY29sb3JzY2hlbWUgaXMgbXVjaCBiZXR0ZXIgZm9yIFBIUCdzIHN5bnRheCB0aGFuIHRoZSBkZWZhdWx0CkBAIC0zMjcsNiArMzI2LDggQEAKIHN5biBtYXRjaCBwaHBTcGVjaWFsQ2hhciAgIlxcW2FiY2ZucnR5dlxcXSIgY29udGFpbmVkIGRpc3BsYXkKIHN5biBtYXRjaCBwaHBTcGVjaWFsQ2hhciAgIlxcXGRcezN9IiAgY29udGFpbmVkIGNvbnRhaW5zPXBocE9jdGFsRXJyb3IgZGlzcGxheQogc3luIG1hdGNoIHBocFNwZWNpYWxDaGFyICAiXFx4XHhcezJ9IiBjb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoIHBocERvdWJsZVNwZWNpYWxDaGFyICJcXFwiIiBjb250YWluZWQgZGlzcGxheQorc3luIG1hdGNoIHBocFNpbmdsZVNwZWNpYWxDaGFyICJcXFtcXCddIiBjb250YWluZWQgZGlzcGxheQogCiAiIEVycm9yCiBzeW4gbWF0Y2ggcGhwT2N0YWxFcnJvciAiWzg5XSIgIGNvbnRhaW5lZCBkaXNwbGF5CkBAIC0zNTUsMTMgKzM1NiwxMyBAQAogCiAiIFN0cmluZwogaWYgZXhpc3RzKCJwaHBfcGFyZW50X2Vycm9yX29wZW4iKQotICBzeW4gcmVnaW9uICBwaHBTdHJpbmdEb3VibGUgbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgIGNvbnRhaW5zPUBwaHBBZGRTdHJpbmdzLHBocElkZW50aWZpZXIscGhwU3BlY2lhbENoYXIscGhwSWRlbnRpZmllclNpbXBseSxwaHBJZGVudGlmaWVyQ29tcGxleCBjb250YWluZWQga2VlcGVuZAorICBzeW4gcmVnaW9uICBwaHBTdHJpbmdEb3VibGUgbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgIGNvbnRhaW5zPUBwaHBBZGRTdHJpbmdzLHBocElkZW50aWZpZXIscGhwU3BlY2lhbENoYXIscGhwSWRlbnRpZmllclNpbXBseSxwaHBJZGVudGlmaWVyQ29tcGxleCxwaHBEb3VibGVTcGVjaWFsQ2hhciBjb250YWluZWQga2VlcGVuZAogICBzeW4gcmVnaW9uICBwaHBCYWNrdGljayBtYXRjaGdyb3VwPU5vbmUgc3RhcnQ9K2ArIHNraXA9K1xcXFxcfFxcIisgZW5kPStgKyAgY29udGFpbnM9QHBocEFkZFN0cmluZ3MscGhwSWRlbnRpZmllcixwaHBTcGVjaWFsQ2hhcixwaHBJZGVudGlmaWVyU2ltcGx5LHBocElkZW50aWZpZXJDb21wbGV4IGNvbnRhaW5lZCBrZWVwZW5kCi0gIHN5biByZWdpb24gIHBocFN0cmluZ1NpbmdsZSBtYXRjaGdyb3VwPU5vbmUgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKyAgY29udGFpbnM9QHBocEFkZFN0cmluZ3MgY29udGFpbmVkIGtlZXBlbmQKKyAgc3luIHJlZ2lvbiAgcGhwU3RyaW5nU2luZ2xlIG1hdGNoZ3JvdXA9Tm9uZSBzdGFydD0rJysgc2tpcD0rXFxcXFx8XFwnKyBlbmQ9KycrICBjb250YWlucz1AcGhwQWRkU3RyaW5ncyxwaHBTaW5nbGVTcGVjaWFsQ2hhciBjb250YWluZWQga2VlcGVuZAogZWxzZQotICBzeW4gcmVnaW9uICBwaHBTdHJpbmdEb3VibGUgbWF0Y2hncm91cD1Ob25lIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXCIrIGVuZD0rIisgIGNvbnRhaW5zPUBwaHBBZGRTdHJpbmdzLHBocElkZW50aWZpZXIscGhwU3BlY2lhbENoYXIscGhwSWRlbnRpZmllclNpbXBseSxwaHBJZGVudGlmaWVyQ29tcGxleCBjb250YWluZWQgZXh0ZW5kIGtlZXBlbmQKKyAgc3luIHJlZ2lvbiAgcGhwU3RyaW5nRG91YmxlIG1hdGNoZ3JvdXA9Tm9uZSBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9KyIrICBjb250YWlucz1AcGhwQWRkU3RyaW5ncyxwaHBJZGVudGlmaWVyLHBocFNwZWNpYWxDaGFyLHBocElkZW50aWZpZXJTaW1wbHkscGhwSWRlbnRpZmllckNvbXBsZXgscGhwRG91YmxlU3BlY2lhbENoYXIgY29udGFpbmVkIGV4dGVuZCBrZWVwZW5kCiAgIHN5biByZWdpb24gIHBocEJhY2t0aWNrIG1hdGNoZ3JvdXA9Tm9uZSBzdGFydD0rYCsgc2tpcD0rXFxcXFx8XFwiKyBlbmQ9K2ArICBjb250YWlucz1AcGhwQWRkU3RyaW5ncyxwaHBJZGVudGlmaWVyLHBocFNwZWNpYWxDaGFyLHBocElkZW50aWZpZXJTaW1wbHkscGhwSWRlbnRpZmllckNvbXBsZXggY29udGFpbmVkIGV4dGVuZCBrZWVwZW5kCi0gIHN5biByZWdpb24gIHBocFN0cmluZ1NpbmdsZSBtYXRjaGdyb3VwPU5vbmUgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKyAgY29udGFpbnM9QHBocEFkZFN0cmluZ3MgY29udGFpbmVkIGtlZXBlbmQgZXh0ZW5kCisgIHN5biByZWdpb24gIHBocFN0cmluZ1NpbmdsZSBtYXRjaGdyb3VwPU5vbmUgc3RhcnQ9KycrIHNraXA9K1xcXFxcfFxcJysgZW5kPSsnKyAgY29udGFpbnM9QHBocEFkZFN0cmluZ3MscGhwU2luZ2xlU3BlY2lhbENoYXIgY29udGFpbmVkIGtlZXBlbmQgZXh0ZW5kCiBlbmRpZgogCiAiIEhlcmVEb2MKQEAgLTYxMyw2ICs2MTQsOCBAQAogICBIaUxpbmsgICBwaHBJbmNsdWRlIEluY2x1ZGUKICAgSGlMaW5rICAgcGhwRGVmaW5lICBEZWZpbmUKICAgSGlMaW5rICAgcGhwU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKKyAgSGlMaW5rICAgcGhwRG91YmxlU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKKyAgSGlMaW5rICAgcGhwU2luZ2xlU3BlY2lhbENoYXIgU3BlY2lhbENoYXIKICAgSGlMaW5rICAgcGhwUGFyZW50ICBEZWxpbWl0ZXIKICAgSGlMaW5rICAgcGhwSWRlbnRpZmllckNvbnN0IERlbGltaXRlcgogICBIaUxpbmsgICBwaHBQYXJlbnRFcnJvciBFcnJvcgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvcmVhZGxpbmUudmltIGIvcnVudGltZS9zeW50YXgvcmVhZGxpbmUudmltCmluZGV4IDkxMDk0YzcuLjA2MzA2ZDUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3JlYWRsaW5lLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9yZWFkbGluZS52aW0KQEAgLTEsMTEgKzEsMTEgQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOiAgICAgICAgIHJlYWRsaW5lKDMpIGNvbmZpZ3VyYXRpb24gZmlsZQogIiBNYWludGFpbmVyOiAgICAgICBOaWtvbGFpIFdlaWJ1bGwgPG5vd0BiaXR3aS5zZT4KLSIgTGF0ZXN0IFJldmlzaW9uOiAgMjAwOS0wNS0yNQorIiBMYXRlc3QgUmV2aXNpb246ICAyMDExLTA1LTAyCiAiICAgcmVhZGxpbmVfaGFzX2Jhc2ggLSBpZiBkZWZpbmVkIGFkZCBzdXBwb3J0IGZvciBiYXNoIHNwZWNpZmljCiAiICAgICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncy9mdW5jdGlvbnMKIAotaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKK2lmIGV4aXN0cygnYjpjdXJyZW50X3N5bnRheCcpCiAgIGZpbmlzaAogZW5kaWYKIApAQCAtMTQsMTYzICsxNCwzODIgQEAKIAogc2V0bG9jYWwgaXNrZXl3b3JkKz0tCiAKLXN5biBrZXl3b3JkIHJlYWRsaW5lVG9kbyAgICAgICAgY29udGFpbmVkIFRPRE8gRklYTUUgWFhYIE5PVEUKK3N5biBtYXRjaCAgIHJlYWRsaW5lS2V5ICAgICAgICAgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICdcUycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJlYWRsaW5lS2V5VGVybWluYXRvcgogCi1zeW4gcmVnaW9uICByZWFkbGluZUNvbW1lbnQgICAgIGRpc3BsYXkgb25lbGluZSBzdGFydD0nXlxzKiMnIGVuZD0nJCcKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb250YWlucz1yZWFkbGluZVRvZG8sQFNwZWxsCitzeW4gbWF0Y2ggICByZWFkbGluZUJlZ2luICAgICAgIGRpc3BsYXkgJ14nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yZWFkbGluZUNvbW1lbnQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICByZWFkbGluZUNvbmRpdGlvbmFsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgcmVhZGxpbmVJbmNsdWRlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgcmVhZGxpbmVLZXlOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgcmVhZGxpbmVLZXksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICByZWFkbGluZUtleVNlcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIHJlYWRsaW5lS2V5d29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKIAotc3luIG1hdGNoICAgcmVhZGxpbmVTdHJpbmcgICAgICAnXlxzKltBLVphLXotXVwrOidtZT1lLTEgY29udGFpbnM9cmVhZGxpbmVLZXlzCi1zeW4gcmVnaW9uICByZWFkbGluZVN0cmluZyAgICAgIGRpc3BsYXkgb25lbGluZSBzdGFydD0rIisgc2tpcD0rXFxcXFx8XFwiKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0rIisgY29udGFpbnM9cmVhZGxpbmVLZXlzVHdvCitzeW4gcmVnaW9uICByZWFkbGluZUNvbW1lbnQgICAgIGNvbnRhaW5lZCBkaXNwbGF5IG9uZWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nIycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9JyQnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udGFpbnM9cmVhZGxpbmVUb2RvLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgIEBTcGVsbAorCitzeW4ga2V5d29yZCByZWFkbGluZVRvZG8gICAgICAgIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBUT0RPCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIEZJWE1FCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIFhYWAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBOT1RFCisKK3N5biBtYXRjaCAgIHJlYWRsaW5lQ29uZGl0aW9uYWwgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICckaWZcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJlYWRsaW5lVGVzdCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgICAgICAgICAgIHJlYWRsaW5lVGVzdEFwcAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGtleXdvcmQgcmVhZGxpbmVUZXN0ICAgICAgICBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmVhZGxpbmVUZXN0TW9kZUVxCisKK3N5biBtYXRjaCAgIHJlYWRsaW5lVGVzdE1vZGVFcSAgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICc9JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmVhZGxpbmVFZGl0aW5nTW9kZQorCitzeW4ga2V5d29yZCByZWFkbGluZVRlc3QgICAgICAgIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0ZXJtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yZWFkbGluZVRlc3RUZXJtRXEKKworc3luIG1hdGNoICAgcmVhZGxpbmVUZXN0VGVybUVxICBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgJz0nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yZWFkbGluZVRlc3RUZXJtCisKK3N5biBtYXRjaCAgIHJlYWRsaW5lVGVzdFRlcm0gICAgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICdcU1wrJworCitzeW4gbWF0Y2ggICByZWFkbGluZVRlc3RBcHAgICAgIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnXFNcKycKKworc3luIG1hdGNoICAgcmVhZGxpbmVDb25kaXRpb25hbCBjb250YWluZWQgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnJFwlKGVsc2VcfGVuZGlmXClcPicKKworc3luIG1hdGNoICAgcmVhZGxpbmVJbmNsdWRlICAgICBjb250YWluZWQgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnJGluY2x1ZGVcPicKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJlYWRsaW5lUGF0aAorCitzeW4gbWF0Y2ggICByZWFkbGluZVBhdGggICAgICAgIGNvbnRhaW5lZCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICcuXCsnCiAKIHN5biBjYXNlIGlnbm9yZQotc3luIGtleXdvcmQgcmVhZGxpbmVLZXlzICAgICAgICBjb250YWluZWQgQ29udHJvbCBNZXRhIERlbCBFc2MgRXNjYXBlIExGRAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIE5ld2xpbmUgUmV0IFJldHVybiBSdWJvdXQgU3BhY2UgU3BjIFRhYgorc3luIG1hdGNoICAgcmVhZGxpbmVLZXlOYW1lICAgICBjb250YWluZWQgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmVhZGxpbmVLZXlTZXBhcmF0b3IsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICByZWFkbGluZUtleVRlcm1pbmF0b3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgJ1wlKENvbnRyb2xcfERlbFx8RXNjXHxFc2NhcGVcfExGRFx8TWV0YVx8TmV3bGluZVx8UmV0XHxSZXR1cm5cfFJ1Ym91dFx8U3BhY2VcfFNwY1x8VGFiXCknCiBzeW4gY2FzZSBtYXRjaAogCi1zeW4gbWF0Y2ggICByZWFkbGluZUtleXNUd28gICAgIGNvbnRhaW5lZCBkaXNwbGF5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgK1xcXChbQ01dLVx8W2VcXCInYWJkZm5ydHZdXHxcb1x7M31cfHhceFx7M31cKSsKK3N5biBtYXRjaCAgIHJlYWRsaW5lS2V5U2VwYXJhdG9yICBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnLScKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmVhZGxpbmVLZXlOYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICAgICAgICAgICByZWFkbGluZUtleQogCi1zeW4gbWF0Y2ggICByZWFkbGluZUtleW1hcHMgICAgIGNvbnRhaW5lZCBkaXNwbGF5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgJ2VtYWNzXCgtc3RhbmRhcmRcfC1tZXRhXHwtY3RseFwpXD0nCi1zeW4gbWF0Y2ggICByZWFkbGluZUtleW1hcHMgICAgIGNvbnRhaW5lZCBkaXNwbGF5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgJ3ZpXCgtbW92ZVx8LWNvbW1hbmRcfC1pbnNlcnRcKVw9Jworc3luIG1hdGNoICAgcmVhZGxpbmVLZXlUZXJtaW5hdG9yIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICc6JworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yZWFkbGluZUZ1bmN0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCiAKLXN5biBrZXl3b3JkIHJlYWRsaW5lQmVsbFN0eWxlcyAgY29udGFpbmVkIGF1ZGlibGUgdmlzaWJsZSBub25lCitzeW4gcmVnaW9uICByZWFkbGluZUtleVNlcSAgICAgY29udGFpbmVkIGRpc3BsYXkgb25lbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0rIisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcD0rXFxcXFx8XFwiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQ9KyIrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXJlYWRsaW5lS2V5RXNjYXBlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yZWFkbGluZUtleVRlcm1pbmF0b3IKIAotc3luIG1hdGNoICAgcmVhZGxpbmVOdW1iZXIgICAgICBjb250YWluZWQgZGlzcGxheSAnXDxcZFwrXD4nCitzeW4gbWF0Y2ggICByZWFkbGluZUtleUVzY2FwZSAgIGNvbnRhaW5lZCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICtcXFwoW0NNXS1cfFtlXFwiJ2FiZGZucnR2XVx8XG9cezN9XHx4XHhcezJ9XCkrCisKK3N5biBrZXl3b3JkIHJlYWRsaW5lS2V5d29yZCAgICAgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmVhZGxpbmVWYXJpYWJsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKworc3luIGtleXdvcmQgcmVhZGxpbmVWYXJpYWJsZSAgICBjb250YWluZWQgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHRncm91cD1yZWFkbGluZUJlbGxTdHlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwd2hpdGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmVsbC1zdHlsZQorCitzeW4ga2V5d29yZCByZWFkbGluZVZhcmlhYmxlICAgIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmVhZGxpbmVCb29sZWFuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiaW5kLXR0eS1zcGVjaWFsLWNoYXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRpb24taWdub3JlLWNhc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGlvbi1tYXAtY2FzZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb252ZXJ0LW1ldGEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlzYWJsZS1jb21wbGV0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVjaG8tY29udHJvbC1jaGFyYWN0ZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuYWJsZS1rZXlwYWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW5hYmxlLW1ldGEta2V5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGV4cGFuZC10aWxkZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBoaXN0b3J5LXByZXNlcnZlLXBvaW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhvcml6b250YWwtc2Nyb2xsLW1vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaW5wdXQtbWV0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtZXRhLWZsYWcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWFyay1kaXJlY3RvcmllcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXJrLW1vZGlmaWVkLWxpbmVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hcmstc3ltbGlua2VkLWRpcmVjdG9yaWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hdGNoLWhpZGRlbi1maWxlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtZW51LWNvbXBsZXRlLWRpc3BsYXktcHJlZml4CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG91dHB1dC1tZXRhCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBhZ2UtY29tcGxldGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcHJpbnQtY29tcGxldGlvbnMtaG9yaXpvbnRhbGx5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHJldmVydC1hbGwtYXQtbmV3bGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzaG93LWFsbC1pZi1hbWJpZ3VvdXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2hvdy1hbGwtaWYtdW5tb2RpZmllZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwLWNvbXBsZXRlZC10ZXh0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpc2libGUtc3RhdHMKKworc3luIGtleXdvcmQgcmVhZGxpbmVWYXJpYWJsZSAgICBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJlYWRsaW5lU3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21tZW50LWJlZ2luCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGlzZWFyY2gtdGVybWluYXRvcnMKKworc3luIGtleXdvcmQgcmVhZGxpbmVWYXJpYWJsZSAgICBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJlYWRsaW5lTnVtYmVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNraXB3aGl0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21wbGV0aW9uLWRpc3BsYXktd2lkdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGlvbi1wcmVmaXgtZGlzcGxheS1sZW5ndGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGlvbi1xdWVyeS1pdGVtcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBoaXN0b3J5LXNpemUKKworc3luIGtleXdvcmQgcmVhZGxpbmVWYXJpYWJsZSAgICBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXJlYWRsaW5lRWRpdGluZ01vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVkaXRpbmctbW9kZQorCitzeW4ga2V5d29yZCByZWFkbGluZVZhcmlhYmxlICAgIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBuZXh0Z3JvdXA9cmVhZGxpbmVLZXltYXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcHdoaXRlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtleW1hcAorCitzeW4ga2V5d29yZCByZWFkbGluZUJlbGxTdHlsZSAgIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhdWRpYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpc2libGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbm9uZQogCiBzeW4gY2FzZSBpZ25vcmUKLXN5biBrZXl3b3JkIHJlYWRsaW5lQm9vbGVhbiAgICAgY29udGFpbmVkIG9uIG9mZgorc3luIGtleXdvcmQgcmVhZGxpbmVCb29sZWFuICAgICBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgb2ZmCiBzeW4gY2FzZSBtYXRjaAogCi1zeW4ga2V5d29yZCByZWFkbGluZUlmT3BzICAgICAgIGNvbnRhaW5lZCBtb2RlIHRlcm0KK3N5biByZWdpb24gIHJlYWRsaW5lU3RyaW5nICAgICAgY29udGFpbmVkIGRpc3BsYXkgb25lbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXJlYWRsaW5lU3RyaW5nRGVsaW1pdGVyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHN0YXJ0PSsiKworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBza2lwPStcXFxcXHxcXCIrCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0rIisKIAotc3luIHJlZ2lvbiAgcmVhZGxpbmVDb25kaXRpb25hbCBkaXNwbGF5IG9uZWxpbmUgdHJhbnNwYXJlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXJlYWRsaW5lQ29uZGl0aW9uYWwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzdGFydD0nXlxzKiRpZicgZW5kPSIkIgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXJlYWRsaW5lSWZPcHMscmVhZGxpbmVLZXltYXBzCi1zeW4gbWF0Y2ggICByZWFkbGluZUNvbmRpdGlvbmFsIGRpc3BsYXkgJ15ccyokXChlbHNlXHxlbmRpZlwpXD4nCitzeW4gbWF0Y2ggICByZWFkbGluZU51bWJlciAgICAgIGNvbnRhaW5lZCBkaXNwbGF5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcICdbKy1dXGRcK1w+JwogCi1zeW4gbWF0Y2ggICByZWFkbGluZUluY2x1ZGUgICAgIGRpc3BsYXkgJ15ccyokaW5jbHVkZVw+Jworc3luIGtleXdvcmQgcmVhZGxpbmVFZGl0aW5nTW9kZSBjb250YWluZWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW1hY3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmkKIAotc3luIHJlZ2lvbiAgcmVhZGxpbmVTZXQgICAgICAgICBkaXNwbGF5IG9uZWxpbmUgdHJhbnNwYXJlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXJlYWRsaW5lS2V5d29yZCBzdGFydD0nXlxzKnNldFw+JwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZD0iJCJtZT1lLTEgY29udGFpbnM9cmVhZGxpbmVOdW1iZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmVhZGxpbmVCb29sZWFuLHJlYWRsaW5lS2V5bWFwcywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZWFkbGluZUJlbGxTdHlsZXMscmVhZGxpbmVTZXR0aW5ncworc3luIG1hdGNoICAgcmVhZGxpbmVLZXltYXAgICAgICBjb250YWluZWQgZGlzcGxheQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCAnZW1hY3NcJSgtXCUoc3RhbmRhcmRcfG1ldGFcfGN0bHhcKVwpXD1cfHZpXCUoLVwlKG1vdmVcfGNvbW1hbmRcfGluc2VydFwpXClcPScKIAotc3luIGtleXdvcmQgcmVhZGxpbmVTZXR0aW5ncyAgICBjb250YWluZWQgYmVsbC1zdHlsZSBjb21tZW50LWJlZ2luCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGlvbi1pZ25vcmUtY2FzZSBjb21wbGV0aW9uLXF1ZXJ5LWl0ZW1zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29udmVydC1tZXRhIGRpc2FibGUtY29tcGxldGlvbiBlZGl0aW5nLW1vZGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmFibGUta2V5cGFkIGV4cGFuZC10aWxkZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhvcml6b250YWwtc2Nyb2xsLW1vZGUgbWFyay1kaXJlY3RvcmllcwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtleW1hcCBtYXJrLW1vZGlmaWVkLWxpbmVzIG1ldGEtZmxhZwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGlucHV0LW1ldGEgb3V0cHV0LW1ldGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwcmludC1jb21wbGV0aW9ucy1ob3Jpem9udGFsbHkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzaG93LWFsbC1pZi1hbWJpZ3VvdXMgdmlzaWJsZS1zdGF0cwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHByZWZlci12aXNpYmxlLWJlbGwgYmxpbmstbWF0Y2hpbmctcGFyZW4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaC1oaWRkZW4tZmlsZXMgaGlzdG9yeS1wcmVzZXJ2ZS1wb2ludAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGlzZWFyY2gtdGVybWluYXRvcnMKLQotc3luIHJlZ2lvbiAgcmVhZGxpbmVCaW5kaW5nICAgICBkaXNwbGF5IG9uZWxpbmUgdHJhbnNwYXJlbnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtYXRjaGdyb3VwPXJlYWRsaW5lS2V5d29yZCBzdGFydD0nOicgZW5kPSckJwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbnRhaW5zPXJlYWRsaW5lS2V5cyxyZWFkbGluZUZ1bmN0aW9ucwotCi1zeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9ucyAgIGNvbnRhaW5lZCBkaXNwbGF5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmVnaW5uaW5nLW9mLWxpbmUgZW5kLW9mLWxpbmUgZm9yd2FyZC1jaGFyCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmFja3dhcmQtY2hhciBmb3J3YXJkLXdvcmQgYmFja3dhcmQtd29yZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNsZWFyLXNjcmVlbiByZWRyYXctY3VycmVudC1saW5lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWNjZXB0LWxpbmUgcHJldmlvdXMtaGlzdG9yeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHQtaGlzdG9yeSBiZWdpbm5pbmctb2YtaGlzdG9yeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZC1vZi1oaXN0b3J5IHJldmVyc2Utc2VhcmNoLWhpc3RvcnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmb3J3YXJkLXNlYXJjaC1oaXN0b3J5Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBub24taW5jcmVtZW50YWwtZm9yd2FyZC1zZWFyY2gtaGlzdG9yeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhpc3Rvcnktc2VhcmNoLWZvcndhcmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBoaXN0b3J5LXNlYXJjaC1iYWNrd2FyZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHlhbmstbnRoLWFyZyB5YW5rLWxhc3QtYXJnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGVsZXRlLWNoYXIgYmFja3dhcmQtZGVsZXRlLWNoYXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS1jaGFyIHF1b3RlZC1pbnNlcnQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0YWItaW5zZXJ0IHNlbGYtaW5zZXJ0IHRyYW5zcG9zZS1jaGFycwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHRyYW5zcG9zZS13b3JkcyB1cGNhc2Utd29yZCBkb3duY2FzZS13b3JkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY2FwaXRhbGl6ZS13b3JkIG92ZXJ3cml0ZS1tb2RlIGtpbGwtbGluZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGJhY2t3YXJkLWtpbGwtbGluZSB1bml4LWxpbmUtZGlzY2FyZAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtpbGwtd2hvbGUtbGluZSBraWxsLXdvcmQgYmFja3dhcmQta2lsbC13b3JkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdW5peC13b3JkLXJ1Ym91dCB1bml4LWZpbGVuYW1lLXJ1Ym91dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRlbGV0ZS1ob3Jpem9udGFsLXNwYWNlIGtpbGwtcmVnaW9uCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29weS1yZWdpb24tYXMta2lsbCBjb3B5LWJhY2t3YXJkLXdvcmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb3B5LWZvcndhcmQtd29yZCB5YW5rIHlhbmstcG9wCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZGlnaXQtYXJndW1lbnQgdW5pdmVyc2FsLWFyZ3VtZW50IGNvbXBsZXRlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcG9zc2libGUtY29tcGxldGlvbnMgaW5zZXJ0LWNvbXBsZXRpb25zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWVudS1jb21wbGV0ZSBkZWxldGUtY2hhci1vci1saXN0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQta2JkLW1hY3JvIGVuZC1rYmQtbWFjcm8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjYWxsLWxhc3Qta2JkLW1hY3JvIHJlLXJlYWQtaW5pdC1maWxlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWJvcnQgZG8tdXBwZXJjYXNlLXZlcnNpb24gcHJlZml4LW1ldGEKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1bmRvIHJldmVydC1saW5lIHRpbGRlLWV4cGFuZCBzZXQtbWFyawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGV4Y2hhbmdlLXBvaW50LWFuZC1tYXJrIGNoYXJhY3Rlci1zZWFyY2gKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjaGFyYWN0ZXItc2VhcmNoLWJhY2t3YXJkIGluc2VydC1jb21tZW50Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHVtcC1mdW5jdGlvbnMgZHVtcC12YXJpYWJsZXMgZHVtcC1tYWNyb3MKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbWFjcy1lZGl0aW5nLW1vZGUgdmktZWRpdGluZy1tb2RlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktY29tcGxldGUgdmktY2hhci1zZWFyY2ggdmktcmVkbwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXNlYXJjaCB2aS1hcmctZGlnaXQgdmktYXBwZW5kLWVvbAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXByZXYtd29yZCB2aS1jaGFuZ2UtdG8gdmktZGVsZXRlLXRvCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktZW5kLXdvcmQgdmktZmV0Y2gtaGlzdG9yeSB2aS1pbnNlcnQtYmVnCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktc2VhcmNoLWFnYWluIHZpLXB1dCB2aS1yZXBsYWNlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktc3Vic3QgdmkteWFuay10byB2aS1maXJzdC1wcmludAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXlhbmstYXJnIHZpLWdvdG8tbWFyayB2aS1hcHBlbmQtbW9kZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWluc2VydGlvbi1tb2RlIHByZXYtaGlzdG9yeSB2aS1zZXQtbWFyawotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXNlYXJjaC1hZ2FpbiB2aS1wdXQgdmktY2hhbmdlLWNoYXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1zdWJzdCB2aS1kZWxldGUgdmkteWFuay10bwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWNvbHVtbiB2aS1jaGFuZ2UtY2FzZSB2aS1vdmVyc3RyaWtlCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktb3ZlcnN0cmlrZS1kZWxldGUgZG8tbG93ZXJjYXNlLXZlcnNpb24KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWxldGUtY2hhci1vci1saXN0IHR0eS1zdGF0dXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhcnJvdy1rZXktcHJlZml4IHZpLWJhY2stdG8taW5kZW50IHZpLWJ3b3JkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktYldvcmQgdmktZXdvcmQgdmktZVdvcmQgdmktZndvcmQgdmktZldvcmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1uZXh0LXdvcmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1tb3ZlbWVudC1tb2RlCitzeW4ga2V5d29yZCByZWFkbGluZUZ1bmN0aW9uICAgIGNvbnRhaW5lZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiZWdpbm5pbmctb2YtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQtb2YtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmb3J3YXJkLWNoYXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmFja3dhcmQtY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmb3J3YXJkLXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYmFja3dhcmQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjbGVhci1zY3JlZW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcmVkcmF3LWN1cnJlbnQtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhY2NlcHQtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwcmV2aW91cy1oaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG5leHQtaGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiZWdpbm5pbmctb2YtaGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlbmQtb2YtaGlzdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZXZlcnNlLXNlYXJjaC1oaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZvcndhcmQtc2VhcmNoLWhpc3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbm9uLWluY3JlbWVudGFsLXJldmVyc2Utc2VhcmNoLWhpc3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbm9uLWluY3JlbWVudGFsLWZvcndhcmQtc2VhcmNoLWhpc3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaGlzdG9yeS1zZWFyY2gtZm9yd2FyZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBoaXN0b3J5LXNlYXJjaC1iYWNrd2FyZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB5YW5rLW50aC1hcmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgeWFuay1sYXN0LWFyZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWxldGUtY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiYWNrd2FyZC1kZWxldGUtY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBmb3J3YXJkLWJhY2t3YXJkLWRlbGV0ZS1jaGFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHF1b3RlZC1pbnNlcnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdGFiLWluc2VydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzZWxmLWluc2VydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB0cmFuc3Bvc2UtY2hhcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdHJhbnNwb3NlLXdvcmRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHVwY2FzZS13b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRvd25jYXNlLXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY2FwaXRhbGl6ZS13b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG92ZXJ3cml0ZS1tb2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtpbGwtbGluZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiYWNrd2FyZC1raWxsLWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdW5peC1saW5lLWRpc2NhcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwga2lsbC13aG9sZS1saW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGtpbGwtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBiYWNrd2FyZC1raWxsLXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdW5peC13b3JkLXJ1Ym91dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1bml4LWZpbGVuYW1lLXJ1Ym91dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWxldGUtaG9yaXpvbnRhbC1zcGFjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBraWxsLXJlZ2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb3B5LXJlZ2lvbi1hcy1raWxsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvcHktYmFja3dhcmQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb3B5LWZvcndhcmQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB5YW5rCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHlhbmstcG9wCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpZ2l0LWFyZ3VtZW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHVuaXZlcnNhbC1hcmd1bWVudAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21wbGV0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwb3NzaWJsZS1jb21wbGV0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpbnNlcnQtY29tcGxldGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWVudS1jb21wbGV0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBtZW51LWNvbXBsZXRlLW9yLWJhY2t3YXJkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRlbGV0ZS1jaGFyLW9yLWxpc3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc3RhcnQta2JkLW1hY3JvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVuZC1rYmQtbWFjcm8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY2FsbC1sYXN0LWtiZC1tYWNybworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCByZS1yZWFkLWluaXQtZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBhYm9ydAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkby11cHBlcmNhc2UtdmVyc2lvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwcmVmaXgtbWV0YQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB1bmRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHJldmVydC1saW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHRpbGRlLWV4cGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBzZXQtbWFyaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBleGNoYW5nZS1wb2ludC1hbmQtbWFyaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjaGFyYWN0ZXItc2VhcmNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNoYXJhY3Rlci1zZWFyY2gtYmFja3dhcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2tpcC1jc2ktc2VxdWVuY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaW5zZXJ0LWNvbW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHVtcC1mdW5jdGlvbnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHVtcC12YXJpYWJsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZHVtcC1tYWNyb3MKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZW1hY3MtZWRpdGluZy1tb2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWVkaXRpbmctbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1lb2YtbWF5YmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktbW92ZW1lbnQtbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS11bmRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLW1hdGNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXRpbGRlLWV4cGFuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1jb21wbGV0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1jaGFyLXNlYXJjaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1yZWRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXNlYXJjaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1hcmctZGlnaXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktYXBwZW5kLWVvbAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1wcmV2LXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktY2hhbmdlLXRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWRlbGV0ZS10bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1lbmQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1jaGFyLXNlYXJjaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1mZXRjaC1oaXN0b3J5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWluc2VydC1iZWcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktc2VhcmNoLWFnYWluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXB1dAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1yZXBsYWNlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXN1YnN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWNoYXItc2VhcmNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLW5leHQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS15YW5rLXRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWZpcnN0LXByaW50CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXlhbmstYXJnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWdvdG8tbWFyaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1hcHBlbmQtbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1wcmV2LXdvcmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktY2hhbmdlLXRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWRlbGV0ZS10bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1lbmQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1jaGFyLXNlYXJjaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1pbnNlcnQtbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1zZXQtbWFyaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1zZWFyY2gtYWdhaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktcHV0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWNoYW5nZS1jaGFyCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXN1YnN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWNoYXItc2VhcmNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLXVuZG8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgdmktbmV4dC13b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWRlbGV0ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS15YW5rLXRvCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHZpLWNvbHVtbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCB2aS1jaGFuZ2UtY2FzZQogCiBpZiBleGlzdHMoInJlYWRsaW5lX2hhc19iYXNoIikKLSAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbnMgY29udGFpbmVkCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgc2hlbGwtZXhwYW5kLWxpbmUgaGlzdG9yeS1leHBhbmQtbGluZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIG1hZ2ljLXNwYWNlIGFsaWFzLWV4cGFuZC1saW5lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBpbnNlcnQtbGFzdC1hcmd1bWVudCBvcGVyYXRlLWFuZC1nZXQtbmV4dAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGZvcndhcmQtYmFja3dhcmQtZGVsZXRlLWNoYXIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWxldGUtY2hhci1vci1saXN0IGNvbXBsZXRlLWZpbGVuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcG9zc2libGUtZmlsZW5hbWUtY29tcGxldGlvbnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21wbGV0ZS11c2VybmFtZQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGUtdmFyaWFibGUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBwb3NzaWJsZS12YXJpYWJsZS1jb21wbGV0aW9ucwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLWhvc3RuYW1lCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcG9zc2libGUtaG9zdG5hbWUtY29tcGxldGlvbnMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBjb21wbGV0ZS1jb21tYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGR5bmFtaWMtY29tcGxldGUtaGlzdG9yeQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLWludG8tYnJhY2VzCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZ2xvYi1leHBhbmQtd29yZCBnbG9iLWxpc3QtZXhwYW5zaW9ucwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGRpc3BsYXktc2hlbGwtdmVyc2lvbiBnbG9iLWNvbXBsZXRlLXdvcmQKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBlZGl0LWFuZC1leGVjdXRlLWNvbW1hbmQKKyAgc3luIGtleXdvcmQgcmVhZGxpbmVGdW5jdGlvbiAgY29udGFpbmVkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHNoZWxsLWV4cGFuZC1saW5lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGhpc3RvcnktZXhwYW5kLWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbWFnaWMtc3BhY2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgYWxpYXMtZXhwYW5kLWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaGlzdG9yeS1hbmQtYWxpYXMtZXhwYW5kLWxpbmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgaW5zZXJ0LWxhc3QtYXJndW1lbnQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgb3BlcmF0ZS1hbmQtZ2V0LW5leHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZm9yd2FyZC1iYWNrd2FyZC1kZWxldGUtY2hhcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkZWxldGUtY2hhci1vci1saXN0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLWZpbGVuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvc3NpYmxlLWZpbGVuYW1lLWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLXVzZXJuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvc3NpYmxlLXVzZXJuYW1lLWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLXZhcmlhYmxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvc3NpYmxlLXZhcmlhYmxlLWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLWhvc3RuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIHBvc3NpYmxlLWhvc3RuYW1lLWNvbXBsZXRpb25zCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGNvbXBsZXRlLWNvbW1hbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgcG9zc2libGUtY29tbWFuZC1jb21wbGV0aW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkeW5hbWljLWNvbXBsZXRlLWhpc3RvcnkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgY29tcGxldGUtaW50by1icmFjZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZ2xvYi1leHBhbmQtd29yZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBnbG9iLWxpc3QtZXhwYW5zaW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCBkaXNwbGF5LXNoZWxsLXZlcnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgZ2xvYi1jb21wbGV0ZS13b3JkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIGVkaXQtYW5kLWV4ZWN1dGUtY29tbWFuZAogZW5kaWYKIAotaGkgZGVmIGxpbmsgcmVhZGxpbmVDb21tZW50ICAgICBDb21tZW50Ci1oaSBkZWYgbGluayByZWFkbGluZVRvZG8gICAgICAgIFRvZG8KLWhpIGRlZiBsaW5rIHJlYWRsaW5lU3RyaW5nICAgICAgU3RyaW5nCi1oaSBkZWYgbGluayByZWFkbGluZUtleXMgICAgICAgIFNwZWNpYWxDaGFyCi1oaSBkZWYgbGluayByZWFkbGluZUtleXNUd28gICAgIFNwZWNpYWxDaGFyCi1oaSBkZWYgbGluayByZWFkbGluZUtleW1hcHMgICAgIENvbnN0YW50Ci1oaSBkZWYgbGluayByZWFkbGluZUJlbGxTdHlsZXMgIENvbnN0YW50Ci1oaSBkZWYgbGluayByZWFkbGluZU51bWJlciAgICAgIE51bWJlcgotaGkgZGVmIGxpbmsgcmVhZGxpbmVCb29sZWFuICAgICBCb29sZWFuCi1oaSBkZWYgbGluayByZWFkbGluZUlmT3BzICAgICAgIFR5cGUKLWhpIGRlZiBsaW5rIHJlYWRsaW5lQ29uZGl0aW9uYWwgQ29uZGl0aW9uYWwKLWhpIGRlZiBsaW5rIHJlYWRsaW5lSW5jbHVkZSAgICAgSW5jbHVkZQotaGkgZGVmIGxpbmsgcmVhZGxpbmVLZXl3b3JkICAgICBLZXl3b3JkCi1oaSBkZWYgbGluayByZWFkbGluZVNldHRpbmdzICAgIFR5cGUKLWhpIGRlZiBsaW5rIHJlYWRsaW5lRnVuY3Rpb25zICAgVHlwZQoraGkgZGVmIGxpbmsgcmVhZGxpbmVLZXkgICAgICAgICAgIHJlYWRsaW5lS2V5U2VxCitoaSBkZWYgbGluayByZWFkbGluZUNvbW1lbnQgICAgICAgQ29tbWVudAoraGkgZGVmIGxpbmsgcmVhZGxpbmVUb2RvICAgICAgICAgIFRvZG8KK2hpIGRlZiBsaW5rIHJlYWRsaW5lQ29uZGl0aW9uYWwgICBDb25kaXRpb25hbAoraGkgZGVmIGxpbmsgcmVhZGxpbmVUZXN0ICAgICAgICAgIFR5cGUKK2hpIGRlZiBsaW5rIHJlYWRsaW5lRGVsaW1pdGVyICAgICBEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIHJlYWRsaW5lVGVzdE1vZGVFcSAgICByZWFkbGluZUVxCitoaSBkZWYgbGluayByZWFkbGluZVRlc3RUZXJtRXEgICAgcmVhZGxpbmVFcQoraGkgZGVmIGxpbmsgcmVhZGxpbmVUZXN0VGVybSAgICAgIHJlYWRsaW5lU3RyaW5nCitoaSBkZWYgbGluayByZWFkbGluZVRlc3RBcHBFcSAgICAgcmVhZGxpbmVFcQoraGkgZGVmIGxpbmsgcmVhZGxpbmVUZXN0QXBwICAgICAgIHJlYWRsaW5lU3RyaW5nCitoaSBkZWYgbGluayByZWFkbGluZUluY2x1ZGUgICAgICAgSW5jbHVkZQoraGkgZGVmIGxpbmsgcmVhZGxpbmVQYXRoICAgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgcmVhZGxpbmVLZXlOYW1lICAgICAgIFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayByZWFkbGluZUtleVNlcGFyYXRvciAgcmVhZGxpbmVLZXlTZXEKK2hpIGRlZiBsaW5rIHJlYWRsaW5lS2V5VGVybWluYXRvciByZWFkbGluZURlbGltaXRlcgoraGkgZGVmIGxpbmsgcmVhZGxpbmVLZXlTZXEgICAgICAgIFN0cmluZworaGkgZGVmIGxpbmsgcmVhZGxpbmVLZXlFc2NhcGUgICAgIFNwZWNpYWxDaGFyCitoaSBkZWYgbGluayByZWFkbGluZUtleXdvcmQgICAgICAgS2V5d29yZAoraGkgZGVmIGxpbmsgcmVhZGxpbmVWYXJpYWJsZSAgICAgIElkZW50aWZpZXIKK2hpIGRlZiBsaW5rIHJlYWRsaW5lQmVsbFN0eWxlICAgICBDb25zdGFudAoraGkgZGVmIGxpbmsgcmVhZGxpbmVCb29sZWFuICAgICAgIEJvb2xlYW4KK2hpIGRlZiBsaW5rIHJlYWRsaW5lU3RyaW5nICAgICAgICBTdHJpbmcKK2hpIGRlZiBsaW5rIHJlYWRsaW5lU3RyaW5nRGVsaW1pdGVyIHJlYWRsaW5lU3RyaW5nCitoaSBkZWYgbGluayByZWFkbGluZU51bWJlciAgICAgICAgTnVtYmVyCitoaSBkZWYgbGluayByZWFkbGluZUVkaXRpbmdNb2RlICAgQ29uc3RhbnQKK2hpIGRlZiBsaW5rIHJlYWRsaW5lS2V5bWFwICAgICAgICBDb25zdGFudAoraGkgZGVmIGxpbmsgcmVhZGxpbmVGdW5jdGlvbiAgICAgIEZ1bmN0aW9uCiAKLWxldCBiOmN1cnJlbnRfc3ludGF4ID0gInJlYWRsaW5lIgorbGV0IGI6Y3VycmVudF9zeW50YXggPSAncmVhZGxpbmUnCiAKIGxldCAmY3BvID0gczpjcG9fc2F2ZQogdW5sZXQgczpjcG9fc2F2ZQpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvc3lzY3RsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3N5c2N0bC52aW0KaW5kZXggZDE2ZDQ1OC4uNzQ4MDU0ZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc3lzY3RsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9zeXNjdGwudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6ICAgICAgICAgc3lzY3RsLmNvbmYoNSkgY29uZmlndXJhdGlvbiBmaWxlCiAiIE1haW50YWluZXI6ICAgICAgIE5pa29sYWkgV2VpYnVsbCA8bm93QGJpdHdpLnNlPgotIiBMYXRlc3QgUmV2aXNpb246ICAyMDA2LTA0LTE5CisiIExhdGVzdCBSZXZpc2lvbjogIDIwMTEtMDUtMDIKIAogaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKICAgZmluaXNoCkBAIC0xMyw3ICsxMyw3IEBACiBzeW4gbWF0Y2ggICBzeXNjdGxCZWdpbiAgIGRpc3BsYXkgJ14nCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXN5c2N0bFRva2VuLHN5c2N0bENvbW1lbnQgc2tpcHdoaXRlCiAKLXN5biBtYXRjaCAgIHN5c2N0bFRva2VuICAgY29udGFpbmVkIGRpc3BsYXkgJ1xTXCsnCitzeW4gbWF0Y2ggICBzeXNjdGxUb2tlbiAgIGNvbnRhaW5lZCBkaXNwbGF5ICdbXj1dXCsnCiAgICAgICAgICAgICAgICAgICAgICAgICAgIFwgbmV4dGdyb3VwPXN5c2N0bFRva2VuRXEgc2tpcHdoaXRlCiAKIHN5biBtYXRjaCAgIHN5c2N0bFRva2VuRXEgY29udGFpbmVkIGRpc3BsYXkgJz0nIG5leHRncm91cD1zeXNjdGxWYWx1ZSBza2lwd2hpdGUK