ZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2F1dG9jbWQudHh0IGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKaW5kZXggMmUzYTQ3Yi4uMTQ2MDVlOCAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKKysrIGIvcnVudGltZS9kb2MvYXV0b2NtZC50eHQKQEAgLTEsNCArMSw0IEBACi0qYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgSnVsIDAxCisqYXV0b2NtZC50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yNCwxMCArMjQsMTAgQEAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMS4gSW50cm9kdWN0aW9uCQkJCQkJKmF1dG9jbWQtaW50cm8qCiAKLVlvdSBjYW4gc3BlY2lmeSBjb21tYW5kcyB0byBiZSBleGVjdXRlZCBhdXRvbWF0aWNhbGx5IGZvciB3aGVuIHJlYWRpbmcgb3IKLXdyaXRpbmcgYSBmaWxlLCB3aGVuIGVudGVyaW5nIG9yIGxlYXZpbmcgYSBidWZmZXIgb3Igd2luZG93LCBhbmQgd2hlbiBleGl0aW5nCi1WaW0uICBGb3IgZXhhbXBsZSwgeW91IGNhbiBjcmVhdGUgYW4gYXV0b2NvbW1hbmQgdG8gc2V0IHRoZSAnY2luZGVudCcgb3B0aW9uCi1mb3IgZmlsZXMgbWF0Y2hpbmcgKi5jLiAgWW91IGNhbiBhbHNvIHVzZSBhdXRvY29tbWFuZHMgdG8gaW1wbGVtZW50IGFkdmFuY2VkCitZb3UgY2FuIHNwZWNpZnkgY29tbWFuZHMgdG8gYmUgZXhlY3V0ZWQgYXV0b21hdGljYWxseSB3aGVuIHJlYWRpbmcgb3Igd3JpdGluZworYSBmaWxlLCB3aGVuIGVudGVyaW5nIG9yIGxlYXZpbmcgYSBidWZmZXIgb3Igd2luZG93LCBhbmQgd2hlbiBleGl0aW5nIFZpbS4KK0ZvciBleGFtcGxlLCB5b3UgY2FuIGNyZWF0ZSBhbiBhdXRvY29tbWFuZCB0byBzZXQgdGhlICdjaW5kZW50JyBvcHRpb24gZm9yCitmaWxlcyBtYXRjaGluZyAqLmMuICBZb3UgY2FuIGFsc28gdXNlIGF1dG9jb21tYW5kcyB0byBpbXBsZW1lbnQgYWR2YW5jZWQKIGZlYXR1cmVzLCBzdWNoIGFzIGVkaXRpbmcgY29tcHJlc3NlZCBmaWxlcyAoc2VlIHxnemlwLWV4YW1wbGV8KS4gIFRoZSB1c3VhbAogcGxhY2UgdG8gcHV0IGF1dG9jb21tYW5kcyBpcyBpbiB5b3VyIC52aW1yYyBvciAuZXhyYyBmaWxlLgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9lZGl0aW5nLnR4dCBiL3J1bnRpbWUvZG9jL2VkaXRpbmcudHh0CmluZGV4IDRmNTZkZmUuLjQyZmE4YmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2VkaXRpbmcudHh0CisrKyBiL3J1bnRpbWUvZG9jL2VkaXRpbmcudHh0CkBAIC0xLDQgKzEsNCBAQAotKmVkaXRpbmcudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA0IEp1bCAwNAorKmVkaXRpbmcudHh0KiAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA0IEF1ZyAyOQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTCAgICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtMjksMTYgKzI5LDI2IEBACiAJCQkJCQkJKmN1cnJlbnQtZmlsZSoKIEFzIGxvbmcgYXMgeW91IGRvbid0IHdyaXRlIHRoZSBidWZmZXIsIHRoZSBvcmlnaW5hbCBmaWxlIHJlbWFpbnMgdW5jaGFuZ2VkLgogSWYgeW91IHN0YXJ0IGVkaXRpbmcgYSBmaWxlIChyZWFkIGEgZmlsZSBpbnRvIHRoZSBidWZmZXIpLCB0aGUgZmlsZSBuYW1lIGlzCi1yZW1lbWJlcmVkIGFzIHRoZSAiY3VycmVudCBmaWxlIG5hbWUiLgorcmVtZW1iZXJlZCBhcyB0aGUgImN1cnJlbnQgZmlsZSBuYW1lIi4gIFRoaXMgaXMgYWxzbyBrbm93biBhcyB0aGUgbmFtZSBvZiB0aGUKK2N1cnJlbnQgYnVmZmVyLgogCiAJCQkJCQkJKmFsdGVybmF0ZS1maWxlKgogSWYgdGhlcmUgYWxyZWFkeSB3YXMgYSBjdXJyZW50IGZpbGUgbmFtZSwgdGhlbiB0aGF0IG9uZSBiZWNvbWVzIHRoZSBhbHRlcm5hdGUKLWZpbGUgbmFtZS4gIEFsbCBmaWxlIG5hbWVzIGFyZSByZW1lbWJlcmVkIGluIHRoZSBmaWxlIGxpc3QuICBXaGVuIHlvdSBlbnRlciBhCi1maWxlIG5hbWUsIGZvciBlZGl0aW5nIChlLmcuLCB3aXRoICI6ZSBmaWxlbmFtZSIpIG9yIHdyaXRpbmcgKGUuZy4sIHdpdGggKDp3Ci1maWxlIG5hbWUiKSwgdGhlIGZpbGUgbmFtZSBpcyBhZGRlZCB0byB0aGUgbGlzdC4gIFlvdSBjYW4gdXNlIHRoaXMgbGlzdCB0bwotcmVtZW1iZXIgd2hpY2ggZmlsZXMgeW91IGVkaXRlZCBhbmQgdG8gcXVpY2tseSBzd2l0Y2ggZnJvbSBvbmUgZmlsZSB0bwotYW5vdGhlciB3aXRoIHRoZSBDVFJMLV4gY29tbWFuZCAoZS5nLiwgdG8gY29weSB0ZXh0KS4gIEZpcnN0IHR5cGUgdGhlIG51bWJlcgotb2YgdGhlIGZpbGUgYW5kIHRoZW4gaGl0IENUUkwtXi4gIHtWaTogb25seSBvbmUgYWx0ZXJuYXRlIGZpbGUgbmFtZX0KK2ZpbGUgbmFtZS4gIEl0IGNhbiBsYXRlciBiZSB1c2VkIHdpdGggIiMiIG9uIHRoZSBjb21tYW5kIGxpbmUgfDpfI3wuICBIb3dldmVyLAordGhlIGFsdGVybmF0ZSBmaWxlIG5hbWUgaXMgbm90IGNoYW5nZWQgd2hlbiB8OmtlZXBhbHR8IGlzIHVzZWQuCisKKwkJCQkJCQkqOmtlZXBhbHQqICo6a2VlcGEqCis6a2VlcGFsdCB7Y21kfQkJRXhlY3V0ZSB7Y21kfSB3aGlsZSBrZWVwaW5nIHRoZSBjdXJyZW50IGFsdGVybmF0ZSBmaWxlCisJCQluYW1lLiAgTm90ZSB0aGF0IGNvbW1hbmRzIGludm9rZWQgaW5kaXJlY3RseSAoZS5nLiwKKwkJCXdpdGggYSBmdW5jdGlvbikgbWF5IHN0aWxsIHNldCB0aGUgYWx0ZXJuYXRlIGZpbGUKKwkJCW5hbWUuICB7bm90IGluIFZpfQorCitBbGwgZmlsZSBuYW1lcyBhcmUgcmVtZW1iZXJlZCBpbiB0aGUgZmlsZSBsaXN0LiAgV2hlbiB5b3UgZW50ZXIgYSBmaWxlIG5hbWUsCitmb3IgZWRpdGluZyAoZS5nLiwgd2l0aCAiOmUgZmlsZW5hbWUiKSBvciB3cml0aW5nIChlLmcuLCB3aXRoICg6dyBmaWxlIG5hbWUiKSwKK3RoZSBmaWxlIG5hbWUgaXMgYWRkZWQgdG8gdGhlIGxpc3QuICBZb3UgY2FuIHVzZSB0aGlzIGxpc3QgdG8gcmVtZW1iZXIgd2hpY2gKK2ZpbGVzIHlvdSBlZGl0ZWQgYW5kIHRvIHF1aWNrbHkgc3dpdGNoIGZyb20gb25lIGZpbGUgdG8gYW5vdGhlciB3aXRoIHRoZQorQ1RSTC1eIGNvbW1hbmQgKGUuZy4sIHRvIGNvcHkgdGV4dCkuICBGaXJzdCB0eXBlIHRoZSBudW1iZXIgb2YgdGhlIGZpbGUgYW5kCit0aGVuIGhpdCBDVFJMLV4uICB7Vmk6IG9ubHkgb25lIGFsdGVybmF0ZSBmaWxlIG5hbWV9CiAKIENUUkwtRwkJb3IJCQkJKkNUUkwtRyogKjpmKiAqOmZpKiAqOmZpbGUqCiA6ZltpbGVdCQkJUHJpbnRzIHRoZSBjdXJyZW50IGZpbGUgbmFtZSAoYXMgdHlwZWQpLCB0aGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2V2YWwudHh0IGIvcnVudGltZS9kb2MvZXZhbC50eHQKaW5kZXggYzI3N2RkZS4uMGI3NTdmMyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZXZhbC50eHQKKysrIGIvcnVudGltZS9kb2MvZXZhbC50eHQKQEAgLTEsNCArMSw0IEBACi0qZXZhbC50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgSnVsIDI1CisqZXZhbC50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMjMxLDggKzIyMzEsOSBAQAogPAogCQkJCQkJCSpyZW1vdGVfc2VuZCgpKiAqRTI0MSoKIHJlbW90ZV9zZW5kKHtzZXJ2ZXJ9LCB7c3RyaW5nfSBbLCB7aWR2YXJ9XSkKLQkJU2VuZCB0aGUge3N0cmluZ30gdG8ge3NlcnZlcn0uICBUaGUgc3RyaW5nIGlzIHNlbnQgYXMKLQkJaW5wdXQga2V5cyBhbmQgdGhlIGZ1bmN0aW9uIHJldHVybnMgaW1tZWRpYXRlbHkuCisJCVNlbmQgdGhlIHtzdHJpbmd9IHRvIHtzZXJ2ZXJ9LiAgVGhlIHN0cmluZyBpcyBzZW50IGFzIGlucHV0CisJCWtleXMgYW5kIHRoZSBmdW5jdGlvbiByZXR1cm5zIGltbWVkaWF0ZWx5LiAgQXQgdGhlIFZpbSBzZXJ2ZXIKKwkJdGhlIGtleXMgYXJlIG5vdCBtYXBwZWQgfDptYXB8LgogCQlJZiB7aWR2YXJ9IGlzIHByZXNlbnQsIGl0IGlzIHRha2VuIGFzIHRoZSBuYW1lIG9mIGEKIAkJdmFyaWFibGUgYW5kIGEge3NlcnZlcmlkfSBmb3IgbGF0ZXIgdXNlIHdpdGgKIAkJcmVtb3RlX3JlYWQoKSBpcyBzdG9yZWQgdGhlcmUuCkBAIC0yNTU4LDYgKzI1NTksNyBAQAogCQl7aGF5c3RhY2t9LiBUaGUgc2VhcmNoIGlzIGRvbmUgY2FzZS1zZW5zaXRpdmUuIEZvciBhZHZhbmNlZAogCQlzZWFyY2hlcyB1c2UgfG1hdGNoKCl8LgogCQlJZiB0aGUge25lZWRsZX0gZG9lcyBub3Qgb2NjdXIgaW4ge2hheXN0YWNrfSBpdCByZXR1cm5zIC0xLgorCQlJZiB0aGUge25lZWRsZX0gaXMgZW1wdHkgdGhlIGxlbmd0aCBvZiB7aGF5c3RhY2t9IGlzIHJldHVybmVkLgogCQlTZWUgYWxzbyB8c3RyaWR4KCl8LiBFeGFtcGxlczogPgogCQkgIDplY2hvIHN0cnJpZHgoImFuIGFuZ3J5IGFybWFkaWxsbyIsICJhbiIpCSAgICAgMwogPApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvZmlsZXR5cGUudHh0IGIvcnVudGltZS9kb2MvZmlsZXR5cGUudHh0CmluZGV4IDIxYzQ4ZDMuLmE0Y2M1OTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2ZpbGV0eXBlLnR4dAorKysgYi9ydW50aW1lL2RvYy9maWxldHlwZS50eHQKQEAgLTEsNCArMSw0IEBACi0qZmlsZXR5cGUudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgSnVuIDI0CisqZmlsZXR5cGUudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDMxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC04Miw2ICs4Miw5IEBACiBUaGUgZmlsZXR5cGUgZGV0ZWN0aW9uIGlzIG5vdCBzd2l0Y2hlZCBvZmYgdGhlbi4gIEJ1dCBpZiB5b3UgZG8gc3dpdGNoIG9mZgogZmlsZXR5cGUgZGV0ZWN0aW9uLCB0aGUgaW5kZW50IGZpbGVzIHdpbGwgbm90IGJlIGxvYWRlZCBlaXRoZXIuCiBUaGlzIGFjdHVhbGx5IGxvYWRzIHRoZSBmaWxlICJpbmRvZmYudmltIiBpbiAncnVudGltZXBhdGgnLgorVGhpcyBkaXNhYmxlcyBhdXRvLWluZGVudGluZyBmb3IgZmlsZXMgeW91IHdpbGwgb3Blbi4gIEl0IHdpbGwga2VlcCB3b3JraW5nIGluCithbHJlYWR5IG9wZW5lZCBmaWxlcy4gIFJlc2V0ICdhdXRvaW5kZW50JywgJ2NpbmRlbnQnLCAnc21hcnRpbmRlbnQnIGFuZC9vcgorJ2luZGVudGV4cHInIHRvIGRpc2FibGUgaW5kZW50aW5nIGluIGFuIG9wZW5lZCBmaWxlLgogCiAJCQkJCQkqOmZpbGV0eXBlLW9mZioKIFRvIGRpc2FibGUgZmlsZSB0eXBlIGRldGVjdGlvbiwgdXNlIHRoaXMgY29tbWFuZDogPgpAQCAtMTQ3LDcgKzE1MCw3IEBACiBUaGlzIG1lYW5zIHRoYXQgdGhlIGNvbnRlbnRzIG9mIGNvbXByZXNzZWQgZmlsZXMgYXJlIG5vdCBpbnNwZWN0ZWQuCiAKIAkJCQkJCQkqbmV3LWZpbGV0eXBlKgotSWYgYSBmaWxlIHR5cGUgdGhhdCB5b3Ugd2FudCB0byB1c2UgaXMgbm90IGRldGVjdGVkIHlldCwgdGhlcmUgYXJlIHRocmVlIHdheXMKK0lmIGEgZmlsZSB0eXBlIHRoYXQgeW91IHdhbnQgdG8gdXNlIGlzIG5vdCBkZXRlY3RlZCB5ZXQsIHRoZXJlIGFyZSBmb3VyIHdheXMKIHRvIGFkZCBpdC4gIEluIGFueSB3YXksIGl0J3MgYmV0dGVyIG5vdCB0byBtb2RpZnkgdGhlICRWSU1SVU5USU1FL2ZpbGV0eXBlLnZpbQogZmlsZS4gIEl0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gd2hlbiBpbnN0YWxsaW5nIGEgbmV3IHZlcnNpb24gb2YgVmltLgogCkBAIC0xNTUsNyArMTU4LDcgQEAKICAgIFRoaXMgd29ya3MgYnkgd3JpdGluZyBvbmUgZmlsZSBmb3IgZWFjaCBmaWxldHlwZS4gIFRoZSBkaXNhZHZhbnRhZ2UgaXMgdGhhdAogICAgbWVhbnMgdGhlcmUgY2FuIGJlIG1hbnkgZmlsZXMuICBUaGUgYWR2YW50YWdlIGlzIHRoYXQgeW91IGNhbiBzaW1wbHkgZHJvcAogICAgdGhpcyBmaWxlIGluIHRoZSByaWdodCBkaXJlY3RvcnkgdG8gbWFrZSBpdCB3b3JrLgotCisJCQkJCQkJKmZ0ZGV0ZWN0KgogICAgMS4gQ3JlYXRlIHlvdXIgdXNlciBydW50aW1lIGRpcmVjdG9yeS4gIFlvdSB3b3VsZCBub3JtYWxseSB1c2UgdGhlIGZpcnN0CiAgICAgICBpdGVtIG9mIHRoZSAncnVudGltZXBhdGgnIG9wdGlvbi4gIFRoZW4gY3JlYXRlIHRoZSBkaXJlY3RvcnkgImZ0ZGV0ZWN0IgogICAgICAgaW5zaWRlIGl0LiAgRXhhbXBsZSBmb3IgVW5peDogPgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvaWZfcGVybC50eHQgYi9ydW50aW1lL2RvYy9pZl9wZXJsLnR4dAppbmRleCA4ODJjZDZhLi4wZDYyN2RhIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pZl9wZXJsLnR4dAorKysgYi9ydW50aW1lL2RvYy9pZl9wZXJsLnR4dApAQCAtMSw0ICsxLDQgQEAKLSppZl9wZXJsLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBNYXkgMDEKKyppZl9wZXJsLnR4dCogICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBBdWcgMzAKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgU3ZlbiBWZXJkb29sYWVnZQpAQCAtMTU2LDYgKzE1Niw4IEBACiAJCQludW1iZXJzIHtibn0sIHJldHVybnMgYSBsaXN0IG9mIHRoZSBidWZmZXJzIG1hdGNoaW5nCiAJCQl7Ym59LCB1c2luZyB0aGUgc2FtZSBydWxlcyBhcyBWaW0ncyBpbnRlcm5hbAogCQkJfGJ1Zm5hbWUoKXwgZnVuY3Rpb24uCisJCQlXQVJOSU5HOiB0aGUgbGlzdCBiZWNvbWVzIGludmFsaWQgd2hlbiB8OmJ3aXBlfCBpcworCQkJdXNlZC4gIFVzaW5nIGl0IGFueXdheSBtYXkgY3Jhc2ggVmltLgogCiAJCQkJCQkJKnBlcmwtV2luZG93cyoKIFZJTTo6V2luZG93cyhbe3dufS4uLl0pCVdpdGggbm8gYXJndW1lbnRzLCByZXR1cm5zIGEgbGlzdCBvZiBhbGwgdGhlIHdpbmRvd3MKQEAgLTE2Myw2ICsxNjUsOCBAQAogCQkJaW4gYSBzY2FsYXIgY29udGV4dC4gIEZvciBhIGxpc3Qgb2Ygd2luZG93IG51bWJlcnMKIAkJCXt3bn0sIHJldHVybnMgYSBsaXN0IG9mIHRoZSB3aW5kb3dzIHdpdGggdGhvc2UKIAkJCW51bWJlcnMuCisJCQlXQVJOSU5HOiB0aGUgbGlzdCBiZWNvbWVzIGludmFsaWQgd2hlbiBhIHdpbmRvdyBpcworCQkJY2xvc2VkLiAgVXNpbmcgaXQgYW55d2F5IG1heSBjcmFzaCBWaW0uCiAKIAkJCQkJCQkqcGVybC1Eb0NvbW1hbmQqCiBWSU06OkRvQ29tbWFuZCh7Y21kfSkJRXhlY3V0ZXMgRXggY29tbWFuZCB7Y21kfS4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL2luZGVudC50eHQgYi9ydW50aW1lL2RvYy9pbmRlbnQudHh0CmluZGV4IGZkOTRkMzIuLjVmYzdiMDYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL2luZGVudC50eHQKKysrIGIvcnVudGltZS9kb2MvaW5kZW50LnR4dApAQCAtMSw0ICsxLDQgQEAKLSppbmRlbnQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBKdWwgMDcKKyppbmRlbnQudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBTZXAgMDIKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTUxOSw0ICs1MTksMTUgQEAKIAogTWFrZSBzdXJlIHRvIGRvICI6c2V0IGNtZGhlaWdodD0yIiBmaXJzdCB0byBhbGxvdyB0aGUgZGlzcGxheSBvZiB0aGUgbWVzc2FnZS4KIAorCitWSU0JCQkJCQkJKnZpbS1pbmRlbnQqCisKK0ZvciBpbmRlbnRpbmcgVmltIHNjcmlwdHMgdGhlcmUgaXMgb25lIHZhcmlhYmxlIHRoYXQgc3BlY2lmaWVzIHRoZSBhbW91bnQgb2YKK2luZGVudCBmb3IgYSBjb250aW51YXRpb24gbGluZSwgYSBsaW5lIHRoYXQgc3RhcnRzIHdpdGggYSBiYWNrc2xhc2g6ID4KKworCTpsZXQgZzp2aW1faW5kZW50X2NvbnQgPSAmc3cgKiAzCisKK1RocmVlIHRpbWVzIHNoaWZ0d2lkdGggaXMgdGhlIGRlZmF1bHQgdmFsdWUuCisKKwogIHZpbTp0dz03ODp0cz04OmZ0PWhlbHA6bm9ybDoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL21lc3NhZ2UudHh0IGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKaW5kZXggNjIwNDRlNS4uNDI0NWI2MyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKKysrIGIvcnVudGltZS9kb2MvbWVzc2FnZS50eHQKQEAgLTEsNCArMSw0IEBACi0qbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgSnVsIDIzCisqbWVzc2FnZS50eHQqICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDI2CiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00MTIsNiArNDEyLDEyIEBACiBkb24ndCB0aHJvdyBhd2F5IGNoYW5nZXMgeW91IHJlYWxseSB3YW50IHRvIGtlZXAuICBZb3UgbWlnaHQgaGF2ZSBmb3Jnb3R0ZW4KIGFib3V0IGEgYnVmZmVyLCBlc3BlY2lhbGx5IHdoZW4gJ2hpZGRlbicgaXMgc2V0LgogCis+CisgIFtObyB3cml0ZSBzaW5jZSBsYXN0IGNoYW5nZV0KKworVGhpcyBhcHBlYXJzIHdoZW4gZXhlY3V0aW5nIGEgc2hlbGwgY29tbWFuZCB3aGlsZSBhdCBsZWFzdCBvbmUgYnVmZmVyIHdhcworY2hhbmdlZC4gIFRvIGF2b2lkIHRoZSBtZXNzYWdlIHJlc2V0IHRoZSAnd2Fybicgb3B0aW9uLgorCiAJCQkJCQkJKkUzOCogID4KICAgTnVsbCBhcmd1bWVudAogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9vcHRpb25zLnR4dCBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CmluZGV4IGY5NGI1MmEuLjM3NmJiNmIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CisrKyBiL3J1bnRpbWUvZG9jL29wdGlvbnMudHh0CkBAIC0xLDQgKzEsNCBAQAotKm9wdGlvbnMudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBKdWwgMjQKKypvcHRpb25zLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTE4OCw3ICsxODgsNyBAQAogZG9lc24ndCBhcHBlYXIuCiAKIAkJCSAgICo6c2V0X2VudiogKmV4cGFuZC1lbnYqICpleHBhbmQtZW52aXJvbm1lbnQtdmFyKgotRW52aXJvbm1lbnQgdmFyaWFibGVzIGluIG1vc3Qgc3RyaW5nIG9wdGlvbnMgd2lsbCBiZSBleHBhbmRlZC4gIElmIHRoZQorRW52aXJvbm1lbnQgdmFyaWFibGVzIGluIHNwZWNpZmljIHN0cmluZyBvcHRpb25zIHdpbGwgYmUgZXhwYW5kZWQuICBJZiB0aGUKIGVudmlyb25tZW50IHZhcmlhYmxlIGV4aXN0cyB0aGUgJyQnIGFuZCB0aGUgZm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhYmxlCiBuYW1lIGlzIHJlcGxhY2VkIHdpdGggaXRzIHZhbHVlLiAgSWYgaXQgZG9lcyBub3QgZXhpc3QgdGhlICckJyBhbmQgdGhlIG5hbWUKIGFyZSBub3QgbW9kaWZpZWQuICBBbnkgbm9uLWlkIGNoYXJhY3RlciAobm90IGEgbGV0dGVyLCBkaWdpdCBvciAnXycpIG1heQpAQCAtMjkwMyw2ICsyOTAzLDcgQEAKIAkJICAgICAgQkFMVElDLCBDSElORVNFQklHNSwgREVGQVVMVCwgRUFTVEVVUk9QRSwgR0IyMzEyLCBHUkVFSywKIAkJICAgICAgSEFOR0VVTCwgSEVCUkVXLCBKT0hBQiwgTUFDLCBPRU0sIFJVU1NJQU4sIFNISUZUSklTLAogCQkgICAgICBTWU1CT0wsIFRIQUksIFRVUktJU0gsIFZJRVROQU1FU0UgQU5TSSBhbmQgQkFMVElDLgorCQkgICAgICBOb3JtYWxseSB5b3Ugd291bGQgdXNlICJjREVGQVVMVCIuCiAKIAkgIFVzZSBhICc6JyB0byBzZXBhcmF0ZSB0aGUgb3B0aW9ucy4KIAktIEEgJ18nIGNhbiBiZSB1c2VkIGluIHRoZSBwbGFjZSBvZiBhIHNwYWNlLCBzbyB5b3UgZG9uJ3QgbmVlZCB0byB1c2UKQEAgLTU3MzAsNyArNTczMSw3IEBACiAJVGFncyBpbiB1bnNvcnRlZCB0YWdzIGZpbGVzLCBhbmQgbWF0Y2hlcyB3aXRoIGRpZmZlcmVudCBjYXNlIHdpbGwgb25seQogCWJlIGZvdW5kIGluIHRoZSByZXRyeS4KIAotCUlmIGEgdGFnIGZpbGUgaW5kaWNhdGVzIHRoYXQgaXMgaXMgY2FzZS1mb2xkIHNvcnRlZCwgdGhlIHNlY29uZCwKKwlJZiBhIHRhZyBmaWxlIGluZGljYXRlcyB0aGF0IGl0IGlzIGNhc2UtZm9sZCBzb3J0ZWQsIHRoZSBzZWNvbmQsCiAJbGluZWFyIHNlYXJjaCBjYW4gYmUgYXZvaWRlZCBmb3IgdGhlICdpZ25vcmVjYXNlJyBjYXNlLiAgVXNlIGEgdmFsdWUKIAlvZiAnMicgaW4gdGhlICIhX1RBR19GSUxFX1NPUlRFRCIgbGluZSBmb3IgdGhpcy4gIEEgdGFnIGZpbGUgY2FuIGJlCiAJY2FzZS1mb2xkIHNvcnRlZCB3aXRoIHRoZSAtZiBzd2l0Y2ggdG8gInNvcnQiIGluIG1vc3QgdW5pY2VzLCBhcyBpbgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3NfbXNkb3MudHh0IGIvcnVudGltZS9kb2Mvb3NfbXNkb3MudHh0CmluZGV4IDAxMjkwZTkuLjNjNzQ5ZjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX21zZG9zLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc19tc2Rvcy50eHQKQEAgLTEsNCArMSw0IEBACi0qb3NfbXNkb3MudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDEgU2VwIDAzCisqb3NfbXNkb3MudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDMxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMDcsMTggKzIwNywyNCBAQAogOC4gU3ltYm9saWNhbGx5IGxpbmtlZCBmaWxlcwkJCSptc2Rvcy1saW5rZWQtZmlsZXMqCiAKIFdoZW4gdXNpbmcgVmltIHRvIGVkaXQgYSBzeW1ib2xpY2FsbHkgbGlua2VkIGZpbGUgb24gYSB1bml4IE5GUyBmaWxlIHNlcnZlciwKLXlvdSBtYXkgcnVuIGludG8gcHJvYmxlbXMuCi1XaGVuIHdyaXRpbmcgdGhlIGZpbGUsIFZpbSBkb2VzIG5vdCAid3JpdGUgdGhyb3VnaCIgdGhlIHN5bWxpbmsuICBJbnN0ZWFkLCBpdAotZGVsZXRlcyB0aGUgc3ltYm9saWMgbGluayBhbmQgY3JlYXRlcyBhIG5ldyBmaWxlIGluIGl0cyBwbGFjZS4KLSAgIE9uIFVuaXgsIFZpbSBpcyBwcmVwYXJlZCBmb3IgbGlua3MgKHN5bWJvbGljIG9yIGhhcmQpLiAgQSBiYWNrdXAgY29weSBvZgotdGhlIG9yaWdpbmFsIGZpbGUgaXMgbWFkZSBhbmQgdGhlbiB0aGUgb3JpZ2luYWwgZmlsZSBpcyBvdmVyd3JpdHRlbi4gIFRoaXMKLWFzc3VyZXMgdGhhdCBhbGwgcHJvcGVydGllcyBvZiB0aGUgZmlsZSByZW1haW4gdGhlIHNhbWUuICBPbiBub24tVW5peCBzeXN0ZW1zLAotdGhlIG9yaWdpbmFsIGZpbGUgaXMgcmVuYW1lZCBhbmQgYSBuZXcgZmlsZSBpcyB3cml0dGVuLiAgT25seSB0aGUgcHJvdGVjdGlvbgotYml0cyBhcmUgc2V0IGxpa2UgdGhlIG9yaWdpbmFsIGZpbGUuICBIb3dldmVyLCB0aGlzIGRvZXNuJ3Qgd29yayBwcm9wZXJseSB3aGVuCit5b3UgbWF5IHJ1biBpbnRvIHByb2JsZW1zLiAgV2hlbiB3cml0aW5nIHRoZSBmaWxlLCBWaW0gZG9lcyBub3QgIndyaXRlCit0aHJvdWdoIiB0aGUgc3ltbGluay4gIEluc3RlYWQsIGl0IGRlbGV0ZXMgdGhlIHN5bWJvbGljIGxpbmsgYW5kIGNyZWF0ZXMgYSBuZXcKK2ZpbGUgaW4gaXRzIHBsYWNlLgorCitPbiBVbml4LCBWaW0gaXMgcHJlcGFyZWQgZm9yIGxpbmtzIChzeW1ib2xpYyBvciBoYXJkKS4gIEEgYmFja3VwIGNvcHkgb2YgdGhlCitvcmlnaW5hbCBmaWxlIGlzIG1hZGUgYW5kIHRoZW4gdGhlIG9yaWdpbmFsIGZpbGUgaXMgb3ZlcndyaXR0ZW4uICBUaGlzIGFzc3VyZXMKK3RoYXQgYWxsIHByb3BlcnRpZXMgb2YgdGhlIGZpbGUgcmVtYWluIHRoZSBzYW1lLiAgT24gbm9uLVVuaXggc3lzdGVtcywgdGhlCitvcmlnaW5hbCBmaWxlIGlzIHJlbmFtZWQgYW5kIGEgbmV3IGZpbGUgaXMgd3JpdHRlbi4gIE9ubHkgdGhlIHByb3RlY3Rpb24gYml0cworYXJlIHNldCBsaWtlIHRoZSBvcmlnaW5hbCBmaWxlLiAgSG93ZXZlciwgdGhpcyBkb2Vzbid0IHdvcmsgcHJvcGVybHkgd2hlbgogd29ya2luZyBvbiBhbiBORlMtbW91bnRlZCBmaWxlIHN5c3RlbSB3aGVyZSBsaW5rcyBhbmQgb3RoZXIgdGhpbmdzIGV4aXN0LiAgVGhlCiBvbmx5IHdheSB0byBmaXggdGhpcyBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIGlzIG5vdCBtYWtpbmcgYSBiYWNrdXAgZmlsZSwgYnkKICI6c2V0IG5vYmFja3VwIG5vd3JpdGViYWNrdXAiCXwnd3JpdGViYWNrdXAnfAogCitBIHNpbWlsYXIgcHJvYmxlbSBvY2N1cnMgd2hlbiBtb3VudGluZyBhIFVuaXggZmlsZXN5c3RlbSB0aHJvdWdoIFNhbWJhIG9yIGEKK3NpbWlsYXIgc3lzdGVtLiAgV2hlbiBWaW0gY3JlYXRlcyBhIG5ldyBmaWxlIGl0IHdpbGwgZ2V0IHRoZSBkZWZhdWx0IHVzZXIgSUQKK2ZvciB0aGUgbW91bnRlZCBmaWxlIHN5c3RlbS4gIFRoaXMgbWF5IGJlIGRpZmZlcmVudCBmcm9tIHRoZSBvcmlnaW5hbCB1c2VyIElELgorVG8gYXZvaWQgdGhpcyBzZXQgdGhlICdiYWNrdXBjb3B5JyBvcHRpb24gdG8gInllcyIuCisKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogOS4gQ29weS9wYXN0ZSBpbiBhIGRvcyBib3gJCQkqbXNkb3MtY29weS1wYXN0ZSoKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0IGIvcnVudGltZS9kb2Mvb3Nfd2luMzIudHh0CmluZGV4IDI5ZDcwOTYuLjZmOWE1NDEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL29zX3dpbjMyLnR4dAorKysgYi9ydW50aW1lL2RvYy9vc193aW4zMi50eHQKQEAgLTEsNCArMSw0IEBACi0qb3Nfd2luMzIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgTWF5IDAxCisqb3Nfd2luMzIudHh0KiAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDMxCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEdlb3JnZSBSZWlsbHkKQEAgLTE4NCw4ICsxODQsOSBAQAogICAgcnVucyBvbiB0b3Agb2YgYW4gODB4ODYgZW11bGF0b3IuCiAKIFEuIEhvdyBkbyBJIGNoYW5nZSB0aGUgZm9udD8KLUEuIEluIHRoZSBHVUkgdmVyc2lvbiwgeW91IGNhbiB1c2UgdGhlICdndWlmb250JyBvcHRpb24uCi0gICBJbiB0aGUgY29uc29sZSB2ZXJzaW9uLCB5b3UgbmVlZCB0byBzZXQgdGhlIGZvbnQgb2YgdGhlIGNvbnNvbGUgaXRzZWxmLgorQS4gSW4gdGhlIEdVSSB2ZXJzaW9uLCB5b3UgY2FuIHVzZSB0aGUgJ2d1aWZvbnQnIG9wdGlvbi4gIEV4YW1wbGU6ID4KKwk6c2V0IGd1aWZvbnQ9THVjaWRhX0NvbnNvbGU6aDE1OmNERUZBVUxUCis8ICBJbiB0aGUgY29uc29sZSB2ZXJzaW9uLCB5b3UgbmVlZCB0byBzZXQgdGhlIGZvbnQgb2YgdGhlIGNvbnNvbGUgaXRzZWxmLgogICAgWW91IGNhbm5vdCBkbyB0aGlzIGZyb20gd2l0aGluIFZpbS4KIAogUS4gV2hlbiBJIGNoYW5nZSB0aGUgc2l6ZSBvZiB0aGUgY29uc29sZSB3aW5kb3cgd2l0aCAnOnNldCBsaW5lcz14eCcgb3IKQEAgLTI0OSw2ICsyNTAsMTYgQEAKICAgIHRoaW5ncyBleGlzdC4gIFRoZSBvbmx5IHdheSB0byBmaXggdGhpcyBpbiB0aGUgY3VycmVudCB2ZXJzaW9uIGlzIG5vdAogICAgbWFraW5nIGEgYmFja3VwIGZpbGUsIGJ5ICI6c2V0IG5vYmFja3VwIG5vd3JpdGViYWNrdXAiICAgICB8J3dyaXRlYmFja3VwJ3wKIAorUS4gSSdtIHVzaW5nIFZpbSB0byBlZGl0IGEgZmlsZSBvbiBhIFVuaXggZmlsZSBzZXJ2ZXIgdGhyb3VnaCBTYW1iYS4gIFdoZW4gSQorICAgd3JpdGUgdGhlIGZpbGUsIHRoZSBvd25lciBvZiB0aGUgZmlsZSBpcyBjaGFuZ2VkLiAgV2h5PworQS4gV2hlbiB3cml0aW5nIGEgZmlsZSBWaW0gcmVuYW1lcyB0aGUgb3JpZ2luYWwgZmlsZSwgdGhpcyBpcyBhIGJhY2t1cCAoaW4KKyAgIGNhc2Ugd3JpdGluZyB0aGUgZmlsZSBmYWlscyBoYWxmd2F5KS4gIFRoZW4gdGhlIGZpbGUgaXMgd3JpdHRlbiBhcyBhIG5ldworICAgZmlsZS4gIFNhbWJhIHRoZW4gZ2l2ZXMgaXQgdGhlIGRlZmF1bHQgb3duZXIgZm9yIHRoZSBmaWxlIHN5c3RlbSwgd2hpY2ggbWF5CisgICBkaWZmZXIgZnJvbSB0aGUgb3JpZ2luYWwgb3duZXIuCisgICBUbyBhdm9pZCB0aGlzIHNldCB0aGUgJ2JhY2t1cGNvcHknIG9wdGlvbiB0byAieWVzIi4gIFZpbSB3aWxsIHRoZW4gbWFrZSBhCisgICBjb3B5IG9mIHRoZSBmaWxlIGZvciB0aGUgYmFja3VwLCBhbmQgb3ZlcndyaXRlIHRoZSBvcmlnaW5hbCBmaWxlLiAgVGhlCisgICBvd25lciBpc24ndCBjaGFuZ2VkIHRoZW4uCisKIFEuIEhvdyBkbyBJIGdldCB0byBzZWUgdGhlIG91dHB1dCBvZiAiOm1ha2UiIHdoaWxlIGl0J3MgcnVubmluZz8KIEEuIEJhc2ljYWxseSB3aGF0IHlvdSBuZWVkIGlzIHRvIHB1dCBhIHRlZSBwcm9ncmFtIHRoYXQgd2lsbCBjb3B5IGl0cyBpbnB1dAogICAgKHRoZSBvdXRwdXQgZnJvbSBtYWtlKSB0byBib3RoIHN0ZG91dCBhbmQgdG8gdGhlIGVycm9yZmlsZS4gIFlvdSBjYW4gZmluZCBhCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9waV9uZXRydy50eHQgYi9ydW50aW1lL2RvYy9waV9uZXRydy50eHQKaW5kZXggMDA1MDcyZi4uMDY4ZDQyYiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvcGlfbmV0cncudHh0CisrKyBiL3J1bnRpbWUvZG9jL3BpX25ldHJ3LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpwaV9uZXRydy50eHQgIEZvciBWaW0gdmVyc2lvbiA2LjIuICBMYXN0IGNoYW5nZTogSnVsIDI2LCAyMDA0CisqcGlfbmV0cncudHh0ICBGb3IgVmltIHZlcnNpb24gNi4yLiAgTGFzdCBjaGFuZ2U6IEp1bCAzMCwgMjAwNAogCiAKIAkJVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCkBAIC0xNiw3ICsxNiw3IEBACiA0LiAgVHJhbnNwYXJlbnQgRmlsZSBUcmFuc2Zlci4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy10cmFuc3BhcmVudHwKIDUuICBFeCBDb21tYW5kcy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWV4fAogNi4gIFZhcmlhYmxlcyBhbmQgT3B0aW9ucy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctdmFyfAotNy4gIFJlbW90ZSBEaXJlY3RvcnkgQnJvd3Nlci4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctYnJvd3NlfAorNy4gIERpcmVjdG9yeSBCcm93c2VyLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctYnJvd3NlfAogOC4gIERlYnVnZ2luZy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctZGVidWd8CiA5LiAgSGlzdG9yeS4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1oaXN0b3J5fAogMTAuIENyZWRpdHMuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctY3JlZGl0c3wKQEAgLTYyLDMxICs2MiwzMSBAQAogCSAgICBzY3A6ICAgIGc6bmV0cndfc2NwX2NtZCAgPSAic2NwIC1xIgogCSAgIHNmdHA6ICAgZzpuZXRyd19zZnRwX2NtZCAgPSAic2Z0cCIKIAotICAgIFJFQURJTkcKKyAgICBSRUFESU5HCQkJCQkqbmV0cnctcmVhZCogKm5ldHJ3LW5yZWFkKgogCTpOcmVhZCA/CQkJCQlnaXZlIGhlbHAKLQk6TnJlYWQgIm1hY2hpbmU6ZmlsZSIJCQkJdXNlcyByY3AKLQk6TnJlYWQgIm1hY2hpbmUgZmlsZSIJCQkJdXNlcyBmdHAgICB3aXRoIDwubmV0cmM+Ci0JOk5yZWFkICJtYWNoaW5lIGlkIHBhc3N3b3JkIGZpbGUiCQl1c2VzIGZ0cAotCTpOcmVhZCAiZGF2Oi8vbWFjaGluZVs6cG9ydF0vZmlsZSIJCXVzZXMgY2FkYXZlcgotCTpOcmVhZCAiZmV0Y2g6Ly9bdXNlckBdbWFjaGluZS9maWxlIgkJdXNlcyBmZXRjaAotCTpOcmVhZCAiZnRwOi8vW3VzZXJAXW1hY2hpbmVbWzojXXBvcnRdL2ZpbGUiCXVzZXMgZnRwICAgYXV0b2RldGVjdHMgPC5uZXRyYz4KLQk6TnJlYWQgImh0dHA6Ly9bdXNlckBdbWFjaGluZS9maWxlIgkJdXNlcyBodHRwICB1c2VzIHdnZXQKLQk6TnJlYWQgInJjcDovL1t1c2VyQF1tYWNoaW5lL2ZpbGUiCQl1c2VzIHJjcAotCTpOcmVhZCAicnN5bmM6Ly9bdXNlckBdbWFjaGluZVs6cG9ydF0vZmlsZSIJdXNlcyByc3luYwotCTpOcmVhZCAic2NwOi8vW3VzZXJAXW1hY2hpbmVbWzojXXBvcnRdL2ZpbGUiCXVzZXMgc2NwCi0JOk5yZWFkICJzZnRwOi8vW3VzZXJAXW1hY2hpbmUvZmlsZSIJCXVzZXMgc2Z0cAorCTpOcmVhZCAibWFjaGluZTpwYXRoIgkJCQl1c2VzIHJjcAorCTpOcmVhZCAibWFjaGluZSBwYXRoIgkJCQl1c2VzIGZ0cCAgIHdpdGggPC5uZXRyYz4KKwk6TnJlYWQgIm1hY2hpbmUgaWQgcGFzc3dvcmQgcGF0aCIJCXVzZXMgZnRwCisJOk5yZWFkICJkYXY6Ly9tYWNoaW5lWzpwb3J0XS9wYXRoIgkJdXNlcyBjYWRhdmVyCisJOk5yZWFkICJmZXRjaDovL1t1c2VyQF1tYWNoaW5lL3BhdGgiCQl1c2VzIGZldGNoCisJOk5yZWFkICJmdHA6Ly9bdXNlckBdbWFjaGluZVtbOiNdcG9ydF0vcGF0aCIJdXNlcyBmdHAgICBhdXRvZGV0ZWN0cyA8Lm5ldHJjPgorCTpOcmVhZCAiaHR0cDovL1t1c2VyQF1tYWNoaW5lL3BhdGgiCQl1c2VzIGh0dHAgIHVzZXMgd2dldAorCTpOcmVhZCAicmNwOi8vW3VzZXJAXW1hY2hpbmUvcGF0aCIJCXVzZXMgcmNwCisJOk5yZWFkICJyc3luYzovL1t1c2VyQF1tYWNoaW5lWzpwb3J0XS9wYXRoIgl1c2VzIHJzeW5jCisJOk5yZWFkICJzY3A6Ly9bdXNlckBdbWFjaGluZVtbOiNdcG9ydF0vcGF0aCIJdXNlcyBzY3AKKwk6TnJlYWQgInNmdHA6Ly9bdXNlckBdbWFjaGluZS9wYXRoIgkJdXNlcyBzZnRwCiAKLSAgICBXUklUSU5HCisgICAgV1JJVElORwkJCQkJKm5ldHJ3LXdyaXRlKiAqbmV0cnctbndyaXRlKgogCTpOd3JpdGUgPyAgICAJCQkJCWdpdmUgaGVscAotCTpOd3JpdGUgIm1hY2hpbmU6ZmlsZSIJCQkJdXNlcyByY3AKLQk6TndyaXRlICJtYWNoaW5lIGZpbGUiCQkJCXVzZXMgZnRwICAgd2l0aCA8Lm5ldHJjPgotCTpOd3JpdGUgIm1hY2hpbmUgaWQgcGFzc3dvcmQgZmlsZSIJCXVzZXMgZnRwCi0JOk53cml0ZSAiZGF2Oi8vbWFjaGluZVs6cG9ydF0vZmlsZSIJCXVzZXMgY2FkYXZlcgotCTpOd3JpdGUgImZ0cDovL1t1c2VyQF1tYWNoaW5lW1s6I11wb3J0XS9maWxlIgl1c2VzIGZ0cCAgIGF1dG9kZXRlY3RzIDwubmV0cmM+Ci0JOk53cml0ZSAicmNwOi8vW3VzZXJAXW1hY2hpbmUvZmlsZSIJCXVzZXMgcmNwCi0JOk53cml0ZSAicnN5bmM6Ly9bdXNlckBdbWFjaGluZVs6cG9ydF0vZmlsZSIJdXNlcyByc3luYwotCTpOd3JpdGUgInNjcDovL1t1c2VyQF1tYWNoaW5lW1s6I11wb3J0XS9maWxlIgl1c2VzIHNjcAotCTpOd3JpdGUgInNmdHA6Ly9bdXNlckBdbWFjaGluZS9maWxlIgkJdXNlcyBzZnRwCisJOk53cml0ZSAibWFjaGluZTpwYXRoIgkJCQl1c2VzIHJjcAorCTpOd3JpdGUgIm1hY2hpbmUgcGF0aCIJCQkJdXNlcyBmdHAgICB3aXRoIDwubmV0cmM+CisJOk53cml0ZSAibWFjaGluZSBpZCBwYXNzd29yZCBwYXRoIgkJdXNlcyBmdHAKKwk6TndyaXRlICJkYXY6Ly9tYWNoaW5lWzpwb3J0XS9wYXRoIgkJdXNlcyBjYWRhdmVyCisJOk53cml0ZSAiZnRwOi8vW3VzZXJAXW1hY2hpbmVbWzojXXBvcnRdL3BhdGgiCXVzZXMgZnRwICAgYXV0b2RldGVjdHMgPC5uZXRyYz4KKwk6TndyaXRlICJyY3A6Ly9bdXNlckBdbWFjaGluZS9wYXRoIgkJdXNlcyByY3AKKwk6TndyaXRlICJyc3luYzovL1t1c2VyQF1tYWNoaW5lWzpwb3J0XS9wYXRoIgl1c2VzIHJzeW5jCisJOk53cml0ZSAic2NwOi8vW3VzZXJAXW1hY2hpbmVbWzojXXBvcnRdL3BhdGgiCXVzZXMgc2NwCisJOk53cml0ZSAic2Z0cDovL1t1c2VyQF1tYWNoaW5lL3BhdGgiCQl1c2VzIHNmdHAKIAlodHRwOiBub3Qgc3VwcG9ydGVkIQogCiAgICAgRElSRUNUT1JZIExJU1RJTkcKQEAgLTEwMyw3ICsxMDMsNyBAQAogCTpjYWxsIE5ldFVzZXJQYXNzKCJ1aWQiKQkJLS0gcHJvbXB0cyBmb3IgcGFzc3dvcmQKIAk6Y2FsbCBOZXRVc2VyUGFzcygidWlkIiwicGFzc3dvcmQiKQktLSBzZXRzIGdsb2JhbCB1aWQgYW5kIHBhc3N3b3JkCiAKLSAgICBWQVJJQUJMRVMKKyAgICBWQVJJQUJMRVMJCQkJCQkqbmV0cnctdmFyaWFibGVzKgogCWI6bmV0cndfbGFzdGZpbGUgbGFzdCBmaWxlIE5ldHdvcmstcmVhZC93cml0dGVuIHJldGFpbmVkIG9uCiAJCQkgIGEgcGVyLWJ1ZmZlciBiYXNpcwkJKHN1cHBvcnRzIHBsYWluIDpOdyApCiAJczpuZXRyd19saW5lCSAgZHVyaW5nIE53L05ldFdyaXRlLCBob2xkcyBjdXJyZW50IGxpbmUgICBudW1iZXIKQEAgLTEyNiw2ICsxMjYsMjEgQEAKIAlnOm5ldHJ3X3VzZV9udF9yY3A9MCBkb24ndCB1c2UgdGhlIHJjcCBvZiBXaW5OVCwgV2luMjAwMCBhbmQgV2luWFAgKGRlZmF1bHQpCiAJCQkgID0xIHVzZSB0aGUgcmNwIG9mIFdpbk5ULC4uLiBpbiBiaW5hcnkgbW9kZQogCisgICAgUEFUSFMJCQkJCQkJKm5ldHJ3LXBhdGgqCisKKwlQYXRocyB0byBmaWxlcyBhcmUgZ2VuZXJhbGx5IHVzZXItZGlyZWN0b3J5IHJlbGF0aXZlIGZvciBtb3N0IHByb3RvY29scy4KKwlJdCBpcyBwb3NzaWJsZSB0aGF0IHNvbWUgcHJvdG9jb2wgd2lsbCBtYWtlIHBhdGhzIHJlbGF0aXZlIHRvIHNvbWUKKwlhc3NvY2lhdGVkIGRpcmVjdG9yeSwgaG93ZXZlci4KKworCQlleGFtcGxlOiAgdmltIHNjcDovL3VzZXJAaG9zdC9zb21lZmlsZQorCQlleGFtcGxlOiAgdmltIHNjcDovL3VzZXJAaG9zdC9zdWJkaXIxL3N1YmRpcjIvc29tZWZpbGUKKwkKKwl3aGVyZSAic29tZWZpbGUiIGlzIHRoZSAidXNlciIncyBob21lIGRpcmVjdG9yeS4gIElmIHlvdSB3aXNoIHRvIGdldCBhCisJZmlsZSB1c2luZyByb290LXJlbGF0aXZlIHBhdGhzLCB1c2UgdGhlIGZ1bGwgcGF0aDoKKworCQlleGFtcGxlOiAgdmltIHNjcDovL3VzZXJAaG9zdC8vc29tZWZpbGUKKwkJZXhhbXBsZTogIHZpbSBzY3A6Ly91c2VyQGhvc3QvL3N1YmRpcjEvc3ViZGlyMi9zb21lZmlsZQorCiAKID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogMi4gTmV0d29yay1PcmllbnRlZCBGaWxlIFRyYW5zZmVyCQkJCSpuZXRydy14ZmVyKgpAQCAtNDk5LDIxICs1MTQsMjYgQEAKID4KIAogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci03LiBSZW1vdGUgRGlyZWN0b3J5IEJyb3dzZXIgKm5ldHJ3LWJyb3dzZSogKm5ldHJ3LWRpciogKm5ldHJ3LWxpc3QqICpuZXRydy1oZWxwKgorNy4gRGlyZWN0b3J5IEJyb3dzZXIJKm5ldHJ3LWJyb3dzZSogKm5ldHJ3LWRpciogKm5ldHJ3LWxpc3QqICpuZXRydy1oZWxwKgogICAgICA/Li4uLi4uLi4uLkhlbHAuLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctaGVscHwKICAgICAgPGNyPi4uLi4uLi5Ccm93c2luZy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LWNyfAotICAgICA8Yy1sPi4uLi4uLlJlZnJlc2hpbmcgdGhlIExpc3RpbmcuLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctYy1sfAogICAgICA8ZGVsPi4uLi4uLkRlbGV0aW5nIEZpbGVzIG9yIERpcmVjdG9yaWVzLi4uLi4uLi4uLi58bmV0cnctZGVsZXRlfAogICAgICAtLi4uLi4uLi4uLkdvaW5nIFVwLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctLXwKICAgICAgYS4uLi4uLi4uLi5IaWRpbmcgRmlsZXMgb3IgRGlyZWN0b3JpZXMuLi4uLi4uLi4uLi4ufG5ldHJ3LWF8CisgICAgIGIuLi4uLi4uLi4uQm9va21hcmtpbmcgYSBEaXJlY3RvcnkuLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1ifAorICAgICBCLi4uLi4uLi4uLkNoYW5naW5nIHRvIGEgQm9va21hcmtlZCBEaXJlY3RvcnkuLi4uLi58bmV0cnctQnwKKyAgICAgYy4uLi4uLi4uLi5NYWtlIEJyb3dzaW5nIERpcmVjdG9yeSBUaGUgQ3VycmVudCBEaXIufG5ldHJ3LWN8CisgICAgIGQuLi4uLi4uLi4uTWFrZSBBIE5ldyBEaXJlY3RvcnkuLi4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1kfAogICAgICBELi4uLi4uLi4uLkRlbGV0aW5nIEZpbGVzIG9yIERpcmVjdG9yaWVzLi4uLi4uLi4uLi58bmV0cnctRHwKLSAgICAgXGguLi4uLi4uLi5FZGl0IEZpbGUvRGlyZWN0b3J5IEhpZGluZyBMaXN0Li4uLi4uLi4ufG5ldHJ3LWh8CisgICAgIDxjLWg+Li4uLi4uRWRpdCBGaWxlL0RpcmVjdG9yeSBIaWRpbmcgTGlzdC4uLi4uLi4uLnxuZXRydy1ofAogICAgICBpLi4uLi4uLi4uLkxvbmcgTGlzdGluZy4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctaXwKLSAgICAgXG0uLi4uLi4uLi5NYWtlIEEgTmV3IERpcmVjdG9yeS4uLi4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LW18CisgICAgIDxjLWw+Li4uLi4uUmVmcmVzaGluZyB0aGUgTGlzdGluZy4uLi4uLi4uLi4uLi4uLi4uLnxuZXRydy1jdHJsLWx8CiAgICAgIG8uLi4uLi4uLi4uQnJvd3Npbmcgd2l0aCBhIEhvcml6b250YWwgU3BsaXQuLi4uLi4uLnxuZXRydy1vfAorICAgICBxLi4uLi4uLi4uLkxpc3RpbmcgQm9va21hcmtzLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctcXwKICAgICAgci4uLi4uLi4uLi5SZXZlcnNpbmcgU29ydGluZyBPcmRlci4uLi4uLi4uLi4uLi4uLi4ufG5ldHJ3LXJ8CiAgICAgIFIuLi4uLi4uLi4uUmVuYW1pbmcgRmlsZXMgb3IgRGlyZWN0b3JpZXMuLi4uLi4uLi4uLnxuZXRydy1SfAogICAgICBzLi4uLi4uLi4uLlNlbGVjdGluZyBTb3J0aW5nIFN0eWxlLi4uLi4uLi4uLi4uLi4uLi58bmV0cnctc3wKKyAgICAgUy4uLi4uLi4uLi5FZGl0aW5nIHRoZSBTb3J0aW5nIFNlcXVlbmNlLi4uLi4uLi4uLi4ufG5ldHJ3LVN8CiAgICAgIHYuLi4uLi4uLi4uQnJvd3Npbmcgd2l0aCBhIFZlcnRpY2FsIFNwbGl0Li4uLi4uLi4uLnxuZXRydy12fAogICAgICB4Li4uLi4uLi4uLkN1c3RvbWl6aW5nIEJyb3dzaW5nLi4uLi4uLi4uLi4uLi4uLi4uLi58bmV0cncteHwKIApAQCAtNTI1LDE0ICs1NDUsMTUgQEAKIAkgICA/CUNhdXNlcyBOZXRydyB0byBpc3N1ZSBoZWxwCiAJIDxjcj4JTmV0cncgd2lsbCBlbnRlciB0aGUgZGlyZWN0b3J5IG9yIHJlYWQgdGhlIGZpbGUKIAkgPGRlbD4JTmV0cncgd2lsbCBhdHRlbXB0IHRvIHJlbW92ZSB0aGUgZmlsZS9kaXJlY3RvcnkKLQkgPGMtbD4JQ2F1c2VzIE5ldHJ3IHRvIHJlZnJlc2ggdGhlIGRpcmVjdG9yeSBsaXN0aW5nCisJICAgZAlNYWtlIGEgZGlyZWN0b3J5CiAJICAgRAlOZXRydyB3aWxsIGF0dGVtcHQgdG8gcmVtb3ZlIHRoZSBmaWxlKHMpL2RpcmVjdG9yeShpZXMpCiAJICAgUglOZXRydyB3aWxsIGF0dGVtcHQgdG8gcmVuYW1lIHRoZSBmaWxlKHMpL2RpcmVjdG9yeShpZXMpCiAJICAgLQlNYWtlcyBOZXRydyBnbyB1cCBvbmUgZGlyZWN0b3J5CiAJICAgYQlTaG93IGFsbCBvZiBhIGRpcmVjdG9yeSAodGVtcG9yYXJpbHkgaWdub3JlIGc6bmV0cndfbGlzdF9oaWRlKQotCSAgXGgJRWRpdCBmaWxlIGhpZGluZyBsaXN0CisJICAgYwlNYWtlIGN1cnJlbnQgYnJvd3NpbmcgZGlyZWN0b3J5IHRoZSBjdXJyZW50IGRpcmVjdG9yeQorCSA8Yy1oPglFZGl0IGZpbGUgaGlkaW5nIGxpc3QKIAkgICBpCVRvZ2dsZXMgYmV0d2VlbiBsb25nIGFuZCBzaG9ydCBsaXN0aW5nCi0JICBcbQlNYWtlIGEgZGlyZWN0b3J5CisJIDxjLWw+CUNhdXNlcyBOZXRydyB0byByZWZyZXNoIHRoZSBkaXJlY3RvcnkgbGlzdGluZwogCSAgIG8JRW50ZXIgdGhlIGZpbGUvZGlyZWN0b3J5IHVuZGVyIHRoZSBjdXJzb3IgaW4gYSBuZXcgYnJvd3NlcgogCSAgIAl3aW5kb3cuICBBIGhvcml6b250YWwgc3BsaXQgaXMgdXNlZC4KIAkgICByCVJldmVyc2Ugc29ydGluZyBvcmRlcgpAQCAtNTQzLDQ5ICs1NjQsNjMgQEAKIDwKIE5FVFJXIEJST1dTRVIgVkFSSUFCTEVTCQkJCQkqbmV0cnctYnJvd3NlLXZhcioKID4KLQktLS0JCQktLS0tLS0tLS0tLQotCVZhcgkJCUV4cGxhbmF0aW9uCi0JLS0tCQkJLS0tLS0tLS0tLS0KLQlnOm5ldHJ3X2xpc3RfY21kCXN1cHBvcnRzIGxpc3RpbmcKLQlnOm5ldHJ3X2xpc3RfaGlkZQljb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwYXR0ZXJucyBmb3IKLQkJCQloaWRpbmcgZmlsZXMKLQlnOm5ldHJ3X2xvY2FsX21rZGlyCXNwZWNpZnkgY29tbWFuZCBmb3IgbWFraW5nIGEgZGlyZWN0b3J5IGxvY2FsbHkKLQlnOm5ldHJ3X2xvY2FsX3JtZGlyCXJlbW92ZSBkaXJlY3RvcnkgY29tbWFuZCAgICAgICAgICBkZWZhdWx0OiBybWRpcgotCWc6bmV0cndfbG9jYWxfcmVuYW1lCXJlbmFtZSBmaWxlL2RpcmVjdG9yeSBjb21tYW5kCi0JCQkJdW5peC1kZWZhdWx0OiBybSAgICB3aW4zMi1kZWZhdWx0OiByZW4KLQlnOm5ldHJ3X21rZGlyX2NtZAlzcGVjaWZ5IGNvbW1hbmQgZm9yIG1ha2luZyBhIGRpcmVjdG9yeSByZW1vdGVseQotCWc6bmV0cndfcm1fY21kCQlzdXBwb3J0cyByZW1vdmluZyBmaWxlcwotCWc6bmV0cndfcm1kaXJfY21kCXN1cHBvcnRzIHJlbW92aW5nIGRpcmVjdG9yaWVzCi0JZzpuZXRyd19ybWZfY21kCQlzdXBwb3J0cyByZW1vdmluZyBzb2Z0bGlua3MgdG8gZGlyZWN0b3JpZXMKLQlnOm5ldHJ3X2hpZGUJCWlmIHRydWUsIHRoZSBoaWRpbmcgbGlzdCBpcyB1c2VkCi0JZzpuZXRyd19zb3J0X2J5CQlzb3J0IGJ5ICJuYW1lIiwgInRpbWUiLCBvciAic2l6ZSIKLQlnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uCXNvcnRpbmcgZGlyZWN0aW9uOiAibm9ybWFsIiBvciAicmV2ZXJzZSIKLQlnOm5ldHJ3X3NvcnRfc2VxdWVuY2UJd2hlbiBzb3J0aW5nIGJ5IG5hbWUsIGZpcnN0IHNvcnQgYnkgdGhlCi0JCQkJY29tbWEtc2VwYXJhdGVkIHBhdHRlcm4gc2VxdWVuY2UKLQlnOm5ldHJ3X3RpbWVmbXQJCXNwZWNpZnkgZm9ybWF0IHN0cmluZyB0byBzdHJmdGltZSgpICBkZWZhdWx0OiAlYwotCWc6bmV0cndfd2luc2l6ZQkJc3BlY2lmeSBpbml0aWFsIHNpemUgb2YgbmV3IG8vdiB3aW5kb3dzCisJLS0tCQkJCS0tLS0tLS0tLS0tCisJVmFyCQkJCUV4cGxhbmF0aW9uCisJLS0tCQkJCS0tLS0tLS0tLS0tCisJZzpuZXRyd19mdHBfYnJvd3NlX3JlamVjdAlmdHAgY2FuIHByb2R1Y2UgYSBudW1iZXIgb2YgZXJyb3JzCisJCQkJCWFuZCB3YXJuaW5ncyB0aGF0IGNhbiBzaG93IHVwIGFzCisJCQkJCSJkaXJlY3RvcmllcyIgYW5kICJmaWxlcyIgaW4gdGhlCisJCQkJCWxpc3RpbmcuICBUaGlzIHBhdHRlcm4gaXMgdXNlZCB0bworCQkJCQlyZW1vdmUgc3VjaCBlbWJlZGRlZCBtZXNzYWdlcy4KKwlnOm5ldHJ3X2tlZXBkaXIJCQlrZWVwIGN1cnJlbnQgZGlyZWN0b3J5IGltbXVuZSBmcm9tIHRoZQorCQkJCQlicm93c2luZyBkaXJlY3RvcnkuICBUaGUgYnJvd3NpbmcKKwkJCQkJZGlyZWN0b3J5IGlzIGNvbnRhaW5lZCBpbiBiOm5ldHJ3X2N1cmRpcgorCWc6bmV0cndfbGlzdF9jbWQJCWNvbW1hbmQgZm9yIGxpc3RpbmcgcmVtb3RlIGRpcmVjdG9yaWVzCisJZzpuZXRyd19saXN0X2hpZGUJCWNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHBhdHRlcm5zIGZvcgorCQkJCQloaWRpbmcgZmlsZXMKKwlnOm5ldHJ3X2xvY2FsX21rZGlyCQljb21tYW5kIGZvciBtYWtpbmcgYSBsb2NhbCBkaXJlY3RvcnkKKwlnOm5ldHJ3X2xvY2FsX3JtZGlyCQlyZW1vdmUgZGlyZWN0b3J5IGNvbW1hbmQgKHJtZGlyKQorCWc6bmV0cndfbG9jYWxfcmVuYW1lCQlyZW5hbWUgZmlsZS9kaXJlY3RvcnkgY29tbWFuZAorCQkJCQl1bml4LWRlZmF1bHQ6IHJtICAgIHdpbjMyLWRlZmF1bHQ6IHJlbgorCWc6bmV0cndfbWtkaXJfY21kCQljb21tYW5kIGZvciBtYWtpbmcgYSByZW1vdGUgZGlyZWN0b3J5CisJZzpuZXRyd19ybV9jbWQJCQljb21tYW5kIGZvciByZW1vdmluZyBmaWxlcworCWc6bmV0cndfcm1kaXJfY21kCQljb21tYW5kIGZvciByZW1vdmluZyBkaXJlY3RvcmllcworCWc6bmV0cndfcm1mX2NtZAkJCWNvbW1hbmQgZm9yIHJlbW92aW5nIHNvZnRsaW5rcworCWc6bmV0cndfaGlkZQkJCWlmIHRydWUsIHRoZSBoaWRpbmcgbGlzdCBpcyB1c2VkCisJZzpuZXRyd19zb3J0X2J5CQkJc29ydCBieSAibmFtZSIsICJ0aW1lIiwgb3IgInNpemUiCisJZzpuZXRyd19zb3J0X2RpcmVjdGlvbgkJc29ydGluZyBkaXJlY3Rpb246ICJub3JtYWwiIG9yICJyZXZlcnNlIgorCWc6bmV0cndfc29ydF9zZXF1ZW5jZQkJd2hlbiBzb3J0aW5nIGJ5IG5hbWUsIGZpcnN0IHNvcnQgYnkgdGhlCisJCQkJCWNvbW1hLXNlcGFyYXRlZCBwYXR0ZXJuIHNlcXVlbmNlCisJZzpuZXRyd190aW1lZm10CQkJc3BlY2lmeSBmb3JtYXQgc3RyaW5nIHRvIHN0cmZ0aW1lKCkgKCVjKQorCWc6bmV0cndfd2luc2l6ZQkJCXNwZWNpZnkgaW5pdGlhbCBzaXplIG9mIG5ldyBvL3Ygd2luZG93cwogPAotSU5UUk9EVUNUSU9OIFRPIFJFTU9URSBESVJFQ1RPUlkgQlJPV1NJTkcKK0lOVFJPRFVDVElPTiBUTyBESVJFQ1RPUlkgQlJPV1NJTkcKIAotTmV0cncgc3VwcG9ydHMgdGhlIGJyb3dzaW5nIG9mIGRpcmVjdG9yaWVzIG9uIHJlbW90ZSBob3N0cywgaW5jbHVkaW5nCi1nZW5lcmF0aW5nIGxpc3RpbmcgZGlyZWN0b3JpZXMsIGVudGVyaW5nIGRpcmVjdG9yaWVzLCBlZGl0aW5nIGZpbGVzIHRoZXJlaW4sCi1kZWxldGluZyBmaWxlcy9kaXJlY3RvcmllcywgYW5kIG1vdmluZyAocmVuYW1pbmcpIGZpbGVzIGFuZCBkaXJlY3Rvcmllcy4gIFRoZQotTmV0cncgYnJvd3NlciBnZW5lcmFsbHkgaW1wbGVtZW50cyB0aGUgZmlsZSBleHBsb3JlciBtZXRob2RzIGJ1dCBmb3IgcmVtb3RlCi1kaXJlY3RvcmllcywgYWx0aG91Z2ggZGV0YWlscyAoc3VjaCBhcyBwZXJ0aW5lbnQgZ2xvYmFsIHZhcmlhYmxlIG5hbWVzKQotbmVjZXNzYXJpbHkgZGlmZmVyLgorTmV0cncgc3VwcG9ydHMgdGhlIGJyb3dzaW5nIG9mIGRpcmVjdG9yaWVzIG9uIHRoZSBsb2NhbCBzeXN0ZW0gYW5kIG9uIHJlbW90ZQoraG9zdHMsIGluY2x1ZGluZyBnZW5lcmF0aW5nIGxpc3RpbmcgZGlyZWN0b3JpZXMsIGVudGVyaW5nIGRpcmVjdG9yaWVzLCBlZGl0aW5nCitmaWxlcyB0aGVyZWluLCBkZWxldGluZyBmaWxlcy9kaXJlY3RvcmllcywgbWFraW5nIG5ldyBkaXJlY3RvcmllcywgYW5kIG1vdmluZworKHJlbmFtaW5nKSBmaWxlcyBhbmQgZGlyZWN0b3JpZXMuICBUaGUgTmV0cncgYnJvd3NlciBnZW5lcmFsbHkgaW1wbGVtZW50cyB0aGUKK3ByZXZpb3VzIGV4cGxvcmVyIG1hcHMgYW5kIGNvbW1hbmRzIGZvciByZW1vdGUgZGlyZWN0b3JpZXMsIGFsdGhvdWdoIGRldGFpbHMKKyhzdWNoIGFzIHBlcnRpbmVudCBnbG9iYWwgdmFyaWFibGUgbmFtZXMpIG5lY2Vzc2FyaWx5IGRpZmZlci4KKworVGhlIE5ldHJ3IHJlbW90ZSBmaWxlIGFuZCBkaXJlY3RvcnkgYnJvd3NlciBoYW5kbGVzIHR3byBwcm90b2NvbHM6IHNzaCBhbmQKK2Z0cC4gIFRoZSBwcm90b2NvbCBpbiB0aGUgdXJsLCBpZiBpdCBpcyBmdHAsIHdpbGwgY2F1c2UgbmV0cncgdG8gdXNlIGZ0cAoraW4gaXRzIHJlbW90ZSBicm93c2luZy4gIEFueSBvdGhlciBwcm90b2NvbCB3aWxsIGJlIHVzZWQgZm9yIGZpbGUgdHJhbnNmZXJzLAorYnV0IG90aGVyd2lzZSB0aGUgc3NoIHByb3RvY29sIHdpbGwgYmUgdXNlZCB0byBkbyByZW1vdGUgZGlyZWN0b3J5IGJyb3dzaW5nLgogCiBUbyBlbnRlciB0aGUgbmV0cncgZGlyZWN0b3J5IGJyb3dzZXIsIHNpbXBseSBhdHRlbXB0IHRvIHJlYWQgYSAiZmlsZSIgd2l0aCBhCiB0cmFpbGluZyBzbGFzaCBhbmQgaXQgd2lsbCBiZSBpbnRlcnByZXRlZCBhcyBhIHJlcXVlc3QgdG8gbGlzdCBhIGRpcmVjdG9yeToKIAogCXZpbSBbcHJvdG9jb2xdOi8vW3VzZXJAXWhvc3RuYW1lL3BhdGgvCiAKLVRvIGdldCBuby1wYXNzd29yZCBkaXJlY3RvcnkgbGlzdGluZ3MsIHNjcCwgc3NoIGludGVyYWN0aW9uLCBldGMsIHNlZQotfG5ldHJ3LWxpc3QtaGFja3wuCitJZiB5b3UnZCBsaWtlIHRvIGF2b2lkIGVudGVyaW5nIHRoZSBwYXNzd29yZCBpbiBmb3IgZGlyZWN0b3J5IGxpc3RpbmdzLCBzY3AsCitzc2ggaW50ZXJhY3Rpb24sIGV0Yywgc2VlIHxuZXRydy1saXN0LWhhY2t8LgogCi1SRUZSRVNISU5HIFRIRSBMSVNUSU5HCQkJCQkqbmV0cnctYy1sKgorUkVGUkVTSElORyBUSEUgTElTVElORwkJCQkJKm5ldHJ3LWN0cmwtbCoKIAotVG8gcmVmcmVzaCB0aGUgZGlyZWN0b3J5IGxpc3RpbmcsIHByZXNzIGN0cmwtbCAoPGMtbD4pIG9yIGhpdCB0aGUgPGNyPgotd2hlbiBhdG9wIHRoZSAuLyBkaXJlY3RvcnkgZW50cnkgaW4gdGhlIGxpc3RpbmcuCitUbyByZWZyZXNoIGVpdGhlciBhIGxvY2FsIG9yIHJlbW90ZSBkaXJlY3RvcnkgbGlzdGluZywgcHJlc3MgY3RybC1sICg8Yy1sPikgb3IKK2hpdCB0aGUgPGNyPiB3aGVuIGF0b3AgdGhlIC4vIGRpcmVjdG9yeSBlbnRyeSBpbiB0aGUgbGlzdGluZy4gIE9uZSBtYXkgYWxzbworcmVmcmVzaCBhIGxvY2FsIGRpcmVjdG9yeSBieSB1c2luZyAiOmUgLiIuCiAKIAogR09JTkcgVVAJCQkJCQkqbmV0cnctLSoKQEAgLTU5OCwxMCArNjMzLDEwIEBACiAKIAlzc2ggSE9TVE5BTUUgbHMgLUZMYQogCi13aGVyZSB0aGUgSE9TVE5BTUUgYmVjb21lcyB0aGUgW3VzZXJAXWhvc3RuYW1lIGFzIHJlcXVlc3RlZCBieSB0aGUgYXR0ZW1wdAotdG8gcmVhZC4gIE5hdHVyYWxseSwgdGhlIHVzZXIgbWF5IG92ZXJyaWRlIHRoaXMgY29tbWFuZCB3aXRoIHdoYXRldmVyIGlzCi1wcmVmZXJyZWQuICBUaGUgTmV0TGlzdCBmdW5jdGlvbiB3aGljaCBpbXBsZW1lbnRzIHJlbW90ZSBkaXJlY3RvcnkKLWJyb3dzaW5nIGV4cGVjdHMgdGhhdCBkaXJlY3RvcmllcyB3aWxsIGJlIGZsYWdnZWQgYnkgYSB0cmFpbGluZyBzbGFzaC4KK3doZXJlIHRoZSBIT1NUTkFNRSBiZWNvbWVzIHRoZSBbdXNlckBdaG9zdG5hbWUgYXMgcmVxdWVzdGVkIGJ5IHRoZSBhdHRlbXB0IHRvCityZWFkLiAgTmF0dXJhbGx5LCB0aGUgdXNlciBtYXkgb3ZlcnJpZGUgdGhpcyBjb21tYW5kIHdpdGggd2hhdGV2ZXIgaXMKK3ByZWZlcnJlZC4gIFRoZSBOZXRMaXN0IGZ1bmN0aW9uIHdoaWNoIGltcGxlbWVudHMgcmVtb3RlIGRpcmVjdG9yeSBicm93c2luZworZXhwZWN0cyB0aGF0IGRpcmVjdG9yaWVzIHdpbGwgYmUgZmxhZ2dlZCBieSBhIHRyYWlsaW5nIHNsYXNoLgogCiAKIEJST1dTSU5HIAkJCQkJCQkqbmV0cnctY3IqCkBAIC02MTksMTEgKzY1NCw5IEBACiB0aW1lIGFuZCBkYXRlIG9mIGxhc3QgbW9kaWZpY2F0aW9uIGZvciBsb2NhbCBkaXJlY3Rvcmllcy4KIAogCi1NQUtJTkcgQSBORVcgRElSRUNUT1JZCQkJCQkJKm5ldHJ3LW0qCitNQUtJTkcgQSBORVcgRElSRUNUT1JZCQkJCQkJKm5ldHJ3LWQqCiAKLUFjdHVhbGx5IDxMZWFkZXI+bSwgd2hlcmUgdGhlIDxMZWFkZXI+IGlzLCBieSBkZWZhdWx0LCB0aGUgYmFja3NsYXNoLgotCi1XaXRoIHRoZSAiPExlYWRlcj5tIiBtYXAgb25lIG1heSBtYWtlIGEgbmV3IGRpcmVjdG9yeSBlaXRoZXIgcmVtb3RlbHkgKHdoaWNoCitXaXRoIHRoZSAiZCIgbWFwIG9uZSBtYXkgbWFrZSBhIG5ldyBkaXJlY3RvcnkgZWl0aGVyIHJlbW90ZWx5ICh3aGljaAogZGVwZW5kcyBvbiB0aGUgZ2xvYmFsIHZhcmlhYmxlIGc6bmV0cndfbWtkaXJfY21kKSBvciBsb2NhbGx5ICh3aGljaCBkZXBlbmRzIG9uCiB0aGUgZ2xvYmFsIHZhcmlhYmxlIGc6bmV0cndfbG9jYWxfbWtkaXIpLiAgTmV0cncgd2lsbCBpc3N1ZSBhIHJlcXVlc3QgZm9yIHRoZQogbmV3IGRpcmVjdG9yeSdzIG5hbWUuICBBIGJhcmUgPENSPiBhdCB0aGF0IHBvaW50IHdpbGwgYWJvcnQgdGhlIG1ha2luZyBvZiB0aGUKQEAgLTY3NSw2ICs3MDgsNyBAQAogT25lIG1heSByZW5hbWUgYSBibG9jayBvZiBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgYnkgc2VsZWN0aW5nIHRoZW0gd2l0aAogdGhlIFYgKHxsaW5ld2lzZS12aXN1YWx8KS4KIAorCiBISURJTkcgRklMRVMgT1IgRElSRUNUT1JJRVMJCSpnOm5ldHJ3LWEqICpnOm5ldHJ3X2xpc3RfaGlkZSoKIAogVGhlICJhIiBtYXAgdG9nZ2xlcyB0aGUgbmV0cncgdmltIGZpbGUgYnJvd3NlciAoYm90aCByZW1vdGUgYW5kIGxvY2FsKSBiZXR3ZWVuCkBAIC02ODUsOSArNzE5LDcgQEAKIAogRURJVCBGSUxFIE9SIERJUkVDVE9SWSBISURJTkcgTElTVAkJCQkqbmV0cnctaCoKIAotQWN0dWFsbHkgPExlYWRlcj5oLCB3aGVyZSB0aGUgPExlYWRlcj4gaXMsIGJ5IGRlZmF1bHQsIHRoZSBiYWNrc2xhc2guCi0KLVRoZSAiPExlYWRlcj5oIiBtYXAgYnJpbmdzIHVwIGEgcmVxdWVzdG9yIGFsbG93aW5nIHRoZSB1c2VyIHRvIGNoYW5nZSB0aGUKK1RoZSAiPGN0cmwtaD4iIG1hcCBicmluZ3MgdXAgYSByZXF1ZXN0b3IgYWxsb3dpbmcgdGhlIHVzZXIgdG8gY2hhbmdlIHRoZQogZmlsZS9kaXJlY3RvcnkgaGlkaW5nIGxpc3QuICBUaGUgaGlkaW5nIGxpc3QgY29uc2lzdHMgb2Ygb25lIG9yIG1vcmUgcGF0dGVybnMKIGRlbGltaXRlZCBieSBjb21tYXMuICBGaWxlcyBhbmQvb3IgZGlyZWN0b3JpZXMgc2F0aXNmeWluZyB0aGVzZSBwYXR0ZXJucyB3aWxsCiBiZSBoaWRkZW4gKGllLiBub3Qgc2hvd24pLgpAQCAtNzA3LDYgKzczOSwyMSBAQAogbGlzdGluZyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcmVmcmVzaGVkIHRvIHJlZmxlY3QgdGhlIHNlbGVjdGVkIHN0eWxlLgogCiAKK0VESVRJTkcgVEhFIFNPUlRJTkcgU0VRVUVOQ0UJCQkJCSpuZXRydy1TKgorCitXaGVuICJTb3J0ZWQgYnkiIGlzIG5hbWUsIG9uZSBtYXkgc3BlY2lmeSBwcmlvcml0eSB2aWEgdGhlIHNvcnRpbmcKK3NlcXVlbmNlIChnOm5ldHJ3X3NvcnRfc2VxdWVuY2UpLiAgVGhlIHNvcnRpbmcgc2VxdWVuY2UgdHlwaWNhbGx5Citwcmlvcml0aXplcyB0aGUgbmFtZS1saXN0aW5nIGJ5IHN1ZmZpeCwgYWx0aG91Z2ggYW55IHBhdHRlcm4gd2lsbCBkby4KK1BhdHRlcm5zIGFyZSBkZWxpbWl0ZWQgYnkgY29tbWFzLiAgVGhlIGRlZmF1bHQgc29ydGluZyBzZXF1ZW5jZSBpczoKKz4KKwkvJCwqLFwuYmFrJCxcLm8kLFwuaCQsXC5pbmZvJCxcLnN3cCQsXC5vYmokCis8CitUaGUgbG9uZSAqIGlzIHdoZXJlIGFsbCBmaWxlbmFtZXMgbm90IGNvdmVyZWQgYnkgb25lIG9mIHRoZSBvdGhlcgorcGF0dGVybnMgd2lsbCBlbmQgdXAuICBPbmUgbWF5IGNoYW5nZSB0aGUgc29ydGluZyBzZXF1ZW5jZSBieSBtb2RpZnlpbmcKK3RoZSBnOm5ldHJ3X3NvcnRfc2VxdWVuY2UgdmFyaWFibGUgKGVpdGhlciBtYW51YWxseSBvciBpbiB5b3VyIDwudmltcmM+KQorb3IgYnkgdXNpbmcgdGhlICJTIiBtYXAuCisKKwogUkVWRVJTSU5HIFNPUlRJTkcgT1JERVIJCQkJCQkqbmV0cnctcioKIAogT25lIG1heSB0b2dnbGUgYmV0d2VlbiBub3JtYWwgYW5kIHJldmVyc2Ugc29ydGluZyBvcmRlciBieSBwcmVzc2luZyB0aGUKQEAgLTczOCw2ICs3ODUsMzggQEAKIGZpbGUgd2l0aCBtb3ppbGxhLgogCiAKK01BS0lORyBUSEUgQlJPV1NJTkcgRElSRUNUT1JZIFRIRSBDVVJSRU5UIERJUkVDVE9SWQkJKm5ldHJ3LWMqCisKK0J5IGRlZmF1bHQsIGc6bmV0cndfa2VlcGRpciBpcyAwLiAgVGhpcyBzZXR0aW5nIG1lYW5zIHRoYXQgdGhlIGN1cnJlbnQKK2RpcmVjdG9yeSB3aWxsIHRyYWNrIHRoZSBicm93c2luZyBkaXJlY3RvcnkuICBIb3dldmVyLCBzZXR0aW5nIGc6bmV0cndfa2VlcGRpcgordG8gMSAoc2F5LCBpbiB5b3VyIDwudmltcmM+KSB3aWxsIGtlZXAgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IGluZGVwZW5kZW50CitvZiB0aGUgYnJvd3NpbmcgZGlyZWN0b3J5LiAgSW4gdGhhdCBjYXNlLCBpbiBvcmRlciB0byBtYWtlIHRoZSB0d28KK2RpcmVjdG9yaWVzIHRoZSBzYW1lLCB1c2UgdGhlICJjIiBtYXAgKGp1c3QgdHlwZSBjKS4KKworCitCT09LTUFSS0lORyBBIERJUkVDVE9SWQkJCQkJCSpuZXRydy1iKgorCitPbmUgbWF5IGVhc2lseSAiYm9va21hcmsiIGEgZGlyZWN0b3J5IGJ5IHVzaW5nCisKKwl7Y250fWIKKworQW55IGNvdW50IG1heSBiZSB1c2VkLgorCisKK0NIQU5HSU5HIFRPIEEgQk9PS01BUktFRCBESVJFQ1RPUlkJCQkJKm5ldHJ3LUIqCisKK1RvIGNoYW5nZSBkaXJlY3RvcnkgYmFjayB0byBhIGJvb2ttYXJrZWQgZGlyZWN0b3J5LCB1c2UKKworCXtjbnR9QgorCitBbnkgY291bnQgbWF5IGJlIHVzZWQuCisKKworTElTVElORyBCT09LTUFSS1MJCQkJCQkqbmV0cnctcSoKKworUHJlc3NpbmcgInEiIHdpbGwgbGlzdCB0aGUgYm9va21hcmtlZCBkaXJlY3Rvcmllcy4gKHF1ZXJ5KQorCisKIElNUFJPVklORyBESVJFQ1RPUlkgQlJPV1NJTkcJCQkJKm5ldHJ3LWxpc3QtaGFjayoKIAogRXNwZWNpYWxseSB3aXRoIHRoZSByZW1vdGUgZGlyZWN0b3J5IGJyb3dzZXIsIGNvbnN0YW50bHkgZW50ZXJpbmcgdGhlIHBhc3N3b3JkCkBAIC03NjcsMTUgKzg0NiwzMSBAQAogCSAgIG9yCiAJCWh0dHA6Ly92aW0uc291cmNlZm9yZ2UubmV0L3NjcmlwdHMvc2NyaXB0LnBocD9zY3JpcHRfaWQ9MTIwCiAKLQkgICBhbmQgcHV0IGl0IGludG8geW91ciBsb2NhbCBwbHVnaW4gZGlyZWN0b3J5CisJICAgYW5kIHB1dCBpdCBpbnRvIHlvdXIgbG9jYWwgcGx1Z2luIGRpcmVjdG9yeS4KKwkKKwkyLiA8RGVjaG8udmltPiBpdHNlbGYgbmVlZHMgdGhlIDxjZWN1dGlsLnZpbT4gc2NyaXB0LCBzbyB5b3UnbGwgbmVlZAorCSAgIHRvIHB1dCBpdCBpbnRvIHlvdXIgLnZpbS9wbHVnaW4sIHRvby4gIFlvdSBtYXkgb2J0YWluIGl0IGZyb206CiAKLQkyLiBFZGl0IHRoZSA8bmV0cncudmltPiBmaWxlIGFzIGZvbGxvd3M6CisJCWh0dHA6Ly9teXNpdGUudmVyaXpvbi5uZXQvYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI1ZpbUZ1bmNzCisJCWFzICJEckMncyBVdGlsaXRpZXMiCiAKKwkzLiBFZGl0IHRoZSA8bmV0cncudmltPiBmaWxlIGJ5IHR5cGluZzoKKworCQl2aW0gbmV0cncudmltCiAJCTpEZWNob09uCisJCTp3cQogCi0JICAgKHRvIHJlc3RvcmUgdG8gbm9ybWFsLCB1c2UgIDpEZWNob09mZiApCisJICAgVG8gcmVzdG9yZSB0byBub3JtYWwgbm9uLWRlYnVnZ2luZyBiZWhhdmlvciwgZWRpdCA8bmV0cncudmltPgorCSAgIGJ5IHR5cGluZwogCi0JMy4gVGhlbiBicmluZyB1cCB2aW0gYW5kIGF0dGVtcHQgYSB0cmFuc2Zlci4gIEEgc2V0IG9mIG1lc3NhZ2VzCisJCXZpbSBuZXRydy52aW0KKwkJOkRlY2hvT2ZmCisJCTp3cQorCisJICAgVGhpcyBjb21tYW5kLCBwcm92aWRlZCBieSA8RGVjaG8udmltPiwgd2lsbCBjb21tZW50IG91dCBhbGwKKwkgICBEZWNoby1kZWJ1Z2dpbmcgc3RhdGVtZW50cyAoRGZ1bmMoKSwgRHJldCgpLCBEZWNobygpLCBEcmVkaXIoKSkuCisKKwk0LiBUaGVuIGJyaW5nIHVwIHZpbSBhbmQgYXR0ZW1wdCBhIHRyYW5zZmVyLiAgQSBzZXQgb2YgbWVzc2FnZXMKIAkgICBzaG91bGQgYXBwZWFyIGNvbmNlcm5pbmcgdGhlIHN0ZXBzIHRoYXQgPG5ldHJ3LnZpbT4gdG9vayBpbgogCSAgIGF0dGVtcHRpbmcgdG8gcmVhZC93cml0ZSB5b3VyIGZpbGUgb3ZlciB0aGUgbmV0d29yay4gIFBsZWFzZQogCSAgIHNlbmQgdGhhdCBpbmZvcm1hdGlvbiB0byA8bmV0cncudmltPidzIG1haW50YWluZXIsCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9yZXBlYXQudHh0IGIvcnVudGltZS9kb2MvcmVwZWF0LnR4dAppbmRleCBmYWYzMTE2Li43ZWYxY2Y5IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9yZXBlYXQudHh0CisrKyBiL3J1bnRpbWUvZG9jL3JlcGVhdC50eHQKQEAgLTEsNCArMSw0IEBACi0qcmVwZWF0LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgSnVuIDIyCisqcmVwZWF0LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgSnVsIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0yMCw3ICsyMCw4IEBACiAJCQkJCQkJKi4qCiAuCQkJUmVwZWF0IGxhc3QgY2hhbmdlLCB3aXRoIGNvdW50IHJlcGxhY2VkIHdpdGggW2NvdW50XS4KIAkJCUFsc28gcmVwZWF0IGEgeWFuayBjb21tYW5kLCB3aGVuIHRoZSAneScgZmxhZyBpcwotCQkJaW5jbHVkZWQgaW4gJ2Nwb3B0aW9ucycuCisJCQlpbmNsdWRlZCBpbiAnY3BvcHRpb25zJy4gIERvZXMgbm90IHJlcGVhdCBhCisJCQljb21tYW5kLWxpbmUgY29tbWFuZC4KIAogU2ltcGxlIGNoYW5nZXMgY2FuIGJlIHJlcGVhdGVkIHdpdGggdGhlICIuIiBjb21tYW5kLiAgV2l0aG91dCBhIGNvdW50LCB0aGUKIGNvdW50IG9mIHRoZSBsYXN0IGNoYW5nZSBpcyB1c2VkLiAgSWYgeW91IGVudGVyIGEgY291bnQsIGl0IHdpbGwgcmVwbGFjZSB0aGUKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3N5bnRheC50eHQgYi9ydW50aW1lL2RvYy9zeW50YXgudHh0CmluZGV4IGQzMTEyMmIuLjI4ZGU3OWEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKKysrIGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBKdWwgMTUKKypzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBTZXAgMDEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNjY0LDEzICs2NjQsMjEgQEAKICAgICBzeW4gc3luYyBmcm9tc3RhcnQKICAgICBzZXQgZm9sZG1ldGhvZD1zeW50YXgKIAorQ0gJCQkJCQkqY2gudmltKiAqY2gtc3ludGF4KgorCitDL0MrKyBpbnRlcnByZXRlci4gIENoIGhhcyBzaW1pbGFyIHN5bnRheCBoaWdobGlnaHRpbmcgdG8gQyBhbmQgYnVpbGRzIHVwb24KK3RoZSBDIHN5bnRheCBmaWxlLiAgU2VlIHxjLnZpbXwgZm9yIGFsbCB0aGUgc2V0dGluZ3MgdGhhdCBhcmUgYXZhaWxhYmxlIGZvciBDLgorCitCeSBzZXR0aW5nIGEgdmFyaWFibGUgeW91IGNhbiB0ZWxsIFZpbSB0byB1c2UgQ2ggc3ludGF4IGZvciAqLmggZmlsZXMsIGluc3RlYWQKK29mIEMgb3IgQysrOiA+CisJOmxldCBjaF9zeW50YXhfZm9yX2ggPSAxCisKIAogQ0hJTEwJCQkJCQkqY2hpbGwudmltKiAqY2hpbGwtc3ludGF4KgogCiBDaGlsbCBzeW50YXggaGlnaGxpZ2h0aW5nIGlzIHNpbWlsYXIgdG8gQy4gIFNlZSB8Yy52aW18IGZvciBhbGwgdGhlIHNldHRpbmdzCiB0aGF0IGFyZSBhdmFpbGFibGUuICBBZGRpdGlvbmFsbHkgdGhlcmUgaXM6CiAKLWNoaWxsX3N5bnRheF9mb3JfaAl1c2UgQ2ggc3ludGF4IGZvciAqLmggZmlsZXMsIGluc3RlYWQgb2YgQyBvciBDKysKIGNoaWxsX3NwYWNlX2Vycm9ycwlsaWtlIGNfc3BhY2VfZXJyb3JzCiBjaGlsbF9jb21tZW50X3N0cmluZwlsaWtlIGNfY29tbWVudF9zdHJpbmdzCiBjaGlsbF9taW5saW5lcwkJbGlrZSBjX21pbmxpbmVzCkBAIC0xNzc2LDE0ICsxNzg0LDIyIEBACiAKIAk6bGV0IHBlcmxfaW5jbHVkZV9wb2QgPSAxCiAKLVRvIGhhbmRsZSBwYWNrYWdlIHJlZmVyZW5jZXMgaW4gdmFyaWFibGUgYW5kIGZ1bmN0aW9uIG5hbWVzIGRpZmZlcmVudGx5IGZyb20KLXRoZSByZXN0IG9mIHRoZSBuYW1lIChsaWtlICdQa2dOYW1lOjonIGluICckUGtnTmFtZTo6VmFyTmFtZScpOiA+CitUaGUgcmVkdWNlIHRoZSBjb21wbGV4aXR5IG9mIHBhcnNpbmcgKGFuZCBpbmNyZWFzZSBwZXJmb3JtYW5jZSkgeW91IGNhbiBzd2l0Y2gKK29mZiB0d28gZWxlbWVudHMgaW4gdGhlIHBhcnNpbmcgb2YgdmFyaWFibGUgbmFtZXMgYW5kIGNvbnRlbnRzLiA+CiAKLQk6bGV0IHBlcmxfd2FudF9zY29wZV9pbl92YXJpYWJsZXMgPSAxCitUbyBoYW5kbGUgcGFja2FnZSByZWZlcmVuY2VzIGluIHZhcmlhYmxlIGFuZCBmdW5jdGlvbiBuYW1lcyBub3QgZGlmZmVyZW50bHkKK2Zyb20gdGhlIHJlc3Qgb2YgdGhlIG5hbWUgKGxpa2UgJ1BrZ05hbWU6OicgaW4gJyRQa2dOYW1lOjpWYXJOYW1lJyk6ID4KIAotSWYgeW91IHdhbnQgY29tcGxleCB0aGluZ3MgbGlrZSAnQHskeyJmb28ifX0nIHRvIGJlIHBhcnNlZDogPgorCTpsZXQgcGVybF9ub19zY29wZV9pbl92YXJpYWJsZXMgPSAxCiAKLQk6bGV0IHBlcmxfZXh0ZW5kZWRfdmFycyA9IDEKKyhJbiBWaW0gNi54IGl0IHdhcyB0aGUgb3RoZXIgd2F5IGFyb3VuZDogInBlcmxfd2FudF9zY29wZV9pbl92YXJpYWJsZXMiCitlbmFibGVkIGl0LikKKworSWYgeW91IGRvIG5vdCB3YW50IGNvbXBsZXggdGhpbmdzIGxpa2UgJ0B7JHsiZm9vIn19JyB0byBiZSBwYXJzZWQ6ID4KKworCTpsZXQgcGVybF9ub19leHRlbmRlZF92YXJzID0gMQorCit7SW4gVmltIDYueCBpdCB3YXMgdGhlIG90aGVyIHdheSBhcm91bmQ6ICJwZXJsX2V4dGVuZGVkX3ZhcnMiIGVuYWJsZWQgaXQuKQogCiBUaGUgY29sb3Jpbmcgc3RyaW5ncyBjYW4gYmUgY2hhbmdlZC4gQnkgZGVmYXVsdCBzdHJpbmdzIGFuZCBxcSBmcmllbmRzIHdpbGwgYmUKIGhpZ2hsaWdodGVkIGxpa2UgdGhlIGZpcnN0IGxpbmUuIElmIHlvdSBzZXQgdGhlIHZhcmlhYmxlCkBAIC0xODEzLDcgKzE4MjksMTEgQEAKIAogSWYgeW91IHdhbnQgdG8gdXNlIGZvbGRpbmcgd2l0aCBwZXJsLCBzZXQgcGVybF9mb2xkOiA+CiAKLSAgICAgICA6bGV0IHBlcmxfZm9sZCA9IDEKKwk6bGV0IHBlcmxfZm9sZCA9IDEKKworSWYgeW91IHdhbnQgdG8gZm9sZCBibG9ja3MgaW4gaWYgc3RhdGVtZW50cywgZXRjLiBhcyB3ZWxsIHNldCB0aGUgZm9sbG93aW5nOiA+CisKKwk6bGV0IHBlcmxfZm9sZF9ibG9ja3MgPSAxCiAKIAogUEhQMyBhbmQgUEhQNAkJKnBocC52aW0qICpwaHAzLnZpbSogKnBocC1zeW50YXgqICpwaHAzLXN5bnRheCoKQEAgLTIyNjQsNiArMjI4NCwxNyBAQAogdGhlIHN5bnRheCBmaWxlLgogCiAKK1NRTAkJCQkJCSpzcWwudmltKiAqc3FsLXN5bnRheCoKKwkJCQkJKnNxbGluZm9ybWl4LnZpbSogKnNxbGluZm9ybWl4LXN5bnRheCoKKworV2hpbGUgdGhlcmUgaXMgYW4gQU5TSSBzdGFuZGFyZCBmb3IgU1FMLCBtb3N0IGRhdGFiYXNlIGVuZ2luZXMgYWRkIHRoZWlyCitvd24gY3VzdG9tIGV4dGVuc2lvbnMuICBWaW0gY3VycmVudGx5IHN1cHBvcnRzIHRoZSBPcmFjbGUgYW5kIEluZm9ybWl4CitkaWFsZWN0cyBvZiBTUUwuICBWaW0gYXNzdW1lcyAiKi5zcWwiIGZpbGVzIGFyZSBPcmFjbGUgU1FMIGJ5IGRlZmF1bHQuCisKK0lmIHlvdSB3YW50IHRvIHVzZSB0aGUgSW5mb3JtaXggZGlhbGVjdCwgcHV0IHRoaXMgaW4geW91ciBzdGFydHVwIHZpbXJjOiA+CisgICAgOmxldCBnOmZpbGV0eXBlX3NxbCA9ICJzcWxpbmZvcm1peCIgCisKKwogVENTSAkJCQkJCSp0Y3NoLnZpbSogKnRjc2gtc3ludGF4KgogCiBUaGlzIGNvdmVycyB0aGUgc2hlbGwgbmFtZWQgInRjc2giLiAgSXQgaXMgYSBzdXBlcnNldCBvZiBjc2guICBTZWUgfGNzaC52aW18CkBAIC0zNTE0LDYgKzM1NDUsOCBAQAogCQkJIjpjb2xvcnNjaGVtZSIgaW4gYSBjb2xvciBzY2hlbWUgc2NyaXB0LgogCQkJQWZ0ZXIgdGhlIGNvbG9yIHNjaGVtZSBoYXMgYmVlbiBsb2FkZWQgdGhlCiAJCQl8Q29sb3JTY2hlbWV8IGF1dG9jb21tYW5kIGV2ZW50IGlzIHRyaWdnZXJlZC4KKwkJCUZvciBpbmZvIGFib3V0IHdyaXRpbmcgYSBjb2xvcnNjaGVtZSBmaWxlOiA+CisJCQkJOmVkaXQgJFZJTVJVTlRJTUUvY29sb3JzL1JFQURNRS50eHQKIAogOmhpW2dobGlnaHRdCQlMaXN0IGFsbCB0aGUgY3VycmVudCBoaWdobGlnaHQgZ3JvdXBzIHRoYXQgaGF2ZQogCQkJYXR0cmlidXRlcyBzZXQuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90YWdzIGIvcnVudGltZS9kb2MvdGFncwppbmRleCA5OGE0MGU2Li5lNjM1MjY1IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy90YWdzCisrKyBiL3J1bnRpbWUvZG9jL3RhZ3MKQEAgLTE5OTQsNiArMTk5NCw4IEBACiA6anVtcHMJbW90aW9uLnR4dAkvKjpqdW1wcyoKIDprCW1vdGlvbi50eHQJLyo6ayoKIDprZWUJbW90aW9uLnR4dAkvKjprZWUqCis6a2VlcGEJZWRpdGluZy50eHQJLyo6a2VlcGEqCis6a2VlcGFsdAllZGl0aW5nLnR4dAkvKjprZWVwYWx0KgogOmtlZXBqCW1vdGlvbi50eHQJLyo6a2VlcGoqCiA6a2VlcGp1bXBzCW1vdGlvbi50eHQJLyo6a2VlcGp1bXBzKgogOmtlZXBtYXJrcwltb3Rpb24udHh0CS8qOmtlZXBtYXJrcyoKQEAgLTQxNDMsNiArNDE0NSw4IEBACiBjYXRjaC1vcmRlcglldmFsLnR4dAkvKmNhdGNoLW9yZGVyKgogY2F0Y2gtdGV4dAlldmFsLnR4dAkvKmNhdGNoLXRleHQqCiBjYwljaGFuZ2UudHh0CS8qY2MqCitjaC1zeW50YXgJc3ludGF4LnR4dAkvKmNoLXN5bnRheCoKK2NoLnZpbQlzeW50YXgudHh0CS8qY2gudmltKgogY2hhbmdlLWxpc3QtanVtcHMJbW90aW9uLnR4dAkvKmNoYW5nZS1saXN0LWp1bXBzKgogY2hhbmdlLnR4dAljaGFuZ2UudHh0CS8qY2hhbmdlLnR4dCoKIGNoYW5nZWQtNS4xCXZlcnNpb241LnR4dAkvKmNoYW5nZWQtNS4xKgpAQCAtNDY4OSw2ICs0NjkzLDcgQEAKIGZvcnRyYW4udmltCXN5bnRheC50eHQJLypmb3J0cmFuLnZpbSoKIGZyZW5jaC1tYWlsbGlzdAlpbnRyby50eHQJLypmcmVuY2gtbWFpbGxpc3QqCiBmcm9tYm9vawl1c3JfMDEudHh0CS8qZnJvbWJvb2sqCitmdGRldGVjdAlmaWxldHlwZS50eHQJLypmdGRldGVjdCoKIGZ0cAlwaV9uZXRydy50eHQJLypmdHAqCiBmdHBsdWdpbgl1c3JfNDEudHh0CS8qZnRwbHVnaW4qCiBmdHBsdWdpbi1kb2NzCWZpbGV0eXBlLnR4dAkvKmZ0cGx1Z2luLWRvY3MqCkBAIC00NzMwLDcgKzQ3MzUsNyBAQAogZzpleHBsVXNlU2VwYXJhdG9ycwlwaV9leHBsLnR4dAkvKmc6ZXhwbFVzZVNlcGFyYXRvcnMqCiBnOmV4cGxWZXJ0aWNhbAlwaV9leHBsLnR4dAkvKmc6ZXhwbFZlcnRpY2FsKgogZzpleHBsV2luU2l6ZQlwaV9leHBsLnR4dAkvKmc6ZXhwbFdpblNpemUqCi1nOm5ldHJ3X2EJcGlfbmV0cncudHh0CS8qZzpuZXRyd19hKgorZzpuZXRydy1hCXBpX25ldHJ3LnR4dAkvKmc6bmV0cnctYSoKIGc6bmV0cndfbGlzdF9jbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19saXN0X2NtZCoKIGc6bmV0cndfbGlzdF9oaWRlCXBpX25ldHJ3LnR4dAkvKmc6bmV0cndfbGlzdF9oaWRlKgogZzpuZXRyd19ybV9jbWQJcGlfbmV0cncudHh0CS8qZzpuZXRyd19ybV9jbWQqCkBAIC01NDM0LDE5ICs1NDM5LDIyIEBACiBuZXRiZWFucy50eHQJbmV0YmVhbnMudHh0CS8qbmV0YmVhbnMudHh0KgogbmV0cncJcGlfbmV0cncudHh0CS8qbmV0cncqCiBuZXRydy0tCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LS0qCituZXRydy1CCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LUIqCiBuZXRydy1ECXBpX25ldHJ3LnR4dAkvKm5ldHJ3LUQqCi1uZXRydy1ICXBpX25ldHJ3LnR4dAkvKm5ldHJ3LUgqCi1uZXRydy1NCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LU0qCiBuZXRydy1SCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LVIqCituZXRydy1TCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LVMqCiBuZXRydy1hY3RpdmF0ZQlwaV9uZXRydy50eHQJLypuZXRydy1hY3RpdmF0ZSoKK25ldHJ3LWIJcGlfbmV0cncudHh0CS8qbmV0cnctYioKIG5ldHJ3LWJyb3dzZQlwaV9uZXRydy50eHQJLypuZXRydy1icm93c2UqCiBuZXRydy1icm93c2UtY21kcwlwaV9uZXRydy50eHQJLypuZXRydy1icm93c2UtY21kcyoKIG5ldHJ3LWJyb3dzZS12YXIJcGlfbmV0cncudHh0CS8qbmV0cnctYnJvd3NlLXZhcioKLW5ldHJ3LWMtbAlwaV9uZXRydy50eHQJLypuZXRydy1jLWwqCituZXRydy1jCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWMqCiBuZXRydy1jYWRhdmVyCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWNhZGF2ZXIqCiBuZXRydy1jb250ZW50cwlwaV9uZXRydy50eHQJLypuZXRydy1jb250ZW50cyoKIG5ldHJ3LWNyCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWNyKgogbmV0cnctY3JlZGl0cwlwaV9uZXRydy50eHQJLypuZXRydy1jcmVkaXRzKgorbmV0cnctY3RybC1sCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWN0cmwtbCoKK25ldHJ3LWQJcGlfbmV0cncudHh0CS8qbmV0cnctZCoKIG5ldHJ3LWRlYnVnCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWRlYnVnKgogbmV0cnctZGVsZXRlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWRlbGV0ZSoKIG5ldHJ3LWRpcglwaV9uZXRydy50eHQJLypuZXRydy1kaXIqCkBAIC01NDU0LDYgKzU0NjIsNyBAQAogbmV0cnctZmlsZQlwaV9uZXRydy50eHQJLypuZXRydy1maWxlKgogbmV0cnctZml4dXAJcGlfbmV0cncudHh0CS8qbmV0cnctZml4dXAqCiBuZXRydy1mdHAJcGlfbmV0cncudHh0CS8qbmV0cnctZnRwKgorbmV0cnctaAlwaV9uZXRydy50eHQJLypuZXRydy1oKgogbmV0cnctaGVscAlwaV9uZXRydy50eHQJLypuZXRydy1oZWxwKgogbmV0cnctaGlzdG9yeQlwaV9uZXRydy50eHQJLypuZXRydy1oaXN0b3J5KgogbmV0cnctaQlwaV9uZXRydy50eHQJLypuZXRydy1pKgpAQCAtNTQ2MSwxMyArNTQ3MCwxNyBAQAogbmV0cnctbGlzdC1oYWNrCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWxpc3QtaGFjayoKIG5ldHJ3LW1vdmUJcGlfbmV0cncudHh0CS8qbmV0cnctbW92ZSoKIG5ldHJ3LW5ldHJjCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW5ldHJjKgorbmV0cnctbnJlYWQJcGlfbmV0cncudHh0CS8qbmV0cnctbnJlYWQqCituZXRydy1ud3JpdGUJcGlfbmV0cncudHh0CS8qbmV0cnctbndyaXRlKgogbmV0cnctbwlwaV9uZXRydy50eHQJLypuZXRydy1vKgogbmV0cnctb3B0aW9ucwlwaV9uZXRydy50eHQJLypuZXRydy1vcHRpb25zKgogbmV0cnctcGFzc3dkCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXBhc3N3ZCoKK25ldHJ3LXBhdGgJcGlfbmV0cncudHh0CS8qbmV0cnctcGF0aCoKIG5ldHJ3LXByb3RvY29sCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXByb3RvY29sKgorbmV0cnctcQlwaV9uZXRydy50eHQJLypuZXRydy1xKgogbmV0cnctcglwaV9uZXRydy50eHQJLypuZXRydy1yKgorbmV0cnctcmVhZAlwaV9uZXRydy50eHQJLypuZXRydy1yZWFkKgogbmV0cnctcmVmCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXJlZioKLW5ldHJ3LXJlbW92ZQlwaV9uZXRydy50eHQJLypuZXRydy1yZW1vdmUqCiBuZXRydy1yZW5hbWUJcGlfbmV0cncudHh0CS8qbmV0cnctcmVuYW1lKgogbmV0cnctcwlwaV9uZXRydy50eHQJLypuZXRydy1zKgogbmV0cnctdHJhbnNwYXJlbnQJcGlfbmV0cncudHh0CS8qbmV0cnctdHJhbnNwYXJlbnQqCkBAIC01NDc1LDYgKzU0ODgsOCBAQAogbmV0cnctdXJscwlwaV9uZXRydy50eHQJLypuZXRydy11cmxzKgogbmV0cnctdglwaV9uZXRydy50eHQJLypuZXRydy12KgogbmV0cnctdmFyCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LXZhcioKK25ldHJ3LXZhcmlhYmxlcwlwaV9uZXRydy50eHQJLypuZXRydy12YXJpYWJsZXMqCituZXRydy13cml0ZQlwaV9uZXRydy50eHQJLypuZXRydy13cml0ZSoKIG5ldHJ3LXgJcGlfbmV0cncudHh0CS8qbmV0cncteCoKIG5ldHJ3LXhmZXIJcGlfbmV0cncudHh0CS8qbmV0cncteGZlcioKIG5ldHJ3LnZpbQlwaV9uZXRydy50eHQJLypuZXRydy52aW0qCkBAIC01OTY2LDYgKzU5ODEsMTAgQEAKIHNwb29uCW9zX3VuaXgudHh0CS8qc3Bvb24qCiBzcHVwLXN5bnRheAlzeW50YXgudHh0CS8qc3B1cC1zeW50YXgqCiBzcHVwLnZpbQlzeW50YXgudHh0CS8qc3B1cC52aW0qCitzcWwtc3ludGF4CXN5bnRheC50eHQJLypzcWwtc3ludGF4Kgorc3FsLnZpbQlzeW50YXgudHh0CS8qc3FsLnZpbSoKK3NxbGluZm9ybWl4LXN5bnRheAlzeW50YXgudHh0CS8qc3FsaW5mb3JtaXgtc3ludGF4Kgorc3FsaW5mb3JtaXgudmltCXN5bnRheC50eHQJLypzcWxpbmZvcm1peC52aW0qCiBzc2NhbmYJZXZhbC50eHQJLypzc2NhbmYqCiBzdGFuZGFyZC1wbHVnaW4JdXNyXzA1LnR4dAkvKnN0YW5kYXJkLXBsdWdpbioKIHN0YW5kYXJkLXBsdWdpbi1saXN0CWhlbHAudHh0CS8qc3RhbmRhcmQtcGx1Z2luLWxpc3QqCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy90b2RvLnR4dCBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CmluZGV4IDEzMTNlNDUuLmI3MmM2MmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3RvZG8udHh0CisrKyBiL3J1bnRpbWUvZG9jL3RvZG8udHh0CkBAIC0xLDQgKzEsNCBAQAotKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA0IEp1bCAyOAorKnRvZG8udHh0KiAgICAgIEZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA0IEF1ZyAzMQogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC0zMCw2ICszMCwxNyBAQAogCQkJCQkJCSprbm93bi1idWdzKgogLS0tLS0tLS0tLS0tLS0tLS0tLS0gS25vd24gYnVncyBhbmQgY3VycmVudCB3b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKK011bHRpLWJ5dGUgY2hhciBpbiBmaWxlIG5hbWUgY2F1c2VzIHRyb3VibGUgZm9yIG9wZW5pbmcsICJzZW5kIHRvIiBtZW51IGFuZAord3JpdGluZy4gIFBhdGNoZXMgZnJvbSBUYXJvIE11cmFva2E6CisgICAgfi9NYWlsL29sZG1haWwvbXVyYW9rYS9pbi4wMDU3NQorICAgIH4vTWFpbC9vbGRtYWlsL211cmFva2EvaW4uMDA1NzcKKworSXMgdGhlcmUgYSBsaW1pdCBvbiB0aGUgYnVmZmVyIGxpc3QgaW4gdGhlIHZpbWluZm8gZmlsZT8KKyI6biB+Ly50cmFzaGNhbi9ib2d1cyoiIGZpbGxzIGl0LgorCitXaGVuIGd2aW0gaXMgc3RhcnRlZCBmcm9tIHRoZSBjb250ZXh0IG1lbnUgdGhlIHh4ZCBtZW51IGVudHJpZXMgZG9uJ3Qgd29yaworKFZhbGVuY2lhKS4gIHh4ZC5leGUgaXMgbm90IGluICRWSU1SVU5USU1FLgorCiBBYm9ydGluZyBhdCB0aGUgQVRURU5USU9OIHByb21wdCBjYXVzZXMgdHJvdWJsZToKICAgICBidWZmZXIgcmVtYWlucyBhY3RpdmUsIG53aW5kb3dzIGlzbid0IGNsb3NlZCAoZml4ZWQgaW4gYnVmZmVyLmMpCiAgICAgYWx0ZXJuYXRlIGJ1ZmZlciBnZXRzICJyZWFkIGVycm9yIiBmbGFnLgpAQCAtNDQsNiArNTUsMTIgQEAKICAgICBndWlfZG9fZmluZHJlcGwoZmxhZ3MsIGZpbmRfdGV4dCwgcmVwbF90ZXh0LCBkb3duKQogICAgIHNlcnZlckdldFZpbU5hbWVzKGRweSkgIGlmX3hjbWRzcnYuYywgb3NfbXN3aW4uYwogCitXaW4zMjogV2hlbiB0aGUgcGF0aCB0byBhIGZpbGUgaGFzIFJ1c3NpYW4gY2hhcmFjdGVycywgIjpjZCAlOnA6aCIgZG9lc24ndAord29yay4gKFZhbGVyeSBLb25kYWtvZmYpCisKK1dpbjMyOiBXaGVuIGFuIGFyZ3VtZW50IGlzIHR5cGVkIGluIGEgY29uc29sZSBpbiB0aGUgYWN0aXZlIGNvZGVwYWdlLCBhbmQKKydlbmNvZGluZycgaXMgInV0Zi04IiwgZGV0ZWN0IHRoaXMgZnJvbSBpbGxlZ2FsIGNoYXJhY3RlcnMuICBDb252ZXJ0IGZyb20KK2NvbnNvbGUgb3IgYWN0aXZlIGNvZGVwYWdlIHRvIHV0Zi04IHRoZW4uCiAKIEZvciB2ZXJzaW9uIDcuMDoKIC0gICBJbmNsdWRlIG1hbnkgUEFUQ0hFUzoKQEAgLTgxLDYgKzk4LDggQEAKIAlQYXRjaCBmcm9tIFlha292IExlcm5lciwgaW5jbHVkaW5nIHRlc3QgKDIwMDQgSmFuIDcpLgogCVZpbVJlc2l6ZWQJICAgIC0gV2hlbiB0aGUgVmltIHdpbmRvdyBoYXMgYmVlbiByZXNpemVkIChTSUdXSU5DSCkKIAkgIHBhdGNoIGZyb20gWWFrb3YgTGVybmVyLCAyMDAzIEp1bHkgMjQuCisJUGF0Y2ggZm9yIHNwZWNpZnlpbmcgYW4gZXhwcmVzc2lvbiBmb3IgbnVtYmVyZWQgbGlzdHMuIChIdWdvIEhhYXMsCisJMjAwNCBBdWcgNykKICAgICAtLS0gYXdhaXRpbmcgdXBkYXRlZCBwYXRjaCAtLS0KICAgICA3ICAgQWRkIHBhdGNoIGZyb20gV2FsbCBmb3IgdGhpcyBvbmUgKCB+L01haWwvb2xkbWFpbC93YWxsL2luLjAwMDE5ICk6CiAJJ2ZsaXBjYXNlJyB2YXJpYWJsZTogdXBwZXIvbG93ZXJjYXNlIHBhaXJzLgpAQCAtMjMwLDcgKzI0OSw4IEBACiAtICAgU1RJQ0tZIENVUlNPUjogQWRkIGEgd2F5IG9mIHNjcm9sbGluZyB0aGF0IGxlYXZlcyB0aGUgY3Vyc29yIHdoZXJlIGl0IGlzLgogICAgIEVzcGVjaWFsbHkgd2hlbiB1c2luZyB0aGUgc2Nyb2xsYmFyLiAgVHlwaW5nIGEgY3Vyc29yLW1vdmVtZW50IGNvbW1hbmQKICAgICBzY3JvbGxzIGJhY2sgdG8gd2hlcmUgdGhlIGN1cnNvciBpcy4KLTggICBTdXBwb3J0IGZvdXIgY29tcG9zaW5nIGNoYXJhY3RlcnMsIG5lZWRlZCBmb3IgSGVicmV3LiAoUm9uIEFhcm9uKQorOCAgIFN1cHBvcnQgZm91ciBjb21wb3NpbmcvY29tYmluaW5nIGNoYXJhY3RlcnMsIG5lZWRlZCBmb3IgSGVicmV3LiAoUm9uIEFhcm9uKQorICAgIEFkZCB0aGUgJ21heGNvbWJpbmluZycgb3B0aW9uIHRvIHNldCB0aGUgbnIuIG9mIGNvbXBvc2luZyBjaGFyYWN0ZXJzLgogLSAgIEFkZCBhIGZldyBtb3JlIHRoaW5ncyB0byAnZGlmZm9wdCc6ICJob3Jpem9udGFsIiwgInZlcnRpY2FsIiwKICAgICAiZm9sZGNvbHVtbiIuIChCZW5qaSBGaXNoZXIsIDIwMDQgSnVuIDIxKQogLSAgIEZpbGVDaGFuZ2VkU2hlbGxQb3N0IGF1dG9jb21tYW5kIGV2ZW50OiBhZnRlciAobm90KSByZWxvYWRpbmcgYSBjaGFuZ2VkCkBAIC0yNTYsNiArMjc2LDE0IEBACiAgICAgdGhlIHBhcnQgdGhhdCBhbHJlYWR5IG1hdGNoZWQgaXMgZG91YmxlZCB0aGVuLiAgUmVtb3ZlIHRoZSBwYXJ0IG9mIHRoZQogICAgIHdvcmQgdGhhdCB3b3VsZCBiZSBkb3VibGVkLiAgTWFrZSBpdCB3b3JrIGxpbmUgQ1RSTC1OIGluIEluc2VydCBtb2RlLgogLSAgIEFkZCBMdWEgaW50ZXJmYWNlPyAoV29sZmdhbmcgT2VydGwpCistICAgIm9uZW1vcmUiIGZsYWcgaW4gJ3ZpcnR1YWxlZGl0JzogbW92ZSBjdXJzb3IgcGFzdCBlbmQgb2YgbGluZS4gIFBhdGNoIGJ5CisgICAgTWF0dGlhcyBGbG9kaW4gKDIwMDQgSnVsIDMwKQorCitTdXBwb3J0ICI6c2V0IHN5bnRheD1jcHAuZG94eWdlbiI/ICBTdWdnZXN0ZWQgcGF0Y2ggYnkgTWljaGFlbCBHZWRkZXMgKDkgQXVnCisyMDA0KS4gIFNob3VsZCBhbHNvIHdvcmsgZm9yICdmaWxldHlwZScuCisKK1BhdGNoIGZvciAnYnJlYWtpbmRlbnQnIG9wdGlvbjogcmVwZWF0IGluZGVudCBmb3Igd3JhcHBlZCBsaW5lLiAoVmFjbGF2CitTbWlsYXVlciwgMjAwNCBBdWcgMTcpCiAKIAogVmkgaW5jb21wYXRpYmlsaXR5OgpAQCAtMzY1LDYgKzM5Myw5IEBACiAgICAgImx1Y2lkYV9jb25zb2xlOmg4IikuCiA2ICAgV2luMzIgR1VJOiBXaXRoICItdSBOT05FIC1VIE5PTkUiIGFuZCBkb2luZyAiQ1RSTC1XIHYiICJDVFJMLVcgbyIsIHRoZSAiOiIKICAgICBvZiAiOm9ubHkiIGlzIGhpZ2hsaWdodGVkIGxpa2UgdGhlIGN1cnNvci4gIChMaXBlbGlzKQorOCAgIFdoZW4gJ2VuY29kaW5nJyBpcyAidXRmLTgiLCBzaG91bGQgdXNlICdndWlmb250JyBmb3IgYm90aCBub3JtYWwgYW5kIHdpZGUKKyAgICBjaGFyYWN0ZXJzIHRvIG1ha2UgQXNpYW4gbGFuZ3VhZ2VzIHdvcmsuICBXaW4zMiBmb250cyBjb250YWluIGJvdGgKKyAgICB0eXBlIG9mIGNoYXJhY3RlcnMuCiA3ICAgV2hlbiBmb250IHNtb290aGluZyBpcyBlbmFibGVkLCByZWRyYXdpbmcgY2FuIGJlY29tZSB2ZXJ5IHNsb3cuICBUaGUgcmVhc29uCiAgICAgYXBwZWFycyB0byBiZSBkcmF3aW5nIHdpdGggYSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kLiAgV291bGQgaXQgYmUgcG9zc2libGUKICAgICB0byB1c2UgYW4gb3BhcXVlIGJhY2tncm91bmQgaW4gbW9zdCBwbGFjZXM/CkBAIC0xMDgxLDYgKzExMTIsOCBAQAogCQkJCQkJICAgICpleHRlbnNpb25zLWltcHJvdmVtZW50cyoKIAogRG9jdW1lbnRhdGlvbjoKKzggICBMaXN0IG9mIG9wdGlvbnMgc2hvdWxkIG1lbnRpb24gd2hldGhlciBlbnZpcm9ubWVudCB2YXJpYWJsZXMgYXJlIGV4cGFuZGVkCisgICAgb3Igbm90LgogOCAgIEV4dGVuZCB1c3JfMjcudHh0IGEgYml0LiAoQWRhbSBTZXlmYXJ0aCkKIDcgICBBZGQgYSBzZWN0aW9uIG9uIGRlYnVnZ2luZyBzY3JpcHRzIGluIHRoZSB1c2VyIG1hbnVhbC4KIDkgICBNYWtlIHRoZSBSZWZlcmVuY2UgTWFudWFsIG1vcmUgcHJlY2lzZS4gIEZvciBlYWNoIGNvbW1hbmQgbWVudGlvbjoKQEAgLTI5NzMsNiArMzAwNiw4IEBACiAgICAgdGhlIGJ1ZmZlci4gIEJ1ZmZlciBtYXkgYmUgbW9kaWZpZWQuCiA2ICAgSW4gdGhlIHF1aWNrZml4IHdpbmRvdyBzdGF0dXNsaW5lIGFkZCB0aGUgY29tbWFuZCB1c2VkIHRvIGdldCB0aGUgbGlzdCBvZgogICAgIGVycm9ycywgZS5nLiAiOm1ha2UgZm9vIiwgIjpncmVwIHNvbWV0aGluZyAqLmMiLgorNyAgIEFkZCBhICI6Y3N0cmluZyIgY29tbWFuZC4gIFdvcmtzIGxpa2UgIjpjZmlsZSIgYnV0IHJlYWRzIGZyb20gYSBzdHJpbmcKKyAgICB2YXJpYWJsZS4gIEFsc28gYWNjZXB0IGEgbGlzdCB2YXJpYWJsZT8KIDYgICBQeXRob24gaW50ZXJmYWNlOiBhZGQgdmltLm1lc3NhZ2UoKSBmdW5jdGlvbi4gKE1pY2hhbCBWaXRlY2VrLCAyMDAyIE5vdiA1KQogNyAgIFN1cHBvcnQgdXNpbmcgIjp2ZXJ0IiB3aXRoIFVzZXIgY29tbWFuZHMuICBBZGQgZXhwYW5kYWJsZSBpdGVtcyA8dmVydD4uCiAgICAgRG8gdGhlIHNhbWUgZm9yICI6YnJvd3NlIiBhbmQgIjpjb25maXJtIj8KZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQgYi9ydW50aW1lL2RvYy91Z2FuZGEudHh0CmluZGV4IGViZGY3YzcuLmI4MTM5YTMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3VnYW5kYS50eHQKKysrIGIvcnVudGltZS9kb2MvdWdhbmRhLnR4dApAQCAtMSw0ICsxLDQgQEAKLSp1Z2FuZGEudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBNYXkgMTIKKyp1Z2FuZGEudHh0KiAgICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBBdWcgMjkKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTIxNCw3ICsyMTQsNyBAQAogVVNBIGFuZCBDYW5hZGE6IENvbnRhY3QgS2liYWFsZSBDaGlsZHJlbidzIEZ1bmQgKEtDRikgaW4gU3VycmV5LCBDYW5hZGEuICBUaGV5CiAJCXRha2UgY2FyZSBvZiB0aGUgQ2FuYWRpYW4gc3BvbnNvcnMgZm9yIHRoZSBjaGlsZHJlbiBpbgogCQlLaWJhYWxlLiAgWW91IGNhbiBzZW5kIHRoZW0gYSBvbmUgdGltZSBkb25hdGlvbiBkaXJlY3RseS4KLQkJUGxlYXNlIHNlbmQgbWUgYSBub3RlIHNvIHRoYXQga25vdyB3aGF0IGhhcyBiZWVuIGRvbmF0ZWQKKwkJUGxlYXNlIHNlbmQgbWUgYSBub3RlIHNvIHRoYXQgSSBrbm93IHdoYXQgaGFzIGJlZW4gZG9uYXRlZAogCQliZWNhdXNlIG9mIFZpbS4gIEFzayBLQ0YgZm9yIGluZm9ybWF0aW9uIGFib3V0IHNwb25zb3JzaGlwLgogCQkJS2liYWFsZSBDaGlsZHJlbidzIEZ1bmQgYy9vIFBhY2lmaWMgQWNhZGVteQogCQkJMTAyMzgtMTY4IFN0cmVldApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dCBiL3J1bnRpbWUvZG9jL3Vzcl8wNS50eHQKaW5kZXggNDczOTZjYy4uNDIzNDZmMiAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdXNyXzA1LnR4dAorKysgYi9ydW50aW1lL2RvYy91c3JfMDUudHh0CkBAIC0xLDQgKzEsNCBAQAotKnVzcl8wNS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA0IEp1biAyNAorKnVzcl8wNS50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA0IEF1ZyAyNwogCiAJCSAgICAgVklNIFVTRVIgTUFOVUFMIC0gYnkgQnJhbSBNb29sZW5hYXIKIApAQCAtNDI3LDYgKzQyNyw4IEBACiAJOiFta2RpciB+Ly52aW0vcGx1Z2luCiAJOiFjcCAkVklNUlVOVElNRS9tYWNyb3MvbWF0Y2hpdC52aW0gfi8udmltL3BsdWdpbgogCitUaGUgImNwIiBjb21tYW5kIGlzIGZvciBVbml4LCBvbiBNUy1ET1MgeW91IGNhbiB1c2UgImNvcHkiLgorCiBOb3cgY3JlYXRlIGEgImRvYyIgZGlyZWN0b3J5IGluIG9uZSBvZiB0aGUgZGlyZWN0b3JpZXMgaW4gJ3J1bnRpbWVwYXRoJy4gPgogCiAJOiFta2RpciB+Ly52aW0vZG9jCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy91c3JfNDEudHh0IGIvcnVudGltZS9kb2MvdXNyXzQxLnR4dAppbmRleCBlMGVhMDI2Li45N2MzOWQ5IDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy91c3JfNDEudHh0CisrKyBiL3J1bnRpbWUvZG9jL3Vzcl80MS50eHQKQEAgLTEsNCArMSw0IEBACi0qdXNyXzQxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgTWF5IDA2CisqdXNyXzQxLnR4dCoJRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDQgQXVnIDI4CiAKIAkJICAgICBWSU0gVVNFUiBNQU5VQUwgLSBieSBCcmFtIE1vb2xlbmFhcgogCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQgYi9ydW50aW1lL2RvYy92ZXJzaW9uNy50eHQKaW5kZXggMGRlNzkyNS4uNDI2MDg3NyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdmVyc2lvbjcudHh0CisrKyBiL3J1bnRpbWUvZG9jL3ZlcnNpb243LnR4dApAQCAtMSw0ICsxLDQgQEAKLSp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBKdWwgMjcKKyp2ZXJzaW9uNy50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNCBTZXAgMDEKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTEyMCw2ICsxMjAsOCBAQAogfDpkaWZmb2ZmfAkJU3dpdGNoIG9mZiBkaWZmIG1vZGUgaW4gdGhlIGN1cnJlbnQgd2luZG93IG9yIGluIGFsbAogCQkJd2luZG93cy4KIAorfDprZWVwYWx0fAkJRG8gbm90IGNoYW5nZSB0aGUgYWx0ZXJuYXRlIGZpbGUuCisKIAogTmV3IGZ1bmN0aW9uczogfgogCkBAIC0xNDgsNiArMTUwLDEwIEBACiAKIE11UEFEIHNvdXJjZSBzeW50YXgsIGluZGVudCBhbmQgZnRwbHVnaW4uIChEYXZlIFNpbHZpYSkKIAorQUJBQi80IHN5bnRheCBmaWxlLiAoTWFyaXVzIHZhbiBXeWspCisKK1NRTC1JbmZvcm1peCBzeW50YXggZmlsZS4gKERlYW4gTCBIaWxsKQorCiAKIE90aGVyczogfgogCkBAIC0xOTUsNiArMjAxLDIwIEBACiAKIEFkZGVkICduJyBmbGFnIHRvIHNlYXJjaCgpOiBkb24ndCBtb3ZlIHRoZSBjdXJzb3IuIChOaWtvbGFpIFdlaWJ1bGwpCiAKK1doZW4gdW5jb21wcmVzc2luZyBmYWlscyBpbiB0aGUgZ3ppcCBwbHVnaW4sIGdpdmUgYW4gZXJyb3IgbWVzc2FnZSBidXQgZG9uJ3QKK2RlbGV0ZSB0aGUgcmF3IHRleHQuICBIZWxwcyBpZiB0aGUgZmlsZSBoYXMgYSAuZ3ogZXh0ZW5zaW9uIGJ1dCBpcyBub3QKK2FjdHVhbGx5IGNvbXByZXNzZWQuIChBbmRyZXcgUGltbG90dCkKKworV2hlbiBDLCBDKysgb3IgSURMIHN5bnRheCBpcyB1c2VkLCBtYXkgYWRkaXRpb25hbGx5IGxvYWQgZG94eWdlbiBzeW50YXguCitBbHNvIHN1cHBvcnQgc2V0dGluZyB0aGUgZmlsZXR5cGUgdG8gImNkb3h5Z2VuIiBmb3IgQyBwbHVzIGRveHlnZW4gc3ludGF4LgorKE1pY2hhZWwgR2VkZGVzKQorCitUaGUgIjpyZWdpc3RlcnMiIGNvbW1hbmQgbm93IGRpc3BsYXlzIG11bHRpLWJ5dGUgY2hhcmFjdGVycyBwcm9wZXJseS4KKworVk1TOiBJbiB0aGUgdXNhZ2UgbWVzc2FnZSBtZW50aW9uIHRoYXQgYSBzbGFzaCBjYW4gYmUgdXNlZCB0byBtYWtlIGEgZmxhZwordXBwZXIgY2FzZS4gIEFkZCBjb2xvciBzdXBwb3J0IHRvIHRoZSBidWlsdGluIHZ0MzIwIHRlcm1pbmFsIGNvZGVzLgorKFpvbHRhbiBBcnBhZGZmeSkKKwogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBDT01QSUxFIFRJTUUgQ0hBTkdFUwkJCQkJKmNvbXBpbGUtY2hhbmdlcy03KgogCkBAIC0yOTMsNCArMzEzLDIxIEBACiBjb250YWluICJmMiIgdHdpY2UsIG9uZSBvZiB0aGVtIGxlYWRpbmcgdG8gImYxIi4gIEFsc28gdHJpZ2dlciB0aGUgQnVmRmlsZVByZQogYW5kIEJ1ZkZpbGVQb3N0IGV2ZW50cyBmb3IgdGhlIGFsdGVybmF0ZSBidWZmZXIgdGhhdCBnZXRzIHRoZSBvbGQgbmFtZS4KIAorc3RycmlkeCgpIGRpZCBub3Qgd29yayB3ZWxsIHdoZW4gdGhlIG5lZWRsZSBpcyBlbXB0eS4gKENpYXJhbiBNY0NyZWVzaCkKKworR1RLOiBBdm9pZCBhIHBvdGVudGlhbCBoYW5nIGluIGd1aV9tY2hfd2FpdF9mb3JfY2hhcnMoKSB3aGVuIGlucHV0IGFycml2ZXMKK2p1c3QgYmVmb3JlIGl0IGlzIGludm9rZWQKKworVk1TOiBPY2Nhc2lvbmFsbHkgQ1IgY2hhcmFjdGVycyB3ZXJlIGluc2VydGVkIGluIHRoZSBmaWxlLiAgRXhwYW5zaW9uIG9mCitlbnZpcm9ubWVudCB2YXJpYWJsZXMgd2FzIG5vdCBjb3JyZWN0LiAoWm9sdGFuIEFycGFkZmZ5KQorCitVVEYtODogV2hlbiAnZGVsY29tYmluZScgaXMgc2V0ICJkdyIgb25seSBkZWxldGVkIHRoZSBsYXN0IGNvbWJpbmluZyBjaGFyYWN0ZXIKK2Zyb20gdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgd29yZC4KKworV2hlbiB1c2luZyAiOnNiYWxsIiBpbiBhbiBhdXRvY29tbWFuZCBvbmx5IHRoZSBmaWxldHlwZSBpbiBvbmUgYnVmZmVyIHdhcworZGV0ZWN0ZWQuICBSZXNldCBkaWRfZmlsZXR5cGUgaW4gZW50ZXJfYnVmZmVyKCkuCisKK1doZW4gdXNpbmcgIjphcmdkbyIgYW5kIHRoZSB3aW5kb3cgYWxyZWFkeSB3YXMgYXQgdGhlIGZpcnN0IGFyZ3VtZW50IGluZGV4LAorYnV0IG5vdCBhY3R1YWxseSBlZGl0aW5nIGl0LCB0aGUgY3VycmVudCBidWZmZXIgd291bGQgYmUgdXNlZCBpbnN0ZWFkLgorCiAgdmltOnR3PTc4OnRzPTg6ZnQ9aGVscDpub3JsOgpkaWZmIC0tZ2l0IGEvcnVudGltZS9maWxldHlwZS52aW0gYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQppbmRleCAxOTY2OWZiLi5lZDg1NmRhIDEwMDY0NAotLS0gYS9ydW50aW1lL2ZpbGV0eXBlLnZpbQorKysgYi9ydW50aW1lL2ZpbGV0eXBlLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIHN1cHBvcnQgZmlsZSB0byBkZXRlY3QgZmlsZSB0eXBlcwogIgogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwNCBKdWwgMDYKKyIgTGFzdCBDaGFuZ2U6CTIwMDQgQXVnIDMwCiAKICIgTGlzdGVuIHZlcnkgY2FyZWZ1bGx5LCBJIHdpbGwgc2F5IHRoaXMgb25seSBvbmNlCiBpZiBleGlzdHMoImRpZF9sb2FkX2ZpbGV0eXBlcyIpCkBAIC02Myw2ICs2Myw5IEBACiAiIEEtQS1QIHJlY2lwZQogYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouYWFwCQkJc2V0ZiBhYXAKIAorIiBBQkFCLzQKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmFiYXAJCQlzZXRmIGFiYXAKKwogIiBBQkMgbXVzaWMgbm90YXRpb24KIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLmFiYwkJCXNldGYgYWJjCiAKQEAgLTE0MjYsOCArMTQyOSwxOSBAQAogIiBTcXVpZAogYXUgQnVmTmV3RmlsZSxCdWZSZWFkIHNxdWlkLmNvbmYJCXNldGYgc3F1aWQKIAotIiBTUUwgKGFsbCBidXQgdGhlIGZpcnN0IG9uZSBmb3IgT3JhY2xlIERlc2lnbmVyKQotYXUgQnVmTmV3RmlsZSxCdWZSZWFkICouc3FsLCoudHliLCoudHlwLCoudHljLCoucGtiLCoucGtzCXNldGYgc3FsCisiIFNRTCBmb3IgT3JhY2xlIERlc2lnbmVyCithdSBCdWZOZXdGaWxlLEJ1ZlJlYWQgKi50eWIsKi50eXAsKi50eWMsKi5wa2IsKi5wa3MJc2V0ZiBzcWwKKworIiBTUUwKK2F1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnNxbAkJCWNhbGwgU2V0RmlsZVR5cGVTUUwoKQorCitmdW4hIFNldEZpbGVUeXBlU1FMKCkKKyAgaWYgZXhpc3RzKCJnOmZpbGV0eXBlX3NxbCIpCisgICAgZXhlICJzZXRmICIgLiBnOmZpbGV0eXBlX3NxbAorICBlbHNlCisgICAgc2V0ZiBzcWwKKyAgZW5kaWYKK2VuZGZ1bgogCiAiIFNRTEoKIGF1IEJ1Zk5ld0ZpbGUsQnVmUmVhZCAqLnNxbGoJCQlzZXRmIHNxbGoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZnRwbHVnaW4vYy52aW0gYi9ydW50aW1lL2Z0cGx1Z2luL2MudmltCmluZGV4IDNkNTA3NTguLmNmNjY4NmMgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZnRwbHVnaW4vYy52aW0KKysrIGIvcnVudGltZS9mdHBsdWdpbi9jLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGZpbGV0eXBlIHBsdWdpbiBmaWxlCiAiIExhbmd1YWdlOglDCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA0IE1heSAxNgorIiBMYXN0IENoYW5nZToJMjAwNCBTZXAgMDEKIAogIiBPbmx5IGRvIHRoaXMgd2hlbiBub3QgZG9uZSB5ZXQgZm9yIHRoaXMgYnVmZmVyCiBpZiBleGlzdHMoImI6ZGlkX2Z0cGx1Z2luIikKQEAgLTM3LDcgKzM3LDcgQEAKIAkgIFwgIkMgSGVhZGVyIEZpbGVzICgqLmgpXHQqLmhcbiIgLgogCSAgXCAiQyBTb3VyY2UgRmlsZXMgKCouYylcdCouY1xuIiAuCiAJICBcICJBbGwgRmlsZXMgKCouKilcdCouKlxuIgotICBlbHNlaWYgJmZ0ID09ICJjaHNjcmlwdCIKKyAgZWxzZWlmICZmdCA9PSAiY2giCiAgICAgbGV0IGI6YnJvd3NlZmlsdGVyID0gIkNoIFNvdXJjZSBGaWxlcyAoKi5jaCAqLmNoZilcdCouY2g7Ki5jaGZcbiIgLgogCSAgXCAiQyBIZWFkZXIgRmlsZXMgKCouaClcdCouaFxuIiAuCiAJICBcICJDIFNvdXJjZSBGaWxlcyAoKi5jKVx0Ki5jXG4iIC4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L2x1YS52aW0gYi9ydW50aW1lL2luZGVudC9sdWEudmltCmluZGV4IDM3ZTM5N2UuLjJlYTE2ZGIgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L2x1YS52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvbHVhLnZpbQpAQCAtMSwxMSArMSwxMyBAQAogIiBWaW0gaW5kZW50IGZpbGUKICIgTGFuZ3VhZ2U6CUx1YSBzY3JpcHQKLSIgTWFpbnRhaW5lcjoJTWFyY3VzIEF1cmVsaXVzIEZhcmlhcyA8bWFyY3VzY2ZAdmFudC5jb20uYnI+Ci0iIEZpcnN0IEF1dGhvcjoJTWF4IElzY2hlbmtvIDxtZmlAdWtyLm5ldD4KLSIgTGFzdCBDaGFuZ2U6CTIwMDMgSmFuIDIwCisiIE1haW50YWluZXI6CU1hcmN1cyBBdXJlbGl1cyBGYXJpYXMgPG1hcmN1cy5jZiAnYXQnIGJvbC5jb20uYnI+CisiIEZpcnN0IEF1dGhvcjoJTWF4IElzY2hlbmtvIDxtZmkgJ2F0JyB1a3IubmV0PgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMjkKIAogIiBPbmx5IGRlZmluZSB0aGUgZnVuY3Rpb24gb25jZS4KLWlmIGV4aXN0cygiKkdldEx1YUluZGVudCIpIHwgZmluaXNoIHwgZW5kaWYKK2lmIGV4aXN0cygiKkdldEx1YUluZGVudCIpCisgIGZpbmlzaAorZW5kaWYKIAogc2V0bG9jYWwgaW5kZW50ZXhwcj1HZXRMdWFJbmRlbnQoKQogCkBAIC0yOCwyMSArMzAsMjIgQEAKICAgIiBmdW5jdGlvbiwgaWYsIGZvciwgd2hpbGUsIHJlcGVhdCwgZWxzZSwgZWxzZWlmLCAneycKICAgbGV0IGluZCA9IGluZGVudChsbnVtKQogICBsZXQgZmxhZyA9IDAKLSAgaWYgZ2V0bGluZShsbnVtKSA9fiAnXlxzKlwoZnVuY3Rpb25cPlx8aWZcPlx8Zm9yXD5cfHdoaWxlXD5cfHJlcGVhdFw+XHxlbHNlXD5cfGVsc2VpZlw+XHxkb1w+XCknIHx8IGdldGxpbmUobG51bSkgPX4gJ3tccyokJyB8fCBnZXRsaW5lKGxudW0pID1+ICdccyo9XHMqZnVuY3Rpb24nCi0gICAgbGV0IGluZCA9IGluZCArICZzdworICBsZXQgcHJldmxpbmUgPSBnZXRsaW5lKGxudW0pCisgIGlmIHByZXZsaW5lID1+ICdeXHMqXCUoaWZcPlx8Zm9yXD5cfHdoaWxlXD5cfHJlcGVhdFw+XHxlbHNlXD5cfGVsc2VpZlw+XHxkb1w+XCknIHx8IHByZXZsaW5lID1+ICd7XHMqJCcgfHwgcHJldmxpbmUgPX4gJ1w8ZnVuY3Rpb25cPlxzKlwlKFxrXHxbLjpdXClcey19XHMqKCcKKyAgICBsZXQgaW5kID0gaW5kICsgJnNoaWZ0d2lkdGgKICAgICBsZXQgZmxhZyA9IDEKICAgZW5kaWYKIAogICAiIFN1YnRyYWN0IGEgJ3NoaWZ0d2lkdGgnIGFmdGVyIGxpbmVzIGVuZGluZyB3aXRoCiAgICIgJ2VuZCcgd2hlbiB0aGV5IGJlZ2luIHdpdGggd2hpbGUsIGlmLCBmb3IsIGV0Yy4KLSAgaWYgZmxhZyA9PSAxICYmIGdldGxpbmUobG51bSkgPX4gJ1w8ZW5kXD5cfFw8dW50aWxcPicKLSAgICBsZXQgaW5kID0gaW5kIC0gJnN3CisgIGlmIGZsYWcgPT0gMSAmJiBwcmV2bGluZSA9fiAnXDxlbmRcPlx8XDx1bnRpbFw+JworICAgIGxldCBpbmQgPSBpbmQgLSAmc2hpZnR3aWR0aAogICBlbmRpZgogCiAgICIgU3VidHJhY3QgYSAnc2hpZnR3aWR0aCcgb24gZW5kLCBlbHNlIChhbmQgZWxzZWlmKSwgdW50aWwgYW5kICd9JwogICAiIFRoaXMgaXMgdGhlIHBhcnQgdGhhdCByZXF1aXJlcyAnaW5kZW50a2V5cycuCi0gIGlmIGdldGxpbmUodjpsbnVtKSA9fiAnXlxzKlwoZW5kXHxlbHNlXHx1bnRpbFx8fVwpJwotICAgIGxldCBpbmQgPSBpbmQgLSAmc3cKKyAgaWYgZ2V0bGluZSh2OmxudW0pID1+ICdeXHMqXCUoZW5kXHxlbHNlXHx1bnRpbFx8fVwpJworICAgIGxldCBpbmQgPSBpbmQgLSAmc2hpZnR3aWR0aAogICBlbmRpZgogCiAgIHJldHVybiBpbmQKZGlmZiAtLWdpdCBhL3J1bnRpbWUvaW5kZW50L3ZpbS52aW0gYi9ydW50aW1lL2luZGVudC92aW0udmltCmluZGV4IDBkZTc3NzQuLjA4ZDhlYmYgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvaW5kZW50L3ZpbS52aW0KKysrIGIvcnVudGltZS9pbmRlbnQvdmltLnZpbQpAQCAtMSw3ICsxLDcgQEAKICIgVmltIGluZGVudCBmaWxlCiAiIExhbmd1YWdlOglWaW0gc2NyaXB0CiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAyNQorIiBMYXN0IENoYW5nZToJMjAwNCBTZXAgMDIKIAogIiBPbmx5IGxvYWQgdGhpcyBpbmRlbnQgZmlsZSB3aGVuIG5vIG90aGVyIHdhcyBsb2FkZWQuCiBpZiBleGlzdHMoImI6ZGlkX2luZGVudCIpCkBAIC0zNiwxMCArMzYsMTQgQEAKIAogICAiIEFkZCBhICdzaGlmdHdpZHRoJyBhZnRlciA6aWYsIDp3aGlsZSwgOnRyeSwgOmNhdGNoLCA6ZmluYWxseSwgOmZ1bmN0aW9uCiAgICIgYW5kIDplbHNlLiAgQWRkIGl0IHRocmVlIHRpbWVzIGZvciBhIGxpbmUgdGhhdCBzdGFydHMgd2l0aCAnXCcgYWZ0ZXIKLSAgIiBhIGxpbmUgdGhhdCBkb2Vzbid0LgorICAiIGEgbGluZSB0aGF0IGRvZXNuJ3QgKG9yIGc6dmltX2luZGVudF9jb250IGlmIGl0IGV4aXN0cykuCiAgIGxldCBpbmQgPSBpbmRlbnQobG51bSkKICAgaWYgZ2V0bGluZSh2OmxudW0pID1+ICdeXHMqXFwnICYmIHY6bG51bSA+IDEgJiYgZ2V0bGluZShsbnVtKSAhfiAnXlxzKlxcJwotICAgIGxldCBpbmQgPSBpbmQgKyAmc3cgKiAzCisgICAgaWYgZXhpc3RzKCJnOnZpbV9pbmRlbnRfY29udCIpCisgICAgICBsZXQgaW5kID0gaW5kICsgZzp2aW1faW5kZW50X2NvbnQKKyAgICBlbHNlCisgICAgICBsZXQgaW5kID0gaW5kICsgJnN3ICogMworICAgIGVuZGlmCiAgIGVsc2VpZiBnZXRsaW5lKGxudW0pID1+ICdcKF5cfHxcKVxzKlwoaWZcfHdoXCVbaWxlXVx8dHJ5XHxjYXRcJVtjaF1cfGZpbmFcJVtsbHldXHxmdVwlW25jdGlvbl1cfGVsXCVbc2VpZl1cKVw+JwogICAgIGxldCBpbmQgPSBpbmQgKyAmc3cKICAgZWxzZWlmIGdldGxpbmUobG51bSkgPX4gJ15ccyphdWdcJVtyb3VwXScgJiYgZ2V0bGluZShsbnVtKSAhfiAnXlxzKmF1Z1wlW3JvdXBdXHMqIVw9XHNcK0VORCcKZGlmZiAtLWdpdCBhL3J1bnRpbWUvbWFrZW1lbnUudmltIGIvcnVudGltZS9tYWtlbWVudS52aW0KaW5kZXggNjkwYzQ5NC4uZTU0YjMyNyAxMDA2NDQKLS0tIGEvcnVudGltZS9tYWtlbWVudS52aW0KKysrIGIvcnVudGltZS9tYWtlbWVudS52aW0KQEAgLTEsNiArMSw2IEBACiAiIFNjcmlwdCB0byBkZWZpbmUgdGhlIHN5bnRheCBtZW51IGluIHN5bm1lbnUudmltCiAiIE1haW50YWluZXI6CUJyYW0gTW9vbGVuYWFyIDxCcmFtQHZpbS5vcmc+Ci0iIExhc3QgQ2hhbmdlOgkyMDA0IE1heSAyMgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMzAKIAogIiBUaGlzIGlzIHVzZWQgYnkgIm1ha2UgbWVudSIgaW4gdGhlIHNyYyBkaXJlY3RvcnkuCiBlZGl0IDxzZmlsZT46cDpoL3N5bm1lbnUudmltCkBAIC00OSw2ICs0OSw3IEBACiBlbmRmdW4KIAogU3luTWVudSBBQi5BYXA6YWFwCitTeW5NZW51IEFCLkFCQVAvNDphYmFwCiBTeW5NZW51IEFCLkFiYXF1czphYmFxdXMKIFN5bk1lbnUgQUIuQUJDXCBtdXNpY1wgbm90YXRpb246YWJjCiBTeW5NZW51IEFCLkFCRUw6YWJlbApAQCAtMTUzLDcgKzE1NCw2IEBACiBTeW5NZW51IERFLkVsbVwgZmlsdGVyXCBydWxlczplbG1maWx0CiBTeW5NZW51IERFLkVtYmVkaXhcIENvbXBvbmVudFwgRGVzY3JpcHRpb246ZWNkCiBTeW5NZW51IERFLkVSaWNzc29uXCBMQU5HdWFnZTplcmxhbmcKLVN5bk1lbnUgREUuRVNRTC1DOmVzcWxjCiBTeW5NZW51IERFLkVzc2Jhc2VcIHNjcmlwdDpjc2MKIFN5bk1lbnUgREUuRXRlcm1cIGNvbmZpZzpldGVybQogU3luTWVudSBERS5FeGltXCBjb25mOmV4aW0KQEAgLTMwNiw3ICszMDYsNiBAQAogU3luTWVudSBQUS5QaW5lXCBSQzpwaW5lCiBTeW5NZW51IFBRLlBpbmZvXCBSQzpwaW5mbwogU3luTWVudSBQUS5QTC9NOnBsbQotU3luTWVudSBQUS5QTC9TUUw6cGxzcWwKIFN5bk1lbnUgUFEuUExQOnBscAogU3luTWVudSBQUS5QT1wgKEdOVVwgZ2V0dGV4dCk6cG8KIFN5bk1lbnUgUFEuUG9zdGZpeFwgbWFpblwgY29uZmlnOnBmbWFpbgpAQCAtMzkyLDEwICszOTEsMTMgQEAKIFN5bk1lbnUgU2gtUy5TcGVlZHVwOnNwdXAKIFN5bk1lbnUgU2gtUy5TcGxpbnQ6c3BsaW50CiBTeW5NZW51IFNoLVMuU3F1aWRcIGNvbmZpZzpzcXVpZAorU3luTWVudSBTaC1TLlNRTC5FU1FMLUM6ZXNxbGMKIFN5bk1lbnUgU2gtUy5TUUwuTXlTUUw6bXlzcWwKLVN5bk1lbnUgU2gtUy5TUUwuU1FMOnNxbAorU3luTWVudSBTaC1TLlNRTC5QTC9TUUw6cGxzcWwKK1N5bk1lbnUgU2gtUy5TUUwuU1FMXCAoT3JhY2xlKTpzcWwKIFN5bk1lbnUgU2gtUy5TUUwuU1FMXCBGb3JtczpzcWxmb3JtcwogU3luTWVudSBTaC1TLlNRTC5TUUxKOnNxbGoKK1N5bk1lbnUgU2gtUy5TUUwuU1FMLUluZm9ybWl4OnNxbGluZm9ybWl4CiBTeW5NZW51IFNoLVMuU1FSOnNxcgogU3luTWVudSBTaC1TLlNzaC5zc2hfY29uZmlnOnNzaGNvbmZpZwogU3luTWVudSBTaC1TLlNzaC5zc2hkX2NvbmZpZzpzc2hkY29uZmlnCmRpZmYgLS1naXQgYS9ydW50aW1lL3BsdWdpbi9OZXRyd0ZpbGVIYW5kbGVycy52aW0gYi9ydW50aW1lL3BsdWdpbi9OZXRyd0ZpbGVIYW5kbGVycy52aW0KaW5kZXggNjE5MTE1Yi4uN2RhNjQ3OSAxMDA2NDQKLS0tIGEvcnVudGltZS9wbHVnaW4vTmV0cndGaWxlSGFuZGxlcnMudmltCisrKyBiL3J1bnRpbWUvcGx1Z2luL05ldHJ3RmlsZUhhbmRsZXJzLnZpbQpAQCAtMSwxMSArMSwxOCBAQAogIiBOZXRyd0ZpbGVIYW5kbGVyczogY29udGFpbnMgdmFyaW91cyBleHRlbnNpb24tYmFzZWQgZmlsZSBoYW5kbGVycyBmb3IKICIgICAgICAgICAgICAgICAgICAgIG5ldHJ3J3MgYnJvd3NlcnMnIHggY29tbWFuZCAoImVYZWN1dGUgbGF1bmNoZXIiKQogIiBBdXRob3I6CUNoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLgotIiBEYXRlOgkJSnVsIDA5LCAyMDA0Ci0iIFZlcnNpb246CTEKLSIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIERhdGU6CQlBdWcgMjcsIDIwMDQKKyIgVmVyc2lvbjoJMgogCi0iIE5ldHJ3RmlsZUhhbmRsZXJfaHRtbDogaGFuZGxlcyBodG1sIHdoZW4gdGhlIHVzZXIgaGl0cyAieCIgd2hlbiB0aGUKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIFByZXZlbnQgUmVsb2FkaW5nOiB7e3sxCitpZiBleGlzdHMoImc6bG9hZGVkX25ldHJ3ZmlsZWhhbmRsZXJzIikgfHwgJmNwCisgZmluaXNoCitlbmRpZgorbGV0IGc6bG9hZGVkX25ldHJ3ZmlsZWhhbmRsZXJzPSAidjIiCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIE5ldHJ3RmlsZUhhbmRsZXJfaHRtbDogaGFuZGxlcyBodG1sIHdoZW4gdGhlIHVzZXIgaGl0cyAieCIgd2hlbiB0aGUge3t7MQogIiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvciBpcyBhdG9wIGEgKi5odG1sIGZpbGUKIGZ1biEgTmV0cndGaWxlSGFuZGxlcl9odG1sKHBhZ2VmaWxlKQogIiAgY2FsbCBEZnVuYygiTmV0cndGaWxlSGFuZGxlcl9odG1sKCIuYTpwYWdlZmlsZS4iKSIpCkBAIC0xNCwxMCArMjEsMTAgQEAKIAogICBpZiBleGVjdXRhYmxlKCJtb3ppbGxhIikKICIgICBjYWxsIERlY2hvKCJleGVjdXRpbmcgIW1vemlsbGEgIi5wYWdlKQotICAgZXhlICIhbW96aWxsYSAiLnBhZ2UKKyAgIGV4ZSAiIW1vemlsbGEgXCIiLnBhZ2UuJyInCiAgIGVsc2VpZiBleGVjdXRhYmxlKCJuZXRzY2FwZSIpCiAiICAgY2FsbCBEZWNobygiZXhlY3V0aW5nICFuZXRzY2FwZSAiLnBhZ2UpCi0gICBleGUgIiFuZXRzY2FwZSAiLnBhZ2UKKyAgIGV4ZSAiIW5ldHNjYXBlIFwiIi5wYWdlLiciJwogICBlbHNlCiAiICAgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX2h0bWwgMCIpCiAgICByZXR1cm4gMApAQCAtMjgsNyArMzUsNyBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIE5ldHJ3RmlsZUhhbmRsZXJfaHRtOiBoYW5kbGVzIGh0bWwgd2hlbiB0aGUgdXNlciBoaXRzICJ4IiB3aGVuIHRoZQorIiBOZXRyd0ZpbGVIYW5kbGVyX2h0bTogaGFuZGxlcyBodG1sIHdoZW4gdGhlIHVzZXIgaGl0cyAieCIgd2hlbiB0aGUge3t7MQogIiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvciBpcyBhdG9wIGEgKi5odG0gZmlsZQogZnVuISBOZXRyd0ZpbGVIYW5kbGVyX2h0bShwYWdlZmlsZSkKICIgIGNhbGwgRGZ1bmMoIk5ldHJ3RmlsZUhhbmRsZXJfaHRtKCIuYTpwYWdlZmlsZS4iKSIpCkBAIC0zNywxMCArNDQsMTAgQEAKIAogICBpZiBleGVjdXRhYmxlKCJtb3ppbGxhIikKICIgICBjYWxsIERlY2hvKCJleGVjdXRpbmcgIW1vemlsbGEgIi5wYWdlKQotICAgZXhlICIhbW96aWxsYSAiLnBhZ2UKKyAgIGV4ZSAiIW1vemlsbGEgXCIiLnBhZ2UuJyInCiAgIGVsc2VpZiBleGVjdXRhYmxlKCJuZXRzY2FwZSIpCiAiICAgY2FsbCBEZWNobygiZXhlY3V0aW5nICFuZXRzY2FwZSAiLnBhZ2UpCi0gICBleGUgIiFuZXRzY2FwZSAiLnBhZ2UKKyAgIGV4ZSAiIW5ldHNjYXBlIFwiIi5wYWdlLiciJwogICBlbHNlCiAiICAgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX2h0bSAwIikKICAgIHJldHVybiAwCkBAIC01MSwxNCArNTgsMTUgQEAKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiBOZXRyd0ZpbGVIYW5kbGVyX2pwZzoKKyIgTmV0cndGaWxlSGFuZGxlcl9qcGc6IHt7ezEKIGZ1biEgTmV0cndGaWxlSGFuZGxlcl9qcGcoanBnZmlsZSkKICIgIGNhbGwgRGZ1bmMoIk5ldHJ3RmlsZUhhbmRsZXJfanBnKGpwZ2ZpbGU8Ii5hOmpwZ2ZpbGUuIj4pIikKIAogICBpZiBleGVjdXRhYmxlKCJnaW1wIikKICAgIGV4ZSAic2lsZW50ISAhZ2ltcCAtcyAiLmE6anBnZmlsZQogICBlbHNlaWYgZXhlY3V0YWJsZShleHBhbmQoIiRTeXN0ZW1Sb290IikuIi9TWVNURU0zMi9NU1BBSU5ULkVYRSIpCi0gICBleGUgInNpbGVudCEgISIuZXhwYW5kKCIkU3lzdGVtUm9vdCIpLiIvU1lTVEVNMzIvTVNQQUlOVCAiLmE6anBnZmlsZQorIiAgIGNhbGwgRGVjaG8oInNpbGVudCEgISIuZXhwYW5kKCIkU3lzdGVtUm9vdCIpLiIvU1lTVEVNMzIvTVNQQUlOVCAiLmVzY2FwZShhOmpwZ2ZpbGUsIiBbXXwnIikpCisgICBleGUgIiEiLmV4cGFuZCgiJFN5c3RlbVJvb3QiKS4iL1NZU1RFTTMyL01TUEFJTlQgXCIiLmE6anBnZmlsZS4nIicKICAgZWxzZQogIiAgIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9qcGcgMCIpCiAgICByZXR1cm4gMApAQCAtNjksMTQgKzc3LDE0IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgTmV0cndGaWxlSGFuZGxlcl9naWY6CisiIE5ldHJ3RmlsZUhhbmRsZXJfZ2lmOiB7e3sxCiBmdW4hIE5ldHJ3RmlsZUhhbmRsZXJfZ2lmKGdpZmZpbGUpCiAiICBjYWxsIERmdW5jKCJOZXRyd0ZpbGVIYW5kbGVyX2dpZihnaWZmaWxlPCIuYTpnaWZmaWxlLiI+KSIpCiAKICAgaWYgZXhlY3V0YWJsZSgiZ2ltcCIpCiAgICBleGUgInNpbGVudCEgIWdpbXAgLXMgIi5hOmdpZmZpbGUKICAgZWxzZWlmIGV4ZWN1dGFibGUoZXhwYW5kKCIkU3lzdGVtUm9vdCIpLiIvU1lTVEVNMzIvTVNQQUlOVC5FWEUiKQotICAgZXhlICJzaWxlbnQhICEiLmV4cGFuZCgiJFN5c3RlbVJvb3QiKS4iL1NZU1RFTTMyL01TUEFJTlQgIi5hOmdpZmZpbGUKKyAgIGV4ZSAic2lsZW50ISAhIi5leHBhbmQoIiRTeXN0ZW1Sb290IikuIi9TWVNURU0zMi9NU1BBSU5UIFwiIi5hOmdpZmZpbGUuJyInCiAgIGVsc2UKICIgICBjYWxsIERyZXQoIk5ldHJ3RmlsZUhhbmRsZXJfZ2lmIDAiKQogICAgcmV0dXJuIDAKQEAgLTg3LDE0ICs5NSwzMiBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIE5ldHJ3RmlsZUhhbmRsZXJfcG5tOgorIiBOZXRyd0ZpbGVIYW5kbGVyX3BuZzoge3t7MQorZnVuISBOZXRyd0ZpbGVIYW5kbGVyX3BuZyhwbmdmaWxlKQorIiAgY2FsbCBEZnVuYygiTmV0cndGaWxlSGFuZGxlcl9wbmcocG5nZmlsZTwiLmE6cG5nZmlsZS4iPikiKQorCisgIGlmIGV4ZWN1dGFibGUoImdpbXAiKQorICAgZXhlICJzaWxlbnQhICFnaW1wIC1zICIuYTpwbmdmaWxlCisgIGVsc2VpZiBleGVjdXRhYmxlKGV4cGFuZCgiJFN5c3RlbVJvb3QiKS4iL1NZU1RFTTMyL01TUEFJTlQuRVhFIikKKyAgIGV4ZSAic2lsZW50ISAhIi5leHBhbmQoIiRTeXN0ZW1Sb290IikuIi9TWVNURU0zMi9NU1BBSU5UIFwiIi5hOnBuZ2ZpbGUuJyInCisgIGVsc2UKKyIgICBjYWxsIERyZXQoIk5ldHJ3RmlsZUhhbmRsZXJfcG5nIDAiKQorICAgcmV0dXJuIDAKKyAgZW5kaWYKKworIiAgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX3BuZyAxIikKKyAgcmV0dXJuIDEKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBOZXRyd0ZpbGVIYW5kbGVyX3BubToge3t7MQogZnVuISBOZXRyd0ZpbGVIYW5kbGVyX3BubShwbm1maWxlKQogIiAgY2FsbCBEZnVuYygiTmV0cndGaWxlSGFuZGxlcl9wbm0ocG5tZmlsZTwiLmE6cG5tZmlsZS4iPikiKQogCiAgIGlmIGV4ZWN1dGFibGUoImdpbXAiKQogICAgZXhlICJzaWxlbnQhICFnaW1wIC1zICIuYTpwbm1maWxlCiAgIGVsc2VpZiBleGVjdXRhYmxlKGV4cGFuZCgiJFN5c3RlbVJvb3QiKS4iL1NZU1RFTTMyL01TUEFJTlQuRVhFIikKLSAgIGV4ZSAic2lsZW50ISAhIi5leHBhbmQoIiRTeXN0ZW1Sb290IikuIi9TWVNURU0zMi9NU1BBSU5UICIuYTpwbm1maWxlCisgICBleGUgInNpbGVudCEgISIuZXhwYW5kKCIkU3lzdGVtUm9vdCIpLiIvU1lTVEVNMzIvTVNQQUlOVCBcIiIuYTpwbm1maWxlLiciJwogICBlbHNlCiAiICAgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX3BubSAwIikKICAgIHJldHVybiAwCkBAIC0xMDUsMTQgKzEzMSwxNCBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIE5ldHJ3RmlsZUhhbmRsZXJfYm1wOiB2aXN1YWxpemUgYm1wIGZpbGVzCisiIE5ldHJ3RmlsZUhhbmRsZXJfYm1wOiB2aXN1YWxpemUgYm1wIGZpbGVzIHt7ezEKIGZ1biEgTmV0cndGaWxlSGFuZGxlcl9ibXAoYm1wZmlsZSkKICIgIGNhbGwgRGZ1bmMoIk5ldHJ3RmlsZUhhbmRsZXJfYm1wKGJtcGZpbGU8Ii5hOmJtcGZpbGUuIj4pIikKIAogICBpZiBleGVjdXRhYmxlKCJnaW1wIikKICAgIGV4ZSAic2lsZW50ISAhZ2ltcCAtcyAiLmE6Ym1wZmlsZQogICBlbHNlaWYgZXhlY3V0YWJsZShleHBhbmQoIiRTeXN0ZW1Sb290IikuIi9TWVNURU0zMi9NU1BBSU5ULkVYRSIpCi0gICBleGUgInNpbGVudCEgISIuZXhwYW5kKCIkU3lzdGVtUm9vdCIpLiIvU1lTVEVNMzIvTVNQQUlOVCAiLmE6Ym1wZmlsZQorICAgZXhlICJzaWxlbnQhICEiLmV4cGFuZCgiJFN5c3RlbVJvb3QiKS4iL1NZU1RFTTMyL01TUEFJTlQgXCIiLmE6Ym1wZmlsZS4nIicKICAgZWxzZQogIiAgIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9ibXAgMCIpCiAgICByZXR1cm4gMApAQCAtMTIzLDg0ICsxNDksMTA5IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgTmV0cndGaWxlSGFuZGxlcl9wZGY6IHZpc3VhbGl6ZSBwZGYgZmlsZXMKKyIgTmV0cndGaWxlSGFuZGxlcl9wZGY6IHZpc3VhbGl6ZSBwZGYgZmlsZXMge3t7MQogZnVuISBOZXRyd0ZpbGVIYW5kbGVyX3BkZihwZGYpCi0gICIgY2FsbCBEZnVuYygiTmV0cndGaWxlSGFuZGxlcl9wZGYocGRmPCIuYTpwZGYuIj4pIikKKyIgICIgY2FsbCBEZnVuYygiTmV0cndGaWxlSGFuZGxlcl9wZGYocGRmPCIuYTpwZGYuIj4pIikKICAgaWYgZXhlY3V0YWJsZSgiZ3MiKQogICAgZXhlICJzaWxlbnQhICFncyAiLmE6cGRmCiAgIGVsc2UKLSAgICIgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX3BkZiAwIikKKyIgICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9wZGYgMCIpCiAgICByZXR1cm4gMAogICBlbmRpZgogCi0gICIgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX3BkZiAxIikKKyIgICIgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX3BkZiAxIikKICAgcmV0dXJuIDEKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiBOZXRyd0ZpbGVIYW5kbGVyX3N4dzogdmlzdWFsaXplIHN4dyBmaWxlcworIiBOZXRyd0ZpbGVIYW5kbGVyX3N4dzogdmlzdWFsaXplIHN4dyBmaWxlcyB7e3sxCiBmdW4hIE5ldHJ3RmlsZUhhbmRsZXJfc3h3KHN4dykKLSAgIiBjYWxsIERmdW5jKCJOZXRyd0ZpbGVIYW5kbGVyX3N4dyhzeHc8Ii5hOnN4dy4iPikiKQorIiAgIiBjYWxsIERmdW5jKCJOZXRyd0ZpbGVIYW5kbGVyX3N4dyhzeHc8Ii5hOnN4dy4iPikiKQogICBpZiBleGVjdXRhYmxlKCJncyIpCiAgICBleGUgInNpbGVudCEgIWdzICIuYTpzeHcKICAgZWxzZQotICAgIiBjYWxsIERyZXQoIk5ldHJ3RmlsZUhhbmRsZXJfc3h3IDAiKQorIiAgICIgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX3N4dyAwIikKICAgIHJldHVybiAwCiAgIGVuZGlmCiAKLSAgIiBjYWxsIERyZXQoIk5ldHJ3RmlsZUhhbmRsZXJfc3h3IDEiKQorIiAgIiBjYWxsIERyZXQoIk5ldHJ3RmlsZUhhbmRsZXJfc3h3IDEiKQogICByZXR1cm4gMQogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCi0iIE5ldHJ3RmlsZUhhbmRsZXJfZG9jOiB2aXN1YWxpemUgZG9jIGZpbGVzCisiIE5ldHJ3RmlsZUhhbmRsZXJfZG9jOiB2aXN1YWxpemUgZG9jIGZpbGVzIHt7ezEKIGZ1biEgTmV0cndGaWxlSGFuZGxlcl9kb2MoZG9jKQotICAiIGNhbGwgRGZ1bmMoIk5ldHJ3RmlsZUhhbmRsZXJfZG9jKGRvYzwiLmE6ZG9jLiI+KSIpCisiICAiIGNhbGwgRGZ1bmMoIk5ldHJ3RmlsZUhhbmRsZXJfZG9jKGRvYzwiLmE6ZG9jLiI+KSIpCiAKICAgaWYgZXhlY3V0YWJsZSgib293cml0ZXIiKQogICAgZXhlICJzaWxlbnQhICFvb3dyaXRlciAiLmE6ZG9jCiAgICByZWRyYXchCiAgIGVsc2UKLSAgICIgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX2RvYyAwIikKKyIgICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9kb2MgMCIpCiAgICByZXR1cm4gMAogICBlbmRpZgogCi0gICIgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX2RvYyAxIikKKyIgICIgY2FsbCBEcmV0KCJOZXRyd0ZpbGVIYW5kbGVyX2RvYyAxIikKICAgcmV0dXJuIDEKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiBOZXRyd0ZpbGVIYW5kbGVyX3N4dzogdmlzdWFsaXplIHN4dyBmaWxlcworIiBOZXRyd0ZpbGVIYW5kbGVyX3N4dzogdmlzdWFsaXplIHN4dyBmaWxlcyB7e3sxCiBmdW4hIE5ldHJ3RmlsZUhhbmRsZXJfc3h3KHN4dykKLSAgIiBjYWxsIERmdW5jKCJOZXRyd0ZpbGVIYW5kbGVyX3N4dyhzeHc8Ii5hOnN4dy4iPikiKQorIiAgIiBjYWxsIERmdW5jKCJOZXRyd0ZpbGVIYW5kbGVyX3N4dyhzeHc8Ii5hOnN4dy4iPikiKQogCiAgIGlmIGV4ZWN1dGFibGUoIm9vd3JpdGVyIikKICAgIGV4ZSAic2lsZW50ISAhb293cml0ZXIgIi5hOnN4dwogICAgcmVkcmF3IQogICBlbHNlCi0gICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9zeHcgMCIpCisiICAgIiBjYWxsIERyZXQoIk5ldHJ3RmlsZUhhbmRsZXJfc3h3IDAiKQogICAgcmV0dXJuIDAKICAgZW5kaWYKIAotICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9zeHcgMSIpCisiICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9zeHcgMSIpCiAgIHJldHVybiAxCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgTmV0cndGaWxlSGFuZGxlcl94bHM6IHZpc3VhbGl6ZSB4bHMgZmlsZXMKKyIgTmV0cndGaWxlSGFuZGxlcl94bHM6IHZpc3VhbGl6ZSB4bHMgZmlsZXMge3t7MQogZnVuISBOZXRyd0ZpbGVIYW5kbGVyX3hscyh4bHMpCi0gICIgY2FsbCBEZnVuYygiTmV0cndGaWxlSGFuZGxlcl94bHMoeGxzPCIuYTp4bHMuIj4pIikKKyIgICIgY2FsbCBEZnVuYygiTmV0cndGaWxlSGFuZGxlcl94bHMoeGxzPCIuYTp4bHMuIj4pIikKIAogICBpZiBleGVjdXRhYmxlKCJvb2NhbGMiKQogICAgZXhlICJzaWxlbnQhICFvb2NhbGMgIi5hOnhscwogICAgcmVkcmF3IQogICBlbHNlCi0gICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl94bHMgMCIpCisiICAgIiBjYWxsIERyZXQoIk5ldHJ3RmlsZUhhbmRsZXJfeGxzIDAiKQogICAgcmV0dXJuIDAKICAgZW5kaWYKIAotICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl94bHMgMSIpCisiICAiIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl94bHMgMSIpCiAgIHJldHVybiAxCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTmV0cndGaWxlSGFuZGxlcl9wczogaGFuZGxlcyBQb3N0U2NyaXB0IGZpbGVzIHt7ezEKK2Z1biEgTmV0cndGaWxlSGFuZGxlcl9wcyhwcykKKyIgIGNhbGwgRGZ1bmMoIk5ldHJ3RmlsZUhhbmRsZXJfcHMoKSIpCisgIGlmIGV4ZWN1dGFibGUoImdzIikKKyAgIGV4ZSAic2lsZW50ISAhZ3MgIi5hOnBzCisgICByZWRyYXchCisgIGVsc2VpZiBleGVjdXRhYmxlKCJnaG9zdHNjcmlwdCIpCisgICBleGUgInNpbGVudCEgIWdob3N0c2NyaXB0ICIuYTpwcworICAgcmVkcmF3IQorICBlbHNlaWYgZXhlY3V0YWJsZSgiZ2hvc3RzY3JpcHQiKQorICAgZXhlICJzaWxlbnQhICFnaG9zdHNjcmlwdCAiLmE6cHMKKyAgIHJlZHJhdyEKKyAgZWxzZWlmIGV4ZWN1dGFibGUoImdzd2luMzIiKQorICAgZXhlICJzaWxlbnQhICFnc3dpbjMyIFwiIi5hOnBzLiciJworICAgcmVkcmF3IQorIiAgIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9wcyAwIikKKyAgIHJldHVybiAwCisgIGVuZGlmCisKKyIgIGNhbGwgRHJldCgiTmV0cndGaWxlSGFuZGxlcl9wcyAxIikKKyAgcmV0dXJuIDEKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiAgdmltOiB0cz00IGZkbT1tYXJrZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL2d6aXAudmltIGIvcnVudGltZS9wbHVnaW4vZ3ppcC52aW0KaW5kZXggMzliMGNiYy4uMmI5YjUyMyAxMDA2NDQKLS0tIGEvcnVudGltZS9wbHVnaW4vZ3ppcC52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vZ3ppcC52aW0KQEAgLTEsNiArMSw2IEBACiAiIFZpbSBwbHVnaW4gZm9yIGVkaXRpbmcgY29tcHJlc3NlZCBmaWxlcy4KICIgTWFpbnRhaW5lcjogQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBDaGFuZ2U6IDIwMDQgSmFuIDEyCisiIExhc3QgQ2hhbmdlOiAyMDA0IEp1bCAzMAogCiAiIEV4aXQgcXVpY2tseSB3aGVuOgogIiAtIHRoaXMgcGx1Z2luIHdhcyBhbHJlYWR5IGxvYWRlZApAQCAtNzEsNiArNzEsMTEgQEAKICAgZXhlY3V0ZSAic2lsZW50ICdbLCdddyAiIC4gdG1wZQogICAiIHVuY29tcHJlc3MgdGhlIHRlbXAgZmlsZTogY2FsbCBzeXN0ZW0oImd6aXAgLWRuIHRtcC5neiIpCiAgIGNhbGwgc3lzdGVtKGE6Y21kIC4gIiAiIC4gdG1wZSkKKyAgaWYgIWZpbGVyZWFkYWJsZSh0bXApCisgICAgIiB1bmNvbXByZXNzIGRpZG4ndCB3b3JrISAgS2VlcCB0aGUgY29tcHJlc3NlZCBmaWxlIHRoZW4uCisgICAgZWNob2VyciAiRXJyb3I6IENvdWxkIG5vdCByZWFkIHVuY29tcHJlc3NlZCBmaWxlIgorICAgIHJldHVybgorICBlbmRpZgogICAiIGRlbGV0ZSB0aGUgY29tcHJlc3NlZCBsaW5lczsgcmVtZW1iZXIgdGhlIGxpbmUgbnVtYmVyCiAgIGxldCBsID0gbGluZSgiJ1siKSAtIDEKICAgaWYgZXhpc3RzKCI6bG9ja21hcmtzIikKZGlmZiAtLWdpdCBhL3J1bnRpbWUvcGx1Z2luL25ldHJ3LnZpbSBiL3J1bnRpbWUvcGx1Z2luL25ldHJ3LnZpbQppbmRleCBiZTZiYjQxLi44NGNkYTkzIDEwMDY0NAotLS0gYS9ydW50aW1lL3BsdWdpbi9uZXRydy52aW0KKysrIGIvcnVudGltZS9wbHVnaW4vbmV0cncudmltCkBAIC0xLDE4ICsxLDIwIEBACiAiIG5ldHJ3LnZpbTogSGFuZGxlcyBmaWxlIHRyYW5zZmVyIGFuZCByZW1vdGUgZGlyZWN0b3J5IGxpc3RpbmcgYWNyb3NzIGEgbmV0d29yawotIiBMYXN0IENoYW5nZToJSnVsIDI2LCAyMDA0CisiIExhc3QgQ2hhbmdlOglBdWcgMjcsIDIwMDQKICIgTWFpbnRhaW5lcjoJQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIFBoRCAgIDxkcmNoaXBOT1NQQU0gYXQgY2FtcGJlbGxmYW1pbHkuYml6PgotIiBWZXJzaW9uOgk0N20KKyIgVmVyc2lvbjoJNDcKICIgTGljZW5zZToJVmltIExpY2Vuc2UgIChzZWUgdmltJ3MgOmhlbHAgbGljZW5zZSkKICIKICIgIEJ1dCBiZSBkb2VycyBvZiB0aGUgd29yZCwgYW5kIG5vdCBvbmx5IGhlYXJlcnMsIGRlbHVkaW5nIHlvdXIgb3duIHNlbHZlcwogIiAgKEphbWVzIDE6MjIgUlNWKQogIiA9LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KKyIgR2V0TGF0ZXN0VmltU2NyaXB0czogMTA3NSAxIDpBdXRvSW5zdGFsbDogbmV0cncudmltCiAKLSIgRXhpdCBxdWlja2x5IHdoZW4gYWxyZWFkeSBsb2FkZWQgb3Igd2hlbiAnY29tcGF0aWJsZScgaXMgc2V0LiB7e3sxCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBQcmV2ZW50IFJlbG9hZGluZzoge3t7MQogaWYgZXhpc3RzKCJsb2FkZWRfbmV0cnciKSB8fCAmY3AKICAgZmluaXNoCiBlbmRpZgotbGV0IGxvYWRlZF9uZXRydyAgICA9ICJ2NDdtIgorbGV0IGxvYWRlZF9uZXRydyAgICA9ICJ2NDciCiBsZXQgczpzYXZlX2NwbyAgICAgID0gJmNwbwogbGV0IGxvYWRlZF9leHBsb3JlciA9IDEKIHNldCBjcG8mdmltCkBAIC0yNiw3ICsyOCw3IEBACiAgbGV0IGc6bmV0cndfd2luOTVmdHA9IDEKIGVuZGlmCiBpZiAhZXhpc3RzKCJnOm5ldHJ3X2N5Z3dpbiIpCi0gaWYgaGFzKCJ3aW4zMiIpCisgaWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCiAgIGxldCBnOm5ldHJ3X2N5Z3dpbj0gMQogIGVsc2UKICAgbGV0IGc6bmV0cndfY3lnd2luPSAwCkBAIC04OCw4ICs5MCwxMCBAQAogIGxldCBnOm5ldHJ3X2xvY2FsX3JtZGlyPSAicm1kaXIiCiBlbmRpZgogaWYgIWV4aXN0cygiZzpuZXRyd19sb2NhbF9yZW5hbWUiKQotIGlmIGhhcygid2luMzIiKQotICBsZXQgZzpuZXRyd19sb2NhbF9yZW5hbWU9ICJyZW4iCisgaWYgZzpuZXRyd19jeWd3aW4KKyAgbGV0IGc6bmV0cndfbG9jYWxfcmVuYW1lPSAibXYiCisgZWxzZWlmIGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKQorICBsZXQgZzpuZXRyd19sb2NhbF9yZW5hbWU9ICJyZW5hbWUiCiAgZWxzZWlmIGhhcygidW5peCIpCiAgIGxldCBnOm5ldHJ3X2xvY2FsX3JlbmFtZT0gIm12IgogIGVuZGlmCkBAIC0xMDMsNiArMTA3LDI2IEBACiBpZiAhZXhpc3RzKCJnOm5ldHJ3X2hpZGUiKQogIGxldCBnOm5ldHJ3X2hpZGU9IDEKIGVuZGlmCitpZiAhZXhpc3RzKCJnOm5ldHJ3X2Z0cF9icm93c2VfcmVqZWN0IikKKyBsZXQgZzpuZXRyd19mdHBfYnJvd3NlX3JlamVjdD0nXnRvdGFsXHNcK1xkXCskXHxeVHJ5aW5nXHNcK1xkXCsuKiRcfF5LRVJCRVJPU19WXGQgcmVqZWN0ZWRcfF5TZWN1cml0eSBleHRlbnNpb25zIG5vdCcKK2VuZGlmCitpZiAhZXhpc3RzKCJnOm5ldHJ3X2tlZXBkaXIiKQorIGxldCBnOm5ldHJ3X2tlZXBkaXI9IDAKK2VuZGlmCitpZiAhZXhpc3RzKCJzOm5ldHJ3X2NkX2VzY2FwZSIpCisgaWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCisgIGxldCBzOm5ldHJ3X2NkX2VzY2FwZT0iIyUgIgorIGVsc2UKKyAgbGV0IHM6bmV0cndfY2RfZXNjYXBlPSIqJCUnXCIgP2AiCisgZW5kaWYKK2VuZGlmCitpZiAhZXhpc3RzKCJzOm5ldHJ3X2dsb2JfZXNjYXBlIikKKyBpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikKKyAgbGV0IHM6bmV0cndfZ2xvYl9lc2NhcGU9ICIiCisgZWxzZQorICBsZXQgczpuZXRyd19nbG9iX2VzY2FwZT0gJ1tdKj9ge34nCisgZW5kaWYKK2VuZGlmCiAKICIgQnVmRW50ZXIgZXZlbnQgaWdub3JlZCBieSBkZWNobyB3aGVuIGZvbGxvd2luZyB2YXJpYWJsZSBpcyB0cnVlCiAiICBIYXMgYSBzaWRlIGVmZmVjdCB0aGF0IGRvYXUgQnVmUmVhZFBvc3QgZG9lc24ndCB3b3JrLCBzbwpAQCAtMTQ2LDcgKzE3MCw3IEBACiAgZW5kaWYKIGVuZGlmCiAKLWlmIGhhcygid2luMzIiKQoraWYgaGFzKCJ3aW4zMiIpIHx8IGhhcygid2luOTUiKSB8fCBoYXMoIndpbjY0IikgfHwgaGFzKCJ3aW4xNiIpCiAgIFwgJiYgZXhpc3RzKCJnOm5ldHJ3X3VzZV9udF9yY3AiKQogICBcICYmIGc6bmV0cndfdXNlX250X3JjcAogICBcICYmIGV4ZWN1dGFibGUoICRTeXN0ZW1Sb290IC4nL3N5c3RlbTMyL3JjcC5leGUnKQpAQCAtMTY4LDcgKzE5Miw3IEBACiAgIiBOZXR3b3JrIEhhbmRsZXI6IHt7ezIKICBhdWdyb3VwIE5ldHdvcmsKICAgYXUhCi0gIGlmIGhhcygid2luMzIiKQorICBpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikKICAgIGF1IEJ1ZlJlYWRDbWQgIGZpbGU6Ly8qCQlleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQcmUgIi5leHBhbmQoIjxhZmlsZT4iKXxleGUgJ2UgJy5zdWJzdGl0dXRlKGV4cGFuZCgiPGFmaWxlPiIpLCJmaWxlOi8qIiwiIiwiIil8ZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLmV4cGFuZCgiPGFmaWxlPiIpCiAgIGVsc2UKICAgIGF1IEJ1ZlJlYWRDbWQgIGZpbGU6Ly8vKgkJZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUHJlICIuZXhwYW5kKCI8YWZpbGU+Iil8ZXhlICdlIC8nLnN1YnN0aXR1dGUoZXhwYW5kKCI8YWZpbGU+IiksImZpbGU6LyoiLCIiLCIiKXxleGUgInNpbGVudCBkb2F1IEJ1ZlJlYWRQb3N0ICIuZXhwYW5kKCI8YWZpbGU+IikKQEAgLTI0NCw3ICsyNjgsNyBAQAogICAgbGV0IGljaG9pY2UgPSAxCiAgIGVuZGlmCiAgCi0gICIgZ2V0IG5hbWUgb2YgYSB0ZW1wb3JhcnkgZmlsZQorICAiIGdldCBuYW1lIG9mIGEgdGVtcG9yYXJ5IGZpbGUgYW5kIHNldCB1cCBzaGVsbC1xdW90aW5nIGNoYXJhY3RlcgogICBsZXQgdG1wZmlsZT0gdGVtcG5hbWUoKQogIAogIiAgY2FsbCBEZWNobygiaWNob2ljZT0iLmljaG9pY2UuIiByZWFkY21kPCIucmVhZGNtZC4iPiIpCkBAIC0yNjAsOCArMjg0LDggQEAKICAgICBleGUgImxldCBjaG9pY2U9IGE6IiAuIGljaG9pY2UKICIgICAgY2FsbCBEZWNobygibm8gbGFzdGZpbGU6IGNob2ljZTwiIC4gY2hvaWNlIC4gIj4iKQogIAotICAgICIgUmVjb25zdHJ1Y3QgQ2hvaWNlIGlmIGNob2ljZSBzdGFydHMgd2l0aCAnIicKICAgICBpZiBtYXRjaChjaG9pY2UsIj8iKSA9PSAwCisgICAgICIgZ2l2ZSBoZWxwCiAgICAgIGVjaG8gJ05ldFJlYWQgVXNhZ2U6JwogICAgICBlY2hvICc6TnJlYWQgbWFjaGluZTpwYXRoICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXMgcmNwJwogICAgICBlY2hvICc6TnJlYWQgIm1hY2hpbmUgcGF0aCIgICAgICAgICAgICAgICAgICAgICAgIHVzZXMgZnRwICAgd2l0aCA8Lm5ldHJjPicKQEAgLTI3NSw3ICsyOTksOSBAQAogICAgICBlY2hvICc6TnJlYWQgc2NwOi8vW3VzZXJAXW1hY2hpbmVbWzojXXBvcnRdL3BhdGggIHVzZXMgc2NwJwogICAgICBlY2hvICc6TnJlYWQgc2Z0cDovL1t1c2VyQF1tYWNoaW5lW1s6I11wb3J0XS9wYXRoIHVzZXMgc2Z0cCcKICAgICAgYnJlYWsKKwogICAgIGVsc2VpZiBtYXRjaChjaG9pY2UsIl5cIiIpICE9IC0xCisgICAgICIgUmVjb25zdHJ1Y3QgQ2hvaWNlIGlmIGNob2ljZSBzdGFydHMgd2l0aCAnIicKICIgICAgIGNhbGwgRGVjaG8oInJlY29uc3RydWN0aW5nIGNob2ljZSIpCiAgICAgIGlmIG1hdGNoKGNob2ljZSwiXCIkIikgIT0gLTEKICAgICAgICIgY2FzZSAiLi4uIgpAQCAtMzA0LDcgKzMzMCw3IEBACiAgICBsZXQgaWNob2ljZT0gaWNob2ljZSArIDEKICAKICAgICIgZml4IHVwIHdpbmRvd3MgdXJscwotICAgaWYgaGFzKCJ3aW4zMiIpCisgICBpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikKICAgICBsZXQgY2hvaWNlID0gc3Vic3RpdHV0ZShjaG9pY2UsJ1xcJywnLycsJ2dlJykKICIgICAgY2FsbCBEZWNobygiZml4aW5nIHVwIHdpbmRvd3MgdXJsIHRvIDwiLmNob2ljZS4iPiB0bXBmaWxlPCIudG1wZmlsZSkKIApAQCAtMzE4LDEyICszNDQsOCBAQAogICAgIiBDaGVjayBpZiBOZXRCcm93c2UoKSBzaG91bGQgYmUgaGFuZGxpbmcgdGhpcyByZXF1ZXN0CiAiICAgY2FsbCBEZWNobygiY2hlY2tpbmcgaWYgbmV0bGlzdDogY2hvaWNlPCIuY2hvaWNlLiI+IG5ldHJ3X2xpc3RfY21kPCIuZzpuZXRyd19saXN0X2NtZC4iPiIpCiAgICBpZiBjaG9pY2UgPX4gIl4uKi8kIgotICAgIGlmIHN0cmxlbihnOm5ldHJ3X2xpc3RfY21kKSA+IDAKLSAgICAga2VlcGp1bXBzIGNhbGwgczpOZXRCcm93c2UoY2hvaWNlKQotIiAgICAgY2FsbCBEcmV0KCJOZXRSZWFkIikKLSAgICBlbHNlCi0gICAgIGVjaG9lcnIgInNvcnJ5LCBjYW4ndCBkbyBhIHJlbW90ZSBsaXN0aW5nOyBzc2ggaXNuJ3QgZXhlY3V0YWJsZSIKLSAgICBlbmRpZgorICAgIGtlZXBqdW1wcyBjYWxsIHM6TmV0QnJvd3NlKGNob2ljZSkKKyIgICAgY2FsbCBEcmV0KCJOZXRSZWFkIikKICAgICByZXR1cm4KICAgIGVuZGlmCiAgCkBAIC0zNjYsNyArMzg4LDcgQEAKICAgICAgbmV3CiAgICAgIHNldGxvY2FsIGZmPXVuaXgKICAgICAgZXhlICJwdXQgPSciLmc6bmV0cndfZnRwbW9kZS4iJyIKLSAgICAgZXhlICJwdXQgPSdnZXQgIi5uZXRyd19mbmFtZS4iICIudG1wZmlsZS4iJyIKKyAgICAgZXhlICJwdXQgPSciLiJnZXQgIi5uZXRyd19mbmFtZS4iICIudG1wZmlsZS4iJyIKICAgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X3BvcnQiKSAmJiBnOm5ldHJ3X3BvcnQgIT0gIiIKICIgICAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAiLmc6bmV0cndfbWFjaGluZS4iICIuZzpuZXRyd19wb3J0KQogICAgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lLiIgIi5nOm5ldHJ3X3BvcnQKQEAgLTM3Niw3ICszOTgsMTEgQEAKICAgICAgZW5kaWYKICAgICAgIiBJZiB0aGUgcmVzdWx0IG9mIHRoZSBmdHAgb3BlcmF0aW9uIGlzbid0IGJsYW5rLCBzaG93IGFuIGVycm9yIG1lc3NhZ2UgKHRueCB0byBEb3VnIENsYWFyKQogICAgICBpZiBnZXRsaW5lKDEpICF+ICJeJCIKKyAgICAgIGxldCBkZWJ1Z2tlZXA9ICZkZWJ1ZworICAgICAgc2V0IGRlYnVnPW1zZwogICAgICAgZWNob2VyciBnZXRsaW5lKDEpCisgICAgICBleGUgImVjaG9tc2cgJyIuZ2V0bGluZSgxKS4iJyIKKyAgICAgIGxldCAmZGVidWc9IGRlYnVna2VlcAogICAgICBlbmRpZgogICAgICBiZCEKICAgICAgbGV0IHJlc3VsdCA9IHM6TmV0R2V0RmlsZShyZWFkY21kLCB0bXBmaWxlLCBiOm5ldHJ3X21ldGhvZCkKQEAgLTQxMywxMSArNDM5LDEyIEBACiAgICAgIiAtbiAgdW5peCA6IERPTidUIHVzZSA8Lm5ldHJjPiwgZXZlbiB0aG91Z2ggaXQgZXhpc3RzCiAgICAgIiAtbiAgd2luMzI6IHF1aXQgYmVpbmcgb2Jub3hpb3VzIGFib3V0IHBhc3N3b3JkCiAiICAgIGNhbGwgRGVjaG8oJ3BlcmZvcm1pbmcgZnRwIC1pIC1uJykKLSAgICBub3JtIDFHZGQKKyAgICBub3JtISAxR2RkCiAiICAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZzogJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pIC1uIikKICAgICBleGUgZzpuZXRyd19zaWxlbnR4ZmVyLiIlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgLW4iCiAgICAgIiBJZiB0aGUgcmVzdWx0IG9mIHRoZSBmdHAgb3BlcmF0aW9uIGlzbid0IGJsYW5rLCBzaG93IGFuIGVycm9yIG1lc3NhZ2UgKHRueCB0byBEb3VnIENsYWFyKQogICAgIGlmIGdldGxpbmUoMSkgIX4gIl4kIgorIiAgICAgY2FsbCBEZWNobygiZXJyb3I8Ii5nZXRsaW5lKDEpLiI+IikKICAgICAgZWNob2VyciBnZXRsaW5lKDEpCiAgICAgZW5kaWYKICAgICBiZCEKQEAgLTQ5Niw3ICs1MjMsNyBAQAogICAgIGVuZGlmCiAgCiAgICAgIiBwZXJmb3JtIGNhZGF2ZXIgb3BlcmF0aW9uOgotICAgIG5vcm0gMUdkZAorICAgIG5vcm0hIDFHZGQKICIgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19kYXZfY21kKQogICAgIGV4ZSBnOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Rhdl9jbWQKICAgICBiZCEKQEAgLTU3MCwxNCArNTk3LDEyIEBACiAiICBjYWxsIERlY2hvKCJjbGVhbnVwIikKICAgaWYgZXhpc3RzKCJiOm5ldHJ3X21ldGhvZCIpCiAgICB1bmxldCBiOm5ldHJ3X21ldGhvZAotICAgdW5sZXQgZzpuZXRyd19tYWNoaW5lCiAgICB1bmxldCBiOm5ldHJ3X2ZuYW1lCiAgIGVuZGlmCiAgIGNhbGwgczpOZXRPcHRpb25SZXN0b3JlKCkKIAogIiAgY2FsbCBEcmV0KCJOZXRSZWFkIikKIGVuZGZ1bgotIiBlbmQgb2YgTmV0UmVhZAogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBOZXRHZXRGaWxlOiBGdW5jdGlvbiB0byByZWFkIGZpbGUgImZuYW1lIiB3aXRoIGNvbW1hbmQgInJlYWRjbWQiLiB7e3sxCkBAIC02NDQsMTQgKzY2OSwxNCBAQAogICAgIGVuZGlmCiAgCiAgICAgZXhlIGN1cmJ1Zm5yIC4gImJ3aXBlISIKLSAgICBleGUgImYgIi5jdXJmaWxlbmFtZQorICAgIGV4ZSAiZiAiLmVzY2FwZShjdXJmaWxlbmFtZSwiICIpCiAgICAgIiB0aGUgIjpmIG5ld25hbWUiIGFwcGFyZW50bHkgbGVhdmVzIHRoZSB0ZW1wb3JhcnkgZmlsZSBhcyB0aGUgYWx0ZXJuYXRlCiAgICAgIiBmaWxlIGluIHRoZSBidWZmZXIgbGlzdCAoc2VlIDpscyEpLiAgVGhlIGZvbGxvd2luZyBjb21tYW5kIHdpcGVzIGl0IG91dC4KICAgICBleGUgYnVmbnIoIiMiKS4iYndpcGUhIgogICAgZWxzZQogICAgIGxldCBvbGR1bD0gJnVsCiAgICAgc2V0bG9jYWwgdWw9LTEKLSAgICBleGUgYTpyZWFkY21kLiIgIi52OmNtZGFyZy4iICIuZm5hbWUKKyAgICBleGUgYTpyZWFkY21kLiIgIi52OmNtZGFyZy4iICIuZXNjYXBlKGZuYW1lLCIgIikKICAgICBpZiBkZWxsaW5lID4gMAogICAgICAiIHdpcGUgb3V0IGxhc3QgbGluZSwgd2hpY2ggc2hvdWxkIGJlIGEgYmxhbmsgbGluZSBhbnl3YXkKICAgICAgJGRlbApAQCAtNzY0LDcgKzc4OSw3IEBACiAgICBsZXQgaWNob2ljZT0gaWNob2ljZSArIDEKICAKICAgICIgZml4IHVwIHdpbmRvd3MgdXJscwotICAgaWYgaGFzKCJ3aW4zMiIpCisgICBpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikKICAgICBsZXQgY2hvaWNlPSBzdWJzdGl0dXRlKGNob2ljZSwnXFwnLCcvJywnZ2UnKQogICAgICJFUjogc2VlIE5ldFJlYWQoKQogICAgIGV4ZSAnbGNkICcgLiBmbmFtZW1vZGlmeSh0bXBmaWxlLCc6aCcpCkBAIC04MDcsOCArODMyLDggQEAKICAgICBzZXRsb2NhbCBmZj11bml4CiAgICAgZXhlICJwdXQgPSciLmc6bmV0cndfZnRwbW9kZS4iJyIKICIgICAgY2FsbCBEZWNobygiIE5ldFdyaXRlOiBwdXQgPSciLmc6bmV0cndfZnRwbW9kZS4iJyIpCi0gICAgZXhlICJwdXQgPSdwdXQgIi50bXBmaWxlLiIgIi5uZXRyd19mbmFtZS4iJyIKLSIgICAgY2FsbCBEZWNobygicHV0ID0ncHV0ICIudG1wZmlsZS4iICIubmV0cndfZm5hbWUuIiciKQorICAgIGV4ZSAicHV0ID0nIi4icHV0ICIudG1wZmlsZS4iICIubmV0cndfZm5hbWUuIiciCisiICAgIGNhbGwgRGVjaG8oInB1dCA9JyIuInB1dCAiLnRtcGZpbGUuIiAiLm5ldHJ3X2ZuYW1lLiInIikKICAgICBpZiBleGlzdHMoImc6bmV0cndfcG9ydCIpICYmIGc6bmV0cndfcG9ydCAhPSAiIgogIiAgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUuIiAiLmc6bmV0cndfcG9ydCkKICAgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lLiIgIi5nOm5ldHJ3X3BvcnQKQEAgLTg1MCw3ICs4NzUsNyBAQAogICAgICIgLW4gIHVuaXggOiBET04nVCB1c2UgPC5uZXRyYz4sIGV2ZW4gdGhvdWdoIGl0IGV4aXN0cwogICAgICIgLW4gIHdpbjMyOiBxdWl0IGJlaW5nIG9ibm94aW91cyBhYm91dCBwYXNzd29yZAogIiAgICBjYWxsIERlY2hvKCdwZXJmb3JtaW5nIGZ0cCAtaSAtbicpCi0gICAgbm9ybSAxR2RkCisgICAgbm9ybSEgMUdkZAogIiAgICBjYWxsIERlY2hvKCJleGVjdXRpbmc6ICUhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAtbiIpCiAgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfZnRwX2NtZC4iIC1pIC1uIgogICAgICIgSWYgdGhlIHJlc3VsdCBvZiB0aGUgZnRwIG9wZXJhdGlvbiBpc24ndCBibGFuaywgc2hvdyBhbiBlcnJvciBtZXNzYWdlICh0bnggdG8gRG91ZyBDbGFhcikKQEAgLTkwNyw3ICs5MzIsNyBAQAogICAgIGVuZGlmCiAgCiAgICAgIiBwZXJmb3JtIGNhZGF2ZXIgb3BlcmF0aW9uOgotICAgIG5vcm0gMUdkZAorICAgIG5vcm0hIDFHZGQKICIgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19kYXZfY21kKQogICAgIGV4ZSBnOm5ldHJ3X3NpbGVudHhmZXIuIiUhIi5nOm5ldHJ3X2Rhdl9jbWQKICAgICBiZCEKQEAgLTkzOCw3ICs5NjMsNyBAQAogICAgIG5ldwogICAgIHNldGxvY2FsIGZmPXVuaXgKICAgICBwdXQgPSdwdXQgJy50bXBmaWxlLicgJy5uZXRyd19mbmFtZQotICAgIG5vcm0gMUdkZAorICAgIG5vcm0hIDFHZGQKICIgICAgY2FsbCBEZWNobygiZXhlY3V0aW5nOiAlISIuZzpuZXRyd19zZnRwX2NtZC4nICcudWlkX21hY2hpbmUpCiAgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci4iJSEiLmc6bmV0cndfc2Z0cF9jbWQuJyAnLnVpZF9tYWNoaW5lCiAgICAgYmQhCkBAIC05NjEsNyArOTg2LDYgQEAKICAKICIgIGNhbGwgRHJldCgiTmV0V3JpdGUiKQogZW5kZnVuCi0iIGVuZCBvZiBOZXRXcml0ZQogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiAgQnJvd3NpbmcgU3VwcG9ydCBGb3IgUmVtb3RlIERpcmVjdG9yaWVzIEFuZCBGaWxlczogICAge3t7MQpAQCAtOTcwLDEzICs5OTQsMTcgQEAKICIgIGc6bmV0cndfbGlzdF9jbWQgaGFzIGEgc3RyaW5nLCBIT1NUTkFNRSwgdGhhdCBuZWVkcyB0byBiZSBzdWJzdGl0dXRlZAogIiAgd2l0aCB0aGUgcmVxdWVzdGVkIHJlbW90ZSBob3N0bmFtZSBmaXJzdC4KIGZ1biEgPFNJRD5OZXRCcm93c2UoZGlybmFtZSkKLSIgIGNhbGwgRGZ1bmMoIk5ldEJyb3dzZShkaXJuYW1lPCIuYTpkaXJuYW1lLiI+KSIpCisiICBjYWxsIERmdW5jKCJOZXRCcm93c2UoZGlybmFtZTwiLmE6ZGlybmFtZS4iPikgbG9uZ2xpc3Q9Ii5nOm5ldHJ3X2xvbmdsaXN0KQogCiAgICIgc2FuaXR5IGNoZWNrCi0gIGlmICFleGlzdHMoImc6bmV0cndfbGlzdF9jbWQiKSB8fCBnOm5ldHJ3X2xpc3RfY21kID09ICcnCi0gICBlY2hvZXJyICIqKipuZXRydyoqKiB0aGlzIHN5c3RlbSBkb2Vzbid0IHN1cHBvcnQgcmVtb3RlIGRpcmVjdG9yeSBsaXN0aW5nIgotIiAgIGNhbGwgRHJldCgiTmV0QnJvd3NlIDAiKQotICAgcmV0dXJuIDAKKyAgaWYgZXhpc3RzKCJiOm5ldHJ3X21ldGhvZCIpICYmIChiOm5ldHJ3X21ldGhvZCA9fiAnWzIzXScgJiYgIWV4ZWN1dGFibGUoImZ0cCIpKQorICAgZWNob2VyciAiKioqbmV0cncqKiogdGhpcyBzeXN0ZW0gZG9lc24ndCBzdXBwb3J0IHJlbW90ZSBkaXJlY3RvcnkgbGlzdGluZyB2aWEgZnRwIgorIiAgIGNhbGwgRHJldCgiTmV0QnJvd3NlIikKKyAgIHJldHVybgorICBlbHNlaWYgIWV4aXN0cygiZzpuZXRyd19saXN0X2NtZCIpIHx8IGc6bmV0cndfbGlzdF9jbWQgPT0gJycKKyAgIGVjaG9lcnIgIioqKm5ldHJ3KioqIHRoaXMgc3lzdGVtIGRvZXNuJ3Qgc3VwcG9ydCByZW1vdGUgZGlyZWN0b3J5IGxpc3RpbmcgdmlhIHNzaCIKKyIgICBjYWxsIERyZXQoIk5ldEJyb3dzZSIpCisgICByZXR1cm4KICAgZW5kaWYKIAogICAiIG1ha2UgdGhpcyBidWZmZXIgbW9kaWZpYWJsZQpAQCAtOTg0LDEwICsxMDEyLDExIEBACiAKICAgIiBhbmFseXplIGE6ZGlybmFtZSBhbmQgZzpuZXRyd19saXN0X2NtZAogICBsZXQgZGlycGF0ICA9ICdeXChcd1x7LX1cKTovL1woXHdcK0BcKVw9XChbXi9dXCtcKS9cKC4qXCkkJworIiAgY2FsbCBEZWNobygiZGlycGF0PCIuZGlycGF0LiI+IikKICAgaWYgYTpkaXJuYW1lICF+IGRpcnBhdAogICAgZWNob2VyciAiTmV0QnJvd3NlOiBJIGRvbid0IHVuZGVyc3RhbmQgeW91ciBkaXJuYW1lPCIuYTpkaXJuYW1lLiI+IgotIiAgIGNhbGwgRHJldCgiTmV0QnJvd3NlIDAgOiBiYWRseSBmb3JtYXR0ZWQgZGlybmFtZSIpCi0gICByZXR1cm4gMAorIiAgIGNhbGwgRHJldCgiTmV0QnJvd3NlIDogYmFkbHkgZm9ybWF0dGVkIGRpcm5hbWU8Ii5hOmRpcm5hbWUuIj4iKQorICAgcmV0dXJuCiAgIGVuZGlmCiAKICAgbGV0IG1ldGhvZCAgPSBzdWJzdGl0dXRlKGE6ZGlybmFtZSxkaXJwYXQsJ1wxJywnJykKQEAgLTEwMDEsNyArMTAzMCwxNSBAQAogIiAgY2FsbCBEZWNobygic2V0IHVwIHBhdGggICA8Ii5wYXRoICAgLiI+IikKICIgIGNhbGwgRGVjaG8oInNldCB1cCBmbmFtZSAgPCIuZm5hbWUgIC4iPiIpCiAKLSAgbGV0IGxpc3RjbWQgPSBzdWJzdGl0dXRlKGc6bmV0cndfbGlzdF9jbWQsJ1w8SE9TVE5BTUVcPicsdXNlci5tYWNoaW5lLCcnKQorICBpZiBtZXRob2QgPT0gImZ0cCIKKyAgIGxldCBsaXN0Y21kID0gIi1sRiIKKyAgZWxzZQorICAgbGV0IGxpc3RjbWQgPSBzdWJzdGl0dXRlKGc6bmV0cndfbGlzdF9jbWQsJ1w8SE9TVE5BTUVcPicsdXNlci5tYWNoaW5lLCcnKQorICBlbmRpZgorICBpZiBleGlzdHMoImI6bmV0cndfbWV0aG9kIikKKyIgICBjYWxsIERlY2hvKCJzZXR0aW5nIHM6bmV0cndfbWV0aG9kPCIuYjpuZXRyd19tZXRob2QuIj4iKQorICAgbGV0IHM6bmV0cndfbWV0aG9kPSBiOm5ldHJ3X21ldGhvZAorICBlbmRpZgogCiAgICIgb3B0aW9uYWxseSBzb3J0IGJ5IHRpbWUgKC10KSBvciBieSBzaXplICgtUykKICAgaWYgZzpuZXRyd19zb3J0X2J5ID1+ICJedCIKQEAgLTEwMTUsMTMgKzEwNTIsMTIgQEAKICAgZW5kaWYKIAogIiAgY2FsbCBEZWNobygic2V0IHVwIGxpc3RjbWQ8Ii5saXN0Y21kLiI+IikKLQogICBpZiBmbmFtZSA9fiAnQCQnICYmIGZuYW1lICF+ICdeIicKICIgICBjYWxsIERlY2hvKCJhdHRlbXB0IHRyYW5zZmVyIG9mIHN5bWxpbmsgYXMgZmlsZSIpCiAgICBjYWxsIHM6TmV0QnJvd3NlKHN1YnN0aXR1dGUoYTpkaXJuYW1lLCdAJCcsJycsJ2UnKSkKICAgIHJlZHJhdyEKLSIgICBjYWxsIERyZXQoIk5ldEJyb3dzZSAwIDogc3ltbGluayIpCi0gICByZXR1cm4gMAorIiAgIGNhbGwgRHJldCgiTmV0QnJvd3NlIDogc3ltbGluayIpCisgICByZXR1cm4KIAogICBlbHNlaWYgZm5hbWUgIX4gJy8kJyAmJiBmbmFtZSAhfiAnXiInCiAgICAiIGxvb2tzIGxpa2UgYSByZWd1bGFyIGZpbGUsIGF0dGVtcHQgdHJhbnNmZXIKQEAgLTEwMzUsMTUgKzEwNzEsMTUgQEAKIAogICAgIiByZW1vdGUtcmVhZCB0aGUgcmVxdWVzdGVkIGZpbGUgaW50byBjdXJyZW50IGJ1ZmZlcgogICAgZW5ldyEKLSAgIGV4ZSAiZmlsZSAiLm1ldGhvZC4iOi8vIi51c2VyLm1hY2hpbmUuIi8iLmVzY2FwZShwYXRoLCcgJykKKyAgIGV4ZSAiZmlsZSAiLm1ldGhvZC4iOi8vIi51c2VyLm1hY2hpbmUuIi8iLmVzY2FwZShwYXRoLHM6bmV0cndfY2RfZXNjYXBlKQogICAgZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUHJlICIuZm5hbWUKICAgIHNpbGVudCBjYWxsIHM6TmV0UmVhZChtZXRob2QuIjovLyIudXNlci5tYWNoaW5lLiIvIi5wYXRoKQogICAgZXhlICJzaWxlbnQgZG9hdSBCdWZSZWFkUG9zdCAiLmZuYW1lCiAgICBrZWVwanVtcHMgMWQKICAgIHNldGxvY2FsIG5vbW9kCiAKLSIgICBjYWxsIERyZXQoIk5ldEJyb3dzZSAwIDogZmlsZTwiLmZuYW1lLiI+IikKLSAgIHJldHVybiAwCisiICAgY2FsbCBEcmV0KCJOZXRCcm93c2UgOiBmaWxlPCIuZm5hbWUuIj4iKQorICAgcmV0dXJuCiAgIGVuZGlmCiAKICAgIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEAgLTEwNTEsOTcgKzEwODcsMTUzIEBACiAiICBjYWxsIERlY2hvKCJQZXJmb3JtIGRpcmVjdG9yeSBsaXN0aW5nLi4uIikKICAgIiBzZXQgdXAgbmV3IGJ1ZmZlciBhbmQgbWFwCiAgIGxldCBidWZuYW1lICAgPSBtZXRob2QuJzovLycudXNlci5tYWNoaW5lLicvJy5wYXRoCi0gIGxldCBidWZuYW1lbnIgPSBidWZucihidWZuYW1lKQorICBsZXQgYnVmbmFtZW5yID0gYnVmZXhpc3RzKGJ1Zm5hbWUpCiAiICBjYWxsIERlY2hvKCJidWZuYW1lPCIuYnVmbmFtZS4iPiBidWZuYW1lbnI9Ii5idWZuYW1lbnIpCi0gIGlmIGJ1Zm5hbWVuciAhPSAtMQorICBpZiBidWZuYW1lbnIgIT0gMAogICAgIiBidWZmZXIgYWxyZWFkeSBleGlzdHMsIHN3aXRjaCB0byBpdCEKKyIgICBjYWxsIERlY2hvKCJidWZmZXIgYWxyZWFkeSBleGlzdHMsIHN3aXRjaGluZyB0byBpdCIpCiAgICBleGUgImIgIi5idWZuYW1lbnIKICAgIGlmIGxpbmUoIiQiKSA+PSA1Ci0iICAgIGNhbGwgRHJldCgiTmV0QnJvd3NlIDEiKQotICAgIHJldHVybiAxCisiICAgIGNhbGwgRHJldCgiTmV0QnJvd3NlIikKKyAgICByZXR1cm4KICAgIGVuZGlmCiAgIGVsc2UKKyIgICBjYWxsIERlY2hvKCJnZW5lcmF0ZSBhIG5ldyBidWZmZXIiKQogICAgZW5ldyEKICAgZW5kaWYKKworICAiIHJlbmFtZSBmaWxlIHRvIHJlZmxlY3Qgd2hlcmUgaXRzIGZyb20KICAgc2V0bG9jYWwgdHM9MzIgYnQ9bm9maWxlIGJoPXdpcGUgbm9ibAotICBleGUgJ2ZpbGUgJy5lc2NhcGUoYnVmbmFtZSwnICcpCisgIGV4ZSAnZmlsZSAnLmVzY2FwZShidWZuYW1lLHM6bmV0cndfY2RfZXNjYXBlKQogIiAgY2FsbCBEZWNobygicmVuYW1pbmcgZmlsZSB0byBidWZuYW1lPCIuYnVmbmFtZS4iPiIpCiAgIHNldGxvY2FsIGJ0PW5vd3JpdGUgYmg9aGlkZSBub2JsCi0gIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxjcj4JOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksPFNJRD5OZXRHZXREaXIoKSkpPGNyPgorCisgICIgc2V0IHVwIGJ1ZmZlci1sb2NhbCBtYXBwaW5ncworIiAgY2FsbCBEZWNobygic2V0IHVwIGJ1ZmZlci1sb2NhbCBtYXBwaW5ncyIpCisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxjcj4JOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksPFNJRD5OZXRHZXRXb3JkKCkpKTxjcj4KICAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPGMtbD4JOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksJy4vJykpPGNyPgogICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiAtCQk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPk5ldEJyb3dzZSg8U0lEPk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSwnLi4vJykpPGNyPgogICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBhCQk6bGV0IGc6bmV0cndfaGlkZT0hZzpuZXRyd19oaWRlPGJhcj5leGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TmV0QnJvd3NlKDxTSUQ+TmV0QnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLCcuLycpKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPExlYWRlcj5oCTpjYWxsIDxTSUQ+TmV0SGlkZUVkaXQoMCk8Y3I+Ci0gIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IGkJCTpjYWxsIDxTSUQ+TmV0U2F2ZVBvc24oKTxiYXI+Y2FsbCA8U0lEPk5ldExvbmdMaXN0KDApPGJhcj5jYWxsIDxTSUQ+TmV0UmVzdG9yZVBvc24oKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gbwkJOmV4ZSBnOm5ldHJ3X3dpbnNpemUuIndpbmNtZCBzIjxiYXI+ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPk5ldEJyb3dzZSg8U0lEPk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSw8U0lEPk5ldEdldERpcigpKSk8Y3I+Ci0gIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHIJCTpsZXQgZzpuZXRyd19zb3J0X2RpcmVjdGlvbj0gKGc6bmV0cndfc29ydF9kaXJlY3Rpb24gPX4gJ24nKT8gJ3InIDogJ24nPGJhcj5leGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TmV0QnJvd3NlKDxTSUQ+TmV0QnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLDxTSUQ+TmV0R2V0RGlyKCkpKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gcwkJOmxldCBnOm5ldHJ3X3NvcnRfYnk9IChnOm5ldHJ3X3NvcnRfYnkgPX4gJ24nKT8gJ3RpbWUnIDogKGc6bmV0cndfc29ydF9ieSA9fiAndCcpPyAnc2l6ZScgOiAnbmFtZSc8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksJy4vJykpPGNyPgotICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiB2CQk6ZXhlIGc6bmV0cndfd2luc2l6ZS4id2luY21kIHYiPGJhcj5leGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TmV0QnJvd3NlKDxTSUQ+TmV0QnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLDxTSUQ+TmV0R2V0RGlyKCkpKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4geAkJOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2VYKDxTSUQ+TmV0QnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLDxTSUQ+TmV0R2V0RGlyKCkpLDEpPGNyPgotICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8Mi1sZWZ0bW91c2U+IDpleGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TmV0QnJvd3NlKDxTSUQ+TmV0QnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLDxTSUQ+TmV0R2V0RGlyKCkpKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gYgkJOjxjLXU+Y2FsbCA8U0lEPk5ldEJvb2ttYXJrRGlyKDAsZXhwYW5kKCIlIikpPGNyPgorICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBCCQk6PGMtdT5jYWxsIDxTSUQ+TmV0Qm9va21hcmtEaXIoMSxleHBhbmQoIiUiKSk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxjLWg+CTpjYWxsIDxTSUQ+TmV0SGlkZUVkaXQoMCk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IGkJCTpjYWxsIDxTSUQ+TmV0TG9uZ0xpc3QoMCk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IG8JCTpleGUgZzpuZXRyd193aW5zaXplLiJ3aW5jbWQgcyI8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksPFNJRD5OZXRHZXRXb3JkKCkpKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gcQkJOjxjLXU+Y2FsbCA8U0lEPk5ldEJvb2ttYXJrRGlyKDIsZXhwYW5kKCIlIikpPGNyPgorICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiByCQk6bGV0IGc6bmV0cndfc29ydF9kaXJlY3Rpb249IChnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uID1+ICduJyk/ICdyJyA6ICduJzxiYXI+ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPk5ldEJyb3dzZSg8U0lEPk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSwnLi8nKSk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHMJCTpjYWxsIDxTSUQ+TmV0U2F2ZVdvcmRQb3NuKCk8YmFyPmxldCBnOm5ldHJ3X3NvcnRfYnk9IChnOm5ldHJ3X3NvcnRfYnkgPX4gJ24nKT8gJ3RpbWUnIDogKGc6bmV0cndfc29ydF9ieSA9fiAndCcpPyAnc2l6ZScgOiAnbmFtZSc8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksJy4vJykpPGJhcj5jYWxsIDxTSUQ+TmV0UmVzdG9yZVdvcmRQb3NuKCk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IFMJCTpjYWxsIDxTSUQ+TmV0U29ydFNlcXVlbmNlKDApPGNyPgorICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiB2CQk6ZXhlIGc6bmV0cndfd2luc2l6ZS4id2luY21kIHYiPGJhcj5leGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TmV0QnJvd3NlKDxTSUQ+TmV0QnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLDxTSUQ+TmV0R2V0V29yZCgpKSk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHgJCTpleGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TmV0QnJvd3NlWCg8U0lEPk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSw8U0lEPk5ldEdldFdvcmQoKSksMSk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDwyLWxlZnRtb3VzZT4gOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2UoPFNJRD5OZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksPFNJRD5OZXRHZXRXb3JkKCkpKTxjcj4KICAgZXhlICdubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8ZGVsPgk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPk5ldEJyb3dzZVJtKCInLnVzZXIubWFjaGluZS4nIiwiJy5wYXRoLiciKTxjcj4nCiAgIGV4ZSAndm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPGRlbD4JOmNhbGwgPFNJRD5OZXRCcm93c2VSbSgiJy51c2VyLm1hY2hpbmUuJyIsIicucGF0aC4nIik8Y3I+JworICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IGQJOmNhbGwgPFNJRD5OZXRNYWtlRGlyKCInLnVzZXIubWFjaGluZS4nIik8Y3I+JwogICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IEQJOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2VSbSgiJy51c2VyLm1hY2hpbmUuJyIsIicucGF0aC4nIik8Y3I+JwogICBleGUgJ3Zub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IEQJOmNhbGwgPFNJRD5OZXRCcm93c2VSbSgiJy51c2VyLm1hY2hpbmUuJyIsIicucGF0aC4nIik8Y3I+JwogICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IFIJOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5OZXRCcm93c2VSZW5hbWUoIicudXNlci5tYWNoaW5lLiciLCInLnBhdGguJyIpPGNyPicKICAgZXhlICd2bm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBSCTpjYWxsIDxTSUQ+TmV0QnJvd3NlUmVuYW1lKCInLnVzZXIubWFjaGluZS4nIiwiJy5wYXRoLiciKTxjcj4nCi0gIGV4ZSAnbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPExlYWRlcj5tIDpjYWxsIDxTSUQ+TmV0TWFrZURpcigiJy51c2VyLm1hY2hpbmUuJyIpPGNyPicKICAgbm5vcmVtYXAgPGJ1ZmZlcj4gPwkJCTpoZSBuZXRydy1icm93c2UtY21kczxjcj4KICAgc2V0bG9jYWwgbWEKIAogICAiIFNldCB1cCB0aGUgYmFubmVyCi0iICBjYWxsIERlY2hvKCJleGVjdXRpbmc6IHIhICIubGlzdGNtZC4iICciLnBhdGguIiciKQotICBrZWVwanVtcHMgcHV0ID0nXCIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JworIiAgY2FsbCBEZWNobygic2V0IHVwIHRoZSBiYW5uZXI6IHNvcnRieTwiLmc6bmV0cndfc29ydF9ieS4iPiBtZXRob2Q8Ii5tZXRob2QuIj4iKQorICBrZWVwanVtcHMgcHV0ID0nXCIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JwogICBrZWVwanVtcHMgcHV0ID0nXCIgTmV0cncgUmVtb3RlIERpcmVjdG9yeSBMaXN0aW5nJwogICBrZWVwanVtcHMgcHV0ID0nXCIgICAnLmJ1Zm5hbWUKLSAgbGV0IGc6bmV0cndfYmFubmVyY250PSA2CisgIGxldCBzOm5ldHJ3X2Jhbm5lcmNudD0gNworICBsZXQgc29ydGJ5PSBnOm5ldHJ3X3NvcnRfYnkKKyAgaWYgZzpuZXRyd19zb3J0X2RpcmVjdGlvbiA9fiAiXnIiCisgICBsZXQgc29ydGJ5PSBzb3J0YnkuIiByZXZlcnNlZCIKKyAgZW5kaWYKKwogICBpZiBnOm5ldHJ3X3NvcnRfYnkgPX4gIl5uIgogICAgIiBzb3J0ZWQgYnkgbmFtZQotICAgbGV0IGc6bmV0cndfYmFubmVyY250PSBnOm5ldHJ3X2Jhbm5lcmNudCArIDEKLSAgIGtlZXBqdW1wcyBwdXQgPSdcIiAgIFNvcnRlZCBieSAgICAgICcuZzpuZXRyd19zb3J0X2J5CisgICBsZXQgczpuZXRyd19iYW5uZXJjbnQ9IHM6bmV0cndfYmFubmVyY250ICsgMQorICAga2VlcGp1bXBzIHB1dCA9J1wiICAgU29ydGVkIGJ5ICAgICAgJy5zb3J0YnkKICAgIGtlZXBqdW1wcyBwdXQgPSdcIiAgIFNvcnQgc2VxdWVuY2U6ICcuZzpuZXRyd19zb3J0X3NlcXVlbmNlCiAgIGVsc2UKICAgICIgc29ydGVkIGJ5IHNpemUgb3IgZGF0ZQotICAga2VlcGp1bXBzIHB1dCA9J1wiICAgU29ydGVkIGJ5ICcuZzpuZXRyd19zb3J0X2J5CisgICBrZWVwanVtcHMgcHV0ID0nXCIgICBTb3J0ZWQgYnkgJy5zb3J0YnkKICAgZW5kaWYKICAgaWYgZzpuZXRyd19saXN0X2hpZGUgIT0gIiIgJiYgZzpuZXRyd19oaWRlCiAgICBrZWVwanVtcHMgcHV0ID0nXCIgICBIaWRpbmc6ICcuZzpuZXRyd19saXN0X2hpZGUKLSAgIGxldCBnOm5ldHJ3X2Jhbm5lcmNudD0gZzpuZXRyd19iYW5uZXJjbnQgKyAxCisgICBsZXQgczpuZXRyd19iYW5uZXJjbnQ9IHM6bmV0cndfYmFubmVyY250ICsgMQogICBlbmRpZgotICBrZWVwanVtcHMgcHV0ID0nXCIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JworICBrZWVwanVtcHMgcHV0ID0nXCIgICBRdWljayBIZWxwOiAgICA/OmhlbHAgIC06Z28gdXAgZGlyICBEOmRlbGV0ZSAgUjpyZW5hbWUgIHM6c29ydC1ieSAgeDpleGVjJworICBrZWVwanVtcHMgcHV0ID0nXCIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JwogCi0gICIgcmVtb3RlIHJlYWQgdGhlIHJlcXVlc3RlZCBkaXJlY3RvcnkKLSAgZXhlICJzaWxlbnQgciEgIi5saXN0Y21kLiIgJyIucGF0aC4iJyIKLSAga2VlcGp1bXBzIDFkCisgICIgcmVtb3RlIHJlYWQgdGhlIHJlcXVlc3RlZCBkaXJlY3RvcnkgbGlzdGluZworICAiIFVzZSBmdHAgaWYgdGhhdCB3YXMgdGhlIGZpbGUtdHJhbnNmZXIgbWV0aG9kIHNlbGVjdGVkLCBvdGhlcndpc2UgdXNlIHNzaAorICAiIE5vdGUgdGhhdCBub3QgYWxsIGZ0cCBzZXJ2ZXJzIGhvbm9yIHRoZSBvcHRpb25zIGZvciBscworICBpZiBtZXRob2QgPT0gImZ0cCIKKyAgIGNhbGwgTmV0QnJvd3NlRnRwQ21kKHBhdGgsImxzICIubGlzdGNtZCkKKyAgIGtlZXBqdW1wcyAxZAorCisgICBpZiAhZzpuZXRyd19sb25nbGlzdAorIiAgICBjYWxsIERlY2hvKCJnZW5lcmF0ZSBzaG9ydCBsaXN0aW5nIikKKyAgICAiIHNob3J0ZW4gdGhlIGxpc3RpbmcKKyAgICBleGUgImtlZXBqdW1wcyAiLnM6bmV0cndfYmFubmVyY250CisgICAgIiBjbGVhbnVwCisgICAgd2hpbGUgZ2V0bGluZSgiLiIpID1+IGc6bmV0cndfZnRwX2Jyb3dzZV9yZWplY3QKKyAgICAga2VlcGp1bXBzIGQKKyAgICBlbmR3aGlsZQorICAgIGtlZXBqdW1wcyBwdXQ9Jy4uLycKKyAgICBrZWVwanVtcHMgcHV0PScuLycKKyAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5zOm5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cKFwlKFxTXCtcc1wrXClcezd9XFNcK1wpXHNcK1woXFMuKlwpJC9cMi9lJworICAgIGV4ZSAia2VlcGp1bXBzIHNpbGVudCAiLnM6bmV0cndfYmFubmVyY250LicsJGcvIC0+IC9zIyAtPiAuKi8kIy8jJworICAgIGV4ZSAia2VlcGp1bXBzIHNpbGVudCAiLnM6bmV0cndfYmFubmVyY250LicsJGcvIC0+IC9zIyAtPiAuKiQjLyMnCisgICBlbmRpZgorCisgIGVsc2UKKyIgICBjYWxsIERlY2hvKCJ1c2Ugc3NoIikKKyAgIGxldCBzaHE9ICZzaHE/ICZzaHEgOiAoICZzeHE/ICZzeHEgOiAiJyIpCisiICAgY2FsbCBEZWNobygiZXhlIHNpbGVudCByISAiLmxpc3RjbWQuIiAiLnNocS5lc2NhcGUocGF0aCxzOm5ldHJ3X2NkX2VzY2FwZSkuc2hxKQorICAgZXhlICJzaWxlbnQgciEgIi5saXN0Y21kLiIgIi5zaHEuZXNjYXBlKHBhdGgsczpuZXRyd19jZF9lc2NhcGUpLnNocQorICAga2VlcGp1bXBzIDFkCisgIGVuZGlmCiAKICAgIiBtYW5pcHVsYXRlIHRoZSBkaXJlY3RvcnkgbGlzdGluZyAoaGlkZSwgc29ydCkKICAgc2V0bG9jYWwgZnQ9bmV0cndsaXN0Ci0gIGlmIGxpbmUoIiQiKSA+PSBnOm5ldHJ3X2Jhbm5lcmNudAorICBpZiBsaW5lKCIkIikgPj0gczpuZXRyd19iYW5uZXJjbnQKICAgIGlmIGc6bmV0cndfaGlkZSAmJiBnOm5ldHJ3X2xpc3RfaGlkZSAhPSAiIgogICAgIGNhbGwgczpOZXRyd0xpc3RIaWRlKCkKICAgIGVuZGlmCisKICAgIGlmIGc6bmV0cndfbG9uZ2xpc3QKICAgICAiIGRvIGEgbG9uZyBsaXN0aW5nOyB0aGVzZSBzdWJzdGl0dXRpb25zIG5lZWQgdG8gYmUgZG9uZSBwcmlvciB0byBzb3J0aW5nCi0gICAga2VlcGp1bXBzIHNpbGVudCAvXnRvdGFsXHMqXGRcKyQvZAotICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLmc6bmV0cndfYmFubmVyY250LicsJHMvIC0+IC4qJC8vZScKLSAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5nOm5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cKFwlKFxTXCtcc1wrXClcezd9XFNcK1wpXHNcK1woXFMuKlwpJC9cMlx0XDEvZScKLSAgICBleGUgZzpuZXRyd19iYW5uZXJjbnQKKyIgICAgY2FsbCBEZWNobygibWFuaXB1bGF0ZSBsb25nIGxpc3RpbmciKQorCisgICAgaWYgbWV0aG9kID09ICJmdHAiCisgICAgICIgY2xlYW51cAorICAgICBleGUgImtlZXBqdW1wcyAiLnM6bmV0cndfYmFubmVyY250CisgICAgIHdoaWxlIGdldGxpbmUoIi4iKSA9fiAnXnRvdGFsXHNcK1xkXCskJyB8fCBnZXRsaW5lKCIuIikgPX4gJ1RyeWluZ1xzXCtcZFwrLiokJworICAgICAga2VlcGp1bXBzIGQKKyAgICAgZW5kd2hpbGUKKyAgICAgZXhlICdrZWVwanVtcHMgJy5zOm5ldHJ3X2Jhbm5lcmNudC4icHV0PScuLyciCisgICAgIGV4ZSAna2VlcGp1bXBzICcuczpuZXRyd19iYW5uZXJjbnQuInB1dD0nLi4vJyIKKyAgICBlbmRpZgorCisgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcuczpuZXRyd19iYW5uZXJjbnQuJywkcy8gLT4gLiokLy9lJworICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnM6bmV0cndfYmFubmVyY250LicsJHMvXlwoXCUoXFNcK1xzXCtcKVx7N31cU1wrXClcc1wrXChcUy4qXCkkL1wyXHRcMS9lJworICAgIGV4ZSBzOm5ldHJ3X2Jhbm5lcmNudAogICAgZW5kaWYKKwogICAgaWYgZzpuZXRyd19zb3J0X2J5ID1+ICJebiIKICAgICBjYWxsIHM6U2V0U29ydCgpCi0gICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcuZzpuZXRyd19iYW5uZXJjbnQuJywkY2FsbCBzOk5ldFNvcnQoKScKLSAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5nOm5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cZFx7M31cLy8vZScKKyAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5zOm5ldHJ3X2Jhbm5lcmNudC4nLCRjYWxsIHM6TmV0U29ydCgpJworICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnM6bmV0cndfYmFubmVyY250LicsJHMvXlxkXHszfVwvLy9lJwogICAgZW5kaWYKICAgIGlmIGc6bmV0cndfbG9uZ2xpc3QKICAgICAiIHNob3J0ZW4gdGhlIGxpc3QgdG8ga2VlcCBpdHMgd2lkdGggPD0gODAgY2hhcmFjdGVycwotICAgIGV4ZSAia2VlcGp1bXBzIHNpbGVudCAiLmc6bmV0cndfYmFubmVyY250LicsJHMvXHRbLWRzdHJ3eF1cKy9cdC9lJworICAgIGV4ZSAia2VlcGp1bXBzIHNpbGVudCAiLnM6bmV0cndfYmFubmVyY250LicsJHMvXHRbLWRzdHJ3eF1cKy9cdC9lJwogICAgZW5kaWYKICAgZW5kaWYKKyAgc2V0bG9jYWwgbm9tb2QKKyAgc2V0bG9jYWwgbm9tYQogCi0gIHNldGxvY2FsIG5vbWEgbm9tb2QKLQotIiAgY2FsbCBEcmV0KCJOZXRCcm93c2UgMSIpCi0gIHJldHVybiAxCisiICBjYWxsIERyZXQoIk5ldEJyb3dzZSIpCisgIHJldHVybgogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkBAIC0xMTg4LDE5ICsxMjgwLDE5IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KLSIgIE5ldEdldERpcjogaXQgZ2V0cyB0aGUgZGlyZWN0b3J5IG5hbWVkIHVuZGVyIHRoZSBjdXJzb3IKLWZ1biEgPFNJRD5OZXRHZXREaXIoKQotIiAgY2FsbCBEZnVuYygiTmV0R2V0RGlyKCkgbGluZSMiLmxpbmUoIi4iKSkKKyIgIE5ldEdldFdvcmQ6IGl0IGdldHMgdGhlIGRpcmVjdG9yeSBuYW1lZCB1bmRlciB0aGUgY3Vyc29yCitmdW4hIDxTSUQ+TmV0R2V0V29yZCgpCisiICBjYWxsIERmdW5jKCJOZXRHZXRXb3JkKCkgbGluZSMiLmxpbmUoIi4iKSkKICAgbGV0IGRpcm5hbWU9IGdldGxpbmUoIi4iKQogICBpZiBkaXJuYW1lID1+ICdcdCcKICAgIGxldCBkaXJuYW1lPSBzdWJzdGl0dXRlKGRpcm5hbWUsJ1x0LiokJywnJywnZScpCiAgIGVuZGlmCi0iICBjYWxsIERyZXQoIk5ldEdldERpciA8Ii5kaXJuYW1lLiI+IikKKyIgIGNhbGwgRHJldCgiTmV0R2V0V29yZCA8Ii5kaXJuYW1lLiI+IikKICAgcmV0dXJuIGRpcm5hbWUKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQotIiBOZXRCcm93c2VSbTogcmVtb3ZlIGEgcmVtb3RlIGZpbGUgb3IgZGlyZWN0b3J5IHt7ezIKKyIgTmV0QnJvd3NlUm06IHJlbW92ZS9kZWxldGUgYSByZW1vdGUgZmlsZSBvciBkaXJlY3Rvcnkge3t7MgogZnVuISA8U0lEPk5ldEJyb3dzZVJtKHVzcmhvc3QscGF0aCkgcmFuZ2UKICIgIGNhbGwgRGZ1bmMoIk5ldEJyb3dzZVJtKHVzcmhvc3Q8Ii5hOnVzcmhvc3QuIj4gcGF0aDwiLmE6cGF0aC4iPikiKQogIiAgY2FsbCBEZWNobygiZmlyc3RsaW5lPSIuYTpmaXJzdGxpbmUuIiBsYXN0bGluZT0iLmE6bGFzdGxpbmUpCkBAIC0xMjEzLDQxICsxMzA1LDUyIEBACiAgICBleGUgY3RyCiAKICAgIG5vcm0hIDAKLSAgIGxldCBybWZpbGU9IGE6cGF0aC5zOk5ldEdldERpcigpCisgICBsZXQgcm1maWxlPSBzOk5ldEdldFdvcmQoKQogIiAgIGNhbGwgRGVjaG8oInJtZmlsZTwiLnJtZmlsZS4iPiIpCiAKICAgIGlmIHJtZmlsZSAhfiAnXiInICYmIChybWZpbGUgPX4gJ0AkJyB8fCBybWZpbGUgIX4gJy8kJykKICAgICAiIGF0dGVtcHQgdG8gcmVtb3ZlIGZpbGUKLSAgICBsZXQgbmV0cndfcm1fY21kPSBzdWJzdGl0dXRlKGc6bmV0cndfcm1fY21kLCdIT1NUTkFNRScsYTp1c3Job3N0LCcnKS4nICcucm1maWxlCi0iICAgIGNhbGwgRGVjaG8oImF0dGVtcHQgdG8gcmVtb3ZlIGZpbGU6IHN5c3RlbSgiLm5ldHJ3X3JtX2NtZC4iKSIpCiAgICAgY2FsbCBpbnB1dHNhdmUoKQogICAgIGxldCBvaz0gaW5wdXQoIkNvbmZpcm0gZGVsZXRpb24gb2YgZmlsZTwiLnJtZmlsZS4iPiAiLCJ5IikKICAgICBjYWxsIGlucHV0cmVzdG9yZSgpCisKICAgICBpZiBvayA9PSAieSIKLSAgICAgbGV0IHJldD0gc3lzdGVtKG5ldHJ3X3JtX2NtZCkKLSIgICAgIGNhbGwgRGVjaG8oInJldHVybmVkPSIucmV0LiIgZXJyY29kZT0iLnY6c2hlbGxfZXJyb3IpCisgICAgIGlmIGV4aXN0cygiczpuZXRyd19tZXRob2QiKSAmJiAoczpuZXRyd19tZXRob2QgPT0gMiB8fCBzOm5ldHJ3X21ldGhvZCA9PSAzKQorICAgICAgc2lsZW50ISBrZWVwanVtcHMgLiwkZAorICAgICAgY2FsbCBOZXRCcm93c2VGdHBDbWQoYTpwYXRoLCJkZWxldGUgIi5ybWZpbGUpCisgICAgIGVsc2UKKyAgICAgIGxldCBuZXRyd19ybV9jbWQ9IHN1YnN0aXR1dGUoZzpuZXRyd19ybV9jbWQsJ0hPU1ROQU1FJyxhOnVzcmhvc3QsJycpLicgIicuZXNjYXBlKGE6cGF0aC5ybWZpbGUsczpuZXRyd19jZF9lc2NhcGUpLiciJworIiAgICAgIGNhbGwgRGVjaG8oImF0dGVtcHQgdG8gcmVtb3ZlIGZpbGU6IHN5c3RlbSgiLm5ldHJ3X3JtX2NtZC4iKSIpCisgICAgICBsZXQgcmV0PSBzeXN0ZW0obmV0cndfcm1fY21kKQorIiAgICAgIGNhbGwgRGVjaG8oInJldHVybmVkPSIucmV0LiIgZXJyY29kZT0iLnY6c2hlbGxfZXJyb3IpCisgICAgIGVuZGlmCiAgICAgZW5kaWYKICAgCiAgICBlbHNlCiAgICAgIiBhdHRlbXB0IHRvIHJlbW92ZSBkaXJlY3RvcnkKLSAgICBsZXQgbmV0cndfcm1kaXJfY21kPSBzdWJzdGl0dXRlKGc6bmV0cndfcm1kaXJfY21kLCdIT1NUTkFNRScsYTp1c3Job3N0LCcnKS4nICcucm1maWxlCi0iICAgIGNhbGwgRGVjaG8oImF0dGVtcHQgdG8gcmVtb3ZlIGRpcjogc3lzdGVtKCIubmV0cndfcm1kaXJfY21kLiIpIikKICAgICBjYWxsIGlucHV0c2F2ZSgpCiAgICAgbGV0IG9rPSBpbnB1dCgiQ29uZmlybSBkZWxldGlvbiBvZiBkaXJlY3Rvcnk8Ii5ybWZpbGUuIj4gIiwieSIpCiAgICAgY2FsbCBpbnB1dHJlc3RvcmUoKQogCiAgICAgaWYgb2sgPT0gInkiCi0gICAgIGxldCByZXQ9IHN5c3RlbShuZXRyd19ybWRpcl9jbWQpCi0iICAgICBjYWxsIERlY2hvKCJyZXR1cm5lZD0iLnJldC4iIGVycmNvZGU9Ii52OnNoZWxsX2Vycm9yKQotCi0gICAgIGlmIHY6c2hlbGxfZXJyb3IgIT0gMAotICAgICAgbGV0IG5ldHJ3X3JtZl9jbWQ9IHN1YnN0aXR1dGUoZzpuZXRyd19ybWZfY21kLCdIT1NUTkFNRScsYTp1c3Job3N0LCcnKS4nICcuc3Vic3RpdHV0ZShybWZpbGUsJy8kJywnJywnZScpCi0iICAgICAgY2FsbCBEZWNobygiMm5kIGF0dGVtcHQgdG8gcmVtb3ZlIGRpcjogc3lzdGVtKCIubmV0cndfcm1mX2NtZC4iKSIpCi0gICAgICBsZXQgcmV0PSBzeXN0ZW0obmV0cndfcm1mX2NtZCkKKyAgICAgaWYgZXhpc3RzKCJzOm5ldHJ3X21ldGhvZCIpICYmIChzOm5ldHJ3X21ldGhvZCA9PSAyIHx8IHM6bmV0cndfbWV0aG9kID09IDMpCisgICAgICBjYWxsIE5ldEJyb3dzZUZ0cENtZChhOnBhdGgsInJtZGlyICIucm1maWxlKQorICAgICBlbHNlCisgICAgICBsZXQgcm1maWxlICAgICAgICAgPSBhOnBhdGgucm1maWxlCisgICAgICBsZXQgbmV0cndfcm1kaXJfY21kPSBzdWJzdGl0dXRlKGc6bmV0cndfcm1kaXJfY21kLCdIT1NUTkFNRScsYTp1c3Job3N0LCcnKS4nICcuIiciLiciJy5ybWZpbGUuJyInLiInIgorIiAgICAgIGNhbGwgRGVjaG8oImF0dGVtcHQgdG8gcmVtb3ZlIGRpcjogc3lzdGVtKCIubmV0cndfcm1kaXJfY21kLiIpIikKKyAgICAgIGxldCByZXQ9IHN5c3RlbShuZXRyd19ybWRpcl9jbWQpCiAiICAgICAgY2FsbCBEZWNobygicmV0dXJuZWQ9Ii5yZXQuIiBlcnJjb2RlPSIudjpzaGVsbF9lcnJvcikKIAogICAgICAgaWYgdjpzaGVsbF9lcnJvciAhPSAwCi0gICAgICAgZWNob2VyciAidW5hYmxlIHRvIHJlbW92ZSBkaXJlY3Rvcnk8Ii5ybWZpbGUuIj4gLS0gaXMgaXQgZW1wdHk/IgorICAgICAgIGxldCBuZXRyd19ybWZfY21kPSBzdWJzdGl0dXRlKGc6bmV0cndfcm1mX2NtZCwnSE9TVE5BTUUnLGE6dXNyaG9zdCwnJykuJyAnLnN1YnN0aXR1dGUocm1maWxlLCcvJCcsJycsJ2UnKQorIiAgICAgICBjYWxsIERlY2hvKCIybmQgYXR0ZW1wdCB0byByZW1vdmUgZGlyOiBzeXN0ZW0oIi5uZXRyd19ybWZfY21kLiIpIikKKyAgICAgICBsZXQgcmV0PSBzeXN0ZW0obmV0cndfcm1mX2NtZCkKKyIgICAgICAgY2FsbCBEZWNobygicmV0dXJuZWQ9Ii5yZXQuIiBlcnJjb2RlPSIudjpzaGVsbF9lcnJvcikKKyAgICAgCisgICAgICAgaWYgdjpzaGVsbF9lcnJvciAhPSAwCisgICAgICAgIGVjaG9lcnIgInVuYWJsZSB0byByZW1vdmUgZGlyZWN0b3J5PCIucm1maWxlLiI+IC0tIGlzIGl0IGVtcHR5PyIKKyAgICAgICBlbmRpZgogICAgICAgZW5kaWYKICAgICAgZW5kaWYKICAgICBlbmRpZgpAQCAtMTI3OSwxNSArMTM4MiwyMSBAQAogICAgZXhlICJrZWVwanVtcHMgIi5jdHIKIAogICAgbm9ybSEgMAotICAgbGV0IG9sZG5hbWU9IGE6cGF0aC5zOk5ldEdldERpcigpCisgICBsZXQgb2xkbmFtZT0gczpOZXRHZXRXb3JkKCkKICIgICBjYWxsIERlY2hvKCJvbGRuYW1lPCIub2xkbmFtZS4iPiIpCiAKICAgIGNhbGwgaW5wdXRzYXZlKCkKLSAgIGxldCBuZXduYW1lPSBpbnB1dCgiTW92aW5nICIuYTp1c3Job3N0LiIncyAiLm9sZG5hbWUuIiB0byA6ICIsb2xkbmFtZSkKKyAgIGxldCBuZXduYW1lPSBpbnB1dCgiTW92aW5nICIub2xkbmFtZS4iIHRvIDogIixvbGRuYW1lKQogICAgY2FsbCBpbnB1dHJlc3RvcmUoKQogCi0gICBsZXQgcmV0PSBzeXN0ZW0ocmVuYW1lX2NtZC4iICIub2xkbmFtZS4iICIubmV3bmFtZSkKLSIgICBjYWxsIERlY2hvKCJleGVjdXRpbmcgc3lzdGVtKCIucmVuYW1lX2NtZC4iICIub2xkbmFtZS4iICIubmV3bmFtZSkKKyAgIGlmIGV4aXN0cygiczpuZXRyd19tZXRob2QiKSAmJiAoczpuZXRyd19tZXRob2QgPT0gMiB8fCBzOm5ldHJ3X21ldGhvZCA9PSAzKQorICAgIGNhbGwgTmV0QnJvd3NlRnRwQ21kKGE6cGF0aCwicmVuYW1lICIub2xkbmFtZS4iICIubmV3bmFtZSkKKyAgIGVsc2UKKyAgICBsZXQgb2xkbmFtZT0gYTpwYXRoLm9sZG5hbWUKKyAgICBsZXQgbmV3bmFtZT0gYTpwYXRoLm5ld25hbWUKKyIgICAgY2FsbCBEZWNobygic3lzdGVtKHJlbmFtZV9jbWQiLicgIicuZXNjYXBlKG9sZG5hbWUsIiAiKS4nIiAiJy5lc2NhcGUobmV3bmFtZSxzOm5ldHJ3X2NkX2VzY2FwZSkuJyInKQorICAgIGxldCByZXQ9IHN5c3RlbShyZW5hbWVfY21kLicgIicuZXNjYXBlKG9sZG5hbWUsczpuZXRyd19jZF9lc2NhcGUpLiciICInLmVzY2FwZShuZXduYW1lLHM6bmV0cndfY2RfZXNjYXBlKS4nIicpCisgICBlbmRpZgogCiAgICBsZXQgY3RyPSBjdHIgKyAxCiAgIGVuZHdoaWxlCkBAIC0xMzA2LDYgKzE0MTUsOSBAQAogIiAgY2FsbCBEZnVuYygiTmV0QnJvd3NlWCgiLmE6Zm5hbWUuIiByZW1vdGU9Ii5hOnJlbW90ZS4iKSIpCiAKICAgbGV0IGV4dGVuPSBzdWJzdGl0dXRlKGE6Zm5hbWUsJy4qXC5cKC5cey19XCknLCdcMScsJ2UnKQorICBpZiBoYXMoIndpbjMyIikgfHwgaGFzKCJ3aW45NSIpIHx8IGhhcygid2luNjQiKSB8fCBoYXMoIndpbjE2IikKKyAgIGxldCBleHRlbj0gc3Vic3RpdHV0ZShleHRlbiwnXi4qJCcsJ1xMJlxFJywnJykKKyAgZW5kaWYKICIgIGNhbGwgRGVjaG8oImV4dGVuPCIuZXh0ZW4uIj4gIi4iTmV0cndGaWxlSGFuZGxlcl8iLmV4dGVuLiIoKTpleGlzdHM9Ii5leGlzdHMoIipOZXRyd0ZpbGVIYW5kbGVyXyIuZXh0ZW4pKQogICBpZiBleHRlbiAhPSAiIiAmJiBleGlzdHMoIipOZXRyd0ZpbGVIYW5kbGVyXyIuZXh0ZW4pCiAKQEAgLTEzNDUsNiArMTQ1Nyw3OSBAQAogZW5kZnVuCiAKICIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisiIE5ldEJyb3dzZUZ0cENtZDogdW5mb3J0dW5hdGVseSwgbm90IGFsbCBmdHAgc2VydmVycyBob25vciBvcHRpb25zIGZvciBscyB7e3syCisiICBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBhIGxvbmcgbGlzdGluZyB3aWxsIGJlIHJlY2VpdmVkLiAgU2l6ZSwgdGltZSwKKyIgIGFuZCByZXZlcnNlIHNvcnRzIHdpbGwgYmUgcmVxdWVzdGVkIG9mIHRoZSBzZXJ2ZXIgYnV0IG5vdCBvdGhlcndpc2UKKyIgIGVuZm9yY2VkIGhlcmUuCitmdW4hIE5ldEJyb3dzZUZ0cENtZChwYXRoLGNtZCkKKyIgIGNhbGwgRGZ1bmMoIk5ldEJyb3dzZUZ0cENtZChwYXRoPCIuYTpwYXRoLiI+IGNtZDwiLmE6Y21kLiI+KSBuZXRyd19tZXRob2Q9Ii5zOm5ldHJ3X21ldGhvZCkKKworICAiIGJlY2F1c2UgV2luWFggZnRwIHVzZXMgdW5peCBzdHlsZSBpbnB1dAorICAiIGN1cmxpbmUgaXMgb25lIG1vcmUgdGhhbiB0aGUgYmFubmVyY250IGluIG9yZGVyIHRvIGFjY291bnQKKyAgIiBmb3IgdGhlIHVud2FudGVkIGZpcnN0IGJsYW5rIGxpbmUgKGRvaW5nIGEgOnB1dCB0byBhbiBlbXB0eQorICAiIGJ1ZmZlciB5aWVsZHMgYSBibGFuayBmaXJzdCBsaW5lKQorICBsZXQgZmZrZWVwPSAmZmYKKyAgc2V0bG9jYWwgbWEKKyAgc2V0bG9jYWwgZmY9dW5peAorICBsZXQgY3VybGluZT0gczpuZXRyd19iYW5uZXJjbnQrMQorICBleGUgInNpbGVudCEga2VlcGp1bXBzICIuY3VybGluZS4iLCRkIgorCisgICAiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgaWYgczpuZXRyd19tZXRob2QgPT0gMgorICAgIiBmdHAgKyA8Lm5ldHJjPjogIE1ldGhvZCAjMgorICAgaWYgYTpwYXRoICE9ICIiCisgICAgcHV0ID0nY2QgJy5hOnBhdGgKKyAgIGVuZGlmCisgICBleGUgInB1dCA9JyIuYTpjbWQuIiciCisKKyAgIGlmIGV4aXN0cygiZzpuZXRyd19wb3J0IikgJiYgZzpuZXRyd19wb3J0ICE9ICIiCisiICAgIGNhbGwgRGVjaG8oImV4ZSAiLmc6bmV0cndfc2lsZW50eGZlci5jdXJsaW5lLiIsJCEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lLiIgIi5nOm5ldHJ3X3BvcnQpCisgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci5jdXJsaW5lLiIsJCEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lLiIgIi5nOm5ldHJ3X3BvcnQKKyAgIGVsc2UKKyIgICAgY2FsbCBEZWNobygiZXhlICIuZzpuZXRyd19zaWxlbnR4ZmVyLmN1cmxpbmUuIiwkISIuZzpuZXRyd19mdHBfY21kLiIgLWkgIi5nOm5ldHJ3X21hY2hpbmUpCisgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci5jdXJsaW5lLiIsJCEiLmc6bmV0cndfZnRwX2NtZC4iIC1pICIuZzpuZXRyd19tYWNoaW5lCisgICBlbmRpZgorCisgICAiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgZWxzZWlmIHM6bmV0cndfbWV0aG9kID09IDMKKyAgICIgZnRwICsgbWFjaGluZSxpZCxwYXNzd2QsZmlsZW5hbWU6ICBNZXRob2QgIzMKKyAgICBzZXRsb2NhbCBmZj11bml4CisgICAgaWYgZXhpc3RzKCJnOm5ldHJ3X3BvcnQiKSAmJiBnOm5ldHJ3X3BvcnQgIT0gIiIKKyAgICAgcHV0ID0nb3BlbiAnLmc6bmV0cndfbWFjaGluZS4nICcuZzpuZXRyd19wb3J0CisgICAgZWxzZQorICAgICBwdXQgPSdvcGVuICcuZzpuZXRyd19tYWNoaW5lCisgICAgZW5kaWYKKyAKKyAgICBpZiBleGlzdHMoImc6bmV0cndfZnRwIikgJiYgZzpuZXRyd19mdHAgPT0gMQorICAgICBwdXQgPWc6bmV0cndfdWlkCisgICAgIHB1dCA9ZzpuZXRyd19wYXNzd2QKKyAgICBlbHNlCisgICAgIHB1dCA9J3VzZXIgJy5nOm5ldHJ3X3VpZC4nICcuZzpuZXRyd19wYXNzd2QKKyAgICBlbmRpZgorIAorICAgaWYgYTpwYXRoICE9ICIiCisgICAgcHV0ID0nY2QgJy5hOnBhdGgKKyAgIGVuZGlmCisgICBleGUgInB1dCA9JyIuYTpjbWQuIiciCisgCisgICAgIiBwZXJmb3JtIGZ0cDoKKyAgICAiIC1pICAgICAgIDogdHVybnMgb2ZmIGludGVyYWN0aXZlIHByb21wdGluZyBmcm9tIGZ0cAorICAgICIgLW4gIHVuaXggOiBET04nVCB1c2UgPC5uZXRyYz4sIGV2ZW4gdGhvdWdoIGl0IGV4aXN0cworICAgICIgLW4gIHdpbjMyOiBxdWl0IGJlaW5nIG9ibm94aW91cyBhYm91dCBwYXNzd29yZAorIiAgICBjYWxsIERlY2hvKCJleGUgIi5nOm5ldHJ3X3NpbGVudHhmZXIuY3VybGluZS4iLCQhIi5nOm5ldHJ3X2Z0cF9jbWQuIiAtaSAtbiIpCisgICAgZXhlIGc6bmV0cndfc2lsZW50eGZlci5jdXJsaW5lLiIsJCEiLmc6bmV0cndfZnRwX2NtZC4iIC1pIC1uIgorCisgICAiLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4uLi4KKyAgZWxzZQorICAgIGVjaG8gIioqKndhcm5pbmcqKiogdW5hYmxlIHRvIGNvbXBseSB3aXRoIHlvdXIgcmVxdWVzdDwiIC4gY2hvaWNlIC4gIj4iCisgIGVuZGlmCisKKyAgIiByZXN0b3JlIHNldHRpbmdzCisgIGxldCAmZmY9IGZma2VlcAorIiAgY2FsbCBEcmV0KCJOZXRCcm93c2VGdHBDbWQiKQorZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIE5ldHJ3TGlzdEhpZGU6IHVzZXMgW3JhbmdlXWd+Li4ufmQgdG8gZGVsZXRlIGZpbGVzIHRoYXQgbWF0Y2ggY29tbWEge3t7MgogIiBzZXBhcmF0ZWQgcGF0dGVybnMgZ2l2ZW4gaW4gZzpuZXRyd19saXN0X2hpZGUKIGZ1biEgPFNJRD5OZXRyd0xpc3RIaWRlKCkKQEAgLTEzNjAsNyArMTU0NSw3IEBACiAgICAgbGV0IGxpc3RoaWRlPSAiIgogICAgZW5kaWYKICIgICBjYWxsIERlY2hvKCJwcnVuaW5nIDwiLmhpZGUuIj4gbGlzdGhpZGU8Ii5saXN0aGlkZS4iPiIpCi0gICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5nOm5ldHJ3X2Jhbm5lcmNudC4nLCRnficuaGlkZS4nfmQnCisgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5zOm5ldHJ3X2Jhbm5lcmNudC4nLCRnficuaGlkZS4nfmQnCiAgIGVuZHdoaWxlCiAKICIgIGNhbGwgRHJldCgiTmV0cndMaXN0SGlkZSIpCkBAIC0xMzgwLDE2ICsxNTY1LDM3IEBACiAgIGlmIGE6bW9kZSA9PSAwCiAgICBzaWxlbnQgY2FsbCBzOk5ldEJyb3dzZShzOk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSwnLi8nKSkKICAgZWxzZQotICAgc2lsZW50IGNhbGwgczpMb2NhbEJyb3dzZShzOk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSwnLi8nKSkKKyAgIHNpbGVudCBjYWxsIHM6TG9jYWxCcm93c2UoPFNJRD5Mb2NhbEJyb3dzZUNoZ0RpcihiOm5ldHJ3X2N1cmRpciwiLi8iKSkKICAgZW5kaWYKIAogIiAgY2FsbCBEcmV0KCJOZXRIaWRlRWRpdCIpCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTmV0U29ydFNlcXVlbmNlOiBhbGxvd3MgdXNlciB0byBlZGl0IHRoZSBzb3J0aW5nIHNlcXVlbmNlCitmdW4hIDxTSUQ+TmV0U29ydFNlcXVlbmNlKG1vZGUpCisiICBjYWxsIERmdW5jKCJOZXRTb3J0U2VxdWVuY2UobW9kZT0iLmE6bW9kZS4iKSIpCisKKyAgY2FsbCBpbnB1dHNhdmUoKQorICBsZXQgbmV3c29ydHNlcT0gaW5wdXQoIkVkaXQgU29ydGluZyBTZXF1ZW5jZTogIixnOm5ldHJ3X3NvcnRfc2VxdWVuY2UpCisgIGNhbGwgaW5wdXRyZXN0b3JlKCkKKworICAiIHJlZnJlc2ggdGhlIGxpc3RpbmcKKyAgbGV0IGc6bmV0cndfc29ydF9zZXF1ZW5jZT0gbmV3c29ydHNlcQorICBpZiBhOm1vZGUgPT0gMAorICAgc2lsZW50IGNhbGwgczpOZXRCcm93c2UoczpOZXRCcm93c2VDaGdEaXIoZXhwYW5kKCIlIiksJy4vJykpCisgIGVsc2UKKyAgIHNpbGVudCBjYWxsIHM6TG9jYWxCcm93c2UoPFNJRD5Mb2NhbEJyb3dzZUNoZ0RpcihiOm5ldHJ3X2N1cmRpciwiLi8iKSkKKyAgZW5kaWYKKworIiAgY2FsbCBEcmV0KCJOZXRTb3J0U2VxdWVuY2UiKQorZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiICBOZXRMb25nTGlzdDoge3t7MgogZnVuISA8U0lEPk5ldExvbmdMaXN0KG1vZGUpCiAiICBjYWxsIERmdW5jKCJOZXRMb25nTGlzdChtb2RlPSIuYTptb2RlLiIpIG5ldHJ3X2xvbmdsaXN0PSIuZzpuZXRyd19sb25nbGlzdCkKKyAgY2FsbCBzOk5ldFNhdmVQb3NuKCkKIAogICBpZiBnOm5ldHJ3X2xvbmdsaXN0ICE9IDAKICAgICIgdHVybiBsb25nIGxpc3Rpbmcgb2ZmCkBAIC0xNDA2LDEzICsxNjEyLDMyIEBACiAgIGlmIGE6bW9kZSA9PSAwCiAgICBzaWxlbnQgY2FsbCA8U0lEPk5ldEJyb3dzZSg8U0lEPk5ldEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSwiLi8iKSkKICAgZWxzZQotICAgc2lsZW50IGNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLCIuLyIpKQorICAgc2lsZW50IGNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLCIuLyIpKQogICBlbmRpZgogCisgIGNhbGwgczpOZXRSZXN0b3JlUG9zbigpCiAiICBjYWxsIERyZXQoIk5ldExvbmdMaXN0IDogZzpuZXRyd19sb25nbGlzdD0iLmc6bmV0cndfbG9uZ2xpc3QpCiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgTmV0U2F2ZVdvcmRQb3NuOiB1c2VkIGJ5IHRoZSAicyIgY29tbWFuZCBpbiBib3RoIHJlbW90ZSBhbmQgbG9jYWwKKyIgYnJvd3NpbmcuICBBbG9uZyB3aXRoIE5ldFJlc3RvcmVXb3JkUG9zbigpLCBpdCBrZWVwcyB0aGUgY3Vyc29yIG9uCisiIHRoZSBzYW1lIHdvcmQgZXZlbiB0aG91Z2ggdGhlIHNvcnRpbmcgaGFzIGNoYW5nZWQgaXRzIG9yZGVyIG9mIGFwcGVhcmFuY2UuCitmdW4hIHM6TmV0U2F2ZVdvcmRQb3NuKCkKKyIgIGNhbGwgRGZ1bmMoIk5ldFNhdmVXb3JkUG9zbigpIikKKyAgbGV0IHM6bmV0cndfc2F2ZXdvcmQ9ICdeJy5lc2NhcGUoZ2V0bGluZSgiLiIpLHM6bmV0cndfY2RfZXNjYXBlKS4nJCcKKyIgIGNhbGwgRHJldCgiTmV0U2F2ZVdvcmRQb3NuIDogc2F2ZXdvcmQ8Ii5zOm5ldHJ3X3NhdmV3b3JkLiI+IikKK2VuZGZ1bgorCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBOZXRSZXN0b3JlV29yZFBvc246IHVzZWQgYnkgdGhlICJzIiBjb21tYW5kOyBzZWUgTmV0U2F2ZVdvcmRQb3NuKCkgYWJvdmUKK2Z1biEgczpOZXRSZXN0b3JlV29yZFBvc24oKQorIiAgY2FsbCBEZnVuYygiTmV0UmVzdG9yZVdvcmRQb3NuKCkiKQorICBzaWxlbnQhIGNhbGwgc2VhcmNoKHM6bmV0cndfc2F2ZXdvcmQsJ3cnKQorIiAgY2FsbCBEcmV0KCJOZXRSZXN0b3JlV29yZFBvc24iKQorZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIE5ldE1ha2VEaXI6IHRoaXMgZnVuY3Rpb24gbWFrZXMgYSBkaXJlY3RvcnkgKGJvdGggbG9jYWwgYW5kIHJlbW90ZSkKIGZ1biEgPFNJRD5OZXRNYWtlRGlyKHVzcmhvc3QpCiAiICBjYWxsIERmdW5jKCJOZXRNYWtlRGlyKHVzcmhvc3Q8Ii5hOnVzcmhvc3QuIj4pIikKQEAgLTE0MjMsMzEgKzE2NDgsNDUgQEAKICAgY2FsbCBpbnB1dHNhdmUoKQogICBsZXQgbmV3ZGlybmFtZT0gaW5wdXQoIlBsZWFzZSBnaXZlIGRpcmVjdG9yeSBuYW1lOiAiKQogICBjYWxsIGlucHV0cmVzdG9yZSgpCisiICBjYWxsIERlY2hvKCJuZXdkaXJuYW1lPCIubmV3ZGlybmFtZS4iPiIpCiAKICAgaWYgbmV3ZGlybmFtZSA9PSAiIgogIiAgIGNhbGwgRHJldCgiTmV0TWFrZURpciA6IHVzZXIgYWJvcnRlZCB3aXRoIGJhcmUgPGNyPiIpCiAgICByZXR1cm4KICAgZW5kaWYKLSAgbGV0IG5ld2Rpcm5hbWU9IGVzY2FwZShuZXdkaXJuYW1lLCcgJykKIAogICBpZiBhOnVzcmhvc3QgPT0gIiIKIAogICAgIiBMb2NhbCBta2RpcjoKICAgICIgc2FuaXR5IGNoZWNrcwotICAgaWYgaXNkaXJlY3RvcnkobmV3ZGlybmFtZSkKKyAgIGxldCBmdWxsbmV3ZGlyPSBiOm5ldHJ3X2N1cmRpci4nLycubmV3ZGlybmFtZQorIiAgIGNhbGwgRGVjaG8oImZ1bGxuZXdkaXI8Ii5mdWxsbmV3ZGlyLiI+IikKKyAgIGlmIGlzZGlyZWN0b3J5KGZ1bGxuZXdkaXIpCiAgICAgZWNob2VyciAiKioqd2FybmluZyoqKiA8Ii5uZXdkaXJuYW1lLiI+IGlzIGFscmVhZHkgYSBkaXJlY3RvcnkhIgogIiAgICBjYWxsIERyZXQoIk5ldE1ha2VEaXIgOiBkaXJlY3Rvcnk8Ii5uZXdkaXJuYW1lLiI+IGV4aXN0cyBwcmV2aW91c2x5IikKICAgICByZXR1cm4KICAgIGVuZGlmCi0gICBpZiBmaWxlcmVhZGFibGUobmV3ZGlybmFtZSkKKyAgIGlmIGZpbGVyZWFkYWJsZShmdWxsbmV3ZGlyKQogICAgIGVjaG9lcnIgIioqKndhcm5pbmcqKiogPCIubmV3ZGlybmFtZS4iPiBpcyBhbHJlYWR5IGEgZmlsZSEiCiAiICAgIGNhbGwgRHJldCgiTmV0TWFrZURpciA6IGZpbGU8Ii5uZXdkaXJuYW1lLiI+IGV4aXN0cyBwcmV2aW91c2x5IikKICAgICByZXR1cm4KICAgIGVuZGlmCi0gICBleGUgInNpbGVudCEgISIuZzpuZXRyd19sb2NhbF9ta2Rpci4iICIubmV3ZGlybmFtZQorICAgbGV0IG5ldHJ3X29yaWdkaXI9IHM6TmV0R2V0Y3dkKDEpCisgICBleGUgJ2NkICcuYjpuZXRyd19jdXJkaXIKKyIgICBjYWxsIERlY2hvKCJuZXRyd19vcmlnZGlyPCIubmV0cndfb3JpZ2Rpci4iPiBiOm5ldHJ3X2N1cmRpcjwiLmI6bmV0cndfY3VyZGlyLiI+IikKKyIgICBjYWxsIERlY2hvKCJleGUgc2lsZW50ISAhIi5nOm5ldHJ3X2xvY2FsX21rZGlyLicgIicubmV3ZGlybmFtZS4nIicpCisgICBleGUgInNpbGVudCEgISIuZzpuZXRyd19sb2NhbF9ta2Rpci4nICInLm5ld2Rpcm5hbWUuJyInCisgICBpZiBnOm5ldHJ3X2tlZXBkaXIgfCBleGUgJ2tlZXBqdW1wcyBjZCAnLm5ldHJ3X29yaWdkaXIgfCBlbmRpZgorCiAgICBpZiB2OnNoZWxsX2Vycm9yID09IDAKICAgICAiIHJlZnJlc2ggbGlzdGluZwotICAgIGNhbGwgczpMb2NhbEJyb3dzZSgiLiIpCisiICAgIGNhbGwgRGVjaG8oInJlZnJlc2ggbGlzdGluZyIpCisgICAgbGV0IGxpbmVudW09IGxpbmUoIi4iKQorICAgIG5vcm0hIEgwCisgICAgbGV0IGhsaW5lICA9IGxpbmUoIi4iKQorICAgIGNhbGwgczpMb2NhbEJyb3dzZShzOkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLCcuLycpKQorICAgIGV4ZSAibm9ybSEgIi5obGluZS4iRzB6XDxDUj4iCisgICAgZXhlIGxpbmVudW0KICAgIGVsc2UKICAgICBlY2hvZXJyICIqKip3YXJuaW5nKioqIHVuYWJsZSB0byBtYWtlIGRpcmVjdG9yeTwiLm5ld2Rpcm5hbWUuIj4iCiAgICBlbmRpZgpAQCAtMTQ1NiwxMiArMTY5NSwxNyBAQAogICBlbHNlCiAgICAiIFJlbW90ZSBta2RpcjoKICAgIGxldCBta2RpcmNtZCAgPSBzdWJzdGl0dXRlKGc6bmV0cndfbWtkaXJfY21kLCdcPEhPU1ROQU1FXD4nLGE6dXNyaG9zdCwnJykKLSAgIGxldCBuZXdkaXJuYW1lPSBzdWJzdGl0dXRlKGV4cGFuZCgiJSIpLCdeXCUoLlx7LX0vXClcezN9XCguKlwpJCcsJ1wxJywnJykubmV3ZGlybmFtZQorICAgbGV0IG5ld2Rpcm5hbWU9ICInIi4nIicuc3Vic3RpdHV0ZShleHBhbmQoIiUiKSwnXlwlKC5cey19L1wpXHszfVwoLipcKSQnLCdcMScsJycpLm5ld2Rpcm5hbWUuJyInLiInIgogIiAgIGNhbGwgRGVjaG8oImV4ZSBzaWxlbnQhICEiLm1rZGlyY21kLiIgIi5uZXdkaXJuYW1lKQogICAgZXhlICJzaWxlbnQhICEiLm1rZGlyY21kLiIgIi5uZXdkaXJuYW1lCiAgICBpZiB2OnNoZWxsX2Vycm9yID09IDAKICAgICAiIHJlZnJlc2ggbGlzdGluZworICAgIGxldCBsaW5lbnVtPSBsaW5lKCIuIikKKyAgICBub3JtISBIMAorICAgIGxldCBobGluZSAgPSBsaW5lKCIuIikKICAgICBjYWxsIHM6TmV0QnJvd3NlKHM6TmV0QnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLCcuLycpKQorICAgIGV4ZSAibm9ybSEgIi5obGluZS4iRzB6XDxDUj4iCisgICAgZXhlIGxpbmVudW0KICAgIGVsc2UKICAgICBlY2hvZXJyICIqKip3YXJuaW5nKioqIHVuYWJsZSB0byBtYWtlIGRpcmVjdG9yeTwiLm5ld2Rpcm5hbWUuIj4iCiAgICBlbmRpZgpAQCAtMTQ3Miw2ICsxNzE2LDQ2IEBACiBlbmRmdW4KIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyIgIE5ldEJvb2ttYXJrRGlyOgorIiAgICAwOiBib29rbWFyayB0aGUgY3VycmVudCBkaXJlY3RvcnkKKyIgICAgMTogY2hhbmdlIHRvIHRoZSBib29rbWFya2VkIGRpcmVjdG9yeQorZnVuISA8U0lEPk5ldEJvb2ttYXJrRGlyKGNoZyxjdXJkaXIpCisiICBjYWxsIERmdW5jKCJOZXRCb29rbWFya0RpcihjaGc9Ii5hOmNoZy4iIGN1cmRpcjwiLmE6Y3VyZGlyLiI+KSBjbnQ9Ii52OmNvdW50KQorCisgIGlmIGE6Y2hnID09IDAKKyAgICIgYm9va21hcmsgdGhlIGN1cnJlbnQgZGlyZWN0b3J5CisgICBsZXQgczpuZXRyd19ib29rbWFya2Rpcl97djpjb3VudH09IGE6Y3VyZGlyCisgICBpZiAhZXhpc3RzKCJzOmJvb2ttYXJrbWF4IikKKyAgICBsZXQgczpib29rbWFya21heD0gdjpjb3VudAorICAgZWxzZWlmIHY6Y291bnQgPiBzOmJvb2ttYXJrbWF4CisgICAgbGV0IHM6Ym9va21hcmttYXg9IHY6Y291bnQKKyAgIGVuZGlmCisKKyAgZWxzZWlmIGE6Y2hnID09IDEKKyAgICIgY2hhbmdlIHRvIHRoZSBib29rbWFya2VkIGRpcmVjdG9yeQorICAgaWYgZXhpc3RzKCJzOm5ldHJ3X2Jvb2ttYXJrZGlyX3t2OmNvdW50fSIpCisgICAgZXhlICJlICIuczpuZXRyd19ib29rbWFya2Rpcl97djpjb3VudH0KKyAgIGVsc2UKKyAgICBlY2hvbXNnICJTb3JyeSwgYm9va21hcmsjIi52OmNvdW50LiIgZG9lc24ndCBleGlzdCEiCisgICBlbmRpZgorCisgIGVsc2VpZiBleGlzdHMoInM6Ym9va21hcmttYXgiKQorICAgIiBsaXN0IGJvb2ttYXJrcworIiAgIGNhbGwgRGVjaG8oImxpc3QgYm9va21hcmtzIFswLCIuczpib29rbWFya21heC4iXSIpCisgICBsZXQgY250PSAwCisgICB3aGlsZSBjbnQgPD0gczpib29rbWFya21heAorICAgIGlmIGV4aXN0cygiczpuZXRyd19ib29rbWFya2Rpcl97Y250fSIpCisgICAgIGVjaG8gIk5ldHJ3IEJvb2ttYXJrIyIuY250LiI6ICIuczpuZXRyd19ib29rbWFya2Rpcl97Y250fQorIiAgICAgY2FsbCBEZWNobygiTmV0cncgQm9va21hcmsjIi5jbnQuIjogIi5zOm5ldHJ3X2Jvb2ttYXJrZGlyX3tjbnR9KQorICAgIGVuZGlmCisgICAgbGV0IGNudD0gY250ICsgMQorICAgZW5kd2hpbGUKKyAgZW5kaWYKKyIgIGNhbGwgRHJldCgiTmV0Qm9va21hcmtEaXIiKQorZW5kZnVuCisKKworIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgIEJyb3dzaW5nIFN1cHBvcnQgRm9yIExvY2FsIERpcmVjdG9yaWVzIEFuZCBGaWxlczogICAge3t7MQogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtMTQ4NCwxMzEgKzE3NjgsMTU0IEBACiAgICByZXR1cm4KICAgZW5kaWYKIAotIiAgIiB1bmZvcnR1bmF0ZSBpbnRlcmFjdGlvbiAtLSB3aGVuIHB1dHRpbmcgRGZ1bmMvRHJldCBhYm92ZQotICAiIG9uZSBjYW4gbm8gbG9uZ2VyIGVudGVyIHRoZSBEQkcgYnVmZmVyLgotIiAgY2FsbCBEZnVuYygiTG9jYWxCcm93c2UoZGlybmFtZTwiLmE6ZGlybmFtZS4iPikiKQorICAiIHVuZm9ydHVuYXRlIGludGVyYWN0aW9uIC0tIHdoZW4gcHV0dGluZyBkZWJ1Z2dpbmcgY2FsbHMKKyAgIiBhYm92ZSBvbmUgY2FuIG5vIGxvbmdlciBlbnRlciB0aGUgREJHIGJ1ZmZlci4KKyIgIGNhbGwgRGZ1bmMoIkxvY2FsQnJvd3NlKGRpcm5hbWU8Ii5hOmRpcm5hbWUuIj4pIGJ1ZiMiLmJ1Zm5yKCIlIikuIiB3aW5ucj0iLndpbm5yKCkpCisiICBjYWxsIERlY2hvKCJ3aW5idWZucjE9Ii53aW5idWZucigxKS4iIHdpbmJ1Zm5yMj0iLndpbmJ1Zm5yKDIpLiIgd2luYnVmbnIzPSIud2luYnVmbnIoMykpCisiICBjYWxsIERyZWRpcigibHMhIikKIAotICBleGUgJ2NkICcuZXNjYXBlKHN1YnN0aXR1dGUoYTpkaXJuYW1lLCdcXCcsJy8nLCdnZScpLCcgJykKLSAgbGV0IGRpcm5hbWU9IHN1YnN0aXR1dGUoZ2V0Y3dkKCksJ1xcJywnLycsJ2dlJykuIi8iCi0iICBjYWxsIERlY2hvKCJkaXJuYW1lPCIuZGlybmFtZS4iPiIpCisgIGlmIHY6dmVyc2lvbiA8IDYwMworICAgZWNob2VyciAidmltIHZlcnNpb248Ii52OnZlcnNpb24uIj4gdG9vIG9sZCBmb3IgYnJvd3Npbmcgd2l0aCBuZXRydyIKKyIgICBjYWxsIERyZXQoIkxvY2FsQnJvd3NlIDogdmltIHZlcnNpb248Ii52OnZlcnNpb24uIj4gdG9vIG9sZCIpCisgICByZXR1cm4KKyAgZW5kaWYKKworICAiIHJlY29yZCBhbmQgY2hhbmdlIGN1cnJlbnQgZGlyZWN0b3J5CisgIGxldCBuZXRyd19vcmlnZGlyPSBzOk5ldEdldGN3ZCgxKQorICBleGUgJ2NkICcuZXNjYXBlKHN1YnN0aXR1dGUoYTpkaXJuYW1lLCdcXCcsJy8nLCdnZScpLHM6bmV0cndfY2RfZXNjYXBlKQorICBsZXQgZGlybmFtZT0gczpOZXRHZXRjd2QoMCkKKyIgIGNhbGwgRGVjaG8oImRpcm5hbWU8Ii5kaXJuYW1lLiI+IGJ1ZiMiLmJ1Zm5yKCIlIikuIiB3aW5ucj0iLndpbm5yKCkpCiAKICAgIiBtYWtlIHRoaXMgYnVmZmVyIG1vZGlmaWFibGUKICAgc2V0bG9jYWwgbWEKIAotICAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorICAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAiICBQZXJmb3JtIERpcmVjdG9yeSBMaXN0aW5nOgogIiAgY2FsbCBEZWNobygiUGVyZm9ybSBkaXJlY3RvcnkgbGlzdGluZy4uLiIpCiAgICIgc2V0IHVwIG5ldyBidWZmZXIgYW5kIG1hcAotICBsZXQgZGlybmFtZW5yID0gYnVmbnIoZGlybmFtZSkKLSAgaWYgZGlybmFtZW5yICE9IC0xICYmIGJ1Zm5hbWUoZGlybmFtZW5yKSAhPSBkaXJuYW1lCi0gICAiIHRyeSByZW1vdmluZyB0aGUgdHJhaWxpbmcgIi8iCi0gICBsZXQgZGlybmFtZW5yPSBidWZucihzdWJzdGl0dXRlKGRpcm5hbWUsJy8kJywnJywnZScpKQorICAiIHJlbW92ZSB0aGUgdHJhaWxpbmcgIi8iCisgIGxldCBkaXJuYW1lbnM9IHN1YnN0aXR1dGUoZGlybmFtZSwnLyQnLCcnLCdlJykKKyAgbGV0IGRpcm5hbWVucj0gYnVmbnIoZGlybmFtZW5zLickJykKKyIgIGNhbGwgRGVjaG8oImRpcm5hbWVucj0gYnVmbnIoIi5kaXJuYW1lbnMuIik9Ii5kaXJuYW1lbnIpCisKKyAgaWYgZGlybmFtZW5yICE9IDAgJiYgYnVmbmFtZShkaXJuYW1lbnIpICE9IGRpcm5hbWVucworICAgIiB0cnkga2VlcGluZyB0aGUgdHJhaWxpbmcgc2xhc2gKKyAgIGxldCBkaXJuYW1lbnIgPSBidWZucihkaXJuYW1lLickJykKKyIgICBjYWxsIERlY2hvKCJyZXRyeTogZGlybmFtZW5yPSBidWZucigiLmRpcm5hbWUuIik9Ii5kaXJuYW1lbnIpCiAgIGVuZGlmCiAiICBjYWxsIERlY2hvKCJidWZucihkaXJuYW1lPCIuZGlybmFtZS4iPik9Ii5kaXJuYW1lbnIpCi0iIGNhbGwgRHJlZGlyKCJmaWxlIikKIAotICBpZiBkaXJuYW1lbnIgIT0gLTEgJiYgYnVmZXhpc3RzKGRpcm5hbWUpCisgIGlmIGRpcm5hbWVuciAhPSAtMQogICAgIiBidWZmZXIgYWxyZWFkeSBleGlzdHMgKGhpZGRlbiksIHNvIHN3aXRjaCB0byBpdCEKLSIgY2FsbCBEcmVkaXIoImZpbGUiKQorIiAgIGNhbGwgRGVjaG8oImJ1ZmZlciBhbHJlYWR5IGV4aXN0czogZGlybmFtZW5yPSIuZGlybmFtZW5yLiIgZGlybmFtZTwiLmRpcm5hbWUuIj4gcHJlLWV4aXN0cyIpCisiICAgY2FsbCBEcmVkaXIoImxzISIpCiAgICBleGUgImIgIi5kaXJuYW1lbnIKLSIgY2FsbCBEcmVkaXIoImZpbGUiKQotICAgZXhlICdjZCAnLmVzY2FwZShzdWJzdGl0dXRlKGE6ZGlybmFtZSwnXFwnLCcvJywnZ2UnKSwnICcpCi0iIGNhbGwgRHJlZGlyKCJmaWxlIikKKyAgIGV4ZSAnc2lsZW50ISBjZCAnLmVzY2FwZShzdWJzdGl0dXRlKGE6ZGlybmFtZSwnXFwnLCcvJywnZ2UnKSxzOm5ldHJ3X2NkX2VzY2FwZSkKICIgICBjYWxsIERlY2hvKCJjaGFuZ2VkIGRpcmVjdG9yeSB0bzwiLmRpcm5hbWUuIj4iKQotIiBjYWxsIERyZWRpcigiZmlsZSIpCiAgICBpZiBhOmRpcm5hbWUgIT0gIi4iICYmIGxpbmUoIiQiKSA+PSA1Ci0iICAgIGNhbGwgRHJldCgiTG9jYWxCcm93c2UgOiBidWZmZXIgYWxyZWFkeSBleGlzdHMgd2l0aCBpbmZvIikKKyIgICAgY2FsbCBEcmV0KCJMb2NhbEJyb3dzZSA6IGJ1ZmZlciBhbHJlYWR5IGV4aXN0cyB3aXRoIGluZm8sICMiLmRpcm5hbWVucikKKyAgICBpZiBnOm5ldHJ3X2tlZXBkaXIgfCBleGUgJ2tlZXBqdW1wcyBjZCAnLm5ldHJ3X29yaWdkaXIgfCBlbmRpZgogICAgIHJldHVybgogICAgZW5kaWYKLSIgY2FsbCBEcmVkaXIoImZpbGUiKQogIiAgIGNhbGwgRGVjaG8oImJ1ZmZlciBhbHJlYWR5IGV4aXN0cywgYnV0IG5lZWRzIGxpc3RpbmcgKGJ1ZiMiLmRpcm5hbWVuci4iKSIpCisgICBzZXRsb2NhbCBtYQogICAga2VlcGp1bXBzICVkCi0iIGNhbGwgRHJlZGlyKCJmaWxlIikKLSAgIGlmIGV4cGFuZCgiJTpwIikgIT0gZXNjYXBlKGRpcm5hbWUsJyAnKQotICAgIGV4ZSAnc2lsZW50ISBmaWxlICcuZXNjYXBlKGRpcm5hbWUsJyAnKQotIiAgICBjYWxsIERlY2hvKCJyZW5hbWVkIGZpbGUgdG88Ii5lc2NhcGUoZGlybmFtZSwnICcpLiI+IikKKyAgIGlmIGV4cGFuZCgiJTpwIikgIT0gZGlybmFtZQorICAgIGV4ZSAnc2lsZW50ISBmaWxlICcuZXNjYXBlKGRpcm5hbWUsczpuZXRyd19jZF9lc2NhcGUpCisiICAgIGNhbGwgRGVjaG8oInJlbmFtZWQgZmlsZSB0bzwiLmVzY2FwZShkaXJuYW1lLCcgIycpLiI+IikKICAgIGVuZGlmCi0iIGNhbGwgRHJlZGlyKCJmaWxlIikKICAgZWxzZQotIiAgIGNhbGwgRHJlZGlyKCJscyEiKQotIiAgIGNhbGwgRGVjaG8oImdlbmVyYXRlIG5ldyBidWZmZXIgbmFtZWQ8Ii5lc2NhcGUoZGlybmFtZSwnICcpLiI+IikKKyIgICBjYWxsIERlY2hvKCJnZW5lcmF0ZSBuZXcgYnVmZmVyIG5hbWVkPCIuZXNjYXBlKGRpcm5hbWUsJyAjJykuIj4iKQogICAgc2lsZW50ISBlbmV3IQotICAgZXhlICdzaWxlbnQhIGZpbGUgJy5lc2NhcGUoZGlybmFtZSwnICcpCi0iICAgY2FsbCBEZWNobygicmVuYW1lZCBmaWxlIHRvPCIuZXNjYXBlKGRpcm5hbWUsJyAnKS4iPiIpCisgICBleGUgJ3NpbGVudCEgZmlsZSAnLnN1YnN0aXR1dGUoZXNjYXBlKGRpcm5hbWUsczpuZXRyd19jZF9lc2NhcGUpLCcvJCcsJycsJ2UnKQorIiAgIGNhbGwgRGVjaG8oInJlbmFtZWQgZmlsZSB0bzwiLmVzY2FwZShkaXJuYW1lLHM6bmV0cndfY2RfZXNjYXBlKS4iPiIpCiAgIGVuZGlmCiAgICIgc2V0IHN0YW5kYXJkIGJyb3dzZXIgb3B0aW9ucyBvbiBidWZmZXIKICAgc2V0bG9jYWwgdHM9MzIgYnQ9bm93cml0ZSBiaD1oaWRlIG5vYmwKIAogICAiIHNldCB1cCBhbGwgdGhlIG1hcHMKICIgIGNhbGwgRGVjaG8oIlNldHRpbmcgdXAgbG9jYWwgYnJvd3NlciBtYXBzIikKLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPGNyPgk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZ2V0Y3dkKCksPFNJRD5OZXRHZXREaXIoKSkpPGNyPgotICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8Yy1sPgk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZ2V0Y3dkKCksJy4vJykpPGNyPgotICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiAtCQk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZ2V0Y3dkKCksJy4uLycpKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gYQkJOmxldCBnOm5ldHJ3X2hpZGU9IWc6bmV0cndfaGlkZTxiYXI+ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZ2V0Y3dkKCksJy4vJykpPGNyPgotICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8TGVhZGVyPmgJOmNhbGwgPFNJRD5OZXRIaWRlRWRpdCgxKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPExlYWRlcj5tCTpjYWxsIDxTSUQ+TmV0TWFrZURpcigiIik8Y3I+CisgIGxldCBiOm5ldHJ3X2N1cmRpcj0gczpOZXRHZXRjd2QoMSkKKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPGNyPgk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoYjpuZXRyd19jdXJkaXIsPFNJRD5OZXRHZXRXb3JkKCkpKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPGMtbD4JOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLCcuLycpKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gLQkJOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLCcuLi8nKSk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IGEJCTpsZXQgZzpuZXRyd19oaWRlPSFnOm5ldHJ3X2hpZGU8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLCcuLycpKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gYgkJOjxjLXU+Y2FsbCA8U0lEPk5ldEJvb2ttYXJrRGlyKDAsYjpuZXRyd19jdXJkaXIpPGNyPgorICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBCCQk6PGMtdT5jYWxsIDxTSUQ+TmV0Qm9va21hcmtEaXIoMSxiOm5ldHJ3X2N1cmRpcik8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IGMJCTpleGUgImNkICIuYjpuZXRyd19jdXJkaXI8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IGQJCTpjYWxsIDxTSUQ+TmV0TWFrZURpcigiIik8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxjLWg+CTpjYWxsIDxTSUQ+TmV0SGlkZUVkaXQoMSk8Y3I+CiAgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IGkJCTpjYWxsIDxTSUQ+TmV0TG9uZ0xpc3QoMSk8Y3I+Ci0gIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IG8JCTpleGUgZzpuZXRyd193aW5zaXplLiJ3aW5jbWQgcyI8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGdldGN3ZCgpLDxTSUQ+TmV0R2V0RGlyKCkpKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gcgkJOmxldCBnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uPSAoZzpuZXRyd19zb3J0X2RpcmVjdGlvbiA9fiAnbicpPyAncicgOiAnbic8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGdldGN3ZCgpLDxTSUQ+TmV0R2V0RGlyKCkpKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gcwkJOmxldCBnOm5ldHJ3X3NvcnRfYnk9IChnOm5ldHJ3X3NvcnRfYnkgPX4gJ24nKT8gJ3RpbWUnIDogKGc6bmV0cndfc29ydF9ieSA9fiAndCcpPyAnc2l6ZScgOiAnbmFtZSc8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGdldGN3ZCgpLCcuLycpKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gdgkJOmV4ZSBnOm5ldHJ3X3dpbnNpemUuIndpbmNtZCB2IjxiYXI+ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZ2V0Y3dkKCksPFNJRD5OZXRHZXREaXIoKSkpPGNyPgotICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiB4CQk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPk5ldEJyb3dzZVgoPFNJRD5Mb2NhbEJyb3dzZUNoZ0RpcihnZXRjd2QoKSw8U0lEPk5ldEdldERpcigpKSwwKTxjcj4KLSAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gPDItbGVmdG1vdXNlPiA6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZ2V0Y3dkKCksPFNJRD5OZXRHZXREaXIoKSkpPGNyPgotICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxkZWw+CTpleGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TG9jYWxCcm93c2VSbSgiJy5nZXRjd2QoKS4nLyIpPGNyPicKLSAgZXhlICd2bm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8ZGVsPgk6Y2FsbCA8U0lEPkxvY2FsQnJvd3NlUm0oIicuZ2V0Y3dkKCkuJy8iKTxjcj4nCi0gIGV4ZSAnbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gRAk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlUm0oIicuZ2V0Y3dkKCkuJy8iKTxjcj4nCi0gIGV4ZSAndm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gRAk6Y2FsbCA8U0lEPkxvY2FsQnJvd3NlUm0oIicuZ2V0Y3dkKCkuJy8iKTxjcj4nCi0gIGV4ZSAnbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gUgk6ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlUmVuYW1lKCInLmdldGN3ZCgpLicvIik8Y3I+JwotICBleGUgJ3Zub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IFIJOmNhbGwgPFNJRD5Mb2NhbEJyb3dzZVJlbmFtZSgiJy5nZXRjd2QoKS4nLyIpPGNyPicKKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gbwkJOmV4ZSBnOm5ldHJ3X3dpbnNpemUuIndpbmNtZCBzIjxiYXI+ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoYjpuZXRyd19jdXJkaXIsPFNJRD5OZXRHZXRXb3JkKCkpKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gcQkJOjxjLXU+Y2FsbCA8U0lEPk5ldEJvb2ttYXJrRGlyKDIsYjpuZXRyd19jdXJkaXIpPGNyPgorICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiByCQk6bGV0IGc6bmV0cndfc29ydF9kaXJlY3Rpb249IChnOm5ldHJ3X3NvcnRfZGlyZWN0aW9uID1+ICduJyk/ICdyJyA6ICduJzxiYXI+ZXhlICJub3JtISAwIjxiYXI+Y2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoYjpuZXRyd19jdXJkaXIsJy4vJykpPGNyPgorICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBzCQk6Y2FsbCA8U0lEPk5ldFNhdmVXb3JkUG9zbigpPGJhcj5sZXQgZzpuZXRyd19zb3J0X2J5PSAoZzpuZXRyd19zb3J0X2J5ID1+ICduJyk/ICd0aW1lJyA6IChnOm5ldHJ3X3NvcnRfYnkgPX4gJ3QnKT8gJ3NpemUnIDogJ25hbWUnPGJhcj5leGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TG9jYWxCcm93c2UoPFNJRD5Mb2NhbEJyb3dzZUNoZ0RpcihiOm5ldHJ3X2N1cmRpciwnLi8nKSk8YmFyPmNhbGwgPFNJRD5OZXRSZXN0b3JlV29yZFBvc24oKTxjcj4KKyAgbm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gUwkJOmNhbGwgPFNJRD5OZXRTb3J0U2VxdWVuY2UoMSk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHYJCTpleGUgZzpuZXRyd193aW5zaXplLiJ3aW5jbWQgdiI8YmFyPmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLDxTSUQ+TmV0R2V0V29yZCgpKSk8Y3I+CisgIG5ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IHgJCTpleGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TmV0QnJvd3NlWCg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGI6bmV0cndfY3VyZGlyLDxTSUQ+TmV0R2V0V29yZCgpLDApLDApPGNyPgorICBubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8Mi1sZWZ0bW91c2U+IDpleGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TG9jYWxCcm93c2UoPFNJRD5Mb2NhbEJyb3dzZUNoZ0RpcihiOm5ldHJ3X2N1cmRpciw8U0lEPk5ldEdldFdvcmQoKSkpPGNyPgorICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxkZWw+CTpleGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TG9jYWxCcm93c2VSbSgiJy5iOm5ldHJ3X2N1cmRpci4nIik8Y3I+JworICBleGUgJ3Zub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IDxkZWw+CTpjYWxsIDxTSUQ+TG9jYWxCcm93c2VSbSgiJy5iOm5ldHJ3X2N1cmRpci4nIik8Y3I+JworICBleGUgJ25ub3JlbWFwIDxidWZmZXI+IDxzaWxlbnQ+IEQJOmV4ZSAibm9ybSEgMCI8YmFyPmNhbGwgPFNJRD5Mb2NhbEJyb3dzZVJtKCInLmI6bmV0cndfY3VyZGlyLiciKTxjcj4nCisgIGV4ZSAndm5vcmVtYXAgPGJ1ZmZlcj4gPHNpbGVudD4gRAk6Y2FsbCA8U0lEPkxvY2FsQnJvd3NlUm0oIicuYjpuZXRyd19jdXJkaXIuJyIpPGNyPicKKyAgZXhlICdubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBSCTpleGUgIm5vcm0hIDAiPGJhcj5jYWxsIDxTSUQ+TG9jYWxCcm93c2VSZW5hbWUoIicuYjpuZXRyd19jdXJkaXIuJyIpPGNyPicKKyAgZXhlICd2bm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiBSCTpjYWxsIDxTSUQ+TG9jYWxCcm93c2VSZW5hbWUoIicuYjpuZXRyd19jdXJkaXIuJyIpPGNyPicKICAgZXhlICdubm9yZW1hcCA8YnVmZmVyPiA8c2lsZW50PiA8TGVhZGVyPm0gOmNhbGwgPFNJRD5OZXRNYWtlRGlyKCIiKTxjcj4nCiAgIG5ub3JlbWFwIDxidWZmZXI+ID8JCQk6aGUgbmV0cnctZGlyPGNyPgogCiAgICIgU2V0IHVwIHRoZSBiYW5uZXIKICIgIGNhbGwgRGVjaG8oInNldCB1cCBiYW5uZXIiKQotICBrZWVwanVtcHMgcHV0ID0nXCIgPT09PT09PT09PT09PT09PT0nCisgIGtlZXBqdW1wcyBwdXQgPSdcIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JwogICBrZWVwanVtcHMgMWQKLSAga2VlcGp1bXBzIHB1dCA9J1wiIERpcmVjdG9yeSBMaXN0aW5nJworICBrZWVwanVtcHMgcHV0ID0nXCIgRGlyZWN0b3J5IExpc3RpbmcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5ldHJ3ICcuZzpsb2FkZWRfbmV0cncuJyknCiAgIGtlZXBqdW1wcyBwdXQgPSdcIiAgICcuZGlybmFtZQotICBsZXQgZzpuZXRyd19iYW5uZXJjbnQ9IDYKKyAgbGV0IHM6bmV0cndfYmFubmVyY250PSA3CisKKyAgbGV0IHNvcnRieT0gZzpuZXRyd19zb3J0X2J5CisgIGlmIGc6bmV0cndfc29ydF9kaXJlY3Rpb24gPX4gIl5yIgorICAgbGV0IHNvcnRieT0gc29ydGJ5LiIgcmV2ZXJzZWQiCisgIGVuZGlmCiAKICAgaWYgZzpuZXRyd19zb3J0X2J5ID1+ICJebiIKICIgICBjYWxsIERlY2hvKCJkaXJlY3RvcmllcyB3aWxsIGJlIHNvcnRlZCBieSBuYW1lIikKICAgICIgc29ydGVkIGJ5IG5hbWUKLSAgIGxldCBnOm5ldHJ3X2Jhbm5lcmNudD0gZzpuZXRyd19iYW5uZXJjbnQgKyAxCi0gICBrZWVwanVtcHMgcHV0ID0nXCIgICBTb3J0ZWQgYnkgICAgICAnLmc6bmV0cndfc29ydF9ieQorICAgbGV0IHM6bmV0cndfYmFubmVyY250PSBzOm5ldHJ3X2Jhbm5lcmNudCArIDEKKyAgIGtlZXBqdW1wcyBwdXQgPSdcIiAgIFNvcnRlZCBieSAgICAgICcuc29ydGJ5CiAgICBrZWVwanVtcHMgcHV0ID0nXCIgICBTb3J0IHNlcXVlbmNlOiAnLmc6bmV0cndfc29ydF9zZXF1ZW5jZQogICBlbHNlCiAiICAgY2FsbCBEZWNobygiZGlyZWN0b3JpZXMgd2lsbCBiZSBzb3J0ZWQgYnkgc2l6ZSBvciBkYXRlIikKICAgICIgc29ydGVkIGJ5IHNpemUgb3IgZGF0ZQotICAga2VlcGp1bXBzIHB1dCA9J1wiICAgU29ydGVkIGJ5ICcuZzpuZXRyd19zb3J0X2J5CisgICBrZWVwanVtcHMgcHV0ID0nXCIgICBTb3J0ZWQgYnkgJy5zb3J0YnkKICAgZW5kaWYKICAgaWYgZzpuZXRyd19saXN0X2hpZGUgIT0gIiIgJiYgZzpuZXRyd19oaWRlCiAgICBrZWVwanVtcHMgcHV0ID0nXCIgICBIaWRpbmc6ICcuZzpuZXRyd19saXN0X2hpZGUKLSAgIGxldCBnOm5ldHJ3X2Jhbm5lcmNudD0gZzpuZXRyd19iYW5uZXJjbnQgKyAxCisgICBsZXQgczpuZXRyd19iYW5uZXJjbnQ9IHM6bmV0cndfYmFubmVyY250ICsgMQogICBlbmRpZgotICBrZWVwanVtcHMgcHV0ID0nXCIgPT09PT09PT09PT09PT09PT0nCisgIGtlZXBqdW1wcyBwdXQgPSdcIiAgIFF1aWNrIEhlbHA6ICAgID86aGVscCAgLTpnbyB1cCBkaXIgIEQ6ZGVsZXRlICBSOnJlbmFtZSAgczpzb3J0LWJ5ICB4OmV4ZWMnCisgIGtlZXBqdW1wcyBwdXQgPSdcIiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09JwogCiAgICIgZ2VuZXJhdGUgdGhlIHJlcXVlc3RlZCBkaXJlY3RvcnkgbGlzdGluZwogICBjYWxsIExvY2FsQnJvd3NlTGlzdChkaXJuYW1lKQogCiAgICIgbWFuaXB1bGF0ZSB0aGUgZGlyZWN0b3J5IGxpc3RpbmcgKGhpZGUsIHNvcnQpCiAgIHNldGxvY2FsIGZ0PW5ldHJ3bGlzdAotICBpZiBsaW5lKCIkIikgPj0gZzpuZXRyd19iYW5uZXJjbnQKKyAgaWYgbGluZSgiJCIpID49IHM6bmV0cndfYmFubmVyY250CiAgICBpZiBnOm5ldHJ3X2hpZGUgJiYgZzpuZXRyd19saXN0X2hpZGUgIT0gIiIKICAgICBjYWxsIHM6TmV0cndMaXN0SGlkZSgpCiAgICBlbmRpZgogICAgaWYgZzpuZXRyd19zb3J0X2J5ID1+ICJebiIKICAgICBjYWxsIHM6U2V0U29ydCgpCi0gICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcuZzpuZXRyd19iYW5uZXJjbnQuJywkY2FsbCBzOk5ldFNvcnQoKScKLSAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5nOm5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cZFx7M31cLy8vZScKKyAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5zOm5ldHJ3X2Jhbm5lcmNudC4nLCRjYWxsIHM6TmV0U29ydCgpJworICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnM6bmV0cndfYmFubmVyY250LicsJHMvXlxkXHszfVwvLy9lJwogICAgZWxzZQotICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLmc6bmV0cndfYmFubmVyY250LicsJGNhbGwgczpOZXRTb3J0KCknCi0gICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcuZzpuZXRyd19iYW5uZXJjbnQuJywkcy9eXGRcey19XC8vL2UnCisgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcuczpuZXRyd19iYW5uZXJjbnQuJywkY2FsbCBzOk5ldFNvcnQoKScKKyAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5zOm5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cZFx7LX1cLy8vZScKICAgIGVuZGlmCiAgIGVuZGlmCi0gIGV4ZSBnOm5ldHJ3X2Jhbm5lcmNudAorICBleGUgczpuZXRyd19iYW5uZXJjbnQKIAogICBzZXRsb2NhbCBub21hIG5vbW9kCisgIGlmIGc6bmV0cndfa2VlcGRpciB8IGV4ZSAna2VlcGp1bXBzIGNkICcubmV0cndfb3JpZ2RpciB8IGVuZGlmCiAKICIgIGNhbGwgRHJldCgiTG9jYWxCcm93c2UgOiBmaWxlPCIuZXhwYW5kKCIlOnAiKS4iPiIpCiBlbmRmdW4KQEAgLTE2MTgsOCArMTkyNSwxNSBAQAogZnVuISBMb2NhbEJyb3dzZUxpc3QoZGlybmFtZSkKICIgIGNhbGwgRGZ1bmMoIkxvY2FsQnJvd3NlTGlzdChkaXJuYW1lPCIuYTpkaXJuYW1lLiI+KSIpCiAKKyAgbGV0IGRpcm5hbWUgICAgPSBlc2NhcGUoYTpkaXJuYW1lLHM6bmV0cndfZ2xvYl9lc2NhcGUpCiAgIGxldCBkaXJuYW1lbGVuID0gc3RybGVuKGE6ZGlybmFtZSkKLSAgbGV0IGZpbGVsaXN0ICAgPSBnbG9iKGE6ZGlybmFtZS4iKiIpLiJcbiIuZ2xvYihhOmRpcm5hbWUuIi4qIikKKyAgbGV0IGZpbGVsaXN0ICAgPSBnbG9iKGRpcm5hbWUuIioiKQorICBpZiBmaWxlbGlzdCAhPSAiIgorICAgbGV0IGZpbGVsaXN0PSBmaWxlbGlzdC4iXG4iCisgIGVuZGlmCisgIGxldCBmaWxlbGlzdD0gZmlsZWxpc3QuZ2xvYihkaXJuYW1lLiIuKiIpCisiICBjYWxsIERlY2hvKCJkaXJuYW1lPCIuZGlybmFtZS4iPiIpCisiICBjYWxsIERlY2hvKCJkaXJuYW1lbGVuPCIuZGlybmFtZWxlbi4iPiIpCiAiICBjYWxsIERlY2hvKCJmaWxlbGlzdDwiLmZpbGVsaXN0LiI+IikKIAogICB3aGlsZSBmaWxlbGlzdCAhPSAiIgpAQCAtMTY0MCwyNCArMTk1NCwyOSBAQAogICAgIGxldCBmc3ogID0gc3RycGFydCgiICAgICAgICAgICAgICAgIiwxLDE1LXN0cmxlbihzeikpLnN6CiAgICAgbGV0IHBmaWxlPSBwZmlsZS4iXHQiLmZzei4iICIuc3RyZnRpbWUoZzpuZXRyd190aW1lZm10LGdldGZ0aW1lKGZpbGUpKQogICAgZW5kaWYKKwogICAgaWYgICAgIGc6bmV0cndfc29ydF9ieSA9fiAiXnQiCiAgICAgIiBzb3J0IGJ5IHRpbWUgKGhhbmRsZXMgdGltZSB1cCB0byAxIHF1aW50aWxsaW9uIHNlY29uZHMsIFVTKQogIiAgICBjYWxsIERlY2hvKCJnZXRmdGltZSgiLmZpbGUuIik9Ii5nZXRmdGltZShmaWxlKSkKICAgICBsZXQgdCAgPSBnZXRmdGltZShmaWxlKQogICAgIGxldCBmdCA9IHN0cnBhcnQoIjAwMDAwMDAwMDAwMDAwMDAwMCIsMSwxOC1zdHJsZW4odCkpLnQKICIgICAgY2FsbCBEZWNobygiZXhlIGtlZXBqdW1wcyBwdXQgPSciLmZ0LicvJy5maWxlLiInIikKLSAgICBleGUgImtlZXBqdW1wcyBwdXQgPSciLmZ0LicvJy5wZmlsZS4iJyIKKyAgICBsZXQgZnRwZmlsZT0gZnQuJy8nLnBmaWxlCisgICAga2VlcGp1bXBzIHB1dD1mdHBmaWxlCisKICAgIGVsc2VpZiBnOm5ldHJ3X3NvcnRfYnkgPX4gIl5zIgogICAgICIgc29ydCBieSBzaXplIChoYW5kbGVzIGZpbGUgc2l6ZXMgdXAgdG8gMSBxdWludGlsbGlvbiBieXRlcywgVVMpCiAiICAgIGNhbGwgRGVjaG8oImdldGZzaXplKCIuZmlsZS4iKT0iLmdldGZzaXplKGZpbGUpKQogICAgIGxldCBzeiAgID0gZ2V0ZnNpemUoZmlsZSkKICAgICBsZXQgZnN6ICA9IHN0cnBhcnQoIjAwMDAwMDAwMDAwMDAwMDAwMCIsMSwxOC1zdHJsZW4oc3opKS5zegogIiAgICBjYWxsIERlY2hvKCJleGUga2VlcGp1bXBzIHB1dCA9JyIuZnN6LicvJy5maWxlLiInIikKLSAgICBleGUgImtlZXBqdW1wcyBwdXQgPSciLmZzei4nLycucGZpbGUuIiciCisgICAgbGV0IGZzenBmaWxlPSBmc3ouJy8nLnBmaWxlCisgICAga2VlcGp1bXBzIHB1dCA9ZnN6cGZpbGUKKwogICAgZWxzZSAKICAgICAiIHNvcnQgYnkgbmFtZQotIiAgICBjYWxsIERlY2hvKCJleGUga2VlcGp1bXBzIHB1dCA9JyIuZmlsZS4iJyIpCi0gICAgZXhlICJrZWVwanVtcHMgcHV0ID0nIi5wZmlsZS4iJyIKKyIgICAgY2FsbCBEZWNobygiZXhlIGtlZXBqdW1wcyBwdXQgPSciLnBmaWxlLiInIikKKyAgICBrZWVwanVtcHMgcHV0PXBmaWxlCiAgICBlbmRpZgogICBlbmR3aGlsZQogCkBAIC0xNjY3LDEwICsxOTg2LDEwIEBACiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiAgTG9jYWxCcm93c2VDaGdEaXI6IGNvbnN0cnVjdHMgYSBuZXcgZGlyZWN0b3J5IGJhc2VkIG9uIHRoZSBjdXJyZW50IHt7ezIKICIgICAgICAgICAgICAgICAgICAgICBkaXJlY3RvcnkgYW5kIGEgbmV3IGRpcmVjdG9yeSBuYW1lCi1mdW4hIDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZGlybmFtZSxuZXdkaXIpCi0iICBjYWxsIERmdW5jKCJMb2NhbEJyb3dzZUNoZ0RpcihkaXJuYW1lPCIuYTpkaXJuYW1lLiI+IG5ld2RpcjwiLmE6bmV3ZGlyLiI+KSIpCitmdW4hIDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoZGlybmFtZSxuZXdkaXIsLi4uKQorIiAgY2FsbCBEZnVuYygiTG9jYWxCcm93c2VDaGdEaXIoZGlybmFtZTwiLmE6ZGlybmFtZS4iPiBuZXdkaXI8Ii5hOm5ld2Rpci4iPikgYTowPSIuYTowKQogCi0gIGxldCBkaXJuYW1lPSBzdWJzdGl0dXRlKGE6ZGlybmFtZSwnXFwnLCcvJywnZ2UnKQorICBsZXQgZGlybmFtZT0gc3Vic3RpdHV0ZShhOmRpcm5hbWUsJ1xcJywnJywnZ2UnKQogICBsZXQgbmV3ZGlyID0gYTpuZXdkaXIKIAogICBpZiBkaXJuYW1lICF+ICcvJCcKQEAgLTE2ODQsNyArMjAwMywxMCBAQAogICAgIiBoYW5kbGluZyBhIGZpbGUKICAgIGxldCBkaXJuYW1lPSBkaXJuYW1lLm5ld2RpcgogIiAgIGNhbGwgRGVjaG8oImhhbmRsaW5nIGEgZmlsZTogZGlybmFtZTwiLmRpcm5hbWUuIj4iKQotICAgZXhlICJlICIuZGlybmFtZQorICAgIiB0aGlzIGxldHMgTmV0QnJvd3NlWCBhdm9pZCB0aGUgZWRpdAorICAgaWYgYTowIDwgMQorICAgIGV4ZSAiZSAiLmVzY2FwZShkaXJuYW1lLHM6bmV0cndfY2RfZXNjYXBlKQorICAgZW5kaWYKIAogICBlbHNlaWYgbmV3ZGlyID09ICcuLycKICAgICIgcmVmcmVzaCB0aGUgZGlyZWN0b3J5IGxpc3QKQEAgLTE3MTQsMTQgKzIwMzYsMjggQEAKICIgIGNhbGwgRGVjaG8oImZpcnN0bGluZT0iLmE6Zmlyc3RsaW5lLiIgbGFzdGxpbmU9Ii5hOmxhc3RsaW5lKQogCiAgICIgcHJlcGFyYXRpb24gZm9yIHJlbW92aW5nIG11bHRpcGxlIGZpbGVzL2RpcmVjdG9yaWVzCi0gIGxldCBjdHI9IGE6Zmlyc3RsaW5lCisgIGxldCBjdHIgICAgICAgICAgID0gYTpmaXJzdGxpbmUKKyAgbGV0IHJldCAgICAgICAgICAgPSAwCisgIGxldCBuZXRyd19vcmlnZGlyID0gczpOZXRHZXRjd2QoMSkKKyAgZXhlICdjZCAnLmI6bmV0cndfY3VyZGlyCiAKICAgIiByZW1vdmUgbXVsdGlwbGUgZmlsZXMgYW5kIGRpcmVjdG9yaWVzCiAgIHdoaWxlIGN0ciA8PSBhOmxhc3RsaW5lCi0gICBleGUgY3RyCisgICBleGUgImtlZXBqdW1wcyAiLmN0cgorCisgICAiIHNhbml0eSBjaGVja3MKKyAgIGlmIGxpbmUoIi4iKSA8IHM6bmV0cndfYmFubmVyY250CisgICAgbGV0IGN0cj0gY3RyICsgMQorICAgIGNvbnRpbnVlCisgICBlbmRpZgorICAgbGV0IGN1cndvcmQ9IHM6TmV0R2V0V29yZCgpCisgICBpZiBjdXJ3b3JkID09ICIuLyIgfHwgY3Vyd29yZCA9PSAiLi4vIgorICAgIGxldCBjdHI9IGN0ciArIDEKKyAgICBjb250aW51ZQorICAgZW5kaWYKIAogICAgbm9ybSEgMAotICAgbGV0IHJtZmlsZT0gYTpwYXRoLnM6TmV0R2V0RGlyKCkKKyAgIGxldCBybWZpbGU9IGE6cGF0aC5jdXJ3b3JkCiAiICAgY2FsbCBEZWNobygicm1maWxlPCIucm1maWxlLiI+IikKIAogICAgaWYgcm1maWxlICF+ICdeIicgJiYgKHJtZmlsZSA9fiAnQCQnIHx8IHJtZmlsZSAhfiAnLyQnKQpAQCAtMTczMCw4ICsyMDY2LDggQEAKICAgICBsZXQgb2s9IGlucHV0KCJDb25maXJtIGRlbGV0aW9uIG9mIGZpbGU8Ii5ybWZpbGUuIj4gIiwieSIpCiAgICAgY2FsbCBpbnB1dHJlc3RvcmUoKQogICAgIGlmIG9rID09ICJ5IgotICAgICBjYWxsIGRlbGV0ZShybWZpbGUpCi0iICAgICBjYWxsIERlY2hvKCJlcnJjb2RlPSIudjpzaGVsbF9lcnJvcikKKyAgICAgbGV0IHJldD0gZGVsZXRlKHJtZmlsZSkKKyIgICAgIGNhbGwgRGVjaG8oImVycmNvZGU9Ii52OnNoZWxsX2Vycm9yLiIgcmV0PSIucmV0KQogICAgIGVuZGlmCiAgIAogICAgZWxzZQpAQCAtMTczOSwxMCArMjA3NSwxMSBAQAogICAgIGNhbGwgaW5wdXRzYXZlKCkKICAgICBsZXQgb2s9IGlucHV0KCJDb25maXJtIGRlbGV0aW9uIG9mIGRpcmVjdG9yeTwiLnJtZmlsZS4iPiAiLCJ5IikKICAgICBjYWxsIGlucHV0cmVzdG9yZSgpCi0gICAgbGV0IHJtZmlsZT0gZXNjYXBlKHN1YnN0aXR1dGUocm1maWxlLCcvJCcsJycsJ2UnKSwnICcpCisgICAgbGV0IHJtZmlsZT0gc3Vic3RpdHV0ZShybWZpbGUsJy8kJywnJywnZScpCiAKICAgICBpZiBvayA9PSAieSIKLSAgICAgY2FsbCBzeXN0ZW0oZzpuZXRyd19sb2NhbF9ybWRpci4iICIucm1maWxlKQorIiAgICAgY2FsbCBEZWNobygiMXN0IGF0dGVtcHQ6IHN5c3RlbSgiLmc6bmV0cndfbG9jYWxfcm1kaXIuJyAiJy5ybWZpbGUuJyIpJykKKyAgICAgY2FsbCBzeXN0ZW0oZzpuZXRyd19sb2NhbF9ybWRpci4nICInLnJtZmlsZS4nIicpCiAiICAgICBjYWxsIERlY2hvKCJ2OnNoZWxsX2Vycm9yPSIudjpzaGVsbF9lcnJvcikKIAogICAgICBpZiB2OnNoZWxsX2Vycm9yICE9IDAKQEAgLTE3NjksOSArMjEwNiwxMCBAQAogICBlbmR3aGlsZQogCiAgICIgcmVmcmVzaCB0aGUgZGlyZWN0b3J5Ci0gIGxldCBjdXJsaW5lPSBsaW5lKCIuIiktMQorICBsZXQgY3VybGluZT0gbGluZSgiLiIpCisgIGlmIGc6bmV0cndfa2VlcGRpciB8IGV4ZSAna2VlcGp1bXBzIGNkICcubmV0cndfb3JpZ2RpciB8IGVuZGlmCiAiICBjYWxsIERlY2hvKCJyZWZyZXNoIHRoZSBkaXJlY3RvcnkiKQotICBjYWxsIDxTSUQ+TG9jYWxCcm93c2UoPFNJRD5Mb2NhbEJyb3dzZUNoZ0RpcihleHBhbmQoIiUiKSwnLi8nKSkKKyAgY2FsbCA8U0lEPkxvY2FsQnJvd3NlKDxTSUQ+TG9jYWxCcm93c2VDaGdEaXIoYjpuZXRyd19jdXJkaXIsJy4vJykpCiAgIGV4ZSBjdXJsaW5lCiAKICIgIGNhbGwgRHJldCgiTG9jYWxCcm93c2VSbSIpCkBAIC0xNzg5LDE1ICsyMTI3LDI2IEBACiAgIHdoaWxlIGN0ciA8PSBhOmxhc3RsaW5lCiAgICBleGUgImtlZXBqdW1wcyAiLmN0cgogCisgICAiIHNhbml0eSBjaGVja3MKKyAgIGlmIGxpbmUoIi4iKSA8IHM6bmV0cndfYmFubmVyY250CisgICAgbGV0IGN0cj0gY3RyICsgMQorICAgIGNvbnRpbnVlCisgICBlbmRpZgorICAgbGV0IGN1cndvcmQ9IHM6TmV0R2V0V29yZCgpCisgICBpZiBjdXJ3b3JkID09ICIuLyIgfHwgY3Vyd29yZCA9PSAiLi4vIgorICAgIGxldCBjdHI9IGN0ciArIDEKKyAgICBjb250aW51ZQorICAgZW5kaWYKKwogICAgbm9ybSEgMAotICAgbGV0IG9sZG5hbWU9IGE6cGF0aC5zOk5ldEdldERpcigpCisgICBsZXQgb2xkbmFtZT0gYTpwYXRoLmN1cndvcmQKICIgICBjYWxsIERlY2hvKCJvbGRuYW1lPCIub2xkbmFtZS4iPiIpCiAKICAgIGNhbGwgaW5wdXRzYXZlKCkKLSAgIGxldCBuZXduYW1lPSBpbnB1dCgiTW92aW5nICIub2xkbmFtZS4iIHRvIDogIixvbGRuYW1lKQorICAgbGV0IG5ld25hbWU9IGlucHV0KCJNb3ZpbmcgIi5vbGRuYW1lLiIgdG8gOiAiLHN1YnN0aXR1dGUob2xkbmFtZSwnLyokJywnJywnZScpKQogICAgY2FsbCBpbnB1dHJlc3RvcmUoKQogCi0gICBsZXQgcmV0PSBzeXN0ZW0oZzpuZXRyd19sb2NhbF9yZW5hbWUuIiAiLm9sZG5hbWUuIiAiLm5ld25hbWUpCisgICBsZXQgcmV0PSBzeXN0ZW0oZzpuZXRyd19sb2NhbF9yZW5hbWUuJyAiJy5vbGRuYW1lLiciICInLm5ld25hbWUuJyInKQogIiAgIGNhbGwgRGVjaG8oImV4ZWN1dGluZyBzeXN0ZW0oIi5nOm5ldHJ3X2xvY2FsX3JlbmFtZS4iICIub2xkbmFtZS4iICIubmV3bmFtZSkKIAogICAgbGV0IGN0cj0gY3RyICsgMQpAQCAtMTgwNiwxMiArMjE1NSwyOSBAQAogICAiIHJlZnJlc2ggdGhlIGRpcmVjdG9yeQogICBsZXQgY3VybGluZT0gbGluZSgiLiIpCiAiICBjYWxsIERlY2hvKCJyZWZyZXNoIHRoZSBkaXJlY3RvcnkgbGlzdGluZyIpCi0gIGNhbGwgPFNJRD5Mb2NhbEJyb3dzZSg8U0lEPkxvY2FsQnJvd3NlQ2hnRGlyKGV4cGFuZCgiJSIpLCcuLycpKQorICBjYWxsIDxTSUQ+TG9jYWxCcm93c2UoPFNJRD5Mb2NhbEJyb3dzZUNoZ0RpcihiOm5ldHJ3X2N1cmRpciwnLi8nKSkKICAgZXhlICJrZWVwanVtcHMgIi5jdXJsaW5lCiAiICBjYWxsIERyZXQoIkxvY2FsQnJvd3NlUmVuYW1lIikKIGVuZGZ1bgogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIiBOZXRHZXRjd2Q6IGdldCB0aGUgY3VycmVudCBkaXJlY3RvcnkuCisiICAgQ2hhbmdlIGJhY2tzbGFzaGVzIHRvIGZvcndhcmQgc2xhc2hlcywgaWYgYW55LgorIiAgIElmIGRvZXNjIGlzIHRydWUsIGVzY2FwZSBjZXJ0YWluIHRyb3VibGVzb21lIGNoYXJhY3RlcnMKK2Z1biEgPFNJRD5OZXRHZXRjd2QoZG9lc2MpCisiICBjYWxsIERmdW5jKCJOZXRHZXRjd2QoZG9lc2M9Ii5hOmRvZXNjLiIpIikKKyAgbGV0IGN1cmRpcj0gc3Vic3RpdHV0ZShnZXRjd2QoKSwnXFwnLCcvJywnZ2UnKQorICBpZiBjdXJkaXIgIX4gJy8kJworICAgbGV0IGN1cmRpcj0gY3VyZGlyLicvJworICBlbmRpZgorICBpZiBhOmRvZXNjCisgICBsZXQgY3VyZGlyPSBlc2NhcGUoY3VyZGlyLHM6bmV0cndfY2RfZXNjYXBlKQorICBlbmRpZgorIiAgY2FsbCBEcmV0KCJOZXRHZXRjd2QgPCIuY3VyZGlyLiI+IikKKyAgcmV0dXJuIGN1cmRpcgorZW5kZnVuCisKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIE5ldE1ldGhvZDogIGRldGVybWluZSBtZXRob2Qgb2YgdHJhbnNmZXIge3t7MQogIiAgbWV0aG9kID09IDE6IHJjcAogIgkgICAgIDI6IGZ0cCArIDwubmV0cmM+CkBAIC0xOTgyLDcgKzIzNDgsNyBAQAogICAgaWYgdXNlcmlkICE9ICIiCiAgICAgbGV0IGc6bmV0cndfdWlkPSB1c2VyaWQKICAgIGVuZGlmCi0gICBpZiBoYXMoIndpbjMyIikKKyAgIGlmIGhhcygid2luMzIiKSB8fCBoYXMoIndpbjk1IikgfHwgaGFzKCJ3aW42NCIpIHx8IGhhcygid2luMTYiKQogICAgICIgZG9uJ3QgbGV0IFBDcyB0cnkgPC5uZXRyYz4KICAgICBsZXQgYjpuZXRyd19tZXRob2QgPSAzCiAgICBlbmRpZgpAQCAtMjAwNSw3ICsyMzcxLDYgQEAKICIgIGNhbGwgRGVjaG8oImI6bmV0cndfZm5hbWUgIDwiLmI6bmV0cndfZm5hbWUuIj4iKQogIiAgY2FsbCBEcmV0KCJOZXRNZXRob2QiKQogZW5kZnVuCi0iIGVuZCBvZiBOZXRNZXRob2QKIAogIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgTmV0VXNlclBhc3M6IHNldCB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZm9yIHN1YnNlcXVlbnQgZnRwIHRyYW5zZmVyIHt7ezEKQEAgLTIwMzYsNyArMjQwMSw2IEBACiAgZW5kaWYKICIgIGNhbGwgRHJldCgiTmV0VXNlclBhc3MiKQogZW5kZnVuCi0iIGVuZCBOZXRVc2VyUGFzcwogCiAiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBOZXRPcHRpb25TYXZlOiBzYXZlIG9wdGlvbnMgYW5kIHNldCB0byAic3RhbmRhcmQiIGZvcm0ge3t7MQpAQCAtMjE2Myw3ICsyNTI3LDcgQEAKICIgICAgICAgICAgImZpbGVzIiB0aGF0IHNhdGlzZnkgZWFjaCBwYXR0ZXJuLCBwdXR0aW5nIHRoZSBwcmlvcml0eSAvIGluCiAiICAgICAgICAgIGZyb250LiAgQW4gIioiIHBhdHRlcm4gaGFuZGxlcyB0aGUgZGVmYXVsdCBwcmlvcml0eS4KIGZ1biEgPFNJRD5TZXRTb3J0KCkKLSIgIGNhbGwgRGZ1bmMoIlNldFNvcnQoKSBiYW5uZXJjbnQ9Ii5nOm5ldHJ3X2Jhbm5lcmNudCkKKyIgIGNhbGwgRGZ1bmMoIlNldFNvcnQoKSBiYW5uZXJjbnQ9Ii5zOm5ldHJ3X2Jhbm5lcmNudCkKICAgaWYgZzpuZXRyd19sb25nbGlzdAogICAgbGV0IHNlcWxpc3QgID0gc3Vic3RpdHV0ZShnOm5ldHJ3X3NvcnRfc2VxdWVuY2UsJ1wkJywnXFwlKFx0XFx8XCRcXCknLCdnZScpCiAgIGVsc2UKQEAgLTIxOTUsMTQgKzI1NTksMTQgQEAKICIgICBjYWxsIERlY2hvKCJwcmlvcml0eT0iLnByaW9yaXR5LiIgc3ByaW9yaXR5PCIuc3ByaW9yaXR5LiI+IHNlcTwiLnNlcS4iPiBzZXFsaXN0PCIuc2VxbGlzdC4iPiIpCiAKICAgIGlmIHNlcSA9PSAnKicKLSAgICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5nOm5ldHJ3X2Jhbm5lcmNudC4nLCR2L15cZFx7M31cLy9zL14vJy5zcHJpb3JpdHkuJy8nCisgICAgZXhlICdrZWVwanVtcHMgc2lsZW50ICcuczpuZXRyd19iYW5uZXJjbnQuJywkdi9eXGRcezN9XC8vcy9eLycuc3ByaW9yaXR5LicvJwogICAgZWxzZQotICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLmc6bmV0cndfYmFubmVyY250LicsJGcvJy5lc2VxLicvcy9eLycuc3ByaW9yaXR5LicvJworICAgIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLnM6bmV0cndfYmFubmVyY250LicsJGcvJy5lc2VxLicvcy9eLycuc3ByaW9yaXR5LicvJwogICAgZW5kaWYKICAgIGxldCBwcmlvcml0eSA9IHByaW9yaXR5ICsgMQogICBlbmR3aGlsZQogCi0gIGV4ZSAna2VlcGp1bXBzIHNpbGVudCAnLmc6bmV0cndfYmFubmVyY250LicsJHMvXlwoXGRcezN9XC9cKVwlKFxkXHszfVwvXClcKy9cMS9lJworICBleGUgJ2tlZXBqdW1wcyBzaWxlbnQgJy5zOm5ldHJ3X2Jhbm5lcmNudC4nLCRzL15cKFxkXHszfVwvXClcJShcZFx7M31cL1wpXCsvXDEvZScKIAogIiAgY2FsbCBEcmV0KCJTZXRTb3J0IikKIGVuZGZ1bgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zY3JpcHRzLnZpbSBiL3J1bnRpbWUvc2NyaXB0cy52aW0KaW5kZXggMWI1MDZiMy4uMDdkMDRmZiAxMDA2NDQKLS0tIGEvcnVudGltZS9zY3JpcHRzLnZpbQorKysgYi9ydW50aW1lL3NjcmlwdHMudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3VwcG9ydCBmaWxlIHRvIGRldGVjdCBmaWxlIHR5cGVzIGluIHNjcmlwdHMKICIKICIgTWFpbnRhaW5lcjoJQnJhbSBNb29sZW5hYXIgPEJyYW1AdmltLm9yZz4KLSIgTGFzdCBjaGFuZ2U6CTIwMDQgQXByIDE4CisiIExhc3QgY2hhbmdlOgkyMDA0IFNlcCAwMgogCiAiIFRoaXMgZmlsZSBpcyBjYWxsZWQgYnkgYW4gYXV0b2NvbW1hbmQgZm9yIGV2ZXJ5IGZpbGUgdGhhdCBoYXMganVzdCBiZWVuCiAiIGxvYWRlZCBpbnRvIGEgYnVmZmVyLiAgSXQgY2hlY2tzIGlmIHRoZSB0eXBlIG9mIGZpbGUgY2FuIGJlIHJlY29nbml6ZWQgYnkKQEAgLTUwLDggKzUwLDggQEAKICAgICBsZXQgczpuYW1lID0gc3Vic3RpdHV0ZShzOmxpbmUxLCAnXiMhXHMqXFMqWy9cXF1cKFxpXCtcKS4qJywgJ1wxJywgJycpCiAgIGVuZGlmCiAKLSAgIiBCb3VybmUtbGlrZSBzaGVsbCBzY3JpcHRzOiBzaCBrc2ggYmFzaCBiYXNoMgotICBpZiBzOm5hbWUgPX4gJ15cKGJhc2hcfGJhc2gyXHxrc2hcfHNoXClcPicKKyAgIiBCb3VybmUtbGlrZSBzaGVsbCBzY3JpcHRzOiBiYXNoIGJhc2gyIGtzaCBrc2g5MyBzaAorICBpZiBzOm5hbWUgPX4gJ15cKGJhc2hcZCpcfFx8a3NoXGQqXHxzaFwpXD4nCiAgICAgY2FsbCBTZXRGaWxlVHlwZVNIKHM6bGluZTEpCSIgZGVmaW5lZCBpbiBmaWxldHlwZS52aW0KIAogICAgICIgY3NoIHNjcmlwdHMKQEAgLTIxOSw3ICsyMTksNyBAQAogICAgIHNldCBmdD1yY3Nsb2cKIAogICAgICIgQ1ZTIGNvbW1pdAotICBlbHNlaWYgczpsaW5lMiA9fiAnXkNWUzonCisgIGVsc2VpZiBzOmxpbmUyID1+ICdeQ1ZTOicgfHwgZ2V0bGluZSgiJCIpID1+ICdeQ1ZTOiAnCiAgICAgc2V0IGZ0PWN2cwogCiAgICAgIiBTZW5kLXByCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bm1lbnUudmltIGIvcnVudGltZS9zeW5tZW51LnZpbQppbmRleCBmNmU1ODIzLi4wODlhNmZlIDEwMDY0NAotLS0gYS9ydW50aW1lL3N5bm1lbnUudmltCisrKyBiL3J1bnRpbWUvc3lubWVudS52aW0KQEAgLTMyLDUyICszMiw1MyBAQAogIiBUaGUgU3RhcnQgT2YgVGhlIFN5bnRheCBNZW51CiAKIGFuIDUwLjEwLjEwMCAmU3ludGF4LkFCLkFhcCA6Y2FsIFNldFN5bigiYWFwIik8Q1I+Ci1hbiA1MC4xMC4xMTAgJlN5bnRheC5BQi5BYmFxdXMgOmNhbCBTZXRTeW4oImFiYXF1cyIpPENSPgotYW4gNTAuMTAuMTIwICZTeW50YXguQUIuQUJDXCBtdXNpY1wgbm90YXRpb24gOmNhbCBTZXRTeW4oImFiYyIpPENSPgotYW4gNTAuMTAuMTMwICZTeW50YXguQUIuQUJFTCA6Y2FsIFNldFN5bigiYWJlbCIpPENSPgotYW4gNTAuMTAuMTQwICZTeW50YXguQUIuQWNlREJcIG1vZGVsIDpjYWwgU2V0U3luKCJhY2VkYiIpPENSPgotYW4gNTAuMTAuMTUwICZTeW50YXguQUIuQWRhIDpjYWwgU2V0U3luKCJhZGEiKTxDUj4KLWFuIDUwLjEwLjE2MCAmU3ludGF4LkFCLkFmTGV4IDpjYWwgU2V0U3luKCJhZmxleCIpPENSPgotYW4gNTAuMTAuMTcwICZTeW50YXguQUIuQWx0ZXJhXCBBSERMIDpjYWwgU2V0U3luKCJhaGRsIik8Q1I+Ci1hbiA1MC4xMC4xODAgJlN5bnRheC5BQi5BbWlnYVwgRE9TIDpjYWwgU2V0U3luKCJhbWlnYSIpPENSPgotYW4gNTAuMTAuMTkwICZTeW50YXguQUIuQU1QTCA6Y2FsIFNldFN5bigiYW1wbCIpPENSPgotYW4gNTAuMTAuMjAwICZTeW50YXguQUIuQW50XCBidWlsZFwgZmlsZSA6Y2FsIFNldFN5bigiYW50Iik8Q1I+Ci1hbiA1MC4xMC4yMTAgJlN5bnRheC5BQi5BTlRMUiA6Y2FsIFNldFN5bigiYW50bHIiKTxDUj4KLWFuIDUwLjEwLjIyMCAmU3ludGF4LkFCLkFwYWNoZVwgY29uZmlnIDpjYWwgU2V0U3luKCJhcGFjaGUiKTxDUj4KLWFuIDUwLjEwLjIzMCAmU3ludGF4LkFCLkFwYWNoZS1zdHlsZVwgY29uZmlnIDpjYWwgU2V0U3luKCJhcGFjaGVzdHlsZSIpPENSPgotYW4gNTAuMTAuMjQwICZTeW50YXguQUIuQXBwbGl4XCBFTEYgOmNhbCBTZXRTeW4oImVsZiIpPENSPgotYW4gNTAuMTAuMjUwICZTeW50YXguQUIuQXJjXCBNYWNyb1wgTGFuZ3VhZ2UgOmNhbCBTZXRTeW4oImFtbCIpPENSPgotYW4gNTAuMTAuMjYwICZTeW50YXguQUIuQXJjaFwgaW52ZW50b3J5IDpjYWwgU2V0U3luKCJhcmNoIik8Q1I+Ci1hbiA1MC4xMC4yNzAgJlN5bnRheC5BQi5BUlQgOmNhbCBTZXRTeW4oImFydCIpPENSPgotYW4gNTAuMTAuMjgwICZTeW50YXguQUIuQVNQXCB3aXRoXCBWQlNjcmlwdCA6Y2FsIFNldFN5bigiYXNwdmJzIik8Q1I+Ci1hbiA1MC4xMC4yOTAgJlN5bnRheC5BQi5BU1BcIHdpdGhcIFBlcmwgOmNhbCBTZXRTeW4oImFzcHBlcmwiKTxDUj4KLWFuIDUwLjEwLjMwMCAmU3ludGF4LkFCLkFzc2VtYmx5LjY4MHgwIDpjYWwgU2V0U3luKCJhc202OGsiKTxDUj4KLWFuIDUwLjEwLjMxMCAmU3ludGF4LkFCLkFzc2VtYmx5LkZsYXQgOmNhbCBTZXRTeW4oImZhc20iKTxDUj4KLWFuIDUwLjEwLjMyMCAmU3ludGF4LkFCLkFzc2VtYmx5LkdOVSA6Y2FsIFNldFN5bigiYXNtIik8Q1I+Ci1hbiA1MC4xMC4zMzAgJlN5bnRheC5BQi5Bc3NlbWJseS5HTlVcIEgtODMwMCA6Y2FsIFNldFN5bigiYXNtaDgzMDAiKTxDUj4KLWFuIDUwLjEwLjM0MCAmU3ludGF4LkFCLkFzc2VtYmx5LkludGVsXCBJQS02NCA6Y2FsIFNldFN5bigiaWE2NCIpPENSPgotYW4gNTAuMTAuMzUwICZTeW50YXguQUIuQXNzZW1ibHkuTWljcm9zb2Z0IDpjYWwgU2V0U3luKCJtYXNtIik8Q1I+Ci1hbiA1MC4xMC4zNjAgJlN5bnRheC5BQi5Bc3NlbWJseS5OZXR3aWRlIDpjYWwgU2V0U3luKCJuYXNtIik8Q1I+Ci1hbiA1MC4xMC4zNzAgJlN5bnRheC5BQi5Bc3NlbWJseS5QSUMgOmNhbCBTZXRTeW4oInBpYyIpPENSPgotYW4gNTAuMTAuMzgwICZTeW50YXguQUIuQXNzZW1ibHkuVHVyYm8gOmNhbCBTZXRTeW4oInRhc20iKTxDUj4KLWFuIDUwLjEwLjM5MCAmU3ludGF4LkFCLkFzc2VtYmx5LlZBWFwgTWFjcm9cIEFzc2VtYmx5IDpjYWwgU2V0U3luKCJ2bWFzbSIpPENSPgotYW4gNTAuMTAuNDAwICZTeW50YXguQUIuQXNzZW1ibHkuWi04MCA6Y2FsIFNldFN5bigiejhhIik8Q1I+Ci1hbiA1MC4xMC40MTAgJlN5bnRheC5BQi5Bc3NlbWJseS54YVwgNjUwMlwgY3Jvc3NcIGFzc2VtYmVyIDpjYWwgU2V0U3luKCJhNjUiKTxDUj4KLWFuIDUwLjEwLjQyMCAmU3ludGF4LkFCLkFTTlwuMSA6Y2FsIFNldFN5bigiYXNuIik8Q1I+Ci1hbiA1MC4xMC40MzAgJlN5bnRheC5BQi5BdGxhcyA6Y2FsIFNldFN5bigiYXRsYXMiKTxDUj4KLWFuIDUwLjEwLjQ0MCAmU3ludGF4LkFCLkF1dG9tYWtlIDpjYWwgU2V0U3luKCJhdXRvbWFrZSIpPENSPgotYW4gNTAuMTAuNDUwICZTeW50YXguQUIuQXZlbnVlIDpjYWwgU2V0U3luKCJhdmUiKTxDUj4KLWFuIDUwLjEwLjQ2MCAmU3ludGF4LkFCLkF3ayA6Y2FsIFNldFN5bigiYXdrIik8Q1I+Ci1hbiA1MC4xMC40NzAgJlN5bnRheC5BQi5BWWFjYyA6Y2FsIFNldFN5bigiYXlhY2MiKTxDUj4KLWFuIDUwLjEwLjQ5MCAmU3ludGF4LkFCLkIgOmNhbCBTZXRTeW4oImIiKTxDUj4KLWFuIDUwLjEwLjUwMCAmU3ludGF4LkFCLkJhYW4gOmNhbCBTZXRTeW4oImJhYW4iKTxDUj4KLWFuIDUwLjEwLjUxMCAmU3ludGF4LkFCLkJBU0lDIDpjYWwgU2V0U3luKCJiYXNpYyIpPENSPgotYW4gNTAuMTAuNTIwICZTeW50YXguQUIuQkNcIGNhbGN1bGF0b3IgOmNhbCBTZXRTeW4oImJjIik8Q1I+Ci1hbiA1MC4xMC41MzAgJlN5bnRheC5BQi5CREZcIGZvbnQgOmNhbCBTZXRTeW4oImJkZiIpPENSPgotYW4gNTAuMTAuNTQwICZTeW50YXguQUIuQmliVGVYIDpjYWwgU2V0U3luKCJiaWIiKTxDUj4KLWFuIDUwLjEwLjU1MCAmU3ludGF4LkFCLkJJTkQuQklORFwgY29uZmlnIDpjYWwgU2V0U3luKCJuYW1lZCIpPENSPgotYW4gNTAuMTAuNTYwICZTeW50YXguQUIuQklORC5CSU5EXCB6b25lIDpjYWwgU2V0U3luKCJiaW5kem9uZSIpPENSPgotYW4gNTAuMTAuNTcwICZTeW50YXguQUIuQmxhbmsgOmNhbCBTZXRTeW4oImJsYW5rIik8Q1I+CithbiA1MC4xMC4xMTAgJlN5bnRheC5BQi5BQkFQLzQgOmNhbCBTZXRTeW4oImFiYXAiKTxDUj4KK2FuIDUwLjEwLjEyMCAmU3ludGF4LkFCLkFiYXF1cyA6Y2FsIFNldFN5bigiYWJhcXVzIik8Q1I+CithbiA1MC4xMC4xMzAgJlN5bnRheC5BQi5BQkNcIG11c2ljXCBub3RhdGlvbiA6Y2FsIFNldFN5bigiYWJjIik8Q1I+CithbiA1MC4xMC4xNDAgJlN5bnRheC5BQi5BQkVMIDpjYWwgU2V0U3luKCJhYmVsIik8Q1I+CithbiA1MC4xMC4xNTAgJlN5bnRheC5BQi5BY2VEQlwgbW9kZWwgOmNhbCBTZXRTeW4oImFjZWRiIik8Q1I+CithbiA1MC4xMC4xNjAgJlN5bnRheC5BQi5BZGEgOmNhbCBTZXRTeW4oImFkYSIpPENSPgorYW4gNTAuMTAuMTcwICZTeW50YXguQUIuQWZMZXggOmNhbCBTZXRTeW4oImFmbGV4Iik8Q1I+CithbiA1MC4xMC4xODAgJlN5bnRheC5BQi5BbHRlcmFcIEFIREwgOmNhbCBTZXRTeW4oImFoZGwiKTxDUj4KK2FuIDUwLjEwLjE5MCAmU3ludGF4LkFCLkFtaWdhXCBET1MgOmNhbCBTZXRTeW4oImFtaWdhIik8Q1I+CithbiA1MC4xMC4yMDAgJlN5bnRheC5BQi5BTVBMIDpjYWwgU2V0U3luKCJhbXBsIik8Q1I+CithbiA1MC4xMC4yMTAgJlN5bnRheC5BQi5BbnRcIGJ1aWxkXCBmaWxlIDpjYWwgU2V0U3luKCJhbnQiKTxDUj4KK2FuIDUwLjEwLjIyMCAmU3ludGF4LkFCLkFOVExSIDpjYWwgU2V0U3luKCJhbnRsciIpPENSPgorYW4gNTAuMTAuMjMwICZTeW50YXguQUIuQXBhY2hlXCBjb25maWcgOmNhbCBTZXRTeW4oImFwYWNoZSIpPENSPgorYW4gNTAuMTAuMjQwICZTeW50YXguQUIuQXBhY2hlLXN0eWxlXCBjb25maWcgOmNhbCBTZXRTeW4oImFwYWNoZXN0eWxlIik8Q1I+CithbiA1MC4xMC4yNTAgJlN5bnRheC5BQi5BcHBsaXhcIEVMRiA6Y2FsIFNldFN5bigiZWxmIik8Q1I+CithbiA1MC4xMC4yNjAgJlN5bnRheC5BQi5BcmNcIE1hY3JvXCBMYW5ndWFnZSA6Y2FsIFNldFN5bigiYW1sIik8Q1I+CithbiA1MC4xMC4yNzAgJlN5bnRheC5BQi5BcmNoXCBpbnZlbnRvcnkgOmNhbCBTZXRTeW4oImFyY2giKTxDUj4KK2FuIDUwLjEwLjI4MCAmU3ludGF4LkFCLkFSVCA6Y2FsIFNldFN5bigiYXJ0Iik8Q1I+CithbiA1MC4xMC4yOTAgJlN5bnRheC5BQi5BU1BcIHdpdGhcIFZCU2NyaXB0IDpjYWwgU2V0U3luKCJhc3B2YnMiKTxDUj4KK2FuIDUwLjEwLjMwMCAmU3ludGF4LkFCLkFTUFwgd2l0aFwgUGVybCA6Y2FsIFNldFN5bigiYXNwcGVybCIpPENSPgorYW4gNTAuMTAuMzEwICZTeW50YXguQUIuQXNzZW1ibHkuNjgweDAgOmNhbCBTZXRTeW4oImFzbTY4ayIpPENSPgorYW4gNTAuMTAuMzIwICZTeW50YXguQUIuQXNzZW1ibHkuRmxhdCA6Y2FsIFNldFN5bigiZmFzbSIpPENSPgorYW4gNTAuMTAuMzMwICZTeW50YXguQUIuQXNzZW1ibHkuR05VIDpjYWwgU2V0U3luKCJhc20iKTxDUj4KK2FuIDUwLjEwLjM0MCAmU3ludGF4LkFCLkFzc2VtYmx5LkdOVVwgSC04MzAwIDpjYWwgU2V0U3luKCJhc21oODMwMCIpPENSPgorYW4gNTAuMTAuMzUwICZTeW50YXguQUIuQXNzZW1ibHkuSW50ZWxcIElBLTY0IDpjYWwgU2V0U3luKCJpYTY0Iik8Q1I+CithbiA1MC4xMC4zNjAgJlN5bnRheC5BQi5Bc3NlbWJseS5NaWNyb3NvZnQgOmNhbCBTZXRTeW4oIm1hc20iKTxDUj4KK2FuIDUwLjEwLjM3MCAmU3ludGF4LkFCLkFzc2VtYmx5Lk5ldHdpZGUgOmNhbCBTZXRTeW4oIm5hc20iKTxDUj4KK2FuIDUwLjEwLjM4MCAmU3ludGF4LkFCLkFzc2VtYmx5LlBJQyA6Y2FsIFNldFN5bigicGljIik8Q1I+CithbiA1MC4xMC4zOTAgJlN5bnRheC5BQi5Bc3NlbWJseS5UdXJibyA6Y2FsIFNldFN5bigidGFzbSIpPENSPgorYW4gNTAuMTAuNDAwICZTeW50YXguQUIuQXNzZW1ibHkuVkFYXCBNYWNyb1wgQXNzZW1ibHkgOmNhbCBTZXRTeW4oInZtYXNtIik8Q1I+CithbiA1MC4xMC40MTAgJlN5bnRheC5BQi5Bc3NlbWJseS5aLTgwIDpjYWwgU2V0U3luKCJ6OGEiKTxDUj4KK2FuIDUwLjEwLjQyMCAmU3ludGF4LkFCLkFzc2VtYmx5LnhhXCA2NTAyXCBjcm9zc1wgYXNzZW1iZXIgOmNhbCBTZXRTeW4oImE2NSIpPENSPgorYW4gNTAuMTAuNDMwICZTeW50YXguQUIuQVNOXC4xIDpjYWwgU2V0U3luKCJhc24iKTxDUj4KK2FuIDUwLjEwLjQ0MCAmU3ludGF4LkFCLkF0bGFzIDpjYWwgU2V0U3luKCJhdGxhcyIpPENSPgorYW4gNTAuMTAuNDUwICZTeW50YXguQUIuQXV0b21ha2UgOmNhbCBTZXRTeW4oImF1dG9tYWtlIik8Q1I+CithbiA1MC4xMC40NjAgJlN5bnRheC5BQi5BdmVudWUgOmNhbCBTZXRTeW4oImF2ZSIpPENSPgorYW4gNTAuMTAuNDcwICZTeW50YXguQUIuQXdrIDpjYWwgU2V0U3luKCJhd2siKTxDUj4KK2FuIDUwLjEwLjQ4MCAmU3ludGF4LkFCLkFZYWNjIDpjYWwgU2V0U3luKCJheWFjYyIpPENSPgorYW4gNTAuMTAuNTAwICZTeW50YXguQUIuQiA6Y2FsIFNldFN5bigiYiIpPENSPgorYW4gNTAuMTAuNTEwICZTeW50YXguQUIuQmFhbiA6Y2FsIFNldFN5bigiYmFhbiIpPENSPgorYW4gNTAuMTAuNTIwICZTeW50YXguQUIuQkFTSUMgOmNhbCBTZXRTeW4oImJhc2ljIik8Q1I+CithbiA1MC4xMC41MzAgJlN5bnRheC5BQi5CQ1wgY2FsY3VsYXRvciA6Y2FsIFNldFN5bigiYmMiKTxDUj4KK2FuIDUwLjEwLjU0MCAmU3ludGF4LkFCLkJERlwgZm9udCA6Y2FsIFNldFN5bigiYmRmIik8Q1I+CithbiA1MC4xMC41NTAgJlN5bnRheC5BQi5CaWJUZVggOmNhbCBTZXRTeW4oImJpYiIpPENSPgorYW4gNTAuMTAuNTYwICZTeW50YXguQUIuQklORC5CSU5EXCBjb25maWcgOmNhbCBTZXRTeW4oIm5hbWVkIik8Q1I+CithbiA1MC4xMC41NzAgJlN5bnRheC5BQi5CSU5ELkJJTkRcIHpvbmUgOmNhbCBTZXRTeW4oImJpbmR6b25lIik8Q1I+CithbiA1MC4xMC41ODAgJlN5bnRheC5BQi5CbGFuayA6Y2FsIFNldFN5bigiYmxhbmsiKTxDUj4KIGFuIDUwLjIwLjEwMCAmU3ludGF4LkMuQyA6Y2FsIFNldFN5bigiYyIpPENSPgogYW4gNTAuMjAuMTEwICZTeW50YXguQy5DKysgOmNhbCBTZXRTeW4oImNwcCIpPENSPgogYW4gNTAuMjAuMTIwICZTeW50YXguQy5DIyA6Y2FsIFNldFN5bigiY3MiKTxDUj4KQEAgLTEzMiwxMiArMTMzLDExIEBACiBhbiA1MC4zMC4zMzAgJlN5bnRheC5ERS5FbG1cIGZpbHRlclwgcnVsZXMgOmNhbCBTZXRTeW4oImVsbWZpbHQiKTxDUj4KIGFuIDUwLjMwLjM0MCAmU3ludGF4LkRFLkVtYmVkaXhcIENvbXBvbmVudFwgRGVzY3JpcHRpb24gOmNhbCBTZXRTeW4oImVjZCIpPENSPgogYW4gNTAuMzAuMzUwICZTeW50YXguREUuRVJpY3Nzb25cIExBTkd1YWdlIDpjYWwgU2V0U3luKCJlcmxhbmciKTxDUj4KLWFuIDUwLjMwLjM2MCAmU3ludGF4LkRFLkVTUUwtQyA6Y2FsIFNldFN5bigiZXNxbGMiKTxDUj4KLWFuIDUwLjMwLjM3MCAmU3ludGF4LkRFLkVzc2Jhc2VcIHNjcmlwdCA6Y2FsIFNldFN5bigiY3NjIik8Q1I+Ci1hbiA1MC4zMC4zODAgJlN5bnRheC5ERS5FdGVybVwgY29uZmlnIDpjYWwgU2V0U3luKCJldGVybSIpPENSPgotYW4gNTAuMzAuMzkwICZTeW50YXguREUuRXhpbVwgY29uZiA6Y2FsIFNldFN5bigiZXhpbSIpPENSPgotYW4gNTAuMzAuNDAwICZTeW50YXguREUuRXhwZWN0IDpjYWwgU2V0U3luKCJleHBlY3QiKTxDUj4KLWFuIDUwLjMwLjQxMCAmU3ludGF4LkRFLkV4cG9ydHMgOmNhbCBTZXRTeW4oImV4cG9ydHMiKTxDUj4KK2FuIDUwLjMwLjM2MCAmU3ludGF4LkRFLkVzc2Jhc2VcIHNjcmlwdCA6Y2FsIFNldFN5bigiY3NjIik8Q1I+CithbiA1MC4zMC4zNzAgJlN5bnRheC5ERS5FdGVybVwgY29uZmlnIDpjYWwgU2V0U3luKCJldGVybSIpPENSPgorYW4gNTAuMzAuMzgwICZTeW50YXguREUuRXhpbVwgY29uZiA6Y2FsIFNldFN5bigiZXhpbSIpPENSPgorYW4gNTAuMzAuMzkwICZTeW50YXguREUuRXhwZWN0IDpjYWwgU2V0U3luKCJleHBlY3QiKTxDUj4KK2FuIDUwLjMwLjQwMCAmU3ludGF4LkRFLkV4cG9ydHMgOmNhbCBTZXRTeW4oImV4cG9ydHMiKTxDUj4KIGFuIDUwLjQwLjEwMCAmU3ludGF4LkZHLkZldGNobWFpbCA6Y2FsIFNldFN5bigiZmV0Y2htYWlsIik8Q1I+CiBhbiA1MC40MC4xMTAgJlN5bnRheC5GRy5Gb2N1c1wgRXhlY3V0YWJsZSA6Y2FsIFNldFN5bigiZm9jZXhlYyIpPENSPgogYW4gNTAuNDAuMTIwICZTeW50YXguRkcuRm9jdXNcIE1hc3RlciA6Y2FsIFNldFN5bigibWFzdGVyIik8Q1I+CkBAIC0yNzksMjQgKzI3OSwyMyBAQAogYW4gNTAuODAuMjIwICZTeW50YXguUFEuUGluZVwgUkMgOmNhbCBTZXRTeW4oInBpbmUiKTxDUj4KIGFuIDUwLjgwLjIzMCAmU3ludGF4LlBRLlBpbmZvXCBSQyA6Y2FsIFNldFN5bigicGluZm8iKTxDUj4KIGFuIDUwLjgwLjI0MCAmU3ludGF4LlBRLlBML00gOmNhbCBTZXRTeW4oInBsbSIpPENSPgotYW4gNTAuODAuMjUwICZTeW50YXguUFEuUEwvU1FMIDpjYWwgU2V0U3luKCJwbHNxbCIpPENSPgotYW4gNTAuODAuMjYwICZTeW50YXguUFEuUExQIDpjYWwgU2V0U3luKCJwbHAiKTxDUj4KLWFuIDUwLjgwLjI3MCAmU3ludGF4LlBRLlBPXCAoR05VXCBnZXR0ZXh0KSA6Y2FsIFNldFN5bigicG8iKTxDUj4KLWFuIDUwLjgwLjI4MCAmU3ludGF4LlBRLlBvc3RmaXhcIG1haW5cIGNvbmZpZyA6Y2FsIFNldFN5bigicGZtYWluIik8Q1I+Ci1hbiA1MC44MC4yOTAgJlN5bnRheC5QUS5Qb3N0U2NyaXB0LlBvc3RTY3JpcHQgOmNhbCBTZXRTeW4oInBvc3RzY3IiKTxDUj4KLWFuIDUwLjgwLjMwMCAmU3ludGF4LlBRLlBvc3RTY3JpcHQuUG9zdFNjcmlwdFwgUHJpbnRlclwgRGVzY3JpcHRpb24gOmNhbCBTZXRTeW4oInBwZCIpPENSPgotYW4gNTAuODAuMzEwICZTeW50YXguUFEuUG92cmF5LlBvdnJheVwgc2NlbmVcIGRlc2NyIDpjYWwgU2V0U3luKCJwb3YiKTxDUj4KLWFuIDUwLjgwLjMyMCAmU3ludGF4LlBRLlBvdnJheS5Qb3ZyYXlcIGNvbmZpZ3VyYXRpb24gOmNhbCBTZXRTeW4oInBvdmluaSIpPENSPgotYW4gNTAuODAuMzMwICZTeW50YXguUFEuUHJpbnRjYXAgOmNhbCBTZXRTeW4oInBjYXAiKTxDUj4KLWFuIDUwLjgwLjM0MCAmU3ludGF4LlBRLlByb2NtYWlsIDpjYWwgU2V0U3luKCJwcm9jbWFpbCIpPENSPgotYW4gNTAuODAuMzUwICZTeW50YXguUFEuUHJvZHVjdFwgU3BlY1wgRmlsZSA6Y2FsIFNldFN5bigicHNmIik8Q1I+Ci1hbiA1MC44MC4zNjAgJlN5bnRheC5QUS5Qcm9ncmVzcyA6Y2FsIFNldFN5bigicHJvZ3Jlc3MiKTxDUj4KLWFuIDUwLjgwLjM3MCAmU3ludGF4LlBRLlByb2xvZyA6Y2FsIFNldFN5bigicHJvbG9nIik8Q1I+Ci1hbiA1MC44MC4zODAgJlN5bnRheC5QUS5QdXJpZnlcIGxvZyA6Y2FsIFNldFN5bigicHVyaWZ5bG9nIik8Q1I+Ci1hbiA1MC44MC4zOTAgJlN5bnRheC5QUS5QeXJleCA6Y2FsIFNldFN5bigicHlyZXgiKTxDUj4KLWFuIDUwLjgwLjQwMCAmU3ludGF4LlBRLlB5dGhvbiA6Y2FsIFNldFN5bigicHl0aG9uIik8Q1I+Ci1hbiA1MC44MC40MjAgJlN5bnRheC5QUS5RdWFrZSA6Y2FsIFNldFN5bigicXVha2UiKTxDUj4KLWFuIDUwLjgwLjQzMCAmU3ludGF4LlBRLlF1aWNrZml4XCB3aW5kb3cgOmNhbCBTZXRTeW4oInFmIik8Q1I+CithbiA1MC44MC4yNTAgJlN5bnRheC5QUS5QTFAgOmNhbCBTZXRTeW4oInBscCIpPENSPgorYW4gNTAuODAuMjYwICZTeW50YXguUFEuUE9cIChHTlVcIGdldHRleHQpIDpjYWwgU2V0U3luKCJwbyIpPENSPgorYW4gNTAuODAuMjcwICZTeW50YXguUFEuUG9zdGZpeFwgbWFpblwgY29uZmlnIDpjYWwgU2V0U3luKCJwZm1haW4iKTxDUj4KK2FuIDUwLjgwLjI4MCAmU3ludGF4LlBRLlBvc3RTY3JpcHQuUG9zdFNjcmlwdCA6Y2FsIFNldFN5bigicG9zdHNjciIpPENSPgorYW4gNTAuODAuMjkwICZTeW50YXguUFEuUG9zdFNjcmlwdC5Qb3N0U2NyaXB0XCBQcmludGVyXCBEZXNjcmlwdGlvbiA6Y2FsIFNldFN5bigicHBkIik8Q1I+CithbiA1MC44MC4zMDAgJlN5bnRheC5QUS5Qb3ZyYXkuUG92cmF5XCBzY2VuZVwgZGVzY3IgOmNhbCBTZXRTeW4oInBvdiIpPENSPgorYW4gNTAuODAuMzEwICZTeW50YXguUFEuUG92cmF5LlBvdnJheVwgY29uZmlndXJhdGlvbiA6Y2FsIFNldFN5bigicG92aW5pIik8Q1I+CithbiA1MC44MC4zMjAgJlN5bnRheC5QUS5QcmludGNhcCA6Y2FsIFNldFN5bigicGNhcCIpPENSPgorYW4gNTAuODAuMzMwICZTeW50YXguUFEuUHJvY21haWwgOmNhbCBTZXRTeW4oInByb2NtYWlsIik8Q1I+CithbiA1MC44MC4zNDAgJlN5bnRheC5QUS5Qcm9kdWN0XCBTcGVjXCBGaWxlIDpjYWwgU2V0U3luKCJwc2YiKTxDUj4KK2FuIDUwLjgwLjM1MCAmU3ludGF4LlBRLlByb2dyZXNzIDpjYWwgU2V0U3luKCJwcm9ncmVzcyIpPENSPgorYW4gNTAuODAuMzYwICZTeW50YXguUFEuUHJvbG9nIDpjYWwgU2V0U3luKCJwcm9sb2ciKTxDUj4KK2FuIDUwLjgwLjM3MCAmU3ludGF4LlBRLlB1cmlmeVwgbG9nIDpjYWwgU2V0U3luKCJwdXJpZnlsb2ciKTxDUj4KK2FuIDUwLjgwLjM4MCAmU3ludGF4LlBRLlB5cmV4IDpjYWwgU2V0U3luKCJweXJleCIpPENSPgorYW4gNTAuODAuMzkwICZTeW50YXguUFEuUHl0aG9uIDpjYWwgU2V0U3luKCJweXRob24iKTxDUj4KK2FuIDUwLjgwLjQxMCAmU3ludGF4LlBRLlF1YWtlIDpjYWwgU2V0U3luKCJxdWFrZSIpPENSPgorYW4gNTAuODAuNDIwICZTeW50YXguUFEuUXVpY2tmaXhcIHdpbmRvdyA6Y2FsIFNldFN5bigicWYiKTxDUj4KIGFuIDUwLjkwLjEwMCAmU3ludGF4LlItU2cuUiA6Y2FsIFNldFN5bigiciIpPENSPgogYW4gNTAuOTAuMTEwICZTeW50YXguUi1TZy5SYWRpYW5jZSA6Y2FsIFNldFN5bigicmFkaWFuY2UiKTxDUj4KIGFuIDUwLjkwLjEyMCAmU3ludGF4LlItU2cuUmF0cG9pc29uIDpjYWwgU2V0U3luKCJyYXRwb2lzb24iKTxDUj4KQEAgLTM2MywxNyArMzYyLDIwIEBACiBhbiA1MC4xMDAuMzgwICZTeW50YXguU2gtUy5TcGVlZHVwIDpjYWwgU2V0U3luKCJzcHVwIik8Q1I+CiBhbiA1MC4xMDAuMzkwICZTeW50YXguU2gtUy5TcGxpbnQgOmNhbCBTZXRTeW4oInNwbGludCIpPENSPgogYW4gNTAuMTAwLjQwMCAmU3ludGF4LlNoLVMuU3F1aWRcIGNvbmZpZyA6Y2FsIFNldFN5bigic3F1aWQiKTxDUj4KLWFuIDUwLjEwMC40MTAgJlN5bnRheC5TaC1TLlNRTC5NeVNRTCA6Y2FsIFNldFN5bigibXlzcWwiKTxDUj4KLWFuIDUwLjEwMC40MjAgJlN5bnRheC5TaC1TLlNRTC5TUUwgOmNhbCBTZXRTeW4oInNxbCIpPENSPgotYW4gNTAuMTAwLjQzMCAmU3ludGF4LlNoLVMuU1FMLlNRTFwgRm9ybXMgOmNhbCBTZXRTeW4oInNxbGZvcm1zIik8Q1I+Ci1hbiA1MC4xMDAuNDQwICZTeW50YXguU2gtUy5TUUwuU1FMSiA6Y2FsIFNldFN5bigic3FsaiIpPENSPgotYW4gNTAuMTAwLjQ1MCAmU3ludGF4LlNoLVMuU1FSIDpjYWwgU2V0U3luKCJzcXIiKTxDUj4KLWFuIDUwLjEwMC40NjAgJlN5bnRheC5TaC1TLlNzaC5zc2hfY29uZmlnIDpjYWwgU2V0U3luKCJzc2hjb25maWciKTxDUj4KLWFuIDUwLjEwMC40NzAgJlN5bnRheC5TaC1TLlNzaC5zc2hkX2NvbmZpZyA6Y2FsIFNldFN5bigic3NoZGNvbmZpZyIpPENSPgotYW4gNTAuMTAwLjQ4MCAmU3ludGF4LlNoLVMuU3RhbmRhcmRcIE1MIDpjYWwgU2V0U3luKCJzbWwiKTxDUj4KLWFuIDUwLjEwMC40OTAgJlN5bnRheC5TaC1TLlN0b3JlZFwgUHJvY2VkdXJlcyA6Y2FsIFNldFN5bigic3RwIik8Q1I+Ci1hbiA1MC4xMDAuNTAwICZTeW50YXguU2gtUy5TdHJhY2UgOmNhbCBTZXRTeW4oInN0cmFjZSIpPENSPgotYW4gNTAuMTAwLjUxMCAmU3ludGF4LlNoLVMuU3VidmVyc2lvblwgY29tbWl0IDpjYWwgU2V0U3luKCJzdm4iKTxDUj4KK2FuIDUwLjEwMC40MTAgJlN5bnRheC5TaC1TLlNRTC5FU1FMLUMgOmNhbCBTZXRTeW4oImVzcWxjIik8Q1I+CithbiA1MC4xMDAuNDIwICZTeW50YXguU2gtUy5TUUwuTXlTUUwgOmNhbCBTZXRTeW4oIm15c3FsIik8Q1I+CithbiA1MC4xMDAuNDMwICZTeW50YXguU2gtUy5TUUwuUEwvU1FMIDpjYWwgU2V0U3luKCJwbHNxbCIpPENSPgorYW4gNTAuMTAwLjQ0MCAmU3ludGF4LlNoLVMuU1FMLlNRTFwgKE9yYWNsZSkgOmNhbCBTZXRTeW4oInNxbCIpPENSPgorYW4gNTAuMTAwLjQ1MCAmU3ludGF4LlNoLVMuU1FMLlNRTFwgRm9ybXMgOmNhbCBTZXRTeW4oInNxbGZvcm1zIik8Q1I+CithbiA1MC4xMDAuNDYwICZTeW50YXguU2gtUy5TUUwuU1FMSiA6Y2FsIFNldFN5bigic3FsaiIpPENSPgorYW4gNTAuMTAwLjQ3MCAmU3ludGF4LlNoLVMuU1FMLlNRTC1JbmZvcm1peCA6Y2FsIFNldFN5bigic3FsaW5mb3JtaXgiKTxDUj4KK2FuIDUwLjEwMC40ODAgJlN5bnRheC5TaC1TLlNRUiA6Y2FsIFNldFN5bigic3FyIik8Q1I+CithbiA1MC4xMDAuNDkwICZTeW50YXguU2gtUy5Tc2guc3NoX2NvbmZpZyA6Y2FsIFNldFN5bigic3NoY29uZmlnIik8Q1I+CithbiA1MC4xMDAuNTAwICZTeW50YXguU2gtUy5Tc2guc3NoZF9jb25maWcgOmNhbCBTZXRTeW4oInNzaGRjb25maWciKTxDUj4KK2FuIDUwLjEwMC41MTAgJlN5bnRheC5TaC1TLlN0YW5kYXJkXCBNTCA6Y2FsIFNldFN5bigic21sIik8Q1I+CithbiA1MC4xMDAuNTIwICZTeW50YXguU2gtUy5TdG9yZWRcIFByb2NlZHVyZXMgOmNhbCBTZXRTeW4oInN0cCIpPENSPgorYW4gNTAuMTAwLjUzMCAmU3ludGF4LlNoLVMuU3RyYWNlIDpjYWwgU2V0U3luKCJzdHJhY2UiKTxDUj4KK2FuIDUwLjEwMC41NDAgJlN5bnRheC5TaC1TLlN1YnZlcnNpb25cIGNvbW1pdCA6Y2FsIFNldFN5bigic3ZuIik8Q1I+CiBhbiA1MC4xMTAuMTAwICZTeW50YXguVFVWLlRBRFMgOmNhbCBTZXRTeW4oInRhZHMiKTxDUj4KIGFuIDUwLjExMC4xMTAgJlN5bnRheC5UVVYuVGFncyA6Y2FsIFNldFN5bigidGFncyIpPENSPgogYW4gNTAuMTEwLjEyMCAmU3ludGF4LlRVVi5UQUsuVEFLXCBjb21wYXJlIDpjYWwgU2V0U3luKCJ0YWtjbXAiKTxDUj4KZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2FiYXAudmltIGIvcnVudGltZS9zeW50YXgvYWJhcC52aW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmIxMjI5ZgotLS0gL2Rldi9udWxsCisrKyBiL3J1bnRpbWUvc3ludGF4L2FiYXAudmltCkBAIC0wLDAgKzEsMTUyIEBACisiIFZpbSBBQkFQIHN5bnRheCBmaWxlCisiICAgIExhbmd1YWdlOglTQVAgLSBBQkFQLzQKKyIgICAgUmV2aXNpb246CTAuOAorIiAgTWFpbnRhaW5lcjoJTWFyaXVzIHZhbiBXeWsgPG1hcml1c0BlLmNvLnphPgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMzAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCisiIEFsd2F5cyBpZ25vcmUgY2FzZQorc3luIGNhc2UgaWdub3JlCisKKyIgU3ltYm9sIE9wZXJhdG9ycworc3luIG1hdGNoICAgYWJhcFN5bWJvbE9wZXJhdG9yICAgICAgIlsrXC0vPTw+JF0iCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiXCoiCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiWzw+XT0iCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiPD4iCitzeW4gbWF0Y2ggICBhYmFwU3ltYm9sT3BlcmF0b3IgICAgICAiXCpcKiIKK3N5biBtYXRjaCAgIGFiYXBTeW1ib2xPcGVyYXRvciAgICAgICJbKCldIgorc3luIG1hdGNoICAgYWJhcFN5bWJvbE9wZXJhdG9yICAgICAgIls6LFwuXSIKKworIiBMaXRlcmFscworc3luIHJlZ2lvbiAgYWJhcFN0cmluZyBtYXRjaGdyb3VwPWFiYXBTdHJpbmcgc3RhcnQ9IiciIGVuZD0iJyIgY29udGFpbnM9YWJhcFN0cmluZ0VzY2FwZQorc3luIG1hdGNoICAgYWJhcFN0cmluZ0VzY2FwZSBjb250YWluZWQgIicnIgorCitzeW4gbWF0Y2ggICBhYmFwTnVtYmVyCSItXD1cPFxkXCtcPiIKK3N5biByZWdpb24gIGFiYXBIZXggICAgIG1hdGNoZ3JvdXA9YWJhcEhleCBzdGFydD0iWCciIGVuZD0iJyIKKworaWYgdmVyc2lvbiA+PSA2MDAKKyAgc2V0bG9jYWwgaXNrZXl3b3JkPS0sNDgtNTcsXyxBLVosYS16CitlbHNlCisgIHNldCBpc2tleXdvcmQ9LSw0OC01NyxfLEEtWixhLXoKK2VuZGlmCisKKyIgQUJBUCBzdGF0ZW1lbnRzCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IEFERCBBREQtQ09SUkVTUE9ORElORyBBU1NJR04gQVQgQVVUSE9SSVRZLUNIRUNLCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IEJBQ0sgQlJFQUstUE9JTlQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgQ0FMTCBDQVNFIENIRUNLIENMRUFSIENMT1NFIENOVCBDT0xMRUNUIENPTU1JVCBDT01NVU5JQ0FUSU9OIENPTVBVVEUgQ09OQ0FURU5BVEUgQ09OREVOU0UgQ09OU1RBTlRTIENPTlRJTlVFIENPTlRST0xTIENPTlZFUlQgQ1JFQVRFIENVUlJFTkNZCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IERBVEEgREVGSU5FIERFTEVURSBERVNDUklCRSBERVRBSUwgRElWSURFIERJVklERS1DT1JSRVNQT05ESU5HIERPCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IEVESVRPUi1DQUxMIEVMU0UgRUxTRUlGIEVORC1PRi1ERUZJTklUSU9OIEVORC1PRi1QQUdFIEVORC1PRi1TRUxFQ1RJT04gRU5EQVQgRU5EQ0FTRSBFTkRETyBFTkRFWEVDIEVOREZPUk0gRU5ERlVOQ1RJT04gRU5ESUYgRU5ESUZFTkQgRU5ETE9PUCBFTkRNT0RVTEUgRU5ET04gRU5EUFJPVklERSBFTkRTRUxFQ1QgRU5EV0hJTEUgRVhFQyBFWFBPUlQgRVhQT1JUSU5HIEVYVFJBQ1QKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgRkVUQ0ggRklFTEQtR1JPVVBTIEZJRUxELVNZTUJPTFMgRklFTERTIEZPUk0gRk9STUFUIEZSRUUgRlVOQ1RJT04gRlVOQ1RJT04tUE9PTAorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBHRU5FUkFURSBHRVQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgSElERQorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBJRiBJTVBPUlQgSU1QT1JUSU5HIElOREVYIElORk9UWVBFUyBJTklUSUFMSVpBVElPTiBJTlBVVCBJTlNFUlQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgTEVBVkUgTElLRSBMT0FEIExPQ0FMIExPT1AKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgTUVTU0FHRSBNT0RJRlkgTU9EVUxFIE1PVkUgTU9WRS1DT1JSRVNQT05ESU5HIE1VTFRJUExZIE1VTFRJUExZLUNPUlJFU1BPTkRJTkcKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgTkVXLUxJTkUgTkVXLVBBR0UgTkVXLVNFQ1RJT04KK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgT04gT1ZFUkxBWQorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBQQUNLIFBBUkFNRVRFUlMgUEVSRk9STSBQT1NJVElPTiBQUklOVC1DT05UUk9MIFBST0dSQU0gUFJPVklERSBQVVQKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgUkFJU0UgUkFOR0VTIFJFQUQgUkVDRUlWRSBSRUZSRVNIIFJFSkVDVCBSRVBMQUNFIFJFUE9SVCBSRVNFUlZFIFJFU1RPUkUgUk9MTEJBQ0sKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgU0NBTiBTQ1JPTEwgU0VBUkNIIFNFTEVDVCBTRUxFQ1QtT1BUSU9OUyBTRUxFQ1RJT04tU0NSRUVOIFNFVCBTSElGVCBTS0lQIFNPUlQgU1BMSVQgU1RBUlQtT0YtU0VMRUNUSU9OIFNUQVRJQ1MgU1RPUCBTVUJNSVQgU1VCVFJBQ1QgU1VCVFJBQ1QtQ09SUkVTUE9ORElORyBTVU0gU1VNTUFSWSBTVVBQUkVTUyBTWU5UQVgtQ0hFQ0sgU1lOVEFYLVRSQUNFCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IFRBQkxFUyBUT1AtT0YtUEFHRSBUUkFOU0ZFUiBUUkFOU0xBVEUgVFlQRSBUWVBFLVBPT0wgVFlQRS1QT09MUyBUWVBFUworc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBVTlBBQ0sgVVBEQVRFCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IFdIRU4gV0hJTEUgV0lORE9XIFdSSVRFCisKKyIgTW9yZSBzdGF0ZW1ldHMKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgT0NDVVJTIFNUUlVDVFVSRSBPQkpFQ1QgUFJPUEVSVFkKK3N5biBrZXl3b3JkIGFiYXBTdGF0ZW1lbnQgQ0FTVElORyBBUFBFTkQgUkFJU0lORyBWQUxVRSBDT0xPUgorc3luIGtleXdvcmQgYWJhcFN0YXRlbWVudCBMSU5FLVNJWkUgTElORS1DT1VOVCBNRVNTQUdFLUlECitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IENIQU5HSU5HIEVYQ0VQVElPTlMgREVGQVVMVCBDSEVDS0JPWCBDT01NRU5UCitzeW4ga2V5d29yZCBhYmFwU3RhdGVtZW50IElEIE5VTUJFUiBGT1IgRElTUExBWS1NT0RFIFRJVExFIE9VVFBVVAorCisiIE1vcmUgbXVsdGktd29yZCBzdGF0ZW1lbnRzCitzeW4gbWF0Y2ggICBhYmFwU3RhdGVtZW50ICJcKFxXXHxeXClcKFdJVEhcV1wrXChIRUFERVJcV1wrTElORVx8RlJBTUVcfEtFWVwpXHxXSVRIXClcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpTk9cV1wrU1RBTkRBUkRcV1wrUEFHRVxXXCtIRUFESU5HXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoRVhJVFxXXCtGUk9NXFdcK1NURVBcV1wrTE9PUFx8RVhJVFwpXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoQkVHSU5cV1wrT0ZcV1wrXChCTE9DS1x8TElORVwpXHxCRUdJTlxXXCtPRlwpXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoRU5EXFdcK09GXFdcK1woQkxPQ0tcfExJTkVcKVx8RU5EXFdcK09GXClcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpSVNcV1wrSU5JVElBTFwoXFdcfCRcKSJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggICBhYmFwU3RhdGVtZW50ICJcKFxXXHxeXClOT1xXXCtJTlRFUlZBTFNcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpU0VQQVJBVEVEXFdcK0JZXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKK3N5biBtYXRjaCAgIGFiYXBTdGF0ZW1lbnQgIlwoXFdcfF5cKVwoVVNJTkdcV1wrXChFRElUXFdcK01BU0tcKVx8VVNJTkdcKVwoXFdcfCRcKSJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggICBhYmFwU3RhdGVtZW50ICJcKFxXXHxeXClcKFdIRVJFXFdcK1woTElORVwpXClcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpUkFESU9CVVRUT05cV1wrR1JPVVBcKFxXXHwkXCkibXM9cysxLG1lPWUtMQorc3luIG1hdGNoICAgYWJhcFN0YXRlbWVudCAiXChcV1x8XlwpUkVGXFdcK1RPXChcV1x8JFwpIm1zPXMrMSxtZT1lLTEKKworIiBTcGVjaWFsIEFCQVAgc3BlY2lmaWMgdGFibGVzOgorc3luIG1hdGNoICAgYWJhcFNwZWNpYWwgICAgICAgIlwoXFdcfF5cKVwoc3lcfFwocFx8cGFcKVxkXGRcZFxkXHx0XGRcZFxkLlx8aW5ubm5cKVwoXFdcfCRcKSJtcz1zKzEsbWU9ZS0xCitzeW4gbWF0Y2ggICBhYmFwU3BlY2lhbFRhYmxlcyAiXChzeVx8XChwXHxwYVwpXGRcZFxkXGRcfHRcZFxkXGQuXHxpbm5ublwpLSJtZT1lLTEgY29udGFpbmVkCitzeW4gbWF0Y2ggICBhYmFwU3BlY2lhbCAgICAgICAiXChcV1x8XlwpXHdcKy1cd1wrIm1zPXMrMSBjb250YWlucz1hYmFwU3BlY2lhbFRhYmxlcworCisiIFBvaW50ZXIKK3N5biBtYXRjaCAgIGFiYXBTcGVjaWFsICAiPFx3XCs+IgorCisiIEFiYXAgY29uc3RhbnRzOgorc3luIGtleXdvcmQgYWJhcFNwZWNpYWwgIFRSVUUgRkFMU0UgTlVMTCBTUEFDRQorCisiIEluY2x1ZGVzCitzeW4gcmVnaW9uIGFiYXBJbmNsdWRlICAgc3RhcnQ9ImluY2x1ZGUiIGVuZD0iLiIgY29udGFpbnM9YWJhcENvbW1lbnQKKworIiBUeXBlcworc3luIGtleXdvcmQgYWJhcFR5cGVzICAgIGMgbiBpIHAgZiBkIHQgeAorCisiIEF0cml0bWl0aWMgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgYWJzIHNpZ24gY2VpbCBmbG9vciB0cnVuYyBmcmFjIGFjb3MgYXNpbiBhdGFuIGNvcyBzaW4gdGFuCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgY29zaCBzaW5oIHRhbmggZXhwIGxvZyBsb2cxMCBzcXJ0CisKKyIgU3RyaW5nIG9wZXJhdG9ycworc3luIGtleXdvcmQgYWJhcE9wZXJhdG9yIHN0cmxlbiB4c3RybGVuIGNoYXJsZW4gbnVtb2ZjaGFyIGRibWF4bGVuCisKKyIgVGFibGUgb3BlcmF0b3JzCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgbGluZXMKKworIiBUYWJsZSBvcGVyYXRvcnMgKFNFTEVDVCBvcGVyYXRvcnMpCitzeW4ga2V5d29yZCBhYmFwT3BlcmF0b3IgSU5UTyBGUk9NIFdIRVJFIEdST1VQIEJZIEhBVklORyBPUkRFUiBCWSBTSU5HTEUKK3N5biBrZXl3b3JkIGFiYXBPcGVyYXRvciBBUFBFTkRJTkcgQ09SUkVTUE9ORElORyBGSUVMRFMgT0YgVEFCTEUKK3N5biBrZXl3b3JkIGFiYXBPcGVyYXRvciBMRUZUIFJJR0hUIE9VVEVSIElOTkVSIEpPSU4gQVMgQ0xJRU5UIFNQRUNJRklFRCBCWVBBU1NJTkcgQlVGRkVSIFVQIFRPIFJPV1MgQ09OTkVDVElORworc3luIGtleXdvcmQgYWJhcE9wZXJhdG9yIEVRIE5FIExUIExFIEdUIEdFIE5PVCBBTkQgT1IgWE9SIElOIExJS0UgQkVUV0VFTgorCisiIEFuIGVycm9yPyBOb3Qgc3RyaWN0bHkuLi4gYnV0IGNhbm5vdCB0aGluayBvZiByZWFzb24gdGhpcyBpcyBpbnRlbmRlZC4KK3N5biBtYXRjaCAgIGFiYXBFcnJvciAgICAiXC5cLiIKKworIiBDb21tZW50cworc3luIHJlZ2lvbiAgYWJhcENvbW1lbnQgIHN0YXJ0PSJeXCoiIGVuZD0iJCIgY29udGFpbnM9YWJhcFRvZG8KK3N5biBtYXRjaCAgIGFiYXBDb21tZW50ICAiXCIuKiIgY29udGFpbnM9YWJhcFRvZG8KK3N5biBrZXl3b3JkIGFiYXBUb2RvICAgICBjb250YWluZWQJVE9ETyBOT1RFCisKKyIgRGVmaW5lIHRoZSBkZWZhdWx0IGhpZ2hsaWdodGluZy4KKyIgRm9yIHZlcnNpb24gNS43IGFuZCBlYXJsaWVyOiBvbmx5IHdoZW4gbm90IGRvbmUgYWxyZWFkeQorIiBGb3IgdmVyc2lvbiA1LjggYW5kIGxhdGVyOiBvbmx5IHdoZW4gYW4gaXRlbSBkb2Vzbid0IGhhdmUgaGlnaGxpZ2h0aW5nIHlldAoraWYgdmVyc2lvbiA+PSA1MDggfHwgIWV4aXN0cygiZGlkX2FiYXBfc3ludGF4X2luaXRzIikKKyAgaWYgdmVyc2lvbiA8IDUwOAorICAgIGxldCBkaWRfYWJhcF9zeW50YXhfaW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisgIEhpTGluayBhYmFwRXJyb3IgICAgICAgICAgRXJyb3IKKyAgSGlMaW5rIGFiYXBDb21tZW50CSAgICAgIENvbW1lbnQKKyAgSGlMaW5rIGFiYXBJbmNsdWRlCSAgICAgIEluY2x1ZGUKKyAgSGlMaW5rIGFiYXBTcGVjaWFsICAgICAgICBTcGVjaWFsCisgIEhpTGluayBhYmFwU3BlY2lhbFRhYmxlcyAgUHJlUHJvYworICBIaUxpbmsgYWJhcFN5bWJvbE9wZXJhdG9yCWFiYXBPcGVyYXRvcgorICBIaUxpbmsgYWJhcE9wZXJhdG9yCSAgICAgIE9wZXJhdG9yCisgIEhpTGluayBhYmFwU3RhdGVtZW50CSAgICBTdGF0ZW1lbnQKKyAgSGlMaW5rIGFiYXBTdHJpbmcJICAgICAgICBTdHJpbmcKKyAgSGlMaW5rIGFiYXBGbG9hdAkgICAgICAgIEZsb2F0CisgIEhpTGluayBhYmFwTnVtYmVyCSAgICAgICAgTnVtYmVyCisgIEhpTGluayBhYmFwSGV4CSAgICAgICAgICBOdW1iZXIKKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAiYWJhcCIKKworIiB2aW06IHRzPTggc3c9MgpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvYXNwdmJzLnZpbSBiL3J1bnRpbWUvc3ludGF4L2FzcHZicy52aW0KaW5kZXggNTAyNzkxYy4uNzRiZjJhMSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvYXNwdmJzLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9hc3B2YnMudmltCkBAIC0xLDggKzEsOCBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CU1pY3Jvc29mdCBWQlNjcmlwdCBXZWIgQ29udGVudCAoQVNQKQotIiBNYWludGFpbmVyOglEZXZpbiBXZWF2ZXIgPGt0b2hnQHRyaXRhcmdldC5jb20+Ci0iIFVSTDoJCWh0dHA6Ly90cml0YXJnZXQuY29tL3B1Yi92aW0vc3ludGF4L2FzcHZicy52aW0KLSIgTGFzdCBDaGFuZ2U6CTIwMDMgQXByIDI1CisiIE1haW50YWluZXI6CURldmluIFdlYXZlciA8a3RvaGdAdHJpdGFyZ2V0LmNvbT4gKG5vbi1mdW5jdGlvbmFsKQorIiBVUkw6CQlodHRwOi8vdHJpdGFyZ2V0LmNvbS9wdWIvdmltL3N5bnRheC9hc3B2YnMudmltIChicm9rZW4pCisiIExhc3QgQ2hhbmdlOgkyMDA0IEp1bCAyOQogIiBWZXJzaW9uOgkkUmV2aXNpb24kCiAiIFRoYW5rcyB0byBKYXktSmF5IDx2aW1AamF5LWpheS5uZXQ+IGZvciBhIHN5bnRheCBzeW5jIGhhY2ssIGh1bmdhcmlhbgogIiBub3RhdGlvbiwgYW5kIGV4dHJhIGhpZ2hsaWdodGluZy4KQEAgLTEwOCw3ICsxMDgsNyBAQAogc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgT3BlblRleHRGaWxlIFJhaXNlIFJlYWQgUmVhZEFsbCBSZWFkTGluZSBSZW1vdmUKIHN5biBrZXl3b3JkIEFzcFZCU01ldGhvZHMgY29udGFpbmVkIFJlbW92ZUFsbCBTa2lwIFNraXBMaW5lIFdyaXRlIFdyaXRlQmxhbmtMaW5lcwogc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgV3JpdGVMaW5lCi1zeW4gbWF0Y2ggQXNwVkJTTWV0aG9kcyBjb250YWluZWQgIlJlc3BvbnNlXC5cUyoiCitzeW4gbWF0Y2ggQXNwVkJTTWV0aG9kcyBjb250YWluZWQgIlJlc3BvbnNlXC5cdyoiCiAiIENvbG9yaXplIGJvb2xlYW4gY29uc3RhbnRzOgogc3luIGtleXdvcmQgQXNwVkJTTWV0aG9kcyBjb250YWluZWQgdHJ1ZSBmYWxzZQogCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9jaC52aW0gYi9ydW50aW1lL3N5bnRheC9jaC52aW0KaW5kZXggMmU3ODdjOC4uYWRkNzM5NSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvY2gudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L2NoLnZpbQpAQCAtMiw3ICsyLDcgQEAKICIgTGFuZ3VhZ2U6ICAgICBDaAogIiBNYWludGFpbmVyOiAgIFNvZnRJbnRlZ3JhdGlvbiwgSW5jLiA8aW5mb0Bzb2Z0aW50ZWdyYXRpb24uY29tPgogIiBVUkw6CQlodHRwOi8vd3d3LnNvZnRpbnRlZ3JhdGlvbi5jb20vZG93bmxvYWQvdmltL3N5bnRheC9jaC52aW0KLSIgTGFzdCBjaGFuZ2U6CTIwMDQgTWF5IDE2CisiIExhc3QgY2hhbmdlOgkyMDA0IFNlcCAwMQogIgkJQ3JlYXRlZCBiYXNlZCBvbiBjcHAudmltCiAiCiAiIENoIGlzIGEgQy9DKysgaW50ZXJwcmV0ZXIgd2l0aCBtYW55IGhpZ2ggbGV2ZWwgZXh0ZW5zaW9ucwpAQCAtMjYsNyArMjYsNyBAQAogCiAiIENoIGV4dGVudGlvbnMKIAotc3luIGtleXdvcmQJY2hTdGF0ZW1lbnQJbmV3IGRlbGV0ZSB0aGlzCitzeW4ga2V5d29yZAljaFN0YXRlbWVudAluZXcgZGVsZXRlIHRoaXMgZm9yZWFjaAogc3luIGtleXdvcmQJY2hBY2Nlc3MJcHVibGljIHByaXZhdGUKIHN5biBrZXl3b3JkCWNoU3RvcmFnZUNsYXNzCV9fZGVjbHNwZWMoZ2xvYmFsKSBfX2RlY2xzcGVjKGxvY2FsKQogc3luIGtleXdvcmQJY2hTdHJ1Y3R1cmUJY2xhc3MKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L2xleC52aW0gYi9ydW50aW1lL3N5bnRheC9sZXgudmltCmluZGV4IDI1YzQyM2UuLjZjNjEyMWUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xleC52aW0KKysrIGIvcnVudGltZS9zeW50YXgvbGV4LnZpbQpAQCAtMSw4ICsxLDggQEAKICIgVmltIHN5bnRheCBmaWxlCiAiIExhbmd1YWdlOglMZXgKICIgTWFpbnRhaW5lcjoJRHIuIENoYXJsZXMgRS4gQ2FtcGJlbGwsIEpyLiA8TmRyT2NoaXBTQFBjYW1wYmVsbEFmYW1pbHkuTWJpej4KLSIgTGFzdCBDaGFuZ2U6CVNlcCAwMiwgMjAwMwotIiBWZXJzaW9uOgk0CisiIExhc3QgQ2hhbmdlOglKdWwgMjgsIDIwMDQKKyIgVmVyc2lvbjoJNQogIiBVUkw6CWh0dHA6Ly93d3cuZXJvbHMuY29tL2FzdHJvbmF1dC92aW0vaW5kZXguaHRtbCN2aW1saW5rc19zeW50YXgKICIKICIgT3B0aW9uOgpAQCAtMzIsMTkgKzMyLDIyIEBACiAgIGVuZGlmCiBlbmRpZgogCisiIC0tLSA9PT09PT09PT0gLS0tCiAiIC0tLSBMZXggc3R1ZmYgLS0tCisiIC0tLSA9PT09PT09PT0gLS0tCiAKICJJJ2QgcHJlZmVyIHRvIHVzZSBsZXguKiAsIGJ1dCBpdCBkb2Vzbid0IGhhbmRsZSBmb3J3YXJkIGRlZmluaXRpb25zIHlldAogc3luIGNsdXN0ZXIgbGV4TGlzdEdyb3VwCQljb250YWlucz1sZXhBYmJydkJsb2NrLGxleEFiYnJ2LGxleEFiYnJ2LGxleEFiYnJ2UmVnRXhwLGxleEluY2x1ZGUsbGV4UGF0QmxvY2ssbGV4UGF0LGxleEJyYWNlLGxleFBhdFN0cmluZyxsZXhQYXRUYWcsbGV4UGF0VGFnLGxleFBhdENvbW1lbnQsbGV4UGF0Q29kZUxpbmUsbGV4TW9yZVBhdCxsZXhQYXRTZXAsbGV4U2xhc2hRdW90ZSxsZXhQYXRDb2RlLGNJblBhcmVuLGNVc2VyTGFiZWwsY09jdGFsWmVybyxjQ3BwU2tpcCxjRXJySW5CcmFja2V0LGNFcnJJblBhcmVuLGNPY3RhbEVycm9yLGNDcHBPdXQyLGNDb21tZW50U3RhcnRFcnJvcixjUGFyZW5FcnJvcgogc3luIGNsdXN0ZXIgbGV4TGlzdFBhdENvZGVHcm91cAljb250YWlucz1sZXhBYmJydkJsb2NrLGxleEFiYnJ2LGxleEFiYnJ2LGxleEFiYnJ2UmVnRXhwLGxleEluY2x1ZGUsbGV4UGF0QmxvY2ssbGV4UGF0LGxleEJyYWNlLGxleFBhdFRhZyxsZXhQYXRUYWcsbGV4UGF0Q29tbWVudCxsZXhQYXRDb2RlTGluZSxsZXhNb3JlUGF0LGxleFBhdFNlcCxsZXhTbGFzaFF1b3RlLGNJblBhcmVuLGNVc2VyTGFiZWwsY09jdGFsWmVybyxjQ3BwU2tpcCxjRXJySW5CcmFja2V0LGNFcnJJblBhcmVuLGNPY3RhbEVycm9yLGNDcHBPdXQyLGNDb21tZW50U3RhcnRFcnJvcixjUGFyZW5FcnJvcgogCiAiIEFiYnJldmlhdGlvbnMgU2VjdGlvbgotc3luIHJlZ2lvbiBsZXhBYmJydkJsb2NrCXN0YXJ0PSJeXChbYS16QS1aX11cK1x0XHwle1wpIiBlbmQ9Il4lJSQibWU9ZS0yCXNraXBubAluZXh0Z3JvdXA9bGV4UGF0QmxvY2sgY29udGFpbnM9bGV4QWJicnYsbGV4SW5jbHVkZSxsZXhBYmJydkNvbW1lbnQKK3N5biByZWdpb24gbGV4QWJicnZCbG9jawlzdGFydD0iXlwoXGhcK1xzXHwle1wpIiBlbmQ9Il5cemUlJSQiCXNraXBubAluZXh0Z3JvdXA9bGV4UGF0QmxvY2sgY29udGFpbnM9bGV4QWJicnYsbGV4SW5jbHVkZSxsZXhBYmJydkNvbW1lbnQsbGV4U3RhcnRTdGF0ZQogc3luIG1hdGNoICBsZXhBYmJydgkJIl5cSVxpKlxzIm1lPWUtMQkJCXNraXB3aGl0ZQljb250YWluZWQgbmV4dGdyb3VwPWxleEFiYnJ2UmVnRXhwCiBzeW4gbWF0Y2ggIGxleEFiYnJ2CQkiXiVbc3hdIgkJCQkJY29udGFpbmVkCiBzeW4gbWF0Y2ggIGxleEFiYnJ2UmVnRXhwCSJcc1xTLiokImxjPTEJCQkJY29udGFpbmVkIG5leHRncm91cD1sZXhBYmJydixsZXhJbmNsdWRlCiBzeW4gcmVnaW9uIGxleEluY2x1ZGUJbWF0Y2hncm91cD1sZXhTZXAJc3RhcnQ9Il4leyIgZW5kPSIlfSIJY29udGFpbmVkCWNvbnRhaW5zPUFMTEJVVCxAbGV4TGlzdEdyb3VwCiBzeW4gcmVnaW9uIGxleEFiYnJ2Q29tbWVudAlzdGFydD0iXlxzXCsvXCoiCWVuZD0iXCovIgkJCWNvbnRhaW5zPUBTcGVsbAorc3luIHJlZ2lvbiBsZXhTdGFydFN0YXRlCW1hdGNoZ3JvdXA9bGV4QWJicnYJc3RhcnQ9Il4lXGFcKyIJZW5kPSIkIgkJCWNvbnRhaW5lZAogCiAiJSUgOiBQYXR0ZXJucyB7QWN0aW9uc30KIHN5biByZWdpb24gbGV4UGF0QmxvY2sJbWF0Y2hncm91cD1Ub2RvCXN0YXJ0PSJeJSUkIiBtYXRjaGdyb3VwPVRvZG8gZW5kPSJeJSUkIglza2lwbmwgc2tpcHdoaXRlIGNvbnRhaW5zPWxleFBhdCxsZXhQYXRUYWcsbGV4UGF0Q29tbWVudApAQCAtODEsMTUgKzg0LDE2IEBACiBoaSBkZWYgbGluayBsZXhCcmFjZQlsZXhQYXQKIGhpIGRlZiBsaW5rIGxleEFiYnJ2Q29tbWVudAlsZXhQYXRDb21tZW50CiAKLWhpIGRlZiBsaW5rIGxleEFiYnJ2CVNwZWNpYWxDaGFyCiBoaSBkZWYgbGluayBsZXhBYmJydlJlZ0V4cAlNYWNybworaGkgZGVmIGxpbmsgbGV4QWJicnYJU3BlY2lhbENoYXIKIGhpIGRlZiBsaW5rIGxleENGdW5jdGlvbnMJRnVuY3Rpb24KIGhpIGRlZiBsaW5rIGxleE1vcmVQYXQJU3BlY2lhbENoYXIKLWhpIGRlZiBsaW5rIGxleFBhdAkJRnVuY3Rpb24KIGhpIGRlZiBsaW5rIGxleFBhdENvbW1lbnQJQ29tbWVudAoraGkgZGVmIGxpbmsgbGV4UGF0CQlGdW5jdGlvbgogaGkgZGVmIGxpbmsgbGV4UGF0U3RyaW5nCUZ1bmN0aW9uCiBoaSBkZWYgbGluayBsZXhQYXRUYWcJU3BlY2lhbAogaGkgZGVmIGxpbmsgbGV4U2VwCQlEZWxpbWl0ZXIKK2hpIGRlZiBsaW5rIGxleFN0YXJ0U3RhdGUJU3RhdGVtZW50CiAKIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImxleCIKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltIGIvcnVudGltZS9zeW50YXgvbGhhc2tlbGwudmltCmluZGV4IDI1MGNjZmEuLmQ2ZjIxYWUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L2xoYXNrZWxsLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9saGFza2VsbC52aW0KQEAgLTQsNyArNCw3IEBACiAiCQkJXGJlZ2lue2NvZGV9IFxlbmR7Y29kZX0gYmxvY2tzCiAiIE1haW50YWluZXI6CQlIYXNrZWxsIENhZmUgbWFpbGluZ2xpc3QgPGhhc2tlbGwtY2FmZUBoYXNrZWxsLm9yZz4KICIgT3JpZ2luYWwgQXV0aG9yOglBcnRodXIgdmFuIExlZXV3ZW4gPGFydGh1cnZsQGNzLnV1Lm5sPgotIiBMYXN0IENoYW5nZToJCTIwMDQgTWF5IDE2CisiIExhc3QgQ2hhbmdlOgkJMjAwNCBBdWcgMzEKICIgVmVyc2lvbjoJCTEuMDEKICIKICIgVGhhbmtzIHRvIElhbiBMeW5hZ2ggZm9yIHRob3VnaHRmdWwgY29tbWVudHMgb24gaW5pdGlhbCB2ZXJzaW9ucyBhbmQKQEAgLTgyLDkgKzgyLDEyIEBACiBpZiBiOmxoc19tYXJrdXAgPT0gInRleCIKICAgICBpZiB2ZXJzaW9uIDwgNjAwCiAJc291cmNlIDxzZmlsZT46cDpoL3RleC52aW0KKwlzZXQgaXNrKz1fCiAgICAgZWxzZQogCXJ1bnRpbWUhIHN5bnRheC90ZXgudmltCiAJdW5sZXQgYjpjdXJyZW50X3N5bnRheAorCSIgVGV4LnZpbSByZW1vdmVzICJfIiBmcm9tICdpc2tleXdvcmQnLCBidXQgd2UgbmVlZCBpdCBmb3IgSGFza2VsbC4KKwlzZXRsb2NhbCBpc2srPV8KICAgICBlbmRpZgogZW5kaWYKIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbHVhLnZpbSBiL3J1bnRpbWUvc3ludGF4L2x1YS52aW0KaW5kZXggMGJjZGE2Mi4uNTU1MzcyOCAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbHVhLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9sdWEudmltCkBAIC0xLDEyICsxLDEwIEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJTHVhIDQuMCBhbmQgTHVhIDUuMAotIiBNYWludGFpbmVyOglNYXJjdXMgQXVyZWxpdXMgRmFyaWFzIDxtYXJjdXNjZkB2YW50LmNvbS5icj4KLSIgRmlyc3QgQXV0aG9yOglDYXJsb3MgQXVndXN0byBUZWl4ZWlyYSBNZW5kZXMgPGNtZW5kZXNAaW5mLnB1Yy1yaW8uYnI+Ci0iIExhc3QgQ2hhbmdlOgkyMDAzIE1heSAwNAorIiBNYWludGFpbmVyOglNYXJjdXMgQXVyZWxpdXMgRmFyaWFzIDxtYXJjdXMuY2YgJ2F0JyBib2wuY29tLmJyPgorIiBGaXJzdCBBdXRob3I6CUNhcmxvcyBBdWd1c3RvIFRlaXhlaXJhIE1lbmRlcyA8Y21lbmRlcyAnYXQnIGluZiBwdWMtcmlvIGJyPgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMjkKICIgT3B0aW9uczoJbHVhX3ZlcnNpb24gPSA0IG9yIDUgW2RlZmF1bHRdCiAiCi0iIFN0aWxsIGhhcyBzb21lIHN5bmNpbmcgcHJvYmxlbXMgKGxvbmcgW1tzdHJpbmdzXV0pLi4uCi0KICIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiB2ZXJzaW9uIDwgNjAwCkBAIC0zNyw3ICszNSw3IEBACiBzeW4gcmVnaW9uICBsdWFQYXJlbgkJdHJhbnNwYXJlbnQgc3RhcnQ9JygnIGVuZD0nKScgY29udGFpbnM9QUxMQlVULGx1YUVycm9yLGx1YVRvZG8sbHVhU3BlY2lhbCxsdWFDb25kLGx1YUNvbmRFbHNlaWYsbHVhQ29uZEVuZCxsdWFDb25kU3RhcnQsbHVhQmxvY2ssbHVhUmVwZWF0QmxvY2ssbHVhUmVwZWF0LGx1YVN0YXRlbWVudAogc3luIG1hdGNoICAgbHVhRXJyb3IJCSIpIgogc3luIG1hdGNoICAgbHVhRXJyb3IJCSJ9Igotc3luIG1hdGNoICAgbHVhRXJyb3IJCSJcPFwoZW5kXHxlbHNlXHxlbHNlaWZcfHRoZW5cfHVudGlsXHxpblwpXD4iCitzeW4gbWF0Y2ggICBsdWFFcnJvcgkJIlw8XCUoZW5kXHxlbHNlXHxlbHNlaWZcfHRoZW5cfHVudGlsXHxpblwpXD4iCiAKIAogIiBGdW5jdGlvbiBkZWNsYXJhdGlvbgpAQCAtODAsNyArNzgsNyBAQAogZW5kaWYKIAogIiBQcmUgcHJvY2Vzc29yIGRvZXNuJ3QgZXhpc3Qgc2luY2UgTHVhIDQuMAotIiBzeW4gbWF0Y2ggICBsdWFQcmVQcm9jCSAgIl5ccyokXChkZWJ1Z1x8bm9kZWJ1Z1x8aWZcfGlmbm90XHxlbmRcfGVsc2VcfGVuZGlucHV0XClcPiIKKyIgc3luIG1hdGNoICAgbHVhUHJlUHJvYwkgICJeXHMqJFwlKGRlYnVnXHxub2RlYnVnXHxpZlx8aWZub3RcfGVuZFx8ZWxzZVx8ZW5kaW5wdXRcKVw+IgogCiAiIFN0cmluZ3MKIHN5biBtYXRjaCAgIGx1YVNwZWNpYWwJCWNvbnRhaW5lZCAiXFxbXFxhYmZucnR2XCdcIltcXV1cfFxcXGRceywzfSIKQEAgLTkyLDkgKzkwLDkgQEAKICIgaW50ZWdlciBudW1iZXIKIHN5biBtYXRjaCBsdWFOdW1iZXIJCSJcPFswLTldXCtcPiIKICIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRoIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKLXN5biBtYXRjaCBsdWFGbG9hdAkJIlw8WzAtOV1cK1wuWzAtOV0qXChlWy0rXVw9WzAtOV1cK1wpXD1cPiIKK3N5biBtYXRjaCBsdWFGbG9hdAkJIlw8WzAtOV1cK1wuWzAtOV0qXCUoZVstK11cPVswLTldXCtcKVw9XD4iCiAiIGZsb2F0aW5nIHBvaW50IG51bWJlciwgc3RhcnRpbmcgd2l0aCBhIGRvdCwgb3B0aW9uYWwgZXhwb25lbnQKLXN5biBtYXRjaCBsdWFGbG9hdAkJIlwuWzAtOV1cK1woZVstK11cPVswLTldXCtcKVw9XD4iCitzeW4gbWF0Y2ggbHVhRmxvYXQJCSJcLlswLTldXCtcJShlWy0rXVw9WzAtOV1cK1wpXD1cPiIKICIgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCB3aXRob3V0IGRvdCwgd2l0aCBleHBvbmVudAogc3luIG1hdGNoIGx1YUZsb2F0CQkiXDxbMC05XVwrZVstK11cPVswLTldXCtcPiIKIApAQCAtMTI5LDcgKzEyNyw3IEBACiAgIHN5biBrZXl3b3JkIGx1YUZ1bmMJbG9hZGxpYiBsb2Fkc3RyaW5nIHBhaXJzIHBjYWxsIHJhd2VxdWFsCiAgIHN5biBrZXl3b3JkIGx1YUZ1bmMJcmVxdWlyZSBzZXRmZW52IHNldG1ldGF0YWJsZSB1bnBhY2sgeHBjYWxsCiAgIHN5biBrZXl3b3JkIGx1YUZ1bmMJTFVBX1BBVEggX0xPQURFRCBfUkVRVUlSRUROQU1FCi0iIE5vdCBzdXJlIGlmIGFsbCB0aGVzZSBmdW5jdGlvbnMgbmVlZCB0byBiZSBoaWdobGlnaHRlZC4uLgorICAiIE5vdCBzdXJlIGlmIGFsbCB0aGVzZSBmdW5jdGlvbnMgbmVlZCB0byBiZSBoaWdobGlnaHRlZC4uLgogICBzeW4gbWF0Y2ggICBsdWFGdW5jCS9jb3JvdXRpbmVcLmNyZWF0ZS8KICAgc3luIG1hdGNoICAgbHVhRnVuYwkvY29yb3V0aW5lXC5yZXN1bWUvCiAgIHN5biBtYXRjaCAgIGx1YUZ1bmMJL2Nvcm91dGluZVwuc3RhdHVzLwpkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbWFwbGUudmltIGIvcnVudGltZS9zeW50YXgvbWFwbGUudmltCmluZGV4IGNkYTdjNzUuLjJmYTA0NTcgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L21hcGxlLnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9tYXBsZS52aW0KQEAgLTEsOCArMSw4IEBACiAiIFZpbSBzeW50YXggZmlsZQogIiBMYW5ndWFnZToJTWFwbGUgViAoYmFzZWQgb24gcmVsZWFzZSA0KQogIiBNYWludGFpbmVyOglEci4gQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgotIiBMYXN0IENoYW5nZToJTWFyIDEwLCAyMDA0Ci0iIFZlcnNpb246CTQKKyIgTGFzdCBDaGFuZ2U6CUF1ZyAxOSwgMjAwNAorIiBWZXJzaW9uOgk1CiAiIFVSTDoJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAogIgogIiBQYWNrYWdlIEZ1bmN0aW9uIFNlbGVjdGlvbjoge3t7MQpAQCAtMTcsNiArMTcsOSBAQAogIgogIiAqT1IqIGxldCBtdnBrZ19hbGw9MQogCisiIFRoaXMgc3ludGF4IGZpbGUgY29udGFpbnMgYWxsIHRoZSBrZXl3b3JkcyBhbmQgdG9wLWxldmVsIHBhY2thZ2VzIG9mIE1hcGxlIDkuNQorIiBidXQgb25seSB0aGUgY29udGVudHMgb2YgcGFja2FnZXMgb2YgTWFwbGUgViBSZWxlYXNlIDQsIGFuZCB0aGUgdG9wLWxldmVsCisiIHJvdXRpbmVzIG9mIFJlbGVhc2UgNC4gIDxKYWNxdWVzIENhcmV0dGUgLSBjYXJldHRlQG1jbWFzdGVyLmNhPgogCiAiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcwogIiBGb3IgdmVyc2lvbiA2Lng6IFF1aXQgd2hlbiBhIHN5bnRheCBmaWxlIHdhcyBhbHJlYWR5IGxvYWRlZApAQCAtNzAsNiArNzMsOSBAQAogZW5kaWYKIAogIiBQYXJlbnRoZXNpcy9jdXJseS9icmFjZSBzYW5pdHkgY2hlY2tlcjoge3t7MQorc3luIGNhc2UgbWF0Y2gKKworIiBwYXJlbnRoZXNpcy9jdXJseS9icmFjZSBzYW5pdHkgY2hlY2tlcgogc3luIHJlZ2lvbiBtdlpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0iKSIgdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12Q3VybHlFcnJvcgogc3luIHJlZ2lvbiBtdlpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9InsiIG1hdGNoZ3JvdXA9RGVsaW1pdGVyIGVuZD0ifSIgdHJhbnNwYXJlbnQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12UGFyZW5FcnJvcgogc3luIHJlZ2lvbiBtdlpvbmUJbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IlxbIiBtYXRjaGdyb3VwPURlbGltaXRlciBlbmQ9Il0iIHRyYW5zcGFyZW50IGNvbnRhaW5zPUFMTEJVVCxtdkVycm9yLG12Q3VybHlFcnJvcixtdlBhcmVuRXJyb3IKQEAgLTc5LDIxICs4NSw0NyBAQAogc3luIG1hdGNoICBtdlBhcmVuRXJyb3IJIltcXX1dIgljb250YWluZWQKIHN5biBtYXRjaCAgbXZDb21tYQkJIlssOzpdIgogc3luIG1hdGNoICBtdlNlbWlFcnJvcgkiWzs6XSIJY29udGFpbmVkCitzeW4gbWF0Y2ggIG12RGNvbG9uCQkiOjoiCiAKLSIgTWFwbGUgViBQYWNrYWdlcywgY2lyY2EgUmVsZWFzZSA0OiB7e3sxCi1zeW4ga2V5d29yZCBtdlBhY2thZ2UJREV0b29scwlkaWZmb3Jtcwlncm91cAluZXR3b3JrcwlwbG90cwlzdGF0cwotc3luIGtleXdvcmQgbXZQYWNrYWdlCUdhbG9pcwlmaW5hbmNlCWludHRyYW5zCW51bWFwcHJveAlwbG90dG9vbHMJc3R1ZGVudAotc3luIGtleXdvcmQgbXZQYWNrYWdlCUdhdXNzSW50CWdlbmZ1bmMJbGllc3ltbQludW10aGVvcnkJcG93c2VyaWVzCXN1bXRvb2xzCi1zeW4ga2V5d29yZCBtdlBhY2thZ2UJTFJFdG9vbHMJZ2VvbWV0cnkJbGluYWxnCW9ydGhvcG9seQlwcm9jZXNzCXRlbnNvcgotc3luIGtleXdvcmQgbXZQYWNrYWdlCWNvbWJpbmF0CWdyb2JuZXIJbG9naWMJcGFkaWMJc2ltcGxleAl0b3RvcmRlcgotc3luIGtleXdvcmQgbXZQYWNrYWdlCWNvbWJzdHJ1Y3QKKyIgTWFwbGUgUGFja2FnZXMsIHVwZGF0ZWQgZm9yIE1hcGxlIDkuNQorc3luIGtleXdvcmQgbXZQYWNrYWdlCWFsZ2N1cnZlcwlBcnJheVRvb2xzCUNhY2hlCWNvZGVnZW4KK3N5biBrZXl3b3JkIG12UGFja2FnZQlDb2RlR2VuZXJhdGlvbglDb2RlVG9vbHMJY29tYmluYXQJY29tYnN0cnVjdAorc3luIGtleXdvcmQgbXZQYWNrYWdlCUNvbnRleHRNZW51CUN1cnZlRml0dGluZwlERXRvb2xzCWRpZmZhbGcKK3N5biBrZXl3b3JkIG12UGFja2FnZQlkaWZmb3JtcwlEaXNjcmV0ZVRyYW5zZm9ybXMJRG9tYWlucwlFeHRlcm5hbENhbGxpbmcKK3N5biBrZXl3b3JkIG12UGFja2FnZQlGaWxlVG9vbHMJZmluYW5jZQlHYXVzc0ludAlnZW5mdW5jCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJZ2VvbTNkCWdlb21ldHJ5CWdmdW4JR3JvZWJuZXIKK3N5biBrZXl3b3JkIG12UGFja2FnZQlncm91cAloYXNobXNldAlJbnRlZ2VyUmVsYXRpb25zCWludHRyYW5zCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJTGFyZ2VFeHByZXNzaW9ucwlMaWJyYXJ5VG9vbHMJbGllc3ltbQlsaW5hbGcKK3N5biBrZXl3b3JkIG12UGFja2FnZQlMaW5lYXJBbGdlYnJhCUxpbmVhckZ1bmN0aW9uYWxTeXN0ZW1zCUxpbmVhck9wZXJhdG9ycworc3luIGtleXdvcmQgbXZQYWNrYWdlCUxpc3RUb29scwlMb2dpYwlMUkV0b29scwlNYXBsZXRzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJTWF0aGVtYXRpY2FsRnVuY3Rpb25zCU1hdGhNTAlNYXRsYWIKK3N5biBrZXl3b3JkIG12UGFja2FnZQlNYXRyaXhQb2x5bm9taWFsQWxnZWJyYQlNbWFUcmFuc2xhdG9yCW5ldHdvcmtzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJbnVtYXBwcm94CW51bXRoZW9yeQlPcHRpbWl6YXRpb24JT3JlVG9vbHMKK3N5biBrZXl3b3JkIG12UGFja2FnZQlPcmVfYWxnZWJyYQlPcnRob2dvbmFsU2VyaWVzCW9ydGhvcG9seQlwYWRpYworc3luIGtleXdvcmQgbXZQYWNrYWdlCVBERXRvb2xzCXBsb3RzCXBsb3R0b29scwlQb2x5bm9taWFsSWRlYWxzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJUG9seW5vbWlhbFRvb2xzCXBvd3Nlcmllcwlwcm9jZXNzCVFEaWZmZXJlbmNlRXF1YXRpb25zCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJUmFuZG9tVG9vbHMJUmF0aW9uYWxOb3JtYWxGb3JtcwlSZWFsRG9tYWluCVJvb3RGaW5kaW5nCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJU2NpZW50aWZpY0NvbnN0YW50cwlTY2llbnRpZmljRXJyb3JBbmFseXNpcwlzaW1wbGV4CitzeW4ga2V5d29yZCBtdlBhY2thZ2UJU2xvZGUJU05BUAlTb2NrZXRzCVNvZnR3YXJlTWV0cmljcworc3luIGtleXdvcmQgbXZQYWNrYWdlCVNvbHZlVG9vbHMJU3ByZWFkCXN0YXRzCVN0cmluZ1Rvb2xzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJU3R1ZGVudAlzdHVkZW50CXN1bXRvb2xzCVN1bVRvb2xzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJdGVuc29yCVR5cGVUb29scwlVbml0cwlWYXJpYXRpb25hbENhbGN1bHVzCitzeW4ga2V5d29yZCBtdlBhY2thZ2UJVmVjdG9yQ2FsY3VsdXMJV29ya3NoZWV0CVhNTFRvb2xzCiAKICIgTGFuZ3VhZ2UgU3VwcG9ydDoge3t7MQogc3luIGtleXdvcmQgbXZUb2RvCWNvbnRhaW5lZAlUT0RPCi1zeW4gcmVnaW9uICBtdlN0cmluZwlzdGFydD0rYCsgc2tpcD0rYGArIGVuZD0rYCsJa2VlcGVuZAljb250YWlucz1tdlRvZG8KLXN5biByZWdpb24gIG12RGVsYXlFdmFsCXN0YXJ0PSsnKyBlbmQ9KycrCWtlZXBlbmQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12Q3VybHlFcnJvcixtdlBhcmVuRXJyb3IsbXZTZW1pRXJyb3IKLXN5biBtYXRjaCAgIG12VmFyQXNzaWduCSJbYS16QS1aX11bYS16QS1aXzAtOV0qWyBcdF0qOj0iIGNvbnRhaW5zPW12QXNzaWduCi1zeW4gbWF0Y2ggICBtdkFzc2lnbgkiOj0iCWNvbnRhaW5lZAoraWYgZXhpc3RzKCJnOm1hcGxldmVyc2lvbiIpICYmIGc6bWFwbGV2ZXJzaW9uIDwgOQorIHN5biByZWdpb24gIG12U3RyaW5nCXN0YXJ0PStgKyBza2lwPStgYCsgZW5kPStgKwlrZWVwZW5kCWNvbnRhaW5zPW12VG9kbworIHN5biByZWdpb24gIG12RGVsYXlFdmFsCXN0YXJ0PSsnKyBlbmQ9KycrCWtlZXBlbmQgY29udGFpbnM9QUxMQlVULG12RXJyb3IsbXZCcmFjZUVycm9yLG12Q3VybHlFcnJvcixtdlBhcmVuRXJyb3IsbXZTZW1pRXJyb3IKKyBzeW4gbWF0Y2ggICBtdlZhckFzc2lnbgkiW2EtekEtWl9dW2EtekEtWl8wLTldKlsgXHRdKjo9IiBjb250YWlucz1tdkFzc2lnbgorIHN5biBtYXRjaCAgIG12QXNzaWduCSI6PSIJY29udGFpbmVkCitlbHNlCisgc3luIHJlZ2lvbiAgbXZOYW1lCXN0YXJ0PStgKyBza2lwPStgYCsgZW5kPStgKwlrZWVwZW5kCWNvbnRhaW5zPW12VG9kbworIHN5biByZWdpb24gIG12U3RyaW5nCXN0YXJ0PSsiKyBza2lwPSsiIisgZW5kPSsiKwlrZWVwZW5kCisgc3luIHJlZ2lvbiAgbXZEZWxheUV2YWwJc3RhcnQ9KycrIGVuZD0rJysJa2VlcGVuZCBjb250YWlucz1BTExCVVQsbXZFcnJvcixtdkJyYWNlRXJyb3IsbXZDdXJseUVycm9yLG12UGFyZW5FcnJvcgorIHN5biBtYXRjaCAgIG12RGVsaW0JCSJbOzpdIglkaXNwbGF5Cisgc3luIG1hdGNoICAgbXZBc3NpZ24JIjo9IgorZW5kaWYKIAogIiBMb3dlci1Qcmlvcml0eSBPcGVyYXRvcnM6IHt7ezEKIHN5biBtYXRjaCBtdk9wZXIJIlwuIgpAQCAtMTIwLDE0ICsxNTIsMTYgQEAKIHN5biBtYXRjaCBtdlJhbmdlCSJcLlwuIgogCiAiIE9wZXJhdG9yczoge3t7MQotc3luIGtleXdvcmQgbXZPcGVyCWFuZCBub3Qgb3IKK3N5biBrZXl3b3JkIG12T3BlcglhbmQgbm90IG9yIHhvciBpbXBsaWVzIHVuaW9uIGludGVyc2VjdCBzdWJzZXQgbWludXMgbW9kCiBzeW4gbWF0Y2ggICBtdk9wZXIJIjw+XHxbPD5dPVx8Wzw+XVx8PSIKIHN5biBtYXRjaCAgIG12T3BlcgkiJitcfCYtXHwmXCpcfCZcL1x8JiIKIHN5biBtYXRjaCAgIG12RXJyb3IJIlwuXC5cLiIKIAogIiBNYXBsZVYgU3RhdGVtZW50czogPyBzdGF0ZW1lbnQge3t7MQorCisiIE1hcGxlViBTdGF0ZW1lbnRzOiA/IHN0YXRlbWVudAogIiBTcGxpdCBpbnRvIGJvb2xlYW5zLCBjb25kaXRpb25hbHMsIG9wZXJhdG9ycywgcmVwZWF0LWxvZ2ljLCBldGMKLXN5biBrZXl3b3JkIG12Qm9vbAl0cnVlCWZhbHNlCitzeW4ga2V5d29yZCBtdkJvb2wJdHJ1ZQlmYWxzZQlGQUlMCiBzeW4ga2V5d29yZCBtdkNvbmQJZWxpZgllbHNlCWZpCWlmCXRoZW4KIAogc3luIGtleXdvcmQgbXZSZXBlYXQJYnkJZm9yCWluCXRvCkBAIC0xMzYsMTUgKzE3MCwyNSBAQAogc3luIGtleXdvcmQgbXZTcGVjaWFsCU5VTEwKIHN5biBtYXRjaCAgIG12U3BlY2lhbAkiXFtcXVx8e30iCiAKLXN5biBrZXl3b3JkIG12U3RhdGVtZW50CU9yZGVyCWZhaWwJb3B0aW9ucwlyZWFkCXNhdmUKLXN5biBrZXl3b3JkIG12U3RhdGVtZW50CWJyZWFrCWxvY2FsCXBvaW50CXJlbWVtYmVyCXN0b3AKLXN5biBrZXl3b3JkIG12U3RhdGVtZW50CWRvbmUJbW9kCXByb2MJcmVzdGFydAl3aXRoCi1zeW4ga2V5d29yZCBtdlN0YXRlbWVudAllbmQJbW9kcwlxdWl0CXJldHVybgotc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZXJyb3IJbmV4dAoraWYgZXhpc3RzKCJnOm1hcGxldmVyc2lvbiIpICYmIGc6bWFwbGV2ZXJzaW9uIDwgOQorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CU9yZGVyCWZhaWwJb3B0aW9ucwlyZWFkCXNhdmUKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAlicmVhawlsb2NhbAlwb2ludAlyZW1lbWJlcglzdG9wCisgc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZG9uZQltb2QJcHJvYwlyZXN0YXJ0CXdpdGgKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAllbmQJbW9kcwlxdWl0CXJldHVybgorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CWVycm9yCW5leHQKK2Vsc2UKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAlvcHRpb24Jb3B0aW9ucwlyZWFkCXNhdmUKKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAlicmVhawlsb2NhbAlyZW1lbWJlcglzdG9wCisgc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZG9uZQltb2QJcHJvYwlyZXN0YXJ0Cisgc3luIGtleXdvcmQgbXZTdGF0ZW1lbnQJZW5kCW1vZHMJcXVpdAlyZXR1cm4KKyBzeW4ga2V5d29yZCBtdlN0YXRlbWVudAllcnJvcgluZXh0CXRyeQljYXRjaAorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CWZpbmFsbHkJYXNzdW1pbmcJZ2xvYmFsCWV4cG9ydAorIHN5biBrZXl3b3JkIG12U3RhdGVtZW50CW1vZHVsZQlkZXNjcmlwdGlvbgl1c2UKK2VuZGlmCiAKICIgQnVpbHRpbiBDb25zdGFudHM6ID8gY29uc3RhbnRzIHt7ezEKIHN5biBrZXl3b3JkIG12Q29uc3RhbnQJQ2F0YWxhbglJCWdhbW1hCWluZmluaXR5Ci1zeW4ga2V5d29yZCBtdkNvbnN0YW50CUZBSUwJUGkKK3N5biBrZXl3b3JkIG12Q29uc3RhbnQJUGkKIAogIiBDb21tZW50czogIERFQlVHLCBpZiBpbiBhIGNvbW1lbnQsIGlzIHNwZWNpYWxseSBoaWdobGlnaHRlZC4ge3t7MQogc3luIGtleXdvcmQgbXZEZWJ1Zwljb250YWluZWQJREVCVUcKQEAgLTU1Miw2ICs1OTYsNyBAQAogICBIaUxpbmsgbXZQa2dfdG90b3JkZXIJbXZQa2dGdW5jCiAgIEhpTGluayBtdlJhbmdlCQltdk9wZXIKICAgSGlMaW5rIG12U2VtaUVycm9yCW12RXJyb3IKKyAgSGlMaW5rIG12RGVsaW0JCURlbGltaXRlcgogCiAgICIgTWFwbGUtPlN0YW5kYXJkIExpbmtzIHt7ezIKICAgSGlMaW5rIG12QXNzaWduCQlEZWxpbWl0ZXIKQEAgLTU2MSwxNiArNjA2LDE5IEBACiAgIEhpTGluayBtdkNvbmQJCUNvbmRpdGlvbmFsCiAgIEhpTGluayBtdkNvbnN0YW50CQlOdW1iZXIKICAgSGlMaW5rIG12RGVsYXlFdmFsCUxhYmVsCisgIEhpTGluayBtdkRjb2xvbgkJRGVsaW1pdGVyCiAgIEhpTGluayBtdkVycm9yCQlFcnJvcgogICBIaUxpbmsgbXZMaWJyYXJ5CQlTdGF0ZW1lbnQKICAgSGlMaW5rIG12TnVtYmVyCQlOdW1iZXIKICAgSGlMaW5rIG12T3BlcgkJT3BlcmF0b3IKKyAgSGlMaW5rIG12QXNzaWduCQlEZWxpbWl0ZXIKICAgSGlMaW5rIG12UGFja2FnZQkJVHlwZQogICBIaUxpbmsgbXZQa2dGdW5jCQlGdW5jdGlvbgogICBIaUxpbmsgbXZQa3RPcHRpb24JU3BlY2lhbAogICBIaUxpbmsgbXZSZXBlYXQJCVJlcGVhdAogICBIaUxpbmsgbXZTcGVjaWFsCQlTcGVjaWFsCiAgIEhpTGluayBtdlN0YXRlbWVudAlTdGF0ZW1lbnQKKyAgSGlMaW5rIG12TmFtZQkJU3RyaW5nCiAgIEhpTGluayBtdlN0cmluZwkJU3RyaW5nCiAgIEhpTGluayBtdlRvZG8JCVRvZG8KIApkaWZmIC0tZ2l0IGEvcnVudGltZS9zeW50YXgvbmV0cndsaXN0LnZpbSBiL3J1bnRpbWUvc3ludGF4L25ldHJ3bGlzdC52aW0KaW5kZXggOGYzMDkxZC4uYWU2OGM5MSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvbmV0cndsaXN0LnZpbQorKysgYi9ydW50aW1lL3N5bnRheC9uZXRyd2xpc3QudmltCkBAIC0xLDcgKzEsOCBAQAogIiBMYW5ndWFnZSAgIDogTmV0cncgUmVtb3RlLURpcmVjdG9yeSBMaXN0aW5nIFN5bnRheAogIiBNYWludGFpbmVyIDogQ2hhcmxlcyBFLiBDYW1wYmVsbCwgSnIuCi0iIExhc3QgY2hhbmdlOiBKdWwgMDYsIDIwMDQKLSIgVmVyc2lvbiAgICA6IDIKKyIgTGFzdCBjaGFuZ2U6IEF1ZyAyMCwgMjAwNAorIiBWZXJzaW9uICAgIDogNAorIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogIiBTeW50YXggQ2xlYXJpbmc6IHt7ezEKIGlmIHZlcnNpb24gPCA2MDAKQEAgLTEwLDI4ICsxMSwzOSBAQAogIGZpbmlzaAogZW5kaWYKIAorIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICIgRGlyZWN0b3J5IExpc3QgU3ludGF4IEhpZ2hsaWdodGluZzoge3t7MQotc3luIG1hdGNoIG5ldHJ3RGlyCQkJCSJeLiovXCUoXHRcfCRcKSIJY29udGFpbnM9bmV0cndDbGFzc2lmeQotc3luIG1hdGNoIG5ldHJ3Q2xhc3NpZnkJCQkJIlsqPXxAL11cJShcdFx8JFwpIgotc3luIG1hdGNoIG5ldHJ3U3ltTGluawkJCQkiXi4qQFwlKFx0XHwkXCkiCWNvbnRhaW5zPW5ldHJ3Q2xhc3NpZnkKLXN5biBtYXRjaCBuZXRyd0NvbW1lbnQJCQkJJyIuKlwlKFx0XHwkXCknCQljb250YWlucz1uZXRyd0hpZGUsbmV0cndTb3J0QnksbmV0cndTb3J0U2VxCi1zeW4gbWF0Y2ggbmV0cndIaWRlCQkJCSdeIlxzKkhpZGluZzonCQlza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3SGlkZVBhdAotc3luIG1hdGNoIG5ldHJ3U2xhc2gJY29udGFpbmVkCQkJIi8iCi1zeW4gbWF0Y2ggbmV0cndIaWRlUGF0CWNvbnRhaW5lZAkJIlteLF1cKyIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bmV0cndIaWRlU2VwCi1zeW4gbWF0Y2ggbmV0cndIaWRlU2VwCWNvbnRhaW5lZCB0cmFuc3BhcmVudAkiLCIJCQlza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3SGlkZVBhdAotc3luIG1hdGNoIG5ldHJ3U29ydEJ5CWNvbnRhaW5lZCB0cmFuc3BhcmVudAkiU29ydGVkIGJ5IgkJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0xpc3QKLXN5biBtYXRjaCBuZXRyd1NvcnRTZXEJY29udGFpbmVkIHRyYW5zcGFyZW50CSJTb3J0IHNlcXVlbmNlOiIJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0xpc3QKLXN5biBtYXRjaCBuZXRyd0xpc3QJY29udGFpbmVkCQkiLiokIgkJCWNvbnRhaW5zPW5ldHJ3Q29tbWEKLXN5biBtYXRjaCBuZXRyd0NvbW1hCWNvbnRhaW5lZAkJIiwiCitzeW4gY2x1c3RlciBOZXRyd0dyb3VwIGNvbnRhaW5zPW5ldHJ3SGlkZSxuZXRyd1NvcnRCeSxuZXRyd1NvcnRTZXEsbmV0cndRdWlja0hlbHAsbmV0cndWZXJzaW9uCitzeW4gbWF0Y2ggIG5ldHJ3RGlyCQkJCSJeLiovXCUoXHRcfCRcKSIJY29udGFpbnM9bmV0cndDbGFzc2lmeQorc3luIG1hdGNoICBuZXRyd0NsYXNzaWZ5CQkJIlsqPXxAL11cJShcdFx8JFwpIgorc3luIG1hdGNoICBuZXRyd1N5bUxpbmsJCQkJIl4uKkBcJShcdFx8JFwpIgljb250YWlucz1uZXRyd0NsYXNzaWZ5CitzeW4gbWF0Y2ggIG5ldHJ3Q29tbWVudAkJCQknIi4qXCUoXHRcfCRcKScJCWNvbnRhaW5zPUBOZXRyd0dyb3VwCitzeW4gbWF0Y2ggIG5ldHJ3SGlkZQkJCQknXiJccypIaWRpbmc6JwkJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0hpZGVQYXQKK3N5biBtYXRjaCAgbmV0cndTbGFzaAljb250YWluZWQJCSIvIgorc3luIG1hdGNoICBuZXRyd0hpZGVQYXQJY29udGFpbmVkCQkiW14sXVwrIgkJc2tpcHdoaXRlIG5leHRncm91cD1uZXRyd0hpZGVTZXAKK3N5biBtYXRjaCAgbmV0cndIaWRlU2VwCWNvbnRhaW5lZCB0cmFuc3BhcmVudAkiLCIJCQlza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3SGlkZVBhdAorc3luIG1hdGNoICBuZXRyd1NvcnRCeQljb250YWluZWQgdHJhbnNwYXJlbnQJIlNvcnRlZCBieSIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bmV0cndMaXN0CitzeW4gbWF0Y2ggIG5ldHJ3U29ydFNlcQljb250YWluZWQgdHJhbnNwYXJlbnQJIlNvcnQgc2VxdWVuY2U6Iglza2lwd2hpdGUgbmV4dGdyb3VwPW5ldHJ3TGlzdAorc3luIG1hdGNoICBuZXRyd0xpc3QJY29udGFpbmVkCQkiLiokIgkJCWNvbnRhaW5zPW5ldHJ3Q29tbWEKK3N5biBtYXRjaCAgbmV0cndDb21tYQljb250YWluZWQJCSIsIgorc3luIHJlZ2lvbiBuZXRyd1F1aWNrSGVscCBjb250YWluZWQgbWF0Y2hncm91cD1Db21tZW50IHN0YXJ0PSJRdWljayBIZWxwOlxzXCsiIGVuZD0iJCIgY29udGFpbnM9bmV0cndIZWxwQ21kIGtlZXBlbmQKK3N5biBtYXRjaCAgbmV0cndIZWxwQ21kCWNvbnRhaW5lZAkJIlxTXHplOiIJCXNraXB3aGl0ZSBuZXh0Z3JvdXA9bmV0cndDbWRTZXAKK3N5biBtYXRjaCAgbmV0cndDbWRTZXAJY29udGFpbmVkCQkiOiIJCQluZXh0Z3JvdXA9bmV0cndDbWROb3RlCitzeW4gbWF0Y2ggIG5ldHJ3Q21kTm90ZQljb250YWluZWQJCSIuXHstfVx6ZSAgIgorc3luIG1hdGNoICBuZXRyd1ZlcnNpb24gY29udGFpbmVkCQkiKG5ldHJ3LiopIgogCisiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogIiBIaWdobGlnaHRpbmcgTGlua3M6IHt7ezEKIGlmICFleGlzdHMoImRpZF9kcmNoaXBfZGJnX3N5bnRheCIpCiAgbGV0IGRpZF9kcmNoaXBfbmV0cndsaXN0X3N5bnRheD0gMQogIGhpIGxpbmsgbmV0cndDbGFzc2lmeQlGdW5jdGlvbgorIGhpIGxpbmsgbmV0cndDbWRTZXAJRGVsaW1pdGVyCiAgaGkgbGluayBuZXRyd0NvbW1lbnQJQ29tbWVudAogIGhpIGxpbmsgbmV0cndEaXIJRGlyZWN0b3J5Ci0gaGkgbGluayBuZXRyd0hpZGVQYXQJU3RyaW5nCi0gaGkgbGluayBuZXRyd0xpc3QJU3RyaW5nCisgaGkgbGluayBuZXRyd0hlbHBDbWQJRnVuY3Rpb24KKyBoaSBsaW5rIG5ldHJ3SGlkZVBhdAlTdGF0ZW1lbnQKKyBoaSBsaW5rIG5ldHJ3TGlzdAlTdGF0ZW1lbnQKKyBoaSBsaW5rIG5ldHJ3VmVyc2lvbglJZGVudGlmaWVyCiAgaGkgbGluayBuZXRyd1N5bUxpbmsJU3BlY2lhbAogCiAgaGkgbGluayBuZXRyd0NvbW1hCW5ldHJ3Q29tbWVudApAQCAtNDAsNCArNTIsNSBAQAogCiAiIEN1cnJlbnQgU3ludGF4OiB7e3sxCiBsZXQgICBiOmN1cnJlbnRfc3ludGF4ID0gIm5ldHJ3bGlzdCIKKyIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAiIHZpbTogdHM9OCBmZG09bWFya2VyCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9wZXJsLnZpbSBiL3J1bnRpbWUvc3ludGF4L3BlcmwudmltCmluZGV4IDQzODg3MjkuLjMyN2NjMTEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3BlcmwudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3BlcmwudmltCkBAIC0xLDcgKzEsNyBAQAogIiBWaW0gc3ludGF4IGZpbGUKICIgTGFuZ3VhZ2U6CVBlcmwKICIgTWFpbnRhaW5lcjoJTmljayBIaWJtYSA8bl9oaWJtYUB2YW4tbGFhcmhvdmVuLm9yZz4KLSIgTGFzdCBDaGFuZ2U6CTIwMDQgTWF5IDE2CisiIExhc3QgQ2hhbmdlOgkyMDA0IEF1ZyAyOQogIiBMb2NhdGlvbjoJaHR0cDovL3d3dy52YW4tbGFhcmhvdmVuLm9yZy92aW0vc3ludGF4L3BlcmwudmltCiAiCiAiIFBsZWFzZSBkb3dubG9hZCBtb3N0IHJlY2VudCB2ZXJzaW9uIGZpcnN0IGJlZm9yZSBtYWlsaW5nCkBAIC0xNyw4ICsxNyw4IEBACiAiIHBlcmwgc3ludGF4IGhpZ2hsaWdodGluZywgd2l0aCBkZWZhdWx0cyBnaXZlbjoKICIKICIgdW5sZXQgcGVybF9pbmNsdWRlX3BvZAotIiB1bmxldCBwZXJsX3dhbnRfc2NvcGVfaW5fdmFyaWFibGVzCi0iIHVubGV0IHBlcmxfZXh0ZW5kZWRfdmFycworIiB1bmxldCBwZXJsX25vX3Njb3BlX2luX3ZhcmlhYmxlcworIiB1bmxldCBwZXJsX25vX2V4dGVuZGVkX3ZhcnMKICIgdW5sZXQgcGVybF9zdHJpbmdfYXNfc3RhdGVtZW50CiAiIHVubGV0IHBlcmxfbm9fc3luY19vbl9zdWIKICIgdW5sZXQgcGVybF9ub19zeW5jX29uX2dsb2JhbF92YXIKQEAgLTE0NywxNiArMTQ3LDExIEBACiAiIEFuZCBwbGFpbiBpZGVudGlmaWVycwogc3luIG1hdGNoICBwZXJsUGFja2FnZVJlZgkgIlwoXGhcdypcKVw9XCg6Olx8J1wpXEkibWU9ZS0xIGNvbnRhaW5lZAogCi0iIFRvIGhpZ2hsaWdodCBwYWNrYWdlcyBpbiB2YXJpYWJsZXMgYXMgYSBzY29wZSByZWZlcmVuY2UgLSBpLmUuIGluICRwYWNrOjp2YXIsCi0iIHBhY2s6OiBpcyBhIHNjb3BlLCBqdXN0IHNldCAicGVybF93YW50X3Njb3BlX2luX3ZhcmlhYmxlcyIKLSIgSWYgeW91ICp3YW50KiBjb21wbGV4IHRoaW5ncyBsaWtlIEB7JHsiZm9vIn19IHRvIGJlIHByb2Nlc3NlZCwKLSIganVzdCBzZXQgdGhlIHZhcmlhYmxlICJwZXJsX2V4dGVuZGVkX3ZhcnMiLi4uCi0KICIgRklYTUUgdmFsdWUgYmV0d2VlbiB7fSBzaG91bGQgYmUgbWFya2VkIGFzIHN0cmluZy4gaXMgdHJlYXRlZCBhcyBzdWNoIGJ5IFBlcmwuCiAiIEF0IHRoZSBtb21lbnQgaXQgaXMgbWFya2VkIGFzIHNvbWV0aGluZyBncmV5aXNoIGluc3RlYWQgb2YgcmVhZC4gUHJvYmFibHkgdG9kbwogIiB3aXRoIHRyYW5zcGFyZW5jeS4gT3IgbWF5YmUgd2Ugc2hvdWxkIGhhbmRsZSB0aGUgYmFyZSB3b3JkIGluIHRoYXQgY2FzZS4gb3IgbWFrZSBpdCBpbnRvCiAKLWlmIGV4aXN0cygicGVybF93YW50X3Njb3BlX2luX3ZhcmlhYmxlcyIpCitpZiAhZXhpc3RzKCJwZXJsX25vX3Njb3BlX2luX3ZhcmlhYmxlcyIpCiAgIHN5biBtYXRjaCAgcGVybFZhclBsYWluCSJcXFw9XChbQCUkXVx8XCQjXClcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgY29udGFpbnM9cGVybFBhY2thZ2VSZWYgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcixwZXJsTWV0aG9kCiAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uTmFtZQkiXFxcPSZcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgY29udGFpbnM9cGVybFBhY2thZ2VSZWYgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcgogZWxzZQpAQCAtMTY0LDcgKzE1OSw3IEBACiAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uTmFtZQkiXFxcPSZcJCpcKFxJXGkqXClcPVwoXCg6Olx8J1wpXElcaSpcKSpcPiIgbmV4dGdyb3VwPXBlcmxWYXJNZW1iZXIscGVybFZhclNpbXBsZU1lbWJlcgogZW5kaWYKIAotaWYgZXhpc3RzKCJwZXJsX2V4dGVuZGVkX3ZhcnMiKQoraWYgIWV4aXN0cygicGVybF9ub19leHRlbmRlZF92YXJzIikKICAgc3luIGNsdXN0ZXIgcGVybEV4cHIJCWNvbnRhaW5zPXBlcmxTdGF0ZW1lbnRTY2FsYXIscGVybFN0YXRlbWVudFJlZ2V4cCxwZXJsU3RhdGVtZW50TnVtZXJpYyxwZXJsU3RhdGVtZW50TGlzdCxwZXJsU3RhdGVtZW50SGFzaCxwZXJsU3RhdGVtZW50RmlsZXMscGVybFN0YXRlbWVudFRpbWUscGVybFN0YXRlbWVudE1pc2MscGVybFZhclBsYWluLHBlcmxWYXJOb3RJbk1hdGNoZXMscGVybFZhclNsYXNoLHBlcmxWYXJCbG9jayxwZXJsU2hlbGxDb21tYW5kLHBlcmxGbG9hdCxwZXJsTnVtYmVyLHBlcmxTdHJpbmdVbmV4cGFuZGVkLHBlcmxTdHJpbmcscGVybFFRCiAgIHN5biByZWdpb24gcGVybFZhckJsb2NrCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSJcKCQjXHxbQCUkXVwpXCQqeyIgc2tpcD0iXFx9IiBlbmQ9In0iIGNvbnRhaW5zPUBwZXJsRXhwciBuZXh0Z3JvdXA9cGVybFZhck1lbWJlcixwZXJsVmFyU2ltcGxlTWVtYmVyCiAgIHN5biByZWdpb24gcGVybFZhckJsb2NrCW1hdGNoZ3JvdXA9cGVybFZhclBsYWluIHN0YXJ0PSImXCQqeyIgc2tpcD0iXFx9IiBlbmQ9In0iIGNvbnRhaW5zPUBwZXJsRXhwcgpAQCAtMzU5LDcgKzM1NCw3IEBACiBzeW4ga2V5d29yZCBwZXJsU3RhdGVtZW50U3ViCXN1YiBjb250YWluZWQKIAogc3luIG1hdGNoICBwZXJsRnVuY3Rpb25Qcm90b3R5cGUJIihbXildKikiIGNvbnRhaW5lZAotaWYgZXhpc3RzKCJwZXJsX3dhbnRfc2NvcGVfaW5fdmFyaWFibGVzIikKK2lmICFleGlzdHMoInBlcmxfbm9fc2NvcGVfaW5fdmFyaWFibGVzIikKICAgIHN5biBtYXRjaCAgcGVybEZ1bmN0aW9uUFJlZgkiXGhcdyo6OiIgY29udGFpbmVkCiAgICBzeW4gbWF0Y2ggIHBlcmxGdW5jdGlvbk5hbWUJIlxoXHcqW146XSIgY29udGFpbmVkCiBlbHNlCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zaC52aW0gYi9ydW50aW1lL3N5bnRheC9zaC52aW0KaW5kZXggYzhmNmVlMC4uZjg2MjRhZSAxMDA2NDQKLS0tIGEvcnVudGltZS9zeW50YXgvc2gudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3NoLnZpbQpAQCAtMiwxMSArMiwxMSBAQAogIiBMYW5ndWFnZToJCXNoZWxsIChzaCkgS29ybiBzaGVsbCAoa3NoKSBiYXNoIChzaCkKICIgTWFpbnRhaW5lcjoJCURyLiBDaGFybGVzIEUuIENhbXBiZWxsLCBKci4gIDxOZHJPY2hpcFNAUGNhbXBiZWxsQWZhbWlseS5NYml6PgogIiBQcmV2aW91cyBNYWludGFpbmVyOglMZW5uYXJ0IFNjaHVsdHogPExlbm5hcnQuU2NodWx0ekBlY213Zi5pbnQ+Ci0iIExhc3QgQ2hhbmdlOgkJQXByIDI4LCAyMDA0Ci0iIFZlcnNpb246CQk2OAorIiBMYXN0IENoYW5nZToJCUp1bCAyNiwgMjAwNAorIiBWZXJzaW9uOgkJNjkKICIgVVJMOgkJaHR0cDovL3d3dy5lcm9scy5jb20vYXN0cm9uYXV0L3ZpbS9pbmRleC5odG1sI3ZpbWxpbmtzX3N5bnRheAogIgotIiBVc2luZyB0aGUgZm9sbG93aW5nIFZJTSB2YXJpYWJsZXM6CisiIFVzaW5nIHRoZSBmb2xsb3dpbmcgVklNIHZhcmlhYmxlczoge3t7MQogIiBiOmlzX2tvcm5zaGVsbAlpZiBkZWZpbmVkLCBlbmhhbmNlIHdpdGgga29ybnNoZWxsIHN5bnRheAogIiBiOmlzX2Jhc2gJCWlmIGRlZmluZWQsIGVuaGFuY2Ugd2l0aCBiYXNoIHN5bnRheAogIiAgIGlzX2tvcm5zaGVsbAlpZiBuZWl0aGVyIGI6aXNfa29ybnNoZWxsIG9yIGI6aXNfYmFzaCBpcwpAQCAtMjAsNyArMjAsNyBAQAogIgogIiBUaGlzIGZpbGUgaW5jbHVkZXMgbWFueSBpZGVhcyBmcm9tIMlyaWMgQnJ1bmV0IChlcmljLmJydW5ldEBlbnMuZnIpCiAKLSIgRm9yIHZlcnNpb24gNS54OiBDbGVhciBhbGwgc3ludGF4IGl0ZW1zCisiIEZvciB2ZXJzaW9uIDUueDogQ2xlYXIgYWxsIHN5bnRheCBpdGVtcyB7e3sxCiAiIEZvciB2ZXJzaW9uIDYueDogUXVpdCB3aGVuIGEgc3ludGF4IGZpbGUgd2FzIGFscmVhZHkgbG9hZGVkCiBpZiB2ZXJzaW9uIDwgNjAwCiAgIHN5bnRheCBjbGVhcgpAQCAtMjgsNiArMjgsNyBAQAogICBmaW5pc2gKIGVuZGlmCiAKKyIgaGFuZGxpbmcgL2Jpbi9zaCB3aXRoIGlzX2tvcm5zaGVsbC9pc19zaCB7e3sxCiAiIGI6aXNfc2ggaXMgc2V0IHdoZW4gIiMhIC9iaW4vc2giIGlzIGZvdW5kOwogIiBIb3dldmVyLCBpdCBvZnRlbiBpcyBqdXN0IGEgbWFzcXVlcmFkZSBieSBiYXNoICh0eXBpY2FsbHkgTGludXgpCiAiIG9yIGtvcm5zaGVsbCAodHlwaWNhbGx5IHdvcmtzdGF0aW9ucyB3aXRoIFBvc2l4ICJzaCIpLgpAQCAtNTcsNyArNTgsNyBAQAogIiBzaCBzeW50YXggaXMgY2FzZSBzZW5zaXRpdmUKIHN5biBjYXNlIG1hdGNoCiAKLSIgQ2x1c3RlcnM6IGNvbnRhaW5zPUAuLi4gY2x1c3RlcnMKKyIgQ2x1c3RlcnM6IGNvbnRhaW5zPUAuLi4gY2x1c3RlcnMge3t7MQogIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIHN5biBjbHVzdGVyIHNoQ2FzZUVzYWNMaXN0CWNvbnRhaW5zPXNoQ2FzZVN0YXJ0LHNoQ2FzZSxzaENhc2VCYXIsc2hDYXNlSW4sc2hDb21tZW50LHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaENhc2VDb21tYW5kU3ViLHNoQ2FzZVNpbmdsZVF1b3RlLHNoQ2FzZURvdWJsZVF1b3RlLHNoU3BlY2lhbAogc3luIGNsdXN0ZXIgc2hDYXNlTGlzdAljb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdCxzaENhc2VFc2FjLHNoQ29sb24sc2hDb21tYW5kU3ViLHNoQ29tbWFuZFN1YixzaENvbW1lbnQsc2hEbyxzaEVjaG8sc2hFeHByLHNoRm9yLHNoSGVyZURvYyxzaElmLHNoUmVkaXIsc2hTZXRMaXN0LHNoU291cmNlLHNoU3RhdGVtZW50LHNoVmFyaWFibGUsYmtzaEZ1bmN0aW9uLHNoU3BlY2lhbApAQCAtNzksNyArODAsNyBAQAogc3luIGNsdXN0ZXIgc2hUZXN0TGlzdAljb250YWlucz1zaENoYXJDbGFzcyxzaENvbW1lbnQsc2hDb21tYW5kU3ViLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERvdWJsZVF1b3RlLHNoRXhwcixzaEV4cHIsc2hOdW1iZXIsc2hPcGVyYXRvcixzaFNpbmdsZVF1b3RlLHNoU3BlY2lhbCxzaFRlc3RPcHIKIAogCi0iIEVjaG86CisiIEVjaG86IHt7ezEKICIgPT09PQogIiBUaGlzIG9uZSBpcyBuZWVkZWQgSU5TSURFIGEgQ29tbWFuZFN1Yiwgc28gdGhhdCBgZWNobyBibGFgIGJlIGNvcnJlY3QKIHN5biByZWdpb24gc2hFY2hvIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8ZWNob1w+IiAgc2tpcD0iXFwkIiBtYXRjaGdyb3VwPXNoT3BlcmF0b3IgZW5kPSIkIiBtYXRjaGdyb3VwPU5PTkUgZW5kPSJbPD47JnwoKV0ibWU9ZS0xIGVuZD0iXGRbPD5dIm1lPWUtMiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaEVjaG9MaXN0CkBAIC04OCw3ICs4OSw3IEBACiAiIFRoaXMgbXVzdCBiZSBhZnRlciB0aGUgc3RyaW5ncywgc28gdGhhdCBibGEgXCIgYmUgY29ycmVjdAogc3luIHJlZ2lvbiBzaEVtYmVkZGVkRWNobyBjb250YWluZWQgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDxwcmludFw+IiBza2lwPSJcXCQiIG1hdGNoZ3JvdXA9c2hPcGVyYXRvciBlbmQ9IiQiIG1hdGNoZ3JvdXA9Tk9ORSBlbmQ9Ils8PjsmfGApXSJtZT1lLTEgZW5kPSJcZFs8Pl0ibWU9ZS0yIGVuZD0iIyJtZT1lLTEgY29udGFpbnM9c2hOdW1iZXIsc2hTaW5nbGVRdW90ZSxzaERlcmVmLHNoRGVyZWZTaW1wbGUsc2hTcGVjaWFsVmFyLHNoU3BlY2lhbCxzaE9wZXJhdG9yLHNoRG91YmxlUXVvdGUsc2hDaGFyQ2xhc3MKIAotIiBBbGlhczoKKyIgQWxpYXM6IHt7ezEKICIgPT09PT0KIGlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCiAgc3luIG1hdGNoIHNoU3RhdGVtZW50ICJcPGFsaWFzXD4iCkBAIC05Niw4ICs5Nyw4IEBACiAgc3luIHJlZ2lvbiBzaEFsaWFzIG1hdGNoZ3JvdXA9c2hTdGF0ZW1lbnQgc3RhcnQ9Ilw8YWxpYXNcPlxzXCtcKFx3XCs9XClcQD0iIHNraXA9IlxcJCIgZW5kPSI9IgogZW5kaWYKIAotIiBFcnJvciBDb2RlcwotIiA9PT09PT09PT09PQorIiBFcnJvciBDb2Rlczoge3t7MQorIiA9PT09PT09PT09PT0KIHN5biBtYXRjaCAgIHNoRG9FcnJvciAiXDxkb25lXD4iCiBzeW4gbWF0Y2ggICBzaElmRXJyb3IgIlw8ZmlcPiIKIHN5biBtYXRjaCAgIHNoSW5FcnJvciAiXDxpblw+IgpAQCAtMTEwLDI1ICsxMTEsMjUgQEAKIGVuZGlmCiBzeW4gbWF0Y2ggICAgIHNoVGVzdEVycm9yICJdIgogCi0iIE9wdGlvbnMgaW50ZXJjZXB0b3IKLSIgPT09PT09PT09PT09PT09PT09PQorIiBPcHRpb25zIEludGVyY2VwdG9yOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09CiBzeW4gbWF0Y2ggICBzaE9wdGlvbiAgIlxzW1wtK11bYS16QS1aMC05XVwrXD4ibXM9cysxCiBzeW4gbWF0Y2ggICBzaE9wdGlvbiAgIlxzLS1cU1wrIm1zPXMrMQogCi0iIE9wZXJhdG9yczoKLSIgPT09PT09PT09CisiIE9wZXJhdG9yczoge3t7MQorIiA9PT09PT09PT09CiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSJbISY7fF0iCiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSJcW1tbXjpdXHxcXV0iCiBzeW4gbWF0Y2ggICBzaE9wZXJhdG9yCSIhXD09IgkJc2tpcHdoaXRlIG5leHRncm91cD1zaFBhdHRlcm4KIHN5biBtYXRjaCAgIHNoUGF0dGVybgkiXDxcU1wrXCgpKVwpXEA9Igljb250YWluZWQgY29udGFpbnM9c2hTaW5nbGVRdW90ZSxzaERvdWJsZVF1b3RlLHNoRGVyZWYKIAotIiBTdWJzaGVsbHM6Ci0iID09PT09PT09PQorIiBTdWJzaGVsbHM6IHt7ezEKKyIgPT09PT09PT09PQogc3luIHJlZ2lvbiBzaEV4cHIgIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hFeHByUmVnaW9uICBzdGFydD0ieyIgZW5kPSJ9Igljb250YWlucz1Ac2hFeHByTGlzdDIKIHN5biByZWdpb24gc2hTdWJTaCB0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoU3ViU2hSZWdpb24gc3RhcnQ9IigiIGVuZD0iKSIJY29udGFpbnM9QHNoU3ViU2hMaXN0CiAKLSIgVGVzdHMKLSI9PT09PT0KKyIgVGVzdHM6IHt7ezEKKyI9PT09PT09CiAic3luIHJlZ2lvbiAgc2hFeHByIHRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hSYW5nZSBzdGFydD0iXFsiIHNraXA9K1xcXFxcfFxcJCsgZW5kPSJcXSIgY29udGFpbnM9QHNoVGVzdExpc3QKIHN5biByZWdpb24gIHNoRXhwciBtYXRjaGdyb3VwPXNoUmFuZ2Ugc3RhcnQ9IlxbIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iXF0iIGNvbnRhaW5zPUBzaFRlc3RMaXN0CiBzeW4gcmVnaW9uICBzaEV4cHIgdHJhbnNwYXJlbnQgbWF0Y2hncm91cD1zaFN0YXRlbWVudCBzdGFydD0iXDx0ZXN0XD4iIHNraXA9K1xcXFxcfFxcJCsgbWF0Y2hncm91cD1OT05FIGVuZD0iWzsmfF0ibWU9ZS0xIGVuZD0iJCIgY29udGFpbnM9QHNoRXhwckxpc3QxCkBAIC0xMzgsMTIgKzEzOSwxMiBAQAogIHN5biByZWdpb24gIHNoRGJsUGFyZW4gbWF0Y2hncm91cD1EZWxpbWl0ZXIgc3RhcnQ9IigoIiBza2lwPStcXFxcXHxcXCQrIGVuZD0iKSkiCWNvbnRhaW5zPUBzaFRlc3RMaXN0CiBlbmRpZgogCi0iIENoYXJhY3RlciBDbGFzcyBpbiBSYW5nZQotIiA9PT09PT09PT09PT09PT09PT09PT09PT0KKyIgQ2hhcmFjdGVyIENsYXNzIEluIFJhbmdlOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PT0KIHN5biBtYXRjaCAgIHNoQ2hhckNsYXNzCWNvbnRhaW5lZAkiXFs6XChiYWNrc3BhY2VcfGVzY2FwZVx8cmV0dXJuXHx4ZGlnaXRcfGFsbnVtXHxhbHBoYVx8YmxhbmtcfGNudHJsXHxkaWdpdFx8Z3JhcGhcfGxvd2VyXHxwcmludFx8cHVuY3RcfHNwYWNlXHx1cHBlclx8dGFiXCk6XF0iCiAKLSIgTG9vcHM6IGRvLCBpZiwgd2hpbGUsIHVudGlsCi0iID09PT09CisiIExvb3BzOiBkbywgaWYsIHdoaWxlLCB1bnRpbCB7e3sxCisiID09PT09PQogc3luIHJlZ2lvbiBzaERvCQl0cmFuc3BhcmVudCBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgc3RhcnQ9Ilw8ZG9cPiIgbWF0Y2hncm91cD1zaENvbmRpdGlvbmFsIGVuZD0iXDxkb25lXD4iIGNvbnRhaW5zPUBzaExvb3BMaXN0CiBzeW4gcmVnaW9uIHNoSWYJCXRyYW5zcGFyZW50IG1hdGNoZ3JvdXA9c2hDb25kaXRpb25hbCBzdGFydD0iXDxpZlw+IiBtYXRjaGdyb3VwPXNoQ29uZGl0aW9uYWwgZW5kPSJcPDtcX3MqdGhlblw+IiBlbmQ9Ilw8ZmlcPiIgICBjb250YWlucz1Ac2hMb29wTGlzdCxzaERibEJyYWNlLHNoRGJsUGFyZW4KIHN5biByZWdpb24gc2hGb3IJbWF0Y2hncm91cD1zaExvb3Agc3RhcnQ9Ilw8Zm9yXD4iIGVuZD0iXDxpblw+IiBlbmQ9Ilw8ZG9cPiJtZT1lLTIJY29udGFpbnM9QHNoTG9vcExpc3Qsc2hEYmxQYXJlbgpAQCAtMTU3LDcgKzE1OCw3IEBACiAgc3luIHJlZ2lvbiBzaFJlcGVhdCAgIG1hdGNoZ3JvdXA9c2hMb29wICAgc3RhcnQ9Ilw8dW50aWxcPiIgZW5kPSJcPGRvXD4ibWU9ZS0yCQljb250YWlucz1Ac2hMb29wTGlzdAogZW5kaWYKIAotIiBDYXNlOiBjYXNlLi4uZXNhYworIiBDYXNlOiBjYXNlLi4uZXNhYyB7e3sxCiAiID09PT0KIHN5biBtYXRjaCAgIHNoQ2FzZUJhcgljb250YWluZWQgc2tpcHdoaXRlICJbXnwiYCcoKV1cey19fCJocz1lCQluZXh0Z3JvdXA9c2hDYXNlLHNoQ2FzZVN0YXJ0LHNoQ2FzZUJhcixzaENvbW1lbnQsc2hDYXNlU2luZ2xlUXVvdGUsc2hDYXNlRG91YmxlUXVvdGUKIHN5biBtYXRjaCAgIHNoQ2FzZVN0YXJ0CWNvbnRhaW5lZCBza2lwd2hpdGUgc2tpcG5sICIoIgkJCW5leHRncm91cD1zaENhc2Usc2hDYXNlQmFyCkBAIC0xNjgsMTEgKzE2OSwxMiBAQAogc3luIHJlZ2lvbiAgc2hDYXNlRG91YmxlUXVvdGUJbWF0Y2hncm91cD1zaE9wZXJhdG9yIHN0YXJ0PSsiKyBza2lwPStcXFxcXHxcXC4rIGVuZD0rIisJY29udGFpbnM9QHNoRGJsUXVvdGVMaXN0LHNoU3RyaW5nU3BlY2lhbAlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaENhc2VCYXIJY29udGFpbmVkCiBzeW4gcmVnaW9uICBzaENhc2VDb21tYW5kU3ViCXN0YXJ0PStgKyBza2lwPStcXFxcXHxcXC4rIGVuZD0rYCsJCWNvbnRhaW5zPUBzaENvbW1hbmRTdWJMaXN0CQlza2lwd2hpdGUgc2tpcG5sIG5leHRncm91cD1zaENhc2VCYXIJY29udGFpbmVkCiAKLSIgTWlzYwotIj09PT09CisiIE1pc2M6IHt7ezEKKyI9PT09PT0KIHN5biBtYXRjaCAgIHNoV3JhcExpbmVPcGVyYXRvciAiXFwkIgogc3luIHJlZ2lvbiAgc2hDb21tYW5kU3ViICAgc3RhcnQ9ImAiIHNraXA9IlxcXFxcfFxcLiIgZW5kPSJgIiBjb250YWlucz1Ac2hDb21tYW5kU3ViTGlzdAogCisiICQoKSBhbmQgJCgoKSk6IHt7ezEKICIgJCguLikgaXMgbm90IHN1cHBvcnRlZCBieSBzaCAoQm91cm5lIHNoZWxsKS4gIEhvd2V2ZXIsIGFwcGFyZW50bHkKICIgc29tZSBzeXN0ZW1zIChIUD8pIGhhdmUgYXMgdGhlaXIgL2Jpbi9zaCBhIChsaW5rIHRvKSBLb3JuIHNoZWxsCiAiIChpZS4gUG9zaXggY29tcGxpYW50IHNoZWxsKS4gIC9iaW4va3NoIHNob3VsZCB3b3JrIGZvciB0aG9zZQpAQCAtMjA1LDggKzIwNyw4IEBACiBzeW4gbWF0Y2ggICBzaFNvdXJjZQkiXHNcLlxzIgogc3luIHJlZ2lvbiAgc2hDb2xvbglzdGFydD0iXlxzKjoiIGVuZD0iJFx8IiBlbmQ9IiMibWU9ZS0xIGNvbnRhaW5zPUBzaENvbG9uTGlzdAogCi0iIFN0cmluZyBhbmQgQ2hhcmFjdGVyIGNvbnN0YW50cwotIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyIgU3RyaW5nIEFuZCBDaGFyYWN0ZXIgQ29uc3RhbnRzOiB7e3sxCisiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KIHN5biBtYXRjaCAgIHNoTnVtYmVyCSItXD1cPFxkXCtcPiIKIHN5biBtYXRjaCAgIHNoU3BlY2lhbAkiXFxcZFxkXGRcfFxcW2FiY2ZucnR2MF0iCWNvbnRhaW5lZAogc3luIHJlZ2lvbiAgc2hTaW5nbGVRdW90ZQltYXRjaGdyb3VwPXNoT3BlcmF0b3Igc3RhcnQ9KycrIGVuZD0rJysJCWNvbnRhaW5zPXNoU3RyaW5nU3BlY2lhbApAQCAtMjE0LDIwICsyMTYsMjEgQEAKIHN5biBtYXRjaCAgIHNoU3RyaW5nU3BlY2lhbAkiW15bOnByaW50Ol1dIgljb250YWluZWQKIHN5biBtYXRjaCAgIHNoU3BlY2lhbAkiXFxbXFxcIlwnYCQoKSNdIgogCi0iIENvbW1lbnRzCi0iPT09PT09PT09CisiIENvbW1lbnRzOiB7e3sxCisiPT09PT09PT09PQogc3luIGNsdXN0ZXIgICAgc2hDb21tZW50R3JvdXAJY29udGFpbnM9c2hUb2RvLEBTcGVsbAogc3luIGtleXdvcmQgICAgc2hUb2RvCWNvbnRhaW5lZAlUT0RPCiBzeW4gbWF0Y2ggICAgICBzaENvbW1lbnQJIiMuKiQiIGNvbnRhaW5zPUBzaENvbW1lbnRHcm91cAogCi0iIEZpbGUgcmVkaXJlY3Rpb24gaGlnaGxpZ2h0ZWQgYXMgb3BlcmF0b3JzCi0iPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisiIEZpbGUgUmVkaXJlY3Rpb24gSGlnaGxpZ2h0ZWQgQXMgT3BlcmF0b3JzOiB7e3sxCisiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPT5cKCZbLTAtOV1cKVw9Igogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPT4+LVw9Igogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGRcPTxcKCZbLTAtOV1cKVw9Igogc3luIG1hdGNoICAgICAgc2hSZWRpcgkiXGQ8PC1cPSIKIAotIiBTaGVsbCBJbnB1dCBSZWRpcmVjdGlvbiAoSGVyZSBEb2N1bWVudHMpCisiIEhlcmUgRG9jdW1lbnRzOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiBpZiB2ZXJzaW9uIDwgNjAwCiAgc3luIHJlZ2lvbiBzaEhlcmVEb2MgbWF0Y2hncm91cD1zaFJlZGlyIHN0YXJ0PSI8PFxzKlwqKkVORFthLXpBLVpfMC05XSpcKioiICBtYXRjaGdyb3VwPXNoUmVkaXIgZW5kPSJeRU5EW2EtekEtWl8wLTldKiQiIGNvbnRhaW5zPUBzaERibFF1b3RlTGlzdAogIHN5biByZWdpb24gc2hIZXJlRG9jIG1hdGNoZ3JvdXA9c2hSZWRpciBzdGFydD0iPDwtXHMqXCoqRU5EW2EtekEtWl8wLTldKlwqKiIgbWF0Y2hncm91cD1zaFJlZGlyIGVuZD0iXlxzKkVORFthLXpBLVpfMC05XSokIiBjb250YWlucz1Ac2hEYmxRdW90ZUxpc3QKQEAgLTI5OCwxMyArMzAxLDE2IEBACiAgIHN5biBtYXRjaCAgc2hCZWdpbkxpbmUgIi4qJCIJCWNvbnRhaW5lZAlza2lwbmwJbmV4dGdyb3VwPXNoSGVyZVBheWxvYWQJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QKICAgc3luIG1hdGNoICBzaEJlZ2luSGVyZSAiPDwtXD1ccypcU1wrIgljb250YWluZWQJCW5leHRncm91cD1zaEJlZ2luTGluZQogIGVuZGlmCi0gaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQotICBzeW4gbWF0Y2ggc2hSZWRpciAiPDw8IgotIGVuZGlmCiBlbmRpZgogCi0iIElkZW50aWZpZXJzCi0iPT09PT09PT09PT09CisiIEhlcmUgU3RyaW5nczoge3t7MQorIiA9PT09PT09PT09PT09CitpZiBleGlzdHMoImI6aXNfYmFzaCIpCisgc3luIG1hdGNoIHNoUmVkaXIgIjw8PCIKK2VuZGlmCisKKyIgSWRlbnRpZmllcnM6IHt7ezEKKyI9PT09PT09PT09PT09CiBzeW4gbWF0Y2ggIHNoVmFyaWFibGUgIlw8XChbYndnbHNhdl06XClcPVthLXpBLVowLTkuIUBfJSssXSpcemU9IgluZXh0Z3JvdXA9c2hTZXRJZGVudGlmaWVyCiBzeW4gbWF0Y2ggIHNoSWRXaGl0ZVNwYWNlICBjb250YWluZWQJIlxzIgogc3luIG1hdGNoICBzaFNldElkZW50aWZpZXIgY29udGFpbmVkCSI9IgluZXh0Z3JvdXA9c2hQYXR0ZXJuLHNoRGVyZWYsc2hEZXJlZlNpbXBsZSxzaERvdWJsZVF1b3RlLHNoU2luZ2xlUXVvdGUKQEAgLTMyMSw2ICszMjcsNyBAQAogICBzeW4gbWF0Y2ggIHNoU3RhdGVtZW50ICJcPFwoc2V0XHxleHBvcnRcfHVuc2V0XCkkIgogZW5kaWYKIAorIiBGdW5jdGlvbnM6IHt7ezEKICIgaGFuZGxlcyBmdW5jdGlvbnMgd2hpY2ggc3RhcnQ6ICBGdW5jdGlvbiAoKSB7CiAiICAgQXBwYXJlbnRseSBCb3VybmUgc2hlbGwgYWNjZXB0cyBmdW5jdGlvbnMgdG9vLAogIiAgIGV2ZW4gdGhvdWdoIGl0IGlzbid0IGRvY3VtZW50ZWQgYnkgbXkgbWFuIHBhZ2VzCkBAIC0zMzUsOCArMzQyLDggQEAKIHN5biBtYXRjaCBia3NoRnVuY3Rpb25QYXJlbgkiWygpXSIJY29udGFpbmVkCiBzeW4gbWF0Y2ggYmtzaEZ1bmN0aW9uRGVsaW0JIlt7fV0iCWNvbnRhaW5lZAogCi0iIFBhcmFtZXRlciBEZXJlZmVyZW5jaW5nCi0iID09PT09PT09PT09PT09PT09PT09PT09CisiIFBhcmFtZXRlciBEZXJlZmVyZW5jaW5nOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PQogc3luIG1hdGNoICBzaERlcmVmU2ltcGxlCSJcJFx3XCsiCiBzeW4gcmVnaW9uIHNoRGVyZWYJbWF0Y2hncm91cD1QcmVQcm9jIHN0YXJ0PSJcJHsiIGVuZD0ifSIJY29udGFpbnM9QHNoRGVyZWZMaXN0LHNoRGVyZWZWYXJBcnJheQogc3luIG1hdGNoICBzaERlcmVmV29yZEVycm9yCSJbXn0kW10iCWNvbnRhaW5lZApAQCAtMzQ2LDggKzM1Myw4IEBACiAgc3luIHJlZ2lvbiBzaERlcmVmCW1hdGNoZ3JvdXA9UHJlUHJvYyBzdGFydD0iXCR7IyNcPSIgZW5kPSJ9Igljb250YWlucz1Ac2hEZXJlZkxpc3QKIGVuZGlmCiAKLSIgYmFzaCA6ICR7IXByZWZpeCp9Ci0iIGJhc2ggOiAkeyNwYXJhbWV0ZXJ9CisiIGJhc2g6ICR7IXByZWZpeCp9IGFuZCAkeyNwYXJhbWV0ZXJ9OiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogIHN5biByZWdpb24gc2hEZXJlZgltYXRjaGdyb3VwPVByZVByb2Mgc3RhcnQ9IlwkeyEiIGVuZD0iXCpcPX0iCWNvbnRhaW5zPUBzaERlcmVmTGlzdCxzaERlcmVmT3AKICBzeW4gbWF0Y2ggIHNoRGVyZWZWYXIJY29udGFpbmVkCSJ7XEA8PSFcd1wrIgkJbmV4dGdyb3VwPUBzaERlcmVmVmFyTGlzdApAQCAtMzU3LDkgKzM2NCwxMCBAQAogc3luIG1hdGNoICBzaERlcmVmU3BlY2lhbAljb250YWluZWQJIlwoe1sjIV1cKVxAPD1bWzphbG51bTpdKkBfXVwrIgluZXh0Z3JvdXA9QHNoRGVyZWZWYXJMaXN0LHNoRGVyZWZPcAogc3luIG1hdGNoICBzaERlcmVmVmFyCWNvbnRhaW5lZAkie1xAPD1cd1wrIgkJbmV4dGdyb3VwPUBzaERlcmVmVmFyTGlzdAogCi0iIHNoIGtzaCBiYXNoIDogJHt2YXJbLi4uIF0uLi59ICBhcnJheSByZWZlcmVuY2UKKyIgc2gga3NoIGJhc2ggOiAke3ZhclsuLi4gXS4uLn0gIGFycmF5IHJlZmVyZW5jZToge3t7MQogc3luIHJlZ2lvbiAgc2hEZXJlZlZhckFycmF5ICAgY29udGFpbmVkCW1hdGNoZ3JvdXA9c2hEZXJlZiBzdGFydD0iXFsiIGVuZD0iXSIJY29udGFpbnM9QHNoQ29tbWFuZFN1Ykxpc3QgbmV4dGdyb3VwPXNoRGVyZWZPcCxzaERlcmVmT3BFcnJvcgogCisiIFNwZWNpYWwgJHtwYXJhbWV0ZXIgT1BFUkFUT1Igd29yZH0gaGFuZGxpbmc6IHt7ezEKICIgc2gga3NoIGJhc2ggOiAke3BhcmFtZXRlcjotd29yZH0gICAgd29yZCBpcyBkZWZhdWx0IHZhbHVlCiAiIHNoIGtzaCBiYXNoIDogJHtwYXJhbWV0ZXI6PXdvcmR9ICAgIGFzc2lnbiB3b3JkIGFzIGRlZmF1bHQgdmFsdWUKICIgc2gga3NoIGJhc2ggOiAke3BhcmFtZXRlcjo/d29yZH0gICAgZGlzcGxheSB3b3JkIGlmIHBhcmFtZXRlciBpcyBudWxsCkBAIC0zOTUsMTUgKzQwMywyMCBAQAogIHN5biBtYXRjaCAgc2hEZXJlZlBhdFN0cmluZwljb250YWluZWQJIltefV1cezEsfSIKIGVuZGlmCiAKLSIgQSBidW5jaCBvZiB1c2VmdWwgc2gga2V5d29yZHMKKyIgVXNlZnVsIHNoIEtleXdvcmRzOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT0KIHN5biBrZXl3b3JkIHNoU3RhdGVtZW50IGJyZWFrIGNkIGNoZGlyIGNvbnRpbnVlIGV2YWwgZXhlYyBleGl0IGtpbGwgbmV3Z3JwIHB3ZCByZWFkIHJlYWRvbmx5IHJldHVybiBzaGlmdCB0ZXN0IHRyYXAgdWxpbWl0IHVtYXNrIHdhaXQKIHN5biBrZXl3b3JkIHNoQ29uZGl0aW9uYWwgY29udGFpbmVkIGVsaWYgZWxzZSB0aGVuCiBzeW4ga2V5d29yZCBzaENvbmRFcnJvciBlbGlmIGVsc2UgdGhlbgogCisiIFVzZWZ1bCBrc2ggS2V5d29yZHM6IHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PT0KIGlmIGV4aXN0cygiYjppc19rb3Juc2hlbGwiKSB8fCBleGlzdHMoImI6aXNfYmFzaCIpCiAgc3luIGtleXdvcmQgc2hGdW5jdGlvbglmdW5jdGlvbgogIHN5biBrZXl3b3JkIHNoU3RhdGVtZW50IGF1dG9sb2FkIGJnIGZhbHNlIGZjIGZnIGZ1bmN0aW9ucyBnZXRvcHRzIGhhc2ggaGlzdG9yeSBpbnRlZ2VyIGpvYnMgbGV0IG5vaHVwIHByaW50IHByaW50ZiByIHN0b3Agc3VzcGVuZCB0aW1lIHRpbWVzIHRydWUgdHlwZSB1bmFsaWFzIHdoZW5jZQogCisiIFVzZWZ1bCBiYXNoIEtleXdvcmRzOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PQogIGlmIGV4aXN0cygiYjppc19iYXNoIikKICAgc3luIGtleXdvcmQgc2hTdGF0ZW1lbnQgYmluZCBidWlsdGluIGRpcnMgZGlzb3duIGVuYWJsZSBoZWxwIGxvY2FsIGxvZ291dCBwb3BkIHB1c2hkIHNob3B0IHNvdXJjZQogIGVsc2UKQEAgLTQxMSw4ICs0MjQsOCBAQAogIGVuZGlmCiBlbmRpZgogCi0iIFN5bmNzCi0iID09PT09CisiIFN5bmNocm9uaXphdGlvbjoge3t7MQorIiA9PT09PT09PT09PT09PT09CiBpZiAhZXhpc3RzKCJzaF9taW5saW5lcyIpCiAgIGxldCBzaF9taW5saW5lcyA9IDIwMAogZW5kaWYKQEAgLTQzMSw3ICs0NDQsOCBAQAogc3luIHN5bmMgbWF0Y2ggc2hVbnRpbFN5bmMJZ3JvdXBoZXJlCXNoUmVwZWF0CSJcPHVudGlsXD4iCiBzeW4gc3luYyBtYXRjaCBzaFdoaWxlU3luYwlncm91cGhlcmUJc2hSZXBlYXQJIlw8d2hpbGVcPiIKIAotIiBUaGUgZGVmYXVsdCBoaWdobGlnaHRpbmcuCisiIERlZmF1bHQgSGlnaGxpZ2h0aW5nOiB7e3sxCisiID09PT09PT09PT09PT09PT09PT09PQogaGkgZGVmIGxpbmsgc2hBcml0aFJlZ2lvbglzaFNoZWxsVmFyaWFibGVzCiBoaSBkZWYgbGluayBzaENhc2VCYXIJc2hDb25kaXRpb25hbAogaGkgZGVmIGxpbmsgc2hDYXNlSW4Jc2hDb25kaXRpb25hbApAQCAtNTI1LDggKzUzOSw4IEBACiBoaSBkZWYgbGluayBzaFRvZG8JCVRvZG8KIGhpIGRlZiBsaW5rIHNoQWxpYXMJCUlkZW50aWZpZXIKIAotIiBDdXJyZW50IFN5bnRheAotIiA9PT09PT09PT09PT09PQorIiBTZXQgQ3VycmVudCBTeW50YXg6IHt7ezEKKyIgPT09PT09PT09PT09PT09PT09PQogaWYgZXhpc3RzKCJiOmlzX2Jhc2giKQogIGxldCBiOmN1cnJlbnRfc3ludGF4ID0gImJhc2giCiBlbHNlaWYgZXhpc3RzKCJiOmlzX2tvcm5zaGVsbCIpCkBAIC01MzUsNCArNTQ5LDQgQEAKICBsZXQgYjpjdXJyZW50X3N5bnRheCA9ICJzaCIKIGVuZGlmCiAKLSIgdmltOiB0cz0xNgorIiB2aW06IHRzPTE2IGZkbT1tYXJrZXIKZGlmZiAtLWdpdCBhL3J1bnRpbWUvc3ludGF4L3NxbGluZm9ybWl4LnZpbSBiL3J1bnRpbWUvc3ludGF4L3NxbGluZm9ybWl4LnZpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGQwMjM2Ci0tLSAvZGV2L251bGwKKysrIGIvcnVudGltZS9zeW50YXgvc3FsaW5mb3JtaXgudmltCkBAIC0wLDAgKzEsMTk2IEBACisiIFZpbSBzeW50YXggZmlsZQorIiBJbmZvcm1peCBTdHJ1Y3R1cmVkIFF1ZXJ5IExhbmd1YWdlIChTUUwpIGFuZCBTdG9yZWQgUHJvY2VkdXJlIExhbmd1YWdlIChTUEwpCisiIExhbmd1YWdlOglTUUwsIFNQTCAoSW5mb3JtaXggRHluYW1pYyBTZXJ2ZXIgMjAwMCB2OS4yKQorIiBNYWludGFpbmVyOglEZWFuIEhpbGwgPGRoaWxsQGhvdG1haWwuY29tPgorIiBMYXN0IENoYW5nZToJMjAwNCBBdWcgMzAKKworIiBGb3IgdmVyc2lvbiA1Lng6IENsZWFyIGFsbCBzeW50YXggaXRlbXMKKyIgRm9yIHZlcnNpb24gNi54OiBRdWl0IHdoZW4gYSBzeW50YXggZmlsZSB3YXMgYWxyZWFkeSBsb2FkZWQKK2lmIHZlcnNpb24gPCA2MDAKKyAgc3ludGF4IGNsZWFyCitlbHNlaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikKKyAgZmluaXNoCitlbmRpZgorCitzeW4gY2FzZSBpZ25vcmUKKworCisKKyIgPT09IENvbW1lbnQgc3ludGF4IGdyb3VwID09PQorc3luIHJlZ2lvbiBzcWxDb21tZW50ICAgIHN0YXJ0PSJ7IiAgZW5kPSJ9IiBjb250YWlucz1zcWxUb2RvCitzeW4gbWF0Y2ggc3FsQ29tbWVudAkiLS0uKiQiIGNvbnRhaW5zPXNxbFRvZG8KK3N5biBzeW5jIGNjb21tZW50IHNxbENvbW1lbnQKKworCisKKyIgPT09IENvbnN0YW50IHN5bnRheCBncm91cCA9PT0KKyIgPSBCb29sZWFuIHN1Ymdyb3VwID0KK3N5biBrZXl3b3JkIHNxbEJvb2xlYW4gIHRydWUgZmFsc2UKK3N5biBrZXl3b3JkIHNxbEJvb2xlYW4gIG51bGwKK3N5biBrZXl3b3JkIHNxbEJvb2xlYW4gIHB1YmxpYyB1c2VyCitzeW4ga2V5d29yZCBzcWxCb29sZWFuICBjdXJyZW50IHRvZGF5CitzeW4ga2V5d29yZCBzcWxCb29sZWFuICB5ZWFyIG1vbnRoIGRheSBob3VyIG1pbnV0ZSBzZWNvbmQgZnJhY3Rpb24KKworIiA9IFN0cmluZyBzdWJncm91cCA9CitzeW4gcmVnaW9uIHNxbFN0cmluZwkJc3RhcnQ9KyIrICBlbmQ9KyIrCitzeW4gcmVnaW9uIHNxbFN0cmluZwkJc3RhcnQ9KycrICBlbmQ9KycrCisKKyIgPSBOdW1iZXJzIHN1Ymdyb3VwID0KK3N5biBtYXRjaCBzcWxOdW1iZXIJCSItXD1cPFxkKlwuXD1bMC05X11cPiIKKworCisKKyIgPT09IFN0YXRlbWVudCBzeW50YXggZ3JvdXAgPT09CisiIFNRTAorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IGFsbG9jYXRlIGFsdGVyCitzeW4ga2V5d29yZCBzcWxTdGF0ZW1lbnQgYmVnaW4KK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBjbG9zZSBjb21taXQgY29ubmVjdCBjcmVhdGUKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBkYXRhYmFzZSBkZWFsbG9jYXRlIGRlY2xhcmUgZGVsZXRlIGRlc2NyaWJlIGRpc2Nvbm5lY3QgZHJvcAorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IGV4ZWN1dGUgZmV0Y2ggZmx1c2ggZnJlZSBnZXQgZ3JhbnQgaW5mbyBpbnNlcnQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBsb2FkIGxvY2sgb3BlbiBvdXRwdXQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBwcmVwYXJlIHB1dAorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IHJlbmFtZSByZXZva2Ugcm9sbGJhY2sgc2VsZWN0IHNldCBzdGFydCBzdG9wCitzeW4ga2V5d29yZCBzcWxTdGF0ZW1lbnQgdHJ1bmNhdGUgdW5sb2FkIHVubG9jayB1cGRhdGUKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCB3aGVuZXZlcgorIiBTUEwKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBjYWxsIGNvbnRpbnVlIGRlZmluZQorc3luIGtleXdvcmQgc3FsU3RhdGVtZW50IGV4aXQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCBsZXQKK3N5biBrZXl3b3JkIHNxbFN0YXRlbWVudCByZXR1cm4gc3lzdGVtIHRyYWNlCisKKyIgPSBDb25kaXRpb25hbCBzdWJncm91cCA9CisiIFNQTAorc3luIGtleXdvcmQgc3FsQ29uZGl0aW9uYWwgZWxpZiBlbHNlIGlmIHRoZW4KK3N5biBrZXl3b3JkIHNxbENvbmRpdGlvbmFsIGNhc2UKKyIgSGlnaGxpZ2h0ICJlbmQgaWYiIHdpdGggb25lIG9yIG1vcmUgc2VwYXJhdGluZyBzcGFjZXMKK3N5biBtYXRjaCAgc3FsQ29uZGl0aW9uYWwgImVuZCBcK2lmIgorCisiID0gUmVwZWF0IHN1Ymdyb3VwID0KKyIgU1FML1NQTAorIiBIYW5kbGUgU1FMIHRyaWdnZXJzJyAiZm9yIGVhY2ggcm93IiBjbGF1c2UgYW5kIFNQTCAiZm9yIiBsb29wCitzeW4gbWF0Y2ggIHNxbFJlcGVhdCAiZm9yXCggXCtlYWNoIFwrcm93XClcPSIKKyIgU1BMCitzeW4ga2V5d29yZCBzcWxSZXBlYXQgZm9yZWFjaCB3aGlsZQorIiBIaWdobGlnaHQgImVuZCBmb3IiLCBldGMuIHdpdGggb25lIG9yIG1vcmUgc2VwYXJhdGluZyBzcGFjZXMKK3N5biBtYXRjaCAgc3FsUmVwZWF0ICJlbmQgXCtmb3IiCitzeW4gbWF0Y2ggIHNxbFJlcGVhdCAiZW5kIFwrZm9yZWFjaCIKK3N5biBtYXRjaCAgc3FsUmVwZWF0ICJlbmQgXCt3aGlsZSIKKworIiA9IEV4Y2VwdGlvbiBzdWJncm91cCA9CisiIFNQTAorc3luIG1hdGNoICBzcWxFeGNlcHRpb24gIm9uIFwrZXhjZXB0aW9uIgorc3luIG1hdGNoICBzcWxFeGNlcHRpb24gImVuZCBcK2V4Y2VwdGlvbiIKK3N5biBtYXRjaCAgc3FsRXhjZXB0aW9uICJlbmQgXCtleGNlcHRpb24gXCt3aXRoIFwrcmVzdW1lIgorc3luIG1hdGNoICBzcWxFeGNlcHRpb24gInJhaXNlIFwrZXhjZXB0aW9uIgorCisiID0gS2V5d29yZCBzdWJncm91cCA9CisiIFNRTAorc3luIGtleXdvcmQgc3FsS2V5d29yZCBhZ2dyZWdhdGUgYWRkIGFzIGF1dGhvcml6YXRpb24gYXV0b2ZyZWUgYnkKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgY2FjaGUgY2FzY2FkZSBjaGVjayBjbHVzdGVyIGNvbGxhdGlvbgorc3luIGtleXdvcmQgc3FsS2V5d29yZCBjb2x1bW4gY29ubmVjdGlvbiBjb25zdHJhaW50IGNyb3NzCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIGRhdGFza2lwIGRlYnVnIGRlZmF1bHQgZGVmZXJyZWRfcHJlcGFyZQorc3luIGtleXdvcmQgc3FsS2V5d29yZCBkZXNjcmlwdG9yIGRpYWdub3N0aWNzCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIGVhY2ggZXNjYXBlIGV4cGxhaW4gZXh0ZXJuYWwKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgZmlsZSBmb3JlaWduIGZyYWdtZW50IGZyb20gZnVuY3Rpb24KK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgZ3JvdXAgaGF2aW5nCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIGltbWVkaWF0ZSBpbmRleCBpbm5lciBpbnRvIGlzb2xhdGlvbgorc3luIGtleXdvcmQgc3FsS2V5d29yZCBqb2luIGtleQorc3luIGtleXdvcmQgc3FsS2V5d29yZCBsZWZ0IGxldmVsIGxvZworc3luIGtleXdvcmQgc3FsS2V5d29yZCBtb2RlIG1vZGlmeSBtb3VudGluZyBuZXcgbm8KK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgb2JqZWN0IG9mIG9sZCBvcHRpY2FsIG9wdGlvbgorc3luIGtleXdvcmQgc3FsS2V5d29yZCBvcHRpbWl6YXRpb24gb3JkZXIgb3V0ZXIKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgcGRxcHJpb3JpdHkgcGxvYWQgcHJpbWFyeSBwcm9jZWR1cmUKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgcmVmZXJlbmNlcyByZWZlcmVuY2luZyByZWxlYXNlIHJlc2VydmUKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgcmVzaWRlbmN5IHJpZ2h0IHJvbGUgcm91dGluZSByb3cKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgc2NoZWR1bGUgc2NoZW1hIHNjcmF0Y2ggc2Vzc2lvbiBzZXQKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgc3RhdGVtZW50IHN0YXRpc3RpY3Mgc3lub255bQorc3luIGtleXdvcmQgc3FsS2V5d29yZCB0YWJsZSB0ZW1wIHRlbXBvcmFyeSB0aW1lb3V0IHRvIHRyYW5zYWN0aW9uIHRyaWdnZXIKK3N5biBrZXl3b3JkIHNxbEtleXdvcmQgdXNpbmcgdmFsdWVzIHZpZXcgdmlvbGF0aW9ucworc3luIGtleXdvcmQgc3FsS2V5d29yZCB3aGVyZSB3aXRoIHdvcmsKKyIgSGlnaGxpZ2h0ICJvbiIgKGlmIGl0J3Mgbm90IGZvbGxvd2VkIGJ5IHNvbWUgd29yZHMgd2UndmUgYWxyZWFkeSBoYW5kbGVkKQorc3luIG1hdGNoIHNxbEtleXdvcmQgIm9uIFwrXChleGNlcHRpb25cKVxAISIKKyIgU1BMCisiIEhpZ2hsaWdodCAiZW5kIiAoaWYgaXQncyBub3QgZm9sbG93ZWQgYnkgc29tZSB3b3JkcyB3ZSd2ZSBhbHJlYWR5IGhhbmRsZWQpCitzeW4gbWF0Y2ggc3FsS2V5d29yZCAiZW5kIFwrXChpZlx8Zm9yXHxmb3JlYWNoXHx3aGlsZVx8ZXhjZXB0aW9uXClcQCEiCitzeW4ga2V5d29yZCBzcWxLZXl3b3JkIHJlc3VtZSByZXR1cm5pbmcKKworIiA9IE9wZXJhdG9yIHN1Ymdyb3VwID0KKyIgU1FMCitzeW4ga2V5d29yZCBzcWxPcGVyYXRvcglub3QgYW5kIG9yCitzeW4ga2V5d29yZCBzcWxPcGVyYXRvcglpbiBpcyBhbnkgc29tZSBhbGwgYmV0d2VlbiBleGlzdHMKK3N5biBrZXl3b3JkIHNxbE9wZXJhdG9yCWxpa2UgbWF0Y2hlcworc3luIGtleXdvcmQgc3FsT3BlcmF0b3IgdW5pb24gaW50ZXJzZWN0CitzeW4ga2V5d29yZCBzcWxPcGVyYXRvciBkaXN0aW5jdCB1bmlxdWUKKworCisKKyIgPT09IElkZW50aWZpZXIgc3ludGF4IGdyb3VwID09PQorIiA9IEZ1bmN0aW9uIHN1Ymdyb3VwID0KKyIgU1FMCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbglhYnMgYWNvcyBhc2luIGF0YW4gYXRhbjIgYXZnCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbgljYXJkaW5hbGl0eSBjYXN0IGNoYXJfbGVuZ3RoIGNoYXJhY3Rlcl9sZW5ndGggY29zIGNvdW50CitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbglleHAgZmlsZXRvYmxvYiBmaWxldG9jbG9iIGhleAorc3luIGtleXdvcmQgc3FsRnVuY3Rpb24JaW5pdGNhcCBsZW5ndGggbG9nbiBsb2cxMCBsb3dlciBscGFkCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbgltaW4gbWF4IG1vZCBvY3RldF9sZW5ndGggcG93IHJhbmdlIHJlcGxhY2Ugcm9vdCByb3VuZCBycGFkCitzeW4ga2V5d29yZCBzcWxGdW5jdGlvbglzaW4gc3FydCBzdGRldiBzdWJzdHIgc3Vic3RyaW5nIHN1bQorc3luIGtleXdvcmQgc3FsRnVuY3Rpb24JdG9fY2hhciB0YW4gdG9fZGF0ZSB0cmltIHRydW5jIHVwcGVyIHZhcmlhbmNlCisKKworCisiID09PSBUeXBlIHN5bnRheCBncm91cCA9PT0KKyIgU1FMCitzeW4ga2V5d29yZCBzcWxUeXBlCWJsb2IgYm9vbGVhbiBieXRlIGNoYXIgY2hhcmFjdGVyIGNsb2IKK3N5biBrZXl3b3JkIHNxbFR5cGUJZGF0ZSBkYXRldGltZSBkZWMgZGVjaW1hbCBkb3VibGUKK3N5biBrZXl3b3JkIHNxbFR5cGUJZmxvYXQgaW50IGludDggaW50ZWdlciBpbnRlcnZhbCBsaXN0IGx2YXJjaGFyCitzeW4ga2V5d29yZCBzcWxUeXBlCW1vbmV5IG11bHRpc2V0IG5jaGFyIG51bWVyaWMgbnZhcmNoYXIKK3N5biBrZXl3b3JkIHNxbFR5cGUJcmVhbCBzZXJpYWwgc2VyaWFsOCBzbWFsbGZsb2F0IHNtYWxsaW50CitzeW4ga2V5d29yZCBzcWxUeXBlCXRleHQgdmFyY2hhciB2YXJ5aW5nCisKKworCisiID09PSBUb2RvIHN5bnRheCBncm91cCA9PT0KK3N5biBrZXl3b3JkIHNxbFRvZG8gVE9ETyBGSVhNRSBYWFggREVCVUcgTk9URQorCisKKworIiBEZWZpbmUgdGhlIGRlZmF1bHQgaGlnaGxpZ2h0aW5nLgorIiBGb3IgdmVyc2lvbiA1LjcgYW5kIGVhcmxpZXI6IG9ubHkgd2hlbiBub3QgZG9uZSBhbHJlYWR5CisiIEZvciB2ZXJzaW9uIDUuOCBhbmQgbGF0ZXI6IG9ubHkgd2hlbiBhbiBpdGVtIGRvZXNuJ3QgaGF2ZSBoaWdobGlnaHRpbmcgeWV0CitpZiB2ZXJzaW9uID49IDUwOCB8fCAhZXhpc3RzKCJkaWRfc3FsX3N5bl9pbml0cyIpCisgIGlmIHZlcnNpb24gPCA1MDgKKyAgICBsZXQgZGlkX3NxbF9zeW5faW5pdHMgPSAxCisgICAgY29tbWFuZCAtbmFyZ3M9KyBIaUxpbmsgaGkgbGluayA8YXJncz4KKyAgZWxzZQorICAgIGNvbW1hbmQgLW5hcmdzPSsgSGlMaW5rIGhpIGRlZiBsaW5rIDxhcmdzPgorICBlbmRpZgorCisKKyAgIiA9PT0gQ29tbWVudCBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxDb21tZW50CUNvbW1lbnQKKworICAiID09PSBDb25zdGFudCBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxOdW1iZXIJTnVtYmVyCisgIEhpTGluayBzcWxCb29sZWFuCUJvb2xlYW4KKyAgSGlMaW5rIHNxbFN0cmluZwlTdHJpbmcKKworICAiID09PSBTdGF0bWVudCBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxTdGF0ZW1lbnQJU3RhdGVtZW50CisgIEhpTGluayBzcWxDb25kaXRpb25hbAlDb25kaXRpb25hbAorICBIaUxpbmsgc3FsUmVwZWF0CQlSZXBlYXQKKyAgSGlMaW5rIHNxbEtleXdvcmQJCUtleXdvcmQKKyAgSGlMaW5rIHNxbE9wZXJhdG9yCU9wZXJhdG9yCisgIEhpTGluayBzcWxFeGNlcHRpb24JRXhjZXB0aW9uCisKKyAgIiA9PT0gSWRlbnRpZmllciBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxGdW5jdGlvbglGdW5jdGlvbgorCisgICIgPT09IFR5cGUgc3ludGF4IGdyb3VwID09PQorICBIaUxpbmsgc3FsVHlwZQlUeXBlCisKKyAgIiA9PT0gVG9kbyBzeW50YXggZ3JvdXAgPT09CisgIEhpTGluayBzcWxUb2RvCVRvZG8KKworICBkZWxjb21tYW5kIEhpTGluaworZW5kaWYKKworbGV0IGI6Y3VycmVudF9zeW50YXggPSAic3FsaW5mb3JtaXgiCmRpZmYgLS1naXQgYS9ydW50aW1lL3N5bnRheC9zeW5sb2FkLnZpbSBiL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltCmluZGV4IGY4MTZiYzIuLjY1MmNkYmEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltCisrKyBiL3J1bnRpbWUvc3ludGF4L3N5bmxvYWQudmltCkBAIC0xLDYgKzEsNiBAQAogIiBWaW0gc3ludGF4IHN1cHBvcnQgZmlsZQogIiBNYWludGFpbmVyOglCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPgotIiBMYXN0IENoYW5nZToJMjAwMSBNYXkgMjEKKyIgTGFzdCBDaGFuZ2U6CTIwMDQgQXVnIDI4CiAKICIgVGhpcyBmaWxlIHNldHMgdXAgZm9yIHN5bnRheCBoaWdobGlnaHRpbmcuCiAiIEl0IGlzIGxvYWRlZCBmcm9tICJzeW50YXgudmltIiBhbmQgIm1hbnVhbC52aW0iLgpAQCAtNTAsMTUgKzUwLDI1IEBACiAKICAgaWYgcyAhPSAiIgogICAgICIgTG9hZCB0aGUgc3ludGF4IGZpbGUocykKLSIgICBpZiBoYXMoIm1hYyIpCi0iICAgICBleGUgInJ1bnRpbWUhIHN5bnRheDoiIC4gcyAuICIudmltIgotIiAgIGVsc2UKLSAgICAgIGV4ZSAicnVudGltZSEgc3ludGF4LyIgLiBzIC4gIi52aW0iCi0iICAgZW5kaWYKKyAgICBleGUgInJ1bnRpbWUhIHN5bnRheC8iIC4gcyAuICIudmltIgogICBlbmRpZgogZW5kZnVuCiAKIAorIiBIYW5kbGUgYWRkaW5nIGRveHlnZW4gdG8gb3RoZXIgbGFuZ3VhZ2VzIChDLCBDKyssIElETCkKK2F1IFN5bnRheCBjcHAsYyxpZGwgCisJXCBpZiAoZXhpc3RzKCdiOmxvYWRfZG94eWdlbl9zeW50YXgnKSAmJiBiOmxvYWRfZG94eWdlbl9zeW50YXgpCisJXAl8fCAoZXhpc3RzKCdnOmxvYWRfZG94eWdlbl9zeW50YXgnKSAmJiBnOmxvYWRfZG94eWdlbl9zeW50YXgpCisJXCAgIHwgcnVudGltZSBzeW50YXgvZG94eWdlbi52aW0gCisJXCB8IGVuZGlmCisKK2F1IFN5bnRheCAqZG94eWdlbgorCVwgaWYgZXhpc3RzKCJiOmN1cnJlbnRfc3ludGF4IikgfCBmaW5pc2ggfCBlbmRpZgorCVwgfCBsZXQgc3luID0gc3Vic3RpdHV0ZShleHBhbmQoIjxhbWF0Y2g+IiksICdkb3h5Z2VuJCcsICcnLCAnJykKKwlcIHwgaWYgc3luICE9ICcnIHwgZXhlICdydW50aW1lIHN5bnRheC8nLnN5bi4nLnZpbScgfCBlbmRpZgorCVwgfCBpZiBiOmN1cnJlbnRfc3ludGF4ICF+ICdkb3h5Z2VuJyB8IHJ1bnRpbWUgc3ludGF4L2RveHlnZW4udmltIHwgZW5kaWYKKworCiAiIFNvdXJjZSB0aGUgdXNlci1zcGVjaWZpZWQgc3ludGF4IGhpZ2hsaWdodGluZyBmaWxlCiBpZiBleGlzdHMoIm15c3ludGF4ZmlsZSIpICYmIGZpbGVyZWFkYWJsZShleHBhbmQobXlzeW50YXhmaWxlKSkKICAgZXhlY3V0ZSAic291cmNlICIgLiBteXN5bnRheGZpbGUKZGlmZiAtLWdpdCBhL3NyYy9idWZmZXIuYyBiL3NyYy9idWZmZXIuYwppbmRleCBjMmJjMDk0Li4wMDdhZmQ2IDEwMDY0NAotLS0gYS9zcmMvYnVmZmVyLmMKKysrIGIvc3JjL2J1ZmZlci5jCkBAIC0xMjYyLDcgKzEyNjIsOCBAQAogCQkJCQkJICAgICB8fCBhY3Rpb24gPT0gRE9CVUZfV0lQRSk7CiAKICAgICBzZXRwY21hcmsoKTsKLSAgICBjdXJ3aW4tPndfYWx0X2ZudW0gPSBjdXJidWYtPmJfZm51bTsgLyogcmVtZW1iZXIgYWx0ZXJuYXRlIGZpbGUgKi8KKyAgICBpZiAoIWNtZG1vZC5rZWVwYWx0KQorCWN1cndpbi0+d19hbHRfZm51bSA9IGN1cmJ1Zi0+Yl9mbnVtOyAvKiByZW1lbWJlciBhbHRlcm5hdGUgZmlsZSAqLwogICAgIGJ1Zmxpc3RfYWx0ZnBvcygpOwkJCSAvKiByZW1lbWJlciBjdXJwb3MgKi8KIAogI2lmZGVmIEZFQVRfVklTVUFMCkBAIC0xMzQ1LDcgKzEzNDYsMTUgQEAKIAogICAgIC8qIE1ha2Ugc3VyZSB0aGUgYnVmZmVyIGlzIGxvYWRlZC4gKi8KICAgICBpZiAoY3VyYnVmLT5iX21sLm1sX21mcCA9PSBOVUxMKQkvKiBuZWVkIHRvIGxvYWQgdGhlIGZpbGUgKi8KKyAgICB7CisJLyogSWYgdGhlcmUgaXMgbm8gZmlsZXR5cGUsIGFsbG93IGZvciBkZXRlY3Rpbmcgb25lLiAgRXNwLiB1c2VmdWwgZm9yCisJICogIjpiYWxsIiB1c2VkIGluIGEgYXV0b2NvbW1hbmQuICBJZiB0aGVyZSBhbHJlYWR5IGlzIGEgZmlsZXR5cGUgd2UKKwkgKiBtaWdodCBwcmVmZXIgdG8ga2VlcCBpdC4gKi8KKwlpZiAoKmN1cmJ1Zi0+Yl9wX2Z0ID09IE5VTCkKKwkgICAgZGlkX2ZpbGV0eXBlID0gRkFMU0U7CisKIAlvcGVuX2J1ZmZlcihGQUxTRSwgTlVMTCk7CisgICAgfQogICAgIGVsc2UKICAgICB7CiAJbmVlZF9maWxlaW5mbyA9IFRSVUU7CQkvKiBkaXNwbGF5IGZpbGUgaW5mbyBhZnRlciByZWRyYXcgKi8KQEAgLTI1MzYsNyArMjU0NSw3IEBACiAKICAgICAvKiBDcmVhdGUgYSBidWZmZXIuICAnYnVmbGlzdGVkJyBpcyBub3Qgc2V0IGlmIGl0J3MgYSBuZXcgYnVmZmVyICovCiAgICAgYnVmID0gYnVmbGlzdF9uZXcoZmZuYW1lLCBzZm5hbWUsIGxudW0sIDApOwotICAgIGlmIChidWYgIT0gTlVMTCkKKyAgICBpZiAoYnVmICE9IE5VTEwgJiYgIWNtZG1vZC5rZWVwYWx0KQogCWN1cndpbi0+d19hbHRfZm51bSA9IGJ1Zi0+Yl9mbnVtOwogICAgIHJldHVybiBidWY7CiB9CmRpZmYgLS1naXQgYS9zcmMvZXZhbC5jIGIvc3JjL2V2YWwuYwppbmRleCA0ZTZjN2I2Li43NTZjNWZlIDEwMDY0NAotLS0gYS9zcmMvZXZhbC5jCisrKyBiL3NyYy9ldmFsLmMKQEAgLTczNDEsMTkgKzczNDEsMjIgQEAKIAogICAgIG5lZWRsZSA9IGdldF92YXJfc3RyaW5nKCZhcmd2YXJzWzFdKTsKICAgICBoYXlzdGFjayA9IGdldF92YXJfc3RyaW5nX2J1ZigmYXJndmFyc1swXSwgYnVmKTsKLSAgICByZXN0ID0gaGF5c3RhY2s7Ci0gICAgd2hpbGUgKCpoYXlzdGFjayAhPSAnXDAnKQotICAgIHsKLQlyZXN0ID0gKGNoYXJfdSAqKXN0cnN0cigoY2hhciAqKXJlc3QsIChjaGFyICopbmVlZGxlKTsKLQlpZiAocmVzdCA9PSBOVUxMKQotCSAgICBicmVhazsKLQlsYXN0bWF0Y2ggPSByZXN0Kys7Ci0gICAgfQorICAgIGlmICgqbmVlZGxlID09IE5VTCkKKwkvKiBFbXB0eSBzdHJpbmcgbWF0Y2hlcyBwYXN0IHRoZSBlbmQuICovCisJbGFzdG1hdGNoID0gaGF5c3RhY2sgKyBTVFJMRU4oaGF5c3RhY2spOworICAgIGVsc2UKKwlmb3IgKHJlc3QgPSBoYXlzdGFjazsgKnJlc3QgIT0gJ1wwJzsgKytyZXN0KQorCXsKKwkgICAgcmVzdCA9IChjaGFyX3UgKilzdHJzdHIoKGNoYXIgKilyZXN0LCAoY2hhciAqKW5lZWRsZSk7CisJICAgIGlmIChyZXN0ID09IE5VTEwpCisJCWJyZWFrOworCSAgICBsYXN0bWF0Y2ggPSByZXN0OworCX0KIAogICAgIGlmIChsYXN0bWF0Y2ggPT0gTlVMTCkKIAlyZXR2YXItPnZhcl92YWwudmFyX251bWJlciA9IC0xOwogICAgIGVsc2UKLQlyZXR2YXItPnZhcl92YWwudmFyX251bWJlciA9ICh2YXJudW1iZXJfVCkgKGxhc3RtYXRjaCAtIGhheXN0YWNrKTsKKwlyZXR2YXItPnZhcl92YWwudmFyX251bWJlciA9ICh2YXJudW1iZXJfVCkobGFzdG1hdGNoIC0gaGF5c3RhY2spOwogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2V4X2NtZHMuYyBiL3NyYy9leF9jbWRzLmMKaW5kZXggYmEzNjcwMC4uMjU2OGIxOSAxMDA2NDQKLS0tIGEvc3JjL2V4X2NtZHMuYworKysgYi9zcmMvZXhfY21kcy5jCkBAIC0yMDQwLDcgKzIwNDAsNyBAQAogCX0KIAljdXJidWYtPmJfZmxhZ3MgfD0gQkZfTk9URURJVEVEOwogCWJ1ZiA9IGJ1Zmxpc3RfbmV3KGZuYW1lLCB4Zm5hbWUsIGN1cndpbi0+d19jdXJzb3IubG51bSwgMCk7Ci0JaWYgKGJ1ZiAhPSBOVUxMKQorCWlmIChidWYgIT0gTlVMTCAmJiAhY21kbW9kLmtlZXBhbHQpCiAJICAgIGN1cndpbi0+d19hbHRfZm51bSA9IGJ1Zi0+Yl9mbnVtOwogCXZpbV9mcmVlKGZuYW1lKTsKIAl2aW1fZnJlZShzZm5hbWUpOwpAQCAtMjY4OSw3ICsyNjg5LDggQEAKIAlpZiAoIShmbGFncyAmIEVDTURfQUREQlVGKSkKICNlbmRpZgogCXsKLQkgICAgY3Vyd2luLT53X2FsdF9mbnVtID0gY3VyYnVmLT5iX2ZudW07CisJICAgIGlmICghY21kbW9kLmtlZXBhbHQpCisJCWN1cndpbi0+d19hbHRfZm51bSA9IGN1cmJ1Zi0+Yl9mbnVtOwogCSAgICBidWZsaXN0X2FsdGZwb3MoKTsKIAl9CiAKQEAgLTQ3MzYsNyArNDczNyw4IEBACiAJICAgIGFsdF9mbnVtID0gY3VyYnVmLT5iX2ZudW07CiAJICAgICh2b2lkKWRvX2VjbWQoMCwgTlVMTCwgTlVMTCwgTlVMTCwgRUNNRF9MQVNUTCwKIAkJCQkJCSAgIEVDTURfSElERSArIEVDTURfU0VUX0hFTFApOwotCSAgICBjdXJ3aW4tPndfYWx0X2ZudW0gPSBhbHRfZm51bTsKKwkgICAgaWYgKCFjbWRtb2Qua2VlcGFsdCkKKwkJY3Vyd2luLT53X2FsdF9mbnVtID0gYWx0X2ZudW07CiAJICAgIGVtcHR5X2ZudW0gPSBjdXJidWYtPmJfZm51bTsKIAl9CiAgICAgfQpAQCAtNDc1Niw3ICs0NzU4LDcgQEAKICAgICB9CiAKICAgICAvKiBrZWVwIHRoZSBwcmV2aW91cyBhbHRlcm5hdGUgZmlsZSAqLwotICAgIGlmIChhbHRfZm51bSAhPSAwICYmIGN1cndpbi0+d19hbHRfZm51bSA9PSBlbXB0eV9mbnVtKQorICAgIGlmIChhbHRfZm51bSAhPSAwICYmIGN1cndpbi0+d19hbHRfZm51bSA9PSBlbXB0eV9mbnVtICYmICFjbWRtb2Qua2VlcGFsdCkKIAljdXJ3aW4tPndfYWx0X2ZudW0gPSBhbHRfZm51bTsKIAogZXJyZXQ6CmRpZmYgLS1naXQgYS9zcmMvZXhfY21kcy5oIGIvc3JjL2V4X2NtZHMuaAppbmRleCAzYzgwMmQyLi5kNjg3ZDg5IDEwMDY0NAotLS0gYS9zcmMvZXhfY21kcy5oCisrKyBiL3NyYy9leF9jbWRzLmgKQEAgLTEwOSw3ICsxMDksNyBAQAogRVgoQ01EX2FyZ3MsCQkiYXJncyIsCQlleF9hcmdzLAogCQkJQkFOR3xGSUxFU3xFRElUQ01EfEFSR09QVHxUUkxCQVIpLAogRVgoQ01EX2FyZ2FkZCwJCSJhcmdhZGQiLAlleF9hcmdhZGQsCi0JCQlCQU5HfE5FRURBUkd8UkFOR0V8Tk9UQURSfENPVU5UfEZJTEVTfFRSTEJBUiksCisJCQlCQU5HfE5FRURBUkd8UkFOR0V8Tk9UQURSfFpFUk9SfENPVU5UfEZJTEVTfFRSTEJBUiksCiBFWChDTURfYXJnZGVsZXRlLAkiYXJnZGVsZXRlIiwJZXhfYXJnZGVsZXRlLAogCQkJQkFOR3xSQU5HRXxOT1RBRFJ8Q09VTlR8RklMRVN8VFJMQkFSKSwKIEVYKENNRF9hcmdkbywJCSJhcmdkbyIsCWV4X2xpc3RkbywKQEAgLTQ1Miw2ICs0NTIsOCBAQAogCQkJTkVFREFSR3xFWFRSQXxOT1RSTENPTSksCiBFWChDTURfa2VlcGp1bXBzLAkia2VlcGp1bXBzIiwJZXhfd3Jvbmdtb2RpZmllciwKIAkJCU5FRURBUkd8RVhUUkF8Tk9UUkxDT00pLAorRVgoQ01EX2tlZXBhbHQsCQkia2VlcGFsdCIsCWV4X3dyb25nbW9kaWZpZXIsCisJCQlORUVEQVJHfEVYVFJBfE5PVFJMQ09NKSwKIEVYKENNRF9saXN0LAkJImxpc3QiLAkJZXhfcHJpbnQsCiAJCQlSQU5HRXxXSE9MRUZPTER8Q09VTlR8VFJMQkFSfENNRFdJTiksCiBFWChDTURfbGFzdCwJCSJsYXN0IiwJCWV4X2xhc3QsCmRpZmYgLS1naXQgYS9zcmMvZXhfY21kczIuYyBiL3NyYy9leF9jbWRzMi5jCmluZGV4IGI2NTFmMzQuLjFlMjU4NDEgMTAwNjQ0Ci0tLSBhL3NyYy9leF9jbWRzMi5jCisrKyBiL3NyYy9leF9jbWRzMi5jCkBAIC0xMDYyLDYgKzEwNjIsNyBAQAogCiBzdGF0aWMgaW50IGRvX2FyZ2xpc3QgX19BUkdTKChjaGFyX3UgKnN0ciwgaW50IHdoYXQsIGludCBhZnRlcikpOwogc3RhdGljIHZvaWQgYWxpc3RfY2hlY2tfYXJnX2lkeCBfX0FSR1MoKHZvaWQpKTsKK3N0YXRpYyBpbnQgZWRpdGluZ19hcmdfaWR4IF9fQVJHUygod2luX1QgKndpbikpOwogI2lmZGVmIEZFQVRfTElTVENNRFMKIHN0YXRpYyBpbnQgYWxpc3RfYWRkX2xpc3QgX19BUkdTKChpbnQgY291bnQsIGNoYXJfdSAqKmZpbGVzLCBpbnQgYWZ0ZXIpKTsKICNlbmRpZgpAQCAtMTIyMSwyMCArMTIyMiwzMCBAQAogfQogCiAvKgorICogUmV0dXJuIFRSVUUgaWYgd2luZG93ICJ3aW4iIGlzIGVkaXRpbmcgdGhlbiBmaWxlIGF0IHRoZSBjdXJyZW50IGFyZ3VtZW50CisgKiBpbmRleC4KKyAqLworICAgIHN0YXRpYyBpbnQKK2VkaXRpbmdfYXJnX2lkeCh3aW4pCisgICAgd2luX1QJKndpbjsKK3sKKyAgICByZXR1cm4gISh3aW4tPndfYXJnX2lkeCA+PSBXQVJHQ09VTlQod2luKQorCQl8fCAod2luLT53X2J1ZmZlci0+Yl9mbnVtCisJCQkJICAgICAgIT0gV0FSR0xJU1Qod2luKVt3aW4tPndfYXJnX2lkeF0uYWVfZm51bQorCQkgICAgJiYgKHdpbi0+d19idWZmZXItPmJfZmZuYW1lID09IE5VTEwKKwkJCSB8fCAhKGZ1bGxwYXRoY21wKAorCQkJCSBhbGlzdF9uYW1lKCZXQVJHTElTVCh3aW4pW3dpbi0+d19hcmdfaWR4XSksCisJCQkJd2luLT53X2J1ZmZlci0+Yl9mZm5hbWUsIFRSVUUpICYgRlBDX1NBTUUpKSkpOworfQorCisvKgogICogQ2hlY2sgaWYgd2luZG93ICJ3aW4iIGlzIGVkaXRpbmcgdGhlIHdfYXJnX2lkeCBmaWxlIGluIGl0cyBhcmd1bWVudCBsaXN0LgogICovCiAgICAgdm9pZAogY2hlY2tfYXJnX2lkeCh3aW4pCiAgICAgd2luX1QJKndpbjsKIHsKLSAgICBpZiAoV0FSR0NPVU5UKHdpbikgPiAxCi0JICAgICYmICh3aW4tPndfYXJnX2lkeCA+PSBXQVJHQ09VTlQod2luKQotCQl8fCAod2luLT53X2J1ZmZlci0+Yl9mbnVtCi0JCQkJICAgICAgIT0gV0FSR0xJU1Qod2luKVt3aW4tPndfYXJnX2lkeF0uYWVfZm51bQotCQkgICAgJiYgKHdpbi0+d19idWZmZXItPmJfZmZuYW1lID09IE5VTEwKLQkJCSB8fCAhKGZ1bGxwYXRoY21wKAotCQkJCSBhbGlzdF9uYW1lKCZXQVJHTElTVCh3aW4pW3dpbi0+d19hcmdfaWR4XSksCi0JCQkJd2luLT53X2J1ZmZlci0+Yl9mZm5hbWUsIFRSVUUpICYgRlBDX1NBTUUpKSkpKQorICAgIGlmIChXQVJHQ09VTlQod2luKSA+IDEgJiYgIWVkaXRpbmdfYXJnX2lkeCh3aW4pKQogICAgIHsKIAkvKiBXZSBhcmUgbm90IGVkaXRpbmcgdGhlIGN1cnJlbnQgZW50cnkgaW4gdGhlIGFyZ3VtZW50IGxpc3QuCiAJICogU2V0ICJhcmdfaGFkX2xhc3QiIGlmIHdlIGFyZSBlZGl0aW5nIHRoZSBsYXN0IG9uZS4gKi8KQEAgLTE2NjIsNyArMTY3Myw3IEBACiAJCSAgICBicmVhazsKIAkJLyogRG9uJ3QgY2FsbCBkb19hcmdmaWxlKCkgd2hlbiBhbHJlYWR5IHRoZXJlLCBpdCB3aWxsIHRyeQogCQkgKiByZWxvYWRpbmcgdGhlIGZpbGUuICovCi0JCWlmIChjdXJ3aW4tPndfYXJnX2lkeCAhPSBpKQorCQlpZiAoY3Vyd2luLT53X2FyZ19pZHggIT0gaSB8fCAhZWRpdGluZ19hcmdfaWR4KGN1cndpbikpCiAJCSAgICBkb19hcmdmaWxlKGVhcCwgaSk7CiAJCWlmIChjdXJ3aW4tPndfYXJnX2lkeCAhPSBpKQogCQkgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9zcmMvZXhfZG9jbWQuYyBiL3NyYy9leF9kb2NtZC5jCmluZGV4IDc0MTVlNDYuLjM2MjdmMzIgMTAwNjQ0Ci0tLSBhL3NyYy9leF9kb2NtZC5jCisrKyBiL3NyYy9leF9kb2NtZC5jCkBAIC0xNjk0LDYgKzE2OTQsMTEgQEAKIAkJCSAgICBjbWRtb2Qua2VlcG1hcmtzID0gVFJVRTsKIAkJCSAgICBjb250aW51ZTsKIAkJCX0KKwkJCWlmIChjaGVja2ZvcmNtZCgmZWEuY21kLCAia2VlcGFsdCIsIDUpKQorCQkJeworCQkJICAgIGNtZG1vZC5rZWVwYWx0ID0gVFJVRTsKKwkJCSAgICBjb250aW51ZTsKKwkJCX0KIAkJCWlmICghY2hlY2tmb3JjbWQoJmVhLmNtZCwgImtlZXBqdW1wcyIsIDUpKQogCQkJICAgIGJyZWFrOwogCQkJY21kbW9kLmtlZXBqdW1wcyA9IFRSVUU7CkBAIC0yMzg4LDYgKzIzOTMsNyBAQAogCSAgICBjYXNlIENNRF9pbGlzdDoKIAkgICAgY2FzZSBDTURfaXNlYXJjaDoKIAkgICAgY2FzZSBDTURfaXNwbGl0OgorCSAgICBjYXNlIENNRF9rZWVwYWx0OgogCSAgICBjYXNlIENNRF9rZWVwanVtcHM6CiAJICAgIGNhc2UgQ01EX2tlZXBtYXJrczoKIAkgICAgY2FzZSBDTURfbGVmdGFib3ZlOgpAQCAtMjc4OCw2ICsyNzk0LDcgQEAKIAl7ImJyb3dzZSIsIDN9LAogCXsiY29uZmlybSIsIDR9LAogCXsiaGlkZSIsIDN9LAorCXsia2VlcGFsdCIsIDV9LAogCXsia2VlcGp1bXBzIiwgNX0sCiAJeyJrZWVwbWFya3MiLCAzfSwKIAl7ImxlZnRhYm92ZSIsIDV9LApAQCAtMjg5Miw3ICsyODk5LDcgQEAKICAgICAgKiBJc29sYXRlIHRoZSBjb21tYW5kIGFuZCBzZWFyY2ggZm9yIGl0IGluIHRoZSBjb21tYW5kIHRhYmxlLgogICAgICAqIEV4Y2VwdGlvbnM6CiAgICAgICogLSB0aGUgJ2snIGNvbW1hbmQgY2FuIGRpcmVjdGx5IGJlIGZvbGxvd2VkIGJ5IGFueSBjaGFyYWN0ZXIsIGJ1dAotICAgICAqICAgZG8gYWNjZXB0ICJrZWVwbWFya3MiIGFuZCAia2VlcGp1bXBzIi4KKyAgICAgKiAgIGRvIGFjY2VwdCAia2VlcG1hcmtzIiwgImtlZXBhbHQiIGFuZCAia2VlcGp1bXBzIi4KICAgICAgKiAtIHRoZSAncycgY29tbWFuZCBjYW4gYmUgZm9sbG93ZWQgZGlyZWN0bHkgYnkgJ2MnLCAnZycsICdpJywgJ0knIG9yICdyJwogICAgICAqLwogICAgIGlmICgqY21kID09ICdrJyAmJiBjbWRbMV0gIT0gJ2UnKQpAQCAtMzI0MCw2ICszMjQ3LDcgQEAKIAljYXNlIENNRF9mb2xkZG9jbG9zZWQ6CiAJY2FzZSBDTURfZm9sZGRvb3BlbjoKIAljYXNlIENNRF9oaWRlOgorCWNhc2UgQ01EX2tlZXBhbHQ6CiAJY2FzZSBDTURfa2VlcGp1bXBzOgogCWNhc2UgQ01EX2tlZXBtYXJrczoKIAljYXNlIENNRF9sZWZ0YWJvdmU6CkBAIC02NzAyLDcgKzY3MTAsOCBAQAogCSAgICAmJiAqZWFwLT5hcmcgIT0gTlVMCiAJICAgICYmIGN1cndpbiAhPSBvbGRfY3Vyd2luCiAJICAgICYmIHdpbl92YWxpZChvbGRfY3Vyd2luKQotCSAgICAmJiBvbGRfY3Vyd2luLT53X2J1ZmZlciAhPSBjdXJidWYpCisJICAgICYmIG9sZF9jdXJ3aW4tPndfYnVmZmVyICE9IGN1cmJ1ZgorCSAgICAmJiAhY21kbW9kLmtlZXBhbHQpCiAJb2xkX2N1cndpbi0+d19hbHRfZm51bSA9IGN1cmJ1Zi0+Yl9mbnVtOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL3NyYy9leF9ldmFsLmMgYi9zcmMvZXhfZXZhbC5jCmluZGV4IDEzODYxMTUuLjI4NGFlM2YgMTAwNjQ0Ci0tLSBhL3NyYy9leF9ldmFsLmMKKysrIGIvc3JjL2V4X2V2YWwuYwpAQCAtMTYyMCwxNiArMTYyMCwxNiBAQAogCQkgKiBhIG1pc3NpbmcgIjplbmR3aGlsZSIgZGV0ZWN0ZWQgaGVyZSwgdGhlIGV4Y2VwdGlvbiB3aWxsIGJlCiAJCSAqIGRpc2NhcmRlZC4gKi8KIAkJaWYgKGRpZF90aHJvdyAmJiBjc3RhY2stPmNzX2V4Y2VwdGlvbltjc3RhY2stPmNzX2lkeF0gIT0KLQkJCWN1cnJlbnRfZXhjZXB0aW9uKQorCQkJCQkJCSAgICBjdXJyZW50X2V4Y2VwdGlvbikKIAkJICAgIEVNU0coXyhlX2ludGVybmFsKSk7CiAJICAgIH0KIAogCSAgICAvKgotCSAgICAgKiBTZXQgY3NfaGFkX2ZpbmFsbHksIHNvIGRvX2NtZGxpbmUoKSB3aWxsIHJlc2V0IGRpZF9lbXNnLCBnb3RfaW50LAotCSAgICAgKiBhbmQgZGlkX3Rocm93IGFuZCBtYWtlIHRoZSBmaW5hbGx5IGNsYXVzZSBhY3RpdmUuICBUaGlzIHdpbGwKLQkgICAgICogaGFwcGVuIGFmdGVyIGVtc2coKSBoYXMgYmVlbiBjYWxsZWQgZm9yIGEgbWlzc2luZyAiOmVuZGlmIiBvcgotCSAgICAgKiBhIG1pc3NpbmcgIjplbmR3aGlsZSIgZGV0ZWN0ZWQgaGVyZSwgc28gdGhhdCB0aGUgZm9sbG93aW5nCi0JICAgICAqIGZpbmFsbHkgY2xhdXNlIHdpbGwgYmUgZXhlY3V0ZWQgZXZlbiB0aGVuLgorCSAgICAgKiBTZXQgY3NfaGFkX2ZpbmFsbHksIHNvIGRvX2NtZGxpbmUoKSB3aWxsIHJlc2V0IGRpZF9lbXNnLAorCSAgICAgKiBnb3RfaW50LCBhbmQgZGlkX3Rocm93IGFuZCBtYWtlIHRoZSBmaW5hbGx5IGNsYXVzZSBhY3RpdmUuCisJICAgICAqIFRoaXMgd2lsbCBoYXBwZW4gYWZ0ZXIgZW1zZygpIGhhcyBiZWVuIGNhbGxlZCBmb3IgYSBtaXNzaW5nCisJICAgICAqICI6ZW5kaWYiIG9yIGEgbWlzc2luZyAiOmVuZHdoaWxlIiBkZXRlY3RlZCBoZXJlLCBzbyB0aGF0IHRoZQorCSAgICAgKiBmb2xsb3dpbmcgZmluYWxseSBjbGF1c2Ugd2lsbCBiZSBleGVjdXRlZCBldmVuIHRoZW4uCiAJICAgICAqLwogCSAgICBjc3RhY2stPmNzX2hhZF9maW5hbGx5ID0gVFJVRTsKIAl9CmRpZmYgLS1naXQgYS9zcmMvZmlsZWlvLmMgYi9zcmMvZmlsZWlvLmMKaW5kZXggZDFjMTFhMC4uMDI2YmM4ZiAxMDA2NDQKLS0tIGEvc3JjL2ZpbGVpby5jCisrKyBiL3NyYy9maWxlaW8uYwpAQCAtNDczLDYgKzQ3Myw4IEBACiAjZW5kaWYKICNpZmRlZiBWTVMKIAkgICAgY3VyYnVmLT5iX2ZhYl9yZm0gPSBzdC5zdF9mYWJfcmZtOworCSAgICBjdXJidWYtPmJfZmFiX3JhdCA9IHN0LnN0X2ZhYl9yYXQ7CisJICAgIGN1cmJ1Zi0+Yl9mYWJfbXJzID0gc3Quc3RfZmFiX21yczsKICNlbmRpZgogCX0KIAllbHNlCkBAIC0yNTExLDYgKzI1MTMsMTEgQEAKIH0KICNlbmRpZiAvKiBVTklYICovCiAKKyNpZiBkZWZpbmVkKFZNUykgJiYgIWRlZmluZWQoTUlOKQorLyogT2xkZXIgREVDQyBjb21waWxlciBmb3IgVkFYIGRvZXNuJ3QgZGVmaW5lIE1JTigpICovCisjIGRlZmluZSBNSU4oYSwgYikgKChhKSA8IChiKSA/IChhKSA6IChiKSkKKyNlbmRpZgorCiAvKgogICogYnVmX3dyaXRlKCkgLSB3cml0ZSB0byBmaWxlICdmbmFtZScgbGluZXMgJ3N0YXJ0JyB0aHJvdWdoICdlbmQnCiAgKgpAQCAtMzkyNCwyMCArMzkzMSwyOSBAQAogCSAqIE9uIFZNUyB0aGVyZSBpcyBhIHByb2JsZW06IG5ld2xpbmVzIGdldCBhZGRlZCB3aGVuIHdyaXRpbmcgYmxvY2tzCiAJICogYXQgYSB0aW1lLiBGaXggaXQgYnkgd3JpdGluZyBhIGxpbmUgYXQgYSB0aW1lLgogCSAqIFRoaXMgaXMgbXVjaCBzbG93ZXIhCi0JICogRXhwbGFuYXRpb246IFZpbSBjYW4gbm90IGhhbmRsZSwgc28gZmFyLCB2YXJpYWJsZSByZWNvcmQgZm9ybWF0LgotCSAqIFdpdGggJGFuYWxpemUvcm1zIGZpbGVuYW1lIHlvdSBjYW4gZ2V0IHRoZSBybXMgZmlsZSBzdHJ1Y3R1cmUsIGFuZAotCSAqIGlmIHRoZSBSZWNvcmQgZm9ybWF0IGZpbGVkIGlzIHZhcmlhYmxlLCBDUiB3aWxsIGJlIGFkZGVkIGFmdGVyCi0JICogZXZlcnkgd3JpdHRlbiBidWZmZXIuICBJbiBvdGhlciBjYXNlcyBpdCB3b3JrcyB3aXRob3V0IHRoaXMgZml4LgotCSAqIEZyb20gb3RoZXIgc2lkZSByZWFkIGlzIGFib3V0IDUgdGltZXMgc2xvd2VyIGZvciAidmFyaWFibGUgcmVjb3JkCi0JICogZm9ybWF0IiBmaWxlcy4KKwkgKiBFeHBsYW5hdGlvbjogVkFYL0RFQ0MgUlRMIGluc2lzdHMgdGhhdCByZWNvcmRzIGluIHNvbWUgUk1TCisJICogc3RydWN0dXJlcyBlbmQgd2l0aCBhIG5ld2xpbmUgKGNhcnJpYWdlIHJldHVybikgY2hhcmFjdGVyLCBhbmQgaWYKKwkgKiB0aGV5IGRvbid0IGl0IGFkZHMgb25lLgorCSAqIFdpdGggb3RoZXIgUk1TIHN0cnVjdHVyZXMgaXQgd29ya3MgcGVyZmVjdCB3aXRob3V0IHRoaXMgZml4LgogCSAqLwotCWlmIChidWYtPmJfZmFiX3JmbSA9PSBGQUIkQ19WQVIpCisJaWYgKChidWYtPmJfZmFiX3JhdCAmIChGQUIkTV9GVE4gfCBGQUIkTV9DUikpICE9IDApCiAJewotCSAgICB3cml0ZV9pbmZvLmJ3X2xlbiA9IGxlbjsKLQkgICAgaWYgKGJ1Zl93cml0ZV9ieXRlcygmd3JpdGVfaW5mbykgPT0gRkFJTCkKKwkgICAgaW50IGIyd3JpdGU7CisKKwkgICAgYnVmLT5iX2ZhYl9tcnMgPSAoYnVmLT5iX2ZhYl9tcnMgPT0gMAorCQkgICAgPyBNSU4oNDA5NiwgYnVmc2l6ZSkKKwkJICAgIDogTUlOKGJ1Zi0+Yl9mYWJfbXJzLCBidWZzaXplKSk7CisKKwkgICAgYjJ3cml0ZSA9IGxlbjsKKwkgICAgd2hpbGUgKGIyd3JpdGUgPiAwKQogCSAgICB7Ci0JCWVuZCA9IDA7CQkvKiB3cml0ZSBlcnJvcjogYnJlYWsgbG9vcCAqLwotCQlicmVhazsKKwkJd3JpdGVfaW5mby5id19sZW4gPSBNSU4oYjJ3cml0ZSwgYnVmLT5iX2ZhYl9tcnMpOworCQlpZiAoYnVmX3dyaXRlX2J5dGVzKCZ3cml0ZV9pbmZvKSA9PSBGQUlMKQorCQl7CisJCSAgICBlbmQgPSAwOworCQkgICAgYnJlYWs7CisJCX0KKwkJYjJ3cml0ZSAtPSBNSU4oYjJ3cml0ZSwgYnVmLT5iX2ZhYl9tcnMpOwogCSAgICB9CiAJICAgIHdyaXRlX2luZm8uYndfbGVuID0gYnVmc2l6ZTsKIAkgICAgbmNoYXJzICs9IGxlbjsKZGlmZiAtLWdpdCBhL3NyYy9ndWlfZ3RrX3gxMS5jIGIvc3JjL2d1aV9ndGtfeDExLmMKaW5kZXggZTM2Yzg1OC4uYWVkNjQ5YiAxMDA2NDQKLS0tIGEvc3JjL2d1aV9ndGtfeDExLmMKKysrIGIvc3JjL2d1aV9ndGtfeDExLmMKQEAgLTU4NDUsOCArNTg0NSwxMSBAQAogCiAJLyoKIAkgKiBMb29wIGluIEdUSysgcHJvY2Vzc2luZyAgdW50aWwgYSB0aW1lb3V0IG9yIGlucHV0IG9jY3Vycy4KKwkgKiBTa2lwIHRoaXMgaWYgaW5wdXQgaXMgYXZhaWxhYmxlIGFueXdheSAoY2FuIGhhcHBlbiBpbiByYXJlCisJICogc2l0dWF0aW9ucywgc29ydCBvZiByYWNlIGNvbmRpdGlvbikuCiAJICovCi0JZ3RrX21haW4oKTsKKwlpZiAoIWlucHV0X2F2YWlsYWJsZSgpKQorCSAgICBndGtfbWFpbigpOwogCiAJLyogR290IGNoYXIsIHJldHVybiBpbW1lZGlhdGVseSAqLwogCWlmIChpbnB1dF9hdmFpbGFibGUoKSkKZGlmZiAtLWdpdCBhL3NyYy9tYWluLmMgYi9zcmMvbWFpbi5jCmluZGV4IDhlMjAxMjEuLjBjODcwMWEgMTAwNjQ0Ci0tLSBhL3NyYy9tYWluLmMKKysrIGIvc3JjL21haW4uYwpAQCAtMTUwLDExICsxNTAsNiBAQAogICAgIGludAkJbGl0ZXJhbCA9IEZBTFNFOwkvKiBkb24ndCBleHBhbmQgZmlsZSBuYW1lcyAqLwogI2VuZGlmCiAKLSMgaWZkZWYgTkJERUJVRwotICAgIG5iZGVidWdfbG9nX2luaXQoIlNQUk9fR1ZJTV9ERUJVRyIsICJTUFJPX0dWSU1fRExFVkVMIik7Ci0gICAgbmJkZWJ1Z193YWl0KFdUX0VOViB8IFdUX1dBSVQgfCBXVF9TVE9QLCAiU1BST19HVklNX1dBSVQiLCAyMCk7Ci0jIGVuZGlmCi0KICAgICAvKgogICAgICAqIERvIGFueSBzeXN0ZW0tc3BlY2lmaWMgaW5pdGlhbGlzYXRpb25zLiAgVGhlc2UgY2FuIE5PVCB1c2UgSU9idWZmIG9yCiAgICAgICogTmFtZUJ1ZmYuICBUaHVzIGVtc2cyKCkgY2Fubm90IGJlIGNhbGxlZCEKQEAgLTIwOSw2ICsyMDQsMTMgQEAKIAogICAgIFRJTUVfTVNHKCJBbGxvY2F0ZWQgZ2VuZXJpYyBidWZmZXJzIik7CiAKKyNpZmRlZiBOQkRFQlVHCisgICAgLyogV2FpdCBhIG1vbWVudCBmb3IgZGVidWdnaW5nIE5ldEJlYW5zLiAgTXVzdCBiZSBhZnRlciBhbGxvY2F0aW5nCisgICAgICogTmFtZUJ1ZmYuICovCisgICAgbmJkZWJ1Z19sb2dfaW5pdCgiU1BST19HVklNX0RFQlVHIiwgIlNQUk9fR1ZJTV9ETEVWRUwiKTsKKyAgICBuYmRlYnVnX3dhaXQoV1RfRU5WIHwgV1RfV0FJVCB8IFdUX1NUT1AsICJTUFJPX0dWSU1fV0FJVCIsIDIwKTsKKyNlbmRpZgorCiAjaWYgZGVmaW5lZChIQVZFX0xPQ0FMRV9IKSB8fCBkZWZpbmVkKFhfTE9DQUxFKQogICAgIC8qCiAgICAgICogU2V0dXAgdG8gdXNlIHRoZSBjdXJyZW50IGxvY2FsZSAoZm9yIGN0eXBlKCkgYW5kIG1hbnkgb3RoZXIgdGhpbmdzKS4KQEAgLTI0NzUsNiArMjQ3Nyw5IEBACiAJICAgIGJyZWFrOwogCW1jaF9tc2coXygiXG4gICBvcjoiKSk7CiAgICAgfQorI2lmZGVmIFZNUworICAgIG1jaF9tc2coXygid2hlcmUgY2FzZSBpcyBpZ25vcmVkIHByZXBlbmQgLyB0byBtYWtlIGZsYWcgdXBwZXIgY2FzZSIpKTsKKyNlbmRpZgogCiAgICAgbWNoX21zZyhfKCJcblxuQXJndW1lbnRzOlxuIikpOwogICAgIG1haW5fbXNnKF8oIi0tXHRcdFx0T25seSBmaWxlIG5hbWVzIGFmdGVyIHRoaXMiKSk7CmRpZmYgLS1naXQgYS9zcmMvbWlzYzEuYyBiL3NyYy9taXNjMS5jCmluZGV4IDhhMmQxOWUuLjk1NThjYzUgMTAwNjQ0Ci0tLSBhL3NyYy9taXNjMS5jCisrKyBiL3NyYy9taXNjMS5jCkBAIC0yMTY4LDcgKzIxNjgsNyBAQAogI2lmZGVmIEZFQVRfTUJZVEUKICAgICAvKiBJZiAnZGVsY29tYmluZScgaXMgc2V0IGFuZCBkZWxldGluZyAobGVzcyB0aGFuKSBvbmUgY2hhcmFjdGVyLCBvbmx5CiAgICAgICogZGVsZXRlIHRoZSBsYXN0IGNvbWJpbmluZyBjaGFyYWN0ZXIuICovCi0gICAgaWYgKHBfZGVjbyAmJiBlbmNfdXRmOCAmJiAoKm1iX3B0cjJsZW5fY2hlY2spKG9sZHAgKyBjb2wpIDw9IGNvdW50KQorICAgIGlmIChwX2RlY28gJiYgZW5jX3V0ZjggJiYgdXRmY19wdHIybGVuX2NoZWNrKG9sZHAgKyBjb2wpID49IGNvdW50KQogICAgIHsKIAlpbnQJYzEsIGMyOwogCWludAluOwpAQCAtMzMyMSw3ICszMzIxLDExIEBACiAgICAgd2hpbGUgKCpzcmMgJiYgZHN0bGVuID4gMCkKICAgICB7CiAJY29weV9jaGFyID0gVFJVRTsKLQlpZiAoKnNyYyA9PSAnJCcKKwlpZiAoKCpzcmMgPT0gJyQnCisjaWZkZWYgVk1TCisJCSAgICAmJiBhdF9zdGFydAorI2VuZGlmCisJICAgKQogI2lmIGRlZmluZWQoTVNET1MpIHx8IGRlZmluZWQoTVNXSU4pIHx8IGRlZmluZWQoT1MyKQogCQl8fCAqc3JjID09ICclJwogI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvbm9ybWFsLmMgYi9zcmMvbm9ybWFsLmMKaW5kZXggMzMwMzU2Yy4uOGVhNGJhNiAxMDA2NDQKLS0tIGEvc3JjL25vcm1hbC5jCisrKyBiL3NyYy9ub3JtYWwuYwpAQCAtNDM0Myw2ICs0MzQzLDcgQEAKIAkgICAgY3Vyd2luLT53X2N1cnNvci5sbnVtID0gY3VyYnVmLT5iX21sLm1sX2xpbmVfY291bnQ7CiAJZWxzZQogCSAgICBjdXJ3aW4tPndfY3Vyc29yLmxudW0gPSBjYXAtPmNvdW50MDsKKwljaGVja19jdXJzb3JfY29sKCk7CiAgICAgfQogCiAgICAgc3dpdGNoIChuY2hhcikKZGlmZiAtLWdpdCBhL3NyYy9vcHMuYyBiL3NyYy9vcHMuYwppbmRleCAxMjg5ODRlLi4xMTg0YzlkIDEwMDY0NAotLS0gYS9zcmMvb3BzLmMKKysrIGIvc3JjL29wcy5jCkBAIC0zNzAzLDYgKzM3MDMsMTEgQEAKICAgICBpbnQJCQluYW1lOwogICAgIGludAkJCWF0dHI7CiAgICAgY2hhcl91CQkqYXJnID0gZWFwLT5hcmc7CisjaWZkZWYgRkVBVF9NQllURQorICAgIGludAkJCWNsZW47CisjZWxzZQorIyBkZWZpbmUgY2xlbiAxCisjZW5kaWYKIAogICAgIGlmIChhcmcgIT0gTlVMTCAmJiAqYXJnID09IE5VTCkKIAlhcmcgPSBOVUxMOwpAQCAtMzc1MCwxMCArMzc1NSwxMiBAQAogCQl9CiAJCWZvciAocCA9IHliLT55X2FycmF5W2pdOyAqcCAmJiAobiAtPSBwdHIyY2VsbHMocCkpID49IDA7ICsrcCkKIAkJewotCQkgICAgbXNnX291dHRyYW5zX2xlbihwLCAxKTsKICNpZmRlZiBGRUFUX01CWVRFCi0JCSAgICBpZiAoaGFzX21ieXRlKQotCQkJcCArPSAoKm1iX3B0cjJsZW5fY2hlY2spKHApIC0gMTsKKwkJICAgIGNsZW4gPSAoKm1iX3B0cjJsZW5fY2hlY2spKHApOworI2VuZGlmCisJCSAgICBtc2dfb3V0dHJhbnNfbGVuKHAsIGNsZW4pOworI2lmZGVmIEZFQVRfTUJZVEUKKwkJICAgIHAgKz0gY2xlbiAtIDE7CiAjZW5kaWYKIAkJfQogCSAgICB9CmRpZmYgLS1naXQgYS9zcmMvb3B0aW9uLmMgYi9zcmMvb3B0aW9uLmMKaW5kZXggOTgxZTIzMS4uZDA0OWNkNCAxMDA2NDQKLS0tIGEvc3JjL29wdGlvbi5jCisrKyBiL3NyYy9vcHRpb24uYwpAQCAtNzE0LDcgKzcxNCw3IEBACiAgICAgeyJkZWZpbmUiLAkgICAgImRlZiIsICBQX1NUUklOR3xQX0FMTE9DRUR8UF9WSV9ERUYsCiAjaWZkZWYgRkVBVF9GSU5EX0lECiAJCQkgICAgKGNoYXJfdSAqKSZwX2RlZiwgT1BUX0JPVEgoUFZfREVGKSwKLQkJCSAgICB7KGNoYXJfdSAqKSJeXFxzI1xccypkZWZpbmUiLCAoY2hhcl91ICopMEx9CisJCQkgICAgeyhjaGFyX3UgKikiXlxccyojXFxzKmRlZmluZSIsIChjaGFyX3UgKikwTH0KICNlbHNlCiAJCQkgICAgKGNoYXJfdSAqKU5VTEwsIFBWX05PTkUsCiAJCQkgICAgeyhjaGFyX3UgKilOVUxMLCAoY2hhcl91ICopMEx9CmRpZmYgLS1naXQgYS9zcmMvb3NfdW5peC5jIGIvc3JjL29zX3VuaXguYwppbmRleCAwODI3NjQ1Li4yNGM4NmIyIDEwMDY0NAotLS0gYS9zcmMvb3NfdW5peC5jCisrKyBiL3NyYy9vc191bml4LmMKQEAgLTE5NTQsOSArMTk1NCw5IEBACiB7CiAgICAgaWYgKG5hbWUgPT0gTlVMTCkKIAlyZXR1cm4gRkFMU0U7CSAgICAgICAvKiBhY3R1YWxseSBhbGwgQU5TSSBjb21wLiB0ZXJtaW5hbHMgc2hvdWxkIGJlIGhlcmUgICovCi0gICAgcmV0dXJuIChTVFJOSUNNUChuYW1lLCAidnQzIiwgMykgPT0gMCAgICAgLyogaXQgd2lsbCBjb3ZlciBhbGwgZnJvbSBWVDEwMC1WVDMwMCAqLwotCSAgICB8fCBTVFJOSUNNUChuYW1lLCAidnQyIiwgMykgPT0gMCAgLyogVE9ETzogZnJvbSBWVDM0MCBjYW4gaGFubGUgY29sb3JzICAqLwotCSAgICB8fCBTVFJOSUNNUChuYW1lLCAidnQxIiwgMykgPT0gMAorICAgIC8qIGNhdGNoIFZUMTAwIC0gVlQ1eHggKi8KKyAgICByZXR1cm4gKChTVFJOSUNNUChuYW1lLCAidnQiLCAyKSA9PSAwCisJCSYmIHZpbV9zdHJjaHIoKGNoYXJfdSAqKSIxMjM0NSIsIG5hbWVbMl0pICE9IE5VTEwpCiAJICAgIHx8IFNUUkNNUChuYW1lLCAiYnVpbHRpbl92dDMyMCIpID09IDApOwogfQogCmRpZmYgLS1naXQgYS9zcmMvcG8vZXMucG8gYi9zcmMvcG8vZXMucG8KaW5kZXggZWQ4OTk4NC4uNTExZDNmMyAxMDA2NDQKLS0tIGEvc3JjL3BvL2VzLnBvCisrKyBiL3NyYy9wby9lcy5wbwpAQCAtOCwxMCArOCwxMCBAQAogIwogbXNnaWQgIiIKIG1zZ3N0ciAiIgotIlByb2plY3QtSWQtVmVyc2lvbjogVmltIDYuMy43IChFc3Bh8W9sKVxuIgotIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiBcbiIKLSJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNC0wNi0yMyAyMDozNS0wNTAwXG4iCi0iUE8tUmV2aXNpb24tRGF0ZTogMjAwNC0wNi0yMyAyMDo0Ni0wNTAwXG4iCisiUHJvamVjdC1JZC1WZXJzaW9uOiBWaW0gNy4wYWEgKEVzcGHxb2wpXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IEFsZWphbmRybyBM83Blei1WYWxlbmNpYSA8ZHJhZHVsQHlhaG9vLmNvbT5cbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAwNC0wOC0wMiAxOTo1OC0wNTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwNC0wOC0wMiAyMDowMS0wNTAwXG4iCiAiTGFzdC1UcmFuc2xhdG9yOiBBbGVqYW5kcm8gTPNwZXotVmFsZW5jaWEgPGRyYWR1bEB5YWhvby5jb20+XG4iCiAiTGFuZ3VhZ2UtVGVhbTogQWxlamFuZHJvIEzzcGV6LVZhbGVuY2lhIDxkcmFkdWxAeWFob28uY29tPlxuIgogIk1JTUUtVmVyc2lvbjogMS4wXG4iCkBAIC0yNiwxNzIgKzI2LDE3NiBAQAogbXNnaWQgIkU4MzogQ2Fubm90IGFsbG9jYXRlIGJ1ZmZlciwgdXNpbmcgb3RoZXIgb25lLi4uIgogbXNnc3RyICJFODM6IE5vIHNlIHB1ZWRlIGFzaWduYXIgbWVtb3JpYSBwYXJhIGVsIKtidWZmZXK7LCB1c2FuZG8gb3Ryby4uLiIKIAotIzogYnVmZmVyLmM6ODA4CisjOiBidWZmZXIuYzo4MjcKKyMsIGMtZm9ybWF0CiBtc2dpZCAiRTUxNTogTm8gYnVmZmVycyB3ZXJlIHVubG9hZGVkIgogbXNnc3RyICJFNTE1OiBObyBzZSBkZXNjYXJn8yBuaW5n+m4gq2J1ZmZlcrsuIgogCi0jOiBidWZmZXIuYzo4MTAKLW1zZ2lkICJFNTE2OiBObyBidWZmZXJzIHdlcmUgZGVsZXRlZCIKLW1zZ3N0ciAiRTUxNjogTm8gc2UgYm9ycvMgbmluZ/puIKtidWZmZXK7LiIKLQotIzogYnVmZmVyLmM6ODEyCi1tc2dpZCAiRTUxNzogTm8gYnVmZmVycyB3ZXJlIHdpcGVkIG91dCIKLW1zZ3N0ciAiRTUxNzogTm8gc2UgZWxpbWlu8yBuaW5n+m4gq2J1ZmZlcrsuIgotCi0jOiBidWZmZXIuYzo4MjAKLW1zZ2lkICIxIGJ1ZmZlciB1bmxvYWRlZCIKLW1zZ3N0ciAiVW4gq2J1ZmZlcrsgZGVzY2FyZ2Fkby4iCi0KLSM6IGJ1ZmZlci5jOjgyMgotIywgYy1mb3JtYXQKLW1zZ2lkICIlZCBidWZmZXJzIHVubG9hZGVkIgotbXNnc3RyICIlZCCrYnVmZmVyc7sgZGVzY2FyZ2Fkb3MuIgotCi0jOiBidWZmZXIuYzo4MjcKLW1zZ2lkICIxIGJ1ZmZlciBkZWxldGVkIgotbXNnc3RyICJVbiCrYnVmZmVyuyBzdXByaW1pZG8uIgotCiAjOiBidWZmZXIuYzo4MjkKICMsIGMtZm9ybWF0Ci1tc2dpZCAiJWQgYnVmZmVycyBkZWxldGVkIgotbXNnc3RyICIlZCCrYnVmZmVyc7sgc3VwcmltaWRvcy4iCittc2dpZCAiRTUxNjogTm8gYnVmZmVycyB3ZXJlIGRlbGV0ZWQiCittc2dzdHIgIkU1MTY6IE5vIHNlIGVsaW1pbvMgbmluZ/puIKtidWZmZXK7LiIKIAotIzogYnVmZmVyLmM6ODM0Ci1tc2dpZCAiMSBidWZmZXIgd2lwZWQgb3V0IgotbXNnc3RyICIxIKtidWZmZXK7IGVsaW1pbmFkby4iCi0KLSM6IGJ1ZmZlci5jOjgzNgorIzogYnVmZmVyLmM6ODMxCiAjLCBjLWZvcm1hdAotbXNnaWQgIiVkIGJ1ZmZlcnMgd2lwZWQgb3V0IgorbXNnaWQgIkU1MTc6IE5vIGJ1ZmZlcnMgd2VyZSB3aXBlZCBvdXQiCittc2dzdHIgIkU1MTc6IE5vIHNlIGJvcnLzIG5pbmf6biCrYnVmZmVyuy4iCisKKyM6IGJ1ZmZlci5jOjgzOQorbXNnaWQgIjEgYnVmZmVyIHVubG9hZGVkIgorbXNnc3RyICJVbiCrYnVmZmVyuyBkZXNjYXJnYWRvIGRlIGxhIG1lbW9yaWEuIgorCisjOiBidWZmZXIuYzo4NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYnVmZmVycyB1bmxvYWRlZCIKK21zZ3N0ciAiJWQgq2J1ZmZlcnO7IGRlc2NhcmdhZG9zIGRlIGxhIG1lbW9yaWEuIgorCisjOiBidWZmZXIuYzo4NDYKK21zZ2lkICIxIGJ1ZmZlciBkZWxldGVkIgorbXNnc3RyICJVbiCrYnVmZmVyuyBlbGltaW5hZG8uIgorCisjOiBidWZmZXIuYzo4NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYnVmZmVycyBkZWxldGVkIgogbXNnc3RyICIlZCCrYnVmZmVyc7sgZWxpbWluYWRvcy4iCiAKLSM6IGJ1ZmZlci5jOjg5NworIzogYnVmZmVyLmM6ODUzCittc2dpZCAiMSBidWZmZXIgd2lwZWQgb3V0IgorbXNnc3RyICIxIKtidWZmZXK7IGJvcnJhZG8uIgorCisjOiBidWZmZXIuYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYnVmZmVycyB3aXBlZCBvdXQiCittc2dzdHIgIiVkIKtidWZmZXJzuyBib3JyYWRvLiIKKworIzogYnVmZmVyLmM6OTE2CiBtc2dpZCAiRTg0OiBObyBtb2RpZmllZCBidWZmZXIgZm91bmQiCiBtc2dzdHIgIkU4NDogTm8gaGUgZW5jb250cmFkbyBuaW5n+m4gq2J1ZmZlcrsgbW9kaWZpY2Fkby4iCiAKICMuIGJhY2sgd2hlcmUgd2Ugc3RhcnRlZCwgZGlkbid0IGZpbmQgYW55dGhpbmcuCi0jOiBidWZmZXIuYzo5MzYKKyM6IGJ1ZmZlci5jOjk1NQogbXNnaWQgIkU4NTogVGhlcmUgaXMgbm8gbGlzdGVkIGJ1ZmZlciIKIG1zZ3N0ciAiRTg1OiBObyBoYXkgq2J1ZmZlcnO7IGVuIGxhIGxpc3RhLiIKIAotIzogYnVmZmVyLmM6OTQ4CisjOiBidWZmZXIuYzo5NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTg2OiBCdWZmZXIgJWxkIGRvZXMgbm90IGV4aXN0IgogbXNnc3RyICJFODY6IEVsIKtidWZmZXK7ICVsZCBubyBleGlzdGUuIgogCi0jOiBidWZmZXIuYzo5NTEKKyM6IGJ1ZmZlci5jOjk3MAogbXNnaWQgIkU4NzogQ2Fubm90IGdvIGJleW9uZCBsYXN0IGJ1ZmZlciIKIG1zZ3N0ciAiRTg3OiBObyBwdWVkbyBpciBt4XMgYWxs4SBkZWwg+mx0aW1vIKtidWZmZXK7LiIKIAotIzogYnVmZmVyLmM6OTUzCisjOiBidWZmZXIuYzo5NzIKIG1zZ2lkICJFODg6IENhbm5vdCBnbyBiZWZvcmUgZmlyc3QgYnVmZmVyIgogbXNnc3RyICJFODg6IE5vIHB1ZWRvIGlyIG3hcyBhdHLhcyBkZWwgcHJpbWVyIGJ1ZmZlci4iCiAKLSM6IGJ1ZmZlci5jOjk5MQorIzogYnVmZmVyLmM6MTAxMAogIywgYy1mb3JtYXQKIG1zZ2lkICJFODk6IE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIGZvciBidWZmZXIgJWxkIChhZGQgISB0byBvdmVycmlkZSkiCiBtc2dzdHIgIiIKICJFODk6IE5vIGhhIGd1YXJkYWRvIGVsIGZpY2hlcm8gZGVzZGUgZWwg+mx0aW1vIGNhbWJpbyBkZWwgq2J1ZmZlcrsgJWxkICIKICIoYfFhZGEgISBwYXJhIGZvcnphcikuIgogCi0jOiBidWZmZXIuYzoxMDA4CisjOiBidWZmZXIuYzoxMDI3CiBtc2dpZCAiRTkwOiBDYW5ub3QgdW5sb2FkIGxhc3QgYnVmZmVyIgogbXNnc3RyICJFOTA6IE5vIHNlIHB1ZWRlIGRlc2NhcmdhciBlbCD6bHRpbW8gYnVmZmVyLiIKIAotIzogYnVmZmVyLmM6MTU0NAorIzogYnVmZmVyLmM6MTU2MwogbXNnaWQgIlcxNDogV2FybmluZzogTGlzdCBvZiBmaWxlIG5hbWVzIG92ZXJmbG93IgogbXNnc3RyICJXMTQ6IEFkdmVydGVuY2lhOiBsaXN0YSBkZSBub21icmVzIGRlIGZpY2hlcm9zIGRlbWFzaWFkbyBsYXJnYS4iCiAKLSM6IGJ1ZmZlci5jOjE3MTYKKyM6IGJ1ZmZlci5jOjE3NDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTkyOiBCdWZmZXIgJWxkIG5vdCBmb3VuZCIKIG1zZ3N0ciAiRTkyOiBObyBzZSBoYSBlbmNvbnRyYWRvIGVsIGJ1ZmZlciAlbGQiCiAKLSM6IGJ1ZmZlci5jOjE5NDcKKyM6IGJ1ZmZlci5jOjE5NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTkzOiBNb3JlIHRoYW4gb25lIG1hdGNoIGZvciAlcyIKIG1zZ3N0ciAiRTkzOiBN4XMgZGUgdW5hIGNvaW5jaWRlbmNpYSBjb24gJXMuIgogCi0jOiBidWZmZXIuYzoxOTQ5CisjOiBidWZmZXIuYzoxOTc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU5NDogTm8gbWF0Y2hpbmcgYnVmZmVyIGZvciAlcyIKIG1zZ3N0ciAiRTk0OiBObyBoYXkgdW4gYnVmZmVyIHF1ZSBjb2luY2lkYSBjb24gJXMuIgogCi0jOiBidWZmZXIuYzoyMzQ0CisjOiBidWZmZXIuYzoyMzY5CiAjLCBjLWZvcm1hdAogbXNnaWQgImxpbmUgJWxkIgogbXNnc3RyICJs7W5lYSAlbGQiCiAKLSM6IGJ1ZmZlci5jOjI0MjkKKyM6IGJ1ZmZlci5jOjI0NTQKIG1zZ2lkICJFOTU6IEJ1ZmZlciB3aXRoIHRoaXMgbmFtZSBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiRTk1OiBZYSBleGlzdGUgdW4gYnVmZmVyIGNvbiBlc3RlIG5vbWJyZS4iCiAKLSM6IGJ1ZmZlci5jOjI3MjQKKyM6IGJ1ZmZlci5jOjI3NDkKIG1zZ2lkICIgW01vZGlmaWVkXSIKIG1zZ3N0ciAiIFtNb2RpZmljYWRvXSIKIAotIzogYnVmZmVyLmM6MjcyOQorIzogYnVmZmVyLmM6Mjc1NAogbXNnaWQgIltOb3QgZWRpdGVkXSIKIG1zZ3N0ciAiW1NpbiBlZGl0YXJdIgogCi0jOiBidWZmZXIuYzoyNzM0CisjOiBidWZmZXIuYzoyNzU5CiBtc2dpZCAiW05ldyBmaWxlXSIKIG1zZ3N0ciAiW0ZpY2hlcm8gbnVldm9dIgogCi0jOiBidWZmZXIuYzoyNzM1CisjOiBidWZmZXIuYzoyNzYwCiBtc2dpZCAiW1JlYWQgZXJyb3JzXSIKIG1zZ3N0ciAiW0Vycm9yZXMgZGUgbGVjdHVyYV0iCiAKLSM6IGJ1ZmZlci5jOjI3MzcgZmlsZWlvLmM6MjEyNAorIzogYnVmZmVyLmM6Mjc2MiBmaWxlaW8uYzoyMDk4CiBtc2dpZCAiW3JlYWRvbmx5XSIKIG1zZ3N0ciAiW1PzbG8gbGVjdHVyYV0iCiAKLSM6IGJ1ZmZlci5jOjI3NTgKKyM6IGJ1ZmZlci5jOjI3ODMKICMsIGMtZm9ybWF0CiBtc2dpZCAiMSBsaW5lIC0tJWQlJS0tIgogbXNnc3RyICIxIGztbmVhIC0tJWQlJS0tIgogCi0jOiBidWZmZXIuYzoyNzYwCisjOiBidWZmZXIuYzoyNzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBsaW5lcyAtLSVkJSUtLSIKIG1zZ3N0ciAiJWxkIGztbmVhcyAtLSVkJSUtLSIKIAotIzogYnVmZmVyLmM6Mjc2NworIzogYnVmZmVyLmM6Mjc5MgogIywgYy1mb3JtYXQKIG1zZ2lkICJsaW5lICVsZCBvZiAlbGQgLS0lZCUlLS0gY29sICIKIG1zZ3N0ciAibO1uZWEgJWxkIGRlICVsZCAtLSVkJSUtLSBjb2wgIgogCi0jOiBidWZmZXIuYzoyODc1CisjOiBidWZmZXIuYzoyOTAwCiBtc2dpZCAiW05vIGZpbGVdIgogbXNnc3RyICJbU2luIGZpY2hlcm9dIgogCiAjICBtdXN0IGJlIGEgaGVscCBidWZmZXIKICMuIG11c3QgYmUgYSBoZWxwIGJ1ZmZlcgotIzogYnVmZmVyLmM6MjkxNQorIzogYnVmZmVyLmM6Mjk0MAogbXNnaWQgImhlbHAiCiBtc2dzdHIgImF5dWRhIgogCi0jOiBidWZmZXIuYzozNDc0IHNjcmVlbi5jOjUwNzkKKyM6IGJ1ZmZlci5jOjM0OTkgc2NyZWVuLmM6NTEyMgogbXNnaWQgIltoZWxwXSIKIG1zZ3N0ciAiW2F5dWRhXSIKIAotIzogYnVmZmVyLmM6MzUwNiBzY3JlZW4uYzo1MDg1CisjOiBidWZmZXIuYzozNTMxIHNjcmVlbi5jOjUxMjgKIG1zZ2lkICJbUHJldmlld10iCiBtc2dzdHIgIltWaXN0YSBwcmV2aWFdIgogCi0jOiBidWZmZXIuYzozNzg2CisjOiBidWZmZXIuYzozODExCiBtc2dpZCAiQWxsIgogbXNnc3RyICJUb2RvIgogCi0jOiBidWZmZXIuYzozNzg2CisjOiBidWZmZXIuYzozODExCiBtc2dpZCAiQm90IgogbXNnc3RyICJGaW5hbCIKIAotIzogYnVmZmVyLmM6Mzc4OAorIzogYnVmZmVyLmM6MzgxMwogbXNnaWQgIlRvcCIKIG1zZ3N0ciAiQ29taWVuem8iCiAKLSM6IGJ1ZmZlci5jOjQ1MzYKKyM6IGJ1ZmZlci5jOjQ1NjgKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIiMgQnVmZmVyIGxpc3Q6XG4iCkBAIC0xOTksMTUgKzIwMywxNSBAQAogIlxuIgogIiMgTGlzdGEgZGUgq2J1ZmZlcnO7OlxuIgogCi0jOiBidWZmZXIuYzo0NTY5CisjOiBidWZmZXIuYzo0NjAxCiBtc2dpZCAiW0Vycm9yIExpc3RdIgogbXNnc3RyICJbTGlzdGEgZGUgZXJyb3Jlc10iCiAKLSM6IGJ1ZmZlci5jOjQ1ODIgbWVtbGluZS5jOjE1MjEKLW1zZ2lkICJbTm8gRmlsZV0iCi1tc2dzdHIgIltTaW4gZmljaGVyb10iCisjOiBidWZmZXIuYzo0NjE0IG1lbWxpbmUuYzoxNTI0Cittc2dpZCAiW05vIE5hbWVdIgorbXNnc3RyICJbU2luIE5vbWJyZV0iCiAKLSM6IGJ1ZmZlci5jOjQ4OTUKKyM6IGJ1ZmZlci5jOjQ5MjcKIG1zZ2lkICIiCiAiXG4iCiAiLS0tIFNpZ25zIC0tLSIKQEAgLTIxNSw1MSArMjE5LDUxIEBACiAiXG4iCiAiLS0tIFNpZ25vcyAtLS0iCiAKLSM6IGJ1ZmZlci5jOjQ5MTQKKyM6IGJ1ZmZlci5jOjQ5NDYKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2lnbnMgZm9yICVzOiIKIG1zZ3N0ciAiU2lnbm9zIHBhcmEgJXMiCiAKLSM6IGJ1ZmZlci5jOjQ5MjAKKyM6IGJ1ZmZlci5jOjQ5NTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiICAgIGxpbmU9JWxkICBpZD0lZCAgbmFtZT0lcyIKIG1zZ3N0ciAiICAgIGztbmVhPSVsZCBpZD0lZCBub21icmU9JXMiCiAKLSM6IGRpZmYuYzoxMzkKKyM6IGRpZmYuYzoxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTk2OiBDYW4gbm90IGRpZmYgbW9yZSB0aGFuICVsZCBidWZmZXJzIgogbXNnc3RyICJFOTY6IE5vIHB1ZWRvIHVzYXIgq2RpZma7IGNvbiBt4XMgZGUgJWxkIKtidWZmZXJzuy4iCiAKLSM6IGRpZmYuYzo3MTMKKyM6IGRpZmYuYzo3MzcKIG1zZ2lkICJFOTc6IENhbm5vdCBjcmVhdGUgZGlmZnMiCiBtc2dzdHIgIkU5NzogTm8gcHVlZG8gY3JlYXIgq2RpZmZzuy4iCiAKLSM6IGRpZmYuYzo4MTkKKyM6IGRpZmYuYzo4NDMKIG1zZ2lkICJQYXRjaCBmaWxlIgogbXNnc3RyICJGaWNoZXJvIGRlIHBhcmNoZXMuIgogCi0jOiBkaWZmLmM6MTA3MgorIzogZGlmZi5jOjExNDYKIG1zZ2lkICJFOTg6IENhbm5vdCByZWFkIGRpZmYgb3V0cHV0IgogbXNnc3RyICJFOTg6IG5vIHB1ZWRvIGxlZXIgbGEgc2FsaWRhIGRlIKtkaWZmuy4iCiAKLSM6IGRpZmYuYzoxODIyCisjOiBkaWZmLmM6MTg5NgogbXNnaWQgIkU5OTogQ3VycmVudCBidWZmZXIgaXMgbm90IGluIGRpZmYgbW9kZSIKIG1zZ3N0ciAiRTk5OiBFbCCrYnVmZmVyuyBhY3R1YWwgbm8gZXN04SBlbiBtb2RvIKtkaWZmuy4iCiAKLSM6IGRpZmYuYzoxODM0CisjOiBkaWZmLmM6MTkwOAogbXNnaWQgIkUxMDA6IE5vIG90aGVyIGJ1ZmZlciBpbiBkaWZmIG1vZGUiCiBtc2dzdHIgIkUxMDA6IE5pbmf6biBvdHJvIKtidWZmZXK7IGVzdOEgZW4gbW9kbyCrZGlmZrsuIgogCi0jOiBkaWZmLmM6MTg0MgorIzogZGlmZi5jOjE5MTYKIG1zZ2lkICJFMTAxOiBNb3JlIHRoYW4gdHdvIGJ1ZmZlcnMgaW4gZGlmZiBtb2RlLCBkb24ndCBrbm93IHdoaWNoIG9uZSB0byB1c2UiCiBtc2dzdHIgIkUxMDE6IE3hcyBkZSBkb3Mgq2J1ZmZlcnO7IGVuIG1vZG8gq2RpZma7LCBubyBzZSBjdWFsIHVzYXIuIgogCi0jOiBkaWZmLmM6MTg2NQorIzogZGlmZi5jOjE5MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEwMjogQ2FuJ3QgZmluZCBidWZmZXIgXCIlc1wiIgogbXNnc3RyICJFMTAyOiBObyBwdWVkbyBlbmNvbnRyYXIgZWwgq2J1ZmZlcrsgqyVzuy4iCiAKLSM6IGRpZmYuYzoxODcxCisjOiBkaWZmLmM6MTk0NQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTAzOiBCdWZmZXIgXCIlc1wiIGlzIG5vdCBpbiBkaWZmIG1vZGUiCiBtc2dzdHIgIkUxMDM6IEVsIKtidWZmZXK7IKslc7sgbm8gZXN04SBlbiBtb2RvIKtkaWZmuy4iCkBAIC0yNzcsOTEgKzI4MSw5NiBAQAogbXNnc3RyICIiCiAiRTEwNTogqzpsb2Fka2V5bWFwuyBlbiB1biBmaWNoZXJvIHF1ZSBubyBjb250aWVuZSBpbnN0cnVjY2lvbmVzIGVqZWN1dGFibGVzLiIKIAotIzogZWRpdC5jOjQwCisjOiBlZGl0LmM6NDEKIG1zZ2lkICIgS2V5d29yZCBjb21wbGV0aW9uICheTl5QKSIKIG1zZ3N0ciAiIENvbXBsZXRhciBwYWxhYnJhIGNsYXZlICheTl5QKS4iCiAKICMgIGN0cmxfeF9tb2RlID09IDAsIF5QL15OIGNvbXBsLgogIy4gY3RybF94X21vZGUgPT0gMCwgXlAvXk4gY29tcGwuCi0jOiBlZGl0LmM6NDEKLW1zZ2lkICIgXlggbW9kZSAoXkVeWV5MXl1eRl5JXkteRF5WXk5eUCkiCi1tc2dzdHIgIiBtb2RvIF5YICheRV5ZXkxeXV5GXkleS15EXlZeTl5QKS4iCisjOiBlZGl0LmM6NDIKK21zZ2lkICIgXlggbW9kZSAoXkVeWV5MXl1eRl5JXkteRF5VXlZeTl5QKSIKK21zZ3N0ciAiIG1vZG8gXlggKF5FXlleTF5dXkZeSV5LXkReVl5OXlApIgogCiAjICBTY3JvbGwgaGFzIGl0J3Mgb3duIG1zZ3MsIGluIGl0J3MgcGxhY2UgdGhlcmUgaXMgdGhlIG1zZyBmb3IgbG9jYWwKICMgICogY3RybF94X21vZGUgPSAwIChlZyBjb250aW51ZV9zdGF0dXMgJiBDT05UX0xPQ0FMKSAgLS0gQWNldmVkbwogIy4gU2Nyb2xsIGhhcyBpdCdzIG93biBtc2dzLCBpbiBpdCdzIHBsYWNlIHRoZXJlIGlzIHRoZSBtc2cgZm9yIGxvY2FsCiAjLiAqIGN0cmxfeF9tb2RlID0gMCAoZWcgY29udGludWVfc3RhdHVzICYgQ09OVF9MT0NBTCkgIC0tIEFjZXZlZG8KLSM6IGVkaXQuYzo0NAorIzogZWRpdC5jOjQ1CiBtc2dpZCAiIEtleXdvcmQgTG9jYWwgY29tcGxldGlvbiAoXk5eUCkiCiBtc2dzdHIgIiBDb21wbGV0YXIgcGFsYWJyYSBjbGF2ZSBsb2NhbCAoXk5eUCkuIgogCi0jOiBlZGl0LmM6NDUKKyM6IGVkaXQuYzo0NgogbXNnaWQgIiBXaG9sZSBsaW5lIGNvbXBsZXRpb24gKF5MXk5eUCkiCiBtc2dzdHIgIiBDb21wbGV0YXIgdG9kYSBsYSBs7W5lYSAoXkxeTl5QKS4iCiAKLSM6IGVkaXQuYzo0NgorIzogZWRpdC5jOjQ3CiBtc2dpZCAiIEZpbGUgbmFtZSBjb21wbGV0aW9uICheRl5OXlApIgogbXNnc3RyICIgQ29tcGxldGFyIG5vbWJyZSBkZSBmaWNoZXJvICheRl5OXlApLiIKIAotIzogZWRpdC5jOjQ3CisjOiBlZGl0LmM6NDgKIG1zZ2lkICIgVGFnIGNvbXBsZXRpb24gKF5dXk5eUCkiCiBtc2dzdHIgIiBDb21wbGV0YXIgq3RhZ7sgKF5dXk5eUCkuIgogCi0jOiBlZGl0LmM6NDgKKyM6IGVkaXQuYzo0OQogbXNnaWQgIiBQYXRoIHBhdHRlcm4gY29tcGxldGlvbiAoXk5eUCkiCiBtc2dzdHIgIiBDb21wbGV0YXIgcGF0cvNuIGRlIHJ1dGEgKF5OXlApLiIKIAotIzogZWRpdC5jOjQ5CisjOiBlZGl0LmM6NTAKIG1zZ2lkICIgRGVmaW5pdGlvbiBjb21wbGV0aW9uICheRF5OXlApIgogbXNnc3RyICIgQ29tcGxldGFyIGRlZmluaWNp824gKF5EXk5eUCkuIgogCi0jOiBlZGl0LmM6NTEKKyM6IGVkaXQuYzo1MgogbXNnaWQgIiBEaWN0aW9uYXJ5IGNvbXBsZXRpb24gKF5LXk5eUCkiCiBtc2dzdHIgIiBDb21wbGV0YXIgZGljY2lvbmFyaW8gKF5LXk5eUCkuIgogCi0jOiBlZGl0LmM6NTIKKyM6IGVkaXQuYzo1MwogbXNnaWQgIiBUaGVzYXVydXMgY29tcGxldGlvbiAoXlReTl5QKSIKIG1zZ3N0ciAiIENvbXBsZXRhciBkaWNjaW9uYXJpbyBkZSBzaW7zbmltb3MgKF5UXk5eUCkuIgogCi0jOiBlZGl0LmM6NTMKKyM6IGVkaXQuYzo1NAogbXNnaWQgIiBDb21tYW5kLWxpbmUgY29tcGxldGlvbiAoXlZeTl5QKSIKIG1zZ3N0ciAiIENvbXBsZXRhciBs7W5lYSBkZSBjb21hbmRvcyAoXlZeTl5QKS4iCiAKLSM6IGVkaXQuYzo1NgorIzogZWRpdC5jOjU1Cittc2dpZCAiIFVzZXIgZGVmaW5lZCBjb21wbGV0aW9uICheVV5OXlApIgorbXNnc3RyICIgQ29tcGxldGFyIHBhdHLzbiBkZWZpbmlkbyBwb3IgZWwgdXN1YXJpbyAoXlZeTl5QKS4iCisKKyM6IGVkaXQuYzo1OAogbXNnaWQgIkhpdCBlbmQgb2YgcGFyYWdyYXBoIgogbXNnc3RyICJIZSBsbGVnYWRvIGFsIGZpbmFsIGRlbCBw4XJyYWZvLiIKIAotIzogZWRpdC5jOjk2MgorIzogZWRpdC5jOjk5NAogbXNnaWQgIid0aGVzYXVydXMnIG9wdGlvbiBpcyBlbXB0eSIKIG1zZ3N0ciAiTGEgb3BjafNuIKt0aGVzYXVydXO7IGVzdOEgdmFj7WEuIgogCi0jOiBlZGl0LmM6MTE2NgorIzogZWRpdC5jOjEyMDQKIG1zZ2lkICInZGljdGlvbmFyeScgb3B0aW9uIGlzIGVtcHR5IgogbXNnc3RyICJMYSBvcGNp824gq2RpY3Rpb25hcnm7IGVzdOEgdmFj7WEuIgogCi0jOiBlZGl0LmM6MjE2MgorIzogZWRpdC5jOjIyMDQKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2Nhbm5pbmcgZGljdGlvbmFyeTogJXMiCiBtc2dzdHIgIkJ1c2NhbmRvIGVuIGVsIGRpY2Npb25hcmlvOiAlcy4iCiAKLSM6IGVkaXQuYzoyMzY4CisjOiBlZGl0LmM6MjQxMAogbXNnaWQgIiAoaW5zZXJ0KSBTY3JvbGwgKF5FL15ZKSIKIG1zZ3N0ciAiIChpbnNlcnRhcikgq1Njcm9sbLsgKF5FL15ZKS4iCiAKLSM6IGVkaXQuYzoyMzcwCisjOiBlZGl0LmM6MjQxMgogbXNnaWQgIiAocmVwbGFjZSkgU2Nyb2xsICheRS9eWSkiCiBtc2dzdHIgIiAocmVlbXBsYXphcikgq1Njcm9sbLsgKF5FL15ZKS4iCiAKLSM6IGVkaXQuYzoyNjg0CisjOiBlZGl0LmM6MjgxNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTY2FubmluZzogJXMiCiBtc2dzdHIgIkJ1c2NhbmRvOiAlcy4iCiAKLSM6IGVkaXQuYzoyNzE5CisjOiBlZGl0LmM6Mjg0OQorIywgYy1mb3JtYXQKIG1zZ2lkICJTY2FubmluZyB0YWdzLiIKIG1zZ3N0ciAiQnVzY2FuZG8gq3RhZ3O7LiIKIAotIzogZWRpdC5jOjMzODEKKyM6IGVkaXQuYzozNTUwCiBtc2dpZCAiIEFkZGluZyIKIG1zZ3N0ciAiQfFhZGllbmRvLiIKIApAQCAtMzcyLDI4ICszODEsMjggQEAKICMuICogYmUgY2FsbGVkIGJlZm9yZSBsaW5lID0gbWxfZ2V0KCksIG9yIHdoZW4gdGhpcyBhZGRyZXNzIGlzIG5vCiAjLiAqIGxvbmdlciBuZWVkZWQuICAtLSBBY2V2ZWRvLgogIy4KLSM6IGVkaXQuYzozNDMwCisjOiBlZGl0LmM6MzU5OQogbXNnaWQgIi0tIFNlYXJjaGluZy4uLiIKIG1zZ3N0ciAiLS0gQnVzY2FuZG8uLi4iCiAKLSM6IGVkaXQuYzozNDg2CisjOiBlZGl0LmM6MzY1NQogbXNnaWQgIkJhY2sgYXQgb3JpZ2luYWwiCiBtc2dzdHIgIkRlIHZ1ZWx0YSBhbCBvcmlnaW5hbC4iCiAKLSM6IGVkaXQuYzozNDkxCisjOiBlZGl0LmM6MzY2MAogbXNnaWQgIldvcmQgZnJvbSBvdGhlciBsaW5lIgogbXNnc3RyICJQYWxhYnJhIGRlIG90cmEgbO1uZWEuIgogCi0jOiBlZGl0LmM6MzQ5NgorIzogZWRpdC5jOjM2NjUKIG1zZ2lkICJUaGUgb25seSBtYXRjaCIKIG1zZ3N0ciAiTGEg+m5pY2EgY29pbmNpZGVuY2lhLiIKIAotIzogZWRpdC5jOjM1NTUKKyM6IGVkaXQuYzozNzI0CiAjLCBjLWZvcm1hdAogbXNnaWQgIm1hdGNoICVkIG9mICVkIgogbXNnc3RyICJjb2luY2lkZW5jaWEgJWQgZGUgJWQuIgogCi0jOiBlZGl0LmM6MzU1OAorIzogZWRpdC5jOjM3MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAibWF0Y2ggJWQiCiBtc2dzdHIgImNvaW5jaWRlbmNpYSAlZC4iCkBAIC00MDIsNzQgKzQxMSw3NCBAQAogIyAgKiBzZWFyY2ggZm9yIGEgdHJhaWxpbmcgY29tbWFuZC4KICMuIFNraXAgZnVydGhlciBhcmd1bWVudHMgYnV0IGRvIGNvbnRpbnVlIHRvCiAjLiAqIHNlYXJjaCBmb3IgYSB0cmFpbGluZyBjb21tYW5kLgotIzogZXZhbC5jOjEwMjQKKyM6IGV2YWwuYzoxMDU1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMDY6IFVua25vd24gdmFyaWFibGU6IFwiJXNcIiIKIG1zZ3N0ciAiRTEwNjogVmFyaWFibGUgZGVzY29ub2NpZGE6IKslc7suIgogCi0jOiBldmFsLmM6MTMyMAorIzogZXZhbC5jOjEzNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEwNzogTWlzc2luZyBicmFjZXM6ICVzIgogbXNnc3RyICJFMTA3OiBGYWx0YW4gbGxhdmVzOiAlcy4iCiAKLSM6IGV2YWwuYzoxNDM1IGV2YWwuYzoxNDQ5CisjOiBldmFsLmM6MTQ2NiBldmFsLmM6MTQ4MAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTA4OiBObyBzdWNoIHZhcmlhYmxlOiBcIiVzXCIiCiBtc2dzdHIgIkUxMDg6IE5vIGV4aXN0ZSB0YWwgdmFyaWFibGU6IKslc7suIgogCi0jOiBldmFsLmM6MTcwNQorIzogZXZhbC5jOjE3MzYKIG1zZ2lkICJFMTA5OiBNaXNzaW5nICc6JyBhZnRlciAnPyciCiBtc2dzdHIgIkUxMDk6IEZhbHRhIKs6uyBkZXNwdelzIGRlIKs/uy4iCiAKLSM6IGV2YWwuYzoyMzI3CisjOiBldmFsLmM6MjM1OAogbXNnaWQgIkUxMTA6IE1pc3NpbmcgJyknIgogbXNnc3RyICJFMTEwOiBGYWx0YSB1biCrKbsuIgogCi0jOiBldmFsLmM6MjM4OQorIzogZXZhbC5jOjI0MjAKIG1zZ2lkICJFMTExOiBNaXNzaW5nICddJyIKIG1zZ3N0ciAiRTExMTogRmFsdGEgdW4gq127LiIKIAotIzogZXZhbC5jOjI0NjYKKyM6IGV2YWwuYzoyNDk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMTI6IE9wdGlvbiBuYW1lIG1pc3Npbmc6ICVzIgogbXNnc3RyICJFMTEyOiBGYWx0YSBlbCBub21icmUgZGUgbGEgb3BjafNuOiAlcy4iCiAKLSM6IGV2YWwuYzoyNDg0CisjOiBldmFsLmM6MjUxNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTEzOiBVbmtub3duIG9wdGlvbjogJXMiCiBtc2dzdHIgIkUxMTM6IE9wY2nzbiBkZXNjb25vY2lkYTogJXMuIgogCi0jOiBldmFsLmM6MjU1NQorIzogZXZhbC5jOjI1ODYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTExNDogTWlzc2luZyBxdW90ZTogJXMiCiBtc2dzdHIgIkUxMTQ6IEZhbHRhbiBjb21pbGxhczogJXMuIgogCi0jOiBldmFsLmM6MjY5OAorIzogZXZhbC5jOjI3MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTExNTogTWlzc2luZyBxdW90ZTogJXMiCiBtc2dzdHIgIkUxMTU6IEZhbHRhbiBjb21pbGxhczogJXMuIgogCi0jOiBldmFsLmM6MzA1NAorIzogZXZhbC5jOjMwOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTExNjogSW52YWxpZCBhcmd1bWVudHMgZm9yIGZ1bmN0aW9uICVzIgogbXNnc3RyICJFMTE2OiBBcmd1bWVudG9zIG5vIHbhbGlkb3MgcGFyYSBsYSBmdW5jafNuICVzLiIKIAotIzogZXZhbC5jOjMwODMKKyM6IGV2YWwuYzozMTIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMTc6IFVua25vd24gZnVuY3Rpb246ICVzIgogbXNnc3RyICJFMTE3OiBGdW5jafNuIGRlc2Nvbm9jaWRhOiAlcy4iCiAKLSM6IGV2YWwuYzozMDg0CisjOiBldmFsLmM6MzEyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTE4OiBUb28gbWFueSBhcmd1bWVudHMgZm9yIGZ1bmN0aW9uOiAlcyIKIG1zZ3N0ciAiRTExODogRGVtYXNpYWRvcyBhcmd1bWVudG9zIHBhcmEgbGEgZnVuY2nzbjogJXMuIgogCi0jOiBldmFsLmM6MzA4NQorIzogZXZhbC5jOjMxMjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTExOTogTm90IGVub3VnaCBhcmd1bWVudHMgZm9yIGZ1bmN0aW9uOiAlcyIKIG1zZ3N0ciAiRTExOTogQXJndW1lbnRvcyBpbnN1ZmljaWVudGVzIHBhcmEgbGEgZnVuY2nzbjogJXMuIgogCi0jOiBldmFsLmM6MzA4NgorIzogZXZhbC5jOjMxMjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEyMDogVXNpbmcgPFNJRD4gbm90IGluIGEgc2NyaXB0IGNvbnRleHQ6ICVzIgogbXNnc3RyICJFMTIwOiBVc2FuZG8gPFNJRD4gZW4gdW4gY29udGV4dG8gcXVlIG5vIGVzIGRlIKtzY3JpcHS7OiAlcy4iCkBAIC00ODIsMTYgKzQ5MSwxNiBAQAogIy4gKiB0aGlzIHdheSBoYXMgdGhlIGNvbXBlbGxpbmcgYWR2YW50YWdlIHRoYXQgdHJhbnNsYXRpb25zIG5lZWQgbm90IHRvCiAjLiAqIGJlIHRvdWNoZWQgYXQgYWxsLiAgU2VlIGJlbG93IHdoYXQgJ29rJyBhbmQgJ3luYycgYXJlIHVzZWQgZm9yLgogIy4KLSM6IGV2YWwuYzozNjg3IGd1aS5jOjQzODUgZ3VpX2d0ay5jOjIwNTkKKyM6IGV2YWwuYzozNzc1IGd1aS5jOjQzODggZ3VpX2d0ay5jOjIwNTkKIG1zZ2lkICImT2siCiBtc2dzdHIgIiZPayIKIAotIzogZXZhbC5jOjQyMjYKKyM6IGV2YWwuYzo0MzgxCiAjLCBjLWZvcm1hdAogbXNnaWQgIistJXMlM2xkIGxpbmVzOiAiCiBtc2dzdHIgIistJXMlM2xkIGztbmVhczogIgogCi0jOiBldmFsLmM6NTQ3NworIzogZXZhbC5jOjU3NTAKIG1zZ2lkICIiCiAiJk9LXG4iCiAiJkNhbmNlbCIKQEAgLTQ5OSwxMzIgKzUwOCwxMzMgQEAKICImQWNlcHRhclxuIgogIiZDYW5jZWxhciIKIAotIzogZXZhbC5jOjU1MTcKKyM6IGV2YWwuYzo1NzkwCiBtc2dpZCAiY2FsbGVkIGlucHV0cmVzdG9yZSgpIG1vcmUgb2Z0ZW4gdGhhbiBpbnB1dHNhdmUoKSIKIG1zZ3N0ciAiSGUgbGxhbWFkbyBhIKtpbnB1dHJlc3RvcmUoKbsgbeFzIHZlY2VzIHF1ZSBhIKtpbnB1dHNhdmUoKbsuIgogCi0jOiBldmFsLmM6NTk3NworIzogZXZhbC5jOjYyNzAKIG1zZ2lkICJFNjU1OiBUb28gbWFueSBzeW1ib2xpYyBsaW5rcyAoY3ljbGU/KSIKIG1zZ3N0ciAiRTY1NTogSGF5IGRlbWFzaWFkb3MgZW5sYWNlcyBzeW1i82xpY29zICi/cmVmZXJlbmNpYSBjaXJjdWxhcj8pIgogCi0jOiBldmFsLmM6NjYyNgorIzogZXZhbC5jOjY5NTMKIG1zZ2lkICJFMjQwOiBObyBjb25uZWN0aW9uIHRvIFZpbSBzZXJ2ZXIiCiBtc2dzdHIgIkUyNDA6IFNpbiBjb25leGnzbiBhbCBzZXJ2aWRvciBWaW0uIgogCi0jOiBldmFsLmM6NjcyNAorIzogZXZhbC5jOjcwNTEKIG1zZ2lkICJFMjc3OiBVbmFibGUgdG8gcmVhZCBhIHNlcnZlciByZXBseSIKIG1zZ3N0ciAiRTI3NzogSW5jYXBheiBkZSBsZWVyIHVuYSByZXNwdWVzdGEgZGVsIHNlcnZpZG9yLiIKIAotIzogZXZhbC5jOjY3NTIKKyM6IGV2YWwuYzo3MDc5CiBtc2dpZCAiRTI1ODogVW5hYmxlIHRvIHNlbmQgdG8gY2xpZW50IgogbXNnc3RyICJFMjU4OiBJbmNhcGF6IGRlIGVudmlhciBhbCBjbGllbnRlLiIKIAotIzogZXZhbC5jOjY4MDAKKyM6IGV2YWwuYzo3MTI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNDE6IFVuYWJsZSB0byBzZW5kIHRvICVzIgogbXNnc3RyICJFMjQxOiBJbmNhcGF6IGRlIGVudmlhciBhICVzLiIKIAotIzogZXZhbC5jOjY5MDAKKyM6IGV2YWwuYzo3MjY2CiBtc2dpZCAiKEludmFsaWQpIgogbXNnc3RyICIoTm8gduFsaWRvKSIKIAotIzogZXZhbC5jOjgwNzgKKyM6IGV2YWwuYzo4NTg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMjE6IFVuZGVmaW5lZCB2YXJpYWJsZTogJXMiCiBtc2dzdHIgIkUxMjE6IFZhcmlhYmxlIHNpbiBkZWZpbmlyOiAlcy4iCiAKLSM6IGV2YWwuYzo4NTEwCisjOiBldmFsLmM6OTAxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDYxOiBJbGxlZ2FsIHZhcmlhYmxlIG5hbWU6ICVzIgogbXNnc3RyICJFMjQ0OiChTm9tYnJlIGlsZWdhbCBwYXJhIHVuYSB2YXJpYWJsZSEgJXMiCiAKLSM6IGV2YWwuYzo4ODAyCisjOiBldmFsLmM6OTMwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTIyOiBGdW5jdGlvbiAlcyBhbHJlYWR5IGV4aXN0cywgYWRkICEgdG8gcmVwbGFjZSBpdCIKIG1zZ3N0ciAiRTIyNjogTGEgZnVuY2nzbiAlcyB5YSBleGlzdGUsIGHxYWRhIKshuyBwYXJhIHJlZW1wbGF6YXJsYS4iCiAKLSM6IGV2YWwuYzo4ODc1CisjOiBldmFsLmM6OTM4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTIzOiBVbmRlZmluZWQgZnVuY3Rpb246ICVzIgogbXNnc3RyICJFMTIzOiBGdW5jafNuIHNpbiBkZWZpbmlyOiAlcy4iCiAKLSM6IGV2YWwuYzo4ODg4CisjOiBldmFsLmM6OTM5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTI0OiBNaXNzaW5nICcoJzogJXMiCiBtc2dzdHIgIkUxMjQ6IEZhbHRhIKsouzogJXMuIgogCi0jOiBldmFsLmM6ODkyMQorIzogZXZhbC5jOjk0MjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEyNTogSWxsZWdhbCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIkUxMjU6IEFyZ3VtZW50byBpbGVnYWw6ICVzLiIKIAotIzogZXZhbC5jOjkwMDAKKyM6IGV2YWwuYzo5NTA2CiBtc2dpZCAiRTEyNjogTWlzc2luZyA6ZW5kZnVuY3Rpb24iCiBtc2dzdHIgIkUxMjY6IEZhbHRhIKs6ZW5kZnVuY3Rpb267LiIKIAotIzogZXZhbC5jOjkxMDcKKyM6IGV2YWwuYzo5NjE1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxMjc6IENhbm5vdCByZWRlZmluZSBmdW5jdGlvbiAlczogSXQgaXMgaW4gdXNlIgogbXNnc3RyICJFMTI3OiBObyBzZSBwdWVkZSByZWRlZmluaXIgbGEgZnVuY2nzbiAlczogZXN04SBlbiB1c28uIgogCi0jOiBldmFsLmM6OTE3NworIzogZXZhbC5jOjk2ODUKIG1zZ2lkICJFMTI5OiBGdW5jdGlvbiBuYW1lIHJlcXVpcmVkIgogbXNnc3RyICJFMTI5OiBTZSByZXF1aWVyZSBlbCBub21icmUgZGUgbGEgZnVuY2nzbi4iCiAKLSM6IGV2YWwuYzo5MjI4CisjOiBldmFsLmM6OTczNgogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTI4OiBGdW5jdGlvbiBuYW1lIG11c3Qgc3RhcnQgd2l0aCBhIGNhcGl0YWw6ICVzIgogbXNnc3RyICJFMTI4OiBFbCBub21icmUgZGUgbGEgZnVuY2nzbiBkZWJlIGVtcGV6YXIgY29uIG1hefpzY3VsYTogJXMuIgogCi0jOiBldmFsLmM6OTQyMAorIzogZXZhbC5jOjk5MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEzMDogVW5kZWZpbmVkIGZ1bmN0aW9uOiAlcyIKIG1zZ3N0ciAiRTEzMDogRnVuY2nzbiBzaW4gZGVmaW5pcjogJXMuIgogCi0jOiBldmFsLmM6OTQyNQorIzogZXZhbC5jOjk5MzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTEzMTogQ2Fubm90IGRlbGV0ZSBmdW5jdGlvbiAlczogSXQgaXMgaW4gdXNlIgotbXNnc3RyICJFMTMxOiBObyBzZSBwdWVkZSBlbGltaW5hciBsYSBmdW5jafNuICVzOiBlc3ThIGVuIHVzby4iCittc2dzdHIgIkUxMzE6IE5vIHNlIHB1ZWRlIGVsaW1pbmFyIGxhIGZ1bmNp824gqyVzuzogZXN04SBlbiB1c28uIgogCi0jOiBldmFsLmM6OTQ3MworIzogZXZhbC5jOjk5ODEKIG1zZ2lkICJFMTMyOiBGdW5jdGlvbiBjYWxsIGRlcHRoIGlzIGhpZ2hlciB0aGFuICdtYXhmdW5jZGVwdGgnIgogbXNnc3RyICIiCiAiRTEzMjogTGEgcHJvZnVuZGlkYWQgZGUgbGEgbGxhbWFkYSBhIGxhIGZ1bmNp824gZXMgbWF5b3IgcXVlIKttYXhmdW5jZGVwdGi7LiIKIAogIyAgYWx3YXlzIHNjcm9sbCB1cCwgZG9uJ3Qgb3ZlcndyaXRlCiAjLiBhbHdheXMgc2Nyb2xsIHVwLCBkb24ndCBvdmVyd3JpdGUKLSM6IGV2YWwuYzo5NTI2CisjOiBldmFsLmM6MTAwMzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiY2FsbGluZyAlcyIKIG1zZ3N0ciAiTGxhbWFuZG8gYSAlcy4iCiAKLSM6IGV2YWwuYzo5NTg4CisjOiBldmFsLmM6MTAwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgYWJvcnRlZCIKIG1zZ3N0ciAiSGUgYWJvcnRhZG8gYSAlcy4iCiAKLSM6IGV2YWwuYzo5NTkwCisjOiBldmFsLmM6MTAwOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgcmV0dXJuaW5nICMlbGQiCiBtc2dzdHIgIiVzIGRldnVlbHZlICMlbGQuIgogCi0jOiBldmFsLmM6OTU5NworIzogZXZhbC5jOjEwMTA1CiAjLCBjLWZvcm1hdAogbXNnaWQgIiVzIHJldHVybmluZyBcIiVzXCIiCiBtc2dzdHIgIiVzIGRldnVlbHZlIKslc7suIgogCiAjICBhbHdheXMgc2Nyb2xsIHVwLCBkb24ndCBvdmVyd3JpdGUKICMuIGFsd2F5cyBzY3JvbGwgdXAsIGRvbid0IG92ZXJ3cml0ZQotIzogZXZhbC5jOjk2MTMgZXhfY21kczIuYzoyMzY5CisjOiBldmFsLmM6MTAxMjEgZXhfY21kczIuYzoyMzk0CiAjLCBjLWZvcm1hdAogbXNnaWQgImNvbnRpbnVpbmcgaW4gJXMiCiBtc2dzdHIgImNvbnRpbnVhbmRvIGVuICVzLiIKIAotIzogZXZhbC5jOjk2MzkKKyM6IGV2YWwuYzoxMDE0NwogbXNnaWQgIkUxMzM6IDpyZXR1cm4gbm90IGluc2lkZSBhIGZ1bmN0aW9uIgogbXNnc3RyICJFMTMzOiCrOnJldHVybrsgbm8gZXN04SBkZW50cm8gZGUgdW5hIGZ1bmNp824uIgogCi0jOiBldmFsLmM6OTk3MAorIzogZXZhbC5jOjEwNDc4CisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICIjIGdsb2JhbCB2YXJpYWJsZXM6XG4iCkBAIC03MjIsNiArNzMyLDcgQEAKIG1zZ3N0ciAiIyBFc3RlIGZpY2hlcm8gdmltaW5mbyBmdWUgZ2VuZXJhZG8gcG9yIFZpbSAlcy5cbiIKIAogIzogZXhfY21kcy5jOjE2NTEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIiMgWW91IG1heSBlZGl0IGl0IGlmIHlvdSdyZSBjYXJlZnVsIVxuIgogIlxuIgpAQCAtNzMwLDYgKzc0MSw3IEBACiAiXG4iCiAKICM6IGV4X2NtZHMuYzoxNjUzCisjLCBjLWZvcm1hdAogbXNnaWQgIiMgVmFsdWUgb2YgJ2VuY29kaW5nJyB3aGVuIHRoaXMgZmlsZSB3YXMgd3JpdHRlblxuIgogbXNnc3RyICIjIFZhbG9yIGRlIKtlbmNvZGluZ7sgY3VhbmRvIHNlIGVzY3JpYmnzIGVzdGUgZmljaGVyb1xuIgogCkBAIC03MzcsNyArNzQ5LDcgQEAKIG1zZ2lkICJJbGxlZ2FsIHN0YXJ0aW5nIGNoYXIiCiBtc2dzdHIgIkNhcuFjdGVyIGRlIGNvbWllbnpvIGlsZWdhbCIKIAotIzogZXhfY21kcy5jOjIwOTcgZXhfY21kczIuYzo3NjAKKyM6IGV4X2NtZHMuYzoyMTA4IGV4X2NtZHMyLmM6NzgyCiBtc2dpZCAiU2F2ZSBBcyIKIG1zZ3N0ciAiR3VhcmRhciBjb21vIgogCkBAIC03NDUsMzUgKzc1NywzNSBAQAogIyAgKiBnb29kIGlkZWEuCiAjLiBPdmVyd3JpdGluZyBhIGZpbGUgdGhhdCBpcyBsb2FkZWQgaW4gYW5vdGhlciBidWZmZXIgaXMgbm90IGEKICMuICogZ29vZCBpZGVhLgotIzogZXhfY21kcy5jOjIxNDAKKyM6IGV4X2NtZHMuYzoyMTUxCiBtc2dpZCAiRTEzOTogRmlsZSBpcyBsb2FkZWQgaW4gYW5vdGhlciBidWZmZXIiCiBtc2dzdHIgIkUxMzk6IEVsIGZpY2hlcm8gZXN04SBjYXJnYWRvIGVuIG90cm8gq2J1ZmZlcrsuIgogCi0jOiBleF9jbWRzLmM6MjE3NAorIzogZXhfY21kcy5jOjIxODUKIG1zZ2lkICJXcml0ZSBwYXJ0aWFsIGZpbGU/IgogbXNnc3RyICK/RXNjcmliaXIgdW4gZmljaGVybyBwYXJjaWFsPyIKIAotIzogZXhfY21kcy5jOjIxODEKKyM6IGV4X2NtZHMuYzoyMTkyCiBtc2dpZCAiRTE0MDogVXNlICEgdG8gd3JpdGUgcGFydGlhbCBidWZmZXIiCiBtc2dzdHIgIkUxNDA6IFVzZSAhIHBhcmEgZXNjcmliaXIgdW4gq2J1ZmZlcrsgcGFyY2lhbC4iCiAKLSM6IGV4X2NtZHMuYzoyMjk2CisjOiBleF9jbWRzLmM6MjMwOQogIywgYy1mb3JtYXQKIG1zZ2lkICJPdmVyd3JpdGUgZXhpc3RpbmcgZmlsZSBcIiUuKnNcIj8iCiBtc2dzdHIgIr9Fc2NyaWJpciBzb2JyZSBlbCBmaWNoZXJvIGV4aXN0ZW50ZSCrJS4qc7s/IgogCi0jOiBleF9jbWRzLmM6MjM2NworIzogZXhfY21kcy5jOjIzODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE0MTogTm8gZmlsZSBuYW1lIGZvciBidWZmZXIgJWxkIgogbXNnc3RyICJFMTQxOiBObyBleGlzdGUgdW4gbm9tYnJlIGRlIGZpY2hlcm8gcGFyYSBlbCCrYnVmZmVyuyAlbGQiCiAKLSM6IGV4X2NtZHMuYzoyNDA2CisjOiBleF9jbWRzLmM6MjQxOQogbXNnaWQgIkUxNDI6IEZpbGUgbm90IHdyaXR0ZW46IFdyaXRpbmcgaXMgZGlzYWJsZWQgYnkgJ3dyaXRlJyBvcHRpb24iCiBtc2dzdHIgIiIKICJFMTQyOiBObyBzZSBoYSBlc2NyaXRvIGVsIGZpY2hlcm86IGVzY3JpdHVyYSBkZXNhY3RpdmFkYSBwb3IgbGEgb3BjafNuICIKICKrd3JpdGW7LiIKIAotIzogZXhfY21kcy5jOjI0MjYKKyM6IGV4X2NtZHMuYzoyNDM5CiAjLCBjLWZvcm1hdAogbXNnaWQgIiIKICIncmVhZG9ubHknIG9wdGlvbiBpcyBzZXQgZm9yIFwiJS4qc1wiLlxuIgpAQCAtNzgyLDY5ICs3OTQsNzAgQEAKICJTZSBoYSBhY3RpdmFkbyBsYSBvcGNp824gq3JlYWRvbmx5uyBwYXJhIKslLipzuy5cbiIKICK/UXVpZXJlIGVzY3JpYmlybG8gZGUgdG9kYXMgZm9ybWFzPyIKIAotIzogZXhfY21kcy5jOjI1OTkKKyM6IGV4X2NtZHMuYzoyNjEyCiBtc2dpZCAiRWRpdCBGaWxlIgogbXNnc3RyICJFZGl0YXIgZmljaGVybyIKIAotIzogZXhfY21kcy5jOjMyMDYKKyM6IGV4X2NtZHMuYzozMjE5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNDM6IEF1dG9jb21tYW5kcyB1bmV4cGVjdGVkbHkgZGVsZXRlZCBuZXcgYnVmZmVyICVzIgogbXNnc3RyICIiCiAiRTE0MzogTG9zIGF1dG9jb21hbmRvcyBoYW4gZWxpbWluYWRvIGluZXNwZXJhZGFtZW50ZSBlbCBudWV2byCrYnVmZmVyuyAlcyIKIAotIzogZXhfY21kcy5jOjMzNDAKKyM6IGV4X2NtZHMuYzozMzUzCiBtc2dpZCAiRTE0NDogbm9uLW51bWVyaWMgYXJndW1lbnQgdG8gOnoiCiBtc2dzdHIgIkUxNDQ6IEFyZ3VtZW50byBubyBudW3pcmljbyBwYXJhIKs6ersuIgogCi0jOiBleF9jbWRzLmM6MzQyNQorIzogZXhfY21kcy5jOjM0MzgKIG1zZ2lkICJFMTQ1OiBTaGVsbCBjb21tYW5kcyBub3QgYWxsb3dlZCBpbiBydmltIgogbXNnc3RyICJFMTQ1OiBSdmltIG5vIHBlcm1pdGUgYWNjZXNvIGFsIHByb2Nlc2Fkb3IgZGUgY29tYW5kb3MuIgogCi0jOiBleF9jbWRzLmM6MzUzMgorIzogZXhfY21kcy5jOjM1NDUKIG1zZ2lkICJFMTQ2OiBSZWd1bGFyIGV4cHJlc3Npb25zIGNhbid0IGJlIGRlbGltaXRlZCBieSBsZXR0ZXJzIgogbXNnc3RyICJFMTQ2OiBMYXMgZXhwcmVzaW9uZXMgcmVndWxhcmVzIG5vIHNlIHB1ZWRlbiBkZWxpbWl0YXIgY29uIGxldHJhcy4iCiAKLSM6IGV4X2NtZHMuYzozODc4CisjOiBleF9jbWRzLmM6Mzg5NwogIywgYy1mb3JtYXQKIG1zZ2lkICJyZXBsYWNlIHdpdGggJXMgKHkvbi9hL3EvbC9eRS9eWSk/IgogbXNnc3RyICK/UmVlbXBsYXphciBjb24gJXMgKHkvbi9hL3EvbC9eRS9eWSk/IgogCi0jOiBleF9jbWRzLmM6NDI3MQorIzogZXhfY21kcy5jOjQyOTMKIG1zZ2lkICIoSW50ZXJydXB0ZWQpICIKIG1zZ3N0ciAiKEludGVycnVtcGlkbykiCiAKLSM6IGV4X2NtZHMuYzo0Mjc1CisjOiBleF9jbWRzLmM6NDI5NwogbXNnaWQgIjEgc3Vic3RpdHV0aW9uIgogbXNnc3RyICIxIHN1c3RpdHVjafNuIgogCi0jOiBleF9jbWRzLmM6NDI3NworIzogZXhfY21kcy5jOjQyOTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIHN1YnN0aXR1dGlvbnMiCiBtc2dzdHIgIiVsZCBzdXN0aXR1Y2lvbmVzIgogCi0jOiBleF9jbWRzLmM6NDI4MAorIzogZXhfY21kcy5jOjQzMDIKIG1zZ2lkICIgb24gMSBsaW5lIgogbXNnc3RyICIgZW4gMSBs7W5lYSIKIAotIzogZXhfY21kcy5jOjQyODIKKyM6IGV4X2NtZHMuYzo0MzA0CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBvbiAlbGQgbGluZXMiCiBtc2dzdHIgIiBlbiAlbGQgbO1uZWFzIgogCi0jOiBleF9jbWRzLmM6NDMzMworIzogZXhfY21kcy5jOjQzNTUKIG1zZ2lkICJFMTQ3OiBDYW5ub3QgZG8gOmdsb2JhbCByZWN1cnNpdmUiCiBtc2dzdHIgIkUxNDc6IKs6Z2xvYmFsuyBubyBwdWVkZSBzZXIgcmVjdXJzaXZvLiIKIAotIzogZXhfY21kcy5jOjQzNjgKKyM6IGV4X2NtZHMuYzo0MzkwCiBtc2dpZCAiRTE0ODogUmVndWxhciBleHByZXNzaW9uIG1pc3NpbmcgZnJvbSBnbG9iYWwiCiBtc2dzdHIgIkUxNDg6IEZhbHRhIHVuYSBleHByZXNp824gcmVndWxhciBlbiBlbCBjb21hbmRvIGdsb2JhbC4iCiAKLSM6IGV4X2NtZHMuYzo0NDE3CisjOiBleF9jbWRzLmM6NDQzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJQYXR0ZXJuIGZvdW5kIGluIGV2ZXJ5IGxpbmU6ICVzIgogbXNnc3RyICJQYXRy824gZW5jb250cmFkbyBlbiBjYWRhIGztbmVhOiAlcyIKIAotIzogZXhfY21kcy5jOjQ0OTgKKyM6IGV4X2NtZHMuYzo0NTIwCisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICIjIExhc3QgU3Vic3RpdHV0ZSBTdHJpbmc6XG4iCkBAIC04NTQsOTcgKzg2Nyw5NyBAQAogIiMg2mx0aW1hIGNhZGVuYSBkZSBzdXN0aXR1Y2nzbjpcbiIKICIkIgogCi0jOiBleF9jbWRzLmM6NDU5OQorIzogZXhfY21kcy5jOjQ2MjEKIG1zZ2lkICJFNDc4OiBEb24ndCBwYW5pYyEiCiBtc2dzdHIgIkU0Nzg6IKFObyBlbnRyZSBlbiBw4W5pY28hIgogCi0jOiBleF9jbWRzLmM6NDY1MQorIzogZXhfY21kcy5jOjQ2NjcKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTY2MTogU29ycnksIG5vICclcycgaGVscCBmb3IgJXMiCiBtc2dzdHIgIkUxNDk6IExvIHNpZW50bywgbm8gaGF5IGF5dWRhIKslc7sgcGFyYSAlcy4iCiAKLSM6IGV4X2NtZHMuYzo0NjU0CisjOiBleF9jbWRzLmM6NDY3MAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTQ5OiBTb3JyeSwgbm8gaGVscCBmb3IgJXMiCiBtc2dzdHIgIkUxNDk6IExvIHNpZW50bywgbm8gaGF5IGF5dWRhIHBhcmEgJXMiCiAKLSM6IGV4X2NtZHMuYzo0Njg4CisjOiBleF9jbWRzLmM6NDcwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJTb3JyeSwgaGVscCBmaWxlIFwiJXNcIiBub3QgZm91bmQiCiBtc2dzdHIgIkxvIHNpZW50bywgbm8gZW5jdWVudHJvIGVsIGZpY2hlcm8gZGUgYXl1ZGEgqyVzuy4iCiAKLSM6IGV4X2NtZHMuYzo1MTkxCisjOiBleF9jbWRzLmM6NTIzMQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTUwOiBOb3QgYSBkaXJlY3Rvcnk6ICVzIgogbXNnc3RyICJFMTUwOiBObyBlcyB1biBkaXJlY3RvcmlvOiAlcyIKIAotIzogZXhfY21kcy5jOjUzMzIKKyM6IGV4X2NtZHMuYzo1MzcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNTI6IENhbm5vdCBvcGVuICVzIGZvciB3cml0aW5nIgogbXNnc3RyICJFMTUyOiBObyBzZSBwdWVkZSBhYnJpciAlcyBwYXJhIGVzY3JpdHVyYS4iCiAKLSM6IGV4X2NtZHMuYzo1MzY4CisjOiBleF9jbWRzLmM6NTQwOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTUzOiBVbmFibGUgdG8gb3BlbiAlcyBmb3IgcmVhZGluZyIKIG1zZ3N0ciAiRTE1MzogSW5jYXBheiBkZSBhYnJpciAlcyBwYXJhIGxlY3R1cmEiCiAKLSM6IGV4X2NtZHMuYzo1NDA0CisjOiBleF9jbWRzLmM6NTQ0NAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjcwOiBNaXggb2YgaGVscCBmaWxlIGVuY29kaW5ncyB3aXRoaW4gYSBsYW5ndWFnZTogJXMiCiBtc2dzdHIgIiIKICJFNjcwOiBNZXpjbGEgZGUgY29kaWZpY2FjaW9uZXMgZGUgZmljaGVyb3MgZGUgYXl1ZGEgZGVudHJvIGRlIHVuIGxlbmd1YWplOiAlcyIKIAotIzogZXhfY21kcy5jOjU0ODMKKyM6IGV4X2NtZHMuYzo1NTIzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNTQ6IER1cGxpY2F0ZSB0YWcgXCIlc1wiIGluIGZpbGUgJXMvJXMiCiBtc2dzdHIgIkUxNTQ6IFRhZyCrJXO7IGR1cGxpY2FkYSBlbiBlbCBmaWNoZXJvICVzLyVzIgogCi0jOiBleF9jbWRzLmM6NTU5OQorIzogZXhfY21kcy5jOjU2MzkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE2MDogVW5rbm93biBzaWduIGNvbW1hbmQ6ICVzIgogbXNnc3RyICJFMTYwOiBDb21hbmRvIGRlc2Nvbm9jaWRvIGRlIHNpZ25vOiAlcyIKIAotIzogZXhfY21kcy5jOjU2MTkKKyM6IGV4X2NtZHMuYzo1NjU5CiBtc2dpZCAiRTE1NjogTWlzc2luZyBzaWduIG5hbWUiCiBtc2dzdHIgIkUxNTY6IEZhbHRhIGVsIG5vbWJyZSBkZWwgc2lnbm8uIgogCi0jOiBleF9jbWRzLmM6NTY2NQorIzogZXhfY21kcy5jOjU3MDUKIG1zZ2lkICJFNjEyOiBUb28gbWFueSBzaWducyBkZWZpbmVkIgogbXNnc3RyICJFNjEyOiBEZW1hc2lhZG9zIHNpZ25vcyBkZWZpbmlkb3MuIgogCi0jOiBleF9jbWRzLmM6NTczMworIzogZXhfY21kcy5jOjU3NzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTIzOTogSW52YWxpZCBzaWduIHRleHQ6ICVzIgogbXNnc3RyICJFMjM5OiBUZXh0byBkZSBzaWdubyBubyB24WxpZG86ICVzIgogCi0jOiBleF9jbWRzLmM6NTc2NCBleF9jbWRzLmM6NTk1NQorIzogZXhfY21kcy5jOjU4MDQgZXhfY21kcy5jOjU5OTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE1NTogVW5rbm93biBzaWduOiAlcyIKIG1zZ3N0ciAiRTE1NTogU2lnbm8gZGVzY29ub2NpZGE6ICVzIgogCi0jOiBleF9jbWRzLmM6NTgxMworIzogZXhfY21kcy5jOjU4NTMKIG1zZ2lkICJFMTU5OiBNaXNzaW5nIHNpZ24gbnVtYmVyIgogbXNnc3RyICJFMTU5OiBGYWx0YSBlbCBu+m1lcm8gZGVsIHNpZ25vLiIKIAotIzogZXhfY21kcy5jOjU4OTUKKyM6IGV4X2NtZHMuYzo1OTM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNTg6IEludmFsaWQgYnVmZmVyIG5hbWU6ICVzIgogbXNnc3RyICJFMTU5OiBFbCBub21icmUgZGVsIKtidWZmZXK7IG5vIGVzIHbhbGlkbzogJXMiCiAKLSM6IGV4X2NtZHMuYzo1OTM0CisjOiBleF9jbWRzLmM6NTk3NAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTU3OiBJbnZhbGlkIHNpZ24gSUQ6ICVsZCIKIG1zZ3N0ciAiRTE1NzogRWwgaWQgZGVsIHNpZ25vIG5vIGVzIHbhbGlkbzogJWxkIgogCi0jOiBleF9jbWRzLmM6NjAwNAorIzogZXhfY21kcy5jOjYwNDQKIG1zZ2lkICIgKE5PVCBGT1VORCkiCiBtc2dzdHIgIiAoTk8gRU5DT05UUkFETykiCiAKLSM6IGV4X2NtZHMuYzo2MDA2CisjOiBleF9jbWRzLmM6NjA0NgogbXNnaWQgIiAobm90IHN1cHBvcnRlZCkiCiBtc2dzdHIgIiAobm8gaGF5IGFwb3lvIHBhcmEgbGEgZnVuY2nzbiBwZWRpZGEpIgogCi0jOiBleF9jbWRzLmM6NjEwNQorIzogZXhfY21kcy5jOjYxNDUKIG1zZ2lkICJbRGVsZXRlZF0iCiBtc2dzdHIgIltTdXByaW1pZG9dIgogCkBAIC05NTIsNyArOTY1LDcgQEAKIG1zZ2lkICJFbnRlcmluZyBEZWJ1ZyBtb2RlLiAgVHlwZSBcImNvbnRcIiB0byBjb250aW51ZS4iCiBtc2dzdHIgIkVudHJhbmRvIGFsIG1vZG8gZGUgZGVwdXJhY2nzbi4gT3ByaW1hIFwiY29udFwiIHBhcmEgY29udGludWFyLiIKIAotIzogZXhfY21kczIuYzo5NiBleF9kb2NtZC5jOjk2OAorIzogZXhfY21kczIuYzo5NiBleF9kb2NtZC5jOjEwMDUKICMsIGMtZm9ybWF0CiBtc2dpZCAibGluZSAlbGQ6ICVzIgogbXNnc3RyICJs7W5lYSAlbGQ6ICVzIgpAQCAtOTY3LDMwMSArOTgwLDMyNCBAQAogbXNnaWQgIkJyZWFrcG9pbnQgaW4gXCIlcyVzXCIgbGluZSAlbGQiCiBtc2dzdHIgIqtCcmVha3BvaW50uyBlbiCrJXMlc7sgbO1uZWEgJWxkIgogCi0jOiBleF9jbWRzMi5jOjUzOQorIzogZXhfY21kczIuYzo1NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE2MTogQnJlYWtwb2ludCBub3QgZm91bmQ6ICVzIgogbXNnc3RyICJFMTYxOiBObyBzZSBoYSBlbmNvbnRyYWRvIGVsIKticmVha3BvaW50uzogJXMiCiAKLSM6IGV4X2NtZHMyLmM6NTY1CisjOiBleF9jbWRzMi5jOjU4NwogbXNnaWQgIk5vIGJyZWFrcG9pbnRzIGRlZmluZWQiCiBtc2dzdHIgIk5vIGhheSCrYnJlYWtwb2ludHO7IGRlZmluaWRvcy4iCiAKLSM6IGV4X2NtZHMyLmM6NTcwCisjOiBleF9jbWRzMi5jOjU5MgogIywgYy1mb3JtYXQKIG1zZ2lkICIlM2QgICVzICVzICBsaW5lICVsZCIKIG1zZ3N0ciAiJTNkICAlcyAlcyAgbO1uZWEgJWxkIgogCi0jOiBleF9jbWRzMi5jOjc4NQorIzogZXhfY21kczIuYzo4MDcKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2F2ZSBjaGFuZ2VzIHRvIFwiJS4qc1wiPyIKIG1zZ3N0ciAiv0d1YXJkYXIgbG9zIGNhbWJpb3MgZW4gqyUuKnO7PyIKIAotIzogZXhfY21kczIuYzo3ODcgZXhfZG9jbWQuYzo5NDA3CisjOiBleF9jbWRzMi5jOjgwOSBleF9kb2NtZC5jOjk0NzIKIG1zZ2lkICJVbnRpdGxlZCIKIG1zZ3N0ciAiU2luIHTtdHVsbyIKIAotIzogZXhfY21kczIuYzo5MTQKKyM6IGV4X2NtZHMyLmM6OTM2CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNjI6IE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIGZvciBidWZmZXIgXCIlc1wiIgogbXNnc3RyICJFMTYyOiBObyBzZSBoYSBncmFiYWRvIG5hZGEgZGVzZGUgZWwg+mx0aW1vIGNhbWJpbyBlbiBlbCBidWZmZXIgqyVzuyIKIAotIzogZXhfY21kczIuYzo5ODMKKyM6IGV4X2NtZHMyLmM6MTAwNwogbXNnaWQgIldhcm5pbmc6IEVudGVyZWQgb3RoZXIgYnVmZmVyIHVuZXhwZWN0ZWRseSAoY2hlY2sgYXV0b2NvbW1hbmRzKSIKIG1zZ3N0ciAiIgogIkFkdmVydGVuY2lhOiBzZSBoYSBlbnRyYWRvIGVuIG90cm8gq2J1ZmZlcrsgZW4gZm9ybWEgaW5lc3BlcmFkYSAodmVyaWZpcXVlICIKICJsb3MgYXV0b2NvbWFuZG9zKS4iCiAKLSM6IGV4X2NtZHMyLmM6MTM4NgorIzogZXhfY21kczIuYzoxNDExCiBtc2dpZCAiRTE2MzogVGhlcmUgaXMgb25seSBvbmUgZmlsZSB0byBlZGl0IgogbXNnc3RyICJFMTYzOiBIYXkgc/NsbyB1biBmaWNoZXJvIHF1ZSBlZGl0YXIuIgogCi0jOiBleF9jbWRzMi5jOjEzODgKKyM6IGV4X2NtZHMyLmM6MTQxMwogbXNnaWQgIkUxNjQ6IENhbm5vdCBnbyBiZWZvcmUgZmlyc3QgZmlsZSIKIG1zZ3N0ciAiRTE2NDogTm8gc2UgcHVlZGUgaXIgYW50ZXMgZGVsIHByaW1lciBmaWNoZXJvLiIKIAotIzogZXhfY21kczIuYzoxMzkwCisjOiBleF9jbWRzMi5jOjE0MTUKIG1zZ2lkICJFMTY1OiBDYW5ub3QgZ28gYmV5b25kIGxhc3QgZmlsZSIKIG1zZ3N0ciAiRTE2NTogTm8gc2UgcHVlZGUgaXIgbeFzIGFsbOEgZGVsIPpsdGltbyBmaWNoZXJvLiIKIAotIzogZXhfY21kczIuYzoxODAzCisjOiBleF9jbWRzMi5jOjE4MjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTY2NjogY29tcGlsZXIgbm90IHN1cHBvcnRlZDogJXMiCiBtc2dzdHIgIkU2NjY6IEVsIGNvbXBpbGFkb3Igbm8gdGllbmUgYXBveW8gZW4gZXN0YSB2ZXJzafNuOiAlcyIKIAotIzogZXhfY21kczIuYzoxOTAwCisjOiBleF9jbWRzMi5jOjE5MjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2VhcmNoaW5nIGZvciBcIiVzXCIgaW4gXCIlc1wiIgogbXNnc3RyICJCdXNjYW5kbyCrJXO7IGVuIKslc7suIgogCi0jOiBleF9jbWRzMi5jOjE5MjIKKyM6IGV4X2NtZHMyLmM6MTk0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJTZWFyY2hpbmcgZm9yIFwiJXNcIiIKIG1zZ3N0ciAiQnVzY2FuZG8gqyVzuy4iCiAKLSM6IGV4X2NtZHMyLmM6MTk0NAorIzogZXhfY21kczIuYzoxOTY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIm5vdCBmb3VuZCBpbiAncnVudGltZXBhdGgnOiBcIiVzXCIiCiBtc2dzdHIgIk5vIHNlIGhhIGVuY29udHJhZG8gZW4gq3J1bnRpbWVwYXRouzogqyVzuyIKIAotIzogZXhfY21kczIuYzoxOTc4CisjOiBleF9jbWRzMi5jOjIwMDMKIG1zZ2lkICJTb3VyY2UgVmltIHNjcmlwdCIKIG1zZ3N0ciAiRWplY3V0ZSBzY3JpcHQgZGUgVmltLiIKIAotIzogZXhfY21kczIuYzoyMTY4CisjOiBleF9jbWRzMi5jOjIxOTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiQ2Fubm90IHNvdXJjZSBhIGRpcmVjdG9yeTogXCIlc1wiIgogbXNnc3RyICJObyBzZSBwdWVkZSBlamVjdXRhciB1biBkaXJlY3RvcmlvOiCrJXO7LiIKIAotIzogZXhfY21kczIuYzoyMjA2CisjOiBleF9jbWRzMi5jOjIyMzEKICMsIGMtZm9ybWF0CiBtc2dpZCAiY291bGQgbm90IHNvdXJjZSBcIiVzXCIiCiBtc2dzdHIgIk5vIHNlIHB1ZG8gZWplY3V0YXIgqyVzuy4iCiAKLSM6IGV4X2NtZHMyLmM6MjIwOAorIzogZXhfY21kczIuYzoyMjMzCiAjLCBjLWZvcm1hdAogbXNnaWQgImxpbmUgJWxkOiBjb3VsZCBub3Qgc291cmNlIFwiJXNcIiIKIG1zZ3N0ciAibO1uZWEgJWxkOiBubyBzZSBwdWRvIGVqZWN1dGFyIKslc7suIgogCi0jOiBleF9jbWRzMi5jOjIyMjIKKyM6IGV4X2NtZHMyLmM6MjI0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJzb3VyY2luZyBcIiVzXCIiCiBtc2dzdHIgImVqZWN1dGFuZG8gqyVzuy4iCiAKLSM6IGV4X2NtZHMyLmM6MjIyNAorIzogZXhfY21kczIuYzoyMjQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImxpbmUgJWxkOiBzb3VyY2luZyBcIiVzXCIiCiBtc2dzdHIgImztbmVhICVsZDogZWplY3V0YW5kbyCrJXO7LiIKIAotIzogZXhfY21kczIuYzoyMzY3CisjOiBleF9jbWRzMi5jOjIzOTIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZmluaXNoZWQgc291cmNpbmcgJXMiCiBtc2dzdHIgIkxhIGVqZWN1Y2nzbiBkZSCrJXO7IGhhIHRlcm1pbmFkby4iCiAKLSM6IGV4X2NtZHMyLmM6MjcxMQorIzogZXhfY21kczIuYzoyNzM4CiBtc2dpZCAiVzE1OiBXYXJuaW5nOiBXcm9uZyBsaW5lIHNlcGFyYXRvciwgXk0gbWF5IGJlIG1pc3NpbmciCiBtc2dzdHIgIlcxNTogQWR2ZXJ0ZW5jaWE6IHNlcGFyYWRvciBkZSBs7W5lYSBlcXVpdm9jYWRvLCBwdWVkZSBxdWUgZmFsdGUgXk0iCiAKLSM6IGV4X2NtZHMyLmM6Mjc2MAorIzogZXhfY21kczIuYzoyNzg4CiBtc2dpZCAiRTE2NzogOnNjcmlwdGVuY29kaW5nIHVzZWQgb3V0c2lkZSBvZiBhIHNvdXJjZWQgZmlsZSIKIG1zZ3N0ciAiIgogIkUxNjc6IEhhIHVzYWRvIKs6c2NyaXB0ZW5jb2Rpbme7IGZ1ZXJhIGRlIHVuIGZpY2hlcm8gZGUgaW5zdHJ1Y2Npb25lcyAiCiAiZWplY3V0YWJsZXMuIgogCi0jOiBleF9jbWRzMi5jOjI3OTMKKyM6IGV4X2NtZHMyLmM6MjgyMQogbXNnaWQgIkUxNjg6IDpmaW5pc2ggdXNlZCBvdXRzaWRlIG9mIGEgc291cmNlZCBmaWxlIgogbXNnc3RyICIiCiAiRTE2ODogSGEgdXNhZG8gqzpmaW5pc2i7IGZ1ZXJhIGRlIHVuIGZpY2hlcm8gZGUgaW5zdHJ1Y2Npb25lcyBlamVjdXRhYmxlcy4iCiAKLSM6IGV4X2NtZHMyLmM6MzI0MgorIzogZXhfY21kczIuYzozMjcwCiAjLCBjLWZvcm1hdAogbXNnaWQgIlBhZ2UgJWQiCiBtc2dzdHIgIlDhZ2luYSAlZCIKIAotIzogZXhfY21kczIuYzozMzk4CisjOiBleF9jbWRzMi5jOjM0MjYKIG1zZ2lkICJObyB0ZXh0IHRvIGJlIHByaW50ZWQiCiBtc2dzdHIgIk5vIGhheSB0ZXh0byBxdWUgaW1wcmltaXIuIgogCi0jOiBleF9jbWRzMi5jOjM0NzYKKyM6IGV4X2NtZHMyLmM6MzUwNAogIywgYy1mb3JtYXQKIG1zZ2lkICJQcmludGluZyBwYWdlICVkICglZCUlKSIKIG1zZ3N0ciAiSW1wcmltaWVuZG8gbGEgcOFnaW5hICVkICglZCUlKS4iCiAKLSM6IGV4X2NtZHMyLmM6MzQ4OAorIzogZXhfY21kczIuYzozNTE2CiAjLCBjLWZvcm1hdAogbXNnaWQgIiBDb3B5ICVkIG9mICVkIgogbXNnc3RyICJDb3BpYSAlZCBkZSAlZCIKIAotIzogZXhfY21kczIuYzozNTQ2CisjOiBleF9jbWRzMi5jOjM1NzQKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJpbnRlZDogJXMiCiBtc2dzdHIgIkltcHJlc286ICVzLiIKIAotIzogZXhfY21kczIuYzozNTUzCisjOiBleF9jbWRzMi5jOjM1ODEKKyMsIGMtZm9ybWF0CiBtc2dpZCAiUHJpbnRpbmcgYWJvcnRlZCIKIG1zZ3N0ciAiSW1wcmVzafNuIGFib3J0YWRhLiIKIAotIzogZXhfY21kczIuYzozOTE4CisjOiBleF9jbWRzMi5jOjQyMzUKIG1zZ2lkICJFNDU1OiBFcnJvciB3cml0aW5nIHRvIFBvc3RTY3JpcHQgb3V0cHV0IGZpbGUiCiBtc2dzdHIgIkU0NTU6IEVycm9yIGVzY3JpYmllbmRvIGFsIGZpY2hlcm8gUG9zdFNjcmlwdCBkZSBzYWxpZGEuIgogCi0jOiBleF9jbWRzMi5jOjQxOTMKKyM6IGV4X2NtZHMyLmM6NDY5NQogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjI0OiBDYW4ndCBvcGVuIGZpbGUgXCIlc1wiIgogbXNnc3RyICJFNDU2OiBObyBzZSBwdWVkZSBhYnJpciBlbCBmaWNoZXJvIKslc7suIgogCi0jOiBleF9jbWRzMi5jOjQyMDMgZXhfY21kczIuYzo0ODI4CisjOiBleF9jbWRzMi5jOjQ3MDUgZXhfY21kczIuYzo1NTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0NTc6IENhbid0IHJlYWQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIFwiJXNcIiIKIG1zZ3N0ciAiRTQ1NzogTm8gc2UgcHVlZGUgbGVlciBlbCBmaWNoZXJvIGRlIHJlY3Vyc29zIGRlIFBvc3RTY3JpcHQgqyVzuy4iCiAKLSM6IGV4X2NtZHMyLmM6NDIxMQorIzogZXhfY21kczIuYzo0NzIxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU2MTg6IGZpbGUgXCIlc1wiIGlzIG5vdCBhIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSIKIG1zZ3N0ciAiRTYxODogRWwgZmljaGVybyBcIiVzXCIgbm8gZXMgdW4gZmljaGVybyBkZSByZWN1cnNvcyBQb3N0U2NyaXB0LiIKIAotIzogZXhfY21kczIuYzo0MjI2IGV4X2NtZHMyLmM6NDI0NiBleF9jbWRzMi5jOjQyNjEgZXhfY21kczIuYzo0MjgzCisjOiBleF9jbWRzMi5jOjQ3MzkgZXhfY21kczIuYzo0NzU4IGV4X2NtZHMyLmM6NDgwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjE5OiBmaWxlIFwiJXNcIiBpcyBub3QgYSBzdXBwb3J0ZWQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIgogbXNnc3RyICJFNjE5OiBFbCBmaWNoZXJvIKslc7sgbm8gZXMgdW4gcmVjdXJzbyBQb3N0U2NyaXB0IHF1ZSBwdWVkYSB1c2FyLiIKIAotIzogZXhfY21kczIuYzo0MzEzCisjOiBleF9jbWRzMi5jOjQ4MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTYyMTogXCIlc1wiIHJlc291cmNlIGZpbGUgaGFzIHdyb25nIHZlcnNpb24iCiBtc2dzdHIgIkU2MjE6IEVsIGZpY2hlcm8gZGUgcmVjdXJzb3MgqyVzuyB0aWVuZSBsYSB2ZXJzafNuIGVxdWl2b2NhZGEuIgogCi0jOiBleF9jbWRzMi5jOjQ3ODAKKyM6IGV4X2NtZHMyLmM6NTMwMAorbXNnaWQgIkU2NzM6IEluY29tcGF0aWJsZSBtdWx0aS1ieXRlIGVuY29kaW5nIGFuZCBjaGFyYWN0ZXIgc2V0LiIKK21zZ3N0ciAiIgorIkU2NzM6IExhIGNvZGlmaWNhY2nzbiCrbXVsdGktYnl0ZbsgeSBlbCBj82RpZ28gZGUgcOFnaW5hIGVuIHVzbyBzb24gIgorImluY29tcGF0aWJsZXMuIgorCisjOiBleF9jbWRzMi5jOjUzMTcKK21zZ2lkICJFNjc0OiBwcmludG1iY2hhcnNldCBjYW5ub3QgYmUgZW1wdHkgd2l0aCBtdWx0aS1ieXRlIGVuY29kaW5nLiIKK21zZ3N0ciAiIgorIkU2NzQ6IKtwcmludG1iY2hhcnNldLsgbm8gcHVlZGUgZXN0YXIgdmFjaW8gY3VhbmRvIHNlIHVzYSB1bmEgY29kaWZpY2FjafNuICIKKyKrbXVsdGktYnl0ZbsuIgorCisjOiBleF9jbWRzMi5jOjUzMzUKK21zZ2lkICJFNjc1OiBObyBkZWZhdWx0IGZvbnQgc3BlY2ZpZmVkIGZvciBtdWx0aS1ieXRlIHByaW50aW5nLiIKK21zZ3N0ciAiIgorIkU2NzU6IE5vIGhhIGVzcGVjaWZpY2FkbyB1bmEgZnVlbnRlIGRlIGltcHJlc2nzbiBwb3IgZGVmZWN0byBwYXJhIGxhICIKKyJpbXByZXNp824gq211bHRpLWJ5dGW7LiIKKworIzogZXhfY21kczIuYzo1NTI4CiBtc2dpZCAiRTMyNDogQ2FuJ3Qgb3BlbiBQb3N0U2NyaXB0IG91dHB1dCBmaWxlIgogbXNnc3RyICJFMzI0OiBObyBwdWVkbyBhYnJpciBlbCBmaWNoZXJvIFBvc3RTY3JpcHQgZGUgc2FsaWRhLiIKIAotIzogZXhfY21kczIuYzo0ODEzCisjOiBleF9jbWRzMi5jOjU1NjUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQ1NjogQ2FuJ3Qgb3BlbiBmaWxlIFwiJXNcIiIKIG1zZ3N0ciAiRTQ1NjogTm8gcHVlZG8gYWJyaXIgZWwgZmljaGVybyCrJXO7LiIKIAotIzogZXhfY21kczIuYzo0OTMyCisjOiBleF9jbWRzMi5jOjU2OTYKIG1zZ2lkICJFNDU2OiBDYW4ndCBmaW5kIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcInByb2xvZy5wc1wiIgogbXNnc3RyICJFNDU2OiBObyBlbmN1ZW50cm8gZWwgZmljaGVybyBkZSByZWN1cnNvcyBQb3N0U2NyaXB0IKtwcm9sb2cucHO7LiIKIAotIzogZXhfY21kczIuYzo0OTYzCisjOiBleF9jbWRzMi5jOjU3MDkKK21zZ2lkICJFNDU2OiBDYW4ndCBmaW5kIFBvc3RTY3JpcHQgcmVzb3VyY2UgZmlsZSBcImNpZGZvbnQucHNcIiIKK21zZ3N0ciAiRTQ1NjogTm8gaGFsbG8gZWwgZmljaGVybyBkZSByZWN1cnNvcyBQb3N0U2NyaXB0IKtjaWRmb250LnBzuy4iCisKKyM6IGV4X2NtZHMyLmM6NTc0NyBleF9jbWRzMi5jOjU3NjkgZXhfY21kczIuYzo1Nzk4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0NTY6IENhbid0IGZpbmQgUG9zdFNjcmlwdCByZXNvdXJjZSBmaWxlIFwiJXMucHNcIiIKIG1zZ3N0ciAiRTQ1NjogTm8gaGFsbG8gZWwgZmljaGVybyBkZSByZWN1cnNvcyBQb3N0U2NyaXB0IKslcy5wc7suIgogCi0jOiBleF9jbWRzMi5jOjQ5ODEKKyM6IGV4X2NtZHMyLmM6NTc4NQogIywgYy1mb3JtYXQKLW1zZ2lkICJFNjIwOiBVbmFibGUgdG8gY29udmVydCBmcm9tIG11bHRpLWJ5dGUgdG8gXCIlc1wiIGVuY29kaW5nIgotbXNnc3RyICJFNjIwOiBObyBwdWVkbyBjb252ZXJ0aXIgZGUgq211bHRpLWJ5dGW7IGEgbGEgY29kaWZpY2FjafNuIFwiJXNcIi4iCittc2dpZCAiRTYyMDogVW5hYmxlIHRvIGNvbnZlcnQgdG8gcHJpbnQgZW5jb2RpbmcgXCIlc1wiIgorbXNnc3RyICJFNjIwOiBObyBwdWVkbyBjb252ZXJ0aXIgYSBsYSBjb2RpZmljYWNp824gZGUgaW1wcmVzafNuIKslc7suIgogCi0jOiBleF9jbWRzMi5jOjUxMDYKKyM6IGV4X2NtZHMyLmM6NjAzOQogbXNnaWQgIlNlbmRpbmcgdG8gcHJpbnRlci4uLiIKIG1zZ3N0ciAiRW527WFuZG8gYSBsYSBpbXByZXNvcmEuLi4iCiAKLSM6IGV4X2NtZHMyLmM6NTExMAorIzogZXhfY21kczIuYzo2MDQzCiBtc2dpZCAiRTM2NTogRmFpbGVkIHRvIHByaW50IFBvc3RTY3JpcHQgZmlsZSIKIG1zZ3N0ciAiRTM2NTogTm8gcHVkZSBpbXByaW1pciBlbCBmaWNoZXJvIFBvc3RTY3JpcHQuIgogCi0jOiBleF9jbWRzMi5jOjUxMTIKKyM6IGV4X2NtZHMyLmM6NjA0NQogbXNnaWQgIlByaW50IGpvYiBzZW50LiIKIG1zZ3N0ciAiVGFyZWEgZGUgaW1wcmVzafNuIGVudu1hZGEuIgogCi0jOiBleF9jbWRzMi5jOjU2MjIKKyM6IGV4X2NtZHMyLmM6NjY1MAogIywgYy1mb3JtYXQKIG1zZ2lkICJDdXJyZW50ICVzbGFuZ3VhZ2U6IFwiJXNcIiIKIG1zZ3N0ciAiSWRpb21hIGFjdHVhbCCrJXO7OiCrJXO7LiIKIAotIzogZXhfY21kczIuYzo1NjMzCisjOiBleF9jbWRzMi5jOjY2NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE5NzogQ2Fubm90IHNldCBsYW5ndWFnZSB0byBcIiVzXCIiCiBtc2dzdHIgIkUxOTc6IE5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgbGEgb3BjafNuIGRlbCBpZGlvbWEgYSCrJXO7LiIKIAotIzogZXhfZG9jbWQuYzo1MjUKKyM6IGV4X2RvY21kLmM6NTg2CiBtc2dpZCAiRW50ZXJpbmcgRXggbW9kZS4gIFR5cGUgXCJ2aXN1YWxcIiB0byBnbyB0byBOb3JtYWwgbW9kZS4iCiBtc2dzdHIgIkVudHJhbmRvIGFsIG1vZG8gRXguIEVzY3JpYmEgq3Zpc3VhbLsgcGFyYSBpciBhbCBtb2RvIE5vcm1hbC4iCiAKICMgIG11c3QgYmUgYXQgRU9GCiAjLiBtdXN0IGJlIGF0IEVPRgotIzogZXhfZG9jbWQuYzo1NjEKKyM6IGV4X2RvY21kLmM6NjIyCiBtc2dpZCAiRTUwMTogQXQgZW5kLW9mLWZpbGUiCiBtc2dzdHIgIkU1MDE6IEVzdG95IGFsIGZpbmFsIGRlbCBmaWNoZXJvLiIKIAotIzogZXhfZG9jbWQuYzo2NzAKKyM6IGV4X2RvY21kLmM6NzIxCiBtc2dpZCAiRTE2OTogQ29tbWFuZCB0b28gcmVjdXJzaXZlIgogbXNnc3RyICJFMTY5OiBFbCBjb21hbmRvIHJlY3VycmUgZXhjZXNpdmFtZW50ZS4iCiAKLSM6IGV4X2RvY21kLmM6MTIzMgorIzogZXhfZG9jbWQuYzoxMjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU2MDU6IEV4Y2VwdGlvbiBub3QgY2F1Z2h0OiAlcyIKIG1zZ3N0ciAiRTYwNTogTGEgZXhjZXBjafNuICVzIG5vIHNlIGF0cmFw8y4iCiAKLSM6IGV4X2RvY21kLmM6MTMyMAorIzogZXhfZG9jbWQuYzoxMzU3CiBtc2dpZCAiRW5kIG9mIHNvdXJjZWQgZmlsZSIKIG1zZ3N0ciAiRmluIGRlbCBmaWNoZXJvIGRlIGluc3RyY3VjY2lvbmVzIGVqZWN1dGFibGVzLiIKIAotIzogZXhfZG9jbWQuYzoxMzIxCisjOiBleF9kb2NtZC5jOjEzNTgKIG1zZ2lkICJFbmQgb2YgZnVuY3Rpb24iCiBtc2dzdHIgIkZpbiBkZSBsYSBmdW5jafNuLiIKIAotIzogZXhfZG9jbWQuYzoxOTEwCisjOiBleF9kb2NtZC5jOjE5MzIKIG1zZ2lkICJFNDY0OiBBbWJpZ3VvdXMgdXNlIG9mIHVzZXItZGVmaW5lZCBjb21tYW5kIgogbXNnc3RyICJFNDY0OiBVc28gYW1iaWd1byBkZSB1biBjb21hbmRvIGRlZmluaWRvIHBvciBlbCB1c3VhcmlvLiIKIAotIzogZXhfZG9jbWQuYzoxOTI0CisjOiBleF9kb2NtZC5jOjE5NDYKIG1zZ2lkICJFNDkyOiBOb3QgYW4gZWRpdG9yIGNvbW1hbmQiCiBtc2dzdHIgIkUzNzE6IE5vIGVzIHVuIGNvbWFuZG8gZGVsIGVkaXRvci4iCiAKLSM6IGV4X2RvY21kLmM6MjAzMQorIzogZXhfZG9jbWQuYzoyMDUzCiBtc2dpZCAiRTQ5MzogQmFja3dhcmRzIHJhbmdlIGdpdmVuIgogbXNnc3RyICJFNDkzOiBNZSBoYSBkYWRvIHVuIHJhbmdvIGludmVydGlkby4iCiAKLSM6IGV4X2RvY21kLmM6MjA0MAorIzogZXhfZG9jbWQuYzoyMDYyCiBtc2dpZCAiQmFja3dhcmRzIHJhbmdlIGdpdmVuLCBPSyB0byBzd2FwIgogbXNnc3RyICJNZSBoYSBkYWRvIHVuIHJhbmdvIGludmVydGlkbywgv2VzdOEgYmllbiBpbnRlcmNhbWJpYXJsbz8iCiAKLSM6IGV4X2RvY21kLmM6MjE2MworIzogZXhfZG9jbWQuYzoyMTg1CiBtc2dpZCAiRTQ5NDogVXNlIHcgb3Igdz4+IgogbXNnc3RyICJFNDk0OiBVc2Ugq3e7IG8gq3c+PrsuIgogCi0jOiBleF9kb2NtZC5jOjM3ODkKKyM6IGV4X2RvY21kLmM6MzgxNwogbXNnaWQgIkUzMTk6IFNvcnJ5LCB0aGUgY29tbWFuZCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgdmVyc2lvbiIKIG1zZ3N0ciAiRTMxOTogTG8gc2llbnRvLCBlbCBjb21hbmRvIG5vIGVzdOEgZGlzcG9uaWJsZSBlbiBlc3RhIHZlcnNp824uIgogCi0jOiBleF9kb2NtZC5jOjM5OTIKKyM6IGV4X2RvY21kLmM6NDAzMQogbXNnaWQgIkUxNzI6IE9ubHkgb25lIGZpbGUgbmFtZSBhbGxvd2VkIgogbXNnc3RyICJFMTcyOiBT82xvIHNlIHBlcm1pdGUgdW4gbm9tYnJlIGRlIGZpY2hlcm8uIgogCi0jOiBleF9kb2NtZC5jOjQ1NzIKKyM6IGV4X2RvY21kLmM6NDYyMwogbXNnaWQgIjEgbW9yZSBmaWxlIHRvIGVkaXQuICBRdWl0IGFueXdheT8iCiBtc2dzdHIgIlVuIGZpY2hlcm8gbeFzIHBhcmEgZWRpdGFyLiC/VGVybWlubyBkZSB0b2RhcyBmb3JtYXM/IgogCi0jOiBleF9kb2NtZC5jOjQ1NzUKKyM6IGV4X2RvY21kLmM6NDYyNgogIywgYy1mb3JtYXQKIG1zZ2lkICIlZCBtb3JlIGZpbGVzIHRvIGVkaXQuICBRdWl0IGFueXdheT8iCiBtc2dzdHIgIkhheSAlZCBmaWNoZXJvcyBt4XMgZW4gZWRpY2nzbi4gv1Rlcm1pbm8gZGUgdG9kYXMgZm9ybWFzPyIKIAotIzogZXhfZG9jbWQuYzo0NTgyCisjOiBleF9kb2NtZC5jOjQ2MzMKIG1zZ2lkICJFMTczOiAxIG1vcmUgZmlsZSB0byBlZGl0IgogbXNnc3RyICJFMTczOiBVbiBmaWNoZXJvIG3hcyBwYXJhIGVkaXRhci4iCiAKLSM6IGV4X2RvY21kLmM6NDU4NAorIzogZXhfZG9jbWQuYzo0NjM1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNzM6ICVsZCBtb3JlIGZpbGVzIHRvIGVkaXQiCiBtc2dzdHIgIkUxNzM6IEhheSAlbGQgZmljaGVyb3MgZW4gZWRpY2nzbi4iCiAKLSM6IGV4X2RvY21kLmM6NDY3OQorIzogZXhfZG9jbWQuYzo0NzMwCiBtc2dpZCAiRTE3NDogQ29tbWFuZCBhbHJlYWR5IGV4aXN0czogYWRkICEgdG8gcmVwbGFjZSBpdCIKIG1zZ3N0ciAiRTE3NDogRWwgY29tYW5kbyB5YSBleGlzdGUuIEHxYWRhIKshuyBwYXJhIHJlZW1wbGF6YXJsby4iCiAKLSM6IGV4X2RvY21kLmM6NDc5MAorIzogZXhfZG9jbWQuYzo0ODQxCiBtc2dpZCAiIgogIlxuIgogIiAgICBOYW1lICAgICAgICBBcmdzIFJhbmdlIENvbXBsZXRlICBEZWZpbml0aW9uIgpAQCAtMTI2OSwxOTEgKzEzMDUsMTkxIEBACiAiXG4iCiAiICAgIE5vbWJyZSAgICAgIEFyZ3MgUmFuZ28gQ29tcGxldGFyICBEZWZpbmljafNuIgogCi0jOiBleF9kb2NtZC5jOjQ4NzkKKyM6IGV4X2RvY21kLmM6NDkzMAogbXNnaWQgIk5vIHVzZXItZGVmaW5lZCBjb21tYW5kcyBmb3VuZCIKIG1zZ3N0ciAiTm8gc2UgaGFuIGVuY29udHJhZG8gY29tYW5kb3MgZGVmaW5pZG9zIHBvciBlbCB1c3VhcmlvIgogCi0jOiBleF9kb2NtZC5jOjQ5MTEKKyM6IGV4X2RvY21kLmM6NDk2MgogbXNnaWQgIkUxNzU6IE5vIGF0dHJpYnV0ZSBzcGVjaWZpZWQiCiBtc2dzdHIgIkUxNzU6IE5vIHNlIGhhIGVzcGVjaWZpY2FkbyBlbCBhdHJpYnV0by4iCiAKLSM6IGV4X2RvY21kLmM6NDk2MworIzogZXhfZG9jbWQuYzo1MDE0CiBtc2dpZCAiRTE3NjogSW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzIgogbXNnc3RyICJFMTc2OiBFbCBu+m1lcm8gZGUgYXJndW1lbnRvcyBubyBlcyB24WxpZG8uIgogCi0jOiBleF9kb2NtZC5jOjQ5NzgKKyM6IGV4X2RvY21kLmM6NTAyOQogbXNnaWQgIkUxNzc6IENvdW50IGNhbm5vdCBiZSBzcGVjaWZpZWQgdHdpY2UiCiBtc2dzdHIgIkUxNzc6IEVsIHJlY3VlbnRvIG5vIHNlIHB1ZWRlIGVzcGVjaWZpY2FyIGRvcyB2ZWNlcy4iCiAKLSM6IGV4X2RvY21kLmM6NDk4OAorIzogZXhfZG9jbWQuYzo1MDM5CiBtc2dpZCAiRTE3ODogSW52YWxpZCBkZWZhdWx0IHZhbHVlIGZvciBjb3VudCIKIG1zZ3N0ciAiRTE3ODogRWwgdmFsb3IgcHJlZGV0ZXJtaW5hZG8gcGFyYSBlbCByZWN1ZW50byBubyBlcyB24WxpZG8uIgogCi0jOiBleF9kb2NtZC5jOjUwMTkKKyM6IGV4X2RvY21kLmM6NTA3MAogbXNnaWQgIkUxNzk6IGFyZ3VtZW50IHJlcXVpcmVkIGZvciBjb21wbGV0ZSIKIG1zZ3N0ciAiRTE3OTogc2UgbmVjZXNpdGEgdW4gYXJndW1lbnRvIHBhcmEgY29tcGxldGFyLiIKIAotIzogZXhfZG9jbWQuYzo1MDUxCisjOiBleF9kb2NtZC5jOjUxMDIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE4MDogSW52YWxpZCBjb21wbGV0ZSB2YWx1ZTogJXMiCiBtc2dzdHIgIkUxODA6IEVsIHZhbG9yIHBhcmEgY29tcGxldGFyIG5vIGVzIHbhbGlkbzogJXMuIgogCi0jOiBleF9kb2NtZC5jOjUwNjAKKyM6IGV4X2RvY21kLmM6NTExMQogbXNnaWQgIkU0Njg6IENvbXBsZXRpb24gYXJndW1lbnQgb25seSBhbGxvd2VkIGZvciBjdXN0b20gY29tcGxldGlvbiIKIG1zZ3N0ciAiIgogIkU0Njg6IEVsIGFyZ3VtZW50byBkZSBmaW5hbGl6YWNp824gc29sbyBzZSBwZXJtaXRlIGVuIGZpbmFsaXphY2lvbmVzICIKICJkZWZpbmlkYXMgcG9yIGVsIHVzdWFyaW8uIgogCi0jOiBleF9kb2NtZC5jOjUwNjYKKyM6IGV4X2RvY21kLmM6NTExNwogbXNnaWQgIkU0Njc6IEN1c3RvbSBjb21wbGV0aW9uIHJlcXVpcmVzIGEgZnVuY3Rpb24gYXJndW1lbnQiCiBtc2dzdHIgIiIKICJFNDY3OiBMYXMgZmluYWxpemF0aW5lcyBkZWZpbmlkYWQgcG9yIGVsIHVzdWFyaW8gcmVxdWllcmVuIGRlIHVuIGFyZ3VtZW50byAiCiAiZGUgZnVuY2nzbi4iCiAKLSM6IGV4X2RvY21kLmM6NTA3NworIzogZXhfZG9jbWQuYzo1MTI4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxODE6IEludmFsaWQgYXR0cmlidXRlOiAlcyIKIG1zZ3N0ciAiRTE4MTogRWwgYXRyaWJ1dG8gbm8gZXMgduFsaWRvOiAlcyIKIAotIzogZXhfZG9jbWQuYzo1MTIwCisjOiBleF9kb2NtZC5jOjUxNzEKIG1zZ2lkICJFMTgyOiBJbnZhbGlkIGNvbW1hbmQgbmFtZSIKIG1zZ3N0ciAiRTE4MjogRWwgbm9tYnJlIGRlIGNvbWFuZG8gbm8gZXMgduFsaWRvLiIKIAotIzogZXhfZG9jbWQuYzo1MTM1CisjOiBleF9kb2NtZC5jOjUxODYKIG1zZ2lkICJFMTgzOiBVc2VyIGRlZmluZWQgY29tbWFuZHMgbXVzdCBzdGFydCB3aXRoIGFuIHVwcGVyY2FzZSBsZXR0ZXIiCiBtc2dzdHIgIiIKICJFMTgzOiBMb3MgY29tYW5kb3MgZGVmaW5pZG9zIHBvciBlbCB1c3VhcmlvIGRlYmVuIGNvbWVuemFyIGNvbiB1bmEgbGV0cmEgIgogIm1hefpzY3VsYS4iCiAKLSM6IGV4X2RvY21kLmM6NTIwNgorIzogZXhfZG9jbWQuYzo1MjU3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxODQ6IE5vIHN1Y2ggdXNlci1kZWZpbmVkIGNvbW1hbmQ6ICVzIgogbXNnc3RyICJFMTg0OiBObyBleGlzdGUgdGFsIGNvbWFuZG8gZGVmaW5pZG8gcG9yIGVsIHVzdWFyaW86ICVzIgogCi0jOiBleF9kb2NtZC5jOjU2NjcKKyM6IGV4X2RvY21kLmM6NTcxOAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTg1OiBDYW5ub3QgZmluZCBjb2xvciBzY2hlbWUgJXMiCiBtc2dzdHIgIkUxODU6IE5vIHNlIHB1ZWRlIGVuY29udHJhciBlbCBlc3F1ZW1hIGRlIGNvbG9yZXMgJXMiCiAKLSM6IGV4X2RvY21kLmM6NTY3NQorIzogZXhfZG9jbWQuYzo1NzI2CiBtc2dpZCAiR3JlZXRpbmdzLCBWaW0gdXNlciEiCiBtc2dzdHIgIqFTYWx1ZG9zLCB1c3VhcmlvIGRlIFZpbSEiCiAKLSM6IGV4X2RvY21kLmM6NjM5NgorIzogZXhfZG9jbWQuYzo2NDQ3CiBtc2dpZCAiRWRpdCBGaWxlIGluIG5ldyB3aW5kb3ciCiBtc2dzdHIgIkVkaXRhciBmaWNoZXJvIGVuIHVuYSB2ZW50YW5hIG51ZXZhIgogCi0jOiBleF9kb2NtZC5jOjY2OTcKKyM6IGV4X2RvY21kLmM6Njc0OAogbXNnaWQgIk5vIHN3YXAgZmlsZSIKIG1zZ3N0ciAiTm8gaGF5IGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8iCiAKLSM6IGV4X2RvY21kLmM6NjgwMQorIzogZXhfZG9jbWQuYzo2ODUyCiBtc2dpZCAiQXBwZW5kIEZpbGUiCiBtc2dzdHIgIkHxYWRpciBmaWNoZXJvIgogCi0jOiBleF9kb2NtZC5jOjY4NjUKKyM6IGV4X2RvY21kLmM6NjkxNgogbXNnaWQgIkUxODY6IE5vIHByZXZpb3VzIGRpcmVjdG9yeSIKIG1zZ3N0ciAiRTE4NjogTm8gaGF5IGRpcmVjdG9yaW8gcHJldmlvLiIKIAotIzogZXhfZG9jbWQuYzo2OTQ3CisjOiBleF9kb2NtZC5jOjY5OTgKIG1zZ2lkICJFMTg3OiBVbmtub3duIgogbXNnc3RyICJFMTg3OiBEZXNjb25vY2lkby4iCiAKLSM6IGV4X2RvY21kLmM6NzAzMgorIzogZXhfZG9jbWQuYzo3MDgzCiBtc2dpZCAiRTQ2NTogOndpbnNpemUgcmVxdWlyZXMgdHdvIG51bWJlciBhcmd1bWVudHMiCiBtc2dzdHIgIkU0NjU6IKs6d2luc2l6ZbsgcmVxdWllcmUgZGUgZG9zIGFyZ3VtZW50b3MgbnVt6XJpY29zLiIKIAotIzogZXhfZG9jbWQuYzo3MDg4CisjOiBleF9kb2NtZC5jOjcxNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAiV2luZG93IHBvc2l0aW9uOiBYICVkLCBZICVkIgogbXNnc3RyICJQb3NpY2nzbiBkZSBsYSB2ZW50YW5hOiBYICVkLCBZICVkIgogCi0jOiBleF9kb2NtZC5jOjcwOTMKKyM6IGV4X2RvY21kLmM6NzE0OAogbXNnaWQgIkUxODg6IE9idGFpbmluZyB3aW5kb3cgcG9zaXRpb24gbm90IGltcGxlbWVudGVkIGZvciB0aGlzIHBsYXRmb3JtIgogbXNnc3RyICIiCiAiRTE4ODogTGEgb2J0ZW5jafNuIGRlIGxhIHBvc2ljafNuIGRlIGxhIHZlbnRhbmEgbm8gZXN04SBpbXBsZW1lbnRhZGEgZW4gZXN0YSAiCiAicGxhdGFmb3JtYS4iCiAKLSM6IGV4X2RvY21kLmM6NzEwMworIzogZXhfZG9jbWQuYzo3MTU4CiBtc2dpZCAiRTQ2NjogOndpbnBvcyByZXF1aXJlcyB0d28gbnVtYmVyIGFyZ3VtZW50cyIKIG1zZ3N0ciAiRTQ2Njogqzp3aW5wb3O7IHJlcXVpcmUgZGUgZG9zIGFyZ3VtZW50b3MgbnVt6XJpY29zLiIKIAotIzogZXhfZG9jbWQuYzo3MzgxCisjOiBleF9kb2NtZC5jOjc0NDAKIG1zZ2lkICJTYXZlIFJlZGlyZWN0aW9uIgogbXNnc3RyICJHdWFyZGFyIHJlZGlyZWNjafNuLiIKIAotIzogZXhfZG9jbWQuYzo3NTcxCisjOiBleF9kb2NtZC5jOjc2MzAKIG1zZ2lkICJTYXZlIFZpZXciCiBtc2dzdHIgIkd1YXJkYXIgdmlzdGEiCiAKLSM6IGV4X2RvY21kLmM6NzU3MgorIzogZXhfZG9jbWQuYzo3NjMxCiBtc2dpZCAiU2F2ZSBTZXNzaW9uIgogbXNnc3RyICJHdWFyZGFyIHNlc2nzbiIKIAotIzogZXhfZG9jbWQuYzo3NTc0CisjOiBleF9kb2NtZC5jOjc2MzMKIG1zZ2lkICJTYXZlIFNldHVwIgogbXNnc3RyICJHdWFyZGFyIGNvbmZpZ3VyYWNp824iCiAKLSM6IGV4X2RvY21kLmM6NzcyNgorIzogZXhfZG9jbWQuYzo3Nzg1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxODk6IFwiJXNcIiBleGlzdHMgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiRTE4OTogXCIlc1wiIHlhIGV4aXN0ZSAoYfFhZGEgISBwYXJhIHNvYnJlZXNjcmliaXIuKSIKIAotIzogZXhfZG9jbWQuYzo3NzMxCisjOiBleF9kb2NtZC5jOjc3OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTE5MDogQ2Fubm90IG9wZW4gXCIlc1wiIGZvciB3cml0aW5nIgogbXNnc3RyICJFMTkwOiBObyBzZSBwdWVkZSBhYnJpciCrJXO7IHBhcmEgZXNjcml0dXJhIgogCiAjICBzZXQgbWFyawogIy4gc2V0IG1hcmsKLSM6IGV4X2RvY21kLmM6Nzc1NQorIzogZXhfZG9jbWQuYzo3ODE0CiBtc2dpZCAiRTE5MTogQXJndW1lbnQgbXVzdCBiZSBhIGxldHRlciBvciBmb3J3YXJkL2JhY2t3YXJkIHF1b3RlIgogbXNnc3RyICIiCiAiRTE5MTogRWwgYXJndW1lbnRvIGRlYmUgc2VyIHVuYSBsZXRyYSBvIHVuIGFw83N0cm9mby9hcPNzdHJvZm8gaW52ZXJ0aWRvIgogCi0jOiBleF9kb2NtZC5jOjc3OTcKKyM6IGV4X2RvY21kLmM6Nzg1NgogbXNnaWQgIkUxOTI6IFJlY3Vyc2l2ZSB1c2Ugb2YgOm5vcm1hbCB0b28gZGVlcCIKIG1zZ3N0ciAiRTE5MjogVXNvIHJlY3Vyc2l2byBkZW1hc2lhZG8gcHJvZnVuZG8gZGUgqzpub3JtYWy7LiIKIAotIzogZXhfZG9jbWQuYzo4MzE1CisjOiBleF9kb2NtZC5jOjgzODAKIG1zZ2lkICJFMTk0OiBObyBhbHRlcm5hdGUgZmlsZSBuYW1lIHRvIHN1YnN0aXR1dGUgZm9yICcjJyIKIG1zZ3N0ciAiRTE5NDogTm8gaGF5IHVuIG5vbWJyZSBkZSBmaWNoZXJvIGFsdGVybmF0aXZvIHF1ZSBzdXN0aXR1eWEgYSCrI7suIgogCi0jOiBleF9kb2NtZC5jOjgzNDYKKyM6IGV4X2RvY21kLmM6ODQxMQogbXNnaWQgIkU0OTU6IG5vIGF1dG9jb21tYW5kIGZpbGUgbmFtZSB0byBzdWJzdGl0dXRlIGZvciBcIjxhZmlsZT5cIiIKIG1zZ3N0ciAiIgogIkU0OTU6IE5vIGhhIGRhZG8gdW4gbm9tYnJlIGRlIGZpY2hlcm8gZGUgYXV0b2NvbWFuZG9zIHBhcmEgc3VzdGl0dWlyIGEgIgogIlwiPGFmaWxlPlwiIgogCi0jOiBleF9kb2NtZC5jOjgzNTQKKyM6IGV4X2RvY21kLmM6ODQxOQogbXNnaWQgIkU0OTY6IG5vIGF1dG9jb21tYW5kIGJ1ZmZlciBudW1iZXIgdG8gc3Vic3RpdHV0ZSBmb3IgXCI8YWJ1Zj5cIiIKIG1zZ3N0ciAiIgogIkU0OTY6IE5vIGV4aXN0ZSB1biCrYnVmZmVyuyBkZSBhdXRvY29tYW5kbyBwYXJhIHN1c3RpdHVpciBwb3IgXCI8YWJ1Zj5cIiIKIAotIzogZXhfZG9jbWQuYzo4MzY1CisjOiBleF9kb2NtZC5jOjg0MzAKIG1zZ2lkICJFNDk3OiBubyBhdXRvY29tbWFuZCBtYXRjaCBuYW1lIHRvIHN1YnN0aXR1dGUgZm9yIFwiPGFtYXRjaD5cIiIKIG1zZ3N0ciAiIgogIkU0OTc6IE5pbmf6biBub21icmUgZGUgYXV0b2NvbWFuZG8gY29uY3VlcmRhIHBhcmEgc3VzdGl0dWlyIKs8YW1hdGNoPrsuIgogCi0jOiBleF9kb2NtZC5jOjgzNzUKKyM6IGV4X2RvY21kLmM6ODQ0MAogbXNnaWQgIkU0OTg6IG5vIDpzb3VyY2UgZmlsZSBuYW1lIHRvIHN1YnN0aXR1dGUgZm9yIFwiPHNmaWxlPlwiIgogbXNnc3RyICIiCiAiRTQ5ODogTm8gaGF5IHVuIG5vbWJyZSBkZSBmaWNoZXJvIKs6c291cmNluyBxdWUgc3VzdGl0dXlhIGEgXCI8c2ZpbGU+XCIuIgogCi0jOiBleF9kb2NtZC5jOjg0MTYKKyM6IGV4X2RvY21kLmM6ODQ4MQogIywgbm8tYy1mb3JtYXQKIG1zZ2lkICJFNDk5OiBFbXB0eSBmaWxlIG5hbWUgZm9yICclJyBvciAnIycsIG9ubHkgd29ya3Mgd2l0aCBcIjpwOmhcIiIKIG1zZ3N0ciAiRTQ5OTogVW4gbm9tYnJlIGRlIGZpY2hlcm8gdmFjaW8gc29sbyBmdW5jaW9uYSBjb24gXCI6cDpoXCIuIgogCi0jOiBleF9kb2NtZC5jOjg0MTgKKyM6IGV4X2RvY21kLmM6ODQ4MwogbXNnaWQgIkU1MDA6IEV2YWx1YXRlcyB0byBhbiBlbXB0eSBzdHJpbmciCiBtc2dzdHIgIkU1MDA6IExhIGV4cHJlc2nzbiBldmFsdWEgYSB1biCrc3RyaW5nuyB2YWNpby4iCiAKLSM6IGV4X2RvY21kLmM6OTM4OQorIzogZXhfZG9jbWQuYzo5NDU0CiBtc2dpZCAiRTE5NTogQ2Fubm90IG9wZW4gdmltaW5mbyBmaWxlIGZvciByZWFkaW5nIgogbXNnc3RyICJFMTk1OiBObyBzZSBwdWVkZSBhYnJpciBlbCBmaWNoZXJvIKt2aW1pbmZvuyBwYXJhIGxlY3R1cmEuIgogCi0jOiBleF9kb2NtZC5jOjk1NjIKKyM6IGV4X2RvY21kLmM6OTYyNwogbXNnaWQgIkUxOTY6IE5vIGRpZ3JhcGhzIGluIHRoaXMgdmVyc2lvbiIKIG1zZ3N0ciAiRTE5NjogTm8gaGF5IGTtZ3JhZm9zIGVuIGVzdGEgdmVyc2nzbi4iCiAKQEAgLTE1MTQsNyArMTU1MCw3IEBACiBtc2dpZCAiRXJyb3IgYW5kIGludGVycnVwdCIKIG1zZ3N0ciAiRXJyb3IgZSBpbnRlcnJ1cGNp824iCiAKLSM6IGV4X2V2YWwuYzo3NTQgZ3VpLmM6NDM4NAorIzogZXhfZXZhbC5jOjc1NCBndWkuYzo0Mzg3CiBtc2dpZCAiRXJyb3IiCiBtc2dzdHIgIkVycm9yIgogCkBAIC0xNTk2LDE5ICsxNjMyLDE5IEBACiBtc2dpZCAiRTE5MzogOmVuZGZ1bmN0aW9uIG5vdCBpbnNpZGUgYSBmdW5jdGlvbiIKIG1zZ3N0ciAiRTE5MzogqzplbmRmdW5jdGlvbrsgbm8gZXN04SBkZW50cm8gZGUgdW5hIGZ1bmNp824uIgogCi0jOiBleF9nZXRsbi5jOjMyOTkKKyM6IGV4X2dldGxuLmM6MzM5NgogbXNnaWQgInRhZ25hbWUiCiBtc2dzdHIgIk5vbWJyZSBkZWwgq3RhZ7siCiAKLSM6IGV4X2dldGxuLmM6MzMwMgorIzogZXhfZ2V0bG4uYzozMzk5CiBtc2dpZCAiIGtpbmQgZmlsZVxuIgogbXNnc3RyICIgdGlwbyBkZSBmaWNoZXJvXG4iCiAKLSM6IGV4X2dldGxuLmM6NDc2OAorIzogZXhfZ2V0bG4uYzo0ODc0CiBtc2dpZCAiJ2hpc3RvcnknIG9wdGlvbiBpcyB6ZXJvIgogbXNnc3RyICJMYSBvcGNp824gJ2hpc3RvcnknIGVzIGNlcm8uIgogCi0jOiBleF9nZXRsbi5jOjUwMzkKKyM6IGV4X2dldGxuLmM6NTE0NQogIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCkBAIC0xNjE3LDM1ICsxNjUzLDM1IEBACiAiXG4iCiAiIyBIaXN0b3JpYSBkZSCrJXO7IChkZSBsbyBt4XMgbnVldm8gYSBsbyBt4XMgYW50aWd1byk6XG4iCiAKLSM6IGV4X2dldGxuLmM6NTA0MAorIzogZXhfZ2V0bG4uYzo1MTQ2CiBtc2dpZCAiQ29tbWFuZCBMaW5lIgogbXNnc3RyICJM7W5lYSBkZSBjb21hbmRvcyIKIAotIzogZXhfZ2V0bG4uYzo1MDQxCisjOiBleF9nZXRsbi5jOjUxNDcKIG1zZ2lkICJTZWFyY2ggU3RyaW5nIgogbXNnc3RyICJDYWRlbmEgZGUgYvpzcXVlZGEiCiAKLSM6IGV4X2dldGxuLmM6NTA0MgorIzogZXhfZ2V0bG4uYzo1MTQ4CiBtc2dpZCAiRXhwcmVzc2lvbiIKIG1zZ3N0ciAiRXhwcmVzafNuIgogCi0jOiBleF9nZXRsbi5jOjUwNDMKKyM6IGV4X2dldGxuLmM6NTE0OQogbXNnaWQgIklucHV0IExpbmUiCiBtc2dzdHIgIkztbmVhIGRlIGVudHJhZGEiCiAKLSM6IGV4X2dldGxuLmM6NTA4MQorIzogZXhfZ2V0bG4uYzo1MTg3CiBtc2dpZCAiRTE5ODogY21kX3BjaGFyIGJleW9uZCB0aGUgY29tbWFuZCBsZW5ndGgiCiBtc2dzdHIgIkUxOTg6IKtjbWRfcGNoYXK7IG3hcyBhbGzhIGRlIGxhIGxvbmdpdHVkIGRlbCBjb21hbmRvLiIKIAotIzogZXhfZ2V0bG4uYzo1MjU4CisjOiBleF9nZXRsbi5jOjUzNjgKIG1zZ2lkICJFMTk5OiBBY3RpdmUgd2luZG93IG9yIGJ1ZmZlciBkZWxldGVkIgotbXNnc3RyICJFMTk5OiBTZSBoYSBzdXByaW1pZG8gbGEgdmVudGFuYSBvIGVsIGJ1ZmZlciBhY3Rpdm9zLiIKK21zZ3N0ciAiRTE5OTogU2UgaGEgZWxpbWluYWRvIGxhIHZlbnRhbmEgbyBlbCBidWZmZXIgYWN0aXZvcy4iCiAKICM6IGZpbGVpby5jOjM3OAogbXNnaWQgIklsbGVnYWwgZmlsZSBuYW1lIgogbXNnc3RyICJOb21icmUgZGUgZmljaGVybyBpbGVnYWwiCiAKLSM6IGZpbGVpby5jOjQwMiBmaWxlaW8uYzo1NDAgZmlsZWlvLmM6MjkyNSBmaWxlaW8uYzoyOTY2CisjOiBmaWxlaW8uYzo0MDIgZmlsZWlvLmM6NTQwIGZpbGVpby5jOjI5MTkgZmlsZWlvLmM6Mjk2MAogbXNnaWQgImlzIGEgZGlyZWN0b3J5IgogbXNnc3RyICJlcyB1biBkaXJlY3RvcmlvIgogCkBAIC0xNjUzLDcgKzE2ODksNyBAQAogbXNnaWQgImlzIG5vdCBhIGZpbGUiCiBtc2dzdHIgIm5vIGVzIHVuIGZpY2hlcm8iCiAKLSM6IGZpbGVpby5jOjU2MiBmaWxlaW8uYzo0MTQzCisjOiBmaWxlaW8uYzo1NjIgZmlsZWlvLmM6NDEzOQogbXNnaWQgIltOZXcgRmlsZV0iCiBtc2dzdHIgIltGaWNoZXJvIG51ZXZvXSIKIApAQCAtMTY4MywyMDggKzE3MTksMjEyIEBACiBtc2dpZCAiRTIwMjogQ29udmVyc2lvbiBtYWRlIGZpbGUgdW5yZWFkYWJsZSEiCiBtc2dzdHIgIkUyMDI6IKFMYSBjb252ZXJzafNuIGhhIGhlY2hvIGVsIGZpY2hlcm8gaWxlZ2libGUhIgogCi0jOiBmaWxlaW8uYzoyMTAyCisjOiBmaWxlaW8uYzoyMDc2CiBtc2dpZCAiW2ZpZm8vc29ja2V0XSIKIG1zZ3N0ciAiW2ZpZm8vc29ja2V0XSIKIAotIzogZmlsZWlvLmM6MjEwOQorIzogZmlsZWlvLmM6MjA4MwogbXNnaWQgIltmaWZvXSIKIG1zZ3N0ciAiW2ZpZm9dIgogCi0jOiBmaWxlaW8uYzoyMTE2CisjOiBmaWxlaW8uYzoyMDkwCiBtc2dpZCAiW3NvY2tldF0iCiBtc2dzdHIgIltzb2NrZXRdIgogCi0jOiBmaWxlaW8uYzoyMTI0CisjOiBmaWxlaW8uYzoyMDk4CiBtc2dpZCAiW1JPXSIKIG1zZ3N0ciAiW1JPXSIKIAotIzogZmlsZWlvLmM6MjEzNAorIzogZmlsZWlvLmM6MjEwOAogbXNnaWQgIltDUiBtaXNzaW5nXSIKIG1zZ3N0ciAiW0ZhbHRhIHVuIENSXSIKIAotIzogZmlsZWlvLmM6MjEzOQorIzogZmlsZWlvLmM6MjExMwogbXNnaWQgIltOTCBmb3VuZF0iCiBtc2dzdHIgIltTZSBoYSBlbmNvbnRyYWRvIHVuIE5MXSIKIAotIzogZmlsZWlvLmM6MjE0NAorIzogZmlsZWlvLmM6MjExOAogbXNnaWQgIltsb25nIGxpbmVzIHNwbGl0XSIKIG1zZ3N0ciAiW2hlIHBhcnRpZG8gbGFzIGztbmVhcyBsYXJnYXNdIgogCi0jOiBmaWxlaW8uYzoyMTUwIGZpbGVpby5jOjQxMjcKKyM6IGZpbGVpby5jOjIxMjQgZmlsZWlvLmM6NDEyMwogbXNnaWQgIltOT1QgY29udmVydGVkXSIKIG1zZ3N0ciAiW05PIGNvbnZlcnRpZG9dIgogCi0jOiBmaWxlaW8uYzoyMTU1IGZpbGVpby5jOjQxMzIKKyM6IGZpbGVpby5jOjIxMjkgZmlsZWlvLmM6NDEyOAogbXNnaWQgIltjb252ZXJ0ZWRdIgogbXNnc3RyICJbY29udmVydGlkb10iCiAKLSM6IGZpbGVpby5jOjIxNjIgZmlsZWlvLmM6NDE1NworIzogZmlsZWlvLmM6MjEzNiBmaWxlaW8uYzo0MTUzCiBtc2dpZCAiW2NyeXB0ZWRdIgogbXNnc3RyICJbZW5jcmlwdGFkb10iCiAKLSM6IGZpbGVpby5jOjIxNjkKKyM6IGZpbGVpby5jOjIxNDMKIG1zZ2lkICJbQ09OVkVSU0lPTiBFUlJPUl0iCiBtc2dzdHIgIltFUlJPUiBERSBDT05WRVJTSdNOXSIKIAotIzogZmlsZWlvLmM6MjE3NQorIzogZmlsZWlvLmM6MjE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJbSUxMRUdBTCBCWVRFIGluIGxpbmUgJWxkXSIKIG1zZ3N0ciAiW0JZVEUgSUxFR0FMIGVuIGxhIGztbmVhICVsZF0iCiAKLSM6IGZpbGVpby5jOjIxODIKKyM6IGZpbGVpby5jOjIxNTYKIG1zZ2lkICJbUkVBRCBFUlJPUlNdIgogbXNnc3RyICJbRVJST1JFUyBERSBMRUNUVVJBXSIKIAotIzogZmlsZWlvLmM6MjM5OAorIzogZmlsZWlvLmM6MjM3MgogbXNnaWQgIkNhbid0IGZpbmQgdGVtcCBmaWxlIGZvciBjb252ZXJzaW9uIgogbXNnc3RyICJObyBzZSBwdWVkZSBlbmNvbnRyYXIgZWwgZmljaGVybyB0ZW1wb3JhbCBwYXJhIGxhIGNvbnZlcnNp824uIgogCi0jOiBmaWxlaW8uYzoyNDA1CisjOiBmaWxlaW8uYzoyMzc5CiBtc2dpZCAiQ29udmVyc2lvbiB3aXRoICdjaGFyY29udmVydCcgZmFpbGVkIgogbXNnc3RyICJMYSBjb252ZXJzafNuIGNvbiAnq2NoYXJjb252ZXJ0uycgaGEgZmFsbGFkby4iCiAKLSM6IGZpbGVpby5jOjI0MDgKKyM6IGZpbGVpby5jOjIzODIKIG1zZ2lkICJjYW4ndCByZWFkIG91dHB1dCBvZiAnY2hhcmNvbnZlcnQnIgogbXNnc3RyICJObyBwdWVkbyBsZWVyIGxhIHNhbGlkYSBkZSCrY2hhcmNvbnZlcnS7LiIKIAotIzogZmlsZWlvLmM6MjgwOAorIzogZmlsZWlvLmM6Mjc3NQorbXNnaWQgIkU2NzY6IE5vIG1hdGNoaW5nIGF1dG9jb21tYW5kcyBmb3IgYWN3cml0ZSBidWZmZXIiCittc2dzdHIgIkU2NzY6IE5vIGV4aXN0ZSBuaW5n+m4gYXV0b2NvbWFuZG8gcGFyYSBlbCCrYnVmZmVyuyCrYWN3cml0ZbsuIgorCisjOiBmaWxlaW8uYzoyODAyCiBtc2dpZCAiRTIwMzogQXV0b2NvbW1hbmRzIGRlbGV0ZWQgb3IgdW5sb2FkZWQgYnVmZmVyIHRvIGJlIHdyaXR0ZW4iCiBtc2dzdHIgIiIKLSJFMjAzOiBMb3MgYXV0b2NvbWFuZG9zIGZ1ZXJvbiBzdXByaW1pZG9zIG8gZWwgq2J1ZmZlcrsgc2UgZGVzY2FyZ/MgcGFyYSBzZXIgIgorIkUyMDM6IExvcyBhdXRvY29tYW5kb3MgZnVlcm9uIGVsaW1pbmFkb3MgbyBlbCCrYnVmZmVyuyBzZSBkZXNjYXJn8yBwYXJhIHNlciAiCiAiZ3JhYmFkbyBlbiBkaXNjby4iCiAKLSM6IGZpbGVpby5jOjI4MzEKKyM6IGZpbGVpby5jOjI4MjUKIG1zZ2lkICJFMjA0OiBBdXRvY29tbWFuZCBjaGFuZ2VkIG51bWJlciBvZiBsaW5lcyBpbiB1bmV4cGVjdGVkIHdheSIKIG1zZ3N0ciAiIgogIkUyMDQ6IEVsIGF1dG9jb21hbmRvIGhhIGNhbWJpYWRvIGVsIG76bWVybyBkZSBs7W5lYXMgZW4gZm9ybWEgaW5lc3BlcmFkYS4iCiAKLSM6IGZpbGVpby5jOjI4NjkKKyM6IGZpbGVpby5jOjI4NjMKIG1zZ2lkICJOZXRCZWFucyBkaXNzYWxsb3dzIHdyaXRlcyBvZiB1bm1vZGlmaWVkIGJ1ZmZlcnMiCiBtc2dzdHIgIk5ldEJlYW5zIG5vIHBlcm1pdGUgcXVlIHNlIGVzY3JpYmEgc29icmUgq2J1ZmZlcnO7IHNpbiBtb2RpZmljYXIuIgogCi0jOiBmaWxlaW8uYzoyODc3CisjOiBmaWxlaW8uYzoyODcxCiBtc2dpZCAiUGFydGlhbCB3cml0ZXMgZGlzYWxsb3dlZCBmb3IgTmV0QmVhbnMgYnVmZmVycyIKIG1zZ3N0ciAiTm8gc2UgcGVybWl0ZSBsYSBlc2NyaXR1cmEgcGFyY2lhbCBkZSBsb3Mgq2J1ZmZlcnO7IGRlIE5ldEJlYW5zLiIKIAotIzogZmlsZWlvLmM6MjkzMSBmaWxlaW8uYzoyOTQ5CisjOiBmaWxlaW8uYzoyOTI1IGZpbGVpby5jOjI5NDMKIG1zZ2lkICJpcyBub3QgYSBmaWxlIG9yIHdyaXRhYmxlIGRldmljZSIKIG1zZ3N0ciAibm8gZXMgdW4gZmljaGVybyBvIGRpc3Bvc2l0aXZvIGVuIGVsIHF1ZSBzZSBwdWVkYSBlc2NyaWJpci4iCiAKLSM6IGZpbGVpby5jOjMwMDEKKyM6IGZpbGVpby5jOjI5OTUKIG1zZ2lkICJpcyByZWFkLW9ubHkgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiRXMgZGUgc29sbyBsZWN0dXJhIChh8WFkYSAhIHBhcmEgb2JyZWVzY3JpYmlyKS4iCiAKLSM6IGZpbGVpby5jOjMzNDcKKyM6IGZpbGVpby5jOjMzNDEKIG1zZ2lkICJFNTA2OiBDYW4ndCB3cml0ZSB0byBiYWNrdXAgZmlsZSAoYWRkICEgdG8gb3ZlcnJpZGUpIgogbXNnc3RyICIiCiAiRTUwNjogTm8gcHVlZG8gZXNjcmliaXIgYWwgZmljaGVybyBkZSByZXNwYWxkbyAoYfFhZGEgISBwYXJhIGZvcnphciBlbCAiCiAiY29tYW5kbykuIgogCi0jOiBmaWxlaW8uYzozMzU5CisjOiBmaWxlaW8uYzozMzUzCiBtc2dpZCAiRTUwNzogQ2xvc2UgZXJyb3IgZm9yIGJhY2t1cCBmaWxlIChhZGQgISB0byBvdmVycmlkZSkiCiBtc2dzdHIgIiIKICJFNTA3OiBFcnJvciBhbCBjZXJyYXIgZWwgZmljaGVybyBkZSBsYSBjb3BpYSBkZSByZXNwYWxkbyAoYfFhZGEgISBwYXJhICIKICJmb3J6YXIgZWwgY29tYW5kbykuIgogCi0jOiBmaWxlaW8uYzozMzYxCisjOiBmaWxlaW8uYzozMzU1CiBtc2dpZCAiRTUwODogQ2FuJ3QgcmVhZCBmaWxlIGZvciBiYWNrdXAgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiIgogIkU1MDg6IE5vIHB1ZWRvIGxlZXIgZWwgZmljaGVybyBwYXJhIGNyZWFyIGxhIGNvcGlhIGRlIHJlc3BhbGRvIChh8WFkYSAhIHBhcmEgIgogImZvcnphciBlbCBjb21hbmRvKS4iCiAKLSM6IGZpbGVpby5jOjMzNzcKKyM6IGZpbGVpby5jOjMzNzEKIG1zZ2lkICJFNTA5OiBDYW5ub3QgY3JlYXRlIGJhY2t1cCBmaWxlIChhZGQgISB0byBvdmVycmlkZSkiCiBtc2dzdHIgIiIKICJFNTA5OiBObyBwdWVkbyBjcmVhciBlbCBmaWNoZXJvIHBhcmEgbGEgY29waWEgZGUgcmVzcGFsZG8gKGHxYWRhICEgcGFyYSAiCiAiZm9yemFyIGVsIGNvbWFuZG8pLiIKIAotIzogZmlsZWlvLmM6MzQ4MAorIzogZmlsZWlvLmM6MzQ3NAogbXNnaWQgIkU1MTA6IENhbid0IG1ha2UgYmFja3VwIGZpbGUgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiIgogIkU1MTA6IE5vIHB1ZWRvIGhhY2VyIHVuIGZpY2hlcm8gZGUgY29waWEgZGUgcmVzcGFsZG8gKGHxYWRhICEgcGFyYSBmb3J6YXIgZWwgIgogImNvbWFuZG8pLiIKIAotIzogZmlsZWlvLmM6MzU0MgorIzogZmlsZWlvLmM6MzUzNgogbXNnaWQgIkU0NjA6IFRoZSByZXNvdXJjZSBmb3JrIHdvdWxkIGJlIGxvc3QgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiIgogIkU0NjA6IFNlIHBlcmRlcu1hIGVsIHNlZ21lbnRvICirZm9ya7spIGRlIHJlY3Vyc29zISAoYfFhZGEgISBwYXJhIGZvcnphciBlbCAiCiAiY29tYW5kbykuIgogCi0jOiBmaWxlaW8uYzozNjUyCisjOiBmaWxlaW8uYzozNjQ2CiBtc2dpZCAiRTIxNDogQ2FuJ3QgZmluZCB0ZW1wIGZpbGUgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkUyMTQ6IE5vIHB1ZWRvIGVuY29udHJhciBlbCBmaWNoZXJvIHRlbXBvcmFsIHBhcmEgZXNjcmliaXIgZW4g6WwuIgogCi0jOiBmaWxlaW8uYzozNjcwCisjOiBmaWxlaW8uYzozNjY0CiBtc2dpZCAiRTIxMzogQ2Fubm90IGNvbnZlcnQgKGFkZCAhIHRvIHdyaXRlIHdpdGhvdXQgY29udmVyc2lvbikiCiBtc2dzdHIgIiIKICJFMjEzOiBObyBwdWVkbyBjb252ZXJ0aXJsbyAoYfFhZGEgISBwYXJhIGVzY3JpYmlyIGVsIGZpY2hlcm8gc2luIGNvbnZlcnNp824pLiIKIAotIzogZmlsZWlvLmM6MzcwNQorIzogZmlsZWlvLmM6MzY5OQogbXNnaWQgIkUxNjY6IENhbid0IG9wZW4gbGlua2VkIGZpbGUgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkUxNjY6IE5vIHB1ZWRvIGFicmlyIGVsIGZpY2hlcm8gZW5sYXphZG8gcGFyYSBlc2NyaWJpciBlbiDpbC4iCiAKLSM6IGZpbGVpby5jOjM3MDkKKyM6IGZpbGVpby5jOjM3MDMKIG1zZ2lkICJFMjEyOiBDYW4ndCBvcGVuIGZpbGUgZm9yIHdyaXRpbmciCiBtc2dzdHIgIkUyMTI6IE5vIHB1ZWRvIGFicmlyIGVsIGZpY2hlcm8gcGFyYSBlc2NyaWJpciBlbiDpbC4iCiAKLSM6IGZpbGVpby5jOjM5NzEKKyM6IGZpbGVpby5jOjM5NjcKIG1zZ2lkICJFNjY3OiBGc3luYyBmYWlsZWQiCiBtc2dzdHIgIkU2Njc6IGZhbGzzIKtmc3luY7siCiAKLSM6IGZpbGVpby5jOjM5NzgKKyM6IGZpbGVpby5jOjM5NzQKIG1zZ2lkICJFNTEyOiBDbG9zZSBmYWlsZWQiCiBtc2dzdHIgIkUzMTQ6IEZhbGzzIGVsIGNpZXJyZSBkZWwgZmljaGVyby4iCiAKLSM6IGZpbGVpby5jOjQwNDkKKyM6IGZpbGVpby5jOjQwNDUKIG1zZ2lkICJFNTEzOiB3cml0ZSBlcnJvciwgY29udmVyc2lvbiBmYWlsZWQiCiBtc2dzdHIgIkU1MTM6IEVycm9yIGRlIGVzY3JpdHVyYSwgbGEgY29udmVyc2nzbiBmYWxs8y4iCiAKLSM6IGZpbGVpby5jOjQwNTUKKyM6IGZpbGVpby5jOjQwNTEKIG1zZ2lkICJFNTE0OiB3cml0ZSBlcnJvciAoZmlsZSBzeXN0ZW0gZnVsbD8pIgogbXNnc3RyICJFNTE0OiBFcnJvciBkZSBlc2NyaXR1cmEgKL9TaXN0ZW1hIGRlIGZpY2hlcm9zIGxsZW5vPyIKIAotIzogZmlsZWlvLmM6NDEyMgorIzogZmlsZWlvLmM6NDExOAogbXNnaWQgIiBDT05WRVJTSU9OIEVSUk9SIgogbXNnc3RyICJFUlJPUiBERSBDT05WRVJTSdNOIgogCi0jOiBmaWxlaW8uYzo0MTM4CisjOiBmaWxlaW8uYzo0MTM0CiBtc2dpZCAiW0RldmljZV0iCiBtc2dzdHIgIltEaXNwb3NpdGl2b10iCiAKLSM6IGZpbGVpby5jOjQxNDMKKyM6IGZpbGVpby5jOjQxMzkKIG1zZ2lkICJbTmV3XSIKIG1zZ3N0ciAiW051ZXZvXSIKIAotIzogZmlsZWlvLmM6NDE2NQorIzogZmlsZWlvLmM6NDE2MQogbXNnaWQgIiBbYV0iCiBtc2dzdHIgIiBbYV0iCiAKLSM6IGZpbGVpby5jOjQxNjUKKyM6IGZpbGVpby5jOjQxNjEKIG1zZ2lkICIgYXBwZW5kZWQiCiBtc2dzdHIgIiBh8WFkaWRvIgogCi0jOiBmaWxlaW8uYzo0MTY3CisjOiBmaWxlaW8uYzo0MTYzCiBtc2dpZCAiIFt3XSIKIG1zZ3N0ciAiIFt3XSIKIAotIzogZmlsZWlvLmM6NDE2NworIzogZmlsZWlvLmM6NDE2MwogbXNnaWQgIiB3cml0dGVuIgogbXNnc3RyICIgZXNjcml0b3MiCiAKLSM6IGZpbGVpby5jOjQyMTcKKyM6IGZpbGVpby5jOjQyMTMKIG1zZ2lkICJFMjA1OiBQYXRjaG1vZGU6IGNhbid0IHNhdmUgb3JpZ2luYWwgZmlsZSIKIG1zZ3N0ciAiRTIwNTogTW9kbyCrcGF0Y2i7OiBubyBzZSBwdWVkZSBndWFyZGFyIGVsIGZpY2hlcm8gb3JpZ2luYWwuIgogCi0jOiBmaWxlaW8uYzo0MjM5CisjOiBmaWxlaW8uYzo0MjM1CiBtc2dpZCAiRTIwNjogcGF0Y2htb2RlOiBjYW4ndCB0b3VjaCBlbXB0eSBvcmlnaW5hbCBmaWxlIgogbXNnc3RyICJFMjA2OiBNb2RvIKtwYXRjaLs6IG5vIHNlIHB1ZWRlIHRvY2FyIGVsIGZpY2hlcm8gb3JpZ2luYWwgdmFj7W8uIgogCi0jOiBmaWxlaW8uYzo0MjU0CisjOiBmaWxlaW8uYzo0MjUwCiBtc2dpZCAiRTIwNzogQ2FuJ3QgZGVsZXRlIGJhY2t1cCBmaWxlIgotbXNnc3RyICJFMjA3OiBObyBzZSBwdWVkZSBib3JyYXIgZWwgZmljaGVybyBkZSByZXNwYWxkby4iCittc2dzdHIgIkUyMDc6IE5vIHNlIHB1ZWRlIGVsaW1pbmFyIGVsIGZpY2hlcm8gZGUgcmVzcGFsZG8uIgogCi0jOiBmaWxlaW8uYzo0MzE4CisjOiBmaWxlaW8uYzo0MzE0CiBtc2dpZCAiIgogIlxuIgogIldBUk5JTkc6IE9yaWdpbmFsIGZpbGUgbWF5IGJlIGxvc3Qgb3IgZGFtYWdlZFxuIgpAQCAtMTg5Miw1NyArMTkzMiw1NyBAQAogIlxuIgogIkFWSVNPOiBlbCBmaWNoZXJvIG9yaWdpbmFsIHB1ZWRlIGhhYmVyc2UgcGVyZGlkbyBvIGhhYmVyc2UgZGHxYWRvXG4iCiAKLSM6IGZpbGVpby5jOjQzMjAKKyM6IGZpbGVpby5jOjQzMTYKIG1zZ2lkICJkb24ndCBxdWl0IHRoZSBlZGl0b3IgdW50aWwgdGhlIGZpbGUgaXMgc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4hIgogbXNnc3RyICKhbm8gc2FsZ2EgZGVsIGVkaXRvciBoYXN0YSBxdWUgZWwgZmljaGVybyBzZSBoYXlhIGVzY3JpdG8hIgogCi0jOiBmaWxlaW8uYzo0NDA5CisjOiBmaWxlaW8uYzo0NDA1CiBtc2dpZCAiW2Rvc10iCiBtc2dzdHIgIltET1NdIgogCi0jOiBmaWxlaW8uYzo0NDA5CisjOiBmaWxlaW8uYzo0NDA1CiBtc2dpZCAiW2RvcyBmb3JtYXRdIgogbXNnc3RyICJbZm9ybWF0byBET1NdIgogCi0jOiBmaWxlaW8uYzo0NDE2CisjOiBmaWxlaW8uYzo0NDEyCiBtc2dpZCAiW21hY10iCiBtc2dzdHIgIltNYWNdIgogCi0jOiBmaWxlaW8uYzo0NDE2CisjOiBmaWxlaW8uYzo0NDEyCiBtc2dpZCAiW21hYyBmb3JtYXRdIgogbXNnc3RyICJbZm9ybWF0byBNYWNdIgogCi0jOiBmaWxlaW8uYzo0NDIzCisjOiBmaWxlaW8uYzo0NDE5CiBtc2dpZCAiW3VuaXhdIgogbXNnc3RyICJbVU5JWF0iCiAKLSM6IGZpbGVpby5jOjQ0MjMKKyM6IGZpbGVpby5jOjQ0MTkKIG1zZ2lkICJbdW5peCBmb3JtYXRdIgogbXNnc3RyICJbZm9ybWF0byBVTklYXSIKIAotIzogZmlsZWlvLmM6NDQ1MAorIzogZmlsZWlvLmM6NDQ0NgogbXNnaWQgIjEgbGluZSwgIgogbXNnc3RyICIxIGztbmVhLCAiCiAKLSM6IGZpbGVpby5jOjQ0NTIKKyM6IGZpbGVpby5jOjQ0NDgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzLCAiCiBtc2dzdHIgIiVsZCBs7W5lYXMsICIKIAotIzogZmlsZWlvLmM6NDQ1NQorIzogZmlsZWlvLmM6NDQ1MQogbXNnaWQgIjEgY2hhcmFjdGVyIgogbXNnc3RyICIxIGNhcuFjdGVyIgogCi0jOiBmaWxlaW8uYzo0NDU3CisjOiBmaWxlaW8uYzo0NDUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIiVsZCBjaGFyYWN0ZXJzIgogbXNnc3RyICIlbGQgY2FyYWN0ZXJlcyIKIAotIzogZmlsZWlvLmM6NDQ2NworIzogZmlsZWlvLmM6NDQ2MwogbXNnaWQgIltub2VvbF0iCiBtc2dzdHIgIltubyBoYXkgZmluIGRlIGztbmVhXSIKIAotIzogZmlsZWlvLmM6NDQ2NworIzogZmlsZWlvLmM6NDQ2MwogbXNnaWQgIltJbmNvbXBsZXRlIGxhc3QgbGluZV0iCiBtc2dzdHIgIlvabHRpbWEgbO1uZWEgaW5jb21wbGV0YV0iCiAKQEAgLTE5NTIsMzkgKzE5OTIsMzkgQEAKICMuIGRvbid0IG92ZXJ3cml0ZSBtZXNzYWdlcyBoZXJlCiAjLiBtdXN0IGdpdmUgdGhpcyBwcm9tcHQKICMuIGRvbid0IHVzZSBlbXNnKCkgaGVyZSwgZG9uJ3Qgd2FudCB0byBmbHVzaCB0aGUgYnVmZmVycwotIzogZmlsZWlvLmM6NDQ4NgorIzogZmlsZWlvLmM6NDQ4MgogbXNnaWQgIldBUk5JTkc6IFRoZSBmaWxlIGhhcyBiZWVuIGNoYW5nZWQgc2luY2UgcmVhZGluZyBpdCEhISIKIG1zZ3N0ciAiQURWRVJURU5DSUE6IKGhoUVsIGZpY2hlcm8gaGEgY2FtYmlhZG8gZGVzZGUgcXVlIHNlIGxlefMhISEiCiAKLSM6IGZpbGVpby5jOjQ0ODgKKyM6IGZpbGVpby5jOjQ0ODQKIG1zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gd3JpdGUgdG8gaXQiCiBtc2dzdHIgIr9RdWllcmUgcmVhbG1lbnRlIGVzY3JpYmlyIGEg6Ww/IgogCi0jOiBmaWxlaW8uYzo1NzQxCisjOiBmaWxlaW8uYzo1NzEwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMDg6IEVycm9yIHdyaXRpbmcgdG8gXCIlc1wiIgogbXNnc3RyICJFMjA4OiBFcnJvciBhbCBlc2NyaWJpciBhIKslc7suIgogCi0jOiBmaWxlaW8uYzo1NzQ4CisjOiBmaWxlaW8uYzo1NzE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMDk6IEVycm9yIGNsb3NpbmcgXCIlc1wiIgogbXNnc3RyICJFMjA5OiBFcnJvciBhbCBjZXJyYXIgqyVzuy4iCiAKLSM6IGZpbGVpby5jOjU3NTEKKyM6IGZpbGVpby5jOjU3MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTIxMDogRXJyb3IgcmVhZGluZyBcIiVzXCIiCiBtc2dzdHIgIkUyMTA6IEVycm9yIGFsIGxlZXIgqyVzuy4iCiAKLSM6IGZpbGVpby5jOjU5ODUKKyM6IGZpbGVpby5jOjU5NTQKIG1zZ2lkICJFMjQ2OiBGaWxlQ2hhbmdlZFNoZWxsIGF1dG9jb21tYW5kIGRlbGV0ZWQgYnVmZmVyIgotbXNnc3RyICJFMjQ2OiBlbCBhdXRvY29tYW5kbyCrRmlsZUNoYW5nZWRTaGVsbLsgaGEgYm9ycmFkbyBlbCBidWZmZXIuIgorbXNnc3RyICJFMjQ2OiBlbCBhdXRvY29tYW5kbyCrRmlsZUNoYW5nZWRTaGVsbLsgaGEgZWxpbWluYWRvIGVsIGJ1ZmZlci4iCiAKLSM6IGZpbGVpby5jOjU5OTIKKyM6IGZpbGVpby5jOjU5NjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTIxMTogV2FybmluZzogRmlsZSBcIiVzXCIgbm8gbG9uZ2VyIGF2YWlsYWJsZSIKIG1zZ3N0ciAiRTIxMTogQWR2ZXJ0ZW5jaWE6IGVsIGZpY2hlcm8gqyVzuyB5YSBubyBlc3ThIGRpc3BvbmlibGUiCiAKLSM6IGZpbGVpby5jOjYwMDYKKyM6IGZpbGVpby5jOjU5NzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlcxMjogV2FybmluZzogRmlsZSBcIiVzXCIgaGFzIGNoYW5nZWQgYW5kIHRoZSBidWZmZXIgd2FzIGNoYW5nZWQgaW4gVmltIGFzICIKQEAgLTE5OTMsMzUgKzIwMzMsMzUgQEAKICJXMTI6IEFkdmVydGVuY2lhOiBlbCBmaWNoZXJvIKslc7sgaGEgY2FtYmlhZG8geSBlbCBidWZmZXIgZnVlIGNhbWJpYWRvICIKICJ0YW1iaeluIGVuIFZpbS4iCiAKLSM6IGZpbGVpby5jOjYwMDkKKyM6IGZpbGVpby5jOjU5NzgKICMsIGMtZm9ybWF0CiBtc2dpZCAiVzExOiBXYXJuaW5nOiBGaWxlIFwiJXNcIiBoYXMgY2hhbmdlZCBzaW5jZSBlZGl0aW5nIHN0YXJ0ZWQiCiBtc2dzdHIgIiIKICJXMTE6IEFkdmVydGVuY2lhOiBlbCBmaWNoZXJvIKslc7sgaGEgY2FtYmlhZG8gZGVzZGUgcXVlIGNvbWVuevMgbGEgZWRpY2nzbi4iCiAKLSM6IGZpbGVpby5jOjYwMTEKKyM6IGZpbGVpby5jOjU5ODAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVzE2OiBXYXJuaW5nOiBNb2RlIG9mIGZpbGUgXCIlc1wiIGhhcyBjaGFuZ2VkIHNpbmNlIGVkaXRpbmcgc3RhcnRlZCIKIG1zZ3N0ciAiIgogIlcxNjogQWR2ZXJ0ZW5jaWE6IGVsIG1vZG8gZGVsIGZpY2hlcm8gqyVzuyBoYSBjYW1iaWFkbyBkZXNkZSBxdWUgY29tZW568yBsYSAiCiAiZWRpY2nzbi4iCiAKLSM6IGZpbGVpby5jOjYwMjEKKyM6IGZpbGVpby5jOjU5OTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiVzEzOiBXYXJuaW5nOiBGaWxlIFwiJXNcIiBoYXMgYmVlbiBjcmVhdGVkIGFmdGVyIGVkaXRpbmcgc3RhcnRlZCIKIG1zZ3N0ciAiIgogIlcxMzogQWR2ZXJ0ZW5jaWE6IGVsIGZpY2hlcm8gqyVzuyBoYSBzaWRvIGNyZWFkbyBkZXNwdelzIGRlIGNvbWVuemFyIGxhICIKICJlZGljafNuLiIKIAotIzogZmlsZWlvLmM6NjAzNAorIzogZmlsZWlvLmM6NjAwMwogbXNnaWQgIlNlZSBcIjpoZWxwIFcxMVwiIGZvciBtb3JlIGluZm8uIgogbXNnc3RyICJWZWEgqzpoZWxwIHcxMbsgcGFyYSBt4XMgaW5mb3JtYWNp824uIgogCi0jOiBmaWxlaW8uYzo2MDQ4CisjOiBmaWxlaW8uYzo2MDE3CiBtc2dpZCAiV2FybmluZyIKIG1zZ3N0ciAiQWR2ZXJ0ZW5jaWEiCiAKLSM6IGZpbGVpby5jOjYwNDkKKyM6IGZpbGVpby5jOjYwMTgKIG1zZ2lkICIiCiAiJk9LXG4iCiAiJkxvYWQgRmlsZSIKQEAgLTIwMjksNDUgKzIwNjksNDUgQEAKICImT0tcbiIKICImQ2FyZ2FyIGZpY2hlcm8iCiAKLSM6IGZpbGVpby5jOjYxNTUKKyM6IGZpbGVpby5jOjYxMjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQ2MjogQ291bGQgbm90IHByZXBhcmUgZm9yIHJlbG9hZGluZyBcIiVzXCIiCiBtc2dzdHIgIkU0NjI6IE5vIHB1ZGUgcHJlcGFyYXJtZSBwYXJhIHJlY2FyZ2FyIGEgXCIlc1wiLiIKIAotIzogZmlsZWlvLmM6NjE3NAorIzogZmlsZWlvLmM6NjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzIxOiBDb3VsZCBub3QgcmVsb2FkIFwiJXNcIiIKIG1zZ3N0ciAiRTMyMTogTm8gc2UgcHVkbyByZWNhcmdhciCrJXO7LiIKIAotIzogZmlsZWlvLmM6Njc1NQorIzogZmlsZWlvLmM6NjcyNQogbXNnaWQgIi0tRGVsZXRlZC0tIgogbXNnc3RyICItLVN1cHJpbWlkby0tIgogCiAjICB0aGUgZ3JvdXAgZG9lc24ndCBleGlzdAogIy4gdGhlIGdyb3VwIGRvZXNuJ3QgZXhpc3QKLSM6IGZpbGVpby5jOjY5MTUKKyM6IGZpbGVpby5jOjY4ODUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM2NzogTm8gc3VjaCBncm91cDogXCIlc1wiIgogbXNnc3RyICJFMzY3OiBObyBleGlzdGUgZWwgZ3J1cG86IKslc7suIgogCi0jOiBmaWxlaW8uYzo3MDQxCisjOiBmaWxlaW8uYzo3MDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMTU6IElsbGVnYWwgY2hhcmFjdGVyIGFmdGVyICo6ICVzIgogbXNnc3RyICJFMjE1OiBDYXLhY3RlciBpbGVnYWwgZGVzcHXpcyBkZSAqOiCrJXO7LiIKIAotIzogZmlsZWlvLmM6NzA1MworIzogZmlsZWlvLmM6NzAyMwogIywgYy1mb3JtYXQKIG1zZ2lkICJFMjE2OiBObyBzdWNoIGV2ZW50OiAlcyIKIG1zZ3N0ciAiRTIxNjogTm8gZXhpc3RlIHRhbCBoZWNobzogqyVzuyIKIAotIzogZmlsZWlvLmM6NzA1NQorIzogZmlsZWlvLmM6NzAyNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMjE2OiBObyBzdWNoIGdyb3VwIG9yIGV2ZW50OiAlcyIKIG1zZ3N0ciAiRTIxNjogTm8gZXhpc3RlIHRhbCBncnVwbyBvIGV2ZW50bzogJXMiCiAKICMgIEhpZ2hsaWdodCB0aXRsZQogIy4gSGlnaGxpZ2h0IHRpdGxlCi0jOiBmaWxlaW8uYzo3MjEzCisjOiBmaWxlaW8uYzo3MTgzCiBtc2dpZCAiIgogIlxuIgogIi0tLSBBdXRvLUNvbW1hbmRzIC0tLSIKQEAgLTIwNzUsNDIgKzIxMTUsNDIgQEAKICJcbiIKICItLS0gQXV0by1jb21hbmRvcyAtLS0iCiAKLSM6IGZpbGVpby5jOjc0ODQKKyM6IGZpbGVpby5jOjc0NTQKIG1zZ2lkICJFMjE3OiBDYW4ndCBleGVjdXRlIGF1dG9jb21tYW5kcyBmb3IgQUxMIGV2ZW50cyIKIG1zZ3N0ciAiIgogIkUyMTc6IE5vIHNlIHB1ZWRlbiBlamVjdXRhciBsb3MgYXV0b2NvbWFuZG9zIHBhcmEgVE9ET1MgbG9zIGV2ZW50b3MgZGUgIgogImVqZWN1Y2nzbi4iCiAKLSM6IGZpbGVpby5jOjc1MDcKKyM6IGZpbGVpby5jOjc0NzcKIG1zZ2lkICJObyBtYXRjaGluZyBhdXRvY29tbWFuZHMiCiBtc2dzdHIgIk5pbmf6biBhdXRvY29tYW5kbyBjb2luY2lkZS4iCiAKLSM6IGZpbGVpby5jOjc4MjgKKyM6IGZpbGVpby5jOjc3OTgKIG1zZ2lkICJFMjE4OiBhdXRvY29tbWFuZCBuZXN0aW5nIHRvbyBkZWVwIgogbXNnc3RyICJFMjE4OiBFbCBhdXRvY29tYW5kbyBzZSBhbmlkYSBlbiBkZW1hc2lhZG9zIGJ1Y2xlcy4iCiAKLSM6IGZpbGVpby5jOjgxMDMKKyM6IGZpbGVpby5jOjgwNzMKICMsIGMtZm9ybWF0CiBtc2dpZCAiJXMgQXV0byBjb21tYW5kcyBmb3IgXCIlc1wiIgogbXNnc3RyICIlcyBBdXRvIGNvbWFuZG9zIHBhcmEgqyVzuyIKIAotIzogZmlsZWlvLmM6ODExMQorIzogZmlsZWlvLmM6ODA4MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFeGVjdXRpbmcgJXMiCiBtc2dzdHIgIkVqZWN1dGFuZG8gJXMiCiAKICMgIGFsd2F5cyBzY3JvbGwgdXAsIGRvbid0IG92ZXJ3cml0ZQogIy4gYWx3YXlzIHNjcm9sbCB1cCwgZG9uJ3Qgb3ZlcndyaXRlCi0jOiBmaWxlaW8uYzo4MTc5CisjOiBmaWxlaW8uYzo4MTQ5CiAjLCBjLWZvcm1hdAogbXNnaWQgImF1dG9jb21tYW5kICVzIgogbXNnc3RyICJhdXRvY29tYW5kbyAlcyIKIAotIzogZmlsZWlvLmM6ODc0NgorIzogZmlsZWlvLmM6ODcxNgogbXNnaWQgIkUyMTk6IE1pc3Npbmcgey4iCiBtc2dzdHIgIkUyMTk6IEZhbHRhIHVuIHsuIgogCi0jOiBmaWxlaW8uYzo4NzQ4CisjOiBmaWxlaW8uYzo4NzE4CiBtc2dpZCAiRTIyMDogTWlzc2luZyB9LiIKIG1zZ3N0ciAiRTIyMDogRmFsdGEgdW4gfS4iCiAKQEAgLTIxMjQsNDUgKzIxNjQsNDUgQEAKIAogIzogZm9sZC5jOjU5NQogbXNnaWQgIkUzNTE6IENhbm5vdCBkZWxldGUgZm9sZCB3aXRoIGN1cnJlbnQgJ2ZvbGRtZXRob2QnIgotbXNnc3RyICJFMzUxOiBObyBwdWVkbyBib3JyYXIgZWwgcGxpZWd1ZSBjb24gZWwgJ2ZvbGRtZXRob2QnIGFjdGl2by4iCittc2dzdHIgIkUzNTE6IE5vIHB1ZWRvIGVsaW1pbmFyIGVsIHBsaWVndWUgY29uIGVsICdmb2xkbWV0aG9kJyBhY3Rpdm8uIgogCi0jOiBnZXRjaGFyLmM6MjQ4CisjOiBnZXRjaGFyLmM6MjQ5CiBtc2dpZCAiRTIyMjogQWRkIHRvIHJlYWQgYnVmZmVyIgogbXNnc3RyICJFMjIyOiBB8WFkaXIgYWwgq2J1ZmZlcrsgZGUgbGVjdHVyYSIKIAotIzogZ2V0Y2hhci5jOjIyMDgKKyM6IGdldGNoYXIuYzoyMjE2CiBtc2dpZCAiRTIyMzogcmVjdXJzaXZlIG1hcHBpbmciCiBtc2dzdHIgIkUyMjM6IGFzb2NpYWNp824gcmVjdXJzaXZhIgogCi0jOiBnZXRjaGFyLmM6MzA4NworIzogZ2V0Y2hhci5jOjMwOTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTIyNDogZ2xvYmFsIGFiYnJldmlhdGlvbiBhbHJlYWR5IGV4aXN0cyBmb3IgJXMiCiBtc2dzdHIgIkUyMjQ6IHlhIGV4aXN0ZSB1bmEgYWJyZXZpYXR1cmEgZ2xvYmFsIHBhcmEgqyVzuy4iCiAKLSM6IGdldGNoYXIuYzozMDkwCisjOiBnZXRjaGFyLmM6MzA5OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMjI1OiBnbG9iYWwgbWFwcGluZyBhbHJlYWR5IGV4aXN0cyBmb3IgJXMiCiBtc2dzdHIgIkUyMjU6IHlhIGV4aXN0ZSB1bmEgYXNvY2lhY2nzbiBnbG9iYWwgcGFyYSCrJXO7LiIKIAotIzogZ2V0Y2hhci5jOjMyMjIKKyM6IGdldGNoYXIuYzozMjMxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMjY6IGFiYnJldmlhdGlvbiBhbHJlYWR5IGV4aXN0cyBmb3IgJXMiCiBtc2dzdHIgIkUyMjY6IHlhIGV4aXN0ZSB1bmEgYWJyZXZpYXR1cmEgcGFyYSCrJXO7LiIKIAotIzogZ2V0Y2hhci5jOjMyMjUKKyM6IGdldGNoYXIuYzozMjM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMjc6IG1hcHBpbmcgYWxyZWFkeSBleGlzdHMgZm9yICVzIgogbXNnc3RyICJFMjI3OiB5YSBleGlzdGUgdW5hIGFzb2NpYWNp824gcGFyYSCrJXO7LiIKIAotIzogZ2V0Y2hhci5jOjMyODkKKyM6IGdldGNoYXIuYzozMjk4CiBtc2dpZCAiTm8gYWJicmV2aWF0aW9uIGZvdW5kIgogbXNnc3RyICJObyBlbmNvbnRy6SBuaW5ndW5hIGFicmV2aWF0dXJhLiIKIAotIzogZ2V0Y2hhci5jOjMyOTEKKyM6IGdldGNoYXIuYzozMzAwCiBtc2dpZCAiTm8gbWFwcGluZyBmb3VuZCIKIG1zZ3N0ciAiTm8gZW5jb250cukgbmluZ3VuYSBhc29jaWFjafNuLiIKIAotIzogZ2V0Y2hhci5jOjQxODMKKyM6IGdldGNoYXIuYzo0MTkyCiBtc2dpZCAiRTIyODogbWFrZW1hcDogSWxsZWdhbCBtb2RlIgogbXNnc3RyICJFMjI4OiCrbWFrZW1hcLs6IG1vZG8gaWxlZ2FsLiIKIApAQCAtMjE4OSw3ICsyMjI5LDcgQEAKIG1zZ2lkICJFNTk5OiBWYWx1ZSBvZiAnaW1hY3RpdmF0ZWtleScgaXMgaW52YWxpZCIKIG1zZ3N0ciAiRTU5OTogRWwgdmFsb3IgZGUgq2ltYWN0aXZhdGVrZXm7IG5vIGVzIHbhbGlkby4iCiAKLSM6IGd1aS5jOjQwNjQKKyM6IGd1aS5jOjQwNjgKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTI1NDogQ2Fubm90IGFsbG9jYXRlIGNvbG9yICVzIgogbXNnc3RyICJFMjU0OiBObyBzZSBwdWVkZSBhc2lnbmFyIGVsIGNvbG9yIKslc7suIgpAQCAtMjIzMiw3ICsyMjcyLDcgQEAKIG1zZ2lkICJWaW0gZGlhbG9nIgogbXNnc3RyICJEaeFsb2dvIGRlIFZpbSIKIAotIzogZ3VpX2JldmFsLmM6MTAxIGd1aV93MzIuYzozOTc4CisjOiBndWlfYmV2YWwuYzoxMDEgZ3VpX3czMi5jOjM5ODAKIG1zZ2lkICJFMjMyOiBDYW5ub3QgY3JlYXRlIEJhbGxvb25FdmFsIHdpdGggYm90aCBtZXNzYWdlIGFuZCBjYWxsYmFjayIKIG1zZ3N0ciAiIgogIkUyMzI6IE5vIHB1ZWRvIGNyZWFyIHVuIKtCYWxsb29uRXZhbLsgcXVlIGNvbnRlbmdhIHRhbnRvIGVsIG1lbnNhamUgY29tbyBlbCAiCkBAIC0yMjQyLDcgKzIyODIsNyBAQAogbXNnaWQgIlZpbSBkaWFsb2cuLi4iCiBtc2dzdHIgIkRp4WxvZ28gZGUgVmltLi4uIgogCi0jOiBndWlfZ3RrLmM6MjA2MCBtZXNzYWdlLmM6MzAwNQorIzogZ3VpX2d0ay5jOjIwNjAgbWVzc2FnZS5jOjMwMTIKIG1zZ2lkICIiCiAiJlllc1xuIgogIiZOb1xuIgpAQCAtMjMyMiw3ICsyMzYyLDcgQEAKIG1zZ2lkICJGb250IFNlbGVjdGlvbiIKIG1zZ3N0ciAiU2VsZWNjafNuIGRlIHRpcG9zIGRlIGxldHJhIgogCi0jOiBndWlfZ3RrX3gxMS5jOjYwMzUgdWkuYzoyMTIwCisjOiBndWlfZ3RrX3gxMS5jOjYwNTMgdWkuYzoyMTIwCiBtc2dpZCAiVXNlZCBDVVRfQlVGRkVSMCBpbnN0ZWFkIG9mIGVtcHR5IHNlbGVjdGlvbiIKIG1zZ3N0ciAiU2UgaGEgdXNhZG8gq0NVVF9CVUZGRVIwuyBlbiB2ZXogZGUgdW5hIHNlbGVjY2nzbiB2YWPtYS4iCiAKQEAgLTIzNjgsMTcgKzI0MDgsMTcgQEAKICJcbiIKICJFbnZpYW5kbyBtZW5zYWplIHBhcmEgdGVybWluYXIgbG9zIHByb2Nlc29zIGRlcGVuZGllbnRlcyAoq2hpam+7KS5cbiIKIAotIzogZ3VpX3czMi5jOjgzOQorIzogZ3VpX3czMi5jOjg0MQogIywgYy1mb3JtYXQKIG1zZ2lkICJFNjcxOiBDYW5ub3QgZmluZCB3aW5kb3cgdGl0bGUgXCIlc1wiIgogbXNnc3RyICJFNjcxOiBObyBwdWVkbyBlbmNvbnRyYXIgZWwgdO10dWxvIGRlIGxhIHZlbnRhbmEgqyVzuy4iCiAKLSM6IGd1aV93MzIuYzo4NDcKKyM6IGd1aV93MzIuYzo4NDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTI0MzogQXJndW1lbnQgbm90IHN1cHBvcnRlZDogXCItJXNcIjsgVXNlIHRoZSBPTEUgdmVyc2lvbi4iCiBtc2dzdHIgIkUyNDM6IEFyZ3VtZW50byBubyBhZG1pdGlkbzogqy0lc7s7IHVzZSBsYSB2ZXJzafNuIE9MRS4iCiAKLSM6IGd1aV93MzIuYzoxMTAwCisjOiBndWlfdzMyLmM6MTEwMgogbXNnaWQgIkU2NzI6IFVuYWJsZSB0byBvcGVuIHdpbmRvdyBpbnNpZGUgTURJIGFwcGxpY2F0aW9uIgogbXNnc3RyICJFNjcyOiBObyBwdWVkbyBhYnJpciB1bmEgdmVudGFuYSBkZW50cm8gZGUgbGEgYXBsaWNhY2nzbiBNREkuIgogCkBAIC0yNjM3LDYgKzI2NzcsNzYgQEAKIG1zZ2lkICIgIyBwaWQgICAgZGF0YWJhc2UgbmFtZSAgICAgICAgICAgICAgICAgICAgICAgcHJlcGVuZCBwYXRoXG4iCiBtc2dzdHIgIiBuuiBwaWQgICAgYmFzZSBkZSBkYXRvcyAgICAgICAgICAgICAgICAgICAgICAgcHJlZmlqbyBydXRhXG4iCiAKKyM6IGlmX216c2NoLmM6ODQzIGlmX3B5dGhvbi5jOjEwODAgaWZfdGNsLmM6MTQwMgorbXNnaWQgImludmFsaWQgZXhwcmVzc2lvbiIKK21zZ3N0ciAiRXhwcmVzafNuIG5vIHbhbGlkYS4iCisKKyM6IGlmX216c2NoLmM6ODUxIGlmX3B5dGhvbi5jOjEwOTQgaWZfdGNsLmM6MTQwNworbXNnaWQgImV4cHJlc3Npb25zIGRpc2FibGVkIGF0IGNvbXBpbGUgdGltZSIKK21zZ3N0ciAiRXhwcmVzaW9uZXMgZGVzYWN0aXZhZGFzIGFsIGNvbXBpbGFyLiIKKworIzogaWZfbXpzY2guYzo5MzgKK21zZ2lkICJoaWRkZW4gb3B0aW9uIgorbXNnc3RyICJPcGNp824gb2N1bHRhLiIKKworIzogaWZfbXpzY2guYzo5NDAgaWZfdGNsLmM6NTAxCittc2dpZCAidW5rbm93biBvcHRpb24iCittc2dzdHIgIk9wY2nzbiBkZXNjb25vY2lkYS4iCisKKyM6IGlmX216c2NoLmM6MTA4OQorbXNnaWQgIndpbmRvdyBpbmRleCBpcyBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIkVsIO1uZGljZSBkZSBsYSB2ZW50YW5hIGVzdOEgZnVlcmEgZGVsIHJhbmdvLiIKKworIzogaWZfbXpzY2guYzoxMjQ0Cittc2dpZCAiY291bGRuJ3Qgb3BlbiBidWZmZXIiCittc2dzdHIgIm5vIHB1ZGUgYWJyaXIgZWwgq2J1ZmZlcrsuIgorCisjOiBpZl9tenNjaC5jOjE1MDkgaWZfbXpzY2guYzoxNTM1IGlmX216c2NoLmM6MTYxMCBpZl9tenNjaC5jOjE2NTkKKyM6IGlmX216c2NoLmM6MTc2OCBpZl9tenNjaC5jOjE4MTEgaWZfcHl0aG9uLmM6MjMwNyBpZl9weXRob24uYzoyMzQxCisjOiBpZl9weXRob24uYzoyMzk2IGlmX3B5dGhvbi5jOjI0NjQgaWZfcHl0aG9uLmM6MjU4NiBpZl9weXRob24uYzoyNjM4CisjOiBpZl90Y2wuYzo2ODQgaWZfdGNsLmM6NzI5IGlmX3RjbC5jOjgwMyBpZl90Y2wuYzo4NzMgaWZfdGNsLmM6MTk5OQorbXNnaWQgImNhbm5vdCBzYXZlIHVuZG8gaW5mb3JtYXRpb24iCittc2dzdHIgIk5vIHB1ZWRvIGd1YXJkYXIgbGEgaW5mb3JtYWNp824gcGFyYSBkZXNoYWNlci4iCisKKyM6IGlmX216c2NoLmM6MTUxNCBpZl9tenNjaC5jOjE2MTggaWZfbXpzY2guYzoxNjcyIGlmX3B5dGhvbi5jOjIzMDkKKyM6IGlmX3B5dGhvbi5jOjI0MDMgaWZfcHl0aG9uLmM6MjQ3NQorbXNnaWQgImNhbm5vdCBkZWxldGUgbGluZSIKK21zZ3N0ciAibm8gcHVlZG8gZWxpbWluYXIgbGEgbO1uZWEiCisKKyM6IGlmX216c2NoLmM6MTU0MCBpZl9tenNjaC5jOjE2ODYgaWZfcHl0aG9uLmM6MjM0NiBpZl9weXRob24uYzoyNDkxCisjOiBpZl90Y2wuYzo2OTAgaWZfdGNsLmM6MjAyMQorbXNnaWQgImNhbm5vdCByZXBsYWNlIGxpbmUiCittc2dzdHIgIm5vIHB1ZWRvIHJlZW1wbGF6YXIgbGEgbO1uZWEiCisKKyM6IGlmX216c2NoLmM6MTcwMCBpZl9tenNjaC5jOjE3NzMgaWZfbXpzY2guYzoxODIwIGlmX3B5dGhvbi5jOjI1MDkKKyM6IGlmX3B5dGhvbi5jOjI1ODggaWZfcHl0aG9uLmM6MjY0NgorbXNnaWQgImNhbm5vdCBpbnNlcnQgbGluZSIKK21zZ3N0ciAibm8gcHVlZG8gaW5zZXJ0YXIgbGEgbO1uZWEiCisKKyM6IGlmX216c2NoLmM6MTkxNiBpZl9weXRob24uYzoyNzU4Cittc2dpZCAic3RyaW5nIGNhbm5vdCBjb250YWluIG5ld2xpbmVzIgorbXNnc3RyICJMYSBjYWRlbmEgbm8gcHVlZGUgY29udGVuZXIgcXVpZWJyZXMgZGUgbO1uZWEiCisKKyM6IGlmX216c2NoLmM6MTk5OQorbXNnaWQgIlZpbSBlcnJvcjogfmEiCittc2dzdHIgImVycm9yIGRlIHZpbTogq35huyIKKworIzogaWZfbXpzY2guYzoyMDA4Cittc2dpZCAiVmltIGVycm9yIgorbXNnc3RyICJlcnJvciBkZSB2aW0iCisKKyM6IGlmX216c2NoLmM6MjA2NAorbXNnaWQgImJ1ZmZlciBpcyBpbnZhbGlkIgorbXNnc3RyICJlbCCrYnVmZmVyuyBubyBlcyB24WxpZG8uIgorCisjOiBpZl9tenNjaC5jOjIwNzMKK21zZ2lkICJ3aW5kb3cgaXMgaW52YWxpZCIKK21zZ3N0ciAibGEgdmVudGFuYSBubyBlcyB24WxpZGEiCisKKyM6IGlmX216c2NoLmM6MjA5MworbXNnaWQgImxpbmVuciBvdXQgb2YgcmFuZ2UiCittc2dzdHIgIm76bWVybyBkZSBs7W5lYSBmdWVyYSBkZWwgcmFuZ28uIgorCiAjOiBpZl9weXRob24uYzo0MzYKIG1zZ2lkICIiCiAiRTI2MzogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZCwgdGhlIFB5dGhvbiBsaWJyYXJ5IGNvdWxkIG5vdCBiZSAiCkBAIC0yNjUxLDcgKzI3NjEsNyBAQAogCiAjOiBpZl9weXRob24uYzo3MDEKIG1zZ2lkICJjYW4ndCBkZWxldGUgT3V0cHV0T2JqZWN0IGF0dHJpYnV0ZXMiCi1tc2dzdHIgIm5vIHNlIHB1ZWRlbiBib3JyYXIgbG9zIGF0cmlidXRvcyBkZSCrT3V0cHV0T2JqZWN0uy4iCittc2dzdHIgIm5vIHNlIHB1ZWRlbiBlbGltaW5hciBsb3MgYXRyaWJ1dG9zIGRlIKtPdXRwdXRPYmplY3S7LiIKIAogIzogaWZfcHl0aG9uLmM6NzA4CiBtc2dpZCAic29mdHNwYWNlIG11c3QgYmUgYW4gaW50ZWdlciIKQEAgLTI2NjksMTcgKzI3NzksOSBAQAogbXNnaWQgIkUyNjQ6IFB5dGhvbjogRXJyb3IgaW5pdGlhbGlzaW5nIEkvTyBvYmplY3RzIgogbXNnc3RyICJFMjY0OiBQeXRob246IGVycm9yIGRlIGluaWNpYWxpemFjafNuIGRlIG9iamV0b3MgZGUgRS9TLiIKIAotIzogaWZfcHl0aG9uLmM6MTA4MCBpZl90Y2wuYzoxNDAyCi1tc2dpZCAiaW52YWxpZCBleHByZXNzaW9uIgotbXNnc3RyICJleHByZXNp824gbm8gduFsaWRhLiIKLQotIzogaWZfcHl0aG9uLmM6MTA5NCBpZl90Y2wuYzoxNDA3Ci1tc2dpZCAiZXhwcmVzc2lvbnMgZGlzYWJsZWQgYXQgY29tcGlsZSB0aW1lIgotbXNnc3RyICJleHByZXNpb25lcyBkZXNhY3RpdmFkYXMgYWwgY29tcGlsYXIuIgotCiAjOiBpZl9weXRob24uYzoxMTA3CiBtc2dpZCAiYXR0ZW1wdCB0byByZWZlciB0byBkZWxldGVkIGJ1ZmZlciIKLW1zZ3N0ciAiaW50ZW50byBkZSByZWZlcmlyc2UgYSB1biBidWZmZXIgc3VwcmltaWRvLiIKK21zZ3N0ciAiaW50ZW50byBkZSByZWZlcmlyc2UgYSB1biBidWZmZXIgZWxpbWluYWRvLiIKIAogIzogaWZfcHl0aG9uLmM6MTEyMiBpZl9weXRob24uYzoxMTYzIGlmX3B5dGhvbi5jOjEyMjcgaWZfdGNsLmM6MTIxNAogbXNnaWQgImxpbmUgbnVtYmVyIG91dCBvZiByYW5nZSIKQEAgLTI2ODgsNyArMjc5MCw3IEBACiAjOiBpZl9weXRob24uYzoxMzYyCiAjLCBjLWZvcm1hdAogbXNnaWQgIjxidWZmZXIgb2JqZWN0IChkZWxldGVkKSBhdCAlOGxYPiIKLW1zZ3N0ciAiPG9iamV0byCrYnVmZmVyuyAoc3VwcmltaWRvKSBlbiAlOGxYPiIKK21zZ3N0ciAiPG9iamV0byCrYnVmZmVyuyAoZWxpbWluYWRvKSBlbiAlOGxYPiIKIAogIzogaWZfcHl0aG9uLmM6MTQ1MyBpZl90Y2wuYzo4MzYKIG1zZ2lkICJpbnZhbGlkIG1hcmsgbmFtZSIKQEAgLTI3MDAsNyArMjgwMiw3IEBACiAKICM6IGlmX3B5dGhvbi5jOjE4MjEKIG1zZ2lkICJhdHRlbXB0IHRvIHJlZmVyIHRvIGRlbGV0ZWQgd2luZG93IgotbXNnc3RyICJpbnRlbnRvIGRlIHJlZmVyaXJzZSBhIHVuYSB2ZW50YW5hIHN1cHJpbWlkYSIKK21zZ3N0ciAiaW50ZW50byBkZSByZWZlcmlyc2UgYSB1bmEgdmVudGFuYSBlbGltaW5hZGEiCiAKICM6IGlmX3B5dGhvbi5jOjE4NjYKIG1zZ2lkICJyZWFkb25seSBhdHRyaWJ1dGUiCkBAIC0yNzEzLDcgKzI4MTUsNyBAQAogIzogaWZfcHl0aG9uLmM6MTk1NgogIywgYy1mb3JtYXQKIG1zZ2lkICI8d2luZG93IG9iamVjdCAoZGVsZXRlZCkgYXQgJS44bFg+IgotbXNnc3RyICI8b2JqZXRvIHZlbnRhbmEgKHN1cHJpbWlkbykgZW4gJS44bFg+IgorbXNnc3RyICI8b2JqZXRvIHZlbnRhbmEgKGVsaW1pbmFkbykgZW4gJS44bFg+IgogCiAjOiBpZl9weXRob24uYzoxOTY4CiAjLCBjLWZvcm1hdApAQCAtMjcyOSwyOCArMjgzMSw2IEBACiBtc2dpZCAibm8gc3VjaCB3aW5kb3ciCiBtc2dzdHIgIm5vIGV4aXN0ZSB0YWwgdmVudGFuYSIKIAotIzogaWZfcHl0aG9uLmM6MjMwNyBpZl9weXRob24uYzoyMzQxIGlmX3B5dGhvbi5jOjIzOTYgaWZfcHl0aG9uLmM6MjQ2NAotIzogaWZfcHl0aG9uLmM6MjU4NiBpZl9weXRob24uYzoyNjM4IGlmX3RjbC5jOjY4NCBpZl90Y2wuYzo3MjkgaWZfdGNsLmM6ODAzCi0jOiBpZl90Y2wuYzo4NzMgaWZfdGNsLmM6MTk5OQotbXNnaWQgImNhbm5vdCBzYXZlIHVuZG8gaW5mb3JtYXRpb24iCi1tc2dzdHIgIk5vIHB1ZWRvIGd1YXJkYXIgbGEgaW5mb3JtYWNp824gcGFyYSBkZXNoYWNlci4iCi0KLSM6IGlmX3B5dGhvbi5jOjIzMDkgaWZfcHl0aG9uLmM6MjQwMyBpZl9weXRob24uYzoyNDc1Ci1tc2dpZCAiY2Fubm90IGRlbGV0ZSBsaW5lIgotbXNnc3RyICJubyBwdWVkbyBzdXByaW1pciBsYSBs7W5lYSIKLQotIzogaWZfcHl0aG9uLmM6MjM0NiBpZl9weXRob24uYzoyNDkxIGlmX3RjbC5jOjY5MCBpZl90Y2wuYzoyMDIxCi1tc2dpZCAiY2Fubm90IHJlcGxhY2UgbGluZSIKLW1zZ3N0ciAibm8gcHVlZG8gcmVlbXBsYXphciBsYSBs7W5lYSIKLQotIzogaWZfcHl0aG9uLmM6MjUwOSBpZl9weXRob24uYzoyNTg4IGlmX3B5dGhvbi5jOjI2NDYKLW1zZ2lkICJjYW5ub3QgaW5zZXJ0IGxpbmUiCi1tc2dzdHIgIm5vIHB1ZWRvIGluc2VydGFyIGxhIGztbmVhIgotCi0jOiBpZl9weXRob24uYzoyNzUwCi1tc2dpZCAic3RyaW5nIGNhbm5vdCBjb250YWluIG5ld2xpbmVzIgotbXNnc3RyICJMYSBjYWRlbmEgbm8gcHVlZGUgY29udGVuZXIgcXVpZWJyZXMgZGUgbO1uZWEiCi0KICM6IGlmX3J1YnkuYzo0MjIKIG1zZ2lkICIiCiAiRTI2NjogU29ycnksIHRoaXMgY29tbWFuZCBpcyBkaXNhYmxlZCwgdGhlIFJ1YnkgbGlicmFyeSBjb3VsZCBub3QgYmUgbG9hZGVkLiIKQEAgLTI4ODgsMTAgKzI5NjgsNiBAQAogbXNnaWQgIm5vdCBpbXBsZW1lbnRlZCB5ZXQiCiBtc2dzdHIgIm5vIGltcGxlbWVudGFkbyBh+m4iCiAKLSM6IGlmX3RjbC5jOjUwMQotbXNnaWQgInVua25vd24gb3B0aW9uIgotbXNnc3RyICJvcGNp824gZGVzY29ub2NpZGEiCi0KICMgID8/PwogIy4gPz8/CiAjOiBpZl90Y2wuYzo3NzQKQEAgLTI5MjksNyArMzAwNSw3IEBACiAKICM6IGlmX3RjbC5jOjE0NzEKIG1zZ2lkICJjYW5ub3QgY3JlYXRlIGJ1ZmZlci93aW5kb3cgY29tbWFuZDogb2JqZWN0IGlzIGJlaW5nIGRlbGV0ZWQiCi1tc2dzdHIgIm5vIHB1ZWRvIGNyZWFyIGVsIGNvbWFuZG8gZGUgYnVmZmVyL3ZlbnRhbmE6IGVsIG9iamV0byBzZXLhIHN1cHJpbWlkbyIKK21zZ3N0ciAibm8gcHVlZG8gY3JlYXIgZWwgY29tYW5kbyBkZSBidWZmZXIvdmVudGFuYTogZWwgb2JqZXRvIHNlcuEgZWxpbWluYWRvIgogCiAjOiBpZl90Y2wuYzoxNTQ1CiBtc2dpZCAiIgpAQCAtMjk4MCwxMiArMzA1NiwxMiBAQAogbXNnaWQgIkUyNDg6IEZhaWxlZCB0byBzZW5kIGNvbW1hbmQgdG8gdGhlIGRlc3RpbmF0aW9uIHByb2dyYW0iCiBtc2dzdHIgIkUyNDg6IE5vIHB1ZGUgZW52aWFyIGVsIGNvbWFuZG8gYWwgcHJvZ3JhbWEgZGUgZGVzdGlubyIKIAotIzogaWZfeGNtZHNydi5jOjc0NworIzogaWZfeGNtZHNydi5jOjc0OAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNTczOiBJbnZhbGlkIHNlcnZlciBpZCB1c2VkOiAlcyIKIG1zZ3N0ciAiRTU3MzogRWwgSUQgZGVsIHVzdWFyaW8gZGVsIHNlcnZpZG9yIG5vIGVzIHbhbGlkbzogqyVzuy4iCiAKLSM6IGlmX3hjbWRzcnYuYzoxMTEwCisjOiBpZl94Y21kc3J2LmM6MTExMQogbXNnaWQgIkUyNTE6IFZJTSBpbnN0YW5jZSByZWdpc3RyeSBwcm9wZXJ0eSBpcyBiYWRseSBmb3JtZWQuICBEZWxldGVkISIKIG1zZ3N0ciAiRTI1MTogVklNIGluc3RhbmNlIHJlZ2lzdHJ5IHByb3BlcnR5IGlzIGJhZGx5IGZvcm1lZC4gIERlbGV0ZWQhIgogCkBAIC0zMDU0LDcgKzMxMzAsNyBAQAogbXNnaWQgIkUyODI6IENhbm5vdCByZWFkIGZyb20gXCIlc1wiIgogbXNnc3RyICJFMjgyOiBObyBwdWVkbyBsZWVyIGRlc2RlIKslc7siCiAKLSM6IG1haW4uYzoyNDIwCisjOiBtYWluLmM6MjQyMwogbXNnaWQgIiIKICJcbiIKICJNb3JlIGluZm8gd2l0aDogXCJ2aW0gLWhcIlxuIgpAQCAtMzA2MiwyMyArMzEzOCwyMyBAQAogIlxuIgogIk3hcyBpbmZvcm1hY2nzbiBjb246IKt2aW0gLWi7XG4iCiAKLSM6IG1haW4uYzoyNDUzCisjOiBtYWluLmM6MjQ1NgogbXNnaWQgIltmaWxlIC4uXSAgICAgICBlZGl0IHNwZWNpZmllZCBmaWxlKHMpIgogbXNnc3RyICJbZmljaGVybyAuLi5dICAgZWRpdGEgZWwvbG9zIGZpY2hlcm8ocykgZXNwZWNpZmljYWRvKHMpIgogCi0jOiBtYWluLmM6MjQ1NAorIzogbWFpbi5jOjI0NTcKIG1zZ2lkICItICAgICAgICAgICAgICAgcmVhZCB0ZXh0IGZyb20gc3RkaW4iCiBtc2dzdHIgIi0gICAgICAgICAgICAgICBsZWUgdGV4dG8gZGUgbGEgZW50cmFkYSBlc3ThbmRhciIKIAotIzogbWFpbi5jOjI0NTUKKyM6IG1haW4uYzoyNDU4CiBtc2dpZCAiLXQgdGFnICAgICAgICAgIGVkaXQgZmlsZSB3aGVyZSB0YWcgaXMgZGVmaW5lZCIKIG1zZ3N0ciAiLXQgq3RhZ7sgICAgICAgIGVkaXRhIGVsIGZpY2hlcm8gZG9uZGUgZXN04SBkZWZpbmlkbyCrdGFnuyIKIAotIzogbWFpbi5jOjI0NTcKKyM6IG1haW4uYzoyNDYwCiBtc2dpZCAiLXEgW2Vycm9yZmlsZV0gIGVkaXQgZmlsZSB3aXRoIGZpcnN0IGVycm9yIgogbXNnc3RyICItcSBbZmljaC4gZXJyLl0gZWRpdGEgZWwgZmljaGVybyBjb24gZWwgcHJpbWVyIGVycm9yIgogCi0jOiBtYWluLmM6MjQ2NgorIzogbWFpbi5jOjI0NjkKIG1zZ2lkICIiCiAiXG4iCiAiXG4iCkBAIC0zMDg4LDExICszMTY0LDExIEBACiAiXG4iCiAiVXNvOiIKIAotIzogbWFpbi5jOjI0NjkKKyM6IG1haW4uYzoyNDcyCiBtc2dpZCAiIHZpbSBbYXJndW1lbnRzXSAiCiBtc2dzdHIgIiB2aW0gW2FyZ3VtZW50b3NdIgogCi0jOiBtYWluLmM6MjQ3MworIzogbWFpbi5jOjI0NzYKIG1zZ2lkICIiCiAiXG4iCiAiICAgb3I6IgpAQCAtMzEwMCw3ICszMTc2LDcgQEAKICJcbiIKICIgIG86IgogCi0jOiBtYWluLmM6MjQ3NgorIzogbWFpbi5jOjI0NzkKIG1zZ2lkICIiCiAiXG4iCiAiXG4iCkBAIC0zMTEwLDI1OCArMzE4NiwyNTggQEAKICJcbiIKICJBcmd1bWVudG9zOlxuIgogCi0jOiBtYWluLmM6MjQ3NworIzogbWFpbi5jOjI0ODAKIG1zZ2lkICItLVx0XHRcdE9ubHkgZmlsZSBuYW1lcyBhZnRlciB0aGlzIgogbXNnc3RyICItLVx0XHRcdFPzbG8gbm9tYnJlcyBkZSBmaWNoZXJvcyBkZXNwdelzIGRlIGVzdG8iCiAKLSM6IG1haW4uYzoyNDc5CisjOiBtYWluLmM6MjQ4MgogbXNnaWQgIi0tbGl0ZXJhbFx0XHREb24ndCBleHBhbmQgd2lsZGNhcmRzIgogbXNnc3RyICItLWxpdGVyYWxcdFx0Tm8gZXhwYW5kaXIgY29tb2RpbmVzIgogCi0jOiBtYWluLmM6MjQ4MgorIzogbWFpbi5jOjI0ODUKIG1zZ2lkICItcmVnaXN0ZXJcdFx0UmVnaXN0ZXIgdGhpcyBndmltIGZvciBPTEUiCiBtc2dzdHIgIi1yZWdpc3Rlclx0XHRSZWdpc3RyYXIgZXN0ZSCrZ3ZpbbsgcGFyYSCrT0xFuyIKIAotIzogbWFpbi5jOjI0ODMKKyM6IG1haW4uYzoyNDg2CiBtc2dpZCAiLXVucmVnaXN0ZXJcdFx0VW5yZWdpc3RlciBndmltIGZvciBPTEUiCiBtc2dzdHIgIi11bnJlZ2lzdGVyXHRcdFN1cHJpbWlyIGVsIHJlZ2lzdHJvIGRlIGd2aW0gcGFyYSBPTEUiCiAKLSM6IG1haW4uYzoyNDg2CisjOiBtYWluLmM6MjQ4OQogbXNnaWQgIi1nXHRcdFx0UnVuIHVzaW5nIEdVSSAobGlrZSBcImd2aW1cIikiCiBtc2dzdHIgIi1nXHRcdFx0RWplY3V0YXIgdXNhbmRvIGVsIEdVSSAoY29tbyCrZ3ZpbbspIgogCi0jOiBtYWluLmM6MjQ4NworIzogbWFpbi5jOjI0OTAKIG1zZ2lkICItZiAgb3IgIC0tbm9mb3JrXHRGb3JlZ3JvdW5kOiBEb24ndCBmb3JrIHdoZW4gc3RhcnRpbmcgR1VJIgogbXNnc3RyICIiCiAiLWYgIG8gIC0tbm9mb3JrXHRQcmltZXIgcGxhbm86IE5vIHNlcGFyYXJzZSAoq2Zvcmu7KSBjdWFuZG8gc2UgaW5pY2lhIGxhICIKICJpbnRlcmZhY2UgZ3LhZmljYSAoR1VJKS4iCiAKLSM6IG1haW4uYzoyNDg5CisjOiBtYWluLmM6MjQ5MgogbXNnaWQgIi12XHRcdFx0VmkgbW9kZSAobGlrZSBcInZpXCIpIgogbXNnc3RyICItdlx0XHRcdE1vZG8gVmkgKGNvbW8gq3ZpuykiCiAKLSM6IG1haW4uYzoyNDkwCisjOiBtYWluLmM6MjQ5MwogbXNnaWQgIi1lXHRcdFx0RXggbW9kZSAobGlrZSBcImV4XCIpIgogbXNnc3RyICItZVx0XHRcdE1vZG8gRXggKGNvbW8gq2V4uykiCiAKLSM6IG1haW4uYzoyNDkxCisjOiBtYWluLmM6MjQ5NAogbXNnaWQgIi1zXHRcdFx0U2lsZW50IChiYXRjaCkgbW9kZSAob25seSBmb3IgXCJleFwiKSIKIG1zZ3N0ciAiLXNcdFx0XHRNb2RvIHNpbGVuY2lvc28gbyCrYmF0Y2i7IChz82xvIHBhcmEgq2V4uykiCiAKLSM6IG1haW4uYzoyNDkzCisjOiBtYWluLmM6MjQ5NgogbXNnaWQgIi1kXHRcdFx0RGlmZiBtb2RlIChsaWtlIFwidmltZGlmZlwiKSIKIG1zZ3N0ciAiLWRcdFx0XHRNb2RvIKtkaWZmuyAoY29tbyCrdmltZGlmZrspIgogCi0jOiBtYWluLmM6MjQ5NQorIzogbWFpbi5jOjI0OTgKIG1zZ2lkICIteVx0XHRcdEVhc3kgbW9kZSAobGlrZSBcImV2aW1cIiwgbW9kZWxlc3MpIgogbXNnc3RyICIteVx0XHRcdE1vZG8gZuFjaWwgKGNvbW8gq2V2aW27LCBzaW4gbW9kbykiCiAKLSM6IG1haW4uYzoyNDk2CisjOiBtYWluLmM6MjQ5OQogbXNnaWQgIi1SXHRcdFx0UmVhZG9ubHkgbW9kZSAobGlrZSBcInZpZXdcIikiCiBtc2dzdHIgIi1SXHRcdFx0TW9kbyBkZSBz82xvIGxlY3R1cmEgKGNvbW8gq3ZpZXe7KSIKIAotIzogbWFpbi5jOjI0OTcKKyM6IG1haW4uYzoyNTAwCiBtc2dpZCAiLVpcdFx0XHRSZXN0cmljdGVkIG1vZGUgKGxpa2UgXCJydmltXCIpIgogbXNnc3RyICItWlx0XHRcdE1vZG8gcmVzdHJpbmdpZG8gKGNvbW8gq3J2aW27KSIKIAotIzogbWFpbi5jOjI0OTgKKyM6IG1haW4uYzoyNTAxCiBtc2dpZCAiLW1cdFx0XHRNb2RpZmljYXRpb25zICh3cml0aW5nIGZpbGVzKSBub3QgYWxsb3dlZCIKIG1zZ3N0ciAiLW1cdFx0XHRNb2RpZmljYWNpb25lcyBubyBwZXJtaXRpZGFzIChlc2NyaXR1cmEgZGUgZmljaGVyb3MpIgogCi0jOiBtYWluLmM6MjQ5OQorIzogbWFpbi5jOjI1MDIKIG1zZ2lkICItTVx0XHRcdE1vZGlmaWNhdGlvbnMgaW4gdGV4dCBub3QgYWxsb3dlZCIKIG1zZ3N0ciAiLU1cdFx0XHRNb2RpZmljYWNpb25lcyBlbiBlbCB0ZXh0byBubyBwZXJtaXRpZGFzIgogCi0jOiBtYWluLmM6MjUwMAorIzogbWFpbi5jOjI1MDMKIG1zZ2lkICItYlx0XHRcdEJpbmFyeSBtb2RlIgogbXNnc3RyICItYlx0XHRcdE1vZG8gYmluYXJpbyIKIAotIzogbWFpbi5jOjI1MDIKKyM6IG1haW4uYzoyNTA1CiBtc2dpZCAiLWxcdFx0XHRMaXNwIG1vZGUiCiBtc2dzdHIgIi1sXHRcdFx0TW9kbyBsaXNwIgogCi0jOiBtYWluLmM6MjUwNAorIzogbWFpbi5jOjI1MDcKIG1zZ2lkICItQ1x0XHRcdENvbXBhdGlibGUgd2l0aCBWaTogJ2NvbXBhdGlibGUnIgogbXNnc3RyICItQ1x0XHRcdENvbXBhdGlibGUgY29uIFZpOiAnY29tcGF0aWJsZSciCiAKLSM6IG1haW4uYzoyNTA1CisjOiBtYWluLmM6MjUwOAogbXNnaWQgIi1OXHRcdFx0Tm90IGZ1bGx5IFZpIGNvbXBhdGlibGU6ICdub2NvbXBhdGlibGUnIgogbXNnc3RyICItTlx0XHRcdE5vIHRvdGFsbWVudGUgY29tcGF0aWJsZSBjb24gVmk6ICdub2NvbXBhdGlibGUnIgogCi0jOiBtYWluLmM6MjUwNgorIzogbWFpbi5jOjI1MDkKIG1zZ2lkICItVltOXVx0XHRWZXJib3NlIGxldmVsIgogbXNnc3RyICItVltOXVx0XHROaXZlbCBkZSBkZXRhbGxlIGRlIGxhIGVqZWN1Y2nzbiIKIAotIzogbWFpbi5jOjI1MDcKKyM6IG1haW4uYzoyNTEwCiBtc2dpZCAiLURcdFx0XHREZWJ1Z2dpbmcgbW9kZSIKIG1zZ3N0ciAiLURcdFx0XHRNb2RvIGRlIGRlcHVyYWNp824iCiAKLSM6IG1haW4uYzoyNTA4CisjOiBtYWluLmM6MjUxMQogbXNnaWQgIi1uXHRcdFx0Tm8gc3dhcCBmaWxlLCB1c2UgbWVtb3J5IG9ubHkiCiBtc2dzdHIgIi1uXHRcdFx0U2luIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8sIHVzYSBz82xvIGxhIG1lbW9yaWEiCiAKLSM6IG1haW4uYzoyNTA5CisjOiBtYWluLmM6MjUxMgogbXNnaWQgIi1yXHRcdFx0TGlzdCBzd2FwIGZpbGVzIGFuZCBleGl0IgogbXNnc3RyICItclx0XHRcdERhciB1bmEgbGlzdGEgZGUgbG9zIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8geSBzYWxpciIKIAotIzogbWFpbi5jOjI1MTAKKyM6IG1haW4uYzoyNTEzCiBtc2dpZCAiLXIgKHdpdGggZmlsZSBuYW1lKVx0UmVjb3ZlciBjcmFzaGVkIHNlc3Npb24iCiBtc2dzdHIgIi1yIChjb24gbm9tYnJlIGRlbCBmaWNoZXJvKVx0UmVjdXBlcmFyIHNlc2nzbiBmYWxsaWRhIgogCi0jOiBtYWluLmM6MjUxMQorIzogbWFpbi5jOjI1MTQKIG1zZ2lkICItTFx0XHRcdFNhbWUgYXMgLXIiCiBtc2dzdHIgIi1MXHRcdFx0SWd1YWwgcXVlIC1yIgogCi0jOiBtYWluLmM6MjUxMworIzogbWFpbi5jOjI1MTYKIG1zZ2lkICItZlx0XHRcdERvbid0IHVzZSBuZXdjbGkgdG8gb3BlbiB3aW5kb3ciCiBtc2dzdHIgIi1mXHRcdFx0Tm8gdXNhciCrbmV3Y2xpuyBwYXJhIGFicmlyIGxhIHZlbnRhbmEiCiAKLSM6IG1haW4uYzoyNTE0CisjOiBtYWluLmM6MjUxNwogbXNnaWQgIi1kZXYgPGRldmljZT5cdFx0VXNlIDxkZXZpY2U+IGZvciBJL08iCiBtc2dzdHIgIi1kZXYgPGRpc3Bvc2l0aXZvPlx0XHRVc2UgPGRpc3Bvc2l0aXZvPiBwYXJhIEUvUyIKIAotIzogbWFpbi5jOjI1MTcKKyM6IG1haW4uYzoyNTIwCiBtc2dpZCAiLUFcdFx0XHRzdGFydCBpbiBBcmFiaWMgbW9kZSIKIG1zZ3N0ciAiLUFcdFx0XHRJbmljaWFyIGVuIG1vZG8g4XJhYmUiCiAKLSM6IG1haW4uYzoyNTIwCisjOiBtYWluLmM6MjUyMwogbXNnaWQgIi1IXHRcdFx0U3RhcnQgaW4gSGVicmV3IG1vZGUiCiBtc2dzdHIgIi1IXHRcdFx0SW5pY2lhciBlbiBtb2RvIGhlYnJlbyIKIAotIzogbWFpbi5jOjI1MjMKKyM6IG1haW4uYzoyNTI2CiBtc2dpZCAiLUZcdFx0XHRTdGFydCBpbiBGYXJzaSBtb2RlIgogbXNnc3RyICItRlx0XHRcdEluaWNpYXIgZW4gbW9kbyBwZXJzYSAoZmFyc2kpIgogCi0jOiBtYWluLmM6MjUyNQorIzogbWFpbi5jOjI1MjgKIG1zZ2lkICItVCA8dGVybWluYWw+XHRTZXQgdGVybWluYWwgdHlwZSB0byA8dGVybWluYWw+IgogbXNnc3RyICItVCA8dGVybWluYWw+XHREZXRlcm1pbmEgZWwgdGlwbyBkZSB0ZXJtaW5hbCBhIDw8dGVybWluYWw+PiIKIAotIzogbWFpbi5jOjI1MjYKKyM6IG1haW4uYzoyNTI5CiBtc2dpZCAiLXUgPHZpbXJjPlx0XHRVc2UgPHZpbXJjPiBpbnN0ZWFkIG9mIGFueSAudmltcmMiCiBtc2dzdHIgIi11IDx2aW1yYz5cdFx0VXNhIDx2aW1yYz4gZW4gbHVnYXIgZGUgY3VhbHF1aWVyIC52aW1yYyIKIAotIzogbWFpbi5jOjI1MjgKKyM6IG1haW4uYzoyNTMxCiBtc2dpZCAiLVUgPGd2aW1yYz5cdFx0VXNlIDxndmltcmM+IGluc3RlYWQgb2YgYW55IC5ndmltcmMiCiBtc2dzdHIgIi1VIDxndmltcmM+XHRcdFVzYSA8Z3ZpbXJjPiBlbiBsdWdhciBkZSBjdWFscXVpZXIgLmd2aW1yYyIKIAotIzogbWFpbi5jOjI1MzAKKyM6IG1haW4uYzoyNTMzCiBtc2dpZCAiLS1ub3BsdWdpblx0XHREb24ndCBsb2FkIHBsdWdpbiBzY3JpcHRzIgogbXNnc3RyICItLW5vcGx1Z2luXHRcdE5vIGNhcmdhIGxvcyCrcGx1Z2luIHNjcmlwdHO7IgogCi0jOiBtYWluLmM6MjUzMQorIzogbWFpbi5jOjI1MzQKIG1zZ2lkICItb1tOXVx0XHRPcGVuIE4gd2luZG93cyAoZGVmYXVsdDogb25lIGZvciBlYWNoIGZpbGUpIgogbXNnc3RyICItb1tOXVx0XHRBYnJlIE4gdmVudGFuYXMgKHZhbG9yIHByZWRldGVybWluYWRvOiB1bmEgcG9yIGZpY2hlcm8pIgogCi0jOiBtYWluLmM6MjUzMgorIzogbWFpbi5jOjI1MzUKIG1zZ2lkICItT1tOXVx0XHRMaWtlIC1vIGJ1dCBzcGxpdCB2ZXJ0aWNhbGx5IgogbXNnc3RyICItT1tOXVx0XHRDb21vIKstb7sgcGVybyBkaXZpZGUgbGFzIHZlbnRhbmFzIHZlcnRpY2FsbWVudGUuIgogCi0jOiBtYWluLmM6MjUzMworIzogbWFpbi5jOjI1MzYKIG1zZ2lkICIrXHRcdFx0U3RhcnQgYXQgZW5kIG9mIGZpbGUiCiBtc2dzdHIgIitcdFx0XHRDb21pZW56YSBhbCBmaW5hbCBkZWwgZmljaGVybyIKIAotIzogbWFpbi5jOjI1MzQKKyM6IG1haW4uYzoyNTM3CiBtc2dpZCAiKzxsbnVtPlx0XHRTdGFydCBhdCBsaW5lIDxsbnVtPiIKIG1zZ3N0ciAiKzxsbnVtPlx0XHRDb21pZW56YSBlbiBsYSBs7W5lYSA8bG51bT4iCiAKLSM6IG1haW4uYzoyNTM2CisjOiBtYWluLmM6MjUzOQogbXNnaWQgIi0tY21kIDxjb21tYW5kPlx0RXhlY3V0ZSA8Y29tbWFuZD4gYmVmb3JlIGxvYWRpbmcgYW55IHZpbXJjIGZpbGUiCiBtc2dzdHIgIi0tY21kIDxjb21hbmRvPlx0RWplY3V0YSA8Y29tYW5kbz4gYW50ZXMgZGUgY2FyZ2FyIGFsZ/puIGZpY2hlcm8gdmltcmMiCiAKLSM6IG1haW4uYzoyNTM4CisjOiBtYWluLmM6MjU0MQogbXNnaWQgIi1jIDxjb21tYW5kPlx0XHRFeGVjdXRlIDxjb21tYW5kPiBhZnRlciBsb2FkaW5nIHRoZSBmaXJzdCBmaWxlIgogbXNnc3RyICItYyA8Y29tYW5kbz5cdFx0RWplY3V0YSA8Y29tYW5kbz4gZGVzcHXpcyBkZSBjYXJnYXIgZWwgcHJpbWVyIGZpY2hlcm8iCiAKLSM6IG1haW4uYzoyNTM5CisjOiBtYWluLmM6MjU0MgogbXNnaWQgIi1TIDxzZXNzaW9uPlx0XHRTb3VyY2UgZmlsZSA8c2Vzc2lvbj4gYWZ0ZXIgbG9hZGluZyB0aGUgZmlyc3QgZmlsZSIKIG1zZ3N0ciAiIgogIi1TIDxzZXNp824+XHRcdEVqZWN1dGEgbG9zIGNvbWFuZG9zIGRlbCBmaWNoZXJvIDxzZXNp824+IGRlc3B16XNcbiIKICIgICAgICAgICAgIFx0XHRkZSBjYXJnYXIgZWwgcHJpbWVyIGZpY2hlcm8iCiAKLSM6IG1haW4uYzoyNTQwCisjOiBtYWluLmM6MjU0MwogbXNnaWQgIi1zIDxzY3JpcHRpbj5cdFJlYWQgTm9ybWFsIG1vZGUgY29tbWFuZHMgZnJvbSBmaWxlIDxzY3JpcHRpbj4iCiBtc2dzdHIgIi1zIDxzY3JpcHRpbj5cdExlZSBsb3MgY29tYW5kb3MgZW4gbW9kbyBOb3JtYWwgZGVsIGZpY2hlcm8gPHNjcmlwdGluPiIKIAotIzogbWFpbi5jOjI1NDEKKyM6IG1haW4uYzoyNTQ0CiBtc2dpZCAiLXcgPHNjcmlwdG91dD5cdEFwcGVuZCBhbGwgdHlwZWQgY29tbWFuZHMgdG8gZmlsZSA8c2NyaXB0b3V0PiIKIG1zZ3N0ciAiIgogIi13IDxzY3JpcHRvdXQ+XHRB8WFkZSB0b2RvcyBsb3MgY29tYW5kb3MgZXNjcml0b3MgYWwgZmljaGVybyA8c2NyaXB0b3V0PiIKIAotIzogbWFpbi5jOjI1NDIKKyM6IG1haW4uYzoyNTQ1CiBtc2dpZCAiLVcgPHNjcmlwdG91dD5cdFdyaXRlIGFsbCB0eXBlZCBjb21tYW5kcyB0byBmaWxlIDxzY3JpcHRvdXQ+IgogbXNnc3RyICIiCiAiLVcgPHNjcmlwdG91dD5cdEdyYWJhIHRvZG9zIGxvcyBjb21hbmRvcyBlc2NyaXRvcyBhbCBmaWNoZXJvIDxzY3JpcHRvdXQ+IgogCi0jOiBtYWluLmM6MjU0NAorIzogbWFpbi5jOjI1NDcKIG1zZ2lkICIteFx0XHRcdEVkaXQgZW5jcnlwdGVkIGZpbGVzIgogbXNnc3RyICIteFx0XHRcdEVkaXRhIGZpY2hlcm9zIGNpZnJhZG9zIgogCi0jOiBtYWluLmM6MjU0OAorIzogbWFpbi5jOjI1NTEKIG1zZ2lkICItZGlzcGxheSA8ZGlzcGxheT5cdENvbm5lY3QgdmltIHRvIHRoaXMgcGFydGljdWxhciBYLXNlcnZlciIKIG1zZ3N0ciAiLWRpc3BsYXkgPHBhbnRhbGxhPlx0Q29uZWN0YSB2aW0gYSBlc3RlIHNlcnZpZG9yIFgxMSBlbiBwYXJ0aWN1bGFyIgogCi0jOiBtYWluLmM6MjU1MAorIzogbWFpbi5jOjI1NTMKIG1zZ2lkICItWFx0XHRcdERvIG5vdCBjb25uZWN0IHRvIFggc2VydmVyIgogbXNnc3RyICItWFx0XHRcdE5vIHNlIGNvbmVjdGEgYWwgc2Vydmlkb3IgWDExIgogCi0jOiBtYWluLmM6MjU1MworIzogbWFpbi5jOjI1NTYKIG1zZ2lkICItLXJlbW90ZSA8ZmlsZXM+XHRFZGl0IDxmaWxlcz4gaW4gYSBWaW0gc2VydmVyIGlmIHBvc3NpYmxlIgogbXNnc3RyICIiCiAiLS1yZW1vdGUgPGZpY2hlcm9zPlx0RWRpdGEgbG9zIDxmaWNoZXJvcz4gZW4gdW4gc2Vydmlkb3IgVmltIHNpIGVzIHBvc2libGUuIgogCi0jOiBtYWluLmM6MjU1NAorIzogbWFpbi5jOjI1NTcKIG1zZ2lkICItLXJlbW90ZS1zaWxlbnQgPGZpbGVzPiAgU2FtZSwgZG9uJ3QgY29tcGxhaW4gaWYgdGhlcmUgaXMgbm8gc2VydmVyIgogbXNnc3RyICIiCiAiLS1yZW1vdGUtc2lsZW50IDxmaWNoZXJvcz4gIExvIG1pc21vIHBlcm8gbm8gc2UgcXVlamEgc2kgbm8gZXhpc3RlIHVuICIKICJzZXJ2aWRvciBkaXNwb25pYmxlLiIKIAotIzogbWFpbi5jOjI1NTUKKyM6IG1haW4uYzoyNTU4CiBtc2dpZCAiIgogIi0tcmVtb3RlLXdhaXQgPGZpbGVzPiAgQXMgLS1yZW1vdGUgYnV0IHdhaXQgZm9yIGZpbGVzIHRvIGhhdmUgYmVlbiBlZGl0ZWQiCiBtc2dzdHIgIiIKICItLXJlbW90ZS13YWl0IDxmaWNoZXJvcz5cdENvbW8gLS1yZW1vdGUgcGVybyBlc3BlcmEgYSBxdWUgbG9zIGZpY2hlcm9zICIKICJ0ZXJtaW5lbiBkZSBlZGl0YXJzZSIKIAotIzogbWFpbi5jOjI1NTYKKyM6IG1haW4uYzoyNTU5CiBtc2dpZCAiIgogIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWxlcz4gIFNhbWUsIGRvbid0IGNvbXBsYWluIGlmIHRoZXJlIGlzIG5vIHNlcnZlciIKIG1zZ3N0ciAiIgogIi0tcmVtb3RlLXdhaXQtc2lsZW50IDxmaWNoZXJvcz4gIExvIG1pc21vIHBlcm8gbm8gc2UgcXVlamEgc2kgbm8gaGF5IHVuICIKICJzZXJ2aWRvciBkaXNwb25pYmxlLiIKIAotIzogbWFpbi5jOjI1NTcKKyM6IG1haW4uYzoyNTYwCiBtc2dpZCAiLS1yZW1vdGUtc2VuZCA8a2V5cz5cdFNlbmQgPGtleXM+IHRvIGEgVmltIHNlcnZlciBhbmQgZXhpdCIKIG1zZ3N0ciAiLS1yZW1vdGUtc2VuZCA8dGVjbGFzPlx0RW527WEgPHRlY2xhcz4gYSB1biBzZXJ2aWRvciBWaW0geSBzYWxlIgogCi0jOiBtYWluLmM6MjU1OAorIzogbWFpbi5jOjI1NjEKIG1zZ2lkICItLXJlbW90ZS1leHByIDxleHByPlx0RXZhbHVhdGUgPGV4cHI+IGluIGEgVmltIHNlcnZlciBhbmQgcHJpbnQgcmVzdWx0IgogbXNnc3RyICIiCiAiLS1yZW1vdGUtZXhwciA8ZXhwcj5cdEV2YWz6YSA8ZXhwcj4gZW4gc2Vydmlkb3IgVmltIGUgaW1wcmltZSBlbCByZXN1bHRhZG8iCiAKLSM6IG1haW4uYzoyNTU5CisjOiBtYWluLmM6MjU2MgogbXNnaWQgIi0tc2VydmVybGlzdFx0XHRMaXN0IGF2YWlsYWJsZSBWaW0gc2VydmVyIG5hbWVzIGFuZCBleGl0IgogbXNnc3RyICIiCiAiLS1zZXJ2ZXJsaXN0XHRcdEVtaXRlIHVuYSBsaXN0YSBkZSBsb3Mgc2Vydmlkb3JlcyBWaW0gZGlzcG9uaWJsZXMgeSBzYWxlIgogCi0jOiBtYWluLmM6MjU2MAorIzogbWFpbi5jOjI1NjMKIG1zZ2lkICItLXNlcnZlcm5hbWUgPG5hbWU+XHRTZW5kIHRvL2JlY29tZSB0aGUgVmltIHNlcnZlciA8bmFtZT4iCiBtc2dzdHIgIiIKICItLXNlcnZlcm5hbWUgPG5vbWJyZT5cdEVudu1hIGEvc2UgY29udmllcnRlIGVuIGVsIHNlcnZpZG9yIFZpbSBkZSBub21icmUgIgogIjxub21icmU+IgogCi0jOiBtYWluLmM6MjU2MworIzogbWFpbi5jOjI1NjYKIG1zZ2lkICItaSA8dmltaW5mbz5cdFx0VXNlIDx2aW1pbmZvPiBpbnN0ZWFkIG9mIC52aW1pbmZvIgogbXNnc3RyICItaSA8dmltaW5mbz5cdFx0VXNhIDx2aW1pbmZvPiBlbiBsdWdhciBkZSAudmltaW5mbyIKIAotIzogbWFpbi5jOjI1NjUKKyM6IG1haW4uYzoyNTY4CiBtc2dpZCAiLWggIG9yICAtLWhlbHBcdFByaW50IEhlbHAgKHRoaXMgbWVzc2FnZSkgYW5kIGV4aXQiCiBtc2dzdHIgIi1oICBvciAgLS1oZWxwXHRJbXByaW1lIGxhIGF5dWRhIGRlIGNvbWFuZG9zIChlc3RlIG1lbnNhamUpIHkgdGVybWluYS4iCiAKLSM6IG1haW4uYzoyNTY2CisjOiBtYWluLmM6MjU2OQogbXNnaWQgIi0tdmVyc2lvblx0XHRQcmludCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0IgogbXNnc3RyICItLXZlcnNpb25cdFx0SW1wcmltZSBsYSBpbmZvcm1hY2nzbiBkZSB2ZXJzafNuIHkgdGVybWluYS4iCiAKLSM6IG1haW4uYzoyNTcwCisjOiBtYWluLmM6MjU3MwogbXNnaWQgIiIKICJcbiIKICJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBndmltIChNb3RpZiB2ZXJzaW9uKTpcbiIKQEAgLTMzNjksNyArMzQ0NSw3IEBACiAiXG4iCiAiQXJndW1lbnRvcyByZWNvbm9jaWRvcyBwb3IgZ3ZpbSAodmVyc2nzbiBNb3RpZik6XG4iCiAKLSM6IG1haW4uYzoyNTc0CisjOiBtYWluLmM6MjU3NwogbXNnaWQgIiIKICJcbiIKICJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBndmltIChuZVh0YXcgdmVyc2lvbik6XG4iCkBAIC0zMzc3LDcgKzM0NTMsNyBAQAogIlxuIgogIkFyZ3VtZW50b3MgcmVjb25vY2lkb3MgcG9yIGd2aW0gKHZlcnNp824gbmVYdGF3KTpcbiIKIAotIzogbWFpbi5jOjI1NzYKKyM6IG1haW4uYzoyNTc5CiBtc2dpZCAiIgogIlxuIgogIkFyZ3VtZW50cyByZWNvZ25pc2VkIGJ5IGd2aW0gKEF0aGVuYSB2ZXJzaW9uKTpcbiIKQEAgLTMzODUsNzYgKzM0NjEsNzYgQEAKICJcbiIKICJBcmd1bWVudG9zIHJlY29ub2NpZG9zIHBvciBndmltICh2ZXJzafNuIEF0aGVuYSk6XG4iCiAKLSM6IG1haW4uYzoyNTgwCisjOiBtYWluLmM6MjU4MwogbXNnaWQgIi1kaXNwbGF5IDxkaXNwbGF5Plx0UnVuIHZpbSBvbiA8ZGlzcGxheT4iCiBtc2dzdHIgIi1kaXNwbGF5IDxwYW50YWxsYT5cdEVqZWN1dGEgdmltIGVuIDxwYW50YWxsYT4iCiAKLSM6IG1haW4uYzoyNTgxCisjOiBtYWluLmM6MjU4NAogbXNnaWQgIi1pY29uaWNcdFx0U3RhcnQgdmltIGljb25pZmllZCIKIG1zZ3N0ciAiLWljb25pY1x0XHRBcnJhbmNhIHZpbSCraWNvbml6YWRvuyIKIAotIzogbWFpbi5jOjI1ODMKKyM6IG1haW4uYzoyNTg2CiBtc2dpZCAiLW5hbWUgPG5hbWU+XHRcdFVzZSByZXNvdXJjZSBhcyBpZiB2aW0gd2FzIDxuYW1lPiIKIG1zZ3N0ciAiLW5hbWUgPG5vbWJyZT5cdFx0VXNhIHVuIHJlY3Vyc28gY29tbyBzaSB2aW0gZnVlc2UgPG5vbWJyZT4iCiAKLSM6IG1haW4uYzoyNTg0CisjOiBtYWluLmM6MjU4NwogbXNnaWQgIlx0XHRcdCAgKFVuaW1wbGVtZW50ZWQpXG4iCiBtc2dzdHIgIlx0XHRcdCAgKFNpbiBpbXBsZW1lbnRhcilcbiIKIAotIzogbWFpbi5jOjI1ODYKKyM6IG1haW4uYzoyNTg5CiBtc2dpZCAiLWJhY2tncm91bmQgPGNvbG9yPlx0VXNlIDxjb2xvcj4gZm9yIHRoZSBiYWNrZ3JvdW5kIChhbHNvOiAtYmcpIgogbXNnc3RyICItYmFja2dyb3VuZCA8Y29sb3I+XHRVc2EgPGNvbG9yPiBwYXJhIGVsIGZvbmRvICh0YW1iaeluOiAtYmcpIgogCi0jOiBtYWluLmM6MjU4NworIzogbWFpbi5jOjI1OTAKIG1zZ2lkICItZm9yZWdyb3VuZCA8Y29sb3I+XHRVc2UgPGNvbG9yPiBmb3Igbm9ybWFsIHRleHQgKGFsc286IC1mZykiCiBtc2dzdHIgIi1mb3JlZ3JvdW5kIDxjb2xvcj5cdFVzYSA8Y29sb3I+IHBhcmEgZWwgdGV4dG8gbm9ybWFsICh0YW1iaeluOiAtZmcpIgogCi0jOiBtYWluLmM6MjU4OCBtYWluLmM6MjYwOAorIzogbWFpbi5jOjI1OTEgbWFpbi5jOjI2MTEgbWFpbi5jOjI2MjcKIG1zZ2lkICItZm9udCA8Zm9udD5cdFx0VXNlIDxmb250PiBmb3Igbm9ybWFsIHRleHQgKGFsc286IC1mbikiCiBtc2dzdHIgIiIKICItZm9udCA8dGlwbz5cdFx0VXNhIDxmdWVudGUgZGUgaW1wcmVzafNuPiBwYXJhIGVsIHRleHRvIG5vcm1hbCAodGFtYmnpbjogLWZuKSIKIAotIzogbWFpbi5jOjI1ODkKKyM6IG1haW4uYzoyNTkyCiBtc2dpZCAiLWJvbGRmb250IDxmb250Plx0VXNlIDxmb250PiBmb3IgYm9sZCB0ZXh0IgogbXNnc3RyICItYm9sZGZvbnQgPHRpcG8+XHRVc2EgPGZ1ZW50ZSBkZSBpbXByZXNp824+IHBhcmEgdGV4dG8gZW4gbmVncml0YSIKIAotIzogbWFpbi5jOjI1OTAKKyM6IG1haW4uYzoyNTkzCiBtc2dpZCAiLWl0YWxpY2ZvbnQgPGZvbnQ+XHRVc2UgPGZvbnQ+IGZvciBpdGFsaWMgdGV4dCIKIG1zZ3N0ciAiLWl0YWxpY2ZvbnQgPHRpcG8+XHRVc2EgPGZ1ZW50ZSBkZSBpbXByZXNp824+IHBhcmEgdGV4dG8gZW4gY3Vyc2l2YSIKIAotIzogbWFpbi5jOjI1OTEgbWFpbi5jOjI2MDkKKyM6IG1haW4uYzoyNTk0IG1haW4uYzoyNjEyIG1haW4uYzoyNjI4CiBtc2dpZCAiLWdlb21ldHJ5IDxnZW9tPlx0VXNlIDxnZW9tPiBmb3IgaW5pdGlhbCBnZW9tZXRyeSAoYWxzbzogLWdlb20pIgogbXNnc3RyICIiCiAiLWdlb21ldHJ5IDxnZW9tPlx0VXNhIDxnZW9tPiBwYXJhIGxhIGdlb21ldHLtYSBpbmljaWFsICh0YW1iaeluOiAtZ2VvbSkiCiAKLSM6IG1haW4uYzoyNTkyCisjOiBtYWluLmM6MjU5NQogbXNnaWQgIi1ib3JkZXJ3aWR0aCA8d2lkdGg+XHRVc2UgYSBib3JkZXIgd2lkdGggb2YgPHdpZHRoPiAoYWxzbzogLWJ3KSIKIG1zZ3N0ciAiLWJvcmRlcndpZHRoIDxhbmNobz5cdFVzYSB1biBhbmNobyBkZSBib3JkZSBkZSA8YW5jaG8+ICh0YW1iaeluOiAtYncpIgogCi0jOiBtYWluLmM6MjU5MworIzogbWFpbi5jOjI1OTYKIG1zZ2lkICItc2Nyb2xsYmFyd2lkdGggPHdpZHRoPiAgVXNlIGEgc2Nyb2xsYmFyIHdpZHRoIG9mIDx3aWR0aD4gKGFsc286IC1zdykiCiBtc2dzdHIgIiIKICItc2Nyb2xsYmFyd2lkdGggPGFuY2hvPiAgVXNhIHVuYSBiYXJyYSBkZSBkZXNwbGF6YW1pZW50byBkZSBhbmNobyA8YW5jaG8+ICIKICIodGFtYmnpbjogLXN3KSIKIAotIzogbWFpbi5jOjI1OTUKKyM6IG1haW4uYzoyNTk4CiBtc2dpZCAiLW1lbnVoZWlnaHQgPGhlaWdodD5cdFVzZSBhIG1lbnUgYmFyIGhlaWdodCBvZiA8aGVpZ2h0PiAoYWxzbzogLW1oKSIKIG1zZ3N0ciAiIgogIi1tZW51aGVpZ2h0IDxhbHQ+XHRVc2EgdW5hIGJhcnJhIGRlIG1lbvogZGUgYWx0dXJhIDxhbHQ+ICh0YW1iaeluOiAtbWgpIgogCi0jOiBtYWluLmM6MjU5NyBtYWluLmM6MjYxMAorIzogbWFpbi5jOjI2MDAgbWFpbi5jOjI2MTMKIG1zZ2lkICItcmV2ZXJzZVx0XHRVc2UgcmV2ZXJzZSB2aWRlbyAoYWxzbzogLXJ2KSIKIG1zZ3N0ciAiLXJldmVyc2VcdFx0VXNhciB27WRlbyBpbnZlcnNvICh0YW1iaeluOiAtcnYpIgogCi0jOiBtYWluLmM6MjU5OAorIzogbWFpbi5jOjI2MDEKIG1zZ2lkICIrcmV2ZXJzZVx0XHREb24ndCB1c2UgcmV2ZXJzZSB2aWRlbyAoYWxzbzogK3J2KSIKIG1zZ3N0ciAiK3JldmVyc2VcdFx0Tm8gdXNhciB27WRlbyBpbnZlcnNvICh0YW1iaeluOiArcnYpIgogCi0jOiBtYWluLmM6MjU5OQorIzogbWFpbi5jOjI2MDIKIG1zZ2lkICIteHJtIDxyZXNvdXJjZT5cdFNldCB0aGUgc3BlY2lmaWVkIHJlc291cmNlIgogbXNnc3RyICIteHJtIDxyZWN1cnNvPlx0RXN0YWJsZWNlIGVsIHJlY3Vyc28gZXNwZWNpZmljYWRvIgogCi0jOiBtYWluLmM6MjYwMgorIzogbWFpbi5jOjI2MDUKIG1zZ2lkICIiCiAiXG4iCiAiQXJndW1lbnRzIHJlY29nbmlzZWQgYnkgZ3ZpbSAoUklTQyBPUyB2ZXJzaW9uKTpcbiIKQEAgLTM0NjIsMTUgKzM1MzgsMTUgQEAKICJcbiIKICJBcmd1bWVudG9zIHJlY29ub2NpZG9zIHBvciBndmltICh2ZXJzafNuIHBhcmEgUklTQyBPUyk6XG4iCiAKLSM6IG1haW4uYzoyNjAzCisjOiBtYWluLmM6MjYwNgogbXNnaWQgIi0tY29sdW1ucyA8bnVtYmVyPlx0SW5pdGlhbCB3aWR0aCBvZiB3aW5kb3cgaW4gY29sdW1ucyIKIG1zZ3N0ciAiLS1jb2x1bW5zIDxu+m1lcm8+XHRBbmNodXJhIGluaWNpYWwgZGUgbGEgdmVudGFuYSwgZW4gY29sdW1uYXMiCiAKLSM6IG1haW4uYzoyNjA0CisjOiBtYWluLmM6MjYwNwogbXNnaWQgIi0tcm93cyA8bnVtYmVyPlx0SW5pdGlhbCBoZWlnaHQgb2Ygd2luZG93IGluIHJvd3MiCiBtc2dzdHIgIi0tcm93cyA8bvptZXJvPlx0QWx0dXJhIGluaWNpYWwgZGUgbGEgdmVudGFuYSwgZW4gZmlsYXMiCiAKLSM6IG1haW4uYzoyNjA3CisjOiBtYWluLmM6MjYxMAogbXNnaWQgIiIKICJcbiIKICJBcmd1bWVudHMgcmVjb2duaXNlZCBieSBndmltIChHVEsrIHZlcnNpb24pOlxuIgpAQCAtMzQ3OCw1MCArMzU1NCw3NCBAQAogIlxuIgogIkFyZ3VtZW50b3MgcmVjb25vY2lkb3MgcG9yIGd2aW0gKHZlcnNp824gR1RLKyk6XG4iCiAKLSM6IG1haW4uYzoyNjExCisjOiBtYWluLmM6MjYxNAogbXNnaWQgIi1kaXNwbGF5IDxkaXNwbGF5Plx0UnVuIHZpbSBvbiA8ZGlzcGxheT4gKGFsc286IC0tZGlzcGxheSkiCiBtc2dzdHIgIi1kaXNwbGF5IDxwYW50YWxsYT5cdEVqZWN1dGEgdmltIGVuIDxwYW50YWxsYT4gKHRhbWJp6W46IC0tZGlzcGxheSkiCiAKLSM6IG1haW4uYzoyNjEzCisjOiBtYWluLmM6MjYxNgogbXNnaWQgIi0tcm9sZSA8cm9sZT5cdFNldCBhIHVuaXF1ZSByb2xlIHRvIGlkZW50aWZ5IHRoZSBtYWluIHdpbmRvdyIKIG1zZ3N0ciAiIgogIi0tcm9sZSA8cm9sZT5cdERlZmluZSB1biByb2wg+m5pY28gcGFyYSBpZGVudGlmaWNhciBsYSB2ZW50YW5hIHByaW5jaXBhbC4iCiAKLSM6IG1haW4uYzoyNjE1CisjOiBtYWluLmM6MjYxOAogbXNnaWQgIi0tc29ja2V0aWQgPHhpZD5cdE9wZW4gVmltIGluc2lkZSBhbm90aGVyIEdUSyB3aWRnZXQiCiBtc2dzdHIgIi0tc29ja2V0aWQgPHhpZD5cdEFicmUgYSBWaW0gZGVudHJvIGRlIG90cm8gq3dpZGdldLsgR1RLLiIKIAotIzogbWFpbi5jOjI2MTgKKyM6IG1haW4uYzoyNjIxCittc2dpZCAiIgorIlxuIgorIkFyZ3VtZW50cyByZWNvZ25pc2VkIGJ5IGt2aW0gKEtERSB2ZXJzaW9uKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFyZ3VtZW50b3MgcmVjb25vY2lkb3MgcG9yIGt2aW0gKHZlcnNp824gS0RFKTpcbiIKKworIzogbWFpbi5jOjI2MjIKK21zZ2lkICItYmxhY2tcdFx0VXNlIHJldmVyc2UgdmlkZW8iCittc2dzdHIgIi1ibGFja1x0XHRVc2FyIHbtZGVvIGludmVyc28iCisKKyM6IG1haW4uYzoyNjI0Cittc2dpZCAiLXRpcFx0XHRcdERpc3BsYXkgdGhlIHRpcCBkaWFsb2cgb24gc3RhcnR1cCIKK21zZ3N0ciAiLXRpcFx0XHRcdE1vc3RyYXIgZGnhbG9nbyBkZSBjb25zZWpvcyBhbCBpbmljaWFyIgorCisjOiBtYWluLmM6MjYyNQorbXNnaWQgIi1ub3RpcFx0XHREaXNhYmxlIHRoZSB0aXAgZGlhbG9nIgorbXNnc3RyICItbm90aXBcdFx0Tm8gbW9zdHJhciBkaeFsb2cgZGUgY29uc2Vqb3MgYWwgaW5pY2lhciIKKworIzogbWFpbi5jOjI2MjkKK21zZ2lkICItLWRpc3BsYXkgPGRpc3BsYXk+XHRSdW4gdmltIG9uIDxkaXNwbGF5PiIKK21zZ3N0ciAiLS1kaXNwbGF5IDxwYW50YWxsYT5cdEVqZWN1dGEgdmltIGVuIDxwYW50YWxsYT4iCisKKyM6IG1haW4uYzoyNjMyCiBtc2dpZCAiLVAgPHBhcmVudCB0aXRsZT5cdE9wZW4gVmltIGluc2lkZSBwYXJlbnQgYXBwbGljYXRpb24iCiBtc2dzdHIgIi1QIDx07XR1bG8gdmVudGFuYSBwYWRyZT5cdEFicmlyIGEgVmltIGRlbnRybyBkZSBsYSBhcGxpY2FjafNuIHBhZHJlLiIKIAotIzogbWFpbi5jOjI4NTYKKyM6IG1haW4uYzoyODcwCiBtc2dpZCAiTm8gZGlzcGxheSIKIG1zZ3N0ciAiTm8gaGF5IHVuYSB2ZW50YW5hIgogCiAjICBGYWlsZWQgdG8gc2VuZCwgYWJvcnQuCiAjLiBGYWlsZWQgdG8gc2VuZCwgYWJvcnQuCi0jOiBtYWluLmM6Mjg3MQorIzogbWFpbi5jOjI4ODUKIG1zZ2lkICI6IFNlbmQgZmFpbGVkLlxuIgogbXNnc3RyICI6IEZhbGzzIGVsIGVudmlvLlxuIgogCiAjICBMZXQgdmltIHN0YXJ0IG5vcm1hbGx5LgogIy4gTGV0IHZpbSBzdGFydCBub3JtYWxseS4KLSM6IG1haW4uYzoyODc3CisjOiBtYWluLmM6Mjg5MQogbXNnaWQgIjogU2VuZCBmYWlsZWQuIFRyeWluZyB0byBleGVjdXRlIGxvY2FsbHlcbiIKIG1zZ3N0ciAiIgogIjogRmFsbPMgZWwgaW5pY2lvIGRlIHNlc2nzbiByZW1vdGEgKKtzZW5kuykuIEludGVudGFkbyB1bmEgZWplY3VjafNuIGxvY2FsLlxuIgogCi0jOiBtYWluLmM6MjkxNSBtYWluLmM6MjkzNgorIzogbWFpbi5jOjI5MjkgbWFpbi5jOjI5NTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWQgb2YgJWQgZWRpdGVkIgogbXNnc3RyICIlZCBkZSAlZCBlZGl0YWRvcyIKIAotIzogbWFpbi5jOjI5NTgKKyM6IG1haW4uYzoyOTcyCiBtc2dpZCAiTm8gZGlzcGxheTogU2VuZCBleHByZXNzaW9uIGZhaWxlZC5cbiIKIG1zZ3N0ciAiTm8gaGF5IHVuYSB2ZW50YW5hIGVuIGVsIGRlc3Rpbm86IEVsIGVudmlvIGRlIGxhIGV4cHJlc2nzbiBmYWxs8y5cbiIKIAotIzogbWFpbi5jOjI5NzAKKyM6IG1haW4uYzoyOTg0CiBtc2dpZCAiOiBTZW5kIGV4cHJlc3Npb24gZmFpbGVkLlxuIgogbXNnc3RyICI6IEZhbGzzIGVsIGVudmlvIGRlIGxhIGV4cHJlc2nzbi5cbiIKIApAQCAtMzU2NSw2ICszNjY1LDcgQEAKICJtYXJjYSBs7W5lYSAgY29sIGZpY2hlcm8vdGV4dG8iCiAKICM6IG1hcmsuYzoxMjgxCisjLCBjLWZvcm1hdAogbXNnaWQgIiIKICJcbiIKICIjIEZpbGUgbWFya3M6XG4iCkBAIC0zNTc1LDYgKzM2NzYsNyBAQAogIyAgV3JpdGUgdGhlIGp1bXBsaXN0IHdpdGggLScKICMuIFdyaXRlIHRoZSBqdW1wbGlzdCB3aXRoIC0nCiAjOiBtYXJrLmM6MTMxNgorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiIyBKdW1wbGlzdCAobmV3ZXN0IGZpcnN0KTpcbiIKQEAgLTM1ODMsNiArMzY4NSw3IEBACiAiIyBMaXN0YSBkZSBzYWx0b3MgKGVsIG3hcyByZWNpZW50ZSB2YSBwcmltZXJvKTpcbiIKIAogIzogbWFyay5jOjE0MTIKKyMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIlxuIgogIiMgSGlzdG9yeSBvZiBtYXJrcyB3aXRoaW4gZmlsZXMgKG5ld2VzdCB0byBvbGRlc3QpOlxuIgpAQCAtMzU5OSwzOSArMzcwMiwzOSBAQAogbXNnaWQgIkU1NDM6IE5vdCBhIHZhbGlkIGNvZGVwYWdlIgogbXNnc3RyICJFNTQzOiBObyBlcyB1bmEgcOFnaW5hIGRlIGPzZGlnbyB24WxpZGEuIgogCi0jOiBtYnl0ZS5jOjQ0MzEKKyM6IG1ieXRlLmM6NDQzOAogbXNnaWQgIkUyODQ6IENhbm5vdCBzZXQgSUMgdmFsdWVzIgogbXNnc3RyICJFMjg0OiBObyBzZSBwdWVkZW4gZmlqYXIgbG9zIHZhbG9yZXMgSUMiCiAKLSM6IG1ieXRlLmM6NDU4MworIzogbWJ5dGUuYzo0NTk0CiBtc2dpZCAiRTI4NTogRmFpbGVkIHRvIGNyZWF0ZSBpbnB1dCBjb250ZXh0IgogbXNnc3RyICJFMjg1OiBGYWxs8yBsYSBjcmVhY2nzbiBkZWwgY29udGV4dG8gZGUgZW50cmFkYSIKIAotIzogbWJ5dGUuYzo0NzQxCisjOiBtYnl0ZS5jOjQ3NTIKIG1zZ2lkICJFMjg2OiBGYWlsZWQgdG8gb3BlbiBpbnB1dCBtZXRob2QiCiBtc2dzdHIgIkUyODY6IEZhbGzzIGxhIGFwZXJ0dXJhIGRlbCBt6XRvZG8gZGUgZW50cmFkYSIKIAotIzogbWJ5dGUuYzo0NzUyCisjOiBtYnl0ZS5jOjQ3NjMKIG1zZ2lkICJFMjg3OiBXYXJuaW5nOiBDb3VsZCBub3Qgc2V0IGRlc3Ryb3kgY2FsbGJhY2sgdG8gSU0iCiBtc2dzdHIgIkUyODc6IEFkdmVydGVuY2lhOiBObyBwdWRlIGNyZWFyIHVuIGNhbGxiYWNsIGRlIGRlc3RydWNjafNuIGFsIElNLiIKIAotIzogbWJ5dGUuYzo0NzU4CisjOiBtYnl0ZS5jOjQ3NjkKIG1zZ2lkICJFMjg4OiBpbnB1dCBtZXRob2QgZG9lc24ndCBzdXBwb3J0IGFueSBzdHlsZSIKIG1zZ3N0ciAiRTI4ODogZWwgbel0b2RvIGRlIGVudHJhZGEgbm8gYWRtaXRlIG5pbmf6biBlc3RpbG8iCiAKLSM6IG1ieXRlLmM6NDgxNQorIzogbWJ5dGUuYzo0ODI2CiBtc2dpZCAiRTI4OTogaW5wdXQgbWV0aG9kIGRvZXNuJ3Qgc3VwcG9ydCBteSBwcmVlZGl0IHR5cGUiCiBtc2dzdHIgIkUyODk6IEVsIG3pdG9kbyBkZSBlbnRyYWRhIG5vIHNvcG9ydGEgbWkgdGlwbyBkZSBwcmVlZGljafNuLiIKIAotIzogbWJ5dGUuYzo0ODg5CisjOiBtYnl0ZS5jOjQ5MDAKIG1zZ2lkICJFMjkwOiBvdmVyLXRoZS1zcG90IHN0eWxlIHJlcXVpcmVzIGZvbnRzZXQiCiBtc2dzdHIgIkUyOTA6IEVsIGVzdGlsbyCrc29icmUgZWwgcHVudG+7IHJlcXVpZXJlIGRlbCB1c28gZGUgdW4gq2ZvbnRzZXS7LiIKIAotIzogbWJ5dGUuYzo0OTI1CisjOiBtYnl0ZS5jOjQ5MzYKIG1zZ2lkICJFMjkxOiBZb3VyIEdUSysgaXMgb2xkZXIgdGhhbiAxLjIuMy4gU3RhdHVzIGFyZWEgZGlzYWJsZWQiCiBtc2dzdHIgIkUyOTE6IFN1IEdUSysgZXMgYW50ZXJpb3IgYSAxLjIuMy4gwXJlYSBkZSBlc3RhZG8gZGVzYWN0aXZhZGEiCiAKLSM6IG1ieXRlLmM6NTIzMgorIzogbWJ5dGUuYzo1MjQzCiBtc2dpZCAiRTI5MjogSW5wdXQgTWV0aG9kIFNlcnZlciBpcyBub3QgcnVubmluZyIKIG1zZ3N0ciAiRTI5MjogRWwgc2Vydmlkb3IgZGUgbel0b2RvIGRlIGVudHJhZGEgKElNRSkgbm8gZXN04SBmdW5jaW9uYW5kbyIKIApAQCAtMzY1OSw1OSArMzc2Miw1OSBAQAogbXNnaWQgIkUzMDA6IFN3YXAgZmlsZSBhbHJlYWR5IGV4aXN0cyAoc3ltbGluayBhdHRhY2s/KSIKIG1zZ3N0ciAiRTMwMDogWWEgZXhpc3RlIHVuIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8gKL9hdGFxdWUgZGUgc3ltbGluaz8pIgogCi0jOiBtZW1saW5lLmM6Mjc1CisjOiBtZW1saW5lLmM6Mjc4CiBtc2dpZCAiRTI5ODogRGlkbid0IGdldCBibG9jayBuciAwPyIKIG1zZ3N0ciAiRTI5ODogv05vIHNlIG9idHV2byBlbCBibG9xdWUgbrogMD8iCiAKLSM6IG1lbWxpbmUuYzozMTUKKyM6IG1lbWxpbmUuYzozMTgKIG1zZ2lkICJFMjk4OiBEaWRuJ3QgZ2V0IGJsb2NrIG5yIDE/IgogbXNnc3RyICJFMjk4OiC/Tm8gc2Ugb2J0dXZvIGVsIGJsb3F1ZSBuuiAxPyIKIAotIzogbWVtbGluZS5jOjMzMworIzogbWVtbGluZS5jOjMzNgogbXNnaWQgIkUyOTg6IERpZG4ndCBnZXQgYmxvY2sgbnIgMj8iCiBtc2dzdHIgIkUyOTg6IL9ObyBzZSBvYnR1dm8gZWwgYmxvcXVlIG66IDI/IgogCiAjICBjb3VsZCBub3QgKHJlKW9wZW4gdGhlIHN3YXAgZmlsZSwgd2hhdCBjYW4gd2UgZG8/Pz8/CiAjLiBjb3VsZCBub3QgKHJlKW9wZW4gdGhlIHN3YXAgZmlsZSwgd2hhdCBjYW4gd2UgZG8/Pz8/Ci0jOiBtZW1saW5lLmM6NDQ0CisjOiBtZW1saW5lLmM6NDQ3CiBtc2dpZCAiRTMwMTogT29wcywgbG9zdCB0aGUgc3dhcCBmaWxlISEhIgogbXNnc3RyICJFMzAxOiChoaFFZWVoLCBzZSBoYSBwZXJkaWRvIGVsIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8hISEiCiAKLSM6IG1lbWxpbmUuYzo0NDkKKyM6IG1lbWxpbmUuYzo0NTIKIG1zZ2lkICJFMzAyOiBDb3VsZCBub3QgcmVuYW1lIHN3YXAgZmlsZSIKIG1zZ3N0ciAiRTMwMjogTm8gc2UgcHVkbyBjYW1iaWFyIGVsIG5vbWJyZSBkZWwgZmljaGVybyBkZSBpbnRlcmNhbWJpbyIKIAotIzogbWVtbGluZS5jOjUxOQorIzogbWVtbGluZS5jOjUyMgogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzAzOiBVbmFibGUgdG8gb3BlbiBzd2FwIGZpbGUgZm9yIFwiJXNcIiwgcmVjb3ZlcnkgaW1wb3NzaWJsZSIKIG1zZ3N0ciAiIgogIkUzMDM6IEluY2FwYXogZGUgYWJyaXIgZWwgZmljaGVybyBkZSBpbnRlcmNhbWJpbyBwYXJhIKslc7ssIHJlY3VwZXJhY2nzbiAiCiAiaW1wb3NpYmxlIgogCi0jOiBtZW1saW5lLmM6NjE4CisjOiBtZW1saW5lLmM6NjIxCiBtc2dpZCAiRTMwNDogbWxfdGltZXN0YW1wOiBEaWRuJ3QgZ2V0IGJsb2NrIDA/PyIKIG1zZ3N0ciAiRTMwNDogq21sX3RpbWVzdGFtcLs6IL9ObyBzZSBvYnR1dm8gZWwgYmxvcXVlIDA/IgogCi0jOiBtZW1saW5lLmM6NzU4CisjOiBtZW1saW5lLmM6NzYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzMDU6IE5vIHN3YXAgZmlsZSBmb3VuZCBmb3IgJXMiCiBtc2dzdHIgIkUzMDU6IE5vIHNlIGVuY29udHLzIGVsIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8gcGFyYSAlcyIKIAotIzogbWVtbGluZS5jOjc2OAorIzogbWVtbGluZS5jOjc3MQogbXNnaWQgIkVudGVyIG51bWJlciBvZiBzd2FwIGZpbGUgdG8gdXNlICgwIHRvIHF1aXQpOiAiCiBtc2dzdHIgIiIKICJJbnRyb2R1emNhIGVsIG76bWVybyBkZWwgZmljaGVybyBkZSBpbnRlcmNhbWJpbyBhIHVzYXIgKDAgcGFyYSBzYWxpcik6ICIKIAotIzogbWVtbGluZS5jOjgxMworIzogbWVtbGluZS5jOjgxNgogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzA2OiBDYW5ub3Qgb3BlbiAlcyIKIG1zZ3N0ciAiRTMwNjogTm8gcHVlZG8gYWJyaXIgJXMiCiAKLSM6IG1lbWxpbmUuYzo4MzUKKyM6IG1lbWxpbmUuYzo4MzgKIG1zZ2lkICJVbmFibGUgdG8gcmVhZCBibG9jayAwIGZyb20gIgogbXNnc3RyICJJbmNhcGF6IGRlIGxlZXIgZWwgYmxvcXVlIDAgZGUgIgogCi0jOiBtZW1saW5lLmM6ODM4CisjOiBtZW1saW5lLmM6ODQxCiBtc2dpZCAiIgogIlxuIgogIk1heWJlIG5vIGNoYW5nZXMgd2VyZSBtYWRlIG9yIFZpbSBkaWQgbm90IHVwZGF0ZSB0aGUgc3dhcCBmaWxlLiIKQEAgLTM3MTksMjggKzM4MjIsMjggQEAKICJcbiIKICJUYWwgdmV6IG5vIHNlIGhhbiBoZWNobyBjYW1iaW9zIG8gVmltIG5vIGFjdHVhbGl68yBlbCBmaWNoZXJvIGRlIGludGVyY2FtYmlvIgogCi0jOiBtZW1saW5lLmM6ODQ4IG1lbWxpbmUuYzo4NjUKKyM6IG1lbWxpbmUuYzo4NTEgbWVtbGluZS5jOjg2OAogbXNnaWQgIiBjYW5ub3QgYmUgdXNlZCB3aXRoIHRoaXMgdmVyc2lvbiBvZiBWaW0uXG4iCiBtc2dzdHIgIiBubyBwdWVkZSB1c2Fyc2UgY29uIGVzdGEgdmVyc2nzbiBkZSBWaW0uXG4iCiAKLSM6IG1lbWxpbmUuYzo4NTAKKyM6IG1lbWxpbmUuYzo4NTMKIG1zZ2lkICJVc2UgVmltIHZlcnNpb24gMy4wLlxuIgogbXNnc3RyICJVc2UgbGEgdmVyc2nzbiAzLjAgZGUgVmltLlxuIgogCi0jOiBtZW1saW5lLmM6ODU2CisjOiBtZW1saW5lLmM6ODU5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzMDc6ICVzIGRvZXMgbm90IGxvb2sgbGlrZSBhIFZpbSBzd2FwIGZpbGUiCiBtc2dzdHIgIkUzMDc6ICVzIG5vIHBhcmVjZSB1biBmaWNoZXJvIGRlIGludGVyY2FtYmlvIGRlIFZpbSIKIAotIzogbWVtbGluZS5jOjg2OQorIzogbWVtbGluZS5jOjg3MgogbXNnaWQgIiBjYW5ub3QgYmUgdXNlZCBvbiB0aGlzIGNvbXB1dGVyLlxuIgogbXNnc3RyICJubyBwdWVkZSB1c2Fyc2UgZW4gZXN0ZSBvcmRlbmFkb3IuXG4iCiAKLSM6IG1lbWxpbmUuYzo4NzEKKyM6IG1lbWxpbmUuYzo4NzQKIG1zZ2lkICJUaGUgZmlsZSB3YXMgY3JlYXRlZCBvbiAiCiBtc2dzdHIgIkVsIGZpY2hlcm8gZnVlIGNyZWFkbyBlbCAiCiAKLSM6IG1lbWxpbmUuYzo4NzUKKyM6IG1lbWxpbmUuYzo4NzgKIG1zZ2lkICIiCiAiLFxuIgogIm9yIHRoZSBmaWxlIGhhcyBiZWVuIGRhbWFnZWQuIgpAQCAtMzc0OCw4MyArMzg1MSw4NCBAQAogIixcbiIKICJvIGVsIGZpY2hlcm8gaGEgc2lkbyBkYfFhZG8uIgogCi0jOiBtZW1saW5lLmM6OTA0CisjOiBtZW1saW5lLmM6OTA3CiAjLCBjLWZvcm1hdAogbXNnaWQgIlVzaW5nIHN3YXAgZmlsZSBcIiVzXCIiCiBtc2dzdHIgIlVzYW5kbyBlbCBmaWNoZXJvIGRlIGludGVyY2FtYmlvIKslc7siCiAKLSM6IG1lbWxpbmUuYzo5MTAKKyM6IG1lbWxpbmUuYzo5MTMKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3JpZ2luYWwgZmlsZSBcIiVzXCIiCiBtc2dzdHIgIkZpY2hlcm8gb3JpZ2luYWwgqyVzuyIKIAotIzogbWVtbGluZS5jOjkyMworIzogbWVtbGluZS5jOjkyNgogbXNnaWQgIkUzMDg6IFdhcm5pbmc6IE9yaWdpbmFsIGZpbGUgbWF5IGhhdmUgYmVlbiBjaGFuZ2VkIgogbXNnc3RyICJFMzA4OiBBZHZlcnRlbmNpYTogZWwgZmljaGVybyBvcmlnaW5hbCBwdWVkZSBoYWJlciBzaWRvIGNhbWJpYWRvIgogCi0jOiBtZW1saW5lLmM6OTc2CisjOiBtZW1saW5lLmM6OTc5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzMDk6IFVuYWJsZSB0byByZWFkIGJsb2NrIDEgZnJvbSAlcyIKIG1zZ3N0ciAiRTMwOTogSW5jYXBheiBkZSBsZWVyIGVsIGJsb3F1ZSAxIGRlICVzIgogCi0jOiBtZW1saW5lLmM6OTgwCisjOiBtZW1saW5lLmM6OTgzCiBtc2dpZCAiPz8/TUFOWSBMSU5FUyBNSVNTSU5HIgogbXNnc3RyICI/Pz9GQUxUQU4gTVVDSEFTIEzNTkVBUyIKIAotIzogbWVtbGluZS5jOjk5NgorIzogbWVtbGluZS5jOjk5OQogbXNnaWQgIj8/P0xJTkUgQ09VTlQgV1JPTkciCiBtc2dzdHIgIj8/P1JFQ1VFTlRPIERFIEzNTkVBUyBFUVVJVk9DQURPIgogCi0jOiBtZW1saW5lLmM6MTAwMworIzogbWVtbGluZS5jOjEwMDYKIG1zZ2lkICI/Pz9FTVBUWSBCTE9DSyIKIG1zZ3N0ciAiPz8/QkxPUVVFIFZBQ81PIgogCi0jOiBtZW1saW5lLmM6MTAyOQorIzogbWVtbGluZS5jOjEwMzIKIG1zZ2lkICI/Pz9MSU5FUyBNSVNTSU5HIgogbXNnc3RyICI/Pz9GQUxUQU4gTM1ORUFTIgogCi0jOiBtZW1saW5lLmM6MTA2MQorIzogbWVtbGluZS5jOjEwNjQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTMxMDogQmxvY2sgMSBJRCB3cm9uZyAoJXMgbm90IGEgLnN3cCBmaWxlPykiCiBtc2dzdHIgIkUzMTA6IElEIGRlbCBibG9xdWUgMSBlcXVpdm9jYWRvICi/bm8gZXMgJXMgdW4gZmljaGVybyAuc3dwPykiCiAKLSM6IG1lbWxpbmUuYzoxMDY2CisjOiBtZW1saW5lLmM6MTA2OQogbXNnaWQgIj8/P0JMT0NLIE1JU1NJTkciCiBtc2dzdHIgIj8/P0ZBTFRBIFVOIEJMT1FVRSIKIAotIzogbWVtbGluZS5jOjEwODIKKyM6IG1lbWxpbmUuYzoxMDg1CiBtc2dpZCAiPz8/IGZyb20gaGVyZSB1bnRpbCA/Pz9FTkQgbGluZXMgbWF5IGJlIG1lc3NlZCB1cCIKIG1zZ3N0ciAiPz8/IGRlc2RlIGFxde0gaGFzdCA/Pz9GSU4gbGFzIGztbmVhcyBwdWVkZW4gZXN0YXIgZGVzb3JkZW5hZGFzIgogCi0jOiBtZW1saW5lLmM6MTA5OAorIzogbWVtbGluZS5jOjExMDEKIG1zZ2lkICI/Pz8gZnJvbSBoZXJlIHVudGlsID8/P0VORCBsaW5lcyBtYXkgaGF2ZSBiZWVuIGluc2VydGVkL2RlbGV0ZWQiCiBtc2dzdHIgIiIKLSI/Pz8gZGVzZGUgYXF17SBoYXN0YSA/Pz9GSU4gbGFzIGztbmVhcyBwdWVkZW4gaGFiZXIgc2lkbyBpbnNlcnRhZGFzL2JvcnJhZGFzIgorIj8/PyBkZXNkZSBhcXXtIGhhc3RhID8/P0ZJTiBsYXMgbO1uZWFzIHB1ZWRlbiBoYWJlciBzaWRvIGluc2VydGFkYXMvIgorImVsaW1pbmFkYXMiCiAKLSM6IG1lbWxpbmUuYzoxMTE4CisjOiBtZW1saW5lLmM6MTEyMQogbXNnaWQgIj8/P0VORCIKIG1zZ3N0ciAiPz8/RklOIgogCi0jOiBtZW1saW5lLmM6MTE0NAorIzogbWVtbGluZS5jOjExNDcKIG1zZ2lkICJFMzExOiBSZWNvdmVyeSBJbnRlcnJ1cHRlZCIKIG1zZ3N0ciAiRTMxMTogUmVjdXBlcmFjafNuIGludGVycnVtcGlkYSIKIAotIzogbWVtbGluZS5jOjExNDkKKyM6IG1lbWxpbmUuYzoxMTUyCiBtc2dpZCAiIgogIkUzMTI6IEVycm9ycyBkZXRlY3RlZCB3aGlsZSByZWNvdmVyaW5nOyBsb29rIGZvciBsaW5lcyBzdGFydGluZyB3aXRoID8/PyIKIG1zZ3N0ciAiIgogIkUzMTI6IFNlIGhhbiBkZXRlY3RhZG8gZXJyb3JlcyBhbCByZWN1cGVyYXI7IGJ1c3F1ZSBs7W5lYXMgcXVlIGVtcGllY2VuICIKICJjb24gPz8/IgogCi0jOiBtZW1saW5lLmM6MTE1MQorIzogbWVtbGluZS5jOjExNTQKIG1zZ2lkICJTZWUgXCI6aGVscCBFMzEyXCIgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgogbXNnc3RyICJWZWEgqzpoZWxwIEUzMTK7IHBhcmEgbeFzIGluZm9ybWFjafNuLiIKIAotIzogbWVtbGluZS5jOjExNTYKKyM6IG1lbWxpbmUuYzoxMTU5CiBtc2dpZCAiUmVjb3ZlcnkgY29tcGxldGVkLiBZb3Ugc2hvdWxkIGNoZWNrIGlmIGV2ZXJ5dGhpbmcgaXMgT0suIgogbXNnc3RyICJSZWN1cGVyYWNp824gY29tcGxldGFkYS4gVWQuIGRlYmVy7WEgY29tcHJvYmFyIHF1ZSB0b2RvIGVzdOEgYmllbi4iCiAKLSM6IG1lbWxpbmUuYzoxMTU3CisjOiBtZW1saW5lLmM6MTE2MAogbXNnaWQgIiIKICJcbiIKICIoWW91IG1pZ2h0IHdhbnQgdG8gd3JpdGUgb3V0IHRoaXMgZmlsZSB1bmRlciBhbm90aGVyIG5hbWVcbiIKQEAgLTM4MzIsMTIgKzM5MzYsMTIgQEAKICJcbiIKICIoUG9kcu1hIHF1ZXJlciBndWFyZGFyIGVzdGUgZmljaGVybyBjb24gb3RybyBub21icmVcbiIKIAotIzogbWVtbGluZS5jOjExNTgKKyM6IG1lbWxpbmUuYzoxMTYxCiBtc2dpZCAiYW5kIHJ1biBkaWZmIHdpdGggdGhlIG9yaWdpbmFsIGZpbGUgdG8gY2hlY2sgZm9yIGNoYW5nZXMpXG4iCiBtc2dzdHIgIiIKICJ5IGVqZWN1dGFyIKtkaWZmuyBjb24gZWwgZmljaGVybyBvcmlnaW5hbCBwYXJhIGNvbXByb2JhciBsb3MgY2FtYmlvcylcbiIKIAotIzogbWVtbGluZS5jOjExNTkKKyM6IG1lbWxpbmUuYzoxMTYyCiBtc2dpZCAiIgogIkRlbGV0ZSB0aGUgLnN3cCBmaWxlIGFmdGVyd2FyZHMuXG4iCiAiXG4iCkBAIC0zODQ3LDUxICszOTUxLDUxIEBACiAKICMgIHVzZSBtc2coKSB0byBzdGFydCB0aGUgc2Nyb2xsaW5nIHByb3Blcmx5CiAjLiB1c2UgbXNnKCkgdG8gc3RhcnQgdGhlIHNjcm9sbGluZyBwcm9wZXJseQotIzogbWVtbGluZS5jOjEyMTUKKyM6IG1lbWxpbmUuYzoxMjE4CiBtc2dpZCAiU3dhcCBmaWxlcyBmb3VuZDoiCiBtc2dzdHIgIlNlIGhhbiBlbmNvbnRyYWRvIGZpY2hlcm9zIGRlIGludGVyY2FtYmlvOiIKIAotIzogbWVtbGluZS5jOjEzOTMKKyM6IG1lbWxpbmUuYzoxMzk2CiBtc2dpZCAiICAgSW4gY3VycmVudCBkaXJlY3Rvcnk6XG4iCiBtc2dzdHIgIiAgIEVuIGVsIGRpcmVjdG9yaW8gYWN0dWFsOlxuIgogCi0jOiBtZW1saW5lLmM6MTM5NQorIzogbWVtbGluZS5jOjEzOTgKIG1zZ2lkICIgICBVc2luZyBzcGVjaWZpZWQgbmFtZTpcbiIKIG1zZ3N0ciAiICAgVXNhbmRvIGVsIG5vbWJyZSBlc3BlY2lmaWNhZG86XG4iCiAKLSM6IG1lbWxpbmUuYzoxMzk5CisjOiBtZW1saW5lLmM6MTQwMgogbXNnaWQgIiAgIEluIGRpcmVjdG9yeSAiCiBtc2dzdHIgIiAgIEVuIGVsIGRpcmVjdG9yaW8gIgogCi0jOiBtZW1saW5lLmM6MTQxNworIzogbWVtbGluZS5jOjE0MjAKIG1zZ2lkICIgICAgICAtLSBub25lIC0tXG4iCiBtc2dzdHIgIiAgICAgIC0tIG5pbmd1bm8gLS1cbiIKIAotIzogbWVtbGluZS5jOjE0ODkKKyM6IG1lbWxpbmUuYzoxNDkyCiBtc2dpZCAiICAgICAgICAgIG93bmVkIGJ5OiAiCiBtc2dzdHIgIiAgICAgICAgICBwcm9waWVkYWQgZGU6ICIKIAotIzogbWVtbGluZS5jOjE0OTEKKyM6IG1lbWxpbmUuYzoxNDk0CiBtc2dpZCAiICAgZGF0ZWQ6ICIKIG1zZ3N0ciAiICAgZGUgZmVjaGE6ICIKIAotIzogbWVtbGluZS5jOjE0OTUgbWVtbGluZS5jOjM2ODUKKyM6IG1lbWxpbmUuYzoxNDk4IG1lbWxpbmUuYzozNjg4CiBtc2dpZCAiICAgICAgICAgICAgIGRhdGVkOiAiCiBtc2dzdHIgIiAgICAgICAgICAgICBkZSBmZWNoYTogIgogCi0jOiBtZW1saW5lLmM6MTUxMQorIzogbWVtbGluZS5jOjE1MTQKIG1zZ2lkICIgICAgICAgICBbZnJvbSBWaW0gdmVyc2lvbiAzLjBdIgogbXNnc3RyICIgICAgICBbZGVzZGUgbGEgdmVyc2nzbiAzLjAgZGUgVmltXSIKIAotIzogbWVtbGluZS5jOjE1MTUKKyM6IG1lbWxpbmUuYzoxNTE4CiBtc2dpZCAiICAgICAgICAgW2RvZXMgbm90IGxvb2sgbGlrZSBhIFZpbSBzd2FwIGZpbGVdIgogbXNnc3RyICIgICAgICAgICBbbm8gcGFyZWNlIHVuIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8gZGUgVmltXSIKIAotIzogbWVtbGluZS5jOjE1MTkKKyM6IG1lbWxpbmUuYzoxNTIyCiBtc2dpZCAiICAgICAgICAgZmlsZSBuYW1lOiAiCiBtc2dzdHIgIiAgICAgICAgIG5vbWJyZSBkZWwgZmljaGVybzogIgogCi0jOiBtZW1saW5lLmM6MTUyNQorIzogbWVtbGluZS5jOjE1MjgKIG1zZ2lkICIiCiAiXG4iCiAiICAgICAgICAgIG1vZGlmaWVkOiAiCkBAIC0zODk5LDE1ICs0MDAzLDE1IEBACiAiXG4iCiAiICAgICAgICAgbW9kaWZpY2FkbzogIgogCi0jOiBtZW1saW5lLmM6MTUyNgorIzogbWVtbGluZS5jOjE1MjkKIG1zZ2lkICJZRVMiCiBtc2dzdHIgIlNJIgogCi0jOiBtZW1saW5lLmM6MTUyNgorIzogbWVtbGluZS5jOjE1MjkKIG1zZ2lkICJubyIKIG1zZ3N0ciAibm8iCiAKLSM6IG1lbWxpbmUuYzoxNTMwCisjOiBtZW1saW5lLmM6MTUzMwogbXNnaWQgIiIKICJcbiIKICIgICAgICAgICB1c2VyIG5hbWU6ICIKQEAgLTM5MTUsMTEgKzQwMTksMTEgQEAKICJcbiIKICIgbm9tYnJlIGRlbCB1c3VhcmlvOiAiCiAKLSM6IG1lbWxpbmUuYzoxNTM3CisjOiBtZW1saW5lLmM6MTU0MAogbXNnaWQgIiAgIGhvc3QgbmFtZTogIgogbXNnc3RyICIgIG5vbWJyZSBkZWwgq2hvc3S7OiAiCiAKLSM6IG1lbWxpbmUuYzoxNTM5CisjOiBtZW1saW5lLmM6MTU0MgogbXNnaWQgIiIKICJcbiIKICIgICAgICAgICBob3N0IG5hbWU6ICIKQEAgLTM5MjcsNyArNDAzMSw3IEBACiAiXG4iCiAiICAgICAgIG5vbWJyZSBkZWwgq2hvc3S7OiAiCiAKLSM6IG1lbWxpbmUuYzoxNTQ1CisjOiBtZW1saW5lLmM6MTU0OAogbXNnaWQgIiIKICJcbiIKICIgICAgICAgIHByb2Nlc3MgSUQ6ICIKQEAgLTM5MzUsMTEgKzQwMzksMTEgQEAKICJcbiIKICIgICAgICBJRCBkZWwgcHJvY2VzbzogIgogCi0jOiBtZW1saW5lLmM6MTU1MQorIzogbWVtbGluZS5jOjE1NTQKIG1zZ2lkICIgKHN0aWxsIHJ1bm5pbmcpIgogbXNnc3RyICIgKGH6biBlbiBlamVjdWNp824pIgogCi0jOiBtZW1saW5lLmM6MTU2MworIzogbWVtbGluZS5jOjE1NjYKIG1zZ2lkICIiCiAiXG4iCiAiICAgICAgICAgW25vdCB1c2FibGUgd2l0aCB0aGlzIHZlcnNpb24gb2YgVmltXSIKQEAgLTM5NDcsNyArNDA1MSw3IEBACiAiXG4iCiAiICAgICAgICAgW25vIHNlIHBldWRlIHVzYXIgY29uIGVzdGEgdmVyc2nzbiBkZSBWaW1dIgogCi0jOiBtZW1saW5lLmM6MTU2NgorIzogbWVtbGluZS5jOjE1NjkKIG1zZ2lkICIiCiAiXG4iCiAiICAgICAgICAgW25vdCB1c2FibGUgb24gdGhpcyBjb21wdXRlcl0iCkBAIC0zOTU1LDkyICs0MDU5LDkyIEBACiAiXG4iCiAiICAgICAgICAgW25vIHNlIHB1ZWRlIHVzYXIgZW4gZXN0ZSBvcmRlbmFkb3JdIgogCi0jOiBtZW1saW5lLmM6MTU3MQorIzogbWVtbGluZS5jOjE1NzQKIG1zZ2lkICIgICAgICAgICBbY2Fubm90IGJlIHJlYWRdIgogbXNnc3RyICIgICAgICAgICBbbm8gc2UgcHVlZGUgbGVlcl0iCiAKLSM6IG1lbWxpbmUuYzoxNTc1CisjOiBtZW1saW5lLmM6MTU3OAogbXNnaWQgIiAgICAgICAgIFtjYW5ub3QgYmUgb3BlbmVkXSIKIG1zZ3N0ciAiICAgICAgICAgW25vIHNlIHB1ZWRlIGFicmlyXSIKIAotIzogbWVtbGluZS5jOjE3NjUKKyM6IG1lbWxpbmUuYzoxNzY4CiBtc2dpZCAiRTMxMzogQ2Fubm90IHByZXNlcnZlLCB0aGVyZSBpcyBubyBzd2FwIGZpbGUiCiBtc2dzdHIgIkUzMTM6IE5vIHB1ZWRvIHByZXNlcnZhcmxvLCBubyBleGlzdGUgdW4gZmljaGVybyBkZSBpbnRlcmNhbWJpbyIKIAotIzogbWVtbGluZS5jOjE4MTgKKyM6IG1lbWxpbmUuYzoxODIxCiBtc2dpZCAiRmlsZSBwcmVzZXJ2ZWQiCiBtc2dzdHIgImZpY2hlcm8gcHJlc2VydmFkbyIKIAotIzogbWVtbGluZS5jOjE4MjAKKyM6IG1lbWxpbmUuYzoxODIzCiBtc2dpZCAiRTMxNDogUHJlc2VydmUgZmFpbGVkIgogbXNnc3RyICJFMzE0OiBGYWxs8yBsYSBwcmVzZXJ2YWNp824gZGVsIGZpY2hlcm8iCiAKLSM6IG1lbWxpbmUuYzoxODkxCisjOiBtZW1saW5lLmM6MTg5NAogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzE1OiBtbF9nZXQ6IGludmFsaWQgbG51bTogJWxkIgogbXNnc3RyICJFMzE1OiCrbWxfZ2V0uzogbvptZXJvIGRlIGztbmVhIG5vIHbhbGlkbzogJWxkIgogCi0jOiBtZW1saW5lLmM6MTkxNworIzogbWVtbGluZS5jOjE5MjAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTMxNjogbWxfZ2V0OiBjYW5ub3QgZmluZCBsaW5lICVsZCIKIG1zZ3N0ciAiRTMxNjogq21sX2dldLs6IG5vIHB1ZWRvIGVuY29udHJhciBsYSBs7W5lYSAlbGQiCiAKLSM6IG1lbWxpbmUuYzoyMzA3CisjOiBtZW1saW5lLmM6MjMxMAogbXNnaWQgIkUzMTc6IHBvaW50ZXIgYmxvY2sgaWQgd3JvbmcgMyIKIG1zZ3N0ciAiRTMxNzogRWwgaWQgZGVsIGJsb3F1ZSBkZSBwdW50ZXJvcyBlc3ThIGVxdWl2b2NhZG8uIDMiCiAKLSM6IG1lbWxpbmUuYzoyMzg3CisjOiBtZW1saW5lLmM6MjM5MAogbXNnaWQgInN0YWNrX2lkeCBzaG91bGQgYmUgMCIKIG1zZ3N0ciAiq3N0YWNrX2lkeLsgZGViZXLtYSBzZXIgMCIKIAotIzogbWVtbGluZS5jOjI0NDkKKyM6IG1lbWxpbmUuYzoyNDUyCiBtc2dpZCAiRTMxODogVXBkYXRlZCB0b28gbWFueSBibG9ja3M/IgogbXNnc3RyICJFMzE4OiC/RGVtYXNpYWRvcyBibG9xdWVzIGFjdHVhbGl6YWRvcz8iCiAKLSM6IG1lbWxpbmUuYzoyNjMxCisjOiBtZW1saW5lLmM6MjYzNAogbXNnaWQgIkUzMTc6IHBvaW50ZXIgYmxvY2sgaWQgd3JvbmcgNCIKIG1zZ3N0ciAiRTMxNzogRWwgaWQgZGVsIGJsb3F1ZSBkZSBwdW50ZXJvcyBlc3ThIGVxdWl2b2NhZG8uIDQiCiAKLSM6IG1lbWxpbmUuYzoyNjU4CisjOiBtZW1saW5lLmM6MjY2MQogbXNnaWQgImRlbGV0ZWQgYmxvY2sgMT8iCi1tc2dzdHIgIr9ibG9xdWUgMSBzdXByaW1pZG8/IgorbXNnc3RyICK/QmxvcXVlIDEgZWxpbWluYWRvPyIKIAotIzogbWVtbGluZS5jOjI4NTgKKyM6IG1lbWxpbmUuYzoyODYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzMjA6IENhbm5vdCBmaW5kIGxpbmUgJWxkIgogbXNnc3RyICJFMzIwOiBObyBwdWVkbyBlbmNvbnRyYXIgbGEgbO1uZWEgJWxkIgogCi0jOiBtZW1saW5lLmM6MzEwMQorIzogbWVtbGluZS5jOjMxMDQKIG1zZ2lkICJFMzE3OiBwb2ludGVyIGJsb2NrIGlkIHdyb25nIgogbXNnc3RyICJFMzE3OiBFbCBpZCBkZWwgYmxvcXVlIGRlIHB1bnRlcm9zIGVzdOEgZXF1aXZvY2Fkby4iCiAKLSM6IG1lbWxpbmUuYzozMTE3CisjOiBtZW1saW5lLmM6MzEyMAogbXNnaWQgInBlX2xpbmVfY291bnQgaXMgemVybyIKIG1zZ3N0ciAiq3BlX2xpbmVfY291bnS7IGVzIGNlcm8iCiAKLSM6IG1lbWxpbmUuYzozMTQ2CisjOiBtZW1saW5lLmM6MzE0OQogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzIyOiBsaW5lIG51bWJlciBvdXQgb2YgcmFuZ2U6ICVsZCBwYXN0IHRoZSBlbmQiCiBtc2dzdHIgIkUzMjI6IG76bWVybyBkZSBs7W5lYSBmdWVyYSBkZSByYW5nbzogJWxkIG3hcyBhbGzhIGRlbCBmaW5hbCIKIAotIzogbWVtbGluZS5jOjMxNTAKKyM6IG1lbWxpbmUuYzozMTUzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzMjM6IGxpbmUgY291bnQgd3JvbmcgaW4gYmxvY2sgJWxkIgogbXNnc3RyICJFMzIzOiByZWN1ZW50byBkZSBs7W5lYXMgZXJy825lbyBlbiBlbCBibG9xdWUgJWxkIgogCi0jOiBtZW1saW5lLmM6MzE5OQorIzogbWVtbGluZS5jOjMyMDIKIG1zZ2lkICJTdGFjayBzaXplIGluY3JlYXNlcyIKIG1zZ3N0ciAiRWwgdGFtYfFvIGRlIGxhIHBpbGEgYXVtZW50YSIKIAotIzogbWVtbGluZS5jOjMyNDUKKyM6IG1lbWxpbmUuYzozMjQ4CiBtc2dpZCAiRTMxNzogcG9pbnRlciBibG9jayBpZCB3cm9uZyAyIgogbXNnc3RyICJFMzEwOiBFbCBpZCBkZWwgYmxvcXVlIGRlIHB1bnRlcm9zIGVzdOEgZXF1aXZvY2Fkby4gMiIKIAotIzogbWVtbGluZS5jOjM2NzUKKyM6IG1lbWxpbmUuYzozNjc4CiBtc2dpZCAiRTMyNTogQVRURU5USU9OIgogbXNnc3RyICJFMzI1OiBBVEVOQ0nTTiIKIAotIzogbWVtbGluZS5jOjM2NzYKKyM6IG1lbWxpbmUuYzozNjc5CiBtc2dpZCAiIgogIlxuIgogIkZvdW5kIGEgc3dhcCBmaWxlIGJ5IHRoZSBuYW1lIFwiIgpAQCAtNDA0OCwxMSArNDE1MiwxMSBAQAogIlxuIgogIlNlIGhhIGVuY29udHJhZG8gdW4gZmljaGVybyBkZSBpbnRlcmNhbWJpbyBjb24gZWwgbm9tYnJlIKsiCiAKLSM6IG1lbWxpbmUuYzozNjgwCisjOiBtZW1saW5lLmM6MzY4MwogbXNnaWQgIldoaWxlIG9wZW5pbmcgZmlsZSBcIiIKIG1zZ3N0ciAiYWwgYWJyaXIgZWwgZmljaGVybyCrIgogCi0jOiBtZW1saW5lLmM6MzY4OQorIzogbWVtbGluZS5jOjM2OTIKIG1zZ2lkICIgICAgICBORVdFUiB0aGFuIHN3YXAgZmlsZSFcbiIKIG1zZ3N0ciAiICAgICBNwVMgTlVFVk8gcXVlIGVsIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8hXG4iCiAKQEAgLTQwNjAsNyArNDE2NCw3IEBACiAjICAqIG90aGVyIGxhbmd1YWdlcy4KICMuIFNvbWUgb2YgdGhlc2UgbWVzc2FnZXMgYXJlIGxvbmcgdG8gYWxsb3cgdHJhbnNsYXRpb24gdG8KICMuICogb3RoZXIgbGFuZ3VhZ2VzLgotIzogbWVtbGluZS5jOjM2OTMKKyM6IG1lbWxpbmUuYzozNjk2CiBtc2dpZCAiIgogIlxuIgogIigxKSBBbm90aGVyIHByb2dyYW0gbWF5IGJlIGVkaXRpbmcgdGhlIHNhbWUgZmlsZS5cbiIKQEAgLTQwNzIsMTEgKzQxNzYsMTEgQEAKICIgICAgRGUgc2VyIGFz7SwgdGVuZ2EgY3VpZGFkbyBkZSBubyBhY2FiYXIgY29uIGRvc1xuIgogIiAgICBlamVtcGxhcmVzIGRpZmVyZW50ZXMgZGVsIG1pc21vIGZpY2hlcm8gYWwgaGFjZXIgY2FtYmlvcy5cbiIKIAotIzogbWVtbGluZS5jOjM2OTQKKyM6IG1lbWxpbmUuYzozNjk3CiBtc2dpZCAiICAgIFF1aXQsIG9yIGNvbnRpbnVlIHdpdGggY2F1dGlvbi5cbiIKIG1zZ3N0ciAiICAgIFNhbGdhIGRlbCBwcm9ncmFtYSBvIGNvbnRpbnVlIGNvbiBwcmVjYXVjafNuLlxuIgogCi0jOiBtZW1saW5lLmM6MzY5NQorIzogbWVtbGluZS5jOjM2OTgKIG1zZ2lkICIiCiAiXG4iCiAiKDIpIEFuIGVkaXQgc2Vzc2lvbiBmb3IgdGhpcyBmaWxlIGNyYXNoZWQuXG4iCkBAIC00MDg0LDExICs0MTg4LDExIEBACiAiXG4iCiAiKDIpIEZhbGzzIHVuYSBzZXNp824gZGUgZWRpY2nzbiBkZSBlc3RlIGZpY2hlcm8uXG4iCiAKLSM6IG1lbWxpbmUuYzozNjk2CisjOiBtZW1saW5lLmM6MzY5OQogbXNnaWQgIiAgICBJZiB0aGlzIGlzIHRoZSBjYXNlLCB1c2UgXCI6cmVjb3ZlclwiIG9yIFwidmltIC1yICIKIG1zZ3N0ciAiICAgIFNpIGVzIGFz7SwgdXNlIKs6cmVjb3ZlcrsgbyCrdmltIC1yICIKIAotIzogbWVtbGluZS5jOjM2OTgKKyM6IG1lbWxpbmUuYzozNzAxCiBtc2dpZCAiIgogIlwiXG4iCiAiICAgIHRvIHJlY292ZXIgdGhlIGNoYW5nZXMgKHNlZSBcIjpoZWxwIHJlY292ZXJ5XCIpLlxuIgpAQCAtNDA5NiwxMSArNDIwMCwxMSBAQAogIrtcbiIKICIgICAgcGFyYSByZWN1cGVyYXIgbG9zIGNhbWJpb3MgKHbpYSCrOmhlbHAgcmVjb3Zlcnm7KS5cbiIKIAotIzogbWVtbGluZS5jOjM2OTkKKyM6IG1lbWxpbmUuYzozNzAyCiBtc2dpZCAiICAgIElmIHlvdSBkaWQgdGhpcyBhbHJlYWR5LCBkZWxldGUgdGhlIHN3YXAgZmlsZSBcIiIKLW1zZ3N0ciAiICAgIFNpIFVkLiB5YSBoYSBoZWNobyBlc3RvLCBib3JyZSBlbCBmaWNoZXJvIGRlIGludGVyY2FtYmlvIKsiCittc2dzdHIgIiAgICBTaSBVZC4geWEgaGEgaGVjaG8gZXN0bywgZWxpbWluZSBlbCBmaWNoZXJvIGRlIGludGVyY2FtYmlvIKsiCiAKLSM6IG1lbWxpbmUuYzozNzAxCisjOiBtZW1saW5lLmM6MzcwNAogbXNnaWQgIiIKICJcIlxuIgogIiAgICB0byBhdm9pZCB0aGlzIG1lc3NhZ2UuXG4iCkBAIC00MTA4LDIzICs0MjEyLDIzIEBACiAiu1xuIgogIiAgICBwYXJhIGV2aXRhciBlc3RlIG1lbnNhamUuXG4iCiAKLSM6IG1lbWxpbmUuYzozNzE1IG1lbWxpbmUuYzozNzE5CisjOiBtZW1saW5lLmM6MzcxOCBtZW1saW5lLmM6MzcyMgogbXNnaWQgIlN3YXAgZmlsZSBcIiIKIG1zZ3N0ciAioUVsIGZpY2hlcm8gZGUgaW50ZXJjYW1iaW8gqyIKIAotIzogbWVtbGluZS5jOjM3MTYgbWVtbGluZS5jOjM3MjIKKyM6IG1lbWxpbmUuYzozNzE5IG1lbWxpbmUuYzozNzI1CiBtc2dpZCAiXCIgYWxyZWFkeSBleGlzdHMhIgogbXNnc3RyICK7IHlhIGV4aXN0ZSEiCiAKLSM6IG1lbWxpbmUuYzozNzI1CisjOiBtZW1saW5lLmM6MzcyOAogbXNnaWQgIlZJTSAtIEFUVEVOVElPTiIKIG1zZ3N0ciAiVklNIC0gQVRFTkNJ004iCiAKLSM6IG1lbWxpbmUuYzozNzI3CisjOiBtZW1saW5lLmM6MzczMAogbXNnaWQgIlN3YXAgZmlsZSBhbHJlYWR5IGV4aXN0cyEiCiBtc2dzdHIgIqFZYSBleGlzdGUgdW4gZmljaGVybyBkZSBpbnRlcmNhbWJpbyEiCiAKLSM6IG1lbWxpbmUuYzozNzMxCisjOiBtZW1saW5lLmM6MzczNAogbXNnaWQgIiIKICImT3BlbiBSZWFkLU9ubHlcbiIKICImRWRpdCBhbnl3YXlcbiIKQEAgLTQxMzgsNyArNDI0Miw3IEBACiAiJlNhbGlyXG4iCiAiJkFib3J0YXIiCiAKLSM6IG1lbWxpbmUuYzozNzMzCisjOiBtZW1saW5lLmM6MzczNgogbXNnaWQgIiIKICImT3BlbiBSZWFkLU9ubHlcbiIKICImRWRpdCBhbnl3YXlcbiIKQEAgLTQxNTQsNyArNDI1OCw3IEBACiAiJkFib3J0YXJcbiIKICImQm9ycmFybG8iCiAKLSM6IG1lbWxpbmUuYzozNzkwCisjOiBtZW1saW5lLmM6Mzc5MwogbXNnaWQgIkUzMjY6IFRvbyBtYW55IHN3YXAgZmlsZXMgZm91bmQiCiBtc2dzdHIgIkUzMjY6IFNlIGhhbiBlbmNvbnRyYWRvIGRlbWFzaWFkb3MgZmljaGVyb3MgZGUgaW50ZXJjYW1iaW8iCiAKQEAgLTQyMTMsNjIgKzQzMTcsNjIgQEAKIG1zZ2lkICJFMzM1OiBNZW51IG5vdCBkZWZpbmVkIGZvciAlcyBtb2RlIgogbXNnc3RyICJFMzM1OiBFbCBtZW76IG5vIGVzdOEgZGVmaW5pZG8gcGFyYSBlbCBtb2RvICVzIgogCi0jOiBtZW51LmM6MjIxMQorIzogbWVudS5jOjIyMTIKIG1zZ2lkICJFMzM2OiBNZW51IHBhdGggbXVzdCBsZWFkIHRvIGEgc3ViLW1lbnUiCiBtc2dzdHIgIkUzMzY6IExhIHJ1dGEgZGVsIG1lbvogZGViZSBjb25kdWNpciBhIHVuIHN1Yi1tZW76IgogCi0jOiBtZW51LmM6MjIzMgorIzogbWVudS5jOjIyMzMKIG1zZ2lkICJFMzM3OiBNZW51IG5vdCBmb3VuZCAtIGNoZWNrIG1lbnUgbmFtZXMiCiBtc2dzdHIgIkUzMzc6IE5vIHNlIGhhIGVuY29udHJhZG8gZWwgbWVu+iAtIHZlcmlmaXF1ZSBsb3Mgbm9tYnJlcyBkZSBsb3MgbWVu+nMiCiAKLSM6IG1lc3NhZ2UuYzo0MTQKKyM6IG1lc3NhZ2UuYzo0MjkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRXJyb3IgZGV0ZWN0ZWQgd2hpbGUgcHJvY2Vzc2luZyAlczoiCiBtc2dzdHIgIlNlIGhhIGRldGVjdGFkbyB1biBlcnJvciBhbCBwcm9jZXNhciAlczoiCiAKLSM6IG1lc3NhZ2UuYzo0NDAKKyM6IG1lc3NhZ2UuYzo0NTQKICMsIGMtZm9ybWF0CiBtc2dpZCAibGluZSAlNGxkOiIKIG1zZ3N0ciAibO1uZWEgJTRsZCIKIAotIzogbWVzc2FnZS5jOjY0NworIzogbWVzc2FnZS5jOjY1NgogbXNnaWQgIltzdHJpbmcgdG9vIGxvbmddIgogbXNnc3RyICJbY2FkZW5hIGRlbWFzaWFkbyBsYXJnYV0iCiAKLSM6IG1lc3NhZ2UuYzo3OTcKKyM6IG1lc3NhZ2UuYzo4MDYKIG1zZ2lkICJNZXNzYWdlcyBtYWludGFpbmVyOiBCcmFtIE1vb2xlbmFhciA8QnJhbUB2aW0ub3JnPiIKIG1zZ3N0ciAiIgogIk1hbnRlbmVkb3IgZGUgbG9zIG1lbnNhamVzOiBBbGVqYW5kcm8gTPNwZXotVmFsZW5jaWEgPGRyYWR1bEB5YWhvby5jb20+IgogCi0jOiBtZXNzYWdlLmM6MTAyNQorIzogbWVzc2FnZS5jOjEwMzQKIG1zZ2lkICJJbnRlcnJ1cHQ6ICIKIG1zZ3N0ciAiSW50ZXJydXBjafNuOiAiCiAKLSM6IG1lc3NhZ2UuYzoxMDI4CisjOiBtZXNzYWdlLmM6MTAzNwogbXNnaWQgIkhpdCBFTlRFUiB0byBjb250aW51ZSIKIG1zZ3N0ciAiUHVsc2UgSU5UUk8gcGFyYSBjb250aW51YXIiCiAKLSM6IG1lc3NhZ2UuYzoxMDMwCisjOiBtZXNzYWdlLmM6MTAzOQogbXNnaWQgIkhpdCBFTlRFUiBvciB0eXBlIGNvbW1hbmQgdG8gY29udGludWUiCiBtc2dzdHIgIlB1bHNlIElOVFJPIG8gZXNjcmliYSB1biBjb21hbmRvIHBhcmEgY29udGludWFyIgogCi0jOiBtZXNzYWdlLmM6MjM1MQorIzogbWVzc2FnZS5jOjIzNjAKIG1zZ2lkICItLSBNb3JlIC0tIgogbXNnc3RyICItLSBN4XMgLS0iCiAKLSM6IG1lc3NhZ2UuYzoyMzU0CisjOiBtZXNzYWdlLmM6MjM2MwogbXNnaWQgIiAoUkVUL0JTOiBsaW5lLCBTUEFDRS9iOiBwYWdlLCBkL3U6IGhhbGYgcGFnZSwgcTogcXVpdCkiCiBtc2dzdHIgIiAoUkVUL0JTOiBs7W5lYSwgRVNQQUNJTy9iOiBw4WdpbmEsIGQvdTogbWVkaWEgcOFnaW5hLCBxOiBzYWxpcikiCiAKLSM6IG1lc3NhZ2UuYzoyMzU1CisjOiBtZXNzYWdlLmM6MjM2NAogbXNnaWQgIiAoUkVUOiBsaW5lLCBTUEFDRTogcGFnZSwgZDogaGFsZiBwYWdlLCBxOiBxdWl0KSIKIG1zZ3N0ciAiIChSRVQ6IGztbmVhLCBFU1BBQ0lPOiBw4WdpbmEsIGQ6IG1lZGlhIHDhZ2luYSwgcTogc2FsaXIpIgogCi0jOiBtZXNzYWdlLmM6Mjk4OCBtZXNzYWdlLmM6MzAwMworIzogbWVzc2FnZS5jOjI5OTUgbWVzc2FnZS5jOjMwMTAKIG1zZ2lkICJRdWVzdGlvbiIKIG1zZ3N0ciAiUHJlZ3VudGEiCiAKLSM6IG1lc3NhZ2UuYzoyOTkwCisjOiBtZXNzYWdlLmM6Mjk5NwogbXNnaWQgIiIKICImWWVzXG4iCiAiJk5vIgpAQCAtNDI3Niw3ICs0MzgwLDcgQEAKICImU2lcbiIKICImTm8iCiAKLSM6IG1lc3NhZ2UuYzozMDIzCisjOiBtZXNzYWdlLmM6MzAzMAogbXNnaWQgIiIKICImWWVzXG4iCiAiJk5vXG4iCkBAIC00MjkwLDU1ICs0Mzk0LDU2IEBACiAiJkRlc2NhcnRhciB0b2RvXG4iCiAiJkNhbmNlbGFyIgogCi0jOiBtZXNzYWdlLmM6MzA2NAorIzogbWVzc2FnZS5jOjMwNzEKIG1zZ2lkICJTYXZlIEZpbGUgZGlhbG9nIgogbXNnc3RyICJEaeFsb2dvIGRlIEd1YXJkYXIgRmljaGVybyIKIAotIzogbWVzc2FnZS5jOjMwNjYKKyM6IG1lc3NhZ2UuYzozMDczCiBtc2dpZCAiT3BlbiBGaWxlIGRpYWxvZyIKIG1zZ3N0ciAiRGnhbG9nbyBkZSBBYnJpciBGaWNoZXJvIgogCiAjLiBUT0RPOiBub24tR1VJIGZpbGUgc2VsZWN0b3IgaGVyZQotIzogbWVzc2FnZS5jOjMxMzcKKyM6IG1lc3NhZ2UuYzozMTQ0CiBtc2dpZCAiRTMzODogU29ycnksIG5vIGZpbGUgYnJvd3NlciBpbiBjb25zb2xlIG1vZGUiCiBtc2dzdHIgIkUzMzg6IExvIHNpZW50bywgbm8gaGF5IGhvamVhZG9yIGRlIGZpY2hlcm9zIGVuIG1vZG8gZGUgY29uc29sYSIKIAotIzogbWlzYzEuYzoyNzczCisjOiBtaXNjMS5jOjI4NjEKIG1zZ2lkICJXMTA6IFdhcm5pbmc6IENoYW5naW5nIGEgcmVhZG9ubHkgZmlsZSIKIG1zZ3N0ciAiVzEwOiBBZHZlcnRlbmNpYTogY2FtYmlhbmRvIHVuIGZpY2hlcm8gZGUgc/NsbyBsZWN0dXJhIgogCi0jOiBtaXNjMS5jOjMwMjEKKyM6IG1pc2MxLmM6MzEwOQogbXNnaWQgIjEgbW9yZSBsaW5lIgogbXNnc3RyICIxIGztbmVhIG3hcyIKIAotIzogbWlzYzEuYzozMDIzCisjOiBtaXNjMS5jOjMxMTEKIG1zZ2lkICIxIGxpbmUgbGVzcyIKIG1zZ3N0ciAiMSBs7W5lYSBtZW5vcyIKIAotIzogbWlzYzEuYzozMDI4CisjOiBtaXNjMS5jOjMxMTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIG1vcmUgbGluZXMiCiBtc2dzdHIgIiVsZCBs7W5lYXMgbeFzIgogCi0jOiBtaXNjMS5jOjMwMzAKKyM6IG1pc2MxLmM6MzExOAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbGQgZmV3ZXIgbGluZXMiCiBtc2dzdHIgIiVsZCBs7W5lYXMgbWVub3MiCiAKLSM6IG1pc2MxLmM6MzAzMworIzogbWlzYzEuYzozMTIxCiBtc2dpZCAiIChJbnRlcnJ1cHRlZCkiCiBtc2dzdHIgIiAoSW50ZXJydW1waWRvKSIKIAotIzogbWlzYzEuYzo3NTg4CisjOiBtaXNjMS5jOjc2OTcKIG1zZ2lkICJWaW06IHByZXNlcnZpbmcgZmlsZXMuLi5cbiIKIG1zZ3N0ciAiVmltOiBwcmVzZXJ2YW5kbyBmaWNoZXJvcy4uLlxuIgogCiAjLiBjbG9zZSBhbGwgbWVtZmlsZXMsIHdpdGhvdXQgZGVsZXRpbmcKLSM6IG1pc2MxLmM6NzU5OAorIzogbWlzYzEuYzo3NzA3CiBtc2dpZCAiVmltOiBGaW5pc2hlZC5cbiIKIG1zZ3N0ciAiVmltOiBmaW5hbGl6YWRvLlxuIgogCiAjOiBtaXNjMi5jOjY5NSBtaXNjMi5jOjcxMQorIywgYy1mb3JtYXQKIG1zZ2lkICJFUlJPUjogIgogbXNnc3RyICJFUlJPUjogIgogCkBAIC00Mzc0LDQ0ICs0NDc5LDQ0IEBACiBtc2dpZCAiRTM0MjogT3V0IG9mIG1lbW9yeSEgIChhbGxvY2F0aW5nICVsdSBieXRlcykiCiBtc2dzdHIgIkUzNDI6IKFNZW1vcmlhIGFnb3RhZGEhIChhbCBhc2lnbmFyICVsdSBieXRlcykiCiAKLSM6IG1pc2MyLmM6MjU5NAorIzogbWlzYzIuYzoyNTcyCiAjLCBjLWZvcm1hdAogbXNnaWQgIkNhbGxpbmcgc2hlbGwgdG8gZXhlY3V0ZTogXCIlc1wiIgogbXNnc3RyICJMbGFtYW5kbyBhIGxhIKtzaGVsbLsgcGFyYSBlamVjdXRhcjogqyVzuyIKIAotIzogbWlzYzIuYzoyODE2CisjOiBtaXNjMi5jOjI3OTQKIG1zZ2lkICJFNTQ1OiBNaXNzaW5nIGNvbG9uIgogbXNnc3RyICJFNTQ1OiBGYWx0YSB1biBz7W1ib2xvIGRlIGRvcyBwdW50b3MuIgogCi0jOiBtaXNjMi5jOjI4MTggbWlzYzIuYzoyODQ1CisjOiBtaXNjMi5jOjI3OTYgbWlzYzIuYzoyODIzCiBtc2dpZCAiRTU0NjogSWxsZWdhbCBtb2RlIgogbXNnc3RyICJFNTQ2OiBNb2RvIGRlIG9wZXJhY2nzbiBpbGVnYWwuIgogCi0jOiBtaXNjMi5jOjI4ODQKKyM6IG1pc2MyLmM6Mjg2MgogbXNnaWQgIkU1NDc6IElsbGVnYWwgbW91c2VzaGFwZSIKIG1zZ3N0ciAiRTU0NzogRWwgq21vdXNlc2hhcGW7IG5vIGVzIHbhbGlkby4iCiAKLSM6IG1pc2MyLmM6MjkyNAorIzogbWlzYzIuYzoyOTAyCiBtc2dpZCAiRTU0ODogZGlnaXQgZXhwZWN0ZWQiCiBtc2dzdHIgIkU1NDg6IFNlIGVzcGVyYWJhIHVuIGTtZ2l0by4iCiAKLSM6IG1pc2MyLmM6MjkyOQorIzogbWlzYzIuYzoyOTA3CiBtc2dpZCAiRTU0OTogSWxsZWdhbCBwZXJjZW50YWdlIgogbXNnc3RyICJFNTQ5OiBQb3JjZW50YWplIGlsZWdhbC4iCiAKLSM6IG1pc2MyLmM6MzIzOQorIzogbWlzYzIuYzozMjE3CiBtc2dpZCAiRW50ZXIgZW5jcnlwdGlvbiBrZXk6ICIKIG1zZ3N0ciAiSW50cm9kdXpjYSBsYSBjbGF2ZSBkZSBjaWZyYWRvOiAiCiAKLSM6IG1pc2MyLmM6MzI0MAorIzogbWlzYzIuYzozMjE4CiBtc2dpZCAiRW50ZXIgc2FtZSBrZXkgYWdhaW46ICIKIG1zZ3N0ciAiSW50cm9kdXpjYSBsYSBtaXNtYSBjbGF2ZSBkZSBjaWZyYWRvIG90cmEgdmV6OiAiCiAKLSM6IG1pc2MyLmM6MzI1MAorIzogbWlzYzIuYzozMjI4CiBtc2dpZCAiS2V5cyBkb24ndCBtYXRjaCEiCiBtc2dzdHIgIqFMYXMgY2xhdmVzIGRlIGNpZnJhZG8gbm8gY29pbmNpZGVuISIKIAotIzogbWlzYzIuYzozNzk5CisjOiBtaXNjMi5jOjM3NzIKICMsIGMtZm9ybWF0CiBtc2dpZCAiIgogIkUzNDM6IEludmFsaWQgcGF0aDogJyoqW251bWJlcl0nIG11c3QgYmUgYXQgdGhlIGVuZCBvZiB0aGUgcGF0aCBvciBiZSAiCkBAIC00NDIwLDM1ICs0NTI1LDM1IEBACiAiRTM0MzogUnV0YSBubyB24WxpZGE6ICcqKltu+m1lcm9dJyBkZWJlIGVzdGFyIGFsIGZpbmFsIGRlIGxhIHJ1dGEgbyBzZWd1aWRvICIKICJkZSCrJXO7LiIKIAotIzogbWlzYzIuYzo1MDc4CisjOiBtaXNjMi5jOjUwNTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM0NDogQ2FuJ3QgZmluZCBkaXJlY3RvcnkgXCIlc1wiIGluIGNkcGF0aCIKIG1zZ3N0ciAiRTM0NDogTm8gc2UgcHVlZGUgZW5jb250cmFyIGVsIGRpcmVjdG9yaW8gqyVzuyBlbiCrY2RwYXRouyIKIAotIzogbWlzYzIuYzo1MDgxCisjOiBtaXNjMi5jOjUwNTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM0NTogQ2FuJ3QgZmluZCBmaWxlIFwiJXNcIiBpbiBwYXRoIgogbXNnc3RyICJFMzQ1OiBObyBzZSBwdWVkZSBlbmNvbnRyYXIgZWwgZmljaGVybyCrJXO7IGVuIGxhIHJ1dGEiCiAKLSM6IG1pc2MyLmM6NTA4NworIzogbWlzYzIuYzo1MDYwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzNDY6IE5vIG1vcmUgZGlyZWN0b3J5IFwiJXNcIiBmb3VuZCBpbiBjZHBhdGgiCiBtc2dzdHIgIkUzNDY6IE5vIHNlIGhhbiBlbmNvbnRyYWRvIG1hcyBkaXJlY3RvcmlvcyCrJXO7IGVuIKtjZHBhdGi7IgogCi0jOiBtaXNjMi5jOjUwOTAKKyM6IG1pc2MyLmM6NTA2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzQ3OiBObyBtb3JlIGZpbGUgXCIlc1wiIGZvdW5kIGluIHBhdGgiCiBtc2dzdHIgIkUzNDc6IE5vIHNlIGhhbiBlbmNvbnRyYWRvIG1hcyBmaWNoZXJvcyCrJXO7IGVuIGxhIHJ1dGEiCiAKLSM6IG1pc2MyLmM6NTMyNAorIzogbWlzYzIuYzo1Mjk3CiBtc2dpZCAiRTU1MDogTWlzc2luZyBjb2xvbiIKIG1zZ3N0ciAiRTU1MDogRmFsdGEgdW4gc+1tYm9sbyBkZSBkb3MgcHVudG9zLiIKIAotIzogbWlzYzIuYzo1MzM2CisjOiBtaXNjMi5jOjUzMDkKIG1zZ2lkICJFNTUxOiBJbGxlZ2FsIGNvbXBvbmVudCIKIG1zZ3N0ciAiRTU1MTogQ29tcG9uZW50ZSBpbGVnYWwuIgogCi0jOiBtaXNjMi5jOjUzNDQKKyM6IG1pc2MyLmM6NTMxNwogbXNnaWQgIkU1NTI6IGRpZ2l0IGV4cGVjdGVkIgogbXNnc3RyICJFNTUyOiBzZSBlc3BlcmFiYSB1biBk7WdpdG8uIgogCkBAIC00NDkzLDkzICs0NTk4LDkzIEBACiBtc2dpZCAiRTM1MjogQ2Fubm90IGVyYXNlIGZvbGRzIHdpdGggY3VycmVudCAnZm9sZG1ldGhvZCciCiBtc2dzdHIgIkUzNTI6IE5vIHB1ZWRvIGJvcmFyIHBsaWVndWVzIGNvbiBlbCCrZm9sbWV0aG9kuyBhY3R1YWwuIgogCi0jOiBub3JtYWwuYzo2NzQzCisjOiBub3JtYWwuYzo2Nzc0CiBtc2dpZCAiRTY2NDogY2hhbmdlbGlzdCBpcyBlbXB0eSIKIG1zZ3N0ciAiRTY2NDogTGEgbGlzdGEgZGUgY2FtYmlvcyBlc3ThIHZhY+1hLiIKIAotIzogbm9ybWFsLmM6Njc0NQorIzogbm9ybWFsLmM6Njc3NgogbXNnaWQgIkU2NjI6IEF0IHN0YXJ0IG9mIGNoYW5nZWxpc3QiCiBtc2dzdHIgIkU2NjI6IEFsIGNvbWllbnpvIGRlIGxhIGxpc3RhIGRlIGNhbWJpb3MuIgogCi0jOiBub3JtYWwuYzo2NzQ3CisjOiBub3JtYWwuYzo2Nzc4CiBtc2dpZCAiRTY2MzogQXQgZW5kIG9mIGNoYW5nZWxpc3QiCiBtc2dzdHIgIkU2NjM6IEFsIGZpbmFsIGRlIGxhIGxpc3RhIGRlIGNhbWJpb3MuIgogCi0jOiBub3JtYWwuYzo4MDA5CisjOiBub3JtYWwuYzo4MDQwCiBtc2dpZCAiVHlwZSAgOnF1aXQ8RW50ZXI+ICB0byBleGl0IFZpbSIKIG1zZ3N0ciAiRXNjcmliYSA6cXVpdDxlbnRlcj4gcGFyYSB0ZXJtaW5hciBsYSBlamVjdWNp824gZGUgVmltLiIKIAotIzogb3BzLmM6Mjk0CisjOiBvcHMuYzoyOTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiMSBsaW5lICVzZWQgMSB0aW1lIgogbXNnc3RyICIxIGztbmVhICVzZWQgMSB2ZXouIgogCi0jOiBvcHMuYzoyOTYKKyM6IG9wcy5jOjI5MwogIywgYy1mb3JtYXQKIG1zZ2lkICIxIGxpbmUgJXNlZCAlZCB0aW1lcyIKIG1zZ3N0ciAiMSBs7W5lYSAlc2VkICVkIHZlY2VzLiIKIAotIzogb3BzLmM6MzAxCisjOiBvcHMuYzoyOTgKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzICVzZWQgMSB0aW1lIgogbXNnc3RyICIlbGQgbO1uZWFzICVzZWQgMSB2ZXouIgogCi0jOiBvcHMuYzozMDQKKyM6IG9wcy5jOjMwMQogIywgYy1mb3JtYXQKIG1zZ2lkICIlbGQgbGluZXMgJXNlZCAlZCB0aW1lcyIKIG1zZ3N0ciAiJWxkIGztbmVhcyAlc2VkICVkIHZlY2VzLiIKIAotIzogb3BzLmM6NjYyCisjOiBvcHMuYzo2NTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzIHRvIGluZGVudC4uLiAiCiBtc2dzdHIgIiVsZCBs7W5lYXMgcG9yIHNhbmdyYXIuLi4iCiAKLSM6IG9wcy5jOjcxMgorIzogb3BzLmM6NzA5CiBtc2dpZCAiMSBsaW5lIGluZGVudGVkICIKIG1zZ3N0ciAiMSBs7W5lYSBzYW5ncmFkYSIKIAotIzogb3BzLmM6NzE0CisjOiBvcHMuYzo3MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzIGluZGVudGVkICIKIG1zZ3N0ciAiJWxkIGztbmVhcyBzYW5ncmFkYXMiCiAKICMgRGViZSBtb3N0cmFyIGxhIGztbmVhIGRlIGNvbWFuZG9zLgogIy4gbXVzdCBkaXNwbGF5IHRoZSBwcm9tcHQKLSM6IG9wcy5jOjE2ODgKKyM6IG9wcy5jOjE2MjEKIG1zZ2lkICJjYW5ub3QgeWFuazsgZGVsZXRlIGFueXdheSIKLW1zZ3N0ciAiTm8gcHVlZG8gaGFjZXIgdW4gq3lhbmu7OyC/TG8gYm9ycm8gZGUgdG9kYXMgZm9ybWFzPyIKK21zZ3N0ciAiTm8gcHVlZG8gaGFjZXIgdW4gq3lhbmu7OyC/TG8gZWxpbWlubyBkZSB0b2RhcyBmb3JtYXM/IgogCi0jOiBvcHMuYzoyMjc0CisjOiBvcHMuYzoyMjA3CiBtc2dpZCAiMSBsaW5lIGNoYW5nZWQiCiBtc2dzdHIgIjEgbO1uZWEgY2FtYmlhZGEiCiAKLSM6IG9wcy5jOjIyNzYKKyM6IG9wcy5jOjIyMDkKICMsIGMtZm9ybWF0CiBtc2dpZCAiJWxkIGxpbmVzIGNoYW5nZWQiCiBtc2dzdHIgIiVsZCBs7W5lYXMgY2FtYmlhZGFzIgogCi0jOiBvcHMuYzoyNjYwCisjOiBvcHMuYzoyNTkzCiAjLCBjLWZvcm1hdAogbXNnaWQgImZyZWVpbmcgJWxkIGxpbmVzIgogbXNnc3RyICJsaWJlcmFuZG8gJWxkIGztbmVhcyIKIAotIzogb3BzLmM6Mjk0MQorIzogb3BzLmM6Mjg3NAogbXNnaWQgIjEgbGluZSB5YW5rZWQiCiBtc2dzdHIgIjEgbO1uZWEgY29waWFkYSIKIAotIzogb3BzLmM6Mjk0MworIzogb3BzLmM6Mjg3NgogIywgYy1mb3JtYXQKIG1zZ2lkICIlbGQgbGluZXMgeWFua2VkIgogbXNnc3RyICIlbGQgbO1uZWFzIGNvcGlhZGFzIgogCi0jOiBvcHMuYzozMjI4CisjOiBvcHMuYzozMTYxCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzNTM6IE5vdGhpbmcgaW4gcmVnaXN0ZXIgJXMiCiBtc2dzdHIgIkUzNTM6IE5vIGhheSBuYWRhIGVuIGVsIHJlZ2lzdHJvICVzIgogCiAjICBIaWdobGlnaHQgdGl0bGUKICMuIEhpZ2hsaWdodCB0aXRsZQotIzogb3BzLmM6Mzc3OQorIzogb3BzLmM6MzcxMgogbXNnaWQgIiIKICJcbiIKICItLS0gUmVnaXN0ZXJzIC0tLSIKQEAgLTQ1ODcsMTEgKzQ2OTIsMTIgQEAKICJcbiIKICItLS0gUmVnaXN0cm9zIC0tLSIKIAotIzogb3BzLmM6NTA4OAorIzogb3BzLmM6NTAyMQogbXNnaWQgIklsbGVnYWwgcmVnaXN0ZXIgbmFtZSIKIG1zZ3N0ciAiTm9tYnJlIGRlIHJlZ2lzdHJvIGlsZWdhbCIKIAotIzogb3BzLmM6NTE3NgorIzogb3BzLmM6NTEwOQorIywgYy1mb3JtYXQKIG1zZ2lkICIiCiAiXG4iCiAiIyBSZWdpc3RlcnM6XG4iCkBAIC00NTk5LDU5ICs0NzA1LDU5IEBACiAiXG4iCiAiIyBSZWdpc3Ryb3M6XG4iCiAKLSM6IG9wcy5jOjUyMjYKKyM6IG9wcy5jOjUxNTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTU3NDogVW5rbm93biByZWdpc3RlciB0eXBlICVkIgogbXNnc3RyICJFNTc0OiBSZWdpc3RybyBkZXNjb25vY2lkbyBkZSB0aXBvIKslZLsuIgogCi0jOiBvcHMuYzo1NzExCisjOiBvcHMuYzo1NjQ0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzNTQ6IEludmFsaWQgcmVnaXN0ZXIgbmFtZTogJyVzJyIKIG1zZ3N0ciAiRTM1NDogTm9tYnJlIGRlIHJlZ2lzdHJvIG5vIHbhbGlkbzogJyVzJyIKIAotIzogb3BzLmM6NjA3MQorIzogb3BzLmM6NjAwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIlbGQgQ29sczsgIgogbXNnc3RyICIlbGQgQ29sczsgIgogCi0jOiBvcHMuYzo2MDc4CisjOiBvcHMuYzo2MDExCiAjLCBjLWZvcm1hdAogbXNnaWQgIlNlbGVjdGVkICVzJWxkIG9mICVsZCBMaW5lczsgJWxkIG9mICVsZCBXb3JkczsgJWxkIG9mICVsZCBCeXRlcyIKIG1zZ3N0ciAiIgogIlNlbGVjY2lvbmFkYXMgJXMlbGQgZGUgJWxkIEztbmVhczsgJWxkIGRlICVsZCBQYWxhYnJhczsgJWxkIGRlICVsZCBDYXJhY3RlcmVzIgogCi0jOiBvcHMuYzo2MDk0CisjOiBvcHMuYzo2MDI3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkNvbCAlcyBvZiAlczsgTGluZSAlbGQgb2YgJWxkOyBXb3JkICVsZCBvZiAlbGQ7IEJ5dGUgJWxkIG9mICVsZCIKIG1zZ3N0ciAiIgogIkNvbCAlcyBkZSAlczsgTO1uZWEgJWxkIGRlICVsZDsgUGFsYWJyYSAlbGQgZGUgJWxkOyBDYXLhY3RlciAlbGQgZGUgJWxkIgogCi0jOiBvcHMuYzo2MTA1CisjOiBvcHMuYzo2MDM4CiAjLCBjLWZvcm1hdAogbXNnaWQgIigrJWxkIGZvciBCT00pIgogbXNnc3RyICIoKyVsZCBwYXJhIEJPTSkiCiAKLSM6IG9wdGlvbi5jOjE2NDMKKyM6IG9wdGlvbi5jOjE2NzUKIG1zZ2lkICIlPCVmJWglbSU9UGFnZSAlTiIKIG1zZ3N0ciAiJTwlZiVoJW0lPVDhZ2luYSAlTiIKIAotIzogb3B0aW9uLmM6MjA5MgorIzogb3B0aW9uLmM6MjE1MQogbXNnaWQgIlRoYW5rcyBmb3IgZmx5aW5nIFZpbSIKIG1zZ3N0ciAiR3JhY2lhcyBwb3Igdm9sYXIgY29uIFZpbSIKIAotIzogb3B0aW9uLmM6MzQxOSBvcHRpb24uYzozNTM1CisjOiBvcHRpb24uYzozNDkwIG9wdGlvbi5jOjM2MDYKIG1zZ2lkICJFNTE4OiBVbmtub3duIG9wdGlvbiIKIG1zZ3N0ciAiRTUxODogT3BjafNuIGRlc2Nvbm9jaWRhLiIKIAotIzogb3B0aW9uLmM6MzQzMgorIzogb3B0aW9uLmM6MzUwMwogbXNnaWQgIkU1MTk6IE9wdGlvbiBub3Qgc3VwcG9ydGVkIgogbXNnc3RyICJFNTE5OiBPcGNp824gbm8gYWRtaXRpZGEiCiAKLSM6IG9wdGlvbi5jOjM0NTcKKyM6IG9wdGlvbi5jOjM1MjgKIG1zZ2lkICJFNTIwOiBOb3QgYWxsb3dlZCBpbiBhIG1vZGVsaW5lIgogbXNnc3RyICJFNTIwOiBObyBzZSBwZXJtaXRlIGVuIHVuYSCrbW9kZWxpbmW7IgogCi0jOiBvcHRpb24uYzozNTIyCisjOiBvcHRpb24uYzozNTkzCiBtc2dpZCAiIgogIlxuIgogIlx0TGFzdCBzZXQgZnJvbSAiCkBAIC00NjU5LDE0MSArNDc2NSwxNDEgQEAKICJcbiIKICJcdFNlIGRlZmluafMgcG9yIPpsdGltYSB2ZXogZW4gIgogCi0jOiBvcHRpb24uYzozNjYxCisjOiBvcHRpb24uYzozNzMyCiBtc2dpZCAiRTUyMTogTnVtYmVyIHJlcXVpcmVkIGFmdGVyID0iCiBtc2dzdHIgIkU1MjE6IFNlIG5lY2VzaXRhIHVuIG76bWVybyBkZXNwdWVzIGRlIKs9uyIKIAotIzogb3B0aW9uLmM6Mzk4OSBvcHRpb24uYzo0NjE5CisjOiBvcHRpb24uYzo0MDYwIG9wdGlvbi5jOjQ2OTYKIG1zZ2lkICJFNTIyOiBOb3QgZm91bmQgaW4gdGVybWNhcCIKIG1zZ3N0ciAiRTUyMjogTm8gbG8gZW5jb250cukgZW4gZWwgq3Rlcm1jYXC7LiIKIAotIzogb3B0aW9uLmM6NDA2NAorIzogb3B0aW9uLmM6NDEzNQogIywgYy1mb3JtYXQKIG1zZ2lkICJFNTM5OiBJbGxlZ2FsIGNoYXJhY3RlciA8JXM+IgogbXNnc3RyICJFNTM5OiBDYXLhY3RlciBpbGVnYWwgPCVzPiIKIAotIzogb3B0aW9uLmM6NDYxMQorIzogb3B0aW9uLmM6NDY4OAogbXNnaWQgIkU1Mjk6IENhbm5vdCBzZXQgJ3Rlcm0nIHRvIGVtcHR5IHN0cmluZyIKIG1zZ3N0ciAiRTUyOTogTm8gcHVlZG8gZGVmaW5pciCrdGVybbsgY29tbyB1bmEgY2FkZW5hIGRlIGNhcmFjdGVyZXMgdmFj7WEuIgogCi0jOiBvcHRpb24uYzo0NjE0CisjOiBvcHRpb24uYzo0NjkxCiBtc2dpZCAiRTUzMDogQ2Fubm90IGNoYW5nZSB0ZXJtIGluIEdVSSIKIG1zZ3N0ciAiRTUzMDogTm8gcHVlZG8gY2FtYmlhciCrdGVybbsgZW4gbGEgR1VJLiIKIAotIzogb3B0aW9uLmM6NDYxNgorIzogb3B0aW9uLmM6NDY5MwogbXNnaWQgIkU1MzE6IFVzZSBcIjpndWlcIiB0byBzdGFydCB0aGUgR1VJIgogbXNnc3RyICJFNTMxOiBVc2UgqzpndWm7IHBhcmEgaW5pY2lhciBsYSBHVUkuIgogCi0jOiBvcHRpb24uYzo0NjQ1CisjOiBvcHRpb24uYzo0NzIyCiBtc2dpZCAiRTU4OTogJ2JhY2t1cGV4dCcgYW5kICdwYXRjaG1vZGUnIGFyZSBlcXVhbCIKIG1zZ3N0ciAiRTU4OTogq2JhY2t1cGV4dLsgeSCrcGF0Y2htb2RluyBzb24gaWd1YWxlcy4iCiAKLSM6IG9wdGlvbi5jOjQ4NjAKKyM6IG9wdGlvbi5jOjQ5MzcKIG1zZ2lkICJFNjE3OiBDYW5ub3QgYmUgY2hhbmdlZCBpbiB0aGUgR1RLKyAyIEdVSSIKIG1zZ3N0ciAiRTYxNzogTm8gcHVlZGUgY2FtYmlhcnNlIGVuIGVsIEdVSSBkZSBHVEsrIDIuIgogCi0jOiBvcHRpb24uYzo1MDE2CisjOiBvcHRpb24uYzo1MDkzCiBtc2dpZCAiRTUyNDogTWlzc2luZyBjb2xvbiIKIG1zZ3N0ciAiRTUyNDogRmFsdGEgdW4gc+1tYm9sbyBkZSBkb3MgcHVudG9zLiIKIAotIzogb3B0aW9uLmM6NTAxOAorIzogb3B0aW9uLmM6NTA5NQogbXNnaWQgIkU1MjU6IFplcm8gbGVuZ3RoIHN0cmluZyIKIG1zZ3N0ciAiRTUyNTogQ2FkZW5hIGRlIGNhcmFjdGVyZXMgZGUgbGFyZ28gY2Vyby4iCiAKLSM6IG9wdGlvbi5jOjUwODYKKyM6IG9wdGlvbi5jOjUxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTUyNjogTWlzc2luZyBudW1iZXIgYWZ0ZXIgPCVzPiIKIG1zZ3N0ciAiRTUyNjogRmFsdGEgZWwgbvptZXJvIGRlc3B1ZXMgZGUgPCVzPi4iCiAKLSM6IG9wdGlvbi5jOjUxMDAKKyM6IG9wdGlvbi5jOjUxNzcKIG1zZ2lkICJFNTI3OiBNaXNzaW5nIGNvbW1hIgogbXNnc3RyICJFNTI3OiBGYWx0YSB1bmEgY29tYS4iCiAKLSM6IG9wdGlvbi5jOjUxMDcKKyM6IG9wdGlvbi5jOjUxODQKIG1zZ2lkICJFNTI4OiBNdXN0IHNwZWNpZnkgYSAnIHZhbHVlIgogbXNnc3RyICJFNTI4OiBEZWJlIGVzcGVjaWZpY2FyIHVuIHZhbG9yICciCiAKLSM6IG9wdGlvbi5jOjUxNDgKKyM6IG9wdGlvbi5jOjUyMjUKIG1zZ2lkICJFNTk1OiBjb250YWlucyB1bnByaW50YWJsZSBvciB3aWRlIGNoYXJhY3RlciIKIG1zZ3N0ciAiRTU5NTogQ29udGllbmUgdW4gY2FyYWN0ZXIgbm8gaW1wcmltaWJsZSBvIGRlIG3hcyBkZSB1biBieXRlIGRlIGFuY2hvLiIKIAotIzogb3B0aW9uLmM6NTE5NworIzogb3B0aW9uLmM6NTI3NAogbXNnaWQgIkU1OTY6IEludmFsaWQgZm9udChzKSIKIG1zZ3N0ciAiRTU5NjogTGFzIGZ1ZW50ZShzKSBkZSBpbXByZXNp824gbm8gc29uIHbhbGlkYXMuIgogCi0jOiBvcHRpb24uYzo1MjA1CisjOiBvcHRpb24uYzo1MjgyCiBtc2dpZCAiRTU5NzogY2FuJ3Qgc2VsZWN0IGZvbnRzZXQiCiBtc2dzdHIgIkU1OTc6IE5vIHB1ZWRvIHNlbGVjY2lvbmFyIGVzZSCrZm9udHNldLsuIgogCi0jOiBvcHRpb24uYzo1MjA3CisjOiBvcHRpb24uYzo1Mjg0CiBtc2dpZCAiRTU5ODogSW52YWxpZCBmb250c2V0IgogbXNnc3RyICJFNTk4OiBFbCBjb25qdW50byBkZSBmdWVudGVzIGRlIGltcHJlc2nzbiBubyBlcyB24WxpZG8uIgogCi0jOiBvcHRpb24uYzo1MjE0CisjOiBvcHRpb24uYzo1MjkxCiBtc2dpZCAiRTUzMzogY2FuJ3Qgc2VsZWN0IHdpZGUgZm9udCIKIG1zZ3N0ciAiIgogIkU1MzM6IE5vIHB1ZWRvIHNlbGVjY2lvbmFyIGxhIGZ1ZW50ZSBkZSBpbXByZXNp824gq2FuY2hhuyAoZGUgYnl0ZSBkb2JsZSkuIgogCi0jOiBvcHRpb24uYzo1MjE2CisjOiBvcHRpb24uYzo1MjkzCiBtc2dpZCAiRTUzNDogSW52YWxpZCB3aWRlIGZvbnQiCiBtc2dzdHIgIkU1MzQ6IEZ1ZW50ZSBkZSBpbXByZXNp824gq2FuY2hhuyBpbnbhbGlkYS4iCiAKLSM6IG9wdGlvbi5jOjU0ODYKKyM6IG9wdGlvbi5jOjU1NzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTUzNTogSWxsZWdhbCBjaGFyYWN0ZXIgYWZ0ZXIgPCVjPiIKIG1zZ3N0ciAiRTUzNTogYXLhY3RlciBpbGVnYWwgZGVzcHXpcyBkZSA8JWM+LiIKIAotIzogb3B0aW9uLmM6NTU5NworIzogb3B0aW9uLmM6NTY4MQogbXNnaWQgIkU1MzY6IGNvbW1hIHJlcXVpcmVkIgogbXNnc3RyICJFNTM2OiBTZSByZXF1aWVyZSB1bmEgY29tYS4iCiAKLSM6IG9wdGlvbi5jOjU2MDcKKyM6IG9wdGlvbi5jOjU2OTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTUzNzogJ2NvbW1lbnRzdHJpbmcnIG11c3QgYmUgZW1wdHkgb3IgY29udGFpbiAlcyIKIG1zZ3N0ciAiRTUzNzogq2NvbW1lbnRzdHJpbme7IGRlYmUgZXN0YXIgdmFjaW8gbyBjb250ZW5lciCrJXO7LiIKIAotIzogb3B0aW9uLmM6NTY4MgorIzogb3B0aW9uLmM6NTc2NgogbXNnaWQgIkU1Mzg6IE5vIG1vdXNlIHN1cHBvcnQiCiBtc2dzdHIgIkU1Mzg6IE5vIGhheSBzb3BvcnRlIHBhcmEgZWwgcmF0824uIgogCi0jOiBvcHRpb24uYzo1OTUwCisjOiBvcHRpb24uYzo2MDM1CiBtc2dpZCAiRTU0MDogVW5jbG9zZWQgZXhwcmVzc2lvbiBzZXF1ZW5jZSIKIG1zZ3N0ciAiRTU0MDogU0VjdWVuY2lhIGRlIGV4cHJlc2nzbiBzaW4gY2VycmFyLiIKIAotIzogb3B0aW9uLmM6NTk1NAorIzogb3B0aW9uLmM6NjAzOQogbXNnaWQgIkU1NDE6IHRvbyBtYW55IGl0ZW1zIgogbXNnc3RyICJFNTQxOiBEZW1hc2lhZG9zIO10ZW1zLiIKIAotIzogb3B0aW9uLmM6NTk1NgorIzogb3B0aW9uLmM6NjA0MQogbXNnaWQgIkU1NDI6IHVuYmFsYW5jZWQgZ3JvdXBzIgogbXNnc3RyICJFNTQyOiBHcnVwb3MgZGVzYmFsYW5jZWFkb3MuIgogCi0jOiBvcHRpb24uYzo2MTk2CisjOiBvcHRpb24uYzo2MjgxCiBtc2dpZCAiRTU5MDogQSBwcmV2aWV3IHdpbmRvdyBhbHJlYWR5IGV4aXN0cyIKIG1zZ3N0ciAiRTU5MDogWWEgZXhpc3RlIHVuYSB2ZW50YW5hIGRlIHZpc3VhbGl6YWNp824gcHJldmlhLiIKIAotIzogb3B0aW9uLmM6NjQ1MworIzogb3B0aW9uLmM6NjUyOAogbXNnaWQgIlcxNzogQXJhYmljIHJlcXVpcmVzIFVURi04LCBkbyAnOnNldCBlbmNvZGluZz11dGYtOCciCiBtc2dzdHIgIiIKICJXMTc6IEVsIHVzbyBkZSDhcmFiZSByZXF1aWVyZSBsYSBjb2RpZmljYWNp824gVVRGLTgsIHVzZSCrOnNldCBlbmNvZGluZz11dGYtIgogIji7IHByaW1lcm8uIgogCi0jOiBvcHRpb24uYzo2Nzg2CisjOiBvcHRpb24uYzo2ODg0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU1OTM6IE5lZWQgYXQgbGVhc3QgJWQgbGluZXMiCiBtc2dzdHIgIkU1OTM6IE5lY2VzaXRhIGFsIG1lbm9zICVkIGztbmVhcy4iCiAKLSM6IG9wdGlvbi5jOjY3OTYKKyM6IG9wdGlvbi5jOjY4OTQKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTU5NDogTmVlZCBhdCBsZWFzdCAlZCBjb2x1bW5zIgogbXNnc3RyICJFNTk0OiBOZWNlc2l0YSBhbCBtZW5vcyAlZCBjb2x1bW5hcy4iCiAKLSM6IG9wdGlvbi5jOjcxMDMKKyM6IG9wdGlvbi5jOjcyMDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM1NTogVW5rbm93biBvcHRpb246ICVzIgogbXNnc3RyICJFMzU1OiBPcGNp824gZGVzY29ub2NpZGE6ICVzIgogCi0jOiBvcHRpb24uYzo3MjIzCisjOiBvcHRpb24uYzo3MzIxCiBtc2dpZCAiIgogIlxuIgogIi0tLSBUZXJtaW5hbCBjb2RlcyAtLS0iCkBAIC00ODAxLDcgKzQ5MDcsNyBAQAogIlxuIgogIi0tLSBD82RpZ29zIGRlIHRlcm1pbmFsIC0tLSIKIAotIzogb3B0aW9uLmM6NzIyNQorIzogb3B0aW9uLmM6NzMyMwogbXNnaWQgIiIKICJcbiIKICItLS0gR2xvYmFsIG9wdGlvbiB2YWx1ZXMgLS0tIgpAQCAtNDgwOSw3ICs0OTE1LDcgQEAKICJcbiIKICItLS0gVmFsb3JlcyBkZSBsYXMgb3BjaW9uZXMgZ2xvYmFsZXMgLS0tIgogCi0jOiBvcHRpb24uYzo3MjI3CisjOiBvcHRpb24uYzo3MzI1CiBtc2dpZCAiIgogIlxuIgogIi0tLSBMb2NhbCBvcHRpb24gdmFsdWVzIC0tLSIKQEAgLTQ4MTcsNyArNDkyMyw3IEBACiAiXG4iCiAiLS0tIFZhbG9yZXMgZGUgbGFzIG9wY2lvbmVzIGxvY2FsZXMgLS0tIgogCi0jOiBvcHRpb24uYzo3MjI5CisjOiBvcHRpb24uYzo3MzI3CiBtc2dpZCAiIgogIlxuIgogIi0tLSBPcHRpb25zIC0tLSIKQEAgLTQ4MjUsMTYgKzQ5MzEsMTYgQEAKICJcbiIKICItLS0gT3BjaW9uZXMgLS0tIgogCi0jOiBvcHRpb24uYzo3OTM1CisjOiBvcHRpb24uYzo4MDQyCiBtc2dpZCAiRTM1NjogZ2V0X3ZhcnAgRVJST1IiCiBtc2dzdHIgIkUzNTY6IEVSUk9SIGRlIKtnZXRfdmFycLsiCiAKLSM6IG9wdGlvbi5jOjg5MDYKKyM6IG9wdGlvbi5jOjkwMjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTM1NzogJ2xhbmdtYXAnOiBNYXRjaGluZyBjaGFyYWN0ZXIgbWlzc2luZyBmb3IgJXMiCiBtc2dzdHIgIkUzNTc6IKtsYW5nbWFwuzogZmFsdGEgY2Fy4WN0ZXIgY29pbmNpZGVudGUgcGFyYSAlcyIKIAotIzogb3B0aW9uLmM6ODk0MAorIzogb3B0aW9uLmM6OTA1NgogIywgYy1mb3JtYXQKIG1zZ2lkICJFMzU4OiAnbGFuZ21hcCc6IEV4dHJhIGNoYXJhY3RlcnMgYWZ0ZXIgc2VtaWNvbG9uOiAlcyIKIG1zZ3N0ciAiRTM1ODogq2xhbmdtYXC7OiBjYXJhY3RlcmVzIGV4dHJhIGRlc3B16XMgZGVsIHB1bnRvIHkgY29tYTogJXMiCkBAIC00OTAzLDUwICs1MDA5LDUwIEBACiBtc2dpZCAiSS9PIEVSUk9SIgogbXNnc3RyICJFUlJPUiBFL1MiCiAKLSM6IG9zX21zd2luLmM6NTQ4CisjOiBvc19tc3dpbi5jOjU0MwogbXNnaWQgIi4uLih0cnVuY2F0ZWQpIgogbXNnc3RyICIuLi4odHJ1bmNhZG8pIgogCi0jOiBvc19tc3dpbi5jOjY1MAorIzogb3NfbXN3aW4uYzo2NDUKIG1zZ2lkICInY29sdW1ucycgaXMgbm90IDgwLCBjYW5ub3QgZXhlY3V0ZSBleHRlcm5hbCBjb21tYW5kcyIKIG1zZ3N0ciAiJ2NvbHVtbnMnIG5vIGVzIDgwLCBubyBzZSBwdWVkZW4gZWplY3V0YXIgY29tYW5kb3MgZXh0ZXJub3MiCiAKLSM6IG9zX21zd2luLmM6MTk4MgorIzogb3NfbXN3aW4uYzoyMDAzCiBtc2dpZCAiRTIzNzogUHJpbnRlciBzZWxlY3Rpb24gZmFpbGVkIgogbXNnc3RyICJFMjM3OiBGQWxs8yBsYSBzZWxlY3Rp824gZGUgaW1wcmVzb3JhLiIKIAotIzogb3NfbXN3aW4uYzoyMDIyCisjOiBvc19tc3dpbi5jOjIwNDMKICMsIGMtZm9ybWF0CiBtc2dpZCAidG8gJXMgb24gJXMiCiBtc2dzdHIgInBhcmEgJXMgZW4gJXMiCiAKLSM6IG9zX21zd2luLmM6MjAzNworIzogb3NfbXN3aW4uYzoyMDU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU2MTM6IFVua25vd24gcHJpbnRlciBmb250OiAlcyIKIG1zZ3N0ciAiRTYxMzogRnVlbnRlIGRlIGltcHJlc2nzbiBkZXNjb25vY2lkYSBlbiBsYSBpbXByZXNvcmE6ICVzIgogCi0jOiBvc19tc3dpbi5jOjIwODYgb3NfbXN3aW4uYzoyMDk2CisjOiBvc19tc3dpbi5jOjIxMDcgb3NfbXN3aW4uYzoyMTE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMzg6IFByaW50IGVycm9yOiAlcyIKIG1zZ3N0ciAiRTIzODogRXJyb3IgZGUgaW1wcmVzafNuOiAlcyIKIAotIzogb3NfbXN3aW4uYzoyMDk3CisjOiBvc19tc3dpbi5jOjIxMTgKIG1zZ2lkICJVbmtub3duIgogbXNnc3RyICJEZXNjb25vY2lkbyIKIAotIzogb3NfbXN3aW4uYzoyMTI0CisjOiBvc19tc3dpbi5jOjIxNDUKICMsIGMtZm9ybWF0CiBtc2dpZCAiUHJpbnRpbmcgJyVzJyIKIG1zZ3N0ciAiSW1wcmltaWVuZG8gqyVzuyIKIAotIzogb3NfbXN3aW4uYzozMjEzCisjOiBvc19tc3dpbi5jOjMyMzUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTI0NDogSWxsZWdhbCBjaGFyc2V0IG5hbWUgXCIlc1wiIGluIGZvbnQgbmFtZSBcIiVzXCIiCiBtc2dzdHIgIiIKICJFMjQ0OiBFbCBub21icmUgZGVsIGNvbmp1bnRvIGRlIGNhcmFjdGVyZXMgqyVzuyBubyBlcyB24WxpZG8gZW4gZWwgbm9tYnJlIGRlICIKICJsYSBmdWVudGUgZGUgaW1wcmVzafNuIKslc7siCiAKLSM6IG9zX21zd2luLmM6MzIyMQorIzogb3NfbXN3aW4uYzozMjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNDU6IElsbGVnYWwgY2hhciAnJWMnIGluIGZvbnQgbmFtZSBcIiVzXCIiCiBtc2dzdHIgIkUyNDU6IENhcuFjdGVyIKslY7sgaWxlZ2FsIGVuIGVsIG5vbWJyZSBkZSBsYSBmdWVudGUgZGUgaW1wcmVzafNuIKslc7siCkBAIC00OTU1LDI1ICs1MDYxLDI2IEBACiBtc2dpZCAiRTM2NjogSW52YWxpZCAnb3NmaWxldHlwZScgb3B0aW9uIC0gdXNpbmcgVGV4dCIKIG1zZ3N0ciAiRTM2NjogT3BjafNuIKtvc2ZpbGV0eXBluyBpbnbhbGlkYSAtIHVzYW5kbyBUZXh0IgogCi0jOiBvc191bml4LmM6OTI3CisjOiBvc191bml4LmM6OTQ5CiBtc2dpZCAiVmltOiBEb3VibGUgc2lnbmFsLCBleGl0aW5nXG4iCiBtc2dzdHIgIlZpbTogZG9ibGUgc2XxYWwsIHNhbGllbmRvXG4iCiAKLSM6IG9zX3VuaXguYzo5MzMKKyM6IG9zX3VuaXguYzo5NTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiVmltOiBDYXVnaHQgZGVhZGx5IHNpZ25hbCAlc1xuIgogbXNnc3RyICJWaW06IGNhcHTpIHVuYSBzZfFhbCBkZSBtdWVydGUgJXNcbiIKIAotIzogb3NfdW5peC5jOjkzNgorIzogb3NfdW5peC5jOjk1OAorIywgYy1mb3JtYXQKIG1zZ2lkICJWaW06IENhdWdodCBkZWFkbHkgc2lnbmFsXG4iCiBtc2dzdHIgIlZpbTogY2FwdOkgdW5hIHNl8WFsIGRlIG11ZXJ0ZVxuIgogCi0jOiBvc191bml4LmM6MTE5OQorIzogb3NfdW5peC5jOjEyMjEKICMsIGMtZm9ybWF0CiBtc2dpZCAiT3BlbmluZyB0aGUgWCBkaXNwbGF5IHRvb2sgJWxkIG1zZWMiCiBtc2dzdHIgIkFicmlyIGxhIHBhbnRhbGxhIFggdG9t8yAlbGQgbXMiCiAKLSM6IG9zX3VuaXguYzoxMjI2CisjOiBvc191bml4LmM6MTI1NQogbXNnaWQgIiIKICJcbiIKICJWaW06IEdvdCBYIGVycm9yXG4iCkBAIC00OTgxLDE1ICs1MDg4LDE1IEBACiAiXG4iCiAiVmltOiBIYXkgdW4gZXJyb3IgZGUgWDExXG4iCiAKLSM6IG9zX3VuaXguYzoxMzM4CisjOiBvc191bml4LmM6MTM2OAogbXNnaWQgIlRlc3RpbmcgdGhlIFggZGlzcGxheSBmYWlsZWQiCiBtc2dzdHIgIkZhbGzzIGxhIHBydWViYSBkZWwgc2lzdGVtYSBYMTEiCiAKLSM6IG9zX3VuaXguYzoxNDc3CisjOiBvc191bml4LmM6MTUwNwogbXNnaWQgIk9wZW5pbmcgdGhlIFggZGlzcGxheSB0aW1lZCBvdXQiCiBtc2dzdHIgIkVsIKtkaXNwbGF5uyBkZSBYIG5vIGFicmnzIGEgdGllbXBvLiIKIAotIzogb3NfdW5peC5jOjMyMzQgb3NfdW5peC5jOjM5MTQKKyM6IG9zX3VuaXguYzozMjY3IG9zX3VuaXguYzozOTQ3CiBtc2dpZCAiIgogIlxuIgogIkNhbm5vdCBleGVjdXRlIHNoZWxsICIKQEAgLTQ5OTcsNyArNTEwNCw3IEBACiAiXG4iCiAiTm8gcHVlZG8gZWplY3V0YXIgbGEgq3NoZWxsuyAiCiAKLSM6IG9zX3VuaXguYzozMjgyCisjOiBvc191bml4LmM6MzMxNQogbXNnaWQgIiIKICJcbiIKICJDYW5ub3QgZXhlY3V0ZSBzaGVsbCBzaFxuIgpAQCAtNTAwNSw3ICs1MTEyLDcgQEAKICJcbiIKICJObyBwdWVkbyBlamVjdXRhciBsYSCrc2hlbGy7IKtzaLtcbiIKIAotIzogb3NfdW5peC5jOjMyODYgb3NfdW5peC5jOjM5MjAKKyM6IG9zX3VuaXguYzozMzE5IG9zX3VuaXguYzozOTUzCiBtc2dpZCAiIgogIlxuIgogInNoZWxsIHJldHVybmVkICIKQEAgLTUwMTMsNyArNTEyMCw3IEBACiAiXG4iCiAiTGEgq3NoZWxsuyBoYSBkZXZ1ZWx0byAiCiAKLSM6IG9zX3VuaXguYzozNDIxCisjOiBvc191bml4LmM6MzQ1NAogbXNnaWQgIiIKICJcbiIKICJDYW5ub3QgY3JlYXRlIHBpcGVzXG4iCkBAIC01MDIxLDcgKzUxMjgsNyBAQAogIlxuIgogIk5vIHB1ZWRvIGNyZWFyIKtwaXBlc7tcbiIKIAotIzogb3NfdW5peC5jOjM0MzYKKyM6IG9zX3VuaXguYzozNDY5CiBtc2dpZCAiIgogIlxuIgogIkNhbm5vdCBmb3JrXG4iCkBAIC01MDI5LDcgKzUxMzYsNyBAQAogIlxuIgogIk5vIHB1ZWRvIHVzYXIgq2Zvcmu7XG4iCiAKLSM6IG9zX3VuaXguYzozOTI3CisjOiBvc191bml4LmM6Mzk2MAogbXNnaWQgIiIKICJcbiIKICJDb21tYW5kIHRlcm1pbmF0ZWRcbiIKQEAgLTUwMzcsMjcgKzUxNDQsMzIgQEAKICJcbiIKICJDb21hbmRvIGZpbmFsaXphZG9cbiIKIAotIzogb3NfdW5peC5jOjQxOTEgb3NfdW5peC5jOjQzMTYgb3NfdW5peC5jOjU5ODIKKyM6IG9zX3VuaXguYzo0MjQ3IG9zX3VuaXguYzo0Mzg5IG9zX3VuaXguYzo2MDc4CiBtc2dpZCAiWFNNUCBsb3N0IElDRSBjb25uZWN0aW9uIgogbXNnc3RyICJYU01QIHBlcmRp8yBsYSBjb25leGnzbiBJQ0UuIgogCi0jOiBvc191bml4LmM6NTU2NQorIzogb3NfdW5peC5jOjU0Nzggb3NfdW5peC5jOjU1NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGxlcnJvciA9IFwiJXNcIiIKK21zZ3N0ciAiZGxlcnJvciA9IKslc7siCisKKyM6IG9zX3VuaXguYzo1NjYxCiBtc2dpZCAiT3BlbmluZyB0aGUgWCBkaXNwbGF5IGZhaWxlZCIKIG1zZ3N0ciAiRmFsbPMgbGEgYXBlcnR1cmEgZGUgbGEgcGFudGFsbGEgWDExIgogCi0jOiBvc191bml4LmM6NTg4NworIzogb3NfdW5peC5jOjU5ODMKIG1zZ2lkICJYU01QIGhhbmRsaW5nIHNhdmUteW91cnNlbGYgcmVxdWVzdCIKIG1zZ3N0ciAiWFNNUCBlc3ThIG1hbmVqYW5kbyB1bmEgc29saWNpdHVkIGRlIKtndWFyZGVsbyB1c3RlZCBtaXNtb7suIgogCi0jOiBvc191bml4LmM6NjAwNgorIzogb3NfdW5peC5jOjYxMDIKIG1zZ2lkICJYU01QIG9wZW5pbmcgY29ubmVjdGlvbiIKIG1zZ3N0ciAiWFNNUCBlc3ThIGFicmllbmRvIHVuYSBjb25leGnzbi4iCiAKLSM6IG9zX3VuaXguYzo2MDI1CisjOiBvc191bml4LmM6NjEyMQogbXNnaWQgIlhTTVAgSUNFIGNvbm5lY3Rpb24gd2F0Y2ggZmFpbGVkIgogbXNnc3RyICJYU01QIEZhbGzzIGVsIG1vbml0b3JlbyBkZSBsYSBjb25leGnzbiBJQ0UuIgogCi0jOiBvc191bml4LmM6NjA0NQorIzogb3NfdW5peC5jOjYxNDEKICMsIGMtZm9ybWF0CiBtc2dpZCAiWFNNUCBTbWNPcGVuQ29ubmVjdGlvbiBmYWlsZWQ6ICVzIgogbXNnc3RyICJYU01QIFNtY09wZW5Db25uZWN0aW9uIGhhIGZhbGxhZG86ICVzLiIKQEAgLTUwODIsMzMgKzUxOTQsMzMgQEAKIG1zZ2lkICJDb3VsZCBub3QgZml4IHVwIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIHRoZSBETEwhIgogbXNnc3RyICKhTm8gcHVkZSBmaWphciBsb3MgcHVudGVyb3MgZGUgbGEgZnVuY2nzbiBhIGxhIERMTCEiCiAKLSM6IG9zX3dpbjE2LmM6MzQyIG9zX3dpbjMyLmM6MzI0OAorIzogb3Nfd2luMTYuYzozNDIgb3Nfd2luMzIuYzozMzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgInNoZWxsIHJldHVybmVkICVkIgogbXNnc3RyICJMYSCrc2hlbGy7IGhhIGRldnVlbHRvICVkIgogCi0jOiBvc193aW4zMi5jOjI3MDYKKyM6IG9zX3dpbjMyLmM6Mjc3MQogIywgYy1mb3JtYXQKIG1zZ2lkICJWaW06IENhdWdodCAlcyBldmVudFxuIgogbXNnc3RyICJWaW06IENhcHTpIGVsIGV2ZW50byAlc1xuIgogCi0jOiBvc193aW4zMi5jOjI3MDgKKyM6IG9zX3dpbjMyLmM6Mjc3MwogbXNnaWQgImNsb3NlIgogbXNnc3RyICJjZXJyYXIiCiAKLSM6IG9zX3dpbjMyLmM6MjcxMAorIzogb3Nfd2luMzIuYzoyNzc1CiBtc2dpZCAibG9nb2ZmIgogbXNnc3RyICJzYWxpZGEiCiAKLSM6IG9zX3dpbjMyLmM6MjcxMQorIzogb3Nfd2luMzIuYzoyNzc2CiBtc2dpZCAic2h1dGRvd24iCiBtc2dzdHIgImFwYWdhciIKIAotIzogb3Nfd2luMzIuYzozMjAxCisjOiBvc193aW4zMi5jOjMyNjYKIG1zZ2lkICJFMzcxOiBDb21tYW5kIG5vdCBmb3VuZCIKIG1zZ3N0ciAiRTM3MTogTm8gc2UgZW5jdWVudHJhIGVsIGNvbWFuZG8iCiAKLSM6IG9zX3dpbjMyLmM6MzIxNAorIzogb3Nfd2luMzIuYzozMjc5CiBtc2dpZCAiIgogIlZJTVJVTi5FWEUgbm90IGZvdW5kIGluIHlvdXIgJFBBVEguXG4iCiAiRXh0ZXJuYWwgY29tbWFuZHMgd2lsbCBub3QgcGF1c2UgYWZ0ZXIgY29tcGxldGlvbi5cbiIKQEAgLTUxMTgsNyArNTIzMCw3IEBACiAiTG9zIGNvbWFuZG9zIGV4dGVybm9zIG5vIGhhcuFuIHVuYSBwYXVzYSBhbCBmaW5hbGl6YXIuXG4iCiAiVulhc2UgIDpoZWxwIHdpbjMyLXZpbXJ1biAgcGFyYSBt4XMgaW5mb3JtYWNp824iCiAKLSM6IG9zX3dpbjMyLmM6MzIxNworIzogb3Nfd2luMzIuYzozMjgyCiBtc2dpZCAiVmltIFdhcm5pbmciCiBtc2dzdHIgIkFkdmVydGVuY2lhIGRlIFZpbSIKIApAQCAtNTE2MywyOSArNTI3NSwyOSBAQAogbXNnaWQgIkU1NTM6IE5vIG1vcmUgaXRlbXMiCiBtc2dzdHIgIkU1NTM6IE5vIGhheSBt4XMg7XRlbXMuIgogCi0jOiBxdWlja2ZpeC5jOjEyMjkKKyM6IHF1aWNrZml4LmM6MTI4NgogIywgYy1mb3JtYXQKIG1zZ2lkICIoJWQgb2YgJWQpJXMlczogIgogbXNnc3RyICIoJWQgZGUgJWQpJXMlczogIgogCi0jOiBxdWlja2ZpeC5jOjEyMzEKKyM6IHF1aWNrZml4LmM6MTI4OAogbXNnaWQgIiAobGluZSBkZWxldGVkKSIKLW1zZ3N0ciAiIChs7W5lYSBib3JyYWRhKSIKK21zZ3N0ciAiIChs7W5lYSBlbGltaW5hZGEpIgogCi0jOiBxdWlja2ZpeC5jOjE0NDQKKyM6IHF1aWNrZml4LmM6MTUwMQogbXNnaWQgIkUzODA6IEF0IGJvdHRvbSBvZiBxdWlja2ZpeCBzdGFjayIKIG1zZ3N0ciAiRTM4MDogQWwgZmluYWwgZGUgbGEgcGlsYSBkZSBjb3JyZWNp824gcuFwaWRhIgogCi0jOiBxdWlja2ZpeC5jOjE0NTMKKyM6IHF1aWNrZml4LmM6MTUxMAogbXNnaWQgIkUzODE6IEF0IHRvcCBvZiBxdWlja2ZpeCBzdGFjayIKIG1zZ3N0ciAiRTM4MTogQWwgcHJpbmNpcGlvIGRlIGxhIHBpbGEgZGUgY29ycmVjafNuIHLhcGlkYSIKIAotIzogcXVpY2tmaXguYzoxNDY1CisjOiBxdWlja2ZpeC5jOjE1MjIKICMsIGMtZm9ybWF0CiBtc2dpZCAiZXJyb3IgbGlzdCAlZCBvZiAlZDsgJWQgZXJyb3JzIgogbXNnc3RyICJsaXN0YSBkZSBlcnJvcmVzICVkIGRlICVkOiAlZCBlcnJvcmVzIgogCi0jOiBxdWlja2ZpeC5jOjE5NDMKKyM6IHF1aWNrZml4LmM6MjAwMgogbXNnaWQgIkUzODI6IENhbm5vdCB3cml0ZSwgJ2J1ZnR5cGUnIG9wdGlvbiBpcyBzZXQiCiBtc2dzdHIgIkUzODI6IE5vIHNlIHB1ZWRlIGdyYWJhciwgbGEgb3BjafNuIKtidWZ0eXBluyBlc3ThIGFjdGl2YWRhIgogCkBAIC01MzE5LDgwICs1NDMxLDgwIEBACiBtc2dpZCAiRXh0ZXJuYWwgc3VibWF0Y2hlczpcbiIKIG1zZ3N0ciAiU3ViY29pbmNpZGVuY2lhcyBleHRlcm5hczpcbiIKIAotIzogc2NyZWVuLmM6MjE4NAorIzogc2NyZWVuLmM6MjIwNAogIywgYy1mb3JtYXQKIG1zZ2lkICIrLS0lM2xkIGxpbmVzIGZvbGRlZCAiCiBtc2dzdHIgIistLSUzbGQgbO1uZWFzIHBsZWdhZGFzIgogCi0jOiBzY3JlZW4uYzo4MDAwCisjOiBzY3JlZW4uYzo4MDQzCiBtc2dpZCAiIFZSRVBMQUNFIgogbXNnc3RyICIgUkVFTVBMQVpBTUlFTlRPIFZJUlRVQUwiCiAKLSM6IHNjcmVlbi5jOjgwMDQKKyM6IHNjcmVlbi5jOjgwNDcKIG1zZ2lkICIgUkVQTEFDRSIKIG1zZ3N0ciAiIFJFRU1QTEFaQVIiCiAKLSM6IHNjcmVlbi5jOjgwMDkKKyM6IHNjcmVlbi5jOjgwNTIKIG1zZ2lkICIgUkVWRVJTRSIKIG1zZ3N0ciAiIElOVkVSVElSIgogCi0jOiBzY3JlZW4uYzo4MDExCisjOiBzY3JlZW4uYzo4MDU0CiBtc2dpZCAiIElOU0VSVCIKIG1zZ3N0ciAiIElOU0VSVEFSIgogCi0jOiBzY3JlZW4uYzo4MDE0CisjOiBzY3JlZW4uYzo4MDU3CiBtc2dpZCAiIChpbnNlcnQpIgogbXNnc3RyICIgKGluc2VydGFyKSIKIAotIzogc2NyZWVuLmM6ODAxNgorIzogc2NyZWVuLmM6ODA1OQogbXNnaWQgIiAocmVwbGFjZSkiCiBtc2dzdHIgIiAocmVlbXBsYXphcikiCiAKLSM6IHNjcmVlbi5jOjgwMTgKKyM6IHNjcmVlbi5jOjgwNjEKIG1zZ2lkICIgKHZyZXBsYWNlKSIKIG1zZ3N0ciAiIChyZWVtcGxhemFtaWVudG8gdmlydHVhbCkiCiAKLSM6IHNjcmVlbi5jOjgwMjEKKyM6IHNjcmVlbi5jOjgwNjQKIG1zZ2lkICIgSGVicmV3IgogbXNnc3RyICIgSGVicmVvIgogCi0jOiBzY3JlZW4uYzo4MDMyCisjOiBzY3JlZW4uYzo4MDc1CiBtc2dpZCAiIEFyYWJpYyIKIG1zZ3N0ciAiIOFyYWJlIgogCi0jOiBzY3JlZW4uYzo4MDM1CisjOiBzY3JlZW4uYzo4MDc4CiBtc2dpZCAiIChsYW5nKSIKIG1zZ3N0ciAiIChpZGlvbWEpIgogCi0jOiBzY3JlZW4uYzo4MDM5CisjOiBzY3JlZW4uYzo4MDgyCiBtc2dpZCAiIChwYXN0ZSkiCiBtc2dzdHIgIiAocGVnYXIpIgogCi0jOiBzY3JlZW4uYzo4MDUyCisjOiBzY3JlZW4uYzo4MDk1CiBtc2dpZCAiIFZJU1VBTCIKIG1zZ3N0ciAiIFZJU1VBTCIKIAotIzogc2NyZWVuLmM6ODA1MworIzogc2NyZWVuLmM6ODA5NgogbXNnaWQgIiBWSVNVQUwgTElORSIKIG1zZ3N0ciAiIEzNTkVBIFZJU1VBTCIKIAotIzogc2NyZWVuLmM6ODA1NAorIzogc2NyZWVuLmM6ODA5NwogbXNnaWQgIiBWSVNVQUwgQkxPQ0siCiBtc2dzdHIgIiBCTE9RVUUgVklTVUFMIgogCi0jOiBzY3JlZW4uYzo4MDU1CisjOiBzY3JlZW4uYzo4MDk4CiBtc2dpZCAiIFNFTEVDVCIKIG1zZ3N0ciAiIFNFTEVDQ0lPTkFSIgogCi0jOiBzY3JlZW4uYzo4MDU2CisjOiBzY3JlZW4uYzo4MDk5CiBtc2dpZCAiIFNFTEVDVCBMSU5FIgogbXNnc3RyICIgU0VMRUNDSU9OQVIgTM1ORUEiCiAKLSM6IHNjcmVlbi5jOjgwNTcKKyM6IHNjcmVlbi5jOjgxMDAKIG1zZ2lkICIgU0VMRUNUIEJMT0NLIgogbXNnc3RyICIgU0VMRUNDSU9OQVIgQkxPUVVFIgogCi0jOiBzY3JlZW4uYzo4MDcyIHNjcmVlbi5jOjgxMzUKKyM6IHNjcmVlbi5jOjgxMTUgc2NyZWVuLmM6ODE3OAogbXNnaWQgInJlY29yZGluZyIKIG1zZ3N0ciAiZ3JhYmFuZG8iCiAKQEAgLTU0MjMsNTQgKzU1MzUsNTQgQEAKIG1zZ2lkICJFMzg2OiBFeHBlY3RlZCAnPycgb3IgJy8nICBhZnRlciAnOyciCiBtc2dzdHIgIkUzODY6IEVzcGVyYWJhIKs/uyBvIKsvuyBkZXNwdelzIGRlIKs7uyIKIAotIzogc2VhcmNoLmM6Mzc2OQorIzogc2VhcmNoLmM6NDExNgogbXNnaWQgIiAoaW5jbHVkZXMgcHJldmlvdXNseSBsaXN0ZWQgbWF0Y2gpIgogbXNnc3RyICIgKGluY2x1eWUgbGEgY29pbmNpZGVuY2lhIG1vc3RyYWRhIHByZXZpYW1lbnRlKS4iCiAKICMgIGN1cnNvciBhdCBzdGF0dXMgbGluZQogIy4gY3Vyc29yIGF0IHN0YXR1cyBsaW5lCi0jOiBzZWFyY2guYzozNzg5CisjOiBzZWFyY2guYzo0MTM2CiBtc2dpZCAiLS0tIEluY2x1ZGVkIGZpbGVzICIKIG1zZ3N0ciAiLS0tIEZpY2hlcm9zIGluY2x1aWRvcyAiCiAKLSM6IHNlYXJjaC5jOjM3OTEKKyM6IHNlYXJjaC5jOjQxMzgKIG1zZ2lkICJub3QgZm91bmQgIgogbXNnc3RyICJubyBsbyBlbmNvbnRy6SIKIAotIzogc2VhcmNoLmM6Mzc5MgorIzogc2VhcmNoLmM6NDEzOQogbXNnaWQgImluIHBhdGggLS0tXG4iCiBtc2dzdHIgImVuIGxhIHJ1dGEgLS0tXG4iCiAKLSM6IHNlYXJjaC5jOjM4NDkKKyM6IHNlYXJjaC5jOjQxOTYKIG1zZ2lkICIgIChBbHJlYWR5IGxpc3RlZCkiCiBtc2dzdHIgIiAgKFlhIGxvIGVudW1lcukpIgogCi0jOiBzZWFyY2guYzozODUxCisjOiBzZWFyY2guYzo0MTk4CiBtc2dpZCAiICBOT1QgRk9VTkQiCiBtc2dzdHIgIiAgTk8gU0UgRU5DT05UUtMiCiAKLSM6IHNlYXJjaC5jOjM5MDMKKyM6IHNlYXJjaC5jOjQyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiU2Nhbm5pbmcgaW5jbHVkZWQgZmlsZTogJXMiCiBtc2dzdHIgIkV4cGxvcmFuZG8gZWwgZmljaGVybyBpbmNsdWlkbzogJXMiCiAKLSM6IHNlYXJjaC5jOjQxMjEKKyM6IHNlYXJjaC5jOjQ0NjgKIG1zZ2lkICJFMzg3OiBNYXRjaCBpcyBvbiBjdXJyZW50IGxpbmUiCiBtc2dzdHIgIkUzODc6IExhIGNvaW5jaWRlbmNpYSBlc3ThIGVuIGxhIGztbmVhIGVuIGN1cnNvLiIKIAotIzogc2VhcmNoLmM6NDI2NAorIzogc2VhcmNoLmM6NDYxMQogbXNnaWQgIkFsbCBpbmNsdWRlZCBmaWxlcyB3ZXJlIGZvdW5kIgogbXNnc3RyICJTZSBoYW4gZW5jb250cmFkbyB0b2RvcyBsb3MgZmljaGVyb3MgaW5jbHVpZG9zIgogCi0jOiBzZWFyY2guYzo0MjY2CisjOiBzZWFyY2guYzo0NjEzCiBtc2dpZCAiTm8gaW5jbHVkZWQgZmlsZXMiCiBtc2dzdHIgIk5vIGhheSBmaWNoZXJvcyBpbmNsdWlkb3MiCiAKLSM6IHNlYXJjaC5jOjQyODIKKyM6IHNlYXJjaC5jOjQ2MjkKIG1zZ2lkICJFMzg4OiBDb3VsZG4ndCBmaW5kIGRlZmluaXRpb24iCiBtc2dzdHIgIkUzODg6IE5vIHNlIHB1ZG8gZW5jb250cmFyIGxhIGRlZmluaWNp824iCiAKLSM6IHNlYXJjaC5jOjQyODQKKyM6IHNlYXJjaC5jOjQ2MzEKIG1zZ2lkICJFMzg5OiBDb3VsZG4ndCBmaW5kIHBhdHRlcm4iCiBtc2dzdHIgIkUzODk6IE5vIHNlIHB1ZG8gZW5jb250cmFyIGVsIHBhdHLzbiIKIApAQCAtNTYzNSw4NCArNTc0Nyw4MiBAQAogbXNnaWQgIkU0MTA6IEludmFsaWQgOnN5bnRheCBzdWJjb21tYW5kOiAlcyIKIG1zZ3N0ciAiRTQxMDogU3ViY29tYW5kbyCrOnN5bnRheLsgbm8gduFsaWRvOiAlcyIKIAotIzogc3ludGF4LmM6NjEzNgorIzogc3ludGF4LmM6NjEzOQogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDExOiBoaWdobGlnaHQgZ3JvdXAgbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAiRTQxMTogZ3J1cG8gcmVhbHphZG8gbm8gZW5jb250cmFkbzogJXMiCiAKLSM6IHN5bnRheC5jOjYxNjAKKyM6IHN5bnRheC5jOjYxNjMKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQxMjogTm90IGVub3VnaCBhcmd1bWVudHM6IFwiOmhpZ2hsaWdodCBsaW5rICVzXCIiCiBtc2dzdHIgIkU0MTI6IEFyZ3VtZW50b3MgaW5zdWZpY2llbnRlczogqzpoaWdobGlnaHQgbGluayAlc7siCiAKLSM6IHN5bnRheC5jOjYxNjcKKyM6IHN5bnRheC5jOjYxNzAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQxMzogVG9vIG1hbnkgYXJndW1lbnRzOiBcIjpoaWdobGlnaHQgbGluayAlc1wiIgogbXNnc3RyICJFNDEzOiBEZW1hc2lhZG9zIGFyZ3VtZW50b3M6IKs6aGlnaGxpZ2h0IGxpbmsgJXO7IgogCi0jOiBzeW50YXguYzo2MTg3CisjOiBzeW50YXguYzo2MTkwCiBtc2dpZCAiRTQxNDogZ3JvdXAgaGFzIHNldHRpbmdzLCBoaWdobGlnaHQgbGluayBpZ25vcmVkIgogbXNnc3RyICIiCiAiRTQxNDogRWwgZ3J1cG8gdGllbmUgb3BjaW9uZXMgYXNpZ25hZGFzLCBzZSBoYSBpZ25vcmFkbyBlbCBlbmxhY2UgZGUgIgogImNvbG9yaXphY2nzbi4iCiAKLSM6IHN5bnRheC5jOjYzMTYKKyM6IHN5bnRheC5jOjYzMTkKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQxNTogdW5leHBlY3RlZCBlcXVhbCBzaWduOiAlcyIKIG1zZ3N0ciAiRTQxNTogU2lnbm8gaWd1YWwgaW5lc3BlcmFkbzogJXMiCiAKLSM6IHN5bnRheC5jOjYzNTIKKyM6IHN5bnRheC5jOjYzNTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQxNjogbWlzc2luZyBlcXVhbCBzaWduOiAlcyIKIG1zZ3N0ciAiRTQxNjogZmFsdGEgZWwgc2lnbm8gaWd1YWw6ICVzIgogCi0jOiBzeW50YXguYzo2MzgwCisjOiBzeW50YXguYzo2MzgzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MTc6IG1pc3NpbmcgYXJndW1lbnQ6ICVzIgogbXNnc3RyICJFNDE3OiBmYWx0YSBlbCBhcmd1bWVudG86ICVzIgogCi0jOiBzeW50YXguYzo2NDE3CisjOiBzeW50YXguYzo2NDIwCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MTg6IElsbGVnYWwgdmFsdWU6ICVzIgogbXNnc3RyICJFNDE4OiBWYWxvciBpbGVnYWw6ICVzIgogCi0jOiBzeW50YXguYzo2NTM2CisjOiBzeW50YXguYzo2NTM5CiBtc2dpZCAiRTQxOTogRkcgY29sb3IgdW5rbm93biIKIG1zZ3N0ciAiRTQxOTogY29sb3IgZGUgcHJpbWVyIHBsYW5vIGRlc2Nvbm9jaWRvIgogCi0jOiBzeW50YXguYzo2NTQ3CisjOiBzeW50YXguYzo2NTUwCiBtc2dpZCAiRTQyMDogQkcgY29sb3IgdW5rbm93biIKIG1zZ3N0ciAiRTQyMDogQ29sb3IgZGUgZm9uZG8gZGVzY29ub2NpZG8iCiAKLSM6IHN5bnRheC5jOjY2MDgKKyM6IHN5bnRheC5jOjY2MTEKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQyMTogQ29sb3IgbmFtZSBvciBudW1iZXIgbm90IHJlY29nbml6ZWQ6ICVzIgogbXNnc3RyICJFNDIxOiBOb21icmUgbyBu+m1lcm8gZGUgY29sb3IgZGVzY29ub2NpZG86ICVzIgogCi0jOiBzeW50YXguYzo2ODE0CisjOiBzeW50YXguYzo2ODE3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MjI6IHRlcm1pbmFsIGNvZGUgdG9vIGxvbmc6ICVzIgogbXNnc3RyICJFNDIyOiBj82RpZ28gZGUgdGVybWluYWwgZGVtYXNpYWRvIGxhcmdvOiAlcyIKIAotIzogc3ludGF4LmM6Njg2MQorIzogc3ludGF4LmM6Njg2NAogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDIzOiBJbGxlZ2FsIGFyZ3VtZW50OiAlcyIKIG1zZ3N0ciAiRTQyMzogQXJndW1lbnRvIGlsZWdhbDogJXMiCiAKLSM6IHN5bnRheC5jOjczOTAKKyM6IHN5bnRheC5jOjczOTMKIG1zZ2lkICJFNDI0OiBUb28gbWFueSBkaWZmZXJlbnQgaGlnaGxpZ2h0aW5nIGF0dHJpYnV0ZXMgaW4gdXNlIgogbXNnc3RyICJFNDI0OiBIYXkgZGVtYXNpYWRvcyBhdHJpYnV0b3MgZGUgcmVhbHphZG8gZW4gdXNvIgogCi0jOiBzeW50YXguYzo3OTExCisjOiBzeW50YXguYzo3OTE0CiBtc2dpZCAiRTY2OTogVW5wcmludGFibGUgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiCiBtc2dzdHIgIkU2Njk6IENhcmFjdGVyIG5vIGltcHJpbWlibGUgZW4gZWwgbm9tYnJlIGRlbCBncnVwby4iCiAKICMgRXMgcHJlZmVyaWJsZSB0cmFkdWNpciAiaW52YWxpZCIgcG9yICJubyBbZXNdIHbhbGlkbyIgcHVlcyAiaW524WxpZG8iIAogIyBubyBlcyBsbyBzdWZpY2llbnRlbWVudGUgY2xhcm8uIEFkZW3hcywgbm8gZXMgcG9s7XRpY2FtZW50ZSBjb3JyZWN0byA6LSkKICMgQUxWCi0jLiBUaGlzIGlzIGFuIGVycm9yLCBidXQgc2luY2UgdGhlcmUgcHJldmlvdXNseSB3YXMgbm8gY2hlY2sgb25seQotIy4gKiBnaXZlIGEgd2FybmluZy4KLSM6IHN5bnRheC5jOjc5MTgKKyM6IHN5bnRheC5jOjc5MjIKIG1zZ2lkICJXMTg6IEludmFsaWQgY2hhcmFjdGVyIGluIGdyb3VwIG5hbWUiCiBtc2dzdHIgIlcxODogSGF5IHVuIGNhcuFjdGVyIG5vIHbhbGlkbyBlbiBlbCBub2JyZSBkZWwgZ3J1cG8uIgogCkBAIC01OTEwLDcgKzYwMjAsNyBAQAogCiAjICBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCiAjLiBPbmx5IE1TIFZDIDQuMSBhbmQgZWFybGllciBjYW4gZG8gV2luMzJzCi0jOiB2ZXJzaW9uLmM6NzIxCisjOiB2ZXJzaW9uLmM6NzEyCiBtc2dpZCAiIgogIlxuIgogIk1TLVdpbmRvd3MgMTYvMzIgYml0IEdVSSB2ZXJzaW9uIgpAQCAtNTkxOCw3ICs2MDI4LDcgQEAKICJcbiIKICJWZXJzafNuIEdVSSBkZSAxNi8zMiBiaXRzIHBhcmEgTVMtV2luZG93cyIKIAotIzogdmVyc2lvbi5jOjcyMworIzogdmVyc2lvbi5jOjcxNAogbXNnaWQgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIGJpdCBHVUkgdmVyc2lvbiIKQEAgLTU5MjYsMTUgKzYwMzYsMTUgQEAKICJcbiIKICJWZXJzafNuIEdVSSBkZSAzMiBiaXRzIHBhcmEgTVMtV2luZG93cyIKIAotIzogdmVyc2lvbi5jOjcyNgorIzogdmVyc2lvbi5jOjcxNwogbXNnaWQgIiBpbiBXaW4zMnMgbW9kZSIKIG1zZ3N0ciAiIGVuIG1vZG8gV2luMzJzIgogCi0jOiB2ZXJzaW9uLmM6NzI4CisjOiB2ZXJzaW9uLmM6NzE5CiBtc2dpZCAiIHdpdGggT0xFIHN1cHBvcnQiCiBtc2dzdHIgIiBjb24gc29wb3J0ZSBwYXJhIE9MRSIKIAotIzogdmVyc2lvbi5jOjczMQorIzogdmVyc2lvbi5jOjcyMgogbXNnaWQgIiIKICJcbiIKICJNUy1XaW5kb3dzIDMyIGJpdCBjb25zb2xlIHZlcnNpb24iCkBAIC01OTQyLDcgKzYwNTIsNyBAQAogIlxuIgogIlZlcnNp824gZGUgMzIgYml0cyBwYXJhIGNvbnNvbGEgZGUgTVMtV2luZG93cyIKIAotIzogdmVyc2lvbi5jOjczNQorIzogdmVyc2lvbi5jOjcyNgogbXNnaWQgIiIKICJcbiIKICJNUy1XaW5kb3dzIDE2IGJpdCB2ZXJzaW9uIgpAQCAtNTk1MCw3ICs2MDYwLDcgQEAKICJcbiIKICJWZXJzafNuIGRlIDE2IGJpdHMgcGFyYSBNUy1XaW5kb3dzIgogCi0jOiB2ZXJzaW9uLmM6NzM5CisjOiB2ZXJzaW9uLmM6NzMwCiBtc2dpZCAiIgogIlxuIgogIjMyIGJpdCBNUy1ET1MgdmVyc2lvbiIKQEAgLTU5NTgsNyArNjA2OCw3IEBACiAiXG4iCiAiVmVyc2nzbiBkZSAzMiBiaXRzIHBhcmEgTVMtRE9TIgogCi0jOiB2ZXJzaW9uLmM6NzQxCisjOiB2ZXJzaW9uLmM6NzMyCiBtc2dpZCAiIgogIlxuIgogIjE2IGJpdCBNUy1ET1MgdmVyc2lvbiIKQEAgLTU5NjYsNyArNjA3Niw3IEBACiAiXG4iCiAiVmVyc2nzbiBkZSAxNiBiaXRzIHBhcmEgTVMtRE9TIgogCi0jOiB2ZXJzaW9uLmM6NzQ3CisjOiB2ZXJzaW9uLmM6NzM4CiBtc2dpZCAiIgogIlxuIgogIk1hY09TIFggKHVuaXgpIHZlcnNpb24iCkBAIC01OTc0LDcgKzYwODQsNyBAQAogIlxuIgogIlZlcnNp824gWCAodW5peCkgcGFyYSBNYWNPUyIKIAotIzogdmVyc2lvbi5jOjc0OQorIzogdmVyc2lvbi5jOjc0MAogbXNnaWQgIiIKICJcbiIKICJNYWNPUyBYIHZlcnNpb24iCkBAIC01OTgyLDcgKzYwOTIsNyBAQAogIlxuIgogIlZlcnNp824gWCBwYXJhIE1hY09TIgogCi0jOiB2ZXJzaW9uLmM6NzUyCisjOiB2ZXJzaW9uLmM6NzQzCiBtc2dpZCAiIgogIlxuIgogIk1hY09TIHZlcnNpb24iCkBAIC01OTkwLDcgKzYxMDAsNyBAQAogIlxuIgogIlZlcnNp824gcGFyYSBNYWNPUyIKIAotIzogdmVyc2lvbi5jOjc1NworIzogdmVyc2lvbi5jOjc0OAogbXNnaWQgIiIKICJcbiIKICJSSVNDIE9TIHZlcnNpb24iCkBAIC01OTk4LDcgKzYxMDgsNyBAQAogIlxuIgogIlZlcnNp824gcGFyYSBSSVNDIE9TIgogCi0jOiB2ZXJzaW9uLmM6NzY3CisjOiB2ZXJzaW9uLmM6NzU4CiBtc2dpZCAiIgogIlxuIgogIkluY2x1ZGVkIHBhdGNoZXM6ICIKQEAgLTYwMDYsMTEgKzYxMTYsMTEgQEAKICJcbiIKICJQYXJjaGVzIGluY2x1aWRvczogIgogCi0jOiB2ZXJzaW9uLmM6NzkzIHZlcnNpb24uYzoxMTYxCisjOiB2ZXJzaW9uLmM6Nzg0IHZlcnNpb24uYzoxMTU2CiBtc2dpZCAiTW9kaWZpZWQgYnkgIgogbXNnc3RyICJNb2RpZmljYWRvIHBvciAiCiAKLSM6IHZlcnNpb24uYzo4MDAKKyM6IHZlcnNpb24uYzo3OTEKIG1zZ2lkICIiCiAiXG4iCiAiQ29tcGlsZWQgIgpAQCAtNjAxOCwxMSArNjEyOCwxMSBAQAogIlxuIgogIkNvbXBpbGFkbyAiCiAKLSM6IHZlcnNpb24uYzo4MDMKKyM6IHZlcnNpb24uYzo3OTQKIG1zZ2lkICJieSAiCiBtc2dzdHIgInBvciAiCiAKLSM6IHZlcnNpb24uYzo4MTUKKyM6IHZlcnNpb24uYzo4MDYKIG1zZ2lkICIiCiAiXG4iCiAiSHVnZSB2ZXJzaW9uICIKQEAgLTYwMzAsNyArNjE0MCw3IEBACiAiXG4iCiAiVmVyc2nzbiCrZW5vcm1luyAiCiAKLSM6IHZlcnNpb24uYzo4MTgKKyM6IHZlcnNpb24uYzo4MDkKIG1zZ2lkICIiCiAiXG4iCiAiQmlnIHZlcnNpb24gIgpAQCAtNjAzOCw3ICs2MTQ4LDcgQEAKICJcbiIKICJWZXJzafNuIKtncmFuZGW7ICIKIAotIzogdmVyc2lvbi5jOjgyMQorIzogdmVyc2lvbi5jOjgxMgogbXNnaWQgIiIKICJcbiIKICJOb3JtYWwgdmVyc2lvbiAiCkBAIC02MDQ2LDcgKzYxNTYsNyBAQAogIlxuIgogIlZlcnNp824gq25vcm1hbLsgIgogCi0jOiB2ZXJzaW9uLmM6ODI0CisjOiB2ZXJzaW9uLmM6ODE1CiBtc2dpZCAiIgogIlxuIgogIlNtYWxsIHZlcnNpb24gIgpAQCAtNjA1NCw3ICs2MTY0LDcgQEAKICJcbiIKICJWZXJzafNuIKtwZXF1ZfFhuyAiCiAKLSM6IHZlcnNpb24uYzo4MjYKKyM6IHZlcnNpb24uYzo4MTcKIG1zZ2lkICIiCiAiXG4iCiAiVGlueSB2ZXJzaW9uICIKQEAgLTYwNjIsMjMzICs2MTcyLDIzNyBAQAogIlxuIgogIlZlcnNp824gq2RpbWludXRhuyAiCiAKLSM6IHZlcnNpb24uYzo4MzIKKyM6IHZlcnNpb24uYzo4MjMKIG1zZ2lkICJ3aXRob3V0IEdVSS4iCiBtc2dzdHIgInNpbiBHVUkuIgogCi0jOiB2ZXJzaW9uLmM6ODM3CisjOiB2ZXJzaW9uLmM6ODI4CiBtc2dpZCAid2l0aCBHVEsyLUdOT01FIEdVSS4iCiBtc2dzdHIgImNvbiBHVUkgR1RLMi1HTk9NRS4iCiAKLSM6IHZlcnNpb24uYzo4MzkKKyM6IHZlcnNpb24uYzo4MzAKIG1zZ2lkICJ3aXRoIEdUSy1HTk9NRSBHVUkuIgogbXNnc3RyICJjb24gR1VJIEdUSy1HTk9NRS4iCiAKLSM6IHZlcnNpb24uYzo4NDMKKyM6IHZlcnNpb24uYzo4MzQKIG1zZ2lkICJ3aXRoIEdUSzIgR1VJLiIKIG1zZ3N0ciAiY29uIEdVSSBHVEsyLiIKIAotIzogdmVyc2lvbi5jOjg0NQorIzogdmVyc2lvbi5jOjgzNgogbXNnaWQgIndpdGggR1RLIEdVSS4iCiBtc2dzdHIgImNvbiBHVUkgR1RLLiIKIAotIzogdmVyc2lvbi5jOjg1MAorIzogdmVyc2lvbi5jOjg0MQogbXNnaWQgIndpdGggWDExLU1vdGlmIEdVSS4iCiBtc2dzdHIgImNvbiBHVUkgWDExLU1vdGlmLiIKIAotIzogdmVyc2lvbi5jOjg1NAorIzogdmVyc2lvbi5jOjg0NQogbXNnaWQgIndpdGggWDExLW5lWHRhdyBHVUkuIgogbXNnc3RyICJjb24gR1VJIFgxMS1uZVh0YXcuIgogCi0jOiB2ZXJzaW9uLmM6ODU2CisjOiB2ZXJzaW9uLmM6ODQ3CiBtc2dpZCAid2l0aCBYMTEtQXRoZW5hIEdVSS4iCiBtc2dzdHIgImNvbiBHVUkgWDExLUF0aGVuYS4iCiAKLSM6IHZlcnNpb24uYzo4NjAKKyM6IHZlcnNpb24uYzo4NTEKIG1zZ2lkICJ3aXRoIEJlT1MgR1VJLiIKIG1zZ3N0ciAiY29uIEdVSSBwYXJhIEJlT1MuIgogCi0jOiB2ZXJzaW9uLmM6ODYzCisjOiB2ZXJzaW9uLmM6ODU0CiBtc2dpZCAid2l0aCBQaG90b24gR1VJLiIKIG1zZ3N0ciAiY29uIEdVSSBwYXJhIFBob3Rvbi4iCiAKLSM6IHZlcnNpb24uYzo4NjYKKyM6IHZlcnNpb24uYzo4NTcKIG1zZ2lkICJ3aXRoIEdVSS4iCiBtc2dzdHIgImNvbiBHVUkuIgogCi0jOiB2ZXJzaW9uLmM6ODY5CisjOiB2ZXJzaW9uLmM6ODYwCiBtc2dpZCAid2l0aCBDYXJib24gR1VJLiIKIG1zZ3N0ciAiY29uIENhcmJvbiBHVUkuIgogCi0jOiB2ZXJzaW9uLmM6ODcyCisjOiB2ZXJzaW9uLmM6ODYzCiBtc2dpZCAid2l0aCBDb2NvYSBHVUkuIgogbXNnc3RyICJjb24gQ29jb2EgR1VJLiIKIAotIzogdmVyc2lvbi5jOjg3NQorIzogdmVyc2lvbi5jOjg2NgogbXNnaWQgIndpdGggKGNsYXNzaWMpIEdVSS4iCiBtc2dzdHIgImNvbiBHVUkgKGNs4XNpY28pLiIKIAotIzogdmVyc2lvbi5jOjg4NgorIzogdmVyc2lvbi5jOjg2OQorbXNnaWQgIndpdGggS0RFIEdVSS4iCittc2dzdHIgImNvbiBHVUkgS0RFLiIKKworIzogdmVyc2lvbi5jOjg4MQogbXNnaWQgIiAgRmVhdHVyZXMgaW5jbHVkZWQgKCspIG9yIG5vdCAoLSk6XG4iCiBtc2dzdHIgIiAgQXNwZWN0b3MgaW5jbHVpZG9zICgrKSBvIG5vICgtKTpcbiIKIAotIzogdmVyc2lvbi5jOjg5OAorIzogdmVyc2lvbi5jOjg5MwogbXNnaWQgIiAgIHN5c3RlbSB2aW1yYyBmaWxlOiBcIiIKIG1zZ3N0ciAiICAgICBmaWNoZXJvIKt2aW1yY7sgZGVsIHNpc3RlbWE6IFwiIgogCi0jOiB2ZXJzaW9uLmM6OTAzCisjOiB2ZXJzaW9uLmM6ODk4CiBtc2dpZCAiICAgICB1c2VyIHZpbXJjIGZpbGU6IFwiIgogbXNnc3RyICIgICAgIGZpY2hlcm8gq3ZpbXJjuyBkZWwgdXN1YXJpbzogXCIiCiAKLSM6IHZlcnNpb24uYzo5MDgKKyM6IHZlcnNpb24uYzo5MDMKIG1zZ2lkICIgMm5kIHVzZXIgdmltcmMgZmlsZTogXCIiCiBtc2dzdHIgIiAgMrogZmljaGVybyCrdmltcmO7IGRlbCB1c3VhcmlvOiBcIiIKIAotIzogdmVyc2lvbi5jOjkxMworIzogdmVyc2lvbi5jOjkwOAogbXNnaWQgIiAzcmQgdXNlciB2aW1yYyBmaWxlOiBcIiIKIG1zZ3N0ciAiIDNlciBmaWNoZXJvIKt2aW1yY7sgZGVsIHVzdWFyaW86IFwiIgogCi0jOiB2ZXJzaW9uLmM6OTE4CisjOiB2ZXJzaW9uLmM6OTEzCiBtc2dpZCAiICAgICAgdXNlciBleHJjIGZpbGU6IFwiIgogbXNnc3RyICIgICAgICBmaWNoZXJvIKtleHJjuyBkZWwgdXN1YXJpbzogXCIiCiAKLSM6IHZlcnNpb24uYzo5MjMKKyM6IHZlcnNpb24uYzo5MTgKIG1zZ2lkICIgIDJuZCB1c2VyIGV4cmMgZmlsZTogXCIiCiBtc2dzdHIgIiAgIDK6IGZpY2hlcm8gq2V4cmO7IGRlbCB1c3VhcmlvOiBcIiIKIAotIzogdmVyc2lvbi5jOjkyOQorIzogdmVyc2lvbi5jOjkyNAogbXNnaWQgIiAgc3lzdGVtIGd2aW1yYyBmaWxlOiBcIiIKIG1zZ3N0ciAiICAgIGZpY2hlcm8gq2d2aW1yY7sgZGVsIHNpc3RlbWE6IFwiIgogCi0jOiB2ZXJzaW9uLmM6OTMzCisjOiB2ZXJzaW9uLmM6OTI4CiBtc2dpZCAiICAgIHVzZXIgZ3ZpbXJjIGZpbGU6IFwiIgogbXNnc3RyICIgICAgZmljaGVybyCrZ3ZpbXJjuyBkZWwgdXN1YXJpbzogXCIiCiAKLSM6IHZlcnNpb24uYzo5MzcKKyM6IHZlcnNpb24uYzo5MzIKIG1zZ2lkICIybmQgdXNlciBndmltcmMgZmlsZTogXCIiCiBtc2dzdHIgIiAyuiBmaWNoZXJvIKtndmltcmO7IGRlbCB1c3VhcmlvOiBcIiIKIAotIzogdmVyc2lvbi5jOjk0MgorIzogdmVyc2lvbi5jOjkzNwogbXNnaWQgIjNyZCB1c2VyIGd2aW1yYyBmaWxlOiBcIiIKIG1zZ3N0ciAiM2VyIGZpY2hlcm8gq2d2aW1yY7sgZGVsIHVzdWFyaW86IFwiIgogCi0jOiB2ZXJzaW9uLmM6OTQ5CisjOiB2ZXJzaW9uLmM6OTQ0CiBtc2dpZCAiICAgIHN5c3RlbSBtZW51IGZpbGU6IFwiIgogbXNnc3RyICIgICAgIGZpY2hlcm8gZGUgbWVu+iBkZWwgc2lzdGVtYTogXCIiCiAKLSM6IHZlcnNpb24uYzo5NTcKKyM6IHZlcnNpb24uYzo5NTIKIG1zZ2lkICIgIGZhbGwtYmFjayBmb3IgJFZJTTogXCIiCiBtc2dzdHIgIiAgICAgICAgICAgIGxvY2FsaXphY2nzbiBkZSAkVklNOiBcIiIKIAotIzogdmVyc2lvbi5jOjk2MworIzogdmVyc2lvbi5jOjk1OAogbXNnaWQgIiBmLWIgZm9yICRWSU1SVU5USU1FOiBcIiIKIG1zZ3N0ciAiICAgICBsb2NhbGl6YWNp824gZGUgJFZJTVJVTlRJTUU6IFwiIgogCi0jOiB2ZXJzaW9uLmM6OTY3CisjOiB2ZXJzaW9uLmM6OTYyCiBtc2dpZCAiQ29tcGlsYXRpb246ICIKIG1zZ3N0ciAiQ29tcGlsYWNp8246ICIKIAotIzogdmVyc2lvbi5jOjk3MworIzogdmVyc2lvbi5jOjk2OAogbXNnaWQgIkNvbXBpbGVyOiAiCiBtc2dzdHIgIkNvbXBpbGFkb3I6ICIKIAotIzogdmVyc2lvbi5jOjk3OAorIzogdmVyc2lvbi5jOjk3MwogbXNnaWQgIkxpbmtpbmc6ICIKIG1zZ3N0ciAiRW5sYXphZG86ICIKIAotIzogdmVyc2lvbi5jOjk4MworIzogdmVyc2lvbi5jOjk3OAogbXNnaWQgIiAgREVCVUcgQlVJTEQiCiBtc2dzdHIgIiAgQ09NUElMQUNJ004gQ09OIFPNTUJPTE9TIERFIERFUFVSQUNJ004iCiAKLSM6IHZlcnNpb24uYzoxMDIyCisjOiB2ZXJzaW9uLmM6MTAxNwogbXNnaWQgIlZJTSAtIFZpIElNcHJvdmVkIgogbXNnc3RyICJWSU0gLSBWSSBNZWpvcmFkbyIKIAotIzogdmVyc2lvbi5jOjEwMjQKKyM6IHZlcnNpb24uYzoxMDE5CiBtc2dpZCAidmVyc2lvbiAiCiBtc2dzdHIgInZlcnNp824gIgogCi0jOiB2ZXJzaW9uLmM6MTAyNQorIzogdmVyc2lvbi5jOjEwMjAKIG1zZ2lkICJieSBCcmFtIE1vb2xlbmFhciBldCBhbC4iCiBtc2dzdHIgInBvciBCcmFtIE1vb2xlbmFhciBldCBhbC4iCiAKLSM6IHZlcnNpb24uYzoxMDI5CisjOiB2ZXJzaW9uLmM6MTAyNAogbXNnaWQgIlZpbSBpcyBvcGVuIHNvdXJjZSBhbmQgZnJlZWx5IGRpc3RyaWJ1dGFibGUiCiBtc2dzdHIgIlZpbSBlcyBj82RpZ28gYWJpZXJ0byB5IHNlIHB1ZWRlIGRpc3RyaWJ1aXIgbGlicmVtZW50ZSIKIAotIzogdmVyc2lvbi5jOjEwMzEKKyM6IHZlcnNpb24uYzoxMDI2CiBtc2dpZCAiSGVscCBwb29yIGNoaWxkcmVuIGluIFVnYW5kYSEiCiBtc2dzdHIgIqFBeXVkZSBhIGxvcyBuafFvcyBwb2JyZXMgZGUgVWdhbmRhISIKIAotIzogdmVyc2lvbi5jOjEwMzIKKyM6IHZlcnNpb24uYzoxMDI3CiBtc2dpZCAidHlwZSAgOmhlbHAgaWNjZjxFbnRlcj4gICAgICAgZm9yIGluZm9ybWF0aW9uICIKIG1zZ3N0ciAiZXNjcmliYSAgqzpoZWxwIGljY2Y8SW50cm8+uyAgICBwYXJhIG3hcyBpbmZvcm1hY2nzbiAgIgogCi0jOiB2ZXJzaW9uLmM6MTAzNAorIzogdmVyc2lvbi5jOjEwMjkKIG1zZ2lkICJ0eXBlICA6cTxFbnRlcj4gICAgICAgICAgICAgICB0byBleGl0ICAgICAgICAgIgogbXNnc3RyICJlc2NyaWJhICCrOnE8SW50cm8+uyAgICAgICAgICAgIHBhcmEgc2FsaXIgICAgICAgICAgICAgIgogCi0jOiB2ZXJzaW9uLmM6MTAzNQorIzogdmVyc2lvbi5jOjEwMzAKIG1zZ2lkICJ0eXBlICA6aGVscDxFbnRlcj4gIG9yICA8RjE+ICBmb3Igb24tbGluZSBoZWxwIgogbXNnc3RyICJlc2NyaWJhICCrOmhlbHA8SW50cm8+IG8gPEYxPrsgIHBhcmEgb2J0ZW5lciBheXVkYSAgICAgIgogCi0jOiB2ZXJzaW9uLmM6MTAzNgorIzogdmVyc2lvbi5jOjEwMzEKIG1zZ2lkICJ0eXBlICA6aGVscCB2ZXJzaW9uNjxFbnRlcj4gICBmb3IgdmVyc2lvbiBpbmZvIgogbXNnc3RyICJlc2NyaWJhIKs6aGVscCB2ZXJzaW9uNjxJbnRybz67IHBhcmEgaW5mb3JtYWNp824gZGUgbGEgdmVyc2nzbiIKIAotIzogdmVyc2lvbi5jOjEwMzkKKyM6IHZlcnNpb24uYzoxMDM0CiBtc2dpZCAiUnVubmluZyBpbiBWaSBjb21wYXRpYmxlIG1vZGUiCiBtc2dzdHIgIkVqZWN1dGFuZG8gZW4gbW9kbyBjb21wYXRpYmxlIGNvbiBWaSIKIAotIzogdmVyc2lvbi5jOjEwNDAKKyM6IHZlcnNpb24uYzoxMDM1CiBtc2dpZCAidHlwZSAgOnNldCBub2NwPEVudGVyPiAgICAgICAgZm9yIFZpbSBkZWZhdWx0cyIKIG1zZ3N0ciAiZXNjcmliYSAgqzpzZXQgbm9jcDxJbnRybz67ICBwYXJhIGxvcyB2YWxvcmVzIHByZWRlZmluaWRvcyBkZSBWaW0iCiAKLSM6IHZlcnNpb24uYzoxMDQxCisjOiB2ZXJzaW9uLmM6MTAzNgogbXNnaWQgInR5cGUgIDpoZWxwIGNwLWRlZmF1bHQ8RW50ZXI+IGZvciBpbmZvIG9uIHRoaXMiCiBtc2dzdHIgImVzY3JpYmEgqzpoZWxwIGNwLWRlZmF1bHQ8SW50cm8+uyAgICAgICAgcGFyYSBt4XMgaW5mb3JtYWNp824iCiAKLSM6IHZlcnNpb24uYzoxMDU2CisjOiB2ZXJzaW9uLmM6MTA1MQogbXNnaWQgIm1lbnUgIEhlbHAtPk9ycGhhbnMgICAgICAgICAgIGZvciBpbmZvcm1hdGlvbiAgICAiCiBtc2dzdHIgIm1lbvogIEF5dWRhLT5BeXVkZSBhIGxvcyBuafFvcyBodelyZmFub3MgICAgICBwYXJhIG3hcyBpbmZvcm1hY2nzbiAiCiAKLSM6IHZlcnNpb24uYzoxMDU4CisjOiB2ZXJzaW9uLmM6MTA1MwogbXNnaWQgIlJ1bm5pbmcgbW9kZWxlc3MsIHR5cGVkIHRleHQgaXMgaW5zZXJ0ZWQiCiBtc2dzdHIgIkVqZWN1Y2nzbiBubyBtb2RhbCwgZWwgdGV4dG8gZXNjcml0byBzZSBpbnNlcnRhIGRpcmVjdGFtZW50ZSIKIAotIzogdmVyc2lvbi5jOjEwNTkKKyM6IHZlcnNpb24uYzoxMDU0CiBtc2dpZCAibWVudSAgRWRpdC0+R2xvYmFsIFNldHRpbmdzLT5Ub2dnbGUgSW5zZXJ0IE1vZGUgICIKIG1zZ3N0ciAibWVudSBFZGl0YXItPk9wY2lvbmVzIGdsb2JhbGVzLT5BY3RpdmFyL0Rlc2FjdGl2YXIgbW9kbyBkZSBpbnNlcmNp824iCiAKLSM6IHZlcnNpb24uYzoxMDYwCisjOiB2ZXJzaW9uLmM6MTA1NQogbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciB0d28gbW9kZXMgICAgICAiCiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhIGRvcyBtb2RvcyAgICAgIgogCi0jOiB2ZXJzaW9uLmM6MTA2NAorIzogdmVyc2lvbi5jOjEwNTkKIG1zZ2lkICJtZW51ICBFZGl0LT5HbG9iYWwgU2V0dGluZ3MtPlRvZ2dsZSBWaSBDb21wYXRpYmxlIgogbXNnc3RyICIiCiAibWVudSBFZGl0YXItPk9wY2lvbmVzIGdsb2JhbGVzLT5BY3RpdmFyL0Rlc2FjdGl2YXIgY29tcGF0aWJpbGlkYWQgY29uIFZpIgogCi0jOiB2ZXJzaW9uLmM6MTA2NQorIzogdmVyc2lvbi5jOjEwNjAKIG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgVmltIGRlZmF1bHRzICAgIgogbXNnc3RyICIiCiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYSBsb3MgdmFsb3JlcyBwcmVkZXRlcm1pbmFkb3MgZGUgVmltIgogCi0jOiB2ZXJzaW9uLmM6MTExMgorIzogdmVyc2lvbi5jOjExMDcKIG1zZ2lkICJTcG9uc29yIFZpbSBkZXZlbG9wbWVudCEiCiBtc2dzdHIgIqFQYXRyb2NpbmUgZWwgZGVzYXJyb2xsbyBkZSBWaW0hIgogCi0jOiB2ZXJzaW9uLmM6MTExMworIzogdmVyc2lvbi5jOjExMDgKIG1zZ2lkICJCZWNvbWUgYSByZWdpc3RlcmVkIFZpbSB1c2VyISIKIG1zZ3N0ciAioUNvbnZpZXJ0YXNlIGVuIHVuIHVzdWFyaW8gcmVnaXN0cmFkbyBkZSBWaW0hIgogCi0jOiB2ZXJzaW9uLmM6MTExNgorIzogdmVyc2lvbi5jOjExMTEKIG1zZ2lkICJ0eXBlICA6aGVscCBzcG9uc29yPEVudGVyPiAgICBmb3IgaW5mb3JtYXRpb24gIgogbXNnc3RyICJlc2NyaWJhICA6aGVscCBzcG9uc29yPEludHJvPiAgICAgcGFyYSBt4XMgaW5mb3JtYWNp824gICIKIAotIzogdmVyc2lvbi5jOjExMTcKKyM6IHZlcnNpb24uYzoxMTEyCiBtc2dpZCAidHlwZSAgOmhlbHAgcmVnaXN0ZXI8RW50ZXI+ICAgZm9yIGluZm9ybWF0aW9uICIKIG1zZ3N0ciAiZXNjcmliYSCrOmhlbHAgcmVnaXN0ZXI8SW50cm8+uyAgICBwYXJhIG3hcyBpbmZvcm1hY2nzbiAgIgogCi0jOiB2ZXJzaW9uLmM6MTExOQorIzogdmVyc2lvbi5jOjExMTQKIG1zZ2lkICJtZW51ICBIZWxwLT5TcG9uc29yL1JlZ2lzdGVyICBmb3IgaW5mb3JtYXRpb24gICAgIgogbXNnc3RyICJtZW51ICBBeXVkYS0+QmVuZWZhY3Rvci9SZWftc3RyZXNlICBwYXJhIG3hcyBpbmZvcm1hY2nzbi4iCiAKLSM6IHZlcnNpb24uYzoxMTI5CisjOiB2ZXJzaW9uLmM6MTEyNAogbXNnaWQgIldBUk5JTkc6IFdpbmRvd3MgOTUvOTgvTUUgZGV0ZWN0ZWQiCiBtc2dzdHIgIkFWSVNPOiBzZSBoYSBkZXRlY3RhZG8gV2luZG93cyA5NS85OC9NRSIKIAotIzogdmVyc2lvbi5jOjExMzIKKyM6IHZlcnNpb24uYzoxMTI3CiBtc2dpZCAidHlwZSAgOmhlbHAgd2luZG93czk1PEVudGVyPiAgZm9yIGluZm8gb24gdGhpcyIKIG1zZ3N0ciAiZXNjcmliYTogqzpoZWxwIHdpbmRvd3M5NTxJbnRybz67IHBhcmEgbeFzIGluZm9ybWFjafNuIgogCkBAIC02MzE2LDE2ICs2NDMwLDE2IEBACiBtc2dpZCAiRTQ0NTogT3RoZXIgd2luZG93IGNvbnRhaW5zIGNoYW5nZXMiCiBtc2dzdHIgIkU0NDU6IE90cmEgdmVudGFuYSBjb250aWVuZSBjYW1iaW9zLiIKIAotIzogd2luZG93LmM6NDQ4MAorIzogd2luZG93LmM6NDQ4NAogbXNnaWQgIkU0NDY6IE5vIGZpbGUgbmFtZSB1bmRlciBjdXJzb3IiCiBtc2dzdHIgIkU0NDY6IE5vIGhheSB1biBub21icmUgZGUgZmljaGVybyBiYWpvIGVsIGN1cnNvciIKIAotIzogd2luZG93LmM6NDU5OQorIzogd2luZG93LmM6NDYwMwogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDQ3OiBDYW4ndCBmaW5kIGZpbGUgXCIlc1wiIGluIHBhdGgiCiBtc2dzdHIgIkU0NDc6IE5vIHNlIHB1ZWRlIGVuY29udHJhciBlbCBmaWNoZXJvIKslc7sgZW4gbGEgcnV0YSIKIAotIzogaWZfcGVybC54czozMjYgZ2xvYmFscy5oOjEyNDEKKyM6IGlmX3BlcmwueHM6MzI2IGdsb2JhbHMuaDoxMjc0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzNzA6IENvdWxkIG5vdCBsb2FkIGxpYnJhcnkgJXMiCiBtc2dzdHIgIkUzNzA6IE5vIHNlIHB1ZG8gY2FyZ2FyIGxhIGJpYmxpb3RlY2EgZGlu4W1pY2EgJXMuIgpAQCAtNjM4MCw3ICs2NDk0LDcgQEAKIG1zZ2lkICJQYXRoIGxlbmd0aCB0b28gbG9uZyEiCiBtc2dzdHIgIqFMYSBydXRhIGRlIGFjY2VzbyBlcyBkZW1hc2lhZG8gbGFyZ2EhIgogCi0jOiBnbG9iYWxzLmg6MTAzMQorIzogZ2xvYmFscy5oOjEwMzYKIG1zZ2lkICItLU5vIGxpbmVzIGluIGJ1ZmZlci0tIgogbXNnc3RyICItLU5vIGhheSBs7W5lYXMgZW4gZWwgYnVmZmVyLS0iCiAKQEAgLTYzOTAsMzk1ICs2NTA0LDM5NSBAQAogIy4gKiBUaGUgZXJyb3IgbWVzc2FnZXMgdGhhdCBjYW4gYmUgc2hhcmVkIGFyZSBpbmNsdWRlZCBoZXJlLgogIy4gKiBFeGNsdWRlZCBhcmUgZXJyb3JzIHRoYXQgYXJlIG9ubHkgdXNlZCBvbmNlIGFuZCBkZWJ1Z2dpbmcgbWVzc2FnZXMuCiAjLgotIzogZ2xvYmFscy5oOjExOTQKKyM6IGdsb2JhbHMuaDoxMjI3CiBtc2dpZCAiRTQ3MDogQ29tbWFuZCBhYm9ydGVkIgogbXNnc3RyICJFNDcwOiBFbCBjb21hbmRvIGFib3J08y4iCiAKLSM6IGdsb2JhbHMuaDoxMTk1CisjOiBnbG9iYWxzLmg6MTIyOAogbXNnaWQgIkU0NzE6IEFyZ3VtZW50IHJlcXVpcmVkIgogbXNnc3RyICJFNDcxOiBTZSByZXF1aWVyZSB1biBhcmd1bWVudG8uIgogCi0jOiBnbG9iYWxzLmg6MTE5NgorIzogZ2xvYmFscy5oOjEyMjkKIG1zZ2lkICJFMTA6IFxcIHNob3VsZCBiZSBmb2xsb3dlZCBieSAvLCA/IG9yICYiCiBtc2dzdHIgIkUxMDogXFwgZGViZXLtYSBpciBzZWd1aWRvIGRlIC8sID8gbyAmLiIKIAotIzogZ2xvYmFscy5oOjExOTgKKyM6IGdsb2JhbHMuaDoxMjMxCiBtc2dpZCAiRTExOiBJbnZhbGlkIGluIGNvbW1hbmQtbGluZSB3aW5kb3c7IDxDUj4gZXhlY3V0ZXMsIENUUkwtQyBxdWl0cyIKIG1zZ3N0ciAiIgogIkUxMTogTm8gZXMgduFsaWRvIGVuIGxhIHZlbnRhbmEgZGUgbGEgbO1uZWEgZGUgY29tYW5kb3M6IDxDUj4gZWplY3V0YSwgQ1RSTC0iCiAiQyBzYWxlLiIKIAotIzogZ2xvYmFscy5oOjEyMDAKKyM6IGdsb2JhbHMuaDoxMjMzCiBtc2dpZCAiRTEyOiBDb21tYW5kIG5vdCBhbGxvd2VkIGZyb20gZXhyYy92aW1yYyBpbiBjdXJyZW50IGRpciBvciB0YWcgc2VhcmNoIgogbXNnc3RyICIiCiAiRTEyOiBDb21hbmRvIG5vIHBlcm1pdGlkbyBkZXNkZSBleHJjL3ZpbXJjIGVuIGVsIGRpciBlbiBjdXJzbyBvIGFsIGJ1c2NhciAiCiAiq3RhZ3O7IgogCi0jOiBnbG9iYWxzLmg6MTIwMgorIzogZ2xvYmFscy5oOjEyMzUKIG1zZ2lkICJFMTcxOiBNaXNzaW5nIDplbmRpZiIKIG1zZ3N0ciAiRTE3MTogRmFsdGEgqzplbmRpZrsiCiAKLSM6IGdsb2JhbHMuaDoxMjAzCisjOiBnbG9iYWxzLmg6MTIzNgogbXNnaWQgIkU2MDA6IE1pc3NpbmcgOmVuZHRyeSIKIG1zZ3N0ciAiRTYwMDogRmFsdGEgqzplbmR0cnm7IgogCi0jOiBnbG9iYWxzLmg6MTIwNAorIzogZ2xvYmFscy5oOjEyMzcKIG1zZ2lkICJFMTcwOiBNaXNzaW5nIDplbmR3aGlsZSIKIG1zZ3N0ciAiRTE3MDogRmFsdGEgqzplbmR3aGlsZbsiCiAKLSM6IGdsb2JhbHMuaDoxMjA1CisjOiBnbG9iYWxzLmg6MTIzOAogbXNnaWQgIkU1ODg6IDplbmR3aGlsZSB3aXRob3V0IDp3aGlsZSIKIG1zZ3N0ciAiRTU4ODogqzplbmR3aGlsZbsgc2luIKs6d2hpbGW7LiIKIAotIzogZ2xvYmFscy5oOjEyMDcKKyM6IGdsb2JhbHMuaDoxMjQwCiBtc2dpZCAiRTEzOiBGaWxlIGV4aXN0cyAoYWRkICEgdG8gb3ZlcnJpZGUpIgogbXNnc3RyICJFMTM6IEVsIGZpY2hlcm8geWEgZXhpc3RlICh1c2UgISBwYXJhIHNvYnJlZXNjcmliaXIpIgogCi0jOiBnbG9iYWxzLmg6MTIwOAorIzogZ2xvYmFscy5oOjEyNDEKIG1zZ2lkICJFNDcyOiBDb21tYW5kIGZhaWxlZCIKIG1zZ3N0ciAiRTQ3MjogRmFsbPMgZWwgY29tYW5kbyIKIAotIzogZ2xvYmFscy5oOjEyMTAKKyM6IGdsb2JhbHMuaDoxMjQzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMzQ6IFVua25vd24gZm9udHNldDogJXMiCiBtc2dzdHIgIkUyMzQ6IENvbmp1bnRvIGRlIGZ1ZW50ZXMgZGUgaW1wcmVzafNuIGRlc2Nvbm9jaWRvOiAlcyIKIAotIzogZ2xvYmFscy5oOjEyMTQKKyM6IGdsb2JhbHMuaDoxMjQ3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyMzU6IFVua25vd24gZm9udDogJXMiCiBtc2dzdHIgIkUyMzU6IEZ1ZW50ZSBkZSBpbXByZXNp824gZGVzY29ub2NpZGE6ICVzIgogCi0jOiBnbG9iYWxzLmg6MTIxNworIzogZ2xvYmFscy5oOjEyNTAKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTIzNjogRm9udCBcIiVzXCIgaXMgbm90IGZpeGVkLXdpZHRoIgogbXNnc3RyICJFMjM2OiBMYSBmdWVudGUgZGUgaW1wcmVzafNuIKslc7sgbm8gZXMgZGUgYW5jaG8gZmlqbyIKIAotIzogZ2xvYmFscy5oOjEyMTkKKyM6IGdsb2JhbHMuaDoxMjUyCiBtc2dpZCAiRTQ3MzogSW50ZXJuYWwgZXJyb3IiCiBtc2dzdHIgIkU0NzM6IEVycm9yIGludGVybm8uIgogCi0jOiBnbG9iYWxzLmg6MTIyMAorIzogZ2xvYmFscy5oOjEyNTMKIG1zZ2lkICJJbnRlcnJ1cHRlZCIKIG1zZ3N0ciAiSW50ZXJydW1waWRvIgogCi0jOiBnbG9iYWxzLmg6MTIyMQorIzogZ2xvYmFscy5oOjEyNTQKIG1zZ2lkICJFMTQ6IEludmFsaWQgYWRkcmVzcyIKIG1zZ3N0ciAiRTE0OiBEaXJlY2Np824gbm8gduFsaWRhIgogCi0jOiBnbG9iYWxzLmg6MTIyMgorIzogZ2xvYmFscy5oOjEyNTUKIG1zZ2lkICJFNDc0OiBJbnZhbGlkIGFyZ3VtZW50IgogbXNnc3RyICJFNDc0OiBhcmd1bWVudG8gbm8gduFsaWRvIgogCi0jOiBnbG9iYWxzLmg6MTIyMworIzogZ2xvYmFscy5oOjEyNTYKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQ3NTogSW52YWxpZCBhcmd1bWVudDogJXMiCiBtc2dzdHIgIkU0NzU6IEFyZ3VtZW50byBubyB24WxpZG86ICVzLiIKIAotIzogZ2xvYmFscy5oOjEyMjUKKyM6IGdsb2JhbHMuaDoxMjU4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUxNTogSW52YWxpZCBleHByZXNzaW9uOiAlcyIKIG1zZ3N0ciAiRTE1OiBFeHByZXNp824gbm8gduFsaWRhOiAlcyIKIAotIzogZ2xvYmFscy5oOjEyMjcKKyM6IGdsb2JhbHMuaDoxMjYwCiBtc2dpZCAiRTE2OiBJbnZhbGlkIHJhbmdlIgogbXNnc3RyICJFMTY6IFJhbmdvIG5vIHbhbGlkbyIKIAotIzogZ2xvYmFscy5oOjEyMjgKKyM6IGdsb2JhbHMuaDoxMjYxCiBtc2dpZCAiRTQ3NjogSW52YWxpZCBjb21tYW5kIgogbXNnc3RyICJFNDc2OiBOb21icmUgZGUgY29tYW5kbyBubyB24WxpZG8iCiAKLSM6IGdsb2JhbHMuaDoxMjMwCisjOiBnbG9iYWxzLmg6MTI2MwogIywgYy1mb3JtYXQKIG1zZ2lkICJFMTc6IFwiJXNcIiBpcyBhIGRpcmVjdG9yeSIKIG1zZ3N0ciAiRTE3OiCrJXO7IGVzIHVuIGRpcmVjdG9yaW8iCiAKLSM6IGdsb2JhbHMuaDoxMjMzCisjOiBnbG9iYWxzLmg6MTI2NgogbXNnaWQgIkUxODogVW5leHBlY3RlZCBjaGFyYWN0ZXJzIGJlZm9yZSAnPSciCiBtc2dzdHIgIkUxODogQ2FyYWN0ZXJlcyBpbmVzcGVyYWRvcyBkZWxhbnRlIGRlIKs9uyIKIAotIzogZ2xvYmFscy5oOjEyMzYKKyM6IGdsb2JhbHMuaDoxMjY5CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUzNjQ6IExpYnJhcnkgY2FsbCBmYWlsZWQgZm9yIFwiJXMoKVwiIgogbXNnc3RyICJFMzY0OiBGYWxs8yBsYSBsbGFtYWRhIGEgYmlibGlvdGVjYSBwYXJhIKslc7soKSIKIAotIzogZ2xvYmFscy5oOjEyNDIKKyM6IGdsb2JhbHMuaDoxMjc1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0NDg6IENvdWxkIG5vdCBsb2FkIGxpYnJhcnkgZnVuY3Rpb24gJXMiCiBtc2dzdHIgIkU0NDg6IENvdWxkIG5vdCBsb2FkIGxpYnJhcnkgZnVuY3Rpb24gJXMiCiAKLSM6IGdsb2JhbHMuaDoxMjQ0CisjOiBnbG9iYWxzLmg6MTI3NwogbXNnaWQgIkUxOTogTWFyayBoYXMgaW52YWxpZCBsaW5lIG51bWJlciIKIG1zZ3N0ciAiRTE5OiBMYSBtYXJjYSB0aWVuZSB1biBu+m1lcm8gZGUgbO1uZWEgbm8gduFsaWRvIgogCi0jOiBnbG9iYWxzLmg6MTI0NQorIzogZ2xvYmFscy5oOjEyNzgKIG1zZ2lkICJFMjA6IE1hcmsgbm90IHNldCIKIG1zZ3N0ciAiRTIwOiBNYXJjYSBzaW4gcG9uZXIiCiAKLSM6IGdsb2JhbHMuaDoxMjQ2CisjOiBnbG9iYWxzLmg6MTI3OQogbXNnaWQgIkUyMTogQ2Fubm90IG1ha2UgY2hhbmdlcywgJ21vZGlmaWFibGUnIGlzIG9mZiIKIG1zZ3N0ciAiRTIxOiBObyBzZSBwdWVkZW4gaGFjZXIgY2FtYmlvcywgq21vZGlmaWFibGW7IGVzdOEgZGVzYWN0aXZhZG8iCiAKLSM6IGdsb2JhbHMuaDoxMjQ3CisjOiBnbG9iYWxzLmg6MTI4MAogbXNnaWQgIkUyMjogU2NyaXB0cyBuZXN0ZWQgdG9vIGRlZXAiCiBtc2dzdHIgIkUyMjogRGVtYXNpYWRvcyCrc2NyaXB0c7sgYW5pZGFkb3MiCiAKLSM6IGdsb2JhbHMuaDoxMjQ4CisjOiBnbG9iYWxzLmg6MTI4MQogbXNnaWQgIkUyMzogTm8gYWx0ZXJuYXRlIGZpbGUiCiBtc2dzdHIgIkUyMzogTm8gaGF5IHVuIGZpY2hlcm8gYWx0ZXJuYXRpdm8iCiAKLSM6IGdsb2JhbHMuaDoxMjQ5CisjOiBnbG9iYWxzLmg6MTI4MgogbXNnaWQgIkUyNDogTm8gc3VjaCBhYmJyZXZpYXRpb24iCiBtc2dzdHIgIkUyNDogVGFsIGFicmV2aWF0dXJhIG5vIGV4aXN0ZSIKIAotIzogZ2xvYmFscy5oOjEyNTAKKyM6IGdsb2JhbHMuaDoxMjgzCiBtc2dpZCAiRTQ3NzogTm8gISBhbGxvd2VkIgogbXNnc3RyICJFNDc3OiCrIbsgbm8gZXN04SBwZXJtaXRpZG8uIgogCi0jOiBnbG9iYWxzLmg6MTI1MgorIzogZ2xvYmFscy5oOjEyODUKIG1zZ2lkICJFMjU6IEdVSSBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lIgogbXNnc3RyICJFMjU6IE5vIHNlIHB1ZWRlIHVzYXIgZWwgR1VJOiBubyBzZSBoYSBhY3RpdmFkbyBhbCBjb21waWxhci4iCiAKLSM6IGdsb2JhbHMuaDoxMjU1CisjOiBnbG9iYWxzLmg6MTI4OAogbXNnaWQgIkUyNjogSGVicmV3IGNhbm5vdCBiZSB1c2VkOiBOb3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWVcbiIKIG1zZ3N0ciAiRTI2OiBObyBzZSBwdWVkZSB1c2FyIGVsIGhlYnJlbzogbm8gc2UgaGEgYWN0aXZhZG8gYWwgY29tcGlsYXJcbiIKIAotIzogZ2xvYmFscy5oOjEyNTgKKyM6IGdsb2JhbHMuaDoxMjkxCiBtc2dpZCAiRTI3OiBGYXJzaSBjYW5ub3QgYmUgdXNlZDogTm90IGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lXG4iCiBtc2dzdHIgIiIKICJFMjc6IE5vIHNlIHB1ZWRlIHVzYXIgZWwgcGVyc2EgKGZhcnNpKTogbm8gc2UgaGEgYWN0aXZhZG8gYWwgY29tcGlsYXJcbiIKIAotIzogZ2xvYmFscy5oOjEyNjEKKyM6IGdsb2JhbHMuaDoxMjk0CiBtc2dpZCAiRTgwMDogQXJhYmljIGNhbm5vdCBiZSB1c2VkOiBOb3QgZW5hYmxlZCBhdCBjb21waWxlIHRpbWVcbiIKIG1zZ3N0ciAiRTgwMDogTm8gc2UgcHVlZGUgdXNhciBlbCDhcmFiZTogbm8gc2UgaGEgYWN0aXZhZG8gYWwgY29tcGlsYXJcbiIKIAotIzogZ2xvYmFscy5oOjEyNjQKKyM6IGdsb2JhbHMuaDoxMjk3CiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyODogTm8gc3VjaCBoaWdobGlnaHQgZ3JvdXAgbmFtZTogJXMiCiBtc2dzdHIgIkUyODogTm8gZXhpc3RlIGVsIGdydXBvIGRlIHJlYWx6YWRvIGNvbiBlc2Ugbm9tYnJlOiAlcyIKIAotIzogZ2xvYmFscy5oOjEyNjYKKyM6IGdsb2JhbHMuaDoxMjk5CiBtc2dpZCAiRTI5OiBObyBpbnNlcnRlZCB0ZXh0IHlldCIKIG1zZ3N0ciAiRTI5OiBB+m4gbm8gaGEgaW5zZXJ0YWRvIHRleHRvLiIKIAotIzogZ2xvYmFscy5oOjEyNjcKKyM6IGdsb2JhbHMuaDoxMzAwCiBtc2dpZCAiRTMwOiBObyBwcmV2aW91cyBjb21tYW5kIGxpbmUiCiBtc2dzdHIgIkUzMDogTm8gaGF5IHVuYSBs7W5lYSBkZSBjb21hbmRvcyBwcmV2aWEiCiAKLSM6IGdsb2JhbHMuaDoxMjY4CisjOiBnbG9iYWxzLmg6MTMwMQogbXNnaWQgIkUzMTogTm8gc3VjaCBtYXBwaW5nIgogbXNnc3RyICJFMzE6IE5vIGV4aXN0ZSB0YWwgYXNvY2lhY2nzbi4iCiAKLSM6IGdsb2JhbHMuaDoxMjY5CisjOiBnbG9iYWxzLmg6MTMwMgogbXNnaWQgIkU0Nzk6IE5vIG1hdGNoIgogbXNnc3RyICJFNDc5OiBObyBoYXkgY29pbmNpZGVuY2lhLiIKIAotIzogZ2xvYmFscy5oOjEyNzAKKyM6IGdsb2JhbHMuaDoxMzAzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0ODA6IE5vIG1hdGNoOiAlcyIKIG1zZ3N0ciAiRTQ4MDogTm8gY29pbmNpZGU6ICVzIgogCi0jOiBnbG9iYWxzLmg6MTI3MQorIzogZ2xvYmFscy5oOjEzMDQKIG1zZ2lkICJFMzI6IE5vIGZpbGUgbmFtZSIKIG1zZ3N0ciAiRTMyOiBObyBoYXkgdW4gbm9tYnJlIGRlIGZpY2hlcm8uIgogCi0jOiBnbG9iYWxzLmg6MTI3MgorIzogZ2xvYmFscy5oOjEzMDUKIG1zZ2lkICJFMzM6IE5vIHByZXZpb3VzIHN1YnN0aXR1dGUgcmVndWxhciBleHByZXNzaW9uIgogbXNnc3RyICJFMzM6IE5vIGV4aXN0ZSB1bmEgZXhwcmVzafNuIHJlZ3VsYXIgZGUgc3VzdGl0dWNp824gcHJldmlhLiIKIAotIzogZ2xvYmFscy5oOjEyNzMKKyM6IGdsb2JhbHMuaDoxMzA2CiBtc2dpZCAiRTM0OiBObyBwcmV2aW91cyBjb21tYW5kIgogbXNnc3RyICJFMzQ6IE5vIGV4aXN0ZSB1biBjb21hbmRvIHByZXZpby4iCiAKLSM6IGdsb2JhbHMuaDoxMjc0CisjOiBnbG9iYWxzLmg6MTMwNwogbXNnaWQgIkUzNTogTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgogbXNnc3RyICJFMzU6IE5vIGV4aXN0ZSB1bmEgZXhwcmVzafNuIHJlZ3VsYXIgcHJldmlhLiIKIAotIzogZ2xvYmFscy5oOjEyNzUKKyM6IGdsb2JhbHMuaDoxMzA4CiBtc2dpZCAiRTQ4MTogTm8gcmFuZ2UgYWxsb3dlZCIKIG1zZ3N0ciAiRTQ4MTogRWwgcmFuZ28gbm8gZXN04SBwZXJtaXRpZG8uIgogCi0jOiBnbG9iYWxzLmg6MTI3NworIzogZ2xvYmFscy5oOjEzMTAKIG1zZ2lkICJFMzY6IE5vdCBlbm91Z2ggcm9vbSIKIG1zZ3N0ciAiRTM2OiBObyBoYXkgZXNwYWNpbyBzdWZpY2llbnRlLiIKIAotIzogZ2xvYmFscy5oOjEyODAKKyM6IGdsb2JhbHMuaDoxMzEzCiAjLCBjLWZvcm1hdAogbXNnaWQgIkUyNDc6IG5vIHJlZ2lzdGVyZWQgc2VydmVyIG5hbWVkIFwiJXNcIiIKIG1zZ3N0ciAiRTI0NzogRWwgc2Vydmlkb3IgqyVzuyBubyBlc3ThIHJlZ2lzdHJhZG8uIgogCi0jOiBnbG9iYWxzLmg6MTI4MgorIzogZ2xvYmFscy5oOjEzMTUKICMsIGMtZm9ybWF0CiBtc2dpZCAiRTQ4MjogQ2FuJ3QgY3JlYXRlIGZpbGUgJXMiCiBtc2dzdHIgIkU0ODI6IE5vIHNlIHB1ZWRlIGNyZWFyIGVsIGZpY2hlcm8gqyVzuyIKIAotIzogZ2xvYmFscy5oOjEyODMKKyM6IGdsb2JhbHMuaDoxMzE2CiBtc2dpZCAiRTQ4MzogQ2FuJ3QgZ2V0IHRlbXAgZmlsZSBuYW1lIgogbXNnc3RyICJFNDgzOiBObyBwdWVkbyBvYnRlbmVyIGVsIG5vbWJyZSBkZWwgZmljaGVybyB0ZW1wb3JhbC4iCiAKLSM6IGdsb2JhbHMuaDoxMjg0CisjOiBnbG9iYWxzLmg6MTMxNwogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDg0OiBDYW4ndCBvcGVuIGZpbGUgJXMiCiBtc2dzdHIgIkU0ODQ6IE5vIHB1ZWRvIGFicmlyIGVsIGZpY2hlcm8gqyVzuyIKIAotIzogZ2xvYmFscy5oOjEyODUKKyM6IGdsb2JhbHMuaDoxMzE4CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0ODU6IENhbid0IHJlYWQgZmlsZSAlcyIKIG1zZ3N0ciAiRTQ4NTogTm8gcHVlZG8gbGVlciBlbCBmaWNoZXJvIKslc7suIgogCi0jOiBnbG9iYWxzLmg6MTI4NgorIzogZ2xvYmFscy5oOjEzMTkKIG1zZ2lkICJFMzc6IE5vIHdyaXRlIHNpbmNlIGxhc3QgY2hhbmdlIChhZGQgISB0byBvdmVycmlkZSkiCiBtc2dzdHIgIiIKICJFMzc6IE5vIHNlIGhhIGd1YXJkYWRvIGVsIGZpY2hlcm8gZGVzZGUgZWwg+mx0aW1vIGNhbWJpbyAoYfFhZGEgISBwYXJhICIKICJmb3J6YXIpLiIKIAotIzogZ2xvYmFscy5oOjEyODcKKyM6IGdsb2JhbHMuaDoxMzIwCiBtc2dpZCAiRTM4OiBOdWxsIGFyZ3VtZW50IgogbXNnc3RyICJFMzg6IEFyZ3VtZW50byBudWxvLiIKIAotIzogZ2xvYmFscy5oOjEyODkKKyM6IGdsb2JhbHMuaDoxMzIyCiBtc2dpZCAiRTM5OiBOdW1iZXIgZXhwZWN0ZWQiCiBtc2dzdHIgIkUzOTogRXNwZXJhYmEgdW4gbvptZXJvLiIKIAotIzogZ2xvYmFscy5oOjEyOTIKKyM6IGdsb2JhbHMuaDoxMzI1CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0MDogQ2FuJ3Qgb3BlbiBlcnJvcmZpbGUgJXMiCiBtc2dzdHIgIkU0MDogTm8gcHVlZG8gYWJyaXIgZWwgZmljaGVybyBkZSBlcnJvcmVzICVzLiIKIAotIzogZ2xvYmFscy5oOjEyOTUKKyM6IGdsb2JhbHMuaDoxMzI4CiBtc2dpZCAiRTIzMzogY2Fubm90IG9wZW4gZGlzcGxheSIKIG1zZ3N0ciAiRTIzMzogTm8gc2UgcHVlZGUgYWJyaXIgbGEgcGFudGFsbGEuIgogCi0jOiBnbG9iYWxzLmg6MTI5NworIzogZ2xvYmFscy5oOjEzMzAKIG1zZ2lkICJFNDE6IE91dCBvZiBtZW1vcnkhIgogbXNnc3RyICJFNDE6IKFNZW1vcmlhIGFnb3RhZGEhIgogCi0jOiBnbG9iYWxzLmg6MTI5OQorIzogZ2xvYmFscy5oOjEzMzIKIG1zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKIG1zZ3N0ciAiTm8gc2UgZW5jb250cvMgZWwgcGF0cvNuIGRlIGL6c3F1ZWRhLiIKIAotIzogZ2xvYmFscy5oOjEzMDEKKyM6IGdsb2JhbHMuaDoxMzM0CiAjLCBjLWZvcm1hdAogbXNnaWQgIkU0ODY6IFBhdHRlcm4gbm90IGZvdW5kOiAlcyIKIG1zZ3N0ciAiRTQ4NjogTm8gc2UgZW5jb250cvMgZWwgcGF0cvNuIGRlIGL6c3F1ZWRhOiAlcyIKIAotIzogZ2xvYmFscy5oOjEzMDIKKyM6IGdsb2JhbHMuaDoxMzM1CiBtc2dpZCAiRTQ4NzogQXJndW1lbnQgbXVzdCBiZSBwb3NpdGl2ZSIKIG1zZ3N0ciAiRTQ4NzogRWwgYXJndW1lbnRvIGRlYmUgc2VyIHBvc2l0aXZvLiIKIAotIzogZ2xvYmFscy5oOjEzMDQKKyM6IGdsb2JhbHMuaDoxMzM3CiBtc2dpZCAiRTQ1OTogQ2Fubm90IGdvIGJhY2sgdG8gcHJldmlvdXMgZGlyZWN0b3J5IgogbXNnc3RyICJFNDU5OiBObyBwdWVkbyByZWdyZXNhciBhbCBkaXJlY3RvcmlvIHByZXZpby4iCiAKLSM6IGdsb2JhbHMuaDoxMzA4CisjOiBnbG9iYWxzLmg6MTM0MQogbXNnaWQgIkU0MjogTm8gRXJyb3JzIgogbXNnc3RyICJFNDI6IE5vIGhheSBlcnJvcmVzIgogCi0jOiBnbG9iYWxzLmg6MTMxMAorIzogZ2xvYmFscy5oOjEzNDMKIG1zZ2lkICJFNDM6IERhbWFnZWQgbWF0Y2ggc3RyaW5nIgogbXNnc3RyICJFNDM6IENhZGVuYSBkZSBjb25jaWRlbmNpYSBkYfFhZGEuIgogCi0jOiBnbG9iYWxzLmg6MTMxMQorIzogZ2xvYmFscy5oOjEzNDQKIG1zZ2lkICJFNDQ6IENvcnJ1cHRlZCByZWdleHAgcHJvZ3JhbSIKIG1zZ3N0ciAiRTQ0OiBFbCBwcm9ncmFtYSCrcmVnZXhwuyBlc3ThIGNvcnJ1cHRvLiIKIAotIzogZ2xvYmFscy5oOjEzMTIKKyM6IGdsb2JhbHMuaDoxMzQ1CiBtc2dpZCAiRTQ1OiAncmVhZG9ubHknIG9wdGlvbiBpcyBzZXQgKGFkZCAhIHRvIG92ZXJyaWRlKSIKIG1zZ3N0ciAiRTQ1OiBFc3ThIGFjdGl2YSBsYSBvcGNp824gq3JlYWRvbmx5uyAoYfFhZGEgqyG7IHBhcmEgZm9yemFyKS4iCiAKLSM6IGdsb2JhbHMuaDoxMzE0CisjOiBnbG9iYWxzLmg6MTM0NwogIywgYy1mb3JtYXQKIG1zZ2lkICJFNDY6IENhbm5vdCBzZXQgcmVhZC1vbmx5IHZhcmlhYmxlIFwiJXNcIiIKIG1zZ3N0ciAiRTQ2OiBObyBzZSBwdWVkZSBkZWZpbmlyIGxhIHZhcmlhYmxlIGRlIHPzbG8gbGVjdHVyYSCrJXO7LiIKIAotIzogZ2xvYmFscy5oOjEzMTcKKyM6IGdsb2JhbHMuaDoxMzUwCiBtc2dpZCAiRTQ3OiBFcnJvciB3aGlsZSByZWFkaW5nIGVycm9yZmlsZSIKIG1zZ3N0ciAiRTQ3OiBFcnJvciBhbCBsZWVyIGVsIGZpY2hlcm8gZGUgZXJyb3Jlcy4iCiAKLSM6IGdsb2JhbHMuaDoxMzIwCisjOiBnbG9iYWxzLmg6MTM1MwogbXNnaWQgIkU0ODogTm90IGFsbG93ZWQgaW4gc2FuZGJveCIKIG1zZ3N0ciAiRTQ4OiBObyBzZSBwZXJtaXRlIGVuIGVsIGFtYmllbnRlIHByb3RlZ2lkby4iCiAKLSM6IGdsb2JhbHMuaDoxMzIyCisjOiBnbG9iYWxzLmg6MTM1NQogbXNnaWQgIkU1MjM6IE5vdCBhbGxvd2VkIGhlcmUiCiBtc2dzdHIgIkU1MjM6IE5vIHNlIHBlcm1pdGUgYXF17S4iCiAKLSM6IGdsb2JhbHMuaDoxMzI1CisjOiBnbG9iYWxzLmg6MTM1OAogbXNnaWQgIkUzNTk6IFNjcmVlbiBtb2RlIHNldHRpbmcgbm90IHN1cHBvcnRlZCIKIG1zZ3N0ciAiRTM1OTogTGEgY29uZmlndXJhY2nzbiBkZSBsYSBwYW50YWxsYSBubyBlcyB24WxpZGEuIgogCi0jOiBnbG9iYWxzLmg6MTMyNworIzogZ2xvYmFscy5oOjEzNjAKIG1zZ2lkICJFNDk6IEludmFsaWQgc2Nyb2xsIHNpemUiCiBtc2dzdHIgIkU0OTogRWwgdGFtYfFvIGRlIGRlc3BsYXphbWllbnRvIG5vIHbhbGlkby4iCiAKLSM6IGdsb2JhbHMuaDoxMzI4CisjOiBnbG9iYWxzLmg6MTM2MQogbXNnaWQgIkU5MTogJ3NoZWxsJyBvcHRpb24gaXMgZW1wdHkiCiBtc2dzdHIgIkU5MTogTGEgb3BjafNuIKtzaGVsbLsgZXN04SB2YWPtYS4iCiAKLSM6IGdsb2JhbHMuaDoxMzMwCisjOiBnbG9iYWxzLmg6MTM2MwogbXNnaWQgIkUyNTU6IENvdWxkbid0IHJlYWQgaW4gc2lnbiBkYXRhISIKIG1zZ3N0ciAiRTI1NTogoU5vIHNlIHB1ZG8gbGVlciBsb3MgZGF0b3MgZGUgbG9zIHNpZ25vcyEiCiAKLSM6IGdsb2JhbHMuaDoxMzMyCisjOiBnbG9iYWxzLmg6MTM2NQogbXNnaWQgIkU3MjogQ2xvc2UgZXJyb3Igb24gc3dhcCBmaWxlIgogbXNnc3RyICJFNzI6IEVycm9yIGRlIGNpZXJyZSBlbiBlbCBmaWNoZXJvIGRlIGludGVyY2FtYmlvIgogCi0jOiBnbG9iYWxzLmg6MTMzMworIzogZ2xvYmFscy5oOjEzNjYKIG1zZ2lkICJFNzM6IHRhZyBzdGFjayBlbXB0eSIKIG1zZ3N0ciAiRTczOiBMYSBwaWxhIGRlIKt0YWdzuyBlc3ThIHZhY+1hLiIKIAotIzogZ2xvYmFscy5oOjEzMzQKKyM6IGdsb2JhbHMuaDoxMzY3CiBtc2dpZCAiRTc0OiBDb21tYW5kIHRvbyBjb21wbGV4IgogbXNnc3RyICJFNzQ6IEVsIGNvbWFuZG8gZXMgZGVtYXNpYWRvIGNvbXBsZWpvLiIKIAotIzogZ2xvYmFscy5oOjEzMzUKKyM6IGdsb2JhbHMuaDoxMzY4CiBtc2dpZCAiRTc1OiBOYW1lIHRvbyBsb25nIgogbXNnc3RyICJFNzU6IEVsIG5vbWJyZSBlcyBkZW1hc2lhZG8gbGFyZ28uIgogCi0jOiBnbG9iYWxzLmg6MTMzNgorIzogZ2xvYmFscy5oOjEzNjkKIG1zZ2lkICJFNzY6IFRvbyBtYW55IFsiCiBtc2dzdHIgIkU3NjogSGF5IGRlbWFzaWFkb3MgWyIKIAotIzogZ2xvYmFscy5oOjEzMzcKKyM6IGdsb2JhbHMuaDoxMzcwCiBtc2dpZCAiRTc3OiBUb28gbWFueSBmaWxlIG5hbWVzIgogbXNnc3RyICJFNzc6IEhheSBkZW1hc2lhZG9zIG5vbWJyZXMgZGUgZmljaGVyb3MuIgogCi0jOiBnbG9iYWxzLmg6MTMzOAorIzogZ2xvYmFscy5oOjEzNzEKIG1zZ2lkICJFNDg4OiBUcmFpbGluZyBjaGFyYWN0ZXJzIgogbXNnc3RyICJFNDg4OiBDYXJhY3RlcmVzIGVuIGV4Y2VzbyBhbCBmaW5hbCBkZSBsYSBs7W5lYS4iCiAKLSM6IGdsb2JhbHMuaDoxMzM5CisjOiBnbG9iYWxzLmg6MTM3MgogbXNnaWQgIkU3ODogVW5rbm93biBtYXJrIgogbXNnc3RyICJFNzg6IE1hcmNhIGRlc2Nvbm9jaWRhLiIKIAotIzogZ2xvYmFscy5oOjEzNDAKKyM6IGdsb2JhbHMuaDoxMzczCiBtc2dpZCAiRTc5OiBDYW5ub3QgZXhwYW5kIHdpbGRjYXJkcyIKIG1zZ3N0ciAiRTc5OiBObyBwdWVkbyBleHBhbmRpciBsb3MgY29tb2RpbmVzLiIKIAotIzogZ2xvYmFscy5oOjEzNDIKKyM6IGdsb2JhbHMuaDoxMzc1CiBtc2dpZCAiRTU5MTogJ3dpbmhlaWdodCcgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAnd2lubWluaGVpZ2h0JyIKIG1zZ3N0ciAiRTU5MTogq3dpbmhlaWdodLsgbm8gcHVlZGUgc2VyIG3hcyBwZXF1ZfFvIHF1ZSCrd2lubWluaGVpZ2h0uy4iCiAKLSM6IGdsb2JhbHMuaDoxMzQ0CisjOiBnbG9iYWxzLmg6MTM3NwogbXNnaWQgIkU1OTI6ICd3aW53aWR0aCcgY2Fubm90IGJlIHNtYWxsZXIgdGhhbiAnd2lubWlud2lkdGgnIgogbXNnc3RyICJFNTkyOiCrd2lud2lkdGi7IG5vIHB1ZWRlIHNlciBt4XMgcGVxdWXxbyBxdWUgq3dpbm1pbndpZHRouy4iCiAKLSM6IGdsb2JhbHMuaDoxMzQ3CisjOiBnbG9iYWxzLmg6MTM4MAogbXNnaWQgIkU4MDogRXJyb3Igd2hpbGUgd3JpdGluZyIKIG1zZ3N0ciAiRTgwOiBFcnJvciBhbCBlc2NyaWJpciBlbCBmaWNoZXJvLiIKIAotIzogZ2xvYmFscy5oOjEzNDgKKyM6IGdsb2JhbHMuaDoxMzgxCiBtc2dpZCAiWmVybyBjb3VudCIKIG1zZ3N0ciAiRWwgcmVjdWVudG8gZXMgY2Vyby4iCiAKLSM6IGdsb2JhbHMuaDoxMzUwCisjOiBnbG9iYWxzLmg6MTM4MwogbXNnaWQgIkU4MTogVXNpbmcgPFNJRD4gbm90IGluIGEgc2NyaXB0IGNvbnRleHQiCiBtc2dzdHIgIkU4MTogVXNhbmRvIDxTSUQ+IGVuIHVuIGNvbnRleHRvIHF1ZSBubyBlcyBkZSCrc2NyaXB0uyIKIAotIzogZ2xvYmFscy5oOjEzNTMKKyM6IGdsb2JhbHMuaDoxMzg2CiBtc2dpZCAiRTQ0OTogSW52YWxpZCBleHByZXNzaW9uIHJlY2VpdmVkIgogbXNnc3RyICJFNDQ5OiBSZWNpYu0gdW5hIGV4cHJlc2nzbiBpbnbhbGlkYS4iCiAKLSM6IGdsb2JhbHMuaDoxMzU2CisjOiBnbG9iYWxzLmg6MTM4OQogbXNnaWQgIkU0NjM6IFJlZ2lvbiBpcyBndWFyZGVkLCBjYW5ub3QgbW9kaWZ5IgogbXNnc3RyICJFNDYzOiBMYSByZWdp824gZXN04SBwcm90ZWdpZGEsIG5vIHB1ZWRvIG1vZGlmaWNhcmxhLiIKIApkaWZmIC0tZ2l0IGEvc3JjL3N0cnVjdHMuaCBiL3NyYy9zdHJ1Y3RzLmgKaW5kZXggNGYzYjExZi4uZDQzZTU1YyAxMDA2NDQKLS0tIGEvc3JjL3N0cnVjdHMuaAorKysgYi9zcmMvc3RydWN0cy5oCkBAIC00MTksNiArNDE5LDcgQEAKICMgaWYgZGVmaW5lZChGRUFUX0dVSV9ESUFMT0cpIHx8IGRlZmluZWQoRkVBVF9DT05fRElBTE9HKQogICAgIGludAkJY29uZmlybTsJCS8qIFRSVUUgdG8gaW52b2tlIHllcy9ubyBkaWFsb2cgKi8KICMgZW5kaWYKKyAgICBpbnQJCWtlZXBhbHQ7CQkvKiBUUlVFIHdoZW4gIjprZWVwYWx0IiB3YXMgdXNlZCAqLwogICAgIGludAkJa2VlcG1hcmtzOwkJLyogVFJVRSB3aGVuICI6a2VlcG1hcmtzIiB3YXMgdXNlZCAqLwogICAgIGludAkJa2VlcGp1bXBzOwkJLyogVFJVRSB3aGVuICI6a2VlcGp1bXBzIiB3YXMgdXNlZCAqLwogICAgIGludAkJbG9ja21hcmtzOwkJLyogVFJVRSB3aGVuICI6bG9ja21hcmtzIiB3YXMgdXNlZCAqLwpAQCAtOTIyLDcgKzkyMyw5IEBACiAgICAgRlNTcGVjCWJfRlNTcGVjOwkvKiBNYWNPUyBGaWxlIElkZW50aWZpY2F0aW9uICovCiAjZW5kaWYKICNpZmRlZiBWTVMKLSAgICBjaGFyCWJfZmFiX3JmbTsJLyogUmVjb3JkIGZvcm1hdCAqLworICAgIGNoYXIJIGJfZmFiX3JmbTsJLyogUmVjb3JkIGZvcm1hdCAgICAqLworICAgIGNoYXIJIGJfZmFiX3JhdDsJLyogUmVjb3JkIGF0dHJpYnV0ZSAqLworICAgIHVuc2lnbmVkIGludCBiX2ZhYl9tcnM7CS8qIE1heCByZWNvcmQgc2l6ZSAgKi8KICNlbmRpZgogI2lmZGVmIEZFQVRfU05JRkYKICAgICBpbnQJCWJfc25pZmY7CS8qIGZpbGUgd2FzIGxvYWRlZCB0aHJvdWdoIFNuaWZmICovCmRpZmYgLS1naXQgYS9zcmMvdGVybS5jIGIvc3JjL3Rlcm0uYwppbmRleCA2NTZhNDBlLi43MWIxOTExIDEwMDY0NAotLS0gYS9zcmMvdGVybS5jCisrKyBiL3NyYy90ZXJtLmMKQEAgLTgwOCw4ICs4MDgsMjAgQEAKICAgICB7KGludClLU19DREwsCUlGX0VCKCJcMDMzWyVkTSIsIEVTQ19TVFIgIlslZE0iKX0sCiAjICBlbmRpZgogICAgIHsoaW50KUtTX0NMLAlJRl9FQigiXDAzM1tIXDAzM1sySiIsIEVTQ19TVFIgIltIIiBFU0NfU1RSX25jICJbMkoiKX0sCisgICAgeyhpbnQpS1NfQ0QsCUlGX0VCKCJcMDMzW0oiLCBFU0NfU1RSICJbSiIpfSwKKyAgICB7KGludClLU19DQ08sCSI4In0sCQkJLyogYWxsb3cgOCBjb2xvcnMgKi8KICAgICB7KGludClLU19NRSwJSUZfRUIoIlwwMzNbMG0iLCBFU0NfU1RSICJbMG0iKX0sCiAgICAgeyhpbnQpS1NfTVIsCUlGX0VCKCJcMDMzWzdtIiwgRVNDX1NUUiAiWzdtIil9LAorICAgIHsoaW50KUtTX01ELCAgICAgICAgSUZfRUIoIlwwMzNbMW0iLCBFU0NfU1RSICJbMW0iKX0sICAvKiBib2xkIG1vZGUgKi8KKyAgICB7KGludClLU19TRSwgICAgICAgIElGX0VCKCJcMDMzWzIybSIsIEVTQ19TVFIgIlsyMm0iKX0sLyogbm9ybWFsIG1vZGUgKi8KKyAgICB7KGludClLU19VRSwgICAgICAgIElGX0VCKCJcMDMzWzI0bSIsIEVTQ19TVFIgIlsyNG0iKX0sLyogZXhpdCB1bmRlcnNjb3JlIG1vZGUgKi8KKyAgICB7KGludClLU19VUywgICAgICAgIElGX0VCKCJcMDMzWzRtIiwgRVNDX1NUUiAiWzRtIil9LCAgLyogdW5kZXJzY29yZSBtb2RlICovCisgICAgeyhpbnQpS1NfQ1pILCAgICAgICBJRl9FQigiXDAzM1szNDs0M20iLCBFU0NfU1RSICJbMzQ7NDNtIiApfSwgIC8qIGl0YWxpYyBtb2RlOiBibHVlIHRleHQgb24geWVsbG93ICovCisgICAgeyhpbnQpS1NfQ1pSLCAgICAgICBJRl9FQigiXDAzM1swbSIsIEVTQ19TVFIgIlswbSIpfSwgICAgICAgICAgIC8qIGl0YWxpYyBtb2RlIGVuZCAqLworICAgIHsoaW50KUtTX0NBQiwgICAgICAgSUZfRUIoIlwwMzNbNCVkbSIsIEVTQ19TVFIgIls0JWRtIiApfSwgICAgICAvKiBzZXQgYmFja2dyb3VuZCBjb2xvciAoQU5TSSkgKi8KKyAgICB7KGludClLU19DQUYsICAgICAgIElGX0VCKCJcMDMzWzMlZG0iLCBFU0NfU1RSICJbMyVkbSIgKX0sICAgICAgLyogc2V0IGZvcmVncm91bmQgY29sb3IgKEFOU0kpICovCisgICAgeyhpbnQpS1NfQ1NCLCAgICAgICBJRl9FQigiXDAzM1sxMDI7JWRtIiwgRVNDX1NUUiAiWzEwMjslZG0iICl9LCAgICAvKiBzZXQgc2NyZWVuIGJhY2tncm91bmQgY29sb3IgKi8KKyAgICB7KGludClLU19DU0YsICAgICAgIElGX0VCKCJcMDMzWzEwMTslZG0iLCBFU0NfU1RSICJbMTAxOyVkbSIgKX0sICAgIC8qIHNldCBzY3JlZW4gZm9yZWdyb3VuZCBjb2xvciAqLwogICAgIHsoaW50KUtTX01TLAkieSJ9LAogICAgIHsoaW50KUtTX1VULAkieSJ9LAogICAgIHsoaW50KUtTX0xFLAkiXGIifSwK