Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp3568832pxv; Mon, 12 Jul 2021 21:41:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzNHHZDKsAfvS6k/Su7gWXWBZufCuRj4J22bZmdrsCM1TXd5uDfPdh5Lq1WifwUKoeN61LF X-Received: by 2002:a17:906:a18b:: with SMTP id s11mr3305578ejy.8.1626151317735; Mon, 12 Jul 2021 21:41:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626151317; cv=none; d=google.com; s=arc-20160816; b=Un4NsVYIUW4fzct7vzG9K+FwHqmf12NapWj2f6RuP4GtbHR8Er3dnyZ7LDkIa/XpW6 vjlWm/QerpiHQ3W/B+vW8szH4JR2+HI2P0dgnWSSrI3X+WaitisUoHbTvhNkvSGyIf8u 93WywYo9PjUZg/r3Qh9lTf2s1xqLI2kfj54Pj4C4UIRJ/bJIZuUMBo9xXNfedKGewgXD hjJgyMJPPN0zPSBhgATzap6DBc08BF5nAI2+bvS/7q9RMfOrh8f1m6VZt1CaEqNomFIw p4MwCMYZ267EOoO3da3ubDYqcouHWviWi0PBLuod6kRgJ7Qn/HHcSAYwV4Yu+d+mg3TO 7Mkg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:reply-to:subject:to:from :mime-version:date:message-id:dkim-signature; bh=W36tMQ9rvp1b64LtrEL5I4QD9tSIVEvayH00FDdtIGY=; b=P8lXj9MMZn2rDP0cakY23RMHIRAxwW8BwvzFisJMue9bwTYKYg8i6FRQafieylWWty xuiMyAje4uvpJ7T5rzOBv5v/m9Eyj3NCrxnuyTd7ycX0Auc2fUoTCY3NdhPW0WiFpV0X nTXK11sieKM49IV/etqRmz/V6u3+Am2sj7Q3R5HI+MMGo44gxKu99syO+FsekFA3/of4 Iuoo2oKP0Q6bko+8Ym1s/Rf9a2o8EPzklccsKRFErpXrGRBtt1jdADukdEO7+ONqZ3Jj GyUaGwRYwqqdghTwlEgMybtPTdMguuihPkKFKHtovHtOT2skrsGbH+scOcy6QalIaB6o BakQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=LoMOtiId; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id a18si19182767edr.24.2021.07.12.21.41.14; Mon, 12 Jul 2021 21:41:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=LoMOtiId; spf=pass (google.com: domain of linux-bluetooth-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-bluetooth-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229886AbhGMEme (ORCPT + 99 others); Tue, 13 Jul 2021 00:42:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51100 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229470AbhGMEmd (ORCPT ); Tue, 13 Jul 2021 00:42:33 -0400 Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5FEFBC0613DD for ; Mon, 12 Jul 2021 21:39:44 -0700 (PDT) Received: by mail-pl1-x62b.google.com with SMTP id h1so10441587plf.6 for ; Mon, 12 Jul 2021 21:39:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:mime-version:from:to:subject:reply-to:in-reply-to :references; bh=W36tMQ9rvp1b64LtrEL5I4QD9tSIVEvayH00FDdtIGY=; b=LoMOtiIdgwsI39amVHQs/ZySpcIP2y4cjqdgTUtSajx7OJJ24BMZrW3J5kCZIasqN7 0pgs73bjn0fd4LCVI2RCc9z4NUSd+8uMuiExcaxUBYo4u8I3Fch4REcOiWvRyR7+xwU1 QiBj1DMTmyQtNhUbmi1IYBhSB3aQl4FiXY6qQjRuRBHbQ5v720z/dlSztfuLzGBzs+tY W+0ltf0bPyUuhFfXcn9KZ1qiqeUREqI3pqtDMDXZs0PrPHka4lP6y41G/ayIGWDxdNTS QLFHu+mRT1FS95HdtbPfTGEIKE9qpwzCanWSOxmQc+ThB9Hqr0vlqpgDPdvwWh32oyAm 8h6Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:mime-version:from:to:subject :reply-to:in-reply-to:references; bh=W36tMQ9rvp1b64LtrEL5I4QD9tSIVEvayH00FDdtIGY=; b=YhG/UTBrSZ/aW0tboHi1Z03P88VUHICAt4Fg1ioTwngTKUOezvbdQYUzsqtXxmQ0v5 cqN3Hug7MJw8qwFJ75QSZL4cungKvVeLo+9X6yJIGY5wmgQyPqbAat9FK+bOc++lJ39f DCurQjDeoKOtTgd1GsJcRodQFgHP0JpULE5qlgfX6ZkIP4VPSK4h3VT2gwCDx5k+pzxJ SFIyk86GmBcgxZI3vDjzmD3Vm0Lrfozmpeg819/Z29rWlfpPaU9fqh+G2GEIDP1/EYGd ndKQ18lb3DrpY70vcPwUghrgGKdGYeK+qgjqrli40zeFbVWo+fdSliWN9pYiAr9RzafZ Xrjw== X-Gm-Message-State: AOAM533cMKCX0nPxB09Zm9lDf7f3V18vcQVtmYSc4ZHjdGKKbNRvhuRz lIyqZa0jKykWFd/feviwXzi6CzOtXF4= X-Received: by 2002:a17:90a:d588:: with SMTP id v8mr17175762pju.134.1626151183330; Mon, 12 Jul 2021 21:39:43 -0700 (PDT) Received: from [172.17.0.2] ([52.156.113.199]) by smtp.gmail.com with ESMTPSA id n23sm19020123pgv.76.2021.07.12.21.39.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 12 Jul 2021 21:39:42 -0700 (PDT) Message-ID: <60ed190e.1c69fb81.bda6f.ad2a@mx.google.com> Date: Mon, 12 Jul 2021 21:39:42 -0700 (PDT) Content-Type: multipart/mixed; boundary="===============0492919236256725086==" MIME-Version: 1.0 From: bluez.test.bot@gmail.com To: linux-bluetooth@vger.kernel.org, howardchung@google.com Subject: RE: [Bluez,v2] a2dp: Fix crash in channel_free while waiting cmd resp Reply-To: linux-bluetooth@vger.kernel.org In-Reply-To: <20210713115042.Bluez.v2.1.Id7aa1152377161d17b442bf258773d9b6c624ca3@changeid> References: <20210713115042.Bluez.v2.1.Id7aa1152377161d17b442bf258773d9b6c624ca3@changeid> Precedence: bulk List-ID: X-Mailing-List: linux-bluetooth@vger.kernel.org --===============0492919236256725086== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhpcyBpcyBhdXRvbWF0ZWQgZW1haWwgYW5kIHBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbCEKCkRlYXIgc3VibWl0dGVyLAoKVGhhbmsgeW91IGZvciBzdWJtaXR0aW5nIHRoZSBwYXRj aGVzIHRvIHRoZSBsaW51eCBibHVldG9vdGggbWFpbGluZyBsaXN0LgpUaGlzIGlzIGEgQ0kgdGVz dCByZXN1bHRzIHdpdGggeW91ciBwYXRjaCBzZXJpZXM6ClBXIExpbms6aHR0cHM6Ly9wYXRjaHdv cmsua2VybmVsLm9yZy9wcm9qZWN0L2JsdWV0b290aC9saXN0Lz9zZXJpZXM9NTE0NDM3CgotLS1U ZXN0IHJlc3VsdC0tLQoKVGVzdCBTdW1tYXJ5OgpDaGVja1BhdGNoICAgICAgICAgICAgICAgICAg ICBQQVNTICAgICAgMC40NiBzZWNvbmRzCkdpdExpbnQgICAgICAgICAgICAgICAgICAgICAgIEZB SUwgICAgICAwLjEyIHNlY29uZHMKUHJlcCAtIFNldHVwIEVMTCAgICAgICAgICAgICAgUEFTUyAg ICAgIDQyLjg5IHNlY29uZHMKQnVpbGQgLSBQcmVwICAgICAgICAgICAgICAgICAgUEFTUyAgICAg IDAuMTUgc2Vjb25kcwpCdWlsZCAtIENvbmZpZ3VyZSAgICAgICAgICAgICBQQVNTICAgICAgNy40 NiBzZWNvbmRzCkJ1aWxkIC0gTWFrZSAgICAgICAgICAgICAgICAgIEZBSUwgICAgICAxNDMuNDkg c2Vjb25kcwpNYWtlIENoZWNrICAgICAgICAgICAgICAgICAgICBGQUlMICAgICAgMC40OSBzZWNv bmRzCk1ha2UgRGlzdGNoZWNrICAgICAgICAgICAgICAgIEZBSUwgICAgICAxMjkuMDAgc2Vjb25k cwpCdWlsZCB3L2V4dCBFTEwgLSBDb25maWd1cmUgICBQQVNTICAgICAgNy40NiBzZWNvbmRzCkJ1 aWxkIHcvZXh0IEVMTCAtIE1ha2UgICAgICAgIEZBSUwgICAgICAxMzEuODkgc2Vjb25kcwoKRGV0 YWlscwojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQ2hlY2tQYXRjaCAtIFBB U1MKRGVzYzogUnVuIGNoZWNrcGF0Y2gucGwgc2NyaXB0IHdpdGggcnVsZSBpbiAuY2hlY2twYXRj aC5jb25mCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogR2l0TGludCAtIEZB SUwKRGVzYzogUnVuIGdpdGxpbnQgd2l0aCBydWxlIGluIC5naXRsaW50Ck91dHB1dDoKYTJkcDog Rml4IGNyYXNoIGluIGNoYW5uZWxfZnJlZSB3aGlsZSB3YWl0aW5nIGNtZCByZXNwCjE0OiBCMyBM aW5lIGNvbnRhaW5zIGhhcmQgdGFiIGNoYXJhY3RlcnMgKFx0KTogIjB4MDAwMDU5ZjAxOTQzZTY4 OAkoYmx1ZXRvb3RoZCAtYXZkdHAuYzozNjkwKSIKMTY6IEIzIExpbmUgY29udGFpbnMgaGFyZCB0 YWIgY2hhcmFjdGVycyAoXHQpOiAiMHgwMDAwNTlmMDE5NDM5MjhhCShibHVldG9vdGhkIC1hMmRw LmM6MzA2OSkiCjE4OiBCMyBMaW5lIGNvbnRhaW5zIGhhcmQgdGFiIGNoYXJhY3RlcnMgKFx0KTog IjB4MDAwMDU5ZjAxOTQzNzdmYQkoYmx1ZXRvb3RoZCAtc2luay5jOjMyNCkiCjIwOiBCMyBMaW5l IGNvbnRhaW5zIGhhcmQgdGFiIGNoYXJhY3RlcnMgKFx0KTogIjB4MDAwMDU5ZjAxOTQ4NzE1YQko Ymx1ZXRvb3RoZCAtc2VydmljZS5jOjE3NykiCjIyOiBCMyBMaW5lIGNvbnRhaW5zIGhhcmQgdGFi IGNoYXJhY3RlcnMgKFx0KTogIjB4MDAwMDU5ZjAxOTQ4ZDc3YwkoYmx1ZXRvb3RoZCAtZGV2aWNl LmM6NTM0NikiCjI0OiBCMyBMaW5lIGNvbnRhaW5zIGhhcmQgdGFiIGNoYXJhY3RlcnMgKFx0KTog IjB4MDAwMDU5ZjAxOTQ3NmQxNAkoYmx1ZXRvb3RoZCAtYWRhcHRlci5jOjcyMDIpIgoyNjogQjMg TGluZSBjb250YWlucyBoYXJkIHRhYiBjaGFyYWN0ZXJzIChcdCk6ICIweDAwMDA1OWYwMTk0NzZj M2UJKGJsdWV0b290aGQgLWFkYXB0ZXIuYzoxMDgyNykiCjI4OiBCMyBMaW5lIGNvbnRhaW5zIGhh cmQgdGFiIGNoYXJhY3RlcnMgKFx0KTogIjB4MDAwMDU5ZjAxOTQ5ZDhkNwkoYmx1ZXRvb3RoZCAt bWFpbi5jOjExMTQpCQltYWluIgoyOTogQjMgTGluZSBjb250YWlucyBoYXJkIHRhYiBjaGFyYWN0 ZXJzIChcdCk6ICIweDAwMDA3ODdiMzYxODVkNzQJKGxpYmMuc28uNiAtbGliYy1zdGFydC5jOjMw OCkiCjMxOiBCMyBMaW5lIGNvbnRhaW5zIGhhcmQgdGFiIGNoYXJhY3RlcnMgKFx0KTogIjB4MDAw MDU5ZjAxOTQzM2UzOQkoYmx1ZXRvb3RoZCArIDB4MDAwMjZlMzkpCQlfc3RhcnQiCgoKIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IFByZXAgLSBTZXR1cCBFTEwgLSBQQVNTCkRl c2M6IENsb25lLCBidWlsZCwgYW5kIGluc3RhbGwgRUxMCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKVGVzdDogQnVpbGQgLSBQcmVwIC0gUEFTUwpEZXNjOiBQcmVwYXJlIGVudmlyb25t ZW50IGZvciBidWlsZAoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEJ1aWxk IC0gQ29uZmlndXJlIC0gUEFTUwpEZXNjOiBDb25maWd1cmUgdGhlIEJsdWVaIHNvdXJjZSB0cmVl CgojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKVGVzdDogQnVpbGQgLSBNYWtlIC0gRkFJ TApEZXNjOiBCdWlsZCB0aGUgQmx1ZVogc291cmNlIHRyZWUKT3V0cHV0Ogpwcm9maWxlcy9hdWRp by9hMmRwLmM6IEluIGZ1bmN0aW9uIOKAmGZpbmFsaXplX2FsbOKAmToKcHJvZmlsZXMvYXVkaW8v YTJkcC5jOjQyMDozMTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+c2VsZWN0 X2Ni4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGli bGUtcG9pbnRlci10eXBlc10KICA0MjAgfCAgICBjYi0+c2VsZWN0X2NiKHMtPnNlc3Npb24sIHMt PnNlcHMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+Xn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdTTGlzdCAqIHtha2Egc3RydWN0IF9HU0xpc3QgKn0KcHJvZmlsZXMv YXVkaW8vYTJkcC5jOjQyMDozMTogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGEyZHBfc2VwICri gJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYR1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3Qg X0dTTGlzdCAq4oCZfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDIxOjY6IGVycm9yOiBwYXNzaW5n IGFyZ3VtZW50IDMgb2Yg4oCYY2ItPnNlbGVjdF9jYuKAmSBtYWtlcyBwb2ludGVyIGZyb20gaW50 ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICA0MjEgfCAgICAg IGVycm9yX3RvX2Vycm5vKHMtPmVyciksIGNiLT51c2VyX2RhdGEpOwogICAgICB8ICAgICAgXn5+ fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgfAogICAgICB8ICAgICAgaW50CnByb2Zp bGVzL2F1ZGlvL2EyZHAuYzo0MjE6Njogbm90ZTogZXhwZWN0ZWQg4oCYR1NMaXN0ICrigJkge2Fr YSDigJhzdHJ1Y3QgX0dTTGlzdCAq4oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhpbnTi gJkKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMTozMjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQg NCBvZiDigJhjYi0+c2VsZWN0X2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhv dXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQyMSB8ICAgICAgZXJyb3JfdG9f ZXJybm8ocy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB+fl5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCnBy b2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjE6MzI6IG5vdGU6IGV4cGVjdGVkIOKAmGludOKAmSBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSDigJh2b2lkICrigJkKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQy MDo0OiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYY2ItPnNlbGVjdF9j YuKAmQogIDQyMCB8ICAgIGNiLT5zZWxlY3RfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAg fCAgICBefgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDIzOjMyOiBlcnJvcjogcGFzc2luZyBhcmd1 bWVudCAyIG9mIOKAmGNiLT5zdXNwZW5kX2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVy IHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQyMyB8ICAgIGNiLT5z dXNwZW5kX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfl5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTTGlzdCAqIHtha2Eg c3RydWN0IF9HU0xpc3QgKn0KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMzozMjogbm90ZTogZXhw ZWN0ZWQg4oCYaW504oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmEdTTGlzdCAq4oCZIHth a2Eg4oCYc3RydWN0IF9HU0xpc3QgKuKAmX0KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyNDo2OiBl cnJvcjogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGNiLT5zdXNwZW5kX2Ni4oCZIG1ha2VzIHBv aW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9u XQogIDQyNCB8ICAgICAgZXJyb3JfdG9fZXJybm8ocy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAg ICAgIHwgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICB8CiAgICAgIHwg ICAgICBpbnQKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyNDo2OiBub3RlOiBleHBlY3RlZCDigJh2 b2lkICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYaW504oCZCnByb2ZpbGVzL2F1ZGlv L2EyZHAuYzo0MjM6NDogZXJyb3I6IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhj Yi0+c3VzcGVuZF9jYuKAmQogIDQyMyB8ICAgIGNiLT5zdXNwZW5kX2NiKHMtPnNlc3Npb24sIHMt PnNlcHMsCiAgICAgIHwgICAgXn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyNjozMTogZXJyb3I6 IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+cmVzdW1lX2Ni4oCZIG1ha2VzIGludGVnZXIg ZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQy NiB8ICAgIGNiLT5yZXN1bWVfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5efn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0 ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI2OjMxOiBu b3RlOiBleHBlY3RlZCDigJhpbnTigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYR1NMaXN0 ICrigJkge2FrYSDigJhzdHJ1Y3QgX0dTTGlzdCAq4oCZfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6 NDI3OjY6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYY2ItPnJlc3VtZV9jYuKAmSBt YWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29u dmVyc2lvbl0KICA0MjcgfCAgICAgIGVycm9yX3RvX2Vycm5vKHMtPmVyciksIGNiLT51c2VyX2Rh dGEpOwogICAgICB8ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgfAog ICAgICB8ICAgICAgaW50CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0Mjc6Njogbm90ZTogZXhwZWN0 ZWQg4oCYdm9pZCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmGludOKAmQpwcm9maWxl cy9hdWRpby9hMmRwLmM6NDI2OjQ6IGVycm9yOiB0b28gbWFueSBhcmd1bWVudHMgdG8gZnVuY3Rp b24g4oCYY2ItPnJlc3VtZV9jYuKAmQogIDQyNiB8ICAgIGNiLT5yZXN1bWVfY2Iocy0+c2Vzc2lv biwgcy0+c2VwcywKICAgICAgfCAgICBefgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI5OjMxOiBl cnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGNiLT5jb25maWdfY2LigJkgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVz XQogIDQyOSB8ICAgIGNiLT5jb25maWdfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5efn5+fn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg R1NMaXN0ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI5 OjMxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYTJkcF9zZXAgKuKAmSBidXQgYXJndW1lbnQg aXMgb2YgdHlwZSDigJhHU0xpc3QgKuKAmSB7YWthIOKAmHN0cnVjdCBfR1NMaXN0ICrigJl9CnBy b2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MzA6NjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDi gJhjYi0+Y29uZmlnX2Ni4oCZIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQzMCB8ICAgICAgZXJyb3JfdG9fZXJybm8o cy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICB8CiAgICAgIHwgICAgICBpbnQKcHJvZmlsZXMvYXVkaW8vYTJkcC5j OjQzMDo2OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYXZkdHBfc3RyZWFtICrigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYaW504oCZCnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MzA6MzI6 IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDQgb2Yg4oCYY2ItPmNvbmZpZ19jYuKAmSBtYWtlcyBp bnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lv bl0KICA0MzAgfCAgICAgIGVycm9yX3RvX2Vycm5vKHMtPmVyciksIGNiLT51c2VyX2RhdGEpOwog ICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5efn5+fn5+fn5+fgogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHZvaWQgKgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDMwOjMyOiBub3Rl OiBleHBlY3RlZCDigJhpbnTigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYdm9pZCAq4oCZ CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0Mjk6NDogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRv IGZ1bmN0aW9uIOKAmGNiLT5jb25maWdfY2LigJkKICA0MjkgfCAgICBjYi0+Y29uZmlnX2NiKHMt PnNlc3Npb24sIHMtPnNlcHMsCiAgICAgIHwgICAgXn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOiBB dCB0b3AgbGV2ZWw6CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0Mzg6MTM6IGVycm9yOiByZWRlZmlu aXRpb24gb2Yg4oCYZmluYWxpemVfYWxs4oCZCiAgNDM4IHwgc3RhdGljIHZvaWQgZmluYWxpemVf YWxsKHN0cnVjdCBhMmRwX3NldHVwICpzKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDA3OjEzOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9u IG9mIOKAmGZpbmFsaXplX2FsbOKAmSB3YXMgaGVyZQogIDQwNyB8IHN0YXRpYyB2b2lkIGZpbmFs aXplX2FsbChzdHJ1Y3QgYTJkcF9zZXR1cCAqcykKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+ fn5+fn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOiBJbiBmdW5jdGlvbiDigJhmaW5hbGl6ZV9hbGzi gJk6CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0NTI6MzE6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50 IDIgb2Yg4oCYY2ItPnNlbGVjdF9jYuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUg Wy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgNDUyIHwgICAgY2ItPnNlbGVj dF9jYihzLT5zZXNzaW9uLCBzLT5zZXBzLCBzLT5jYXBzLAogICAgICB8ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfl5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU0xpc3QgKiB7YWth IHN0cnVjdCBfR1NMaXN0ICp9CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0NTI6MzE6IG5vdGU6IGV4 cGVjdGVkIOKAmHN0cnVjdCBhMmRwX3NlcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKA mEdTTGlzdCAq4oCZIHtha2Eg4oCYc3RydWN0IF9HU0xpc3QgKuKAmX0KcHJvZmlsZXMvYXVkaW8v YTJkcC5jOjQ2MTozMTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+Y29uZmln X2Ni4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGli bGUtcG9pbnRlci10eXBlc10KICA0NjEgfCAgICBjYi0+Y29uZmlnX2NiKHMtPnNlc3Npb24sIHMt PnNlcHMsIHN0cmVhbSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5efn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQpw cm9maWxlcy9hdWRpby9hMmRwLmM6NDYxOjMxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYTJk cF9zZXAgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhHU0xpc3QgKuKAmSB7YWthIOKA mHN0cnVjdCBfR1NMaXN0ICrigJl9CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzogSW4gZnVuY3Rpb24g 4oCYY2hhbm5lbF9mcmVl4oCZOgpwcm9maWxlcy9hdWRpby9hMmRwLmM6MTYwODo0MjogZXJyb3I6 IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhmaW5hbGl6ZV9zZXR1cF9lcnJub+KAmSBmcm9tIGlu Y29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlw ZXNdCiAxNjA4IHwgICBmaW5hbGl6ZV9zZXR1cF9lcnJubyhzZXR1cCwgLUVOT1RDT05OLCBmaW5h bGl6ZV9hbGwsIE5VTEwpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgXn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB2b2lkICgqKShzdHJ1Y3QgYTJkcF9zZXR1cCAqKQpwcm9maWxlcy9hdWRpby9hMmRw LmM6MjYyOjE4OiBub3RlOiBleHBlY3RlZCDigJhHU291cmNlRnVuY+KAmSB7YWthIOKAmGludCAo Kikodm9pZCAqKeKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYdm9pZCAoKikoc3RydWN0 IGEyZHBfc2V0dXAgKinigJkKICAyNjIgfCAgICAgIEdTb3VyY2VGdW5jIGNiMSwgLi4uKQogICAg ICB8ICAgICAgfn5+fn5+fn5+fn5+Xn5+CkF0IHRvcCBsZXZlbDoKcHJvZmlsZXMvYXVkaW8vYTJk cC5jOjQwNzoxMzogZXJyb3I6IOKAmGZpbmFsaXplX2FsbOKAmSBkZWZpbmVkIGJ1dCBub3QgdXNl ZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiAgNDA3IHwgc3RhdGljIHZvaWQgZmluYWxpemVf YWxsKHN0cnVjdCBhMmRwX3NldHVwICpzKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+ fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiog W01ha2VmaWxlOjg1MzE6IHByb2ZpbGVzL2F1ZGlvL2JsdWV0b290aGQtYTJkcC5vXSBFcnJvciAx Cm1ha2U6ICoqKiBbTWFrZWZpbGU6NDEzNDogYWxsXSBFcnJvciAyCgoKIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjClRlc3Q6IE1ha2UgQ2hlY2sgLSBGQUlMCkRlc2M6IFJ1biAnbWFrZSBj aGVjaycKT3V0cHV0Ogpwcm9maWxlcy9hdWRpby9hMmRwLmM6IEluIGZ1bmN0aW9uIOKAmGZpbmFs aXplX2FsbOKAmToKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMDozMTogZXJyb3I6IHBhc3Npbmcg YXJndW1lbnQgMiBvZiDigJhjYi0+c2VsZWN0X2Ni4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50 ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA0MjAgfCAgICBj Yi0+c2VsZWN0X2NiKHMtPnNlc3Npb24sIHMtPnNlcHMsCiAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB+Xn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTTGlzdCAqIHtha2Eg c3RydWN0IF9HU0xpc3QgKn0KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMDozMTogbm90ZTogZXhw ZWN0ZWQg4oCYc3RydWN0IGEyZHBfc2VwICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY R1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3QgX0dTTGlzdCAq4oCZfQpwcm9maWxlcy9hdWRpby9h MmRwLmM6NDIxOjY6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYY2ItPnNlbGVjdF9j YuKAmSBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1p bnQtY29udmVyc2lvbl0KICA0MjEgfCAgICAgIGVycm9yX3RvX2Vycm5vKHMtPmVyciksIGNiLT51 c2VyX2RhdGEpOwogICAgICB8ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAg ICAgfAogICAgICB8ICAgICAgaW50CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjE6Njogbm90ZTog ZXhwZWN0ZWQg4oCYR1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3QgX0dTTGlzdCAq4oCZfSBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSDigJhpbnTigJkKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMToz MjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgNCBvZiDigJhjYi0+c2VsZWN0X2Ni4oCZIG1ha2Vz IGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJz aW9uXQogIDQyMSB8ICAgICAgZXJyb3JfdG9fZXJybm8ocy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7 CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fl5+fn5+fn5+fn5+CiAgICAg IHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdm9pZCAqCnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjE6MzI6IG5v dGU6IGV4cGVjdGVkIOKAmGludOKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJh2b2lkICri gJkKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMDo0OiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMg dG8gZnVuY3Rpb24g4oCYY2ItPnNlbGVjdF9jYuKAmQogIDQyMCB8ICAgIGNiLT5zZWxlY3RfY2Io cy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICBefgpwcm9maWxlcy9hdWRpby9hMmRwLmM6 NDIzOjMyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGNiLT5zdXNwZW5kX2Ni4oCZ IG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1j b252ZXJzaW9uXQogIDQyMyB8ICAgIGNiLT5zdXNwZW5kX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMs CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfl5+fn5+fgogICAgICB8ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEdTTGlzdCAqIHtha2Egc3RydWN0IF9HU0xpc3QgKn0KcHJvZmlsZXMvYXVk aW8vYTJkcC5jOjQyMzozMjogbm90ZTogZXhwZWN0ZWQg4oCYaW504oCZIGJ1dCBhcmd1bWVudCBp cyBvZiB0eXBlIOKAmEdTTGlzdCAq4oCZIHtha2Eg4oCYc3RydWN0IF9HU0xpc3QgKuKAmX0KcHJv ZmlsZXMvYXVkaW8vYTJkcC5jOjQyNDo2OiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKA mGNiLT5zdXNwZW5kX2Ni4oCZIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQyNCB8ICAgICAgZXJyb3JfdG9fZXJybm8o cy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICB8CiAgICAgIHwgICAgICBpbnQKcHJvZmlsZXMvYXVkaW8vYTJkcC5j OjQyNDo2OiBub3RlOiBleHBlY3RlZCDigJh2b2lkICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5 cGUg4oCYaW504oCZCnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjM6NDogZXJyb3I6IHRvbyBtYW55 IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhjYi0+c3VzcGVuZF9jYuKAmQogIDQyMyB8ICAgIGNi LT5zdXNwZW5kX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMsCiAgICAgIHwgICAgXn4KcHJvZmlsZXMv YXVkaW8vYTJkcC5jOjQyNjozMTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+ cmVzdW1lX2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFst V2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQyNiB8ICAgIGNiLT5yZXN1bWVfY2Iocy0+c2Vzc2lv biwgcy0+c2VwcywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5efn5+fn4K ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQpwcm9m aWxlcy9hdWRpby9hMmRwLmM6NDI2OjMxOiBub3RlOiBleHBlY3RlZCDigJhpbnTigJkgYnV0IGFy Z3VtZW50IGlzIG9mIHR5cGUg4oCYR1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3QgX0dTTGlzdCAq 4oCZfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI3OjY6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50 IDMgb2Yg4oCYY2ItPnJlc3VtZV9jYuKAmSBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRo b3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICA0MjcgfCAgICAgIGVycm9yX3Rv X2Vycm5vKHMtPmVyciksIGNiLT51c2VyX2RhdGEpOwogICAgICB8ICAgICAgXn5+fn5+fn5+fn5+ fn5+fn5+fn5+fgogICAgICB8ICAgICAgfAogICAgICB8ICAgICAgaW50CnByb2ZpbGVzL2F1ZGlv L2EyZHAuYzo0Mjc6Njogbm90ZTogZXhwZWN0ZWQg4oCYdm9pZCAq4oCZIGJ1dCBhcmd1bWVudCBp cyBvZiB0eXBlIOKAmGludOKAmQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI2OjQ6IGVycm9yOiB0 b28gbWFueSBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYY2ItPnJlc3VtZV9jYuKAmQogIDQyNiB8 ICAgIGNiLT5yZXN1bWVfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICBefgpwcm9m aWxlcy9hdWRpby9hMmRwLmM6NDI5OjMxOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKA mGNiLT5jb25maWdfY2LigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2Vycm9y PWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDQyOSB8ICAgIGNiLT5jb25maWdfY2Iocy0+ c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5e fn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAq fQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI5OjMxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3Qg YTJkcF9zZXAgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhHU0xpc3QgKuKAmSB7YWth IOKAmHN0cnVjdCBfR1NMaXN0ICrigJl9CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MzA6NjogZXJy b3I6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhjYi0+Y29uZmlnX2Ni4oCZIG1ha2VzIHBvaW50 ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQog IDQzMCB8ICAgICAgZXJyb3JfdG9fZXJybm8ocy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAg IHwgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICB8CiAgICAgIHwgICAg ICBpbnQKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQzMDo2OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1 Y3QgYXZkdHBfc3RyZWFtICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYaW504oCZCnBy b2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MzA6MzI6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDQgb2Yg 4oCYY2ItPmNvbmZpZ19jYuKAmSBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEg Y2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICA0MzAgfCAgICAgIGVycm9yX3RvX2Vycm5v KHMtPmVyciksIGNiLT51c2VyX2RhdGEpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfn5efn5+fn5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKgpwcm9maWxl cy9hdWRpby9hMmRwLmM6NDMwOjMyOiBub3RlOiBleHBlY3RlZCDigJhpbnTigJkgYnV0IGFyZ3Vt ZW50IGlzIG9mIHR5cGUg4oCYdm9pZCAq4oCZCnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0Mjk6NDog ZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIOKAmGNiLT5jb25maWdfY2LigJkK ICA0MjkgfCAgICBjYi0+Y29uZmlnX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMsCiAgICAgIHwgICAg Xn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOiBBdCB0b3AgbGV2ZWw6CnByb2ZpbGVzL2F1ZGlvL2Ey ZHAuYzo0Mzg6MTM6IGVycm9yOiByZWRlZmluaXRpb24gb2Yg4oCYZmluYWxpemVfYWxs4oCZCiAg NDM4IHwgc3RhdGljIHZvaWQgZmluYWxpemVfYWxsKHN0cnVjdCBhMmRwX3NldHVwICpzKQogICAg ICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDA3OjEz OiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIG9mIOKAmGZpbmFsaXplX2FsbOKAmSB3YXMgaGVy ZQogIDQwNyB8IHN0YXRpYyB2b2lkIGZpbmFsaXplX2FsbChzdHJ1Y3QgYTJkcF9zZXR1cCAqcykK ICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOiBJ biBmdW5jdGlvbiDigJhmaW5hbGl6ZV9hbGzigJk6CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0NTI6 MzE6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYY2ItPnNlbGVjdF9jYuKAmSBmcm9t IGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXIt dHlwZXNdCiAgNDUyIHwgICAgY2ItPnNlbGVjdF9jYihzLT5zZXNzaW9uLCBzLT5zZXBzLCBzLT5j YXBzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfl5+fn5+fgogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHU0xpc3QgKiB7YWthIHN0cnVjdCBfR1NMaXN0ICp9CnByb2ZpbGVzL2F1 ZGlvL2EyZHAuYzo0NTI6MzE6IG5vdGU6IGV4cGVjdGVkIOKAmHN0cnVjdCBhMmRwX3NlcCAq4oCZ IGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmEdTTGlzdCAq4oCZIHtha2Eg4oCYc3RydWN0IF9H U0xpc3QgKuKAmX0KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQ2MTozMTogZXJyb3I6IHBhc3Npbmcg YXJndW1lbnQgMiBvZiDigJhjYi0+Y29uZmlnX2Ni4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50 ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA0NjEgfCAgICBj Yi0+Y29uZmlnX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMsIHN0cmVhbSwKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5efn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0 ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDYxOjMxOiBu b3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYTJkcF9zZXAgKuKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhHU0xpc3QgKuKAmSB7YWthIOKAmHN0cnVjdCBfR1NMaXN0ICrigJl9CnByb2ZpbGVz L2F1ZGlvL2EyZHAuYzogSW4gZnVuY3Rpb24g4oCYY2hhbm5lbF9mcmVl4oCZOgpwcm9maWxlcy9h dWRpby9hMmRwLmM6MTYwODo0MjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhmaW5h bGl6ZV9zZXR1cF9lcnJub+KAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAxNjA4IHwgICBmaW5hbGl6ZV9zZXR1cF9l cnJubyhzZXR1cCwgLUVOT1RDT05OLCBmaW5hbGl6ZV9hbGwsIE5VTEwpOwogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+fn5+CiAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2lkICgqKShzdHJ1Y3QgYTJkcF9z ZXR1cCAqKQpwcm9maWxlcy9hdWRpby9hMmRwLmM6MjYyOjE4OiBub3RlOiBleHBlY3RlZCDigJhH U291cmNlRnVuY+KAmSB7YWthIOKAmGludCAoKikodm9pZCAqKeKAmX0gYnV0IGFyZ3VtZW50IGlz IG9mIHR5cGUg4oCYdm9pZCAoKikoc3RydWN0IGEyZHBfc2V0dXAgKinigJkKICAyNjIgfCAgICAg IEdTb3VyY2VGdW5jIGNiMSwgLi4uKQogICAgICB8ICAgICAgfn5+fn5+fn5+fn5+Xn5+CkF0IHRv cCBsZXZlbDoKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQwNzoxMzogZXJyb3I6IOKAmGZpbmFsaXpl X2FsbOKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCiAg NDA3IHwgc3RhdGljIHZvaWQgZmluYWxpemVfYWxsKHN0cnVjdCBhMmRwX3NldHVwICpzKQogICAg ICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgpjYzE6IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVh dGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2VmaWxlOjg1MzE6IHByb2ZpbGVzL2F1ZGlv L2JsdWV0b290aGQtYTJkcC5vXSBFcnJvciAxCm1ha2U6ICoqKiBbTWFrZWZpbGU6MTA0MDY6IGNo ZWNrXSBFcnJvciAyCgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IE1ha2Ug RGlzdGNoZWNrIC0gRkFJTApEZXNjOiBSdW4gZGlzdGNoZWNrIHRvIGNoZWNrIHRoZSBkaXN0cmli dXRpb24KT3V0cHV0OgouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6IEluIGZ1bmN0aW9uIOKA mGZpbmFsaXplX2FsbOKAmToKLi4vLi4vcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMDozMTogd2Fy bmluZzogcGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGNiLT5zZWxlY3RfY2LigJkgZnJvbSBpbmNv bXBhdGlibGUgcG9pbnRlciB0eXBlIFstV2luY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDQy MCB8ICAgIGNiLT5zZWxlY3RfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5efn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0 ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDIw OjMxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYTJkcF9zZXAgKuKAmSBidXQgYXJndW1lbnQg aXMgb2YgdHlwZSDigJhHU0xpc3QgKuKAmSB7YWthIOKAmHN0cnVjdCBfR1NMaXN0ICrigJl9Ci4u Ly4uL3Byb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjE6Njogd2FybmluZzogcGFzc2luZyBhcmd1bWVu dCAzIG9mIOKAmGNiLT5zZWxlY3RfY2LigJkgbWFrZXMgcG9pbnRlciBmcm9tIGludGVnZXIgd2l0 aG91dCBhIGNhc3QgWy1XaW50LWNvbnZlcnNpb25dCiAgNDIxIHwgICAgICBlcnJvcl90b19lcnJu byhzLT5lcnIpLCBjYi0+dXNlcl9kYXRhKTsKICAgICAgfCAgICAgIF5+fn5+fn5+fn5+fn5+fn5+ fn5+fn4KICAgICAgfCAgICAgIHwKICAgICAgfCAgICAgIGludAouLi8uLi9wcm9maWxlcy9hdWRp by9hMmRwLmM6NDIxOjY6IG5vdGU6IGV4cGVjdGVkIOKAmEdTTGlzdCAq4oCZIHtha2Eg4oCYc3Ry dWN0IF9HU0xpc3QgKuKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYaW504oCZCi4uLy4u L3Byb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjE6MzI6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQg NCBvZiDigJhjYi0+c2VsZWN0X2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhv dXQgYSBjYXN0IFstV2ludC1jb252ZXJzaW9uXQogIDQyMSB8ICAgICAgZXJyb3JfdG9fZXJybm8o cy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fl5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi4uLy4uL3By b2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjE6MzI6IG5vdGU6IGV4cGVjdGVkIOKAmGludOKAmSBidXQg YXJndW1lbnQgaXMgb2YgdHlwZSDigJh2b2lkICrigJkKLi4vLi4vcHJvZmlsZXMvYXVkaW8vYTJk cC5jOjQyMDo0OiBlcnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYY2ItPnNl bGVjdF9jYuKAmQogIDQyMCB8ICAgIGNiLT5zZWxlY3RfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywK ICAgICAgfCAgICBefgouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDIzOjMyOiB3YXJuaW5n OiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg4oCYY2ItPnN1c3BlbmRfY2LigJkgbWFrZXMgaW50ZWdl ciBmcm9tIHBvaW50ZXIgd2l0aG91dCBhIGNhc3QgWy1XaW50LWNvbnZlcnNpb25dCiAgNDIzIHwg ICAgY2ItPnN1c3BlbmRfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB+Xn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0 ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDIz OjMyOiBub3RlOiBleHBlY3RlZCDigJhpbnTigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCY R1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3QgX0dTTGlzdCAq4oCZfQouLi8uLi9wcm9maWxlcy9h dWRpby9hMmRwLmM6NDI0OjY6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhjYi0+ c3VzcGVuZF9jYuKAmSBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBb LVdpbnQtY29udmVyc2lvbl0KICA0MjQgfCAgICAgIGVycm9yX3RvX2Vycm5vKHMtPmVyciksIGNi LT51c2VyX2RhdGEpOwogICAgICB8ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8 ICAgICAgfAogICAgICB8ICAgICAgaW50Ci4uLy4uL3Byb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjQ6 Njogbm90ZTogZXhwZWN0ZWQg4oCYdm9pZCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKA mGludOKAmQouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDIzOjQ6IGVycm9yOiB0b28gbWFu eSBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYY2ItPnN1c3BlbmRfY2LigJkKICA0MjMgfCAgICBj Yi0+c3VzcGVuZF9jYihzLT5zZXNzaW9uLCBzLT5zZXBzLAogICAgICB8ICAgIF5+Ci4uLy4uL3By b2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MjY6MzE6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMiBv ZiDigJhjYi0+cmVzdW1lX2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQg YSBjYXN0IFstV2ludC1jb252ZXJzaW9uXQogIDQyNiB8ICAgIGNiLT5yZXN1bWVfY2Iocy0+c2Vz c2lvbiwgcy0+c2VwcywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5efn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQou Li8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDI2OjMxOiBub3RlOiBleHBlY3RlZCDigJhpbnTi gJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYR1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3Qg X0dTTGlzdCAq4oCZfQouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDI3OjY6IHdhcm5pbmc6 IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhjYi0+cmVzdW1lX2Ni4oCZIG1ha2VzIHBvaW50ZXIg ZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2ludC1jb252ZXJzaW9uXQogIDQyNyB8ICAg ICAgZXJyb3JfdG9fZXJybm8ocy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICBe fn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICB8CiAgICAgIHwgICAgICBpbnQKLi4v Li4vcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyNzo2OiBub3RlOiBleHBlY3RlZCDigJh2b2lkICri gJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYaW504oCZCi4uLy4uL3Byb2ZpbGVzL2F1ZGlv L2EyZHAuYzo0MjY6NDogZXJyb3I6IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhj Yi0+cmVzdW1lX2Ni4oCZCiAgNDI2IHwgICAgY2ItPnJlc3VtZV9jYihzLT5zZXNzaW9uLCBzLT5z ZXBzLAogICAgICB8ICAgIF5+Ci4uLy4uL3Byb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0Mjk6MzE6IHdh cm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+Y29uZmlnX2Ni4oCZIGZyb20gaW5j b21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdpbmNvbXBhdGlibGUtcG9pbnRlci10eXBlc10KICA0 MjkgfCAgICBjYi0+Y29uZmlnX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMsCiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB+Xn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTTGlz dCAqIHtha2Egc3RydWN0IF9HU0xpc3QgKn0KLi4vLi4vcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQy OTozMTogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGEyZHBfc2VwICrigJkgYnV0IGFyZ3VtZW50 IGlzIG9mIHR5cGUg4oCYR1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3QgX0dTTGlzdCAq4oCZfQou Li8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDMwOjY6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1l bnQgMyBvZiDigJhjYi0+Y29uZmlnX2Ni4oCZIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdp dGhvdXQgYSBjYXN0IFstV2ludC1jb252ZXJzaW9uXQogIDQzMCB8ICAgICAgZXJyb3JfdG9fZXJy bm8ocy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICBefn5+fn5+fn5+fn5+fn5+ fn5+fn5+CiAgICAgIHwgICAgICB8CiAgICAgIHwgICAgICBpbnQKLi4vLi4vcHJvZmlsZXMvYXVk aW8vYTJkcC5jOjQzMDo2OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYXZkdHBfc3RyZWFtICri gJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYaW504oCZCi4uLy4uL3Byb2ZpbGVzL2F1ZGlv L2EyZHAuYzo0MzA6MzI6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgNCBvZiDigJhjYi0+Y29u ZmlnX2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2lu dC1jb252ZXJzaW9uXQogIDQzMCB8ICAgICAgZXJyb3JfdG9fZXJybm8ocy0+ZXJyKSwgY2ItPnVz ZXJfZGF0YSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+fl5+fn5+fn5+ fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCi4uLy4uL3Byb2ZpbGVzL2F1ZGlvL2Ey ZHAuYzo0MzA6MzI6IG5vdGU6IGV4cGVjdGVkIOKAmGludOKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJh2b2lkICrigJkKLi4vLi4vcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyOTo0OiBlcnJv cjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYY2ItPmNvbmZpZ19jYuKAmQogIDQy OSB8ICAgIGNiLT5jb25maWdfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICBefgou Li8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6IEF0IHRvcCBsZXZlbDoKLi4vLi4vcHJvZmlsZXMv YXVkaW8vYTJkcC5jOjQzODoxMzogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiDigJhmaW5hbGl6ZV9h bGzigJkKICA0MzggfCBzdGF0aWMgdm9pZCBmaW5hbGl6ZV9hbGwoc3RydWN0IGEyZHBfc2V0dXAg KnMpCiAgICAgIHwgICAgICAgICAgICAgXn5+fn5+fn5+fn5+Ci4uLy4uL3Byb2ZpbGVzL2F1ZGlv L2EyZHAuYzo0MDc6MTM6IG5vdGU6IHByZXZpb3VzIGRlZmluaXRpb24gb2Yg4oCYZmluYWxpemVf YWxs4oCZIHdhcyBoZXJlCiAgNDA3IHwgc3RhdGljIHZvaWQgZmluYWxpemVfYWxsKHN0cnVjdCBh MmRwX3NldHVwICpzKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgouLi8uLi9wcm9m aWxlcy9hdWRpby9hMmRwLmM6IEluIGZ1bmN0aW9uIOKAmGZpbmFsaXplX2FsbOKAmToKLi4vLi4v cHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQ1MjozMTogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAy IG9mIOKAmGNiLT5zZWxlY3RfY2LigJkgZnJvbSBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlIFst V2luY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDQ1MiB8ICAgIGNiLT5zZWxlY3RfY2Iocy0+ c2Vzc2lvbiwgcy0+c2Vwcywgcy0+Y2FwcywKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIH5efn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2FrYSBzdHJ1Y3Qg X0dTTGlzdCAqfQouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDUyOjMxOiBub3RlOiBleHBl Y3RlZCDigJhzdHJ1Y3QgYTJkcF9zZXAgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhH U0xpc3QgKuKAmSB7YWthIOKAmHN0cnVjdCBfR1NMaXN0ICrigJl9Ci4uLy4uL3Byb2ZpbGVzL2F1 ZGlvL2EyZHAuYzo0NjE6MzE6IHdhcm5pbmc6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+ Y29uZmlnX2Ni4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdpbmNvbXBhdGli bGUtcG9pbnRlci10eXBlc10KICA0NjEgfCAgICBjYi0+Y29uZmlnX2NiKHMtPnNlc3Npb24sIHMt PnNlcHMsIHN0cmVhbSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5efn5+ fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQou Li8uLi9wcm9maWxlcy9hdWRpby9hMmRwLmM6NDYxOjMxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1 Y3QgYTJkcF9zZXAgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhHU0xpc3QgKuKAmSB7 YWthIOKAmHN0cnVjdCBfR1NMaXN0ICrigJl9Ci4uLy4uL3Byb2ZpbGVzL2F1ZGlvL2EyZHAuYzog SW4gZnVuY3Rpb24g4oCYY2hhbm5lbF9mcmVl4oCZOgouLi8uLi9wcm9maWxlcy9hdWRpby9hMmRw LmM6MTYwODo0Mjogd2FybmluZzogcGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGZpbmFsaXplX3Nl dHVwX2Vycm5v4oCZIGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdpbmNvbXBhdGli bGUtcG9pbnRlci10eXBlc10KIDE2MDggfCAgIGZpbmFsaXplX3NldHVwX2Vycm5vKHNldHVwLCAt RU5PVENPTk4sIGZpbmFsaXplX2FsbCwgTlVMTCk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn4KICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHZvaWQgKCopKHN0cnVjdCBhMmRwX3NldHVwICopCi4uLy4u L3Byb2ZpbGVzL2F1ZGlvL2EyZHAuYzoyNjI6MTg6IG5vdGU6IGV4cGVjdGVkIOKAmEdTb3VyY2VG dW5j4oCZIHtha2Eg4oCYaW50ICgqKSh2b2lkICop4oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlw ZSDigJh2b2lkICgqKShzdHJ1Y3QgYTJkcF9zZXR1cCAqKeKAmQogIDI2MiB8ICAgICAgR1NvdXJj ZUZ1bmMgY2IxLCAuLi4pCiAgICAgIHwgICAgICB+fn5+fn5+fn5+fn5efn4KbWFrZVsyXTogKioq IFtNYWtlZmlsZTo4NTMxOiBwcm9maWxlcy9hdWRpby9ibHVldG9vdGhkLWEyZHAub10gRXJyb3Ig MQptYWtlWzFdOiAqKiogW01ha2VmaWxlOjQxMzQ6IGFsbF0gRXJyb3IgMgptYWtlOiAqKiogW01h a2VmaWxlOjEwMzI3OiBkaXN0Y2hlY2tdIEVycm9yIDEKCgojIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMKVGVzdDogQnVpbGQgdy9leHQgRUxMIC0gQ29uZmlndXJlIC0gUEFTUwpEZXNjOiBD b25maWd1cmUgQmx1ZVogc291cmNlIHdpdGggJy0tZW5hYmxlLWV4dGVybmFsLWVsbCcgY29uZmln dXJhdGlvbgoKIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjClRlc3Q6IEJ1aWxkIHcvZXh0 IEVMTCAtIE1ha2UgLSBGQUlMCkRlc2M6IEJ1aWxkIEJsdWVaIHNvdXJjZSB3aXRoICctLWVuYWJs ZS1leHRlcm5hbC1lbGwnIGNvbmZpZ3VyYXRpb24KT3V0cHV0Ogpwcm9maWxlcy9hdWRpby9hMmRw LmM6IEluIGZ1bmN0aW9uIOKAmGZpbmFsaXplX2FsbOKAmToKcHJvZmlsZXMvYXVkaW8vYTJkcC5j OjQyMDozMTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+c2VsZWN0X2Ni4oCZ IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9p bnRlci10eXBlc10KICA0MjAgfCAgICBjYi0+c2VsZWN0X2NiKHMtPnNlc3Npb24sIHMtPnNlcHMs CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+Xn5+fn5+CiAgICAgIHwgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgfAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEdTTGlzdCAqIHtha2Egc3RydWN0IF9HU0xpc3QgKn0KcHJvZmlsZXMvYXVkaW8v YTJkcC5jOjQyMDozMTogbm90ZTogZXhwZWN0ZWQg4oCYc3RydWN0IGEyZHBfc2VwICrigJkgYnV0 IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYR1NMaXN0ICrigJkge2FrYSDigJhzdHJ1Y3QgX0dTTGlz dCAq4oCZfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDIxOjY6IGVycm9yOiBwYXNzaW5nIGFyZ3Vt ZW50IDMgb2Yg4oCYY2ItPnNlbGVjdF9jYuKAmSBtYWtlcyBwb2ludGVyIGZyb20gaW50ZWdlciB3 aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICA0MjEgfCAgICAgIGVycm9y X3RvX2Vycm5vKHMtPmVyciksIGNiLT51c2VyX2RhdGEpOwogICAgICB8ICAgICAgXn5+fn5+fn5+ fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgfAogICAgICB8ICAgICAgaW50CnByb2ZpbGVzL2F1 ZGlvL2EyZHAuYzo0MjE6Njogbm90ZTogZXhwZWN0ZWQg4oCYR1NMaXN0ICrigJkge2FrYSDigJhz dHJ1Y3QgX0dTTGlzdCAq4oCZfSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhpbnTigJkKcHJv ZmlsZXMvYXVkaW8vYTJkcC5jOjQyMTozMjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgNCBvZiDi gJhjYi0+c2VsZWN0X2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBj YXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQyMSB8ICAgICAgZXJyb3JfdG9fZXJybm8o cy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB+fl5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdm9pZCAqCnByb2ZpbGVz L2F1ZGlvL2EyZHAuYzo0MjE6MzI6IG5vdGU6IGV4cGVjdGVkIOKAmGludOKAmSBidXQgYXJndW1l bnQgaXMgb2YgdHlwZSDigJh2b2lkICrigJkKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMDo0OiBl cnJvcjogdG9vIGZldyBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCYY2ItPnNlbGVjdF9jYuKAmQog IDQyMCB8ICAgIGNiLT5zZWxlY3RfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICBe fgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDIzOjMyOiBlcnJvcjogcGFzc2luZyBhcmd1bWVudCAy IG9mIOKAmGNiLT5zdXNwZW5kX2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhv dXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQyMyB8ICAgIGNiLT5zdXNwZW5k X2NiKHMtPnNlc3Npb24sIHMtPnNlcHMsCiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfl5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAg ICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdTTGlzdCAqIHtha2Egc3RydWN0 IF9HU0xpc3QgKn0KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyMzozMjogbm90ZTogZXhwZWN0ZWQg 4oCYaW504oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmEdTTGlzdCAq4oCZIHtha2Eg4oCY c3RydWN0IF9HU0xpc3QgKuKAmX0KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyNDo2OiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAzIG9mIOKAmGNiLT5zdXNwZW5kX2Ni4oCZIG1ha2VzIHBvaW50ZXIg ZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQy NCB8ICAgICAgZXJyb3JfdG9fZXJybm8ocy0+ZXJyKSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwg ICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICB8CiAgICAgIHwgICAgICBp bnQKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyNDo2OiBub3RlOiBleHBlY3RlZCDigJh2b2lkICri gJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYaW504oCZCnByb2ZpbGVzL2F1ZGlvL2EyZHAu Yzo0MjM6NDogZXJyb3I6IHRvbyBtYW55IGFyZ3VtZW50cyB0byBmdW5jdGlvbiDigJhjYi0+c3Vz cGVuZF9jYuKAmQogIDQyMyB8ICAgIGNiLT5zdXNwZW5kX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMs CiAgICAgIHwgICAgXn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQyNjozMTogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMiBvZiDigJhjYi0+cmVzdW1lX2Ni4oCZIG1ha2VzIGludGVnZXIgZnJvbSBw b2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQyNiB8ICAg IGNiLT5yZXN1bWVfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIH5efn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2Fr YSBzdHJ1Y3QgX0dTTGlzdCAqfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI2OjMxOiBub3RlOiBl eHBlY3RlZCDigJhpbnTigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYR1NMaXN0ICrigJkg e2FrYSDigJhzdHJ1Y3QgX0dTTGlzdCAq4oCZfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI3OjY6 IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDMgb2Yg4oCYY2ItPnJlc3VtZV9jYuKAmSBtYWtlcyBw b2ludGVyIGZyb20gaW50ZWdlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lv bl0KICA0MjcgfCAgICAgIGVycm9yX3RvX2Vycm5vKHMtPmVyciksIGNiLT51c2VyX2RhdGEpOwog ICAgICB8ICAgICAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgogICAgICB8ICAgICAgfAogICAgICB8 ICAgICAgaW50CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0Mjc6Njogbm90ZTogZXhwZWN0ZWQg4oCY dm9pZCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmGludOKAmQpwcm9maWxlcy9hdWRp by9hMmRwLmM6NDI2OjQ6IGVycm9yOiB0b28gbWFueSBhcmd1bWVudHMgdG8gZnVuY3Rpb24g4oCY Y2ItPnJlc3VtZV9jYuKAmQogIDQyNiB8ICAgIGNiLT5yZXN1bWVfY2Iocy0+c2Vzc2lvbiwgcy0+ c2VwcywKICAgICAgfCAgICBefgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI5OjMxOiBlcnJvcjog cGFzc2luZyBhcmd1bWVudCAyIG9mIOKAmGNiLT5jb25maWdfY2LigJkgZnJvbSBpbmNvbXBhdGli bGUgcG9pbnRlciB0eXBlIFstV2Vycm9yPWluY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzXQogIDQy OSB8ICAgIGNiLT5jb25maWdfY2Iocy0+c2Vzc2lvbiwgcy0+c2VwcywKICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIH5efn5+fn4KICAgICAgfCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR1NMaXN0 ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDI5OjMxOiBu b3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYTJkcF9zZXAgKuKAmSBidXQgYXJndW1lbnQgaXMgb2Yg dHlwZSDigJhHU0xpc3QgKuKAmSB7YWthIOKAmHN0cnVjdCBfR1NMaXN0ICrigJl9CnByb2ZpbGVz L2F1ZGlvL2EyZHAuYzo0MzA6NjogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMyBvZiDigJhjYi0+ Y29uZmlnX2Ni4oCZIG1ha2VzIHBvaW50ZXIgZnJvbSBpbnRlZ2VyIHdpdGhvdXQgYSBjYXN0IFst V2Vycm9yPWludC1jb252ZXJzaW9uXQogIDQzMCB8ICAgICAgZXJyb3JfdG9fZXJybm8ocy0+ZXJy KSwgY2ItPnVzZXJfZGF0YSk7CiAgICAgIHwgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+CiAg ICAgIHwgICAgICB8CiAgICAgIHwgICAgICBpbnQKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQzMDo2 OiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYXZkdHBfc3RyZWFtICrigJkgYnV0IGFyZ3VtZW50 IGlzIG9mIHR5cGUg4oCYaW504oCZCnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0MzA6MzI6IGVycm9y OiBwYXNzaW5nIGFyZ3VtZW50IDQgb2Yg4oCYY2ItPmNvbmZpZ19jYuKAmSBtYWtlcyBpbnRlZ2Vy IGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KICA0 MzAgfCAgICAgIGVycm9yX3RvX2Vycm5vKHMtPmVyciksIGNiLT51c2VyX2RhdGEpOwogICAgICB8 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfn5efn5+fn5+fn5+fgogICAgICB8ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHZvaWQgKgpwcm9maWxlcy9hdWRpby9hMmRwLmM6NDMwOjMyOiBub3RlOiBleHBl Y3RlZCDigJhpbnTigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYdm9pZCAq4oCZCnByb2Zp bGVzL2F1ZGlvL2EyZHAuYzo0Mjk6NDogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0 aW9uIOKAmGNiLT5jb25maWdfY2LigJkKICA0MjkgfCAgICBjYi0+Y29uZmlnX2NiKHMtPnNlc3Np b24sIHMtPnNlcHMsCiAgICAgIHwgICAgXn4KcHJvZmlsZXMvYXVkaW8vYTJkcC5jOiBBdCB0b3Ag bGV2ZWw6CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0Mzg6MTM6IGVycm9yOiByZWRlZmluaXRpb24g b2Yg4oCYZmluYWxpemVfYWxs4oCZCiAgNDM4IHwgc3RhdGljIHZvaWQgZmluYWxpemVfYWxsKHN0 cnVjdCBhMmRwX3NldHVwICpzKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgpwcm9m aWxlcy9hdWRpby9hMmRwLmM6NDA3OjEzOiBub3RlOiBwcmV2aW91cyBkZWZpbml0aW9uIG9mIOKA mGZpbmFsaXplX2FsbOKAmSB3YXMgaGVyZQogIDQwNyB8IHN0YXRpYyB2b2lkIGZpbmFsaXplX2Fs bChzdHJ1Y3QgYTJkcF9zZXR1cCAqcykKICAgICAgfCAgICAgICAgICAgICBefn5+fn5+fn5+fn4K cHJvZmlsZXMvYXVkaW8vYTJkcC5jOiBJbiBmdW5jdGlvbiDigJhmaW5hbGl6ZV9hbGzigJk6CnBy b2ZpbGVzL2F1ZGlvL2EyZHAuYzo0NTI6MzE6IGVycm9yOiBwYXNzaW5nIGFyZ3VtZW50IDIgb2Yg 4oCYY2ItPnNlbGVjdF9jYuKAmSBmcm9tIGluY29tcGF0aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJy b3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAgNDUyIHwgICAgY2ItPnNlbGVjdF9jYihz LT5zZXNzaW9uLCBzLT5zZXBzLCBzLT5jYXBzLAogICAgICB8ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfl5+fn5+fgogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwK ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHU0xpc3QgKiB7YWthIHN0cnVj dCBfR1NMaXN0ICp9CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzo0NTI6MzE6IG5vdGU6IGV4cGVjdGVk IOKAmHN0cnVjdCBhMmRwX3NlcCAq4oCZIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlIOKAmEdTTGlz dCAq4oCZIHtha2Eg4oCYc3RydWN0IF9HU0xpc3QgKuKAmX0KcHJvZmlsZXMvYXVkaW8vYTJkcC5j OjQ2MTozMTogZXJyb3I6IHBhc3NpbmcgYXJndW1lbnQgMiBvZiDigJhjYi0+Y29uZmlnX2Ni4oCZ IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSBbLVdlcnJvcj1pbmNvbXBhdGlibGUtcG9p bnRlci10eXBlc10KICA0NjEgfCAgICBjYi0+Y29uZmlnX2NiKHMtPnNlc3Npb24sIHMtPnNlcHMs IHN0cmVhbSwKICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH5efn5+fn4KICAg ICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgR1NMaXN0ICoge2FrYSBzdHJ1Y3QgX0dTTGlzdCAqfQpwcm9maWxl cy9hdWRpby9hMmRwLmM6NDYxOjMxOiBub3RlOiBleHBlY3RlZCDigJhzdHJ1Y3QgYTJkcF9zZXAg KuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhHU0xpc3QgKuKAmSB7YWthIOKAmHN0cnVj dCBfR1NMaXN0ICrigJl9CnByb2ZpbGVzL2F1ZGlvL2EyZHAuYzogSW4gZnVuY3Rpb24g4oCYY2hh bm5lbF9mcmVl4oCZOgpwcm9maWxlcy9hdWRpby9hMmRwLmM6MTYwODo0MjogZXJyb3I6IHBhc3Np bmcgYXJndW1lbnQgMyBvZiDigJhmaW5hbGl6ZV9zZXR1cF9lcnJub+KAmSBmcm9tIGluY29tcGF0 aWJsZSBwb2ludGVyIHR5cGUgWy1XZXJyb3I9aW5jb21wYXRpYmxlLXBvaW50ZXItdHlwZXNdCiAx NjA4IHwgICBmaW5hbGl6ZV9zZXR1cF9lcnJubyhzZXR1cCwgLUVOT1RDT05OLCBmaW5hbGl6ZV9h bGwsIE5VTEwpOwogICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXn5+fn5+fn5+fn5+CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8CiAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICB2b2lkICgqKShzdHJ1Y3QgYTJkcF9zZXR1cCAqKQpwcm9maWxlcy9hdWRpby9hMmRwLmM6MjYy OjE4OiBub3RlOiBleHBlY3RlZCDigJhHU291cmNlRnVuY+KAmSB7YWthIOKAmGludCAoKikodm9p ZCAqKeKAmX0gYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYdm9pZCAoKikoc3RydWN0IGEyZHBf c2V0dXAgKinigJkKICAyNjIgfCAgICAgIEdTb3VyY2VGdW5jIGNiMSwgLi4uKQogICAgICB8ICAg ICAgfn5+fn5+fn5+fn5+Xn5+CkF0IHRvcCBsZXZlbDoKcHJvZmlsZXMvYXVkaW8vYTJkcC5jOjQw NzoxMzogZXJyb3I6IOKAmGZpbmFsaXplX2FsbOKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdl cnJvcj11bnVzZWQtZnVuY3Rpb25dCiAgNDA3IHwgc3RhdGljIHZvaWQgZmluYWxpemVfYWxsKHN0 cnVjdCBhMmRwX3NldHVwICpzKQogICAgICB8ICAgICAgICAgICAgIF5+fn5+fn5+fn5+fgpjYzE6 IGFsbCB3YXJuaW5ncyBiZWluZyB0cmVhdGVkIGFzIGVycm9ycwptYWtlWzFdOiAqKiogW01ha2Vm aWxlOjg1MzE6IHByb2ZpbGVzL2F1ZGlvL2JsdWV0b290aGQtYTJkcC5vXSBFcnJvciAxCm1ha2U6 ICoqKiBbTWFrZWZpbGU6NDEzNDogYWxsXSBFcnJvciAyCgoKCgotLS0KUmVnYXJkcywKTGludXgg Qmx1ZXRvb3RoCgo= --===============0492919236256725086==--