From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1FA05EB8FAF for ; Wed, 6 Sep 2023 06:30:40 +0000 (UTC) Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.2706.1693981834953345991 for ; Tue, 05 Sep 2023 23:30:36 -0700 Authentication-Results: mx.groups.io; dkim=none (message not signed); spf=pass (domain: loongson.cn, ip: 114.242.206.163, mailfrom: zangruochen@loongson.cn) Received: from loongson.cn (unknown [112.20.109.102]) by gateway (Coremail) with SMTP id _____8AxDOuCHPhkxyUgAA--.59183S3; Wed, 06 Sep 2023 14:30:26 +0800 (CST) Received: from zangruochen$loongson.cn ( [112.20.109.102] ) by ajax-webmail-localhost.localdomain (Coremail) ; Wed, 6 Sep 2023 14:30:23 +0800 (GMT+08:00) X-Originating-IP: [112.20.109.102] Date: Wed, 6 Sep 2023 14:30:23 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: =?UTF-8?B?6Ien6Iul5bCY?= To: "Mark Hatle" Cc: openembedded-core@lists.openembedded.org Subject: Re: Re: [OE-core] [PATCH][pseudo] Move __*xstat* and __xmknod functions to new subport 'old__x' X-Priority: 3 X-Mailer: Coremail Webmail Server Version 2023.1-cmXT5 build 20230523(b0518e05) Copyright (c) 2002-2023 www.mailtech.cn .loongson.cn In-Reply-To: <202306102151338cf390c4@mail.local> References: <20230531030126.5837-1-mark.hatle@amd.com> <20230601104342472d20fd@mail.local> <8b3a433d-78c8-088c-fdcb-ab98f37ffd49@amd.com> <2023060114203192a3fe97@mail.local> <9200e4d9-d096-d0ce-3467-4c5372b7d35e@kernel.crashing.org> <202306102151338cf390c4@mail.local> X-CM-CTRLDATA: apB9xGZvb3Rlcl9odG09NzQ1Njk6MTAwMg== Content-Type: multipart/alternative; boundary="----=_Part_282043_678903190.1693981823832" MIME-Version: 1.0 Message-ID: <279ccf4.1433b.18a692f535a.Coremail.zangruochen@loongson.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: AQAAf8AxnM5_HPhkoipuAA--.12799W X-CM-SenderInfo: p2dqw2xxrfxv3q6o00pqjv00gofq/1tbiAQAGA2T3-DUAkgABsN X-Coremail-Antispam: 1Uk129KBj9fXoWDJF4fXw1DJrWftw1rWryrKrX_yoW7WF1xCo W3Kr47XF48Ar15Ar15A3s8JayI934xJF4UJFWkGws7JF17ta45CrWUtw45ua1UWry5GFy3 GFyrKa4vvFWF9r15l-sFpf9Il3svdjkaLaAFLSUrUUUUUb8apTn2vfkv8UJUUUU8wcxFpf 9Il3svdxBIdaVrn48qx4xG67k08I80eVWUJVW8JwAqx4xG64xvF2IEw4CE5I8CrVC2j2Wl 5I8CrVAKz4kIr2xC04v26r1j6r4UMc02F40E42I26xC2a48xYxn0WfASr-VFAUDa7-sFnT 9fnUUIcSsGvfJTRUUUbBAYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1xkIjI8I6I8E6xAIw20E Y4v20xvaj40_Wr0E3s1l1IIY67AEw4v_JrI_Jryl8cAvFVAK0II2c7xJM28CjxkF64kEwV A0rcxSw2x7M28EF7xvwVC0I7IYx2IY67AKxVWUCVW8JwA2z4x0Y4vE2Ix0cI8IcVCY1x02 67AKxVWUJVW8JwA2z4x0Y4vEx4A2jsIE14v26r4UJVWxJr1l84ACjcxK6I8E87Iv6xkF7I 0E14v26r4UJVWxJr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqjxCEc2xF0cIa020Ex4CE 44I27wAqx4xG67k08I80eVWUJVW8JwAqx4xG64xvF2IEw4CE5I8CrVC2j2Wl5I8CrVAKz4 kIr2xC04v26r1j6r4UMc02F40E42I26xC2a48xMcIj6xIIjxv20xvE14v26r1j6r18McIj 6I8E87Iv67AKxVWUJVW8JwAm72CE4IkC6x0Yz7v_Jr0_Gr1lF7xvr2IYc2Ij64vIr41lFc xC0VAYjxAxZF0Ew4CEw7xC0wACY4xI67k04243AVC20s07MxAIw28IcxkI7VAKI48JMxC2 0s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_JrI_JrWlx2IqxVCjr7xvwVAFwI 0_JrI_JrWlx4CE17CEb7AF67AKxVWUXVWUAwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE 14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20x vaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVWU JVW8JbIYCTnIWIevJa73UjIFyTuYvjxU2NtIUUUUU List-Id: X-Webhook-Received: from li982-79.members.linode.com [45.33.32.79] by aws-us-west-2-korg-lkml-1.web.codeaurora.org with HTTPS for ; Wed, 06 Sep 2023 06:30:40 -0000 X-Groupsio-URL: https://lists.openembedded.org/g/openembedded-core/message/187277 ------=_Part_282043_678903190.1693981823832 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 SGVsbG8sIE1hcmsKCiB3aGF0IGlzIHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGlzIHBhdGNoPwoK SXMgdGhlcmUgYW55dGhpbmcgSSBjYW4gZG8gdG8gaGVscD8KCgoKLS0tLS3ljp/lp4vpgq7ku7Yt LS0tLQrlj5Hku7bkuro6IkFsZXhhbmRyZSBCZWxsb25pIHZpYSBsaXN0cy5vcGVuZW1iZWRkZWQu b3JnIiA8YWxleGFuZHJlLmJlbGxvbmk9Ym9vdGxpbi5jb21AbGlzdHMub3BlbmVtYmVkZGVkLm9y Zz4K5Y+R6YCB5pe26Ze0OjIwMjMtMDYtMTEgMDU6NTE6MzMgKOaYn+acn+aXpSkK5pS25Lu25Lq6 OiAiTWFyayBIYXRsZSIgPG1hcmsuaGF0bGVAa2VybmVsLmNyYXNoaW5nLm9yZz4K5oqE6YCBOiBv cGVuZW1iZWRkZWQtY29yZUBsaXN0cy5vcGVuZW1iZWRkZWQub3JnCuS4u+mimDogUmU6IFtPRS1j b3JlXSBbUEFUQ0hdW3BzZXVkb10gTW92ZSBfXyp4c3RhdCogYW5kIF9feG1rbm9kIGZ1bmN0aW9u cyB0byBuZXcgc3VicG9ydCAnb2xkX194JwoKCkhlbGxvLAoKCgpJIGRpZCB0aGUgY2hhbmdlIGFu ZCBpdCBzdGlsbCBjYXVzZXM6CgpodHRwczovL2F1dG9idWlsZGVyLnlvY3RvcHJvamVjdC5vcmcv dHlwaG9vbi8jL2J1aWxkZXJzLzc5L2J1aWxkcy81MzE2L3N0ZXBzLzE0L2xvZ3Mvc3RkaW8KaHR0 cHM6Ly9hdXRvYnVpbGRlci55b2N0b3Byb2plY3Qub3JnL3R5cGhvb24vIy9idWlsZGVycy84Ni9i dWlsZHMvNTMwOC9zdGVwcy8xNC9sb2dzL3N0ZGlvCgoyMDIzLTA2LTEwIDE0OjQ3OjMxLDk2MiAt IG9lLXNlbGZ0ZXN0IC0gSU5GTyAtID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KMjAyMy0wNi0xMCAxNDo0NzozMSw5 ODEgLSBvZS1zZWxmdGVzdCAtIElORk8gLSBGQUlMOiB3cmFwcGVyLldyYXBwZXJUZXN0cy50ZXN0 X3NoZWJhbmdfd3JhcHBlciAoc3VidW5pdC5SZW1vdGVkVGVzdENhc2UpCjIwMjMtMDYtMTAgMTQ6 NDc6MzEsOTgxIC0gb2Utc2VsZnRlc3QgLSBJTkZPIC0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoyMDIzLTA2LTEw IDE0OjQ3OjMxLDk4NSAtIG9lLXNlbGZ0ZXN0IC0gSU5GTyAtIHRlc3R0b29scy50ZXN0cmVzdWx0 LnJlYWwuX1N0cmluZ0V4Y2VwdGlvbjogVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3Qp OgogIEZpbGUgIi9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3QtY2VudG9z L2J1aWxkL21ldGEvbGliL29lcWEvc2VsZnRlc3QvY2FzZXMvd3JhcHBlci5weSIsIGxpbmUgMTYs IGluIHRlc3Rfc2hlYmFuZ193cmFwcGVyCiAgICByZXMgPSBiaXRiYWtlKCJjbWRsaW5lLXNoZWJh bmctd3JhcHBlci10ZXN0IC1jIGluc3RhbGwiLCBpZ25vcmVfc3RhdHVzPUZhbHNlKQogIEZpbGUg Ii9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3QtY2VudG9zL2J1aWxkL21l dGEvbGliL29lcWEvdXRpbHMvY29tbWFuZHMucHkiLCBsaW5lIDIzNCwgaW4gYml0YmFrZQogICAg cmV0dXJuIHJ1bkNtZChjbWQsIGlnbm9yZV9zdGF0dXMsIHRpbWVvdXQsIG91dHB1dF9sb2c9b3V0 cHV0X2xvZywgKipvcHRpb25zKQogIEZpbGUgIi9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIv b2Utc2VsZnRlc3QtY2VudG9zL2J1aWxkL21ldGEvbGliL29lcWEvdXRpbHMvY29tbWFuZHMucHki LCBsaW5lIDIxMiwgaW4gcnVuQ21kCiAgICByYWlzZSBBc3NlcnRpb25FcnJvcigiQ29tbWFuZCAn JXMnIHJldHVybmVkIG5vbi16ZXJvIGV4aXQgc3RhdHVzICVkOlxuJXMiICUgKGNvbW1hbmQsIHJl c3VsdC5zdGF0dXMsIGV4Y19vdXRwdXQpKQpBc3NlcnRpb25FcnJvcjogQ29tbWFuZCAnYml0YmFr ZSAgY21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdCAtYyBpbnN0YWxsJyByZXR1cm5lZCBub24t emVybyBleGl0IHN0YXR1cyAxOgoKRVJST1I6IGNtZGxpbmUtc2hlYmFuZy13cmFwcGVyLXRlc3Qt MS4wLXIwIGRvX2luc3RhbGw6IFdyYXBwZXIgcGVybWlzc2lvbnMgZm9yIC9ob21lL3Bva3lidWls ZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3QtY2VudG9zL2J1aWxkL2J1aWxkLXN0LTEzNDk3NDEv dG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9jbWRsaW5lLXNoZWJhbmctd3JhcHBlci10ZXN0 LzEuMC1yMC9pbWFnZS91c3IvYmluL3Rlc3QucmVhbCBub3QgcHJlc2VydmVkLiBGb3VuZCA2MDAg YnV0IGV4cGVjdGVkIDQwMApFUlJPUjogY21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdC0xLjAt cjAgZG9faW5zdGFsbDogRXhlY3V0aW9uRXJyb3IoJy9ob21lL3Bva3lidWlsZC95b2N0by13b3Jr ZXIvb2Utc2VsZnRlc3QtY2VudG9zL2J1aWxkL2J1aWxkLXN0LTEzNDk3NDEvdG1wL3dvcmsvY29y ZTItNjQtcG9reS1saW51eC9jbWRsaW5lLXNoZWJhbmctd3JhcHBlci10ZXN0LzEuMC1yMC90ZW1w L3J1bi5kb19pbnN0YWxsLjIzNzYzNDAnLCAxLCBOb25lLCBOb25lKQpFUlJPUjogTG9nZmlsZSBv ZiBmYWlsdXJlIHN0b3JlZCBpbjogL2hvbWUvcG9reWJ1aWxkL3lvY3RvLXdvcmtlci9vZS1zZWxm dGVzdC1jZW50b3MvYnVpbGQvYnVpbGQtc3QtMTM0OTc0MS90bXAvd29yay9jb3JlMi02NC1wb2t5 LWxpbnV4L2NtZGxpbmUtc2hlYmFuZy13cmFwcGVyLXRlc3QvMS4wLXIwL3RlbXAvbG9nLmRvX2lu c3RhbGwuMjM3NjM0MApOT1RFOiByZWNpcGUgY21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdC0x LjAtcjA6IHRhc2sgZG9faW5zdGFsbDogRmFpbGVkCkVSUk9SOiBUYXNrICgvaG9tZS9wb2t5YnVp bGQveW9jdG8td29ya2VyL29lLXNlbGZ0ZXN0LWNlbnRvcy9idWlsZC9idWlsZC1zdC0xMzQ5NzQx L21ldGEtc2VsZnRlc3QvcmVjaXBlcy10ZXN0L3dyYXBwZXIvY21kbGluZS1zaGViYW5nLXdyYXBw ZXItdGVzdC5iYjpkb19pbnN0YWxsKSBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJzEnCgoKT24gMDEv MDYvMjAyMyAwOTo0NjowMC0wNTAwLCBNYXJrIEhhdGxlIHdyb3RlOgo+IE9rLCBzbyBhZGRpbmcg dGhpcyBwYXRjaCB3aWxsIG1vdmUgZnJvbSB0aGUgbGVnYWN5IGJlaGF2aW9yIHRvIHRoZSBuZXcK PiBiZWhhdmlvciAobm90IHVzaW5nIHRoZSBsZWdhY3kgc3RhdCBpbnRlcmZhY2VzKS4gIFRoaXMg d2lsbCBvbmx5IHdvcmsgb24KPiBtYWNoaW5lcyB3aGVyZSB0aGUgc29mdHdhcmUgaGFzIGJlZW4g YnVpbHQgZm9yIG9ubHkgdGhlIG5ld2VyIGV4cG9zZWQKPiBpbnRlcmZhY2VzLgo+IAo+IEkgYW0g c3VycHJpc2VkIERlYmlhbiAxMSBmYWlsZWQsIGFzIGl0IHNob3VsZCBoYXZlIGJlZW4gbmV3IGVu b3VnaCB0aGUgb2xkCj4gaW50ZXJmYWNlcyBkb24ndCBleGlzdC4gIEkgZG9uJ3Qga25vdyBhYm91 dCBkZWJpYW4xMSBvciBzdHJlYW04Lgo+IAo+IENhbiB5b3UgbW9kaWZ5IHRoZSBwYXRjaCB5b3Ug YXBwbGllZCBhbmQgcmUtcnVuIHlvdXIgdGVzdHM/ICAgVHJ5IHRoaXMgY2hhbmdlOgo+IAo+IElu IHRoZSBwYXRjaDogbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9maWxlcy9uZXdfZ2xpYmMu cGF0Y2gsIGdvIGRvd24gdG8KPiB0aGUgcGF0Y2ggY2h1bmsgZm9yIHBvcnRzL2xpbnV4L3N1YnBv cnRzIGFuZCB0aGVuIGNoYW5nZToKPiAKPiArK2lmICR7Q0N9IC1jIC1vIGR1bW15Lm8gZHVtbXku YyA+L2Rldi9udWxsIDI+JjE7IHRoZW4KPiArKyAgICAgICAgZWNobyAibGludXgvb2xkX194Igo+ ICsrZmkKPiAKPiB0bwo+IAo+ICsraWYgdHJ1ZTsgdGhlbgo+ICsrICAgICAgICBlY2hvICJsaW51 eC9vbGRfX3giCj4gKytmaQo+IAo+IAo+IFRoZSBjaGFuZ2UgYWJvdmUgU0hPVUxEIHJlc3RvcmUg dGhlIG9sZCBjb21wYXRpYmxlIGludGVyZmFjZSBiZWhhdmlvciB0bwo+IHBzZXVkby4gIFRoaXMg d2lsbCB2ZXJpZnkgdGhhdCB0aGUgb3RoZXIgY2hhbmdlcyBkaWQgbm90IGludHJvZHVjZSB0aGlz Cj4gZmF1bHQuCj4gCj4gCj4gQXNzdW1pbmcgdGhpcyB3b3JrcywgdGhlIGludGVyZ3JhdGlvbiBw YXRjaCB0aGF0IEknbGwgd29yayBvbiB3aWxsIGJlCj4gZGlmZmVyZW50LiAgVGhlIGNvZGUgY2hl Y2staW4gd2lsbCBiZSBzaW1pbGFyIHRvIHRoZSBvcmlnaW5hbCBwYXRoIHByb3Bvc2VkCj4gKHdp dGggdGhlIFJFQURNRSB1cGRhdGVkKS4gIEEgbG9jYWwgcGF0Y2ggdG8gdGhlIGludGVncmF0aW9u IHdpbGwgZXhpc3QgdG8KPiBtYWtlIHRoZSBjaGFuZ2UgbGlzdGVkIGFib3ZlIGZvciB4ODYsIHg4 Nl82NCBhbmQgYWFyY2g2NC4gIFRoaXMgd2lsbCByZXN0b3JlCj4gbGVnYWN5IGJlaGF2aW9yIG9u IHRob3NlIGFyY2hpdGVjdHVyZXMgdW50aWwgd2UgZ2V0IHRvIGEgcG9pbnQgd2hlcmUgdGhlCj4g c3VzcGVjdCBpbnRlcmZhY2VzIGFyZSBubyBsb25nZXIgYmVpbmcgdXNlZC4KPiAKPiBJIHdpbGwg YWxzbyBiZSBhZGRpbmcgYSBzZWNvbmQgY29tbWl0IHRoYXQgZGVmaW5lcyB3cmFwcGVycyBmb3Ig dGhlIG9ic29sZXRlCj4gaW50ZXJmYWNlcywgc28gaWYgdGhleSBBUkUgdXNlZCB0aGV5IHdpbGwg dHJpZ2dlciBhbiBhYm9ydCwgc28gd2UgY2FuIG1vcmUKPiBxdWlja2x5IGRldGVjdCB0aGUgbWFj aGluZXMuICBVbHRpbWF0ZWx5IHdlIHdhbnQgdG8gc3RvcCB3cmFwcGluZyB0aGUKPiBvYnNvbGV0 ZSBpbnRlcmZhY2VzIG9uY2UgdGhlIGRpc3RyaWJ1dGlvbnMgYXJlIG5vIGxvbmdlciB1c2luZyB0 aGVtLCBidXQgd2UKPiBuZWVkIGEgd2F5IHRvIGRldGVjdCB0aGlzLgo+IAo+IChJIHdvdWxkIGxp a2UgYSBzd2l0Y2ggdG8gY29uZmlndXJlIHRvIGVuYWJsZSB0aGUgb2Jzb2xldGUgaW50ZXJmYWNl cywgYnV0Cj4gSSd2ZSBub3QgZmlndXJlZCBvdXQgaG93IHRvIHBhc3MgY29uZmlndXJlIG9wdGlv bnMgaW50byB0aGUgc3VicG9ydHMKPiBmdW5jdGlvbiBjYWxsLiBJJ2xsIGNvbnRpbnVlIHRvIGxv b2sgaW50byB0aGF0LCBidXQgaXQgcmVhbGx5IHNob3VsZG4ndCBiZQo+IG5lY2Vzc2FyeSBvdXRz aWRlIG9mIHRoZSBZUCB1c2UtY2FzZSB3aGVyZSB3ZSB3YW50IG9uZSBwc2V1ZG8gdG8gcnVuIGFj cm9zcwo+IGEgdmFyaWV0eSBvZiBob3N0cy4pCj4gCj4gLS1NYXJrCj4gCj4gT24gNi8xLzIzIDk6 MjAgQU0sIEFsZXhhbmRyZSBCZWxsb25pIHZpYSBsaXN0cy5vcGVuZW1iZWRkZWQub3JnIHdyb3Rl Ogo+ID4gT24gMDEvMDYvMjAyMyAwOToxNToyNS0wNTAwLCBNYXJrIEhhdGxlIHdyb3RlOgo+ID4g PiBEaWQgeW91IG9yIHNvbWVvbmUgZWxzZSBtYW51YWxseSBhZGQgdGhpcyBwYXRjaCBmb3IgdGVz dGluZz8gIEkgd2Fzbid0IGF3YXJlIHRoYXQgaXQgaGFkIGdvbmUgaW4gZm9yIGFueSBzb3J0IG9m IHRlc3RpbmcgZXl0Lgo+ID4gPiAKPiA+ID4gSSdkIGxpa2UgdG8gc2VlIHRoZSBpbnRlZ3JhdGlv biB1c2VkIHNvIEkgY2FuIHVuZGVyc3RhbmQgaG93IHRoZSB0ZXN0IHdhcyBwZXJmb3JtZWQuCj4g PiAKPiA+IFN1cmUsIEkgYWRkZWQgdGhlIHBhdGNoLCBoZXJlOgo+ID4gCj4gPiBodHRwczovL2dp dC55b2N0b3Byb2plY3Qub3JnL3Bva3ktY29udHJpYi9jb21taXQvP2g9YWJlbGxvbmkvbWFzdGVy LW5leHQmaWQ9OWI4Mjk4YmY2ZGM2Cj4gPiAKPiA+ID4gCj4gPiA+IC0tTWFyawo+ID4gPiAKPiA+ ID4gT24gNi8xLzIzIDU6NDMgQU0sIEFsZXhhbmRyZSBCZWxsb25pIHdyb3RlOgo+ID4gPiA+IEhl bGxvIE1hcmssCj4gPiA+ID4gCj4gPiA+ID4gVGhpcyBjYXVzZXMgZmFpbHVyZXMgb24gb3BlbnN1 c2UxNTQgYW5kIGRlYmlhbjExIHdvcmtlcnMuIEkndmUgdHJpZWQgdG8KPiA+ID4gPiBnZXQgcHNl dWRvLmxvZyBmb3IgdGhlIGZhaWx1cmVzIGJ1dCB0aGV5IGFyZSBub3QgcHJlc2VudCBvbiBkZWJp YW4xMSBhbmQKPiA+ID4gPiBhcmUgbm90IGludGVyZXN0aW5nIGZvciBvcGVuc3VzZTE1NC4KPiA+ ID4gPiAKPiA+ID4gPiBkZWJpYW4xMSBmYWlsdXJlcyBsb29rIGxpa2UgdGhhdDoKPiA+ID4gPiAK PiA+ID4gPiBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvcHJvamVjdC5vcmcvdHlwaG9vbi8jL2J1 aWxkZXJzLzQyL2J1aWxkcy83MTg0L3N0ZXBzLzEyL2xvZ3Mvc3RkaW8KPiA+ID4gPiBodHRwczov L2F1dG9idWlsZGVyLnlvY3RvcHJvamVjdC5vcmcvdHlwaG9vbi8jL2J1aWxkZXJzLzQyL2J1aWxk cy83MTg0L3N0ZXBzLzEzL2xvZ3Mvc3RkaW8KPiA+ID4gPiBodHRwczovL2F1dG9idWlsZGVyLnlv Y3RvcHJvamVjdC5vcmcvdHlwaG9vbi8jL2J1aWxkZXJzLzc0L2J1aWxkcy83MTUyL3N0ZXBzLzEy L2xvZ3Mvc3RkaW8KPiA+ID4gPiBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvcHJvamVjdC5vcmcv dHlwaG9vbi8jL2J1aWxkZXJzLzc0L2J1aWxkcy83MTUyL3N0ZXBzLzEzL2xvZ3Mvc3RkaW8KPiA+ ID4gPiAKPiA+ID4gPiBvcGVuc3VzZToKPiA+ID4gPiAKPiA+ID4gPiBodHRwczovL2F1dG9idWls ZGVyLnlvY3RvcHJvamVjdC5vcmcvdHlwaG9vbi8jL2J1aWxkZXJzLzEyMC9idWlsZHMvMjgxOS9z dGVwcy8xNC9sb2dzL3N0ZGlvCj4gPiA+ID4gaHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0b3Byb2pl Y3Qub3JnL3R5cGhvb24vIy9idWlsZGVycy8yMC9idWlsZHMvNzU5Ny9zdGVwcy8xMy9sb2dzL3N0 ZGlvCj4gPiA+ID4gaHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0b3Byb2plY3Qub3JnL3R5cGhvb24v Iy9idWlsZGVycy81My9idWlsZHMvNzIxMS9zdGVwcy8xMy9sb2dzL3N0ZGlvCj4gPiA+ID4gCj4g PiA+ID4gc3RyZWFtOCBpcyBzaW1pbGFyOgo+ID4gPiA+IAo+ID4gPiA+IGh0dHBzOi8vYXV0b2J1 aWxkZXIueW9jdG9wcm9qZWN0Lm9yZy90eXBob29uLyMvYnVpbGRlcnMvMTE3L2J1aWxkcy8yOTM5 L3N0ZXBzLzEzL2xvZ3Mvc3RkaW8KPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiBJIGFsc28gc3Vz cGVjdCB0aGlzIGNhdXNlczoKPiA+ID4gPiAKPiA+ID4gPiBFUlJPUjogY21kbGluZS1zaGViYW5n LXdyYXBwZXItdGVzdC0xLjAtcjAgZG9faW5zdGFsbDogV3JhcHBlciBwZXJtaXNzaW9ucyBmb3Ig L2hvbWUvcG9reWJ1aWxkL3lvY3RvLXdvcmtlci9vZS1zZWxmdGVzdC1mZWRvcmEvYnVpbGQvYnVp bGQtc3QtMTc4MjMwMC90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2NtZGxpbmUtc2hlYmFu Zy13cmFwcGVyLXRlc3QvMS4wLXIwL2ltYWdlL3Vzci9iaW4vdGVzdC5yZWFsIG5vdCBwcmVzZXJ2 ZWQuIEZvdW5kIDYwMCBidXQgZXhwZWN0ZWQgNDAwCj4gPiA+ID4gRVJST1I6IGNtZGxpbmUtc2hl YmFuZy13cmFwcGVyLXRlc3QtMS4wLXIwIGRvX2luc3RhbGw6IEV4ZWN1dGlvbkVycm9yKCcvaG9t ZS9wb2t5YnVpbGQveW9jdG8td29ya2VyL29lLXNlbGZ0ZXN0LWZlZG9yYS9idWlsZC9idWlsZC1z dC0xNzgyMzAwL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvY21kbGluZS1zaGViYW5nLXdy YXBwZXItdGVzdC8xLjAtcjAvdGVtcC9ydW4uZG9faW5zdGFsbC4zMjI2ODknLCAxLCBOb25lLCBO b25lKQo+ID4gPiA+IEVSUk9SOiBMb2dmaWxlIG9mIGZhaWx1cmUgc3RvcmVkIGluOiAvaG9tZS9w b2t5YnVpbGQveW9jdG8td29ya2VyL29lLXNlbGZ0ZXN0LWZlZG9yYS9idWlsZC9idWlsZC1zdC0x NzgyMzAwL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvY21kbGluZS1zaGViYW5nLXdyYXBw ZXItdGVzdC8xLjAtcjAvdGVtcC9sb2cuZG9faW5zdGFsbC4zMjI2ODkKPiA+ID4gPiBOT1RFOiBy ZWNpcGUgY21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdC0xLjAtcjA6IHRhc2sgZG9faW5zdGFs bDogRmFpbGVkCj4gPiA+ID4gRVJST1I6IFRhc2sgKC9ob21lL3Bva3lidWlsZC95b2N0by13b3Jr ZXIvb2Utc2VsZnRlc3QtZmVkb3JhL2J1aWxkL2J1aWxkLXN0LTE3ODIzMDAvbWV0YS1zZWxmdGVz dC9yZWNpcGVzLXRlc3Qvd3JhcHBlci9jbWRsaW5lLXNoZWJhbmctd3JhcHBlci10ZXN0LmJiOmRv X2luc3RhbGwpIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAnMScKPiA+ID4gPiAKPiA+ID4gPiAKPiA+ ID4gPiAKPiA+ID4gPiBPbiAzMC8wNS8yMDIzIDIwOjAxOjI2LTA3MDAsIE1hcmsgSGF0bGUgdmlh IGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcgd3JvdGU6Cj4gPiA+ID4gPiBDaGFuZ2VzIHRvIGVsaW1p bmF0ZSBfXyouYyBmdW5jdGlvbiB1c2FnZSB3ZXJlIGJhc2VkIG9uIHRoZSBwYXRjaDoKPiA+ID4g PiA+IAo+ID4gPiA+ID4gICAgICBGcm9tOiBKaWFMaW5nIFpoYW5nIDx6aGFuZ2ppYWxpbmdAbG9v bmdzb24uY24+Cj4gPiA+ID4gPiAgICAgIFN1YmplY3Q6IFtPRS1jb3JlXSBbUEFUQ0ggdjRdIEZp eGVzIHBzZXVkbyBidWlsZCBpbiBsb29uZ2FyY2g2NAo+ID4gPiA+ID4gCj4gPiA+ID4gPiAgICAg IEZpeGVzIFtZT0NUTyAjMTUxMTBdCj4gPiA+ID4gPiAKPiA+ID4gPiA+ICAgICAgU29tZSBmdW5j dGlvbnMgdXNlZCBpbiB0aGUgcHJvamVjdCBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIGdsaWJjLiBB ZnRlciB0aGUgcmVtb3ZhbCBvZiB0aGVzZSBmdW5jdGlvbnMsCj4gPiA+ID4gPiAgICAgIHRoZSBh cmNoaXRlY3R1cmUgaW4gZ2xpYmMgd2lsbCBub3QgaW5jbHVkZSB0aGUgcmVtb3ZlZCBmdW5jdGlv bnMuCj4gPiA+ID4gPiAgICAgIFRoaXMgcGF0Y2ggcmVzb2x2ZXMgdGhlIHVzYWdlIGFuZCBjb21w aWxhdGlvbiBpc3N1ZXMgb24gdGhlIGxvb25nYXJjaDY0IGFyY2hpdGVjdHVyZQo+ID4gPiA+ID4g Cj4gPiA+ID4gPiAgICAgIFNpZ25lZC1vZmYtYnk6IEppYUxpbmcgWmhhbmcgPHpoYW5namlhbGlu Z0Bsb29uZ3Nvbi5jbj4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gVGhpcyBjb2RlIGlzIE5PVCBsb29u Z2FyY2g2NCBzcGVjaWZpYywgYnV0IGltcGxlbWVudHMgc3VwcG9ydCBmb3IgbmV3ZXIKPiA+ID4g PiA+IGdsaWJjIHdoZXJlIHRoZSBfXyp4KnN0YXQgYW5kIF9feG1rbm9kKiBmdW5jdGlvbnMgYXJl IG5vIGxvbmdlciBwcmVzZW50Cj4gPiA+ID4gPiBpbiBoZWFkZXJzIGFzIG9mIHJvdWdobHkgZ2xp YmMgMi4zMy4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gVGhlIGZ1bmN0aW9ucywgb24geDg2LCB4ODZf NjQgYW5kIGFhcmNoNjQgbWF5IHN0aWxsIGJlIHByZXNlbnQgZm9yCj4gPiA+ID4gPiBjb21wYXRp YmlsaXR5IGJ1dCBuZXcgc29mdHdhcmUgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2luZyBpdC4gIFBz ZXVkbwo+ID4gPiA+ID4gY2FuIGxpa2VseSBjaGFuZ2UgaXQncyBkZWZhdWx0IGJlaGF2aW9yIHVu bGVzcyBzdXBwb3J0IGZvciByZWFsbHkgb2xkCj4gPiA+ID4gPiBob3N0cyBpcyBzdGlsbCBkZXNp cmVkLgo+ID4gPiA+ID4gCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBNYXJrIEhhdGxlIDxtYXJr LmhhdGxlQGFtZC5jb20+Cj4gPiA+ID4gPiAtLS0KPiA+ID4gPiA+ICAgIHBvcnRzL2xpbnV4L2d1 dHMvZm9wZW42NC5jICAgICAgICAgICAgICAgICAgIHwgIDQgKy0KPiA+ID4gPiA+ICAgIHBvcnRz L2xpbnV4L2d1dHMvZnJlb3BlbjY0LmMgICAgICAgICAgICAgICAgIHwgIDQgKy0KPiA+ID4gPiA+ ICAgIHBvcnRzL2xpbnV4L2d1dHMvZnN0YXQuYyAgICAgICAgICAgICAgICAgICAgIHwgIDggKyst Cj4gPiA+ID4gPiAgICBwb3J0cy9saW51eC9ndXRzL2ZzdGF0NjQuYyAgICAgICAgICAgICAgICAg ICB8IDE0ICsrKy0KPiA+ID4gPiA+ICAgIHBvcnRzL2xpbnV4L2d1dHMvZnN0YXRhdC5jICAgICAg ICAgICAgICAgICAgIHwgIDkgKystCj4gPiA+ID4gPiAgICBwb3J0cy9saW51eC9ndXRzL2ZzdGF0 YXQ2NC5jICAgICAgICAgICAgICAgICB8IDQyICsrKysrKysrKysrLQo+ID4gPiA+ID4gICAgcG9y dHMvbGludXgvZ3V0cy9sc3RhdC5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQo+ID4gPiA+ ID4gICAgcG9ydHMvbGludXgvZ3V0cy9sc3RhdDY0LmMgICAgICAgICAgICAgICAgICAgfCAgMiAr LQo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvZ3V0cy9ta25vZC5jICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvZ3V0cy9ta25vZGF0LmMgICAgICAg ICAgICAgICAgICAgfCA3MSArKysrKysrKysrKysrKysrKysrLQo+ID4gPiA+ID4gICAgcG9ydHMv bGludXgvZ3V0cy9ta29zdGVtcDY0LmMgICAgICAgICAgICAgICAgfCAgMiArLQo+ID4gPiA+ID4g ICAgcG9ydHMvbGludXgvZ3V0cy9vcGVuYXQuYyAgICAgICAgICAgICAgICAgICAgfCAxOCArKy0t LQo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvZ3V0cy9zdGF0LmMgICAgICAgICAgICAgICAgICAg ICAgfCAgMiArLQo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvZ3V0cy9zdGF0NjQuYyAgICAgICAg ICAgICAgICAgICAgfCAgMiArLQo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvb2xkX194L1JFQURN RSAgICAgICAgICAgICAgICAgICAgfCAyOCArKysrKysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGlu dXgveyA9PiBvbGRfX3h9L2d1dHMvX19meHN0YXQuYyAgICAgfCAgMAo+ID4gPiA+ID4gICAgcG9y dHMvbGludXgveyA9PiBvbGRfX3h9L2d1dHMvX19meHN0YXQ2NC5jICAgfCAgMAo+ID4gPiA+ID4g ICAgcG9ydHMvbGludXgveyA9PiBvbGRfX3h9L2d1dHMvX19meHN0YXRhdC5jICAgfCAgMAo+ID4g PiA+ID4gICAgcG9ydHMvbGludXgveyA9PiBvbGRfX3h9L2d1dHMvX19meHN0YXRhdDY0LmMgfCAg MAo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgveyA9PiBvbGRfX3h9L2d1dHMvX19seHN0YXQuYyAg ICAgfCAgMAo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgveyA9PiBvbGRfX3h9L2d1dHMvX19seHN0 YXQ2NC5jICAgfCAgMAo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgveyA9PiBvbGRfX3h9L2d1dHMv X194bWtub2QuYyAgICAgfCAgMAo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgveyA9PiBvbGRfX3h9 L2d1dHMvX194bWtub2RhdC5jICAgfCAgMAo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgveyA9PiBv bGRfX3h9L2d1dHMvX194c3RhdC5jICAgICAgfCAgMAo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgv eyA9PiBvbGRfX3h9L2d1dHMvX194c3RhdDY0LmMgICAgfCAgMAo+ID4gPiA+ID4gICAgcG9ydHMv bGludXgvb2xkX194L2d1dHMvZnN0YXQuYyAgICAgICAgICAgICAgfCAxNSArKysrKwo+ID4gPiA+ ID4gICAgcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXQ2NC5jICAgICAgICAgICAgfCAxNSAr KysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXRhdC5jICAgICAg ICAgICAgfCAxNSArKysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0 YXRhdDY0LmMgICAgICAgICAgfCAxNSArKysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvb2xk X194L2d1dHMvbHN0YXQuYyAgICAgICAgICAgICAgfCAxNSArKysrKwo+ID4gPiA+ID4gICAgcG9y dHMvbGludXgvb2xkX194L2d1dHMvbHN0YXQ2NC5jICAgICAgICAgICAgfCAxNSArKysrKwo+ID4g PiA+ID4gICAgcG9ydHMvbGludXgvb2xkX194L2d1dHMvbWtub2QuYyAgICAgICAgICAgICAgfCAx NSArKysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvb2xkX194L2d1dHMvbWtub2RhdC5jICAg ICAgICAgICAgfCAxNSArKysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvb2xkX194L2d1dHMv bWtvc3RlbXA2NC5jICAgICAgICAgfCA1MyArKysrKysrKysrKysrKysKPiA+ID4gPiA+ICAgIHBv cnRzL2xpbnV4L29sZF9feC9wb3J0ZGVmcy5oICAgICAgICAgICAgICAgIHwgNDAgKysrKysrKysr KysKPiA+ID4gPiA+ICAgIHBvcnRzL2xpbnV4L29sZF9feC9wc2V1ZG9fd3JhcHBlcnMuYyAgICAg ICAgIHwgNDggKysrKysrKysrKysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGludXgvb2xkX194L3dy YXBmdW5jcy5pbiAgICAgICAgICAgICAgfCAxOCArKysrKwo+ID4gPiA+ID4gICAgcG9ydHMvbGlu dXgvcG9ydGRlZnMuaCAgICAgICAgICAgICAgICAgICAgICAgfCAxOSAtLS0tLS0KPiA+ID4gPiA+ ICAgIHBvcnRzL2xpbnV4L3BzZXVkb193cmFwcGVycy5jICAgICAgICAgICAgICAgIHwgNDMgLS0t LS0tLS0tLS0tCj4gPiA+ID4gPiAgICBwb3J0cy9saW51eC9zdWJwb3J0cyAgICAgICAgICAgICAg ICAgICAgICAgICB8IDE1ICsrKysrCj4gPiA+ID4gPiAgICBwb3J0cy9saW51eC93cmFwZnVuY3Mu aW4gICAgICAgICAgICAgICAgICAgICB8IDI2ICsrKy0tLS0KPiA+ID4gPiA+ICAgIHBzZXVkb19j bGllbnQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMzggKysrKysrKysrLS0KPiA+ ID4gPiA+ICAgIDQyIGZpbGVzIGNoYW5nZWQsIDUyMCBpbnNlcnRpb25zKCspLCAxMTAgZGVsZXRp b25zKC0pCj4gPiA+ID4gPiAgICBjcmVhdGUgbW9kZSAxMDA2NDQgcG9ydHMvbGludXgvb2xkX194 L1JFQURNRQo+ID4gPiA+ID4gICAgcmVuYW1lIHBvcnRzL2xpbnV4L3sgPT4gb2xkX194fS9ndXRz L19fZnhzdGF0LmMgKDEwMCUpCj4gPiA+ID4gPiAgICByZW5hbWUgcG9ydHMvbGludXgveyA9PiBv bGRfX3h9L2d1dHMvX19meHN0YXQ2NC5jICgxMDAlKQo+ID4gPiA+ID4gICAgcmVuYW1lIHBvcnRz L2xpbnV4L3sgPT4gb2xkX194fS9ndXRzL19fZnhzdGF0YXQuYyAoMTAwJSkKPiA+ID4gPiA+ICAg IHJlbmFtZSBwb3J0cy9saW51eC97ID0+IG9sZF9feH0vZ3V0cy9fX2Z4c3RhdGF0NjQuYyAoMTAw JSkKPiA+ID4gPiA+ICAgIHJlbmFtZSBwb3J0cy9saW51eC97ID0+IG9sZF9feH0vZ3V0cy9fX2x4 c3RhdC5jICgxMDAlKQo+ID4gPiA+ID4gICAgcmVuYW1lIHBvcnRzL2xpbnV4L3sgPT4gb2xkX194 fS9ndXRzL19fbHhzdGF0NjQuYyAoMTAwJSkKPiA+ID4gPiA+ICAgIHJlbmFtZSBwb3J0cy9saW51 eC97ID0+IG9sZF9feH0vZ3V0cy9fX3hta25vZC5jICgxMDAlKQo+ID4gPiA+ID4gICAgcmVuYW1l IHBvcnRzL2xpbnV4L3sgPT4gb2xkX194fS9ndXRzL19feG1rbm9kYXQuYyAoMTAwJSkKPiA+ID4g PiA+ICAgIHJlbmFtZSBwb3J0cy9saW51eC97ID0+IG9sZF9feH0vZ3V0cy9fX3hzdGF0LmMgKDEw MCUpCj4gPiA+ID4gPiAgICByZW5hbWUgcG9ydHMvbGludXgveyA9PiBvbGRfX3h9L2d1dHMvX194 c3RhdDY0LmMgKDEwMCUpCj4gPiA+ID4gPiAgICBjcmVhdGUgbW9kZSAxMDA2NDQgcG9ydHMvbGlu dXgvb2xkX194L2d1dHMvZnN0YXQuYwo+ID4gPiA+ID4gICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBv cnRzL2xpbnV4L29sZF9feC9ndXRzL2ZzdGF0NjQuYwo+ID4gPiA+ID4gICAgY3JlYXRlIG1vZGUg MTAwNjQ0IHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL2ZzdGF0YXQuYwo+ID4gPiA+ID4gICAgY3Jl YXRlIG1vZGUgMTAwNjQ0IHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL2ZzdGF0YXQ2NC5jCj4gPiA+ ID4gPiAgICBjcmVhdGUgbW9kZSAxMDA2NDQgcG9ydHMvbGludXgvb2xkX194L2d1dHMvbHN0YXQu Ywo+ID4gPiA+ID4gICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBvcnRzL2xpbnV4L29sZF9feC9ndXRz L2xzdGF0NjQuYwo+ID4gPiA+ID4gICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBvcnRzL2xpbnV4L29s ZF9feC9ndXRzL21rbm9kLmMKPiA+ID4gPiA+ICAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwb3J0cy9s aW51eC9vbGRfX3gvZ3V0cy9ta25vZGF0LmMKPiA+ID4gPiA+ICAgIGNyZWF0ZSBtb2RlIDEwMDY0 NCBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta29zdGVtcDY0LmMKPiA+ID4gPiA+ICAgIGNyZWF0 ZSBtb2RlIDEwMDY0NCBwb3J0cy9saW51eC9vbGRfX3gvcG9ydGRlZnMuaAo+ID4gPiA+ID4gICAg Y3JlYXRlIG1vZGUgMTAwNjQ0IHBvcnRzL2xpbnV4L29sZF9feC9wc2V1ZG9fd3JhcHBlcnMuYwo+ ID4gPiA+ID4gICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBvcnRzL2xpbnV4L29sZF9feC93cmFwZnVu Y3MuaW4KPiA+ID4gPiA+IAo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMv Zm9wZW42NC5jIGIvcG9ydHMvbGludXgvZ3V0cy9mb3BlbjY0LmMKPiA+ID4gPiA+IGluZGV4IGU3 NmRhNjkuLjMzY2NkM2EgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9wb3J0cy9saW51eC9ndXRzL2Zv cGVuNjQuYwo+ID4gPiA+ID4gKysrIGIvcG9ydHMvbGludXgvZ3V0cy9mb3BlbjY0LmMKPiA+ID4g PiA+IEBAIC0xMSw3ICsxMSw3IEBACj4gPiA+ID4gPiAgICAgCXN0cnVjdCBzdGF0NjQgYnVmOwo+ ID4gPiA+ID4gICAgCWludCBzYXZlX2Vycm5vOwo+ID4gPiA+ID4gLQlpbnQgZXhpc3RlZCA9IChy ZWFsX19feHN0YXQ2NChfU1RBVF9WRVIsIHBhdGgsICZidWYpICE9IC0xKTsKPiA+ID4gPiA+ICsJ aW50IGV4aXN0ZWQgPSAoYmFzZV9zdGF0NjQocGF0aCwgJmJ1ZikgIT0gLTEpOwo+ID4gPiA+ID4g ICAgCXJjID0gcmVhbF9mb3BlbjY0KHBhdGgsIG1vZGUpOwo+ID4gPiA+ID4gICAgCXNhdmVfZXJy bm8gPSBlcnJubzsKPiA+ID4gPiA+IEBAIC0yMCw3ICsyMCw3IEBACj4gPiA+ID4gPiAgICAJCWlu dCBmZCA9IGZpbGVubyhyYyk7Cj4gPiA+ID4gPiAgICAJCXBzZXVkb19kZWJ1ZyhQREJHRl9GSUxF LCAiZm9wZW42NCAnJXMnOiBmZCAlZCA8RklMRSAlcD5cbiIsIHBhdGgsIGZkLCAodm9pZCAqKSBy Yyk7Cj4gPiA+ID4gPiAtCQlpZiAocmVhbF9fX2Z4c3RhdDY0KF9TVEFUX1ZFUiwgZmQsICZidWYp ICE9IC0xKSB7Cj4gPiA+ID4gPiArCQlpZiAoYmFzZV9mc3RhdDY0KGZkLCAmYnVmKSAhPSAtMSkg ewo+ID4gPiA+ID4gICAgCQkJaWYgKCFleGlzdGVkKSB7Cj4gPiA+ID4gPiAgICAJCQkJcmVhbF9m Y2htb2QoZmQsIFBTRVVET19GU19NT0RFKDA2NjYgJiB+cHNldWRvX3VtYXNrLCAwKSk7Cj4gPiA+ ID4gPiAgICAJCQkJcHNldWRvX2NsaWVudF9vcChPUF9DUkVBVCwgMCwgLTEsIC0xLCBwYXRoLCAm YnVmKTsKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL2ZyZW9wZW42NC5j IGIvcG9ydHMvbGludXgvZ3V0cy9mcmVvcGVuNjQuYwo+ID4gPiA+ID4gaW5kZXggNWZjOTA3My4u OWJjYzA2YSAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3BvcnRzL2xpbnV4L2d1dHMvZnJlb3BlbjY0 LmMKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvZnJlb3BlbjY0LmMKPiA+ID4gPiA+ IEBAIC0xMCw3ICsxMCw3IEBACj4gPiA+ID4gPiAgICAgKi8KPiA+ID4gPiA+ICAgICAJc3RydWN0 IHN0YXQ2NCBidWY7Cj4gPiA+ID4gPiAgICAJaW50IHNhdmVfZXJybm87Cj4gPiA+ID4gPiAtCWlu dCBleGlzdGVkID0gKHJlYWxfX194c3RhdDY0KF9TVEFUX1ZFUiwgcGF0aCwgJmJ1ZikgIT0gLTEp Owo+ID4gPiA+ID4gKwlpbnQgZXhpc3RlZCA9IChiYXNlX3N0YXQ2NChwYXRoLCAmYnVmKSAhPSAt MSk7Cj4gPiA+ID4gPiAgICAJcmMgPSByZWFsX2ZyZW9wZW42NChwYXRoLCBtb2RlLCBzdHJlYW0p Owo+ID4gPiA+ID4gICAgCXNhdmVfZXJybm8gPSBlcnJubzsKPiA+ID4gPiA+IEBAIC0xOSw3ICsx OSw3IEBACj4gPiA+ID4gPiAgICAJCWludCBmZCA9IGZpbGVubyhyYyk7Cj4gPiA+ID4gPiAgICAJ CXBzZXVkb19kZWJ1ZyhQREJHRl9GSUxFLCAiZnJlb3BlbjY0ICclcyc6IGZkICVkXG4iLCBwYXRo LCBmZCk7Cj4gPiA+ID4gPiAtCQlpZiAocmVhbF9fX2Z4c3RhdDY0KF9TVEFUX1ZFUiwgZmQsICZi dWYpICE9IC0xKSB7Cj4gPiA+ID4gPiArCQlpZiAoYmFzZV9mc3RhdDY0KGZkLCAmYnVmKSAhPSAt MSkgewo+ID4gPiA+ID4gICAgCQkJaWYgKCFleGlzdGVkKSB7Cj4gPiA+ID4gPiAgICAJCQkJcmVh bF9mY2htb2QoZmQsIFBTRVVET19GU19NT0RFKDA2NjYgJiB+cHNldWRvX3VtYXNrLCAwKSk7Cj4g PiA+ID4gPiAgICAJCQkJcHNldWRvX2NsaWVudF9vcChPUF9DUkVBVCwgMCwgLTEsIC0xLCBwYXRo LCAmYnVmKTsKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL2ZzdGF0LmMg Yi9wb3J0cy9saW51eC9ndXRzL2ZzdGF0LmMKPiA+ID4gPiA+IGluZGV4IGIwODliMTUuLjgwOTMz ZTIgMTAwNjQ0Cj4gPiA+ID4gPiAtLS0gYS9wb3J0cy9saW51eC9ndXRzL2ZzdGF0LmMKPiA+ID4g PiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXQuYwo+ID4gPiA+ID4gQEAgLTgsNyArOCwx MyBAQAo+ID4gPiA+ID4gICAgICoJaW50IHJjID0gLTE7Cj4gPiA+ID4gPiAgICAgKi8KPiA+ID4g PiA+IC0JcmMgPSB3cmFwX19fZnhzdGF0KF9TVEFUX1ZFUiwgZmQsIGJ1Zik7Cj4gPiA+ID4gPiAr CXN0cnVjdCBzdGF0NjQgYnVmNjQ7Cj4gPiA+ID4gPiArCS8qIHBvcHVsYXRlIGJ1ZmZlciB3aXRo IGNvbXBsZXRlIGRhdGEgKi8KPiA+ID4gPiA+ICsJcmVhbF9mc3RhdChmZCwgYnVmKTsKPiA+ID4g PiA+ICsJLyogb2J0YWluIGZha2UgZGF0YSAqLwo+ID4gPiA+ID4gKwlyYyA9IHdyYXBfZnN0YXQ2 NChmZCwgJmJ1ZjY0KTsKPiA+ID4gPiA+ICsJLyogb3ZlcndyaXRlICovCj4gPiA+ID4gPiArCXBz ZXVkb19zdGF0MzJfZnJvbTY0KGJ1ZiwgJmJ1ZjY0KTsKPiA+ID4gPiA+ICAgIC8qCXJldHVybiBy YzsKPiA+ID4gPiA+ICAgICAqIH0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9n dXRzL2ZzdGF0NjQuYyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXQ2NC5jCj4gPiA+ID4gPiBpbmRl eCA2ZGQ5N2RhLi4yMmQ0NmE5IDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvcG9ydHMvbGludXgvZ3V0 cy9mc3RhdDY0LmMKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXQ2NC5jCj4g PiA+ID4gPiBAQCAtOCw4ICs4LDIwIEBACj4gPiA+ID4gPiAgICAgKglpbnQgcmMgPSAtMTsKPiA+ ID4gPiA+ICAgICAqLwo+ID4gPiA+ID4gLQlyYyA9IHdyYXBfX19meHN0YXQ2NChfU1RBVF9WRVIs IGZkLCBidWYpOwo+ID4gPiA+ID4gKwlwc2V1ZG9fbXNnX3QgKm1zZzsKPiA+ID4gPiA+ICsJaW50 IHNhdmVfZXJybm87Cj4gPiA+ID4gPiArCXJjID0gcmVhbF9mc3RhdDY0KGZkLCBidWYpOwo+ID4g PiA+ID4gKwlzYXZlX2Vycm5vID0gZXJybm87Cj4gPiA+ID4gPiArCWlmIChyYyA9PSAtMSkgewo+ ID4gPiA+ID4gKwkJcmV0dXJuIHJjOwo+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiArCW1zZyA9IHBz ZXVkb19jbGllbnRfb3AoT1BfRlNUQVQsIDAsIGZkLCAtMSwgMCwgYnVmKTsKPiA+ID4gPiA+ICsJ aWYgKG1zZyAmJiBtc2ctPnJlc3VsdCA9PSBSRVNVTFRfU1VDQ0VFRCkgewo+ID4gPiA+ID4gKwkJ cHNldWRvX3N0YXRfbXNnKGJ1ZiwgbXNnKTsKPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gKwo+ID4g PiA+ID4gKwllcnJubyA9IHNhdmVfZXJybm87Cj4gPiA+ID4gPiAgICAvKglyZXR1cm4gcmM7Cj4g PiA+ID4gPiAgICAgKiB9Cj4gPiA+ID4gPiAgICAgKi8KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9w b3J0cy9saW51eC9ndXRzL2ZzdGF0YXQuYyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXRhdC5jCj4g PiA+ID4gPiBpbmRleCAzMjY3NjQxLi43Yjk2NTJkIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvcG9y dHMvbGludXgvZ3V0cy9mc3RhdGF0LmMKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMv ZnN0YXRhdC5jCj4gPiA+ID4gPiBAQCAtMSw0ICsxLDUgQEAKPiA+ID4gPiA+ICAgIC8qCj4gPiA+ ID4gPiArICogQ29weXJpZ2h0IChjKSAyMDA4LTIwMTAgV2luZCBSaXZlciBTeXN0ZW1zOyBzZWUK PiA+ID4gPiA+ICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBMaW51eCBGb3VuZGF0aW9uOyBzZWUK PiA+ID4gPiA+ICAgICAqIGd1dHMvQ09QWVJJR0hUIGZvciBpbmZvcm1hdGlvbi4KPiA+ID4gPiA+ ICAgICAqCj4gPiA+ID4gPiBAQCAtOCw3ICs5LDEzIEBACj4gPiA+ID4gPiAgICAgKglpbnQgcmMg PSAtMTsKPiA+ID4gPiA+ICAgICAqLwo+ID4gPiA+ID4gLQlyYyA9IHdyYXBfX19meHN0YXRhdChf U1RBVF9WRVIsIGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKTsKPiA+ID4gPiA+ICsJc3RydWN0IHN0 YXQ2NCBidWY2NDsKPiA+ID4gPiA+ICsJLyogcG9wdWxhdGUgYnVmZmVyIHdpdGggY29tcGxldGUg ZGF0YSAqLwo+ID4gPiA+ID4gKwlyZWFsX2ZzdGF0YXQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3Mp Owo+ID4gPiA+ID4gKwkvKiBvYnRhaW4gZmFrZSBkYXRhICovCj4gPiA+ID4gPiArCXJjID0gd3Jh cF9mc3RhdGF0NjQoZGlyZmQsIHBhdGgsICZidWY2NCwgZmxhZ3MpOwo+ID4gPiA+ID4gKwkvKiBv dmVyd3JpdGUgKi8KPiA+ID4gPiA+ICsJcHNldWRvX3N0YXQzMl9mcm9tNjQoYnVmLCAmYnVmNjQp Owo+ID4gPiA+ID4gICAgLyoJcmV0dXJuIHJjOwo+ID4gPiA+ID4gICAgICogfQo+ID4gPiA+ID4g ZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXRhdDY0LmMgYi9wb3J0cy9saW51eC9n dXRzL2ZzdGF0YXQ2NC5jCj4gPiA+ID4gPiBpbmRleCBjOTgxZTE0Li4xM2MxMTQzIDEwMDY0NAo+ ID4gPiA+ID4gLS0tIGEvcG9ydHMvbGludXgvZ3V0cy9mc3RhdGF0NjQuYwo+ID4gPiA+ID4gKysr IGIvcG9ydHMvbGludXgvZ3V0cy9mc3RhdGF0NjQuYwo+ID4gPiA+ID4gQEAgLTEsNCArMSw1IEBA Cj4gPiA+ID4gPiAgICAvKgo+ID4gPiA+ID4gKyAqIENvcHlyaWdodCAoYykgMjAwOC0yMDEwIFdp bmQgUml2ZXIgU3lzdGVtczsKPiA+ID4gPiA+ICAgICAqIENvcHlyaWdodCAoYykgMjAyMSBMaW51 eCBGb3VuZGF0aW9uOyBzZWUKPiA+ID4gPiA+ICAgICAqIGd1dHMvQ09QWVJJR0hUIGZvciBpbmZv cm1hdGlvbi4KPiA+ID4gPiA+ICAgICAqCj4gPiA+ID4gPiBAQCAtOCw3ICs5LDQ2IEBACj4gPiA+ ID4gPiAgICAgKglpbnQgcmMgPSAtMTsKPiA+ID4gPiA+ICAgICAqLwo+ID4gPiA+ID4gLQlyYyA9 IHdyYXBfX19meHN0YXRhdDY0KF9TVEFUX1ZFUiwgZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpOwo+ ID4gPiA+ID4gKwlwc2V1ZG9fbXNnX3QgKm1zZzsKPiA+ID4gPiA+ICsJaW50IHNhdmVfZXJybm87 Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArI2lmZGVmIFBTRVVET19OT19SRUFMX0FUX0ZVTkNUSU9O Uwo+ID4gPiA+ID4gKwlpZiAoZGlyZmQgIT0gQVRfRkRDV0QpIHsKPiA+ID4gPiA+ICsJCWVycm5v ID0gRU5PU1lTOwo+ID4gPiA+ID4gKwkJcmV0dXJuIC0xOwo+ID4gPiA+ID4gKwl9Cj4gPiA+ID4g PiArI2VuZGlmCj4gPiA+ID4gPiArCWlmIChmbGFncyAmIEFUX1NZTUxJTktfTk9GT0xMT1cpIHsK PiA+ID4gPiA+ICsjaWZkZWYgUFNFVURPX05PX1JFQUxfQVRfRlVOQ1RJT05TCj4gPiA+ID4gPiAr CQlyYyA9IHJlYWxfbHN0YXQ2NChwYXRoLCBidWYpOwo+ID4gPiA+ID4gKyNlbHNlCj4gPiA+ID4g PiArCQlyYyA9IHJlYWxfZnN0YXRhdDY0KGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKTsKPiA+ID4g PiA+ICsjZW5kaWYKPiA+ID4gPiA+ICsJCWlmIChyYyA9PSAtMSkgewo+ID4gPiA+ID4gKwkJCXJl dHVybiByYzsKPiA+ID4gPiA+ICsJCX0KPiA+ID4gPiA+ICsJfSBlbHNlIHsKPiA+ID4gPiA+ICsj aWZkZWYgUFNFVURPX05PX1JFQUxfQVRfRlVOQ1RJT05TCj4gPiA+ID4gPiArCQlyYyA9IHJlYWxf c3RhdDY0KHBhdGgsIGJ1Zik7Cj4gPiA+ID4gPiArI2Vsc2UKPiA+ID4gPiA+ICsJCXJjID0gcmVh bF9mc3RhdGF0NjQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpOwo+ID4gPiA+ID4gKyNlbmRpZgo+ ID4gPiA+ID4gKwkJaWYgKHJjID09IC0xKSB7Cj4gPiA+ID4gPiArCQkJcmV0dXJuIHJjOwo+ID4g PiA+ID4gKwkJfQo+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiArCXNhdmVfZXJybm8gPSBlcnJubzsK PiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJLyogcXVlcnkgZGF0YWJhc2UKPiA+ID4gPiA+ICsJICog bm90ZSB0aGF0IHN5bWxpbmsgY2Fub25pY2FsaXppbmcgaXMgbm93IGF1dG9tYXRpYywgc28gd2UK PiA+ID4gPiA+ICsJICogZG9uJ3QgbmVlZCB0byBjaGVjayBmb3IgYSBzeW1saW5rIG9uIHRoaXMg ZW5kCj4gPiA+ID4gPiArCSAqLwo+ID4gPiA+ID4gKwltc2cgPSBwc2V1ZG9fY2xpZW50X29wKE9Q X1NUQVQsIDAsIC0xLCBkaXJmZCwgcGF0aCwgYnVmKTsKPiA+ID4gPiA+ICsJaWYgKG1zZyAmJiBt c2ctPnJlc3VsdCA9PSBSRVNVTFRfU1VDQ0VFRCkgewo+ID4gPiA+ID4gKwkJcHNldWRvX3N0YXRf bXNnKGJ1ZiwgbXNnKTsKPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwllcnJu byA9IHNhdmVfZXJybm87Cj4gPiA+ID4gPiAgICAvKglyZXR1cm4gcmM7Cj4gPiA+ID4gPiAgICAg KiB9Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9sc3RhdC5jIGIvcG9y dHMvbGludXgvZ3V0cy9sc3RhdC5jCj4gPiA+ID4gPiBpbmRleCBkMmM0ZDUwLi4wYmM5MzYyIDEw MDY0NAo+ID4gPiA+ID4gLS0tIGEvcG9ydHMvbGludXgvZ3V0cy9sc3RhdC5jCj4gPiA+ID4gPiAr KysgYi9wb3J0cy9saW51eC9ndXRzL2xzdGF0LmMKPiA+ID4gPiA+IEBAIC04LDcgKzgsNyBAQAo+ ID4gPiA+ID4gICAgICoJaW50IHJjID0gLTE7Cj4gPiA+ID4gPiAgICAgKi8KPiA+ID4gPiA+IC0J cmMgPSB3cmFwX19fZnhzdGF0YXQoX1NUQVRfVkVSLCBBVF9GRENXRCwgcGF0aCwgYnVmLCBBVF9T WU1MSU5LX05PRk9MTE9XKTsKPiA+ID4gPiA+ICsJcmMgPSB3cmFwX2ZzdGF0YXQoQVRfRkRDV0Qs IHBhdGgsIGJ1ZiwgQVRfU1lNTElOS19OT0ZPTExPVyk7Cj4gPiA+ID4gPiAgICAvKglyZXR1cm4g cmM7Cj4gPiA+ID4gPiAgICAgKiB9Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgv Z3V0cy9sc3RhdDY0LmMgYi9wb3J0cy9saW51eC9ndXRzL2xzdGF0NjQuYwo+ID4gPiA+ID4gaW5k ZXggNDNkMGNlMS4uOWUwZmYxOSAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3BvcnRzL2xpbnV4L2d1 dHMvbHN0YXQ2NC5jCj4gPiA+ID4gPiArKysgYi9wb3J0cy9saW51eC9ndXRzL2xzdGF0NjQuYwo+ ID4gPiA+ID4gQEAgLTgsNyArOCw3IEBACj4gPiA+ID4gPiAgICAgKglpbnQgcmMgPSAtMTsKPiA+ ID4gPiA+ICAgICAqLwo+ID4gPiA+ID4gLQlyYyA9IHdyYXBfX19meHN0YXRhdDY0KF9TVEFUX1ZF UiwgQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgQVRfU1lNTElOS19OT0ZPTExPVyk7Cj4gPiA+ID4gPiAr CXJjID0gd3JhcF9mc3RhdGF0NjQoQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgQVRfU1lNTElOS19OT0ZP TExPVyk7Cj4gPiA+ID4gPiAgICAvKglyZXR1cm4gcmM7Cj4gPiA+ID4gPiAgICAgKiB9Cj4gPiA+ ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9ta25vZC5jIGIvcG9ydHMvbGludXgv Z3V0cy9ta25vZC5jCj4gPiA+ID4gPiBpbmRleCA2MWZkMzIwLi42Njc4N2MwIDEwMDY0NAo+ID4g PiA+ID4gLS0tIGEvcG9ydHMvbGludXgvZ3V0cy9ta25vZC5jCj4gPiA+ID4gPiArKysgYi9wb3J0 cy9saW51eC9ndXRzL21rbm9kLmMKPiA+ID4gPiA+IEBAIC04LDcgKzgsNyBAQAo+ID4gPiA+ID4g ICAgICoJaW50IHJjID0gLTE7Cj4gPiA+ID4gPiAgICAgKi8KPiA+ID4gPiA+IC0JcmMgPSB3cmFw X19feG1rbm9kKF9NS05PRF9WRVIsIHBhdGgsIG1vZGUsICZkZXYpOwo+ID4gPiA+ID4gKwlyYyA9 IHdyYXBfbWtub2RhdChBVF9GRENXRCwgcGF0aCwgbW9kZSwgZGV2KTsKPiA+ID4gPiA+ICAgIC8q CXJldHVybiByYzsKPiA+ID4gPiA+ICAgICAqIH0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0 cy9saW51eC9ndXRzL21rbm9kYXQuYyBiL3BvcnRzL2xpbnV4L2d1dHMvbWtub2RhdC5jCj4gPiA+ ID4gPiBpbmRleCBhN2U0MjkzLi5jNTFhODJkIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvcG9ydHMv bGludXgvZ3V0cy9ta25vZGF0LmMKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvbWtu b2RhdC5jCj4gPiA+ID4gPiBAQCAtMSw0ICsxLDUgQEAKPiA+ID4gPiA+ICAgIC8qCj4gPiA+ID4g PiArICogQ29weXJpZ2h0IChjKSAyMDA4LTIwMTAgV2luZCBSaXZlciBTeXN0ZW1zOyBzZWUKPiA+ ID4gPiA+ICAgICAqIENvcHlyaWdodCAoYykgMjAxNiBXaW5kIFJpdmVyIFN5c3RlbXM7IHNlZQo+ ID4gPiA+ID4gICAgICogZ3V0cy9DT1BZUklHSFQgZm9yIGluZm9ybWF0aW9uLgo+ID4gPiA+ID4g ICAgICoKPiA+ID4gPiA+IEBAIC04LDcgKzksNzUgQEAKPiA+ID4gPiA+ICAgICAqCWludCByYyA9 IC0xOwo+ID4gPiA+ID4gICAgICovCj4gPiA+ID4gPiAtCXJjID0gd3JhcF9fX3hta25vZGF0KF9N S05PRF9WRVIsIGRpcmZkLCBwYXRoLCBtb2RlLCAmZGV2KTsKPiA+ID4gPiA+ICsJcHNldWRvX21z Z190ICptc2c7Cj4gPiA+ID4gPiArCXN0cnVjdCBzdGF0NjQgYnVmOwo+ID4gPiA+ID4gKwo+ID4g PiA+ID4gKwkvKiBtYXNrIG91dCBtb2RlIGJpdHMgYXBwcm9wcmlhdGVseSAqLwo+ID4gPiA+ID4g Kwltb2RlID0gbW9kZSAmIH5wc2V1ZG9fdW1hc2s7Cj4gPiA+ID4gPiArICAgICAgICAvKiBpZiB5 b3UgZG9uJ3Qgc3BlY2lmeSBhIHR5cGUsIGFzc3VtZSByZWd1bGFyIGZpbGUgKi8KPiA+ID4gPiA+ ICsgICAgICAgIGlmICghKG1vZGUgJiBTX0lGTVQpKSB7Cj4gPiA+ID4gPiArICAgICAgICAgICAg ICAgIG1vZGUgfD0gU19JRlJFRzsKPiA+ID4gPiA+ICsgICAgICAgIH0KPiA+ID4gPiA+ICsgICAg ICAgIHBzZXVkb19kZWJ1ZyhQREJHRl9GSUxFLCAibWtub2RhdCBjcmVhdGluZyAnJXMnLCBtb2Rl IDAlb1xuIiwKPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgcGF0aCA/IHBhdGggOiAiPG5vIG5h bWU+IiwgKGludCkgbW9kZSk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArI2lmZGVmIFBTRVVET19O T19SRUFMX0FUX0ZVTkNUSU9OUwo+ID4gPiA+ID4gKwlpZiAoZGlyZmQgIT0gQVRfRkRDV0QpIHsK PiA+ID4gPiA+ICsJCWVycm5vID0gRU5PU1lTOwo+ID4gPiA+ID4gKwkJcmV0dXJuIC0xOwo+ID4g PiA+ID4gKwl9Cj4gPiA+ID4gPiArCXJjID0gcmVhbF9zdGF0NjQocGF0aCwgJmJ1Zik7Cj4gPiA+ ID4gPiArI2Vsc2UKPiA+ID4gPiA+ICsJcmMgPSByZWFsX2ZzdGF0YXQ2NChkaXJmZCwgcGF0aCwg JmJ1ZiwgQVRfU1lNTElOS19OT0ZPTExPVyk7Cj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiAr CWlmIChyYyAhPSAtMSkgewo+ID4gPiA+ID4gKwkJLyogaWYgd2UgY2FuIHN0YXQgdGhlIGZpbGUs IHlvdSBjYW4ndCBta25vZCBpdCAqLwo+ID4gPiA+ID4gKwkJZXJybm8gPSBFRVhJU1Q7Cj4gPiA+ ID4gPiArCQlyZXR1cm4gLTE7Cj4gPiA+ID4gPiArCX0KPiA+ID4gPiA+ICsJaWYgKCFkZXYpIHsK PiA+ID4gPiA+ICsJCWVycm5vID0gRUlOVkFMOwo+ID4gPiA+ID4gKwkJcmV0dXJuIC0xOwo+ID4g PiA+ID4gKwl9Cj4gPiA+ID4gPiArI2lmZGVmIFBTRVVET19OT19SRUFMX0FUX0ZVTkNUSU9OUwo+ ID4gPiA+ID4gKwlyYyA9IHJlYWxfb3BlbihwYXRoLCBPX0NSRUFUIHwgT19XUk9OTFkgfCBPX0VY Q0wsCj4gPiA+ID4gPiArCQlQU0VVRE9fRlNfTU9ERShtb2RlLCAwKSk7Cj4gPiA+ID4gPiArI2Vs c2UKPiA+ID4gPiA+ICsJcmMgPSByZWFsX29wZW5hdChkaXJmZCwgcGF0aCwgT19DUkVBVCB8IE9f V1JPTkxZIHwgT19FWENMLAo+ID4gPiA+ID4gKwkJUFNFVURPX0ZTX01PREUobW9kZSwgMCkpOwo+ ID4gPiA+ID4gKyNlbmRpZgo+ID4gPiA+ID4gKwlpZiAocmMgPT0gLTEpIHsKPiA+ID4gPiA+ICsJ CXJldHVybiAtMTsKPiA+ID4gPiA+ICsJfQo+ID4gPiA+ID4gKwlyZWFsX2ZjaG1vZChyYywgUFNF VURPX0ZTX01PREUobW9kZSwgMCkpOwo+ID4gPiA+ID4gKwlyZWFsX2ZzdGF0NjQocmMsICZidWYp Owo+ID4gPiA+ID4gKwkvKiBta25vZCBkb2VzIG5vdCByZWFsbHkgb3BlbiB0aGUgZmlsZS4gIFdl IGRvbid0IGhhdmUKPiA+ID4gPiA+ICsJICogdG8gdXNlIHdyYXBfY2xvc2UgYmVjYXVzZSB3ZSd2 ZSBuZXZlciBleHBvc2VkIHRoaXMgZmlsZQo+ID4gPiA+ID4gKwkgKiBkZXNjcmlwdG9yIHRvIHRo ZSBjbGllbnQgY29kZS4KPiA+ID4gPiA+ICsJICovCj4gPiA+ID4gPiArCXJlYWxfY2xvc2UocmMp Owo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwkvKiBtYXNrIGluIHRoZSBtb2RlIHR5cGUgYml0cyBh Z2FpbiAqLwo+ID4gPiA+ID4gKwlidWYuc3RfbW9kZSA9IChQU0VVRE9fREJfTU9ERShidWYuc3Rf bW9kZSwgbW9kZSkgJiAwNzc3NykgfAo+ID4gPiA+ID4gKwkJCShtb2RlICYgfjA3Nzc3KTsKPiA+ ID4gPiA+ICsJYnVmLnN0X3JkZXYgPSBkZXY7Cj4gPiA+ID4gPiArCW1zZyA9IHBzZXVkb19jbGll bnRfb3AoT1BfTUtOT0QsIDAsIC0xLCBkaXJmZCwgcGF0aCwgJmJ1Zik7Cj4gPiA+ID4gPiArCWlm IChtc2cgJiYgbXNnLT5yZXN1bHQgIT0gUkVTVUxUX1NVQ0NFRUQpIHsKPiA+ID4gPiA+ICsJCWVy cm5vID0gRVBFUk07Cj4gPiA+ID4gPiArCQlyYyA9IC0xOwo+ID4gPiA+ID4gKwl9IGVsc2Ugewo+ ID4gPiA+ID4gKwkJLyoganVzdCBwcmV0ZW5kIHdlIHdvcmtlZCAqLwo+ID4gPiA+ID4gKwkJcmMg PSAwOwo+ID4gPiA+ID4gKwl9Cj4gPiA+ID4gPiArCWlmIChyYyA9PSAtMSkgewo+ID4gPiA+ID4g KwkJaW50IHNhdmVfZXJybm8gPSBlcnJubzsKPiA+ID4gPiA+ICsjaWZkZWYgUFNFVURPX05PX1JF QUxfQVRfRlVOQ1RJT05TCj4gPiA+ID4gPiArCQlyZWFsX3VubGluayhwYXRoKTsKPiA+ID4gPiA+ ICsjZWxzZQo+ID4gPiA+ID4gKwkJcmVhbF91bmxpbmthdChkaXJmZCwgcGF0aCwgQVRfU1lNTElO S19OT0ZPTExPVyk7Cj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiArCQllcnJubyA9IHNhdmVf ZXJybm87Cj4gPiA+ID4gPiArCX0KPiA+ID4gPiA+ICAgIC8qCXJldHVybiByYzsKPiA+ID4gPiA+ ICAgICAqIH0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL21rb3N0ZW1w NjQuYyBiL3BvcnRzL2xpbnV4L2d1dHMvbWtvc3RlbXA2NC5jCj4gPiA+ID4gPiBpbmRleCA1MDIy MTFiLi42OTQwNzBiIDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvcG9ydHMvbGludXgvZ3V0cy9ta29z dGVtcDY0LmMKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvbWtvc3RlbXA2NC5jCj4g PiA+ID4gPiBAQCAtMzUsNyArMzUsNyBAQAo+ID4gPiA+ID4gICAgCWlmIChyYyAhPSAtMSkgewo+ ID4gPiA+ID4gICAgCQlzYXZlX2Vycm5vID0gZXJybm87Cj4gPiA+ID4gPiAtCQlpZiAocmVhbF9f X2Z4c3RhdDY0KF9TVEFUX1ZFUiwgcmMsICZidWYpICE9IC0xKSB7Cj4gPiA+ID4gPiArCQlpZiAo YmFzZV9mc3RhdDY0KHJjLCAmYnVmKSAhPSAtMSkgewo+ID4gPiA+ID4gICAgCQkJcmVhbF9mY2ht b2QocmMsIFBTRVVET19GU19NT0RFKDA2MDAsIDApKTsKPiA+ID4gPiA+ICAgIAkJCXBzZXVkb19j bGllbnRfb3AoT1BfQ1JFQVQsIDAsIC0xLCAtMSwgdG1wX3RlbXBsYXRlLCAmYnVmKTsKPiA+ID4g PiA+ICAgIAkJCXBzZXVkb19jbGllbnRfb3AoT1BfT1BFTiwgUFNBX1JFQUQgfCBQU0FfV1JJVEUs IHJjLCAtMSwgdG1wX3RlbXBsYXRlLCAmYnVmKTsKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0 cy9saW51eC9ndXRzL29wZW5hdC5jIGIvcG9ydHMvbGludXgvZ3V0cy9vcGVuYXQuYwo+ID4gPiA+ ID4gaW5kZXggNjU2YWMyYi4uZDAyNzE1NCAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3BvcnRzL2xp bnV4L2d1dHMvb3BlbmF0LmMKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvb3BlbmF0 LmMKPiA+ID4gPiA+IEBAIC01NiwxMiArNTYsMTIgQEAKPiA+ID4gPiA+ICAgIAkJc2F2ZV9lcnJu byA9IGVycm5vOwo+ID4gPiA+ID4gICAgI2lmZGVmIFBTRVVET19OT19SRUFMX0FUX0ZVTkNUSU9O Uwo+ID4gPiA+ID4gICAgCQlpZiAoZmxhZ3MgJiBPX05PRk9MTE9XKSB7Cj4gPiA+ID4gPiAtCQkJ cmMgPSByZWFsX19fbHhzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCAmYnVmKTsKPiA+ID4gPiA+ICsJ CQlyYyA9IGJhc2VfbHN0YXQ2NChwYXRoLCAmYnVmKTsKPiA+ID4gPiA+ICAgIAkJfSBlbHNlIHsK PiA+ID4gPiA+IC0JCQlyYyA9IHJlYWxfX194c3RhdDY0KF9TVEFUX1ZFUiwgcGF0aCwgJmJ1Zik7 Cj4gPiA+ID4gPiArCQkJcmMgPSBiYXNlX3N0YXQ2NChwYXRoLCAmYnVmKTsKPiA+ID4gPiA+ICAg IAkJfQo+ID4gPiA+ID4gICAgI2Vsc2UKPiA+ID4gPiA+IC0JCXJjID0gcmVhbF9fX2Z4c3RhdGF0 NjQoX1NUQVRfVkVSLCBkaXJmZCwgcGF0aCwgJmJ1ZiwgKGZsYWdzICYgT19OT0ZPTExPVykgPyBB VF9TWU1MSU5LX05PRk9MTE9XIDogMCk7Cj4gPiA+ID4gPiArCQlyYyA9IGJhc2VfZnN0YXRhdDY0 KGRpcmZkLCBwYXRoLCAmYnVmLCAoZmxhZ3MgJiBPX05PRk9MTE9XKSA/IEFUX1NZTUxJTktfTk9G T0xMT1cgOiAwKTsKPiA+ID4gPiA+ICAgICNlbmRpZgo+ID4gPiA+ID4gICAgCQlleGlzdGVkID0g KHJjICE9IC0xKTsKPiA+ID4gPiA+ICAgIAkJaWYgKCFleGlzdGVkKQo+ID4gPiA+ID4gQEAgLTc3 LDEyICs3NywxMiBAQAo+ID4gPiA+ID4gICAgCQlzYXZlX2Vycm5vID0gZXJybm87Cj4gPiA+ID4g PiAgICAjaWZkZWYgUFNFVURPX05PX1JFQUxfQVRfRlVOQ1RJT05TCj4gPiA+ID4gPiAgICAJCWlm IChmbGFncyAmIE9fTk9GT0xMT1cpIHsKPiA+ID4gPiA+IC0JCQlyYyA9IHJlYWxfX19seHN0YXQ2 NChfU1RBVF9WRVIsIHBhdGgsICZidWYpOwo+ID4gPiA+ID4gKwkJCXJjID0gYmFzZV9sc3RhdDY0 KHBhdGgsICZidWYpOwo+ID4gPiA+ID4gICAgCQl9IGVsc2Ugewo+ID4gPiA+ID4gLQkJCXJjID0g cmVhbF9fX3hzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCAmYnVmKTsKPiA+ID4gPiA+ICsJCQlyYyA9 IGJhc2Vfc3RhdDY0KHBhdGgsICZidWYpOwo+ID4gPiA+ID4gICAgCQl9Cj4gPiA+ID4gPiAgICAj ZWxzZQo+ID4gPiA+ID4gLQkJcmMgPSByZWFsX19fZnhzdGF0YXQ2NChfU1RBVF9WRVIsIGRpcmZk LCBwYXRoLCAmYnVmLCAoZmxhZ3MgJiBPX05PRk9MTE9XKSA/IEFUX1NZTUxJTktfTk9GT0xMT1cg OiAwKTsKPiA+ID4gPiA+ICsJCXJjID0gYmFzZV9mc3RhdGF0NjQoZGlyZmQsIHBhdGgsICZidWYs IChmbGFncyAmIE9fTk9GT0xMT1cpID8gQVRfU1lNTElOS19OT0ZPTExPVyA6IDApOwo+ID4gPiA+ ID4gICAgI2VuZGlmCj4gPiA+ID4gPiAgICAJCWlmIChyYyAhPSAtMSAmJiBTX0lTRklGTyhidWYu c3RfbW9kZSkpIHsKPiA+ID4gPiA+ICAgIAkJCW92ZXJseV9tYWdpY19ub25ibG9ja2luZyA9IDE7 Cj4gPiA+ID4gPiBAQCAtMTM1LDEyICsxMzUsMTIgQEAKPiA+ID4gPiA+ICAgICNlbmRpZgo+ID4g PiA+ID4gICAgI2lmZGVmIFBTRVVET19OT19SRUFMX0FUX0ZVTkNUSU9OUwo+ID4gPiA+ID4gICAg CQlpZiAoZmxhZ3MgJiBPX05PRk9MTE9XKSB7Cj4gPiA+ID4gPiAtCQkJc3RhdF9yYyA9IHJlYWxf X19seHN0YXQ2NChfU1RBVF9WRVIsIHBhdGgsICZidWYpOwo+ID4gPiA+ID4gKwkJCXN0YXRfcmMg PSBiYXNlX2xzdGF0NjQocGF0aCwgJmJ1Zik7Cj4gPiA+ID4gPiAgICAJCX0gZWxzZSB7Cj4gPiA+ ID4gPiAtCQkJc3RhdF9yYyA9IHJlYWxfX194c3RhdDY0KF9TVEFUX1ZFUiwgcGF0aCwgJmJ1Zik7 Cj4gPiA+ID4gPiArCQkJc3RhdF9yYyA9IGJhc2VfeHN0YXQ2NChwYXRoLCAmYnVmKTsKPiA+ID4g PiA+ICAgIAkJfQo+ID4gPiA+ID4gICAgI2Vsc2UKPiA+ID4gPiA+IC0JCXN0YXRfcmMgPSByZWFs X19fZnhzdGF0YXQ2NChfU1RBVF9WRVIsIGRpcmZkLCBwYXRoLCAmYnVmLCAoZmxhZ3MgJiBPX05P Rk9MTE9XKSA/IEFUX1NZTUxJTktfTk9GT0xMT1cgOiAwKTsKPiA+ID4gPiA+ICsJCXN0YXRfcmMg PSBiYXNlX2ZzdGF0YXQ2NChkaXJmZCwgcGF0aCwgJmJ1ZiwgKGZsYWdzICYgT19OT0ZPTExPVykg PyBBVF9TWU1MSU5LX05PRk9MTE9XIDogMCk7Cj4gPiA+ID4gPiAgICAjZW5kaWYKPiA+ID4gPiA+ ICAgIAkJcHNldWRvX2RlYnVnKFBEQkdGX0ZJTEUsICJvcGVuYXQocGF0aCAlcyksIGZsYWdzICVv LCBzdGF0IHJjICVkLCBzdGF0IG1vZGUgJW9cbiIsCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9y dHMvbGludXgvZ3V0cy9zdGF0LmMgYi9wb3J0cy9saW51eC9ndXRzL3N0YXQuYwo+ID4gPiA+ID4g aW5kZXggZjhjNzNmNy4uY2NkMDBkYiAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3BvcnRzL2xpbnV4 L2d1dHMvc3RhdC5jCj4gPiA+ID4gPiArKysgYi9wb3J0cy9saW51eC9ndXRzL3N0YXQuYwo+ID4g PiA+ID4gQEAgLTgsNyArOCw3IEBACj4gPiA+ID4gPiAgICAgKglpbnQgcmMgPSAtMTsKPiA+ID4g PiA+ICAgICAqLwo+ID4gPiA+ID4gLQlyYyA9IHdyYXBfX19meHN0YXRhdChfU1RBVF9WRVIsIEFU X0ZEQ1dELCBwYXRoLCBidWYsIDApOwo+ID4gPiA+ID4gKwlyYyA9IHdyYXBfZnN0YXRhdChBVF9G RENXRCwgcGF0aCwgYnVmLCAwKTsKPiA+ID4gPiA+ICAgIC8qCXJldHVybiByYzsKPiA+ID4gPiA+ ICAgICAqIH0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL3N0YXQ2NC5j IGIvcG9ydHMvbGludXgvZ3V0cy9zdGF0NjQuYwo+ID4gPiA+ID4gaW5kZXggZDhiM2YzNi4uMzkx YTczZiAxMDA2NDQKPiA+ID4gPiA+IC0tLSBhL3BvcnRzL2xpbnV4L2d1dHMvc3RhdDY0LmMKPiA+ ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvc3RhdDY0LmMKPiA+ID4gPiA+IEBAIC04LDcg KzgsNyBAQAo+ID4gPiA+ID4gICAgICoJaW50IHJjID0gLTE7Cj4gPiA+ID4gPiAgICAgKi8KPiA+ ID4gPiA+IC0JcmMgPSB3cmFwX19fZnhzdGF0YXQ2NChfU1RBVF9WRVIsIEFUX0ZEQ1dELCBwYXRo LCBidWYsIDApOwo+ID4gPiA+ID4gKwlyYyA9IHdyYXBfZnN0YXRhdDY0KEFUX0ZEQ1dELCBwYXRo LCBidWYsIDApOwo+ID4gPiA+ID4gICAgLyoJcmV0dXJuIHJjOwo+ID4gPiA+ID4gICAgICogfQo+ ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L29sZF9feC9SRUFETUUgYi9wb3J0cy9s aW51eC9vbGRfX3gvUkVBRE1FCj4gPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gPiA+ ID4gaW5kZXggMDAwMDAwMC4uYzk0NDEzZgo+ID4gPiA+ID4gLS0tIC9kZXYvbnVsbAo+ID4gPiA+ ID4gKysrIGIvcG9ydHMvbGludXgvb2xkX194L1JFQURNRQo+ID4gPiA+ID4gQEAgLTAsMCArMSwy OCBAQAo+ID4gPiA+ID4gK09sZGVyIGdsaWJjcyBjb250YWluIHN0YXQgZnVuY3Rpb25zIHN1Y2gg YXM6Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArX19meHN0YXQKPiA+ID4gPiA+ICtfX2Z4c3RhdGF0 Cj4gPiA+ID4gPiArX19seHN0YXQKPiA+ID4gPiA+ICtfX3hzdGF0Cj4gPiA+ID4gPiArCj4gPiA+ ID4gPiArX19meHN0YXQ2NAo+ID4gPiA+ID4gK19fZnhzdGF0YXQ2NAo+ID4gPiA+ID4gK19fbHhz dGF0NjQKPiA+ID4gPiA+ICtfX3hzdGF0NjQKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICtUaGUgZm9y bWF0IG9mIHRoZXNlIGZ1bmN0aW9ucyB1c2UgdGhlIF9TVEFUX1ZFUiBkZWZpbnRpb24uICBOZXcg Z2xpYmMgbm8KPiA+ID4gPiA+ICtsb25nZXIgZGVmaW5lIG9yIHV0aWxpemUgdGhlc2UgZnVuY3Rp b25zLCBzbyBuZWl0aGVyIGNhbiB3ZS4KPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICtXZSBvbmx5IHVz ZSB0aGlzIHN1YnBvcnQgd2hlbiB0aGUgZnVuY3Rpb25zIGFyZSBwcmVzZW50LCB0aGlzIGlzIGNo ZWNrZWQKPiA+ID4gPiA+ICtieSB3aXRoIHRoZSBleGlzdGVuY2Ugb2YgX1NUQVRfVkVSLgo+ID4g PiA+ID4gKwo+ID4gPiA+ID4gK09sZGVyIGdsaWJjcyBhbHNvIGNvbnRhaW4gbWtub2QgZnVuY3Rp b25zIHN1Y2ggYXM6Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArX194bWtub2QKPiA+ID4gPiA+ICtf X3hta25vZGF0Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArVGhlIGZvcm1hdCBvZiB0aGVzZSBmdW5j dGlvbnMgdXNlIHRoZSBfTUtOT0RfVkVSIGRlZmludGlvbi4gIE5ldyBnbGliYyBubwo+ID4gPiA+ ID4gK2xvbmdlciBkZWZpbmUgb3IgdXRpbGl6ZSB0aGVzZSBmdW5jdGlvbnMsIHNvIG5laXRoZXIg Y2FuIHdlLgo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gK1dlIG9ubHkgdXNlIHRoaXMgc3VicG9ydCB3 aGVuIHRoZSBmdW5jdGlvbnMgYXJlIHByZXNlbnQsIHRoaXMgaXMgY2hlY2tlZAo+ID4gPiA+ID4g K2J5IHdpdGggdGhlIGV4aXN0ZW5jZSBvZiBfTUtOT0RfVkVSLgo+ID4gPiA+ID4gZGlmZiAtLWdp dCBhL3BvcnRzL2xpbnV4L2d1dHMvX19meHN0YXQuYyBiL3BvcnRzL2xpbnV4L29sZF9feC9ndXRz L19fZnhzdGF0LmMKPiA+ID4gPiA+IHNpbWlsYXJpdHkgaW5kZXggMTAwJQo+ID4gPiA+ID4gcmVu YW1lIGZyb20gcG9ydHMvbGludXgvZ3V0cy9fX2Z4c3RhdC5jCj4gPiA+ID4gPiByZW5hbWUgdG8g cG9ydHMvbGludXgvb2xkX194L2d1dHMvX19meHN0YXQuYwo+ID4gPiA+ID4gZGlmZiAtLWdpdCBh L3BvcnRzL2xpbnV4L2d1dHMvX19meHN0YXQ2NC5jIGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMv X19meHN0YXQ2NC5jCj4gPiA+ID4gPiBzaW1pbGFyaXR5IGluZGV4IDEwMCUKPiA+ID4gPiA+IHJl bmFtZSBmcm9tIHBvcnRzL2xpbnV4L2d1dHMvX19meHN0YXQ2NC5jCj4gPiA+ID4gPiByZW5hbWUg dG8gcG9ydHMvbGludXgvb2xkX194L2d1dHMvX19meHN0YXQ2NC5jCj4gPiA+ID4gPiBkaWZmIC0t Z2l0IGEvcG9ydHMvbGludXgvZ3V0cy9fX2Z4c3RhdGF0LmMgYi9wb3J0cy9saW51eC9vbGRfX3gv Z3V0cy9fX2Z4c3RhdGF0LmMKPiA+ID4gPiA+IHNpbWlsYXJpdHkgaW5kZXggMTAwJQo+ID4gPiA+ ID4gcmVuYW1lIGZyb20gcG9ydHMvbGludXgvZ3V0cy9fX2Z4c3RhdGF0LmMKPiA+ID4gPiA+IHJl bmFtZSB0byBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX2Z4c3RhdGF0LmMKPiA+ID4gPiA+IGRp ZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL19fZnhzdGF0YXQ2NC5jIGIvcG9ydHMvbGludXgv b2xkX194L2d1dHMvX19meHN0YXRhdDY0LmMKPiA+ID4gPiA+IHNpbWlsYXJpdHkgaW5kZXggMTAw JQo+ID4gPiA+ID4gcmVuYW1lIGZyb20gcG9ydHMvbGludXgvZ3V0cy9fX2Z4c3RhdGF0NjQuYwo+ ID4gPiA+ID4gcmVuYW1lIHRvIHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL19fZnhzdGF0YXQ2NC5j Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9fX2x4c3RhdC5jIGIvcG9y dHMvbGludXgvb2xkX194L2d1dHMvX19seHN0YXQuYwo+ID4gPiA+ID4gc2ltaWxhcml0eSBpbmRl eCAxMDAlCj4gPiA+ID4gPiByZW5hbWUgZnJvbSBwb3J0cy9saW51eC9ndXRzL19fbHhzdGF0LmMK PiA+ID4gPiA+IHJlbmFtZSB0byBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX2x4c3RhdC5jCj4g PiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9fX2x4c3RhdDY0LmMgYi9wb3J0 cy9saW51eC9vbGRfX3gvZ3V0cy9fX2x4c3RhdDY0LmMKPiA+ID4gPiA+IHNpbWlsYXJpdHkgaW5k ZXggMTAwJQo+ID4gPiA+ID4gcmVuYW1lIGZyb20gcG9ydHMvbGludXgvZ3V0cy9fX2x4c3RhdDY0 LmMKPiA+ID4gPiA+IHJlbmFtZSB0byBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX2x4c3RhdDY0 LmMKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL19feG1rbm9kLmMgYi9w b3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX3hta25vZC5jCj4gPiA+ID4gPiBzaW1pbGFyaXR5IGlu ZGV4IDEwMCUKPiA+ID4gPiA+IHJlbmFtZSBmcm9tIHBvcnRzL2xpbnV4L2d1dHMvX194bWtub2Qu Ywo+ID4gPiA+ID4gcmVuYW1lIHRvIHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL19feG1rbm9kLmMK PiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL19feG1rbm9kYXQuYyBiL3Bv cnRzL2xpbnV4L29sZF9feC9ndXRzL19feG1rbm9kYXQuYwo+ID4gPiA+ID4gc2ltaWxhcml0eSBp bmRleCAxMDAlCj4gPiA+ID4gPiByZW5hbWUgZnJvbSBwb3J0cy9saW51eC9ndXRzL19feG1rbm9k YXQuYwo+ID4gPiA+ID4gcmVuYW1lIHRvIHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL19feG1rbm9k YXQuYwo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMvX194c3RhdC5jIGIv cG9ydHMvbGludXgvb2xkX194L2d1dHMvX194c3RhdC5jCj4gPiA+ID4gPiBzaW1pbGFyaXR5IGlu ZGV4IDEwMCUKPiA+ID4gPiA+IHJlbmFtZSBmcm9tIHBvcnRzL2xpbnV4L2d1dHMvX194c3RhdC5j Cj4gPiA+ID4gPiByZW5hbWUgdG8gcG9ydHMvbGludXgvb2xkX194L2d1dHMvX194c3RhdC5jCj4g PiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9fX3hzdGF0NjQuYyBiL3BvcnRz L2xpbnV4L29sZF9feC9ndXRzL19feHN0YXQ2NC5jCj4gPiA+ID4gPiBzaW1pbGFyaXR5IGluZGV4 IDEwMCUKPiA+ID4gPiA+IHJlbmFtZSBmcm9tIHBvcnRzL2xpbnV4L2d1dHMvX194c3RhdDY0LmMK PiA+ID4gPiA+IHJlbmFtZSB0byBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX3hzdGF0NjQuYwo+ ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL2ZzdGF0LmMgYi9w b3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdC5jCj4gPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEw MDY0NAo+ID4gPiA+ID4gaW5kZXggMDAwMDAwMC4uYjA4OWIxNQo+ID4gPiA+ID4gLS0tIC9kZXYv bnVsbAo+ID4gPiA+ID4gKysrIGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXQuYwo+ID4g PiA+ID4gQEAgLTAsMCArMSwxNSBAQAo+ID4gPiA+ID4gKy8qCj4gPiA+ID4gPiArICogQ29weXJp Z2h0IChjKSAyMDExIFdpbmQgUml2ZXIgU3lzdGVtczsgc2VlCj4gPiA+ID4gPiArICogZ3V0cy9D T1BZUklHSFQgZm9yIGluZm9ybWF0aW9uLgo+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiArICogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkKPiA+ID4gPiA+ICsgKgo+ID4gPiA+ ID4gKyAqIGludCBmc3RhdChpbnQgZmQsIHN0cnVjdCBzdGF0ICpidWYpCj4gPiA+ID4gPiArICoJ aW50IHJjID0gLTE7Cj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCXJjID0g d3JhcF9fX2Z4c3RhdChfU1RBVF9WRVIsIGZkLCBidWYpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4g Ky8qCXJldHVybiByYzsKPiA+ID4gPiA+ICsgKiB9Cj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiBk aWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXQ2NC5jIGIvcG9ydHMvbGlu dXgvb2xkX194L2d1dHMvZnN0YXQ2NC5jCj4gPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4gPiA+ID4gaW5kZXggMDAwMDAwMC4uNmRkOTdkYQo+ID4gPiA+ID4gLS0tIC9kZXYvbnVsbAo+ ID4gPiA+ID4gKysrIGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXQ2NC5jCj4gPiA+ID4g PiBAQCAtMCwwICsxLDE1IEBACj4gPiA+ID4gPiArLyoKPiA+ID4gPiA+ICsgKiBDb3B5cmlnaHQg KGMpIDIwMTIgV2luZCBSaXZlciBTeXN0ZW1zOyBzZWUKPiA+ID4gPiA+ICsgKiBndXRzL0NPUFlS SUdIVCBmb3IgaW5mb3JtYXRpb24uCj4gPiA+ID4gPiArICoKPiA+ID4gPiA+ICsgKiBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogTEdQTC0yLjEtb25seQo+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiAr ICogaW50IGZzdGF0NjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdCAqYnVmKQo+ID4gPiA+ID4gKyAqCWlu dCByYyA9IC0xOwo+ID4gPiA+ID4gKyAqLwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlyYyA9IHdy YXBfX19meHN0YXQ2NChfU1RBVF9WRVIsIGZkLCBidWYpOwo+ID4gPiA+ID4gKwo+ID4gPiA+ID4g Ky8qCXJldHVybiByYzsKPiA+ID4gPiA+ICsgKiB9Cj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiBk aWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXRhdC5jIGIvcG9ydHMvbGlu dXgvb2xkX194L2d1dHMvZnN0YXRhdC5jCj4gPiA+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ ID4gPiA+ID4gaW5kZXggMDAwMDAwMC4uMzI2NzY0MQo+ID4gPiA+ID4gLS0tIC9kZXYvbnVsbAo+ ID4gPiA+ID4gKysrIGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXRhdC5jCj4gPiA+ID4g PiBAQCAtMCwwICsxLDE1IEBACj4gPiA+ID4gPiArLyoKPiA+ID4gPiA+ICsgKiBDb3B5cmlnaHQg KGMpIDIwMjEgTGludXggRm91bmRhdGlvbjsgc2VlCj4gPiA+ID4gPiArICogZ3V0cy9DT1BZUklH SFQgZm9yIGluZm9ybWF0aW9uLgo+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiArICogU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkKPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAq IGludCBmc3RhdGF0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1 ZiwgaW50IGZsYWdzKQo+ID4gPiA+ID4gKyAqCWludCByYyA9IC0xOwo+ID4gPiA+ID4gKyAqLwo+ ID4gPiA+ID4gKwo+ID4gPiA+ID4gKwlyYyA9IHdyYXBfX19meHN0YXRhdChfU1RBVF9WRVIsIGRp cmZkLCBwYXRoLCBidWYsIGZsYWdzKTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsvKglyZXR1cm4g cmM7Cj4gPiA+ID4gPiArICogfQo+ID4gPiA+ID4gKyAqLwo+ID4gPiA+ID4gZGlmZiAtLWdpdCBh L3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL2ZzdGF0YXQ2NC5jIGIvcG9ydHMvbGludXgvb2xkX194 L2d1dHMvZnN0YXRhdDY0LmMKPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4g PiBpbmRleCAwMDAwMDAwLi5jOTgxZTE0Cj4gPiA+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ID4g PiArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdGF0NjQuYwo+ID4gPiA+ID4gQEAg LTAsMCArMSwxNSBAQAo+ID4gPiA+ID4gKy8qCj4gPiA+ID4gPiArICogQ29weXJpZ2h0IChjKSAy MDIxIExpbnV4IEZvdW5kYXRpb247IHNlZQo+ID4gPiA+ID4gKyAqIGd1dHMvQ09QWVJJR0hUIGZv ciBpbmZvcm1hdGlvbi4KPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBMR1BMLTIuMS1vbmx5Cj4gPiA+ID4gPiArICoKPiA+ID4gPiA+ICsgKiBpbnQg ZnN0YXRhdDY0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVm LCBpbnQgZmxhZ3MpCj4gPiA+ID4gPiArICoJaW50IHJjID0gLTE7Cj4gPiA+ID4gPiArICovCj4g PiA+ID4gPiArCj4gPiA+ID4gPiArCXJjID0gd3JhcF9fX2Z4c3RhdGF0NjQoX1NUQVRfVkVSLCBk aXJmZCwgcGF0aCwgYnVmLCBmbGFncyk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArLyoJcmV0dXJu IHJjOwo+ID4gPiA+ID4gKyAqIH0KPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+IGRpZmYgLS1naXQg YS9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9sc3RhdC5jIGIvcG9ydHMvbGludXgvb2xkX194L2d1 dHMvbHN0YXQuYwo+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gPiA+IGluZGV4 IDAwMDAwMDAuLmQyYzRkNTAKPiA+ID4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gPiA+ICsrKyBi L3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL2xzdGF0LmMKPiA+ID4gPiA+IEBAIC0wLDAgKzEsMTUg QEAKPiA+ID4gPiA+ICsvKgo+ID4gPiA+ID4gKyAqIENvcHlyaWdodCAoYykgMjAxMSBXaW5kIFJp dmVyIFN5c3RlbXM7IHNlZQo+ID4gPiA+ID4gKyAqIGd1dHMvQ09QWVJJR0hUIGZvciBpbmZvcm1h dGlvbi4KPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBMR1BMLTIuMS1vbmx5Cj4gPiA+ID4gPiArICoKPiA+ID4gPiA+ICsgKiBpbnQgbHN0YXQoY29u c3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1ZikKPiA+ID4gPiA+ICsgKglpbnQgcmMgPSAt MTsKPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJcmMgPSB3cmFwX19fZnhz dGF0YXQoX1NUQVRfVkVSLCBBVF9GRENXRCwgcGF0aCwgYnVmLCBBVF9TWU1MSU5LX05PRk9MTE9X KTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsvKglyZXR1cm4gcmM7Cj4gPiA+ID4gPiArICogfQo+ ID4gPiA+ID4gKyAqLwo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L29sZF9feC9n dXRzL2xzdGF0NjQuYyBiL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL2xzdGF0NjQuYwo+ID4gPiA+ ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gPiA+IGluZGV4IDAwMDAwMDAuLjQzZDBjZTEK PiA+ID4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L29sZF9f eC9ndXRzL2xzdGF0NjQuYwo+ID4gPiA+ID4gQEAgLTAsMCArMSwxNSBAQAo+ID4gPiA+ID4gKy8q Cj4gPiA+ID4gPiArICogQ29weXJpZ2h0IChjKSAyMDEyIFdpbmQgUml2ZXIgU3lzdGVtczsgc2Vl Cj4gPiA+ID4gPiArICogZ3V0cy9DT1BZUklHSFQgZm9yIGluZm9ybWF0aW9uLgo+ID4gPiA+ID4g KyAqCj4gPiA+ID4gPiArICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkK PiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIGludCBsc3RhdDY0KGNvbnN0IGNoYXIgKnBhdGgs IHN0cnVjdCBzdGF0ICpidWYpCj4gPiA+ID4gPiArICoJaW50IHJjID0gLTE7Cj4gPiA+ID4gPiAr ICovCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCXJjID0gd3JhcF9fX2Z4c3RhdGF0NjQoX1NUQVRf VkVSLCBBVF9GRENXRCwgcGF0aCwgYnVmLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKPiA+ID4gPiA+ ICsKPiA+ID4gPiA+ICsvKglyZXR1cm4gcmM7Cj4gPiA+ID4gPiArICogfQo+ID4gPiA+ID4gKyAq Lwo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL21rbm9kLmMg Yi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta25vZC5jCj4gPiA+ID4gPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NAo+ID4gPiA+ID4gaW5kZXggMDAwMDAwMC4uNjFmZDMyMAo+ID4gPiA+ID4gLS0tIC9k ZXYvbnVsbAo+ID4gPiA+ID4gKysrIGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMvbWtub2QuYwo+ ID4gPiA+ID4gQEAgLTAsMCArMSwxNSBAQAo+ID4gPiA+ID4gKy8qCj4gPiA+ID4gPiArICogQ29w eXJpZ2h0IChjKSAyMDE2IFdpbmQgUml2ZXIgU3lzdGVtczsgc2VlCj4gPiA+ID4gPiArICogZ3V0 cy9DT1BZUklHSFQgZm9yIGluZm9ybWF0aW9uLgo+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiArICog U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkKPiA+ID4gPiA+ICsgKgo+ID4g PiA+ID4gKyAqIGludCBta25vZChjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgZGV2X3Qg ZGV2KQo+ID4gPiA+ID4gKyAqCWludCByYyA9IC0xOwo+ID4gPiA+ID4gKyAqLwo+ID4gPiA+ID4g Kwo+ID4gPiA+ID4gKwlyYyA9IHdyYXBfX194bWtub2QoX01LTk9EX1ZFUiwgcGF0aCwgbW9kZSwg JmRldik7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArLyoJcmV0dXJuIHJjOwo+ID4gPiA+ID4gKyAq IH0KPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9vbGRf X3gvZ3V0cy9ta25vZGF0LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta25vZGF0LmMKPiA+ ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+ID4gPiBpbmRleCAwMDAwMDAwLi5hN2U0 MjkzCj4gPiA+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ID4gPiArKysgYi9wb3J0cy9saW51eC9v bGRfX3gvZ3V0cy9ta25vZGF0LmMKPiA+ID4gPiA+IEBAIC0wLDAgKzEsMTUgQEAKPiA+ID4gPiA+ ICsvKgo+ID4gPiA+ID4gKyAqIENvcHlyaWdodCAoYykgMjAxNiBXaW5kIFJpdmVyIFN5c3RlbXM7 IHNlZQo+ID4gPiA+ID4gKyAqIGd1dHMvQ09QWVJJR0hUIGZvciBpbmZvcm1hdGlvbi4KPiA+ID4g PiA+ICsgKgo+ID4gPiA+ID4gKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMS1v bmx5Cj4gPiA+ID4gPiArICoKPiA+ID4gPiA+ICsgKiBpbnQgbWtub2RhdChpbnQgZGlyZmQsIGNv bnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCBkZXYpCj4gPiA+ID4gPiArICoJaW50 IHJjID0gLTE7Cj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCXJjID0gd3Jh cF9fX3hta25vZGF0KF9NS05PRF9WRVIsIGRpcmZkLCBwYXRoLCBtb2RlLCAmZGV2KTsKPiA+ID4g PiA+ICsKPiA+ID4gPiA+ICsvKglyZXR1cm4gcmM7Cj4gPiA+ID4gPiArICogfQo+ID4gPiA+ID4g KyAqLwo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL21rb3N0 ZW1wNjQuYyBiL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL21rb3N0ZW1wNjQuYwo+ID4gPiA+ID4g bmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gPiA+IGluZGV4IDAwMDAwMDAuLjUwMjIxMWIKPiA+ ID4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L29sZF9feC9n dXRzL21rb3N0ZW1wNjQuYwo+ID4gPiA+ID4gQEAgLTAsMCArMSw1MyBAQAo+ID4gPiA+ID4gKy8q Cj4gPiA+ID4gPiArICogQ29weXJpZ2h0IChjKSAyMDEwIFdpbmQgUml2ZXIgU3lzdGVtczsgc2Vl Cj4gPiA+ID4gPiArICogZ3V0cy9DT1BZUklHSFQgZm9yIGluZm9ybWF0aW9uLgo+ID4gPiA+ID4g KyAqCj4gPiA+ID4gPiArICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkK PiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAqIHN0YXRpYyBpbnQKPiA+ID4gPiA+ICsgKiB3cmFw X21rc3RlbXA2NChjaGFyICp0ZW1wbGF0ZSwgaW50IG9mbGFncykgewo+ID4gPiA+ID4gKyAqCWlu dCByYyA9IC0xOwo+ID4gPiA+ID4gKyAqLwo+ID4gPiA+ID4gKwlzdHJ1Y3Qgc3RhdDY0IGJ1ZjsK PiA+ID4gPiA+ICsgCWludCBzYXZlX2Vycm5vOwo+ID4gPiA+ID4gKwlzaXplX3QgbGVuOwo+ID4g PiA+ID4gKwljaGFyICp0bXBfdGVtcGxhdGU7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiArCWlmICgh dGVtcGxhdGUpIHsKPiA+ID4gPiA+ICsJCWVycm5vID0gRUZBVUxUOwo+ID4gPiA+ID4gKwkJcmV0 dXJuIDA7Cj4gPiA+ID4gPiArCX0KPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJbGVuID0gc3RybGVu KHRlbXBsYXRlKTsKPiA+ID4gPiA+ICsJdG1wX3RlbXBsYXRlID0gUFNFVURPX1JPT1RfUEFUSChB VF9GRENXRCwgdGVtcGxhdGUsIEFUX1NZTUxJTktfTk9GT0xMT1cpOwo+ID4gPiA+ID4gKwo+ID4g PiA+ID4gKwlpZiAoIXRtcF90ZW1wbGF0ZSkgewo+ID4gPiA+ID4gKwkJZXJybm8gPSBFTk9FTlQ7 Cj4gPiA+ID4gPiArCQlyZXR1cm4gLTE7Cj4gPiA+ID4gPiArCX0KPiA+ID4gPiA+ICsKPiA+ID4g PiA+ICsJLyogbWtzdGVtcDY0IHdyYXBwZXIgdXNlcyB0aGlzIGNvZGUgYW5kIG1rb3N0ZW1wNjQg bm90IHByZXNlbnQgaW4gc29tZSBnbGliYyB2ZXJzaW9ucyAqLwo+ID4gPiA+ID4gKwlpZiAob2Zs YWdzID09IDApCj4gPiA+ID4gPiArCQlyYyA9IHJlYWxfbWtzdGVtcDY0KHRtcF90ZW1wbGF0ZSk7 Cj4gPiA+ID4gPiArCWVsc2UKPiA+ID4gPiA+ICsJCXJjID0gcmVhbF9ta29zdGVtcDY0KHRtcF90 ZW1wbGF0ZSwgb2ZsYWdzKTsKPiA+ID4gPiA+ICsKPiA+ID4gPiA+ICsJaWYgKHJjICE9IC0xKSB7 Cj4gPiA+ID4gPiArCQlzYXZlX2Vycm5vID0gZXJybm87Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiAr CQlpZiAocmVhbF9fX2Z4c3RhdDY0KF9TVEFUX1ZFUiwgcmMsICZidWYpICE9IC0xKSB7Cj4gPiA+ ID4gPiArCQkJcmVhbF9mY2htb2QocmMsIFBTRVVET19GU19NT0RFKDA2MDAsIDApKTsKPiA+ID4g PiA+ICsJCQlwc2V1ZG9fY2xpZW50X29wKE9QX0NSRUFULCAwLCAtMSwgLTEsIHRtcF90ZW1wbGF0 ZSwgJmJ1Zik7Cj4gPiA+ID4gPiArCQkJcHNldWRvX2NsaWVudF9vcChPUF9PUEVOLCBQU0FfUkVB RCB8IFBTQV9XUklURSwgcmMsIC0xLCB0bXBfdGVtcGxhdGUsICZidWYpOwo+ID4gPiA+ID4gKwkJ fSBlbHNlIHsKPiA+ID4gPiA+ICsJCQlwc2V1ZG9fZGVidWcoUERCR0ZfQ09OU0lTVEVOQ1ksICJt a3N0ZW1wIChmZCAlZCkgc3VjY2VlZGVkLCBidXQgZnN0YXQgZmFpbGVkICglcykuXG4iLAo+ID4g PiA+ID4gKwkJCQlyYywgc3RyZXJyb3IoZXJybm8pKTsKPiA+ID4gPiA+ICsJCQlwc2V1ZG9fY2xp ZW50X29wKE9QX09QRU4sIFBTQV9SRUFEIHwgUFNBX1dSSVRFLCByYywgLTEsIHRtcF90ZW1wbGF0 ZSwgMCk7Cj4gPiA+ID4gPiArCQl9Cj4gPiA+ID4gPiArCQllcnJubyA9IHNhdmVfZXJybm87Cj4g PiA+ID4gPiArCX0KPiA+ID4gPiA+ICsJLyogbWtzdGVtcCBvbmx5IGNoYW5nZXMgdGhlIFhYWFhY WCBhdCB0aGUgZW5kLiAqLwo+ID4gPiA+ID4gKwltZW1jcHkodGVtcGxhdGUgKyBsZW4gLSA2LCB0 bXBfdGVtcGxhdGUgKyBzdHJsZW4odG1wX3RlbXBsYXRlKSAtIDYsIDYpOwo+ID4gPiA+ID4gKy8q CXJldHVybiByYzsKPiA+ID4gPiA+ICsgKiB9Cj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiBkaWZm IC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L3BvcnRkZWZzLmggYi9wb3J0cy9saW51eC9vbGRf X3gvcG9ydGRlZnMuaAo+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gPiA+IGlu ZGV4IDAwMDAwMDAuLmYyYmRjMjIKPiA+ID4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gPiA+ICsr KyBiL3BvcnRzL2xpbnV4L29sZF9feC9wb3J0ZGVmcy5oCj4gPiA+ID4gPiBAQCAtMCwwICsxLDQw IEBACj4gPiA+ID4gPiArLyoKPiA+ID4gPiA+ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog TEdQTC0yLjEtb25seQo+ID4gPiA+ID4gKyAqCj4gPiA+ID4gPiArICovCj4gPiA+ID4gPiArCj4g PiA+ID4gPiArLyogSWYgdGhlIHN1YnBvcnQgd2FzIGVuYWJsZWQsIGFuZCB0aGVzZSBhcmUgbm90 IGRlZmluZWQgcHJvdmlkZSBhIGRlZmF1bHQgKi8KPiA+ID4gPiA+ICsjaWZuZGVmIF9TVEFUX1ZF Ugo+ID4gPiA+ID4gKyNpZiBkZWZpbmVkIChfX2FhcmNoNjRfXykKPiA+ID4gPiA+ICsjZGVmaW5l IF9TVEFUX1ZFUiAwCj4gPiA+ID4gPiArI2VsaWYgZGVmaW5lZCAoX194ODZfNjRfXykKPiA+ID4g PiA+ICsjZGVmaW5lIF9TVEFUX1ZFUiAxCj4gPiA+ID4gPiArI2Vsc2UKPiA+ID4gPiA+ICsjZGVm aW5lIF9TVEFUX1ZFUiAzCj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ ID4gPiArCj4gPiA+ID4gPiArI2lmIFBTRVVET19TVEFUQlVGXzY0Cj4gPiA+ID4gPiArI2RlZmlu ZSBiYXNlX2ZzdGF0KGZkLCBidWYpIHJlYWxfX19meHN0YXQ2NChfU1RBVF9WRVIsIGZkLCBidWYp Cj4gPiA+ID4gPiArI2RlZmluZSBiYXNlX3N0YXQocGF0aCwgYnVmKSByZWFsX19feHN0YXQ2NChf U1RBVF9WRVIsIHBhdGgsIGJ1ZikKPiA+ID4gPiA+ICsjZGVmaW5lIGJhc2VfZnN0YXRhdChkaXJm ZCwgcGF0aCwgYnVmLCBmbGFncykgcmVhbF9fX2Z4c3RhdGF0NjQoX1NUQVRfVkVSLCBkaXJmZCwg cGF0aCwgYnVmLCBmbGFncykKPiA+ID4gPiA+ICsjZWxzZQo+ID4gPiA+ID4gKyNkZWZpbmUgYmFz ZV9mc3RhdChmZCwgYnVmKSByZWFsX19fZnhzdGF0KF9TVEFUX1ZFUiwgZmQsIGJ1ZikKPiA+ID4g PiA+ICsjZGVmaW5lIGJhc2Vfc3RhdChwYXRoLCBidWYpIHJlYWxfX194c3RhdChfU1RBVF9WRVIs IHBhdGgsIGJ1ZikKPiA+ID4gPiA+ICsjZGVmaW5lIGJhc2VfZnN0YXRhdChkaXJmZCwgcGF0aCwg YnVmLCBmbGFncykgcmVhbF9fX2Z4c3RhdGF0KF9TVEFUX1ZFUiwgZGlyZmQsIHBhdGgsIGJ1Ziwg ZmxhZ3MpCj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArI2RlZmluZSBi YXNlX2ZzdGF0NjQocGF0aCwgYnVmKSByZWFsX19fZnhzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCBi dWYpCj4gPiA+ID4gPiArI2RlZmluZSBiYXNlX3N0YXQ2NChwYXRoLCBidWYpIHJlYWxfX194c3Rh dDY0KF9TVEFUX1ZFUiwgcGF0aCwgYnVmKQo+ID4gPiA+ID4gKyNkZWZpbmUgYmFzZV9mc3RhdGF0 NjQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpIHJlYWxfX19meHN0YXRhdDY0KF9TVEFUX1ZFUiwg ZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArLyogSWYgdGhl IHN1YnBvcnQgd2FzIGVuYWJsZWQsIGFuZCB0aGVzZSBhcmUgbm90IGRlZmluZWQgcHJvdmlkZSBh IGRlZmF1bHQgKi8KPiA+ID4gPiA+ICsjaWZuZGVmIF9NS05PRF9WRVIKPiA+ID4gPiA+ICsjaWYg ZGVmaW5lZCAoX19hYXJjaDY0X18pCj4gPiA+ID4gPiArI2RlZmluZSBfTUtOT0RfVkVSIDAKPiA+ ID4gPiA+ICsjZWxpZiBkZWZpbmVkIChfX3g4Nl82NF9fKQo+ID4gPiA+ID4gKyNkZWZpbmUgX01L Tk9EX1ZFUiAwCj4gPiA+ID4gPiArI2Vsc2UKPiA+ID4gPiA+ICsjZGVmaW5lIF9NS05PRF9WRVIg MQo+ID4gPiA+ID4gKyNlbmRpZgo+ID4gPiA+ID4gKyNlbmRpZgo+ID4gPiA+ID4gZGlmZiAtLWdp dCBhL3BvcnRzL2xpbnV4L29sZF9feC9wc2V1ZG9fd3JhcHBlcnMuYyBiL3BvcnRzL2xpbnV4L29s ZF9feC9wc2V1ZG9fd3JhcHBlcnMuYwo+ID4gPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ ID4gPiA+IGluZGV4IDAwMDAwMDAuLjQ1NWJjMDkKPiA+ID4gPiA+IC0tLSAvZGV2L251bGwKPiA+ ID4gPiA+ICsrKyBiL3BvcnRzL2xpbnV4L29sZF9feC9wc2V1ZG9fd3JhcHBlcnMuYwo+ID4gPiA+ ID4gQEAgLTAsMCArMSw0OCBAQAo+ID4gPiA+ID4gKy8qCj4gPiA+ID4gPiArICogU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkKPiA+ID4gPiA+ICsgKgo+ID4gPiA+ID4gKyAq Lwo+ID4gPiA+ID4gKy8qIHRoZSB1bml4IHBvcnQgd2FudHMgdG8ga25vdyB0aGF0IHJlYWxfc3Rh dCgpIGFuZAo+ID4gPiA+ID4gKyAqIGZyaWVuZHMgZXhpc3QuICBTbyB0aGV5IGRvLiBBbmQgYmVj YXVzZSB0aGUgTGludXgKPiA+ID4gPiA+ICsgKiBwb3J0IHJlYWxseSB1c2VzIHN0YXQ2NCBmb3Ig dGhvc2UuLi4KPiA+ID4gPiA+ICsgKi8KPiA+ID4gPiA+ICtpbnQKPiA+ID4gPiA+ICtwc2V1ZG9f c3RhdChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKSB7Cj4gPiA+ID4gPiArCXJl dHVybiByZWFsX19feHN0YXQoX1NUQVRfVkVSLCBwYXRoLCBidWYpOwo+ID4gPiA+ID4gK30KPiA+ ID4gPiA+ICsKPiA+ID4gPiA+ICtpbnQKPiA+ID4gPiA+ICtwc2V1ZG9fbHN0YXQoY29uc3QgY2hh ciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1Zikgewo+ID4gPiA+ID4gKwlyZXR1cm4gcmVhbF9fX2x4 c3RhdChfU1RBVF9WRVIsIHBhdGgsIGJ1Zik7Cj4gPiA+ID4gPiArfQo+ID4gPiA+ID4gKwo+ID4g PiA+ID4gK2ludAo+ID4gPiA+ID4gK3BzZXVkb19mc3RhdChpbnQgZmQsIHN0cnVjdCBzdGF0ICpi dWYpIHsKPiA+ID4gPiA+ICsJcmV0dXJuIHJlYWxfX19meHN0YXQoX1NUQVRfVkVSLCBmZCwgYnVm KTsKPiA+ID4gPiA+ICt9Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiAraW50Cj4gPiA+ID4gPiArcHNl dWRvX3N0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpIHsKPiA+ID4g PiA+ICsJcmV0dXJuIHJlYWxfX194c3RhdDY0KF9TVEFUX1ZFUiwgcGF0aCwgYnVmKTsKPiA+ID4g PiA+ICt9Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiAraW50Cj4gPiA+ID4gPiArcHNldWRvX2xzdGF0 NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKSB7Cj4gPiA+ID4gPiArCXJl dHVybiByZWFsX19fbHhzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCBidWYpOwo+ID4gPiA+ID4gK30K PiA+ID4gPiA+ICsKPiA+ID4gPiA+ICtpbnQKPiA+ID4gPiA+ICtwc2V1ZG9fZnN0YXQ2NChpbnQg ZmQsIHN0cnVjdCBzdGF0NjQgKmJ1Zikgewo+ID4gPiA+ID4gKwlyZXR1cm4gcmVhbF9fX2Z4c3Rh dDY0KF9TVEFUX1ZFUiwgZmQsIGJ1Zik7Cj4gPiA+ID4gPiArfQo+ID4gPiA+ID4gKwo+ID4gPiA+ ID4gKy8qIHNpbWlsYXIgdGhpbmcgaGFwcGVucyB3aXRoIG1rbm9kICovCj4gPiA+ID4gPiAraW50 Cj4gPiA+ID4gPiArcHNldWRvX21rbm9kKGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBk ZXZfdCBkZXYpIHsKPiA+ID4gPiA+ICsJcmV0dXJuIHJlYWxfX194bWtub2QoX01LTk9EX1ZFUiwg cGF0aCwgbW9kZSwgJmRldik7Cj4gPiA+ID4gPiArfQo+ID4gPiA+ID4gKwo+ID4gPiA+ID4gK2lu dAo+ID4gPiA+ID4gK3BzZXVkb19ta25vZGF0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwg bW9kZV90IG1vZGUsIGRldl90IGRldikgewo+ID4gPiA+ID4gKwlyZXR1cm4gcmVhbF9fX3hta25v ZGF0KF9NS05PRF9WRVIsIGRpcmZkLCBwYXRoLCBtb2RlLCAmZGV2KTsKPiA+ID4gPiA+ICt9Cj4g PiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L3dyYXBmdW5jcy5pbiBiL3Bv cnRzL2xpbnV4L29sZF9feC93cmFwZnVuY3MuaW4KPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0Cj4gPiA+ID4gPiBpbmRleCAwMDAwMDAwLi5kZTI0ZTYzCj4gPiA+ID4gPiAtLS0gL2Rldi9u dWxsCj4gPiA+ID4gPiArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvd3JhcGZ1bmNzLmluCj4gPiA+ ID4gPiBAQCAtMCwwICsxLDE4IEBACj4gPiA+ID4gPiAraW50IF9feHN0YXQoaW50IHZlciwgY29u c3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1Zik7Cj4gPiA+ID4gPiAraW50IF9fbHhzdGF0 KGludCB2ZXIsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpidWYpOyAvKiBmbGFncz1B VF9TWU1MSU5LX05PRk9MTE9XICovCj4gPiA+ID4gPiAraW50IF9fZnhzdGF0KGludCB2ZXIsIGlu dCBmZCwgc3RydWN0IHN0YXQgKmJ1Zik7Cj4gPiA+ID4gPiAraW50IF9fZnhzdGF0YXQoaW50IHZl ciwgaW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmLCBpbnQgZmxh Z3MpOwo+ID4gPiA+ID4gK2ludCBfX3hzdGF0NjQoaW50IHZlciwgY29uc3QgY2hhciAqcGF0aCwg c3RydWN0IHN0YXQ2NCAqYnVmKTsKPiA+ID4gPiA+ICtpbnQgX19seHN0YXQ2NChpbnQgdmVyLCBj b25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpOyAvKiBmbGFncz1BVF9TWU1MSU5L X05PRk9MTE9XICovCj4gPiA+ID4gPiAraW50IF9fZnhzdGF0NjQoaW50IHZlciwgaW50IGZkLCBz dHJ1Y3Qgc3RhdDY0ICpidWYpOwo+ID4gPiA+ID4gK2ludCBfX2Z4c3RhdGF0NjQoaW50IHZlciwg aW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYsIGludCBmbGFn cyk7Cj4gPiA+ID4gPiArCj4gPiA+ID4gPiAraW50IHN0YXQoY29uc3QgY2hhciAqcGF0aCwgc3Ry dWN0IHN0YXQgKmJ1Zik7IC8qIHJlYWxfZnVuYz1wc2V1ZG9fc3RhdCAqLwo+ID4gPiA+ID4gK2lu dCBsc3RhdChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKTsgLyogcmVhbF9mdW5j PXBzZXVkb19sc3RhdCwgZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwo+ID4gPiA+ID4gK2lu dCBsc3RhdDY0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7IC8qIHJlYWxf ZnVuYz1wc2V1ZG9fbHN0YXQ2NCwgZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwo+ID4gPiA+ ID4gK2ludCBmc3RhdDY0KGludCBmZCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsgLyogcmVhbF9mdW5j PXBzZXVkb19mc3RhdDY0ICovCj4gPiA+ID4gPiArCj4gPiA+ID4gPiAraW50IF9feG1rbm9kKGlu dCB2ZXIsIGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCAqZGV2KTsgLyogZmxh Z3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwo+ID4gPiA+ID4gK2ludCBfX3hta25vZGF0KGludCB2 ZXIsIGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUsIGRldl90ICpkZXYp OyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9MTE9XICovCj4gPiA+ID4gPiAraW50IG1rbm9kKGNv bnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCBkZXYpOyAvKiByZWFsX2Z1bmM9cHNl dWRvX21rbm9kICovCj4gPiA+ID4gPiAraW50IG1rbm9kYXQoaW50IGRpcmZkLCBjb25zdCBjaGFy ICpwYXRoLCBtb2RlX3QgbW9kZSwgZGV2X3QgZGV2KTsgLyogcmVhbF9mdW5jPXBzZXVkb19ta25v ZGF0ICovCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvcG9ydGRlZnMuaCBiL3Bv cnRzL2xpbnV4L3BvcnRkZWZzLmgKPiA+ID4gPiA+IGluZGV4IDk1NDU1NTAuLmE5MmU5NjkgMTAw NjQ0Cj4gPiA+ID4gPiAtLS0gYS9wb3J0cy9saW51eC9wb3J0ZGVmcy5oCj4gPiA+ID4gPiArKysg Yi9wb3J0cy9saW51eC9wb3J0ZGVmcy5oCj4gPiA+ID4gPiBAQCAtMzQsMjIgKzM0LDMgQEAgR0xJ QkNfQ09NUEFUX1NZTUJPTChtZW1jcHksMi4wKTsKPiA+ID4gPiA+ICAgICNpbmNsdWRlIDxzeXMv c3lzY2FsbC5oPgo+ID4gPiA+ID4gICAgI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgo+ID4gPiA+ID4g ICAgI2luY2x1ZGUgPGxpbnV4L3NlY2NvbXAuaD4KPiA+ID4gPiA+IC0KPiA+ID4gPiA+IC0jaWZu ZGVmIF9TVEFUX1ZFUgo+ID4gPiA+ID4gLSNpZiBkZWZpbmVkIChfX2FhcmNoNjRfXykKPiA+ID4g PiA+IC0jZGVmaW5lIF9TVEFUX1ZFUiAwCj4gPiA+ID4gPiAtI2VsaWYgZGVmaW5lZCAoX194ODZf NjRfXykKPiA+ID4gPiA+IC0jZGVmaW5lIF9TVEFUX1ZFUiAxCj4gPiA+ID4gPiAtI2Vsc2UKPiA+ ID4gPiA+IC0jZGVmaW5lIF9TVEFUX1ZFUiAzCj4gPiA+ID4gPiAtI2VuZGlmCj4gPiA+ID4gPiAt I2VuZGlmCj4gPiA+ID4gPiAtI2lmbmRlZiBfTUtOT0RfVkVSCj4gPiA+ID4gPiAtI2lmIGRlZmlu ZWQgKF9fYWFyY2g2NF9fKQo+ID4gPiA+ID4gLSNkZWZpbmUgX01LTk9EX1ZFUiAwCj4gPiA+ID4g PiAtI2VsaWYgZGVmaW5lZCAoX194ODZfNjRfXykKPiA+ID4gPiA+IC0jZGVmaW5lIF9NS05PRF9W RVIgMAo+ID4gPiA+ID4gLSNlbHNlCj4gPiA+ID4gPiAtI2RlZmluZSBfTUtOT0RfVkVSIDEKPiA+ ID4gPiA+IC0jZW5kaWYKPiA+ID4gPiA+IC0jZW5kaWYKPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9w b3J0cy9saW51eC9wc2V1ZG9fd3JhcHBlcnMuYyBiL3BvcnRzL2xpbnV4L3BzZXVkb193cmFwcGVy cy5jCj4gPiA+ID4gPiBpbmRleCA3NjU5ODk3Li43YTRmNTQ5IDEwMDY0NAo+ID4gPiA+ID4gLS0t IGEvcG9ydHMvbGludXgvcHNldWRvX3dyYXBwZXJzLmMKPiA+ID4gPiA+ICsrKyBiL3BvcnRzL2xp bnV4L3BzZXVkb193cmFwcGVycy5jCj4gPiA+ID4gPiBAQCAtMiw1MCArMiw3IEBACj4gPiA+ID4g PiAgICAgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQTC0yLjEtb25seQo+ID4gPiA+ID4g ICAgICoKPiA+ID4gPiA+ICAgICAqLwo+ID4gPiA+ID4gLS8qIHRoZSB1bml4IHBvcnQgd2FudHMg dG8ga25vdyB0aGF0IHJlYWxfc3RhdCgpIGFuZAo+ID4gPiA+ID4gLSAqIGZyaWVuZHMgZXhpc3Qu ICBTbyB0aGV5IGRvLiBBbmQgYmVjYXVzZSB0aGUgTGludXgKPiA+ID4gPiA+IC0gKiBwb3J0IHJl YWxseSB1c2VzIHN0YXQ2NCBmb3IgdGhvc2UuLi4KPiA+ID4gPiA+IC0gKi8KPiA+ID4gPiA+IC1p bnQKPiA+ID4gPiA+IC1wc2V1ZG9fc3RhdChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAq YnVmKSB7Cj4gPiA+ID4gPiAtCXJldHVybiByZWFsX19feHN0YXQoX1NUQVRfVkVSLCBwYXRoLCBi dWYpOwo+ID4gPiA+ID4gLX0KPiA+ID4gPiA+IC0KPiA+ID4gPiA+IC1pbnQKPiA+ID4gPiA+IC1w c2V1ZG9fbHN0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1Zikgewo+ID4gPiA+ ID4gLQlyZXR1cm4gcmVhbF9fX2x4c3RhdChfU1RBVF9WRVIsIHBhdGgsIGJ1Zik7Cj4gPiA+ID4g PiAtfQo+ID4gPiA+ID4gLQo+ID4gPiA+ID4gLWludAo+ID4gPiA+ID4gLXBzZXVkb19mc3RhdChp bnQgZmQsIHN0cnVjdCBzdGF0ICpidWYpIHsKPiA+ID4gPiA+IC0JcmV0dXJuIHJlYWxfX19meHN0 YXQoX1NUQVRfVkVSLCBmZCwgYnVmKTsKPiA+ID4gPiA+IC19Cj4gPiA+ID4gPiAtCj4gPiA+ID4g PiAtaW50Cj4gPiA+ID4gPiAtcHNldWRvX3N0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qg c3RhdDY0ICpidWYpIHsKPiA+ID4gPiA+IC0JcmV0dXJuIHJlYWxfX194c3RhdDY0KF9TVEFUX1ZF UiwgcGF0aCwgYnVmKTsKPiA+ID4gPiA+IC19Cj4gPiA+ID4gPiAtCj4gPiA+ID4gPiAtaW50Cj4g PiA+ID4gPiAtcHNldWRvX2xzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAq YnVmKSB7Cj4gPiA+ID4gPiAtCXJldHVybiByZWFsX19fbHhzdGF0NjQoX1NUQVRfVkVSLCBwYXRo LCBidWYpOwo+ID4gPiA+ID4gLX0KPiA+ID4gPiA+IC0KPiA+ID4gPiA+IC1pbnQKPiA+ID4gPiA+ IC1wc2V1ZG9fZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1Zikgewo+ID4gPiA+ID4g LQlyZXR1cm4gcmVhbF9fX2Z4c3RhdDY0KF9TVEFUX1ZFUiwgZmQsIGJ1Zik7Cj4gPiA+ID4gPiAt fQo+ID4gPiA+ID4gLQo+ID4gPiA+ID4gICAgLyogc2ltaWxhciB0aGluZyBoYXBwZW5zIHdpdGgg bWtub2QgKi8KPiA+ID4gPiA+IC1pbnQKPiA+ID4gPiA+IC1wc2V1ZG9fbWtub2QoY29uc3QgY2hh ciAqcGF0aCwgbW9kZV90IG1vZGUsIGRldl90IGRldikgewo+ID4gPiA+ID4gLQlyZXR1cm4gcmVh bF9fX3hta25vZChfTUtOT0RfVkVSLCBwYXRoLCBtb2RlLCAmZGV2KTsKPiA+ID4gPiA+IC19Cj4g PiA+ID4gPiAtCj4gPiA+ID4gPiAtaW50Cj4gPiA+ID4gPiAtcHNldWRvX21rbm9kYXQoaW50IGRp cmZkLCBjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgZGV2X3QgZGV2KSB7Cj4gPiA+ID4g PiAtCXJldHVybiByZWFsX19feG1rbm9kYXQoX01LTk9EX1ZFUiwgZGlyZmQsIHBhdGgsIG1vZGUs ICZkZXYpOwo+ID4gPiA+ID4gLX0KPiA+ID4gPiA+ICAgIGludCBwc2V1ZG9fY2Fwc2V0KGNhcF91 c2VyX2hlYWRlcl90IGhkcnAsIGNvbnN0IGNhcF91c2VyX2RhdGFfdCBkYXRhcCkgewo+ID4gPiA+ ID4gICAgCSh2b2lkKWhkcnA7Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvc3Vi cG9ydHMgYi9wb3J0cy9saW51eC9zdWJwb3J0cwo+ID4gPiA+ID4gaW5kZXggMDk5ZWE1OS4uNTNm NjY5NiAxMDA3NTUKPiA+ID4gPiA+IC0tLSBhL3BvcnRzL2xpbnV4L3N1YnBvcnRzCj4gPiA+ID4g PiArKysgYi9wb3J0cy9saW51eC9zdWJwb3J0cwo+ID4gPiA+ID4gQEAgLTcwLDMgKzcwLDE4IEBA IGVsc2UKPiA+ID4gPiA+ICAgIGZpCj4gPiA+ID4gPiAgICBybSAtZiBkdW1teS5jIGR1bW15Lm8K PiA+ID4gPiA+ICsjIENoZWNrIGlmIF9TVEFUX1ZFUiBpcyBkZWZpbmVkLiAgVGhpcyBpcyBhbiBp bmRpY2F0aW9uIHRoYXQgdGhlIG9sZCBpbnRlcm5hbCBfXyp4c3RhdCogZnVuY3Rpb25zIGFyZSBh dmFpbGFibGUKPiA+ID4gPiA+ICsjIENoZWNrIGlmIF9NS05PRF9WRVIgaXMgZGVmaW5lZC4gIFRo aXMgaXMgYW4gaW5kaWNhdGlvbiB0aGF0IHRoZSBvbGQgaW50ZXJuYWwgX194bWtub2QqIGZ1bmN0 aW9ucyBhcmUgYXZhaWxhYmxlCj4gPiA+ID4gPiArY2F0ID4gZHVtbXkuYyA8PEVPRgo+ID4gPiA+ ID4gKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgo+ID4gPiA+ID4gKyNpZm5kZWYgX1NUQVRfVkVSCj4g PiA+ID4gPiArI2Vycm9yIF9TVEFUX1ZFUiBub3QgZGVmaW5lZAo+ID4gPiA+ID4gKyNlbmRpZgo+ ID4gPiA+ID4gKyNpZm5kZWYgX01LTk9EX1ZFUgo+ID4gPiA+ID4gKyNlcnJvciBfTUtOT0RfVkVS IG5vdCBkZWZpbmVkCj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiArRU9GCj4gPiA+ID4gPiAr aWYgJHtDQ30gLWMgLW8gZHVtbXkubyBkdW1teS5jID4vZGV2L251bGwgMj4mMTsgdGhlbgo+ID4g PiA+ID4gKyAgICAgICAgZWNobyAibGludXgvb2xkX194Igo+ID4gPiA+ID4gK2ZpCj4gPiA+ID4g PiArcm0gLWYgZHVtbXkuYyBkdW1teS5vCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcG9ydHMvbGlu dXgvd3JhcGZ1bmNzLmluIGIvcG9ydHMvbGludXgvd3JhcGZ1bmNzLmluCj4gPiA+ID4gPiBpbmRl eCA5N2IxNmMyLi41MTg3ZmQ4IDEwMDY0NAo+ID4gPiA+ID4gLS0tIGEvcG9ydHMvbGludXgvd3Jh cGZ1bmNzLmluCj4gPiA+ID4gPiArKysgYi9wb3J0cy9saW51eC93cmFwZnVuY3MuaW4KPiA+ID4g PiA+IEBAIC0xLDE3ICsxLDExIEBACj4gPiA+ID4gPiAgICBpbnQgb3Blbihjb25zdCBjaGFyICpw YXRoLCBpbnQgZmxhZ3MsIC4uLnttb2RlX3QgbW9kZX0pOyAvKiBmbGFncz1mbGFncyZPX05PRk9M TE9XLCBub2lnbm9yZV9wYXRoPTEgKi8KPiA+ID4gPiA+ICAgIGNoYXIgKmdldF9jdXJyZW50X2Rp cl9uYW1lKHZvaWQpOwo+ID4gPiA+ID4gLWludCBfX3hzdGF0KGludCB2ZXIsIGNvbnN0IGNoYXIg KnBhdGgsIHN0cnVjdCBzdGF0ICpidWYpOwo+ID4gPiA+ID4gLWludCBfX2x4c3RhdChpbnQgdmVy LCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKTsgLyogZmxhZ3M9QVRfU1lNTElO S19OT0ZPTExPVyAqLwo+ID4gPiA+ID4gLWludCBfX2Z4c3RhdChpbnQgdmVyLCBpbnQgZmQsIHN0 cnVjdCBzdGF0ICpidWYpOwo+ID4gPiA+ID4gICAgaW50IGxjaG1vZChjb25zdCBjaGFyICpwYXRo LCBtb2RlX3QgbW9kZSk7IC8qIGZsYWdzPUFUX1NZTUxJTktfTk9GT0xMT1cgKi8KPiA+ID4gPiA+ ICAgIGludCBsY2hvd24oY29uc3QgY2hhciAqcGF0aCwgdWlkX3Qgb3duZXIsIGdpZF90IGdyb3Vw KTsgLyogZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwo+ID4gPiA+ID4gLWludCBfX2Z4c3Rh dGF0KGludCB2ZXIsIGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1 ZiwgaW50IGZsYWdzKTsKPiA+ID4gPiA+ICAgIGludCBvcGVuYXQoaW50IGRpcmZkLCBjb25zdCBj aGFyICpwYXRoLCBpbnQgZmxhZ3MsIC4uLnttb2RlX3QgbW9kZX0pOyAvKiBmbGFncz1mbGFncyZP X05PRk9MTE9XLCBub2lnbm9yZV9wYXRoPTEgKi8KPiA+ID4gPiA+ICAgIGludCBfX29wZW5hdF8y KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgaW50IGZsYWdzKTsgLyogZmxhZ3M9ZmxhZ3Mm T19OT0ZPTExPVywgbm9pZ25vcmVfcGF0aD0xICovCj4gPiA+ID4gPiAtaW50IG1rbm9kKGNvbnN0 IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCBkZXYpOyAvKiByZWFsX2Z1bmM9cHNldWRv X21rbm9kICovCj4gPiA+ID4gPiAtaW50IG1rbm9kYXQoaW50IGRpcmZkLCBjb25zdCBjaGFyICpw YXRoLCBtb2RlX3QgbW9kZSwgZGV2X3QgZGV2KTsgLyogcmVhbF9mdW5jPXBzZXVkb19ta25vZGF0 ICovCj4gPiA+ID4gPiAtaW50IF9feG1rbm9kKGludCB2ZXIsIGNvbnN0IGNoYXIgKnBhdGgsIG1v ZGVfdCBtb2RlLCBkZXZfdCAqZGV2KTsgLyogZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwo+ ID4gPiA+ID4gLWludCBfX3hta25vZGF0KGludCB2ZXIsIGludCBkaXJmZCwgY29uc3QgY2hhciAq cGF0aCwgbW9kZV90IG1vZGUsIGRldl90ICpkZXYpOyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9M TE9XICovCj4gPiA+ID4gPiAraW50IG1rbm9kKGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2Rl LCBkZXZfdCBkZXYpOwo+ID4gPiA+ID4gK2ludCBta25vZGF0KGludCBkaXJmZCwgY29uc3QgY2hh ciAqcGF0aCwgbW9kZV90IG1vZGUsIGRldl90IGRldik7Cj4gPiA+ID4gPiAgICBpbnQgZmNudGwo aW50IGZkLCBpbnQgY21kLCAuLi57c3RydWN0IGZsb2NrICpsb2NrfSk7ICAvKiBub2lnbm9yZV9w YXRoPTEgKi8KPiA+ID4gPiA+ICAgIGludCBmY250bDY0KGludCBmZCwgaW50IGNtZCwgLi4ue3N0 cnVjdCBmbG9jayAqbG9ja30pOyAgLyogbm9pZ25vcmVfcGF0aD0xICovCj4gPiA+ID4gPiAgICAj IGp1c3Qgc28gd2Uga25vdyB0aGUgaW51bXMgb2Ygc3ltbGlua3MKPiA+ID4gPiA+IEBAIC0yMSwx OCArMTUsMTQgQEAgaW50IG9wZW42NChjb25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIC4uLntt b2RlX3QgbW9kZX0pOyAvKiBmbGFncz1mbGFncyZPX05PRk8KPiA+ID4gPiA+ICAgIGludCBvcGVu YXQ2NChpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGgsIGludCBmbGFncywgLi4ue21vZGVfdCBt b2RlfSk7IC8qIGZsYWdzPWZsYWdzJk9fTk9GT0xMT1csIG5vaWdub3JlX3BhdGg9MSAqLwo+ID4g PiA+ID4gICAgaW50IF9fb3BlbmF0NjRfMihpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGgsIGlu dCBmbGFncyk7IC8qIGZsYWdzPWZsYWdzJk9fTk9GT0xMT1csIG5vaWdub3JlX3BhdGg9MSAqLwo+ ID4gPiA+ID4gICAgaW50IGNyZWF0NjQoY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUpOwo+ ID4gPiA+ID4gLWludCBzdGF0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpidWYpOyAv KiByZWFsX2Z1bmM9cHNldWRvX3N0YXQgKi8KPiA+ID4gPiA+IC1pbnQgbHN0YXQoY29uc3QgY2hh ciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1Zik7IC8qIHJlYWxfZnVuYz1wc2V1ZG9fbHN0YXQsIGZs YWdzPUFUX1NZTUxJTktfTk9GT0xMT1cgKi8KPiA+ID4gPiA+IC1pbnQgZnN0YXQoaW50IGZkLCBz dHJ1Y3Qgc3RhdCAqYnVmKTsgLyogcmVhbF9mdW5jPXBzZXVkb19mc3RhdCAqLwo+ID4gPiA+ID4g K2ludCBzdGF0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpidWYpOwo+ID4gPiA+ID4g K2ludCBsc3RhdChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKTsgLyogZmxhZ3M9 QVRfU1lNTElOS19OT0ZPTExPVyAqLwo+ID4gPiA+ID4gK2ludCBmc3RhdChpbnQgZmQsIHN0cnVj dCBzdGF0ICpidWYpOwo+ID4gPiA+ID4gICAgaW50IGZzdGF0YXQoaW50IGRpcmZkLCBjb25zdCBj aGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmLCBpbnQgZmxhZ3MpOwo+ID4gPiA+ID4gLWludCBz dGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsgLyogcmVhbF9mdW5j PXBzZXVkb19zdGF0NjQgKi8KPiA+ID4gPiA+IC1pbnQgbHN0YXQ2NChjb25zdCBjaGFyICpwYXRo LCBzdHJ1Y3Qgc3RhdDY0ICpidWYpOyAvKiByZWFsX2Z1bmM9cHNldWRvX2xzdGF0NjQsIGZsYWdz PUFUX1NZTUxJTktfTk9GT0xMT1cgKi8KPiA+ID4gPiA+IC1pbnQgZnN0YXQ2NChpbnQgZmQsIHN0 cnVjdCBzdGF0NjQgKmJ1Zik7IC8qIHJlYWxfZnVuYz1wc2V1ZG9fZnN0YXQ2NCAqLwo+ID4gPiA+ ID4gK2ludCBzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsKPiA+ ID4gPiA+ICtpbnQgbHN0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYp OyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9MTE9XICovCj4gPiA+ID4gPiAraW50IGZzdGF0NjQo aW50IGZkLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpOwo+ID4gPiA+ID4gICAgaW50IGZzdGF0YXQ2NChp bnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0NjQgKmJ1ZiwgaW50IGZsYWdz KTsKPiA+ID4gPiA+IC1pbnQgX194c3RhdDY0KGludCB2ZXIsIGNvbnN0IGNoYXIgKnBhdGgsIHN0 cnVjdCBzdGF0NjQgKmJ1Zik7Cj4gPiA+ID4gPiAtaW50IF9fbHhzdGF0NjQoaW50IHZlciwgY29u c3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsgLyogZmxhZ3M9QVRfU1lNTElOS19O T0ZPTExPVyAqLwo+ID4gPiA+ID4gLWludCBfX2Z4c3RhdDY0KGludCB2ZXIsIGludCBmZCwgc3Ry dWN0IHN0YXQ2NCAqYnVmKTsKPiA+ID4gPiA+IC1pbnQgX19meHN0YXRhdDY0KGludCB2ZXIsIGlu dCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmLCBpbnQgZmxhZ3Mp Owo+ID4gPiA+ID4gICAgRklMRSAqZm9wZW42NChjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFy ICptb2RlKTsgLyogbm9pZ25vcmVfcGF0aD0xICovCj4gPiA+ID4gPiAgICBpbnQgbmZ0dzY0KGNv bnN0IGNoYXIgKnBhdGgsIGludCAoKmZuKShjb25zdCBjaGFyICosIGNvbnN0IHN0cnVjdCBzdGF0 NjQgKiwgaW50LCBzdHJ1Y3QgRlRXICopLCBpbnQgbm9wZW5mZCwgaW50IGZsYWcpOyAvKiBub2ln bm9yZV9wYXRoPTEgKi8KPiA+ID4gPiA+ICAgIEZJTEUgKmZyZW9wZW42NChjb25zdCBjaGFyICpw YXRoLCBjb25zdCBjaGFyICptb2RlLCBGSUxFICpzdHJlYW0pOyAgLyogbm9pZ25vcmVfcGF0aD0x ICovCj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvcHNldWRvX2NsaWVudC5oIGIvcHNldWRvX2NsaWVu dC5oCj4gPiA+ID4gPiBpbmRleCBkNzk0NGNlLi44ZDA1ZTRmIDEwMDY0NAo+ID4gPiA+ID4gLS0t IGEvcHNldWRvX2NsaWVudC5oCj4gPiA+ID4gPiArKysgYi9wc2V1ZG9fY2xpZW50LmgKPiA+ID4g PiA+IEBAIC0xMiwxNSArMTIsNDEgQEAgZXh0ZXJuIGludCBwc2V1ZG9fY2xpZW50X2lnbm9yZV9m ZChpbnQgZmQpOwo+ID4gPiA+ID4gICAgZXh0ZXJuIHZvaWQgcHNldWRvX2NsaWVudF9saW5rZWRf cGF0aHMoY29uc3QgY2hhciAqb2xkcGF0aCwgY29uc3QgY2hhciAqbmV3cGF0aCk7Cj4gPiA+ID4g PiAgICAjaWYgUFNFVURPX1NUQVRCVUZfNjQKPiA+ID4gPiA+ICAgICNkZWZpbmUgYmFzZV9sc3Rh dCByZWFsX2xzdGF0NjQKPiA+ID4gPiA+IC0jZGVmaW5lIGJhc2VfZnN0YXQgcmVhbF9mc3RhdDY0 Cj4gPiA+ID4gPiAtI2RlZmluZSBiYXNlX3N0YXQgcmVhbF9zdGF0NjQKPiA+ID4gPiA+IC0jZGVm aW5lIGJhc2VfZnN0YXRhdChkaXJmZCwgcGF0aCwgYnVmLCBmbGFncykgcmVhbF9fX2Z4c3RhdGF0 NjQoX1NUQVRfVkVSLCBkaXJmZCwgcGF0aCwgYnVmLCBmbGFncykKPiA+ID4gPiA+ICsjaWZuZGVm IGJhc2VfZnN0YXQKPiA+ID4gPiA+ICsgI2RlZmluZSBiYXNlX2ZzdGF0IHJlYWxfZnN0YXQ2NAo+ ID4gPiA+ID4gKyNlbmRpZgo+ID4gPiA+ID4gKyNpZm5kZWYgYmFzZV9zdGF0Cj4gPiA+ID4gPiAr ICNkZWZpbmUgYmFzZV9zdGF0IHJlYWxfc3RhdDY0Cj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4g PiArI2lmbmRlZiBiYXNlX2ZzdGF0YXQKPiA+ID4gPiA+ICsgI2RlZmluZSBiYXNlX2ZzdGF0YXQg cmVhbF9mc3RhdGF0NjQKPiA+ID4gPiA+ICsjZW5kaWYKPiA+ID4gPiA+ICAgICNlbHNlCj4gPiA+ ID4gPiAgICAjZGVmaW5lIGJhc2VfbHN0YXQgcmVhbF9sc3RhdAo+ID4gPiA+ID4gLSNkZWZpbmUg YmFzZV9mc3RhdCByZWFsX2ZzdGF0Cj4gPiA+ID4gPiAtI2RlZmluZSBiYXNlX3N0YXQgcmVhbF9z dGF0Cj4gPiA+ID4gPiAtI2RlZmluZSBiYXNlX2ZzdGF0YXQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxh Z3MpIHJlYWxfX19meHN0YXRhdChfU1RBVF9WRVIsIGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKQo+ ID4gPiA+ID4gKyNpZm5kZWYgYmFzZV9mc3RhdAo+ID4gPiA+ID4gKyAjZGVmaW5lIGJhc2VfZnN0 YXQgcmVhbF9mc3RhdAo+ID4gPiA+ID4gKyNlbmRpZgo+ID4gPiA+ID4gKyNpZm5kZWYgYmFzZV9z dGF0Cj4gPiA+ID4gPiArICNkZWZpbmUgYmFzZV9zdGF0IHJlYWxfc3RhdAo+ID4gPiA+ID4gKyNl bmRpZgo+ID4gPiA+ID4gKyNpZm5kZWYgYmFzZV9mc3RhdGF0Cj4gPiA+ID4gPiArICNkZWZpbmUg YmFzZV9mc3RhdGF0IHJlYWxfZnN0YXRhdAo+ID4gPiA+ID4gKyNlbmRpZgo+ID4gPiA+ID4gICAg I2VuZGlmCj4gPiA+ID4gPiArCj4gPiA+ID4gPiArI2lmbmRlZiBiYXNlX2xzdGF0NjQKPiA+ID4g PiA+ICsgI2RlZmluZSBiYXNlX2xzdGF0NjQgcmVhbF9sc3RhdDY0Cj4gPiA+ID4gPiArI2VuZGlm Cj4gPiA+ID4gPiArI2lmbmRlZiBiYXNlX2ZzdGF0NjQKPiA+ID4gPiA+ICsgI2RlZmluZSBiYXNl X2ZzdGF0NjQgcmVhbF9mc3RhdDY0Cj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiArI2lmbmRl ZiBiYXNlX3N0YXQ2NAo+ID4gPiA+ID4gKyAjZGVmaW5lIGJhc2Vfc3RhdDY0IHJlYWxfc3RhdDY0 Cj4gPiA+ID4gPiArI2VuZGlmCj4gPiA+ID4gPiArI2lmbmRlZiBiYXNlX2ZzdGF0YXQ2NAo+ID4g PiA+ID4gKyAjZGVmaW5lIGJhc2VfZnN0YXRhdDY0IHJlYWxfZnN0YXRhdDY0Cj4gPiA+ID4gPiAr I2VuZGlmCj4gPiA+ID4gPiArCj4gPiA+ID4gPiAgICBleHRlcm4gdm9pZCBwc2V1ZG9fYW50aW1h Z2ljKHZvaWQpOwo+ID4gPiA+ID4gICAgZXh0ZXJuIHZvaWQgcHNldWRvX21hZ2ljKHZvaWQpOwo+ ID4gPiA+ID4gICAgZXh0ZXJuIHZvaWQgcHNldWRvX2NsaWVudF90b3VjaHVpZCh2b2lkKTsKPiA+ ID4gPiA+IC0tIAo+ID4gPiA+ID4gMi4xNy4xCj4gPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiA+ IAo+ID4gPiA+ID4gCj4gPiA+ID4gPiAKPiA+ID4gPiAKPiA+ID4gPiAKPiA+IAo+ID4gCj4gPiAK PiA+IAo+ID4gCj4gPiAKCj4gCj4gCj4gCj4gCgoKLS0gCkFsZXhhbmRyZSBCZWxsb25pLCBjby1v d25lciBhbmQgQ09PLCBCb290bGluCkVtYmVkZGVkIExpbnV4IGFuZCBLZXJuZWwgZW5naW5lZXJp bmcKaHR0cHM6Ly9ib290bGluLmNvbQoKLT0tPS09LT0tPS09LT0tPS09LT0tPS0KTGlua3M6IFlv dSByZWNlaXZlIGFsbCBtZXNzYWdlcyBzZW50IHRvIHRoaXMgZ3JvdXAuClZpZXcvUmVwbHkgT25s aW5lICgjMTgyNjEzKTogaHR0cHM6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL2cvb3BlbmVtYmVk ZGVkLWNvcmUvbWVzc2FnZS8xODI2MTMKTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2xpc3RzLm9w ZW5lbWJlZGRlZC5vcmcvbXQvOTkyMzQ5MTgvNzQ0OTQ2NwpHcm91cCBPd25lcjogb3BlbmVtYmVk ZGVkLWNvcmUrb3duZXJAbGlzdHMub3BlbmVtYmVkZGVkLm9yZwpVbnN1YnNjcmliZTogaHR0cHM6 Ly9saXN0cy5vcGVuZW1iZWRkZWQub3JnL2cvb3BlbmVtYmVkZGVkLWNvcmUvdW5zdWIgW3phbmdy dW9jaGVuQGxvb25nc29uLmNuXQotPS09LT0tPS09LT0tPS09LT0tPS09LSA= ------=_Part_282043_678903190.1693981823832 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PHN0eWxlPnAge21hcmdpbjowIDAgMTRweCAwfS5kZWZhdWx0LWZvbnQtMTY5Mzk4MTgyMzQ2MyB7 Zm9udC1zaXplOiAxNHB4O2ZvbnQtZmFtaWx5OiDlrovkvZMsIGFyaWFsLCBWZXJkYW5hLCBzYW5z LXNlcmlmfTwvc3R5bGU+PGRpdiBjbGFzcz0iZGVmYXVsdC1mb250LTE2OTM5ODE4MjM0NjMiPjxw PgoJSGVsbG8sIE1hcmsKPC9wPgo8cD4KCSZuYnNwO3doYXQgaXMgdGhlIGN1cnJlbnQgc3RhdHVz IG9mIHRoaXMgcGF0Y2g/CjwvcD4KSXMgdGhlcmUgYW55dGhpbmcgSSBjYW4gZG8gdG8gaGVscD88 YnI+Cjxicj4KPGJyPgo8YnI+CjxibG9ja3F1b3RlIG5hbWU9InJlcGx5Q29udGVudCIgY2xhc3M9 IlJlZmVyZW5jZVF1b3RlIiBzdHlsZT0icGFkZGluZy1sZWZ0OjVweDttYXJnaW4tbGVmdDo1cHg7 Ym9yZGVyLWxlZnQ6MnB4IHNvbGlkICNCNkI2QjY7bWFyZ2luLXJpZ2h0OjBweDsiPgoJLS0tLS3l jp/lp4vpgq7ku7YtLS0tLTxicj4KPGIgc3R5bGU9ImZvbnQtc2l6ZToxNHB4OyI+5Y+R5Lu25Lq6 OjwvYj4gPHNwYW4gaWQ9InJjX2Zyb20iIHN0eWxlPSJmb250LXNpemU6MTRweDsiPiJBbGV4YW5k cmUgQmVsbG9uaSB2aWEgbGlzdHMub3BlbmVtYmVkZGVkLm9yZyIgJmx0O2FsZXhhbmRyZS5iZWxs b25pPWJvb3RsaW4uY29tQGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcmZ3Q7PC9zcGFuPjxicj4KPGIg c3R5bGU9ImZvbnQtc2l6ZToxNHB4OyI+5Y+R6YCB5pe26Ze0OjwvYj4gPHNwYW4gaWQ9InJjX3Nl bnR0aW1lIiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Ij4yMDIzLTA2LTExIDA1OjUxOjMzICjmmJ/m nJ/ml6UpPC9zcGFuPjxicj4KPGIgc3R5bGU9ImZvbnQtc2l6ZToxNHB4OyI+5pS25Lu25Lq6Ojwv Yj4gIk1hcmsgSGF0bGUiICZsdDttYXJrLmhhdGxlQGtlcm5lbC5jcmFzaGluZy5vcmcmZ3Q7PGJy Pgo8YiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Ij7mioTpgIE6PC9iPiBvcGVuZW1iZWRkZWQtY29y ZUBsaXN0cy5vcGVuZW1iZWRkZWQub3JnPGJyPgo8YiBzdHlsZT0iZm9udC1zaXplOjE0cHg7Ij7k uLvpopg6PC9iPiBSZTogW09FLWNvcmVdIFtQQVRDSF1bcHNldWRvXSBNb3ZlIF9fKnhzdGF0KiBh bmQgX194bWtub2QgZnVuY3Rpb25zIHRvIG5ldyBzdWJwb3J0ICdvbGRfX3gnPGJyPgo8YnI+Cjxw cmUgc3R5bGU9ImZvbnQtc2l6ZToxNHB4O292ZXJmbG93LXdyYXA6YnJlYWstd29yZDsiIHdyYXA9 InNvZnQiPkhlbGxvLAoKCgpJIGRpZCB0aGUgY2hhbmdlIGFuZCBpdCBzdGlsbCBjYXVzZXM6Cgpo dHRwczovL2F1dG9idWlsZGVyLnlvY3RvcHJvamVjdC5vcmcvdHlwaG9vbi8jL2J1aWxkZXJzLzc5 L2J1aWxkcy81MzE2L3N0ZXBzLzE0L2xvZ3Mvc3RkaW8KaHR0cHM6Ly9hdXRvYnVpbGRlci55b2N0 b3Byb2plY3Qub3JnL3R5cGhvb24vIy9idWlsZGVycy84Ni9idWlsZHMvNTMwOC9zdGVwcy8xNC9s b2dzL3N0ZGlvCgoyMDIzLTA2LTEwIDE0OjQ3OjMxLDk2MiAtIG9lLXNlbGZ0ZXN0IC0gSU5GTyAt ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT0KMjAyMy0wNi0xMCAxNDo0NzozMSw5ODEgLSBvZS1zZWxmdGVzdCAtIElO Rk8gLSBGQUlMOiB3cmFwcGVyLldyYXBwZXJUZXN0cy50ZXN0X3NoZWJhbmdfd3JhcHBlciAoc3Vi dW5pdC5SZW1vdGVkVGVzdENhc2UpCjIwMjMtMDYtMTAgMTQ6NDc6MzEsOTgxIC0gb2Utc2VsZnRl c3QgLSBJTkZPIC0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoyMDIzLTA2LTEwIDE0OjQ3OjMxLDk4NSAtIG9lLXNl bGZ0ZXN0IC0gSU5GTyAtIHRlc3R0b29scy50ZXN0cmVzdWx0LnJlYWwuX1N0cmluZ0V4Y2VwdGlv bjogVHJhY2ViYWNrIChtb3N0IHJlY2VudCBjYWxsIGxhc3QpOgogIEZpbGUgIi9ob21lL3Bva3li dWlsZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3QtY2VudG9zL2J1aWxkL21ldGEvbGliL29lcWEv c2VsZnRlc3QvY2FzZXMvd3JhcHBlci5weSIsIGxpbmUgMTYsIGluIHRlc3Rfc2hlYmFuZ193cmFw cGVyCiAgICByZXMgPSBiaXRiYWtlKCJjbWRsaW5lLXNoZWJhbmctd3JhcHBlci10ZXN0IC1jIGlu c3RhbGwiLCBpZ25vcmVfc3RhdHVzPUZhbHNlKQogIEZpbGUgIi9ob21lL3Bva3lidWlsZC95b2N0 by13b3JrZXIvb2Utc2VsZnRlc3QtY2VudG9zL2J1aWxkL21ldGEvbGliL29lcWEvdXRpbHMvY29t bWFuZHMucHkiLCBsaW5lIDIzNCwgaW4gYml0YmFrZQogICAgcmV0dXJuIHJ1bkNtZChjbWQsIGln bm9yZV9zdGF0dXMsIHRpbWVvdXQsIG91dHB1dF9sb2c9b3V0cHV0X2xvZywgKipvcHRpb25zKQog IEZpbGUgIi9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3QtY2VudG9zL2J1 aWxkL21ldGEvbGliL29lcWEvdXRpbHMvY29tbWFuZHMucHkiLCBsaW5lIDIxMiwgaW4gcnVuQ21k CiAgICByYWlzZSBBc3NlcnRpb25FcnJvcigiQ29tbWFuZCAnJXMnIHJldHVybmVkIG5vbi16ZXJv IGV4aXQgc3RhdHVzICVkOlxuJXMiICUgKGNvbW1hbmQsIHJlc3VsdC5zdGF0dXMsIGV4Y19vdXRw dXQpKQpBc3NlcnRpb25FcnJvcjogQ29tbWFuZCAnYml0YmFrZSAgY21kbGluZS1zaGViYW5nLXdy YXBwZXItdGVzdCAtYyBpbnN0YWxsJyByZXR1cm5lZCBub24temVybyBleGl0IHN0YXR1cyAxOgoK RVJST1I6IGNtZGxpbmUtc2hlYmFuZy13cmFwcGVyLXRlc3QtMS4wLXIwIGRvX2luc3RhbGw6IFdy YXBwZXIgcGVybWlzc2lvbnMgZm9yIC9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIvb2Utc2Vs ZnRlc3QtY2VudG9zL2J1aWxkL2J1aWxkLXN0LTEzNDk3NDEvdG1wL3dvcmsvY29yZTItNjQtcG9r eS1saW51eC9jbWRsaW5lLXNoZWJhbmctd3JhcHBlci10ZXN0LzEuMC1yMC9pbWFnZS91c3IvYmlu L3Rlc3QucmVhbCBub3QgcHJlc2VydmVkLiBGb3VuZCA2MDAgYnV0IGV4cGVjdGVkIDQwMApFUlJP UjogY21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdC0xLjAtcjAgZG9faW5zdGFsbDogRXhlY3V0 aW9uRXJyb3IoJy9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3QtY2VudG9z L2J1aWxkL2J1aWxkLXN0LTEzNDk3NDEvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9jbWRs aW5lLXNoZWJhbmctd3JhcHBlci10ZXN0LzEuMC1yMC90ZW1wL3J1bi5kb19pbnN0YWxsLjIzNzYz NDAnLCAxLCBOb25lLCBOb25lKQpFUlJPUjogTG9nZmlsZSBvZiBmYWlsdXJlIHN0b3JlZCBpbjog L2hvbWUvcG9reWJ1aWxkL3lvY3RvLXdvcmtlci9vZS1zZWxmdGVzdC1jZW50b3MvYnVpbGQvYnVp bGQtc3QtMTM0OTc0MS90bXAvd29yay9jb3JlMi02NC1wb2t5LWxpbnV4L2NtZGxpbmUtc2hlYmFu Zy13cmFwcGVyLXRlc3QvMS4wLXIwL3RlbXAvbG9nLmRvX2luc3RhbGwuMjM3NjM0MApOT1RFOiBy ZWNpcGUgY21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdC0xLjAtcjA6IHRhc2sgZG9faW5zdGFs bDogRmFpbGVkCkVSUk9SOiBUYXNrICgvaG9tZS9wb2t5YnVpbGQveW9jdG8td29ya2VyL29lLXNl bGZ0ZXN0LWNlbnRvcy9idWlsZC9idWlsZC1zdC0xMzQ5NzQxL21ldGEtc2VsZnRlc3QvcmVjaXBl cy10ZXN0L3dyYXBwZXIvY21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdC5iYjpkb19pbnN0YWxs KSBmYWlsZWQgd2l0aCBleGl0IGNvZGUgJzEnCgoKT24gMDEvMDYvMjAyMyAwOTo0NjowMC0wNTAw LCBNYXJrIEhhdGxlIHdyb3RlOgomZ3Q7IE9rLCBzbyBhZGRpbmcgdGhpcyBwYXRjaCB3aWxsIG1v dmUgZnJvbSB0aGUgbGVnYWN5IGJlaGF2aW9yIHRvIHRoZSBuZXcKJmd0OyBiZWhhdmlvciAobm90 IHVzaW5nIHRoZSBsZWdhY3kgc3RhdCBpbnRlcmZhY2VzKS4gIFRoaXMgd2lsbCBvbmx5IHdvcmsg b24KJmd0OyBtYWNoaW5lcyB3aGVyZSB0aGUgc29mdHdhcmUgaGFzIGJlZW4gYnVpbHQgZm9yIG9u bHkgdGhlIG5ld2VyIGV4cG9zZWQKJmd0OyBpbnRlcmZhY2VzLgomZ3Q7IAomZ3Q7IEkgYW0gc3Vy cHJpc2VkIERlYmlhbiAxMSBmYWlsZWQsIGFzIGl0IHNob3VsZCBoYXZlIGJlZW4gbmV3IGVub3Vn aCB0aGUgb2xkCiZndDsgaW50ZXJmYWNlcyBkb24ndCBleGlzdC4gIEkgZG9uJ3Qga25vdyBhYm91 dCBkZWJpYW4xMSBvciBzdHJlYW04LgomZ3Q7IAomZ3Q7IENhbiB5b3UgbW9kaWZ5IHRoZSBwYXRj aCB5b3UgYXBwbGllZCBhbmQgcmUtcnVuIHlvdXIgdGVzdHM/ICAgVHJ5IHRoaXMgY2hhbmdlOgom Z3Q7IAomZ3Q7IEluIHRoZSBwYXRjaDogbWV0YS9yZWNpcGVzLWRldnRvb2xzL3BzZXVkby9maWxl cy9uZXdfZ2xpYmMucGF0Y2gsIGdvIGRvd24gdG8KJmd0OyB0aGUgcGF0Y2ggY2h1bmsgZm9yIHBv cnRzL2xpbnV4L3N1YnBvcnRzIGFuZCB0aGVuIGNoYW5nZToKJmd0OyAKJmd0OyArK2lmICR7Q0N9 IC1jIC1vIGR1bW15Lm8gZHVtbXkuYyAmZ3Q7L2Rldi9udWxsIDImZ3Q7JmFtcDsxOyB0aGVuCiZn dDsgKysgICAgICAgIGVjaG8gImxpbnV4L29sZF9feCIKJmd0OyArK2ZpCiZndDsgCiZndDsgdG8K Jmd0OyAKJmd0OyArK2lmIHRydWU7IHRoZW4KJmd0OyArKyAgICAgICAgZWNobyAibGludXgvb2xk X194IgomZ3Q7ICsrZmkKJmd0OyAKJmd0OyAKJmd0OyBUaGUgY2hhbmdlIGFib3ZlIFNIT1VMRCBy ZXN0b3JlIHRoZSBvbGQgY29tcGF0aWJsZSBpbnRlcmZhY2UgYmVoYXZpb3IgdG8KJmd0OyBwc2V1 ZG8uICBUaGlzIHdpbGwgdmVyaWZ5IHRoYXQgdGhlIG90aGVyIGNoYW5nZXMgZGlkIG5vdCBpbnRy b2R1Y2UgdGhpcwomZ3Q7IGZhdWx0LgomZ3Q7IAomZ3Q7IAomZ3Q7IEFzc3VtaW5nIHRoaXMgd29y a3MsIHRoZSBpbnRlcmdyYXRpb24gcGF0Y2ggdGhhdCBJJ2xsIHdvcmsgb24gd2lsbCBiZQomZ3Q7 IGRpZmZlcmVudC4gIFRoZSBjb2RlIGNoZWNrLWluIHdpbGwgYmUgc2ltaWxhciB0byB0aGUgb3Jp Z2luYWwgcGF0aCBwcm9wb3NlZAomZ3Q7ICh3aXRoIHRoZSBSRUFETUUgdXBkYXRlZCkuICBBIGxv Y2FsIHBhdGNoIHRvIHRoZSBpbnRlZ3JhdGlvbiB3aWxsIGV4aXN0IHRvCiZndDsgbWFrZSB0aGUg Y2hhbmdlIGxpc3RlZCBhYm92ZSBmb3IgeDg2LCB4ODZfNjQgYW5kIGFhcmNoNjQuICBUaGlzIHdp bGwgcmVzdG9yZQomZ3Q7IGxlZ2FjeSBiZWhhdmlvciBvbiB0aG9zZSBhcmNoaXRlY3R1cmVzIHVu dGlsIHdlIGdldCB0byBhIHBvaW50IHdoZXJlIHRoZQomZ3Q7IHN1c3BlY3QgaW50ZXJmYWNlcyBh cmUgbm8gbG9uZ2VyIGJlaW5nIHVzZWQuCiZndDsgCiZndDsgSSB3aWxsIGFsc28gYmUgYWRkaW5n IGEgc2Vjb25kIGNvbW1pdCB0aGF0IGRlZmluZXMgd3JhcHBlcnMgZm9yIHRoZSBvYnNvbGV0ZQom Z3Q7IGludGVyZmFjZXMsIHNvIGlmIHRoZXkgQVJFIHVzZWQgdGhleSB3aWxsIHRyaWdnZXIgYW4g YWJvcnQsIHNvIHdlIGNhbiBtb3JlCiZndDsgcXVpY2tseSBkZXRlY3QgdGhlIG1hY2hpbmVzLiAg VWx0aW1hdGVseSB3ZSB3YW50IHRvIHN0b3Agd3JhcHBpbmcgdGhlCiZndDsgb2Jzb2xldGUgaW50 ZXJmYWNlcyBvbmNlIHRoZSBkaXN0cmlidXRpb25zIGFyZSBubyBsb25nZXIgdXNpbmcgdGhlbSwg YnV0IHdlCiZndDsgbmVlZCBhIHdheSB0byBkZXRlY3QgdGhpcy4KJmd0OyAKJmd0OyAoSSB3b3Vs ZCBsaWtlIGEgc3dpdGNoIHRvIGNvbmZpZ3VyZSB0byBlbmFibGUgdGhlIG9ic29sZXRlIGludGVy ZmFjZXMsIGJ1dAomZ3Q7IEkndmUgbm90IGZpZ3VyZWQgb3V0IGhvdyB0byBwYXNzIGNvbmZpZ3Vy ZSBvcHRpb25zIGludG8gdGhlIHN1YnBvcnRzCiZndDsgZnVuY3Rpb24gY2FsbC4gSSdsbCBjb250 aW51ZSB0byBsb29rIGludG8gdGhhdCwgYnV0IGl0IHJlYWxseSBzaG91bGRuJ3QgYmUKJmd0OyBu ZWNlc3Nhcnkgb3V0c2lkZSBvZiB0aGUgWVAgdXNlLWNhc2Ugd2hlcmUgd2Ugd2FudCBvbmUgcHNl dWRvIHRvIHJ1biBhY3Jvc3MKJmd0OyBhIHZhcmlldHkgb2YgaG9zdHMuKQomZ3Q7IAomZ3Q7IC0t TWFyawomZ3Q7IAomZ3Q7IE9uIDYvMS8yMyA5OjIwIEFNLCBBbGV4YW5kcmUgQmVsbG9uaSB2aWEg bGlzdHMub3BlbmVtYmVkZGVkLm9yZyB3cm90ZToKJmd0OyAmZ3Q7IE9uIDAxLzA2LzIwMjMgMDk6 MTU6MjUtMDUwMCwgTWFyayBIYXRsZSB3cm90ZToKJmd0OyAmZ3Q7ICZndDsgRGlkIHlvdSBvciBz b21lb25lIGVsc2UgbWFudWFsbHkgYWRkIHRoaXMgcGF0Y2ggZm9yIHRlc3Rpbmc/ICBJIHdhc24n dCBhd2FyZSB0aGF0IGl0IGhhZCBnb25lIGluIGZvciBhbnkgc29ydCBvZiB0ZXN0aW5nIGV5dC4K Jmd0OyAmZ3Q7ICZndDsgCiZndDsgJmd0OyAmZ3Q7IEknZCBsaWtlIHRvIHNlZSB0aGUgaW50ZWdy YXRpb24gdXNlZCBzbyBJIGNhbiB1bmRlcnN0YW5kIGhvdyB0aGUgdGVzdCB3YXMgcGVyZm9ybWVk LgomZ3Q7ICZndDsgCiZndDsgJmd0OyBTdXJlLCBJIGFkZGVkIHRoZSBwYXRjaCwgaGVyZToKJmd0 OyAmZ3Q7IAomZ3Q7ICZndDsgaHR0cHM6Ly9naXQueW9jdG9wcm9qZWN0Lm9yZy9wb2t5LWNvbnRy aWIvY29tbWl0Lz9oPWFiZWxsb25pL21hc3Rlci1uZXh0JmFtcDtpZD05YjgyOThiZjZkYzYKJmd0 OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAKJmd0OyAmZ3Q7ICZndDsgLS1NYXJrCiZndDsgJmd0OyAm Z3Q7IAomZ3Q7ICZndDsgJmd0OyBPbiA2LzEvMjMgNTo0MyBBTSwgQWxleGFuZHJlIEJlbGxvbmkg d3JvdGU6CiZndDsgJmd0OyAmZ3Q7ICZndDsgSGVsbG8gTWFyaywKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAKJmd0OyAmZ3Q7ICZndDsgJmd0OyBUaGlzIGNhdXNlcyBmYWlsdXJlcyBvbiBvcGVuc3VzZTE1 NCBhbmQgZGViaWFuMTEgd29ya2Vycy4gSSd2ZSB0cmllZCB0bwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 IGdldCBwc2V1ZG8ubG9nIGZvciB0aGUgZmFpbHVyZXMgYnV0IHRoZXkgYXJlIG5vdCBwcmVzZW50 IG9uIGRlYmlhbjExIGFuZAomZ3Q7ICZndDsgJmd0OyAmZ3Q7IGFyZSBub3QgaW50ZXJlc3Rpbmcg Zm9yIG9wZW5zdXNlMTU0LgomZ3Q7ICZndDsgJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7 IGRlYmlhbjExIGZhaWx1cmVzIGxvb2sgbGlrZSB0aGF0OgomZ3Q7ICZndDsgJmd0OyAmZ3Q7IAom Z3Q7ICZndDsgJmd0OyAmZ3Q7IGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG9wcm9qZWN0Lm9yZy90 eXBob29uLyMvYnVpbGRlcnMvNDIvYnVpbGRzLzcxODQvc3RlcHMvMTIvbG9ncy9zdGRpbwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7IGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG9wcm9qZWN0Lm9yZy90eXBo b29uLyMvYnVpbGRlcnMvNDIvYnVpbGRzLzcxODQvc3RlcHMvMTMvbG9ncy9zdGRpbwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7IGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG9wcm9qZWN0Lm9yZy90eXBob29u LyMvYnVpbGRlcnMvNzQvYnVpbGRzLzcxNTIvc3RlcHMvMTIvbG9ncy9zdGRpbwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7IGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG9wcm9qZWN0Lm9yZy90eXBob29uLyMv YnVpbGRlcnMvNzQvYnVpbGRzLzcxNTIvc3RlcHMvMTMvbG9ncy9zdGRpbwomZ3Q7ICZndDsgJmd0 OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7IG9wZW5zdXNlOgomZ3Q7ICZndDsgJmd0OyAmZ3Q7 IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7IGh0dHBzOi8vYXV0b2J1aWxkZXIueW9jdG9wcm9qZWN0Lm9y Zy90eXBob29uLyMvYnVpbGRlcnMvMTIwL2J1aWxkcy8yODE5L3N0ZXBzLzE0L2xvZ3Mvc3RkaW8K Jmd0OyAmZ3Q7ICZndDsgJmd0OyBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvcHJvamVjdC5vcmcv dHlwaG9vbi8jL2J1aWxkZXJzLzIwL2J1aWxkcy83NTk3L3N0ZXBzLzEzL2xvZ3Mvc3RkaW8KJmd0 OyAmZ3Q7ICZndDsgJmd0OyBodHRwczovL2F1dG9idWlsZGVyLnlvY3RvcHJvamVjdC5vcmcvdHlw aG9vbi8jL2J1aWxkZXJzLzUzL2J1aWxkcy83MjExL3N0ZXBzLzEzL2xvZ3Mvc3RkaW8KJmd0OyAm Z3Q7ICZndDsgJmd0OyAKJmd0OyAmZ3Q7ICZndDsgJmd0OyBzdHJlYW04IGlzIHNpbWlsYXI6CiZn dDsgJmd0OyAmZ3Q7ICZndDsgCiZndDsgJmd0OyAmZ3Q7ICZndDsgaHR0cHM6Ly9hdXRvYnVpbGRl ci55b2N0b3Byb2plY3Qub3JnL3R5cGhvb24vIy9idWlsZGVycy8xMTcvYnVpbGRzLzI5Mzkvc3Rl cHMvMTMvbG9ncy9zdGRpbwomZ3Q7ICZndDsgJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7 IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7IEkgYWxzbyBzdXNwZWN0IHRoaXMgY2F1c2VzOgomZ3Q7ICZn dDsgJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7IEVSUk9SOiBjbWRsaW5lLXNoZWJhbmct d3JhcHBlci10ZXN0LTEuMC1yMCBkb19pbnN0YWxsOiBXcmFwcGVyIHBlcm1pc3Npb25zIGZvciAv aG9tZS9wb2t5YnVpbGQveW9jdG8td29ya2VyL29lLXNlbGZ0ZXN0LWZlZG9yYS9idWlsZC9idWls ZC1zdC0xNzgyMzAwL3RtcC93b3JrL2NvcmUyLTY0LXBva3ktbGludXgvY21kbGluZS1zaGViYW5n LXdyYXBwZXItdGVzdC8xLjAtcjAvaW1hZ2UvdXNyL2Jpbi90ZXN0LnJlYWwgbm90IHByZXNlcnZl ZC4gRm91bmQgNjAwIGJ1dCBleHBlY3RlZCA0MDAKJmd0OyAmZ3Q7ICZndDsgJmd0OyBFUlJPUjog Y21kbGluZS1zaGViYW5nLXdyYXBwZXItdGVzdC0xLjAtcjAgZG9faW5zdGFsbDogRXhlY3V0aW9u RXJyb3IoJy9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3QtZmVkb3JhL2J1 aWxkL2J1aWxkLXN0LTE3ODIzMDAvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51eC9jbWRsaW5l LXNoZWJhbmctd3JhcHBlci10ZXN0LzEuMC1yMC90ZW1wL3J1bi5kb19pbnN0YWxsLjMyMjY4OScs IDEsIE5vbmUsIE5vbmUpCiZndDsgJmd0OyAmZ3Q7ICZndDsgRVJST1I6IExvZ2ZpbGUgb2YgZmFp bHVyZSBzdG9yZWQgaW46IC9ob21lL3Bva3lidWlsZC95b2N0by13b3JrZXIvb2Utc2VsZnRlc3Qt ZmVkb3JhL2J1aWxkL2J1aWxkLXN0LTE3ODIzMDAvdG1wL3dvcmsvY29yZTItNjQtcG9reS1saW51 eC9jbWRsaW5lLXNoZWJhbmctd3JhcHBlci10ZXN0LzEuMC1yMC90ZW1wL2xvZy5kb19pbnN0YWxs LjMyMjY4OQomZ3Q7ICZndDsgJmd0OyAmZ3Q7IE5PVEU6IHJlY2lwZSBjbWRsaW5lLXNoZWJhbmct d3JhcHBlci10ZXN0LTEuMC1yMDogdGFzayBkb19pbnN0YWxsOiBGYWlsZWQKJmd0OyAmZ3Q7ICZn dDsgJmd0OyBFUlJPUjogVGFzayAoL2hvbWUvcG9reWJ1aWxkL3lvY3RvLXdvcmtlci9vZS1zZWxm dGVzdC1mZWRvcmEvYnVpbGQvYnVpbGQtc3QtMTc4MjMwMC9tZXRhLXNlbGZ0ZXN0L3JlY2lwZXMt dGVzdC93cmFwcGVyL2NtZGxpbmUtc2hlYmFuZy13cmFwcGVyLXRlc3QuYmI6ZG9faW5zdGFsbCkg ZmFpbGVkIHdpdGggZXhpdCBjb2RlICcxJwomZ3Q7ICZndDsgJmd0OyAmZ3Q7IAomZ3Q7ICZndDsg Jmd0OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7IE9uIDMw LzA1LzIwMjMgMjA6MDE6MjYtMDcwMCwgTWFyayBIYXRsZSB2aWEgbGlzdHMub3BlbmVtYmVkZGVk Lm9yZyB3cm90ZToKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IENoYW5nZXMgdG8gZWxpbWluYXRl IF9fKi5jIGZ1bmN0aW9uIHVzYWdlIHdlcmUgYmFzZWQgb24gdGhlIHBhdGNoOgomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAgIEZyb206IEppYUxp bmcgWmhhbmcgJmx0O3poYW5namlhbGluZ0Bsb29uZ3Nvbi5jbiZndDsKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICAgICAgU3ViamVjdDogW09FLWNvcmVdIFtQQVRDSCB2NF0gRml4ZXMgcHNldWRv IGJ1aWxkIGluIGxvb25nYXJjaDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICAgICAgRml4ZXMgW1lPQ1RPICMxNTExMF0KJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICBTb21lIGZ1bmN0aW9ucyB1 c2VkIGluIHRoZSBwcm9qZWN0IGhhdmUgYmVlbiByZW1vdmVkIGZyb20gZ2xpYmMuIEFmdGVyIHRo ZSByZW1vdmFsIG9mIHRoZXNlIGZ1bmN0aW9ucywKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAg ICAgdGhlIGFyY2hpdGVjdHVyZSBpbiBnbGliYyB3aWxsIG5vdCBpbmNsdWRlIHRoZSByZW1vdmVk IGZ1bmN0aW9ucy4KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAgVGhpcyBwYXRjaCByZXNv bHZlcyB0aGUgdXNhZ2UgYW5kIGNvbXBpbGF0aW9uIGlzc3VlcyBvbiB0aGUgbG9vbmdhcmNoNjQg YXJjaGl0ZWN0dXJlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICAgICAgU2lnbmVkLW9mZi1ieTogSmlhTGluZyBaaGFuZyAmbHQ7emhhbmdqaWFsaW5n QGxvb25nc29uLmNuJmd0OwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyBUaGlzIGNvZGUgaXMgTk9UIGxvb25nYXJjaDY0IHNwZWNpZmljLCBidXQgaW1w bGVtZW50cyBzdXBwb3J0IGZvciBuZXdlcgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgZ2xpYmMg d2hlcmUgdGhlIF9fKngqc3RhdCBhbmQgX194bWtub2QqIGZ1bmN0aW9ucyBhcmUgbm8gbG9uZ2Vy IHByZXNlbnQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGluIGhlYWRlcnMgYXMgb2Ygcm91Z2hs eSBnbGliYyAyLjMzLgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyBUaGUgZnVuY3Rpb25zLCBvbiB4ODYsIHg4Nl82NCBhbmQgYWFyY2g2NCBtYXkgc3Rp bGwgYmUgcHJlc2VudCBmb3IKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGNvbXBhdGliaWxpdHkg YnV0IG5ldyBzb2Z0d2FyZSBzaG91bGQgbm8gbG9uZ2VyIGJlIHVzaW5nIGl0LiAgUHNldWRvCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBjYW4gbGlrZWx5IGNoYW5nZSBpdCdzIGRlZmF1bHQgYmVo YXZpb3IgdW5sZXNzIHN1cHBvcnQgZm9yIHJlYWxseSBvbGQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7IGhvc3RzIGlzIHN0aWxsIGRlc2lyZWQuCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IFNpZ25lZC1vZmYtYnk6IE1hcmsgSGF0bGUgJmx0O21hcmsu aGF0bGVAYW1kLmNvbSZndDsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0tLQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgICAgcG9ydHMvbGludXgvZ3V0cy9mb3BlbjY0LmMgICAgICAgICAgICAg ICAgICAgfCAgNCArLQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgcG9ydHMvbGludXgvZ3V0 cy9mcmVvcGVuNjQuYyAgICAgICAgICAgICAgICAgfCAgNCArLQomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgICAgcG9ydHMvbGludXgvZ3V0cy9mc3RhdC5jICAgICAgICAgICAgICAgICAgICAgfCAg OCArKy0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIHBvcnRzL2xpbnV4L2d1dHMvZnN0YXQ2 NC5jICAgICAgICAgICAgICAgICAgIHwgMTQgKysrLQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg ICAgcG9ydHMvbGludXgvZ3V0cy9mc3RhdGF0LmMgICAgICAgICAgICAgICAgICAgfCAgOSArKy0K Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIHBvcnRzL2xpbnV4L2d1dHMvZnN0YXRhdDY0LmMg ICAgICAgICAgICAgICAgIHwgNDIgKysrKysrKysrKystCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAgICBwb3J0cy9saW51eC9ndXRzL2xzdGF0LmMgICAgICAgICAgICAgICAgICAgICB8ICAyICst CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9ndXRzL2xzdGF0NjQuYyAg ICAgICAgICAgICAgICAgICB8ICAyICstCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0 cy9saW51eC9ndXRzL21rbm9kLmMgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9ndXRzL21rbm9kYXQuYyAgICAgICAgICAg ICAgICAgICB8IDcxICsrKysrKysrKysrKysrKysrKystCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAgICBwb3J0cy9saW51eC9ndXRzL21rb3N0ZW1wNjQuYyAgICAgICAgICAgICAgICB8ICAyICst CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9ndXRzL29wZW5hdC5jICAg ICAgICAgICAgICAgICAgICB8IDE4ICsrLS0tCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBw b3J0cy9saW51eC9ndXRzL3N0YXQuYyAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9ndXRzL3N0YXQ2NC5jICAgICAgICAg ICAgICAgICAgICB8ICAyICstCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51 eC9vbGRfX3gvUkVBRE1FICAgICAgICAgICAgICAgICAgICB8IDI4ICsrKysrKysrCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX2Z4 c3RhdC5jICAgICB8ICAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC97 ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX2Z4c3RhdDY0LmMgICB8ICAwCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyAgICBwb3J0cy9saW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX2Z4c3RhdGF0LmMg ICB8ICAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC97ID0mZ3Q7IG9s ZF9feH0vZ3V0cy9fX2Z4c3RhdGF0NjQuYyB8ICAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAg ICBwb3J0cy9saW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX2x4c3RhdC5jICAgICB8ICAwCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0 cy9fX2x4c3RhdDY0LmMgICB8ICAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9s aW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX3hta25vZC5jICAgICB8ICAwCiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX3hta25v ZGF0LmMgICB8ICAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC97ID0m Z3Q7IG9sZF9feH0vZ3V0cy9fX3hzdGF0LmMgICAgICB8ICAwCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAgICBwb3J0cy9saW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX3hzdGF0NjQuYyAgICB8 ICAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9m c3RhdC5jICAgICAgICAgICAgICB8IDE1ICsrKysrCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAg ICBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdDY0LmMgICAgICAgICAgICB8IDE1ICsrKysr CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3Rh dGF0LmMgICAgICAgICAgICB8IDE1ICsrKysrCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBw b3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdGF0NjQuYyAgICAgICAgICB8IDE1ICsrKysrCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9sc3RhdC5j ICAgICAgICAgICAgICB8IDE1ICsrKysrCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0 cy9saW51eC9vbGRfX3gvZ3V0cy9sc3RhdDY0LmMgICAgICAgICAgICB8IDE1ICsrKysrCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta25vZC5jICAg ICAgICAgICAgICB8IDE1ICsrKysrCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9s aW51eC9vbGRfX3gvZ3V0cy9ta25vZGF0LmMgICAgICAgICAgICB8IDE1ICsrKysrCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta29zdGVtcDY0LmMg ICAgICAgICB8IDUzICsrKysrKysrKysrKysrKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAg cG9ydHMvbGludXgvb2xkX194L3BvcnRkZWZzLmggICAgICAgICAgICAgICAgfCA0MCArKysrKysr KysrKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgcG9ydHMvbGludXgvb2xkX194L3BzZXVk b193cmFwcGVycy5jICAgICAgICAgfCA0OCArKysrKysrKysrKysrCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyAgICBwb3J0cy9saW51eC9vbGRfX3gvd3JhcGZ1bmNzLmluICAgICAgICAgICAgICB8 IDE4ICsrKysrCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBwb3J0cy9saW51eC9wb3J0ZGVm cy5oICAgICAgICAgICAgICAgICAgICAgICB8IDE5IC0tLS0tLQomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgICAgcG9ydHMvbGludXgvcHNldWRvX3dyYXBwZXJzLmMgICAgICAgICAgICAgICAgfCA0 MyAtLS0tLS0tLS0tLS0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIHBvcnRzL2xpbnV4L3N1 YnBvcnRzICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTUgKysrKysKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICAgIHBvcnRzL2xpbnV4L3dyYXBmdW5jcy5pbiAgICAgICAgICAgICAgICAgICAg IHwgMjYgKysrLS0tLQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgcHNldWRvX2NsaWVudC5o ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAzOCArKysrKysrKystLQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgICAgNDIgZmlsZXMgY2hhbmdlZCwgNTIwIGluc2VydGlvbnMoKyksIDEx MCBkZWxldGlvbnMoLSkKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIGNyZWF0ZSBtb2RlIDEw MDY0NCBwb3J0cy9saW51eC9vbGRfX3gvUkVBRE1FCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAg ICByZW5hbWUgcG9ydHMvbGludXgveyA9Jmd0OyBvbGRfX3h9L2d1dHMvX19meHN0YXQuYyAoMTAw JSkKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIHJlbmFtZSBwb3J0cy9saW51eC97ID0mZ3Q7 IG9sZF9feH0vZ3V0cy9fX2Z4c3RhdDY0LmMgKDEwMCUpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAgICByZW5hbWUgcG9ydHMvbGludXgveyA9Jmd0OyBvbGRfX3h9L2d1dHMvX19meHN0YXRhdC5j ICgxMDAlKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgcmVuYW1lIHBvcnRzL2xpbnV4L3sg PSZndDsgb2xkX194fS9ndXRzL19fZnhzdGF0YXQ2NC5jICgxMDAlKQomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgICAgcmVuYW1lIHBvcnRzL2xpbnV4L3sgPSZndDsgb2xkX194fS9ndXRzL19fbHhz dGF0LmMgKDEwMCUpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICByZW5hbWUgcG9ydHMvbGlu dXgveyA9Jmd0OyBvbGRfX3h9L2d1dHMvX19seHN0YXQ2NC5jICgxMDAlKQomZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgICAgcmVuYW1lIHBvcnRzL2xpbnV4L3sgPSZndDsgb2xkX194fS9ndXRzL19f eG1rbm9kLmMgKDEwMCUpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICByZW5hbWUgcG9ydHMv bGludXgveyA9Jmd0OyBvbGRfX3h9L2d1dHMvX194bWtub2RhdC5jICgxMDAlKQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgICAgcmVuYW1lIHBvcnRzL2xpbnV4L3sgPSZndDsgb2xkX194fS9ndXRz L19feHN0YXQuYyAoMTAwJSkKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIHJlbmFtZSBwb3J0 cy9saW51eC97ID0mZ3Q7IG9sZF9feH0vZ3V0cy9fX3hzdGF0NjQuYyAoMTAwJSkKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICAgIGNyZWF0ZSBtb2RlIDEwMDY0NCBwb3J0cy9saW51eC9vbGRfX3gv Z3V0cy9mc3RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBjcmVhdGUgbW9kZSAxMDA2 NDQgcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAgICBjcmVhdGUgbW9kZSAxMDA2NDQgcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXRh dC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBjcmVhdGUgbW9kZSAxMDA2NDQgcG9ydHMv bGludXgvb2xkX194L2d1dHMvZnN0YXRhdDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAg IGNyZWF0ZSBtb2RlIDEwMDY0NCBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9sc3RhdC5jCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBjcmVhdGUgbW9kZSAxMDA2NDQgcG9ydHMvbGludXgvb2xk X194L2d1dHMvbHN0YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBjcmVhdGUgbW9k ZSAxMDA2NDQgcG9ydHMvbGludXgvb2xkX194L2d1dHMvbWtub2QuYwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL21r bm9kYXQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBv cnRzL2xpbnV4L29sZF9feC9ndXRzL21rb3N0ZW1wNjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgICAgY3JlYXRlIG1vZGUgMTAwNjQ0IHBvcnRzL2xpbnV4L29sZF9feC9wb3J0ZGVmcy5oCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBjcmVhdGUgbW9kZSAxMDA2NDQgcG9ydHMvbGludXgv b2xkX194L3BzZXVkb193cmFwcGVycy5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBjcmVh dGUgbW9kZSAxMDA2NDQgcG9ydHMvbGludXgvb2xkX194L3dyYXBmdW5jcy5pbgomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9y dHMvbGludXgvZ3V0cy9mb3BlbjY0LmMgYi9wb3J0cy9saW51eC9ndXRzL2ZvcGVuNjQuYwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgaW5kZXggZTc2ZGE2OS4uMzNjY2QzYSAxMDA2NDQKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IC0tLSBhL3BvcnRzL2xpbnV4L2d1dHMvZm9wZW42NC5jCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9ndXRzL2ZvcGVuNjQuYwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgQEAgLTExLDcgKzExLDcgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICAgICAJc3RydWN0IHN0YXQ2NCBidWY7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAg ICAJaW50IHNhdmVfZXJybm87CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCWludCBleGlzdGVk ID0gKHJlYWxfX194c3RhdDY0KF9TVEFUX1ZFUiwgcGF0aCwgJmFtcDtidWYpICE9IC0xKTsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJaW50IGV4aXN0ZWQgPSAoYmFzZV9zdGF0NjQocGF0aCwg JmFtcDtidWYpICE9IC0xKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIAlyYyA9IHJlYWxf Zm9wZW42NChwYXRoLCBtb2RlKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIAlzYXZlX2Vy cm5vID0gZXJybm87CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMjAsNyArMjAsNyBAQAom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlpbnQgZmQgPSBmaWxlbm8ocmMpOwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlwc2V1ZG9fZGVidWcoUERCR0ZfRklMRSwgImZvcGVuNjQg JyVzJzogZmQgJWQgJmx0O0ZJTEUgJXAmZ3Q7XG4iLCBwYXRoLCBmZCwgKHZvaWQgKikgcmMpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQkJaWYgKHJlYWxfX19meHN0YXQ2NChfU1RBVF9WRVIs IGZkLCAmYW1wO2J1ZikgIT0gLTEpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCWlmIChi YXNlX2ZzdGF0NjQoZmQsICZhbXA7YnVmKSAhPSAtMSkgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgICAgCQkJaWYgKCFleGlzdGVkKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCQkJ cmVhbF9mY2htb2QoZmQsIFBTRVVET19GU19NT0RFKDA2NjYgJmFtcDsgfnBzZXVkb191bWFzaywg MCkpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQkJCXBzZXVkb19jbGllbnRfb3AoT1Bf Q1JFQVQsIDAsIC0xLCAtMSwgcGF0aCwgJmFtcDtidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMvZnJlb3BlbjY0LmMgYi9wb3J0cy9saW51 eC9ndXRzL2ZyZW9wZW42NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCA1ZmM5MDcz Li45YmNjMDZhIDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIGEvcG9ydHMvbGlu dXgvZ3V0cy9mcmVvcGVuNjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKysrIGIvcG9ydHMv bGludXgvZ3V0cy9mcmVvcGVuNjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgQEAgLTEwLDcg KzEwLDcgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqLwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgICAgIAlzdHJ1Y3Qgc3RhdDY0IGJ1ZjsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICAgIAlpbnQgc2F2ZV9lcnJubzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0JaW50IGV4aXN0 ZWQgPSAocmVhbF9fX3hzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCAmYW1wO2J1ZikgIT0gLTEpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlpbnQgZXhpc3RlZCA9IChiYXNlX3N0YXQ2NChwYXRo LCAmYW1wO2J1ZikgIT0gLTEpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCXJjID0gcmVh bF9mcmVvcGVuNjQocGF0aCwgbW9kZSwgc3RyZWFtKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICAgIAlzYXZlX2Vycm5vID0gZXJybm87CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMTks NyArMTksNyBAQAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlpbnQgZmQgPSBmaWxlbm8o cmMpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlwc2V1ZG9fZGVidWcoUERCR0ZfRklM RSwgImZyZW9wZW42NCAnJXMnOiBmZCAlZFxuIiwgcGF0aCwgZmQpOwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgLQkJaWYgKHJlYWxfX19meHN0YXQ2NChfU1RBVF9WRVIsIGZkLCAmYW1wO2J1Zikg IT0gLTEpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCWlmIChiYXNlX2ZzdGF0NjQoZmQs ICZhbXA7YnVmKSAhPSAtMSkgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQkJaWYgKCFl eGlzdGVkKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCQkJcmVhbF9mY2htb2QoZmQs IFBTRVVET19GU19NT0RFKDA2NjYgJmFtcDsgfnBzZXVkb191bWFzaywgMCkpOwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgICAgCQkJCXBzZXVkb19jbGllbnRfb3AoT1BfQ1JFQVQsIDAsIC0xLCAt MSwgcGF0aCwgJmFtcDtidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgZGlmZiAtLWdpdCBh L3BvcnRzL2xpbnV4L2d1dHMvZnN0YXQuYyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXQuYwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgaW5kZXggYjA4OWIxNS4uODA5MzNlMiAxMDA2NDQKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IC0tLSBhL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXQuYwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKysrIGIvcG9ydHMvbGludXgvZ3V0cy9mc3RhdC5jCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyBAQCAtOCw3ICs4LDEzIEBACiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAgICAgKglpbnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqLwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQlyYyA9IHdyYXBfX19meHN0YXQoX1NUQVRfVkVSLCBmZCwg YnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJc3RydWN0IHN0YXQ2NCBidWY2NDsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJLyogcG9wdWxhdGUgYnVmZmVyIHdpdGggY29tcGxldGUg ZGF0YSAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlyZWFsX2ZzdGF0KGZkLCBidWYpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkvKiBvYnRhaW4gZmFrZSBkYXRhICovCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArCXJjID0gd3JhcF9mc3RhdDY0KGZkLCAmYW1wO2J1ZjY0KTsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJLyogb3ZlcndyaXRlICovCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArCXBzZXVkb19zdGF0MzJfZnJvbTY0KGJ1ZiwgJmFtcDtidWY2NCk7CiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyAgICAvKglyZXR1cm4gcmM7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAgICAgKiB9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGlu dXgvZ3V0cy9mc3RhdDY0LmMgYi9wb3J0cy9saW51eC9ndXRzL2ZzdGF0NjQuYwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgaW5kZXggNmRkOTdkYS4uMjJkNDZhOSAxMDA2NDQKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IC0tLSBhL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXQ2NC5jCiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9ndXRzL2ZzdGF0NjQuYwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgQEAgLTgsOCArOCwyMCBAQAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg ICAgICoJaW50IHJjID0gLTE7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAgKi8KJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IC0JcmMgPSB3cmFwX19fZnhzdGF0NjQoX1NUQVRfVkVSLCBmZCwg YnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJcHNldWRvX21zZ190ICptc2c7CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArCWludCBzYXZlX2Vycm5vOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKwlyYyA9IHJlYWxfZnN0YXQ2NChmZCwgYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsJc2F2ZV9lcnJubyA9IGVycm5vOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlpZiAo cmMgPT0gLTEpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCXJldHVybiByYzsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsJfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwltc2cgPSBw c2V1ZG9fY2xpZW50X29wKE9QX0ZTVEFULCAwLCBmZCwgLTEsIDAsIGJ1Zik7CiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArCWlmIChtc2cgJmFtcDsmYW1wOyBtc2ctJmd0O3Jlc3VsdCA9PSBSRVNV TFRfU1VDQ0VFRCkgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJcHNldWRvX3N0YXRfbXNn KGJ1ZiwgbXNnKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJfQomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwllcnJubyA9IHNhdmVfZXJybm87 CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAvKglyZXR1cm4gcmM7CiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyAgICAgKiB9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAgKi8KJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL2ZzdGF0YXQu YyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXRhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBp bmRleCAzMjY3NjQxLi43Yjk2NTJkIDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0t IGEvcG9ydHMvbGludXgvZ3V0cy9mc3RhdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsr KyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXRhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBA QCAtMSw0ICsxLDUgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIC8qCiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArICogQ29weXJpZ2h0IChjKSAyMDA4LTIwMTAgV2luZCBSaXZlciBTeXN0 ZW1zOyBzZWUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqIENvcHlyaWdodCAoYykgMjAy MSBMaW51eCBGb3VuZGF0aW9uOyBzZWUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqIGd1 dHMvQ09QWVJJR0hUIGZvciBpbmZvcm1hdGlvbi4KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAg ICAqCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtOCw3ICs5LDEzIEBACiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyAgICAgKglpbnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICAgICAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQlyYyA9IHdyYXBfX19meHN0YXRhdChf U1RBVF9WRVIsIGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsJc3RydWN0IHN0YXQ2NCBidWY2NDsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJLyog cG9wdWxhdGUgYnVmZmVyIHdpdGggY29tcGxldGUgZGF0YSAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKwlyZWFsX2ZzdGF0YXQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpOwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKwkvKiBvYnRhaW4gZmFrZSBkYXRhICovCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArCXJjID0gd3JhcF9mc3RhdGF0NjQoZGlyZmQsIHBhdGgsICZhbXA7YnVmNjQsIGZs YWdzKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJLyogb3ZlcndyaXRlICovCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArCXBzZXVkb19zdGF0MzJfZnJvbTY0KGJ1ZiwgJmFtcDtidWY2NCk7 CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAvKglyZXR1cm4gcmM7CiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyAgICAgKiB9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEv cG9ydHMvbGludXgvZ3V0cy9mc3RhdGF0NjQuYyBiL3BvcnRzL2xpbnV4L2d1dHMvZnN0YXRhdDY0 LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGluZGV4IGM5ODFlMTQuLjEzYzExNDMgMTAwNjQ0 CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gYS9wb3J0cy9saW51eC9ndXRzL2ZzdGF0YXQ2 NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9ndXRzL2ZzdGF0 YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMSw0ICsxLDUgQEAKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICAgIC8qCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogQ29weXJp Z2h0IChjKSAyMDA4LTIwMTAgV2luZCBSaXZlciBTeXN0ZW1zOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgICAgICogQ29weXJpZ2h0IChjKSAyMDIxIExpbnV4IEZvdW5kYXRpb247IHNlZQomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICogZ3V0cy9DT1BZUklHSFQgZm9yIGluZm9ybWF0aW9u LgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IEBAIC04LDcgKzksNDYgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqCWludCByYyA9 IC0xOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICovCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAtCXJjID0gd3JhcF9fX2Z4c3RhdGF0NjQoX1NUQVRfVkVSLCBkaXJmZCwgcGF0aCwgYnVm LCBmbGFncyk7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXBzZXVkb19tc2dfdCAqbXNnOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlpbnQgc2F2ZV9lcnJubzsKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjaWZkZWYgUFNFVURPX05PX1JF QUxfQVRfRlVOQ1RJT05TCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCWlmIChkaXJmZCAhPSBB VF9GRENXRCkgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJZXJybm8gPSBFTk9TWVM7CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlyZXR1cm4gLTE7CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCX0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZW5kaWYKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsJaWYgKGZsYWdzICZhbXA7IEFUX1NZTUxJTktfTk9GT0xMT1cpIHsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsjaWZkZWYgUFNFVURPX05PX1JFQUxfQVRfRlVOQ1RJT05TCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlyYyA9IHJlYWxfbHN0YXQ2NChwYXRoLCBidWYpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr CQlyYyA9IHJlYWxfZnN0YXRhdDY0KGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKTsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsjZW5kaWYKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCWlmIChy YyA9PSAtMSkgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJCXJldHVybiByYzsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCX0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJfSBlbHNl IHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjaWZkZWYgUFNFVURPX05PX1JFQUxfQVRfRlVO Q1RJT05TCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlyYyA9IHJlYWxfc3RhdDY0KHBhdGgs IGJ1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2Vsc2UKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsJCXJjID0gcmVhbF9mc3RhdGF0NjQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbmRpZgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KwkJaWYgKHJjID09IC0xKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQkJcmV0dXJuIHJj OwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg Kwl9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXNhdmVfZXJybm8gPSBlcnJubzsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJLyogcXVlcnkg ZGF0YWJhc2UKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJICogbm90ZSB0aGF0IHN5bWxpbmsg Y2Fub25pY2FsaXppbmcgaXMgbm93IGF1dG9tYXRpYywgc28gd2UKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsJICogZG9uJ3QgbmVlZCB0byBjaGVjayBmb3IgYSBzeW1saW5rIG9uIHRoaXMgZW5k CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCSAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg Kwltc2cgPSBwc2V1ZG9fY2xpZW50X29wKE9QX1NUQVQsIDAsIC0xLCBkaXJmZCwgcGF0aCwgYnVm KTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJaWYgKG1zZyAmYW1wOyZhbXA7IG1zZy0mZ3Q7 cmVzdWx0ID09IFJFU1VMVF9TVUNDRUVEKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlw c2V1ZG9fc3RhdF9tc2coYnVmLCBtc2cpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwl9CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCWVycm5v ID0gc2F2ZV9lcnJubzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIC8qCXJldHVybiByYzsK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqIH0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL2xzdGF0LmMgYi9wb3J0cy9saW51eC9ndXRz L2xzdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGluZGV4IGQyYzRkNTAuLjBiYzkzNjIg MTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gYS9wb3J0cy9saW51eC9ndXRzL2xz dGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvbHN0 YXQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgQEAgLTgsNyArOCw3IEBACiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyAgICAgKglpbnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICAgICAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQlyYyA9IHdyYXBfX19meHN0YXRhdChf U1RBVF9WRVIsIEFUX0ZEQ1dELCBwYXRoLCBidWYsIEFUX1NZTUxJTktfTk9GT0xMT1cpOwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlyYyA9IHdyYXBfZnN0YXRhdChBVF9GRENXRCwgcGF0aCwg YnVmLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIC8q CXJldHVybiByYzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqIH0KJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL2xzdGF0NjQuYyBiL3Bv cnRzL2xpbnV4L2d1dHMvbHN0YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCA0 M2QwY2UxLi45ZTBmZjE5IDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIGEvcG9y dHMvbGludXgvZ3V0cy9sc3RhdDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBiL3Bv cnRzL2xpbnV4L2d1dHMvbHN0YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtOCw3 ICs4LDcgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqCWludCByYyA9IC0xOwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCXJj ID0gd3JhcF9fX2Z4c3RhdGF0NjQoX1NUQVRfVkVSLCBBVF9GRENXRCwgcGF0aCwgYnVmLCBBVF9T WU1MSU5LX05PRk9MTE9XKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJcmMgPSB3cmFwX2Zz dGF0YXQ2NChBVF9GRENXRCwgcGF0aCwgYnVmLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIC8qCXJldHVybiByYzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICAgICAqIH0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9s aW51eC9ndXRzL21rbm9kLmMgYi9wb3J0cy9saW51eC9ndXRzL21rbm9kLmMKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IGluZGV4IDYxZmQzMjAuLjY2Nzg3YzAgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyAtLS0gYS9wb3J0cy9saW51eC9ndXRzL21rbm9kLmMKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvbWtub2QuYwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgQEAgLTgsNyArOCw3IEBACiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAgKglp bnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqLwomZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgLQlyYyA9IHdyYXBfX194bWtub2QoX01LTk9EX1ZFUiwgcGF0aCwgbW9kZSwg JmFtcDtkZXYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlyYyA9IHdyYXBfbWtub2RhdChB VF9GRENXRCwgcGF0aCwgbW9kZSwgZGV2KTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIC8q CXJldHVybiByYzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqIH0KJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL21rbm9kYXQuYyBiL3Bv cnRzL2xpbnV4L2d1dHMvbWtub2RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCBh N2U0MjkzLi5jNTFhODJkIDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIGEvcG9y dHMvbGludXgvZ3V0cy9ta25vZGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBiL3Bv cnRzL2xpbnV4L2d1dHMvbWtub2RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMSw0 ICsxLDUgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIC8qCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArICogQ29weXJpZ2h0IChjKSAyMDA4LTIwMTAgV2luZCBSaXZlciBTeXN0ZW1zOyBz ZWUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqIENvcHlyaWdodCAoYykgMjAxNiBXaW5k IFJpdmVyIFN5c3RlbXM7IHNlZQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICogZ3V0cy9D T1BZUklHSFQgZm9yIGluZm9ybWF0aW9uLgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICoK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEBAIC04LDcgKzksNzUgQEAKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICAgICAqCWludCByYyA9IC0xOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAg ICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCXJjID0gd3JhcF9fX3hta25vZGF0KF9NS05P RF9WRVIsIGRpcmZkLCBwYXRoLCBtb2RlLCAmYW1wO2Rldik7CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCXBzZXVkb19tc2dfdCAqbXNnOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlzdHJ1 Y3Qgc3RhdDY0IGJ1ZjsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsJLyogbWFzayBvdXQgbW9kZSBiaXRzIGFwcHJvcHJpYXRlbHkgKi8KJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsJbW9kZSA9IG1vZGUgJmFtcDsgfnBzZXVkb191bWFzazsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgICAgICAgIC8qIGlmIHlvdSBkb24ndCBzcGVjaWZ5IGEg dHlwZSwgYXNzdW1lIHJlZ3VsYXIgZmlsZSAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAg ICAgICAgaWYgKCEobW9kZSAmYW1wOyBTX0lGTVQpKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArICAgICAgICAgICAgICAgIG1vZGUgfD0gU19JRlJFRzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsgICAgICAgIH0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgICAgICAgIHBzZXVkb19k ZWJ1ZyhQREJHRl9GSUxFLCAibWtub2RhdCBjcmVhdGluZyAnJXMnLCBtb2RlIDAlb1xuIiwKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgICAgICAgICAgICAgICAgcGF0aCA/IHBhdGggOiAiJmx0 O25vIG5hbWUmZ3Q7IiwgKGludCkgbW9kZSk7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2lmZGVmIFBTRVVET19OT19SRUFMX0FUX0ZVTkNUSU9O UwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlpZiAoZGlyZmQgIT0gQVRfRkRDV0QpIHsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCWVycm5vID0gRU5PU1lTOwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKwkJcmV0dXJuIC0xOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwl9CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJjID0gcmVhbF9zdGF0NjQocGF0aCwgJmFtcDtidWYpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr CXJjID0gcmVhbF9mc3RhdGF0NjQoZGlyZmQsIHBhdGgsICZhbXA7YnVmLCBBVF9TWU1MSU5LX05P Rk9MTE9XKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZW5kaWYKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsJaWYgKHJjICE9IC0xKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQkv KiBpZiB3ZSBjYW4gc3RhdCB0aGUgZmlsZSwgeW91IGNhbid0IG1rbm9kIGl0ICovCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArCQllcnJubyA9IEVFWElTVDsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsJCXJldHVybiAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJfQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKwlpZiAoIWRldikgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJ ZXJybm8gPSBFSU5WQUw7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlyZXR1cm4gLTE7CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCX0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjaWZk ZWYgUFNFVURPX05PX1JFQUxfQVRfRlVOQ1RJT05TCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr CXJjID0gcmVhbF9vcGVuKHBhdGgsIE9fQ1JFQVQgfCBPX1dST05MWSB8IE9fRVhDTCwKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCVBTRVVET19GU19NT0RFKG1vZGUsIDApKTsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsjZWxzZQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlyYyA9IHJl YWxfb3BlbmF0KGRpcmZkLCBwYXRoLCBPX0NSRUFUIHwgT19XUk9OTFkgfCBPX0VYQ0wsCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlQU0VVRE9fRlNfTU9ERShtb2RlLCAwKSk7CiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCWlmIChy YyA9PSAtMSkgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJcmV0dXJuIC0xOwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKwl9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJlYWxfZmNo bW9kKHJjLCBQU0VVRE9fRlNfTU9ERShtb2RlLCAwKSk7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArCXJlYWxfZnN0YXQ2NChyYywgJmFtcDtidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KwkvKiBta25vZCBkb2VzIG5vdCByZWFsbHkgb3BlbiB0aGUgZmlsZS4gIFdlIGRvbid0IGhhdmUK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJICogdG8gdXNlIHdyYXBfY2xvc2UgYmVjYXVzZSB3 ZSd2ZSBuZXZlciBleHBvc2VkIHRoaXMgZmlsZQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkg KiBkZXNjcmlwdG9yIHRvIHRoZSBjbGllbnQgY29kZS4KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICsJICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJlYWxfY2xvc2UocmMpOwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkvKiBtYXNrIGlu IHRoZSBtb2RlIHR5cGUgYml0cyBhZ2FpbiAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwli dWYuc3RfbW9kZSA9IChQU0VVRE9fREJfTU9ERShidWYuc3RfbW9kZSwgbW9kZSkgJmFtcDsgMDc3 NzcpIHwKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCQkobW9kZSAmYW1wOyB+MDc3NzcpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlidWYuc3RfcmRldiA9IGRldjsKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICsJbXNnID0gcHNldWRvX2NsaWVudF9vcChPUF9NS05PRCwgMCwgLTEsIGRp cmZkLCBwYXRoLCAmYW1wO2J1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCWlmIChtc2cg JmFtcDsmYW1wOyBtc2ctJmd0O3Jlc3VsdCAhPSBSRVNVTFRfU1VDQ0VFRCkgewomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKwkJZXJybm8gPSBFUEVSTTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICsJCXJjID0gLTE7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCX0gZWxzZSB7CiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArCQkvKiBqdXN0IHByZXRlbmQgd2Ugd29ya2VkICovCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArCQlyYyA9IDA7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCX0K Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJaWYgKHJjID09IC0xKSB7CiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyArCQlpbnQgc2F2ZV9lcnJubyA9IGVycm5vOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKyNpZmRlZiBQU0VVRE9fTk9fUkVBTF9BVF9GVU5DVElPTlMKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsJCXJlYWxfdW5saW5rKHBhdGgpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KyNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlyZWFsX3VubGlua2F0KGRpcmZkLCBw YXRoLCBBVF9TWU1MSU5LX05PRk9MTE9XKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZW5k aWYKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCWVycm5vID0gc2F2ZV9lcnJubzsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsJfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgLyoJcmV0 dXJuIHJjOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICogfQomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMvbWtvc3RlbXA2NC5jIGIvcG9y dHMvbGludXgvZ3V0cy9ta29zdGVtcDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGluZGV4 IDUwMjIxMWIuLjY5NDA3MGIgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gYS9w b3J0cy9saW51eC9ndXRzL21rb3N0ZW1wNjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKysr IGIvcG9ydHMvbGludXgvZ3V0cy9ta29zdGVtcDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IEBAIC0zNSw3ICszNSw3IEBACiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJaWYgKHJjICE9 IC0xKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCXNhdmVfZXJybm8gPSBlcnJubzsK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0JCWlmIChyZWFsX19fZnhzdGF0NjQoX1NUQVRfVkVS LCByYywgJmFtcDtidWYpICE9IC0xKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlpZiAo YmFzZV9mc3RhdDY0KHJjLCAmYW1wO2J1ZikgIT0gLTEpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICAgIAkJCXJlYWxfZmNobW9kKHJjLCBQU0VVRE9fRlNfTU9ERSgwNjAwLCAwKSk7CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCQlwc2V1ZG9fY2xpZW50X29wKE9QX0NSRUFULCAwLCAt MSwgLTEsIHRtcF90ZW1wbGF0ZSwgJmFtcDtidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg ICAgCQkJcHNldWRvX2NsaWVudF9vcChPUF9PUEVOLCBQU0FfUkVBRCB8IFBTQV9XUklURSwgcmMs IC0xLCB0bXBfdGVtcGxhdGUsICZhbXA7YnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRp ZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL29wZW5hdC5jIGIvcG9ydHMvbGludXgvZ3V0cy9v cGVuYXQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgaW5kZXggNjU2YWMyYi4uZDAyNzE1NCAx MDA2NDQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0tLSBhL3BvcnRzL2xpbnV4L2d1dHMvb3Bl bmF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBiL3BvcnRzL2xpbnV4L2d1dHMvb3Bl bmF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEBAIC01NiwxMiArNTYsMTIgQEAKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIAkJc2F2ZV9lcnJubyA9IGVycm5vOwomZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgICAgI2lmZGVmIFBTRVVET19OT19SRUFMX0FUX0ZVTkNUSU9OUwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlpZiAoZmxhZ3MgJmFtcDsgT19OT0ZPTExPVykgewomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQkJCXJjID0gcmVhbF9fX2x4c3RhdDY0KF9TVEFUX1ZFUiwg cGF0aCwgJmFtcDtidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJCXJjID0gYmFzZV9s c3RhdDY0KHBhdGgsICZhbXA7YnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIAkJfSBl bHNlIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0JCQlyYyA9IHJlYWxfX194c3RhdDY0KF9T VEFUX1ZFUiwgcGF0aCwgJmFtcDtidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJCXJj ID0gYmFzZV9zdGF0NjQocGF0aCwgJmFtcDtidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg ICAgCQl9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAjZWxzZQomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgLQkJcmMgPSByZWFsX19fZnhzdGF0YXQ2NChfU1RBVF9WRVIsIGRpcmZkLCBwYXRo LCAmYW1wO2J1ZiwgKGZsYWdzICZhbXA7IE9fTk9GT0xMT1cpID8gQVRfU1lNTElOS19OT0ZPTExP VyA6IDApOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJcmMgPSBiYXNlX2ZzdGF0YXQ2NChk aXJmZCwgcGF0aCwgJmFtcDtidWYsIChmbGFncyAmYW1wOyBPX05PRk9MTE9XKSA/IEFUX1NZTUxJ TktfTk9GT0xMT1cgOiAwKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICNlbmRpZgomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlleGlzdGVkID0gKHJjICE9IC0xKTsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICAgIAkJaWYgKCFleGlzdGVkKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgQEAgLTc3LDEyICs3NywxMiBAQAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlzYXZl X2Vycm5vID0gZXJybm87CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAjaWZkZWYgUFNFVURP X05PX1JFQUxfQVRfRlVOQ1RJT05TCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCWlmIChm bGFncyAmYW1wOyBPX05PRk9MTE9XKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCQkJcmMg PSByZWFsX19fbHhzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCAmYW1wO2J1Zik7CiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArCQkJcmMgPSBiYXNlX2xzdGF0NjQocGF0aCwgJmFtcDtidWYpOwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQl9IGVsc2UgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgLQkJCXJjID0gcmVhbF9fX3hzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCAmYW1wO2J1Zik7CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQkJcmMgPSBiYXNlX3N0YXQ2NChwYXRoLCAmYW1wO2J1 Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCX0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICAgICNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCQlyYyA9IHJlYWxfX19meHN0 YXRhdDY0KF9TVEFUX1ZFUiwgZGlyZmQsIHBhdGgsICZhbXA7YnVmLCAoZmxhZ3MgJmFtcDsgT19O T0ZPTExPVykgPyBBVF9TWU1MSU5LX05PRk9MTE9XIDogMCk7CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCQlyYyA9IGJhc2VfZnN0YXRhdDY0KGRpcmZkLCBwYXRoLCAmYW1wO2J1ZiwgKGZsYWdz ICZhbXA7IE9fTk9GT0xMT1cpID8gQVRfU1lNTElOS19OT0ZPTExPVyA6IDApOwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgICAgI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCWlm IChyYyAhPSAtMSAmYW1wOyZhbXA7IFNfSVNGSUZPKGJ1Zi5zdF9tb2RlKSkgewomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgICAgCQkJb3Zlcmx5X21hZ2ljX25vbmJsb2NraW5nID0gMTsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IEBAIC0xMzUsMTIgKzEzNSwxMiBAQAomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgICAgI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAjaWZkZWYgUFNF VURPX05PX1JFQUxfQVRfRlVOQ1RJT05TCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJCWlm IChmbGFncyAmYW1wOyBPX05PRk9MTE9XKSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCQkJ c3RhdF9yYyA9IHJlYWxfX19seHN0YXQ2NChfU1RBVF9WRVIsIHBhdGgsICZhbXA7YnVmKTsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCQlzdGF0X3JjID0gYmFzZV9sc3RhdDY0KHBhdGgsICZh bXA7YnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIAkJfSBlbHNlIHsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7IC0JCQlzdGF0X3JjID0gcmVhbF9fX3hzdGF0NjQoX1NUQVRfVkVSLCBw YXRoLCAmYW1wO2J1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQkJc3RhdF9yYyA9IGJh c2VfeHN0YXQ2NChwYXRoLCAmYW1wO2J1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJ CX0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAtCQlzdGF0X3JjID0gcmVhbF9fX2Z4c3RhdGF0NjQoX1NUQVRfVkVSLCBkaXJmZCwgcGF0 aCwgJmFtcDtidWYsIChmbGFncyAmYW1wOyBPX05PRk9MTE9XKSA/IEFUX1NZTUxJTktfTk9GT0xM T1cgOiAwKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCXN0YXRfcmMgPSBiYXNlX2ZzdGF0 YXQ2NChkaXJmZCwgcGF0aCwgJmFtcDtidWYsIChmbGFncyAmYW1wOyBPX05PRk9MTE9XKSA/IEFU X1NZTUxJTktfTk9GT0xMT1cgOiAwKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICNlbmRp ZgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgCQlwc2V1ZG9fZGVidWcoUERCR0ZfRklMRSwg Im9wZW5hdChwYXRoICVzKSwgZmxhZ3MgJW8sIHN0YXQgcmMgJWQsIHN0YXQgbW9kZSAlb1xuIiwK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL3N0 YXQuYyBiL3BvcnRzL2xpbnV4L2d1dHMvc3RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBp bmRleCBmOGM3M2Y3Li5jY2QwMGRiIDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0t IGEvcG9ydHMvbGludXgvZ3V0cy9zdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBi L3BvcnRzL2xpbnV4L2d1dHMvc3RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtOCw3 ICs4LDcgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqCWludCByYyA9IC0xOwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCXJj ID0gd3JhcF9fX2Z4c3RhdGF0KF9TVEFUX1ZFUiwgQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgMCk7CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJjID0gd3JhcF9mc3RhdGF0KEFUX0ZEQ1dELCBwYXRo LCBidWYsIDApOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgLyoJcmV0dXJuIHJjOwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICogfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgZGlm ZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMvc3RhdDY0LmMgYi9wb3J0cy9saW51eC9ndXRzL3N0 YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCBkOGIzZjM2Li4zOTFhNzNmIDEw MDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIGEvcG9ydHMvbGludXgvZ3V0cy9zdGF0 NjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKysrIGIvcG9ydHMvbGludXgvZ3V0cy9zdGF0 NjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgQEAgLTgsNyArOCw3IEBACiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyAgICAgKglpbnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICAgICAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQlyYyA9IHdyYXBfX19meHN0YXRhdDY0 KF9TVEFUX1ZFUiwgQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgMCk7CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCXJjID0gd3JhcF9mc3RhdGF0NjQoQVRfRkRDV0QsIHBhdGgsIGJ1ZiwgMCk7CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAvKglyZXR1cm4gcmM7CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAgICAgKiB9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMv bGludXgvb2xkX194L1JFQURNRSBiL3BvcnRzL2xpbnV4L29sZF9feC9SRUFETUUKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyBpbmRleCAwMDAwMDAwLi5jOTQ0MTNmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0g L2Rldi9udWxsCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9vbGRf X3gvUkVBRE1FCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMCwwICsxLDI4IEBACiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArT2xkZXIgZ2xpYmNzIGNvbnRhaW4gc3RhdCBmdW5jdGlvbnMg c3VjaCBhczoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICtfX2Z4c3RhdAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK19fZnhzdGF0YXQKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICtfX2x4c3RhdAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK19f eHN0YXQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICtfX2Z4c3RhdDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArX19meHN0YXRhdDY0CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArX19seHN0YXQ2NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg K19feHN0YXQ2NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgK1RoZSBmb3JtYXQgb2YgdGhlc2UgZnVuY3Rpb25zIHVzZSB0aGUgX1NUQVRfVkVSIGRl ZmludGlvbi4gIE5ldyBnbGliYyBubwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2xvbmdlciBk ZWZpbmUgb3IgdXRpbGl6ZSB0aGVzZSBmdW5jdGlvbnMsIHNvIG5laXRoZXIgY2FuIHdlLgomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK1dlIG9ubHkg dXNlIHRoaXMgc3VicG9ydCB3aGVuIHRoZSBmdW5jdGlvbnMgYXJlIHByZXNlbnQsIHRoaXMgaXMg Y2hlY2tlZAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2J5IHdpdGggdGhlIGV4aXN0ZW5jZSBv ZiBfU1RBVF9WRVIuCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArT2xkZXIgZ2xpYmNzIGFsc28gY29udGFpbiBta25vZCBmdW5jdGlvbnMgc3VjaCBh czoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICtf X3hta25vZAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK19feG1rbm9kYXQKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICtUaGUgZm9ybWF0IG9mIHRo ZXNlIGZ1bmN0aW9ucyB1c2UgdGhlIF9NS05PRF9WRVIgZGVmaW50aW9uLiAgTmV3IGdsaWJjIG5v CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArbG9uZ2VyIGRlZmluZSBvciB1dGlsaXplIHRoZXNl IGZ1bmN0aW9ucywgc28gbmVpdGhlciBjYW4gd2UuCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArV2Ugb25seSB1c2UgdGhpcyBzdWJwb3J0IHdoZW4g dGhlIGZ1bmN0aW9ucyBhcmUgcHJlc2VudCwgdGhpcyBpcyBjaGVja2VkCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyArYnkgd2l0aCB0aGUgZXhpc3RlbmNlIG9mIF9NS05PRF9WRVIuCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9fX2Z4c3RhdC5j IGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMvX19meHN0YXQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgc2ltaWxhcml0eSBpbmRleCAxMDAlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyByZW5h bWUgZnJvbSBwb3J0cy9saW51eC9ndXRzL19fZnhzdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7IHJlbmFtZSB0byBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX2Z4c3RhdC5jCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9fX2Z4c3RhdDY0 LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX2Z4c3RhdDY0LmMKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7IHNpbWlsYXJpdHkgaW5kZXggMTAwJQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg cmVuYW1lIGZyb20gcG9ydHMvbGludXgvZ3V0cy9fX2Z4c3RhdDY0LmMKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7IHJlbmFtZSB0byBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX2Z4c3RhdDY0LmMK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL19f ZnhzdGF0YXQuYyBiL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL19fZnhzdGF0YXQuYwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgc2ltaWxhcml0eSBpbmRleCAxMDAlCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyByZW5hbWUgZnJvbSBwb3J0cy9saW51eC9ndXRzL19fZnhzdGF0YXQuYwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgcmVuYW1lIHRvIHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL19fZnhz dGF0YXQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4 L2d1dHMvX19meHN0YXRhdDY0LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX2Z4c3RhdGF0 NjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgc2ltaWxhcml0eSBpbmRleCAxMDAlCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyByZW5hbWUgZnJvbSBwb3J0cy9saW51eC9ndXRzL19fZnhzdGF0 YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyByZW5hbWUgdG8gcG9ydHMvbGludXgvb2xk X194L2d1dHMvX19meHN0YXRhdDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1n aXQgYS9wb3J0cy9saW51eC9ndXRzL19fbHhzdGF0LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0 cy9fX2x4c3RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBzaW1pbGFyaXR5IGluZGV4IDEw MCUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHJlbmFtZSBmcm9tIHBvcnRzL2xpbnV4L2d1dHMv X19seHN0YXQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgcmVuYW1lIHRvIHBvcnRzL2xpbnV4 L29sZF9feC9ndXRzL19fbHhzdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1n aXQgYS9wb3J0cy9saW51eC9ndXRzL19fbHhzdGF0NjQuYyBiL3BvcnRzL2xpbnV4L29sZF9feC9n dXRzL19fbHhzdGF0NjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgc2ltaWxhcml0eSBpbmRl eCAxMDAlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyByZW5hbWUgZnJvbSBwb3J0cy9saW51eC9n dXRzL19fbHhzdGF0NjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgcmVuYW1lIHRvIHBvcnRz L2xpbnV4L29sZF9feC9ndXRzL19fbHhzdGF0NjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg ZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMvX194bWtub2QuYyBiL3BvcnRzL2xpbnV4L29s ZF9feC9ndXRzL19feG1rbm9kLmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHNpbWlsYXJpdHkg aW5kZXggMTAwJQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgcmVuYW1lIGZyb20gcG9ydHMvbGlu dXgvZ3V0cy9fX3hta25vZC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyByZW5hbWUgdG8gcG9y dHMvbGludXgvb2xkX194L2d1dHMvX194bWtub2QuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg ZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L2d1dHMvX194bWtub2RhdC5jIGIvcG9ydHMvbGludXgv b2xkX194L2d1dHMvX194bWtub2RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBzaW1pbGFy aXR5IGluZGV4IDEwMCUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHJlbmFtZSBmcm9tIHBvcnRz L2xpbnV4L2d1dHMvX194bWtub2RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyByZW5hbWUg dG8gcG9ydHMvbGludXgvb2xkX194L2d1dHMvX194bWtub2RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvZ3V0cy9fX3hzdGF0LmMgYi9wb3J0cy9s aW51eC9vbGRfX3gvZ3V0cy9fX3hzdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHNpbWls YXJpdHkgaW5kZXggMTAwJQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgcmVuYW1lIGZyb20gcG9y dHMvbGludXgvZ3V0cy9fX3hzdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHJlbmFtZSB0 byBwb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9fX3hzdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9ndXRzL19feHN0YXQ2NC5jIGIvcG9ydHMvbGlu dXgvb2xkX194L2d1dHMvX194c3RhdDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IHNpbWls YXJpdHkgaW5kZXggMTAwJQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgcmVuYW1lIGZyb20gcG9y dHMvbGludXgvZ3V0cy9fX3hzdGF0NjQuYwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgcmVuYW1l IHRvIHBvcnRzL2xpbnV4L29sZF9feC9ndXRzL19feHN0YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L2d1dHMvZnN0YXQuYyBiL3Bv cnRzL2xpbnV4L29sZF9feC9ndXRzL2ZzdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG5l dyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCAwMDAwMDAw Li5iMDg5YjE1CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gL2Rldi9udWxsCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdC5jCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMCwwICsxLDE1IEBACiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArLyoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBDb3B5cmlnaHQgKGMpIDIw MTEgV2luZCBSaXZlciBTeXN0ZW1zOyBzZWUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBn dXRzL0NPUFlSSUdIVCBmb3IgaW5mb3JtYXRpb24uCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr ICoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog TEdQTC0yLjEtb25seQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyArICogaW50IGZzdGF0KGludCBmZCwgc3RydWN0IHN0YXQgKmJ1ZikKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKglpbnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsJcmMgPSB3cmFwX19fZnhzdGF0KF9TVEFUX1ZFUiwgZmQsIGJ1Zik7CiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArLyoJcmV0dXJuIHJjOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIH0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsg Ki8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9vbGRf X3gvZ3V0cy9mc3RhdDY0LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdDY0LmMKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyBpbmRleCAwMDAwMDAwLi42ZGQ5N2RhCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAtLS0gL2Rldi9udWxsCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51 eC9vbGRfX3gvZ3V0cy9mc3RhdDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEBAIC0wLDAg KzEsMTUgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsvKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKyAqIENvcHlyaWdodCAoYykgMjAxMiBXaW5kIFJpdmVyIFN5c3RlbXM7IHNlZQomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIGd1dHMvQ09QWVJJR0hUIGZvciBpbmZvcm1hdGlvbi4K Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAq IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMS1vbmx5CiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArICoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBpbnQgZnN0YXQ2NChpbnQg ZmQsIHN0cnVjdCBzdGF0ICpidWYpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICoJaW50IHJj ID0gLTE7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICovCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJjID0gd3JhcF9fX2Z4c3RhdDY0KF9T VEFUX1ZFUiwgZmQsIGJ1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArLyoJcmV0dXJuIHJjOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAq IH0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdGF0LmMgYi9wb3J0cy9s aW51eC9vbGRfX3gvZ3V0cy9mc3RhdGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG5ldyBm aWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCAwMDAwMDAwLi4z MjY3NjQxCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gL2Rldi9udWxsCiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdGF0LmMKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEBAIC0wLDAgKzEsMTUgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsvKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIENvcHlyaWdodCAoYykgMjAy MSBMaW51eCBGb3VuZGF0aW9uOyBzZWUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBndXRz L0NPUFlSSUdIVCBmb3IgaW5mb3JtYXRpb24uCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICoK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTEdQ TC0yLjEtb25seQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArICogaW50IGZzdGF0YXQoaW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1 Y3Qgc3RhdCAqYnVmLCBpbnQgZmxhZ3MpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICoJaW50 IHJjID0gLTE7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICovCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJjID0gd3JhcF9fX2Z4c3RhdGF0 KF9TVEFUX1ZFUiwgZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKy8qCXJldHVybiByYzsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsgKiB9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICovCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L2d1dHMv ZnN0YXRhdDY0LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9mc3RhdGF0NjQuYwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgbmV3IGZpbGUgbW9kZSAxMDA2NDQKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7IGluZGV4IDAwMDAwMDAuLmM5ODFlMTQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0t LSAvZGV2L251bGwKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBiL3BvcnRzL2xpbnV4L29s ZF9feC9ndXRzL2ZzdGF0YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMCwwICsx LDE1IEBACiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArLyoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjEgTGludXggRm91bmRhdGlvbjsgc2VlCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArICogZ3V0cy9DT1BZUklHSFQgZm9yIGluZm9ybWF0aW9uLgomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsgKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIGludCBmc3RhdGF0NjQoaW50IGRp cmZkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYsIGludCBmbGFncykKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKglpbnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsJcmMgPSB3cmFwX19fZnhzdGF0YXQ2NChfU1RBVF9WRVIsIGRpcmZkLCBwYXRoLCBi dWYsIGZsYWdzKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsvKglyZXR1cm4gcmM7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogfQomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgZGlmZiAt LWdpdCBhL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL2xzdGF0LmMgYi9wb3J0cy9saW51eC9vbGRf X3gvZ3V0cy9sc3RhdC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBuZXcgZmlsZSBtb2RlIDEw MDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgaW5kZXggMDAwMDAwMC4uZDJjNGQ1MAomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIC9kZXYvbnVsbAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgKysrIGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMvbHN0YXQuYwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgQEAgLTAsMCArMSwxNSBAQAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKy8qCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogQ29weXJpZ2h0IChjKSAyMDExIFdpbmQgUml2ZXIg U3lzdGVtczsgc2VlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogZ3V0cy9DT1BZUklHSFQg Zm9yIGluZm9ybWF0aW9uLgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqCiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyArICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwtMi4xLW9ubHkK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAq IGludCBsc3RhdChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKyAqCWludCByYyA9IC0xOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KwlyYyA9IHdyYXBfX19meHN0YXRhdChfU1RBVF9WRVIsIEFUX0ZEQ1dELCBwYXRoLCBidWYsIEFU X1NZTUxJTktfTk9GT0xMT1cpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKy8qCXJldHVybiByYzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsg KiB9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L2d1dHMvbHN0YXQ2NC5jIGIvcG9ydHMv bGludXgvb2xkX194L2d1dHMvbHN0YXQ2NC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBuZXcg ZmlsZSBtb2RlIDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgaW5kZXggMDAwMDAwMC4u NDNkMGNlMQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIC9kZXYvbnVsbAomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKysrIGIvcG9ydHMvbGludXgvb2xkX194L2d1dHMvbHN0YXQ2NC5jCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMCwwICsxLDE1IEBACiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArLyoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBDb3B5cmlnaHQgKGMpIDIw MTIgV2luZCBSaXZlciBTeXN0ZW1zOyBzZWUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBn dXRzL0NPUFlSSUdIVCBmb3IgaW5mb3JtYXRpb24uCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr ICoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog TEdQTC0yLjEtb25seQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyArICogaW50IGxzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQg KmJ1ZikKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKglpbnQgcmMgPSAtMTsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsJcmMgPSB3cmFwX19fZnhzdGF0YXQ2NChfU1RBVF9WRVIsIEFUX0ZE Q1dELCBwYXRoLCBidWYsIEFUX1NZTUxJTktfTk9GT0xMT1cpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKy8qCXJldHVybiByYzsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsgKiB9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICovCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvb2xkX194L2d1dHMv bWtub2QuYyBiL3BvcnRzL2xpbnV4L29sZF9feC9ndXRzL21rbm9kLmMKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBp bmRleCAwMDAwMDAwLi42MWZkMzIwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gL2Rldi9u dWxsCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0 cy9ta25vZC5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMCwwICsxLDE1IEBACiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArLyoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBDb3B5 cmlnaHQgKGMpIDIwMTYgV2luZCBSaXZlciBTeXN0ZW1zOyBzZWUKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsgKiBndXRzL0NPUFlSSUdIVCBmb3IgaW5mb3JtYXRpb24uCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyArICoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogTEdQTC0yLjEtb25seQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogaW50IG1rbm9kKGNvbnN0IGNoYXIgKnBhdGgsIG1v ZGVfdCBtb2RlLCBkZXZfdCBkZXYpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICoJaW50IHJj ID0gLTE7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICovCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJjID0gd3JhcF9fX3hta25vZChfTUtO T0RfVkVSLCBwYXRoLCBtb2RlLCAmYW1wO2Rldik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArLyoJcmV0dXJuIHJjOwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKyAqIH0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKi8KJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta25vZGF0 LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta25vZGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRl eCAwMDAwMDAwLi5hN2U0MjkzCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gL2Rldi9udWxs CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9t a25vZGF0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEBAIC0wLDAgKzEsMTUgQEAKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsvKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIENvcHly aWdodCAoYykgMjAxNiBXaW5kIFJpdmVyIFN5c3RlbXM7IHNlZQomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKyAqIGd1dHMvQ09QWVJJR0hUIGZvciBpbmZvcm1hdGlvbi4KJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsgKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBMR1BMLTIuMS1vbmx5CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICoKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBpbnQgbWtub2RhdChpbnQgZGlyZmQsIGNvbnN0IGNo YXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCBkZXYpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArICoJaW50IHJjID0gLTE7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICovCiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJjID0gd3JhcF9f X3hta25vZGF0KF9NS05PRF9WRVIsIGRpcmZkLCBwYXRoLCBtb2RlLCAmYW1wO2Rldik7CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArLyoJcmV0dXJu IHJjOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIH0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51 eC9vbGRfX3gvZ3V0cy9ta29zdGVtcDY0LmMgYi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta29z dGVtcDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCAwMDAwMDAwLi41MDIyMTFiCiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyAtLS0gL2Rldi9udWxsCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysg Yi9wb3J0cy9saW51eC9vbGRfX3gvZ3V0cy9ta29zdGVtcDY0LmMKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7IEBAIC0wLDAgKzEsNTMgQEAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsvKgomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIENvcHlyaWdodCAoYykgMjAxMCBXaW5kIFJpdmVyIFN5 c3RlbXM7IHNlZQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIGd1dHMvQ09QWVJJR0hUIGZv ciBpbmZvcm1hdGlvbi4KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKgomZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgKyAqIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMS1vbmx5CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBz dGF0aWMgaW50CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogd3JhcF9ta3N0ZW1wNjQoY2hh ciAqdGVtcGxhdGUsIGludCBvZmxhZ3MpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKglp bnQgcmMgPSAtMTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKi8KJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsJc3RydWN0IHN0YXQ2NCBidWY7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr IAlpbnQgc2F2ZV9lcnJubzsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJc2l6ZV90IGxlbjsK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJY2hhciAqdG1wX3RlbXBsYXRlOwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlpZiAoIXRlbXBsYXRl KSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQllcnJubyA9IEVGQVVMVDsKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsJCXJldHVybiAwOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwl9 CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCWxl biA9IHN0cmxlbih0ZW1wbGF0ZSk7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXRtcF90ZW1w bGF0ZSA9IFBTRVVET19ST09UX1BBVEgoQVRfRkRDV0QsIHRlbXBsYXRlLCBBVF9TWU1MSU5LX05P Rk9MTE9XKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsJaWYgKCF0bXBfdGVtcGxhdGUpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCWVy cm5vID0gRU5PRU5UOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJcmV0dXJuIC0xOwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwl9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArCS8qIG1rc3RlbXA2NCB3cmFwcGVyIHVzZXMgdGhpcyBjb2Rl IGFuZCBta29zdGVtcDY0IG5vdCBwcmVzZW50IGluIHNvbWUgZ2xpYmMgdmVyc2lvbnMgKi8KJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJaWYgKG9mbGFncyA9PSAwKQomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKwkJcmMgPSByZWFsX21rc3RlbXA2NCh0bXBfdGVtcGxhdGUpOwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKwllbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQlyYyA9IHJl YWxfbWtvc3RlbXA2NCh0bXBfdGVtcGxhdGUsIG9mbGFncyk7CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCWlmIChyYyAhPSAtMSkgewomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKwkJc2F2ZV9lcnJubyA9IGVycm5vOwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJaWYgKHJlYWxfX19meHN0YXQ2 NChfU1RBVF9WRVIsIHJjLCAmYW1wO2J1ZikgIT0gLTEpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICsJCQlyZWFsX2ZjaG1vZChyYywgUFNFVURPX0ZTX01PREUoMDYwMCwgMCkpOwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKwkJCXBzZXVkb19jbGllbnRfb3AoT1BfQ1JFQVQsIDAsIC0xLCAt MSwgdG1wX3RlbXBsYXRlLCAmYW1wO2J1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQkJ cHNldWRvX2NsaWVudF9vcChPUF9PUEVOLCBQU0FfUkVBRCB8IFBTQV9XUklURSwgcmMsIC0xLCB0 bXBfdGVtcGxhdGUsICZhbXA7YnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCX0gZWxz ZSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQkJcHNldWRvX2RlYnVnKFBEQkdGX0NPTlNJ U1RFTkNZLCAibWtzdGVtcCAoZmQgJWQpIHN1Y2NlZWRlZCwgYnV0IGZzdGF0IGZhaWxlZCAoJXMp LlxuIiwKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJCQkJcmMsIHN0cmVycm9yKGVycm5vKSk7 CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCQkJcHNldWRvX2NsaWVudF9vcChPUF9PUEVOLCBQ U0FfUkVBRCB8IFBTQV9XUklURSwgcmMsIC0xLCB0bXBfdGVtcGxhdGUsIDApOwomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKwkJfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwkJZXJybm8gPSBz YXZlX2Vycm5vOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwl9CiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArCS8qIG1rc3RlbXAgb25seSBjaGFuZ2VzIHRoZSBYWFhYWFggYXQgdGhlIGVuZC4g Ki8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJbWVtY3B5KHRlbXBsYXRlICsgbGVuIC0gNiwg dG1wX3RlbXBsYXRlICsgc3RybGVuKHRtcF90ZW1wbGF0ZSkgLSA2LCA2KTsKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICsvKglyZXR1cm4gcmM7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICog fQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg ZGlmZiAtLWdpdCBhL3BvcnRzL2xpbnV4L29sZF9feC9wb3J0ZGVmcy5oIGIvcG9ydHMvbGludXgv b2xkX194L3BvcnRkZWZzLmgKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG5ldyBmaWxlIG1vZGUg MTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCAwMDAwMDAwLi5mMmJkYzIyCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gL2Rldi9udWxsCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvcG9ydGRlZnMuaAomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgQEAgLTAsMCArMSw0MCBAQAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKy8qCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IExHUEwt Mi4xLW9ubHkKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKy8qIElmIHRoZSBzdWJwb3J0IHdhcyBlbmFibGVkLCBhbmQgdGhlc2UgYXJlIG5vdCBk ZWZpbmVkIHByb3ZpZGUgYSBkZWZhdWx0ICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2lm bmRlZiBfU1RBVF9WRVIKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjaWYgZGVmaW5lZCAoX19h YXJjaDY0X18pCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2RlZmluZSBfU1RBVF9WRVIgMAom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbGlmIGRlZmluZWQgKF9feDg2XzY0X18pCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArI2RlZmluZSBfU1RBVF9WRVIgMQomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKyNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2RlZmluZSBfU1RBVF9W RVIgMwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbmRpZgomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgKyNlbmRpZgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKyNpZiBQU0VVRE9fU1RBVEJVRl82NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KyNkZWZpbmUgYmFzZV9mc3RhdChmZCwgYnVmKSByZWFsX19fZnhzdGF0NjQoX1NUQVRfVkVSLCBm ZCwgYnVmKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNkZWZpbmUgYmFzZV9zdGF0KHBhdGgs IGJ1ZikgcmVhbF9fX3hzdGF0NjQoX1NUQVRfVkVSLCBwYXRoLCBidWYpCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyArI2RlZmluZSBiYXNlX2ZzdGF0YXQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3Mp IHJlYWxfX19meHN0YXRhdDY0KF9TVEFUX1ZFUiwgZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2Vsc2UKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsj ZGVmaW5lIGJhc2VfZnN0YXQoZmQsIGJ1ZikgcmVhbF9fX2Z4c3RhdChfU1RBVF9WRVIsIGZkLCBi dWYpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2RlZmluZSBiYXNlX3N0YXQocGF0aCwgYnVm KSByZWFsX19feHN0YXQoX1NUQVRfVkVSLCBwYXRoLCBidWYpCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArI2RlZmluZSBiYXNlX2ZzdGF0YXQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpIHJlYWxf X19meHN0YXRhdChfU1RBVF9WRVIsIGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKyNlbmRpZgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKyNkZWZpbmUgYmFzZV9mc3RhdDY0KHBhdGgsIGJ1ZikgcmVhbF9f X2Z4c3RhdDY0KF9TVEFUX1ZFUiwgcGF0aCwgYnVmKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KyNkZWZpbmUgYmFzZV9zdGF0NjQocGF0aCwgYnVmKSByZWFsX19feHN0YXQ2NChfU1RBVF9WRVIs IHBhdGgsIGJ1ZikKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZGVmaW5lIGJhc2VfZnN0YXRh dDY0KGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKSByZWFsX19fZnhzdGF0YXQ2NChfU1RBVF9WRVIs IGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKy8qIElmIHRoZSBzdWJwb3J0IHdhcyBlbmFibGVkLCBhbmQg dGhlc2UgYXJlIG5vdCBkZWZpbmVkIHByb3ZpZGUgYSBkZWZhdWx0ICovCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyArI2lmbmRlZiBfTUtOT0RfVkVSCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr I2lmIGRlZmluZWQgKF9fYWFyY2g2NF9fKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNkZWZp bmUgX01LTk9EX1ZFUiAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2VsaWYgZGVmaW5lZCAo X194ODZfNjRfXykKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZGVmaW5lIF9NS05PRF9WRVIg MAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArI2RlZmluZSBfTUtOT0RfVkVSIDEKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZW5kaWYK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZW5kaWYKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9vbGRfX3gvcHNldWRvX3dyYXBwZXJzLmMgYi9wb3J0 cy9saW51eC9vbGRfX3gvcHNldWRvX3dyYXBwZXJzLmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCAwMDAw MDAwLi40NTViYzA5CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gL2Rldi9udWxsCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9vbGRfX3gvcHNldWRvX3dyYXBw ZXJzLmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEBAIC0wLDAgKzEsNDggQEAKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICsvKgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAqIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBMR1BMLTIuMS1vbmx5CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr ICoKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICsvKiB0aGUgdW5peCBwb3J0IHdhbnRzIHRvIGtub3cgdGhhdCByZWFsX3N0YXQoKSBhbmQKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgKiBmcmllbmRzIGV4aXN0LiAgU28gdGhleSBkby4gQW5k IGJlY2F1c2UgdGhlIExpbnV4CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICogcG9ydCByZWFs bHkgdXNlcyBzdGF0NjQgZm9yIHRob3NlLi4uCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICov CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr cHNldWRvX3N0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1ZikgewomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKwlyZXR1cm4gcmVhbF9fX3hzdGF0KF9TVEFUX1ZFUiwgcGF0aCwg YnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICt9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArcHNldWRvX2xzdGF0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpidWYpIHsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJcmV0dXJuIHJlYWxfX19seHN0YXQoX1NUQVRfVkVSLCBw YXRoLCBidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK30KJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICtpbnQKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICtwc2V1ZG9fZnN0YXQoaW50IGZkLCBzdHJ1Y3Qgc3RhdCAqYnVmKSB7CiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyArCXJldHVybiByZWFsX19fZnhzdGF0KF9TVEFUX1ZFUiwgZmQsIGJ1 Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg K3BzZXVkb19zdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKSB7CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJldHVybiByZWFsX19feHN0YXQ2NChfU1RBVF9WRVIs IHBhdGgsIGJ1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArfQomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludAomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgK3BzZXVkb19sc3RhdDY0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0NjQg KmJ1ZikgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKwlyZXR1cm4gcmVhbF9fX2x4c3RhdDY0 KF9TVEFUX1ZFUiwgcGF0aCwgYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICt9CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyArcHNldWRvX2ZzdGF0NjQoaW50IGZkLCBzdHJ1Y3Qgc3RhdDY0 ICpidWYpIHsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsJcmV0dXJuIHJlYWxfX19meHN0YXQ2 NChfU1RBVF9WRVIsIGZkLCBidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK30KJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsvKiBzaW1pbGFy IHRoaW5nIGhhcHBlbnMgd2l0aCBta25vZCAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2lu dAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK3BzZXVkb19ta25vZChjb25zdCBjaGFyICpwYXRo LCBtb2RlX3QgbW9kZSwgZGV2X3QgZGV2KSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJl dHVybiByZWFsX19feG1rbm9kKF9NS05PRF9WRVIsIHBhdGgsIG1vZGUsICZhbXA7ZGV2KTsKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICt9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArcHNldWRv X21rbm9kYXQoaW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgZGV2X3Qg ZGV2KSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCXJldHVybiByZWFsX19feG1rbm9kYXQo X01LTk9EX1ZFUiwgZGlyZmQsIHBhdGgsIG1vZGUsICZhbXA7ZGV2KTsKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICt9CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMv bGludXgvb2xkX194L3dyYXBmdW5jcy5pbiBiL3BvcnRzL2xpbnV4L29sZF9feC93cmFwZnVuY3Mu aW4KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IG5ldyBmaWxlIG1vZGUgMTAwNjQ0CiZndDsgJmd0 OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCAwMDAwMDAwLi5kZTI0ZTYzCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyAtLS0gL2Rldi9udWxsCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0 cy9saW51eC9vbGRfX3gvd3JhcGZ1bmNzLmluCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAt MCwwICsxLDE4IEBACiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50IF9feHN0YXQoaW50IHZl ciwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1Zik7CiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyAraW50IF9fbHhzdGF0KGludCB2ZXIsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBz dGF0ICpidWYpOyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9MTE9XICovCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyAraW50IF9fZnhzdGF0KGludCB2ZXIsIGludCBmZCwgc3RydWN0IHN0YXQgKmJ1 Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50IF9fZnhzdGF0YXQoaW50IHZlciwgaW50 IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmLCBpbnQgZmxhZ3MpOwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBfX3hzdGF0NjQoaW50IHZlciwgY29uc3QgY2hh ciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICtp bnQgX19seHN0YXQ2NChpbnQgdmVyLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpi dWYpOyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9MTE9XICovCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAraW50IF9fZnhzdGF0NjQoaW50IHZlciwgaW50IGZkLCBzdHJ1Y3Qgc3RhdDY0ICpidWYp OwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBfX2Z4c3RhdGF0NjQoaW50IHZlciwgaW50 IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYsIGludCBmbGFncyk7 CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50 IHN0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1Zik7IC8qIHJlYWxfZnVuYz1w c2V1ZG9fc3RhdCAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBsc3RhdChjb25zdCBj aGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKTsgLyogcmVhbF9mdW5jPXBzZXVkb19sc3RhdCwg ZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2lu dCBsc3RhdDY0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7IC8qIHJlYWxf ZnVuYz1wc2V1ZG9fbHN0YXQ2NCwgZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBmc3RhdDY0KGludCBmZCwgc3RydWN0IHN0YXQ2NCAqYnVm KTsgLyogcmVhbF9mdW5jPXBzZXVkb19mc3RhdDY0ICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50IF9feG1rbm9kKGludCB2ZXIsIGNvbnN0 IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCAqZGV2KTsgLyogZmxhZ3M9QVRfU1lNTElO S19OT0ZPTExPVyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBfX3hta25vZGF0KGlu dCB2ZXIsIGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUsIGRldl90ICpk ZXYpOyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9MTE9XICovCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAraW50IG1rbm9kKGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCBkZXYp OyAvKiByZWFsX2Z1bmM9cHNldWRvX21rbm9kICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr aW50IG1rbm9kYXQoaW50IGRpcmZkLCBjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgZGV2 X3QgZGV2KTsgLyogcmVhbF9mdW5jPXBzZXVkb19ta25vZGF0ICovCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvcG9ydGRlZnMuaCBiL3BvcnRzL2xpbnV4 L3BvcnRkZWZzLmgKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IGluZGV4IDk1NDU1NTAuLmE5MmU5 NjkgMTAwNjQ0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtLS0gYS9wb3J0cy9saW51eC9wb3J0 ZGVmcy5oCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wb3J0cy9saW51eC9wb3J0ZGVm cy5oCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMzQsMjIgKzM0LDMgQEAgR0xJQkNfQ09N UEFUX1NZTUJPTChtZW1jcHksMi4wKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICNpbmNs dWRlICZsdDtzeXMvc3lzY2FsbC5oJmd0OwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgI2lu Y2x1ZGUgJmx0O3N5cy9wcmN0bC5oJmd0OwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgI2lu Y2x1ZGUgJmx0O2xpbnV4L3NlY2NvbXAuaCZndDsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0K Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0jaWZuZGVmIF9TVEFUX1ZFUgomZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgLSNpZiBkZWZpbmVkIChfX2FhcmNoNjRfXykKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7IC0jZGVmaW5lIF9TVEFUX1ZFUiAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtI2Vs aWYgZGVmaW5lZCAoX194ODZfNjRfXykKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0jZGVmaW5l IF9TVEFUX1ZFUiAxCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtI2Vsc2UKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IC0jZGVmaW5lIF9TVEFUX1ZFUiAzCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAtI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtI2VuZGlmCiZndDsgJmd0OyAmZ3Q7 ICZndDsgJmd0OyAtI2lmbmRlZiBfTUtOT0RfVkVSCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAt I2lmIGRlZmluZWQgKF9fYWFyY2g2NF9fKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLSNkZWZp bmUgX01LTk9EX1ZFUiAwCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtI2VsaWYgZGVmaW5lZCAo X194ODZfNjRfXykKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0jZGVmaW5lIF9NS05PRF9WRVIg MAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLSNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAtI2RlZmluZSBfTUtOT0RfVkVSIDEKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0jZW5kaWYK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0jZW5kaWYKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9wc2V1ZG9fd3JhcHBlcnMuYyBiL3BvcnRzL2xpbnV4 L3BzZXVkb193cmFwcGVycy5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCA3NjU5ODk3 Li43YTRmNTQ5IDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIGEvcG9ydHMvbGlu dXgvcHNldWRvX3dyYXBwZXJzLmMKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBiL3BvcnRz L2xpbnV4L3BzZXVkb193cmFwcGVycy5jCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtMiw1 MCArMiw3IEBACiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAgKiBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogTEdQTC0yLjEtb25seQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgICoKJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS8q IHRoZSB1bml4IHBvcnQgd2FudHMgdG8ga25vdyB0aGF0IHJlYWxfc3RhdCgpIGFuZAomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgLSAqIGZyaWVuZHMgZXhpc3QuICBTbyB0aGV5IGRvLiBBbmQgYmVj YXVzZSB0aGUgTGludXgKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0gKiBwb3J0IHJlYWxseSB1 c2VzIHN0YXQ2NCBmb3IgdGhvc2UuLi4KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0gKi8KJmd0 OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1wc2V1 ZG9fc3RhdChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKSB7CiZndDsgJmd0OyAm Z3Q7ICZndDsgJmd0OyAtCXJldHVybiByZWFsX19feHN0YXQoX1NUQVRfVkVSLCBwYXRoLCBidWYp OwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLX0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0K Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1w c2V1ZG9fbHN0YXQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1ZikgewomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgLQlyZXR1cm4gcmVhbF9fX2x4c3RhdChfU1RBVF9WRVIsIHBhdGgs IGJ1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgLQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLWludAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgLXBzZXVkb19mc3RhdChpbnQgZmQsIHN0cnVjdCBzdGF0ICpidWYpIHsKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IC0JcmV0dXJuIHJlYWxfX19meHN0YXQoX1NUQVRfVkVSLCBmZCwgYnVmKTsK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC19CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtaW50CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtcHNl dWRvX3N0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpIHsKJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7IC0JcmV0dXJuIHJlYWxfX194c3RhdDY0KF9TVEFUX1ZFUiwgcGF0 aCwgYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC19CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAtCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtaW50CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAtcHNldWRvX2xzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVm KSB7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtCXJldHVybiByZWFsX19fbHhzdGF0NjQoX1NU QVRfVkVSLCBwYXRoLCBidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLX0KJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7IC0KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7IC1wc2V1ZG9fZnN0YXQ2NChpbnQgZmQsIHN0cnVjdCBzdGF0NjQgKmJ1 ZikgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQlyZXR1cm4gcmVhbF9fX2Z4c3RhdDY0KF9T VEFUX1ZFUiwgZmQsIGJ1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtfQomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgLQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgLyogc2ltaWxhciB0 aGluZyBoYXBwZW5zIHdpdGggbWtub2QgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1wc2V1ZG9fbWtub2QoY29uc3QgY2hhciAqcGF0aCwg bW9kZV90IG1vZGUsIGRldl90IGRldikgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQlyZXR1 cm4gcmVhbF9fX3hta25vZChfTUtOT0RfVkVSLCBwYXRoLCBtb2RlLCAmYW1wO2Rldik7CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAtfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgLWludAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLXBzZXVkb19t a25vZGF0KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUsIGRldl90IGRl dikgewomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLQlyZXR1cm4gcmVhbF9fX3hta25vZGF0KF9N S05PRF9WRVIsIGRpcmZkLCBwYXRoLCBtb2RlLCAmYW1wO2Rldik7CiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyAtfQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgaW50IHBzZXVkb19jYXBzZXQo Y2FwX3VzZXJfaGVhZGVyX3QgaGRycCwgY29uc3QgY2FwX3VzZXJfZGF0YV90IGRhdGFwKSB7CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAJKHZvaWQpaGRycDsKJmd0OyAmZ3Q7ICZndDsgJmd0 OyAmZ3Q7IGRpZmYgLS1naXQgYS9wb3J0cy9saW51eC9zdWJwb3J0cyBiL3BvcnRzL2xpbnV4L3N1 YnBvcnRzCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCAwOTllYTU5Li41M2Y2Njk2IDEw MDc1NQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIGEvcG9ydHMvbGludXgvc3VicG9ydHMK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsrKyBiL3BvcnRzL2xpbnV4L3N1YnBvcnRzCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyBAQCAtNzAsMyArNzAsMTggQEAgZWxzZQomZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgICAgZmkKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIHJtIC1mIGR1bW15 LmMgZHVtbXkubwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyMgQ2hlY2sgaWYgX1NUQVRfVkVS IGlzIGRlZmluZWQuICBUaGlzIGlzIGFuIGluZGljYXRpb24gdGhhdCB0aGUgb2xkIGludGVybmFs IF9fKnhzdGF0KiBmdW5jdGlvbnMgYXJlIGF2YWlsYWJsZQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgKyMgQ2hlY2sgaWYgX01LTk9EX1ZFUiBpcyBkZWZpbmVkLiAgVGhpcyBpcyBhbiBpbmRpY2F0 aW9uIHRoYXQgdGhlIG9sZCBpbnRlcm5hbCBfX3hta25vZCogZnVuY3Rpb25zIGFyZSBhdmFpbGFi bGUKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICtjYXQgJmd0OyBkdW1teS5jICZsdDsmbHQ7RU9G CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2luY2x1ZGUgJmx0O3N5cy9zdGF0LmgmZ3Q7CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2lmbmRlZiBfU1RBVF9WRVIKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICsjZXJyb3IgX1NUQVRfVkVSIG5vdCBkZWZpbmVkCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2lmbmRlZiBfTUtOT0Rf VkVSCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2Vycm9yIF9NS05PRF9WRVIgbm90IGRlZmlu ZWQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZW5kaWYKJmd0OyAmZ3Q7ICZndDsgJmd0OyAm Z3Q7ICtFT0YKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICtpZiAke0NDfSAtYyAtbyBkdW1teS5v IGR1bW15LmMgJmd0Oy9kZXYvbnVsbCAyJmd0OyZhbXA7MTsgdGhlbgomZ3Q7ICZndDsgJmd0OyAm Z3Q7ICZndDsgKyAgICAgICAgZWNobyAibGludXgvb2xkX194IgomZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICZndDsgK2ZpCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArcm0gLWYgZHVtbXkuYyBkdW1teS5v CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcG9ydHMvbGludXgvd3JhcGZ1 bmNzLmluIGIvcG9ydHMvbGludXgvd3JhcGZ1bmNzLmluCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyBpbmRleCA5N2IxNmMyLi41MTg3ZmQ4IDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg LS0tIGEvcG9ydHMvbGludXgvd3JhcGZ1bmNzLmluCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAr KysgYi9wb3J0cy9saW51eC93cmFwZnVuY3MuaW4KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IEBA IC0xLDE3ICsxLDExIEBACiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBpbnQgb3Blbihjb25z dCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIC4uLnttb2RlX3QgbW9kZX0pOyAvKiBmbGFncz1mbGFn cyZhbXA7T19OT0ZPTExPVywgbm9pZ25vcmVfcGF0aD0xICovCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAgICBjaGFyICpnZXRfY3VycmVudF9kaXJfbmFtZSh2b2lkKTsKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7IC1pbnQgX194c3RhdChpbnQgdmVyLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qg c3RhdCAqYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgX19seHN0YXQoaW50IHZl ciwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQgKmJ1Zik7IC8qIGZsYWdzPUFUX1NZTUxJ TktfTk9GT0xMT1cgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgX19meHN0YXQoaW50 IHZlciwgaW50IGZkLCBzdHJ1Y3Qgc3RhdCAqYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7 ICAgIGludCBsY2htb2QoY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUpOyAvKiBmbGFncz1B VF9TWU1MSU5LX05PRk9MTE9XICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBpbnQgbGNo b3duKGNvbnN0IGNoYXIgKnBhdGgsIHVpZF90IG93bmVyLCBnaWRfdCBncm91cCk7IC8qIGZsYWdz PUFUX1NZTUxJTktfTk9GT0xMT1cgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgX19m eHN0YXRhdChpbnQgdmVyLCBpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0 ICpidWYsIGludCBmbGFncyk7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBpbnQgb3BlbmF0 KGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgaW50IGZsYWdzLCAuLi57bW9kZV90IG1vZGV9 KTsgLyogZmxhZ3M9ZmxhZ3MmYW1wO09fTk9GT0xMT1csIG5vaWdub3JlX3BhdGg9MSAqLwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgaW50IF9fb3BlbmF0XzIoaW50IGRpcmZkLCBjb25zdCBj aGFyICpwYXRoLCBpbnQgZmxhZ3MpOyAvKiBmbGFncz1mbGFncyZhbXA7T19OT0ZPTExPVywgbm9p Z25vcmVfcGF0aD0xICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtaW50IG1rbm9kKGNvbnN0 IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCBkZXYpOyAvKiByZWFsX2Z1bmM9cHNldWRv X21rbm9kICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtaW50IG1rbm9kYXQoaW50IGRpcmZk LCBjb25zdCBjaGFyICpwYXRoLCBtb2RlX3QgbW9kZSwgZGV2X3QgZGV2KTsgLyogcmVhbF9mdW5j PXBzZXVkb19ta25vZGF0ICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtaW50IF9feG1rbm9k KGludCB2ZXIsIGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlLCBkZXZfdCAqZGV2KTsgLyog ZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLWlu dCBfX3hta25vZGF0KGludCB2ZXIsIGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgbW9kZV90 IG1vZGUsIGRldl90ICpkZXYpOyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9MTE9XICovCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50IG1rbm9kKGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBt b2RlLCBkZXZfdCBkZXYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBta25vZGF0KGlu dCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUsIGRldl90IGRldik7CiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBpbnQgZmNudGwoaW50IGZkLCBpbnQgY21kLCAuLi57c3Ry dWN0IGZsb2NrICpsb2NrfSk7ICAvKiBub2lnbm9yZV9wYXRoPTEgKi8KJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICAgIGludCBmY250bDY0KGludCBmZCwgaW50IGNtZCwgLi4ue3N0cnVjdCBmbG9j ayAqbG9ja30pOyAgLyogbm9pZ25vcmVfcGF0aD0xICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAgICAjIGp1c3Qgc28gd2Uga25vdyB0aGUgaW51bXMgb2Ygc3ltbGlua3MKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IEBAIC0yMSwxOCArMTUsMTQgQEAgaW50IG9wZW42NChjb25zdCBjaGFyICpw YXRoLCBpbnQgZmxhZ3MsIC4uLnttb2RlX3QgbW9kZX0pOyAvKiBmbGFncz1mbGFncyZhbXA7T19O T0ZPCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBpbnQgb3BlbmF0NjQoaW50IGRpcmZkLCBj b25zdCBjaGFyICpwYXRoLCBpbnQgZmxhZ3MsIC4uLnttb2RlX3QgbW9kZX0pOyAvKiBmbGFncz1m bGFncyZhbXA7T19OT0ZPTExPVywgbm9pZ25vcmVfcGF0aD0xICovCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyAgICBpbnQgX19vcGVuYXQ2NF8yKGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwg aW50IGZsYWdzKTsgLyogZmxhZ3M9ZmxhZ3MmYW1wO09fTk9GT0xMT1csIG5vaWdub3JlX3BhdGg9 MSAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgaW50IGNyZWF0NjQoY29uc3QgY2hhciAq cGF0aCwgbW9kZV90IG1vZGUpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLWludCBzdGF0KGNv bnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0ICpidWYpOyAvKiByZWFsX2Z1bmM9cHNldWRvX3N0 YXQgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgbHN0YXQoY29uc3QgY2hhciAqcGF0 aCwgc3RydWN0IHN0YXQgKmJ1Zik7IC8qIHJlYWxfZnVuYz1wc2V1ZG9fbHN0YXQsIGZsYWdzPUFU X1NZTUxJTktfTk9GT0xMT1cgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgZnN0YXQo aW50IGZkLCBzdHJ1Y3Qgc3RhdCAqYnVmKTsgLyogcmVhbF9mdW5jPXBzZXVkb19mc3RhdCAqLwom Z3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBzdGF0KGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVj dCBzdGF0ICpidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBsc3RhdChjb25zdCBj aGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmKTsgLyogZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExP VyAqLwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBmc3RhdChpbnQgZmQsIHN0cnVjdCBz dGF0ICpidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgaW50IGZzdGF0YXQoaW50IGRp cmZkLCBjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdCAqYnVmLCBpbnQgZmxhZ3MpOwomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgLWludCBzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0 IHN0YXQ2NCAqYnVmKTsgLyogcmVhbF9mdW5jPXBzZXVkb19zdGF0NjQgKi8KJmd0OyAmZ3Q7ICZn dDsgJmd0OyAmZ3Q7IC1pbnQgbHN0YXQ2NChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0 ICpidWYpOyAvKiByZWFsX2Z1bmM9cHNldWRvX2xzdGF0NjQsIGZsYWdzPUFUX1NZTUxJTktfTk9G T0xMT1cgKi8KJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgZnN0YXQ2NChpbnQgZmQsIHN0 cnVjdCBzdGF0NjQgKmJ1Zik7IC8qIHJlYWxfZnVuYz1wc2V1ZG9fZnN0YXQ2NCAqLwomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgK2ludCBzdGF0NjQoY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0 YXQ2NCAqYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICtpbnQgbHN0YXQ2NChjb25zdCBj aGFyICpwYXRoLCBzdHJ1Y3Qgc3RhdDY0ICpidWYpOyAvKiBmbGFncz1BVF9TWU1MSU5LX05PRk9M TE9XICovCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAraW50IGZzdGF0NjQoaW50IGZkLCBzdHJ1 Y3Qgc3RhdDY0ICpidWYpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgaW50IGZzdGF0YXQ2 NChpbnQgZGlyZmQsIGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0NjQgKmJ1ZiwgaW50IGZs YWdzKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgX194c3RhdDY0KGludCB2ZXIsIGNv bnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBzdGF0NjQgKmJ1Zik7CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyAtaW50IF9fbHhzdGF0NjQoaW50IHZlciwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0 YXQ2NCAqYnVmKTsgLyogZmxhZ3M9QVRfU1lNTElOS19OT0ZPTExPVyAqLwomZ3Q7ICZndDsgJmd0 OyAmZ3Q7ICZndDsgLWludCBfX2Z4c3RhdDY0KGludCB2ZXIsIGludCBmZCwgc3RydWN0IHN0YXQ2 NCAqYnVmKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC1pbnQgX19meHN0YXRhdDY0KGludCB2 ZXIsIGludCBkaXJmZCwgY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IHN0YXQ2NCAqYnVmLCBpbnQg ZmxhZ3MpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgRklMRSAqZm9wZW42NChjb25zdCBj aGFyICpwYXRoLCBjb25zdCBjaGFyICptb2RlKTsgLyogbm9pZ25vcmVfcGF0aD0xICovCiZndDsg Jmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBpbnQgbmZ0dzY0KGNvbnN0IGNoYXIgKnBhdGgsIGludCAo KmZuKShjb25zdCBjaGFyICosIGNvbnN0IHN0cnVjdCBzdGF0NjQgKiwgaW50LCBzdHJ1Y3QgRlRX ICopLCBpbnQgbm9wZW5mZCwgaW50IGZsYWcpOyAvKiBub2lnbm9yZV9wYXRoPTEgKi8KJmd0OyAm Z3Q7ICZndDsgJmd0OyAmZ3Q7ICAgIEZJTEUgKmZyZW9wZW42NChjb25zdCBjaGFyICpwYXRoLCBj b25zdCBjaGFyICptb2RlLCBGSUxFICpzdHJlYW0pOyAgLyogbm9pZ25vcmVfcGF0aD0xICovCiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBkaWZmIC0tZ2l0IGEvcHNldWRvX2NsaWVudC5oIGIvcHNl dWRvX2NsaWVudC5oCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyBpbmRleCBkNzk0NGNlLi44ZDA1 ZTRmIDEwMDY0NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLS0tIGEvcHNldWRvX2NsaWVudC5o CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArKysgYi9wc2V1ZG9fY2xpZW50LmgKJmd0OyAmZ3Q7 ICZndDsgJmd0OyAmZ3Q7IEBAIC0xMiwxNSArMTIsNDEgQEAgZXh0ZXJuIGludCBwc2V1ZG9fY2xp ZW50X2lnbm9yZV9mZChpbnQgZmQpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgZXh0ZXJu IHZvaWQgcHNldWRvX2NsaWVudF9saW5rZWRfcGF0aHMoY29uc3QgY2hhciAqb2xkcGF0aCwgY29u c3QgY2hhciAqbmV3cGF0aCk7CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAjaWYgUFNFVURP X1NUQVRCVUZfNjQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICAgICNkZWZpbmUgYmFzZV9sc3Rh dCByZWFsX2xzdGF0NjQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0jZGVmaW5lIGJhc2VfZnN0 YXQgcmVhbF9mc3RhdDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtI2RlZmluZSBiYXNlX3N0 YXQgcmVhbF9zdGF0NjQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0jZGVmaW5lIGJhc2VfZnN0 YXRhdChkaXJmZCwgcGF0aCwgYnVmLCBmbGFncykgcmVhbF9fX2Z4c3RhdGF0NjQoX1NUQVRfVkVS LCBkaXJmZCwgcGF0aCwgYnVmLCBmbGFncykKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjaWZu ZGVmIGJhc2VfZnN0YXQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgI2RlZmluZSBiYXNlX2Zz dGF0IHJlYWxfZnN0YXQ2NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbmRpZgomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgKyNpZm5kZWYgYmFzZV9zdGF0CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArICNkZWZpbmUgYmFzZV9zdGF0IHJlYWxfc3RhdDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2lmbmRlZiBiYXNlX2ZzdGF0 YXQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgI2RlZmluZSBiYXNlX2ZzdGF0YXQgcmVhbF9m c3RhdGF0NjQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsjZW5kaWYKJmd0OyAmZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICAgICNlbHNlCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICAjZGVmaW5lIGJh c2VfbHN0YXQgcmVhbF9sc3RhdAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgLSNkZWZpbmUgYmFz ZV9mc3RhdCByZWFsX2ZzdGF0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtI2RlZmluZSBiYXNl X3N0YXQgcmVhbF9zdGF0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAtI2RlZmluZSBiYXNlX2Zz dGF0YXQoZGlyZmQsIHBhdGgsIGJ1ZiwgZmxhZ3MpIHJlYWxfX19meHN0YXRhdChfU1RBVF9WRVIs IGRpcmZkLCBwYXRoLCBidWYsIGZsYWdzKQomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNpZm5k ZWYgYmFzZV9mc3RhdAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAjZGVmaW5lIGJhc2VfZnN0 YXQgcmVhbF9mc3RhdAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbmRpZgomZ3Q7ICZndDsg Jmd0OyAmZ3Q7ICZndDsgKyNpZm5kZWYgYmFzZV9zdGF0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArICNkZWZpbmUgYmFzZV9zdGF0IHJlYWxfc3RhdAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsg KyNlbmRpZgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNpZm5kZWYgYmFzZV9mc3RhdGF0CiZn dDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArICNkZWZpbmUgYmFzZV9mc3RhdGF0IHJlYWxfZnN0YXRh dAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyNlbmRpZgomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZn dDsgICAgI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZn dDsgJmd0OyArI2lmbmRlZiBiYXNlX2xzdGF0NjQKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsg I2RlZmluZSBiYXNlX2xzdGF0NjQgcmVhbF9sc3RhdDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyArI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2lmbmRlZiBiYXNlX2ZzdGF0NjQK Jmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7ICsgI2RlZmluZSBiYXNlX2ZzdGF0NjQgcmVhbF9mc3Rh dDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArI2lmbmRlZiBiYXNlX3N0YXQ2NAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAjZGVm aW5lIGJhc2Vfc3RhdDY0IHJlYWxfc3RhdDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2Vu ZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2lmbmRlZiBiYXNlX2ZzdGF0YXQ2NAomZ3Q7 ICZndDsgJmd0OyAmZ3Q7ICZndDsgKyAjZGVmaW5lIGJhc2VfZnN0YXRhdDY0IHJlYWxfZnN0YXRh dDY0CiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyArI2VuZGlmCiZndDsgJmd0OyAmZ3Q7ICZndDsg Jmd0OyArCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAgICBleHRlcm4gdm9pZCBwc2V1ZG9fYW50 aW1hZ2ljKHZvaWQpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgZXh0ZXJuIHZvaWQgcHNl dWRvX21hZ2ljKHZvaWQpOwomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgICAgZXh0ZXJuIHZvaWQg cHNldWRvX2NsaWVudF90b3VjaHVpZCh2b2lkKTsKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IC0t IAomZ3Q7ICZndDsgJmd0OyAmZ3Q7ICZndDsgMi4xNy4xCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0 OyAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAmZ3Q7IAomZ3Q7ICZn dDsgJmd0OyAmZ3Q7ICZndDsgCiZndDsgJmd0OyAmZ3Q7ICZndDsgJmd0OyAKJmd0OyAmZ3Q7ICZn dDsgJmd0OyAKJmd0OyAmZ3Q7ICZndDsgJmd0OyAKJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgCiZndDsg Jmd0OyAKJmd0OyAmZ3Q7IAomZ3Q7ICZndDsgCiZndDsgJmd0OyAKCiZndDsgCiZndDsgCiZndDsg CiZndDsgCgoKLS0gCkFsZXhhbmRyZSBCZWxsb25pLCBjby1vd25lciBhbmQgQ09PLCBCb290bGlu CkVtYmVkZGVkIExpbnV4IGFuZCBLZXJuZWwgZW5naW5lZXJpbmcKaHR0cHM6Ly9ib290bGluLmNv bQo8L3ByZT4KCTxkaXY+CjxwcmUgc3R5bGU9Im92ZXJmbG93LXdyYXA6YnJlYWstd29yZDsiIHdy YXA9InNvZnQiPi09LT0tPS09LT0tPS09LT0tPS09LT0tCkxpbmtzOiBZb3UgcmVjZWl2ZSBhbGwg bWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgpWaWV3L1JlcGx5IE9ubGluZSAoIzE4MjYxMyk6 IGh0dHBzOi8vbGlzdHMub3BlbmVtYmVkZGVkLm9yZy9nL29wZW5lbWJlZGRlZC1jb3JlL21lc3Nh Z2UvMTgyNjEzCk11dGUgVGhpcyBUb3BpYzogaHR0cHM6Ly9saXN0cy5vcGVuZW1iZWRkZWQub3Jn L210Lzk5MjM0OTE4Lzc0NDk0NjcKR3JvdXAgT3duZXI6IG9wZW5lbWJlZGRlZC1jb3JlK293bmVy QGxpc3RzLm9wZW5lbWJlZGRlZC5vcmcKVW5zdWJzY3JpYmU6IGh0dHBzOi8vbGlzdHMub3BlbmVt YmVkZGVkLm9yZy9nL29wZW5lbWJlZGRlZC1jb3JlL3Vuc3ViIFt6YW5ncnVvY2hlbkBsb29uZ3Nv bi5jbl0KLT0tPS09LT0tPS09LT0tPS09LT0tPS0gPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5Oifl rovkvZMsIGFyaWFsLCBWZXJkYW5hLCBzYW5zLXNlcmlmJzsiPjxzcGFuIHN0eWxlPSJ3aGl0ZS1z cGFjZTpub3dyYXA7Ij4gPC9zcGFuPjwvc3Bhbj48L3ByZT4KCTwvZGl2Pgo8L2Jsb2NrcXVvdGU+ PC9kaXY+PGJyPjxicj48aSBzdHlsZT0iZm9udC12YXJpYW50LW51bWVyaWM6IG5vcm1hbDsgZm9u dC12YXJpYW50LWVhc3QtYXNpYW46IG5vcm1hbDsgd2lkb3dzOiAxOyBmb250LWZhbWlseTog5a6L 5L2TLCBUYWhvbWE7IGZvbnQtc2l6ZTogMTRweDsgbGluZS1oZWlnaHQ6IDE2LjhweDsiPjxmb250 IGNvbG9yPSIjYzBjMGMwIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB0OyBmb250LWZhbWls eTog5a6L5L2TOyI+5pys6YKu5Lu25Y+K5YW26ZmE5Lu25ZCr5pyJ6b6Z6Iqv5Lit56eR55qE5ZWG 5Lia56eY5a+G5L+h5oGv77yM5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye6 55qE5Liq5Lq65oiW576k57uE44CC56aB5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP 5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO5YWo6YOo5oiW6YOoPC9zcGFuPjxzcGFuIHN0eWxl PSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiDlrovkvZM7Ij7liIblnLDms4TpnLLjgIHl pI3liLbmiJbmlaPlj5HvvInmnKzpgq7ku7blj4rlhbbpmYTku7bkuK3nmoTkv6Hmga/jgILlpoLm npzmgqjplJnmlLbmnKzpgq7ku7bvvIzor7fmgqjnq4vljbPnlLXor53miJbpgq7ku7bpgJrnn6Xl j5Hku7bkurrlubbliKDpmaTmnKzpgq7ku7bjgII8L3NwYW4+PHNwYW4gbGFuZz0iRU4tVVMiIHN0 eWxlPSJmb250LXNpemU6IDEwcHQ7IGZvbnQtZmFtaWx5OiBBcmlhbCwgc2Fucy1zZXJpZjsiPiZu YnNwOzxicj5UaGlzIGVtYWlsIGFuZCBpdHMgYXR0YWNobWVudHMgY29udGFpbiBjb25maWRlbnRp YWwgaW5mb3JtYXRpb24gZnJvbSBMb29uZ3NvbiBUZWNobm9sb2d5ICwgd2hpY2ggaXMgaW50ZW5k ZWQgb25seSBmb3IgdGhlIHBlcnNvbiBvciBlbnRpdHkgd2hvc2UgYWRkcmVzcyBpcyBsaXN0ZWQg YWJvdmUuIEFueSB1c2Ugb2YgdGhlIGluZm9ybWF0aW9uIGNvbnRhaW5lZCBoZXJlaW4gaW4gYW55 IHdheSAoaW5jbHVkaW5nLCBidXQgbm90IGxpbWl0ZWQgdG8sIHRvdGFsIG9yIHBhcnRpYWwgZGlz Y2xvc3VyZSwgcmVwcm9kdWN0aW9uIG9yIGRpc3NlbWluYXRpb24pIGJ5IHBlcnNvbnMgb3RoZXIg dGhhbiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpIGlzIHByb2hpYml0ZWQuIElmIHlvdSByZWNl aXZlIHRoaXMgZW1haWwgaW4gZXJyb3IsIHBsZWFzZSBub3RpZnkgdGhlIHNlbmRlciBieSBwaG9u ZSBvciBlbWFpbCBpbW1lZGlhdGVseSBhbmQgZGVsZXRlIGl0LiZuYnNwOzwvc3Bhbj48L2ZvbnQ+ PC9pPg== ------=_Part_282043_678903190.1693981823832--