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 1s7crG-006UEl-Md for pgsql-hackers@arkaria.postgresql.org; Thu, 16 May 2024 15:17:28 +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 1s7crG-00Absw-HE for pgsql-hackers@arkaria.postgresql.org; Thu, 16 May 2024 15:17:26 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1s7crF-00Abso-Ta for pgsql-hackers@lists.postgresql.org; Thu, 16 May 2024 15:17:26 +0000 Received: from mail-pj1-x1034.google.com ([2607:f8b0:4864:20::1034]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.94.2) (envelope-from ) id 1s7crB-000Vzc-MM for pgsql-hackers@postgresql.org; Thu, 16 May 2024 15:17:24 +0000 Received: by mail-pj1-x1034.google.com with SMTP id 98e67ed59e1d1-2b9fe8fc695so244693a91.1 for ; Thu, 16 May 2024 08:17:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715872641; x=1716477441; 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=HRbWBVWhaBMmy4F9RVxLHC3z6oH+PqSff2vx7wbwyK0=; b=brxQ3FBglR3WRkp8vJmFPGntzzroiPmxh8fXtxy5bbFO5e4IbufIuHCxIYZaYDyrPp 0HRw6iBmnV8O6XohAS2RXTmQo/1hBCeU22hhKC9gM7E2ZVLvOzFyPeA4rc1cDm+0nxVO Y0pIJK+6uxj/17I72tZwSmP9UXqC9xS0HnOfGV4YwEpUysh5gKFkd9fN+ZzcT+HpBU1X SkVyx54QusQ5A2IbDYwNz/KDkqDWH5Eu02xABIIoxEGFrnz68pJDnN2QIR6eWZKP46IU KRVNPQbrfWfjyTUIfOKbmuBBaxSe4ixDTBoLYRoufwt/mZ7OWbsgPRSk44aSFXl5fo4/ 72jQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715872641; x=1716477441; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=HRbWBVWhaBMmy4F9RVxLHC3z6oH+PqSff2vx7wbwyK0=; b=Njae97K8PE1IxkR0S6p9ksiWqPARYnrudbZlUrN11mi5svBvEujU+R//KeZOJ2U/d/ LxMtZG6LTxBctJb5UwWrJQ1JU2KfHTgNhbMrb1002D/lw3lj3YjEvtDrRpR4ZEOJHJ/u 7GFw4bFksOEh5U+V1wcOY29x+ydBJF0a/fznasx/aDQbzdX8Dg8Wa7lfUi6tZ/pRu8vi /6OCcAqpVa1HLRDIPYyOETUBGmedrG9Add/9en+B/tqtz3CPAbL7Lk5ft8yJRz06PJLL fKH9VRU7OMlFhXACZPvFRCY5Qh1ZJ/nmcD4PDtp7RyJJVyDftoEXwWrjgPhumreFzQC+ 1Ppw== X-Forwarded-Encrypted: i=1; AJvYcCWA2yJ3gIx51XPExFIb1QtjNPI51GUt9+5S4Q1ErAmAx9WddxPTquoZQooCXc5J1bHDyj9Dhg7aILG3Nh1E4nJpAClb8lCb59/9Eej0 X-Gm-Message-State: AOJu0Yyt1Ydy0rqPT/ssE1T4I7+CHzWCcb7/Xn9NzqOLcB6lQtVE1SbS KFBN1lTG+NN9unGFyN4+c/nJfsehbmB8vAN/zeltq3DqHnxkhAQ3tsYdc8w3OEHsu7FJkrAnsXa k+XpkwPLH8sl49+KrLXY224p9kYA= X-Google-Smtp-Source: AGHT+IFpDh6eRhc+7liK2PHa1MkzpJORIPmNfo4pFHRbhz7BdERNwo3GgoUWzLvB42eB+EP+Kk9uLSCBQUsZWa4M4Wo= X-Received: by 2002:a17:90b:2383:b0:2b9:ab0b:c5b with SMTP id 98e67ed59e1d1-2b9ab0b0d90mr6135303a91.17.1715872640501; Thu, 16 May 2024 08:17:20 -0700 (PDT) MIME-Version: 1.0 References: <5255e75e-5a66-41ac-99d3-1998283b86e6@eisentraut.org> <5a256041-2520-4082-8483-7f8c1e79fb88@eisentraut.org> In-Reply-To: From: Nazir Bilal Yavuz Date: Thu, 16 May 2024 18:17:08 +0300 Message-ID: Subject: Re: Requiring LLVM 14+ in PostgreSQL 18 To: Thomas Munro Cc: Peter Eisentraut , pgsql-hackers Content-Type: multipart/mixed; boundary="00000000000037af3e061893bb50" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --00000000000037af3e061893bb50 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Thu, 16 May 2024 at 05:34, Thomas Munro wrote: > > On Wed, May 15, 2024 at 5:20=E2=80=AFPM Peter Eisentraut wrote: > > Yes, let's get that v3-0001 patch into PG17. > > Done. > > Bilal recently created the CI images for Debian Bookworm[1]. You can > try them with s/bullseye/bookworm/ in .cirrus.tasks.yml, but it looks > like he is still wrestling with a perl installation problem[2] in the > 32 bit build, so here is a temporary patch to do that and also delete > the 32 bit tests for now. This way cfbot should succeed with the > remaining patches. Parked here for v18. Actually, 32 bit builds are working but the Perl version needs to be updated to 'perl5.36-i386-linux-gnu' in .cirrus.tasks.yml. I changed 0001 with the working version of 32 bit builds [1] and the rest is the same. All tests pass now [2]. [1] postgr.es/m/CAN55FZ0fY5EFHXLKCO_=3Dp4pwFmHRoVom_qSE_7B48gpchfAqzw@mail.= gmail.com [2] https://cirrus-ci.com/task/4969910856581120 --=20 Regards, Nazir Bilal Yavuz Microsoft --00000000000037af3e061893bb50 Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0001-Upgrade-Debian-CI-images-to-Bookworm.patch" Content-Disposition: attachment; filename="v5-0001-Upgrade-Debian-CI-images-to-Bookworm.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lw9dpzkf0 RnJvbSA5NzZkMmM3YWQwZTQ3MGIyNDg3NWVlMjcxNzEzNTlmNTQwNzhhNzYxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXppciBCaWxhbCBZYXZ1eiA8YnlhdnV6ODFAZ21haWwuY29t PgpEYXRlOiBNb24sIDEzIE1heSAyMDI0IDEwOjU2OjI4ICswMzAwClN1YmplY3Q6IFtQQVRDSCB2 NSAxLzNdIFVwZ3JhZGUgRGViaWFuIENJIGltYWdlcyB0byBCb29rd29ybQoKTmV3IERlYmlhbiB2 ZXJzaW9uLCBuYW1lbHkgQm9va3dvcm0sIGlzIHJlbGVhc2VkLiBVc2UgdGhlc2UgbmV3IGltYWdl cwppbiBDSSB0YXNrcy4KClBlcmwgdmVyc2lvbiBpcyB1cGdyYWRlZCBpbiB0aGUgQm9va3dvcm0g aW1hZ2VzLCBzbyB1cGRhdGUgUGVybCB2ZXJzaW9uCmF0ICdMaW51eCAtIERlYmlhbiBCb29rd29y bSAtIE1lc29uJyB0YXNrIGFzIHdlbGwuCgpVcGdyYWRpbmcgRGViaWFuIENJIGltYWdlcyB0byBC b29rd29ybSBQUjogaHR0cHM6Ly9naXRodWIuY29tL2FuYXJhemVsL3BnLXZtLWltYWdlcy9wdWxs LzkxCi0tLQogLmNpcnJ1cy50YXNrcy55bWwgfCAxMiArKysrKystLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA2IGluc2VydGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvLmNpcnJ1 cy50YXNrcy55bWwgYi8uY2lycnVzLnRhc2tzLnltbAppbmRleCBhMjM4OGNkNTAzNi4uNDdhNjBh YTdjNmYgMTAwNjQ0Ci0tLSBhLy5jaXJydXMudGFza3MueW1sCisrKyBiLy5jaXJydXMudGFza3Mu eW1sCkBAIC02NSw3ICs2NSw3IEBAIHRhc2s6CiAgICAgQ1BVUzogNAogICAgIEJVSUxEX0pPQlM6 IDgKICAgICBURVNUX0pPQlM6IDgKLSAgICBJTUFHRV9GQU1JTFk6IHBnLWNpLWJ1bGxzZXllCisg ICAgSU1BR0VfRkFNSUxZOiBwZy1jaS1ib29rd29ybQogICAgIENDQUNIRV9ESVI6ICR7Q0lSUlVT X1dPUktJTkdfRElSfS9jY2FjaGVfZGlyCiAgICAgIyBubyBvcHRpb25zIGVuYWJsZWQsIHNob3Vs ZCBiZSBzbWFsbAogICAgIENDQUNIRV9NQVhTSVpFOiAiMTUwTSIKQEAgLTI0Myw3ICsyNDMsNyBA QCB0YXNrOgogICAgIENQVVM6IDQKICAgICBCVUlMRF9KT0JTOiA0CiAgICAgVEVTVF9KT0JTOiA4 ICMgZXhwZXJpbWVudGFsbHkgZGVyaXZlZCB0byBiZSBhIGRlY2VudCBjaG9pY2UKLSAgICBJTUFH RV9GQU1JTFk6IHBnLWNpLWJ1bGxzZXllCisgICAgSU1BR0VfRkFNSUxZOiBwZy1jaS1ib29rd29y bQogCiAgICAgQ0NBQ0hFX0RJUjogL3RtcC9jY2FjaGVfZGlyCiAgICAgREVCVUdJTkZPRF9VUkxT OiAiaHR0cHM6Ly9kZWJ1Z2luZm9kLmRlYmlhbi5uZXQiCkBAIC0zMTQsNyArMzE0LDcgQEAgdGFz azoKICAgICAjREVCSUFOX0ZST05URU5EPW5vbmludGVyYWN0aXZlIGFwdC1nZXQgLXkgaW5zdGFs bCAuLi4KIAogICBtYXRyaXg6Ci0gICAgLSBuYW1lOiBMaW51eCAtIERlYmlhbiBCdWxsc2V5ZSAt IEF1dG9jb25mCisgICAgLSBuYW1lOiBMaW51eCAtIERlYmlhbiBCb29rd29ybSAtIEF1dG9jb25m CiAKICAgICAgIGVudjoKICAgICAgICAgU0FOSVRJWkVSX0ZMQUdTOiAtZnNhbml0aXplPWFkZHJl c3MKQEAgLTM0OCw3ICszNDgsNyBAQCB0YXNrOgogICAgICAgb25fZmFpbHVyZToKICAgICAgICAg PDw6ICpvbl9mYWlsdXJlX2FjCiAKLSAgICAtIG5hbWU6IExpbnV4IC0gRGViaWFuIEJ1bGxzZXll IC0gTWVzb24KKyAgICAtIG5hbWU6IExpbnV4IC0gRGViaWFuIEJvb2t3b3JtIC0gTWVzb24KIAog ICAgICAgZW52OgogICAgICAgICBDQ0FDSEVfTUFYU0laRTogIjQwME0iICMgdGVzdHMgdHdvIGRp ZmZlcmVudCBidWlsZHMKQEAgLTM3NSw3ICszNzUsNyBAQCB0YXNrOgogICAgICAgICAgICAgJHtM SU5VWF9NRVNPTl9GRUFUVVJFU30gXAogICAgICAgICAgICAgLURsbHZtPWRpc2FibGVkIFwKICAg ICAgICAgICAgIC0tcGtnLWNvbmZpZy1wYXRoIC91c3IvbGliL2kzODYtbGludXgtZ251L3BrZ2Nv bmZpZy8gXAotICAgICAgICAgICAgLURQRVJMPXBlcmw1LjMyLWkzODYtbGludXgtZ251IFwKKyAg ICAgICAgICAgIC1EUEVSTD1wZXJsNS4zNi1pMzg2LWxpbnV4LWdudSBcCiAgICAgICAgICAgICAt RFBHX1RFU1RfRVhUUkE9IiRQR19URVNUX0VYVFJBIiBcCiAgICAgICAgICAgICBidWlsZC0zMgog ICAgICAgICBFT0YKQEAgLTY1Miw3ICs2NTIsNyBAQCB0YXNrOgogICBlbnY6CiAgICAgQ1BVUzog NAogICAgIEJVSUxEX0pPQlM6IDQKLSAgICBJTUFHRV9GQU1JTFk6IHBnLWNpLWJ1bGxzZXllCisg ICAgSU1BR0VfRkFNSUxZOiBwZy1jaS1ib29rd29ybQogCiAgICAgIyBVc2UgbGFyZ2VyIGNjYWNo ZSBjYWNoZSwgYXMgdGhpcyB0YXNrIGNvbXBpbGVzIHdpdGggbXVsdGlwbGUgY29tcGlsZXJzIC8K ICAgICAjIGZsYWcgY29tYmluYXRpb25zCi0tIAoyLjQzLjAKCg== --00000000000037af3e061893bb50 Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0002-jit-Require-at-least-LLVM-14-if-enabled.patch" Content-Disposition: attachment; filename="v5-0002-jit-Require-at-least-LLVM-14-if-enabled.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lw9dq2vg1 RnJvbSBhMTgxMjBhY2U2NGJjZGU0MWMyZWQyM2EwNTBlYjg2ZjliODc3MmUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IFRodSwgMTkgT2N0IDIwMjMgMDQ6NDU6NDYgKzEzMDAKU3ViamVjdDogW1BBVENIIHY1 IDIvM10gaml0OiBSZXF1aXJlIGF0IGxlYXN0IExMVk0gMTQsIGlmIGVuYWJsZWQuCgpSZW1vdmUg c3VwcG9ydCBmb3IgTExWTSB2ZXJzaW9ucyAxMC0xMy4gIFRoZSBkZWZhdWx0IG9uIGFsbCBub24t RU9MJ2QKT1NlcyByZXByZXNlbnRlZCBpbiBvdXIgYnVpbGQgZmFybSB3aWxsIGJlIGF0IGxlYXN0 IExMVk0gMTQgd2hlbgpQb3N0Z3JlU1FMIDE4IHNoaXBzLgoKUmV2aWV3ZWQtYnk6IFBldGVyIEVp c2VudHJhdXQgPHBldGVyQGVpc2VudHJhdXQub3JnPgpEaXNjdXNzaW9uOiBodHRwczovL3Bvc3Rn ci5lcy9tL0NBJTJCaFVLR0xoTnM1Z2VaYVZOajJFSjc5RHg5VzhmeVdVVTNIeGNwWnk1NXNNR2NZ JTNEaUElNDBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iYWNrZW5kL2ppdC9sbHZtL2xsdm1qaXQu YyAgICAgICAgICB8IDEwMSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIHNyYy9iYWNrZW5kL2pp dC9sbHZtL2xsdm1qaXRfZXJyb3IuY3BwICB8ICAyNSAtLS0tLS0KIHNyYy9iYWNrZW5kL2ppdC9s bHZtL2xsdm1qaXRfaW5saW5lLmNwcCB8ICAxMyAtLS0KIHNyYy9iYWNrZW5kL2ppdC9sbHZtL2xs dm1qaXRfd3JhcC5jcHAgICB8ICAgNCAtCiBjb25maWcvbGx2bS5tNCAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDQgKy0KIGRvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbCAgICAgICAg ICB8ICAgNCArLQogY29uZmlndXJlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA0 ICstCiBtZXNvbi5idWlsZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKy0KIDgg ZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCAxNTAgZGVsZXRpb25zKC0pCgpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdC5jIGIvc3JjL2JhY2tlbmQvaml0L2xs dm0vbGx2bWppdC5jCmluZGV4IDFkNDM5ZjI0NTU0Li44ZjljNzdlZWRjMSAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdC5jCisrKyBiL3NyYy9iYWNrZW5kL2ppdC9sbHZt L2xsdm1qaXQuYwpAQCAtMjEsMTMgKzIxLDkgQEAKICNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAx NgogI2luY2x1ZGUgPGxsdm0tYy9UcmFuc2Zvcm1zL1Bhc3NCdWlsZGVyLmg+CiAjZW5kaWYKLSNp ZiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMQogI2luY2x1ZGUgPGxsdm0tYy9PcmMuaD4KICNpbmNs dWRlIDxsbHZtLWMvT3JjRUUuaD4KICNpbmNsdWRlIDxsbHZtLWMvTExKSVQuaD4KLSNlbHNlCi0j aW5jbHVkZSA8bGx2bS1jL09yY0JpbmRpbmdzLmg+Ci0jZW5kaWYKICNpbmNsdWRlIDxsbHZtLWMv U3VwcG9ydC5oPgogI2luY2x1ZGUgPGxsdm0tYy9UYXJnZXQuaD4KICNpZiBMTFZNX1ZFUlNJT05f TUFKT1IgPCAxNwpAQCAtNTAsMTMgKzQ2LDggQEAKIC8qIEhhbmRsZSBvZiBhIG1vZHVsZSBlbWl0 dGVkIHZpYSBPUkMgSklUICovCiB0eXBlZGVmIHN0cnVjdCBMTFZNSml0SGFuZGxlCiB7Ci0jaWYg TExWTV9WRVJTSU9OX01BSk9SID4gMTEKIAlMTFZNT3JjTExKSVRSZWYgbGxqaXQ7CiAJTExWTU9y Y1Jlc291cmNlVHJhY2tlclJlZiByZXNvdXJjZV90cmFja2VyOwotI2Vsc2UKLQlMTFZNT3JjSklU U3RhY2tSZWYgc3RhY2s7Ci0JTExWTU9yY01vZHVsZUhhbmRsZSBvcmNfaGFuZGxlOwotI2VuZGlm CiB9IExMVk1KaXRIYW5kbGU7CiAKIApAQCAtMTAzLDE0ICs5NCw5IEBAIHN0YXRpYyBMTFZNQ29u dGV4dFJlZiBsbHZtX2NvbnRleHQ7CiAKIAogc3RhdGljIExMVk1UYXJnZXRSZWYgbGx2bV90YXJn ZXRyZWY7Ci0jaWYgTExWTV9WRVJTSU9OX01BSk9SID4gMTEKIHN0YXRpYyBMTFZNT3JjVGhyZWFk U2FmZUNvbnRleHRSZWYgbGx2bV90c19jb250ZXh0Owogc3RhdGljIExMVk1PcmNMTEpJVFJlZiBs bHZtX29wdDBfb3JjOwogc3RhdGljIExMVk1PcmNMTEpJVFJlZiBsbHZtX29wdDNfb3JjOwotI2Vs c2UJCQkJCQkJLyogTExWTV9WRVJTSU9OX01BSk9SID4gMTEgKi8KLXN0YXRpYyBMTFZNT3JjSklU U3RhY2tSZWYgbGx2bV9vcHQwX29yYzsKLXN0YXRpYyBMTFZNT3JjSklUU3RhY2tSZWYgbGx2bV9v cHQzX29yYzsKLSNlbmRpZgkJCQkJCQkvKiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMSAqLwogCiAK IHN0YXRpYyB2b2lkIGxsdm1fcmVsZWFzZV9jb250ZXh0KEppdENvbnRleHQgKmNvbnRleHQpOwpA QCAtMTI0LDEwICsxMTAsOCBAQCBzdGF0aWMgdm9pZCBsbHZtX3NldF90YXJnZXQodm9pZCk7CiBz dGF0aWMgdm9pZCBsbHZtX3JlY3JlYXRlX2xsdm1fY29udGV4dCh2b2lkKTsKIHN0YXRpYyB1aW50 NjRfdCBsbHZtX3Jlc29sdmVfc3ltYm9sKGNvbnN0IGNoYXIgKm5hbWUsIHZvaWQgKmN0eCk7CiAK LSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMQogc3RhdGljIExMVk1PcmNMTEpJVFJlZiBsbHZt X2NyZWF0ZV9qaXRfaW5zdGFuY2UoTExWTVRhcmdldE1hY2hpbmVSZWYgdG0pOwogc3RhdGljIGNo YXIgKmxsdm1fZXJyb3JfbWVzc2FnZShMTFZNRXJyb3JSZWYgZXJyb3IpOwotI2VuZGlmCQkJCQkJ CS8qIExMVk1fVkVSU0lPTl9NQUpPUiA+IDExICovCiAKIC8qIFJlc291cmNlT3duZXIgY2FsbGJh Y2tzIHRvIGhvbGQgSml0Q29udGV4dHMgICovCiBzdGF0aWMgdm9pZCBSZXNPd25lclJlbGVhc2VK aXRDb250ZXh0KERhdHVtIHJlcyk7CkBAIC0yOTIsNyArMjc2LDYgQEAgbGx2bV9yZWxlYXNlX2Nv bnRleHQoSml0Q29udGV4dCAqY29udGV4dCkKIAl7CiAJCUxMVk1KaXRIYW5kbGUgKmppdF9oYW5k bGUgPSAoTExWTUppdEhhbmRsZSAqKSBsZmlyc3QobGMpOwogCi0jaWYgTExWTV9WRVJTSU9OX01B Sk9SID4gMTEKIAkJewogCQkJTExWTU9yY0V4ZWN1dGlvblNlc3Npb25SZWYgZWU7CiAJCQlMTFZN T3JjU3ltYm9sU3RyaW5nUG9vbFJlZiBzcDsKQEAgLTMxMCwxMSArMjkzLDYgQEAgbGx2bV9yZWxl YXNlX2NvbnRleHQoSml0Q29udGV4dCAqY29udGV4dCkKIAkJCXNwID0gTExWTU9yY0V4ZWN1dGlv blNlc3Npb25HZXRTeW1ib2xTdHJpbmdQb29sKGVlKTsKIAkJCUxMVk1PcmNTeW1ib2xTdHJpbmdQ b29sQ2xlYXJEZWFkRW50cmllcyhzcCk7CiAJCX0KLSNlbHNlCQkJCQkJCS8qIExMVk1fVkVSU0lP Tl9NQUpPUiA+IDExICovCi0JCXsKLQkJCUxMVk1PcmNSZW1vdmVNb2R1bGUoaml0X2hhbmRsZS0+ c3RhY2ssIGppdF9oYW5kbGUtPm9yY19oYW5kbGUpOwotCQl9Ci0jZW5kaWYJCQkJCQkJLyogTExW TV9WRVJTSU9OX01BSk9SID4gMTEgKi8KIAogCQlwZnJlZShqaXRfaGFuZGxlKTsKIAl9CkBAIC0z OTcsNyArMzc1LDYgQEAgbGx2bV9nZXRfZnVuY3Rpb24oTExWTUppdENvbnRleHQgKmNvbnRleHQs IGNvbnN0IGNoYXIgKmZ1bmNuYW1lKQogCSAqIHRvIG1hbmdsZSBoZXJlLgogCSAqLwogCi0jaWYg TExWTV9WRVJTSU9OX01BSk9SID4gMTEKIAlmb3JlYWNoKGxjLCBjb250ZXh0LT5oYW5kbGVzKQog CXsKIAkJTExWTUppdEhhbmRsZSAqaGFuZGxlID0gKExMVk1KaXRIYW5kbGUgKikgbGZpcnN0KGxj KTsKQEAgLTQyNywxOSArNDA0LDYgQEAgbGx2bV9nZXRfZnVuY3Rpb24oTExWTUppdENvbnRleHQg KmNvbnRleHQsIGNvbnN0IGNoYXIgKmZ1bmNuYW1lKQogCQlpZiAoYWRkcikKIAkJCXJldHVybiAo dm9pZCAqKSAodWludHB0cl90KSBhZGRyOwogCX0KLSNlbHNlCi0JZm9yZWFjaChsYywgY29udGV4 dC0+aGFuZGxlcykKLQl7Ci0JCUxMVk1PcmNUYXJnZXRBZGRyZXNzIGFkZHI7Ci0JCUxMVk1KaXRI YW5kbGUgKmhhbmRsZSA9IChMTFZNSml0SGFuZGxlICopIGxmaXJzdChsYyk7Ci0KLQkJYWRkciA9 IDA7Ci0JCWlmIChMTFZNT3JjR2V0U3ltYm9sQWRkcmVzc0luKGhhbmRsZS0+c3RhY2ssICZhZGRy LCBoYW5kbGUtPm9yY19oYW5kbGUsIGZ1bmNuYW1lKSkKLQkJCWVsb2coRVJST1IsICJmYWlsZWQg dG8gbG9vayB1cCBzeW1ib2wgXCIlc1wiIiwgZnVuY25hbWUpOwotCQlpZiAoYWRkcikKLQkJCXJl dHVybiAodm9pZCAqKSAodWludHB0cl90KSBhZGRyOwotCX0KLSNlbmRpZgogCiAJZWxvZyhFUlJP UiwgImZhaWxlZCB0byBKSVQ6ICVzIiwgZnVuY25hbWUpOwogCkBAIC03MzUsMTEgKzY5OSw3IEBA IGxsdm1fY29tcGlsZV9tb2R1bGUoTExWTUppdENvbnRleHQgKmNvbnRleHQpCiAJTWVtb3J5Q29u dGV4dCBvbGRjb250ZXh0OwogCWluc3RyX3RpbWUJc3RhcnR0aW1lOwogCWluc3RyX3RpbWUJZW5k dGltZTsKLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMQogCUxMVk1PcmNMTEpJVFJlZiBjb21w aWxlX29yYzsKLSNlbHNlCi0JTExWTU9yY0pJVFN0YWNrUmVmIGNvbXBpbGVfb3JjOwotI2VuZGlm CiAKIAlpZiAoY29udGV4dC0+YmFzZS5mbGFncyAmIFBHSklUX09QVDMpCiAJCWNvbXBpbGVfb3Jj ID0gbGx2bV9vcHQzX29yYzsKQEAgLTc5Niw3ICs3NTYsNiBAQCBsbHZtX2NvbXBpbGVfbW9kdWxl KExMVk1KaXRDb250ZXh0ICpjb250ZXh0KQogCSAqIGZhc3RlciBpbnN0cnVjdGlvbiBzZWxlY3Rp b24gbWVjaGFuaXNtIGlzIHVzZWQuCiAJICovCiAJSU5TVFJfVElNRV9TRVRfQ1VSUkVOVChzdGFy dHRpbWUpOwotI2lmIExMVk1fVkVSU0lPTl9NQUpPUiA+IDExCiAJewogCQlMTFZNT3JjVGhyZWFk U2FmZU1vZHVsZVJlZiB0c19tb2R1bGU7CiAJCUxMVk1FcnJvclJlZiBlcnJvcjsKQEAgLTgyNCwx NiArNzgzLDYgQEAgbGx2bV9jb21waWxlX21vZHVsZShMTFZNSml0Q29udGV4dCAqY29udGV4dCkK IAogCQkvKiBMTFZNT3JjTExKSVRBZGRMTFZNSVJNb2R1bGVXaXRoUlQgdGFrZXMgb3duZXJzaGlw IG9mIHRoZSBtb2R1bGUgKi8KIAl9Ci0jZWxzZQotCXsKLQkJaGFuZGxlLT5zdGFjayA9IGNvbXBp bGVfb3JjOwotCQlpZiAoTExWTU9yY0FkZEVhZ2VybHlDb21waWxlZElSKGNvbXBpbGVfb3JjLCAm aGFuZGxlLT5vcmNfaGFuZGxlLCBjb250ZXh0LT5tb2R1bGUsCi0JCQkJCQkJCQkJbGx2bV9yZXNv bHZlX3N5bWJvbCwgTlVMTCkpCi0JCQllbG9nKEVSUk9SLCAiZmFpbGVkIHRvIEpJVCBtb2R1bGUi KTsKLQotCQkvKiBMTFZNT3JjQWRkRWFnZXJseUNvbXBpbGVkSVIgdGFrZXMgb3duZXJzaGlwIG9m IHRoZSBtb2R1bGUgKi8KLQl9Ci0jZW5kaWYKIAogCUlOU1RSX1RJTUVfU0VUX0NVUlJFTlQoZW5k dGltZSk7CiAJSU5TVFJfVElNRV9BQ0NVTV9ESUZGKGNvbnRleHQtPmJhc2UuaW5zdHIuZW1pc3Np b25fY291bnRlciwKQEAgLTk0NSw3ICs4OTQsNiBAQCBsbHZtX3Nlc3Npb25faW5pdGlhbGl6ZSh2 b2lkKQogCS8qIGZvcmNlIHN5bWJvbHMgaW4gbWFpbiBiaW5hcnkgdG8gYmUgbG9hZGVkICovCiAJ TExWTUxvYWRMaWJyYXJ5UGVybWFuZW50bHkoTlVMTCk7CiAKLSNpZiBMTFZNX1ZFUlNJT05fTUFK T1IgPiAxMQogCXsKIAkJbGx2bV90c19jb250ZXh0ID0gTExWTU9yY0NyZWF0ZU5ld1RocmVhZFNh ZmVDb250ZXh0KCk7CiAKQEAgLTk1NSwzMSArOTAzLDYgQEAgbGx2bV9zZXNzaW9uX2luaXRpYWxp emUodm9pZCkKIAkJbGx2bV9vcHQzX29yYyA9IGxsdm1fY3JlYXRlX2ppdF9pbnN0YW5jZShvcHQz X3RtKTsKIAkJb3B0M190bSA9IDA7CiAJfQotI2Vsc2UJCQkJCQkJLyogTExWTV9WRVJTSU9OX01B Sk9SID4gMTEgKi8KLQl7Ci0JCWxsdm1fb3B0MF9vcmMgPSBMTFZNT3JjQ3JlYXRlSW5zdGFuY2Uo b3B0MF90bSk7Ci0JCWxsdm1fb3B0M19vcmMgPSBMTFZNT3JjQ3JlYXRlSW5zdGFuY2Uob3B0M190 bSk7Ci0KLSNpZiBkZWZpbmVkKEhBVkVfREVDTF9MTFZNQ1JFQVRFR0RCUkVHSVNUUkFUSU9OTElT VEVORVIpICYmIEhBVkVfREVDTF9MTFZNQ1JFQVRFR0RCUkVHSVNUUkFUSU9OTElTVEVORVIKLQkJ aWYgKGppdF9kZWJ1Z2dpbmdfc3VwcG9ydCkKLQkJewotCQkJTExWTUpJVEV2ZW50TGlzdGVuZXJS ZWYgbCA9IExMVk1DcmVhdGVHREJSZWdpc3RyYXRpb25MaXN0ZW5lcigpOwotCi0JCQlMTFZNT3Jj UmVnaXN0ZXJKSVRFdmVudExpc3RlbmVyKGxsdm1fb3B0MF9vcmMsIGwpOwotCQkJTExWTU9yY1Jl Z2lzdGVySklURXZlbnRMaXN0ZW5lcihsbHZtX29wdDNfb3JjLCBsKTsKLQkJfQotI2VuZGlmCi0j aWYgZGVmaW5lZChIQVZFX0RFQ0xfTExWTUNSRUFURVBFUkZKSVRFVkVOVExJU1RFTkVSKSAmJiBI QVZFX0RFQ0xfTExWTUNSRUFURVBFUkZKSVRFVkVOVExJU1RFTkVSCi0JCWlmIChqaXRfcHJvZmls aW5nX3N1cHBvcnQpCi0JCXsKLQkJCUxMVk1KSVRFdmVudExpc3RlbmVyUmVmIGwgPSBMTFZNQ3Jl YXRlUGVyZkpJVEV2ZW50TGlzdGVuZXIoKTsKLQotCQkJTExWTU9yY1JlZ2lzdGVySklURXZlbnRM aXN0ZW5lcihsbHZtX29wdDBfb3JjLCBsKTsKLQkJCUxMVk1PcmNSZWdpc3RlckpJVEV2ZW50TGlz dGVuZXIobGx2bV9vcHQzX29yYywgbCk7Ci0JCX0KLSNlbmRpZgotCX0KLSNlbmRpZgkJCQkJCQkv KiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMSAqLwogCiAJb25fcHJvY19leGl0KGxsdm1fc2h1dGRv d24sIDApOwogCkBAIC0xMDA5LDcgKzkzMiw2IEBAIGxsdm1fc2h1dGRvd24oaW50IGNvZGUsIERh dHVtIGFyZykKIAkJZWxvZyhQQU5JQywgIkxMVk1KaXRDb250ZXh0IGluIHVzZSBjb3VudCBub3Qg MCBhdCBleGl0IChpcyAlenUpIiwKIAkJCSBsbHZtX2ppdF9jb250ZXh0X2luX3VzZV9jb3VudCk7 CiAKLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMQogCXsKIAkJaWYgKGxsdm1fb3B0M19vcmMp CiAJCXsKQEAgLTEwMjcsMjMgKzk0OSw2IEBAIGxsdm1fc2h1dGRvd24oaW50IGNvZGUsIERhdHVt IGFyZykKIAkJCWxsdm1fdHNfY29udGV4dCA9IE5VTEw7CiAJCX0KIAl9Ci0jZWxzZQkJCQkJCQkv KiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMSAqLwotCXsKLQkJLyogdW5yZWdpc3RlciBwcm9maWxp bmcgc3VwcG9ydCwgbmVlZHMgdG8gYmUgZmx1c2hlZCB0byBiZSB1c2VmdWwgKi8KLQotCQlpZiAo bGx2bV9vcHQzX29yYykKLQkJewotCQkJTExWTU9yY0Rpc3Bvc2VJbnN0YW5jZShsbHZtX29wdDNf b3JjKTsKLQkJCWxsdm1fb3B0M19vcmMgPSBOVUxMOwotCQl9Ci0KLQkJaWYgKGxsdm1fb3B0MF9v cmMpCi0JCXsKLQkJCUxMVk1PcmNEaXNwb3NlSW5zdGFuY2UobGx2bV9vcHQwX29yYyk7Ci0JCQls bHZtX29wdDBfb3JjID0gTlVMTDsKLQkJfQotCX0KLSNlbmRpZgkJCQkJCQkvKiBMTFZNX1ZFUlNJ T05fTUFKT1IgPiAxMSAqLwogfQogCiAvKiBoZWxwZXIgZm9yIGxsdm1fY3JlYXRlX3R5cGVzLCBy ZXR1cm5pbmcgYSBmdW5jdGlvbidzIHJldHVybiB0eXBlICovCkBAIC0xMjEzLDggKzExMTgsNiBA QCBsbHZtX3Jlc29sdmVfc3ltYm9sKGNvbnN0IGNoYXIgKnN5bW5hbWUsIHZvaWQgKmN0eCkKIAly ZXR1cm4gKHVpbnQ2NF90KSBhZGRyOwogfQogCi0jaWYgTExWTV9WRVJTSU9OX01BSk9SID4gMTEK LQogc3RhdGljIExMVk1FcnJvclJlZgogbGx2bV9yZXNvbHZlX3N5bWJvbHMoTExWTU9yY0RlZmlu aXRpb25HZW5lcmF0b3JSZWYgR2VuZXJhdG9yT2JqLCB2b2lkICpDdHgsCiAJCQkJCSBMTFZNT3Jj TG9va3VwU3RhdGVSZWYgKkxvb2t1cFN0YXRlLCBMTFZNT3JjTG9va3VwS2luZCBLaW5kLApAQCAt MTIzMyw5ICsxMTM2LDcgQEAgbGx2bV9yZXNvbHZlX3N5bWJvbHMoTExWTU9yY0RlZmluaXRpb25H ZW5lcmF0b3JSZWYgR2VuZXJhdG9yT2JqLCB2b2lkICpDdHgsCiAJewogCQljb25zdCBjaGFyICpu YW1lID0gTExWTU9yY1N5bWJvbFN0cmluZ1Bvb2xFbnRyeVN0cihMb29rdXBTZXRbaV0uTmFtZSk7 CiAKLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPiAxMgogCQlMTFZNT3JjUmV0YWluU3ltYm9sU3Ry aW5nUG9vbEVudHJ5KExvb2t1cFNldFtpXS5OYW1lKTsKLSNlbmRpZgogCQlzeW1ib2xzW2ldLk5h bWUgPSBMb29rdXBTZXRbaV0uTmFtZTsKIAkJc3ltYm9sc1tpXS5TeW0uQWRkcmVzcyA9IGxsdm1f cmVzb2x2ZV9zeW1ib2wobmFtZSwgTlVMTCk7CiAJCXN5bWJvbHNbaV0uU3ltLkZsYWdzLkdlbmVy aWNGbGFncyA9IExMVk1KSVRTeW1ib2xHZW5lcmljRmxhZ3NFeHBvcnRlZDsKQEAgLTEzNjQsOCAr MTI2NSw2IEBAIGxsdm1fZXJyb3JfbWVzc2FnZShMTFZNRXJyb3JSZWYgZXJyb3IpCiAJcmV0dXJu IG1zZzsKIH0KIAotI2VuZGlmCQkJCQkJCS8qIExMVk1fVkVSU0lPTl9NQUpPUiA+IDExICovCi0K IC8qCiAgKiBSZXNvdXJjZU93bmVyIGNhbGxiYWNrcwogICovCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9qaXQvbGx2bS9sbHZtaml0X2Vycm9yLmNwcCBiL3NyYy9iYWNrZW5kL2ppdC9sbHZtL2xs dm1qaXRfZXJyb3IuY3BwCmluZGV4IGViZTJmMWJhYTEwLi4zNTEzNTRjMzBiYyAxMDA2NDQKLS0t IGEvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdF9lcnJvci5jcHAKKysrIGIvc3JjL2JhY2tl bmQvaml0L2xsdm0vbGx2bWppdF9lcnJvci5jcHAKQEAgLTMwLDEzICszMCw3IEBAIHN0YXRpYyBz dGQ6Om5ld19oYW5kbGVyIG9sZF9uZXdfaGFuZGxlciA9IE5VTEw7CiAKIHN0YXRpYyB2b2lkIGZh dGFsX3N5c3RlbV9uZXdfaGFuZGxlcih2b2lkKTsKIHN0YXRpYyB2b2lkIGZhdGFsX2xsdm1fbmV3 X2hhbmRsZXIodm9pZCAqdXNlcl9kYXRhLCBjb25zdCBjaGFyICpyZWFzb24sIGJvb2wgZ2VuX2Ny YXNoX2RpYWcpOwotI2lmIExMVk1fVkVSU0lPTl9NQUpPUiA8IDE0Ci1zdGF0aWMgdm9pZCBmYXRh bF9sbHZtX25ld19oYW5kbGVyKHZvaWQgKnVzZXJfZGF0YSwgY29uc3Qgc3RkOjpzdHJpbmcmIHJl YXNvbiwgYm9vbCBnZW5fY3Jhc2hfZGlhZyk7Ci0jZW5kaWYKIHN0YXRpYyB2b2lkIGZhdGFsX2xs dm1fZXJyb3JfaGFuZGxlcih2b2lkICp1c2VyX2RhdGEsIGNvbnN0IGNoYXIgKnJlYXNvbiwgYm9v bCBnZW5fY3Jhc2hfZGlhZyk7Ci0jaWYgTExWTV9WRVJTSU9OX01BSk9SIDwgMTQKLXN0YXRpYyB2 b2lkIGZhdGFsX2xsdm1fZXJyb3JfaGFuZGxlcih2b2lkICp1c2VyX2RhdGEsIGNvbnN0IHN0ZDo6 c3RyaW5nJiByZWFzb24sIGJvb2wgZ2VuX2NyYXNoX2RpYWcpOwotI2VuZGlmCiAKIAogLyoKQEAg LTEzNSwxNSArMTI5LDYgQEAgZmF0YWxfbGx2bV9uZXdfaGFuZGxlcih2b2lkICp1c2VyX2RhdGEs CiAJCQkgZXJybXNnKCJvdXQgb2YgbWVtb3J5IiksCiAJCQkgZXJyZGV0YWlsKCJXaGlsZSBpbiBM TFZNOiAlcyIsIHJlYXNvbikpKTsKIH0KLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPCAxNAotc3Rh dGljIHZvaWQKLWZhdGFsX2xsdm1fbmV3X2hhbmRsZXIodm9pZCAqdXNlcl9kYXRhLAotCQkJCQkg ICBjb25zdCBzdGQ6OnN0cmluZyYgcmVhc29uLAotCQkJCQkgICBib29sIGdlbl9jcmFzaF9kaWFn KQotewotCWZhdGFsX2xsdm1fbmV3X2hhbmRsZXIodXNlcl9kYXRhLCByZWFzb24uY19zdHIoKSwg Z2VuX2NyYXNoX2RpYWcpOwotfQotI2VuZGlmCiAKIHN0YXRpYyB2b2lkCiBmYXRhbF9sbHZtX2Vy cm9yX2hhbmRsZXIodm9pZCAqdXNlcl9kYXRhLApAQCAtMTU0LDEzICsxMzksMyBAQCBmYXRhbF9s bHZtX2Vycm9yX2hhbmRsZXIodm9pZCAqdXNlcl9kYXRhLAogCQkJKGVycmNvZGUoRVJSQ09ERV9P VVRfT0ZfTUVNT1JZKSwKIAkJCSBlcnJtc2coImZhdGFsIGxsdm0gZXJyb3I6ICVzIiwgcmVhc29u KSkpOwogfQotCi0jaWYgTExWTV9WRVJTSU9OX01BSk9SIDwgMTQKLXN0YXRpYyB2b2lkCi1mYXRh bF9sbHZtX2Vycm9yX2hhbmRsZXIodm9pZCAqdXNlcl9kYXRhLAotCQkJCQkJIGNvbnN0IHN0ZDo6 c3RyaW5nJiByZWFzb24sCi0JCQkJCQkgYm9vbCBnZW5fY3Jhc2hfZGlhZykKLXsKLQlmYXRhbF9s bHZtX2Vycm9yX2hhbmRsZXIodXNlcl9kYXRhLCByZWFzb24uY19zdHIoKSwgZ2VuX2NyYXNoX2Rp YWcpOwotfQotI2VuZGlmCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9qaXQvbGx2bS9sbHZtaml0 X2lubGluZS5jcHAgYi9zcmMvYmFja2VuZC9qaXQvbGx2bS9sbHZtaml0X2lubGluZS5jcHAKaW5k ZXggMjAwN2ViNTIzYzkuLjIzYTgwNTMzMTFkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9qaXQv bGx2bS9sbHZtaml0X2lubGluZS5jcHAKKysrIGIvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWpp dF9pbmxpbmUuY3BwCkBAIC01OTQsMTAgKzU5NCw2IEBAIGZ1bmN0aW9uX2lubGluYWJsZShsbHZt OjpGdW5jdGlvbiAmRiwKIAlpZiAoRi5tYXRlcmlhbGl6ZSgpKQogCQllbG9nKEZBVEFMLCAiZmFp bGVkIHRvIG1hdGVyaWFsaXplIG1ldGFkYXRhIik7CiAKLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1Ig PCAxNAotI2RlZmluZSBoYXNGbkF0dHIgaGFzRm5BdHRyaWJ1dGUKLSNlbmRpZgotCiAJaWYgKEYu Z2V0QXR0cmlidXRlcygpLmhhc0ZuQXR0cihsbHZtOjpBdHRyaWJ1dGU6Ok5vSW5saW5lKSkKIAl7 CiAJCWlsb2coREVCVUcxLCAiaW5lbGlnaWJpbGUgdG8gaW1wb3J0ICVzIGR1ZSB0byBub2lubGlu ZSIsCkBAIC04NTgsOSArODU0LDYgQEAgY3JlYXRlX3JlZGlyZWN0aW9uX2Z1bmN0aW9uKHN0ZDo6 dW5pcXVlX3B0cjxsbHZtOjpNb2R1bGU+ICZpbXBvcnRNb2QsCiAJbGx2bTo6RnVuY3Rpb24gKkFG OwogCWxsdm06OkJhc2ljQmxvY2sgKkJCOwogCWxsdm06OkNhbGxJbnN0ICpmd2RjYWxsOwotI2lm IExMVk1fVkVSU0lPTl9NQUpPUiA8IDE0Ci0JbGx2bTo6QXR0cmlidXRlIGlubGluZUF0dHJpYnV0 ZTsKLSNlbmRpZgogCiAJQUYgPSBsbHZtOjpGdW5jdGlvbjo6Q3JlYXRlKEYtPmdldEZ1bmN0aW9u VHlwZSgpLAogCQkJCQkJCQlMaW5rYWdlVHlwZXM6OkF2YWlsYWJsZUV4dGVybmFsbHlMaW5rYWdl LApAQCAtODY5LDEzICs4NjIsNyBAQCBjcmVhdGVfcmVkaXJlY3Rpb25fZnVuY3Rpb24oc3RkOjp1 bmlxdWVfcHRyPGxsdm06Ok1vZHVsZT4gJmltcG9ydE1vZCwKIAogCUJ1aWxkZXIuU2V0SW5zZXJ0 UG9pbnQoQkIpOwogCWZ3ZGNhbGwgPSBCdWlsZGVyLkNyZWF0ZUNhbGwoRiwgJipBRi0+YXJnX2Jl Z2luKCkpOwotI2lmIExMVk1fVkVSU0lPTl9NQUpPUiA8IDE0Ci0JaW5saW5lQXR0cmlidXRlID0g bGx2bTo6QXR0cmlidXRlOjpnZXQoQ29udGV4dCwKLQkJCQkJCQkJCQkgICBsbHZtOjpBdHRyaWJ1 dGU6OkFsd2F5c0lubGluZSk7Ci0JZndkY2FsbC0+YWRkQXR0cmlidXRlKH4wVSwgaW5saW5lQXR0 cmlidXRlKTsKLSNlbHNlCiAJZndkY2FsbC0+YWRkRm5BdHRyKGxsdm06OkF0dHJpYnV0ZTo6QWx3 YXlzSW5saW5lKTsKLSNlbmRpZgogCUJ1aWxkZXIuQ3JlYXRlUmV0KGZ3ZGNhbGwpOwogCiAJcmV0 dXJuIEFGOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdF93cmFwLmNw cCBiL3NyYy9iYWNrZW5kL2ppdC9sbHZtL2xsdm1qaXRfd3JhcC5jcHAKaW5kZXggNjQxYzg4NDFj YTMuLjdmNzYyM2RhYzY0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9qaXQvbGx2bS9sbHZtaml0 X3dyYXAuY3BwCisrKyBiL3NyYy9iYWNrZW5kL2ppdC9sbHZtL2xsdm1qaXRfd3JhcC5jcHAKQEAg LTE3LDEwICsxNyw2IEBAIGV4dGVybiAiQyIKIH0KIAogI2luY2x1ZGUgPGxsdm0tYy9Db3JlLmg+ Ci0KLS8qIEF2b2lkIG1hY3JvIGNsYXNoIHdpdGggTExWTSdzIEMrKyBoZWFkZXJzICovCi0jdW5k ZWYgTWluCi0KICNpbmNsdWRlIDxsbHZtL0lSL0Z1bmN0aW9uLmg+CiAKICNpbmNsdWRlICJqaXQv bGx2bWppdC5oIgpkaWZmIC0tZ2l0IGEvY29uZmlnL2xsdm0ubTQgYi9jb25maWcvbGx2bS5tNApp bmRleCBjNmNmODg1OGY2NC4uZmE0YmVkZDkzNzAgMTAwNjQ0Ci0tLSBhL2NvbmZpZy9sbHZtLm00 CisrKyBiL2NvbmZpZy9sbHZtLm00CkBAIC0yNSw4ICsyNSw4IEBAIEFDX0RFRlVOKFtQR0FDX0xM Vk1fU1VQUE9SVF0sCiAgICAgQUNfTVNHX0VSUk9SKFskTExWTV9DT05GSUcgZG9lcyBub3Qgd29y a10pCiAgIGZpCiAgICMgYW5kIHdoZXRoZXIgdGhlIHZlcnNpb24gaXMgc3VwcG9ydGVkCi0gIGlm IGVjaG8gJHBnYWNfbGx2bV92ZXJzaW9uIHwgJEFXSyAtRiAnLicgJ3sgaWYgKFskXTEgPj0gMTAp IGV4aXQgMTsgZWxzZSBleGl0IDA7fSc7dGhlbgotICAgIEFDX01TR19FUlJPUihbJExMVk1fQ09O RklHIHZlcnNpb24gaXMgJHBnYWNfbGx2bV92ZXJzaW9uIGJ1dCBhdCBsZWFzdCAxMCBpcyByZXF1 aXJlZF0pCisgIGlmIGVjaG8gJHBnYWNfbGx2bV92ZXJzaW9uIHwgJEFXSyAtRiAnLicgJ3sgaWYg KFskXTEgPj0gMTQpIGV4aXQgMTsgZWxzZSBleGl0IDA7fSc7dGhlbgorICAgIEFDX01TR19FUlJP UihbJExMVk1fQ09ORklHIHZlcnNpb24gaXMgJHBnYWNfbGx2bV92ZXJzaW9uIGJ1dCBhdCBsZWFz dCAxNCBpcyByZXF1aXJlZF0pCiAgIGZpCiAgIEFDX01TR19OT1RJQ0UoW3VzaW5nIGxsdm0gJHBn YWNfbGx2bV92ZXJzaW9uXSkKIApkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlv bi5zZ21sIGIvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21sCmluZGV4IDFiMzJkNWNhNjJj Li45MWRhZGMxMGZiYiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL2luc3RhbGxhdGlvbi5zZ21s CisrKyBiL2RvYy9zcmMvc2dtbC9pbnN0YWxsYXRpb24uc2dtbApAQCAtOTM2LDcgKzkzNiw3IEBA IGJ1aWxkLXBvc3RncmVzcWw6CiAgICAgICAgICA8YWNyb255bT5KSVQ8L2Fjcm9ueW0+IGNvbXBp bGF0aW9uIChzZWUgPHhyZWYgbGlua2VuZD0iaml0Ii8+KS4gIFRoaXMKICAgICAgICAgIHJlcXVp cmVzIHRoZSA8cHJvZHVjdG5hbWU+TExWTTwvcHJvZHVjdG5hbWU+IGxpYnJhcnkgdG8gYmUgaW5z dGFsbGVkLgogICAgICAgICAgVGhlIG1pbmltdW0gcmVxdWlyZWQgdmVyc2lvbiBvZiA8cHJvZHVj dG5hbWU+TExWTTwvcHJvZHVjdG5hbWU+IGlzCi0gICAgICAgICBjdXJyZW50bHkgMTAuCisgICAg ICAgICBjdXJyZW50bHkgMTQuCiAgICAgICAgIDwvcGFyYT4KICAgICAgICAgPHBhcmE+CiAgICAg ICAgICA8Y29tbWFuZD5sbHZtLWNvbmZpZzwvY29tbWFuZD48aW5kZXh0ZXJtPjxwcmltYXJ5Pmxs dm0tY29uZmlnPC9wcmltYXJ5PjwvaW5kZXh0ZXJtPgpAQCAtMjQyNCw3ICsyNDI0LDcgQEAgbmlu amEgaW5zdGFsbAogICAgICAgICA8YWNyb255bT5KSVQ8L2Fjcm9ueW0+IGNvbXBpbGF0aW9uIChz ZWUgPHhyZWYgbGlua2VuZD0iaml0Ii8+KS4KICAgICAgICAgVGhpcyByZXF1aXJlcyB0aGUgPHBy b2R1Y3RuYW1lPkxMVk08L3Byb2R1Y3RuYW1lPiBsaWJyYXJ5IHRvIGJlCiAgICAgICAgIGluc3Rh bGxlZC4gIFRoZSBtaW5pbXVtIHJlcXVpcmVkIHZlcnNpb24gb2YKLSAgICAgICAgPHByb2R1Y3Ru YW1lPkxMVk08L3Byb2R1Y3RuYW1lPiBpcyBjdXJyZW50bHkgMTAuICBEaXNhYmxlZCBieQorICAg ICAgICA8cHJvZHVjdG5hbWU+TExWTTwvcHJvZHVjdG5hbWU+IGlzIGN1cnJlbnRseSAxNC4gIERp c2FibGVkIGJ5CiAgICAgICAgIGRlZmF1bHQuCiAgICAgICAgPC9wYXJhPgogCmRpZmYgLS1naXQg YS9jb25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggOGU3NzA0ZDU0YmQuLjRiNzJhMGQ5ZjZhIDEw MDc1NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC01MTI5LDggKzUxMjksOCBA QCBmaQogICAgIGFzX2ZuX2Vycm9yICQ/ICIkTExWTV9DT05GSUcgZG9lcyBub3Qgd29yayIgIiRM SU5FTk8iIDUKICAgZmkKICAgIyBhbmQgd2hldGhlciB0aGUgdmVyc2lvbiBpcyBzdXBwb3J0ZWQK LSAgaWYgZWNobyAkcGdhY19sbHZtX3ZlcnNpb24gfCAkQVdLIC1GICcuJyAneyBpZiAoJDEgPj0g MTApIGV4aXQgMTsgZWxzZSBleGl0IDA7fSc7dGhlbgotICAgIGFzX2ZuX2Vycm9yICQ/ICIkTExW TV9DT05GSUcgdmVyc2lvbiBpcyAkcGdhY19sbHZtX3ZlcnNpb24gYnV0IGF0IGxlYXN0IDEwIGlz IHJlcXVpcmVkIiAiJExJTkVOTyIgNQorICBpZiBlY2hvICRwZ2FjX2xsdm1fdmVyc2lvbiB8ICRB V0sgLUYgJy4nICd7IGlmICgkMSA+PSAxNCkgZXhpdCAxOyBlbHNlIGV4aXQgMDt9Jzt0aGVuCisg ICAgYXNfZm5fZXJyb3IgJD8gIiRMTFZNX0NPTkZJRyB2ZXJzaW9uIGlzICRwZ2FjX2xsdm1fdmVy c2lvbiBidXQgYXQgbGVhc3QgMTQgaXMgcmVxdWlyZWQiICIkTElORU5PIiA1CiAgIGZpCiAgIHsg JGFzX2VjaG8gIiRhc19tZToke2FzX2xpbmVuby0kTElORU5PfTogdXNpbmcgbGx2bSAkcGdhY19s bHZtX3ZlcnNpb24iID4mNQogJGFzX2VjaG8gIiRhc19tZTogdXNpbmcgbGx2bSAkcGdhY19sbHZt X3ZlcnNpb24iID4mNjt9CmRpZmYgLS1naXQgYS9tZXNvbi5idWlsZCBiL21lc29uLmJ1aWxkCmlu ZGV4IDFjMDU3OWQ1YTZiLi4xYjg0NTIwMzc4MCAxMDA2NDQKLS0tIGEvbWVzb24uYnVpbGQKKysr IGIvbWVzb24uYnVpbGQKQEAgLTc0OCw3ICs3NDgsNyBAQCBlbmRpZgogbGx2bW9wdCA9IGdldF9v cHRpb24oJ2xsdm0nKQogbGx2bSA9IG5vdF9mb3VuZF9kZXAKIGlmIGFkZF9sYW5ndWFnZXMoJ2Nw cCcsIHJlcXVpcmVkOiBsbHZtb3B0LCBuYXRpdmU6IGZhbHNlKQotICBsbHZtID0gZGVwZW5kZW5j eSgnbGx2bScsIHZlcnNpb246ICc+PTEwJywgbWV0aG9kOiAnY29uZmlnLXRvb2wnLCByZXF1aXJl ZDogbGx2bW9wdCkKKyAgbGx2bSA9IGRlcGVuZGVuY3koJ2xsdm0nLCB2ZXJzaW9uOiAnPj0xNCcs IG1ldGhvZDogJ2NvbmZpZy10b29sJywgcmVxdWlyZWQ6IGxsdm1vcHQpCiAKICAgaWYgbGx2bS5m b3VuZCgpCiAKLS0gCjIuNDMuMAoK --00000000000037af3e061893bb50 Content-Type: text/x-patch; charset="US-ASCII"; name="v5-0003-jit-Use-opaque-pointers-in-all-supported-LLVM-ver.patch" Content-Disposition: attachment; filename="v5-0003-jit-Use-opaque-pointers-in-all-supported-LLVM-ver.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lw9dq6bk2 RnJvbSBlNTcwMTMzYjUwMzYxNzc3YTM2OWZkMzg1ZTE4NjM4NWQwM2I3OWZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBUaG9tYXMgTXVucm8gPHRob21hcy5tdW5yb0BnbWFpbC5jb20+ CkRhdGU6IEZyaSwgMjAgT2N0IDIwMjMgMTU6MTM6MjYgKzEzMDAKU3ViamVjdDogW1BBVENIIHY1 IDMvM10gaml0OiBVc2Ugb3BhcXVlIHBvaW50ZXJzIGluIGFsbCBzdXBwb3J0ZWQgTExWTQogdmVy c2lvbnMuCgpMTFZNJ3Mgb3BhcXVlIHBvaW50ZXIgY2hhbmdlIGJlZ2FuIGluIExMVk0gMTQsIGJ1 dCByZW1haW5lZCBvcHRpb25hbAp1bnRpbCBMTFZNIDE2LiAgV2hlbiBjb21taXQgMzdkNWJhYmIg YWRkZWQgb3BhcXVlIHBvaW50ZXIgc3VwcG9ydCwgd2UKZGlkbid0IHR1cm4gaXQgb24gZm9yIExM Vk0gMTQgYW5kIDE1IHlldCBiZWNhdXNlIHdlIGRpZG4ndCB3YW50IHRvIHJpc2sKd2VpcmQgYml0 Y29kZSBpbmNvbXBhdGliaWxpdHkgcHJvYmxlbXMgaW4gcmVsZWFzZWQgYnJhbmNoZXMgb2YKUG9z dGdyZVNRTC4gIChUaGF0IG1pZ2h0IGhhdmUgYmVlbiBvdmVybHkgY2F1dGlvdXMsIEkgZG9uJ3Qg a25vdy4pCgpOb3cgdGhhdCBQb3N0Z3JlU1FMIDE4IGhhcyBkcm9wcGVkIHN1cHBvcnQgZm9yIExM Vk0gdmVyc2lvbnMgPCAxNCwgYW5kCnNpbmNlIGl0IGhhc24ndCBiZWVuIHJlbGVhc2VkIHlldCBh bmQgbm8gZXh0ZW5zaW9ucyBvciBiaXRjb2RlIGhhdmUgYmVlbgpidWlsdCBhZ2FpbnN0IGl0IGlu IHRoZSB3aWxkIHlldCwgd2UgY2FuIGJlIG1vcmUgYWdncmVzc2l2ZS4gIFdlIGNhbiByaXAKb3V0 IHRoZSBzdXBwb3J0IGNvZGUgYW5kIGJ1aWxkIHN5c3RlbSBjbHV0dGVyIHRoYXQgbWFkZSBvcGFx dWUgcG9pbnRlcgp1c2Ugb3B0aW9uYWwuCgpSZXZpZXdlZC1ieTogUGV0ZXIgRWlzZW50cmF1dCA8 cGV0ZXJAZWlzZW50cmF1dC5vcmc+CkRpc2N1c3Npb25zOiBodHRwczovL3Bvc3Rnci5lcy9tL0NB JTJCaFVLR0xoTnM1Z2VaYVZOajJFSjc5RHg5VzhmeVdVVTNIeGNwWnk1NXNNR2NZJTNEaUElNDBt YWlsLmdtYWlsLmNvbQotLS0KIHNyYy9pbmNsdWRlL2ppdC9sbHZtaml0X2VtaXQuaCAgIHwgMTYg LS0tLS0tCiBzcmMvYmFja2VuZC9qaXQvbGx2bS9sbHZtaml0LmMgICB8IDEzIC0tLS0tCiBzcmMv YmFja2VuZC9qaXQvbGx2bS9tZXNvbi5idWlsZCB8ICAzIC0tCiBjb25maWd1cmUgICAgICAgICAg ICAgICAgICAgICAgICB8IDg5IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBjb25m aWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICB8ICAzIC0tCiA1IGZpbGVzIGNoYW5nZWQsIDEy NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9qaXQvbGx2bWppdF9lbWl0 LmggYi9zcmMvaW5jbHVkZS9qaXQvbGx2bWppdF9lbWl0LmgKaW5kZXggNGYzNWYzZGNhMTMuLjBh MDRjODVkOWI5IDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9qaXQvbGx2bWppdF9lbWl0LmgKKysr IGIvc3JjL2luY2x1ZGUvaml0L2xsdm1qaXRfZW1pdC5oCkBAIC0xMDcsNDEgKzEwNywyNSBAQCBs X3Bib29sX2NvbnN0KGJvb2wgaSkKIHN0YXRpYyBpbmxpbmUgTExWTVZhbHVlUmVmCiBsX3N0cnVj dF9nZXAoTExWTUJ1aWxkZXJSZWYgYiwgTExWTVR5cGVSZWYgdCwgTExWTVZhbHVlUmVmIHYsIGlu dDMyIGlkeCwgY29uc3QgY2hhciAqbmFtZSkKIHsKLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPCAx NgotCXJldHVybiBMTFZNQnVpbGRTdHJ1Y3RHRVAoYiwgdiwgaWR4LCAiIik7Ci0jZWxzZQogCXJl dHVybiBMTFZNQnVpbGRTdHJ1Y3RHRVAyKGIsIHQsIHYsIGlkeCwgIiIpOwotI2VuZGlmCiB9CiAK IHN0YXRpYyBpbmxpbmUgTExWTVZhbHVlUmVmCiBsX2dlcChMTFZNQnVpbGRlclJlZiBiLCBMTFZN VHlwZVJlZiB0LCBMTFZNVmFsdWVSZWYgdiwgTExWTVZhbHVlUmVmICppbmRpY2VzLCBpbnQzMiBu aW5kaWNlcywgY29uc3QgY2hhciAqbmFtZSkKIHsKLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPCAx NgotCXJldHVybiBMTFZNQnVpbGRHRVAoYiwgdiwgaW5kaWNlcywgbmluZGljZXMsIG5hbWUpOwot I2Vsc2UKIAlyZXR1cm4gTExWTUJ1aWxkR0VQMihiLCB0LCB2LCBpbmRpY2VzLCBuaW5kaWNlcywg bmFtZSk7Ci0jZW5kaWYKIH0KIAogc3RhdGljIGlubGluZSBMTFZNVmFsdWVSZWYKIGxfbG9hZChM TFZNQnVpbGRlclJlZiBiLCBMTFZNVHlwZVJlZiB0LCBMTFZNVmFsdWVSZWYgdiwgY29uc3QgY2hh ciAqbmFtZSkKIHsKLSNpZiBMTFZNX1ZFUlNJT05fTUFKT1IgPCAxNgotCXJldHVybiBMTFZNQnVp bGRMb2FkKGIsIHYsIG5hbWUpOwotI2Vsc2UKIAlyZXR1cm4gTExWTUJ1aWxkTG9hZDIoYiwgdCwg diwgbmFtZSk7Ci0jZW5kaWYKIH0KIAogc3RhdGljIGlubGluZSBMTFZNVmFsdWVSZWYKIGxfY2Fs bChMTFZNQnVpbGRlclJlZiBiLCBMTFZNVHlwZVJlZiB0LCBMTFZNVmFsdWVSZWYgZm4sIExMVk1W YWx1ZVJlZiAqYXJncywgaW50MzIgbmFyZ3MsIGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0jaWYgTExW TV9WRVJTSU9OX01BSk9SIDwgMTYKLQlyZXR1cm4gTExWTUJ1aWxkQ2FsbChiLCBmbiwgYXJncywg bmFyZ3MsIG5hbWUpOwotI2Vsc2UKIAlyZXR1cm4gTExWTUJ1aWxkQ2FsbDIoYiwgdCwgZm4sIGFy Z3MsIG5hcmdzLCBuYW1lKTsKLSNlbmRpZgogfQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvaml0L2xsdm0vbGx2bWppdC5jIGIvc3JjL2JhY2tlbmQvaml0L2xsdm0vbGx2bWppdC5jCmlu ZGV4IDhmOWM3N2VlZGMxLi45OTYwYTAyMzljOCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvaml0 L2xsdm0vbGx2bWppdC5jCisrKyBiL3NyYy9iYWNrZW5kL2ppdC9sbHZtL2xsdm1qaXQuYwpAQCAt ODM1LDE5ICs4MzUsNiBAQCBsbHZtX3Nlc3Npb25faW5pdGlhbGl6ZSh2b2lkKQogCQlsbHZtX2xs dm1fY29udGV4dF9yZXVzZV9jb3VudCA9IDA7CiAJfQogCi0JLyoKLQkgKiBXaGVuIHRhcmdldGlu ZyBMTFZNIDE1LCB0dXJuIG9mZiBvcGFxdWUgcG9pbnRlcnMgZm9yIHRoZSBjb250ZXh0IHdlCi0J ICogYnVpbGQgb3VyIGNvZGUgaW4uICBXZSBkb24ndCBuZWVkIHRvIGRvIHNvIGZvciBvdGhlciBj b250ZXh0cyAoZS5nLgotCSAqIGxsdm1fdHNfY29udGV4dCkuICBPbmNlIHRoZSBJUiBpcyBnZW5l cmF0ZWQsIGl0IGNhcnJpZXMgdGhlIG5lY2Vzc2FyeQotCSAqIGluZm9ybWF0aW9uLgotCSAqCi0J ICogRm9yIDE2IGFuZCBhYm92ZSwgb3BhcXVlIHBvaW50ZXJzIG11c3QgYmUgdXNlZCwgYW5kIHdl IGhhdmUgc3BlY2lhbAotCSAqIGNvZGUgZm9yIHRoYXQuCi0JICovCi0jaWYgTExWTV9WRVJTSU9O X01BSk9SID09IDE1Ci0JTExWTUNvbnRleHRTZXRPcGFxdWVQb2ludGVycyhMTFZNR2V0R2xvYmFs Q29udGV4dCgpLCBmYWxzZSk7Ci0jZW5kaWYKLQogCS8qCiAJICogU3luY2hyb25pemUgdHlwZXMg ZWFybHksIGFzIHRoYXQgYWxzbyBpbmNsdWRlcyBpbmZlcnJpbmcgdGhlIHRhcmdldAogCSAqIHRy aXBsZS4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2ppdC9sbHZtL21lc29uLmJ1aWxkIGIvc3Jj L2JhY2tlbmQvaml0L2xsdm0vbWVzb24uYnVpbGQKaW5kZXggNDFjNzU5ZjczYzUuLjg4YjRhMjEy YmQxIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9qaXQvbGx2bS9tZXNvbi5idWlsZAorKysgYi9z cmMvYmFja2VuZC9qaXQvbGx2bS9tZXNvbi5idWlsZApAQCAtNjAsOSArNjAsNiBAQCBlbmRpZgog CiAjIFhYWDogTmVlZCB0byBkZXRlcm1pbmUgcHJvcGVyIHZlcnNpb24gb2YgdGhlIGZ1bmN0aW9u IGNmbGFncyBmb3IgY2xhbmcKIGJpdGNvZGVfY2ZsYWdzID0gWyctZm5vLXN0cmljdC1hbGlhc2lu ZycsICctZndyYXB2J10KLWlmIGxsdm0udmVyc2lvbigpLnZlcnNpb25fY29tcGFyZSgnPTE1LjAn KQotICBiaXRjb2RlX2NmbGFncyArPSBbJy1YY2xhbmcnLCAnLW5vLW9wYXF1ZS1wb2ludGVycydd Ci1lbmRpZgogYml0Y29kZV9jZmxhZ3MgKz0gY3BwZmxhZ3MKIAogIyBYWFg6IFdvcnRoIGltcHJv dmluZyBvbiB0aGUgbG9naWMgdG8gZmluZCBkaXJlY3RvcmllcyBoZXJlCmRpZmYgLS1naXQgYS9j b25maWd1cmUgYi9jb25maWd1cmUKaW5kZXggNGI3MmEwZDlmNmEuLmFiYWQ3NTUzZjhiIDEwMDc1 NQotLS0gYS9jb25maWd1cmUKKysrIGIvY29uZmlndXJlCkBAIC03MjkwLDk1ICs3MjkwLDYgQEAg aWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ0xBTkdYWF9jeHhmbGFnc19fZmV4Y2Vzc19wcmVjaXNp b25fc3RhbmRhcmQiID0geCJ5ZXMiOwogZmkKIAogCi0gIHsgJGFzX2VjaG8gIiRhc19tZToke2Fz X2xpbmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciAke0NMQU5HfSBzdXBwb3J0cyAtWGNs YW5nIC1uby1vcGFxdWUtcG9pbnRlcnMsIGZvciBCSVRDT0RFX0NGTEFHUyIgPiY1Ci0kYXNfZWNo b19uICJjaGVja2luZyB3aGV0aGVyICR7Q0xBTkd9IHN1cHBvcnRzIC1YY2xhbmcgLW5vLW9wYXF1 ZS1wb2ludGVycywgZm9yIEJJVENPREVfQ0ZMQUdTLi4uICIgPiY2OyB9Ci1pZiAke3BnYWNfY3Zf cHJvZ19DTEFOR19jZmxhZ3NfX1hjbGFuZ19fbm9fb3BhcXVlX3BvaW50ZXJzKzp9IGZhbHNlOyB0 aGVuIDoKLSAgJGFzX2VjaG9fbiAiKGNhY2hlZCkgIiA+JjYKLWVsc2UKLSAgcGdhY19zYXZlX0NG TEFHUz0kQ0ZMQUdTCi1wZ2FjX3NhdmVfQ0M9JENDCi1DQz0ke0NMQU5HfQotQ0ZMQUdTPSIke0JJ VENPREVfQ0ZMQUdTfSAtWGNsYW5nIC1uby1vcGFxdWUtcG9pbnRlcnMiCi1hY19zYXZlX2Nfd2Vy cm9yX2ZsYWc9JGFjX2Nfd2Vycm9yX2ZsYWcKLWFjX2Nfd2Vycm9yX2ZsYWc9eWVzCi1jYXQgY29u ZmRlZnMuaCAtIDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4g ICovCi0KLWludAotbWFpbiAoKQotewotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlm IGFjX2ZuX2NfdHJ5X2NvbXBpbGUgIiRMSU5FTk8iOyB0aGVuIDoKLSAgcGdhY19jdl9wcm9nX0NM QU5HX2NmbGFnc19fWGNsYW5nX19ub19vcGFxdWVfcG9pbnRlcnM9eWVzCi1lbHNlCi0gIHBnYWNf Y3ZfcHJvZ19DTEFOR19jZmxhZ3NfX1hjbGFuZ19fbm9fb3BhcXVlX3BvaW50ZXJzPW5vCi1maQot cm0gLWYgY29yZSBjb25mdGVzdC5lcnIgY29uZnRlc3QuJGFjX29iamV4dCBjb25mdGVzdC4kYWNf ZXh0Ci1hY19jX3dlcnJvcl9mbGFnPSRhY19zYXZlX2Nfd2Vycm9yX2ZsYWcKLUNGTEFHUz0iJHBn YWNfc2F2ZV9DRkxBR1MiCi1DQz0iJHBnYWNfc2F2ZV9DQyIKLWZpCi17ICRhc19lY2hvICIkYXNf bWU6JHthc19saW5lbm8tJExJTkVOT306IHJlc3VsdDogJHBnYWNfY3ZfcHJvZ19DTEFOR19jZmxh Z3NfX1hjbGFuZ19fbm9fb3BhcXVlX3BvaW50ZXJzIiA+JjUKLSRhc19lY2hvICIkcGdhY19jdl9w cm9nX0NMQU5HX2NmbGFnc19fWGNsYW5nX19ub19vcGFxdWVfcG9pbnRlcnMiID4mNjsgfQotaWYg dGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ0xBTkdfY2ZsYWdzX19YY2xhbmdfX25vX29wYXF1ZV9wb2lu dGVycyIgPSB4InllcyI7IHRoZW4KLSAgQklUQ09ERV9DRkxBR1M9IiR7QklUQ09ERV9DRkxBR1N9 IC1YY2xhbmcgLW5vLW9wYXF1ZS1wb2ludGVycyIKLWZpCi0KLSAgeyAkYXNfZWNobyAiJGFzX21l OiR7YXNfbGluZW5vLSRMSU5FTk99OiBjaGVja2luZyB3aGV0aGVyICR7Q0xBTkdYWH0gc3VwcG9y dHMgLVhjbGFuZyAtbm8tb3BhcXVlLXBvaW50ZXJzLCBmb3IgQklUQ09ERV9DWFhGTEFHUyIgPiY1 Ci0kYXNfZWNob19uICJjaGVja2luZyB3aGV0aGVyICR7Q0xBTkdYWH0gc3VwcG9ydHMgLVhjbGFu ZyAtbm8tb3BhcXVlLXBvaW50ZXJzLCBmb3IgQklUQ09ERV9DWFhGTEFHUy4uLiAiID4mNjsgfQot aWYgJHtwZ2FjX2N2X3Byb2dfQ0xBTkdYWF9jeHhmbGFnc19fWGNsYW5nX19ub19vcGFxdWVfcG9p bnRlcnMrOn0gZmFsc2U7IHRoZW4gOgotICAkYXNfZWNob19uICIoY2FjaGVkKSAiID4mNgotZWxz ZQotICBwZ2FjX3NhdmVfQ1hYRkxBR1M9JENYWEZMQUdTCi1wZ2FjX3NhdmVfQ1hYPSRDWFgKLUNY WD0ke0NMQU5HWFh9Ci1DWFhGTEFHUz0iJHtCSVRDT0RFX0NYWEZMQUdTfSAtWGNsYW5nIC1uby1v cGFxdWUtcG9pbnRlcnMiCi1hY19zYXZlX2N4eF93ZXJyb3JfZmxhZz0kYWNfY3h4X3dlcnJvcl9m bGFnCi1hY19jeHhfd2Vycm9yX2ZsYWc9eWVzCi1hY19leHQ9Y3BwCi1hY19jcHA9JyRDWFhDUFAg JENQUEZMQUdTJwotYWNfY29tcGlsZT0nJENYWCAtYyAkQ1hYRkxBR1MgJENQUEZMQUdTIGNvbmZ0 ZXN0LiRhY19leHQgPiY1JwotYWNfbGluaz0nJENYWCAtbyBjb25mdGVzdCRhY19leGVleHQgJENY WEZMQUdTICRDUFBGTEFHUyAkTERGTEFHUyBjb25mdGVzdC4kYWNfZXh0ICRMSUJTID4mNScKLWFj X2NvbXBpbGVyX2dudT0kYWNfY3ZfY3h4X2NvbXBpbGVyX2dudQotCi1jYXQgY29uZmRlZnMuaCAt IDw8X0FDRU9GID5jb25mdGVzdC4kYWNfZXh0Ci0vKiBlbmQgY29uZmRlZnMuaC4gICovCi0KLWlu dAotbWFpbiAoKQotewotCi0gIDsKLSAgcmV0dXJuIDA7Ci19Ci1fQUNFT0YKLWlmIGFjX2ZuX2N4 eF90cnlfY29tcGlsZSAiJExJTkVOTyI7IHRoZW4gOgotICBwZ2FjX2N2X3Byb2dfQ0xBTkdYWF9j eHhmbGFnc19fWGNsYW5nX19ub19vcGFxdWVfcG9pbnRlcnM9eWVzCi1lbHNlCi0gIHBnYWNfY3Zf cHJvZ19DTEFOR1hYX2N4eGZsYWdzX19YY2xhbmdfX25vX29wYXF1ZV9wb2ludGVycz1ubwotZmkK LXJtIC1mIGNvcmUgY29uZnRlc3QuZXJyIGNvbmZ0ZXN0LiRhY19vYmpleHQgY29uZnRlc3QuJGFj X2V4dAotYWNfZXh0PWMKLWFjX2NwcD0nJENQUCAkQ1BQRkxBR1MnCi1hY19jb21waWxlPSckQ0Mg LWMgJENGTEFHUyAkQ1BQRkxBR1MgY29uZnRlc3QuJGFjX2V4dCA+JjUnCi1hY19saW5rPSckQ0Mg LW8gY29uZnRlc3QkYWNfZXhlZXh0ICRDRkxBR1MgJENQUEZMQUdTICRMREZMQUdTIGNvbmZ0ZXN0 LiRhY19leHQgJExJQlMgPiY1JwotYWNfY29tcGlsZXJfZ251PSRhY19jdl9jX2NvbXBpbGVyX2du dQotCi1hY19jeHhfd2Vycm9yX2ZsYWc9JGFjX3NhdmVfY3h4X3dlcnJvcl9mbGFnCi1DWFhGTEFH Uz0iJHBnYWNfc2F2ZV9DWFhGTEFHUyIKLUNYWD0iJHBnYWNfc2F2ZV9DWFgiCi1maQoteyAkYXNf ZWNobyAiJGFzX21lOiR7YXNfbGluZW5vLSRMSU5FTk99OiByZXN1bHQ6ICRwZ2FjX2N2X3Byb2df Q0xBTkdYWF9jeHhmbGFnc19fWGNsYW5nX19ub19vcGFxdWVfcG9pbnRlcnMiID4mNQotJGFzX2Vj aG8gIiRwZ2FjX2N2X3Byb2dfQ0xBTkdYWF9jeHhmbGFnc19fWGNsYW5nX19ub19vcGFxdWVfcG9p bnRlcnMiID4mNjsgfQotaWYgdGVzdCB4IiRwZ2FjX2N2X3Byb2dfQ0xBTkdYWF9jeHhmbGFnc19f WGNsYW5nX19ub19vcGFxdWVfcG9pbnRlcnMiID0geCJ5ZXMiOyB0aGVuCi0gIEJJVENPREVfQ1hY RkxBR1M9IiR7QklUQ09ERV9DWFhGTEFHU30gLVhjbGFuZyAtbm8tb3BhcXVlLXBvaW50ZXJzIgot ZmkKLQotCiAgIE5PVF9USEVfQ0ZMQUdTPSIiCiAgIHsgJGFzX2VjaG8gIiRhc19tZToke2FzX2xp bmVuby0kTElORU5PfTogY2hlY2tpbmcgd2hldGhlciAke0NMQU5HfSBzdXBwb3J0cyAtV3VudXNl ZC1jb21tYW5kLWxpbmUtYXJndW1lbnQsIGZvciBOT1RfVEhFX0NGTEFHUyIgPiY1CiAkYXNfZWNo b19uICJjaGVja2luZyB3aGV0aGVyICR7Q0xBTkd9IHN1cHBvcnRzIC1XdW51c2VkLWNvbW1hbmQt bGluZS1hcmd1bWVudCwgZm9yIE5PVF9USEVfQ0ZMQUdTLi4uICIgPiY2OyB9CmRpZmYgLS1naXQg YS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggYzczMjJlMjkyY2MuLjg2OTYxYjkw ZWZmIDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC02MzQs OSArNjM0LDYgQEAgaWYgdGVzdCAiJHdpdGhfbGx2bSIgPSB5ZXMgOyB0aGVuCiAgIFBHQUNfUFJP R19WQVJDQ19WQVJGTEFHU19PUFQoQ0xBTkcsIEJJVENPREVfQ0ZMQUdTLCBbLWZleGNlc3MtcHJl Y2lzaW9uPXN0YW5kYXJkXSkKICAgUEdBQ19QUk9HX1ZBUkNYWF9WQVJGTEFHU19PUFQoQ0xBTkdY WCwgQklUQ09ERV9DWFhGTEFHUywgWy1mZXhjZXNzLXByZWNpc2lvbj1zdGFuZGFyZF0pCiAKLSAg UEdBQ19QUk9HX1ZBUkNDX1ZBUkZMQUdTX09QVChDTEFORywgQklUQ09ERV9DRkxBR1MsIFstWGNs YW5nIC1uby1vcGFxdWUtcG9pbnRlcnNdKQotICBQR0FDX1BST0dfVkFSQ1hYX1ZBUkZMQUdTX09Q VChDTEFOR1hYLCBCSVRDT0RFX0NYWEZMQUdTLCBbLVhjbGFuZyAtbm8tb3BhcXVlLXBvaW50ZXJz XSkKLQogICBOT1RfVEhFX0NGTEFHUz0iIgogICBQR0FDX1BST0dfVkFSQ0NfVkFSRkxBR1NfT1BU KENMQU5HLCBOT1RfVEhFX0NGTEFHUywgWy1XdW51c2VkLWNvbW1hbmQtbGluZS1hcmd1bWVudF0p CiAgIGlmIHRlc3QgLW4gIiROT1RfVEhFX0NGTEFHUyI7IHRoZW4KLS0gCjIuNDMuMAoK --00000000000037af3e061893bb50--