Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m40iE-00007u-WE for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Jul 2021 12:43:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1m40iD-00084g-Vm for pgsql-hackers@arkaria.postgresql.org; Thu, 15 Jul 2021 12:43:33 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m40iD-00084X-D5 for pgsql-hackers@lists.postgresql.org; Thu, 15 Jul 2021 12:43:33 +0000 Received: from mxout4.routing.net ([2a03:2900:1:a::9]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1m40i5-0007tK-97 for pgsql-hackers@lists.postgresql.org; Thu, 15 Jul 2021 12:43:32 +0000 Received: from mxbox4.masterlogin.de (unknown [192.168.10.79]) by mxout4.routing.net (Postfix) with ESMTP id 57E901004CD; Thu, 15 Jul 2021 12:43:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mailerdienst.de; s=20200217; t=1626353001; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=QteE05FwDa1SClQ6c/puC1lCCzmD09n2yh8elFuTJxg=; b=c392S+BNw75sV7/B0WAit7Wiz69XCtyfM0V0080UJS49Hie9ACOYwEvNf97h1jlHAN1fNd QDELyED2kGymoCDKvqY5PCyJh4kdgXWJgqoXMsJrm+dt6i/v0iLUoh4TN0FWaDMSsMV0jQ D656lLJX4+FgYQJpFlPTO7xgtAigRbg= Received: from remote.index.de (p578a9a34.dip0.t-ipconnect.de [87.138.154.52]) by mxbox4.masterlogin.de (Postfix) with ESMTPSA id CD6A780650; Thu, 15 Jul 2021 12:43:20 +0000 (UTC) Received: from acedia.index-gruppe.local (192.168.3.121) by acedia.index-gruppe.local (192.168.3.121) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.14; Thu, 15 Jul 2021 14:43:20 +0200 Received: from acedia.index-gruppe.local ([fe80::585c:1d67:d34d:5411]) by acedia.index-gruppe.local ([fe80::585c:1d67:d34d:5411%13]) with mapi id 15.01.2176.014; Thu, 15 Jul 2021 14:43:20 +0200 From: Arne Roland To: vignesh C CC: Zhihong Yu , Alvaro Herrera , Pg Hackers Subject: Re: Rename of triggers for partitioned tables Thread-Topic: Rename of triggers for partitioned tables Thread-Index: AQHWxEk1+rora/wutkWbcRQhC03q0KnbGQ2sgAAECBOATmSTgIBhAeKAgBDG6bOAACCNT4AAKOcAgAAj1kP///tHgIAEsSJngAHhzjCAhX9QJP//43kAgAAjD3T///1iAABXUKhwA1bKhQAABHSL9Q== Date: Thu, 15 Jul 2021 12:43:20 +0000 Message-ID: <6e6491608f694ca488a5d7c404c4b98d@index.de> References: <7c64cc3c9f1c4c1ca3e1ed5a456d4088@index.de> <202106261636.6g4befbdrfpn@alvherre.pgsql>, In-Reply-To: Accept-Language: en-US, de-DE Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-originating-ip: [10.255.1.33] Content-Type: multipart/mixed; boundary="_004_6e6491608f694ca488a5d7c404c4b98dindexde_" MIME-Version: 1.0 X-Mail-ID: 0d95ad7c-e399-44d1-b708-6044670cc123 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_004_6e6491608f694ca488a5d7c404c4b98dindexde_ Content-Type: multipart/alternative; boundary="_000_6e6491608f694ca488a5d7c404c4b98dindexde_" --_000_6e6491608f694ca488a5d7c404c4b98dindexde_ Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Hello Vignesh, thank you for your interest! From: vignesh C Sent: Thursday, July 15, 2021 14:08 To: Arne Roland Cc: Zhihong Yu; Alvaro Herrera; Pg Hackers Subject: Re: Rename of triggers for partitioned tables > The patch does not apply on Head anymore, could you rebase and post a > patch. I'm changing the status to "Waiting for Author". Please let me know, whether the attached patch works for you. Regards Arne --_000_6e6491608f694ca488a5d7c404c4b98dindexde_ Content-Type: text/html; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable
Hello Vignesh,

thank you for your interest!

From: vignesh C <vignesh21@gmail.com>
Sent: Thursday, July 15, = 2021 14:08
To: Arne Roland
Cc: Zhihong Yu; Alvaro Herrera; Pg Hackers
Subject: Re: Rename of triggers for partitioned tables
 
> The patch does not apply on Head anymore, could you rebase and post a<= /div>
> patch. I'm changing the status to "Waiti= ng for Author".


Please let me know, whether the attached patch works for you.

Regards
Arne

--_000_6e6491608f694ca488a5d7c404c4b98dindexde_-- --_004_6e6491608f694ca488a5d7c404c4b98dindexde_ Content-Type: text/x-patch; name="recursive_tgrename.07.patch" Content-Description: recursive_tgrename.07.patch Content-Disposition: attachment; filename="recursive_tgrename.07.patch"; size=17400; creation-date="Thu, 15 Jul 2021 12:42:12 GMT"; modification-date="Thu, 15 Jul 2021 12:42:12 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2NvbW1hbmRzL3RyaWdnZXIuYyBiL3NyYy9iYWNrZW5k L2NvbW1hbmRzL3RyaWdnZXIuYwppbmRleCA5NTJjOGQ1ODJhLi5lMDJkYTVlNTJmIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90cmlnZ2VyLmMKKysrIGIvc3JjL2JhY2tlbmQvY29t bWFuZHMvdHJpZ2dlci5jCkBAIC0xMzI3LDcgKzEzMjcsNiBAQCBnZXRfdHJpZ2dlcl9vaWQoT2lk IHJlbGlkLCBjb25zdCBjaGFyICp0cmlnbmFtZSwgYm9vbCBtaXNzaW5nX29rKQogCiAJdGdzY2Fu ID0gc3lzdGFibGVfYmVnaW5zY2FuKHRncmVsLCBUcmlnZ2VyUmVsaWROYW1lSW5kZXhJZCwgdHJ1 ZSwKIAkJCQkJCQkJTlVMTCwgMiwgc2tleSk7Ci0KIAl0dXAgPSBzeXN0YWJsZV9nZXRuZXh0KHRn c2Nhbik7CiAKIAlpZiAoIUhlYXBUdXBsZUlzVmFsaWQodHVwKSkKQEAgLTEzODcsMTAgKzEzODYs MTEgQEAgUmFuZ2VWYXJDYWxsYmFja0ZvclJlbmFtZVRyaWdnZXIoY29uc3QgUmFuZ2VWYXIgKnJ2 LCBPaWQgcmVsaWQsIE9pZCBvbGRyZWxpZCwKIH0KIAogLyoKLSAqCQlyZW5hbWV0cmlnCQktIGNo YW5nZXMgdGhlIG5hbWUgb2YgYSB0cmlnZ2VyIG9uIGEgcmVsYXRpb24KKyAqCQlyZW5hbWVvbmx5 dHJpZwkJLSBjaGFuZ2VzIHRoZSBuYW1lIG9mIGEgdHJpZ2dlciBvbiBhIHJlbGF0aW9uCiAgKgog ICoJCXRyaWdnZXIgbmFtZSBpcyBjaGFuZ2VkIGluIHRyaWdnZXIgY2F0YWxvZy4KICAqCQlObyBy ZWNvcmQgb2YgdGhlIHByZXZpb3VzIG5hbWUgaXMga2VwdC4KKyAqCQlUaGlzIGZ1bmN0aW9uIGFz c3VtZXMgdGhhdCB0aGUgcm93IGlzIGFscmVhZHkgbG9ja2VkLgogICoKICAqCQlnZXQgcHJvcGVy IHJlbHJlbGF0aW9uIGZyb20gcmVsYXRpb24gY2F0YWxvZyAoaWYgbm90IGFyZykKICAqCQlzY2Fu IHRyaWdnZXIgY2F0YWxvZwpAQCAtMTQwMCw0MSArMTQwMCwyOCBAQCBSYW5nZVZhckNhbGxiYWNr Rm9yUmVuYW1lVHJpZ2dlcihjb25zdCBSYW5nZVZhciAqcnYsIE9pZCByZWxpZCwgT2lkIG9sZHJl bGlkLAogICoJCXVwZGF0ZSByb3cgaW4gY2F0YWxvZwogICovCiBPYmplY3RBZGRyZXNzCi1yZW5h bWV0cmlnKFJlbmFtZVN0bXQgKnN0bXQpCityZW5hbWVvbmx5dHJpZyhSZW5hbWVTdG10ICpzdG10 LCBSZWxhdGlvbiB0Z3JlbCwgT2lkIHJlbGlkLCBPaWQgdGdwYXJlbnQpCiB7CiAJT2lkCQkJdGdv aWQ7CiAJUmVsYXRpb24JdGFyZ2V0cmVsOwotCVJlbGF0aW9uCXRncmVsOwogCUhlYXBUdXBsZQl0 dXBsZTsKIAlTeXNTY2FuRGVzYyB0Z3NjYW47CiAJU2NhbktleURhdGEga2V5WzJdOwotCU9pZAkJ CXJlbGlkOwogCU9iamVjdEFkZHJlc3MgYWRkcmVzczsKKwlpbnQJCQltYXRjaGVkOworCWludAkJ CXN0bXRUZ25hbWVNYXRjaGVzOwogCi0JLyoKLQkgKiBMb29rIHVwIG5hbWUsIGNoZWNrIHBlcm1p c3Npb25zLCBhbmQgYWNxdWlyZSBsb2NrICh3aGljaCB3ZSB3aWxsIE5PVAotCSAqIHJlbGVhc2Ug dW50aWwgZW5kIG9mIHRyYW5zYWN0aW9uKS4KLQkgKi8KLQlyZWxpZCA9IFJhbmdlVmFyR2V0UmVs aWRFeHRlbmRlZChzdG10LT5yZWxhdGlvbiwgQWNjZXNzRXhjbHVzaXZlTG9jaywKLQkJCQkJCQkJ CSAwLAotCQkJCQkJCQkJIFJhbmdlVmFyQ2FsbGJhY2tGb3JSZW5hbWVUcmlnZ2VyLAotCQkJCQkJ CQkJIE5VTEwpOwogCiAJLyogSGF2ZSBsb2NrIGFscmVhZHksIHNvIGp1c3QgbmVlZCB0byBidWls ZCByZWxjYWNoZSBlbnRyeS4gKi8KIAl0YXJnZXRyZWwgPSByZWxhdGlvbl9vcGVuKHJlbGlkLCBO b0xvY2spOwogCisKIAkvKgogCSAqIFNjYW4gcGdfdHJpZ2dlciB0d2ljZSBmb3IgZXhpc3Rpbmcg dHJpZ2dlcnMgb24gcmVsYXRpb24uICBXZSBkbyB0aGlzIGluCiAJICogb3JkZXIgdG8gZW5zdXJl IGEgdHJpZ2dlciBkb2VzIG5vdCBleGlzdCB3aXRoIG5ld25hbWUgKFRoZSB1bmlxdWUgaW5kZXgK IAkgKiBvbiB0Z3JlbGlkL3RnbmFtZSB3b3VsZCBjb21wbGFpbiBhbnl3YXkpIGFuZCB0byBlbnN1 cmUgYSB0cmlnZ2VyIGRvZXMKIAkgKiBleGlzdCB3aXRoIG9sZG5hbWUuCiAJICoKLQkgKiBOT1RF IHRoYXQgdGhpcyBpcyBjb29sIG9ubHkgYmVjYXVzZSB3ZSBoYXZlIEFjY2Vzc0V4Y2x1c2l2ZUxv Y2sgb24gdGhlCi0JICogcmVsYXRpb24sIHNvIHRoZSB0cmlnZ2VyIHNldCB3b24ndCBiZSBjaGFu Z2luZyB1bmRlcm5lYXRoIHVzLgotCSAqLwotCXRncmVsID0gdGFibGVfb3BlbihUcmlnZ2VyUmVs YXRpb25JZCwgUm93RXhjbHVzaXZlTG9jayk7Ci0KLQkvKgogCSAqIEZpcnN0IHBhc3MgLS0gbG9v ayBmb3IgbmFtZSBjb25mbGljdAogCSAqLwogCVNjYW5LZXlJbml0KCZrZXlbMF0sCkBAIC0xNDU1 LDM0ICsxNDQyLDUwIEBAIHJlbmFtZXRyaWcoUmVuYW1lU3RtdCAqc3RtdCkKIAlzeXN0YWJsZV9l bmRzY2FuKHRnc2Nhbik7CiAKIAkvKgotCSAqIFNlY29uZCBwYXNzIC0tIGxvb2sgZm9yIHRyaWdn ZXIgZXhpc3Rpbmcgd2l0aCBvbGRuYW1lIGFuZCB1cGRhdGUKKwkgKiBTZWNvbmQgcGFzcyAtLSBs b29rIGZvciB0cmlnZ2VyIGV4aXN0aW5nIGFuZCB1cGRhdGUgaWYgcGdwYXJlbnQgaXMKKwkgKiBt YXRjaGluZwogCSAqLwogCVNjYW5LZXlJbml0KCZrZXlbMF0sCiAJCQkJQW51bV9wZ190cmlnZ2Vy X3RncmVsaWQsCiAJCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVyLCBGX09JREVRLAogCQkJCU9iamVj dElkR2V0RGF0dW0ocmVsaWQpKTsKLQlTY2FuS2V5SW5pdCgma2V5WzFdLAotCQkJCUFudW1fcGdf dHJpZ2dlcl90Z25hbWUsCi0JCQkJQlRFcXVhbFN0cmF0ZWd5TnVtYmVyLCBGX05BTUVFUSwKLQkJ CQlQb2ludGVyR2V0RGF0dW0oc3RtdC0+c3VibmFtZSkpOworCiAJdGdzY2FuID0gc3lzdGFibGVf YmVnaW5zY2FuKHRncmVsLCBUcmlnZ2VyUmVsaWROYW1lSW5kZXhJZCwgdHJ1ZSwKLQkJCQkJCQkJ TlVMTCwgMiwga2V5KTsKLQlpZiAoSGVhcFR1cGxlSXNWYWxpZCh0dXBsZSA9IHN5c3RhYmxlX2dl dG5leHQodGdzY2FuKSkpCisJCQkJCQkJCU5VTEwsIDEsIGtleSk7CisJbWF0Y2hlZCA9IDA7CisJ d2hpbGUgKEhlYXBUdXBsZUlzVmFsaWQodHVwbGUgPSBzeXN0YWJsZV9nZXRuZXh0KHRnc2Nhbikp KQogCXsKIAkJRm9ybV9wZ190cmlnZ2VyIHRyaWdmb3JtOwogCisJCXRyaWdmb3JtID0gKEZvcm1f cGdfdHJpZ2dlcikgR0VUU1RSVUNUKHR1cGxlKTsKKworICAgICAgICBzdG10VGduYW1lTWF0Y2hl cyA9IHN0cmNtcChzdG10LT5zdWJuYW1lLCBOYW1lU3RyKHRyaWdmb3JtLT50Z25hbWUpKTsKKwkJ LyoKKwkJICogU2tpcCB0cmlnZ2VycyB0aGF0IG5vdCByZWxldmFudC4gUmVsZXZhbnQgaXMgdGhl IHBhcmVudCB0cmlnZ2VyIGFzCisJCSAqIHdlbGwgYXMgcGFydHMgb2YgdGhlIGN1cnJlbnQgZGlz dHJpYnV0ZWQgdHJpZ2dlci4KKwkJICovCisJCWlmICh0Z3BhcmVudCA9PSAwICYmIHN0bXRUZ25h bWVNYXRjaGVzCisgICAgICAgICAgICB8fCB0Z3BhcmVudCAmJiB0cmlnZm9ybS0+dGdwYXJlbnRp ZCAhPSB0Z3BhcmVudCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChzdG10VGduYW1lTWF0Y2hlcykK KwkJeworCQkJZXJlcG9ydChOT1RJQ0UsCisJCQkJCShlcnJtc2coInRyaWdnZXIgXCIlc1wiIGZv ciB0YWJsZSBcIiVzXCIgd2FzIG5vdCBuYW1lZCBcIiVzXCIsIHJlbmFtaW5nIGFueXdheXMiLAor CQkJCQkJCU5hbWVTdHIodHJpZ2Zvcm0tPnRnbmFtZSksIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1l KHRhcmdldHJlbCksIHN0bXQtPnN1Ym5hbWUpKSk7CisJCX0KKwogCQkvKgogCQkgKiBVcGRhdGUg cGdfdHJpZ2dlciB0dXBsZSB3aXRoIG5ldyB0Z25hbWUuCiAJCSAqLwogCQl0dXBsZSA9IGhlYXBf Y29weXR1cGxlKHR1cGxlKTsJLyogbmVlZCBhIG1vZGlmaWFibGUgY29weSAqLwogCQl0cmlnZm9y bSA9IChGb3JtX3BnX3RyaWdnZXIpIEdFVFNUUlVDVCh0dXBsZSk7Ci0JCXRnb2lkID0gdHJpZ2Zv cm0tPm9pZDsKLQogCQluYW1lc3RyY3B5KCZ0cmlnZm9ybS0+dGduYW1lLAogCQkJCSAgIHN0bXQt Pm5ld25hbWUpOwotCiAJCUNhdGFsb2dUdXBsZVVwZGF0ZSh0Z3JlbCwgJnR1cGxlLT50X3NlbGYs IHR1cGxlKTsKIAorCQl0Z29pZCA9IHRyaWdmb3JtLT5vaWQ7CisKIAkJSW52b2tlT2JqZWN0UG9z dEFsdGVySG9vayhUcmlnZ2VyUmVsYXRpb25JZCwKIAkJCQkJCQkJICB0Z29pZCwgMCk7CiAKQEAg LTE0OTIsMjkgKzE0OTUsMTIyIEBAIHJlbmFtZXRyaWcoUmVuYW1lU3RtdCAqc3RtdCkKIAkJICog ZW50cmllcy4gIChJZGVhbGx5IHRoaXMgc2hvdWxkIGhhcHBlbiBhdXRvbWF0aWNhbGx5Li4uKQog CQkgKi8KIAkJQ2FjaGVJbnZhbGlkYXRlUmVsY2FjaGUodGFyZ2V0cmVsKTsKKwkJbWF0Y2hlZCsr OwogCX0KLQllbHNlCisKKwlzeXN0YWJsZV9lbmRzY2FuKHRnc2Nhbik7CisKKwkvKgorCSAqIFRo ZXJlIGFsd2F5cyBzaG91bGQgYmUgZXhhY3RseSBvbmUgbWF0Y2hpbmcgdHJpZ2dlciBvbiB0aGUg Y2hpbGQKKwkgKiBwYXJ0aXRpb24uIElmIHRoZXJlIGlzbid0IGZhaWwgd2l0aCBhbiBlcnJvci4K KwkgKi8KKwlpZiAoIW1hdGNoZWQpCiAJewogCQllcmVwb3J0KEVSUk9SLAotCQkJCShlcnJjb2Rl KEVSUkNPREVfVU5ERUZJTkVEX09CSkVDVCksCi0JCQkJIGVycm1zZygidHJpZ2dlciBcIiVzXCIg Zm9yIHRhYmxlIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJKGVycmNvZGUoRVJSQ09ERV9E QVRBX0NPUlJVUFRFRCksCisJCQkJIGVycm1zZygidHJpZ2dlciBcIiVzXCIgZm9yIGNoaWxkIHRh YmxlIFwiJXNcIiBkb2VzIG5vdCBleGlzdCIsCisJCQkJCQlzdG10LT5zdWJuYW1lLCBSZWxhdGlv bkdldFJlbGF0aW9uTmFtZSh0YXJnZXRyZWwpKSkpOworCX0KKwlpZiAobWF0Y2hlZCA+IDEpCisJ eworCQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlKEVSUkNPREVfREFUQV9DT1JSVVBURUQp LAorCQkJCSBlcnJtc2coIm11bHRpcGxlIHRyaWdnZXJzIG1hdGNoIFwiJXNcIiBmb3IgdGFibGUg XCIlc1wiLCB0aGlzIG1pZ2h0IGluZGljYXRlIGEgZGF0YSBjb3JydXB0aW9uIiwKIAkJCQkJCXN0 bXQtPnN1Ym5hbWUsIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHRhcmdldHJlbCkpKSk7CiAJfQog CiAJT2JqZWN0QWRkcmVzc1NldChhZGRyZXNzLCBUcmlnZ2VyUmVsYXRpb25JZCwgdGdvaWQpOwog Ci0Jc3lzdGFibGVfZW5kc2Nhbih0Z3NjYW4pOwotCi0JdGFibGVfY2xvc2UodGdyZWwsIFJvd0V4 Y2x1c2l2ZUxvY2spOwogCiAJLyoKIAkgKiBDbG9zZSByZWwsIGJ1dCBrZWVwIGV4Y2x1c2l2ZSBs b2NrIQogCSAqLworCXJlbGF0aW9uX2Nsb3NlKHRncmVsLCBOb0xvY2spOwogCXJlbGF0aW9uX2Ns b3NlKHRhcmdldHJlbCwgTm9Mb2NrKTsKIAogCXJldHVybiBhZGRyZXNzOwogfQogCisvKgorICoJ CXJlbmFtZXRyaWdIZWxwZXIJCS0gY2hhbmdlcyB0aGUgbmFtZSBvZiBhIHRyaWdnZXIgb24gYSBw b3NzaWJseSBwYXJ0aXRpb25lZCByZWxhdGlvbiByZWN1cnNpdmVseQorICoKKyAqCQkgIGFsdGVy IG5hbWUgb2YgcGFyZW50IHRyaWdnZXIgdXNpbmcgcmVuYW1lb25seXRyaWcKKyAqCQkgIHJlY3Vy c2l2ZSBvdmVyIGNoaWxkcmVuIGFuZCBjaGFuZ2UgdGhlaXIgbmFtZXMgaW4gdGhlIHNhbWUgbWFu bmVyCisgKgorICovCitPYmplY3RBZGRyZXNzCityZW5hbWV0cmlnSGVscGVyKFJlbmFtZVN0bXQg KnN0bXQsIE9pZCB0Z29pZCwgT2lkIHJlbGlkKQoreworCisJUmVsYXRpb24JdGdyZWw7CisJT2Jq ZWN0QWRkcmVzcyB0Z2FkZHJlc3M7CisJSGVhcFR1cGxlCXR1cGxlOworCWNoYXIJCXJlbGtpbmQ7 CisKKwkvKgorCSAqIE5PVEUgdGhhdCB0aGlzIGlzIGNvb2wgb25seSBiZWNhdXNlIHdlIGhhdmUg QWNjZXNzRXhjbHVzaXZlTG9jayBvbiB0aGUKKwkgKiByZWxhdGlvbnMsIHNvIG5laXRoZXIgdGhl IHRyaWdnZXIgc2V0IG5vciB0aGUgdGFibGUgaXRzZWxmIHdpbGwgYmUKKwkgKiBjaGFuZ2luZyB1 bmRlcm5lYXRoIHVzLgorCSAqLworCXRncmVsID0gdGFibGVfb3BlbihUcmlnZ2VyUmVsYXRpb25J ZCwgUm93RXhjbHVzaXZlTG9jayk7CisKKwkvKgorCSAqIFRoZSBsYXN0IGNhbGwgb2YgcmVuYW1l dHJpZyBvciByZW5hbWV0cmlnSGVscGVyIGFscmVhZHkgbG9ja2VkIHRoaXMKKwkgKiByZWxhdGlv bi4KKwkgKi8KKwl0Z2FkZHJlc3MgPSByZW5hbWVvbmx5dHJpZyhzdG10LCB0Z3JlbCwgcmVsaWQs IHRnb2lkKTsKKworCS8qCisJICogSW4gY2FzZSB3ZSBoYXZlIGEgcGFydGlvbmVkIHRhYmxlLCB3 ZSB0cmF2ZXJzZSB0aGVtIGFuZCByZW5hbWUgZXZlcnkKKwkgKiBkZXBlbmRlbmQgdHJpZ2dlciwg dW5sZXNzIE9OIE9OTFkgd2FzIHNwZWNpZmllZC4KKwkgKi8KKwl0dXBsZSA9IFNlYXJjaFN5c0Nh Y2hlMShSRUxPSUQsIE9iamVjdElkR2V0RGF0dW0ocmVsaWQpKTsKKwlyZWxraW5kID0gKChGb3Jt X3BnX2NsYXNzKSBHRVRTVFJVQ1QodHVwbGUpKS0+cmVsa2luZDsKKwlSZWxlYXNlU3lzQ2FjaGUo dHVwbGUpOwkJLyogV2UgYXJlIHN0aWxsIGhvbGRpbmcgdGhlCisJCQkJCQkJCSAqIEFjY2Vzc0V4 Y2x1c2l2ZUxvY2sgb24gdGhlIHRhYmxlIG9mIHRoZSB0cmlnZ2VyLiAqLworCWlmIChzdG10LT5y ZWxhdGlvbi0+aW5oICYmIHJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSAmJiBo YXNfc3ViY2xhc3MocmVsaWQpKQorCXsKKwkJTGlzdENlbGwgICAqY2hpbGQ7CisJCUxpc3QJICAg KmNoaWxkcmVuOworCisJCS8qCisJCSogTWFrZSBzdXJlIGl0IHN0YXlzIGEgY2hpbGQuIFdlIGFz c3VtZSB0aGF0IHRoZXJlIGFyZSBubyBwYXJ0cyBvZgorCQkqIHRoZSB0cmlnZ2VyIGluIGRldGFj aGVkIHBhcnRpdGlvbnMsIHNpbmNlIHRoZXkgc2hvdWxkIGhhdmUgYmVlbgorCQkqIGRlbGV0ZWQg aW4gdGhhdCBjYXNlLgorCQkqLworCQljaGlsZHJlbiA9IGZpbmRfaW5oZXJpdGFuY2VfY2hpbGRy ZW4ocmVsaWQsIEFjY2Vzc0V4Y2x1c2l2ZUxvY2spOworCisJCS8qCisJCSAqIGZpbmRfaW5oZXJp dGFuY2VfY2hpbGRyZW4gZG9lc24ndCB3b3JrIHJlY3Vyc2l2ZWx5LiB3ZSBjaGVjayBldmVyeQor CQkgKiBsYXllciBpbmRpdmlkdWFsbHkgdG8gZW5zdXJlIHRoYXQgdGhlIHRyaWdnZXIgb2YgdGhl IGNoaWxkIGlzCisJCSAqIG1hdGNoaW5nIGluIGNhc2UgaXQncyBhIHBhcnRpdGlvbmVkIHRhYmxl IGl0c2VsZi4KKwkJICovCisJCWZvcmVhY2goY2hpbGQsIGNoaWxkcmVuKQorCQl7CisJCQlPaWQJ CQljaGlsZHJlbGlkID0gbGZpcnN0X29pZChjaGlsZCk7CisKKwkJCWlmIChjaGlsZHJlbGlkID09 IHJlbGlkKQorCQkJCWNvbnRpbnVlOworCQkJcmVuYW1ldHJpZ0hlbHBlcihzdG10LCB0Z2FkZHJl c3Mub2JqZWN0SWQsIGNoaWxkcmVsaWQpOworCQl9CisJfQorCXJldHVybiB0Z2FkZHJlc3M7Cit9 CisKK09iamVjdEFkZHJlc3MKK3JlbmFtZXRyaWcoUmVuYW1lU3RtdCAqc3RtdCkKK3sKKwkvKgor CSAqIExvb2sgdXAgbmFtZSwgY2hlY2sgcGVybWlzc2lvbnMsIGFuZCBhY3F1aXJlIGxvY2sgKHdo aWNoIHdlIHdpbGwgTk9UCisJICogcmVsZWFzZSB1bnRpbCBlbmQgb2YgdHJhbnNhY3Rpb24pLgor CSAqLworCXJldHVybiByZW5hbWV0cmlnSGVscGVyKHN0bXQsIDAsCisJCQkJCQkJUmFuZ2VWYXJH ZXRSZWxpZEV4dGVuZGVkKHN0bXQtPnJlbGF0aW9uLCBBY2Nlc3NFeGNsdXNpdmVMb2NrLAorCQkJ CQkJCQkJCQkJCSAwLAorCQkJCQkJCQkJCQkJCSBSYW5nZVZhckNhbGxiYWNrRm9yUmVuYW1lVHJp Z2dlciwKKwkJCQkJCQkJCQkJCQkgTlVMTCkpOworCit9CiAKIC8qCiAgKiBFbmFibGVEaXNhYmxl VHJpZ2dlcigpCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55IGIvc3JjL2Jh Y2tlbmQvcGFyc2VyL2dyYW0ueQppbmRleCAxMGRhNWM1YzUxLi4yNjQzM2M1MjlmIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9wYXJzZXIvZ3JhbS55CisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9n cmFtLnkKQEAgLTg4ODYsNyArODg4Niw3IEBAIFJlbmFtZVN0bXQ6IEFMVEVSIEFHR1JFR0FURSBh Z2dyZWdhdGVfd2l0aF9hcmd0eXBlcyBSRU5BTUUgVE8gbmFtZQogCQkJCQluLT5taXNzaW5nX29r ID0gZmFsc2U7CiAJCQkJCSQkID0gKE5vZGUgKiluOwogCQkJCX0KLQkJCXwgQUxURVIgVFJJR0dF UiBuYW1lIE9OIHF1YWxpZmllZF9uYW1lIFJFTkFNRSBUTyBuYW1lCisJCQl8IEFMVEVSIFRSSUdH RVIgbmFtZSBPTiByZWxhdGlvbl9leHByIFJFTkFNRSBUTyBuYW1lCiAJCQkJewogCQkJCQlSZW5h bWVTdG10ICpuID0gbWFrZU5vZGUoUmVuYW1lU3RtdCk7CiAJCQkJCW4tPnJlbmFtZVR5cGUgPSBP QkpFQ1RfVFJJR0dFUjsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIu aCBiL3NyYy9pbmNsdWRlL2NvbW1hbmRzL3RyaWdnZXIuaAppbmRleCA5ZTU1N2NmYmNlLi44ZGFj MjNkOTgwIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9jb21tYW5kcy90cmlnZ2VyLmgKKysrIGIv c3JjL2luY2x1ZGUvY29tbWFuZHMvdHJpZ2dlci5oCkBAIC0xNTgsNiArMTU4LDEwIEBAIGV4dGVy biBPYmplY3RBZGRyZXNzIENyZWF0ZVRyaWdnZXIoQ3JlYXRlVHJpZ1N0bXQgKnN0bXQsIGNvbnN0 IGNoYXIgKnF1ZXJ5U3RyaW5nCiBleHRlcm4gdm9pZCBSZW1vdmVUcmlnZ2VyQnlJZChPaWQgdHJp Z09pZCk7CiBleHRlcm4gT2lkCWdldF90cmlnZ2VyX29pZChPaWQgcmVsaWQsIGNvbnN0IGNoYXIg Km5hbWUsIGJvb2wgbWlzc2luZ19vayk7CiAKK2V4dGVybiBPYmplY3RBZGRyZXNzIHJlbmFtZW9u bHl0cmlnKFJlbmFtZVN0bXQgKnN0bXQsIFJlbGF0aW9uIHRncmVsLCBPaWQgcmVsaWQsIE9pZCB0 Z3BhcmVudCk7CisKK2V4dGVybiBPYmplY3RBZGRyZXNzIHJlbmFtZXRyaWdIZWxwZXIoUmVuYW1l U3RtdCAqc3RtdCwgT2lkIHRnb2lkLCBPaWQgcmVsaWQpOworCiBleHRlcm4gT2JqZWN0QWRkcmVz cyByZW5hbWV0cmlnKFJlbmFtZVN0bXQgKnN0bXQpOwogCiBleHRlcm4gdm9pZCBFbmFibGVEaXNh YmxlVHJpZ2dlcihSZWxhdGlvbiByZWwsIGNvbnN0IGNoYXIgKnRnbmFtZSwKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvdHJpZ2dlcnMub3V0IGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC90cmlnZ2Vycy5vdXQKaW5kZXggZThhZjlhOTU4OS4uZTAwNDc5NGFlMiAxMDA2 NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC90cmlnZ2Vycy5vdXQKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9leHBlY3RlZC90cmlnZ2Vycy5vdXQKQEAgLTMzNDksMyArMzM0OSwxMzQg QEAgZm9yIGVhY2ggc3RhdGVtZW50IGV4ZWN1dGUgZnVuY3Rpb24gdHJpZ2dlcl9mdW5jdGlvbjEo KTsKIGRlbGV0ZSBmcm9tIGNvbnZzbG90X3Rlc3RfcGFyZW50OwogTk9USUNFOiAgdHJpZ2dlciA9 IGJkdF90cmlnZ2VyLCBvbGRfdGFibGUgPSAoMTExLHR1dHUpLCAoMzExLHR1dHUpCiBkcm9wIHRh YmxlIGNvbnZzbG90X3Rlc3RfY2hpbGQsIGNvbnZzbG90X3Rlc3RfcGFyZW50OworLS0KKy0tIGJ1 aWxkIGEgbmVzdGVkIHBhcnRpdGlvbiBzY2hlbWUgZm9yIHRlc3RpbmcKKy0tCitjcmVhdGUgdGFi bGUgZ3JhbmRwYXJlbnQgKGlkIGludCwKK3ByaW1hcnkga2V5IChpZCkpCitwYXJ0aXRpb24gYnkg cmFuZ2UgKGlkKTsKK2NyZWF0ZSB0YWJsZSBtaWRkbGUKK3BhcnRpdGlvbiBvZiBncmFuZHBhcmVu dAorZm9yIHZhbHVlcyBmcm9tICgxKQordG8gKDEwKQorcGFydGl0aW9uIGJ5IHJhbmdlIChpZCk7 CitjcmVhdGUgdGFibGUgY2hpCitwYXJ0aXRpb24gb2YgbWlkZGxlCitmb3IgdmFsdWVzIGZyb20g KDEpCit0byAoNSk7CitjcmVhdGUgdGFibGUgY2hvCitwYXJ0aXRpb24gb2YgbWlkZGxlCitmb3Ig dmFsdWVzIGZyb20gKDYpCit0byAoOCk7CitjcmVhdGUgZnVuY3Rpb24gZiAoKQorcmV0dXJucyB0 cmlnZ2VyIGFzIAorJCQKK2JlZ2luCityZXR1cm4gbmV3OworZW5kOworJCQKK2xhbmd1YWdlIHBs cGdzcWw7CitjcmVhdGUgdHJpZ2dlciBhCithZnRlciBpbnNlcnQgb24gZ3JhbmRwYXJlbnQKK2Zv ciBlYWNoIHJvdworZXhlY3V0ZSBwcm9jZWR1cmUgZigpOworc2VsZWN0IHRncmVsaWQ6OnJlZ2Ns YXNzLCB0Z25hbWUsIChzZWxlY3QgdGduYW1lIGZyb20gcGdfdHJpZ2dlciB0ciB3aGVyZSB0ci5v aWQgPSBwZ190cmlnZ2VyLnRncGFyZW50aWQpIHBhcmVudF90Z25hbWUKK2Zyb20gcGdfdHJpZ2dl ciB3aGVyZSB0Z25hbWUgaW4gKCdhJykKK29yZGVyIGJ5IHRnbmFtZSwgdGdyZWxpZDo6cmVnY2xh c3M6OnRleHQ7CisgICB0Z3JlbGlkICAgfCB0Z25hbWUgfCBwYXJlbnRfdGduYW1lIAorLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyBjaGkgICAgICAgICB8IGEgICAgICB8 IGEKKyBjaG8gICAgICAgICB8IGEgICAgICB8IGEKKyBncmFuZHBhcmVudCB8IGEgICAgICB8IAor IG1pZGRsZSAgICAgIHwgYSAgICAgIHwgYQorKDQgcm93cykKKworYWx0ZXIgdHJpZ2dlciBhIG9u IGdyYW5kcGFyZW50IHJlbmFtZSB0byBiOworc2VsZWN0IHRncmVsaWQ6OnJlZ2NsYXNzLCB0Z25h bWUsIChzZWxlY3QgdGduYW1lIGZyb20gcGdfdHJpZ2dlciB0ciB3aGVyZSB0ci5vaWQgPSBwZ190 cmlnZ2VyLnRncGFyZW50aWQpIHBhcmVudF90Z25hbWUKK2Zyb20gcGdfdHJpZ2dlciB3aGVyZSB0 Z25hbWUgaW4gKCdhJywgJ2InKQorb3JkZXIgYnkgdGduYW1lLCB0Z3JlbGlkOjpyZWdjbGFzczo6 dGV4dDsKKyAgIHRncmVsaWQgICB8IHRnbmFtZSB8IHBhcmVudF90Z25hbWUgCistLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIGNoaSAgICAgICAgIHwgYiAgICAgIHwgYgor IGNobyAgICAgICAgIHwgYiAgICAgIHwgYgorIGdyYW5kcGFyZW50IHwgYiAgICAgIHwgCisgbWlk ZGxlICAgICAgfCBiICAgICAgfCBiCisoNCByb3dzKQorCithbHRlciB0cmlnZ2VyIGIgb24gb25s eSBtaWRkbGUgcmVuYW1lIHRvIHNvbWV0aGluZzsKK3NlbGVjdCB0Z3JlbGlkOjpyZWdjbGFzcywg dGduYW1lLCAoc2VsZWN0IHRnbmFtZSBmcm9tIHBnX3RyaWdnZXIgdHIgd2hlcmUgdHIub2lkID0g cGdfdHJpZ2dlci50Z3BhcmVudGlkKSBwYXJlbnRfdGduYW1lCitmcm9tIHBnX3RyaWdnZXIgd2hl cmUgdGduYW1lIGluICgnc29tZXRoaW5nJywgJ2InKQorb3JkZXIgYnkgdGduYW1lLCB0Z3JlbGlk OjpyZWdjbGFzczo6dGV4dDsKKyAgIHRncmVsaWQgICB8ICB0Z25hbWUgICB8IHBhcmVudF90Z25h bWUgCistLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIGNoaSAgICAg ICAgIHwgYiAgICAgICAgIHwgc29tZXRoaW5nCisgY2hvICAgICAgICAgfCBiICAgICAgICAgfCBz b21ldGhpbmcKKyBncmFuZHBhcmVudCB8IGIgICAgICAgICB8IAorIG1pZGRsZSAgICAgIHwgc29t ZXRoaW5nIHwgYgorKDQgcm93cykKKworYWx0ZXIgdHJpZ2dlciBzb21ldGhpbmcgb24gbWlkZGxl IHJlbmFtZSB0byBhX3RyaWdnZXI7CitOT1RJQ0U6ICB0cmlnZ2VyICJiIiBmb3IgdGFibGUgImNo aSIgd2FzIG5vdCBuYW1lZCAic29tZXRoaW5nIiwgcmVuYW1pbmcgYW55d2F5cworTk9USUNFOiAg dHJpZ2dlciAiYiIgZm9yIHRhYmxlICJjaG8iIHdhcyBub3QgbmFtZWQgInNvbWV0aGluZyIsIHJl bmFtaW5nIGFueXdheXMKK3NlbGVjdCB0Z3JlbGlkOjpyZWdjbGFzcywgdGduYW1lLCAoc2VsZWN0 IHRnbmFtZSBmcm9tIHBnX3RyaWdnZXIgdHIgd2hlcmUgdHIub2lkID0gcGdfdHJpZ2dlci50Z3Bh cmVudGlkKSBwYXJlbnRfdGduYW1lCitmcm9tIHBnX3RyaWdnZXIgd2hlcmUgdGduYW1lIGluICgn YV90cmlnZ2VyJywgJ2InLCAnc29tZXRoaW5nJykKK29yZGVyIGJ5IHRnbmFtZSwgdGdyZWxpZDo6 cmVnY2xhc3M6OnRleHQ7CisgICB0Z3JlbGlkICAgfCAgdGduYW1lICAgfCBwYXJlbnRfdGduYW1l IAorLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0KKyBjaGkgICAgICAg ICB8IGFfdHJpZ2dlciB8IGFfdHJpZ2dlcgorIGNobyAgICAgICAgIHwgYV90cmlnZ2VyIHwgYV90 cmlnZ2VyCisgbWlkZGxlICAgICAgfCBhX3RyaWdnZXIgfCBiCisgZ3JhbmRwYXJlbnQgfCBiICAg ICAgICAgfCAKKyg0IHJvd3MpCisKKy0tCistLSBDaGVjayB0aGF0IGNsYXNzaWNhbCBpbmhlcml0 YW5jZSBpcyB1bnBoYXNlZCBieSByZW5hbWluZyB0cmlnZ2VycworLS0KK2NyZWF0ZSB0YWJsZSBp bmggKGlkIGludCwKK3ByaW1hcnkga2V5IChpZCkpOworc2VsZWN0IHRncmVsaWQ6OnJlZ2NsYXNz LCB0Z25hbWUsIChzZWxlY3QgdGduYW1lIGZyb20gcGdfdHJpZ2dlciB0ciB3aGVyZSB0ci5vaWQg PSBwZ190cmlnZ2VyLnRncGFyZW50aWQpIHBhcmVudF90Z25hbWUKK2Zyb20gcGdfdHJpZ2dlciB3 aGVyZSB0Z3JlbGlkID0gJ2NoaSc6OnJlZ2NsYXNzCitvcmRlciBieSB0Z25hbWUsIHRncmVsaWQ6 OnJlZ2NsYXNzOjp0ZXh0OworIHRncmVsaWQgfCAgdGduYW1lICAgfCBwYXJlbnRfdGduYW1lIAor LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLQorIGNoaSAgICAgfCBhX3RyaWdn ZXIgfCBhX3RyaWdnZXIKKygxIHJvdykKKworYWx0ZXIgdGFibGUgbWlkZGxlIGRldGFjaCBwYXJ0 aXRpb24gY2hpOworYWx0ZXIgdHJpZ2dlciBhX3RyaWdnZXIgb24gbWlkZGxlIHJlbmFtZSB0byBz b21lX3RyaWdnZXI7CitzZWxlY3QgdGdyZWxpZDo6cmVnY2xhc3MsIHRnbmFtZSwgKHNlbGVjdCB0 Z25hbWUgZnJvbSBwZ190cmlnZ2VyIHRyIHdoZXJlIHRyLm9pZCA9IHBnX3RyaWdnZXIudGdwYXJl bnRpZCkgcGFyZW50X3RnbmFtZQorZnJvbSBwZ190cmlnZ2VyIHdoZXJlIHRncmVsaWQgPSAnY2hp Jzo6cmVnY2xhc3MKK29yZGVyIGJ5IHRnbmFtZSwgdGdyZWxpZDo6cmVnY2xhc3M6OnRleHQ7Cisg dGdyZWxpZCB8IHRnbmFtZSB8IHBhcmVudF90Z25hbWUgCistLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tCisoMCByb3dzKQorCithbHRlciB0YWJsZSBjaGkgaW5oZXJpdCBpbmg7Citz ZWxlY3QgdGdyZWxpZDo6cmVnY2xhc3MsIHRnbmFtZSwgKHNlbGVjdCB0Z25hbWUgZnJvbSBwZ190 cmlnZ2VyIHRyIHdoZXJlIHRyLm9pZCA9IHBnX3RyaWdnZXIudGdwYXJlbnRpZCkgcGFyZW50X3Rn bmFtZQorZnJvbSBwZ190cmlnZ2VyIHdoZXJlIHRncmVsaWQgPSAnY2hpJzo6cmVnY2xhc3MKK29y ZGVyIGJ5IHRnbmFtZSwgdGdyZWxpZDo6cmVnY2xhc3M6OnRleHQ7CisgdGdyZWxpZCB8IHRnbmFt ZSB8IHBhcmVudF90Z25hbWUgCistLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCiso MCByb3dzKQorCitjcmVhdGUgdHJpZ2dlciB1bnJlbGF0ZWQKK2JlZm9yZSB1cGRhdGUgb2YgaWQg b24gaW5oCitmb3IgZWFjaCByb3cKK2V4ZWN1dGUgcHJvY2VkdXJlIGYoKTsKK2FsdGVyIHRyaWdn ZXIgdW5yZWxhdGVkIG9uIGluaCByZW5hbWUgdG8gc29tZV90cmlnZ2VyOworYWx0ZXIgdHJpZ2dl ciBzb21lX3RyaWdnZXIgb24gaW5oIHJlbmFtZSB0byB0cmlnZ2VyX25hbWU7CitzZWxlY3QgdGdy ZWxpZDo6cmVnY2xhc3MsIHRnbmFtZSwgKHNlbGVjdCB0Z25hbWUgZnJvbSBwZ190cmlnZ2VyIHRy IHdoZXJlIHRyLm9pZCA9IHBnX3RyaWdnZXIudGdwYXJlbnRpZCkgcGFyZW50X3RnbmFtZQorZnJv bSBwZ190cmlnZ2VyIHdoZXJlIHRnbmFtZSBpbiAoJ3NvbWVfdHJpZ2dlcicsICd1bnJlbGF0ZWQn LCAndHJpZ2dlcl9uYW1lJykKK29yZGVyIGJ5IHRnbmFtZSwgdGdyZWxpZDo6cmVnY2xhc3M6OnRl eHQ7CisgdGdyZWxpZCB8ICAgIHRnbmFtZSAgICB8IHBhcmVudF90Z25hbWUgCistLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tCisgY2hvICAgICB8IHNvbWVfdHJpZ2dlciB8 IHNvbWVfdHJpZ2dlcgorIG1pZGRsZSAgfCBzb21lX3RyaWdnZXIgfCBiCisgaW5oICAgICB8IHRy aWdnZXJfbmFtZSB8IAorKDMgcm93cykKKworLS0gY2xlYW51cAorZHJvcCB0YWJsZSBncmFuZHBh cmVudDsKK2Ryb3AgdGFibGUgY2hpOworZHJvcCB0YWJsZSBpbmg7Citkcm9wIGZ1bmN0aW9uIGYo KTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3RyaWdnZXJzLnNxbCBiL3NyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL3RyaWdnZXJzLnNxbAppbmRleCBiNTBmNTAwMDQ1Li4zMjE4YjliMzZi IDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC90cmlnZ2Vycy5zcWwKKysrIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvdHJpZ2dlcnMuc3FsCkBAIC0yNTM1LDMgKzI1MzUsMTA4IEBAIGZv ciBlYWNoIHN0YXRlbWVudCBleGVjdXRlIGZ1bmN0aW9uIHRyaWdnZXJfZnVuY3Rpb24xKCk7CiBk ZWxldGUgZnJvbSBjb252c2xvdF90ZXN0X3BhcmVudDsKIAogZHJvcCB0YWJsZSBjb252c2xvdF90 ZXN0X2NoaWxkLCBjb252c2xvdF90ZXN0X3BhcmVudDsKKworLS0KKy0tIGJ1aWxkIGEgbmVzdGVk IHBhcnRpdGlvbiBzY2hlbWUgZm9yIHRlc3RpbmcKKy0tCisKK2NyZWF0ZSB0YWJsZSBncmFuZHBh cmVudCAoaWQgaW50LAorcHJpbWFyeSBrZXkgKGlkKSkKK3BhcnRpdGlvbiBieSByYW5nZSAoaWQp OworCitjcmVhdGUgdGFibGUgbWlkZGxlCitwYXJ0aXRpb24gb2YgZ3JhbmRwYXJlbnQKK2ZvciB2 YWx1ZXMgZnJvbSAoMSkKK3RvICgxMCkKK3BhcnRpdGlvbiBieSByYW5nZSAoaWQpOworCitjcmVh dGUgdGFibGUgY2hpCitwYXJ0aXRpb24gb2YgbWlkZGxlCitmb3IgdmFsdWVzIGZyb20gKDEpCit0 byAoNSk7CisKK2NyZWF0ZSB0YWJsZSBjaG8KK3BhcnRpdGlvbiBvZiBtaWRkbGUKK2ZvciB2YWx1 ZXMgZnJvbSAoNikKK3RvICg4KTsKKworY3JlYXRlIGZ1bmN0aW9uIGYgKCkKK3JldHVybnMgdHJp Z2dlciBhcyAKKyQkCitiZWdpbgorcmV0dXJuIG5ldzsKK2VuZDsKKyQkCitsYW5ndWFnZSBwbHBn c3FsOworCitjcmVhdGUgdHJpZ2dlciBhCithZnRlciBpbnNlcnQgb24gZ3JhbmRwYXJlbnQKK2Zv ciBlYWNoIHJvdworZXhlY3V0ZSBwcm9jZWR1cmUgZigpOworCitzZWxlY3QgdGdyZWxpZDo6cmVn Y2xhc3MsIHRnbmFtZSwgKHNlbGVjdCB0Z25hbWUgZnJvbSBwZ190cmlnZ2VyIHRyIHdoZXJlIHRy Lm9pZCA9IHBnX3RyaWdnZXIudGdwYXJlbnRpZCkgcGFyZW50X3RnbmFtZQorZnJvbSBwZ190cmln Z2VyIHdoZXJlIHRnbmFtZSBpbiAoJ2EnKQorb3JkZXIgYnkgdGduYW1lLCB0Z3JlbGlkOjpyZWdj bGFzczo6dGV4dDsKKworYWx0ZXIgdHJpZ2dlciBhIG9uIGdyYW5kcGFyZW50IHJlbmFtZSB0byBi OworCitzZWxlY3QgdGdyZWxpZDo6cmVnY2xhc3MsIHRnbmFtZSwgKHNlbGVjdCB0Z25hbWUgZnJv bSBwZ190cmlnZ2VyIHRyIHdoZXJlIHRyLm9pZCA9IHBnX3RyaWdnZXIudGdwYXJlbnRpZCkgcGFy ZW50X3RnbmFtZQorZnJvbSBwZ190cmlnZ2VyIHdoZXJlIHRnbmFtZSBpbiAoJ2EnLCAnYicpCitv cmRlciBieSB0Z25hbWUsIHRncmVsaWQ6OnJlZ2NsYXNzOjp0ZXh0OworCithbHRlciB0cmlnZ2Vy IGIgb24gb25seSBtaWRkbGUgcmVuYW1lIHRvIHNvbWV0aGluZzsKKworc2VsZWN0IHRncmVsaWQ6 OnJlZ2NsYXNzLCB0Z25hbWUsIChzZWxlY3QgdGduYW1lIGZyb20gcGdfdHJpZ2dlciB0ciB3aGVy ZSB0ci5vaWQgPSBwZ190cmlnZ2VyLnRncGFyZW50aWQpIHBhcmVudF90Z25hbWUKK2Zyb20gcGdf dHJpZ2dlciB3aGVyZSB0Z25hbWUgaW4gKCdzb21ldGhpbmcnLCAnYicpCitvcmRlciBieSB0Z25h bWUsIHRncmVsaWQ6OnJlZ2NsYXNzOjp0ZXh0OworCithbHRlciB0cmlnZ2VyIHNvbWV0aGluZyBv biBtaWRkbGUgcmVuYW1lIHRvIGFfdHJpZ2dlcjsKKworc2VsZWN0IHRncmVsaWQ6OnJlZ2NsYXNz LCB0Z25hbWUsIChzZWxlY3QgdGduYW1lIGZyb20gcGdfdHJpZ2dlciB0ciB3aGVyZSB0ci5vaWQg PSBwZ190cmlnZ2VyLnRncGFyZW50aWQpIHBhcmVudF90Z25hbWUKK2Zyb20gcGdfdHJpZ2dlciB3 aGVyZSB0Z25hbWUgaW4gKCdhX3RyaWdnZXInLCAnYicsICdzb21ldGhpbmcnKQorb3JkZXIgYnkg dGduYW1lLCB0Z3JlbGlkOjpyZWdjbGFzczo6dGV4dDsKKworLS0KKy0tIENoZWNrIHRoYXQgY2xh c3NpY2FsIGluaGVyaXRhbmNlIGlzIHVucGhhc2VkIGJ5IHJlbmFtaW5nIHRyaWdnZXJzCistLQor CitjcmVhdGUgdGFibGUgaW5oIChpZCBpbnQsCitwcmltYXJ5IGtleSAoaWQpKTsKKworc2VsZWN0 IHRncmVsaWQ6OnJlZ2NsYXNzLCB0Z25hbWUsIChzZWxlY3QgdGduYW1lIGZyb20gcGdfdHJpZ2dl ciB0ciB3aGVyZSB0ci5vaWQgPSBwZ190cmlnZ2VyLnRncGFyZW50aWQpIHBhcmVudF90Z25hbWUK K2Zyb20gcGdfdHJpZ2dlciB3aGVyZSB0Z3JlbGlkID0gJ2NoaSc6OnJlZ2NsYXNzCitvcmRlciBi eSB0Z25hbWUsIHRncmVsaWQ6OnJlZ2NsYXNzOjp0ZXh0OworCithbHRlciB0YWJsZSBtaWRkbGUg ZGV0YWNoIHBhcnRpdGlvbiBjaGk7CisKK2FsdGVyIHRyaWdnZXIgYV90cmlnZ2VyIG9uIG1pZGRs ZSByZW5hbWUgdG8gc29tZV90cmlnZ2VyOworCitzZWxlY3QgdGdyZWxpZDo6cmVnY2xhc3MsIHRn bmFtZSwgKHNlbGVjdCB0Z25hbWUgZnJvbSBwZ190cmlnZ2VyIHRyIHdoZXJlIHRyLm9pZCA9IHBn X3RyaWdnZXIudGdwYXJlbnRpZCkgcGFyZW50X3RnbmFtZQorZnJvbSBwZ190cmlnZ2VyIHdoZXJl IHRncmVsaWQgPSAnY2hpJzo6cmVnY2xhc3MKK29yZGVyIGJ5IHRnbmFtZSwgdGdyZWxpZDo6cmVn Y2xhc3M6OnRleHQ7CisKK2FsdGVyIHRhYmxlIGNoaSBpbmhlcml0IGluaDsKKworc2VsZWN0IHRn cmVsaWQ6OnJlZ2NsYXNzLCB0Z25hbWUsIChzZWxlY3QgdGduYW1lIGZyb20gcGdfdHJpZ2dlciB0 ciB3aGVyZSB0ci5vaWQgPSBwZ190cmlnZ2VyLnRncGFyZW50aWQpIHBhcmVudF90Z25hbWUKK2Zy b20gcGdfdHJpZ2dlciB3aGVyZSB0Z3JlbGlkID0gJ2NoaSc6OnJlZ2NsYXNzCitvcmRlciBieSB0 Z25hbWUsIHRncmVsaWQ6OnJlZ2NsYXNzOjp0ZXh0OworCitjcmVhdGUgdHJpZ2dlciB1bnJlbGF0 ZWQKK2JlZm9yZSB1cGRhdGUgb2YgaWQgb24gaW5oCitmb3IgZWFjaCByb3cKK2V4ZWN1dGUgcHJv Y2VkdXJlIGYoKTsKKworYWx0ZXIgdHJpZ2dlciB1bnJlbGF0ZWQgb24gaW5oIHJlbmFtZSB0byBz b21lX3RyaWdnZXI7CisKK2FsdGVyIHRyaWdnZXIgc29tZV90cmlnZ2VyIG9uIGluaCByZW5hbWUg dG8gdHJpZ2dlcl9uYW1lOworCitzZWxlY3QgdGdyZWxpZDo6cmVnY2xhc3MsIHRnbmFtZSwgKHNl bGVjdCB0Z25hbWUgZnJvbSBwZ190cmlnZ2VyIHRyIHdoZXJlIHRyLm9pZCA9IHBnX3RyaWdnZXIu dGdwYXJlbnRpZCkgcGFyZW50X3RnbmFtZQorZnJvbSBwZ190cmlnZ2VyIHdoZXJlIHRnbmFtZSBp biAoJ3NvbWVfdHJpZ2dlcicsICd1bnJlbGF0ZWQnLCAndHJpZ2dlcl9uYW1lJykKK29yZGVyIGJ5 IHRnbmFtZSwgdGdyZWxpZDo6cmVnY2xhc3M6OnRleHQ7CisKKy0tIGNsZWFudXAKKworZHJvcCB0 YWJsZSBncmFuZHBhcmVudDsKK2Ryb3AgdGFibGUgY2hpOworZHJvcCB0YWJsZSBpbmg7Citkcm9w IGZ1bmN0aW9uIGYoKTsK --_004_6e6491608f694ca488a5d7c404c4b98dindexde_--