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.96) (envelope-from ) id 1w0H4T-001liO-1x for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Mar 2026 10:45:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1w0H4R-008XoI-2Y for pgsql-hackers@arkaria.postgresql.org; Wed, 11 Mar 2026 10:45:44 +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.96) (envelope-from ) id 1w0H4R-008Xo9-1G for pgsql-hackers@lists.postgresql.org; Wed, 11 Mar 2026 10:45:43 +0000 Received: from mail-oi1-x233.google.com ([2607:f8b0:4864:20::233]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1w0H4P-000000027cY-1idr for pgsql-hackers@postgresql.org; Wed, 11 Mar 2026 10:45:43 +0000 Received: by mail-oi1-x233.google.com with SMTP id 5614622812f47-466f935a82fso2553683b6e.0 for ; Wed, 11 Mar 2026 03:45:41 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1773225940; cv=none; d=google.com; s=arc-20240605; b=CJTrUAMg9RXY5G3yTFuEpQNncqVhfvg55U5cLT67OpVja3Ab1N2CNzmpEMdbPhxxLj dFYFMVPALxL13N6eC/cSdeXRvoKXBsqUWuAy3xo4uDVoZvmzVgx0YJ3AOigBVPZbfCb7 fEaemVdV3uUPKrNbL4TmVKoc0w8bhdvvVVwxKjUf3b3aMToYuEFujO7mh6SkfMhz4s8B LX7Ww71wL0evcqAH5ZNwwGBznXwcS8rbGZFZlF/CqjqMA6ur2sXKvoyDp8Q+EEXYwjsJ jt0bzgOU68uO0iwWqeTEObLod0xtMTFb3yvEGq/x66ZI3EDm3gDGSpmK3poCcjiNbK6Q 06xw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=h3ZuId5ey6cz7deu7V7oqdbRJLQE6pMhezDW9BigiDk=; fh=gYDQecJ5oduTV7MfZxQBNZ+92fsEA5Uw8WGrVnANfIc=; b=XvLflBcWaFRiA5712zzV5fPI8FLosT6PAwNLqswUoS/cVfIlIdsMl00BuLG4SP8zcF 4rhPKsjrLpFozeIFtBxE2AyZJI5FtVpPytqCKasDeGogsmsS9iNmvTD1ftCerZGN91oA Vj903v8bIJ2iuisZ8VDC0CYdQZxrs8D599ZW0La/9l0Gve2RnK8I6RY+v13Ahg2AqphJ B1uaIu4UR/a3djtuCNj4uj+0Ri4COS3+v3rxFRCMV/6xFk1WJngP+SHOPwz5YxlGQSJa wCTGiIc9SVsg0803yak+/CZIRivgYTj3At5CjF+NaRHB2sxs9djU3gQRJYbIyJNGU+ae uV0A==; darn=postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tigerdata.com; s=google; t=1773225940; x=1773830740; darn=postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=h3ZuId5ey6cz7deu7V7oqdbRJLQE6pMhezDW9BigiDk=; b=ELJsubgjhEQcGFiWUdGY/EN41tOv3kbCRDwlK+fubbeh2Tqc0JNdmC9SBSwUw8Db0I kTbi5VJ86aLjVj6CHDY0Z5n7FmT8nYiiBmvwxrABm6FUq4oNixfgr2sdl93vbsuRdOaS FpNqcJL2wSgQJzk/UxmsUVY8DJUrTMT9C0yHpLR7IAy9XBsAR+435ZKUiK6EISx41IWs y/A0Fwvqrc0uSFZAGEsUuKqNxmI2jBvtsJQc+iKEl2HuajqrosemL+L0FD29we4f2jh8 6V95CFEp6VyXBwVdQORcdH5v1jGqSNdYqgOW8UTQTt7UToDroE6X8zv1JcxFzd5Slo9J 2dgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773225940; x=1773830740; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=h3ZuId5ey6cz7deu7V7oqdbRJLQE6pMhezDW9BigiDk=; b=o85N+z3D97xKFLDXmzbZ4/CzSp41V/IZV8c9laUJkcD2C93B7T6w7Zyomhs08GSAYj a756G5MvCdkBgUQdGERhaSRouAqhgZrIBlH0MKhnTBttocOQrWMedhwoxG3tqrEsGl7U JOkKd4dxJIN60FM/fB1W3hbF2vfm2i9qlowzcf9EtOLuMxMsVIm6tRCvWBCIitn0D5KE xVQfD3dM7dtIKuGPDyyiwNBFzboooneBVxZX1h7dWQUYdsN3nYA3nhdm6V4m+PnsVh7u om8oFEZL4e02MIy5KxouXhG0FtMVtz9CgG1SCkj9t6BeIxIS9ajVmCcLsYNPE5SsvSDY By+A== X-Forwarded-Encrypted: i=1; AJvYcCXqkTAPqU71Z5SXtB0odnJaIgcGvhRlzhrn6fh7WxWJQ3a1yUpTQz0RTxlW6v766EzZGMqJsUPJQQnb62ES@postgresql.org X-Gm-Message-State: AOJu0YygQs1wugC44mIbVe8cN0fCEp4ETK1MT4d8JqTwQhJH8G41WJAm n80Aip/IKmIyRf59B27soT0NGKJsvQ1Ivw6h7sSaSqp7rfRMDc6xh1p5XLcOyua6RCocNL2h9+Y b1reUrWQNgW1y6Tzx2Yw0EqepuUZ8Pb6ALWkoksBgB9tecrHdYujBXn2sgw== X-Gm-Gg: ATEYQzwA57QxoF+K0L/5FE+bu070B0oBaZlBobip7DsHRGIkxw2g2SIEB4Jw/DG/VQM 30vbD+Cz6dEw0GVvg0S1byeBG3OQPRPbBnzBHBwSoEZzxxqeYZe078DyCYHq7F7m8y7WROx4jdW +YajdiXRWwIVlrk6baVlh+VzkEHZ3bjft9fGG/hUnhR6JmrLHeeZj2ucMGsLmmcVmo6gEDWvVMe +PGWO2RBTD6jAijX/u483l1wyDynefoxj0EMce/TTqO5751EEh+cf4mDZtSiohOri+ddAybe8VD /DWShQ== X-Received: by 2002:a05:6808:3509:b0:467:2e8a:8c6f with SMTP id 5614622812f47-467335b22famr1010900b6e.54.1773225940032; Wed, 11 Mar 2026 03:45:40 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Alexander Kuzmenkov Date: Wed, 11 Mar 2026 11:45:28 +0100 X-Gm-Features: AaiRm51iKRz5nXjEVe0aY1uDTIhkhrY5wJUaaHeGnfcPoMuC6550h1Ej9mwcOKs Message-ID: Subject: Re: Fix uninitialized xl_running_xacts padding To: Heikki Linnakangas Cc: Andres Freund , Anthonin Bonnefoy , Bertrand Drouvot , Michael Paquier , Thomas Munro , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="0000000000004345a1064cbd56be" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --0000000000004345a1064cbd56be Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, Mar 10, 2026 at 11:09=E2=80=AFPM Heikki Linnakangas wrote: > +1 for initializing all padding in WAL records. In fact I thought that > we already did that. (Except in this case, apparently) I found 42 exceptions like this. See the attached patch, it initializes some WAL records and removes the WAL-related Valgrind suppressions. The regression tests pass under Valgrind with these changes. As discussed above, I used memset instead of =3D { 0 }. I could observe the latter to not initialize the padding on some configurations. --0000000000004345a1064cbd56be Content-Type: text/x-patch; charset="US-ASCII"; name="initialize-wal-record-padding.patch" Content-Disposition: attachment; filename="initialize-wal-record-padding.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mmlwrdbt0 ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW4uYyBiL3NyYy9iYWNrZW5k L2FjY2Vzcy9icmluL2JyaW4uYwppbmRleCA2YWZkNTM2N2M1OS4uMjYxNDA1YTEyMmYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW4uYworKysgYi9zcmMvYmFja2VuZC9h Y2Nlc3MvYnJpbi9icmluLmMKQEAgLTExMzgsNiArMTEzOCw4IEBAIGJyaW5idWlsZChSZWxhdGlv biBoZWFwLCBSZWxhdGlvbiBpbmRleCwgSW5kZXhJbmZvICppbmRleEluZm8pCiAJCVhMb2dSZWNQ dHIJcmVjcHRyOwogCQlQYWdlCQlwYWdlOwogCisJCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4 bHJlYykpOworCiAJCXhscmVjLnZlcnNpb24gPSBCUklOX0NVUlJFTlRfVkVSU0lPTjsKIAkJeGxy ZWMucGFnZXNQZXJSYW5nZSA9IEJyaW5HZXRQYWdlc1BlclJhbmdlKGluZGV4KTsKIApkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9wYWdlb3BzLmMgYi9zcmMvYmFja2Vu ZC9hY2Nlc3MvYnJpbi9icmluX3BhZ2VvcHMuYwppbmRleCBhNTE4N2E2MjAyZi4uYmRlZjlhMDFm YmQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fcGFnZW9wcy5jCisr KyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9icmluL2JyaW5fcGFnZW9wcy5jCkBAIC0xODcsNiArMTg3 LDggQEAgYnJpbl9kb3VwZGF0ZShSZWxhdGlvbiBpZHhyZWwsIEJsb2NrTnVtYmVyIHBhZ2VzUGVy UmFuZ2UsCiAJCQlYTG9nUmVjUHRyCXJlY3B0cjsKIAkJCXVpbnQ4CQlpbmZvID0gWExPR19CUklO X1NBTUVQQUdFX1VQREFURTsKIAorCQkJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7 CisKIAkJCXhscmVjLm9mZm51bSA9IG9sZG9mZjsKIAogCQkJWExvZ0JlZ2luSW5zZXJ0KCk7CkBA IC0yNzIsNiArMjc0LDggQEAgYnJpbl9kb3VwZGF0ZShSZWxhdGlvbiBpZHhyZWwsIEJsb2NrTnVt YmVyIHBhZ2VzUGVyUmFuZ2UsCiAJCQlYTG9nUmVjUHRyCXJlY3B0cjsKIAkJCXVpbnQ4CQlpbmZv OwogCisJCQltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCQkJaW5mbyA9IFhM T0dfQlJJTl9VUERBVEUgfCAoZXh0ZW5kZWQgPyBYTE9HX0JSSU5fSU5JVF9QQUdFIDogMCk7CiAK IAkJCXhscmVjLmluc2VydC5vZmZudW0gPSBuZXdvZmY7CkBAIC00MjksNiArNDMzLDggQEAgYnJp bl9kb2luc2VydChSZWxhdGlvbiBpZHhyZWwsIEJsb2NrTnVtYmVyIHBhZ2VzUGVyUmFuZ2UsCiAJ CVhMb2dSZWNQdHIJcmVjcHRyOwogCQl1aW50OAkJaW5mbzsKIAorCQltZW1zZXQoJnhscmVjLCAw LCBzaXplb2YoeGxyZWMpKTsKKwogCQlpbmZvID0gWExPR19CUklOX0lOU0VSVCB8IChleHRlbmRl ZCA/IFhMT0dfQlJJTl9JTklUX1BBR0UgOiAwKTsKIAkJeGxyZWMuaGVhcEJsayA9IGhlYXBCbGs7 CiAJCXhscmVjLnBhZ2VzUGVyUmFuZ2UgPSBwYWdlc1BlclJhbmdlOwpkaWZmIC0tZ2l0IGEvc3Jj L2JhY2tlbmQvYWNjZXNzL2JyaW4vYnJpbl9yZXZtYXAuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9i cmluL2JyaW5fcmV2bWFwLmMKaW5kZXggNGUzODBlY2M3MTAuLjk2ZDE3OTVhNmQzIDEwMDY0NAot LS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvYnJpbi9icmluX3Jldm1hcC5jCisrKyBiL3NyYy9iYWNr ZW5kL2FjY2Vzcy9icmluL2JyaW5fcmV2bWFwLmMKQEAgLTQxMSw2ICs0MTEsOCBAQCBicmluUmV2 bWFwRGVzdW1tYXJpemVSYW5nZShSZWxhdGlvbiBpZHhyZWwsIEJsb2NrTnVtYmVyIGhlYXBCbGsp CiAJCXhsX2JyaW5fZGVzdW1tYXJpemUgeGxyZWM7CiAJCVhMb2dSZWNQdHIJcmVjcHRyOwogCisJ CW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOworCiAJCXhscmVjLnBhZ2VzUGVyUmFu Z2UgPSByZXZtYXAtPnJtX3BhZ2VzUGVyUmFuZ2U7CiAJCXhscmVjLmhlYXBCbGsgPSBoZWFwQmxr OwogCQl4bHJlYy5yZWdPZmZzZXQgPSByZWdPZmZzZXQ7CkBAIC02MjQsNiArNjI2LDggQEAgcmV2 bWFwX3BoeXNpY2FsX2V4dGVuZChCcmluUmV2bWFwICpyZXZtYXApCiAJCXhsX2JyaW5fcmV2bWFw X2V4dGVuZCB4bHJlYzsKIAkJWExvZ1JlY1B0cglyZWNwdHI7CiAKKwkJbWVtc2V0KCZ4bHJlYywg MCwgc2l6ZW9mKHhscmVjKSk7CisKIAkJeGxyZWMudGFyZ2V0QmxrID0gbWFwQmxrOwogCiAJCVhM b2dCZWdpbkluc2VydCgpOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5i dHJlZS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5idHJlZS5jCmluZGV4IDY0NGQ0ODRl YTUzLi4xODliNTc5YzYwZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5i dHJlZS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2luYnRyZWUuYwpAQCAtNDIxLDYg KzQyMSw4IEBAIGdpblBsYWNlVG9QYWdlKEdpbkJ0cmVlIGJ0cmVlLCBHaW5CdHJlZVN0YWNrICpz dGFjaywKIAkJCWdpbnhsb2dJbnNlcnQgeGxyZWM7CiAJCQlCbG9ja0lkRGF0YSBjaGlsZGJsa25v c1syXTsKIAorCQkJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAkJCXhscmVj LmZsYWdzID0geGxmbGFnczsKIAogCQkJWExvZ1JlZ2lzdGVyRGF0YSgmeGxyZWMsIHNpemVvZihn aW54bG9nSW5zZXJ0KSk7CkBAIC00NjEsNiArNDYzLDggQEAgZ2luUGxhY2VUb1BhZ2UoR2luQnRy ZWUgYnRyZWUsIEdpbkJ0cmVlU3RhY2sgKnN0YWNrLAogCQlCdWZmZXIJCWxidWZmZXIgPSBJbnZh bGlkQnVmZmVyOwogCQlQYWdlCQluZXdyb290cGcgPSBOVUxMOwogCisJCW1lbXNldCgmZGF0YSwg MCwgc2l6ZW9mKGRhdGEpKTsKKwogCQkvKiBHZXQgYSBuZXcgaW5kZXggcGFnZSB0byBiZWNvbWUg dGhlIHJpZ2h0IHBhZ2UgKi8KIAkJcmJ1ZmZlciA9IEdpbk5ld0J1ZmZlcihidHJlZS0+aW5kZXgp OwogCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbmZhc3QuYyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9naW4vZ2luZmFzdC5jCmluZGV4IGE2ZDg4NTcyY2MyLi5mZDFjNDZiYzIw ZiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW5mYXN0LmMKKysrIGIvc3Jj L2JhY2tlbmQvYWNjZXNzL2dpbi9naW5mYXN0LmMKQEAgLTExOCw2ICsxMTgsOCBAQCB3cml0ZUxp c3RQYWdlKFJlbGF0aW9uIGluZGV4LCBCdWZmZXIgYnVmZmVyLAogCQlnaW54bG9nSW5zZXJ0TGlz dFBhZ2UgZGF0YTsKIAkJWExvZ1JlY1B0cglyZWNwdHI7CiAKKwkJbWVtc2V0KCZkYXRhLCAwLCBz aXplb2YoZGF0YSkpOworCiAJCWRhdGEucmlnaHRsaW5rID0gcmlnaHRsaW5rOwogCQlkYXRhLm50 dXBsZXMgPSBudHVwbGVzOwogCkBAIC0yMzAsNiArMjMyLDggQEAgZ2luSGVhcFR1cGxlRmFzdElu c2VydChHaW5TdGF0ZSAqZ2luc3RhdGUsIEdpblR1cGxlQ29sbGVjdG9yICpjb2xsZWN0b3IpCiAJ aW50CQkJY2xlYW51cFNpemU7CiAJYm9vbAkJbmVlZFdhbDsKIAorCW1lbXNldCgmZGF0YSwgMCwg c2l6ZW9mKGRhdGEpKTsKKwogCWlmIChjb2xsZWN0b3ItPm50dXBsZXMgPT0gMCkKIAkJcmV0dXJu OwogCkBAIC01NzEsNiArNTc1LDggQEAgc2hpZnRMaXN0KFJlbGF0aW9uIGluZGV4LCBCdWZmZXIg bWV0YWJ1ZmZlciwgQmxvY2tOdW1iZXIgbmV3SGVhZCwKIAkJQnVmZmVyCQlidWZmZXJzW0dJTl9O REVMRVRFX0FUX09OQ0VdOwogCQlCbG9ja051bWJlciBmcmVlc3BhY2VbR0lOX05ERUxFVEVfQVRf T05DRV07CiAKKwkJbWVtc2V0KCZkYXRhLCAwLCBzaXplb2YoZGF0YSkpOworCiAJCWRhdGEubmRl bGV0ZWQgPSAwOwogCQl3aGlsZSAoZGF0YS5uZGVsZXRlZCA8IEdJTl9OREVMRVRFX0FUX09OQ0Ug JiYgYmxrbm9Ub0RlbGV0ZSAhPSBuZXdIZWFkKQogCQl7CmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9hY2Nlc3MvZ2luL2dpbnV0aWwuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2ludXRpbC5j CmluZGV4IDc4ZjdiN2EyNDk1Li4yYzg1ZTMxZGMxYSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv YWNjZXNzL2dpbi9naW51dGlsLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW51dGls LmMKQEAgLTY4Nyw2ICs2ODcsOCBAQCBnaW5VcGRhdGVTdGF0cyhSZWxhdGlvbiBpbmRleCwgY29u c3QgR2luU3RhdHNEYXRhICpzdGF0cywgYm9vbCBpc19idWlsZCkKIAkJWExvZ1JlY1B0cglyZWNw dHI7CiAJCWdpbnhsb2dVcGRhdGVNZXRhIGRhdGE7CiAKKwkJbWVtc2V0KCZkYXRhLCAwLCBzaXpl b2YoZGF0YSkpOworCiAJCWRhdGEubG9jYXRvciA9IGluZGV4LT5yZF9sb2NhdG9yOwogCQlkYXRh Lm50dXBsZXMgPSAwOwogCQlkYXRhLm5ld1JpZ2h0bGluayA9IGRhdGEucHJldlRhaWwgPSBJbnZh bGlkQmxvY2tOdW1iZXI7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvZ2luL2dpbnZh Y3V1bS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW52YWN1dW0uYwppbmRleCBmYmJlM2E2 ZGQ3MC4uYzBkNGZiODZiNDggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9naW4vZ2lu dmFjdXVtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2dpbi9naW52YWN1dW0uYwpAQCAtMTk5 LDYgKzE5OSw4IEBAIGdpbkRlbGV0ZVBhZ2UoR2luVmFjdXVtU3RhdGUgKmd2cywgQmxvY2tOdW1i ZXIgZGVsZXRlQmxrbm8sIEJsb2NrTnVtYmVyIGxlZnRCbGtuCiAJCVhMb2dSZWNQdHIJcmVjcHRy OwogCQlnaW54bG9nRGVsZXRlUGFnZSBkYXRhOwogCisJCW1lbXNldCgmZGF0YSwgMCwgc2l6ZW9m KGRhdGEpKTsKKwogCQkvKgogCQkgKiBXZSBjYW4ndCBwYXNzIFJFR0JVRl9TVEFOREFSRCBmb3Ig dGhlIGRlbGV0ZWQgcGFnZSwgYmVjYXVzZSB3ZQogCQkgKiBkaWRuJ3Qgc2V0IHBkX2xvd2VyIG9u IHByZS05LjQgdmVyc2lvbnMuIFRoZSBwYWdlIG1pZ2h0J3ZlIGJlZW4KZGlmZiAtLWdpdCBhL3Ny Yy9iYWNrZW5kL2FjY2Vzcy9naXN0L2dpc3R4bG9nLmMgYi9zcmMvYmFja2VuZC9hY2Nlc3MvZ2lz dC9naXN0eGxvZy5jCmluZGV4IGIzNTRlNGJhNWQxLi42YjRjYWI5ZGUxNiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvYWNjZXNzL2dpc3QvZ2lzdHhsb2cuYworKysgYi9zcmMvYmFja2VuZC9hY2Nl c3MvZ2lzdC9naXN0eGxvZy5jCkBAIC01MDMsNiArNTAzLDggQEAgZ2lzdFhMb2dTcGxpdChib29s IHBhZ2VfaXNfbGVhZiwKIAlYTG9nUmVjUHRyCXJlY3B0cjsKIAlpbnQJCQlpOwogCisJbWVtc2V0 KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAlmb3IgKHB0ciA9IGRpc3Q7IHB0cjsgcHRy ID0gcHRyLT5uZXh0KQogCQlucGFnZSsrOwogCkBAIC01NTUsNiArNTU3LDggQEAgZ2lzdFhMb2dQ YWdlRGVsZXRlKEJ1ZmZlciBidWZmZXIsIEZ1bGxUcmFuc2FjdGlvbklkIHhpZCwKIAlnaXN0eGxv Z1BhZ2VEZWxldGUgeGxyZWM7CiAJWExvZ1JlY1B0cglyZWNwdHI7CiAKKwltZW1zZXQoJnhscmVj LCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCXhscmVjLmRlbGV0ZVhpZCA9IHhpZDsKIAl4bHJlYy5k b3dubGlua09mZnNldCA9IGRvd25saW5rT2Zmc2V0OwogCkBAIC02MzUsNiArNjM5LDggQEAgZ2lz dFhMb2dVcGRhdGUoQnVmZmVyIGJ1ZmZlciwKIAlpbnQJCQlpOwogCVhMb2dSZWNQdHIJcmVjcHRy OwogCisJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAl4bHJlYy5udG9kZWxl dGUgPSBudG9kZWxldGU7CiAJeGxyZWMubnRvaW5zZXJ0ID0gaXR1cGxlbjsKIApAQCAtNjczLDYg KzY3OSw4IEBAIGdpc3RYTG9nRGVsZXRlKEJ1ZmZlciBidWZmZXIsIE9mZnNldE51bWJlciAqdG9k ZWxldGUsIGludCBudG9kZWxldGUsCiAJZ2lzdHhsb2dEZWxldGUgeGxyZWM7CiAJWExvZ1JlY1B0 cglyZWNwdHI7CiAKKwltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCXhscmVj LmlzQ2F0YWxvZ1JlbCA9IFJlbGF0aW9uSXNBY2Nlc3NpYmxlSW5Mb2dpY2FsRGVjb2RpbmcoaGVh cHJlbCk7CiAJeGxyZWMuc25hcHNob3RDb25mbGljdEhvcml6b24gPSBzbmFwc2hvdENvbmZsaWN0 SG9yaXpvbjsKIAl4bHJlYy5udG9kZWxldGUgPSBudG9kZWxldGU7CmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFwYW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hl YXBhbS5jCmluZGV4IDYyMDNlM2Q3ZjhkLi5kYWFiNDRhZDkzNyAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtLmMKKysrIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAv aGVhcGFtLmMKQEAgLTIzNjYsNiArMjM2Niw4IEBAIGhlYXBfbXVsdGlfaW5zZXJ0KFJlbGF0aW9u IHJlbGF0aW9uLCBUdXBsZVRhYmxlU2xvdCAqKnNsb3RzLCBpbnQgbnR1cGxlcywKIAlpbnQJCQlu cGFnZXMgPSAwOwogCWludAkJCW5wYWdlc191c2VkID0gMDsKIAorCW1lbXNldCgmc2NyYXRjaCwg MCwgc2l6ZW9mKHNjcmF0Y2gpKTsKKwogCS8qIGN1cnJlbnRseSBub3QgbmVlZGVkICh0aHVzIHVu c3VwcG9ydGVkKSBmb3IgaGVhcF9tdWx0aV9pbnNlcnQoKSAqLwogCUFzc2VydCghKG9wdGlvbnMg JiBIRUFQX0lOU0VSVF9OT19MT0dJQ0FMKSk7CiAKQEAgLTY1ODcsNiArNjU4OSw3IEBAIGhlYXBf aW5wbGFjZV91cGRhdGVfYW5kX3VubG9jayhSZWxhdGlvbiByZWxhdGlvbiwKIAkJQmxvY2tOdW1i ZXIgYmxrbm87CiAJCVhMb2dSZWNQdHIJcmVjcHRyOwogCisJCW1lbXNldCgmeGxyZWMsIDAsIHNp emVvZih4bHJlYykpOwogCQl4bHJlYy5vZmZudW0gPSBJdGVtUG9pbnRlckdldE9mZnNldE51bWJl cigmdHVwbGUtPnRfc2VsZik7CiAJCXhscmVjLmRiSWQgPSBNeURhdGFiYXNlSWQ7CiAJCXhscmVj LnRzSWQgPSBNeURhdGFiYXNlVGFibGVTcGFjZTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2Fj Y2Vzcy9oZWFwL3BydW5laGVhcC5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcHJ1bmVoZWFw LmMKaW5kZXggYTgwMjU4ODliZTAuLmE2YzkxODYxMmMwIDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9hY2Nlc3MvaGVhcC9wcnVuZWhlYXAuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9w cnVuZWhlYXAuYwpAQCAtMTk1Nyw2ICsxOTU3LDcgQEAgaGVhcF9sb2dfZnJlZXplX2NtcChjb25z dCB2b2lkICphcmcxLCBjb25zdCB2b2lkICphcmcyKQogc3RhdGljIGlubGluZSB2b2lkCiBoZWFw X2xvZ19mcmVlemVfbmV3X3BsYW4oeGxocF9mcmVlemVfcGxhbiAqcGxhbiwgSGVhcFR1cGxlRnJl ZXplICpmcnopCiB7CisJbWVtc2V0KHBsYW4sIDAsIHNpemVvZigqcGxhbikpOwogCXBsYW4tPnht YXggPSBmcnotPnhtYXg7CiAJcGxhbi0+dF9pbmZvbWFzazIgPSBmcnotPnRfaW5mb21hc2syOwog CXBsYW4tPnRfaW5mb21hc2sgPSBmcnotPnRfaW5mb21hc2s7CkBAIC0yMDcxLDcgKzIwNzIsOCBA QCBsb2dfaGVhcF9wcnVuZV9hbmRfZnJlZXplKFJlbGF0aW9uIHJlbGF0aW9uLCBCdWZmZXIgYnVm ZmVyLAogCXhsaHBfcHJ1bmVfaXRlbXMgdW51c2VkX2l0ZW1zOwogCU9mZnNldE51bWJlciBmcnpf b2Zmc2V0c1tNYXhIZWFwVHVwbGVzUGVyUGFnZV07CiAKLQl4bHJlYy5mbGFncyA9IDA7CisJbWVt c2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisJbWVtc2V0KCZmcmVlemVfcGxhbnMsIDAs IHNpemVvZihmcmVlemVfcGxhbnMpKTsKIAogCS8qCiAJICogUHJlcGFyZSBkYXRhIGZvciB0aGUg YnVmZmVyLiAgVGhlIGFycmF5cyBhcmUgbm90IGFjdHVhbGx5IGluIHRoZQpkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRpbnNlcnQuYyBiL3NyYy9iYWNrZW5kL2FjY2Vz cy9uYnRyZWUvbmJ0aW5zZXJ0LmMKaW5kZXggYWE4MmNlZGUzMGEuLmZmNDc1YWE5NzM5IDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idGluc2VydC5jCisrKyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9uYnRyZWUvbmJ0aW5zZXJ0LmMKQEAgLTEzMTcsNiArMTMxNyw4IEBAIF9i dF9pbnNlcnRvbnBnKFJlbGF0aW9uIHJlbCwKIAkJCVhMb2dSZWNQdHIJcmVjcHRyOwogCQkJdWlu dDE2CQl1cG9zdGluZ29mZjsKIAorCQkJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7 CisJCQltZW1zZXQoJnhsbWV0YSwgMCwgc2l6ZW9mKHhsbWV0YSkpOwogCQkJeGxyZWMub2ZmbnVt ID0gbmV3aXRlbW9mZjsKIAogCQkJWExvZ0JlZ2luSW5zZXJ0KCk7CkBAIC0xOTcwLDYgKzE5NzIs NyBAQCBfYnRfc3BsaXQoUmVsYXRpb24gcmVsLCBSZWxhdGlvbiBoZWFwcmVsLCBCVFNjYW5JbnNl cnQgaXR1cF9rZXksIEJ1ZmZlciBidWYsCiAJCXVpbnQ4CQl4bGluZm87CiAJCVhMb2dSZWNQdHIJ cmVjcHRyOwogCisJCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOwogCQl4bHJlYy5s ZXZlbCA9IHJvcGFxdWUtPmJ0cG9fbGV2ZWw7CiAJCS8qIFNlZSBjb21tZW50cyBiZWxvdyBvbiBu ZXdpdGVtLCBvcmlnbmV3aXRlbSwgYW5kIHBvc3RpbmcgbGlzdHMgKi8KIAkJeGxyZWMuZmlyc3Ry aWdodG9mZiA9IGZpcnN0cmlnaHRvZmY7CkBAIC0yNTYwLDYgKzI1NjMsOCBAQCBfYnRfbmV3bGV2 ZWwoUmVsYXRpb24gcmVsLCBSZWxhdGlvbiBoZWFwcmVsLCBCdWZmZXIgbGJ1ZiwgQnVmZmVyIHJi dWYpCiAJCVhMb2dSZWNQdHIJcmVjcHRyOwogCQl4bF9idHJlZV9tZXRhZGF0YSBtZDsKIAorCQlt ZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwkJbWVtc2V0KCZtZCwgMCwgc2l6ZW9m KG1kKSk7CiAJCXhscmVjLnJvb3RibGsgPSByb290YmxrbnVtOwogCQl4bHJlYy5sZXZlbCA9IG1l dGFkLT5idG1fbGV2ZWw7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9uYnRyZWUv bmJ0cGFnZS5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL25idHJlZS9uYnRwYWdlLmMKaW5kZXggYzc5 ZGQzOGVlMTguLjg5ZjkyZGM3Y2JhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0 cmVlL25idHBhZ2UuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvbmJ0cmVlL25idHBhZ2UuYwpA QCAtMjg3LDYgKzI4Nyw3IEBAIF9idF9zZXRfY2xlYW51cF9pbmZvKFJlbGF0aW9uIHJlbCwgQmxv Y2tOdW1iZXIgbnVtX2RlbHBhZ2VzKQogCQl4bF9idHJlZV9tZXRhZGF0YSBtZDsKIAkJWExvZ1Jl Y1B0cglyZWNwdHI7CiAKKwkJbWVtc2V0KCZtZCwgMCwgc2l6ZW9mKG1kKSk7CiAJCVhMb2dCZWdp bkluc2VydCgpOwogCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgbWV0YWJ1ZiwgUkVHQlVGX1dJTExf SU5JVCB8IFJFR0JVRl9TVEFOREFSRCk7CiAKQEAgLTQ3NSw2ICs0NzYsOCBAQCBfYnRfZ2V0cm9v dChSZWxhdGlvbiByZWwsIFJlbGF0aW9uIGhlYXByZWwsIGludCBhY2Nlc3MpCiAJCQlYTG9nUmVj UHRyCXJlY3B0cjsKIAkJCXhsX2J0cmVlX21ldGFkYXRhIG1kOwogCisJCQltZW1zZXQoJnhscmVj LCAwLCBzaXplb2YoeGxyZWMpKTsKKwkJCW1lbXNldCgmbWQsIDAsIHNpemVvZihtZCkpOwogCQkJ WExvZ0JlZ2luSW5zZXJ0KCk7CiAJCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMCwgcm9vdGJ1ZiwgUkVH QlVGX1dJTExfSU5JVCk7CiAJCQlYTG9nUmVnaXN0ZXJCdWZmZXIoMiwgbWV0YWJ1ZiwgUkVHQlVG X1dJTExfSU5JVCB8IFJFR0JVRl9TVEFOREFSRCk7CkBAIC0yMjUzLDYgKzIyNTYsNyBAQCBfYnRf bWFya19wYWdlX2hhbGZkZWFkKFJlbGF0aW9uIHJlbCwgUmVsYXRpb24gaGVhcHJlbCwgQnVmZmVy IGxlYWZidWYsCiAJCXhsX2J0cmVlX21hcmtfcGFnZV9oYWxmZGVhZCB4bHJlYzsKIAkJWExvZ1Jl Y1B0cglyZWNwdHI7CiAKKwkJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CiAJCXhs cmVjLnBvZmZzZXQgPSBwb2Zmc2V0OwogCQl4bHJlYy5sZWFmYmxrID0gbGVhZmJsa25vOwogCQlp ZiAodG9wcGFyZW50ICE9IGxlYWZibGtubykKQEAgLTI2NzQsNiArMjY3OCw4IEBAIF9idF91bmxp bmtfaGFsZmRlYWRfcGFnZShSZWxhdGlvbiByZWwsIEJ1ZmZlciBsZWFmYnVmLCBCbG9ja051bWJl ciBzY2FuYmxrbm8sCiAJCXVpbnQ4CQl4bGluZm87CiAJCVhMb2dSZWNQdHIJcmVjcHRyOwogCisJ CW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOworCQltZW1zZXQoJnhsbWV0YSwgMCwg c2l6ZW9mKHhsbWV0YSkpOwogCQlYTG9nQmVnaW5JbnNlcnQoKTsKIAogCQlYTG9nUmVnaXN0ZXJC dWZmZXIoMCwgYnVmLCBSRUdCVUZfV0lMTF9JTklUKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L2FjY2Vzcy9zcGdpc3Qvc3BnZG9pbnNlcnQuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qv c3BnZG9pbnNlcnQuYwppbmRleCBhZjZiMjdiMjEzNS4uNzQ1ODcxNTkwN2YgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BnZG9pbnNlcnQuYworKysgYi9zcmMvYmFja2Vu ZC9hY2Nlc3Mvc3BnaXN0L3NwZ2RvaW5zZXJ0LmMKQEAgLTIwNSw2ICsyMDUsOCBAQCBhZGRMZWFm VHVwbGUoUmVsYXRpb24gaW5kZXgsIFNwR2lzdFN0YXRlICpzdGF0ZSwgU3BHaXN0TGVhZlR1cGxl IGxlYWZUdXBsZSwKIHsKIAlzcGd4bG9nQWRkTGVhZiB4bHJlYzsKIAorCW1lbXNldCgmeGxyZWMs IDAsIHNpemVvZih4bHJlYykpOworCiAJeGxyZWMubmV3UGFnZSA9IGlzTmV3OwogCXhscmVjLnN0 b3Jlc051bGxzID0gaXNOdWxsczsKIApAQCAtNDA0LDYgKzQwNiw4IEBAIG1vdmVMZWFmcyhSZWxh dGlvbiBpbmRleCwgU3BHaXN0U3RhdGUgKnN0YXRlLAogCWNoYXIJICAgKmxlYWZkYXRhLAogCQkJ ICAgKmxlYWZwdHI7CiAKKwltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCS8q IFRoaXMgZG9lc24ndCB3b3JrIG9uIHJvb3QgcGFnZSAqLwogCUFzc2VydChwYXJlbnQtPmJ1ZmZl ciAhPSBJbnZhbGlkQnVmZmVyKTsKIAlBc3NlcnQocGFyZW50LT5idWZmZXIgIT0gY3VycmVudC0+ YnVmZmVyKTsKQEAgLTcxNCw2ICs3MTgsOCBAQCBkb1BpY2tTcGxpdChSZWxhdGlvbiBpbmRleCwg U3BHaXN0U3RhdGUgKnN0YXRlLAogCQkJCW5Ub0luc2VydCwKIAkJCQltYXhUb0luY2x1ZGU7CiAK KwltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCWluLmxldmVsID0gbGV2ZWw7 CiAKIAkvKgpAQCAtMTUxOCw2ICsxNTI0LDggQEAgc3BnQWRkTm9kZUFjdGlvbihSZWxhdGlvbiBp bmRleCwgU3BHaXN0U3RhdGUgKnN0YXRlLAogCVNwR2lzdElubmVyVHVwbGUgbmV3SW5uZXJUdXBs ZTsKIAlzcGd4bG9nQWRkTm9kZSB4bHJlYzsKIAorCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4 bHJlYykpOworCiAJLyogU2hvdWxkIG5vdCBiZSBhcHBsaWVkIHRvIG51bGxzICovCiAJQXNzZXJ0 KCFTcEdpc3RQYWdlU3RvcmVzTnVsbHMoY3VycmVudC0+cGFnZSkpOwogCkBAIC0xNzI2LDYgKzE3 MzQsOCBAQCBzcGdTcGxpdE5vZGVBY3Rpb24oUmVsYXRpb24gaW5kZXgsIFNwR2lzdFN0YXRlICpz dGF0ZSwKIAlzcGd4bG9nU3BsaXRUdXBsZSB4bHJlYzsKIAlCdWZmZXIJCW5ld0J1ZmZlciA9IElu dmFsaWRCdWZmZXI7CiAKKwltZW1zZXQoJnhscmVjLCAwLCBzaXplb2YoeGxyZWMpKTsKKwogCS8q IFNob3VsZCBub3QgYmUgYXBwbGllZCB0byBudWxscyAqLwogCUFzc2VydCghU3BHaXN0UGFnZVN0 b3Jlc051bGxzKGN1cnJlbnQtPnBhZ2UpKTsKIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNj ZXNzL3NwZ2lzdC9zcGd2YWN1dW0uYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9zcGdpc3Qvc3BndmFj dXVtLmMKaW5kZXggMjY3OGY3YWI3ODIuLjdkODUzYmM5YzA3IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9hY2Nlc3Mvc3BnaXN0L3NwZ3ZhY3V1bS5jCisrKyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9z cGdpc3Qvc3BndmFjdXVtLmMKQEAgLTE0MCw2ICsxNDAsNyBAQCB2YWN1dW1MZWFmUGFnZShzcGdC dWxrRGVsZXRlU3RhdGUgKmJkcywgUmVsYXRpb24gaW5kZXgsIEJ1ZmZlciBidWZmZXIsCiAJT2Zm c2V0TnVtYmVyIGksCiAJCQkJbWF4ID0gUGFnZUdldE1heE9mZnNldE51bWJlcihwYWdlKTsKIAor CW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOwogCW1lbXNldChwcmVkZWNlc3Nvciwg MCwgc2l6ZW9mKHByZWRlY2Vzc29yKSk7CiAJbWVtc2V0KGRlbGV0YWJsZSwgMCwgc2l6ZW9mKGRl bGV0YWJsZSkpOwogCW5EZWxldGFibGUgPSAwOwpAQCAtNDE0LDYgKzQxNSw4IEBAIHZhY3V1bUxl YWZSb290KHNwZ0J1bGtEZWxldGVTdGF0ZSAqYmRzLCBSZWxhdGlvbiBpbmRleCwgQnVmZmVyIGJ1 ZmZlcikKIAlPZmZzZXROdW1iZXIgaSwKIAkJCQltYXggPSBQYWdlR2V0TWF4T2Zmc2V0TnVtYmVy KHBhZ2UpOwogCisJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAl4bHJlYy5u RGVsZXRlID0gMDsKIAogCS8qIFNjYW4gcGFnZSwgaWRlbnRpZnkgdHVwbGVzIHRvIGRlbGV0ZSwg YWNjdW11bGF0ZSBzdGF0cyAqLwpAQCAtNTA1LDYgKzUwOCw4IEBAIHZhY3V1bVJlZGlyZWN0QW5k UGxhY2Vob2xkZXIoUmVsYXRpb24gaW5kZXgsIFJlbGF0aW9uIGhlYXByZWwsIEJ1ZmZlciBidWZm ZXIpCiAJc3BneGxvZ1ZhY3V1bVJlZGlyZWN0IHhscmVjOwogCUdsb2JhbFZpc1N0YXRlICp2aXN0 ZXN0OwogCisJbWVtc2V0KCZ4bHJlYywgMCwgc2l6ZW9mKHhscmVjKSk7CisKIAl4bHJlYy5pc0Nh dGFsb2dSZWwgPSBSZWxhdGlvbklzQWNjZXNzaWJsZUluTG9naWNhbERlY29kaW5nKGhlYXByZWwp OwogCXhscmVjLm5Ub1BsYWNlaG9sZGVyID0gMDsKIAl4bHJlYy5zbmFwc2hvdENvbmZsaWN0SG9y aXpvbiA9IEludmFsaWRUcmFuc2FjdGlvbklkOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvc3Rv cmFnZS9pcGMvc3RhbmRieS5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9pcGMvc3RhbmRieS5jCmlu ZGV4IDdmYThkOTI0N2UwLi5hODQ5YzQ5NDI1MSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3Rv cmFnZS9pcGMvc3RhbmRieS5jCisrKyBiL3NyYy9iYWNrZW5kL3N0b3JhZ2UvaXBjL3N0YW5kYnku YwpAQCAtMTM1NSw2ICsxMzU1LDggQEAgTG9nQ3VycmVudFJ1bm5pbmdYYWN0cyhSdW5uaW5nVHJh bnNhY3Rpb25zIEN1cnJSdW5uaW5nWGFjdHMpCiAJeGxfcnVubmluZ194YWN0cyB4bHJlYzsKIAlY TG9nUmVjUHRyCXJlY3B0cjsKIAorCW1lbXNldCgmeGxyZWMsIDAsIHNpemVvZih4bHJlYykpOwor CiAJeGxyZWMueGNudCA9IEN1cnJSdW5uaW5nWGFjdHMtPnhjbnQ7CiAJeGxyZWMuc3VieGNudCA9 IEN1cnJSdW5uaW5nWGFjdHMtPnN1YnhjbnQ7CiAJeGxyZWMuc3VieGlkX292ZXJmbG93ID0gKEN1 cnJSdW5uaW5nWGFjdHMtPnN1YnhpZF9zdGF0dXMgIT0gU1VCWElEU19JTl9BUlJBWSk7CmRpZmYg LS1naXQgYS9zcmMvdG9vbHMvdmFsZ3JpbmQuc3VwcCBiL3NyYy90b29scy92YWxncmluZC5zdXBw CmluZGV4IDJhZDViODE1MjZkLi5kYzJlMTMyMzYyNiAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3Zh bGdyaW5kLnN1cHAKKysrIGIvc3JjL3Rvb2xzL3ZhbGdyaW5kLnN1cHAKQEAgLTIzLDIzICsyMyw2 IEBACiAJZnVuOnBnc3RhdF93cml0ZV9zdGF0c2ZpbGVzCiB9CiAKLXsKLQlwYWRkaW5nX1hMb2dS ZWNEYXRhX0NSQwotCU1lbWNoZWNrOlZhbHVlOAotCi0JZnVuOnBnX2NvbXBfY3JjMzJjKgotCWZ1 bjpYTG9nUmVjb3JkQXNzZW1ibGUKLX0KLQotewotCXBhZGRpbmdfWExvZ1JlY0RhdGFfd3JpdGUK LQlNZW1jaGVjazpQYXJhbQotCXB3cml0ZTY0KGJ1ZikKLQotCS4uLgotCWZ1bjpYTG9nV3JpdGUK LX0KLQogewogCXBhZGRpbmdfcmVsY2FjaGUKIAlNZW1jaGVjazpQYXJhbQo= --0000000000004345a1064cbd56be--