Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ruuSx-008S6y-7S for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Apr 2024 13:27:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1ruuSw-000Rn0-CF for pgsql-hackers@arkaria.postgresql.org; Thu, 11 Apr 2024 13:27:46 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ruuSv-000Rms-Ou for pgsql-hackers@lists.postgresql.org; Thu, 11 Apr 2024 13:27:46 +0000 Received: from mail.postgrespro.ru ([93.174.131.139]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1ruuSr-000NT4-0p for pgsql-hackers@lists.postgresql.org; Thu, 11 Apr 2024 13:27:45 +0000 Received: from [172.30.11.66] (unknown [172.30.11.66]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) (Authenticated sender: d.koval@postgrespro.ru) by mail.postgrespro.ru (Postfix/587) with ESMTPSA id 5779FE20E92; Thu, 11 Apr 2024 16:27:39 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=postgrespro.ru; s=mx2023; t=1712842059; bh=o3G3e2Et2JtzfdP86rB7WR3CLfpSEqelJOeCgEtwiS8=; h=Message-ID:Date:User-Agent:Subject:To:Cc:References:From: In-Reply-To:From; b=Om8CVH8XV0ZTHcgwUpp0NVoOyO25oHGtHPsFEn5PWyjaAZf/k6s3N+pRJV7K3DlnZ tqT4XeHVI7F0hT7H4ldaszQwGuxHiIR3TJUrkzQRHkY5eFXIriapP16POmkK3uA6cB sNzfVc0zvx225hS+EQIFCCbvKW0/1+xfAvURaRf1Q7tj4k3FZwW7KJ8XuzJFyQU+vq qsf9JuapaO5OAgkbCAAITN30VBKK0O4cewgfIsvJ7i1NlCjkzH4VGoh+H3+GrqOPJu PkFoo00Z+ODJUaeWZ4erbXmYG24BXK/qCnIGmBtXOEvF2MMwsGcDBlHQt1CTR3VxkR ZhT5e8mSWdEGg== Content-Type: multipart/mixed; boundary="------------tcoDFzf3KZSLHVhmnu27pbun" Message-ID: Date: Thu, 11 Apr 2024 16:27:40 +0300 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Add SPLIT PARTITION/MERGE PARTITIONS commands To: Alexander Lakhin Cc: Alexander Korotkov , PostgreSQL Hackers References: <3a4b9c1c-3edf-4e29-9629-b4113aefb0f3@postgrespro.ru> <28ed1ee0-749d-9838-955e-abff42fc44be@gmail.com> <86bfd241-a58c-479a-9a72-2c67a02becf8@postgrespro.ru> Content-Language: en-US From: Dmitry Koval In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------tcoDFzf3KZSLHVhmnu27pbun Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi! 1. Alexander Lakhin sent a question about index name after MERGE (partition name is the same as one of the merged partitions): ----start of quote---- I'm also confused by an index name after MERGE: CREATE TABLE t (i int) PARTITION BY RANGE (i); CREATE TABLE tp_0_1 PARTITION OF t FOR VALUES FROM (0) TO (1); CREATE TABLE tp_1_2 PARTITION OF t FOR VALUES FROM (1) TO (2); CREATE INDEX tidx ON t(i); ALTER TABLE t MERGE PARTITIONS (tp_1_2, tp_0_1) INTO tp_1_2; \d+ t* Table "public.tp_1_2" Column | Type | Collation | Nullable | Default | Storage | Compression | Stats target | Description --------+---------+-----------+----------+---------+---------+-------------+--------------+------------- i | integer | | | | plain | | | Partition of: t FOR VALUES FROM (0) TO (2) Partition constraint: ((i IS NOT NULL) AND (i >= 0) AND (i < 2)) Indexes: "merge-16385-3A14B2-tmp_i_idx" btree (i) Is the name "merge-16385-3A14B2-tmp_i_idx" valid or it's something temporary? ----end of quote---- Fix for this case added to file v3-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.patch. ---- 2. >It seems to me that v2-0001-Fix-for-SPLIT-MERGE-partitions-of- >temporary-table.patch is not complete either. Added correction (and test), see v3-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.patch. -- With best regards, Dmitry Koval Postgres Professional: http://postgrespro.com --------------tcoDFzf3KZSLHVhmnu27pbun Content-Type: text/plain; charset=UTF-8; name="v3-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.patch" Content-Disposition: attachment; filename*0="v3-0001-Fix-for-SPLIT-MERGE-partitions-of-temporary-table.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA1OGViNGFiZDRmMDY1YjZhYTQyM2JiZGRmNjJhY2QxNzk5ZWJhMjJlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTg6NTQ6MDUgKzAzMDAKU3ViamVjdDog W1BBVENIIHYzIDEvMl0gRml4IGZvciBTUExJVC9NRVJHRSBwYXJ0aXRpb25zIG9mIHRlbXBv cmFyeSB0YWJsZQoKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYyAgICAg ICAgICAgICAgfCAzMCArKysrLS0tCiBzcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNt ZC5jICAgICAgICAgICAgfCAgMiArLQogc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0 aXRpb25fbWVyZ2Uub3V0IHwgODcgKysrKysrKysrKysrKysrKysrLQogc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IHwgMjkgKysrKysrKwogc3JjL3Rl c3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX21lcmdlLnNxbCAgICAgIHwgNzAgKysrKysrKysr KysrKystCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsICAgICAg fCAyMyArKysrKwogNiBmaWxlcyBjaGFuZ2VkLCAyMjcgaW5zZXJ0aW9ucygrKSwgMTQgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRz LmMgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCA4YTk4YTBhZjQ4 Li4yNzY5YmU1NWJlIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNt ZHMuYworKysgYi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpAQCAtMjExNDUs MTcgKzIxMTQ1LDIwIEBAIG1vdmVTcGxpdFRhYmxlUm93cyhSZWxhdGlvbiByZWwsIFJlbGF0 aW9uIHNwbGl0UmVsLCBMaXN0ICpwYXJ0bGlzdCwgTGlzdCAqbmV3UGFyCiAgKiBjcmVhdGVQ YXJ0aXRpb25UYWJsZTogY3JlYXRlIHRhYmxlIGZvciBhIG5ldyBwYXJ0aXRpb24gd2l0aCBn aXZlbiBuYW1lCiAgKiAobmV3UGFydE5hbWUpIGxpa2UgdGFibGUgKG1vZGVsUmVsTmFtZSkK ICAqCi0gKiBFbXVsYXRlcyBjb21tYW5kOiBDUkVBVEUgVEFCTEUgPG5ld1BhcnROYW1lPiAo TElLRSA8bW9kZWxSZWxOYW1lPgorICogRW11bGF0ZXMgY29tbWFuZDogQ1JFQVRFIFtURU1Q XSBUQUJMRSA8bmV3UGFydE5hbWU+IChMSUtFIDxtb2RlbFJlbE5hbWU+CiAgKiBJTkNMVURJ TkcgQUxMIEVYQ0xVRElORyBJTkRFWEVTIEVYQ0xVRElORyBJREVOVElUWSkKICAqLwogc3Rh dGljIHZvaWQKLWNyZWF0ZVBhcnRpdGlvblRhYmxlKFJhbmdlVmFyICpuZXdQYXJ0TmFtZSwg UmFuZ2VWYXIgKm1vZGVsUmVsTmFtZSwKK2NyZWF0ZVBhcnRpdGlvblRhYmxlKFJlbGF0aW9u IHJlbCwgUmFuZ2VWYXIgKm5ld1BhcnROYW1lLCBSYW5nZVZhciAqbW9kZWxSZWxOYW1lLAog CQkJCQkgQWx0ZXJUYWJsZVV0aWxpdHlDb250ZXh0ICpjb250ZXh0KQogewogCUNyZWF0ZVN0 bXQgKmNyZWF0ZVN0bXQ7CiAJVGFibGVMaWtlQ2xhdXNlICp0bGM7CiAJUGxhbm5lZFN0bXQg KndyYXBwZXI7CiAKKwluZXdQYXJ0TmFtZS0+cmVscGVyc2lzdGVuY2UgPSByZWwtPnJkX3Jl bC0+cmVscGVyc2lzdGVuY2U7CisJbmV3UGFydE5hbWUtPnNjaGVtYW5hbWUgPSBtb2RlbFJl bE5hbWUtPnNjaGVtYW5hbWU7CisKIAljcmVhdGVTdG10ID0gbWFrZU5vZGUoQ3JlYXRlU3Rt dCk7CiAJY3JlYXRlU3RtdC0+cmVsYXRpb24gPSBuZXdQYXJ0TmFtZTsKIAljcmVhdGVTdG10 LT50YWJsZUVsdHMgPSBOSUw7CkBAIC0yMTI5MSw3ICsyMTI5NCw3IEBAIEFURXhlY1NwbGl0 UGFydGl0aW9uKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVsYXRp b24gcmVsLAogCQlTaW5nbGVQYXJ0aXRpb25TcGVjICpzcHMgPSAoU2luZ2xlUGFydGl0aW9u U3BlYyAqKSBsZmlyc3QobGlzdHB0cik7CiAJCVJlbGF0aW9uCW5ld1BhcnRSZWw7CiAKLQkJ Y3JlYXRlUGFydGl0aW9uVGFibGUoc3BzLT5uYW1lLCBwYXJlbnROYW1lLCBjb250ZXh0KTsK KwkJY3JlYXRlUGFydGl0aW9uVGFibGUocmVsLCBzcHMtPm5hbWUsIHBhcmVudE5hbWUsIGNv bnRleHQpOwogCiAJCS8qIE9wZW4gdGhlIG5ldyBwYXJ0aXRpb24gYW5kIGFjcXVpcmUgZXhj bHVzaXZlIGxvY2sgb24gaXQuICovCiAJCW5ld1BhcnRSZWwgPSB0YWJsZV9vcGVucnYoc3Bz LT5uYW1lLCBBY2Nlc3NFeGNsdXNpdmVMb2NrKTsKQEAgLTIxNDkxLDcgKzIxNDk0LDggQEAg QVRFeGVjTWVyZ2VQYXJ0aXRpb25zKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8g KnRhYiwgUmVsYXRpb24gcmVsLAogCQltZXJnZVBhcnROYW1lID0gbWFrZVJhbmdlVmFyKGdl dF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShyZWwpKSwKIAkJCQkJCQkJ CSB0bXBSZWxOYW1lLCAtMSk7CiAJfQotCWNyZWF0ZVBhcnRpdGlvblRhYmxlKG1lcmdlUGFy dE5hbWUsCisJY3JlYXRlUGFydGl0aW9uVGFibGUocmVsLAorCQkJCQkJIG1lcmdlUGFydE5h bWUsCiAJCQkJCQkgbWFrZVJhbmdlVmFyKGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdl dE5hbWVzcGFjZShyZWwpKSwKIAkJCQkJCQkJCSAgUmVsYXRpb25HZXRSZWxhdGlvbk5hbWUo cmVsKSwgLTEpLAogCQkJCQkJIGNvbnRleHQpOwpAQCAtMjE1MDcsMTIgKzIxNTExLDYgQEAg QVRFeGVjTWVyZ2VQYXJ0aXRpb25zKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8g KnRhYiwgUmVsYXRpb24gcmVsLAogCS8qIENvcHkgZGF0YSBmcm9tIG1lcmdlZCBwYXJ0aXRp b25zIHRvIG5ldyBwYXJ0aXRpb24uICovCiAJbW92ZU1lcmdlZFRhYmxlc1Jvd3MocmVsLCBt ZXJnaW5nUGFydGl0aW9uc0xpc3QsIG5ld1BhcnRSZWwpOwogCi0JLyoKLQkgKiBBdHRhY2gg YSBuZXcgcGFydGl0aW9uIHRvIHRoZSBwYXJ0aXRpb25lZCB0YWJsZS4gd3F1ZXVlID0gTlVM TDoKLQkgKiB2ZXJpZmljYXRpb24gZm9yIGVhY2ggY2xvbmVkIGNvbnN0cmFpbnQgaXMgbm90 IG5lZWQuCi0JICovCi0JYXR0YWNoUGFydGl0aW9uVGFibGUoTlVMTCwgcmVsLCBuZXdQYXJ0 UmVsLCBjbWQtPmJvdW5kKTsKLQogCS8qIFVubG9jayBhbmQgZHJvcCBtZXJnZWQgcGFydGl0 aW9ucy4gKi8KIAlmb3JlYWNoKGxpc3RwdHIsIG1lcmdpbmdQYXJ0aXRpb25zTGlzdCkKIAl7 CkBAIC0yMTU0Miw3ICsyMTU0MCwxOSBAQCBBVEV4ZWNNZXJnZVBhcnRpdGlvbnMoTGlzdCAq KndxdWV1ZSwgQWx0ZXJlZFRhYmxlSW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJCS8qIFJl bmFtZSBwYXJ0aXRpb24uICovCiAJCVJlbmFtZVJlbGF0aW9uSW50ZXJuYWwoUmVsYXRpb25H ZXRSZWxpZChuZXdQYXJ0UmVsKSwKIAkJCQkJCQkgICBjbWQtPm5hbWUtPnJlbG5hbWUsIGZh bHNlLCBmYWxzZSk7CisJCS8qCisJCSAqIEJ1bXAgdGhlIGNvbW1hbmQgY291bnRlciB0byBt YWtlIHRoZSB0dXBsZSBvZiByZW5hbWVkIHBhcnRpdGlvbgorCQkgKiB2aXNpYmxlIGZvciBh dHRhY2ggcGFydGl0aW9uIG9wZXJhdGlvbi4KKwkJICovCisJCUNvbW1hbmRDb3VudGVySW5j cmVtZW50KCk7CiAJfQorCisJLyoKKwkgKiBBdHRhY2ggYSBuZXcgcGFydGl0aW9uIHRvIHRo ZSBwYXJ0aXRpb25lZCB0YWJsZS4gd3F1ZXVlID0gTlVMTDoKKwkgKiB2ZXJpZmljYXRpb24g Zm9yIGVhY2ggY2xvbmVkIGNvbnN0cmFpbnQgaXMgbm90IG5lZWRlZC4KKwkgKi8KKwlhdHRh Y2hQYXJ0aXRpb25UYWJsZShOVUxMLCByZWwsIG5ld1BhcnRSZWwsIGNtZC0+Ym91bmQpOwor CiAJLyogS2VlcCB0aGUgbG9jayB1bnRpbCBjb21taXQuICovCiAJdGFibGVfY2xvc2UobmV3 UGFydFJlbCwgTm9Mb2NrKTsKIH0KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV91dGlsY21kLmMgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCmlu ZGV4IGNlYmEwNjk5MDUuLmEzYmJjYzk5YzAgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bh cnNlci9wYXJzZV91dGlsY21kLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0 aWxjbWQuYwpAQCAtMzQzMCw3ICszNDMwLDcgQEAgY2hlY2tQYXJ0aXRpb24oUmVsYXRpb24g cmVsLCBPaWQgcGFydFJlbE9pZCkKIAlpZiAocGFydFJlbC0+cmRfcmVsLT5yZWxraW5kICE9 IFJFTEtJTkRfUkVMQVRJT04pCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJS Q09ERV9XUk9OR19PQkpFQ1RfVFlQRSksCi0JCQkJIGVycm1zZygiXCIlc1wiIGlzIG5vdCBh IHRhYmxlIiwKKwkJCQkgZXJybXNnKCJcIiVzXCIgaXMgbm90IGFuIG9yZGluYXJ5IHRhYmxl IiwKIAkJCQkJCVJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHBhcnRSZWwpKSkpOwogCiAJaWYg KCFwYXJ0UmVsLT5yZF9yZWwtPnJlbGlzcGFydGl0aW9uKQpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0IGIvc3JjL3Rlc3QvcmVn cmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fbWVyZ2Uub3V0CmluZGV4IDYwZWFjZjZiZjMuLjlk NDgyNjJhODIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0 aW9uX21lcmdlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlv bl9tZXJnZS5vdXQKQEAgLTI1LDkgKzI1LDkgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2Ug TUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNf ZmUKIEVSUk9SOiAgcGFydGl0aW9uIHdpdGggbmFtZSAic2FsZXNfZmViMjAyMiIgYWxyZWFk eSB1c2VkCiBMSU5FIDE6IC4uLmUgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwg c2FsZXNfbWFyMjAyMiwgc2FsZXNfZmViMi4uLgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLS0tIEVSUk9SOiAgInNh bGVzX2FwcjIwMjIiIGlzIG5vdCBhIHRhYmxlCistLSBFUlJPUjogICJzYWxlc19hcHIyMDIy IiBpcyBub3QgYW4gb3JkaW5hcnkgdGFibGUKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1F UkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNhbGVzX2Fw cjIwMjIpIElOVE8gc2FsZXNfZmViX21hcl9hcHIyMDIyOwotRVJST1I6ICAic2FsZXNfYXBy MjAyMiIgaXMgbm90IGEgdGFibGUKK0VSUk9SOiAgInNhbGVzX2FwcjIwMjIiIGlzIG5vdCBh biBvcmRpbmFyeSB0YWJsZQogLS0gRVJST1I6ICBpbnZhbGlkIHBhcnRpdGlvbnMgb3JkZXIs IHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY2FuIG5vdCBiZSBtZXJnZWQKIC0tIChzcGFj ZSBiZXR3ZWVuIHNlY3Rpb25zIHNhbGVzX2phbjIwMjIgYW5kIHNhbGVzX21hcjIwMjIpCiBB TFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19qYW4yMDIy LCBzYWxlc19tYXIyMDIyKSBJTlRPIHNhbGVzX2phbl9tYXIyMDIyOwpAQCAtNzQ2LDQgKzc0 Niw4NyBAQCBEUk9QIFRBQkxFIHQzOwogRFJPUCBUQUJMRSB0MjsKIERST1AgVEFCTEUgdDE7 CiAtLQorLS0gVHJ5IHRvIE1FUkdFIHBhcnRpdGlvbnMgb2YgdGVtcG9yYXJ5IHRhYmxlLgor LS0KK0NSRUFURSBURU1QIFRBQkxFIHQgKGkgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UgKGkp OworQ1JFQVRFIFRFTVAgVEFCTEUgdHBfMF8xIFBBUlRJVElPTiBPRiB0IEZPUiBWQUxVRVMg RlJPTSAoMCkgVE8gKDEpOworQ1JFQVRFIFRFTVAgVEFCTEUgdHBfMV8yIFBBUlRJVElPTiBP RiB0IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpOworU0VMRUNUIGMub2lkOjpwZ19jYXRh bG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBj Lm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJPTSBwZ19jYXRhbG9nLnBnX2NsYXNzIGMs IHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBXSEVSRSBjLm9pZCA9IGkuaW5ocmVsaWQg QU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFzcworICBPUkRFUiBCWSBwZ19jYXRhbG9n LnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCkgPSAnREVGQVVMVCcsIGMub2lk OjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRhbG9nLnRleHQ7CisgIG9pZCAgIHwgICAg ICAgIHBnX2dldF9leHByICAgICAgICAgfCByZWxwZXJzaXN0ZW5jZSAKKy0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLQorIHRwXzBfMSB8 IEZPUiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpIHwgdAorIHRwXzFfMiB8IEZPUiBWQUxVRVMg RlJPTSAoMSkgVE8gKDIpIHwgdAorKDIgcm93cykKKworQUxURVIgVEFCTEUgdCBNRVJHRSBQ QVJUSVRJT05TICh0cF8wXzEsIHRwXzFfMikgSU5UTyB0cF8wXzI7CistLSBQYXJ0aXRpb24g c2hvdWxkIGJlIHRlbXBvcmFyeS4KK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFz cywgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJl bHBlcnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9n LnBnX2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBh cmVudCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhw cihjLnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxv Zy5yZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0OworICBvaWQgICB8ICAgICAgICBwZ19nZXRf ZXhwciAgICAgICAgIHwgcmVscGVyc2lzdGVuY2UgCistLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0KKyB0cF8wXzIgfCBGT1IgVkFMVUVT IEZST00gKDApIFRPICgyKSB8IHQKKygxIHJvdykKKworRFJPUCBUQUJMRSB0OworLS0KKy0t IENoZWNrIHRoZSBwYXJ0aXRpb24gaW5kZXggbmFtZSBpZiB0aGUgcGFydGl0aW9uIG5hbWUg aXMgdGhlIHNhbWUgYXMgb25lCistLSBvZiB0aGUgbWVyZ2VkIHBhcnRpdGlvbnMuCistLQor Q1JFQVRFIFRBQkxFIHQgKGkgaW50KSBQQVJUSVRJT04gQlkgUkFOR0UgKGkpOworQ1JFQVRF IFRBQkxFIHRwXzBfMSBQQVJUSVRJT04gT0YgdCBGT1IgVkFMVUVTIEZST00gKDApIFRPICgx KTsKK0NSRUFURSBUQUJMRSB0cF8xXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9N ICgxKSBUTyAoMik7CitDUkVBVEUgSU5ERVggdGlkeCBPTiB0KGkpOworQUxURVIgVEFCTEUg dCBNRVJHRSBQQVJUSVRJT05TICh0cF8xXzIsIHRwXzBfMSkgSU5UTyB0cF8xXzI7CistLSBJ bmRleG5hbWUgdmFsdWUgc2hvdWxkIGJlICd0cF8xXzJfaV9pZHgnLgorU0VMRUNUIGluZGV4 bmFtZSBGUk9NIHBnX2luZGV4ZXMgV0hFUkUgdGFibGVuYW1lID0gJ3RwXzFfMic7CisgIGlu ZGV4bmFtZSAgIAorLS0tLS0tLS0tLS0tLS0KKyB0cF8xXzJfaV9pZHgKKygxIHJvdykKKwor RFJPUCBUQUJMRSB0OworLS0KKy0tIFRyeSBjcmVhdGluZyBhIHBhcnRpdGlvbiBpbiB0aGUg dGVtcG9yYXJ5IHNjaGVtYS4KKy0tCitTRVQgc2VhcmNoX3BhdGggPSBwdWJsaWMsIHBnX3Rl bXA7CitDUkVBVEUgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitD UkVBVEUgVEFCTEUgdHBfMF8xIFBBUlRJVElPTiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMCkg VE8gKDEpOworQ1JFQVRFIFRBQkxFIHRwXzFfMiBQQVJUSVRJT04gT0YgdCBGT1IgVkFMVUVT IEZST00gKDEpIFRPICgyKTsKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywg Yy5yZWxwZXJzaXN0ZW5jZSBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYyBXSEVSRSBjLm9p ZCA9ICd0Jzo6cmVnY2xhc3M7Cisgb2lkIHwgcmVscGVyc2lzdGVuY2UgCistLS0tLSstLS0t LS0tLS0tLS0tLS0tCisgdCAgIHwgcAorKDEgcm93KQorCitTRUxFQ1QgYy5vaWQ6OnBnX2Nh dGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQs IGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3Mg YywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxp ZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFs b2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5v aWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKyAgb2lkICAgfCAg ICAgICAgcGdfZ2V0X2V4cHIgICAgICAgICB8IHJlbHBlcnNpc3RlbmNlIAorLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdHBfMF8x IHwgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSkgfCBwCisgdHBfMV8yIHwgRk9SIFZBTFVF UyBGUk9NICgxKSBUTyAoMikgfCBwCisoMiByb3dzKQorCitTRVQgc2VhcmNoX3BhdGggPSBw Z190ZW1wLCBwdWJsaWM7CitBTFRFUiBUQUJMRSB0IE1FUkdFIFBBUlRJVElPTlMgKHRwXzBf MSwgdHBfMV8yKSBJTlRPIHRwXzBfMjsKKy0tIFBhcnRpdGlvbiB0cF8wXzIgc2hvdWxkIGJl IHBlcm1hbmVudCAocCkuCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBn X2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJz aXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19p bmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQg PSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5y ZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVn Y2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAgICAgcGdfZ2V0X2V4cHIg ICAgICAgICB8IHJlbHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdHBfMF8yIHwgRk9SIFZBTFVFUyBGUk9N ICgwKSBUTyAoMikgfCBwCisoMSByb3cpCisKK1NFVCBzZWFyY2hfcGF0aCA9IHB1YmxpYywg cGdfdGVtcDsKK0RST1AgVEFCTEUgdDsKK1JFU0VUIHNlYXJjaF9wYXRoOworLS0KIERST1Ag U0NIRU1BIHBhcnRpdGlvbnNfbWVyZ2Vfc2NoZW1hOwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3Qv cmVncmVzcy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0CmluZGV4IDI2YTBkMDk5NjkuLjNkMjIw ODNlNDEgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9u X3NwbGl0Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9z cGxpdC5vdXQKQEAgLTE0MjcsNCArMTQyNywzMyBAQCBFUlJPUjogIHJlbGF0aW9uICJ0MXBh IiBpcyBub3QgYSBwYXJ0aXRpb24gb2YgcmVsYXRpb24gInQyIgogRFJPUCBUQUJMRSB0MjsK IERST1AgVEFCTEUgdDE7CiAtLQorLS0gVHJ5IHRvIFNQTElUIHBhcnRpdGlvbiBvZiB0ZW1w b3JhcnkgdGFibGUuCistLQorQ1JFQVRFIFRFTVAgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElP TiBCWSBSQU5HRSAoaSk7CitDUkVBVEUgVEVNUCBUQUJMRSB0cF8wXzIgUEFSVElUSU9OIE9G IHQgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMik7CitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFs b2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMu b2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywg cGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBB TkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cu cGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6 OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAg ICAgcGdfZ2V0X2V4cHIgICAgICAgICB8IHJlbHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tCisgdHBfMF8yIHwg Rk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMikgfCB0CisoMSByb3cpCisKK0FMVEVSIFRBQkxF IHQgU1BMSVQgUEFSVElUSU9OIHRwXzBfMiBJTlRPCisgIChQQVJUSVRJT04gdHBfMF8xIEZP UiBWQUxVRVMgRlJPTSAoMCkgVE8gKDEpLAorICAgUEFSVElUSU9OIHRwXzFfMiBGT1IgVkFM VUVTIEZST00gKDEpIFRPICgyKSk7CistLSBQYXJ0aXRpb25zIHNob3VsZCBiZSB0ZW1wb3Jh cnkuCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdf Z2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBG Uk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisg IFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2Ns YXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQs IGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2Nh dGFsb2cudGV4dDsKKyAgb2lkICAgfCAgICAgICAgcGdfZ2V0X2V4cHIgICAgICAgICB8IHJl bHBlcnNpc3RlbmNlIAorLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tCisgdHBfMF8xIHwgRk9SIFZBTFVFUyBGUk9NICgwKSBUTyAoMSkg fCB0CisgdHBfMV8yIHwgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMikgfCB0CisoMiByb3dz KQorCitEUk9QIFRBQkxFIHQ7CistLQogRFJPUCBTQ0hFTUEgcGFydGl0aW9uX3NwbGl0X3Nj aGVtYTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJn ZS5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCmluZGV4 IDlhZmVkNzAzNjUuLjMxMmYwZTQ5ZDMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mv c3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFy dGl0aW9uX21lcmdlLnNxbApAQCAtMjgsNyArMjgsNyBAQCBDUkVBVEUgVEFCTEUgc2FsZXNf b3RoZXJzIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBERUZBVUxUOwogCiAtLSBFUlJPUjog IHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGFscmVhZHkgdXNlZAogQUxU RVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwg c2FsZXNfbWFyMjAyMiwgc2FsZXNfZmViMjAyMikgSU5UTyBzYWxlc19mZWJfbWFyX2FwcjIw MjI7Ci0tLSBFUlJPUjogICJzYWxlc19hcHIyMDIyIiBpcyBub3QgYSB0YWJsZQorLS0gRVJS T1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGFuIG9yZGluYXJ5IHRhYmxlCiBBTFRFUiBU QUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19mZWIyMDIyLCBzYWxl c19tYXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJTlRPIHNhbGVzX2ZlYl9tYXJfYXByMjAyMjsK IC0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25zIG9yZGVyLCBwYXJ0aXRpb24gInNhbGVz X21hcjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCiAtLSAoc3BhY2UgYmV0d2VlbiBzZWN0aW9u cyBzYWxlc19qYW4yMDIyIGFuZCBzYWxlc19tYXIyMDIyKQpAQCAtNDQ0LDUgKzQ0NCw3MyBA QCBEUk9QIFRBQkxFIHQzOwogRFJPUCBUQUJMRSB0MjsKIERST1AgVEFCTEUgdDE7CiAKKy0t CistLSBUcnkgdG8gTUVSR0UgcGFydGl0aW9ucyBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQor Q1JFQVRFIFRFTVAgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitD UkVBVEUgVEVNUCBUQUJMRSB0cF8wXzEgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9N ICgwKSBUTyAoMSk7CitDUkVBVEUgVEVNUCBUQUJMRSB0cF8xXzIgUEFSVElUSU9OIE9GIHQg Rk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMik7CisKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxv Zy5yZWdjbGFzcywgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5v aWQpLCBjLnJlbHBlcnNpc3RlbmNlCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBw Z19jYXRhbG9nLnBnX2luaGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFO RCBpLmluaHBhcmVudCA9ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5w Z19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6 cGdfY2F0YWxvZy5yZWdjbGFzczo6cGdfY2F0YWxvZy50ZXh0OworCitBTFRFUiBUQUJMRSB0 IE1FUkdFIFBBUlRJVElPTlMgKHRwXzBfMSwgdHBfMV8yKSBJTlRPIHRwXzBfMjsKKworLS0g UGFydGl0aW9uIHNob3VsZCBiZSB0ZW1wb3JhcnkuCitTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFs b2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMu b2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3MgYywg cGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxpZCBB TkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFsb2cu cGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5vaWQ6 OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKworRFJPUCBUQUJMRSB0 OworCistLQorLS0gQ2hlY2sgdGhlIHBhcnRpdGlvbiBpbmRleCBuYW1lIGlmIHRoZSBwYXJ0 aXRpb24gbmFtZSBpcyB0aGUgc2FtZSBhcyBvbmUKKy0tIG9mIHRoZSBtZXJnZWQgcGFydGl0 aW9ucy4KKy0tCitDUkVBVEUgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAo aSk7CisKK0NSRUFURSBUQUJMRSB0cF8wXzEgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBG Uk9NICgwKSBUTyAoMSk7CitDUkVBVEUgVEFCTEUgdHBfMV8yIFBBUlRJVElPTiBPRiB0IEZP UiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpOworCitDUkVBVEUgSU5ERVggdGlkeCBPTiB0KGkp OworQUxURVIgVEFCTEUgdCBNRVJHRSBQQVJUSVRJT05TICh0cF8xXzIsIHRwXzBfMSkgSU5U TyB0cF8xXzI7CisKKy0tIEluZGV4bmFtZSB2YWx1ZSBzaG91bGQgYmUgJ3RwXzFfMl9pX2lk eCcuCitTRUxFQ1QgaW5kZXhuYW1lIEZST00gcGdfaW5kZXhlcyBXSEVSRSB0YWJsZW5hbWUg PSAndHBfMV8yJzsKKworRFJPUCBUQUJMRSB0OworCistLQorLS0gVHJ5IGNyZWF0aW5nIGEg cGFydGl0aW9uIGluIHRoZSB0ZW1wb3Jhcnkgc2NoZW1hLgorLS0KK1NFVCBzZWFyY2hfcGF0 aCA9IHB1YmxpYywgcGdfdGVtcDsKK0NSRUFURSBUQUJMRSB0IChpIGludCkgUEFSVElUSU9O IEJZIFJBTkdFIChpKTsKK0NSRUFURSBUQUJMRSB0cF8wXzEgUEFSVElUSU9OIE9GIHQgRk9S IFZBTFVFUyBGUk9NICgwKSBUTyAoMSk7CitDUkVBVEUgVEFCTEUgdHBfMV8yIFBBUlRJVElP TiBPRiB0IEZPUiBWQUxVRVMgRlJPTSAoMSkgVE8gKDIpOworCitTRUxFQ1QgYy5vaWQ6OnBn X2NhdGFsb2cucmVnY2xhc3MsIGMucmVscGVyc2lzdGVuY2UgRlJPTSBwZ19jYXRhbG9nLnBn X2NsYXNzIGMgV0hFUkUgYy5vaWQgPSAndCc6OnJlZ2NsYXNzOworU0VMRUNUIGMub2lkOjpw Z19jYXRhbG9nLnJlZ2NsYXNzLCBwZ19jYXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJv dW5kLCBjLm9pZCksIGMucmVscGVyc2lzdGVuY2UKKyAgRlJPTSBwZ19jYXRhbG9nLnBnX2Ns YXNzIGMsIHBnX2NhdGFsb2cucGdfaW5oZXJpdHMgaQorICBXSEVSRSBjLm9pZCA9IGkuaW5o cmVsaWQgQU5EIGkuaW5ocGFyZW50ID0gJ3QnOjpyZWdjbGFzcworICBPUkRFUiBCWSBwZ19j YXRhbG9nLnBnX2dldF9leHByKGMucmVscGFydGJvdW5kLCBjLm9pZCkgPSAnREVGQVVMVCcs IGMub2lkOjpwZ19jYXRhbG9nLnJlZ2NsYXNzOjpwZ19jYXRhbG9nLnRleHQ7CisKK1NFVCBz ZWFyY2hfcGF0aCA9IHBnX3RlbXAsIHB1YmxpYzsKKworQUxURVIgVEFCTEUgdCBNRVJHRSBQ QVJUSVRJT05TICh0cF8wXzEsIHRwXzFfMikgSU5UTyB0cF8wXzI7CisKKy0tIFBhcnRpdGlv biB0cF8wXzIgc2hvdWxkIGJlIHBlcm1hbmVudCAocCkuCitTRUxFQ1QgYy5vaWQ6OnBnX2Nh dGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQs IGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cucGdfY2xhc3Mg YywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0gaS5pbmhyZWxp ZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZIHBnX2NhdGFs b2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZBVUxUJywgYy5v aWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKworU0VUIHNlYXJj aF9wYXRoID0gcHVibGljLCBwZ190ZW1wOworCitEUk9QIFRBQkxFIHQ7CitSRVNFVCBzZWFy Y2hfcGF0aDsKKwogLS0KIERST1AgU0NIRU1BIHBhcnRpdGlvbnNfbWVyZ2Vfc2NoZW1hOwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFydGl0aW9uX3NwbGl0LnNxbCBi L3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwKaW5kZXggNjI1YjAx ZGRkMS4uNWRjMmZjMzljZCAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFy dGl0aW9uX3NwbGl0LnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25f c3BsaXQuc3FsCkBAIC04NDQsNSArODQ0LDI4IEBAIEFMVEVSIFRBQkxFIHQyIFNQTElUIFBB UlRJVElPTiB0MXBhIElOVE8KIERST1AgVEFCTEUgdDI7CiBEUk9QIFRBQkxFIHQxOwogCist LQorLS0gVHJ5IHRvIFNQTElUIHBhcnRpdGlvbiBvZiB0ZW1wb3JhcnkgdGFibGUuCistLQor Q1JFQVRFIFRFTVAgVEFCTEUgdCAoaSBpbnQpIFBBUlRJVElPTiBCWSBSQU5HRSAoaSk7CitD UkVBVEUgVEVNUCBUQUJMRSB0cF8wXzIgUEFSVElUSU9OIE9GIHQgRk9SIFZBTFVFUyBGUk9N ICgwKSBUTyAoMik7CisKK1NFTEVDVCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdjbGFzcywgcGdf Y2F0YWxvZy5wZ19nZXRfZXhwcihjLnJlbHBhcnRib3VuZCwgYy5vaWQpLCBjLnJlbHBlcnNp c3RlbmNlCisgIEZST00gcGdfY2F0YWxvZy5wZ19jbGFzcyBjLCBwZ19jYXRhbG9nLnBnX2lu aGVyaXRzIGkKKyAgV0hFUkUgYy5vaWQgPSBpLmluaHJlbGlkIEFORCBpLmluaHBhcmVudCA9 ICd0Jzo6cmVnY2xhc3MKKyAgT1JERVIgQlkgcGdfY2F0YWxvZy5wZ19nZXRfZXhwcihjLnJl bHBhcnRib3VuZCwgYy5vaWQpID0gJ0RFRkFVTFQnLCBjLm9pZDo6cGdfY2F0YWxvZy5yZWdj bGFzczo6cGdfY2F0YWxvZy50ZXh0OworCitBTFRFUiBUQUJMRSB0IFNQTElUIFBBUlRJVElP TiB0cF8wXzIgSU5UTworICAoUEFSVElUSU9OIHRwXzBfMSBGT1IgVkFMVUVTIEZST00gKDAp IFRPICgxKSwKKyAgIFBBUlRJVElPTiB0cF8xXzIgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAo MikpOworCistLSBQYXJ0aXRpb25zIHNob3VsZCBiZSB0ZW1wb3JhcnkuCitTRUxFQ1QgYy5v aWQ6OnBnX2NhdGFsb2cucmVnY2xhc3MsIHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxw YXJ0Ym91bmQsIGMub2lkKSwgYy5yZWxwZXJzaXN0ZW5jZQorICBGUk9NIHBnX2NhdGFsb2cu cGdfY2xhc3MgYywgcGdfY2F0YWxvZy5wZ19pbmhlcml0cyBpCisgIFdIRVJFIGMub2lkID0g aS5pbmhyZWxpZCBBTkQgaS5pbmhwYXJlbnQgPSAndCc6OnJlZ2NsYXNzCisgIE9SREVSIEJZ IHBnX2NhdGFsb2cucGdfZ2V0X2V4cHIoYy5yZWxwYXJ0Ym91bmQsIGMub2lkKSA9ICdERUZB VUxUJywgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3M6OnBnX2NhdGFsb2cudGV4dDsKKwor RFJPUCBUQUJMRSB0OworCiAtLQogRFJPUCBTQ0hFTUEgcGFydGl0aW9uX3NwbGl0X3NjaGVt YTsKLS0gCjIuNDAuMS53aW5kb3dzLjEKCg== --------------tcoDFzf3KZSLHVhmnu27pbun Content-Type: text/plain; charset=UTF-8; name="v3-0002-Fixes-for-english-text.patch" Content-Disposition: attachment; filename="v3-0002-Fixes-for-english-text.patch" Content-Transfer-Encoding: base64 RnJvbSBmODBhMjQwMjA5ODEwNzQ5ZDY0MjAzZmQ0Njk1NTJhYWIxODY0ZDQ4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb3ZhbCBEbWl0cnkgPGQua292YWxAcG9zdGdyZXNw cm8ucnU+CkRhdGU6IFdlZCwgMTAgQXByIDIwMjQgMTk6NTU6MTggKzAzMDAKU3ViamVjdDog W1BBVENIIHYzIDIvMl0gRml4ZXMgZm9yIGVuZ2xpc2ggdGV4dAoKLS0tCiBkb2Mvc3JjL3Nn bWwvZGRsLnNnbWwgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl90YWJsZS5zZ21sICAgICAgICAgICAgIHwgIDYgKy0KIHNyYy9iYWNr ZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jICAgICAgICAgICAgICB8IDE2ICsrLS0tCiBzcmMv YmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jICAgICAgICAgICAgfCAgNiArLQogc3Jj L2JhY2tlbmQvcGFydGl0aW9uaW5nL3BhcnRib3VuZHMuYyAgICAgICAgIHwgMzAgKysrKyst LS0tLQogc3JjL3Rlc3QvaXNvbGF0aW9uL3NwZWNzL3BhcnRpdGlvbi1tZXJnZS5zcGVjIHwg IDIgKy0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX21lcmdlLm91dCB8 IDE0ICsrLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5v dXQgfCA1OCArKysrKysrKystLS0tLS0tLS0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0 aXRpb25fbWVyZ2Uuc3FsICAgICAgfCAxMiArKy0tCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9w YXJ0aXRpb25fc3BsaXQuc3FsICAgICAgfCA0OCArKysrKysrLS0tLS0tLS0KIDEwIGZpbGVz IGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKyksIDk3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RvYy9zcmMvc2dtbC9kZGwuc2dtbCBiL2RvYy9zcmMvc2dtbC9kZGwuc2dtbAppbmRl eCAwMGY0NGY1NmZhLi4wMjZiZmZmNzBmIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvZGRs LnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL2RkbC5zZ21sCkBAIC00Mzg3LDcgKzQzODcsNyBA QCBBTFRFUiBJTkRFWCBtZWFzdXJlbWVudF9jaXR5X2lkX2xvZ2RhdGVfa2V5CiAgICAgIGEg c2luZ2xlIHBhcnRpdGlvbiB1c2luZyB0aGUKICAgICAgPGxpbmsgbGlua2VuZD0ic3FsLWFs dGVydGFibGUtbWVyZ2UtcGFydGl0aW9ucyI+PGNvbW1hbmQ+QUxURVIgVEFCTEUgLi4uIE1F UkdFIFBBUlRJVElPTlM8L2NvbW1hbmQ+PC9saW5rPi4KICAgICAgVGhpcyBmZWF0dXJlIHNp bXBsaWZpZXMgdGhlIG1hbmFnZW1lbnQgb2YgcGFydGl0aW9uZWQgdGFibGVzIGJ5IGFsbG93 aW5nCi0gICAgIGFkbWluaXN0cmF0b3JzIHRvIGNvbWJpbmUgcGFydGl0aW9ucyB0aGF0IGFy ZSBubyBsb25nZXIgbmVlZGVkIGFzCisgICAgIHVzZXJzIHRvIGNvbWJpbmUgcGFydGl0aW9u cyB0aGF0IGFyZSBubyBsb25nZXIgbmVlZGVkIGFzCiAgICAgIHNlcGFyYXRlIGVudGl0aWVz LiAgSXQncyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoaXMgb3BlcmF0aW9uIGlzIG5vdAog ICAgICBzdXBwb3J0ZWQgZm9yIGhhc2gtcGFydGl0aW9uZWQgdGFibGVzIGFuZCBhY3F1aXJl cyBhbgogICAgICA8bGl0ZXJhbD5BQ0NFU1MgRVhDTFVTSVZFPC9saXRlcmFsPiBsb2NrLCB3 aGljaCBjb3VsZCBpbXBhY3QgaGlnaC1sb2FkCmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwv cmVmL2FsdGVyX3RhYmxlLnNnbWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3RhYmxlLnNn bWwKaW5kZXggOGY1YmYxODVkZC4uZmUzNmZmODJlNSAxMDA2NDQKLS0tIGEvZG9jL3NyYy9z Z21sL3JlZi9hbHRlcl90YWJsZS5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJf dGFibGUuc2dtbApAQCAtMTE3NSw3ICsxMTc1LDcgQEAgV0lUSCAoIE1PRFVMVVMgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPm51bWVyaWNfbGl0ZXJhbDwvcmVwbGFjZWFibGU+ LCBSRU0KICAgICAgIDxpdGVtaXplZGxpc3Q+CiAgICAgICAgPGxpc3RpdGVtPgogICAgICAg ICA8cGFyYT4KLSAgICAgICAgIEZvciByYW5nZS1wYXJ0aXRpb25lZCB0YWJsZXMgaXMgbmVj ZXNzYXJ5IHRoYXQgdGhlIHJhbmdlcworICAgICAgICAgRm9yIHJhbmdlLXBhcnRpdGlvbmVk IHRhYmxlcyBpdCBpcyBuZWNlc3NhcnkgdGhhdCB0aGUgcmFuZ2VzCiAgICAgICAgICBvZiB0 aGUgcGFydGl0aW9ucyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFydGl0aW9u X25hbWUxPC9yZXBsYWNlYWJsZT4sCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBh cmFtZXRlciI+cGFydGl0aW9uX25hbWUyPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBjYW4KICAg ICAgICAgIGJlIG1lcmdlZCBpbnRvIG9uZSByYW5nZSB3aXRob3V0IHNwYWNlcyBhbmQgb3Zl cmxhcHMgKG90aGVyd2lzZSBhbiBlcnJvcgpAQCAtMTE4NSwxMCArMTE4NSwxMCBAQCBXSVRI ICggTU9EVUxVUyA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+bnVtZXJpY19saXRl cmFsPC9yZXBsYWNlYWJsZT4sIFJFTQogICAgICAgIDwvbGlzdGl0ZW0+CiAgICAgICAgPGxp c3RpdGVtPgogICAgICAgICA8cGFyYT4KLSAgICAgICAgIEZvciBsaXN0LXBhcnRpdGlvbmVk IHRhYmxlcyB0aGUgdmFsdWVzIGxpc3RzIG9mIGFsbCBwYXJ0aXRpb25zCisgICAgICAgICBG b3IgbGlzdC1wYXJ0aXRpb25lZCB0YWJsZXMgdGhlIHZhbHVlIGxpc3RzIG9mIGFsbCBwYXJ0 aXRpb25zCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFydGl0 aW9uX25hbWUxPC9yZXBsYWNlYWJsZT4sCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9 InBhcmFtZXRlciI+cGFydGl0aW9uX25hbWUyPC9yZXBsYWNlYWJsZT4gWywgLi4uXSBhcmUK LSAgICAgICAgIGNvbWJpbmVkIGFuZCBmb3JtIGEgbGlzdCBvZiB2YWx1ZXMgb2YgcGFydGl0 aW9uCisgICAgICAgICBjb21iaW5lZCBhbmQgZm9ybSB0aGUgbGlzdCBvZiB2YWx1ZXMgb2Yg cGFydGl0aW9uCiAgICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+cGFy dGl0aW9uX25hbWU8L3JlcGxhY2VhYmxlPi4KICAgICAgICAgPC9wYXJhPgogICAgICAgIDwv bGlzdGl0ZW0+CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMu YyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCmluZGV4IDI3NjliZTU1YmUu LmRmZjlhYzlkZjEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21k cy5jCisrKyBiL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RhYmxlY21kcy5jCkBAIC0yMDg4OCw3 ICsyMDg4OCw3IEBAIEdldEF0dHJpYnV0ZVN0b3JhZ2UoT2lkIGF0dHR5cGlkLCBjb25zdCBj aGFyICpzdG9yYWdlbW9kZSkKIH0KIAogLyoKLSAqIFN0cnVjdCB3aXRoIGNvbnRleHQgb2Yg bmV3IHBhcnRpdGlvbiBmb3IgaW5zZXJ0IHJvd3MgZnJvbSBzcGxpdGVkIHBhcnRpdGlvbgor ICogU3RydWN0IHdpdGggY29udGV4dCBvZiBuZXcgcGFydGl0aW9uIGZvciBpbnNlcnRpbmcg cm93cyBmcm9tIHNwbGl0IHBhcnRpdGlvbgogICovCiB0eXBlZGVmIHN0cnVjdCBTcGxpdFBh cnRpdGlvbkNvbnRleHQKIHsKQEAgLTIwOTQ1LDcgKzIwOTQ1LDcgQEAgZGVsZXRlU3BsaXRQ YXJ0aXRpb25Db250ZXh0KFNwbGl0UGFydGl0aW9uQ29udGV4dCAqcGMsIGludCB0aV9vcHRp b25zKQogICoKICAqIE5ldyBwYXJ0aXRpb25zIGRlc2NyaXB0aW9uOgogICogcGFydGxpc3Q6 IGxpc3Qgb2YgcG9pbnRlcnMgdG8gU2luZ2xlUGFydGl0aW9uU3BlYyBzdHJ1Y3R1cmVzLgot ICogbmV3UGFydFJlbHM6IGxpc3Qgb2YgUmVsYXRpb24ncy4KKyAqIG5ld1BhcnRSZWxzOiBs aXN0IG9mIFJlbGF0aW9ucy4KICAqIGRlZmF1bHRQYXJ0T2lkOiBvaWQgb2YgREVGQVVMVCBw YXJ0aXRpb24sIGZvciB0YWJsZSByZWwuCiAgKi8KIHN0YXRpYyB2b2lkCkBAIC0yMTAzMCw3 ICsyMTAzMCw3IEBAIG1vdmVTcGxpdFRhYmxlUm93cyhSZWxhdGlvbiByZWwsIFJlbGF0aW9u IHNwbGl0UmVsLCBMaXN0ICpwYXJ0bGlzdCwgTGlzdCAqbmV3UGFyCiAKIAkvKgogCSAqIE1h cCBjb21wdXRpbmcgZm9yIG1vdmluZyBhdHRyaWJ1dGVzIG9mIHNwbGl0IHBhcnRpdGlvbiB0 byBuZXcgcGFydGl0aW9uCi0JICogKGZvciBmaXJzdCBuZXcgcGFydGl0aW9uIGJ1dCBvdGhl ciBuZXcgcGFydGl0aW9ucyBjYW4gdXNlIHRoZSBzYW1lCisJICogKGZvciBmaXJzdCBuZXcg cGFydGl0aW9uLCBidXQgb3RoZXIgbmV3IHBhcnRpdGlvbnMgY2FuIHVzZSB0aGUgc2FtZQog CSAqIG1hcCkuCiAJICovCiAJcGMgPSAoU3BsaXRQYXJ0aXRpb25Db250ZXh0ICopIGxmaXJz dChsaXN0X2hlYWQocGFydENvbnRleHRzKSk7CkBAIC0yMTA4NSw3ICsyMTA4NSw3IEBAIG1v dmVTcGxpdFRhYmxlUm93cyhSZWxhdGlvbiByZWwsIFJlbGF0aW9uIHNwbGl0UmVsLCBMaXN0 ICpwYXJ0bGlzdCwgTGlzdCAqbmV3UGFyCiAKIAkJaWYgKHR1cGxlX21hcCkKIAkJewotCQkJ LyogTmVlZCB0byB1c2UgbWFwIGZvciBjb3B5IGF0dHJpYnV0ZXMuICovCisJCQkvKiBOZWVk IHRvIHVzZSBtYXAgdG8gY29weSBhdHRyaWJ1dGVzLiAqLwogCQkJaW5zZXJ0c2xvdCA9IGV4 ZWN1dGVfYXR0cl9tYXBfc2xvdCh0dXBsZV9tYXAtPmF0dHJNYXAsIHNyY3Nsb3QsIHBjLT5k c3RzbG90KTsKIAkJfQogCQllbHNlCkBAIC0yMTI0Niw3ICsyMTI0Niw3IEBAIEFURXhlY1Nw bGl0UGFydGl0aW9uKExpc3QgKip3cXVldWUsIEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgUmVs YXRpb24gcmVsLAogCQkJUmFuZ2VWYXJHZXRBbmRDaGVja0NyZWF0aW9uTmFtZXNwYWNlKHNw cy0+bmFtZSwgTm9Mb2NrLCBOVUxMKTsKIAogCQkvKgotCQkgKiBUaGlzIHdvdWxkIGZhaWwg bGF0ZXIgb24gYW55d2F5LCBpZiB0aGUgcmVsYXRpb24gYWxyZWFkeSBleGlzdHMuCisJCSAq IFRoaXMgd291bGQgZmFpbCBsYXRlciBvbiBhbnl3YXkgaWYgdGhlIHJlbGF0aW9uIGFscmVh ZHkgZXhpc3RzLgogCQkgKiBCdXQgYnkgY2F0Y2hpbmcgaXQgaGVyZSB3ZSBjYW4gZW1pdCBh IG5pY2VyIGVycm9yIG1lc3NhZ2UuCiAJCSAqLwogCQlleGlzdGluZ19yZWxpZCA9IGdldF9y ZWxuYW1lX3JlbGlkKHJlbG5hbWUsIG5hbWVzcGFjZUlkKTsKQEAgLTIxMzEzLDcgKzIxMzEz LDcgQEAgQVRFeGVjU3BsaXRQYXJ0aXRpb24oTGlzdCAqKndxdWV1ZSwgQWx0ZXJlZFRhYmxl SW5mbyAqdGFiLCBSZWxhdGlvbiByZWwsCiAJCVNpbmdsZVBhcnRpdGlvblNwZWMgKnNwcyA9 IChTaW5nbGVQYXJ0aXRpb25TcGVjICopIGxmaXJzdChsaXN0cHRyKTsKIAkJUmVsYXRpb24J bmV3UGFydFJlbCA9IChSZWxhdGlvbikgbGZpcnN0KGxpc3RwdHIyKTsKIAotCQkvKiB3cXVl dWUgPSBOVUxMOiB2ZXJpZmljYXRpb24gZm9yIGVhY2ggY2xvbmVkIGNvbnN0cmFpbnQgaXMg bm90IG5lZWQuICovCisJCS8qIHdxdWV1ZSA9IE5VTEw6IHZlcmlmaWNhdGlvbiBmb3IgZWFj aCBjbG9uZWQgY29uc3RyYWludCBpcyBub3QgbmVlZGVkLiAqLwogCQlhdHRhY2hQYXJ0aXRp b25UYWJsZShOVUxMLCByZWwsIG5ld1BhcnRSZWwsIHNwcy0+Ym91bmQpOwogCQkvKiBLZWVw IHRoZSBsb2NrIHVudGlsIGNvbW1pdC4gKi8KIAkJdGFibGVfY2xvc2UobmV3UGFydFJlbCwg Tm9Mb2NrKTsKQEAgLTIxMzg3LDcgKzIxMzg3LDcgQEAgbW92ZU1lcmdlZFRhYmxlc1Jvd3Mo UmVsYXRpb24gcmVsLCBMaXN0ICptZXJnaW5nUGFydGl0aW9uc0xpc3QsCiAKIAkJCWlmICh0 dXBsZV9tYXApCiAJCQl7Ci0JCQkJLyogTmVlZCB0byB1c2UgbWFwIGZvciBjb3B5IGF0dHJp YnV0ZXMuICovCisJCQkJLyogTmVlZCB0byB1c2UgbWFwIHRvIGNvcHkgYXR0cmlidXRlcy4g Ki8KIAkJCQlpbnNlcnRzbG90ID0gZXhlY3V0ZV9hdHRyX21hcF9zbG90KHR1cGxlX21hcC0+ YXR0ck1hcCwgc3Jjc2xvdCwgZHN0c2xvdCk7CiAJCQl9CiAJCQllbHNlCkBAIC0yMTQ4OSw3 ICsyMTQ4OSw3IEBAIEFURXhlY01lcmdlUGFydGl0aW9ucyhMaXN0ICoqd3F1ZXVlLCBBbHRl cmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAkvKiBDcmVhdGUgdGFibGUgZm9y IG5ldyBwYXJ0aXRpb24sIHVzZSBwYXJ0aXRpb25lZCB0YWJsZSBhcyBtb2RlbC4gKi8KIAlp ZiAoaXNTYW1lTmFtZSkKIAl7Ci0JCS8qIENyZWF0ZSBwYXJ0aXRpb24gdGFibGUgd2l0aCBn ZW5lcmF0ZWQgdGVtcGFyYXJ5IG5hbWUuICovCisJCS8qIENyZWF0ZSBwYXJ0aXRpb24gdGFi bGUgd2l0aCBnZW5lcmF0ZWQgdGVtcG9yYXJ5IG5hbWUuICovCiAJCXNwcmludGYodG1wUmVs TmFtZSwgIm1lcmdlLSV1LSVYLXRtcCIsIFJlbGF0aW9uR2V0UmVsaWQocmVsKSwgTXlQcm9j UGlkKTsKIAkJbWVyZ2VQYXJ0TmFtZSA9IG1ha2VSYW5nZVZhcihnZXRfbmFtZXNwYWNlX25h bWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSksCiAJCQkJCQkJCQkgdG1wUmVsTmFtZSwg LTEpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxjbWQuYyBi L3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMKaW5kZXggYTNiYmNjOTljMC4u MWY2ZTkwY2Q0NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcGFyc2VyL3BhcnNlX3V0aWxj bWQuYworKysgYi9zcmMvYmFja2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCkBAIC0zNDky LDcgKzM0OTIsNyBAQCB0cmFuc2Zvcm1QYXJ0aXRpb25DbWRGb3JTcGxpdChDcmVhdGVTdG10 Q29udGV4dCAqY3h0LCBQYXJ0aXRpb25DbWQgKnBhcnRjbWQpCiAgKiB0cmFuc2Zvcm1QYXJ0 aXRpb25DbWRGb3JNZXJnZQogICoJCUFuYWx5emUgdGhlIEFMVEVSIFRBQkxMRSAuLi4gTUVS R0UgUEFSVElUSU9OUyBjb21tYW5kCiAgKgotICogRG9lcyBzaW1wbGUgY2hlY2tzIGZvciBt ZXJnZWQgcGFydGl0aW9ucy4gQ2FsY3VsYXRlcyBib3VuZCBvZiByZXN1bHQKKyAqIERvZXMg c2ltcGxlIGNoZWNrcyBmb3IgbWVyZ2VkIHBhcnRpdGlvbnMuIENhbGN1bGF0ZXMgYm91bmQg b2YgcmVzdWx0aW5nCiAgKiBwYXJ0aXRpb24uCiAgKi8KIHN0YXRpYyB2b2lkCkBAIC0zNTM3 LDcgKzM1MzcsNyBAQCB0cmFuc2Zvcm1QYXJ0aXRpb25DbWRGb3JNZXJnZShDcmVhdGVTdG10 Q29udGV4dCAqY3h0LCBQYXJ0aXRpb25DbWQgKnBhcnRjbWQpCiAJCQlpZiAoZXF1YWwobmFt ZSwgbmFtZTIpKQogCQkJCWVyZXBvcnQoRVJST1IsCiAJCQkJCQkoZXJyY29kZShFUlJDT0RF X0RVUExJQ0FURV9UQUJMRSksCi0JCQkJCQkgZXJybXNnKCJwYXJ0aXRpb24gd2l0aCBuYW1l IFwiJXNcIiBhbHJlYWR5IHVzZWQiLCBuYW1lLT5yZWxuYW1lKSksCisJCQkJCQkgZXJybXNn KCJwYXJ0aXRpb24gd2l0aCBuYW1lIFwiJXNcIiBpcyBhbHJlYWR5IHVzZWQiLCBuYW1lLT5y ZWxuYW1lKSksCiAJCQkJCQlwYXJzZXJfZXJycG9zaXRpb24oY3h0LT5wc3RhdGUsIG5hbWUy LT5sb2NhdGlvbikpOwogCQl9CiAKQEAgLTM1NTEsNyArMzU1MSw3IEBAIHRyYW5zZm9ybVBh cnRpdGlvbkNtZEZvck1lcmdlKENyZWF0ZVN0bXRDb250ZXh0ICpjeHQsIFBhcnRpdGlvbkNt ZCAqcGFydGNtZCkKIAkJcGFydE9pZHMgPSBsYXBwZW5kX29pZChwYXJ0T2lkcywgcGFydE9p ZCk7CiAJfQogCi0JLyogQWxsb2NhdGUgYm91bmQgb2YgcmVzdWx0IHBhcnRpdGlvbi4gKi8K KwkvKiBBbGxvY2F0ZSBib3VuZCBvZiByZXN1bHRpbmcgcGFydGl0aW9uLiAqLwogCUFzc2Vy dChwYXJ0Y21kLT5ib3VuZCA9PSBOVUxMKTsKIAlwYXJ0Y21kLT5ib3VuZCA9IG1ha2VOb2Rl KFBhcnRpdGlvbkJvdW5kU3BlYyk7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3BhcnRp dGlvbmluZy9wYXJ0Ym91bmRzLmMgYi9zcmMvYmFja2VuZC9wYXJ0aXRpb25pbmcvcGFydGJv dW5kcy5jCmluZGV4IGMwYzQ5YjBhMGIuLmY4OWJkYjNjODYgMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3BhcnRpdGlvbmluZy9wYXJ0Ym91bmRzLmMKKysrIGIvc3JjL2JhY2tlbmQvcGFy dGl0aW9uaW5nL3BhcnRib3VuZHMuYwpAQCAtMzIxNCw3ICszMjE0LDcgQEAgY2hlY2tfbmV3 X3BhcnRpdGlvbl9ib3VuZChjaGFyICpyZWxuYW1lLCBSZWxhdGlvbiBwYXJlbnQsCiAJCQkJ CQlQYXJ0aXRpb25SYW5nZURhdHVtICpkYXR1bTsKIAogCQkJCQkJLyoKLQkJCQkJCSAqIFBv aW50IHRvIHByb2JsZW1hdGljIGtleSBpbiB0aGUgbG93ZXIgZGF0dW1zIGxpc3Q7CisJCQkJ CQkgKiBQb2ludCB0byBwcm9ibGVtYXRpYyBrZXkgaW4gdGhlIGxpc3Qgb2YgbG93ZXIgZGF0 dW1zOwogCQkJCQkJICogaWYgd2UgaGF2ZSBlcXVhbGl0eSwgcG9pbnQgdG8gdGhlIGZpcnN0 IG9uZS4KIAkJCQkJCSAqLwogCQkJCQkJZGF0dW0gPSBjbXB2YWwgPT0gMCA/IGxpbml0aWFs KHNwZWMtPmxvd2VyZGF0dW1zKSA6CkBAIC00OTg2LDEwICs0OTg2LDEwIEBAIHNhdGlzZmll c19oYXNoX3BhcnRpdGlvbihQR19GVU5DVElPTl9BUkdTKQogICogVGhpcyBpcyBhIGhlbHBl ciBmdW5jdGlvbiBmb3IgY2hlY2tfcGFydGl0aW9uc19mb3Jfc3BsaXQoKSBhbmQKICAqIGNh bGN1bGF0ZV9wYXJ0aXRpb25fYm91bmRfZm9yX21lcmdlKCkuCiAgKiBUaGlzIGZ1bmN0aW9u IGNvbXBhcmVzIHVwcGVyIGJvdW5kIG9mIGZpcnN0X2JvdW5kIGFuZCBsb3dlciBib3VuZCBv ZgotICogc2Vjb25kX2JvdW5kLiBUaGVzZSBib3VuZHMgc2hvdWxkIGJlIGVxdWFsIGV4Y2Vw dCBjYXNlCisgKiBzZWNvbmRfYm91bmQuIFRoZXNlIGJvdW5kcyBzaG91bGQgYmUgZXF1YWwg ZXhjZXB0IHdoZW4KICAqICJkZWZhdWx0UGFydCA9PSB0cnVlIiAodGhpcyBtZWFucyB0aGF0 IG9uZSBvZiBzcGxpdCBwYXJ0aXRpb25zIGlzIERFRkFVTFQpLgogICogSW4gdGhpcyBjYXNl IHVwcGVyIGJvdW5kIG9mIGZpcnN0X2JvdW5kIGNhbiBiZSBsZXNzIHRoYW4gbG93ZXIgYm91 bmQgb2YKLSAqIHNlY29uZF9ib3VuZCBiZWNhdXNlIHNwYWNlIGJldHdlZW4gb2YgdGhlc2Ug Ym91bmRzIHdpbGwgYmUgaW5jbHVkZWQgaW4KKyAqIHNlY29uZF9ib3VuZCBiZWNhdXNlIHNw YWNlIGJldHdlZW4gdGhlc2UgYm91bmRzIHdpbGwgYmUgaW5jbHVkZWQgaW4KICAqIERFRkFV TFQgcGFydGl0aW9uLgogICoKICAqIHBhcmVudDoJCQlwYXJ0aXRpb25lZCB0YWJsZQpAQCAt NDk5OCw3ICs0OTk4LDcgQEAgc2F0aXNmaWVzX2hhc2hfcGFydGl0aW9uKFBHX0ZVTkNUSU9O X0FSR1MpCiAgKiBzZWNvbmRfbmFtZToJCW5hbWUgb2Ygc2Vjb25kIHBhcnRpdGlvbgogICog c2Vjb25kX2JvdW5kOglib3VuZCBvZiBzZWNvbmQgcGFydGl0aW9uCiAgKiBkZWZhdWx0UGFy dDoJCXRydWUgaWYgb25lIG9mIHNwbGl0IHBhcnRpdGlvbnMgaXMgREVGQVVMVAotICogcHN0 YXRlOgkJCXBvaW50ZXIgdG8gUGFyc2VTdGF0ZSBzdHJ1Y3QgZm9yIGRldGVybWluZSBlcnJv ciBwb3NpdGlvbgorICogcHN0YXRlOgkJCXBvaW50ZXIgdG8gUGFyc2VTdGF0ZSBzdHJ1Y3Qg Zm9yIGRldGVybWluaW5nIGVycm9yIHBvc2l0aW9uCiAgKi8KIHN0YXRpYyB2b2lkCiBjaGVj a190d29fcGFydGl0aW9uc19ib3VuZHNfcmFuZ2UoUmVsYXRpb24gcGFyZW50LApAQCAtNTAy MCw3ICs1MDIwLDcgQEAgY2hlY2tfdHdvX3BhcnRpdGlvbnNfYm91bmRzX3JhbmdlKFJlbGF0 aW9uIHBhcmVudCwKIAlzZWNvbmRfbG93ZXIgPSBtYWtlX29uZV9wYXJ0aXRpb25fcmJvdW5k KGtleSwgLTEsIHNlY29uZF9ib3VuZC0+bG93ZXJkYXR1bXMsIHRydWUpOwogCiAJLyoKLQkg KiBsb3dlcjE9ZmFsc2UgKHRoZSBzZWNvbmQgdG8gbGFzdCBhcmd1bWVudCkgZm9yIGNvcnJl Y3QgY29tcGFyaXNvbiBsb3dlcgorCSAqIGxvd2VyMT1mYWxzZSAodGhlIHNlY29uZCB0byBs YXN0IGFyZ3VtZW50KSBmb3IgY29ycmVjdCBjb21wYXJpc29uIG9mIGxvd2VyCiAJICogYW5k IHVwcGVyIGJvdW5kcy4KIAkgKi8KIAljbXB2YWwgPSBwYXJ0aXRpb25fcmJvdW5kX2NtcChr ZXktPnBhcnRuYXR0cywKQEAgLTUxNDAsNyArNTE0MCw3IEBAIGdldF9wYXJ0aXRpb25fYm91 bmRfc3BlYyhPaWQgcGFydE9pZCwgUmFuZ2VWYXIgKm5hbWUpCiAgKgogICogKGZ1bmN0aW9u IGZvciBCWSBSQU5HRSBwYXJ0aXRpb25pbmcpCiAgKgotICogQ2hlY2tzIHRoYXQgYm91bmRz IG9mIG5ldyBwYXJ0aXRpb24gInNwZWMiIGlzIGluc2lkZSBib3VuZHMgb2Ygc3BsaXQKKyAq IENoZWNrcyB0aGF0IGJvdW5kcyBvZiBuZXcgcGFydGl0aW9uICJzcGVjIiBhcmUgaW5zaWRl IGJvdW5kcyBvZiBzcGxpdAogICogcGFydGl0aW9uICh3aXRoIE9pZCBzcGxpdFBhcnRPaWQp LiBJZiBmaXJzdD10cnVlICh0aGlzIG1lYW5zIHRoYXQgInNwZWMiIGlzCiAgKiB0aGUgZmly c3Qgb2YgbmV3IHBhcnRpdGlvbnMpIHRoZW4gbG93ZXIgYm91bmQgb2YgInNwZWMiIHNob3Vs ZCBiZSBlcXVhbCAob3IKICAqIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCBpbiBjYXNlIGRlZmF1 bHRQYXJ0PXRydWUpIHRvIGxvd2VyIGJvdW5kIG9mIHNwbGl0CkBAIC01Mjc0LDcgKzUyNzQs NyBAQCBjaGVja19wYXJ0aXRpb25fYm91bmRzX2Zvcl9zcGxpdF9yYW5nZShSZWxhdGlvbiBw YXJlbnQsCiAgKgogICogKGZ1bmN0aW9uIGZvciBCWSBMSVNUIHBhcnRpdGlvbmluZykKICAq Ci0gKiBDaGVja3MgdGhhdCBib3VuZHMgb2YgbmV3IHBhcnRpdGlvbiBpcyBpbnNpZGUgYm91 bmRzIG9mIHNwbGl0IHBhcnRpdGlvbgorICogQ2hlY2tzIHRoYXQgYm91bmRzIG9mIG5ldyBw YXJ0aXRpb24gYXJlIGluc2lkZSBib3VuZHMgb2Ygc3BsaXQgcGFydGl0aW9uCiAgKiAod2l0 aCBPaWQgc3BsaXRQYXJ0T2lkKS4KICAqCiAgKiBwYXJlbnQ6CQkJcGFydGl0aW9uZWQgdGFi bGUKQEAgLTU0NDUsOCArNTQ0NSw4IEBAIGNoZWNrX3BhcmVudF92YWx1ZXNfaW5fbmV3X3Bh cnRpdGlvbnMoUmVsYXRpb24gcGFyZW50LAogCUFzc2VydChrZXktPnN0cmF0ZWd5ID09IFBB UlRJVElPTl9TVFJBVEVHWV9MSVNUKTsKIAogCS8qCi0JICogU3BlY2lhbCBwcm9jZXNzaW5n IGZvciBOVUxMIHZhbHVlLiBTZWFyY2ggTlVMTC12YWx1ZSBpZiBpdCBjb250YWlucwotCSAq IHNwbGl0IHBhcnRpdGlvbiAocGFydE9pZCkuCisJICogU3BlY2lhbCBwcm9jZXNzaW5nIGZv ciBOVUxMIHZhbHVlLiBTZWFyY2ggTlVMTCB2YWx1ZSBpZiB0aGUgc3BsaXQKKwkgKiBwYXJ0 aXRpb24gKHBhcnRPaWQpIGNvbnRhaW5zIGl0LgogCSAqLwogCWlmIChwYXJ0aXRpb25fYm91 bmRfYWNjZXB0c19udWxscyhib3VuZGluZm8pICYmCiAJCXBhcnRkZXNjLT5vaWRzW2JvdW5k aW5mby0+bnVsbF9pbmRleF0gPT0gcGFydE9pZCkKQEAgLTU0NjEsNyArNTQ2MSw3IEBAIGNo ZWNrX3BhcmVudF92YWx1ZXNfaW5fbmV3X3BhcnRpdGlvbnMoUmVsYXRpb24gcGFyZW50LAog CiAJLyoKIAkgKiBTZWFyY2ggYWxsIHZhbHVlcyBvZiBzcGxpdCBwYXJ0aXRpb24gd2l0aCBw YXJ0T2lkIGluIFBhcnRpdGlvbkRlc2Mgb2YKLQkgKiBwYXJ0aXRpb25kZSB0YWJsZS4KKwkg KiBwYXJ0aXRpb25lZCB0YWJsZS4KIAkgKi8KIAlmb3IgKGkgPSAwOyBpIDwgYm91bmRpbmZv LT5uZGF0dW1zOyBpKyspCiAJewpAQCAtNTQ5OCw3ICs1NDk4LDcgQEAgY2hlY2tfcGFyZW50 X3ZhbHVlc19pbl9uZXdfcGFydGl0aW9ucyhSZWxhdGlvbiBwYXJlbnQsCiAKIAkJZXJlcG9y dChFUlJPUiwKIAkJCQkoZXJyY29kZShFUlJDT0RFX0lOVkFMSURfT0JKRUNUX0RFRklOSVRJ T04pLAotCQkJCSBlcnJtc2coIm5ldyBwYXJ0aXRpb25zIG5vdCBoYXZlIHZhbHVlICVzIGJ1 dCBzcGxpdCBwYXJ0aXRpb24gaGFzIiwKKwkJCQkgZXJybXNnKCJuZXcgcGFydGl0aW9ucyBk byBub3QgaGF2ZSB2YWx1ZSAlcyBidXQgc3BsaXQgcGFydGl0aW9uIGRvZXMiLAogCQkJCQkJ c2VhcmNoTnVsbCA/ICJOVUxMIiA6IGdldF9saXN0X3BhcnR2YWx1ZV9zdHJpbmcobm90Rm91 bmRWYWwpKSkpOwogCX0KIH0KQEAgLTU2NDUsNyArNTY0NSw3IEBAIGNoZWNrX3BhcnRpdGlv bnNfZm9yX3NwbGl0KFJlbGF0aW9uIHBhcmVudCwKIAl7CiAJCWVyZXBvcnQoRVJST1IsCiAJ CQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX09CSkVDVF9ERUZJTklUSU9OKSwKLQkJCQkg ZXJybXNnKCJhbnkgcGFydGl0aW9uIGluIHRoZSBsaXN0IHNob3VsZCBiZSBERUZBVUxUIGJl Y2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlzIERFRkFVTFQiKSksCisJCQkJIGVycm1zZygiYWxs IHBhcnRpdGlvbnMgaW4gdGhlIGxpc3Qgc2hvdWxkIGJlIERFRkFVTFQgYmVjYXVzZSBzcGxp dCBwYXJ0aXRpb24gaXMgREVGQVVMVCIpKSwKIAkJCQlwYXJzZXJfZXJycG9zaXRpb24ocHN0 YXRlLCAoKFNpbmdsZVBhcnRpdGlvblNwZWMgKikgbGluaXRpYWwocGFydGxpc3QpKS0+bmFt ZS0+bG9jYXRpb24pKTsKIAl9CiAJZWxzZSBpZiAoIWlzU3BsaXRQYXJ0RGVmYXVsdCAmJiAo ZGVmYXVsdF9pbmRleCA+PSAwKSAmJiBPaWRJc1ZhbGlkKGRlZmF1bHRQYXJ0T2lkKSkKQEAg LTU3MTQsNyArNTcxNCw3IEBAIGNoZWNrX3BhcnRpdGlvbnNfZm9yX3NwbGl0KFJlbGF0aW9u IHBhcmVudCwKIAkJCWlmIChlcXVhbChzcHMtPm5hbWUsIHNwczItPm5hbWUpKQogCQkJCWVy ZXBvcnQoRVJST1IsCiAJCQkJCQkoZXJyY29kZShFUlJDT0RFX0RVUExJQ0FURV9UQUJMRSks Ci0JCQkJCQkgZXJybXNnKCJuYW1lIFwiJXNcIiBhbHJlYWR5IHVzZWQiLCBzcHMyLT5uYW1l LT5yZWxuYW1lKSksCisJCQkJCQkgZXJybXNnKCJuYW1lIFwiJXNcIiBpcyBhbHJlYWR5IHVz ZWQiLCBzcHMyLT5uYW1lLT5yZWxuYW1lKSksCiAJCQkJCQlwYXJzZXJfZXJycG9zaXRpb24o cHN0YXRlLCBzcHMyLT5uYW1lLT5sb2NhdGlvbikpOwogCQl9CiAJfQpAQCAtNTgwNSwxNCAr NTgwNSwxNCBAQCBjYWxjdWxhdGVfcGFydGl0aW9uX2JvdW5kX2Zvcl9tZXJnZShSZWxhdGlv biBwYXJlbnQsCiAJCQkJfQogCiAJCQkJLyoKLQkJCQkgKiBMb3dlciBib3VuZCBvZiBmaXJz dCBwYXJ0aXRpb24gaXMgYSBsb3dlciBib3VuZCBvZiBtZXJnZWQKKwkJCQkgKiBMb3dlciBi b3VuZCBvZiBmaXJzdCBwYXJ0aXRpb24gaXMgdGhlIGxvd2VyIGJvdW5kIG9mIG1lcmdlZAog CQkJCSAqIHBhcnRpdGlvbi4KIAkJCQkgKi8KIAkJCQlzcGVjLT5sb3dlcmRhdHVtcyA9CiAJ CQkJCSgoUGFydGl0aW9uQm91bmRTcGVjICopIGxpc3RfbnRoKGJvdW5kcywgbG93ZXJfYm91 bmRzWzBdLT5pbmRleCkpLT5sb3dlcmRhdHVtczsKIAogCQkJCS8qCi0JCQkJICogVXBwZXIg Ym91bmQgb2YgbGFzdCBwYXJ0aXRpb24gaXMgYSB1cHBlciBib3VuZCBvZiBtZXJnZWQKKwkJ CQkgKiBVcHBlciBib3VuZCBvZiBsYXN0IHBhcnRpdGlvbiBpcyB0aGUgdXBwZXIgYm91bmQg b2YgbWVyZ2VkCiAJCQkJICogcGFydGl0aW9uLgogCQkJCSAqLwogCQkJCXNwZWMtPnVwcGVy ZGF0dW1zID0KZGlmZiAtLWdpdCBhL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9wYXJ0aXRp b24tbWVyZ2Uuc3BlYyBiL3NyYy90ZXN0L2lzb2xhdGlvbi9zcGVjcy9wYXJ0aXRpb24tbWVy Z2Uuc3BlYwppbmRleCBlYzQ4NzMyYzU4Li5kYzJiOWQzNDQ1IDEwMDY0NAotLS0gYS9zcmMv dGVzdC9pc29sYXRpb24vc3BlY3MvcGFydGl0aW9uLW1lcmdlLnNwZWMKKysrIGIvc3JjL3Rl c3QvaXNvbGF0aW9uL3NwZWNzL3BhcnRpdGlvbi1tZXJnZS5zcGVjCkBAIC0zOCw3ICszOCw3 IEBAIHN0ZXAgczJzCXsgU0VMRUNUICogRlJPTSB0cGFydDsgfQogCiAKICMgczIgaW5zZXJ0 cyByb3cgaW50byB0YWJsZS4gczEgc3RhcnRzIE1FUkdFIFBBUlRJVElPTlMgdGhlbgotIyBz MiB0cnlpbmcgdG8gdXBkYXRlIGluc2VydGVkIHJvdyBhbmQgd2FpdHMgdW50aWwgczEgZmlu aXNoZWQKKyMgczIgaXMgdHJ5aW5nIHRvIHVwZGF0ZSBpbnNlcnRlZCByb3cgYW5kIHdhaXRz IHVudGlsIHMxIGZpbmlzaGVzCiAjIE1FUkdFIG9wZXJhdGlvbi4KIAogcGVybXV0YXRpb24g czJiIHMyaSBzMmMgczFiIHMxbWVyZyBzMmIgczJ1IHMxYyBzMmMgczJzCmRpZmYgLS1naXQg YS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9tZXJnZS5vdXQKaW5kZXggOWQ0ODI2 MmE4Mi4uMzljM2I5MGI5YyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3Rl ZC9wYXJ0aXRpb25fbWVyZ2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv cGFydGl0aW9uX21lcmdlLm91dApAQCAtMjAsMTkgKzIwLDE5IEBAIENSRUFURSBUQUJMRSBz YWxlc19hcHJfMSBQQVJUSVRJT04gT0Ygc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00g KCcyMDIyLTA0LTAxCiBDUkVBVEUgVEFCTEUgc2FsZXNfYXByXzIgUEFSVElUSU9OIE9GIHNh bGVzX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wNC0xNScpIFRPICgnMjAyMi0w NS0wMScpOwogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgQVRUQUNIIFBBUlRJVElPTiBzYWxl c19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDUt MDEnKTsKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNhbGVzX3Jh bmdlIERFRkFVTFQ7Ci0tLSBFUlJPUjogIHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVzX2Zl YjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6ICBwYXJ0aXRpb24gd2l0aCBuYW1lICJz YWxlc19mZWIyMDIyIiBpcyBhbHJlYWR5IHVzZWQKIEFMVEVSIFRBQkxFIHNhbGVzX3Jhbmdl IE1FUkdFIFBBUlRJVElPTlMgKHNhbGVzX2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNhbGVz X2ZlYjIwMjIpIElOVE8gc2FsZXNfZmViX21hcl9hcHIyMDIyOwotRVJST1I6ICBwYXJ0aXRp b24gd2l0aCBuYW1lICJzYWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKK0VSUk9SOiAgcGFy dGl0aW9uIHdpdGggbmFtZSAic2FsZXNfZmViMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBMSU5F IDE6IC4uLmUgTUVSR0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAy Miwgc2FsZXNfZmViMi4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIF4KIC0tIEVSUk9SOiAgInNhbGVzX2FwcjIwMjIi IGlzIG5vdCBhbiBvcmRpbmFyeSB0YWJsZQogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVS R0UgUEFSVElUSU9OUyAoc2FsZXNfZmViMjAyMiwgc2FsZXNfbWFyMjAyMiwgc2FsZXNfYXBy MjAyMikgSU5UTyBzYWxlc19mZWJfbWFyX2FwcjIwMjI7CiBFUlJPUjogICJzYWxlc19hcHIy MDIyIiBpcyBub3QgYW4gb3JkaW5hcnkgdGFibGUKLS0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0 aXRpb25zIG9yZGVyLCBwYXJ0aXRpb24gInNhbGVzX21hcjIwMjIiIGNhbiBub3QgYmUgbWVy Z2VkCistLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAy MiIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJz YWxlc19qYW4yMDIyIgogLS0gKHNwYWNlIGJldHdlZW4gc2VjdGlvbnMgc2FsZXNfamFuMjAy MiBhbmQgc2FsZXNfbWFyMjAyMikKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBB UlRJVElPTlMgKHNhbGVzX2phbjIwMjIsIHNhbGVzX21hcjIwMjIpIElOVE8gc2FsZXNfamFu X21hcjIwMjI7CiBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFy MjAyMiIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9u ICJzYWxlc19qYW4yMDIyIgotLS0gRVJST1I6ICBpbnZhbGlkIHBhcnRpdGlvbnMgb3JkZXIs IHBhcnRpdGlvbiAic2FsZXNfamFuMjAyMiIgY2FuIG5vdCBiZSBtZXJnZWQKKy0tIEVSUk9S OiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19qYW4yMDIyIiBjb25mbGljdHMg d2l0aCB1cHBlciBib3VuZCBvZiBwcmV2aW91cyBwYXJ0aXRpb24gInNhbGVzX2RlYzIwMjEi CiAtLSAoc3BhY2UgYmV0d2VlbiBzZWN0aW9ucyBzYWxlc19kZWMyMDIxIGFuZCBzYWxlc19q YW4yMDIyKQogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgTUVSR0UgUEFSVElUSU9OUyAoc2Fs ZXNfZGVjMjAyMSwgc2FsZXNfamFuMjAyMiwgc2FsZXNfZmViMjAyMikgSU5UTyBzYWxlc19k ZWNfamFuX2ZlYjIwMjI7CiBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2Fs ZXNfamFuMjAyMiIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFy dGl0aW9uICJzYWxlc19kZWMyMDIxIgpAQCAtNTIsNyArNTIsNyBAQCBTRUxFQ1QgYy5vaWQ6 OnBnX2NhdGFsb2cucmVnY2xhc3MsIGMucmVsa2luZCwgaW5oZGV0YWNocGVuZGluZywgcGdf Y2F0YWxvZy5wZ19nZQogCiBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlOwogLS0KLS0tIEFkZCBy b3dzIGludG8gcGFydGl0aW9uZWQgdGFibGUgdGhlbiBtZXJnZSBwYXJ0aXRpb25zCistLSBB ZGQgcm93cyBpbnRvIHBhcnRpdGlvbmVkIHRhYmxlLCB0aGVuIG1lcmdlIHBhcnRpdGlvbnMK IC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNt YW5fbmFtZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBEQVRF KSBQQVJUSVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVz X2phbjIwMjIgUEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIEZPUiBWQUxVRVMgRlJPTSAoJzIw MjItMDEtMDEnKSBUTyAoJzIwMjItMDItMDEnKTsKQEAgLTE2Miw3ICsxNjIsNyBAQCBTRUxF Q1QgKiBGUk9NIHNhbGVzX290aGVyczsKICAgICAgICAgICAxNCB8IFNtaXRoICAgICAgICAg fCAgICAgICAgICA1MTAgfCAwNS0wNC0yMDIyCiAoMSByb3cpCiAKLS0tIFVzZSBpbmRleHNj YW4gZm9yIHRlc3QgaW5kZXhlcworLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdGluZyBpbmRl eGVzCiBTRVQgZW5hYmxlX3NlcXNjYW4gPSBPRkY7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2Zl Yl9tYXJfYXByMjAyMiB3aGVyZSBzYWxlc19kYXRlID4gJzIwMjItMDEtMDEnOwogIHNhbGVz bWFuX2lkIHwgc2FsZXNtYW5fbmFtZSB8IHNhbGVzX2Ftb3VudCB8IHNhbGVzX2RhdGUgCkBA IC03MDQsNyArNzA0LDcgQEAgU0VMRUNUICogRlJPTSBzYWxlc19hbGw7CiAgICAgICAgICAg MTMgfCBHYW5kaSAgICAgICAgIHwgV2Fyc2F3ICAgICAgfCAgICAgICAgICAxNTAgfCAwMy0w OC0yMDIyCiAoMTAgcm93cykKIAotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVz IGFmdGVyIG1lcmdlIHBhcnRpdGlvbnMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3Rpbmcg aW5kZXhlcyBhZnRlciBtZXJnaW5nIHBhcnRpdGlvbnMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9 IE9GRjsKIFNFTEVDVCAqIEZST00gc2FsZXNfYWxsIFdIRVJFIHNhbGVzX3N0YXRlID0gJ1dh cnNhdyc7CiAgc2FsZXNtYW5faWQgfCBzYWxlc21hbl9uYW1lIHwgc2FsZXNfc3RhdGUgfCBz YWxlc19hbW91bnQgfCBzYWxlc19kYXRlIApkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9leHBl Y3RlZC9wYXJ0aXRpb25fc3BsaXQub3V0CmluZGV4IDNkMjIwODNlNDEuLjQ2ZjAyMDEzYmUg MTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGFydGl0aW9uX3NwbGl0 Lm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BhcnRpdGlvbl9zcGxpdC5v dXQKQEAgLTQzLDcgKzQzLDcgQEAgRVJST1I6ICBlbXB0eSByYW5nZSBib3VuZCBzcGVjaWZp ZWQgZm9yIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIKIExJTkUgMzogICAgUEFSVElUSU9O IHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPLi4uCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgog REVUQUlMOiAgU3BlY2lmaWVkIGxvd2VyIGJvdW5kICgnMDMtMDEtMjAyMicpIGlzIGdyZWF0 ZXIgdGhhbiBvciBlcXVhbCB0byB1cHBlciBib3VuZCAoJzAyLTAxLTIwMjInKS4KLS0tRVJS T1I6ICBsaXN0IG9mIHNwbGl0IHBhcnRpdGlvbnMgc2hvdWxkIGNvbnRhaW5zIGF0IGxlYXN0 IHR3byBpdGVtcworLS1FUlJPUjogIGxpc3Qgb2Ygc3BsaXQgcGFydGl0aW9ucyBzaG91bGQg Y29udGFpbiBhdCBsZWFzdCB0d28gaXRlbXMKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQ TElUIFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9O IHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAy Mi0xMC0wMScpKTsKIEVSUk9SOiAgbGlzdCBvZiBuZXcgcGFydGl0aW9ucyBzaG91bGQgY29u dGFpbiBhdCBsZWFzdCB0d28gaXRlbXMKQEAgLTU1LDIxICs1NSwyMSBAQCBBTFRFUiBUQUJM RSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElO VE8KIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19mZWIyMDIyIiBp cyBsZXNzIHRoYW4gbG93ZXIgYm91bmQgb2Ygc3BsaXQgcGFydGl0aW9uCiBMSU5FIDI6ICAg KFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDEtMDEn KSBUTy4uLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIF4KLS0tIEVSUk9SOiAgbmFtZSAic2FsZXNfZmViX21hcl9hcHIyMDIyIiBhbHJl YWR5IHVzZWQKKy0tIEVSUk9SOiAgbmFtZSAic2FsZXNfZmViX21hcl9hcHIyMDIyIiBpcyBh bHJlYWR5IHVzZWQKIC0tIChXZSBjYW4gY3JlYXRlIHBhcnRpdGlvbiB3aXRoIHRoZSBzYW1l IG5hbWUgYXMgc3BsaXQgcGFydGl0aW9uLCBidXQgY2FuJ3QgY3JlYXRlIHR3byBwYXJ0aXRp b25zIHdpdGggdGhlIHNhbWUgbmFtZSkKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElU IFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9OIHNh bGVzX2ZlYl9tYXJfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAyLTAxJykgVE8g KCcyMDIyLTAzLTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIEZP UiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKICAgIFBB UlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBU TyAoJzIwMjItMDUtMDEnKSk7Ci1FUlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAy MiIgYWxyZWFkeSB1c2VkCitFUlJPUjogIG5hbWUgInNhbGVzX2ZlYl9tYXJfYXByMjAyMiIg aXMgYWxyZWFkeSB1c2VkCiBMSU5FIDM6ICAgIFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2Fw cjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy4uLgogICAgICAgICAgICAgICAgICAg ICAgXgotLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKKy0t IEVSUk9SOiAgbmFtZSAic2FsZXNfZmViMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBBTFRFUiBU QUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIy IElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIw MjItMDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWIy MDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwK ICAgIFBBUlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDQt MDEnKSBUTyAoJzIwMjItMDUtMDEnKSk7Ci1FUlJPUjogIG5hbWUgInNhbGVzX2ZlYjIwMjIi IGFscmVhZHkgdXNlZAorRVJST1I6ICBuYW1lICJzYWxlc19mZWIyMDIyIiBpcyBhbHJlYWR5 IHVzZWQKIExJTkUgMzogICAgUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBG Uk9NICgnMjAyMi0wMy0wMScpIFRPLi4uCiAgICAgICAgICAgICAgICAgICAgICBeCiAtLSBF UlJPUjogICJzYWxlc19mZWJfbWFyX2FwcjIwMjIiIGlzIG5vdCBhIHBhcnRpdGlvbmVkIHRh YmxlCkBAIC04Niw3ICs4Niw3IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBB UlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogRVJST1I6ICB1cHBlciBib3Vu ZCBvZiBwYXJ0aXRpb24gInNhbGVzX2FwcjIwMjIiIGlzIGdyZWF0ZXIgdGhhbiB1cHBlciBi b3VuZCBvZiBzcGxpdCBwYXJ0aXRpb24KIExJTkUgNDogLi4uIHNhbGVzX2FwcjIwMjIgRk9S IFZBTFVFUyBGUk9NICgnMjAyMi0wNC0wMScpIFRPICgnMjAyMi0wNi0wLi4uCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg XgotLS0gRVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX21hcjIwMjIi IGlzIG5vdCBlcXVhbHMgdG8gdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uCist LSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY29u ZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19m ZWIyMDIyIgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVz X2ZlYl9tYXJfYXByMjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1Ig VkFMVUVTIEZST00gKCcyMDIyLTAyLTAxJykgVE8gKCcyMDIyLTAzLTAxJyksCiAgICBQQVJU SVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAyLTAxJykgVE8g KCcyMDIyLTA0LTAxJyksCkBAIC05Niw3ICs5Niw3IEBAIExJTkUgMzogICAgUEFSVElUSU9O IHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPLi4uCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXgog LS0gVGVzdHMgZm9yIHNwYWNlcyBiZXR3ZWVuIHBhcnRpdGlvbnMsIHRoZW0gc2hvdWxkIGJl IGV4ZWN1dGVkIHdpdGhvdXQgREVGQVVMVCBwYXJ0aXRpb24KIEFMVEVSIFRBQkxFIHNhbGVz X3JhbmdlIERFVEFDSCBQQVJUSVRJT04gc2FsZXNfb3RoZXJzOwotLS0gRVJST1I6ICBsb3dl ciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiIGlzIG5vdCBlcXVhbHMgdG8g bG93ZXIgYm91bmQgb2Ygc3BsaXQgcGFydGl0aW9uCistLSBFUlJPUjogIGxvd2VyIGJvdW5k IG9mIHBhcnRpdGlvbiAic2FsZXNfZmViMjAyMiIgaXMgbm90IGVxdWFsIHRvIGxvd2VyIGJv dW5kIG9mIHNwbGl0IHBhcnRpdGlvbgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQg UEFSVElUSU9OIHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2Fs ZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAyLTAyJykgVE8gKCcyMDIyLTAz LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAyMiBGT1IgVkFMVUVTIEZST00gKCcy MDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCkBAIC0xOTEsNyArMTkxLDcgQEAgU0VM RUNUICogRlJPTSBzYWxlc19vdGhlcnM7CiAKIERST1AgVEFCTEUgc2FsZXNfcmFuZ2UgQ0FT Q0FERTsKIC0tCi0tLSBBZGQgc3BsaXQgcGFydGl0aW9uIHRoZW4gYWRkIHJvd3MgaW50byBw YXJ0aXRpb25lZCB0YWJsZQorLS0gQWRkIHNwbGl0IHBhcnRpdGlvbiwgdGhlbiBhZGQgcm93 cyBpbnRvIHBhcnRpdGlvbmVkIHRhYmxlCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX3Jhbmdl IChzYWxlc21hbl9pZCBJTlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ft b3VudCBJTlQsIHNhbGVzX2RhdGUgREFURSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19k YXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19qYW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19y YW5nZSBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7 CkBAIC0zOTQsNyArMzk0LDcgQEAgTElORSAxOiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2phbl9m ZWIyMDIyOwogICAgICAgICAgICAgICAgICAgICAgIF4KIERST1AgVEFCTEUgc2FsZXNfZGF0 ZSBDQVNDQURFOwogLS0KLS0tIFRlc3Q6IHNwbGl0IERFRkFVTFQgcGFydGl0aW9uOyB1c2lu ZyBhIGluZGV4IG9uIHBhcnRpdGlvbiBrZXk7IGNoZWNrIGluZGV4IGFmdGVyIHNwbGl0Cist LSBUZXN0OiBzcGxpdCBERUZBVUxUIHBhcnRpdGlvbjsgdXNlIGFuIGluZGV4IG9uIHBhcnRp dGlvbiBrZXk7IGNoZWNrIGluZGV4IGFmdGVyIHNwbGl0CiAtLQogQ1JFQVRFIFRBQkxFIHNh bGVzX3JhbmdlIChzYWxlc21hbl9pZCBJTlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCks IHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUgREFURSkgUEFSVElUSU9OIEJZIFJBTkdF IChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19qYW4yMDIyIFBBUlRJVElPTiBP RiBzYWxlc19yYW5nZSBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAxLTAxJykgVE8gKCcyMDIy LTAyLTAxJyk7CkBAIC00NDEsNyArNDQxLDcgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2Ug U1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgICBQQVJUSVRJT04gc2FsZXNf bWFyMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAx JyksCiAgICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIy LTA0LTAxJykgVE8gKCcyMDIyLTA1LTAxJyksCiAgICBQQVJUSVRJT04gc2FsZXNfb3RoZXJz IERFRkFVTFQpOwotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzCistLSBVc2Ug aW5kZXhzY2FuIGZvciB0ZXN0aW5nIGluZGV4ZXMKIFNFVCBlbmFibGVfaW5kZXhzY2FuID0g T047CiBTRVQgZW5hYmxlX3NlcXNjYW4gPSBPRkY7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2Zl YjIwMjIgd2hlcmUgc2FsZXNfZGF0ZSA+ICcyMDIyLTAxLTAxJzsKQEAgLTUwMyw3ICs1MDMs NyBAQCBTRUxFQ1QgKiBGUk9NIHBnX2luZGV4ZXMgV0hFUkUgdGFibGVuYW1lID0gJ3NhbGVz X290aGVycycgYW5kIHNjaGVtYW5hbWUgPSAncGFydAogCiBEUk9QIFRBQkxFIHNhbGVzX3Jh bmdlIENBU0NBREU7CiAtLQotLS0gVGVzdDogc29tZSBjYXNlcyBmb3Igc3BsaXQgREVGQVVM VCBwYXJ0aXRpb24gKGRpZmZlcmVudCBib3VuZHMpCistLSBUZXN0OiBzb21lIGNhc2VzIGZv ciBzcGxpdHRpbmcgREVGQVVMVCBwYXJ0aXRpb24gKGRpZmZlcmVudCBib3VuZHMpCiAtLQog Q1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChzYWxlc21hbl9pZCBJTlQsIHNhbGVzbWFuX25h bWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUgSU5UKSBQQVJU SVRJT04gQlkgUkFOR0UgKHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX290aGVy cyBQQVJUSVRJT04gT0Ygc2FsZXNfcmFuZ2UgREVGQVVMVDsKQEAgLTUzNyw3ICs1MzcsNyBA QCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3RoZXJz IElOVE8KIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19lcnJvciIg Y29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxl c19kZWMyMDIyIgogTElORSAzOiAgICBQQVJUSVRJT04gc2FsZXNfZXJyb3IgRk9SIFZBTFVF UyBGUk9NICgyMDIxMTIxMCkgVE8gKDIwMjEuLi4KICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXgotLS0gc2FsZXNfZXJyb3IgaW50ZXJzZWN0 cyB3aXRoIHNhbGVzX2RlYzIwMjIgKGV4YWN0IHRoZSBzYW1lIGJvdW5kcykKKy0tIHNhbGVz X2Vycm9yIGludGVyc2VjdHMgd2l0aCBzYWxlc19kZWMyMDIyIChleGFjdGx5IHRoZSBzYW1l IGJvdW5kcykKIC0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19l cnJvciIgY29uZmxpY3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9u ICJzYWxlc19kZWMyMDIyIgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElU SU9OIHNhbGVzX290aGVycyBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBGT1Ig VkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAyMjAxMDEpLApAQCAtNTQ3LDE1ICs1NDcs MTUgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290 aGVycyBJTlRPCiBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfZXJy b3IiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbiAi c2FsZXNfZGVjMjAyMiIKIExJTkUgMzogICAgUEFSVElUSU9OIHNhbGVzX2Vycm9yIEZPUiBW QUxVRVMgRlJPTSAoMjAyMTEyMDEpIFRPICgyMDIyLi4uCiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF4KLS0tIEVSUk9SOiAgYW55IHBhcnRp dGlvbiBpbiB0aGUgbGlzdCBzaG91bGQgYmUgREVGQVVMVCBiZWNhdXNlIHNwbGl0IHBhcnRp dGlvbiBpcyBERUZBVUxUCistLSBFUlJPUjogIGFsbCBwYXJ0aXRpb25zIGluIHRoZSBsaXN0 IHNob3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0aW9uIGlzIERFRkFVTFQK IEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMg SU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIx MTIwMSkgVE8gKDIwMjIwMTAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19qYW4yMDIyIEZPUiBW QUxVRVMgRlJPTSAoMjAyMjAxMDEpIFRPICgyMDIyMDIwMSksCiAgICBQQVJUSVRJT04gc2Fs ZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjIwMjAxKSBUTyAoMjAyMjAzMDEpKTsK LUVSUk9SOiAgYW55IHBhcnRpdGlvbiBpbiB0aGUgbGlzdCBzaG91bGQgYmUgREVGQVVMVCBi ZWNhdXNlIHNwbGl0IHBhcnRpdGlvbiBpcyBERUZBVUxUCitFUlJPUjogIGFsbCBwYXJ0aXRp b25zIGluIHRoZSBsaXN0IHNob3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3BsaXQgcGFydGl0 aW9uIGlzIERFRkFVTFQKIExJTkUgMjogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9S IFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwLi4uCiAgICAgICAgICAgICAgICAgICAg ICBeCi0tLSBubyBlcnJvcjogYm91bmRzIG9mIHNhbGVzX25vZXJyb3IgYmV0d2VlbiBzYWxl c19kZWMyMDIyIGFuZCBzYWxlc19mZWIyMDIyCistLSBubyBlcnJvcjogYm91bmRzIG9mIHNh bGVzX25vZXJyb3IgYXJlIGJldHdlZW4gc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAy MgogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVy cyBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIw MjExMjAxKSBUTyAoMjAyMjAxMDEpLAogICAgUEFSVElUSU9OIHNhbGVzX25vZXJyb3IgRk9S IFZBTFVFUyBGUk9NICgyMDIyMDExMCkgVE8gKDIwMjIwMTIwKSwKQEAgLTU2NCw3ICs1NjQs NyBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfb3Ro ZXJzIElOVE8KIERST1AgVEFCTEUgc2FsZXNfcmFuZ2U7CiBDUkVBVEUgVEFCTEUgc2FsZXNf cmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwgc2Fs ZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBJTlQpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2Fs ZXNfZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfb3RoZXJzIFBBUlRJVElPTiBPRiBzYWxl c19yYW5nZSBERUZBVUxUOwotLS0gbm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxlc19ub2Vycm9y IGVxdWFscyB0byBsb3dlciBhbmQgdXBwZXIgYm91bmRzIG9mIHNhbGVzX2RlYzIwMjIgYW5k IHNhbGVzX2ZlYjIwMjIKKy0tIG5vIGVycm9yOiBib3VuZHMgb2Ygc2FsZXNfbm9lcnJvciBh cmUgZXF1YWwgdG8gbG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBvZiBzYWxlc19kZWMyMDIyIGFu ZCBzYWxlc19mZWIyMDIyCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJ T04gc2FsZXNfb3RoZXJzIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc19kZWMyMDIyIEZPUiBW QUxVRVMgRlJPTSAoMjAyMTEyMDEpIFRPICgyMDIyMDEwMSksCiAgICBQQVJUSVRJT04gc2Fs ZXNfbm9lcnJvciBGT1IgVkFMVUVTIEZST00gKDIwMjEwMTAxKSBUTyAoMjAyMTAyMDEpLApA QCAtNjE2LDcgKzYxNiw3IEBAIFNFTEVDVCBwZ19nZXRfY29uc3RyYWludGRlZihvaWQpLCBj b25uYW1lLCBjb25rZXkgRlJPTSBwZ19jb25zdHJhaW50IFdIRVJFIGNvbnJlCiAgRk9SRUlH TiBLRVkgKHNhbGVzbWFuX2lkKSBSRUZFUkVOQ0VTIHNhbGVzbWFucyhzYWxlc21hbl9pZCkg fCBzYWxlc19yYW5nZV9zYWxlc21hbl9pZF9ma2V5ICAgfCB7MX0KICgyIHJvd3MpCiAKLS0t IEVSUk9SOiAgbmV3IHJvdyBmb3IgcmVsYXRpb24gInNhbGVzX21hcjIwMjIiIHZpb2xhdGVz IGNoZWNrIGNvbnN0cmFpbnQgInNhbGVzX3JhbmdlX3NhbGVzbWFuX2lkX2NoZWNrIgorLS0g RVJST1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAic2FsZXNfbWFyMjAyMiIgdmlvbGF0ZXMg Y2hlY2sgY29uc3RyYWludCAic2FsZXNfcmFuZ2Vfc2FsZXNfYW1vdW50X2NoZWNrIgogSU5T RVJUIElOVE8gc2FsZXNfcmFuZ2UgVkFMVUVTICgxLCAwLCAnMjAyMi0wMy0xMScpOwogRVJS T1I6ICBuZXcgcm93IGZvciByZWxhdGlvbiAic2FsZXNfbWFyMjAyMiIgdmlvbGF0ZXMgY2hl Y2sgY29uc3RyYWludCAic2FsZXNfcmFuZ2Vfc2FsZXNfYW1vdW50X2NoZWNrIgogREVUQUlM OiAgRmFpbGluZyByb3cgY29udGFpbnMgKDEsIDAsIDAzLTExLTIwMjIpLgpAQCAtNjI5LDcg KzYyOSw3IEBAIElOU0VSVCBJTlRPIHNhbGVzX3JhbmdlIFZBTFVFUyAoMSwgMTAsICcyMDIy LTAzLTExJyk7CiBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlIENBU0NBREU7CiBEUk9QIFRBQkxF IHNhbGVzbWFucyBDQVNDQURFOwogLS0KLS0tIFRlc3Q6IHNwbGl0IHBhcnRpdGlvbiBvbiBw YXJ0aXRpb25lZCB0YWJsZSBpbiBjYXNlIGV4aXN0cyBGT1JFSUdOIEtFWSByZWZlcmVuY2Ug ZnJvbSBhbm90aGVyIHRhYmxlCistLSBUZXN0OiBzcGxpdCBwYXJ0aXRpb24gb24gcGFydGl0 aW9uZWQgdGFibGUgaW4gY2FzZSBvZiBleGlzdGluZyBGT1JFSUdOIEtFWSByZWZlcmVuY2Ug ZnJvbSBhbm90aGVyIHRhYmxlCiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzbWFucyhzYWxlc21h bl9pZCBJTlQgUFJJTUFSWSBLRVksIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpIFBBUlRJ VElPTiBCWSBSQU5HRSAoc2FsZXNtYW5faWQpOwogQ1JFQVRFIFRBQkxFIHNhbGVzIChzYWxl c21hbl9pZCBJTlQgUkVGRVJFTkNFUyBzYWxlc21hbnMoc2FsZXNtYW5faWQpLCBzYWxlc19h bW91bnQgSU5ULCBzYWxlc19kYXRlIERBVEUpOwpAQCAtNzcwLDExICs3NzAsMTEgQEAgRFJP UCBUQUJMRSBzYWxlc21hbnMgQ0FTQ0FERTsKIERST1AgRlVOQ1RJT04gYWZ0ZXJfaW5zZXJ0 X3Jvd190cmlnZ2VyKCk7CiAtLQogLS0gVGVzdDogc3BsaXQgcGFydGl0aW9uIHdpdGNoIGlk ZW50aXR5IGNvbHVtbgotLS0gSWYgc3BsaXQgcGFydGl0aW9uIGNvbHVtbiBpcyBpZGVudGl0 eS1jb2x1bW4sIGNvbHVtbnMgb2YgbmV3IHBhcnRpdGlvbnMgYXJlIGlkZW50aXR5LWNvbHVt bnMgdG9vLgorLS0gSWYgc3BsaXQgcGFydGl0aW9uIGNvbHVtbiBpcyBpZGVudGl0eSBjb2x1 bW4sIGNvbHVtbnMgb2YgbmV3IHBhcnRpdGlvbnMgYXJlIGlkZW50aXR5IGNvbHVtbnMgdG9v LgogLS0KIENSRUFURSBUQUJMRSBzYWxlc21hbnMoc2FsZXNtYW5faWQgSU5UIEdFTkVSQVRF RCBBTFdBWVMgQVMgSURFTlRJVFkgUFJJTUFSWSBLRVksIHNhbGVzbWFuX25hbWUgVkFSQ0hB UigzMCkpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNtYW5faWQpOwogQ1JFQVRFIFRBQkxF IHNhbGVzbWFuczFfMiBQQVJUSVRJT04gT0Ygc2FsZXNtYW5zIEZPUiBWQUxVRVMgRlJPTSAo MSkgVE8gKDIpOwotLS0gQ3JlYXRlIG5ldyBwYXJ0aXRpb24gd2l0aCBpZGVudGl0eS1jb2x1 bW46CistLSBDcmVhdGUgbmV3IHBhcnRpdGlvbiB3aXRoIGlkZW50aXR5IGNvbHVtbjoKIENS RUFURSBUQUJMRSBzYWxlc21hbnMyXzUoc2FsZXNtYW5faWQgSU5UIE5PVCBOVUxMLCBzYWxl c21hbl9uYW1lIFZBUkNIQVIoMzApKTsKIEFMVEVSIFRBQkxFIHNhbGVzbWFucyBBVFRBQ0gg UEFSVElUSU9OIHNhbGVzbWFuczJfNSBGT1IgVkFMVUVTIEZST00gKDIpIFRPICg1KTsKIElO U0VSVCBJTlRPIHNhbGVzbWFucyAoc2FsZXNtYW5fbmFtZSkgVkFMVUVTICgnUG9pcm90Jyk7 CkBAIC03OTMsNyArNzkzLDcgQEAgU0VMRUNUIGF0dG5hbWUsIGF0dGlkZW50aXR5LCBhdHRn ZW5lcmF0ZWQgRlJPTSBwZ19hdHRyaWJ1dGUgV0hFUkUgYXR0bnVtID4gMCBBTkQKICBzYWxl c21hbl9uYW1lIHwgICAgICAgICAgICAgfCAKICgyIHJvd3MpCiAKLS0tIFNwbGl0IHBhcnRp dGlvbiBoYXMgaWRlbnRpdHktY29sdW1uOgorLS0gU3BsaXQgcGFydGl0aW9uIGhhcyBpZGVu dGl0eSBjb2x1bW46CiBTRUxFQ1QgYXR0bmFtZSwgYXR0aWRlbnRpdHksIGF0dGdlbmVyYXRl ZCBGUk9NIHBnX2F0dHJpYnV0ZSBXSEVSRSBhdHRudW0gPiAwIEFORCBhdHRyZWxpZCA9ICdz YWxlc21hbnMyXzUnOjpyZWdjbGFzczo6b2lkOwogICAgIGF0dG5hbWUgICAgfCBhdHRpZGVu dGl0eSB8IGF0dGdlbmVyYXRlZCAKIC0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tCkBAIC0xMDM2LDcgKzEwMzYsNyBAQCBQQVJUSVRJT04gQlkgTElTVCAo c2FsZXNfc3RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX25vcmQgUEFSVElUSU9OIE9GIHNh bGVzX2xpc3QgRk9SIFZBTFVFUyBJTiAoJ09zbG8nLCAnU3QuIFBldGVyc2J1cmcnLCAnSGVs c2lua2knKTsKIENSRUFURSBUQUJMRSBzYWxlc19hbGwgUEFSVElUSU9OIE9GIHNhbGVzX2xp c3QgRk9SIFZBTFVFUyBJTiAoJ1dhcnNhdycsICdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFk cmlkJywgJ0JlamluZycsICdCZXJsaW4nLCAnRGVsaGknLCAnS3lpdicsICdWbGFkaXZvc3Rv aycpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX290aGVycyBQQVJUSVRJT04gT0Ygc2FsZXNfbGlz dCBERUZBVUxUOwotLS0gRVJST1I6ICBwYXJ0aXRpb24gInNhbGVzX2Vhc3QiIHdvdWxkIG92 ZXJsYXAgcGFydGl0aW9uICJzYWxlc19ub3JkIgorLS0gRVJST1I6ICBuZXcgcGFydGl0aW9u ICJzYWxlc19lYXN0IiB3b3VsZCBvdmVybGFwIHdpdGggYW5vdGhlciAobm90IHNwbGl0KSBw YXJ0aXRpb24gInNhbGVzX25vcmQiCiBBTFRFUiBUQUJMRSBzYWxlc19saXN0IFNQTElUIFBB UlRJVElPTiBzYWxlc19hbGwgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX3dlc3QgRk9SIFZB TFVFUyBJTiAoJ0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnKSwKICAgIFBBUlRJVElP TiBzYWxlc19lYXN0IEZPUiBWQUxVRVMgSU4gKCdCZWppbmcnLCAnRGVsaGknLCAnVmxhZGl2 b3N0b2snLCAnSGVsc2lua2knKSwKQEAgLTEwNjMsOCArMTA2Myw4IEBAIExJTkUgMjogLi4u c193ZXN0IEZPUiBWQUxVRVMgSU4gKCdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlkJywg TlVMTCksCiBEUk9QIFRBQkxFIHNhbGVzX2xpc3Q7CiAtLQogLS0gVGVzdDogdHdvIHNwZWNp ZmljIGVycm9ycyBmb3IgQlkgTElTVCBwYXJ0aXRpb25pbmc6Ci0tLSAgICogbmV3IHBhcnRp dGlvbnMgbm90IGhhcyBOVUxMIHZhbHVlIHRoYXQgc3BsaXQgcGFydGl0aW9uIGhhcy4KLS0t ICAgKiBuZXcgcGFydGl0aW9ucyBub3QgaGFzIGEgdmFsdWUgdGhhdCBzcGxpdCBwYXJ0aXRp b24gaGFzLgorLS0gICAqIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIE5VTEwgdmFsdWUs IHdoaWNoIHNwbGl0IHBhcnRpdGlvbiBoYXMuCistLSAgICogbmV3IHBhcnRpdGlvbnMgZG8g bm90IGhhdmUgYSB2YWx1ZSB0aGF0IHNwbGl0IHBhcnRpdGlvbiBoYXMuCiAtLQogQ1JFQVRF IFRBQkxFIHNhbGVzX2xpc3QKIChzYWxlc21hbl9pZCBJTlQsCkBAIC0xMDc1LDE4ICsxMDc1 LDE4IEBAIENSRUFURSBUQUJMRSBzYWxlc19saXN0CiBQQVJUSVRJT04gQlkgTElTVCAoc2Fs ZXNfc3RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX25vcmQgUEFSVElUSU9OIE9GIHNhbGVz X2xpc3QgRk9SIFZBTFVFUyBJTiAoJ0hlbHNpbmtpJywgJ1N0LiBQZXRlcnNidXJnJywgJ09z bG8nKTsKIENSRUFURSBUQUJMRSBzYWxlc19hbGwgUEFSVElUSU9OIE9GIHNhbGVzX2xpc3Qg Rk9SIFZBTFVFUyBJTiAoJ1dhcnNhdycsICdMaXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlk JywgJ0JlamluZycsICdCZXJsaW4nLCAnRGVsaGknLCAnS3lpdicsICdWbGFkaXZvc3Rvaycs IE5VTEwpOwotLS0gRVJST1I6ICBuZXcgcGFydGl0aW9ucyBub3QgaGF2ZSB2YWx1ZSBOVUxM IGJ1dCBzcGxpdCBwYXJ0aXRpb24gaGFzCistLSBFUlJPUjogIG5ldyBwYXJ0aXRpb25zIGRv IG5vdCBoYXZlIHZhbHVlIE5VTEwgYnV0IHNwbGl0IHBhcnRpdGlvbiBkb2VzCiBBTFRFUiBU QUJMRSBzYWxlc19saXN0IFNQTElUIFBBUlRJVElPTiBzYWxlc19hbGwgSU5UTwogICAoUEFS VElUSU9OIHNhbGVzX3dlc3QgRk9SIFZBTFVFUyBJTiAoJ0xpc2JvbicsICdOZXcgWW9yaycs ICdNYWRyaWQnKSwKICAgIFBBUlRJVElPTiBzYWxlc19lYXN0IEZPUiBWQUxVRVMgSU4gKCdC ZWppbmcnLCAnRGVsaGknLCAnVmxhZGl2b3N0b2snKSwKICAgIFBBUlRJVElPTiBzYWxlc19j ZW50cmFsIEZPUiBWQUxVRVMgSU4gKCdXYXJzYXcnLCAnQmVybGluJywgJ0t5aXYnKSk7Ci1F UlJPUjogIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXZlIHZhbHVlIE5VTEwgYnV0IHNwbGl0IHBh cnRpdGlvbiBoYXMKLS0tIEVSUk9SOiAgbmV3IHBhcnRpdGlvbnMgbm90IGhhdmUgdmFsdWUg J0t5aXYnIGJ1dCBzcGxpdCBwYXJ0aXRpb24gaGFzCitFUlJPUjogIG5ldyBwYXJ0aXRpb25z IGRvIG5vdCBoYXZlIHZhbHVlIE5VTEwgYnV0IHNwbGl0IHBhcnRpdGlvbiBkb2VzCistLSBF UlJPUjogIG5ldyBwYXJ0aXRpb25zIGRvIG5vdCBoYXZlIHZhbHVlICdLeWl2JyBidXQgc3Bs aXQgcGFydGl0aW9uIGRvZXMKIEFMVEVSIFRBQkxFIHNhbGVzX2xpc3QgU1BMSVQgUEFSVElU SU9OIHNhbGVzX2FsbCBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfd2VzdCBGT1IgVkFMVUVT IElOICgnTGlzYm9uJywgJ05ldyBZb3JrJywgJ01hZHJpZCcpLAogICAgUEFSVElUSU9OIHNh bGVzX2Vhc3QgRk9SIFZBTFVFUyBJTiAoJ0JlamluZycsICdEZWxoaScsICdWbGFkaXZvc3Rv aycpLAogICAgUEFSVElUSU9OIHNhbGVzX2NlbnRyYWwgRk9SIFZBTFVFUyBJTiAoJ1dhcnNh dycsICdCZXJsaW4nLCBOVUxMKSk7Ci1FUlJPUjogIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXZl IHZhbHVlICdLeWl2JyBidXQgc3BsaXQgcGFydGl0aW9uIGhhcworRVJST1I6ICBuZXcgcGFy dGl0aW9ucyBkbyBub3QgaGF2ZSB2YWx1ZSAnS3lpdicgYnV0IHNwbGl0IHBhcnRpdGlvbiBk b2VzCiBEUk9QIFRBQkxFIHNhbGVzX2xpc3Q7CiAtLQogLS0gVGVzdDogQlkgTElTVCBwYXJ0 aXRpb25pbmcsIFNQTElUIFBBUlRJVElPTiB3aXRoIGRhdGEKQEAgLTExNzQsNyArMTE3NCw3 IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfY2VudHJhbDsKICAgICAgICAgICAxMyB8IEdhbmRp ICAgICAgICAgfCBXYXJzYXcgICAgICB8ICAgICAgICAgIDE1MCB8IDAzLTA4LTIwMjIKICg0 IHJvd3MpCiAKLS0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3QgaW5kZXhlcyBhZnRlciBzcGxp dCBwYXJ0aXRpb24KKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcyBhZnRl ciBzcGxpdHRpbmcgcGFydGl0aW9uCiBTRVQgZW5hYmxlX2luZGV4c2NhbiA9IE9OOwogU0VU IGVuYWJsZV9zZXFzY2FuID0gT0ZGOwogU0VMRUNUICogRlJPTSBzYWxlc19jZW50cmFsIFdI RVJFIHNhbGVzX3N0YXRlID0gJ1dhcnNhdyc7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdy ZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGFy dGl0aW9uX21lcmdlLnNxbAppbmRleCAzMTJmMGU0OWQzLi4zOGNiNjA1ODVkIDEwMDY0NAot LS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fbWVyZ2Uuc3FsCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9tZXJnZS5zcWwKQEAgLTI2LDE0ICsyNiwx NCBAQCBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBBVFRBQ0ggUEFSVElUSU9OIHNhbGVzX2Fw cjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wNAogCiBDUkVBVEUgVEFCTEUgc2FsZXNf b3RoZXJzIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBERUZBVUxUOwogCi0tLSBFUlJPUjog IHBhcnRpdGlvbiB3aXRoIG5hbWUgInNhbGVzX2ZlYjIwMjIiIGFscmVhZHkgdXNlZAorLS0g RVJST1I6ICBwYXJ0aXRpb24gd2l0aCBuYW1lICJzYWxlc19mZWIyMDIyIiBpcyBhbHJlYWR5 IHVzZWQKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMgKHNhbGVz X2ZlYjIwMjIsIHNhbGVzX21hcjIwMjIsIHNhbGVzX2ZlYjIwMjIpIElOVE8gc2FsZXNfZmVi X21hcl9hcHIyMDIyOwogLS0gRVJST1I6ICAic2FsZXNfYXByMjAyMiIgaXMgbm90IGFuIG9y ZGluYXJ5IHRhYmxlCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05T IChzYWxlc19mZWIyMDIyLCBzYWxlc19tYXIyMDIyLCBzYWxlc19hcHIyMDIyKSBJTlRPIHNh bGVzX2ZlYl9tYXJfYXByMjAyMjsKLS0tIEVSUk9SOiAgaW52YWxpZCBwYXJ0aXRpb25zIG9y ZGVyLCBwYXJ0aXRpb24gInNhbGVzX21hcjIwMjIiIGNhbiBub3QgYmUgbWVyZ2VkCistLSBF UlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgY29uZmxp Y3RzIHdpdGggdXBwZXIgYm91bmQgb2YgcHJldmlvdXMgcGFydGl0aW9uICJzYWxlc19qYW4y MDIyIgogLS0gKHNwYWNlIGJldHdlZW4gc2VjdGlvbnMgc2FsZXNfamFuMjAyMiBhbmQgc2Fs ZXNfbWFyMjAyMikKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIE1FUkdFIFBBUlRJVElPTlMg KHNhbGVzX2phbjIwMjIsIHNhbGVzX21hcjIwMjIpIElOVE8gc2FsZXNfamFuX21hcjIwMjI7 Ci0tLSBFUlJPUjogIGludmFsaWQgcGFydGl0aW9ucyBvcmRlciwgcGFydGl0aW9uICJzYWxl c19qYW4yMDIyIiBjYW4gbm90IGJlIG1lcmdlZAorLS0gRVJST1I6ICBsb3dlciBib3VuZCBv ZiBwYXJ0aXRpb24gInNhbGVzX2phbjIwMjIiIGNvbmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5k IG9mIHByZXZpb3VzIHBhcnRpdGlvbiAic2FsZXNfZGVjMjAyMSIKIC0tIChzcGFjZSBiZXR3 ZWVuIHNlY3Rpb25zIHNhbGVzX2RlYzIwMjEgYW5kIHNhbGVzX2phbjIwMjIpCiBBTFRFUiBU QUJMRSBzYWxlc19yYW5nZSBNRVJHRSBQQVJUSVRJT05TIChzYWxlc19kZWMyMDIxLCBzYWxl c19qYW4yMDIyLCBzYWxlc19mZWIyMDIyKSBJTlRPIHNhbGVzX2RlY19qYW5fZmViMjAyMjsK IApAQCAtNDgsNyArNDgsNyBAQCBTRUxFQ1QgYy5vaWQ6OnBnX2NhdGFsb2cucmVnY2xhc3Ms IGMucmVsa2luZCwgaW5oZGV0YWNocGVuZGluZywgcGdfY2F0YWxvZy5wZ19nZQogRFJPUCBU QUJMRSBzYWxlc19yYW5nZTsKIAogLS0KLS0tIEFkZCByb3dzIGludG8gcGFydGl0aW9uZWQg dGFibGUgdGhlbiBtZXJnZSBwYXJ0aXRpb25zCistLSBBZGQgcm93cyBpbnRvIHBhcnRpdGlv bmVkIHRhYmxlLCB0aGVuIG1lcmdlIHBhcnRpdGlvbnMKIC0tCiBDUkVBVEUgVEFCTEUgc2Fs ZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElOVCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwg c2FsZXNfYW1vdW50IElOVCwgc2FsZXNfZGF0ZSBEQVRFKSBQQVJUSVRJT04gQlkgUkFOR0Ug KHNhbGVzX2RhdGUpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2phbjIwMjIgUEFSVElUSU9OIE9G IHNhbGVzX3JhbmdlIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDEtMDEnKSBUTyAoJzIwMjIt MDItMDEnKTsKQEAgLTk2LDcgKzk2LDcgQEAgU0VMRUNUICogRlJPTSBzYWxlc19qYW4yMDIy OwogU0VMRUNUICogRlJPTSBzYWxlc19mZWJfbWFyX2FwcjIwMjI7CiBTRUxFQ1QgKiBGUk9N IHNhbGVzX290aGVyczsKIAotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVzCist LSBVc2UgaW5kZXhzY2FuIGZvciB0ZXN0aW5nIGluZGV4ZXMKIFNFVCBlbmFibGVfc2Vxc2Nh biA9IE9GRjsKIAogU0VMRUNUICogRlJPTSBzYWxlc19mZWJfbWFyX2FwcjIwMjIgd2hlcmUg c2FsZXNfZGF0ZSA+ICcyMDIyLTAxLTAxJzsKQEAgLTQxNSw3ICs0MTUsNyBAQCBTRUxFQ1Qg KiBGUk9NIHNhbGVzX2xpc3Q7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX25vcmQ7CiBTRUxFQ1Qg KiBGUk9NIHNhbGVzX2FsbDsKIAotLS0gVXNlIGluZGV4c2NhbiBmb3IgdGVzdCBpbmRleGVz IGFmdGVyIG1lcmdlIHBhcnRpdGlvbnMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3Rpbmcg aW5kZXhlcyBhZnRlciBtZXJnaW5nIHBhcnRpdGlvbnMKIFNFVCBlbmFibGVfc2Vxc2NhbiA9 IE9GRjsKIAogU0VMRUNUICogRlJPTSBzYWxlc19hbGwgV0hFUkUgc2FsZXNfc3RhdGUgPSAn V2Fyc2F3JzsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BhcnRpdGlvbl9z cGxpdC5zcWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wYXJ0aXRpb25fc3BsaXQuc3FsCmlu ZGV4IDVkYzJmYzM5Y2QuLjU3NmY5ZjBmNjMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3Mvc3FsL3BhcnRpdGlvbl9zcGxpdC5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwv cGFydGl0aW9uX3NwbGl0LnNxbApAQCAtNDIsNyArNDIsNyBAQCBBTFRFUiBUQUJMRSBzYWxl c19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAg IFBBUlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEn KSBUTyAoJzIwMjItMDItMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19hcHIyMDIyIEZPUiBW QUxVRVMgRlJPTSAoJzIwMjItMDQtMDEnKSBUTyAoJzIwMjItMDUtMDEnKSk7CiAKLS0tRVJS T1I6ICBsaXN0IG9mIHNwbGl0IHBhcnRpdGlvbnMgc2hvdWxkIGNvbnRhaW5zIGF0IGxlYXN0 IHR3byBpdGVtcworLS1FUlJPUjogIGxpc3Qgb2Ygc3BsaXQgcGFydGl0aW9ucyBzaG91bGQg Y29udGFpbiBhdCBsZWFzdCB0d28gaXRlbXMKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQ TElUIFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAoUEFSVElUSU9O IHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMi0wMScpIFRPICgnMjAy Mi0xMC0wMScpKTsKIApAQCAtNTIsMTQgKzUyLDE0IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3Jh bmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5UTwogICAgUEFS VElUSU9OIHNhbGVzX21hcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRP ICgnMjAyMi0wNC0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2FwcjIwMjIgRk9SIFZBTFVF UyBGUk9NICgnMjAyMi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpKTsKIAotLS0gRVJST1I6 ICBuYW1lICJzYWxlc19mZWJfbWFyX2FwcjIwMjIiIGFscmVhZHkgdXNlZAorLS0gRVJST1I6 ICBuYW1lICJzYWxlc19mZWJfbWFyX2FwcjIwMjIiIGlzIGFscmVhZHkgdXNlZAogLS0gKFdl IGNhbiBjcmVhdGUgcGFydGl0aW9uIHdpdGggdGhlIHNhbWUgbmFtZSBhcyBzcGxpdCBwYXJ0 aXRpb24sIGJ1dCBjYW4ndCBjcmVhdGUgdHdvIHBhcnRpdGlvbnMgd2l0aCB0aGUgc2FtZSBu YW1lKQogQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2Zl Yl9tYXJfYXByMjAyMiBJTlRPCiAgIChQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIy IEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAg IFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAy Mi0wMy0wMScpIFRPICgnMjAyMi0wNC0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX2FwcjIw MjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wNC0wMScpIFRPICgnMjAyMi0wNS0wMScpKTsK IAotLS0gRVJST1I6ICBuYW1lICJzYWxlc19mZWIyMDIyIiBhbHJlYWR5IHVzZWQKKy0tIEVS Uk9SOiAgbmFtZSAic2FsZXNfZmViMjAyMiIgaXMgYWxyZWFkeSB1c2VkCiBBTFRFUiBUQUJM RSBzYWxlc19yYW5nZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElO VE8KICAgKFBBUlRJVElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjIt MDItMDEnKSBUTyAoJzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19mZWIyMDIy IEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDMtMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKQEAg LTc3LDcgKzc3LDcgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9O IHNhbGVzX2ZlYl9tYXJfYXByMjAyMiBJTlRPCiAgICBQQVJUSVRJT04gc2FsZXNfbWFyMjAy MiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAzLTAxJykgVE8gKCcyMDIyLTA0LTAxJyksCiAg ICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTA0LTAx JykgVE8gKCcyMDIyLTA2LTAxJykpOwogCi0tLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBh cnRpdGlvbiAic2FsZXNfbWFyMjAyMiIgaXMgbm90IGVxdWFscyB0byB1cHBlciBib3VuZCBv ZiBwcmV2aW91cyBwYXJ0aXRpb24KKy0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0 aW9uICJzYWxlc19tYXIyMDIyIiBjb25mbGljdHMgd2l0aCB1cHBlciBib3VuZCBvZiBwcmV2 aW91cyBwYXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiCiBBTFRFUiBUQUJMRSBzYWxlc19yYW5n ZSBTUExJVCBQQVJUSVRJT04gc2FsZXNfZmViX21hcl9hcHIyMDIyIElOVE8KICAgKFBBUlRJ VElPTiBzYWxlc19mZWIyMDIyIEZPUiBWQUxVRVMgRlJPTSAoJzIwMjItMDItMDEnKSBUTyAo JzIwMjItMDMtMDEnKSwKICAgIFBBUlRJVElPTiBzYWxlc19tYXIyMDIyIEZPUiBWQUxVRVMg RlJPTSAoJzIwMjItMDItMDEnKSBUTyAoJzIwMjItMDQtMDEnKSwKQEAgLTg2LDcgKzg2LDcg QEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX2ZlYl9t YXJfYXByMjAyMiBJTlRPCiAtLSBUZXN0cyBmb3Igc3BhY2VzIGJldHdlZW4gcGFydGl0aW9u cywgdGhlbSBzaG91bGQgYmUgZXhlY3V0ZWQgd2l0aG91dCBERUZBVUxUIHBhcnRpdGlvbgog QUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgREVUQUNIIFBBUlRJVElPTiBzYWxlc19vdGhlcnM7 CiAKLS0tIEVSUk9SOiAgbG93ZXIgYm91bmQgb2YgcGFydGl0aW9uICJzYWxlc19mZWIyMDIy IiBpcyBub3QgZXF1YWxzIHRvIGxvd2VyIGJvdW5kIG9mIHNwbGl0IHBhcnRpdGlvbgorLS0g RVJST1I6ICBsb3dlciBib3VuZCBvZiBwYXJ0aXRpb24gInNhbGVzX2ZlYjIwMjIiIGlzIG5v dCBlcXVhbCB0byBsb3dlciBib3VuZCBvZiBzcGxpdCBwYXJ0aXRpb24KIEFMVEVSIFRBQkxF IHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19mZWJfbWFyX2FwcjIwMjIgSU5U TwogICAoUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0w Mi0wMicpIFRPICgnMjAyMi0wMy0wMScpLAogICAgUEFSVElUSU9OIHNhbGVzX21hcjIwMjIg Rk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMy0wMScpIFRPICgnMjAyMi0wNC0wMScpLApAQCAt MTMzLDcgKzEzMyw3IEBAIFNFTEVDVCAqIEZST00gc2FsZXNfb3RoZXJzOwogRFJPUCBUQUJM RSBzYWxlc19yYW5nZSBDQVNDQURFOwogCiAtLQotLS0gQWRkIHNwbGl0IHBhcnRpdGlvbiB0 aGVuIGFkZCByb3dzIGludG8gcGFydGl0aW9uZWQgdGFibGUKKy0tIEFkZCBzcGxpdCBwYXJ0 aXRpb24sIHRoZW4gYWRkIHJvd3MgaW50byBwYXJ0aXRpb25lZCB0YWJsZQogLS0KIENSRUFU RSBUQUJMRSBzYWxlc19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1lIFZB UkNIQVIoMzApLCBzYWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIERBVEUpIFBBUlRJVElP TiBCWSBSQU5HRSAoc2FsZXNfZGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfamFuMjAyMiBQ QVJUSVRJT04gT0Ygc2FsZXNfcmFuZ2UgRk9SIFZBTFVFUyBGUk9NICgnMjAyMi0wMS0wMScp IFRPICgnMjAyMi0wMi0wMScpOwpAQCAtMjE5LDcgKzIxOSw3IEBAIFNFTEVDVCAqIEZST00g c2FsZXNfamFuX2ZlYjIwMjI7CiBEUk9QIFRBQkxFIHNhbGVzX2RhdGUgQ0FTQ0FERTsKIAog LS0KLS0tIFRlc3Q6IHNwbGl0IERFRkFVTFQgcGFydGl0aW9uOyB1c2luZyBhIGluZGV4IG9u IHBhcnRpdGlvbiBrZXk7IGNoZWNrIGluZGV4IGFmdGVyIHNwbGl0CistLSBUZXN0OiBzcGxp dCBERUZBVUxUIHBhcnRpdGlvbjsgdXNlIGFuIGluZGV4IG9uIHBhcnRpdGlvbiBrZXk7IGNo ZWNrIGluZGV4IGFmdGVyIHNwbGl0CiAtLQogQ1JFQVRFIFRBQkxFIHNhbGVzX3JhbmdlIChz YWxlc21hbl9pZCBJTlQsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCksIHNhbGVzX2Ftb3Vu dCBJTlQsIHNhbGVzX2RhdGUgREFURSkgUEFSVElUSU9OIEJZIFJBTkdFIChzYWxlc19kYXRl KTsKIENSRUFURSBUQUJMRSBzYWxlc19qYW4yMDIyIFBBUlRJVElPTiBPRiBzYWxlc19yYW5n ZSBGT1IgVkFMVUVTIEZST00gKCcyMDIyLTAxLTAxJykgVE8gKCcyMDIyLTAyLTAxJyk7CkBA IC0yNTAsNyArMjUwLDcgQEAgQUxURVIgVEFCTEUgc2FsZXNfcmFuZ2UgU1BMSVQgUEFSVElU SU9OIHNhbGVzX290aGVycyBJTlRPCiAgICBQQVJUSVRJT04gc2FsZXNfYXByMjAyMiBGT1Ig VkFMVUVTIEZST00gKCcyMDIyLTA0LTAxJykgVE8gKCcyMDIyLTA1LTAxJyksCiAgICBQQVJU SVRJT04gc2FsZXNfb3RoZXJzIERFRkFVTFQpOwogCi0tLSBVc2UgaW5kZXhzY2FuIGZvciB0 ZXN0IGluZGV4ZXMKKy0tIFVzZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcwogU0VU IGVuYWJsZV9pbmRleHNjYW4gPSBPTjsKIFNFVCBlbmFibGVfc2Vxc2NhbiA9IE9GRjsKIApA QCAtMjcwLDcgKzI3MCw3IEBAIFNFTEVDVCAqIEZST00gcGdfaW5kZXhlcyBXSEVSRSB0YWJs ZW5hbWUgPSAnc2FsZXNfb3RoZXJzJyBhbmQgc2NoZW1hbmFtZSA9ICdwYXJ0CiBEUk9QIFRB QkxFIHNhbGVzX3JhbmdlIENBU0NBREU7CiAKIC0tCi0tLSBUZXN0OiBzb21lIGNhc2VzIGZv ciBzcGxpdCBERUZBVUxUIHBhcnRpdGlvbiAoZGlmZmVyZW50IGJvdW5kcykKKy0tIFRlc3Q6 IHNvbWUgY2FzZXMgZm9yIHNwbGl0dGluZyBERUZBVUxUIHBhcnRpdGlvbiAoZGlmZmVyZW50 IGJvdW5kcykKIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNfcmFuZ2UgKHNhbGVzbWFuX2lkIElO VCwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSwgc2FsZXNfYW1vdW50IElOVCwgc2FsZXNf ZGF0ZSBJTlQpIFBBUlRJVElPTiBCWSBSQU5HRSAoc2FsZXNfZGF0ZSk7CiBDUkVBVEUgVEFC TEUgc2FsZXNfb3RoZXJzIFBBUlRJVElPTiBPRiBzYWxlc19yYW5nZSBERUZBVUxUOwpAQCAt Mjk5LDcgKzI5OSw3IEBAIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElP TiBzYWxlc19vdGhlcnMgSU5UTwogICAgUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZB TFVFUyBGUk9NICgyMDIyMDIwMSkgVE8gKDIwMjIwMzAxKSwKICAgIFBBUlRJVElPTiBzYWxl c19vdGhlcnMgREVGQVVMVCk7CiAKLS0tIHNhbGVzX2Vycm9yIGludGVyc2VjdHMgd2l0aCBz YWxlc19kZWMyMDIyIChleGFjdCB0aGUgc2FtZSBib3VuZHMpCistLSBzYWxlc19lcnJvciBp bnRlcnNlY3RzIHdpdGggc2FsZXNfZGVjMjAyMiAoZXhhY3RseSB0aGUgc2FtZSBib3VuZHMp CiAtLSBFUlJPUjogIGxvd2VyIGJvdW5kIG9mIHBhcnRpdGlvbiAic2FsZXNfZXJyb3IiIGNv bmZsaWN0cyB3aXRoIHVwcGVyIGJvdW5kIG9mIHByZXZpb3VzIHBhcnRpdGlvbiAic2FsZXNf ZGVjMjAyMiIKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxl c19vdGhlcnMgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIwMjIgRk9SIFZBTFVFUyBG Uk9NICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAxKSwKQEAgLTMwNywxMyArMzA3LDEzIEBAIEFM VEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElUIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5U TwogICAgUEFSVElUSU9OIHNhbGVzX2ZlYjIwMjIgRk9SIFZBTFVFUyBGUk9NICgyMDIyMDIw MSkgVE8gKDIwMjIwMzAxKSwKICAgIFBBUlRJVElPTiBzYWxlc19vdGhlcnMgREVGQVVMVCk7 CiAKLS0tIEVSUk9SOiAgYW55IHBhcnRpdGlvbiBpbiB0aGUgbGlzdCBzaG91bGQgYmUgREVG QVVMVCBiZWNhdXNlIHNwbGl0IHBhcnRpdGlvbiBpcyBERUZBVUxUCistLSBFUlJPUjogIGFs bCBwYXJ0aXRpb25zIGluIHRoZSBsaXN0IHNob3VsZCBiZSBERUZBVUxUIGJlY2F1c2Ugc3Bs aXQgcGFydGl0aW9uIGlzIERFRkFVTFQKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElU IFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIw MjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAxKSwKICAgIFBBUlRJ VElPTiBzYWxlc19qYW4yMDIyIEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAxMDEpIFRPICgyMDIy MDIwMSksCiAgICBQQVJUSVRJT04gc2FsZXNfZmViMjAyMiBGT1IgVkFMVUVTIEZST00gKDIw MjIwMjAxKSBUTyAoMjAyMjAzMDEpKTsKIAotLS0gbm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxl c19ub2Vycm9yIGJldHdlZW4gc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgorLS0g bm8gZXJyb3I6IGJvdW5kcyBvZiBzYWxlc19ub2Vycm9yIGFyZSBiZXR3ZWVuIHNhbGVzX2Rl YzIwMjIgYW5kIHNhbGVzX2ZlYjIwMjIKIEFMVEVSIFRBQkxFIHNhbGVzX3JhbmdlIFNQTElU IFBBUlRJVElPTiBzYWxlc19vdGhlcnMgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX2RlYzIw MjIgRk9SIFZBTFVFUyBGUk9NICgyMDIxMTIwMSkgVE8gKDIwMjIwMTAxKSwKICAgIFBBUlRJ VElPTiBzYWxlc19ub2Vycm9yIEZPUiBWQUxVRVMgRlJPTSAoMjAyMjAxMTApIFRPICgyMDIy MDEyMCksCkBAIC0zMjUsNyArMzI1LDcgQEAgRFJPUCBUQUJMRSBzYWxlc19yYW5nZTsKIENS RUFURSBUQUJMRSBzYWxlc19yYW5nZSAoc2FsZXNtYW5faWQgSU5ULCBzYWxlc21hbl9uYW1l IFZBUkNIQVIoMzApLCBzYWxlc19hbW91bnQgSU5ULCBzYWxlc19kYXRlIElOVCkgUEFSVElU SU9OIEJZIFJBTkdFIChzYWxlc19kYXRlKTsKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMg UEFSVElUSU9OIE9GIHNhbGVzX3JhbmdlIERFRkFVTFQ7CiAKLS0tIG5vIGVycm9yOiBib3Vu ZHMgb2Ygc2FsZXNfbm9lcnJvciBlcXVhbHMgdG8gbG93ZXIgYW5kIHVwcGVyIGJvdW5kcyBv ZiBzYWxlc19kZWMyMDIyIGFuZCBzYWxlc19mZWIyMDIyCistLSBubyBlcnJvcjogYm91bmRz IG9mIHNhbGVzX25vZXJyb3IgYXJlIGVxdWFsIHRvIGxvd2VyIGFuZCB1cHBlciBib3VuZHMg b2Ygc2FsZXNfZGVjMjAyMiBhbmQgc2FsZXNfZmViMjAyMgogQUxURVIgVEFCTEUgc2FsZXNf cmFuZ2UgU1BMSVQgUEFSVElUSU9OIHNhbGVzX290aGVycyBJTlRPCiAgIChQQVJUSVRJT04g c2FsZXNfZGVjMjAyMiBGT1IgVkFMVUVTIEZST00gKDIwMjExMjAxKSBUTyAoMjAyMjAxMDEp LAogICAgUEFSVElUSU9OIHNhbGVzX25vZXJyb3IgRk9SIFZBTFVFUyBGUk9NICgyMDIxMDEw MSkgVE8gKDIwMjEwMjAxKSwKQEAgLTM2MSw3ICszNjEsNyBAQCBTRUxFQ1QgcGdfZ2V0X2Nv bnN0cmFpbnRkZWYob2lkKSwgY29ubmFtZSwgY29ua2V5IEZST00gcGdfY29uc3RyYWludCBX SEVSRSBjb25yZQogU0VMRUNUIHBnX2dldF9jb25zdHJhaW50ZGVmKG9pZCksIGNvbm5hbWUs IGNvbmtleSBGUk9NIHBnX2NvbnN0cmFpbnQgV0hFUkUgY29ucmVsaWQgPSAnc2FsZXNfbWFy MjAyMic6OnJlZ2NsYXNzOjpvaWQ7CiBTRUxFQ1QgcGdfZ2V0X2NvbnN0cmFpbnRkZWYob2lk KSwgY29ubmFtZSwgY29ua2V5IEZST00gcGdfY29uc3RyYWludCBXSEVSRSBjb25yZWxpZCA9 ICdzYWxlc19hcHIyMDIyJzo6cmVnY2xhc3M6Om9pZDsKIAotLS0gRVJST1I6ICBuZXcgcm93 IGZvciByZWxhdGlvbiAic2FsZXNfbWFyMjAyMiIgdmlvbGF0ZXMgY2hlY2sgY29uc3RyYWlu dCAic2FsZXNfcmFuZ2Vfc2FsZXNtYW5faWRfY2hlY2siCistLSBFUlJPUjogIG5ldyByb3cg Zm9yIHJlbGF0aW9uICJzYWxlc19tYXIyMDIyIiB2aW9sYXRlcyBjaGVjayBjb25zdHJhaW50 ICJzYWxlc19yYW5nZV9zYWxlc19hbW91bnRfY2hlY2siCiBJTlNFUlQgSU5UTyBzYWxlc19y YW5nZSBWQUxVRVMgKDEsIDAsICcyMDIyLTAzLTExJyk7CiAtLSBFUlJPUjogIGluc2VydCBv ciB1cGRhdGUgb24gdGFibGUgInNhbGVzX21hcjIwMjIiIHZpb2xhdGVzIGZvcmVpZ24ga2V5 IGNvbnN0cmFpbnQgInNhbGVzX3JhbmdlX3NhbGVzbWFuX2lkX2ZrZXkiCiBJTlNFUlQgSU5U TyBzYWxlc19yYW5nZSBWQUxVRVMgKC0xLCAxMCwgJzIwMjItMDMtMTEnKTsKQEAgLTM3Miw3 ICszNzIsNyBAQCBEUk9QIFRBQkxFIHNhbGVzX3JhbmdlIENBU0NBREU7CiBEUk9QIFRBQkxF IHNhbGVzbWFucyBDQVNDQURFOwogCiAtLQotLS0gVGVzdDogc3BsaXQgcGFydGl0aW9uIG9u IHBhcnRpdGlvbmVkIHRhYmxlIGluIGNhc2UgZXhpc3RzIEZPUkVJR04gS0VZIHJlZmVyZW5j ZSBmcm9tIGFub3RoZXIgdGFibGUKKy0tIFRlc3Q6IHNwbGl0IHBhcnRpdGlvbiBvbiBwYXJ0 aXRpb25lZCB0YWJsZSBpbiBjYXNlIG9mIGV4aXN0aW5nIEZPUkVJR04gS0VZIHJlZmVyZW5j ZSBmcm9tIGFub3RoZXIgdGFibGUKIC0tCiBDUkVBVEUgVEFCTEUgc2FsZXNtYW5zKHNhbGVz bWFuX2lkIElOVCBQUklNQVJZIEtFWSwgc2FsZXNtYW5fbmFtZSBWQVJDSEFSKDMwKSkgUEFS VElUSU9OIEJZIFJBTkdFIChzYWxlc21hbl9pZCk7CiBDUkVBVEUgVEFCTEUgc2FsZXMgKHNh bGVzbWFuX2lkIElOVCBSRUZFUkVOQ0VTIHNhbGVzbWFucyhzYWxlc21hbl9pZCksIHNhbGVz X2Ftb3VudCBJTlQsIHNhbGVzX2RhdGUgREFURSk7CkBAIC00NzAsMTIgKzQ3MCwxMiBAQCBE Uk9QIEZVTkNUSU9OIGFmdGVyX2luc2VydF9yb3dfdHJpZ2dlcigpOwogCiAtLQogLS0gVGVz dDogc3BsaXQgcGFydGl0aW9uIHdpdGNoIGlkZW50aXR5IGNvbHVtbgotLS0gSWYgc3BsaXQg cGFydGl0aW9uIGNvbHVtbiBpcyBpZGVudGl0eS1jb2x1bW4sIGNvbHVtbnMgb2YgbmV3IHBh cnRpdGlvbnMgYXJlIGlkZW50aXR5LWNvbHVtbnMgdG9vLgorLS0gSWYgc3BsaXQgcGFydGl0 aW9uIGNvbHVtbiBpcyBpZGVudGl0eSBjb2x1bW4sIGNvbHVtbnMgb2YgbmV3IHBhcnRpdGlv bnMgYXJlIGlkZW50aXR5IGNvbHVtbnMgdG9vLgogLS0KIENSRUFURSBUQUJMRSBzYWxlc21h bnMoc2FsZXNtYW5faWQgSU5UIEdFTkVSQVRFRCBBTFdBWVMgQVMgSURFTlRJVFkgUFJJTUFS WSBLRVksIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpIFBBUlRJVElPTiBCWSBSQU5HRSAo c2FsZXNtYW5faWQpOwogCiBDUkVBVEUgVEFCTEUgc2FsZXNtYW5zMV8yIFBBUlRJVElPTiBP RiBzYWxlc21hbnMgRk9SIFZBTFVFUyBGUk9NICgxKSBUTyAoMik7Ci0tLSBDcmVhdGUgbmV3 IHBhcnRpdGlvbiB3aXRoIGlkZW50aXR5LWNvbHVtbjoKKy0tIENyZWF0ZSBuZXcgcGFydGl0 aW9uIHdpdGggaWRlbnRpdHkgY29sdW1uOgogQ1JFQVRFIFRBQkxFIHNhbGVzbWFuczJfNShz YWxlc21hbl9pZCBJTlQgTk9UIE5VTEwsIHNhbGVzbWFuX25hbWUgVkFSQ0hBUigzMCkpOwog QUxURVIgVEFCTEUgc2FsZXNtYW5zIEFUVEFDSCBQQVJUSVRJT04gc2FsZXNtYW5zMl81IEZP UiBWQUxVRVMgRlJPTSAoMikgVE8gKDUpOwogCkBAIC00ODQsNyArNDg0LDcgQEAgSU5TRVJU IElOVE8gc2FsZXNtYW5zIChzYWxlc21hbl9uYW1lKSBWQUxVRVMgKCdJdmFub3YnKTsKIAog U0VMRUNUIGF0dG5hbWUsIGF0dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQgRlJPTSBwZ19hdHRy aWJ1dGUgV0hFUkUgYXR0bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAnc2FsZXNtYW5zJzo6cmVn Y2xhc3M6Om9pZDsKIFNFTEVDVCBhdHRuYW1lLCBhdHRpZGVudGl0eSwgYXR0Z2VuZXJhdGVk IEZST00gcGdfYXR0cmlidXRlIFdIRVJFIGF0dG51bSA+IDAgQU5EIGF0dHJlbGlkID0gJ3Nh bGVzbWFuczFfMic6OnJlZ2NsYXNzOjpvaWQ7Ci0tLSBTcGxpdCBwYXJ0aXRpb24gaGFzIGlk ZW50aXR5LWNvbHVtbjoKKy0tIFNwbGl0IHBhcnRpdGlvbiBoYXMgaWRlbnRpdHkgY29sdW1u OgogU0VMRUNUIGF0dG5hbWUsIGF0dGlkZW50aXR5LCBhdHRnZW5lcmF0ZWQgRlJPTSBwZ19h dHRyaWJ1dGUgV0hFUkUgYXR0bnVtID4gMCBBTkQgYXR0cmVsaWQgPSAnc2FsZXNtYW5zMl81 Jzo6cmVnY2xhc3M6Om9pZDsKIAogQUxURVIgVEFCTEUgc2FsZXNtYW5zIFNQTElUIFBBUlRJ VElPTiBzYWxlc21hbnMyXzUgSU5UTwpAQCAtNjA5LDcgKzYwOSw3IEBAIENSRUFURSBUQUJM RSBzYWxlc19ub3JkIFBBUlRJVElPTiBPRiBzYWxlc19saXN0IEZPUiBWQUxVRVMgSU4gKCdP c2xvJywgJ1N0LiBQZXRlCiBDUkVBVEUgVEFCTEUgc2FsZXNfYWxsIFBBUlRJVElPTiBPRiBz YWxlc19saXN0IEZPUiBWQUxVRVMgSU4gKCdXYXJzYXcnLCAnTGlzYm9uJywgJ05ldyBZb3Jr JywgJ01hZHJpZCcsICdCZWppbmcnLCAnQmVybGluJywgJ0RlbGhpJywgJ0t5aXYnLCAnVmxh ZGl2b3N0b2snKTsKIENSRUFURSBUQUJMRSBzYWxlc19vdGhlcnMgUEFSVElUSU9OIE9GIHNh bGVzX2xpc3QgREVGQVVMVDsKIAotLS0gRVJST1I6ICBwYXJ0aXRpb24gInNhbGVzX2Vhc3Qi IHdvdWxkIG92ZXJsYXAgcGFydGl0aW9uICJzYWxlc19ub3JkIgorLS0gRVJST1I6ICBuZXcg cGFydGl0aW9uICJzYWxlc19lYXN0IiB3b3VsZCBvdmVybGFwIHdpdGggYW5vdGhlciAobm90 IHNwbGl0KSBwYXJ0aXRpb24gInNhbGVzX25vcmQiCiBBTFRFUiBUQUJMRSBzYWxlc19saXN0 IFNQTElUIFBBUlRJVElPTiBzYWxlc19hbGwgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX3dl c3QgRk9SIFZBTFVFUyBJTiAoJ0xpc2JvbicsICdOZXcgWW9yaycsICdNYWRyaWQnKSwKICAg IFBBUlRJVElPTiBzYWxlc19lYXN0IEZPUiBWQUxVRVMgSU4gKCdCZWppbmcnLCAnRGVsaGkn LCAnVmxhZGl2b3N0b2snLCAnSGVsc2lua2knKSwKQEAgLTYzMSw4ICs2MzEsOCBAQCBEUk9Q IFRBQkxFIHNhbGVzX2xpc3Q7CiAKIC0tCiAtLSBUZXN0OiB0d28gc3BlY2lmaWMgZXJyb3Jz IGZvciBCWSBMSVNUIHBhcnRpdGlvbmluZzoKLS0tICAgKiBuZXcgcGFydGl0aW9ucyBub3Qg aGFzIE5VTEwgdmFsdWUgdGhhdCBzcGxpdCBwYXJ0aXRpb24gaGFzLgotLS0gICAqIG5ldyBw YXJ0aXRpb25zIG5vdCBoYXMgYSB2YWx1ZSB0aGF0IHNwbGl0IHBhcnRpdGlvbiBoYXMuCist LSAgICogbmV3IHBhcnRpdGlvbnMgZG8gbm90IGhhdmUgTlVMTCB2YWx1ZSwgd2hpY2ggc3Bs aXQgcGFydGl0aW9uIGhhcy4KKy0tICAgKiBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSBh IHZhbHVlIHRoYXQgc3BsaXQgcGFydGl0aW9uIGhhcy4KIC0tCiBDUkVBVEUgVEFCTEUgc2Fs ZXNfbGlzdAogKHNhbGVzbWFuX2lkIElOVCwKQEAgLTY0NSwxMyArNjQ1LDEzIEBAIFBBUlRJ VElPTiBCWSBMSVNUIChzYWxlc19zdGF0ZSk7CiBDUkVBVEUgVEFCTEUgc2FsZXNfbm9yZCBQ QVJUSVRJT04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElOICgnSGVsc2lua2knLCAnU3Qu IFBldGVyc2J1cmcnLCAnT3NsbycpOwogQ1JFQVRFIFRBQkxFIHNhbGVzX2FsbCBQQVJUSVRJ T04gT0Ygc2FsZXNfbGlzdCBGT1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0xpc2JvbicsICdO ZXcgWW9yaycsICdNYWRyaWQnLCAnQmVqaW5nJywgJ0JlcmxpbicsICdEZWxoaScsICdLeWl2 JywgJ1ZsYWRpdm9zdG9rJywgTlVMTCk7CiAKLS0tIEVSUk9SOiAgbmV3IHBhcnRpdGlvbnMg bm90IGhhdmUgdmFsdWUgTlVMTCBidXQgc3BsaXQgcGFydGl0aW9uIGhhcworLS0gRVJST1I6 ICBuZXcgcGFydGl0aW9ucyBkbyBub3QgaGF2ZSB2YWx1ZSBOVUxMIGJ1dCBzcGxpdCBwYXJ0 aXRpb24gZG9lcwogQUxURVIgVEFCTEUgc2FsZXNfbGlzdCBTUExJVCBQQVJUSVRJT04gc2Fs ZXNfYWxsIElOVE8KICAgKFBBUlRJVElPTiBzYWxlc193ZXN0IEZPUiBWQUxVRVMgSU4gKCdM aXNib24nLCAnTmV3IFlvcmsnLCAnTWFkcmlkJyksCiAgICBQQVJUSVRJT04gc2FsZXNfZWFz dCBGT1IgVkFMVUVTIElOICgnQmVqaW5nJywgJ0RlbGhpJywgJ1ZsYWRpdm9zdG9rJyksCiAg ICBQQVJUSVRJT04gc2FsZXNfY2VudHJhbCBGT1IgVkFMVUVTIElOICgnV2Fyc2F3JywgJ0Jl cmxpbicsICdLeWl2JykpOwogCi0tLSBFUlJPUjogIG5ldyBwYXJ0aXRpb25zIG5vdCBoYXZl IHZhbHVlICdLeWl2JyBidXQgc3BsaXQgcGFydGl0aW9uIGhhcworLS0gRVJST1I6ICBuZXcg cGFydGl0aW9ucyBkbyBub3QgaGF2ZSB2YWx1ZSAnS3lpdicgYnV0IHNwbGl0IHBhcnRpdGlv biBkb2VzCiBBTFRFUiBUQUJMRSBzYWxlc19saXN0IFNQTElUIFBBUlRJVElPTiBzYWxlc19h bGwgSU5UTwogICAoUEFSVElUSU9OIHNhbGVzX3dlc3QgRk9SIFZBTFVFUyBJTiAoJ0xpc2Jv bicsICdOZXcgWW9yaycsICdNYWRyaWQnKSwKICAgIFBBUlRJVElPTiBzYWxlc19lYXN0IEZP UiBWQUxVRVMgSU4gKCdCZWppbmcnLCAnRGVsaGknLCAnVmxhZGl2b3N0b2snKSwKQEAgLTcw Myw3ICs3MDMsNyBAQCBTRUxFQ1QgKiBGUk9NIHNhbGVzX2Vhc3Q7CiBTRUxFQ1QgKiBGUk9N IHNhbGVzX25vcmQ7CiBTRUxFQ1QgKiBGUk9NIHNhbGVzX2NlbnRyYWw7CiAKLS0tIFVzZSBp bmRleHNjYW4gZm9yIHRlc3QgaW5kZXhlcyBhZnRlciBzcGxpdCBwYXJ0aXRpb24KKy0tIFVz ZSBpbmRleHNjYW4gZm9yIHRlc3RpbmcgaW5kZXhlcyBhZnRlciBzcGxpdHRpbmcgcGFydGl0 aW9uCiBTRVQgZW5hYmxlX2luZGV4c2NhbiA9IE9OOwogU0VUIGVuYWJsZV9zZXFzY2FuID0g T0ZGOwogCi0tIAoyLjQwLjEud2luZG93cy4xCgo= --------------tcoDFzf3KZSLHVhmnu27pbun--