From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (qmail 18012 invoked from network); 2 Dec 2021 21:29:41 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 2 Dec 2021 21:29:41 -0000 Content-Type: multipart/mixed; boundary="===============2451022726077396562==" MIME-Version: 1.0 Subject: =?utf8?q?Re=3A_=5BPR_PATCH=5D_=5BUpdated=5D_New_package=3A_bottles-3=2E1=2E1?= To: ml@inbox.vuxu.org From: andry-dev Reply-to: ml@inbox.vuxu.org In-Reply-To: References: Date: Thu, 02 Dec 2021 22:29:40 +0100 List-Id: Message-ID: <20211202212940.0MvK09BkjbicbTl7AQ96HSM20rZTXoaAfmgmlXnFnnU@z> GitHub notification mails are now in MIME to allow UTF8. --===============2451022726077396562== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYW4gdXBkYXRlZCBwdWxsIHJlcXVlc3QgYnkgYW5kcnktZGV2IGFnYWluc3QgbWFz dGVyIG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9h bmRyeS1kZXYvdm9pZC1wYWNrYWdlcyBib3R0bGVzCmh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxp bnV4L3ZvaWQtcGFja2FnZXMvcHVsbC8yNzA2NgoKTmV3IHBhY2thZ2U6IGJvdHRsZXMtMy4xLjEK Qm90dGxlcyBpcyBhbiBhcHBsaWNhdGlvbiB0aGF0IG1hbmFnZXMgd2luZSBwcmVmaXhlcywgbGlr ZSBsdXRyaXMgYnV0IG1vcmUgYnJvYWQgaW4gc2NvcGUuDQpBcyBvZiBNYXJjaCAyLCAyMDIxLCBi b3R0bGVzIGlzIGluICoqYWxwaGEqKiBzbyBpdCBzaG91bGRuJ3QgYmUgbWVyZ2VkIG5vdy4gVGhp cyBQUiBleGlzdHMgdG8ga2VlcCB0cmFjayBvZiBpdCBhbmQgYWxsb3cgYSBtZXJnZSB3aGVuZXZl ciBpdCdzIHN0YWJsZSBlbm91Z2guIEknbGwga2VlcCB0aGUgUFIgdXBkYXRlZCBhbmQgdGVzdCBp dCBhcyBzb29uIGFzIEknbSBhYmxlIHRvLg0KDQpSZXBvc2l0b3J5OiBodHRwczovL2dpdGh1Yi5j b20vYm90dGxlc2RldnMvQm90dGxlcw0KU2l0ZTogaHR0cHM6Ly91c2Vib3R0bGVzLmNvbS8KCkEg cGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2Fn ZXMvcHVsbC8yNzA2Ni5wYXRjaCBpcyBhdHRhY2hlZA== --===============2451022726077396562== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-bottles-27066.patch" RnJvbSA1YmE4ZDNkMmI3YWRmNDFkMzNjOWFiZWYzNjRhMGEwMmJkMDNkZWMzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBhbmRyeS1kZXYgPGFuZHJ5LWRldkB1c2Vycy5ub3JlcGx5Lmdp dGh1Yi5jb20+CkRhdGU6IFRodSwgMiBEZWMgMjAyMSAyMjowMDo1OSArMDEwMApTdWJqZWN0OiBb UEFUQ0ggMS8yXSBOZXcgcGFja2FnZTogcHl0aG9uMy1wYXRvb2wtMS4xMi4xCgotLS0KIC4uLi9w YXRjaGVzLzAwLXNraXAtY2hlY2tzLnBhdGNoICAgICAgICAgICAgICB8IDY1ODEgKysrKysrKysr KysrKysrKysKIHNyY3BrZ3MvcHl0aG9uMy1wYXRvb2wvdGVtcGxhdGUgICAgICAgICAgICAgICB8 ICAgMTUgKwogMiBmaWxlcyBjaGFuZ2VkLCA2NTk2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBzcmNwa2dzL3B5dGhvbjMtcGF0b29sL3BhdGNoZXMvMDAtc2tpcC1jaGVja3MucGF0 Y2gKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL3B5dGhvbjMtcGF0b29sL3RlbXBsYXRlCgpk aWZmIC0tZ2l0IGEvc3JjcGtncy9weXRob24zLXBhdG9vbC9wYXRjaGVzLzAwLXNraXAtY2hlY2tz LnBhdGNoIGIvc3JjcGtncy9weXRob24zLXBhdG9vbC9wYXRjaGVzLzAwLXNraXAtY2hlY2tzLnBh dGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uN2E1ZjhiMTRiNzFi Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9weXRob24zLXBhdG9vbC9wYXRjaGVzLzAwLXNr aXAtY2hlY2tzLnBhdGNoCkBAIC0wLDAgKzEsNjU4MSBAQAorZGlmZiAtTmF1ciBwYXRvb2wtdXBz dHJlYW0tMS4xMi8ucHl0ZXN0X2NhY2hlLy5naXRpZ25vcmUgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC8ucHl0ZXN0X2NhY2hlLy5naXRpZ25vcmUKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4x Mi8ucHl0ZXN0X2NhY2hlLy5naXRpZ25vcmUJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAg KzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkLy5weXRlc3RfY2FjaGUvLmdp dGlnbm9yZQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAsMCArMSwy IEBACisrIyBDcmVhdGVkIGJ5IHB5dGVzdCBhdXRvbWF0aWNhbGx5LgorKyoKK2RpZmYgLU5hdXIg cGF0b29sLXVwc3RyZWFtLTEuMTIvLnB5dGVzdF9jYWNoZS9DQUNIRURJUi5UQUcgcGF0b29sLXVw c3RyZWFtLTEuMTItcGF0Y2hlZC8ucHl0ZXN0X2NhY2hlL0NBQ0hFRElSLlRBRworLS0tIHBhdG9v bC11cHN0cmVhbS0xLjEyLy5weXRlc3RfY2FjaGUvQ0FDSEVESVIuVEFHCTE5NzAtMDEtMDEgMDE6 MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC8u cHl0ZXN0X2NhY2hlL0NBQ0hFRElSLlRBRwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCAr MDEwMAorQEAgLTAsMCArMSw0IEBACisrU2lnbmF0dXJlOiA4YTQ3N2Y1OTdkMjhkMTcyNzg5ZjA2 ODg2ODA2YmM1NQorKyMgVGhpcyBmaWxlIGlzIGEgY2FjaGUgZGlyZWN0b3J5IHRhZyBjcmVhdGVk IGJ5IHB5dGVzdC4KKysjIEZvciBpbmZvcm1hdGlvbiBhYm91dCBjYWNoZSBkaXJlY3RvcnkgdGFn cywgc2VlOgorKyMJaHR0cDovL3d3dy5iZm9yZC5pbmZvL2NhY2hlZGlyL3NwZWMuaHRtbAorZGlm ZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi8ucHl0ZXN0X2NhY2hlL1JFQURNRS5tZCBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkLy5weXRlc3RfY2FjaGUvUkVBRE1FLm1kCistLS0gcGF0 b29sLXVwc3RyZWFtLTEuMTIvLnB5dGVzdF9jYWNoZS9SRUFETUUubWQJMTk3MC0wMS0wMSAwMTow MDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkLy5w eXRlc3RfY2FjaGUvUkVBRE1FLm1kCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc4ODMyMzIwICswMTAw CitAQCAtMCwwICsxLDggQEAKKysjIHB5dGVzdCBjYWNoZSBkaXJlY3RvcnkgIworKworK1RoaXMg ZGlyZWN0b3J5IGNvbnRhaW5zIGRhdGEgZnJvbSB0aGUgcHl0ZXN0J3MgY2FjaGUgcGx1Z2luLAor K3doaWNoIHByb3ZpZGVzIHRoZSBgLS1sZmAgYW5kIGAtLWZmYCBvcHRpb25zLCBhcyB3ZWxsIGFz IHRoZSBgY2FjaGVgIGZpeHR1cmUuCisrCisrKipEbyBub3QqKiBjb21taXQgdGhpcyB0byB2ZXJz aW9uIGNvbnRyb2wuCisrCisrU2VlIFt0aGUgZG9jc10oaHR0cHM6Ly9kb2NzLnB5dGVzdC5vcmcv ZW4vc3RhYmxlL2NhY2hlLmh0bWwpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi8ucHl0ZXN0X2NhY2hlL3YvY2FjaGUvbGFzdGZhaWxlZCBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkLy5weXRlc3RfY2FjaGUvdi9jYWNoZS9sYXN0ZmFpbGVk CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvLnB5dGVzdF9jYWNoZS92L2NhY2hlL2xhc3RmYWls ZWQJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJl YW0tMS4xMi1wYXRjaGVkLy5weXRlc3RfY2FjaGUvdi9jYWNoZS9sYXN0ZmFpbGVkCTIwMjEtMTIt MDIgMjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDMgQEAKKyt7CisrICAidGVz dHMvdGVzdF9taW1lLnB5OjpUZXN0TWltZTo6dGVzdF9taW1lX2ZpbGUiOiB0cnVlCisrfQorXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEy Ly5weXRlc3RfY2FjaGUvdi9jYWNoZS9ub2RlaWRzIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvLnB5dGVzdF9jYWNoZS92L2NhY2hlL25vZGVpZHMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4x Mi8ucHl0ZXN0X2NhY2hlL3YvY2FjaGUvbm9kZWlkcwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAw MDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvLnB5dGVzdF9jYWNo ZS92L2NhY2hlL25vZGVpZHMJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAKK0BA IC0wLDAgKzEsMTc2IEBACisrWworKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfN3oucHk6OlRlc3Q3 ejo6dGVzdF83eiIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF83ei5weTo6VGVzdDd6Ojp0ZXN0 Xzd6X2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfN3oucHk6OlRlc3Q3ejo6dGVzdF83 el9yYXIiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfN3oucHk6OlRlc3Q3ejo6dGVzdF83el9y YXJfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF83emEucHk6OlRlc3Q3emE6OnRlc3Rf N3phX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfN3phLnB5OjpUZXN0N3phOjp0ZXN0 X3A3YXppcCIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF83enIucHk6OlRlc3Q3enI6OnRlc3Rf N3pfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF83enIucHk6OlRlc3Q3enI6OnRlc3Rf N3pyIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2FyLnB5OjpUZXN0QXI6OnRlc3RfYXIiLAor KyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfYXIucHk6OlRlc3RBcjo6dGVzdF9hcl9maWxlIiwKKysg ICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2FyYy5weTo6VGVzdEFyYzo6dGVzdF9hcmMiLAorKyAgInRl c3RzL2FyY2hpdmVzL3Rlc3RfYXJjLnB5OjpUZXN0QXJjOjp0ZXN0X2FyY19maWxlIiwKKysgICJ0 ZXN0cy9hcmNoaXZlcy90ZXN0X2FyY2htYWdlLnB5OjpUZXN0QXJjaG1hZ2U6OnRlc3RfYXJjaG1h Z2UiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfYXJjaG1hZ2UucHk6OlRlc3RBcmNobWFnZTo6 dGVzdF9hcmNobWFnZV9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2Fyai5weTo6VGVz dEFyajo6dGVzdF9hcmoiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfYXJqLnB5OjpUZXN0QXJq Ojp0ZXN0X2Fyal9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2JzZGNwaW8ucHk6OlRl c3RCc2RjcGlvOjp0ZXN0X2JzZGNwaW8iLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfYnNkY3Bp by5weTo6VGVzdEJzZGNwaW86OnRlc3RfYnNkY3Bpb19maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZl cy90ZXN0X2JzZHRhci5weTo6VGVzdEJzZHRhcjo6dGVzdF9ic2R0YXIiLAorKyAgInRlc3RzL2Fy Y2hpdmVzL3Rlc3RfYnNkdGFyLnB5OjpUZXN0QnNkdGFyOjp0ZXN0X2JzZHRhcl9iejIiLAorKyAg InRlc3RzL2FyY2hpdmVzL3Rlc3RfYnNkdGFyLnB5OjpUZXN0QnNkdGFyOjp0ZXN0X2JzZHRhcl9i ejJfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9ic2R0YXIucHk6OlRlc3RCc2R0YXI6 OnRlc3RfYnNkdGFyX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfYnNkdGFyLnB5OjpU ZXN0QnNkdGFyOjp0ZXN0X2JzZHRhcl9neiIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9ic2R0 YXIucHk6OlRlc3RCc2R0YXI6OnRlc3RfYnNkdGFyX2d6X2ZpbGUiLAorKyAgInRlc3RzL2FyY2hp dmVzL3Rlc3RfYnNkdGFyLnB5OjpUZXN0QnNkdGFyOjp0ZXN0X2JzZHRhcl9sem1hIiwKKysgICJ0 ZXN0cy9hcmNoaXZlcy90ZXN0X2JzZHRhci5weTo6VGVzdEJzZHRhcjo6dGVzdF9ic2R0YXJfeHoi LAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfYnNkdGFyLnB5OjpUZXN0QnNkdGFyOjp0ZXN0X2Jz ZHRhcl94el9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2JzZHRhci5weTo6VGVzdEJz ZHRhcjo6dGVzdF9ic2R0YXJfeiIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9ic2R0YXIucHk6 OlRlc3RCc2R0YXI6OnRlc3RfYnNkdGFyX3pfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVz dF9iemlwMi5weTo6VGVzdEJ6aXAyOjp0ZXN0X2J6aXAyIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90 ZXN0X2J6aXAyLnB5OjpUZXN0QnppcDI6OnRlc3RfYnppcDJfZmlsZSIsCisrICAidGVzdHMvYXJj aGl2ZXMvdGVzdF9jYWJleHRyYWN0LnB5OjpUZXN0Q2FiZXh0cmFjdDo6dGVzdF9jYWJleHRyYWN0 IiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2NhYmV4dHJhY3QucHk6OlRlc3RDYWJleHRyYWN0 Ojp0ZXN0X2NhYmV4dHJhY3RfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9jaG1saWIu cHk6OlRlc3RDaG1saWI6OnRlc3RfYXJjaG1hZ2UiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3Rf Y2htbGliLnB5OjpUZXN0Q2htbGliOjp0ZXN0X2FyY2htYWdlX2ZpbGUiLAorKyAgInRlc3RzL2Fy Y2hpdmVzL3Rlc3RfY2x6aXAucHk6OlRlc3RDbHppcDo6dGVzdF9jbHppcCIsCisrICAidGVzdHMv YXJjaGl2ZXMvdGVzdF9jbHppcC5weTo6VGVzdENsemlwOjp0ZXN0X2NsemlwX2ZpbGUiLAorKyAg InRlc3RzL2FyY2hpdmVzL3Rlc3RfY29tcHJlc3MucHk6OlRlc3RDb21wcmVzczo6dGVzdF9jb21w cmVzcyIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9jcGlvLnB5OjpUZXN0Q3Bpbzo6dGVzdF9j cGlvIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2NwaW8ucHk6OlRlc3RDcGlvOjp0ZXN0X2Nw aW9fZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9kcGtnLnB5OjpUZXN0RHBrZzo6dGVz dF9kcGtnIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2Rwa2cucHk6OlRlc3REcGtnOjp0ZXN0 X2Rwa2dfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9mbGFjLnB5OjpUZXN0RmxhYzo6 dGVzdF9mbGFjIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2ZsYWMucHk6OlRlc3RGbGFjOjp0 ZXN0X2ZsYWNfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9nZW5pc29pbWFnZS5weTo6 VGVzdEdlbmlzb2ltYWdlOjp0ZXN0X2dlbmlzb2ltYWdlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90 ZXN0X2d6aXAucHk6OlRlc3RHemlwOjp0ZXN0X2d6aXAiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rl c3RfZ3ppcC5weTo6VGVzdEd6aXA6OnRlc3RfZ3ppcF9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZl cy90ZXN0X2lzb2luZm8ucHk6OlRlc3RJc29pbmZvOjp0ZXN0X2lzb2luZm8iLAorKyAgInRlc3Rz L2FyY2hpdmVzL3Rlc3RfaXNvaW5mby5weTo6VGVzdElzb2luZm86OnRlc3RfaXNvaW5mb19maWxl IiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2xiemlwMi5weTo6VGVzdExiemlwMjo6dGVzdF9s YnppcDIiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfbGJ6aXAyLnB5OjpUZXN0TGJ6aXAyOjp0 ZXN0X2xiemlwMl9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2xjYWIucHk6OlRlc3RM Y2FiOjp0ZXN0X2xjYWIiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfbGhhLnB5OjpUZXN0TGhh Ojp0ZXN0X2xoYV9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2xoYXNhLnB5OjpUZXN0 TGhhc2E6OnRlc3RfbGhhc2EiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfbHJ6aXAucHk6OlRl c3RMcnppcDo6dGVzdF9scnppcCIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9semlwLnB5OjpU ZXN0THppcDo6dGVzdF9semlwIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2x6aXAucHk6OlRl c3RMemlwOjp0ZXN0X2x6aXBfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9sem1hLnB5 OjpUZXN0THptYTo6dGVzdF9sem1hIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X2x6b3AucHk6 OlRlc3RMem9wOjp0ZXN0X2x6b3AiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfbHpvcC5weTo6 VGVzdEx6b3A6OnRlc3RfbHpvcF9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X21hYy5w eTo6VGVzdE1hYzo6dGVzdF9tYWMiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfbWFjLnB5OjpU ZXN0TWFjOjp0ZXN0X21hY19maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X25vbWFyY2gu cHk6OlRlc3ROb21hcmNoOjp0ZXN0X25vbWFyY2giLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3Rf bm9tYXJjaC5weTo6VGVzdE5vbWFyY2g6OnRlc3Rfbm9tYXJjaF9maWxlIiwKKysgICJ0ZXN0cy9h cmNoaXZlcy90ZXN0X3BiemlwMi5weTo6VGVzdFBiemlwMjo6dGVzdF9wYnppcDIiLAorKyAgInRl c3RzL2FyY2hpdmVzL3Rlc3RfcGJ6aXAyLnB5OjpUZXN0UGJ6aXAyOjp0ZXN0X3BiemlwMl9maWxl IiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3BkbHppcC5weTo6VGVzdFBkbHppcDo6dGVzdF9w ZGx6aXAiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcGRsemlwLnB5OjpUZXN0UGRsemlwOjp0 ZXN0X3BkbHppcF9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3BpZ3oucHk6OlRlc3RQ aWd6Ojp0ZXN0X3BpZ3oiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcGlnei5weTo6VGVzdFBp Z3o6OnRlc3RfcGlnel9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3BsemlwLnB5OjpU ZXN0UGx6aXA6OnRlc3RfcGx6aXAiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcGx6aXAucHk6 OlRlc3RQbHppcDo6dGVzdF9wbHppcF9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3B5 YnoyLnB5OjpUZXN0UHliejI6OnRlc3RfcHlfYnoyIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0 X3B5YnoyLnB5OjpUZXN0UHliejI6OnRlc3RfcHlfYnoyX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hp dmVzL3Rlc3RfcHllY2hvLnB5OjpUZXN0UHllY2hvOjp0ZXN0X3B5X2VjaG8iLAorKyAgInRlc3Rz L2FyY2hpdmVzL3Rlc3RfcHllY2hvLnB5OjpUZXN0UHllY2hvOjp0ZXN0X3B5X2VjaG9fZmlsZSIs CisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9weWd6aXAucHk6OlRlc3RQeWd6aXA6OnRlc3RfcHlf Z3ppcCIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9weWd6aXAucHk6OlRlc3RQeWd6aXA6OnRl c3RfcHlfZ3ppcF9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3B5bHptYS5weTo6VGVz dFB5bHptYTo6dGVzdF9weV9sem1hIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3B5bHptYS5w eTo6VGVzdFB5bHptYTo6dGVzdF9weV9sem1hX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rl c3RfcHl0YXJmaWxlLnB5OjpUZXN0UHl0YXJmaWxlOjp0ZXN0X3B5X3RhcmZpbGUiLAorKyAgInRl c3RzL2FyY2hpdmVzL3Rlc3RfcHl0YXJmaWxlLnB5OjpUZXN0UHl0YXJmaWxlOjp0ZXN0X3B5X3Rh cmZpbGVfYnoyIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3B5dGFyZmlsZS5weTo6VGVzdFB5 dGFyZmlsZTo6dGVzdF9weV90YXJmaWxlX2J6Ml9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90 ZXN0X3B5dGFyZmlsZS5weTo6VGVzdFB5dGFyZmlsZTo6dGVzdF9weV90YXJmaWxlX2ZpbGUiLAor KyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcHl0YXJmaWxlLnB5OjpUZXN0UHl0YXJmaWxlOjp0ZXN0 X3B5X3RhcmZpbGVfZ3oiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcHl0YXJmaWxlLnB5OjpU ZXN0UHl0YXJmaWxlOjp0ZXN0X3B5X3RhcmZpbGVfZ3pfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2 ZXMvdGVzdF9weXppcGZpbGUucHk6OlRlc3RQeXppcGZpbGU6OnRlc3RfcHlfemlwZmlsZSIsCisr ICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9weXppcGZpbGUucHk6OlRlc3RQeXppcGZpbGU6OnRlc3Rf cHlfemlwZmlsZV9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3Jhci5weTo6VGVzdFJh cjo6dGVzdF9yYXIiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcmFyLnB5OjpUZXN0UmFyOjp0 ZXN0X3Jhcl9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3JwbS5weTo6VGVzdFJwbTo6 dGVzdF9ycG0iLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcnBtLnB5OjpUZXN0UnBtOjp0ZXN0 X3JwbV9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3JwbTJjcGlvLnB5OjpUZXN0UnBt MmNwaW86OnRlc3RfcnBtMmNwaW8iLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfcnBtMmNwaW8u cHk6OlRlc3RScG0yY3Bpbzo6dGVzdF9ycG0yY3Bpb19maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZl cy90ZXN0X3J6aXAucHk6OlRlc3RSemlwOjp0ZXN0X3J6aXAiLAorKyAgInRlc3RzL2FyY2hpdmVz L3Rlc3RfcnppcC5weTo6VGVzdFJ6aXA6OnRlc3RfcnppcF9maWxlIiwKKysgICJ0ZXN0cy9hcmNo aXZlcy90ZXN0X3NoYXIucHk6OlRlc3RTaGFyOjp0ZXN0X3NoYXIiLAorKyAgInRlc3RzL2FyY2hp dmVzL3Rlc3Rfc2hvcnRlbi5weTo6VGVzdFNob3J0ZW46OnRlc3Rfc2hvcnRlbiIsCisrICAidGVz dHMvYXJjaGl2ZXMvdGVzdF9zdGFyLnB5OjpUZXN0U3Rhcjo6dGVzdF9zdGFyIiwKKysgICJ0ZXN0 cy9hcmNoaXZlcy90ZXN0X3N0YXIucHk6OlRlc3RTdGFyOjp0ZXN0X3N0YXJfYnoyIiwKKysgICJ0 ZXN0cy9hcmNoaXZlcy90ZXN0X3N0YXIucHk6OlRlc3RTdGFyOjp0ZXN0X3N0YXJfYnoyX2ZpbGUi LAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3Rfc3Rhci5weTo6VGVzdFN0YXI6OnRlc3Rfc3Rhcl9m aWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3N0YXIucHk6OlRlc3RTdGFyOjp0ZXN0X3N0 YXJfZ3oiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3Rfc3Rhci5weTo6VGVzdFN0YXI6OnRlc3Rf c3Rhcl9nel9maWxlIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3N0YXIucHk6OlRlc3RTdGFy Ojp0ZXN0X3N0YXJfbHppcCIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9zdGFyLnB5OjpUZXN0 U3Rhcjo6dGVzdF9zdGFyX2x6aXBfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF9zdGFy LnB5OjpUZXN0U3Rhcjo6dGVzdF9zdGFyX2x6bWEiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3Rf c3Rhci5weTo6VGVzdFN0YXI6OnRlc3Rfc3Rhcl94eiIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVz dF9zdGFyLnB5OjpUZXN0U3Rhcjo6dGVzdF9zdGFyX3h6X2ZpbGUiLAorKyAgInRlc3RzL2FyY2hp dmVzL3Rlc3Rfc3Rhci5weTo6VGVzdFN0YXI6OnRlc3Rfc3Rhcl96IiwKKysgICJ0ZXN0cy9hcmNo aXZlcy90ZXN0X3N0YXIucHk6OlRlc3RTdGFyOjp0ZXN0X3N0YXJfel9maWxlIiwKKysgICJ0ZXN0 cy9hcmNoaXZlcy90ZXN0X3Rhci5weTo6VGVzdFRhcjo6dGVzdF90YXIiLAorKyAgInRlc3RzL2Fy Y2hpdmVzL3Rlc3RfdGFyLnB5OjpUZXN0VGFyOjp0ZXN0X3Rhcl9iejIiLAorKyAgInRlc3RzL2Fy Y2hpdmVzL3Rlc3RfdGFyLnB5OjpUZXN0VGFyOjp0ZXN0X3Rhcl9iejJfZmlsZSIsCisrICAidGVz dHMvYXJjaGl2ZXMvdGVzdF90YXIucHk6OlRlc3RUYXI6OnRlc3RfdGFyX2ZpbGUiLAorKyAgInRl c3RzL2FyY2hpdmVzL3Rlc3RfdGFyLnB5OjpUZXN0VGFyOjp0ZXN0X3Rhcl9neiIsCisrICAidGVz dHMvYXJjaGl2ZXMvdGVzdF90YXIucHk6OlRlc3RUYXI6OnRlc3RfdGFyX2d6X2ZpbGUiLAorKyAg InRlc3RzL2FyY2hpdmVzL3Rlc3RfdGFyLnB5OjpUZXN0VGFyOjp0ZXN0X3Rhcl9semlwIiwKKysg ICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3Rhci5weTo6VGVzdFRhcjo6dGVzdF90YXJfbHppcF9maWxl IiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3Rhci5weTo6VGVzdFRhcjo6dGVzdF90YXJfbHpt YSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF90YXIucHk6OlRlc3RUYXI6OnRlc3RfdGFyX3h6 IiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3Rhci5weTo6VGVzdFRhcjo6dGVzdF90YXJfeHpf ZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF90YXIucHk6OlRlc3RUYXI6OnRlc3RfdGFy X3oiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfdGFyLnB5OjpUZXN0VGFyOjp0ZXN0X3Rhcl96 X2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfdW5hY2UucHk6OlRlc3RVbmFjZTo6dGVz dF91bmFjZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF91bmFjZS5weTo6VGVzdFVuYWNlOjp0 ZXN0X3VuYWNlX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfdW5hZGYucHk6OlRlc3RV bmFkZjo6dGVzdF91bmFkZiIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF91bmFkZi5weTo6VGVz dFVuYWRmOjp0ZXN0X3VuYWRmX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfdW5hbHou cHk6OlRlc3RVbmFsejo6dGVzdF91bmFseiIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF91bmNv bXByZXNzcmVhbC5weTo6VGVzdFVuY29tcHJlc3NSZWFsOjp0ZXN0X3VuY29tcHJlc3MiLAorKyAg InRlc3RzL2FyY2hpdmVzL3Rlc3RfdW5jb21wcmVzc3JlYWwucHk6OlRlc3RVbmNvbXByZXNzUmVh bDo6dGVzdF91bmNvbXByZXNzX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rlc3RfdW5yYXIu cHk6OlRlc3RVbnJhcjo6dGVzdF91bnJhciIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF91bnJh ci5weTo6VGVzdFVucmFyOjp0ZXN0X3VucmFyX2ZpbGUiLAorKyAgInRlc3RzL2FyY2hpdmVzL3Rl c3RfdW5zaGFyLnB5OjpUZXN0VW5zaGFyOjp0ZXN0X3Vuc2hhciIsCisrICAidGVzdHMvYXJjaGl2 ZXMvdGVzdF91bnppcC5weTo6VGVzdFVuemlwOjp0ZXN0X3VuemlwIiwKKysgICJ0ZXN0cy9hcmNo aXZlcy90ZXN0X3VuemlwLnB5OjpUZXN0VW56aXA6OnRlc3RfdW56aXBfZmlsZSIsCisrICAidGVz dHMvYXJjaGl2ZXMvdGVzdF94ZG1zLnB5OjpUZXN0WGRtczo6dGVzdF94ZG1zIiwKKysgICJ0ZXN0 cy9hcmNoaXZlcy90ZXN0X3h6LnB5OjpUZXN0WHo6OnRlc3RfbHptYSIsCisrICAidGVzdHMvYXJj aGl2ZXMvdGVzdF94ei5weTo6VGVzdFh6Ojp0ZXN0X3h6IiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90 ZXN0X3h6LnB5OjpUZXN0WHo6OnRlc3RfeHpfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVz dF96aXAucHk6OlRlc3RaaXA6OnRlc3RfemlwIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3pp cC5weTo6VGVzdFppcDo6dGVzdF96aXBfZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF96 b28ucHk6OlRlc3Rab286OnRlc3Rfem9vIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0X3pvby5w eTo6VGVzdFpvbzo6dGVzdF96b29fZmlsZSIsCisrICAidGVzdHMvYXJjaGl2ZXMvdGVzdF96b3Bm bGkucHk6OlRlc3Rab3BmbGk6OnRlc3Rfem9wZmxpIiwKKysgICJ0ZXN0cy9hcmNoaXZlcy90ZXN0 X3pvcGZsaS5weTo6VGVzdFpvcGZsaTo6dGVzdF96b3BmbGlfZmlsZSIsCisrICAidGVzdHMvYXJj aGl2ZXMvdGVzdF96cGFxLnB5OjpUZXN0WnBhcTo6dGVzdF96cGFxIiwKKysgICJ0ZXN0cy9hcmNo aXZlcy90ZXN0X3pwYXEucHk6OlRlc3RacGFxOjp0ZXN0X3pwYXFfZmlsZSIsCisrICAidGVzdHMv dGVzdF9jb25maWcucHk6OlRlc3RDb25maWd1cmF0aW9uOjp0ZXN0X2FyY2hpdmVfbWltZXR5cGVz IiwKKysgICJ0ZXN0cy90ZXN0X2NvbmZpZy5weTo6VGVzdENvbmZpZ3VyYXRpb246OnRlc3RfYXJj aGl2ZV9wcm9ncmFtcyIsCisrICAidGVzdHMvdGVzdF9jb25maWcucHk6OlRlc3RDb25maWd1cmF0 aW9uOjp0ZXN0X2NvbXByZXNzaW9uX3Byb2dyYW1zIiwKKysgICJ0ZXN0cy90ZXN0X2NvbmZpZy5w eTo6VGVzdENvbmZpZ3VyYXRpb246OnRlc3RfZW5jb2RpbmdfbWltZXMiLAorKyAgInRlc3RzL3Rl c3RfY29uZmlnLnB5OjpUZXN0Q29uZmlndXJhdGlvbjo6dGVzdF9maWxldGV4dF9taW1lIiwKKysg ICJ0ZXN0cy90ZXN0X2NyZWF0ZS5weTo6QXJjaGl2ZUNyZWF0ZVRlc3Q6OnRlc3RfY3JlYXRlIiwK KysgICJ0ZXN0cy90ZXN0X2RpZmYucHk6OkFyY2hpdmVEaWZmVGVzdDo6dGVzdF9kaWZmIiwKKysg ICJ0ZXN0cy90ZXN0X2V4dHJhY3QucHk6OkFyY2hpdmVFeHRyYWN0VGVzdDo6dGVzdF9leHRyYWN0 IiwKKysgICJ0ZXN0cy90ZXN0X2Zvcm1hdHMucHk6OlRlc3RGb3JtYXRzOjp0ZXN0X2xpc3RfZm9y bWF0cyIsCisrICAidGVzdHMvdGVzdF9saXN0LnB5OjpBcmNoaXZlTGlzdFRlc3Q6OnRlc3RfbGlz dCIsCisrICAidGVzdHMvdGVzdF9taW1lLnB5OjpUZXN0TWltZTo6dGVzdF9taW1lX2ZpbGUiLAor KyAgInRlc3RzL3Rlc3RfbWltZS5weTo6VGVzdE1pbWU6OnRlc3RfbWltZV9maWxlX2J6aXAiLAor KyAgInRlc3RzL3Rlc3RfbWltZS5weTo6VGVzdE1pbWU6OnRlc3RfbWltZV9maWxlX2NvbXByZXNz IiwKKysgICJ0ZXN0cy90ZXN0X21pbWUucHk6OlRlc3RNaW1lOjp0ZXN0X21pbWVfZmlsZV9nemlw IiwKKysgICJ0ZXN0cy90ZXN0X21pbWUucHk6OlRlc3RNaW1lOjp0ZXN0X21pbWVfZmlsZV9semlw IiwKKysgICJ0ZXN0cy90ZXN0X21pbWUucHk6OlRlc3RNaW1lOjp0ZXN0X21pbWVfZmlsZV94emlw IiwKKysgICJ0ZXN0cy90ZXN0X21pbWUucHk6OlRlc3RNaW1lOjp0ZXN0X21pbWVfbWltZWRiIiwK KysgICJ0ZXN0cy90ZXN0X3JlY29tcHJlc3MucHk6OkFyY2hpdmVSZWNvbXByZXNzVGVzdDo6dGVz dF9yZXBhY2siLAorKyAgInRlc3RzL3Rlc3RfcmVwYWNrLnB5OjpBcmNoaXZlUmVwYWNrVGVzdDo6 dGVzdF9yZXBhY2siLAorKyAgInRlc3RzL3Rlc3RfcmVwYWNrLnB5OjpBcmNoaXZlUmVwYWNrVGVz dDo6dGVzdF9yZXBhY2tfc2FtZV9mb3JtYXQiLAorKyAgInRlc3RzL3Rlc3RfcmVwYWNrLnB5OjpB cmNoaXZlUmVwYWNrVGVzdDo6dGVzdF9yZXBhY2tfc2FtZV9mb3JtYXRfZGlmZmVyZW50X2NvbXBy ZXNzaW9uIiwKKysgICJ0ZXN0cy90ZXN0X3NlYXJjaC5weTo6QXJjaGl2ZVNlYXJjaFRlc3Q6OnRl c3Rfc2VhcmNoIiwKKysgICJ0ZXN0cy90ZXN0X3Rlc3QucHk6OkFyY2hpdmVUZXN0VGVzdDo6dGVz dF90ZXN0IiwKKysgICJ0ZXN0cy90ZXN0X3V0aWwucHk6OlV0aWxUZXN0Ojp0ZXN0X3NhbWVmaWxl MSIsCisrICAidGVzdHMvdGVzdF91dGlsLnB5OjpVdGlsVGVzdDo6dGVzdF9zYW1lZmlsZTIiLAor KyAgInRlc3RzL3Rlc3RfdXRpbC5weTo6VXRpbFRlc3Q6OnRlc3Rfc2FtZWZpbGUzIgorK10KK1wg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4x Mi8ucHl0ZXN0X2NhY2hlL3YvY2FjaGUvc3RlcHdpc2UgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0 Y2hlZC8ucHl0ZXN0X2NhY2hlL3YvY2FjaGUvc3RlcHdpc2UKKy0tLSBwYXRvb2wtdXBzdHJlYW0t MS4xMi8ucHl0ZXN0X2NhY2hlL3YvY2FjaGUvc3RlcHdpc2UJMTk3MC0wMS0wMSAwMTowMDowMC4w MDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkLy5weXRlc3Rf Y2FjaGUvdi9jYWNoZS9zdGVwd2lzZQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEw MAorQEAgLTAsMCArMSBAQAorK1tdCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYg LU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvX19weWNhY2hlX18vX3BhdG9vbF9jb25maWdkYXRh LmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL19fcHljYWNoZV9f L19wYXRvb2xfY29uZmlnZGF0YS5jcHl0aG9uLTMxMC5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0t MS4xMi9fX3B5Y2FjaGVfXy9fcGF0b29sX2NvbmZpZ2RhdGEuY3B5dGhvbi0zMTAucHljCTE5NzAt MDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC9fX3B5Y2FjaGVfXy9fcGF0b29sX2NvbmZpZ2RhdGEuY3B5dGhvbi0zMTAucHljCTIw MjEtMTItMDIgMjI6MjM6MTAuNTcyODMyMjE0ICswMTAwCitAQCAtMCwwICsxLDI3IEBACisrbw0N CisrAAAAABg5qWH7BgAA4wAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHNWAAAAZABaAGQBWgFkAVoC ZAJaA2QDWgRkBFoFZAVaBmQEWgdkBVoIZAZaCWQHWgorK2QIWgtkCVoMZwBkCisrogFaDWQLZwFa DmQMWg9kBFoQZAVaEWQNWhJkDlMAKQ96JS9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9j b25maWd6Hi9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMtoGcGF0b29segQxLjEyehJCYXN0 aWFuIEtsZWluZWlkYW16GWJhc3RpYW4ua2xlaW5laWRhbUB3ZWIuZGV6H2h0dHA6Ly93dW1tZWwu Z2l0aHViLmlvL3BhdG9vbC9aA0dQTHodcG9ydGFibGUgYXJjaGl2ZSBmaWxlIG1hbmFnZXJh5gMA AFZhcmlvdXMgYXJjaGl2ZSBmb3JtYXRzIGNhbiBiZSBjcmVhdGVkLCBleHRyYWN0ZWQsIHRlc3Rl ZCwgbGlzdGVkLAorK3NlYXJjaGVkLCBjb21wYXJlZCBhbmQgcmVwYWNrZWQgYnkgcGF0b29sLiBU aGUgYWR2YW50YWdlIG9mIHBhdG9vbAorK2lzIGl0cyBzaW1wbGljaXR5IGluIGhhbmRsaW5nIGFy Y2hpdmUgZmlsZXMgd2l0aG91dCBoYXZpbmcgdG8gcmVtZW1iZXIKKythIG15cmlhZCBvZiBwcm9n cmFtcyBhbmQgb3B0aW9ucy4KKysKKytUaGUgYXJjaGl2ZSBmb3JtYXQgaXMgZGV0ZXJtaW5lZCBi eSB0aGUgZmlsZSgxKSBwcm9ncmFtIGFuZCBhcyBhCisrZmFsbGJhY2sgYnkgdGhlIGFyY2hpdmUg ZmlsZSBleHRlbnNpb24uCisrCisrcGF0b29sIHN1cHBvcnRzIDd6ICguN3opLCBBQ0UgKC5hY2Up LCBBREYgKC5hZGYpLCBBTFpJUCAoLmFseiksIEFQRSAoLmFwZSksCisrQVIgKC5hKSwgQVJDICgu YXJjKSwgQVJKICguYXJqKSwgQlpJUDIgKC5iejIpLAorK0NBQiAoLmNhYiksIENPTVBSRVNTICgu WiksIENQSU8gKC5jcGlvKSwKKytERUIgKC5kZWIpLCBETVMgKC5kbXMpLCBGTEFDICguZmxhYyks IEdaSVAgKC5neiksIElTTyAoLmlzbyksIExSWklQICgubHJ6KSwKKytMWkggKC5saGEsIC5semgp LCBMWklQICgubHopLCBMWk1BICgubHptYSksIExaT1AgKC5sem8pLCBSUE0gKC5ycG0pLAorK1JB UiAoLnJhciksIFJaSVAgKC5yeiksIFNITiAoLnNobiksIFRBUiAoLnRhciksIFhaICgueHopLCBa SVAgKC56aXAsIC5qYXIpLAorK1pPTyAoLnpvbykgYW5kIFpQQVEgKC56cGFxKSBmb3JtYXRzLgor K0l0IHJlbGllcyBvbiBoZWxwZXIgYXBwbGljYXRpb25zIHRvIGhhbmRsZSB0aG9zZSBhcmNoaXZl IGZvcm1hdHMKKysoZm9yIGV4YW1wbGUgYnppcDIgZm9yIEJaSVAyIGFyY2hpdmVzKS4KKysKKytU aGUgYXJjaGl2ZSBmb3JtYXRzIFRBUiwgWklQLCBCWklQMiBhbmQgR1pJUAorK2FyZSBzdXBwb3J0 ZWQgbmF0aXZlbHkgYW5kIGRvIG5vdCByZXF1aXJlIGhlbHBlciBhcHBsaWNhdGlvbnMgdG8gYmUK KytpbnN0YWxsZWQuCisrKQVaCGFyY2hpdmVy2gdhcmNoaXZl2gtjb21wcmVzc2lvbloLY29tbWFu ZGxpbmXaB21hbmFnZXJaB1VOS05PV056C3BhdG9vbC0xLjEyegkxNy4xLjIwMTZOKRNaCisrY29u ZmlnX2RpcloMaW5zdGFsbF9kYXRhWg9pbnN0YWxsX3NjcmlwdHPaBG5hbWXaB3ZlcnNpb27aBmF1 dGhvctoMYXV0aG9yX2VtYWls2gorK21haW50YWluZXJaEG1haW50YWluZXJfZW1haWzaA3VybNoH bGljZW5zZdoLZGVzY3JpcHRpb25aEGxvbmdfZGVzY3JpcHRpb27aCGtleXdvcmRzWglwbGF0Zm9y bXPaCGZ1bGxuYW1lWgdjb250YWN0Wg1jb250YWN0X2VtYWls2gxyZWxlYXNlX2RhdGWpAHIQAAAA chAAAAD6NC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9fcGF0b29sX2NvbmZpZ2RhdGEu cHnaCDxtb2R1bGU+AQAAAHMmAAAABAIEAQQBBAEEAQQBBAEEAQQBBAEEAQQBBAEIAQYBBAEEAQQB CAEKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJl YW0tMS4xMi9fcGF0b29sX2NvbmZpZ2RhdGEucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hl ZC9fcGF0b29sX2NvbmZpZ2RhdGEucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9fcGF0b29s X2NvbmZpZ2RhdGEucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL19wYXRvb2xfY29uZmlnZGF0YS5weQkyMDIxLTEy LTAyIDIyOjIzOjEwLjU3MjgzMjIxNCArMDEwMAorQEAgLTAsMCArMSwyMSBAQAorKyMgLSotIGNv ZGluZzogaXNvLTg4NTktMSAtKi0KKysjIHRoaXMgZmlsZSBpcyBhdXRvbWF0aWNhbGx5IGNyZWF0 ZWQgYnkgc2V0dXAucHkKKytjb25maWdfZGlyID0gJy9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0t MS4xMi9jb25maWcnCisraW5zdGFsbF9kYXRhID0gJy9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0t MS4xMicKKytpbnN0YWxsX3NjcmlwdHMgPSAnL2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEy JworK25hbWUgPSAncGF0b29sJworK3ZlcnNpb24gPSAnMS4xMicKKythdXRob3IgPSAnQmFzdGlh biBLbGVpbmVpZGFtJworK2F1dGhvcl9lbWFpbCA9ICdiYXN0aWFuLmtsZWluZWlkYW1Ad2ViLmRl JworK21haW50YWluZXIgPSAnQmFzdGlhbiBLbGVpbmVpZGFtJworK21haW50YWluZXJfZW1haWwg PSAnYmFzdGlhbi5rbGVpbmVpZGFtQHdlYi5kZScKKyt1cmwgPSAnaHR0cDovL3d1bW1lbC5naXRo dWIuaW8vcGF0b29sLycKKytsaWNlbnNlID0gJ0dQTCcKKytkZXNjcmlwdGlvbiA9ICdwb3J0YWJs ZSBhcmNoaXZlIGZpbGUgbWFuYWdlcicKKytsb25nX2Rlc2NyaXB0aW9uID0gJ1ZhcmlvdXMgYXJj aGl2ZSBmb3JtYXRzIGNhbiBiZSBjcmVhdGVkLCBleHRyYWN0ZWQsIHRlc3RlZCwgbGlzdGVkLFxu c2VhcmNoZWQsIGNvbXBhcmVkIGFuZCByZXBhY2tlZCBieSBwYXRvb2wuIFRoZSBhZHZhbnRhZ2Ug b2YgcGF0b29sXG5pcyBpdHMgc2ltcGxpY2l0eSBpbiBoYW5kbGluZyBhcmNoaXZlIGZpbGVzIHdp dGhvdXQgaGF2aW5nIHRvIHJlbWVtYmVyXG5hIG15cmlhZCBvZiBwcm9ncmFtcyBhbmQgb3B0aW9u cy5cblxuVGhlIGFyY2hpdmUgZm9ybWF0IGlzIGRldGVybWluZWQgYnkgdGhlIGZpbGUoMSkgcHJv Z3JhbSBhbmQgYXMgYVxuZmFsbGJhY2sgYnkgdGhlIGFyY2hpdmUgZmlsZSBleHRlbnNpb24uXG5c bnBhdG9vbCBzdXBwb3J0cyA3eiAoLjd6KSwgQUNFICguYWNlKSwgQURGICguYWRmKSwgQUxaSVAg KC5hbHopLCBBUEUgKC5hcGUpLFxuQVIgKC5hKSwgQVJDICguYXJjKSwgQVJKICguYXJqKSwgQlpJ UDIgKC5iejIpLFxuQ0FCICguY2FiKSwgQ09NUFJFU1MgKC5aKSwgQ1BJTyAoLmNwaW8pLFxuREVC ICguZGViKSwgRE1TICguZG1zKSwgRkxBQyAoLmZsYWMpLCBHWklQICguZ3opLCBJU08gKC5pc28p LCBMUlpJUCAoLmxyeiksXG5MWkggKC5saGEsIC5semgpLCBMWklQICgubHopLCBMWk1BICgubHpt YSksIExaT1AgKC5sem8pLCBSUE0gKC5ycG0pLFxuUkFSICgucmFyKSwgUlpJUCAoLnJ6KSwgU0hO ICguc2huKSwgVEFSICgudGFyKSwgWFogKC54eiksIFpJUCAoLnppcCwgLmphciksXG5aT08gKC56 b28pIGFuZCBaUEFRICguenBhcSkgZm9ybWF0cy5cbkl0IHJlbGllcyBvbiBoZWxwZXIgYXBwbGlj YXRpb25zIHRvIGhhbmRsZSB0aG9zZSBhcmNoaXZlIGZvcm1hdHNcbihmb3IgZXhhbXBsZSBiemlw MiBmb3IgQlpJUDIgYXJjaGl2ZXMpLlxuXG5UaGUgYXJjaGl2ZSBmb3JtYXRzIFRBUiwgWklQLCBC WklQMiBhbmQgR1pJUFxuYXJlIHN1cHBvcnRlZCBuYXRpdmVseSBhbmQgZG8gbm90IHJlcXVpcmUg aGVscGVyIGFwcGxpY2F0aW9ucyB0byBiZVxuaW5zdGFsbGVkLlxuJworK2tleXdvcmRzID0gWydh cmNoaXZlcicsICdhcmNoaXZlJywgJ2NvbXByZXNzaW9uJywgJ2NvbW1hbmRsaW5lJywgJ21hbmFn ZXInXQorK3BsYXRmb3JtcyA9IFsnVU5LTk9XTiddCisrZnVsbG5hbWUgPSAncGF0b29sLTEuMTIn CisrY29udGFjdCA9ICdCYXN0aWFuIEtsZWluZWlkYW0nCisrY29udGFjdF9lbWFpbCA9ICdiYXN0 aWFuLmtsZWluZWlkYW1Ad2ViLmRlJworK3JlbGVhc2VfZGF0ZSA9ICIxNy4xLjIwMTYiCitkaWZm IC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9fX2luaXRfXy5w eSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9fX2luaXRf Xy5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9fX2luaXRf Xy5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0 cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL19faW5pdF9fLnB5CTIwMjEtMTIt MDIgMjI6MjM6MTAuNTc3ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDc2NyBAQAorKyMgLSotIGNv ZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNiBCYXN0aWFuIEtsZWlu ZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRp c3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisr IyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3Jh bSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMg YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu dHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS UE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl dGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYg bm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorK2Zyb20gX19mdXR1cmVf XyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKytpbXBvcnQgc3lzCisraWYgbm90IGhhc2F0dHIoc3lz LCAidmVyc2lvbl9pbmZvIikgb3Igc3lzLnZlcnNpb25faW5mbyA8ICgyLCA3LCAwLCAiZmluYWwi LCAwKToKKysgICAgcmFpc2UgU3lzdGVtRXhpdCgiVGhpcyBwcm9ncmFtIHJlcXVpcmVzIFB5dGhv biAyLjcgb3IgbGF0ZXIuIikKKytpbXBvcnQgb3MKKytpbXBvcnQgc2h1dGlsCisraW1wb3J0IHN0 YXQKKytpbXBvcnQgaW1wb3J0bGliCisrIyBQRVAgMzk2CisrZnJvbSAuY29uZmlndXJhdGlvbiBp bXBvcnQgQXBwLCBWZXJzaW9uIGFzIF9fdmVyc2lvbl9fCisrX19hbGxfXyA9IFsnbGlzdF9mb3Jt YXRzJywgJ2xpc3RfYXJjaGl2ZScsICdleHRyYWN0X2FyY2hpdmUnLCAndGVzdF9hcmNoaXZlJywK KysgICAgJ2NyZWF0ZV9hcmNoaXZlJywgJ2RpZmZfYXJjaGl2ZXMnLCAnc2VhcmNoX2FyY2hpdmUn LCAncmVwYWNrX2FyY2hpdmUnLAorKyAgICAncmVjb21wcmVzc19hcmNoaXZlJ10KKysKKysKKysj IFN1cHBvcnRlZCBhcmNoaXZlIGNvbW1hbmRzCisrQXJjaGl2ZUNvbW1hbmRzID0gKCdsaXN0Jywg J2V4dHJhY3QnLCAndGVzdCcsICdjcmVhdGUnKQorKworKyMgU3VwcG9ydGVkIGFyY2hpdmUgZm9y bWF0cworK0FyY2hpdmVGb3JtYXRzID0gKAorKyAgICAnN3onLCAnYWNlJywgJ2FkZicsICdhbHpp cCcsICdhcGUnLCAnYXInLCAnYXJjJywgJ2FyaicsCisrICAgICdiemlwMicsICdjYWInLCAnY2ht JywgJ2NvbXByZXNzJywgJ2NwaW8nLCAnZGViJywgJ2RtcycsCisrICAgICdmbGFjJywgJ2d6aXAn LCAnaXNvJywgJ2xyemlwJywgJ2x6aCcsICdsemlwJywgJ2x6bWEnLCAnbHpvcCcsCisrICAgICdy YXInLCAncnBtJywgJ3J6aXAnLCAnc2hhcicsICdzaG4nLCAndGFyJywgJ3ZoZCcsICd4eicsCisr ICAgICd6aXAnLCAnem9vJywgJ3pwYXEnKQorKworKyMgU3VwcG9ydGVkIGNvbXByZXNzaW9ucyAo dXNlZCB3aXRoIHRhciBmb3IgZXhhbXBsZSkKKysjIE5vdGUgdGhhdCBhbGwgY29tcHJlc3Npb25z IG11c3QgYWxzbyBiZSBhcmNoaXZlIGZvcm1hdHMKKytBcmNoaXZlQ29tcHJlc3Npb25zID0gKCdi emlwMicsICdjb21wcmVzcycsICdnemlwJywgJ2x6aXAnLCAnbHptYScsICd4eicpCisrCisrIyBN YXAgTUlNRSB0eXBlcyB0byBhcmNoaXZlIGZvcm1hdAorK0FyY2hpdmVNaW1ldHlwZXMgPSB7Cisr ICAgICdhcHBsaWNhdGlvbi9nemlwJzogJ2d6aXAnLAorKyAgICAnYXBwbGljYXRpb24vamF2YS1h cmNoaXZlJzogJ3ppcCcsCisrICAgICdhcHBsaWNhdGlvbi9yYXInOiAncmFyJywKKysgICAgJ2Fw cGxpY2F0aW9uL3ZuZC5tcy1jYWItY29tcHJlc3NlZCc6ICdjYWInLAorKyAgICAnYXBwbGljYXRp b24veC03ei1jb21wcmVzc2VkJzogJzd6JywKKysgICAgJ2FwcGxpY2F0aW9uL3gtYWNlJzogJ2Fj ZScsCisrICAgICdhcHBsaWNhdGlvbi94LWFkZic6ICdhZGYnLAorKyAgICAnYXBwbGljYXRpb24v eC1hbHppcCc6ICdhbHppcCcsCisrICAgICdhcHBsaWNhdGlvbi94LWFyY2hpdmUnOiAnYXInLAor KyAgICAnYXBwbGljYXRpb24veC1hcmMnOiAnYXJjJywKKysgICAgJ2FwcGxpY2F0aW9uL3gtYXJq JzogJ2FyaicsCisrICAgICdhcHBsaWNhdGlvbi94LWJ6aXAyJzogJ2J6aXAyJywKKysgICAgJ2Fw cGxpY2F0aW9uL3gtY2FiJzogJ2NhYicsCisrICAgICdhcHBsaWNhdGlvbi94LWNobSc6ICdjaG0n LAorKyAgICAnYXBwbGljYXRpb24veC1jb21wcmVzcyc6ICdjb21wcmVzcycsCisrICAgICdhcHBs aWNhdGlvbi94LWNwaW8nOiAnY3BpbycsCisrICAgICdhcHBsaWNhdGlvbi94LWRlYmlhbi1wYWNr YWdlJzogJ2RlYicsCisrICAgICdhcHBsaWNhdGlvbi94LWRtcyc6ICdkbXMnLAorKyAgICAnYXBw bGljYXRpb24veC1nemlwJzogJ2d6aXAnLAorKyAgICAnYXBwbGljYXRpb24veC1pc285NjYwLWlt YWdlJzogJ2lzbycsCisrICAgICdhcHBsaWNhdGlvbi94LWx6b3AnOiAnbHpvcCcsCisrICAgICdh cHBsaWNhdGlvbi94LWx6bWEnOiAnbHptYScsCisrICAgICdhcHBsaWNhdGlvbi94LWx6aXAnOiAn bHppcCcsCisrICAgICdhcHBsaWNhdGlvbi94LWxoYSc6ICdsemgnLAorKyAgICAnYXBwbGljYXRp b24veC1scnppcCc6ICdscnppcCcsCisrICAgICdhcHBsaWNhdGlvbi94LWx6aCc6ICdsemgnLAor KyAgICAnYXBwbGljYXRpb24veC1yYXInOiAncmFyJywKKysgICAgJ2FwcGxpY2F0aW9uL3gtcmVk aGF0LXBhY2thZ2UtbWFuYWdlcic6ICdycG0nLAorKyAgICAnYXBwbGljYXRpb24veC1ycG0nOiAn cnBtJywKKysgICAgJ2FwcGxpY2F0aW9uL3gtcnppcCc6ICdyemlwJywKKysgICAgJ2FwcGxpY2F0 aW9uL3gtc2hhcic6ICdzaGFyJywKKysgICAgJ2FwcGxpY2F0aW9uL3gtdGFyJzogJ3RhcicsCisr ICAgICdhcHBsaWNhdGlvbi94LXZoZCc6ICd2aGQnLAorKyAgICAnYXBwbGljYXRpb24veC14eic6 ICd4eicsCisrICAgICdhcHBsaWNhdGlvbi94LXppcC1jb21wcmVzc2VkJzogJ3ppcCcsCisrICAg ICdhcHBsaWNhdGlvbi94LXpvbyc6ICd6b28nLAorKyAgICAnYXBwbGljYXRpb24vemlwJzogJ3pp cCcsCisrICAgICdhcHBsaWNhdGlvbi96cGFxJzogJ3pwYXEnLAorKyAgICAnYXVkaW8veC1hcGUn OiAnYXBlJywKKysgICAgJ2F1ZGlvL3gtc2huJzogJ3NobicsCisrICAgICdhdWRpby9mbGFjJzog J2ZsYWMnLAorK30KKysKKyt0cnk6CisrICAgICMgdXNlIFB5dGhvbiAzIGx6bWEgbW9kdWxlIGlm IGF2YWlsYWJsZQorKyAgICBpbXBvcnQgbHptYQorKyAgICBweV9sem1hID0gKCdweV9sem1hJywp CisrZXhjZXB0IEltcG9ydEVycm9yOgorKyAgICBweV9sem1hID0gKCkKKysKKysjIExpc3Qgb2Yg cHJvZ3JhbXMgc3VwcG9ydGluZyB0aGUgZ2l2ZW4gYXJjaGl2ZSBmb3JtYXQgYW5kIGNvbW1hbmQu CisrIyBJZiBjb21tYW5kIGlzIE5vbmUsIHRoZSBwcm9ncmFtIHN1cHBvcnRzIGFsbCBjb21tYW5k cyAobGlzdCwgZXh0cmFjdCwgLi4uKQorKyMgUHJvZ3JhbXMgc3RhcnRpbmcgd2l0aCAicHlfIiBh cmUgUHl0aG9uIG1vZHVsZXMuCisrQXJjaGl2ZVByb2dyYW1zID0geworKyAgICAnYWNlJzogewor KyAgICAgICAgJ2V4dHJhY3QnOiAoJ3VuYWNlJywpLAorKyAgICAgICAgJ3Rlc3QnOiAoJ3VuYWNl JywpLAorKyAgICAgICAgJ2xpc3QnOiAoJ3VuYWNlJywpLAorKyAgICB9LAorKyAgICAnYWRmJzog eworKyAgICAgICAgJ2V4dHJhY3QnOiAoJ3VuYWRmJywpLAorKyAgICAgICAgJ3Rlc3QnOiAoJ3Vu YWRmJywpLAorKyAgICAgICAgJ2xpc3QnOiAoJ3VuYWRmJywpLAorKyAgICB9LAorKyAgICAnYWx6 aXAnOiB7CisrICAgICAgICAnZXh0cmFjdCc6ICgndW5hbHonLCksCisrICAgICAgICAndGVzdCc6 ICgndW5hbHonLCksCisrICAgICAgICAnbGlzdCc6ICgndW5hbHonLCksCisrICAgIH0sCisrICAg ICdhcGUnOiB7CisrICAgICAgICAnY3JlYXRlJzogKCdtYWMnLCksCisrICAgICAgICAnZXh0cmFj dCc6ICgnbWFjJywpLAorKyAgICAgICAgJ2xpc3QnOiAoJ3B5X2VjaG8nLCksCisrICAgICAgICAn dGVzdCc6ICgnbWFjJywpLAorKyAgICB9LAorKyAgICAnYXInOiB7CisrICAgICAgICBOb25lOiAo J2FyJywpLAorKyAgICB9LAorKyAgICAnYXJjJzogeworKyAgICAgICAgTm9uZTogKCdhcmMnLCks CisrICAgICAgICAnZXh0cmFjdCc6ICgnbm9tYXJjaCcsKSwKKysgICAgICAgICd0ZXN0JzogKCdu b21hcmNoJywpLAorKyAgICAgICAgJ2xpc3QnOiAoJ25vbWFyY2gnLCksCisrICAgIH0sCisrICAg ICdiemlwMic6IHsKKysgICAgICAgIE5vbmU6ICgnN3onLCAnN3phJyksCisrICAgICAgICAnZXh0 cmFjdCc6ICgncGJ6aXAyJywgJ2xiemlwMicsICdiemlwMicsICdweV9iejInKSwKKysgICAgICAg ICd0ZXN0JzogKCdwYnppcDInLCAnbGJ6aXAyJywgJ2J6aXAyJyksCisrICAgICAgICAnY3JlYXRl JzogKCdwYnppcDInLCAnbGJ6aXAyJywgJ2J6aXAyJywgJ3B5X2J6MicpLAorKyAgICAgICAgJ2xp c3QnOiAoJ3B5X2VjaG8nKSwKKysgICAgfSwKKysgICAgJ2NhYic6IHsKKysgICAgICAgICdleHRy YWN0JzogKCdjYWJleHRyYWN0JywgJzd6JyksCisrICAgICAgICAnY3JlYXRlJzogKCdsY2FiJywp LAorKyAgICAgICAgJ2xpc3QnOiAoJ2NhYmV4dHJhY3QnLCAnN3onKSwKKysgICAgICAgICd0ZXN0 JzogKCdjYWJleHRyYWN0JywgJzd6JyksCisrICAgIH0sCisrICAgICdjaG0nOiB7CisrICAgICAg ICAnZXh0cmFjdCc6ICgnYXJjaG1hZ2UnLCAnZXh0cmFjdF9jaG1MaWInKSwKKysgICAgICAgICd0 ZXN0JzogKCdhcmNobWFnZScsKSwKKysgICAgfSwKKysgICAgJ2ZsYWMnOiB7CisrICAgICAgICAn ZXh0cmFjdCc6ICgnZmxhYycsKSwKKysgICAgICAgICd0ZXN0JzogKCdmbGFjJywpLAorKyAgICAg ICAgJ2NyZWF0ZSc6ICgnZmxhYycsKSwKKysgICAgICAgICdsaXN0JzogKCdweV9lY2hvJywpLAor KyAgICB9LAorKyAgICAndGFyJzogeworKyAgICAgICAgTm9uZTogKCd0YXInLCAnc3RhcicsICdi c2R0YXInLCAncHlfdGFyZmlsZScpLAorKyAgICB9LAorKyAgICAnemlwJzogeworKyAgICAgICAg Tm9uZTogKCc3eicsICc3emEnLCAncHlfemlwZmlsZScpLAorKyAgICAgICAgJ2V4dHJhY3QnOiAo J3VuemlwJywpLAorKyAgICAgICAgJ2xpc3QnOiAoJ3VuemlwJywpLAorKyAgICAgICAgJ3Rlc3Qn OiAoJ3ppcCcsICd1bnppcCcsKSwKKysgICAgICAgICdjcmVhdGUnOiAoJ3ppcCcsKSwKKysgICAg fSwKKysgICAgJ2d6aXAnOiB7CisrICAgICAgICBOb25lOiAoJzd6JywgJzd6YScsICdwaWd6Jywg J2d6aXAnKSwKKysgICAgICAgICdleHRyYWN0JzogKCdweV9nemlwJywpLAorKyAgICAgICAgJ2Ny ZWF0ZSc6ICgnem9wZmxpJywgJ3B5X2d6aXAnKSwKKysgICAgfSwKKysgICAgJ2lzbyc6IHsKKysg ICAgICAgICdleHRyYWN0JzogKCc3eicsKSwKKysgICAgICAgICdsaXN0JzogKCc3eicsICdpc29p bmZvJyksCisrICAgICAgICAndGVzdCc6ICgnN3onLCksCisrICAgICAgICAnY3JlYXRlJzogKCdn ZW5pc29pbWFnZScsKSwKKysgICAgfSwKKysgICAgJ2x6aCc6IHsKKysgICAgICAgIE5vbmU6ICgn bGhhJywpLAorKyAgICAgICAgJ2V4dHJhY3QnOiAoJ2xoYXNhJywpLAorKyAgICB9LAorKyAgICAn bHppcCc6IHsKKysgICAgICAgICdleHRyYWN0JzogKCdwbHppcCcsICdsemlwJywgJ2NsemlwJywg J3BkbHppcCcpLAorKyAgICAgICAgJ2xpc3QnOiAoJ3B5X2VjaG8nLCksCisrICAgICAgICAndGVz dCc6ICgncGx6aXAnLCAnbHppcCcsICdjbHppcCcsICdwZGx6aXAnKSwKKysgICAgICAgICdjcmVh dGUnOiAoJ3BsemlwJywgJ2x6aXAnLCAnY2x6aXAnLCAncGRsemlwJyksCisrICAgIH0sCisrICAg ICdscnppcCc6IHsKKysgICAgICAgICdleHRyYWN0JzogKCdscnppcCcsKSwKKysgICAgICAgICds aXN0JzogKCdweV9lY2hvJywpLAorKyAgICAgICAgJ3Rlc3QnOiAoJ2xyemlwJywpLAorKyAgICAg ICAgJ2NyZWF0ZSc6ICgnbHJ6aXAnLCksCisrICAgIH0sCisrICAgICdjb21wcmVzcyc6IHsKKysg ICAgICAgICdleHRyYWN0JzogKCdnemlwJywgJzd6JywgJzd6YScsICd1bmNvbXByZXNzLnJlYWwn KSwKKysgICAgICAgICdsaXN0JzogKCc3eicsICc3emEnLCAncHlfZWNobycsKSwKKysgICAgICAg ICd0ZXN0JzogKCdnemlwJywgJzd6JywgJzd6YScpLAorKyAgICAgICAgJ2NyZWF0ZSc6ICgnY29t cHJlc3MnLCksCisrICAgIH0sCisrICAgICc3eic6IHsKKysgICAgICAgIE5vbmU6ICgnN3onLCAn N3phJywgJzd6cicpLAorKyAgICB9LAorKyAgICAncmFyJzogeworKyAgICAgICAgTm9uZTogKCdy YXInLCksCisrICAgICAgICAnZXh0cmFjdCc6ICgndW5yYXInLCAnN3onKSwKKysgICAgICAgICds aXN0JzogKCd1bnJhcicsICc3eicpLAorKyAgICAgICAgJ3Rlc3QnOiAoJ3VucmFyJywgJzd6Jyks CisrICAgIH0sCisrICAgICdhcmonOiB7CisrICAgICAgICBOb25lOiAoJ2FyaicsKSwKKysgICAg ICAgICdleHRyYWN0JzogKCc3eicsKSwKKysgICAgICAgICdsaXN0JzogKCc3eicsKSwKKysgICAg ICAgICd0ZXN0JzogKCc3eicsKSwKKysgICAgfSwKKysgICAgJ2NwaW8nOiB7CisrICAgICAgICAn ZXh0cmFjdCc6ICgnY3BpbycsICdic2RjcGlvJywgJzd6JyksCisrICAgICAgICAnbGlzdCc6ICgn Y3BpbycsICdic2RjcGlvJywgJzd6JyksCisrICAgICAgICAndGVzdCc6ICgnY3BpbycsICdic2Rj cGlvJywgJzd6JywpLAorKyAgICAgICAgJ2NyZWF0ZSc6ICgnY3BpbycsICdic2RjcGlvJyksCisr ICAgIH0sCisrICAgICdycG0nOiB7CisrICAgICAgICAnZXh0cmFjdCc6ICgncnBtMmNwaW8nLCAn N3onKSwKKysgICAgICAgICdsaXN0JzogKCdycG0nLCAnN3onLCAnN3phJyksCisrICAgICAgICAn dGVzdCc6ICgncnBtJywgJzd6JyksCisrICAgIH0sCisrICAgICdkZWInOiB7CisrICAgICAgICAn ZXh0cmFjdCc6ICgnZHBrZy1kZWInLCAnN3onKSwKKysgICAgICAgICdsaXN0JzogKCdkcGtnLWRl YicsICc3eicpLAorKyAgICAgICAgJ3Rlc3QnOiAoJ2Rwa2ctZGViJywgJzd6JyksCisrICAgIH0s CisrICAgICdkbXMnOiB7CisrICAgICAgICAnZXh0cmFjdCc6ICgneGRtcycsKSwKKysgICAgICAg ICdsaXN0JzogKCd4ZG1zJywpLAorKyAgICAgICAgJ3Rlc3QnOiAoJ3hkbXMnLCksCisrICAgIH0s CisrICAgICdsem9wJzogeworKyAgICAgICAgTm9uZTogKCdsem9wJywpLAorKyAgICB9LAorKyAg ICAnbHptYSc6IHsKKysgICAgICAgICdleHRyYWN0JzogKCc3eicsICdsem1hJywgJ3h6JykgKyBw eV9sem1hLAorKyAgICAgICAgJ2xpc3QnOiAoJzd6JywgJ3B5X2VjaG8nKSwKKysgICAgICAgICd0 ZXN0JzogKCc3eicsICdsem1hJywgJ3h6JyksCisrICAgICAgICAnY3JlYXRlJzogKCdsem1hJywg J3h6JykgKyBweV9sem1hLAorKyAgICB9LAorKyAgICAncnppcCc6IHsKKysgICAgICAgICdleHRy YWN0JzogKCdyemlwJywpLAorKyAgICAgICAgJ2xpc3QnOiAoJ3B5X2VjaG8nLCksCisrICAgICAg ICAnY3JlYXRlJzogKCdyemlwJywpLAorKyAgICB9LAorKyAgICAnc2hhcic6IHsKKysgICAgICAg ICdjcmVhdGUnOiAoJ3NoYXInLCksCisrICAgICAgICAnZXh0cmFjdCc6ICgndW5zaGFyJywpLAor KyAgICB9LAorKyAgICAnc2huJzogeworKyAgICAgICAgJ2V4dHJhY3QnOiAoJ3Nob3J0ZW4nLCks CisrICAgICAgICAnbGlzdCc6ICgncHlfZWNobycsKSwKKysgICAgICAgICdjcmVhdGUnOiAoJ3No b3J0ZW4nLCksCisrICAgIH0sCisrICAgICd2aGQnOiB7CisrICAgICAgICAnZXh0cmFjdCc6ICgn N3onLCksCisrICAgICAgICAnbGlzdCc6ICgnN3onLCksCisrICAgICAgICAndGVzdCc6ICgnN3on LCksCisrICAgIH0sCisrICAgICd4eic6IHsKKysgICAgICAgIE5vbmU6ICgneHonLCAnN3onKSwK KysgICAgICAgICdleHRyYWN0JzogcHlfbHptYSwKKysgICAgICAgICdjcmVhdGUnOiBweV9sem1h LAorKyAgICB9LAorKyAgICAnem9vJzogeworKyAgICAgICAgTm9uZTogKCd6b28nLCksCisrICAg IH0sCisrICAgICd6cGFxJzogeworKyAgICAgICAgTm9uZTogKCd6cGFxJywpLAorKyAgICB9LAor K30KKysKKysjIExpc3QgdGhvc2UgcHJvZ3JhbXMgdGhhdCBoYXZlIGRpZmZlcmVudCBweXRob24g bW9kdWxlIG5hbWVzIGJlY2F1c2Ugb2YKKysjIFB5dGhvbiBtb2R1bGUgbmFtaW5nIHJlc3RyaWN0 aW9ucy4KKytQcm9ncmFtTW9kdWxlcyA9IHsKKysgICAgJzd6JzogJ3A3emlwJywKKysgICAgJzd6 YSc6ICdwN2F6aXAnLAorKyAgICAnN3pyJzogJ3A3cnppcCcsCisrICAgICd1bmNvbXByZXNzLnJl YWwnOiAndW5jb21wcmVzcycsCisrICAgICdkcGtnLWRlYic6ICdkcGtnJywKKysgICAgJ2V4dHJh Y3RfY2htbGliJzogJ2NobWxpYicsCisrfQorKworKworK2Zyb20gLiBpbXBvcnQgdXRpbAorKwor K2RlZiBnZXRfYXJjaGl2ZV9mb3JtYXQgKGZpbGVuYW1lKToKKysgICAgIiIiRGV0ZWN0IGZpbGVu YW1lIGFyY2hpdmUgZm9ybWF0IGFuZCBvcHRpb25hbCBjb21wcmVzc2lvbi4iIiIKKysgICAgbWlt ZSwgY29tcHJlc3Npb24gPSB1dGlsLmd1ZXNzX21pbWUoZmlsZW5hbWUpCisrICAgIGlmIG5vdCAo bWltZSBvciBjb21wcmVzc2lvbik6CisrICAgICAgICByYWlzZSB1dGlsLlBhdG9vbEVycm9yKCJ1 bmtub3duIGFyY2hpdmUgZm9ybWF0IGZvciBmaWxlIGAlcyciICUgZmlsZW5hbWUpCisrICAgIGlm IG1pbWUgaW4gQXJjaGl2ZU1pbWV0eXBlczoKKysgICAgICAgIGZvcm1hdCA9IEFyY2hpdmVNaW1l dHlwZXNbbWltZV0KKysgICAgZWxzZToKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3Io InVua25vd24gYXJjaGl2ZSBmb3JtYXQgZm9yIGZpbGUgYCVzJyAobWltZS10eXBlIGlzIGAlcycp IiAlIChmaWxlbmFtZSwgbWltZSkpCisrICAgIGlmIGZvcm1hdCA9PSBjb21wcmVzc2lvbjoKKysg ICAgICAgICMgZmlsZSBjYW5ub3QgYmUgaW4gc2FtZSBmb3JtYXQgY29tcHJlc3NlZAorKyAgICAg ICAgY29tcHJlc3Npb24gPSBOb25lCisrICAgIHJldHVybiBmb3JtYXQsIGNvbXByZXNzaW9uCisr CisrCisrZGVmIGNoZWNrX2FyY2hpdmVfZm9ybWF0IChmb3JtYXQsIGNvbXByZXNzaW9uKToKKysg ICAgIiIiTWFrZSBzdXJlIGZvcm1hdCBhbmQgY29tcHJlc3Npb24gaXMga25vd24uIiIiCisrICAg IGlmIGZvcm1hdCBub3QgaW4gQXJjaGl2ZUZvcm1hdHM6CisrICAgICAgICByYWlzZSB1dGlsLlBh dG9vbEVycm9yKCJ1bmtub3duIGFyY2hpdmUgZm9ybWF0IGAlcyciICUgZm9ybWF0KQorKyAgICBp ZiBjb21wcmVzc2lvbiBpcyBub3QgTm9uZSBhbmQgY29tcHJlc3Npb24gbm90IGluIEFyY2hpdmVD b21wcmVzc2lvbnM6CisrICAgICAgICByYWlzZSB1dGlsLlBhdG9vbEVycm9yKCJ1bmtvbnduIGFy Y2hpdmUgY29tcHJlc3Npb24gYCVzJyIgJSBjb21wcmVzc2lvbikKKysKKysKKytkZWYgZmluZF9h cmNoaXZlX3Byb2dyYW0gKGZvcm1hdCwgY29tbWFuZCwgcHJvZ3JhbT1Ob25lKToKKysgICAgIiIi RmluZCBzdWl0YWJsZSBhcmNoaXZlIHByb2dyYW0gZm9yIGdpdmVuIGZvcm1hdCBhbmQgbW9kZS4i IiIKKysgICAgY29tbWFuZHMgPSBBcmNoaXZlUHJvZ3JhbXNbZm9ybWF0XQorKyAgICBwcm9ncmFt cyA9IFtdCisrICAgIGlmIHByb2dyYW0gaXMgbm90IE5vbmU6CisrICAgICAgICAjIHRyeSBhIHNw ZWNpZmljIHByb2dyYW0gZmlyc3QKKysgICAgICAgIHByb2dyYW1zLmFwcGVuZChwcm9ncmFtKQor KyAgICAjIGZpcnN0IHRyeSB0aGUgdW5pdmVyc2FsIHByb2dyYW1zIHdpdGgga2V5IE5vbmUKKysg ICAgZm9yIGtleSBpbiAoTm9uZSwgY29tbWFuZCk6CisrICAgICAgICBpZiBrZXkgaW4gY29tbWFu ZHM6CisrICAgICAgICAgICAgcHJvZ3JhbXMuZXh0ZW5kKGNvbW1hbmRzW2tleV0pCisrICAgIGlm IG5vdCBwcm9ncmFtczoKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3IoIiVzIGFyY2hp dmUgZm9ybWF0IGAlcycgaXMgbm90IHN1cHBvcnRlZCIgJSAoY29tbWFuZCwgZm9ybWF0KSkKKysg ICAgIyByZXR1cm4gdGhlIGZpcnN0IGV4aXN0aW5nIHByb2dyYW0KKysgICAgZm9yIHByb2dyYW0g aW4gcHJvZ3JhbXM6CisrICAgICAgICBpZiBwcm9ncmFtLnN0YXJ0c3dpdGgoJ3B5XycpOgorKyAg ICAgICAgICAgICMgaXQncyBhIFB5dGhvbiBtb2R1bGUgYW5kIHRoZXJlZm9yZSBhbHdheXMgc3Vw cG9ydGVkCisrICAgICAgICAgICAgcmV0dXJuIHByb2dyYW0KKysgICAgICAgIGV4ZSA9IHV0aWwu ZmluZF9wcm9ncmFtKHByb2dyYW0pCisrICAgICAgICBpZiBleGU6CisrICAgICAgICAgICAgaWYg cHJvZ3JhbSA9PSAnN3onIGFuZCBmb3JtYXQgPT0gJ3JhcicgYW5kIG5vdCB1dGlsLnA3emlwX3N1 cHBvcnRzX3JhcigpOgorKyAgICAgICAgICAgICAgICBjb250aW51ZQorKyAgICAgICAgICAgIHJl dHVybiBleGUKKysgICAgIyBubyBwcm9ncmFtcyBmb3VuZAorKyAgICByYWlzZSB1dGlsLlBhdG9v bEVycm9yKCJjb3VsZCBub3QgZmluZCBhbiBleGVjdXRhYmxlIHByb2dyYW0gdG8gJXMgZm9ybWF0 ICVzOyBjYW5kaWRhdGVzIGFyZSAoJXMpLCIgJSAoY29tbWFuZCwgZm9ybWF0LCAiLCIuam9pbihw cm9ncmFtcykpKQorKworKworK2RlZiBwcm9ncmFtX3N1cHBvcnRzX2NvbXByZXNzaW9uIChwcm9n cmFtLCBjb21wcmVzc2lvbik6CisrICAgICIiIkRlY2lkZSBpZiB0aGUgZ2l2ZW4gcHJvZ3JhbSBz dXBwb3J0cyB0aGUgY29tcHJlc3Npb24gbmF0aXZlbHkuCisrICAgIEByZXR1cm46IFRydWUgaWZm IHRoZSBwcm9ncmFtIHN1cHBvcnRzIHRoZSBnaXZlbiBjb21wcmVzc2lvbiBmb3JtYXQKKysgICAg ICBuYXRpdmVseSwgZWxzZSBGYWxzZS4KKysgICAgIiIiCisrICAgIGlmIHByb2dyYW0gaW4gKCd0 YXInLCAnc3RhcicsICdic2R0YXInLCAncHlfdGFyZmlsZScpOgorKyAgICAgICAgcmV0dXJuIGNv bXByZXNzaW9uIGluICgnZ3ppcCcsICdiemlwMicpICsgcHlfbHptYQorKyAgICByZXR1cm4gRmFs c2UKKysKKysKKytkZWYgbGlzdF9mb3JtYXRzICgpOgorKyAgICAiIiJQcmludCBpbmZvcm1hdGlv biBhYm91dCBhdmFpbGFibGUgYXJjaGl2ZSBmb3JtYXRzIHRvIHN0ZG91dC4iIiIKKysgICAgcHJp bnQoIkFyY2hpdmUgcHJvZ3JhbXMgb2YiLCBBcHApCisrICAgIHByaW50KCJBcmNoaXZlIHByb2dy YW1zIGFyZSBzZWFyY2hlZCBpbiB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzOiIpCisrICAgIHBy aW50KHV0aWwuc3lzdGVtX3NlYXJjaF9wYXRoKCkpCisrICAgIHByaW50KCkKKysgICAgZm9yIGZv cm1hdCBpbiBBcmNoaXZlRm9ybWF0czoKKysgICAgICAgIHByaW50KGZvcm1hdCwgImZpbGVzOiIp CisrICAgICAgICBmb3IgY29tbWFuZCBpbiBBcmNoaXZlQ29tbWFuZHM6CisrICAgICAgICAgICAg cHJvZ3JhbXMgPSBBcmNoaXZlUHJvZ3JhbXNbZm9ybWF0XQorKyAgICAgICAgICAgIGlmIGNvbW1h bmQgbm90IGluIHByb2dyYW1zIGFuZCBOb25lIG5vdCBpbiBwcm9ncmFtczoKKysgICAgICAgICAg ICAgICAgcHJpbnQoIiAgICU4czogLSAobm90IHN1cHBvcnRlZCkiICUgY29tbWFuZCkKKysgICAg ICAgICAgICAgICAgY29udGludWUKKysgICAgICAgICAgICB0cnk6CisrICAgICAgICAgICAgICAg IHByb2dyYW0gPSBmaW5kX2FyY2hpdmVfcHJvZ3JhbShmb3JtYXQsIGNvbW1hbmQpCisrICAgICAg ICAgICAgICAgIHByaW50KCIgICAlOHM6ICVzIiAlIChjb21tYW5kLCBwcm9ncmFtKSwgZW5kPScg JykKKysgICAgICAgICAgICAgICAgaWYgZm9ybWF0ID09ICd0YXInOgorKyAgICAgICAgICAgICAg ICAgICAgZW5jcyA9IFt4IGZvciB4IGluIEFyY2hpdmVDb21wcmVzc2lvbnMgaWYgdXRpbC5maW5k X3Byb2dyYW0oeCldCisrICAgICAgICAgICAgICAgICAgICBpZiBlbmNzOgorKyAgICAgICAgICAg ICAgICAgICAgICAgIHByaW50KCIoc3VwcG9ydGVkIGNvbXByZXNzaW9uczogJXMpIiAlICIsICIu am9pbihlbmNzKSwgZW5kPScgJykKKysgICAgICAgICAgICAgICAgZWxpZiBmb3JtYXQgPT0gJzd6 JzoKKysgICAgICAgICAgICAgICAgICAgIGlmIHV0aWwucDd6aXBfc3VwcG9ydHNfcmFyKCk6Cisr ICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQoIihyYXIgYXJjaGl2ZXMgc3VwcG9ydGVkKSIs IGVuZD0nICcpCisrICAgICAgICAgICAgICAgICAgICBlbHNlOgorKyAgICAgICAgICAgICAgICAg ICAgICAgIHByaW50KCIocmFyIGFyY2hpdmVzIG5vdCBzdXBwb3J0ZWQpIiwgZW5kPScgJykKKysg ICAgICAgICAgICAgICAgcHJpbnQoKQorKyAgICAgICAgICAgIGV4Y2VwdCB1dGlsLlBhdG9vbEVy cm9yOgorKyAgICAgICAgICAgICAgICAjIGRpc3BsYXkgaW5mb3JtYXRpb24gd2hhdCBwcm9ncmFt cyBjYW4gaGFuZGxlIHRoaXMgYXJjaGl2ZSBmb3JtYXQKKysgICAgICAgICAgICAgICAgaGFuZGxl cnMgPSBwcm9ncmFtcy5nZXQoTm9uZSwgcHJvZ3JhbXMuZ2V0KGNvbW1hbmQpKQorKyAgICAgICAg ICAgICAgICBwcmludCgiICAgJThzOiAtIChubyBwcm9ncmFtIGZvdW5kOyBpbnN0YWxsICVzKSIg JQorKyAgICAgICAgICAgICAgICAgICAgICAoY29tbWFuZCwgdXRpbC5zdHJsaXN0X3dpdGhfb3Io aGFuZGxlcnMpKSkKKysKKysKKytkZWYgY2hlY2tfcHJvZ3JhbV9jb21wcmVzc2lvbihhcmNoaXZl LCBjb21tYW5kLCBwcm9ncmFtLCBjb21wcmVzc2lvbik6CisrICAgICIiIkNoZWNrIGlmIGEgcHJv Z3JhbSBzdXBwb3J0cyB0aGUgZ2l2ZW4gY29tcHJlc3Npb24uIiIiCisrICAgIHByb2dyYW0gPSBv cy5wYXRoLmJhc2VuYW1lKHByb2dyYW0pCisrICAgIGlmIGNvbXByZXNzaW9uOgorKyAgICAgICAg IyBjaGVjayBpZiBjb21wcmVzc2lvbiBpcyBzdXBwb3J0ZWQKKysgICAgICAgIGlmIG5vdCBwcm9n cmFtX3N1cHBvcnRzX2NvbXByZXNzaW9uKHByb2dyYW0sIGNvbXByZXNzaW9uKToKKysgICAgICAg ICAgICBpZiBjb21tYW5kID09ICdjcmVhdGUnOgorKyAgICAgICAgICAgICAgICBjb21wX2NvbW1h bmQgPSBjb21tYW5kCisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgY29tcF9j b21tYW5kID0gJ2V4dHJhY3QnCisrICAgICAgICAgICAgY29tcF9wcm9nID0gZmluZF9hcmNoaXZl X3Byb2dyYW0oY29tcHJlc3Npb24sIGNvbXBfY29tbWFuZCkKKysgICAgICAgICAgICBpZiBub3Qg Y29tcF9wcm9nOgorKyAgICAgICAgICAgICAgICBtc2cgPSAiY2Fubm90ICVzIGFyY2hpdmUgYCVz JzogY29tcHJlc3Npb24gYCVzJyBub3Qgc3VwcG9ydGVkIgorKyAgICAgICAgICAgICAgICByYWlz ZSB1dGlsLlBhdG9vbEVycm9yKG1zZyAlIChjb21tYW5kLCBhcmNoaXZlLCBjb21wcmVzc2lvbikp CisrCisrCisrZGVmIG1vdmVfb3V0ZGlyX29ycGhhbiAob3V0ZGlyKToKKysgICAgIiIiTW92ZSBh IHNpbmdsZSBmaWxlIG9yIGRpcmVjdG9yeSBpbnNpZGUgb3V0ZGlyIGEgbGV2ZWwgdXAuCisrICAg IE5ldmVyIG92ZXJ3cml0ZSBmaWxlcy4KKysgICAgUmV0dXJuIChUcnVlLCBvdXRmaWxlKSBpZiBz dWNjZXNzZnVsLCAoRmFsc2UsIHJlYXNvbikgaWYgbm90LiIiIgorKyAgICBlbnRyaWVzID0gb3Mu bGlzdGRpcihvdXRkaXIpCisrICAgIGlmIGxlbihlbnRyaWVzKSA9PSAxOgorKyAgICAgICAgc3Jj ID0gb3MucGF0aC5qb2luKG91dGRpciwgZW50cmllc1swXSkKKysgICAgICAgIGRzdCA9IG9zLnBh dGguam9pbihvcy5wYXRoLmRpcm5hbWUob3V0ZGlyKSwgZW50cmllc1swXSkKKysgICAgICAgIGlm IG9zLnBhdGguZXhpc3RzKGRzdCkgb3Igb3MucGF0aC5pc2xpbmsoZHN0KToKKysgICAgICAgICAg ICByZXR1cm4gKEZhbHNlLCAibG9jYWwgZmlsZSBleGlzdHMiKQorKyAgICAgICAgc2h1dGlsLm1v dmUoc3JjLCBkc3QpCisrICAgICAgICBvcy5ybWRpcihvdXRkaXIpCisrICAgICAgICByZXR1cm4g KFRydWUsIGVudHJpZXNbMF0pCisrICAgIHJldHVybiAoRmFsc2UsICJtdWx0aXBsZSBmaWxlcyBp biByb290IikKKysKKysKKytkZWYgcnVuX2FyY2hpdmVfY21kbGlzdCAoYXJjaGl2ZV9jbWRsaXN0 LCB2ZXJib3NpdHk9MCk6CisrICAgICIiIlJ1biBhcmNoaXZlIGNvbW1hbmQuIiIiCisrICAgICMg YXJjaGl2ZV9jbWRsaXN0IGlzIGEgY29tbWFuZCBsaXN0IHdpdGggb3B0aW9uYWwga2V5d29yZCBh cmd1bWVudHMKKysgICAgaWYgaXNpbnN0YW5jZShhcmNoaXZlX2NtZGxpc3QsIHR1cGxlKToKKysg ICAgICAgIGNtZGxpc3QsIHJ1bmt3YXJncyA9IGFyY2hpdmVfY21kbGlzdAorKyAgICBlbHNlOgor KyAgICAgICAgY21kbGlzdCwgcnVua3dhcmdzID0gYXJjaGl2ZV9jbWRsaXN0LCB7fQorKyAgICBy ZXR1cm4gdXRpbC5ydW5fY2hlY2tlZChjbWRsaXN0LCB2ZXJib3NpdHk9dmVyYm9zaXR5LCAqKnJ1 bmt3YXJncykKKysKKysKKytkZWYgbWFrZV9maWxlX3JlYWRhYmxlIChmaWxlbmFtZSk6CisrICAg ICIiIk1ha2UgZmlsZSB1c2VyIHJlYWRhYmxlIGlmIGl0IGlzIG5vdCBhIGxpbmsuIiIiCisrICAg IGlmIG5vdCBvcy5wYXRoLmlzbGluayhmaWxlbmFtZSk6CisrICAgICAgICB1dGlsLnNldF9tb2Rl KGZpbGVuYW1lLCBzdGF0LlNfSVJVU1IpCisrCisrCisrZGVmIG1ha2VfZGlyX3JlYWRhYmxlIChm aWxlbmFtZSk6CisrICAgICIiIk1ha2UgZGlyZWN0b3J5IHVzZXIgcmVhZGFibGUgYW5kIGV4ZWN1 dGFibGUuIiIiCisrICAgIHV0aWwuc2V0X21vZGUoZmlsZW5hbWUsIHN0YXQuU19JUlVTUnxzdGF0 LlNfSVhVU1IpCisrCisrCisrZGVmIG1ha2VfdXNlcl9yZWFkYWJsZSAoZGlyZWN0b3J5KToKKysg ICAgIiIiTWFrZSBhbGwgZmlsZXMgaW4gZ2l2ZW4gZGlyZWN0b3J5IHVzZXIgcmVhZGFibGUuIEFs c28gcmVjdXJzZSBpbnRvCisrICAgIHN1YmRpcmVjdG9yaWVzLiIiIgorKyAgICBmb3Igcm9vdCwg ZGlycywgZmlsZXMgaW4gb3Mud2FsayhkaXJlY3RvcnksIG9uZXJyb3I9dXRpbC5sb2dfZXJyb3Ip OgorKyAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVzOgorKyAgICAgICAgICAgIG1ha2VfZmls ZV9yZWFkYWJsZShvcy5wYXRoLmpvaW4ocm9vdCwgZmlsZW5hbWUpKQorKyAgICAgICAgZm9yIGRp cm5hbWUgaW4gZGlyczoKKysgICAgICAgICAgICBtYWtlX2Rpcl9yZWFkYWJsZShvcy5wYXRoLmpv aW4ocm9vdCwgZGlybmFtZSkpCisrCisrCisrZGVmIGNsZWFudXBfb3V0ZGlyIChvdXRkaXIsIGFy Y2hpdmUpOgorKyAgICAiIiJDbGVhbnVwIG91dGRpciBhZnRlciBleHRyYWN0aW9uIGFuZCByZXR1 cm4gdGFyZ2V0IGZpbGUgbmFtZSBhbmQKKysgICAgcmVzdWx0IHN0cmluZy4iIiIKKysgICAgbWFr ZV91c2VyX3JlYWRhYmxlKG91dGRpcikKKysgICAgIyBtb3ZlIHNpbmdsZSBkaXJlY3Rvcnkgb3Ig ZmlsZSBpbiBvdXRkaXIKKysgICAgKHN1Y2Nlc3MsIG1zZykgPSBtb3ZlX291dGRpcl9vcnBoYW4o b3V0ZGlyKQorKyAgICBpZiBzdWNjZXNzOgorKyAgICAgICAgIyBtc2cgaXMgYSBzaW5nbGUgZGly ZWN0b3J5IG9yIGZpbGVuYW1lCisrICAgICAgICByZXR1cm4gbXNnLCAiYCVzJyIgJSBtc2cKKysg ICAgIyBvdXRkaXIgcmVtYWlucyB1bmNoYW5nZWQKKysgICAgIyByZW5hbWUgaXQgdG8gc29tZXRo aW5nIG1vcmUgdXNlci1mcmllbmRseSAoYmFzaWNhbGx5IHRoZSBhcmNoaXZlCisrICAgICMgbmFt ZSB3aXRob3V0IGV4dGVuc2lvbikKKysgICAgb3V0ZGlyMiA9IHV0aWwuZ2V0X3NpbmdsZV9vdXRm aWxlKCIiLCBhcmNoaXZlKQorKyAgICBvcy5yZW5hbWUob3V0ZGlyLCBvdXRkaXIyKQorKyAgICBy ZXR1cm4gb3V0ZGlyMiwgImAlcycgKCVzKSIgJSAob3V0ZGlyMiwgbXNnKQorKworKworK2RlZiBf ZXh0cmFjdF9hcmNoaXZlKGFyY2hpdmUsIHZlcmJvc2l0eT0wLCBpbnRlcmFjdGl2ZT1UcnVlLCBv dXRkaXI9Tm9uZSwKKysgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtPU5vbmUsIGZvcm1hdD1O b25lLCBjb21wcmVzc2lvbj1Ob25lKToKKysgICAgIiIiRXh0cmFjdCBhbiBhcmNoaXZlLgorKyAg ICBAcmV0dXJuOiBvdXRwdXQgZGlyZWN0b3J5IGlmIGNvbW1hbmQgaXMgJ2V4dHJhY3QnLCBlbHNl IE5vbmUKKysgICAgIiIiCisrICAgIGlmIGZvcm1hdCBpcyBOb25lOgorKyAgICAgICAgZm9ybWF0 LCBjb21wcmVzc2lvbiA9IGdldF9hcmNoaXZlX2Zvcm1hdChhcmNoaXZlKQorKyAgICBjaGVja19h cmNoaXZlX2Zvcm1hdChmb3JtYXQsIGNvbXByZXNzaW9uKQorKyAgICBwcm9ncmFtID0gZmluZF9h cmNoaXZlX3Byb2dyYW0oZm9ybWF0LCAnZXh0cmFjdCcsIHByb2dyYW09cHJvZ3JhbSkKKysgICAg Y2hlY2tfcHJvZ3JhbV9jb21wcmVzc2lvbihhcmNoaXZlLCAnZXh0cmFjdCcsIHByb2dyYW0sIGNv bXByZXNzaW9uKQorKyAgICBnZXRfYXJjaGl2ZV9jbWRsaXN0ID0gZ2V0X2FyY2hpdmVfY21kbGlz dF9mdW5jKHByb2dyYW0sICdleHRyYWN0JywgZm9ybWF0KQorKyAgICBpZiBvdXRkaXIgaXMgTm9u ZToKKysgICAgICAgIG91dGRpciA9IHV0aWwudG1wZGlyKGRpcj0iLiIpCisrICAgICAgICBkb19j bGVhbnVwX291dGRpciA9IFRydWUKKysgICAgZWxzZToKKysgICAgICAgIGRvX2NsZWFudXBfb3V0 ZGlyID0gRmFsc2UKKysgICAgdHJ5OgorKyAgICAgICAgY21kbGlzdCA9IGdldF9hcmNoaXZlX2Nt ZGxpc3QoYXJjaGl2ZSwgY29tcHJlc3Npb24sIHByb2dyYW0sIHZlcmJvc2l0eSwgaW50ZXJhY3Rp dmUsIG91dGRpcikKKysgICAgICAgIGlmIGNtZGxpc3Q6CisrICAgICAgICAgICAgIyBhbiBlbXB0 eSBjb21tYW5kIGxpc3QgbWVhbnMgdGhlIGdldF9hcmNoaXZlX2NtZGxpc3QoKSBmdW5jdGlvbgor KyAgICAgICAgICAgICMgYWxyZWFkeSBoYW5kbGVkIHRoZSBjb21tYW5kIChlZy4gd2hlbiBpdCdz IGEgYnVpbHRpbiBQeXRob24KKysgICAgICAgICAgICAjIGZ1bmN0aW9uKQorKyAgICAgICAgICAg IHJ1bl9hcmNoaXZlX2NtZGxpc3QoY21kbGlzdCwgdmVyYm9zaXR5PXZlcmJvc2l0eSkKKysgICAg ICAgIGlmIGRvX2NsZWFudXBfb3V0ZGlyOgorKyAgICAgICAgICAgIHRhcmdldCwgbXNnID0gY2xl YW51cF9vdXRkaXIob3V0ZGlyLCBhcmNoaXZlKQorKyAgICAgICAgZWxzZToKKysgICAgICAgICAg ICB0YXJnZXQsIG1zZyA9IG91dGRpciwgImAlcyciICUgb3V0ZGlyCisrICAgICAgICBpZiB2ZXJi b3NpdHkgPj0gMDoKKysgICAgICAgICAgICB1dGlsLmxvZ19pbmZvKCIuLi4gJXMgZXh0cmFjdGVk IHRvICVzLiIgJSAoYXJjaGl2ZSwgbXNnKSkKKysgICAgICAgIHJldHVybiB0YXJnZXQKKysgICAg ZmluYWxseToKKysgICAgICAgICMgdHJ5IHRvIHJlbW92ZSBhbiBlbXB0eSB0ZW1wb3Jhcnkgb3V0 cHV0IGRpcmVjdG9yeQorKyAgICAgICAgaWYgZG9fY2xlYW51cF9vdXRkaXI6CisrICAgICAgICAg ICAgdHJ5OgorKyAgICAgICAgICAgICAgICBvcy5ybWRpcihvdXRkaXIpCisrICAgICAgICAgICAg ZXhjZXB0IE9TRXJyb3I6CisrICAgICAgICAgICAgICAgIHBhc3MKKysKKysKKytkZWYgX2NyZWF0 ZV9hcmNoaXZlKGFyY2hpdmUsIGZpbGVuYW1lcywgdmVyYm9zaXR5PTAsIGludGVyYWN0aXZlPVRy dWUsCisrICAgICAgICAgICAgICAgICAgICBwcm9ncmFtPU5vbmUsIGZvcm1hdD1Ob25lLCBjb21w cmVzc2lvbj1Ob25lKToKKysgICAgIiIiQ3JlYXRlIGFuIGFyY2hpdmUuIiIiCisrICAgIGlmIGZv cm1hdCBpcyBOb25lOgorKyAgICAgICAgZm9ybWF0LCBjb21wcmVzc2lvbiA9IGdldF9hcmNoaXZl X2Zvcm1hdChhcmNoaXZlKQorKyAgICBjaGVja19hcmNoaXZlX2Zvcm1hdChmb3JtYXQsIGNvbXBy ZXNzaW9uKQorKyAgICBwcm9ncmFtID0gZmluZF9hcmNoaXZlX3Byb2dyYW0oZm9ybWF0LCAnY3Jl YXRlJywgcHJvZ3JhbT1wcm9ncmFtKQorKyAgICBjaGVja19wcm9ncmFtX2NvbXByZXNzaW9uKGFy Y2hpdmUsICdjcmVhdGUnLCBwcm9ncmFtLCBjb21wcmVzc2lvbikKKysgICAgZ2V0X2FyY2hpdmVf Y21kbGlzdCA9IGdldF9hcmNoaXZlX2NtZGxpc3RfZnVuYyhwcm9ncmFtLCAnY3JlYXRlJywgZm9y bWF0KQorKyAgICBvcmlnYXJjaGl2ZSA9IE5vbmUKKysgICAgaWYgb3MucGF0aC5iYXNlbmFtZShw cm9ncmFtKSA9PSAnYXJjJyBhbmQgXAorKyAgICAgICAiLmFyYyIgaW4gYXJjaGl2ZSBhbmQgbm90 IGFyY2hpdmUuZW5kc3dpdGgoIi5hcmMiKToKKysgICAgICAgICMgdGhlIGFyYyBwcm9ncmFtIG1h bmdsZXMgdGhlIGFyY2hpdmUgbmFtZSBpZiBpdCBjb250YWlucyAiLmFyYyIKKysgICAgICAgIG9y aWdhcmNoaXZlID0gYXJjaGl2ZQorKyAgICAgICAgYXJjaGl2ZSA9IHV0aWwudG1wZmlsZShkaXI9 b3MucGF0aC5kaXJuYW1lKGFyY2hpdmUpLCBzdWZmaXg9Ii5hcmMiKQorKyAgICBjbWRsaXN0ID0g Z2V0X2FyY2hpdmVfY21kbGlzdChhcmNoaXZlLCBjb21wcmVzc2lvbiwgcHJvZ3JhbSwgdmVyYm9z aXR5LCBpbnRlcmFjdGl2ZSwgZmlsZW5hbWVzKQorKyAgICBpZiBjbWRsaXN0OgorKyAgICAgICAg IyBhbiBlbXB0eSBjb21tYW5kIGxpc3QgbWVhbnMgdGhlIGdldF9hcmNoaXZlX2NtZGxpc3QoKSBm dW5jdGlvbgorKyAgICAgICAgIyBhbHJlYWR5IGhhbmRsZWQgdGhlIGNvbW1hbmQgKGVnLiB3aGVu IGl0J3MgYSBidWlsdGluIFB5dGhvbgorKyAgICAgICAgIyBmdW5jdGlvbikKKysgICAgICAgIHJ1 bl9hcmNoaXZlX2NtZGxpc3QoY21kbGlzdCwgdmVyYm9zaXR5PXZlcmJvc2l0eSkKKysgICAgaWYg b3JpZ2FyY2hpdmU6CisrICAgICAgICBzaHV0aWwubW92ZShhcmNoaXZlLCBvcmlnYXJjaGl2ZSkK KysKKysKKytkZWYgX2hhbmRsZV9hcmNoaXZlKGFyY2hpdmUsIGNvbW1hbmQsIHZlcmJvc2l0eT0w LCBpbnRlcmFjdGl2ZT1UcnVlLAorKyAgICAgICAgICAgICAgICAgICAgcHJvZ3JhbT1Ob25lLCBm b3JtYXQ9Tm9uZSwgY29tcHJlc3Npb249Tm9uZSk6CisrICAgICIiIlRlc3QgYW5kIGxpc3QgYXJj aGl2ZXMuIiIiCisrICAgIGlmIGZvcm1hdCBpcyBOb25lOgorKyAgICAgICAgZm9ybWF0LCBjb21w cmVzc2lvbiA9IGdldF9hcmNoaXZlX2Zvcm1hdChhcmNoaXZlKQorKyAgICBjaGVja19hcmNoaXZl X2Zvcm1hdChmb3JtYXQsIGNvbXByZXNzaW9uKQorKyAgICBpZiBjb21tYW5kIG5vdCBpbiAoJ2xp c3QnLCAndGVzdCcpOgorKyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcigiaW52YWxpZCBh cmNoaXZlIGNvbW1hbmQgYCVzJyIgJSBjb21tYW5kKQorKyAgICBwcm9ncmFtID0gZmluZF9hcmNo aXZlX3Byb2dyYW0oZm9ybWF0LCBjb21tYW5kLCBwcm9ncmFtPXByb2dyYW0pCisrICAgIGNoZWNr X3Byb2dyYW1fY29tcHJlc3Npb24oYXJjaGl2ZSwgY29tbWFuZCwgcHJvZ3JhbSwgY29tcHJlc3Np b24pCisrICAgIGdldF9hcmNoaXZlX2NtZGxpc3QgPSBnZXRfYXJjaGl2ZV9jbWRsaXN0X2Z1bmMo cHJvZ3JhbSwgY29tbWFuZCwgZm9ybWF0KQorKyAgICAjIHByZXBhcmUga2V5d29yZCBhcmd1bWVu dHMgZm9yIGNvbW1hbmQgbGlzdAorKyAgICBjbWRsaXN0ID0gZ2V0X2FyY2hpdmVfY21kbGlzdChh cmNoaXZlLCBjb21wcmVzc2lvbiwgcHJvZ3JhbSwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSkKKysg ICAgaWYgY21kbGlzdDoKKysgICAgICAgICMgYW4gZW1wdHkgY29tbWFuZCBsaXN0IG1lYW5zIHRo ZSBnZXRfYXJjaGl2ZV9jbWRsaXN0KCkgZnVuY3Rpb24KKysgICAgICAgICMgYWxyZWFkeSBoYW5k bGVkIHRoZSBjb21tYW5kIChlZy4gd2hlbiBpdCdzIGEgYnVpbHRpbiBQeXRob24KKysgICAgICAg ICMgZnVuY3Rpb24pCisrICAgICAgICBydW5fYXJjaGl2ZV9jbWRsaXN0KGNtZGxpc3QsIHZlcmJv c2l0eT12ZXJib3NpdHkpCisrCisrCisrZGVmIGdldF9hcmNoaXZlX2NtZGxpc3RfZnVuYyAocHJv Z3JhbSwgY29tbWFuZCwgZm9ybWF0KToKKysgICAgIiIiR2V0IHRoZSBQeXRob24gZnVuY3Rpb24g dGhhdCBleGVjdXRlcyB0aGUgZ2l2ZW4gcHJvZ3JhbS4iIiIKKysgICAgIyBnZXQgcHl0aG9uIG1v ZHVsZSBmb3IgZ2l2ZW4gYXJjaGl2ZSBwcm9ncmFtCisrICAgIGtleSA9IHV0aWwuc3RyaXBleHQo b3MucGF0aC5iYXNlbmFtZShwcm9ncmFtKS5sb3dlcigpKQorKyAgICBtb2R1bGVuYW1lID0gIi5w cm9ncmFtcy4iICsgUHJvZ3JhbU1vZHVsZXMuZ2V0KGtleSwga2V5KQorKyAgICAjIGltcG9ydCB0 aGUgbW9kdWxlCisrICAgIHRyeToKKysgICAgICAgIG1vZHVsZSA9IGltcG9ydGxpYi5pbXBvcnRf bW9kdWxlKG1vZHVsZW5hbWUsIF9fbmFtZV9fKQorKyAgICBleGNlcHQgSW1wb3J0RXJyb3IgYXMg bXNnOgorKyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcihtc2cpCisrICAgICMgZ2V0IGFy Y2hpdmUgaGFuZGxlciBmdW5jdGlvbiAoZWcuIHBhdG9vbGliLnByb2dyYW1zLnN0YXIuZXh0cmFj dF90YXIpCisrICAgIHRyeToKKysgICAgICAgIHJldHVybiBnZXRhdHRyKG1vZHVsZSwgJyVzXyVz JyAlIChjb21tYW5kLCBmb3JtYXQpKQorKyAgICBleGNlcHQgQXR0cmlidXRlRXJyb3IgYXMgbXNn OgorKyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcihtc2cpCisrCisrCisrZGVmIHJtdHJl ZV9sb2dfZXJyb3IgKGZ1bmMsIHBhdGgsIGV4Yyk6CisrICAgICIiIkVycm9yIGZ1bmN0aW9uIGZv ciBzaHV0aWwucm10cmVlKCkuIFJhaXNlcyBhIFBhdG9vbEVycm9yLiIiIgorKyAgICBtc2cgPSAi RXJyb3IgaW4gJXMoJXMpOiAlcyIgJSAoZnVuYy5fX25hbWVfXywgcGF0aCwgc3RyKGV4Y1sxXSkp CisrICAgIHV0aWwubG9nX2Vycm9yKG1zZykKKysKKysKKytkZWYgX2RpZmZfYXJjaGl2ZXMgKGFy Y2hpdmUxLCBhcmNoaXZlMiwgdmVyYm9zaXR5PTAsIGludGVyYWN0aXZlPVRydWUpOgorKyAgICAi IiJTaG93IGRpZmZlcmVuY2VzIGJldHdlZW4gdHdvIGFyY2hpdmVzLgorKyAgICBAcmV0dXJuIDAg aWYgYXJjaGl2ZXMgYXJlIHRoZSBzYW1lLCBlbHNlIDEKKysgICAgQHJhaXNlczogUGF0b29sRXJy b3Igb24gZXJyb3JzCisrICAgICIiIgorKyAgICBpZiB1dGlsLmlzX3NhbWVfZmlsZShhcmNoaXZl MSwgYXJjaGl2ZTIpOgorKyAgICAgICAgcmV0dXJuIDAKKysgICAgZGlmZiA9IHV0aWwuZmluZF9w cm9ncmFtKCJkaWZmIikKKysgICAgaWYgbm90IGRpZmY6CisrICAgICAgICBtc2cgPSAiVGhlIGRp ZmYoMSkgcHJvZ3JhbSBpcyByZXF1aXJlZCBmb3Igc2hvd2luZyBhcmNoaXZlIGRpZmZlcmVuY2Vz LCBwbGVhc2UgaW5zdGFsbCBpdC4iCisrICAgICAgICByYWlzZSB1dGlsLlBhdG9vbEVycm9yKG1z ZykKKysgICAgdG1wZGlyMSA9IHV0aWwudG1wZGlyKCkKKysgICAgdHJ5OgorKyAgICAgICAgcGF0 aDEgPSBfZXh0cmFjdF9hcmNoaXZlKGFyY2hpdmUxLCBvdXRkaXI9dG1wZGlyMSwgdmVyYm9zaXR5 PS0xKQorKyAgICAgICAgdG1wZGlyMiA9IHV0aWwudG1wZGlyKCkKKysgICAgICAgIHRyeToKKysg ICAgICAgICAgICBwYXRoMiA9IF9leHRyYWN0X2FyY2hpdmUoYXJjaGl2ZTIsIG91dGRpcj10bXBk aXIyLCB2ZXJib3NpdHk9LTEpCisrICAgICAgICAgICAgcmV0dXJuIHV0aWwucnVuX2NoZWNrZWQo W2RpZmYsICItdXJOIiwgcGF0aDEsIHBhdGgyXSwgdmVyYm9zaXR5PTEsIHJldF9vaz0oMCwgMSkp CisrICAgICAgICBmaW5hbGx5OgorKyAgICAgICAgICAgIHNodXRpbC5ybXRyZWUodG1wZGlyMiwg b25lcnJvcj1ybXRyZWVfbG9nX2Vycm9yKQorKyAgICBmaW5hbGx5OgorKyAgICAgICAgc2h1dGls LnJtdHJlZSh0bXBkaXIxLCBvbmVycm9yPXJtdHJlZV9sb2dfZXJyb3IpCisrCisrCisrZGVmIF9z ZWFyY2hfYXJjaGl2ZShwYXR0ZXJuLCBhcmNoaXZlLCB2ZXJib3NpdHk9MCwgaW50ZXJhY3RpdmU9 VHJ1ZSk6CisrICAgICIiIlNlYXJjaCBmb3IgZ2l2ZW4gcGF0dGVybiBpbiBhbiBhcmNoaXZlLiIi IgorKyAgICBncmVwID0gdXRpbC5maW5kX3Byb2dyYW0oImdyZXAiKQorKyAgICBpZiBub3QgZ3Jl cDoKKysgICAgICAgIG1zZyA9ICJUaGUgZ3JlcCgxKSBwcm9ncmFtIGlzIHJlcXVpcmVkIGZvciBz ZWFyY2hpbmcgYXJjaGl2ZSBjb250ZW50cywgcGxlYXNlIGluc3RhbGwgaXQuIgorKyAgICAgICAg cmFpc2UgdXRpbC5QYXRvb2xFcnJvcihtc2cpCisrICAgIHRtcGRpciA9IHV0aWwudG1wZGlyKCkK KysgICAgdHJ5OgorKyAgICAgICAgcGF0aCA9IF9leHRyYWN0X2FyY2hpdmUoYXJjaGl2ZSwgb3V0 ZGlyPXRtcGRpciwgdmVyYm9zaXR5PS0xKQorKyAgICAgICAgcmV0dXJuIHV0aWwucnVuX2NoZWNr ZWQoW2dyZXAsICItciIsICItZSIsIHBhdHRlcm4sICIuIl0sIHJldF9vaz0oMCwgMSksIHZlcmJv c2l0eT0xLCBjd2Q9cGF0aCkKKysgICAgZmluYWxseToKKysgICAgICAgIHNodXRpbC5ybXRyZWUo dG1wZGlyLCBvbmVycm9yPXJtdHJlZV9sb2dfZXJyb3IpCisrCisrCisrZGVmIF9yZXBhY2tfYXJj aGl2ZSAoYXJjaGl2ZTEsIGFyY2hpdmUyLCB2ZXJib3NpdHk9MCwgaW50ZXJhY3RpdmU9VHJ1ZSk6 CisrICAgICIiIlJlcGFja2FnZSBhbiBhcmNoaXZlIHRvIGEgZGlmZmVyZW50IGZvcm1hdC4iIiIK KysgICAgZm9ybWF0MSwgY29tcHJlc3Npb24xID0gZ2V0X2FyY2hpdmVfZm9ybWF0KGFyY2hpdmUx KQorKyAgICBmb3JtYXQyLCBjb21wcmVzc2lvbjIgPSBnZXRfYXJjaGl2ZV9mb3JtYXQoYXJjaGl2 ZTIpCisrICAgIGlmIGZvcm1hdDEgPT0gZm9ybWF0MiBhbmQgY29tcHJlc3Npb24xID09IGNvbXBy ZXNzaW9uMjoKKysgICAgICAgICMgc2FtZSBmb3JtYXQgYW5kIGNvbXByZXNzaW9uIGFsbG93cyB0 byBjb3B5IHRoZSBmaWxlCisrICAgICAgICB1dGlsLmxpbmtfb3JfY29weShhcmNoaXZlMSwgYXJj aGl2ZTIsIHZlcmJvc2l0eT12ZXJib3NpdHkpCisrICAgICAgICByZXR1cm4KKysgICAgdG1wZGly ID0gdXRpbC50bXBkaXIoKQorKyAgICB0cnk6CisrICAgICAgICBrd2FyZ3MgPSBkaWN0KHZlcmJv c2l0eT12ZXJib3NpdHksIG91dGRpcj10bXBkaXIpCisrICAgICAgICBzYW1lX2Zvcm1hdCA9IChm b3JtYXQxID09IGZvcm1hdDIgYW5kIGNvbXByZXNzaW9uMSBhbmQgY29tcHJlc3Npb24yKQorKyAg ICAgICAgaWYgc2FtZV9mb3JtYXQ6CisrICAgICAgICAgICAgIyBvbmx5IGRlY29tcHJlc3Mgc2lu Y2UgdGhlIGZvcm1hdCBpcyB0aGUgc2FtZQorKyAgICAgICAgICAgIGt3YXJnc1snZm9ybWF0J10g PSBjb21wcmVzc2lvbjEKKysgICAgICAgIHBhdGggPSBfZXh0cmFjdF9hcmNoaXZlKGFyY2hpdmUx LCAqKmt3YXJncykKKysgICAgICAgIGFyY2hpdmUgPSBvcy5wYXRoLmFic3BhdGgoYXJjaGl2ZTIp CisrICAgICAgICBmaWxlcyA9IHR1cGxlKG9zLmxpc3RkaXIocGF0aCkpCisrICAgICAgICBvbGRk aXIgPSBvcy5nZXRjd2QoKQorKyAgICAgICAgb3MuY2hkaXIocGF0aCkKKysgICAgICAgIHRyeToK KysgICAgICAgICAgICBrd2FyZ3MgPSBkaWN0KHZlcmJvc2l0eT12ZXJib3NpdHksIGludGVyYWN0 aXZlPWludGVyYWN0aXZlKQorKyAgICAgICAgICAgIGlmIHNhbWVfZm9ybWF0OgorKyAgICAgICAg ICAgICAgICAjIG9ubHkgY29tcHJlc3Mgc2luY2UgdGhlIGZvcm1hdCBpcyB0aGUgc2FtZQorKyAg ICAgICAgICAgICAgICBrd2FyZ3NbJ2Zvcm1hdCddID0gY29tcHJlc3Npb24yCisrICAgICAgICAg ICAgX2NyZWF0ZV9hcmNoaXZlKGFyY2hpdmUsIGZpbGVzLCAqKmt3YXJncykKKysgICAgICAgIGZp bmFsbHk6CisrICAgICAgICAgICAgb3MuY2hkaXIob2xkZGlyKQorKyAgICBmaW5hbGx5OgorKyAg ICAgICAgc2h1dGlsLnJtdHJlZSh0bXBkaXIsIG9uZXJyb3I9cm10cmVlX2xvZ19lcnJvcikKKysK KysKKytkZWYgX3JlY29tcHJlc3NfYXJjaGl2ZShhcmNoaXZlLCB2ZXJib3NpdHk9MCwgaW50ZXJh Y3RpdmU9VHJ1ZSk6CisrICAgICIiIlRyeSB0byByZWNvbXByZXNzIGFuIGFyY2hpdmUgdG8gc21h bGxlciBzaXplLiIiIgorKyAgICBmb3JtYXQsIGNvbXByZXNzaW9uID0gZ2V0X2FyY2hpdmVfZm9y bWF0KGFyY2hpdmUpCisrICAgIGlmIGNvbXByZXNzaW9uOgorKyAgICAgICAgIyBvbmx5IHJlY29t cHJlc3MgdGhlIGNvbXByZXNzaW9uIGl0c2VsZiAoZWcuIGZvciAudGFyLnh6KQorKyAgICAgICAg Zm9ybWF0ID0gY29tcHJlc3Npb24KKysgICAgdG1wZGlyID0gdXRpbC50bXBkaXIoKQorKyAgICB0 bXBkaXIyID0gdXRpbC50bXBkaXIoKQorKyAgICBiYXNlLCBleHQgPSBvcy5wYXRoLnNwbGl0ZXh0 KG9zLnBhdGguYmFzZW5hbWUoYXJjaGl2ZSkpCisrICAgIGFyY2hpdmUyID0gdXRpbC5nZXRfc2lu Z2xlX291dGZpbGUodG1wZGlyMiwgYmFzZSwgZXh0ZW5zaW9uPWV4dCkKKysgICAgdHJ5OgorKyAg ICAgICAgIyBleHRyYWN0CisrICAgICAgICBrd2FyZ3MgPSBkaWN0KHZlcmJvc2l0eT12ZXJib3Np dHksIGZvcm1hdD1mb3JtYXQsIG91dGRpcj10bXBkaXIpCisrICAgICAgICBwYXRoID0gX2V4dHJh Y3RfYXJjaGl2ZShhcmNoaXZlLCAqKmt3YXJncykKKysgICAgICAgICMgY29tcHJlc3MgdG8gbmV3 IGZpbGUKKysgICAgICAgIG9sZGRpciA9IG9zLmdldGN3ZCgpCisrICAgICAgICBvcy5jaGRpcihw YXRoKQorKyAgICAgICAgdHJ5OgorKyAgICAgICAgICAgIGt3YXJncyA9IGRpY3QodmVyYm9zaXR5 PXZlcmJvc2l0eSwgaW50ZXJhY3RpdmU9aW50ZXJhY3RpdmUsIGZvcm1hdD1mb3JtYXQpCisrICAg ICAgICAgICAgZmlsZXMgPSB0dXBsZShvcy5saXN0ZGlyKHBhdGgpKQorKyAgICAgICAgICAgIF9j cmVhdGVfYXJjaGl2ZShhcmNoaXZlMiwgZmlsZXMsICoqa3dhcmdzKQorKyAgICAgICAgZmluYWxs eToKKysgICAgICAgICAgICBvcy5jaGRpcihvbGRkaXIpCisrICAgICAgICAjIGNoZWNrIGZpbGUg c2l6ZXMgYW5kIHJlcGxhY2UgaWYgbmV3IGZpbGUgaXMgc21hbGxlcgorKyAgICAgICAgZmlsZXNp emUgPSB1dGlsLmdldF9maWxlc2l6ZShhcmNoaXZlKQorKyAgICAgICAgZmlsZXNpemUyID0gdXRp bC5nZXRfZmlsZXNpemUoYXJjaGl2ZTIpCisrICAgICAgICBpZiBmaWxlc2l6ZTIgPCBmaWxlc2l6 ZToKKysgICAgICAgICAgICAjIHJlcGxhY2UgZmlsZQorKyAgICAgICAgICAgIG9zLnJlbW92ZShh cmNoaXZlKQorKyAgICAgICAgICAgIHNodXRpbC5tb3ZlKGFyY2hpdmUyLCBhcmNoaXZlKQorKyAg ICAgICAgICAgIGRpZmZzaXplID0gZmlsZXNpemUgLSBmaWxlc2l6ZTIKKysgICAgICAgICAgICBy ZXR1cm4gIi4uLiByZWNvbXByZXNzZWQgZmlsZSBpcyBub3cgJXMgc21hbGxlci4iICUgdXRpbC5z dHJzaXplKGRpZmZzaXplKQorKyAgICBmaW5hbGx5OgorKyAgICAgICAgc2h1dGlsLnJtdHJlZSh0 bXBkaXIsIG9uZXJyb3I9cm10cmVlX2xvZ19lcnJvcikKKysgICAgICAgIHNodXRpbC5ybXRyZWUo dG1wZGlyMiwgb25lcnJvcj1ybXRyZWVfbG9nX2Vycm9yKQorKyAgICByZXR1cm4gIi4uLiByZWNv bXByZXNzZWQgZmlsZSBpcyBub3Qgc21hbGxlciwgbGVhdmluZyBhcmNoaXZlIGFzIGlzLiIKKysK KysKKysjIHRoZSBwYXRvb2wgbGlicmFyeSBBUEkKKysKKytkZWYgZXh0cmFjdF9hcmNoaXZlKGFy Y2hpdmUsIHZlcmJvc2l0eT0wLCBvdXRkaXI9Tm9uZSwgcHJvZ3JhbT1Ob25lLCBpbnRlcmFjdGl2 ZT1UcnVlKToKKysgICAgIiIiRXh0cmFjdCBnaXZlbiBhcmNoaXZlLiIiIgorKyAgICB1dGlsLmNo ZWNrX2V4aXN0aW5nX2ZpbGVuYW1lKGFyY2hpdmUpCisrICAgIGlmIHZlcmJvc2l0eSA+PSAwOgor KyAgICAgICAgdXRpbC5sb2dfaW5mbygiRXh0cmFjdGluZyAlcyAuLi4iICUgYXJjaGl2ZSkKKysg ICAgcmV0dXJuIF9leHRyYWN0X2FyY2hpdmUoYXJjaGl2ZSwgdmVyYm9zaXR5PXZlcmJvc2l0eSwg aW50ZXJhY3RpdmU9aW50ZXJhY3RpdmUsIG91dGRpcj1vdXRkaXIsIHByb2dyYW09cHJvZ3JhbSkK KysKKysKKytkZWYgbGlzdF9hcmNoaXZlKGFyY2hpdmUsIHZlcmJvc2l0eT0xLCBwcm9ncmFtPU5v bmUsIGludGVyYWN0aXZlPVRydWUpOgorKyAgICAiIiJMaXN0IGdpdmVuIGFyY2hpdmUuIiIiCisr ICAgICMgU2V0IGRlZmF1bHQgdmVyYm9zaXR5IHRvIDEgc2luY2UgdGhlIGxpc3Rpbmcgb3V0cHV0 IHNob3VsZCBiZSB2aXNpYmxlLgorKyAgICB1dGlsLmNoZWNrX2V4aXN0aW5nX2ZpbGVuYW1lKGFy Y2hpdmUpCisrICAgIGlmIHZlcmJvc2l0eSA+PSAwOgorKyAgICAgICAgdXRpbC5sb2dfaW5mbygi TGlzdGluZyAlcyAuLi4iICUgYXJjaGl2ZSkKKysgICAgcmV0dXJuIF9oYW5kbGVfYXJjaGl2ZShh cmNoaXZlLCAnbGlzdCcsIHZlcmJvc2l0eT12ZXJib3NpdHksCisrICAgICAgaW50ZXJhY3RpdmU9 aW50ZXJhY3RpdmUsIHByb2dyYW09cHJvZ3JhbSkKKysKKysKKytkZWYgdGVzdF9hcmNoaXZlKGFy Y2hpdmUsIHZlcmJvc2l0eT0wLCBwcm9ncmFtPU5vbmUsIGludGVyYWN0aXZlPVRydWUpOgorKyAg ICAiIiJUZXN0IGdpdmVuIGFyY2hpdmUuIiIiCisrICAgIHV0aWwuY2hlY2tfZXhpc3RpbmdfZmls ZW5hbWUoYXJjaGl2ZSkKKysgICAgaWYgdmVyYm9zaXR5ID49IDA6CisrICAgICAgICB1dGlsLmxv Z19pbmZvKCJUZXN0aW5nICVzIC4uLiIgJSBhcmNoaXZlKQorKyAgICByZXMgPSBfaGFuZGxlX2Fy Y2hpdmUoYXJjaGl2ZSwgJ3Rlc3QnLCB2ZXJib3NpdHk9dmVyYm9zaXR5LAorKyAgICAgICAgaW50 ZXJhY3RpdmU9aW50ZXJhY3RpdmUsIHByb2dyYW09cHJvZ3JhbSkKKysgICAgaWYgdmVyYm9zaXR5 ID49IDA6CisrICAgICAgICB1dGlsLmxvZ19pbmZvKCIuLi4gdGVzdGVkIG9rLiIpCisrICAgIHJl dHVybiByZXMKKysKKysKKytkZWYgY3JlYXRlX2FyY2hpdmUoYXJjaGl2ZSwgZmlsZW5hbWVzLCB2 ZXJib3NpdHk9MCwgcHJvZ3JhbT1Ob25lLCBpbnRlcmFjdGl2ZT1UcnVlKToKKysgICAgIiIiQ3Jl YXRlIGdpdmVuIGFyY2hpdmUgd2l0aCBnaXZlbiBmaWxlcy4iIiIKKysgICAgdXRpbC5jaGVja19u ZXdfZmlsZW5hbWUoYXJjaGl2ZSkKKysgICAgdXRpbC5jaGVja19hcmNoaXZlX2ZpbGVsaXN0KGZp bGVuYW1lcykKKysgICAgaWYgdmVyYm9zaXR5ID49IDA6CisrICAgICAgICB1dGlsLmxvZ19pbmZv KCJDcmVhdGluZyAlcyAuLi4iICUgYXJjaGl2ZSkKKysgICAgcmVzID0gX2NyZWF0ZV9hcmNoaXZl KGFyY2hpdmUsIGZpbGVuYW1lcywgdmVyYm9zaXR5PXZlcmJvc2l0eSwKKysgICAgICAgICAgICAg ICAgICAgICAgICAgIGludGVyYWN0aXZlPWludGVyYWN0aXZlLCBwcm9ncmFtPXByb2dyYW0pCisr ICAgIGlmIHZlcmJvc2l0eSA+PSAwOgorKyAgICAgICAgdXRpbC5sb2dfaW5mbygiLi4uICVzIGNy ZWF0ZWQuIiAlIGFyY2hpdmUpCisrICAgIHJldHVybiByZXMKKysKKysKKytkZWYgZGlmZl9hcmNo aXZlcyhhcmNoaXZlMSwgYXJjaGl2ZTIsIHZlcmJvc2l0eT0wLCBpbnRlcmFjdGl2ZT1UcnVlKToK KysgICAgIiIiUHJpbnQgZGlmZmVyZW5jZXMgYmV0d2VlbiB0d28gYXJjaGl2ZXMuIiIiCisrICAg IHV0aWwuY2hlY2tfZXhpc3RpbmdfZmlsZW5hbWUoYXJjaGl2ZTEpCisrICAgIHV0aWwuY2hlY2tf ZXhpc3RpbmdfZmlsZW5hbWUoYXJjaGl2ZTIpCisrICAgIGlmIHZlcmJvc2l0eSA+PSAwOgorKyAg ICAgICAgdXRpbC5sb2dfaW5mbygiQ29tcGFyaW5nICVzIHdpdGggJXMgLi4uIiAlIChhcmNoaXZl MSwgYXJjaGl2ZTIpKQorKyAgICByZXMgPSBfZGlmZl9hcmNoaXZlcyhhcmNoaXZlMSwgYXJjaGl2 ZTIsIHZlcmJvc2l0eT12ZXJib3NpdHksIGludGVyYWN0aXZlPWludGVyYWN0aXZlKQorKyAgICBp ZiByZXMgPT0gMCBhbmQgdmVyYm9zaXR5ID49IDA6CisrICAgICAgICB1dGlsLmxvZ19pbmZvKCIu Li4gbm8gZGlmZmVyZW5jZXMgZm91bmQuIikKKysKKysKKytkZWYgc2VhcmNoX2FyY2hpdmUocGF0 dGVybiwgYXJjaGl2ZSwgdmVyYm9zaXR5PTAsIGludGVyYWN0aXZlPVRydWUpOgorKyAgICAiIiJT ZWFyY2ggcGF0dGVybiBpbiBhcmNoaXZlIG1lbWJlcnMuIiIiCisrICAgIGlmIG5vdCBwYXR0ZXJu OgorKyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcigiZW1wdHkgc2VhcmNoIHBhdHRlcm4i KQorKyAgICB1dGlsLmNoZWNrX2V4aXN0aW5nX2ZpbGVuYW1lKGFyY2hpdmUpCisrICAgIGlmIHZl cmJvc2l0eSA+PSAwOgorKyAgICAgICAgdXRpbC5sb2dfaW5mbygiU2VhcmNoaW5nICVyIGluICVz IC4uLiIgJSAocGF0dGVybiwgYXJjaGl2ZSkpCisrICAgIHJlcyA9IF9zZWFyY2hfYXJjaGl2ZShw YXR0ZXJuLCBhcmNoaXZlLCB2ZXJib3NpdHk9dmVyYm9zaXR5LCBpbnRlcmFjdGl2ZT1pbnRlcmFj dGl2ZSkKKysgICAgaWYgcmVzID09IDEgYW5kIHZlcmJvc2l0eSA+PSAwOgorKyAgICAgICAgdXRp bC5sb2dfaW5mbygiLi4uICVyIG5vdCBmb3VuZCIgJSBwYXR0ZXJuKQorKyAgICByZXR1cm4gcmVz CisrCisrCisrZGVmIHJlcGFja19hcmNoaXZlIChhcmNoaXZlLCBhcmNoaXZlX25ldywgdmVyYm9z aXR5PTAsIGludGVyYWN0aXZlPVRydWUpOgorKyAgICAiIiJSZXBhY2sgYXJjaGl2ZSB0byBkaWZm ZXJlbnQgZmlsZSBhbmQvb3IgZm9ybWF0LiIiIgorKyAgICB1dGlsLmNoZWNrX2V4aXN0aW5nX2Zp bGVuYW1lKGFyY2hpdmUpCisrICAgIHV0aWwuY2hlY2tfbmV3X2ZpbGVuYW1lKGFyY2hpdmVfbmV3 KQorKyAgICBpZiB2ZXJib3NpdHkgPj0gMDoKKysgICAgICAgIHV0aWwubG9nX2luZm8oIlJlcGFj a2luZyAlcyB0byAlcyAuLi4iICUgKGFyY2hpdmUsIGFyY2hpdmVfbmV3KSkKKysgICAgcmVzID0g X3JlcGFja19hcmNoaXZlKGFyY2hpdmUsIGFyY2hpdmVfbmV3LCB2ZXJib3NpdHk9dmVyYm9zaXR5 LCBpbnRlcmFjdGl2ZT1pbnRlcmFjdGl2ZSkKKysgICAgaWYgdmVyYm9zaXR5ID49IDA6CisrICAg ICAgICB1dGlsLmxvZ19pbmZvKCIuLi4gcmVwYWNraW5nIHN1Y2Nlc3NmdWwuIikKKysgICAgcmV0 dXJuIHJlcworKworKworK2RlZiByZWNvbXByZXNzX2FyY2hpdmUoYXJjaGl2ZSwgdmVyYm9zaXR5 PTAsIGludGVyYWN0aXZlPVRydWUpOgorKyAgICAiIiJSZWNvbXByZXNzIGFuIGFyY2hpdmUgdG8g aG9wZWZ1bGx5IHNtYWxsZXIgc2l6ZS4iIiIKKysgICAgdXRpbC5jaGVja19leGlzdGluZ19maWxl bmFtZShhcmNoaXZlKQorKyAgICB1dGlsLmNoZWNrX3dyaXRhYmxlX2ZpbGVuYW1lKGFyY2hpdmUp CisrICAgIGlmIHZlcmJvc2l0eSA+PSAwOgorKyAgICAgICAgdXRpbC5sb2dfaW5mbygiUmVjb21w cmVzc2luZyAlcyAuLi4iICUgKGFyY2hpdmUsKSkKKysgICAgcmVzID0gX3JlY29tcHJlc3NfYXJj aGl2ZShhcmNoaXZlLCB2ZXJib3NpdHk9dmVyYm9zaXR5LCBpbnRlcmFjdGl2ZT1pbnRlcmFjdGl2 ZSkKKysgICAgaWYgcmVzIGFuZCB2ZXJib3NpdHkgPj0gMDoKKysgICAgICAgIHV0aWwubG9nX2lu Zm8ocmVzKQorKyAgICByZXR1cm4gMAorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9i dWlsZC9saWIvcGF0b29saWIvY29uZmlndXJhdGlvbi5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9jb25maWd1cmF0aW9uLnB5CistLS0gcGF0b29sLXVw c3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL2NvbmZpZ3VyYXRpb24ucHkJMTk3MC0wMS0w MSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9jb25maWd1cmF0aW9uLnB5CTIwMjEtMTItMDIgMjI6MjM6 MTAuNTc3ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDE2IEBACisrIyBDb3B5cmlnaHQgKEMpIDIw MTMtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysiIiIKKytEZWZpbmUgYmFzaWMgY29uZmlndXJh dGlvbiBkYXRhIGxpa2UgdmVyc2lvbiBvciBhcHBsaWNhdGlvbiBuYW1lLgorKyIiIgorK2ltcG9y dCBfcGF0b29sX2NvbmZpZ2RhdGEgYXMgY29uZmlnZGF0YQorKworK1ZlcnNpb24gPSBjb25maWdk YXRhLnZlcnNpb24KKytSZWxlYXNlRGF0ZSA9IGNvbmZpZ2RhdGEucmVsZWFzZV9kYXRlCisrQXBw TmFtZSA9IGNvbmZpZ2RhdGEubmFtZQorK0FwcCA9IEFwcE5hbWUrdSIgIitWZXJzaW9uCisrQXV0 aG9yID0gY29uZmlnZGF0YS5hdXRob3IKKytNYWludGFpbmVyID0gY29uZmlnZGF0YS5tYWludGFp bmVyCisrQ29weXJpZ2h0ID0gdSJDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNSAiICsgQXV0aG9yCisr VXJsID0gY29uZmlnZGF0YS51cmwKKytTdXBwb3J0VXJsID0gdSJodHRwczovL2dpdGh1Yi5jb20v d3VtbWVsL3BhdG9vbC9pc3N1ZXMvIgorK0VtYWlsID0gY29uZmlnZGF0YS5hdXRob3JfZW1haWwK K2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dy YW1zL19faW5pdF9fLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3Bh dG9vbGliL3Byb2dyYW1zL19faW5pdF9fLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL19faW5pdF9fLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAu MDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9s aWIvcGF0b29saWIvcHJvZ3JhbXMvX19pbml0X18ucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4 MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsNDYgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQor KyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u LCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9u KSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQg aW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBX QVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFO VEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisr IyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlv dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8v d3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKytmcm9tIC4uIGltcG9ydCB1dGlsCisrCisrZGVmIGV4 dHJhY3Rfc2luZ2xlZmlsZV9zdGFuZGFyZCAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVy Ym9zaXR5LCBpbnRlcmFjdGl2ZSwgb3V0ZGlyKToKKysgICAgIiIiU3RhbmRhcmQgcm91dGluZSB0 byBleHRyYWN0IGEgc2luZ2xlZmlsZSBhcmNoaXZlIChsaWtlIGd6aXApLiIiIgorKyAgICBjbWRs aXN0ID0gW3V0aWwuc2hlbGxfcXVvdGUoY21kKV0KKysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysg ICAgICAgIGNtZGxpc3QuYXBwZW5kKCctdicpCisrICAgIG91dGZpbGUgPSB1dGlsLmdldF9zaW5n bGVfb3V0ZmlsZShvdXRkaXIsIGFyY2hpdmUpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLWMnLCAn LWQnLCAnLS0nLCB1dGlsLnNoZWxsX3F1b3RlKGFyY2hpdmUpLCAnPicsCisrICAgICAgICB1dGls LnNoZWxsX3F1b3RlKG91dGZpbGUpXSkKKysgICAgcmV0dXJuIChjbWRsaXN0LCB7J3NoZWxsJzog VHJ1ZX0pCisrCisrCisrZGVmIHRlc3Rfc2luZ2xlZmlsZV9zdGFuZGFyZCAoYXJjaGl2ZSwgY29t cHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIlN0YW5kYXJk IHJvdXRpbmUgdG8gdGVzdCBhIHNpbmdsZWZpbGUgYXJjaGl2ZSAobGlrZSBnemlwKS4iIiIKKysg ICAgY21kbGlzdCA9IFtjbWRdCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRs aXN0LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy10JywgJy0tJywgYXJjaGl2 ZV0pCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrCisrZGVmIGNyZWF0ZV9zaW5nbGVmaWxlX3N0 YW5kYXJkIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZl LCBmaWxlbmFtZXMpOgorKyAgICAiIiJTdGFuZGFyZCByb3V0aW5lIHRvIGNyZWF0ZSBhIHNpbmds ZWZpbGUgYXJjaGl2ZSAobGlrZSBnemlwKS4iIiIKKysgICAgY21kbGlzdCA9IFt1dGlsLnNoZWxs X3F1b3RlKGNtZCldCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFw cGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy1jJywgJy0tJ10pCisrICAgIGNtZGxp c3QuZXh0ZW5kKFt1dGlsLnNoZWxsX3F1b3RlKHgpIGZvciB4IGluIGZpbGVuYW1lc10pCisrICAg IGNtZGxpc3QuZXh0ZW5kKFsnPicsIHV0aWwuc2hlbGxfcXVvdGUoYXJjaGl2ZSldKQorKyAgICBy ZXR1cm4gKGNtZGxpc3QsIHsnc2hlbGwnOiBUcnVlfSkKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3Ry ZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2FyLnB5IHBhdG9vbC11cHN0cmVh bS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2FyLnB5CistLS0gcGF0 b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2FyLnB5CTE5NzAt MDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvYXIucHkJMjAyMS0xMi0wMiAyMjoy MzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsNDMgQEAKKysjIC0qLSBjb2Rpbmc6IHV0 Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisr IworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRl IGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlz dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRI T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisr IyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT ZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor KyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2Vl IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZv ciB0aGUgYXIgcHJvZ3JhbS4iIiIKKytpbXBvcnQgb3MKKysKKytkZWYgZXh0cmFjdF9hciAoYXJj aGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgb3V0ZGlyKToK KysgICAgIiIiRXh0cmFjdCBhIEFSIGFyY2hpdmUuIiIiCisrICAgIG9wdHMgPSAneCcKKysgICAg aWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIG9wdHMgKz0gJ3YnCisrICAgIGNtZGxpc3QgPSBb Y21kLCBvcHRzLCBvcy5wYXRoLmFic3BhdGgoYXJjaGl2ZSldCisrICAgIHJldHVybiAoY21kbGlz dCwgeydjd2QnOiBvdXRkaXJ9KQorKworK2RlZiBsaXN0X2FyIChhcmNoaXZlLCBjb21wcmVzc2lv biwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIiTGlzdCBhIEFSIGFyY2hp dmUuIiIiCisrICAgIG9wdHMgPSAndCcKKysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAg IG9wdHMgKz0gJ3YnCisrICAgIHJldHVybiBbY21kLCBvcHRzLCBhcmNoaXZlXQorKworK3Rlc3Rf YXIgPSBsaXN0X2FyCisrCisrZGVmIGNyZWF0ZV9hciAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNt ZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGEg QVIgYXJjaGl2ZS4iIiIKKysgICAgb3B0cyA9ICdyYycKKysgICAgaWYgdmVyYm9zaXR5ID4gMToK KysgICAgICAgIG9wdHMgKz0gJ3YnCisrICAgIGNtZGxpc3QgPSBbY21kLCBvcHRzLCBhcmNoaXZl XQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxlbmFtZXMpCisrICAgIHJldHVybiBjbWRsaXN0Citk aWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFt cy9hcmMucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIv cHJvZ3JhbXMvYXJjLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL2FyYy5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAor KysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dy YW1zL2FyYy5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCAr MSw0NCBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAt MjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBhcmMgcHJvZ3JhbS4iIiIKKytpbXBvcnQg b3MKKysKKytkZWYgZXh0cmFjdF9hcmMgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJv c2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBBUkMgYXJjaGl2 ZS4iIiIKKysgICAgIyBTaW5jZSBleHRyYWN0ZWQgZmlsZXMgd2lsbCBiZSBwbGFjZWQgaW4gdGhl IGN1cnJlbnQgZGlyZWN0b3J5LAorKyAgICAjIHRoZSBjd2QgYXJndW1lbnQgaGFzIHRvIGJlIHRo ZSBvdXRwdXQgZGlyZWN0b3J5LgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJ3gnLCBvcy5wYXRoLmFi c3BhdGgoYXJjaGl2ZSldCisrICAgIHJldHVybiAoY21kbGlzdCwgeydjd2QnOiBvdXRkaXJ9KQor KworK2RlZiBsaXN0X2FyYyAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBp bnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBBUkMgYXJjaGl2ZS4iIiIKKysgICAgY21kbGlz dCA9IFtjbWRdCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFwcGVu ZCgndicpCisrICAgIGVsc2U6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnbCcpCisrICAgIGNt ZGxpc3QuYXBwZW5kKGFyY2hpdmUpCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrZGVmIHRlc3Rf YXJjIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToK KysgICAgIiIiVGVzdCBhIEFSQyBhcmNoaXZlLiIiIgorKyAgICByZXR1cm4gW2NtZCwgJ3QnLCBh cmNoaXZlXQorKworK2RlZiBjcmVhdGVfYXJjIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2 ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAgICAiIiJDcmVhdGUgYSBBUkMg YXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICdhJywgYXJjaGl2ZV0KKysgICAgY21k bGlzdC5leHRlbmQoZmlsZW5hbWVzKQorKyAgICByZXR1cm4gY21kbGlzdAorZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvYXJjaG1hZ2Uu cHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3Jh bXMvYXJjaG1hZ2UucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29s aWIvcHJvZ3JhbXMvYXJjaG1hZ2UucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAx MDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9w cm9ncmFtcy9hcmNobWFnZS5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAor QEAgLTAsMCArMSwzMiBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQg KEMpIDIwMTItMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBhcmNobWFnZSBwcm9ncmFt LiIiIgorK2ltcG9ydCBvcworK2Zyb20gLi4gaW1wb3J0IHV0aWwKKysKKysKKytkZWYgZXh0cmFj dF9jaG0gKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUs IG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBDSE0gYXJjaGl2ZS4iIiIKKysgICAgIyBhcmNo bWFnZSBjYW4gb25seSBleHRyYWN0IGluIG5vbi1leGlzdGluZyBkaXJlY3RvcmllcworKyAgICAj IHNvIGEgbmljZSBkaXJuYW1lIGlzIGNyZWF0ZWQKKysgICAgbmFtZSA9IHV0aWwuZ2V0X3Npbmds ZV9vdXRmaWxlKCIiLCBhcmNoaXZlKQorKyAgICBvdXRmaWxlID0gb3MucGF0aC5qb2luKG91dGRp ciwgbmFtZSkKKysgICAgcmV0dXJuIFtjbWQsICcteCcsIG9zLnBhdGguYWJzcGF0aChhcmNoaXZl KSwgb3V0ZmlsZV0KKysKKysKKytkZWYgdGVzdF9jaG0gKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBj bWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJUZXN0IGEgQ0hNIGFyY2hpdmUu IiIiCisrICAgIHJldHVybiBbY21kLCAnLWQnLCBvcy5wYXRoLmFic3BhdGgoYXJjaGl2ZSldCitk aWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFt cy9hcmoucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIv cHJvZ3JhbXMvYXJqLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL2Fyai5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAor KysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dy YW1zL2Fyai5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCAr MSw1NiBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAt MjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBhcmogcHJvZ3JhbS4iIiIKKysKKytkZWYg ZXh0cmFjdF9hcmogKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJh Y3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYW4gQVJKIGFyY2hpdmUuIiIiCisrICAg IGNtZGxpc3QgPSBbY21kLCAneCcsICctciddCisrICAgIGlmIG5vdCBpbnRlcmFjdGl2ZToKKysg ICAgICAgIGNtZGxpc3QuYXBwZW5kKCcteScpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFthcmNoaXZl LCBvdXRkaXJdKQorKyAgICByZXR1cm4gY21kbGlzdAorKworKworK2RlZiBsaXN0X2FyaiAoYXJj aGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIi Ikxpc3QgYW4gQVJKIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kXQorKyAgICBpZiB2 ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJ3YnKQorKyAgICBlbHNlOgor KyAgICAgICAgY21kbGlzdC5hcHBlbmQoJ2wnKQorKyAgICBpZiBub3QgaW50ZXJhY3RpdmU6Cisr ICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXknKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy1yJywg YXJjaGl2ZV0pCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrCisrZGVmIHRlc3RfYXJqIChhcmNo aXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIi VGVzdCBhbiBBUkogYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICd0JywgJy1yJ10K KysgICAgaWYgbm90IGludGVyYWN0aXZlOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy15JykK KysgICAgY21kbGlzdC5hcHBlbmQoYXJjaGl2ZSkKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKysK KytkZWYgY3JlYXRlX2FyaiAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBp bnRlcmFjdGl2ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGFuIEFSSiBhcmNoaXZlLiIi IgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJ2EnLCAnLXInXQorKyAgICBpZiBub3QgaW50ZXJhY3Rp dmU6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXknKQorKyAgICBjbWRsaXN0LmFwcGVuZChh cmNoaXZlKQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxlbmFtZXMpCisrICAgIHJldHVybiBjbWRs aXN0CitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9w cm9ncmFtcy9ic2RjcGlvLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGli L3BhdG9vbGliL3Byb2dyYW1zL2JzZGNwaW8ucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9i dWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvYnNkY3Bpby5weQkxOTcwLTAxLTAxIDAxOjAwOjAw LjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQv bGliL3BhdG9vbGliL3Byb2dyYW1zL2JzZGNwaW8ucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4 MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsMTggQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQor KyMgQ29weXJpZ2h0IChDKSAyMDEyIEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIGJzZGNwaW8g cHJvZ3JhbS4iIiIKKytmcm9tIC5jcGlvIGltcG9ydCBleHRyYWN0X2NwaW8sIGxpc3RfY3Bpbywg dGVzdF9jcGlvLCBjcmVhdGVfY3BpbworKworZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4x Mi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvYnNkdGFyLnB5IHBhdG9vbC11cHN0cmVhbS0x LjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2JzZHRhci5weQorLS0tIHBh dG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9ic2R0YXIucHkJ MTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0t MS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9ic2R0YXIucHkJMjAyMS0x Mi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsMTggQEAKKysjIC0qLSBj b2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEyIEJhc3RpYW4gS2xlaW5laWRh bQorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5k cyBmb3IgdGhlIEJTRCB0YXIgcHJvZ3JhbS4iIiIKKysKKytmcm9tIC50YXIgaW1wb3J0IGV4dHJh Y3RfdGFyLCBsaXN0X3RhciwgdGVzdF90YXIsIGNyZWF0ZV90YXIKK2RpZmYgLU5hdXIgcGF0b29s LXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2J6aXAyLnB5IHBhdG9v bC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2J6aXAy LnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1z L2J6aXAyLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvYnppcDIu cHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsMzEgQEAK KysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFz dGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJB cmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgYnppcDIgcHJvZ3JhbS4iIiIKKytmcm9tIC4uIGltcG9y dCB1dGlsCisrZnJvbSAuIGltcG9ydCBleHRyYWN0X3NpbmdsZWZpbGVfc3RhbmRhcmQsIHRlc3Rf c2luZ2xlZmlsZV9zdGFuZGFyZAorKworK2V4dHJhY3RfYnppcDIgPSBleHRyYWN0X3NpbmdsZWZp bGVfc3RhbmRhcmQKKyt0ZXN0X2J6aXAyID0gdGVzdF9zaW5nbGVmaWxlX3N0YW5kYXJkCisrCisr ZGVmIGNyZWF0ZV9iemlwMiAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBp bnRlcmFjdGl2ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGEgQlpJUDIgYXJjaGl2ZS4i IiIKKysgICAgY21kbGlzdCA9IFt1dGlsLnNoZWxsX3F1b3RlKGNtZCldCisrICAgIGlmIHZlcmJv c2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4 dGVuZChbJy1jJywgJy16JywgJy05JywgJy0tJ10pCisrICAgIGNtZGxpc3QuZXh0ZW5kKFt1dGls LnNoZWxsX3F1b3RlKHgpIGZvciB4IGluIGZpbGVuYW1lc10pCisrICAgIGNtZGxpc3QuZXh0ZW5k KFsnPicsIHV0aWwuc2hlbGxfcXVvdGUoYXJjaGl2ZSldKQorKyAgICByZXR1cm4gKGNtZGxpc3Qs IHsnc2hlbGwnOiBUcnVlfSkKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQv bGliL3BhdG9vbGliL3Byb2dyYW1zL2NhYmV4dHJhY3QucHkgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvY2FiZXh0cmFjdC5weQorLS0tIHBh dG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9jYWJleHRyYWN0 LnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3Ry ZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvY2FiZXh0cmFjdC5w eQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCArMSwzNiBAQAor KyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0 aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFy Y2hpdmUgY29tbWFuZHMgZm9yIHRoZSBjYWJleHRyYWN0IHByb2dyYW0uIiIiCisrCisrZGVmIGV4 dHJhY3RfY2FiIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0 aXZlLCBvdXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGEgQ0FCIGFyY2hpdmUuIiIiCisrICAgIGNt ZGxpc3QgPSBbY21kLCAnLWQnLCBvdXRkaXJdCisrICAgIGlmIHZlcmJvc2l0eSA+IDA6CisrICAg ICAgICBjbWRsaXN0LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmFwcGVuZChhcmNoaXZlKQor KyAgICByZXR1cm4gY21kbGlzdAorKworK2RlZiBsaXN0X2NhYiAoYXJjaGl2ZSwgY29tcHJlc3Np b24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBDQUIgYXJj aGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICctbCddCisrICAgIGlmIHZlcmJvc2l0eSA+ IDA6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmFwcGVuZChh cmNoaXZlKQorKyAgICByZXR1cm4gY21kbGlzdAorKworK2RlZiB0ZXN0X2NhYiAoYXJjaGl2ZSwg Y29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIlRlc3Qg YSBDQUIgYXJjaGl2ZS4iIiIKKysgICAgcmV0dXJuIFtjbWQsICctdCcsIGFyY2hpdmVdCitkaWZm IC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9j aG1saWIucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIv cHJvZ3JhbXMvY2htbGliLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3Bh dG9vbGliL3Byb2dyYW1zL2NobWxpYi5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCAr MDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGli L3Byb2dyYW1zL2NobWxpYi5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAor QEAgLTAsMCArMSwyMiBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQg KEMpIDIwMTItMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBjaG1saWIgcHJvZ3JhbXMu IiIiCisraW1wb3J0IG9zCisrCisrCisrZGVmIGV4dHJhY3RfY2htIChhcmNoaXZlLCBjb21wcmVz c2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBvdXRkaXIpOgorKyAgICAiIiJFeHRy YWN0IGEgQ0hNIGFyY2hpdmUuIiIiCisrICAgIHJldHVybiBbY21kLCBvcy5wYXRoLmFic3BhdGgo YXJjaGl2ZSksIG91dGRpcl0KK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQv bGliL3BhdG9vbGliL3Byb2dyYW1zL2NsemlwLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2NsemlwLnB5CistLS0gcGF0b29sLXVwc3Ry ZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2NsemlwLnB5CTE5NzAtMDEtMDEg MDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hl ZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvY2x6aXAucHkJMjAyMS0xMi0wMiAyMjoyMzox MC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsMzIgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04 IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDExLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIwor KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMK KysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0 aGUgY2x6aXAgcHJvZ3JhbS4iIiIKKytmcm9tIC4gaW1wb3J0IGV4dHJhY3Rfc2luZ2xlZmlsZV9z dGFuZGFyZCwgdGVzdF9zaW5nbGVmaWxlX3N0YW5kYXJkCisrZnJvbSAuLiBpbXBvcnQgdXRpbAor KworKworK2V4dHJhY3RfbHppcCA9IGV4dHJhY3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorK3Rlc3Rf bHppcCA9IHRlc3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorKworK2RlZiBjcmVhdGVfbHppcChhcmNo aXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMp OgorKyAgICAiIiJDcmVhdGUgYW4gTFpJUCBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW3V0 aWwuc2hlbGxfcXVvdGUoY21kKV0KKysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIGNt ZGxpc3QuYXBwZW5kKCctdicpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLWMnLCAnLTknLCAnLS0n XSkKKysgICAgY21kbGlzdC5leHRlbmQoW3V0aWwuc2hlbGxfcXVvdGUoeCkgZm9yIHggaW4gZmls ZW5hbWVzXSkKKysgICAgY21kbGlzdC5leHRlbmQoWyc+JywgdXRpbC5zaGVsbF9xdW90ZShhcmNo aXZlKV0pCisrICAgIHJldHVybiAoY21kbGlzdCwgeydzaGVsbCc6IFRydWV9KQorZGlmZiAtTmF1 ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvY29tcHJl c3MucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJv Z3JhbXMvY29tcHJlc3MucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0 b29saWIvcHJvZ3JhbXMvY29tcHJlc3MucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAg KzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xp Yi9wcm9ncmFtcy9jb21wcmVzcy5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEw MAorQEAgLTAsMCArMSwyOCBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmln aHQgKEMpIDIwMTAtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0g aXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQor KyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBh cyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2 ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBo YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysj IGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSB1bmNvbXByZXNzLnJl YWwgcHJvZ3JhbS4iIiIKKytmcm9tIC4uIGltcG9ydCB1dGlsCisrCisrCisrZGVmIGNyZWF0ZV9j b21wcmVzcyAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2 ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGEgY29tcHJlc3NlZCBhcmNoaXZlLiIiIgor KyAgICBjbWRsaXN0ID0gW3V0aWwuc2hlbGxfcXVvdGUoY21kKV0KKysgICAgaWYgdmVyYm9zaXR5 ID4gMToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCctdicpCisrICAgIGNtZGxpc3QuYXBwZW5k KCctYycpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFt1dGlsLnNoZWxsX3F1b3RlKHgpIGZvciB4IGlu IGZpbGVuYW1lc10pCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnPicsIHV0aWwuc2hlbGxfcXVvdGUo YXJjaGl2ZSldKQorKyAgICByZXR1cm4gKGNtZGxpc3QsIHsnc2hlbGwnOiBUcnVlfSkKK2RpZmYg LU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2Nw aW8ucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJv Z3JhbXMvY3Bpby5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xp Yi9wcm9ncmFtcy9jcGlvLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisr KysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3Jh bXMvY3Bpby5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCAr MSw1NiBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAt MjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBjcGlvIHByb2dyYW0uIiIiCisraW1wb3J0 IG9zCisraW1wb3J0IHN5cworK2Zyb20gLi4gaW1wb3J0IHV0aWwKKysKKytkZWYgZXh0cmFjdF9j cGlvIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBv dXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGEgQ1BJTyBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0 ID0gW3V0aWwuc2hlbGxfcXVvdGUoY21kKSwgJy0tZXh0cmFjdCcsICctLW1ha2UtZGlyZWN0b3Jp ZXMnLAorKyAgICAgICAgJy0tcHJlc2VydmUtbW9kaWZpY2F0aW9uLXRpbWUnXQorKyAgICBpZiBz eXMucGxhdGZvcm0uc3RhcnRzd2l0aCgnbGludXgnKSBhbmQgbm90IGNtZC5lbmRzd2l0aCgnYnNk Y3BpbycpOgorKyAgICAgICAgY21kbGlzdC5leHRlbmQoWyctLW5vLWFic29sdXRlLWZpbGVuYW1l cycsCisrICAgICAgICAnLS1mb3JjZS1sb2NhbCcsICctLW5vbm1hdGNoaW5nJywgciciKlwuXC4q IiddKQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12 JykKKysgICAgY21kbGlzdC5leHRlbmQoWyc8JywgdXRpbC5zaGVsbF9xdW90ZShvcy5wYXRoLmFi c3BhdGgoYXJjaGl2ZSkpXSkKKysgICAgcmV0dXJuIChjbWRsaXN0LCB7J2N3ZCc6IG91dGRpciwg J3NoZWxsJzogVHJ1ZX0pCisrCisrCisrZGVmIGxpc3RfY3BpbyAoYXJjaGl2ZSwgY29tcHJlc3Np b24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBDUElPIGFy Y2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAnLWknLCAnLXQnXQorKyAgICBpZiB2ZXJi b3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12JykKKysgICAgY21kbGlzdC5l eHRlbmQoWyctRicsIGFyY2hpdmVdKQorKyAgICByZXR1cm4gY21kbGlzdAorKworK3Rlc3RfY3Bp byA9IGxpc3RfY3BpbworKworK2RlZiBjcmVhdGVfY3BpbyhhcmNoaXZlLCBjb21wcmVzc2lvbiwg Y21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAgICAiIiJDcmVhdGUg YSBDUElPIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbdXRpbC5zaGVsbF9xdW90ZShjbWQp LCAnLS1jcmVhdGUnXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5h cHBlbmQoJy12JykKKysgICAgaWYgbGVuKGZpbGVuYW1lcykgIT0gMDoKKysgICAgICAgIGZpbmRj bWQgPSBbJ2ZpbmQnXQorKyAgICAgICAgZmluZGNtZC5leHRlbmQoW3V0aWwuc2hlbGxfcXVvdGUo eCkgZm9yIHggaW4gZmlsZW5hbWVzXSkKKysgICAgICAgIGZpbmRjbWQuZXh0ZW5kKFsnLXByaW50 MCcsICd8J10pCisrICAgICAgICBjbWRsaXN0WzA6MF0gPSBmaW5kY21kCisrICAgICAgICBjbWRs aXN0LmFwcGVuZCgnLTAnKQorKyAgICBjbWRsaXN0LmV4dGVuZChbIj4iLCB1dGlsLnNoZWxsX3F1 b3RlKGFyY2hpdmUpXSkKKysgICAgcmV0dXJuIChjbWRsaXN0LCB7J3NoZWxsJzogVHJ1ZX0pCitk aWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFt cy9kcGtnLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGli L3Byb2dyYW1zL2Rwa2cucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0 b29saWIvcHJvZ3JhbXMvZHBrZy5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEw MAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3By b2dyYW1zL2Rwa2cucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0w LDAgKzEsMzIgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAy MDEwLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgZHBrZy1kZWIgcHJvZ3JhbS4iIiIK KysKKytkZWYgZXh0cmFjdF9kZWIgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0 eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBERUIgYXJjaGl2ZS4i IiIKKysgICAgY21kbGlzdCA9IFtjbWRdCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAg ICBjbWRsaXN0LmFwcGVuZCgnLS12ZXh0cmFjdCcpCisrICAgIGVsc2U6CisrICAgICAgICBjbWRs aXN0LmFwcGVuZCgnLS1leHRyYWN0JykKKysgICAgY21kbGlzdC5leHRlbmQoWyctLScsIGFyY2hp dmUsIG91dGRpcl0pCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrZGVmIGxpc3RfZGViIChhcmNo aXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIi TGlzdCBhIERFQiBhcmNoaXZlLiIiIgorKyAgICByZXR1cm4gW2NtZCwgJy0tY29udGVudHMnLCAn LS0nLCBhcmNoaXZlXQorKworK3Rlc3RfZGViID0gbGlzdF9kZWIKK2RpZmYgLU5hdXIgcGF0b29s LXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2ZsYWMucHkgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvZmxhYy5w eQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9m bGFjLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVw c3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvZmxhYy5weQky MDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCArMSwzNCBAQAorKyMg LSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTItMjAxNSBCYXN0aWFu IEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNh biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9m IHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBG cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2Us IG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg d2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM QVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt b3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0 aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFt LiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hp dmUgY29tbWFuZHMgZm9yIHRoZSBmbGFjIHByb2dyYW0uIiIiCisrZnJvbSAuLiBpbXBvcnQgdXRp bAorKworK2RlZiBleHRyYWN0X2ZsYWMgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJv c2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkRlY29tcHJlc3MgYSBGTEFDIGFy Y2hpdmUgdG8gYSBXQVYgZmlsZS4iIiIKKysgICAgb3V0ZmlsZSA9IHV0aWwuZ2V0X3NpbmdsZV9v dXRmaWxlKG91dGRpciwgYXJjaGl2ZSwgZXh0ZW5zaW9uPSIud2F2IikKKysgICAgY21kbGlzdCA9 IFtjbWQsICctLWRlY29kZScsIGFyY2hpdmUsICctLW91dHB1dC1uYW1lJywgb3V0ZmlsZV0KKysg ICAgcmV0dXJuIGNtZGxpc3QKKysKKysKKytkZWYgY3JlYXRlX2ZsYWMgKGFyY2hpdmUsIGNvbXBy ZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIi IkNvbXByZXNzIGEgV0FWIGZpbGUgdG8gYSBGTEFDIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3Qg PSBbY21kLCBmaWxlbmFtZXNbMF0sICctLWJlc3QnLCAnLS1vdXRwdXQtbmFtZScsIGFyY2hpdmVd CisrICAgIHJldHVybiBjbWRsaXN0CisrCisrCisrZGVmIHRlc3RfZmxhYyAoYXJjaGl2ZSwgY29t cHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIlRlc3QgYSBG TEFDIGZpbGUuIiIiCisrICAgIHJldHVybiBbY21kLCAnLS10ZXN0JywgYXJjaGl2ZV0KK2RpZmYg LU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2dl bmlzb2ltYWdlLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL2dlbmlzb2ltYWdlLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2dlbmlzb2ltYWdlLnB5CTE5NzAtMDEtMDEgMDE6MDA6 MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWls ZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvZ2VuaXNvaW1hZ2UucHkJMjAyMS0xMi0wMiAyMjoyMzox MC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsMjggQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04 IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEzLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIwor KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMK KysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0 aGUgZ2VuaXNvaW1hZ2UgcHJvZ3JhbS4iIiIKKysKKytkZWYgY3JlYXRlX2lzbyAoYXJjaGl2ZSwg Y29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgZmlsZW5hbWVzKToKKysg ICAgIiIiQ3JlYXRlIGFuIElTTyBhcmNoaXZlLiIiIgorKyAgICAjIFVzZSBKb2xpZXQgKC1KKSBh bmQgUm9jay1SaWRnZSAoLXIpIGZvcm1hdC4KKysgICAgY21kbGlzdCA9IFtjbWQsICctcicsICct SiddCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXYn KQorKyAgICAgICAgaWYgdmVyYm9zaXR5ID4gMjoKKysgICAgICAgICAgICBjbWRsaXN0LmFwcGVu ZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy1vJywgYXJjaGl2ZV0pCisrICAgIGNtZGxp c3QuZXh0ZW5kKGZpbGVuYW1lcykKKysgICAgcmV0dXJuIGNtZGxpc3QKK2RpZmYgLU5hdXIgcGF0 b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2d6aXAucHkgcGF0 b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvZ3pp cC5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFt cy9nemlwLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvZ3ppcC5w eQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCArMSw0MSBAQAor KyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0 aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFy Y2hpdmUgY29tbWFuZHMgZm9yIHRoZSBnemlwIHByb2dyYW0uIiIiCisrZnJvbSAuIGltcG9ydCBl eHRyYWN0X3NpbmdsZWZpbGVfc3RhbmRhcmQsIHRlc3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorK2Zy b20gLi4gaW1wb3J0IHV0aWwKKysKKytleHRyYWN0X2d6aXAgPSBleHRyYWN0X2NvbXByZXNzID0g ZXh0cmFjdF9zaW5nbGVmaWxlX3N0YW5kYXJkCisrdGVzdF9nemlwID0gdGVzdF9jb21wcmVzcyA9 IHRlc3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorKworKworK2RlZiBjcmVhdGVfZ3ppcChhcmNoaXZl LCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgor KyAgICAiIiJDcmVhdGUgYSBHWklQIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbdXRpbC5z aGVsbF9xdW90ZShjbWQpXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlz dC5hcHBlbmQoJy12JykKKysgICAgY21kbGlzdC5leHRlbmQoWyctYycsICctOScsICctLSddKQor KyAgICBjbWRsaXN0LmV4dGVuZChbdXRpbC5zaGVsbF9xdW90ZSh4KSBmb3IgeCBpbiBmaWxlbmFt ZXNdKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJz4nLCB1dGlsLnNoZWxsX3F1b3RlKGFyY2hpdmUp XSkKKysgICAgcmV0dXJuIChjbWRsaXN0LCB7J3NoZWxsJzogVHJ1ZX0pCisrCisrCisrZGVmIGxp c3RfZ3ppcCAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2 ZSk6CisrICAgICIiIkxpc3QgYSBHWklQIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21k XQorKyAgICBpZiB2ZXJib3NpdHkgPiAwOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12JykK KysgICAgY21kbGlzdC5leHRlbmQoWyctbCcsICctLScsIGFyY2hpdmVdKQorKyAgICByZXR1cm4g Y21kbGlzdAorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29s aWIvcHJvZ3JhbXMvaXNvaW5mby5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxk L2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9pc29pbmZvLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEu MTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2lzb2luZm8ucHkJMTk3MC0wMS0wMSAwMTow MDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1 aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9pc29pbmZvLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAu NTc3ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDIxIEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAt Ki0KKysjIENvcHlyaWdodCAoQykgMjAxMy0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysj IFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh dGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9w dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1 dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBB TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVS Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo ZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisr IyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0 cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhl IGlzb2luZm8gcHJvZ3JhbS4iIiIKKysKKytkZWYgbGlzdF9pc28gKGFyY2hpdmUsIGNvbXByZXNz aW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJMaXN0IGFuIElTTyBh cmNoaXZlLiIiIgorKyAgICAjIFVzZSBKb2xpZXQgKC1KKSBhbmQgUm9jay1SaWRnZSAoLVIpIG9w dGlvbnMuCisrICAgIHJldHVybiBbY21kLCAnLWwnLCAnLVInLCAnLUonLCAnLWknLCBhcmNoaXZl XQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJv Z3JhbXMvbGJ6aXAyLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3Bh dG9vbGliL3Byb2dyYW1zL2xiemlwMi5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxk L2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9sYnppcDIucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9w YXRvb2xpYi9wcm9ncmFtcy9sYnppcDIucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMg KzAxMDAKK0BAIC0wLDAgKzEsMTggQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29w eXJpZ2h0IChDKSAyMDEyIEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cisr IyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz IHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZl cnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy IHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3Bl IHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9y IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhh dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMg YWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3Jn L2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIHBiemlwMiBwcm9ncmFt LiIiIgorKyMgYnppcDIgYW5kIGxiemlwMiBhcmUgY29tcGF0aWJsZQorK2Zyb20gLmJ6aXAyIGlt cG9ydCBleHRyYWN0X2J6aXAyLCB0ZXN0X2J6aXAyLCBjcmVhdGVfYnppcDIKK2RpZmYgLU5hdXIg cGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2xjYWIucHkg cGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMv bGNhYi5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9n cmFtcy9sY2FiLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0 b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbGNh Yi5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCArMSwyMyBA QAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTItMjAxNSBC YXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTog eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRl cm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysj IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExp Y2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysj IFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg dXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt cGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl IGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w eSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBw cm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIi IkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBsY2FiIHByb2dyYW0uIiIiCisrCisrZGVmIGNyZWF0 ZV9jYWIgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUs IGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0ZSBhIENBQiBhcmNoaXZlLiIiIgorKyAgICBjbWRs aXN0ID0gW2NtZCwgJy1yJ10KKysgICAgY21kbGlzdC5leHRlbmQoZmlsZW5hbWVzKQorKyAgICBj bWRsaXN0LmFwcGVuZChhcmNoaXZlKQorKyAgICByZXR1cm4gY21kbGlzdAorZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbGhhLnB5IHBh dG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2xo YS5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFt cy9saGEucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wt dXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9saGEucHkJ MjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsNTAgQEAKKysj IC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFzdGlh biBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBj YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNl LCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlz IHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1 bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk IHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV TEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig bW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3Jh bS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNo aXZlIGNvbW1hbmRzIGZvciB0aGUgbGhhIHByb2dyYW0uIiIiCisrCisrZGVmIGV4dHJhY3RfbHpo IChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBvdXRk aXIpOgorKyAgICAiIiJFeHRyYWN0IGEgTFpIIGFyY2hpdmUuIiIiCisrICAgIG9wdHMgPSAneCcK KysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIG9wdHMgKz0gJ3YnCisrICAgIG9wdHMg Kz0gInc9JXMiICUgb3V0ZGlyCisrICAgIHJldHVybiBbY21kLCBvcHRzLCBhcmNoaXZlXQorKwor K2RlZiBsaXN0X2x6aCAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRl cmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBMWkggYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9 IFtjbWRdCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgn dicpCisrICAgIGVsc2U6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnbCcpCisrICAgIGNtZGxp c3QuYXBwZW5kKGFyY2hpdmUpCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrZGVmIHRlc3RfbHpo IChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysg ICAgIiIiVGVzdCBhIExaSCBhcmNoaXZlLiIiIgorKyAgICBvcHRzID0gJ3QnCisrICAgIGlmIHZl cmJvc2l0eSA+IDE6CisrICAgICAgICBvcHRzICs9ICd2JworKyAgICByZXR1cm4gW2NtZCwgb3B0 cywgYXJjaGl2ZV0KKysKKytkZWYgY3JlYXRlX2x6aCAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNt ZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGEg TFpIIGFyY2hpdmUuIiIiCisrICAgIG9wdHMgPSAnYScKKysgICAgaWYgdmVyYm9zaXR5ID4gMToK KysgICAgICAgIG9wdHMgKz0gJ3YnCisrICAgIGNtZGxpc3QgPSBbY21kLCBvcHRzLCBhcmNoaXZl XQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxlbmFtZXMpCisrICAgIHJldHVybiBjbWRsaXN0Citk aWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFt cy9saGFzYS5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xp Yi9wcm9ncmFtcy9saGFzYS5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9w YXRvb2xpYi9wcm9ncmFtcy9saGFzYS5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCAr MDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGli L3Byb2dyYW1zL2xoYXNhLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3ODMyMzAzICswMTAwCitA QCAtMCwwICsxLDE4IEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysjIENvcHlyaWdodCAo QykgMjAxMiBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBsaGFzYSBwcm9ncmFtLiIiIgorK2Zy b20gLmxoYSBpbXBvcnQgZXh0cmFjdF9semgKKysKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFt LTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2xyemlwLnB5IHBhdG9vbC11cHN0cmVh bS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2xyemlwLnB5CistLS0g cGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2xyemlwLnB5 CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFt LTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbHJ6aXAucHkJMjAyMS0x Mi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsNDMgQEAKKysjIC0qLSBj b2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFzdGlhbiBLbGVp bmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor KyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysj IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNv bW1hbmRzIGZvciB0aGUgbHJ6aXAgcHJvZ3JhbS4iIiIKKytpbXBvcnQgb3MKKytmcm9tIC4uIGlt cG9ydCB1dGlsCisrCisrZGVmIGV4dHJhY3RfbHJ6aXAgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBj bWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBM UlpJUCBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJy1kJ10KKysgICAgaWYgdmVy Ym9zaXR5ID4gMToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCctdicpCisrICAgIG91dGZpbGUg PSB1dGlsLmdldF9zaW5nbGVfb3V0ZmlsZShvdXRkaXIsIGFyY2hpdmUpCisrICAgIGNtZGxpc3Qu ZXh0ZW5kKFsiLW8iLCBvdXRmaWxlLCBvcy5wYXRoLmFic3BhdGgoYXJjaGl2ZSldKQorKyAgICBy ZXR1cm4gY21kbGlzdAorKworK2RlZiB0ZXN0X2xyemlwIChhcmNoaXZlLCBjb21wcmVzc2lvbiwg Y21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIiVGVzdCBhIExSWklQIGFyY2hp dmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAnLXQnXQorKyAgICBpZiB2ZXJib3NpdHkgPiAx OgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12JykKKysgICAgY21kbGlzdC5hcHBlbmQoYXJj aGl2ZSkKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKytkZWYgY3JlYXRlX2xyemlwIChhcmNoaXZl LCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgor KyAgICAiIiJDcmVhdGUgYSBMUlpJUCBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwg Jy1vJywgYXJjaGl2ZV0KKysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIGNtZGxpc3Qu YXBwZW5kKCctdicpCisrICAgIGNtZGxpc3QuZXh0ZW5kKGZpbGVuYW1lcykKKysgICAgcmV0dXJu IGNtZGxpc3QKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL2x6aXAucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9s aWIvcGF0b29saWIvcHJvZ3JhbXMvbHppcC5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1 aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9semlwLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAw MDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIv cGF0b29saWIvcHJvZ3JhbXMvbHppcC5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyAr MDEwMAorQEAgLTAsMCArMSwyMyBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5 cmlnaHQgKEMpIDIwMTAtMjAxMiBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBsemlwIHByb2dy YW0uIiIiCisrZnJvbSAuIGltcG9ydCBleHRyYWN0X3NpbmdsZWZpbGVfc3RhbmRhcmQsIFwKKysg ICAgdGVzdF9zaW5nbGVmaWxlX3N0YW5kYXJkLCBjcmVhdGVfc2luZ2xlZmlsZV9zdGFuZGFyZAor KworKworK2V4dHJhY3RfbHppcCA9IGV4dHJhY3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorK3Rlc3Rf bHppcCA9IHRlc3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorK2NyZWF0ZV9semlwID0gY3JlYXRlX3Np bmdsZWZpbGVfc3RhbmRhcmQKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQv bGliL3BhdG9vbGliL3Byb2dyYW1zL2x6bWEucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hl ZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbHptYS5weQorLS0tIHBhdG9vbC11cHN0cmVh bS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9sem1hLnB5CTE5NzAtMDEtMDEgMDE6 MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9i dWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbHptYS5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3 NzgzMjMwMyArMDEwMAorQEAgLTAsMCArMSwyMyBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSot CisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxMiBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBs em1hIHByb2dyYW0uIiIiCisrZnJvbSAuIGltcG9ydCBleHRyYWN0X3NpbmdsZWZpbGVfc3RhbmRh cmQsIFwKKysgICAgdGVzdF9zaW5nbGVmaWxlX3N0YW5kYXJkLCBjcmVhdGVfc2luZ2xlZmlsZV9z dGFuZGFyZAorKworKworK2V4dHJhY3RfbHptYSA9IGV4dHJhY3Rfc2luZ2xlZmlsZV9zdGFuZGFy ZAorK3Rlc3RfbHptYSA9IHRlc3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorK2NyZWF0ZV9sem1hID0g Y3JlYXRlX3NpbmdsZWZpbGVfc3RhbmRhcmQKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEu MTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL2x6b3AucHkgcGF0b29sLXVwc3RyZWFtLTEu MTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbHpvcC5weQorLS0tIHBhdG9v bC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9sem9wLnB5CTE5NzAt MDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbHpvcC5weQkyMDIxLTEyLTAyIDIy OjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCArMSw0NiBAQAorKyMgLSotIGNvZGluZzog dXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0K KysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1 dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJl IEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQg eW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJ VEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YK KysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g IFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu CisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBz ZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMg Zm9yIHRoZSBsem9wIHByb2dyYW0uIiIiCisrZnJvbSAuIGltcG9ydCBleHRyYWN0X3NpbmdsZWZp bGVfc3RhbmRhcmQKKysKKysKKytleHRyYWN0X2x6b3AgPSBleHRyYWN0X3NpbmdsZWZpbGVfc3Rh bmRhcmQKKysKKysKKytkZWYgbGlzdF9sem9wIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2 ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIiTGlzdCBhIExaT1AgYXJjaGl2ZS4iIiIK KysgICAgY21kbGlzdCA9IFtjbWQsICctLWxpc3QnXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgor KyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy0tdmVyYm9zZScpCisrICAgIGNtZGxpc3QuZXh0ZW5k KFsnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKytkZWYgdGVzdF9sem9w IChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysg ICAgIiIiVGVzdCBhIExaT1AgYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICctLXRl c3QnXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy0t dmVyYm9zZScpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0 dXJuIGNtZGxpc3QKKysKKytkZWYgY3JlYXRlX2x6b3AgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBj bWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0ZSBh IExaT1AgYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWRdCisrICAgIGlmIHZlcmJvc2l0 eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4dGVu ZChbJy1vJywgYXJjaGl2ZSwgJy0tJ10pCisrICAgIGNtZGxpc3QuZXh0ZW5kKGZpbGVuYW1lcykK KysgICAgcmV0dXJuIGNtZGxpc3QKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL21hYy5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9tYWMucHkKKy0tLSBwYXRvb2wtdXBzdHJl YW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbWFjLnB5CTE5NzAtMDEtMDEgMDE6 MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9i dWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbWFjLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3 ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDM2IEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0K KysjIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor KyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIE1B Qy5leGUgcHJvZ3JhbS4iIiIKKytmcm9tIC4uIGltcG9ydCB1dGlsCisrCisrZGVmIGV4dHJhY3Rf YXBlIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBv dXRkaXIpOgorKyAgICAiIiJEZWNvbXByZXNzIGFuIEFQRSBhcmNoaXZlIHRvIGEgV0FWIGZpbGUu IiIiCisrICAgIG91dGZpbGUgPSB1dGlsLmdldF9zaW5nbGVfb3V0ZmlsZShvdXRkaXIsIGFyY2hp dmUsIGV4dGVuc2lvbj0iLndhdiIpCisrICAgIHJldHVybiBbY21kLCBhcmNoaXZlLCBvdXRmaWxl LCAnLWQnXQorKworKworK2RlZiBjcmVhdGVfYXBlIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21k LCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAgICAiIiJDb21wcmVzcyBh IFdBViBmaWxlIHRvIGFuIEFQRSBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZF0KKysg ICAgY21kbGlzdC5leHRlbmQoZmlsZW5hbWVzKQorKyAgICBjbWRsaXN0LmFwcGVuZChhcmNoaXZl KQorKyAgICBjbWRsaXN0LmFwcGVuZCgnLWMyMDAwJykKKysgICAgcmV0dXJuIGNtZGxpc3QKKysK KysKKytkZWYgdGVzdF9hcGUgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwg aW50ZXJhY3RpdmUpOgorKyAgICAiIiJUZXN0IGFuIEFQRSBhcmNoaXZlLiIiIgorKyAgICByZXR1 cm4gW2NtZCwgYXJjaGl2ZSwgJy12J10KK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIv YnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL25vbWFyY2gucHkgcGF0b29sLXVwc3RyZWFtLTEu MTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbm9tYXJjaC5weQorLS0tIHBh dG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9ub21hcmNoLnB5 CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFt LTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvbm9tYXJjaC5weQkyMDIx LTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEwMAorQEAgLTAsMCArMSwzNiBAQAorKyMgLSot IGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0aWFuIEts ZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUg Y29tbWFuZHMgZm9yIHRoZSBub21hcmNoIHByb2dyYW0uIiIiCisraW1wb3J0IG9zCisrCisrZGVm IGV4dHJhY3RfYXJjIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVy YWN0aXZlLCBvdXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGFuIEFSQyBhcmNoaXZlLiIiIgorKyAg ICAjIFNpbmNlIGV4dHJhY3RlZCBmaWxlcyB3aWxsIGJlIHBsYWNlZCBpbiB0aGUgY3VycmVudCBk aXJlY3RvcnksCisrICAgICMgdGhlIGN3ZCBhcmd1bWVudCBoYXMgdG8gYmUgdGhlIG91dHB1dCBk aXJlY3RvcnkuCisrICAgIGNtZGxpc3QgPSBbY21kLCBvcy5wYXRoLmFic3BhdGgoYXJjaGl2ZSld CisrICAgIHJldHVybiAoY21kbGlzdCwgeydjd2QnOiBvdXRkaXJ9KQorKworK2RlZiBsaXN0X2Fy YyAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6Cisr ICAgICIiIkxpc3QgYW4gQVJDIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAnLWwn XQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12JykK KysgICAgY21kbGlzdC5hcHBlbmQoYXJjaGl2ZSkKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKytk ZWYgdGVzdF9hcmMgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJh Y3RpdmUpOgorKyAgICAiIiJUZXN0IGFuIEFSQyBhcmNoaXZlLiIiIgorKyAgICByZXR1cm4gW2Nt ZCwgJy10JywgYXJjaGl2ZV0KK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQv bGliL3BhdG9vbGliL3Byb2dyYW1zL3A3YXppcC5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9wN2F6aXAucHkKKy0tLSBwYXRvb2wtdXBz dHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcDdhemlwLnB5CTE5NzAtMDEt MDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0 Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcDdhemlwLnB5CTIwMjEtMTItMDIgMjI6 MjM6MTAuNTc3ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDQ5IEBACisrIyAtKi0gY29kaW5nOiB1 dGYtOCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBm b3IgdGhlIDd6YSBwcm9ncmFtLgorKworK0Zyb20gdGhlIG1hbiBwYWdlOgorKzd6YSBpcyBhIHN0 YW5kLWFsb25lIGV4ZWN1dGFibGUuIDd6YSBoYW5kbGVzIGxlc3MgYXJjaGl2ZSBmb3JtYXRzIHRo YW4gN3osCisrYnV0IGRvZXMgbm90IG5lZWQgYW55IG90aGVycy4KKysiIiIKKysKKytmcm9tIC5w N3ppcCBpbXBvcnQgXAorKyAgZXh0cmFjdF9iemlwMiwgXAorKyAgZXh0cmFjdF9nemlwLCBcCisr ICBleHRyYWN0X3ppcCwgXAorKyAgZXh0cmFjdF9jb21wcmVzcywgXAorKyAgZXh0cmFjdF9yYXIs IFwKKysgIGV4dHJhY3RfY2FiLCBcCisrICBleHRyYWN0Xzd6LCBcCisrICBsaXN0X2J6aXAyLCBc CisrICBsaXN0X2d6aXAsIFwKKysgIGxpc3RfemlwLCBcCisrICBsaXN0X2NvbXByZXNzLCBcCisr ICBsaXN0X3JhciwgXAorKyAgbGlzdF9jYWIsIFwKKysgIGxpc3RfcnBtLCBcCisrICBsaXN0Xzd6 LCBcCisrICB0ZXN0X2J6aXAyLCBcCisrICB0ZXN0X2d6aXAsIFwKKysgIHRlc3RfemlwLCBcCisr ICB0ZXN0X2NvbXByZXNzLCBcCisrICB0ZXN0X3JhciwgXAorKyAgdGVzdF9jYWIsIFwKKysgIHRl c3RfN3osIFwKKysgIGNyZWF0ZV83eiwgXAorKyAgY3JlYXRlX3ppcCwgXAorKyAgY3JlYXRlX2d6 aXAsIFwKKysgIGNyZWF0ZV9iemlwMgorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9i dWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcDdyemlwLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEy LXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3A3cnppcC5weQorLS0tIHBhdG9v bC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9wN3J6aXAucHkJMTk3 MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9wN3J6aXAucHkJMjAyMS0xMi0w MiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsMjUgQEAKKysjIC0qLSBjb2Rp bmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDE2IEJhc3RpYW4gS2xlaW5laWRhbQor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBm b3IgdGhlIDd6ciBwcm9ncmFtLgorKworKzd6ciBpcyBhIGxpZ2h0IGV4ZWN1dGFibGUgc3VwcG9y dGluZyBvbmx5IHRoZSA3eiBhcmNoaXZlIGZvcm1hdC4KKysiIiIKKysKKytmcm9tIC5wN3ppcCBp bXBvcnQgXAorKyAgZXh0cmFjdF83eiwgXAorKyAgbGlzdF83eiwgXAorKyAgdGVzdF83eiwgXAor KyAgY3JlYXRlXzd6CitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9w YXRvb2xpYi9wcm9ncmFtcy9wN3ppcC5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1 aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9wN3ppcC5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0x LjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9wN3ppcC5weQkxOTcwLTAxLTAxIDAxOjAw OjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3A3emlwLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3 ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDE1MSBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSot CisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBU aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k L29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp b24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRp b24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRl ZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5Z IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNI QU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUK KysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMg WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj IExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6 Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSA3 eiBwcm9ncmFtLiIiIgorKworK2RlZiBleHRyYWN0Xzd6KGFyY2hpdmUsIGNvbXByZXNzaW9uLCBj bWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSA3 eiBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJ3gnXQorKyAgICBpZiBub3QgaW50 ZXJhY3RpdmU6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXknKQorKyAgICBjbWRsaXN0LmV4 dGVuZChbJy1vJXMnICUgb3V0ZGlyLCAnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0dXJuIGNtZGxp c3QKKysKKytkZWYgZXh0cmFjdF83el9zaW5nbGVmaWxlKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBj bWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBz aW5nbGVmaWxlIGFyY2hpdmUgKGVnLiBnemlwIG9yIGJ6aXAyKSB3aXRoICc3eiBlJy4KKysgICAg VGhpcyBtYWtlcyBzdXJlIGEgc2luZ2xlIGZpbGUgYW5kIG5vIHN1YmRpcmVjdG9yaWVzIGFyZSBj cmVhdGVkLAorKyAgICB3aGljaCB3b3VsZCBjYXVzZSBlcnJvcnMgd2l0aCBwYXRvb2wgcmVwYWNr LiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJ2UnXQorKyAgICBpZiBub3QgaW50ZXJhY3RpdmU6 CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXknKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy1v JXMnICUgb3V0ZGlyLCAnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKytl eHRyYWN0X2J6aXAyID0gXAorKyAgZXh0cmFjdF9nemlwID0gXAorKyAgZXh0cmFjdF9jb21wcmVz cyA9IFwKKysgIGV4dHJhY3RfeHogPSBcCisrICBleHRyYWN0X2x6bWEgPSBcCisrICBleHRyYWN0 Xzd6X3NpbmdsZWZpbGUKKysKKytleHRyYWN0X3ppcCA9IFwKKysgIGV4dHJhY3RfcmFyID0gXAor KyAgZXh0cmFjdF9jYWIgPSBcCisrICBleHRyYWN0X2FyaiA9IFwKKysgIGV4dHJhY3RfY3BpbyA9 IFwKKysgIGV4dHJhY3RfcnBtID0gXAorKyAgZXh0cmFjdF9kZWIgPSBcCisrICBleHRyYWN0X2lz byA9IFwKKysgIGV4dHJhY3RfdmhkID0gXAorKyAgZXh0cmFjdF83egorKworK2RlZiBsaXN0Xzd6 IChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysg ICAgIiIiTGlzdCBhIDd6IGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAnbCddCisr ICAgIGlmIG5vdCBpbnRlcmFjdGl2ZToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCcteScpCisr ICAgIGNtZGxpc3QuZXh0ZW5kKFsnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0dXJuIGNtZGxpc3QK KysKKytsaXN0X2J6aXAyID0gXAorKyAgbGlzdF9nemlwID0gXAorKyAgbGlzdF96aXAgPSBcCisr ICBsaXN0X2NvbXByZXNzID0gXAorKyAgbGlzdF9yYXIgPSBcCisrICBsaXN0X2NhYiA9IFwKKysg IGxpc3RfYXJqID0gXAorKyAgbGlzdF9jcGlvID0gXAorKyAgbGlzdF9ycG0gPSBcCisrICBsaXN0 X2RlYiA9IFwKKysgIGxpc3RfaXNvID0gXAorKyAgbGlzdF94eiA9IFwKKysgIGxpc3RfbHptYSA9 IFwKKysgIGxpc3RfdmhkID0gXAorKyAgbGlzdF83egorKworKworK2RlZiB0ZXN0Xzd6IChhcmNo aXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIi VGVzdCBhIDd6IGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAndCddCisrICAgIGlm IG5vdCBpbnRlcmFjdGl2ZToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCcteScpCisrICAgIGNt ZGxpc3QuZXh0ZW5kKFsnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKyt0 ZXN0X2J6aXAyID0gXAorKyAgdGVzdF9nemlwID0gXAorKyAgdGVzdF96aXAgPSBcCisrICB0ZXN0 X2NvbXByZXNzID0gXAorKyAgdGVzdF9yYXIgPSBcCisrICB0ZXN0X2NhYiA9IFwKKysgIHRlc3Rf YXJqID0gXAorKyAgdGVzdF9jcGlvID0gXAorKyAgdGVzdF9ycG0gPSBcCisrICB0ZXN0X2RlYiA9 IFwKKysgIHRlc3RfaXNvID0gXAorKyAgdGVzdF94eiA9IFwKKysgIHRlc3RfbHptYSA9IFwKKysg IHRlc3RfdmhkID0gXAorKyAgdGVzdF83egorKworKworK2RlZiBjcmVhdGVfN3ooYXJjaGl2ZSwg Y29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgZmlsZW5hbWVzKToKKysg ICAgIiIiQ3JlYXRlIGEgN3ogYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICdhJ10K KysgICAgaWYgbm90IGludGVyYWN0aXZlOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy15JykK KysgICAgY21kbGlzdC5leHRlbmQoWyctdDd6JywgJy1teD05JywgJy0tJywgYXJjaGl2ZV0pCisr ICAgIGNtZGxpc3QuZXh0ZW5kKGZpbGVuYW1lcykKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKysK KytkZWYgY3JlYXRlX3ppcChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGlu dGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAgICAiIiJDcmVhdGUgYSBaSVAgYXJjaGl2ZS4iIiIK KysgICAgY21kbGlzdCA9IFtjbWQsICdhJ10KKysgICAgaWYgbm90IGludGVyYWN0aXZlOgorKyAg ICAgICAgY21kbGlzdC5hcHBlbmQoJy15JykKKysgICAgY21kbGlzdC5leHRlbmQoWyctdHppcCcs ICctbXg9OScsICctLScsIGFyY2hpdmVdKQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxlbmFtZXMp CisrICAgIHJldHVybiBjbWRsaXN0CisrCisrCisrZGVmIGNyZWF0ZV94eihhcmNoaXZlLCBjb21w cmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAgICAi IiJDcmVhdGUgYW4gWFogYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICdhJ10KKysg ICAgaWYgbm90IGludGVyYWN0aXZlOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy15JykKKysg ICAgY21kbGlzdC5leHRlbmQoWyctdHh6JywgJy1teD05JywgJy0tJywgYXJjaGl2ZV0pCisrICAg IGNtZGxpc3QuZXh0ZW5kKGZpbGVuYW1lcykKKysgICAgcmV0dXJuIGNtZGxpc3QKKysKKysKKytk ZWYgY3JlYXRlX2d6aXAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRl cmFjdGl2ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGEgR1pJUCBhcmNoaXZlLiIiIgor KyAgICBjbWRsaXN0ID0gW2NtZCwgJ2EnXQorKyAgICBpZiBub3QgaW50ZXJhY3RpdmU6CisrICAg ICAgICBjbWRsaXN0LmFwcGVuZCgnLXknKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy10Z3ppcCcs ICctbXg9OScsICctLScsIGFyY2hpdmVdKQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxlbmFtZXMp CisrICAgIHJldHVybiBjbWRsaXN0CisrCisrCisrZGVmIGNyZWF0ZV9iemlwMihhcmNoaXZlLCBj b21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAg ICAiIiJDcmVhdGUgYSBCWklQMiBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJ2En XQorKyAgICBpZiBub3QgaW50ZXJhY3RpdmU6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXkn KQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy10YnppcDInLCAnLW14PTknLCAnLS0nLCBhcmNoaXZl XSkKKysgICAgY21kbGlzdC5leHRlbmQoZmlsZW5hbWVzKQorKyAgICByZXR1cm4gY21kbGlzdAor ZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3Jh bXMvcGJ6aXAyLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL3BiemlwMi5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xp Yi9wYXRvb2xpYi9wcm9ncmFtcy9wYnppcDIucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRv b2xpYi9wcm9ncmFtcy9wYnppcDIucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAx MDAKK0BAIC0wLDAgKzEsMTggQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJp Z2h0IChDKSAyMDEwLTIwMTIgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisr IyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgcGJ6aXAyIHByb2dy YW0uIiIiCisrIyBiemlwMiBhbmQgcGJ6aXAyIGFyZSBjb21wYXRpYmxlCisrZnJvbSAuYnppcDIg aW1wb3J0IGV4dHJhY3RfYnppcDIsIHRlc3RfYnppcDIsIGNyZWF0ZV9iemlwMgorZGlmZiAtTmF1 ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcGRsemlw LnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dy YW1zL3BkbHppcC5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xp Yi9wcm9ncmFtcy9wZGx6aXAucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAK KysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9n cmFtcy9wZGx6aXAucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMgKzAxMDAKK0BAIC0w LDAgKzEsMjMgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAy MDExLTIwMTIgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVu ZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAz IG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv bi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp dCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJs aWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNl aXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3 aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5z ZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgY2x6aXAgcHJvZ3JhbS4iIiIKKytm cm9tIC4gaW1wb3J0IGV4dHJhY3Rfc2luZ2xlZmlsZV9zdGFuZGFyZCwgXAorKyAgICB0ZXN0X3Np bmdsZWZpbGVfc3RhbmRhcmQsIGNyZWF0ZV9zaW5nbGVmaWxlX3N0YW5kYXJkCisrCisrCisrZXh0 cmFjdF9semlwID0gZXh0cmFjdF9zaW5nbGVmaWxlX3N0YW5kYXJkCisrdGVzdF9semlwID0gdGVz dF9zaW5nbGVmaWxlX3N0YW5kYXJkCisrY3JlYXRlX2x6aXAgPSBjcmVhdGVfc2luZ2xlZmlsZV9z dGFuZGFyZAorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29s aWIvcHJvZ3JhbXMvcGlnei5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xp Yi9wYXRvb2xpYi9wcm9ncmFtcy9waWd6LnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3BpZ3oucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9w YXRvb2xpYi9wcm9ncmFtcy9waWd6LnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3ODMyMzAzICsw MTAwCitAQCAtMCwwICsxLDE3IEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysjIENvcHly aWdodCAoQykgMjAxMiBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMg ZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMg aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBw dWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJz aW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2 ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0 aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRo b3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZl IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFs b25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9s aWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBwaWd6IHByb2dyYW0uIiIi CisrZnJvbSAuZ3ppcCBpbXBvcnQgZXh0cmFjdF9nemlwLCB0ZXN0X2d6aXAsIGNyZWF0ZV9nemlw LCBsaXN0X2d6aXAKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3Bh dG9vbGliL3Byb2dyYW1zL3BsemlwLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3BsemlwLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEu MTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3BsemlwLnB5CTE5NzAtMDEtMDEgMDE6MDA6 MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWls ZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcGx6aXAucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4 MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEsMjMgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQor KyMgQ29weXJpZ2h0IChDKSAyMDEyIEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIHBsemlwIHBy b2dyYW0uIiIiCisrZnJvbSAuIGltcG9ydCBleHRyYWN0X3NpbmdsZWZpbGVfc3RhbmRhcmQsIFwK KysgICAgdGVzdF9zaW5nbGVmaWxlX3N0YW5kYXJkLCBjcmVhdGVfc2luZ2xlZmlsZV9zdGFuZGFy ZAorKworKworK2V4dHJhY3RfbHppcCA9IGV4dHJhY3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorK3Rl c3RfbHppcCA9IHRlc3Rfc2luZ2xlZmlsZV9zdGFuZGFyZAorK2NyZWF0ZV9semlwID0gY3JlYXRl X3NpbmdsZWZpbGVfc3RhbmRhcmQKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3B5X2J6Mi5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9weV9iejIucHkKKy0tLSBwYXRvb2wt dXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcHlfYnoyLnB5CTE5NzAt MDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcHlfYnoyLnB5CTIwMjEtMTItMDIg MjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDU4IEBACisrIyAtKi0gY29kaW5n OiB1dGYtOCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEJhc3RpYW4gS2xlaW5laWRh bQorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5k cyBmb3IgdGhlIGJ6MiBQeXRob24gbW9kdWxlLiIiIgorK2Zyb20gLi4gaW1wb3J0IHV0aWwKKyt0 cnk6CisrICAgICMgdHJ5IGV4dGVybmFsIGJ6MmZpbGUgbW9kdWxlIHdpdGggbXVsdGktc3RyZWFt IHN1cHBvcnQKKysgICAgaW1wb3J0IGJ6MmZpbGUgYXMgYnoyCisrZXhjZXB0IEltcG9ydEVycm9y OgorKyAgICBpbXBvcnQgYnoyCisrCisrIyByZWFkIGluIDFNQiBjaHVua3MKKytSRUFEX1NJWkVf QllURVMgPSAxMDI0KjEwMjQKKysKKytkZWYgZXh0cmFjdF9iemlwMiAoYXJjaGl2ZSwgY29tcHJl c3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgb3V0ZGlyKToKKysgICAgIiIiRXh0 cmFjdCBhIEJaSVAyIGFyY2hpdmUgd2l0aCB0aGUgYnoyIFB5dGhvbiBtb2R1bGUuIiIiCisrICAg IHRhcmdldG5hbWUgPSB1dGlsLmdldF9zaW5nbGVfb3V0ZmlsZShvdXRkaXIsIGFyY2hpdmUpCisr ICAgIHRyeToKKysgICAgICAgIHdpdGggYnoyLkJaMkZpbGUoYXJjaGl2ZSkgYXMgYnoyZmlsZToK KysgICAgICAgICAgICB3aXRoIG9wZW4odGFyZ2V0bmFtZSwgJ3diJykgYXMgdGFyZ2V0ZmlsZToK KysgICAgICAgICAgICAgICAgZGF0YSA9IGJ6MmZpbGUucmVhZChSRUFEX1NJWkVfQllURVMpCisr ICAgICAgICAgICAgICAgIHdoaWxlIGRhdGE6CisrICAgICAgICAgICAgICAgICAgICB0YXJnZXRm aWxlLndyaXRlKGRhdGEpCisrICAgICAgICAgICAgICAgICAgICBkYXRhID0gYnoyZmlsZS5yZWFk KFJFQURfU0laRV9CWVRFUykKKysgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CisrICAgICAg ICBtc2cgPSAiZXJyb3IgZXh0cmFjdGluZyAlcyB0byAlczogJXMiICUgKGFyY2hpdmUsIHRhcmdl dG5hbWUsIGVycikKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3IobXNnKQorKyAgICBy ZXR1cm4gTm9uZQorKworKworK2RlZiBjcmVhdGVfYnppcDIgKGFyY2hpdmUsIGNvbXByZXNzaW9u LCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0 ZSBhIEJaSVAyIGFyY2hpdmUgd2l0aCB0aGUgYnoyIFB5dGhvbiBtb2R1bGUuIiIiCisrICAgIGlm IGxlbihmaWxlbmFtZXMpID4gMToKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3IoJ211 bHRpLWZpbGUgY29tcHJlc3Npb24gbm90IHN1cHBvcnRlZCBpbiBQeXRob24gYnoyJykKKysgICAg dHJ5OgorKyAgICAgICAgd2l0aCBiejIuQloyRmlsZShhcmNoaXZlLCAnd2InKSBhcyBiejJmaWxl OgorKyAgICAgICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWVzWzBdCisrICAgICAgICAgICAgd2l0 aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBzcmNmaWxlOgorKyAgICAgICAgICAgICAgICBkYXRh ID0gc3JjZmlsZS5yZWFkKFJFQURfU0laRV9CWVRFUykKKysgICAgICAgICAgICAgICAgd2hpbGUg ZGF0YToKKysgICAgICAgICAgICAgICAgICAgIGJ6MmZpbGUud3JpdGUoZGF0YSkKKysgICAgICAg ICAgICAgICAgICAgIGRhdGEgPSBzcmNmaWxlLnJlYWQoUkVBRF9TSVpFX0JZVEVTKQorKyAgICBl eGNlcHQgRXhjZXB0aW9uIGFzIGVycjoKKysgICAgICAgIG1zZyA9ICJlcnJvciBjcmVhdGluZyAl czogJXMiICUgKGFyY2hpdmUsIGVycikKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3Io bXNnKQorKyAgICByZXR1cm4gTm9uZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9i dWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcHlfZWNoby5weSBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9weV9lY2hvLnB5CistLS0gcGF0 b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3B5X2VjaG8ucHkJ MTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0t MS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9weV9lY2hvLnB5CTIwMjEt MTItMDIgMjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDQ2IEBACisrIyAtKi0g Y29kaW5nOiB1dGYtOCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IEJhc3RpYW4gS2xl aW5laWRhbQorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJl ZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUg U29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IK KysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9n cmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisr IyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy YW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUg ZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJ ZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBj b21tYW5kcyBlY2hvaW5nIGRhdGEsIGltcGxlbWVudGVkIGJ5IHRoZSBQeXRob24gcHJpbnQKKytz dGF0ZW1lbnQuIiIiCisrZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgorK2Zy b20gLi4gaW1wb3J0IHV0aWwKKysKKysKKytkZWYgbGlzdF9iemlwMiAoYXJjaGl2ZSwgY29tcHJl c3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBCWklQ MiBhcmNoaXZlLiIiIgorKyAgICByZXR1cm4gc3RyaXBleHQoY21kLCBhcmNoaXZlLCB2ZXJib3Np dHkpCisrCisrbGlzdF9jb21wcmVzcyA9IFwKKysgIGxpc3RfbHptYSA9IFwKKysgIGxpc3RfeHog PSBcCisrICBsaXN0X2x6aXAgPSBcCisrICBsaXN0X2xyemlwID0gXAorKyAgbGlzdF9yemlwID0g XAorKyAgbGlzdF9iemlwMgorKworK2RlZiBsaXN0X2FwZSAoYXJjaGl2ZSwgY29tcHJlc3Npb24s IGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYW4gQVBFIGFyY2hp dmUuIiIiCisrICAgIHJldHVybiBzdHJpcGV4dChjbWQsIGFyY2hpdmUsIHZlcmJvc2l0eSwgZXh0 ZW5zaW9uPSIud2F2IikKKysKKytsaXN0X3NobiA9IFwKKysgIGxpc3RfZmxhYyA9IFwKKysgIGxp c3RfYXBlCisrCisrZGVmIHN0cmlwZXh0IChjbWQsIGFyY2hpdmUsIHZlcmJvc2l0eSwgZXh0ZW5z aW9uPSIiKToKKysgICAgIiIiUHJpbnQgdGhlIG5hbWUgd2l0aG91dCBzdWZmaXguIiIiCisrICAg IGlmIHZlcmJvc2l0eSA+PSAwOgorKyAgICAgICAgcHJpbnQodXRpbC5zdHJpcGV4dChhcmNoaXZl KStleHRlbnNpb24pCisrICAgIHJldHVybiBOb25lCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVh bS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9weV9nemlwLnB5IHBhdG9vbC11cHN0 cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3B5X2d6aXAucHkK Ky0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcHlf Z3ppcC5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3B5X2d6aXAu cHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEsNTUgQEAK KysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEyLTIwMTUgQmFz dGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJB cmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgZ3ppcCBQeXRob24gbW9kdWxlLiIiIgorK2Zyb20gX19m dXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0CisrIyBub3cgZ3ppcCByZWZlcnMgdG8gdGhl IFB5dGhvbiBzdGFuZGFyZCBtb2R1bGUsIG5vdCB0aGUgbG9jYWwgb25lCisraW1wb3J0IGd6aXAK Kytmcm9tIC4uIGltcG9ydCB1dGlsCisrCisrUkVBRF9TSVpFX0JZVEVTID0gMTAyNCoxMDI0Cisr CisrZGVmIGV4dHJhY3RfZ3ppcCAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5 LCBpbnRlcmFjdGl2ZSwgb3V0ZGlyKToKKysgICAgIiIiRXh0cmFjdCBhIEdaSVAgYXJjaGl2ZSB3 aXRoIHRoZSBnemlwIFB5dGhvbiBtb2R1bGUuIiIiCisrICAgIHRhcmdldG5hbWUgPSB1dGlsLmdl dF9zaW5nbGVfb3V0ZmlsZShvdXRkaXIsIGFyY2hpdmUpCisrICAgIHRyeToKKysgICAgICAgIHdp dGggZ3ppcC5HemlwRmlsZShhcmNoaXZlKSBhcyBnemlwZmlsZToKKysgICAgICAgICAgICB3aXRo IG9wZW4odGFyZ2V0bmFtZSwgJ3diJykgYXMgdGFyZ2V0ZmlsZToKKysgICAgICAgICAgICAgICAg ZGF0YSA9IGd6aXBmaWxlLnJlYWQoUkVBRF9TSVpFX0JZVEVTKQorKyAgICAgICAgICAgICAgICB3 aGlsZSBkYXRhOgorKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0ZmlsZS53cml0ZShkYXRhKQor KyAgICAgICAgICAgICAgICAgICAgZGF0YSA9IGd6aXBmaWxlLnJlYWQoUkVBRF9TSVpFX0JZVEVT KQorKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycjoKKysgICAgICAgIG1zZyA9ICJlcnJvciBl eHRyYWN0aW5nICVzIHRvICVzOiAlcyIgJSAoYXJjaGl2ZSwgdGFyZ2V0bmFtZSwgZXJyKQorKyAg ICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcihtc2cpCisrICAgIHJldHVybiBOb25lCisrCisr CisrZGVmIGNyZWF0ZV9nemlwIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHks IGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAgICAiIiJDcmVhdGUgYSBHWklQIGFyY2hpdmUg d2l0aCB0aGUgZ3ppcCBQeXRob24gbW9kdWxlLiIiIgorKyAgICBpZiBsZW4oZmlsZW5hbWVzKSA+ IDE6CisrICAgICAgICByYWlzZSB1dGlsLlBhdG9vbEVycm9yKCdtdWx0aS1maWxlIGNvbXByZXNz aW9uIG5vdCBzdXBwb3J0ZWQgaW4gUHl0aG9uIGd6aXAnKQorKyAgICB0cnk6CisrICAgICAgICB3 aXRoIGd6aXAuR3ppcEZpbGUoYXJjaGl2ZSwgJ3diJykgYXMgZ3ppcGZpbGU6CisrICAgICAgICAg ICAgZmlsZW5hbWUgPSBmaWxlbmFtZXNbMF0KKysgICAgICAgICAgICB3aXRoIG9wZW4oZmlsZW5h bWUsICdyYicpIGFzIHNyY2ZpbGU6CisrICAgICAgICAgICAgICAgIGRhdGEgPSBzcmNmaWxlLnJl YWQoUkVBRF9TSVpFX0JZVEVTKQorKyAgICAgICAgICAgICAgICB3aGlsZSBkYXRhOgorKyAgICAg ICAgICAgICAgICAgICAgZ3ppcGZpbGUud3JpdGUoZGF0YSkKKysgICAgICAgICAgICAgICAgICAg IGRhdGEgPSBzcmNmaWxlLnJlYWQoUkVBRF9TSVpFX0JZVEVTKQorKyAgICBleGNlcHQgRXhjZXB0 aW9uIGFzIGVycjoKKysgICAgICAgIG1zZyA9ICJlcnJvciBjcmVhdGluZyAlczogJXMiICUgKGFy Y2hpdmUsIGVycikKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3IobXNnKQorKyAgICBy ZXR1cm4gTm9uZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0 b29saWIvcHJvZ3JhbXMvcHlfbHptYS5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1 aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9weV9sem1hLnB5CistLS0gcGF0b29sLXVwc3RyZWFt LTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3B5X2x6bWEucHkJMTk3MC0wMS0wMSAw MTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVk L2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9weV9sem1hLnB5CTIwMjEtMTItMDIgMjI6MjM6 MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDY5IEBACisrIyAtKi0gY29kaW5nOiB1dGYt OCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMK KysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysj CisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3Ig dGhlIGx6bWEgUHl0aG9uIG1vZHVsZS4iIiIKKytmcm9tIC4uIGltcG9ydCB1dGlsCisraW1wb3J0 IGx6bWEKKysKKytSRUFEX1NJWkVfQllURVMgPSAxMDI0KjEwMjQKKysKKytkZWYgX2V4dHJhY3Qo YXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgZm9ybWF0LCB2ZXJib3NpdHksIG91dGRpcik6Cisr ICAgICIiIkV4dHJhY3QgYW4gTFpNQSBvciBYWiBhcmNoaXZlIHdpdGggdGhlIGx6bWEgUHl0aG9u IG1vZHVsZS4iIiIKKysgICAgdGFyZ2V0bmFtZSA9IHV0aWwuZ2V0X3NpbmdsZV9vdXRmaWxlKG91 dGRpciwgYXJjaGl2ZSkKKysgICAgdHJ5OgorKyAgICAgICAgd2l0aCBsem1hLkxaTUFGaWxlKGFy Y2hpdmUsIGZvcm1hdD1mb3JtYXQpIGFzIGx6bWFmaWxlOgorKyAgICAgICAgICAgIHdpdGggb3Bl bih0YXJnZXRuYW1lLCAnd2InKSBhcyB0YXJnZXRmaWxlOgorKyAgICAgICAgICAgICAgICBkYXRh ID0gbHptYWZpbGUucmVhZChSRUFEX1NJWkVfQllURVMpCisrICAgICAgICAgICAgICAgIHdoaWxl IGRhdGE6CisrICAgICAgICAgICAgICAgICAgICB0YXJnZXRmaWxlLndyaXRlKGRhdGEpCisrICAg ICAgICAgICAgICAgICAgICBkYXRhID0gbHptYWZpbGUucmVhZChSRUFEX1NJWkVfQllURVMpCisr ICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorKyAgICAgICAgbXNnID0gImVycm9yIGV4dHJh Y3RpbmcgJXMgdG8gJXM6ICVzIiAlIChhcmNoaXZlLCB0YXJnZXRuYW1lLCBlcnIpCisrICAgICAg ICByYWlzZSB1dGlsLlBhdG9vbEVycm9yKG1zZykKKysgICAgcmV0dXJuIE5vbmUKKysKKytkZWYg ZXh0cmFjdF9sem1hKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJh Y3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYW4gTFpNQSBhcmNoaXZlIHdpdGggdGhl IGx6bWEgUHl0aG9uIG1vZHVsZS4iIiIKKysgICAgcmV0dXJuIF9leHRyYWN0KGFyY2hpdmUsIGNv bXByZXNzaW9uLCBjbWQsIGx6bWEuRk9STUFUX0FMT05FLCB2ZXJib3NpdHksIG91dGRpcikKKysK KytkZWYgZXh0cmFjdF94eihhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGlu dGVyYWN0aXZlLCBvdXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGFuIFhaIGFyY2hpdmUgd2l0aCB0 aGUgbHptYSBQeXRob24gbW9kdWxlLiIiIgorKyAgICByZXR1cm4gX2V4dHJhY3QoYXJjaGl2ZSwg Y29tcHJlc3Npb24sIGNtZCwgbHptYS5GT1JNQVRfWFosIHZlcmJvc2l0eSwgb3V0ZGlyKQorKwor KworK2RlZiBfY3JlYXRlKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIGZvcm1hdCwgdmVyYm9z aXR5LCBmaWxlbmFtZXMpOgorKyAgICAiIiJDcmVhdGUgYW4gTFpNQSBvciBYWiBhcmNoaXZlIHdp dGggdGhlIGx6bWEgUHl0aG9uIG1vZHVsZS4iIiIKKysgICAgaWYgbGVuKGZpbGVuYW1lcykgPiAx OgorKyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcignbXVsdGktZmlsZSBjb21wcmVzc2lv biBub3Qgc3VwcG9ydGVkIGluIFB5dGhvbiBsem1hJykKKysgICAgdHJ5OgorKyAgICAgICAgd2l0 aCBsem1hLkxaTUFGaWxlKGFyY2hpdmUsIG1vZGU9J3diJywgZm9ybWF0PWZvcm1hdCwgcHJlc2V0 PTkpIGFzIGx6bWFmaWxlOgorKyAgICAgICAgICAgIGZpbGVuYW1lID0gZmlsZW5hbWVzWzBdCisr ICAgICAgICAgICAgd2l0aCBvcGVuKGZpbGVuYW1lLCAncmInKSBhcyBzcmNmaWxlOgorKyAgICAg ICAgICAgICAgICBkYXRhID0gc3JjZmlsZS5yZWFkKFJFQURfU0laRV9CWVRFUykKKysgICAgICAg ICAgICAgICAgd2hpbGUgZGF0YToKKysgICAgICAgICAgICAgICAgICAgIGx6bWFmaWxlLndyaXRl KGRhdGEpCisrICAgICAgICAgICAgICAgICAgICBkYXRhID0gc3JjZmlsZS5yZWFkKFJFQURfU0la RV9CWVRFUykKKysgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBlcnI6CisrICAgICAgICBtc2cgPSAi ZXJyb3IgY3JlYXRpbmcgJXM6ICVzIiAlIChhcmNoaXZlLCBlcnIpCisrICAgICAgICByYWlzZSB1 dGlsLlBhdG9vbEVycm9yKG1zZykKKysgICAgcmV0dXJuIE5vbmUKKysKKytkZWYgY3JlYXRlX2x6 bWEoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgZmls ZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGFuIExaTUEgYXJjaGl2ZSB3aXRoIHRoZSBsem1hIFB5 dGhvbiBtb2R1bGUuIiIiCisrICAgIHJldHVybiBfY3JlYXRlKGFyY2hpdmUsIGNvbXByZXNzaW9u LCBjbWQsIGx6bWEuRk9STUFUX0FMT05FLCB2ZXJib3NpdHksIGZpbGVuYW1lcykKKysKKytkZWYg Y3JlYXRlX3h6KGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3Rp dmUsIGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0ZSBhbiBYWiBhcmNoaXZlIHdpdGggdGhlIGx6 bWEgUHl0aG9uIG1vZHVsZS4iIiIKKysgICAgcmV0dXJuIF9jcmVhdGUoYXJjaGl2ZSwgY29tcHJl c3Npb24sIGNtZCwgbHptYS5GT1JNQVRfWFosIHZlcmJvc2l0eSwgZmlsZW5hbWVzKQorZGlmZiAt TmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcHlf dGFyZmlsZS5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xp Yi9wcm9ncmFtcy9weV90YXJmaWxlLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQv bGliL3BhdG9vbGliL3Byb2dyYW1zL3B5X3RhcmZpbGUucHkJMTk3MC0wMS0wMSAwMTowMDowMC4w MDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xp Yi9wYXRvb2xpYi9wcm9ncmFtcy9weV90YXJmaWxlLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc4 ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDcxIEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0K KysjIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRo aXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv biwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlv bikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hB TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQor KyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZ b3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDov L3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIHRh cmZpbGUgUHl0aG9uIG1vZHVsZS4iIiIKKytmcm9tIC4uIGltcG9ydCB1dGlsLCBweV9sem1hCisr aW1wb3J0IHRhcmZpbGUKKysKKytSRUFEX1NJWkVfQllURVMgPSAxMDI0KjEwMjQKKysKKysKKytk ZWYgbGlzdF90YXIgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJh Y3RpdmUpOgorKyAgICAiIiJMaXN0IGEgVEFSIGFyY2hpdmUgd2l0aCB0aGUgdGFyZmlsZSBQeXRo b24gbW9kdWxlLiIiIgorKyAgICB0cnk6CisrICAgICAgICB3aXRoIHRhcmZpbGUub3BlbihhcmNo aXZlKSBhcyB0ZmlsZToKKysgICAgICAgICAgICB0ZmlsZS5saXN0KHZlcmJvc2U9dmVyYm9zaXR5 PjEpCisrICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorKyAgICAgICAgbXNnID0gImVycm9y IGxpc3RpbmcgJXM6ICVzIiAlIChhcmNoaXZlLCBlcnIpCisrICAgICAgICByYWlzZSB1dGlsLlBh dG9vbEVycm9yKG1zZykKKysgICAgcmV0dXJuIE5vbmUKKysKKyt0ZXN0X3RhciA9IGxpc3RfdGFy CisrCisrZGVmIGV4dHJhY3RfdGFyIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3Np dHksIGludGVyYWN0aXZlLCBvdXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGEgVEFSIGFyY2hpdmUg d2l0aCB0aGUgdGFyZmlsZSBQeXRob24gbW9kdWxlLiIiIgorKyAgICB0cnk6CisrICAgICAgICB3 aXRoIHRhcmZpbGUub3BlbihhcmNoaXZlKSBhcyB0ZmlsZToKKysgICAgICAgICAgICB0ZmlsZS5l eHRyYWN0YWxsKHBhdGg9b3V0ZGlyKQorKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycjoKKysg ICAgICAgIG1zZyA9ICJlcnJvciBleHRyYWN0aW5nICVzOiAlcyIgJSAoYXJjaGl2ZSwgZXJyKQor KyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcihtc2cpCisrICAgIHJldHVybiBOb25lCisr CisrCisrZGVmIGNyZWF0ZV90YXIgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0 eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0ZSBhIFRBUiBhcmNoaXZl IHdpdGggdGhlIHRhcmZpbGUgUHl0aG9uIG1vZHVsZS4iIiIKKysgICAgbW9kZSA9IGdldF90YXJf bW9kZShjb21wcmVzc2lvbikKKysgICAgdHJ5OgorKyAgICAgICAgd2l0aCB0YXJmaWxlLm9wZW4o YXJjaGl2ZSwgbW9kZSkgYXMgdGZpbGU6CisrICAgICAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZp bGVuYW1lczoKKysgICAgICAgICAgICAgICAgdGZpbGUuYWRkKGZpbGVuYW1lKQorKyAgICBleGNl cHQgRXhjZXB0aW9uIGFzIGVycjoKKysgICAgICAgIG1zZyA9ICJlcnJvciBjcmVhdGluZyAlczog JXMiICUgKGFyY2hpdmUsIGVycikKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3IobXNn KQorKyAgICByZXR1cm4gTm9uZQorKworKworK2RlZiBnZXRfdGFyX21vZGUgKGNvbXByZXNzaW9u KToKKysgICAgIiIiRGV0ZXJtaW5lIHRhcmZpbGUgb3BlbiBtb2RlIGFjY29yZGluZyB0byB0aGUg Z2l2ZW4gY29tcHJlc3Npb24uIiIiCisrICAgIGlmIGNvbXByZXNzaW9uID09ICdnemlwJzoKKysg ICAgICAgIHJldHVybiAndzpneicKKysgICAgaWYgY29tcHJlc3Npb24gPT0gJ2J6aXAyJzoKKysg ICAgICAgIHJldHVybiAndzpiejInCisrICAgIGlmIGNvbXByZXNzaW9uID09ICdsem1hJyBhbmQg cHlfbHptYToKKysgICAgICAgIHJldHVybiAndzp4eicKKysgICAgaWYgY29tcHJlc3Npb246Cisr ICAgICAgICBtc2cgPSAncHl0YXJmaWxlIGRvZXMgbm90IHN1cHBvcnQgJXMgZm9yIHRhciBjb21w cmVzc2lvbicKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3IobXNnICUgY29tcHJlc3Np b24pCisrICAgICMgbm8gY29tcHJlc3Npb24KKysgICAgcmV0dXJuICd3JworZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcHlfemlwZmls ZS5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9n cmFtcy9weV96aXBmaWxlLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3Bh dG9vbGliL3Byb2dyYW1zL3B5X3ppcGZpbGUucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRv b2xpYi9wcm9ncmFtcy9weV96aXBmaWxlLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc4ODMyMzIw ICswMTAwCitAQCAtMCwwICsxLDcwIEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysjIENv cHlyaWdodCAoQykgMjAxMi0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIHppcGZpbGUg UHl0aG9uIG1vZHVsZS4iIiIKKytmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9u CisrZnJvbSAuLiBpbXBvcnQgdXRpbAorK2ltcG9ydCB6aXBmaWxlCisraW1wb3J0IG9zCisrCisr UkVBRF9TSVpFX0JZVEVTID0gMTAyNCoxMDI0CisrCisrCisrZGVmIGxpc3RfemlwKGFyY2hpdmUs IGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJMaXN0 IG1lbWJlciBvZiBhIFpJUCBhcmNoaXZlIHdpdGggdGhlIHppcGZpbGUgUHl0aG9uIG1vZHVsZS4i IiIKKysgICAgdHJ5OgorKyAgICAgICAgd2l0aCB6aXBmaWxlLlppcEZpbGUoYXJjaGl2ZSwgInIi KSBhcyB6ZmlsZToKKysgICAgICAgICAgICBmb3IgbmFtZSBpbiB6ZmlsZS5uYW1lbGlzdCgpOgor KyAgICAgICAgICAgICAgICBpZiB2ZXJib3NpdHkgPj0gMDoKKysgICAgICAgICAgICAgICAgICAg IHByaW50KG5hbWUpCisrICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJyOgorKyAgICAgICAgbXNn ID0gImVycm9yIGxpc3RpbmcgJXM6ICVzIiAlIChhcmNoaXZlLCBlcnIpCisrICAgICAgICByYWlz ZSB1dGlsLlBhdG9vbEVycm9yKG1zZykKKysgICAgcmV0dXJuIE5vbmUKKysKKyt0ZXN0X3ppcCA9 IGxpc3RfemlwCisrCisrZGVmIGV4dHJhY3RfemlwKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQs IHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBaSVAg YXJjaGl2ZSB3aXRoIHRoZSB6aXBmaWxlIFB5dGhvbiBtb2R1bGUuIiIiCisrICAgIHRyeToKKysg ICAgICAgIHdpdGggemlwZmlsZS5aaXBGaWxlKGFyY2hpdmUpIGFzIHpmaWxlOgorKyAgICAgICAg ICAgIHpmaWxlLmV4dHJhY3RhbGwob3V0ZGlyKQorKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGVy cjoKKysgICAgICAgIG1zZyA9ICJlcnJvciBleHRyYWN0aW5nICVzOiAlcyIgJSAoYXJjaGl2ZSwg ZXJyKQorKyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcihtc2cpCisrICAgIHJldHVybiBO b25lCisrCisrCisrZGVmIGNyZWF0ZV96aXAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVy Ym9zaXR5LCBpbnRlcmFjdGl2ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGEgWklQIGFy Y2hpdmUgd2l0aCB0aGUgemlwZmlsZSBQeXRob24gbW9kdWxlLiIiIgorKyAgICB0cnk6CisrICAg ICAgICB3aXRoIHppcGZpbGUuWmlwRmlsZShhcmNoaXZlLCAndycpIGFzIHpmaWxlOgorKyAgICAg ICAgICAgIGZvciBmaWxlbmFtZSBpbiBmaWxlbmFtZXM6CisrICAgICAgICAgICAgICAgIGlmIG9z LnBhdGguaXNkaXIoZmlsZW5hbWUpOgorKyAgICAgICAgICAgICAgICAgICAgd3JpdGVfZGlyZWN0 b3J5KHpmaWxlLCBmaWxlbmFtZSkKKysgICAgICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAg ICAgICAgICAgIHpmaWxlLndyaXRlKGZpbGVuYW1lKQorKyAgICBleGNlcHQgRXhjZXB0aW9uIGFz IGVycjoKKysgICAgICAgIG1zZyA9ICJlcnJvciBjcmVhdGluZyAlczogJXMiICUgKGFyY2hpdmUs IGVycikKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3IobXNnKQorKyAgICByZXR1cm4g Tm9uZQorKworKworK2RlZiB3cml0ZV9kaXJlY3RvcnkgKHpmaWxlLCBkaXJlY3RvcnkpOgorKyAg ICAiIiJXcml0ZSByZWN1cnNpdmVseSBhbGwgZGlyZWN0b3JpZXMgYW5kIGZpbGVuYW1lcyB0byB6 aXBmaWxlIGluc3RhbmNlLiIiIgorKyAgICBmb3IgZGlycGF0aCwgZGlybmFtZXMsIGZpbGVuYW1l cyBpbiBvcy53YWxrKGRpcmVjdG9yeSk6CisrICAgICAgICB6ZmlsZS53cml0ZShkaXJwYXRoKQor KyAgICAgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVuYW1lczoKKysgICAgICAgICAgICB6ZmlsZS53 cml0ZShvcy5wYXRoLmpvaW4oZGlycGF0aCwgZmlsZW5hbWUpKQorZGlmZiAtTmF1ciBwYXRvb2wt dXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvcmFyLnB5IHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3Jhci5weQor LS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9yYXIu cHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJl YW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9yYXIucHkJMjAyMS0x Mi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEsNTQgQEAKKysjIC0qLSBj b2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFzdGlhbiBLbGVp bmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVk aXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgor KyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dy YW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysj IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh bnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV UlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk ZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElm IG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNv bW1hbmRzIGZvciB0aGUgcmFyIHByb2dyYW0uIiIiCisraW1wb3J0IG9zCisrCisrZGVmIGV4dHJh Y3RfcmFyIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZl LCBvdXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGEgUkFSIGFyY2hpdmUuIiIiCisrICAgIGNtZGxp c3QgPSBbY21kLCAneCddCisrICAgIGlmIG5vdCBpbnRlcmFjdGl2ZToKKysgICAgICAgIGNtZGxp c3QuZXh0ZW5kKFsnLXAtJywgJy15J10pCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLS0nLCBvcy5w YXRoLmFic3BhdGgoYXJjaGl2ZSldKQorKyAgICByZXR1cm4gKGNtZGxpc3QsIHsnY3dkJzogb3V0 ZGlyfSkKKysKKytkZWYgbGlzdF9yYXIgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJv c2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJMaXN0IGEgUkFSIGFyY2hpdmUuIiIiCisrICAg IGNtZGxpc3QgPSBbY21kXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlz dC5hcHBlbmQoJ3YnKQorKyAgICBlbHNlOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJ2wnKQor KyAgICBpZiBub3QgaW50ZXJhY3RpdmU6CisrICAgICAgICBjbWRsaXN0LmV4dGVuZChbJy1wLScs ICcteSddKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy0tJywgYXJjaGl2ZV0pCisrICAgIHJldHVy biBjbWRsaXN0CisrCisrZGVmIHRlc3RfcmFyIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2 ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIiVGVzdCBhIFJBUiBhcmNoaXZlLiIiIgor KyAgICBjbWRsaXN0ID0gW2NtZCwgJ3QnXQorKyAgICBpZiBub3QgaW50ZXJhY3RpdmU6CisrICAg ICAgICBjbWRsaXN0LmV4dGVuZChbJy1wLScsICcteSddKQorKyAgICBjbWRsaXN0LmV4dGVuZChb Jy0tJywgYXJjaGl2ZV0pCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrZGVmIGNyZWF0ZV9yYXIg KGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVu YW1lcyk6CisrICAgICIiIkNyZWF0ZSBhIFJBUiBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0g W2NtZCwgJ2EnXQorKyAgICBpZiBub3QgaW50ZXJhY3RpdmU6CisrICAgICAgICBjbWRsaXN0LmFw cGVuZCgnLXknKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy1yJywgJy1tNScsICctLScsIGFyY2hp dmVdKQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxlbmFtZXMpCisrICAgIHJldHVybiBjbWRsaXN0 CitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9n cmFtcy9ycG0ucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29s aWIvcHJvZ3JhbXMvcnBtLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3Bh dG9vbGliL3Byb2dyYW1zL3JwbS5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEw MAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3By b2dyYW1zL3JwbS5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAs MCArMSwzMiBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIw MTAtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBycG0gcHJvZ3JhbS4iIiIKKysKKytk ZWYgbGlzdF9ycG0gKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJh Y3RpdmUpOgorKyAgICAiIiJMaXN0IGEgUlBNIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBb Y21kLCAnLXEnLCAnLWwnXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlz dC5hcHBlbmQoJy12JykKKysgICAgY21kbGlzdC5leHRlbmQoWyctcCcsICctLScsIGFyY2hpdmVd KQorKyAgICByZXR1cm4gY21kbGlzdAorKworK2RlZiB0ZXN0X3JwbSAoYXJjaGl2ZSwgY29tcHJl c3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIlRlc3QgYSBSUE0g YXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICdWJ10KKysgICAgaWYgdmVyYm9zaXR5 ID4gMToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCctdicpCisrICAgIGNtZGxpc3QuZXh0ZW5k KFsnLXAnLCAnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0dXJuIGNtZGxpc3QKK2RpZmYgLU5hdXIg cGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3JwbTJjcGlv LnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dy YW1zL3JwbTJjcGlvLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL3JwbTJjcGlvLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICsw MTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIv cHJvZ3JhbXMvcnBtMmNwaW8ucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAK K0BAIC0wLDAgKzEsMzMgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0 IChDKSAyMDEwLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlz IGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysj IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMg cHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVy c2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg dmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2 ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBh bG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcv bGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgcnBtMmNwaW8gcHJvZ3Jh bS4iIiIKKytpbXBvcnQgb3MKKytmcm9tIC4uIGltcG9ydCB1dGlsCisrCisrZGVmIGV4dHJhY3Rf cnBtIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBv dXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGEgUlBNIGFyY2hpdmUuIiIiCisrICAgICMgYWxzbyBj aGVjayBjcGlvCisrICAgIGNwaW8gPSB1dGlsLmZpbmRfcHJvZ3JhbSgiY3BpbyIpCisrICAgIGlm IG5vdCBjcGlvOgorKyAgICAgICAgcmFpc2UgdXRpbC5QYXRvb2xFcnJvcigiY3BpbygxKSBpcyBy ZXF1aXJlZCBmb3IgcnBtMmNwaW8gZXh0cmFjdGlvbjsgcGxlYXNlIGluc3RhbGwgaXQiKQorKyAg ICBwYXRoID0gdXRpbC5zaGVsbF9xdW90ZShvcy5wYXRoLmFic3BhdGgoYXJjaGl2ZSkpCisrICAg IGNtZGxpc3QgPSBbdXRpbC5zaGVsbF9xdW90ZShjbWQpLCBwYXRoLCAifCIsIHV0aWwuc2hlbGxf cXVvdGUoY3BpbyksCisrICAgICAgICAnLS1leHRyYWN0JywgJy0tbWFrZS1kaXJlY3Rvcmllcycs ICctLXByZXNlcnZlLW1vZGlmaWNhdGlvbi10aW1lJywKKysgICAgICAgICctLW5vLWFic29sdXRl LWZpbGVuYW1lcycsICctLWZvcmNlLWxvY2FsJywgJy0tbm9ubWF0Y2hpbmcnLAorKyAgICAgICAg ciciKlwuXC4qIiddCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFw cGVuZCgnLXYnKQorKyAgICByZXR1cm4gKGNtZGxpc3QsIHsnY3dkJzogb3V0ZGlyLCAnc2hlbGwn OiBUcnVlfSkKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL3J6aXAucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9s aWIvcGF0b29saWIvcHJvZ3JhbXMvcnppcC5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1 aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9yemlwLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAw MDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIv cGF0b29saWIvcHJvZ3JhbXMvcnppcC5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCAr MDEwMAorQEAgLTAsMCArMSwzNCBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5 cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlm eQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhl ciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBs YXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUg aG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZ OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3Vs ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UK KysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251 Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSByemlwIHByb2dy YW0uIiIiCisrZnJvbSAuLiBpbXBvcnQgdXRpbAorKworK2RlZiBleHRyYWN0X3J6aXAgKGFyY2hp dmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6Cisr ICAgICIiIkV4dHJhY3QgYW4gUlpJUCBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwg Jy1kJywgJy1rJ10KKysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIGNtZGxpc3QuYXBw ZW5kKCctdicpCisrICAgIG91dGZpbGUgPSB1dGlsLmdldF9zaW5nbGVfb3V0ZmlsZShvdXRkaXIs IGFyY2hpdmUpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsiLW8iLCBvdXRmaWxlLCBhcmNoaXZlXSkK KysgICAgcmV0dXJuIGNtZGxpc3QKKysKKytkZWYgY3JlYXRlX3J6aXAgKGFyY2hpdmUsIGNvbXBy ZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIi IkNyZWF0ZSBhbiBSWklQIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAnLWsnLCAn LTknLCAnLW8nLCBhcmNoaXZlXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21k bGlzdC5hcHBlbmQoJy12JykKKysgICAgY21kbGlzdC5leHRlbmQoZmlsZW5hbWVzKQorKyAgICBy ZXR1cm4gY21kbGlzdAorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIv cGF0b29saWIvcHJvZ3JhbXMvc2hhci5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1 aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9zaGFyLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEu MTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3NoYXIucHkJMTk3MC0wMS0wMSAwMTowMDow MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxk L2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9zaGFyLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc4ODMy MzIwICswMTAwCitAQCAtMCwwICsxLDI0IEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysj IENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg ZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ug c2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3 dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIHNoYXIg cHJvZ3JhbS4iIiIKKytmcm9tIC4uIGltcG9ydCB1dGlsCisrCisrZGVmIGNyZWF0ZV9zaGFyIChh cmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFt ZXMpOgorKyAgICAiIiJDcmVhdGUgYSBTSEFSIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBb dXRpbC5zaGVsbF9xdW90ZShjbWQpXQorKyAgICBjbWRsaXN0LmV4dGVuZChbdXRpbC5zaGVsbF9x dW90ZSh4KSBmb3IgeCBpbiBmaWxlbmFtZXNdKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJz4nLCB1 dGlsLnNoZWxsX3F1b3RlKGFyY2hpdmUpXSkKKysgICAgcmV0dXJuIChjbWRsaXN0LCB7J3NoZWxs JzogVHJ1ZX0pCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRv b2xpYi9wcm9ncmFtcy9zaG9ydGVuLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVp bGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3Nob3J0ZW4ucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0t MS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvc2hvcnRlbi5weQkxOTcwLTAxLTAxIDAx OjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQv YnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3Nob3J0ZW4ucHkJMjAyMS0xMi0wMiAyMjoyMzox MC41Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEsMzUgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04 IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEyLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIwor KyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0 IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwg UHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIg b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJp YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VU IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBN RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg dGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMK KysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxo dHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0 aGUgc2hvcnRlbiBwcm9ncmFtLiIiIgorK2Zyb20gLi4gaW1wb3J0IHV0aWwKKysKKytkZWYgZXh0 cmFjdF9zaG4gKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3Rp dmUsIG91dGRpcik6CisrICAgICIiIkRlY29tcHJlc3MgYSBTSE4gYXJjaGl2ZSB0byBhIFdBViBm aWxlLiIiIgorKyAgICBjbWRsaXN0ID0gW3V0aWwuc2hlbGxfcXVvdGUoY21kKV0KKysgICAgb3V0 ZmlsZSA9IHV0aWwuZ2V0X3NpbmdsZV9vdXRmaWxlKG91dGRpciwgYXJjaGl2ZSwgZXh0ZW5zaW9u PSIud2F2IikKKysgICAgY21kbGlzdC5leHRlbmQoWycteCcsICctJywgdXRpbC5zaGVsbF9xdW90 ZShvdXRmaWxlKSwgJzwnLAorKyAgICAgICAgdXRpbC5zaGVsbF9xdW90ZShhcmNoaXZlKV0pCisr ICAgIHJldHVybiAoY21kbGlzdCwgeydzaGVsbCc6IFRydWV9KQorKworKworK2RlZiBjcmVhdGVf c2huIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBm aWxlbmFtZXMpOgorKyAgICAiIiJDb21wcmVzcyBhIFdBViBmaWxlIHRvIGEgU0hOIGFyY2hpdmUu IiIiCisrICAgIGlmIGxlbihmaWxlbmFtZXMpID4gMToKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0 b29sRXJyb3IoIm11bHRpcGxlIGZpbGVuYW1lcyBmb3Igc2hvcnRlbiBub3Qgc3VwcG9ydGVkIikK KysgICAgY21kbGlzdCA9IFt1dGlsLnNoZWxsX3F1b3RlKGNtZCldCisrICAgIGNtZGxpc3QuZXh0 ZW5kKFsnLScsIHV0aWwuc2hlbGxfcXVvdGUoYXJjaGl2ZSksICc8JywKKysgICAgICAgIHV0aWwu c2hlbGxfcXVvdGUoZmlsZW5hbWVzWzBdKV0pCisrICAgIHJldHVybiAoY21kbGlzdCwgeydzaGVs bCc6IFRydWV9KQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0 b29saWIvcHJvZ3JhbXMvc3Rhci5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxk L2xpYi9wYXRvb2xpYi9wcm9ncmFtcy9zdGFyLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv YnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3N0YXIucHkJMTk3MC0wMS0wMSAwMTowMDowMC4w MDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xp Yi9wYXRvb2xpYi9wcm9ncmFtcy9zdGFyLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc4ODMyMzIw ICswMTAwCitAQCAtMCwwICsxLDQxIEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysjIENv cHlyaWdodCAoQykgMjAxMC0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRoaXMgcHJv Z3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9k aWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0 aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55 IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRo ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFO VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklM SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hv dWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5n bnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIHN0YXIgcHJv Z3JhbS4iIiIKKytmcm9tIC50YXIgaW1wb3J0IGFkZF90YXJfb3B0cyBhcyBhZGRfc3Rhcl9vcHRz CisrCisrZGVmIGV4dHJhY3RfdGFyIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3Np dHksIGludGVyYWN0aXZlLCBvdXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGEgVEFSIGFyY2hpdmUu IiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAnLXgnXQorKyAgICBhZGRfc3Rhcl9vcHRzKGNtZGxp c3QsIGNvbXByZXNzaW9uLCB2ZXJib3NpdHkpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLUMnLCBv dXRkaXIsICdmaWxlPSVzJyAlIGFyY2hpdmVdKQorKyAgICByZXR1cm4gY21kbGlzdAorKworK2Rl ZiBsaXN0X3RhciAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFj dGl2ZSk6CisrICAgICIiIkxpc3QgYSBUQVIgYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtj bWQsICctbiddCisrICAgIGFkZF9zdGFyX29wdHMoY21kbGlzdCwgY29tcHJlc3Npb24sIHZlcmJv c2l0eSkKKysgICAgY21kbGlzdC5hcHBlbmQoImZpbGU9JXMiICUgYXJjaGl2ZSkKKysgICAgcmV0 dXJuIGNtZGxpc3QKKysKKyt0ZXN0X3RhciA9IGxpc3RfdGFyCisrCisrZGVmIGNyZWF0ZV90YXIg KGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVu YW1lcyk6CisrICAgICIiIkNyZWF0ZSBhIFRBUiBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0g W2NtZCwgJy1jJ10KKysgICAgYWRkX3N0YXJfb3B0cyhjbWRsaXN0LCBjb21wcmVzc2lvbiwgdmVy Ym9zaXR5KQorKyAgICBjbWRsaXN0LmFwcGVuZCgiZmlsZT0lcyIgJSBhcmNoaXZlKQorKyAgICBj bWRsaXN0LmV4dGVuZChmaWxlbmFtZXMpCisrICAgIHJldHVybiBjbWRsaXN0CitkaWZmIC1OYXVy IHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy90YXIucHkg cGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMv dGFyLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dy YW1zL3Rhci5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9v bC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3Rhci5w eQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAsMCArMSw2MiBAQAor KyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0 aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFy Y2hpdmUgY29tbWFuZHMgZm9yIHRoZSBHTlUgdGFyIHByb2dyYW0uIiIiCisraW1wb3J0IG9zCisr CisrCisrZGVmIGV4dHJhY3RfdGFyIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3Np dHksIGludGVyYWN0aXZlLCBvdXRkaXIpOgorKyAgICAiIiJFeHRyYWN0IGEgVEFSIGFyY2hpdmUu IiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCAnLS1leHRyYWN0J10KKysgICAgYWRkX3Rhcl9vcHRz KGNtZGxpc3QsIGNvbXByZXNzaW9uLCB2ZXJib3NpdHkpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsi LS1maWxlIiwgYXJjaGl2ZSwgJy0tZGlyZWN0b3J5Jywgb3V0ZGlyXSkKKysgICAgcmV0dXJuIGNt ZGxpc3QKKysKKytkZWYgbGlzdF90YXIgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJv c2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJMaXN0IGEgVEFSIGFyY2hpdmUuIiIiCisrICAg IGNtZGxpc3QgPSBbY21kLCAnLS1saXN0J10KKysgICAgYWRkX3Rhcl9vcHRzKGNtZGxpc3QsIGNv bXByZXNzaW9uLCB2ZXJib3NpdHkpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsiLS1maWxlIiwgYXJj aGl2ZV0pCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrdGVzdF90YXIgPSBsaXN0X3RhcgorKwor K2RlZiBjcmVhdGVfdGFyIChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGlu dGVyYWN0aXZlLCBmaWxlbmFtZXMpOgorKyAgICAiIiJDcmVhdGUgYSBUQVIgYXJjaGl2ZS4iIiIK KysgICAgY21kbGlzdCA9IFtjbWQsICctLWNyZWF0ZSddCisrICAgIGFkZF90YXJfb3B0cyhjbWRs aXN0LCBjb21wcmVzc2lvbiwgdmVyYm9zaXR5KQorKyAgICBjbWRsaXN0LmV4dGVuZChbIi0tZmls ZSIsIGFyY2hpdmUsICctLSddKQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxlbmFtZXMpCisrICAg IHJldHVybiBjbWRsaXN0CisrCisrZGVmIGFkZF90YXJfb3B0cyAoY21kbGlzdCwgY29tcHJlc3Np b24sIHZlcmJvc2l0eSk6CisrICAgICIiIkFkZCB0YXIgb3B0aW9ucyB0byBjbWRsaXN0LiIiIgor KyAgICBwcm9nbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoY21kbGlzdFswXSkKKysgICAgaWYgY29t cHJlc3Npb24gPT0gJ2d6aXAnOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy16JykKKysgICAg ZWxpZiBjb21wcmVzc2lvbiA9PSAnY29tcHJlc3MnOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQo Jy1aJykKKysgICAgZWxpZiBjb21wcmVzc2lvbiA9PSAnYnppcDInOgorKyAgICAgICAgY21kbGlz dC5hcHBlbmQoJy1qJykKKysgICAgZWxpZiBjb21wcmVzc2lvbiBpbiAoJ2x6bWEnLCAneHonKSBh bmQgcHJvZ25hbWUgPT0gJ2JzZHRhcic6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLS0lcycg JSBjb21wcmVzc2lvbikKKysgICAgZWxpZiBjb21wcmVzc2lvbiBpbiAoJ2x6bWEnLCAneHonLCAn bHppcCcpOgorKyAgICAgICAgIyB1c2UgdGhlIGNvbXByZXNzaW9uIG5hbWUgYXMgcHJvZ3JhbSBu YW1lIHNpbmNlCisrICAgICAgICAjIHRhciBpcyBwaWNreSB3aGljaCBwcm9ncmFtcyBpdCBjYW4g dXNlCisrICAgICAgICBwcm9ncmFtID0gY29tcHJlc3Npb24KKysgICAgICAgICMgc2V0IGNvbXBy ZXNzaW9uIHByb2dyYW0KKysgICAgICAgIGNtZGxpc3QuZXh0ZW5kKFsnLS11c2UtY29tcHJlc3Mt cHJvZ3JhbScsIHByb2dyYW1dKQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21k bGlzdC5hcHBlbmQoJy0tdmVyYm9zZScpCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEy L2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bmFjZS5weSBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bmFjZS5weQorLS0tIHBhdG9v bC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bmFjZS5weQkxOTcw LTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEy LXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3VuYWNlLnB5CTIwMjEtMTItMDIg MjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDM4IEBACisrIyAtKi0gY29kaW5n OiB1dGYtOCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IEJhc3RpYW4gS2xlaW5laWRh bQorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBH ZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv ZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5k cyBmb3IgdGhlIHVuYWNlIHByb2dyYW0uIiIiCisrCisrZGVmIGV4dHJhY3RfYWNlIChhcmNoaXZl LCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBvdXRkaXIpOgorKyAg ICAiIiJFeHRyYWN0IGFuIEFDRSBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJ3gn XQorKyAgICBpZiBub3Qgb3V0ZGlyLmVuZHN3aXRoKCcvJyk6CisrICAgICAgICBvdXRkaXIgKz0g Jy8nCisrICAgIGNtZGxpc3QuZXh0ZW5kKFthcmNoaXZlLCBvdXRkaXJdKQorKyAgICByZXR1cm4g Y21kbGlzdAorKworK2RlZiBsaXN0X2FjZSAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVy Ym9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYW4gQUNFIGFyY2hpdmUuIiIiCisr ICAgIGNtZGxpc3QgPSBbY21kXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21k bGlzdC5hcHBlbmQoJ3YnKQorKyAgICBlbHNlOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJ2wn KQorKyAgICBjbWRsaXN0LmFwcGVuZChhcmNoaXZlKQorKyAgICByZXR1cm4gY21kbGlzdAorKwor K2RlZiB0ZXN0X2FjZSAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRl cmFjdGl2ZSk6CisrICAgICIiIlRlc3QgYW4gQUNFIGFyY2hpdmUuIiIiCisrICAgIHJldHVybiBb Y21kLCAndCcsIGFyY2hpdmVdCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxk L2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bmFkZi5weSBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bmFkZi5weQorLS0tIHBhdG9vbC11cHN0 cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bmFkZi5weQkxOTcwLTAxLTAx IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3VuYWRmLnB5CTIwMjEtMTItMDIgMjI6MjM6 MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDI4IEBACisrIyAtKi0gY29kaW5nOiB1dGYt OCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMi0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQorKyMK KysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp dCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5b3Vy IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lUSE9V VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorKyMg TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl IHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKysj CisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ dWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBmb3Ig dGhlIHVuYWRmIHByb2dyYW0uIiIiCisrCisrCisrZGVmIGV4dHJhY3RfYWRmIChhcmNoaXZlLCBj b21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBvdXRkaXIpOgorKyAgICAi IiJFeHRyYWN0IGFuIEFERiBhcmNoaXZlLiIiIgorKyAgICByZXR1cm4gW2NtZCwgYXJjaGl2ZSwg Jy1kJywgb3V0ZGlyXQorKworKworK2RlZiBsaXN0X2FkZiAoYXJjaGl2ZSwgY29tcHJlc3Npb24s IGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYW4gQURGIGFyY2hp dmUuIiIiCisrICAgIHJldHVybiBbY21kLCAnLWwnLCBhcmNoaXZlXQorKworK3Rlc3RfYWRmID0g bGlzdF9hZGYKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9v bGliL3Byb2dyYW1zL3VuYWx6LnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQv bGliL3BhdG9vbGliL3Byb2dyYW1zL3VuYWx6LnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv YnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3VuYWx6LnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAu MDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9s aWIvcGF0b29saWIvcHJvZ3JhbXMvdW5hbHoucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIz MjAgKzAxMDAKK0BAIC0wLDAgKzEsMjcgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMg Q29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBw cm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBt b2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExp Y2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBl aXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBh bnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4g dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJS QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFC SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBz aG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3 LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgdW5hbHog cHJvZ3JhbS4iIiIKKysKKytkZWYgZXh0cmFjdF9hbHppcCAoYXJjaGl2ZSwgY29tcHJlc3Npb24s IGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgb3V0ZGlyKToKKysgICAgIiIiRXh0cmFjdCBh IEFMWklQIGFyY2hpdmUuIiIiCisrICAgIHJldHVybiBbY21kLCAnLWQnLCBvdXRkaXIsIGFyY2hp dmVdCisrCisrCisrZGVmIGxpc3RfYWx6aXAgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZl cmJvc2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJMaXN0IGEgQUxaSVAgYXJjaGl2ZS4iIiIK KysgICAgcmV0dXJuIFtjbWQsICctbCcsIGFyY2hpdmVdCisrCisrdGVzdF9hbHppcCA9IGxpc3Rf YWx6aXAKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGli L3Byb2dyYW1zL3VuY29tcHJlc3MucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWls ZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvdW5jb21wcmVzcy5weQorLS0tIHBhdG9vbC11cHN0cmVh bS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bmNvbXByZXNzLnB5CTE5NzAtMDEt MDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0 Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvdW5jb21wcmVzcy5weQkyMDIxLTEyLTAy IDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAsMCArMSwyOCBAQAorKyMgLSotIGNvZGlu ZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0aWFuIEtsZWluZWlk YW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3Ry aWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3 YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAo YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBp cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0 IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg b2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90 LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFu ZHMgZm9yIHRoZSB1bmNvbXByZXNzLnJlYWwgcHJvZ3JhbS4iIiIKKytmcm9tIC4uIGltcG9ydCB1 dGlsCisrCisrCisrZGVmIGV4dHJhY3RfY29tcHJlc3MgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBj bWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBj b21wcmVzc2VkIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbdXRpbC5zaGVsbF9xdW90ZShj bWQpXQorKyAgICBpZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12 JykKKysgICAgb3V0ZmlsZSA9IHV0aWwuZ2V0X3NpbmdsZV9vdXRmaWxlKG91dGRpciwgYXJjaGl2 ZSkKKysgICAgY21kbGlzdC5leHRlbmQoWyctYycsIHV0aWwuc2hlbGxfcXVvdGUoYXJjaGl2ZSks ICc+JywKKysgICAgICAgICAgICAgICAgICAgIHV0aWwuc2hlbGxfcXVvdGUob3V0ZmlsZSldKQor KyAgICByZXR1cm4gKGNtZGxpc3QsIHsnc2hlbGwnOiBUcnVlfSkKK2RpZmYgLU5hdXIgcGF0b29s LXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3VucmFyLnB5IHBhdG9v bC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3VucmFy LnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1z L3VucmFyLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvdW5yYXIu cHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEsMTggQEAK KysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTUgQmFz dGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlv dSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRoZSB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisrIyB0 aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNl bnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysjCisrIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs aWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm b3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg b2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRoaXMgcHJv Z3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKysiIiJB cmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgdW5yYXIgcHJvZ3JhbS4iIiIKKysKKytmcm9tIC5yYXIg aW1wb3J0IGV4dHJhY3RfcmFyLCBsaXN0X3JhciwgdGVzdF9yYXIKK2RpZmYgLU5hdXIgcGF0b29s LXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3Vuc2hhci5weSBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bnNo YXIucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3Jh bXMvdW5zaGFyLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0 b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvdW5z aGFyLnB5CTIwMjEtMTItMDIgMjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDIy IEBACisrIyAtKi0gY29kaW5nOiB1dGYtOCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMi0yMDE1 IEJhc3RpYW4gS2xlaW5laWRhbQorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJl OiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUg dGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQor KyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUg TGljZW5zZSwgb3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIwor KyMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBi ZSB1c2VmdWwsCisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUg aW1wbGllZCB3YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEg UEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgZm9yIG1vcmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj b3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlz IHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisr IiIiQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIHVuc2hhciBwcm9ncmFtLiIiIgorK2ltcG9ydCBv cworKworK2RlZiBleHRyYWN0X3NoYXIgKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJv c2l0eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBTSEFSIGFyY2hp dmUuIiIiCisrICAgIGNtZGxpc3QgPSBbY21kLCBvcy5wYXRoLmFic3BhdGgoYXJjaGl2ZSldCisr ICAgIHJldHVybiAoY21kbGlzdCwgeydjd2QnOiBvdXRkaXJ9KQorZGlmZiAtTmF1ciBwYXRvb2wt dXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvdW56aXAucHkgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvdW56aXAu cHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMv dW56aXAucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wt dXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy91bnppcC5w eQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAsMCArMSw0MCBAQAor KyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0 aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vu c2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv ZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9n cmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIkFy Y2hpdmUgY29tbWFuZHMgZm9yIHRoZSB1bnppcCBwcm9ncmFtLiIiIgorKworK2RlZiBleHRyYWN0 X3ppcCAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwg b3V0ZGlyKToKKysgICAgIiIiRXh0cmFjdCBhIFpJUCBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0 ID0gW2NtZF0KKysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5k KCctdicpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLS0nLCBhcmNoaXZlLCAnLWQnLCBvdXRkaXJd KQorKyAgICByZXR1cm4gY21kbGlzdAorKworK2RlZiBsaXN0X3ppcCAoYXJjaGl2ZSwgY29tcHJl c3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBaSVAg YXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICctbCddCisrICAgIGlmIHZlcmJvc2l0 eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4dGVu ZChbJy0tJywgYXJjaGl2ZV0pCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrZGVmIHRlc3Rfemlw IChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysg ICAgIiIiVGVzdCBhIFpJUCBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJy10J10K KysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCctdicpCisr ICAgIGNtZGxpc3QuZXh0ZW5kKFsnLS0nLCBhcmNoaXZlXSkKKysgICAgcmV0dXJuIGNtZGxpc3QK K2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dy YW1zL3hkbXMucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29s aWIvcHJvZ3JhbXMveGRtcy5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9w YXRvb2xpYi9wcm9ncmFtcy94ZG1zLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICsw MTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIv cHJvZ3JhbXMveGRtcy5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAg LTAsMCArMSw0NyBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMp IDIwMTEtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQg dW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJs aXNoZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9u IDMgb2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz aW9uLgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0 IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1 YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJl Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25n IHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNl bnNlcy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSB4ZG1zIHByb2dyYW0uIiIiCisr ZnJvbSAuLiBpbXBvcnQgdXRpbAorKworKworK2RlZiBleHRyYWN0X2RtcyAoYXJjaGl2ZSwgY29t cHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSwgb3V0ZGlyKToKKysgICAgIiIi RXh0cmFjdCBhIERNUyBhcmNoaXZlLiIiIgorKyAgICBjaGVja19hcmNoaXZlX2V4dChhcmNoaXZl KQorKyAgICBjbWRsaXN0ID0gW2NtZCwgJy1kJywgb3V0ZGlyXQorKyAgICBpZiB2ZXJib3NpdHkg PiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12JykKKysgICAgY21kbGlzdC5leHRlbmQo Wyd1JywgYXJjaGl2ZV0pCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrCisrZGVmIGxpc3RfZG1z IChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysg ICAgIiIiTGlzdCBhIERNUyBhcmNoaXZlLiIiIgorKyAgICBjaGVja19hcmNoaXZlX2V4dChhcmNo aXZlKQorKyAgICByZXR1cm4gW2NtZCwgJ3YnLCBhcmNoaXZlXQorKworKworK2RlZiB0ZXN0X2Rt cyAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFjdGl2ZSk6Cisr ICAgICIiIlRlc3QgYSBETVMgYXJjaGl2ZS4iIiIKKysgICAgY2hlY2tfYXJjaGl2ZV9leHQoYXJj aGl2ZSkKKysgICAgcmV0dXJuIFtjbWQsICd0JywgYXJjaGl2ZV0KKysKKysKKytkZWYgY2hlY2tf YXJjaGl2ZV9leHQgKGFyY2hpdmUpOgorKyAgICAiIiJ4ZG1zKDEpIGNhbm5vdCBoYW5kbGUgZmls ZXMgd2l0aCBleHRlbnNpb25zIG90aGVyIHRoYW4gJy5kbXMnLiIiIgorKyAgICBpZiBub3QgYXJj aGl2ZS5sb3dlcigpLmVuZHN3aXRoKCIuZG1zIik6CisrICAgICAgICByZXN0ID0gYXJjaGl2ZVst NDpdCisrICAgICAgICBtc2cgPSAieGRtcygxKSBhcmNoaXZlIGZpbGUgbXVzdCBlbmQgd2l0aCBg LmRtcycsIG5vdCBgJXMnIiAlIHJlc3QKKysgICAgICAgIHJhaXNlIHV0aWwuUGF0b29sRXJyb3Io bXNnKQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIv cHJvZ3JhbXMveHoucHkgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0 b29saWIvcHJvZ3JhbXMveHoucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIv cGF0b29saWIvcHJvZ3JhbXMveHoucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAx MDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9w cm9ncmFtcy94ei5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAs MCArMSw3MyBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIw MTAtMjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBz b2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5k ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNo ZWQgYnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMg b2YgdGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u LgorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0 IHdpbGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2 ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1Ymxp YyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2Vp dmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdp dGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNl cy8+LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSB4eiBwcm9ncmFtLiIiIgorK2Zyb20g LiBpbXBvcnQgZXh0cmFjdF9zaW5nbGVmaWxlX3N0YW5kYXJkLCB0ZXN0X3NpbmdsZWZpbGVfc3Rh bmRhcmQKKytmcm9tIC4uIGltcG9ydCB1dGlsCisrCisrCisrZXh0cmFjdF94eiA9IGV4dHJhY3Rf c2luZ2xlZmlsZV9zdGFuZGFyZAorK3Rlc3RfeHogPSB0ZXN0X3NpbmdsZWZpbGVfc3RhbmRhcmQK KysKKytkZWYgbGlzdF94eiAoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBp bnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBYWiBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0 ID0gW2NtZF0KKysgICAgY21kbGlzdC5hcHBlbmQoJy1sJykKKysgICAgaWYgdmVyYm9zaXR5ID4g MToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCctdicpCisrICAgIGNtZGxpc3QuYXBwZW5kKGFy Y2hpdmUpCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrCisrZGVmIGNyZWF0ZV94eihhcmNoaXZl LCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFtZXMpOgor KyAgICAiIiJDcmVhdGUgYW4gWFogYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFt1dGlsLnNo ZWxsX3F1b3RlKGNtZCldCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0 LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy1jJywgJy05JywgJy0tJ10pCisr ICAgIGNtZGxpc3QuZXh0ZW5kKFt1dGlsLnNoZWxsX3F1b3RlKHgpIGZvciB4IGluIGZpbGVuYW1l c10pCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnPicsIHV0aWwuc2hlbGxfcXVvdGUoYXJjaGl2ZSld KQorKyAgICByZXR1cm4gKGNtZGxpc3QsIHsnc2hlbGwnOiBUcnVlfSkKKysKKysKKytkZWYgZXh0 cmFjdF9sem1hKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3Rp dmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYW4gTFpNQSBhcmNoaXZlLiIiIgorKyAgICBj bWRsaXN0ID0gW3V0aWwuc2hlbGxfcXVvdGUoY21kKSwgJy0tZm9ybWF0PWx6bWEnXQorKyAgICBp ZiB2ZXJib3NpdHkgPiAxOgorKyAgICAgICAgY21kbGlzdC5hcHBlbmQoJy12JykKKysgICAgb3V0 ZmlsZSA9IHV0aWwuZ2V0X3NpbmdsZV9vdXRmaWxlKG91dGRpciwgYXJjaGl2ZSkKKysgICAgY21k bGlzdC5leHRlbmQoWyctYycsICctZCcsICctLScsIHV0aWwuc2hlbGxfcXVvdGUoYXJjaGl2ZSks ICc+JywKKysgICAgICAgIHV0aWwuc2hlbGxfcXVvdGUob3V0ZmlsZSldKQorKyAgICByZXR1cm4g KGNtZGxpc3QsIHsnc2hlbGwnOiBUcnVlfSkKKysKKysKKytkZWYgdGVzdF9sem1hKGFyY2hpdmUs IGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJUZXN0 IGFuIExaTUEgYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtjbWQsICctLWZvcm1hdD1sem1h J10KKysgICAgaWYgdmVyYm9zaXR5ID4gMToKKysgICAgICAgIGNtZGxpc3QuYXBwZW5kKCctdicp CisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLS10ZXN0JywgYXJjaGl2ZV0pCisrICAgIHJldHVybiBj bWRsaXN0CisrCisrCisrZGVmIGNyZWF0ZV9sem1hKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQs IHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0ZSBhbiBM Wk1BIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBbdXRpbC5zaGVsbF9xdW90ZShjbWQpLCAn LS1mb3JtYXQ9bHptYSddCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0 LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmV4dGVuZChbJy1jJywgJy05JywgJy0tJ10pCisr ICAgIGNtZGxpc3QuZXh0ZW5kKFt1dGlsLnNoZWxsX3F1b3RlKHgpIGZvciB4IGluIGZpbGVuYW1l c10pCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnPicsIHV0aWwuc2hlbGxfcXVvdGUoYXJjaGl2ZSld KQorKyAgICByZXR1cm4gKGNtZGxpc3QsIHsnc2hlbGwnOiBUcnVlfSkKK2RpZmYgLU5hdXIgcGF0 b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3ppcC5weSBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy96aXAu cHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMv emlwLnB5CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVw c3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvemlwLnB5CTIw MjEtMTItMDIgMjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDMzIEBACisrIyAt Ki0gY29kaW5nOiB1dGYtOCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxMC0yMDE1IEJhc3RpYW4g S2xlaW5laWRhbQorKyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2Fu IHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2Yg dGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwg b3IKKysjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBw cm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws CisrIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3 YXJyYW50eSBvZgorKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB UiBQVVJQT1NFLiAgU2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v cmUgZGV0YWlscy4KKysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0u ICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2 ZSBjb21tYW5kcyBmb3IgdGhlIHppcCBwcm9ncmFtLiIiIgorKworK2RlZiBjcmVhdGVfemlwIChh cmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlLCBmaWxlbmFt ZXMpOgorKyAgICAiIiJDcmVhdGUgYSBaSVAgYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFtj bWQsICctcicsICctOSddCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0 LmFwcGVuZCgnLXYnKQorKyAgICBjbWRsaXN0LmFwcGVuZChhcmNoaXZlKQorKyAgICBjbWRsaXN0 LmV4dGVuZChmaWxlbmFtZXMpCisrICAgIHJldHVybiBjbWRsaXN0CisrCisrZGVmIHRlc3Rfemlw IChhcmNoaXZlLCBjb21wcmVzc2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysg ICAgIiIiVGVzdCBhIFpJUCBhcmNoaXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJy0tdGVz dCddCisrICAgIGlmIHZlcmJvc2l0eSA+IDE6CisrICAgICAgICBjbWRsaXN0LmFwcGVuZCgnLXYn KQorKyAgICBjbWRsaXN0LmFwcGVuZChhcmNoaXZlKQorKyAgICByZXR1cm4gY21kbGlzdAorZGlm ZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMv em9vLnB5IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3By b2dyYW1zL3pvby5weQorLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xp Yi9wcm9ncmFtcy96b28ucHkJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysr KyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFt cy96b28ucHkJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEs NDEgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJpZ2h0IChDKSAyMDEwLTIw MTUgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdh cmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKysjIGl0IHVuZGVyIHRo ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5 CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRo ZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKysj CisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs IGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGlj ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBh IGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisrIyBhbG9uZyB3aXRoIHRo aXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4K KysiIiJBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgem9vIHByb2dyYW0uIiIiCisraW1wb3J0IG9z CisrCisrZGVmIGV4dHJhY3Rfem9vKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0 eSwgaW50ZXJhY3RpdmUsIG91dGRpcik6CisrICAgICIiIkV4dHJhY3QgYSBaT08gYXJjaGl2ZS4i IiIKKysgICAgIyBTaW5jZSBleHRyYWN0ZWQgZmlsZXMgd2lsbCBiZSBwbGFjZWQgaW4gdGhlIGN1 cnJlbnQgZGlyZWN0b3J5LAorKyAgICAjIHRoZSBjd2QgYXJndW1lbnQgaGFzIHRvIGJlIHRoZSBv dXRwdXQgZGlyZWN0b3J5LgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJy1leHRyYWN0Jywgb3MucGF0 aC5hYnNwYXRoKGFyY2hpdmUpXQorKyAgICByZXR1cm4gKGNtZGxpc3QsIHsnY3dkJzogb3V0ZGly fSkKKysKKysKKytkZWYgbGlzdF96b28oYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9z aXR5LCBpbnRlcmFjdGl2ZSk6CisrICAgICIiIkxpc3QgYSBaT08gYXJjaGl2ZS4iIiIKKysgICAg cmV0dXJuIFtjbWQsICctbGlzdCcsIGFyY2hpdmVdCisrCisrCisrZGVmIHRlc3Rfem9vKGFyY2hp dmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUpOgorKyAgICAiIiJU ZXN0IGEgWk9PIGFyY2hpdmUuIiIiCisrICAgIHJldHVybiBbY21kLCAnLXRlc3QnLCBhcmNoaXZl XQorKworKworK2RlZiBjcmVhdGVfem9vKGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJv c2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0ZSBhIFpPTyBhcmNo aXZlLiIiIgorKyAgICBjbWRsaXN0ID0gW2NtZCwgJy1hZGQnLCBhcmNoaXZlXQorKyAgICBjbWRs aXN0LmV4dGVuZChmaWxlbmFtZXMpCisrICAgIHJldHVybiBjbWRsaXN0CitkaWZmIC1OYXVyIHBh dG9vbC11cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy96b3BmbGkucHkg cGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMv em9wZmxpLnB5CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3By b2dyYW1zL3pvcGZsaS5weQkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysr IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1z L3pvcGZsaS5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAsMCAr MSwyNSBAQAorKyMgLSotIGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTMt MjAxNSBCYXN0aWFuIEtsZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQg YnkKKysjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2Yg dGhlIExpY2Vuc2UsIG9yCisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp bGwgYmUgdXNlZnVsLAorKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g dGhlIGltcGxpZWQgd2FycmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZP UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk IGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGgg dGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+ LgorKyIiIkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSB6b3BmbGkgcHJvZ3JhbS4iIiIKKytmcm9t IC4uIGltcG9ydCB1dGlsCisrCisrZGVmIGNyZWF0ZV9nemlwKGFyY2hpdmUsIGNvbXByZXNzaW9u LCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIGZpbGVuYW1lcyk6CisrICAgICIiIkNyZWF0 ZSBhIEdaSVAgYXJjaGl2ZS4iIiIKKysgICAgY21kbGlzdCA9IFt1dGlsLnNoZWxsX3F1b3RlKGNt ZCldCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLWMnLCAnLS0nXSkKKysgICAgY21kbGlzdC5leHRl bmQoW3V0aWwuc2hlbGxfcXVvdGUoeCkgZm9yIHggaW4gZmlsZW5hbWVzXSkKKysgICAgY21kbGlz dC5leHRlbmQoWyc+JywgdXRpbC5zaGVsbF9xdW90ZShhcmNoaXZlKV0pCisrICAgIHJldHVybiAo Y21kbGlzdCwgeydzaGVsbCc6IFRydWV9KQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4x Mi9idWlsZC9saWIvcGF0b29saWIvcHJvZ3JhbXMvenBhcS5weSBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy96cGFxLnB5CistLS0gcGF0b29s LXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3Byb2dyYW1zL3pwYXEucHkJMTk3MC0w MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL2J1aWxkL2xpYi9wYXRvb2xpYi9wcm9ncmFtcy96cGFxLnB5CTIwMjEtMTItMDIgMjI6 MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDM5IEBACisrIyAtKi0gY29kaW5nOiB1 dGYtOCAtKi0KKysjIENvcHlyaWdodCAoQykgMjAxNC0yMDE1IEJhc3RpYW4gS2xlaW5laWRhbQor KyMKKysjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5CisrIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorKyMgdGhlIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKysjIChhdCB5 b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisrIworKyMgVGhpcyBwcm9ncmFtIGlzIGRp c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisrIyBidXQgV0lU SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor KyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg U2VlIHRoZQorKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4K KysjCisrIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJh bCBQdWJsaWMgTGljZW5zZQorKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNl ZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisrIiIiQXJjaGl2ZSBjb21tYW5kcyBm b3IgdGhlIHpwYXEgcHJvZ3JhbS4iIiIKKytpbXBvcnQgb3MKKysKKytkZWYgZXh0cmFjdF96cGFx KGFyY2hpdmUsIGNvbXByZXNzaW9uLCBjbWQsIHZlcmJvc2l0eSwgaW50ZXJhY3RpdmUsIG91dGRp cik6CisrICAgICIiIkV4dHJhY3QgYSBaUEFRIGFyY2hpdmUuIiIiCisrICAgIGNtZGxpc3QgPSBb Y21kLCAneCcsIG9zLnBhdGguYWJzcGF0aChhcmNoaXZlKV0KKysgICAgcmV0dXJuIChjbWRsaXN0 LCB7J2N3ZCc6IG91dGRpcn0pCisrCisrCisrZGVmIGxpc3RfenBhcShhcmNoaXZlLCBjb21wcmVz c2lvbiwgY21kLCB2ZXJib3NpdHksIGludGVyYWN0aXZlKToKKysgICAgIiIiTGlzdCBhIFpQQVEg YXJjaGl2ZS4iIiIKKysgICAgcmV0dXJuIFtjbWQsICdsJywgYXJjaGl2ZV0KKysKKysKKytkZWYg Y3JlYXRlX3pwYXEoYXJjaGl2ZSwgY29tcHJlc3Npb24sIGNtZCwgdmVyYm9zaXR5LCBpbnRlcmFj dGl2ZSwgZmlsZW5hbWVzKToKKysgICAgIiIiQ3JlYXRlIGEgWlBBUSBhcmNoaXZlLiIiIgorKyAg ICBjbWRsaXN0ID0gW2NtZCwgJ2EnLCBhcmNoaXZlXQorKyAgICBjbWRsaXN0LmV4dGVuZChmaWxl bmFtZXMpCisrICAgIGNtZGxpc3QuZXh0ZW5kKFsnLW1ldGhvZCcsICc0J10pCisrICAgIHJldHVy biBjbWRsaXN0CisrCisrIyB6cGFxIGhhcyBubyBzZXBhcmF0ZSB0ZXN0IG1vZGUsIHNvIHVzZSBs aXN0aW5nIGluc3RlYWQKKyt0ZXN0X3pwYXEgPSBsaXN0X3pwYXEKKysKK2RpZmYgLU5hdXIgcGF0 b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvbGliL3BhdG9vbGliL3V0aWwucHkgcGF0b29sLXVwc3Ry ZWFtLTEuMTItcGF0Y2hlZC9idWlsZC9saWIvcGF0b29saWIvdXRpbC5weQorLS0tIHBhdG9vbC11 cHN0cmVhbS0xLjEyL2J1aWxkL2xpYi9wYXRvb2xpYi91dGlsLnB5CTE5NzAtMDEtMDEgMDE6MDA6 MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9idWls ZC9saWIvcGF0b29saWIvdXRpbC5weQkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NzgzMjMwMyArMDEw MAorQEAgLTAsMCArMSw3MTAgQEAKKysjIC0qLSBjb2Rpbmc6IHV0Zi04IC0qLQorKyMgQ29weXJp Z2h0IChDKSAyMDEwLTIwMTYgQmFzdGlhbiBLbGVpbmVpZGFtCisrIworKyMgVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkK KysjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMgcHVibGlzaGVkIGJ5CisrIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIg dmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0 ZXIgdmVyc2lvbi4KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhv cGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKysjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisrIyBNRVJDSEFOVEFCSUxJVFkg b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisrIyBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorKyMKKysjIFlvdSBzaG91bGQg aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisr IyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5v cmcvbGljZW5zZXMvPi4KKysiIiJVdGlsaXR5IGZ1bmN0aW9ucy4iIiIKKytmcm9tIF9fZnV0dXJl X18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCisraW1wb3J0IG9zCisraW1wb3J0IHN5cworK2ltcG9y dCBzaHV0aWwKKytpbXBvcnQgc3VicHJvY2VzcworK2ltcG9ydCBtaW1ldHlwZXMKKytpbXBvcnQg dGVtcGZpbGUKKytpbXBvcnQgdGltZQorK2ltcG9ydCB0cmFjZWJhY2sKKytpbXBvcnQgbG9jYWxl CisrZnJvbSAuIGltcG9ydCBjb25maWd1cmF0aW9uLCBBcmNoaXZlTWltZXR5cGVzLCBBcmNoaXZl Q29tcHJlc3Npb25zCisrdHJ5OgorKyAgICBmcm9tIHNodXRpbCBpbXBvcnQgd2hpY2gKKytleGNl cHQgSW1wb3J0RXJyb3I6CisrICAgICMgZnJvbSBQeXRob24gMy4zCisrICAgIGRlZiB3aGljaChj bWQsIG1vZGU9b3MuRl9PSyB8IG9zLlhfT0ssIHBhdGg9Tm9uZSk6CisrICAgICAgICAiIiJHaXZl biBhIGNvbW1hbmQsIG1vZGUsIGFuZCBhIFBBVEggc3RyaW5nLCByZXR1cm4gdGhlIHBhdGggd2hp Y2gKKysgICAgICAgIGNvbmZvcm1zIHRvIHRoZSBnaXZlbiBtb2RlIG9uIHRoZSBQQVRILCBvciBO b25lIGlmIHRoZXJlIGlzIG5vIHN1Y2gKKysgICAgICAgIGZpbGUuCisrICAgICAgICBgbW9kZWAg ZGVmYXVsdHMgdG8gb3MuRl9PSyB8IG9zLlhfT0suIGBwYXRoYCBkZWZhdWx0cyB0byB0aGUgcmVz dWx0CisrICAgICAgICBvZiBvcy5lbnZpcm9uLmdldCgiUEFUSCIpLCBvciBjYW4gYmUgb3ZlcnJp ZGRlbiB3aXRoIGEgY3VzdG9tIHNlYXJjaAorKyAgICAgICAgcGF0aC4KKysgICAgICAgICIiIgor KyAgICAgICAgZGVmIF9hY2Nlc3NfY2hlY2soZm4sIG1vZGUpOgorKyAgICAgICAgICAgICIiIkNo ZWNrIHRoYXQgYSBnaXZlbiBmaWxlIGNhbiBiZSBhY2Nlc3NlZCB3aXRoIHRoZSBjb3JyZWN0IG1v ZGUuCisrICAgICAgICAgICAgQWRkaXRpb25hbGx5IGNoZWNrIHRoYXQgYGZuYCBpcyBub3QgYSBk aXJlY3RvcnksIGFzIG9uIFdpbmRvd3MKKysgICAgICAgICAgICBkaXJlY3RvcmllcyBwYXNzIHRo ZSBvcy5hY2Nlc3MgY2hlY2suIiIiCisrICAgICAgICAgICAgcmV0dXJuIChvcy5wYXRoLmV4aXN0 cyhmbikgYW5kIG9zLmFjY2VzcyhmbiwgbW9kZSkKKysgICAgICAgICAgICAgICAgICAgIGFuZCBu b3Qgb3MucGF0aC5pc2RpcihmbikpCisrICAgICAgICAjIElmIHdlJ3JlIGdpdmVuIGEgcGF0aCB3 aXRoIGEgZGlyZWN0b3J5IHBhcnQsIGxvb2sgaXQgdXAgZGlyZWN0bHkgcmF0aGVyCisrICAgICAg ICAjIHRoYW4gcmVmZXJyaW5nIHRvIFBBVEggZGlyZWN0b3JpZXMuIFRoaXMgaW5jbHVkZXMgY2hl Y2tpbmcgcmVsYXRpdmUgdG8gdGhlCisrICAgICAgICAjIGN1cnJlbnQgZGlyZWN0b3J5LCBlLmcu IC4vc2NyaXB0CisrICAgICAgICBpZiBvcy5wYXRoLmRpcm5hbWUoY21kKToKKysgICAgICAgICAg ICBpZiBfYWNjZXNzX2NoZWNrKGNtZCwgbW9kZSk6CisrICAgICAgICAgICAgICAgIHJldHVybiBj bWQKKysgICAgICAgICAgICByZXR1cm4gTm9uZQorKyAgICAgICAgcGF0aCA9IChwYXRoIG9yIG9z LmVudmlyb24uZ2V0KCJQQVRIIiwgb3MuZGVmcGF0aCkpLnNwbGl0KG9zLnBhdGhzZXApCisrICAg ICAgICBpZiBzeXMucGxhdGZvcm0gPT0gIndpbjMyIjoKKysgICAgICAgICAgICAjIFRoZSBjdXJy ZW50IGRpcmVjdG9yeSB0YWtlcyBwcmVjZWRlbmNlIG9uIFdpbmRvd3MuCisrICAgICAgICAgICAg aWYgbm90IG9zLmN1cmRpciBpbiBwYXRoOgorKyAgICAgICAgICAgICAgICBwYXRoLmluc2VydCgw LCBvcy5jdXJkaXIpCisrICAgICAgICAgICAgIyBQQVRIRVhUIGlzIG5lY2Vzc2FyeSB0byBjaGVj ayBvbiBXaW5kb3dzLgorKyAgICAgICAgICAgIHBhdGhleHQgPSBvcy5lbnZpcm9uLmdldCgiUEFU SEVYVCIsICIiKS5zcGxpdChvcy5wYXRoc2VwKQorKyAgICAgICAgICAgICMgU2VlIGlmIHRoZSBn aXZlbiBmaWxlIG1hdGNoZXMgYW55IG9mIHRoZSBleHBlY3RlZCBwYXRoIGV4dGVuc2lvbnMuCisr ICAgICAgICAgICAgIyBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gc2hvcnQgY2lyY3VpdCB3aGVuIGdp dmVuICJweXRob24uZXhlIi4KKysgICAgICAgICAgICAjIElmIGl0IGRvZXMgbWF0Y2gsIG9ubHkg dGVzdCB0aGF0IG9uZSwgb3RoZXJ3aXNlIHdlIGhhdmUgdG8gdHJ5CisrICAgICAgICAgICAgIyBv dGhlcnMuCisrICAgICAgICAgICAgaWYgYW55KGNtZC5sb3dlcigpLmVuZHN3aXRoKGV4dC5sb3dl cigpKSBmb3IgZXh0IGluIHBhdGhleHQpOgorKyAgICAgICAgICAgICAgICBmaWxlcyA9IFtjbWRd CisrICAgICAgICAgICAgZWxzZToKKysgICAgICAgICAgICAgICAgZmlsZXMgPSBbY21kICsgZXh0 IGZvciBleHQgaW4gcGF0aGV4dF0KKysgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgIyBPbiBv dGhlciBwbGF0Zm9ybXMgeW91IGRvbid0IGhhdmUgdGhpbmdzIGxpa2UgUEFUSEVYVCB0byB0ZWxs IHlvdQorKyAgICAgICAgICAgICMgd2hhdCBmaWxlIHN1ZmZpeGVzIGFyZSBleGVjdXRhYmxlLCBz byBqdXN0IHBhc3Mgb24gY21kIGFzLWlzLgorKyAgICAgICAgICAgIGZpbGVzID0gW2NtZF0KKysg ICAgICAgIHNlZW4gPSBzZXQoKQorKyAgICAgICAgZm9yIGRpciBpbiBwYXRoOgorKyAgICAgICAg ICAgIG5vcm1kaXIgPSBvcy5wYXRoLm5vcm1jYXNlKGRpcikKKysgICAgICAgICAgICBpZiBub3Qg bm9ybWRpciBpbiBzZWVuOgorKyAgICAgICAgICAgICAgICBzZWVuLmFkZChub3JtZGlyKQorKyAg ICAgICAgICAgICAgICBmb3IgdGhlZmlsZSBpbiBmaWxlczoKKysgICAgICAgICAgICAgICAgICAg IG5hbWUgPSBvcy5wYXRoLmpvaW4oZGlyLCB0aGVmaWxlKQorKyAgICAgICAgICAgICAgICAgICAg aWYgX2FjY2Vzc19jaGVjayhuYW1lLCBtb2RlKToKKysgICAgICAgICAgICAgICAgICAgICAgICBy ZXR1cm4gbmFtZQorKyAgICAgICAgcmV0dXJuIE5vbmUKKysKKysKKytkZWYgc3lzdGVtX3NlYXJj aF9wYXRoKCk6CisrICAgICIiIkdldCB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyBvbiBhIHN5c3Rl bSB0byBzZWFyY2ggZm9yIGV4ZWN1dGFibGUgcHJvZ3JhbXMuCisrICAgIEl0IGlzIGVpdGhlciB0 aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBvciBpZiBQQVRIIGlzIHVuZGVmaW5lZCB0aGUg dmFsdWUKKysgICAgb2Ygb3MuZGVmcGF0aC4KKysgICAgIiIiCisrICAgIHJldHVybiBvcy5lbnZp cm9uLmdldCgiUEFUSCIsIG9zLmRlZnBhdGgpCisrCisrCisrIyBpbnRlcm5hbCBNSU1FIGRhdGFi YXNlCisrbWltZWRiID0gTm9uZQorKworK2RlZiBpbml0X21pbWVkYigpOgorKyAgICAiIiJJbml0 aWFsaXplIHRoZSBpbnRlcm5hbCBNSU1FIGRhdGFiYXNlLiIiIgorKyAgICBnbG9iYWwgbWltZWRi CisrICAgIHRyeToKKysgICAgICAgIG1pbWVkYiA9IG1pbWV0eXBlcy5NaW1lVHlwZXMoc3RyaWN0 PUZhbHNlKQorKyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIG1zZzoKKysgICAgICAgIGxvZ19lcnJv cigiY291bGQgbm90IGluaXRpYWxpemUgTUlNRSBkYXRhYmFzZTogJXMiICUgbXNnKQorKyAgICAg ICAgcmV0dXJuCisrICAgIGFkZF9taW1lZGJfZGF0YShtaW1lZGIpCisrCisrCisrZGVmIGFkZF9t aW1lZGJfZGF0YShtaW1lZGIpOgorKyAgICAiIiJBZGQgbWlzc2luZyBlbmNvZGluZ3MgYW5kIG1p bWV0eXBlcyB0byBNSU1FIGRhdGFiYXNlLiIiIgorKyAgICBtaW1lZGIuZW5jb2RpbmdzX21hcFsn LmJ6MiddID0gJ2J6aXAyJworKyAgICBtaW1lZGIuZW5jb2RpbmdzX21hcFsnLmx6bWEnXSA9ICds em1hJworKyAgICBtaW1lZGIuZW5jb2RpbmdzX21hcFsnLnh6J10gPSAneHonCisrICAgIG1pbWVk Yi5lbmNvZGluZ3NfbWFwWycubHonXSA9ICdsemlwJworKyAgICBtaW1lZGIuc3VmZml4X21hcFsn LnRiejInXSA9ICcudGFyLmJ6MicKKysgICAgYWRkX21pbWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0 aW9uL3gtbHpvcCcsICcubHpvJykKKysgICAgYWRkX21pbWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0 aW9uL3gtYWRmJywgJy5hZGYnKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRiLCAnYXBwbGljYXRp b24veC1hcmonLCAnLmFyaicpCisrICAgIGFkZF9taW1ldHlwZShtaW1lZGIsICdhcHBsaWNhdGlv bi94LWx6bWEnLCAnLmx6bWEnKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRiLCAnYXBwbGljYXRp b24veC14eicsICcueHonKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRiLCAnYXBwbGljYXRpb24v amF2YS1hcmNoaXZlJywgJy5qYXInKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRiLCAnYXBwbGlj YXRpb24veC1yYXInLCAnLnJhcicpCisrICAgIGFkZF9taW1ldHlwZShtaW1lZGIsICdhcHBsaWNh dGlvbi94LXJhcicsICcuY2JyJykKKysgICAgYWRkX21pbWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0 aW9uL3gtN3otY29tcHJlc3NlZCcsICcuN3onKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRiLCAn YXBwbGljYXRpb24veC03ei1jb21wcmVzc2VkJywgJy5jYjcnKQorKyAgICBhZGRfbWltZXR5cGUo bWltZWRiLCAnYXBwbGljYXRpb24veC1jYWInLCAnLmNhYicpCisrICAgIGFkZF9taW1ldHlwZSht aW1lZGIsICdhcHBsaWNhdGlvbi94LXJwbScsICcucnBtJykKKysgICAgYWRkX21pbWV0eXBlKG1p bWVkYiwgJ2FwcGxpY2F0aW9uL3gtZGViaWFuLXBhY2thZ2UnLCAnLmRlYicpCisrICAgIGFkZF9t aW1ldHlwZShtaW1lZGIsICdhcHBsaWNhdGlvbi94LWFjZScsICcuYWNlJykKKysgICAgYWRkX21p bWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0aW9uL3gtYWNlJywgJy5jYmEnKQorKyAgICBhZGRfbWlt ZXR5cGUobWltZWRiLCAnYXBwbGljYXRpb24veC1hcmNoaXZlJywgJy5hJykKKysgICAgYWRkX21p bWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0aW9uL3gtYWx6aXAnLCAnLmFseicpCisrICAgIGFkZF9t aW1ldHlwZShtaW1lZGIsICdhcHBsaWNhdGlvbi94LWFyYycsICcuYXJjJykKKysgICAgYWRkX21p bWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0aW9uL3gtbHJ6aXAnLCAnLmxyeicpCisrICAgIGFkZF9t aW1ldHlwZShtaW1lZGIsICdhcHBsaWNhdGlvbi94LWxoYScsICcubGhhJykKKysgICAgYWRkX21p bWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0aW9uL3gtbHpoJywgJy5semgnKQorKyAgICBhZGRfbWlt ZXR5cGUobWltZWRiLCAnYXBwbGljYXRpb24veC1yemlwJywgJy5yeicpCisrICAgIGFkZF9taW1l dHlwZShtaW1lZGIsICdhcHBsaWNhdGlvbi94LXpvbycsICcuem9vJykKKysgICAgYWRkX21pbWV0 eXBlKG1pbWVkYiwgJ2FwcGxpY2F0aW9uL3gtZG1zJywgJy5kbXMnKQorKyAgICBhZGRfbWltZXR5 cGUobWltZWRiLCAnYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZCcsICcuY3J4JykKKysgICAg YWRkX21pbWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0aW9uL3gtc2hhcicsICcuc2hhcicpCisrICAg IGFkZF9taW1ldHlwZShtaW1lZGIsICdhcHBsaWNhdGlvbi94LXRhcicsICcuY2J0JykKKysgICAg YWRkX21pbWV0eXBlKG1pbWVkYiwgJ2FwcGxpY2F0aW9uL3gtdmhkJywgJy52aGQnKQorKyAgICBh ZGRfbWltZXR5cGUobWltZWRiLCAnYXVkaW8veC1hcGUnLCAnLmFwZScpCisrICAgIGFkZF9taW1l dHlwZShtaW1lZGIsICdhdWRpby94LXNobicsICcuc2huJykKKysgICAgYWRkX21pbWV0eXBlKG1p bWVkYiwgJ2F1ZGlvL2ZsYWMnLCAnLmZsYWMnKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRiLCAn YXBwbGljYXRpb24veC1jaG0nLCAnLmNobScpCisrICAgIGFkZF9taW1ldHlwZShtaW1lZGIsICdh cHBsaWNhdGlvbi94LWlzbzk2NjAtaW1hZ2UnLCAnLmlzbycpCisrICAgIGFkZF9taW1ldHlwZSht aW1lZGIsICdhcHBsaWNhdGlvbi96aXAnLCAnLmNieicpCisrICAgIGFkZF9taW1ldHlwZShtaW1l ZGIsICdhcHBsaWNhdGlvbi96aXAnLCAnLmVwdWInKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRi LCAnYXBwbGljYXRpb24vemlwJywgJy5hcGsnKQorKyAgICBhZGRfbWltZXR5cGUobWltZWRiLCAn YXBwbGljYXRpb24venBhcScsICcuenBhcScpCisrCisrCisrZGVmIGFkZF9taW1ldHlwZShtaW1l ZGIsIG1pbWV0eXBlLCBleHRlbnNpb24pOgorKyAgICAiIiJBZGQgb3IgcmVwbGFjZSBhIG1pbWV0 eXBlIHRvIGJlIHVzZWQgd2l0aCB0aGUgZ2l2ZW4gZXh0ZW5zaW9uLiIiIgorKyAgICAjIElmIGV4 dGVuc2lvbiBpcyBhbHJlYWR5IGEgY29tbW9uIHR5cGUsIHN0cmljdD1UcnVlIG11c3QgYmUgdXNl ZC4KKysgICAgc3RyaWN0ID0gZXh0ZW5zaW9uIGluIG1pbWVkYi50eXBlc19tYXBbVHJ1ZV0KKysg ICAgbWltZWRiLmFkZF90eXBlKG1pbWV0eXBlLCBleHRlbnNpb24sIHN0cmljdD1zdHJpY3QpCisr CisrCisrY2xhc3MgUGF0b29sRXJyb3IgKEV4Y2VwdGlvbik6CisrICAgICIiIlJhaXNlZCB3aGVu IGVycm9ycyBvY2N1ci4iIiIKKysgICAgcGFzcworKworKworK2NsYXNzIG1lbW9pemVkIChvYmpl Y3QpOgorKyAgICAiIiJEZWNvcmF0b3IgdGhhdCBjYWNoZXMgYSBmdW5jdGlvbidzIHJldHVybiB2 YWx1ZSBlYWNoIHRpbWUgaXQgaXMgY2FsbGVkLgorKyAgICBJZiBjYWxsZWQgbGF0ZXIgd2l0aCB0 aGUgc2FtZSBhcmd1bWVudHMsIHRoZSBjYWNoZWQgdmFsdWUgaXMgcmV0dXJuZWQsIGFuZAorKyAg ICBub3QgcmUtZXZhbHVhdGVkLiIiIgorKworKyAgICBkZWYgX19pbml0X18oc2VsZiwgZnVuYyk6 CisrICAgICAgICAiIiJTZXQgZnVuYyBhbmQgaW5pdCBjYWNoZS4iIiIKKysgICAgICAgIHNlbGYu ZnVuYyA9IGZ1bmMKKysgICAgICAgIHNlbGYuY2FjaGUgPSB7fQorKworKyAgICBkZWYgX19jYWxs X18oc2VsZiwgKmFyZ3MpOgorKyAgICAgICAgIiIiVHJ5IHRvIGZpbmQgcmVzdWx0IGZvciBmdW5j dGlvbiBhcmd1bWVudHMgaW4gbG9jYWwgY2FjaGUgb3IKKysgICAgICAgIGV4ZWN1dGUgdGhlIGZ1 bmN0aW9uIGFuZCBmaWxsIHRoZSBjYWNoZSB3aXRoIHRoZSByZXN1bHQuIiIiCisrICAgICAgICB0 cnk6CisrICAgICAgICAgICAgcmV0dXJuIHNlbGYuY2FjaGVbYXJnc10KKysgICAgICAgIGV4Y2Vw dCBLZXlFcnJvcjoKKysgICAgICAgICAgICBzZWxmLmNhY2hlW2FyZ3NdID0gdmFsdWUgPSBzZWxm LmZ1bmMoKmFyZ3MpCisrICAgICAgICAgICAgcmV0dXJuIHZhbHVlCisrICAgICAgICBleGNlcHQg VHlwZUVycm9yOgorKyAgICAgICAgICAgICMgdW5jYWNoYWJsZSAtLSBmb3IgaW5zdGFuY2UsIHBh c3NpbmcgYSBsaXN0IGFzIGFuIGFyZ3VtZW50LgorKyAgICAgICAgICAgICMgQmV0dGVyIHRvIG5v dCBjYWNoZSB0aGFuIHRvIGJsb3cgdXAgZW50aXJlbHkuCisrICAgICAgICAgICAgcmV0dXJuIHNl bGYuZnVuYygqYXJncykKKysKKysgICAgZGVmIF9fcmVwcl9fKHNlbGYpOgorKyAgICAgICAgIiIi UmV0dXJuIHRoZSBmdW5jdGlvbidzIGRvY3N0cmluZy4iIiIKKysgICAgICAgIHJldHVybiBzZWxm LmZ1bmMuX19kb2NfXworKworKworK2RlZiBiYWNrdGljayAoY21kLCBlbmNvZGluZz0ndXRmLTgn KToKKysgICAgIiIiUmV0dXJuIGRlY29kZWQgb3V0cHV0IGZyb20gY29tbWFuZC4iIiIKKysgICAg ZGF0YSA9IHN1YnByb2Nlc3MuUG9wZW4oY21kLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFKS5jb21t dW5pY2F0ZSgpWzBdCisrICAgIHJldHVybiBkYXRhLmRlY29kZShlbmNvZGluZykKKysKKysKKytk ZWYgcnVuIChjbWQsIHZlcmJvc2l0eT0wLCAqKmt3YXJncyk6CisrICAgICIiIlJ1biBjb21tYW5k IHdpdGhvdXQgZXJyb3IgY2hlY2tpbmcuCisrICAgIEByZXR1cm46IGNvbW1hbmQgcmV0dXJuIGNv ZGUiIiIKKysgICAgIyBOb3RlIHRoYXQgc2hlbGxfcXVvdGVfbnQoKSByZXN1bHQgaXMgbm90IHN1 aXRhYmxlIGZvciBjb3B5LXBhc3RlCisrICAgICMgKGVzcGVjaWFsbHkgb24gVW5peCBzeXN0ZW1z KSwgYnV0IGl0IGxvb2tzIG5pY2VyIHRoYW4gc2hlbGxfcXVvdGUoKS4KKysgICAgaWYgdmVyYm9z aXR5ID49IDA6CisrICAgICAgICBsb2dfaW5mbygicnVubmluZyAlcyIgJSAiICIuam9pbihtYXAo c2hlbGxfcXVvdGVfbnQsIGNtZCkpKQorKyAgICBpZiBrd2FyZ3M6CisrICAgICAgICBpZiB2ZXJi b3NpdHkgPj0gMDoKKysgICAgICAgICAgICBsb2dfaW5mbygiICAgIHdpdGggJXMiICUgIiwgIi5q b2luKCIlcz0lcyIgJSAoaywgc2hlbGxfcXVvdGUoc3RyKHYpKSlcCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBrLCB2IGluIGt3YXJncy5pdGVtcygpKSkK KysgICAgICAgIGlmIGt3YXJncy5nZXQoInNoZWxsIik6CisrICAgICAgICAgICAgIyBmb3Igc2hl bGwgY2FsbHMgdGhlIGNvbW1hbmQgbXVzdCBiZSBhIHN0cmluZworKyAgICAgICAgICAgIGNtZCA9 ICIgIi5qb2luKGNtZCkKKysgICAgaWYgdmVyYm9zaXR5IDwgMToKKysgICAgICAgICMgaGlkZSBj b21tYW5kIG91dHB1dCBvbiBzdGRvdXQKKysgICAgICAgIHdpdGggb3Blbihvcy5kZXZudWxsLCAn d2InKSBhcyBkZXZudWxsOgorKyAgICAgICAgICAgIGt3YXJnc1snc3Rkb3V0J10gPSBkZXZudWxs CisrICAgICAgICAgICAgcmVzID0gc3VicHJvY2Vzcy5jYWxsKGNtZCwgKiprd2FyZ3MpCisrICAg IGVsc2U6CisrICAgICAgICByZXMgPSBzdWJwcm9jZXNzLmNhbGwoY21kLCAqKmt3YXJncykKKysg ICAgcmV0dXJuIHJlcworKworKworK2RlZiBydW5fY2hlY2tlZCAoY21kLCByZXRfb2s9KDAsKSwg Kiprd2FyZ3MpOgorKyAgICAiIiJSdW4gY29tbWFuZCBhbmQgcmFpc2UgUGF0b29sRXJyb3Igb24g ZXJyb3IuIiIiCisrICAgIHJldGNvZGUgPSBydW4oY21kLCAqKmt3YXJncykKKysgICAgaWYgcmV0 Y29kZSBub3QgaW4gcmV0X29rOgorKyAgICAgICAgbXNnID0gIkNvbW1hbmQgYCVzJyByZXR1cm5l ZCBub24temVybyBleGl0IHN0YXR1cyAlZCIgJSAoY21kLCByZXRjb2RlKQorKyAgICAgICAgcmFp c2UgUGF0b29sRXJyb3IobXNnKQorKyAgICByZXR1cm4gcmV0Y29kZQorKworKworK0BtZW1vaXpl ZAorK2RlZiBndWVzc19taW1lIChmaWxlbmFtZSk6CisrICAgICIiIkd1ZXNzIHRoZSBNSU1FIHR5 cGUgb2YgZ2l2ZW4gZmlsZW5hbWUgdXNpbmcgZmlsZSgxKSBhbmQgaWYgdGhhdAorKyAgICBmYWls cyBieSBsb29raW5nIGF0IHRoZSBmaWxlbmFtZSBleHRlbnNpb24gd2l0aCB0aGUgUHl0aG9uIG1p bWV0eXBlcworKyAgICBtb2R1bGUuCisrCisrICAgIFRoZSByZXN1bHQgb2YgdGhpcyBmdW5jdGlv biBpcyBjYWNoZWQuCisrICAgICIiIgorKyAgICBtaW1lLCBlbmNvZGluZyA9IGd1ZXNzX21pbWVf ZmlsZShmaWxlbmFtZSkKKysgICAgaWYgbWltZSBpcyBOb25lOgorKyAgICAgICAgbWltZSwgZW5j b2RpbmcgPSBndWVzc19taW1lX21pbWVkYihmaWxlbmFtZSkKKysgICAgYXNzZXJ0IG1pbWUgaXMg bm90IE5vbmUgb3IgZW5jb2RpbmcgaXMgTm9uZQorKyAgICByZXR1cm4gbWltZSwgZW5jb2RpbmcK KysKKysKKytFbmNvZGluZzJNaW1lID0geworKyAgICAnZ3ppcCc6ICJhcHBsaWNhdGlvbi9nemlw IiwKKysgICAgJ2J6aXAyJzogImFwcGxpY2F0aW9uL3gtYnppcDIiLAorKyAgICAnY29tcHJlc3Mn OiAiYXBwbGljYXRpb24veC1jb21wcmVzcyIsCisrICAgICdsem1hJzogImFwcGxpY2F0aW9uL3gt bHptYSIsCisrICAgICdsemlwJzogImFwcGxpY2F0aW9uL3gtbHppcCIsCisrICAgICd4eic6ICJh cHBsaWNhdGlvbi94LXh6IiwKKyt9CisrTWltZTJFbmNvZGluZyA9IGRpY3QoWyhfdmFsLCBfa2V5 KSBmb3IgX2tleSwgX3ZhbCBpbiBFbmNvZGluZzJNaW1lLml0ZW1zKCldKQorKyMgbGlibWFnaWMg YmVmb3JlIHZlcnNpb24gNS4xNCBpZGVudGlmaWVkIC5neiBmaWxlcyBhcyBhcHBsaWNhdGlvbi94 LWd6aXAKKytNaW1lMkVuY29kaW5nWydhcHBsaWNhdGlvbi94LWd6aXAnXSA9ICdnemlwJworKwor KworK2RlZiBndWVzc19taW1lX21pbWVkYiAoZmlsZW5hbWUpOgorKyAgICAiIiJHdWVzcyBNSU1F IHR5cGUgZnJvbSBnaXZlbiBmaWxlbmFtZS4KKysgICAgQHJldHVybjogdHVwbGUgKG1pbWUsIGVu Y29kaW5nKQorKyAgICAiIiIKKysgICAgbWltZSwgZW5jb2RpbmcgPSBOb25lLCBOb25lCisrICAg IGlmIG1pbWVkYiBpcyBub3QgTm9uZToKKysgICAgICAgIG1pbWUsIGVuY29kaW5nID0gbWltZWRi Lmd1ZXNzX3R5cGUoZmlsZW5hbWUsIHN0cmljdD1GYWxzZSkKKysgICAgaWYgbWltZSBub3QgaW4g QXJjaGl2ZU1pbWV0eXBlcyBhbmQgZW5jb2RpbmcgaW4gQXJjaGl2ZUNvbXByZXNzaW9uczoKKysg ICAgICAgICMgRmlsZXMgbGlrZSAndC50eHQuZ3onIGFyZSByZWNvZ25pemVkIHdpdGggZW5jb2Rp bmcgYXMgZm9ybWF0LCBhbmQKKysgICAgICAgICMgYW4gdW5zdXBwb3J0ZWQgbWltZS10eXBlIGxp a2UgJ3RleHQvcGxhaW4nLiBGaXggdGhpcy4KKysgICAgICAgIG1pbWUgPSBFbmNvZGluZzJNaW1l W2VuY29kaW5nXQorKyAgICAgICAgZW5jb2RpbmcgPSBOb25lCisrICAgIHJldHVybiBtaW1lLCBl bmNvZGluZworKworKworK2RlZiBndWVzc19taW1lX2ZpbGUgKGZpbGVuYW1lKToKKysgICAgIiIi RGV0ZXJtaW5lIE1JTUUgdHlwZSBvZiBmaWxlbmFtZSB3aXRoIGZpbGUoMSk6CisrICAgICAoYSkg dXNpbmcgYGZpbGUgLS1taW1lYAorKyAgICAgKGIpIHVzaW5nIGBmaWxlYCBhbmQgbG9vayB0aGUg cmVzdWx0IHN0cmluZworKyAgICBAcmV0dXJuOiB0dXBsZSAobWltZSwgZW5jb2RpbmcpCisrICAg ICIiIgorKyAgICBtaW1lLCBlbmNvZGluZyA9IE5vbmUsIE5vbmUKKysgICAgYmFzZSwgZXh0ID0g b3MucGF0aC5zcGxpdGV4dChmaWxlbmFtZSkKKysgICAgaWYgZXh0Lmxvd2VyKCkgaW4gKCcuYWx6 JywpOgorKyAgICAgICAgIyBsZXQgbWltZWRiIHJlY29nbml6ZSB0aGVzZSBleHRlbnNpb25zCisr ICAgICAgICByZXR1cm4gbWltZSwgZW5jb2RpbmcKKysgICAgaWYgb3MucGF0aC5pc2ZpbGUoZmls ZW5hbWUpOgorKyAgICAgICAgZmlsZV9wcm9nID0gZmluZF9wcm9ncmFtKCJmaWxlIikKKysgICAg ICAgIGlmIGZpbGVfcHJvZzoKKysgICAgICAgICAgICBtaW1lLCBlbmNvZGluZyA9IGd1ZXNzX21p bWVfZmlsZV9taW1lKGZpbGVfcHJvZywgZmlsZW5hbWUpCisrICAgICAgICAgICAgaWYgbWltZSBp cyBOb25lOgorKyAgICAgICAgICAgICAgICBtaW1lID0gZ3Vlc3NfbWltZV9maWxlX3RleHQoZmls ZV9wcm9nLCBmaWxlbmFtZSkKKysgICAgICAgICAgICAgICAgZW5jb2RpbmcgPSBOb25lCisrICAg IGlmIG1pbWUgaW4gTWltZTJFbmNvZGluZzoKKysgICAgICAgICMgdHJ5IHRvIGxvb2sgaW5zaWRl IGNvbXByZXNzZWQgYXJjaGl2ZXMKKysgICAgICAgIGNtZCA9IFtmaWxlX3Byb2csICItLWJyaWVm IiwgIi0tbWltZSIsICItLXVuY29tcHJlc3MiLCBmaWxlbmFtZV0KKysgICAgICAgIHRyeToKKysg ICAgICAgICAgICBvdXRwYXJ0cyA9IGJhY2t0aWNrKGNtZCkuc3RyaXAoKS5zcGxpdCgiOyIpCisr ICAgICAgICBleGNlcHQgT1NFcnJvcjoKKysgICAgICAgICAgICAjIGlnbm9yZSBlcnJvcnMsIGFz IGZpbGUoMSkgaXMgb25seSBhIGZhbGxiYWNrCisrICAgICAgICAgICAgcmV0dXJuIG1pbWUsIGVu Y29kaW5nCisrICAgICAgICBtaW1lMiA9IG91dHBhcnRzWzBdLnNwbGl0KCIgIiwgMSlbMF0KKysg ICAgICAgICMgU29tZSBmaWxlKDEpIGltcGxlbWVudGF0aW9ucyByZXR1cm4gYW4gZW1wdHkgb3Ig dW5rbm93biBtaW1lIHR5cGUKKysgICAgICAgICMgd2hlbiB0aGUgdW5jb21wcmVzc29yIHByb2dy YW0gaXMgbm90IGluc3RhbGxlZCwgb3RoZXIKKysgICAgICAgICMgaW1wbGVtZW50YXRpb24gcmV0 dXJuIHRoZSBvcmlnaW5hbCBmaWxlIHR5cGUuCisrICAgICAgICAjIFRoZSBmb2xsb3dpbmcgZGV0 ZWN0cyBib3RoIGNhc2VzLgorKyAgICAgICAgaWYgKG1pbWUyIGluICgnYXBwbGljYXRpb24veC1l bXB0eScsICdhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0nKSBvcgorKyAgICAgICAgICAgIG1pbWUy IGluIE1pbWUyRW5jb2RpbmcpOgorKyAgICAgICAgICAgICMgVGhlIHVuY29tcHJlc3NvciBwcm9n cmFtIGZpbGUoMSkgdXNlcyBpcyBub3QgaW5zdGFsbGVkCisrICAgICAgICAgICAgIyBvciBpcyBu b3QgYWJsZSB0byB1bmNvbXByZXNzLgorKyAgICAgICAgICAgICMgVHJ5IHRvIGdldCBtaW1lIGlu Zm9ybWF0aW9uIGZyb20gdGhlIGZpbGUgZXh0ZW5zaW9uLgorKyAgICAgICAgICAgIG1pbWUyLCBl bmNvZGluZzIgPSBndWVzc19taW1lX21pbWVkYihmaWxlbmFtZSkKKysgICAgICAgICAgICBpZiBt aW1lMiBpbiBBcmNoaXZlTWltZXR5cGVzOgorKyAgICAgICAgICAgICAgICBtaW1lID0gbWltZTIK KysgICAgICAgICAgICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZzIKKysgICAgICAgIGVsaWYgbWlt ZTIgaW4gQXJjaGl2ZU1pbWV0eXBlczoKKysgICAgICAgICAgICBtaW1lID0gbWltZTIKKysgICAg ICAgICAgICBlbmNvZGluZyA9IGdldF9maWxlX21pbWVfZW5jb2Rpbmcob3V0cGFydHMpCisrICAg IHJldHVybiBtaW1lLCBlbmNvZGluZworKworKworK2RlZiBndWVzc19taW1lX2ZpbGVfbWltZSAo ZmlsZV9wcm9nLCBmaWxlbmFtZSk6CisrICAgICIiIkRldGVybWluZSBNSU1FIHR5cGUgb2YgZmls ZW5hbWUgd2l0aCBmaWxlKDEpIGFuZCAtLW1pbWUgb3B0aW9uLgorKyAgICBAcmV0dXJuOiB0dXBs ZSAobWltZSwgZW5jb2RpbmcpCisrICAgICIiIgorKyAgICBtaW1lLCBlbmNvZGluZyA9IE5vbmUs IE5vbmUKKysgICAgY21kID0gW2ZpbGVfcHJvZywgIi0tYnJpZWYiLCAiLS1taW1lLXR5cGUiLCBm aWxlbmFtZV0KKysgICAgdHJ5OgorKyAgICAgICAgbWltZSA9IGJhY2t0aWNrKGNtZCkuc3RyaXAo KQorKyAgICBleGNlcHQgT1NFcnJvcjoKKysgICAgICAgICMgaWdub3JlIGVycm9ycywgYXMgZmls ZSgxKSBpcyBvbmx5IGEgZmFsbGJhY2sKKysgICAgICAgIHBhc3MKKysgICAgaWYgbWltZSBub3Qg aW4gQXJjaGl2ZU1pbWV0eXBlczoKKysgICAgICAgIG1pbWUsIGVuY29kaW5nID0gTm9uZSwgTm9u ZQorKyAgICByZXR1cm4gbWltZSwgZW5jb2RpbmcKKysKKysKKytkZWYgZ2V0X2ZpbGVfbWltZV9l bmNvZGluZyAocGFydHMpOgorKyAgICAiIiJHZXQgZW5jb2RpbmcgdmFsdWUgZnJvbSBzcGxpdHRl ZCBvdXRwdXQgb2YgZmlsZSAtLW1pbWUgLS11bmNvbXByZXNzLiIiIgorKyAgICBmb3IgcGFydCBp biBwYXJ0czoKKysgICAgICAgIGZvciBzdWJwYXJ0IGluIHBhcnQuc3BsaXQoIiAiKToKKysgICAg ICAgICAgICBpZiBzdWJwYXJ0LnN0YXJ0c3dpdGgoImNvbXByZXNzZWQtZW5jb2Rpbmc9Iik6Cisr ICAgICAgICAgICAgICAgIG1pbWUgPSBzdWJwYXJ0LnNwbGl0KCI9IilbMV0uc3RyaXAoKQorKyAg ICAgICAgICAgICAgICByZXR1cm4gTWltZTJFbmNvZGluZy5nZXQobWltZSkKKysgICAgcmV0dXJu IE5vbmUKKysKKysKKysjIE1hdGNoIGZpbGUoMSkgb3V0cHV0IHRleHQgdG8gbWltZSB0eXBlcwor K0ZpbGVUZXh0Mk1pbWUgPSB7CisrICAgICI3LXppcCBhcmNoaXZlIGRhdGEiOiAiYXBwbGljYXRp b24veC03ei1jb21wcmVzc2VkIiwKKysgICAgIkFDRSBhcmNoaXZlIGRhdGEiOiAiYXBwbGljYXRp b24veC1hY2UiLAorKyAgICAiQW1pZ2EgRE9TIGRpc2siOiAiYXBwbGljYXRpb24veC1hZGYiLAor KyAgICAiQVJKIGFyY2hpdmUgZGF0YSI6ICJhcHBsaWNhdGlvbi94LWFyaiIsCisrICAgICJiemlw MiBjb21wcmVzc2VkIGRhdGEiOiAiYXBwbGljYXRpb24veC1iemlwMiIsCisrICAgICJjcGlvIGFy Y2hpdmUiOiAiYXBwbGljYXRpb24veC1jcGlvIiwKKysgICAgIkFTQ0lJIGNwaW8gYXJjaGl2ZSI6 ICJhcHBsaWNhdGlvbi94LWNwaW8iLAorKyAgICAiRGViaWFuIGJpbmFyeSBwYWNrYWdlIjogImFw cGxpY2F0aW9uL3gtZGViaWFuLXBhY2thZ2UiLAorKyAgICAiZ3ppcCBjb21wcmVzc2VkIGRhdGEi OiAiYXBwbGljYXRpb24veC1nemlwIiwKKysgICAgIkxaTUEgY29tcHJlc3NlZCBkYXRhIjogImFw cGxpY2F0aW9uL3gtbHptYSIsCisrICAgICJMUlpJUCBjb21wcmVzc2VkIGRhdGEiOiAiYXBwbGlj YXRpb24veC1scnppcCIsCisrICAgICJsem9wIGNvbXByZXNzZWQgZGF0YSI6ICJhcHBsaWNhdGlv bi94LWx6b3AiLAorKyAgICAiTWljcm9zb2Z0IENhYmluZXQgYXJjaGl2ZSBkYXRhIjogImFwcGxp Y2F0aW9uL3ZuZC5tcy1jYWItY29tcHJlc3NlZCIsCisrICAgICJSQVIgYXJjaGl2ZSBkYXRhIjog ImFwcGxpY2F0aW9uL3gtcmFyIiwKKysgICAgIlJQTSAiOiAiYXBwbGljYXRpb24veC1yZWRoYXQt cGFja2FnZS1tYW5hZ2VyIiwKKysgICAgIlBPU0lYIHRhciBhcmNoaXZlIjogImFwcGxpY2F0aW9u L3gtdGFyIiwKKysgICAgInh6IGNvbXByZXNzZWQgZGF0YSI6ICJhcHBsaWNhdGlvbi94LXh6IiwK KysgICAgIlppcCBhcmNoaXZlIGRhdGEiOiAiYXBwbGljYXRpb24vemlwIiwKKysgICAgImNvbXBy ZXNzJ2QgZGF0YSI6ICJhcHBsaWNhdGlvbi94LWNvbXByZXNzIiwKKysgICAgImx6aXAgY29tcHJl c3NlZCBkYXRhIjogImFwcGxpY2F0aW9uL3gtbHppcCIsCisrICAgICJyemlwIGNvbXByZXNzZWQg ZGF0YSI6ICJhcHBsaWNhdGlvbi94LXJ6aXAiLAorKyAgICAiY3VycmVudCBhciBhcmNoaXZlIjog ImFwcGxpY2F0aW9uL3gtYXJjaGl2ZSIsCisrICAgICJMSGEgIjogImFwcGxpY2F0aW9uL3gtbGhh IiwKKysgICAgIkFSQyBhcmNoaXZlIGRhdGEiOiAiYXBwbGljYXRpb24veC1hcmMiLAorKyAgICAi Wm9vIGFyY2hpdmUgZGF0YSI6ICJhcHBsaWNhdGlvbi94LXpvbyIsCisrICAgICJETVMgYXJjaGl2 ZSBkYXRhIjogImFwcGxpY2F0aW9uL3gtZG1zIiwKKysgICAgIk1vbmtleSdzIEF1ZGlvIjogImF1 ZGlvL3gtYXBlIiwKKysgICAgIkZMQUMgYXVkaW8gYml0c3RyZWFtIGRhdGEiOiAiYXVkaW8vZmxh YyIsCisrICAgICJNUyBXaW5kb3dzIEh0bWxIZWxwIERhdGEiOiAiYXBwbGljYXRpb24veC1jaG0i LAorKyAgICAiWlBBUSBzdHJlYW0iOiAiYXBwbGljYXRpb24venBhcSIsCisrfQorKworK2RlZiBn dWVzc19taW1lX2ZpbGVfdGV4dCAoZmlsZV9wcm9nLCBmaWxlbmFtZSk6CisrICAgICIiIkRldGVy bWluZSBNSU1FIHR5cGUgb2YgZmlsZW5hbWUgd2l0aCBmaWxlKDEpLiIiIgorKyAgICBjbWQgPSBb ZmlsZV9wcm9nLCAiLS1icmllZiIsIGZpbGVuYW1lXQorKyAgICB0cnk6CisrICAgICAgICBvdXRw dXQgPSBiYWNrdGljayhjbWQpLnN0cmlwKCkKKysgICAgZXhjZXB0IE9TRXJyb3I6CisrICAgICAg ICAjIGlnbm9yZSBlcnJvcnMsIGFzIGZpbGUoMSkgaXMgb25seSBhIGZhbGxiYWNrCisrICAgICAg ICByZXR1cm4gTm9uZQorKyAgICAjIG1hdGNoIG91dHB1dCBhZ2FpbnN0IGtub3duIHN0cmluZ3MK KysgICAgZm9yIG1hdGNoZXIsIG1pbWUgaW4gRmlsZVRleHQyTWltZS5pdGVtcygpOgorKyAgICAg ICAgaWYgb3V0cHV0LnN0YXJ0c3dpdGgobWF0Y2hlcikgYW5kIG1pbWUgaW4gQXJjaGl2ZU1pbWV0 eXBlczoKKysgICAgICAgICAgICByZXR1cm4gbWltZQorKyAgICByZXR1cm4gTm9uZQorKworKwor K2RlZiBjaGVja19leGlzdGluZ19maWxlbmFtZSAoZmlsZW5hbWUsIG9ubHlmaWxlcz1UcnVlKToK KysgICAgIiIiRW5zdXJlIHRoYXQgZ2l2ZW4gZmlsZW5hbWUgaXMgYSB2YWxpZCwgZXhpc3Rpbmcg ZmlsZS4iIiIKKysgICAgaWYgbm90IG9zLnBhdGguZXhpc3RzKGZpbGVuYW1lKToKKysgICAgICAg IHJhaXNlIFBhdG9vbEVycm9yKCJmaWxlIGAlcycgd2FzIG5vdCBmb3VuZCIgJSBmaWxlbmFtZSkK KysgICAgaWYgbm90IG9zLmFjY2VzcyhmaWxlbmFtZSwgb3MuUl9PSyk6CisrICAgICAgICByYWlz ZSBQYXRvb2xFcnJvcigiZmlsZSBgJXMnIGlzIG5vdCByZWFkYWJsZSIgJSBmaWxlbmFtZSkKKysg ICAgaWYgb25seWZpbGVzIGFuZCBub3Qgb3MucGF0aC5pc2ZpbGUoZmlsZW5hbWUpOgorKyAgICAg ICAgcmFpc2UgUGF0b29sRXJyb3IoImAlcycgaXMgbm90IGEgZmlsZSIgJSBmaWxlbmFtZSkKKysK KysKKytkZWYgY2hlY2tfd3JpdGFibGVfZmlsZW5hbWUoZmlsZW5hbWUpOgorKyAgICAiIiJFbnN1 cmUgdGhhdCB0aGUgZ2l2ZW4gZmlsZW5hbWUgaXMgd3JpdGFibGUuIiIiCisrICAgIGlmIG5vdCBv cy5hY2Nlc3MoZmlsZW5hbWUsIG9zLldfT0spOgorKyAgICAgICAgcmFpc2UgUGF0b29sRXJyb3Io ImZpbGUgYCVzJyBpcyBub3Qgd3JpdGFibGUiICUgZmlsZW5hbWUpCisrCisrCisrZGVmIGNoZWNr X25ld19maWxlbmFtZSAoZmlsZW5hbWUpOgorKyAgICAiIiJDaGVjayB0aGF0IGZpbGVuYW1lIGRv ZXMgbm90IGFscmVhZHkgZXhpc3QuIiIiCisrICAgIGlmIG9zLnBhdGguZXhpc3RzKGZpbGVuYW1l KToKKysgICAgICAgIHJhaXNlIFBhdG9vbEVycm9yKCJjYW5ub3Qgb3ZlcndyaXRlIGV4aXN0aW5n IGZpbGUgYCVzJyIgJSBmaWxlbmFtZSkKKysKKysKKytkZWYgY2hlY2tfYXJjaGl2ZV9maWxlbGlz dCAoZmlsZW5hbWVzKToKKysgICAgIiIiQ2hlY2sgdGhhdCBmaWxlIGxpc3QgaXMgbm90IGVtcHR5 IGFuZCBjb250YWlucyBvbmx5IGV4aXN0aW5nIGZpbGVzLiIiIgorKyAgICBpZiBub3QgZmlsZW5h bWVzOgorKyAgICAgICAgcmFpc2UgUGF0b29sRXJyb3IoImNhbm5vdCBjcmVhdGUgYXJjaGl2ZSB3 aXRoIGVtcHR5IGZpbGVsaXN0IikKKysgICAgZm9yIGZpbGVuYW1lIGluIGZpbGVuYW1lczoKKysg ICAgICAgIGNoZWNrX2V4aXN0aW5nX2ZpbGVuYW1lKGZpbGVuYW1lLCBvbmx5ZmlsZXM9RmFsc2Up CisrCisrCisrZGVmIHNldF9tb2RlIChmaWxlbmFtZSwgZmxhZ3MpOgorKyAgICAiIiJTZXQgbW9k ZSBmbGFncyBmb3IgZ2l2ZW4gZmlsZW5hbWUgaWYgbm90IGFscmVhZHkgc2V0LiIiIgorKyAgICB0 cnk6CisrICAgICAgICBtb2RlID0gb3MubHN0YXQoZmlsZW5hbWUpLnN0X21vZGUKKysgICAgZXhj ZXB0IE9TRXJyb3I6CisrICAgICAgICAjIGlnbm9yZQorKyAgICAgICAgcmV0dXJuCisrICAgIGlm IG5vdCAobW9kZSAmIGZsYWdzKToKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBvcy5jaG1v ZChmaWxlbmFtZSwgZmxhZ3MgfCBtb2RlKQorKyAgICAgICAgZXhjZXB0IE9TRXJyb3IgYXMgbXNn OgorKyAgICAgICAgICAgIGxvZ19lcnJvcigiY291bGQgbm90IHNldCBtb2RlIGZsYWdzIGZvciBg JXMnOiAlcyIgJSAoZmlsZW5hbWUsIG1zZykpCisrCisrCisrZGVmIGdldF9maWxlc2l6ZShmaWxl bmFtZSk6CisrICAgICIiIlJldHVybiBmaWxlIHNpemUgaW4gQnl0ZXMsIG9yIC0xIG9uIGVycm9y LiIiIgorKyAgICByZXR1cm4gb3MucGF0aC5nZXRzaXplKGZpbGVuYW1lKQorKworKworK2RlZiBz dHJzaXplKGIsIGdyb3VwaW5nPVRydWUpOgorKyAgICAiIiJSZXR1cm4gaHVtYW4gcmVwcmVzZW50 YXRpb24gb2YgYnl0ZXMgYi4gQSBuZWdhdGl2ZSBudW1iZXIgb2YgYnl0ZXMKKysgICAgcmFpc2Vz IGEgdmFsdWUgZXJyb3IuIiIiCisrICAgIGlmIGIgPCAwOgorKyAgICAgICAgcmFpc2UgVmFsdWVF cnJvcigiSW52YWxpZCBuZWdhdGl2ZSBieXRlIG51bWJlciIpCisrICAgIGlmIGIgPCAxMDI0Ogor KyAgICAgICAgcmV0dXJuIHUiJXNCIiAlIGxvY2FsZS5mb3JtYXQoIiVkIiwgYiwgZ3JvdXBpbmcp CisrICAgIGlmIGIgPCAxMDI0ICogMTA6CisrICAgICAgICByZXR1cm4gdSIlc0tCIiAlIGxvY2Fs ZS5mb3JtYXQoIiVkIiwgKGIgLy8gMTAyNCksIGdyb3VwaW5nKQorKyAgICBpZiBiIDwgMTAyNCAq IDEwMjQ6CisrICAgICAgICByZXR1cm4gdSIlc0tCIiAlIGxvY2FsZS5mb3JtYXQoIiUuMmYiLCAo ZmxvYXQoYikgLyAxMDI0KSwgZ3JvdXBpbmcpCisrICAgIGlmIGIgPCAxMDI0ICogMTAyNCAqIDEw OgorKyAgICAgICAgcmV0dXJuIHUiJXNNQiIgJSBsb2NhbGUuZm9ybWF0KCIlLjJmIiwgKGZsb2F0 KGIpIC8gKDEwMjQqMTAyNCkpLCBncm91cGluZykKKysgICAgaWYgYiA8IDEwMjQgKiAxMDI0ICog MTAyNDoKKysgICAgICAgIHJldHVybiB1IiVzTUIiICUgbG9jYWxlLmZvcm1hdCgiJS4xZiIsIChm bG9hdChiKSAvICgxMDI0KjEwMjQpKSwgZ3JvdXBpbmcpCisrICAgIGlmIGIgPCAxMDI0ICogMTAy NCAqIDEwMjQgKiAxMDoKKysgICAgICAgIHJldHVybiB1IiVzR0IiICUgbG9jYWxlLmZvcm1hdCgi JS4yZiIsIChmbG9hdChiKSAvICgxMDI0KjEwMjQqMTAyNCkpLCBncm91cGluZykKKysgICAgcmV0 dXJuIHUiJXNHQiIgJSBsb2NhbGUuZm9ybWF0KCIlLjFmIiwgKGZsb2F0KGIpIC8gKDEwMjQqMTAy NCoxMDI0KSksIGdyb3VwaW5nKQorKworKworK2RlZiB0bXBkaXIgKGRpcj1Ob25lKToKKysgICAg IiIiUmV0dXJuIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSBmb3IgZXh0cmFjdGlvbi4iIiIKKysgICAg cmV0dXJuIHRlbXBmaWxlLm1rZHRlbXAoc3VmZml4PScnLCBwcmVmaXg9J1VucGFja18nLCBkaXI9 ZGlyKQorKworKworK2RlZiB0bXBmaWxlIChkaXI9Tm9uZSwgcHJlZml4PSJ0ZW1wIiwgc3VmZml4 PU5vbmUpOgorKyAgICAiIiJSZXR1cm4gYSB0ZW1wb3JhcnkgZmlsZS4iIiIKKysgICAgcmV0dXJu IHRlbXBmaWxlLm1rc3RlbXAoc3VmZml4PXN1ZmZpeCwgcHJlZml4PXByZWZpeCwgZGlyPWRpcilb MV0KKysKKysKKytkZWYgc2hlbGxfcXVvdGUgKHZhbHVlKToKKysgICAgIiIiUXVvdGUgYWxsIHNo ZWxsIG1ldGFjaGFyYWN0ZXJzIGluIGdpdmVuIHN0cmluZyB2YWx1ZSB3aXRoIHN0cm9uZworKyAg ICAoaWUuIHNpbmdsZSkgcXVvdGVzLCBoYW5kbGluZyB0aGUgc2luZ2xlIHF1b3RlIGVzcGVjaWFs bHkuIiIiCisrICAgIGlmIG9zLm5hbWUgPT0gJ250JzoKKysgICAgICAgIHJldHVybiBzaGVsbF9x dW90ZV9udCh2YWx1ZSkKKysgICAgcmV0dXJuICInJXMnIiAlIHZhbHVlLnJlcGxhY2UoIiciLCBy IidcJyciKQorKworKworK2RlZiBzaGVsbF9xdW90ZV9udCAodmFsdWUpOgorKyAgICAiIiJRdW90 ZSBhcmd1bWVudCBmb3IgV2luZG93cyBzeXN0ZW0uIE1vZGVsZWQgYWZ0ZXIgZGlzdHV0aWxzCisr ICAgIF9udF9xdW90ZV9hcmdzKCkgZnVuY3Rpb24uIiIiCisrICAgIGlmICIgIiBpbiB2YWx1ZToK KysgICAgICAgIHJldHVybiAnIiVzIicgJSB2YWx1ZQorKyAgICByZXR1cm4gdmFsdWUKKysKKysK KytkZWYgc3RyaXBleHQgKGZpbGVuYW1lKToKKysgICAgIiIiUmV0dXJuIHRoZSBiYXNlbmFtZSB3 aXRob3V0IGV4dGVuc2lvbiBvZiBnaXZlbiBmaWxlbmFtZS4iIiIKKysgICAgcmV0dXJuIG9zLnBh dGguc3BsaXRleHQob3MucGF0aC5iYXNlbmFtZShmaWxlbmFtZSkpWzBdCisrCisrCisrZGVmIGdl dF9zaW5nbGVfb3V0ZmlsZSAoZGlyZWN0b3J5LCBhcmNoaXZlLCBleHRlbnNpb249IiIpOgorKyAg ICAiIiJHZXQgb3V0cHV0IGZpbGVuYW1lIGlmIGFyY2hpdmUgaXMgaW4gYSBzaW5nbGUgZmlsZSBm b3JtYXQgbGlrZSBnemlwLiIiIgorKyAgICBvdXRmaWxlID0gb3MucGF0aC5qb2luKGRpcmVjdG9y eSwgc3RyaXBleHQoYXJjaGl2ZSkpCisrICAgIGlmIG9zLnBhdGguZXhpc3RzKG91dGZpbGUgKyBl eHRlbnNpb24pOgorKyAgICAgICAgIyBwcmV2ZW50IG92ZXJ3cml0aW5nIGV4aXN0aW5nIGZpbGVz CisrICAgICAgICBpID0gMQorKyAgICAgICAgbmV3ZmlsZSA9ICIlcyVkIiAlIChvdXRmaWxlLCBp KQorKyAgICAgICAgd2hpbGUgb3MucGF0aC5leGlzdHMobmV3ZmlsZSArIGV4dGVuc2lvbik6Cisr ICAgICAgICAgICAgbmV3ZmlsZSA9ICIlcyVkIiAlIChvdXRmaWxlLCBpKQorKyAgICAgICAgICAg IGkgKz0gMQorKyAgICAgICAgb3V0ZmlsZSA9IG5ld2ZpbGUKKysgICAgcmV0dXJuIG91dGZpbGUg KyBleHRlbnNpb24KKysKKysKKytkZWYgbG9nX2Vycm9yIChtc2csIG91dD1zeXMuc3RkZXJyKToK KysgICAgIiIiUHJpbnQgZXJyb3IgbWVzc2FnZSB0byBzdGRlcnIgKG9yIGFueSBvdGhlciBnaXZl biBvdXRwdXQpLiIiIgorKyAgICBwcmludCgicGF0b29sIGVycm9yOiIsIG1zZywgZmlsZT1vdXQp CisrCisrCisrZGVmIGxvZ19pbmZvIChtc2csIG91dD1zeXMuc3Rkb3V0KToKKysgICAgIiIiUHJp bnQgaW5mbyBtZXNzYWdlIHRvIHN0ZG91dCAob3IgYW55IG90aGVyIGdpdmVuIG91dHB1dCkuIiIi CisrICAgIHByaW50KCJwYXRvb2w6IiwgbXNnLCBmaWxlPW91dCkKKysKKysKKytkZWYgbG9nX2lu dGVybmFsX2Vycm9yKG91dD1zeXMuc3RkZXJyLCBldHlwZT1Ob25lLCBldmFsdWU9Tm9uZSwgdGI9 Tm9uZSk6CisrICAgICIiIlByaW50IGludGVybmFsIGVycm9yIG1lc3NhZ2UgKG91dHB1dCBkZWZh dWx0cyB0byBzdGRlcnIpLiIiIgorKyAgICBwcmludChvcy5saW5lc2VwLCBmaWxlPW91dCkKKysg ICAgcHJpbnQoIiIiKioqKioqKioqKiBPb3BzLCBJIGRpZCBpdCBhZ2Fpbi4gKioqKioqKioqKioq KgorKworK1lvdSBoYXZlIGZvdW5kIGFuIGludGVybmFsIGVycm9yIGluICUoYXBwKXMuIFBsZWFz ZSB3cml0ZSBhIGJ1ZyByZXBvcnQKKythdCAlKHVybClzIGFuZCBpbmNsdWRlIGF0IGxlYXN0IHRo ZSBpbmZvcm1hdGlvbiBiZWxvdzoKKysKKytOb3QgZGlzY2xvc2luZyBzb21lIG9mIHRoZSBpbmZv cm1hdGlvbiBiZWxvdyBkdWUgdG8gcHJpdmFjeSByZWFzb25zIGlzIG9rLgorK0kgd2lsbCB0cnkg dG8gaGVscCB5b3Ugbm9uZXRoZWxlc3MsIGJ1dCB5b3UgaGF2ZSB0byBnaXZlIG1lIHNvbWV0aGlu ZworK0kgY2FuIHdvcmsgd2l0aCA7KSAuCisrIiIiICUgZGljdChhcHA9Y29uZmlndXJhdGlvbi5B cHBOYW1lLCB1cmw9Y29uZmlndXJhdGlvbi5TdXBwb3J0VXJsKSwgZmlsZT1vdXQpCisrICAgIGlm IGV0eXBlIGlzIE5vbmU6CisrICAgICAgICBldHlwZSA9IHN5cy5leGNfaW5mbygpWzBdCisrICAg IGlmIGV2YWx1ZSBpcyBOb25lOgorKyAgICAgICAgZXZhbHVlID0gc3lzLmV4Y19pbmZvKClbMV0K KysgICAgcHJpbnQoZXR5cGUsIGV2YWx1ZSwgZmlsZT1vdXQpCisrICAgIGlmIHRiIGlzIE5vbmU6 CisrICAgICAgICB0YiA9IHN5cy5leGNfaW5mbygpWzJdCisrICAgIHRyYWNlYmFjay5wcmludF9l eGNlcHRpb24oZXR5cGUsIGV2YWx1ZSwgdGIsIE5vbmUsIG91dCkKKysgICAgcHJpbnRfYXBwX2lu Zm8ob3V0PW91dCkKKysgICAgcHJpbnRfbG9jYWxlX2luZm8ob3V0PW91dCkKKysgICAgcHJpbnQo b3MubGluZXNlcCwKKysgICAgICAiKioqKioqKiogJXMgaW50ZXJuYWwgZXJyb3IsIG92ZXIgYW5k IG91dCAqKioqKioqKiIgJSBjb25maWd1cmF0aW9uLkFwcE5hbWUsIGZpbGU9b3V0KQorKworK2Rl ZiBwcmludF9lbnZfaW5mbyhrZXksIG91dD1zeXMuc3RkZXJyKToKKysgICAgIiIiSWYgZ2l2ZW4g ZW52aXJvbm1lbnQga2V5IGlzIGRlZmluZWQsIHByaW50IGl0IG91dC4iIiIKKysgICAgdmFsdWUg PSBvcy5nZXRlbnYoa2V5KQorKyAgICBpZiB2YWx1ZSBpcyBub3QgTm9uZToKKysgICAgICAgIHBy aW50KGtleSwgIj0iLCByZXByKHZhbHVlKSwgZmlsZT1vdXQpCisrCisrCisrZGVmIHByaW50X2xv Y2FsZV9pbmZvKG91dD1zeXMuc3RkZXJyKToKKysgICAgIiIiUHJpbnQgbG9jYWxlIGluZm8uIiIi CisrICAgIGZvciBrZXkgaW4gKCJMQU5HVUFHRSIsICJMQ19BTEwiLCAiTENfQ1RZUEUiLCAiTEFO RyIpOgorKyAgICAgICAgcHJpbnRfZW52X2luZm8oa2V5LCBvdXQ9b3V0KQorKworKworK2RlZiBw cmludF9hcHBfaW5mbyhvdXQ9c3lzLnN0ZGVycik6CisrICAgICIiIlByaW50IHN5c3RlbSBhbmQg YXBwbGljYXRpb24gaW5mbyAob3V0cHV0IGRlZmF1bHRzIHRvIHN0ZGVycikuIiIiCisrICAgIHBy aW50KCJTeXN0ZW0gaW5mbzoiLCBmaWxlPW91dCkKKysgICAgcHJpbnQoY29uZmlndXJhdGlvbi5B cHAsIGZpbGU9b3V0KQorKyAgICBwcmludCgiUHl0aG9uICUodmVyc2lvbilzIG9uICUocGxhdGZv cm0pcyIgJQorKyAgICAgICAgICAgICAgICAgICAgeyJ2ZXJzaW9uIjogc3lzLnZlcnNpb24sICJw bGF0Zm9ybSI6IHN5cy5wbGF0Zm9ybX0sIGZpbGU9b3V0KQorKyAgICBzdGltZSA9IHN0cnRpbWUo dGltZS50aW1lKCkpCisrICAgIHByaW50KCJMb2NhbCB0aW1lOiIsIHN0aW1lLCBmaWxlPW91dCkK KysgICAgcHJpbnQoInN5cy5hcmd2Iiwgc3lzLmFyZ3YsIGZpbGU9b3V0KQorKworKworK2RlZiBz dHJ0aW1lKHQpOgorKyAgICAiIiJSZXR1cm4gSVNPIDg2MDEgZm9ybWF0dGVkIHRpbWUuIiIiCisr ICAgIHJldHVybiB0aW1lLnN0cmZ0aW1lKCIlWS0lbS0lZCAlSDolTTolUyIsIHRpbWUubG9jYWx0 aW1lKHQpKSArIFwKKysgICAgICAgICAgIHN0cnRpbWV6b25lKCkKKysKKysKKytkZWYgc3RydGlt ZXpvbmUoKToKKysgICAgIiIiUmV0dXJuIHRpbWV6b25lIGluZm8sICV6IG9uIHNvbWUgcGxhdGZv cm1zLCBidXQgbm90IHN1cHBvcnRlZCBvbiBhbGwuCisrICAgICIiIgorKyAgICBpZiB0aW1lLmRh eWxpZ2h0OgorKyAgICAgICAgem9uZSA9IHRpbWUuYWx0em9uZQorKyAgICBlbHNlOgorKyAgICAg ICAgem9uZSA9IHRpbWUudGltZXpvbmUKKysgICAgcmV0dXJuICIlKzA0ZCIgJSAoLXpvbmUvLzM2 MDApCisrCisrCisrZGVmIHA3emlwX3N1cHBvcnRzX3JhcigpOgorKyAgICAiIiJEZXRlcm1pbmUg aWYgdGhlIFJBUiBjb2RlYyBpcyBpbnN0YWxsZWQgZm9yIDd6IHByb2dyYW0uIiIiCisrICAgIGlm IG9zLm5hbWUgPT0gJ250JzoKKysgICAgICAgICMgQXNzdW1lIFJBUiBzdXBwb3J0IGlzIGNvbXBp bGVkIGludG8gdGhlIGJpbmFyeS4KKysgICAgICAgIHJldHVybiBUcnVlCisrICAgICMgdGhlIHN1 YmRpcmVjdG9yeSBhbmQgY29kZWMgbmFtZQorKyAgICBjb2RlY25hbWUgPSAncDd6aXAvQ29kZWNz L1JhcjI5LnNvJworKyAgICAjIHNlYXJjaCBjYW5vbmljYWwgdXNlciBsaWJyYXJ5IGRpcnMKKysg ICAgZm9yIGxpYmRpciBpbiAoJy91c3IvbGliJywgJy91c3IvbG9jYWwvbGliJywgJy91c3IvbGli NjQnLCAnL3Vzci9sb2NhbC9saWI2NCcsICcvdXNyL2xpYi9pMzg2LWxpbnV4LWdudScsICcvdXNy L2xpYi94ODZfNjQtbGludXgtZ251Jyk6CisrICAgICAgICBmbmFtZSA9IG9zLnBhdGguam9pbihs aWJkaXIsIGNvZGVjbmFtZSkKKysgICAgICAgIGlmIG9zLnBhdGguZXhpc3RzKGZuYW1lKToKKysg ICAgICAgICAgICByZXR1cm4gVHJ1ZQorKyAgICByZXR1cm4gRmFsc2UKKysKKysKKytAbWVtb2l6 ZWQKKytkZWYgZmluZF9wcm9ncmFtIChwcm9ncmFtKToKKysgICAgIiIiTG9vayBmb3IgcHJvZ3Jh bSBpbiBlbnZpcm9ubWVudCBQQVRIIHZhcmlhYmxlLiIiIgorKyAgICBpZiBvcy5uYW1lID09ICdu dCc6CisrICAgICAgICAjIEFkZCBzb21lIHdlbGwta25vd24gYXJjaGl2ZXIgcHJvZ3JhbXMgdG8g dGhlIHNlYXJjaCBwYXRoCisrICAgICAgICBwYXRoID0gb3MuZW52aXJvblsnUEFUSCddCisrICAg ICAgICBwYXRoID0gYXBwZW5kX3RvX3BhdGgocGF0aCwgZ2V0X250Xzd6X2RpcigpKQorKyAgICAg ICAgcGF0aCA9IGFwcGVuZF90b19wYXRoKHBhdGgsIGdldF9udF9tYWNfZGlyKCkpCisrICAgICAg ICBwYXRoID0gYXBwZW5kX3RvX3BhdGgocGF0aCwgZ2V0X250X3dpbnJhcl9kaXIoKSkKKysgICAg ZWxzZToKKysgICAgICAgICMgdXNlIGRlZmF1bHQgcGF0aAorKyAgICAgICAgcGF0aCA9IE5vbmUK KysgICAgcmV0dXJuIHdoaWNoKHByb2dyYW0sIHBhdGg9cGF0aCkKKysKKysKKytkZWYgYXBwZW5k X3RvX3BhdGggKHBhdGgsIGRpcmVjdG9yeSk6CisrICAgICIiIkFkZCBhIGRpcmVjdG9yeSB0byB0 aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSwgaWYgaXQgaXMgYSB2YWxpZAorKyAgICBkaXJl Y3RvcnkuIiIiCisrICAgIGlmIG5vdCBvcy5wYXRoLmlzZGlyKGRpcmVjdG9yeSkgb3IgZGlyZWN0 b3J5IGluIHBhdGg6CisrICAgICAgICByZXR1cm4gcGF0aAorKyAgICBpZiBub3QgcGF0aC5lbmRz d2l0aChvcy5wYXRoc2VwKToKKysgICAgICAgIHBhdGggKz0gb3MucGF0aHNlcAorKyAgICByZXR1 cm4gcGF0aCArIGRpcmVjdG9yeQorKworKworK2RlZiBnZXRfbnRfN3pfZGlyICgpOgorKyAgICAi IiJSZXR1cm4gNy1aaXAgZGlyZWN0b3J5IGZyb20gcmVnaXN0cnksIG9yIGFuIGVtcHR5IHN0cmlu Zy4iIiIKKysgICAgIyBQeXRob24gMy54IHJlbmFtZWQgdGhlIF93aW5yZWcgbW9kdWxlIHRvIHdp bnJlZworKyAgICB0cnk6CisrICAgICAgICBpbXBvcnQgX3dpbnJlZyBhcyB3aW5yZWcKKysgICAg ZXhjZXB0IEltcG9ydEVycm9yOgorKyAgICAgICAgaW1wb3J0IHdpbnJlZworKyAgICB0cnk6Cisr ICAgICAgICBrZXkgPSB3aW5yZWcuT3BlbktleSh3aW5yZWcuSEtFWV9MT0NBTF9NQUNISU5FLCBy IlNPRlRXQVJFXDctWmlwIikKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICByZXR1cm4gd2lu cmVnLlF1ZXJ5VmFsdWVFeChrZXksICJQYXRoIilbMF0KKysgICAgICAgIGZpbmFsbHk6CisrICAg ICAgICAgICAgd2lucmVnLkNsb3NlS2V5KGtleSkKKysgICAgZXhjZXB0IFdpbmRvd3NFcnJvcjoK KysgICAgICAgIHJldHVybiAiIgorKworKworK2RlZiBnZXRfbnRfcHJvZ3JhbV9kaXIgKCk6Cisr ICAgICIiIlJldHVybiB0aGUgV2luZG93cyBwcm9ncmFtIGZpbGVzIGRpcmVjdG9yeS4iIiIKKysg ICAgcHJvZ3ZhciA9ICIlUHJvZ3JhbUZpbGVzJSIKKysgICAgcmV0dXJuIG9zLnBhdGguZXhwYW5k dmFycyhwcm9ndmFyKQorKworKworK2RlZiBnZXRfbnRfbWFjX2RpciAoKToKKysgICAgIiIiUmV0 dXJuIE1vbmtleSBBdWRpbyBDb21wcmVzc29yIChNQUMpIGRpcmVjdG9yeS4iIiIKKysgICAgcmV0 dXJuIG9zLnBhdGguam9pbihnZXRfbnRfcHJvZ3JhbV9kaXIoKSwgIk1vbmtleSdzIEF1ZGlvIikK KysKKysKKytkZWYgZ2V0X250X3dpbnJhcl9kaXIoKToKKysgICAgIiIiUmV0dXJuIFdpblJBUiBk aXJlY3RvcnkuIiIiCisrICAgIHJldHVybiBvcy5wYXRoLmpvaW4oZ2V0X250X3Byb2dyYW1fZGly KCksICJXaW5SQVIiKQorKworKworK2RlZiBzdHJsaXN0X3dpdGhfb3IgKGFsaXN0KToKKysgICAg IiIiUmV0dXJuIGNvbW1hIHNlcGFyYXRlZCBzdHJpbmcsIGFuZCBsYXN0IGVudHJ5IGFwcGVuZGVk IHdpdGggJyBvciAnLiIiIgorKyAgICBpZiBsZW4oYWxpc3QpID4gMToKKysgICAgICAgIHJldHVy biAiJXMgb3IgJXMiICUgKCIsICIuam9pbihhbGlzdFs6LTFdKSwgYWxpc3RbLTFdKQorKyAgICBy ZXR1cm4gIiwgIi5qb2luKGFsaXN0KQorKworKworK2RlZiBpc19zYW1lX2ZpbGUgKGZpbGVuYW1l MSwgZmlsZW5hbWUyKToKKysgICAgIiIiQ2hlY2sgaWYgZmlsZW5hbWUxIGFuZCBmaWxlbmFtZTIg cG9pbnQgdG8gdGhlIHNhbWUgZmlsZSBvYmplY3QuCisrICAgIFRoZXJlIGNhbiBiZSBmYWxzZSBu ZWdhdGl2ZXMsIGllLiB0aGUgcmVzdWx0IGlzIEZhbHNlLCBidXQgaXQgaXMKKysgICAgdGhlIHNh bWUgZmlsZSBhbnl3YXkuIFJlYXNvbiBpcyB0aGF0IG5ldHdvcmsgZmlsZXN5c3RlbXMgY2FuIGNy ZWF0ZQorKyAgICBkaWZmZXJlbnQgcGF0aHMgdG8gdGhlIHNhbWUgcGh5c2ljYWwgZmlsZS4KKysg ICAgIiIiCisrICAgIGlmIGZpbGVuYW1lMSA9PSBmaWxlbmFtZTI6CisrICAgICAgICByZXR1cm4g VHJ1ZQorKyAgICBpZiBvcy5uYW1lID09ICdwb3NpeCc6CisrICAgICAgICByZXR1cm4gb3MucGF0 aC5zYW1lZmlsZShmaWxlbmFtZTEsIGZpbGVuYW1lMikKKysgICAgcmV0dXJuIGlzX3NhbWVfZmls ZW5hbWUoZmlsZW5hbWUxLCBmaWxlbmFtZTIpCisrCisrCisrZGVmIGlzX3NhbWVfZmlsZW5hbWUg KGZpbGVuYW1lMSwgZmlsZW5hbWUyKToKKysgICAgIiIiQ2hlY2sgaWYgZmlsZW5hbWUxIGFuZCBm aWxlbmFtZTIgYXJlIHRoZSBzYW1lIGZpbGVuYW1lLiIiIgorKyAgICByZXR1cm4gb3MucGF0aC5y ZWFscGF0aChmaWxlbmFtZTEpID09IG9zLnBhdGgucmVhbHBhdGgoZmlsZW5hbWUyKQorKworKwor K2RlZiBsaW5rX29yX2NvcHkoc3JjLCBkc3QsIHZlcmJvc2l0eT0wKToKKysgICAgIiIiVHJ5IHRv IG1ha2UgYSBoYXJkIGxpbmsgZnJvbSBzcmMgdG8gZHN0IGFuZCBpZiB0aGF0IGZhaWxzCisrICAg IGNvcHkgdGhlIGZpbGUuIEhhcmQgbGlua3Mgc2F2ZSBzb21lIGRpc2sgc3BhY2UgYW5kIGxpbmtp bmcKKysgICAgc2hvdWxkIGZhaWwgZmFzdCBzaW5jZSBubyBjb3B5aW5nIGlzIGludm9sdmVkLgor KyAgICAiIiIKKysgICAgaWYgdmVyYm9zaXR5ID4gMDoKKysgICAgICAgIGxvZ19pbmZvKCJDb3B5 aW5nICVzIC0+ICVzIiAlIChzcmMsIGRzdCkpCisrICAgIHRyeToKKysgICAgICAgIG9zLmxpbmso c3JjLCBkc3QpCisrICAgIGV4Y2VwdCAoQXR0cmlidXRlRXJyb3IsIE9TRXJyb3IpOgorKyAgICAg ICAgdHJ5OgorKyAgICAgICAgICAgIHNodXRpbC5jb3B5KHNyYywgZHN0KQorKyAgICAgICAgZXhj ZXB0IE9TRXJyb3IgYXMgbXNnOgorKyAgICAgICAgICAgIHJhaXNlIFBhdG9vbEVycm9yKG1zZykK KysKKysKKytkZWYgY2hkaXIoZGlyZWN0b3J5KToKKysgICAgIiIiUmVtZW1iZXIgYW5kIHJldHVy biBjdXJyZW50IGRpcmVjdG9yeSBiZWZvcmUgY2FsbGluZyBvcy5jaGRpcigpLgorKyAgICBJZiB0 aGUgY3VycmVudCBkaXJlY3RvcnkgY291bGQgbm90IGJlIGRldGVybWluZWQsIHJldHVybiBOb25l LgorKyAgICAiIiIKKysgICAgdHJ5OgorKyAgICAgICAgb2xkZGlyID0gb3MuZ2V0Y3dkKCkKKysg ICAgZXhjZXB0IE9TRXJyb3I6CisrICAgICAgICBvbGRkaXIgPSBOb25lCisrICAgIG9zLmNoZGly KGRpcmVjdG9yeSkKKysgICAgcmV0dXJuIG9sZGRpcgorKworKworK2luaXRfbWltZWRiKCkKK2Rp ZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvYnVpbGQvc2NyaXB0cy0zLjEwL3BhdG9vbCBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL2J1aWxkL3NjcmlwdHMtMy4xMC9wYXRvb2wKKy0t LSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9idWlsZC9zY3JpcHRzLTMuMTAvcGF0b29sCTE5NzAtMDEt MDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0 Y2hlZC9idWlsZC9zY3JpcHRzLTMuMTAvcGF0b29sCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3ODMy MzAzICswMTAwCitAQCAtMCwwICsxLDIyNCBAQAorKyMhL3Vzci9iaW4vcHl0aG9uMworKyMgLSot IGNvZGluZzogdXRmLTggLSotCisrIyBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBCYXN0aWFuIEts ZWluZWlkYW0KKysjCisrIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiBy ZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo ZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKysjIHRoZSBGcmVl IFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9y CisrIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorKyMKKysjIFRoaXMgcHJv Z3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor KyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy cmFudHkgb2YKKysjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKysjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl IGRldGFpbHMuCisrIworKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKysjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAg SWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKyIiIgorK3BhdG9v bCBbZ2xvYmFsLW9wdGlvbnNdIHtleHRyYWN0fGxpc3R8Y3JlYXRlfGRpZmZ8c2VhcmNofGZvcm1h dHN9IFtzdWItY29tbWFuZC1vcHRpb25zXSA8Y29tbWFuZC1hcmdzPgorKyIiIgorK2Zyb20gX19m dXR1cmVfXyBpbXBvcnQgcHJpbnRfZnVuY3Rpb24KKytpbXBvcnQgc3lzCisraW1wb3J0IGFyZ3Bh cnNlCisraW1wb3J0IHB5ZG9jCisraW1wb3J0IHBhdG9vbGliCisrZnJvbSBwYXRvb2xpYi51dGls IGltcG9ydCBsb2dfZXJyb3IsIGxvZ19pbnRlcm5hbF9lcnJvciwgUGF0b29sRXJyb3IKKytmcm9t IHBhdG9vbGliLmNvbmZpZ3VyYXRpb24gaW1wb3J0IEFwcAorKworK2RlZiBydW5fZXh0cmFjdChh cmdzKToKKysgICAgIiIiRXh0cmFjdCBmaWxlcyBmcm9tIGFyY2hpdmUocykuIiIiCisrICAgIHJl cyA9IDAKKysgICAgZm9yIGFyY2hpdmUgaW4gYXJncy5hcmNoaXZlOgorKyAgICAgICAgdHJ5Ogor KyAgICAgICAgICAgIHBhdG9vbGliLmV4dHJhY3RfYXJjaGl2ZShhcmNoaXZlLCB2ZXJib3NpdHk9 YXJncy52ZXJib3NpdHksIGludGVyYWN0aXZlPWFyZ3MuaW50ZXJhY3RpdmUsIG91dGRpcj1hcmdz Lm91dGRpcikKKysgICAgICAgIGV4Y2VwdCBQYXRvb2xFcnJvciBhcyBtc2c6CisrICAgICAgICAg ICAgbG9nX2Vycm9yKCJlcnJvciBleHRyYWN0aW5nICVzOiAlcyIgJSAoYXJjaGl2ZSwgbXNnKSkK KysgICAgICAgICAgICByZXMgKz0gMQorKyAgICByZXR1cm4gcmVzCisrCisrCisrZGVmIHJ1bl9s aXN0KGFyZ3MpOgorKyAgICAiIiJMaXN0IGZpbGVzIGluIGFyY2hpdmUocykuIiIiCisrICAgIHJl cyA9IDAKKysgICAgZm9yIGFyY2hpdmUgaW4gYXJncy5hcmNoaXZlOgorKyAgICAgICAgdHJ5Ogor KyAgICAgICAgICAgICMgaW5jcmVhc2UgZGVmYXVsdCB2ZXJib3NpdHkgc2luY2UgdGhlIGxpc3Rp bmcgb3V0cHV0IHNob3VsZCBiZSB2aXNpYmxlCisrICAgICAgICAgICAgdmVyYm9zaXR5ID0gYXJn cy52ZXJib3NpdHkgKyAxCisrICAgICAgICAgICAgcGF0b29saWIubGlzdF9hcmNoaXZlKGFyY2hp dmUsIHZlcmJvc2l0eT12ZXJib3NpdHksIGludGVyYWN0aXZlPWFyZ3MuaW50ZXJhY3RpdmUpCisr ICAgICAgICBleGNlcHQgUGF0b29sRXJyb3IgYXMgbXNnOgorKyAgICAgICAgICAgIGxvZ19lcnJv cigiZXJyb3IgbGlzdGluZyAlczogJXMiICUgKGFyY2hpdmUsIG1zZykpCisrICAgICAgICAgICAg cmVzICs9IDEKKysgICAgcmV0dXJuIHJlcworKworKworK2RlZiBydW5fdGVzdChhcmdzKToKKysg ICAgIiIiVGVzdCBmaWxlcyBpbiBhcmNoaXZlKHMpLiIiIgorKyAgICByZXMgPSAwCisrICAgIGZv ciBhcmNoaXZlIGluIGFyZ3MuYXJjaGl2ZToKKysgICAgICAgIHRyeToKKysgICAgICAgICAgICBw YXRvb2xpYi50ZXN0X2FyY2hpdmUoYXJjaGl2ZSwgdmVyYm9zaXR5PWFyZ3MudmVyYm9zaXR5LCBp bnRlcmFjdGl2ZT1hcmdzLmludGVyYWN0aXZlKQorKyAgICAgICAgZXhjZXB0IFBhdG9vbEVycm9y IGFzIG1zZzoKKysgICAgICAgICAgICBsb2dfZXJyb3IoImVycm9yIHRlc3RpbmcgJXM6ICVzIiAl IChhcmNoaXZlLCBtc2cpKQorKyAgICAgICAgICAgIHJlcyArPSAxCisrICAgIHJldHVybiByZXMK KysKKysKKytkZWYgcnVuX2NyZWF0ZShhcmdzKToKKysgICAgIiIiQ3JlYXRlIGFuIGFyY2hpdmUg ZnJvbSBnaXZlbiBmaWxlcy4iIiIKKysgICAgcmVzID0gMAorKyAgICB0cnk6CisrICAgICAgICBw YXRvb2xpYi5jcmVhdGVfYXJjaGl2ZShhcmdzLmFyY2hpdmUsIGFyZ3MuZmlsZW5hbWUsIHZlcmJv c2l0eT1hcmdzLnZlcmJvc2l0eSwgaW50ZXJhY3RpdmU9YXJncy5pbnRlcmFjdGl2ZSkKKysgICAg ZXhjZXB0IFBhdG9vbEVycm9yIGFzIG1zZzoKKysgICAgICAgIGxvZ19lcnJvcigiZXJyb3IgY3Jl YXRpbmcgJXM6ICVzIiAlIChhcmdzLmFyY2hpdmUsIG1zZykpCisrICAgICAgICByZXMgPSAxCisr ICAgIHJldHVybiByZXMKKysKKysKKytkZWYgcnVuX2RpZmYoYXJncyk6CisrICAgICIiIlNob3cg ZGlmZmVyZW5jZXMgYmV0d2VlbiB0d28gYXJjaGl2ZXMuIiIiCisrICAgIHRyeToKKysgICAgICAg IHJlcyA9IHBhdG9vbGliLmRpZmZfYXJjaGl2ZXMoYXJncy5hcmNoaXZlMSwgYXJncy5hcmNoaXZl MiwgdmVyYm9zaXR5PWFyZ3MudmVyYm9zaXR5LCBpbnRlcmFjdGl2ZT1hcmdzLmludGVyYWN0aXZl KQorKyAgICBleGNlcHQgUGF0b29sRXJyb3IgYXMgbXNnOgorKyAgICAgICAgbG9nX2Vycm9yKCJl cnJvciBzaG93aW5nIGRpZmZlcmVuY2VzIGJldHdlZW4gJXMgYW5kICVzOiAlcyIgJSAoYXJncy5h cmNoaXZlMSwgYXJncy5hcmNoaXZlMiwgbXNnKSkKKysgICAgICAgIHJlcyA9IDIKKysgICAgcmV0 dXJuIHJlcworKworKworK2RlZiBydW5fc2VhcmNoKGFyZ3MpOgorKyAgICAiIiJTZWFyY2ggZm9y IHBhdHRlcm4gaW4gZ2l2ZW4gYXJjaGl2ZS4iIiIKKysgICAgdHJ5OgorKyAgICAgICAgcmVzID0g cGF0b29saWIuc2VhcmNoX2FyY2hpdmUoYXJncy5wYXR0ZXJuLCBhcmdzLmFyY2hpdmUsIHZlcmJv c2l0eT1hcmdzLnZlcmJvc2l0eSwgaW50ZXJhY3RpdmU9YXJncy5pbnRlcmFjdGl2ZSkKKysgICAg ZXhjZXB0IFBhdG9vbEVycm9yIGFzIG1zZzoKKysgICAgICAgIGxvZ19lcnJvcigiZXJyb3Igc2Vh cmNoaW5nICVzOiAlcyIgJSAoYXJncy5hcmNoaXZlLCBtc2cpKQorKyAgICAgICAgcmVzID0gMgor KyAgICByZXR1cm4gcmVzCisrCisrCisrZGVmIHJ1bl9yZXBhY2soYXJncyk6CisrICAgICIiIlJl cGFja2FnZSBvbmUgYXJjaGl2ZSBpbiBhbm90aGVyIGZvcm1hdC4iIiIKKysgICAgcmVzID0gMAor KyAgICB0cnk6CisrICAgICAgICBwYXRvb2xpYi5yZXBhY2tfYXJjaGl2ZShhcmdzLmFyY2hpdmVf c3JjLCBhcmdzLmFyY2hpdmVfZHN0LCB2ZXJib3NpdHk9YXJncy52ZXJib3NpdHksIGludGVyYWN0 aXZlPWFyZ3MuaW50ZXJhY3RpdmUpCisrICAgIGV4Y2VwdCBQYXRvb2xFcnJvciBhcyBtc2c6Cisr ICAgICAgICBsb2dfZXJyb3IoImVycm9yIHJlcGFja2luZyAlczogJXMiICUgKGFyZ3MuYXJjaGl2 ZV9zcmMsIG1zZykpCisrICAgICAgICByZXMgPSAxCisrICAgIHJldHVybiByZXMKKysKKysKKytk ZWYgcnVuX3JlY29tcHJlc3MoYXJncyk6CisrICAgICIiIlJlY29tcHJlc3MgYW4gYXJjaGl2ZSB0 byBzbWFsbGVyIHNpemUuIiIiCisrICAgIHJlcyA9IDAKKysgICAgdHJ5OgorKyAgICAgICAgcGF0 b29saWIucmVjb21wcmVzc19hcmNoaXZlKGFyZ3MuYXJjaGl2ZSwgdmVyYm9zaXR5PWFyZ3MudmVy Ym9zaXR5LCBpbnRlcmFjdGl2ZT1hcmdzLmludGVyYWN0aXZlKQorKyAgICBleGNlcHQgUGF0b29s RXJyb3IgYXMgbXNnOgorKyAgICAgICAgbG9nX2Vycm9yKCJlcnJvciByZWNvbXByZXNzaW5nICVz OiAlcyIgJSAoYXJncy5hcmNoaXZlLCBtc2cpKQorKyAgICAgICAgcmVzID0gMQorKyAgICByZXR1 cm4gcmVzCisrCisrCisrZGVmIHJ1bl9mb3JtYXRzIChhcmdzKToKKysgICAgIiIiTGlzdCBzdXBw b3J0ZWQgYW5kIGF2YWlsYWJsZSBhcmNoaXZlIGZvcm1hdHMuIiIiCisrICAgIHBhdG9vbGliLmxp c3RfZm9ybWF0cygpCisrICAgIHJldHVybiAwCisrCisrCisrY2xhc3MgQXJndW1lbnRQYXJzZXIo YXJncGFyc2UuQXJndW1lbnRQYXJzZXIpOgorKyAgICAiIiJDdXN0b20gYXJndW1lbnQgcGFyc2Vy LiIiIgorKworKyAgICBkZWYgcHJpbnRfaGVscChzZWxmLCBmaWxlPU5vbmUpOgorKyAgICAgICAg IiIiUGFnaW5hdGUgaGVscCBtZXNzYWdlIG9uIFRUWXMuIiIiCisrICAgICAgICBtc2cgPSBzZWxm LmZvcm1hdF9oZWxwKCkKKysgICAgICAgIGlmIGZpbGUgaXMgTm9uZToKKysgICAgICAgICAgICBm aWxlID0gc3lzLnN0ZG91dAorKyAgICAgICAgaWYgaGFzYXR0cihmaWxlLCAiaXNhdHR5IikgYW5k IGZpbGUuaXNhdHR5KCk6CisrICAgICAgICAgICAgcHlkb2MucGFnZXIobXNnKQorKyAgICAgICAg ZWxzZToKKysgICAgICAgICAgICBwcmludChtc2csIGZpbGU9ZmlsZSkKKysKKytFeGFtcGxlcyA9 ICIiIlwKKytFWEFNUExFUworKyAgcGF0b29sIGV4dHJhY3QgYXJjaGl2ZS56aXAgb3RoZXJhcmNo aXZlLnJhcgorKyAgcGF0b29sIC0tdmVyYm9zZSB0ZXN0IGRpc3QudGFyLmd6CisrICBwYXRvb2wg bGlzdCBwYWNrYWdlLmRlYgorKyAgcGF0b29sIC0tdmVyYm9zZSBjcmVhdGUgbXlmaWxlcy56aXAg ZmlsZTEudHh0IGRpci8KKysgIHBhdG9vbCBkaWZmIHJlbGVhc2UxLjAudGFyLnh6IHJlbGVhc2Uy LjAuemlwCisrICBwYXRvb2wgc2VhcmNoICJkZWYgdXJsb3BlbiIgcHl0aG9uLTMuMy50YXIuZ3oK KysgIHBhdG9vbCByZXBhY2sgbGludXgtMi42LjMzLnRhci5neiBsaW51eC0yLjYuMzMudGFyLmJ6 MgorKyAgcGF0b29sIHJlY29tcHJlc3MgaW1hZ2VzLnppcAorKyIiIgorKworK1ZlcnNpb24gPSAi IiJcCisrVkVSU0lPTgorKyAgJXMKKysiIiIgJSBBcHAKKysKKytkZWYgY3JlYXRlX2FyZ3BhcnNl cigpOgorKyAgICAiIiJDb25zdHJ1Y3QgYW5kIHJldHVybiBhbiBhcmd1bWVudCBwYXJzZXIuIiIi CisrICAgIGVwaWxvZyA9IEV4YW1wbGVzICsgIlxuIiArIFZlcnNpb24KKysgICAgcGFyc2VyID0g QXJndW1lbnRQYXJzZXIoZGVzY3JpcHRpb249IkFuIGFyY2hpdmUgZmlsZSBtYW5hZ2VyLiIsCisr ICAgICAgICBlcGlsb2c9ZXBpbG9nLCBmb3JtYXR0ZXJfY2xhc3M9YXJncGFyc2UuUmF3RGVzY3Jp cHRpb25IZWxwRm9ybWF0dGVyKQorKyAgICBwYXJzZXIuYWRkX2FyZ3VtZW50KCctLXZlcmJvc2Un LCAnLXYnLCBhY3Rpb249J2NvdW50JywgZGVmYXVsdD0wLCBkZXN0PSd2ZXJib3NpdHknLCBoZWxw PSJ2ZXJib3NlIG9wZXJhdGlvbjsgY2FuIGJlIGdpdmVuIG11bHRpcGxlIHRpbWVzIikKKysgICAg cGFyc2VyLmFkZF9hcmd1bWVudCgnLS1ub24taW50ZXJhY3RpdmUnLCBkZXN0PSdpbnRlcmFjdGl2 ZScsIGRlZmF1bHQ9VHJ1ZSwgYWN0aW9uPSdzdG9yZV9mYWxzZScsCisrICAgICAgICBoZWxwPSJk b24ndCBxdWVyeSBmb3IgdXNlciBpbnB1dCAoaWUuIHBhc3N3b3JkcyBvciB3aGVuIG92ZXJ3cml0 aW5nIGR1cGxpY2F0ZSBmaWxlcyk7IHVzZSB3aXRoIGNhcmUgc2luY2Ugb3ZlcndyaXRpbmcgZmls ZXMgb3IgaWdub3JpbmcgcGFzc3dvcmRzIGNvdWxkIGJlIHVuaW50ZW5kZWQiKQorKyAgICBzdWJw YXJzZXJzID0gcGFyc2VyLmFkZF9zdWJwYXJzZXJzKGhlbHA9J3RoZSBhcmNoaXZlIGNvbW1hbmQ7 IHR5cGUgInBhdG9vbCBDT01NQU5EIC1oIiBmb3IgY29tbWFuZC1zcGVjaWZpYyBoZWxwJywgZGVz dD0nY29tbWFuZCcpCisrICAgICMgZXh0cmFjdAorKyAgICBwYXJzZXJfZXh0cmFjdCA9IHN1YnBh cnNlcnMuYWRkX3BhcnNlcignZXh0cmFjdCcsIGhlbHA9J2V4dHJhY3Qgb25lIG9yIG1vcmUgYXJj aGl2ZXMnKQorKyAgICBwYXJzZXJfZXh0cmFjdC5hZGRfYXJndW1lbnQoJy0tb3V0ZGlyJywgaGVs cD0ib3V0cHV0IGRpcmVjdG9yeSB0byBleHRyYWN0IHRvIikKKysgICAgcGFyc2VyX2V4dHJhY3Qu YWRkX2FyZ3VtZW50KCdhcmNoaXZlJywgbmFyZ3M9JysnLCBoZWxwPSJhbiBhcmNoaXZlIGZpbGUi KQorKyAgICAjIGxpc3QKKysgICAgcGFyc2VyX2xpc3QgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIo J2xpc3QnLCBoZWxwPSdsaXN0IG1lbWJlcnMgb3Igb25lIG9yIG1vcmUgYXJjaGl2ZXMnKQorKyAg ICBwYXJzZXJfbGlzdC5hZGRfYXJndW1lbnQoJ2FyY2hpdmUnLCBuYXJncz0nKycsIGhlbHA9ImFu IGFyY2hpdmUgZmlsZSIpCisrICAgICMgY3JlYXRlCisrICAgIHBhcnNlcl9jcmVhdGUgPSBzdWJw YXJzZXJzLmFkZF9wYXJzZXIoJ2NyZWF0ZScsIGhlbHA9J2NyZWF0ZSBhbiBhcmNoaXZlJykKKysg ICAgcGFyc2VyX2NyZWF0ZS5hZGRfYXJndW1lbnQoJ2FyY2hpdmUnLCBoZWxwPSJ0aGUgYXJjaGl2 ZSBmaWxlOyB0aGUgZmlsZSBleHRlbnNpb24gZGV0ZXJtaW5lcyB0aGUgYXJjaGl2ZSBwcm9ncmFt IikKKysgICAgcGFyc2VyX2NyZWF0ZS5hZGRfYXJndW1lbnQoJ2ZpbGVuYW1lJywgbmFyZ3M9Jysn LCBoZWxwPSJhIGZpbGUgb3IgZGlyZWN0b3J5IHRvIGFkZCB0byB0aGUgYXJjaGl2ZTsgbm90ZSB0 aGF0IHNvbWUgYXJjaGl2ZSBwcm9ncmFtcyBkbyBub3Qgc3VwcG9ydCBkaXJlY3RvcmllcyIpCisr ICAgICMgdGVzdAorKyAgICBwYXJzZXJfdGVzdCA9IHN1YnBhcnNlcnMuYWRkX3BhcnNlcigndGVz dCcsIGhlbHA9J3Rlc3QgYW4gYXJjaGl2ZScpCisrICAgIHBhcnNlcl90ZXN0LmFkZF9hcmd1bWVu dCgnYXJjaGl2ZScsIG5hcmdzPScrJywgaGVscD0nYW4gYXJjaGl2ZSBmaWxlJykKKysgICAgIyBy ZXBhY2sKKysgICAgcGFyc2VyX3JlcGFjayA9IHN1YnBhcnNlcnMuYWRkX3BhcnNlcigncmVwYWNr JywgaGVscD0ncmVwYWNrIGFuIGFyY2hpdmUgdG8gYSBkaWZmZXJlbnQgZm9ybWF0JykKKysgICAg cGFyc2VyX3JlcGFjay5hZGRfYXJndW1lbnQoJ2FyY2hpdmVfc3JjJywgaGVscD0nc291cmNlIGFy Y2hpdmUgZmlsZScpCisrICAgIHBhcnNlcl9yZXBhY2suYWRkX2FyZ3VtZW50KCdhcmNoaXZlX2Rz dCcsIGhlbHA9J3RhcmdldCBhcmNoaXZlIGZpbGUnKQorKyAgICAjIHJlY29tcHJlc3MKKysgICAg cGFyc2VyX3JlY29tcHJlc3MgPSBzdWJwYXJzZXJzLmFkZF9wYXJzZXIoJ3JlY29tcHJlc3MnLCBo ZWxwPSdyZWNvbXByZXNzIGFuIGFyY2hpdmUgdG8gc21hbGxlciBzaXplJykKKysgICAgcGFyc2Vy X3JlY29tcHJlc3MuYWRkX2FyZ3VtZW50KCdhcmNoaXZlJywgaGVscD0nYW4gYXJjaGl2ZSBmaWxl JykKKysgICAgIyBkaWZmCisrICAgIHBhcnNlcl9kaWZmID0gc3VicGFyc2Vycy5hZGRfcGFyc2Vy KCdkaWZmJywgaGVscD0nc2hvdyBkaWZmZXJlbmNlcyBiZXR3ZWVuIHR3byBhcmNoaXZlcycpCisr ICAgIHBhcnNlcl9kaWZmLmFkZF9hcmd1bWVudCgnYXJjaGl2ZTEnLCBoZWxwPSd0aGUgZmlyc3Qg YXJjaGl2ZSBmaWxlJykKKysgICAgcGFyc2VyX2RpZmYuYWRkX2FyZ3VtZW50KCdhcmNoaXZlMics IGhlbHA9J3RoZSBzZWNvbmQgYXJjaGl2ZSBmaWxlJykKKysgICAgIyBzZWFyY2gKKysgICAgcGFy c2VyX3NlYXJjaCA9IHN1YnBhcnNlcnMuYWRkX3BhcnNlcignc2VhcmNoJywgaGVscD0ic2VhcmNo IGNvbnRlbnRzIG9mIGFyY2hpdmUgbWVtYmVycyIpCisrICAgIHBhcnNlcl9zZWFyY2guYWRkX2Fy Z3VtZW50KCdwYXR0ZXJuJywgaGVscD0ndGhlIGdyZXAoMSkgY29tcGF0aWJsZSBzZWFyY2ggcGF0 dGVybicpCisrICAgIHBhcnNlcl9zZWFyY2guYWRkX2FyZ3VtZW50KCdhcmNoaXZlJywgaGVscD0n dGhlIGFyY2hpdmUgZmlsZScpCisrICAgICMgZm9ybWF0cworKyAgICBzdWJwYXJzZXJzLmFkZF9w YXJzZXIoJ2Zvcm1hdHMnLCBoZWxwPSJzaG93IHN1cHBvcnRlZCBhcmNoaXZlIGZvcm1hdHMiKQor KyAgICAjIG9wdGlvbmFsIGJhc2ggY29tcGxldGlvbgorKyAgICB0cnk6CisrICAgICAgICBpbXBv cnQgYXJnY29tcGxldGUKKysgICAgICAgIGFyZ2NvbXBsZXRlLmF1dG9jb21wbGV0ZShwYXJzZXIp CisrICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKKysgICAgICAgIHBhc3MKKysgICAgcmV0dXJuIHBh cnNlcgorKworKworK2RlZiBtYWluKCk6CisrICAgICIiIlBhcnNlIG9wdGlvbnMgYW5kIGV4ZWN1 dGUgY29tbWFuZHMuIiIiCisrICAgIHRyeToKKysgICAgICAgIGFyZ3BhcnNlciA9IGNyZWF0ZV9h cmdwYXJzZXIoKQorKyAgICAgICAgYXJncyA9IGFyZ3BhcnNlci5wYXJzZV9hcmdzKCkKKysgICAg ICAgIGlmIGFyZ3MuY29tbWFuZCBpcyBOb25lOgorKyAgICAgICAgICAgICMgUHl0aG9uIDMuMy4x IHVuZGVyIGxpbnV4IGFsbG93cyBhbiBlbXB0eSBjb21tYW5kIHNvbWVob3cKKysgICAgICAgICAg ICBhcmdwYXJzZXIuZXJyb3IoInRvbyBmZXcgYXJndW1lbnRzIikKKysgICAgICAgICMgcnVuIHN1 YmNvbW1hbmQgZnVuY3Rpb24KKysgICAgICAgIHJlcyA9IGdsb2JhbHMoKVsicnVuXyVzIiAlIGFy Z3MuY29tbWFuZF0oYXJncykKKysgICAgZXhjZXB0IEtleWJvYXJkSW50ZXJydXB0OgorKyAgICAg ICAgbG9nX2Vycm9yKCJhYm9ydGVkIikKKysgICAgICAgIHJlcyA9IDEKKysgICAgZXhjZXB0IEV4 Y2VwdGlvbjoKKysgICAgICAgIGxvZ19pbnRlcm5hbF9lcnJvcigpCisrICAgICAgICByZXMgPSAy CisrICAgIHJldHVybiByZXMKKysKKysKKytpZiBfX25hbWVfXyA9PSAnX19tYWluX18nOgorKyAg ICBzeXMuZXhpdChtYWluKCkpCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3BhdG9v bGliL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0t MS4xMi1wYXRjaGVkL3BhdG9vbGliL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzEwLnB5 YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3BhdG9vbGliL19fcHljYWNoZV9fL19faW5pdF9f LmNweXRob24tMzEwLnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysr IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvcGF0b29saWIvX19weWNhY2hlX18vX19pbml0 X18uY3B5dGhvbi0zMTAucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc5ODMyMzM5ICswMTAwCitA QCAtMCwwICsxLDE0NCBAQAorK28NDQorKwAAAACaTZtWzmwAAOMAAAAAAAAAAAAAAAAAAAAACQAA AEAAAABzqgQAAGQAZAFsAG0BWgEBAGQAZAJsAloCZQNlAmQDgwJyFGUCagRkBGsAchhlBWQFgwGC AWQAZAJsBloGZABkAmwHWgdkAGQCbAhaCGQAZAJsCVoJZAZkB2wKKyttC1oLbQxaDQEAZwBkCKIB Wg5kCVoPZAorK1oQZAtaEWkAZAxkDZMBZA5kD5MBZBBkEZMBZBJkE5MBZBRkFZMBZBZkF5MBZBhk GZMBZBpkG5MBZBxkHZMBZB5kH5MBZCBkIZMBZCJkI5MBZCRkE5MBZCVkJpMBZCdkKJMBZClkKpMB ZCtkLJMBaQBkLWQukwFkL2QNkwFkMGQxkwFkMmQzkwFkNGQ1kwFkNmQ3kwFkOGQ5kwFkOmQ7kwFk PGQ5kwFkPWQRkwFkPmQ/kwFkQGQ/kwFkQWRCkwFkQ2REkwFkRWRGkwFkR2RIkwFkSWRKkwGlAWQP ZEtkD2RMZE1kTmRPZFCcB6UBWhJ6CGQAZAJsE1oTZFFaFFcAbgsEAGUVecEBAAEAAQBkUloUWQBu AXcAaQBkF2RTZFNkU2RUnAOTAWQZZFVkVWRVZFScA5MBZBtkVmRWZFZkVJwDkwFkTWRXZFdkWGRX ZFmcBJMBZB1kAmRaaQGTAWQfZFtkXGRcZFxkXZwEkwFkI2ReZF9kYGRfZGFkYpwFkwFkE2RjZGRk Y2RjZGWcBJMBZCZkZmRnZGicApMBZE9kaWRpZGlkWGRqnASTAWRGZAJka2kBkwFkD2RsZG1kbWRu ZG9kcJwFkwFkDWRxZHJkc2R0nAOTAWQxZHVkdmR1ZHdkeJwEkwFkOWR5ZHpke5wCkwFkN2R8ZFhk fGR8ZHicBJMBZDtkfWRYZH1kfWR4nASTAWkAZChkfmR/ZIBkgWR4nASTAWQVZAJkgmkBkwFkEWSD ZIRkhGSEZIWcBJMBZCFkhmR1ZHVkdWSFnASTAWQqZIdkh2SHZIhkeJwEkwFkP2SJZIpki2SMnAOT AWQsZI1kjWSNZIycA5MBZC5kjmSOZI5kjJwDkwFkM2QCZI9pAZMBZDVkkGUUFwBkkWSQZJJlFBcA ZHicBJMBZEJkk2RYZJNklJwDkwFkRGSVZJZkl5wCkwFkTmSYZFhkmGSUnAOTAWRIZHVkdWR1ZIyc A5MBZEpkmWUUZRRkdJwDkwFkS2QCZJppAZMBZExkAmSbaQGTAaUBWhZknGSdZJ5kn2SgZKFkopwG WhdkBmSjbBhtGVoZAQBkpGSlhABaGmSmZKeEAFobZN9kqGSphAFaHGSqZKuEAFodZKxkrYQAWh5k rmSvhABaH2SwZLGEAFogZOBksmSzhAFaIWS0ZLWEAFoiZLZkt4QAWiNkuGS5hABaJGS6ZLuEAFol CQIJAmThZL1kvoQBWiYJvAkCZOJkv2TAhAFaJwm8CQJk4mTBZMKEAVooZMNkxIQAWilkxWTGhABa KmTjZMdkyIQBWitk42TJZMqEAVosZONky2TMhAFaLWTjZM1kzoQBWi5k5GTPZNCEAVovZOVk0WTS hAFaMGTmZNNk1IQBWjFk5mTVZNaEAVoyZONk12TYhAFaM2TjZNlk2oQBWjRk42TbZNyEAVo1ZONk 3WTehAFaNmQCUwAp5+kAAAAAKQHaDnByaW50X2Z1bmN0aW9uTtoMdmVyc2lvbl9pbmZvKQXpAgAA AOkHAAAAcgEAAADaBWZpbmFscgEAAAB6KlRoaXMgcHJvZ3JhbSByZXF1aXJlcyBQeXRob24gMi43 IG9yIGxhdGVyLukBAAAAKQLaA0FwcNoHVmVyc2lvbikJ2gxsaXN0X2Zvcm1hdHPaDGxpc3RfYXJj aGl2ZdoPZXh0cmFjdF9hcmNoaXZl2gx0ZXN0X2FyY2hpdmXaDmNyZWF0ZV9hcmNoaXZl2g1kaWZm X2FyY2hpdmVz2g5zZWFyY2hfYXJjaGl2ZdoOcmVwYWNrX2FyY2hpdmXaEnJlY29tcHJlc3NfYXJj aGl2ZSkE2gRsaXN02gdleHRyYWN02gR0ZXN02gZjcmVhdGUpItoCN3raA2FjZdoDYWRm2gVhbHpp cNoDYXBl2gJhctoDYXJj2gNhcmraBWJ6aXAy2gNjYWLaA2NobdoIY29tcHJlc3PaBGNwaW/aA2Rl YtoDZG1z2gRmbGFj2gRnemlw2gNpc2/aBWxyemlw2gNsemjaBGx6aXDaBGx6bWHaBGx6b3DaA3Jh ctoDcnBt2gRyemlw2gRzaGFy2gNzaG7aA3RhctoDdmhk2gJ4etoDemlw2gN6b2/aBHpwYXEpBnIf AAAAciIAAAByJwAAAHIrAAAAciwAAAByNQAAAHoQYXBwbGljYXRpb24vZ3ppcHInAAAAehhhcHBs aWNhdGlvbi9qYXZhLWFyY2hpdmVyNgAAAHoPYXBwbGljYXRpb24vcmFyci4AAAB6IWFwcGxpY2F0 aW9uL3ZuZC5tcy1jYWItY29tcHJlc3NlZHIgAAAAehthcHBsaWNhdGlvbi94LTd6LWNvbXByZXNz ZWRyFwAAAHoRYXBwbGljYXRpb24veC1hY2VyGAAAAHoRYXBwbGljYXRpb24veC1hZGZyGQAAAHoT YXBwbGljYXRpb24veC1hbHppcHIaAAAAehVhcHBsaWNhdGlvbi94LWFyY2hpdmVyHAAAAHoRYXBw bGljYXRpb24veC1hcmNyHQAAAHoRYXBwbGljYXRpb24veC1hcmpyHgAAAHoTYXBwbGljYXRpb24v eC1iemlwMnIfAAAAehFhcHBsaWNhdGlvbi94LWNhYnoRYXBwbGljYXRpb24veC1jaG1yIQAAAHoW YXBwbGljYXRpb24veC1jb21wcmVzc3IiAAAAehJhcHBsaWNhdGlvbi94LWNwaW9yIwAAAHocYXBw bGljYXRpb24veC1kZWJpYW4tcGFja2FnZXIkAAAAehFhcHBsaWNhdGlvbi94LWRtc3IlAAAAehJh cHBsaWNhdGlvbi94LWd6aXB6G2FwcGxpY2F0aW9uL3gtaXNvOTY2MC1pbWFnZXIoAAAAehJhcHBs aWNhdGlvbi94LWx6b3ByLQAAAHoSYXBwbGljYXRpb24veC1sem1hciwAAAB6EmFwcGxpY2F0aW9u L3gtbHppcHIrAAAAehFhcHBsaWNhdGlvbi94LWxoYXIqAAAAehNhcHBsaWNhdGlvbi94LWxyemlw cikAAAB6EWFwcGxpY2F0aW9uL3gtbHpoehFhcHBsaWNhdGlvbi94LXJhcnokYXBwbGljYXRpb24v eC1yZWRoYXQtcGFja2FnZS1tYW5hZ2Vyci8AAAB6EWFwcGxpY2F0aW9uL3gtcnBtehJhcHBsaWNh dGlvbi94LXJ6aXByMAAAAHoSYXBwbGljYXRpb24veC1zaGFycjEAAAB6EWFwcGxpY2F0aW9uL3gt dGFycjMAAAB6EWFwcGxpY2F0aW9uL3gtdmhkcjQAAAB6EGFwcGxpY2F0aW9uL3gteHpyNQAAAHI3 AAAAcjgAAAByGwAAAHIyAAAAciYAAAApB3ocYXBwbGljYXRpb24veC16aXAtY29tcHJlc3NlZHoR YXBwbGljYXRpb24veC16b296D2FwcGxpY2F0aW9uL3ppcHoQYXBwbGljYXRpb24venBhcXoLYXVk aW8veC1hcGV6C2F1ZGlvL3gtc2huegorK2F1ZGlvL2ZsYWOpAdoHcHlfbHptYakAKQFaBXVuYWNl KQNyFAAAAHIVAAAAchMAAAApAVoFdW5hZGYpAVoFdW5hbHopAdoDbWFjKQHaB3B5X2VjaG8pBHIW AAAAchQAAAByEwAAAHIVAAAAKQFyHAAAACkBch0AAAApAVoHbm9tYXJjaCkETnIUAAAAchUAAABy EwAAACkCchcAAADaAzd6YSkE2gZwYnppcDLaBmxiemlwMnIfAAAAWgZweV9iejIpA3I/AAAAckAA AAByHwAAAHI9AAAAKQVOchQAAAByFQAAAHIWAAAAchMAAAApAloKKytjYWJleHRyYWN0chcAAAAp AVoEbGNhYikEchQAAAByFgAAAHITAAAAchUAAAApAtoIYXJjaG1hZ2VaDmV4dHJhY3RfY2htTGli KQFyQQAAACkCchQAAAByFQAAACkBciYAAAApBHIUAAAAchUAAAByFgAAAHITAAAAqQRyMwAAAFoE c3RhcloGYnNkdGFyWgorK3B5X3RhcmZpbGUpA3IXAAAAcj4AAABaCisrcHlfemlwZmlsZSkB2gV1 bnppcCkCcjYAAAByQwAAACkBcjYAAAApBU5yFAAAAHITAAAAchUAAAByFgAAACkEchcAAAByPgAA AFoEcGlnenInAAAAKQHaB3B5X2d6aXApAloGem9wZmxpckQAAAApA05yFAAAAHIWAAAAKQFyFwAA ACkCchcAAABaB2lzb2luZm8pAVoLZ2VuaXNvaW1hZ2UpBHIUAAAAchMAAAByFQAAAHIWAAAAKQFa A2xoYSkBWgVsaGFzYSkCTnIUAAAAKQRaBXBsemlwcisAAABaBWNsemlwWgZwZGx6aXApAXIpAAAA KQRyJwAAAHIXAAAAcj4AAAD6D3VuY29tcHJlc3MucmVhbCkDchcAAAByPgAAAHI9AAAAKQNyJwAA AHIXAAAAcj4AAAApAXIiAAAAKQNyFwAAAHI+AAAA2gM3enIpAXIuAAAAKQJaBXVucmFychcAAAAp BE5yFAAAAHITAAAAchUAAAApAXIeAAAAKQNyIwAAANoHYnNkY3Bpb3IXAAAAKQJyIwAAAHJHAAAA KQJaCHJwbTJjcGlvchcAAAApA3IvAAAAchcAAAByPgAAACkCci8AAAByFwAAACkDchQAAAByEwAA AHIVAAAAKQL6CGRwa2ctZGVichcAAAApAVoEeGRtcykBci0AAAApA3IXAAAAciwAAAByNQAAACkC chcAAAByPQAAACkCciwAAAByNQAAACkBcjAAAAApA3IUAAAAchMAAAByFgAAACkBcjEAAAApAVoG dW5zaGFyKQJyFgAAAHIUAAAAKQHaB3Nob3J0ZW4pAnI1AAAAchcAAAApAXI3AAAAKQFyOAAAAFoF cDd6aXBaBnA3YXppcFoGcDdyemlwWgorK3VuY29tcHJlc3NaBGRwa2daBmNobWxpYikGchcAAABy PgAAAHJGAAAAckUAAABySAAAAFoOZXh0cmFjdF9jaG1saWIpAdoEdXRpbGMBAAAAAAAAAAAAAAAE AAAABQAAAEMAAABzXAAAAHQAoAF8AKEBXAJ9AX0CfAFzEnwCcxJ0AKACZAF8ABYAoQGCAXwBdAN2 AHIbdAN8ARkAfQNuCXQAoAJkAnwAfAFmAhYAoQGCAXwDfAJrAnIqZAN9AnwDfAJmAlMAKQR6OERl dGVjdCBmaWxlbmFtZSBhcmNoaXZlIGZvcm1hdCBhbmQgb3B0aW9uYWwgY29tcHJlc3Npb24ueiR1 bmtub3duIGFyY2hpdmUgZm9ybWF0IGZvciBmaWxlIGAlcyd6OHVua25vd24gYXJjaGl2ZSBmb3Jt YXQgZm9yIGZpbGUgYCVzJyAobWltZS10eXBlIGlzIGAlcycpTikEckoAAABaCisrZ3Vlc3NfbWlt ZdoLUGF0b29sRXJyb3LaEEFyY2hpdmVNaW1ldHlwZXMpBNoIZmlsZW5hbWXaBG1pbWXaC2NvbXBy ZXNzaW9u2gZmb3JtYXRyOwAAAHI7AAAA+jMvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIv cGF0b29saWIvX19pbml0X18ucHnaEmdldF9hcmNoaXZlX2Zvcm1hdCEBAABzEgAAAA4CCAEOAQgB CisrARICCAEEAggBclIAAABjAgAAAAAAAAAAAAAAAgAAAAQAAABDAAAAczwAAAB8AHQAdgFyC3QB oAJkAXwAFgChAYIBfAFkAnUBchp8AXQDdgFyHHQBoAJkA3wBFgChAYIBZAJTAGQCUwApBHoqTWFr ZSBzdXJlIGZvcm1hdCBhbmQgY29tcHJlc3Npb24gaXMga25vd24ueht1bmtub3duIGFyY2hpdmUg Zm9ybWF0IGAlcydOeiB1bmtvbnduIGFyY2hpdmUgY29tcHJlc3Npb24gYCVzJykE2g5BcmNoaXZl Rm9ybWF0c3JKAAAAcksAAADaE0FyY2hpdmVDb21wcmVzc2lvbnMpAnJQAAAAck8AAAByOwAAAHI7 AAAAclEAAADaFGNoZWNrX2FyY2hpdmVfZm9ybWF0MAEAAHMKKysAAAAIAg4BEAEOAQj/clUAAABj AwAAAAAAAAAAAAAABwAAAAgAAABDAAAAc74AAAB0AHwAGQB9A2cAfQR8AmQBdQFyD3wEoAF8AqEB AQBkAXwBZgJEAF0NfQV8BXwDdgByIHwEoAJ8A3wFGQChAQEAcRN8BHMsdAOgBGQCfAF8AGYCFgCh AYIBfAREAF0jfQJ8AqAFZAOhAXI5fAICAAEAUwB0A6AGfAKhAX0GfAZyUXwCZARrAnJNfABkBWsC ck10A6AHoQBzTXEufAYCAAEAUwBxLnQDoARkBnwBfABkB6AIfAShAWYDFgChAYIBKQh6OEZpbmQg c3VpdGFibGUgYXJjaGl2ZSBwcm9ncmFtIGZvciBnaXZlbiBmb3JtYXQgYW5kIG1vZGUuTnonJXMg YXJjaGl2ZSBmb3JtYXQgYCVzJyBpcyBub3Qgc3VwcG9ydGVkWgNweV9yFwAAAHIuAAAAekpjb3Vs ZCBub3QgZmluZCBhbiBleGVjdXRhYmxlIHByb2dyYW0gdG8gJXMgZm9ybWF0ICVzOyBjYW5kaWRh dGVzIGFyZSAoJXMpLPoBLCkJ2g9BcmNoaXZlUHJvZ3JhbXPaBmFwcGVuZNoGZXh0ZW5kckoAAABy SwAAANoKKytzdGFydHN3aXRo2gxmaW5kX3Byb2dyYW3aEnA3emlwX3N1cHBvcnRzX3JhctoEam9p bikHclAAAADaB2NvbW1hbmTaB3Byb2dyYW3aCGNvbW1hbmRz2ghwcm9ncmFtc9oDa2V5WgNleGVy OwAAAHI7AAAAclEAAADaFGZpbmRfYXJjaGl2ZV9wcm9ncmFtOAEAAHMoAAAACAIEAQgBCisrAgwC CAEOAQKABAESAQgCCisrAQgCCisrAQQBGAECAQgBAv0aBXJjAAAAYwIAAAAAAAAAAAAAAAIAAAAD AAAAQwAAAHMYAAAAfABkAXYAcgorK3wBZAJ0ABcAdgBTAGQDUwApBXqnRGVjaWRlIGlmIHRoZSBn aXZlbiBwcm9ncmFtIHN1cHBvcnRzIHRoZSBjb21wcmVzc2lvbiBuYXRpdmVseS4KKysgICAgQHJl dHVybjogVHJ1ZSBpZmYgdGhlIHByb2dyYW0gc3VwcG9ydHMgdGhlIGdpdmVuIGNvbXByZXNzaW9u IGZvcm1hdAorKyAgICAgIG5hdGl2ZWx5LCBlbHNlIEZhbHNlLgorKyAgICByQgAAACkCcicAAABy HwAAAEZOcjkAAAApAnJfAAAAck8AAAByOwAAAHI7AAAAclEAAADaHHByb2dyYW1fc3VwcG9ydHNf Y29tcHJlc3Npb25TAQAAcwYAAAAIBQwBBAFyZAAAAGMAAAAAAAAAAAAAAAAGAAAACwAAAEMAAABz LAEAAHQAZAF0AYMCAQB0AGQCgwEBAHQAdAKgA6EAgwEBAHQAgwABAHQERABdf30AdAB8AGQDgwIB AHQFRABddX0BdAZ8ABkAfQJ8AXwCdgFyMmQEfAJ2AXIydABkBXwBFgCDAQEAcR16QnQHfAB8AYMC fQN0AGQGfAF8A2YCFgBkB2QIjQIBAHwAZAlrAnJbZAorK2QLhAB0CEQAgwF9BHwEclp0AGQMZA2g CXwEoQEWAGQHZAiNAgEAbhV8AGQOawJycHQCoAorK6EAcmp0AGQPZAdkCI0CAQBuBnQAZBBkB2QI jQIBAHQAgwABAFcAcR0EAHQCagt5kgEAAQABAHwCoAxkBHwCoAx8AaEBoQJ9BXQAZBF8AXQCoA18 BaEBZgIWAIMBAQBZAHEddwBxFGQEUwApEno8UHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYXZhaWxh YmxlIGFyY2hpdmUgZm9ybWF0cyB0byBzdGRvdXQuehNBcmNoaXZlIHByb2dyYW1zIG9mejtBcmNo aXZlIHByb2dyYW1zIGFyZSBzZWFyY2hlZCBpbiB0aGUgZm9sbG93aW5nIGRpcmVjdG9yaWVzOnoG ZmlsZXM6TnoZICAgJThzOiAtIChub3Qgc3VwcG9ydGVkKXoKKysgICAlOHM6ICVz+gEgKQHaA2Vu ZHIzAAAAYwEAAAAAAAAAAAAAAAIAAAAFAAAAUwAAAHMaAAAAZwB8AF0JfQF0AKABfAGhAXICfAGR AnECUwByOwAAACkCckoAAAByWwAAACkC2gIuMNoBeHI7AAAAcjsAAAByUQAAANoKKys8bGlzdGNv bXA+bgEAAHMCAAAAGgB6IGxpc3RfZm9ybWF0cy48bG9jYWxzPi48bGlzdGNvbXA+ehwoc3VwcG9y dGVkIGNvbXByZXNzaW9uczogJXMpegIsIHIXAAAAehgocmFyIGFyY2hpdmVzIHN1cHBvcnRlZCl6 HChyYXIgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZCl6KCAgICU4czogLSAobm8gcHJvZ3JhbSBmb3Vu ZDsgaW5zdGFsbCAlcykpDtoFcHJpbnRyCAAAAHJKAAAAWhJzeXN0ZW1fc2VhcmNoX3BhdGhyUwAA ANoPQXJjaGl2ZUNvbW1hbmRzclcAAAByYwAAAHJUAAAAcl0AAAByXAAAAHJLAAAA2gNnZXRaD3N0 cmxpc3Rfd2l0aF9vcikGclAAAAByXgAAAHJhAAAAcl8AAABaBGVuY3PaCGhhbmRsZXJzcjsAAABy OwAAAHJRAAAAcgorKwAAAF0BAABzQAAAAAorKwIIAQwBBgEIAQorKwEIAQgBEAEMAQIBAgEKKysB FAEIAQ4BBAEWAQKACAEIAQ4BDAIKKysBDgESAgQBDAEKKyv/Av0C7gT+cgorKwAAAGMEAAAAAAAA AAAAAAAHAAAABgAAAEMAAABzXgAAAHQAagGgAnwCoQF9AnwDcil0A3wCfAODAnMrfAFkAWsCchR8 AX0EbgJkAn0EdAR8A3wEgwJ9BXwFcy1kA30GdAWgBnwGfAF8AHwDZgMWAKEBggFkBFMAZARTAGQE UwApBXoyQ2hlY2sgaWYgYSBwcm9ncmFtIHN1cHBvcnRzIHRoZSBnaXZlbiBjb21wcmVzc2lvbi5y FgAAAHIUAAAAejZjYW5ub3QgJXMgYXJjaGl2ZSBgJXMnOiBjb21wcmVzc2lvbiBgJXMnIG5vdCBz dXBwb3J0ZWROKQfaAm9z2gRwYXRo2ghiYXNlbmFtZXJkAAAAcmMAAABySgAAAHJLAAAAKQfaB2Fy Y2hpdmVyXgAAAHJfAAAAck8AAABaDGNvbXBfY29tbWFuZFoJY29tcF9wcm9n2gNtc2dyOwAAAHI7 AAAAclEAAADaGWNoZWNrX3Byb2dyYW1fY29tcHJlc3Npb25+AQAAcxoAAAAMAgQBCisrAggBBgEE AgorKwEEAQQBFAEE9gQCBAZycwAAAGMBAAAAAAAAAAAAAAAEAAAABQAAAEMAAABzhAAAAHQAoAF8 AKEBfQF0AnwBgwFkAWsCckB0AGoDoAR8AHwBZAIZAKECfQJ0AGoDoAR0AGoDoAV8AKEBfAFkAhkA oQJ9A3QAagOgBnwDoQFzLXQAagOgB3wDoQFyL2QDUwB0CKAJfAJ8A6ECAQB0AKAKKyt8AKEBAQBk BHwBZAIZAGYCUwBkBVMAKQd6lk1vdmUgYSBzaW5nbGUgZmlsZSBvciBkaXJlY3RvcnkgaW5zaWRl IG91dGRpciBhIGxldmVsIHVwLgorKyAgICBOZXZlciBvdmVyd3JpdGUgZmlsZXMuCisrICAgIFJl dHVybiAoVHJ1ZSwgb3V0ZmlsZSkgaWYgc3VjY2Vzc2Z1bCwgKEZhbHNlLCByZWFzb24pIGlmIG5v dC5yBwAAAHIBAAAAKQJGehFsb2NhbCBmaWxlIGV4aXN0c1QpAkZ6Fm11bHRpcGxlIGZpbGVzIGlu IHJvb3ROKQtybgAAANoHbGlzdGRpctoDbGVucm8AAAByXQAAANoHZGlybmFtZdoGZXhpc3Rz2gZp c2xpbmvaBnNodXRpbNoEbW92ZdoFcm1kaXIpBNoGb3V0ZGly2gdlbnRyaWVz2gNzcmPaA2RzdHI7 AAAAcjsAAAByUQAAANoSbW92ZV9vdXRkaXJfb3JwaGFujgEAAHMUAAAACisrBAwBEgEaARgBBAEM AQorKwEMAQQBcoAAAABjAgAAAAAAAAAAAAAABAAAAAQAAABDAAAAczQAAAB0AHwAdAGDAnIKKyt8 AFwCfQJ9A24FfABpAAICfQJ9A3QCagN8AmYBZAF8AWkBfAOkAY4BUwApA3oUUnVuIGFyY2hpdmUg Y29tbWFuZC7aCXZlcmJvc2l0eU4pBNoKKytpc2luc3RhbmNl2gV0dXBsZXJKAAAA2gtydW5fY2hl Y2tlZCkEWg9hcmNoaXZlX2NtZGxpc3RygQAAANoHY21kbGlzdFoJcnVua3dhcmdzcjsAAAByOwAA AHJRAAAA2hNydW5fYXJjaGl2ZV9jbWRsaXN0ngEAAHMIAAAACisrAworKwEKKysCFgFyhgAAAGMB AAAAAAAAAAAAAAABAAAABAAAAEMAAABzIgAAAHQAagGgAnwAoQFzD3QDoAR8AHQFagahAgEAZAFT AGQBUwApAnosTWFrZSBmaWxlIHVzZXIgcmVhZGFibGUgaWYgaXQgaXMgbm90IGEgbGluay5OKQdy bgAAAHJvAAAAcngAAABySgAAANoIc2V0X21vZGXaBHN0YXTaB1NfSVJVU1KpAXJNAAAAcjsAAABy OwAAAHJRAAAA2hJtYWtlX2ZpbGVfcmVhZGFibGWoAQAAcwYAAAAMAhIBBP9yiwAAAGMBAAAAAAAA AAAAAAABAAAABQAAAEMAAABzGAAAAHQAoAF8AHQCagN0AmoEQgChAgEAZAFTACkCeixNYWtlIGRp cmVjdG9yeSB1c2VyIHJlYWRhYmxlIGFuZCBleGVjdXRhYmxlLk4pBXJKAAAAcocAAAByiAAAAHKJ AAAA2gdTX0lYVVNScooAAAByOwAAAHI7AAAAclEAAADaEW1ha2VfZGlyX3JlYWRhYmxlrgEAAHMC AAAAGAJyjQAAAGMBAAAAAAAAAAAAAAAGAAAABwAAAEMAAABzWAAAAHQAagF8AHQCagNkAY0CRABd IVwDfQF9An0DfANEAF0LfQR0BHQAagWgBnwBfAShAoMBAQBxD3wCRABdC30FdAd0AGoFoAZ8AXwF oQKDAQEAcR1xCGQCUwApA3pWTWFrZSBhbGwgZmlsZXMgaW4gZ2l2ZW4gZGlyZWN0b3J5IHVzZXIg cmVhZGFibGUuIEFsc28gcmVjdXJzZSBpbnRvCisrICAgIHN1YmRpcmVjdG9yaWVzLqkB2gdvbmVy cm9yTikIcm4AAADaBHdhbGtySgAAANoJbG9nX2Vycm9ycosAAABybwAAAHJdAAAAco0AAAApBtoJ ZGlyZWN0b3J52gRyb2902gRkaXJz2gVmaWxlc3JNAAAAcnYAAAByOwAAAHI7AAAAclEAAADaEm1h a2VfdXNlcl9yZWFkYWJsZbMBAABzDgAAABoDCAEUAQgBFAEC/wT9cpYAAABjAgAAAAAAAAAAAAAA BQAAAAQAAABDAAAAc0wAAAB0AHwAgwEBAHQBfACDAVwCfQJ9A3wCchJ8A2QBfAMWAGYCUwB0AqAD ZAJ8AaECfQR0BKAFfAB8BKECAQB8BGQDfAR8A2YCFgBmAlMAKQV6UkNsZWFudXAgb3V0ZGlyIGFm dGVyIGV4dHJhY3Rpb24gYW5kIHJldHVybiB0YXJnZXQgZmlsZSBuYW1lIGFuZAorKyAgICByZXN1 bHQgc3RyaW5nLvoEYCVzJ9oAeglgJXMnICglcylOKQZylgAAAHKAAAAAckoAAADaEmdldF9zaW5n bGVfb3V0ZmlsZXJuAAAA2gZyZW5hbWUpBXJ8AAAAcnEAAABaB3N1Y2Nlc3NycgAAAFoHb3V0ZGly MnI7AAAAcjsAAAByUQAAANoOY2xlYW51cF9vdXRkaXK9AQAAcw4AAAAIAwwCBAEMAgwEDAEQAXKb AAAAVGMHAAAAAAAAAAAAAAAMAAAADgAAAEMAAABzGAEAAHwFZAF1AHIKKyt0AHwAgwFcAn0FfQZ0 AXwFfAaDAgEAdAJ8BWQCfARkA40DfQR0A3wAZAJ8BHwGgwQBAHQEfARkAnwFgwN9B3wDZAF1AHIw dAVqBmQEZAWNAX0DZAZ9CG4CZAd9CHpFfAd8AHwGfAR8AXwCfAODBn0JfAlyRHQHfAl8AWQIjQIB AHwIck50CHwDfACDAlwCfQorK30Lbgd8A2QJfAMWAAICfQorK30LfAFkCisrawVyYnQFoAlkC3wA fAtmAhYAoQEBAHwKKytXAHwIcnd6B3QKKyugC3wDoQEBAFcAUwAEAHQMeXYBAAEAAQBZAFMAdwBT AHwIcot6B3QKKyugC3wDoQEBAFcAdwAEAHQMeYoBAAEAAQBZAHcAdwB3ACkMellFeHRyYWN0IGFu IGFyY2hpdmUuCisrICAgIEByZXR1cm46IG91dHB1dCBkaXJlY3RvcnkgaWYgY29tbWFuZCBpcyAn ZXh0cmFjdCcsIGVsc2UgTm9uZQorKyAgICBOchQAAACpAXJfAAAA2gEuKQHaA2RpclRGqQFygQAA AHKXAAAAcgEAAAB6Fy4uLiAlcyBleHRyYWN0ZWQgdG8gJXMuKQ1yUgAAAHJVAAAAcmMAAABycwAA ANoYZ2V0X2FyY2hpdmVfY21kbGlzdF9mdW5jckoAAADaBnRtcGRpcnKGAAAAcpsAAADaCGxvZ19p bmZvcm4AAAByewAAANoHT1NFcnJvcikMcnEAAABygQAAANoLaW50ZXJhY3RpdmVyfAAAAHJfAAAA clAAAAByTwAAANoTZ2V0X2FyY2hpdmVfY21kbGlzdFoRZG9fY2xlYW51cF9vdXRkaXJyhQAAANoG dGFyZ2V0cnIAAAByOwAAAHI7AAAAclEAAADaEF9leHRyYWN0X2FyY2hpdmXOAQAAc0IAAAAIBQwB CisrAQ4BDgEMAQgBDAEGAQQCAgESAQQBDAQEARABDgIIARIBBAEEAwIBDgEMAQQBAv8G/QIBDgEM AQQBAv8C/XKnAAAAYwcAAAAAAAAAAAAAAAorKwAAAAcAAABDAAAAc8AAAAB8BWQBdQByCisrdAB8 AIMBXAJ9BX0GdAF8BXwGgwIBAHQCfAVkAnwEZAONA30EdAN8AGQCfAR8BoMEAQB0BHwEZAJ8BYMD fQdkAX0IdAVqBqAHfAShAWQEawJyQ2QFfAB2AHJDfACgCGQFoQFzQ3wAfQh0CWoKKyt0BWoGoAt8 AKEBZAVkBo0CfQB8B3wAfAZ8BHwCfAN8AYMGfQl8CXJUdAx8CXwCZAeNAgEAfAhyXnQNoA58AHwI oQIBAGQBUwBkAVMAKQh6EkNyZWF0ZSBhbiBhcmNoaXZlLk5yFgAAAHKcAAAAch0AAAB6BC5hcmMp AnKeAAAA2gZzdWZmaXhynwAAACkPclIAAAByVQAAAHJjAAAAcnMAAAByoAAAAHJuAAAAcm8AAABy cAAAANoIZW5kc3dpdGhySgAAANoHdG1wZmlsZXJ2AAAAcoYAAAByeQAAAHJ6AAAAKQorK3JxAAAA 2glmaWxlbmFtZXNygQAAAHKkAAAAcl8AAAByUAAAAHJPAAAAcqUAAABaC29yaWdhcmNoaXZlcoUA AAByOwAAAHI7AAAAclEAAADaD19jcmVhdGVfYXJjaGl2ZfUBAABzKAAAAAgDDAEKKysBDgEOAQwB BAEQAQYBAv8IAQL/BAMWARIBBAEMBAQBEAEE/3KsAAAAYwcAAAAAAAAAAAAAAAkAAAAGAAAAQwAA AHOEAAAAfAVkAXUAcgorK3QAfACDAVwCfQV9BnQBfAV8BoMCAQB8AWQCdgFyGnQCoANkA3wBFgCh AYIBdAR8BXwBfARkBI0DfQR0BXwAfAF8BHwGgwQBAHQGfAR8AXwFgwN9B3wHfAB8BnwEfAJ8A4MF fQh8CHJAdAd8CHwCZAWNAgEAZAFTAGQBUwApBnoXVGVzdCBhbmQgbGlzdCBhcmNoaXZlcy5OKQJy EwAAAHIVAAAAehxpbnZhbGlkIGFyY2hpdmUgY29tbWFuZCBgJXMncpwAAABynwAAACkIclIAAABy VQAAAHJKAAAAcksAAAByYwAAAHJzAAAAcqAAAAByhgAAACkJcnEAAAByXgAAAHKBAAAAcqQAAABy XwAAAHJQAAAAck8AAABypQAAAHKFAAAAcjsAAAByOwAAAHJRAAAA2g9faGFuZGxlX2FyY2hpdmUO AgAAcxgAAAAIAwwBCisrAQgBDgEOAQ4BDAEQAgQBEAQE/HKtAAAAYwMAAAAAAAAAAAAAAAcAAAAK KysAAABDAAAAc5IAAAB0AKABdAJqA6AEfAChAaAFoQChAX0DZAF0BqAHfAN8A6ECFwB9BHoIdAig CXwEdAorK6ECfQVXAG4RBAB0C3ksAQB9BgEAegV0AKAMfAahAYIBZAJ9Bn4GdwF3AHoKKyt0DXwF ZAN8AXwCZgIWAIMCVwBTAAQAdA55SAEAfQYBAHoFdACgDHwGoQGCAWQCfQZ+BncBdwApBHo4R2V0 IHRoZSBQeXRob24gZnVuY3Rpb24gdGhhdCBleGVjdXRlcyB0aGUgZ2l2ZW4gcHJvZ3JhbS56Cisr LnByb2dyYW1zLk56BSVzXyVzKQ9ySgAAAFoIc3RyaXBleHRybgAAAHJvAAAAcnAAAADaBWxvd2Vy 2g5Qcm9ncmFtTW9kdWxlc3JsAAAA2glpbXBvcnRsaWLaDWltcG9ydF9tb2R1bGXaCF9fbmFtZV9f 2gtJbXBvcnRFcnJvcnJLAAAA2gdnZXRhdHRy2g5BdHRyaWJ1dGVFcnJvcikHcl8AAAByXgAAAHJQ AAAAcmIAAABaCisrbW9kdWxlbmFtZdoGbW9kdWxlcnIAAAByOwAAAHI7AAAAclEAAAByoAAAACIC AABzHAAAABYDEAECAhABDgEKKysBCIAC/wIDFAEOAQorKwEIgAL/cqAAAABjAwAAAAAAAAAAAAAA BAAAAAYAAABDAAAAcyYAAABkAXwAagB8AXQBfAJkAhkAgwFmAxYAfQN0AqADfAOhAQEAZANTACkE ejlFcnJvciBmdW5jdGlvbiBmb3Igc2h1dGlsLnJtdHJlZSgpLiBSYWlzZXMgYSBQYXRvb2xFcnJv ci56E0Vycm9yIGluICVzKCVzKTogJXNyBwAAAE4pBHKyAAAA2gNzdHJySgAAAHKRAAAAKQTaBGZ1 bmNybwAAANoDZXhjcnIAAAByOwAAAHI7AAAAclEAAADaEHJtdHJlZV9sb2dfZXJyb3IzAgAAcwQA AAAYAg4BcroAAABjBAAAAAAAAAAAAAAACisrAAAACisrAAAAQwAAAHO0AAAAdACgAXwAfAGhAnII ZAFTAHQAoAJkAqEBfQR8BHMWZAN9BXQAoAN8BaEBggF0AKAEoQB9Bno3dAV8AHwGZARkBY0DfQd0 AKAEoQB9CHojdAV8AXwIZARkBY0DfQl0AGoGfARkBnwHfAlnBGQHZAhkCY0DVwB0B2oIfAh0CWQK KyuNAgEAVwB0B2oIfAZ0CWQKKyuNAgEAUwB0B2oIfAh0CWQKKyuNAgEAdwB0B2oIfAZ0CWQKKyuN AgEAdwApDHp9U2hvdyBkaWZmZXJlbmNlcyBiZXR3ZWVuIHR3byBhcmNoaXZlcy4KKysgICAgQHJl dHVybiAwIGlmIGFyY2hpdmVzIGFyZSB0aGUgc2FtZSwgZWxzZSAxCisrICAgIEByYWlzZXM6IFBh dG9vbEVycm9yIG9uIGVycm9ycworKyAgICByAQAAANoEZGlmZnpTVGhlIGRpZmYoMSkgcHJvZ3Jh bSBpcyByZXF1aXJlZCBmb3Igc2hvd2luZyBhcmNoaXZlIGRpZmZlcmVuY2VzLCBwbGVhc2UgaW5z dGFsbCBpdC7p/////6kCcnwAAABygQAAAHoELXVyTnIHAAAAqQJyAQAAAHIHAAAAKQJygQAAANoG cmV0X29rco4AAABOKQorK3JKAAAAWgxpc19zYW1lX2ZpbGVyWwAAAHJLAAAAcqEAAABypwAAAHKE AAAAcnkAAADaBnJtdHJlZXK6AAAAKQorK9oIYXJjaGl2ZTHaCGFyY2hpdmUycoEAAABypAAAAHK7 AAAAcnIAAABaB3RtcGRpcjHaBXBhdGgx2gd0bXBkaXIy2gVwYXRoMnI7AAAAcjsAAAByUQAAANoO X2RpZmZfYXJjaGl2ZXM5AgAAcyIAAAAMBQQBCisrAQQBBAEKKysBCAECAQ4BCAECAQ4BGAEQAhAC EP4QAnLGAAAAYwQAAAAAAAAAAAAAAAgAAAAKKysAAABDAAAAc3AAAAB0AKABZAGhAX0EfARzDmQC fQV0AKACfAWhAYIBdACgA6EAfQZ6HXQEfAF8BmQDZASNA30HdABqBXwEZAVkBnwAZAdnBWQIZAl8 B2QKKyuNBFcAdAZqB3wGdAhkC40CAQBTAHQGagd8BnQIZAuNAgEAdwApDXonU2VhcmNoIGZvciBn aXZlbiBwYXR0ZXJuIGluIGFuIGFyY2hpdmUu2gRncmVwelJUaGUgZ3JlcCgxKSBwcm9ncmFtIGlz IHJlcXVpcmVkIGZvciBzZWFyY2hpbmcgYXJjaGl2ZSBjb250ZW50cywgcGxlYXNlIGluc3RhbGwg aXQucrwAAAByvQAAAHoCLXJ6Ai1lcp0AAAByvgAAAHIHAAAAKQNyvwAAAHKBAAAA2gNjd2RyjgAA AE4pCXJKAAAAclsAAABySwAAAHKhAAAAcqcAAAByhAAAAHJ5AAAAcsAAAAByugAAACkI2gdwYXR0 ZXJucnEAAABygQAAAHKkAAAAcscAAABycgAAAHKhAAAAcm8AAAByOwAAAHI7AAAAclEAAADaD19z ZWFyY2hfYXJjaGl2ZVECAABzEgAAAAorKwIEAQQBCisrAQgBAgEOARwBIAJyygAAAGMEAAAAAAAA AAAAAAAPAAAACisrAAAAQwAAAHMUAQAAdAB8AIMBXAJ9BH0FdAB8AYMBXAJ9Bn0HfAR8BmsCch58 BXwHawJyHnQBagJ8AHwBfAJkAY0DAQBkAlMAdAGgA6EAfQh6X3QEfAJ8CGQDjQJ9CXwEfAZrAm8w fAVvMHwHfQorK3wKKytyN3wFfAlkBDwAdAV8AGYBaQB8CaQBjgF9C3QGagegCHwBoQF9DHQJdAag CisrfAuhAYMBfQ10BqALoQB9DnQGoAx8C6EBAQB6HHQEfAJ8A2QFjQJ9CXwKKytyYnwHfAlkBDwA dA18DHwNZgJpAHwJpAGOAQEAVwB0BqAMfA6hAQEAbgZ0BqAMfA6hAQEAdwBXAHQOag98CHQQZAaN AgEAZAJTAHQOag98CHQQZAaNAgEAdwApB3orUmVwYWNrYWdlIGFuIGFyY2hpdmUgdG8gYSBkaWZm ZXJlbnQgZm9ybWF0LnKfAAAATikCcoEAAAByfAAAAHJQAAAAqQJygQAAAHKkAAAAco4AAAApEXJS AAAAckoAAABaDGxpbmtfb3JfY29weXKhAAAA2gRkaWN0cqcAAABybgAAAHJvAAAA2gdhYnNwYXRo coMAAABydAAAANoGZ2V0Y3dk2gVjaGRpcnKsAAAAcnkAAABywAAAAHK6AAAAKQ9ywQAAAHLCAAAA coEAAABypAAAAFoHZm9ybWF0MVoMY29tcHJlc3Npb24xWgdmb3JtYXQyWgxjb21wcmVzc2lvbjJy oQAAANoGa3dhcmdzWgtzYW1lX2Zvcm1hdHJvAAAAcnEAAABylQAAANoGb2xkZGlycjsAAAByOwAA AHJRAAAA2g9fcmVwYWNrX2FyY2hpdmVfAgAAcy4AAAAMAgwBEAEQAgQBCAECAQwBEAEEAQgCEAEM AQ4BCAEKKysBAgEMAQQBCAIUARoCIgJy0gAAAGMDAAAAAAAAAAAAAAARAAAACisrAAAAQwAAAHNu AQAAdAB8AIMBXAJ9A30EfARyCisrfAR9A3QBoAKhAH0FdAGgAqEAfQZ0A2oEoAV0A2oEoAZ8AKEB oQFcAn0HfQh0AWoHfAZ8B3wIZAGNA30JeoF0CHwBfAN8BWQCjQN9CisrdAl8AGYBaQB8CisrpAGO AX0LdAOgCisroQB9DHQDoAt8C6EBAQB6HnQIfAF8AnwDZAONA30KKyt0DHQDoA18C6EBgwF9DXQO fAl8DWYCaQB8CisrpAGOAQEAVwB0A6ALfAyhAQEAbgZ0A6ALfAyhAQEAdwB0AaAPfAChAX0OdAGg D3wJoQF9D3wPfA5rAHKXdAOgEHwAoQEBAHQRoBJ8CXwAoQIBAHwOfA8YAH0QZAR0AaATfBChARYA VwB0EWoUfAV0FWQFjQIBAHQRahR8BnQVZAWNAgEAUwBXAHQRahR8BXQVZAWNAgEAdBFqFHwGdBVk BY0CAQBkBlMAdBFqFHwFdBVkBY0CAQB0EWoUfAZ0FWQFjQIBAHcAKQh6LVRyeSB0byByZWNvbXBy ZXNzIGFuIGFyY2hpdmUgdG8gc21hbGxlciBzaXplLikB2glleHRlbnNpb24pA3KBAAAAclAAAABy fAAAACkDcoEAAABypAAAAHJQAAAAeiguLi4gcmVjb21wcmVzc2VkIGZpbGUgaXMgbm93ICVzIHNt YWxsZXIuco4AAAB6PC4uLiByZWNvbXByZXNzZWQgZmlsZSBpcyBub3Qgc21hbGxlciwgbGVhdmlu ZyBhcmNoaXZlIGFzIGlzLk4pFnJSAAAAckoAAAByoQAAAHJuAAAAcm8AAADaCHNwbGl0ZXh0cnAA AABymQAAAHLMAAAAcqcAAAByzgAAAHLPAAAAcoMAAABydAAAAHKsAAAAWgxnZXRfZmlsZXNpemXa BnJlbW92ZXJ5AAAAcnoAAABaB3N0cnNpemVywAAAAHK6AAAAKRFycQAAAHKBAAAAcqQAAAByUAAA AHJPAAAAcqEAAAByxAAAANoEYmFzZdoDZXh0csIAAABy0AAAAHJvAAAActEAAABylQAAANoIZmls ZXNpemVaCWZpbGVzaXplMloIZGlmZnNpemVyOwAAAHI7AAAAclEAAADaE19yZWNvbXByZXNzX2Fy Y2hpdmV/AgAAc0AAAAAMAgQBBAIIAQgBGAEQAQIBDgIQAQgCCisrAQIBDgEOARQBGAIKKysCCisr AQgBCisrAgwBCAEOAQ4CEAEC+A4HDgEEAQ7+EAFy2QAAAGMFAAAAAAAAAAAAAAAFAAAABwAAAEMA AABzMgAAAHQAoAF8AKEBAQB8AWQBawVyEHQAoAJkAnwAFgChAQEAdAN8AHwBfAR8AnwDZAONBVMA KQV6FkV4dHJhY3QgZ2l2ZW4gYXJjaGl2ZS5yAQAAAHoRRXh0cmFjdGluZyAlcyAuLi4pBHKBAAAA cqQAAAByfAAAAHJfAAAATikEckoAAADaF2NoZWNrX2V4aXN0aW5nX2ZpbGVuYW1lcqIAAABypwAA ACkFcnEAAABygQAAAHJ8AAAAcl8AAABypAAAAHI7AAAAcjsAAAByUQAAAHIMAAAApwIAAHMIAAAA CisrAggBDgESAXIMAAAAYwQAAAAAAAAAAAAAAAQAAAAHAAAAQwAAAHMyAAAAdACgAXwAoQEBAHwB ZAFrBXIQdACgAmQCfAAWAKEBAQB0A3wAZAN8AXwDfAJkBI0FUwApBnoTTGlzdCBnaXZlbiBhcmNo aXZlLnIBAAAAeg5MaXN0aW5nICVzIC4uLnITAAAAqQNygQAAAHKkAAAAcl8AAABOqQRySgAAAHLa AAAAcqIAAAByrQAAACkEcnEAAABygQAAAHJfAAAAcqQAAAByOwAAAHI7AAAAclEAAAByCwAAAK8C AABzDAAAAAorKwMIAQ4BCAEEAQb/cgsAAABjBAAAAAAAAAAAAAAABQAAAAcAAABDAAAAc0gAAAB0 AKABfAChAQEAfAFkAWsFchB0AKACZAJ8ABYAoQEBAHQDfABkA3wBfAN8AmQEjQV9BHwBZAFrBXIi dACgAmQFoQEBAHwEUwApB3oTVGVzdCBnaXZlbiBhcmNoaXZlLnIBAAAAeg5UZXN0aW5nICVzIC4u LnIVAAAActsAAAB6Di4uLiB0ZXN0ZWQgb2suTnLcAAAAKQVycQAAAHKBAAAAcl8AAABypAAAANoD cmVzcjsAAAByOwAAAHJRAAAAcg0AAAC5AgAAcxIAAAAKKysCCAEOAQgBBAEG/wgCCisrAQQBcg0A AABjBQAAAAAAAAAAAAAABgAAAAcAAABDAAAAc1YAAAB0AKABfAChAQEAdACgAnwBoQEBAHwCZAFr BXIVdACgA2QCfAAWAKEBAQB0BHwAfAF8AnwEfANkA40FfQV8AmQBawVyKXQAoANkBHwAFgChAQEA fAVTACkGeiZDcmVhdGUgZ2l2ZW4gYXJjaGl2ZSB3aXRoIGdpdmVuIGZpbGVzLnIBAAAAeg9DcmVh dGluZyAlcyAuLi5y2wAAAHoPLi4uICVzIGNyZWF0ZWQuTikFckoAAADaEmNoZWNrX25ld19maWxl bmFtZVoWY2hlY2tfYXJjaGl2ZV9maWxlbGlzdHKiAAAAcqwAAAApBnJxAAAAcqsAAABygQAAAHJf AAAAcqQAAABy3QAAAHI7AAAAcjsAAAByUQAAAHIOAAAAxQIAAHMUAAAACisrAgorKwEIAQ4BCAEE AQb/CAIOAQQBcg4AAABjBAAAAAAAAAAAAAAABQAAAAYAAABDAAAAc2QAAAB0AKABfAChAQEAdACg AXwBoQEBAHwCZAFrBXIXdACgAmQCfAB8AWYCFgChAQEAdAN8AHwBfAJ8A2QDjQR9BHwEZAFrAnIu fAJkAWsFcjB0AKACZAShAQEAZAVTAGQFUwBkBVMAKQZ6J1ByaW50IGRpZmZlcmVuY2VzIGJldHdl ZW4gdHdvIGFyY2hpdmVzLnIBAAAAehhDb21wYXJpbmcgJXMgd2l0aCAlcyAuLi5yywAAAHoZLi4u IG5vIGRpZmZlcmVuY2VzIGZvdW5kLk4pBHJKAAAActoAAAByogAAAHLGAAAAKQVywQAAAHLCAAAA coEAAABypAAAAHLdAAAAcjsAAAByOwAAAHJRAAAAcg8AAADSAgAAcxAAAAAKKysCCisrAQgBEgEQ ARABDgEI/3IPAAAAYwQAAAAAAAAAAAAAAAUAAAAGAAAAQwAAAHNkAAAAfABzB3QAoAFkAaEBggF0 AKACfAGhAQEAfAJkAmsFchl0AKADZAN8AHwBZgIWAKEBAQB0BHwAfAF8AnwDZASNBH0EfARkBWsC cjB8AmQCawVyMHQAoANkBnwAFgChAQEAfARTACkIeiJTZWFyY2ggcGF0dGVybiBpbiBhcmNoaXZl IG1lbWJlcnMuehRlbXB0eSBzZWFyY2ggcGF0dGVybnIBAAAAehZTZWFyY2hpbmcgJXIgaW4gJXMg Li4ucssAAAByBwAAAHoQLi4uICVyIG5vdCBmb3VuZE4pBXJKAAAAcksAAABy2gAAAHKiAAAAcsoA AAApBXLJAAAAcnEAAABygQAAAHKkAAAAct0AAAByOwAAAHI7AAAAclEAAAByEAAAAN0CAABzEgAA AAQCCisrAQorKwEIARIBEAEQAQ4BBAFyEAAAAGMEAAAAAAAAAAAAAAAFAAAABgAAAEMAAABzVAAA AHQAoAF8AKEBAQB0AKACfAGhAQEAfAJkAWsFchd0AKADZAJ8AHwBZgIWAKEBAQB0BHwAfAF8AnwD ZAONBH0EfAJkAWsFcih0AKADZAShAQEAfARTACkGei9SZXBhY2sgYXJjaGl2ZSB0byBkaWZmZXJl bnQgZmlsZSBhbmQvb3IgZm9ybWF0LnIBAAAAehZSZXBhY2tpbmcgJXMgdG8gJXMgLi4ucssAAAB6 GS4uLiByZXBhY2tpbmcgc3VjY2Vzc2Z1bC5OKQVySgAAAHLaAAAAct4AAAByogAAAHLSAAAAKQVy cQAAAFoLYXJjaGl2ZV9uZXdygQAAAHKkAAAAct0AAAByOwAAAHI7AAAAclEAAAByEQAAAOoCAABz EAAAAAorKwIKKysBCAESARABCAEKKysBBAFyEQAAAGMDAAAAAAAAAAAAAAAEAAAABQAAAEMAAABz VAAAAHQAoAF8AKEBAQB0AKACfAChAQEAfAFkAWsFchZ0AKADZAJ8AGYBFgChAQEAdAR8AHwBfAJk A40DfQN8A3IofAFkAWsFcih0AKADfAOhAQEAZAFTACkFejBSZWNvbXByZXNzIGFuIGFyY2hpdmUg dG8gaG9wZWZ1bGx5IHNtYWxsZXIgc2l6ZS5yAQAAAHoUUmVjb21wcmVzc2luZyAlcyAuLi5yywAA AE4pBXJKAAAActoAAABaF2NoZWNrX3dyaXRhYmxlX2ZpbGVuYW1lcqIAAABy2QAAACkEcnEAAABy gQAAAHKkAAAAct0AAAByOwAAAHI7AAAAclEAAAByEgAAAPYCAABzEAAAAAorKwIKKysBCAEQAQ4B DAEKKysBBAFyEgAAACkBTikBcgEAAAApBnIBAAAAVE5OTk4pBXIBAAAAVE5OTikCcgEAAABUKQRy AQAAAE5OVCkDcgcAAABOVCkDcgEAAABOVCk32gorK19fZnV0dXJlX19yAgAAANoDc3lz2gdoYXNh dHRycgMAAADaCisrU3lzdGVtRXhpdHJuAAAAcnkAAAByiAAAAHKwAAAAWg1jb25maWd1cmF0aW9u cggAAAByCQAAANoLX192ZXJzaW9uX1/aB19fYWxsX19yawAAAHJTAAAAclQAAAByTAAAAHIsAAAA cjoAAAByswAAAHJXAAAAcq8AAABymAAAAHJKAAAAclIAAAByVQAAAHJjAAAAcmQAAAByCisrAAAA cnMAAABygAAAAHKGAAAAcosAAAByjQAAAHKWAAAAcpsAAABypwAAAHKsAAAAcq0AAAByoAAAAHK6 AAAAcsYAAAByygAAAHLSAAAActkAAAByDAAAAHILAAAAcg0AAAByDgAAAHIPAAAAchAAAAByEQAA AHISAAAAcjsAAAByOwAAAHI7AAAAclEAAADaCDxtb2R1bGU+AQAAAHPcAgAADA8IARQBCAEIAQgB CAEIARACCAEEBgQDBAkCAwQBAv8EAgL+BAMC/QQEAvwEBQL7BAYC+gQHAvkECAL4BAkC9wQKKysC 9gQLAvUEDAL0BA0C8wQOAvIEDwLxBBAC8AQRBO8EEgLuBBMC7QQUAuwEFQLrBBYC6gQXAukEGALo BBkC5wQaAuYEGwLlBBwC5AQdAuMEHgLiBB8C4QQgAuAEIQLfBCIE3gIjAgECAQIBAgECAQIBCNcC LAgCCAEMAQgBAv8CBgIBAgECAQIBBP0C/wIGAgECAQIBBP0C+gILAgECAQIBBP0C9QIQAgECAQIB AgEE/ALwAhYEAQL/AuoCGQIBAgECAQIBBPwC5wIfAgECAQIBAgECAQT7AuECJgIBAgECAQIBBPwC 2gIsAgECAQT+AtQCMAIBAgECAQIBBPwC0AI2BAEC/wLKAjkCAQIBAgECAQIBBPsCxwJAAgECAQIB BP0CwAJFAgECAQIBAgEE/AK7AksCAQIBBP4CtQJPAgECAQIBAgEE/AKxAlUCAQIBAgECAQT8BKsC WwIBAgECAQIBBPwCpQJhBAEC/wKfAmQCAQIBAgECAQT8ApwCagIBAgECAQIBBPwClgJwAgECAQIB AgEE/AKQAnYCAQIBAgEE/QKKAnsCAQIBAgEE/QKFAH8CAQIBAgECAQT9AIEC/wB/AgYEAQL/AIEC +gB/AgkGAQIBAgEGAQT8AIEC9wB/Ag8CAQIBAgEE/QCBAvEAfwIUAgECAQT+AIEC7AB/AhgCAQIB AgEE/QCBAugAfwIdAgECAQIBBP0AgQLjAH8CIgIBAgECAQT9AIEC3gB/AicEAQL/AIEC2QB/AioE AQL/AIEG1gB/AjICAQIBAgECAQIBBvoMCisrCAIIDworKwgIGwgKKysIIQgQCisrEAgKKysIBggF CAorKwIRAgEKKyv/AicCAQorK/8CGQIBCisr/wgUCBEKKysGCisrGAorKw4KKysgCisrKAorKwgK KysKKysKKysMCisrDQorKwsKKysNDgwKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlm ZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9fX3B5Y2FjaGVfXy9jb25maWd1 cmF0aW9uLmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9v bGliL19fcHljYWNoZV9fL2NvbmZpZ3VyYXRpb24uY3B5dGhvbi0zMTAucHljCistLS0gcGF0b29s LXVwc3RyZWFtLTEuMTIvcGF0b29saWIvX19weWNhY2hlX18vY29uZmlndXJhdGlvbi5jcHl0aG9u LTMxMC5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wt dXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL19fcHljYWNoZV9fL2NvbmZpZ3VyYXRpb24u Y3B5dGhvbi0zMTAucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc5ODMyMzM5ICswMTAwCitAQCAt MCwwICsxLDEwIEBACisrbw0NCisrAAAAAJpNm1b1AQAA4wAAAAAAAAAAAAAAAAAAAAACAAAAQAAA AHNSAAAAZABaAGQBZAJsAVoCZQJqA1oEZQJqBVoGZQJqB1oIZQhkAxcAZQQXAFoJZQJqCisrWgtl AmoMWg1kBGULFwBaDmUCag9aEGQFWhFlAmoSWhNkAlMAKQZ6QworK0RlZmluZSBiYXNpYyBjb25m aWd1cmF0aW9uIGRhdGEgbGlrZSB2ZXJzaW9uIG9yIGFwcGxpY2F0aW9uIG5hbWUuCisr6QAAAABO +gEgehhDb3B5cmlnaHQgKEMpIDIwMDQtMjAxNSB6KGh0dHBzOi8vZ2l0aHViLmNvbS93dW1tZWwv cGF0b29sL2lzc3Vlcy8pFNoHX19kb2NfX1oSX3BhdG9vbF9jb25maWdkYXRhWgorK2NvbmZpZ2Rh dGHaB3ZlcnNpb27aB1ZlcnNpb25aDHJlbGVhc2VfZGF0ZVoLUmVsZWFzZURhdGXaBG5hbWVaB0Fw cE5hbWXaA0FwcFoGYXV0aG9yWgZBdXRob3JaCisrbWFpbnRhaW5lcloKKytNYWludGFpbmVyWglD b3B5cmlnaHTaA3VybFoDVXJsWgorK1N1cHBvcnRVcmxaDGF1dGhvcl9lbWFpbFoFRW1haWypAHIJ AAAAcgkAAAD6OC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9jb25maWd1 cmF0aW9uLnB52gg8bW9kdWxlPgEAAABzGAAAAAQBCAMGAgYBBgEMAQYBBgEIAQYBBAEKKysBCitc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEu MTIvcGF0b29saWIvX19weWNhY2hlX18vdXRpbC5jcHl0aG9uLTMxMC5weWMgcGF0b29sLXVwc3Ry ZWFtLTEuMTItcGF0Y2hlZC9wYXRvb2xpYi9fX3B5Y2FjaGVfXy91dGlsLmNweXRob24tMzEwLnB5 YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3BhdG9vbGliL19fcHljYWNoZV9fL3V0aWwuY3B5 dGhvbi0zMTAucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0 b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9wYXRvb2xpYi9fX3B5Y2FjaGVfXy91dGlsLmNweXRo b24tMzEwLnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3OTgzMjMzOSArMDEwMAorQEAgLTAsMCAr MSwxNTEgQEAKKytvDQ0KKysAAAAAmk2bVgNlAADjAAAAAAAAAAAAAAAAAAAAAA8AAABAAAAAc0ID AABkAFoAZAFkAmwBbQJaAgEAZAFkA2wDWgNkAWQDbARaBGQBZANsBVoFZAFkA2wGWgZkAWQDbAda B2QBZANsCFoIZAFkA2wJWglkAWQDbAorK1oKKytkAWQDbAtaC2QEZAVsDG0NWg1tDloObQ9aDwEA eghkAWQGbAVtEFoQAQBXAG4UBABlEXlSAQABAAEAZQNqEmUDahNCAGQDZgJkB2QIhAFaEFkAbgF3 AGQJZAorK4QAWhRkA2EVZAtkDIQAWhZkDWQOhABaF2QPZBCEAFoYRwBkEWQShABkEmUZgwNaGkcA ZBNkFIQAZBRlG4MDWhxkomQWZBeEAVodZBpkGGQZhAFaHmSjZBtkHIQBWh9lHGQdZB6EAIMBWiBk H2QgZCFkImQjZCRkJZwGWiFlImQmZCeEAGUhoCOhAEQAgwGDAVokZChlJGQpPABkKmQrhABaJWQs ZC2EAFomZC5kL4QAWidkMGQxhABaKGkAZDJkM5MBZDRkNZMBZDZkN5MBZDhkOZMBZDpkIJMBZDtk PJMBZD1kPJMBZD5kP5MBZEBkKZMBZEFkIpMBZEJkQ5MBZERkRZMBZEZkR5MBZEhkSZMBZEpkS5MB ZExkTZMBZE5kJJMBZE9kIWQjZFBkUWRSZFNkVGRVZFZkV2RYZFlkWpwNpQFaKWRbZFyEAFoqZKRk XmRfhAFaK2RgZGGEAFosZGJkY4QAWi1kZGRlhABaLmRmZGeEAFovZGhkaYQAWjBkpGRqZGuEAVox ZKVkbGRthAFaMmSmZG9kcIQBWjNkcWRyhABaNGRzZHSEAFo1ZHVkdoQAWjZkp2R4ZHmEAVo3ZQRq OGYBZHpke4QBWjllBGo6ZgFkfGR9hAFaO2UEajhkA2QDZANmBGR+ZH+EAVo8ZQRqOGYBZIBkgYQB Wj1lBGo4ZgFkgmSDhAFaPmUEajhmAWSEZIWEAVo/ZIZkh4QAWkBkiGSJhABaQWSKZIuEAFpCZRxk jGSNhACDAVpDZI5kj4QAWkRkkGSRhABaRWSSZJOEAFpGZJRklYQAWkdklmSXhABaSGSYZJmEAFpJ ZJpkm4QAWkpknGSdhABaS2QaZJ5kn4QBWkxkoGShhABaTWUWgwABAGQDUwApqHoSVXRpbGl0eSBm dW5jdGlvbnMu6QAAAAApAdoOcHJpbnRfZnVuY3Rpb25O6QEAAAApA9oNY29uZmlndXJhdGlvbtoQ QXJjaGl2ZU1pbWV0eXBlc9oTQXJjaGl2ZUNvbXByZXNzaW9ucykB2gV3aGljaGMDAAAAAAAAAAAA AAALAAAABgAAAAMAAABzEgEAAGQBZAKEAH0DdABqAaACiAChAXITfAOIAHwBgwJyEYgAUwBkA1MA fAJwHHQAagOgBGQEdABqBaECoAZ0AGoHoQF9AnQIaglkBWsCclZ0AGoKKyt8AnYBcjJ8AqALZAZ0 AGoKKyuhAgEAdABqA6AEZAdkCKECoAZ0AGoHoQF9BHQMhwBmAWQJZAorK4QIfAREAIMBgwFyTIgA ZwF9BW4NhwBmAWQLZAyECHwERACDAX0FbgOIAGcBfQV0DYMAfQZ8AkQAXSh9B3QAagGgDnwHoQF9 CHwIfAZ2AXKGfAagD3wIoQEBAHwFRABdFH0JdABqAaAQfAd8CaECfQorK3wDfAorK3wBgwJyhXwK KysCAAEAAgABAFMAcXFxXmQDUwApDWFJAQAAR2l2ZW4gYSBjb21tYW5kLCBtb2RlLCBhbmQgYSBQ QVRIIHN0cmluZywgcmV0dXJuIHRoZSBwYXRoIHdoaWNoCisrICAgICAgICBjb25mb3JtcyB0byB0 aGUgZ2l2ZW4gbW9kZSBvbiB0aGUgUEFUSCwgb3IgTm9uZSBpZiB0aGVyZSBpcyBubyBzdWNoCisr ICAgICAgICBmaWxlLgorKyAgICAgICAgYG1vZGVgIGRlZmF1bHRzIHRvIG9zLkZfT0sgfCBvcy5Y X09LLiBgcGF0aGAgZGVmYXVsdHMgdG8gdGhlIHJlc3VsdAorKyAgICAgICAgb2Ygb3MuZW52aXJv bi5nZXQoIlBBVEgiKSwgb3IgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBhIGN1c3RvbSBzZWFyY2gK KysgICAgICAgIHBhdGguCisrICAgICAgICBjAgAAAAAAAAAAAAAAAgAAAAQAAABTAAAAcyYAAAB0 AGoBoAJ8AKEBbxJ0AKADfAB8AaECbxJ0AGoBoAR8AKEBDABTACkCertDaGVjayB0aGF0IGEgZ2l2 ZW4gZmlsZSBjYW4gYmUgYWNjZXNzZWQgd2l0aCB0aGUgY29ycmVjdCBtb2RlLgorKyAgICAgICAg ICAgIEFkZGl0aW9uYWxseSBjaGVjayB0aGF0IGBmbmAgaXMgbm90IGEgZGlyZWN0b3J5LCBhcyBv biBXaW5kb3dzCisrICAgICAgICAgICAgZGlyZWN0b3JpZXMgcGFzcyB0aGUgb3MuYWNjZXNzIGNo ZWNrLk4pBdoCb3PaBHBhdGjaBmV4aXN0c9oGYWNjZXNz2gVpc2RpcikC2gJmbtoEbW9kZakAcg8A AAD6Ly9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi91dGlsLnB52g1fYWNj ZXNzX2NoZWNrKAAAAHMGAAAAGAQMAQL/ehx3aGljaC48bG9jYWxzPi5fYWNjZXNzX2NoZWNrTtoE UEFUSNoFd2luMzJyAQAAANoHUEFUSEVYVNoAYwEAAAAAAAAAAAAAAAIAAAAFAAAAMwAAAHMiAAAA gQB8AF0MfQGIAKAAoQCgAXwBoAChAKEBVgABAHECZABTAKkBTikC2gVsb3dlctoIZW5kc3dpdGip AtoCLjDaA2V4dKkB2gNjbWRyDwAAAHIQAAAA2gk8Z2VuZXhwcj5AAAAAcwQAAAACgCAAehh3aGlj aC48bG9jYWxzPi48Z2VuZXhwcj5jAQAAAAAAAAAAAAAAAgAAAAQAAAATAAAAcxQAAABnAHwAXQZ9 AYgAfAEXAJECcQJTAHIPAAAAcg8AAAByGQAAAHIcAAAAcg8AAAByEAAAANoKKys8bGlzdGNvbXA+ QwAAAHMCAAAAFAB6GXdoaWNoLjxsb2NhbHM+LjxsaXN0Y29tcD4pEXIIAAAAcgkAAADaB2Rpcm5h bWXaB2Vudmlyb27aA2dldNoHZGVmcGF0aNoFc3BsaXTaB3BhdGhzZXDaA3N5c9oIcGxhdGZvcm3a BmN1cmRpctoGaW5zZXJ02gNhbnnaA3NldNoIbm9ybWNhc2XaA2FkZNoEam9pbikLch0AAAByDgAA AHIJAAAAchEAAADaB3BhdGhleHTaBWZpbGVz2gRzZWVu2gNkaXLaB25vcm1kaXLaB3RoZWZpbGXa BG5hbWVyDwAAAHIcAAAAchAAAAByBwAAACAAAABzNAAAAAgIDAkKKysBBAEEARwBCisrAQorKwIO ARYCFgUIARQCBgQGAQgBDAEIAQorKwEIAQ4BCisrAQwBAv8CgAQCcgcAAABjAAAAAAAAAAAAAAAA AAAAAAQAAABDAAAAcxAAAAB0AGoBoAJkAXQAagOhAlMAKQN6s0dldCB0aGUgbGlzdCBvZiBkaXJl Y3RvcmllcyBvbiBhIHN5c3RlbSB0byBzZWFyY2ggZm9yIGV4ZWN1dGFibGUgcHJvZ3JhbXMuCisr ICAgIEl0IGlzIGVpdGhlciB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBvciBpZiBQQVRI IGlzIHVuZGVmaW5lZCB0aGUgdmFsdWUKKysgICAgb2Ygb3MuZGVmcGF0aC4KKysgICAgchIAAABO KQRyCAAAAHIhAAAAciIAAAByIwAAAHIPAAAAcg8AAAByDwAAAHIQAAAA2hJzeXN0ZW1fc2VhcmNo X3BhdGhUAAAAcwIAAAAQBXI2AAAAYwAAAAAAAAAAAAAAAAEAAAAKKysAAABDAAAAc1AAAAB6CHQA agFkAWQCjQFhAlcAbhkEAHQDeSEBAH0AAQB6DXQEZAN8ABYAgwEBAFcAWQBkBH0AfgBkBFMAZAR9 AH4AdwF3AHQFdAKDAQEAZARTACkFeiZJbml0aWFsaXplIHRoZSBpbnRlcm5hbCBNSU1FIGRhdGFi YXNlLkapAdoGc3RyaWN0eiZjb3VsZCBub3QgaW5pdGlhbGl6ZSBNSU1FIGRhdGFiYXNlOiAlc04p BtoJbWltZXR5cGVzWglNaW1lVHlwZXPaBm1pbWVkYtoJRXhjZXB0aW9u2glsb2dfZXJyb3LaD2Fk ZF9taW1lZGJfZGF0YSkB2gNtc2dyDwAAAHIPAAAAchAAAADaC2luaXRfbWltZWRiXwAAAHMQAAAA AgMQAQ4BDAEOAQiAAv4MA3I/AAAAYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHPyAQAAZAF8AGoA ZAI8AGQDfABqAGQEPABkBXwAagBkBjwAZAd8AGoAZAg8AGQJfABqAWQKKys8AHQCfABkC2QMgwMB AHQCfABkDWQOgwMBAHQCfABkD2QQgwMBAHQCfABkEWQEgwMBAHQCfABkEmQGgwMBAHQCfABkE2QU gwMBAHQCfABkFWQWgwMBAHQCfABkFWQXgwMBAHQCfABkGGQZgwMBAHQCfABkGGQagwMBAHQCfABk G2QcgwMBAHQCfABkHWQegwMBAHQCfABkH2QggwMBAHQCfABkIWQigwMBAHQCfABkIWQjgwMBAHQC fABkJGQlgwMBAHQCfABkJmQngwMBAHQCfABkKGQpgwMBAHQCfABkKmQrgwMBAHQCfABkLGQtgwMB AHQCfABkLmQvgwMBAHQCfABkMGQxgwMBAHQCfABkMmQzgwMBAHQCfABkNGQ1gwMBAHQCfABkNmQ3 gwMBAHQCfABkOGQ5gwMBAHQCfABkOmQ7gwMBAHQCfABkPGQ9gwMBAHQCfABkPmQ/gwMBAHQCfABk QGRBgwMBAHQCfABkQmRDgwMBAHQCfABkRGRFgwMBAHQCfABkRmRHgwMBAHQCfABkSGRJgwMBAHQC fABkSGRKgwMBAHQCfABkSGRLgwMBAHQCfABkTGRNgwMBAGROUwApT3o1QWRkIG1pc3NpbmcgZW5j b2RpbmdzIGFuZCBtaW1ldHlwZXMgdG8gTUlNRSBkYXRhYmFzZS7aBWJ6aXAyegQuYnoy2gRsem1h egUubHptYdoCeHp6Ay54etoEbHppcHoDLmx6eggudGFyLmJ6MnoFLnRiejL6EmFwcGxpY2F0aW9u L3gtbHpvcHoELmx6b/oRYXBwbGljYXRpb24veC1hZGZ6BC5hZGb6EWFwcGxpY2F0aW9uL3gtYXJq egQuYXJq+hJhcHBsaWNhdGlvbi94LWx6bWH6EGFwcGxpY2F0aW9uL3gteHp6GGFwcGxpY2F0aW9u L2phdmEtYXJjaGl2ZXoELmphcvoRYXBwbGljYXRpb24veC1yYXJ6BC5yYXJ6BC5jYnL6G2FwcGxp Y2F0aW9uL3gtN3otY29tcHJlc3NlZHoDLjd6egQuY2I3ehFhcHBsaWNhdGlvbi94LWNhYnoELmNh YnoRYXBwbGljYXRpb24veC1ycG16BC5ycG36HGFwcGxpY2F0aW9uL3gtZGViaWFuLXBhY2thZ2V6 BC5kZWL6EWFwcGxpY2F0aW9uL3gtYWNlegQuYWNlegQuY2Jh+hVhcHBsaWNhdGlvbi94LWFyY2hp dmV6Ai5hehNhcHBsaWNhdGlvbi94LWFsemlw+gQuYWx6+hFhcHBsaWNhdGlvbi94LWFyY3oELmFy Y/oTYXBwbGljYXRpb24veC1scnppcHoELmxyevoRYXBwbGljYXRpb24veC1saGF6BC5saGF6EWFw cGxpY2F0aW9uL3gtbHpoegQubHpo+hJhcHBsaWNhdGlvbi94LXJ6aXB6Ay5yevoRYXBwbGljYXRp b24veC16b296BC56b2/6EWFwcGxpY2F0aW9uL3gtZG1zegQuZG1zehxhcHBsaWNhdGlvbi94LXpp cC1jb21wcmVzc2VkegQuY3J4ehJhcHBsaWNhdGlvbi94LXNoYXJ6BS5zaGFy+hFhcHBsaWNhdGlv bi94LXRhcnoELmNidHoRYXBwbGljYXRpb24veC12aGR6BC52aGT6C2F1ZGlvL3gtYXBlegQuYXBl egthdWRpby94LXNobnoELnNobvoKKythdWRpby9mbGFjegUuZmxhY/oRYXBwbGljYXRpb24veC1j aG16BC5jaG16G2FwcGxpY2F0aW9uL3gtaXNvOTY2MC1pbWFnZXoELmlzb/oPYXBwbGljYXRpb24v emlwegQuY2J6egUuZXB1YnoELmFwa/oQYXBwbGljYXRpb24venBhcXoFLnpwYXFOKQNaDWVuY29k aW5nc19tYXBaCisrc3VmZml4X21hcNoMYWRkX21pbWV0eXBlKQFyOgAAAHIPAAAAcg8AAAByEAAA AHI9AAAAagAAAHNUAAAACisrAgorKwEKKysBCisrAQorKwEMAQwBDAEMAQwBDAEMAQwBDAEMAQwB DAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEQAXI9AAAA YwMAAAAAAAAAAAAAAAQAAAAFAAAAQwAAAHMiAAAAfAJ8AGoAZAEZAHYAfQN8AGoBfAF8AnwDZAKN AwEAZANTACkEej5BZGQgb3IgcmVwbGFjZSBhIG1pbWV0eXBlIHRvIGJlIHVzZWQgd2l0aCB0aGUg Z2l2ZW4gZXh0ZW5zaW9uLlRyNwAAAE4pAloJdHlwZXNfbWFwWghhZGRfdHlwZSkEcjoAAABaCG1p bWV0eXBl2glleHRlbnNpb25yOAAAAHIPAAAAcg8AAAByEAAAAHJbAAAAmAAAAHMEAAAADgMUAXJb AAAAYwAAAAAAAAAAAAAAAAAAAAABAAAAQAAAAHMQAAAAZQBaAWQAWgJkAVoDZAJTACkD2gtQYXRv b2xFcnJvcnoZUmFpc2VkIHdoZW4gZXJyb3JzIG9jY3VyLk4pBNoIX19uYW1lX1/aCisrX19tb2R1 bGVfX9oMX19xdWFsbmFtZV9f2gdfX2RvY19fcg8AAAByDwAAAHIPAAAAchAAAAByXQAAAJ8AAABz BgAAAAgABAEEAXJdAAAAYwAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHMoAAAAZQBaAWQAWgJkAVoD ZAJkA4QAWgRkBGQFhABaBWQGZAeEAFoGZAhTACkJ2ghtZW1vaXplZHqsRGVjb3JhdG9yIHRoYXQg Y2FjaGVzIGEgZnVuY3Rpb24ncyByZXR1cm4gdmFsdWUgZWFjaCB0aW1lIGl0IGlzIGNhbGxlZC4K KysgICAgSWYgY2FsbGVkIGxhdGVyIHdpdGggdGhlIHNhbWUgYXJndW1lbnRzLCB0aGUgY2FjaGVk IHZhbHVlIGlzIHJldHVybmVkLCBhbmQKKysgICAgbm90IHJlLWV2YWx1YXRlZC5jAgAAAAAAAAAA AAAAAgAAAAIAAABDAAAAcxAAAAB8AXwAXwBpAHwAXwFkAVMAKQJ6GFNldCBmdW5jIGFuZCBpbml0 IGNhY2hlLk4pAtoEZnVuY9oFY2FjaGUpAtoEc2VsZnJjAAAAcg8AAAByDwAAAHIQAAAA2ghfX2lu aXRfX6kAAABzBAAAAAYCCisrAXoRbWVtb2l6ZWQuX19pbml0X19jAQAAAAAAAAAAAAAAAwAAAAgA AABHAAAAc1IAAAB6BnwAagB8ARkAVwBTAAQAdAF5GwEAAQABAHwAagJ8AY4ABAB8AGoAfAE8AH0C fAIGAFkAUwAEAHQDeSgBAAEAAQB8AGoCfAGOAAYAWQBTAHcAKQJ6fFRyeSB0byBmaW5kIHJlc3Vs dCBmb3IgZnVuY3Rpb24gYXJndW1lbnRzIGluIGxvY2FsIGNhY2hlIG9yCisrICAgICAgICBleGVj dXRlIHRoZSBmdW5jdGlvbiBhbmQgZmlsbCB0aGUgY2FjaGUgd2l0aCB0aGUgcmVzdWx0Lk4pBHJk AAAA2ghLZXlFcnJvcnJjAAAA2glUeXBlRXJyb3IpA3JlAAAA2gRhcmdz2gV2YWx1ZXIPAAAAcg8A AAByEAAAANoIX19jYWxsX1+uAAAAcxAAAAACAwwBDAEUAQgBDAEOAwL9ehFtZW1vaXplZC5fX2Nh bGxfX2MBAAAAAAAAAAAAAAABAAAAAQAAAEMAAABzCAAAAHwAagBqAVMAKQJ6IFJldHVybiB0aGUg ZnVuY3Rpb24ncyBkb2NzdHJpbmcuTikCcmMAAAByYQAAACkBcmUAAAByDwAAAHIPAAAAchAAAADa CF9fcmVwcl9fuwAAAHMCAAAACAJ6EW1lbW9pemVkLl9fcmVwcl9fTikHcl4AAAByXwAAAHJgAAAA cmEAAAByZgAAAHJrAAAAcmwAAAByDwAAAHIPAAAAcg8AAAByEAAAAHJiAAAApAAAAHMKKysAAAAI AAQBCAQIBQwNcmIAAAD6BXV0Zi04YwIAAAAAAAAAAAAAAAMAAAAEAAAAQwAAAHMiAAAAdABqAXwA dABqAmQBjQKgA6EAZAIZAH0CfAKgBHwBoQFTACkEeiNSZXR1cm4gZGVjb2RlZCBvdXRwdXQgZnJv bSBjb21tYW5kLikB2gZzdGRvdXRyAQAAAE4pBdoKKytzdWJwcm9jZXNz2gVQb3BlbtoEUElQRdoL Y29tbXVuaWNhdGXaBmRlY29kZSkDch0AAADaCGVuY29kaW5n2gRkYXRhcg8AAAByDwAAAHIQAAAA 2ghiYWNrdGlja8AAAABzBAAAABgCCisrAXJ2AAAAYwIAAAAAAAAAAAAAAAUAAAAIAAAASwAAAHPK AAAAfAFkAWsFchB0AGQCZAOgAXQCdAN8AIMCoQEWAIMBAQB8AnIwfAFkAWsFciZ0AGQEZAWgAWQG ZAeEAHwCoAShAEQAgwGhARYAgwEBAHwCoAVkCKEBcjBkA6ABfAChAX0AfAFkCWsAclp0BnQHaghk CisrgwKPFn0DfAN8AmQLPAB0CWoKKyt8AGYBaQB8AqQBjgF9BFcAZAwEAAQAgwMBAHwEUwAxAHNT dwEBAAEAAQBZAAEAfARTAHQJagorK3wAZgFpAHwCpAGOAX0EfARTACkNekRSdW4gY29tbWFuZCB3 aXRob3V0IGVycm9yIGNoZWNraW5nLgorKyAgICBAcmV0dXJuOiBjb21tYW5kIHJldHVybiBjb2Rl cgEAAAB6CisrcnVubmluZyAlc/oBIHoLICAgIHdpdGggJXP6AiwgYwEAAAAAAAAAAAAAAAMAAAAG AAAAcwAAAHMoAAAAgQB8AF0PXAJ9AX0CZAB8AXQAdAF8AoMBgwFmAhYAVgABAHECZAFTACkCegUl cz0lc04pAtoLc2hlbGxfcXVvdGXaA3N0cikDchoAAADaAWvaAXZyDwAAAHIPAAAAchAAAAByHgAA AM8AAABzCAAAAAKABAAGARz/ehZydW4uPGxvY2Fscz4uPGdlbmV4cHI+2gVzaGVsbHIDAAAA2gJ3 YnJuAAAATikL2ghsb2dfaW5mb3IuAAAA2gNtYXDaDnNoZWxsX3F1b3RlX2502gVpdGVtc3IiAAAA 2gRvcGVucggAAADaB2Rldm51bGxybwAAANoEY2FsbCkFch0AAADaCXZlcmJvc2l0edoGa3dhcmdz coQAAADaA3Jlc3IPAAAAcg8AAAByEAAAANoDcnVuxgAAAHMmAAAACAUYAQQBCAEOAQYBDP8KKysC CisrAggBDgIIARQBCisr/gQFEPsEBRL/BAFyiQAAAKkBcgEAAABjAgAAAAAAAAAAAAAABQAAAAQA AABLAAAAczAAAAB0AHwAZgFpAHwCpAGOAX0DfAN8AXYBchZkAXwAfANmAhYAfQR0AXwEgwGCAXwD UwApA3orUnVuIGNvbW1hbmQgYW5kIHJhaXNlIFBhdG9vbEVycm9yIG9uIGVycm9yLnotQ29tbWFu ZCBgJXMnIHJldHVybmVkIG5vbi16ZXJvIGV4aXQgc3RhdHVzICVkTikCcokAAAByXQAAACkFch0A AADaBnJldF9va3KHAAAA2gdyZXRjb2Rlcj4AAAByDwAAAHIPAAAAchAAAADaC3J1bl9jaGVja2Vk 3gAAAHMKKysAAAAQAggBDAEIAQQBco0AAABjAQAAAAAAAAAAAAAAAwAAAAIAAABDAAAAczwAAAB0 AHwAgwFcAn0BfQJ8AWQBdQByEHQBfACDAVwCfQF9AnwBZAF1AXMafAJkAXUAcxpKAIIBfAF8AmYC UwApAnrFR3Vlc3MgdGhlIE1JTUUgdHlwZSBvZiBnaXZlbiBmaWxlbmFtZSB1c2luZyBmaWxlKDEp IGFuZCBpZiB0aGF0CisrICAgIGZhaWxzIGJ5IGxvb2tpbmcgYXQgdGhlIGZpbGVuYW1lIGV4dGVu c2lvbiB3aXRoIHRoZSBQeXRob24gbWltZXR5cGVzCisrICAgIG1vZHVsZS4KKysKKysgICAgVGhl IHJlc3VsdCBvZiB0aGlzIGZ1bmN0aW9uIGlzIGNhY2hlZC4KKysgICAgTikC2g9ndWVzc19taW1l X2ZpbGXaEWd1ZXNzX21pbWVfbWltZWRiqQPaCGZpbGVuYW1l2gRtaW1lcnQAAAByDwAAAHIPAAAA chAAAADaCisrZ3Vlc3NfbWltZecAAABzCisrAAAADAgIAQwBFAEIAXKTAAAAehBhcHBsaWNhdGlv bi9nemlwehNhcHBsaWNhdGlvbi94LWJ6aXAyehZhcHBsaWNhdGlvbi94LWNvbXByZXNzckcAAAB6 EmFwcGxpY2F0aW9uL3gtbHppcHJIAAAAKQbaBGd6aXByQAAAANoIY29tcHJlc3NyQQAAAHJDAAAA ckIAAABjAQAAAAAAAAAAAAAAAwAAAAQAAABDAAAAcxgAAABnAHwAXQhcAn0BfQJ8AnwBZgKRAnEC UwByDwAAAHIPAAAAKQNyGgAAAFoEX2tleVoEX3ZhbHIPAAAAcg8AAAByEAAAAHIfAAAA/gAAAHMC AAAAGAByHwAAAHKUAAAAehJhcHBsaWNhdGlvbi94LWd6aXBjAQAAAAAAAAAAAAAAAwAAAAQAAABD AAAAc0YAAABkAVwCfQF9AnQAZAJ1AXIRdABqAXwAZANkBI0CXAJ9AX0CfAF0AnYBch98AnQDdgBy H3QEfAIZAH0BZAJ9AnwBfAJmAlMAKQV6TUd1ZXNzIE1JTUUgdHlwZSBmcm9tIGdpdmVuIGZpbGVu YW1lLgorKyAgICBAcmV0dXJuOiB0dXBsZSAobWltZSwgZW5jb2RpbmcpCisrICAgIKkCTk5ORnI3 AAAAKQVyOgAAAFoKKytndWVzc190eXBlcgUAAAByBgAAANoNRW5jb2RpbmcyTWltZXKQAAAAcg8A AAByDwAAAHIQAAAAco8AAAADAQAAcw4AAAAIBAgBEgEQAQgDBAEIAXKPAAAAYwEAAAAAAAAAAAAA AAorKwAAAAgAAABDAAAAcxQBAABkAVwCfQF9AnQAagGgAnwAoQFcAn0DfQR8BKADoQBkAnYAchZ8 AXwCZgJTAHQAagGgBHwAoQFyNHQFZAODAX0FfAVyNHQGfAV8AIMCXAJ9AX0CfAFkBHUAcjR0B3wF fACDAn0BZAR9AnwBdAh2AHKGfAVkBWQGZAd8AGcFfQZ6C3QJfAaDAaAKKyuhAKALZAihAX0HVwBu DQQAdAx5VwEAAQABAHwBfAJmAgYAWQBTAHcAfAdkCRkAoAtkCisrZAuhAmQJGQB9CHwIZAx2AHNq fAh0CHYAcnx0DXwAgwFcAn0IfQl8CHQOdgByeHwIfQF8CX0CfAF8AmYCUwB8CHQOdgByhnwIfQF0 D3wHgwF9AnwBfAJmAlMAKQ16pERldGVybWluZSBNSU1FIHR5cGUgb2YgZmlsZW5hbWUgd2l0aCBm aWxlKDEpOgorKyAgICAgKGEpIHVzaW5nIGBmaWxlIC0tbWltZWAKKysgICAgIChiKSB1c2luZyBg ZmlsZWAgYW5kIGxvb2sgdGhlIHJlc3VsdCBzdHJpbmcKKysgICAgQHJldHVybjogdHVwbGUgKG1p bWUsIGVuY29kaW5nKQorKyAgICBylgAAACkBck4AAADaBGZpbGVO+gctLWJyaWVmegYtLW1pbWV6 DC0tdW5jb21wcmVzc/oBO3IBAAAAcncAAAByAwAAACkCehNhcHBsaWNhdGlvbi94LWVtcHR5ehhh cHBsaWNhdGlvbi9vY3RldC1zdHJlYW0pEHIIAAAAcgkAAADaCHNwbGl0ZXh0chcAAADaBmlzZmls ZdoMZmluZF9wcm9ncmFt2hRndWVzc19taW1lX2ZpbGVfbWltZdoUZ3Vlc3NfbWltZV9maWxlX3Rl eHTaDU1pbWUyRW5jb2RpbmdydgAAANoFc3RyaXByJAAAANoHT1NFcnJvcnKPAAAAcgUAAADaFmdl dF9maWxlX21pbWVfZW5jb2RpbmcpCisrcpEAAABykgAAAHJ0AAAA2gRiYXNlchsAAADaCWZpbGVf cHJvZ3IdAAAAWghvdXRwYXJ0c1oFbWltZTJaCWVuY29kaW5nMnIPAAAAcg8AAAByEAAAAHKOAAAA EgEAAHM+AAAACAYQAQwBCAIMAQgBBAEOAQgBCisrAQQBCAEOAgIBFgEMAQwCAv4UAwgFBgEC/wwF CAEEAQQBCAQI/QQBCAEIAXKOAAAAYwIAAAAAAAAAAAAAAAUAAAAIAAAAQwAAAHNQAAAAZAFcAn0C fQN8AGQCZAN8AWcEfQR6CHQAfASDAaABoQB9AlcAbgkEAHQCeRsBAAEAAQBZAG4BdwB8AnQDdgFy JGQBXAJ9An0DfAJ8A2YCUwApBXpoRGV0ZXJtaW5lIE1JTUUgdHlwZSBvZiBmaWxlbmFtZSB3aXRo IGZpbGUoMSkgYW5kIC0tbWltZSBvcHRpb24uCisrICAgIEByZXR1cm46IHR1cGxlIChtaW1lLCBl bmNvZGluZykKKysgICAgcpYAAABymQAAAHoLLS1taW1lLXR5cGVOKQRydgAAAHKhAAAAcqIAAABy BQAAACkFcqUAAABykQAAAHKSAAAAcnQAAAByHQAAAHIPAAAAcg8AAAByEAAAAHKeAAAAQAEAAHMU AAAACAQMAQIBEAEMAQQCAv4IAwgBCAFyngAAAGMBAAAAAAAAAAAAAAAEAAAABQAAAEMAAABzTAAA AHwARABdIX0BfAGgAGQBoQFEAF0ZfQJ8AqABZAKhAXIifAKgAGQDoQFkBBkAoAKhAH0DdAOgBHwD oQECAAEAAgABAFMAcQlxAmQFUwApBnpER2V0IGVuY29kaW5nIHZhbHVlIGZyb20gc3BsaXR0ZWQg b3V0cHV0IG9mIGZpbGUgLS1taW1lIC0tdW5jb21wcmVzcy5ydwAAAHoUY29tcHJlc3NlZC1lbmNv ZGluZz36AT1yAwAAAE4pBXIkAAAA2gorK3N0YXJ0c3dpdGhyoQAAAHKgAAAAciIAAAApBNoFcGFy dHPaBHBhcnTaB3N1YnBhcnRykgAAAHIPAAAAcg8AAAByEAAAAHKjAAAAUAEAAHMQAAAACAIOAQor KwESARIBAv4C/wQEcqMAAAB6EjctemlwIGFyY2hpdmUgZGF0YXJKAAAAehBBQ0UgYXJjaGl2ZSBk YXRhckwAAAB6DkFtaWdhIERPUyBkaXNrckUAAAB6EEFSSiBhcmNoaXZlIGRhdGFyRgAAAHoVYnpp cDIgY29tcHJlc3NlZCBkYXRhegxjcGlvIGFyY2hpdmV6EmFwcGxpY2F0aW9uL3gtY3Bpb3oSQVND SUkgY3BpbyBhcmNoaXZlehVEZWJpYW4gYmluYXJ5IHBhY2thZ2VySwAAAHoUZ3ppcCBjb21wcmVz c2VkIGRhdGF6FExaTUEgY29tcHJlc3NlZCBkYXRhehVMUlpJUCBjb21wcmVzc2VkIGRhdGFyUAAA AHoUbHpvcCBjb21wcmVzc2VkIGRhdGFyRAAAAHoeTWljcm9zb2Z0IENhYmluZXQgYXJjaGl2ZSBk YXRheiFhcHBsaWNhdGlvbi92bmQubXMtY2FiLWNvbXByZXNzZWR6EFJBUiBhcmNoaXZlIGRhdGFy SQAAAHoEUlBNIHokYXBwbGljYXRpb24veC1yZWRoYXQtcGFja2FnZS1tYW5hZ2VyehFQT1NJWCB0 YXIgYXJjaGl2ZXJVAAAAehJ4eiBjb21wcmVzc2VkIGRhdGFyWQAAAHJSAAAAck0AAAByUQAAAHJP AAAAclMAAAByVAAAAHJWAAAAclcAAAByWAAAAHJaAAAAKQ16EFppcCBhcmNoaXZlIGRhdGF6D2Nv bXByZXNzJ2QgZGF0YXoUbHppcCBjb21wcmVzc2VkIGRhdGF6FHJ6aXAgY29tcHJlc3NlZCBkYXRh ehJjdXJyZW50IGFyIGFyY2hpdmV6BExIYSB6EEFSQyBhcmNoaXZlIGRhdGF6EFpvbyBhcmNoaXZl IGRhdGF6EERNUyBhcmNoaXZlIGRhdGH6Dk1vbmtleSdzIEF1ZGlvehlGTEFDIGF1ZGlvIGJpdHN0 cmVhbSBkYXRhehhNUyBXaW5kb3dzIEh0bWxIZWxwIERhdGF6C1pQQVEgc3RyZWFtYwIAAAAAAAAA AAAAAAYAAAAIAAAAQwAAAHNgAAAAfABkAXwBZwN9AnoIdAB8AoMBoAGhAH0DVwBuCisrBAB0AnkX AQABAAEAWQBkAlMAdwB0A6AEoQBEAF0RXAJ9BH0FfAOgBXwEoQFyLXwFdAZ2AHItfAUCAAEAUwBx HGQCUwApA3otRGV0ZXJtaW5lIE1JTUUgdHlwZSBvZiBmaWxlbmFtZSB3aXRoIGZpbGUoMSkucpkA AABOKQdydgAAAHKhAAAAcqIAAADaDUZpbGVUZXh0Mk1pbWVyggAAAHKnAAAAcgUAAAApBnKlAAAA cpEAAAByHQAAANoGb3V0cHV02gdtYXRjaGVycpIAAAByDwAAAHIPAAAAchAAAABynwAAAHwBAABz FgAAAAorKwICARABDAEGAgL+EAQSAQgBAoAEAXKfAAAAVGMCAAAAAAAAAAAAAAACAAAABAAAAEMA AABzVgAAAHQAagGgAnwAoQFzDHQDZAF8ABYAgwGCAXQAoAR8AHQAagWhAnMZdANkAnwAFgCDAYIB fAFyJ3QAagGgBnwAoQFzKXQDZAN8ABYAgwGCAWQEUwBkBFMAKQV6NUVuc3VyZSB0aGF0IGdpdmVu IGZpbGVuYW1lIGlzIGEgdmFsaWQsIGV4aXN0aW5nIGZpbGUuehdmaWxlIGAlcycgd2FzIG5vdCBm b3VuZHoZZmlsZSBgJXMnIGlzIG5vdCByZWFkYWJsZXoSYCVzJyBpcyBub3QgYSBmaWxlTikHcggA AAByCQAAAHIKKysAAAByXQAAAHILAAAA2gRSX09LcpwAAAApAnKRAAAA2glvbmx5ZmlsZXNyDwAA AHIPAAAAchAAAADaF2NoZWNrX2V4aXN0aW5nX2ZpbGVuYW1liwEAAHMOAAAADAIMAQ4BDAEQAQwB CP9ysQAAAGMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzHgAAAHQAoAF8AHQAagKhAnMNdANkAXwA FgCDAYIBZAJTACkDeitFbnN1cmUgdGhhdCB0aGUgZ2l2ZW4gZmlsZW5hbWUgaXMgd3JpdGFibGUu ehlmaWxlIGAlcycgaXMgbm90IHdyaXRhYmxlTikEcggAAAByCwAAANoEV19PS3JdAAAAqQFykQAA AHIPAAAAcg8AAAByEAAAANoXY2hlY2tfd3JpdGFibGVfZmlsZW5hbWWVAQAAcwYAAAAOAgwBBP9y tAAAAGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzHAAAAHQAagGgAnwAoQFyDHQDZAF8ABYAgwGC AWQCUwApA3orQ2hlY2sgdGhhdCBmaWxlbmFtZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LnojY2Fu bm90IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlIGAlcydOKQRyCAAAAHIJAAAAcgorKwAAAHJdAAAA crMAAAByDwAAAHIPAAAAchAAAADaEmNoZWNrX25ld19maWxlbmFtZZsBAABzBgAAAAwCDAEE/3K1 AAAAYwEAAAAAAAAAAAAAAAIAAAAFAAAAQwAAAHMmAAAAfABzBnQAZAGDAYIBfABEAF0IfQF0AXwB ZAJkA40CAQBxCGQEUwApBXpDQ2hlY2sgdGhhdCBmaWxlIGxpc3QgaXMgbm90IGVtcHR5IGFuZCBj b250YWlucyBvbmx5IGV4aXN0aW5nIGZpbGVzLnopY2Fubm90IGNyZWF0ZSBhcmNoaXZlIHdpdGgg ZW1wdHkgZmlsZWxpc3RGKQFysAAAAE4pAnJdAAAAcrEAAAApAtoJZmlsZW5hbWVzcpEAAAByDwAA AHIPAAAAchAAAADaFmNoZWNrX2FyY2hpdmVfZmlsZWxpc3ShAQAAcworKwAAAAQCCAEIAQ4BBP9y twAAAGMCAAAAAAAAAAAAAAAEAAAACisrAAAAQwAAAHOAAAAAegh0AKABfAChAWoCfQJXAG4KKysE AHQDeRIBAAEAAQBZAGQBUwB3AHwCfAFAAHM+egt0AKAEfAB8AXwCQgChAgEAVwBkAVMABAB0A3k9 AQB9AwEAeg90BWQCfAB8A2YCFgCDAQEAVwBZAGQBfQN+A2QBUwBkAX0DfgN3AXcAZAFTACkDejVT ZXQgbW9kZSBmbGFncyBmb3IgZ2l2ZW4gZmlsZW5hbWUgaWYgbm90IGFscmVhZHkgc2V0Lk56JWNv dWxkIG5vdCBzZXQgbW9kZSBmbGFncyBmb3IgYCVzJzogJXMpBnIIAAAA2gVsc3RhdNoHc3RfbW9k ZXKiAAAA2gVjaG1vZHI8AAAAKQRykQAAANoFZmxhZ3NyDgAAAHI+AAAAcg8AAAByDwAAAHIQAAAA 2ghzZXRfbW9kZakBAABzGgAAAAICEAEMAQYCAv4IAwIBFgEOAR4BCIAC/wT9crwAAABjAQAAAAAA AAAAAAAAAQAAAAMAAABDAAAAcwwAAAB0AGoBoAJ8AKEBUwApAnoqUmV0dXJuIGZpbGUgc2l6ZSBp biBCeXRlcywgb3IgLTEgb24gZXJyb3IuTikDcggAAAByCQAAANoHZ2V0c2l6ZXKzAAAAcg8AAABy DwAAAHIQAAAA2gxnZXRfZmlsZXNpemW3AQAAcwIAAAAMAnK+AAAAYwIAAAAAAAAAAAAAAAIAAAAG AAAAQwAAAHPqAAAAfABkAWsAcgh0AGQCgwGCAXwAZANrAHIVZAR0AaACZAV8AHwBoQMWAFMAfABk BmsAciRkB3QBoAJkBXwAZAMaAHwBoQMWAFMAfABkCGsAcjVkB3QBoAJkCXQDfACDAWQDGwB8AaED FgBTAHwAZAorK2sAckZkC3QBoAJkCXQDfACDAWQIGwB8AaEDFgBTAHwAZAxrAHJXZAt0AaACZA10 A3wAgwFkCBsAfAGhAxYAUwB8AGQOawByaGQPdAGgAmQJdAN8AIMBZAwbAHwBoQMWAFMAZA90AaAC ZA10A3wAgwFkDBsAfAGhAxYAUwApEXpcUmV0dXJuIGh1bWFuIHJlcHJlc2VudGF0aW9uIG9mIGJ5 dGVzIGIuIEEgbmVnYXRpdmUgbnVtYmVyIG9mIGJ5dGVzCisrICAgIHJhaXNlcyBhIHZhbHVlIGVy cm9yLnIBAAAAehxJbnZhbGlkIG5lZ2F0aXZlIGJ5dGUgbnVtYmVyaQAEAAB6AyVzQnoCJWRpACgA AHoEJXNLQmkAABAAegQlLjJmaQAAoAB6BCVzTUJpAAAAQHoEJS4xZmwDAAAAAAAAAAorKwB6BCVz R0JOKQTaCisrVmFsdWVFcnJvctoGbG9jYWxl2gZmb3JtYXTaBWZsb2F0KQLaAWLaCGdyb3VwaW5n cg8AAAByDwAAAHIQAAAA2gdzdHJzaXplvAEAAHMeAAAACAMIAQgBEgEIARYBCAEaAQgBGgEIARoB CAEaARoBcsUAAABjAQAAAAAAAAAAAAAAAQAAAAUAAABDAAAAcxAAAAB0AGoBZAFkAnwAZAONA1MA KQV6LFJldHVybiBhIHRlbXBvcmFyeSBkaXJlY3RvcnkgZm9yIGV4dHJhY3Rpb24uchUAAABaB1Vu cGFja1+pA9oGc3VmZml42gZwcmVmaXhyMgAAAE4pAtoIdGVtcGZpbGXaB21rZHRlbXApAXIyAAAA cg8AAAByDwAAAHIQAAAA2gZ0bXBkaXLQAQAA8wIAAAAQAnLLAAAA2gR0ZW1wYwMAAAAAAAAAAAAA AAMAAAAFAAAAQwAAAHMUAAAAdABqAXwCfAF8AGQBjQNkAhkAUwApBHoYUmV0dXJuIGEgdGVtcG9y YXJ5IGZpbGUucsYAAAByAwAAAE4pAnLJAAAA2gdta3N0ZW1wKQNyMgAAAHLIAAAAcscAAAByDwAA AHIPAAAAchAAAADaB3RtcGZpbGXVAQAAcwIAAAAUAnLPAAAAYwEAAAAAAAAAAAAAAAEAAAAFAAAA QwAAAHMiAAAAdABqAWQBawJyCXQCfACDAVMAZAJ8AKADZANkBKECFgBTACkGen9RdW90ZSBhbGwg c2hlbGwgbWV0YWNoYXJhY3RlcnMgaW4gZ2l2ZW4gc3RyaW5nIHZhbHVlIHdpdGggc3Ryb25nCisr ICAgIChpZS4gc2luZ2xlKSBxdW90ZXMsIGhhbmRsaW5nIHRoZSBzaW5nbGUgcXVvdGUgZXNwZWNp YWxseS7aAm50egQnJXMn+gEnegQnXCcnTikEcggAAAByNQAAAHKBAAAA2gdyZXBsYWNlqQFyagAA AHIPAAAAcg8AAAByEAAAAHJ5AAAA2gEAAHMGAAAACisrAwgBEAFyeQAAAGMBAAAAAAAAAAAAAAAB AAAAAgAAAEMAAABzFAAAAGQBfAB2AHIIZAJ8ABYAUwB8AFMAKQR6WVF1b3RlIGFyZ3VtZW50IGZv ciBXaW5kb3dzIHN5c3RlbS4gTW9kZWxlZCBhZnRlciBkaXN0dXRpbHMKKysgICAgX250X3F1b3Rl X2FyZ3MoKSBmdW5jdGlvbi5ydwAAAHoEIiVzIk5yDwAAAHLTAAAAcg8AAAByDwAAAHIQAAAAcoEA AADiAQAAcwYAAAAIAwgBBAFygQAAAGMBAAAAAAAAAAAAAAABAAAABQAAAEMAAABzGAAAAHQAagGg AnQAagGgA3wAoQGhAWQBGQBTACkDejhSZXR1cm4gdGhlIGJhc2VuYW1lIHdpdGhvdXQgZXh0ZW5z aW9uIG9mIGdpdmVuIGZpbGVuYW1lLnIBAAAATikEcggAAAByCQAAAHKbAAAA2ghiYXNlbmFtZXKz AAAAcg8AAAByDwAAAHIQAAAA2ghzdHJpcGV4dOoBAADzAgAAABgCctUAAAByFQAAAGMDAAAAAAAA AAAAAAAGAAAABQAAAEMAAABzcgAAAHQAagGgAnwAdAN8AYMBoQJ9A3QAagGgBHwDfAIXAKEBcjVk AX0EZAJ8A3wEZgIWAH0FdABqAaAEfAV8AhcAoQFyM2QCfAN8BGYCFgB9BXwEZAE3AH0EdABqAaAE fAV8AhcAoQFzIXwFfQN8A3wCFwBTACkEekRHZXQgb3V0cHV0IGZpbGVuYW1lIGlmIGFyY2hpdmUg aXMgaW4gYSBzaW5nbGUgZmlsZSBmb3JtYXQgbGlrZSBnemlwLnIDAAAAegQlcyVkTikFcggAAABy CQAAAHIuAAAActUAAAByCisrAAAAKQbaCWRpcmVjdG9yedoHYXJjaGl2ZXJcAAAAWgdvdXRmaWxl 2gFp2gduZXdmaWxlcg8AAAByDwAAAHIQAAAA2hJnZXRfc2luZ2xlX291dGZpbGXvAQAAcxQAAAAS AhABBAIMARABDAEIARD+BAMIAXLbAAAAYwIAAAAAAAAAAAAAAAIAAAAFAAAAQwAAAPMSAAAAdABk AXwAfAFkAo0DAQBkA1MAKQR6OlByaW50IGVycm9yIG1lc3NhZ2UgdG8gc3RkZXJyIChvciBhbnkg b3RoZXIgZ2l2ZW4gb3V0cHV0KS56DXBhdG9vbCBlcnJvcjqpAXKYAAAATqkB2gVwcmludKkCcj4A AADaA291dHIPAAAAcg8AAAByEAAAAHI8AAAA/QEAAPMCAAAAEgJyPAAAAGMCAAAAAAAAAAAAAAAC AAAABQAAAEMAAABy3AAAACkEejlQcmludCBpbmZvIG1lc3NhZ2UgdG8gc3Rkb3V0IChvciBhbnkg b3RoZXIgZ2l2ZW4gb3V0cHV0KS56B3BhdG9vbDpy3QAAAE5y3gAAAHLgAAAAcg8AAAByDwAAAHIQ AAAAcn8AAAACAgAAcuIAAAByfwAAAGMEAAAAAAAAAAAAAAAEAAAABwAAAEMAAABztAAAAHQAdAFq AnwAZAGNAgEAdABkAnQDdARqBXQEagZkA40CFgB8AGQBjQIBAHwBZAR1AHIfdAegCKEAZAUZAH0B fAJkBHUAcil0B6AIoQBkBhkAfQJ0AHwBfAJ8AGQBjQMBAHwDZAR1AHI6dAegCKEAZAcZAH0DdAmg CisrfAF8AnwDZAR8AKEFAQB0C3wAZAiNAQEAdAx8AGQIjQEBAHQAdAFqAmQJdARqBRYAfABkAY0D AQBkBFMAKQorK3o5UHJpbnQgaW50ZXJuYWwgZXJyb3IgbWVzc2FnZSAob3V0cHV0IGRlZmF1bHRz IHRvIHN0ZGVycikuct0AAABhVQEAACoqKioqKioqKiogT29wcywgSSBkaWQgaXQgYWdhaW4uICoq KioqKioqKioqKioKKysKKytZb3UgaGF2ZSBmb3VuZCBhbiBpbnRlcm5hbCBlcnJvciBpbiAlKGFw cClzLiBQbGVhc2Ugd3JpdGUgYSBidWcgcmVwb3J0CisrYXQgJSh1cmwpcyBhbmQgaW5jbHVkZSBh dCBsZWFzdCB0aGUgaW5mb3JtYXRpb24gYmVsb3c6CisrCisrTm90IGRpc2Nsb3Npbmcgc29tZSBv ZiB0aGUgaW5mb3JtYXRpb24gYmVsb3cgZHVlIHRvIHByaXZhY3kgcmVhc29ucyBpcyBvay4KKytJ IHdpbGwgdHJ5IHRvIGhlbHAgeW91IG5vbmV0aGVsZXNzLCBidXQgeW91IGhhdmUgdG8gZ2l2ZSBt ZSBzb21ldGhpbmcKKytJIGNhbiB3b3JrIHdpdGggOykgLgorKykC2gNhcHDaA3VybE5yAQAAAHID AAAA6QIAAACpAXLhAAAAejEqKioqKioqKiAlcyBpbnRlcm5hbCBlcnJvciwgb3ZlciBhbmQgb3V0 ICoqKioqKioqKQ1y3wAAAHIIAAAA2gdsaW5lc2Vw2gRkaWN0cgQAAADaB0FwcE5hbWXaCisrU3Vw cG9ydFVybHImAAAA2ghleGNfaW5mb9oJdHJhY2ViYWNr2g9wcmludF9leGNlcHRpb27aDnByaW50 X2FwcF9pbmZv2hFwcmludF9sb2NhbGVfaW5mbykEcuEAAADaBWV0eXBlWgZldmFsdWXaAnRicg8A AAByDwAAAHIQAAAA2hJsb2dfaW50ZXJuYWxfZXJyb3IHAgAAcyYAAAAOAgQBDggC+AIIBvgICQwB CAEMAQ4BCAEMARIBCisrAQorKwEGAQorKwEKKyv/cvIAAABjAgAAAAAAAAAAAAAAAwAAAAYAAABD AAAAcy4AAAB0AKABfAChAX0CfAJkAXUBchV0AnwAZAJ0A3wCgwF8AWQDjQQBAGQBUwBkAVMAKQR6 MklmIGdpdmVuIGVudmlyb25tZW50IGtleSBpcyBkZWZpbmVkLCBwcmludCBpdCBvdXQuTnKmAAAA ct0AAAApBHIIAAAA2gZnZXRlbnZy3wAAANoEcmVwcikD2gNrZXly4QAAAHJqAAAAcg8AAAByDwAA AHIQAAAA2g5wcmludF9lbnZfaW5mbyACAABzCAAAAAorKwIIARgBBP9y9gAAAGMBAAAAAAAAAAAA AAACAAAABQAAAEMAAABzGgAAAGQBRABdCH0BdAB8AXwAZAKNAgEAcQJkA1MAKQR6ElByaW50IGxv Y2FsZSBpbmZvLikE2ghMQU5HVUFHRdoGTENfQUxM2ghMQ19DVFlQRdoETEFOR3LmAAAATikBcvYA AAApAnLhAAAAcvUAAAByDwAAAHIPAAAAchAAAABy7wAAACcCAABzBgAAAAgCDgEE/3LvAAAAYwEA AAAAAAAAAAAAAAIAAAAFAAAAQwAAAHNiAAAAdABkAXwAZAKNAgEAdAB0AWoCfABkAo0CAQB0AGQD dANqBHQDagVkBJwCFgB8AGQCjQIBAHQGdAegB6EAgwF9AXQAZAV8AXwAZAKNAwEAdABkBnQDagh8 AGQCjQMBAGQHUwApCHo+UHJpbnQgc3lzdGVtIGFuZCBhcHBsaWNhdGlvbiBpbmZvIChvdXRwdXQg ZGVmYXVsdHMgdG8gc3RkZXJyKS56DFN5c3RlbSBpbmZvOnLdAAAAeiJQeXRob24gJSh2ZXJzaW9u KXMgb24gJShwbGF0Zm9ybSlzKQLaB3ZlcnNpb25yJwAAAHoLTG9jYWwgdGltZTp6CHN5cy5hcmd2 TikJct8AAAByBAAAANoDQXBwciYAAABy+wAAAHInAAAA2gdzdHJ0aW1l2gR0aW1l2gRhcmd2KQJy 4QAAAFoFc3RpbWVyDwAAAHIPAAAAchAAAABy7gAAAC0CAABzFAAAAAwCDgEEAQwBAv8CAQb/DAIO ARQBcu4AAABjAQAAAAAAAAAAAAAAAQAAAAYAAABDAAAAcxgAAAB0AKABZAF0AKACfAChAaECdAOD ABcAUwApA3ofUmV0dXJuIElTTyA4NjAxIGZvcm1hdHRlZCB0aW1lLnoRJVktJW0tJWQgJUg6JU06 JVNOKQRy/gAAANoIc3RyZnRpbWXaCWxvY2FsdGltZdoLc3RydGltZXpvbmUpAdoBdHIPAAAAcg8A AAByEAAAAHL9AAAAOAIAAHMGAAAAEAIEAQT/cv0AAABjAAAAAAAAAAAAAAAAAQAAAAMAAABDAAAA cyIAAAB0AGoBcgd0AGoCfQBuA3QAagN9AGQBfAALAGQCGgAWAFMAKQR6SlJldHVybiB0aW1lem9u ZSBpbmZvLCAleiBvbiBzb21lIHBsYXRmb3JtcywgYnV0IG5vdCBzdXBwb3J0ZWQgb24gYWxsLgor KyAgICB6BSUrMDRkaRAOAABOKQRy/gAAANoIZGF5bGlnaHTaB2FsdHpvbmXaCHRpbWV6b25lKQHa BHpvbmVyDwAAAHIPAAAAchAAAAByAgEAAD4CAABzCAAAAAYDCAEGAg4BcgIBAABjAAAAAAAAAAAA AAAAAwAAAAUAAABDAAAAc0AAAAB0AGoBZAFrAnIHZAJTAGQDfQBkBEQAXRJ9AXQAagKgA3wBfACh An0CdABqAqAEfAKhAXIdAQBkAlMAcQtkBVMAKQd6N0RldGVybWluZSBpZiB0aGUgUkFSIGNvZGVj IGlzIGluc3RhbGxlZCBmb3IgN3ogcHJvZ3JhbS5y0AAAAFR6FXA3emlwL0NvZGVjcy9SYXIyOS5z bykGeggvdXNyL2xpYnoOL3Vzci9sb2NhbC9saWJ6CisrL3Vzci9saWI2NHoQL3Vzci9sb2NhbC9s aWI2NHoXL3Vzci9saWIvaTM4Ni1saW51eC1nbnV6GS91c3IvbGliL3g4Nl82NC1saW51eC1nbnVG TikFcggAAAByNQAAAHIJAAAAci4AAAByCisrAAAAKQPaCWNvZGVjbmFtZdoGbGliZGly2gVmbmFt ZXIPAAAAcg8AAAByEAAAANoScDd6aXBfc3VwcG9ydHNfcmFySAIAAHMSAAAACisrAgQCBAIIAg4B DAEGAQL/BAJyCwEAAGMBAAAAAAAAAAAAAAACAAAABAAAAEMAAABzSgAAAHQAagFkAWsCch10AGoC ZAIZAH0BdAN8AXQEgwCDAn0BdAN8AXQFgwCDAn0BdAN8AXQGgwCDAn0BbgJkA30BdAd8AHwBZASN AlMAKQV6Lkxvb2sgZm9yIHByb2dyYW0gaW4gZW52aXJvbm1lbnQgUEFUSCB2YXJpYWJsZS5y0AAA AHISAAAATikBcgkAAAApCHIIAAAAcjUAAAByIQAAANoOYXBwZW5kX3RvX3BhdGjaDWdldF9udF83 el9kaXLaDmdldF9udF9tYWNfZGly2hFnZXRfbnRfd2lucmFyX2RpcnIHAAAAKQLaB3Byb2dyYW1y CQAAAHIPAAAAcg8AAAByEAAAAHKdAAAAVwIAAHMOAAAACisrAworKwIMAQwBDgEEAwwBcp0AAABj AgAAAAAAAAAAAAAAAgAAAAMAAABDAAAAczYAAAB0AGoBoAJ8AaEBcgorK3wBfAB2AHIMfABTAHwA oAN0AGoEoQFzF3wAdABqBDcAfQB8AHwBFwBTACkCelFBZGQgYSBkaXJlY3RvcnkgdG8gdGhlIFBB VEggZW52aXJvbm1lbnQgdmFyaWFibGUsIGlmIGl0IGlzIGEgdmFsaWQKKysgICAgZGlyZWN0b3J5 Lk4pBXIIAAAAcgkAAAByDAAAAHIYAAAAciUAAAApAnIJAAAActcAAAByDwAAAHIPAAAAchAAAABy DAEAAGYCAABzCisrAAAAFAMEAQwBCisrAQgBcgwBAABjAAAAAAAAAAAAAAAAAgAAAAkAAABDAAAA c3gAAAB6BmQBZAJsAH0AVwBuDQQAdAF5EwEAAQABAGQBZAJsAn0AWQBuAXcAeh18AKADfABqBGQD oQJ9AXoPfACgBXwBZAShAmQBGQBXAHwAoAZ8AaEBAQBXAFMAfACgBnwBoQEBAHcABAB0B3k7AQAB AAEAWQBkBVMAdwApBno5UmV0dXJuIDctWmlwIGRpcmVjdG9yeSBmcm9tIHJlZ2lzdHJ5LCBvciBh biBlbXB0eSBzdHJpbmcucgEAAABOeg5TT0ZUV0FSRVw3LVppcNoEUGF0aHIVAAAAKQjaB193aW5y ZWfaC0ltcG9ydEVycm9y2gZ3aW5yZWfaB09wZW5LZXnaEkhLRVlfTE9DQUxfTUFDSElORdoMUXVl cnlWYWx1ZUV4WghDbG9zZUtledoMV2luZG93c0Vycm9yKQJyFAEAAHL1AAAAcg8AAAByDwAAAHIQ AAAAcg0BAABwAgAAcxoAAAACAwwBDAEMAQL/AgIOAQIBEAEaAgwBBgEC/3INAQAAYwAAAAAAAAAA AAAAAAEAAAADAAAAQwAAAHMQAAAAZAF9AHQAagGgAnwAoQFTACkDeitSZXR1cm4gdGhlIFdpbmRv d3MgcHJvZ3JhbSBmaWxlcyBkaXJlY3Rvcnkueg4lUHJvZ3JhbUZpbGVzJU4pA3IIAAAAcgkAAADa CisrZXhwYW5kdmFycykBWgdwcm9ndmFycg8AAAByDwAAAHIQAAAA2hJnZXRfbnRfcHJvZ3JhbV9k aXKBAgAAcwQAAAAEAgwBchoBAABjAAAAAAAAAAAAAAAAAAAAAAQAAABDAAAA8xAAAAB0AGoBoAJ0 A4MAZAGhAlMAKQN6L1JldHVybiBNb25rZXkgQXVkaW8gQ29tcHJlc3NvciAoTUFDKSBkaXJlY3Rv cnkucqsAAABOqQRyCAAAAHIJAAAAci4AAAByGgEAAHIPAAAAcg8AAAByDwAAAHIQAAAAcg4BAACH AgAAcswAAAByDgEAAGMAAAAAAAAAAAAAAAAAAAAABAAAAEMAAAByGwEAACkDehhSZXR1cm4gV2lu UkFSIGRpcmVjdG9yeS5aBldpblJBUk5yHAEAAHIPAAAAcg8AAAByDwAAAHIQAAAAcg8BAACMAgAA cswAAAByDwEAAGMBAAAAAAAAAAAAAAABAAAABgAAAEMAAABzNAAAAHQAfACDAWQBawRyFWQCZAOg AXwAZARkBYUCGQChAXwAZAUZAGYCFgBTAGQDoAF8AKEBUwApBnpDUmV0dXJuIGNvbW1hIHNlcGFy YXRlZCBzdHJpbmcsIGFuZCBsYXN0IGVudHJ5IGFwcGVuZGVkIHdpdGggJyBvciAnLnIDAAAAeggl cyBvciAlc3J4AAAATun/////KQLaA2xlbnIuAAAAKQFaBWFsaXN0cg8AAAByDwAAAHIQAAAA2g9z dHJsaXN0X3dpdGhfb3KRAgAAcwYAAAAMAh4BCisrAXIfAQAAYwIAAAAAAAAAAAAAAAIAAAAEAAAA QwAAAHMuAAAAfAB8AWsCcgZkAVMAdABqAWQCawJyEnQAagKgA3wAfAGhAlMAdAR8AHwBgwJTACkE YQABAABDaGVjayBpZiBmaWxlbmFtZTEgYW5kIGZpbGVuYW1lMiBwb2ludCB0byB0aGUgc2FtZSBm aWxlIG9iamVjdC4KKysgICAgVGhlcmUgY2FuIGJlIGZhbHNlIG5lZ2F0aXZlcywgaWUuIHRoZSBy ZXN1bHQgaXMgRmFsc2UsIGJ1dCBpdCBpcworKyAgICB0aGUgc2FtZSBmaWxlIGFueXdheS4gUmVh c29uIGlzIHRoYXQgbmV0d29yayBmaWxlc3lzdGVtcyBjYW4gY3JlYXRlCisrICAgIGRpZmZlcmVu dCBwYXRocyB0byB0aGUgc2FtZSBwaHlzaWNhbCBmaWxlLgorKyAgICBU2gVwb3NpeE4pBXIIAAAA cjUAAAByCQAAANoIc2FtZWZpbGXaEGlzX3NhbWVfZmlsZW5hbWWpAloJZmlsZW5hbWUx2glmaWxl bmFtZTJyDwAAAHIPAAAAchAAAADaDGlzX3NhbWVfZmlsZZgCAABzCisrAAAACAYEAQorKwEOAQor KwFyJQEAAGMCAAAAAAAAAAAAAAACAAAABAAAAEMAAABzGAAAAHQAagGgAnwAoQF0AGoBoAJ8AaEB awJTACkCejdDaGVjayBpZiBmaWxlbmFtZTEgYW5kIGZpbGVuYW1lMiBhcmUgdGhlIHNhbWUgZmls ZW5hbWUuTikDcggAAAByCQAAANoIcmVhbHBhdGhyIwEAAHIPAAAAcg8AAAByEAAAAHIiAQAApQIA AHLWAAAAciIBAABjAwAAAAAAAAAAAAAABAAAAA0AAABDAAAAc3QAAAB8AmQBawRyDHQAZAJ8AHwB ZgIWAIMBAQB6CXQBoAJ8AHwBoQIBAFcAZANTAAQAdAN0BGYCeTkBAAEAAQB6CisrdAWgBnwAfAGh AgEAVwBZAGQDUwAEAHQEeTgBAH0DAQB6BHQHfAODAYIBZAN9A34DdwF3AHcAKQR6sFRyeSB0byBt YWtlIGEgaGFyZCBsaW5rIGZyb20gc3JjIHRvIGRzdCBhbmQgaWYgdGhhdCBmYWlscworKyAgICBj b3B5IHRoZSBmaWxlLiBIYXJkIGxpbmtzIHNhdmUgc29tZSBkaXNrIHNwYWNlIGFuZCBsaW5raW5n CisrICAgIHNob3VsZCBmYWlsIGZhc3Qgc2luY2Ugbm8gY29weWluZyBpcyBpbnZvbHZlZC4KKysg ICAgcgEAAAB6EENvcHlpbmcgJXMgLT4gJXNOKQhyfwAAAHIIAAAA2gRsaW5r2g5BdHRyaWJ1dGVF cnJvcnKiAAAA2gZzaHV0aWzaBGNvcHlyXQAAACkE2gNzcmPaA2RzdHKGAAAAcj4AAAByDwAAAHIP AAAAchAAAADaDGxpbmtfb3JfY29weaoCAABzGAAAAAgFEAECARIBEAECARQBDgEIAQiAAv8C/XIt AQAAYwEAAAAAAAAAAAAAAAIAAAAIAAAAQwAAAHMyAAAAegZ0AKABoQB9AVcAbgsEAHQCeREBAAEA AQBkAX0BWQBuAXcAdACgA3wAoQEBAHwBUwApAnqIUmVtZW1iZXIgYW5kIHJldHVybiBjdXJyZW50 IGRpcmVjdG9yeSBiZWZvcmUgY2FsbGluZyBvcy5jaGRpcigpLgorKyAgICBJZiB0aGUgY3VycmVu dCBkaXJlY3RvcnkgY291bGQgbm90IGJlIGRldGVybWluZWQsIHJldHVybiBOb25lLgorKyAgICBO KQRyCAAAANoGZ2V0Y3dkcqIAAADaBWNoZGlyKQJy1wAAANoGb2xkZGlycg8AAAByDwAAAHIQAAAA ci8BAAC6AgAAcw4AAAACBAwBDAEIAQL/CisrAgQBci8BAAApAXJtAAAAKQFyigAAACkBVHIWAAAA KQNOcs0AAABOKQFyFQAAAClOcmEAAADaCisrX19mdXR1cmVfX3ICAAAAcggAAAByJgAAAHIpAQAA cm8AAAByOQAAAHLJAAAAcv4AAABy7AAAAHLAAAAAchUAAAByBAAAAHIFAAAAcgYAAAByBwAAAHIT AQAA2gRGX09L2gRYX09LcjYAAAByOgAAAHI/AAAAcj0AAAByWwAAAHI7AAAAcl0AAADaBm9iamVj dHJiAAAAcnYAAAByiQAAAHKNAAAAcpMAAABylwAAAHLoAAAAcoIAAAByoAAAAHKPAAAAco4AAABy ngAAAHKjAAAAcqwAAABynwAAAHKxAAAAcrQAAABytQAAAHK3AAAAcrwAAAByvgAAAHLFAAAAcssA AAByzwAAAHJ5AAAAcoEAAABy1QAAAHLbAAAA2gZzdGRlcnJyPAAAAHJuAAAAcn8AAABy8gAAAHL2 AAAAcu8AAABy7gAAAHL9AAAAcgIBAAByCwEAAHKdAAAAcgwBAAByDQEAAHIaAQAAcg4BAAByDwEA AHIfAQAAciUBAAByIgEAAHItAQAAci8BAAByDwAAAHIPAAAAcg8AAAByEAAAANoIPG1vZHVsZT4B AAAAc/4AAAAEDwwBCAEIAQgBCAEIAQgBCAEIAQgBFAECARABDAEaAgL+CDYECQgCCAsILhAHEAUK KyscCisrBgorKxgCCQorKwECDwIBAgECAQIBAgEG+hYICAIIAwgPCC4IEAILBAEC/wQCAv4EAwL9 BAQC/AQFAvsEBgL6BAcC+QQIAvgECQL3BAorKwL2BAsC9QQMAvQEDQLzBA4C8gQPAvEEEALwBBEC 7wISAgECAQIBAgECAQIBAgECAQIBAgECAQIBCOIIIQorKw8ICisrCAYIBggICA4KKysFCisrFAor KwUIBQgICAgKKysFDg4OBRQFDhkOBw4GCAsIBggKKysCDworKwEIDggKKysIEQgGCAUIBQgHCA0K KysFCBAKKysMCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29s LXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vX19pbml0X18uY3B5 dGhvbi0zMTAucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvcGF0b29saWIvcHJvZ3Jh bXMvX19weWNhY2hlX18vX19pbml0X18uY3B5dGhvbi0zMTAucHljCistLS0gcGF0b29sLXVwc3Ry ZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vX19pbml0X18uY3B5dGhvbi0z MTAucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVw c3RyZWFtLTEuMTItcGF0Y2hlZC9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9fX2luaXRf Xy5jcHl0aG9uLTMxMC5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAKK0BA IC0wLDAgKzEsMTEgQEAKKytvDQ0KKysAAAAAmk2bVnIHAADjAAAAAAAAAAAAAAAAAAAAAAIAAABA AAAAcygAAABkAGQBbABtAVoBAQBkAmQDhABaAmQEZAWEAFoDZAZkB4QAWgRkCFMAKQnpAgAAACkB 2gR1dGlsYwYAAAAAAAAAAAAAAAgAAAAKKysAAABDAAAAc1gAAAB0AKABfAKhAWcBfQZ8A2QBawRy D3wGoAJkAqEBAQB0AKADfAV8AKECfQd8BqAEZANkBGQFdACgAXwAoQFkBnQAoAF8B6EBZwahAQEA fAZkB2QIaQFmAlMAKQorK3o9U3RhbmRhcmQgcm91dGluZSB0byBleHRyYWN0IGEgc2luZ2xlZmls ZSBhcmNoaXZlIChsaWtlIGd6aXApLukBAAAA+gItdvoCLWN6Ai1k+gItLfoBPtoFc2hlbGxUTikF cgIAAADaC3NoZWxsX3F1b3Rl2gZhcHBlbmTaEmdldF9zaW5nbGVfb3V0ZmlsZdoGZXh0ZW5kKQja B2FyY2hpdmXaC2NvbXByZXNzaW9u2gNjbWTaCXZlcmJvc2l0edoLaW50ZXJhY3RpdmXaBm91dGRp ctoHY21kbGlzdNoHb3V0ZmlsZakAchUAAAD6PC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4x Mi9wYXRvb2xpYi9wcm9ncmFtcy9fX2luaXRfXy5wedobZXh0cmFjdF9zaW5nbGVmaWxlX3N0YW5k YXJkEgAAAHMQAAAADAIIAQorKwEMARQBCAEG/wwCchcAAABjBQAAAAAAAAAAAAAABgAAAAUAAABD AAAAcywAAAB8AmcBfQV8A2QBawRyDHwFoABkAqEBAQB8BaABZANkBHwAZwOhAQEAfAVTACkGejpT dGFuZGFyZCByb3V0aW5lIHRvIHRlc3QgYSBzaW5nbGVmaWxlIGFyY2hpdmUgKGxpa2UgZ3ppcCku cgMAAAByBAAAAHoCLXRyBgAAAE4pAnIKKysAAAByDAAAACkGcg0AAAByDgAAAHIPAAAAchAAAABy EQAAAHITAAAAchUAAAByFQAAAHIWAAAA2hh0ZXN0X3NpbmdsZWZpbGVfc3RhbmRhcmQdAAAAcwor KwAAAAYCCAEKKysBEAEEAXIYAAAAYwYAAAAAAAAAAAAAAAcAAAAGAAAAQwAAAHNgAAAAdACgAXwC oQFnAX0GfANkAWsEcg98BqACZAKhAQEAfAagA2QDZARnAqEBAQB8BqADZAVkBoQAfAVEAIMBoQEB AHwGoANkB3QAoAF8AKEBZwKhAQEAfAZkCGQJaQFmAlMAKQt6PFN0YW5kYXJkIHJvdXRpbmUgdG8g Y3JlYXRlIGEgc2luZ2xlZmlsZSBhcmNoaXZlIChsaWtlIGd6aXApLnIDAAAAcgQAAAByBQAAAHIG AAAAYwEAAAAAAAAAAAAAAAIAAAAFAAAAUwAAAHMWAAAAZwB8AF0HfQF0AKABfAGhAZECcQJTAHIV AAAAKQJyAgAAAHIJAAAAKQLaAi4w2gF4chUAAAByFQAAAHIWAAAA2gorKzxsaXN0Y29tcD4sAAAA cwIAAAAWAHouY3JlYXRlX3NpbmdsZWZpbGVfc3RhbmRhcmQuPGxvY2Fscz4uPGxpc3Rjb21wPnIH AAAAcggAAABUTikEcgIAAAByCQAAAHIKKysAAAByDAAAACkHcg0AAAByDgAAAHIPAAAAchAAAABy EQAAANoJZmlsZW5hbWVzchMAAAByFQAAAHIVAAAAchYAAADaGmNyZWF0ZV9zaW5nbGVmaWxlX3N0 YW5kYXJkJgAAAHMOAAAADAIIAQorKwEOARQBFAEMAXIdAAAATikF2gByAgAAAHIXAAAAchgAAABy HQAAAHIVAAAAchUAAAByFQAAAHIWAAAA2gg8bW9kdWxlPgEAAABzCAAAAAwPCAIICwwJCitcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIv cGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vYXIuY3B5dGhvbi0zMTAucHljIHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vYXIuY3B5 dGhvbi0zMTAucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMv X19weWNhY2hlX18vYXIuY3B5dGhvbi0zMTAucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAw MDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9wYXRvb2xpYi9wcm9n cmFtcy9fX3B5Y2FjaGVfXy9hci5jcHl0aG9uLTMxMC5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41 Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEsMTIgQEAKKytvDQ0KKysAAAAAmk2bVr0FAADjAAAA AAAAAAAAAAAAAAAAAAIAAABAAAAAcywAAABkAFoAZAFkAmwBWgFkA2QEhABaAmQFZAaEAFoDZQNa BGQHZAiEAFoFZAJTACkJeiRBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgYXIgcHJvZ3JhbS7pAAAA AE5jBgAAAAAAAAAAAAAACAAAAAUAAABDAAAAczIAAABkAX0GfANkAmsEcgorK3wGZAM3AH0GfAJ8 BnQAagGgAnwAoQFnA30HfAdkBHwFaQFmAlMAKQZ6FUV4dHJhY3QgYSBBUiBhcmNoaXZlLtoBeOkB AAAA2gF22gNjd2ROKQPaAm9z2gRwYXRo2gdhYnNwYXRoKQjaB2FyY2hpdmXaC2NvbXByZXNzaW9u 2gNjbWTaCXZlcmJvc2l0edoLaW50ZXJhY3RpdmXaBm91dGRpctoEb3B0c9oHY21kbGlzdKkAchEA AAD6Ni9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9hci5w edoKKytleHRyYWN0X2FyEwAAAHMKKysAAAAEAggBCAESAQwBchMAAABjBQAAAAAAAAAAAAAABgAA AAMAAABDAAAAcx4AAABkAX0FfANkAmsEcgorK3wFZAM3AH0FfAJ8BXwAZwNTACkFehJMaXN0IGEg QVIgYXJjaGl2ZS7aAXRyAwAAAHIEAAAATnIRAAAAKQZyCQAAAHIKKysAAAByCwAAAHIMAAAAcg0A AAByDwAAAHIRAAAAchEAAAByEgAAANoHbGlzdF9hchsAAABzCAAAAAQCCAEIAQorKwFyFQAAAGMG AAAAAAAAAAAAAAAIAAAAAwAAAEMAAABzLAAAAGQBfQZ8A2QCawRyCisrfAZkAzcAfQZ8AnwGfABn A30HfAegAHwFoQEBAHwHUwApBXoUQ3JlYXRlIGEgQVIgYXJjaGl2ZS7aAnJjcgMAAAByBAAAAE4p AdoGZXh0ZW5kKQhyCQAAAHIKKysAAAByCwAAAHIMAAAAcg0AAADaCWZpbGVuYW1lc3IPAAAAchAA AAByEQAAAHIRAAAAchIAAADaCWNyZWF0ZV9hciQAAABzDAAAAAQCCAEIAQorKwEKKysBBAFyGQAA ACkG2gdfX2RvY19fcgYAAAByEwAAAHIVAAAA2gd0ZXN0X2FychkAAAByEQAAAHIRAAAAchEAAABy EgAAANoIPG1vZHVsZT4BAAAAcwwAAAAEDwgBCAIICAQHDAIKK1wgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFt cy9fX3B5Y2FjaGVfXy9ic2RjcGlvLmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL2JzZGNwaW8uY3B5dGhvbi0z MTAucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvX19weWNh Y2hlX18vYnNkY3Bpby5jcHl0aG9uLTMxMC5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3Byb2dy YW1zL19fcHljYWNoZV9fL2JzZGNwaW8uY3B5dGhvbi0zMTAucHljCTIwMjEtMTItMDIgMjI6MjM6 MTAuNTc5ODMyMzM5ICswMTAwCitAQCAtMCwwICsxLDIgQEAKKytvDQ0KKysAAAAAmk2bVi8DAADj AAAAAAAAAAAAAAAAAAAAAAIAAABAAAAAcyAAAABkAFoAZAFkAmwBbQJaAm0DWgNtBFoEbQVaBQEA ZANTACkEeilBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgYnNkY3BpbyBwcm9ncmFtLukBAAAAKQTa DGV4dHJhY3RfY3Bpb9oJbGlzdF9jcGlv2gl0ZXN0X2NwaW/aC2NyZWF0ZV9jcGlvTikG2gdfX2Rv Y19f2gRjcGlvcgIAAAByAwAAAHIEAAAAcgUAAACpAHIIAAAAcggAAAD6Oy9idWlsZGRpci9wYXRv b2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9ic2RjcGlvLnB52gg8bW9kdWxlPgEA AABzBAAAAAQPHAEKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRv b2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9ic2R0YXIuY3B5 dGhvbi0zMTAucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvcGF0b29saWIvcHJvZ3Jh bXMvX19weWNhY2hlX18vYnNkdGFyLmNweXRob24tMzEwLnB5YworLS0tIHBhdG9vbC11cHN0cmVh bS0xLjEyL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL2JzZHRhci5jcHl0aG9uLTMxMC5w eWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJl YW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL2JzZHRhci5jcHl0 aG9uLTMxMC5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAg KzEsMyBAQAorK28NDQorKwAAAACaTZtWKgMAAOMAAAAAAAAAAAAAAAAAAAAAAgAAAEAAAABzIAAA AGQAWgBkAWQCbAFtAloCbQNaA20EWgRtBVoFAQBkA1MAKQR6KUFyY2hpdmUgY29tbWFuZHMgZm9y IHRoZSBCU0QgdGFyIHByb2dyYW0u6QEAAAApBNoLZXh0cmFjdF90YXLaCGxpc3RfdGFy2gh0ZXN0 X3RhctoKKytjcmVhdGVfdGFyTikG2gdfX2RvY19f2gN0YXJyAgAAAHIDAAAAcgQAAAByBQAAAKkA cggAAAByCAAAAPo6L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3BhdG9vbGliL3Byb2dy YW1zL2JzZHRhci5wedoIPG1vZHVsZT4BAAAAcwQAAAAEDxwCCitcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3Jh bXMvX19weWNhY2hlX18vYnppcDIuY3B5dGhvbi0zMTAucHljIHBhdG9vbC11cHN0cmVhbS0xLjEy LXBhdGNoZWQvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vYnppcDIuY3B5dGhvbi0zMTAu cHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hl X18vYnppcDIuY3B5dGhvbi0zMTAucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICsw MTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9wYXRvb2xpYi9wcm9ncmFtcy9f X3B5Y2FjaGVfXy9iemlwMi5jcHl0aG9uLTMxMC5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzk4 MzIzMzkgKzAxMDAKK0BAIC0wLDAgKzEsOCBAQAorK28NDQorKwAAAACaTZtWLAUAAOMAAAAAAAAA AAAAAAAAAAAAAgAAAEAAAABzNAAAAGQAWgBkAWQCbAFtAloCAQBkA2QEbAFtA1oDbQRaBAEAZQNa BWUEWgZkBWQGhABaB2QHUwApCHonQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIGJ6aXAyIHByb2dy YW0u6QIAAAApAdoEdXRpbOkBAAAAKQLaG2V4dHJhY3Rfc2luZ2xlZmlsZV9zdGFuZGFyZNoYdGVz dF9zaW5nbGVmaWxlX3N0YW5kYXJkYwYAAAAAAAAAAAAAAAcAAAAGAAAAQwAAAHNgAAAAdACgAXwC oQFnAX0GfANkAWsEcg98BqACZAKhAQEAfAagA2cAZAOiAaEBAQB8BqADZARkBYQAfAVEAIMBoQEB AHwGoANkBnQAoAF8AKEBZwKhAQEAfAZkB2QIaQFmAlMAKQorK3oXQ3JlYXRlIGEgQlpJUDIgYXJj aGl2ZS5yAwAAAHoCLXYpBHoCLWN6Ai16egItOXoCLS1jAQAAAAAAAAAAAAAAAgAAAAUAAABTAAAA cxYAAABnAHwAXQd9AXQAoAF8AaEBkQJxAlMAqQApAnICAAAA2gtzaGVsbF9xdW90ZSkC2gIuMNoB eHIGAAAAcgYAAAD6OS9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9n cmFtcy9iemlwMi5wedoKKys8bGlzdGNvbXA+HQAAAHMCAAAAFgB6IGNyZWF0ZV9iemlwMi48bG9j YWxzPi48bGlzdGNvbXA++gE+2gVzaGVsbFROKQRyAgAAAHIHAAAA2gZhcHBlbmTaBmV4dGVuZCkH 2gdhcmNoaXZl2gtjb21wcmVzc2lvbtoDY21k2gl2ZXJib3NpdHnaC2ludGVyYWN0aXZl2glmaWxl bmFtZXPaB2NtZGxpc3RyBgAAAHIGAAAAcgorKwAAANoMY3JlYXRlX2J6aXAyFwAAAHMOAAAADAII AQorKwEOARQBFAEMAXIXAAAATikI2gdfX2RvY19f2gByAgAAAHIEAAAAcgUAAABaDWV4dHJhY3Rf YnppcDLaCisrdGVzdF9iemlwMnIXAAAAcgYAAAByBgAAAHIGAAAAcgorKwAAANoIPG1vZHVsZT4B AAAAcwwAAAAEDwwBEAEEAgQBDAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAt TmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9j cGlvLmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGli L3Byb2dyYW1zL19fcHljYWNoZV9fL2NwaW8uY3B5dGhvbi0zMTAucHljCistLS0gcGF0b29sLXVw c3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vY3Bpby5jcHl0aG9uLTMx MC5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBz dHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL2NwaW8uY3B5 dGhvbi0zMTAucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc5ODMyMzM5ICswMTAwCitAQCAtMCww ICsxLDE1IEBACisrbw0NCisrAAAAAJpNm1ZuCAAA4wAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHNA AAAAZABaAGQBZAJsAVoBZAFkAmwCWgJkA2QEbANtBFoEAQBkBWQGhABaBWQHZAiEAFoGZQZaB2QJ ZAorK4QAWghkAlMAKQt6JkFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBjcGlvIHByb2dyYW0u6QAA AABO6QIAAAApAdoEdXRpbGMGAAAAAAAAAAAAAAAHAAAACAAAAEMAAABzcgAAAHQAoAF8AqEBZAFk AmQDZwR9BnQCagOgBGQEoQFyG3wCoAVkBaEBcxt8BqAGZwBkBqIBoQEBAHwDZAdrBHIkfAagB2QI oQEBAHwGoAZkCXQAoAF0CGoJoAorK3wAoQGhAWcCoQEBAHwGfAVkCisrZAucAmYCUwApDXoXRXh0 cmFjdCBhIENQSU8gYXJjaGl2ZS56CS0tZXh0cmFjdHoSLS1tYWtlLWRpcmVjdG9yaWVzehwtLXBy ZXNlcnZlLW1vZGlmaWNhdGlvbi10aW1l2gVsaW51eNoHYnNkY3BpbykEehctLW5vLWFic29sdXRl LWZpbGVuYW1lc3oNLS1mb3JjZS1sb2NhbHoNLS1ub25tYXRjaGluZ3oIIipcLlwuKiLpAQAAAPoC LXb6ATxUKQLaA2N3ZNoFc2hlbGxOKQtyAwAAANoLc2hlbGxfcXVvdGXaA3N5c9oIcGxhdGZvcm3a Cisrc3RhcnRzd2l0aNoIZW5kc3dpdGjaBmV4dGVuZNoGYXBwZW5k2gJvc9oEcGF0aNoHYWJzcGF0 aCkH2gdhcmNoaXZl2gtjb21wcmVzc2lvbtoDY21k2gl2ZXJib3NpdHnaC2ludGVyYWN0aXZl2gZv dXRkaXLaB2NtZGxpc3SpAHIcAAAA+jgvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0 b29saWIvcHJvZ3JhbXMvY3Bpby5wedoMZXh0cmFjdF9jcGlvFQAAAHMSAAAADAICAQT/FgIOAQgC CisrARwBDgFyHgAAAGMFAAAAAAAAAAAAAAAGAAAABAAAAEMAAABzLgAAAHwCZAFkAmcDfQV8A2QD awRyDnwFoABkBKEBAQB8BaABZAV8AGcCoQEBAHwFUwApB3oUTGlzdCBhIENQSU8gYXJjaGl2ZS56 Ai1pegItdHIGAAAAcgcAAAB6Ai1GTikCchEAAAByEAAAACkGchUAAAByFgAAAHIXAAAAchgAAABy GQAAAHIbAAAAchwAAAByHAAAAHIdAAAA2glsaXN0X2NwaW8iAAAAcworKwAAAAorKwIIAQorKwEO AQQBch8AAABjBgAAAAAAAAAAAAAACAAAAAYAAABDAAAAc4oAAAB0AKABfAKhAWQBZwJ9BnwDZAJr BHIQfAagAmQDoQEBAHQDfAWDAWQEawNyNWQFZwF9B3wHoARkBmQHhAB8BUQAgwGhAQEAfAegBGQI ZAlnAqEBAQB8B3wGZARkBIUCPAB8BqACZAorK6EBAQB8BqAEZAt0AKABfAChAWcCoQEBAHwGZAxk DWkBZgJTACkPehZDcmVhdGUgYSBDUElPIGFyY2hpdmUueggtLWNyZWF0ZXIGAAAAcgcAAAByAQAA ANoEZmluZGMBAAAAAAAAAAAAAAACAAAABQAAAFMAAABzFgAAAGcAfABdB30BdACgAXwBoQGRAnEC UwByHAAAACkCcgMAAAByCwAAACkC2gIuMNoBeHIcAAAAchwAAAByHQAAANoKKys8bGlzdGNvbXA+ MwAAAHMCAAAAFgB6H2NyZWF0ZV9jcGlvLjxsb2NhbHM+LjxsaXN0Y29tcD56By1wcmludDD6AXx6 Ai0w+gE+cgorKwAAAFROKQVyAwAAAHILAAAAchEAAADaA2xlbnIQAAAAKQhyFQAAAHIWAAAAchcA AAByGAAAAHIZAAAA2glmaWxlbmFtZXNyGwAAAFoHZmluZGNtZHIcAAAAchwAAAByHQAAANoLY3Jl YXRlX2NwaW8sAAAAcxYAAAAOAggBCisrAQwBBgEUAQ4BDAEKKysBFAEMAXIoAAAAKQnaB19fZG9j X19yEgAAAHIMAAAA2gByAwAAAHIeAAAAch8AAADaCXRlc3RfY3Bpb3IoAAAAchwAAAByHAAAAHIc AAAAch0AAADaCDxtb2R1bGU+AQAAAHMQAAAABA8IAQgBDAEIAggNBAgMAgorXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3BhdG9vbGli L3Byb2dyYW1zL19fcHljYWNoZV9fL2d6aXAuY3B5dGhvbi0zMTAucHljIHBhdG9vbC11cHN0cmVh bS0xLjEyLXBhdGNoZWQvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vZ3ppcC5jcHl0aG9u LTMxMC5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5 Y2FjaGVfXy9nemlwLmNweXRob24tMzEwLnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAw MCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvcGF0b29saWIvcHJvZ3Jh bXMvX19weWNhY2hlX18vZ3ppcC5jcHl0aG9uLTMxMC5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41 Nzg4MzIzMjAgKzAxMDAKK0BAIC0wLDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtWLAYAAOMAAAAA AAAAAAAAAAAAAAAAAgAAAEAAAABzRAAAAGQAWgBkAWQCbAFtAloCbQNaAwEAZANkBGwBbQRaBAEA ZQIEAFoFWgZlAwQAWgdaCGQFZAaEAFoJZAdkCIQAWgorK2QJUwApCisreiZBcmNoaXZlIGNvbW1h bmRzIGZvciB0aGUgZ3ppcCBwcm9ncmFtLukBAAAAKQLaG2V4dHJhY3Rfc2luZ2xlZmlsZV9zdGFu ZGFyZNoYdGVzdF9zaW5nbGVmaWxlX3N0YW5kYXJk6QIAAAApAdoEdXRpbGMGAAAAAAAAAAAAAAAH AAAABgAAAEMAAABzYAAAAHQAoAF8AqEBZwF9BnwDZAFrBHIPfAagAmQCoQEBAHwGoANnAGQDogGh AQEAfAagA2QEZAWEAHwFRACDAaEBAQB8BqADZAZ0AKABfAChAWcCoQEBAHwGZAdkCGkBZgJTACkK Kyt6FkNyZWF0ZSBhIEdaSVAgYXJjaGl2ZS5yAQAAAPoCLXYpA3oCLWN6Ai05+gItLWMBAAAAAAAA AAAAAAACAAAABQAAAFMAAABzFgAAAGcAfABdB30BdACgAXwBoQGRAnECUwCpACkCcgUAAADaC3No ZWxsX3F1b3RlKQLaAi4w2gF4cggAAAByCAAAAPo4L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0x LjEyL3BhdG9vbGliL3Byb2dyYW1zL2d6aXAucHnaCisrPGxpc3Rjb21wPh4AAABzAgAAABYAeh9j cmVhdGVfZ3ppcC48bG9jYWxzPi48bGlzdGNvbXA++gE+2gVzaGVsbFROKQRyBQAAAHIJAAAA2gZh cHBlbmTaBmV4dGVuZCkH2gdhcmNoaXZl2gtjb21wcmVzc2lvbtoDY21k2gl2ZXJib3NpdHnaC2lu dGVyYWN0aXZl2glmaWxlbmFtZXPaB2NtZGxpc3RyCAAAAHIIAAAAcgwAAADaC2NyZWF0ZV9nemlw GAAAAHMOAAAADAIIAQorKwEOARQBFAEMAXIZAAAAYwUAAAAAAAAAAAAAAAYAAAAFAAAAQwAAAHMs AAAAfAJnAX0FfANkAWsEcgx8BaAAZAKhAQEAfAWgAWQDZAR8AGcDoQEBAHwFUwApBnoUTGlzdCBh IEdaSVAgYXJjaGl2ZS7pAAAAAHIGAAAAegItbHIHAAAATikCchAAAAByEQAAACkGchIAAAByEwAA AHIUAAAAchUAAAByFgAAAHIYAAAAcggAAAByCAAAAHIMAAAA2glsaXN0X2d6aXAjAAAAcworKwAA AAYCCAEKKysBEAEEAXIbAAAATikL2gdfX2RvY19f2gByAgAAAHIDAAAAcgUAAABaDGV4dHJhY3Rf Z3ppcFoQZXh0cmFjdF9jb21wcmVzc9oJdGVzdF9nemlw2g10ZXN0X2NvbXByZXNzchkAAAByGwAA AHIIAAAAcggAAAByCAAAAHIMAAAA2gg8bW9kdWxlPgEAAABzDgAAAAQPEAEMAQgCCAEIAwwLCitc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEu MTIvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vcHlfYnoyLmNweXRob24tMzEwLnB5YyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9f L3B5X2J6Mi5jcHl0aG9uLTMxMC5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xp Yi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9weV9iejIuY3B5dGhvbi0zMTAucHljCTE5NzAtMDEtMDEg MDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hl ZC9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9weV9iejIuY3B5dGhvbi0zMTAucHljCTIw MjEtMTItMDIgMjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDMxIEBACisrbw0N CisrAAAAAJpNm1YLCQAA4wAAAAAAAAAAAAAAAAAAAAAIAAAAQAAAAHNQAAAAZABaAGQBZAJsAW0C WgIBAHoGZANkBGwDWgRXAG4NBABlBXkbAQABAAEAZANkBGwEWgRZAG4BdwBkBVoGZAZkB4QAWgdk CGQJhABaCGQEUwApCisreitBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgYnoyIFB5dGhvbiBtb2R1 bGUu6QIAAAApAdoEdXRpbOkAAAAATmkAABAAYwYAAAAAAAAAAAAAAAwAAAAKKysAAABDAAAAc9QA AAB0AKABfAV8AKECfQZ6S3QCoAN8AKEBjzt9B3QEfAZkAYMCjxt9CHwHoAV0BqEBfQl8CXImfAig B3wJoQEBAHwHoAV0BqEBfQl8CXMaVwBkAgQABACDAwEAbhExAHMwdwEBAAEAAQBZAAEAVwBkAgQA BACDAwEAVwBkAlMAVwBkAgQABACDAwEAVwBkAlMAMQBzSncBAQABAAEAWQABAFcAZAJTAAQAdAh5 aQEAfQorKwEAegxkA3wAfAZ8CisrZgMWAH0LdACgCXwLoQGCAWQCfQorK34KKyt3AXcAKQR6M0V4 dHJhY3QgYSBCWklQMiBhcmNoaXZlIHdpdGggdGhlIGJ6MiBQeXRob24gbW9kdWxlLtoCd2JOeh1l cnJvciBleHRyYWN0aW5nICVzIHRvICVzOiAlcykKKytyAgAAANoSZ2V0X3NpbmdsZV9vdXRmaWxl 2gNiejLaB0JaMkZpbGXaBG9wZW7aBHJlYWTaD1JFQURfU0laRV9CWVRFU9oFd3JpdGXaCUV4Y2Vw dGlvbtoLUGF0b29sRXJyb3IpDNoHYXJjaGl2ZdoLY29tcHJlc3Npb27aA2NtZNoJdmVyYm9zaXR5 2gtpbnRlcmFjdGl2ZdoGb3V0ZGlyWgorK3RhcmdldG5hbWXaB2J6MmZpbGVaCisrdGFyZ2V0Zmls ZdoEZGF0YdoDZXJy2gNtc2epAHIYAAAA+jovYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIv cGF0b29saWIvcHJvZ3JhbXMvcHlfYnoyLnB52g1leHRyYWN0X2J6aXAyGwAAAHMuAAAADAICAQwB DAEKKysBBAEKKysBCisrAQT+AoAe/gz/BAkC+Az/BAkS9wQJDv0OAQorKwEIgAL+choAAABjBgAA AAAAAAAAAAAADAAAAAorKwAAAEMAAABz5gAAAHQAfAWDAWQBawRyC3QBoAJkAqEBggF6UHQDoAR8 AGQDoQKPP30GfAVkBBkAfQd0BXwHZAWDAo8bfQh8CKAGdAehAX0JfAlyMHwGoAh8CaEBAQB8CKAG dAehAX0JfAlzJFcAZAYEAAQAgwMBAG4RMQBzOncBAQABAAEAWQABAFcAZAYEAAQAgwMBAFcAZAZT AFcAZAYEAAQAgwMBAFcAZAZTADEAc1R3AQEAAQABAFkAAQBXAGQGUwAEAHQJeXIBAH0KKysBAHoL ZAd8AHwKKytmAhYAfQt0AaACfAuhAYIBZAZ9CisrfgorK3cBdwApCHoyQ3JlYXRlIGEgQlpJUDIg YXJjaGl2ZSB3aXRoIHRoZSBiejIgUHl0aG9uIG1vZHVsZS7pAQAAAHoybXVsdGktZmlsZSBjb21w cmVzc2lvbiBub3Qgc3VwcG9ydGVkIGluIFB5dGhvbiBiejJyBAAAAHIDAAAA2gJyYk56FWVycm9y IGNyZWF0aW5nICVzOiAlcykKKyvaA2xlbnICAAAAcg0AAAByBgAAAHIHAAAAcggAAAByCQAAAHIK KysAAAByCwAAAHIMAAAAKQxyDgAAAHIPAAAAchAAAAByEQAAAHISAAAA2glmaWxlbmFtZXNyFAAA ANoIZmlsZW5hbWXaB3NyY2ZpbGVyFQAAAHIWAAAAchcAAAByGAAAAHIYAAAAchkAAADaDGNyZWF0 ZV9iemlwMisAAABzMgAAAAwCCisrAQIBDgEIAQwBCisrAQQBCisrAQorKwEE/gKAHv4M/gQKKysC +Az+BAorKxL2BAorKw79DAEKKysBCIAC/nIhAAAAKQnaB19fZG9jX1/aAHICAAAAchQAAAByBgAA ANoLSW1wb3J0RXJyb3JyCisrAAAAchoAAAByIQAAAHIYAAAAchgAAAByGAAAAHIZAAAA2gg8bW9k dWxlPgEAAABzFAAAAAQPDAECAQwCDAEMAQL/BAQIAgwQCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMv X19weWNhY2hlX18vcHlfZWNoby5jcHl0aG9uLTMxMC5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9weV9lY2hvLmNweXRob24tMzEw LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNo ZV9fL3B5X2VjaG8uY3B5dGhvbi0zMTAucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAw ICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9wYXRvb2xpYi9wcm9ncmFt cy9fX3B5Y2FjaGVfXy9weV9lY2hvLmNweXRob24tMzEwLnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEw LjU3ODgzMjMyMCArMDEwMAorQEAgLTAsMCArMSwxMCBAQAorK28NDQorKwAAAACaTZtWzgUAAOMA AAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzWgAAAGQAWgBkAWQCbAFtAloCAQBkA2QEbANtBFoEAQBk BWQGhABaBWUFBABaBgQAWgcEAFoIBABaCQQAWgorK1oLZAdkCIQAWgxlDAQAWg1aDmQNZAorK2QL hAFaD2QMUwApDnpJQXJjaGl2ZSBjb21tYW5kcyBlY2hvaW5nIGRhdGEsIGltcGxlbWVudGVkIGJ5 IHRoZSBQeXRob24gcHJpbnQKKytzdGF0ZW1lbnQu6QAAAAApAdoOcHJpbnRfZnVuY3Rpb27pAgAA ACkB2gR1dGlsYwUAAAAAAAAAAAAAAAUAAAAEAAAAQwAAAHMMAAAAdAB8AnwAfAODA1MAKQJ6FUxp c3QgYSBCWklQMiBhcmNoaXZlLk6pAdoIc3RyaXBleHSpBdoHYXJjaGl2ZdoLY29tcHJlc3Npb27a A2NtZNoJdmVyYm9zaXR52gtpbnRlcmFjdGl2ZakAcg0AAAD6Oy9idWlsZGRpci9wYXRvb2wtdXBz dHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9weV9lY2hvLnB52gorK2xpc3RfYnppcDIWAAAA cwIAAAAMAnIPAAAAYwUAAAAAAAAAAAAAAAUAAAAGAAAAQwAAAHMQAAAAdAB8AnwAfANkAWQCjQRT ACkEehRMaXN0IGFuIEFQRSBhcmNoaXZlLnoELndhdikB2glleHRlbnNpb25OcgUAAAByBwAAAHIN AAAAcg0AAAByDgAAANoIbGlzdF9hcGUiAAAAcwIAAAAQAnIRAAAA2gBjBAAAAAAAAAAAAAAABAAA AAQAAABDAAAAcx4AAAB8AmQBawVyDXQAdAGgAnwBoQF8AxcAgwEBAGQCUwApA3oeUHJpbnQgdGhl IG5hbWUgd2l0aG91dCBzdWZmaXgucgEAAABOKQPaBXByaW50cgQAAAByBgAAACkEcgorKwAAAHII AAAAcgsAAAByEAAAAHINAAAAcg0AAAByDgAAAHIGAAAAKgAAAHMGAAAACAISAQQBcgYAAABOKQFy EgAAACkQ2gdfX2RvY19f2gorK19fZnV0dXJlX19yAgAAAHISAAAAcgQAAAByDwAAAFoNbGlzdF9j b21wcmVzc1oJbGlzdF9sem1hWgdsaXN0X3h6WglsaXN0X2x6aXBaCisrbGlzdF9scnppcFoJbGlz dF9yemlwchEAAABaCGxpc3Rfc2huWglsaXN0X2ZsYWNyBgAAAHINAAAAcg0AAAByDQAAAHIOAAAA 2gg8bW9kdWxlPgEAAABzJgAAAAQPDAIMAQgDAgorKwb6AgEC/wICAv4CAwL9AgQCAQgDAgYE/gIB DgMKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJl YW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9weV9nemlwLmNweXRob24tMzEw LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHlj YWNoZV9fL3B5X2d6aXAuY3B5dGhvbi0zMTAucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv cGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vcHlfZ3ppcC5jcHl0aG9uLTMxMC5weWMJMTk3 MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL3B5X2d6aXAuY3B5dGhvbi0z MTAucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDMx IEBACisrbw0NCisrAAAAAJpNm1b3CAAA4wAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHM8AAAAZABa AGQBZAJsAW0CWgIBAGQBZANsA1oDZARkBWwEbQVaBQEAZAZaBmQHZAiEAFoHZAlkCisrhABaCGQD UwApC3osQXJjaGl2ZSBjb21tYW5kcyBmb3IgdGhlIGd6aXAgUHl0aG9uIG1vZHVsZS7pAAAAACkB 2g9hYnNvbHV0ZV9pbXBvcnRO6QIAAAApAdoEdXRpbGkAABAAYwYAAAAAAAAAAAAAAAwAAAAKKysA AABDAAAAc9QAAAB0AKABfAV8AKECfQZ6S3QCoAN8AKEBjzt9B3QEfAZkAYMCjxt9CHwHoAV0BqEB fQl8CXImfAigB3wJoQEBAHwHoAV0BqEBfQl8CXMaVwBkAgQABACDAwEAbhExAHMwdwEBAAEAAQBZ AAEAVwBkAgQABACDAwEAVwBkAlMAVwBkAgQABACDAwEAVwBkAlMAMQBzSncBAQABAAEAWQABAFcA ZAJTAAQAdAh5aQEAfQorKwEAegxkA3wAfAZ8CisrZgMWAH0LdACgCXwLoQGCAWQCfQorK34KKyt3 AXcAKQR6M0V4dHJhY3QgYSBHWklQIGFyY2hpdmUgd2l0aCB0aGUgZ3ppcCBQeXRob24gbW9kdWxl LtoCd2JOeh1lcnJvciBleHRyYWN0aW5nICVzIHRvICVzOiAlcykKKytyBAAAANoSZ2V0X3Npbmds ZV9vdXRmaWxl2gRnemlw2ghHemlwRmlsZdoEb3BlbtoEcmVhZNoPUkVBRF9TSVpFX0JZVEVT2gV3 cml0ZdoJRXhjZXB0aW9u2gtQYXRvb2xFcnJvcikM2gdhcmNoaXZl2gtjb21wcmVzc2lvbtoDY21k 2gl2ZXJib3NpdHnaC2ludGVyYWN0aXZl2gZvdXRkaXLaCisrdGFyZ2V0bmFtZdoIZ3ppcGZpbGXa CisrdGFyZ2V0ZmlsZdoEZGF0YdoDZXJy2gNtc2epAHIbAAAA+jsvYnVpbGRkaXIvcGF0b29sLXVw c3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvcHlfZ3ppcC5wedoMZXh0cmFjdF9nemlwGAAA AHMuAAAADAICAQwBDAEKKysBBAEKKysBCisrAQT+AoAe/gz/BAkC+Az/BAkS9wQJDv0OAQorKwEI gAL+ch0AAABjBgAAAAAAAAAAAAAADAAAAAorKwAAAEMAAABz5gAAAHQAfAWDAWQBawRyC3QBoAJk AqEBggF6UHQDoAR8AGQDoQKPP30GfAVkBBkAfQd0BXwHZAWDAo8bfQh8CKAGdAehAX0JfAlyMHwG oAh8CaEBAQB8CKAGdAehAX0JfAlzJFcAZAYEAAQAgwMBAG4RMQBzOncBAQABAAEAWQABAFcAZAYE AAQAgwMBAFcAZAZTAFcAZAYEAAQAgwMBAFcAZAZTADEAc1R3AQEAAQABAFkAAQBXAGQGUwAEAHQJ eXIBAH0KKysBAHoLZAd8AHwKKytmAhYAfQt0AaACfAuhAYIBZAZ9CisrfgorK3cBdwApCHoyQ3Jl YXRlIGEgR1pJUCBhcmNoaXZlIHdpdGggdGhlIGd6aXAgUHl0aG9uIG1vZHVsZS7pAQAAAHozbXVs dGktZmlsZSBjb21wcmVzc2lvbiBub3Qgc3VwcG9ydGVkIGluIFB5dGhvbiBnemlwcgUAAAByAQAA ANoCcmJOehVlcnJvciBjcmVhdGluZyAlczogJXMpCisr2gNsZW5yBAAAAHIOAAAAcgcAAAByCAAA AHIJAAAAcgorKwAAAHILAAAAcgwAAAByDQAAACkMcg8AAAByEAAAAHIRAAAAchIAAAByEwAAANoJ ZmlsZW5hbWVzchYAAADaCGZpbGVuYW1l2gdzcmNmaWxlchgAAAByGQAAAHIaAAAAchsAAAByGwAA AHIcAAAA2gtjcmVhdGVfZ3ppcCgAAABzMgAAAAwCCisrAQIBDgEIAQwBCisrAQQBCisrAQorKwEE /gKAHv4M/gQKKysC+Az+BAorKxL2BAorKw79DAEKKysBCIAC/nIkAAAAKQnaB19fZG9jX1/aCisr X19mdXR1cmVfX3ICAAAAcgcAAADaAHIEAAAAcgsAAAByHQAAAHIkAAAAchsAAAByGwAAAHIbAAAA chwAAADaCDxtb2R1bGU+AQAAAHMOAAAABA8MAQgCDAEEAggCDBAKK1wgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9n cmFtcy9fX3B5Y2FjaGVfXy9weV9sem1hLmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0t MS4xMi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL3B5X2x6bWEuY3B5dGhv bi0zMTAucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvX19w eWNhY2hlX18vcHlfbHptYS5jcHl0aG9uLTMxMC5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3By b2dyYW1zL19fcHljYWNoZV9fL3B5X2x6bWEuY3B5dGhvbi0zMTAucHljCTIwMjEtMTItMDIgMjI6 MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDMzIEBACisrbw0NCisrAAAAAJpNm1Y0 DAAA4wAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHNQAAAAZABaAGQBZAJsAW0CWgIBAGQDZARsA1oD ZAVaBGQGZAeEAFoFZAhkCYQAWgZkCisrZAuEAFoHZAxkDYQAWghkDmQPhABaCWQQZBGEAFoKKytk BFMAKRJ6LEFyY2hpdmUgY29tbWFuZHMgZm9yIHRoZSBsem1hIFB5dGhvbiBtb2R1bGUu6QIAAAAp AdoEdXRpbOkAAAAATmkAABAAYwYAAAAAAAAAAAAAAAwAAAAKKysAAABDAAAAc9gAAAB0AKABfAV8 AKECfQZ6TXQCagN8AHwDZAGNAo87fQd0BHwGZAKDAo8bfQh8B6AFdAahAX0JfAlyKHwIoAd8CaEB AQB8B6AFdAahAX0JfAlzHFcAZAMEAAQAgwMBAG4RMQBzMncBAQABAAEAWQABAFcAZAMEAAQAgwMB AFcAZANTAFcAZAMEAAQAgwMBAFcAZANTADEAc0x3AQEAAQABAFkAAQBXAGQDUwAEAHQIeWsBAH0K KysBAHoMZAR8AHwGfAorK2YDFgB9C3QAoAl8C6EBggFkA30KKyt+CisrdwF3ACkFejpFeHRyYWN0 IGFuIExaTUEgb3IgWFogYXJjaGl2ZSB3aXRoIHRoZSBsem1hIFB5dGhvbiBtb2R1bGUuKQHaBmZv cm1hdNoCd2JOeh1lcnJvciBleHRyYWN0aW5nICVzIHRvICVzOiAlcykKKytyAgAAANoSZ2V0X3Np bmdsZV9vdXRmaWxl2gRsem1h2ghMWk1BRmlsZdoEb3BlbtoEcmVhZNoPUkVBRF9TSVpFX0JZVEVT 2gV3cml0ZdoJRXhjZXB0aW9u2gtQYXRvb2xFcnJvcikM2gdhcmNoaXZl2gtjb21wcmVzc2lvbtoD Y21kcgQAAADaCXZlcmJvc2l0edoGb3V0ZGly2gorK3RhcmdldG5hbWXaCGx6bWFmaWxl2gorK3Rh cmdldGZpbGXaBGRhdGHaA2VyctoDbXNnqQByGgAAAPo7L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVh bS0xLjEyL3BhdG9vbGliL3Byb2dyYW1zL3B5X2x6bWEucHnaCF9leHRyYWN0FgAAAHMuAAAADAIC ARABDAEKKysBBAEKKysBCisrAQT+AoAe/gz/BAkC+Az/BAkS9wQJDv0OAQorKwEIgAL+chwAAABj BgAAAAAAAAAAAAAABgAAAAcAAABDAAAA8xQAAAB0AHwAfAF8AnQBagJ8A3wFgwZTACkCejRFeHRy YWN0IGFuIExaTUEgYXJjaGl2ZSB3aXRoIHRoZSBsem1hIFB5dGhvbiBtb2R1bGUuTikDchwAAABy BwAAANoMRk9STUFUX0FMT05FqQZyDwAAAHIQAAAAchEAAAByEgAAANoLaW50ZXJhY3RpdmVyEwAA AHIaAAAAchoAAAByGwAAANoMZXh0cmFjdF9sem1hJQAAAPMCAAAAFAJyIQAAAGMGAAAAAAAAAAAA AAAGAAAABwAAAEMAAAByHQAAACkCejJFeHRyYWN0IGFuIFhaIGFyY2hpdmUgd2l0aCB0aGUgbHpt YSBQeXRob24gbW9kdWxlLk4pA3IcAAAAcgcAAADaCUZPUk1BVF9YWnIfAAAAchoAAAByGgAAAHIb AAAA2gorK2V4dHJhY3RfeHopAAAAciIAAAByJAAAAGMGAAAAAAAAAAAAAAAMAAAACisrAAAAQwAA AHPsAAAAdAB8BYMBZAFrBHILdAGgAmQCoQGCAXpTdANqBHwAZAN8A2QEZAWNBI8/fQZ8BWQGGQB9 B3QFfAdkB4MCjxt9CHwIoAZ0B6EBfQl8CXIzfAagCHwJoQEBAHwIoAZ0B6EBfQl8CXMnVwBkCAQA BACDAwEAbhExAHM9dwEBAAEAAQBZAAEAVwBkCAQABACDAwEAVwBkCFMAVwBkCAQABACDAwEAVwBk CFMAMQBzV3cBAQABAAEAWQABAFcAZAhTAAQAdAl5dQEAfQorKwEAegtkCXwAfAorK2YCFgB9C3QB oAJ8C6EBggFkCH0KKyt+CisrdwF3ACkKKyt6OUNyZWF0ZSBhbiBMWk1BIG9yIFhaIGFyY2hpdmUg d2l0aCB0aGUgbHptYSBQeXRob24gbW9kdWxlLukBAAAAejNtdWx0aS1maWxlIGNvbXByZXNzaW9u IG5vdCBzdXBwb3J0ZWQgaW4gUHl0aG9uIGx6bWFyBQAAAOkJAAAAKQPaBG1vZGVyBAAAANoGcHJl c2V0cgMAAADaAnJiTnoVZXJyb3IgY3JlYXRpbmcgJXM6ICVzKQorK9oDbGVucgIAAAByDgAAAHIH AAAAcggAAAByCQAAAHIKKysAAAByCwAAAHIMAAAAcg0AAAApDHIPAAAAchAAAAByEQAAAHIEAAAA chIAAADaCWZpbGVuYW1lc3IVAAAA2ghmaWxlbmFtZdoHc3JjZmlsZXIXAAAAchgAAAByGQAAAHIa AAAAchoAAAByGwAAANoHX2NyZWF0ZS4AAABzMgAAAAwCCisrAQIBFAEIAQwBCisrAQQBCisrAQor KwEE/gKAHv4M/gQKKysC+Az+BAorKxL2BAorKw79DAEKKysBCIAC/nIuAAAAYwYAAAAAAAAAAAAA AAYAAAAHAAAAQwAAAHIdAAAAKQJ6M0NyZWF0ZSBhbiBMWk1BIGFyY2hpdmUgd2l0aCB0aGUgbHpt YSBQeXRob24gbW9kdWxlLk4pA3IuAAAAcgcAAAByHgAAAKkGcg8AAAByEAAAAHIRAAAAchIAAABy IAAAAHIrAAAAchoAAAByGgAAAHIbAAAA2gtjcmVhdGVfbHptYT8AAAByIgAAAHIwAAAAYwYAAAAA AAAAAAAAAAYAAAAHAAAAQwAAAHIdAAAAKQJ6MUNyZWF0ZSBhbiBYWiBhcmNoaXZlIHdpdGggdGhl IGx6bWEgUHl0aG9uIG1vZHVsZS5OKQNyLgAAAHIHAAAAciMAAAByLwAAAHIaAAAAchoAAAByGwAA ANoJY3JlYXRlX3h6QwAAAHIiAAAAcjEAAAApC9oHX19kb2NfX9oAcgIAAAByBwAAAHILAAAAchwA AAByIQAAAHIkAAAAci4AAAByMAAAAHIxAAAAchoAAAByGgAAAHIaAAAAchsAAADaCDxtb2R1bGU+ AQAAAHMUAAAABA8MAQgBBAIIAggPCAQIBQgRDAQKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5 Y2FjaGVfXy9weV90YXJmaWxlLmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL3B5X3RhcmZpbGUuY3B5dGhvbi0z MTAucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvcGF0b29saWIvcHJvZ3JhbXMvX19weWNh Y2hlX18vcHlfdGFyZmlsZS5jcHl0aG9uLTMxMC5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3By b2dyYW1zL19fcHljYWNoZV9fL3B5X3RhcmZpbGUuY3B5dGhvbi0zMTAucHljCTIwMjEtMTItMDIg MjI6MjM6MTAuNTc4ODMyMzIwICswMTAwCitAQCAtMCwwICsxLDE4IEBACisrbw0NCisrAAAAAJpN m1a9CQAA4wAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHNIAAAAZABaAGQBZAJsAW0CWgJtA1oDAQBk A2QEbARaBGQFWgVkBmQHhABaBmUGWgdkCGQJhABaCGQKKytkC4QAWglkDGQNhABaCisrZARTACkO ei9BcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgdGFyZmlsZSBQeXRob24gbW9kdWxlLukCAAAAKQLa BHV0aWzaB3B5X2x6bWHpAAAAAE5pAAAQAGMFAAAAAAAAAAAAAAAIAAAACisrAAAAQwAAAHN0AAAA eiJ0AKABfAChAY8SfQV8BWoCfANkAWsEZAKNAQEAVwBkAwQABACDAwEAVwBkA1MAMQBzG3cBAQAB AAEAWQABAFcAZANTAAQAdAN5OQEAfQYBAHoLZAR8AHwGZgIWAH0HdASgBXwHoQGCAWQDfQZ+BncB dwApBXoyTGlzdCBhIFRBUiBhcmNoaXZlIHdpdGggdGhlIHRhcmZpbGUgUHl0aG9uIG1vZHVsZS7p AQAAACkB2gd2ZXJib3NlTnoUZXJyb3IgbGlzdGluZyAlczogJXMpBtoHdGFyZmlsZdoEb3BlbtoE bGlzdNoJRXhjZXB0aW9ucgIAAADaC1BhdG9vbEVycm9yKQjaB2FyY2hpdmXaC2NvbXByZXNzaW9u 2gNjbWTaCXZlcmJvc2l0edoLaW50ZXJhY3RpdmXaBXRmaWxl2gNlcnLaA21zZ6kAchQAAAD6Pi9i dWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9ncmFtcy9weV90YXJmaWxl LnB52ghsaXN0X3RhchcAAABzGAAAAAICDAESAQz/BAUS+wQFDv0MAQorKwEIgAL+chYAAABjBgAA AAAAAAAAAAAACQAAAAorKwAAAEMAAABzcAAAAHogdACgAXwAoQGPEH0GfAZqAnwFZAGNAQEAVwBk AgQABACDAwEAVwBkAlMAMQBzGXcBAQABAAEAWQABAFcAZAJTAAQAdAN5NwEAfQcBAHoLZAN8AHwH ZgIWAH0IdASgBXwIoQGCAWQCfQd+B3cBdwApBHo1RXh0cmFjdCBhIFRBUiBhcmNoaXZlIHdpdGgg dGhlIHRhcmZpbGUgUHl0aG9uIG1vZHVsZS4pAdoEcGF0aE56F2Vycm9yIGV4dHJhY3RpbmcgJXM6 ICVzKQZyBwAAAHIIAAAA2gorK2V4dHJhY3RhbGxyCisrAAAAcgIAAAByCwAAACkJcgwAAAByDQAA AHIOAAAAcg8AAAByEAAAANoGb3V0ZGlychEAAAByEgAAAHITAAAAchQAAAByFAAAAHIVAAAA2gtl eHRyYWN0X3RhciMAAABzGAAAAAICDAEOAQz/BAUS+wQFDv0MAQorKwEIgAL+choAAABjBgAAAAAA AAAAAAAACwAAAAorKwAAAEMAAABzggAAAHQAfAGDAX0GeiV0AaACfAB8BqECjxR9B3wFRABdB30I fAegA3wIoQEBAHEOVwBkAQQABACDAwEAVwBkAVMAMQBzIncBAQABAAEAWQABAFcAZAFTAAQAdAR5 QAEAfQkBAHoLZAJ8AHwJZgIWAH0KKyt0BaAGfAorK6EBggFkAX0Jfgl3AXcAKQN6NENyZWF0ZSBh IFRBUiBhcmNoaXZlIHdpdGggdGhlIHRhcmZpbGUgUHl0aG9uIG1vZHVsZS5OehVlcnJvciBjcmVh dGluZyAlczogJXMpB9oMZ2V0X3Rhcl9tb2RlcgcAAAByCAAAANoDYWRkcgorKwAAAHICAAAAcgsA AAApC3IMAAAAcg0AAAByDgAAAHIPAAAAchAAAADaCWZpbGVuYW1lc9oEbW9kZXIRAAAA2ghmaWxl bmFtZXISAAAAchMAAAByFAAAAHIUAAAAchUAAADaCisrY3JlYXRlX3Rhci4AAABzHgAAAAgCAgEO AQgBDAEC/wz/BAYS+gQGDv0MAQorKwEIgAL+ciAAAABjAQAAAAAAAAAAAAAAAgAAAAQAAABDAAAA c0IAAAB8AGQBawJyBmQCUwB8AGQDawJyDGQEUwB8AGQFawJyFHQAchRkBlMAfAByH2QHfQF0AaAC fAF8ABYAoQGCAWQIUwApCisrej9EZXRlcm1pbmUgdGFyZmlsZSBvcGVuIG1vZGUgYWNjb3JkaW5n IHRvIHRoZSBnaXZlbiBjb21wcmVzc2lvbi7aBGd6aXB6BHc6Z3raBWJ6aXAyegV3OmJ6MtoEbHpt YXoEdzp4enoxcHl0YXJmaWxlIGRvZXMgbm90IHN1cHBvcnQgJXMgZm9yIHRhciBjb21wcmVzc2lv btoBd04pA3IDAAAAcgIAAAByCwAAACkCcg0AAAByEwAAAHIUAAAAchQAAAByFQAAAHIbAAAAOwAA AHMUAAAACAIEAQgBBAEMAQQBBAEEAQ4BBAJyGwAAACkL2gdfX2RvY19f2gByAgAAAHIDAAAAcgcA AADaD1JFQURfU0laRV9CWVRFU3IWAAAA2gh0ZXN0X3RhcnIaAAAAciAAAAByGwAAAHIUAAAAchQA AAByFAAAAHIVAAAA2gg8bW9kdWxlPgEAAABzEgAAAAQPEAEIAQQCCAMECisrCAIICwwNCitcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIv cGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vcHlfemlwZmlsZS5jcHl0aG9uLTMxMC5weWMg cGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVf Xy9weV96aXBmaWxlLmNweXRob24tMzEwLnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Bh dG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9fL3B5X3ppcGZpbGUuY3B5dGhvbi0zMTAucHljCTE5 NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEu MTItcGF0Y2hlZC9wYXRvb2xpYi9wcm9ncmFtcy9fX3B5Y2FjaGVfXy9weV96aXBmaWxlLmNweXRo b24tMzEwLnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3ODgzMjMyMCArMDEwMAorQEAgLTAsMCAr MSwyMiBAQAorK28NDQorKwAAAACaTZtW+AkAAOMAAAAAAAAAAAAAAAAAAAAAAgAAAEAAAABzWAAA AGQAWgBkAWQCbAFtAloCAQBkA2QEbANtBFoEAQBkAWQFbAVaBWQBZAVsBloGZAZaB2QHZAiEAFoI ZQhaCWQJZAorK4QAWgorK2QLZAyEAFoLZA1kDoQAWgxkBVMAKQ96L0FyY2hpdmUgY29tbWFuZHMg Zm9yIHRoZSB6aXBmaWxlIFB5dGhvbiBtb2R1bGUu6QAAAAApAdoOcHJpbnRfZnVuY3Rpb27pAgAA ACkB2gR1dGlsTmkAABAAYwUAAAAAAAAAAAAAAAkAAAAKKysAAABDAAAAc4QAAAB6KnQAoAF8AGQB oQKPGX0FfAWgAqEARABdCisrfQZ8A2QCawVyFnQDfAaDAQEAcQxXAGQDBAAEAIMDAQBXAGQDUwAx AHMjdwEBAAEAAQBZAAEAVwBkA1MABAB0BHlBAQB9BwEAegtkBHwAfAdmAhYAfQh0BaAGfAihAYIB ZAN9B34HdwF3ACkFejxMaXN0IG1lbWJlciBvZiBhIFpJUCBhcmNoaXZlIHdpdGggdGhlIHppcGZp bGUgUHl0aG9uIG1vZHVsZS7aAXJyAQAAAE56FGVycm9yIGxpc3RpbmcgJXM6ICVzKQfaB3ppcGZp bGXaB1ppcEZpbGXaCG5hbWVsaXN02gVwcmludNoJRXhjZXB0aW9ucgQAAADaC1BhdG9vbEVycm9y KQnaB2FyY2hpdmXaC2NvbXByZXNzaW9u2gNjbWTaCXZlcmJvc2l0edoLaW50ZXJhY3RpdmXaBXpm aWxl2gRuYW1l2gNlcnLaA21zZ6kAchUAAAD6Pi9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4x Mi9wYXRvb2xpYi9wcm9ncmFtcy9weV96aXBmaWxlLnB52ghsaXN0X3ppcBkAAABzIAAAAAICDgEM AQgBCAECgAL+DP8EBxL5BAcO/QwBCisrAQiAAv5yFwAAAGMGAAAAAAAAAAAAAAAJAAAACisrAAAA QwAAAHNuAAAAeh90AKABfAChAY8PfQZ8BqACfAWhAQEAVwBkAQQABACDAwEAVwBkAVMAMQBzGHcB AQABAAEAWQABAFcAZAFTAAQAdAN5NgEAfQcBAHoLZAJ8AHwHZgIWAH0IdASgBXwIoQGCAWQBfQd+ B3cBdwApA3o1RXh0cmFjdCBhIFpJUCBhcmNoaXZlIHdpdGggdGhlIHppcGZpbGUgUHl0aG9uIG1v ZHVsZS5OehdlcnJvciBleHRyYWN0aW5nICVzOiAlcykGcgYAAAByBwAAANoKKytleHRyYWN0YWxs cgorKwAAAHIEAAAAcgsAAAApCXIMAAAAcg0AAAByDgAAAHIPAAAAchAAAADaBm91dGRpcnIRAAAA chMAAAByFAAAAHIVAAAAchUAAAByFgAAANoLZXh0cmFjdF96aXAnAAAAcxgAAAACAgwBDAEM/wQF EvsEBQ79DAEKKysBCIAC/nIaAAAAYwYAAAAAAAAAAAAAAAorKwAAAAorKwAAAEMAAABzkgAAAHox dACgAXwAZAGhAo8gfQZ8BUQAXRN9B3QCagOgBHwHoQFyGHQFfAZ8B4MCAQBxCisrfAagBnwHoQEB AHEKKytXAGQCBAAEAIMDAQBXAGQCUwAxAHMqdwEBAAEAAQBZAAEAVwBkAlMABAB0B3lIAQB9CAEA egtkA3wAfAhmAhYAfQl0CKAJfAmhAYIBZAJ9CH4IdwF3ACkEejRDcmVhdGUgYSBaSVAgYXJjaGl2 ZSB3aXRoIHRoZSB6aXBmaWxlIFB5dGhvbiBtb2R1bGUu2gF3TnoVZXJyb3IgY3JlYXRpbmcgJXM6 ICVzKQorK3IGAAAAcgcAAADaAm9z2gRwYXRo2gVpc2RpctoPd3JpdGVfZGlyZWN0b3J52gV3cml0 ZXIKKysAAAByBAAAAHILAAAAKQorK3IMAAAAcg0AAAByDgAAAHIPAAAAchAAAADaCWZpbGVuYW1l c3IRAAAA2ghmaWxlbmFtZXITAAAAchQAAAByFQAAAHIVAAAAchYAAADaCisrY3JlYXRlX3ppcDIA AABzIAAAAAICDgEIAQwBDAEMAgL8DP8ECRL3BAkO/QwBCisrAQiAAv5yIwAAAGMCAAAAAAAAAAAA AAAGAAAACAAAAEMAAABzQgAAAHQAoAF8AaEBRABdGVwDfQJ9A30EfACgAnwCoQEBAHwERABdDH0F fACgAnQAagOgBHwCfAWhAqEBAQBxEXEFZAFTACkCekRXcml0ZSByZWN1cnNpdmVseSBhbGwgZGly ZWN0b3JpZXMgYW5kIGZpbGVuYW1lcyB0byB6aXBmaWxlIGluc3RhbmNlLk4pBXIcAAAA2gR3YWxr ciAAAAByHQAAANoEam9pbikGchEAAADaCWRpcmVjdG9yedoHZGlycGF0aNoIZGlybmFtZXNyIQAA AHIiAAAAchUAAAByFQAAAHIWAAAAch8AAABBAAAAcwwAAAAUAgorKwEIARYBAv8E/nIfAAAAKQ3a B19fZG9jX1/aCisrX19mdXR1cmVfX3ICAAAA2gByBAAAAHIGAAAAchwAAADaD1JFQURfU0laRV9C WVRFU3IXAAAA2gh0ZXN0X3ppcHIaAAAAciMAAAByHwAAAHIVAAAAchUAAAByFQAAAHIWAAAA2gg8 bW9kdWxlPgEAAABzFgAAAAQPDAEMAQgBCAEEAggDBAwIAggLDA8KK1wgTm8gbmV3bGluZSBhdCBl bmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9n cmFtcy9fX3B5Y2FjaGVfXy90YXIuY3B5dGhvbi0zMTAucHljIHBhdG9vbC11cHN0cmVhbS0xLjEy LXBhdGNoZWQvcGF0b29saWIvcHJvZ3JhbXMvX19weWNhY2hlX18vdGFyLmNweXRob24tMzEwLnB5 YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3BhdG9vbGliL3Byb2dyYW1zL19fcHljYWNoZV9f L3Rhci5jcHl0aG9uLTMxMC5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAK KysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3BhdG9vbGliL3Byb2dyYW1zL19fcHlj YWNoZV9fL3Rhci5jcHl0aG9uLTMxMC5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzg4MzIzMjAg KzAxMDAKK0BAIC0wLDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtWMQkAAOMAAAAAAAAAAAAAAAAA AAAAAgAAAEAAAABzNAAAAGQAWgBkAWQCbAFaAWQDZASEAFoCZAVkBoQAWgNlA1oEZAdkCIQAWgVk CWQKKyuEAFoGZAJTACkLeilBcmNoaXZlIGNvbW1hbmRzIGZvciB0aGUgR05VIHRhciBwcm9ncmFt LukAAAAATmMGAAAAAAAAAAAAAAAHAAAABgAAAEMAAABzKgAAAHwCZAFnAn0GdAB8BnwBfAODAwEA fAagAWQCfABkA3wFZwShAQEAfAZTACkFehZFeHRyYWN0IGEgVEFSIGFyY2hpdmUuegktLWV4dHJh Y3T6Bi0tZmlsZXoLLS1kaXJlY3RvcnlOqQLaDGFkZF90YXJfb3B0c9oGZXh0ZW5kKQfaB2FyY2hp dmXaC2NvbXByZXNzaW9u2gNjbWTaCXZlcmJvc2l0edoLaW50ZXJhY3RpdmXaBm91dGRpctoHY21k bGlzdKkAcg0AAAD6Ny9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi9wYXRvb2xpYi9wcm9n cmFtcy90YXIucHnaC2V4dHJhY3RfdGFyFAAAAHMIAAAACAIMARIBBAFyDwAAAGMFAAAAAAAAAAAA AAAGAAAABAAAAEMAAABzJgAAAHwCZAFnAn0FdAB8BXwBfAODAwEAfAWgAWQCfABnAqEBAQB8BVMA KQR6E0xpc3QgYSBUQVIgYXJjaGl2ZS56Bi0tbGlzdHICAAAATnIDAAAAKQZyBgAAAHIHAAAAcggA AAByCQAAAHIKKysAAAByDAAAAHINAAAAcg0AAAByDgAAANoIbGlzdF90YXIbAAAAcwgAAAAIAgwB DgEEAXIQAAAAYwYAAAAAAAAAAAAAAAcAAAAFAAAAQwAAAHMyAAAAfAJkAWcCfQZ0AHwGfAF8A4MD AQB8BqABZAJ8AGQDZwOhAQEAfAagAXwFoQEBAHwGUwApBXoVQ3JlYXRlIGEgVEFSIGFyY2hpdmUu eggtLWNyZWF0ZXICAAAAegItLU5yAwAAACkHcgYAAAByBwAAAHIIAAAAcgkAAAByCisrAAAA2glm aWxlbmFtZXNyDAAAAHINAAAAcg0AAAByDgAAANoKKytjcmVhdGVfdGFyJAAAAHMKKysAAAAIAgwB EAEKKysBBAFyEgAAAGMDAAAAAAAAAAAAAAAFAAAABAAAAEMAAABzoAAAAHQAagGgAnwAZAEZAKEB fQN8AWQCawJyEnwAoANkA6EBAQBuMXwBZARrAnIcfACgA2QFoQEBAG4nfAFkBmsCciZ8AKADZAeh AQEAbh18AWQIdgByNnwDZAlrAnI2fACgA2QKKyt8ARYAoQEBAG4NfAFkC3YAckN8AX0EfACgBGQM fARnAqEBAQB8AmQNawRyTnwAoANkDqEBAQBkD1MAZA9TACkQehtBZGQgdGFyIG9wdGlvbnMgdG8g Y21kbGlzdC5yAQAAANoEZ3ppcHoCLXraCGNvbXByZXNzegItWtoFYnppcDJ6Ai1qKQLaBGx6bWHa Anh62gZic2R0YXJ6BC0tJXMpA3IWAAAAchcAAADaBGx6aXB6Fi0tdXNlLWNvbXByZXNzLXByb2dy YW3pAQAAAHoJLS12ZXJib3NlTikF2gJvc9oEcGF0aNoIYmFzZW5hbWXaBmFwcGVuZHIFAAAAKQVy DAAAAHIHAAAAcgkAAABaCHByb2duYW1l2gdwcm9ncmFtcg0AAAByDQAAAHIOAAAAcgQAAAAsAAAA cx4AAAAQAggBDAEIAQwBCAEMARABEAEIAQQDDgIIAQ4BBP9yBAAAACkH2gdfX2RvY19fchsAAABy DwAAAHIQAAAA2gh0ZXN0X3RhcnISAAAAcgQAAAByDQAAAHINAAAAcg0AAAByDgAAANoIPG1vZHVs ZT4BAAAAcw4AAAAEDwgBCAMIBwQHCAIMCAorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitk aWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL19fcHljYWNoZV9fL19faW5pdF9f LmNweXRob24tMzEwLnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHlj YWNoZV9fL19faW5pdF9fLmNweXRob24tMzEwLnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEy L3Rlc3RzL19fcHljYWNoZV9fL19faW5pdF9fLmNweXRob24tMzEwLnB5YwkxOTcwLTAxLTAxIDAx OjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQv dGVzdHMvX19weWNhY2hlX18vX19pbml0X18uY3B5dGhvbi0zMTAucHljCTIwMjEtMTItMDIgMjI6 MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDE5IEBACisrbw0NCisrAAAAAJpNm1ZE DgAA4wAAAAAAAAAAAAAAAAAAAAAFAAAAQAAAAHO0AAAAZABkAWwAWgBkAGQBbAFaAWQAZAFsAloC ZABkAWwDWgNkAGQBbARaBGUAagWgBmUHoQFaCGUAagWgCWUIZAKhAloKKytlAGoFoAllAGoFoAZl CKEBZAOhAloLZQFqDGQAGQBkBGsEcjZkBVoNbgJkBloNZAdkCIQAWg5kCWQKKyuEAFoPZAtkDIQA WhBkDWQOhABaEWQPZBCEAFoSZBFkEoQAWhNkE2QUhABaFGQVZBaEAFoVZAFTACkX6QAAAABO2gRk YXRhWgZwYXRvb2zpAgAAANoIX19uYW1lX1/aCWZ1bmNfbmFtZWMDAAAAAAAAAAAAAAAEAAAAAwAA AAMAAABzFAAAAIcAhwGHAmYDZAFkAoQIfQN8A1MAKQR6OERlY29yYXRvciBza2lwcGluZyB0ZXN0 IGlmIGdpdmVuIHRlc3RmdW5jIHJldHVybnMgRmFsc2UuYwEAAAAAAAAAAAAAAAIAAAAGAAAAEwAA AHMoAAAAhwGHAIcChwNmBGQBZAKECH0BdAB8AXQBdAKIAHQBgwKDAwEAfAFTACkDTmMAAAAAAAAA AAAAAAACAAAABQAAAB8AAABzKAAAAIgDiAKDAXMNdACgAWQBiACIAmYCFgChAYIBiAF8AGkAfAGk AY4BUwApAk56FiVzICVyIGlzIG5vdCBhdmFpbGFibGUpAtoGcHl0ZXN02gRza2lwqQLaBGFyZ3Pa Bmt3YXJncykE2gtkZXNjcmlwdGlvbtoEZnVuY9oEbmFtZdoIdGVzdGZ1bmOpAPowL2J1aWxkZGly L3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL19faW5pdF9fLnB52gduZXdmdW5jIwAAAHMGAAAA CAESAQ4Bei9fbmVlZF9mdW5jLjxsb2NhbHM+LmNoZWNrX2Z1bmMuPGxvY2Fscz4ubmV3ZnVuY6kD 2gdzZXRhdHRy2glmbmFtZWF0dHLaB2dldGF0dHKpAnIMAAAAchEAAACpA3ILAAAAcg0AAAByDgAA AKkBcgwAAAByEAAAANoKKytjaGVja19mdW5jIgAAAHMGAAAAEgESBAQBeh5fbmVlZF9mdW5jLjxs b2NhbHM+LmNoZWNrX2Z1bmNOcg8AAAApBHIOAAAAcg0AAAByCwAAAHIZAAAAcg8AAAByFwAAAHIQ AAAA2gorK19uZWVkX2Z1bmMgAAAAcwQAAAAQAgQHchoAAABjAQAAAAAAAAAAAAAAAQAAAAQAAABD AAAA8xAAAAB0AGQBZAKEAHwAZAODA1MAKQV6Q0RlY29yYXRvciBza2lwcGluZyB0ZXN0IGlmIGdp dmVuIG9wZXJhdGluZyBzeXN0ZW0gaXMgbm90IGF2YWlsYWJsZS5jAQAAAAAAAAAAAAAAAQAAAAIA AABTAAAAcworKwAAAHQAagF8AGsCUwCpAU4pAtoCb3NyDQAAAKkB2gF4cg8AAAByDwAAAHIQAAAA 2gg8bGFtYmRhPi4AAABzAgAAAAorKwB6Gm5lZWRzX29zLjxsb2NhbHM+LjxsYW1iZGE+ehBvcGVy YXRpbmcgc3lzdGVtTqkBchoAAACpAXINAAAAcg8AAAByDwAAAHIQAAAA2ghuZWVkc19vcywAAADz AgAAABACciMAAABjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAchsAAAApBXo6RGVjb3JhdG9yIHNr aXBwaW5nIHRlc3QgaWYgZ2l2ZW4gcHJvZ3JhbSBpcyBub3QgYXZhaWxhYmxlLmMBAAAAAAAAAAAA AAABAAAAAwAAAFMAAABzDAAAAHQAagGgAnwAoQFTAHIcAAAAKQPaCHBhdG9vbGli2gR1dGls2gxm aW5kX3Byb2dyYW1yHgAAAHIPAAAAcg8AAAByEAAAAHIgAAAAMwAAAHMCAAAADAB6H25lZWRzX3By b2dyYW0uPGxvY2Fscz4uPGxhbWJkYT7aB3Byb2dyYW1OciEAAAByIgAAAHIPAAAAcg8AAAByEAAA ANoNbmVlZHNfcHJvZ3JhbTEAAAByJAAAAHIpAAAAYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHIb AAAAKQV6Q0RlY29yYXRvciBza2lwcGluZyB0ZXN0IGlmIG5vdCBvbmUgb2YgZ2l2ZW4gcHJvZ3Jh bXMgYXJlIGF2YWlsYWJsZS5jAQAAAAAAAAAAAAAAAQAAAAQAAABTAAAAcxIAAAB0AHQBdAJqA2oE fACDAoMBUwByHAAAACkF2gNhbGzaA21hcHIlAAAAciYAAAByJwAAAHIeAAAAcg8AAAByDwAAAHIQ AAAAciAAAAA4AAAAcwIAAAASAHojbmVlZHNfb25lX3Byb2dyYW0uPGxvY2Fscz4uPGxhbWJkYT7a CHByb2dyYW1zTnIhAAAAKQFyLAAAAHIPAAAAcg8AAAByEAAAANoRbmVlZHNfb25lX3Byb2dyYW02 AAAAciQAAAByLQAAAGMBAAAAAAAAAAAAAAACAAAABAAAAEMAAABzFAAAAGQBZAKEAH0BdAB8AXwA ZAODA1MAKQV6OURlY29yYXRvciBza2lwcGluZyB0ZXN0IGlmIGdpdmVuIG1vZHVsZSBpcyBub3Qg YXZhaWxhYmxlLmMBAAAAAAAAAAAAAAABAAAACAAAAFMAAABzJgAAAHoIdACgAXwAoQEBAFcAZAFT AAQAdAJ5EgEAAQABAFkAZAJTAHcAKQNOVEYpA9oJaW1wb3J0bGli2g1pbXBvcnRfbW9kdWxl2gtJ bXBvcnRFcnJvcikB2gZtb2R1bGVyDwAAAHIPAAAAchAAAADaCisraGFzX21vZHVsZT0AAABzDAAA AAIBCisrAQYBDAEGAQL/eiBuZWVkc19tb2R1bGUuPGxvY2Fscz4uaGFzX21vZHVsZXoNUHl0aG9u IG1vZHVsZU5yIQAAACkCcg0AAAByMgAAAHIPAAAAcg8AAAByEAAAANoMbmVlZHNfbW9kdWxlOwAA AHMEAAAACAIMBnIzAAAAYwIAAAAAAAAAAAAAAAMAAAADAAAAAwAAAHMSAAAAhwCHAWYCZAFkAoQI fQJ8AlMAKQR6QERlY29yYXRvciBza2lwcGluZyB0ZXN0IGlmIGdpdmVuIHByb2dyYW0gY29kZWMg aXMgbm90IGF2YWlsYWJsZS5jAQAAAAAAAAAAAAAAAgAAAAYAAAATAAAAcyYAAACHAYcAhwJmA2QB ZAKECH0BdAB8AXQBdAKIAHQBgwKDAwEAfAFTACkDTmMAAAAAAAAAAAAAAAACAAAABQAAAB8AAABz RAAAAHQAagGgAogCoQFzDXQDoARkAYgCFgChAYIBdAWIAogAgwJzG3QDoARkAogAiAJmAhYAoQGC AYgBfABpAHwBpAGOAVMAKQNOehpwcm9ncmFtIGAlcycgbm90IGF2YWlsYWJsZXopY29kZWMgYCVz JyBmb3IgcHJvZ3JhbSBgJXMnIG5vdCBhdmFpbGFibGUpBnIlAAAAciYAAAByJwAAAHIGAAAAcgcA AADaCWhhc19jb2RlY3IIAAAAKQPaBWNvZGVj2gFmcigAAAByDwAAAHIQAAAAchEAAABJAAAAcwor KwAAAAwBDgEKKysBEgEOAXowbmVlZHNfY29kZWMuPGxvY2Fscz4uY2hlY2tfcHJvZy48bG9jYWxz Pi5uZXdmdW5jchIAAAApAnI2AAAAchEAAACpAnI1AAAAcigAAAApAXI2AAAAchAAAADaCisrY2hl Y2tfcHJvZ0gAAABzBgAAABABEgYEAXofbmVlZHNfY29kZWMuPGxvY2Fscz4uY2hlY2tfcHJvZ05y DwAAACkDcigAAAByNQAAAHI4AAAAcg8AAAByNwAAAHIQAAAA2gtuZWVkc19jb2RlY0YAAABzBAAA AA4CBAlyOQAAAGMCAAAAAAAAAAAAAAACAAAABAAAAEMAAABzNgAAAHwAZAFrAnINfAFkAmsCcg10 AGoBoAKhAFMAdACgA3wAfAGhAnIVZANTAHQAagGgBHwBoQFTACkFeiVUZXN0IGlmIHByb2dyYW0g c3VwcG9ydHMgZ2l2ZW4gY29kZWMuWgI3eloDcmFyVE4pBXIlAAAAciYAAABaEnA3emlwX3N1cHBv cnRzX3JhcloccHJvZ3JhbV9zdXBwb3J0c19jb21wcmVzc2lvbnInAAAAKQJyKAAAAHI1AAAAcg8A AAByDwAAAHIQAAAAcjQAAABUAAAAcworKwAAABACCisrAQwBBAEMAXI0AAAAYwAAAAAAAAAAAAAA AAEAAAACAAAAQwAAAHMMAAAAZAFkAoQAfQB8AFMAKQR6MlNraXAgdGVzdCBpZiBUUkFWSVMgYnVp bGQgZW52aXJvbm1lbnQgaXMgZGV0ZWN0ZWQuYwEAAAAAAAAAAAAAAAIAAAAGAAAAEwAAAHMiAAAA hwBmAWQBZAKECH0BdAB8AXQBdAKIAHQBgwKDAwEAfAFTACkDTmMAAAAAAAAAAAAAAAACAAAABAAA AB8AAABzIgAAAGQBdABqAXYAcgorK3QCoANkAqEBggGIAHwAaQB8AaQBjgFTACkDTloGVFJBVklT ehhTa2lwIG9uIFRSQVZJUyBDSSBidWlsZC4pBHIdAAAA2gdlbnZpcm9ucgYAAAByBwAAAHIIAAAA chgAAAByDwAAAHIQAAAAchEAAABgAAAAcwYAAAAKKysBCisrAQ4BejNza2lwX29uX3RyYXZpcy48 bG9jYWxzPi5jaGVja19mdW5jLjxsb2NhbHM+Lm5ld2Z1bmNyEgAAAHIWAAAAcg8AAAByGAAAAHIQ AAAAchkAAABfAAAAcwYAAAAMARIEBAF6InNraXBfb25fdHJhdmlzLjxsb2NhbHM+LmNoZWNrX2Z1 bmNOcg8AAAApAXIZAAAAcg8AAAByDwAAAHIQAAAA2g5za2lwX29uX3RyYXZpc10AAABzBAAAAAgC BAdyOwAAACkWch0AAADaA3N5c3IlAAAAcgYAAAByLgAAANoEcGF0aNoHZGlybmFtZdoIX19maWxl X1/aB2Jhc2VkaXLaBGpvaW5aB2RhdGFkaXJaCisrcGF0b29sX2NtZNoMdmVyc2lvbl9pbmZvchQA AAByGgAAAHIjAAAAcikAAAByLQAAAHIzAAAAcjkAAAByNAAAAHI7AAAAcg8AAAByDwAAAHIPAAAA chAAAADaCDxtb2R1bGU+AQAAAHMmAAAACA8IAQgBCAEIAQwCDgEWAQ4DBgEEAggCCAwIBQgFCAUI CwgODAkKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBz dHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X2NvbmZpZy5jcHl0aG9uLTMxMC1weXRl c3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvX19weWNhY2hl X18vdGVzdF9jb25maWcuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11 cHN0cmVhbS0xLjEyL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3RfY29uZmlnLmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3RfY29uZmln LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIy ODUgKzAxMDAKK0BAIC0wLDAgKzEsMTIgQEAKKytvDQ0KKysAAAAAmk2bVt8HAADjAAAAAAAAAAAA AAAAAAAAAAQAAABAAAAAc0AAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQAZAFsBloGZABk AWwHWgdHAGQCZAOEAGQDZQZqCIMDWglkAVMAKQTpAAAAAE5jAAAAAAAAAAAAAAAAAAAAAAIAAABA AAAAczQAAABlAFoBZABaAmQBZAKEAFoDZANkBIQAWgRkBWQGhABaBWQHZAiEAFoGZAlkCisrhABa B2QLUwApDNoRVGVzdENvbmZpZ3VyYXRpb25jAQAAAAAAAAAAAAAAAQAAAAYAAABDAAAAcyAAAAB8 AKAAdAF0AmoDgwF0AXQCagSgBaEAgwGhAgEAZABTAKkBTikG2gthc3NlcnRFcXVhbNoDc2V02ghw YXRvb2xpYtoOQXJjaGl2ZUZvcm1hdHPaEEFyY2hpdmVNaW1ldHlwZXPaBnZhbHVlc6kB2gRzZWxm qQByDAAAAPozL2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL3Rlc3RfY29uZmln LnB52hZ0ZXN0X2FyY2hpdmVfbWltZXR5cGVzFQAAAHMGAAAADAIMAQj/eihUZXN0Q29uZmlndXJh dGlvbi50ZXN0X2FyY2hpdmVfbWltZXR5cGVzYwEAAAAAAAAAAAAAAAMAAAAGAAAAQwAAAHNSAAAA fACgAHQBdAJqA4MBdAF0AmoEoAWhAIMBoQIBAHQCagSgBqEARABdE30BfAFEAF0OfQJ8AmQAdQFy JXwAoAd8AnQCagh2AKEBAQBxF3ETZABTAHIDAAAAKQlyBAAAAHIFAAAAcgYAAAByBwAAANoPQXJj aGl2ZVByb2dyYW1z2gRrZXlzcgkAAADaCisrYXNzZXJ0VHJ1ZdoPQXJjaGl2ZUNvbW1hbmRzKQNy CwAAANoIY29tbWFuZHPaB2NvbW1hbmRyDAAAAHIMAAAAcg0AAADaFXRlc3RfYXJjaGl2ZV9wcm9n cmFtcxoAAABzFAAAAAwCDAEE/w4CCAEIARABAoAC/gT/eidUZXN0Q29uZmlndXJhdGlvbi50ZXN0 X2FyY2hpdmVfcHJvZ3JhbXNjAQAAAAAAAAAAAAAAAQAAAAYAAABDAAAAcyAAAAB8AKAAdAF0AmoD gwGgBHQBdAJqBYMBoQGhAQEAZABTAHIDAAAAKQZyEQAAAHIFAAAAcgYAAADaE0FyY2hpdmVDb21w cmVzc2lvbnPaCGlzc3Vic2V0cgcAAAByCisrAAAAcgwAAAByDAAAAHINAAAA2hl0ZXN0X2NvbXBy ZXNzaW9uX3Byb2dyYW1zIwAAAHMGAAAADgEIAQorK/96K1Rlc3RDb25maWd1cmF0aW9uLnRlc3Rf Y29tcHJlc3Npb25fcHJvZ3JhbXNjAQAAAAAAAAAAAAAAAgAAAAYAAABDAAAAc0QAAAB8AKAAdAF0 AmoDgwF0AXQCagRqBaAGoQCDAaECAQB0AmoEagWgB6EARABdCisrfQF8AKAIfAF0AmoJdgChAQEA cRVkAFMAcgMAAAApCisrcgQAAAByBQAAAHIGAAAAchYAAADaBHV0aWzaDUVuY29kaW5nMk1pbWVy EAAAAHIJAAAAchEAAAByCAAAAKkCcgsAAADaBG1pbWVyDAAAAHIMAAAAcg0AAADaE3Rlc3RfZW5j b2RpbmdfbWltZXMnAAAAcwwAAAAMAQ4BBP8QAhIBBP96JVRlc3RDb25maWd1cmF0aW9uLnRlc3Rf ZW5jb2RpbmdfbWltZXNjAQAAAAAAAAAAAAAAAgAAAAUAAABDAAAAcyYAAAB0AGoBagKgA6EARABd CisrfQF8AKAEfAF0AGoFdgChAQEAcQZkAFMAcgMAAAApBnIGAAAAchkAAADaDUZpbGVUZXh0Mk1p bWVyCQAAAHIRAAAAcggAAAByGwAAAHIMAAAAcgwAAAByDQAAANoSdGVzdF9maWxldGV4dF9taW1l LQAAAHMGAAAAEAESAQT/eiRUZXN0Q29uZmlndXJhdGlvbi50ZXN0X2ZpbGV0ZXh0X21pbWVOKQja CF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX3IOAAAAchUAAAByGAAAAHIdAAAA ch8AAAByDAAAAHIMAAAAcgwAAAByDQAAAHICAAAAEwAAAHMMAAAACAAIAggFCAkIBAwGcgIAAAAp Cisr2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glh c3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoIdW5pdHRlc3RyBgAAANoIVGVzdENhc2Vy AgAAAHIMAAAAcgwAAAByDAAAAHINAAAA2gg8bW9kdWxlPgEAAABzBgAAACIPCAEWAgorXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rl c3RzL19fcHljYWNoZV9fL3Rlc3RfY3JlYXRlLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMg cGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X2NyZWF0 ZS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv dGVzdHMvX19weWNhY2hlX18vdGVzdF9jcmVhdGUuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5 YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVh bS0xLjEyLXBhdGNoZWQvdGVzdHMvX19weWNhY2hlX18vdGVzdF9jcmVhdGUuY3B5dGhvbi0zMTAt cHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAg LTAsMCArMSw5IEBACisrbw0NCisrAAAAAJpNm1Y3BQAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAA AHN0AAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAGQBbAZaBmQAZAFsB1oHZABkAWwIWghk AGQBbAlaCWQAZAJsCisrbQtaCwEAZANkBGwMbQ1aDW0OWg5tD1oPbRBaEAEARwBkBWQGhABkBmUG ahGDA1oSZAFTACkH6QAAAABOKQHaBHV0aWzpAQAAACkE2gdiYXNlZGly2gdkYXRhZGly2g1uZWVk c19wcm9ncmFt2gorK3BhdG9vbF9jbWRjAAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAcxwAAABlAFoB ZABaAmUDZAGDAWQCZAOEAIMBWgRkBFMAKQXaEUFyY2hpdmVDcmVhdGVUZXN02gI3emMBAAAAAAAA AAAAAAAFAAAACQAAAEMAAABzegAAAHQAagF0AmQBjQF9AXowdANqBKAFdAZkAqECdANqBKAFdAZk A6ECZwJ9AnQDagSgBXwBZAShAn0DdAdqCHQJZAVkBmQHfANnBn0EfASgCisrfAKhAQEAdACgC3wE oQEBAFcAdAygDXwBoQEBAGQAUwB0DKANfAGhAQEAdwApCE4pAdoDZGly2gF0egV0LnR4dHoEdC43 enoDLXZ2ehEtLW5vbi1pbnRlcmFjdGl2ZdoGY3JlYXRlKQ5yAgAAANoGdG1wZGlycgQAAADaAm9z 2gRwYXRo2gRqb2lucgUAAADaA3N5c9oKKytleGVjdXRhYmxlcgcAAADaBmV4dGVuZNoLcnVuX2No ZWNrZWTaBnNodXRpbNoGcm10cmVlKQXaBHNlbGZyDQAAANoFZmlsZXPaB2FyY2hpdmXaA2NtZKkA chsAAAD6My9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy90ZXN0X2NyZWF0ZS5w edoLdGVzdF9jcmVhdGUZAAAAcxAAAAAMAgIBHAEOARIBCisrAQwBGgJ6HUFyY2hpdmVDcmVhdGVU ZXN0LnRlc3RfY3JlYXRlTikF2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX19y BgAAAHIdAAAAchsAAAByGwAAAHIbAAAAchwAAAByCAAAABcAAABzBgAAAAgABgIOAXIIAAAAKRPa CGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2Vy dGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gh1bml0dGVzdHIOAAAAchEAAAByFQAAANoIcGF0 b29saWJyAgAAANoAcgQAAAByBQAAAHIGAAAAcgcAAADaCFRlc3RDYXNlcggAAAByGwAAAHIbAAAA chsAAAByHAAAANoIPG1vZHVsZT4BAAAAcw4AAAAiDwgBCAEIAQwBGAEWAgorXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL19f cHljYWNoZV9fL3Rlc3RfZGlmZi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvX19weWNhY2hlX18vdGVzdF9kaWZmLmNweXRob24t MzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5 Y2FjaGVfXy90ZXN0X2RpZmYuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAx IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvdGVzdHMvX19weWNhY2hlX18vdGVzdF9kaWZmLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5w eWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsOSBAQAor K28NDQorKwAAAACaTZtWowQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzaAAAAGQAZAFsAFoB ZABkAWwCbQMCAAEAbQRaBQEAZABkAWwGWgZkAGQBbAdaB2QAZAFsCFoIZABkAmwJbQorK1oKKysB AGQDZARsC20MWgxtDVoNbQ5aDgEARwBkBWQGhABkBmUGag+DA1oQZAFTACkH6QAAAABOKQHaC3J1 bl9jaGVja2Vk6QEAAAApA9oHZGF0YWRpctoNbmVlZHNfcHJvZ3JhbdoKKytwYXRvb2xfY21kYwAA AAAAAAAAAAAAAAAAAAAFAAAAQAAAAHMsAAAAZQBaAWQAWgJlA2QBgwFlA2QCgwFlA2QDgwFkBGQF hACDAYMBgwFaBGQGUwApB9oPQXJjaGl2ZURpZmZUZXN02gRkaWZm2gN0YXLaBXVuemlwYwEAAAAA AAAAAAAAAAMAAAAIAAAAQwAAAHM4AAAAdABqAaACdANkAaECfQF0AGoBoAJ0A2QCoQJ9AnQEdAVq BnQHZANkBGQFfAF8AmcHgwEBAGQAUwApBk56BXQudGFyegV0LnppcHoDLXZ2ehEtLW5vbi1pbnRl cmFjdGl2ZXIIAAAAKQjaAm9z2gRwYXRo2gRqb2lucgQAAAByAgAAANoDc3lz2gorK2V4ZWN1dGFi bGVyBgAAACkD2gRzZWxm2ghhcmNoaXZlMdoIYXJjaGl2ZTKpAHITAAAA+jEvYnVpbGRkaXIvcGF0 b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvdGVzdF9kaWZmLnB52gl0ZXN0X2RpZmYYAAAAcwYAAAAO BA4BHAF6GUFyY2hpdmVEaWZmVGVzdC50ZXN0X2RpZmZOKQXaCF9fbmFtZV9f2gorK19fbW9kdWxl X1/aDF9fcXVhbG5hbWVfX3IFAAAAchUAAAByEwAAAHITAAAAchMAAAByFAAAAHIHAAAAFgAAAHMK KysAAAAIAAYCBgEGARIBcgcAAAApEdoIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5h c3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaCHVuaXR0 ZXN0cgsAAAByDgAAAFoNcGF0b29saWIudXRpbHICAAAA2gByBAAAAHIFAAAAcgYAAADaCFRlc3RD YXNlcgcAAAByEwAAAHITAAAAchMAAAByFAAAANoIPG1vZHVsZT4BAAAAcwwAAAAiDwgBCAEMARQB FgIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJl YW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X2V4dHJhY3QuY3B5dGhvbi0zMTAtcHl0ZXN0 LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHljYWNoZV9f L3Rlc3RfZXh0cmFjdC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVw c3RyZWFtLTEuMTIvdGVzdHMvX19weWNhY2hlX18vdGVzdF9leHRyYWN0LmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3RfZXh0cmFj dC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc2ODMy Mjg1ICswMTAwCitAQCAtMCwwICsxLDEwIEBACisrbw0NCisrAAAAAJpNm1bLBAAA4wAAAAAAAAAA AAAAAAAAAAAEAAAAQAAAAHN0AAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAGQBbAZaBmQA ZAFsB1oHZABkAWwIWghkAGQBbAlaCWQAZAJsCisrbQtaCwEAZANkBGwMbQ1aDW0OWg5tD1oPbRBa EAEARwBkBWQGhABkBmUGahGDA1oSZAFTACkH6QAAAABOKQHaBHV0aWzpAQAAACkE2gdiYXNlZGly 2gdkYXRhZGly2g1uZWVkc19wcm9ncmFt2gorK3BhdG9vbF9jbWRjAAAAAAAAAAAAAAAAAAAAAAMA AABAAAAAcxwAAABlAFoBZABaAmUDZAGDAWQCZAOEAIMBWgRkBFMAKQXaEkFyY2hpdmVFeHRyYWN0 VGVzdNoCN3pjAQAAAAAAAAAAAAAAAwAAAAorKwAAAEMAAABzVAAAAHQAagF0AmQBjQF9AXoddANq BKAFdAZkAqECfQJ0AKAHdAhqCXQKKytkA2QEZAVkBnwBfAJnCKEBAQBXAHQLoAx8AaEBAQBkAFMA dAugDHwBoQEBAHcAKQdOKQHaA2RpcnoFdCAuN3p6Ay12dnoRLS1ub24taW50ZXJhY3RpdmXaB2V4 dHJhY3R6CC0tb3V0ZGlyKQ1yAgAAANoGdG1wZGlycgQAAADaAm9z2gRwYXRo2gRqb2lucgUAAADa C3J1bl9jaGVja2Vk2gNzeXPaCisrZXhlY3V0YWJsZXIHAAAA2gZzaHV0aWzaBnJtdHJlZSkD2gRz ZWxmcgwAAADaB2FyY2hpdmWpAHIXAAAA+jQvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIv dGVzdHMvdGVzdF9leHRyYWN0LnB52gx0ZXN0X2V4dHJhY3QZAAAAcworKwAAAAwCAgEOAR4BGgJ6 H0FyY2hpdmVFeHRyYWN0VGVzdC50ZXN0X2V4dHJhY3ROKQXaCF9fbmFtZV9f2gorK19fbW9kdWxl X1/aDF9fcXVhbG5hbWVfX3IGAAAAchkAAAByFwAAAHIXAAAAchcAAAByGAAAAHIIAAAAFwAAAHMG AAAACAAGAg4BcggAAAApE9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRp b24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaCHVuaXR0ZXN0cg0A AAByEQAAAHITAAAA2ghwYXRvb2xpYnICAAAA2gByBAAAAHIFAAAAcgYAAAByBwAAANoIVGVzdENh c2VyCAAAAHIXAAAAchcAAAByFwAAAHIYAAAA2gg8bW9kdWxlPgEAAABzDgAAACIPCAEIAQgBDAEY ARYCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3Ry ZWFtLTEuMTIvdGVzdHMvX19weWNhY2hlX18vdGVzdF9mb3JtYXRzLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9fX3B5Y2FjaGVf Xy90ZXN0X2Zvcm1hdHMuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11 cHN0cmVhbS0xLjEyL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3RfZm9ybWF0cy5jcHl0aG9uLTMxMC1w eXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysg cGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X2Zvcm1h dHMuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3Njgz MjI4NSArMDEwMAorQEAgLTAsMCArMSwxNSBAQAorK28NDQorKwAAAACaTZtWvwMAAOMAAAAAAAAA AAAAAAAAAAAABAAAAEAAAABzWAAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZABkAWwGWgZk AGQBbAdaB2QAZAJsCG0JWgkBAGQDZARsCisrbQtaCwEARwBkBWQGhABkBmUGagyDA1oNZAFTACkH 6QAAAABOKQHaC3J1bl9jaGVja2Vk6QEAAAApAdoKKytwYXRvb2xfY21kYwAAAAAAAAAAAAAAAAAA AAACAAAAQAAAAHMUAAAAZQBaAWQAWgJkAWQChABaA2QDUwApBNoLVGVzdEZvcm1hdHNjAQAAAAAA AAAAAAAAAQAAAAYAAABDAAAAcxgAAAB0AHQBagJ0A2QBZAJkA2cFgwEBAGQAUwApBE56Ay12dnoR LS1ub24taW50ZXJhY3RpdmXaB2Zvcm1hdHMpBHICAAAA2gNzeXPaCisrZXhlY3V0YWJsZXIEAAAA KQHaBHNlbGapAHIKKysAAAD6NC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy90 ZXN0X2Zvcm1hdHMucHnaEXRlc3RfbGlzdF9mb3JtYXRzFwAAAHMCAAAAGAF6HVRlc3RGb3JtYXRz LnRlc3RfbGlzdF9mb3JtYXRzTikE2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1l X19yDAAAAHIKKysAAAByCisrAAAAcgorKwAAAHILAAAAcgUAAAAVAAAAcwQAAAAIAAwCcgUAAAAp DtoIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNz ZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaCHVuaXR0ZXN0cgcAAABaDXBhdG9vbGliLnV0 aWxyAgAAANoAcgQAAADaCFRlc3RDYXNlcgUAAAByCisrAAAAcgorKwAAAHIKKysAAAByCwAAANoI PG1vZHVsZT4BAAAAcworKwAAACIPCAEMAQwBFgIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0 X2xpc3QuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3RfbGlzdC5jcHl0aG9uLTMxMC1weXRlc3QtNi4y LjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvX19weWNhY2hlX18vdGVzdF9s aXN0LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHlj YWNoZV9fL3Rlc3RfbGlzdC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIg MjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDkgQEAKKytvDQ0KKysAAAAAmk2b Vi0EAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc2gAAABkAGQBbABaAWQAZAFsAm0DAgABAG0E WgUBAGQAZAFsBloGZABkAWwHWgdkAGQBbAhaCGQAZAJsCW0KKytaCisrAQBkA2QEbAttDFoMbQ1a DW0OWg4BAEcAZAVkBoQAZAZlBmoPgwNaEGQBUwApB+kAAAAATikB2gtydW5fY2hlY2tlZOkBAAAA KQPaB2RhdGFkaXLaDW5lZWRzX3Byb2dyYW3aCisrcGF0b29sX2NtZGMAAAAAAAAAAAAAAAAAAAAA AwAAAEAAAABzHAAAAGUAWgFkAFoCZQNkAYMBZAJkA4QAgwFaBGQEUwApBdoPQXJjaGl2ZUxpc3RU ZXN02gN0YXJjAQAAAAAAAAAAAAAAAgAAAAcAAABDAAAAcygAAAB0AGoBoAJ0A2QBoQJ9AXQEdAVq BnQHZAJkA2QEfAFnBoMBAQBkAFMAKQVOegV0LnRhcnoDLXZ2ehEtLW5vbi1pbnRlcmFjdGl2ZdoE bGlzdCkI2gJvc9oEcGF0aNoEam9pbnIEAAAAcgIAAADaA3N5c9oKKytleGVjdXRhYmxlcgYAAAAp AtoEc2VsZtoHYXJjaGl2ZakAchEAAAD6MS9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90 ZXN0cy90ZXN0X2xpc3QucHnaCXRlc3RfbGlzdBgAAABzBAAAAA4CGgF6GUFyY2hpdmVMaXN0VGVz dC50ZXN0X2xpc3ROKQXaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX3IFAAAA chMAAAByEQAAAHIRAAAAchEAAAByEgAAAHIHAAAAFgAAAHMGAAAACAAGAg4BcgcAAAApEdoIYnVp bHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u 2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaCHVuaXR0ZXN0cgorKwAAAHINAAAAWg1wYXRvb2xpYi51 dGlscgIAAADaAHIEAAAAcgUAAAByBgAAANoIVGVzdENhc2VyBwAAAHIRAAAAchEAAAByEQAAAHIS AAAA2gg8bW9kdWxlPgEAAABzDAAAACIPCAEIAQwBFAEWAgorXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL19fcHljYWNoZV9f L3Rlc3RfbWltZS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0x LjEyLXBhdGNoZWQvdGVzdHMvX19weWNhY2hlX18vdGVzdF9taW1lLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90 ZXN0X21pbWUuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAw LjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMv X19weWNhY2hlX18vdGVzdF9taW1lLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0x Mi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsMjggQEAKKytvDQ0KKysA AAAAmk2bVrwwAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc1gAAABkAGQBbABaAWQAZAFsAm0D AgABAG0EWgUBAGQAZAFsBloGZABkAWwHWgdkAGQBbAhaCGQCZANsCW0KKytaCisrbQtaCwEARwBk BGQFhABkBWUGagyDA1oNZAFTACkG6QAAAABO6QEAAAApAtoNbmVlZHNfcHJvZ3JhbdoHZGF0YWRp cmMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzuAAAAGUAWgFkAFoCZAFkAoQAWgNkHGQEZAWEAVoE ZBxkBmQHhAFaBWUGZAiDAWQJZAorK4QAgwFaB2UGZAiDAWUGZAuDAWQMZA2EAIMBgwFaCGUGZAiD AWUGZA6DAWQPZBCEAIMBgwFaCWUGZAiDAWUGZBGDAWQSZBOEAIMBgwFaCisrZQZkCIMBZQZkFIMB ZBVkFoQAgwGDAVoLZQZkCIMBZQZkF4MBZBhkGYQAgwGDAVoMZBpkG4QAWg1kA1MAKR3aCFRlc3RN aW1lYwUAAAAAAAAAAAAAAAkAAAAJAAAAQwAAAHOGAAAAdABqAaACdAN8AqECfQV8AXwFgwFcAn0G fQdkAX0IdAR8A3QFgwJyJ3wAoAZ8BnwDdgB8CGQCfAJkA3QHfAODARYAfAZmBBYAoQIBAG4NfACg CHwGfAN8CGQCfAJ8A3wGZgQWAKEDAQB8AKAIfAd8BHwIZAR8AnwEfAdmBBYAoQMBAGQFUwApBnpT VGVzdCB0aGF0IGZpbGUgaGFzIGdpdmVuIG1pbWUgYW5kIGVuY29kaW5nIGFzIGRldGVybWluZWQg YnkKKysgICAgICAgIGdpdmVuIGZ1bmN0aW9uLnosJXMgZm9yIGFyY2hpdmUgYCVzJyBzaG91bGQg YmUgJXMsIGJ1dCB3YXMgJXN6CU1JTUUgdHlwZXoFaW4gJXNaCEVuY29kaW5nTikJ2gJvc9oEcGF0 aNoEam9pbnIEAAAA2gorK2lzaW5zdGFuY2XaBXR1cGxl2gorK2Fzc2VydFRydWXaA3N0ctoLYXNz ZXJ0RXF1YWwpCdoEc2VsZtoEZnVuY9oIZmlsZW5hbWXaBG1pbWXaCGVuY29kaW5n2gdhcmNoaXZl WglmaWxlX21pbWXaDWZpbGVfZW5jb2RpbmdaCGZhaWxfbXNnqQByFQAAAPoxL2J1aWxkZGlyL3Bh dG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL3Rlc3RfbWltZS5wedoJbWltZV90ZXN0GAAAAHMOAAAA DgMMAQQBCisrASYBGgIeAXoSVGVzdE1pbWUubWltZV90ZXN0TmMEAAAAAAAAAAAAAAAEAAAABgAA AEMAAADzGAAAAHwAoAB0AWoCagN8AXwCfAOhBAEAZAFTACkCekxUZXN0IHRoYXQgZmlsZSBoYXMg Z2l2ZW4gbWltZSBhbmQgZW5jb2RpbmcgYXMgZGV0ZXJtaW5lZCBieQorKyAgICAgICAgZmlsZSgx KS5OKQRyFwAAANoIcGF0b29saWLaBHV0aWzaD2d1ZXNzX21pbWVfZmlsZakEcg4AAAByEAAAAHIR AAAAchIAAAByFQAAAHIVAAAAchYAAADaDm1pbWVfdGVzdF9maWxlJAAAAPMCAAAAGAN6F1Rlc3RN aW1lLm1pbWVfdGVzdF9maWxlYwQAAAAAAAAAAAAAAAQAAAAGAAAAQwAAAHIYAAAAKQJ6WVRlc3Qg dGhhdCBmaWxlIGhhcyBnaXZlbiBtaW1lIGFuZCBlbmNvZGluZyBhcyBkZXRlcm1pbmVkIGJ5IHRo ZQorKyAgICAgICAgbWltZXR5cGVzIG1vZHVsZS5OKQRyFwAAAHIZAAAAchoAAADaEWd1ZXNzX21p bWVfbWltZWRichwAAAByFQAAAHIVAAAAchYAAADaEG1pbWVfdGVzdF9taW1lZGIpAAAAch4AAAB6 GVRlc3RNaW1lLm1pbWVfdGVzdF9taW1lZGLaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAUAAABDAAAA cwYEAAB8AKAAZAFkAqECAQB8AKAAZANkAqECAQB8AKAAZARkAqECAQB8AKAAZAVkBqECAQB8AKAA ZAdkBqECAQB8AKAAZAhkCaECAQB8AKAAZAorK2QJoQIBAHwAoABkC2QMoQIBAHwAoABkDWQMoQIB AHwAoABkDmQPoQIBAHwAoABkEGQPoQIBAHwAoABkEWQSoQIBAHwAoABkE2QSoQIBAHwAoABkFGQV oQIBAHwAoABkFmQVoQIBAHwAoABkF2QYoQIBAHwAoABkGWQYoQIBAHwAoABkGmQboQIBAHwAoABk HGQboQIBAHwAoABkHWQeoQIBAHwAoABkH2QeoQIBAHwAoABkIGQhoQIBAHwAoABkImQhoQIBAHwA oABkI2QkoQIBAHwAoABkJWQkoQIBAHwAoABkJmQkoQIBAHwAoABkJ2QkoQIBAHwAoABkKGQpoQIB AHwAoABkKmQpoQIBAHwAoABkK2QsoQIBAHwAoABkLWQsoQIBAHwAoABkLmQsoQIBAHwAoABkL2Qs oQIBAHwAoABkMGQsZDGhAwEAfACgAGQyZCxkM6EDAQB8AKAAZDRkLGQzoQMBAHwAoABkNWQsZDah AwEAfACgAGQ3ZCxkNqEDAQB8AKAAZDhkLGQ2oQMBAHwAoABkOWQsZDqhAwEAfACgAGQ7ZCxkPKED AQB8AKAAZD1kLGQ+oQMBAHwAoABkP2RAoQIBAHwAoABkQWRAoQIBAHwAoABkQmRDoQIBAHwAoABk RGRDoQIBAHwAoABkF2QYoQIBAHwAoABkGWQYoQIBAHwAoABkRWQYoQIBAHwAoABkRmQYoQIBAHwA oABkR2QYoQIBAHwAoABkSGQYoQIBAHwAoABkSWRKoQIBAHwAoABkS2RKoQIBAHwAoABkTGRKoQIB AHwAoABkTWRKoQIBAHwAoABkTmRPoQIBAHwAoABkUGRPoQIBAHwAoABkUWRSoQIBAHwAoABkU2RS oQIBAHwAoABkVGRSoQIBAHwAoABkVWRWoQIBAHwAoABkV2RWoQIBAHwAoABkWGRZoQIBAHwAoABk WmRZoQIBAHwAoABkW2RcoQIBAHwAoABkXWRcoQIBAHwAoABkXmRfoQIBAHwAoABkYGRfoQIBAHwA oABkYWRioQIBAHwAoABkY2RioQIBAHwAoABkZGRloQIBAHwAoABkZmRloQIBAHwAoABkZ2RooQIB AHwAoABkaWRooQIBAHwAoABkamRroQIBAHwAoABkbGRroQIBAHwAoABkbWRuoQIBAHwAoABkb2Ru oQIBAHwAoABkcGRxoQIBAHwAoABkcmQYoQIBAHwAoABkc2R0oQIBAHwAoABkdWR2oQIBAHwAoABk d2R2oQIBAGQAUwApeE76BXQgLjd6+hthcHBsaWNhdGlvbi94LTd6LWNvbXByZXNzZWT6BnQgLmNi N3oJdC5jYjcuZm9v+gV0LmFyavoRYXBwbGljYXRpb24veC1hcmp6CXQuYXJqLmZvb/oJdC50eHQu Ynoy+hNhcHBsaWNhdGlvbi94LWJ6aXAyeg10LnR4dC5iejIuZm9v+gV0LmNhYnohYXBwbGljYXRp b24vdm5kLm1zLWNhYi1jb21wcmVzc2Vkegl0LmNhYi5mb2/6BnQuY3Bpb/oSYXBwbGljYXRpb24v eC1jcGlvegorK3QuY3Bpby5mb2/6BXQuZGVi+hxhcHBsaWNhdGlvbi94LWRlYmlhbi1wYWNrYWdl egl0LmRlYi5mb2/6CHQudHh0Lmd6KQL6EGFwcGxpY2F0aW9uL2d6aXB6EmFwcGxpY2F0aW9uL3gt Z3ppcHoMdC50eHQuZ3ouZm9v+gV0LmphcvoPYXBwbGljYXRpb24vemlwegl0Lmphci5mb296Cisr dC50eHQubHptYfoSYXBwbGljYXRpb24veC1sem1heg50LnR4dC5sem1hLmZvb/oIdC50eHQubHr6 EmFwcGxpY2F0aW9uL3gtbHppcHoMdC50eHQubHouZm9vegl0LnR4dC5sem/6EmFwcGxpY2F0aW9u L3gtbHpvcHoNdC50eHQubHpvLmZvb/oFdC5yYXL6EWFwcGxpY2F0aW9uL3gtcmFyegl0LnJhci5m b2/6BXQuY2Jyegl0LmNici5mb2/6BXQucnBt+hFhcHBsaWNhdGlvbi94LXJwbXoJdC5ycG0uZm9v +gV0LnRhcvoRYXBwbGljYXRpb24veC10YXJ6CXQudGFyLmZvb/oFdC5jYnR6CXQuY2J0LmZvb/oI dC50YXIubHraBGx6aXD6CXQudGFyLmJ6MtoFYnppcDL6BnQudGJ6MvoIdC50YXIuZ3raBGd6aXD6 BXQudGF6+gV0LnRnevoIdC50YXIueHraAnh6+gd0LnRhci5a2ghjb21wcmVzc/oKKyt0LnRhci5s em1h2gRsem1hegh0LnR4dC54evoQYXBwbGljYXRpb24veC14enoMdC50eHQueHouZm9vegd0LnR4 dC5a+hZhcHBsaWNhdGlvbi94LWNvbXByZXNzegt0LnR4dC5aLmZvb/oFdC56aXB6CXQuemlwLmZv b/oFdC5jYnp6CXQuY2J6LmZvb/oFdC5hY2X6EWFwcGxpY2F0aW9uL3gtYWNlegl0LmFjZS5mb2/6 BXQuY2Jhegl0LmNiYS5mb296B3QudHh0LmH6FWFwcGxpY2F0aW9uL3gtYXJjaGl2ZXoLdC50eHQu YS5mb2/6BXQubGhh+hFhcHBsaWNhdGlvbi94LWxoYfoFdC5semh6CXQubGhhLmZvb/oFdC5hcmP6 EWFwcGxpY2F0aW9uL3gtYXJjegl0LmFyYy5mb296CXQudHh0LmxyevoTYXBwbGljYXRpb24veC1s cnppcHoNdC50eHQubHJ6LmZvb3oIdC50eHQucnr6EmFwcGxpY2F0aW9uL3gtcnppcHoMdC50eHQu cnouZm9v+gV0Lnpvb/oRYXBwbGljYXRpb24veC16b296CXQuem9vLmZvb/oFdC5kbXP6EWFwcGxp Y2F0aW9uL3gtZG1zegl0LmRtcy5mb2/6BXQuYXBl+gthdWRpby94LWFwZXoJdC5hcGUuZm9v+gZ0 LmZsYWP6CisrYXVkaW8vZmxhY3oKKyt0LmZsYWMuZm9v+gV0LmFkZvoRYXBwbGljYXRpb24veC1h ZGZ6CXQuYWRmLmZvb/oFdC5jaG36EWFwcGxpY2F0aW9uL3gtY2htegl0LmNobS5mb2/6BXQuaXNv +hthcHBsaWNhdGlvbi94LWlzbzk2NjAtaW1hZ2X6BnQuZXB1YvoFdC5hcGspAnIxAAAA+hhhcHBs aWNhdGlvbi9qYXZhLWFyY2hpdmX6BnQuenBhcfoQYXBwbGljYXRpb24venBhcXoKKyt0LnpwYXEu Zm9vqQFyHQAAAKkBcg4AAAByFQAAAHIVAAAAchYAAADaDnRlc3RfbWltZV9maWxlLgAAAHOoAAAA DAIMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEM AQwBDAEMAQwBDgEOAQ4BDgEOAQ4BDgEOAQ4BDAMMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwB DAEMAQwBDAEMBAwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMBAwBDAEMAQwBDAEMAQwBDAEMARABehdU ZXN0TWltZS50ZXN0X21pbWVfZmlsZXI/AAAAYwEAAAAAAAAAAAAAAAEAAAAFAAAAQwAAAPMSAAAA fACgAGQBZAJkA6EDAQBkAFMAKQROegx0LnRhci5sei5mb29yPAAAAHI/AAAAcm8AAABycAAAAHIV AAAAchUAAAByFgAAANoTdGVzdF9taW1lX2ZpbGVfbHppcI0AAADzAgAAABIDehxUZXN0TWltZS50 ZXN0X21pbWVfZmlsZV9semlwckEAAABjAQAAAAAAAAAAAAAAAQAAAAUAAABDAAAAcyAAAAB8AKAA ZAFkAmQDoQMBAHwAoABkBGQCZAOhAwEAZABTACkFTnoNdC50YXIuYnoyLmZvb3I8AAAAckEAAAB6 CisrdC50YnoyLmZvb3JvAAAAcnAAAAByFQAAAHIVAAAAchYAAADaE3Rlc3RfbWltZV9maWxlX2J6 aXCSAAAAcwQAAAAOAxIBehxUZXN0TWltZS50ZXN0X21pbWVfZmlsZV9iemlwckQAAABjAQAAAAAA AAAAAAAAAQAAAAUAAABDAAAAcy4AAAB8AKAAZAFkAmQDoQMBAHwAoABkBGQCZAOhAwEAfACgAGQF ZAJkA6EDAQBkAFMAKQZOegx0LnRhci5nei5mb29yPAAAAHJEAAAAegl0LnRhei5mb296CXQudGd6 LmZvb3JvAAAAcnAAAAByFQAAAHIVAAAAchYAAADaE3Rlc3RfbWltZV9maWxlX2d6aXCYAAAAcwYA AAAOAw4BEgF6HFRlc3RNaW1lLnRlc3RfbWltZV9maWxlX2d6aXBySAAAAGMBAAAAAAAAAAAAAAAB AAAABQAAAEMAAABycgAAACkETnoMdC50YXIueHouZm9vcjwAAABySAAAAHJvAAAAcnAAAAByFQAA AHIVAAAAchYAAADaE3Rlc3RfbWltZV9maWxlX3h6aXCfAAAAcnQAAAB6HFRlc3RNaW1lLnRlc3Rf bWltZV9maWxlX3h6aXDaCisrdW5jb21wcmVzc2MBAAAAAAAAAAAAAAABAAAABQAAAEMAAABycgAA ACkETnoLdC50YXIuWi5mb29yPAAAAHJKAAAAcm8AAABycAAAAHIVAAAAchUAAAByFgAAANoXdGVz dF9taW1lX2ZpbGVfY29tcHJlc3OkAAAAcnQAAAB6IFRlc3RNaW1lLnRlc3RfbWltZV9maWxlX2Nv bXByZXNzYwEAAAAAAAAAAAAAAAEAAAAFAAAAQwAAAHOeAgAAfACgAGQBZAKhAgEAfACgAGQDZAKh AgEAfACgAGQEZAWhAgEAfACgAGQGZAehAgEAfACgAGQIZAmhAgEAfACgAGQKKytkC6ECAQB8AKAA ZAxkDaECAQB8AKAAZA5kD6ECAQB8AKAAZBBkEaECAQB8AKAAZBJkE6ECAQB8AKAAZBRkFaECAQB8 AKAAZBZkF6ECAQB8AKAAZBhkGaECAQB8AKAAZBpkC6ECAQB8AKAAZBtkHKECAQB8AKAAZB1kHqEC AQB8AKAAZB9kHqECAQB8AKAAZCBkHmQhoQMBAHwAoABkImQeZCOhAwEAfACgAGQkZB5kJaEDAQB8 AKAAZCZkHmQnoQMBAHwAoABkKGQeZCmhAwEAfACgAGQqZB5kK6EDAQB8AKAAZCxkHmQjoQMBAHwA oABkLWQeZCGhAwEAfACgAGQuZB5kI6EDAQB8AKAAZC9kEaECAQB8AKAAZDBkB6ECAQB8AKAAZDFk MqECAQB8AKAAZDNkNKECAQB8AKAAZDVkNqECAQB8AKAAZDdkNqECAQB8AKAAZDhkOaECAQB8AKAA ZDpkOaECAQB8AKAAZDtkPKECAQB8AKAAZD1kPqECAQB8AKAAZD9kQKECAQB8AKAAZEFkQqECAQB8 AKAAZENkRKECAQB8AKAAZEVkRqECAQB8AKAAZEdkSKECAQB8AKAAZElkSqECAQB8AKAAZEtkTKEC AQB8AKAAZE1kTqECAQB8AKAAZE9kUKECAQB8AKAAZFFkUqECAQB8AKAAZFNkVKECAQB8AKAAZFVk VqECAQB8AKAAZFdkWKECAQB8AKAAZFlkWqECAQB8AKAAZFtkXKECAQB8AKAAZF1kXKECAQB8AKAA ZF5kX6ECAQB8AKAAZGBkYaECAQBkAFMAKWJOciIAAAByIwAAAHIkAAAAciUAAAByJgAAAHoGdCAu YnoycigAAAByKQAAAHoRYXBwbGljYXRpb24veC1jYWJyOAAAACkCeg9hcHBsaWNhdGlvbi9yYXJy NwAAAHIqAAAAcisAAAByLAAAAHItAAAAegR0Lmd6ci8AAAByMAAAAHJsAAAAegZ0Lmx6bWFyMgAA AHIzAAAAcjQAAAB6BXQubHpvcjUAAAByNgAAAHI5AAAAKQJ6JGFwcGxpY2F0aW9uL3gtcmVkaGF0 LXBhY2thZ2UtbWFuYWdlcnI6AAAAcjsAAAByPAAAAHI9AAAAckAAAAByQQAAAHJDAAAAckQAAABy SwAAAHJMAAAAckcAAABySAAAAHI+AAAAcj8AAABySQAAAHJKAAAAckUAAAByQgAAAHJGAAAAci4A AAByJwAAAHoFdCAueHpyTQAAAHoDdC5ack4AAAByTwAAACkCcjEAAAB6HGFwcGxpY2F0aW9uL3gt emlwLWNvbXByZXNzZWRyUAAAAHJRAAAAclIAAAByUwAAAHoDdC5hclQAAAByVQAAAHJWAAAAclcA AAB6EWFwcGxpY2F0aW9uL3gtbHpoegV0LmFsenoTYXBwbGljYXRpb24veC1hbHppcHJYAAAAclkA AAB6BXQubHJ6cloAAAB6BHQucnpyWwAAAHJcAAAAcl0AAAByXgAAAHJfAAAAegZ0LnNoYXJ6EmFw cGxpY2F0aW9uL3gtc2hhcnJgAAAAcmEAAAB6BXQuc2huegthdWRpby94LXNobnJiAAAAcmMAAABy ZAAAAHJlAAAAcmYAAAByZwAAAHJoAAAAcmkAAAByagAAAHIxAAAAcmsAAAB6BXQudmhkehFhcHBs aWNhdGlvbi94LXZoZHJtAAAAcm4AAAApAXIgAAAAcnAAAAByFQAAAHIVAAAAchYAAADaEHRlc3Rf bWltZV9taW1lZGKpAAAAc2wAAAAMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDgEO AQ4BDgEOAQ4BDgEOAQ4BDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwBDAEMAQwB DAEMAQwBDAEMAQwBEAF6GVRlc3RNaW1lLnRlc3RfbWltZV9taW1lZGIpAU4pDtoIX19uYW1lX1/a CisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9fchcAAAByHQAAAHIgAAAAcgMAAABycQAAAHJzAAAA cnUAAABydgAAAHJ3AAAAcnkAAAByegAAAHIVAAAAchUAAAByFQAAAHIWAAAAcgUAAAAWAAAAcywA AAAIAAgCCisrDAorKwUGBQorKwEGXgYBDAEGAwYBDAEGBAYBDAEGBQYBDAEGAwYBDAEMA3IFAAAA KQ7aCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFz c2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gh1bml0dGVzdHIGAAAAchkAAADaAHIDAAAA cgQAAADaCFRlc3RDYXNlcgUAAAByFQAAAHIVAAAAchUAAAByFgAAANoIPG1vZHVsZT4BAAAAcwor KwAAACIPCAEIARABFgMKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X3JlY29tcHJlc3MuY3B5 dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rl c3RzL19fcHljYWNoZV9fL3Rlc3RfcmVjb21wcmVzcy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUu cHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvX19weWNhY2hlX18vdGVzdF9yZWNv bXByZXNzLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4w MDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19f cHljYWNoZV9fL3Rlc3RfcmVjb21wcmVzcy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIw MjEtMTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDEwIEBACisrbw0N CisrAAAAAJpNm1ayBQAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNwAAAAZABkAWwAWgFkAGQB bAJtAwIAAQBtBFoFAQBkAGQBbAZaBmQAZAFsB1oHZABkAWwIWghkAGQBbAlaCWQAZAJsCisrbQta CwEAZANkBGwMbQ1aDW0OWg5tD1oPAQBHAGQFZAaEAGQGZQZqEIMDWhFkAVMAKQfpAAAAAE4pAdoE dXRpbOkBAAAAKQPaB2RhdGFkaXLaEW5lZWRzX29uZV9wcm9ncmFt2gorK3BhdG9vbF9jbWRjAAAA AAAAAAAAAAAAAAAAAAMAAABAAAAAcyQAAABlAFoBZABaAmQBZAKEAFoDZQRkA4MBZARkBYQAgwFa BWQGUwApB9oVQXJjaGl2ZVJlY29tcHJlc3NUZXN0YwIAAAAAAAAAAAAAAAUAAAAJAAAAQwAAAHOK AAAAdABqAaACdAN8AaECfQJ0AGoBoAR8AqEBZAEZAH0DdAVqBnwDZAKNAX0EeiJ0B6AIfAJ8BKEC AQB0BaAJdAorK2oLdAxkA2QEZAV8BGcGoQEBAFcAdABqAaANfAShAXI2dACgDnwEoQEBAGQGUwBk BlMAdABqAaANfAShAXJEdACgDnwEoQEBAHcAdwApB3ojUmVjb21wcmVzcyBhcmNoaXZlIHdpdGgg Z2l2ZW4gbmFtZS5yAwAAACkB2gZzdWZmaXh6Ay12dnoRLS1ub24taW50ZXJhY3RpdmXaCisrcmVj b21wcmVzc04pD9oCb3PaBHBhdGjaBGpvaW5yBAAAANoIc3BsaXRleHRyAgAAANoHdG1wZmlsZdoG c2h1dGls2gRjb3B52gtydW5fY2hlY2tlZNoDc3lz2gorK2V4ZWN1dGFibGVyBgAAANoGZXhpc3Rz 2gZyZW1vdmUpBdoEc2VsZtoEbmFtZdoHYXJjaGl2ZdoDZXh0cg4AAACpAHIaAAAA+jcvYnVpbGRk aXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvdGVzdF9yZWNvbXByZXNzLnB5cgkAAAAZAAAA cxYAAAAOAhABDAECAQwBGgEMAg4BEP8MAQL/eiBBcmNoaXZlUmVjb21wcmVzc1Rlc3QucmVjb21w cmVzcykC2gN6aXDaAjd6YwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHMOAAAAfACgAGQBoQEBAGQA UwApAk56BXQuemlwKQFyCQAAACkBchYAAAByGgAAAHIaAAAAchsAAADaC3Rlc3RfcmVwYWNrJQAA AHMCAAAADgJ6IUFyY2hpdmVSZWNvbXByZXNzVGVzdC50ZXN0X3JlcGFja04pBtoIX19uYW1lX1/a CisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9fcgkAAAByBQAAAHIeAAAAchoAAAByGgAAAHIaAAAA chsAAAByBwAAABcAAABzCAAAAAgACAIGDA4BcgcAAAApEtoIYnVpbHRpbnPaDEBweV9idWlsdGlu c9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRl c3RfYXLaCHVuaXR0ZXN0cgorKwAAAHISAAAAcg8AAADaCHBhdG9vbGlicgIAAADaAHIEAAAAcgUA AAByBgAAANoIVGVzdENhc2VyBwAAAHIaAAAAchoAAAByGgAAAHIbAAAA2gg8bW9kdWxlPgEAAABz DgAAACIPCAEIAQgBDAEUARYCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5h dXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvX19weWNhY2hlX18vdGVzdF9yZXBhY2suY3B5 dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rl c3RzL19fcHljYWNoZV9fL3Rlc3RfcmVwYWNrLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMK Ky0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X3JlcGFjay5j cHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAw ICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9fX3B5Y2FjaGVf Xy90ZXN0X3JlcGFjay5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6 MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDExIEBACisrbw0NCisrAAAAAJpNm1an BwAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHN0AAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoF AQBkAGQBbAZaBmQAZAFsB1oHZABkAWwIWghkAGQBbAlaCWQAZAJsCisrbQtaCwEAZANkBGwMbQ1a DW0OWg5tD1oPbRBaEAEARwBkBWQGhABkBmUGahGDA1oSZAFTACkH6QAAAABOKQHaBHV0aWzpAQAA ACkE2gdkYXRhZGly2g1uZWVkc19wcm9ncmFt2hFuZWVkc19vbmVfcHJvZ3JhbdoKKytwYXRvb2xf Y21kYwAAAAAAAAAAAAAAAAAAAAAFAAAAQAAAAHNkAAAAZQBaAWQAWgJkAWQChABaA2UEZAODAWUF ZASDAWUFZAWDAWQGZAeEAIMBgwGDAVoGZQRkA4MBZQVkCIMBZQVkCYMBZAorK2QLhACDAYMBgwFa B2UEZAODAWQMZA2EAIMBWghkDlMAKQ/aEUFyY2hpdmVSZXBhY2tUZXN0YwMAAAAAAAAAAAAAAAYA AAAJAAAAQwAAAHN0AAAAdABqAaACdAN8AaECfQN0BKAFoQB9BHoodABqAaACfAR8AqECfQV0BKAG dAdqCHQJZAFkAmQDfAN8BWcHoQEBAHQEoAZ0B2oIdAlkAmQEfAN8BWcGoQEBAFcAdAorK6ALfASh AQEAZAVTAHQKKyugC3wEoQEBAHcAKQZ6MFJlcGFjayBhcmNoaXZlIHdpdGggbmFtZTEgdG8gYXJj aGl2ZSB3aXRoIG5hbWUyLnoDLXZ2ehEtLW5vbi1pbnRlcmFjdGl2ZdoGcmVwYWNr2gRkaWZmTikM 2gJvc9oEcGF0aNoEam9pbnIEAAAAcgIAAADaBnRtcGRpctoLcnVuX2NoZWNrZWTaA3N5c9oKKytl eGVjdXRhYmxlcgcAAADaBnNodXRpbNoGcm10cmVlKQbaBHNlbGZaBW5hbWUxWgVuYW1lMtoIYXJj aGl2ZTFyDgAAANoIYXJjaGl2ZTKpAHIXAAAA+jMvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEu MTIvdGVzdHMvdGVzdF9yZXBhY2sucHlyCQAAABkAAABzDgAAAA4CCAECAQ4BGgEaARoCehhBcmNo aXZlUmVwYWNrVGVzdC5yZXBhY2tyCisrAAAAKQPaA3RhctoEc3RhctoCN3opAtoDemlwchsAAABj AQAAAAAAAAAAAAAAAQAAAAQAAABDAAAA8xAAAAB8AKAAZAFkAqECAQBkAFMAKQNOegV0LnRhcvoF dC56aXCpAXIJAAAAqQFyFAAAAHIXAAAAchcAAAByGAAAANoLdGVzdF9yZXBhY2skAAAA8wIAAAAQ BHodQXJjaGl2ZVJlcGFja1Rlc3QudGVzdF9yZXBhY2spAtoEZ3ppcHIbAAAAKQLaBWJ6aXAychsA AABjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAch0AAAApA076CHQudGFyLmd6egl0LnRhci5iejJy HwAAAHIgAAAAchcAAAByFwAAAHIYAAAA2i10ZXN0X3JlcGFja19zYW1lX2Zvcm1hdF9kaWZmZXJl bnRfY29tcHJlc3Npb24qAAAAciIAAAB6P0FyY2hpdmVSZXBhY2tUZXN0LnRlc3RfcmVwYWNrX3Nh bWVfZm9ybWF0X2RpZmZlcmVudF9jb21wcmVzc2lvbmMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABz HAAAAHwAoABkAWQCoQIBAHwAoABkA2QEoQIBAGQAUwApBU5yJQAAAHoJdDEudGFyLmd6ch4AAAB6 BnQxLnppcHIfAAAAciAAAAByFwAAAHIXAAAAchgAAADaF3Rlc3RfcmVwYWNrX3NhbWVfZm9ybWF0 MAAAAHMEAAAADAIQAXopQXJjaGl2ZVJlcGFja1Rlc3QudGVzdF9yZXBhY2tfc2FtZV9mb3JtYXRO KQnaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX3IJAAAAcgUAAAByBgAAAHIh AAAAciYAAAByJwAAAHIXAAAAchcAAAByFwAAAHIYAAAAcggAAAAXAAAAcxgAAAAIAAgCBgsGAQYB DgEGAwYBBgEOAQYDDgFyCAAAACkT2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFz c2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoIdW5pdHRl c3RyCwAAAHIQAAAAchIAAADaCHBhdG9vbGlicgIAAADaAHIEAAAAcgUAAAByBgAAAHIHAAAA2ghU ZXN0Q2FzZXIIAAAAchcAAAByFwAAAHIXAAAAchgAAADaCDxtb2R1bGU+AQAAAHMOAAAAIg8IAQgB CAEMARgBFgIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X3NlYXJjaC5jcHl0aG9uLTMxMC1w eXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvX19weWNh Y2hlX18vdGVzdF9zZWFyY2guY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9v bC11cHN0cmVhbS0xLjEyL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3Rfc2VhcmNoLmNweXRob24tMzEw LXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysr KyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3Rfc2Vh cmNoLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4 MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtWMAUAAOMAAAAAAAAA AAAAAAAAAAAABAAAAEAAAABzaAAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZABkAWwGWgZk AGQBbAdaB2QAZAFsCFoIZABkAmwJbQorK1oKKysBAGQDZARsC20MWgxtDVoNbQ5aDgEARwBkBWQG hABkBmUGag+DA1oQZAFTACkH6QAAAABOKQHaC3J1bl9jaGVja2Vk6QEAAAApA9oHZGF0YWRpctoN bmVlZHNfcHJvZ3JhbdoKKytwYXRvb2xfY21kYwAAAAAAAAAAAAAAAAAAAAAFAAAAQAAAAHM0AAAA ZQBaAWQAWgJlA2QBgwFlA2QCgwFlA2QDgwFkBGQFhACDAYMBgwFaBGQGZAeEAFoFZAhTACkJ2hFB cmNoaXZlU2VhcmNoVGVzdNoEZ3JlcNoFdW56aXDaA3RhcmMBAAAAAAAAAAAAAAADAAAABAAAAEMA AABzPAAAAGQBfQF0AGoBoAJ0A2QCoQJ9AnwAoAR8AXwCoQIBAHQAagGgAnQDZAOhAn0CfACgBHwB fAKhAgEAZABTACkETloCNDJ6BXQudGFyegV0LnppcCkF2gJvc9oEcGF0aNoEam9pbnIEAAAA2gZz ZWFyY2ipA9oEc2VsZtoHcGF0dGVybtoHYXJjaGl2ZakAchMAAAD6My9idWlsZGRpci9wYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy90ZXN0X3NlYXJjaC5wedoLdGVzdF9zZWFyY2gYAAAAcworKwAA AAQEDgEMAQ4BEAF6HUFyY2hpdmVTZWFyY2hUZXN0LnRlc3Rfc2VhcmNoYwMAAAAAAAAAAAAAAAMA AAAIAAAAQwAAAHMcAAAAdAB0AWoCdANkAWQCZAN8AXwCZweDAQEAZABTACkETnoDLXZ2ehEtLW5v bi1pbnRlcmFjdGl2ZXIOAAAAKQRyAgAAANoDc3lz2gorK2V4ZWN1dGFibGVyBgAAAHIPAAAAchMA AAByEwAAAHIUAAAAcg4AAAAiAAAAcwIAAAAcAXoYQXJjaGl2ZVNlYXJjaFRlc3Quc2VhcmNoTikG 2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX19yBQAAAHIVAAAAcg4AAAByEwAA AHITAAAAchMAAAByFAAAAHIHAAAAFgAAAHMMAAAACAAGAgYBBgEOAQwHcgcAAAApEdoIYnVpbHRp bnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdy ZXdyaXRl2gorK0BweXRlc3RfYXLaCHVuaXR0ZXN0cgsAAAByFgAAAFoNcGF0b29saWIudXRpbHIC AAAA2gByBAAAAHIFAAAAcgYAAADaCFRlc3RDYXNlcgcAAAByEwAAAHITAAAAchMAAAByFAAAANoI PG1vZHVsZT4BAAAAcwwAAAAiDwgBCAEMARQBFgIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0 X3Rlc3QuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3RfdGVzdC5jcHl0aG9uLTMxMC1weXRlc3QtNi4y LjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvX19weWNhY2hlX18vdGVzdF90 ZXN0LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHlj YWNoZV9fL3Rlc3RfdGVzdC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIg MjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDkgQEAKKytvDQ0KKysAAAAAmk2b ViUEAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc2gAAABkAGQBbABaAWQAZAFsAm0DAgABAG0E WgUBAGQAZAFsBloGZABkAWwHWgdkAGQBbAhaCGQAZAJsCW0KKytaCisrAQBkA2QEbAttDFoMbQ1a DW0OWg4BAEcAZAVkBoQAZAZlBmoPgwNaEGQBUwApB+kAAAAATikB2gtydW5fY2hlY2tlZOkBAAAA KQPaB2RhdGFkaXLaDW5lZWRzX3Byb2dyYW3aCisrcGF0b29sX2NtZGMAAAAAAAAAAAAAAAAAAAAA AwAAAEAAAABzHAAAAGUAWgFkAFoCZQNkAYMBZAJkA4QAgwFaBGQEUwApBdoPQXJjaGl2ZVRlc3RU ZXN02gI3emMBAAAAAAAAAAAAAAACAAAABgAAAEMAAABzJgAAAHQAagGgAnQDZAGhAn0BdAR0BWoG dAdkAmQDfAFnBYMBAQBkAFMAKQROegV0IC43enoRLS1ub24taW50ZXJhY3RpdmXaBHRlc3QpCNoC b3PaBHBhdGjaBGpvaW5yBAAAAHICAAAA2gNzeXPaCisrZXhlY3V0YWJsZXIGAAAAKQLaBHNlbGba B2FyY2hpdmWpAHIRAAAA+jEvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvdGVz dF90ZXN0LnB52gl0ZXN0X3Rlc3QYAAAAcwQAAAAOAhgBehlBcmNoaXZlVGVzdFRlc3QudGVzdF90 ZXN0TikF2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX19yBQAAAHITAAAAchEA AAByEQAAAHIRAAAAchIAAAByBwAAABYAAABzBgAAAAgABgIOAXIHAAAAKRHaCGJ1aWx0aW5z2gxA cHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0 ZdoKKytAcHl0ZXN0X2Fy2gh1bml0dGVzdHIKKysAAAByDQAAAFoNcGF0b29saWIudXRpbHICAAAA 2gByBAAAAHIFAAAAcgYAAADaCFRlc3RDYXNlcgcAAAByEQAAAHIRAAAAchEAAAByEgAAANoIPG1v ZHVsZT4BAAAAcwwAAAAiDwgBCAEMARQBFgIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor ZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9fX3B5Y2FjaGVfXy90ZXN0X3V0 aWwuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL3Rlc3RzL19fcHljYWNoZV9fL3Rlc3RfdXRpbC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUu cHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvX19weWNhY2hlX18vdGVzdF91dGls LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL19fcHljYWNo ZV9fL3Rlc3RfdXRpbC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6 MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDggQEAKKytvDQ0KKysAAAAAmk2bVlQG AADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0wAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUB AGQAZAFsBloGZABkAWwHWgdkAGQCbAhtCVoJAQBHAGQDZASEAGQEZQZqCisrgwNaC2QBUwApBekA AAAATikB2gR1dGlsYwAAAAAAAAAAAAAAAAAAAAACAAAAQAAAAHMkAAAAZQBaAWQAWgJkAWQChABa A2QDZASEAFoEZAVkBoQAWgVkB1MAKQjaCFV0aWxUZXN0YwEAAAAAAAAAAAAAAAMAAAAGAAAAQwAA AHMwAAAAdAAEAH0BfQJ8AKABdAKgA3wBfAKhAqEBAQB8AKABdAKgBHwBfAKhAqEBAQBkAFMAKQFO KQXaCF9fZmlsZV9f2gorK2Fzc2VydFRydWVyAgAAANoQaXNfc2FtZV9maWxlbmFtZdoMaXNfc2Ft ZV9maWxlKQPaBHNlbGbaCWZpbGVuYW1lMdoJZmlsZW5hbWUyqQByCwAAAPoxL2J1aWxkZGlyL3Bh dG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL3Rlc3RfdXRpbC5wedoOdGVzdF9zYW1lZmlsZTEWAAAA cwYAAAAIARIBFgF6F1V0aWxUZXN0LnRlc3Rfc2FtZWZpbGUxYwEAAAAAAAAAAAAAAAQAAAAGAAAA QwAAAPNOAAAAdABqAaACdAOhAX0BdABqAaACfAGhAX0CdABqAaAEfAFkAaECfQN8AKAFdAagB3wC fAOhAqEBAQB8AKAFdAagCHwCfAOhAqEBAQBkAFMAKQJOegIuLikJ2gJvc9oEcGF0aNoHZGlybmFt ZXIEAAAA2gRqb2lucgUAAAByAgAAAHIGAAAAcgcAAACpBHIIAAAAWglwYXJlbnRkaXJyCQAAAHIK KysAAAByCwAAAHILAAAAcgwAAADaDnRlc3Rfc2FtZWZpbGUyGwAAAPMKKysAAAAMAQwBDgESARYB ehdVdGlsVGVzdC50ZXN0X3NhbWVmaWxlMmMBAAAAAAAAAAAAAAAEAAAABgAAAEMAAAByDgAAACkC TtoBLikJcg8AAAByEAAAAHIRAAAAcgQAAAByEgAAANoLYXNzZXJ0RmFsc2VyAgAAAHIHAAAAcgYA AAByEwAAAHILAAAAcgsAAAByDAAAANoOdGVzdF9zYW1lZmlsZTMiAAAAchUAAAB6F1V0aWxUZXN0 LnRlc3Rfc2FtZWZpbGUzTikG2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX19y DQAAAHIUAAAAchgAAAByCwAAAHILAAAAcgsAAAByDAAAAHIDAAAAFAAAAHMIAAAACAAIAggFDAdy AwAAACkM2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl 2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoIdW5pdHRlc3RyDwAAANoIcGF0b29s aWJyAgAAANoIVGVzdENhc2VyAwAAAHILAAAAcgsAAAByCwAAAHIMAAAA2gg8bW9kdWxlPgEAAABz CAAAACIPCAEMARYCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0 b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vX19pbml0X18uY3B5 dGhvbi0zMTAucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMv X19weWNhY2hlX18vX19pbml0X18uY3B5dGhvbi0zMTAucHljCistLS0gcGF0b29sLXVwc3RyZWFt LTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vX19pbml0X18uY3B5dGhvbi0zMTAucHlj CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFt LTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy9fX2luaXRfXy5jcHl0aG9u LTMxMC5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEs NjQgQEAKKytvDQ0KKysAAAAAmk2bVgQnAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc2gAAABk AGQBbABaAGQAZAFsAVoBZABkAWwCWgJkAGQBbANaA2QCZANsBG0FWgVtBloGAQBkBFoHRwBkBWQG hABkBoMCWghHAGQHZAiEAGQIZQBqCYMDWgorK2QJZAorK4QAWgtkC2QMhABaDGQBUwApDekAAAAA TukCAAAAKQLaB2Jhc2VkaXLaB2RhdGFkaXLaAjQyYwAAAAAAAAAAAAAAAAAAAAABAAAAQAAAAHMc AAAAZQBaAWQAWgJkAVoDZAJaBGQDWgVkBFoGZAVTACkG2gdDb250ZW50epRUaGUgdGVzdCBhcmNo aXZlcyBoYXZlIG9uZSBvZiBzZXZlcmFsIHNldCBvZiBjb250ZW50IGZpbGVzLgorKyAgICBUaGUg ZGlmZmVyZW50IGNvbnRlbnQgZmlsZSBzZXRzIGhhdmUgZWFjaCBhIGNvbnN0YW50IGRlZmluZWQK KysgICAgYnkgdGhpcyBjbGFzcy4KKysgICAg2glyZWN1cnNpdmVaCisrc2luZ2xlZmlsZVoJbXVs dGlmaWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB19fZG9jX1/a CVJlY3Vyc2l2ZdoKKytTaW5nbGVmaWxl2glNdWx0aWZpbGWpAHIPAAAAcg8AAAD6OS9idWlsZGRp ci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX2luaXRfXy5weXIGAAAAGQAA AHMKKysAAAAIAAQBBAorKwQECARyBgAAAGMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzhgAAAGUA WgFkAFoCZAFaA2QCWgRkA2QEhABaBWUGagdmAWQFZAaEAVoIZBxkCGQJhAFaCWQKKytkC4QAWgor K2QMZA2EAFoLZA5kD4QAWgxkEGQRhABaDWQSZBOEAFoOZAJlBmoHZgJkFGQVhAFaD2QdZBZkF4QB WhBkGGQZhABaEWQaZBuEAFoSZAJTACke2gtBcmNoaXZlVGVzdHpBSGVscGVyIGNsYXNzIGZvciBh cmNoaXZlIHRlc3RzLCBoYW5kbGluZyBvbmUgY29tbWFuZGxpbmUgcHJvZ3JhbS5OYwIAAAAAAAAA AAAAAAMAAAAGAAAASwAAAHNaAAAAfACgAHwBoQEBAHwCoAFkAaEBcw98AKACfAGhAQEAfABqA3wB fAKgAWQCdARqBaECZAONAgEAfAKgAWQEoQFzK3wAagZ8AWYBaQB8AqQBjgEBAGQFUwBkBVMAKQZ6 fVJ1biBhcmNoaXZlIGNvbW1hbmRzIGxpc3QsIHRlc3QsIGV4dHJhY3QgYW5kIGNyZWF0ZS4KKysg ICAgICAgIEFsbCBrZXl3b3JkIGFyZ3VtZW50cyBhcmUgZGVsZWdhdGVkIHRvIHRoZSBjcmVhdGUg dGVzdCBmdW5jdGlvbi5aCXNraXBfdGVzdNoFY2hlY2spAXISAAAAWgtza2lwX2NyZWF0ZU4pB9oM YXJjaGl2ZV9saXN02gNnZXTaDGFyY2hpdmVfdGVzdNoPYXJjaGl2ZV9leHRyYWN0cgYAAAByDAAA ANoOYXJjaGl2ZV9jcmVhdGUpA9oEc2VsZtoIZmlsZW5hbWXaBmt3YXJnc3IPAAAAcg8AAAByEAAA ANoQYXJjaGl2ZV9jb21tYW5kczUAAABzDgAAAAorKwMKKysBCisrARgBCisrARYBBP96HEFyY2hp dmVUZXN0LmFyY2hpdmVfY29tbWFuZHNjAwAAAAAAAAAAAAAABQAAAAYAAABDAAAAc2QAAAB0AGoB oAJ0A3wBoQJ9A3wAoAR0AGoBoAV8A6EBZAF8AxYAoQIBAHwAoAZ8A3wCoQIBAHQAagGgAmQCfAN0 B3QIgwFkAxcAZASFAhkAoQJ9BHwAagZ8BHwCZANkBY0DAQBkBFMAKQZ6GFRlc3QgYXJjaGl2ZSBl eHRyYWN0aW9uLvogYXJjaGl2ZSBwYXRoIGlzIG5vdCBhYnNvbHV0ZTogJXJ6Ai4u6QEAAABOKQHa CXZlcmJvc2l0eSkJ2gJvc9oEcGF0aNoEam9pbnIEAAAA2gorK2Fzc2VydFRydWXaBWlzYWJz2hBf YXJjaGl2ZV9leHRyYWN02gNsZW5yAwAAACkFchgAAAByGQAAAHISAAAA2gdhcmNoaXZlWgorK3Jl bGFyY2hpdmVyDwAAAHIPAAAAchAAAAByFgAAAD8AAABzCisrAAAADgIYAQwBHgIUAXobQXJjaGl2 ZVRlc3QuYXJjaGl2ZV9leHRyYWN0cgEAAABjBAAAAAAAAAAAAAAABwAAAAkAAABDAAAAc4QAAAB0 AGoBagJ0A2QBjQF9BHo0dABqAaAEfAShAX0Fehx0AGoFfAF8AGoGfANkAmQDjQR9BnwCciJ8AKAH fAF8BnwCoQMBAFcAfAVyKnQIoAR8BaEBAQBuCXwFcjN0CKAEfAWhAQEAdwB3AFcAdAmgCisrfASh AQEAZABTAHQJoAorK3wEoQEBAHcAKQROqQHaA2RpckapA9oHcHJvZ3JhbXIeAAAA2gtpbnRlcmFj dGl2ZSkL2ghwYXRvb2xpYtoEdXRpbNoGdG1wZGlycgMAAADaBWNoZGly2g9leHRyYWN0X2FyY2hp dmVyKgAAANoXY2hlY2tfZXh0cmFjdGVkX2FyY2hpdmVyHwAAANoGc2h1dGls2gZybXRyZWUpB3IY AAAAciYAAAByEgAAAHIeAAAAci4AAADaBm9sZGRpctoGb3V0cHV0cg8AAAByDwAAAHIQAAAAciQA AABIAAAAcyAAAAAOAgIBDAECARQBBAEOAQKABAIKKysBAoAE/wwBAv8CgBoDehxBcmNoaXZlVGVz dC5fYXJjaGl2ZV9leHRyYWN0YwQAAAAAAAAAAAAAAAgAAAAGAAAAQwAAAHPCAAAAfAN0AGoBawJy IHwAoAJ8AmQBoQIBAHwAoAN8AmQBoQIBAHQEagWgBnwCZAKhAn0EfACgB3wEZAKhAgEAZABTAHwD dABqCGsCcj50CXQEoAorK6EAgwF9BXQEagWgC3QMag2gDnwFfAGhAqEBfQZ8AKAHfAJ8BqECAQBk AFMAfAN0AGoPawJyX3QEagWgBnwCZAKhAn0EfACgB3wEZAKhAgEAdARqBaAGfAJkA6ECfQd8AKAH fAdkA6ECAQBkAFMAZABTACkETtoBdPoFdC50eHT6BnQyLnR4dCkQcgYAAAByDAAAANoLYXNzZXJ0 RXF1YWzaD2NoZWNrX2RpcmVjdG9yeXIfAAAAciAAAAByIQAAANoOY2hlY2tfdGV4dGZpbGVyDQAA ANoZZ2V0X25vbmV4aXN0aW5nX2RpcmVjdG9yedoGZ2V0Y3dk2ghiYXNlbmFtZXIsAAAAci0AAADa EmdldF9zaW5nbGVfb3V0ZmlsZXIOAAAAKQhyGAAAAHImAAAAcjUAAAByEgAAAFoHdHh0ZmlsZVoD bmVkWg9leHBlY3RlZF9vdXRwdXRaCHR4dGZpbGUycg8AAAByDwAAAHIQAAAAcjEAAABXAAAAcx4A AAAKKysBDAIMAQ4BEAEKKysBDAIWARABCisrAQ4BDAEOARABBPx6I0FyY2hpdmVUZXN0LmNoZWNr X2V4dHJhY3RlZF9hcmNoaXZlYwMAAAAAAAAAAAAAAAMAAAAFAAAAQwAAAHMsAAAAfACgAHQBagKg A3wBoQF8AaECAQB8AKAEdAFqAqAFfAGhAXwCoQIBAGQBUwApAnocQ2hlY2sgdGhhdCBkaXJlY3Rv cnkgZXhpc3RzLk4pBnIiAAAAch8AAAByIAAAANoFaXNkaXJyOQAAAHI+AAAAKQNyGAAAANoHZGly bmFtZdoMZXhwZWN0ZWRuYW1lcg8AAAByDwAAAHIQAAAAcjoAAABpAAAAcwQAAAAUAhgBehtBcmNo aXZlVGVzdC5jaGVja19kaXJlY3RvcnljAwAAAAAAAAAAAAAAAwAAAAUAAABDAAAAc0AAAAB8AKAA dAFqAqADfAGhAXQEfAGDAaECAQB8AKAFdAFqAqAGfAGhAXwCoQIBAHwAoAV0B3wBgwF0CKECAQBk AVMAKQJ6N0NoZWNrIHRoYXQgZmlsZW5hbWUgZXhpc3RzIGFuZCBoYXMgdGhlIGRlZmF1bHQgY29u dGVudC5OKQlyIgAAAHIfAAAAciAAAADaBmlzZmlsZdoEcmVwcnI5AAAAcj4AAADaD2dldF9maWxl Y29udGVudNoPVGV4dEZpbGVDb250ZW50KQNyGAAAAHIZAAAAckIAAAByDwAAAHIPAAAAchAAAABy OwAAAG4AAABzBgAAABgCFAEUAXoaQXJjaGl2ZVRlc3QuY2hlY2tfdGV4dGZpbGVjAgAAAAAAAAAA AAAABAAAAAcAAABDAAAA8zAAAAB0AGoBoAJ0A3wBoQJ9AmQBRABdDH0DdARqBXwCfABqBnwDZAJk A40EAQBxCWQEUwApBXoVVGVzdCBhcmNoaXZlIGxpc3RpbmcuqQTp/////3IBAAAAch0AAAByAgAA AEZyKQAAAE4pB3IfAAAAciAAAAByIQAAAHIEAAAAciwAAADaDGxpc3RfYXJjaGl2ZXIqAAAAqQRy GAAAAHIZAAAAciYAAAByHgAAAHIPAAAAcg8AAAByEAAAAHITAAAAdAAAAPMIAAAADgIIARYBBP96 GEFyY2hpdmVUZXN0LmFyY2hpdmVfbGlzdGMCAAAAAAAAAAAAAAAEAAAABwAAAEMAAAByRwAAACkF ehVUZXN0IGFyY2hpdmUgdGVzdGluZy5ySAAAAEZyKQAAAE4pB3IfAAAAciAAAAByIQAAAHIEAAAA ciwAAADaDHRlc3RfYXJjaGl2ZXIqAAAAcksAAAByDwAAAHIPAAAAchAAAAByFQAAAHoAAAByTAAA AHoYQXJjaGl2ZVRlc3QuYXJjaGl2ZV90ZXN0YwQAAAAAAAAAAAAAAAYAAAAJAAAAQwAAAHOaAAAA fAJkAXUAciJ8A3QAagFrAnIMZAJ9Am4WfAN0AGoCawJyFGQDfQJuDnwDdABqA2sCchxkBH0CbgZ0 BGQFfAMWAIMBggF0BWoGoAd0CKEBfQR6G2QGRABdDH0FfABqCXwBfAJ8AGoKKyt8BWQHjQQBAHEr VwB8BHJCdAugB3wEoQEBAGQBUwBkAVMAfARyTHQLoAd8BKEBAQB3AHcAKQh6FlRlc3QgYXJjaGl2 ZSBjcmVhdGlvbi5OKQFyNgAAACkBcjcAAAApAnI3AAAAcjgAAAB6FmludmFsaWQgY2hlY2sgdmFs dWUgJXJySAAAACkCcioAAAByHgAAACkMcgYAAAByDAAAAHINAAAAcg4AAADaCisrVmFsdWVFcnJv cnIsAAAAci0AAAByLwAAAHIEAAAA2g9fYXJjaGl2ZV9jcmVhdGVyKgAAAHIfAAAAKQZyGAAAAHIm AAAA2ghzcmNmaWxlc3ISAAAAcjQAAAByHgAAAHIPAAAAcg8AAAByEAAAAHIXAAAAgAAAAHMkAAAA CAIKKysBBgEKKysBBgEKKysBBgEMAgwBAgEIAxYBAv8EAw4BCP8MAQL/ehpBcmNoaXZlVGVzdC5h cmNoaXZlX2NyZWF0ZWMFAAAAAAAAAAAAAAAHAAAACQAAAEMAAABzvAAAAHwCRABdFH0FfACgAHQB agKgA3wFoQGhAQEAfACgBHQBagKgBXwFoQGhAQEAcQJ0BmoHagh0CWQBjQF9Bno5dAFqAqAKKyt8 BnwBoQJ9AXwAoAR0AWoCoAN8AaEBZAJ8ARYAoQIBAHQGagt8AXwCfARkA3wDZASNBQEAfACgBHQB agKgDHwBoQGhAQEAfACgDXwBoQEBAHwAoA58AXwCoQIBAFcAdA+gEHwGoQEBAGQFUwB0D6AQfAah AQEAdwApBnodQ3JlYXRlIGFyY2hpdmUgZnJvbSBmaWxlbmFtZS5yJwAAAHIcAAAARikDch4AAABy KwAAAHIqAAAATikR2gthc3NlcnRGYWxzZXIfAAAAciAAAAByIwAAAHIiAAAA2gZleGlzdHNyLAAA AHItAAAAci4AAAByAwAAAHIhAAAA2g5jcmVhdGVfYXJjaGl2ZXJDAAAA2h9jaGVja19jcmVhdGVk X2FyY2hpdmVfd2l0aF90ZXN02h9jaGVja19jcmVhdGVkX2FyY2hpdmVfd2l0aF9kaWZmcjIAAABy MwAAACkHchgAAAByJgAAAHJQAAAAcioAAAByHgAAANoHc3JjZmlsZXIuAAAAcg8AAAByDwAAAHIQ AAAAck8AAACVAAAAcxgAAAAIAhIBFAEOAgIBDgEYARQBEgEKKysBDgEaAnobQXJjaGl2ZVRlc3Qu X2FyY2hpdmVfY3JlYXRlYwIAAAAAAAAAAAAAAAQAAAAEAAAAQwAAAHOgAAAAdABqAX0CfABqAn0D fABqAmQBdgByDmQCfQNuOnwAagJkA2sCchZkBH0DbjJ8AGoCZAVrAnIeZAZ9A24qfABqAmQHawJy JmQIfQNuInwAagJkCXYAcjFkCisrfQN0AGoDfQJuF3wAagJkC2sCcjlkDH0Dbg98AGoCZA1rAnJB ZA59A24HfABqAmQPawJySGQAUwB8AnwBfANkEI0CAQBkAFMAKRFOKQLaCGNvbXByZXNz2gdweV9n emlw2gRnemlw2gZweV9iejLaBWJ6aXAy2gdweV9sem1h2gJ4etoDemlw2gV1bnppcCkC2gRyemlw 2gdzaG9ydGVu2gdweV9lY2hv2gRsY2Fi2gorK2NhYmV4dHJhY3TaC2dlbmlzb2ltYWdl2gI3etoE c2hhcikBcioAAAApBHIsAAAAck0AAAByKgAAAHJKAAAAKQRyGAAAAHImAAAA2gdjb21tYW5kcioA AAByDwAAAHIPAAAAchAAAAByVAAAAKYAAABzKAAAAAYBBgEKKysCBgEKKysBBgEKKysBBgEKKysB BgEKKysBBAEIAQorKwEGAQorKwEGAQorKwEEARABeitBcmNoaXZlVGVzdC5jaGVja19jcmVhdGVk X2FyY2hpdmVfd2l0aF90ZXN0YwMAAAAAAAAAAAAAAAsAAAAJAAAAQwAAAHNEAQAAdABqAaACZAGh AX0DfANzCisrZAJTAHwAagN9BHwAagNkA2sCchVkBH0Ebh98AGoDZAVrAnIdZAZ9BG4XfABqA2QH awJyJWQIfQRuD3wAagNkCWsCci1kCisrfQRuB3wAagNkC2sCcjRkDH0EdABqAWoEdAVkDY0BfQV6 YHQAagGgBnwFoQF9BnpIdABqB3wBfARkDmQPjQN9B3QIfAKDAWQQawJyZXQJagorK6ALdAx8AmQR GQChAn0IdABqAaANfANkEnwIfAdnBKEBAQBuHXwCRABdGn0JdAlqCisroAt0DHwJoQJ9CHQJagor K6ALfAd8CaECfQorK3QAagGgDXwDZBJ8CHwKKytnBKEBAQBxZ1cAfAZyinQJoAZ8BqEBAQBuCXwG cpN0CaAGfAahAQEAdwB3AFcAdA6gD3wFoQEBAGQCUwB0DqAPfAWhAQEAdwApE3o3RXh0cmFjdCBj cmVhdGVkIGFyY2hpdmUgYWdhaW4gYW5kIGNvbXBhcmUgdGhlIGNvbnRlbnRzLtoEZGlmZk5yVwAA AHJZAAAAcl4AAAByXwAAAHJjAAAAcmQAAAByZwAAANoGdW5zaGFycmUAAAByZgAAAHInAAAARikC cioAAAByKwAAAHIdAAAAcgEAAAB6BC11ck4pEHIsAAAAci0AAADaDGZpbmRfcHJvZ3JhbXIqAAAA ci4AAAByAwAAAHIvAAAAcjAAAAByJQAAAHIfAAAAciAAAAByIQAAAHIEAAAA2gtydW5fY2hlY2tl ZHIyAAAAcjMAAAApC3IYAAAAciYAAAByUAAAAHJpAAAAcioAAAByLgAAAHI0AAAAcjUAAADaBnNv dXJjZXJWAAAA2gZ0YXJnZXRyDwAAAHIPAAAAchAAAAByVQAAAL0AAABzRgAAAAwDBAEEAQYBCisr AgYBCisrAQYBCisrAQYBCisrAQYBCisrAQQBDgECAQwBAgEQAQwBEgEWAQgCDgEOARYBAoAEAgor KwECgAT/DAEC/wKAGgN6K0FyY2hpdmVUZXN0LmNoZWNrX2NyZWF0ZWRfYXJjaGl2ZV93aXRoX2Rp ZmYpAXIBAAAAKQJOcgEAAAApE3IIAAAAcgkAAAByCisrAAAAcgsAAAByKgAAAHIbAAAAcgYAAABy DAAAAHIWAAAAciQAAAByMQAAAHI6AAAAcjsAAAByEwAAAHIVAAAAchcAAAByTwAAAHJUAAAAclUA AAByDwAAAHIPAAAAcg8AAAByEAAAAHIRAAAALwAAAHMeAAAACAAEAQQDCAIOCisrCisrCQgPCBII BQgGCAYQBgorKxUIEQwXchEAAABjAQAAAAAAAAAAAAAAAgAAAAgAAABDAAAAczQAAAB0AHwAgwGP DH0BfAGgAaEAVwACAGQBBAAEAIMDAQBTADEAcxN3AQEAAQABAFkAAQBkAVMAKQJ6FkdldCBmaWxl IGRhdGEgYXMgdGV4dC5OKQLaBG9wZW7aBHJlYWQpAnIZAAAA2gJmb3IPAAAAcg8AAAByEAAAAHJF AAAA4wAAAHMGAAAACisrAgYBJP9yRQAAAGMBAAAAAAAAAAAAAAACAAAABAAAAEMAAABzSgAAAHQA agGgAnwAZAGhAn0BdABqAaADfAGhAXIjfAFkAjcAfQF0BHwBgwFkA2sEch10BWQEfAAWAIMBggF0 AGoBoAN8AaEBcw18AVMAKQZ6Pk5vdGU6IHRoaXMgaXMgX25vdF8gaW50ZW5kZWQgdG8gYmUgdXNl ZCB0byBjcmVhdGUgYSBkaXJlY3Rvcnku2gNmb2/aAWHpZAAAAHovY291bGQgbm90IGNvbnN0cnVj dCB1bmlxdWUgZGlyZWN0b3J5IG5hbWUgYXQgJXJOKQZyHwAAAHIgAAAAciEAAAByUgAAAHIlAAAA ck4AAAApAnIDAAAA2gFkcg8AAAByDwAAAHIQAAAAcjwAAADpAAAAcw4AAAAOAgwBCAEMAQwCDPwE BXI8AAAAKQ3aCHVuaXR0ZXN0ch8AAAByMgAAAHIsAAAA2gByAwAAAHIEAAAAckYAAAByBgAAANoI VGVzdENhc2VyEQAAAHJFAAAAcjwAAAByDwAAAHIPAAAAcg8AAAByEAAAANoIPG1vZHVsZT4BAAAA cxYAAAAIDwgBCAEIARABBAMOAhIWAH8INQwGCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK K2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hl X18vdGVzdF83ei5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0x LjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF83ei5jcHl0aG9uLTMx MC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2 ZXMvX19weWNhY2hlX18vdGVzdF83ei5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAt MDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0Xzd6LmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0w LDAgKzEsNzkgQEAKKytvDQ0KKysAAAAAmk2bVn0TAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAA c04AAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZtCVoJ bQorK1oKKysBAEcAZAZkB4QAZAdlB4MDWgtkAVMAKQjpAAAAAE7pAQAAACkC2gtBcmNoaXZlVGVz dNoHQ29udGVudOkCAAAAKQLaDW5lZWRzX3Byb2dyYW3aC25lZWRzX2NvZGVjYwAAAAAAAAAAAAAA AAAAAAAEAAAAQAAAAHNkAAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFaBWUGZQNkBIMCZAVk BoQAgwFaB2UEZAeDAWUEZQODAWQIZAmEAIMBgwFaCGUEZAeDAWUGZQNkBIMCZAorK2QLhACDAYMB WglkDFMAKQ3aBlRlc3Q3etoCN3pjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAc+wBAAB8AKAAZAGh AQEAfACgAGQCoQEBAHwAoABkA6EBAQB8AKAAZAShAQEAfABqAGQFdAFqAmQGjQIBAHwAoANkB6EB AQB8AKADZAihAQEAfACgA2QJoQEBAHwAoANkCisroQEBAHwAoANkC6EBAQB8AKADZAyhAQEAfACg A2QNoQEBAHwAoANkDqEBAQB8AKADZA+hAQEAfACgA2QQoQEBAHwAoANkEaEBAQB8AKADZBKhAQEA fABqBGQHdAFqAmQGjQIBAHwAagRkCHQBagJkBo0CAQB8AGoEZAl0AWoCZAaNAgEAfABqBGQKKytk AGQGjQIBAHwAagRkC3QBagJkBo0CAQB8AKAEZAyhAQEAfACgBGQNoQEBAHwAoARkDqEBAQB8AGoE ZA9kAGQGjQIBAHwAagRkEGQAZAaNAgEAfACgBGQRoQEBAHwAagRkEmQAZAaNAgEAfACgBWQHoQEB AHwAoAVkCKEBAQB8AKAFZAmhAQEAfACgBWQKKyuhAQEAfACgBWQLoQEBAHwAoAVkDKEBAQB8AKAF ZA2hAQEAfACgBWQOoQEBAHwAoAVkD6EBAQB8AKAFZBChAQEAfACgBWQRoQEBAHwAoAVkEqEBAQB8 AGoGZAd0AWoCZAaNAgEAfABqBmQIdAFqAmQGjQIBAGQAUwApE056BXQgLjd6egZ0IC5jYjd6BXQu emlwegV0LmNienoIdC50eHQueHqpAdoFY2hlY2t6CHQudHh0Lmd6egl0LnR4dC5iejJ6CisrdC50 eHQubHptYXoFdC5qYXJ6B3QudHh0Llp6BXQuY2FiegV0LmFyanoGdC5jcGlvegV0LnJwbXoFdC5k ZWJ6BXQuaXNvegV0LnZoZCkH2hBhcmNoaXZlX2NvbW1hbmRzcgQAAADaCisrU2luZ2xlZmlsZdoM YXJjaGl2ZV9saXN02g9hcmNoaXZlX2V4dHJhY3TaDGFyY2hpdmVfdGVzdNoOYXJjaGl2ZV9jcmVh dGWpAdoEc2VsZqkAchQAAAD6OC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9h cmNoaXZlcy90ZXN0Xzd6LnB52gd0ZXN0Xzd6FwAAAHNWAAAACisrAgorKwEKKysBCisrARABCisr AQorKwEKKysBCisrAQorKwEKKysBCisrAQorKwEKKysBCisrAQorKwEKKysBEAEQARABDgEQAQor KwEKKysBCisrAQ4BDgEKKysBDgEKKysBCisrAQorKwEKKysBCisrAQorKwEKKysBCisrAQorKwEK KysBCisrAQorKwEQARQBeg5UZXN0N3oudGVzdF83etoDcmFyYwEAAAAAAAAAAAAAAAEAAAADAAAA QwAAAPMiAAAAfACgAGQBoQEBAHwAoAFkAaEBAQB8AKACZAGhAQEAZABTACkCTnoFdC5yYXKpA3IO AAAAcg8AAAByEAAAAHISAAAAchQAAAByFAAAAHIVAAAA2gt0ZXN0Xzd6X3JhckUAAABzBgAAAAor KwMKKysBDgF6ElRlc3Q3ei50ZXN0Xzd6X3JhctoEZmlsZWMBAAAAAAAAAAAAAAABAAAABQAAAEMA AABzlgEAAHwAagBkAWQCZAONAgEAfABqAGQEZAJkA40CAQB8AGoAZAVkAmQDjQIBAHwAagBkBmQC ZAONAgEAfABqAGQHZAJ0AWoCZAiNAwEAfACgA2QJoQEBAHwAoANkCisroQEBAHwAoANkC6EBAQB8 AKADZAyhAQEAfACgA2QNoQEBAHwAoANkDqEBAQB8AKADZA+hAQEAfACgA2QQoQEBAHwAoANkEaEB AQB8AKADZBKhAQEAfABqBGQJZABkE40CAQB8AGoEZAorK3QBagJkE40CAQB8AGoEZAtkAGQTjQIB AHwAagRkDHQBagJkE40CAQB8AKAEZA2hAQEAfACgBGQOoQEBAHwAoARkD6EBAQB8AGoEZBBkAGQT jQIBAHwAagRkEWQAZBONAgEAfACgBGQSoQEBAHwAoAVkCaEBAQB8AKAFZAorK6EBAQB8AKAFZAuh AQEAfACgBWQMoQEBAHwAoAVkDaEBAQB8AKAFZA6hAQEAfACgBWQPoQEBAHwAoAVkEKEBAQB8AKAF ZBGhAQEAfACgBWQSoQEBAGQAUwApFE56CHQuN3ouZm9vVCkB2gtza2lwX2NyZWF0ZXoJdC5jYjcu Zm9vegl0LnppcC5mb296CXQuY2J6LmZvb3oMdC50eHQueHouZm9vKQJyHAAAAHILAAAAegx0LnR4 dC5nei5mb296DXQudHh0LmJ6Mi5mb296CXQuamFyLmZvb3oLdC50eHQuWi5mb296CXQuY2FiLmZv b3oJdC5hcmouZm9vegorK3QuY3Bpby5mb296CXQucnBtLmZvb3oJdC5kZWIuZm9vegl0Lmlzby5m b29yCisrAAAAKQZyDAAAAHIEAAAAcg0AAAByDgAAAHIPAAAAchAAAAByEgAAAHIUAAAAchQAAABy FQAAANoMdGVzdF83el9maWxlTAAAAHNGAAAADgMOAQ4BDgESAQorKwEKKysBCisrAQorKwEKKysB CisrAQorKwEKKysBCisrAQorKwEOARABDgEQAQorKwEKKysBCisrAQ4BDgEKKysBCisrAQorKwEK KysBCisrAQorKwEKKysBCisrAQorKwEKKysBDgF6E1Rlc3Q3ei50ZXN0Xzd6X2ZpbGVjAQAAAAAA AAAAAAAAAQAAAAMAAABDAAAAchgAAAApAk56CXQucmFyLmZvb3IZAAAAchIAAAByFAAAAHIUAAAA chUAAADaEHRlc3RfN3pfcmFyX2ZpbGVzAAAAcwYAAAAKKysECisrAQ4BehdUZXN0N3oudGVzdF83 el9yYXJfZmlsZU4pCisr2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3By b2dyYW1yBgAAAHIWAAAAcgcAAAByGgAAAHIdAAAAch4AAAByFAAAAHIUAAAAchQAAAByFQAAAHII AAAAEwAAAHMYAAAACAAEAgYCCisrAQgtCisrAQYGBgEMAQYlCAEQAXIIAAAAKQzaCGJ1aWx0aW5z 2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3 cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYAAAByBwAAAHIIAAAAchQAAAByFAAAAHIU AAAAchUAAADaCDxtb2R1bGU+AQAAAHMGAAAAKg8QARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19w eWNhY2hlX18vdGVzdF83emEuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBz dHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfN3phLmNw eXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0 cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0Xzd6YS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUu cHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3Ry ZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0Xzd6YS5jcHl0 aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICsw MTAwCitAQCAtMCwwICsxLDM4IEBACisrbw0NCisrAAAAAJpNm1ZyCwAA4wAAAAAAAAAAAAAAAAAA AAAEAAAAQAAAAHNKAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHbQhaCAEA ZARkBWwGbQlaCQEARwBkBmQHhABkB2UHgwNaCisrZAFTACkI6QAAAABO6QEAAAApAtoLQXJjaGl2 ZVRlc3TaB0NvbnRlbnTpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAA QAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMB gwFaBmQHUwApCNoHVGVzdDd6YdoDN3phYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMCAQAAfACg AGQBoQEBAHwAoABkAqEBAQB8AKAAZAOhAQEAfACgAGQEoQEBAHwAoAFkBaEBAQB8AKABZAahAQEA fACgAWQHoQEBAHwAoAFkCKEBAQB8AKABZAmhAQEAfACgAWQKKyuhAQEAfABqAmQFdANqBGQLjQIB AHwAagJkBnQDagRkC40CAQB8AGoCZAdkAGQLjQIBAHwAagJkCHQDagRkC40CAQB8AKACZAmhAQEA fACgBWQFoQEBAHwAoAVkBqEBAQB8AKAFZAehAQEAfACgBWQIoQEBAHwAoAVkCaEBAQB8AGoGZAV0 A2oEZAuNAgEAfABqBmQGdANqBGQLjQIBAGQAUwApDE56BXQgLjd6egZ0IC5jYjd6BXQuemlwegV0 LmNienoIdC50eHQuZ3p6CXQudHh0LmJ6MnoFdC5qYXJ6B3QudHh0Llp6BXQuY2FiegV0LnJwbakB 2gVjaGVjaykH2hBhcmNoaXZlX2NvbW1hbmRz2gxhcmNoaXZlX2xpc3TaD2FyY2hpdmVfZXh0cmFj dHIEAAAA2gorK1NpbmdsZWZpbGXaDGFyY2hpdmVfdGVzdNoOYXJjaGl2ZV9jcmVhdGWpAdoEc2Vs ZqkAchMAAAD6OS9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90 ZXN0Xzd6YS5wedoLdGVzdF9wN2F6aXAXAAAAcywAAAAKKysCCisrAQorKwEKKysBCisrAQorKwEK KysBCisrAQorKwEKKysBEAEQAQ4BEAEKKysBCisrAQorKwEKKysBCisrAQorKwEQARQBehNUZXN0 N3phLnRlc3RfcDdhemlw2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHPwAAAAfABqAGQB ZAJkA40CAQB8AGoAZARkAmQDjQIBAHwAagBkBWQCZAONAgEAfABqAGQGZAJkA40CAQB8AKABZAeh AQEAfACgAWQIoQEBAHwAoAFkCaEBAQB8AKABZAorK6EBAQB8AKABZAuhAQEAfACgAWQMoQEBAHwA agJkB2QAZA2NAgEAfABqAmQIdANqBGQNjQIBAHwAagJkCWQAZA2NAgEAfABqAmQKKyt0A2oEZA2N AgEAfACgAmQLoQEBAHwAoAVkB6EBAQB8AKAFZAihAQEAfACgBWQJoQEBAHwAoAVkCisroQEBAHwA oAVkC6EBAQBkAFMAKQ5Oegh0Ljd6LmZvb1QpAdoLc2tpcF9jcmVhdGV6CXQuY2I3LmZvb3oJdC56 aXAuZm9vegl0LmNiei5mb296DHQudHh0Lmd6LmZvb3oNdC50eHQuYnoyLmZvb3oJdC5qYXIuZm9v egt0LnR4dC5aLmZvb3oJdC5jYWIuZm9vegl0LnJwbS5mb29yCQAAACkGcgsAAAByDAAAAHINAAAA cgQAAAByDgAAAHIPAAAAchEAAAByEwAAAHITAAAAchQAAADaDXRlc3RfN3phX2ZpbGUwAAAAcygA AAAOAw4BDgEOAQorKwEKKysBCisrAQorKwEKKysBCisrAQ4BEAEOARABCisrAQorKwEKKysBCisr AQorKwEOAXoVVGVzdDd6YS50ZXN0Xzd6YV9maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f 2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBgAAAHIVAAAAchgAAAByEwAAAHITAAAAchMAAAByFAAA AHIHAAAAEwAAAHMOAAAACAAEAgYCCisrAQYYBgEQAXIHAAAAKQvaCGJ1aWx0aW5z2gxAcHlfYnVp bHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytA cHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYAAAByBwAAAHITAAAAchMAAAByEwAAAHIUAAAA2gg8bW9k dWxlPgEAAABzBgAAACoPDAEUAgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1O YXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rf N3pyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0 Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0Xzd6ci5jcHl0aG9uLTMxMC1weXRl c3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19w eWNhY2hlX18vdGVzdF83enIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAx IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF83enIuY3B5dGhvbi0zMTAtcHl0ZXN0 LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAsMCAr MSw4IEBACisrbw0NCisrAAAAAJpNm1Z+BAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNGAAAA ZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIAQBHAGQGZAeE AGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB2g1uZWVkc19w cm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJk A4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMBgwFaBmQHUwApCNoHVGVzdDd6ctoDN3pyYwEAAAAA AAAAAAAAAAEAAAADAAAAQwAAAHMYAAAAfACgAGQBoQEBAHwAoABkAqEBAQBkAFMAKQNOegV0IC43 enoGdCAuY2I3qQHaEGFyY2hpdmVfY29tbWFuZHOpAdoEc2VsZqkAcgwAAAD6OS9idWlsZGRpci9w YXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0Xzd6ci5wedoIdGVzdF83enIX AAAAcwQAAAAKKysCDgF6EFRlc3Q3enIudGVzdF83enLaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQA AABDAAAAcyAAAAB8AGoAZAFkAmQDjQIBAHwAagBkBGQCZAONAgEAZABTACkFTnoIdC43ei5mb29U KQHaC3NraXBfY3JlYXRlegl0LmNiNy5mb29yCAAAAHIKKysAAAByDAAAAHIMAAAAcg0AAADaDHRl c3RfN3pfZmlsZRwAAABzBAAAAA4DEgF6FFRlc3Q3enIudGVzdF83el9maWxlTikH2ghfX25hbWVf X9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBQAAAHIOAAAAchEAAAByDAAA AHIMAAAAcgwAAAByDQAAAHIGAAAAEwAAAHMOAAAACAAEAgYCCisrAQYEBgEQAXIGAAAAKQorK9oI YnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0 aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgUAAAByBgAAAHIMAAAAcgwAAAByDAAA AHINAAAA2gg8bW9kdWxlPgEAAABzBgAAACYPDAEUAgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm aWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHlj YWNoZV9fL3Rlc3RfYXIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJl YW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfYXIuY3B5dGhv bi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2Fy Y2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfYXIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5Ywkx OTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0x LjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9hci5jcHl0aG9uLTMx MC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitA QCAtMCwwICsxLDcgQEAKKytvDQ0KKysAAAAAmk2bVoEEAADjAAAAAAAAAAAAAAAAAAAAAAQAAABA AAAAc04AAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZt CVoJbQorK1oKKysBAEcAZAZkB4QAZAdlB4MDWgtkAVMAKQjpAAAAAE7pAQAAACkC2gtBcmNoaXZl VGVzdNoHQ29udGVudOkCAAAAKQLaDW5lZWRzX3Byb2dyYW3aCG5lZWRzX29zYwAAAAAAAAAAAAAA AAAAAAAFAAAAQAAAAHNIAAAAZQBaAWQAWgJkAVoDZQRkAoMBZQVlA4MBZANkBIQAgwGDAVoGZQRk AoMBZQVkBYMBZQVlA4MBZAZkB4QAgwGDAYMBWgdkCFMAKQnaBlRlc3RBctoCYXLaBXBvc2l4YwEA AAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMUAAAAfABqAGQBdAFqAmQCjQIBAGQAUwApA056B3QudHh0 LmEpAdoFY2hlY2spA9oQYXJjaGl2ZV9jb21tYW5kc3IEAAAA2gorK1NpbmdsZWZpbGWpAdoEc2Vs ZqkAchAAAAD6OC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90 ZXN0X2FyLnB52gd0ZXN0X2FyFwAAAHMCAAAAFAN6DlRlc3RBci50ZXN0X2Fy2gRmaWxlYwEAAAAA AAAAAAAAAAEAAAAFAAAAQwAAAHMUAAAAfABqAGQBZAJkAGQDjQMBAGQAUwApBE56C3QudHh0LmEu Zm9vVCkC2gtza2lwX2NyZWF0ZXILAAAAKQFyDAAAAHIOAAAAchAAAAByEAAAAHIRAAAA2gx0ZXN0 X2FyX2ZpbGUcAAAAcwIAAAAUBHoTVGVzdEFyLnRlc3RfYXJfZmlsZU4pCNoIX19uYW1lX1/aCisr X19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgcAAAByBgAAAHISAAAAchUAAAByEAAA AHIQAAAAchAAAAByEQAAAHIIAAAAEwAAAHMSAAAACAAEAgYCBgEMAQYDBgEGARIBcggAAAApDNoI YnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0 aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgQAAAByBgAAAHIHAAAAcggAAAByEAAA AHIQAAAAchAAAAByEQAAANoIPG1vZHVsZT4BAAAAcwYAAAAqDxABFAIKK1wgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNo aXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2FyYy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBh dG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVz dF9hcmMuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0x LjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfYXJjLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rf YXJjLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4 MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsNyBAQAorK28NDQorKwAAAACaTZtWVAQAAOMAAAAAAAAA AAAAAAAAAAAABAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQda B20IWggBAGQEZAVsBm0JWgkBAEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQLa C0FyY2hpdmVUZXN02gdDb250ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAA AAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFk BWQGhACDAYMBWgZkB1MAKQjaB1Rlc3RBcmPaA2FyY2MBAAAAAAAAAAAAAAABAAAABAAAAEMAAABz FAAAAHwAagBkAXQBagJkAo0CAQBkAFMAKQNOegV0LmFyYykB2gVjaGVja6kD2hBhcmNoaXZlX2Nv bW1hbmRzcgQAAADaCU11bHRpZmlsZakB2gRzZWxmqQByDwAAAPo5L2J1aWxkZGlyL3BhdG9vbC11 cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfYXJjLnB52gh0ZXN0X2FyYxcAAABzAgAA ABQCehBUZXN0QXJjLnRlc3RfYXJj2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAFAAAAQwAAAHMWAAAA fABqAGQBdAFqAmQCZAONAwEAZABTACkETnoJdC5hcmMuZm9vVCkCcgkAAADaC3NraXBfY3JlYXRl cgorKwAAAHINAAAAcg8AAAByDwAAAHIQAAAA2g10ZXN0X2FyY19maWxlGwAAAHMCAAAAFgN6FVRl c3RBcmMudGVzdF9hcmNfZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFt ZV9f2gdwcm9ncmFtcgYAAAByEQAAAHIUAAAAcg8AAAByDwAAAHIPAAAAchAAAAByBwAAABMAAABz DgAAAAgABAIGAgorKwEGAwYBEAFyBwAAACkL2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0 ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoA cgMAAAByBAAAAHIGAAAAcgcAAAByDwAAAHIPAAAAcg8AAAByEAAAANoIPG1vZHVsZT4BAAAAcwYA AAAqDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2FyY2htYWdlLmNw eXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90 ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2FyY2htYWdlLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5 Y2FjaGVfXy90ZXN0X2FyY2htYWdlLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0w MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfYXJjaG1hZ2UuY3B5dGhvbi0z MTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAor QEAgLTAsMCArMSw2IEBACisrbw0NCisrAAAAAJpNm1Z4BAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAA QAAAAHNGAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoI AQBHAGQGZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB 2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoD ZQRlA4MBZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMBgwFaBmQHUwApCNoMVGVzdEFyY2ht YWdl2ghhcmNobWFnZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAADzHAAAAHwAagBkAWQAZAKNAgEA fACgAWQBoQEBAGQAUwApA056BXQuY2htqQHaBWNoZWNrqQLaD2FyY2hpdmVfZXh0cmFjdNoMYXJj aGl2ZV90ZXN0qQHaBHNlbGapAHIQAAAA+j4vYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIv dGVzdHMvYXJjaGl2ZXMvdGVzdF9hcmNobWFnZS5wedoNdGVzdF9hcmNobWFnZRcAAABzBAAAAA4C DgF6GlRlc3RBcmNobWFnZS50ZXN0X2FyY2htYWdl2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAA QwAAAHIIAAAAKQNOegl0LmNobS5mb29yCQAAAHILAAAAcg4AAAByEAAAAHIQAAAAchEAAADaEnRl c3RfYXJjaG1hZ2VfZmlsZRwAAABzBAAAAA4DDgF6H1Rlc3RBcmNobWFnZS50ZXN0X2FyY2htYWdl X2ZpbGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIF AAAAchIAAAByFAAAAHIQAAAAchAAAAByEAAAAHIRAAAAcgYAAAATAAAAcw4AAAAIAAQCBgIKKysB BgQGARABcgYAAAApCisr2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlv bi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIG AAAAchAAAAByEAAAAHIQAAAAchEAAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8MARQCCitcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9hcmouY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41 LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNo ZV9fL3Rlc3RfYXJqLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBz dHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2Fyai5jcHl0aG9uLTMx MC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisr KysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVf Xy90ZXN0X2Fyai5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6 MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDcgQEAKKytvDQ0KKysAAAAAmk2bVhoEAADj AAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0YAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQC ZANsBm0HWgcBAGQEZAVsBm0IWggBAEcAZAZkB4QAZAdlB4MDWglkAVMAKQjpAAAAAE7pAQAAACkB 2gtBcmNoaXZlVGVzdOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAAAAAAAAQAAABA AAAAczgAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQRkBIMBZQRlA4MBZAVkBoQAgwGD AVoGZAdTACkI2gdUZXN0QXJq2gNhcmpjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcw4AAAB8AKAA ZAGhAQEAZABTACkCTnoFdC5hcmqpAdoQYXJjaGl2ZV9jb21tYW5kc6kB2gRzZWxmqQByDAAAAPo5 L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfYXJqLnB5 2gh0ZXN0X2FyahcAAABzAgAAAA4CehBUZXN0QXJqLnRlc3RfYXJq2gRmaWxlYwEAAAAAAAAAAAAA AAEAAAAEAAAAQwAAAHMSAAAAfABqAGQBZAJkA40CAQBkAFMAKQROegl0LmFyai5mb29UKQHaC3Nr aXBfY3JlYXRlcggAAAByCisrAAAAcgwAAAByDAAAAHINAAAA2g10ZXN0X2Fyal9maWxlGwAAAHMC AAAAEgN6FVRlc3RBcmoudGVzdF9hcmpfZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oM X19xdWFsbmFtZV9f2gdwcm9ncmFtcgUAAAByDgAAAHIRAAAAcgwAAAByDAAAAHIMAAAAcg0AAABy BgAAABMAAABzDgAAAAgABAIGAgorKwEGAwYBEAFyBgAAACkKKyvaCGJ1aWx0aW5z2gxAcHlfYnVp bHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytA cHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByDAAAAHIMAAAAcgwAAAByDQAAANoIPG1vZHVsZT4B AAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2JzZGNw aW8uY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfYnNkY3Bpby5jcHl0aG9uLTMxMC1w eXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMv X19weWNhY2hlX18vdGVzdF9ic2RjcGlvLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3 MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfYnNkY3Bpby5jcHl0aG9u LTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAw CitAQCAtMCwwICsxLDggQEAKKytvDQ0KKysAAAAAmk2bViwEAADjAAAAAAAAAAAAAAAAAAAAAAQA AABAAAAAc0YAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgcBAGQEZAVsBm0I WggBAEcAZAZkB4QAZAdlB4MDWglkAVMAKQjpAAAAAE7pAQAAACkB2gtBcmNoaXZlVGVzdOkCAAAA KQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAczgAAABlAFoBZABaAmQB WgNlBGUDgwFkAmQDhACDAVoFZQRkBIMBZQRlA4MBZAVkBoQAgwGDAVoGZAdTACkI2gtUZXN0QnNk Y3Bpb9oHYnNkY3Bpb2MBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzDgAAAHwAoABkAaEBAQBkAFMA KQJOegZ0LmNwaW+pAdoQYXJjaGl2ZV9jb21tYW5kc6kB2gRzZWxmqQByDAAAAPo9L2J1aWxkZGly L3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfYnNkY3Bpby5wedoMdGVz dF9ic2RjcGlvFwAAAHMCAAAADgJ6GFRlc3RCc2RjcGlvLnRlc3RfYnNkY3Bpb9oEZmlsZWMBAAAA AAAAAAAAAAABAAAABAAAAEMAAABzEgAAAHwAagBkAWQCZAONAgEAZABTACkETnoKKyt0LmNwaW8u Zm9vVCkB2gtza2lwX2NyZWF0ZXIIAAAAcgorKwAAAHIMAAAAcgwAAAByDQAAANoRdGVzdF9ic2Rj cGlvX2ZpbGUbAAAAcwIAAAASA3odVGVzdEJzZGNwaW8udGVzdF9ic2RjcGlvX2ZpbGVOKQfaCF9f bmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIFAAAAcg4AAAByEQAA AHIMAAAAcgwAAAByDAAAAHINAAAAcgYAAAATAAAAcw4AAAAIAAQCBgIKKysBBgMGARABcgYAAAAp Cisr2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glh c3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIGAAAAcgwAAAByDAAA AHIMAAAAcg0AAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5k IG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMv X19weWNhY2hlX18vdGVzdF9ic2R0YXIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rf YnNkdGFyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0t MS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2JzZHRhci5jcHl0aG9uLTMxMC1w eXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysg cGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90 ZXN0X2JzZHRhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6 MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDI4IEBACisrbw0NCisrAAAAAJpNm1ZFDQAA 4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNKAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBk AmQDbAZtB1oHAQBkBGQFbAZtCFoIbQlaCQEARwBkBmQHhABkB2UHgwNaCisrZAFTACkI6QAAAABO 6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkC2g1uZWVkc19wcm9ncmFt2gtuZWVkc19jb2RlY2MA AAAAAAAAAAAAAAAAAAAABAAAAEAAAABzAAEAAGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVl BmUDZASDAmQFZAaEAIMBWgdlBGUDgwFlBGQHgwFkCGQJhACDAYMBWghlBmUDZAorK4MCZAtkDIQA gwFaCWUGZQNkDYMCZA5kD4QAgwFaCisrZQZlA2QQgwJkEWQShACDAVoLZQRkE4MBZQRlA4MBZBRk FYQAgwGDAVoMZQRkE4MBZQZlA2QEgwJkFmQXhACDAYMBWg1lBGQTgwFlBmUDZAeDAmQYZBmEAIMB gwFaDmUEZBODAWUGZQNkCisrgwJkGmQbhACDAYMBWg9lBGQTgwFlBmUDZBCDAmQcZB2EAIMBgwFa EGQeUwApH9oKKytUZXN0QnNkdGFy2gZic2R0YXJjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAA8xgA AAB8AKAAZAGhAQEAfACgAGQCoQEBAGQAUwApA056BXQudGFyegV0LmNidKkB2hBhcmNoaXZlX2Nv bW1hbmRzqQHaBHNlbGapAHIOAAAA+jwvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvdGVzdF9ic2R0YXIucHnaC3Rlc3RfYnNkdGFyFwAAAPMEAAAACisrAg4BehZU ZXN0QnNkdGFyLnRlc3RfYnNkdGFy2gRnemlwYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHIJAAAA KQNOegh0LnRhci5nenoFdC50Z3pyCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaDnRlc3RfYnNk dGFyX2d6HAAAAHIRAAAAehlUZXN0QnNkdGFyLnRlc3RfYnNkdGFyX2d62ghjb21wcmVzc2MBAAAA AAAAAAAAAAABAAAAAwAAAEMAAAByCQAAACkDTnoHdC50YXIuWnoFdC50YXpyCisrAAAAcgwAAABy DgAAAHIOAAAAcg8AAADaDXRlc3RfYnNkdGFyX3ohAAAAcwQAAAAKKysDDgF6GFRlc3RCc2R0YXIu dGVzdF9ic2R0YXJfetoFYnppcDJjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcgkAAAApA056CXQu dGFyLmJ6MnoGdC50YnoycgorKwAAAHIMAAAAcg4AAAByDgAAAHIPAAAA2g90ZXN0X2JzZHRhcl9i ejInAAAAchEAAAB6GlRlc3RCc2R0YXIudGVzdF9ic2R0YXJfYnoy2gRsem1hYwEAAAAAAAAAAAAA AAEAAAADAAAAQwAAAPMOAAAAfACgAGQBoQEBAGQAUwApAk56CisrdC50YXIubHptYXIKKysAAABy DAAAAHIOAAAAcg4AAAByDwAAANoQdGVzdF9ic2R0YXJfbHptYSwAAADzAgAAAA4CehtUZXN0QnNk dGFyLnRlc3RfYnNkdGFyX2x6bWHaAnh6YwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHIZAAAAKQJO egh0LnRhci54enIKKysAAAByDAAAAHIOAAAAcg4AAAByDwAAANoOdGVzdF9ic2R0YXJfeHo2AAAA chsAAAB6GVRlc3RCc2R0YXIudGVzdF9ic2R0YXJfeHraBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQA AABDAAAA8yAAAAB8AGoAZAFkAmQDjQIBAHwAagBkBGQCZAONAgEAZABTACkFTnoJdC50YXIuZm9v VKkB2gtza2lwX2NyZWF0ZXoJdC5jYnQuZm9vcgorKwAAAHIMAAAAcg4AAAByDgAAAHIPAAAA2hB0 ZXN0X2JzZHRhcl9maWxlOgAAAPMEAAAADgMSAXobVGVzdEJzZHRhci50ZXN0X2JzZHRhcl9maWxl YwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHIfAAAAKQVOegx0LnRhci5nei5mb29UciAAAAB6CXQu dGd6LmZvb3IKKysAAAByDAAAAHIOAAAAcg4AAAByDwAAANoTdGVzdF9ic2R0YXJfZ3pfZmlsZUAA AAByIwAAAHoeVGVzdEJzZHRhci50ZXN0X2JzZHRhcl9nel9maWxlYwEAAAAAAAAAAAAAAAEAAAAE AAAAQwAAAHIfAAAAKQVOegt0LnRhci5aLmZvb1RyIAAAAHoJdC50YXouZm9vcgorKwAAAHIMAAAA cg4AAAByDgAAAHIPAAAA2hJ0ZXN0X2JzZHRhcl96X2ZpbGVGAAAAciMAAAB6HVRlc3RCc2R0YXIu dGVzdF9ic2R0YXJfel9maWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHIfAAAAKQVOeg10LnRh ci5iejIuZm9vVHIgAAAAegorK3QudGJ6Mi5mb29yCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADa FHRlc3RfYnNkdGFyX2J6Ml9maWxlTAAAAHIjAAAAeh9UZXN0QnNkdGFyLnRlc3RfYnNkdGFyX2J6 Ml9maWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMSAAAAfABqAGQBZAJkA40CAQBkAFMAKQRO egx0LnRhci54ei5mb29UciAAAAByCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaE3Rlc3RfYnNk dGFyX3h6X2ZpbGVfAAAAcwIAAAASA3oeVGVzdEJzZHRhci50ZXN0X2JzZHRhcl94el9maWxlTikR 2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBQAAAHIQAAAA cgYAAAByEwAAAHIVAAAAchcAAAByGgAAAHIdAAAAciIAAAByJAAAAHIlAAAAciYAAAByJwAAAHIO AAAAcg4AAAByDgAAAHIPAAAAcgcAAAATAAAAczwAAAAIAAQCBgIKKysBCAQKKysBBgQGAQwBCAQK KysBCAQKKysBCAkKKysBBgMGAQwBBgQIAQwBBgQIAQwBBgQIAQwBBhEIARABcgcAAAApC9oIYnVp bHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u 2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgUAAAByBgAAAHIHAAAAcg4AAAByDgAAAHIO AAAAcg8AAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8QARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19w eWNhY2hlX18vdGVzdF9iemlwMi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9iemlw Mi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv dGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9iemlwMi5jcHl0aG9uLTMxMC1weXRlc3Qt Ni4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2J6 aXAyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4 MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtW6gQAAOMAAAAAAAAA AAAAAAAAAAAABAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQda B20IWggBAGQEZAVsBm0JWgkBAEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQLa C0FyY2hpdmVUZXN02gdDb250ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAA AAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFk BWQGhACDAYMBWgZkB1MAKQjaCVRlc3RCemlwMtoFYnppcDJjAQAAAAAAAAAAAAAAAQAAAAQAAABD AAAAcy4AAAB8AGoAZAF0AWoCZAKNAgEAfACgA2QBoQEBAHwAagRkAXQBagJkAo0CAQBkAFMAKQNO egl0LnR4dC5iejKpAdoFY2hlY2spBdoPYXJjaGl2ZV9leHRyYWN0cgQAAADaCisrU2luZ2xlZmls ZdoMYXJjaGl2ZV90ZXN02g5hcmNoaXZlX2NyZWF0ZakB2gRzZWxmqQByEQAAAPo7L2J1aWxkZGly L3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfYnppcDIucHnaCisrdGVz dF9iemlwMhcAAABzBgAAABACCisrARQBehRUZXN0QnppcDIudGVzdF9iemlwMtoEZmlsZWMBAAAA AAAAAAAAAAABAAAABAAAAEMAAABzHgAAAHwAagBkAXQBagJkAo0CAQB8AKADZAGhAQEAZABTACkD TnoNdC50eHQuYnoyLmZvb3IJAAAAKQRyCwAAAHIEAAAAcgwAAAByDQAAAHIPAAAAchEAAAByEQAA AHISAAAA2g90ZXN0X2J6aXAyX2ZpbGUdAAAAcwQAAAAQAw4BehlUZXN0QnppcDIudGVzdF9iemlw Ml9maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1y BgAAAHITAAAAchUAAAByEQAAAHIRAAAAchEAAAByEgAAAHIHAAAAEwAAAHMOAAAACAAEAgYCCisr AQYFBgEQAXIHAAAAKQvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9u LnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYA AAByBwAAAHIRAAAAchEAAAByEQAAAHISAAAA2gg8bW9kdWxlPgEAAABzBgAAACoPDAEUAgorXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEy L3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfY2FiZXh0cmFjdC5jcHl0aG9uLTMxMC1w eXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2 ZXMvX19weWNhY2hlX18vdGVzdF9jYWJleHRyYWN0LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5w eWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90 ZXN0X2NhYmV4dHJhY3QuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAx OjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQv dGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9jYWJleHRyYWN0LmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0w LDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtWhQQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABz RgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBk BmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVl ZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQOD AWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaDlRlc3RDYWJleHRyYWN0 2gorK2NhYmV4dHJhY3RjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAA8xwAAAB8AKAAZAGhAQEAfABq AWQBZABkAo0CAQBkAFMAKQNOegV0LmNhYqkB2gVjaGVja6kC2gxhcmNoaXZlX2xpc3TaD2FyY2hp dmVfZXh0cmFjdKkB2gRzZWxmqQByEAAAAPpAL2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEy L3Rlc3RzL2FyY2hpdmVzL3Rlc3RfY2FiZXh0cmFjdC5wedoPdGVzdF9jYWJleHRyYWN0FwAAAHME AAAACisrAhIBeh5UZXN0Q2FiZXh0cmFjdC50ZXN0X2NhYmV4dHJhY3TaBGZpbGVjAQAAAAAAAAAA AAAAAQAAAAQAAABDAAAAcggAAAApA056CXQuY2FiLmZvb3IJAAAAcgsAAAByDgAAAHIQAAAAchAA AAByEQAAANoUdGVzdF9jYWJleHRyYWN0X2ZpbGUcAAAAcwQAAAAKKysDEgF6I1Rlc3RDYWJleHRy YWN0LnRlc3RfY2FiZXh0cmFjdF9maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1 YWxuYW1lX1/aB3Byb2dyYW1yBQAAAHISAAAAchQAAAByEAAAAHIQAAAAchAAAAByEQAAAHIGAAAA EwAAAHMOAAAACAAEAgYCCisrAQYEBgEQAXIGAAAAKQorK9oIYnVpbHRpbnPaDEBweV9idWlsdGlu c9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRl c3RfYXLaAHIDAAAAcgUAAAByBgAAAHIQAAAAchAAAAByEAAAAHIRAAAA2gg8bW9kdWxlPgEAAABz BgAAACYPDAEUAgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9v bC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfY2htbGliLmNw eXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90 ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2NobWxpYi5jcHl0aG9uLTMxMC1weXRlc3Qt Ni4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF9jaG1saWIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAx IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9jaG1saWIuY3B5dGhvbi0zMTAtcHl0 ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAs MCArMSw3IEBACisrbw0NCisrAAAAAJpNm1YyBAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNG AAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIAQBHAGQG ZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB2g1uZWVk c19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MB ZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMBgwFaBmQHUwApCNoKKytUZXN0Q2htbGli2g5l eHRyYWN0X2NobUxpYmMBAAAAAAAAAAAAAAABAAAABAAAAEMAAADzEgAAAHwAagBkAWQAZAKNAgEA ZABTACkDTnoFdC5jaG2pAdoFY2hlY2upAdoPYXJjaGl2ZV9leHRyYWN0qQHaBHNlbGapAHIPAAAA +jwvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9jaG1s aWIucHnaDXRlc3RfYXJjaG1hZ2UXAAAAcwIAAAASAnoYVGVzdENobWxpYi50ZXN0X2FyY2htYWdl 2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHIIAAAAKQNOegl0LmNobS5mb29yCQAAAHIL AAAAcg0AAAByDwAAAHIPAAAAchAAAADaEnRlc3RfYXJjaG1hZ2VfZmlsZRsAAABzAgAAABIDeh1U ZXN0Q2htbGliLnRlc3RfYXJjaG1hZ2VfZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oM X19xdWFsbmFtZV9f2gdwcm9ncmFtcgUAAAByEQAAAHITAAAAcg8AAAByDwAAAHIPAAAAchAAAABy BgAAABMAAABzDgAAAAgABAIGAgorKwEGAwYBEAFyBgAAACkKKyvaCGJ1aWx0aW5z2gxAcHlfYnVp bHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytA cHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByDwAAAHIPAAAAcg8AAAByEAAAANoIPG1vZHVsZT4B AAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2Nsemlw LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hl ZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2NsemlwLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5 Y2FjaGVfXy90ZXN0X2NsemlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0w MSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfY2x6aXAuY3B5dGhvbi0zMTAtcHl0 ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAs MCArMSwxMCBAQAorK28NDQorKwAAAACaTZtW4wQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABz SgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaB20IWggBAGQEZAVsBm0JWgkB AEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQLaC0FyY2hpdmVUZXN02gdDb250 ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUA WgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQja CVRlc3RDbHppcNoFY2x6aXBjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcy4AAAB8AKAAZAGhAQEA fABqAWQBdAJqA2QCjQIBAHwAagRkAXQCagNkAo0CAQBkAFMAKQNOegh0LnR4dC5seqkB2gVjaGVj aykF2gxhcmNoaXZlX3Rlc3TaD2FyY2hpdmVfZXh0cmFjdHIEAAAA2gorK1NpbmdsZWZpbGXaDmFy Y2hpdmVfY3JlYXRlqQHaBHNlbGapAHIRAAAA+jsvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEu MTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9jbHppcC5wedoKKyt0ZXN0X2NsemlwFwAAAHMGAAAACisr AhABFAF6FFRlc3RDbHppcC50ZXN0X2Nsemlw2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAA AHMeAAAAfACgAGQBoQEBAHwAagFkAXQCagNkAo0CAQBkAFMAKQNOegx0LnR4dC5sei5mb29yCQAA ACkEcgsAAAByDAAAAHIEAAAAcg0AAAByDwAAAHIRAAAAchEAAAByEgAAANoPdGVzdF9jbHppcF9m aWxlHQAAAHMEAAAACisrAxQBehlUZXN0Q2x6aXAudGVzdF9jbHppcF9maWxlTikH2ghfX25hbWVf X9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBgAAAHITAAAAchUAAAByEQAA AHIRAAAAchEAAAByEgAAAHIHAAAAEwAAAHMOAAAACAAEAgYCCisrAQYFBgEQAXIHAAAAKQvaCGJ1 aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlv btoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYAAAByBwAAAHIRAAAAchEAAABy EQAAAHISAAAA2gg8bW9kdWxlPgEAAABzBgAAACoPDAEUAgorXCBObyBuZXdsaW5lIGF0IGVuZCBv ZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19f cHljYWNoZV9fL3Rlc3RfY29tcHJlc3MuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rf Y29tcHJlc3MuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVh bS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfY29tcHJlc3MuY3B5dGhvbi0z MTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAor KysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hl X18vdGVzdF9jb21wcmVzcy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIg MjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDYgQEAKKytvDQ0KKysAAAAAmk2b VroDAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0oAAABkAGQBbABaAWQAZAFsAm0DAgABAG0E WgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZtCVoJAQBHAGQGZAeEAGQHZQeDA1oKKytkAVMAKQjp AAAAAE7pAQAAACkC2gtBcmNoaXZlVGVzdNoHQ29udGVudOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1j AAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAcyAAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoF ZARTACkF2gxUZXN0Q29tcHJlc3PaCGNvbXByZXNzYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMU AAAAfABqAGQBdAFqAmQCjQIBAGQAUwApA056B3QudHh0LlopAdoFY2hlY2spA9oOYXJjaGl2ZV9j cmVhdGVyBAAAANoKKytTaW5nbGVmaWxlKQHaBHNlbGapAHINAAAA+j4vYnVpbGRkaXIvcGF0b29s LXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9jb21wcmVzcy5wedoNdGVzdF9jb21w cmVzcxcAAABzAgAAABQCehpUZXN0Q29tcHJlc3MudGVzdF9jb21wcmVzc04pBtoIX19uYW1lX1/a CisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgYAAAByDwAAAHINAAAAcg0AAABy DQAAAHIOAAAAcgcAAAATAAAAcwgAAAAIAAQCBgIOAXIHAAAAKQvaCGJ1aWx0aW5z2gxAcHlfYnVp bHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytA cHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYAAAByBwAAAHINAAAAcg0AAAByDQAAAHIOAAAA2gg8bW9k dWxlPgEAAABzBgAAACoPDAEUAgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1O YXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rf Y3Bpby5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBh dGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9jcGlvLmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9f X3B5Y2FjaGVfXy90ZXN0X2NwaW8uY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAx LTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBh dGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9jcGlvLmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0w LDAgKzEsOCBAQAorK28NDQorKwAAAACaTZtWIAQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABz RgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBk BmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVl ZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQOD AWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaCFRlc3RDcGlv2gRjcGlv YwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHMOAAAAfACgAGQBoQEBAGQAUwApAk56BnQuY3Bpb6kB 2hBhcmNoaXZlX2NvbW1hbmRzqQHaBHNlbGapAHIMAAAA+jovYnVpbGRkaXIvcGF0b29sLXVwc3Ry ZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9jcGlvLnB52gl0ZXN0X2NwaW8XAAAAcwIAAAAO AnoSVGVzdENwaW8udGVzdF9jcGlv2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMSAAAA fABqAGQBZAJkA40CAQBkAFMAKQROegorK3QuY3Bpby5mb29UKQHaC3NraXBfY3JlYXRlcggAAABy CisrAAAAcgwAAAByDAAAAHINAAAA2g50ZXN0X2NwaW9fZmlsZRsAAABzAgAAABIDehdUZXN0Q3Bp by50ZXN0X2NwaW9fZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f 2gdwcm9ncmFtcgUAAAByDgAAAHIRAAAAcgwAAAByDAAAAHIMAAAAcg0AAAByBgAAABMAAABzDgAA AAgABAIGAgorKwEGAwYBEAFyBgAAACkKKyvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRl c3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gBy AwAAAHIFAAAAcgYAAAByDAAAAHIMAAAAcgwAAAByDQAAANoIPG1vZHVsZT4BAAAAcwYAAAAmDwwB FAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJl YW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2Rwa2cuY3B5dGhvbi0zMTAt cHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hp dmVzL19fcHljYWNoZV9fL3Rlc3RfZHBrZy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCist LS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9k cGtnLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAw MDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hp dmVzL19fcHljYWNoZV9fL3Rlc3RfZHBrZy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIw MjEtMTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDkgQEAKKytvDQ0K KysAAAAAmk2bVroEAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0YAAABkAGQBbABaAWQAZAFs Am0DAgABAG0EWgUBAGQCZANsBm0HWgcBAGQEZAVsBm0IWggBAEcAZAZkB4QAZAdlB4MDWglkAVMA KQjpAAAAAE7pAQAAACkB2gtBcmNoaXZlVGVzdOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAA AAAAAAAAAAAAAAQAAABAAAAAczgAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQRkBIMB ZQRlA4MBZAVkBoQAgwGDAVoGZAdTACkI2ghUZXN0RHBrZ3oIZHBrZy1kZWJjAQAAAAAAAAAAAAAA AQAAAAQAAABDAAAA8yYAAAB8AKAAZAGhAQEAfABqAWQBZABkAo0CAQB8AKACZAGhAQEAZABTACkD TnoFdC5kZWKpAdoFY2hlY2upA9oMYXJjaGl2ZV9saXN02g9hcmNoaXZlX2V4dHJhY3TaDGFyY2hp dmVfdGVzdKkB2gRzZWxmqQByEAAAAPo6L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rl c3RzL2FyY2hpdmVzL3Rlc3RfZHBrZy5wedoJdGVzdF9kcGtnFwAAAHMGAAAACisrAg4BDgF6ElRl c3REcGtnLnRlc3RfZHBrZ9oEZmlsZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAAByBwAAACkDTnoJ dC5kZWIuZm9vcggAAAByCisrAAAAcg4AAAByEAAAAHIQAAAAchEAAADaDnRlc3RfZHBrZ19maWxl HQAAAHMGAAAACisrAw4BDgF6F1Rlc3REcGtnLnRlc3RfZHBrZ19maWxlTikH2ghfX25hbWVfX9oK KytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBQAAAHISAAAAchQAAAByEAAAAHIQ AAAAchAAAAByEQAAAHIGAAAAEwAAAHMOAAAACAAEAgYCCisrAQYFBgEQAXIGAAAAKQorK9oIYnVp bHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u 2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgUAAAByBgAAAHIQAAAAchAAAAByEAAAAHIR AAAA2gg8bW9kdWxlPgEAAABzBgAAACYPDAEUAgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl CitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNo ZV9fL3Rlc3RfZmxhYy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVh bS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9mbGFjLmNweXRo b24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9h cmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2ZsYWMuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5 YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVh bS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9mbGFjLmNweXRo b24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAx MDAKK0BAIC0wLDAgKzEsOCBAQAorK28NDQorKwAAAACaTZtWqgQAAOMAAAAAAAAAAAAAAAAAAAAA BAAAAEAAAABzRgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEAZARkBWwG bQhaCAEARwBkBmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAAKQHaC0FyY2hpdmVUZXN06QIA AAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoC ZAFaA2UEZQODAWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaCFRlc3RG bGFj2gRmbGFjYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMqAAAAfABqAGQBZABkAo0CAQB8AKAB ZAGhAQEAfABqAmQBZANkBI0CAQBkAFMAKQVOegZ0LmZsYWOpAdoFY2hlY2spAXoFdC53YXYpAdoI c3JjZmlsZXMpA9oPYXJjaGl2ZV9leHRyYWN02gxhcmNoaXZlX3Rlc3TaDmFyY2hpdmVfY3JlYXRl qQHaBHNlbGapAHIQAAAA+jovYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJj aGl2ZXMvdGVzdF9mbGFjLnB52gl0ZXN0X2ZsYWMXAAAAcwYAAAAOAgorKwESAXoSVGVzdEZsYWMu dGVzdF9mbGFj2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMcAAAAfABqAGQBZABkAo0C AQB8AKABZAGhAQEAZABTACkDTnoKKyt0LmZsYWMuZm9vcggAAAApAnILAAAAcgwAAAByDgAAAHIQ AAAAchAAAAByEQAAANoOdGVzdF9mbGFjX2ZpbGUdAAAAcwQAAAAOAw4BehdUZXN0RmxhYy50ZXN0 X2ZsYWNfZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9n cmFtcgUAAAByEgAAAHIUAAAAchAAAAByEAAAAHIQAAAAchEAAAByBgAAABMAAABzDgAAAAgABAIG AgorKwEGBQYBEAFyBgAAACkKKyvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNz ZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIF AAAAcgYAAAByEAAAAHIQAAAAchAAAAByEQAAANoIPG1vZHVsZT4BAAAAcwYAAAAmDwwBFAIKK1wg Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4x Mi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2dlbmlzb2ltYWdlLmNweXRob24tMzEw LXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNo aXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2dlbmlzb2ltYWdlLmNweXRob24tMzEwLXB5dGVzdC02LjIu NS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVf Xy90ZXN0X2dlbmlzb2ltYWdlLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0w MSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRj aGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfZ2VuaXNvaW1hZ2UuY3B5dGhvbi0z MTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAor QEAgLTAsMCArMSw2IEBACisrbw0NCisrAAAAAJpNm1bQAwAA4wAAAAAAAAAAAAAAAAAAAAAEAAAA QAAAAHNGAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoI AQBHAGQGZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB 2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHMoAAAAZQBaAWQAWgJkAVoD ZQRkAoMBZQRlA4MBZANkBIQAgwGDAVoFZAVTACkG2g9UZXN0R2VuaXNvaW1hZ2XaC2dlbmlzb2lt YWdl2gI3emMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzDgAAAHwAoABkAaEBAQBkAFMAKQJOegV0 LmlzbykB2g5hcmNoaXZlX2NyZWF0ZSkB2gRzZWxmqQByCwAAAPpBL2J1aWxkZGlyL3BhdG9vbC11 cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfZ2VuaXNvaW1hZ2UucHnaEHRlc3RfZ2Vu aXNvaW1hZ2UYAAAAcwIAAAAOA3ogVGVzdEdlbmlzb2ltYWdlLnRlc3RfZ2VuaXNvaW1hZ2VOKQba CF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIFAAAAcg0AAABy CwAAAHILAAAAcgsAAAByDAAAAHIGAAAAEwAAAHMKKysAAAAIAAQCBgMGARABcgYAAAApCisr2ghi dWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRp b27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIGAAAAcgsAAAByCwAAAHILAAAA cgwAAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp bGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF9nemlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3Ry ZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2d6aXAuY3B5 dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3Rz L2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfZ3ppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUu cHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3Ry ZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2d6aXAuY3B5 dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSAr MDEwMAorQEAgLTAsMCArMSw4IEBACisrbw0NCisrAAAAAJpNm1bcBAAA4wAAAAAAAAAAAAAAAAAA AAAEAAAAQAAAAHNKAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHbQhaCAEA ZARkBWwGbQlaCQEARwBkBmQHhABkB2UHgwNaCisrZAFTACkI6QAAAABO6QEAAAApAtoLQXJjaGl2 ZVRlc3TaB0NvbnRlbnTpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAA QAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMB gwFaBmQHUwApCNoIVGVzdEd6aXDaBGd6aXBjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcyQAAAB8 AGoAZAF0AWoCZAKNAgEAfABqA2QDdAFqAmQCjQIBAGQAUwApBE56CHQudHh0Lmd6qQHaBWNoZWNr egd0LnR4dC5aKQTaEGFyY2hpdmVfY29tbWFuZHNyBAAAANoKKytTaW5nbGVmaWxl2g9hcmNoaXZl X2V4dHJhY3SpAdoEc2VsZqkAchAAAAD6Oi9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90 ZXN0cy9hcmNoaXZlcy90ZXN0X2d6aXAucHnaCXRlc3RfZ3ppcBcAAABzBAAAABACFAF6ElRlc3RH emlwLnRlc3RfZ3ppcNoEZmlsZWMBAAAAAAAAAAAAAAABAAAABQAAAEMAAABzJAAAAHwAagBkAWQC ZABkA40DAQB8AGoBZAR0AmoDZAWNAgEAZABTACkGTnoMdC50eHQuZ3ouZm9vVCkC2gtza2lwX2Ny ZWF0ZXIKKysAAAB6C3QudHh0LlouZm9vcgkAAAApBHILAAAAcg0AAAByBAAAAHIMAAAAcg4AAABy EAAAAHIQAAAAchEAAADaDnRlc3RfZ3ppcF9maWxlHAAAAHMEAAAAEAMUAXoXVGVzdEd6aXAudGVz dF9nemlwX2ZpbGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJv Z3JhbXIGAAAAchIAAAByFQAAAHIQAAAAchAAAAByEAAAAHIRAAAAcgcAAAATAAAAcw4AAAAIAAQC BgIKKysBBgQGARABcgcAAAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3Nl cnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgQA AAByBgAAAHIHAAAAchAAAAByEAAAAHIQAAAAchEAAADaCDxtb2R1bGU+AQAAAHMGAAAAKg8MARQC CitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFt LTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9pc29pbmZvLmNweXRob24tMzEw LXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNo aXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2lzb2luZm8uY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5 YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rl c3RfaXNvaW5mby5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6 MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0 cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2lzb2luZm8uY3B5dGhvbi0zMTAtcHl0ZXN0LTYu Mi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAsMCArMSw2 IEBACisrbw0NCisrAAAAAJpNm1bzAwAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNGAAAAZABk AWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIAQBHAGQGZAeEAGQH ZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB2g1uZWVkc19wcm9n cmFtYwAAAAAAAAAAAAAAAAAAAAADAAAAQAAAAHMwAAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QA gwFaBWUEZQODAWQEZAWEAIMBWgZkBlMAKQfaC1Rlc3RJc29pbmZv2gdpc29pbmZvYwEAAAAAAAAA AAAAAAEAAAADAAAAQwAAAPMOAAAAfACgAGQBoQEBAGQAUwApAk56BXQuaXNvqQHaDGFyY2hpdmVf bGlzdKkB2gRzZWxmqQByDQAAAPo9L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3Rz L2FyY2hpdmVzL3Rlc3RfaXNvaW5mby5wedoMdGVzdF9pc29pbmZvFwAAAPMCAAAADgJ6GFRlc3RJ c29pbmZvLnRlc3RfaXNvaW5mb2MBAAAAAAAAAAAAAAABAAAAAwAAAEMAAAByCAAAACkCTnoJdC5p c28uZm9vcgkAAAByCwAAAHINAAAAcg0AAAByDgAAANoRdGVzdF9pc29pbmZvX2ZpbGUbAAAAchAA AAB6HVRlc3RJc29pbmZvLnRlc3RfaXNvaW5mb19maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVs ZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBQAAAHIPAAAAchEAAAByDQAAAHINAAAAcg0AAABy DgAAAHIGAAAAEwAAAHMMAAAACAAEAgYCCisrAQYDDgFyBgAAACkKKyvaCGJ1aWx0aW5z2gxAcHlf YnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoK KytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByDQAAAHINAAAAcg0AAAByDgAAANoIPG1vZHVs ZT4BAAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1 ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2xi emlwMi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBh dGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9sYnppcDIuY3B5dGhvbi0zMTAt cHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVz L19fcHljYWNoZV9fL3Rlc3RfbGJ6aXAyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3 MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfbGJ6aXAyLmNweXRob24t MzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAK K0BAIC0wLDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtW7gQAAOMAAAAAAAAAAAAAAAAAAAAABAAA AEAAAABzSgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaB20IWggBAGQEZAVs Bm0JWgkBAEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQLaC0FyY2hpdmVUZXN0 2gdDb250ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABz OAAAAGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZk B1MAKQjaCisrVGVzdExiemlwMtoGbGJ6aXAyYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMuAAAA fABqAGQBdAFqAmQCjQIBAHwAoANkAaEBAQB8AGoEZAF0AWoCZAKNAgEAZABTACkDTnoJdC50eHQu YnoyqQHaBWNoZWNrKQXaD2FyY2hpdmVfZXh0cmFjdHIEAAAA2gorK1NpbmdsZWZpbGXaDGFyY2hp dmVfdGVzdNoOYXJjaGl2ZV9jcmVhdGWpAdoEc2VsZqkAchEAAAD6PC9idWlsZGRpci9wYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X2xiemlwMi5wedoLdGVzdF9sYnppcDIX AAAAcwYAAAAQAgorKwEUAXoWVGVzdExiemlwMi50ZXN0X2xiemlwMtoEZmlsZWMBAAAAAAAAAAAA AAABAAAABAAAAEMAAABzHgAAAHwAagBkAXQBagJkAo0CAQB8AKADZAGhAQEAZABTACkDTnoNdC50 eHQuYnoyLmZvb3IJAAAAKQRyCwAAAHIEAAAAcgwAAAByDQAAAHIPAAAAchEAAAByEQAAAHISAAAA 2hB0ZXN0X2xiemlwMl9maWxlHQAAAHMEAAAAEAMOAXobVGVzdExiemlwMi50ZXN0X2xiemlwMl9m aWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBgAA AHITAAAAchUAAAByEQAAAHIRAAAAchEAAAByEgAAAHIHAAAAEwAAAHMOAAAACAAEAgYCCisrAQYF BgEQAXIHAAAAKQvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJl d3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYAAABy BwAAAHIRAAAAchEAAAByEQAAAHISAAAA2gg8bW9kdWxlPgEAAABzBgAAACoPDAEUAgorXCBObyBu ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rl c3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfbGNhYi5jcHl0aG9uLTMxMC1weXRlc3QtNi4y LjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF9sY2FiLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2xjYWIuY3B5dGhv bi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEw MAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF9sY2FiLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAy MjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsNyBAQAorK28NDQorKwAAAACaTZtW qwMAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzRgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRa BQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBkBmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukB AAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAA BAAAAEAAAABzKAAAAGUAWgFkAFoCZAFaA2UEZQODAWUEZAKDAWQDZASEAIMBgwFaBWQFUwApBtoI VGVzdExjYWLaBGxjYWLaCisrY2FiZXh0cmFjdGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABzDgAA AHwAoABkAaEBAQBkAFMAKQJOegV0LmNhYikB2g5hcmNoaXZlX2NyZWF0ZSkB2gRzZWxmqQByCwAA APo6L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfbGNh Yi5wedoJdGVzdF9sY2FiFwAAAHMCAAAADgN6ElRlc3RMY2FiLnRlc3RfbGNhYk4pBtoIX19uYW1l X1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgUAAAByDQAAAHILAAAAcgsA AAByCwAAAHIMAAAAcgYAAAATAAAAcworKwAAAAgABAIGAgYBEAFyBgAAACkKKyvaCGJ1aWx0aW5z 2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3 cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByCwAAAHILAAAAcgsAAAByDAAAANoI PG1vZHVsZT4BAAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlm ZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90 ZXN0X2xoYS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEy LXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9saGEuY3B5dGhvbi0zMTAt cHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVz L19fcHljYWNoZV9fL3Rlc3RfbGhhLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0w MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfbGhhLmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0w LDAgKzEsNyBAQAorK28NDQorKwAAAACaTZtWOQQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABz RgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBk BmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVl ZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQOD AWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaB1Rlc3RMaGHaA2xoYWMB AAAAAAAAAAAAAAABAAAAAwAAAEMAAABzDgAAAHwAoABkAaEBAQBkAFMAKQJOegV0LmxoYakB2hBh cmNoaXZlX2NvbW1hbmRzqQHaBHNlbGapAHIMAAAA+jkvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFt LTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9saGEucHnaCV90ZXN0X2xoYRcAAABzAgAAAA4DehFU ZXN0TGhhLl90ZXN0X2xoYdoEZmlsZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzEgAAAHwAagBk AWQCZAONAgEAZABTACkETnoJdC5saGEuZm9vVCkB2gtza2lwX2NyZWF0ZXIIAAAAcgorKwAAAHIM AAAAcgwAAAByDQAAANoNdGVzdF9saGFfZmlsZRwAAABzAgAAABIDehVUZXN0TGhhLnRlc3RfbGhh X2ZpbGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIF AAAAcg4AAAByEQAAAHIMAAAAcgwAAAByDAAAAHINAAAAcgYAAAATAAAAcw4AAAAIAAQCBgIKKysB BgQGARABcgYAAAApCisr2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlv bi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIG AAAAcgwAAAByDAAAAHIMAAAAcg0AAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8MARQCCitcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9saGFzYS5jcHl0aG9uLTMxMC1weXRlc3QtNi4y LjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF9saGFzYS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29s LXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9saGFzYS5jcHl0 aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICsw MTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5 Y2FjaGVfXy90ZXN0X2xoYXNhLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0w MiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsMTMgQEAKKytvDQ0KKysAAAAA mk2bVo0DAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0YAAABkAGQBbABaAWQAZAFsAm0DAgAB AG0EWgUBAGQCZANsBm0HWgcBAGQEZAVsBm0IWggBAEcAZAZkB4QAZAdlB4MDWglkAVMAKQjpAAAA AE7pAQAAACkB2gtBcmNoaXZlVGVzdOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAA AAAAAAMAAABAAAAAcyAAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZARTACkF2glUZXN0 TGhhc2HaBWxoYXNhYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHMOAAAAfACgAGQBoQEBAGQAUwAp Ak56BXQubGhhKQHaD2FyY2hpdmVfZXh0cmFjdCkB2gRzZWxmqQByCisrAAAA+jsvYnVpbGRkaXIv cGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9saGFzYS5wedoKKyt0ZXN0 X2xoYXNhFwAAAHMCAAAADgJ6FFRlc3RMaGFzYS50ZXN0X2xoYXNhTikG2ghfX25hbWVfX9oKKytf X21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBQAAAHIMAAAAcgorKwAAAHIKKysAAABy CisrAAAAcgsAAAByBgAAABMAAABzCAAAAAgABAIGAg4BcgYAAAApCisr2ghidWlsdGluc9oMQHB5 X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXa CisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIGAAAAcgorKwAAAHIKKysAAAByCisrAAAAcgsAAADa CDxtb2R1bGU+AQAAAHMGAAAAJg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2Rp ZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18v dGVzdF9scnppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0x LjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9scnppcC5jcHl0aG9u LTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJj aGl2ZXMvX19weWNhY2hlX18vdGVzdF9scnppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHlj CTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFt LTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2xyemlwLmNweXRo b24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAx MDAKK0BAIC0wLDAgKzEsOCBAQAorK28NDQorKwAAAACaTZtWVwUAAOMAAAAAAAAAAAAAAAAAAAAA BAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaB20IWggBAGQE ZAVsBm0JWgkBAEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQLaC0FyY2hpdmVU ZXN02gdDb250ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAAAwAAAEAA AABzIAAAAGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVkBFMAKQXaCVRlc3RMcnppcNoFbHJ6 aXBjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcy4AAAB8AKAAZAGhAQEAfABqAWQBdAJqA2QCjQIB AHwAagRkAXQCagNkAo0CAQBkAFMAKQNOegl0LnR4dC5scnopAdoFY2hlY2spBdoMYXJjaGl2ZV90 ZXN02g9hcmNoaXZlX2V4dHJhY3RyBAAAANoKKytTaW5nbGVmaWxl2g5hcmNoaXZlX2NyZWF0ZSkB 2gRzZWxmqQByDwAAAPo7L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hp dmVzL3Rlc3RfbHJ6aXAucHnaCisrdGVzdF9scnppcBcAAABzBgAAAAorKwIQARQBehRUZXN0THJ6 aXAudGVzdF9scnppcE4pBtoIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdw cm9ncmFtcgYAAAByEQAAAHIPAAAAcg8AAAByDwAAAHIQAAAAcgcAAAATAAAAcwgAAAAIAAQCBgIO AXIHAAAAKQvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3Jp dGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYAAAByBwAA AHIPAAAAcg8AAAByDwAAAHIQAAAA2gg8bW9kdWxlPgEAAABzBgAAACoPDAEUAgorXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3Rz L2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfbHppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUu cHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hl X18vdGVzdF9semlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBz dHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2x6aXAuY3B5dGhvbi0z MTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAor KysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hl X18vdGVzdF9semlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoy MzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtW3wQA AOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEA ZAJkA2wGbQdaB20IWggBAGQEZAVsBm0JWgkBAEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAA TukBAAAAKQLaC0FyY2hpdmVUZXN02gdDb250ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAA AAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVlBGQE gwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaCFRlc3RMemlw2gRsemlwYwEAAAAAAAAAAAAAAAEA AAAEAAAAQwAAAHMuAAAAfACgAGQBoQEBAHwAagFkAXQCagNkAo0CAQB8AGoEZAF0AmoDZAKNAgEA ZABTACkDTnoIdC50eHQubHqpAdoFY2hlY2spBdoMYXJjaGl2ZV90ZXN02g9hcmNoaXZlX2V4dHJh Y3RyBAAAANoKKytTaW5nbGVmaWxl2g5hcmNoaXZlX2NyZWF0ZakB2gRzZWxmqQByEQAAAPo6L2J1 aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfbHppcC5wedoJ dGVzdF9semlwFwAAAHMGAAAACisrAhABFAF6ElRlc3RMemlwLnRlc3RfbHppcNoEZmlsZWMBAAAA AAAAAAAAAAABAAAABAAAAEMAAABzHgAAAHwAoABkAaEBAQB8AGoBZAF0AmoDZAKNAgEAZABTACkD TnoMdC50eHQubHouZm9vcgkAAAApBHILAAAAcgwAAAByBAAAAHINAAAAcg8AAAByEQAAAHIRAAAA chIAAADaDnRlc3RfbHppcF9maWxlHQAAAHMEAAAACisrAxQBehdUZXN0THppcC50ZXN0X2x6aXBf ZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgYA AAByEwAAAHIVAAAAchEAAAByEQAAAHIRAAAAchIAAAByBwAAABMAAABzDgAAAAgABAIGAgorKwEG BQYBEAFyBwAAACkL2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5y ZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBAAAAHIGAAAA cgcAAAByEQAAAHIRAAAAchEAAAByEgAAANoIPG1vZHVsZT4BAAAAcwYAAAAqDwwBFAIKK1wgTm8g bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90 ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2x6bWEuY3B5dGhvbi0zMTAtcHl0ZXN0LTYu Mi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHlj YWNoZV9fL3Rlc3RfbHptYS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29s LXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9sem1hLmNweXRo b24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAx MDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHlj YWNoZV9fL3Rlc3RfbHptYS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIg MjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDggQEAKKytvDQ0KKysAAAAAmk2b VvkEAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0oAAABkAGQBbABaAWQAZAFsAm0DAgABAG0E WgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZtCVoJAQBHAGQGZAeEAGQHZQeDA1oKKytkAVMAKQjp AAAAAE7pAQAAACkC2gtBcmNoaXZlVGVzdNoHQ29udGVudOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1j AAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAcyAAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoF ZARTACkF2ghUZXN0THptYdoEbHptYWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzLgAAAHwAoABk AaEBAQB8AGoBZAF0AmoDZAKNAgEAfABqBGQBdAJqA2QCjQIBAGQAUwApA056CisrdC50eHQubHpt YSkB2gVjaGVjaykF2gxhcmNoaXZlX3Rlc3TaD2FyY2hpdmVfZXh0cmFjdHIEAAAA2gorK1Npbmds ZWZpbGXaDmFyY2hpdmVfY3JlYXRlKQHaBHNlbGapAHIPAAAA+jovYnVpbGRkaXIvcGF0b29sLXVw c3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9sem1hLnB52gl0ZXN0X2x6bWEXAAAAcwYA AAAKKysCEAEUAXoSVGVzdEx6bWEudGVzdF9sem1hTikG2ghfX25hbWVfX9oKKytfX21vZHVsZV9f 2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBgAAAHIRAAAAcg8AAAByDwAAAHIPAAAAchAAAAByBwAA ABMAAABzCAAAAAgABAIGAg4BcgcAAAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVz dC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHID AAAAcgQAAAByBgAAAHIHAAAAcg8AAAByDwAAAHIPAAAAchAAAADaCDxtb2R1bGU+AQAAAHMGAAAA Kg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVw c3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9sem9wLmNweXRob24t MzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9h cmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2x6b3AuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5 YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rl c3RfbHpvcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAu MDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9h cmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X2x6b3AuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5 YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAsMCArMSw4IEBACisr bw0NCisrAAAAAJpNm1ZjBAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNKAAAAZABkAWwAWgFk AGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHbQhaCAEAZARkBWwGbQlaCQEARwBkBmQHhABkB2UH gwNaCisrZAFTACkI6QAAAABO6QEAAAApAtoLQXJjaGl2ZVRlc3TaB0NvbnRlbnTpAgAAACkB2g1u ZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRl A4MBZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMBgwFaBmQHUwApCNoIVGVzdEx6b3DaBGx6 b3BjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcxQAAAB8AGoAZAF0AWoCZAKNAgEAZABTACkDTnoJ dC50eHQubHpvKQHaBWNoZWNrqQPaEGFyY2hpdmVfY29tbWFuZHNyBAAAANoKKytTaW5nbGVmaWxl qQHaBHNlbGapAHIPAAAA+jovYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJj aGl2ZXMvdGVzdF9sem9wLnB52gl0ZXN0X2x6b3AXAAAAcwIAAAAUAnoSVGVzdEx6b3AudGVzdF9s em9w2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAFAAAAQwAAAHMWAAAAfABqAGQBZAJ0AWoCZAONAwEA ZABTACkETnoNdC50eHQubHpvLmZvb1QpAtoLc2tpcF9jcmVhdGVyCQAAAHIKKysAAAByDQAAAHIP AAAAcg8AAAByEAAAANoOdGVzdF9sem9wX2ZpbGUbAAAAcwIAAAAWA3oXVGVzdEx6b3AudGVzdF9s em9wX2ZpbGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3Jh bXIGAAAAchEAAAByFAAAAHIPAAAAcg8AAAByDwAAAHIQAAAAcgcAAAATAAAAcw4AAAAIAAQCBgIK KysBBgMGARABcgcAAAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRp b24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgQAAABy BgAAAHIHAAAAcg8AAAByDwAAAHIPAAAAchAAAADaCDxtb2R1bGU+AQAAAHMGAAAAKg8MARQCCitc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEu MTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9tYWMuY3B5dGhvbi0zMTAtcHl0ZXN0 LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19f cHljYWNoZV9fL3Rlc3RfbWFjLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRv b2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X21hYy5jcHl0 aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICsw MTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5 Y2FjaGVfXy90ZXN0X21hYy5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIg MjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDcgQEAKKytvDQ0KKysAAAAAmk2b VnsEAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0YAAABkAGQBbABaAWQAZAFsAm0DAgABAG0E WgUBAGQCZANsBm0HWgcBAGQEZAVsBm0IWggBAEcAZAZkB4QAZAdlB4MDWglkAVMAKQjpAAAAAE7p AQAAACkB2gtBcmNoaXZlVGVzdOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAAAAAA AAQAAABAAAAAczgAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQRkBIMBZQRlA4MBZAVk BoQAgwGDAVoGZAdTACkI2gdUZXN0TWFj2gNtYWNjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcyoA AAB8AGoAZAFkAGQCjQIBAHwAoAFkAaEBAQB8AGoCZAFkA2QEjQIBAGQAUwApBU56BXQuYXBlqQHa BWNoZWNrKQF6BXQud2F2KQHaCHNyY2ZpbGVzKQPaD2FyY2hpdmVfZXh0cmFjdNoMYXJjaGl2ZV90 ZXN02g5hcmNoaXZlX2NyZWF0ZakB2gRzZWxmqQByEAAAAPo5L2J1aWxkZGlyL3BhdG9vbC11cHN0 cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfbWFjLnB52gh0ZXN0X21hYxcAAABzBgAAAA4C CisrARIBehBUZXN0TWFjLnRlc3RfbWFj2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMS AAAAfABqAGQBZABkAo0CAQBkAFMAKQNOegl0LmFwZS5mb29yCAAAACkBcgsAAAByDgAAAHIQAAAA chAAAAByEQAAANoNdGVzdF9tYWNfZmlsZR0AAABzAgAAABIDehVUZXN0TWFjLnRlc3RfbWFjX2Zp bGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIFAAAA chIAAAByFAAAAHIQAAAAchAAAAByEAAAAHIRAAAAcgYAAAATAAAAcw4AAAAIAAQCBgIKKysBBgUG ARABcgYAAAApCisr2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5y ZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIGAAAA chAAAAByEAAAAHIQAAAAchEAAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8MARQCCitcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMv YXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9ub21hcmNoLmNweXRob24tMzEwLXB5dGVzdC02LjIu NS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2Fj aGVfXy90ZXN0X25vbWFyY2guY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9v bC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rfbm9tYXJjaC5j cHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAw ICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9f X3B5Y2FjaGVfXy90ZXN0X25vbWFyY2guY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIx LTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAsMCArMSwxMSBAQAorK28NDQor KwAAAACaTZtW5AQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwC bQMCAAEAbQRaBQEAZAJkA2wGbQdaB20IWggBAGQEZAVsBm0JWgkBAEcAZAZkB4QAZAdlB4MDWgor K2QBUwApCOkAAAAATukBAAAAKQLaC0FyY2hpdmVUZXN02gdDb250ZW506QIAAAApAdoNbmVlZHNf cHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQODAWQC ZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaC1Rlc3ROb21hcmNo2gdub21h cmNoYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAPMoAAAAfACgAGQBoQEBAHwAoAFkAaEBAQB8AGoC ZAF0A2oEZAKNAgEAZABTACkDTnoFdC5hcmOpAdoFY2hlY2upBdoMYXJjaGl2ZV90ZXN02gxhcmNo aXZlX2xpc3TaD2FyY2hpdmVfZXh0cmFjdHIEAAAA2glNdWx0aWZpbGWpAdoEc2VsZqkAchMAAAD6 PS9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X25vbWFy Y2gucHnaDHRlc3Rfbm9tYXJjaBcAAABzBgAAAAorKwIKKysBFAF6GFRlc3ROb21hcmNoLnRlc3Rf bm9tYXJjaNoEZmlsZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAAByCQAAACkDTnoJdC5hcmMuZm9v cgorKwAAAHIMAAAAchEAAAByEwAAAHITAAAAchQAAADaEXRlc3Rfbm9tYXJjaF9maWxlHQAAAHMG AAAACisrAworKwEUAXodVGVzdE5vbWFyY2gudGVzdF9ub21hcmNoX2ZpbGVOKQfaCF9fbmFtZV9f 2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIGAAAAchUAAAByFwAAAHITAAAA chMAAAByEwAAAHIUAAAAcgcAAAATAAAAcw4AAAAIAAQCBgIKKysBBgUGARABcgcAAAApC9oIYnVp bHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u 2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgQAAAByBgAAAHIHAAAAchMAAAByEwAAAHIT AAAAchQAAADaCDxtb2R1bGU+AQAAAHMGAAAAKg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19w eWNhY2hlX18vdGVzdF9wYnppcDIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wt dXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcGJ6 aXAyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4x Mi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3BiemlwMi5jcHl0aG9uLTMxMC1weXRl c3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0 b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0 X3BiemlwMi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAu NTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDkgQEAKKytvDQ0KKysAAAAAmk2bVu4EAADjAAAA AAAAAAAAAAAAAAAAAAQAAABAAAAAc0oAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANs Bm0HWgdtCFoIAQBkBGQFbAZtCVoJAQBHAGQGZAeEAGQHZQeDA1oKKytkAVMAKQjpAAAAAE7pAQAA ACkC2gtBcmNoaXZlVGVzdNoHQ29udGVudOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAA AAAAAAAAAAQAAABAAAAAczgAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQRkBIMBZQRl A4MBZAVkBoQAgwGDAVoGZAdTACkI2gorK1Rlc3RQYnppcDLaBnBiemlwMmMBAAAAAAAAAAAAAAAB AAAABAAAAEMAAABzLgAAAHwAagBkAXQBagJkAo0CAQB8AKADZAGhAQEAfABqBGQBdAFqAmQCjQIB AGQAUwApA056CXQudHh0LmJ6MqkB2gVjaGVjaykF2g9hcmNoaXZlX2V4dHJhY3RyBAAAANoKKytT aW5nbGVmaWxl2gxhcmNoaXZlX3Rlc3TaDmFyY2hpdmVfY3JlYXRlqQHaBHNlbGapAHIRAAAA+jwv YnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9wYnppcDIu cHnaC3Rlc3RfcGJ6aXAyFwAAAHMGAAAAEAIKKysBFAF6FlRlc3RQYnppcDIudGVzdF9wYnppcDLa BGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcx4AAAB8AGoAZAF0AWoCZAKNAgEAfACgA2QB oQEBAGQAUwApA056DXQudHh0LmJ6Mi5mb29yCQAAACkEcgsAAAByBAAAAHIMAAAAcg0AAAByDwAA AHIRAAAAchEAAAByEgAAANoQdGVzdF9wYnppcDJfZmlsZR0AAABzBAAAABADDgF6G1Rlc3RQYnpp cDIudGVzdF9wYnppcDJfZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFt ZV9f2gdwcm9ncmFtcgYAAAByEwAAAHIVAAAAchEAAAByEQAAAHIRAAAAchIAAAByBwAAABMAAABz DgAAAAgABAIGAgorKwEGBQYBEAFyBwAAACkL2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0 ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoA cgMAAAByBAAAAHIGAAAAcgcAAAByEQAAAHIRAAAAchEAAAByEgAAANoIPG1vZHVsZT4BAAAAcwYA AAAqDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3BkbHppcC5jcHl0 aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVz dHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9wZGx6aXAuY3B5dGhvbi0zMTAtcHl0ZXN0LTYu Mi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNo ZV9fL3Rlc3RfcGRsemlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAw MTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVk L3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcGRsemlwLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAg KzEsMTAgQEAKKytvDQ0KKysAAAAAmk2bVucEAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0oA AABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZtCVoJAQBH AGQGZAeEAGQHZQeDA1oKKytkAVMAKQjpAAAAAE7pAQAAACkC2gtBcmNoaXZlVGVzdNoHQ29udGVu dOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAczgAAABlAFoB ZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQRkBIMBZQRlA4MBZAVkBoQAgwGDAVoGZAdTACkI2gor K1Rlc3RQZGx6aXDaBnBkbHppcGMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzLgAAAHwAoABkAaEB AQB8AGoBZAF0AmoDZAKNAgEAfABqBGQBdAJqA2QCjQIBAGQAUwApA056CHQudHh0Lmx6qQHaBWNo ZWNrKQXaDGFyY2hpdmVfdGVzdNoPYXJjaGl2ZV9leHRyYWN0cgQAAADaCisrU2luZ2xlZmlsZdoO YXJjaGl2ZV9jcmVhdGWpAdoEc2VsZqkAchEAAAD6PC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0t MS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X3BkbHppcC5wedoLdGVzdF9wZGx6aXAXAAAAcwYAAAAK KysCEAEUAXoWVGVzdFBkbHppcC50ZXN0X3BkbHppcNoEZmlsZWMBAAAAAAAAAAAAAAABAAAABAAA AEMAAABzHgAAAHwAoABkAaEBAQB8AGoBZAF0AmoDZAKNAgEAZABTACkDTnoMdC50eHQubHouZm9v cgkAAAApBHILAAAAcgwAAAByBAAAAHINAAAAcg8AAAByEQAAAHIRAAAAchIAAADaEHRlc3RfcGRs emlwX2ZpbGUdAAAAcwQAAAAKKysDFAF6G1Rlc3RQZGx6aXAudGVzdF9wZGx6aXBfZmlsZU4pB9oI X19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgYAAAByEwAAAHIV AAAAchEAAAByEQAAAHIRAAAAchIAAAByBwAAABMAAABzDgAAAAgABAIGAgorKwEGBQYBEAFyBwAA ACkL2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glh c3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBAAAAHIGAAAAcgcAAAByEQAA AHIRAAAAchEAAAByEgAAANoIPG1vZHVsZT4BAAAAcwYAAAAqDwwBFAIKK1wgTm8gbmV3bGluZSBh dCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNo aXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3BpZ3ouY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rl c3RfcGlnei5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFt LTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9waWd6LmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rl c3RfcGlnei5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAu NTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDEwIEBACisrbw0NCisrAAAAAJpNm1Z8BAAA4wAA AAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNKAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQD bAZtB1oHbQhaCAEAZARkBWwGbQlaCQEARwBkBmQHhABkB2UHgwNaCisrZAFTACkI6QAAAABO6QEA AAApAtoLQXJjaGl2ZVRlc3TaB0NvbnRlbnTpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAA AAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFaBWUEZASDAWUE ZQODAWQFZAaEAIMBgwFaBmQHUwApCNoIVGVzdFBpZ3raBHBpZ3pjAQAAAAAAAAAAAAAAAQAAAAQA AABDAAAAcxQAAAB8AGoAZAF0AWoCZAKNAgEAZABTACkDTnoIdC50eHQuZ3opAdoFY2hlY2upA9oQ YXJjaGl2ZV9jb21tYW5kc3IEAAAA2gorK1NpbmdsZWZpbGWpAdoEc2VsZqkAcg8AAAD6Oi9idWls ZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X3BpZ3oucHnaCXRl c3RfcGlnehcAAABzAgAAABQCehJUZXN0UGlnei50ZXN0X3BpZ3raBGZpbGVjAQAAAAAAAAAAAAAA AQAAAAYAAABDAAAAcxgAAAB8AGoAZAF0AWoCZAJkAmQDjQQBAGQAUwApBE56DHQudHh0Lmd6LmZv b1QpA3IJAAAA2gtza2lwX2NyZWF0ZdoJc2tpcF90ZXN0cgorKwAAAHINAAAAcg8AAAByDwAAAHIQ AAAA2g50ZXN0X3BpZ3pfZmlsZRsAAABzBgAAAAorKwMEAQorK/96F1Rlc3RQaWd6LnRlc3RfcGln el9maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1y BgAAAHIRAAAAchUAAAByDwAAAHIPAAAAcg8AAAByEAAAAHIHAAAAEwAAAHMOAAAACAAEAgYCCisr AQYDBgEQAXIHAAAAKQvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9u LnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYA AAByBwAAAHIPAAAAcg8AAAByDwAAAHIQAAAA2gg8bW9kdWxlPgEAAABzBgAAACoPDAEUAgorXCBO byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEy L3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcGx6aXAuY3B5dGhvbi0zMTAtcHl0ZXN0 LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19f cHljYWNoZV9fL3Rlc3RfcGx6aXAuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBh dG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcGx6aXAu Y3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAw MCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMv X19weWNhY2hlX18vdGVzdF9wbHppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEt MTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDEwIEBACisrbw0NCisr AAAAAJpNm1bjBAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNKAAAAZABkAWwAWgFkAGQBbAJt AwIAAQBtBFoFAQBkAmQDbAZtB1oHbQhaCAEAZARkBWwGbQlaCQEARwBkBmQHhABkB2UHgwNaCisr ZAFTACkI6QAAAABO6QEAAAApAtoLQXJjaGl2ZVRlc3TaB0NvbnRlbnTpAgAAACkB2g1uZWVkc19w cm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJk A4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMBgwFaBmQHUwApCNoJVGVzdFBsemlw2gVwbHppcGMB AAAAAAAAAAAAAAABAAAABAAAAEMAAABzLgAAAHwAoABkAaEBAQB8AGoBZAF0AmoDZAKNAgEAfABq BGQBdAJqA2QCjQIBAGQAUwApA056CHQudHh0Lmx6qQHaBWNoZWNrKQXaDGFyY2hpdmVfdGVzdNoP YXJjaGl2ZV9leHRyYWN0cgQAAADaCisrU2luZ2xlZmlsZdoOYXJjaGl2ZV9jcmVhdGWpAdoEc2Vs ZqkAchEAAAD6Oy9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90 ZXN0X3BsemlwLnB52gorK3Rlc3RfcGx6aXAXAAAAcwYAAAAKKysCEAEUAXoUVGVzdFBsemlwLnRl c3RfcGx6aXDaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcx4AAAB8AKAAZAGhAQEAfABq AWQBdAJqA2QCjQIBAGQAUwApA056DHQudHh0Lmx6LmZvb3IJAAAAKQRyCwAAAHIMAAAAcgQAAABy DQAAAHIPAAAAchEAAAByEQAAAHISAAAA2g90ZXN0X3BsemlwX2ZpbGUdAAAAcwQAAAAKKysDFAF6 GVRlc3RQbHppcC50ZXN0X3BsemlwX2ZpbGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9f cXVhbG5hbWVfX9oHcHJvZ3JhbXIGAAAAchMAAAByFQAAAHIRAAAAchEAAAByEQAAAHISAAAAcgcA AAATAAAAcw4AAAAIAAQCBgIKKysBBgUGARABcgcAAAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGlu c9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRl c3RfYXLaAHIDAAAAcgQAAAByBgAAAHIHAAAAchEAAAByEQAAAHIRAAAAchIAAADaCDxtb2R1bGU+ AQAAAHMGAAAAKg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIg cGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9weWJ6 Mi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9weWJ6Mi5jcHl0aG9uLTMxMC1weXRl c3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19w eWNhY2hlX18vdGVzdF9weWJ6Mi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEt MDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0 Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3B5YnoyLmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0w LDAgKzEsOCBAQAorK28NDQorKwAAAACaTZtWswQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABz SgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaB20IWggBAGQEZAVsBm0JWgkB AEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQLaC0FyY2hpdmVUZXN02gdDb250 ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzMAAAAGUA WgFkAFoCZAFaA2UEZAKDAWQDZASEAIMBWgVlBGQFgwFkBmQHhACDAVoGZAhTACkJ2glUZXN0UHli ejLaBnB5X2J6MtoFYnppcDJjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcyQAAAB8AGoAZAF0AWoC ZAKNAgEAfABqA2QBdAFqAmQCjQIBAGQAUwApA056CXQudHh0LmJ6MqkB2gVjaGVjaykE2g9hcmNo aXZlX2V4dHJhY3RyBAAAANoKKytTaW5nbGVmaWxl2g5hcmNoaXZlX2NyZWF0ZakB2gRzZWxmqQBy EQAAAPo7L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3Rf cHliejIucHnaC3Rlc3RfcHlfYnoyFwAAAHMEAAAAEAIUAnoVVGVzdFB5YnoyLnRlc3RfcHlfYnoy 2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMUAAAAfABqAGQBdAFqAmQCjQIBAGQAUwAp A056DXQudHh0LmJ6Mi5mb29yCisrAAAAKQNyDAAAAHIEAAAAcg0AAAByDwAAAHIRAAAAchEAAABy EgAAANoQdGVzdF9weV9iejJfZmlsZR0AAABzAgAAABQCehpUZXN0UHliejIudGVzdF9weV9iejJf ZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgYA AAByEwAAAHIVAAAAchEAAAByEQAAAHIRAAAAchIAAAByBwAAABMAAABzDAAAAAgABAIGAgorKwEG BQ4BcgcAAAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3 cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgQAAAByBgAAAHIH AAAAchEAAAByEQAAAHIRAAAAchIAAADaCDxtb2R1bGU+AQAAAHMGAAAAKg8MARQCCitcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9weWVjaG8uY3B5dGhvbi0zMTAtcHl0ZXN0LTYu Mi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHlj YWNoZV9fL3Rlc3RfcHllY2hvLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRv b2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3B5ZWNoby5j cHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAw ICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9f X3B5Y2FjaGVfXy90ZXN0X3B5ZWNoby5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEt MTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDI0IEBACisrbw0NCisr AAAAAJpNm1awBgAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNGAAAAZABkAWwAWgFkAGQBbAJt AwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIAQBHAGQGZAeEAGQHZQeDA1oJZAFTACkI 6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAA AAAAAAAAAAADAAAAQAAAAHMoAAAAZQBaAWQAWgJkAVoDZAJkA4QAWgRlBWQEgwFkBWQGhACDAVoG ZAdTACkI2gorK1Rlc3RQeWVjaG/aB3B5X2VjaG9jAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAc14A AAB8AKAAZAGhAQEAfACgAGQCoQEBAHwAoABkA6EBAQB8AKAAZAShAQEAfACgAGQFoQEBAHwAoABk BqEBAQB8AKAAZAehAQEAfACgAGQIoQEBAHwAoABkCaEBAQBkAFMAKQorK056CXQudHh0LmJ6MnoH dC50eHQuWnoKKyt0LnR4dC5sem1hegh0LnR4dC5sevoJdC50eHQubHJ6egh0LnR4dC5yenoFdC5h cGV6BXQuc2huegZ0LmZsYWOpAdoMYXJjaGl2ZV9saXN0qQHaBHNlbGapAHINAAAA+jwvYnVpbGRk aXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9weWVjaG8ucHnaDHRl c3RfcHlfZWNobxcAAABzEgAAAAorKwEKKysBCisrAQorKwEKKysBCisrAQorKwEKKysBDgF6F1Rl c3RQeWVjaG8udGVzdF9weV9lY2hv2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHNKAAAA fACgAGQBoQEBAHwAoABkAqEBAQB8AKAAZAOhAQEAfACgAGQEoQEBAHwAoABkBaEBAQB8AKAAZAah AQEAfACgAGQHoQEBAGQAUwApCE56DXQudHh0LmJ6Mi5mb296C3QudHh0LlouZm9vegx0LnR4dC5s ei5mb29yCAAAAHoMdC50eHQucnouZm9vegl0LmFwZS5mb296CisrdC5mbGFjLmZvb3IJAAAAcgsA AAByDQAAAHINAAAAcg4AAADaEXRlc3RfcHlfZWNob19maWxlIgAAAHMOAAAACisrAgorKwEKKysD CisrAQorKwEKKysBDgN6HFRlc3RQeWVjaG8udGVzdF9weV9lY2hvX2ZpbGVOKQfaCF9fbmFtZV9f 2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIPAAAAcgUAAAByEQAAAHINAAAA cg0AAAByDQAAAHIOAAAAcgYAAAATAAAAcworKwAAAAgABAIIAgYLDgFyBgAAACkKKyvaCGJ1aWx0 aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoH cmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByDQAAAHINAAAAcg0AAAByDgAA ANoIPG1vZHVsZT4BAAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor ZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVf Xy90ZXN0X3B5Z3ppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVh bS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9weWd6aXAuY3B5 dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3Rz L2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcHlnemlwLmNweXRob24tMzEwLXB5dGVzdC02LjIu NS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBz dHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcHlnemlw LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIy ODUgKzAxMDAKK0BAIC0wLDAgKzEsOSBAQAorK28NDQorKwAAAACaTZtWsgQAAOMAAAAAAAAAAAAA AAAAAAAABAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaB20I WggBAGQEZAVsBm0JWgkBAEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQLaC0Fy Y2hpdmVUZXN02gdDb250ZW506QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAA AwAAAEAAAABzMAAAAGUAWgFkAFoCZAFaA2UEZAKDAWQDZASEAIMBWgVlBGQFgwFkBmQHhACDAVoG ZAhTACkJ2gorK1Rlc3RQeWd6aXDaB3B5X2d6aXDaBGd6aXBjAQAAAAAAAAAAAAAAAQAAAAQAAABD AAAAcyQAAAB8AGoAZAF0AWoCZAKNAgEAfABqA2QBdAFqAmQCjQIBAGQAUwApA056CHQudHh0Lmd6 qQHaBWNoZWNrKQTaD2FyY2hpdmVfZXh0cmFjdHIEAAAA2gorK1NpbmdsZWZpbGXaDmFyY2hpdmVf Y3JlYXRlqQHaBHNlbGapAHIRAAAA+jwvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvdGVzdF9weWd6aXAucHnaDHRlc3RfcHlfZ3ppcBcAAABzBAAAABACFAJ6F1Rl c3RQeWd6aXAudGVzdF9weV9nemlw2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHMUAAAA fABqAGQBdAFqAmQCjQIBAGQAUwApA056DHQudHh0Lmd6LmZvb3IKKysAAAApA3IMAAAAcgQAAABy DQAAAHIPAAAAchEAAAByEQAAAHISAAAA2hF0ZXN0X3B5X2d6aXBfZmlsZR0AAABzAgAAABQCehxU ZXN0UHlnemlwLnRlc3RfcHlfZ3ppcF9maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxf X3F1YWxuYW1lX1/aB3Byb2dyYW1yBgAAAHITAAAAchUAAAByEQAAAHIRAAAAchEAAAByEgAAAHIH AAAAEwAAAHMMAAAACAAEAgYCCisrAQYFDgFyBwAAACkL2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z 2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVz dF9hctoAcgMAAAByBAAAAHIGAAAAcgcAAAByEQAAAHIRAAAAchEAAAByEgAAANoIPG1vZHVsZT4B AAAAcwYAAAAqDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBw YXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3B5bHpt YS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9weWx6bWEuY3B5dGhvbi0zMTAtcHl0 ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19f cHljYWNoZV9fL3Rlc3RfcHlsem1hLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0w MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcHlsem1hLmNweXRob24tMzEw LXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BA IC0wLDAgKzEsMTAgQEAKKytvDQ0KKysAAAAAmk2bVsIFAADjAAAAAAAAAAAAAAAAAAAAAAQAAABA AAAAc04AAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZt CVoJbQorK1oKKysBAEcAZAZkB4QAZAdlB4MDWgtkAVMAKQjpAAAAAE7pAQAAACkC2gtBcmNoaXZl VGVzdNoHQ29udGVudOkCAAAAKQLaDW5lZWRzX3Byb2dyYW3aDG5lZWRzX21vZHVsZWMAAAAAAAAA AAAAAAAAAAAABAAAAEAAAABzQAAAAGUAWgFkAFoCZAFaA2UEZAKDAWUFZAODAWQEZAWEAIMBgwFa BmUEZAaDAWUFZAODAWQHZAiEAIMBgwFaB2QJUwApCisr2gorK1Rlc3RQeWx6bWHaB3B5X2x6bWHa Anh62gRsem1hYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHNEAAAAfABqAGQBdAFqAmQCjQIBAHwA agBkA3QBagJkAo0CAQB8AGoDZAF0AWoCZAKNAgEAfABqA2QDdAFqAmQCjQIBAGQAUwApBE56Cisr dC50eHQubHptYakB2gVjaGVja3oIdC50eHQueHopBNoPYXJjaGl2ZV9leHRyYWN0cgQAAADaCisr U2luZ2xlZmlsZdoOYXJjaGl2ZV9jcmVhdGWpAdoEc2VsZqkAchMAAAD6PC9idWlsZGRpci9wYXRv b2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X3B5bHptYS5wedoMdGVzdF9weV9s em1hFwAAAHMIAAAAEAMQARACFAF6F1Rlc3RQeWx6bWEudGVzdF9weV9sem1h2gRmaWxlYwEAAAAA AAAAAAAAAAEAAAAEAAAAQwAAAHMkAAAAfABqAGQBdAFqAmQCjQIBAHwAagBkA3QBagJkAo0CAQBk AFMAKQROeg50LnR4dC5sem1hLmZvb3IMAAAAegx0LnR4dC54ei5mb28pA3IOAAAAcgQAAAByDwAA AHIRAAAAchMAAAByEwAAAHIUAAAA2hF0ZXN0X3B5X2x6bWFfZmlsZSAAAABzBAAAABADFAF6HFRl c3RQeWx6bWEudGVzdF9weV9sem1hX2ZpbGVOKQjaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9f cXVhbG5hbWVfX9oHcHJvZ3JhbXIGAAAAcgcAAAByFQAAAHIXAAAAchMAAAByEwAAAHITAAAAchQA AAByCAAAABMAAABzEAAAAAgABAIGAgYBDAEGBwYBEAFyCAAAACkM2ghidWlsdGluc9oMQHB5X2J1 aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisr QHB5dGVzdF9hctoAcgMAAAByBAAAAHIGAAAAcgcAAAByCAAAAHITAAAAchMAAAByEwAAAHIUAAAA 2gg8bW9kdWxlPgEAAABzBgAAACoPEAEUAgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitk aWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9f L3Rlc3RfcHl0YXJmaWxlLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3Ry ZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3B5dGFyZmls ZS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv dGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9weXRhcmZpbGUuY3B5dGhvbi0zMTAtcHl0 ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBh dG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVz dF9weXRhcmZpbGUuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIz OjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAsMCArMSwxMiBAQAorK28NDQorKwAAAACaTZtW1AYA AOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzRgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEA ZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBkBmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAA KQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAAAwAA AEAAAABzWAAAAGUAWgFkAFoCZAFaA2QCZAOEAFoEZARkBYQAWgVkBmQHhABaBmUHZAiDAWQJZAor K4QAgwFaCGUHZAiDAWQLZAyEAIMBWgllB2QIgwFkDWQOhACDAVoKKytkD1MAKRDaDVRlc3RQeXRh cmZpbGXaCisrcHlfdGFyZmlsZWMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAADzGAAAAHwAoABkAaEB AQB8AKAAZAKhAQEAZABTACkDTnoFdC50YXJ6BXQuY2J0qQHaEGFyY2hpdmVfY29tbWFuZHOpAdoE c2VsZqkAcg0AAAD6Py9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZl cy90ZXN0X3B5dGFyZmlsZS5wedoPdGVzdF9weV90YXJmaWxlFwAAAPMEAAAACisrAQ4Beh1UZXN0 UHl0YXJmaWxlLnRlc3RfcHlfdGFyZmlsZWMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAAByCAAAACkD TnoIdC50YXIuZ3p6BXQudGd6cgkAAAByCwAAAHINAAAAcg0AAAByDgAAANoSdGVzdF9weV90YXJm aWxlX2d6GwAAAHIQAAAAeiBUZXN0UHl0YXJmaWxlLnRlc3RfcHlfdGFyZmlsZV9nemMBAAAAAAAA AAAAAAABAAAAAwAAAEMAAAByCAAAACkDTnoJdC50YXIuYnoyegZ0LnRiejJyCQAAAHILAAAAcg0A AAByDQAAAHIOAAAA2hN0ZXN0X3B5X3RhcmZpbGVfYnoyHwAAAHIQAAAAeiFUZXN0UHl0YXJmaWxl LnRlc3RfcHlfdGFyZmlsZV9iejLaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAA8yAAAAB8 AGoAZAFkAmQDjQIBAHwAagBkBGQCZAONAgEAZABTACkFTnoJdC50YXIuZm9vVKkB2gtza2lwX2Ny ZWF0ZXoJdC5jYnQuZm9vcgkAAAByCwAAAHINAAAAcg0AAAByDgAAANoUdGVzdF9weV90YXJmaWxl X2ZpbGUjAAAA8wQAAAAOAhIBeiJUZXN0UHl0YXJmaWxlLnRlc3RfcHlfdGFyZmlsZV9maWxlYwEA AAAAAAAAAAAAAAEAAAAEAAAAQwAAAHIUAAAAKQVOegx0LnRhci5nei5mb29UchUAAAB6CXQudGd6 LmZvb3IJAAAAcgsAAAByDQAAAHINAAAAcg4AAADaF3Rlc3RfcHlfdGFyZmlsZV9nel9maWxlKAAA AHIYAAAAeiVUZXN0UHl0YXJmaWxlLnRlc3RfcHlfdGFyZmlsZV9nel9maWxlYwEAAAAAAAAAAAAA AAEAAAAEAAAAQwAAAHIUAAAAKQVOeg10LnRhci5iejIuZm9vVHIVAAAAegorK3QudGJ6Mi5mb29y CQAAAHILAAAAcg0AAAByDQAAAHIOAAAA2hh0ZXN0X3B5X3RhcmZpbGVfYnoyX2ZpbGUtAAAAchgA AAB6JlRlc3RQeXRhcmZpbGUudGVzdF9weV90YXJmaWxlX2J6Ml9maWxlTikL2ghfX25hbWVfX9oK KytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yDwAAAHIRAAAAchIAAAByBQAAAHIX AAAAchkAAAByGgAAAHINAAAAcg0AAAByDQAAAHIOAAAAcgYAAAATAAAAcxYAAAAIAAQCCAIIBAgE BgQKKysBBgQKKysBBgQOAXIGAAAAKQorK9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVz dC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHID AAAAcgUAAAByBgAAAHINAAAAcg0AAAByDQAAAHIOAAAA2gg8bW9kdWxlPgEAAABzBgAAACYPDAEU AgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVh bS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcHl6aXBmaWxlLmNweXRob24t MzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9h cmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3B5emlwZmlsZS5jcHl0aG9uLTMxMC1weXRlc3QtNi4y LjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hl X18vdGVzdF9weXppcGZpbGUuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAx IDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNo ZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9weXppcGZpbGUuY3B5dGhvbi0zMTAt cHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAg LTAsMCArMSw5IEBACisrbw0NCisrAAAAAJpNm1ZhBAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAA AHNGAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIAQBH AGQGZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB2g1u ZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAADAAAAQAAAAHMoAAAAZQBaAWQAWgJkAVoDZAJk A4QAWgRlBWQEgwFkBWQGhACDAVoGZAdTACkI2g1UZXN0UHl6aXBmaWxl2gorK3B5X3ppcGZpbGVj AQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcxgAAAB8AKAAZAGhAQEAfACgAGQCoQEBAGQAUwApA056 BXQuemlwegV0LmNieqkB2hBhcmNoaXZlX2NvbW1hbmRzqQHaBHNlbGapAHIMAAAA+j8vYnVpbGRk aXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9weXppcGZpbGUucHna D3Rlc3RfcHlfemlwZmlsZRcAAABzBAAAAAorKwEOAXodVGVzdFB5emlwZmlsZS50ZXN0X3B5X3pp cGZpbGXaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcyAAAAB8AGoAZAFkAmQDjQIBAHwA agBkBGQCZAONAgEAZABTACkFTnoJdC56aXAuZm9vVCkB2gtza2lwX2NyZWF0ZXoJdC5jYnouZm9v cggAAAByCisrAAAAcgwAAAByDAAAAHINAAAA2hR0ZXN0X3B5X3ppcGZpbGVfZmlsZRsAAABzBAAA AA4CEgF6IlRlc3RQeXppcGZpbGUudGVzdF9weV96aXBmaWxlX2ZpbGVOKQfaCF9fbmFtZV9f2gor K19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIOAAAAcgUAAAByEQAAAHIMAAAAcgwA AAByDAAAAHINAAAAcgYAAAATAAAAcworKwAAAAgABAIIAgYEDgFyBgAAACkKKyvaCGJ1aWx0aW5z 2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3 cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByDAAAAHIMAAAAcgwAAAByDQAAANoI PG1vZHVsZT4BAAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlm ZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90 ZXN0X3Jhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEy LXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9yYXIuY3B5dGhvbi0zMTAt cHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVz L19fcHljYWNoZV9fL3Rlc3RfcmFyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0w MS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1w YXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcmFyLmNweXRob24tMzEwLXB5 dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0w LDAgKzEsOCBAQAorK28NDQorKwAAAACaTZtWfgQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABz RgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBk BmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVl ZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQOD AWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaB1Rlc3RSYXLaA3JhcmMB AAAAAAAAAAAAAAABAAAAAwAAAEMAAABzGAAAAHwAoABkAaEBAQB8AKAAZAKhAQEAZABTACkDTnoF dC5yYXJ6BXQuY2JyqQHaEGFyY2hpdmVfY29tbWFuZHOpAdoEc2VsZqkAcgwAAAD6OS9idWlsZGRp ci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X3Jhci5wedoIdGVzdF9y YXIXAAAAcwQAAAAKKysCDgF6EFRlc3RSYXIudGVzdF9yYXLaBGZpbGVjAQAAAAAAAAAAAAAAAQAA AAQAAABDAAAAcyAAAAB8AGoAZAFkAmQDjQIBAHwAagBkBGQCZAONAgEAZABTACkFTnoJdC5yYXIu Zm9vVCkB2gtza2lwX2NyZWF0ZXoJdC5jYnIuZm9vcggAAAByCisrAAAAcgwAAAByDAAAAHINAAAA 2g10ZXN0X3Jhcl9maWxlHAAAAHMEAAAADgMSAXoVVGVzdFJhci50ZXN0X3Jhcl9maWxlTikH2ghf X25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3Byb2dyYW1yBQAAAHIOAAAAchEA AAByDAAAAHIMAAAAcgwAAAByDQAAAHIGAAAAEwAAAHMOAAAACAAEAgYCCisrAQYEBgEQAXIGAAAA KQorK9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJ YXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgUAAAByBgAAAHIMAAAAcgwA AAByDAAAAHINAAAA2gg8bW9kdWxlPgEAAABzBgAAACYPDAEUAgorXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVz L19fcHljYWNoZV9fL3Rlc3RfcnBtLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3Jw bS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv dGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9ycG0uY3B5dGhvbi0zMTAtcHl0ZXN0LTYu Mi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9ycG0u Y3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4 NSArMDEwMAorQEAgLTAsMCArMSw2IEBACisrbw0NCisrAAAAAJpNm1aMBQAA4wAAAAAAAAAAAAAA AAAAAAAEAAAAQAAAAHNGAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBk BGQFbAZtCFoIAQBHAGQGZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRl c3TpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBa AWQAWgJkAVoDZQRkAYMBZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMBgwFaBmQHUwApCNoH VGVzdFJwbdoDcnBtYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAPMOAAAAfACgAGQBoQEBAGQAUwAp Ak56BXQucnBtqQHaDGFyY2hpdmVfbGlzdKkB2gRzZWxmqQByDQAAAPo5L2J1aWxkZGlyL3BhdG9v bC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfcnBtLnB52gh0ZXN0X3JwbRcAAABz AgAAAA4CehBUZXN0UnBtLnRlc3RfcnBt2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHII AAAAKQJOegl0LnJwbS5mb29yCQAAAHILAAAAcg0AAAByDQAAAHIOAAAA2g10ZXN0X3JwbV9maWxl HwAAAHMCAAAADgN6FVRlc3RScG0udGVzdF9ycG1fZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1 bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgUAAAByDwAAAHIRAAAAcg0AAAByDQAAAHINAAAA cg4AAAByBgAAABMAAABzDgAAAAgABAIGAgorKwEGBwYBEAFyBgAAACkKKyvaCGJ1aWx0aW5z2gxA cHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0 ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByDQAAAHINAAAAcg0AAAByDgAAANoIPG1v ZHVsZT4BAAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAt TmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0 X3JwbTJjcGlvLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEu MTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3JwbTJjcGlvLmNweXRo b24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9h cmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3JwbTJjcGlvLmNweXRob24tMzEwLXB5dGVzdC02LjIu NS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBz dHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcnBtMmNw aW8uY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3Njgz MjI4NSArMDEwMAorQEAgLTAsMCArMSw2IEBACisrbw0NCisrAAAAAJpNm1ZoBAAA4wAAAAAAAAAA AAAAAAAAAAAEAAAAQAAAAHNGAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oH AQBkBGQFbAZtCFoIAQBHAGQGZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2 ZVRlc3TpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAFAAAAQAAAAHNIAAAA ZQBaAWQAWgJkAVoDZQRlA4MBZQRkAoMBZANkBIQAgwGDAVoFZQRkBYMBZQRlA4MBZQRkAoMBZAZk B4QAgwGDAYMBWgZkCFMAKQnaDFRlc3RScG0yY3Bpb9oIcnBtMmNwaW/aBGNwaW9jAQAAAAAAAAAA AAAAAQAAAAQAAABDAAAA8xIAAAB8AGoAZAFkAGQCjQIBAGQAUwApA056BXQucnBtqQHaBWNoZWNr qQHaD2FyY2hpdmVfZXh0cmFjdKkB2gRzZWxmqQByEAAAAPo+L2J1aWxkZGlyL3BhdG9vbC11cHN0 cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3RfcnBtMmNwaW8ucHnaDXRlc3RfcnBtMmNwaW8X AAAAcwIAAAASA3oaVGVzdFJwbTJjcGlvLnRlc3RfcnBtMmNwaW/aBGZpbGVjAQAAAAAAAAAAAAAA AQAAAAQAAABDAAAAcgkAAAApA056CXQucnBtLmZvb3IKKysAAAByDAAAAHIOAAAAchAAAAByEAAA AHIRAAAA2hJ0ZXN0X3JwbTJjcGlvX2ZpbGUcAAAAcwIAAAASBHofVGVzdFJwbTJjcGlvLnRlc3Rf cnBtMmNwaW9fZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdw cm9ncmFtcgUAAAByEgAAAHIUAAAAchAAAAByEAAAAHIQAAAAchEAAAByBgAAABMAAABzEgAAAAgA BAIGAgYBDAEGAwYBBgESAXIGAAAAKQorK9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVz dC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHID AAAAcgUAAAByBgAAAHIQAAAAchAAAAByEAAAAHIRAAAA2gg8bW9kdWxlPgEAAABzBgAAACYPDAEU AgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVh bS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfcnppcC5jcHl0aG9uLTMxMC1w eXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2 ZXMvX19weWNhY2hlX18vdGVzdF9yemlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0t LSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3J6 aXAuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAw MDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2 ZXMvX19weWNhY2hlX18vdGVzdF9yemlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAy MS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsNyBAQAorK28NDQor KwAAAACaTZtWdAQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwC bQMCAAEAbQRaBQEAZAJkA2wGbQdaB20IWggBAGQEZAVsBm0JWgkBAEcAZAZkB4QAZAdlB4MDWgor K2QBUwApCOkAAAAATukBAAAAKQLaC0FyY2hpdmVUZXN02gdDb250ZW506QIAAAApAdoNbmVlZHNf cHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAAAwAAAEAAAABzMAAAAGUAWgFkAFoCZAFaA2UEZQODAWQC ZAOEAIMBWgVlBGUDgwFkBGQFhACDAVoGZAZTACkH2ghUZXN0UnppcNoEcnppcGMBAAAAAAAAAAAA AAABAAAABAAAAEMAAABzJAAAAHwAagBkAXQBagJkAo0CAQB8AGoDZAF0AWoCZAKNAgEAZABTACkD TnoIdC50eHQucnqpAdoFY2hlY2spBNoPYXJjaGl2ZV9leHRyYWN0cgQAAADaCisrU2luZ2xlZmls ZdoOYXJjaGl2ZV9jcmVhdGWpAdoEc2VsZqkAchAAAAD6Oi9idWlsZGRpci9wYXRvb2wtdXBzdHJl YW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X3J6aXAucHnaCXRlc3RfcnppcBcAAABzBAAAABAC FAF6ElRlc3RSemlwLnRlc3RfcnppcGMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzFAAAAHwAagBk AXQBagJkAo0CAQBkAFMAKQNOegx0LnR4dC5yei5mb29yCQAAACkDcgsAAAByBAAAAHIMAAAAcg4A AAByEAAAAHIQAAAAchEAAADaDnRlc3RfcnppcF9maWxlHAAAAHMCAAAAFAJ6F1Rlc3RSemlwLnRl c3RfcnppcF9maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/aB3By b2dyYW1yBgAAAHISAAAAchMAAAByEAAAAHIQAAAAchAAAAByEQAAAHIHAAAAEwAAAHMMAAAACAAE AgYCCisrAQYEDgFyBwAAACkL2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2Vy dGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBAAA AHIGAAAAcgcAAAByEAAAAHIQAAAAchAAAAByEQAAANoIPG1vZHVsZT4BAAAAcwYAAAAqDwwBFAIK K1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0t MS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3NoYXIuY3B5dGhvbi0zMTAtcHl0 ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVz L19fcHljYWNoZV9fL3Rlc3Rfc2hhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0g cGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF9zaGFy LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAw MDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVz L19fcHljYWNoZV9fL3Rlc3Rfc2hhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEt MTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDcgQEAKKytvDQ0KKysA AAAAmk2bVsoDAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0oAAABkAGQBbABaAWQAZAFsAm0D AgABAG0EWgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZtCVoJAQBHAGQGZAeEAGQHZQeDA1oKKytk AVMAKQjpAAAAAE7pAQAAACkC2gtBcmNoaXZlVGVzdNoHQ29udGVudOkCAAAAKQHaDW5lZWRzX3By b2dyYW1jAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAcygAAABlAFoBZABaAmQBWgNlBGUDgwFlBGQC gwFkA2QEhACDAYMBWgVkBVMAKQbaCFRlc3RTaGFy2gRzaGFy2gZ1bnNoYXJjAQAAAAAAAAAAAAAA AQAAAAQAAABDAAAAcxQAAAB8AGoAZAF0AWoCZAKNAgEAZABTACkDTnoGdC5zaGFyKQHaBWNoZWNr KQPaDmFyY2hpdmVfY3JlYXRlcgQAAADaCisrU2luZ2xlZmlsZSkB2gRzZWxmqQByDgAAAPo6L2J1 aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL3Rlc3Rfc2hhci5wedoJ dGVzdF9zaGFyFwAAAHMCAAAAFAN6ElRlc3RTaGFyLnRlc3Rfc2hhck4pBtoIX19uYW1lX1/aCisr X19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgYAAAByEAAAAHIOAAAAcg4AAAByDgAA AHIPAAAAcgcAAAATAAAAcworKwAAAAgABAIGAgYBEAFyBwAAACkL2ghidWlsdGluc9oMQHB5X2J1 aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisr QHB5dGVzdF9hctoAcgMAAAByBAAAAHIGAAAAcgcAAAByDgAAAHIOAAAAcg4AAAByDwAAANoIPG1v ZHVsZT4BAAAAcwYAAAAqDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAt TmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0 X3Nob3J0ZW4uY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4x Mi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rfc2hvcnRlbi5jcHl0aG9u LTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJj aGl2ZXMvX19weWNhY2hlX18vdGVzdF9zaG9ydGVuLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5w eWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJl YW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rfc2hvcnRlbi5j cHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1 ICswMTAwCitAQCAtMCwwICsxLDUgQEAKKytvDQ0KKysAAAAAmk2bVpgEAADjAAAAAAAAAAAAAAAA AAAAAAQAAABAAAAAc0YAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgcBAGQE ZAVsBm0IWggBAEcAZAZkB4QAZAdlB4MDWglkAVMAKQjpAAAAAE7pAQAAACkB2gtBcmNoaXZlVGVz dOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAcyAAAABlAFoB ZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZARTACkF2gtUZXN0U2hvcnRlbtoHc2hvcnRlbmMBAAAA AAAAAAAAAAABAAAABAAAAEMAAABzIAAAAHwAagBkAWQAZAKNAgEAfABqAWQBZANkBI0CAQBkAFMA KQVOegV0LnNobikB2gVjaGVjaykBegV0LndhdikB2ghzcmNmaWxlcykC2g9hcmNoaXZlX2V4dHJh Y3TaDmFyY2hpdmVfY3JlYXRlKQHaBHNlbGapAHINAAAA+j0vYnVpbGRkaXIvcGF0b29sLXVwc3Ry ZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF9zaG9ydGVuLnB52gx0ZXN0X3Nob3J0ZW4XAAAA cwQAAAAOAhIBehhUZXN0U2hvcnRlbi50ZXN0X3Nob3J0ZW5OKQbaCF9fbmFtZV9f2gorK19fbW9k dWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIFAAAAcg8AAAByDQAAAHINAAAAcg0AAAByDgAA AHIGAAAAEwAAAHMIAAAACAAEAgYCDgFyBgAAACkKKyvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPa GV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0 X2Fy2gByAwAAAHIFAAAAcgYAAAByDQAAAHINAAAAcg0AAAByDgAAANoIPG1vZHVsZT4BAAAAcwYA AAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3N0YXIuY3B5dGhv bi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3Rz L2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rfc3Rhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUu cHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18v dGVzdF9zdGFyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDow MC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3Rz L2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rfc3Rhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUu cHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc2ODMyMjg1ICswMTAwCitAQCAtMCwwICsxLDMwIEBA Cisrbw0NCisrAAAAAJpNm1ZnDAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNKAAAAZABkAWwA WgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIbQlaCQEARwBkBmQHhABk B2UHgwNaCisrZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkC2g1uZWVkc19w cm9ncmFt2gtuZWVkc19jb2RlY2MAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzMgEAAGUAWgFkAFoC ZAFaA2UEZQODAWQCZAOEAIMBWgVlBmUDZASDAmQFZAaEAIMBWgdlBGUDgwFlBGQHgwFkCGQJhACD AYMBWghlBmUDZAorK4MCZAtkDIQAgwFaCWUGZQNkDYMCZA5kD4QAgwFaCisrZQRlA4MBZQRkEIMB ZBFkEoQAgwGDAVoLZQZlA2QTgwJkFGQVhACDAVoMZQRkFoMBZQRlA4MBZBdkGIQAgwGDAVoNZQRk FoMBZQZlA2QEgwJkGWQahACDAYMBWg5lBGQWgwFlBmUDZAeDAmQbZByEAIMBgwFaD2UEZBaDAWUG ZQNkCisrgwJkHWQehACDAYMBWhBlBGQWgwFlBmUDZBCDAmQfZCCEAIMBgwFaEWUEZBaDAWUGZQNk E4MCZCFkIoQAgwGDAVoSZCNTACkk2ghUZXN0U3RhctoEc3RhcmMBAAAAAAAAAAAAAAABAAAAAwAA AEMAAADzGAAAAHwAoABkAaEBAQB8AKAAZAKhAQEAZABTACkDTnoFdC50YXJ6BXQuY2J0qQHaEGFy Y2hpdmVfY29tbWFuZHOpAdoEc2VsZqkAcg4AAAD6Oi9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0t MS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X3N0YXIucHnaCXRlc3Rfc3RhchcAAADzBAAAAAorKwIO AXoSVGVzdFN0YXIudGVzdF9zdGFy2gRnemlwYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHIJAAAA KQNOegh0LnRhci5nenoFdC50Z3pyCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaDHRlc3Rfc3Rh cl9nehwAAAByEQAAAHoVVGVzdFN0YXIudGVzdF9zdGFyX2d62ghjb21wcmVzc2MBAAAAAAAAAAAA AAABAAAAAwAAAEMAAAByCQAAACkDTnoHdC50YXIuWnoFdC50YXpyCisrAAAAcgwAAAByDgAAAHIO AAAAcg8AAADaC3Rlc3Rfc3Rhcl96IQAAAHMEAAAACisrAw4BehRUZXN0U3Rhci50ZXN0X3N0YXJf etoFYnppcDJjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcgkAAAApA056CXQudGFyLmJ6MnoGdC50 YnoycgorKwAAAHIMAAAAcg4AAAByDgAAAHIPAAAA2g10ZXN0X3N0YXJfYnoyJwAAAHIRAAAAehZU ZXN0U3Rhci50ZXN0X3N0YXJfYnoy2gRsem1hYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAPMOAAAA fACgAGQBoQEBAGQAUwApAk56CisrdC50YXIubHptYXIKKysAAAByDAAAAHIOAAAAcg4AAAByDwAA ANoOdGVzdF9zdGFyX2x6bWEsAAAA8wIAAAAOAnoXVGVzdFN0YXIudGVzdF9zdGFyX2x6bWHaBGx6 aXBjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAchkAAAApAk56CHQudGFyLmx6cgorKwAAAHIMAAAA cg4AAAByDgAAAHIPAAAA2g50ZXN0X3N0YXJfbHppcDAAAABzAgAAAA4DehdUZXN0U3Rhci50ZXN0 X3N0YXJfbHppcNoCeHpjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAchkAAAApAk56CHQudGFyLnh6 cgorKwAAAHIMAAAAcg4AAAByDgAAAHIPAAAA2gx0ZXN0X3N0YXJfeHo1AAAAchsAAAB6FVRlc3RT dGFyLnRlc3Rfc3Rhcl94etoEZmlsZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAADzIAAAAHwAagBk AWQCZAONAgEAfABqAGQEZAJkA40CAQBkAFMAKQVOegl0LnRhci5mb29UqQHaC3NraXBfY3JlYXRl egl0LmNidC5mb29yCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaDnRlc3Rfc3Rhcl9maWxlOQAA APMEAAAADgMSAXoXVGVzdFN0YXIudGVzdF9zdGFyX2ZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABD AAAAciEAAAApBU56DHQudGFyLmd6LmZvb1RyIgAAAHoJdC50Z3ouZm9vcgorKwAAAHIMAAAAcg4A AAByDgAAAHIPAAAA2hF0ZXN0X3N0YXJfZ3pfZmlsZT8AAAByJQAAAHoaVGVzdFN0YXIudGVzdF9z dGFyX2d6X2ZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAciEAAAApBU56C3QudGFyLlouZm9v VHIiAAAAegl0LnRhei5mb29yCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaEHRlc3Rfc3Rhcl96 X2ZpbGVFAAAAciUAAAB6GVRlc3RTdGFyLnRlc3Rfc3Rhcl96X2ZpbGVjAQAAAAAAAAAAAAAAAQAA AAQAAABDAAAAciEAAAApBU56DXQudGFyLmJ6Mi5mb29UciIAAAB6CisrdC50YnoyLmZvb3IKKysA AAByDAAAAHIOAAAAcg4AAAByDwAAANoSdGVzdF9zdGFyX2J6Ml9maWxlSwAAAHIlAAAAehtUZXN0 U3Rhci50ZXN0X3N0YXJfYnoyX2ZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAA8xIAAAB8AGoA ZAFkAmQDjQIBAGQAUwApBE56DHQudGFyLmx6LmZvb1RyIgAAAHIKKysAAAByDAAAAHIOAAAAcg4A AAByDwAAANoTdGVzdF9zdGFyX2x6aXBfZmlsZVcAAADzAgAAABIDehxUZXN0U3Rhci50ZXN0X3N0 YXJfbHppcF9maWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAAAHIpAAAAKQROegx0LnRhci54ei5m b29UciIAAAByCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaEXRlc3Rfc3Rhcl94el9maWxlXAAA AHIrAAAAehpUZXN0U3Rhci50ZXN0X3N0YXJfeHpfZmlsZU4pE9oIX19uYW1lX1/aCisrX19tb2R1 bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgUAAAByEAAAAHIGAAAAchMAAAByFQAAAHIXAAAA choAAAByHQAAAHIfAAAAciQAAAByJgAAAHInAAAAcigAAAByKgAAAHIsAAAAcg4AAAByDgAAAHIO AAAAcg8AAAByBwAAABMAAABzSAAAAAgABAIGAgorKwEIBAorKwEGBAYBDAEIBAorKwEIBAorKwEG AwYBDAEIAworKwEGAwYBDAEGBAgBDAEGBAgBDAEGBAgBDAEGCisrCAEMAQYDCAEQAXIHAAAAKQva CGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2Vy dGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByBwAAAHIOAAAAcg4A AAByDgAAAHIPAAAA2gg8bW9kdWxlPgEAAABzBgAAACYPEAEUAgorXCBObyBuZXdsaW5lIGF0IGVu ZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVz L19fcHljYWNoZV9fL3Rlc3RfdGFyLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29s LXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3Rh ci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIv dGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF90YXIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYu Mi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF90YXIu Y3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4 NSArMDEwMAorQEAgLTAsMCArMSwzMCBAQAorK28NDQorKwAAAACaTZtWsw0AAOMAAAAAAAAAAAAA AAAAAAAABAAAAEAAAABzSgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEA ZARkBWwGbQhaCG0JWgkBAEcAZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQHaC0Fy Y2hpdmVUZXN06QIAAAApAtoNbmVlZHNfcHJvZ3JhbdoLbmVlZHNfY29kZWNjAAAAAAAAAAAAAAAA AAAAAAUAAABAAAAAczoBAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQZlA2QEgwJkBWQG hACDAVoHZQRlA4MBZQRkB4MBZAhkCYQAgwGDAVoIZQZlA2QKKyuDAmQLZAyEAIMBWgllBmUDZA2D AmQOZA+EAIMBWgorK2UEZQODAWUEZBCDAWQRZBKEAIMBgwFaC2UGZQNkE4MCZBRkFYQAgwFaDGUE ZBaDAWUEZQODAWQXZBiEAIMBgwFaDWUEZBaDAWUGZQNkBIMCZBlkGoQAgwGDAVoOZQRkFoMBZQZl A2QHgwJkG2QchACDAYMBWg9lBGQWgwFlBmUDZAorK4MCZB1kHoQAgwGDAVoQZQRkEIMBZQRkFoMB ZQZlA2QQgwJkH2QghACDAYMBgwFaEWUEZBaDAWUGZQNkE4MCZCFkIoQAgwGDAVoSZCNTACkk2gdU ZXN0VGFy2gN0YXJjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAA8xgAAAB8AKAAZAGhAQEAfACgAGQC oQEBAGQAUwApA056BXQudGFyegV0LmNidKkB2hBhcmNoaXZlX2NvbW1hbmRzqQHaBHNlbGapAHIO AAAA+jkvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF90 YXIucHnaCHRlc3RfdGFyFwAAAPMEAAAACisrAg4BehBUZXN0VGFyLnRlc3RfdGFy2gRnemlwYwEA AAAAAAAAAAAAAAEAAAADAAAAQwAAAHIJAAAAKQNOegh0LnRhci5nenoFdC50Z3pyCisrAAAAcgwA AAByDgAAAHIOAAAAcg8AAADaC3Rlc3RfdGFyX2d6HAAAAHIRAAAAehNUZXN0VGFyLnRlc3RfdGFy X2d62ghjb21wcmVzc2MBAAAAAAAAAAAAAAABAAAAAwAAAEMAAAByCQAAACkDTnoHdC50YXIuWnoF dC50YXpyCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaCisrdGVzdF90YXJfeiEAAABzBAAAAAor KwMOAXoSVGVzdFRhci50ZXN0X3Rhcl962gViemlwMmMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAABy CQAAACkDTnoJdC50YXIuYnoyegZ0LnRiejJyCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaDHRl c3RfdGFyX2J6MicAAAByEQAAAHoUVGVzdFRhci50ZXN0X3Rhcl9iejLaBGx6bWFjAQAAAAAAAAAA AAAAAQAAAAMAAABDAAAA8w4AAAB8AKAAZAGhAQEAZABTACkCTnoKKyt0LnRhci5sem1hcgorKwAA AHIMAAAAcg4AAAByDgAAAHIPAAAA2g10ZXN0X3Rhcl9sem1hLAAAAPMCAAAADgJ6FVRlc3RUYXIu dGVzdF90YXJfbHptYdoEbHppcGMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAAByGQAAACkCTnoIdC50 YXIubHpyCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaDXRlc3RfdGFyX2x6aXAyAAAAcwIAAAAO A3oVVGVzdFRhci50ZXN0X3Rhcl9semlw2gJ4emMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAAByGQAA ACkCTnoIdC50YXIueHpyCisrAAAAcgwAAAByDgAAAHIOAAAAcg8AAADaC3Rlc3RfdGFyX3h6NwAA AHIbAAAAehNUZXN0VGFyLnRlc3RfdGFyX3h62gRmaWxlYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAA APMgAAAAfABqAGQBZAJkA40CAQB8AGoAZARkAmQDjQIBAGQAUwApBU56CXQudGFyLmZvb1SpAdoL c2tpcF9jcmVhdGV6CXQuY2J0LmZvb3IKKysAAAByDAAAAHIOAAAAcg4AAAByDwAAANoNdGVzdF90 YXJfZmlsZTsAAADzBAAAAA4DEgF6FVRlc3RUYXIudGVzdF90YXJfZmlsZWMBAAAAAAAAAAAAAAAB AAAABAAAAEMAAAByIQAAACkFTnoMdC50YXIuZ3ouZm9vVHIiAAAAegl0LnRnei5mb29yCisrAAAA cgwAAAByDgAAAHIOAAAAcg8AAADaEHRlc3RfdGFyX2d6X2ZpbGVBAAAAciUAAAB6GFRlc3RUYXIu dGVzdF90YXJfZ3pfZmlsZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAAByIQAAACkFTnoLdC50YXIu Wi5mb29UciIAAAB6CXQudGF6LmZvb3IKKysAAAByDAAAAHIOAAAAcg4AAAByDwAAANoPdGVzdF90 YXJfel9maWxlRwAAAHIlAAAAehdUZXN0VGFyLnRlc3RfdGFyX3pfZmlsZWMBAAAAAAAAAAAAAAAB AAAABAAAAEMAAAByIQAAACkFTnoNdC50YXIuYnoyLmZvb1RyIgAAAHoKKyt0LnRiejIuZm9vcgor KwAAAHIMAAAAcg4AAAByDgAAAHIPAAAA2hF0ZXN0X3Rhcl9iejJfZmlsZU0AAAByJQAAAHoZVGVz dFRhci50ZXN0X3Rhcl9iejJfZmlsZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAADzEgAAAHwAagBk AWQCZAONAgEAZABTACkETnoMdC50YXIubHouZm9vVHIiAAAAcgorKwAAAHIMAAAAcg4AAAByDgAA AHIPAAAA2hJ0ZXN0X3Rhcl9semlwX2ZpbGVbAAAAcwIAAAASBHoaVGVzdFRhci50ZXN0X3Rhcl9s emlwX2ZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcikAAAApBE56DHQudGFyLnh6LmZvb1Ry IgAAAHIKKysAAAByDAAAAHIOAAAAcg4AAAByDwAAANoQdGVzdF90YXJfeHpfZmlsZWEAAABzAgAA ABIDehhUZXN0VGFyLnRlc3RfdGFyX3h6X2ZpbGVOKRPaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/a DF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIFAAAAchAAAAByBgAAAHITAAAAchUAAAByFwAAAHIaAAAA ch0AAAByHwAAAHIkAAAAciYAAAByJwAAAHIoAAAAcioAAAByKwAAAHIOAAAAcg4AAAByDgAAAHIP AAAAcgcAAAATAAAAc0oAAAAIAAQCBgIKKysBCAQKKysBBgQGAQwBCAQKKysBCAQKKysBBgUGAQwB CAMKKysBBgMGAQwBBgQIAQwBBgQIAQwBBgQIAQwBBgwGAQgBDgEGAwgBEAFyBwAAACkL2ghidWls dGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27a B3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIGAAAAcgcAAAByDgAAAHIOAAAAcg4A AAByDwAAANoIPG1vZHVsZT4BAAAAcwYAAAAmDxABFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5 Y2FjaGVfXy90ZXN0X3VuYWNlLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVw c3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3VuYWNl LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90 ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3VuYWNlLmNweXRob24tMzEwLXB5dGVzdC02 LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wt dXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfdW5h Y2UuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3Njgz MjI4NSArMDEwMAorQEAgLTAsMCArMSwxNyBAQAorK28NDQorKwAAAACaTZtWhQUAAOMAAAAAAAAA AAAAAAAAAAAABAAAAEAAAABzRgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQda BwEAZARkBWwGbQhaCAEARwBkBmQHhABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAAKQHaC0FyY2hp dmVUZXN06QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAA AGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MA KQjaCVRlc3RVbmFjZdoFdW5hY2VjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAA80AAAAB8AKAAZAGh AQEAfACgAWQBoQEBAHwAoAJkAaEBAQB8AKAAZAKhAQEAfACgAWQCoQEBAHwAoAJkAqEBAQBkAFMA KQNOegV0LmFjZXoFdC5jYmGpA9oMYXJjaGl2ZV9saXN02gxhcmNoaXZlX3Rlc3TaD2FyY2hpdmVf ZXh0cmFjdKkB2gRzZWxmqQByDwAAAPo7L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rl c3RzL2FyY2hpdmVzL3Rlc3RfdW5hY2UucHnaCisrdGVzdF91bmFjZRcAAABzDAAAAAorKwIKKysB CisrAQorKwEKKysBDgF6FFRlc3RVbmFjZS50ZXN0X3VuYWNl2gRmaWxlYwEAAAAAAAAAAAAAAAEA AAADAAAAQwAAAHIIAAAAKQNOegl0LmFjZS5mb296CXQuY2JhLmZvb3IJAAAAcg0AAAByDwAAAHIP AAAAchAAAADaD3Rlc3RfdW5hY2VfZmlsZSAAAABzDAAAAAorKwMKKysBCisrAQorKwEKKysBDgF6 GVRlc3RVbmFjZS50ZXN0X3VuYWNlX2ZpbGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9f cXVhbG5hbWVfX9oHcHJvZ3JhbXIFAAAAchEAAAByEwAAAHIPAAAAcg8AAAByDwAAAHIQAAAAcgYA AAATAAAAcw4AAAAIAAQCBgIKKysBBggGARABcgYAAAApCisr2ghidWlsdGluc9oMQHB5X2J1aWx0 aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5 dGVzdF9hctoAcgMAAAByBQAAAHIGAAAAcg8AAAByDwAAAHIPAAAAchAAAADaCDxtb2R1bGU+AQAA AHMGAAAAJg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0 b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF91bmFkZi5j cHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQv dGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF91bmFkZi5jcHl0aG9uLTMxMC1weXRlc3Qt Ni4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF91bmFkZi5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEg MDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hl ZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3VuYWRmLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAg KzEsOSBAQAorK28NDQorKwAAAACaTZtWSwUAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzSgAA AGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCG0JWgkBAEcA ZAZkB4QAZAdlB4MDWgorK2QBUwApCOkAAAAATukBAAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAtoN bmVlZHNfcHJvZ3JhbdoOc2tpcF9vbl90cmF2aXNjAAAAAAAAAAAAAAAAAAAAAAUAAABAAAAAc0QA AABlAFoBZABaAmQBWgNlBIMAZQVlA4MBZAJkA4QAgwGDAVoGZQSDAGUFZASDAWUFZQODAWQFZAaE AIMBgwGDAVoHZAdTACkI2glUZXN0VW5hZGbaBXVuYWRmYwEAAAAAAAAAAAAAAAEAAAAEAAAAQwAA APMmAAAAfABqAGQBZABkAo0CAQB8AKABZAGhAQEAfACgAmQBoQEBAGQAUwApA056BXQuYWRmqQHa BWNoZWNrKQPaD2FyY2hpdmVfZXh0cmFjdNoMYXJjaGl2ZV9saXN02gxhcmNoaXZlX3Rlc3SpAdoE c2VsZqkAchEAAAD6Oy9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZl cy90ZXN0X3VuYWRmLnB52gorK3Rlc3RfdW5hZGYYAAAAcwYAAAAOAworKwEOAXoUVGVzdFVuYWRm LnRlc3RfdW5hZGbaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcgkAAAApA056CXQuYWRm LmZvb3IKKysAAAApA3IMAAAAcg4AAAByDQAAAHIPAAAAchEAAAByEQAAAHISAAAA2g90ZXN0X3Vu YWRmX2ZpbGUgAAAAcwYAAAAOBAorKwEOAXoZVGVzdFVuYWRmLnRlc3RfdW5hZGZfZmlsZU4pCNoI X19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgYAAAByBQAAAHIT AAAAchUAAAByEQAAAHIRAAAAchEAAAByEgAAAHIHAAAAEwAAAHMSAAAACAAEAgQDBgEMAQQGBgEG ARIBcgcAAAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3 cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgUAAAByBgAAAHIH AAAAchEAAAByEQAAAHIRAAAAchIAAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8QARQCCitcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF91bmFsei5jcHl0aG9uLTMxMC1weXRlc3QtNi4y LjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF91bmFsei5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29s LXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF91bmFsei5jcHl0 aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICsw MTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5 Y2FjaGVfXy90ZXN0X3VuYWx6LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0w MiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAgKzEsOCBAQAorK28NDQorKwAAAACa TZtW1AQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzRgAAAGQAZAFsAFoBZABkAWwCbQMCAAEA bQRaBQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBkBmQHhABkB2UHgwNaCWQBUwApCOkAAAAA TukBAAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVlZHNfcHJvZ3JhbWMAAAAAAAAAAAAAAAAA AAAAAwAAAEAAAABzIAAAAGUAWgFkAFoCZAFaA2UEZQODAWQCZAOEAIMBWgVkBFMAKQXaCVRlc3RV bmFsetoFdW5hbHpjAQAAAAAAAAAAAAAAAQAAAAMAAABDAAAAcyIAAAB8AKAAZAGhAQEAfACgAWQB oQEBAHwAoAJkAaEBAQBkAFMAKQJOegV0LmFseikD2gxhcmNoaXZlX3Rlc3TaDGFyY2hpdmVfbGlz dNoPYXJjaGl2ZV9leHRyYWN0KQHaBHNlbGapAHIMAAAA+jsvYnVpbGRkaXIvcGF0b29sLXVwc3Ry ZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF91bmFsei5wedoKKyt0ZXN0X3VuYWx6FwAAAHMG AAAACisrAgorKwEOAXoUVGVzdFVuYWx6LnRlc3RfdW5hbHpOKQbaCF9fbmFtZV9f2gorK19fbW9k dWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIFAAAAcg4AAAByDAAAAHIMAAAAcgwAAAByDQAA AHIGAAAAEwAAAHMIAAAACAAEAgYCDgFyBgAAACkKKyvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPa GV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0 X2Fy2gByAwAAAHIFAAAAcgYAAAByDAAAAHIMAAAAcgwAAAByDQAAANoIPG1vZHVsZT4BAAAAcwYA AAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wt dXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3VuY29tcHJlc3Ny ZWFsLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0 Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3VuY29tcHJlc3NyZWFsLmNweXRo b24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9h cmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3VuY29tcHJlc3NyZWFsLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRv b2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rf dW5jb21wcmVzc3JlYWwuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkyMDIxLTEyLTAyIDIy OjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAsMCArMSw3IEBACisrbw0NCisrAAAAAJpNm1Zu BAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNKAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoF AQBkAmQDbAZtB1oHbQhaCAEAZARkBWwGbQlaCQEARwBkBmQHhABkB2UHgwNaCisrZAFTACkI6QAA AABO6QEAAAApAtoLQXJjaGl2ZVRlc3TaB0NvbnRlbnTpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAA AAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFaBWUE ZASDAWUEZQODAWQFZAaEAIMBgwFaBmQHUwApCNoSVGVzdFVuY29tcHJlc3NSZWFseg91bmNvbXBy ZXNzLnJlYWxjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAA8xQAAAB8AGoAZAF0AWoCZAKNAgEAZABT ACkDTnoHdC50eHQuWqkB2gVjaGVja6kD2g9hcmNoaXZlX2V4dHJhY3RyBAAAANoKKytTaW5nbGVm aWxlqQHaBHNlbGapAHIQAAAA+kQvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMv YXJjaGl2ZXMvdGVzdF91bmNvbXByZXNzcmVhbC5wedoPdGVzdF91bmNvbXByZXNzFwAAAHMCAAAA FAJ6IlRlc3RVbmNvbXByZXNzUmVhbC50ZXN0X3VuY29tcHJlc3PaBGZpbGVjAQAAAAAAAAAAAAAA AQAAAAQAAABDAAAAcggAAAApA056C3QudHh0LlouZm9vcgkAAAByCwAAAHIOAAAAchAAAAByEAAA AHIRAAAA2hR0ZXN0X3VuY29tcHJlc3NfZmlsZRsAAABzAgAAABQDeidUZXN0VW5jb21wcmVzc1Jl YWwudGVzdF91bmNvbXByZXNzX2ZpbGVOKQfaCF9fbmFtZV9f2gorK19fbW9kdWxlX1/aDF9fcXVh bG5hbWVfX9oHcHJvZ3JhbXIGAAAAchIAAAByFAAAAHIQAAAAchAAAAByEAAAAHIRAAAAcgcAAAAT AAAAcw4AAAAIAAQCBgIKKysBBgMGARABcgcAAAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZ X3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3Rf YXLaAHIDAAAAcgQAAAByBgAAAHIHAAAAchAAAAByEAAAAHIQAAAAchEAAADaCDxtb2R1bGU+AQAA AHMGAAAAKg8MARQCCitcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0 b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF91bnJhci5j cHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQv dGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF91bnJhci5jcHl0aG9uLTMxMC1weXRlc3Qt Ni4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNh Y2hlX18vdGVzdF91bnJhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEg MDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hl ZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3VucmFyLmNweXRob24tMzEwLXB5dGVz dC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41NzY4MzIyODUgKzAxMDAKK0BAIC0wLDAg KzEsOSBAQAorK28NDQorKwAAAACaTZtWWAQAAOMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzRgAA AGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaBwEAZARkBWwGbQhaCAEARwBkBmQH hABkB2UHgwNaCWQBUwApCOkAAAAATukBAAAAKQHaC0FyY2hpdmVUZXN06QIAAAApAdoNbmVlZHNf cHJvZ3JhbWMAAAAAAAAAAAAAAAAAAAAABAAAAEAAAABzOAAAAGUAWgFkAFoCZAFaA2UEZQODAWQC ZAOEAIMBWgVlBGQEgwFlBGUDgwFkBWQGhACDAYMBWgZkB1MAKQjaCVRlc3RVbnJhctoFdW5yYXJj AQAAAAAAAAAAAAAAAQAAAAMAAABDAAAA8xgAAAB8AKAAZAGhAQEAfACgAWQBoQEBAGQAUwApAk56 BXQucmFyqQLaDGFyY2hpdmVfbGlzdNoPYXJjaGl2ZV9leHRyYWN0qQHaBHNlbGapAHIOAAAA+jsv YnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF91bnJhci5w edoKKyt0ZXN0X3VucmFyFwAAAHMEAAAACisrAg4BehRUZXN0VW5yYXIudGVzdF91bnJhctoEZmls ZWMBAAAAAAAAAAAAAAABAAAAAwAAAEMAAAByCAAAACkCTnoJdC5yYXIuZm9vcgkAAAByDAAAAHIO AAAAcg4AAAByDwAAANoPdGVzdF91bnJhcl9maWxlHAAAAHMEAAAACisrAw4BehlUZXN0VW5yYXIu dGVzdF91bnJhcl9maWxlTikH2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/a B3Byb2dyYW1yBQAAAHIQAAAAchIAAAByDgAAAHIOAAAAcg4AAAByDwAAAHIGAAAAEwAAAHMOAAAA CAAEAgYCCisrAQYEBgEQAXIGAAAAKQorK9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVz dC5hc3NlcnRpb24ucmV3cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHID AAAAcgUAAAByBgAAAHIOAAAAcg4AAAByDgAAAHIPAAAA2gg8bW9kdWxlPgEAAABzBgAAACYPDAEU AgorXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVh bS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfdW5zaGFyLmNweXRob24tMzEw LXB5dGVzdC02LjIuNS5weWMgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNo aXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3Vuc2hhci5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHlj CistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVz dF91bnNoYXIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAw LjAwMDAwMDAwMCArMDEwMAorKysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMv YXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF91bnNoYXIuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41 LnB5YwkyMDIxLTEyLTAyIDIyOjIzOjEwLjU3NjgzMjI4NSArMDEwMAorQEAgLTAsMCArMSw2IEBA Cisrbw0NCisrAAAAAJpNm1acAwAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNGAAAAZABkAWwA WgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIAQBHAGQGZAeEAGQHZQeD A1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB2g1uZWVkc19wcm9ncmFt YwAAAAAAAAAAAAAAAAAAAAADAAAAQAAAAHMgAAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFa BWQEUwApBdoKKytUZXN0VW5zaGFy2gZ1bnNoYXJjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcxIA AAB8AGoAZAFkAGQCjQIBAGQAUwApA056BnQuc2hhcikB2gVjaGVjaykB2g9hcmNoaXZlX2V4dHJh Y3QpAdoEc2VsZqkAcgsAAAD6PC9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9h cmNoaXZlcy90ZXN0X3Vuc2hhci5wedoLdGVzdF91bnNoYXIXAAAAcwIAAAASAnoWVGVzdFVuc2hh ci50ZXN0X3Vuc2hhck4pBtoIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdw cm9ncmFtcgUAAAByDQAAAHILAAAAcgsAAAByCwAAAHIMAAAAcgYAAAATAAAAcwgAAAAIAAQCBgIO AXIGAAAAKQorK9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3 cml0ZdoJYXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgUAAAByBgAAAHIL AAAAcgsAAAByCwAAAHIMAAAA2gg8bW9kdWxlPgEAAABzBgAAACYPDAEUAgorXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlCitkaWZmIC1OYXVyIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2Fy Y2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfdW56aXAuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5 YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9f L3Rlc3RfdW56aXAuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0 cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfdW56aXAuY3B5dGhvbi0z MTAtcHl0ZXN0LTYuMi41LnB5YwkxOTcwLTAxLTAxIDAxOjAwOjAwLjAwMDAwMDAwMCArMDEwMAor KysrIHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hl X18vdGVzdF91bnppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6 MjM6MTAuNTc3ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDI2IEBACisrbw0NCisrAAAAAJpNm1ax CAAA4wAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHNGAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoF AQBkAmQDbAZtB1oHAQBkBGQFbAZtCFoIAQBHAGQGZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEA AAApAdoLQXJjaGl2ZVRlc3TpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAE AAAAQAAAAHM4AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaE AIMBgwFaBmQHUwApCNoJVGVzdFVuemlw2gV1bnppcGMBAAAAAAAAAAAAAAABAAAABAAAAEMAAADz rgAAAHwAagBkAWQAZAKNAgEAfACgAWQBoQEBAHwAoAJkAaEBAQB8AGoAZANkAGQCjQIBAHwAoAFk A6EBAQB8AKACZAOhAQEAfABqAGQEZABkAo0CAQB8AKABZAShAQEAfACgAmQEoQEBAHwAagBkBWQA ZAKNAgEAfACgAWQFoQEBAHwAoAJkBaEBAQB8AGoAZAZkAGQCjQIBAHwAoAFkBqEBAQB8AKACZAah AQEAZABTACkHTnoFdC56aXCpAdoFY2hlY2t6BXQuY2J6egV0LmphcnoGdC5lcHViegV0LmFwa6kD 2g9hcmNoaXZlX2V4dHJhY3TaDGFyY2hpdmVfbGlzdNoMYXJjaGl2ZV90ZXN0qQHaBHNlbGapAHIR AAAA+jsvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF91 bnppcC5wedoKKyt0ZXN0X3VuemlwFwAAAHMeAAAADgIKKysBCisrAQ4BCisrAQorKwEOAQorKwEK KysBDgEKKysBCisrAQ4BCisrAQ4BehRUZXN0VW56aXAudGVzdF91bnppcNoEZmlsZWMBAAAAAAAA AAAAAAABAAAABAAAAEMAAAByCAAAACkHTnoJdC56aXAuZm9vcgkAAAB6CXQuY2J6LmZvb3oJdC5q YXIuZm9vegorK3QuZXB1Yi5mb296CXQuYXBrLmZvb3ILAAAAcg8AAAByEQAAAHIRAAAAchIAAADa D3Rlc3RfdW56aXBfZmlsZSkAAABzHgAAAA4DCisrAQorKwEOAQorKwEKKysBDgEKKysBCisrAQ4B CisrAQorKwEOAQorKwEOAXoZVGVzdFVuemlwLnRlc3RfdW56aXBfZmlsZU4pB9oIX19uYW1lX1/a CisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgUAAAByEwAAAHIVAAAAchEAAABy EQAAAHIRAAAAchIAAAByBgAAABMAAABzDgAAAAgABAIGAgorKwEGEQYBEAFyBgAAACkKKyvaCGJ1 aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFzc2VydGlv btoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByEQAAAHIRAAAAchEAAABy EgAAANoIPG1vZHVsZT4BAAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls ZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2Fj aGVfXy90ZXN0X3hkbXMuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJl YW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfeGRtcy5jcHl0 aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMv YXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF94ZG1zLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5w eWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJl YW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfeGRtcy5jcHl0 aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3ODMyMzAzICsw MTAwCitAQCAtMCwwICsxLDYgQEAKKytvDQ0KKysAAAAAmk2bVs8EAADjAAAAAAAAAAAAAAAAAAAA AAQAAABAAAAAc0YAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgcBAGQEZAVs Bm0IWggBAEcAZAZkB4QAZAdlB4MDWglkAVMAKQjpAAAAAE7pAQAAACkB2gtBcmNoaXZlVGVzdOkC AAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAAAAAAAAMAAABAAAAAcyAAAABlAFoBZABa AmQBWgNlBGUDgwFkAmQDhACDAVoFZARTACkF2ghUZXN0WGRtc9oEeGRtc2MBAAAAAAAAAAAAAAAB AAAABAAAAEMAAABzJgAAAHwAagBkAWQAZAKNAgEAfACgAWQBoQEBAHwAoAJkAaEBAQBkAFMAKQNO egV0LmRtcykB2gVjaGVjaykD2g9hcmNoaXZlX2V4dHJhY3TaDGFyY2hpdmVfbGlzdNoMYXJjaGl2 ZV90ZXN0KQHaBHNlbGapAHINAAAA+jovYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvdGVzdF94ZG1zLnB52gl0ZXN0X3hkbXMXAAAAcwYAAAAOAgorKwEOAXoSVGVz dFhkbXMudGVzdF94ZG1zTikG2ghfX25hbWVfX9oKKytfX21vZHVsZV9f2gxfX3F1YWxuYW1lX1/a B3Byb2dyYW1yBQAAAHIPAAAAcg0AAAByDQAAAHINAAAAcg4AAAByBgAAABMAAABzCAAAAAgABAIG Ag4BcgYAAAApCisr2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5y ZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9hctoAcgMAAAByBQAAAHIGAAAA cg0AAAByDQAAAHINAAAAcg4AAADaCDxtb2R1bGU+AQAAAHMGAAAAJg8MARQCCitcIE5vIG5ld2xp bmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMv YXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF94ei5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHlj IHBhdG9vbC11cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18v dGVzdF94ei5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFt LTEuMTIvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF94ei5jcHl0aG9uLTMxMC1weXRl c3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0 b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0 X3h6LmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4 MzIzMDMgKzAxMDAKK0BAIC0wLDAgKzEsMTEgQEAKKytvDQ0KKysAAAAAmk2bVlYFAADjAAAAAAAA AAAAAAAAAAAAAAQAAABAAAAAc0oAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0H WgdtCFoIAQBkBGQFbAZtCVoJAQBHAGQGZAeEAGQHZQeDA1oKKytkAVMAKQjpAAAAAE7pAQAAACkC 2gtBcmNoaXZlVGVzdNoHQ29udGVudOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAA AAAAAAQAAABAAAAAc0gAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQRkBIMBZQRlA4MB ZAVkBoQAgwGDAVoGZQRlA4MBZAdkCIQAgwFaB2QJUwApCisr2gZUZXN0WHraAnh6YwEAAAAAAAAA AAAAAAEAAAAEAAAAQwAAAHMUAAAAfABqAGQBdAFqAmQCjQIBAGQAUwApA056CHQudHh0Lnh6qQHa BWNoZWNrKQPaEGFyY2hpdmVfY29tbWFuZHNyBAAAANoKKytTaW5nbGVmaWxlqQHaBHNlbGapAHIP AAAA+jgvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2ZXMvdGVzdF94 ei5wedoHdGVzdF94ehcAAABzAgAAABQCeg5UZXN0WHoudGVzdF94etoEZmlsZWMBAAAAAAAAAAAA AAABAAAABAAAAEMAAABzHgAAAHwAoABkAaEBAQB8AGoBZAF0AmoDZAKNAgEAZABTACkDTnoMdC50 eHQueHouZm9vcgkAAAApBNoMYXJjaGl2ZV90ZXN02g9hcmNoaXZlX2V4dHJhY3RyBAAAAHIMAAAA cg0AAAByDwAAAHIPAAAAchAAAADaDHRlc3RfeHpfZmlsZRsAAABzBAAAAAorKwMUAXoTVGVzdFh6 LnRlc3RfeHpfZmlsZWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzLgAAAHwAoABkAaEBAQB8AGoB ZAF0AmoDZAKNAgEAfABqBGQBdAJqA2QCjQIBAGQAUwApA056CisrdC50eHQubHptYXIJAAAAKQVy EwAAAHIUAAAAcgQAAAByDAAAANoOYXJjaGl2ZV9jcmVhdGVyDQAAAHIPAAAAcg8AAAByEAAAANoJ dGVzdF9sem1hIQAAAHMGAAAACisrAhABFAF6EFRlc3RYei50ZXN0X2x6bWFOKQjaCF9fbmFtZV9f 2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIGAAAAchEAAAByFQAAAHIXAAAA cg8AAAByDwAAAHIPAAAAchAAAAByBwAAABMAAABzEgAAAAgABAIGAgorKwEGAwYBDAEGBA4BcgcA AAApC9oIYnVpbHRpbnPaDEBweV9idWlsdGluc9oZX3B5dGVzdC5hc3NlcnRpb24ucmV3cml0ZdoJ YXNzZXJ0aW9u2gdyZXdyaXRl2gorK0BweXRlc3RfYXLaAHIDAAAAcgQAAAByBgAAAHIHAAAAcg8A AAByDwAAAHIPAAAAchAAAADaCDxtb2R1bGU+AQAAAHMGAAAAKg8MARQCCitcIE5vIG5ld2xpbmUg YXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJj aGl2ZXMvX19weWNhY2hlX18vdGVzdF96aXAuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rl c3RfemlwLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRvb2wtdXBzdHJlYW0t MS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3ppcC5jcHl0aG9uLTMxMC1weXRl c3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAwICswMTAwCisrKysgcGF0 b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0 X3ppcC5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3 ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDIyIEBACisrbw0NCisrAAAAAJpNm1blBQAA4wAAAAAA AAAAAAAAAAAAAAAEAAAAQAAAAHNGAAAAZABkAWwAWgFkAGQBbAJtAwIAAQBtBFoFAQBkAmQDbAZt B1oHAQBkBGQFbAZtCFoIAQBHAGQGZAeEAGQHZQeDA1oJZAFTACkI6QAAAABO6QEAAAApAdoLQXJj aGl2ZVRlc3TpAgAAACkB2g1uZWVkc19wcm9ncmFtYwAAAAAAAAAAAAAAAAAAAAAEAAAAQAAAAHM4 AAAAZQBaAWQAWgJkAVoDZQRlA4MBZAJkA4QAgwFaBWUEZASDAWUEZQODAWQFZAaEAIMBgwFaBmQH UwApCNoHVGVzdFppcNoDemlwYwEAAAAAAAAAAAAAAAEAAAADAAAAQwAAAHNoAAAAfACgAGQBoQEB AHwAoAFkAaEBAQB8AKAAZAKhAQEAfACgAWQCoQEBAHwAoABkA6EBAQB8AKABZAOhAQEAfACgAGQE oQEBAHwAoAFkBKEBAQB8AKAAZAWhAQEAfACgAWQFoQEBAGQAUwApBk56BXQuemlwegV0LmNienoF dC5hcGt6BXQuamFyegZ0LmVwdWIpAtoOYXJjaGl2ZV9jcmVhdGXaDGFyY2hpdmVfdGVzdKkB2gRz ZWxmqQByDAAAAPo5L2J1aWxkZGlyL3BhdG9vbC11cHN0cmVhbS0xLjEyL3Rlc3RzL2FyY2hpdmVz L3Rlc3RfemlwLnB52gh0ZXN0X3ppcBcAAABzFAAAAAorKwIKKysBCisrAQorKwEKKysBCisrAQor KwEKKysBCisrAQ4BehBUZXN0WmlwLnRlc3Rfemlw2gRmaWxlYwEAAAAAAAAAAAAAAAEAAAADAAAA QwAAAHM2AAAAfACgAGQBoQEBAHwAoABkAqEBAQB8AKAAZAOhAQEAfACgAGQEoQEBAHwAoABkBaEB AQBkAFMAKQZOegl0LnppcC5mb296CXQuY2J6LmZvb3oJdC5hcGsuZm9vegl0Lmphci5mb296Cisr dC5lcHViLmZvbykBcgkAAAByCisrAAAAcgwAAAByDAAAAHINAAAA2g10ZXN0X3ppcF9maWxlJAAA AHMKKysAAAAKKysDCisrAQorKwEKKysBDgF6FVRlc3RaaXAudGVzdF96aXBfZmlsZU4pB9oIX19u YW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgUAAAByDgAAAHIQAAAA cgwAAAByDAAAAHIMAAAAcg0AAAByBgAAABMAAABzDgAAAAgABAIGAgorKwEGDAYBEAFyBgAAACkK KyvaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXaCWFz c2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIFAAAAcgYAAAByDAAAAHIMAAAA cgwAAAByDQAAANoIPG1vZHVsZT4BAAAAcwYAAAAmDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQg b2YgZmlsZQorZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9f X3B5Y2FjaGVfXy90ZXN0X3pvby5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljIHBhdG9vbC11 cHN0cmVhbS0xLjEyLXBhdGNoZWQvdGVzdHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF96b28u Y3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YworLS0tIHBhdG9vbC11cHN0cmVhbS0xLjEyL3Rl c3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rfem9vLmNweXRob24tMzEwLXB5dGVzdC02LjIu NS5weWMJMTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBz dHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3Rfem9vLmNw eXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJMjAyMS0xMi0wMiAyMjoyMzoxMC41Nzc4MzIzMDMg KzAxMDAKK0BAIC0wLDAgKzEsNyBAQAorK28NDQorKwAAAACaTZtW5gQAAOMAAAAAAAAAAAAAAAAA AAAABAAAAEAAAABzTgAAAGQAZAFsAFoBZABkAWwCbQMCAAEAbQRaBQEAZAJkA2wGbQdaB20IWggB AGQEZAVsBm0JWgltCisrWgorKwEARwBkBmQHhABkB2UHgwNaC2QBUwApCOkAAAAATukBAAAAKQLa C0FyY2hpdmVUZXN02gdDb250ZW506QIAAAApAtoNbmVlZHNfcHJvZ3JhbdoOc2tpcF9vbl90cmF2 aXNjAAAAAAAAAAAAAAAAAAAAAAUAAABAAAAAc0QAAABlAFoBZABaAmQBWgNlBIMAZQVlA4MBZAJk A4QAgwGDAVoGZQSDAGUFZASDAWUFZQODAWQFZAaEAIMBgwGDAVoHZAdTACkI2gdUZXN0Wm9v2gN6 b29jAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcxQAAAB8AGoAZAF0AWoCZAKNAgEAZABTACkDTnoF dC56b28pAdoFY2hlY2upA9oQYXJjaGl2ZV9jb21tYW5kc3IEAAAA2glNdWx0aWZpbGWpAdoEc2Vs ZqkAchAAAAD6OS9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy90 ZXN0X3pvby5wedoIdGVzdF96b28YAAAAcwIAAAAUA3oQVGVzdFpvby50ZXN0X3pvb9oEZmlsZWMB AAAAAAAAAAAAAAABAAAABQAAAEMAAABzFgAAAHwAagBkAWQCdAFqAmQDjQMBAGQAUwApBE56CXQu em9vLmZvb1QpAtoLc2tpcF9jcmVhdGVyCisrAAAAcgsAAAByDgAAAHIQAAAAchAAAAByEQAAANoN dGVzdF96b29fZmlsZR4AAABzAgAAABYEehVUZXN0Wm9vLnRlc3Rfem9vX2ZpbGVOKQjaCF9fbmFt ZV9f2gorK19fbW9kdWxlX1/aDF9fcXVhbG5hbWVfX9oHcHJvZ3JhbXIHAAAAcgYAAAByEgAAAHIV AAAAchAAAAByEAAAAHIQAAAAchEAAAByCAAAABMAAABzEgAAAAgABAIEAwYBDAEEBAYBBgESAXII AAAAKQzaCGJ1aWx0aW5z2gxAcHlfYnVpbHRpbnPaGV9weXRlc3QuYXNzZXJ0aW9uLnJld3JpdGXa CWFzc2VydGlvbtoHcmV3cml0ZdoKKytAcHl0ZXN0X2Fy2gByAwAAAHIEAAAAcgYAAAByBwAAAHII AAAAchAAAAByEAAAAHIQAAAAchEAAADaCDxtb2R1bGU+AQAAAHMGAAAAKg8QARQCCitcIE5vIG5l d2xpbmUgYXQgZW5kIG9mIGZpbGUKK2RpZmYgLU5hdXIgcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVz dHMvYXJjaGl2ZXMvX19weWNhY2hlX18vdGVzdF96b3BmbGkuY3B5dGhvbi0zMTAtcHl0ZXN0LTYu Mi41LnB5YyBwYXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHlj YWNoZV9fL3Rlc3Rfem9wZmxpLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMKKy0tLSBwYXRv b2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVfXy90ZXN0X3pvcGZsaS5j cHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTE5NzAtMDEtMDEgMDE6MDA6MDAuMDAwMDAwMDAw ICswMTAwCisrKysgcGF0b29sLXVwc3RyZWFtLTEuMTItcGF0Y2hlZC90ZXN0cy9hcmNoaXZlcy9f X3B5Y2FjaGVfXy90ZXN0X3pvcGZsaS5jcHl0aG9uLTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEt MTItMDIgMjI6MjM6MTAuNTc3ODMyMzAzICswMTAwCitAQCAtMCwwICsxLDkgQEAKKytvDQ0KKysA AAAAmk2bVlMEAADjAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAc0oAAABkAGQBbABaAWQAZAFsAm0D AgABAG0EWgUBAGQCZANsBm0HWgdtCFoIAQBkBGQFbAZtCVoJAQBHAGQGZAeEAGQHZQeDA1oKKytk AVMAKQjpAAAAAE7pAQAAACkC2gtBcmNoaXZlVGVzdNoHQ29udGVudOkCAAAAKQHaDW5lZWRzX3By b2dyYW1jAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAAczgAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQD hACDAVoFZQRkBIMBZQRlA4MBZAVkBoQAgwGDAVoGZAdTACkI2gorK1Rlc3Rab3BmbGnaBnpvcGZs aWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAADzFAAAAHwAagBkAXQBagJkAo0CAQBkAFMAKQNOegh0 LnR4dC5neqkB2gVjaGVja6kD2g9hcmNoaXZlX2V4dHJhY3RyBAAAANoKKytTaW5nbGVmaWxlqQHa BHNlbGapAHIRAAAA+jwvYnVpbGRkaXIvcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJjaGl2 ZXMvdGVzdF96b3BmbGkucHnaC3Rlc3Rfem9wZmxpFwAAAHMCAAAAFAJ6FlRlc3Rab3BmbGkudGVz dF96b3BmbGnaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcgkAAAApA056DHQudHh0Lmd6 LmZvb3IKKysAAAByDAAAAHIPAAAAchEAAAByEQAAAHISAAAA2hB0ZXN0X3pvcGZsaV9maWxlGwAA AHMCAAAAFAN6G1Rlc3Rab3BmbGkudGVzdF96b3BmbGlfZmlsZU4pB9oIX19uYW1lX1/aCisrX19t b2R1bGVfX9oMX19xdWFsbmFtZV9f2gdwcm9ncmFtcgYAAAByEwAAAHIVAAAAchEAAAByEQAAAHIR AAAAchIAAAByBwAAABMAAABzDgAAAAgABAIGAgorKwEGAwYBEAFyBwAAACkL2ghidWlsdGluc9oM QHB5X2J1aWx0aW5z2hlfcHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3Jp dGXaCisrQHB5dGVzdF9hctoAcgMAAAByBAAAAHIGAAAAcgcAAAByEQAAAHIRAAAAchEAAAByEgAA ANoIPG1vZHVsZT4BAAAAcwYAAAAqDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor ZGlmZiAtTmF1ciBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0cy9hcmNoaXZlcy9fX3B5Y2FjaGVf Xy90ZXN0X3pwYXEuY3B5dGhvbi0zMTAtcHl0ZXN0LTYuMi41LnB5YyBwYXRvb2wtdXBzdHJlYW0t MS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfenBhcS5jcHl0aG9u LTMxMC1weXRlc3QtNi4yLjUucHljCistLS0gcGF0b29sLXVwc3RyZWFtLTEuMTIvdGVzdHMvYXJj aGl2ZXMvX19weWNhY2hlX18vdGVzdF96cGFxLmNweXRob24tMzEwLXB5dGVzdC02LjIuNS5weWMJ MTk3MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrKyBwYXRvb2wtdXBzdHJlYW0t MS4xMi1wYXRjaGVkL3Rlc3RzL2FyY2hpdmVzL19fcHljYWNoZV9fL3Rlc3RfenBhcS5jcHl0aG9u LTMxMC1weXRlc3QtNi4yLjUucHljCTIwMjEtMTItMDIgMjI6MjM6MTAuNTc3ODMyMzAzICswMTAw CitAQCAtMCwwICsxLDggQEAKKytvDQ0KKysAAAAAmk2bVpYEAADjAAAAAAAAAAAAAAAAAAAAAAQA AABAAAAAc0oAAABkAGQBbABaAWQAZAFsAm0DAgABAG0EWgUBAGQCZANsBm0HWgdtCFoIAQBkBGQF bAZtCVoJAQBHAGQGZAeEAGQHZQeDA1oKKytkAVMAKQjpAAAAAE7pAQAAACkC2gtBcmNoaXZlVGVz dNoHQ29udGVudOkCAAAAKQHaDW5lZWRzX3Byb2dyYW1jAAAAAAAAAAAAAAAAAAAAAAQAAABAAAAA czgAAABlAFoBZABaAmQBWgNlBGUDgwFkAmQDhACDAVoFZQRkBIMBZQRlA4MBZAVkBoQAgwGDAVoG ZAdTACkI2ghUZXN0WnBhcdoEenBhcWMBAAAAAAAAAAAAAAABAAAABAAAAEMAAABzFAAAAHwAagBk AXQBagJkAo0CAQBkAFMAKQNOegZ0LnpwYXGpAdoFY2hlY2spA9oQYXJjaGl2ZV9jb21tYW5kc3IE AAAA2glNdWx0aWZpbGWpAdoEc2VsZqkAcg8AAAD6Oi9idWlsZGRpci9wYXRvb2wtdXBzdHJlYW0t MS4xMi90ZXN0cy9hcmNoaXZlcy90ZXN0X3pwYXEucHnaCXRlc3RfenBhcRcAAABzAgAAABQCehJU ZXN0WnBhcS50ZXN0X3pwYXHaBGZpbGVjAQAAAAAAAAAAAAAAAQAAAAQAAABDAAAAcygAAAB8AGoA ZAF0AWoCZAKNAgEAfACgA2QBoQEBAHwAoARkAaEBAQBkAFMAKQNOegorK3QuenBhcS5mb29yCQAA ACkF2g9hcmNoaXZlX2V4dHJhY3RyBAAAAHIMAAAA2gxhcmNoaXZlX3Rlc3TaDGFyY2hpdmVfbGlz dHINAAAAcg8AAAByDwAAAHIQAAAA2g50ZXN0X3pwYXFfZmlsZRsAAABzBgAAABADCisrAQ4BehdU ZXN0WnBhcS50ZXN0X3pwYXFfZmlsZU4pB9oIX19uYW1lX1/aCisrX19tb2R1bGVfX9oMX19xdWFs bmFtZV9f2gdwcm9ncmFtcgYAAAByEQAAAHIWAAAAcg8AAAByDwAAAHIPAAAAchAAAAByBwAAABMA AABzDgAAAAgABAIGAgorKwEGAwYBEAFyBwAAACkL2ghidWlsdGluc9oMQHB5X2J1aWx0aW5z2hlf cHl0ZXN0LmFzc2VydGlvbi5yZXdyaXRl2glhc3NlcnRpb27aB3Jld3JpdGXaCisrQHB5dGVzdF9h ctoAcgMAAAByBAAAAHIGAAAAcgcAAAByDwAAAHIPAAAAcg8AAAByEAAAANoIPG1vZHVsZT4BAAAA cwYAAAAqDwwBFAIKK1wgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorZGlmZiAtTmF1ciBwYXRv b2wtdXBzdHJlYW0tMS4xMi90ZXN0cy90ZXN0X21pbWUucHkgcGF0b29sLXVwc3RyZWFtLTEuMTIt cGF0Y2hlZC90ZXN0cy90ZXN0X21pbWUucHkKKy0tLSBwYXRvb2wtdXBzdHJlYW0tMS4xMi90ZXN0 cy90ZXN0X21pbWUucHkJMjAxNi0wMS0xNyAwOToxNToyMi4wMDAwMDAwMDAgKzAxMDAKKysrKyBw YXRvb2wtdXBzdHJlYW0tMS4xMi1wYXRjaGVkL3Rlc3RzL3Rlc3RfbWltZS5weQkyMDIxLTEyLTAy IDIyOjI4OjI4LjE3MDUwMDAwMSArMDEwMAorQEAgLTc4LDE1ICs3OCwxNSBAQAorICAgICAgICAg c2VsZi5taW1lX3Rlc3RfZmlsZSgidC50YXIuZm9vIiwgImFwcGxpY2F0aW9uL3gtdGFyIikKKyAg ICAgICAgIHNlbGYubWltZV90ZXN0X2ZpbGUoInQuY2J0IiwgImFwcGxpY2F0aW9uL3gtdGFyIikK KyAgICAgICAgIHNlbGYubWltZV90ZXN0X2ZpbGUoInQuY2J0LmZvbyIsICJhcHBsaWNhdGlvbi94 LXRhciIpCistICAgICAgICBzZWxmLm1pbWVfdGVzdF9maWxlKCJ0LnRhci5seiIsICJhcHBsaWNh dGlvbi94LXRhciIsICJsemlwIikKKysgICAgICAgICMgc2VsZi5taW1lX3Rlc3RfZmlsZSgidC50 YXIubHoiLCAiYXBwbGljYXRpb24veC10YXIiLCAibHppcCIpCisgICAgICAgICBzZWxmLm1pbWVf dGVzdF9maWxlKCJ0LnRhci5iejIiLCAiYXBwbGljYXRpb24veC10YXIiLCAiYnppcDIiKQorICAg ICAgICAgc2VsZi5taW1lX3Rlc3RfZmlsZSgidC50YnoyIiwgImFwcGxpY2F0aW9uL3gtdGFyIiwg ImJ6aXAyIikKKyAgICAgICAgIHNlbGYubWltZV90ZXN0X2ZpbGUoInQudGFyLmd6IiwgImFwcGxp Y2F0aW9uL3gtdGFyIiwgImd6aXAiKQorICAgICAgICAgc2VsZi5taW1lX3Rlc3RfZmlsZSgidC50 YXoiLCAiYXBwbGljYXRpb24veC10YXIiLCAiZ3ppcCIpCisgICAgICAgICBzZWxmLm1pbWVfdGVz dF9maWxlKCJ0LnRneiIsICJhcHBsaWNhdGlvbi94LXRhciIsICJnemlwIikKKy0gICAgICAgIHNl bGYubWltZV90ZXN0X2ZpbGUoInQudGFyLnh6IiwgImFwcGxpY2F0aW9uL3gtdGFyIiwgInh6IikK KysgICAgICAgICMgc2VsZi5taW1lX3Rlc3RfZmlsZSgidC50YXIueHoiLCAiYXBwbGljYXRpb24v eC10YXIiLCAieHoiKQorICAgICAgICAgc2VsZi5taW1lX3Rlc3RfZmlsZSgidC50YXIuWiIsICJh cHBsaWNhdGlvbi94LXRhciIsICJjb21wcmVzcyIpCistICAgICAgICBzZWxmLm1pbWVfdGVzdF9m aWxlKCJ0LnRhci5sem1hIiwgImFwcGxpY2F0aW9uL3gtdGFyIiwgImx6bWEiKQorKyAgICAgICAg IyBzZWxmLm1pbWVfdGVzdF9maWxlKCJ0LnRhci5sem1hIiwgImFwcGxpY2F0aW9uL3gtdGFyIiwg Imx6bWEiKQorICAgICAgICAgIyBmaWxlKDEpIGNhbm5vdCB1bmNvbXByZXNzIC5sem1hIGZpbGVz CisgICAgICAgICAjc2VsZi5taW1lX3Rlc3RfZmlsZSgidC50YXIubHptYS5mb28iLCAiYXBwbGlj YXRpb24veC10YXIiLCAibHptYSIpCisgICAgICAgICBzZWxmLm1pbWVfdGVzdF9maWxlKCJ0LnR4 dC54eiIsICJhcHBsaWNhdGlvbi94LXh6IikKZGlmZiAtLWdpdCBhL3NyY3BrZ3MvcHl0aG9uMy1w YXRvb2wvdGVtcGxhdGUgYi9zcmNwa2dzL3B5dGhvbjMtcGF0b29sL3RlbXBsYXRlCm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uYzNmNDM2N2UxNDcyCi0tLSAvZGV2L251 bGwKKysrIGIvc3JjcGtncy9weXRob24zLXBhdG9vbC90ZW1wbGF0ZQpAQCAtMCwwICsxLDE1IEBA CisjIFRlbXBsYXRlIGZpbGUgZm9yICdweXRob24zLXBhdG9vbCcKK3BrZ25hbWU9cHl0aG9uMy1w YXRvb2wKK3ZlcnNpb249MS4xMgorcmV2aXNpb249MQord3Jrc3JjPSJwYXRvb2wtdXBzdHJlYW0t JHt2ZXJzaW9ufSIKK2J1aWxkX3N0eWxlPXB5dGhvbjMtbW9kdWxlCitob3N0bWFrZWRlcGVuZHM9 InB5dGhvbjMtc2V0dXB0b29scyIKK21ha2VkZXBlbmRzPSJweXRob24zLWRldmVsIgorY2hlY2tk ZXBlbmRzPSJweXRob24zLXB5dGVzdCIKK3Nob3J0X2Rlc2M9IlBvcnRhYmxlIGFyY2hpdmUgZmls ZSBtYW5hZ2VyIgorbWFpbnRhaW5lcj0iYW5kcnktZGV2IDxwZWtldHJpYmFsMkBnbWFpbC5jb20+ IgorbGljZW5zZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL3d1bW1lbC5n aXRodWIuaW8vcGF0b29sIgorZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vd3VtbWVsL3Bh dG9vbC9hcmNoaXZlL3JlZnMvdGFncy91cHN0cmVhbS8ke3ZlcnNpb259LnRhci5neiIKK2NoZWNr c3VtPTU4MmZkNGI4N2MyNjMzMjU5NThjMTU1MDQwMDUwNDc5OTAxOGM4OGJjMzQ0NGYyNDliYmEz MDRhZTE3NDdmMWYKCkZyb20gODkzZTVkMjdlN2M2ZjQzODU3YmQyNGI5YTQzMDM5ZTA4MjI5NDhm ZCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogYW5kcnktZGV2IDxhbmRyeS1kZXZAdXNl cnMubm9yZXBseS5naXRodWIuY29tPgpEYXRlOiBUaHUsIDEwIERlYyAyMDIwIDA5OjU0OjM0ICsw MTAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIE5ldyBwYWNrYWdlOiBib3R0bGVzLTIwMjEuMTEuMjgK Ci0tLQogc3JjcGtncy9ib3R0bGVzL3RlbXBsYXRlIHwgMTYgKysrKysrKysrKysrKysrKwogMSBm aWxlIGNoYW5nZWQsIDE2IGluc2VydGlvbnMoKykKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L2JvdHRsZXMvdGVtcGxhdGUKCmRpZmYgLS1naXQgYS9zcmNwa2dzL2JvdHRsZXMvdGVtcGxhdGUg Yi9zcmNwa2dzL2JvdHRsZXMvdGVtcGxhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw MDAwMDAwMDAwLi41ODJhOTVhMTliZGIKLS0tIC9kZXYvbnVsbAorKysgYi9zcmNwa2dzL2JvdHRs ZXMvdGVtcGxhdGUKQEAgLTAsMCArMSwxNiBAQAorIyBUZW1wbGF0ZSBmaWxlIGZvciAnYm90dGxl cycKK3BrZ25hbWU9Ym90dGxlcwordmVyc2lvbj0yMDIxLjExLjI4CityZXZpc2lvbj0xCit3cmtz cmM9Qm90dGxlcy0ke3ZlcnNpb259LXRyZXZpc28KK2J1aWxkX3N0eWxlPW1lc29uCitob3N0bWFr ZWRlcGVuZHM9ImdldHRleHQgcGtnLWNvbmZpZyBnbGliLWRldmVsIgorbWFrZWRlcGVuZHM9InB5 dGhvbjMtZGV2ZWwgbGliaGFuZHkxLWRldmVsIgorZGVwZW5kcz0ibGliaGFuZHkxIHB5dGhvbjMt cGF0b29sIgorY2hlY2tkZXBlbmRzPSJkZXNrdG9wLWZpbGUtdXRpbHMgYXBwc3RyZWFtLWdsaWIi CitzaG9ydF9kZXNjPSJFYXNpbHkgbWFuYWdlIHdpbmVwcmVmaXggdXNpbmcgZW52aXJvbm1lbnRz IgorbWFpbnRhaW5lcj0iYW5kcnktZGV2IDxwZWtldHJpYmFsMkBnbWFpbC5jb20+IgorbGljZW5z ZT0iR1BMLTMuMC1vci1sYXRlciIKK2hvbWVwYWdlPSJodHRwczovL3VzZWJvdHRsZXMuY29tIgor ZGlzdGZpbGVzPSJodHRwczovL2dpdGh1Yi5jb20vYm90dGxlc2RldnMvQm90dGxlcy9hcmNoaXZl L3JlZnMvdGFncy8ke3ZlcnNpb259LXRyZXZpc28udGFyLmd6IgorY2hlY2tzdW09ZThkZTlmYzA2 OGU5Zjg0OTAxYjRkNGMxOTY0YzUzMzE2YzZlNGQ2OTk4ODViNjAyNzI3MmJkZGFiNjQ1ZDEwNAo= --===============2451022726077396562==--