From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 99658 invoked by alias); 28 Feb 2020 17:31:13 -0000 Mailing-List: contact binutils-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: binutils-owner@sourceware.org Received: (qmail 99649 invoked by uid 89); 28 Feb 2020 17:31:12 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-16.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_NONE,SPF_PASS autolearn=ham version=3.3.1 spammy= X-HELO: mail-oi1-f194.google.com Received: from mail-oi1-f194.google.com (HELO mail-oi1-f194.google.com) (209.85.167.194) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 28 Feb 2020 17:31:05 +0000 Received: by mail-oi1-f194.google.com with SMTP id j80so1583763oih.7 for ; Fri, 28 Feb 2020 09:31:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=l4L/X9CBO8kwPK/BjxWPTPbipgth+sjbKjeaNDDy63A=; b=u/MX6KoZCL9y2JjXJ7e4SnKm/aKOSZcbm+l73dwnL1Ackfkp7PwDTmq9QTHNLlQRjr fUJea02NEE7LrvSUXc4otcv1W7ESrGHr8AtKhgFRMPN3zF2hqcd4A0/xL9LkGmqm8/C6 d4hOZWDq1cLDik4pE+6MexN/UdmT0/4q7eC4MbONbAGG25DAcMjRtdYvdm7YVPSKr1Ed ZBWJE8KWP11YQ3r52Dh0ZkEKUD5omNVxrRYeEUgsn5G/MwkuE6XGPN4fntp5vM9T6DLq bAu5IWoF3e7vh+D7vTGCBeT/yi4c64XpifVnMNHD5zn1LL5bsQkn/0pB6Gapu5tASmg1 5INQ== MIME-Version: 1.0 References: <20200219071950.GP5570@bubble.grove.modra.org> <20200219222336.GU5570@bubble.grove.modra.org> <20200220081517.GX5570@bubble.grove.modra.org> In-Reply-To: From: Christophe Lyon Date: Fri, 28 Feb 2020 17:31:00 -0000 Message-ID: Subject: Re: [PATCH] Add support for non-contiguous memory regions To: binutils Content-Type: multipart/mixed; boundary="000000000000a8d560059fa6335f" X-IsSubscribed: yes X-SW-Source: 2020-02/txt/msg00570.txt.bz2 --000000000000a8d560059fa6335f Content-Type: text/plain; charset="UTF-8" Content-length: 5097 Hi, Here is an updated patch. Changes between v4 and v5: * Added sanity checks for powerpc64 and xtensa (--enable-non-contiguous-regions does not work with relaxation), to emit an error message rather than crash * Removed a bogus assert in size_input_section * Added quotes around section names in error messages * Updated tests: - ld-arm/non-contiguous-arm[25] now pass on arm-nacl - ld-arm/non-contiguous-arm[36] are now skipped on arm-nacl because the stub code is different from the expected one and a dedicated test didn't seem mandatory - ld-arm/non-contiguous-arm4 updated expected error message - ld-elf/non-contiguous: do not require little-endian, accept both endiannesses, discard target-specific sections to make expected output matching possible. Skip on xtensa where relaxation is enabled by default and conflicts with the new option - ld-powerpc/non-contiguous-powerpc: skip on powerpc64 (because the error message is different) - ld/powerpc/non-contiguous-powerpc64: new test, with the error message expected on powerpc64 * Squashed all patches into one Tested for non-regression on the list of 163 targets provided by Alan. I left the error on mep-elf, because many other tests fails on that target with the same error message (selected target format 'elf32-mep-little' unknown) Christophe On Thu, 20 Feb 2020 at 09:59, Christophe Lyon wrote: > > On Thu, 20 Feb 2020 at 09:15, Alan Modra wrote: > > > > On Thu, Feb 20, 2020 at 05:37:03AM +0100, Christophe Lyon wrote: > > > Or should I just copy & paste that list from your email and > > > for i in > > > do > > > configure --target=$i > > > make all check > > > done > > > > Yes, more or less. No need to build gdb though for binutils changes, > > unless you're messing with libbfd or libopcodes API. I build with > > --disable-nls --enable-plugins \ > > --disable-gdb --disable-gdbserver --disable-sim --disable-readline \ > > --disable-libdecnumber --enable-obsolete --target=$i > > Parallel builds work too, except for m68hc11 and m68hc12 which write > > to source directories. > > > > I also build --enable-targets=all --enable-nls with a recent 64-bit > > gcc, an older gcc, and with gcc -m32 to pick up any 32 bit problems. > > My current target list is: > > > Thanks, I'm looking at all these targets, then. I'll update my patches > as needed. > > > > aarch64-elf > > aarch64-linux > > aarch64_be-linux-gnu_ilp32 > > alpha-dec-vms > > alpha-linux > > alpha-linuxecoff > > alpha-netbsd > > alpha-unknown-freebsd4.7 > > am33_2.0-linux > > arc-elf > > arc-linux-uclibc > > arm-elf > > arm-linuxeabi > > arm-nacl > > arm-netbsdelf > > arm-nto > > arm-pe > > arm-symbianelf > > arm-vxworks > > arm-wince-pe > > armeb-linuxeabi > > avr-elf > > bfin-elf > > bfin-linux-uclibc > > bpf-none > > cr16-elf > > cris-elf > > cris-linux > > crisv32-linux > > crx-elf > > csky-elf > > csky-linux > > d10v-elf > > d30v-elf > > dlx-elf > > epiphany-elf > > fr30-elf > > frv-elf > > frv-linux > > ft32-elf > > h8300-elf > > h8300-linux > > hppa-hp-hpux10 > > hppa-linux > > hppa64-hp-hpux11.23 > > hppa64-linux > > i386-bsd > > i386-darwin > > i386-lynxos > > i586-linux > > i686-nacl > > i686-nto > > i686-pc-beos > > i686-pc-elf > > i686-pe > > i686-vxworks > > ia64-elf > > ia64-freebsd5 > > ia64-hpux > > ia64-linux > > ia64-netbsd > > ia64-vms > > ip2k-elf > > iq2000-elf > > lm32-elf > > lm32-linux > > m32c-elf > > m32r-elf > > m32r-linux > > m68hc11-elf > > m68hc12-elf > > m68k-elf > > m68k-linux > > mcore-elf > > mcore-pe > > mep-elf > > metag-linux > > microblaze-elf > > microblaze-linux > > mips-linux > > mips-sgi-irix6 > > mips-vxworks > > mips64-linux > > mips64-openbsd > > mips64el-openbsd > > mipsel-linux-gnu > > mipsisa32el-linux > > mipstx39-elf > > mmix > > mn10200-elf > > mn10300-elf > > moxie-elf > > msp430-elf > > mt-elf > > nds32be-elf > > nds32le-linux > > nios2-linux > > ns32k-netbsd > > ns32k-pc532-mach > > or1k-elf > > or1k-linux > > pdp11-dec-aout > > pj-elf > > powerpc-aix5.1 > > powerpc-aix5.2 > > powerpc-eabisim > > powerpc-eabivle > > powerpc-freebsd > > powerpc-linux > > powerpc-nto > > powerpc-wrs-vxworks > > powerpc64-freebsd > > powerpc64-linux > > powerpc64le-linux > > powerpcle-cygwin > > powerpcle-elf > > pru-elf > > riscv32-elf > > riscv64-linux > > rl78-elf > > rs6000-aix4.3.3 > > rs6000-aix5.1 > > rs6000-aix5.2 > > rx-elf > > s12z-elf > > s390-linux > > s390x-linux > > score-elf > > sh-linux > > sh-nto > > sh-pe > > sh-rtems > > sh-vxworks > > shle-unknown-netbsdelf > > sparc-elf > > sparc-linux > > sparc-sun-solaris2 > > sparc-vxworks > > sparc64-linux > > spu-elf > > tic30-unknown-coff > > tic4x-coff > > tic54x-coff > > tic6x-elf > > tilegx-linux > > tilepro-linux > > v850-elf > > vax-netbsdelf > > visium-elf > > wasm32 > > x86_64-cloudabi > > x86_64-linux > > x86_64-nacl > > x86_64-pc-linux-gnux32 > > x86_64-rdos > > x86_64-w64-mingw32 > > xc16x-elf > > xgate-elf > > xstormy16-elf > > xtensa-elf > > z80-coff > > z80-elf > > z8k-coff > > > > -- > > Alan Modra > > Australia Development Lab, IBM --000000000000a8d560059fa6335f Content-Type: text/x-patch; charset="US-ASCII"; name="0001-Add-support-for-non-contiguous-memory-regions.patch" Content-Disposition: attachment; filename="0001-Add-support-for-non-contiguous-memory-regions.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k76gd2jl0 Content-length: 82749 RnJvbSBjNzZjZTc3NzhiOTBjNTMzY2ExNzI3MzFmOTllMmMyZTgwNzU1ZTEy IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBDaHJpc3RvcGhlIEx5 b24gPGNocmlzdG9waGUubHlvbkBsaW5hcm8ub3JnPgpEYXRlOiBNb24sIDI1 IE5vdiAyMDE5IDA4OjU1OjM3ICswMDAwClN1YmplY3Q6IFtQQVRDSCAxLzFd IEFkZCBzdXBwb3J0IGZvciBub24tY29udGlndW91cyBtZW1vcnkgcmVnaW9u cwoKMjAyMC0wMS0wNiAgQ2hyaXN0b3BoZSBMeW9uICA8Y2hyaXN0b3BoZS5s eW9uQGxpbmFyby5vcmc+CgoJYmZkLwoJKiBiZmQtaW4yLmg6IFJlZ2VuZXJh dGUuCgkqIHNlY3Rpb24uYyAoYXNlY3Rpb24pOiBBZGQgYWxyZWFkeV9hc3Np Z25lZCBmaWVsZC4KCShCRkRfRkFLRV9TRUNUSU9OKTogQWRkIGRlZmF1bHQg aW5pdGlhbGl6ZXIgZm9yIGl0LgoJKiBlY29mZi5jIChiZmRfZGVidWdfc2Vj dGlvbik6IEluaXRpYWxpemUgYWxyZWFkeV9hc3NpZ25lZCBmaWVsZC4KCSog ZWxmMzItYXJtLmMgKGFybV9idWlsZF9vbmVfc3R1Yik6IEFkZCBzdXBwb3J0 IGZvcgoJbm9uX2NvbnRpZ3VvdXNfcmVnaW9ucy4KCSogZWxmMzItY3NreS5j IChjc2t5X2J1aWxkX29uZV9zdHViKTogTGlrZXdpc2UuCgkqIGVsZjMyLWhw cGEuYyAoaHBwYV9idWlsZF9vbmVfc3R1Yik6IExpa2V3aXNlLgoJKiBlbGYz Mi1tNjhoYzExLmMgKG02OGhjMTFfZWxmX2J1aWxkX29uZV9zdHViKTogTGlr ZXdpc2UuCgkqIGVsZjMyLW02OGhjMTIuYyAobTY4aGMxMl9lbGZfYnVpbGRf b25lX3N0dWIpOiBMaWtld2lzZS4KCSogZWxmMzItbWV0YWcuYyAobWV0YWdf YnVpbGRfb25lX3N0dWIpOiBMaWtld2lzZS4KCSogZWxmMzItbmlvczIuYyAo bmlvczJfYnVpbGRfb25lX3N0dWIpOiBMaWtld2lzZS4KCSogZWxmNjQtcHBj LmMgKHBwY19idWlsZF9vbmVfc3R1Yik6IExpa2V3aXNlLgoJKHBwY19zaXpl X29uZV9zdHViKTogTGlrZXdpc2UuCgkqIGVsZm5uLWFhcmNoNjQuYyAoYWFy Y2g2NF9idWlsZF9vbmVfc3R1Yik6IExpa2V3aXNlLgoJKiBlbGZsaW5rLmMg KGVsZl9saW5rX2lucHV0X2JmZCk6IExpa2V3aXNlLgoKCWluY2x1ZGUvCgkq IGJmZGxpbmsuaCAoYmZkX2xpbmtfaW5mbyk6IEFkZCBub25fY29udGlndW91 c19yZWdpb25zIGFuZAoJbm9uX2NvbnRpZ3VvdXNfcmVnaW9uc193YXJuaW5n cyBmaWVsZHMuCgoJbGQvCgkqIGxkbGFuZy5jIChsYW5nX2FkZF9zZWN0aW9u KTogQWRkIHN1cHBvcnQgZm9yCglub25fY29udGlndW91c19yZWdpb25zLgoJ KHNpemVfaW5wdXRfc2VjdGlvbik6IExpa2V3aXNlLgoJKGxhbmdfc2l6ZV9z ZWN0aW9uc18xKTogTGlrZXdpc2UuCgkocHJvY2Vzc19pbnNlcnRfc3RhdGVt ZW50cyk6IExpa2V3aXNlLgoJKiBsZGxleC5oIChvcHRpb25fdmFsdWVzKTog QWRkIE9QVElPTl9OT05fQ09OVElHVU9VU19SRUdJT05TIGFuZAoJT1BUSU9O X05PTl9DT05USUdVT1VTX1JFR0lPTlNfV0FSTklOR1MuCgkqIGxleHN1cC5j IChsZF9vcHRpb25zKTogQWRkIGVudHJpZXMgZm9yCgktLWVuYWJsZS1ub24t Y29udGlndW91cy1yZWdpb25zIGFuZAoJLS1lbmFibGUtbm9uLWNvbnRpZ3Vv dXMtcmVnaW9ucy13YXJuaW5ncy4KCShwYXJzZV9hcmdzKTogSGFuZGxlIGl0 LgoJKiBORVdTOiBBZGQgLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9u cyBhbmQKCS0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMtd2Fybmlu Z3MuCgkqIGxkLnRleGk6IEFkZCAtLWVuYWJsZS1ub24tY29udGlndW91cy1y ZWdpb25zIGFuZAoJLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucy13 YXJuaW5ncyBkb2N1bWVudGF0aW9uLgoJKiBlbXVsdGVtcGwvYXJtZWxmLmVt IChlbGYzMl9hcm1fYWRkX3N0dWJfc2VjdGlvbik6IEFkZAoJU0VDX0xJTktF Ul9DUkVBVEVEIGZsYWcuCgkqIGVtdWx0ZW1wbC94dGVuc2FlbGYuZW0gKGxk X2J1aWxkX3JlcXVpcmVkX3NlY3Rpb25fZGVwZW5kZW5jZSk6CglFbWl0IGFu IGVycm9yIHdoZW4gLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucyBp cyB1c2VkLgoJKiB0ZXN0c3VpdGUvbGQtZWxmL25vbi1jb250aWd1b3VzLmQ6 IE5ldy4KCSogdGVzdHN1aXRlL2xkLWVsZi9ub24tY29udGlndW91cy5sZDog TmV3LgoJKiB0ZXN0c3VpdGUvbGQtZWxmL25vbi1jb250aWd1b3VzLnM6IE5l dy4KCSogdGVzdHN1aXRlL2xkLWFybS9hcm0tZWxmLmV4cDogUnVuIHRoZSBu ZXcgdGVzdHMuCgkqIHRlc3RzdWl0ZS9sZC1hcm0vYXJtLWVsZi9ub24tY29u dGlndW91cy1hcm0uczogTmV3LgoJKiB0ZXN0c3VpdGUvbGQtYXJtL2FybS1l bGYvbm9uLWNvbnRpZ3VvdXMtYXJtLmQ6IE5ldy4KCSogdGVzdHN1aXRlL2xk LWFybS9hcm0tZWxmL25vbi1jb250aWd1b3VzLWFybS5sZDogTmV3LgoJKiB0 ZXN0c3VpdGUvbGQtYXJtL2FybS1lbGYvbm9uLWNvbnRpZ3VvdXMtYXJtMi5k OiBOZXcuCgkqIHRlc3RzdWl0ZS9sZC1hcm0vYXJtLWVsZi9ub24tY29udGln dW91cy1hcm0zLmxkOiBOZXcuCgkqIHRlc3RzdWl0ZS9sZC1hcm0vYXJtLWVs Zi9ub24tY29udGlndW91cy1hcm0zLmQ6IE5ldy4KCSogdGVzdHN1aXRlL2xk LWFybS9hcm0tZWxmL25vbi1jb250aWd1b3VzLWFybTMubGQ6IE5ldy4KCSog dGVzdHN1aXRlL2xkLWFybS9hcm0tZWxmL25vbi1jb250aWd1b3VzLWFybTQu ZDogTmV3LgoJKiB0ZXN0c3VpdGUvbGQtYXJtL2FybS1lbGYvbm9uLWNvbnRp Z3VvdXMtYXJtNC5sZDogTmV3LgoJKiB0ZXN0c3VpdGUvbGQtYXJtL2FybS1l bGYvbm9uLWNvbnRpZ3VvdXMtYXJtNS5kOiBOZXcuCgkqIHRlc3RzdWl0ZS9s ZC1hcm0vYXJtLWVsZi9ub24tY29udGlndW91cy1hcm01LmxkOiBOZXcuCgkq IHRlc3RzdWl0ZS9sZC1hcm0vYXJtLWVsZi9ub24tY29udGlndW91cy1hcm02 LmQ6IE5ldy4KCSogdGVzdHN1aXRlL2xkLWFybS9hcm0tZWxmL25vbi1jb250 aWd1b3VzLWFybTYubGQ6IE5ldy4KCSogdGVzdHN1aXRlL2xkLXBvd2VycGMv cG93ZXJwYy5leHA6IFJ1biBuZXcgdGVzdHMuCgkqIHRlc3RzdWl0ZS9sZC1w b3dlcnBjL25vbi1jb250aWd1b3VzLXBvd2VycGMuZDogTmV3LgoJKiB0ZXN0 c3VpdGUvbGQtcG93ZXJwYy9ub24tY29udGlndW91cy1wb3dlcnBjLmxkOiBO ZXcuCgkqIHRlc3RzdWl0ZS9sZC1wb3dlcnBjL25vbi1jb250aWd1b3VzLXBv d2VycGMuc2Q6IE5ldy4KCSogdGVzdHN1aXRlL2xkLXBvd2VycGMvbm9uLWNv bnRpZ3VvdXMtcG93ZXJwYzY0LmQ6IE5ldy4KLS0tCiBiZmQvYmZkLWluMi5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgOSAr LQogYmZkL2Vjb2ZmLmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDYgKy0KIGJmZC9lbGYzMi1hcm0uYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrCiBiZmQvZWxmMzIt Y3NreS5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAx MSArKwogYmZkL2VsZjMyLWhwcGEuYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfCAgMzEgKysrKysKIGJmZC9lbGYzMi1tNjhoYzExLmMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDExICsrCiBiZmQv ZWxmMzItbTY4aGMxMi5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAxMSArKwogYmZkL2VsZjMyLW1ldGFnLmMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMTUgKystCiBiZmQvZWxmMzItbmlvczIu YyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAxMyArKwog YmZkL2VsZjY0LXBwYy5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfCAgNTAgKysrKysrKwogYmZkL2VsZmxpbmsuYyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKysKIGJmZC9lbGZu bi1hYXJjaDY0LmMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwg IDE2ICsrLQogYmZkL3NlY3Rpb24uYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfCAgIDkgKy0KIGluY2x1ZGUvYmZkbGluay5oICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA4ICsrCiBsZC9O RVdTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8ICAgMyArCiBsZC9lbXVsdGVtcGwvYXJtZWxmLmVtICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8ICAgMyArLQogbGQvZW11bHRlbXBsL3h0ZW5z YWVsZi5lbSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKwogbGQv bGQudGV4aSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfCAgNDIgKysrKysrCiBsZC9sZGxhbmcuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB8IDE0NSArKysrKysrKysrKysrKysr KysrKy0KIGxkL2xkbGV4LmggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgICAyICsKIGxkL2xleHN1cC5jICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDEwICsrCiBsZC90ZXN0 c3VpdGUvbGQtYXJtL2FybS1lbGYuZXhwICAgICAgICAgICAgICAgICAgICB8 ICAgNyArCiBsZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFy bS5kICAgICAgICAgICB8ICAgNCArCiBsZC90ZXN0c3VpdGUvbGQtYXJtL25v bi1jb250aWd1b3VzLWFybS5sZCAgICAgICAgICB8ICAzNCArKysrKwogbGQv dGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm0ucyAgICAgICAg ICAgfCAgMzUgKysrKysKIGxkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRp Z3VvdXMtYXJtMi5kICAgICAgICAgIHwgIDc3ICsrKysrKysrKysrCiBsZC90 ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTIubGQgICAgICAg ICB8ICAzMyArKysrKwogbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGln dW91cy1hcm0zLmQgICAgICAgICAgfCAgODMgKysrKysrKysrKysrCiBsZC90 ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTMubGQgICAgICAg ICB8ICAzMyArKysrKwogbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGln dW91cy1hcm00LmQgICAgICAgICAgfCAgIDQgKwogbGQvdGVzdHN1aXRlL2xk LWFybS9ub24tY29udGlndW91cy1hcm00LmxkICAgICAgICAgfCAgMzQgKysr KysKIGxkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtNS5k ICAgICAgICAgIHwgIDc3ICsrKysrKysrKysrCiBsZC90ZXN0c3VpdGUvbGQt YXJtL25vbi1jb250aWd1b3VzLWFybTUubGQgICAgICAgICB8ICAzNCArKysr KwogbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm02LmQg ICAgICAgICAgfCAgNzcgKysrKysrKysrKysKIGxkL3Rlc3RzdWl0ZS9sZC1h cm0vbm9uLWNvbnRpZ3VvdXMtYXJtNi5sZCAgICAgICAgIHwgIDMzICsrKysr CiBsZC90ZXN0c3VpdGUvbGQtZWxmL25vbi1jb250aWd1b3VzLmQgICAgICAg ICAgICAgICB8ICAyOSArKysrKwogbGQvdGVzdHN1aXRlL2xkLWVsZi9ub24t Y29udGlndW91cy5sZCAgICAgICAgICAgICAgfCAgNDcgKysrKysrKwogbGQv dGVzdHN1aXRlL2xkLWVsZi9ub24tY29udGlndW91cy5zICAgICAgICAgICAg ICAgfCAgMjEgKysrCiBsZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9ub24tY29u dGlndW91cy1wb3dlcnBjLmQgICB8ICAgNSArCiBsZC90ZXN0c3VpdGUvbGQt cG93ZXJwYy9ub24tY29udGlndW91cy1wb3dlcnBjLmxkICB8ICAyMiArKysr CiBsZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9ub24tY29udGlndW91cy1wb3dl cnBjLnMgICB8ICAgOCArKwogbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvbm9u LWNvbnRpZ3VvdXMtcG93ZXJwYzY0LmQgfCAgIDUgKwogbGQvdGVzdHN1aXRl L2xkLXBvd2VycGMvcG93ZXJwYy5leHAgICAgICAgICAgICAgICAgfCAgIDMg KwogNDMgZmlsZXMgY2hhbmdlZCwgMTExOCBpbnNlcnRpb25zKCspLCAxMSBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUv bGQtYXJtL25vbi1jb250aWd1b3VzLWFybS5kCiBjcmVhdGUgbW9kZSAxMDA2 NDQgbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm0ubGQK IGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1j b250aWd1b3VzLWFybS5zCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1 aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm0yLmQKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFy bTIubGQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtYXJt L25vbi1jb250aWd1b3VzLWFybTMuZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxk L3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtMy5sZAogY3Jl YXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRp Z3VvdXMtYXJtNC5kCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRl L2xkLWFybS9ub24tY29udGlndW91cy1hcm00LmxkCiBjcmVhdGUgbW9kZSAx MDA2NDQgbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm01 LmQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtYXJtL25v bi1jb250aWd1b3VzLWFybTUubGQKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90 ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTYuZAogY3JlYXRl IG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3Vv dXMtYXJtNi5sZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxkL3Rlc3RzdWl0ZS9s ZC1lbGYvbm9uLWNvbnRpZ3VvdXMuZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGxk L3Rlc3RzdWl0ZS9sZC1lbGYvbm9uLWNvbnRpZ3VvdXMubGQKIGNyZWF0ZSBt b2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtZWxmL25vbi1jb250aWd1b3Vz LnMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBsZC90ZXN0c3VpdGUvbGQtcG93ZXJw Yy9ub24tY29udGlndW91cy1wb3dlcnBjLmQKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBsZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9ub24tY29udGlndW91cy1wb3dl cnBjLmxkCiBjcmVhdGUgbW9kZSAxMDA2NDQgbGQvdGVzdHN1aXRlL2xkLXBv d2VycGMvbm9uLWNvbnRpZ3VvdXMtcG93ZXJwYy5zCiBjcmVhdGUgbW9kZSAx MDA2NDQgbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvbm9uLWNvbnRpZ3VvdXMt cG93ZXJwYzY0LmQKCmRpZmYgLS1naXQgYS9iZmQvYmZkLWluMi5oIGIvYmZk L2JmZC1pbjIuaAppbmRleCAyZDU2ZmRhLi43ZTRkMWRiIDEwMDY0NAotLS0g YS9iZmQvYmZkLWluMi5oCisrKyBiL2JmZC9iZmQtaW4yLmgKQEAgLTExOTIs NiArMTE5MiwxMCBAQCB0eXBlZGVmIHN0cnVjdCBiZmRfc2VjdGlvbgogICAg IHN0cnVjdCBiZmRfc2VjdGlvbiAqczsKICAgICBjb25zdCBjaGFyICpsaW5r ZWRfdG9fc3ltYm9sX25hbWU7CiAgIH0gbWFwX2hlYWQsIG1hcF90YWlsOwor IC8qIFBvaW50cyB0byB0aGUgb3V0cHV0IHNlY3Rpb24gdGhpcyBzZWN0aW9u IGlzIGFscmVhZHkgYXNzaWduZWQgdG8sIGlmIGFueS4KKyAgICBUaGlzIGlz IHVzZWQgd2hlbiBzdXBwb3J0IGZvciBub24tY29udGlndW91cyBtZW1vcnkg cmVnaW9ucyBpcyBlbmFibGVkLiAgKi8KKyBzdHJ1Y3QgYmZkX3NlY3Rpb24g KmFscmVhZHlfYXNzaWduZWQ7CisKIH0gYXNlY3Rpb247CiAKIC8qIFJlbGF4 IHRhYmxlIGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IGluc3RydWN0aW9u cyB3aGljaCBjYW4KQEAgLTEzNzMsNyArMTM3NywxMCBAQCBkaXNjYXJkZWRf c2VjdGlvbiAoY29uc3QgYXNlY3Rpb24gKnNlYykKICAgICAgKHN0cnVjdCBi ZmRfc3ltYm9sICopIFNZTSwgJlNFQy5zeW1ib2wsICAgICAgICAgICAgICAg ICAgICAgICAgICAgXAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAg IC8qIG1hcF9oZWFkLCBtYXBfdGFpbCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKi8gIFwKLSAgICAgeyBOVUxMIH0sIHsg TlVMTCB9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXAorICAgICB7IE5VTEwgfSwgeyBOVUxMIH0sICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKKyAgLyogYWxyZWFkeV9hc3NpZ25l ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqLyAgXAorICAgICBOVUxMICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCiAgICAgfQog CiAvKiBXZSB1c2UgYSBtYWNybyB0byBpbml0aWFsaXplIHRoZSBzdGF0aWMg YXN5bWJvbCBzdHJ1Y3R1cmVzIGJlY2F1c2UKZGlmZiAtLWdpdCBhL2JmZC9l Y29mZi5jIGIvYmZkL2Vjb2ZmLmMKaW5kZXggOWUyZWZhYy4uNTkyYTIyNSAx MDA2NDQKLS0tIGEvYmZkL2Vjb2ZmLmMKKysrIGIvYmZkL2Vjb2ZmLmMKQEAg LTc4LDggKzc4LDEwIEBAIHN0YXRpYyBhc2VjdGlvbiBiZmRfZGVidWdfc2Vj dGlvbiA9CiAgICAgIE5VTEwsCiAgIC8qIHN5bWJvbF9wdHJfcHRyLAkJCQkJ CSAgICovCiAgICAgIE5VTEwsCi0gIC8qIG1hcF9oZWFkLCBtYXBfdGFpbAkJ CQkJCSAgICovCi0gICAgIHsgTlVMTCB9LCB7IE5VTEwgfQorICAvKiBtYXBf aGVhZCwgbWFwX3RhaWwsCQkJCQkgICAqLworICAgICB7IE5VTEwgfSwgeyBO VUxMIH0sCisgIC8qIGFscmVhZHlfYXNzaWduZWQgCQkJCQkJICAgKi8KKyAg ICAgTlVMTCwKIH07CiAKIC8qIENyZWF0ZSBhbiBFQ09GRiBvYmplY3QuICAq LwpkaWZmIC0tZ2l0IGEvYmZkL2VsZjMyLWFybS5jIGIvYmZkL2VsZjMyLWFy bS5jCmluZGV4IGEzNWRjOTkuLjBiY2FmZTQgMTAwNjQ0Ci0tLSBhL2JmZC9l bGYzMi1hcm0uYworKysgYi9iZmQvZWxmMzItYXJtLmMKQEAgLTUwNjQsNiAr NTA2NCwxNyBAQCBhcm1fYnVpbGRfb25lX3N0dWIgKHN0cnVjdCBiZmRfaGFz aF9lbnRyeSAqZ2VuX2VudHJ5LAogICBzdHViX2VudHJ5ID0gKHN0cnVjdCBl bGYzMl9hcm1fc3R1Yl9oYXNoX2VudHJ5ICopIGdlbl9lbnRyeTsKICAgaW5m byA9IChzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqKSBpbl9hcmc7CiAKKyAgLyog RmFpbCBpZiB0aGUgdGFyZ2V0IHNlY3Rpb24gY291bGQgbm90IGJlIGFzc2ln bmVkIHRvIGFuIG91dHB1dAorICAgICBzZWN0aW9uLiAgVGhlIHVzZXIgc2hv dWxkIGZpeCBoaXMgbGlua2VyIHNjcmlwdC4gICovCisgIGlmIChzdHViX2Vu dHJ5LT50YXJnZXRfc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24gPT0gTlVMTAor ICAgICAgJiYgaW5mby0+bm9uX2NvbnRpZ3VvdXNfcmVnaW9ucykKKyAgICB7 CisgICAgICBfYmZkX2Vycm9yX2hhbmRsZXIgKF8oIkNvdWxkIG5vdCBhc3Np Z24gJyVwQScgdG8gYW4gb3V0cHV0IHNlY3Rpb24uICIKKwkJCSAgICAiUmV0 cnkgd2l0aG91dCAtLWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25zLlxu IiksCisJCQkgIHN0dWJfZW50cnktPnRhcmdldF9zZWN0aW9uKTsKKyAgICAg IGFib3J0KCk7CisgICAgfQorCiAgIGdsb2JhbHMgPSBlbGYzMl9hcm1faGFz aF90YWJsZSAoaW5mbyk7CiAgIGlmIChnbG9iYWxzID09IE5VTEwpCiAgICAg cmV0dXJuIEZBTFNFOwpkaWZmIC0tZ2l0IGEvYmZkL2VsZjMyLWNza3kuYyBi L2JmZC9lbGYzMi1jc2t5LmMKaW5kZXggZjkxZDA1Yi4uZWQ4YWIzNyAxMDA2 NDQKLS0tIGEvYmZkL2VsZjMyLWNza3kuYworKysgYi9iZmQvZWxmMzItY3Nr eS5jCkBAIC0zNjIxLDYgKzM2MjEsMTcgQEAgY3NreV9idWlsZF9vbmVfc3R1 YiAoc3RydWN0IGJmZF9oYXNoX2VudHJ5ICpnZW5fZW50cnksCiAgIHN0dWJf ZW50cnkgPSAoc3RydWN0IGVsZjMyX2Nza3lfc3R1Yl9oYXNoX2VudHJ5ICop Z2VuX2VudHJ5OwogICBpbmZvID0gKHN0cnVjdCBiZmRfbGlua19pbmZvICop IGluX2FyZzsKIAorICAvKiBGYWlsIGlmIHRoZSB0YXJnZXQgc2VjdGlvbiBj b3VsZCBub3QgYmUgYXNzaWduZWQgdG8gYW4gb3V0cHV0CisgICAgIHNlY3Rp b24uICBUaGUgdXNlciBzaG91bGQgZml4IGhpcyBsaW5rZXIgc2NyaXB0LiAg Ki8KKyAgaWYgKHN0dWJfZW50cnktPnRhcmdldF9zZWN0aW9uLT5vdXRwdXRf c2VjdGlvbiA9PSBOVUxMCisgICAgICAmJiBpbmZvLT5ub25fY29udGlndW91 c19yZWdpb25zKQorICAgIHsKKyAgICAgIF9iZmRfZXJyb3JfaGFuZGxlciAo XygiQ291bGQgbm90IGFzc2lnbiAnJXBBJyB0byBhbiBvdXRwdXQgc2VjdGlv bi4gIgorCQkJICAgICJSZXRyeSB3aXRob3V0IC0tZW5hYmxlLW5vbi1jb250 aWd1b3VzLXJlZ2lvbnMuXG4iKSwKKwkJCSAgc3R1Yl9lbnRyeS0+dGFyZ2V0 X3NlY3Rpb24pOworICAgICAgYWJvcnQoKTsKKyAgICB9CisKICAgZ2xvYmFs cyA9IGNza3lfZWxmX2hhc2hfdGFibGUgKGluZm8pOwogICBpZiAoZ2xvYmFs cyA9PSBOVUxMKQogICAgIHJldHVybiBGQUxTRTsKZGlmZiAtLWdpdCBhL2Jm ZC9lbGYzMi1ocHBhLmMgYi9iZmQvZWxmMzItaHBwYS5jCmluZGV4IGIxYjBm ODIuLjk3NjBiNzUgMTAwNjQ0Ci0tLSBhL2JmZC9lbGYzMi1ocHBhLmMKKysr IGIvYmZkL2VsZjMyLWhwcGEuYwpAQCAtNzMxLDYgKzczMSwxNyBAQCBocHBh X2J1aWxkX29uZV9zdHViIChzdHJ1Y3QgYmZkX2hhc2hfZW50cnkgKmJoLCB2 b2lkICppbl9hcmcpCiAgIHN3aXRjaCAoaHNoLT5zdHViX3R5cGUpCiAgICAg ewogICAgIGNhc2UgaHBwYV9zdHViX2xvbmdfYnJhbmNoOgorICAgICAgLyog RmFpbCBpZiB0aGUgdGFyZ2V0IHNlY3Rpb24gY291bGQgbm90IGJlIGFzc2ln bmVkIHRvIGFuIG91dHB1dAorCSBzZWN0aW9uLiAgVGhlIHVzZXIgc2hvdWxk IGZpeCBoaXMgbGlua2VyIHNjcmlwdC4gICovCisgICAgICBpZiAoaHNoLT50 YXJnZXRfc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24gPT0gTlVMTAorCSAgJiYg aW5mby0+bm9uX2NvbnRpZ3VvdXNfcmVnaW9ucykKKwl7CisJICBfYmZkX2Vy cm9yX2hhbmRsZXIgKF8oIkNvdWxkIG5vdCBhc3NpZ24gJyVwQScgdG8gYW4g b3V0cHV0IHNlY3Rpb24uICIKKwkJCQkiUmV0cnkgd2l0aG91dCAtLWVuYWJs ZS1ub24tY29udGlndW91cy1yZWdpb25zLlxuIiksCisJCQkgICAgICBoc2gt PnRhcmdldF9zZWN0aW9uKTsKKwkgIGFib3J0KCk7CisgICAgfQorCiAgICAg ICAvKiBDcmVhdGUgdGhlIGxvbmcgYnJhbmNoLiAgQSBsb25nIGJyYW5jaCBp cyBmb3JtZWQgd2l0aCAibGRpbCIKIAkgbG9hZGluZyB0aGUgdXBwZXIgYml0 cyBvZiB0aGUgdGFyZ2V0IGFkZHJlc3MgaW50byBhIHJlZ2lzdGVyLAogCSB0 aGVuIGJyYW5jaGluZyB3aXRoICJiZSIgd2hpY2ggYWRkcyBpbiB0aGUgbG93 ZXIgYml0cy4KQEAgLTc1MSw2ICs3NjIsMTYgQEAgaHBwYV9idWlsZF9vbmVf c3R1YiAoc3RydWN0IGJmZF9oYXNoX2VudHJ5ICpiaCwgdm9pZCAqaW5fYXJn KQogICAgICAgYnJlYWs7CiAKICAgICBjYXNlIGhwcGFfc3R1Yl9sb25nX2Jy YW5jaF9zaGFyZWQ6CisgICAgICAvKiBGYWlsIGlmIHRoZSB0YXJnZXQgc2Vj dGlvbiBjb3VsZCBub3QgYmUgYXNzaWduZWQgdG8gYW4gb3V0cHV0CisJIHNl Y3Rpb24uICBUaGUgdXNlciBzaG91bGQgZml4IGhpcyBsaW5rZXIgc2NyaXB0 LiAgKi8KKyAgICAgIGlmIChoc2gtPnRhcmdldF9zZWN0aW9uLT5vdXRwdXRf c2VjdGlvbiA9PSBOVUxMCisJICAmJiBpbmZvLT5ub25fY29udGlndW91c19y ZWdpb25zKQorCXsKKwkgIF9iZmRfZXJyb3JfaGFuZGxlciAoXygiQ291bGQg bm90IGFzc2lnbiAlcEEgdG8gYW4gb3V0cHV0IHNlY3Rpb24uICIKKwkJCQki UmV0cnkgd2l0aG91dCAtLWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25z LlxuIiksCisJCQkgICAgICBoc2gtPnRhcmdldF9zZWN0aW9uKTsKKwkgIGFi b3J0KCk7CisgICAgfQogICAgICAgLyogQnJhbmNoZXMgYXJlIHJlbGF0aXZl LiAgVGhpcyBpcyB3aGVyZSB3ZSBhcmUgZ29pbmcgdG8uICAqLwogICAgICAg c3ltX3ZhbHVlID0gKGhzaC0+dGFyZ2V0X3ZhbHVlCiAJCSAgICsgaHNoLT50 YXJnZXRfc2VjdGlvbi0+b3V0cHV0X29mZnNldApAQCAtODIzLDYgKzg0NCwx NiBAQCBocHBhX2J1aWxkX29uZV9zdHViIChzdHJ1Y3QgYmZkX2hhc2hfZW50 cnkgKmJoLCB2b2lkICppbl9hcmcpCiAgICAgICBicmVhazsKIAogICAgIGNh c2UgaHBwYV9zdHViX2V4cG9ydDoKKyAgICAgIC8qIEZhaWwgaWYgdGhlIHRh cmdldCBzZWN0aW9uIGNvdWxkIG5vdCBiZSBhc3NpZ25lZCB0byBhbiBvdXRw dXQKKwkgc2VjdGlvbi4gIFRoZSB1c2VyIHNob3VsZCBmaXggaGlzIGxpbmtl ciBzY3JpcHQuICAqLworICAgICAgaWYgKGhzaC0+dGFyZ2V0X3NlY3Rpb24t Pm91dHB1dF9zZWN0aW9uID09IE5VTEwKKwkgICYmIGluZm8tPm5vbl9jb250 aWd1b3VzX3JlZ2lvbnMpCisJeworCSAgX2JmZF9lcnJvcl9oYW5kbGVyIChf KCJDb3VsZCBub3QgYXNzaWduICVwQSB0byBhbiBvdXRwdXQgc2VjdGlvbi4g IgorCQkJCSJSZXRyeSB3aXRob3V0IC0tZW5hYmxlLW5vbi1jb250aWd1b3Vz LXJlZ2lvbnMuXG4iKSwKKwkJCSAgICAgIGhzaC0+dGFyZ2V0X3NlY3Rpb24p OworCSAgYWJvcnQoKTsKKyAgICB9CiAgICAgICAvKiBCcmFuY2hlcyBhcmUg cmVsYXRpdmUuICBUaGlzIGlzIHdoZXJlIHdlIGFyZSBnb2luZyB0by4gICov CiAgICAgICBzeW1fdmFsdWUgPSAoaHNoLT50YXJnZXRfdmFsdWUKIAkJICAg KyBoc2gtPnRhcmdldF9zZWN0aW9uLT5vdXRwdXRfb2Zmc2V0CmRpZmYgLS1n aXQgYS9iZmQvZWxmMzItbTY4aGMxMS5jIGIvYmZkL2VsZjMyLW02OGhjMTEu YwppbmRleCA4ZDRkMjI3Li4zZTEyYWU1IDEwMDY0NAotLS0gYS9iZmQvZWxm MzItbTY4aGMxMS5jCisrKyBiL2JmZC9lbGYzMi1tNjhoYzExLmMKQEAgLTQx NSw2ICs0MTUsMTcgQEAgbTY4aGMxMV9lbGZfYnVpbGRfb25lX3N0dWIgKHN0 cnVjdCBiZmRfaGFzaF9lbnRyeSAqZ2VuX2VudHJ5LCB2b2lkICppbl9hcmcp CiAgIHN0dWJfZW50cnkgPSAoc3RydWN0IGVsZjMyX202OGhjMTFfc3R1Yl9o YXNoX2VudHJ5ICopIGdlbl9lbnRyeTsKICAgaW5mbyA9IChzdHJ1Y3QgYmZk X2xpbmtfaW5mbyAqKSBpbl9hcmc7CiAKKyAgLyogRmFpbCBpZiB0aGUgdGFy Z2V0IHNlY3Rpb24gY291bGQgbm90IGJlIGFzc2lnbmVkIHRvIGFuIG91dHB1 dAorICAgICBzZWN0aW9uLiAgVGhlIHVzZXIgc2hvdWxkIGZpeCBoaXMgbGlu a2VyIHNjcmlwdC4gICovCisgIGlmIChzdHViX2VudHJ5LT50YXJnZXRfc2Vj dGlvbi0+b3V0cHV0X3NlY3Rpb24gPT0gTlVMTAorICAgICAgJiYgaW5mby0+ bm9uX2NvbnRpZ3VvdXNfcmVnaW9ucykKKyAgICB7CisgICAgICBfYmZkX2Vy cm9yX2hhbmRsZXIgKF8oIkNvdWxkIG5vdCBhc3NpZ24gJyVwQScgdG8gYW4g b3V0cHV0IHNlY3Rpb24uICIKKwkJCSAgICAiUmV0cnkgd2l0aG91dCAtLWVu YWJsZS1ub24tY29udGlndW91cy1yZWdpb25zLlxuIiksCisJCQkgIHN0dWJf ZW50cnktPnRhcmdldF9zZWN0aW9uKTsKKyAgICAgIGFib3J0KCk7CisgICAg fQorCiAgIGh0YWIgPSBtNjhoYzExX2VsZl9oYXNoX3RhYmxlIChpbmZvKTsK ICAgaWYgKGh0YWIgPT0gTlVMTCkKICAgICByZXR1cm4gRkFMU0U7CmRpZmYg LS1naXQgYS9iZmQvZWxmMzItbTY4aGMxMi5jIGIvYmZkL2VsZjMyLW02OGhj MTIuYwppbmRleCBlNDFiNGM3Li5hMDRlZmQ4IDEwMDY0NAotLS0gYS9iZmQv ZWxmMzItbTY4aGMxMi5jCisrKyBiL2JmZC9lbGYzMi1tNjhoYzEyLmMKQEAg LTUzNSw2ICs1MzUsMTcgQEAgbTY4aGMxMl9lbGZfYnVpbGRfb25lX3N0dWIg KHN0cnVjdCBiZmRfaGFzaF9lbnRyeSAqZ2VuX2VudHJ5LCB2b2lkICppbl9h cmcpCiAgIHN0dWJfZW50cnkgPSAoc3RydWN0IGVsZjMyX202OGhjMTFfc3R1 Yl9oYXNoX2VudHJ5ICopIGdlbl9lbnRyeTsKICAgaW5mbyA9IChzdHJ1Y3Qg YmZkX2xpbmtfaW5mbyAqKSBpbl9hcmc7CiAKKyAgLyogRmFpbCBpZiB0aGUg dGFyZ2V0IHNlY3Rpb24gY291bGQgbm90IGJlIGFzc2lnbmVkIHRvIGFuIG91 dHB1dAorICAgICBzZWN0aW9uLiAgVGhlIHVzZXIgc2hvdWxkIGZpeCBoaXMg bGlua2VyIHNjcmlwdC4gICovCisgIGlmIChzdHViX2VudHJ5LT50YXJnZXRf c2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24gPT0gTlVMTAorICAgICAgJiYgaW5m by0+bm9uX2NvbnRpZ3VvdXNfcmVnaW9ucykKKyAgICB7CisgICAgICBfYmZk X2Vycm9yX2hhbmRsZXIgKF8oIkNvdWxkIG5vdCBhc3NpZ24gJyVwQScgdG8g YW4gb3V0cHV0IHNlY3Rpb24uICIKKwkJCSAgICAiUmV0cnkgd2l0aG91dCAt LWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25zLlxuIiksCisJCQkgIHN0 dWJfZW50cnktPnRhcmdldF9zZWN0aW9uKTsKKyAgICAgIGFib3J0KCk7Cisg ICAgfQorCiAgIGh0YWIgPSBtNjhoYzExX2VsZl9oYXNoX3RhYmxlIChpbmZv KTsKIAogICBzdHViX3NlYyA9IHN0dWJfZW50cnktPnN0dWJfc2VjOwpkaWZm IC0tZ2l0IGEvYmZkL2VsZjMyLW1ldGFnLmMgYi9iZmQvZWxmMzItbWV0YWcu YwppbmRleCAwN2U5ODU2Li4zZjMwZDZkIDEwMDY0NAotLS0gYS9iZmQvZWxm MzItbWV0YWcuYworKysgYi9iZmQvZWxmMzItbWV0YWcuYwpAQCAtMzQ1OSw3 ICszNDU5LDcgQEAgbWV0YWdfdHlwZV9vZl9zdHViIChhc2VjdGlvbiAqaW5w dXRfc2VjLAogI2RlZmluZSBNT1ZfUENfQTBfMwkweGEzMTgwY2EwCiAKIHN0 YXRpYyBiZmRfYm9vbGVhbgotbWV0YWdfYnVpbGRfb25lX3N0dWIgKHN0cnVj dCBiZmRfaGFzaF9lbnRyeSAqZ2VuX2VudHJ5LCB2b2lkICppbl9hcmcgQVRU UklCVVRFX1VOVVNFRCkKK21ldGFnX2J1aWxkX29uZV9zdHViIChzdHJ1Y3Qg YmZkX2hhc2hfZW50cnkgKmdlbl9lbnRyeSwgdm9pZCAqaW5fYXJnKQogewog ICBzdHJ1Y3QgZWxmX21ldGFnX3N0dWJfaGFzaF9lbnRyeSAqaHNoOwogICBh c2VjdGlvbiAqc3R1Yl9zZWM7CkBAIC0zNDY3LDkgKzM0NjcsMjIgQEAgbWV0 YWdfYnVpbGRfb25lX3N0dWIgKHN0cnVjdCBiZmRfaGFzaF9lbnRyeSAqZ2Vu X2VudHJ5LCB2b2lkICppbl9hcmcgQVRUUklCVVRFX1UKICAgYmZkX2J5dGUg KmxvYzsKICAgYmZkX3ZtYSBzeW1fdmFsdWU7CiAgIGludCBzaXplOworICBz dHJ1Y3QgYmZkX2xpbmtfaW5mbyAqaW5mbzsKIAogICAvKiBNYXNzYWdlIG91 ciBhcmdzIHRvIHRoZSBmb3JtIHRoZXkgcmVhbGx5IGhhdmUuICAqLwogICBo c2ggPSAoc3RydWN0IGVsZl9tZXRhZ19zdHViX2hhc2hfZW50cnkgKikgZ2Vu X2VudHJ5OworICBpbmZvID0gKHN0cnVjdCBiZmRfbGlua19pbmZvICopIGlu X2FyZzsKKworICAvKiBGYWlsIGlmIHRoZSB0YXJnZXQgc2VjdGlvbiBjb3Vs ZCBub3QgYmUgYXNzaWduZWQgdG8gYW4gb3V0cHV0CisgICAgIHNlY3Rpb24u ICBUaGUgdXNlciBzaG91bGQgZml4IGhpcyBsaW5rZXIgc2NyaXB0LiAgKi8K KyAgaWYgKGhzaC0+dGFyZ2V0X3NlY3Rpb24tPm91dHB1dF9zZWN0aW9uID09 IE5VTEwKKyAgICAgICYmIGluZm8tPm5vbl9jb250aWd1b3VzX3JlZ2lvbnMp CisgICAgeworICAgICAgX2JmZF9lcnJvcl9oYW5kbGVyIChfKCJDb3VsZCBu b3QgYXNzaWduICclcEEnIHRvIGFuIG91dHB1dCBzZWN0aW9uLiAiCisJCQkg ICAgIlJldHJ5IHdpdGhvdXQgLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVn aW9ucy5cbiIpLAorCQkJICBoc2gtPnRhcmdldF9zZWN0aW9uKTsKKyAgICAg IGFib3J0KCk7CisgICAgfQogCiAgIHN0dWJfc2VjID0gaHNoLT5zdHViX3Nl YzsKIApkaWZmIC0tZ2l0IGEvYmZkL2VsZjMyLW5pb3MyLmMgYi9iZmQvZWxm MzItbmlvczIuYwppbmRleCBmZDA1ZmIwLi5jYmE5MjcwIDEwMDY0NAotLS0g YS9iZmQvZWxmMzItbmlvczIuYworKysgYi9iZmQvZWxmMzItbmlvczIuYwpA QCAtMjQ5MCw3ICsyNDkwLDIwIEBAIG5pb3MyX2J1aWxkX29uZV9zdHViIChz dHJ1Y3QgYmZkX2hhc2hfZW50cnkgKmdlbl9lbnRyeSwgdm9pZCAqaW5fYXJn IEFUVFJJQlVURV9VCiAgICAgPSAoc3RydWN0IGVsZjMyX25pb3MyX3N0dWJf aGFzaF9lbnRyeSAqKSBnZW5fZW50cnk7CiAgIGFzZWN0aW9uICpzdHViX3Nl YyA9IGhzaC0+c3R1Yl9zZWM7CiAgIGJmZF92bWEgc3ltX3ZhbHVlOworICBz dHJ1Y3QgYmZkX2xpbmtfaW5mbyAqaW5mbzsKKworICBpbmZvID0gKHN0cnVj dCBiZmRfbGlua19pbmZvICopIGluX2FyZzsKIAorICAvKiBGYWlsIGlmIHRo ZSB0YXJnZXQgc2VjdGlvbiBjb3VsZCBub3QgYmUgYXNzaWduZWQgdG8gYW4g b3V0cHV0CisgICAgIHNlY3Rpb24uICBUaGUgdXNlciBzaG91bGQgZml4IGhp cyBsaW5rZXIgc2NyaXB0LiAgKi8KKyAgaWYgKGhzaC0+dGFyZ2V0X3NlY3Rp b24tPm91dHB1dF9zZWN0aW9uID09IE5VTEwKKyAgICAgICYmIGluZm8tPm5v bl9jb250aWd1b3VzX3JlZ2lvbnMpCisgICAgeworICAgICAgX2JmZF9lcnJv cl9oYW5kbGVyIChfKCJDb3VsZCBub3QgYXNzaWduICclcEEnIHRvIGFuIG91 dHB1dCBzZWN0aW9uLiAiCisJCQkgICAgIlJldHJ5IHdpdGhvdXQgLS1lbmFi bGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucy5cbiIpLAorCQkJICBoc2gtPnRh cmdldF9zZWN0aW9uKTsKKyAgICAgIGFib3J0KCk7CisgICAgfQogICAvKiBN YWtlIGEgbm90ZSBvZiB0aGUgb2Zmc2V0IHdpdGhpbiB0aGUgc3R1YnMgZm9y IHRoaXMgZW50cnkuICAqLwogICBoc2gtPnN0dWJfb2Zmc2V0ID0gc3R1Yl9z ZWMtPnNpemU7CiAKZGlmZiAtLWdpdCBhL2JmZC9lbGY2NC1wcGMuYyBiL2Jm ZC9lbGY2NC1wcGMuYwppbmRleCAxZWE0YzQwLi4yNDY3MWQ0IDEwMDY0NAot LS0gYS9iZmQvZWxmNjQtcHBjLmMKKysrIGIvYmZkL2VsZjY0LXBwYy5jCkBA IC0xMTM0OSw2ICsxMTM0OSwzMSBAQCBwcGNfYnVpbGRfb25lX3N0dWIgKHN0 cnVjdCBiZmRfaGFzaF9lbnRyeSAqZ2VuX2VudHJ5LCB2b2lkICppbl9hcmcp CiAgIHN0dWJfZW50cnkgPSAoc3RydWN0IHBwY19zdHViX2hhc2hfZW50cnkg KikgZ2VuX2VudHJ5OwogICBpbmZvID0gaW5fYXJnOwogCisgIC8qIEZhaWwg aWYgdGhlIHRhcmdldCBzZWN0aW9uIGNvdWxkIG5vdCBiZSBhc3NpZ25lZCB0 byBhbiBvdXRwdXQKKyAgICAgc2VjdGlvbi4gIFRoZSB1c2VyIHNob3VsZCBm aXggaGlzIGxpbmtlciBzY3JpcHQuICAqLworICBpZiAoc3R1Yl9lbnRyeS0+ dGFyZ2V0X3NlY3Rpb24gIT0gTlVMTAorICAgICAgJiYgc3R1Yl9lbnRyeS0+ dGFyZ2V0X3NlY3Rpb24tPm91dHB1dF9zZWN0aW9uID09IE5VTEwKKyAgICAg ICYmIGluZm8tPm5vbl9jb250aWd1b3VzX3JlZ2lvbnMpCisgICAgeworICAg ICAgX2JmZF9lcnJvcl9oYW5kbGVyIChfKCJDb3VsZCBub3QgYXNzaWduICcl cEEnIHRvIGFuIG91dHB1dCBzZWN0aW9uLiAiCisJCQkgICAgIlJldHJ5IHdp dGhvdXQgLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucy5cbiIpLAor CQkJICBzdHViX2VudHJ5LT50YXJnZXRfc2VjdGlvbik7CisgICAgICBhYm9y dCgpOworICAgIH0KKworICAvKiBTYW1lIGZvciB0aGUgZ3JvdXAuICAqLwor ICBpZiAoc3R1Yl9lbnRyeS0+Z3JvdXAtPnN0dWJfc2VjICE9IE5VTEwKKyAg ICAgICYmIHN0dWJfZW50cnktPmdyb3VwLT5zdHViX3NlYy0+b3V0cHV0X3Nl Y3Rpb24gPT0gTlVMTAorICAgICAgJiYgaW5mby0+bm9uX2NvbnRpZ3VvdXNf cmVnaW9ucykKKyAgICB7CisgICAgICBfYmZkX2Vycm9yX2hhbmRsZXIgKF8o IkNvdWxkIG5vdCBhc3NpZ24gZ3JvdXAgJXBBIHRhcmdldCAlcEEgdG8gYW4g IgorCQkJICAgICJvdXRwdXQgc2VjdGlvbi4gUmV0cnkgd2l0aG91dCAiCisJ CQkgICAgIi0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMuXG4iKSwK KwkJCSAgc3R1Yl9lbnRyeS0+Z3JvdXAtPnN0dWJfc2VjLAorCQkJICBzdHVi X2VudHJ5LT50YXJnZXRfc2VjdGlvbik7CisgICAgICBhYm9ydCgpOworICAg IH0KKwogICBodGFiID0gcHBjX2hhc2hfdGFibGUgKGluZm8pOwogICBpZiAo aHRhYiA9PSBOVUxMKQogICAgIHJldHVybiBGQUxTRTsKQEAgLTExODc0LDYg KzExODk5LDMxIEBAIHBwY19zaXplX29uZV9zdHViIChzdHJ1Y3QgYmZkX2hh c2hfZW50cnkgKmdlbl9lbnRyeSwgdm9pZCAqaW5fYXJnKQogICBpZiAoaHRh YiA9PSBOVUxMKQogICAgIHJldHVybiBGQUxTRTsKIAorICAvKiBGYWlsIGlm IHRoZSB0YXJnZXQgc2VjdGlvbiBjb3VsZCBub3QgYmUgYXNzaWduZWQgdG8g YW4gb3V0cHV0CisgICAgIHNlY3Rpb24uICBUaGUgdXNlciBzaG91bGQgZml4 IGhpcyBsaW5rZXIgc2NyaXB0LiAgKi8KKyAgaWYgKHN0dWJfZW50cnktPnRh cmdldF9zZWN0aW9uICE9IE5VTEwKKyAgICAgICYmIHN0dWJfZW50cnktPnRh cmdldF9zZWN0aW9uLT5vdXRwdXRfc2VjdGlvbiA9PSBOVUxMCisgICAgICAm JiBpbmZvLT5ub25fY29udGlndW91c19yZWdpb25zKQorICAgIHsKKyAgICAg IF9iZmRfZXJyb3JfaGFuZGxlciAoXygiQ291bGQgbm90IGFzc2lnbiAlcEEg dG8gYW4gb3V0cHV0IHNlY3Rpb24uICIKKwkJCSAgICAiUmV0cnkgd2l0aG91 dCAtLWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25zLlxuIiksCisJCQkg IHN0dWJfZW50cnktPnRhcmdldF9zZWN0aW9uKTsKKyAgICAgIGFib3J0KCk7 CisgICAgfQorCisgIC8qIFNhbWUgZm9yIHRoZSBncm91cC4gICovCisgIGlm IChzdHViX2VudHJ5LT5ncm91cC0+c3R1Yl9zZWMgIT0gTlVMTAorICAgICAg JiYgc3R1Yl9lbnRyeS0+Z3JvdXAtPnN0dWJfc2VjLT5vdXRwdXRfc2VjdGlv biA9PSBOVUxMCisgICAgICAmJiBpbmZvLT5ub25fY29udGlndW91c19yZWdp b25zKQorICAgIHsKKyAgICAgIF9iZmRfZXJyb3JfaGFuZGxlciAoXygiQ291 bGQgbm90IGFzc2lnbiBncm91cCAlcEEgdGFyZ2V0ICVwQSB0byBhbiAiCisJ CQkgICAgIm91dHB1dCBzZWN0aW9uLiBSZXRyeSB3aXRob3V0ICIKKwkJCSAg ICAiLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucy5cbiIpLAorCQkJ ICBzdHViX2VudHJ5LT5ncm91cC0+c3R1Yl9zZWMsCisJCQkgIHN0dWJfZW50 cnktPnRhcmdldF9zZWN0aW9uKTsKKyAgICAgIGFib3J0KCk7CisgICAgfQor CiAgIC8qIE1ha2UgYSBub3RlIG9mIHRoZSBvZmZzZXQgd2l0aGluIHRoZSBz dHVicyBmb3IgdGhpcyBlbnRyeS4gICovCiAgIHN0dWJfZW50cnktPnN0dWJf b2Zmc2V0ID0gc3R1Yl9lbnRyeS0+Z3JvdXAtPnN0dWJfc2VjLT5zaXplOwog CmRpZmYgLS1naXQgYS9iZmQvZWxmbGluay5jIGIvYmZkL2VsZmxpbmsuYwpp bmRleCA4ZTdhZTJhLi5hOGY1NWEwIDEwMDY0NAotLS0gYS9iZmQvZWxmbGlu ay5jCisrKyBiL2JmZC9lbGZsaW5rLmMKQEAgLTEwNTYxLDYgKzEwNTYxLDE4 IEBAIGVsZl9saW5rX2lucHV0X2JmZCAoc3RydWN0IGVsZl9maW5hbF9saW5r X2luZm8gKmZsaW5mbywgYmZkICppbnB1dF9iZmQpCiAJIGRpc2NhcmRpbmcs IHdlIGRvbid0IG5lZWQgdG8ga2VlcCBpdC4gICovCiAgICAgICBpZiAoaXN5 bS0+c3Rfc2huZHggIT0gU0hOX1VOREVGCiAJICAmJiBpc3ltLT5zdF9zaG5k eCA8IFNITl9MT1JFU0VSVkUKKwkgICYmIGlzZWMtPm91dHB1dF9zZWN0aW9u ID09IE5VTEwKKwkgICYmIGZsaW5mby0+aW5mby0+bm9uX2NvbnRpZ3VvdXNf cmVnaW9ucworCSAgJiYgZmxpbmZvLT5pbmZvLT5ub25fY29udGlndW91c19y ZWdpb25zX3dhcm5pbmdzKQorCXsKKwkgIF9iZmRfZXJyb3JfaGFuZGxlciAo Xygid2FybmluZzogLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucyAi CisJCQkJImRpc2NhcmRzIHNlY3Rpb24gYCVzJyBmcm9tICclcydcbiIpLAor CQkJICAgICAgaXNlYy0+bmFtZSwgaXNlYy0+b3duZXItPmZpbGVuYW1lKTsK KwkgIGNvbnRpbnVlOworCX0KKworICAgICAgaWYgKGlzeW0tPnN0X3NobmR4 ICE9IFNITl9VTkRFRgorCSAgJiYgaXN5bS0+c3Rfc2huZHggPCBTSE5fTE9S RVNFUlZFCiAJICAmJiBiZmRfc2VjdGlvbl9yZW1vdmVkX2Zyb21fbGlzdCAo b3V0cHV0X2JmZCwKIAkJCQkJICAgIGlzZWMtPm91dHB1dF9zZWN0aW9uKSkK IAljb250aW51ZTsKZGlmZiAtLWdpdCBhL2JmZC9lbGZubi1hYXJjaDY0LmMg Yi9iZmQvZWxmbm4tYWFyY2g2NC5jCmluZGV4IDIxOTFiNWQuLjA5MmEwNmIg MTAwNjQ0Ci0tLSBhL2JmZC9lbGZubi1hYXJjaDY0LmMKKysrIGIvYmZkL2Vs Zm5uLWFhcmNoNjQuYwpAQCAtMzI3OCw3ICszMjc4LDcgQEAgX2JmZF9hYXJj aDY0X2FkZF9zdHViX2VudHJ5X2FmdGVyIChjb25zdCBjaGFyICpzdHViX25h bWUsCiAKIHN0YXRpYyBiZmRfYm9vbGVhbgogYWFyY2g2NF9idWlsZF9vbmVf c3R1YiAoc3RydWN0IGJmZF9oYXNoX2VudHJ5ICpnZW5fZW50cnksCi0JCQl2 b2lkICppbl9hcmcgQVRUUklCVVRFX1VOVVNFRCkKKwkJCXZvaWQgKmluX2Fy ZykKIHsKICAgc3RydWN0IGVsZl9hYXJjaDY0X3N0dWJfaGFzaF9lbnRyeSAq c3R1Yl9lbnRyeTsKICAgYXNlY3Rpb24gKnN0dWJfc2VjOwpAQCAtMzI5MSwx MCArMzI5MSwyNCBAQCBhYXJjaDY0X2J1aWxkX29uZV9zdHViIChzdHJ1Y3Qg YmZkX2hhc2hfZW50cnkgKmdlbl9lbnRyeSwKICAgdW5zaWduZWQgaW50IHRl bXBsYXRlX3NpemU7CiAgIGNvbnN0IHVpbnQzMl90ICp0ZW1wbGF0ZTsKICAg dW5zaWduZWQgaW50IGk7CisgIHN0cnVjdCBiZmRfbGlua19pbmZvICppbmZv OwogCiAgIC8qIE1hc3NhZ2Ugb3VyIGFyZ3MgdG8gdGhlIGZvcm0gdGhleSBy ZWFsbHkgaGF2ZS4gICovCiAgIHN0dWJfZW50cnkgPSAoc3RydWN0IGVsZl9h YXJjaDY0X3N0dWJfaGFzaF9lbnRyeSAqKSBnZW5fZW50cnk7CiAKKyAgaW5m byA9IChzdHJ1Y3QgYmZkX2xpbmtfaW5mbyAqKSBpbl9hcmc7CisKKyAgLyog RmFpbCBpZiB0aGUgdGFyZ2V0IHNlY3Rpb24gY291bGQgbm90IGJlIGFzc2ln bmVkIHRvIGFuIG91dHB1dAorICAgICBzZWN0aW9uLiAgVGhlIHVzZXIgc2hv dWxkIGZpeCBoaXMgbGlua2VyIHNjcmlwdC4gICovCisgIGlmIChzdHViX2Vu dHJ5LT50YXJnZXRfc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24gPT0gTlVMTAor ICAgICAgJiYgaW5mby0+bm9uX2NvbnRpZ3VvdXNfcmVnaW9ucykKKyAgICB7 CisgICAgICBfYmZkX2Vycm9yX2hhbmRsZXIgKF8oIkNvdWxkIG5vdCBhc3Np Z24gJyVwQScgdG8gYW4gb3V0cHV0IHNlY3Rpb24uICIKKwkJCSAgICAiUmV0 cnkgd2l0aG91dCAtLWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25zLlxu IiksCisJCQkgIHN0dWJfZW50cnktPnRhcmdldF9zZWN0aW9uKTsKKyAgICAg IGFib3J0KCk7CisgICAgfQorCiAgIHN0dWJfc2VjID0gc3R1Yl9lbnRyeS0+ c3R1Yl9zZWM7CiAKICAgLyogTWFrZSBhIG5vdGUgb2YgdGhlIG9mZnNldCB3 aXRoaW4gdGhlIHN0dWJzIGZvciB0aGlzIGVudHJ5LiAgKi8KZGlmZiAtLWdp dCBhL2JmZC9zZWN0aW9uLmMgYi9iZmQvc2VjdGlvbi5jCmluZGV4IDdkZTBh MmQuLmVlZjExOGYgMTAwNjQ0Ci0tLSBhL2JmZC9zZWN0aW9uLmMKKysrIGIv YmZkL3NlY3Rpb24uYwpAQCAtNTUxLDYgKzU1MSwxMCBAQCBDT0RFX0ZSQUdN RU5UCiAuICAgIHN0cnVjdCBiZmRfc2VjdGlvbiAqczsKIC4gICAgY29uc3Qg Y2hhciAqbGlua2VkX3RvX3N5bWJvbF9uYW1lOwogLiAgfSBtYXBfaGVhZCwg bWFwX3RhaWw7CisuIHsqIFBvaW50cyB0byB0aGUgb3V0cHV0IHNlY3Rpb24g dGhpcyBzZWN0aW9uIGlzIGFscmVhZHkgYXNzaWduZWQgdG8sIGlmIGFueS4K Ky4gICAgVGhpcyBpcyB1c2VkIHdoZW4gc3VwcG9ydCBmb3Igbm9uLWNvbnRp Z3VvdXMgbWVtb3J5IHJlZ2lvbnMgaXMgZW5hYmxlZC4gICp9CisuIHN0cnVj dCBiZmRfc2VjdGlvbiAqYWxyZWFkeV9hc3NpZ25lZDsKKy4KIC59IGFzZWN0 aW9uOwogLgogLnsqIFJlbGF4IHRhYmxlIGNvbnRhaW5zIGluZm9ybWF0aW9u IGFib3V0IGluc3RydWN0aW9ucyB3aGljaCBjYW4KQEAgLTczMiw3ICs3MzYs MTAgQEAgQ09ERV9GUkFHTUVOVAogLiAgICAgKHN0cnVjdCBiZmRfc3ltYm9s ICopIFNZTSwgJlNFQy5zeW1ib2wsCQkJCVwKIC4JCQkJCQkJCQlcCiAuICB7 KiBtYXBfaGVhZCwgbWFwX3RhaWwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICp9CVwKLS4gICAgIHsgTlVMTCB9LCB7IE5V TEwgfQkJCQkJCVwKKy4gICAgIHsgTlVMTCB9LCB7IE5VTEwgfSwJCQkJCQlc CisuCQkJCQkJCQkJXAorLiAgeyogYWxyZWFkeV9hc3NpZ25lZCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICp9CVwKKy4g ICAgIE5VTEwJCQkJCQkJCVwKIC4gICAgfQogLgogLnsqIFdlIHVzZSBhIG1h Y3JvIHRvIGluaXRpYWxpemUgdGhlIHN0YXRpYyBhc3ltYm9sIHN0cnVjdHVy ZXMgYmVjYXVzZQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9iZmRsaW5rLmggYi9p bmNsdWRlL2JmZGxpbmsuaAppbmRleCA4ZDg1NTMwLi41MjllYTZlIDEwMDY0 NAotLS0gYS9pbmNsdWRlL2JmZGxpbmsuaAorKysgYi9pbmNsdWRlL2JmZGxp bmsuaApAQCAtNTAxLDYgKzUwMSwxNCBAQCBzdHJ1Y3QgYmZkX2xpbmtfaW5m bwogICAvKiBUUlVFIGlmICItTWFwIG1hcCIgaXMgcGFzc2VkIHRvIGxpbmtl ci4gICovCiAgIHVuc2lnbmVkIGludCBoYXNfbWFwX2ZpbGUgOiAxOwogCisg IC8qIFRSVUUgaWYgIi0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMi IGlzIHBhc3NlZCB0byB0aGUKKyAgICAgbGlua2VyLiAgKi8KKyAgdW5zaWdu ZWQgaW50IG5vbl9jb250aWd1b3VzX3JlZ2lvbnMgOiAxOworCisgIC8qIFRS VUUgaWYgIi0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMtd2Fybmlu Z3MiIGlzIHBhc3NlZCB0bworICAgICB0aGUgbGlua2VyLiAgKi8KKyAgdW5z aWduZWQgaW50IG5vbl9jb250aWd1b3VzX3JlZ2lvbnNfd2FybmluZ3MgOiAx OworCiAgIC8qIENoYXIgdGhhdCBtYXkgYXBwZWFyIGFzIHRoZSBmaXJzdCBj aGFyIG9mIGEgc3ltYm9sLCBidXQgc2hvdWxkIGJlCiAgICAgIHNraXBwZWQg KGxpa2Ugc3ltYm9sX2xlYWRpbmdfY2hhcikgd2hlbiBsb29raW5nIHVwIHN5 bWJvbHMgaW4KICAgICAgd3JhcF9oYXNoLiAgVXNlZCBieSBQb3dlclBDIExp bnV4IGZvciAnZG90JyBzeW1ib2xzLiAgKi8KZGlmZiAtLWdpdCBhL2xkL05F V1MgYi9sZC9ORVdTCmluZGV4IGY2NTljY2YuLjI2MTFhM2UgMTAwNjQ0Ci0t LSBhL2xkL05FV1MKKysrIGIvbGQvTkVXUwpAQCAtMSw1ICsxLDggQEAKIC0q LSB0ZXh0IC0qLQogCisqIEFkZCBjb21tYW5kLWxpbmUgb3B0aW9ucyAtLWVu YWJsZS1ub24tY29udGlndW91cy1yZWdpb25zIGFuZAorICAtLWVuYWJsZS1u b24tY29udGlndW91cy1yZWdpb25zLXdhcm5pbmdzLgorCiBDaGFuZ2VzIGlu IDIuMzQ6CiAKICogY3IxNmMgc3VwcG9ydCByZW1vdmVkLgpkaWZmIC0tZ2l0 IGEvbGQvZW11bHRlbXBsL2FybWVsZi5lbSBiL2xkL2VtdWx0ZW1wbC9hcm1l bGYuZW0KaW5kZXggZWZkY2Y1YS4uZmI1YmJmOCAxMDA2NDQKLS0tIGEvbGQv ZW11bHRlbXBsL2FybWVsZi5lbQorKysgYi9sZC9lbXVsdGVtcGwvYXJtZWxm LmVtCkBAIC0yMjcsNyArMjI3LDggQEAgZWxmMzJfYXJtX2FkZF9zdHViX3Nl Y3Rpb24gKGNvbnN0IGNoYXIgKiBzdHViX3NlY19uYW1lLAogICBzdHJ1Y3Qg aG9va19zdHViX2luZm8gaW5mbzsKIAogICBmbGFncyA9IChTRUNfQUxMT0Mg fCBTRUNfTE9BRCB8IFNFQ19SRUFET05MWSB8IFNFQ19DT0RFCi0JICAgfCBT RUNfSEFTX0NPTlRFTlRTIHwgU0VDX1JFTE9DIHwgU0VDX0lOX01FTU9SWSB8 IFNFQ19LRUVQKTsKKwkgICB8IFNFQ19IQVNfQ09OVEVOVFMgfCBTRUNfUkVM T0MgfCBTRUNfSU5fTUVNT1JZIHwgU0VDX0tFRVAKKwkgICB8IFNFQ19MSU5L RVJfQ1JFQVRFRCk7CiAgIHN0dWJfc2VjID0gYmZkX21ha2Vfc2VjdGlvbl9h bnl3YXlfd2l0aF9mbGFncyAoc3R1Yl9maWxlLT50aGVfYmZkLAogCQkJCQkJ IHN0dWJfc2VjX25hbWUsIGZsYWdzKTsKICAgaWYgKHN0dWJfc2VjID09IE5V TEwpCmRpZmYgLS1naXQgYS9sZC9lbXVsdGVtcGwveHRlbnNhZWxmLmVtIGIv bGQvZW11bHRlbXBsL3h0ZW5zYWVsZi5lbQppbmRleCAxYWNhN2I3Li43NGJk MTFjIDEwMDY0NAotLS0gYS9sZC9lbXVsdGVtcGwveHRlbnNhZWxmLmVtCisr KyBiL2xkL2VtdWx0ZW1wbC94dGVuc2FlbGYuZW0KQEAgLTEyMjQsNiArMTIy NCwxMiBAQCBsZF9idWlsZF9yZXF1aXJlZF9zZWN0aW9uX2RlcGVuZGVuY2Ug KGxhbmdfc3RhdGVtZW50X3VuaW9uX3R5cGUgKnMpCiAgICAgewogICAgICAg bGFuZ19zdGF0ZW1lbnRfdW5pb25fdHlwZSAqbCA9IGl0ZXJfc3RhY2tfY3Vy cmVudCAoJnN0YWNrKTsKIAorICAgICAgaWYgKGwgPT0gTlVMTCAmJiBsaW5r X2luZm8ubm9uX2NvbnRpZ3VvdXNfcmVnaW9ucykKKwl7CisJICBlaW5mbyAo XygiUmVsYXhhdGlvbiBub3Qgc3VwcG9ydGVkIHdpdGggLS1lbmFibGUtbm9u LWNvbnRpZ3VvdXMtcmVnaW9ucy5cbiIpKTsKKwkgIGFib3J0KCk7CisJfQor CiAgICAgICBpZiAobC0+aGVhZGVyLnR5cGUgPT0gbGFuZ19pbnB1dF9zZWN0 aW9uX2VudW0pCiAJewogCSAgbGFuZ19pbnB1dF9zZWN0aW9uX3R5cGUgKmlu cHV0OwpkaWZmIC0tZ2l0IGEvbGQvbGQudGV4aSBiL2xkL2xkLnRleGkKaW5k ZXggOWJiM2Q1NS4uMDc5MzNiMiAxMDA2NDQKLS0tIGEvbGQvbGQudGV4aQor KysgYi9sZC9sZC50ZXhpCkBAIC00NTksNiArNDU5LDQ4IEBAIHdpbGwgY29u dGFpbiBhIGNvbG9uIHNlcGFyYXRlZCBsaXN0IG9mIGF1ZGl0IGludGVyZmFj ZXMgdG8gdXNlLiAgVGhpcwogb3B0aW9uIGlzIG9ubHkgbWVhbmluZ2Z1bCBv biBFTEYgcGxhdGZvcm1zIHN1cHBvcnRpbmcgdGhlIHJ0bGQtYXVkaXQgaW50 ZXJmYWNlLgogVGhlIC1QIG9wdGlvbiBpcyBwcm92aWRlZCBmb3IgU29sYXJp cyBjb21wYXRpYmlsaXR5LgogCitAa2luZGV4IC0tZW5hYmxlLW5vbi1jb250 aWd1b3VzLXJlZ2lvbnMKK0BpdGVtIC0tZW5hYmxlLW5vbi1jb250aWd1b3Vz LXJlZ2lvbnMKK1RoaXMgb3B0aW9uIGF2b2lkcyBnZW5lcmF0aW5nIGFuIGVy cm9yIGlmIGFuIGlucHV0IHNlY3Rpb24gZG9lcyBub3QKK2ZpdCBhIG1hdGNo aW5nIG91dHB1dCBzZWN0aW9uLiBUaGUgbGlua2VyIHRyaWVzIHRvIGFsbG9j YXRlIHRoZSBpbnB1dAorc2VjdGlvbiB0byBzdWJzZXF1ZSBudCBtYXRjaGlu ZyBvdXRwdXQgc2VjdGlvbnMsIGFuZCBnZW5lcmF0ZXMgYW4KK2Vycm9yIG9u bHkgaWYgbm8gb3V0cHV0IHNlY3Rpb24gaXMgbGFyZ2UgZW5vdWdoLiAgVGhp cyBpcyB1c2VmdWwgd2hlbgorc2V2ZXJhbCBub24tY29udGlndW91cyBtZW1v cnkgcmVnaW9ucyBhcmUgYXZhaWxhYmxlIGFuZCB0aGUgaW5wdXQKK3NlY3Rp b24gZG9lcyBub3QgcmVxdWlyZSBhIHBhcnRpY3VsYXIgb25lLiAgVGhlIG9y ZGVyIGluIHdoaWNoIGlucHV0CitzZWN0aW9ucyBhcmUgZXZhbHVhdGVkIGRv ZXMgbm90IGNoYW5nZSwgZm9yIGluc3RhbmNlOgorCitAc21hbGxleGFtcGxl CisgIE1FTU9SWSBAeworICAgIE1FTTEgKHJ3eCkgOiBPUklHSU4gOiAweDEw MDAsIExFTkdUSCA9IDB4MTQKKyAgICBNRU0yIChyd3gpIDogT1JJR0lOIDog MHgxMDAwLCBMRU5HVEggPSAweDQwCisgICAgTUVNMyAocnd4KSA6IE9SSUdJ TiA6IDB4MjAwMCwgTEVOR1RIID0gMHg0MAorICBAfQorICBTRUNUSU9OUyBA eworICAgIG1lbTEgOiBAeyAqKC5kYXRhLiopOyBAfSA+IE1FTTEKKyAgICBt ZW0yIDogQHsgKiguZGF0YS4qKTsgQH0gPiBNRU0yCisgICAgbWVtMyA6IEB7 ICooLmRhdGEuKik7IEB9ID4gTUVNMgorICBAfQorCisgIHdpdGggaW5wdXQg c2VjdGlvbnM6CisgIC5kYXRhLjE6IHNpemUgOAorICAuZGF0YS4yOiBzaXpl IDB4MTAKKyAgLmRhdGEuMzogc2l6ZSA0CisKKyAgcmVzdWx0cyBpbiAuZGF0 YS4xIGFmZmVjdGVkIHRvIG1lbTEsIGFuZCAuZGF0YS4yIGFuZCAuZGF0YS4z CisgIGFmZmVjdGVkIHRvIG1lbTIsIGV2ZW4gdGhvdWdoIC5kYXRhLjMgd291 bGQgZml0IGluIG1lbTMuCitAZW5kIHNtYWxsZXhhbXBsZQorCitUaGlzIG9w dGlvbiBpcyBpbmNvbXBhdGlibGUgd2l0aCBJTlNFUlQgc3RhdGVtZW50cyBi ZWNhdXNlIGl0IGNoYW5nZXMKK3RoZSB3YXkgaW5wdXQgc2VjdGlvbnMgYXJl IG1hcHBlZCB0byBvdXRwdXQgc2VjdGlvbnMuCisKK0BraW5kZXggLS1lbmFi bGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucy13YXJuaW5ncworQGl0ZW0gLS1l bmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucy13YXJuaW5ncworVGhpcyBv cHRpb24gZW5hYmxlcyB3YXJuaW5ncyB3aGVuCitAY29kZXstLWVuYWJsZS1u b24tY29udGlndW91cy1yZWdpb25zfSBhbGxvd3MgcG9zc2libHkgdW5leHBl Y3RlZAorbWF0Y2hlcyBpbiBzZWN0aW9ucyBtYXBwaW5nLCBwb3RlbnRpYWxs eSBsZWFkaW5nIHRvIHNpbGVudGx5CitkaXNjYXJkaW5nIGEgc2VjdGlvbiBp bnN0ZWFkIG9mIGZhaWxpbmcgYmVjYXVzZSBpdCBkb2VzIG5vdCBmaXQgYW55 CitvdXRwdXQgcmVnaW9uLgorCiBAY2luZGV4IGVudHJ5IHBvaW50LCBmcm9t IGNvbW1hbmQgbGluZQogQGtpbmRleCAtZSBAdmFye2VudHJ5fQogQGtpbmRl eCAtLWVudHJ5PUB2YXJ7ZW50cnl9CmRpZmYgLS1naXQgYS9sZC9sZGxhbmcu YyBiL2xkL2xkbGFuZy5jCmluZGV4IDUyOGVkMjIuLjgzZDQyYTYgMTAwNjQ0 Ci0tLSBhL2xkL2xkbGFuZy5jCisrKyBiL2xkL2xkbGFuZy5jCkBAIC0yNTM3 LDYgKzI1MzcsMTEgQEAgbGFuZ19hZGRfc2VjdGlvbiAobGFuZ19zdGF0ZW1l bnRfbGlzdF90eXBlICpwdHIsCiAJICAvKiBUaGlzIHByZXZlbnRzIGZ1dHVy ZSBjYWxscyBmcm9tIGFzc2lnbmluZyB0aGlzIHNlY3Rpb24uICAqLwogCSAg c2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24gPSBiZmRfYWJzX3NlY3Rpb25fcHRy OwogCX0KKyAgICAgIGVsc2UgaWYgKGxpbmtfaW5mby5ub25fY29udGlndW91 c19yZWdpb25zX3dhcm5pbmdzKQorCWVpbmZvIChfKCIlUDolcFM6IHdhcm5p bmc6IC0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMgbWFrZXMgIgor CQkgInNlY3Rpb24gYCVwQScgZnJvbSAnJXBCJyBtYXRjaCAvRElTQ0FSRC8g Y2xhdXNlLlxuIiksCisJICAgICAgIE5VTEwsIHNlY3Rpb24sIHNlY3Rpb24t Pm93bmVyKTsKKwogICAgICAgcmV0dXJuOwogICAgIH0KIApAQCAtMjU1MCw3 ICsyNTU1LDMzIEBAIGxhbmdfYWRkX3NlY3Rpb24gKGxhbmdfc3RhdGVtZW50 X2xpc3RfdHlwZSAqcHRyLAogICAgIH0KIAogICBpZiAoc2VjdGlvbi0+b3V0 cHV0X3NlY3Rpb24gIT0gTlVMTCkKLSAgICByZXR1cm47CisgICAgeworICAg ICAgaWYgKCFsaW5rX2luZm8ubm9uX2NvbnRpZ3VvdXNfcmVnaW9ucykKKwly ZXR1cm47CisKKyAgICAgIC8qIFNFQ1RJT04gaGFzIGFscmVhZHkgYmVlbiBo YW5kbGVkIGluIGEgc3BlY2lhbCB3YXkKKwkgKGVnLiBMSU5LX09OQ0UpOiBz a2lwIGl0LiAgKi8KKyAgICAgIGlmIChiZmRfaXNfYWJzX3NlY3Rpb24gKHNl Y3Rpb24tPm91dHB1dF9zZWN0aW9uKSkKKwlyZXR1cm47CisKKyAgICAgIC8q IEFscmVhZHkgYXNzaWduZWQgdG8gdGhlIHNhbWUgb3V0cHV0IHNlY3Rpb24s IGRvIG5vdCBwcm9jZXNzCisJIGl0IGFnYWluLCB0byBhdm9pZCBjcmVhdGlu ZyBsb29wcyBiZXR3ZWVuIGR1cGxpY2F0ZSBzZWN0aW9ucworCSBsYXRlci4g ICovCisgICAgICBpZiAoc2VjdGlvbi0+b3V0cHV0X3NlY3Rpb24gPT0gb3V0 cHV0LT5iZmRfc2VjdGlvbikKKwlyZXR1cm47CisKKyAgICAgIGlmIChsaW5r X2luZm8ubm9uX2NvbnRpZ3VvdXNfcmVnaW9uc193YXJuaW5ncyAmJiBvdXRw dXQtPmJmZF9zZWN0aW9uKQorCWVpbmZvIChfKCIlUDolcFM6IHdhcm5pbmc6 IC0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMgbWF5ICIKKwkJICJj aGFuZ2UgYmVoYXZpb3VyIGZvciBzZWN0aW9uIGAlcEEnIGZyb20gJyVwQicg KGFzc2lnbmVkIHRvICIKKwkJICIlcEEsIGJ1dCBhZGRpdGlvbmFsIG1hdGNo OiAlcEEpXG4iKSwKKwkgICAgICAgTlVMTCwgc2VjdGlvbiwgc2VjdGlvbi0+ b3duZXIsIHNlY3Rpb24tPm91dHB1dF9zZWN0aW9uLAorCSAgICAgICBvdXRw dXQtPmJmZF9zZWN0aW9uKTsKKworICAgICAgLyogU0VDVElPTiBoYXMgYWxy ZWFkeSBiZWVuIGFzc2lnbmVkIHRvIGFuIG91dHB1dCBzZWN0aW9uLCBidXQK KwkgdGhlIHVzZXIgYWxsb3dzIGl0IHRvIGJlIG1hcHBlZCB0byBhbm90aGVy IG9uZSBpbiBjYXNlIGl0CisJIG92ZXJmbG93cy4gV2UnbGwgbGF0ZXIgdXBk YXRlIHRoZSBhY3R1YWwgb3V0cHV0IHNlY3Rpb24gaW4KKwkgc2l6ZV9pbnB1 dF9zZWN0aW9uIGFzIGFwcHJvcHJpYXRlLiAgKi8KKyAgICB9CiAKICAgLyog V2UgZG9uJ3QgY29weSB0aGUgU0VDX05FVkVSX0xPQUQgZmxhZyBmcm9tIGFu IGlucHV0IHNlY3Rpb24KICAgICAgdG8gYW4gb3V0cHV0IHNlY3Rpb24sIGJl Y2F1c2Ugd2Ugd2FudCB0byBiZSBhYmxlIHRvIGluY2x1ZGUgYQpAQCAtNDE5 NCw2ICs0MjI1LDEyIEBAIHByb2Nlc3NfaW5zZXJ0X3N0YXRlbWVudHMgKGxh bmdfc3RhdGVtZW50X3VuaW9uX3R5cGUgKipzdGFydCkKIAkgIGxhbmdfc3Rh dGVtZW50X3VuaW9uX3R5cGUgKipwdHI7CiAJICBsYW5nX3N0YXRlbWVudF91 bmlvbl90eXBlICpmaXJzdDsKIAorCSAgaWYgKGxpbmtfaW5mby5ub25fY29u dGlndW91c19yZWdpb25zKQorCSAgICB7CisJICAgICAgZWluZm8gKF8oIndh cm5pbmc6IElOU0VSVCBzdGF0ZW1lbnQgaW4gbGlua2VyIHNjcmlwdCBpcyAi CisJCSAgICAgICAiaW5jb21wYXRpYmxlIHdpdGggLS1lbmFibGUtbm9uLWNv bnRpZ3VvdXMtcmVnaW9ucy5cbiIpKTsKKwkgICAgfQorCiAJICB3aGVyZSA9 IGxhbmdfb3V0cHV0X3NlY3Rpb25fZmluZCAoaS0+d2hlcmUpOwogCSAgaWYg KHdoZXJlICE9IE5VTEwgJiYgaS0+aXNfYmVmb3JlKQogCSAgICB7CkBAIC01 MTE2LDExICs1MTUzLDI3IEBAIHNpemVfaW5wdXRfc2VjdGlvbgogICAobGFu Z19zdGF0ZW1lbnRfdW5pb25fdHlwZSAqKnRoaXNfcHRyLAogICAgbGFuZ19v dXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnRfdHlwZSAqb3V0cHV0X3NlY3Rpb25f c3RhdGVtZW50LAogICAgZmlsbF90eXBlICpmaWxsLAorICAgYmZkX2Jvb2xl YW4gKnJlbW92ZWQsCiAgICBiZmRfdm1hIGRvdCkKIHsKICAgbGFuZ19pbnB1 dF9zZWN0aW9uX3R5cGUgKmlzID0gJigoKnRoaXNfcHRyKS0+aW5wdXRfc2Vj dGlvbik7CiAgIGFzZWN0aW9uICppID0gaXMtPnNlY3Rpb247CiAgIGFzZWN0 aW9uICpvID0gb3V0cHV0X3NlY3Rpb25fc3RhdGVtZW50LT5iZmRfc2VjdGlv bjsKKyAgKnJlbW92ZWQgPSAwOworCisgIGlmIChsaW5rX2luZm8ubm9uX2Nv bnRpZ3VvdXNfcmVnaW9ucykKKyAgICB7CisgICAgICAvKiBJZiB0aGUgaW5w dXQgc2VjdGlvbiBJIGhhcyBhbHJlYWR5IGJlZW4gc3VjY2Vzc2Z1bGx5IGFz c2lnbmVkCisJIHRvIGFuIG91dHB1dCBzZWN0aW9uIG90aGVyIHRoYW4gTywg ZG9uJ3QgYm90aGVyIHdpdGggaXQgYW5kCisJIGxldCB0aGUgY2FsbGVyIHJl bW92ZSBpdCBmcm9tIHRoZSBsaXN0LiAgS2VlcCBwcm9jZXNzaW5nIGluCisJ IGNhc2Ugd2UgaGF2ZSBhbHJlYWR5IGhhbmRsZWQgTywgYmVjYXVzZSB0aGUg cmVwZWF0ZWQgcGFzc2VzCisJIGhhdmUgcmVpbml0aWFsaXplZCBpdHMgc2l6 ZS4gICovCisgICAgICBpZiAoaS0+YWxyZWFkeV9hc3NpZ25lZCAmJiBpLT5h bHJlYWR5X2Fzc2lnbmVkICE9IG8pCisJeworCSAgKnJlbW92ZWQgPSAxOwor CSAgcmV0dXJuIGRvdDsKKwl9CisgICAgfQogCiAgIGlmIChpLT5zZWNfaW5m b190eXBlID09IFNFQ19JTkZPX1RZUEVfSlVTVF9TWU1TKQogICAgIGktPm91 dHB1dF9vZmZzZXQgPSBpLT52bWEgLSBvLT52bWE7CkBAIC01MTUyLDYgKzUy MDUsNDIgQEAgc2l6ZV9pbnB1dF9zZWN0aW9uCiAJICBkb3QgKz0gYWxpZ25t ZW50X25lZWRlZDsKIAl9CiAKKyAgICAgIGlmIChsaW5rX2luZm8ubm9uX2Nv bnRpZ3VvdXNfcmVnaW9ucykKKwl7CisJICAvKiBJZiBJIHdvdWxkIG92ZXJm bG93IE8sIGxldCB0aGUgY2FsbGVyIHJlbW92ZSBJIGZyb20gdGhlCisJICAg ICBsaXN0LiAgKi8KKwkgIGlmIChvdXRwdXRfc2VjdGlvbl9zdGF0ZW1lbnQt PnJlZ2lvbikKKwkgICAgeworCSAgICAgIGJmZF92bWEgZW5kID0gb3V0cHV0 X3NlY3Rpb25fc3RhdGVtZW50LT5yZWdpb24tPm9yaWdpbgorCQkrIG91dHB1 dF9zZWN0aW9uX3N0YXRlbWVudC0+cmVnaW9uLT5sZW5ndGg7CisKKwkgICAg ICBpZiAoZG90ICsgVE9fQUREUiAoaS0+c2l6ZSkgPiBlbmQpCisJCXsKKwkJ ICBpZiAoaS0+ZmxhZ3MgJiBTRUNfTElOS0VSX0NSRUFURUQpCisJCSAgICB7 CisJCSAgICAgIGVpbmZvIChfKCJPdXRwdXQgc2VjdGlvbiAnJXMnIG5vdCBs YXJnZSBlbm91Z2ggZm9yIHRoZSAiCisJCQkgICAgICAgImxpbmtlci1jcmVh dGVkIHN0dWJzIHNlY3Rpb24gJyVzJy5cbiIpLAorCQkJICAgICBpLT5vdXRw dXRfc2VjdGlvbi0+bmFtZSwgaS0+bmFtZSk7CisJCSAgICAgIGFib3J0KCk7 CisJCSAgICB9CisKKwkJICBpZiAoaS0+cmF3c2l6ZSAmJiBpLT5yYXdzaXpl ICE9IGktPnNpemUpCisJCSAgICB7CisJCSAgICAgIGVpbmZvIChfKCJSZWxh eGF0aW9uIG5vdCBzdXBwb3J0ZWQgd2l0aCAiCisJCQkgICAgICAgIi0tZW5h YmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMgKHNlY3Rpb24gJyVzJyAiCisJ CQkgICAgICAgIndvdWxkIG92ZXJmbG93ICclcycgYWZ0ZXIgaXQgY2hhbmdl ZCBzaXplKS5cbiIpLAorCQkJICAgICBpLT5uYW1lLCBpLT5vdXRwdXRfc2Vj dGlvbi0+bmFtZSk7CisJCSAgICAgIGFib3J0KCk7CisJCSAgICB9CisKKwkJ ICAqcmVtb3ZlZCA9IDE7CisJCSAgZG90ID0gZW5kOworCQkgIGktPm91dHB1 dF9zZWN0aW9uID0gTlVMTDsKKwkJICByZXR1cm4gZG90OworCQl9CisJICAg IH0KKwl9CisKICAgICAgIC8qIFJlbWVtYmVyIHdoZXJlIGluIHRoZSBvdXRw dXQgc2VjdGlvbiB0aGlzIGlucHV0IHNlY3Rpb24gZ29lcy4gICovCiAgICAg ICBpLT5vdXRwdXRfb2Zmc2V0ID0gZG90IC0gby0+dm1hOwogCkBAIC01MTU5 LDYgKzUyNDgsMTQgQEAgc2l6ZV9pbnB1dF9zZWN0aW9uCiAgICAgICBkb3Qg Kz0gVE9fQUREUiAoaS0+c2l6ZSk7CiAgICAgICBpZiAoIShvLT5mbGFncyAm IFNFQ19GSVhFRF9TSVpFKSkKIAlvLT5zaXplID0gVE9fU0laRSAoZG90IC0g by0+dm1hKTsKKworICAgICAgaWYgKGxpbmtfaW5mby5ub25fY29udGlndW91 c19yZWdpb25zKQorCXsKKwkgIC8qIFJlY29yZCB0aGF0IEkgd2FzIHN1Y2Nl c3NmdWxseSBhc3NpZ25lZCB0byBPLCBhbmQgdXBkYXRlCisJICAgICBpdHMg YWN0dWFsIG91dHB1dCBzZWN0aW9uIHRvby4gICovCisJICBpLT5hbHJlYWR5 X2Fzc2lnbmVkID0gbzsKKwkgIGktPm91dHB1dF9zZWN0aW9uID0gbzsKKwl9 CiAgICAgfQogCiAgIHJldHVybiBkb3Q7CkBAIC01NDQ1LDEwICs1NTQyLDE0 IEBAIGxhbmdfc2l6ZV9zZWN0aW9uc18xCiAgICBiZmRfYm9vbGVhbiBjaGVj a19yZWdpb25zKQogewogICBsYW5nX3N0YXRlbWVudF91bmlvbl90eXBlICpz OworICBsYW5nX3N0YXRlbWVudF91bmlvbl90eXBlICpwcmV2X3MgPSBOVUxM OworICBiZmRfYm9vbGVhbiByZW1vdmVkX3ByZXZfcyA9IEZBTFNFOwogCiAg IC8qIFNpemUgdXAgdGhlIHNlY3Rpb25zIGZyb20gdGhlaXIgY29uc3RpdHVl bnQgcGFydHMuICAqLwotICBmb3IgKHMgPSAqcHJldjsgcyAhPSBOVUxMOyBz ID0gcy0+aGVhZGVyLm5leHQpCisgIGZvciAocyA9ICpwcmV2OyBzICE9IE5V TEw7IHByZXZfcyA9IHMsIHMgPSBzLT5oZWFkZXIubmV4dCkKICAgICB7Cisg ICAgICBiZmRfYm9vbGVhbiByZW1vdmVkPUZBTFNFOworCiAgICAgICBzd2l0 Y2ggKHMtPmhlYWRlci50eXBlKQogCXsKIAljYXNlIGxhbmdfb3V0cHV0X3Nl Y3Rpb25fc3RhdGVtZW50X2VudW06CkBAIC01ODc0LDcgKzU5NzUsNyBAQCBs YW5nX3NpemVfc2VjdGlvbnNfMQogCQkgICpyZWxheCA9IFRSVUU7CiAJICAg ICAgfQogCSAgICBkb3QgPSBzaXplX2lucHV0X3NlY3Rpb24gKHByZXYsIG91 dHB1dF9zZWN0aW9uX3N0YXRlbWVudCwKLQkJCQkgICAgICBmaWxsLCBkb3Qp OworCQkJCSAgICAgIGZpbGwsICZyZW1vdmVkLCBkb3QpOwogCSAgfQogCSAg YnJlYWs7CiAKQEAgLTU5NzksNyArNjA4MCw0MyBAQCBsYW5nX3NpemVfc2Vj dGlvbnNfMQogCSAgRkFJTCAoKTsKIAkgIGJyZWFrOwogCX0KLSAgICAgIHBy ZXYgPSAmcy0+aGVhZGVyLm5leHQ7CisKKyAgICAgIC8qIElmIGFuIGlucHV0 IHNlY3Rpb24gZG9lc24ndCBmaXQgaW4gdGhlIGN1cnJlbnQgb3V0cHV0CisJ IHNlY3Rpb24sIHJlbW92ZSBpdCBmcm9tIHRoZSBsaXN0LiAgSGFuZGxlIHRo ZSBjYXNlIHdoZXJlIHdlCisJIGhhdmUgdG8gcmVtb3ZlIGFuIGlucHV0X3Nl Y3Rpb24gc3RhdGVtZW50IGhlcmU6IHRoZXJlIGlzIGEKKwkgc3BlY2lhbCBj YXNlIHRvIHJlbW92ZSB0aGUgZmlyc3QgZWxlbWVudCBvZiB0aGUgbGlzdC4g ICovCisgICAgICBpZiAobGlua19pbmZvLm5vbl9jb250aWd1b3VzX3JlZ2lv bnMgJiYgcmVtb3ZlZCkKKwl7CisJICAvKiBJZiB3ZSByZW1vdmVkIHRoZSBm aXJzdCBlbGVtZW50IGR1cmluZyB0aGUgcHJldmlvdXMKKwkgICAgIGl0ZXJh dGlvbiwgb3ZlcnJpZGUgdGhlIGxvb3AgYXNzaWdubWVudCBvZiBwcmV2X3Mu ICAqLworCSAgaWYgKHJlbW92ZWRfcHJldl9zKQorCSAgICAgIHByZXZfcyA9 IE5VTEw7CisKKwkgIGlmIChwcmV2X3MpCisJICAgIHsKKwkgICAgICAvKiBJ ZiB0aGVyZSB3YXMgYSByZWFsIHByZXZpb3VzIGlucHV0IHNlY3Rpb24sIGp1 c3Qgc2tpcAorCQkgdGhlIGN1cnJlbnQgb25lLiAgKi8KKwkgICAgICBwcmV2 X3MtPmhlYWRlci5uZXh0PXMtPmhlYWRlci5uZXh0OworCSAgICAgIHMgPSBw cmV2X3M7CisJICAgICAgcmVtb3ZlZF9wcmV2X3MgPSBGQUxTRTsKKwkgICAg fQorCSAgZWxzZQorCSAgICB7CisJICAgICAgLyogUmVtb3ZlIHRoZSBmaXJz dCBpbnB1dCBzZWN0aW9uIG9mIHRoZSBsaXN0LiAgKi8KKwkgICAgICAqcHJl diA9IHMtPmhlYWRlci5uZXh0OworCSAgICAgIHJlbW92ZWRfcHJldl9zID0g VFJVRTsKKwkgICAgfQorCisJICAvKiBNb3ZlIHRvIG5leHQgZWxlbWVudCwg dW5sZXNzIHdlIHJlbW92ZWQgdGhlIGhlYWQgb2YgdGhlCisJICAgICBsaXN0 LiAgKi8KKwkgIGlmICghcmVtb3ZlZF9wcmV2X3MpCisJICAgIHByZXYgPSAm cy0+aGVhZGVyLm5leHQ7CisJfQorICAgICAgZWxzZQorCXsKKwkgIHByZXYg PSAmcy0+aGVhZGVyLm5leHQ7CisJICByZW1vdmVkX3ByZXZfcyA9IEZBTFNF OworCX0KICAgICB9CiAgIHJldHVybiBkb3Q7CiB9CmRpZmYgLS1naXQgYS9s ZC9sZGxleC5oIGIvbGQvbGRsZXguaAppbmRleCA1Mjg3ZjE5Li4yMmI5Mjhk IDEwMDY0NAotLS0gYS9sZC9sZGxleC5oCisrKyBiL2xkL2xkbGV4LmgKQEAg LTE1MCw2ICsxNTAsOCBAQCBlbnVtIG9wdGlvbl92YWx1ZXMKICAgT1BUSU9O X0ZPUkNFX0dST1VQX0FMTE9DQVRJT04sCiAgIE9QVElPTl9QUklOVF9NQVBf RElTQ0FSREVELAogICBPUFRJT05fTk9fUFJJTlRfTUFQX0RJU0NBUkRFRCwK KyAgT1BUSU9OX05PTl9DT05USUdVT1VTX1JFR0lPTlMsCisgIE9QVElPTl9O T05fQ09OVElHVU9VU19SRUdJT05TX1dBUk5JTkdTLAogfTsKIAogLyogVGhl IGluaXRpYWwgcGFyc2VyIHN0YXRlcy4gICovCmRpZmYgLS1naXQgYS9sZC9s ZXhzdXAuYyBiL2xkL2xleHN1cC5jCmluZGV4IDNkMTVjYzQuLjI1OTdlMmQg MTAwNjQ0Ci0tLSBhL2xkL2xleHN1cC5jCisrKyBiL2xkL2xleHN1cC5jCkBA IC0xMjIsNiArMTIyLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbGRfb3B0 aW9uIGxkX29wdGlvbnNbXSA9CiAgICAgJ0UnLCBOVUxMLCBOXygiRXhwb3J0 IGFsbCBkeW5hbWljIHN5bWJvbHMiKSwgVFdPX0RBU0hFUyB9LAogICB7IHsi bm8tZXhwb3J0LWR5bmFtaWMiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUSU9O X05PX0VYUE9SVF9EWU5BTUlDfSwKICAgICAnXDAnLCBOVUxMLCBOXygiVW5k byB0aGUgZWZmZWN0IG9mIC0tZXhwb3J0LWR5bmFtaWMiKSwgVFdPX0RBU0hF UyB9LAorICB7IHsiZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMiLCBu b19hcmd1bWVudCwgTlVMTCwgT1BUSU9OX05PTl9DT05USUdVT1VTX1JFR0lP TlN9LAorICAgICdcMCcsIE5VTEwsIE5fKCJFbmFibGUgc3VwcG9ydCBvZiBu b24tY29udGlndW91cyBtZW1vcnkgcmVnaW9ucyIpLCBUV09fREFTSEVTIH0s CisgIHsgeyJlbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucy13YXJuaW5n cyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRJT05fTk9OX0NPTlRJR1VPVVNf UkVHSU9OU19XQVJOSU5HU30sCisgICAgJ1wwJywgTlVMTCwgTl8oIkVuYWJs ZSB3YXJuaW5ncyB3aGVuIC0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lv bnMgbWF5IGNhdXNlIHVuZXhwZWN0ZWQgYmVoYXZpb3VyIiksIFRXT19EQVNI RVMgfSwKICAgeyB7IkVCIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVElPTl9F Qn0sCiAgICAgJ1wwJywgTlVMTCwgTl8oIkxpbmsgYmlnLWVuZGlhbiBvYmpl Y3RzIiksIE9ORV9EQVNIIH0sCiAgIHsgeyJFTCIsIG5vX2FyZ3VtZW50LCBO VUxMLCBPUFRJT05fRUx9LApAQCAtODQ1LDYgKzg0OSwxMiBAQCBwYXJzZV9h cmdzICh1bnNpZ25lZCBhcmdjLCBjaGFyICoqYXJndikKIAljYXNlIE9QVElP Tl9OT19FWFBPUlRfRFlOQU1JQzoKIAkgIGxpbmtfaW5mby5leHBvcnRfZHlu YW1pYyA9IEZBTFNFOwogCSAgYnJlYWs7CisJY2FzZSBPUFRJT05fTk9OX0NP TlRJR1VPVVNfUkVHSU9OUzoKKwkgIGxpbmtfaW5mby5ub25fY29udGlndW91 c19yZWdpb25zID0gVFJVRTsKKwkgIGJyZWFrOworCWNhc2UgT1BUSU9OX05P Tl9DT05USUdVT1VTX1JFR0lPTlNfV0FSTklOR1M6CisJICBsaW5rX2luZm8u bm9uX2NvbnRpZ3VvdXNfcmVnaW9uc193YXJuaW5ncyA9IFRSVUU7CisJICBi cmVhazsKIAljYXNlICdlJzoKIAkgIGxhbmdfYWRkX2VudHJ5IChvcHRhcmcs IFRSVUUpOwogCSAgYnJlYWs7CmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUv bGQtYXJtL2FybS1lbGYuZXhwIGIvbGQvdGVzdHN1aXRlL2xkLWFybS9hcm0t ZWxmLmV4cAppbmRleCA0NGU1OTlmLi4xODE3N2QxIDEwMDY0NAotLS0gYS9s ZC90ZXN0c3VpdGUvbGQtYXJtL2FybS1lbGYuZXhwCisrKyBiL2xkL3Rlc3Rz dWl0ZS9sZC1hcm0vYXJtLWVsZi5leHAKQEAgLTEyNjEsMyArMTI2MSwxMCBA QCBzZXQgYXJtX3Vud2luZF90ZXN0cyB7CiAgICAgICJ1bndpbmQtbWl4In0K IH0KIHJ1bl9sZF9saW5rX3Rlc3RzICRhcm1fdW53aW5kX3Rlc3RzCisKK3J1 bl9kdW1wX3Rlc3QgIm5vbi1jb250aWd1b3VzLWFybSIKK3J1bl9kdW1wX3Rl c3QgIm5vbi1jb250aWd1b3VzLWFybTIiCitydW5fZHVtcF90ZXN0ICJub24t Y29udGlndW91cy1hcm0zIgorcnVuX2R1bXBfdGVzdCAibm9uLWNvbnRpZ3Vv dXMtYXJtNCIKK3J1bl9kdW1wX3Rlc3QgIm5vbi1jb250aWd1b3VzLWFybTUi CitydW5fZHVtcF90ZXN0ICJub24tY29udGlndW91cy1hcm02IgpkaWZmIC0t Z2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm0u ZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtLmQK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDBlNWZhYgot LS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNv bnRpZ3VvdXMtYXJtLmQKQEAgLTAsMCArMSw0IEBACisjbmFtZTogbm9uLWNv bnRpZ3VvdXMtYXJtCisjc291cmNlOiBub24tY29udGlndW91cy1hcm0ucwor I2xkOiAtLWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25zIC1UIG5vbi1j b250aWd1b3VzLWFybS5sZAorIyBlcnJvcjogXEEuKkNvdWxkIG5vdCBhc3Np Z24gJy5jb2RlLjQnIHRvIGFuIG91dHB1dCBzZWN0aW9uLiBSZXRyeSB3aXRo b3V0IC0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMuKlxaCmRpZmYg LS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFy bS5sZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJt LmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1MDYy MWIKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtYXJtL25v bi1jb250aWd1b3VzLWFybS5sZApAQCAtMCwwICsxLDM0IEBACisvKgorIHNl Y3Rpb25zIC5jb2RlLjEgYW5kIC5jb2RlLjIgZml0IGluIC5yYW1sCisgc2Vj dGlvbiAuY29kZS4zIGZpdHMgaW4gLnJhbXUKKyBzZWN0aW9uIC5jb2RlLjQg dG9vIGxhcmdlIHRvIGZpdAorIGV4cGVjdCBhbiBlcnJvciBhYm91dCAuY29k ZS40CisqLworTUVNT1JZCit7CisgIFJBTUwgKHJ3eCkgOiBPUklHSU4gPSAw eDFGRkYwMDAwLCBMRU5HVEggPSAweDAwMDFjCisgIFJBTVUgKHJ3eCkgOiBP UklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDQwCisgIFJBTVog KHJ3eCkgOiBPUklHSU4gPSAweDIwMDQwMDAwLCBMRU5HVEggPSAweDAwMDQw Cit9CisKK1NFQ1RJT05TCit7CisgICAucmFtbCA6CisgICB7ICBfcmFtbF9z dGFydCA9IC4gOworICAgICAgKiguYm9vdCkgOworICAgICAgKiguY29kZSkg KiguY29kZS4qKSA7CisgICAgICBfcmFtbF9lbmQgPSAuIDsKKyAgIH0gPiBS QU1MCisKKyAgIC5yYW11IDogQVQgKCBBRERSICgucmFtbCkgKyBTSVpFT0Yg KC5yYW1sKSApCisgICB7ICBfcmFtdV9zdGFydCA9IC4gOworICAgICAgKigu Y29kZSkgKiguY29kZS4qKSA7CisgICAgICBfcmFtdV9lbmQgPSAuIDsKKyAg IH0gPiBSQU1VCisKKyAgIC5yYW16IDogQVQgKCBBRERSICgucmFtdSkgKyBT SVpFT0YgKC5yYW11KSApCisgICB7ICBfcmFtel9zdGFydCA9IC4gOworICAg ICAgKiguY29kZSkgKiguY29kZS4qKSA7CisgICAgIF9yYW16X2VuZCA9IC4g OworICAgfSA+IFJBTVoKK30KZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9s ZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtLnMgYi9sZC90ZXN0c3VpdGUvbGQt YXJtL25vbi1jb250aWd1b3VzLWFybS5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAuLmNkYzhiMDAKLS0tIC9kZXYvbnVsbAorKysgYi9s ZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybS5zCkBAIC0w LDAgKzEsMzUgQEAKKwkuc3ludGF4IHVuaWZpZWQKKwkuc2VjdGlvbiAuY29k ZS4xLCAiYXgiLCAlcHJvZ2JpdHMKKwkuYXJtCisJIyBGaXQgaW4gUkFNTAor CS5nbG9iYWwgY29kZTEKKwkudHlwZSBjb2RlMSwgJWZ1bmN0aW9uCitjb2Rl MToKKwlub3AKKwlub3AKKwlibCBjb2RlMgorCisJLnNlY3Rpb24gLmNvZGUu MiwgImF4IiwgJXByb2diaXRzCisJIyBGaXQgaW4gUkFNTAorCS5nbG9iYWwg Y29kZTIKKwkudHlwZSBjb2RlMiwgJWZ1bmN0aW9uCitjb2RlMjoKKwlub3AK Kwlub3AKKwlibCBjb2RlMworCisJLnNlY3Rpb24gLmNvZGUuMywgImF4Iiwg JXByb2diaXRzCisJIyBGaXQgaW4gUkFNVQorCS5nbG9iYWwgY29kZTMKKwku dHlwZSBjb2RlMywgJWZ1bmN0aW9uCitjb2RlMzoKKwlub3AKKwlibCBjb2Rl NAorCisJLnNlY3Rpb24gLmNvZGUuNCwgImF4IiwgJXByb2diaXRzCisJIyBG aXQgaW4gUkFNWgorCS5nbG9iYWwgY29kZTQKKwkudHlwZSBjb2RlNCwgJWZ1 bmN0aW9uCitjb2RlNDoKKyRhOgorCS5maWxsIDIwLCA0LCAweGUxYTAwMDAw CmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1 b3VzLWFybTIuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3Vv dXMtYXJtMi5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu LmFmNDBlODQKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQt YXJtL25vbi1jb250aWd1b3VzLWFybTIuZApAQCAtMCwwICsxLDc3IEBACisj bmFtZTogbm9uLWNvbnRpZ3VvdXMtYXJtMgorI3NvdXJjZTogbm9uLWNvbnRp Z3VvdXMtYXJtLnMKKyNsZDogLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVn aW9ucyAtVCBub24tY29udGlndW91cy1hcm0yLmxkCisjb2JqZHVtcDogLXJk dGgKKyN4ZmFpbDogW2lzX2dlbmVyaWNdCisKKy4qOiAgICAgZmlsZSBmb3Jt YXQgZWxmMzItKGxpdHRsZXxiaWcpYXJtLioKKworU2VjdGlvbnM6CitJZHgg TmFtZSAgICAgICAgICBTaXplICAgICAgVk1BICAgICAgIExNQSAgICAgICBG aWxlIG9mZiAgQWxnbgorICAwIFwucmFtbCAgICAgICAgIDAwMDAwMDE4ICAx ZmZmMDAwMCAgMWZmZjAwMDAgIDAwMDEwMDAwICAyXCpcKjIKKyAgICAgICAg ICAgICAgICAgIENPTlRFTlRTLCBBTExPQywgTE9BRCwgUkVBRE9OTFksIENP REUKKyAgMSBcLnJhbXUgICAgICAgICAwMDAwMDAwOCAgMjAwMDAwMDAgIDFm ZmYwMDE4ICAwMDAyMDAwMCAgMlwqXCoyCisgICAgICAgICAgICAgICAgICBD T05URU5UUywgQUxMT0MsIExPQUQsIFJFQURPTkxZLCBDT0RFCisgIDIgXC5y YW16ICAgICAgICAgMDAwMDAwNTAgIDIwMDQwMDAwICAyMDAwMDAwOCAgMDAw MzAwMDAgIDJcKlwqMgorICAgICAgICAgICAgICAgICAgQ09OVEVOVFMsIEFM TE9DLCBMT0FELCBSRUFET05MWSwgQ09ERQorICAzIC5BUk0uYXR0cmlidXRl cyAwMDAwMDAxMiAgMDAwMDAwMDAgIDAwMDAwMDAwICAuKiAgMlwqXCowCisg ICAgICAgICAgICAgICAgICBDT05URU5UUywgUkVBRE9OTFkKK1NZTUJPTCBU QUJMRToKKzFmZmYwMDAwIGwgICAgZCAgLnJhbWwJMDAwMDAwMDAgLnJhbWwK KzIwMDAwMDAwIGwgICAgZCAgLnJhbXUJMDAwMDAwMDAgLnJhbXUKKzIwMDQw MDAwIGwgICAgZCAgLnJhbXoJMDAwMDAwMDAgLnJhbXoKKzAwMDAwMDAwIGwg ICAgZCAgLkFSTS5hdHRyaWJ1dGVzCTAwMDAwMDAwIC5BUk0uYXR0cmlidXRl cworMDAwMDAwMDAgbCAgICBkZiBcKkFCU1wqCTAwMDAwMDAwIC4qL25vbi1j b250aWd1b3VzLWFybS5vCisxZmZmMDAxOCBnICAgICAgIC5yYW1sCTAwMDAw MDAwIF9yYW1sX2VuZAorMjAwMDAwMDAgZyAgICAgICAucmFtdQkwMDAwMDAw MCBfcmFtdV9zdGFydAorMWZmZjAwMGMgZyAgICAgRiAucmFtbAkwMDAwMDAw MCBjb2RlMgorMjAwNDAwMDAgZyAgICAgICAucmFtegkwMDAwMDAwMCBfcmFt el9zdGFydAorMWZmZjAwMDAgZyAgICAgICAucmFtbAkwMDAwMDAwMCBfcmFt bF9zdGFydAorMjAwMDAwMDAgZyAgICAgRiAucmFtdQkwMDAwMDAwMCBjb2Rl MworMWZmZjAwMDAgZyAgICAgRiAucmFtbAkwMDAwMDAwMCBjb2RlMQorMjAw NDAwNTAgZyAgICAgICAucmFtegkwMDAwMDAwMCBfcmFtel9lbmQKKzIwMDQw MDAwIGcgICAgIEYgLnJhbXoJMDAwMDAwMDAgY29kZTQKKzIwMDAwMDA4IGcg ICAgICAgLnJhbXUJMDAwMDAwMDAgX3JhbXVfZW5kCisKKworRGlzYXNzZW1i bHkgb2Ygc2VjdGlvbiAucmFtbDoKKworMWZmZjAwMDAgXDxjb2RlMVw+Ogor MWZmZjAwMDA6CWUxYTAwMDAwIAlub3AJCQk7IFwobW92IHIwLCByMFwpCisx ZmZmMDAwNDoJZTFhMDAwMDAgCW5vcAkJCTsgXChtb3YgcjAsIHIwXCkKKzFm ZmYwMDA4OgllYmZmZmZmZiAJYmwJMWZmZjAwMGMgXDxjb2RlMlw+CisKKzFm ZmYwMDBjIFw8Y29kZTJcPjoKKzFmZmYwMDBjOgllMWEwMDAwMCAJbm9wCQkJ OyBcKG1vdiByMCwgcjBcKQorMWZmZjAwMTA6CWUxYTAwMDAwIAlub3AJCQk7 IFwobW92IHIwLCByMFwpCisxZmZmMDAxNDoJZWIwMDNmZjkgCWJsCTIwMDAw MDAwIFw8Y29kZTNcPgorCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC5yYW11 OgorCisyMDAwMDAwMCBcPGNvZGUzXD46CisyMDAwMDAwMDoJZTFhMDAwMDAg CW5vcAkJCTsgXChtb3YgcjAsIHIwXCkKKzIwMDAwMDA0OgllYjAwZmZmZCAJ YmwJMjAwNDAwMDAgXDxjb2RlNFw+CisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rp b24gLnJhbXo6CisKKzIwMDQwMDAwIFw8Y29kZTRcPjoKKzIwMDQwMDAwOgll MWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMjAwNDAwMDQ6CWUxYTAwMDAw IAkud29yZAkweGUxYTAwMDAwCisyMDA0MDAwODoJZTFhMDAwMDAgCS53b3Jk CTB4ZTFhMDAwMDAKKzIwMDQwMDBjOgllMWEwMDAwMCAJLndvcmQJMHhlMWEw MDAwMAorMjAwNDAwMTA6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCisy MDA0MDAxNDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzIwMDQwMDE4 OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMjAwNDAwMWM6CWUxYTAw MDAwIAkud29yZAkweGUxYTAwMDAwCisyMDA0MDAyMDoJZTFhMDAwMDAgCS53 b3JkCTB4ZTFhMDAwMDAKKzIwMDQwMDI0OgllMWEwMDAwMCAJLndvcmQJMHhl MWEwMDAwMAorMjAwNDAwMjg6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAw CisyMDA0MDAyYzoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzIwMDQw MDMwOgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMjAwNDAwMzQ6CWUx YTAwMDAwIAkud29yZAkweGUxYTAwMDAwCisyMDA0MDAzODoJZTFhMDAwMDAg CS53b3JkCTB4ZTFhMDAwMDAKKzIwMDQwMDNjOgllMWEwMDAwMCAJLndvcmQJ MHhlMWEwMDAwMAorMjAwNDAwNDA6CWUxYTAwMDAwIAkud29yZAkweGUxYTAw MDAwCisyMDA0MDA0NDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzIw MDQwMDQ4OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMjAwNDAwNGM6 CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCmRpZmYgLS1naXQgYS9sZC90 ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTIubGQgYi9sZC90 ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTIubGQKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEzNTY3ZQotLS0gL2Rl di9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3Vv dXMtYXJtMi5sZApAQCAtMCwwICsxLDMzIEBACisvKgorIHNlY3Rpb25zIC5j b2RlLjEgYW5kIC5jb2RlLjIgZml0IGluIC5yYW1sCisgc2VjdGlvbiAuY29k ZS4zIGZpdHMgaW4gLnJhbXUgYW5kIGRvZXMgbm90IG5lZWQgYSBmYXJjYWxs IHN0dWIgdG8ganVtcCB0byBjb2RlNAorIHNlY3Rpb24gLmNvZGUuNCBmaXRz IGluIC5yYW16CisqLworTUVNT1JZCit7CisgIFJBTUwgKHJ3eCkgOiBPUklH SU4gPSAweDFGRkYwMDAwLCBMRU5HVEggPSAweDAwMDFjCisgIFJBTVUgKHJ3 eCkgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDA4Cisg IFJBTVogKHJ3eCkgOiBPUklHSU4gPSAweDIwMDQwMDAwLCBMRU5HVEggPSAw eDAwNDAwCit9CisKK1NFQ1RJT05TCit7CisgICAucmFtbCA6CisgICB7ICBf cmFtbF9zdGFydCA9IC4gOworICAgICAgKiguYm9vdCkgOworICAgICAgKigu Y29kZSkgKiguY29kZS4qKSA7CisgICAgICBfcmFtbF9lbmQgPSAuIDsKKyAg IH0gPiBSQU1MCisKKyAgIC5yYW11IDogQVQgKCBBRERSICgucmFtbCkgKyBT SVpFT0YgKC5yYW1sKSApCisgICB7ICBfcmFtdV9zdGFydCA9IC4gOworICAg ICAgKiguY29kZSkgKiguY29kZS4qKSA7CisgICAgICBfcmFtdV9lbmQgPSAu IDsKKyAgIH0gPiBSQU1VCisKKyAgIC5yYW16IDogQVQgKCBBRERSICgucmFt dSkgKyBTSVpFT0YgKC5yYW11KSApCisgICB7ICBfcmFtel9zdGFydCA9IC4g OworICAgICAgKiguY29kZSkgKiguY29kZS4qKSA7CisgICAgIF9yYW16X2Vu ZCA9IC4gOworICAgfSA+IFJBTVoKK30KZGlmZiAtLWdpdCBhL2xkL3Rlc3Rz dWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtMy5kIGIvbGQvdGVzdHN1 aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm0zLmQKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM3MzkyMgotLS0gL2Rldi9udWxs CisrKyBiL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJt My5kCkBAIC0wLDAgKzEsODMgQEAKKyNuYW1lOiBub24tY29udGlndW91cy1h cm0zCisjc291cmNlOiBub24tY29udGlndW91cy1hcm0ucworI2xkOiAtLWVu YWJsZS1ub24tY29udGlndW91cy1yZWdpb25zIC1UIG5vbi1jb250aWd1b3Vz LWFybTMubGQKKyNvYmpkdW1wOiAtcmR0aAorI3hmYWlsOiBbaXNfZ2VuZXJp Y10KKyNza2lwOiBhcm0qbmFjbAorCisuKjogICAgIGZpbGUgZm9ybWF0IGVs ZjMyLShsaXR0bGV8YmlnKWFybQorCitTZWN0aW9uczoKK0lkeCBOYW1lICAg ICAgICAgIFNpemUgICAgICBWTUEgICAgICAgTE1BICAgICAgIEZpbGUgb2Zm ICBBbGduCisgIDAgXC5yYW1sICAgICAgICAgMDAwMDAwMTggIDFmZmYwMDAw ICAxZmZmMDAwMCAgMDAwMTAwMDAgIDJcKlwqMgorICAgICAgICAgICAgICAg ICAgQ09OVEVOVFMsIEFMTE9DLCBMT0FELCBSRUFET05MWSwgQ09ERQorICAx IFwucmFtdSAgICAgICAgIDAwMDAwMDEwICAyMDAwMDAwMCAgMWZmZjAwMTgg IDAwMDIwMDAwICAyXCpcKjMKKyAgICAgICAgICAgICAgICAgIENPTlRFTlRT LCBBTExPQywgTE9BRCwgUkVBRE9OTFksIENPREUKKyAgMiBcLnJhbXogICAg ICAgICAwMDAwMDA1MCAgMzAwNDAwMDAgIDIwMDAwMDEwICAwMDAzMDAwMCAg MlwqXCoyCisgICAgICAgICAgICAgICAgICBDT05URU5UUywgQUxMT0MsIExP QUQsIFJFQURPTkxZLCBDT0RFCisgIDMgLkFSTS5hdHRyaWJ1dGVzIDAwMDAw MDEyICAwMDAwMDAwMCAgMDAwMDAwMDAgIDAwMDMwMDUwICAyXCpcKjAKKyAg ICAgICAgICAgICAgICAgIENPTlRFTlRTLCBSRUFET05MWQorU1lNQk9MIFRB QkxFOgorMWZmZjAwMDAgbCAgICBkICAucmFtbAkwMDAwMDAwMCAucmFtbAor MjAwMDAwMDAgbCAgICBkICAucmFtdQkwMDAwMDAwMCAucmFtdQorMzAwNDAw MDAgbCAgICBkICAucmFtegkwMDAwMDAwMCAucmFtegorMDAwMDAwMDAgbCAg ICBkICAuQVJNLmF0dHJpYnV0ZXMJMDAwMDAwMDAgLkFSTS5hdHRyaWJ1dGVz CiswMDAwMDAwMCBsICAgIGRmIFwqQUJTXCoJMDAwMDAwMDAgLiovbm9uLWNv bnRpZ3VvdXMtYXJtLm8KKzIwMDAwMDA4IGwgICAgIEYgLnJhbXUJMDAwMDAw MDggX19jb2RlNF92ZW5lZXIKKzFmZmYwMDE4IGcgICAgICAgLnJhbWwJMDAw MDAwMDAgX3JhbWxfZW5kCisyMDAwMDAwMCBnICAgICAgIC5yYW11CTAwMDAw MDAwIF9yYW11X3N0YXJ0CisxZmZmMDAwYyBnICAgICBGIC5yYW1sCTAwMDAw MDAwIGNvZGUyCiszMDA0MDAwMCBnICAgICAgIC5yYW16CTAwMDAwMDAwIF9y YW16X3N0YXJ0CisxZmZmMDAwMCBnICAgICAgIC5yYW1sCTAwMDAwMDAwIF9y YW1sX3N0YXJ0CisyMDAwMDAwMCBnICAgICBGIC5yYW11CTAwMDAwMDAwIGNv ZGUzCisxZmZmMDAwMCBnICAgICBGIC5yYW1sCTAwMDAwMDAwIGNvZGUxCisz MDA0MDA1MCBnICAgICAgIC5yYW16CTAwMDAwMDAwIF9yYW16X2VuZAorMzAw NDAwMDAgZyAgICAgRiAucmFtegkwMDAwMDAwMCBjb2RlNAorMjAwMDAwMTAg ZyAgICAgICAucmFtdQkwMDAwMDAwMCBfcmFtdV9lbmQKKworCitEaXNhc3Nl bWJseSBvZiBzZWN0aW9uIC5yYW1sOgorCisxZmZmMDAwMCBcPGNvZGUxXD46 CisxZmZmMDAwMDoJZTFhMDAwMDAgCW5vcAkJCTsgXChtb3YgcjAsIHIwXCkK KzFmZmYwMDA0OgllMWEwMDAwMCAJbm9wCQkJOyBcKG1vdiByMCwgcjBcKQor MWZmZjAwMDg6CWViZmZmZmZmIAlibAkxZmZmMDAwYyBcPGNvZGUyXD4KKwor MWZmZjAwMGMgXDxjb2RlMlw+OgorMWZmZjAwMGM6CWUxYTAwMDAwIAlub3AJ CQk7IFwobW92IHIwLCByMFwpCisxZmZmMDAxMDoJZTFhMDAwMDAgCW5vcAkJ CTsgXChtb3YgcjAsIHIwXCkKKzFmZmYwMDE0OgllYjAwM2ZmOSAJYmwJMjAw MDAwMDAgXDxjb2RlM1w+CisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnJh bXU6CisKKzIwMDAwMDAwIFw8Y29kZTNcPjoKKzIwMDAwMDAwOgllMWEwMDAw MCAJbm9wCQkJOyBcKG1vdiByMCwgcjBcKQorMjAwMDAwMDQ6CWViZmZmZmZm IAlibAkyMDAwMDAwOCBcPF9fY29kZTRfdmVuZWVyXD4KKworMjAwMDAwMDgg XDxfX2NvZGU0X3ZlbmVlclw+OgorMjAwMDAwMDg6CWU1MWZmMDA0IAlsZHIJ cGMsIFxbcGMsICMtNFxdCTsgMjAwMDAwMGMgXDxfX2NvZGU0X3ZlbmVlclwr MHg0XD4KKzIwMDAwMDBjOgkzMDA0MDAwMCAJLndvcmQJMHgzMDA0MDAwMAor CitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC5yYW16OgorCiszMDA0MDAwMCBc PGNvZGU0XD46CiszMDA0MDAwMDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAw MDAKKzMwMDQwMDA0OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMzAw NDAwMDg6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCiszMDA0MDAwYzoJ ZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzMwMDQwMDEwOgllMWEwMDAw MCAJLndvcmQJMHhlMWEwMDAwMAorMzAwNDAwMTQ6CWUxYTAwMDAwIAkud29y ZAkweGUxYTAwMDAwCiszMDA0MDAxODoJZTFhMDAwMDAgCS53b3JkCTB4ZTFh MDAwMDAKKzMwMDQwMDFjOgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAor MzAwNDAwMjA6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCiszMDA0MDAy NDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzMwMDQwMDI4OgllMWEw MDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMzAwNDAwMmM6CWUxYTAwMDAwIAku d29yZAkweGUxYTAwMDAwCiszMDA0MDAzMDoJZTFhMDAwMDAgCS53b3JkCTB4 ZTFhMDAwMDAKKzMwMDQwMDM0OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAw MAorMzAwNDAwMzg6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCiszMDA0 MDAzYzoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzMwMDQwMDQwOgll MWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMzAwNDAwNDQ6CWUxYTAwMDAw IAkud29yZAkweGUxYTAwMDAwCiszMDA0MDA0ODoJZTFhMDAwMDAgCS53b3Jk CTB4ZTFhMDAwMDAKKzMwMDQwMDRjOgllMWEwMDAwMCAJLndvcmQJMHhlMWEw MDAwMApkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29u dGlndW91cy1hcm0zLmxkIGIvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29u dGlndW91cy1hcm0zLmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjgxYmI2OTUKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3Vp dGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTMubGQKQEAgLTAsMCArMSwz MyBAQAorLyoKKyBzZWN0aW9ucyAuY29kZS4xIGFuZCAuY29kZS4yIGZpdCBp biAucmFtbAorIHNlY3Rpb24gLmNvZGUuMyBmaXRzIGluIC5yYW11IGV2ZW4g d2l0aCBhIGZhcmNhbGwgc3R1YiB0byBqdW1wIHRvIGNvZGU0Cisgc2VjdGlv biAuY29kZS40IGZpdHMgaW4gLnJhbXoKKyovCitNRU1PUlkKK3sKKyAgUkFN TCAocnd4KSA6IE9SSUdJTiA9IDB4MUZGRjAwMDAsIExFTkdUSCA9IDB4MDAw MWMKKyAgUkFNVSAocnd4KSA6IE9SSUdJTiA9IDB4MjAwMDAwMDAsIExFTkdU SCA9IDB4MDAwMTAKKyAgUkFNWiAocnd4KSA6IE9SSUdJTiA9IDB4MzAwNDAw MDAsIExFTkdUSCA9IDB4MDA0MDAKK30KKworU0VDVElPTlMKK3sKKyAgIC5y YW1sIDoKKyAgIHsgIF9yYW1sX3N0YXJ0ID0gLiA7CisgICAgICAqKC5ib290 KSA7CisgICAgICAqKC5jb2RlKSAqKC5jb2RlLiopIDsKKyAgICAgIF9yYW1s X2VuZCA9IC4gOworICAgfSA+IFJBTUwKKworICAgLnJhbXUgOiBBVCAoIEFE RFIgKC5yYW1sKSArIFNJWkVPRiAoLnJhbWwpICkKKyAgIHsgIF9yYW11X3N0 YXJ0ID0gLiA7CisgICAgICAqKC5jb2RlKSAqKC5jb2RlLiopIDsKKyAgICAg IF9yYW11X2VuZCA9IC4gOworICAgfSA+IFJBTVUKKworICAgLnJhbXogOiBB VCAoIEFERFIgKC5yYW11KSArIFNJWkVPRiAoLnJhbXUpICkKKyAgIHsgIF9y YW16X3N0YXJ0ID0gLiA7CisgICAgICAqKC5jb2RlKSAqKC5jb2RlLiopIDsK KyAgICAgX3JhbXpfZW5kID0gLiA7CisgICB9ID4gUkFNWgorfQpkaWZmIC0t Z2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm00 LmQgYi9sZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTQu ZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODQxN2Mw Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24t Y29udGlndW91cy1hcm00LmQKQEAgLTAsMCArMSw0IEBACisjbmFtZTogbm9u LWNvbnRpZ3VvdXMtYXJtNAorI3NvdXJjZTogbm9uLWNvbnRpZ3VvdXMtYXJt LnMKKyNsZDogLS1lbmFibGUtbm9uLWNvbnRpZ3VvdXMtcmVnaW9ucyAtVCBu b24tY29udGlndW91cy1hcm00LmxkCisjIGVycm9yOiBcQU91dHB1dCBzZWN0 aW9uICcucmFtdScgbm90IGxhcmdlIGVub3VnaCBmb3IgdGhlIGxpbmtlci1j cmVhdGVkIHN0dWJzIHNlY3Rpb24gJy5jb2RlLjMuX19zdHViJy4qXFoKZGlm ZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMt YXJtNC5sZCBiL2xkL3Rlc3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMt YXJtNC5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4x ZTBjMzc2Ci0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWFy bS9ub24tY29udGlndW91cy1hcm00LmxkCkBAIC0wLDAgKzEsMzQgQEAKKy8q Cisgc2VjdGlvbnMgLmNvZGUuMSBhbmQgLmNvZGUuMiBmaXQgaW4gLnJhbWwK KyBzZWN0aW9uIC5jb2RlLjMgZml0cyBpbiAucmFtdSBidXQgbm90IGl0cyBm YXJjYWxsIHN0dWIgdG8ganVtcCB0byBjb2RlNAorIHNlY3Rpb24gLmNvZGUu NCBmaXRzIGluIC5yYW16CisgZXhwZWN0IGFuIGVycm9yIGFib3V0IC5jb2Rl LjMKKyovCitNRU1PUlkKK3sKKyAgUkFNTCAocnd4KSA6IE9SSUdJTiA9IDB4 MUZGRjAwMDAsIExFTkdUSCA9IDB4MDAwMWMKKyAgUkFNVSAocnd4KSA6IE9S SUdJTiA9IDB4MjAwMDAwMDAsIExFTkdUSCA9IDB4MDAwMDgKKyAgUkFNWiAo cnd4KSA6IE9SSUdJTiA9IDB4MzAwNDAwMDAsIExFTkdUSCA9IDB4MDA0MDAK K30KKworU0VDVElPTlMKK3sKKyAgIC5yYW1sIDoKKyAgIHsgIF9yYW1sX3N0 YXJ0ID0gLiA7CisgICAgICAqKC5ib290KSA7CisgICAgICAqKC5jb2RlKSAq KC5jb2RlLiopIDsKKyAgICAgIF9yYW1sX2VuZCA9IC4gOworICAgfSA+IFJB TUwKKworICAgLnJhbXUgOiBBVCAoIEFERFIgKC5yYW1sKSArIFNJWkVPRiAo LnJhbWwpICkKKyAgIHsgIF9yYW11X3N0YXJ0ID0gLiA7CisgICAgICAqKC5j b2RlKSAqKC5jb2RlLiopIDsKKyAgICAgIF9yYW11X2VuZCA9IC4gOworICAg fSA+IFJBTVUKKworICAgLnJhbXogOiBBVCAoIEFERFIgKC5yYW11KSArIFNJ WkVPRiAoLnJhbXUpICkKKyAgIHsgIF9yYW16X3N0YXJ0ID0gLiA7CisgICAg ICAqKC5jb2RlKSAqKC5jb2RlLiopIDsKKyAgICAgX3JhbXpfZW5kID0gLiA7 CisgICB9ID4gUkFNWgorfQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xk LWFybS9ub24tY29udGlndW91cy1hcm01LmQgYi9sZC90ZXN0c3VpdGUvbGQt YXJtL25vbi1jb250aWd1b3VzLWFybTUuZApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi5kYzg1ZDFlCi0tLSAvZGV2L251bGwKKysrIGIv bGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91cy1hcm01LmQKQEAg LTAsMCArMSw3NyBAQAorI25hbWU6IG5vbi1jb250aWd1b3VzLWFybTUKKyNz b3VyY2U6IG5vbi1jb250aWd1b3VzLWFybS5zCisjbGQ6IC0tZW5hYmxlLW5v bi1jb250aWd1b3VzLXJlZ2lvbnMgLVQgbm9uLWNvbnRpZ3VvdXMtYXJtNS5s ZAorI29iamR1bXA6IC1yZHRoCisjeGZhaWw6IFtpc19nZW5lcmljXQorCisu KjogICAgIGZpbGUgZm9ybWF0IGVsZjMyLShsaXR0bGV8YmlnKWFybS4qCisK K1NlY3Rpb25zOgorSWR4IE5hbWUgICAgICAgICAgU2l6ZSAgICAgIFZNQSAg ICAgICBMTUEgICAgICAgRmlsZSBvZmYgIEFsZ24KKyAgMCBcLnJhbWwgICAg ICAgICAwMDAwMDAwYyAgMWZmZjAwMDAgIDFmZmYwMDAwICAwMDAxMDAwMCAg MlwqXCoyCisgICAgICAgICAgICAgICAgICBDT05URU5UUywgQUxMT0MsIExP QUQsIFJFQURPTkxZLCBDT0RFCisgIDEgXC5yYW11ICAgICAgICAgMDAwMDAw MTQgIDIwMDAwMDAwICAxZmZmMDAwYyAgMDAwMjAwMDAgIDJcKlwqMgorICAg ICAgICAgICAgICAgICAgQ09OVEVOVFMsIEFMTE9DLCBMT0FELCBSRUFET05M WSwgQ09ERQorICAyIFwucmFteiAgICAgICAgIDAwMDAwMDUwICAyMDA0MDAw MCAgMjAwMDAwMTQgIDAwMDMwMDAwICAyXCpcKjIKKyAgICAgICAgICAgICAg ICAgIENPTlRFTlRTLCBBTExPQywgTE9BRCwgUkVBRE9OTFksIENPREUKKyAg MyAuQVJNLmF0dHJpYnV0ZXMgMDAwMDAwMTIgIDAwMDAwMDAwICAwMDAwMDAw MCAgLiogIDJcKlwqMAorICAgICAgICAgICAgICAgICAgQ09OVEVOVFMsIFJF QURPTkxZCitTWU1CT0wgVEFCTEU6CisxZmZmMDAwMCBsICAgIGQgIC5yYW1s CTAwMDAwMDAwIC5yYW1sCisyMDAwMDAwMCBsICAgIGQgIC5yYW11CTAwMDAw MDAwIC5yYW11CisyMDA0MDAwMCBsICAgIGQgIC5yYW16CTAwMDAwMDAwIC5y YW16CiswMDAwMDAwMCBsICAgIGQgIC5BUk0uYXR0cmlidXRlcwkwMDAwMDAw MCAuQVJNLmF0dHJpYnV0ZXMKKzAwMDAwMDAwIGwgICAgZGYgXCpBQlNcKgkw MDAwMDAwMCAuKi9ub24tY29udGlndW91cy1hcm0ubworMWZmZjAwMGMgZyAg ICAgICAucmFtbAkwMDAwMDAwMCBfcmFtbF9lbmQKKzIwMDAwMDAwIGcgICAg ICAgLnJhbXUJMDAwMDAwMDAgX3JhbXVfc3RhcnQKKzIwMDAwMDAwIGcgICAg IEYgLnJhbXUJMDAwMDAwMDAgY29kZTIKKzIwMDQwMDAwIGcgICAgICAgLnJh bXoJMDAwMDAwMDAgX3JhbXpfc3RhcnQKKzFmZmYwMDAwIGcgICAgICAgLnJh bWwJMDAwMDAwMDAgX3JhbWxfc3RhcnQKKzIwMDAwMDBjIGcgICAgIEYgLnJh bXUJMDAwMDAwMDAgY29kZTMKKzFmZmYwMDAwIGcgICAgIEYgLnJhbWwJMDAw MDAwMDAgY29kZTEKKzIwMDQwMDUwIGcgICAgICAgLnJhbXoJMDAwMDAwMDAg X3JhbXpfZW5kCisyMDA0MDAwMCBnICAgICBGIC5yYW16CTAwMDAwMDAwIGNv ZGU0CisyMDAwMDAxNCBnICAgICAgIC5yYW11CTAwMDAwMDAwIF9yYW11X2Vu ZAorCisKK0Rpc2Fzc2VtYmx5IG9mIHNlY3Rpb24gLnJhbWw6CisKKzFmZmYw MDAwIFw8Y29kZTFcPjoKKzFmZmYwMDAwOgllMWEwMDAwMCAJbm9wCQkJOyBc KG1vdiByMCwgcjBcKQorMWZmZjAwMDQ6CWUxYTAwMDAwIAlub3AJCQk7IFwo bW92IHIwLCByMFwpCisxZmZmMDAwODoJZWIwMDNmZmMgCWJsCTIwMDAwMDAw IFw8Y29kZTJcPgorCitEaXNhc3NlbWJseSBvZiBzZWN0aW9uIC5yYW11Ogor CisyMDAwMDAwMCBcPGNvZGUyXD46CisyMDAwMDAwMDoJZTFhMDAwMDAgCW5v cAkJCTsgXChtb3YgcjAsIHIwXCkKKzIwMDAwMDA0OgllMWEwMDAwMCAJbm9w CQkJOyBcKG1vdiByMCwgcjBcKQorMjAwMDAwMDg6CWViZmZmZmZmIAlibAky MDAwMDAwYyBcPGNvZGUzXD4KKworMjAwMDAwMGMgXDxjb2RlM1w+OgorMjAw MDAwMGM6CWUxYTAwMDAwIAlub3AJCQk7IFwobW92IHIwLCByMFwpCisyMDAw MDAxMDoJZWIwMGZmZmEgCWJsCTIwMDQwMDAwIFw8Y29kZTRcPgorCitEaXNh c3NlbWJseSBvZiBzZWN0aW9uIC5yYW16OgorCisyMDA0MDAwMCBcPGNvZGU0 XD46CisyMDA0MDAwMDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzIw MDQwMDA0OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMjAwNDAwMDg6 CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCisyMDA0MDAwYzoJZTFhMDAw MDAgCS53b3JkCTB4ZTFhMDAwMDAKKzIwMDQwMDEwOgllMWEwMDAwMCAJLndv cmQJMHhlMWEwMDAwMAorMjAwNDAwMTQ6CWUxYTAwMDAwIAkud29yZAkweGUx YTAwMDAwCisyMDA0MDAxODoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAK KzIwMDQwMDFjOgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMjAwNDAw MjA6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCisyMDA0MDAyNDoJZTFh MDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzIwMDQwMDI4OgllMWEwMDAwMCAJ LndvcmQJMHhlMWEwMDAwMAorMjAwNDAwMmM6CWUxYTAwMDAwIAkud29yZAkw eGUxYTAwMDAwCisyMDA0MDAzMDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAw MDAKKzIwMDQwMDM0OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorMjAw NDAwMzg6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCisyMDA0MDAzYzoJ ZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzIwMDQwMDQwOgllMWEwMDAw MCAJLndvcmQJMHhlMWEwMDAwMAorMjAwNDAwNDQ6CWUxYTAwMDAwIAkud29y ZAkweGUxYTAwMDAwCisyMDA0MDA0ODoJZTFhMDAwMDAgCS53b3JkCTB4ZTFh MDAwMDAKKzIwMDQwMDRjOgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMApk aWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91 cy1hcm01LmxkIGIvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91 cy1hcm01LmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu Ljk5YzAyMzQKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQt YXJtL25vbi1jb250aWd1b3VzLWFybTUubGQKQEAgLTAsMCArMSwzNCBAQAor LyoKKyBzZWN0aW9uIC5jb2RlLjEgZml0cyBpbiAucmFtbAorIHNlY3Rpb24g LmNvZGUuMiBkb2VzIG5vdCBmaXQgaW4gLnJhbWwgYW5kIGdvZXMgdG8gLnJh bXUKKyBzZWN0aW9uIC5jb2RlLjMgd291bGQgZml0IGluIC5yYW1sLCBidXQg Z29lcyB0byAucmFtdTogIENoZWNrIHRoYXQgLmNvZGUuMiBhbmQgLmNvZGUu MyBhcmUgbm90IHN3YXBwZWQKKyBzZWN0aW9uIC5jb2RlLjQgZml0cyBpbiAu cmFtegorKi8KK01FTU9SWQoreworICBSQU1MIChyd3gpIDogT1JJR0lOID0g MHgxRkZGMDAwMCwgTEVOR1RIID0gMHgwMDAxNAorICBSQU1VIChyd3gpIDog T1JJR0lOID0gMHgyMDAwMDAwMCwgTEVOR1RIID0gMHgwMDAyMAorICBSQU1a IChyd3gpIDogT1JJR0lOID0gMHgyMDA0MDAwMCwgTEVOR1RIID0gMHgwMDQw MAorfQorCitTRUNUSU9OUworeworICAgLnJhbWwgOgorICAgeyAgX3JhbWxf c3RhcnQgPSAuIDsKKyAgICAgICooLmJvb3QpIDsKKyAgICAgICooLmNvZGUp ICooLmNvZGUuKikgOworICAgICAgX3JhbWxfZW5kID0gLiA7CisgICB9ID4g UkFNTAorCisgICAucmFtdSA6IEFUICggQUREUiAoLnJhbWwpICsgU0laRU9G ICgucmFtbCkgKQorICAgeyAgX3JhbXVfc3RhcnQgPSAuIDsKKyAgICAgICoo LmNvZGUpICooLmNvZGUuKikgOworICAgICAgX3JhbXVfZW5kID0gLiA7Cisg ICB9ID4gUkFNVQorCisgICAucmFteiA6IEFUICggQUREUiAoLnJhbXUpICsg U0laRU9GICgucmFtdSkgKQorICAgeyAgX3JhbXpfc3RhcnQgPSAuIDsKKyAg ICAgICooLmNvZGUpICooLmNvZGUuKikgOworICAgICBfcmFtel9lbmQgPSAu IDsKKyAgIH0gPiBSQU1aCit9CmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUv bGQtYXJtL25vbi1jb250aWd1b3VzLWFybTYuZCBiL2xkL3Rlc3RzdWl0ZS9s ZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtNi5kCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAuLjYwNWQ4NDYKLS0tIC9kZXYvbnVsbAorKysg Yi9sZC90ZXN0c3VpdGUvbGQtYXJtL25vbi1jb250aWd1b3VzLWFybTYuZApA QCAtMCwwICsxLDc3IEBACisjbmFtZTogbm9uLWNvbnRpZ3VvdXMtYXJtNgor I3NvdXJjZTogbm9uLWNvbnRpZ3VvdXMtYXJtLnMKKyNsZDogLS1lbmFibGUt bm9uLWNvbnRpZ3VvdXMtcmVnaW9ucyAtVCBub24tY29udGlndW91cy1hcm02 LmxkCisjb2JqZHVtcDogLXJkdGgKKyN4ZmFpbDogW2lzX2dlbmVyaWNdCisj c2tpcDogYXJtKm5hY2wKKworLio6ICAgICBmaWxlIGZvcm1hdCBlbGYzMi0o bGl0dGxlfGJpZylhcm0KKworU2VjdGlvbnM6CitJZHggTmFtZSAgICAgICAg ICBTaXplICAgICAgVk1BICAgICAgIExNQSAgICAgICBGaWxlIG9mZiAgQWxn bgorICAwIFwucmFtbCAgICAgICAgIDAwMDAwMDI4ICAxZmZmMDAwMCAgMWZm ZjAwMDAgIDAwMDEwMDAwICAyXCpcKjMKKyAgICAgICAgICAgICAgICAgIENP TlRFTlRTLCBBTExPQywgTE9BRCwgUkVBRE9OTFksIENPREUKKyAgMSBcLnJh bXogICAgICAgICAwMDAwMDA1MCAgNDAwNDAwMDAgIDMwMDAwMDAwICAwMDAy MDAwMCAgMlwqXCoyCisgICAgICAgICAgICAgICAgICBDT05URU5UUywgQUxM T0MsIExPQUQsIFJFQURPTkxZLCBDT0RFCisgIDIgLkFSTS5hdHRyaWJ1dGVz IDAwMDAwMDEyICAwMDAwMDAwMCAgMDAwMDAwMDAgIDAwMDIwMDUwICAyXCpc KjAKKyAgICAgICAgICAgICAgICAgIENPTlRFTlRTLCBSRUFET05MWQorU1lN Qk9MIFRBQkxFOgorMWZmZjAwMDAgbCAgICBkICAucmFtbAkwMDAwMDAwMCAu cmFtbAorNDAwNDAwMDAgbCAgICBkICAucmFtegkwMDAwMDAwMCAucmFtegor MDAwMDAwMDAgbCAgICBkICAuQVJNLmF0dHJpYnV0ZXMJMDAwMDAwMDAgLkFS TS5hdHRyaWJ1dGVzCiswMDAwMDAwMCBsICAgIGRmIFwqQUJTXCoJMDAwMDAw MDAgLiovbm9uLWNvbnRpZ3VvdXMtYXJtLm8KKzFmZmYwMDIwIGwgICAgIEYg LnJhbWwJMDAwMDAwMDggX19jb2RlNF92ZW5lZXIKKzFmZmYwMDI4IGcgICAg ICAgLnJhbWwJMDAwMDAwMDAgX3JhbWxfZW5kCiszMDAwMDAwMCBnICAgICAg IC5yYW1sCTAwMDAwMDAwIF9yYW11X3N0YXJ0CisxZmZmMDAwYyBnICAgICBG IC5yYW1sCTAwMDAwMDAwIGNvZGUyCis0MDA0MDAwMCBnICAgICAgIC5yYW16 CTAwMDAwMDAwIF9yYW16X3N0YXJ0CisxZmZmMDAwMCBnICAgICAgIC5yYW1s CTAwMDAwMDAwIF9yYW1sX3N0YXJ0CisxZmZmMDAxOCBnICAgICBGIC5yYW1s CTAwMDAwMDAwIGNvZGUzCisxZmZmMDAwMCBnICAgICBGIC5yYW1sCTAwMDAw MDAwIGNvZGUxCis0MDA0MDA1MCBnICAgICAgIC5yYW16CTAwMDAwMDAwIF9y YW16X2VuZAorNDAwNDAwMDAgZyAgICAgRiAucmFtegkwMDAwMDAwMCBjb2Rl NAorMzAwMDAwMDAgZyAgICAgICAucmFtbAkwMDAwMDAwMCBfcmFtdV9lbmQK KworRGlzYXNzZW1ibHkgb2Ygc2VjdGlvbiAucmFtbDoKKworMWZmZjAwMDAg XDxjb2RlMVw+OgorMWZmZjAwMDA6CWUxYTAwMDAwIAlub3AJCQk7IFwobW92 IHIwLCByMFwpCisxZmZmMDAwNDoJZTFhMDAwMDAgCW5vcAkJCTsgXChtb3Yg cjAsIHIwXCkKKzFmZmYwMDA4OgllYmZmZmZmZiAJYmwJMWZmZjAwMGMgXDxj b2RlMlw+CisKKzFmZmYwMDBjIFw8Y29kZTJcPjoKKzFmZmYwMDBjOgllMWEw MDAwMCAJbm9wCQkJOyBcKG1vdiByMCwgcjBcKQorMWZmZjAwMTA6CWUxYTAw MDAwIAlub3AJCQk7IFwobW92IHIwLCByMFwpCisxZmZmMDAxNDoJZWJmZmZm ZmYgCWJsCTFmZmYwMDE4IFw8Y29kZTNcPgorCisxZmZmMDAxOCBcPGNvZGUz XD46CisxZmZmMDAxODoJZTFhMDAwMDAgCW5vcAkJCTsgXChtb3YgcjAsIHIw XCkKKzFmZmYwMDFjOgllYmZmZmZmZiAJYmwJMWZmZjAwMjAgXDxfX2NvZGU0 X3ZlbmVlclw+CisKKzFmZmYwMDIwIFw8X19jb2RlNF92ZW5lZXJcPjoKKzFm ZmYwMDIwOgllNTFmZjAwNCAJbGRyCXBjLCBcW3BjLCAjLTRcXQk7IDFmZmYw MDI0IFw8X19jb2RlNF92ZW5lZXJcKzB4NFw+CisxZmZmMDAyNDoJNDAwNDAw MDAgCS53b3JkCTB4NDAwNDAwMDAKKworRGlzYXNzZW1ibHkgb2Ygc2VjdGlv biAucmFtejoKKworNDAwNDAwMDAgXDxjb2RlNFw+OgorNDAwNDAwMDA6CWUx YTAwMDAwIAkud29yZAkweGUxYTAwMDAwCis0MDA0MDAwNDoJZTFhMDAwMDAg CS53b3JkCTB4ZTFhMDAwMDAKKzQwMDQwMDA4OgllMWEwMDAwMCAJLndvcmQJ MHhlMWEwMDAwMAorNDAwNDAwMGM6CWUxYTAwMDAwIAkud29yZAkweGUxYTAw MDAwCis0MDA0MDAxMDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzQw MDQwMDE0OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorNDAwNDAwMTg6 CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCis0MDA0MDAxYzoJZTFhMDAw MDAgCS53b3JkCTB4ZTFhMDAwMDAKKzQwMDQwMDIwOgllMWEwMDAwMCAJLndv cmQJMHhlMWEwMDAwMAorNDAwNDAwMjQ6CWUxYTAwMDAwIAkud29yZAkweGUx YTAwMDAwCis0MDA0MDAyODoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAK KzQwMDQwMDJjOgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorNDAwNDAw MzA6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCis0MDA0MDAzNDoJZTFh MDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKKzQwMDQwMDM4OgllMWEwMDAwMCAJ LndvcmQJMHhlMWEwMDAwMAorNDAwNDAwM2M6CWUxYTAwMDAwIAkud29yZAkw eGUxYTAwMDAwCis0MDA0MDA0MDoJZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAw MDAKKzQwMDQwMDQ0OgllMWEwMDAwMCAJLndvcmQJMHhlMWEwMDAwMAorNDAw NDAwNDg6CWUxYTAwMDAwIAkud29yZAkweGUxYTAwMDAwCis0MDA0MDA0YzoJ ZTFhMDAwMDAgCS53b3JkCTB4ZTFhMDAwMDAKZGlmZiAtLWdpdCBhL2xkL3Rl c3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtNi5sZCBiL2xkL3Rl c3RzdWl0ZS9sZC1hcm0vbm9uLWNvbnRpZ3VvdXMtYXJtNi5sZApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDZkNmZlCi0tLSAvZGV2 L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWFybS9ub24tY29udGlndW91 cy1hcm02LmxkCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgc2VjdGlvbnMgLmNv ZGUuMSwgLmNvZGUuMiBhbmQgLmNvZGUuMyAoKyBmYXJjYWxsIHN0dWIpIGZp dCBpbiAucmFtbAorIHNlY3Rpb24gLmNvZGUuNCBmaXRzIGluIC5yYW16Cisg bm90aGluZyBmaXRzIGluIC5yYW11CisqLworTUVNT1JZCit7CisgIFJBTUwg KHJ3eCkgOiBPUklHSU4gPSAweDFGRkYwMDAwLCBMRU5HVEggPSAweDAwMDMw CisgIFJBTVUgKHJ3eCkgOiBPUklHSU4gPSAweDMwMDAwMDAwLCBMRU5HVEgg PSAweDAwMDEwCisgIFJBTVogKHJ3eCkgOiBPUklHSU4gPSAweDQwMDQwMDAw LCBMRU5HVEggPSAweDAwNDAwCit9CisKK1NFQ1RJT05TCit7CisgICAucmFt bCA6CisgICB7ICBfcmFtbF9zdGFydCA9IC4gOworICAgICAgKiguYm9vdCkg OworICAgICAgKiguY29kZSkgKiguY29kZS4qKSA7CisgICAgICBfcmFtbF9l bmQgPSAuIDsKKyAgIH0gPiBSQU1MCisKKyAgIC5yYW11IDogQVQgKCBBRERS ICgucmFtbCkgKyBTSVpFT0YgKC5yYW1sKSApCisgICB7ICBfcmFtdV9zdGFy dCA9IC4gOworICAgICAgKiguY29kZSkgKiguY29kZS4qKSA7CisgICAgICBf cmFtdV9lbmQgPSAuIDsKKyAgIH0gPiBSQU1VCisKKyAgIC5yYW16IDogQVQg KCBBRERSICgucmFtdSkgKyBTSVpFT0YgKC5yYW11KSApCisgICB7ICBfcmFt el9zdGFydCA9IC4gOworICAgICAgKiguY29kZSkgKiguY29kZS4qKSA7Cisg ICAgIF9yYW16X2VuZCA9IC4gOworICAgfSA+IFJBTVoKK30KZGlmZiAtLWdp dCBhL2xkL3Rlc3RzdWl0ZS9sZC1lbGYvbm9uLWNvbnRpZ3VvdXMuZCBiL2xk L3Rlc3RzdWl0ZS9sZC1lbGYvbm9uLWNvbnRpZ3VvdXMuZApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Njk0YmNmCi0tLSAvZGV2L251 bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ub24tY29udGlndW91cy5k CkBAIC0wLDAgKzEsMjkgQEAKKyNuYW1lOiBub24tY29udGlndW91cworI3Nv dXJjZTogbm9uLWNvbnRpZ3VvdXMucworI2xkOiAtLWVuYWJsZS1ub24tY29u dGlndW91cy1yZWdpb25zIC1UIG5vbi1jb250aWd1b3VzLmxkCisjb2JqZHVt cDogLXJkc2gKKyN4ZmFpbDogW2lzX2dlbmVyaWNdCisjc2tpcDogeHRlbnNh KgorCisuKjogICAgIGZpbGUgZm9ybWF0IC4qCisKK1NlY3Rpb25zOgorSWR4 IE5hbWUgICAgICAgICAgU2l6ZSAgICAgIFZNQSAgKiAgICAgTE1BICAqICAg ICBGaWxlIG9mZiAgQWxnbgorICAwIFwucmFtbCAgICAgICAgIDAwMDAwMDBj ICAwKjFmZmYwMDAwICAwKjFmZmYwMDAwICAuKiAgMlwqXCouCisgICAgICAg ICAgICAgICAgICBDT05URU5UUywgQUxMT0MsIExPQUQsIERBVEEKKyAgMSBc LnJhbXUgICAgICAgICAwMDAwMDAxNCAgMCoyMDAwMDAwMCAgMCoxZmZmMDAw YyAgLiogIDJcKlwqLgorICAgICAgICAgICAgICAgICAgQ09OVEVOVFMsIEFM TE9DLCBMT0FELCBEQVRBCisgIDIgXC5yYW16ICAgICAgICAgMDAwMDAwM2Mg IDAqMjAwNDAwMDAgIDAqMjAwMDAwMTQgIC4qICAyXCpcKi4KKyAgICAgICAg ICAgICAgICAgIENPTlRFTlRTLCBBTExPQywgTE9BRCwgREFUQQorCisKK0Nv bnRlbnRzIG9mIHNlY3Rpb24gLnJhbWw6CisgMWZmZjAwMDAgKDAxMCsgMDIw KyAwMzArfDArMDEgMCswMiAwKzAzKSAgICAgICAgICAgLi4uLi4uLi4uLi4u ICAgIAorQ29udGVudHMgb2Ygc2VjdGlvbiAucmFtdToKKyAyMDAwMDAwMCAo MDQwKyAwNTArIDA2MCsgMDcwK3wwKzA0IDArMDUgMCswNiAwKzA3KSAgLi4u Li4uLi4uLi4uLi4uLgorIDIwMDAwMDEwICgwODArfDArMDgpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAuLi4uICAgICAgICAgICAgCitDb250ZW50 cyBvZiBzZWN0aW9uIC5yYW16OgorIDIwMDQwMDAwIDA5MDkwOTA5IDA5MDkw OTA5IDA5MDkwOTA5IDA5MDkwOTA5ICAuLi4uLi4uLi4uLi4uLi4uCisgMjAw NDAwMTAgMDkwOTA5MDkgMDkwOTA5MDkgMDkwOTA5MDkgMDkwOTA5MDkgIC4u Li4uLi4uLi4uLi4uLi4KKyAyMDA0MDAyMCAwOTA5MDkwOSAwOTA5MDkwOSAw OTA5MDkwOSAwOTA5MDkwOSAgLi4uLi4uLi4uLi4uLi4uLgorIDIwMDQwMDMw IDA5MDkwOTA5IDA5MDkwOTA5IDA5MDkwOTA5ICAgICAgICAgICAuLi4uLi4u Li4uLi4gICAgCmRpZmYgLS1naXQgYS9sZC90ZXN0c3VpdGUvbGQtZWxmL25v bi1jb250aWd1b3VzLmxkIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9ub24tY29u dGlndW91cy5sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li5mYzcyMjUzCi0tLSAvZGV2L251bGwKKysrIGIvbGQvdGVzdHN1aXRlL2xk LWVsZi9ub24tY29udGlndW91cy5sZApAQCAtMCwwICsxLDQ3IEBACisvKgor IHNlY3Rpb24gLmRhdGEuMSBmaXRzIGluIC5yYW1sCisgc2VjdGlvbnMgLmRh dGEuMiAuZGF0YS4zIGZpdCBpbiAucmFtdQorIHNlY3Rpb24gLmRhdGEuNCBm aXRzIGluIC5yYW16CisqLworTUVNT1JZCit7CisgIFJBTUwgKHJ3eCkgOiBP UklHSU4gPSAweDFGRkYwMDAwLCBMRU5HVEggPSAweDAwMDE0CisgIFJBTVUg KHJ3eCkgOiBPUklHSU4gPSAweDIwMDAwMDAwLCBMRU5HVEggPSAweDAwMDQw CisgIFJBTVogKHJ3eCkgOiBPUklHSU4gPSAweDIwMDQwMDAwLCBMRU5HVEgg PSAweDAwMDQwCit9CisKK1NFQ1RJT05TCit7CisgICAvKiBJZ25vcmUgdGhp cyB0YXJnZXQgc3BlY2lmaWMgaW5mbyBpbiBvdXRwdXQgY29tcGFyaXNvbi4g ICovCisgICAvRElTQ0FSRC8gOiB7CisgICAgICAgICAgICAgKiguQVJNLmF0 dHJpYnV0ZXMpCisJICAgICAqKC5BUkMuYXR0cmlidXRlcykKKwkgICAgICoo LnJpc2N2LmF0dHJpYnV0ZXMpCisJICAgICAqKC5jNnhhYmkuYXR0cmlidXRl cykKKwkgICAgICooLnRyYW1wb2xpbmVzKQorCSAgICAgKigucmVnaW5mbykK KwkgICAgICooLm5vdGUucmVuZXNhcykKKwkgICAgICooLk1JUFMuYWJpZmxh Z3MpCisJICAgICAqKC5NU1A0MzAuYXR0cmlidXRlcykKKwkgICAgICooLmdu dS5hdHRyaWJ1dGVzKQorICAgfQorCisgICAucmFtbCA6IC8qQVQgKCBBRERS ICgudGV4dCkgKyBTSVpFT0YgKC50ZXh0KSApKi8KKyAgIHsgIF9yYW1sX3N0 YXJ0ID0gLiA7CisgICAgICAqKC5ib290KSA7CisgICAgICAqKC5kYXRhKSAq KC5kYXRhLiopIDsKKyAgICAgIF9yYW1sX2VuZCA9IC4gOworICAgfSA+IFJB TUwKKworICAgLnJhbXUgOiBBVCAoIEFERFIgKC5yYW1sKSArIFNJWkVPRiAo LnJhbWwpICkKKyAgIHsgIF9yYW11X3N0YXJ0ID0gLiA7CisgICAgICAqKC5k YXRhKSAqKC5kYXRhLiopIDsKKyAgICAgIF9yYW11X2VuZCA9IC4gOworICAg fSA+IFJBTVUKKworICAgLnJhbXogOiBBVCAoIEFERFIgKC5yYW11KSArIFNJ WkVPRiAoLnJhbXUpICkKKyAgIHsgIF9yYW16X3N0YXJ0ID0gLiA7CisgICAg ICAqKC5kYXRhKSAqKC5kYXRhLiopIDsKKyAgICAgX3JhbXpfZW5kID0gLiA7 CisgICB9ID4gUkFNWgorfQpkaWZmIC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xk LWVsZi9ub24tY29udGlndW91cy5zIGIvbGQvdGVzdHN1aXRlL2xkLWVsZi9u b24tY29udGlndW91cy5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLjE5YmMyYjEKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3Vp dGUvbGQtZWxmL25vbi1jb250aWd1b3VzLnMKQEAgLTAsMCArMSwyMSBAQAor CS5zZWN0aW9uIC5kYXRhLjEsICJhIiwgJXByb2diaXRzCisJIyBGaXQgaW4g UkFNTAorCS40Ynl0ZSAxCisJLjRieXRlIDIKKwkuNGJ5dGUgMworCisJLnNl Y3Rpb24gLmRhdGEuMiwgImEiLCAlcHJvZ2JpdHMKKwkjIEZpdCBpbiBSQU1V CisJLjRieXRlIDQKKwkuNGJ5dGUgNQorCS40Ynl0ZSA2CisKKwkuc2VjdGlv biAuZGF0YS4zLCAiYSIsICVwcm9nYml0cworCSMgRml0IGluIFJBTVUKKwku NGJ5dGUgNworCS40Ynl0ZSA4CisKKwkuc2VjdGlvbiAuZGF0YS40LCAiYSIs ICVwcm9nYml0cworCSMgRml0IGluIFJBTVoKKwkuZmlsbCAweDNjLCAxLCA5 CisKZGlmZiAtLWdpdCBhL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBjL25vbi1j b250aWd1b3VzLXBvd2VycGMuZCBiL2xkL3Rlc3RzdWl0ZS9sZC1wb3dlcnBj L25vbi1jb250aWd1b3VzLXBvd2VycGMuZApuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwLi44NThlMzUzCi0tLSAvZGV2L251bGwKKysrIGIv bGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvbm9uLWNvbnRpZ3VvdXMtcG93ZXJw Yy5kCkBAIC0wLDAgKzEsNSBAQAorI25hbWU6IG5vbi1jb250aWd1b3VzLXBv d2VycGMKKyNzb3VyY2U6IG5vbi1jb250aWd1b3VzLXBvd2VycGMucworI2xk OiAtLWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25zIC1UIG5vbi1jb250 aWd1b3VzLXBvd2VycGMubGQKKyNlcnJvcjogXEFSZWxheGF0aW9uIG5vdCBz dXBwb3J0ZWQgd2l0aCAtLWVuYWJsZS1ub24tY29udGlndW91cy1yZWdpb25z LioKKyNza2lwOiBwb3dlcnBjNjQqLSoKZGlmZiAtLWdpdCBhL2xkL3Rlc3Rz dWl0ZS9sZC1wb3dlcnBjL25vbi1jb250aWd1b3VzLXBvd2VycGMubGQgYi9s ZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9ub24tY29udGlndW91cy1wb3dlcnBj LmxkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc0NGQy NDYKLS0tIC9kZXYvbnVsbAorKysgYi9sZC90ZXN0c3VpdGUvbGQtcG93ZXJw Yy9ub24tY29udGlndW91cy1wb3dlcnBjLmxkCkBAIC0wLDAgKzEsMjIgQEAK Ky8qIERpc3RhbmNlIGJldHdlZW4gJ29uZScgYW5kICd0d28nIG1lYW5zIHRo YXQgcmVsYXhhdGlvbiBpbXBsaWVzIHRoYXQKKyAgIC50ZXh0Lm9uZSdzIHNp emUgaW5jcmVhc2VzLiBFdmVuIHRob3VnaCB0aGUgcmVzdWx0IHdvdWxkIGZp dCBpbgorICAgJ29uZWFuZGhhbGYnLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQg YnkKKyAgIC0tZW5hYmxlLW5vbi1jb250aWd1b3VzLXJlZ2lvbnMuICAqLwor CitNRU1PUlkgeworICAgICAgIG9uZSAoUlhBSSkgOiBPUklHSU4gPSAweDAw MDAwMDAwLCBMRU5HVEggPSAweDAwMDAwMDEwCisgICAgICAgb25lYW5kaGFs ZiAoUlhBSSkgOiBPUklHSU4gPSAweDAwMDAxMDAwLCBMRU5HVEggPSAweDAw MDAxMDEwCisgICAgICAgdHdvIChSWEFJKSA6IE9SSUdJTiA9IDB4MjAwMDAw MDAsIExFTkdUSCA9IDB4MTAwMDAwMDAKK30KKworU0VDVElPTlMgeworICAg ICAgb25lIDogeworICAgICAgICAgKigudGV4dC5vbmUpCisgICAgICB9ID4g b25lCisgICAgICBvbmVhbmRoYWxmIDogeworICAgICAgICAgKigudGV4dC5v bmUpCisgICAgICB9ID4gb25lYW5kaGFsZgorICAgICAgdHdvIDogeworICAg ICAgKigudGV4dC50d28pCisgICAgICB9ID4gdHdvCit9CmRpZmYgLS1naXQg YS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9ub24tY29udGlndW91cy1wb3dl cnBjLnMgYi9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9ub24tY29udGlndW91 cy1wb3dlcnBjLnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MC4uZTAyYjMyMgotLS0gL2Rldi9udWxsCisrKyBiL2xkL3Rlc3RzdWl0ZS9s ZC1wb3dlcnBjL25vbi1jb250aWd1b3VzLXBvd2VycGMucwpAQCAtMCwwICsx LDggQEAKKwkubWFjaGluZSAicHBjIgorCisJLnNlY3Rpb24gLnRleHQub25l CisJYgkyZgorCisJLnNlY3Rpb24gLnRleHQudHdvCisyOgorCW5vcApkaWZm IC0tZ2l0IGEvbGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvbm9uLWNvbnRpZ3Vv dXMtcG93ZXJwYzY0LmQgYi9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9ub24t Y29udGlndW91cy1wb3dlcnBjNjQuZApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwLi5mZjBlM2ZjCi0tLSAvZGV2L251bGwKKysrIGIvbGQv dGVzdHN1aXRlL2xkLXBvd2VycGMvbm9uLWNvbnRpZ3VvdXMtcG93ZXJwYzY0 LmQKQEAgLTAsMCArMSw1IEBACisjbmFtZTogbm9uLWNvbnRpZ3VvdXMtcG93 ZXJwYzY0Cisjc291cmNlOiBub24tY29udGlndW91cy1wb3dlcnBjLnMKKyNh czogLWE2NAorI2xkOiAtbWVsZjY0cHBjIC0tZW5hYmxlLW5vbi1jb250aWd1 b3VzLXJlZ2lvbnMgLVQgbm9uLWNvbnRpZ3VvdXMtcG93ZXJwYy5sZAorI2Vy cm9yOiAuKkNvdWxkIG5vdCBhc3NpZ24gZ3JvdXAuKgpkaWZmIC0tZ2l0IGEv bGQvdGVzdHN1aXRlL2xkLXBvd2VycGMvcG93ZXJwYy5leHAgYi9sZC90ZXN0 c3VpdGUvbGQtcG93ZXJwYy9wb3dlcnBjLmV4cAppbmRleCA5NGIyZmFjLi44 NGQ3YzljIDEwMDY0NAotLS0gYS9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9w b3dlcnBjLmV4cAorKysgYi9sZC90ZXN0c3VpdGUvbGQtcG93ZXJwYy9wb3dl cnBjLmV4cApAQCAtNDA1LDYgKzQwNSw3IEBAIGlmIFsgc3VwcG9ydHNfcHBj NjQgXSB0aGVuIHsKICAgICBydW5fZHVtcF90ZXN0ICJ0bHNnZCIKICAgICBy dW5fZHVtcF90ZXN0ICJ0bHNsZCIKICAgICBydW5fZHVtcF90ZXN0ICJ0bHNp ZSIKKyAgICBydW5fZHVtcF90ZXN0ICJub24tY29udGlndW91cy1wb3dlcnBj NjQiCiB9CiAKIHJ1bl9kdW1wX3Rlc3QgImxvY2FsZ290IgpAQCAtNDQzLDMg KzQ0NCw1IEBAIHJ1bl9kdW1wX3Rlc3QgInZsZS1tdWx0aXNlZy02IgogCiBy dW5fZHVtcF90ZXN0ICJwcGM0NzYtc2hhcmVkIgogcnVuX2R1bXBfdGVzdCAi cHBjNDc2LXNoYXJlZDIiCisKK3J1bl9kdW1wX3Rlc3QgIm5vbi1jb250aWd1 b3VzLXBvd2VycGMiCi0tIAoyLjcuNAoK --000000000000a8d560059fa6335f--