From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: =?utf-8?b?T25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+?= To: git-commits@fedoraproject.org Subject: [rpms/rpkg] 1.70-1: Revert "Orphaned for 6+ weeks" Date: Mon, 10 Aug 2026 21:44:35 GMT Message-ID: <178639827516.1.17844946013983355920.rpms-rpkg-c86020b1f374@fedoraproject.org> List-ID: X-Git-Repo: rpms/rpkg X-Git-Branch: 1.70-1 X-Git-Rev: c86020b1f374905b44fd92bb2c3af780f2276e5a ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvcnBrZwogICAgICAgICAgICBCcmFuY2ggOiAxLjcwLTEKICAgICAgICAgICAg Q29tbWl0IDogYzg2MDIwYjFmMzc0OTA1YjQ0ZmQ5MmJiMmMzYWY3ODBmMjI3NmU1YQogICAgICAg ICAgICBBdXRob3IgOiBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KICAgICAgICAg ICAgRGF0ZSAgIDogMjAyMy0wNC0yNVQxODo1MDowMiswMDowMAogICAgICAgICAgICBTdGF0cyAg OiArMzA1NS8tMSBpbiAyNSBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8vc3Jj LmZlZG9yYXByb2plY3Qub3JnL3JwbXMvcnBrZy9jL2M4NjAyMGIxZjM3NDkwNWI0NGZkOTJiYjJj M2FmNzgwZjIyNzZlNWE/YnJhbmNoPTEuNzAtMQoKICAgICAgICAgICAgTG9nOgogICAgICAgICAg ICBSZXZlcnQgIk9ycGhhbmVkIGZvciA2KyB3ZWVrcyIKCkV4ZWN1dGVkICJyZXRpcmUiIGZvciBl cGVsOSBieSBtaXN0YWtlLgoKVGhpcyByZXZlcnRzIGNvbW1pdCA1OWYyNTY4ODVmMTQzNjczZWM4 YWRkZmYyZjZkMGJiMGE1ZDY3NmMwLgoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdp dGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjkyNTdlCi0tLSAv ZGV2L251bGwKKysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDY0IEBACisvcnBrZy0xLjEudGFy Lmd6CisvcnBrZy0xLjIudGFyLmd6CisvcnBrZy0xLjMudGFyLmd6CisvcnBrZy0xLjQudGFyLmd6 CisvcnBrZy0xLjUudGFyLmd6CisvcnBrZy0xLjYudGFyLmd6CisvcnBrZy0xLjcudGFyLmd6Cisv cnBrZy0xLjgudGFyLmd6CisvcnBrZy0xLjkudGFyLmd6CisvcnBrZy0xLjEwLnRhci5negorL3Jw a2ctMS4xMS50YXIuZ3oKKy9ycGtnLTEuMTIudGFyLmd6CisvcnBrZy0xLjEzLnRhci5negorL3Jw a2ctMS4xNC50YXIuZ3oKKy9ycGtnLTEuMTUudGFyLmd6CisvcnBrZy0xLjE2LnRhci5negorL3Jw a2ctMS4xNy50YXIuZ3oKKy9ycGtnLTEuMTgudGFyLmd6CisvcnBrZy0xLjE5LnRhci5negorL3Jw a2ctMS4yMC50YXIuZ3oKKy9ycGtnLTEuMjEudGFyLmd6CisvcnBrZy0xLjI0LnRhci5negorL3Jw a2ctMS4yNS50YXIuZ3oKKy9ycGtnLTEuMjYudGFyLmd6CisvcnBrZy0xLjI3LnRhci5negorL3Jw a2ctMS4yOC50YXIuZ3oKKy9ycGtnLTEuMzAudGFyLmd6CisvcnBrZy0xLjMxLnRhci5negorL3Jw a2ctMS4zMi50YXIuZ3oKKy9ycGtnLTEuMzMudGFyLmd6CisvcnBrZy0xLjM0LnRhci5negorL3Jw a2ctMS4zNS50YXIuZ3oKKy9ycGtnLTEuMzYudGFyLmd6CisvcnBrZy0xLjM3LnRhci5negorL3Jw a2ctMS4zOC50YXIuZ3oKKy9ycGtnLTEuMzkudGFyLmd6CisvcnBrZy0xLjQwLnRhci5negorL3Jw a2ctMS40MS50YXIuZ3oKKy9ycGtnLTEuNDIudGFyLmd6CisvcnBrZy0xLjQzLnRhci5negorL3Jw a2ctMS40NC50YXIuZ3oKKy9ycGtnLTEuNDUudGFyLmJ6MgorL3Jwa2ctMS40NS50YXIuZ3oKKy9y cGtnLTEuNDYudGFyLmd6CisvcnBrZy0xLjQ3LnRhci5negorL3Jwa2ctMS40OC50YXIuZ3oKKy9y cGtnLTEuNDkudGFyLmd6CisvcnBrZy0xLjUwLnRhci5negorL3Jwa2ctMS41MS50YXIuZ3oKKy9y cGtnLTEuNTIudGFyLmd6CisvcnBrZy0xLjUzLnRhci5negorL3Jwa2ctMS41NC50YXIuZ3oKKy9y cGtnLTEuNTUudGFyLmd6CisvcnBrZy0xLjU2LnRhci5negorL3Jwa2ctMS41Ny50YXIuZ3oKKy9y cGtnLTEuNTgudGFyLmd6CisvcnBrZy0xLjU5LnRhci5negorL3Jwa2ctMS42MC50YXIuZ3oKKy9y cGtnLTEuNjEudGFyLmd6CisvcnBrZy0xLjYyLnRhci5negorL3Jwa2ctMS42My50YXIuZ3oKKy9y cGtnLTEuNjQudGFyLmd6CisvcnBrZy0xLjY1LnRhci5negorL3Jwa2ctMS42Ni50YXIuZ3oKCmRp ZmYgLS1naXQgYS8wMDAxLURvLW5vdC11c2UtcHl0ZXN0LXJlbGF0ZWQtZGVwZW5kZW5jaWVzLXRl bXBvcmFyaWx5LnBhdGNoIGIvMDAwMS1Eby1ub3QtdXNlLXB5dGVzdC1yZWxhdGVkLWRlcGVuZGVu Y2llcy10ZW1wb3JhcmlseS5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li43MGQxMmIwCi0tLSAvZGV2L251bGwKKysrIGIvMDAwMS1Eby1ub3QtdXNlLXB5dGVzdC1yZWxh dGVkLWRlcGVuZGVuY2llcy10ZW1wb3JhcmlseS5wYXRjaApAQCAtMCwwICsxLDI1IEBACitGcm9t IDUwY2FmNTQ3ZmYyODhkODE0NmVhNWUyNzdhYjdiZmNmN2U4YjA5NWMgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBEb21pbmlrIFJ1bWlhbiA8ZHJ1bWlhbkByZWRoYXQuY29tPgorRGF0 ZTogVHVlLCAyNCBBdWcgMjAyMSAxNjoyNDo0NyArMDIwMAorU3ViamVjdDogW1BBVENIXSBbUEFU Q0hdIERvIG5vdCB1c2UgcHl0ZXN0LXJlbGF0ZWQgZGVwZW5kZW5jaWVzIHRlbXBvcmFyaWx5CisK K1NpZ25lZC1vZmYtYnk6IERvbWluaWsgUnVtaWFuIDxkcnVtaWFuQHJlZGhhdC5jb20+CistLS0K KyBzZXR1cC5weSB8IDEgLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYg LS1naXQgYS9zZXR1cC5weSBiL3NldHVwLnB5CitpbmRleCA5YzZkODgxLi41NTdjZjVmIDEwMDc1 NQorLS0tIGEvc2V0dXAucHkKKysrKyBiL3NldHVwLnB5CitAQCAtNDksNyArNDksNiBAQCBzZXR1 cCgKKyAgICAgbGljZW5zZT0iR1BMdjIrIiwKKyAgICAgdXJsPSJodHRwczovL3BhZ3VyZS5pby9y cGtnIiwKKyAgICAgcGFja2FnZXM9ZmluZF9wYWNrYWdlcygpLAorLSAgICBzZXR1cF9yZXF1aXJl cz1bJ3NldHVwdG9vbHNfc2NtJywgJ3B5dGVzdC1ydW5uZXInXSwKKyAgICAgaW5zdGFsbF9yZXF1 aXJlcz1pbnN0YWxsX3JlcXVpcmVzLAorICAgICB0ZXN0c19yZXF1aXJlPXRlc3RzX3JlcXVpcmUs CisgICAgIGRlcGVuZGVuY3lfbGlua3M9ZGVwX2xpbmtzLAorLS0gCisyLjMxLjEKKwoKZGlmZiAt LWdpdCBhLzAwMDItUmVtb3ZlLXB5dGVzdC1jb3ZlcmFnZS1leGVjdXRpb24ucGF0Y2ggYi8wMDAy LVJlbW92ZS1weXRlc3QtY292ZXJhZ2UtZXhlY3V0aW9uLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLmZiYzljYjcKLS0tIC9kZXYvbnVsbAorKysgYi8wMDAyLVJlbW92 ZS1weXRlc3QtY292ZXJhZ2UtZXhlY3V0aW9uLnBhdGNoCkBAIC0wLDAgKzEsMjUgQEAKK0Zyb20g OGJmN2MzYjEzMzY3MzhlZDU5MzhmNjc5ZmM0ZDQ1MGMzZjhmMGE2MiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CitEYXRlOiBX ZWQsIDcgU2VwIDIwMjIgMDA6MTE6NTYgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlIHB5 dGVzdCBjb3ZlcmFnZSBleGVjdXRpb24KKworU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxv bm9zZWtAcmVkaGF0LmNvbT4KKy0tLQorIHNldHVwLmNmZyB8IDEgLQorIDEgZmlsZSBjaGFuZ2Vk LCAxIGRlbGV0aW9uKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC5jZmcgYi9zZXR1cC5jZmcKK2lu ZGV4IDVlMjljMmYuLjRmZTczZmEgMTAwNjQ0CistLS0gYS9zZXR1cC5jZmcKKysrKyBiL3NldHVw LmNmZworQEAgLTUsNyArNSw2IEBAIHRlc3QgPSBweXRlc3QKKyBtYXgtbGluZS1sZW5ndGggPSAx MDAKKyAKKyBbdG9vbDpweXRlc3RdCistYWRkb3B0cyA9IC0tY292PXB5cnBrZworIHRlc3RwYXRo cyA9IHRlc3RzCisgCisgW2VnZ19pbmZvXQorLS0gCisyLjM3LjIKKwoKZGlmZiAtLWdpdCBhLzAw MDMtUmVtb3ZlLUVudmlyb25tZW50LU1hcmtlcnMtc3ludGF4LnBhdGNoIGIvMDAwMy1SZW1vdmUt RW52aXJvbm1lbnQtTWFya2Vycy1zeW50YXgucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZjU5NmNlOQotLS0gL2Rldi9udWxsCisrKyBiLzAwMDMtUmVtb3ZlLUVudmly b25tZW50LU1hcmtlcnMtc3ludGF4LnBhdGNoCkBAIC0wLDAgKzEsMjQgQEAKK0Zyb20gYWMxYzI5 OTVkMTdiMTA2YmJmZDBhYjZjODRhYjAyMmRhOGIxOGUzZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIw MDEKK0Zyb206IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDcg RmViIDIwMjIgMDM6MDE6MTEgKzAxMDAKK1N1YmplY3Q6IFtQQVRDSF0gUmVtb3ZlICJFbnZpcm9u bWVudCBNYXJrZXJzIiBzeW50YXgKKworU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9z ZWtAcmVkaGF0LmNvbT4KKy0tLQorIHJlcXVpcmVtZW50cy90ZXN0LXB5cGkudHh0IHwgMiArLQor IDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQorCitkaWZmIC0t Z2l0IGEvcmVxdWlyZW1lbnRzL3Rlc3QtcHlwaS50eHQgYi9yZXF1aXJlbWVudHMvdGVzdC1weXBp LnR4dAoraW5kZXggODMwZDhjMy4uYjczMmRjYiAxMDA2NDQKKy0tLSBhL3JlcXVpcmVtZW50cy90 ZXN0LXB5cGkudHh0CisrKysgYi9yZXF1aXJlbWVudHMvdGVzdC1weXBpLnR4dAorQEAgLTEsNSAr MSw1IEBACisgY292ZXJhZ2UKKy1tb2NrID09IDEuMC4xO3B5dGhvbl92ZXJzaW9uPCIzLjMiCisr bW9jayA9PSAxLjAuMQorIGZsYWtlOAorIHB5dGVzdAorIHB5dGVzdC1jb3YKKy0tIAorMi4zNC4x CisKCmRpZmYgLS1naXQgYS8wMDA0LVByb2Nlc3Mtc291cmNlLVVSTHMtd2l0aC1mcmFnbWVudC1p bi1wcmUtcHVzaC1ob29rLnBhdGNoIGIvMDAwNC1Qcm9jZXNzLXNvdXJjZS1VUkxzLXdpdGgtZnJh Z21lbnQtaW4tcHJlLXB1c2gtaG9vay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5lMjUyMDM4Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwNC1Qcm9jZXNzLXNvdXJjZS1V UkxzLXdpdGgtZnJhZ21lbnQtaW4tcHJlLXB1c2gtaG9vay5wYXRjaApAQCAtMCwwICsxLDQyIEBA CitGcm9tIDZkODEzZDQwYWZmOTEzNDViMTcxMzIzNTEyYjNhZTY0MWExNjhkNDUgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/THVib209QzM9QURyPTIwU2VkbD1DMz1B MT1DNT05OT89IDxsc2VkbGFyQHJlZGhhdC5jb20+CitEYXRlOiBNb24sIDI3IEZlYiAyMDIzIDA4 OjM2OjIwICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIFByb2Nlc3Mgc291cmNlIFVSTHMgd2l0aCBm cmFnbWVudCBpbiBwcmUtcHVzaCBob29rCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBl OiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4 Yml0CisKK1NvbWUgZG93bmxvYWQgc2VydmljZXMgZG8gbm90IGhhdmUgdGhlIGFjdHVhbCBmaWxl bmFtZSBpbiB0aGUgVVJMLgorUGFja2FnZXJzIHdvcmsgYXJvdW5kIHRoYXQgYnkgYWRkaW5nIGEg ZnJhZ21lbnQgdG8gdGhlIFVSTC4gVGhpcyBpcyB0aGVuCitpZ25vcmVkIGJ5IGFueSBzZXJ2ZXIs IGJ1dCB0cmlja3MgUlBNIGludG8gZ2V0dGluZyB0aGUgY29ycmVjdCBmaWxlbmFtZS4KKworRXhh bXBsZToKKworICAgIFNvdXJjZTA6IGh0dHBzOi8vY3JhdGVzLmlvL2FwaS92MS9jcmF0ZXMvYWN0 aXgvMC4xMy4wL2Rvd25sb2FkIy9hY3RpeC0wLjEzLjAuY3JhdGUKKworVGhlIGZpbGVuYW1lIGlz IG9idmlvdXNseSBgYWN0aXgtMC4xMy4wLmNyYXRlYCwgYnV0IHJwa2cgd2l0aG91dCB0aGlzCitw YXRjaCB3aWxsIGNvbWUgdXAgd2l0aCBgZG93bmxvYWRgLgorCitTaWduZWQtb2ZmLWJ5OiBMdWJv bcOtciBTZWRsw6HFmSA8bHNlZGxhckByZWRoYXQuY29tPgorLS0tCisgcHlycGtnL19faW5pdF9f LnB5IHwgNCArKystCisgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9f LnB5CitpbmRleCA2YTBlOWViLi5jNjUwODUxIDEwMDY0NAorLS0tIGEvcHlycGtnL19faW5pdF9f LnB5CisrKysgYi9weXJwa2cvX19pbml0X18ucHkKK0BAIC00NDY0LDcgKzQ0NjQsOSBAQCBjbGFz cyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAgICAgICAgICAjIGZpbmQgb3V0IHRoZSBmb3Jt YXQgb2YgdGhlIHNvdXJjZSBmaWxlIHBhdGguIEZyb20gVVJMIHVzZSBqdXN0IHRoZSBmaWxlIG5h bWUuCisgICAgICAgICAgICAgICAgICMgV2Ugd2FudCB0byBrZWVwIGhpZXJhcmNoeSBvZiB0aGUg ZmlsZXMgaWYgcG9zc2libGUKKyAgICAgICAgICAgICAgICAgcmVzID0gdXJsbGliLnBhcnNlLnVy bHBhcnNlKGZpbGVfbG9jYXRpb24pCistICAgICAgICAgICAgICAgIGlmIHJlcy5zY2hlbWUgYW5k IHJlcy5uZXRsb2M6CisrICAgICAgICAgICAgICAgIGlmIHJlcy5zY2hlbWUgYW5kIHJlcy5mcmFn bWVudDoKKysgICAgICAgICAgICAgICAgICAgIHNvdXJjZV9maWxlcy5hcHBlbmQob3MucGF0aC5i YXNlbmFtZShyZXMuZnJhZ21lbnQpKQorKyAgICAgICAgICAgICAgICBlbGlmIHJlcy5zY2hlbWUg YW5kIHJlcy5uZXRsb2M6CisgICAgICAgICAgICAgICAgICAgICBzb3VyY2VfZmlsZXMuYXBwZW5k KG9zLnBhdGguYmFzZW5hbWUocmVzLnBhdGgpKQorICAgICAgICAgICAgICAgICBlbHNlOgorICAg ICAgICAgICAgICAgICAgICAgc291cmNlX2ZpbGVzLmFwcGVuZChmaWxlX2xvY2F0aW9uKQorLS0g CisyLjM5LjIKKwoKZGlmZiAtLWdpdCBhLzAwMDUtY29udGFpbmVyLWJ1aWxkLXVwZGF0ZS1zaWdu aW5nLWludGVudC1oZWxwLWZvci1PU0JTLS5wYXRjaCBiLzAwMDUtY29udGFpbmVyLWJ1aWxkLXVw ZGF0ZS1zaWduaW5nLWludGVudC1oZWxwLWZvci1PU0JTLS5wYXRjaApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi40ZWFkNmEzCi0tLSAvZGV2L251bGwKKysrIGIvMDAwNS1jb250 YWluZXItYnVpbGQtdXBkYXRlLXNpZ25pbmctaW50ZW50LWhlbHAtZm9yLU9TQlMtLnBhdGNoCkBA IC0wLDAgKzEsMzAgQEAKK0Zyb20gZTM4Y2ZlNGI2ODhiNjAwYzQxMWE5NzQ1OTIyYjc3ZWJiOWMx NDEyMiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IEtlbiBEcmV5ZXIgPGtkcmV5ZXJA cmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgMjggRmViIDIwMjMgMTY6MTc6MDMgLTA1MDAKK1N1Ympl Y3Q6IFtQQVRDSF0gY29udGFpbmVyLWJ1aWxkOiB1cGRhdGUgLS1zaWduaW5nLWludGVudCBoZWxw IGZvciBPU0JTIDIKKworT1NCUyAyIGxvZ3MgdGhlIHJlYWN0b3IgY29uZmlndXJhdGlvbiBpbiBh IHNsaWdodGx5IGRpZmZlcmVudCB3YXkuCitVcGRhdGUgdGhlIC0taGVscCB0ZXh0IGZvciAtLXNp Z25pbmctaW50ZW50IHRvIHBvaW50IHVzZXJzIGF0IHRoZSBuZXcKK2xvY2F0aW9uLgorCitTaWdu ZWQtb2ZmLWJ5OiBLZW4gRHJleWVyIDxrZHJleWVyQHJlZGhhdC5jb20+CistLS0KKyBweXJwa2cv Y2xpLnB5IHwgMiArLQorIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlv bigtKQorCitkaWZmIC0tZ2l0IGEvcHlycGtnL2NsaS5weSBiL3B5cnBrZy9jbGkucHkKK2luZGV4 IDQxYzQzNTQuLmMzNjcyYjMgMTAwNjQ0CistLS0gYS9weXJwa2cvY2xpLnB5CisrKysgYi9weXJw a2cvY2xpLnB5CitAQCAtMTcyNCw3ICsxNzI0LDcgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6 CisgICAgICAgICAgICAgIiBzZXJ2ZXIuIElmIHVuc3BlY2lmaWVkLCB0aGUgc2VydmVyIHdpbGwg dXNlIHRoZSBzaWduaW5nIGludGVudCIKKyAgICAgICAgICAgICAiIG9mIHRoZSBjb21wb3NlX2lk cyB5b3Ugc3BlY2lmeSwgb3IgdGhlIHNlcnZlcidzIgorICAgICAgICAgICAgICIgZGVmYXVsdF9z aWduaW5nX2ludGVudC4gVG8gdmlldyB0aGUgZnVsbCBsaXN0IG9mIHBvc3NpYmxlIgorLSAgICAg ICAgICAgICIgbmFtZXMsIHNlZSBSRUFDVE9SX0NPTkZJRyBpbiBvcmNoZXN0cmF0b3IubG9nLiIp CisrICAgICAgICAgICAgIiBuYW1lcywgc2VlIGF0b21pY19yZWFjdG9yLmNvbmZpZyBpbiBvc2Jz LWJ1aWxkLmxvZy4iKQorIAorICAgICAgICAgcGFyc2VyLmFkZF9hcmd1bWVudCgKKyAgICAgICAg ICAgICAnLS1za2lwLXJlbW90ZS1ydWxlcy12YWxpZGF0aW9uJywKKy0tIAorMi4zOS4yCisKCmRp ZmYgLS1naXQgYS8wMDA2LURvLW5vdC1nZW5lcmF0ZS1wcmUtcHVzaC1ob29rLXNjcmlwdC1pbi1z b21lLWNhc2VzLnBhdGNoIGIvMDAwNi1Eby1ub3QtZ2VuZXJhdGUtcHJlLXB1c2gtaG9vay1zY3Jp cHQtaW4tc29tZS1jYXNlcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li4zMzY5OTU5Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwNi1Eby1ub3QtZ2VuZXJhdGUtcHJlLXB1 c2gtaG9vay1zY3JpcHQtaW4tc29tZS1jYXNlcy5wYXRjaApAQCAtMCwwICsxLDM3IEBACitGcm9t IDMwZjE4OTczNjEzN2E1MGRhNGI3NDBhY2Y3NzVmZjY2NzVhMTVhNzAgTW9uIFNlcCAxNyAwMDow MDowMCAyMDAxCitGcm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgorRGF0ZTog V2VkLCA4IE1hciAyMDIzIDE2OjM5OjE2ICswMTAwCitTdWJqZWN0OiBbUEFUQ0hdIERvIG5vdCBn ZW5lcmF0ZSBwcmUtcHVzaCBob29rIHNjcmlwdCBpbiBzb21lIGNhc2VzCisKK1NvbWUgcnBrZyB1 c2VycyBkb24ndCB1c2UgZmVkcGtnIG9yIHNpbWlsYXIgdG9vbCBmb3IgY2xvbmluZworYW5kIHRo ZXJlZm9yZSB0aGVyZSBpcyBubyB0b29sIHRvIGV4ZWN1dGUgdGhlIHByZS1wdXNoLWNoZWNrCitm dW5jdGlvbi4gRG8gbm90IGdlbmVyYXRlIHRoZSBob29rIHNjcmlwdCBpbiB0aGlzIGNhc2UuCisK K0ZpeGVzOiAjNjY1CitKSVJBOiBSSEVMQ01QLTExMzkyCitTaWduZWQtb2ZmLWJ5OiBPbmRyZWog Tm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgorLS0tCisgcHlycGtnL19faW5pdF9fLnB5IHwgNyAr KysrKysrCisgMSBmaWxlIGNoYW5nZWQsIDcgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEv cHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5pdF9fLnB5CitpbmRleCBhY2RhZDIyLi43 NzZjYjIxIDEwMDY0NAorLS0tIGEvcHlycGtnL19faW5pdF9fLnB5CisrKysgYi9weXJwa2cvX19p bml0X18ucHkKK0BAIC0xNzk1LDYgKzE3OTUsMTMgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToK KyAgICAgICAgIGZvciBwb3NzaWJsZSB1c2VyIG1pc3Rha2VzLgorICAgICAgICAgIiIiCisgICAg ICAgICB0b29sX25hbWUgPSBvcy5wYXRoLmJhc2VuYW1lKHN5cy5hcmd2WzBdKSAgIyByaHBrZ3xm ZWRwa2d8Li4uCisrICAgICAgICBpZiBub3QgdG9vbF9uYW1lOgorKyAgICAgICAgICAgICMgZW1w dHkgYXJndiAtIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBub3QgZXhlY3V0ZWQgZnJvbSB4LXBrZyB0 b29sCisrICAgICAgICAgICAgIyBhbmQgdGhlcmVmb3JlIHRoZXJlIGlzbid0IGEgcHJvZ3JhbSB0 aGF0IGNhbiBydW4gcHJlLXB1c2gtY2hlY2suCisrICAgICAgICAgICAgIyBFeGFtcGxlOiB0aGUg Q09QUiB0ZWFtIGV4ZWN1dGVzICdjbG9uZScgYnkgdGhlaXIgb3duIHNjcmlwdC4KKysgICAgICAg ICAgICBzZWxmLmxvZy5kZWJ1ZygnUHJlLXB1c2ggaG9vayBzY3JpcHQgd2FzIE5PVCBhZGRlZCAt IG1pc3NpbmcgJworKyAgICAgICAgICAgICAgICAgICAgICAgICAgICd0aGUgcGFja2FnaW5nIHRv b2wgbGlrZSBmZWRwa2csIHJocGtnLCAuLi4nKQorKyAgICAgICAgICAgIHJldHVybgorICAgICAg ICAgaG9va19jb250ZW50ID0gdGV4dHdyYXAuZGVkZW50KCIiIgorICAgICAgICAgICAgICMhL2Jp bi9iYXNoCisgCistLSAKKzIuMzkuMgorCgpkaWZmIC0tZ2l0IGEvMDAwNy1Nb3JlLXJvYnVzdC1z cGVjLWZpbGUtcHJlc2VuY2UtY2hlY2tpbmcucGF0Y2ggYi8wMDA3LU1vcmUtcm9idXN0LXNwZWMt ZmlsZS1wcmVzZW5jZS1jaGVja2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwLi5hMWRkZTY0Ci0tLSAvZGV2L251bGwKKysrIGIvMDAwNy1Nb3JlLXJvYnVzdC1zcGVj LWZpbGUtcHJlc2VuY2UtY2hlY2tpbmcucGF0Y2gKQEAgLTAsMCArMSwyOTIgQEAKK0Zyb20gMTEw ODgxMGJkZWZkMGQ4ODA1MTdiMjc0YWNkNmEzYmQwZDQxNTZlMCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CitEYXRlOiBUdWUs IDIxIE1hciAyMDIzIDAyOjQ0OjA0ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDcvMTJdIE1vcmUg cm9idXN0IHNwZWMgZmlsZSBwcmVzZW5jZSBjaGVja2luZworCitTb21lIGNvbW1hbmRzICh2ZXJy ZWwsIHNvdXJjZXMsIHByZXAsIGltcG9ydCwgLi4uKSBuZWVkIHRvIGNoZWNrCit3aGV0aGVyIHRo ZSBkaXN0LWdpdCByZXBvc2l0b3J5IGlzIGluIHRoZSBjb3JyZWN0IHN0YXRlLiBJdCBtZWFucwor YXQgbGVhc3QgdGhlIHByZXNlbmNlIG9mIHRoZSBzcGVjZmlsZS4KK0luIHRoZSBiZWdpbm5pbmcs IHJwa2cgZGV0ZWN0cyBsYXlvdXRzLiBMYXlvdXRzIGRldGVybWluZSB0aGUgZmlsZQorc3RydWN0 dXJlIG9mIHRoZSByZXBvc2l0b3J5LiBGb3IgZXhhbXBsZSwgbW9zdCBjb21tYW5kcyBjYW4ndAor YmUgZXhlY3V0ZWQgZm9yIHRoZSBSZXRpcmVkTGF5b3V0ICh0aGVyZSBpcyBubyBzcGVjZmlsZSku CitXaGVuIHRoZSByZXBvc2l0b3J5IGRpcmVjdG9yeSBleGlzdHMsIHNvbWUgbGF5b3V0IGNhbiBi ZSBhbHdheXMKK2RldGVjdGVkLiBUaGVyZWZvcmUgJy0tcGF0aCcgYXJndW1lbnQgaXMgbm93IGNo ZWNrZWQgZm9yCithIHZhbGlkIGRpcmVjdG9yeS4KK1RoZSB0aW1lb3V0IGNoYW5nZSBpbiB0aGUg cmVxdWVzdCBmaXhlcyB0aGUgbmV3IGJhbmRpdCdzIGZpbmRpbmcuCisKK0ZpeGVzOiAjNjYzCitK SVJBOiBSSEVMQ01QLTExMzg3CisKK1NpZ25lZC1vZmYtYnk6IE9uZHJlaiBOb3NlayA8b25vc2Vr QHJlZGhhdC5jb20+CistLS0KKyBweXJwa2cvX19pbml0X18ucHkgICAgICAgICAgfCAgOSArKysr LS0tCisgcHlycGtnL2NsaS5weSAgICAgICAgICAgICAgIHwgIDggKysrLS0tCisgcHlycGtnL2xh eW91dC9fX2luaXRfXy5weSAgIHwgIDQgKy0tCisgcHlycGtnL3V0aWxzLnB5ICAgICAgICAgICAg IHwgMTQgKysrKysrKysrKworIHRlc3RzL2NvbW1hbmRzL3Rlc3RfcHVzaC5weSB8IDU0ICsrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KKyB0ZXN0cy90ZXN0X2NsaS5weSAgICAg ICAgICAgfCAxMiArKysrKystLS0KKyA2IGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyks IDM4IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHly cGtnL19faW5pdF9fLnB5CitpbmRleCA3NzZjYjIxLi4wMjhkMTk1IDEwMDY0NAorLS0tIGEvcHly cGtnL19faW5pdF9fLnB5CisrKysgYi9weXJwa2cvX19pbml0X18ucHkKK0BAIC05MjMsOSArOTIz LDggQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKKyAgICAgZGVmIGxvYWRfc3BlYyhzZWxmKToK KyAgICAgICAgICIiIlRoaXMgc2V0cyB0aGUgc3BlYyBhdHRyaWJ1dGUiIiIKKyAKKy0gICAgICAg IGlmIHNlbGYubGF5b3V0IGlzIE5vbmU6CisrICAgICAgICBpZiBzZWxmLmxheW91dCBpcyBOb25l IG9yIGlzaW5zdGFuY2Uoc2VsZi5sYXlvdXQsIGxheW91dC5JbmNvbXBsZXRlTGF5b3V0KToKKyAg ICAgICAgICAgICByYWlzZSBycGtnRXJyb3IoJ1NwZWMgZmlsZSBpcyBub3QgYXZhaWxhYmxlJykK Ky0KKyAgICAgICAgIGlmIHNlbGYuaXNfcmV0aXJlZCgpOgorICAgICAgICAgICAgIHJhaXNlIHJw a2dFcnJvcignVGhpcyBwYWNrYWdlIG9yIG1vZHVsZSBpcyByZXRpcmVkLiBUaGUgYWN0aW9uIGhh cyBzdG9wcGVkLicpCisgCitAQCAtMTE2Niw4ICsxMTY1LDEwIEBAIGNsYXNzIENvbW1hbmRzKG9i amVjdCk6CisgCisgICAgIEBwcm9wZXJ0eQorICAgICBkZWYgc291cmNlc19maWxlbmFtZShzZWxm KToKKy0gICAgICAgIGlmIHNlbGYubGF5b3V0IGlzIE5vbmU6CistICAgICAgICAgICAgcmV0dXJu IG9zLnBhdGguam9pbihzZWxmLnBhdGgsICdzb3VyY2VzJykKKysgICAgICAgIGlmIHNlbGYubGF5 b3V0IGlzIE5vbmUgb3IgaXNpbnN0YW5jZShzZWxmLmxheW91dCwgbGF5b3V0LkluY29tcGxldGVM YXlvdXQpOgorKyAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignU3BlYyBmaWxlIGlzIG5vdCBh dmFpbGFibGUnKQorKyAgICAgICAgaWYgc2VsZi5pc19yZXRpcmVkKCk6CisrICAgICAgICAgICAg cmFpc2UgcnBrZ0Vycm9yKCdUaGlzIHBhY2thZ2Ugb3IgbW9kdWxlIGlzIHJldGlyZWQuIFRoZSBh Y3Rpb24gaGFzIHN0b3BwZWQuJykKKyAgICAgICAgIHJldHVybiBvcy5wYXRoLmpvaW4oCisgICAg ICAgICAgICAgc2VsZi5wYXRoLCBzZWxmLmxheW91dC5zb3VyY2VzX2ZpbGVfdGVtcGxhdGUucmVw bGFjZSgiezAucmVwb19uYW1lfSIsIHNlbGYucmVwb19uYW1lKSkKKyAKK2RpZmYgLS1naXQgYS9w eXJwa2cvY2xpLnB5IGIvcHlycGtnL2NsaS5weQoraW5kZXggYzM2NzJiMy4uMWJjZjZlNCAxMDA2 NDQKKy0tLSBhL3B5cnBrZy9jbGkucHkKKysrKyBiL3B5cnBrZy9jbGkucHkKK0BAIC0zODYsNyAr Mzg2LDcgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaGVscD0nUnVuIEtvamkgY29tbWFuZHMgYXMgYSBkaWZmZXJlbnQgdXNlcicp CisgICAgICAgICAjIExldCB0aGUgdXNlciBkZWZpbmUgYSBwYXRoIHRvIHdvcmsgaW4gcmF0aGVy IHRoYW4gY3dkCisgICAgICAgICBzZWxmLnBhcnNlci5hZGRfYXJndW1lbnQoJy0tcGF0aCcsIGRl ZmF1bHQ9Tm9uZSwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPXV0aWxz LnUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT11dGlscy52YWxpZGF0 ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlbHA9J0RlZmluZSB0 aGUgZGlyZWN0b3J5IHRvIHdvcmsgaW4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICcoZGVmYXVsdHMgdG8gY3dkKScpCisgICAgICAgICAjIFZlcmJvc2l0eQorQEAgLTkxMSw4 ICs5MTEsOSBAQCBjbGFzcyBjbGlDbGllbnQob2JqZWN0KToKKyAgICAgICAgIGlmICdwYXRoJyBp biBhcmdzOgorICAgICAgICAgICAgICMgV2l0aG91dCAicGF0aCIsIHdlIGNhbid0IHJlYWxseSB0 ZXN0Li4uCisgICAgICAgICAgICAgdXJsID0gJyUocHJvdG9jb2wpczovLyUoaG9zdClzLyUocGF0 aClzL2luZm8vcmVmcz9zZXJ2aWNlPWdpdC1yZWNlaXZlLXBhY2snICUgYXJncworLSAgICAgICAg ICAgIHJlc3AgPSByZXF1ZXN0cy5oZWFkKHVybCwgYXV0aD1IVFRQQmFzaWNBdXRoKGFyZ3NbJ3Vz ZXJuYW1lJ10sCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYXJnc1sncGFzc3dvcmQnXSkpCisrICAgICAgICAgICAgcmVzcCA9IHJlcXVl c3RzLmhlYWQodXJsLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGg9SFRU UEJhc2ljQXV0aChhcmdzWyd1c2VybmFtZSddLCBhcmdzWydwYXNzd29yZCddKSwKKysgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aW1lb3V0PTE1KQorICAgICAgICAgICAgIGlmIHJl c3Auc3RhdHVzX2NvZGUgPT0gNDAxOgorICAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5vaWRj X2NsaWVudC5yZXBvcnRfdG9rZW5faXNzdWUoKQorIAorQEAgLTIzNjMsNiArMjM2NCw3IEBAIGNs YXNzIGNsaUNsaWVudChvYmplY3QpOgorIAorICAgICBkZWYgaW1wb3J0X3NycG0oc2VsZik6Cisg ICAgICAgICB1cGxvYWRmaWxlcyA9IHNlbGYuY21kLmltcG9ydF9zcnBtKHNlbGYuYXJncy5zcnBt KQorKyAgICAgICAgc2VsZi5sb2FkX2NtZCgpICAjIHRvIHJlbG9hZCBsYXlvdXRzIC0gYmVjYXVz ZSBhIHNwZWNmaWxlIGNvdWxkIGFwcGVhciBkdXJpbmcgaW1wb3J0CisgICAgICAgICBpZiB1cGxv YWRmaWxlczoKKyAgICAgICAgICAgICB0cnk6CisgICAgICAgICAgICAgICAgIHNlbGYuY21kLnVw bG9hZCh1cGxvYWRmaWxlcywgcmVwbGFjZT1UcnVlLCBvZmZsaW5lPXNlbGYuYXJncy5vZmZsaW5l KQorZGlmZiAtLWdpdCBhL3B5cnBrZy9sYXlvdXQvX19pbml0X18ucHkgYi9weXJwa2cvbGF5b3V0 L19faW5pdF9fLnB5CitpbmRleCA3NjJhZjBkLi44NTBkZGMyIDEwMDY0NAorLS0tIGEvcHlycGtn L2xheW91dC9fX2luaXRfXy5weQorKysrIGIvcHlycGtnL2xheW91dC9fX2luaXRfXy5weQorQEAg LTEyLDggKzEyLDggQEAKKyBmcm9tIHB5cnBrZy5lcnJvcnMgaW1wb3J0IExheW91dEVycm9yCisg CisgZnJvbSAuYmFzZSBpbXBvcnQgTWV0YUxheW91dAorLWZyb20gLmxheW91dHMgaW1wb3J0IChE aXN0R2l0TGF5b3V0LCBJbmNvbXBsZXRlTGF5b3V0LCAgIyBub3FhOiBGNDAxCistICAgICAgICAg ICAgICAgICAgICAgIFJldGlyZWRMYXlvdXQsIFNSUE1MYXlvdXQpCisrZnJvbSAubGF5b3V0cyBp bXBvcnQgKERpc3RHaXRMYXlvdXQsIERpc3RHaXRSZXN1bHRzRGlyTGF5b3V0LCAgIyBub3FhOiBG NDAxCisrICAgICAgICAgICAgICAgICAgICAgIEluY29tcGxldGVMYXlvdXQsIFJldGlyZWRMYXlv dXQsIFNSUE1MYXlvdXQpCisgCisgCisgZGVmIGJ1aWxkKHBhdGgsIGhpbnQ9Tm9uZSk6CitkaWZm IC0tZ2l0IGEvcHlycGtnL3V0aWxzLnB5IGIvcHlycGtnL3V0aWxzLnB5CitpbmRleCBjZWI0OTA2 Li4zMzM3YmRiIDEwMDY0NAorLS0tIGEvcHlycGtnL3V0aWxzLnB5CisrKysgYi9weXJwa2cvdXRp bHMucHkKK0BAIC0yNiwxMSArMjYsMjUgQEAgaWYgc2l4LlBZMzoKKyAgICAgZGVmIHUocyk6Cisg ICAgICAgICByZXR1cm4gcworIAorKyAgICBkZWYgdmFsaWRhdGVfcGF0aChzKToKKysgICAgICAg IGFic3BhdGggPSBvcy5wYXRoLmFic3BhdGgocykKKysgICAgICAgIGlmIG9zLnBhdGguZXhpc3Rz KGFic3BhdGgpOgorKyAgICAgICAgICAgIHJldHVybiBzCisrICAgICAgICBlbHNlOgorKyAgICAg ICAgICAgIHJhaXNlIGFyZ3BhcnNlLkFyZ3VtZW50VHlwZUVycm9yKCdnaXZlbiBwYXRoIFwnezB9 XCcgZG9lc25cJ3QgZXhpc3QnLmZvcm1hdChhYnNwYXRoKSkKKysKKyAgICAgZ2V0Y3dkID0gb3Mu Z2V0Y3dkCisgZWxzZToKKyAgICAgZGVmIHUocyk6CisgICAgICAgICByZXR1cm4gcy5kZWNvZGUo J3V0Zi04JykKKyAKKysgICAgZGVmIHZhbGlkYXRlX3BhdGgocyk6CisrICAgICAgICBhYnNwYXRo ID0gb3MucGF0aC5hYnNwYXRoKHMuZGVjb2RlKCd1dGYtOCcpKQorKyAgICAgICAgaWYgb3MucGF0 aC5leGlzdHMoYWJzcGF0aCk6CisrICAgICAgICAgICAgcmV0dXJuIHMuZGVjb2RlKCd1dGYtOCcp CisrICAgICAgICBlbHNlOgorKyAgICAgICAgICAgIHJhaXNlIGFyZ3BhcnNlLkFyZ3VtZW50VHlw ZUVycm9yKCdnaXZlbiBwYXRoIFwnezB9XCcgZG9lc25cJ3QgZXhpc3QnLmZvcm1hdChhYnNwYXRo KSkKKysKKyAgICAgZ2V0Y3dkID0gb3MuZ2V0Y3dkdQorIAorIAorZGlmZiAtLWdpdCBhL3Rlc3Rz L2NvbW1hbmRzL3Rlc3RfcHVzaC5weSBiL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfcHVzaC5weQoraW5k ZXggZWY4MDU3YS4uNzljM2E4YiAxMDA2NDQKKy0tLSBhL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfcHVz aC5weQorKysrIGIvdGVzdHMvY29tbWFuZHMvdGVzdF9wdXNoLnB5CitAQCAtMSw5ICsxLDEzIEBA CisgIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKyAKKyBpbXBvcnQgb3MKKytpbXBvcnQgc3VicHJv Y2VzcworIAorIGltcG9ydCBnaXQKKyAKKytpbXBvcnQgcHlycGtnCisrZnJvbSBweXJwa2cuc291 cmNlcyBpbXBvcnQgU291cmNlc0ZpbGUKKysKKyBmcm9tIC4gaW1wb3J0IENvbW1hbmRUZXN0Q2Fz ZQorIAorIFNQRUNGSUxFX1RFTVBMQVRFID0gIiIiTmFtZTogICAgICAgICAgIHRlc3QKK0BAIC0y MiwxMSArMjYsNiBAQCBUZXN0CisgJSVpbnN0YWxsCisgcm0gLWYgJFJQTV9CVUlMRF9ST09UJSV7 X3N5c2NvbmZkaXJ9LyIiIgorIAorLUNMT05FX0NPTkZJRyA9ICcnJworLSAgICBiei5kZWZhdWx0 LWNvbXBvbmVudCAlKG1vZHVsZSlzCistICAgIHNlbmRlbWFpbC50byAlKG1vZHVsZSlzLW93bmVy QGZlZG9yYXByb2plY3Qub3JnCistJycnCistCisgCisgY2xhc3MgQ29tbWFuZFB1c2hUZXN0Q2Fz ZShDb21tYW5kVGVzdENhc2UpOgorIAorQEAgLTQ1LDI4ICs0NCwzMCBAQCBjbGFzcyBDb21tYW5k UHVzaFRlc3RDYXNlKENvbW1hbmRUZXN0Q2FzZSk6CisgCisgICAgICAgICBzZWxmLm1ha2VfbmV3 X2dpdChzZWxmLm1vZHVsZSkKKyAKKy0gICAgICAgIGltcG9ydCBweXJwa2cKKy0gICAgICAgIGNt ZCA9IHB5cnBrZy5Db21tYW5kcyhzZWxmLnBhdGgsIHNlbGYubG9va2FzaWRlLAorLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYubG9va2FzaWRlaGFzaCwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLmxvb2thc2lkZV9jZ2ksIHNlbGYuZ2l0YmFzZXVybCwKKy0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmFub25naXR1cmwsIHNlbGYuYnJhbmNo cmUsIHNlbGYua29qaXByb2ZpbGUsCistICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5idWlsZF9jbGllbnQsIHNlbGYudXNlciwgc2VsZi5kaXN0LAorLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYudGFyZ2V0LCBzZWxmLnF1aWV0KQorLSAgICAgICAgY21kLmNsb25l X2NvbmZpZ19ycG1zID0gQ0xPTkVfQ09ORklHCistICAgICAgICBjbWQuY2xvbmUoc2VsZi5tb2R1 bGUsIGFub249VHJ1ZSkKKy0gICAgICAgIGNtZC5wYXRoID0gb3MucGF0aC5qb2luKHNlbGYucGF0 aCwgc2VsZi5tb2R1bGUpCistICAgICAgICBvcy5jaGRpcihvcy5wYXRoLmpvaW4oc2VsZi5wYXRo LCBzZWxmLm1vZHVsZSkpCisrICAgICAgICBtb2R1bGVkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5n aXRyb290LCBzZWxmLm1vZHVsZSkKKysgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbJ2dp dCcsICdjbG9uZScsICdmaWxlOi8vJXMnICUgbW9kdWxlZGlyXSwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjd2Q9c2VsZi5wYXRoLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisrCisr ICAgICAgICBzZWxmLmNsb25lZF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCBzZWxmLm1v ZHVsZSkKKysgICAgICAgIHNlbGYuY21kID0gcHlycGtnLkNvbW1hbmRzKHNlbGYuY2xvbmVkX2Rp ciwgc2VsZi5sb29rYXNpZGUsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLmxvb2thc2lkZWhhc2gsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLmxvb2thc2lkZV9jZ2ksIHNlbGYuZ2l0YmFzZXVybCwKKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuYW5vbmdpdHVybCwgc2VsZi5icmFuY2hyZSwgc2VsZi5rb2pp cHJvZmlsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRf Y2xpZW50LCBzZWxmLnVzZXIsIHNlbGYuZGlzdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYudGFyZ2V0LCBzZWxmLnF1aWV0KQorKyAgICAgICAgb3MuY2hkaXIoc2Vs Zi5jbG9uZWRfZGlyKQorIAorICAgICAgICAgc3BlY19maWxlID0gJ21vZHVsZS5zcGVjJworICAg ICAgICAgd2l0aCBvcGVuKHNwZWNfZmlsZSwgJ3cnKSBhcyBmOgorICAgICAgICAgICAgIGYud3Jp dGUoU1BFQ0ZJTEVfVEVNUExBVEUgJSAnJykKKyAKKy0gICAgICAgIGNtZC5yZXBvLmluZGV4LmFk ZChbc3BlY19maWxlXSkKKy0gICAgICAgIGNtZC5yZXBvLmluZGV4LmNvbW1pdCgiYWRkIFNQRUMi KQorKyAgICAgICAgc2VsZi5jbWQucmVwby5pbmRleC5hZGQoW3NwZWNfZmlsZV0pCisrICAgICAg ICBzZWxmLmNtZC5yZXBvLmluZGV4LmNvbW1pdCgiYWRkIFNQRUMiKQorIAorICAgICAgICAgIyBO b3csIGNoYW5nZSBkaXJlY3RvcnkgdG8gcGFyZW50IGFuZCB0ZXN0IHRoZSBwdXNoCisgICAgICAg ICBvcy5jaGRpcihzZWxmLnBhdGgpCistICAgICAgICBjbWQucHVzaChub192ZXJpZnk9VHJ1ZSkK KysgICAgICAgIHNlbGYuY21kLnB1c2gobm9fdmVyaWZ5PVRydWUpCisgCisgCisgY2xhc3MgVGVz dFB1c2hXaXRoUGF0Y2hlcyhDb21tYW5kVGVzdENhc2UpOgorQEAgLTc2LDE4ICs3NywyMCBAQCBj bGFzcyBUZXN0UHVzaFdpdGhQYXRjaGVzKENvbW1hbmRUZXN0Q2FzZSk6CisgCisgICAgICAgICBz ZWxmLm1ha2VfbmV3X2dpdChzZWxmLm1vZHVsZSkKKyAKKy0gICAgICAgIGltcG9ydCBweXJwa2cK Ky0gICAgICAgIHNlbGYuY21kID0gcHlycGtnLkNvbW1hbmRzKHNlbGYucGF0aCwgc2VsZi5sb29r YXNpZGUsCisrICAgICAgICBtb2R1bGVkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5naXRyb290LCBz ZWxmLm1vZHVsZSkKKysgICAgICAgIHN1YnByb2Nlc3MuY2hlY2tfY2FsbChbJ2dpdCcsICdjbG9u ZScsICdmaWxlOi8vJXMnICUgbW9kdWxlZGlyXSwKKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjd2Q9c2VsZi5wYXRoLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0ZGVycj1zdWJwcm9jZXNzLlBJUEUpCisrCisrICAgICAgICBz ZWxmLmNsb25lZF9kaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5wYXRoLCBzZWxmLm1vZHVsZSkKKysg ICAgICAgIHNlbGYuY21kID0gcHlycGtnLkNvbW1hbmRzKHNlbGYuY2xvbmVkX2Rpciwgc2VsZi5s b29rYXNpZGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvb2th c2lkZWhhc2gsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmxvb2th c2lkZV9jZ2ksIHNlbGYuZ2l0YmFzZXVybCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuYW5vbmdpdHVybCwgc2VsZi5icmFuY2hyZSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYua29qaXByb2ZpbGUsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2NsaWVudCwgc2VsZi51c2VyLCBzZWxmLmRpc3Qs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhcmdldCwgc2VsZi5x dWlldCkKKy0gICAgICAgIHNlbGYuY21kLmNsb25lX2NvbmZpZ19ycG1zID0gQ0xPTkVfQ09ORklH CistICAgICAgICBzZWxmLmNtZC5jbG9uZShzZWxmLm1vZHVsZSwgYW5vbj1UcnVlKQorLSAgICAg ICAgc2VsZi5jbWQucGF0aCA9IG9zLnBhdGguam9pbihzZWxmLnBhdGgsIHNlbGYubW9kdWxlKQor LSAgICAgICAgb3MuY2hkaXIob3MucGF0aC5qb2luKHNlbGYucGF0aCwgc2VsZi5tb2R1bGUpKQor KyAgICAgICAgb3MuY2hkaXIoc2VsZi5jbG9uZWRfZGlyKQorIAorICAgICAgICAgIyBUcmFjayBT UEVDIGFuZCBhLnBhdGNoIGluIGdpdAorICAgICAgICAgc3BlY19maWxlID0gJ21vZHVsZS5zcGVj JworQEAgLTEwMyw3ICsxMDYsNiBAQCBQYXRjaDM6IGQucGF0aAorICAgICAgICAgICAgICAgICBm LndyaXRlKHBhdGNoX2ZpbGUpCisgCisgICAgICAgICAjIFRyYWNrIGMucGF0Y2ggaW4gc291cmNl cworLSAgICAgICAgZnJvbSBweXJwa2cuc291cmNlcyBpbXBvcnQgU291cmNlc0ZpbGUKKyAgICAg ICAgIHNvdXJjZXNfZmlsZSA9IFNvdXJjZXNGaWxlKHNlbGYuY21kLnNvdXJjZXNfZmlsZW5hbWUs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmNtZC5zb3VyY2VfZW50 cnlfdHlwZSkKKyAgICAgICAgIGZpbGVfaGFzaCA9IHNlbGYuY21kLmxvb2thc2lkZWNhY2hlLmhh c2hfZmlsZSgnYy5wYXRjaCcpCitkaWZmIC0tZ2l0IGEvdGVzdHMvdGVzdF9jbGkucHkgYi90ZXN0 cy90ZXN0X2NsaS5weQoraW5kZXggZGYwNTNhYS4uODY4YWQxZiAxMDA2NDQKKy0tLSBhL3Rlc3Rz L3Rlc3RfY2xpLnB5CisrKysgYi90ZXN0cy90ZXN0X2NsaS5weQorQEAgLTE4NDEsOSArMTg0MSwx MSBAQCBjbGFzcyBUZXN0TW9ja2J1aWxkKENsaVRlc3RDYXNlKToKKyAgICAgQHBhdGNoKCdweXJw a2cuQ29tbWFuZHMuX2NvbmZpZ19kaXJfYmFzaWMnKQorICAgICBAcGF0Y2goJ3B5cnBrZy5Db21t YW5kcy5fY29uZmlnX2Rpcl9vdGhlcicpCisgICAgIEBwYXRjaCgnb3MucGF0aC5leGlzdHMnLCBy ZXR1cm5fdmFsdWU9RmFsc2UpCisrICAgIEBwYXRjaCgncHlycGtnLnV0aWxzLnZhbGlkYXRlX3Bh dGgnKQorICAgICBkZWYgdGVzdF91c2VfbW9ja19jb25maWdfZ290X2Zyb21fa29qaSgKKy0gICAg ICAgICAgICBzZWxmLCBleGlzdHMsIGNvbmZpZ19kaXJfb3RoZXIsIGNvbmZpZ19kaXJfYmFzaWMp OgorKyAgICAgICAgICAgIHNlbGYsIHZhbGlkYXRlX3BhdGgsIGV4aXN0cywgY29uZmlnX2Rpcl9v dGhlciwgY29uZmlnX2Rpcl9iYXNpYyk6CisgICAgICAgICBtb2NrX2xheW91dCA9IGxheW91dC5E aXN0R2l0TGF5b3V0KHJvb3RfZGlyPXNlbGYuY2xvbmVkX3JlcG9fcGF0aCkKKysgICAgICAgIHZh bGlkYXRlX3BhdGgucmV0dXJuX3ZhbHVlID0gc2VsZi5jbG9uZWRfcmVwb19wYXRoCisgICAgICAg ICB3aXRoIHBhdGNoKCdweXJwa2cubGF5b3V0LmJ1aWxkJywgcmV0dXJuX3ZhbHVlPW1vY2tfbGF5 b3V0KToKKyAgICAgICAgICAgICBjb25maWdfZGlyX2Jhc2ljLnJldHVybl92YWx1ZSA9ICcvcGF0 aC90by9jb25maWctZGlyJworIAorQEAgLTE4NTksOSArMTg2MSwxMSBAQCBjbGFzcyBUZXN0TW9j a2J1aWxkKENsaVRlc3RDYXNlKToKKyAKKyAgICAgQHBhdGNoKCdweXJwa2cuQ29tbWFuZHMuX2Nv bmZpZ19kaXJfYmFzaWMnKQorICAgICBAcGF0Y2goJ29zLnBhdGguZXhpc3RzJywgcmV0dXJuX3Zh bHVlPUZhbHNlKQorKyAgICBAcGF0Y2goJ3B5cnBrZy51dGlscy52YWxpZGF0ZV9wYXRoJykKKyAg ICAgZGVmIHRlc3RfZmFpbF90b19zdG9yZV9tb2NrX2NvbmZpZ19pbl9jcmVhdGVkX2NvbmZpZ19k aXIoCistICAgICAgICAgICAgc2VsZiwgZXhpc3RzLCBjb25maWdfZGlyX2Jhc2ljKToKKysgICAg ICAgICAgICBzZWxmLCB2YWxpZGF0ZV9wYXRoLCBleGlzdHMsIGNvbmZpZ19kaXJfYmFzaWMpOgor ICAgICAgICAgY29uZmlnX2Rpcl9iYXNpYy5zaWRlX2VmZmVjdCA9IHJwa2dFcnJvcgorKyAgICAg ICAgdmFsaWRhdGVfcGF0aC5yZXR1cm5fdmFsdWUgPSBzZWxmLmNsb25lZF9yZXBvX3BhdGgKKyAK KyAgICAgICAgIGNsaV9jbWQgPSBbJ3Jwa2cnLCAnLS1wYXRoJywgc2VsZi5jbG9uZWRfcmVwb19w YXRoLAorICAgICAgICAgICAgICAgICAgICAnLS1yZWxlYXNlJywgJ3JoZWwtNycsICdtb2NrYnVp bGQnXQorQEAgLTE4NzAsMTAgKzE4NzQsMTIgQEAgY2xhc3MgVGVzdE1vY2tidWlsZChDbGlUZXN0 Q2FzZSk6CisgICAgIEBwYXRjaCgncHlycGtnLkNvbW1hbmRzLl9jb25maWdfZGlyX2Jhc2ljJykK KyAgICAgQHBhdGNoKCdweXJwa2cuQ29tbWFuZHMuX2NvbmZpZ19kaXJfb3RoZXInKQorICAgICBA cGF0Y2goJ29zLnBhdGguZXhpc3RzJywgcmV0dXJuX3ZhbHVlPUZhbHNlKQorKyAgICBAcGF0Y2go J3B5cnBrZy51dGlscy52YWxpZGF0ZV9wYXRoJykKKyAgICAgZGVmIHRlc3RfZmFpbF90b19wb3B1 bGF0ZV9tb2NrX2NvbmZpZygKKy0gICAgICAgICAgICBzZWxmLCBleGlzdHMsIGNvbmZpZ19kaXJf b3RoZXIsIGNvbmZpZ19kaXJfYmFzaWMpOgorKyAgICAgICAgICAgIHNlbGYsIHZhbGlkYXRlX3Bh dGgsIGV4aXN0cywgY29uZmlnX2Rpcl9vdGhlciwgY29uZmlnX2Rpcl9iYXNpYyk6CisgICAgICAg ICBjb25maWdfZGlyX2Jhc2ljLnJldHVybl92YWx1ZSA9ICcvcGF0aC90by9jb25maWctZGlyJwor ICAgICAgICAgY29uZmlnX2Rpcl9vdGhlci5zaWRlX2VmZmVjdCA9IHJwa2dFcnJvcgorKyAgICAg ICAgdmFsaWRhdGVfcGF0aC5yZXR1cm5fdmFsdWUgPSBzZWxmLmNsb25lZF9yZXBvX3BhdGgKKyAK KyAgICAgICAgIGNsaV9jbWQgPSBbJ3Jwa2cnLCAnLS1wYXRoJywgc2VsZi5jbG9uZWRfcmVwb19w YXRoLAorICAgICAgICAgICAgICAgICAgICAnLS1yZWxlYXNlJywgJ3JoZWwtNycsICdtb2NrYnVp bGQnXQorLS0gCisyLjM5LjIKKwoKZGlmZiAtLWdpdCBhLzAwMDgtVXBkYXRlLXRvLXNwZWMtZmls ZS1wcmVzZW5jZS1jaGVja2luZy5wYXRjaCBiLzAwMDgtVXBkYXRlLXRvLXNwZWMtZmlsZS1wcmVz ZW5jZS1jaGVja2luZy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43 MjM0MTVmCi0tLSAvZGV2L251bGwKKysrIGIvMDAwOC1VcGRhdGUtdG8tc3BlYy1maWxlLXByZXNl bmNlLWNoZWNraW5nLnBhdGNoCkBAIC0wLDAgKzEsNDMgQEAKK0Zyb20gNzkxZmQwM2I0ZGUxMzI0 NTA4NTgzYWI1M2M4OWNjNjc0NTlkYjM1NSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDIxIE1hciAyMDIz IDEzOjQ0OjM4ICswMTAwCitTdWJqZWN0OiBbUEFUQ0ggMDgvMTJdIFVwZGF0ZSB0byBzcGVjIGZp bGUgcHJlc2VuY2UgY2hlY2tpbmcKKworVXNpbmcgYSBkaWZmZXJlbnQgYXBwcm9hY2ggdG8gY2hl Y2tpbmcgdGhlIGxheW91dC4gT2xkZXIgd2F5IHByZXZlbnRlZAorYHJldGlyZWAgZnVuY3Rpb24g d29ya2luZyBjb3JyZWN0bHkuIExheW91dHMgYXJlIGRldGVjdGVkIGF0IHRoZQorYmVnaW5uaW5n IG9mIHRoZSBydW4gYW5kIHRoZSByZXN1bHQgc3RheXMgdGhlIHNhbWUsIHVubGlrZSB0aGUgZGly ZWN0CitjaGVja2luZyBmaWxlcyBsaWtlIGRlYWQucGFja2FnZSBpbiBmdW5jdGlvbiBgaXNfcmV0 aXJlZGAuCisKK0ZpeGVzOiAjNjYzCitKSVJBOiBSSEVMQ01QLTExMzg3CisKK1NpZ25lZC1vZmYt Ynk6IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CistLS0KKyBweXJwa2cvX19pbml0 X18ucHkgfCA0ICsrLS0KKyAxIGZpbGUgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19faW5p dF9fLnB5CitpbmRleCAwMjhkMTk1Li5lOGY0ODg2IDEwMDY0NAorLS0tIGEvcHlycGtnL19faW5p dF9fLnB5CisrKysgYi9weXJwa2cvX19pbml0X18ucHkKK0BAIC05MjUsNyArOTI1LDcgQEAgY2xh c3MgQ29tbWFuZHMob2JqZWN0KToKKyAKKyAgICAgICAgIGlmIHNlbGYubGF5b3V0IGlzIE5vbmUg b3IgaXNpbnN0YW5jZShzZWxmLmxheW91dCwgbGF5b3V0LkluY29tcGxldGVMYXlvdXQpOgorICAg ICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignU3BlYyBmaWxlIGlzIG5vdCBhdmFpbGFibGUnKQor LSAgICAgICAgaWYgc2VsZi5pc19yZXRpcmVkKCk6CisrICAgICAgICBpZiBpc2luc3RhbmNlKHNl bGYubGF5b3V0LCBsYXlvdXQuUmV0aXJlZExheW91dCk6CisgICAgICAgICAgICAgcmFpc2UgcnBr Z0Vycm9yKCdUaGlzIHBhY2thZ2Ugb3IgbW9kdWxlIGlzIHJldGlyZWQuIFRoZSBhY3Rpb24gaGFz IHN0b3BwZWQuJykKKyAKKyAgICAgICAgICMgR2V0IGEgbGlzdCBvZiAiLnNwZWMiIGZpbGVzIGlu IHRoZSBwYXRoIHdlJ3JlIGxvb2tpbmcgYXQKK0BAIC0xMTY3LDcgKzExNjcsNyBAQCBjbGFzcyBD b21tYW5kcyhvYmplY3QpOgorICAgICBkZWYgc291cmNlc19maWxlbmFtZShzZWxmKToKKyAgICAg ICAgIGlmIHNlbGYubGF5b3V0IGlzIE5vbmUgb3IgaXNpbnN0YW5jZShzZWxmLmxheW91dCwgbGF5 b3V0LkluY29tcGxldGVMYXlvdXQpOgorICAgICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignU3Bl YyBmaWxlIGlzIG5vdCBhdmFpbGFibGUnKQorLSAgICAgICAgaWYgc2VsZi5pc19yZXRpcmVkKCk6 CisrICAgICAgICBpZiBpc2luc3RhbmNlKHNlbGYubGF5b3V0LCBsYXlvdXQuUmV0aXJlZExheW91 dCk6CisgICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdUaGlzIHBhY2thZ2Ugb3IgbW9kdWxl IGlzIHJldGlyZWQuIFRoZSBhY3Rpb24gaGFzIHN0b3BwZWQuJykKKyAgICAgICAgIHJldHVybiBv cy5wYXRoLmpvaW4oCisgICAgICAgICAgICAgc2VsZi5wYXRoLCBzZWxmLmxheW91dC5zb3VyY2Vz X2ZpbGVfdGVtcGxhdGUucmVwbGFjZSgiezAucmVwb19uYW1lfSIsIHNlbGYucmVwb19uYW1lKSkK Ky0tIAorMi4zOS4yCisKCmRpZmYgLS1naXQgYS8wMDA5LUFkZC1tb3JlLWluZm9ybWF0aW9uLWFi b3V0LXByZS1wdXNoLWhvb2sucGF0Y2ggYi8wMDA5LUFkZC1tb3JlLWluZm9ybWF0aW9uLWFib3V0 LXByZS1wdXNoLWhvb2sucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u NjBiYWQyNwotLS0gL2Rldi9udWxsCisrKyBiLzAwMDktQWRkLW1vcmUtaW5mb3JtYXRpb24tYWJv dXQtcHJlLXB1c2gtaG9vay5wYXRjaApAQCAtMCwwICsxLDQ0IEBACitGcm9tIDAzOTNkYzM5YmY0 NTBjZjIwZGY5ZGI2M2JhYzEzNWMwNzhmNjRhMTQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitG cm9tOiA9P1VURi04P3E/THVib209QzM9QURyPTIwU2VkbD1DMz1BMT1DNT05OT89IDxsc2VkbGFy QHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDI4IE1hciAyMDIzIDA4OjUzOjMwICswMjAwCitTdWJq ZWN0OiBbUEFUQ0ggMDkvMTJdIEFkZCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHByZS1wdXNoIGhv b2sKK01JTUUtVmVyc2lvbjogMS4wCitDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9 VVRGLTgKK0NvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKKworSXQncyBub3Qgb2J2aW91 cyB0byBtYW55IHVzZXJzIHdoZXJlIHRoZSBjaGVjayBpcyBjb21pbmcgZnJvbSwgYW5kIHRoZXkK K2hhdmUgdGhlIHBvd2VyIHRvIGVkaXQgdGhlIHNjcmlwdCBvciBkZWxldGUgaXQgY29tcGxldGVs eS4gTGV0J3MgdHJ5IHRvCitpbXByb3ZlIHRoYXQgYSBiaXQuCisKK1NpZ25lZC1vZmYtYnk6IEx1 Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhhdC5jb20+CistLS0KKyBweXJwa2cvX19pbml0 X18ucHkgfCA2ICsrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3B5cnBrZy9fX2luaXRfXy5weSBiL3B5cnBrZy9fX2lu aXRfXy5weQoraW5kZXggZThmNDg4Ni4uN2EzYzljNiAxMDA2NDQKKy0tLSBhL3B5cnBrZy9fX2lu aXRfXy5weQorKysrIGIvcHlycGtnL19faW5pdF9fLnB5CitAQCAtMTgwNiw2ICsxODA2LDEwIEBA IGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICBob29rX2NvbnRlbnQgPSB0ZXh0d3Jh cC5kZWRlbnQoIiIiCisgICAgICAgICAgICAgIyEvYmluL2Jhc2gKKyAKKysgICAgICAgICAgICAj IFRoaXMgZmlsZSB3YXMgZ2VuZXJhdGVkIGJ5IHswfSB3aGVuIGNsb25pbmcgdGhlIHJlcG9zaXRv cnkuCisrICAgICAgICAgICAgIyBZb3UgY2FuIGVkaXQgaXQgdG8geW91ciBsaWtpbmcgb3IgZGVs ZXRlIGNvbXBsZXRlbHkuIEl0IHdpbGwgbm90CisrICAgICAgICAgICAgIyBiZSByZWNyZWF0ZWQu CisrCisgICAgICAgICAgICAgX3JlbW90ZT0iJDEiCisgICAgICAgICAgICAgX3VybD0iJDIiCisg CitAQCAtNDQyOSw3ICs0NDMzLDcgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKKyAgICAgICAg IHJldHVybiBzZWxmLl9yZXBvX25hbWUsIHZlcnNpb24sIHJlbGVhc2UKKyAKKyAgICAgZGVmIHBy ZV9wdXNoX2NoZWNrKHNlbGYsIHJlZik6CistICAgICAgICBzaG93X2hpbnQgPSAoJ0hpbnQ6IHRo aXMgY2hlY2sgKHByZS1wdXNoIGhvb2sgc2NyaXB0KSBjYW4gYmUgYnlwYXNzZWQgYnkgYWRkaW5n ICcKKysgICAgICAgIHNob3dfaGludCA9ICgnSGludDogdGhpcyBjaGVjayAoLmdpdC9ob29rcy9w cmUtcHVzaCBzY3JpcHQpIGNhbiBiZSBieXBhc3NlZCBieSBhZGRpbmcgJworICAgICAgICAgICAg ICAgICAgICAgICd0aGUgYXJndW1lbnQgXCctLW5vLXZlcmlmeVwnIGFyZ3VtZW50IHRvIHRoZSBw dXNoIGNvbW1hbmQuJykKKyAgICAgICAgIHRyeToKKyAgICAgICAgICAgICBjb21taXQgPSBzZWxm LnJlcG8uY29tbWl0KHJlZikKKy0tIAorMi4zOS4yCisKCmRpZmYgLS1naXQgYS8wMDEwLXByZS1w dXNoLWNoZWNrLWhhdmUtdG8tdXNlLXNwZWN0b29sLXdpdGgtZGVmaW5lLnBhdGNoIGIvMDAxMC1w cmUtcHVzaC1jaGVjay1oYXZlLXRvLXVzZS1zcGVjdG9vbC13aXRoLWRlZmluZS5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmU3MDk0Ci0tLSAvZGV2L251bGwKKysr IGIvMDAxMC1wcmUtcHVzaC1jaGVjay1oYXZlLXRvLXVzZS1zcGVjdG9vbC13aXRoLWRlZmluZS5w YXRjaApAQCAtMCwwICsxLDE0NiBAQAorRnJvbSBkNWJlNTFlZWM5OTEwOGMzODA5NTUxYjYxNTA2 NGQwYzVjYmU2MjhhIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT25kcmVqIE5vc2Vr IDxvbm9zZWtAcmVkaGF0LmNvbT4KK0RhdGU6IFR1ZSwgMjggTWFyIDIwMjMgMTk6NTg6MDYgKzAy MDAKK1N1YmplY3Q6IFtQQVRDSCAxMC8xMl0gYHByZS1wdXNoLWNoZWNrYCBoYXZlIHRvIHVzZSBz cGVjdG9vbCB3aXRoIC0tZGVmaW5lCisKK1RvIGdldCBhbGwgZGVmaW5lZCBzb3VyY2UgZmlsZXMg YW5kIHBhdGNoZXMgZnJvbSB0aGUgc3BlY2ZpbGUsCit0aGUgJ3NwZWN0b29sJyB1dGlsaXR5IG5l ZWRzICctLWRlZmluZScgYXJndW1lbnQocykgdG8gc2V0IHNwZWNpZmljCitwYXRocyBmb3IgdGhl IHJlcG9zaXRvcnkuCisKK0pJUkE6IFJIRUxDTVAtMTE0NjYKK0ZpeGVzOiAjNjcyCisKK1NpZ25l ZC1vZmYtYnk6IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CistLS0KKyBweXJwa2cv X19pbml0X18ucHkgICAgICAgICAgICAgICAgICAgIHwgNTcgKysrKysrKysrKysrKysrLS0tLS0t LS0tLS0tCisgdGVzdHMvY29tbWFuZHMvdGVzdF9wcmVfcHVzaF9jaGVjay5weSB8ICAzICstCisg MiBmaWxlcyBjaGFuZ2VkLCAzMyBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKKworZGlm ZiAtLWdpdCBhL3B5cnBrZy9fX2luaXRfXy5weSBiL3B5cnBrZy9fX2luaXRfXy5weQoraW5kZXgg N2EzYzljNi4uNTg0YzE0MSAxMDA2NDQKKy0tLSBhL3B5cnBrZy9fX2luaXRfXy5weQorKysrIGIv cHlycGtnL19faW5pdF9fLnB5CitAQCAtNDQ0MiwzMCArNDQ0Miw0MSBAQCBjbGFzcyBDb21tYW5k cyhvYmplY3QpOgorICAgICAgICAgICAgIHN5cy5leGl0KDEpCisgCisgICAgICAgICB0cnk6Cisr ICAgICAgICAgICAgY2xvbmVfZGlyID0gdGVtcGZpbGUubWtkdGVtcChwcmVmaXg9InByZV9wdXNo X2hvb2tfIikKKysgICAgICAgICAgICBmb3IgY21kIGluIFsKKysgICAgICAgICAgICAgICAgKCdn aXQnLCAnY2xvbmUnLCBzZWxmLnBhdGgsIGNsb25lX2RpciksCisrICAgICAgICAgICAgICAgICgn Z2l0JywgJ2NoZWNrb3V0JywgcmVmKSwKKysgICAgICAgICAgICBdOgorKyAgICAgICAgICAgICAg ICByZXQsIF8sIF8gPSBzZWxmLl9ydW5fY29tbWFuZChjbWQsIGN3ZD1jbG9uZV9kaXIsCisrICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgc3VwcHJlc3MgdW53 YW50ZWQgcHJpbnRpbmcgb2YgY29tbWFuZCBsaW5lIG1lc3NhZ2VzCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybl9zdGRvdXQ9VHJ1ZSwgcmV0dXJu X3N0ZGVycj1UcnVlKQorKyAgICAgICAgICAgICAgICBpZiByZXQgIT0gMDoKKysgICAgICAgICAg ICAgICAgICAgIHNlbGYubG9nLmVycm9yKCdDb21tYW5kIFwnezB9XCcgZmFpbGVkLiBQdXNoIG9w ZXJhdGlvbiAnCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnd2FzIGNhbmNl bGxlZC4nLmZvcm1hdCgnICcuam9pbihjbWQpKSkKKysgICAgICAgICAgICAgICAgICAgIHNlbGYu bG9nLndhcm5pbmcoc2hvd19oaW50KQorKyAgICAgICAgICAgICAgICAgICAgc3lzLmV4aXQoMikK KysKKysgICAgICAgICAgICAjIGdldCBhbGwgc291cmNlIGZpbGVzIGZyb20gdGhlIHNwZWNmaWxl IChpbmNsdWRpbmcgcGF0Y2hlcykKKyAgICAgICAgICAgICAjIEFzc3VtZSwgdGhhdCBzcGVjZmls ZSBuYW1lcyBhcmUgc2FtZSBpbiB0aGUgYWN0aXZlIGJyYW5jaAorICAgICAgICAgICAgICMgYW5k IGluIHRoZSBwdXNoZWQgYnJhbmNoIChnaXQgY2hlY2tvdXQgZjM3ICYmIGdpdCBwdXNoIG9yaWdp biByYXdoaWRlKQorICAgICAgICAgICAgICMgaW4gdGhpcyBjYXNlICdmMzcnIGlzIGFjdGl2ZSBi cmFuY2ggYW5kICdyYXdoaWRlJyBpcyBwdXNoZWQgYnJhbmNoLgorICAgICAgICAgICAgIHNwZWNm aWxlX3BhdGhfYWJzb2x1dGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5sYXlvdXQuc3BlY2Rpciwgc2Vs Zi5zcGVjKQorICAgICAgICAgICAgICMgY29udmVydCB0byByZWxhdGl2ZSBwYXRoCisgICAgICAg ICAgICAgc3BlY2ZpbGVfcGF0aCA9IG9zLnBhdGgucmVscGF0aChzcGVjZmlsZV9wYXRoX2Fic29s dXRlLCBzdGFydD1zZWxmLnBhdGgpCistICAgICAgICAgICAgc3BlY19jb250ZW50ID0gc2VsZi5y ZXBvLmdpdC5jYXRfZmlsZSgiLXAiLCAiezB9OnsxfSIuZm9ybWF0KHJlZiwgc3BlY2ZpbGVfcGF0 aCkpCistICAgICAgICBleGNlcHQgRXhjZXB0aW9uOgorLSAgICAgICAgICAgICMgSXQgbWlnaHQg YmUgdGhlIGNhc2Ugb2YgYW4gZW1wdHkgY29tbWl0CistICAgICAgICAgICAgc2VsZi5sb2cud2Fy bmluZygnU3BlY2ZpbGUgZG9lc25cJ3QgZXhpc3QuIFB1c2ggb3BlcmF0aW9uIGNvbnRpbnVlcy4n KQorLSAgICAgICAgICAgIHJldHVybgorLQorLSAgICAgICAgIyBsb2FkIHNwZWNmaWxlIGNvbnRl bnQgZnJvbSBwdXNoZWQgYnJhbmNoIGFuZCBzYXZlIGl0IGludG8gYSB0ZW1wb3JhcnkgZmlsZQor LSAgICAgICAgd2l0aCB0ZW1wZmlsZS5OYW1lZFRlbXBvcmFyeUZpbGUobW9kZT0idysiKSBhcyB0 ZW1wb3Jhcnlfc3BlYzoKKy0gICAgICAgICAgICB0ZW1wb3Jhcnlfc3BlYy53cml0ZShzcGVjX2Nv bnRlbnQpCistICAgICAgICAgICAgdGVtcG9yYXJ5X3NwZWMuZmx1c2goKQorLSAgICAgICAgICAg ICMgZ2V0IGFsbCBzb3VyY2UgZmlsZXMgZnJvbSB0aGUgc3BlY2ZpbGUgKGluY2x1ZGluZyBwYXRj aGVzKQorLSAgICAgICAgICAgIGNtZCA9ICgnc3BlY3Rvb2wnLCAnLWwnLCB0ZW1wb3Jhcnlfc3Bl Yy5uYW1lKQorLSAgICAgICAgICAgIHJldCwgc3Rkb3V0LCBfID0gc2VsZi5fcnVuX2NvbW1hbmQo Y21kLCByZXR1cm5fdGV4dD1UcnVlLCByZXR1cm5fc3Rkb3V0PVRydWUpCisrICAgICAgICAgICAg Y21kID0gWydzcGVjdG9vbCcsICctbCcsIG9zLnBhdGguam9pbihjbG9uZV9kaXIsIHNwZWNmaWxl X3BhdGgpXQorKyAgICAgICAgICAgICMgZXh0cmFjdCBqdXN0ICctLWRlZmluZScgYXJndW1lbnRz IGZyb20gcnBtZGVmaW5lcworKyAgICAgICAgICAgIGZvciBvcHQsIHZhbCBpbiB6aXAoc2VsZi5y cG1kZWZpbmVzWzA6OjJdLCBzZWxmLnJwbWRlZmluZXNbMTo6Ml0pOgorKyAgICAgICAgICAgICAg ICBpZiBvcHQgPT0gJy0tZGVmaW5lJzoKKysgICAgICAgICAgICAgICAgICAgIGNtZC5leHRlbmQo KG9wdCwgdmFsKSkKKysgICAgICAgICAgICByZXQsIHN0ZG91dCwgXyA9IHNlbGYuX3J1bl9jb21t YW5kKGNtZCwgY3dkPWNsb25lX2RpciwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybl90ZXh0PVRydWUsIHJldHVybl9zdGRvdXQ9VHJ1ZSkKKyAg ICAgICAgICAgICBpZiByZXQgIT0gMDoKKyAgICAgICAgICAgICAgICAgc2VsZi5sb2cuZXJyb3Io J0NvbW1hbmQgXCd7MH1cJyBmYWlsZWQuIFB1c2ggb3BlcmF0aW9uICcKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ3dhcyBjYW5jZWxsZWQuJy5mb3JtYXQoJyAnLmpvaW4oY21kKSkp CisgICAgICAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoc2hvd19oaW50KQorLSAgICAgICAg ICAgICAgICBzeXMuZXhpdCgyKQorKyAgICAgICAgICAgICAgICBzeXMuZXhpdCgzKQorKyAgICAg ICAgZmluYWxseToKKysgICAgICAgICAgICBzZWxmLl9jbGVhbnVwX3RtcF9kaXIoY2xvbmVfZGly KQorIAorICAgICAgICAgc291cmNlX2ZpbGVzID0gW10KKyAgICAgICAgICMgZXh0cmFjdCBzb3Vy Y2UgZmlsZXMgZnJvbSB0aGUgc3BlY3Rvb2wncyBvdXRwdXQKK0BAIC00NDkwLDIyICs0NTAxLDE2 IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICAgICAgc291cmNlc19maWxlX3Bh dGhfYWJzb2x1dGUgPSBzZWxmLnNvdXJjZXNfZmlsZW5hbWUKKyAgICAgICAgICAgICAjIGNvbnZl cnQgdG8gcmVsYXRpdmUgcGF0aAorICAgICAgICAgICAgIHNvdXJjZXNfZmlsZV9wYXRoID0gb3Mu cGF0aC5yZWxwYXRoKHNvdXJjZXNfZmlsZV9wYXRoX2Fic29sdXRlLCBzdGFydD1zZWxmLnBhdGgp CistICAgICAgICAgICAgc291cmNlc19maWxlX2NvbnRlbnQgPSBzZWxmLnJlcG8uZ2l0LmNhdF9m aWxlKAorLSAgICAgICAgICAgICAgICAnLXAnLCAnezB9OnsxfScuZm9ybWF0KHJlZiwgc291cmNl c19maWxlX3BhdGgpKQorKworKyAgICAgICAgICAgICMgcGFyc2UgJ3NvdXJjZXMnIGZpbGVzIGNv bnRlbnQKKysgICAgICAgICAgICBzb3VyY2VzZiA9IFNvdXJjZXNGaWxlKHNvdXJjZXNfZmlsZV9w YXRoLCBzZWxmLnNvdXJjZV9lbnRyeV90eXBlKQorKyAgICAgICAgICAgIHNvdXJjZXNmX2VudHJp ZXMgPSBzZXQoaXRlbS5maWxlIGZvciBpdGVtIGluIHNvdXJjZXNmLmVudHJpZXMpCisgICAgICAg ICBleGNlcHQgRXhjZXB0aW9uOgorICAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoJ1wnc291 cmNlc1wnIGZpbGUgZG9lc25cJ3QgZXhpc3QuIFB1c2ggb3BlcmF0aW9uIGNvbnRpbnVlcy4nKQor ICAgICAgICAgICAgICMgTk9URTogY2hlY2sgZG9lc24ndCBmYWlsIHdoZW4gJ3NvdXJjZXMnIGZp bGUgZG9lc24ndCBleGlzdC4gSnVzdCBza2lwcyB0aGUgcmVzdC4KKyAgICAgICAgICAgICAjIGl0 IG1pZ2h0IGJlIHRoZSBjYXNlIG9mIHRoZSBwdXNoIHdpdGhvdXQgJ3NvdXJjZXMnID0gcmV0aXJp bmcgdGhlIHJlcG9zaXRvcnkKKyAgICAgICAgICAgICByZXR1cm4KKyAKKy0gICAgICAgICMgbG9h ZCAnc291cmNlcycgZmlsZSBjb250ZW50IGZyb20gcHVzaGVkIGJyYW5jaCBhbmQgc2F2ZSBpdCBp bnRvIGEgdGVtcG9yYXJ5IGZpbGUKKy0gICAgICAgIHdpdGggdGVtcGZpbGUuTmFtZWRUZW1wb3Jh cnlGaWxlKG1vZGU9IncrIikgYXMgdGVtcG9yYXJ5X3NvdXJjZXNfZmlsZToKKy0gICAgICAgICAg ICB0ZW1wb3Jhcnlfc291cmNlc19maWxlLndyaXRlKHNvdXJjZXNfZmlsZV9jb250ZW50KQorLSAg ICAgICAgICAgIHRlbXBvcmFyeV9zb3VyY2VzX2ZpbGUuZmx1c2goKQorLSAgICAgICAgICAgICMg cGFyc2UgJ3NvdXJjZXMnIGZpbGVzIGNvbnRlbnQKKy0gICAgICAgICAgICBzb3VyY2VzZiA9IFNv dXJjZXNGaWxlKHRlbXBvcmFyeV9zb3VyY2VzX2ZpbGUubmFtZSwgc2VsZi5zb3VyY2VfZW50cnlf dHlwZSkKKy0gICAgICAgIHNvdXJjZXNmX2VudHJpZXMgPSBzZXQoaXRlbS5maWxlIGZvciBpdGVt IGluIHNvdXJjZXNmLmVudHJpZXMpCistCisgICAgICAgICAjIGxpc3Qgb2YgYWxsIGZpbGVzICh0 aGVpciByZWxhdGl2ZSBwYXRocykgaW4gdGhlIGNvbW1pdAorICAgICAgICAgcmVwb19lbnRyaWVz ID0gc2V0KGl0ZW0ucGF0aCBmb3IgaXRlbSBpbiBjb21taXQudHJlZS50cmF2ZXJzZSgpIGlmIGl0 ZW0udHlwZSAhPSAidHJlZSIpCisgCitAQCAtNDUxOCw3ICs0NTIzLDcgQEAgY2xhc3MgQ29tbWFu ZHMob2JqZWN0KToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ25vciB0cmFja2Vk IGluIGdpdC4gJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnUHVzaCBvcGVyYXRp b24gd2FzIGNhbmNlbGxlZCcuZm9ybWF0KHNvdXJjZV9maWxlKSkKKyAgICAgICAgICAgICAgICAg c2VsZi5sb2cud2FybmluZyhzaG93X2hpbnQpCistICAgICAgICAgICAgICAgIHN5cy5leGl0KDMp CisrICAgICAgICAgICAgICAgIHN5cy5leGl0KDQpCisgCisgICAgICAgICAjIHZlcmlmeSBhbGwg ZmlsZSBlbnRyaWVzIGluICdzb3VyY2VzJyB3ZXJlIHVwbG9hZGVkIHRvIHRoZSBsb29rYXNpZGUg Y2FjaGUKKyAgICAgICAgIGZvciBlbnRyeSBpbiBzb3VyY2VzZi5lbnRyaWVzOgorQEAgLTQ1MzIs NiArNDUzNyw2IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHNl bGYubG9nLmVycm9yKCdTb3VyY2UgZmlsZSAob3IgdGFyYmFsbCkgXCd7fVwnIHdhc25cJ3QgdXBs b2FkZWQgdG8gdGhlIGxvb2thc2lkZSAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdjYWNoZS4gUHVzaCBvcGVyYXRpb24gd2FzIGNhbmNlbGxlZC4nLmZvcm1hdChmaWxlbmFtZSkp CisgICAgICAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoc2hvd19oaW50KQorLSAgICAgICAg ICAgICAgICBzeXMuZXhpdCg0KQorKyAgICAgICAgICAgICAgICBzeXMuZXhpdCg1KQorIAorICAg ICAgICAgcmV0dXJuIDAgICMgVGhlIHB1c2ggb3BlcmF0aW9uIGNvbnRpbnVlcworZGlmZiAtLWdp dCBhL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfcHJlX3B1c2hfY2hlY2sucHkgYi90ZXN0cy9jb21tYW5k cy90ZXN0X3ByZV9wdXNoX2NoZWNrLnB5CitpbmRleCA1ZTMxNGI5Li5lZTE1MWMxIDEwMDY0NAor LS0tIGEvdGVzdHMvY29tbWFuZHMvdGVzdF9wcmVfcHVzaF9jaGVjay5weQorKysrIGIvdGVzdHMv Y29tbWFuZHMvdGVzdF9wcmVfcHVzaF9jaGVjay5weQorQEAgLTM3LDYgKzM3LDcgQEAgY2xhc3Mg VGVzdFByZVB1c2hDaGVjayhDb21tYW5kVGVzdENhc2UpOgorICAgICBkZWYgc2V0VXAoc2VsZik6 CisgICAgICAgICBzdXBlcihUZXN0UHJlUHVzaENoZWNrLCBzZWxmKS5zZXRVcCgpCisgCisrICAg ICAgICBzZWxmLmRpc3QgPSAicmhlbC04IgorICAgICAgICAgc2VsZi5tYWtlX25ld19naXQoc2Vs Zi5tb2R1bGUpCisgCisgICAgICAgICBtb2R1bGVkaXIgPSBvcy5wYXRoLmpvaW4oc2VsZi5naXRy b290LCBzZWxmLm1vZHVsZSkKK0BAIC04Nyw3ICs4OCw3IEBAIFBhdGNoMzogZC5wYXRjaAorICAg ICAgICAgd2l0aCBzZWxmLmFzc2VydFJhaXNlcyhTeXN0ZW1FeGl0KSBhcyBleGM6CisgICAgICAg ICAgICAgc2VsZi5jbWQucHJlX3B1c2hfY2hlY2soIkhFQUQiKQorIAorLSAgICAgICAgc2VsZi5h c3NlcnRFcXVhbChleGMuZXhjZXB0aW9uLmNvZGUsIDMpCisrICAgICAgICBzZWxmLmFzc2VydEVx dWFsKGV4Yy5leGNlcHRpb24uY29kZSwgNCkKKyAgICAgICAgIGxvZ19lcnJvci5hc3NlcnRfY2Fs bGVkX29uY2Vfd2l0aCgiU291cmNlIGZpbGUgJ2IucGF0Y2gnIHdhcyBuZWl0aGVyIGxpc3RlZCBp biB0aGUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInc291 cmNlcycgZmlsZSBub3IgdHJhY2tlZCBpbiBnaXQuIFB1c2ggb3BlcmF0aW9uICIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2FzIGNhbmNlbGxlZCIpCistLSAK KzIuMzkuMgorCgpkaWZmIC0tZ2l0IGEvMDAxMS1BLUhFQUQtcXVlcnktaW50by1hLWxvb2thc2lk ZS1jYWNoZS5wYXRjaCBiLzAwMTEtQS1IRUFELXF1ZXJ5LWludG8tYS1sb29rYXNpZGUtY2FjaGUu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMyODFiMgotLS0gL2Rl di9udWxsCisrKyBiLzAwMTEtQS1IRUFELXF1ZXJ5LWludG8tYS1sb29rYXNpZGUtY2FjaGUucGF0 Y2gKQEAgLTAsMCArMSw5NyBAQAorRnJvbSA3N2NkNjA4ZTU5NmFmOTQ4MTFjMjJhMTZmZjU4YTI2 NWQ5YzczODFlIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogT25kcmVqIE5vc2VrIDxv bm9zZWtAcmVkaGF0LmNvbT4KK0RhdGU6IEZyaSwgMzEgTWFyIDIwMjMgMTQ6MDk6MDkgKzAyMDAK K1N1YmplY3Q6IFtQQVRDSCAxMS8xMl0gQSBIRUFEIHF1ZXJ5IGludG8gYSBsb29rYXNpZGUgY2Fj aGUKKworQSBxdWVyeSBhYm91dCB3aGV0aGVyIHNvbWUgZmlsZSBpcyBwcmVzZW50IGluIHRoZSBs b29rYXNpZGUgY2FjaGUgd2FzCit1bmRlciBhdXRoZW50aWNhdGlvbiBhbmQgaXQgcHJldmVudGVk IHVzaW5nIGNvbW1hbmQgYHByZS1wdXNoLWNoZWNrYAorZm9yIHRob3NlIHdpdGhvdXQgdGhlICdw YWNrYWdlcicgcGVybWlzc2lvbi4KK0FkZGVkIGFub3RoZXIgbWV0aG9kIChiYXNlZCBvbiBIVFRQ IEhFQUQpLCB0aGF0IGFsbG93cyB0aGUgc2FtZSBjaGVjaword2l0aG91dCBhdXRoZW50aWNhdGlv bi4KKworSklSQTogUkhFTENNUC0xMTQ4NQorRml4ZXM6IGh0dHBzOi8vcGFndXJlLmlvL2ZlZHBr Zy9pc3N1ZS81MTMKKworU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0 LmNvbT4KKy0tLQorIHB5cnBrZy9fX2luaXRfXy5weSAgfCAgMiArLQorIHB5cnBrZy9sb29rYXNp ZGUucHkgfCAzNiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KKyAyIGZpbGVz IGNoYW5nZWQsIDM1IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQg YS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKK2luZGV4IDU4NGMxNDEu LjE1MjAzYjcgMTAwNjQ0CistLS0gYS9weXJwa2cvX19pbml0X18ucHkKKysrKyBiL3B5cnBrZy9f X2luaXRfXy5weQorQEAgLTQ1MjksNyArNDUyOSw3IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6 CisgICAgICAgICBmb3IgZW50cnkgaW4gc291cmNlc2YuZW50cmllczoKKyAgICAgICAgICAgICBm aWxlbmFtZSA9IGVudHJ5LmZpbGUKKyAgICAgICAgICAgICBoYXNoID0gZW50cnkuaGFzaAorLSAg ICAgICAgICAgIGZpbGVfZXhpc3RzX2luX2xvb2thc2lkZSA9IHNlbGYubG9va2FzaWRlY2FjaGUu cmVtb3RlX2ZpbGVfZXhpc3RzKAorKyAgICAgICAgICAgIGZpbGVfZXhpc3RzX2luX2xvb2thc2lk ZSA9IHNlbGYubG9va2FzaWRlY2FjaGUucmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQoCisgICAgICAg ICAgICAgICAgIHNlbGYubnNfcmVwb19uYW1lIGlmIHNlbGYubG9va2FzaWRlX25hbWVzcGFjZWQg ZWxzZSBzZWxmLnJlcG9fbmFtZSwKKyAgICAgICAgICAgICAgICAgZmlsZW5hbWUsCisgICAgICAg ICAgICAgICAgIGhhc2gpCitkaWZmIC0tZ2l0IGEvcHlycGtnL2xvb2thc2lkZS5weSBiL3B5cnBr Zy9sb29rYXNpZGUucHkKK2luZGV4IDkwZjBmMWUuLmVjYmYxMmIgMTAwNjQ0CistLS0gYS9weXJw a2cvbG9va2FzaWRlLnB5CisrKysgYi9weXJwa2cvbG9va2FzaWRlLnB5CitAQCAtMjIsNyArMjIs NyBAQCBpbXBvcnQgc3lzCisgCisgaW1wb3J0IHB5Y3VybAorIGltcG9ydCBzaXgKKy1mcm9tIHNp eC5tb3ZlcyBpbXBvcnQgaHR0cF9jbGllbnQKKytmcm9tIHNpeC5tb3ZlcyBpbXBvcnQgaHR0cF9j bGllbnQsIHVybGxpYgorIAorIGZyb20gLmVycm9ycyBpbXBvcnQgKEFscmVhZHlVcGxvYWRlZEVy cm9yLCBEb3dubG9hZEVycm9yLCBJbnZhbGlkSGFzaFR5cGUsCisgICAgICAgICAgICAgICAgICAg ICAgVXBsb2FkRXJyb3IpCitAQCAtMTU3LDcgKzE1Nyw3IEBAIGNsYXNzIENHSUxvb2thc2lkZUNh Y2hlKG9iamVjdCk6CisgICAgICAgICAgICAgICAgIHJldHVybgorIAorICAgICAgICAgc2VsZi5s b2cuaW5mbygiRG93bmxvYWRpbmcgJXMiLCBmaWxlbmFtZSkKKy0gICAgICAgIHVybGVkX2ZpbGUg PSBmaWxlbmFtZS5yZXBsYWNlKCcgJywgJyUyMCcpCisrICAgICAgICB1cmxlZF9maWxlID0gdXJs bGliLnBhcnNlLnF1b3RlKGZpbGVuYW1lKQorICAgICAgICAgdXJsID0gc2VsZi5nZXRfZG93bmxv YWRfdXJsKG5hbWUsIHVybGVkX2ZpbGUsIGhhc2gsIGhhc2h0eXBlLCAqKmt3YXJncykKKyAgICAg ICAgIGlmIGlzaW5zdGFuY2UodXJsLCBzaXgudGV4dF90eXBlKToKKyAgICAgICAgICAgICB1cmwg PSB1cmwuZW5jb2RlKCd1dGYtOCcpCitAQCAtMjAwLDYgKzIwMCwzOCBAQCBjbGFzcyBDR0lMb29r YXNpZGVDYWNoZShvYmplY3QpOgorICAgICAgICAgaWYgbm90IHNlbGYuZmlsZV9pc192YWxpZChv dXRmaWxlLCBoYXNoLCBoYXNodHlwZT1oYXNodHlwZSk6CisgICAgICAgICAgICAgcmFpc2UgRG93 bmxvYWRFcnJvcignJXMgZmFpbGVkIGNoZWNrc3VtJyAlIGZpbGVuYW1lKQorIAorKyAgICBkZWYg cmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQoc2VsZiwgbmFtZSwgZmlsZW5hbWUsIGhhc2gpOgorKyAg ICAgICAgIiIiVmVyaWZ5IHdoZXRoZXIgYSBmaWxlIGV4aXN0cyBvbiB0aGUgbG9va2FzaWRlIGNh Y2hlLgorKyAgICAgICAgVXNlcyBhIEhUVFAgSEVBRCByZXF1ZXN0IGFuZCBkb2Vzbid0IHJlcXVp cmUgYXV0aGVudGljYXRpb24uCisrCisrICAgICAgICA6cGFyYW0gc3RyIG5hbWU6IFRoZSBuYW1l IG9mIHRoZSBtb2R1bGUuICh1c3VhbGx5IHRoZSBuYW1lIG9mIHRoZQorKyAgICAgICAgICAgIFNS UE0pLiBUaGlzIGNhbiBpbmNsdWRlIHRoZSBuYW1lc3BhY2UgYXMgd2VsbCAoZGVwZW5kaW5nIG9u IHdoYXQKKysgICAgICAgICAgICB0aGUgc2VydmVyIHNpZGUgZXhwZWN0cykuCisrICAgICAgICA6 cGFyYW0gc3RyIGZpbGVuYW1lOiBUaGUgbmFtZSBvZiB0aGUgZmlsZSB0byBjaGVjayBmb3IuCisr ICAgICAgICA6cGFyYW0gc3RyIGhhc2g6IFRoZSBrbm93biBnb29kIGhhc2ggb2YgdGhlIGZpbGUu CisrICAgICAgICAiIiIKKysKKysgICAgICAgIHVybGVkX2ZpbGUgPSB1cmxsaWIucGFyc2UucXVv dGUoZmlsZW5hbWUpCisrICAgICAgICB1cmwgPSBzZWxmLmdldF9kb3dubG9hZF91cmwobmFtZSwg dXJsZWRfZmlsZSwgaGFzaCwgc2VsZi5oYXNodHlwZSkKKysKKysgICAgICAgIGMgPSBweWN1cmwu Q3VybCgpCisrICAgICAgICBjLnNldG9wdChweWN1cmwuVVJMLCB1cmwpCisrICAgICAgICBjLnNl dG9wdChweWN1cmwuTk9CT0RZLCBUcnVlKQorKyAgICAgICAgYy5zZXRvcHQocHljdXJsLkZPTExP V0xPQ0FUSU9OLCAxKQorKworKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIGMucGVyZm9ybSgp CisrICAgICAgICAgICAgc3RhdHVzID0gYy5nZXRpbmZvKHB5Y3VybC5SRVNQT05TRV9DT0RFKQor KyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlOgorKyAgICAgICAgICAgIHJhaXNlIERvd25s b2FkRXJyb3IoZSkKKysgICAgICAgIGZpbmFsbHk6CisrICAgICAgICAgICAgYy5jbG9zZSgpCisr CisrICAgICAgICBpZiBzdGF0dXMgIT0gMjAwOgorKyAgICAgICAgICAgIHNlbGYubG9nLmRlYnVn KCdVbmF2YWlsYWJsZSBmaWxlIFwnJXNcJyBhdCAlcycgJSAoZmlsZW5hbWUsIHVybCkpCisrICAg ICAgICAgICAgcmV0dXJuIEZhbHNlCisrICAgICAgICByZXR1cm4gVHJ1ZQorKworICAgICBkZWYg cmVtb3RlX2ZpbGVfZXhpc3RzKHNlbGYsIG5hbWUsIGZpbGVuYW1lLCBoYXNoKToKKyAgICAgICAg ICIiIlZlcmlmeSB3aGV0aGVyIGEgZmlsZSBleGlzdHMgb24gdGhlIGxvb2thc2lkZSBjYWNoZQor IAorLS0gCisyLjM5LjIKKwoKZGlmZiAtLWdpdCBhLzAwMTItcHJlLXB1c2gtaG9vay1zY3JpcHQt Y29udGFpbnMtYS11c2VyLXMtY29uZmlnLnBhdGNoIGIvMDAxMi1wcmUtcHVzaC1ob29rLXNjcmlw dC1jb250YWlucy1hLXVzZXItcy1jb25maWcucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMC4uZmYyNjc2ZAotLS0gL2Rldi9udWxsCisrKyBiLzAwMTItcHJlLXB1c2gtaG9v ay1zY3JpcHQtY29udGFpbnMtYS11c2VyLXMtY29uZmlnLnBhdGNoCkBAIC0wLDAgKzEsMTk3IEBA CitGcm9tIDFmMDNlYjkxMDJmNzY1YzM2Y2MyMDFhNDk5ZDgxNTczMmU2N2RkMzkgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCitGcm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgor RGF0ZTogTW9uLCAyNyBNYXIgMjAyMyAyMzozNDoxMiArMDIwMAorU3ViamVjdDogW1BBVENIIDEy LzEyXSBwcmUtcHVzaCBob29rIHNjcmlwdCBjb250YWlucyBhIHVzZXIncyBjb25maWcKKworV2hl biB0aGUgYGNsb25lYCBjb21tYW5kIGlzIGNhbGxlZCB3aXRoIGFuIGFyZ3VtZW50CistQ3wtLWNv bmZpZyA8Y29uZmlnX2ZpbGU+Cit0aGlzIGFyZ3VtZW50IGlzIHBsYWNlZCB0byB0aGUgZ2VuZXJh dGVkIHByZS1wdXNoIHNjcmlwdC4KKworRml4ZXM6ICM2NjcKK0pJUkE6IFJIRUxDTVAtMTEzOTQK KworU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4KKy0tLQor IHB5cnBrZy9fX2luaXRfXy5weSAgICAgICAgICAgfCAyMyArKysrKysrKysrKystLS0tLS0tCisg cHlycGtnL2NsaS5weSAgICAgICAgICAgICAgICB8ICA2ICsrKy0tCisgdGVzdHMvY29tbWFuZHMv dGVzdF9jbG9uZS5weSB8IDQ0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwor IDMgZmlsZXMgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCisKK2Rp ZmYgLS1naXQgYS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKK2luZGV4 IDE1MjAzYjcuLjk5OTY0MDIgMTAwNjQ0CistLS0gYS9weXJwa2cvX19pbml0X18ucHkKKysrKyBi L3B5cnBrZy9fX2luaXRfXy5weQorQEAgLTE1NjYsNyArMTU2Niw4IEBAIGNsYXNzIENvbW1hbmRz KG9iamVjdCk6CisgICAgICAgICByZXR1cm4KKyAKKyAgICAgZGVmIGNsb25lKHNlbGYsIHJlcG8s IHBhdGg9Tm9uZSwgYnJhbmNoPU5vbmUsIGJhcmVfZGlyPU5vbmUsCistICAgICAgICAgICAgICBh bm9uPUZhbHNlLCB0YXJnZXQ9Tm9uZSwgZGVwdGg9Tm9uZSwgZXh0cmFfYXJncz1Ob25lKToKKysg ICAgICAgICAgICAgIGFub249RmFsc2UsIHRhcmdldD1Ob25lLCBkZXB0aD1Ob25lLCBleHRyYV9h cmdzPU5vbmUsCisrICAgICAgICAgICAgICBjb25maWdfcGF0aD1Ob25lKToKKyAgICAgICAgICIi IkNsb25lIGEgcmVwbywgb3B0aW9uYWxseSBjaGVjayBvdXQgYSBzcGVjaWZpYyBicmFuY2guCisg CisgICAgICAgICA6cGFyYW0gc3RyIHJlcG86IHRoZSBuYW1lIG9mIHRoZSByZXBvc2l0b3J5IHRv IGNsb25lLgorQEAgLTE1ODMsNiArMTU4NCw3IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Cisg ICAgICAgICAgICAgdG8gdGhlIHNwZWNpZmllZCBudW1iZXIgb2YgY29tbWl0cy4KKyAgICAgICAg IDpwYXJhbSBsaXN0IGV4dHJhX2FyZ3M6IGFkZGl0aW9uYWwgYXJndW1lbnRzIHRoYXQgYXJlIHBh c3NlZCB0bworICAgICAgICAgICAgIHRoZSBjbG9uZSBjb21tYW5kLgorKyAgICAgICAgOnBhcmFt IHN0ciBjb25maWdfcGF0aDogcGF0aCB0byB0aGUgZ2xvYmFsIGNvbmZpZyBmaWxlCisgICAgICAg ICAiIiIKKyAKKyAgICAgICAgIGlmIG5vdCBwYXRoOgorQEAgLTE2MzgsNyArMTY0MCw3IEBAIGNs YXNzIENvbW1hbmRzKG9iamVjdCk6CisgCisgICAgICAgICBpZiBub3QgYmFyZV9kaXI6CisgICAg ICAgICAgICAgc2VsZi5fYWRkX2dpdF9leGNsdWRlcyhvcy5wYXRoLmpvaW4ocGF0aCwgZ2l0X2Rp cikpCistICAgICAgICAgICAgc2VsZi5fYWRkX2dpdF9wcmVfcHVzaF9ob29rKG9zLnBhdGguam9p bihwYXRoLCBnaXRfZGlyKSkKKysgICAgICAgICAgICBzZWxmLl9hZGRfZ2l0X3ByZV9wdXNoX2hv b2sob3MucGF0aC5qb2luKHBhdGgsIGdpdF9kaXIpLCBjb25maWdfcGF0aCkKKyAKKyAgICAgICAg IHJldHVybgorIAorQEAgLTE2NTQsNyArMTY1Niw3IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6 CisgICAgICAgICByZXR1cm4gcmVwbworIAorICAgICBkZWYgY2xvbmVfd2l0aF9kaXJzKHNlbGYs IHJlcG8sIGFub249RmFsc2UsIHRhcmdldD1Ob25lLCBkZXB0aD1Ob25lLAorLSAgICAgICAgICAg ICAgICAgICAgICAgIGV4dHJhX2FyZ3M9Tm9uZSk6CisrICAgICAgICAgICAgICAgICAgICAgICAg ZXh0cmFfYXJncz1Ob25lLCBjb25maWdfcGF0aD1Ob25lKToKKyAgICAgICAgICIiIkNsb25lIGEg cmVwbyBvbGQgc3R5bGUgd2l0aCBzdWJkaXJzIGZvciBlYWNoIGJyYW5jaC4KKyAKKyAgICAgICAg IDpwYXJhbSBzdHIgcmVwbzogbmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBjbG9uZS4KK0BAIC0x NjY2LDYgKzE2NjgsNyBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAgICAgIHRv IHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9mIGNvbW1pdHMuCisgICAgICAgICA6cGFyYW0gbGlzdCBl eHRyYV9hcmdzOiBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0aGF0IGFyZSBwYXNzZWQgdG8KKyAgICAg ICAgICAgICB0aGUgY2xvbmUgY29tbWFuZC4KKysgICAgICAgIDpwYXJhbSBzdHIgY29uZmlnX3Bh dGg6IHBhdGggdG8gdGhlIGdsb2JhbCBjb25maWcgZmlsZQorICAgICAgICAgIiIiCisgCisgICAg ICAgICBzZWxmLl9wdXNoX3VybCA9IE5vbmUKK0BAIC0xNzI0LDcgKzE3MjcsNyBAQCBjbGFzcyBD b21tYW5kcyhvYmplY3QpOgorIAorICAgICAgICAgICAgICAgICAjIEFkZCBleGNsdWRlcworICAg ICAgICAgICAgICAgICBzZWxmLl9hZGRfZ2l0X2V4Y2x1ZGVzKGJyYW5jaF9wYXRoKQorLSAgICAg ICAgICAgICAgICBzZWxmLl9hZGRfZ2l0X3ByZV9wdXNoX2hvb2soYnJhbmNoX3BhdGgpCisrICAg ICAgICAgICAgICAgIHNlbGYuX2FkZF9naXRfcHJlX3B1c2hfaG9vayhicmFuY2hfcGF0aCwgY29u ZmlnX3BhdGgpCisgICAgICAgICAgICAgZXhjZXB0IChnaXQuR2l0Q29tbWFuZEVycm9yLCBPU0Vy cm9yKSBhcyBlOgorICAgICAgICAgICAgICAgICByYWlzZSBycGtnRXJyb3IoJ0NvdWxkIG5vdCBs b2NhbGx5IGNsb25lICVzIGZyb20gJXM6ICVzJworICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJSAoYnJhbmNoLCByZXBvX3BhdGgsIGUpKQorQEAgLTE3ODcsNyArMTc5MCw3IEBAIGNs YXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICBnaXRfZXhjbHVkZXMud3JpdGUoKQorICAg ICAgICAgc2VsZi5sb2cuZGVidWcoJ0dpdC1leGNsdWRlcyBwYXR0ZXJucyB3ZXJlIGFkZGVkIGlu dG8gJXMnICUgZ2l0X2V4Y2x1ZGVzX3BhdGgpCisgCistICAgIGRlZiBfYWRkX2dpdF9wcmVfcHVz aF9ob29rKHNlbGYsIGNvbmZfZGlyKToKKysgICAgZGVmIF9hZGRfZ2l0X3ByZV9wdXNoX2hvb2so c2VsZiwgcmVwb19kaXIsIGNvbmZpZ19wYXRoPU5vbmUpOgorICAgICAgICAgIiIiCisgICAgICAg ICBDcmVhdGUgcHJlLXB1c2ggaG9vayBzY3JpcHQgYW5kIHdyaXRlIGl0IGluIHRoZSBsb2NhdGlv bjoKKyAgICAgICAgIDxyZXBvc2l0b3J5X2RpcmVjdG9yeT4vLmdpdC9ob29rcy9wcmUtcHVzaAor QEAgLTE4MDMsNiArMTgwNiwxMCBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAg ICAgIHNlbGYubG9nLmRlYnVnKCdQcmUtcHVzaCBob29rIHNjcmlwdCB3YXMgTk9UIGFkZGVkIC0g bWlzc2luZyAnCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RoZSBwYWNrYWdpbmcgdG9v bCBsaWtlIGZlZHBrZywgcmhwa2csIC4uLicpCisgICAgICAgICAgICAgcmV0dXJuCisrCisrICAg ICAgICAjIGluIGNhc2UgdGhlIGNsb25lIGNvbW1hbmQgcnVuIHdpdGggJ3gtcGtnIC1DIDxjb25m aWdfcGF0aD4gY2xvbmUgPHJlcG9fbmFtZT4nCisrICAgICAgICBjb25maWdfYXJnID0gJyAtQyAi ezB9IicuZm9ybWF0KG9zLnBhdGgucmVhbHBhdGgoY29uZmlnX3BhdGgpKSBpZiBjb25maWdfcGF0 aCBlbHNlICIiCisrCisgICAgICAgICBob29rX2NvbnRlbnQgPSB0ZXh0d3JhcC5kZWRlbnQoIiIi CisgICAgICAgICAgICAgIyEvYmluL2Jhc2gKKyAKK0BAIC0xODE4LDcgKzE4MjUsNyBAQCBjbGFz cyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAgICAgIGRvCisgICAgICAgICAgICAgICAgIGNv bW1hbmQgLXYgezB9ID4vZGV2L251bGwgMj4mMSB8fCB7eyBlY2hvID4mMiAiV2FybmluZzogJ3sw fScgaXMgbWlzc2luZywgXFwKKyAgICAgICAgICAgICBwcmUtcHVzaCBjaGVjayBpcyBvbWl0dGVk LiBTZWUgLmdpdC9ob29rcy9wcmUtcHVzaCI7IGV4aXQgMDsgfX0KKy0gICAgICAgICAgICAgICAg ezB9IHByZS1wdXNoLWNoZWNrICIkbG9jYWxfc2hhIgorKyAgICAgICAgICAgICAgICB7MH17MX0g cHJlLXB1c2gtY2hlY2sgIiRsb2NhbF9zaGEiCisgICAgICAgICAgICAgICAgIHJldF9jb2RlPSQ/ CisgICAgICAgICAgICAgICAgIGlmIFsgJHJldF9jb2RlIC1uZSAwIF0gJiYgWyAkZXhpdF9jb2Rl IC1lcSAwIF07IHRoZW4KKyAgICAgICAgICAgICAgICAgICAgIGV4aXRfY29kZT0kcmV0X2NvZGUK K0BAIC0xODI2LDggKzE4MzMsOCBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAg ICAgIGRvbmUKKyAKKyAgICAgICAgICAgICBleGl0ICRleGl0X2NvZGUKKy0gICAgICAgICIiIiku c3RyaXAoKS5mb3JtYXQodG9vbF9uYW1lKQorLSAgICAgICAgZ2l0X3ByZV9wdXNoX2hvb2tfcGF0 aCA9IG9zLnBhdGguam9pbihjb25mX2RpciwgJy5naXQvaG9va3MvcHJlLXB1c2gnKQorKyAgICAg ICAgIiIiKS5zdHJpcCgpLmZvcm1hdCh0b29sX25hbWUsIGNvbmZpZ19hcmcpCisrICAgICAgICBn aXRfcHJlX3B1c2hfaG9va19wYXRoID0gb3MucGF0aC5qb2luKHJlcG9fZGlyLCAnLmdpdC9ob29r cy9wcmUtcHVzaCcpCisgICAgICAgICBpZiBub3Qgb3MucGF0aC5leGlzdHMob3MucGF0aC5kaXJu YW1lKGdpdF9wcmVfcHVzaF9ob29rX3BhdGgpKToKKyAgICAgICAgICAgICAjIHByZXBhcmUgIi5n aXQvaG9va3MiIGRpcmVjdG9yeSBpZiBpdCBpcyBtaXNzaW5nCisgICAgICAgICAgICAgb3MubWFr ZWRpcnMob3MucGF0aC5kaXJuYW1lKGdpdF9wcmVfcHVzaF9ob29rX3BhdGgpKQorZGlmZiAtLWdp dCBhL3B5cnBrZy9jbGkucHkgYi9weXJwa2cvY2xpLnB5CitpbmRleCAxYmNmNmU0Li4zZDhjZTMz IDEwMDY0NAorLS0tIGEvcHlycGtnL2NsaS5weQorKysrIGIvcHlycGtnL2NsaS5weQorQEAgLTIx ODIsMTQgKzIxODIsMTYgQEAgY2xhc3MgY2xpQ2xpZW50KG9iamVjdCk6CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFub249c2VsZi5hcmdzLmFub255bW91cywKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0PXNlbGYuYXJncy5jbG9uZV90 YXJnZXQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlcHRoPXNlbGYu YXJncy5kZXB0aCwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFf YXJncz1zZWxmLmV4dHJhX2FyZ3MpCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGV4dHJhX2FyZ3M9c2VsZi5leHRyYV9hcmdzLAorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBjb25maWdfcGF0aD1zZWxmLmFyZ3MuY29uZmlnKQorICAgICAgICAgZWxz ZToKKyAgICAgICAgICAgICBzZWxmLmNtZC5jbG9uZShzZWxmLmFyZ3MucmVwb1swXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBicmFuY2g9c2VsZi5hcmdzLmJyYW5jaCwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhbm9uPXNlbGYuYXJncy5hbm9ueW1vdXMsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdGFyZ2V0PXNlbGYuYXJncy5jbG9uZV90YXJnZXQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZGVwdGg9c2VsZi5hcmdzLmRlcHRoLAorLSAgICAgICAgICAg ICAgICAgICAgICAgICAgIGV4dHJhX2FyZ3M9c2VsZi5leHRyYV9hcmdzKQorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIGV4dHJhX2FyZ3M9c2VsZi5leHRyYV9hcmdzLAorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbmZpZ19wYXRoPXNlbGYuYXJncy5jb25maWcpCisgCisgICAgIGRl ZiBjb21taXQoc2VsZik6CisgICAgICAgICBpZiBzZWxmLmFyZ3Mud2l0aF9jaGFuZ2Vsb2cgYW5k IG5vdCBzZWxmLmFyZ3MubWVzc2FnZToKK2RpZmYgLS1naXQgYS90ZXN0cy9jb21tYW5kcy90ZXN0 X2Nsb25lLnB5IGIvdGVzdHMvY29tbWFuZHMvdGVzdF9jbG9uZS5weQoraW5kZXggZjc0MTg2NC4u NmVmMTMwMCAxMDA2NDQKKy0tLSBhL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfY2xvbmUucHkKKysrKyBi L3Rlc3RzL2NvbW1hbmRzL3Rlc3RfY2xvbmUucHkKK0BAIC05NSw2ICs5NSw1MCBAQCBjbGFzcyBD b21tYW5kQ2xvbmVUZXN0Q2FzZShDb21tYW5kVGVzdENhc2UpOgorIAorICAgICAgICAgc2h1dGls LnJtdHJlZShhbHRwYXRoKQorIAorKyAgICBkZWYgdGVzdF9jbG9uZV9hbm9ueW1vdXNfcHJlX3B1 c2hfaG9vayhzZWxmKToKKysgICAgICAgIHNlbGYubWFrZV9uZXdfZ2l0KHNlbGYubW9kdWxlKQor KworKyAgICAgICAgYWx0cGF0aCA9IHRlbXBmaWxlLm1rZHRlbXAocHJlZml4PSdycGtnLXRlc3Rz LicpCisrCisrICAgICAgICBjbWQgPSBweXJwa2cuQ29tbWFuZHMoc2VsZi5wYXRoLCBzZWxmLmxv b2thc2lkZSwgc2VsZi5sb29rYXNpZGVoYXNoLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYubG9va2FzaWRlX2NnaSwgc2VsZi5naXRiYXNldXJsLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuYW5vbmdpdHVybCwgc2VsZi5icmFuY2hyZSwgc2VsZi5rb2pp cHJvZmlsZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmJ1aWxkX2NsaWVu dCwgc2VsZi51c2VyLCBzZWxmLmRpc3QsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi50YXJnZXQsIHNlbGYucXVpZXQpCisrICAgICAgICBjbWQuY2xvbmUoc2VsZi5tb2R1bGUs IGFub249VHJ1ZSwgY29uZmlnX3BhdGg9Tm9uZSkKKysKKysgICAgICAgIG1vZHVsZWRpciA9IG9z LnBhdGguam9pbihzZWxmLnBhdGgsIHNlbGYubW9kdWxlKQorKyAgICAgICAgc2VsZi5hc3NlcnRU cnVlKG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihtb2R1bGVkaXIsICcuZ2l0L2hvb2tzL3By ZS1wdXNoJykpKQorKworKyAgICAgICAgd2l0aCBvcGVuKG9zLnBhdGguam9pbihtb2R1bGVkaXIs ICcuZ2l0L2hvb2tzL3ByZS1wdXNoJykpIGFzIGdpdF9ob29rX3NjcmlwdDoKKysgICAgICAgICAg ICBjb250ZW50ID0gZ2l0X2hvb2tfc2NyaXB0LnJlYWQoKQorKyAgICAgICAgICAgIHBhdHRlcm4g PSAnX19tYWluX18ucHkgcHJlLXB1c2gtY2hlY2sgIiRsb2NhbF9zaGEiJworKyAgICAgICAgICAg IHNlbGYuYXNzZXJ0SW4ocGF0dGVybiwgY29udGVudCkKKysKKysgICAgICAgIHNodXRpbC5ybXRy ZWUoYWx0cGF0aCkKKysKKysgICAgZGVmIHRlc3RfY2xvbmVfYW5vbnltb3VzX3ByZV9wdXNoX2hv b2tfY29uZmlnKHNlbGYpOgorKyAgICAgICAgc2VsZi5tYWtlX25ld19naXQoc2VsZi5tb2R1bGUp CisrCisrICAgICAgICBhbHRwYXRoID0gdGVtcGZpbGUubWtkdGVtcChwcmVmaXg9J3Jwa2ctdGVz dHMuJykKKysKKysgICAgICAgIGNtZCA9IHB5cnBrZy5Db21tYW5kcyhzZWxmLnBhdGgsIHNlbGYu bG9va2FzaWRlLCBzZWxmLmxvb2thc2lkZWhhc2gsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5sb29rYXNpZGVfY2dpLCBzZWxmLmdpdGJhc2V1cmwsCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5hbm9uZ2l0dXJsLCBzZWxmLmJyYW5jaHJlLCBzZWxmLmtv amlwcm9maWxlLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuYnVpbGRfY2xp ZW50LCBzZWxmLnVzZXIsIHNlbGYuZGlzdCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLnRhcmdldCwgc2VsZi5xdWlldCkKKysgICAgICAgIGNtZC5jbG9uZShzZWxmLm1vZHVs ZSwgYW5vbj1UcnVlLCBjb25maWdfcGF0aD0iL2hvbWUvY29uZi9yaHBrZy5jb25mIikKKysKKysg ICAgICAgIG1vZHVsZWRpciA9IG9zLnBhdGguam9pbihzZWxmLnBhdGgsIHNlbGYubW9kdWxlKQor KyAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9zLnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihtb2R1 bGVkaXIsICcuZ2l0L2hvb2tzL3ByZS1wdXNoJykpKQorKworKyAgICAgICAgd2l0aCBvcGVuKG9z LnBhdGguam9pbihtb2R1bGVkaXIsICcuZ2l0L2hvb2tzL3ByZS1wdXNoJykpIGFzIGdpdF9ob29r X3NjcmlwdDoKKysgICAgICAgICAgICBjb250ZW50ID0gZ2l0X2hvb2tfc2NyaXB0LnJlYWQoKQor KyAgICAgICAgICAgIHBhdHRlcm4gPSAnX19tYWluX18ucHkgLUMgIi9ob21lL2NvbmYvcmhwa2cu Y29uZiIgcHJlLXB1c2gtY2hlY2sgIiRsb2NhbF9zaGEiJworKyAgICAgICAgICAgIHNlbGYuYXNz ZXJ0SW4ocGF0dGVybiwgY29udGVudCkKKysKKysgICAgICAgIHNodXRpbC5ybXRyZWUoYWx0cGF0 aCkKKysKKyAgICAgZGVmIHRlc3RfY2xvbmVfYW5vbnltb3VzX3dpdGhfYnJhbmNoKHNlbGYpOgor ICAgICAgICAgc2VsZi5tYWtlX25ld19naXQoc2VsZi5tb2R1bGUsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICBicmFuY2hlcz1bJ3Jwa2ctdGVzdHMtMScsICdycGtnLXRlc3RzLTInXSkKKy0t IAorMi4zOS4yCisKCmRpZmYgLS1naXQgYS8wMDEzLUZpeC11bml0dGVzdHMtZm9yLWNsb25lLWFu ZC1wcmUtcHVzaC1ob29rLXNjcmlwdC5wYXRjaCBiLzAwMTMtRml4LXVuaXR0ZXN0cy1mb3ItY2xv bmUtYW5kLXByZS1wdXNoLWhvb2stc2NyaXB0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLjk5MWZiMjIKLS0tIC9kZXYvbnVsbAorKysgYi8wMDEzLUZpeC11bml0dGVz dHMtZm9yLWNsb25lLWFuZC1wcmUtcHVzaC1ob29rLXNjcmlwdC5wYXRjaApAQCAtMCwwICsxLDQ5 IEBACitGcm9tIDFkODJiN2VhZjk4ZTY5NTY4OWE3ZGMxMGJkMzA4MDMwZTNjMTNlZWEgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29t PgorRGF0ZTogU2F0LCAxIEFwciAyMDIzIDAxOjM0OjM0ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hd IEZpeCB1bml0dGVzdHMgZm9yIGBjbG9uZWAgYW5kIHByZS1wdXNoIGhvb2sgc2NyaXB0CisKK1Np Z25lZC1vZmYtYnk6IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CistLS0KKyB0ZXN0 cy9jb21tYW5kcy90ZXN0X2Nsb25lLnB5IHwgOCArKysrKystLQorIDEgZmlsZSBjaGFuZ2VkLCA2 IGluc2VydGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS90ZXN0cy9jb21t YW5kcy90ZXN0X2Nsb25lLnB5IGIvdGVzdHMvY29tbWFuZHMvdGVzdF9jbG9uZS5weQoraW5kZXgg NmVmMTMwMC4uODVmZGZkMSAxMDA2NDQKKy0tLSBhL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfY2xvbmUu cHkKKysrKyBiL3Rlc3RzL2NvbW1hbmRzL3Rlc3RfY2xvbmUucHkKK0BAIC0xLDUgKzEsNiBAQAor IGltcG9ydCBvcworIGltcG9ydCBzaHV0aWwKKytpbXBvcnQgc3lzCisgaW1wb3J0IHRlbXBmaWxl CisgCisgaW1wb3J0IGdpdAorQEAgLTExMCw5ICsxMTEsMTAgQEAgY2xhc3MgQ29tbWFuZENsb25l VGVzdENhc2UoQ29tbWFuZFRlc3RDYXNlKToKKyAgICAgICAgIG1vZHVsZWRpciA9IG9zLnBhdGgu am9pbihzZWxmLnBhdGgsIHNlbGYubW9kdWxlKQorICAgICAgICAgc2VsZi5hc3NlcnRUcnVlKG9z LnBhdGguaXNmaWxlKG9zLnBhdGguam9pbihtb2R1bGVkaXIsICcuZ2l0L2hvb2tzL3ByZS1wdXNo JykpKQorIAorKyAgICAgICAgY2xvbm5lZF9ieSA9IG9zLnBhdGguYmFzZW5hbWUoc3lzLmFyZ3Zb MF0pCisgICAgICAgICB3aXRoIG9wZW4ob3MucGF0aC5qb2luKG1vZHVsZWRpciwgJy5naXQvaG9v a3MvcHJlLXB1c2gnKSkgYXMgZ2l0X2hvb2tfc2NyaXB0OgorICAgICAgICAgICAgIGNvbnRlbnQg PSBnaXRfaG9va19zY3JpcHQucmVhZCgpCistICAgICAgICAgICAgcGF0dGVybiA9ICdfX21haW5f Xy5weSBwcmUtcHVzaC1jaGVjayAiJGxvY2FsX3NoYSInCisrICAgICAgICAgICAgcGF0dGVybiA9 ICd7MH0gcHJlLXB1c2gtY2hlY2sgIiRsb2NhbF9zaGEiJy5mb3JtYXQoY2xvbm5lZF9ieSkKKyAg ICAgICAgICAgICBzZWxmLmFzc2VydEluKHBhdHRlcm4sIGNvbnRlbnQpCisgCisgICAgICAgICBz aHV0aWwucm10cmVlKGFsdHBhdGgpCitAQCAtMTMyLDkgKzEzNCwxMSBAQCBjbGFzcyBDb21tYW5k Q2xvbmVUZXN0Q2FzZShDb21tYW5kVGVzdENhc2UpOgorICAgICAgICAgbW9kdWxlZGlyID0gb3Mu cGF0aC5qb2luKHNlbGYucGF0aCwgc2VsZi5tb2R1bGUpCisgICAgICAgICBzZWxmLmFzc2VydFRy dWUob3MucGF0aC5pc2ZpbGUob3MucGF0aC5qb2luKG1vZHVsZWRpciwgJy5naXQvaG9va3MvcHJl LXB1c2gnKSkpCisgCisrICAgICAgICBjbG9ubmVkX2J5ID0gb3MucGF0aC5iYXNlbmFtZShzeXMu YXJndlswXSkKKyAgICAgICAgIHdpdGggb3Blbihvcy5wYXRoLmpvaW4obW9kdWxlZGlyLCAnLmdp dC9ob29rcy9wcmUtcHVzaCcpKSBhcyBnaXRfaG9va19zY3JpcHQ6CisgICAgICAgICAgICAgY29u dGVudCA9IGdpdF9ob29rX3NjcmlwdC5yZWFkKCkKKy0gICAgICAgICAgICBwYXR0ZXJuID0gJ19f bWFpbl9fLnB5IC1DICIvaG9tZS9jb25mL3JocGtnLmNvbmYiIHByZS1wdXNoLWNoZWNrICIkbG9j YWxfc2hhIicKKysgICAgICAgICAgICBwYXR0ZXJuID0gJ3swfSAtQyAiL2hvbWUvY29uZi9yaHBr Zy5jb25mIiBwcmUtcHVzaC1jaGVjayAnIFwKKysgICAgICAgICAgICAgICAgICAgICAgJyIkbG9j YWxfc2hhIicuZm9ybWF0KGNsb25uZWRfYnkpCisgICAgICAgICAgICAgc2VsZi5hc3NlcnRJbihw YXR0ZXJuLCBjb250ZW50KQorIAorICAgICAgICAgc2h1dGlsLnJtdHJlZShhbHRwYXRoKQorLS0g CisyLjM5LjIKKwoKZGlmZiAtLWdpdCBhLzAwMTQtaW1wb3J0X3NycG0tYWxsb3ctcHJlLWdlbmVy YXRlZC1zcnBtcy5wYXRjaCBiLzAwMTQtaW1wb3J0X3NycG0tYWxsb3ctcHJlLWdlbmVyYXRlZC1z cnBtcy5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTk2MjY1Ci0t LSAvZGV2L251bGwKKysrIGIvMDAxNC1pbXBvcnRfc3JwbS1hbGxvdy1wcmUtZ2VuZXJhdGVkLXNy cG1zLnBhdGNoCkBAIC0wLDAgKzEsMTA1IEBACitGcm9tIGQ4N2NiMzdmYTJmZWEyZWQ1MzViOTA4 NWExZjRjNjA3MDgzZTFjMmUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBPbmRyZWog Tm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgorRGF0ZTogVHVlLCA0IEFwciAyMDIzIDAxOjQwOjIz ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMS82XSBpbXBvcnRfc3JwbTogYWxsb3cgcHJlLWdlbmVy YXRlZCBzcnBtcworCitXaGVuIGFjdGl2ZSwgZG8gbm90IGNhcmUgc3BlY2ZpbGUgaW4gdGhlIHNy cG0gaXMgcHJvY2Vzc2VkIGJ5CitycG1hdXRvc3BlYy4gQ2FuIGJlIGFjdGl2YXRlZCBvbmx5IGRp cmVjdGx5IHZpYSBweXJwa2cgJ0NvbW1hbmRzJworb2JqZWN0LgorCitSZWxhdGVzOiBodHRwczov L2dpdGh1Yi5jb20vZmVkb3JhLWNvcHIvY29wci9pc3N1ZXMvMjMxNworRml4ZXM6ICM2NTUKK1JI RUxDTVAtMTEwODUKKworU2lnbmVkLW9mZi1ieTogT25kcmVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0 LmNvbT4KKy0tLQorIHB5cnBrZy9fX2luaXRfXy5weSB8ICA2ICsrKysrLQorIHRlc3RzL3Rlc3Rf Y2xpLnB5ICB8IDQxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCisg MiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCisKK2RpZmYg LS1naXQgYS9weXJwa2cvX19pbml0X18ucHkgYi9weXJwa2cvX19pbml0X18ucHkKK2luZGV4IDk5 OTY0MDIuLmVjYjk5YzkgMTAwNjQ0CistLS0gYS9weXJwa2cvX19pbml0X18ucHkKKysrKyBiL3B5 cnBrZy9fX2luaXRfXy5weQorQEAgLTExMCw3ICsxMTAsNyBAQCBjbGFzcyBDb21tYW5kcyhvYmpl Y3QpOgorICAgICAgICAgICAgICAgICAgYnVpbGRfY2xpZW50LCB1c2VyPU5vbmUsCisgICAgICAg ICAgICAgICAgICBkaXN0PU5vbmUsIHRhcmdldD1Ob25lLCBxdWlldD1GYWxzZSwKKyAgICAgICAg ICAgICAgICAgIGRpc3RnaXRfbmFtZXNwYWNlZD1GYWxzZSwgcmVhbG1zPU5vbmUsIGxvb2thc2lk ZV9uYW1lc3BhY2VkPUZhbHNlLAorLSAgICAgICAgICAgICAgICAgZ2l0X2V4Y2x1ZGVzPU5vbmUs IHJlc3VsdHNfZGlyPSdyb290Jyk6CisrICAgICAgICAgICAgICAgICBnaXRfZXhjbHVkZXM9Tm9u ZSwgcmVzdWx0c19kaXI9J3Jvb3QnLCBhbGxvd19wcmVfZ2VuZXJhdGVkX3NycG09RmFsc2UpOgor ICAgICAgICAgIiIiSW5pdCB0aGUgb2JqZWN0IGFuZCBzb21lIGNvbmZpZ3VyYXRpb24gZGV0YWls cy4iIiIKKyAKKyAgICAgICAgICMgUGF0aCB0byBvcGVyYXRlIG9uLCBtb3N0IG9mdGVuIHB3ZAor QEAgLTIzOSw2ICsyMzksOSBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAgIyBM YXlvdXQgc2V0dXAKKyAgICAgICAgIHNlbGYubGF5b3V0ID0gbGF5b3V0LmJ1aWxkKHNlbGYucGF0 aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdyZXN1bHRzZGlyJyBpZiBz ZWxmLnJlc3VsdHNfZGlyID09ICdzdWJkaXInIGVsc2UgTm9uZSkKKysgICAgICAgICMgQSBDb25m aWd1cmF0aW9uIHZhbHVlIHVzZWQgaW4gJ2ltcG9ydF9zcnBtJyBjb21tYW5kIChjb21lcyBmcm9t IHRoZSBDb3ByIHRlYW0pCisrICAgICAgICAjIElmIHByZS1nZW5lcmF0ZWQgc3JwbXMgYXJlIGFs bG93ZWQsIGRvbid0IGNhcmUgc3BlY2ZpbGUgaXMgcHJvY2Vzc2VkIGJ5IHJwbWF1dG9zcGVjCisr ICAgICAgICBzZWxmLmFsbG93X3ByZV9nZW5lcmF0ZWRfc3JwbSA9IGFsbG93X3ByZV9nZW5lcmF0 ZWRfc3JwbQorIAorICAgICAjIERlZmluZSBwcm9wZXJ0aWVzIGhlcmUKKyAgICAgIyBQcm9wZXJ0 aWVzIGFsbG93IHVzIHRvICJsYXp5IGxvYWQiIHZhcmlvdXMgYXR0cmlidXRlcywgd2hpY2ggYWxz byBtZWFucworQEAgLTE0NzEsNiArMTQ3NCw3IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6Cisg ICAgICAgICAgICAgICAgICMgdGhlIGRpc3QtZ2l0IHJlcG8gd2l0aG91dCBhbnkgc3BlY2ZpbGVz IC0gcmlnaHQgYWZ0ZXIgaW5pdGlhbGl6YXRpb24pIHdlIGFyZQorICAgICAgICAgICAgICAgICAj IG5vdCBhYmxlIGRldGVybWluZSB3aGljaCB0aGUgbWFpbiBzcGVjZmlsZSBpcy4KKyAgICAgICAg ICAgICAgICAgaWYgZmlsZS5lbmRzd2l0aCgnLnNwZWMnKSBhbmQgbm90IGZpbGUuc3RhcnRzd2l0 aCgnLicpIFwKKysgICAgICAgICAgICAgICAgICAgICAgICBhbmQgbm90IHNlbGYuYWxsb3dfcHJl X2dlbmVyYXRlZF9zcnBtIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgc3BlY19maWxl X3Byb2Nlc3NlZF9ieV9ycG1hdXRvc3BlYyhmaWxlLCB0YXJnZXRfZGlyKToKKyAgICAgICAgICAg ICAgICAgICAgIHJhaXNlIHJwa2dFcnJvcignU1JQTSB3YXMgcHJvY2Vzc2VkIGJ5IHJwbWF1dG9z cGVjICcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKHNwZWNmaWxlICJ7 fSIgd2FzIGFuYWx5emVkKScuZm9ybWF0KGZpbGUpKQorZGlmZiAtLWdpdCBhL3Rlc3RzL3Rlc3Rf Y2xpLnB5IGIvdGVzdHMvdGVzdF9jbGkucHkKK2luZGV4IDg2OGFkMWYuLjAyNjIwZWYgMTAwNjQ0 CistLS0gYS90ZXN0cy90ZXN0X2NsaS5weQorKysrIGIvdGVzdHMvdGVzdF9jbGkucHkKK0BAIC0x Nzg0LDYgKzE3ODQsNDcgQEAgY2xhc3MgVGVzdEltcG9ydFNycG0oTG9va2FzaWRlQ2FjaGVNb2Nr LCBDbGlUZXN0Q2FzZSk6CisgICAgICAgICBzZWxmLmFzc2VydEZpbGVzRXhpc3QoWydwYWNrYWdl LnJwbWxpbnRyYyddLCBzZWFyY2hfZGlyPXNlbGYuY2hhb3NfcmVwbykKKyAgICAgICAgIHNlbGYu YXNzZXJ0RmlsZXNOb3RFeGlzdChbJ3RoZV9maWxlX2lzX25vdF9pbl9yZXNlcnZlZC55YW1sJ10s IHNlYXJjaF9kaXI9c2VsZi5jaGFvc19yZXBvKQorIAorKyAgICBAcGF0Y2goJ3B5cnBrZy5zcGVj X2ZpbGVfcHJvY2Vzc2VkX2J5X3JwbWF1dG9zcGVjJykKKysgICAgZGVmIHRlc3RfaW1wb3J0X3Ny cG1fbm90X3Byb2Nlc3NlZF9ieV9ycG1hdXRvc3BlYyhzZWxmLCBycG1hdXRvc3BlY19wcm9jZXNz ZWQpOgorKyAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBhdGgnLCBzZWxmLmNoYW9zX3Jl cG8sICctLW5hbWUnLCAnZG9jcGtnJywKKysgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCcsICct LXNraXAtZGlmZnMnLCBzZWxmLnNycG1fZmlsZV0KKysKKysgICAgICAgIHJwbWF1dG9zcGVjX3By b2Nlc3NlZC5yZXR1cm5fdmFsdWUgPSBGYWxzZQorKyAgICAgICAgd2l0aCBwYXRjaCgnc3lzLmFy Z3YnLCBuZXc9Y2xpX2NtZCk6CisrICAgICAgICAgICAgY2xpID0gc2VsZi5uZXdfY2xpKCkKKysg ICAgICAgICAgICB3aXRoIHBhdGNoKCdweXJwa2cubG9va2FzaWRlLkNHSUxvb2thc2lkZUNhY2hl LnVwbG9hZCcsIHNlbGYubG9va2FzaWRlY2FjaGVfdXBsb2FkKToKKysgICAgICAgICAgICAgICAg Y2xpLmltcG9ydF9zcnBtKCkgICMgbm8gZXhjZXB0aW9uIHNob3VsZCBiZSByYWlzZWQKKysgICAg ICAgICAgICBycG1hdXRvc3BlY19wcm9jZXNzZWQuYXNzZXJ0X2NhbGxlZF9vbmNlKCkKKysKKysg ICAgQHBhdGNoKCdweXJwa2cuc3BlY19maWxlX3Byb2Nlc3NlZF9ieV9ycG1hdXRvc3BlYycpCisr ICAgIGRlZiB0ZXN0X2ltcG9ydF9zcnBtX3Byb2Nlc3NlZF9ieV9ycG1hdXRvc3BlYyhzZWxmLCBy cG1hdXRvc3BlY19wcm9jZXNzZWQpOgorKyAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBh dGgnLCBzZWxmLmNoYW9zX3JlcG8sICctLW5hbWUnLCAnZG9jcGtnJywKKysgICAgICAgICAgICAg ICAgICAgJ2ltcG9ydCcsICctLXNraXAtZGlmZnMnLCBzZWxmLnNycG1fZmlsZV0KKysKKysgICAg ICAgIHJwbWF1dG9zcGVjX3Byb2Nlc3NlZC5yZXR1cm5fdmFsdWUgPSBUcnVlCisrICAgICAgICB3 aXRoIHBhdGNoKCdzeXMuYXJndicsIG5ldz1jbGlfY21kKToKKysgICAgICAgICAgICBjbGkgPSBz ZWxmLm5ld19jbGkoKQorKyAgICAgICAgICAgIHdpdGggcGF0Y2goJ3B5cnBrZy5sb29rYXNpZGUu Q0dJTG9va2FzaWRlQ2FjaGUudXBsb2FkJywgc2VsZi5sb29rYXNpZGVjYWNoZV91cGxvYWQpOgor KyAgICAgICAgICAgICAgICBzaXguYXNzZXJ0UmFpc2VzUmVnZXgoCisrICAgICAgICAgICAgICAg ICAgICBzZWxmLAorKyAgICAgICAgICAgICAgICAgICAgcnBrZ0Vycm9yLAorKyAgICAgICAgICAg ICAgICAgICAgJ1NSUE0gd2FzIHByb2Nlc3NlZCBieSBycG1hdXRvc3BlYycsCisrICAgICAgICAg ICAgICAgICAgICBjbGkuaW1wb3J0X3NycG0pCisrICAgICAgICAgICAgcnBtYXV0b3NwZWNfcHJv Y2Vzc2VkLmFzc2VydF9jYWxsZWRfb25jZSgpCisrCisrICAgIEBwYXRjaCgncHlycGtnLnNwZWNf ZmlsZV9wcm9jZXNzZWRfYnlfcnBtYXV0b3NwZWMnKQorKyAgICBkZWYgdGVzdF9pbXBvcnRfc3Jw bV9wcm9jZXNzZWRfYnlfcnBtYXV0b3NwZWNfYWxsb3dlZChzZWxmLCBycG1hdXRvc3BlY19wcm9j ZXNzZWQpOgorKyAgICAgICAgY2xpX2NtZCA9IFsncnBrZycsICctLXBhdGgnLCBzZWxmLmNoYW9z X3JlcG8sICctLW5hbWUnLCAnZG9jcGtnJywKKysgICAgICAgICAgICAgICAgICAgJ2ltcG9ydCcs ICctLXNraXAtZGlmZnMnLCBzZWxmLnNycG1fZmlsZV0KKysKKysgICAgICAgIHJwbWF1dG9zcGVj X3Byb2Nlc3NlZC5yZXR1cm5fdmFsdWUgPSBUcnVlCisrICAgICAgICB3aXRoIHBhdGNoKCdzeXMu YXJndicsIG5ldz1jbGlfY21kKToKKysgICAgICAgICAgICBjbGkgPSBzZWxmLm5ld19jbGkoKQor KyAgICAgICAgICAgIGNsaS5jbWQuYWxsb3dfcHJlX2dlbmVyYXRlZF9zcnBtID0gVHJ1ZQorKyAg ICAgICAgICAgIHdpdGggcGF0Y2goJ3B5cnBrZy5sb29rYXNpZGUuQ0dJTG9va2FzaWRlQ2FjaGUu dXBsb2FkJywgc2VsZi5sb29rYXNpZGVjYWNoZV91cGxvYWQpOgorKyAgICAgICAgICAgICAgICBj bGkuaW1wb3J0X3NycG0oKSAgIyBubyBleGNlcHRpb24gc2hvdWxkIGJlIHJhaXNlZAorKyAgICAg ICAgICAgIHJwbWF1dG9zcGVjX3Byb2Nlc3NlZC5hc3NlcnRfbm90X2NhbGxlZCgpCisrCisgCisg Y2xhc3MgVGVzdE1vY2tidWlsZChDbGlUZXN0Q2FzZSk6CisgICAgICIiIlRlc3QgbW9ja2J1aWxk IGNvbW1hbmQiIiIKKy0tIAorMi4zOS4yCisKCmRpZmYgLS1naXQgYS8wMDE1LUlnbm9yZS1taXNz aW5nLXNwZWMtZmlsZS1pbi1wcmUtcHVzaC1ob29rLnBhdGNoIGIvMDAxNS1JZ25vcmUtbWlzc2lu Zy1zcGVjLWZpbGUtaW4tcHJlLXB1c2gtaG9vay5wYXRjaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5iMzI4MzNjCi0tLSAvZGV2L251bGwKKysrIGIvMDAxNS1JZ25vcmUtbWlz c2luZy1zcGVjLWZpbGUtaW4tcHJlLXB1c2gtaG9vay5wYXRjaApAQCAtMCwwICsxLDM3IEBACitG cm9tIDNlYmZlYWUyMGM3NGRlMGNhNGIyNmIyMjEzNWUxOTk2MjY1ZWE0Y2UgTW9uIFNlcCAxNyAw MDowMDowMCAyMDAxCitGcm9tOiA9P1VURi04P3E/THVib209QzM9QURyPTIwU2VkbD1DMz1BMT1D NT05OT89IDxsc2VkbGFyQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDUgQXByIDIwMjMgMTE6NDE6 MjMgKzAyMDAKK1N1YmplY3Q6IFtQQVRDSCAyLzZdIElnbm9yZSBtaXNzaW5nIHNwZWMgZmlsZSBp biBwcmUtcHVzaCBob29rCitNSU1FLVZlcnNpb246IDEuMAorQ29udGVudC1UeXBlOiB0ZXh0L3Bs YWluOyBjaGFyc2V0PVVURi04CitDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CisKK0Zv ciBtb2R1bGVzIG9yIGNvbnRhaW5lcnMgdGhlcmUgd2lsbCBiZSBubyBzcGVjIGZpbGUsIGFuZCB0 aGVyZSBpcworbm90aGluZyB0byBibG9jayB0aGUgcHVzaCBvbi4KKworU2lnbmVkLW9mZi1ieTog THVib23DrXIgU2VkbMOhxZkgPGxzZWRsYXJAcmVkaGF0LmNvbT4KKy0tLQorIHB5cnBrZy9fX2lu aXRfXy5weSB8IDcgKysrKysrLQorIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3B5cnBrZy9fX2luaXRfXy5weSBiL3B5cnBrZy9f X2luaXRfXy5weQoraW5kZXggZWNiOTljOS4uZDNhN2ExYyAxMDA2NDQKKy0tLSBhL3B5cnBrZy9f X2luaXRfXy5weQorKysrIGIvcHlycGtnL19faW5pdF9fLnB5CitAQCAtNDQ3MSw3ICs0NDcxLDEy IEBAIGNsYXNzIENvbW1hbmRzKG9iamVjdCk6CisgICAgICAgICAgICAgIyBBc3N1bWUsIHRoYXQg c3BlY2ZpbGUgbmFtZXMgYXJlIHNhbWUgaW4gdGhlIGFjdGl2ZSBicmFuY2gKKyAgICAgICAgICAg ICAjIGFuZCBpbiB0aGUgcHVzaGVkIGJyYW5jaCAoZ2l0IGNoZWNrb3V0IGYzNyAmJiBnaXQgcHVz aCBvcmlnaW4gcmF3aGlkZSkKKyAgICAgICAgICAgICAjIGluIHRoaXMgY2FzZSAnZjM3JyBpcyBh Y3RpdmUgYnJhbmNoIGFuZCAncmF3aGlkZScgaXMgcHVzaGVkIGJyYW5jaC4KKy0gICAgICAgICAg ICBzcGVjZmlsZV9wYXRoX2Fic29sdXRlID0gb3MucGF0aC5qb2luKHNlbGYubGF5b3V0LnNwZWNk aXIsIHNlbGYuc3BlYykKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIHNwZWNm aWxlX3BhdGhfYWJzb2x1dGUgPSBvcy5wYXRoLmpvaW4oc2VsZi5sYXlvdXQuc3BlY2Rpciwgc2Vs Zi5zcGVjKQorKyAgICAgICAgICAgIGV4Y2VwdCBycGtnRXJyb3I6CisrICAgICAgICAgICAgICAg ICMgTm8gc3BlY2ZpbGUgZm91bmQsIG5vdGhpbmcgdG8gY2hlY2sKKysgICAgICAgICAgICAgICAg cmV0dXJuCisrCisgICAgICAgICAgICAgIyBjb252ZXJ0IHRvIHJlbGF0aXZlIHBhdGgKKyAgICAg ICAgICAgICBzcGVjZmlsZV9wYXRoID0gb3MucGF0aC5yZWxwYXRoKHNwZWNmaWxlX3BhdGhfYWJz b2x1dGUsIHN0YXJ0PXNlbGYucGF0aCkKKyAgICAgICAgICAgICBjbWQgPSBbJ3NwZWN0b29sJywg Jy1sJywgb3MucGF0aC5qb2luKGNsb25lX2Rpciwgc3BlY2ZpbGVfcGF0aCldCistLSAKKzIuMzku MgorCgpkaWZmIC0tZ2l0IGEvMDAxNi1DaGVjay1yZW1vdGUtZmlsZS13aXRoLWNvcnJlY3QtaGFz aC5wYXRjaCBiLzAwMTYtQ2hlY2stcmVtb3RlLWZpbGUtd2l0aC1jb3JyZWN0LWhhc2gucGF0Y2gK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJmOWVhYwotLS0gL2Rldi9udWxs CisrKyBiLzAwMTYtQ2hlY2stcmVtb3RlLWZpbGUtd2l0aC1jb3JyZWN0LWhhc2gucGF0Y2gKQEAg LTAsMCArMSw2MSBAQAorRnJvbSA0YmQ0YWIxODIzYTdkNGJjMjE4YjgwNTdiN2YwMDgwOGZhYmY3 NjQ4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogPT9VVEYtOD9xP0x1Ym9tPUMzPUFE cj0yMFNlZGw9QzM9QTE9QzU9OTk/PSA8bHNlZGxhckByZWRoYXQuY29tPgorRGF0ZTogV2VkLCA1 IEFwciAyMDIzIDA5OjM0OjMzICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggMy82XSBDaGVjayByZW1v dGUgZmlsZSB3aXRoIGNvcnJlY3QgaGFzaAorTUlNRS1WZXJzaW9uOiAxLjAKK0NvbnRlbnQtVHlw ZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOAorQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzog OGJpdAorCitUaGUgY29uZmlndXJlZCBoYXNodHlwZSBkb2Vzbid0IGhhdmUgdG8gYWN0dWFsbHkg YmUgdXNlZC4gVGhlcmUgY2FuIGJlCitvbGQgcmVwb3MgdGhhdCBzdGlsbCB1c2UgbWQ1LgorCitK SVJBOiBSSEVMQ01QLTExNTA4CitTaWduZWQtb2ZmLWJ5OiBMdWJvbcOtciBTZWRsw6HFmSA8bHNl ZGxhckByZWRoYXQuY29tPgorLS0tCisgcHlycGtnL19faW5pdF9fLnB5ICB8IDMgKystCisgcHly cGtnL2xvb2thc2lkZS5weSB8IDUgKysrLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9u cygrKSwgMyBkZWxldGlvbnMoLSkKKworZGlmZiAtLWdpdCBhL3B5cnBrZy9fX2luaXRfXy5weSBi L3B5cnBrZy9fX2luaXRfXy5weQoraW5kZXggZDNhN2ExYy4uMGI5YTg2OSAxMDA2NDQKKy0tLSBh L3B5cnBrZy9fX2luaXRfXy5weQorKysrIGIvcHlycGtnL19faW5pdF9fLnB5CitAQCAtNDU0OCw3 ICs0NTQ4LDggQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKKyAgICAgICAgICAgICBmaWxlX2V4 aXN0c19pbl9sb29rYXNpZGUgPSBzZWxmLmxvb2thc2lkZWNhY2hlLnJlbW90ZV9maWxlX2V4aXN0 c19oZWFkKAorICAgICAgICAgICAgICAgICBzZWxmLm5zX3JlcG9fbmFtZSBpZiBzZWxmLmxvb2th c2lkZV9uYW1lc3BhY2VkIGVsc2Ugc2VsZi5yZXBvX25hbWUsCisgICAgICAgICAgICAgICAgIGZp bGVuYW1lLAorLSAgICAgICAgICAgICAgICBoYXNoKQorKyAgICAgICAgICAgICAgICBoYXNoLAor KyAgICAgICAgICAgICAgICBoYXNodHlwZT1lbnRyeS5oYXNodHlwZSkKKyAgICAgICAgICAgICBp ZiBub3QgZmlsZV9leGlzdHNfaW5fbG9va2FzaWRlOgorICAgICAgICAgICAgICAgICBzZWxmLmxv Zy5lcnJvcignU291cmNlIGZpbGUgKG9yIHRhcmJhbGwpIFwne31cJyB3YXNuXCd0IHVwbG9hZGVk IHRvIHRoZSBsb29rYXNpZGUgJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY2Fj aGUuIFB1c2ggb3BlcmF0aW9uIHdhcyBjYW5jZWxsZWQuJy5mb3JtYXQoZmlsZW5hbWUpKQorZGlm ZiAtLWdpdCBhL3B5cnBrZy9sb29rYXNpZGUucHkgYi9weXJwa2cvbG9va2FzaWRlLnB5CitpbmRl eCBlY2JmMTJiLi4zZWZjZDg4IDEwMDY0NAorLS0tIGEvcHlycGtnL2xvb2thc2lkZS5weQorKysr IGIvcHlycGtnL2xvb2thc2lkZS5weQorQEAgLTIwMCw3ICsyMDAsNyBAQCBjbGFzcyBDR0lMb29r YXNpZGVDYWNoZShvYmplY3QpOgorICAgICAgICAgaWYgbm90IHNlbGYuZmlsZV9pc192YWxpZChv dXRmaWxlLCBoYXNoLCBoYXNodHlwZT1oYXNodHlwZSk6CisgICAgICAgICAgICAgcmFpc2UgRG93 bmxvYWRFcnJvcignJXMgZmFpbGVkIGNoZWNrc3VtJyAlIGZpbGVuYW1lKQorIAorLSAgICBkZWYg cmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQoc2VsZiwgbmFtZSwgZmlsZW5hbWUsIGhhc2gpOgorKyAg ICBkZWYgcmVtb3RlX2ZpbGVfZXhpc3RzX2hlYWQoc2VsZiwgbmFtZSwgZmlsZW5hbWUsIGhhc2gs IGhhc2h0eXBlKToKKyAgICAgICAgICIiIlZlcmlmeSB3aGV0aGVyIGEgZmlsZSBleGlzdHMgb24g dGhlIGxvb2thc2lkZSBjYWNoZS4KKyAgICAgICAgIFVzZXMgYSBIVFRQIEhFQUQgcmVxdWVzdCBh bmQgZG9lc24ndCByZXF1aXJlIGF1dGhlbnRpY2F0aW9uLgorIAorQEAgLTIwOSwxMCArMjA5LDEx IEBAIGNsYXNzIENHSUxvb2thc2lkZUNhY2hlKG9iamVjdCk6CisgICAgICAgICAgICAgdGhlIHNl cnZlciBzaWRlIGV4cGVjdHMpLgorICAgICAgICAgOnBhcmFtIHN0ciBmaWxlbmFtZTogVGhlIG5h bWUgb2YgdGhlIGZpbGUgdG8gY2hlY2sgZm9yLgorICAgICAgICAgOnBhcmFtIHN0ciBoYXNoOiBU aGUga25vd24gZ29vZCBoYXNoIG9mIHRoZSBmaWxlLgorKyAgICAgICAgOnBhcmFtIHN0ciBoYXNo dHlwZTogVGhlIHR5cGUgb2YgaGFzaAorICAgICAgICAgIiIiCisgCisgICAgICAgICB1cmxlZF9m aWxlID0gdXJsbGliLnBhcnNlLnF1b3RlKGZpbGVuYW1lKQorLSAgICAgICAgdXJsID0gc2VsZi5n ZXRfZG93bmxvYWRfdXJsKG5hbWUsIHVybGVkX2ZpbGUsIGhhc2gsIHNlbGYuaGFzaHR5cGUpCisr ICAgICAgICB1cmwgPSBzZWxmLmdldF9kb3dubG9hZF91cmwobmFtZSwgdXJsZWRfZmlsZSwgaGFz aCwgaGFzaHR5cGUgb3Igc2VsZi5oYXNodHlwZSkKKyAKKyAgICAgICAgIGMgPSBweWN1cmwuQ3Vy bCgpCisgICAgICAgICBjLnNldG9wdChweWN1cmwuVVJMLCB1cmwpCistLSAKKzIuMzkuMgorCgpk aWZmIC0tZ2l0IGEvMDAxNy1BbGxvdy1lbXB0eS1jb21taXRzLXdoZW4tdXNlc19ycG1hdXRvc3Bl Yy5wYXRjaCBiLzAwMTctQWxsb3ctZW1wdHktY29tbWl0cy13aGVuLXVzZXNfcnBtYXV0b3NwZWMu cGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ4Y2JjOQotLS0gL2Rl di9udWxsCisrKyBiLzAwMTctQWxsb3ctZW1wdHktY29tbWl0cy13aGVuLXVzZXNfcnBtYXV0b3Nw ZWMucGF0Y2gKQEAgLTAsMCArMSwzNSBAQAorRnJvbSBkMmM2M2MzMjMwNjczMjY5NWI3ZmU1Zjlk ZGEzZGVlY2I3ODk5ZjRmIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSmlyaSBLeWpv dnNreSA8ajEua3lqb3Zza3lAZ21haWwuY29tPgorRGF0ZTogU2F0LCAxNSBBcHIgMjAyMyAxMzo0 NjoyMSArMDIwMAorU3ViamVjdDogW1BBVENIIDQvNl0gQWxsb3cgZW1wdHkgY29tbWl0cyB3aGVu IGB1c2VzX3JwbWF1dG9zcGVjYAorCitUbyBhdm9pZCBzaXR1YXRpb25zIHdoZXJlIHRoZSBjb21t YW5kIGBjb21taXRgIGJ5IGRlZmF1bHQgZG9lcworY29tbWl0IHdoZW4gbm8gY2hhbmdlIGluIHJl cG8gaXMgcHJlc2VudC4KKworRml4ZXM6ICM2NzcKK0pJUkE6IFJIRUxDTVAtMTE0ODkKK01lcmdl czogaHR0cHM6Ly9wYWd1cmUuaW8vcnBrZy9wdWxsLXJlcXVlc3QvNjg4CisKK1NpZ25lZC1vZmYt Ynk6IEppcmkgS3lqb3Zza3kgPGoxLmt5am92c2t5QGdtYWlsLmNvbT4KKy0tLQorIHB5cnBrZy9f X2luaXRfXy5weSB8IDQgKysrLQorIDEgZmlsZSBjaGFuZ2VkLCAzIGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL3B5cnBrZy9fX2luaXRfXy5weSBiL3B5cnBrZy9f X2luaXRfXy5weQoraW5kZXggMGI5YTg2OS4uMTg3Nzk2ZSAxMDA2NDQKKy0tLSBhL3B5cnBrZy9f X2luaXRfXy5weQorKysrIGIvcHlycGtnL19faW5pdF9fLnB5CitAQCAtMTg2Nyw3ICsxODY3LDkg QEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKKyAKKyAgICAgICAgICMgY29uc3RydWN0IHRoZSBn aXQgY29tbWFuZAorICAgICAgICAgIyBXZSBkbyB0aGlzIHZpYSBzdWJwcm9jZXNzIGJlY2F1c2Ug dGhlIGdpdCBtb2R1bGUgaXMgdGVycmlibGUuCistICAgICAgICBjbWQgPSBbJ2dpdCcsICdjb21t aXQnLCAnLS1hbGxvdy1lbXB0eSddCisrICAgICAgICBjbWQgPSBbJ2dpdCcsICdjb21taXQnXQor KyAgICAgICAgaWYgbm90IHNlbGYuaXNfcmV0aXJlZCgpIGFuZCBzZWxmLnVzZXNfcnBtYXV0b3Nw ZWM6CisrICAgICAgICAgICAgY21kLmFwcGVuZCgnLS1hbGxvdy1lbXB0eScpCisgICAgICAgICBp ZiBzaWdub2ZmOgorICAgICAgICAgICAgIGNtZC5hcHBlbmQoJy1zJykKKyAgICAgICAgIGlmIHNl bGYucXVpZXQ6CistLSAKKzIuMzkuMgorCgpkaWZmIC0tZ2l0IGEvMDAxOC1Db25maWctZmlsZS1v cHRpb24tdG8tc2tpcC10aGUtaG9vay1zY3JpcHQtY3JlYXRpb24ucGF0Y2ggYi8wMDE4LUNvbmZp Zy1maWxlLW9wdGlvbi10by1za2lwLXRoZS1ob29rLXNjcmlwdC1jcmVhdGlvbi5wYXRjaApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYTlhYTAxCi0tLSAvZGV2L251bGwKKysr IGIvMDAxOC1Db25maWctZmlsZS1vcHRpb24tdG8tc2tpcC10aGUtaG9vay1zY3JpcHQtY3JlYXRp b24ucGF0Y2gKQEAgLTAsMCArMSwxMjYgQEAKK0Zyb20gYjQ4ZWI1MDJkMzMwZWM3YTU0MzgwNWQ3 ZjE4NWVhMjcwZGY3NWI5MCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE9uZHJlaiBO b3NlayA8b25vc2VrQHJlZGhhdC5jb20+CitEYXRlOiBXZWQsIDEyIEFwciAyMDIzIDAwOjQyOjA0 ICswMjAwCitTdWJqZWN0OiBbUEFUQ0ggNS82XSBDb25maWcgZmlsZSBvcHRpb24gdG8gc2tpcCB0 aGUgaG9vayBzY3JpcHQgY3JlYXRpb24KKworQSBuZXcgb3B0aW9uIG5hbWVkICJza2lwX2hvb2tz IiBjYW4gYmUgYWRkZWQgdG8gdGhlIGNvbmZpZyBmaWxlCisoaW50byB0aGUgbWFpbiBzZWN0aW9u KS4gSXQgYWNjZXB0cyBib29sZWFuIHZhbHVlcyBhbmQgd2hlbgordGhlIG9wdGlvbiBpcyBwcmVz ZW50IGFuZCBzZXQsIGl0IHByZXZlbnRzIGNyZWF0aW5nIHRoZSBwcmUtcHVzaAoraG9vayBzY3Jp cHQgZHVyaW5nIGNsb25pbmcgYSBkaXN0LWdpdCByZXBvc2l0b3J5LgorCitGaXhlczogaHR0cHM6 Ly9wYWd1cmUuaW8vZmVkcGtnL2lzc3VlLzUxNQorSklSQTogUkhFTENNUC0xMTQ5MQorCitTaWdu ZWQtb2ZmLWJ5OiBPbmRyZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPgorLS0tCisgcHlycGtn L19faW5pdF9fLnB5IHwgMTQgKysrKysrKysrKy0tLS0KKyBweXJwa2cvY2xpLnB5ICAgICAgfCAx MyArKysrKysrKysrKy0tCisgMiBmaWxlcyBjaGFuZ2VkLCAyMSBpbnNlcnRpb25zKCspLCA2IGRl bGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtnL19f aW5pdF9fLnB5CitpbmRleCAxODc3OTZlLi43ZmRkZmY3IDEwMDY0NAorLS0tIGEvcHlycGtnL19f aW5pdF9fLnB5CisrKysgYi9weXJwa2cvX19pbml0X18ucHkKK0BAIC0xNTcxLDcgKzE1NzEsNyBA QCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorIAorICAgICBkZWYgY2xvbmUoc2VsZiwgcmVwbywg cGF0aD1Ob25lLCBicmFuY2g9Tm9uZSwgYmFyZV9kaXI9Tm9uZSwKKyAgICAgICAgICAgICAgIGFu b249RmFsc2UsIHRhcmdldD1Ob25lLCBkZXB0aD1Ob25lLCBleHRyYV9hcmdzPU5vbmUsCistICAg ICAgICAgICAgICBjb25maWdfcGF0aD1Ob25lKToKKysgICAgICAgICAgICAgIGNvbmZpZ19wYXRo PU5vbmUsIHNraXBfaG9va3M9Tm9uZSk6CisgICAgICAgICAiIiJDbG9uZSBhIHJlcG8sIG9wdGlv bmFsbHkgY2hlY2sgb3V0IGEgc3BlY2lmaWMgYnJhbmNoLgorIAorICAgICAgICAgOnBhcmFtIHN0 ciByZXBvOiB0aGUgbmFtZSBvZiB0aGUgcmVwb3NpdG9yeSB0byBjbG9uZS4KK0BAIC0xNTg5LDYg KzE1ODksNyBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAgICAgOnBhcmFtIGxpc3Qg ZXh0cmFfYXJnczogYWRkaXRpb25hbCBhcmd1bWVudHMgdGhhdCBhcmUgcGFzc2VkIHRvCisgICAg ICAgICAgICAgdGhlIGNsb25lIGNvbW1hbmQuCisgICAgICAgICA6cGFyYW0gc3RyIGNvbmZpZ19w YXRoOiBwYXRoIHRvIHRoZSBnbG9iYWwgY29uZmlnIGZpbGUKKysgICAgICAgIDpwYXJhbSBib29s IHNraXBfaG9va3M6IHNraXAgY3JlYXRpb24gcHJlLXB1c2ggaG9vayBzY3JpcHQKKyAgICAgICAg ICIiIgorIAorICAgICAgICAgaWYgbm90IHBhdGg6CitAQCAtMTY0NCw3ICsxNjQ1LDggQEAgY2xh c3MgQ29tbWFuZHMob2JqZWN0KToKKyAKKyAgICAgICAgIGlmIG5vdCBiYXJlX2RpcjoKKyAgICAg ICAgICAgICBzZWxmLl9hZGRfZ2l0X2V4Y2x1ZGVzKG9zLnBhdGguam9pbihwYXRoLCBnaXRfZGly KSkKKy0gICAgICAgICAgICBzZWxmLl9hZGRfZ2l0X3ByZV9wdXNoX2hvb2sob3MucGF0aC5qb2lu KHBhdGgsIGdpdF9kaXIpLCBjb25maWdfcGF0aCkKKysgICAgICAgICAgICBpZiBub3Qgc2tpcF9o b29rczoKKysgICAgICAgICAgICAgICAgc2VsZi5fYWRkX2dpdF9wcmVfcHVzaF9ob29rKG9zLnBh dGguam9pbihwYXRoLCBnaXRfZGlyKSwgY29uZmlnX3BhdGgpCisgCisgICAgICAgICByZXR1cm4K KyAKK0BAIC0xNjYwLDcgKzE2NjIsNyBAQCBjbGFzcyBDb21tYW5kcyhvYmplY3QpOgorICAgICAg ICAgcmV0dXJuIHJlcG8KKyAKKyAgICAgZGVmIGNsb25lX3dpdGhfZGlycyhzZWxmLCByZXBvLCBh bm9uPUZhbHNlLCB0YXJnZXQ9Tm9uZSwgZGVwdGg9Tm9uZSwKKy0gICAgICAgICAgICAgICAgICAg ICAgICBleHRyYV9hcmdzPU5vbmUsIGNvbmZpZ19wYXRoPU5vbmUpOgorKyAgICAgICAgICAgICAg ICAgICAgICAgIGV4dHJhX2FyZ3M9Tm9uZSwgY29uZmlnX3BhdGg9Tm9uZSwgc2tpcF9ob29rcz1O b25lKToKKyAgICAgICAgICIiIkNsb25lIGEgcmVwbyBvbGQgc3R5bGUgd2l0aCBzdWJkaXJzIGZv ciBlYWNoIGJyYW5jaC4KKyAKKyAgICAgICAgIDpwYXJhbSBzdHIgcmVwbzogbmFtZSBvZiB0aGUg cmVwb3NpdG9yeSB0byBjbG9uZS4KK0BAIC0xNjczLDYgKzE2NzUsNyBAQCBjbGFzcyBDb21tYW5k cyhvYmplY3QpOgorICAgICAgICAgOnBhcmFtIGxpc3QgZXh0cmFfYXJnczogYWRkaXRpb25hbCBh cmd1bWVudHMgdGhhdCBhcmUgcGFzc2VkIHRvCisgICAgICAgICAgICAgdGhlIGNsb25lIGNvbW1h bmQuCisgICAgICAgICA6cGFyYW0gc3RyIGNvbmZpZ19wYXRoOiBwYXRoIHRvIHRoZSBnbG9iYWwg Y29uZmlnIGZpbGUKKysgICAgICAgIDpwYXJhbSBib29sIHNraXBfaG9va3M6IHNraXAgY3JlYXRp b24gcHJlLXB1c2ggaG9vayBzY3JpcHQKKyAgICAgICAgICIiIgorIAorICAgICAgICAgc2VsZi5f cHVzaF91cmwgPSBOb25lCitAQCAtMTczMSw3ICsxNzM0LDggQEAgY2xhc3MgQ29tbWFuZHMob2Jq ZWN0KToKKyAKKyAgICAgICAgICAgICAgICAgIyBBZGQgZXhjbHVkZXMKKyAgICAgICAgICAgICAg ICAgc2VsZi5fYWRkX2dpdF9leGNsdWRlcyhicmFuY2hfcGF0aCkKKy0gICAgICAgICAgICAgICAg c2VsZi5fYWRkX2dpdF9wcmVfcHVzaF9ob29rKGJyYW5jaF9wYXRoLCBjb25maWdfcGF0aCkKKysg ICAgICAgICAgICAgICAgaWYgbm90IHNraXBfaG9va3M6CisrICAgICAgICAgICAgICAgICAgICBz ZWxmLl9hZGRfZ2l0X3ByZV9wdXNoX2hvb2soYnJhbmNoX3BhdGgsIGNvbmZpZ19wYXRoKQorICAg ICAgICAgICAgIGV4Y2VwdCAoZ2l0LkdpdENvbW1hbmRFcnJvciwgT1NFcnJvcikgYXMgZToKKyAg ICAgICAgICAgICAgICAgcmFpc2UgcnBrZ0Vycm9yKCdDb3VsZCBub3QgbG9jYWxseSBjbG9uZSAl cyBmcm9tICVzOiAlcycKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICUgKGJyYW5j aCwgcmVwb19wYXRoLCBlKSkKK0BAIC0xODIwLDYgKzE4MjQsOCBAQCBjbGFzcyBDb21tYW5kcyhv YmplY3QpOgorICAgICAgICAgICAgICMgVGhpcyBmaWxlIHdhcyBnZW5lcmF0ZWQgYnkgezB9IHdo ZW4gY2xvbmluZyB0aGUgcmVwb3NpdG9yeS4KKyAgICAgICAgICAgICAjIFlvdSBjYW4gZWRpdCBp dCB0byB5b3VyIGxpa2luZyBvciBkZWxldGUgY29tcGxldGVseS4gSXQgd2lsbCBub3QKKyAgICAg ICAgICAgICAjIGJlIHJlY3JlYXRlZC4KKysgICAgICAgICAgICAjIENyZWF0aW5nIHRoaXMgZmls ZSBjYW4gYmUgYWxzbyBwcmV2ZW50ZWQgYnkgYWRkaW5nIGFuIG9wdGlvbgorKyAgICAgICAgICAg ICMgInNraXBfaG9va3MgPSBUcnVlIiBpbnRvIHRoZSB7MH0ncyBjb25maWcgZmlsZTsgW3swfV0g c2VjdGlvbi4KKyAKKyAgICAgICAgICAgICBfcmVtb3RlPSIkMSIKKyAgICAgICAgICAgICBfdXJs PSIkMiIKK2RpZmYgLS1naXQgYS9weXJwa2cvY2xpLnB5IGIvcHlycGtnL2NsaS5weQoraW5kZXgg M2Q4Y2UzMy4uYTFmM2Y0NCAxMDA2NDQKKy0tLSBhL3B5cnBrZy9jbGkucHkKKysrKyBiL3B5cnBr Zy9jbGkucHkKK0BAIC0yMTc3LDEzICsyMTc3LDIxIEBAIGNsYXNzIGNsaUNsaWVudChvYmplY3Qp OgorICAgICAgICAgICAgIHNlbGYubG9nLndhcm5pbmcoIlJlcG8gbmFtZSBzaG91bGQndCBjb250 YWluICcuZ2l0JyBzdWZmaXguICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb3Jy ZWN0aW5nIHRoZSByZXBvIG5hbWU6ICclcyciICUgcmVwbykKKyAKKysgICAgICAgIHNraXBfaG9v a3MgPSBOb25lCisrICAgICAgICBpZiBzZWxmLmNvbmZpZy5oYXNfb3B0aW9uKHNlbGYubmFtZSwg InNraXBfaG9va3MiKToKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAgIHNraXBf aG9va3MgPSBzZWxmLmNvbmZpZy5nZXRib29sZWFuKHNlbGYubmFtZSwgInNraXBfaG9va3MiKQor KyAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgorKyAgICAgICAgICAgICAgICBzZWxmLmxv Zy5lcnJvcigiRXJyb3I6IGNvbmZpZyBmaWxlIG9wdGlvbiAnc2tpcF9ob29rcyciKQorKyAgICAg ICAgICAgICAgICByYWlzZQorICAgICAgICAgaWYgc2VsZi5hcmdzLmJyYW5jaGVzOgorICAgICAg ICAgICAgIHNlbGYuY21kLmNsb25lX3dpdGhfZGlycyhzZWxmLmFyZ3MucmVwb1swXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5vbj1zZWxmLmFyZ3MuYW5vbnltb3Vz LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9c2VsZi5hcmdz LmNsb25lX3RhcmdldCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVw dGg9c2VsZi5hcmdzLmRlcHRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBleHRyYV9hcmdzPXNlbGYuZXh0cmFfYXJncywKKy0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY29uZmlnX3BhdGg9c2VsZi5hcmdzLmNvbmZpZykKKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhdGg9c2VsZi5hcmdzLmNvbmZpZywKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2tpcF9ob29rcz1za2lwX2hvb2tz KQorICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICBzZWxmLmNtZC5jbG9uZShzZWxmLmFyZ3Mu cmVwb1swXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmFuY2g9c2VsZi5hcmdzLmJy YW5jaCwKK0BAIC0yMTkxLDcgKzIxOTksOCBAQCBjbGFzcyBjbGlDbGllbnQob2JqZWN0KToKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9c2VsZi5hcmdzLmNsb25lX3RhcmdldCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXB0aD1zZWxmLmFyZ3MuZGVwdGgsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmFfYXJncz1zZWxmLmV4dHJhX2FyZ3MsCistICAg ICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnX3BhdGg9c2VsZi5hcmdzLmNvbmZpZykKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWdfcGF0aD1zZWxmLmFyZ3MuY29uZmlnLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgIHNraXBfaG9va3M9c2tpcF9ob29rcykKKyAKKyAg ICAgZGVmIGNvbW1pdChzZWxmKToKKyAgICAgICAgIGlmIHNlbGYuYXJncy53aXRoX2NoYW5nZWxv ZyBhbmQgbm90IHNlbGYuYXJncy5tZXNzYWdlOgorLS0gCisyLjM5LjIKKwoKZGlmZiAtLWdpdCBh LzAwMTktUHJlLXB1c2gtaG9vay13b24tdC1jaGVjay1wcml2YXRlLWJyYW5jaGVzLnBhdGNoIGIv MDAxOS1QcmUtcHVzaC1ob29rLXdvbi10LWNoZWNrLXByaXZhdGUtYnJhbmNoZXMucGF0Y2gKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdhN2M1MgotLS0gL2Rldi9udWxsCisr KyBiLzAwMTktUHJlLXB1c2gtaG9vay13b24tdC1jaGVjay1wcml2YXRlLWJyYW5jaGVzLnBhdGNo CkBAIC0wLDAgKzEsNDUgQEAKK0Zyb20gNDU1M2RhMzY0ZDdkOGE5NzRhYjBjMDg4MzRlZTBhNTQz MjBkYTJjYiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IE9uZHJlaiBOb3NlayA8b25v c2VrQHJlZGhhdC5jb20+CitEYXRlOiBUdWUsIDE4IEFwciAyMDIzIDE2OjA2OjQzICswMjAwCitT dWJqZWN0OiBbUEFUQ0ggNi82XSBQcmUtcHVzaCBob29rIHdvbid0IGNoZWNrIHByaXZhdGUgYnJh bmNoZXMKKworVGhlIHByZS1wdXNoIGhvb2sgc2NyaXB0IHdhcyBmYWlsaW5nIHRoZSB3aGVuIHVz ZXIgdHJpZWQgdG8gcHVzaAorYSBwcml2YXRlIGJyYW5jaC4gSXQgcmVxdWlyZWQgdXNpbmcgdGhl IC0tcmVsZWFzZSBhcmd1bWVudCB3aXRoCit0aGUgcHJlLXB1c2gtY2hlY2sgY29tbWFuZCBhbmQg cGFzc2luZyBhZGRpdGlvbmFsIGFyZ3VtZW50cyBpbnRvCit0aGUgaG9vayBzY3JpcHQuIFRoYXQg d2FzIGZvdW5kIHVucmVsaWFibGUgYW5kIHByaXZhdGUgYnJhbmNoZXMKK3dvbid0IGJlIGNoZWNr ZWQuCisKK0ZpeGVzOiAjNjgzCitKSVJBOiBSSEVMQ01QLTExNTI4CisKK1NpZ25lZC1vZmYtYnk6 IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+CistLS0KKyBweXJwa2cvX19pbml0X18u cHkgfCAxMiArKysrKysrKystLS0KKyAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRpb25zKCspLCAz IGRlbGV0aW9ucygtKQorCitkaWZmIC0tZ2l0IGEvcHlycGtnL19faW5pdF9fLnB5IGIvcHlycGtn L19faW5pdF9fLnB5CitpbmRleCA3ZmRkZmY3Li4zZjkzNGQzIDEwMDY0NAorLS0tIGEvcHlycGtn L19faW5pdF9fLnB5CisrKysgYi9weXJwa2cvX19pbml0X18ucHkKK0BAIC00NDg5LDkgKzQ0ODks MTUgQEAgY2xhc3MgQ29tbWFuZHMob2JqZWN0KToKKyAgICAgICAgICAgICBzcGVjZmlsZV9wYXRo ID0gb3MucGF0aC5yZWxwYXRoKHNwZWNmaWxlX3BhdGhfYWJzb2x1dGUsIHN0YXJ0PXNlbGYucGF0 aCkKKyAgICAgICAgICAgICBjbWQgPSBbJ3NwZWN0b29sJywgJy1sJywgb3MucGF0aC5qb2luKGNs b25lX2Rpciwgc3BlY2ZpbGVfcGF0aCldCisgICAgICAgICAgICAgIyBleHRyYWN0IGp1c3QgJy0t ZGVmaW5lJyBhcmd1bWVudHMgZnJvbSBycG1kZWZpbmVzCistICAgICAgICAgICAgZm9yIG9wdCwg dmFsIGluIHppcChzZWxmLnJwbWRlZmluZXNbMDo6Ml0sIHNlbGYucnBtZGVmaW5lc1sxOjoyXSk6 CistICAgICAgICAgICAgICAgIGlmIG9wdCA9PSAnLS1kZWZpbmUnOgorLSAgICAgICAgICAgICAg ICAgICAgY21kLmV4dGVuZCgob3B0LCB2YWwpKQorKyAgICAgICAgICAgIHRyeToKKysgICAgICAg ICAgICAgICAgZm9yIG9wdCwgdmFsIGluIHppcChzZWxmLnJwbWRlZmluZXNbMDo6Ml0sIHNlbGYu cnBtZGVmaW5lc1sxOjoyXSk6CisrICAgICAgICAgICAgICAgICAgICBpZiBvcHQgPT0gJy0tZGVm aW5lJzoKKysgICAgICAgICAgICAgICAgICAgICAgICBjbWQuZXh0ZW5kKChvcHQsIHZhbCkpCisr ICAgICAgICAgICAgZXhjZXB0IHJwa2dFcnJvcjoKKysgICAgICAgICAgICAgICAgIyB0aGlzIGV4 Y2VwdGlvbiB3YXMgY2F1c2VkIHByb2JhYmx5IGJ5IHVzaW5nIGEgcHJpdmF0ZSBicmFuY2gKKysg ICAgICAgICAgICAgICAgc2VsZi5sb2cud2FybmluZygnVGhlIHByZS1wdXNoIHNjcmlwdCBjYW5c J3QgY2hlY2sgcHJpdmF0ZSBicmFuY2hlcy4gJworKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdQdXNoIG9wZXJhdGlvbiBjb250aW51ZXMuJykKKysgICAgICAgICAgICAgICAgcmV0 dXJuCisgICAgICAgICAgICAgcmV0LCBzdGRvdXQsIF8gPSBzZWxmLl9ydW5fY29tbWFuZChjbWQs IGN3ZD1jbG9uZV9kaXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICByZXR1cm5fdGV4dD1UcnVlLCByZXR1cm5fc3Rkb3V0PVRydWUpCisgICAgICAgICAg ICAgaWYgcmV0ICE9IDA6CistLSAKKzIuMzkuMgorCgpkaWZmIC0tZ2l0IGEvZGVhZC5wYWNrYWdl IGIvZGVhZC5wYWNrYWdlCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MjA0YTg0Li4w MDAwMDAwCi0tLSBhL2RlYWQucGFja2FnZQorKysgL2Rldi9udWxsCkBAIC0xICswLDAgQEAKLU9y cGhhbmVkIGZvciA2KyB3ZWVrcwoKZGlmZiAtLWdpdCBhL3JlbW92ZS1rb2ppLWFuZC1ycG0tcHkt aW5zdGFsbGVyLWZyb20tcmVxdWlyZXMucGF0Y2ggYi9yZW1vdmUta29qaS1hbmQtcnBtLXB5LWlu c3RhbGxlci1mcm9tLXJlcXVpcmVzLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjkwYWRlZTAKLS0tIC9kZXYvbnVsbAorKysgYi9yZW1vdmUta29qaS1hbmQtcnBtLXB5 LWluc3RhbGxlci1mcm9tLXJlcXVpcmVzLnBhdGNoCkBAIC0wLDAgKzEsMjkgQEAKK0Zyb20gZWMw YzhiMzY4ZmQ1NjBiMzE5YzY2MDNmMzVkZGE4MDNmZTRiMmU5OSBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKK0Zyb206IERvbWluaWsgUnVtaWFuIDxkcnVtaWFuQHJlZGhhdC5jb20+CitEYXRlOiBU dWUsIDI0IEF1ZyAyMDIxIDEyOjUxOjE3ICswMjAwCitTdWJqZWN0OiBbUEFUQ0hdIFtQQVRDSF0g cmVtb3ZlIGtvamkgYW5kIHJwbS1weS1pbnN0YWxsZXIgZnJvbSByZXF1aXJlcworCitTaWduZWQt b2ZmLWJ5OiBEb21pbmlrIFJ1bWlhbiA8ZHJ1bWlhbkByZWRoYXQuY29tPgorLS0tCisgc2V0dXAu cHkgfCA1ICsrKysrCisgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0t Z2l0IGEvc2V0dXAucHkgYi9zZXR1cC5weQoraW5kZXggOWM2ZDg4MS4uOGM5MmFhZSAxMDA3NTUK Ky0tLSBhL3NldHVwLnB5CisrKysgYi9zZXR1cC5weQorQEAgLTM0LDYgKzM0LDExIEBAIGluc3Rh bGxfcmVxdWlyZXMsIGRlcF9saW5rcyA9IHJlYWRfcmVxdWlyZW1lbnRzKHB5cGlfdHh0KQorIHRl c3RzX3JlcXVpcmUsIHRlc3RfZGVwX2xpbmtzID0gcmVhZF9yZXF1aXJlbWVudHModGVzdF9weXBp X3R4dCkKKyBkZXBfbGlua3MgKz0gdGVzdF9kZXBfbGlua3MKKyAKKytpbnN0YWxsX3JlcXVpcmVz ID0gWworKyAgICBpdGVtIGZvciBpdGVtIGluIGluc3RhbGxfcmVxdWlyZXMKKysgICAgaWYgbm90 IGl0ZW0uc3RhcnRzd2l0aCgna29qaScpIGFuZCBub3QgaXRlbS5zdGFydHN3aXRoKCdycG0tcHkt aW5zdGFsbGVyJykKKytdCisrCisgcmVhZG1lX3JzdCA9IG9zLnBhdGguam9pbihzZXR1cF9weV9w YXRoLCAnUkVBRE1FLnJzdCcpCisgd2l0aCBvcGVuKHJlYWRtZV9yc3QsICdyJykgYXMgcmVhZG1l OgorICAgICBsb25nX2Rlc2NyaXB0aW9uID0gcmVhZG1lLnJlYWQoKS5yc3RyaXAoKQorLS0gCisy LjMxLjEKKwoKZGlmZiAtLWdpdCBhL3Jwa2cucnBtbGludHJjIGIvcnBrZy5ycG1saW50cmMKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGIzNGJiZQotLS0gL2Rldi9udWxsCisr KyBiL3Jwa2cucnBtbGludHJjCkBAIC0wLDAgKzEsMyBAQAorZnJvbSBDb25maWcgaW1wb3J0ICoK KworYWRkRmlsdGVyKCcvdXNyL3NoYXJlL3Jwa2cvZXhhbXBsZXMvY2xpLycpCgpkaWZmIC0tZ2l0 IGEvcnBrZy5zcGVjIGIvcnBrZy5zcGVjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjYwZDk5ZDEKLS0tIC9kZXYvbnVsbAorKysgYi9ycGtnLnNwZWMKQEAgLTAsMCArMSwxNDk4 IEBACitOYW1lOiAgICAgICAgICAgcnBrZworVmVyc2lvbjogICAgICAgIDEuNjYKK1JlbGVhc2U6 ICAgICAgICA2JXs/ZGlzdH0KKworU3VtbWFyeTogICAgICAgIFB5dGhvbiBsaWJyYXJ5IGZvciBp bnRlcmFjdGluZyB3aXRoIHJwbStnaXQKK0xpY2Vuc2U6ICAgICAgICBHUEx2MisgYW5kIExHUEx2 MgorVVJMOiAgICAgICAgICAgIGh0dHBzOi8vcGFndXJlLmlvL3Jwa2cKK0J1aWxkQXJjaDogICAg ICBub2FyY2gKK1NvdXJjZTA6ICAgICAgICBodHRwczovL3BhZ3VyZS5pby9yZWxlYXNlcy9ycGtn LyV7bmFtZX0tJXt2ZXJzaW9ufS50YXIuZ3oKKworIyBSSEVMNyBpcyBjdXJyZW50bHkgdGhlIG9u bHkgcmVsZWFzZSB0aGF0IGlzIGJ1aWx0IGZvciBQeXRob24gMi4KKyVpZiAwJXs/cmhlbH0gPT0g NworJWdsb2JhbCB3aXRoX3B5dGhvbjIgMQorJWdsb2JhbCB3aXRoX3B5dGhvbjMgMAorIyBzaXRl bGliIGZvciBub2FyY2ggcGFja2FnZXMsIHNpdGVhcmNoIGZvciBvdGhlcnMgKHJlbW92ZSB0aGUg dW5uZWVkZWQgb25lKQorJXshP19fcHl0aG9uMjogJWdsb2JhbCBfX3B5dGhvbjIgJXtfX3B5dGhv bn19CisleyE/cHl0aG9uMl9zaXRlbGliOiAlZ2xvYmFsIHB5dGhvbjJfc2l0ZWxpYiAlKCV7X19w eXRob24yfSAtYyAiZnJvbSBkaXN0dXRpbHMuc3lzY29uZmlnIGltcG9ydCBnZXRfcHl0aG9uX2xp YjsgcHJpbnQoZ2V0X3B5dGhvbl9saWIoKSkiKX0KKyVlbHNlCisjIERpc2FibGUgcHl0aG9uMiBi dWlsZCBieSBkZWZhdWx0CislZ2xvYmFsIHdpdGhfcHl0aG9uMiAwCisjIEVuYWJsZSBweXRob24z IGJ1aWxkIGJ5IGRlZmF1bHQKKyVnbG9iYWwgd2l0aF9weXRob24zIDEKKyVlbmRpZgorCisKKyMg Rml4IGZvciBidWcgMTU3OTM2NworIyBEdWUgdG8gaHR0cHM6Ly9wYWd1cmUuaW8va29qaS9pc3N1 ZS85MTIsIHB5dGhvblsyM10ta29qaSBwYWNrYWdlIGRvZXMgbm90CisjIGhhdmUgZWdnaW5mby4K KyMgcnBtLXB5LWluc3RhbGxlciBpcyByZXF1aXJlZCBhcyBhIHByb3h5IHRvIGluc3RhbGwgUlBN IHB5dGhvbiBiaW5kaW5nCisjIGxpYnJhcnksIHNvIHJwbSBpcyB0aGUgYWN0dWFsIHJlcXVpcmVt ZW50IHRoYXQgbXVzdCBiZSBwcmVzZW50IGluIHRoZQorIyByZXF1aXJlcy50eHQuIEJ1dCwgcnBr ZyBoYXMgdG8gd29yayBpbiBhbGwgYWN0aXZlIEZlZG9yYSBhbmQgRVBFTCByZWxlYXNlcywKKyMg YW5kIHRoZXJlIGlzIG9ubHkgb2xkIHJwbS1weXRob24gcGFja2FnZSBpbiBFTDYgYW5kIDcsIHNv IGp1c3Qgc2ltcGx5IHRvCisjIHJlbW92ZSBycG0tcHktaW5zdGFsbGVyIGZvciBub3cuCitQYXRj aDA6ICAgICAgICAgcmVtb3ZlLWtvamktYW5kLXJwbS1weS1pbnN0YWxsZXItZnJvbS1yZXF1aXJl cy5wYXRjaAorUGF0Y2gxOiAgICAgICAgIDAwMDEtRG8tbm90LXVzZS1weXRlc3QtcmVsYXRlZC1k ZXBlbmRlbmNpZXMtdGVtcG9yYXJpbHkucGF0Y2gKK1BhdGNoMjogICAgICAgICAwMDAyLVJlbW92 ZS1weXRlc3QtY292ZXJhZ2UtZXhlY3V0aW9uLnBhdGNoCislaWYgMCV7P3dpdGhfcHl0aG9uMn0K K1BhdGNoMzogICAgICAgICAwMDAzLVJlbW92ZS1FbnZpcm9ubWVudC1NYXJrZXJzLXN5bnRheC5w YXRjaAorJWVuZGlmCitQYXRjaDQ6ICAgICAgICAgMDAwNC1Qcm9jZXNzLXNvdXJjZS1VUkxzLXdp dGgtZnJhZ21lbnQtaW4tcHJlLXB1c2gtaG9vay5wYXRjaAorUGF0Y2g1OiAgICAgICAgIDAwMDUt Y29udGFpbmVyLWJ1aWxkLXVwZGF0ZS1zaWduaW5nLWludGVudC1oZWxwLWZvci1PU0JTLS5wYXRj aAorUGF0Y2g2OiAgICAgICAgIDAwMDYtRG8tbm90LWdlbmVyYXRlLXByZS1wdXNoLWhvb2stc2Ny aXB0LWluLXNvbWUtY2FzZXMucGF0Y2gKK1BhdGNoNzogICAgICAgICAwMDA3LU1vcmUtcm9idXN0 LXNwZWMtZmlsZS1wcmVzZW5jZS1jaGVja2luZy5wYXRjaAorUGF0Y2g4OiAgICAgICAgIDAwMDgt VXBkYXRlLXRvLXNwZWMtZmlsZS1wcmVzZW5jZS1jaGVja2luZy5wYXRjaAorUGF0Y2g5OiAgICAg ICAgIDAwMDktQWRkLW1vcmUtaW5mb3JtYXRpb24tYWJvdXQtcHJlLXB1c2gtaG9vay5wYXRjaAor UGF0Y2gxMDogICAgICAgIDAwMTAtcHJlLXB1c2gtY2hlY2staGF2ZS10by11c2Utc3BlY3Rvb2wt d2l0aC1kZWZpbmUucGF0Y2gKK1BhdGNoMTE6ICAgICAgICAwMDExLUEtSEVBRC1xdWVyeS1pbnRv LWEtbG9va2FzaWRlLWNhY2hlLnBhdGNoCitQYXRjaDEyOiAgICAgICAgMDAxMi1wcmUtcHVzaC1o b29rLXNjcmlwdC1jb250YWlucy1hLXVzZXItcy1jb25maWcucGF0Y2gKK1BhdGNoMTM6ICAgICAg ICAwMDEzLUZpeC11bml0dGVzdHMtZm9yLWNsb25lLWFuZC1wcmUtcHVzaC1ob29rLXNjcmlwdC5w YXRjaAorUGF0Y2gxNDogICAgICAgIDAwMTQtaW1wb3J0X3NycG0tYWxsb3ctcHJlLWdlbmVyYXRl ZC1zcnBtcy5wYXRjaAorUGF0Y2gxNTogICAgICAgIDAwMTUtSWdub3JlLW1pc3Npbmctc3BlYy1m aWxlLWluLXByZS1wdXNoLWhvb2sucGF0Y2gKK1BhdGNoMTY6ICAgICAgICAwMDE2LUNoZWNrLXJl bW90ZS1maWxlLXdpdGgtY29ycmVjdC1oYXNoLnBhdGNoCitQYXRjaDE3OiAgICAgICAgMDAxNy1B bGxvdy1lbXB0eS1jb21taXRzLXdoZW4tdXNlc19ycG1hdXRvc3BlYy5wYXRjaAorUGF0Y2gxODog ICAgICAgIDAwMTgtQ29uZmlnLWZpbGUtb3B0aW9uLXRvLXNraXAtdGhlLWhvb2stc2NyaXB0LWNy ZWF0aW9uLnBhdGNoCitQYXRjaDE5OiAgICAgICAgMDAxOS1QcmUtcHVzaC1ob29rLXdvbi10LWNo ZWNrLXByaXZhdGUtYnJhbmNoZXMucGF0Y2gKKworJWRlc2NyaXB0aW9uCitQeXRob24gbGlicmFy eSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBycG0rZ2l0CisKKworJWlmIDAlez93aXRoX3B5dGhvbjJ9 CislcGFja2FnZSAtbiBweXRob24yLSV7bmFtZX0KK1N1bW1hcnk6ICAgICAgICAle3N1bW1hcnl9 Cislez9weXRob25fcHJvdmlkZTolcHl0aG9uX3Byb3ZpZGUgcHl0aG9uMi0le25hbWV9fQorCitC dWlsZFJlcXVpcmVzOiAgcHl0aG9uMi1kZXZlbAorCisjIFdlIGJyIHRoZXNlIHRoaW5ncyBmb3Ig bWFuIHBhZ2UgZ2VuZXJhdGlvbiBkdWUgdG8gaW1wb3J0cworQnVpbGRSZXF1aXJlczogIHJwbWxp bnQKK0J1aWxkUmVxdWlyZXM6ICBycG1kZXZ0b29scworQnVpbGRSZXF1aXJlczogIHB5dGhvbjIt a29qaSA+PSAxLjIxCitCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMi1jY2NvbHV0aWxzCitCdWlsZFJl cXVpcmVzOiAgUHlZQU1MCitCdWlsZFJlcXVpcmVzOiAgR2l0UHl0aG9uCitCdWlsZFJlcXVpcmVz OiAgcHl0aG9uLXB5Y3VybAorQnVpbGRSZXF1aXJlczogIHB5dGhvbi1yZXF1ZXN0cworQnVpbGRS ZXF1aXJlczogIHB5dGhvbi1yZXF1ZXN0cy1rZXJiZXJvcworQnVpbGRSZXF1aXJlczogIHB5dGhv bi1zaXggPj0gMS45LjAKK0J1aWxkUmVxdWlyZXM6ICBweXRob24yLWFyZ2NvbXBsZXRlCitCdWls ZFJlcXVpcmVzOiAgcHl0aG9uMi1tb2NrCitCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMi1ub3NlCitC dWlsZFJlcXVpcmVzOiAgcHl0aG9uMi1zZXR1cHRvb2xzCisKK1JlcXVpcmVzOiAgICAgICBtb2Nr CitSZXF1aXJlczogICAgICAgcmVkaGF0LXJwbS1jb25maWcKK1JlcXVpcmVzOiAgICAgICBycG0t YnVpbGQKK1JlcXVpcmVzOiAgICAgICBycG1saW50CitSZXF1aXJlczogICAgICAgcnBtZGV2dG9v bHMKK1JlcXVpcmVzOiAgICAgICBweXRob24yLWFyZ2NvbXBsZXRlCitSZXF1aXJlczogICAgICAg cHl0aG9uMi1jY2NvbHV0aWxzCitSZXF1aXJlczogICAgICAgcHl0aG9uMi1rb2ppID49IDEuMjEK K1JlcXVpcmVzOiAgICAgICBQeVlBTUwKK1JlcXVpcmVzOiAgICAgICBHaXRQeXRob24gPj0gMC4y LjAKK1JlcXVpcmVzOiAgICAgICBweXRob24tcHljdXJsCitSZXF1aXJlczogICAgICAgcHl0aG9u LXJlcXVlc3RzCitSZXF1aXJlczogICAgICAgcHl0aG9uLXJlcXVlc3RzLWtlcmJlcm9zCitSZXF1 aXJlczogICAgICAgcHl0aG9uLXNpeCA+PSAxLjkuMAorUmVxdWlyZXM6ICAgICAgIHJwbS1weXRo b24KKworUmVxdWlyZXM6ICAgICAgICV7bmFtZX0tY29tbW9uID0gJXt2ZXJzaW9ufS0le3JlbGVh c2V9CisKK0NvbmZsaWN0czogICAgICBmZWRwa2cgPCAxLjI2CisKKyMgQmFja3dhcmQgY29tcGF0 aWJpbGl0eSB3aXRoIGNhcGFiaWxpdHkgcHlycGtnCitQcm92aWRlczogcHlycGtnID0gJXt2ZXJz aW9ufS0le3JlbGVhc2V9CisjIEFsbCBvbGQgdmVyc2lvbnMgYmVmb3JlIDEuNDktMSBzaG91bGQg bm90IGJlIHVzZWQgYW55bW9yZQorT2Jzb2xldGVzOiBweXJwa2cgPCAxLjQ5LTIKKworCislZGVz Y3JpcHRpb24gLW4gcHl0aG9uMi0le25hbWV9CitBIHB5dGhvbiBsaWJyYXJ5IGZvciBtYW5hZ2lu ZyBSUE0gcGFja2FnZSBzb3VyY2VzIGluIGEgZ2l0IHJlcG9zaXRvcnkuCislZW5kaWYKKyMgZW5k IG9mIHB5dGhvbjIgc2VjdGlvbgorCisKKyVpZiAwJXs/d2l0aF9weXRob24zfQorJXBhY2thZ2Ug LW4gcHl0aG9uMy0le25hbWV9CitTdW1tYXJ5OiAgICAgICAgJXtzdW1tYXJ5fQorJXs/cHl0aG9u X3Byb3ZpZGU6JXB5dGhvbl9wcm92aWRlIHB5dGhvbjMtJXtuYW1lfX0KKyMgT2Jzb2xldGUgcHl0 aG9uMi1ycGtnIChyZW1vdmUgYWZ0ZXIgRmVkb3JhMjkpCislaWYgMCV7P3dpdGhfcHl0aG9uMn0g PT0gMAorT2Jzb2xldGVzOiAgICAgIHB5dGhvbjItcnBrZyA8ICV7dmVyc2lvbn0tJXtyZWxlYXNl fQorJWVuZGlmCisKK0J1aWxkUmVxdWlyZXM6ICBweXRob24zLWRldmVsCitCdWlsZFJlcXVpcmVz OiAgcHl0aG9uMy1HaXRQeXRob24KK0J1aWxkUmVxdWlyZXM6ICBweXRob24zLWtvamkgPj0gMS4y NAorJWlmIDAlez9yaGVsfQorQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtZ29iamVjdC1iYXNlCitC dWlsZFJlcXVpcmVzOiAgbGlibW9kdWxlbWQKK0J1aWxkUmVxdWlyZXM6ICBweXRob24zLXJlcXVl c3RzLWtlcmJlcm9zCislZWxzZQorQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtbGlibW9kdWxlbWQK KyVlbmRpZgorQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtYXJnY29tcGxldGUKK0J1aWxkUmVxdWly ZXM6ICBweXRob24zLWNjY29sdXRpbHMKK0J1aWxkUmVxdWlyZXM6ICBweXRob24zLW9wZW5pZGMt Y2xpZW50CitCdWlsZFJlcXVpcmVzOiAgcHl0aG9uMy1weWN1cmwKK0J1aWxkUmVxdWlyZXM6ICBw eXRob24zLXNpeCA+PSAxLjkuMAorQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtcmVxdWVzdHMKK0J1 aWxkUmVxdWlyZXM6ICBweXRob24zLXNldHVwdG9vbHMKK0J1aWxkUmVxdWlyZXM6ICBweXRob24z LXB5dGVzdAorQnVpbGRSZXF1aXJlczogIHB5dGhvbjMtUHlZQU1MCitCdWlsZFJlcXVpcmVzOiAg cnBtbGludAorQnVpbGRSZXF1aXJlczogIHJwbWRldnRvb2xzCisKK1JlcXVpcmVzOiAgICAgICBt b2NrCitSZXF1aXJlczogICAgICAgcmVkaGF0LXJwbS1jb25maWcKK1JlcXVpcmVzOiAgICAgICBy cG0tYnVpbGQKK1JlcXVpcmVzOiAgICAgICBycG1saW50CitSZXF1aXJlczogICAgICAgcnBtZGV2 dG9vbHMKKworUmVxdWlyZXM6ICAgICAgIHB5dGhvbjMtYXJnY29tcGxldGUKK1JlcXVpcmVzOiAg ICAgICBweXRob24zLUdpdFB5dGhvbiA+PSAwLjIuMAorUmVxdWlyZXM6ICAgICAgIHB5dGhvbjMt Y2Njb2x1dGlscworUmVxdWlyZXM6ICAgICAgIHB5dGhvbjMta29qaSA+PSAxLjI0CislaWYgMCV7 P3JoZWx9CitSZXF1aXJlczogICAgICAgcHl0aG9uMy1nb2JqZWN0LWJhc2UKK1JlcXVpcmVzOiAg ICAgICBsaWJtb2R1bGVtZAorUmVxdWlyZXM6ICAgICAgIHB5dGhvbjMtcmVxdWVzdHMta2VyYmVy b3MKKyVlbHNlCitSZXF1aXJlczogICAgICAgcHl0aG9uMy1saWJtb2R1bGVtZAorUmVxdWlyZXM6 ICAgICAgIHB5dGhvbjMtcnBtYXV0b3NwZWMKKyVlbmRpZgorUmVxdWlyZXM6ICAgICAgIHB5dGhv bjMtcnBtCitSZXF1aXJlczogICAgICAgcHl0aG9uMy1weWN1cmwKK1JlcXVpcmVzOiAgICAgICBw eXRob24zLXNpeCA+PSAxLjkuMAorUmVxdWlyZXM6ICAgICAgIHB5dGhvbjMtUHlZQU1MCisKK1Jl cXVpcmVzOiAgICAgICAle25hbWV9LWNvbW1vbiA9ICV7dmVyc2lvbn0tJXtyZWxlYXNlfQorCitD b25mbGljdHM6ICAgICAgZmVkcGtnIDwgMS4yNgorCislZGVzY3JpcHRpb24gLW4gcHl0aG9uMy0l e25hbWV9CitBIHB5dGhvbiBsaWJyYXJ5IGZvciBtYW5hZ2luZyBSUE0gcGFja2FnZSBzb3VyY2Vz IGluIGEgZ2l0IHJlcG9zaXRvcnkuCislZW5kaWYKKyMgZW5kIG9mIHB5dGhvbjMgc2VjdGlvbgor CisKKyVwYWNrYWdlIGNvbW1vbgorU3VtbWFyeTogICAgICAgIENvbW1vbiBmaWxlcyBmb3IgJXtu YW1lfQorCisjIEZpbGVzIHdlcmUgbW92ZWQgZnJvbSBweXRob24yLXJwa2cgaW4gdGhhdCB2ZXJz aW9uCitDb25mbGljdHM6ICAgICAgcHl0aG9uMi1ycGtnIDwgMS41Mi0yCitDb25mbGljdHM6ICAg ICAgcHlycGtnIDwgMS41Mi0yCisKKyVkZXNjcmlwdGlvbiBjb21tb24KK0NvbW1vbiBmaWxlcyBm b3IgcHl0aG9uMi0le25hbWV9IGFuZCBweXRob24zLSV7bmFtZX0uCisKKworJXByZXAKKyVhdXRv c2V0dXAgLXAxCisKKyMgUmVtb3ZlcyBzZWN0aW9uIGZyb20gc2V0dXAucHkgdGhhdCBpcyByZWxl dmFudCBvbmx5IGZvciBwaXAgYW5kCisjIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggaW4gUkhFTC02 IHRvb2xzCitzZWQgLWkgLW4gJy9leHRyYXNfcmVxdWlyZS8sL30vIXAnIHNldHVwLnB5CisKKyVi dWlsZAorJWlmIDAlez93aXRoX3B5dGhvbjJ9Cisle19fcHl0aG9uMn0gc2V0dXAucHkgYnVpbGQK KyVlbmRpZgorCislaWYgMCV7P3dpdGhfcHl0aG9uM30KKyVweTNfYnVpbGQKKyVlbmRpZgorCisK KyVpbnN0YWxsCislaWYgMCV7P3dpdGhfcHl0aG9uMn0KKyV7X19weXRob24yfSBzZXR1cC5weSBp bnN0YWxsIC1PMSAtLXNraXAtYnVpbGQgLS1yb290ICRSUE1fQlVJTERfUk9PVAorJWVuZGlmCisK KyVpZiAwJXs/d2l0aF9weXRob24zfQorJXB5M19pbnN0YWxsCislZW5kaWYKKworCisjIENyZWF0 ZSBjb25maWd1cmF0aW9uIGRpcmVjdG9yeSB0byBob2xkaW5nIGRvd25zdHJlYW0gY2xpZW50cyBj b25maWcgZmlsZXMKKyMgdGhhdCBhcmUgYnVpbHQgb24gdG9wIG9mIHJwa2cKKyV7X19pbnN0YWxs fSAtZCAkUlBNX0JVSUxEX1JPT1Qle19zeXNjb25mZGlyfS9ycGtnCisKK2V4YW1wbGVfY2xpX2Rp cj0kUlBNX0JVSUxEX1JPT1Qle19kYXRhZGlyfS8le25hbWV9L2V4YW1wbGVzL2NsaQorJXtfX2lu c3RhbGx9IC1kICRleGFtcGxlX2NsaV9kaXIKKworIyBJbnN0YWxsIGV4YW1wbGUgQ0xJIHRvIHJw a2cgb3duIGRhdGEgZGlyZWN0b3J5Cisle19faW5zdGFsbH0gLWQgJHtleGFtcGxlX2NsaV9kaXJ9 JXtfYmluZGlyfQorJXtfX2luc3RhbGx9IC1kICR7ZXhhbXBsZV9jbGlfZGlyfSV7X3N5c2NvbmZk aXJ9L2Jhc2hfY29tcGxldGlvbi5kCisle19faW5zdGFsbH0gLWQgJHtleGFtcGxlX2NsaV9kaXJ9 JXtfc3lzY29uZmRpcn0vcnBrZworCisle19faW5zdGFsbH0gLXAgLW0gMDY0NCBiaW4vcnBrZyAk e2V4YW1wbGVfY2xpX2Rpcn0le19iaW5kaXJ9Cisle19faW5zdGFsbH0gLXAgLW0gMDY0NCBldGMv YmFzaF9jb21wbGV0aW9uLmQvcnBrZy5iYXNoICR7ZXhhbXBsZV9jbGlfZGlyfSV7X3N5c2NvbmZk aXJ9L2Jhc2hfY29tcGxldGlvbi5kCisle19faW5zdGFsbH0gLXAgLW0gMDY0NCBldGMvcnBrZy9y cGtnLmNvbmYgJHtleGFtcGxlX2NsaV9kaXJ9JXtfc3lzY29uZmRpcn0vcnBrZworCisKKyVjaGVj aworJWlmIDAlez93aXRoX3B5dGhvbjJ9Cisle19fcHl0aG9uMn0gLW0gbm9zZSB0ZXN0cworJWVu ZGlmCisKKyVpZiAwJXs/d2l0aF9weXRob24zfQorJXB5dGVzdAorJWVuZGlmCisKKworJWlmIDAl ez93aXRoX3B5dGhvbjJ9CislZmlsZXMgLW4gcHl0aG9uMi0le25hbWV9CislZG9jIFJFQURNRS5y c3QgQ0hBTkdFTE9HLnJzdAorJWlmIDAlez9yaGVsfSAmJiAwJXs/cmhlbH0gPCA3CislZG9jIENP UFlJTkcgQ09QWUlORy1rb2ppIExHUEwKKyVlbHNlCislbGljZW5zZSBDT1BZSU5HIENPUFlJTkct a29qaSBMR1BMCislZW5kaWYKKyMgRm9yIG5vYXJjaCBwYWNrYWdlczogc2l0ZWxpYgorJXtweXRo b24yX3NpdGVsaWJ9L3B5cnBrZworJXtweXRob24yX3NpdGVsaWJ9LyV7bmFtZX0tJXt2ZXJzaW9u fS1weSouZWdnLWluZm8KKyVlbmRpZgorCislaWYgMCV7P3dpdGhfcHl0aG9uM30KKyVmaWxlcyAt biBweXRob24zLSV7bmFtZX0KKyVkb2MgUkVBRE1FLnJzdCBDSEFOR0VMT0cucnN0CislbGljZW5z ZSBDT1BZSU5HIENPUFlJTkcta29qaSBMR1BMCisle3B5dGhvbjNfc2l0ZWxpYn0vcHlycGtnCisl e3B5dGhvbjNfc2l0ZWxpYn0vJXtuYW1lfS0le3ZlcnNpb259LXB5Ki5lZ2ctaW5mbworJWVuZGlm CisKKyVmaWxlcyBjb21tb24KKyV7X2RhdGFkaXJ9LyV7bmFtZX0KKyV7X3N5c2NvbmZkaXJ9L3Jw a2cKKworCislY2hhbmdlbG9nCisqIFR1ZSBBcHIgMTggMjAyMyBPbmTFmWVqIE5vc2VrIDxvbm9z ZWtAcmVkaGF0LmNvbT4gLSAxLjY2LTYKKy0gUGF0Y2g6IFByZS1wdXNoIGhvb2sgd29uJ3QgY2hl Y2sgcHJpdmF0ZSBicmFuY2hlcworLSBQYXRjaDogQ29uZmlnIGZpbGUgb3B0aW9uIHRvIHNraXAg dGhlIGhvb2sgc2NyaXB0IGNyZWF0aW9uCistIFBhdGNoOiBBbGxvdyBlbXB0eSBjb21taXRzIHdo ZW4gYHVzZXNfcnBtYXV0b3NwZWNgCistIFBhdGNoOiBDaGVjayByZW1vdGUgZmlsZSB3aXRoIGNv cnJlY3QgaGFzaAorLSBQYXRjaDogSWdub3JlIG1pc3Npbmcgc3BlYyBmaWxlIGluIHByZS1wdXNo IGhvb2sKKy0gUGF0Y2g6IGltcG9ydF9zcnBtOiBhbGxvdyBwcmUtZ2VuZXJhdGVkIHNycG1zCisK KyogU2F0IEFwciAxIDIwMjMgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS42 Ni01CistIFBhdGNoOiBGaXggdW5pdHRlc3RzIGZvciBgY2xvbmVgIGFuZCBwcmUtcHVzaCBob29r IHNjcmlwdAorLSBQYXRjaDogcHJlLXB1c2ggaG9vayBzY3JpcHQgY29udGFpbnMgYSB1c2VyJ3Mg Y29uZmlnCistIFBhdGNoOiBBIEhFQUQgcXVlcnkgaW50byBhIGxvb2thc2lkZSBjYWNoZQorLSBQ YXRjaDogYHByZS1wdXNoLWNoZWNrYCBoYXZlIHRvIHVzZSBzcGVjdG9vbCB3aXRoIC0tZGVmaW5l CistIFBhdGNoOiBBZGQgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBwcmUtcHVzaCBob29rCistIFBh dGNoOiBVcGRhdGUgdG8gc3BlYyBmaWxlIHByZXNlbmNlIGNoZWNraW5nCistIFBhdGNoOiBNb3Jl IHJvYnVzdCBzcGVjIGZpbGUgcHJlc2VuY2UgY2hlY2tpbmcKKworKiBGcmkgTWFyIDEwIDIwMjMg T25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS42Ni00CistIFBhdGNoOiBEbyBu b3QgZ2VuZXJhdGUgcHJlLXB1c2ggaG9vayBzY3JpcHQgaW4gc29tZSBjYXNlcworCisqIFdlZCBN YXIgMSAyMDIzIE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjYtMworLSBQ YXRjaDogUHJvY2VzcyBzb3VyY2UgVVJMcyB3aXRoIGZyYWdtZW50IGluIHByZS1wdXNoIGhvb2sK Ky0gUGF0Y2g6IGNvbnRhaW5lci1idWlsZDogdXBkYXRlIC0tc2lnbmluZy1pbnRlbnQgaGVscCBm b3IgT1NCUyAyCisKKyogVHVlIEZlYiAyMSAyMDIzIE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRo YXQuY29tPiAtIDEuNjYtMgorLSByZWJ1aWxkIGZvciB1bmlmaWNhdGlvbiBvZiBhbGwgYnJhbmNo ZXMKKworKiBNb24gRmViIDIwIDIwMjMgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+ IC0gMS42Ni0xCistIGNvbnRhaW5lci1idWlsZDogZG9jdW1lbnQgLS1jb21wb3NlLWlkcyBvdmVy cmlkZXMgYW55IG5ldyBjb21wb3NlcyAoa2RyZXllcikKKy0gVXNlIHNycG0gd2hlbiBzY3JhdGNo LWJ1aWxkaW5nIGZyb20gZGlydHkgcmVwbyAtICM2NTIgKG90dG8ubGlsamFsYWFrc28pCistIENv ZGUgY2xlYW51cCBpbiB0ZXN0cy90ZXN0X2NsaS5weSAob3R0by5saWxqYWxhYWtzbykKKy0gUmVk dWNlIGluZGVudGF0aW9uIGluIGFzc2VydF9idWlsZCBoZWxwZXIgKG90dG8ubGlsamFsYWFrc28p CistIEFsbG93IGVtcHR5IGNvbW1pdHMgLSA0OTQgKG1zdWNoeSkKKy0gQWxsb3cgZm9yY2luZyBk b3dubG9hZCBvZiBhbGwgc291cmNlcyAtICM2NTAgKG90dG8ubGlsamFsYWFrc28pCistIEFkZCB0 ZXN0IGNhc2UgZm9yIG5vdCBkb3dubG9hZGluZyB1bnVzZWQgc291cmNlcyAob3R0by5saWxqYWxh YWtzbykKKy0gU3VwcG9ydCAncmVzdWx0c19kaXI9c3ViZGlyJyB3aGVuIGJ1aWxkaW5nIGZyb20g c3JwbSAtICM2NDgKKyAgKG90dG8ubGlsamFsYWFrc28pCistIFVzZSBsb2NhbCBicmFuY2ggbmFt ZSBhcyByZWxlYXNlIHdoZW4gdGhlcmUgaXMgbm8gcmVtb3RlIChvdHRvLmxpbGphbGFha3NvKQor LSBBbGxvdyBkb3duc3RyZWFtcyB0byBkZWZpbmUgYSBkZWZhdWx0IHJlbGVhc2UgKG90dG8ubGls amFsYWFrc28pCistIFN3aXRjaCBsb2FkX2JyYW5jaF9tZXJnZSB0byB1c2UgbXVsdGlwbGUgcmV0 dXJuIChvdHRvLmxpbGphbGFha3NvKQorLSBVbml0dGVzdHMgZm9yICdnaXQgcHVzaCcgaG9vayBz Y3JpcHQgKG9ub3NlaykKKy0gQ2hlY2tpbmcgYSByZXBvIGNvbmZpZ3VyYXRpb24gYmVmb3JlICdn aXQgcHVzaCcgd2l0aCBhIGdpdCBob29rIHNjcmlwdCAtIDQ5MQorICAob25vc2VrKQorLSBGaXgg c2tpcHBpbmcgTlZSIGNoZWNrIHdpdGggYXV0b3JlbGVhc2UgKG5pbHMpCistIHB5cnBrZy5zcGVj LlNwZWNGaWxlOiBNb3JlIGxlbmllbnQgcGFyc2VyIGZvciBTb3VyY2UvUGF0Y2ggbGluZXMgKGZ3 ZWltZXIpCistIEZpeCBVUkwgaW4gQ0hBTkdFTE9HLnJzdCAodG16KQorLSBBZGQgSmVua2luc2Zp bGUgZm9yIENJIChvbm9zZWspCistIG1vY2tidWlsZDogZXNjYXBlIHJwbSBjb21tYW5kIHVuZGVy IG1vY2sgLSByaGJ6IzIxMzAzNDkgKG9ub3NlaykKKy0gRml4ZXMgZm9yIGV4cGxvZGVkIFNSUE0g bGF5b3V0cyAtICM2MzMgKHRkYXdzb24pCistIGBmZWRwa2cgbG9jYWxgIGRvZXMgbm90IHNob3cg cnBtYnVpbGQgb3V0cHV0IC0gcmhieiMyMTI0ODA5IChvbm9zZWspCisKKyogTW9uIE9jdCAxMCAy MDIyIE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjUtMworLSBQYXRjaDog Rml4ZXMgZm9yIGV4cGxvZGVkIFNSUE0gbGF5b3V0cworLSBQYXRjaDogbW9ja2J1aWxkOiBlc2Nh cGUgcnBtIGNvbW1hbmQgdW5kZXIgbW9jaworCisqIFdlZCBTZXAgNyAyMDIyIE9uZMWZZWogTm9z ZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjUtMgorLSBQYXRjaDogYGZlZHBrZyBsb2NhbGAg ZG9lcyBub3Qgc2hvdyBycG1idWlsZCBvdXRwdXQKKworKiBXZWQgU2VwIDcgMjAyMiBPbmTFmWVq IE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjY1LTEKKy0gRXh0cmEgYXJndW1lbnRzIG5v dyB1c2Ugc2hlbGwtZXNjYXBpbmcgLSByZXZlcnQgKG9ub3NlaworLSBSZW1vdmUgcHl0ZXN0IHdh cm5pbmdzIChvbm9zZWspCistIFJlZnVzZSBpbXBvcnQgb2YgcGFja2FnZXMgcHJvY2Vzc2VkIGJ5 IHJwbWF1dG9zcGVjICh6YnlzemVrKQorLSBmb2xsb3cgcmVkaXJlY3RzIGZvciBsb29rYXNpZGUg KHRrb3BlY2VrKQorLSBSZXBhaXIgZmxha2U4IGNvbXBsYWludHMgKG9ub3NlaykKKy0gRml4IGhp Z2ggbGV2ZWwgYmFuZGl0IGZpbmRpbmdzIChvbm9zZWspCistIGNvbnRhaW5lci1idWlsZDogaW1w cm92ZSBoZWxwIHRleHQgZm9yIC0tY29tcG9zZS1pZHMgYXJndW1lbnQgKGtkcmV5ZXIpCistIENP TlRSSUJVVElORy5tZCBmaXggbGlua3MgKG9ub3NlaykKKy0gSW1wcm92ZSBjaGFuZ2UgbWFuYWdl bWVudCBwcm9jZXNzIGRvY3VtZW50YXRpb24gKG9ub3NlaykKKy0gUmVtb3ZpbmcgYmFuZGl0IGlz c3VlcyBmcm9tIGNsaS5weSAoZHJ1bWlhbikKKy0gRXh0cmFjdCBzb3VyY2UgUlBNcyB3aXRoIHJw bTJhcmNoaXZlIGlmIHBvc3NpYmxlIChwcmFpc2t1cCkKKy0gU2V0IHVwIGJhbmRpdCBzY2FubmVy IGZvciBycGtnIChvbm9zZWspCistIFJlZnVzZSB0byAiY29tbWl0IC1jIiB3aGVuIHVzaW5nICVh dXRvY2hhbmdlbG9nIC0gNDU0IChkcnVtaWFuKQorLSBSZWZhY3RvcmluZyBsb2FkaW5nIHJwbWF1 dG9zcGVjIGZlYXR1cmUgKG9ub3NlaykKKy0gYWRkIC0tYmFja2dyb3VuZCBvcHRpb24gZm9yIGNv bnRhaW5lci1idWlsZCB3aGljaCBhbGxvd3MgdG8gY3JlYXRlIGJ1aWxkIHdpdGgKKyAgbG93ZXIg cHJpb3JpdHkgKHJjZXJ2ZW4pCistICdjbGVhbiAtLWRyeS1ydW4nIGRlcHJlY2F0aW9uIHdhcm5p bmcgKGRydW1pYW4pCistIEJldHRlciBleGl0IGNvZGUgZm9yIGNvbm5lY3Rpb24gZXJyb3IgKGRy dW1pYW4pCistIEZpeCBnZW5lcmF0aW9uIG9mIG9wdGlvbmFsIHBhcmFtZXRlcnMgaW4gbWFuIHBh Z2UgKG1zcGFjZWspCistIFVzZSBhYnNvbHV0ZSBwYXRoIGZvciBtb2NrIHJlc3VsdHMgaW4gYGxp bnRgIChvbm9zZWspCistIGNvbnRhbmVyLWJ1aWxkIGRvZXMgbm90IGNoZWNrIGZvciBleGlzdGVu Y2Ugb2Yga29qaXNlc3Npb24uYnVpbGRDb250YWluZXIgLQorICA1MzIgKGRydW1pYW4pCistIEZp eDogJ2xpbnQnIHN1YmNvbW1hbmQgc2hvdWxkIG5vdCBpbnZva2UgcnBtbGludCBvbiBkZWJ1Z2lu Zm8gcGFja2FnZXMgLQorICByaGJ6IzIwNTI0NTEgKGRydW1pYW4pCistIEFkZCBgLS1jdXN0b20t dXNlci1tZXRhZGF0YWAgdG8gYnVpbGQgY29tbWFuZCAob25vc2VrKQorLSBGaXg6ICdsaW50IC1p Ly0taW5mbycgZG9lcyBub3Qgd29yayAtIHJoYnojMjAxNjYxNiAoZHJ1bWlhbikKKy0gRml4OiBB bHJlYWR5VXBsb2FkZWRFcnJvciB3aGVuIHBhY2thZ2UgaGFzIG5vIHNvdXJjZXMgLSA2MDQgKGRy dW1pYW4pCistIEZpeDogRXh0cmEgYXJndW1lbnRzIG5vdyB1c2Ugc2hlbGwtZXNjYXBpbmcgLSA1 ODcgKGRydW1pYW4pCisKKyogRnJpIEF1ZyAxOSAyMDIyIE9uZMWZZWogTm9zZWsgPG9ub3Nla0By ZWRoYXQuY29tPiAtIDEuNjQtOQorLSBQYXRjaDogRXh0cmFjdCBzb3VyY2UgUlBNcyB3aXRoIHJw bTJhcmNoaXZlIGlmIHBvc3NpYmxlCisKKyogVGh1IEF1ZyAxOCAyMDIyIE9uZMWZZWogTm9zZWsg PG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjQtOAorLSBQYXRjaDogUmVwYWlyIGZsYWtlOCBjb21w bGFpbnRzCistIFBhdGNoOiBmb2xsb3cgcmVkaXJlY3RzIGZvciBsb29rYXNpZGUKKworKiBTYXQg SnVsIDIzIDIwMjIgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9q ZWN0Lm9yZz4gLSAxLjY0LTcKKy0gUmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9y Zy93aWtpL0ZlZG9yYV8zN19NYXNzX1JlYnVpbGQKKworKiBUdWUgSnVuIDE0IDIwMjIgUHl0aG9u IE1haW50IDxweXRob24tbWFpbnRAcmVkaGF0LmNvbT4gLSAxLjY0LTYKKy0gUmVidWlsdCBmb3Ig UHl0aG9uIDMuMTEKKworKiBNb24gQXByIDE4IDIwMjIgT25kxZllaiBOb3NlayA8b25vc2VrQHJl ZGhhdC5jb20+IC0gMS42NC01CistIFBhdGNoOiBhZGQgLS1iYWNrZ3JvdW5kIG9wdGlvbiBmb3Ig Y29udGFpbmVyLWJ1aWxkIHdoaWNoIGFsbG93cworICB0byBjcmVhdGUgYnVpbGQKKworKiBUdWUg QXByIDA1IDIwMjIgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS42NC00Cist IFBhdGNoOiBCZXR0ZXIgZXhpdCBjb2RlIGZvciBjb25uZWN0aW9uIGVycm9yCisKKyogRnJpIE1h ciAxOCAyMDIyIE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjQtMworLSBQ YXRjaDogQWRkIGAtLWN1c3RvbS11c2VyLW1ldGFkYXRhYCB0byBidWlsZCBjb21tYW5kCisKKyog VHVlIEZlYiAwOCAyMDIyIE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjQt MgorLSBVcGxvYWQgY29ycmVjdCB0YXJiYWxsCisKKyogVHVlIEphbiAyNSAyMDIyIE9uZMWZZWog Tm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjQtMQorLSBGaXg6ICpwa2cgbm93IHRha2Vz IGludG8gYWNjb3VudCAtLXBhdGggcGFyYW1ldGVyIHdoaWxlIGJ1aWxkaW5nIFNSUE0gLSA1ODAK KyAgKGRydW1pYW4pCistICdsaW50JyBjYW4gcnVuIHdpdGggZGlmZmVyZW50ICdycG1saW50JyB2 ZXJzaW9ucyAtIHJoYnojMTk2NzgyMSAob25vc2VrKQorLSBTdXBwb3J0IGJ1aWxkaW5nIFNSUE1z IGluIHRhcmdldCBtb2NrIC0gIzQ5NSAob25vc2VrKQorLSBVc2UgdW5pdHRlc3QubW9jayBvbiBQ eXRob24gMyAobWlybykKKy0gQWRkIHN1cHBvcnQgZm9yIG1vY2tidWlsZCBpbiBsaW50IGNvbW1h bmQgKG90dXJwZSkKKy0gRml4IHNycG0gYW5kIGJpbmFyeSBycG0gbG9va3VwIGluIGxpbnQgc3Vi Y29tbWFuZCAtICM1ODYgKG90dXJwZSkKKy0gbW9ja2J1aWxkOiBhbGxvdyBlbmZvcmNpbmcgbG9j YWwgbW9jayBjb25maWcgaW4gZmVkcGtnIChwcmFpc2t1cCkKKy0gbGlzdC1zaWRlLXRhZ3MgLSBm aXggdW5hdmFpbGFibGUgdXNlcm5hbWUgKHNlcmdpbykKKy0gQWNjZXB0IGFsc28gfi8uY29uZmln L21vY2svPGNocm9vdD4uY2ZnIGZpbGVzIChwcmFpc2t1cCkKKy0gaW1wcm92ZSBzcnBtIC0taGVs cCBkZXNjcmlwdGlvbiAoa2RyZXllcikKKy0gSW1wcm92ZSBob3cgdGhlIC5zcGVjIGZpbGUgaXMg c2VsZWN0ZWQgKG1hZHMpCistIEluY2x1ZGUgYGZtZmAgY29uZmlnIGluIHRoZSBsaXN0IG9mIHJl c2VydmVkIGZpbGVzIC0gNDUyIChwc3BsaWNoYSkKKy0gRml4IGZsYWtlOCBzeW50YXggKG9ub3Nl aykKKy0gQ29udGludWUgZXhlY3V0aW9uIGlmIHNwZWNmaWxlIHBhcnNpbmcgZmFpbHMgLSAjNTgz IChvdHVycGUpCistIENvbnNpZGVyIFBhdGNoIHRhZ3MgaW4gc3BlY2ZpbGUgcGFyc2VyIC0gcmhi eiMyMDEwNTE4IChvdHVycGUpCistIFN1cHBvcnQgZm9yIGN1c3RvbSBjb21wbGV0ZXJzIChvbm9z ZWspCistIEZpeGVzIGltcG9ydCBmYWlsIHdpdGggc291cmNlcyBhbHJlYWR5IGltcG9ydGVkIC0g IzU3MyAoZHJ1bWlhbikKKy0gQWxzbyBkb2N1bWVudCBQeXRob24gMy4xMCBzdXBwb3J0IGluIHRo ZSBSRUFETUUgKG1pcm8pCistIFRlc3QgYW5kIHN1cHBvcnQgUHl0aG9uIDMuMTAgKG1pcm8pCist IFByaW50IFNwZWNGaWxlIHBhcnNpbmcgZGVidWcgaW5mbyAtIHJoYnojMjAwMDU1NiAob25vc2Vr KQorLSBQYXNzIHNvdXJjZWRpciB0byBycG1zcGVjIHdoZW4gc3BlY2ZpbGUgaXMgcGFyc2VkIC0g IzU1OSAob3R1cnBlKQorLSBGaXggdW5pdHRlc3RzIHRvIGJlIFB5dGhvbiAyIGNvbXBhdGlibGUg KGRydW1pYW4pCistIENoYW5naW5nIGVzY2FwaW5nIG9mIGRhc2ggaW4gZG9jcyAtIG9sZGVyIHJl bGVhc2VzIChvbm9zZWspCistIENoYW5naW5nIGVzY2FwaW5nIG9mIGRhc2ggaW4gZG9jcy4gKGRy dW1pYW4pCisKKyogRnJpIEphbiAyMSAyMDIyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxy ZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS42My03CistIFJlYnVpbHQgZm9yIGh0dHBzOi8v ZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzZfTWFzc19SZWJ1aWxkCisKKyogVHVlIERl YyAxNCAyMDIxIE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjMtNgorLSBk cm9wIG5vc2V0ZXN0cyBmb3IgUHl0aG9uMworLSBkaXNhYmxlIHB5dGVzdCBjb3ZlcmFnZSBkdXJp bmcgYnVpbGQKKworKiBXZWQgRGVjIDAxIDIwMjEgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhh dC5jb20+IC0gMS42My01CistIFBhdGNoOiBDb250aW51ZSBleGVjdXRpb24gaWYgc3BlY2ZpbGUg cGFyc2luZyBmYWlscworLSBQYXRjaDogQ29uc2lkZXIgUGF0Y2ggdGFncyBpbiBzcGVjZmlsZSBw YXJzZXIKKworKiBNb24gTm92IDI5IDIwMjEgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5j b20+IC0gMS42My00CistIFBhdGNoOiBGaXhlcyBpbXBvcnQgZmFpbCB3aXRoIHNvdXJjZXMgYWxy ZWFkeSBpbXBvcnRlZAorCisqIE1vbiBTZXAgMTMgMjAyMSBPbmTFmWVqIE5vc2VrIDxvbm9zZWtA cmVkaGF0LmNvbT4gLSAxLjYzLTMKKy0gQWRkIHB5dGhvbi1yZXF1ZXN0cy1rZXJiZXJvcyBhcyBh IG5ldyBkZXBlbmRlbmN5IGZvciBSSEVMIHBhY2thZ2VzCistIFBhdGNoOiBQcmludCBTcGVjRmls ZSBwYXJzaW5nIGRlYnVnIGluZm8KKworKiBXZWQgU2VwIDAxIDIwMjEgT25kxZllaiBOb3NlayA8 b25vc2VrQHJlZGhhdC5jb20+IC0gMS42My0yCistIFBhdGNoOiBQYXNzIHNvdXJjZWRpciB0byBy cG1zcGVjIHdoZW4gc3BlY2ZpbGUgaXMgcGFyc2VkCisKKyogVHVlIEF1ZyAyNCAyMDIxIERvbWlu aWsgUnVtaWFuIDxkcnVtaWFuQHJlZGhhdC5jb20+IC0gMS42My0xCistIERvIG5vdCBkb3dubG9h ZCB1bnVzZWQgc291cmNlcyBkdXJpbmcgY29tbWFuZCAnc291cmNlcycgLSAjNTU5IChvdHVycGUp CistIEFkZGVkICd4LXBrZyB2ZXJyZWwnIGZvciBjb250YWluZXJzIC0gIzU0NyAoamt1bnN0bGUp CistIGNvbnRhaW5lci1idWlsZDogaW1wcm92ZSBoZWxwIHRleHQgZm9yIC0tc2lnbmluZy1pbnRl bnQgYXJndW1lbnQgKGtkcmV5ZXIpCistIE1ha2Ugc3VyZSBhbGwgY29tbWl0cyBoYXZlIGEgcHJv cGVyIHN1YmplY3QgKHNnYWxsYWdoKQorLSBGaXggdW5pdHRlc3QgZm9yIHByZXZpb3VzIGNvbW1p dCAob25vc2VrKQorLSBiZXR0ZXIgbmV3LXNvdXJjZXMgb3V0cHV0IHdoZW4gYWxsIHNvdXJjZXMg YWxyZWFkeSBleGlzdCBGaXhlczogIzUzMyBKSVJBOgorICBSSEVMQ01QLTU1MjkgKGRydW1pYW4p CistIEFkZGVkICdyZW1vdGUnIHRvIHJwa2cgZnJvbSByaHBrZyAtIDQzOSAoamt1bnN0bGUpCist IEFkZCAtLW9mZmxpbmUgY2xpIGFyZ3VtZW50IGZvciBuZXctc291cmNlcyAob3R1cnBlKQorLSBU ZXN0czogRml4IHNldHRpbmcgYnJhbmNoIG5hbWUgd2l0aCBvbGQgZ2l0IChuaWxzKQorLSBBZGQg YW5kIGF1Z21lbnQgdGVzdHMgZm9yIHJwbWF1dG9zcGVjIChuaWxzKQorLSBSZWZsZWN0ICVhdXRv cmVsZWFzZSB3aGVuIHBhcnNpbmcgc3BlYyBmaWxlcyAobmlscykKKy0gUHJlcHJvY2VzcyBzcGVj IGZpbGVzIHVzaW5nIHJwbWF1dG9zcGVjIGZlYXR1cmVzIChuaWxzKQorLSBEZXRlY3QgZ2VuZXJp YyB1c2Ugb2YgcnBtYXV0b3NwZWMgZmVhdHVyZXMgKG5pbHMpCistIEZpeCByZW1haW5pbmcgUHl0 aG9uMyBTYWZlQ29uZmlnUGFyc2VyIHdhcm5pbmdzIChuaWxzKQorLSBUZXN0czogc3BlY2lmeSBi cmFuY2ggbmFtZSBvbiBgZ2l0IGluaXRgIChuaWxzKQorLSBSZW1vdmUgbGVmdG92ZXIgZGVwcmVj YXRlZCBhcmd1bWVudHMgKGFiaXNvaSkKKy0gUmVtb3ZlIGRlcHJlY2F0ZWQgYXJndW1lbnRzIC0t ZGlzdCBhbmQgLS1tb2R1bGUtbmFtZSAoYWJpc29pKQorLSBTa2lwIE5WUiBjaGVjayBpZiB0aGUg JWF1dG9yZWxlYXNlIG1hY3JvIGlzIHVzZWQgLSAxMDkgKG5pbHMpCistIERvbid0IGFjY2VzcyB1 bnNldCB2YXJpYWJsZSAobmlscykKKy0gSW1wcm92ZSBoZWxwIGluIGZlZHBrZyBjbG9uZSBjb21t YW5kIC0gIzM2NyAoYWJpc29pKQorLSBGaXggcnBrZyBjb250YWluZXItYnVpbGQgaWdub3Jpbmcg dmFsdWVzIHdoZW4gc2FtZSBhcmd1bWVudCBpcyBzcGVjaWZpZWQKKyAgbXVsdGlwbGUgdGltZXMg LSAjNTM3IChhYmlzb2kpCistIGxpc3Qtc2lkZS10YWdzOiBzaG93IGNyZWF0b3Igb2YgdGhlIHRh ZyAtIDM1OCAob25vc2VrKQorLSBEcm9wIFB5dGhvbiAyLjYgc3VwcG9ydCAob25vc2VrKQorLSBF bmFibGUgZmxhdHBhayB0ZXN0cyB0aGF0IHJlcXVpcmUgbGlibW9kdWxlbWQgKG9ub3NlaykKKy0g QWRkZWQgPHBhY2thZ2UgbmFtZT4ucnBtbGludHJjIHRvIHRoZSBsaXN0IG9mIGZpbGVzIGlnbm9y ZWQgYnkgZmVkcGtnIGltcG9ydAorICAtIHJoYnojMTk0NjY4OCAoYWJpc29pKQorLSBKZW5raW5z IHVuaXR0ZXN0cyBydW4gaW4gZG9ja2VyIGNvbnRhaW5lciAob25vc2VrKQorLSBBZGQgc3VwcG9y dCBmb3Igc2lkZSB0YWcgc3VmZml4IChsc2VkbGFyKQorLSBDaGVjayB3aGV0aGVyIHNvdXJjZXMg ZmlsZSBpcyBub3QgYSBkaXJlY3RvcnkgLSAjNTQxIChvbm9zZWspCistIEFkZCBjb25maWcgb3B0 aW9uIGZvciB3cml0aW5nIGRpc3QtZ2l0IGJ1aWxkIHJlc3VsdHMgdG8gYSBzdWJkaXJlY3RvcnkK KyAgKG90dXJwZSkKKy0gY2EgY2VydCB3YXMgcmVtb3ZlZCBvbiBrb2ppLTEuMjQuMCAoc2VyZ2lv KQorLSBJbXByb3ZlIGF1dG9tYXRpYyB0ZXN0IHN1aXRlIChvdHVycGUpCistIEJldHRlciBoaW50 IHdoZW4gcnVubmluZyAncHJlcCcgb24gZGV0YWNoZWQgYnJhbmNoIC0gcmhieiMxOTA3OTY0IChv bm9zZWspCistIFVwZGF0ZSBkZXNjcmlwdGlvbiBvZiB0aGUgY2xlYW4gY29tbWFuZCAtIHJoYnoj MTkwOTQ2MSAob25vc2VrKQorLSBBZGQgLS1za2lwLW52ci1jaGVjayB0byB0aGUgc2NyYXRjaC1i dWlsZCBjb21tYW5kIC0gcmhieiMxNjcxMDEyIChvbm9zZWspCisKKyogRnJpIEp1bCAyMyAyMDIx IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0g MS42Mi03CistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRv cmFfMzVfTWFzc19SZWJ1aWxkCisKKyogVGh1IEp1bCAwOCAyMDIxIE9uZMWZZWogTm9zZWsgPG9u b3Nla0ByZWRoYXQuY29tPiAtIDEuNjItNgorLSBQYXRjaDogUHJlcHJvY2VzcyBzcGVjIGZpbGVz IHVzaW5nIHJwbWF1dG9zcGVjIGZlYXR1cmVzIGFuZCB1c2UgJSVhdXRvcmVsZWFzZSB3aGVuIHBh cnNpbmcgc3BlYyBmaWxlcworLSBQYXRjaDogU2tpcCBOVlIgY2hlY2sgaWYgdGhlICUlYXV0b3Jl bGVhc2UgbWFjcm8gaXMgdXNlZAorCisqIEZyaSBKdW4gMDQgMjAyMSBQeXRob24gTWFpbnQgPHB5 dGhvbi1tYWludEByZWRoYXQuY29tPiAtIDEuNjItNQorLSBSZWJ1aWx0IGZvciBQeXRob24gMy4x MAorCisqIEZyaSBBcHIgMDIgMjAyMSBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4g LSAxLjYyLTQKKy0gUGF0Y2g6IEFkZCBzdXBwb3J0IGZvciBzaWRlIHRhZyBzdWZmaXgKKworKiBX ZWQgRmViIDI0IDIwMjEgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS42Mi0z CistIFBhdGNoOiBjYSBjZXJ0IHdhcyByZW1vdmVkIG9uIGtvamktMS4yNC4wCisKKyogV2VkIEph biAyNyAyMDIxIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVj dC5vcmc+IC0gMS42Mi0yCistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcv d2lraS9GZWRvcmFfMzRfTWFzc19SZWJ1aWxkCisKKyogV2VkIERlYyAwMiAyMDIwIE9uZMWZZWog Tm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjItMQorLSBBbGxvdyBza2lwcGluZyBudnIg Y2hlY2tpbmcgZm9yIGNoYWluLWJ1aWxkIC0gcmhieiMxODkwNzAxIChvbm9zZWspCistIENvZGUt c3R5bGUgaW1wcm92ZW1lbnQgLSBpbXBvcnRzIGFyZSBzb3J0ZWQgKG9ub3NlaykKKy0gRml4IEpl bmtpbmtzIHRlc3RzIChvbm9zZWspCistIEF2b2lkIGJsYW5rIGxpbmVzIGluIGxvZyBmaWxlcyBm b3IgbG9va2FzaWRlIChjb250eWspCistIGNvbnRhaW5lci1idWlsZDogZml4IGhlbHAgdGV4dCBm b3IgLS1pc29sYXRlZCBhcmd1bWVudCAoa2RyZXllcikKKy0gQWRkIC0tc2lnbmluZy1pbnRlbnQg YW5kIC0tcmVwby11cmwgdG8gJ2ZsYXRwYWstYnVpbGQnIChvdGF5bG9yKQorLSBBZGQgaGFzaHR5 cGUgdG8gbG9va2FzaWRlIGRvd25sb2FkIHBhdGggLSAjNTIxICh0dXJpdm5peSkKKy0gQWRkIG5l dyBsYXlvdXQgZm9yIHBhY2thZ2VzIHRoYXQgbWlzc2luZyBzcGVjZmlsZSAtIHJoYnojMTg4NTc3 MSAob25vc2VrKQorCisqIE1vbiBTZXAgMDcgMjAyMCBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVk aGF0LmNvbT4gLSAxLjYxLTEKKy0gUHl0ZXN0IHVwZGF0ZSBhbmQgTUFOSUZFU1QuaW4gcHJ1bmUg KG9ub3NlaykKKy0gUmUtZW5hYmxlIGNsb2cgdGVzdHMgKG9ub3NlaykKKy0gU2tpcCBkaXJlY3Rv cmllcyBpbnNpZGUgb2YgaW1wb3J0ZWQgc3JwbSBmaWxlIC0gcmhieiMxODY2Mjk3IChvbm9zZWsp CistIFNraXAgJ3NvdXJjZXMnIGZpbGUgd2hlbiBpdCBpcyBtaXNzaW5nIC0gcmhieiMxODY3NDQw IChvbm9zZWspCistIE5ldyBsYXlvdXQgZm9yIHJldGlyZWQgcGFja2FnZXMgLSByaGJ6IzE4Njc4 MjIgKG9ub3NlaykKKy0gYWRkZWQgYSBleHRlbmRhYmxlIGxheW91dCBtb2R1bGUgdG8gZGVhbCB3 aXRoIGRpZmZlcmVudCBwYWNrYWdlIGxheW91dHMKKyAgd2l0aGluIHRoZSBDTEkgKDIxODM1MDYr b2RyYSkKKy0gQWRkIChvbm9zZWspCistIFB5dGVzdCByZXBsYWNlcyBub3NldGVzdHMgLSAjNTAx IChvbm9zZWspCistIERpc2FibGUgc29tZSB0ZXN0IGZvciAnY2xvZycgZnVuY3Rpb25hbGl0eSAo b25vc2VrKQorLSBTdWdnZXN0IGEgd2F5IHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggLSB1cGRhdGUg KG9ub3NlaykKKy0gU3VnZ2VzdCBhIHdheSB0byB0cmFjayByZW1vdGUgYnJhbmNoIGluIHRoZSBl cnJvciBsb2cgKGNxaSkKKy0gUmVtb3ZlIGRlcHJlY2F0ZWQgc3VwcG9ydCBmb3Iga29qaWNvbmZp ZyAob25vc2VrKQorLSBTd2l0Y2ggZnJvbSBrcmJfbG9naW4gdG8gZ3NzYXBpX2xvZ2luIC0gcmhi eiMxODMwNDMwIChvbm9zZWspCistIERpc2FibGUgdGVzdCBtZXRob2QncyBkb2NzdHJpbmcgaW4g bm9zZXRlc3RzIGxpc3QgKG9ub3NlaykKKy0gQ2hlY2sgcmVwbyBuYW1lIGZvciBjb3JyZWN0IGZv cm1hdCAob25vc2VrKQorLSBVbml0dGVzdHMgZm9yIHBhc3NpbmcgYWRkaXRpb25hbCBhcmd1bWVu dHMgKG9ub3NlaykKKy0gUGFzc2luZyBhZGRpdGlvbmFsIGFyZ3VtZW50cyB0byB1bmRlcmxheWlu ZyBjb21tYW5kcyAtICM0MzIgKG9ub3NlaykKKy0gVXBkYXRlZCBzdXBwb3J0ZWQgcGxhZm9ybXMg aW4gZG9jdW1lbnRhdGlvbiAob25vc2VrKQorLSBSZXBhaXIgY29tcGF0aWJsZSBmb3JtYXR0aW5n IGZvciBQeXRob24gMi42IChvbm9zZWspCistIFJlcGFpciBkb3dubG9hZGluZyBzb3VyY2VzIGlu dG8gZXh0ZXJuYWwgZGlyZWN0b3J5IChvbm9zZWspCisKKyogTW9uIEF1ZyAzMSAyMDIwIE9uZMWZ ZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjAtOAorLSBQYXRjaDogU2tpcCAnc291 cmNlcycgZmlsZSB3aGVuIGl0IGlzIG1pc3NpbmcKKworKiBGcmkgQXVnIDA3IDIwMjAgT25kxZll aiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS42MC03CistIFBhdGNoOiBhZGRlZCBsYXlv dXQgbW9kdWxlIHRvIGRlYWwgd2l0aCBkaWZmZXJlbnQgcGFja2FnZSBsYXlvdXRzCistIFBhdGNo OiBjbG9nIHRlc3RzIHdvcmthcm91bmQKKworKiBTYXQgQXVnIDAxIDIwMjAgRmVkb3JhIFJlbGVh c2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjYwLTYKKy0gU2Vj b25kIGF0dGVtcHQgLSBSZWJ1aWx0IGZvcgorICBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dp a2kvRmVkb3JhXzMzX01hc3NfUmVidWlsZAorCisqIFdlZCBKdWwgMjkgMjAyMCBGZWRvcmEgUmVs ZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNjAtNQorLSBS ZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMzX01hc3Nf UmVidWlsZAorCisqIE1vbiBNYXkgMjUgMjAyMCBNaXJvIEhyb27EjW9rIDxtaHJvbmNva0ByZWRo YXQuY29tPiAtIDEuNjAtNAorLSBSZWJ1aWx0IGZvciBQeXRob24gMy45CisKKyogVHVlIE1heSAx OSAyMDIwIE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjAtMworLSBQYXRj aDogU3dpdGNoIGZyb20ga3JiX2xvZ2luIHRvIGdzc2FwaV9sb2dpbgorCisqIE1vbiBNYXkgMTEg MjAyMCBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjYwLTIKKy0gUmVsZWFz aW5nIHRoZSBlcGVsOCB2ZXJzaW9uCisKKyogRnJpIE1hciAyMCAyMDIwIE9uZMWZZWogTm9zZWsg PG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNjAtMQorLSBNb3JlIHRyYW5zcGFyZW50IGNoZWNrIG9m IHJldGlyZWQgcGFja2FnZSAob25vc2VrKQorLSBSdW4gbmV3ZXIgdmVyc2lvbiBvZiBzcGhpbngt YnVpbGQgdG9vbCAob25vc2VrKQorLSBMb29rYXNpZGUgY2FjaGUgdXBsb2FkIGlzIG5vdCBiYXNl ZCBvbiBhbiBleHRlbnNpb24gLSAjNDg0IChvbm9zZWspCistIGNvbnRhaW5lci1idWlsZDogYWRk aXRpb25hbCB3YXJuaW5nIHdoZW4gdXNpbmcgLS1yZWxlYXNlIChtbGFuZ3NkbykKKy0gYWxsb3cg Y29tcG9zZS1pZCB3aXRoIHJlcG8tdXJsIGZvciBjb250YWluZXJfYnVpbGQgKHJjZXJ2ZW4pCist IENsb25lIGNvbmZpZyBjdXN0b21pemF0aW9uIGZvciBuYW1lc3BhY2VzIC0gMjMxIChvbm9zZWsp CistIFJlcGFpciBKZW5raW5zIHRlc3RzIChvbm9zZWspCistIChuZXctKXNvdXJjZXMgc2hvdWxk IGZhaWwgd2l0aCBnaXQgdHJhY2tlZCBmaWxlcyAtIDI0MSAob25vc2VrKQorLSBIYW5kbGUgbmV3 IGNhY2hpdG8gZGVwZW5kZW5jeSByZXBsYWNlbWVudCBhcmd1bWVudCAoYXRob3NjcikKKy0gbW9k dWxlLWJ1aWxkIG9wdGlvbmFsIGtleSBoZWxwIC0gMjgwIChvbm9zZWspCistIE1vZGlmeSB3YXRj aC1jYW5jZWwgbWVzc2FnZSAoc2dhbGxhZ2gpCistIENyZWF0ZSBzdGF0cyBmb3IgbW9kdWxlIGJ1 aWxkcyBpbiAnaW5pdCcgc3RhdGUgKGNzb21oKQorLSBSUE0gNC4xNSBjaGFuZ2VkIGhlYWRlciBy ZXR1cm5zIGZyb20gdHlwZSAnYnl0ZXMnIHRvICdzdHJpbmcnLiBIYW5kbGUgZWl0aGVyCisgIGJ5 IGNvbnZlcnRpbmcgdG8gJ3N0cmluZycgaWYgbmVjZXNzYXJ5LiAobW1hdGhlc2kpCistIERvbid0 IGV4cGVjdCBtb2R1bGUgYnVpbGQgdGFza3MgdG8gaGF2ZSAicnBtcyIgKG11bGFpZXZhKQorLSBQ cm9wYWdhdGUgbW9kdWxlX2hvdGZpeGVzIHRvIGdldE1vY2tDb25maWcgLSByaGJ6IzE3ODAyMjgg KGxzZWRsYXIpCistIEFkZCBjaGVjayBmb3Igd3JvbmcgcmVwbyBuYW1lIGZvcm1hdCBkdXJpbmcg Y2xvbmUgLSAzNTMgKG9ub3NlaykKKy0gU2ltcGxpZnkgbWV0aG9kcyBmb3IgZ2V0dGluZyBuYW1l c3BhY2UgZ2l0dXJsIChvbm9zZWspCistIFVzZSBhIHNpbmdsZSB0aHJlYWQgcG9vbCB3aGlsZSB3 YXRjaGluZyBtb2R1bGUgYnVpbGRzIChjc29taCkKKy0gQWxzbyBjYXB0dXJlIHN0ZGVyciBpbiBs b2dmaWxlIChvcmlvbikKKy0gTGluZSB1cCBkZXNjcmlwdGlvbnMgZm9yIGJldHRlciBjb2RlIHJl YWRhYmlsaXR5IChvbm9zZWspCistIElzb2xhdGVkIGNvbnRhaW5lci1idWlsZCBzaG91bGQgYWxs b3cgYXJjaGVzIG92ZXJyaWRlIChyY2VydmVuKQorLSBjb250YWluZXItYnVpbGQ6IGFkZCAtLWtv amktcGFyZW50LWJ1aWxkIGFyZ3VtZW50IChrZHJleWVyKQorLSB0ZXN0czogYWRkIGNvbnRhaW5l ci1idWlsZCAtLWlzb2xhdGVkIHRlc3QgKGtkcmV5ZXIpCistIGNvbnRhaW5lci1idWlsZDogYWRk IC0taXNvbGF0ZWQgYXJndW1lbnQgKGtkcmV5ZXIpCistIFBhc3Mgc2tpcF9idWlsZCBvcHRpb24g dG8gYnVpbGRDb250YWluZXIgKHJjZXJ2ZW4pCistIFJldXNlIGtvamlfY2xpLmxpYi51bmlxdWVf cGF0aCAoY3FpKQorCisqIFRodSBKYW4gMzAgMjAyMCBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmlu ZyA8cmVsZW5nQGZlZG9yYXByb2plY3Qub3JnPiAtIDEuNTktNgorLSBSZWJ1aWx0IGZvciBodHRw czovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzMyX01hc3NfUmVidWlsZAorCisqIFRo dSBKYW4gMDIgMjAyMCBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjU5LTUK Ky0gU29tZSBwYXRjaGVzOgorLSBQcm9wYWdhdGUgbW9kdWxlX2hvdGZpeGVzIHRvIGdldE1vY2tD b25maWcKKy0gRG9uJ3QgZXhwZWN0IG1vZHVsZSBidWlsZCB0YXNrcyB0byBoYXZlICJycG1zIgor LSBSUE0gNC4xNSBjaGFuZ2VkIGhlYWRlciAtIHR5cGUgY29udmVyc2lvbgorLSBDcmVhdGUgc3Rh dHMgZm9yIG1vZHVsZSBidWlsZHMgaW4gJ2luaXQnIHN0YXRlCisKKyogVHVlIERlYyAwMyAyMDE5 IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNTktNAorLSBQYXRjaDogbGlt aXRlZCB0aHJlYWQgcG9vbCBmb3Igd2F0Y2hpbmcgbW9kdWxlIGJ1aWxkcworCisqIFRodSBOb3Yg MTQgMjAxOSBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjU5LTMKKy0gQmFj a3BvcnQ6IElzb2xhdGVkIGNvbnRhaW5lci1idWlsZCBzaG91bGQgYWxsb3cgYXJjaGVzIG92ZXJy aWRlCisKKyogRnJpIE9jdCAyNSAyMDE5IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+ IC0gMS41OS0yCistIEJhY2twb3J0OiBjb250YWluZXItYnVpbGQ6IGFkZCAtLWlzb2xhdGVkIGFu ZCAtLWtvamktcGFyZW50LWJ1aWxkIGFyZ3VtZW50cworLSBCYWNrcG9ydDogUGFzcyBza2lwX2J1 aWxkIG9wdGlvbiB0byBidWlsZENvbnRhaW5lcgorLSBCYWNrcG9ydDogUmV1c2Uga29qaV9jbGku bGliLnVuaXF1ZV9wYXRoCisKKyogTW9uIFNlcCAxNiAyMDE5IE9uZMWZZWogTm9zZWsgPG9ub3Nl a0ByZWRoYXQuY29tPiAtIDEuNTktMQorLSBBZGQgYXJndW1lbnQgdG8gc2tpcCBidWlsZCBvcHRp b24gZm9yIGNvbnRhaW5lci1idWlsZCAocmNlcnZlbikKKy0gU29ydGluZyBpbXBvcnRzIChvbm9z ZWspCistIElnbm9yZSBlcnJvciB3aGVuIGFkZGluZyBleGNsdWRlIHBhdHRlcm5zIC0gMTczMzg2 MiAob25vc2VrKQorLSBQYXRoIHRvIGxvb2thc2lkZSByZXBvIGZpeCAob25vc2VrKQorLSBBZGQg Y29tbWFuZHMgZm9yIGludGVyYWN0aW5nIHdpdGggS29qaSBzaWRlLXRhZyBwbHVnaW4gLSAzMjkg KGxzZWRsYXIpCistIERvIG5vdCBkZWxldGUgZmlsZXMgcmVsYXRlZCB0byBnYXRpbmcgb24gaW1w b3J0IChvbm9zZWspCistIFN1cHBvcnQgaW50ZWdlciB2YWx1ZXMgaW4gdGhlIG9wdGlvbmFsIG1v ZHVsZS1idWlsZCBhcmd1bWVudHMgKG1wcmFobCkKKy0gY29udGFpbmVyLWJ1aWxkOiBhZGQgLS1i dWlsZC1yZWxlYXNlIGFyZ3VtZW50IChrZHJleWVyKQorLSBBbGxvdyBzb21lIGFyZ3VtZW50cyBm b3IgY29udGFpbmVyLWJ1aWxkIHRvZ2V0aGVyIChvbm9zZWspCistIGdpdC1jaGFuZ2Vsb2c6IEZp eCBydW5uaW5nIG9uIFB5dGhvbiAzIC0gMyAob25vc2VrKQorLSBQb3J0IHRvIGxpYm1vZHVsZW1k IDIgQVBJIChsc2VkbGFyKQorLSBNb2R1bGUtb3ZlcnZpZXcgYWxsb3dzIGZpbHRlcmluZyBieSBv d25lciAtIDMyNSAob25vc2VrKQorLSBEaWZmZXJlbnQgaW1wb3J0IC0tb2ZmbGluZSBjb21tYW5k IGJlaGF2aW9yIC0gIzQ0NSAob25vc2VrKQorLSBTaG93IG52ciBpbiBjb250YWluZXItYnVpbGQg KG9ub3NlaykKKy0gQ3VzdG9tIGhhbmRsZXIgZm9yIGtvamkgd2F0Y2hfdGFza3MgKG9ub3NlaykK Ky0gVW5pdHRlc3RzIGZvciBjbG9uZSBjb21tYW5kIChvbm9zZWspCistIEZpeCBjbG9uZSAtLWJy YW5jaGVzIC0gcmhieiMxNzA3MjIzICh0bXopCistIE1ha2UgZ2l0YnVpbGRoYXNoIHdvcmsgZm9y IHdpbmRvd3MgYnVpbGRzIChsc2VkbGFyKQorCisqIE1vbiBTZXAgMTYgMjAxOSBPbmTFmWVqIE5v c2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjU4LTEwCistIFVwZGF0ZSBrb2ppIGRlcGVuZGVu Y3kKKworKiBTYXQgQXVnIDE3IDIwMTkgTWlybyBIcm9uxI1vayA8bWhyb25jb2tAcmVkaGF0LmNv bT4gLSAxLjU4LTkKKy0gUmVidWlsdCBmb3IgUHl0aG9uIDMuOAorCisqIFRodSBBdWcgMDEgMjAx OSBPbmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjU4LTgKKy0gT2Jzb2xldGVz IHB5dGhvbjItcnBrZyBhZnRlciB1cGdyYWRlIHRvIEZlZG9yYTMwCisKKyogV2VkIEp1bCAzMSAy MDE5IFN0ZXBoZW4gR2FsbGFnaGVyIDxzZ2FsbGFnaEByZWRoYXQuY29tPiAtIDEuNTgtNworLSBG aXggbGlibW9kdWxlbWQgcmVxdWlyZW1lbnRzCisKKyogRnJpIEp1bCAyNiAyMDE5IEZlZG9yYSBS ZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS41OC02Cist IFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMzFfTWFz c19SZWJ1aWxkCisKKyogTW9uIEp1biAxMCAyMDE5IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRo YXQuY29tPiAtIDEuNTgtNQorLSBOb3cgYWdhaW4sIGxpYm1vZHVsZW1kIGlzIHJlcXVpcmVkIGlu c3RlYWQgb2YgcHl0aG9uMy1saWJtb2R1bGVtZCBiZWNhdXNlCisgIGl0IHdhcyBjYXVzaW5nIHRy b3VibGVzIHdpdGggdXBncmFkZXMuCisKKyogTW9uIEp1biAxMCAyMDE5IE9uZMWZZWogTm9zZWsg PG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNTgtNAorLSBNb2RpZnkgcmVxdWlyZWQgdmVyc2lvbiBv ZiBrb2ppIHBhY2thZ2UKKworKiBNb24gTWF5IDI3IDIwMTkgT25kxZllaiBOb3NlayA8b25vc2Vr QHJlZGhhdC5jb20+IC0gMS41OC0zCistIEJhY2twb3J0OiBDdXN0b20gaGFuZGxlciBmb3Iga29q aSB3YXRjaF90YXNrcworLSBCYWNrcG9ydDogU2hvdyBudnIgaW4gY29udGFpbmVyLWJ1aWxkCist IEJhY2twb3J0OiBEaWZmZXJlbnQgaW1wb3J0IC0tb2ZmbGluZSBjb21tYW5kIGJlaGF2aW9yCisK KyogVGh1IE1heSAwOSAyMDE5IE9uZHJlaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS41 OC0yCistIEJhY2twb3J0OiBmaXhlZCAnY2xvbmUgLS1icmFuY2gnIGNvbW1hbmQKKworKiBNb24g QXByIDI5IDIwMTkgT25kxZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS41OC0xCist IElnbm9yZSBmaWxlcyBpbiBhIGNsb25lZCByZXBvc2l0b3J5IC0gIzM1NSAob25vc2VrKQorLSBI YW5kbGUgZGF0YSBmcm9tIHB5dGhvbiBSUE0gYmluZGluZyBhcyBVVEYtOCBzdHJpbmcgKHplYm9i Lm0pCistIHNycG1faW1wb3J0OiBiZSBjb21wYXRpYmxlIHdpdGggcmhieiMxNjkzNzUxIChwcmFp c2t1cCkKKy0gUGFzcyAtLWVuYWJsZS1uZXR3b3JrIHRvIG1vY2sgLSAzMTQgKG9ub3NlaykKKy0g RW5oYW5jZSAnbW9kdWxlLW92ZXJ2aWV3JyBzdWItY29tbWFuZCB0byBzaG93IHNjcmF0Y2ggc3Rh dHVzIG9mIG1vZHVsZXMuCisgIChtbWF0aGVzaSkKKy0gUmVtb3ZlIHRoZSBhYmlsaXR5IHRvIHBh cnNlIGEgbW9kdWxlJ3MgYnJhbmNoIGF1dG9tYXRpY2FsbHkgdG8gZGV0ZXJtaW5lIHRoZQorICBi YXNlIG1vZHVsZSBzdHJlYW0gb3ZlcnJpZGUgKG1wcmFobCkKKy0gSW1wcm92ZW1lbnRzIGZvciBz Y3JhdGNoIG1vZHVsZSBidWlsZHMgKG1tYXRoZXNpKQorLSBVcGRhdGVzIHRvIHN1cHBvcnQgc2Ny YXRjaCBtb2R1bGUgYnVpbGRzIChtbWF0aGVzaSkKKy0gUmVmYWN0b3IgZmFrZSBLb2ppIGNyZWRl bnRpYWwgaGFuZGxpbmcgZnJvbSBUZXN0QnVpbGRQYWNrYWdlIGNsYXNzIGludG8gbmV3CisgIEZh a2VLb2ppQ3JlZHMgY2xhc3Mgc28gaXQgY2FuIGJlIHNoYXJlZCB3aXRoIFRlc3RNb2R1bGVzQ2xp IGNsYXNzLiAobW1hdGhlc2kpCistIE1ha2UgS29qaSB1cGxvYWQgbWV0aG9kcyBtb3JlIGdlbmVy aWMgc28gdGhleSBjYW4gYmUgcmV1c2VkLiAobW1hdGhlc2kpCistIEFsbG93IHBhc3NpbmcgLS1v ZmZsaW5lIGFuZCAtciB0byBtYnMtbWFuYWdlciBidWlsZF9tb2R1bGVfbG9jYWxseS4gKGprYWx1 emEpCistIERlcHRoIHBhcmFtIGZvciBjbG9uZSAtIHR1bmluZyAob25vc2VrKQorLSBEZXB0aCBw YXJhbSBmb3IgY2xvbmUgLSAjMzYzIChvbm9zZWspCistIFBhc3MgLS1kaXNhYmxlcmVwbyBhbmQg LS1lbmFibGVyZXBvIHRvIG1vY2sgLSAzMTMgKG9ub3NlaykKKy0gSW1wb3J0IHNycG0gd2l0aG91 dCB1cGxvYWRpbmcgc291cmNlcyAtIHJoYnojMTE3NTI2MiAob25vc2VrKQorLSBJZ25vcmUgYW55 IHNwZWNpZmllZCBwcm9maWxlIHdoZW4gZmluZGluZyB0aGUgRmxhdHBhayBidWlsZCB0YXJnZXQg KG90YXlsb3IpCistIFNob3cgbW9kdWxlIGJ1aWxkIGxpbmtzIGluIG91dHB1dCBmcm9tIGNvbW1h bmQgbW9kdWxlLWJ1aWxkIChjcWkpCistIEFkZCAncmV0aXJlJyBjb21tYW5kIHN1cHBvcnRpbmcg Ym90aCBwYWNrYWdlcyBhbmQgbW9kdWxlcyAobW1hdGhlc2kpCistIEZpeCAicHVzaCAtLWZvcmNl IiAodGltKQorLSBDb250YWluZXItYnVpbGQgcmV0dXJucyBpdHMgc3RhdHVzIHRvIGNvbW1hbmQt bGluZSAtICM0MTUgKG9ub3NlaykKKy0gVXBsb2FkIC5jcmF0ZSBmaWxlcyB0byBsb29rYXNpZGUg Y2FjaGUgLSAzMTIgKG9ub3NlaykKKy0gUmVzdHJpY3QgdmVyc2lvbiBvZiBQeVlBTUwgb24gUHl0 aG9uIDIuNiAobHNlZGxhcikKKy0gU2ltcGxpZnkgc3JwbSBtZXRob2QgKG9ub3NlaykKKy0gUGVy bWl0IHNldHRpbmcgYXJiaXRyYXJ5IHJwbSBtYWNyb3MgZHVyaW5nIGJ1aWxkIChyaWVoZWNreSkK Ky0gQWRkIHRoZSBhYmlsaXR5IHRvIGNvbmZpZ3VyZSBtdWx0aXBsZSByZWdleCBleHByZXNzaW9u cyBmb3IKKyAgYmFzZV9tb2R1bGVfc3RyZWFtX3JlZ2V4X2Zyb21fYnJhbmNoIChtcHJhaGwpCist IERvIG5vdCByZXF1aXJlIFB5R09iamVjdCBpbiBzZXR1cC5weSAtIHJoYnojMTY3OTM2NSAob25v c2VrKQorLSBGaXhpbmcgZmFpbGluZyBKZW5raW5zIHRlc3RzIChvbm9zZWspCistIFVuaWZ5IHVw ZGF0ZS1kb2NzIHNjcmlwdCB3aXRoIGZlZHBrZyB2ZXJzaW9uIChvbm9zZWspCistIFJFQURNRTog YWRkIGxpbmtzIChvbm9zZWspCistIFdhdGNoIG11bHRpcGxlIG1vZHVsZSBidWlsZHMgKGNxaSkK Ky0gQWRkZWQgdXBkYXRlLWRvY3Mgc2NyaXB0IChvbm9zZWspCisKKyogVGh1IEFwciAyNSAyMDE5 IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNTctOQorLSB5ZXQgYW5vdGhl ciBjb21wYXQgZml4IHdpdGggUlBNIGFmdGVyIHJoYnojMTY5Mzc1MQorCisqIEZyaSBBcHIgMTkg MjAxOSBQYXZlbCBSYWlza3VwIDxwcmFpc2t1cEByZWRoYXQuY29tPiAtIDEuNTctOAorLSBjb21w YXQgZml4IHdpdGggUlBNIGFmdGVyIHJoYnojMTY5Mzc1MQorCisqIFdlZCBNYXIgMjAgMjAxOSBJ Z29yIEduYXRlbmtvIDxpZ25hdGVua29icmFpbkBmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjU3LTcK Ky0gQmFja3BvcnQgcGF0Y2ggZm9yIHVwbG9hZGluZyAqLmNyYXRlIGludG8gbG9va2FzaWRlCisK KyogVGh1IEZlYiAwNyAyMDE5IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEu NTctNgorLSBSZXZlcnQgcHJldmlvdXMgY2hhbmdlLgorICBOb3cgcHl0aG9uLWdvYmplY3QtYmFz ZSAmIGxpYm1vZHVsZW1kIGFyZSByZW1vdmVkIGZyb20gZXBlbDcgYW5kIFJIRUw3CisKKyogVHVl IEZlYiAwNSAyMDE5IE9uZMWZZWogTm9zZWsgPG9ub3Nla0ByZWRoYXQuY29tPiAtIDEuNTctNQor LSBweXRob24tZ29iamVjdC1iYXNlICYgbGlibW9kdWxlbWQgYWxzbyBmb3IgZXBlbDcgYW5kIFJI RUw3CisKKyogTW9uIEZlYiAwNCAyMDE5IEx1Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhh dC5jb20+IC0gMS41Ny00CistIERpc2FibGUgUHkyIHBhY2thZ2Ugb24gRjMwKworCisqIFNhdCBG ZWIgMDIgMjAxOSBGZWRvcmEgUmVsZWFzZSBFbmdpbmVlcmluZyA8cmVsZW5nQGZlZG9yYXByb2pl Y3Qub3JnPiAtIDEuNTctMworLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3Jn L3dpa2kvRmVkb3JhXzMwX01hc3NfUmVidWlsZAorCisqIFRodSBKYW4gMDMgMjAxOSBPbmTFmWVq IE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjU3LTIKKy0gTWVyZ2UgY2hhbmdlcyBvZiB0 aGUgLnNwZWMgZmlsZXMgZm9yIEZlZG9yYSBhbmQgUkhFTAorCisqIFRodSBEZWMgMTMgMjAxOCBP bmTFmWVqIE5vc2VrIDxvbm9zZWtAcmVkaGF0LmNvbT4gLSAxLjU3LTEKKy0gVXNlIGlkbmEgMi43 IGZvciBQeXRob24gMi42IChsc2VkbGFyKQorLSBJbXBvcnRzIGFyZSBzb3J0ZWQgKG9ub3NlaykK Ky0gbGlibW9kdWxlbWQgaXMgbWlzc2luZyBvbiBlbDcgLSAjNDAyIChvbm9zZWspCistIEluaXRp YWxpemUgYmFzaCBhdXRvY29tcGxldGlvbiAob25vc2VrKQorLSBTZXQgY29uZmlndXJhdGlvbiBp biBjYXNlIG9mICJjbG9uZSAtLWJyYW5jaGVzIiBhcyB3ZWxsICh0aW0pCistIEZpeCBmYWtlIHNw ZWMgZmlsZSBmb3IgY2xvZyB0ZXN0cyAoY3FpKQorLSBNb3ZlIGFyZ3BhcnNlIGZpeCBmcm9tIGZl ZHBrZyAtICMzOTggKG9ub3NlaykKKy0gU2VuZCBzb3VyY2UgbXRpbWUgdG8gZGlzdC1naXQgLSAy MjAgKGxzZWRsYXIpCistIEZpeCB0ZXN0cyBmb3IgbW9jayBwYWNrYWdlIG1hbmFnZXIgKGxzZWRs YXIpCistIFNwZWNpZnkgcGFja2FnZSBtYW5hZ2VyIGZvciBtb2NrLWNvbmZpZyAobHNlZGxhcikK Ky0gQWRkIGNvbnRyaWJ1dGluZyBndWlkZSAob25vc2VrKQorLSBWYWxpZGF0ZSB0aGUgbW9kdWxl IGJ1aWxkIG9wdGlvbmFsIGFyZ3VtZW50IHdoZW4gcGFyc2luZyB0aGUgYXJndW1lbnQKKyAgKG1w cmFobCkKKy0gQWRkIGNvbmZpZyBvcHRpb25zIHRvIHBhcnNlIHRoZSBiYXNlIG1vZHVsZSAoZS5n LiBwbGF0Zm9ybSkgc3RyZWFtIGZyb20gdGhlCisgIGRpc3QtZ2l0IGJyYW5jaCBhbmQgYXBwbHkg YSBidWlsZHJlcXVpcmUgb3ZlcnJpZGUgKG1wcmFobCkKKy0gQWRkIHRoZSBhYmlsaXR5IHRvIHBh c3MgaW4gYnVpbGRyZXF1aXJlIGFuZCByZXF1aXJlIG92ZXJyaWRlcyBvbiBhIG1vZHVsZQorICBi dWlsZCAobXByYWhsKQorLSBSYWlzZSBhbiBlcnJvciBpZiB0aGUgbW9kdWxlIGJ1aWxkIGNvbW1h bmQgcmVjZWl2ZXMgb3B0aW9uYWwgYXJndW1lbnRzIHRoYXQKKyAgY29uZmxpY3QgKG1wcmFobCkK Ky0gU2lsZW5jZSBQeXRob24zIFNhZmVDb25maWdQYXJzZXIgd2FybmluZ3MgKG1tYXRoZXNpKQor LSBBbGxvdyB0byBwYXNzIHBvc2FyZ3MgdG8gdG94IGZyb20gbWFrZSAoY3FpKQorLSBTcGVjaWZ5 IGRlcGVuZGVudCBwYWNrYWdlcyBpbiBvbmUgcGxhY2UgKGNxaSkKKy0gRG9uJ3QgcmVnaXN0cnkg ZmxhdHBhay1idWlsZCBjb21tYW5kIG9uIFB5dGhvbi0yLjYgKG90YXlsb3IpCistIEFkZCBmbGF0 cGFrLWJ1aWxkIHN1YmNvbW1hbmQgKG90YXlsb3IpCistIERvbid0IHBhc3MgdGhlIE1CUyBBUEkg VVJMIGFyb3VuZCBhcyBhIHBhcmFtZXRlciAob3RheWxvcikKKy0gVGVzdENvbnRhaW5lckJ1aWxk V2l0aEtvamk6IHRlYXIgZG93biB0aGUgbW9jayBhcHByb3ByaWF0ZWx5IChvdGF5bG9yKQorLSBS ZWZpbmUgdGVzdCBydW5uZXIgZm9yIHB5MjYgKGNxaSkKKworKiBUaHUgTm92IDE1IDIwMTggT25k xZllaiBOb3NlayA8b25vc2VrQHJlZGhhdC5jb20+IC0gMS41Ni00CistIEFsbG93IGJ1aWxkIGZv ciBSSEVMLTggIChvbm9zZWspCisKKyogV2VkIE5vdiAxNCAyMDE4IE9uZMWZZWogTm9zZWsgPG9u b3Nla0ByZWRoYXQuY29tPiAtIDEuNTYtMworLSBObyBtb2NrIHdhcm5pbmcgKG9ub3NlaykKKwor KiBGcmkgU2VwICA3IDIwMTggT3dlbiBUYXlsb3IgPG90YXlsb3JAcmVkaGF0LmNvbT4gLSAxLjU2 LTIKKy0gQWRkIHBhdGNoIGZyb20gdXBzdHJlYW0gcHVsbC1yZXF1ZXN0IHRvIGFkZCBhIGZsYXRw YWstYnVpbGQgc3ViY29tbWFuZAorLSBBZGQgUHlZQU1MIGRlcGVuZGVuY2llcyBzbyB0aGF0IHRo ZSBzcGVjIGZpbGUgYXQgbGVhc3QgYnVpbGRzIG9uIGVwZWw2L2VwZWw3CisKKyogVHVlIEF1ZyAy MSAyMDE4IENoZW54aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+IC0gMS41Ni0xCistIFZhbGlkYXRl IGdyZWVud2F2ZSBwb2xpY3kgZWFybHkgaW4gQ29tbWFuZHMuYnVpbGQgKGNxaSkKKy0gUmVmaW5l IGVycm9yIG1lc3NhZ2UgZm9yIGZhaWx1cmUgZ2F0aW5nLnlhbWwgdmFsaWRhdGlvbiAoY3FpKQor LSBleHBsYWluIG1icy1tYW5hZ2VyIGV4Y2VwdGlvbiBoYW5kbGluZyAobmlscykKKy0gdGVzdCBm b3IgbWlzc2luZyBtYnMtbWFuYWdlciB3aXRoIGVycm5vIHNldCAobmlscykKKy0gY2F0Y2ggZXJy bm8gPT0gRU5PRU5UIGlmIG1icy1tYW5hZ2VyIGlzIG1pc3NpbmcgKG5pbHMpCistIGFkZCBtaXNz aW5nIG1ldGhvZCBkb2NzdHJpbmcgKG5pbHMpCistIFNob3cgZnVsbCBlcnJvciBmcm9tIE1CUyAo bHNlZGxhcikKKy0gRml4IHRlc3RzIGZvciBncmVlbndhdmUgcG9saWN5IHZhbGlkYXRpb24gKGNx aSkKKy0gQWRkIHRlc3RlbnYgZm9yIGJ1aWxkaW5nIGRvY3MgKGNxaSkKKy0gTmV3IG9wdGlvbiAt LWJ1aWxkcm9vdGRpciAtIHJoYnojMTU4MzgyMiAoY3FpKQorLSBBZGQgLS1zaGVsbCBvcHRpb24g dG8gbW9ja2J1aWxkIC0gcmhieiMxNDM4Njg1IChjcWkpCistIFZhbGlkYXRlIGdhdGluZy55YW1s IGZpbGUgZm9yIEdyZWVud2F2ZSBnYXRpbmcgKGduYXBvbmllKQorLSBVcGRhdGUgUkVBRE1FIChj cWkpCistIFJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlcG8gY3JlYXRpb24gZm9yIHRlc3RzIChjcWkp CistIEZpeCBmbGFrZTggZXJyb3IgKGNxaSkKKy0gRHJvcCBycG0tcHktaW5zdGFsbGVyIGZyb20g cmVxdWlyZXMgLSAjMzU3IChjcWkpCistIEFsbG93IF9ydW5fY29tbWFuZCB0byBjYXB0dXJlIGFu ZCByZXR1cm4gb3V0cHV0IHRvIHN0ZG91dCBvciBzdGRlcnIgKGNxaSkKKy0gQ2xhaW0gUHl0aG9u IDMuNyBpbiBSRUFETUUgYW5kIHBhY2thZ2UgY2xhc3NpZmllcnMgKGNxaSkKKy0gRml4IGEgYmFk IHRlc3QgdGVhcmRvd24gKG90YXlsb3IpCistIFJlZmFjdG9yIGJ1aWxkIGNvbW1hbmQgKGNxaSkK Ky0gUmVtb3ZlIHJwbWZsdWZmIHBhY2thZ2UgKGNxaSkKKy0gU2V0IFBZQ1VSTF9TU0xfTElCUkFS WSBkaXJlY3RseSBmb3IgaW5zdGFsbGluZyBweWN1cmwgKGNxaSkKKy0gQWRkIHB5MzcgdGVzdGVu diAoY3FpKQorCisqIFRodSBKdWwgMjYgMjAxOCBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29t PiAtIDEuNTUtMgorLSBSZW1vdmUgZGVwZW5kZW5jeSBweXRob24tcnBtZmx1ZmYKKworKiBNb24g SnVsIDIzIDIwMTggQ2hlbnhpb25nIFFpIDxjcWlAcmVkaGF0LmNvbT4gLSAxLjU1LTEKKy0gRml4 IGluc3RhbGxpbmcgcHljdXJsIGZvciBydW5uaW5nIHRlc3RzIChjcWkpCistIFJlcGxhY2UgZXh0 cmEgbW9kdWxlX25hbWUgd2l0aCByZXBvX25hbWUgKGNxaSkKKy0gUmVwbGFjZSBuYW1lIG1vZHVs ZSB3aXRoIHJlcG8gaW4gdGVzdHMvZml4dHVyZXMvcnBrZyouY29uZiAoY3FpKQorLSBBZGQgLS1m YWlsLWZhc3QgZnVuY3Rpb25hbGl0eSAtICMzMzEgKHRpYmJzKQorLSBGaXggZmFrZSBzcGVjIGZv ciBidWlsZCBpbiByYXdoaWRlIChjcWkpCistIEF2b2lkIHRvIHVwbG9hZCBhIGZpbGUgd2l0aCBk aWZmZXJlbnQgY2hlY2tzdW0gLSAjMjA0IChjcWkpCistIEdpdmUgbW9yZSBpbmZvcm1hdGlvbiB3 aGVuIHNvdXJjZXMgaGFzIGludmFsaWQgY29udGVudCAtICMyMjcgKGNxaSkKKy0gUmVzZXJ2ZSBS RUFETUUubWQgd2hpbGUgaW1wb3J0IHNycG0gLSAjMTQ5IChjcWkpCistIFNldCB0byByZXBvX25h bWUgcHJvcGVydHkgd2hlbiAtLW5hbWUgaXMgc3BlY2lmaWVkIChjcWkpCistIERvIG5vdCByZXN0 cmljdCBhcmdwYXJzZSB2ZXJzaW9uIChjcWkpCistIENoZWNrIG9sZCBmb3JtYXQgYXJncyBvbmx5 IGlmIHRoZXJlIGlzIGNsb25lIGNvbmZpZyAoY3FpKQorLSBGaXggdHlwbyBhbmQgcmV3b3JkIG9w dGlvbiBoZWxwIGFuZCBkZXByZWNhdGlvbiBtZXNzYWdlIChjcWkpCistIE1hc3NpdmUgcmVwbGFj ZW1lbnQgb2YgbW9kdWxlIChjcWkpCistIERlcHJlY2F0ZSBtb2R1bGVfbmFtZSBpbnNpZGUgcnBr ZyBpbnRlcm5hbCAoY3FpKQorLSBBZGQgbmV3IG9wdGlvbiAtLW5hbWUgYW5kIC0tbmFtZXNwYWNl IC0gIzMwMSAoY3FpKQorLSBNYW4gZ2VuZXJhdG9yIGluZGVudCB3b3JrYXJvdW5kIChvbm9zZWsp CistIEZpeGluZyBpbXBvcnRzIGluIHVuaXR0ZXN0cyAob25vc2VrKQorLSBNaW5vciBmaXhlcyB0 byBkb2MgYnVpbGQgKGNxaSkKKy0gRml4IG1pc3Rha2VzIGR1cmluZyByZWJhc2UgKGNxaSkKKy0g UnVuIGRvY3VtZW50IGdlbmVyYXRvciBzY3JpcHQgaW4gUHkzIGV4cGxpY3RseSAoY3FpKQorLSBS ZW1vdmUgd2FybmluZyBvZiBub25leGlzdGluZyBzb3VyY2UvX3N0YXRpYy8gZHVyaW5nIGRvYyBi dWlsZCAoY3FpKQorLSBEbyBub3QgZ2VuZXJhdGUgZG9jdW1lbnQgZm9yIHNhbXBsZSBycGtnIGFw cCAoY3FpKQorLSBFeGNsdWRlIHN1YmNvbW1hbmQgd2hpY2ggZG9lcyBub3QgaGF2ZSBoZWxwIChj cWkpCistIEVuc3VyZSB0byBjbGVhbiBmaWxlcyBmb3IgZ2VuZXJhdGluZyBIVE1MIGRvY3VtZW50 cyAoY3FpKQorLSBGaXggcmViYXNlIGVycm9yOiBhZGQgbW9kdWxlX2J1aWxkX3dhdGNoIGJhY2sg KGNxaSkKKy0gRml4IE1BTklGRVNULmluIHRvIGxpc3QgZmlsZXMgZm9yIGJ1aWxkaW5nIGRvYyAo Y3FpKQorLSBSZW5hbWUgZ2VuZXJhdGVfbWFuX3BhZ2VzLnB5IChjcWkpCistIEdlbmVyYXRlIEhU TUwgZG9jdW1lbnQgYW5kIG1hbnBhZ2UgZm9yIHNhbXBsZSBycGtnIChjcWkpCistIFNpbXBsaWZ5 IGRvYyBNYWtlZmlsZSAoY3FpKQorLSBHZW5lcmF0ZSBjb21tYW5kcyBIVE1MIGFuZCBtYW4gcGFn ZXMgKGNxaSkKKy0gVXBkYXRlIGV4aXN0aW5nIGRvY3N0cmluZ3MgKGNxaSkKKy0gR2VuZXJhdGUg ZG9jdW1lbnRzIGJ5IHNwaGlueCAtICM1MCAoY3FpKQorLSBSRUFETUU6IG5ldyBjb2RlIHNob3Vs ZCBiZSBweTMgY29tcGF0aWJsZSAoa3RkcmV5ZXIpCistIFByb3ZpZGUgYmFzZV9tb2R1bGUgdG8g Y2xvbmVfY29uZmlnIHRlbXBsYXRlcyAtICMzMjYgKHRteikKKy0gUmVmYWN0b3IgbWFuIGdlbmVy YXRvciB0byBiZSByZXVzYWJsZSAocHVpdGVyd2lqaykKKy0gTWFrZSBzdXJlIGdpdGNyZWQgZG9l c24ndCBsYW5kIGluIG1hbiAocHVpdGVyd2lqaykKKy0gRG9uJ3QgaW5qZWN0IHRoZSBjcmVkZW50 aWFsIGhlbHBlciB0byBwdXNoIGlmIE9JREMgaXMgdW5jb25maWd1cmVkCisgIChwdWl0ZXJ3aWpr KQorLSBBZGQgZG9jYmxvY2tzIHRvIGdpdGNyZWQgbWV0aG9kcyBhbmQgZG9uJ3QgcXVpdCBpZiBP cGVuSURDIGlzIHVuY29uZmlndXJlZAorICAocHVpdGVyd2lqaykKKy0gQWxzbyBpbmplY3QgdGhl IGNyZWRlbnRpYWwgaGVscGVyIHdpdGggcnBrZyBwdXNoIChwdWl0ZXJ3aWprKQorLSBDcmVhdGUg YSAiZ2l0Y3JlZCIgY29tbWFuZCB0aGF0IGZ1bmN0aW9ucyBhcyBhbiBPSURDIGdpdC1jcmVkZW50 aWFsIGhlbHBlcgorICAocHVpdGVyd2lqaykKKworKiBTYXQgSnVsIDE0IDIwMTggRmVkb3JhIFJl bGVhc2UgRW5naW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjU0LTQKKy0g UmVidWlsdCBmb3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yOV9NYXNz X1JlYnVpbGQKKworKiBUdWUgSnVuIDE5IDIwMTggTWlybyBIcm9uxI1vayA8bWhyb25jb2tAcmVk aGF0LmNvbT4gLSAxLjU0LTMKKy0gUmVidWlsdCBmb3IgUHl0aG9uIDMuNworCisqIE1vbiBNYXkg MjEgMjAxOCBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEuNTQtMgorLSBSZW1vdmUg a29qaSBhbmQgcnBtLXB5LWluc3RhbGxlciBQeXRob24gcGFja2FnZSByZXF1aXJlcworLSBGaXgg YXJncGFyc2UgdmVyc2lvbiBmb3IgZWw2CisKKyogRnJpIE1heSAxMSAyMDE4IENoZW54aW9uZyBR aSA8Y3FpQHJlZGhhdC5jb20+IC0gMS41NC0xCistIFBhc3MgdGhlIC1zLy0tc2V0LWRlZmF1bHQt c3RyZWFtIHRvIG1icy1tYW5hZ2VyIGZvciBtb2R1bGUgbG9jYWwgYnVpbGRzLgorICAoamthbHV6 YSkKKy0gV3JpdGUgbW9jayBjb25maWcgY29ycmVjdGx5IHdoZW4gcnVuIGluIFB5IDMgKGNxaSkK Ky0gQWRkIC0td2l0aCBhbmQgLS13aXRob3V0IG9wdGlvbnMgdG8gJ2xvY2FsJyAtIHJoYnojMTUz MzQxNiAodG16KQorLSBBZGQgYSB0ZXN0IGZvciAzZjkzNDMzIChjcWkpCistIFJhaXNlIGVycm9y IGlmIHJwbSBjb21tYW5kIHJldHVybnMgbm9uLXplcm8gKGNxaSkKKy0gVXNlIGdldHBhc3MuZ2V0 dXNlcigpIGluc3RlYWQgb2YgcHdkLmdldHB3dWlkKG9zLmdldHVpZCgpKVswXSAoanBvcGVsa2Ep CistIEFsbG93IHNldHRpbmcgY3VzdG9tIE1CUyBjb25maWcgZmlsZSBhbmQgY29uZmlnIHNlY3Rp b24gaW4gcnBrZy5jb25mLgorICAoamthbHV6YSkKKy0gUmVtb3ZlIHB5MzUgdGVzdGVudiAoY3Fp KQorLSBJZ25vcmUgLmVudiBhbmQgdGFncyAoY3FpKQorLSBSZW1vdmUgcXVlc3Rpb24gbWFyayBm cm9tIGdpdHVybCAoY3FpKQorLSBBZGRlZCBjdXN0b20gQXJndW1lbnRQYXJzZXIgKHN1cHBvcnRz IGFsbG93X2FiYnJldikgKGprdWNlcmEpCistIEdyYWIgdGhlIGNvcnJlY3QgZmlyc3QgbGluZSBp biBjYXNlIG9mIHJwbSBvdXRwdXQgKHplYm9iLm0pCisKKyogTW9uIEFwciAxNiAyMDE4IENoZW54 aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+IC0gMS41My0yCistIFJlcXVpcmUgcHl0aG9uMi1rb2pp IDEuMTUgYXMgdGhlIG1pbmltdW0gdmVyc2lvbgorLSBSZWZpbmUgQnVpbGRSZXF1aXJlcworCisq IFR1ZSBBcHIgMTAgMjAxOCBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEuNTMtMQor LSBVc2UgTlNWcyBhbmQgbm90IGJ1aWxkIElEcyB3aXRoIG1vZHVsZS1idWlsZC1sb2NhbCAtLWFk ZC1sb2NhbC1idWlsZCAobXByYWhsKQorLSBGaXggZG9jc3RyaW5nIG9mIHRlc3RfbW9kdWxlX2J1 aWxkX2xvY2FsX3dpdGhfc2tpcHRlc3RzIChtcHJhaGwpCistIEFkZCBsb25nX2Rlc2NyaXB0aW9u IHRvIHBhY2thZ2UgKGNxaSkKKy0gU3VwcG9ydCBsb2NhbCBtb2R1bGUgYnVpbGRzIHdoZW4gdGhl cmUgYXJlIHVuY29tbWl0dGVkIGNoYW5nZXMgKG1wcmFobCkKKy0gRml4IGNsYXJpZnlpbmcgZXJy b3IgdGhhdCBvY2N1cnMgd2hlbiBtYnMtbWFuYWdlciBpcyBub3QgaW5zdGFsbGVkIChtcHJhaGwp CistIEFkZCBzdXBwb3J0IGZvciBNb2R1bGUgU3RyZWFtIEV4cGFuc2lvbiAoTUJTIEFQSSB2Mikg KG1wcmFobCkKKy0gU2hvdyBlcnJvcnMgd2hlbiBhIG1vZHVsZSBidWlsZCBmYWlscyAobXByYWhs KQorLSBNb3ZlIGZ1bGwgZG93bmxvYWQgdXJsIGNvbnN0cnVjdGlvbiB0byBzZXBhcmF0ZSBtZXRo b2QgKGZyb3N0eXgpCistIEZpeCBjb21wb3NlIHJlbGF0ZWQgcGFyYW1zIGZvciBjb250YWluZXIt YnVpbGQgKGx1Y2FydmFsKQorLSBBdm9pZCBjYWxsaW5nIC91c3IvYmluL3B5dGhvbiBpbiB0ZXN0 cyAobWlybykKKy0gQ2hhbmdlIGRlZmF1bHQgcnBtbGludCBjb25maWd1cmF0aW9uIGZpbGUgKGF0 aG9zY3IpCistIFVzZSBrb2ppLmdyYWJfc2Vzc2lvbl9vcHRpb25zKCkgcmF0aGVyIHRoYW4gb3Bl bmNvZGluZyBpdCAoY2ZlcmdlYXUpCisKKyogTW9uIE1hciAwNSAyMDE4IE1pcm8gSHJvbsSNb2sg PG1ocm9uY29rQHJlZGhhdC5jb20+IC0gMS41Mi0yCistIEludHJvZHVjZSBweXRob24zIHN1YnBh Y2thZ2UKKworKiBUaHUgRmViIDIyIDIwMTggQ2hlbnhpb25nIFFpIDxjcWlAcmVkaGF0LmNvbT4g LSAxLjUyLTEKKy0gTW9jayBUaHJlYWRQb29sIGluIHRlc3RfbW9kdWxlX292ZXJ2aWV3IChjcWkp CistIERyb3AgcnBtZmx1ZmYgaW4gdGVzdCAoY3FpKQorLSBGaXggaGFyZGNvZGVkIGRpcmVjdG9y eSBuYW1lIGluIHRlc3QgKGxzZWRsYXIpCistIEltcHJvdmUgdGVzdGVudiBmb3IgcHkyNiAoY3Fp KQorLSBSdW4gdGVzdHMgd2l0aCBvbGQgR2l0UHl0aG9uIGluIHB5MjYgdGVzdGVudiAoY3FpKQor LSBDb21waWxlIHB5Y3VybCB3aXRoIG9wZW5zc2wgYWZ0ZXIgRjI3IChjcWkpCistIElnbm9yZSAu ZWdnLyBmcm9tIGdpdCAoY3FpKQorLSBBZGQgcHkyNiB0byB0ZXN0ZW52IChjcWkpCistIEluc3Rh bGwga29qaSBmcm9tIFB5UEkgKGNxaSkKKy0gTWFrZSBjb21wb3NlLWlkIGFuZCByZXBvLXVybCB0 byB0YWtlIG9uZSBvciBtb3JlIHZhbHVlcyAoY3NvbWgpCistIExldCBnaXQgaWdub3JlIG1vcmUg ZGlyZWN0b3JpZXMgKGNxaSkKKy0gRXhjbHVkZSBweWMgYW5kIF9fcHljYWNoZV9fIGdsb2JhbGx5 IGluIHNkaXN0IChjcWkpCistIEhhbmRsZSBub25leGlzdGluZyBtYnMtbWFuYWdlciAoY3FpKQor LSBBZGQgZGVwZW5kZW50IHBhY2thZ2VzIGZvciBQeXRob24gMi42IGluIHNldHVwLnB5IChjcWkp CistIFVwZGF0ZWQgbW9kdWxlIGNsaSBBUEkgKG1jdXJsZWopCistIERlY2xhcmUgUHl0aG9uIHZl cnNpb25zIHJwa2cgY2FuIHdvcmsgd2l0aCAtICMyNzggKGNxaSkKKy0gRml4IGZsYWtlOCBlcnJv cnMgKGNxaSkKKy0gRml4IHRlc3RzIHRoYXQgZG8gbm90IHdvcmsgd2l0aCBQeXRob24gMyAoY3Fp KQorLSBGaXggdGVzdHM6IG5vdCBpbXBhY3QgYnkgZGljdC5pdGVtcyBjYWxsIChjcWkpCistIEFk ZCBweTM2IHRvIHRlc3RlbnYgLSAjMjc0IChjcWkpCistIFJ1biB0b3ggdG8gcnVuIHRlc3RzIGFu ZCBjaGVjayBjb2RlIHN0eWxlcyAtICMyNzYgKGNxaSkKKy0gVXNlIGZsYWtlOCAzLjUuMCAoY3Fp KQorLSBBZGQgZmlsZXMgdW5kZXIgcmVxdWlyZW1lbnRzLyB0byBzZGlzdCBwYWNrYWdlIChjcWkp CistIEluc3RhbGwgS29qaSBzaGFyZWQgbGlicmFyeSB2aWEgc2V0dXB0b29scyAoY3FpKQorLSBT ZXQgaW5zdGFsbCBhbmQgdGVzdHMgcmVxdWlyZXMgaW4gc2V0dXAucHkgKGNxaSkKKy0gU3BsaXQg cHlwaSByZXF1aXJlbWVudHMgYW5kIHJlZmluZSB2ZXJzaW9ucyAoY3FpKQorLSBDaGFuZ2UgdHlw ZSBvZiBjb21wb3NlIGlkIGZyb20gc3RyaW5nIHRvIGludCAoYmZvbnRlY2MpCistIEluc3RhbGwg UlBNIFB5dGhvbiBiaW5kaW5nIGZyb20gUHlQSSAoY3FpKQorLSBGaXggdGVzdCB0ZXN0X2xpbnRf ZWFjaF9maWxlX29uY2UgKGNxaSkKKy0gQWRkIGNvbXBvc2UtaWQgYW5kIHNpZ25pbmctaW50ZW50 IGFyZ3VtZW50cyAoYmZvbnRlY2MpCistIFVzZSBlbnYncyBweXRob24gKGx1Y2FydmFsKQorLSBV c2UgcHJvZ3Jlc3MgY2FsbGJhY2sgYW5kIFRhc2tXYXRjaGVyIGZyb20ga29qaV9jbGkubGliIChj cWkpCistIEdldCBidWlsZGhhc2ggZnJvbSBnaXQraHR0cHM6Ly8gdXJsIChsc2VkbGFyKQorLSBs aW50OiBBdm9pZCBjaGVja2luZyBycG0ncyBtdWx0aXBsZSB0aW1lcyAodG16KQorLSBGaXggZ2l0 dXJsIGFzIHdlbGwgYnkgY2FsbGluZyBjb25zdHJ1Y3RfYnVpbGRfdXJsIChjcWkpCistIEZpeCBj b25zdHJ1Y3QgYW5vbmdpdHVybCBmb3IgY2hhaW4tYnVpbGQgKGNxaSkKKy0gRml4IG1vY2sgb3Bl bmlkY19jbGllbnQgKGNxaSkKKworKiBGcmkgRmViIDA5IDIwMTggRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjUxLTQKKy0gUmVidWlsdCBm b3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yOF9NYXNzX1JlYnVpbGQK KworKiBUdWUgSmFuIDIzIDIwMTggQ2hlbnhpb25nIFFpIDxjcWlAcmVkaGF0LmNvbT4gLSAxLjUx LTMKKy0gQmFja3BvcnQ6IEFkZCBjb21wb3NlLWlkIGFuZCBzaWduaW5nLWludGVudCBhcmd1bWVu dHMKKy0gQmFja3BvcnQ6IENoYW5nZSB0eXBlIG9mIGNvbXBvc2UgaWQgZnJvbSBzdHJpbmcgdG8g aW50CisKKyogV2VkIE5vdiAwOCAyMDE3IENoZW54aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+IC0g MS41MS0yCistIEJhY2twb3J0OiBGaXggY29uc3RydWN0IGFub25naXR1cmwgZm9yIGNoYWluLWJ1 aWxkCistIEJhY2twb3J0OiBGaXggZ2l0dXJsIGFzIHdlbGwgYnkgY2FsbGluZyBjb25zdHJ1Y3Rf YnVpbGRfdXJsCisKKyogRnJpIE9jdCAyMCAyMDE3IENoZW54aW9uZyBRaSA8Y3FpQHJlZGhhdC5j b20+IC0gMS41MS0xCistIElnbm9yZSBUZXN0TW9kdWxlc0NsaSBpZiBvcGVuaWRjLWNsaWVudCBp cyB1bmF2YWlsYWJsZSAoY3FpKQorLSBQb3J0IG1icy1idWlsZCB0byBycGtnIChtcHJhaGwpCist IEFkZCAudnNjb2RlIHRvIC5naXRpZ25vcmUgKG1wcmFobCkKKy0gRml4IFRlc3RQYXRjaC50ZXN0 X3JlZGlmZiBpbiBvcmRlciB0byBydW4gd2l0aCBvbGQgdmVyc2lvbiBvZiBtb2NrIChjcWkpCist IEFsbG93IHRvIHNwZWNpZnkgYWx0ZXJuYXRpdmUgQ29wciBjb25maWcgZmlsZSAtICMxODQgKGNx aSkKKy0gVGVzdHMgZm9yIHBhdGNoIGNvbW1hbmQgKGNxaSkKKy0gTW9yZSBUZXN0cyBmb3IgbW9j a2J1aWxkIGNvbW1hbmQgKGNxaSkKKy0gTW9yZSB0ZXN0cyBmb3IgZ2V0dGluZyBzcGVjIGZpbGUg KGNxaSkKKy0gVGVzdHMgZm9yIGNvbnRhaW5lci1idWlsZC1zZXR1cCBjb21tYW5kIChjcWkpCist IFRlc3QgZm9yIGNvbnRhaW5lci1idWlsZCB0byB1c2UgY3VzdG9tIGNvbmZpZyAoY3FpKQorLSBT dXBwcmVzcyBvdXRwdXQgZnJvbSBnaXQgY29tbWFuZCB3aXRoaW4gc2V0VXAgKGNxaSkKKy0gU2tp cCB0ZXN0IGlmIHJwbWZsdWZmIGlzIG5vdCBhdmFpbGFibGUgKGxzZWRsYXIpCistIEFsbG93IHRv IG92ZXJyaWRlIGJ1aWxkIFVSTCAoY3FpKQorLSBUZXN0IGZvciBtb2NrLWNvbmZpZyBjb21tYW5k IChjcWkpCistIFRlc3RzIGZvciBjb3ByLWJ1aWxkIGNvbW1hbmQgKGNxaSkKKy0gRml4IGFyY2gt b3ZlcnJpZGUgZm9yIGNvbnRhaW5lci1idWlsZCAobHVjYXJ2YWwpCistIFJlbW92ZSB1bnN1cHBv cnRlZCBvc2JzIGZvciBjb250YWluZXItYnVpbGQgKGx1Y2FydmFsKQorLSBjbGk6IGFkZCAtLWFy Y2hlcyBzdXBwb3J0IGZvciBrb2ppX2NvaW50YWluZXJidWlsZCAobWxhbmdzZG8pCistIFN0cmlw IHJlZnMvaGVhZHMvIGZyb20gYnJhbmNoIG9ubHkgb25jZSAobHNlZGxhcikKKy0gRG9uJ3QgaW5z dGFsbCBiaW4gYW5kIGNvbmZpZyBmaWxlcyAoY3FpKQorLSBGaXgga29qaXByb2ZpbGUgc2VsZWN0 aW9uIGluIGNsaUNsaWVudC5jb250YWluZXJfYnVpbGRfa29qaSAoY3FpKQorLSBBdm9pZCBicmFu Y2ggZGV0ZWN0aW9uIGZvciAncnBrZyBzb3VyY2VzJyAocHJhaXNrdXApCistIEZpeCBlbmNvZGlu ZyBpbiBuZXcgY29tbWFuZCAoY3FpKQorLSBNaW5vciB3b3JkaW5nIGltcHJvdmVtZW50IGluIGhl bHAgKHBnaWVyKQorLSBGaXggaW5kZW50YXRpb24gKHB2aWt0b3JpKQorLSBBZGQgLS13aXRoIGFu ZCAtLXdpdGhvdXQgb3B0aW9ucyB0byBtb2NrYnVpbGQgKHB2aWt0b3JpKQorCisqIFRodSBBdWcg MzEgMjAxNyBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEuNTAtMgorLSBCYWNrcG9y dDogRml4IGtvamlwcm9maWxlIHNlbGVjdGlvbiBpbiBjbGlDbGllbnQuY29udGFpbmVyX2J1aWxk X2tvamkgKGNxaSkKKworKiBUaHUgQXVnIDEwIDIwMTcgQ2hlbnhpb25nIFFpIDxjcWlAcmVkaGF0 LmNvbT4gLSAxLjUwLTEKKy0gRml4IFBFUDggZXJyb3IgKGNxaSkKKy0gU3BlbGxpbmcgZml4ZXMg KHZpbGxlLnNreXR0YSkKKy0gUmV3b3JkIGhlbHAgYW5kIGRlc2NyaXB0aW9uIG9mIG5ldy1zb3Vy Y2VzIGFuZCB1cGxvYWQgY29tbWFuZHMgLSByaGJ6IzEyNDg3MzcKKyAgKGNxaSkKKy0gU2V0IGF1 dG9yZWJ1aWxkIGVuYWJsZWQgYnkgZGVmYXVsdCAoYmZvbnRlY2MpCistIEFkZCBjb21tYW5kcyB0 byB3aGl0ZWxpc3RfZXh0ZXJuYWxzIChjcWkpCistIERlY2xhcmUgUHl0aG9uIDMgdmVyc2lvbnMg dG8gc3VwcG9ydCBpbiBzZXR1cC5weSAoY3FpKQorLSBSZXBsYWNlIHVuaWNvZGUgd2l0aCBzaXgu dGV4dF90eXBlIChjcWkpCistIFJ1biB0ZXN0cyBpbiBib3RoIFB5dGhvbiAyIGFuZCAzIHdpdGgg dG94IChjcWkpCistIE1ha2UgdGVzdHMgYW5kIGNvdmVyZWQgY29kZSBjb21wYXRpYmxlIHdpdGgg UHkzIChjcWkpCistIEFkZCByZXF1aXJlbWVudHMgZmlsZXMgKGNxaSkKKy0gRG8gbm90IGJ1aWxk IHNycG0gaW4gdGVzdCAoY3FpKQorLSBEbyBub3QgYWN0dWFsbHkgcnVuIGdpdC1kaWZmIGluIHRl c3RzIChjcWkpCistIFJlbW92ZSBkZXByZWNhdGVkIG1vZHVsZXMgdXNlZCBpbiBrb2ppIChjcWkp CistIE5vbi16ZXJvIGV4aXQgd2hlbiBycG1idWlsZCBmYWlscyBpbiBsb2NhbCBjb21tYW5kIChj cWkpCistIFJlcG9ydCBkZXByZWNhdGlvbiBvZiBjb25maWcgdmlhIGxvZ2dlciAobHNlZGxhcikK Ky0gUHJpbnQgLS1kaXN0IGRlcHJlY2F0aW9uIHdhcm5pbmcgZXhwbGljaXRseSAobHNlZGxhcikK Ky0gdXRpbHM6IEF2b2lkIERlcHJlY2F0aW9uV2FybmluZyBmb3IgbWVzc2FnZXMgZm9yIHVzZXJz IChsc2VkbGFyKQorLSBTdXBwbHkgbmFtZXNwYWNlIHRvIGxvb2thc2lkZSAoaWYgZW5hYmxlZCkg KGxzZWRsYXIpCistIFN1cHBvcnQgcmVhZGluZyBrb2ppIGNvbmZpZyBmcm9tIHByb2ZpbGUgLSAj MTg3IChjcWkpCistIFJlbW92ZSBraXRjaGVuIChjcWkpCistIEZpeCBzdHJpbmcgZm9ybWF0IChj cWkpCistIFJlY29tbWVuZCAtLXJlbGVhc2UgaW5zdGVhZCBvZiAtLWRpc3QgaW4gbW9ja2J1aWxk IC0taGVscCAodG16KQorLSBBbGxvdyBvdmVycmlkaW5nIGNvbnRhaW5lciBidWlsZCB0YXJnZXQg YnkgZG93bnN0cmVhbSAobHNlZGxhcikKKy0gQWRkIGEgc2VwYXJhdGUgcHJvcGVydHkgZm9yIG5h bWVzcGFjZSAobHNlZGxhcikKKy0gQWxsb3cgY29udGFpbmVyIGJ1aWxkcyBmcm9tIGFueSBuYW1l c3BhY2UgKG1heGFtaWxsaW9uKQorLSBNYWtlIG9zYnMgc3VwcG9ydCBvcHRpb25hbCAoY3FpKQor LSBtYWtlIG9zYnMgZGVwZW5kZW5jeSBvcHRpb25hbCAocGF2bGl4KQorLSBBbGxvdyBleHBsaWNp dCBuYW1lc3BhY2VzIHdpdGggc2xhc2hlcyAobHNlZGxhcikKKy0gRG8gbm90IGhhbmcgaW5kZWZp bml0ZWx5IHdoZW4gbG9va2FzaWRlIGNhY2hlIHNlcnZlciBzdG9wcyBzZW5kaW5nIGRhdGEKKyAg KGprYWx1emEpCistIE1ha2UgLS1tb2R1bGUtbmFtZSB3b3JrIHdpdGggbmFtZXNwYWNlcyAtICMy MTYgKGxzZWRsYXIpCistIEluY2x1ZGUgUkVBRE1FLnJzdCBpbiBkaXN0IHBhY2thZ2UgKGNxaSkK Ky0gTW9yZSBkb2N1bWVudCBpbiBSRUFETUUgLSAjMTg5IChjcWkpCistIE1ha2UgbmV3IGNvbW1h bmQgYmUgYWJsZSB0byBwcmludCB1bmljb2RlIC0gIzIwNSAoY3FpKQorLSBBbGxvdyB0byBzcGVj aWZ5IGN1c3RvbSBpbmZvIHRvIGEgZHVtbXkgY29tbWl0IChjcWkpCistIExvYWQgbW9kdWxlIG5h bWUgY29ycmVjdGx5IGV2ZW4gaWYgcHVzaCB1cmwgZW5kcyBpbiBzbGFzaCAtICMxOTIgKGNxaSkK Ky0gUmVwbGFjZSBmZWRvcmFob3N0ZWQub3JnIHdpdGggcGFndXJlLmlvIC0gIzIwMiAoY3FpKQor LSBGaXggcnBtIGNvbW1hbmQgdG8gZ2V0IGNoYW5nZWxvZyBmcm9tIFNQRUMgLSByaGJ6IzE0MTIy MjQgKGNxaSkKKy0gUmV3cml0ZSB0ZXN0cyB0byBhdm9pZCBydW5uaW5nIHJwbWJ1aWxkIGFuZCBy cG1saW50IChjcWkpCistIFVzZSBmYWtlIHZhbHVlIHRvIG1ha2UgQ29tbWFuZCBpbiB0ZXN0IChj cWkpCistIFB5dGhvbiAzLjYgaW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgZGVwcmVjYXRpb24gZml4 ZXMgKHZpbGxlLnNreXR0YSkKKworKiBUaHUgSnVsIDI3IDIwMTcgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbGVuZ0BmZWRvcmFwcm9qZWN0Lm9yZz4gLSAxLjQ5LTcKKy0gUmVidWlsdCBm b3IgaHR0cHM6Ly9mZWRvcmFwcm9qZWN0Lm9yZy93aWtpL0ZlZG9yYV8yN19NYXNzX1JlYnVpbGQK KworKiBNb24gSnVsIDEwIDIwMTcgQ2hlbnhpb25nIFFpIDxjcWlAcmVkaGF0LmNvbT4gLSAxLjQ5 LTYKKy0gUmVuYW1lIGtvamkgdG8gcHl0aG9uMi1rb2ppCisKKyogVGh1IEp1biAyOSAyMDE3IEx1 Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhhdC5jb20+IC0gMS40OS01CistIEFsbG93IHVz aW5nIG5hbWVzcGFjZSBpbiAtLW1vZHVsZS1uYW1lIGF0dHJpYnV0ZQorCisqIFRodSBKdW4gMjIg MjAxNyBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEuNDktNAorLSBSZW1vdmUgcHl0 aG9uLW9zYnMtY2xpZW50CisKKyogRnJpIEp1biAxNiAyMDE3IENoZW54aW9uZyBRaSA8Y3FpQHJl ZGhhdC5jb20+IC0gMS40OS0zCistIEJhY2twb3J0IHRvIG1ha2Ugb3NicyBvcHRpb25hbAorCisq IE1vbiBNYXIgMjcgMjAxNyBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEuNDktMgor LSBSZWJ1aWx0IHRvIHJlbmFtZSBweXJwa2cgdG8gcHl0aG9uMi1ycGtnCisKKyogV2VkIEZlYiAy MiAyMDE3IENoZW54aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+IC0gMS40OS0xCistIE1vcmUgdXBs b2FkIFB5Q1VSTCBmaXhlcyBmb3IgRUwgNyAobWVybGluKQorLSBNb3ZlIHRhZyBpbmhlcml0YW5j ZSBjaGVjayBpbnRvIGEgc2VwYXJhdGUgbWV0aG9kIChjcWkpCisKKyogU2F0IEZlYiAxMSAyMDE3 IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0g MS40OC0zCistIFJlYnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRv cmFfMjZfTWFzc19SZWJ1aWxkCisKKyogV2VkIEZlYiAxIDIwMTcgTHVib23DrXIgU2VkbMOhxZkg PGxzZWRsYXJAcmVkaGF0LmNvbT4gLSAxLjQ4LTIKKy0gQmFja3BvcnQgcGF0Y2ggdG8gbW92ZSB0 YWcgaW5oZXJpdGFuY2UgY2hlY2sgdG8gc2VwYXJhdGUgbWV0aG9kCisKKyogVGh1IERlYyAyMiAy MDE2IENoZW54aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+IC0gMS40OC0xCistIEJldHRlciBtZXNz YWdlIHdoZW4gZmFpbCB0byBhdXRoZW50aWNhdGUgdmlhIEtlcmJlcm9zIC0gIzE4MCAoY3FpKQor CisqIE1vbiBEZWMgMTkgMjAxNiBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEuNDct NworLSBSZWZhY3RvciBDb21tYW5kcy5fc3JwbWRldGFpbHMgKGNxaSkKKworKiBUaHUgRGVjIDE1 IDIwMTYgQ2hlbnhpb25nIFFpIDxjcWlAcmVkaGF0LmNvbT4gLSAxLjQ3LTYKKy0gQWRkIG1pc3Np bmcgaW1wb3J0IGtvamkuc3NsLlNTTENvbW1vbiAtIEJaIzE0MDQxMDIgKGNxaSkKKy0gRml4IHVw bG9hZCB3aXRoIG9sZCBQeUNVUkwgLSBCWiMxMjQxMDU5IChsc2VkbGFyKQorCisqIE1vbiBEZWMg MTIgMjAxNiBMdWJvbcOtciBTZWRsw6HFmSA8bHNlZGxhckByZWRoYXQuY29tPiAtIDEuNDctNQor LSBGaXggZGVmYXVsdCB2YWx1ZSBmb3Iga3JiX3JkbnMgb3B0aW9ucworCisqIE1vbiBEZWMgMTIg MjAxNiBMdWJvbcOtciBTZWRsw6HFmSA8bHNlZGxhckByZWRoYXQuY29tPiAtIDEuNDctNAorLSBB ZGQga3JiX3JkbnMga29qaSBjb25maWcKKworKiBUaHUgRGVjIDA4IDIwMTYgTHVib23DrXIgU2Vk bMOhxZkgPGxzZWRsYXJAcmVkaGF0LmNvbT4gLSAxLjQ3LTMKKy0gQ29uZmxpY3Qgd2l0aCB0b28g b2xkIGZlZHBrZworCisqIFdlZCBEZWMgMDcgMjAxNiBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQu Y29tPiAtIDEuNDctMgorLSBGaXggdGVzdCB0aGF0IGZhaWxzIG9uIGEgS29qaSBBUk0gYnVpbGRl cgorCisqIEZyaSBEZWMgMDIgMjAxNiBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEu NDctMQorLSBOZXcgdXBzdHJlYW0gcmVsZWFzZSAxLjQ3CisKKyogVHVlIE9jdCAyNSAyMDE2IEx1 Ym9tw61yIFNlZGzDocWZIDxsc2VkbGFyQHJlZGhhdC5jb20+IC0gMS40Ni01CistIEFsbG93IHVz aW5nIGdzc2FwaSBmb3IgbG9va2FzaWRlIGNhY2hlcworCisqIFR1ZSBTZXAgMDYgMjAxNiBMdWJv bcOtciBTZWRsw6HFmSA8bHNlZGxhckByZWRoYXQuY29tPiAtIDEuNDYtNAorLSBVcGRhdGUgZGVw ZW5kZW5jaWVzIGZvciBweXRob24tYXJncGFyc2UgYW5kIHB5dGhvbi1oYXNobGliCisKKyogVGh1 IEF1ZyAyNSAyMDE2IENoZW54aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+IC0gMS40Ni0zCistIHB5 dGhvbi1zaXgtMS45LjAgaXMgdGhlIG1pbmltdW0gdmVyc2lvbiBycGtnIGRlcGVuZHMKKworKiBU dWUgSnVsIDE5IDIwMTYgRmVkb3JhIFJlbGVhc2UgRW5naW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMu ZmVkb3JhcHJvamVjdC5vcmc+IC0gMS40Ni0yCistIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcv d2lraS9DaGFuZ2VzL0F1dG9tYXRpY19Qcm92aWRlc19mb3JfUHl0aG9uX1JQTV9QYWNrYWdlcwor CisqIEZyaSBKdWwgMTUgMjAxNiBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29tPiAtIDEuNDYt MQorLSBXYXJuaW5nIHVudHJhY2tlZCBwYXRjaGVzIHdoZW4gcHVzaCAoY3FpKQorLSBoYW5kbGUg Y29ycmVjdCBzcGVjIHBhdGggd2hlbiBwdXNoIGZyb20gb3V0c2lkZSB0aGUgcmVwbyAoY3FpKQor LSBSZW1vdmUgc3VwcG9ydCBmb3IgQnVpbGRDb250YWluZXIgcmVsZWFzZSB0YXNrIG9wdCAobHVj YXJ2YWwpCisKKyogTW9uIEp1biAyNyAyMDE2IENoZW54aW9uZyBRaSA8Y3FpQHJlZGhhdC5jb20+ IC0gMS40NS0yCistIERlcGVuZCBvbiBweXRob24tc2l4IHRvIGJlIGNvbXBhdGlibGUgd2l0aCBQ eXRob24gMworCisqIE1vbiBKdW4gMjcgMjAxNiBDaGVueGlvbmcgUWkgPGNxaUByZWRoYXQuY29t PiAtIDEuNDUtMQorLSBhZGQgbWlzc2luZyBnaXQtY29uZmlnIGluIHRoZSBnaXQgcmVwbyBmb3Ig dGVzdGluZyAoY3FpKQorLSBEb24ndCBwcmludCBkb3dubG9hZC91cGxvYWQgcHJvZ3Jlc3Mgb3V0 c2lkZSBvZiBUVFkgKGxzZWRsYXIpCistIE1lcmdlICM1OCBgUmViYXNlIG9mICMyOCB3aXRoIGNv bmZsaWN0IHJlc29sdmVkYCAoY3FpKQorLSBHZXQgY29ycmVjdCBsb2dpbiB3aXRob3V0IFRUWSAo dmdvbG9ndXopCistIE1lcmdlICM2MyBgTW9yZSBQeXRob24gMyBjb21wYXRpYmlsaXR5IGZpeGVz YCAobHVib21pci5zZWRsYXIpCistIGZpeCBicm9rZW4gd2hlbiBub24tQVNDSUkgaW4gcGF0aCAo Y3FpKQorLSBNb3JlIFB5dGhvbiAzIGNvbXBhdGliaWxpdHkgZml4ZXMgKHZpbGxlLnNreXR0YSkK Ky0gRml4IHB1c2ggY2FsbGVkIHdpdGhvdXQgYXJndW1lbnQgKGxzZWRsYXIpCistIFVzZSBsb2dn aW5nLndhcm5pbmcgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGxvZ2dpbmcud2FybiAodmlsbGUuc2t5 dHRhKQorLSBVc2UgYXNzZXJ0RXF1YWwgaW5zdGVhZCBvZiBkZXByZWNhdGVkIGFzc2VydEVxdWFs cyAodmlsbGUuc2t5dHRhKQorLSBTcGVsbGluZyBmaXhlcyAodmlsbGUuc2t5dHRhKQorLSBBZGQg bWlzc2luZyBkZXBlbmRlbmNpZXMgdG8gc2V0dXAucHkgKHZpbGxlLnNreXR0YSkKKy0gQWRkIHRl c3RzIGZvciBjbG9uaW5nIHdpdGggYSBuYW1lc3BhY2UgKGxzZWRsYXIpCistIEZpeCBjbG9uaW5n IHdpdGggLUIgYW5kIG5hbWVzcGFjZWQgbW9kdWxlIChsc2VkbGFyKQorLSBBZGp1c3QgZmlndXJp bmcgb3V0IHRoZSBwYXRoIG9mIHRoZSBnaXQgcmVwbyBjbG9uZWQgKHBpbmdvdSkKKy0gT25seSBj bG9uZSBpbnRvIHRoZSBiYXJlX2RpciBpZiBubyB0YXJnZXQgd2FzIHNwZWNpZmllZCAocGluZ291 KQorLSBBZGQgdG8gdGhlIENMSSB0aGUgcG9zc2liaWxpdHkgdG8gc3BlY2lmeSBhIHRhcmdldCBm b2xkZXIgZm9yIHRoZSBjbG9uZQorICAocGluZ291KQorLSBBZGQgdW5pdC10ZXN0cyBmb3IgY2xv bmluZyBpbnRvIGEgc3BlY2lmaWVkIGRpcmVjdG9yeSAocGluZ291KQorLSBMZXQgcnBrZyBzdXBw b3J0IGNsb25pbmcgaW50byBhIHNwZWNpZmllZCBkaXJlY3RvcnkgKHBpbmdvdSkKKy0gUHl0aG9u IDMgZml4ZXMgKHZpbGxlLnNreXR0YSkKKy0gcmV3cml0ZSB0ZXN0X2NvbW1hbmRzLnNldHVwX21v ZHVsZSB1c2luZyBnaXQgKGNxaSkKKy0gTWVyZ2UgIzQwIGBwdXNoOiBjaGVjayBmb3IgbWlzc2lu ZyBwYXRjaGVzYCAobHVib21pci5zZWRsYXIpCisKKyogVGh1IEp1biAwMiAyMDE2IEx1Ym9tw61y IFNlZGzDocWZIDxsc2VkbGFyQHJlZGhhdC5jb20+IC0gMS40NC0xCistIExvZyBjb250YWluZXIt YnVpbGQgdGFzayByZXN1bHRzIChsdWNhcnZhbCkKKy0gQWRkIHN1cHBvcnQgZm9yIEJ1aWxkQ29u dGFpbmVyIHJlbGVhc2UgdGFzayBvcHQgKGx1Y2FydmFsKQorLSBoYW5kbGUgZXhjZXB0aW9uIGZy b20gZ2V0VGFza0luZm8gY29ycmVjdGx5IChjcWkpCistIGZpeCBmYWlsdXJlIG9mIHRlc3RfbG9h ZF9zcGVjX3doZXJlX3BhdGhfY29udGFpbnNfc3BhY2Ugb24gUkhFTCAoY3FpKQorLSBhbGxvdyBz cGFjZSBhcHBlYXJpbmcgaW4gcGF0aCB0byBjbG9uZWQgcmVwbyAoY3FpKQorLSBmaXggZG9jc3Ry aW5nIG9mIENvbW1hbmRzLmNvbXBpbGUgKGNxaSkKKy0gTWFrZSAnRmFpbGVkIHRvIGdldCBuc19t b2R1bGVfbmFtZSBmcm9tIEdpdCB1cmwgb3IgcHVzaHVybCcgbWVzc2FnZSBhIHdhcm5pbmcKKyAg KGlzc3VlICM0MikgKG9yaW9uKQorLSBweXJwa2c6IHVzZSBnaXQgcmVtb3RlIGdldC11cmwgLS1w dXNoIChtYXRoc3R1ZikKKworKiBXZWQgTWFyIDIzIDIwMTYgTHVib23DrXIgU2VkbMOhxZkgPGx1 Ym9taXIuc2VkbGFyQGdtYWlsLmNvbT4gLSAxLjQzLTEKKy0gUHJpbnQgd2FybmluZyB3aGVuIHVz aW5nIG9sZCBnaXQgY29uZmlndXJhdGlvbiAobHNlZGxhcikKKy0gQWRkIHJwbXMgbmFtZXNwYWNl IGZvciBjaGVja291dHMgd2l0aG91dCBuYW1lc3BhY2UgKGxzZWRsYXIpCisKKyogV2VkIE1hciAx NiAyMDE2IEx1Ym9tw61yIFNlZGzDocWZIDxsdWJvbWlyLnNlZGxhckBnbWFpbC5jb20+IC0gMS40 Mi0xCistIEZpeCBwcm9ibGVtcyB3aXRoIG5hbWVzcGFjaW5nIChtYXhhbWlsbGlvbikKKworKiBN b24gTWFyIDE0IDIwMTYgTHVib23DrXIgU2VkbMOhxZkgPGx1Ym9taXIuc2VkbGFyQGdtYWlsLmNv bT4gLSAxLjQxLTIKKy0gRGVwZW5kIG9uIHB5dGhvbi1vc2JzIGRpcmVjdGx5IHRvIGF2b2lkIHB5 dGhvbjMKKworKiBNb24gTWFyIDE0IDIwMTYgTHVib23DrXIgU2VkbMOhxZkgPGx1Ym9taXIuc2Vk bGFyQGdtYWlsLmNvbT4gLSAxLjQxLTEKKy0gVXBkYXRlIHVwc3RyZWFtIFVSTCAobHNlZGxhcikK Ky0gRml4ZXMgYmFzZWQgb24gbHNlZGxhcidzIGZlZWRiYWNrIChtYXhhbWlsbGlvbikKKy0gYWRk IGRpc3RnaXQgbmFtZXNwYWNpbmcgZm9yIG5vbi1ycG0gY29udGVudCAoZG9ja2VyLCB4ZGctYXBw LCBldGMpIChtYXhhbWlsbGlvbikKKy0gQ29udGFpbmVyLWJ1aWxkOiBkb250J3QgYWxsb3cgdG8g YnVpbGQgd2l0aCB1bnB1c2hlZCBjaGFuZ2VzIChhcmFzemthKQorLSBTdWdnZXN0IC0tZGlzdCBv cHRpb24gd2hlbiBjYW4ndCBnZXQgT1MgdmVyIGZyb20gYnJhbmNoIChhcmFzemthKQorLSBmaXg6 IHByaW50IGFsbCB0YWdzIHdpdGhvdXQgZmlsdGVyIChhcmFzemthKQorLSBGaXggbG9va2FzaWRl IHVwbG9hZCB3aGVuIC0tcGF0aCBpcyBzcGVjaWZpZWQgKGFyYXN6a2EpCistIExvb2thc2lkZTog ZW5jb2RpbmcgcmVwbyBuYW1lIHRvIFVURi04IChhcmFzemthKQorLSBGaXggZXJyb3JzIG9uIFB5 dGhvbiAyLjYgKGxzZWRsYXIpCistIEFkZCB0ZXN0IGFuZCBkb2NzdHJpbmcgdG8gYnl0ZSBvZmZz ZXQgY29udmVydG9yIChhcmFzemthKQorLSBEZWNvZGUgLnNwZWMgZmlsZSB3aXRoIFVURi04IChh cmFzemthKQorLSAxMjcxNzQxIC0gYWRkIGNvcHIgY29tbWFuZCAoUmVjb21tZW5kczogY29wci1j bGkpIChtc3VjaHkpCistIFN1Z2dlc3QgLS10YXJnZXQgb3B0aW9uIHdoZW4gdW5rbm93biB0YXJn ZXQgKGFyYXN6a2EpCisKKyogVGh1IEZlYiAwNCAyMDE2IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVy aW5nIDxyZWxlbmdAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS40MC0yCistIFJlYnVpbHQgZm9yIGh0 dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjRfTWFzc19SZWJ1aWxkCisKKyog RnJpIE9jdCAyMyAyMDE1IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUByZWRoYXQuY29tPiAtIDEu NDAtMQorLSBkb24ndCB1c2UgYXNzZXJ0UmFpc2VzICh0dG9tZWNlaykKKy0gcmVmYWN0b3IgdGVz dF9jbG9uZTogc2V0IGNsb25lIGNvbmZpZyBpbiB0aGUgc2FtZSB0ZXN0IGZpbGUgKHBiYWJpbmNh KQorLSBGaXggY2xvbmUgdGVzdCB0byBub3QgdXNlIGNvbnN0cnVjdG9yIHRvIHNldCBjbG9uZV9j b25maWcgKHBiYWJpbmNhKQorLSBGaXggdGVzdCBjbG9uZSB0ZXN0IChwYmFiaW5jYSkKKy0gTWFr ZSB1c2Ugb2YgY2xvbmVfY29uZmlnIGF0dHJpYnV0ZSBiYWNrd2FyZHMgY29tcGF0aWJsZSAocGJh YmluY2EpCisKKyogVGh1IE9jdCAyMiAyMDE1IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUByZWRo YXQuY29tPiAtIDEuMzktMQorLSBSZXBsYWNlIGRlcHJlY2F0ZWQgQmFzZUV4Y2VwdGlvbi5tZXNz YWdlIHdpdGggc3RyKEJhc2VFeGNlcHRpb24pIChwYmFiaW5jYSkKKy0gRG9uJ3QgcHJpbnQgZXhj ZXB0aW9uIG1lc3NhZ2UgZHVyaW5nIGNoZWNrIHJlcG8gdGVzdHMgKHBiYWJpbmNhKQorLSBBZGQg c3VwcG9ydCBmb3Igc2V0dGluZyBwb3N0LWNsb25lIGdpdCBjb25maWcgKHZpbGxlLnNreXR0YSkK KworKiBXZWQgT2N0IDIxIDIwMTUgUGF2b2wgQmFiaW5jYWsgPHBiYWJpbmNhQHJlZGhhdC5jb20+ IC0gMS4zOC0xCistIEZpeCBwYXJzZSBlcnJvciAocGJhYmluY2EpCisKKyogV2VkIE9jdCAyMSAy MDE1IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUByZWRoYXQuY29tPiAtIDEuMzctMQorLSBBZGQg c3VwcG9ydCBmb3IgLS1ub2NoZWNrIChvcmlvbikKKy0gY29udGFpbmVyLWJ1aWxkOiBjaGVjayBy ZXBvICh0dG9tZWNlaykKKy0gbW92ZSByZXBvIGNoZWNraW5nIHRvIGEgbWV0aG9kICh0dG9tZWNl aykKKy0gQWRkICdveHQnIGFuZCAneHBpJyBleHRlbnNpb25zIHRvIFVQTE9BREVYVFMgKGRzaWxh a292KQorLSBTd2l0Y2gtYnJhbmNoOiBnaXZlIG1vcmUgaW5mbyBhYm91dCBlcnJvciAoYXJhc3pr YSkKKy0gUmVjb2duaXplIGJpbmFyeSBmaWxlcyB3aXRoIC5veHQgYW5kIC54cGkgZXh0ZW5zaW9u cyAoZHNpbGFrb3YpCistIENvbnRhaW5lci1idWlsZDogYWRkIC0tbm93YWl0IG9wdGlvbiAoYXJh c3prYSkKKy0gYmFzaCBhdXRvY29tcGxldGlvbjogc3VwcG9ydCBmb3IgY29tbWFuZCBjb250YWlu ZXItYnVpbGQtY29uZmlnIChwYmFiaW5jYSkKKy0gSW1wbGVtZW50IGdldHRlciBmb3IgYXV0b3Jl YnVpbGQgdmFsdWUsIHVzZSAndHJ1ZScgYW5kICdmYWxzZScgZm9yIHZhbHVlcworICAoYmthYnJk YSkKKy0gQWRkIGEgY29tbWFuZCBhbmQgb3B0aW9uIHRvIGNoYW5nZSBjb250YWluZXIgYnVpbGQg c2V0dXAgKGJrYWJyZGEpCistIEVkaXQgdGVzdHMgZm9yIHB5dGhvbjIuNiAtIEVMNiAoYXJhc3pr YSkKKy0gdGVzdHM6IERvbid0IHVzZSBhc3NlcnROb3RJbiAoYXJhc3prYSkKKy0gdGVzdHM6IERv bid0IHVzZSBhc3NlcnRSYWlzZXMgYXMgY29udGV4dCBtYW5hZ2VyIChhcmFzemthKQorLSB0ZXN0 czogRG9uJ3QgdXNlIGNoZWNrX291dHB1dCAoYXJhc3prYSkKKy0gVHlwbyBpbiBpbXBvcnQgLS1o ZWxwIGRlc2NyaXB0aW9ucyAoYXJhc3prYSkKKy0gY2hhbmdlIHRoZSB1cmwgZm9yIHJwa2cgKGRl bm5pcykKKworKiBXZWQgSnVsIDE1IDIwMTUgUGF2b2wgQmFiaW5jYWsgPHBiYWJpbmNhQHJlZGhh dC5jb20+IC0gMS4zNi0xCistIGNvbnRhaW5lci1idWlsZDogc3VwcG9ydCB5dW0gcmVwb3Mgd2l0 aCAtLWJ1aWxkLXdpdGg9a29qaSAocGJhYmluY2EpCistIGNvbnRhaW5lci1idWlsZDogbW92ZSAt LXNjcmF0Y2ggb3B0aW9uIHRvIGtvamkgZ3JvdXAgKHBiYWJpbmNhKQorLSBQcmludCB0YXNrIGlu Zm8gZm9yIGNvbnRhaW5lci1idWlsZCAocGJhYmluY2EpCisKKyogVGh1IEp1biAxOCAyMDE1IEZl ZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3Jn PiAtIDEuMzUtMworLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kv RmVkb3JhXzIzX01hc3NfUmVidWlsZAorCisqIFR1ZSBNYXkgMjYgMjAxNSBEZW5uaXMgR2lsbW9y ZSA8ZGVubmlzQGF1c2lsLnVzPiAtIDEuMzUtMgorLSBweXJwa2cgUmVxdWlyZXMgcHl0aG9uLW9z YnMKKworKiBUdWUgTWF5IDI2IDIwMTUgUGF2b2wgQmFiaW5jYWsgPHBiYWJpbmNhQHJlZGhhdC5j b20+IC0gMS4zNS0xCistIFRlc3QgZm9yIHNjcmF0Y2ggb3B0IGluIHRoZSBhY3R1YWwgYXJndW1l bnQgb2YgY29udGFpbmVyX2J1aWxkX2tvamkKKyAgKHBiYWJpbmNhKQorLSBNb3ZlIHRoZSBHaXRJ Z25vcmUgY2xhc3MgdG8gaXRzIG93biBtb2R1bGUgKGJvY2hlY2hhKQorLSBNb2Rlcm5pemUgdGhl IGdpdGlnbm9yZS1oYW5kbGluZyBjb2RlIChib2NoZWNoYSkKKy0gZ2l0aWdub3JlOiBQcm9wZXJs eSBoYW5kbGUgYWRkaW5nIG1hdGNoaW5nIGxpbmVzIChib2NoZWNoYSkKKy0gUmVmYWN0b3I6IHJl bW92ZSB1bm5lY2Vzc2FyeSBjb2RlIChwYmFiaW5jYSkKKy0gTW92ZSBjdXN0b20gVW5rbm93blRh cmdldEVycm9yIHRvIGVycm9ycyBtb2R1bGUgKHBiYWJpbmNhKQorLSBOZXcgY29tbWFuZDogY29u dGFpbmVyLWJ1aWxkIChqbHV6YSkKKy0gbG9va2FzaWRlOiBUYWtlIG92ZXIgZmlsZSB1cGxvYWRz IChib2NoZWNoYSkKKy0gUmVtb3ZlIHVubmVjZXNzYXJ5IGxvZyBtZXNzYWdlIChib2NoZWNoYSkK Ky0gU3RvcCBtYWtpbmcgc291cmNlIGZpbGVzIHJlYWQtb25seSAoYm9jaGVjaGEpCistIERyb3Ag c29tZSB1c2VsZXNzIGNvbW1lbnRzIChib2NoZWNoYSkKKy0gT25seSByZXBvcnQgd2UncmUgdXBs b2FkaW5nIHdoZW4gd2UgYWN0dWFsbHkgYXJlIChib2NoZWNoYSkKKy0gbG9va2FzaWRlOiBDaGVj ayBpZiBhIGZpbGUgYWxyZWFkeSB3YXMgdXBsb2FkZWQgKGJvY2hlY2hhKQorLSBsb29rYXNpZGU6 IEFsbG93IGNsaWVudC1zaWRlIGFuZCBjdXN0b20gQ0EgY2VydGlmaWNhdGVzIChib2NoZWNoYSkK Ky0gbG9va2FzaWRlOiBCZSBtb3JlIGZsZXhpYmxlIHdoZW4gYnVpbGRpbmcgdGhlIGRvd25sb2Fk IFVSTCAoYm9jaGVjaGEpCistIGxvb2thc2lkZTogVXNlIHRoZSBoYXNodHlwZSBmb3IgdGhlIFVS TCBpbnRlcnBvbGF0aW9uIChib2NoZWNoYSkKKy0gbG9va2FzaWRlOiBBZGQgYSBwcm9ncmVzcyBj YWxsYmFjayAoYm9jaGVjaGEpCistIGxvb2thc2lkZTogSGFuZGxlIGRvd25sb2FkaW5nIG9mIHNv dXJjZSBmaWxlcyAoYm9jaGVjaGEpCistIGxvb2thc2lkZTogTW92ZSBoYW5kbGluZyBvZiBmaWxl IHZlcmlmaWNhdGlvbiAoYm9jaGVjaGEpCistIGxvb2thc2lkZTogTW92ZSBoYW5kbGluZyBvZiBm aWxlIGhhc2hpbmcgKGJvY2hlY2hhKQorLSB1dGlsczogQWRkIGEgbmV3IHdhcm5fZGVwcmVjYXRl ZCBoZWxwZXIgKGJvY2hlY2hhKQorLSBBZGQgYSBuZXcgbG9va2FzaWRlIG1vZHVsZSAoYm9jaGVj aGEpCistIEFkZCBhIG5ldyB1dGlscyBtb2R1bGUgKGJvY2hlY2hhKQorLSBQcm9wZXJseSBzZXQg dGhlIGxvZ2dlciAoYm9jaGVjaGEpCistIE1vdmUgb3VyIGN1c3RvbSBlcnJvcnMgdG8gdGhlaXIg b3duIG1vZHVsZSAoYm9jaGVjaGEpCistIERvbid0IGFzc3VtZSBNRDUgZm9yIHRoZSBsb29rYXNp ZGUgY2FjaGUgKGJvY2hlY2hhKQorLSBSZW1vdmUgZGVhZCBjb2RlIChib2NoZWNoYSkKKy0gVXNl IHRoZSBwcm9wZXIgZXhjZXB0aW9uIHN5bnRheCAoYm9jaGVjaGEpCisKKyogVGh1IEFwciAxNiAy MDE1IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUByZWRoYXQuY29tPiAtIDEuMzQtMQorLSB0ZXN0 czogRG9uJ3QgdXNlIGFzc2VydElzTm9uZSAoYm9jaGVjaGEpCistIHRlc3RzOiBEb24ndCB1c2Ug YXNzZXJ0UmFpc2VzIGFzIGEgY29udGV4dCBtYW5hZ2VyIChib2NoZWNoYSkKKy0gQWRkIGxvbmcg LS12ZXJib3NlIG9wdGlvbiB0byAtdiwgbmV3IC0tZGVidWcgYW5kIC1kIG9wdGlvbiAocGJhYmlu Y2EpCisKKyogTW9uIEFwciAxMyAyMDE1IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUByZWRoYXQu Y29tPiAtIDEuMzMtMQorLSBOZXcgbW9ja2J1aWxkIG9wdGlvbnM6IC0tbm8tY2xlYW4gLS1uby1j bGVhbnVwLWFmdGVyIChqc2thcnZhZCkKKy0gQ2F0Y2ggc3NsIGF1dGggcHJvYmxlbXMgYW5kIHBy aW50IG1vcmUgaGVscGZ1bCBtZXNzYWdlcyAocGJhYmluY2EpCistIE5ldyBleGNlcHRpb24gLSBy cGtnQXV0aEVycm9yIHRvIGFsbG93IGNsaWVudHMgZGV0ZWN0IGF1dGggcHJvYmxlbXMKKyAgKHBi YWJpbmNhKQorCisqIE1vbiBNYXIgMjMgMjAxNSBQYXZvbCBCYWJpbmNhayA8cGJhYmluY2FAcmVk aGF0LmNvbT4gLSAxLjMyLTEKKy0gdGVzdHM6IFByb3Blcmx5IG9wZW4vY2xvc2UgdGhlIGZpbGUg KGJvY2hlY2hhKQorLSBzb3VyY2VzOiBTdXBwb3J0IHdyaXRpbmcgaW4gZWl0aGVyIHRoZSBvbGQg b3IgbmV3IGZvcm1hdCAoYm9jaGVjaGEpCistIHNvdXJjZXM6IFJlaW5kZW50IGNvZGUgKGJvY2hl Y2hhKQorCisqIEZyaSBNYXIgMDYgMjAxNSBQYXZvbCBCYWJpbmNhayA8cGJhYmluY2FAcmVkaGF0 LmNvbT4gLSAxLjMxLTEKKy0gUmVmYWN0b3I6IHJlbW92ZSB1bnVzZWQgaW1wb3J0cyBmcm9tIHRl c3Rfc291cmNlcyAocGJhYmluY2EpCistIERvbid0IGRvIHNldmVyYWwgdGltZXMgdGhlIHNhbWUg dGhpbmcgKGJvY2hlY2hhKQorLSBzb3VyY2VzOiBGb3JiaWQgbWl4aW5nIGhhc2ggdHlwZXMgKGJv Y2hlY2hhKQorLSBzb3VyY2VzOiBNb3ZlIHRvIHRoZSBuZXcgZmlsZSBmb3JtYXQgKGJvY2hlY2hh KQorLSBSZXdyaXRlIHRoZSBzb3VyY2VzIG1vZHVsZSAoYm9jaGVjaGEpCisKKyogV2VkIERlYyAw MyAyMDE0IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUByZWRoYXQuY29tPiAtIDEuMzAtMgorLSBV c2UgJSV7X19weXRob259IGluc3RlYWQgb2YgJSV7X19weXRob24yfSBhcyBpdCBtaWdodCBiZSBu b3QgZGVmaW5lZAorCisqIFdlZCBPY3QgMDggMjAxNCBQYXZvbCBCYWJpbmNhayA8cGJhYmluY2FA cmVkaGF0LmNvbT4gLSAxLjMwLTEKKy0gYWRkIHB5dGhvbi1ub3NlIGFzIEJ1aWxkUmVxdWlyZXMg YXMgcnVuIHRlc3RzIGluIGNoZWNrIHNlY3Rpb24gKHBiYWJpbmNhKQorLSBwYXNzIGV4dHJhIGRh dGEgdG8gdGhlIENvbW1hbmRzIG9iamVjdCB2aWEgcHJvcGVydGllcyBpbnN0ZWFkIG9mIF9faW5p dF9fKCkKKyAgKG1pa2ViKQorLSBjbGVhbiB1cCBLb2ppIGxvZ2luLCBhbmQgcHJvcGVybHkgc3Vw cG9ydCBwYXNzd29yZCBhdXRoIChtaWtlYikKKy0gYWRkIC0tcnVuYXMgb3B0aW9uIChtaWtlYikK Ky0gcnVuIG9zLnBhdGguZXhwYW5kdXNlciBvbiB0aGUga29qaWNvbmZpZyBhdHRyaWJ1dGUgaW4g Y2FzZSB0aGUgcGF0aCBpcyBpbiB0aGUKKyAgdXNlcidzIGhvbWUgZGlyZWN0b3J5IChic3RpbnNv bikKKy0gT3ZlcnJpZGUgR0lUX0VESVRPUiBpbiB0ZXN0cyAocGJhYmluY2EpCistIE1hc3NpdmUg Rmxha2U4IGZpeCAoYm9jaGVjaGEpCistIEZpeCBzb21lIG1vcmUgRmxha2U4IGlzc3VlcyAoYm9j aGVjaGEpCistIEZpeCBzb21lIGZsYWtlOCBpc3N1ZXMgKGJvY2hlY2hhKQorLSBTaW1wbGlmeSBz b21lIGNvZGUgKGJvY2hlY2hhKQorLSBGaXggdHlwbyAoYm9jaGVjaGEpCistIHRlc3RzOiBFbnN1 cmUgZnVuY3Rpb25pbmcgb2YgQ29tbWFuZHMubGlzdF90YWcgKGJvY2hlY2hhKQorLSBsaXN0X3Rh Z3M6IFN0b3AgZXhlY3V0aW5nIGEgY29tbWFuZCAoYm9jaGVjaGEpCistIGxpc3RfdGFnczogRml4 IHRoZSBkb2NzdHJpbmcgKGJvY2hlY2hhKQorLSBkZWxldGVfdGFnOiBTdG9wIGV4ZWN1dGluZyBh IGNvbW1hbmQgKGJvY2hlY2hhKQorLSB0ZXN0czogRW5zdXJlIGZ1bmN0aW9uaW5nIG9mIENvbW1h bmRzLmRlbGV0ZV90YWcgKGJvY2hlY2hhKQorLSBhZGRfdGFnOiBSdW4gdGhlIHRhZyBjb21tYW5k IGluIHRoZSByaWdodCBkaXJlY3RvcnkgKGJvY2hlY2hhKQorLSB0ZXN0czogRW5zdXJlIHByb3Bl ciBmdW5jdGlvbmluZyBvZiBDb21tYW5kcy5hZGRfdGFnIChib2NoZWNoYSkKKy0gdGVzdHM6IEZh Y3RvciBvdXQgc29tZSBjb2RlIChib2NoZWNoYSkKKy0gdGVzdHM6IEVuc3VyZSBmdW5jdGlvbmlu ZyBvZiBDb21tYW5kcy5jbG9uZSAoYm9jaGVjaGEpCistIGdpdGlnbm9yZTogTWFrZSBzdXJlIGVh Y2ggbGluZSBlbmRzIHdpdGggYSBcbiAoYm9jaGVjaGEpCistIGdpdGlnbm9yZTogV2UncmUgbm90 IG1vZGlmaWVkIGFueSBtb3JlIGFmdGVyIHdlIHdyb3RlIHRvIGRpc2sgKGJvY2hlY2hhKQorLSB0 ZXN0czogRW5zdXJlIHByb3BlciBmdW5jdGlvbmluZyBvZiBHaXRJZ25vcmUgKGJvY2hlY2hhKQor LSB0ZXN0czogVXNlIG5vc2UgKGJvY2hlY2hhKQorLSBSZW1vdmUgdW51c2VkIGltcG9ydCAoYm9j aGVjaGEpCistIFNvbWUgbW9yZSBQRVA4IChib2NoZWNoYSkKKy0gQWRkIGNsYXNzaWZpZXJzIHRv IHNldHVwLnB5IChwYmFiaW5jYSkKKy0gQWRkIG5ldyBzb3VyY2VzIGZpbGUgcGFyc2VyIGV2ZW4g d2l0aCB1bml0IHRlc3RzIChwYmFiaW5jYSkKKy0gSWYgc291cmNlIGZpbGUgZG9lc24ndCBleGlz dCBjb250aW51ZSB3aXRob3V0IGRvd25sb2FkaW5nIGZpbGVzIChwYmFiaW5jYSkKKy0gUmVmb3Jt YXQgc2V0dXAucHkgdG8gYmUgY29tcGxpYW50IHdpdGggUEVQIDggKHBiYWJpbmNhKQorCisqIFR1 ZSBTZXAgMzAgMjAxNCBQYXZvbCBCYWJpbmNhayA8cGJhYmluY2FAcmVkaGF0LmNvbT4gLSAxLjI4 LTEKKy0gQ29tcGFyZSBmdWxsZXIgcmVtb3RlIGJyYW5jaCBuYW1lIHdpdGggbG9jYWwgYnJhbmNo IGJlZm9yZSBidWlsZAorCisqIEZyaSBTZXAgMjYgMjAxNCBQYXZvbCBCYWJpbmNhayA8cGJhYmlu Y2FAcmVkaGF0LmNvbT4gLSAxLjI3LTEKKy0gRXhwbGljaXRseSBkZWZpbmUgcHlycGtnJ3MgY2xp ZW50IG5hbWUgZm9yIG1hbiBwYWdlcyAocGJhYmluY2EpCistIFJlZmFjdG9yIG1vY2sgcmVzdWx0 cyBkaXIgdG8gcHJvcGVydHkgKHBiYWJpbmNhKQorLSBBZGQgc2tpcC1kaWZmcyBvcHRpb24gZm9y IGltcG9ydF9zcnBtcyAobGFycykKKy0gUHJvcGVybHkgcmVtb3ZlIHBvc3NpYmxlIC5weSB3aGVu IGNyZWF0aW5nIG1hbiBwYWdlcyAobGFycykKKy0gUHJvY2VzcyBzcnBtIGltcG9ydHMgdG8gZW1w dHkgcmVwb3NpdG9yaWVzIG1vcmUgZXhwbGljaXRseSAocGJhYmluY2EpCistIE1ha2UgVVBMT0FE RVhUUyBhIGNsYXNzIHZhcmlhYmxlIHRoYXQgY2FuIGJlIGV4dGVuZGVkIChsYXJzKQorLSBJbnRy b2R1Y2Ugc2VsZi5kZWZhdWx0X2JyYW5jaF9yZW1vdGUgZm9yIGZyZXNoIGNsb25lcyAocGJhYmlu Y2EpCistIE9uIHNlbGYucGF0aCBjaGFuZ2UgcmVzZXQgcHJvcGVydGllcyB3aGljaCBjb3VsZCB1 c2VkIG9sZCB2YWx1ZSAocGJhYmluY2EpCistIFJlbW92ZSBlbXB0eSBlbnRyeSBmcm9tIGdpdCBs cy1maWxlcyB0byBub3QgY29uZnVzZSBmb2xsb3dpbmcgY29kZSAocGJhYmluY2EpCistIFJlbW92 ZSBmaWxlIG5hbWVzIGR1cmluZyBzcnBtIGltcG9ydCBpbiBtb3JlIGV4dGVuc2libGUgd2F5IChw YmFiaW5jYSkKKy0gRml4IGlzc3VlIGNhdXNpbmcgYWxsIGN1cnJlbnQgbG9jYWwgYnVpbGRzIHZp YSBmZWRwa2cgdG8gdXNlIG1kNSByYXRoZXIgdGhhbgorICBzaGEyNTYgKHNwb3QpCistIExpY2Vu c2UgcmVwbGFjZWQgd2l0aCBvZmZpY2lhbCBHUEwgMi4wIGxpY2Vuc2UgZnJvbSBnbnUub3JnIChw YmFiaW5jYSkKKy0gQWxsb3cgInJwa2cgY29tbWl0IC1zIiAocGpvbmVzKQorCisqIFR1ZSBKdWwg MjkgMjAxNCBQYXZvbCBCYWJpbmNhayA8cGJhYmluY2FAcmVkaGF0LmNvbT4gLSAxLjI2LTEKKy0g cnBrZyBkb2Vzbid0IGhhdmUgYSBweXRob24gbW9kdWxlIHNvIHVzZSBweXJwa2cgaW5zdGVhZCAo cGJhYmluY2EpCisKKyogVHVlIEp1bCAyOSAyMDE0IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUBy ZWRoYXQuY29tPiAtIDEuMjUtMQorLSAxLjI1IHJlbGVhc2UgKHBiYWJpbmNhKQorLSBOb3RlIHRv IGRvX2ltcG9ydHMoKSBkb2MuIChwYmFiaW5jYSkKKy0gQ2hhbmdlIGRlZmF1bHQgb3B0aW9uIGZv ciBzd2l0Y2gtYnJhbmNoIGZyb20gLS1uby1mZXRjaCB0byAtLWZldGNoIChwYmFiaW5jYSkKKy0g QWxsb3cgZGVmYXVsdCBuYW1lIG9mIHRoZSBsaWJyYXJ5IHRvIGJlIHNldCBieSBzdWJjbGFzc2Vz IChwYmFiaW5jYSkKKy0gVXNlIG5hbWUgYXR0cmlidXRlIG9mIGNsaUNsaWVudCB0byBnZXQgY29u ZmlndXJhdGlvbiAocGJhYmluY2EpCistIE1ha2Ugc2V0dXAucHkgZXhlY3V0YWJsZSAocGJhYmlu Y2EpCistIFVzZSBkaXJlY3QgZ2l0IGNhbGwgZm9yIGZldGNoZXMgKHBiYWJpbmNhKQorLSBQcmlu dCByZWFzb24gZm9yIGZhaWxlZCBzd2l0Y2gtYnJhbmNoIChwYmFiaW5jYSkKKy0gTWF0Y2ggd2hv bGUgYnJhbmNoIHdpdGggcmVtb3RlIG5hbWUgd2hlbiBzd2l0Y2hpbmcgYnJhbmNoIChwYmFiaW5j YSkKKy0gUmVmYWN0b3I6IGRlZHVwbGljYXRlIHJlbW90ZSAmIGJyYW5jaF9tZXJnZSAocGJhYmlu Y2EpCistIERlLWhhcmRjb2RlICdvcmlnaW4nIGFzIHRoZSByZW1vdGUgbmFtZSAoYm9jaGVjaGEp CistIEZhbGxiYWNrIHRoZSByZW1vdGUgb24gJ29yaWdpbicgKGJvY2hlY2hhKQorCisqIE1vbiBK dW4gMDkgMjAxNCBQYXZvbCBCYWJpbmNhayA8cGJhYmluY2FAcmVkaGF0LmNvbT4gLSAxLjI0LTEK Ky0gMS4yNCByZWxlYXNlIChwYmFiaW5jYSkKKy0gV29yayBhcm91bmQgc2lnbmVkIHNycG1zIChU aWxsIE1hYXMpCistIFByb3Blcmx5IHJhaXNlIHRoZSBlcnJvciAoYm9jaGVjaGEpCistIEFiaWxp dHkgdG8gc2tpcCBOVlIgY29uc3RydWN0aW9uIGFsdG9nZXRoZXIgZm9yIGJ1aWxkcyAocGJhYmlu Y2EpCistIElmIHdlIGZhaWxlZCB0byBwYXJzZSBOVlJFIGZyb20gcnBtIG91dHB1dCB1c2UgYmV0 dGVyIGVycm9yIG1lc3NhZ2UKKyAgKHBiYWJpbmNhKQorLSBJZiBjb21tYW5kIHRvIGdldCBOVlJF IHByaW50ZWQgYW55dGhpbmcgdG8gc3RkZXJyIGxvZyB0aGF0IGNvbW1hbmQgKHBiYWJpbmNhKQor LSBSZWZhY3RvcjogY29ycmVjdGx5IHNwbGl0IHN0cmluZyBvbiBtdWx0aSBsaW5lcyAocGJhYmlu Y2EpCistIFVzZSBudnJfY2hlY2sgYXMgYW4gb3B0aW9uYWwgYXJndW1lbnQgZm9yIGJ1aWxkIChw YmFiaW5jYSkKKy0gMS4yMyByZWxlYXNlIChwYmFiaW5jYSkKKy0gVXNlIG1vZHVsZV9uYW1lIHNl dHRlciBpbnN0ZWFkIG9mIGNvbnN0cnVjdG9yIHBhcmFtZXRlciAocGJhYmluY2EpCistIFNldCBw dXNodXJsICYgYnJhbmNoX3JlbW90ZSBieSBkZWZhdWx0IChwYmFiaW5jYSkKKy0gMS4yMiByZWxl YXNlIChwYmFiaW5jYSkKKy0gRGVmaW5lIG1vZHVsZSBuYW1lIGZyb20gY29tbWFuZCBsaW5lLCBn aXQgdXJsIGFuZCBsYXN0bHkgZnJvbSBzcGVjIChwYmFiaW5jYSkKKy0gUmV2ZXJ0ICJEZWZpbmUg bW9kdWxlIG5hbWUgZnJvbSBjb21tYW5kIGxpbmUsIGdpdCB1cmwgYW5kIGxhc3RseSBmcm9tIHNw ZWMiCisgIChwYmFiaW5jYSkKKworKiBTdW4gSnVuIDA4IDIwMTQgRmVkb3JhIFJlbGVhc2UgRW5n aW5lZXJpbmcgPHJlbC1lbmdAbGlzdHMuZmVkb3JhcHJvamVjdC5vcmc+IC0gMS4yMS0yCistIFJl YnVpbHQgZm9yIGh0dHBzOi8vZmVkb3JhcHJvamVjdC5vcmcvd2lraS9GZWRvcmFfMjFfTWFzc19S ZWJ1aWxkCisKKyogTW9uIE1hciAyNCAyMDE0IFBhdm9sIEJhYmluY2FrIDxwYmFiaW5jYUByZWRo YXQuY29tPiAtIDEuMjEtMQorLSBSZWZhY3Rvcjogc3BsaXQgc3RyaW5ncyBvbiBtdWx0aSBsaW5l cyB3aXRob3V0IHNwYWNlcyBmcm9tIGluZGVudGF0aW9uCisgIChwYmFiaW5jYSkKKy0gUmVmYWN0 b3I6IHJlbW92ZSBzcGFjZXMgYXQgdGhlIGVuZCBvZiBsaW5lcyAocGJhYmluY2EpCistIERlZmlu ZSBtb2R1bGUgbmFtZSBmcm9tIGNvbW1hbmQgbGluZSwgZ2l0IHVybCBhbmQgbGFzdGx5IGZyb20g c3BlYyAocGJhYmluY2EpCistIE9wdGlvbiB0byBza2lwIE5WUiBleGlzdGVuY2UgY2hlY2sgaW4g YnVpbGQgc3lzdGVtIGJlZm9yZSBidWlsZCAocGJhYmluY2EpCistIEFkZCBhbiAnZXBvY2gnIHBy b3BlcnR5IHRvIHB5cnBrZy5Db21tYW5kcyAoYm9jaGVjaGEpCistIEZldGNoIHJlbW90ZXMgYmVm b3JlIHN3aXRjaC1icmFuY2ggYnkgZGVmYXVsdCAocGJhYmluY2EpCistIFByb3RlY3Qgcmhwa2cn cyAtLWFyY2hlcyBhcmd1bWVudCAocGJhYmluY2EpCisKKyogVHVlIEZlYiAxOCAyMDE0IERlbm5p cyBHaWxtb3JlIDxkZW5uaXNAYXVzaWwudXM+IC0gMS4yMC0xCistIHJlYWQga3Jic2VydmljZSBm cm9tIHRoZSBrb2ppIGNvbmZpZyBmaWxlIChkZW5uaXMpCistIFdlIGNhbiBhc3N1bWUgdGhhdCBy cGtnIGlzIGluc3RhbGxlZCBpZiB0aGUgKHZpbGxlLnNreXR0YSkKKy0gY2xvZzogRG9uJ3QgcmVx dWlyZSBlbXB0eSBsaW5lIGJldHdlZW4gY2hhbmdlbG9nIGVudHJpZXMuICh2aWxsZS5za3l0dGEp CistIFNwZWxsaW5nIGZpeGVzLiAodmlsbGUuc2t5dHRhKQorLSBleHBhbmQgJSV7bmFtZX0gYW5k ICUle3Zlcmlvbn0gbWFjcm9zIHdoZW4gY2hlY2tpbmcgZm9yIHVudXNlZF9wYXRjaGVzIGNoZWNr CisgIGZvciAucGF0Y2ggYW5kIC5kaWZmIGZpbGVzIGFzIHBhdGNoZXMgKGRlbm5pcykKKy0gY2xl YW4gdXAgc29tZSBsYW5ndWFnZSBhbWJpZ3VpdGllcyAoZGVubmlzKQorLSBjbG9nOiBTdXBwb3J0 ICUlY2hhbmdlbG9nIHRhZyB3cml0dGVuIGluIG5vbi1sb3dlcmNhc2UuICh2aWxsZS5za3l0dGEp CistIGFkZCBzcGtnIGFzIGEgYmluYXJ5IGZpbGUgZXh0ZW50aW9uIHJoYnojOTcyOTAzIChkZW5u aXMpCistIEZpeGVkIHZlcnNpb24gdG8gMS4xOSAocGJhYmluY2EpCistIERvbid0IHRyYWNrIHNw ZWMgZmlsZSBoZXJlIChwYmFiaW5jYSkKKy0gMS4yMCAocGJhYmluY2EpCistIE1vY2sgY29uZmln IHRlbXAgZGlyIGluIHRoZSBmb3JtICQodGFyZ2V0KS0kKGxvY2FsYXJjaCkuJChta3RlbXApbW9j a2NvbmZpZworICAocGJhYmluY2EpCisKKyogU3VuIEF1ZyAwNCAyMDEzIEZlZG9yYSBSZWxlYXNl IEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qub3JnPiAtIDEuMTktMgor LSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dpa2kvRmVkb3JhXzIwX01h c3NfUmVidWlsZAorCisqIE1vbiBBcHIgMDggMjAxMyBQYXZvbCBCYWJpbmNhayA8cGJhYmluY2FA cmVkaGF0LmNvbT4gLSAxLjE5LTEKKy0gR2VuZXJhdGUgbW9jay1jb25maWcgZm9yIG1vY2tidWls ZCBpZiBuZWVkZWQgKHJoYnojODU2OTI4KSAocGJhYmluY2EpCisKKyogVGh1IEZlYiAxNCAyMDEz IEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9yYXByb2plY3Qu b3JnPiAtIDEuMTgtNAorLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2plY3Qub3JnL3dp a2kvRmVkb3JhXzE5X01hc3NfUmVidWlsZAorCisqIEZyaSBBdWcgMTAgMjAxMiBSb2JlcnQgU2No ZWNrIDxyb2JlcnRAZmVkb3JhcHJvamVjdC5vcmc+IC0gMS4xOC0zCistIFJlcXVpcmUgJSV7dmVy c2lvbn0tJSV7cmVsZWFzZX0gcmF0aGVyICUle25hbWV9LSUle3ZlcnNpb259CisKKyogU2F0IEp1 bCAyMSAyMDEyIEZlZG9yYSBSZWxlYXNlIEVuZ2luZWVyaW5nIDxyZWwtZW5nQGxpc3RzLmZlZG9y YXByb2plY3Qub3JnPiAtIDEuMTgtMgorLSBSZWJ1aWx0IGZvciBodHRwczovL2ZlZG9yYXByb2pl Y3Qub3JnL3dpa2kvRmVkb3JhXzE4X01hc3NfUmVidWlsZAorCisqIE1vbiBBcHIgMTYgMjAxMiBK ZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAtIDEuMTgtMQorLSBVc2UgcnBtZGVm aW5lcyB3aGVuIHF1ZXJ5aW5nIGZvciBwYWNrYWdlIG5hbWUKKworKiBNb24gQXByIDA5IDIwMTIg SmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSAxLjE3LTEKKy0gRG9uJ3QgYXNz dW1lIG1hc3RlciBicmFuY2ggZm9yIGNoYWluIGJ1aWxkcyAoamtlYXRpbmcpCisKKyogTW9uIE1h ciAyNiAyMDEyIEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+IC0gMS4xNi0xCist IE9ubHkgcmVhZCBmcm9tIC5rb2ppL2NvbmZpZyAoamtlYXRpbmcpCisKKyogV2VkIE1hciAyMSAy MDEyIEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+IC0gMS4xNS0xCistIEZpeCBi cmFuY2ggcHVzaCB3YXJuaW5nIChqa2VhdGluZykKKy0gSGFuZGxlIENWUyBiYXNlZCBidWlsZHMg d2hlbiBnZXR0aW5nIGJ1aWxkIGhhc2ggKGprZWF0aW5nKQorCisqIE1vbiBNYXIgMTIgMjAxMiBK ZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAtIDEuMTQtMQorLSBXYXJuIGlmIHRo ZSBjaGVja2VkIG91dCBicmFuY2ggY2Fubm90IGJlIHB1c2hlZCAoamtlYXRpbmcpCistIFdhcm4g aWYgY29tbWl0IG9yIHRhZyBmYWlscyBhbmQgd2UgZG9uJ3QgcHVzaCAoIzIxKSAoamtlYXRpbmcp CistIEhvbm9yIH4vLmtvamkvY29uZmlnIChyaGJ6Izc4NTc3NikgKGprZWF0aW5nKQorLSBVcGRh dGUgaGVscCBvdXRwdXQgZm9yIHN3aXRjaC1icmFuY2ggKHJoYnojNzQxNzQyKSAoamtlYXRpbmcp CisKKyogVGh1IE1hciAwMSAyMDEyIEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+ IC0gMS4xMy0xCistIFJldHVybiBwcm9wZXIgZXhpdCBjb2RlIGZyb20gYnVpbGRzICgjMjApIChq a2VhdGluZykKKy0gRml4IG1kNSBvcHRpb24gaW4gdGhlIGJ1aWxkIHBhcnNlciAoamtlYXRpbmcp CistIE1vcmUgY29tcGxldGlvbiBmaXhlcyAoamtlYXRpbmcpCistIEFkZCBtb2NrLWNvbmZpZyBh bmQgbW9ja2J1aWxkIGNvbXBsZXRpb24gKGprZWF0aW5nKQorLSBTaW1wbGlmeSB0ZXN0IGZvciBy cGtnIGF2YWlsYWJpbGl0eS4gKHZpbGxlLnNreXR0YSkKKy0gRml4IH4vLi4uIHBhdGggY29tcGxl dGlvbi4gKHZpbGxlLnNreXR0YSAoamtlYXRpbmcpCistIEFkZCBhIC0tcmF3IG9wdGlvbiB0byBj bG9nICgjMTUpIChqa2VhdGluZykKKy0gTWFrZSB0aGluZ3MgcXVpZXQgd2hlbiBwb3NzaWJsZSAo amtlYXRpbmcpCistIEZpeCB1cCBmaWd1cmluZyBvdXQgc3JwbSBoYXNoIHR5cGUgKGprZWF0aW5n KQorLSBBbGxvdyBkZWZpbmluZyBhbiBhbHRlcm5hdGl2ZSBidWlsZGRpciAoamtlYXRpbmcpCist IENvbmZsaWN0IHdpdGggb2xkZXIgZmVkcGtnIChqa2VhdGluZykKKy0gQXR0ZW1wdCB0byBhdXRv bWF0aWNhbGx5IHNldCB0aGUgbWQ1IGZsYWcgKGprZWF0aW5nKQorLSBVc2UgLUMgbm90IC1jIGZv ciBjb25maWcuICAoIzc1MjQxMSkgKGprZWF0aW5nKQorLSBEb24ndCBjaGVjayBncGcgc2lncyB3 aGVuIGltcG9ydGluZyBzcnBtcyAodGlja2V0ICMxNikgKGprZWF0aW5nKQorLSBFbmFibGUgbWQ1 IG9wdGlvbiBpbiBtb2NrYnVpbGQgKHR3YXVnaCkgKGprZWF0aW5nKQorCisqIFR1ZSBKYW4gMjQg MjAxMiBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAtIDEuMTItMQorLSBGaXgg bW9jay1jb25maWcgKHRpY2tldCAjMTMpIChqa2VhdGluZykKKy0gTWFrZSBtZDUgYSBjb21tb24g YnVpbGQgYXJndW1lbnQgKGprZWF0aW5nKQorLSBNb3ZlIGFyY2hlcyB0byBiZSBhIGNvbW1vbiBi dWlsZCBhcmd1bWVudCAodGlja2V0ICMzKSAoamtlYXRpbmcpCistIEZpbmQgcmVtb3RlIGJyYW5j aCB0byB0cmFjayBiZXR0ZXIgKGprZWF0aW5nKQorCisqIEZyaSBKYW4gMTMgMjAxMiBKZXNzZSBL ZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAtIDEuMTEtMQorLSBDaGFuZ2UgY2xvZyBvdXRw dXQgdG8gYmUgbW9yZSBnaXQtbGlrZSAoc29jaG90bmlja3kpCistIEZpeCBtb2NrY29uZmlnIHBy b3BlcnR5IChib2NoZWNoYSkKKy0gVXNlIG9ubHkgbmV3LXN0eWxlIGNsYXNzZXMgZXZlcnl3aGVy ZS4gKGJvY2hlY2hhKQorLSBUZXN0aW5nIGZvciBhY2Nlc3MgYmVmb3JlIG9wZW5pbmcgYSBmaWxl IGlzIHVuc2FmZSAoYm9jaGVjaGEpCistIEFkZCBhIGdpdGJ1aWxkaGFzaCBjb21tYW5kIChqa2Vh dGluZykKKy0gQWx3YXlzIG1ha2Ugc3VyZSB5b3UgaGF2ZSBhIGFic29sdXRlIHBhdGggKGFqKSAo amtlYXRpbmcpCistIGRvbid0IHRyeSB0byBpbXBvcnQgYnJldywganVzdCBkbyBrb2ppIChqa2Vh dGluZykKKworKiBNb24gTm92IDIxIDIwMTEgSmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0 LmNvbT4gLSAxLjEwLTEKKy0gVXNlIC1DIGZvciAtLWNvbmZpZyBzaG9ydGN1dCAoamtlYXRpbmcp CistIERvbid0IGxlYXZlIGEgZGlyZWN0b3J5IG9uIGZhaWx1cmUgKCM3NTQwODIpIChqa2VhdGlu ZykKKy0gRml4IGNoYWluIGJ1aWxkICgjNzU0MTg5KSAoamtlYXRpbmcpCistIERvbid0IGhhcmRj b2RlIGJyZXcgaGVyZSAoamtlYXRpbmcpCisKKyogTW9uIE5vdiAwNyAyMDExIEplc3NlIEtlYXRp bmcgPGprZWF0aW5nQHJlZGhhdC5jb20+IC0gMS45LTEKKy0gRG9uJ3QgdXBsb2FkIGlmIHRoZXJl IGlzIG5vdGhpbmcgdG8gdXBsb2FkLiAoamtlYXRpbmcpCistIC0tYnJhbmNoIG9wdGlvbiBmb3Ig aW1wb3J0IGlzIG5vdCBzdXBwb3J0ZWQgeWV0IChqa2VhdGluZykKKy0gQWRkIGVwaWxvZyBhYm91 dCBtb2NrLWNvbmZpZyBnZW5lcmF0aW9uIChqa2VhdGluZykKKy0gRG9uJ3QgYXNzdW1lIHdlIGNh biBjcmVhdGUgYSBmb2xkZXIgbmFtZWQgYWZ0ZXIgdGhlIG1vZHVsZS4gKGJvY2hlY2hhKQorLSBG aXggcGFzc2luZyB0aGUgb3B0aW9uYWwgbW9jayByb290IHRvIG1vY2tidWlsZCAoYm9jaGVjaGEp CistIEFkZCBtaXNzaW5nIHJlZ2lzdHJhdGlvbiBmb3IgbW9ja2J1aWxkIHRhcmdldCAoYm9jaGVj aGEpCistIE1ha2UgdGhlIGNsZWFuIHRhcmdldCB3b3JrIHdpdGggLS1wYXRoLiAoYm9jaGVjaGEp CistIEZpeCB0eXBvIGluIGEgY29tbWVudC4gKGJvY2hlY2hhKQorLSBGaXggc3ludGF4IGVycm9y IGluIG1haW4gc2NyaXB0LiAoYm9jaGVjaGEpCistIEZpeCB0eXBvLiAoYm9jaGVjaGEpCisKKyog RnJpIE9jdCAyOCAyMDExIEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhhdC5jb20+IC0gMS44 LTEKKy0gR2V0IG1vcmUgZGV0YWlsZWQgZXJyb3Igb3V0cHV0IGZyb20gbG9va2FzaWRlIChqa2Vh dGluZykKKy0gTW92ZSB0aGUgY3VybCBjYWxsIG91dCB0byBpdCdzIG93biBmdW5jdGlvbiAoamtl YXRpbmcpCistIEhpZGUgYnVpbGRfY29tbW9uIGZyb20gaGVscC91c2FnZSAoamtlYXRpbmcpCist IEZpeCB0aGUgaGVscCBjb21tYW5kIChqa2VhdGluZykKKworKiBUdWUgT2N0IDI1IDIwMTEgSmVz c2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSAxLjctMQorLSBTdXBwb3J0IGEgbWFu dWFsbHkgc3BlY2lmaWVkIG1vY2sgcm9vdCAoamtlYXRpbmcpCistIEFkZCBhIG1vY2stY29uZmln IHN1YmNvbW1hbmQgKGprZWF0aW5nKQorLSBGaXggYSB0cmFjZWJhY2sgb24gZXJyb3IuIChqa2Vh dGluZykKKy0gUmVtb3ZlIGRlYnVnZ2luZyBjb2RlIChqa2VhdGluZykKKy0gTW9yZSBnaXQgYXBp IHVwZGF0ZXMgKGprZWF0aW5nKQorLSBBZGQgdG9wdXJsIGFzIGEga29qaSBjb25maWcgYW5kIHBy b3BlcnR5IChqa2VhdGluZykKKy0gQWRkIGEgbW9ja2NvbmZpZyBwcm9wZXJ0eSAoamtlYXRpbmcp CistIFR1cm4gdGhlIGxhdGVzdCBjb21taXQgaW50byBhIHByb3BlcnR5IChqa2VhdGluZykKKwor KiBUdWUgU2VwIDIwIDIwMTEgSmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSAx LjYtMQorLSBBbGxvdyBuYW1lIHByb3BlcnR5IHRvIGxvYWQgYnkgaXRzZWxmIChqa2VhdGluZykK KworKiBNb24gU2VwIDE5IDIwMTEgSmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4g LSAxLjUtMQorLSBGaXggdGFnIGxpc3RpbmcgKCM3MTc1MjgpIChqa2VhdGluZykKKy0gUmV2YW1w IG4tdi1yIHByb3BlcnR5IGxvYWRpbmcgKCM3MjEzODkpIChqa2VhdGluZykKKy0gRG9uJ3QgdXNl IG9zLmdldGxvZ2luIChqa2VhdGluZykKKy0gQ29kZSBzdHlsZSBjaGFuZ2VzIChqa2VhdGluZykK Ky0gQWxsb3cgZmVkcGtnIGxpbnQgdG8gYmUgY29uZmlndXJhYmxlIGFuZCB0byBjaGVjayBzcGVj IGZpbGUuIChwaW5nb3UpCistIEhhbmRsZSBub24tc2NyYXRjaCBzcnBtIGJ1aWxkcyBiZXR0ZXIg KGprZWF0aW5nKQorCisqIFdlZCBBdWcgMTcgMjAxMSBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0By ZWRoYXQuY29tPiAtIDEuNC0xCistIEJlIG1vcmUgZ2VuZXJpYyB3aGVuIG5vIHNwZWMgZmlsZSBp cyBmb3VuZCAoamtlYXRpbmcpCistIEhpbnQgYWJvdXQgdXNlIG9mIGdpdCBzdGF0dXMgd2hlbiBk aXJ0eSAoamtlYXRpbmcpCistIERvbid0IHVzZSBwcmludCB3aGVuIHdlIGNhbiBsb2cuaW5mbyBp dCAoamtlYXRpbmcpCistIERvbid0IGV4aXQgZnJvbSBhIGxpYnJhcnkgKGprZWF0aW5nKQorLSBE byB0aGUgcnBtIHF1ZXJ5IGluIG91ciBtb2R1bGUgcGF0aCAoamtlYXRpbmcpCistIFVzZSBnaXQn cyBuYXRpdmUgYWJpbGl0eSB0byBjaGVja291dCBhIGJyYW5jaCAoamtlYXRpbmcpCistIFVzZSBr ZXl3b3JkIGFyZyB3aXRoIGNsb25lIChqa2VhdGluZykKKy0gQWxsb3cgdGhlIG9uLWRlbWFuZCBn ZW5lcmF0aW9uIG9mIGFuIHNycG0gKGprZWF0aW5nKQorLSBGaXggdXAgZXhpdCBjb2RlcyAoamtl YXRpbmcpCisKKyogTW9uIEF1ZyAwMSAyMDExIEplc3NlIEtlYXRpbmcgPGprZWF0aW5nQHJlZGhh dC5jb20+IC0gMS4zLTEKKy0gRml4IGEgZGVidWcgc3RyaW5nIChqa2VhdGluZykKKy0gU2V0IHRo ZSByaWdodCBwcm9wZXJ0eSAoamtlYXRpbmcpCistIE1ha2Ugc3VyZSB3ZSBoYXZlIGEgZGVmYXVs dCBoYXNodHlwZSAoamtlYXRpbmcpCistIFVzZSB1bmRlcnNjb3JlIGZvciB0aGUgZGlzdCB0YWcg KGprZWF0aW5nKQorLSBGaXggdGhlIGtvaml3ZWJ1cmwgcHJvcGVydHkgKGprZWF0aW5nKQorCisq IFdlZCBKdWwgMjAgMjAxMSBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAtIDEu Mi0xCistIEZpbGwgb3V0IHRoZSBrcmJfY3JlZHMgZnVuY3Rpb24gKGprZWF0aW5nKQorLSBGaXgg dGhlIGxvZyBtZXNzYWdlIChqa2VhdGluZykKKy0gc2l0ZV9zZXR1cCBpcyBubyBsb25nZXIgbmVl ZGVkIChqa2VhdGluZykKKy0gUmVtb3ZlIHNvbWUgcmh0aXNtcyAoamtlYXRpbmcpCistIFdpcmUg dXAgdGhlIHBhdGNoIGNvbW1hbmQgaW4gY2xpZW50IGNvZGUgKGprZWF0aW5nKQorLSBBZGQgYSBw YXRjaCBjb21tYW5kIChqa2VhdGluZykKKworKiBGcmkgSnVuIDE3IDIwMTEgSmVzc2UgS2VhdGlu ZyA8amtlYXRpbmdAcmVkaGF0LmNvbT4gLSAxLjEtMgorLSBVc2UgdmVyc2lvbiBtYWNybyBpbiBm aWxlcworCisqIEZyaSBKdW4gMTcgMjAxMSBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQu Y29tPiAtIDEuMS0xCistIE5ldyB0YXJiYWxsIHJlbGVhc2Ugd2l0aCBjb3JyZWN0IGxpY2Vuc2Ug ZmlsZXMKKworKiBGcmkgSnVuIDE3IDIwMTEgSmVzc2UgS2VhdGluZyA8amtlYXRpbmdAcmVkaGF0 LmNvbT4gLSAxLjAtMgorLSBGaXggdXAgdGhpbmdzIGZvdW5kIGluIHJldmlldworCisqIFR1ZSBK dW4gMTQgMjAxMSBKZXNzZSBLZWF0aW5nIDxqa2VhdGluZ0ByZWRoYXQuY29tPiAtIDEuMC0xCist IEluaXRpYWwgcGFja2FnZQoKZGlmZiAtLWdpdCBhL3NvdXJjZXMgYi9zb3VyY2VzCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5OGIzZjkKLS0tIC9kZXYvbnVsbAorKysgYi9z b3VyY2VzCkBAIC0wLDAgKzEgQEAKK1NIQTUxMiAocnBrZy0xLjY2LnRhci5neikgPSAxNGE2OTQ3 MTQ2Y2Q1YThmOWJhYTJkM2ZiYTBhMzdiYjBkN2FiNWJkNjllMjljMDQyODJjODgyZTFmMjQ5ODMx YzhmYWY0NDNkNGRkOTRhZGZlMWJmMzg1ZjY1MjVjZWZlZjg0YjEwZDQ0YTM5NDlkODE1ZmQyOTNk NWY1ZmNjYwo=