From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mgny12.bloomberg.net (mgny12.bloomberg.net [69.191.192.83]) by sourceware.org (Postfix) with ESMTPS id 8939D3858D20; Fri, 17 May 2024 16:59:54 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8939D3858D20 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=bloomberg.net Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=bloomberg.net ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8939D3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=69.191.192.83 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715965196; cv=none; b=XzPF/RZ2iMuiA/+DBnVPqsaUSe+ov6evDUrDOL9hsvvn1ZMc2AgLo/vcoBZg040mAROQ7beb26+7kmrsG1BcheIRmWOsKB6KCblr0ZpzqMPYndF16o/CLaKIuux/Rtw5ZJgge1nYbDzb6pBcMZjVwdFbyq0JSg4ebXnvvK+GBzM= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1715965196; c=relaxed/simple; bh=oCg3G2qIwQNK6BP3TkvDjIhwQ2mdBsNr7KiScP7DIUs=; h=DKIM-Signature:Date:From:To:MIME-Version:Message-ID:Subject; b=BrpqIpN+YOAN3oR8g+Cshw+ukun5FvnlPbv7gtUfe36b3ahegO7w/A4xSrdlki9/FyKnKBElotqSJdLpVfQKZRv7napTXFe6S39Mkkguh5BPrbqrJkNHTvt6vPzi2xGBS4sFdGBs8aZqusFeiymC9qx4E4JFe7hxE7K89XZbkqQ= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bloomberg.net; l=44657; q=dns/txt; s=20220517; t=1715965194; x=1716051594; h=date:from:reply-to:to:mime-version:in-reply-to: message-id:subject; bh=Curk92CmAy9KLu5aM4T+fx0o3pG5Vh4TJcqzeEi1DkM=; b=ab7EKNCfgZ3KX9H9Z0CpVIj/sGjQjAhWGhSl7onbYI2spI7EhuPWIVcu 95ZWn4/HwunS3iJTV7kQtwLAMFLeR80pihyB6MqIt/IAqOQF+d2+xdLlE wpAuBaZZ02dv1mftTD8qos+VbsnIF+ISe8d2X+YZ5vHWq3Z4lI+MJ0p16 AadIB5OuVIfRGsv8RwuH5p+Kb6HUOcC4k0EnL76uvOq7Q5BKmXE/dMmpL G/WSXnfnxV7I1NW3nAY4qr46mZ8k4pb8pRNfz5whst1MfQUFzAypn0dp1 R1UkQVnFHyNlToPxLNFHm8vD0JkEvwFYFMseSD8hYTyMPIiUgVo0zYWs7 g==; X-BB-Reception-Complete: 17 May 2024 12:59:53 -0400 X-IP-Listener: Outgoing Mail X-IP-MID: 1764020755 Received: from omsg-tt-141.bloomberg.com (HELO omsg-tt-141) ([10.64.195.17]) by mgny12.bloomberg.net with SMTP; 17 May 2024 12:59:53 -0400 X-BLP-INETSVC: version=BLP_APP_S_INETSVC_1.0.1; host=mgny12.bloomberg.net:25; conid=804 Date: Fri, 17 May 2024 16:59:53 -0000 From: "Michael Levine (BLOOMBERG/ 731 LEX)" Reply-To: "Michael Levine" To: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org MIME-Version: 1.0 In-Reply-To: <662013D8000158270C340001@message.bloomberg.net> Message-ID: <66478D090002827C08CE0001@message.bloomberg.net> X-BLP-GUID: 66478D090002827C08CE00010000 Subject: =?UTF-8?B?W1BBVENIIHYyXSBsaWJzdGRjKys6IEZpeCBzdGQ6OnJhbmdlczo6aW90YSBub3QgaW5jbA==?= =?UTF-8?B?dWRlZCBpbiBudW1lcmljIFtQUjEwODc2MF0=?= Content-Type: multipart/mixed; boundary="BOUNDARY_66478D090002827C08CE0001_0_2832138_omsg-tt-141" X-Spam-Status: No, score=-5.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,HTML_MESSAGE,KAM_SHORT,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: > THIS IS A MESSAGE IN 'MIME' FORMAT. Your mail reader does not support MIME. > Some parts of this will be readable as plain text. > To see the rest, you will need to upgrade your mail reader. --BOUNDARY_66478D090002827C08CE0001_0_2832138_omsg-tt-141 Content-Type: multipart/alternative; boundary="BOUNDARY_66478D090002827C08CE0001_0_2832137_omsg-tt-141" Content-ID: --BOUNDARY_66478D090002827C08CE0001_0_2832137_omsg-tt-141 Content-Type: text/plain; charset=UTF-8 Content-Disposition: inline Content-Transfer-Encoding: base64 VGhpcyBpcyB0aGUgcmV2aXNlZCB2ZXJzaW9uIG9mIG15IHBhdGNoIGluY29y cG9yYXRpbmcgdGhlIHByb3ZpZGVkIGZlZWRiYWNrIGZyb20gUGF0cmljayBQ YWxrYSBhbmQgSm9uYXRoYW4gV2FrZWx5LgoKVGhpcyBwYXRjaCBmaXhlcyBH Q0MgQnVnIDEwODc2MDogaHR0cHM6Ly9nY2MuZ251Lm9yZy9idWd6aWxsYS9z aG93X2J1Zy5jZ2k/aWQ9MTA4NzYwCgpJIG1vdmVkIG91dF92YWx1ZV9yZXN1 bHQgdG8gPGJpdHMvcmFuZ2VzX2FsZ29iYXNlLmg+LCBtb3ZlZCBzdGQ6OnJh bmdlczppb3RhIGludG8gPG51bWVyaWM+LCByZW1vdmVkIG15IG5ldyB0ZXN0 LCBhbmQgbW92ZWQgYW5kIHJlbmFtZWQgdGhlIGV4aXN0aW5nIHRlc3QuCgpJ IGJ1aWx0IG15IGxvY2FsIHZlcnNpb24gb2YgZ2NjIHVzaW5nIHRoZSBmb2xs b3dpbmcgY29uZmlndXJhdGlvbjogICQgLi4vZ2NjL2NvbmZpZ3VyZSAtLWRp c2FibGUtYm9vdHN0cmFwIC0tcHJlZml4PSIkKHB3ZCkvX3BmeC8iIC0tZW5h YmxlLWxhbmd1YWdlcz1jLGMrKyxsdG8KSSB0aGVuIHJhbiAkIG1ha2UgLWpO IAphbmQgJCBtYWtlIC1qTiBpbnN0YWxsCgpVc2luZyB0aGUgbG9jYWxseSBp bnN0YWxsZWQgdmVyc2lvbiwgdGhlIGZvbGxvd2luZyBjb2RlIGNvbXBpbGVk OiAgaHR0cHM6Ly9nb2Rib2x0Lm9yZy96LzMzRVBlcWQxYgoKSSB0ZXN0ZWQg bXkgY2hhbmdlcyBieSBydW5uaW5nOiAgJCBtYWtlIGNoZWNrLWMrKyAtak4g LWsKSSBwZXJzb25hbGx5IGZvdW5kIGl0IGRpZmZpY3VsdCB0byB1bmRlcnN0 YW5kIHRoZSByZXN1bHRzIG9mIHJ1bm5pbmcgdGhlIHRlc3RzLgoKSSByYW4g dGhpcyBvbiB0aGUgZm9sbG93aW5nIE9TOgoKVmlydHVhbGl6YXRpb246IHdz bApPcGVyYXRpbmcgU3lzdGVtOiBVYnVudHUgMjAuMDQuNiBMVFMKS2VybmVs OiBMaW51eCA1LjE1LjE0Ni4xLW1pY3Jvc29mdC1zdGFuZGFyZC1XU0wyCkFy Y2hpdGVjdHVyZTogeDg2LTY0CgoKRnJvbTogTWljaGFlbCBMZXZpbmUgKEJM T09NQkVSRy8gNzMxIExFWCkgQXQ6IDA0LzE3LzI0IDE0OjI0OjI0IFVUQy00 OjAwVG86ICBsaWJzdGRjKytAZ2NjLmdudS5vcmcsICBnY2MtcGF0Y2hlc0Bn Y2MuZ251Lm9yZwpTdWJqZWN0OiBbUEFUQ0hdIGxpYnN0ZGMrKzogRml4IHN0 ZDo6cmFuZ2VzOjppb3RhIGlzIG5vdCBpbmNsdWRlZCBpbiBudW1lcmljIFtQ UjEwODc2MF0KVGhpcyBwYXRjaCBmaXhlcyBHQ0MgQnVnIDEwODc2MDogIGh0 dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEw ODc2MAoKQmVmb3JlIHRoaXMgcGF0Y2gsIHVzaW5nIHN0ZDo6cmFuZ2VzOjpp b3RhIHJlcXVpcmVkIGluY2x1ZGluZyA8YWxnb3JpdGhtPiB3aGVuIGl0IHNo b3VsZCBoYXZlIGJlZW4gc3VmZmljaWVudCB0byBvbmx5IGluY2x1ZGUgPG51 bWVyaWM+LgoKV2hlbiB0aGUgcGF0Y2ggaXMgYXBwbGllZCwgdGhlIGZvbGxv d2luZyBjb2RlIHdpbGwgY29tcGlsZTogIGh0dHBzOi8vZ29kYm9sdC5vcmcv ei8zM0VQZXFkMWIKCkkgYWRkZWQgYSB0ZXN0IGNhc2UgZm9yIHRoaXMgY2hh bmdlIGFzIHdlbGwuCgpJIGJ1aWx0IG15IGxvY2FsIHZlcnNpb24gb2YgZ2Nj IHVzaW5nIHRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbjogICQgLi4vZ2Nj L2NvbmZpZ3VyZSAtLWRpc2FibGUtYm9vdHN0cmFwIC0tcHJlZml4PSIkKHB3 ZCkvX3BmeC8iIC0tZW5hYmxlLWxhbmd1YWdlcz1jLGMrKyxsdG8KCmFuZCBJ IHRlc3RlZCBteSBjaGFuZ2VzIGJ5IHJ1bm5pbmc6ICAkIG1ha2UgY2hlY2st YysrIC1qTiAtawoKSSByYW4gdGhpcyBvbiB0aGUgZm9sbG93aW5nIE9TOgoK VmlydHVhbGl6YXRpb246IHdzbApPcGVyYXRpbmcgU3lzdGVtOiBVYnVudHUg MjAuMDQuNiBMVFMKS2VybmVsOiBMaW51eCA1LjE1LjE0Ni4xLW1pY3Jvc29m dC1zdGFuZGFyZC1XU0wyCkFyY2hpdGVjdHVyZTogeDg2LTY0CgoK --BOUNDARY_66478D090002827C08CE0001_0_2832137_omsg-tt-141-- --BOUNDARY_66478D090002827C08CE0001_0_2832138_omsg-tt-141 Content-Type: application/octet-stream; name="108760v2.patch" Content-Disposition: attachment; filename="108760v2.patch"; size=25249 Content-Transfer-Encoding: base64 RnJvbSBiZDA0MDcwYzI4MTU3MmVkN2EzYjQ4ZTNkMzM1NDNlMjViOGM4YWZl IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIExldmlu ZSA8bWxldmluZTU1QGJsb29tYmVyZy5uZXQ+CkRhdGU6IEZyaSwgMjMgRmVi IDIwMjQgMTQ6MTM6MTMgLTA1MDAKU3ViamVjdDogW1BBVENIIDAxLzExXSBG aXggdGhlIGJ1ZwoKU2lnbmVkLW9mZi1ieTogTWljaGFlbCBMZXZpbmUgPG1s ZXZpbmU1NUBibG9vbWJlcmcubmV0PgotLS0KIGxpYnN0ZGMrKy12My9pbmNs dWRlL2JpdHMvcmFuZ2VzX2FsZ28uaCB8IDUyIC0tLS0tLS0tLS0tLS0tLS0t LS0tLS0KIGxpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3RsX251bWVyaWMu aCB8IDU3ICsrKysrKysrKysrKysrKysrKysrKysrKy0KIDIgZmlsZXMgY2hh bmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgNTMgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9yYW5nZXNfYWxn by5oIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9yYW5nZXNfYWxnby5o CmluZGV4IDYyZmFmZjE3M2JkLi5kMjU4YmUwYjkzZiAxMDA2NDQKLS0tIGEv bGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9yYW5nZXNfYWxnby5oCisrKyBi L2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvcmFuZ2VzX2FsZ28uaApAQCAt MzUyMSw1OCArMzUyMSw2IEBAIG5hbWVzcGFjZSByYW5nZXMKIAogI2VuZGlm IC8vIF9fZ2xpYmN4eF9yYW5nZXNfY29udGFpbnMKIAotI2lmIF9fZ2xpYmN4 eF9yYW5nZXNfaW90YSA+PSAyMDIyMDJMIC8vIEMrKyA+PSAyMwotCi0gIHRl bXBsYXRlPHR5cGVuYW1lIF9PdXQsIHR5cGVuYW1lIF9UcD4KLSAgICBzdHJ1 Y3Qgb3V0X3ZhbHVlX3Jlc3VsdAotICAgIHsKLSAgICAgIFtbbm9fdW5pcXVl X2FkZHJlc3NdXSBfT3V0IG91dDsKLSAgICAgIFtbbm9fdW5pcXVlX2FkZHJl c3NdXSBfVHAgdmFsdWU7Ci0KLSAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9P dXQyLCB0eXBlbmFtZSBfVHAyPgotCXJlcXVpcmVzIGNvbnZlcnRpYmxlX3Rv PGNvbnN0IF9PdXQmLCBfT3V0Mj4KLQkgICYmIGNvbnZlcnRpYmxlX3RvPGNv bnN0IF9UcCYsIF9UcDI+Ci0JY29uc3RleHByCi0Jb3BlcmF0b3Igb3V0X3Zh bHVlX3Jlc3VsdDxfT3V0MiwgX1RwMj4oKSBjb25zdCAmCi0JeyByZXR1cm4g e291dCwgdmFsdWV9OyB9Ci0KLSAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9P dXQyLCB0eXBlbmFtZSBfVHAyPgotCXJlcXVpcmVzIGNvbnZlcnRpYmxlX3Rv PF9PdXQsIF9PdXQyPgotCSAgJiYgY29udmVydGlibGVfdG88X1RwLCBfVHAy PgotCWNvbnN0ZXhwcgotCW9wZXJhdG9yIG91dF92YWx1ZV9yZXN1bHQ8X091 dDIsIF9UcDI+KCkgJiYKLQl7IHJldHVybiB7c3RkOjptb3ZlKG91dCksIHN0 ZDo6bW92ZSh2YWx1ZSl9OyB9Ci0gICAgfTsKLQotICB0ZW1wbGF0ZTx0eXBl bmFtZSBfT3V0LCB0eXBlbmFtZSBfVHA+Ci0gICAgdXNpbmcgaW90YV9yZXN1 bHQgPSBvdXRfdmFsdWVfcmVzdWx0PF9PdXQsIF9UcD47Ci0KLSAgc3RydWN0 IF9faW90YV9mbgotICB7Ci0gICAgdGVtcGxhdGU8aW5wdXRfb3Jfb3V0cHV0 X2l0ZXJhdG9yIF9PdXQsIHNlbnRpbmVsX2ZvcjxfT3V0PiBfU2VudCwgd2Vh a2x5X2luY3JlbWVudGFibGUgX1RwPgotICAgICAgcmVxdWlyZXMgaW5kaXJl Y3RseV93cml0YWJsZTxfT3V0LCBjb25zdCBfVHAmPgotICAgICAgY29uc3Rl eHByIGlvdGFfcmVzdWx0PF9PdXQsIF9UcD4KLSAgICAgIG9wZXJhdG9yKCko X091dCBfX2ZpcnN0LCBfU2VudCBfX2xhc3QsIF9UcCBfX3ZhbHVlKSBjb25z dAotICAgICAgewotCXdoaWxlIChfX2ZpcnN0ICE9IF9fbGFzdCkKLQkgIHsK LQkgICAgKl9fZmlyc3QgPSBzdGF0aWNfY2FzdDxjb25zdCBfVHAmPihfX3Zh bHVlKTsKLQkgICAgKytfX2ZpcnN0OwotCSAgICArK19fdmFsdWU7Ci0JICB9 Ci0JcmV0dXJuIHtzdGQ6Om1vdmUoX19maXJzdCksIHN0ZDo6bW92ZShfX3Zh bHVlKX07Ci0gICAgICB9Ci0KLSAgICB0ZW1wbGF0ZTx3ZWFrbHlfaW5jcmVt ZW50YWJsZSBfVHAsIG91dHB1dF9yYW5nZTxjb25zdCBfVHAmPiBfUmFuZ2U+ Ci0gICAgICBjb25zdGV4cHIgaW90YV9yZXN1bHQ8Ym9ycm93ZWRfaXRlcmF0 b3JfdDxfUmFuZ2U+LCBfVHA+Ci0gICAgICBvcGVyYXRvcigpKF9SYW5nZSYm IF9fciwgX1RwIF9fdmFsdWUpIGNvbnN0Ci0gICAgICB7IHJldHVybiAoKnRo aXMpKHJhbmdlczo6YmVnaW4oX19yKSwgcmFuZ2VzOjplbmQoX19yKSwgc3Rk Ojptb3ZlKF9fdmFsdWUpKTsgfQotICB9OwotCi0gIGlubGluZSBjb25zdGV4 cHIgX19pb3RhX2ZuIGlvdGF7fTsKLQotI2VuZGlmIC8vIF9fZ2xpYmN4eF9y YW5nZXNfaW90YQotCiAjaWYgX19nbGliY3h4X3Jhbmdlc19maW5kX2xhc3Qg Pj0gMjAyMjA3TCAvLyBDKysgPj0gMjMKIAogICBzdHJ1Y3QgX19maW5kX2xh c3RfZm4KZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMv c3RsX251bWVyaWMuaCBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3Rs X251bWVyaWMuaAppbmRleCBmZTkxMTE1NGFiNy4uMWIwNmMyNmRjMDIgMTAw NjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3RsX251bWVy aWMuaAorKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3N0bF9udW1l cmljLmgKQEAgLTU5LDcgKzU5LDcgQEAKICNpbmNsdWRlIDxiaXRzL2NvbmNl cHRfY2hlY2suaD4KICNpbmNsdWRlIDxkZWJ1Zy9kZWJ1Zy5oPgogI2luY2x1 ZGUgPGJpdHMvbW92ZS5oPiAvLyBGb3IgX0dMSUJDWFhfTU9WRQotCisjaW5j bHVkZSA8Yml0cy9yYW5nZXNfYmFzZS5oPiAvLyBGb3IgX1JhbmdlIGFzIHVz ZWQgYnkgc3RkOjpyYW5nZXM6OmlvdGEKIAogbmFtZXNwYWNlIHN0ZCBfR0xJ QkNYWF9WSVNJQklMSVRZKGRlZmF1bHQpCiB7CkBAIC0xMDIsNiArMTAyLDYx IEBAIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCiAgICAgfQog I2VuZGlmCiAKK25hbWVzcGFjZSByYW5nZXMKK3sKKyNpZiBfX2dsaWJjeHhf cmFuZ2VzX2lvdGEgPj0gMjAyMjAyTCAvLyBDKysgPj0gMjMKKworICB0ZW1w bGF0ZTx0eXBlbmFtZSBfT3V0LCB0eXBlbmFtZSBfVHA+CisgICAgc3RydWN0 IG91dF92YWx1ZV9yZXN1bHQKKyAgICB7CisgICAgICBbW25vX3VuaXF1ZV9h ZGRyZXNzXV0gX091dCBvdXQ7CisgICAgICBbW25vX3VuaXF1ZV9hZGRyZXNz XV0gX1RwIHZhbHVlOworCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBfT3V0 MiwgdHlwZW5hbWUgX1RwMj4KKwlyZXF1aXJlcyBjb252ZXJ0aWJsZV90bzxj b25zdCBfT3V0JiwgX091dDI+CisJICAmJiBjb252ZXJ0aWJsZV90bzxjb25z dCBfVHAmLCBfVHAyPgorCWNvbnN0ZXhwcgorCW9wZXJhdG9yIG91dF92YWx1 ZV9yZXN1bHQ8X091dDIsIF9UcDI+KCkgY29uc3QgJgorCXsgcmV0dXJuIHtv dXQsIHZhbHVlfTsgfQorCisgICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBfT3V0 MiwgdHlwZW5hbWUgX1RwMj4KKwlyZXF1aXJlcyBjb252ZXJ0aWJsZV90bzxf T3V0LCBfT3V0Mj4KKwkgICYmIGNvbnZlcnRpYmxlX3RvPF9UcCwgX1RwMj4K Kwljb25zdGV4cHIKKwlvcGVyYXRvciBvdXRfdmFsdWVfcmVzdWx0PF9PdXQy LCBfVHAyPigpICYmCisJeyByZXR1cm4ge3N0ZDo6bW92ZShvdXQpLCBzdGQ6 Om1vdmUodmFsdWUpfTsgfQorICAgIH07CisKKyAgdGVtcGxhdGU8dHlwZW5h bWUgX091dCwgdHlwZW5hbWUgX1RwPgorICAgIHVzaW5nIGlvdGFfcmVzdWx0 ID0gb3V0X3ZhbHVlX3Jlc3VsdDxfT3V0LCBfVHA+OworCisgIHN0cnVjdCBf X2lvdGFfZm4KKyAgeworICAgIHRlbXBsYXRlPGlucHV0X29yX291dHB1dF9p dGVyYXRvciBfT3V0LCBzZW50aW5lbF9mb3I8X091dD4gX1NlbnQsIHdlYWts eV9pbmNyZW1lbnRhYmxlIF9UcD4KKyAgICAgIHJlcXVpcmVzIGluZGlyZWN0 bHlfd3JpdGFibGU8X091dCwgY29uc3QgX1RwJj4KKyAgICAgIGNvbnN0ZXhw ciBpb3RhX3Jlc3VsdDxfT3V0LCBfVHA+CisgICAgICBvcGVyYXRvcigpKF9P dXQgX19maXJzdCwgX1NlbnQgX19sYXN0LCBfVHAgX192YWx1ZSkgY29uc3QK KyAgICAgIHsKKwl3aGlsZSAoX19maXJzdCAhPSBfX2xhc3QpCisJICB7CisJ ICAgICpfX2ZpcnN0ID0gc3RhdGljX2Nhc3Q8Y29uc3QgX1RwJj4oX192YWx1 ZSk7CisJICAgICsrX19maXJzdDsKKwkgICAgKytfX3ZhbHVlOworCSAgfQor CXJldHVybiB7c3RkOjptb3ZlKF9fZmlyc3QpLCBzdGQ6Om1vdmUoX192YWx1 ZSl9OworICAgICAgfQorCisgICAgdGVtcGxhdGU8d2Vha2x5X2luY3JlbWVu dGFibGUgX1RwLCBvdXRwdXRfcmFuZ2U8Y29uc3QgX1RwJj4gX1JhbmdlPgor ICAgICAgY29uc3RleHByIGlvdGFfcmVzdWx0PGJvcnJvd2VkX2l0ZXJhdG9y X3Q8X1JhbmdlPiwgX1RwPgorICAgICAgb3BlcmF0b3IoKShfUmFuZ2UmJiBf X3IsIF9UcCBfX3ZhbHVlKSBjb25zdAorICAgICAgeyByZXR1cm4gKCp0aGlz KShyYW5nZXM6OmJlZ2luKF9fciksIHJhbmdlczo6ZW5kKF9fciksIHN0ZDo6 bW92ZShfX3ZhbHVlKSk7IH0KKyAgfTsKKworICBpbmxpbmUgY29uc3RleHBy IF9faW90YV9mbiBpb3Rhe307CisKKyNlbmRpZiAvLyBfX2dsaWJjeHhfcmFu Z2VzX2lvdGEKK30KKwogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9O CiAKIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9BTEdPCi0tIAoyLjI1LjEK CgpGcm9tIGM1MmM4ZDc5ZmIzYzdkYzlkMjUxMmQxNjM1NzEyZmZjZDNkZWEw N2MgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTGV2 aW5lIDxtbGV2aW5lNTVAYmxvb21iZXJnLm5ldD4KRGF0ZTogVHVlLCAxNiBB cHIgMjAyNCAxNjo0NTozNyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDIvMTFd IEFkZGVkIGEgdGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUgYnVnIGhhcyBiZWVu IGZpeGVkCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVsIExldmluZSA8bWxldmlu ZTU1QGJsb29tYmVyZy5uZXQ+Ci0tLQogLi4uL3Rlc3RzdWl0ZS9zdGQvcmFu Z2VzL2lvdGEvMTA4NzYwLmNjICAgICAgIHwgNDEgKysrKysrKysrKysrKysr KysrKwogMSBmaWxlIGNoYW5nZWQsIDQxIGluc2VydGlvbnMoKykKIGNyZWF0 ZSBtb2RlIDEwMDY0NCBsaWJzdGRjKystdjMvdGVzdHN1aXRlL3N0ZC9yYW5n ZXMvaW90YS8xMDg3NjAuY2MKCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMv dGVzdHN1aXRlL3N0ZC9yYW5nZXMvaW90YS8xMDg3NjAuY2MgYi9saWJzdGRj KystdjMvdGVzdHN1aXRlL3N0ZC9yYW5nZXMvaW90YS8xMDg3NjAuY2MKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjRmNzEzODM2 ODdjCi0tLSAvZGV2L251bGwKKysrIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0 ZS9zdGQvcmFuZ2VzL2lvdGEvMTA4NzYwLmNjCkBAIC0wLDAgKzEsNDEgQEAK Ky8vIENvcHlyaWdodCAoQykgMjAyMC0yMDI0IEZyZWUgU29mdHdhcmUgRm91 bmRhdGlvbiwgSW5jLgorLy8KKy8vIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRo ZSBHTlUgSVNPIEMrKyBMaWJyYXJ5LiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUK Ky8vIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3Ig bW9kaWZ5IGl0IHVuZGVyIHRoZQorLy8gdGVybXMgb2YgdGhlIEdOVSBHZW5l cmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKy8vIEZy ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMywgb3Ig KGF0IHlvdXIgb3B0aW9uKQorLy8gYW55IGxhdGVyIHZlcnNpb24uCisKKy8v IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0 IGl0IHdpbGwgYmUgdXNlZnVsLAorLy8gYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy8v IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg UFVSUE9TRS4gIFNlZSB0aGUKKy8vIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGZvciBtb3JlIGRldGFpbHMuCisKKy8vIFlvdSBzaG91bGQgaGF2ZSBy ZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNl bnNlIGFsb25nCisvLyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl IENPUFlJTkczLiAgSWYgbm90IHNlZQorLy8gPGh0dHA6Ly93d3cuZ251Lm9y Zy9saWNlbnNlcy8+LgorCisvLyBGaXhlcyBodHRwczovL2djYy5nbnUub3Jn L2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD0xMDg3NjAKKy8vIHsgZGctZG8g cnVuIHsgdGFyZ2V0IGMrKzIzIH0gfQorCisjaW5jbHVkZSA8bnVtZXJpYz4K KyNpbmNsdWRlIDx0ZXN0c3VpdGVfaG9va3MuaD4KKworY29uc3QgaW50IEFS Ul9TSVpFID0gNDsKKwordm9pZAordGVzdDAxKCkKK3sKKyAgICBpbnQgZXhw ZWN0ZWRfYXJyW0FSUl9TSVpFXSA9IHswLCAxLCAyLCAzfTsKKyAgICBpbnQg aW5wdXRfYXJyW0FSUl9TSVpFXSA9IHswLCAwLCAwLCAwfTsKKyAgICBzdGQ6 OnJhbmdlczo6aW90YShpbnB1dF9hcnIsIDApOworICAgIGZvciAoaW50IGkg PSAwOyBpIDwgQVJSX1NJWkU7IGkrKykgeworICAgICAgICBWRVJJRlkoIGlu cHV0X2FycltpXSA9PSBleHBlY3RlZF9hcnJbaV0pOworICAgIH0KK30KKwor aW50CittYWluKCkKK3sKKyAgICB0ZXN0MDEoKTsKK30KLS0gCjIuMjUuMQoK CkZyb20gYzZhMTBkZjU1MTU2NTFmYTBiYWZjYWU2ZTFlZDYzYzJhZWFjZjY0 YyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBMZXZp bmUgPG1sZXZpbmU1NUBibG9vbWJlcmcubmV0PgpEYXRlOiBXZWQsIDggTWF5 IDIwMjQgMDk6MjQ6NTEgLTA0MDAKU3ViamVjdDogW1BBVENIIDAzLzExXSBN b3ZlZCB0aGUgcmFuZ2VzIG5hbWVzcGFjZWQgY29kZSBpbnRvIG51bWVyaWMg aXRzZWxmIGFzCiBwZXIgUFIgZmVlZGJhY2sKClNpZ25lZC1vZmYtYnk6IE1p Y2hhZWwgTGV2aW5lIDxtbGV2aW5lNTVAYmxvb21iZXJnLm5ldD4KLS0tCiBs aWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3N0bF9udW1lcmljLmggfCA1NSAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBsaWJzdGRjKystdjMvaW5jbHVk ZS9zdGQvbnVtZXJpYyAgICAgICAgfCA1NSArKysrKysrKysrKysrKysrKysr KysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDU1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNs dWRlL2JpdHMvc3RsX251bWVyaWMuaCBiL2xpYnN0ZGMrKy12My9pbmNsdWRl L2JpdHMvc3RsX251bWVyaWMuaAppbmRleCAxYjA2YzI2ZGMwMi4uODhhNGUy NGVlNjQgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMv c3RsX251bWVyaWMuaAorKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRz L3N0bF9udW1lcmljLmgKQEAgLTEwMiw2MSArMTAyLDYgQEAgX0dMSUJDWFhf QkVHSU5fTkFNRVNQQUNFX1ZFUlNJT04KICAgICB9CiAjZW5kaWYKIAotbmFt ZXNwYWNlIHJhbmdlcwotewotI2lmIF9fZ2xpYmN4eF9yYW5nZXNfaW90YSA+ PSAyMDIyMDJMIC8vIEMrKyA+PSAyMwotCi0gIHRlbXBsYXRlPHR5cGVuYW1l IF9PdXQsIHR5cGVuYW1lIF9UcD4KLSAgICBzdHJ1Y3Qgb3V0X3ZhbHVlX3Jl c3VsdAotICAgIHsKLSAgICAgIFtbbm9fdW5pcXVlX2FkZHJlc3NdXSBfT3V0 IG91dDsKLSAgICAgIFtbbm9fdW5pcXVlX2FkZHJlc3NdXSBfVHAgdmFsdWU7 Ci0KLSAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9PdXQyLCB0eXBlbmFtZSBf VHAyPgotCXJlcXVpcmVzIGNvbnZlcnRpYmxlX3RvPGNvbnN0IF9PdXQmLCBf T3V0Mj4KLQkgICYmIGNvbnZlcnRpYmxlX3RvPGNvbnN0IF9UcCYsIF9UcDI+ Ci0JY29uc3RleHByCi0Jb3BlcmF0b3Igb3V0X3ZhbHVlX3Jlc3VsdDxfT3V0 MiwgX1RwMj4oKSBjb25zdCAmCi0JeyByZXR1cm4ge291dCwgdmFsdWV9OyB9 Ci0KLSAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9PdXQyLCB0eXBlbmFtZSBf VHAyPgotCXJlcXVpcmVzIGNvbnZlcnRpYmxlX3RvPF9PdXQsIF9PdXQyPgot CSAgJiYgY29udmVydGlibGVfdG88X1RwLCBfVHAyPgotCWNvbnN0ZXhwcgot CW9wZXJhdG9yIG91dF92YWx1ZV9yZXN1bHQ8X091dDIsIF9UcDI+KCkgJiYK LQl7IHJldHVybiB7c3RkOjptb3ZlKG91dCksIHN0ZDo6bW92ZSh2YWx1ZSl9 OyB9Ci0gICAgfTsKLQotICB0ZW1wbGF0ZTx0eXBlbmFtZSBfT3V0LCB0eXBl bmFtZSBfVHA+Ci0gICAgdXNpbmcgaW90YV9yZXN1bHQgPSBvdXRfdmFsdWVf cmVzdWx0PF9PdXQsIF9UcD47Ci0KLSAgc3RydWN0IF9faW90YV9mbgotICB7 Ci0gICAgdGVtcGxhdGU8aW5wdXRfb3Jfb3V0cHV0X2l0ZXJhdG9yIF9PdXQs IHNlbnRpbmVsX2ZvcjxfT3V0PiBfU2VudCwgd2Vha2x5X2luY3JlbWVudGFi bGUgX1RwPgotICAgICAgcmVxdWlyZXMgaW5kaXJlY3RseV93cml0YWJsZTxf T3V0LCBjb25zdCBfVHAmPgotICAgICAgY29uc3RleHByIGlvdGFfcmVzdWx0 PF9PdXQsIF9UcD4KLSAgICAgIG9wZXJhdG9yKCkoX091dCBfX2ZpcnN0LCBf U2VudCBfX2xhc3QsIF9UcCBfX3ZhbHVlKSBjb25zdAotICAgICAgewotCXdo aWxlIChfX2ZpcnN0ICE9IF9fbGFzdCkKLQkgIHsKLQkgICAgKl9fZmlyc3Qg PSBzdGF0aWNfY2FzdDxjb25zdCBfVHAmPihfX3ZhbHVlKTsKLQkgICAgKytf X2ZpcnN0OwotCSAgICArK19fdmFsdWU7Ci0JICB9Ci0JcmV0dXJuIHtzdGQ6 Om1vdmUoX19maXJzdCksIHN0ZDo6bW92ZShfX3ZhbHVlKX07Ci0gICAgICB9 Ci0KLSAgICB0ZW1wbGF0ZTx3ZWFrbHlfaW5jcmVtZW50YWJsZSBfVHAsIG91 dHB1dF9yYW5nZTxjb25zdCBfVHAmPiBfUmFuZ2U+Ci0gICAgICBjb25zdGV4 cHIgaW90YV9yZXN1bHQ8Ym9ycm93ZWRfaXRlcmF0b3JfdDxfUmFuZ2U+LCBf VHA+Ci0gICAgICBvcGVyYXRvcigpKF9SYW5nZSYmIF9fciwgX1RwIF9fdmFs dWUpIGNvbnN0Ci0gICAgICB7IHJldHVybiAoKnRoaXMpKHJhbmdlczo6YmVn aW4oX19yKSwgcmFuZ2VzOjplbmQoX19yKSwgc3RkOjptb3ZlKF9fdmFsdWUp KTsgfQotICB9OwotCi0gIGlubGluZSBjb25zdGV4cHIgX19pb3RhX2ZuIGlv dGF7fTsKLQotI2VuZGlmIC8vIF9fZ2xpYmN4eF9yYW5nZXNfaW90YQotfQot CiBfR0xJQkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KIAogX0dMSUJDWFhf QkVHSU5fTkFNRVNQQUNFX0FMR08KZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12 My9pbmNsdWRlL3N0ZC9udW1lcmljIGIvbGlic3RkYysrLXYzL2luY2x1ZGUv c3RkL251bWVyaWMKaW5kZXggYzkxMmRiNGE1MTkuLjdhYzc3ZmRhMGJiIDEw MDY0NAotLS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYwor KysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYwpAQCAtNzI2 LDYgKzcyNiw2MSBAQCBuYW1lc3BhY2UgX19kZXRhaWwKICAgLy8vIEB9IGdy b3VwIG51bWVyaWNfb3BzCiAjZW5kaWYgLy8gQysrMTcKIAorbmFtZXNwYWNl IHJhbmdlcworeworI2lmIF9fZ2xpYmN4eF9yYW5nZXNfaW90YSA+PSAyMDIy MDJMIC8vIEMrKyA+PSAyMworCisgIHRlbXBsYXRlPHR5cGVuYW1lIF9PdXQs IHR5cGVuYW1lIF9UcD4KKyAgICBzdHJ1Y3Qgb3V0X3ZhbHVlX3Jlc3VsdAor ICAgIHsKKyAgICAgIFtbbm9fdW5pcXVlX2FkZHJlc3NdXSBfT3V0IG91dDsK KyAgICAgIFtbbm9fdW5pcXVlX2FkZHJlc3NdXSBfVHAgdmFsdWU7CisKKyAg ICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9PdXQyLCB0eXBlbmFtZSBfVHAyPgor CXJlcXVpcmVzIGNvbnZlcnRpYmxlX3RvPGNvbnN0IF9PdXQmLCBfT3V0Mj4K KwkgICYmIGNvbnZlcnRpYmxlX3RvPGNvbnN0IF9UcCYsIF9UcDI+CisJY29u c3RleHByCisJb3BlcmF0b3Igb3V0X3ZhbHVlX3Jlc3VsdDxfT3V0MiwgX1Rw Mj4oKSBjb25zdCAmCisJeyByZXR1cm4ge291dCwgdmFsdWV9OyB9CisKKyAg ICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9PdXQyLCB0eXBlbmFtZSBfVHAyPgor CXJlcXVpcmVzIGNvbnZlcnRpYmxlX3RvPF9PdXQsIF9PdXQyPgorCSAgJiYg Y29udmVydGlibGVfdG88X1RwLCBfVHAyPgorCWNvbnN0ZXhwcgorCW9wZXJh dG9yIG91dF92YWx1ZV9yZXN1bHQ8X091dDIsIF9UcDI+KCkgJiYKKwl7IHJl dHVybiB7c3RkOjptb3ZlKG91dCksIHN0ZDo6bW92ZSh2YWx1ZSl9OyB9Cisg ICAgfTsKKworICB0ZW1wbGF0ZTx0eXBlbmFtZSBfT3V0LCB0eXBlbmFtZSBf VHA+CisgICAgdXNpbmcgaW90YV9yZXN1bHQgPSBvdXRfdmFsdWVfcmVzdWx0 PF9PdXQsIF9UcD47CisKKyAgc3RydWN0IF9faW90YV9mbgorICB7CisgICAg dGVtcGxhdGU8aW5wdXRfb3Jfb3V0cHV0X2l0ZXJhdG9yIF9PdXQsIHNlbnRp bmVsX2ZvcjxfT3V0PiBfU2VudCwgd2Vha2x5X2luY3JlbWVudGFibGUgX1Rw PgorICAgICAgcmVxdWlyZXMgaW5kaXJlY3RseV93cml0YWJsZTxfT3V0LCBj b25zdCBfVHAmPgorICAgICAgY29uc3RleHByIGlvdGFfcmVzdWx0PF9PdXQs IF9UcD4KKyAgICAgIG9wZXJhdG9yKCkoX091dCBfX2ZpcnN0LCBfU2VudCBf X2xhc3QsIF9UcCBfX3ZhbHVlKSBjb25zdAorICAgICAgeworCXdoaWxlIChf X2ZpcnN0ICE9IF9fbGFzdCkKKwkgIHsKKwkgICAgKl9fZmlyc3QgPSBzdGF0 aWNfY2FzdDxjb25zdCBfVHAmPihfX3ZhbHVlKTsKKwkgICAgKytfX2ZpcnN0 OworCSAgICArK19fdmFsdWU7CisJICB9CisJcmV0dXJuIHtzdGQ6Om1vdmUo X19maXJzdCksIHN0ZDo6bW92ZShfX3ZhbHVlKX07CisgICAgICB9CisKKyAg ICB0ZW1wbGF0ZTx3ZWFrbHlfaW5jcmVtZW50YWJsZSBfVHAsIG91dHB1dF9y YW5nZTxjb25zdCBfVHAmPiBfUmFuZ2U+CisgICAgICBjb25zdGV4cHIgaW90 YV9yZXN1bHQ8Ym9ycm93ZWRfaXRlcmF0b3JfdDxfUmFuZ2U+LCBfVHA+Cisg ICAgICBvcGVyYXRvcigpKF9SYW5nZSYmIF9fciwgX1RwIF9fdmFsdWUpIGNv bnN0CisgICAgICB7IHJldHVybiAoKnRoaXMpKHJhbmdlczo6YmVnaW4oX19y KSwgcmFuZ2VzOjplbmQoX19yKSwgc3RkOjptb3ZlKF9fdmFsdWUpKTsgfQor ICB9OworCisgIGlubGluZSBjb25zdGV4cHIgX19pb3RhX2ZuIGlvdGF7fTsK KworI2VuZGlmIC8vIF9fZ2xpYmN4eF9yYW5nZXNfaW90YQorfQorCiBfR0xJ QkNYWF9FTkRfTkFNRVNQQUNFX1ZFUlNJT04KIH0gLy8gbmFtZXNwYWNlIHN0 ZAogCi0tIAoyLjI1LjEKCgpGcm9tIDU5ZDcyZmNhNjliOGU3NDk3NGJkZjI0 NjYxNzM0Njc1NjdlMDg4NjkgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZy b206IE1pY2hhZWwgTGV2aW5lIDxtbGV2aW5lNTVAYmxvb21iZXJnLm5ldD4K RGF0ZTogV2VkLCA4IE1heSAyMDI0IDExOjU3OjQ0IC0wNDAwClN1YmplY3Q6 IFtQQVRDSCAwNC8xMV0gTW92ZWQgbW9yZSBjb2RlIGFyb3VuZAoKU2lnbmVk LW9mZi1ieTogTWljaGFlbCBMZXZpbmUgPG1sZXZpbmU1NUBibG9vbWJlcmcu bmV0PgotLS0KIGxpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvcmFuZ2VzX2Fs Z29iYXNlLmggfCAyNiArKysrKysrKysrKysrKysrKysrKysKIGxpYnN0ZGMr Ky12My9pbmNsdWRlL2JpdHMvc3RsX251bWVyaWMuaCAgICAgfCAgMSAtCiBs aWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYyAgICAgICAgICAgIHwg IDcgKysrKystCiAzIGZpbGVzIGNoYW5nZWQsIDMyIGluc2VydGlvbnMoKyks IDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2lu Y2x1ZGUvYml0cy9yYW5nZXNfYWxnb2Jhc2UuaCBiL2xpYnN0ZGMrKy12My9p bmNsdWRlL2JpdHMvcmFuZ2VzX2FsZ29iYXNlLmgKaW5kZXggZTI2YTczYTI3 ZDYuLjNiNmRlNTRkYjc4IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvaW5j bHVkZS9iaXRzL3Jhbmdlc19hbGdvYmFzZS5oCisrKyBiL2xpYnN0ZGMrKy12 My9pbmNsdWRlL2JpdHMvcmFuZ2VzX2FsZ29iYXNlLmgKQEAgLTQzLDYgKzQz LDMyIEBACiBuYW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVm YXVsdCkKIHsKIF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCisK KyNpZiBfX2dsaWJjeHhfcmFuZ2VzX2lvdGEgPj0gMjAyMjAyTCAvLyBDKysg Pj0gMjMKKworICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9PdXQsIHR5cGVuYW1l IF9UcD4KKyAgICBzdHJ1Y3Qgb3V0X3ZhbHVlX3Jlc3VsdAoreworICAgIFtb bm9fdW5pcXVlX2FkZHJlc3NdXSBfT3V0IG91dDsKKyAgICBbW25vX3VuaXF1 ZV9hZGRyZXNzXV0gX1RwIHZhbHVlOworCisgICAgdGVtcGxhdGU8dHlwZW5h bWUgX091dDIsIHR5cGVuYW1lIF9UcDI+CisgICAgcmVxdWlyZXMgY29udmVy dGlibGVfdG88Y29uc3QgX091dCYsIF9PdXQyPgorICAgICYmIGNvbnZlcnRp YmxlX3RvPGNvbnN0IF9UcCYsIF9UcDI+CisgICAgY29uc3RleHByCisgICAg b3BlcmF0b3Igb3V0X3ZhbHVlX3Jlc3VsdDxfT3V0MiwgX1RwMj4oKSBjb25z dCAmCisgICAgeyByZXR1cm4ge291dCwgdmFsdWV9OyB9CisKKyAgICB0ZW1w bGF0ZTx0eXBlbmFtZSBfT3V0MiwgdHlwZW5hbWUgX1RwMj4KKyAgICByZXF1 aXJlcyBjb252ZXJ0aWJsZV90bzxfT3V0LCBfT3V0Mj4KKyAgICAmJiBjb252 ZXJ0aWJsZV90bzxfVHAsIF9UcDI+CisgICAgY29uc3RleHByCisgICAgb3Bl cmF0b3Igb3V0X3ZhbHVlX3Jlc3VsdDxfT3V0MiwgX1RwMj4oKSAmJgorICAg IHsgcmV0dXJuIHtzdGQ6Om1vdmUob3V0KSwgc3RkOjptb3ZlKHZhbHVlKX07 IH0KK307CisKKyNlbmRpZiAvLyBfX2dsaWJjeHhfcmFuZ2VzX2lvdGEKKwog bmFtZXNwYWNlIHJhbmdlcwogewogICBuYW1lc3BhY2UgX19kZXRhaWwKZGlm ZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3RsX251bWVy aWMuaCBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3RsX251bWVyaWMu aAppbmRleCA4OGE0ZTI0ZWU2NC4uMzAyNTE1NDI4ZDYgMTAwNjQ0Ci0tLSBh L2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvc3RsX251bWVyaWMuaAorKysg Yi9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3N0bF9udW1lcmljLmgKQEAg LTU5LDcgKzU5LDYgQEAKICNpbmNsdWRlIDxiaXRzL2NvbmNlcHRfY2hlY2su aD4KICNpbmNsdWRlIDxkZWJ1Zy9kZWJ1Zy5oPgogI2luY2x1ZGUgPGJpdHMv bW92ZS5oPiAvLyBGb3IgX0dMSUJDWFhfTU9WRQotI2luY2x1ZGUgPGJpdHMv cmFuZ2VzX2Jhc2UuaD4gLy8gRm9yIF9SYW5nZSBhcyB1c2VkIGJ5IHN0ZDo6 cmFuZ2VzOjppb3RhCiAKIG5hbWVzcGFjZSBzdGQgX0dMSUJDWFhfVklTSUJJ TElUWShkZWZhdWx0KQogewpkaWZmIC0tZ2l0IGEvbGlic3RkYysrLXYzL2lu Y2x1ZGUvc3RkL251bWVyaWMgYi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQv bnVtZXJpYwppbmRleCA3YWM3N2ZkYTBiYi4uYzk3YzJhMWJhNzAgMTAwNjQ0 Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0ZC9udW1lcmljCisrKyBi L2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0ZC9udW1lcmljCkBAIC02NSw2ICs2 NSwxMSBAQAogIyBpbmNsdWRlIDxwYXJhbGxlbC9udW1lcmljPgogI2VuZGlm CiAKKyNpZiBfX2dsaWJjeHhfcmFuZ2VzX2lvdGEgPj0gMjAyMjAyTCAvLyBD KysgPj0gMjMKKyNpbmNsdWRlIDxiaXRzL3Jhbmdlc19iYXNlLmg+IC8vIGZv ciBfUmFuZ2UgYXMgdXNlZCBieSBzdGQ6OnJhbmdlczo6aW90YQorI2luY2x1 ZGUgPGJpdHMvcmFuZ2VzX2FsZ29iYXNlLmg+IC8vIGZvciBzdGQ6Om91dF92 YWx1ZV9yZXN1bHQgYXMgdXNlZCBieSBzdGQ6OnJhbmdlczo6aW90YQorI2Vu ZGlmIC8vIF9fZ2xpYmN4eF9yYW5nZXNfaW90YQorCiAjaWYgX19jcGx1c3Bs dXMgPj0gMjAxNDAyTAogIyBpbmNsdWRlIDx0eXBlX3RyYWl0cz4KICMgaW5j bHVkZSA8Yml0PgpAQCAtNzc5LDcgKzc4NCw3IEBAIG5hbWVzcGFjZSByYW5n ZXMKICAgaW5saW5lIGNvbnN0ZXhwciBfX2lvdGFfZm4gaW90YXt9OwogCiAj ZW5kaWYgLy8gX19nbGliY3h4X3Jhbmdlc19pb3RhCi19Cit9IC8vIG5hbWVz cGFjZSByYW5nZXMKIAogX0dMSUJDWFhfRU5EX05BTUVTUEFDRV9WRVJTSU9O CiB9IC8vIG5hbWVzcGFjZSBzdGQKLS0gCjIuMjUuMQoKCkZyb20gMTM0YzM1 NDZmOTIxMjU3ODU1ZWRiYmY4YTFlNDJmM2Q2NmI1ZjY3NiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBMZXZpbmUgPG1sZXZpbmU1 NUBibG9vbWJlcmcubmV0PgpEYXRlOiBXZWQsIDggTWF5IDIwMjQgMTE6NTk6 NDIgLTA0MDAKU3ViamVjdDogW1BBVENIIDA1LzExXSBSZW1vdmVkIHRoZSBu ZXcsIHVubmVjZXNzYXJ5IHRlc3QKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwg TGV2aW5lIDxtbGV2aW5lNTVAYmxvb21iZXJnLm5ldD4KLS0tCiAuLi4vdGVz dHN1aXRlL3N0ZC9yYW5nZXMvaW90YS8xMDg3NjAuY2MgICAgICAgfCA0MSAt LS0tLS0tLS0tLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdlZCwgNDEgZGVsZXRp b25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgbGlic3RkYysrLXYzL3Rlc3Rz dWl0ZS9zdGQvcmFuZ2VzL2lvdGEvMTA4NzYwLmNjCgpkaWZmIC0tZ2l0IGEv bGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9zdGQvcmFuZ2VzL2lvdGEvMTA4NzYw LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS9zdGQvcmFuZ2VzL2lvdGEv MTA4NzYwLmNjCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Zjcx MzgzNjg3Yy4uMDAwMDAwMDAwMDAKLS0tIGEvbGlic3RkYysrLXYzL3Rlc3Rz dWl0ZS9zdGQvcmFuZ2VzL2lvdGEvMTA4NzYwLmNjCisrKyAvZGV2L251bGwK QEAgLTEsNDEgKzAsMCBAQAotLy8gQ29weXJpZ2h0IChDKSAyMDIwLTIwMjQg RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCi0vLwotLy8gVGhpcyBm aWxlIGlzIHBhcnQgb2YgdGhlIEdOVSBJU08gQysrIExpYnJhcnkuICBUaGlz IGxpYnJhcnkgaXMgZnJlZQotLy8gc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0 cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQgdW5kZXIgdGhlCi0vLyB0ZXJt cyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlz aGVkIGJ5IHRoZQotLy8gRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo ZXIgdmVyc2lvbiAzLCBvciAoYXQgeW91ciBvcHRpb24pCi0vLyBhbnkgbGF0 ZXIgdmVyc2lvbi4KLQotLy8gVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0vLyBidXQg V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGll ZCB3YXJyYW50eSBvZgotLy8gTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQotLy8gR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotLy8g WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKLS8vIHdpdGggdGhpcyBsaWJy YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORzMuICBJZiBub3Qgc2VlCi0vLyA8 aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0KLS8vIEZpeGVzIGh0 dHBzOi8vZ2NjLmdudS5vcmcvYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTEw ODc2MAotLy8geyBkZy1kbyBydW4geyB0YXJnZXQgYysrMjMgfSB9Ci0KLSNp bmNsdWRlIDxudW1lcmljPgotI2luY2x1ZGUgPHRlc3RzdWl0ZV9ob29rcy5o PgotCi1jb25zdCBpbnQgQVJSX1NJWkUgPSA0OwotCi12b2lkCi10ZXN0MDEo KQotewotICAgIGludCBleHBlY3RlZF9hcnJbQVJSX1NJWkVdID0gezAsIDEs IDIsIDN9OwotICAgIGludCBpbnB1dF9hcnJbQVJSX1NJWkVdID0gezAsIDAs IDAsIDB9OwotICAgIHN0ZDo6cmFuZ2VzOjppb3RhKGlucHV0X2FyciwgMCk7 Ci0gICAgZm9yIChpbnQgaSA9IDA7IGkgPCBBUlJfU0laRTsgaSsrKSB7Ci0g ICAgICAgIFZFUklGWSggaW5wdXRfYXJyW2ldID09IGV4cGVjdGVkX2Fycltp XSk7Ci0gICAgfQotfQotCi1pbnQKLW1haW4oKQotewotICAgIHRlc3QwMSgp OwotfQotLSAKMi4yNS4xCgoKRnJvbSA5NDcyMjJhYWQ1ZjFiNWJkNjllMjVi YzI4ZTFhOWUwN2E1MjJjMmI1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpG cm9tOiBNaWNoYWVsIExldmluZSA8bWxldmluZTU1QGJsb29tYmVyZy5uZXQ+ CkRhdGU6IFdlZCwgOCBNYXkgMjAyNCAxMjowODoyOSAtMDQwMApTdWJqZWN0 OiBbUEFUQ0ggMDYvMTFdIHJlbW92ZWQgdGhlIG5ldyB0ZXN0IGFuZCByZW5h bWVkIGFuZCB1cGRhdGVkIHRoZQogZXhpc3RpbmcgdGVzdAoKU2lnbmVkLW9m Zi1ieTogTWljaGFlbCBMZXZpbmUgPG1sZXZpbmU1NUBibG9vbWJlcmcubmV0 PgotLS0KIC4uLi97MjVfYWxnb3JpdGhtcy9pb3RhLzEuY2MgPT4gMjZfbnVt ZXJpY3MvaW90YS8yLmNjfSAgICAgICAgICB8IDIgKy0KIDEgZmlsZSBjaGFu Z2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQogcmVuYW1lIGxp YnN0ZGMrKy12My90ZXN0c3VpdGUvezI1X2FsZ29yaXRobXMvaW90YS8xLmNj ID0+IDI2X251bWVyaWNzL2lvdGEvMi5jY30gKDk2JSkKCmRpZmYgLS1naXQg YS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMvaW90YS8x LmNjIGIvbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yNl9udW1lcmljcy9pb3Rh LzIuY2MKc2ltaWxhcml0eSBpbmRleCA5NiUKcmVuYW1lIGZyb20gbGlic3Rk YysrLXYzL3Rlc3RzdWl0ZS8yNV9hbGdvcml0aG1zL2lvdGEvMS5jYwpyZW5h bWUgdG8gbGlic3RkYysrLXYzL3Rlc3RzdWl0ZS8yNl9udW1lcmljcy9pb3Rh LzIuY2MKaW5kZXggNjFiZjQxOGI0ZGEuLjA0MGM0OGQ5MWNlIDEwMDY0NAot LS0gYS9saWJzdGRjKystdjMvdGVzdHN1aXRlLzI1X2FsZ29yaXRobXMvaW90 YS8xLmNjCisrKyBiL2xpYnN0ZGMrKy12My90ZXN0c3VpdGUvMjZfbnVtZXJp Y3MvaW90YS8yLmNjCkBAIC0xLDYgKzEsNiBAQAogLy8geyBkZy1kbyBydW4g eyB0YXJnZXQgYysrMjMgfSB9CiAKLSNpbmNsdWRlIDxhbGdvcml0aG0+Cisj aW5jbHVkZSA8bnVtZXJpYz4KICNpbmNsdWRlIDx0ZXN0c3VpdGVfaG9va3Mu aD4KICNpbmNsdWRlIDx0ZXN0c3VpdGVfaXRlcmF0b3JzLmg+CiAKLS0gCjIu MjUuMQoKCkZyb20gZDdhOGNmM2ZkMDgxMmFjNmUxYmE1NmI2NTQyNGYzN2Ex OGFjN2FjZSBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFl bCBMZXZpbmUgPG1sZXZpbmU1NUBibG9vbWJlcmcubmV0PgpEYXRlOiBUaHUs IDkgTWF5IDIwMjQgMTA6MDU6NTQgLTA0MDAKU3ViamVjdDogW1BBVENIIDA3 LzExXSBGaXggYnVpbGQgaXNzdWVzIGFuZCBleHRyYSBjb3B5IG9mIGltcG9y dGVkIGNvZGUKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTGV2aW5lIDxtbGV2 aW5lNTVAYmxvb21iZXJnLm5ldD4KLS0tCiBsaWJzdGRjKystdjMvaW5jbHVk ZS9iaXRzL3Jhbmdlc19hbGdvYmFzZS5oIHwgMjYgKy0tLS0tLS0tLS0tLS0t LS0tLS0tCiBsaWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYyAgICAg ICAgICAgIHwgMjYgKystLS0tLS0tLS0tLS0tLS0tLS0tCiAyIGZpbGVzIGNo YW5nZWQsIDMgaW5zZXJ0aW9ucygrKSwgNDkgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9yYW5nZXNfYWxn b2Jhc2UuaCBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvcmFuZ2VzX2Fs Z29iYXNlLmgKaW5kZXggM2I2ZGU1NGRiNzguLjZhMzFhY2ExNjNkIDEwMDY0 NAotLS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3Jhbmdlc19hbGdv YmFzZS5oCisrKyBiL2xpYnN0ZGMrKy12My9pbmNsdWRlL2JpdHMvcmFuZ2Vz X2FsZ29iYXNlLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlIDxjb21w YXJlPgogI2luY2x1ZGUgPGJpdHMvc3RsX2l0ZXJhdG9yX2Jhc2VfZnVuY3Mu aD4KICNpbmNsdWRlIDxiaXRzL3N0bF9pdGVyYXRvci5oPgorI2luY2x1ZGUg PGJpdHMvc3RsX2FsZ29iYXNlLmg+IC8vIF9fbWVtY3B5CiAjaW5jbHVkZSA8 Yml0cy9yYW5nZXNfYmFzZS5oPiAvLyByYW5nZXM6OmJlZ2luLCByYW5nZXM6 OnJhbmdlIGV0Yy4KICNpbmNsdWRlIDxiaXRzL2ludm9rZS5oPiAgICAgIC8v IF9faW52b2tlCiAjaW5jbHVkZSA8Yml0cy9jcHBfdHlwZV90cmFpdHMuaD4g Ly8gX19pc19ieXRlCkBAIC00NCwzMSArNDUsNiBAQCBuYW1lc3BhY2Ugc3Rk IF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKIF9HTElCQ1hYX0JF R0lOX05BTUVTUEFDRV9WRVJTSU9OCiAKLSNpZiBfX2dsaWJjeHhfcmFuZ2Vz X2lvdGEgPj0gMjAyMjAyTCAvLyBDKysgPj0gMjMKLQotICAgIHRlbXBsYXRl PHR5cGVuYW1lIF9PdXQsIHR5cGVuYW1lIF9UcD4KLSAgICBzdHJ1Y3Qgb3V0 X3ZhbHVlX3Jlc3VsdAotewotICAgIFtbbm9fdW5pcXVlX2FkZHJlc3NdXSBf T3V0IG91dDsKLSAgICBbW25vX3VuaXF1ZV9hZGRyZXNzXV0gX1RwIHZhbHVl OwotCi0gICAgdGVtcGxhdGU8dHlwZW5hbWUgX091dDIsIHR5cGVuYW1lIF9U cDI+Ci0gICAgcmVxdWlyZXMgY29udmVydGlibGVfdG88Y29uc3QgX091dCYs IF9PdXQyPgotICAgICYmIGNvbnZlcnRpYmxlX3RvPGNvbnN0IF9UcCYsIF9U cDI+Ci0gICAgY29uc3RleHByCi0gICAgb3BlcmF0b3Igb3V0X3ZhbHVlX3Jl c3VsdDxfT3V0MiwgX1RwMj4oKSBjb25zdCAmCi0gICAgeyByZXR1cm4ge291 dCwgdmFsdWV9OyB9Ci0KLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBfT3V0Miwg dHlwZW5hbWUgX1RwMj4KLSAgICByZXF1aXJlcyBjb252ZXJ0aWJsZV90bzxf T3V0LCBfT3V0Mj4KLSAgICAmJiBjb252ZXJ0aWJsZV90bzxfVHAsIF9UcDI+ Ci0gICAgY29uc3RleHByCi0gICAgb3BlcmF0b3Igb3V0X3ZhbHVlX3Jlc3Vs dDxfT3V0MiwgX1RwMj4oKSAmJgotICAgIHsgcmV0dXJuIHtzdGQ6Om1vdmUo b3V0KSwgc3RkOjptb3ZlKHZhbHVlKX07IH0KLX07Ci0KLSNlbmRpZiAvLyBf X2dsaWJjeHhfcmFuZ2VzX2lvdGEKLQogbmFtZXNwYWNlIHJhbmdlcwogewog ICBuYW1lc3BhY2UgX19kZXRhaWwKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12 My9pbmNsdWRlL3N0ZC9udW1lcmljIGIvbGlic3RkYysrLXYzL2luY2x1ZGUv c3RkL251bWVyaWMKaW5kZXggYzk3YzJhMWJhNzAuLjNhNDgwNzAyMTBjIDEw MDY0NAotLS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYwor KysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYwpAQCAtNjYs OCArNjYsNyBAQAogI2VuZGlmCiAKICNpZiBfX2dsaWJjeHhfcmFuZ2VzX2lv dGEgPj0gMjAyMjAyTCAvLyBDKysgPj0gMjMKLSNpbmNsdWRlIDxiaXRzL3Jh bmdlc19iYXNlLmg+IC8vIGZvciBfUmFuZ2UgYXMgdXNlZCBieSBzdGQ6OnJh bmdlczo6aW90YQotI2luY2x1ZGUgPGJpdHMvcmFuZ2VzX2FsZ29iYXNlLmg+ IC8vIGZvciBzdGQ6Om91dF92YWx1ZV9yZXN1bHQgYXMgdXNlZCBieSBzdGQ6 OnJhbmdlczo6aW90YQorI2luY2x1ZGUgPGJpdHMvcmFuZ2VzX2FsZ29iYXNl Lmg+IC8vIGZvciBzdGQ6Om91dF92YWx1ZV9yZXN1bHQgYXMgdXNlZCBieSBz dGQ6OnJhbmdlczo6aW90YS4gIEl0IHRyYW5zaXRpdmVseSBhbHNvIGJyaW5n cyBpbiA8Yml0cy9yYW5nZXNfYmFzZS5oPiwgZnJvbSB3aGljaCBfUmFuZ2Ug aXMgdXNlZCBieSBzdGQ6OnJhbmdlczo6aW90YQogI2VuZGlmIC8vIF9fZ2xp YmN4eF9yYW5nZXNfaW90YQogCiAjaWYgX19jcGx1c3BsdXMgPj0gMjAxNDAy TApAQCAtNzM2LDI4ICs3MzUsNyBAQCBuYW1lc3BhY2UgcmFuZ2VzCiAjaWYg X19nbGliY3h4X3Jhbmdlc19pb3RhID49IDIwMjIwMkwgLy8gQysrID49IDIz CiAKICAgdGVtcGxhdGU8dHlwZW5hbWUgX091dCwgdHlwZW5hbWUgX1RwPgot ICAgIHN0cnVjdCBvdXRfdmFsdWVfcmVzdWx0Ci0gICAgewotICAgICAgW1tu b191bmlxdWVfYWRkcmVzc11dIF9PdXQgb3V0OwotICAgICAgW1tub191bmlx dWVfYWRkcmVzc11dIF9UcCB2YWx1ZTsKLQotICAgICAgdGVtcGxhdGU8dHlw ZW5hbWUgX091dDIsIHR5cGVuYW1lIF9UcDI+Ci0JcmVxdWlyZXMgY29udmVy dGlibGVfdG88Y29uc3QgX091dCYsIF9PdXQyPgotCSAgJiYgY29udmVydGli bGVfdG88Y29uc3QgX1RwJiwgX1RwMj4KLQljb25zdGV4cHIKLQlvcGVyYXRv ciBvdXRfdmFsdWVfcmVzdWx0PF9PdXQyLCBfVHAyPigpIGNvbnN0ICYKLQl7 IHJldHVybiB7b3V0LCB2YWx1ZX07IH0KLQotICAgICAgdGVtcGxhdGU8dHlw ZW5hbWUgX091dDIsIHR5cGVuYW1lIF9UcDI+Ci0JcmVxdWlyZXMgY29udmVy dGlibGVfdG88X091dCwgX091dDI+Ci0JICAmJiBjb252ZXJ0aWJsZV90bzxf VHAsIF9UcDI+Ci0JY29uc3RleHByCi0Jb3BlcmF0b3Igb3V0X3ZhbHVlX3Jl c3VsdDxfT3V0MiwgX1RwMj4oKSAmJgotCXsgcmV0dXJuIHtzdGQ6Om1vdmUo b3V0KSwgc3RkOjptb3ZlKHZhbHVlKX07IH0KLSAgICB9OwotCi0gIHRlbXBs YXRlPHR5cGVuYW1lIF9PdXQsIHR5cGVuYW1lIF9UcD4KLSAgICB1c2luZyBp b3RhX3Jlc3VsdCA9IG91dF92YWx1ZV9yZXN1bHQ8X091dCwgX1RwPjsKKyAg dXNpbmcgaW90YV9yZXN1bHQgPSBzdGQ6Om91dF92YWx1ZV9yZXN1bHQ8X091 dCwgX1RwPjsKIAogICBzdHJ1Y3QgX19pb3RhX2ZuCiAgIHsKLS0gCjIuMjUu MQoKCkZyb20gOGIxNmRlMWZhOGRmZDYxZmU5ZmUzNjY5ZDYxZWRmYjcxYzI1 Y2JlNCBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogTWljaGFlbCBM ZXZpbmUgPG1sZXZpbmU1NUBibG9vbWJlcmcubmV0PgpEYXRlOiBUaHUsIDkg TWF5IDIwMjQgMTA6MDk6MzYgLTA0MDAKU3ViamVjdDogW1BBVENIIDA4LzEx XSBGaXggc3BhY2luZyBjaGFuZ2VzCgpTaWduZWQtb2ZmLWJ5OiBNaWNoYWVs IExldmluZSA8bWxldmluZTU1QGJsb29tYmVyZy5uZXQ+Ci0tLQogbGlic3Rk YysrLXYzL2luY2x1ZGUvYml0cy9yYW5nZXNfYWxnb2Jhc2UuaCB8IDEgLQog bGlic3RkYysrLXYzL2luY2x1ZGUvYml0cy9zdGxfbnVtZXJpYy5oICAgICB8 IDEgKwogMiBmaWxlcyBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL2Jp dHMvcmFuZ2VzX2FsZ29iYXNlLmggYi9saWJzdGRjKystdjMvaW5jbHVkZS9i aXRzL3Jhbmdlc19hbGdvYmFzZS5oCmluZGV4IDZhMzFhY2ExNjNkLi5jM2Q4 NzNhMTBjOSAxMDA2NDQKLS0tIGEvbGlic3RkYysrLXYzL2luY2x1ZGUvYml0 cy9yYW5nZXNfYWxnb2Jhc2UuaAorKysgYi9saWJzdGRjKystdjMvaW5jbHVk ZS9iaXRzL3Jhbmdlc19hbGdvYmFzZS5oCkBAIC00NCw3ICs0NCw2IEBACiBu YW1lc3BhY2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsK IF9HTElCQ1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCi0KIG5hbWVzcGFj ZSByYW5nZXMKIHsKICAgbmFtZXNwYWNlIF9fZGV0YWlsCmRpZmYgLS1naXQg YS9saWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3N0bF9udW1lcmljLmggYi9s aWJzdGRjKystdjMvaW5jbHVkZS9iaXRzL3N0bF9udW1lcmljLmgKaW5kZXgg MzAyNTE1NDI4ZDYuLmZlOTExMTU0YWI3IDEwMDY0NAotLS0gYS9saWJzdGRj KystdjMvaW5jbHVkZS9iaXRzL3N0bF9udW1lcmljLmgKKysrIGIvbGlic3Rk YysrLXYzL2luY2x1ZGUvYml0cy9zdGxfbnVtZXJpYy5oCkBAIC02MCw2ICs2 MCw3IEBACiAjaW5jbHVkZSA8ZGVidWcvZGVidWcuaD4KICNpbmNsdWRlIDxi aXRzL21vdmUuaD4gLy8gRm9yIF9HTElCQ1hYX01PVkUKIAorCiBuYW1lc3Bh Y2Ugc3RkIF9HTElCQ1hYX1ZJU0lCSUxJVFkoZGVmYXVsdCkKIHsKIF9HTElC Q1hYX0JFR0lOX05BTUVTUEFDRV9WRVJTSU9OCi0tIAoyLjI1LjEKCgpGcm9t IDlkZGIxNWEzNWYzNmVhMDQxYmI3NDgwNzQ3ZmUzMTcwYjljYzllYWIgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTGV2aW5lIDxt bGV2aW5lNTVAYmxvb21iZXJnLm5ldD4KRGF0ZTogVGh1LCAxNiBNYXkgMjAy NCAxNDo1NTo1NyAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMDkvMTFdIFJlbW92 ZWQgdGhlIHN0ZCBxdWFsaWZpZXIgZnJvbSB0aGUgdGVtcGxhdGUKClNpZ25l ZC1vZmYtYnk6IE1pY2hhZWwgTGV2aW5lIDxtbGV2aW5lNTVAYmxvb21iZXJn Lm5ldD4KLS0tCiBsaWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYyB8 IDIgKy0KIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2VydGlvbigrKSwgMSBkZWxl dGlvbigtKQoKZGlmZiAtLWdpdCBhL2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0 ZC9udW1lcmljIGIvbGlic3RkYysrLXYzL2luY2x1ZGUvc3RkL251bWVyaWMK aW5kZXggM2E0ODA3MDIxMGMuLjNhNDkxN2I4OWY1IDEwMDY0NAotLS0gYS9s aWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYworKysgYi9saWJzdGRj KystdjMvaW5jbHVkZS9zdGQvbnVtZXJpYwpAQCAtNzM1LDcgKzczNSw3IEBA IG5hbWVzcGFjZSByYW5nZXMKICNpZiBfX2dsaWJjeHhfcmFuZ2VzX2lvdGEg Pj0gMjAyMjAyTCAvLyBDKysgPj0gMjMKIAogICB0ZW1wbGF0ZTx0eXBlbmFt ZSBfT3V0LCB0eXBlbmFtZSBfVHA+Ci0gIHVzaW5nIGlvdGFfcmVzdWx0ID0g c3RkOjpvdXRfdmFsdWVfcmVzdWx0PF9PdXQsIF9UcD47CisgIHVzaW5nIGlv dGFfcmVzdWx0ID0gb3V0X3ZhbHVlX3Jlc3VsdDxfT3V0LCBfVHA+OwogCiAg IHN0cnVjdCBfX2lvdGFfZm4KICAgewotLSAKMi4yNS4xCgoKRnJvbSA4YjI1 NGU5NWZjOTMwOGFlOTMxZWM1ZWFlODczOWQ3MjRiNWMyZmYzIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWNoYWVsIExldmluZSA8bWxldmlu ZTU1QGJsb29tYmVyZy5uZXQ+CkRhdGU6IFRodSwgMTYgTWF5IDIwMjQgMTY6 MDU6MDAgLTA0MDAKU3ViamVjdDogW1BBVENIIDEwLzExXSBBZGRlZCB0aGUg bWlzc2luZyBvdXRfdmFsdWVfcmVzdWx0CgpTaWduZWQtb2ZmLWJ5OiBNaWNo YWVsIExldmluZSA8bWxldmluZTU1QGJsb29tYmVyZy5uZXQ+Ci0tLQogbGli c3RkYysrLXYzL2luY2x1ZGUvYml0cy9yYW5nZXNfYWxnb2Jhc2UuaCB8IDI2 ICsrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDI2IGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9saWJzdGRjKystdjMvaW5jbHVk ZS9iaXRzL3Jhbmdlc19hbGdvYmFzZS5oIGIvbGlic3RkYysrLXYzL2luY2x1 ZGUvYml0cy9yYW5nZXNfYWxnb2Jhc2UuaAppbmRleCBjM2Q4NzNhMTBjOS4u OTY1YjM2YWVkMzUgMTAwNjQ0Ci0tLSBhL2xpYnN0ZGMrKy12My9pbmNsdWRl L2JpdHMvcmFuZ2VzX2FsZ29iYXNlLmgKKysrIGIvbGlic3RkYysrLXYzL2lu Y2x1ZGUvYml0cy9yYW5nZXNfYWxnb2Jhc2UuaApAQCAtNzEsNiArNzEsMzIg QEAgbmFtZXNwYWNlIHJhbmdlcwogCV9faXNfbW92ZV9pdGVyYXRvcjxtb3Zl X2l0ZXJhdG9yPF9JdGVyYXRvcj4+ID0gdHJ1ZTsKICAgfSAvLyBuYW1lc3Bh Y2UgX19kZXRhaWwKIAorI2lmIF9fZ2xpYmN4eF9yYW5nZXNfaW90YSA+PSAy MDIyMDJMIC8vIEMrKyA+PSAyMworCisgICAgdGVtcGxhdGU8dHlwZW5hbWUg X091dCwgdHlwZW5hbWUgX1RwPgorICAgIHN0cnVjdCBvdXRfdmFsdWVfcmVz dWx0CisgICAgeworICAgICAgICBbW25vX3VuaXF1ZV9hZGRyZXNzXV0gX091 dCBvdXQ7CisgICAgICAgIFtbbm9fdW5pcXVlX2FkZHJlc3NdXSBfVHAgdmFs dWU7CisKKyAgICAgICAgdGVtcGxhdGU8dHlwZW5hbWUgX091dDIsIHR5cGVu YW1lIF9UcDI+CisJcmVxdWlyZXMgY29udmVydGlibGVfdG88Y29uc3QgX091 dCYsIF9PdXQyPgorICAgICAgICAmJiBjb252ZXJ0aWJsZV90bzxjb25zdCBf VHAmLCBfVHAyPgorCWNvbnN0ZXhwcgorCW9wZXJhdG9yIG91dF92YWx1ZV9y ZXN1bHQ8X091dDIsIF9UcDI+KCkgY29uc3QgJgorCXsgcmV0dXJuIHtvdXQs IHZhbHVlfTsgfQorCisgICAgICAgIHRlbXBsYXRlPHR5cGVuYW1lIF9PdXQy LCB0eXBlbmFtZSBfVHAyPgorCXJlcXVpcmVzIGNvbnZlcnRpYmxlX3RvPF9P dXQsIF9PdXQyPgorICAgICAgICAmJiBjb252ZXJ0aWJsZV90bzxfVHAsIF9U cDI+CisJY29uc3RleHByCisJb3BlcmF0b3Igb3V0X3ZhbHVlX3Jlc3VsdDxf T3V0MiwgX1RwMj4oKSAmJgorCXsgcmV0dXJuIHtzdGQ6Om1vdmUob3V0KSwg c3RkOjptb3ZlKHZhbHVlKX07IH0KKyAgICB9OworCisjZW5kaWYgLy8gX19n bGliY3h4X3Jhbmdlc19pb3RhCisKKwogICBzdHJ1Y3QgX19lcXVhbF9mbgog ICB7CiAgICAgdGVtcGxhdGU8aW5wdXRfaXRlcmF0b3IgX0l0ZXIxLCBzZW50 aW5lbF9mb3I8X0l0ZXIxPiBfU2VudDEsCi0tIAoyLjI1LjEKCgpGcm9tIDQw ZDE5MjU1NDUwOTgxMmY2NGVkMWIwYWZjMTZkNGE4NWY2N2I3Y2UgTW9uIFNl cCAxNyAwMDowMDowMCAyMDAxCkZyb206IE1pY2hhZWwgTGV2aW5lIDxtbGV2 aW5lNTVAYmxvb21iZXJnLm5ldD4KRGF0ZTogRnJpLCAxNyBNYXkgMjAyNCAx MTo0NDoyNiAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMTEvMTFdIFVwZGF0ZWQg YW4gaW1wb3J0IGNvbW1lbnQKClNpZ25lZC1vZmYtYnk6IE1pY2hhZWwgTGV2 aW5lIDxtbGV2aW5lNTVAYmxvb21iZXJnLm5ldD4KLS0tCiBsaWJzdGRjKyst djMvaW5jbHVkZS9zdGQvbnVtZXJpYyB8IDIgKy0KIDEgZmlsZSBjaGFuZ2Vk LCAxIGluc2VydGlvbigrKSwgMSBkZWxldGlvbigtKQoKZGlmZiAtLWdpdCBh L2xpYnN0ZGMrKy12My9pbmNsdWRlL3N0ZC9udW1lcmljIGIvbGlic3RkYysr LXYzL2luY2x1ZGUvc3RkL251bWVyaWMKaW5kZXggM2E0OTE3Yjg5ZjUuLmQ4 OGY3ZjAyMTM3IDEwMDY0NAotLS0gYS9saWJzdGRjKystdjMvaW5jbHVkZS9z dGQvbnVtZXJpYworKysgYi9saWJzdGRjKystdjMvaW5jbHVkZS9zdGQvbnVt ZXJpYwpAQCAtNjYsNyArNjYsNyBAQAogI2VuZGlmCiAKICNpZiBfX2dsaWJj eHhfcmFuZ2VzX2lvdGEgPj0gMjAyMjAyTCAvLyBDKysgPj0gMjMKLSNpbmNs dWRlIDxiaXRzL3Jhbmdlc19hbGdvYmFzZS5oPiAvLyBmb3Igc3RkOjpvdXRf dmFsdWVfcmVzdWx0IGFzIHVzZWQgYnkgc3RkOjpyYW5nZXM6OmlvdGEuICBJ dCB0cmFuc2l0aXZlbHkgYWxzbyBicmluZ3MgaW4gPGJpdHMvcmFuZ2VzX2Jh c2UuaD4sIGZyb20gd2hpY2ggX1JhbmdlIGlzIHVzZWQgYnkgc3RkOjpyYW5n ZXM6OmlvdGEKKyNpbmNsdWRlIDxiaXRzL3Jhbmdlc19hbGdvYmFzZS5oPiAv LyBmb3Igb3V0X3ZhbHVlX3Jlc3VsdCBhcyB1c2VkIGJ5IHN0ZDo6cmFuZ2Vz Ojppb3RhLiAgSXQgdHJhbnNpdGl2ZWx5IGFsc28gYnJpbmdzIGluIDxiaXRz L3Jhbmdlc19iYXNlLmg+LCBmcm9tIHdoaWNoIF9SYW5nZSBpcyB1c2VkIGJ5 IHN0ZDo6cmFuZ2VzOjppb3RhCiAjZW5kaWYgLy8gX19nbGliY3h4X3Jhbmdl c19pb3RhCiAKICNpZiBfX2NwbHVzcGx1cyA+PSAyMDE0MDJMCi0tIAoyLjI1 LjEKCg== --BOUNDARY_66478D090002827C08CE0001_0_2832138_omsg-tt-141--