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 X-Spam-Level: X-Spam-Status: No, score=-6.4 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,HTML_MESSAGE,INCLUDES_PATCH,MAILING_LIST_MULTI, MIME_HTML_MOSTLY,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 97A33C2D0DB for ; Thu, 26 Dec 2019 02:57:20 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6D32420828 for ; Thu, 26 Dec 2019 02:57:20 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (1024-bit key) header.d=amdcloud.onmicrosoft.com header.i=@amdcloud.onmicrosoft.com header.b="lEfo7Bag" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6D32420828 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 23C0D8991E; Thu, 26 Dec 2019 02:57:20 +0000 (UTC) Received: from NAM04-CO1-obe.outbound.protection.outlook.com (mail-eopbgr690062.outbound.protection.outlook.com [40.107.69.62]) by gabe.freedesktop.org (Postfix) with ESMTPS id AC8FB8991E for ; Thu, 26 Dec 2019 02:57:18 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nbHd8Gpjjhn/Zblrb1HX7k1UYs/FoyhyKUVoVw/HOp2aWEvwtiJexYN6epdMpul5hooiI8Ovis2xf2I+UADeUA+x7rLZauXW8tC2AUTF2YFXOwXoa7/ZEHvrpmATd9FF5fYDg/KJ1Zp1z4ReYW3tdWUgPFWNfG60AFQLNFLHeM4T3TMqA3BRBKozl6yIZkET0kfnE+LQXxN43+hITDPUD58v4O/lIYic8D6838It4+zYR/q1Yu1KuXK8Bq7MGXKgJM0tg3Z4+5euks+Cf38WB+77g3gyWm6xfOgQngGtJWFJuiV1BNcYSgubknFVyEbDvRtECyhrVq1At+EgJ/Swcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3qNfzFxiHYfVi6nPosrG4giPbDG+3EAHrnW7YPeDVXY=; b=AjYmR0HTmmOjWBrX/QSSQ22YvIkdelHyNsJlH94ob7C3n0xWoWDZV0SVw5HEpZFJv4ZvELwP4eQ89chDTCyYj47zZl95AhoJcCpeI0RlvCLqRFgtF8Aw7Nj+oid+JPebqXpdeUDkffYQmhdG5OP1F0pW1N07ZcTHUPLZvugmh4p9gqgqAfP+JKM4YIFJ1/IH0fIYL0kscU7vnvtsTSHwfYAJmyi+fxjUQ359f/AauV9FeqjI7BsgK0Be5wrV922doAz5JcgsbEMnuNN5BrfBD4GWx/VtNAjctf3u/5tGDg/0qaJc8pMeHYHGj/w54m+N6fP3wGdZ5tD5a0lTg8u82A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=3qNfzFxiHYfVi6nPosrG4giPbDG+3EAHrnW7YPeDVXY=; b=lEfo7BagmaxGJWszx7ThrYR636KjTlCSUvCh4S1p8dk19H+NOqZBLtxcSOjTnKkhI6PWIkmMj+lomlEFwnSzxvOJie1Dxdj0uhksA66Php3fz2+JLjoJjJjh5ya2k29l8O+MYCUIBqzfqT4gua/96WBPYv9bz6p3XaVgtnQ15jA= Received: from CH2PR12MB3672.namprd12.prod.outlook.com (52.132.246.139) by CH2PR12MB3752.namprd12.prod.outlook.com (52.132.247.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2559.16; Thu, 26 Dec 2019 02:57:17 +0000 Received: from CH2PR12MB3672.namprd12.prod.outlook.com ([fe80::8dbe:e9a8:801e:9b9d]) by CH2PR12MB3672.namprd12.prod.outlook.com ([fe80::8dbe:e9a8:801e:9b9d%7]) with mapi id 15.20.2559.017; Thu, 26 Dec 2019 02:57:17 +0000 From: "Zhang, Jack (Jian)" To: "Wang, Kevin(Yang)" , "Feng, Kenneth" , "Tao, Yintian" , "amd-gfx@lists.freedesktop.org" , "Deng, Emily" , "Quan, Evan" , "Min, Frank" Subject: RE: [PATCH] amd/amdgpu/sriov enable onevf mode for ARCTURUS VF Thread-Topic: [PATCH] amd/amdgpu/sriov enable onevf mode for ARCTURUS VF Thread-Index: AQHVuWyH98p430LSk0KUV3nPXXgyTqfHZojQgAAUr/GAARzmAIADJTbA Date: Thu, 26 Dec 2019 02:57:16 +0000 Message-ID: References: <20191223083939.9669-1-Jack.Zhang1@amd.com>, In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Enabled=True; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_SetDate=2019-12-23T10:10:29.876Z; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Name=Internal Distribution Only; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_ContentBits=0; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Method=Standard; authentication-results: spf=none (sender IP is ) smtp.mailfrom=Jack.Zhang1@amd.com; x-originating-ip: [180.167.199.189] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 3d380ea0-0a5d-4891-c9c7-08d789af512d x-ms-traffictypediagnostic: CH2PR12MB3752:|CH2PR12MB3752: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-forefront-prvs: 02638D901B x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(396003)(376002)(346002)(366004)(39860400002)(13464003)(189003)(199004)(7696005)(316002)(86362001)(52536014)(110136005)(5660300002)(6636002)(66946007)(2906002)(66476007)(64756008)(8676002)(76116006)(6506007)(53546011)(8936002)(26005)(66616009)(66556008)(66446008)(55016002)(478600001)(81166006)(186003)(9686003)(81156014)(33656002)(71200400001)(66574012)(921003)(1121003); DIR:OUT; SFP:1101; SCL:1; SRVR:CH2PR12MB3752; H:CH2PR12MB3672.namprd12.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; received-spf: None (protection.outlook.com: amd.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: XBxwnah9tLh7EwogcejAUk6GmTncZRdPq0DXnrG4s2Z226EvYp2v+BXbPtnvE36OiFRdXEtTjCNx1XRJGEaIbpZ6jqoNSRqgmtKGtjKgQzqGsmAnHVu+7TPda7nCjz+Kt4d+l35X6sByqP6gRKNQcRNcPHVt5UuSCrMoCsO6j9XFbhGWXquM4U4AGZQ2Z4Sr9JhraFnexbuQ0QfBKYREp2uS8GC4+O6Ldee5Fc9GjRax6iQtYWX6IGAUwkfg/oqA4xASObtsr5+N2RkTXiVtiubikzvbcSeIR6UAoKVN5BrFteMjZHw9AiWwdDMxKdoBorewLc7hEMTdwHVuM4BgrmnOaAL4pVpfFNYlbvi1+ejaDcot7UIhUHSTJuGo0PemUr1H9Cjt1ET3C32arEXqgI3uoBbnOTsRAwC9qrcPPwhyPvHgakRA9/TvcoWwUqBN1L5Q9QS+DJ2bkOSa5XuFEq40wAfek6rSz1PbTRX7SDXNNOuSTtBhmbeH9VbFH/7txMx+4+GSPYMzd2W0BM9V8g== Content-Type: multipart/mixed; boundary="_004_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_" MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 3d380ea0-0a5d-4891-c9c7-08d789af512d X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Dec 2019 02:57:16.8473 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: PAgZsun/w1KsCEYcHxXjQj86tqw4EHHiD5PcyyoCQfF1aDzmK27uBQ/qVRB0Q24/ X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB3752 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" --_004_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_ Content-Type: multipart/alternative; boundary="_000_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_" --_000_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UGluZ+KApg0KDQpGcm9tOiBaaGFuZywgSmFjayAoSmlhbikNClNlbnQ6IFR1ZXNkYXksIERlY2Vt YmVyIDI0LCAyMDE5IDExOjUxIEFNDQpUbzogV2FuZywgS2V2aW4oWWFuZykgPEtldmluMS5XYW5n QGFtZC5jb20+OyBGZW5nLCBLZW5uZXRoIDxLZW5uZXRoLkZlbmdAYW1kLmNvbT47IFRhbywgWWlu dGlhbiA8WWludGlhbi5UYW9AYW1kLmNvbT47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn OyBEZW5nLCBFbWlseSA8RW1pbHkuRGVuZ0BhbWQuY29tPjsgUXVhbiwgRXZhbiA8RXZhbi5RdWFu QGFtZC5jb20+DQpTdWJqZWN0OiBSRTogW1BBVENIXSBhbWQvYW1kZ3B1L3NyaW92IGVuYWJsZSBv bmV2ZiBtb2RlIGZvciBBUkNUVVJVUyBWRg0KDQpIaSwgS2V2aW4sDQoNClRoYW5rIHlvdSBmb3Ig eW91ciBjb2RlIHJldmlldy4NCg0KICAxLiAgSSB1cGRhdGVkIHRoZSBwYXRjaCB0byByZWZpbmUg cG1fZW5iYWJsZSBsb2dpYyAoYXR0YWNoZWQpLg0KDQoNCiAgMS4gIEZvciB0aGUgZm9sbG93aW5n IGNvbW1lbnRzLiDigJwqIENvcHkgcHB0YWJsZSBibyBpbiB0aGUgdnJhbeKApuKAnSwgaXQgaXMg dGhlIG9yaWdpbmFsIGJhcmUtbWV0YWwgY29tbWVudHMuIEkgZGlkbuKAmXQgY2hhbmdlIGl0Lg0K DQoNCiAgMS4gIOKAnGNvdWxkIHlvdSBkZXNjcmliZSB0aGUgZnVuY3Rpb24gb2YgcHBfb25lX3Zm IGFuZCBzcmlvdl92ZiA/4oCdDQoNCiAgMS4gIGFtZGdwdV9zcmlvdl92ZiAgbWFya3MgaWYgaXQg aXMgc3Jpb3Ygb3IgYmFyZS1tZXRhbC4gV2hpbGUgYW1kZ3B1X3NyaW92X2lzX3BwX29uZV92ZiBp cyBhIG1vZGUgb2Ygc3Jpb3YtIEl0IG1lYW5zIHRoZXJlIGlzIG9ubHkgb25lIFZGICBnZW5lcmF0 ZWQgYnkgaG9zdCBkcml2ZXIuDQogIDIuICBXaGVuIGhvc3QgZHJpdmVyIGlzIGxvYWRlZCwgaG9z dCBhZG1pbmlzdHJhdG9yIGNhbiBkZXRlcm1pbmUg4oCcdmYgbnVtYmVy4oCdLiBJZiB2Zl9udW0g PTEsIGhvc3QgZHJpdmVyIHdpbGwgbGV0IGd1ZXN0IGRyaXZlciBrbm93IGl0IGlzIHVuZGVyIG9u ZSB2ZiBtb2RlLXBwX29uZV92ZiByZXR1cm4gdHJ1ZS4gT3RoZXJ3aXNlLCBwcF9vbmVfdmYgcmV0 dXJuIGZhbHNlLiBXaXRob3V0IHVubG9hZGluZyBndWVzdCBkcml2ZXIgYW5kIGhvc3QgZHJpdmVy LCB2Zl9udW0gY2Fubm90IGJlIGNoYW5nZWQuIFNvIGl0IGlzIGEgc3RhdGljIHByb2Nlc3MuDQog IDMuICBVbmRlciAgcHBfb25lX3ZmIG1vZGUsIGd1ZXN0IGRyaXZlciB3aWxsIGRvIGh3X2luaXQg Zm9yIHNtdSwgdGhlIHB1cnBvc2Ugb2YgaXQgaXMgdG8gZW5hYmxlIGd1ZXN0IGRyaXZlciB0byDi gJx0YWxr4oCdIHdpdGggc211IGJ5IHNlbmRpbmcgYXV0aG9yaXplZCBzbXUgbWVzc2FnZXMuIFRo aXMgd2lsbCBoZWxwIHVzZXIgbW9kZSBhcHAgdG8gZHVtcCBpbmZvIGxpa2UgY2xrcywgdGVtcGVy YXR1cmUsIEdQVSB1c2FnZeKApi4gQ3VycmVudGx5IHdlIGRvbuKAmXQgc3VwcG9ydCBndWVzdCBk cml2ZXIgdG8gd3JpdGUgdmFsdWUgdG8gc211LiBPbmx5IHN1cHBvcnQgcmVhZCBwZXJtaXNzaW9u IHRvIGR1bXAgc211IGluZm9zLg0KDQpCZXNpZGVzLCBhcyBob3N0IGRyaXZlciBoYXMgYWxyZWFk eSBpbml0aWFsaXplZCBzbXUgaHcsIHNvbWUgaHcgaW5pdCBzdGVwcyBuZWVkIHRvIHNraXAgaW4g Z3Vlc3QgaHdfaW5pdCBmdW5jdGlvbiBvZiBzbXUgYmxvY2ssc3VjaCBhcyB3cml0ZSBwcHRhYmxl LCBsb2FkIHNtYyBmaXJtd2FyZS4NCg0KICAxLiAgcHBfb25lX3ZmIG1vZGUgbmVlZCBzbXUgc29t ZSBmaXJtd2FyZSBjaGFuZ2VzIHRvIG9wZW4gcGVybWlzc2lvbiBmb3IgY2VydGFpbiBtZXNzYWdl cyBpbiBWRi4NCg0KQi5SLg0KSmFjaw0KDQpGcm9tOiBXYW5nLCBLZXZpbihZYW5nKSA8S2V2aW4x LldhbmdAYW1kLmNvbTxtYWlsdG86S2V2aW4xLldhbmdAYW1kLmNvbT4+DQpTZW50OiBNb25kYXks IERlY2VtYmVyIDIzLCAyMDE5IDY6MTEgUE0NClRvOiBaaGFuZywgSmFjayAoSmlhbikgPEphY2su WmhhbmcxQGFtZC5jb208bWFpbHRvOkphY2suWmhhbmcxQGFtZC5jb20+PjsgRmVuZywgS2VubmV0 aCA8S2VubmV0aC5GZW5nQGFtZC5jb208bWFpbHRvOktlbm5ldGguRmVuZ0BhbWQuY29tPj47IFRh bywgWWludGlhbiA8WWludGlhbi5UYW9AYW1kLmNvbTxtYWlsdG86WWludGlhbi5UYW9AYW1kLmNv bT4+OyBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzxtYWlsdG86YW1kLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmc+OyBEZW5nLCBFbWlseSA8RW1pbHkuRGVuZ0BhbWQuY29tPG1haWx0bzpF bWlseS5EZW5nQGFtZC5jb20+Pg0KQ2M6IFF1YW4sIEV2YW4gPEV2YW4uUXVhbkBhbWQuY29tPG1h aWx0bzpFdmFuLlF1YW5AYW1kLmNvbT4+DQpTdWJqZWN0OiBSZTogW1BBVENIXSBhbWQvYW1kZ3B1 L3NyaW92IGVuYWJsZSBvbmV2ZiBtb2RlIGZvciBBUkNUVVJVUyBWRg0KDQoNCmFkZCBAUXVhbiwg RXZhbjxtYWlsdG86RXZhbi5RdWFuQGFtZC5jb20+IHRvIHN1cHBvcnQgYXJjdHVydXMgYXNpYy4N CmNvbW1lbnQgaW5saW5lLg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCkZyb206 IFpoYW5nLCBKYWNrIChKaWFuKSA8SmFjay5aaGFuZzFAYW1kLmNvbTxtYWlsdG86SmFjay5aaGFu ZzFAYW1kLmNvbT4+DQpTZW50OiBNb25kYXksIERlY2VtYmVyIDIzLCAyMDE5IDQ6NDIgUE0NClRv OiBGZW5nLCBLZW5uZXRoIDxLZW5uZXRoLkZlbmdAYW1kLmNvbTxtYWlsdG86S2VubmV0aC5GZW5n QGFtZC5jb20+PjsgV2FuZywgS2V2aW4oWWFuZykgPEtldmluMS5XYW5nQGFtZC5jb208bWFpbHRv OktldmluMS5XYW5nQGFtZC5jb20+PjsgVGFvLCBZaW50aWFuIDxZaW50aWFuLlRhb0BhbWQuY29t PG1haWx0bzpZaW50aWFuLlRhb0BhbWQuY29tPj47IGFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Au b3JnPG1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4gPGFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnPG1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZz4+OyBE ZW5nLCBFbWlseSA8RW1pbHkuRGVuZ0BhbWQuY29tPG1haWx0bzpFbWlseS5EZW5nQGFtZC5jb20+ Pg0KQ2M6IFpoYW5nLCBKYWNrIChKaWFuKSA8SmFjay5aaGFuZzFAYW1kLmNvbTxtYWlsdG86SmFj ay5aaGFuZzFAYW1kLmNvbT4+DQpTdWJqZWN0OiBSRTogW1BBVENIXSBhbWQvYW1kZ3B1L3NyaW92 IGVuYWJsZSBvbmV2ZiBtb2RlIGZvciBBUkNUVVJVUyBWRg0KDQoNCg0KLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCkZyb206IEphY2sgWmhhbmcgPEphY2suWmhhbmcxQGFtZC5jb208bWFpbHRv OkphY2suWmhhbmcxQGFtZC5jb20+Pg0KU2VudDogTW9uZGF5LCBEZWNlbWJlciAyMywgMjAxOSA0 OjQwIFBNDQpUbzogYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmc8bWFpbHRvOmFtZC1nZnhA bGlzdHMuZnJlZWRlc2t0b3Aub3JnPg0KQ2M6IFpoYW5nLCBKYWNrIChKaWFuKSA8SmFjay5aaGFu ZzFAYW1kLmNvbTxtYWlsdG86SmFjay5aaGFuZzFAYW1kLmNvbT4+DQpTdWJqZWN0OiBbUEFUQ0hd IGFtZC9hbWRncHUvc3Jpb3YgZW5hYmxlIG9uZXZmIG1vZGUgZm9yIEFSQ1RVUlVTIFZGDQoNCkJl Zm9yZSwgaW5pdGlhbGl6YXRpb24gb2Ygc211IGlwIGJsb2NrIHdvdWxkIGJlIHNraXBwZWQgZm9y IHNyaW92IEFTSUNzLiBCdXQgaWYgdGhlcmUncyBvbmx5IG9uZSBWRiBiZWluZyB1c2VkLCBndWVz dCBkcml2ZXIgc2hvdWxkIGJlIGFibGUgdG8gZHVtcCBzb21lIEhXIGluZm8gc3VjaCBhcyBjbGtz LCB0ZW1wZXJhdHVyZSxldGMuDQoNClRvIHNvbHZlIHRoaXMsIG5vdyBhZnRlciBvbmV2ZiBtb2Rl IGlzIGVuYWJsZWQsIGhvc3QgZHJpdmVyIHdpbGwgbm90aWZ5IGd1ZXN0LiBJZiBpdCdzIG9uZXZm IG1vZGUsIGd1ZXN0IHdpbGwgZG8gc211IGh3X2luaXQgYW5kIHNraXAgc29tZSBzdGVwcyBpbiBu b3JtYWwgc211IGh3X2luaXQgZmxvdyBiZWNhdXNlIGhvc3QgZHJpdmVyIGhhcyBhbHJlYWR5IGRv bmUgaXQgZm9yIHNtdS4NCg0KV2l0aCB0aGlzIGZpeCwgZ3Vlc3QgYXBwIGNhbiB0YWxrIHdpdGgg c211IGFuZCBkdW1wIGh3IGluZm9ybWF0aW9uIGZyb20gc211Lg0KDQpTaWduZWQtb2ZmLWJ5OiBK YWNrIFpoYW5nIDxKYWNrLlpoYW5nMUBhbWQuY29tPG1haWx0bzpKYWNrLlpoYW5nMUBhbWQuY29t Pj4NCi0tLQ0KIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYyAgICB8ICAz ICstDQogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUuYyAgICAgICAgIHwgIDMgKy0N CiBkcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmMgfCA0OSArKysrKysr KysrKysrKysrKystLS0tLS0tLS0tLS0NCiAzIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlvbnMo KyksIDIyIGRlbGV0aW9ucygtKQ0KDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3BzcC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Bz cC5jDQppbmRleCA4NDY5ODM0Li4wODEzMGE2IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3BzcC5jDQorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdw dS9hbWRncHVfcHNwLmMNCkBAIC0xNDQ4LDcgKzE0NDgsOCBAQCBzdGF0aWMgaW50IHBzcF9ucF9m d19sb2FkKHN0cnVjdCBwc3BfY29udGV4dCAqcHNwKQ0KICAgICAgICAgICAgICAgICAgICAgfHwg dWNvZGUtPnVjb2RlX2lkID09IEFNREdQVV9VQ09ERV9JRF9STENfRw0KICAgICAgICAgICAgICAg ICAgICAgfHwgdWNvZGUtPnVjb2RlX2lkID09IEFNREdQVV9VQ09ERV9JRF9STENfUkVTVE9SRV9M SVNUX0NOVEwNCiAgICAgICAgICAgICAgICAgICAgIHx8IHVjb2RlLT51Y29kZV9pZCA9PSBBTURH UFVfVUNPREVfSURfUkxDX1JFU1RPUkVfTElTVF9HUE1fTUVNDQotICAgICAgICAgICAgICAgICAg IHx8IHVjb2RlLT51Y29kZV9pZCA9PSBBTURHUFVfVUNPREVfSURfUkxDX1JFU1RPUkVfTElTVF9T Uk1fTUVNKSkNCisgICAgICAgICAgICAgICAgICAgfHwgdWNvZGUtPnVjb2RlX2lkID09IEFNREdQ VV9VQ09ERV9JRF9STENfUkVTVE9SRV9MSVNUX1NSTV9NRU0NCisgICAgICAgICAgICAgICAgICAg fHwgdWNvZGUtPnVjb2RlX2lkID09IEFNREdQVV9VQ09ERV9JRF9TTUMpKQ0KICAgICAgICAgICAg ICAgICAgICAgICAgIC8qc2tpcCB1Y29kZSBsb2FkaW5nIGluIFNSSU9WIFZGICovDQogICAgICAg ICAgICAgICAgICAgICAgICAgY29udGludWU7DQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9zb2MxNS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUu Yw0KaW5kZXggYjUzZDQwMS4uYTI3MTQ5NiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L3NvYzE1LmMNCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NvYzE1 LmMNCkBAIC04MjcsOCArODI3LDcgQEAgaW50IHNvYzE1X3NldF9pcF9ibG9ja3Moc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYpDQogICAgICAgICAgICAgICAgICAgICAgICAgYW1kZ3B1X2Rldmlj ZV9pcF9ibG9ja19hZGQoYWRldiwgJmRjZV92aXJ0dWFsX2lwX2Jsb2NrKTsNCiAgICAgICAgICAg ICAgICAgYW1kZ3B1X2RldmljZV9pcF9ibG9ja19hZGQoYWRldiwgJmdmeF92OV8wX2lwX2Jsb2Nr KTsNCiAgICAgICAgICAgICAgICAgYW1kZ3B1X2RldmljZV9pcF9ibG9ja19hZGQoYWRldiwgJnNk bWFfdjRfMF9pcF9ibG9jayk7DQotICAgICAgICAgICAgICAgaWYgKCFhbWRncHVfc3Jpb3ZfdmYo YWRldikpDQotICAgICAgICAgICAgICAgICAgICAgICBhbWRncHVfZGV2aWNlX2lwX2Jsb2NrX2Fk ZChhZGV2LCAmc211X3YxMV8wX2lwX2Jsb2NrKTsNCisgICAgICAgICAgICAgICBhbWRncHVfZGV2 aWNlX2lwX2Jsb2NrX2FkZChhZGV2LCAmc211X3YxMV8wX2lwX2Jsb2NrKTsNCg0KICAgICAgICAg ICAgICAgICBpZiAoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKSB7DQogICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGxpa2VseShhZGV2LT5maXJtd2FyZS5sb2FkX3R5cGUgPT0gQU1ER1BVX0ZXX0xP QURfUFNQKSkgZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdw dV9zbXUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYw0KaW5k ZXggOTM2YzY4Mi4uYzA3ZmIyNiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvcG93 ZXJwbGF5L2FtZGdwdV9zbXUuYw0KKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv YW1kZ3B1X3NtdS5jDQpAQCAtNTMxLDEwICs1MzEsMTQgQEAgYm9vbCBpc19zdXBwb3J0X3N3X3Nt dShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikNCiAgICAgICAgIGlmIChhZGV2LT5hc2ljX3R5 cGUgPT0gQ0hJUF9WRUdBMjApDQogICAgICAgICAgICAgICAgIHJldHVybiAoYW1kZ3B1X2RwbSA9 PSAyKSA/IHRydWUgOiBmYWxzZTsNCiAgICAgICAgIGVsc2UgaWYgKGFkZXYtPmFzaWNfdHlwZSA+ PSBDSElQX0FSQ1RVUlVTKSB7DQotICAgICAgICAgICAgICAgaWYgKGFtZGdwdV9zcmlvdl92Zihh ZGV2KSkNCi0gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCi0gICAgICAgICAg ICAgICBlbHNlDQorICAgICAgICAgICAgICAgaWYgKGFtZGdwdV9zcmlvdl92ZihhZGV2KSkgew0K KyAgICAgICAgICAgICAgICAgICAgICAgaWYoYW1kZ3B1X3NyaW92X2lzX3BwX29uZV92ZihhZGV2 KSkNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7DQorICAgICAg ICAgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiBmYWxzZTsNCisgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAg ICAgICAgIHJldHVybiB0cnVlOw0KKyAgICAgICAgICAgICAgIH0NCiAgICAgICAgIH0gZWxzZQ0K ICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogfQ0KQEAgLTEwNjIsMjAgKzEwNjYsMTkg QEAgc3RhdGljIGludCBzbXVfc21jX3RhYmxlX2h3X2luaXQoc3RydWN0IHNtdV9jb250ZXh0ICpz bXUsDQogICAgICAgICB9DQoNCiAgICAgICAgIC8qIHNtdV9kdW1wX3BwdGFibGUoc211KTsgKi8N CisgICAgICAgaWYoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpICYmICFhbWRncHVfc3Jpb3ZfaXNfcHBf b25lX3ZmKGFkZXYpKXsNCisgICAgICAgICAgICAgICAvKg0KKyAgICAgICAgICAgICAgICAqIENv cHkgcHB0YWJsZSBibyBpbiB0aGUgdnJhbSB0byBzbWMgd2l0aCBTTVUgTVNHcyBzdWNoIGFzDQor ICAgICAgICAgICAgICAgICogU2V0RHJpdmVyRHJhbUFkZHIgYW5kIFRyYW5zZmVyVGFibGVEcmFt MlNtdS4NCisgICAgICAgICAgICAgICAgKi8NCltrZXZpbl06IHRoaXMgY29tbWVudCBpcyBub3Qg bmVjY2Vzc2FyeSBpbiBzbXUgbW9kdWxlLg0KYW5kIGNvdWxkIHlvdSBkZXNjcmliZSB0aGUgZnVu Y3Rpb24gb2YgcHBfb25lX3ZmIGFuZCBzcmlvdl92ZiA/DQppdCBpcyB1c2VmdWwgdG8gaGVscCB1 cyB1bmRlcnN0YW5kIHlvdXIgcGF0Y2guDQp0aGFua3MuDQoNCisgICAgICAgICAgICAgICByZXQg PSBzbXVfd3JpdGVfcHB0YWJsZShzbXUpOw0KKyAgICAgICAgICAgICAgIGlmIChyZXQpDQorICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmV0Ow0KDQotICAgICAgIC8qDQotICAgICAgICAq IENvcHkgcHB0YWJsZSBibyBpbiB0aGUgdnJhbSB0byBzbWMgd2l0aCBTTVUgTVNHcyBzdWNoIGFz DQotICAgICAgICAqIFNldERyaXZlckRyYW1BZGRyIGFuZCBUcmFuc2ZlclRhYmxlRHJhbTJTbXUu DQotICAgICAgICAqLw0KLSAgICAgICByZXQgPSBzbXVfd3JpdGVfcHB0YWJsZShzbXUpOw0KLSAg ICAgICBpZiAocmV0KQ0KLSAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQotDQotICAgICAgIC8q IGlzc3VlIFJ1bipCdGMgbXNnICovDQotICAgICAgIHJldCA9IHNtdV9ydW5fYnRjKHNtdSk7DQot ICAgICAgIGlmIChyZXQpDQotICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCi0NCisgICAgICAg ICAgICAgICAvKiBpc3N1ZSBSdW4qQnRjIG1zZyAqLw0KKyAgICAgICAgICAgICAgIHJldCA9IHNt dV9ydW5fYnRjKHNtdSk7DQorICAgICAgICAgICAgICAgaWYgKHJldCkNCisgICAgICAgICAgICAg ICAgICAgICAgIHJldHVybiByZXQ7DQogICAgICAgICByZXQgPSBzbXVfZmVhdHVyZV9zZXRfYWxs b3dlZF9tYXNrKHNtdSk7DQogICAgICAgICBpZiAocmV0KQ0KICAgICAgICAgICAgICAgICByZXR1 cm4gcmV0Ow0KQEAgLTEwODMsNyArMTA4Niw3IEBAIHN0YXRpYyBpbnQgc211X3NtY190YWJsZV9o d19pbml0KHN0cnVjdCBzbXVfY29udGV4dCAqc211LA0KICAgICAgICAgcmV0ID0gc211X3N5c3Rl bV9mZWF0dXJlc19jb250cm9sKHNtdSwgdHJ1ZSk7DQogICAgICAgICBpZiAocmV0KQ0KICAgICAg ICAgICAgICAgICByZXR1cm4gcmV0Ow0KLQ0KKyAgICAgICB9DQogICAgICAgICBpZiAoYWRldi0+ YXNpY190eXBlICE9IENISVBfQVJDVFVSVVMpIHsNCiAgICAgICAgICAgICAgICAgcmV0ID0gc211 X25vdGlmeV9kaXNwbGF5X2NoYW5nZShzbXUpOw0KICAgICAgICAgICAgICAgICBpZiAocmV0KQ0K QEAgLTExMzYsOCArMTEzOSw5IEBAIHN0YXRpYyBpbnQgc211X3NtY190YWJsZV9od19pbml0KHN0 cnVjdCBzbXVfY29udGV4dCAqc211LA0KICAgICAgICAgLyoNCiAgICAgICAgICAqIFNldCBQTVNU QVRVU0xPRyB0YWJsZSBibyBhZGRyZXNzIHdpdGggU2V0VG9vbHNEcmFtQWRkciBNU0cgZm9yIHRv b2xzLg0KICAgICAgICAgICovDQotICAgICAgIHJldCA9IHNtdV9zZXRfdG9vbF90YWJsZV9sb2Nh dGlvbihzbXUpOw0KLQ0KKyAgICAgICBpZihhbWRncHVfc3Jpb3ZfdmYoYWRldikgJiYgIWFtZGdw dV9zcmlvdl9pc19wcF9vbmVfdmYoYWRldikpew0KKyAgICAgICAgICAgICAgIHJldCA9IHNtdV9z ZXRfdG9vbF90YWJsZV9sb2NhdGlvbihzbXUpOw0KKyAgICAgICB9DQogICAgICAgICBpZiAoIXNt dV9pc19kcG1fcnVubmluZyhzbXUpKQ0KICAgICAgICAgICAgICAgICBwcl9pbmZvKCJkcG0gaGFz IGJlZW4gZGlzYWJsZWRcbiIpOw0KDQpAQCAtMTI0OSw2ICsxMjUzLDEzIEBAIHN0YXRpYyBpbnQg c211X2h3X2luaXQodm9pZCAqaGFuZGxlKQ0KICAgICAgICAgICAgICAgICBzbXVfc2V0X2dmeF9j Z3BnKCZhZGV2LT5zbXUsIHRydWUpOw0KICAgICAgICAgfQ0KDQorICAgICAgIGlmIChhbWRncHVf c3Jpb3ZfdmYoYWRldikpIHsNCisgICAgICAgICAgICAgICBpZihhbWRncHVfc3Jpb3ZfaXNfcHBf b25lX3ZmKGFkZXYpKQ0KKyAgICAgICAgICAgICAgICAgICAgICAgc211LT5wbV9lbmFibGVkID0g dHJ1ZTsNCisgICAgICAgICAgICAgICBlbHNlDQorICAgICAgICAgICAgICAgICAgICAgICBzbXUt PnBtX2VuYWJsZWQgPSBmYWxzZTsNCisgICAgICAgfQ0KKw0KDQpba2V2aW5dOg0KdGhlIHZhcmlh YmxlIG9mICJzbXUtPnBtX2VuYWJlbGQiIGlzIGluaXRpYWxpemUgaW4gc211X2VhcnlfaW5pdCgp LCBpdCBpcyBvbmx5IGRlcGVuZCBvbiBtb2R1bGUgcGFyYW0gYW1kZ3B1X2RwbS4NCmFmdGVyIGlu aXRpYWxpemVkLCB0aGlzIHZhcmlhYmxlIHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcmJpdHJhcmls eS4NCnNvIGkgaG9wZSB5b3UgY2FuIHJlZmluZSB0aGUgYWJvdmUgY29kZSBsb2dpYy4NCg0KICAg ICAgICAgaWYgKCFzbXUtPnBtX2VuYWJsZWQpDQogICAgICAgICAgICAgICAgIHJldHVybiAwOw0K DQotLQ0KMi43LjQNCg== --_000_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6bT0iaHR0cDovL3NjaGVtYXMubWlj cm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv VFIvUkVDLWh0bWw0MCI+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIg Y29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxtZXRhIG5hbWU9IkdlbmVyYXRv ciIgY29udGVudD0iTWljcm9zb2Z0IFdvcmQgMTUgKGZpbHRlcmVkIG1lZGl1bSkiPg0KPCEtLVtp ZiAhbXNvXT48c3R5bGU+dlw6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kb1w6KiB7 YmVoYXZpb3I6dXJsKCNkZWZhdWx0I1ZNTCk7fQ0Kd1w6KiB7YmVoYXZpb3I6dXJsKCNkZWZhdWx0 I1ZNTCk7fQ0KLnNoYXBlIHtiZWhhdmlvcjp1cmwoI2RlZmF1bHQjVk1MKTt9DQo8L3N0eWxlPjwh W2VuZGlmXS0tPjxzdHlsZT48IS0tDQovKiBGb250IERlZmluaXRpb25zICovDQpAZm9udC1mYWNl DQoJe2ZvbnQtZmFtaWx5OlNpbVN1bjsNCglwYW5vc2UtMToyIDEgNiAwIDMgMSAxIDEgMSAxO30N CkBmb250LWZhY2UNCgl7Zm9udC1mYW1pbHk6IkNhbWJyaWEgTWF0aCI7DQoJcGFub3NlLTE6MiA0 IDUgMyA1IDQgNiAzIDIgNDt9DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OkRlbmdYaWFuOw0K CXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAxIDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWls eTpDYWxpYnJpOw0KCXBhbm9zZS0xOjIgMTUgNSAyIDIgMiA0IDMgMiA0O30NCkBmb250LWZhY2UN Cgl7Zm9udC1mYW1pbHk6IlxARGVuZ1hpYW4iOw0KCXBhbm9zZS0xOjIgMSA2IDAgMyAxIDEgMSAx IDE7fQ0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiXEBTaW1TdW4iOw0KCXBhbm9zZS0xOjIg MSA2IDAgMyAxIDEgMSAxIDE7fQ0KLyogU3R5bGUgRGVmaW5pdGlvbnMgKi8NCnAuTXNvTm9ybWFs LCBsaS5Nc29Ob3JtYWwsIGRpdi5Nc29Ob3JtYWwNCgl7bWFyZ2luOjBpbjsNCgltYXJnaW4tYm90 dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIs c2Fucy1zZXJpZjt9DQphOmxpbmssIHNwYW4uTXNvSHlwZXJsaW5rDQoJe21zby1zdHlsZS1wcmlv cml0eTo5OTsNCgljb2xvcjpibHVlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0KYTp2 aXNpdGVkLCBzcGFuLk1zb0h5cGVybGlua0ZvbGxvd2VkDQoJe21zby1zdHlsZS1wcmlvcml0eTo5 OTsNCgljb2xvcjpwdXJwbGU7DQoJdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTt9DQpwLk1zb0xp c3RQYXJhZ3JhcGgsIGxpLk1zb0xpc3RQYXJhZ3JhcGgsIGRpdi5Nc29MaXN0UGFyYWdyYXBoDQoJ e21zby1zdHlsZS1wcmlvcml0eTozNDsNCgltYXJnaW4tdG9wOjBpbjsNCgltYXJnaW4tcmlnaHQ6 MGluOw0KCW1hcmdpbi1ib3R0b206MGluOw0KCW1hcmdpbi1sZWZ0Oi41aW47DQoJbWFyZ2luLWJv dHRvbTouMDAwMXB0Ow0KCWZvbnQtc2l6ZToxMS4wcHQ7DQoJZm9udC1mYW1pbHk6IkNhbGlicmki LHNhbnMtc2VyaWY7fQ0KcC5tc29ub3JtYWwwLCBsaS5tc29ub3JtYWwwLCBkaXYubXNvbm9ybWFs MA0KCXttc28tc3R5bGUtbmFtZTptc29ub3JtYWw7DQoJbWFyZ2luOjBpbjsNCgltYXJnaW4tYm90 dG9tOi4wMDAxcHQ7DQoJZm9udC1zaXplOjExLjBwdDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIs c2Fucy1zZXJpZjt9DQpzcGFuLkVtYWlsU3R5bGUxOQ0KCXttc28tc3R5bGUtdHlwZTpwZXJzb25h bDsNCglmb250LWZhbWlseToiQ2FsaWJyaSIsc2Fucy1zZXJpZjsNCgljb2xvcjp3aW5kb3d0ZXh0 O30NCnNwYW4uRW1haWxTdHlsZTIyDQoJe21zby1zdHlsZS10eXBlOnBlcnNvbmFsLXJlcGx5Ow0K CWZvbnQtZmFtaWx5OiJDYWxpYnJpIixzYW5zLXNlcmlmOw0KCWNvbG9yOndpbmRvd3RleHQ7fQ0K Lk1zb0NocERlZmF1bHQNCgl7bXNvLXN0eWxlLXR5cGU6ZXhwb3J0LW9ubHk7DQoJZm9udC1zaXpl OjEwLjBwdDt9DQpAcGFnZSBXb3JkU2VjdGlvbjENCgl7c2l6ZTo4LjVpbiAxMS4waW47DQoJbWFy Z2luOjEuMGluIDEuMGluIDEuMGluIDEuMGluO30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpX b3JkU2VjdGlvbjE7fQ0KLyogTGlzdCBEZWZpbml0aW9ucyAqLw0KQGxpc3QgbDANCgl7bXNvLWxp c3QtaWQ6NTMwNTA1NjA7DQoJbXNvLWxpc3QtdHlwZTpoeWJyaWQ7DQoJbXNvLWxpc3QtdGVtcGxh dGUtaWRzOjE2NjMwNDg0MTggNjc2OTg3MDMgNjc2OTg3MTMgNjc2OTg3MTUgNjc2OTg3MDMgNjc2 OTg3MTMgNjc2OTg3MTUgNjc2OTg3MDMgNjc2OTg3MTMgNjc2OTg3MTU7fQ0KQGxpc3QgbDA6bGV2 ZWwxDQoJe21zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRp b246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47fQ0KQGxpc3QgbDA6bGV2ZWwyDQoJe21zby1s ZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2VyOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25l Ow0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47 fQ0KQGxpc3QgbDA6bGV2ZWwzDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxvd2Vy Ow0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246 cmlnaHQ7DQoJdGV4dC1pbmRlbnQ6LTkuMHB0O30NCkBsaXN0IGwwOmxldmVsNA0KCXttc28tbGV2 ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4 dC1pbmRlbnQ6LS4yNWluO30NCkBsaXN0IGwwOmxldmVsNQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZv cm1hdDphbHBoYS1sb3dlcjsNCgltc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwt bnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJdGV4dC1pbmRlbnQ6LS4yNWluO30NCkBsaXN0IGwwOmxl dmVsNg0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsNCgltc28tbGV2ZWwt dGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0Ow0KCXRleHQt aW5kZW50Oi05LjBwdDt9DQpAbGlzdCBsMDpsZXZlbDcNCgl7bXNvLWxldmVsLXRhYi1zdG9wOm5v bmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVp bjt9DQpAbGlzdCBsMDpsZXZlbDgNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93 ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlv bjpsZWZ0Ow0KCXRleHQtaW5kZW50Oi0uMjVpbjt9DQpAbGlzdCBsMDpsZXZlbDkNCgl7bXNvLWxl dmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5vbmU7 DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgl0ZXh0LWluZGVudDotOS4wcHQ7 fQ0KQGxpc3QgbDENCgl7bXNvLWxpc3QtaWQ6MTY0ODI3NzY2Ow0KCW1zby1saXN0LXRlbXBsYXRl LWlkczotODM4NDM1ODU2O30NCkBsaXN0IGwyDQoJe21zby1saXN0LWlkOjgwNjQzMDk1MTsNCglt c28tbGlzdC10eXBlOmh5YnJpZDsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6MTc3NDc1ODg4OCA2 NzY5ODcwNSA2NzY5ODcxMyA2NzY5ODcxNSA2NzY5ODcwMyA2NzY5ODcxMyA2NzY5ODcxNSA2NzY5 ODcwMyA2NzY5ODcxMyA2NzY5ODcxNTt9DQpAbGlzdCBsMjpsZXZlbDENCgl7bXNvLWxldmVsLXRl eHQ6IiUxXCkiOw0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXIt cG9zaXRpb246bGVmdDsNCgltYXJnaW4tbGVmdDoxLjBpbjsNCgl0ZXh0LWluZGVudDotLjI1aW47 fQ0KQGxpc3QgbDI6bGV2ZWwyDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OmFscGhhLWxvd2Vy Ow0KCW1zby1sZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246 bGVmdDsNCgltYXJnaW4tbGVmdDoxLjVpbjsNCgl0ZXh0LWluZGVudDotLjI1aW47fQ0KQGxpc3Qg bDI6bGV2ZWwzDQoJe21zby1sZXZlbC1udW1iZXItZm9ybWF0OnJvbWFuLWxvd2VyOw0KCW1zby1s ZXZlbC10YWItc3RvcDpub25lOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246cmlnaHQ7DQoJ bWFyZ2luLWxlZnQ6Mi4waW47DQoJdGV4dC1pbmRlbnQ6LTkuMHB0O30NCkBsaXN0IGwyOmxldmVs NA0KCXttc28tbGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9u OmxlZnQ7DQoJbWFyZ2luLWxlZnQ6Mi41aW47DQoJdGV4dC1pbmRlbnQ6LS4yNWluO30NCkBsaXN0 IGwyOmxldmVsNQ0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDphbHBoYS1sb3dlcjsNCgltc28t bGV2ZWwtdGFiLXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOmxlZnQ7DQoJ bWFyZ2luLWxlZnQ6My4waW47DQoJdGV4dC1pbmRlbnQ6LS4yNWluO30NCkBsaXN0IGwyOmxldmVs Ng0KCXttc28tbGV2ZWwtbnVtYmVyLWZvcm1hdDpyb21hbi1sb3dlcjsNCgltc28tbGV2ZWwtdGFi LXN0b3A6bm9uZTsNCgltc28tbGV2ZWwtbnVtYmVyLXBvc2l0aW9uOnJpZ2h0Ow0KCW1hcmdpbi1s ZWZ0OjMuNWluOw0KCXRleHQtaW5kZW50Oi05LjBwdDt9DQpAbGlzdCBsMjpsZXZlbDcNCgl7bXNv LWxldmVsLXRhYi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0K CW1hcmdpbi1sZWZ0OjQuMGluOw0KCXRleHQtaW5kZW50Oi0uMjVpbjt9DQpAbGlzdCBsMjpsZXZl bDgNCgl7bXNvLWxldmVsLW51bWJlci1mb3JtYXQ6YWxwaGEtbG93ZXI7DQoJbXNvLWxldmVsLXRh Yi1zdG9wOm5vbmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCW1hcmdpbi1s ZWZ0OjQuNWluOw0KCXRleHQtaW5kZW50Oi0uMjVpbjt9DQpAbGlzdCBsMjpsZXZlbDkNCgl7bXNv LWxldmVsLW51bWJlci1mb3JtYXQ6cm9tYW4tbG93ZXI7DQoJbXNvLWxldmVsLXRhYi1zdG9wOm5v bmU7DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpyaWdodDsNCgltYXJnaW4tbGVmdDo1LjBp bjsNCgl0ZXh0LWluZGVudDotOS4wcHQ7fQ0KQGxpc3QgbDMNCgl7bXNvLWxpc3QtaWQ6MTQzNTM5 NDc4MTsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6MjA1NTQ1NjQ2O30NCkBsaXN0IGw0DQoJe21z by1saXN0LWlkOjE4MDI2NTA2MTI7DQoJbXNvLWxpc3QtdGVtcGxhdGUtaWRzOjE5NzYxOTM5NDI7 fQ0KQGxpc3QgbDQ6bGV2ZWwxDQoJe21zby1sZXZlbC1zdGFydC1hdDozOw0KCW1zby1sZXZlbC10 YWItc3RvcDouNWluOw0KCW1zby1sZXZlbC1udW1iZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWlu ZGVudDotLjI1aW47fQ0KQGxpc3QgbDUNCgl7bXNvLWxpc3QtaWQ6MTk2NDM4MzI3OTsNCgltc28t bGlzdC10ZW1wbGF0ZS1pZHM6MjU0NTk3MTQ7fQ0KQGxpc3QgbDU6bGV2ZWwxDQoJe21zby1sZXZl bC1zdGFydC1hdDoyOw0KCW1zby1sZXZlbC10YWItc3RvcDouNWluOw0KCW1zby1sZXZlbC1udW1i ZXItcG9zaXRpb246bGVmdDsNCgl0ZXh0LWluZGVudDotLjI1aW47fQ0KQGxpc3QgbDYNCgl7bXNv LWxpc3QtaWQ6MTk5NTQ0NjM1OTsNCgltc28tbGlzdC10ZW1wbGF0ZS1pZHM6LTUyNjg2NzY1MDt9 DQpAbGlzdCBsNjpsZXZlbDENCgl7bXNvLWxldmVsLXN0YXJ0LWF0OjQ7DQoJbXNvLWxldmVsLXRh Yi1zdG9wOi41aW47DQoJbXNvLWxldmVsLW51bWJlci1wb3NpdGlvbjpsZWZ0Ow0KCXRleHQtaW5k ZW50Oi0uMjVpbjt9DQpvbA0KCXttYXJnaW4tYm90dG9tOjBpbjt9DQp1bA0KCXttYXJnaW4tYm90 dG9tOjBpbjt9DQotLT48L3N0eWxlPjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVk ZWZhdWx0cyB2OmV4dD0iZWRpdCIgc3BpZG1heD0iMTAyNiIgLz4NCjwveG1sPjwhW2VuZGlmXS0t PjwhLS1baWYgZ3RlIG1zbyA5XT48eG1sPg0KPG86c2hhcGVsYXlvdXQgdjpleHQ9ImVkaXQiPg0K PG86aWRtYXAgdjpleHQ9ImVkaXQiIGRhdGE9IjEiIC8+DQo8L286c2hhcGVsYXlvdXQ+PC94bWw+ PCFbZW5kaWZdLS0+DQo8L2hlYWQ+DQo8Ym9keSBsYW5nPSJFTi1VUyIgbGluaz0iYmx1ZSIgdmxp bms9InB1cnBsZSI+DQo8ZGl2IGNsYXNzPSJXb3JkU2VjdGlvbjEiPg0KPHAgY2xhc3M9Ik1zb05v cm1hbCI+UGluZ+KApjxvOnA+PC9vOnA+PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4m bmJzcDs8L286cD48L3A+DQo8ZGl2Pg0KPGRpdiBzdHlsZT0iYm9yZGVyOm5vbmU7Ym9yZGVyLXRv cDpzb2xpZCAjRTFFMUUxIDEuMHB0O3BhZGRpbmc6My4wcHQgMGluIDBpbiAwaW4iPg0KPHAgY2xh c3M9Ik1zb05vcm1hbCI+PGI+RnJvbTo8L2I+IFpoYW5nLCBKYWNrIChKaWFuKSA8YnI+DQo8Yj5T ZW50OjwvYj4gVHVlc2RheSwgRGVjZW1iZXIgMjQsIDIwMTkgMTE6NTEgQU08YnI+DQo8Yj5Ubzo8 L2I+IFdhbmcsIEtldmluKFlhbmcpICZsdDtLZXZpbjEuV2FuZ0BhbWQuY29tJmd0OzsgRmVuZywg S2VubmV0aCAmbHQ7S2VubmV0aC5GZW5nQGFtZC5jb20mZ3Q7OyBUYW8sIFlpbnRpYW4gJmx0O1lp bnRpYW4uVGFvQGFtZC5jb20mZ3Q7OyBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgRGVu ZywgRW1pbHkgJmx0O0VtaWx5LkRlbmdAYW1kLmNvbSZndDs7IFF1YW4sIEV2YW4gJmx0O0V2YW4u UXVhbkBhbWQuY29tJmd0Ozxicj4NCjxiPlN1YmplY3Q6PC9iPiBSRTogW1BBVENIXSBhbWQvYW1k Z3B1L3NyaW92IGVuYWJsZSBvbmV2ZiBtb2RlIGZvciBBUkNUVVJVUyBWRjxvOnA+PC9vOnA+PC9w Pg0KPC9kaXY+DQo8L2Rpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+ PC9wPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+SGksIEtldmluLDxvOnA+PC9vOnA+PC9wPg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj5UaGFuayB5b3UgZm9yIHlvdXIgY29kZSByZXZpZXcuPG86cD48L286cD48L3A+DQo8b2wg c3R5bGU9Im1hcmdpbi10b3A6MGluIiBzdGFydD0iMSIgdHlwZT0iMSI+DQo8bGkgY2xhc3M9Ik1z b0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowaW47bXNvLWxpc3Q6bDAgbGV2ZWwx IGxmbzMiPkkgdXBkYXRlZCB0aGUgcGF0Y2ggdG8gcmVmaW5lIHBtX2VuYmFibGUgbG9naWMgKGF0 dGFjaGVkKS48bzpwPjwvbzpwPjwvbGk+PC9vbD4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+ Jm5ic3A7PC9vOnA+PC9wPg0KPG9sIHN0eWxlPSJtYXJnaW4tdG9wOjBpbiIgc3RhcnQ9IjIiIHR5 cGU9IjEiPg0KPGxpIGNsYXNzPSJNc29MaXN0UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6 MGluO21zby1saXN0OmwwIGxldmVsMSBsZm8zIj5Gb3IgdGhlIGZvbGxvd2luZyBjb21tZW50cy4g 4oCcKiBDb3B5IHBwdGFibGUgYm8gaW4gdGhlIHZyYW3igKbigJ0sIGl0IGlzIHRoZSBvcmlnaW5h bCBiYXJlLW1ldGFsIGNvbW1lbnRzLiBJIGRpZG7igJl0IGNoYW5nZSBpdC4NCjxvOnA+PC9vOnA+ PC9saT48L29sPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8 b2wgc3R5bGU9Im1hcmdpbi10b3A6MGluIiBzdGFydD0iMyIgdHlwZT0iMSI+DQo8bGkgY2xhc3M9 Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtYXJnaW4tbGVmdDowaW47bXNvLWxpc3Q6bDAgbGV2 ZWwxIGxmbzMiPuKAnGNvdWxkIHlvdSBkZXNjcmliZSB0aGUgZnVuY3Rpb24gb2YgcHBfb25lX3Zm IGFuZCBzcmlvdl92ZiA/4oCdPG86cD48L286cD48L2xpPjwvb2w+DQo8b2wgc3R5bGU9Im1hcmdp bi10b3A6MGluIiBzdGFydD0iMSIgdHlwZT0iMSI+DQo8bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3Jh cGgiIHN0eWxlPSJtc28tbGlzdDpsMiBsZXZlbDEgbGZvOCI+YW1kZ3B1X3NyaW92X3ZmICZuYnNw O21hcmtzIGlmIGl0IGlzIHNyaW92IG9yIGJhcmUtbWV0YWwuIFdoaWxlIGFtZGdwdV9zcmlvdl9p c19wcF9vbmVfdmYgaXMNCjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOnllbGxvdzttc28taGlnaGxp Z2h0OnllbGxvdyI+YSBtb2RlIG9mIHNyaW92PC9zcGFuPi0gSXQgbWVhbnMgdGhlcmUgaXMgb25s eSBvbmUgVkYgJm5ic3A7Z2VuZXJhdGVkIGJ5IGhvc3QgZHJpdmVyLjxvOnA+PC9vOnA+PC9saT48 bGkgY2xhc3M9Ik1zb0xpc3RQYXJhZ3JhcGgiIHN0eWxlPSJtc28tbGlzdDpsMiBsZXZlbDEgbGZv OCI+V2hlbiBob3N0IGRyaXZlciBpcyBsb2FkZWQsIGhvc3QgYWRtaW5pc3RyYXRvciBjYW4gZGV0 ZXJtaW5lIOKAnHZmIG51bWJlcuKAnS4gSWYgdmZfbnVtID0xLCBob3N0IGRyaXZlciB3aWxsIGxl dCBndWVzdCBkcml2ZXIga25vdyBpdCBpcyB1bmRlciBvbmUgdmYgbW9kZS1wcF9vbmVfdmYgcmV0 dXJuIHRydWUuIE90aGVyd2lzZSwgcHBfb25lX3ZmIHJldHVybg0KIGZhbHNlLiBXaXRob3V0IHVu bG9hZGluZyBndWVzdCBkcml2ZXIgYW5kIGhvc3QgZHJpdmVyLCB2Zl9udW0gY2Fubm90IGJlIGNo YW5nZWQuIFNvIGl0IGlzIGEgc3RhdGljIHByb2Nlc3MuPG86cD48L286cD48L2xpPjxsaSBjbGFz cz0iTXNvTGlzdFBhcmFncmFwaCIgc3R5bGU9Im1zby1saXN0OmwyIGxldmVsMSBsZm84Ij5VbmRl ciAmbmJzcDtwcF9vbmVfdmYgbW9kZSwgZ3Vlc3QgZHJpdmVyIHdpbGwgZG8gaHdfaW5pdCBmb3Ig c211LCB0aGUgcHVycG9zZSBvZiBpdCBpcyB0byBlbmFibGUgZ3Vlc3QgZHJpdmVyIHRvIOKAnHRh bGvigJ0gd2l0aCBzbXUgYnkgc2VuZGluZyBhdXRob3JpemVkIHNtdSBtZXNzYWdlcy4gVGhpcyB3 aWxsIGhlbHAgdXNlciBtb2RlIGFwcCB0byBkdW1wDQogaW5mbyBsaWtlIGNsa3MsIHRlbXBlcmF0 dXJlLCBHUFUgdXNhZ2XigKYuIEN1cnJlbnRseSB3ZSBkb27igJl0IHN1cHBvcnQgZ3Vlc3QgZHJp dmVyIHRvIHdyaXRlIHZhbHVlIHRvIHNtdS4gT25seSBzdXBwb3J0IHJlYWQgcGVybWlzc2lvbiB0 byBkdW1wIHNtdSBpbmZvcy48bzpwPjwvbzpwPjwvbGk+PC9vbD4NCjxwIGNsYXNzPSJNc29MaXN0 UGFyYWdyYXBoIiBzdHlsZT0ibWFyZ2luLWxlZnQ6MS4waW4iPkJlc2lkZXMsIGFzIGhvc3QgZHJp dmVyIGhhcyBhbHJlYWR5IGluaXRpYWxpemVkIHNtdSBodywgc29tZSBodyBpbml0IHN0ZXBzIG5l ZWQgdG8gc2tpcCBpbiBndWVzdCBod19pbml0IGZ1bmN0aW9uIG9mIHNtdSBibG9jayxzdWNoIGFz IHdyaXRlIHBwdGFibGUsIGxvYWQgc21jIGZpcm13YXJlLjxvOnA+PC9vOnA+PC9wPg0KPG9sIHN0 eWxlPSJtYXJnaW4tdG9wOjBpbiIgc3RhcnQ9IjQiIHR5cGU9IjEiPg0KPGxpIGNsYXNzPSJNc29M aXN0UGFyYWdyYXBoIiBzdHlsZT0ibXNvLWxpc3Q6bDIgbGV2ZWwxIGxmbzgiPnBwX29uZV92ZiBt b2RlIG5lZWQgc211IHNvbWUgZmlybXdhcmUgY2hhbmdlcyB0byBvcGVuIHBlcm1pc3Npb24gZm9y IGNlcnRhaW4gbWVzc2FnZXMgaW4gVkYuPG86cD48L286cD48L2xpPjwvb2w+DQo8cCBjbGFzcz0i TXNvTm9ybWFsIiBzdHlsZT0ibWFyZ2luLWxlZnQ6LjVpbiI+PG86cD4mbmJzcDs8L286cD48L3A+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5CLlIuPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNv Tm9ybWFsIj5KYWNrPG86cD48L286cD48L3A+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZu YnNwOzwvbzpwPjwvcD4NCjxkaXY+DQo8ZGl2IHN0eWxlPSJib3JkZXI6bm9uZTtib3JkZXItdG9w OnNvbGlkICNFMUUxRTEgMS4wcHQ7cGFkZGluZzozLjBwdCAwaW4gMGluIDBpbiI+DQo8cCBjbGFz cz0iTXNvTm9ybWFsIj48Yj5Gcm9tOjwvYj4gV2FuZywgS2V2aW4oWWFuZykgJmx0OzxhIGhyZWY9 Im1haWx0bzpLZXZpbjEuV2FuZ0BhbWQuY29tIj5LZXZpbjEuV2FuZ0BhbWQuY29tPC9hPiZndDsN Cjxicj4NCjxiPlNlbnQ6PC9iPiBNb25kYXksIERlY2VtYmVyIDIzLCAyMDE5IDY6MTEgUE08YnI+ DQo8Yj5Ubzo8L2I+IFpoYW5nLCBKYWNrIChKaWFuKSAmbHQ7PGEgaHJlZj0ibWFpbHRvOkphY2su WmhhbmcxQGFtZC5jb20iPkphY2suWmhhbmcxQGFtZC5jb208L2E+Jmd0OzsgRmVuZywgS2VubmV0 aCAmbHQ7PGEgaHJlZj0ibWFpbHRvOktlbm5ldGguRmVuZ0BhbWQuY29tIj5LZW5uZXRoLkZlbmdA YW1kLmNvbTwvYT4mZ3Q7OyBUYW8sIFlpbnRpYW4gJmx0OzxhIGhyZWY9Im1haWx0bzpZaW50aWFu LlRhb0BhbWQuY29tIj5ZaW50aWFuLlRhb0BhbWQuY29tPC9hPiZndDs7DQo8YSBocmVmPSJtYWls dG86YW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmciPmFtZC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnPC9hPjsgRGVuZywgRW1pbHkgJmx0OzxhIGhyZWY9Im1haWx0bzpFbWlseS5EZW5nQGFt ZC5jb20iPkVtaWx5LkRlbmdAYW1kLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+Q2M6PC9iPiBRdWFuLCBF dmFuICZsdDs8YSBocmVmPSJtYWlsdG86RXZhbi5RdWFuQGFtZC5jb20iPkV2YW4uUXVhbkBhbWQu Y29tPC9hPiZndDs8YnI+DQo8Yj5TdWJqZWN0OjwvYj4gUmU6IFtQQVRDSF0gYW1kL2FtZGdwdS9z cmlvdiBlbmFibGUgb25ldmYgbW9kZSBmb3IgQVJDVFVSVVMgVkY8bzpwPjwvbzpwPjwvcD4NCjwv ZGl2Pg0KPC9kaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48bzpwPiZuYnNwOzwvbzpwPjwvcD4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPGRpdj4NCjxkaXY+ DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBwdDtjb2xv cjpibGFjayI+YWRkIDxhIGlkPSJPV0FBTTEwNjc3IiBocmVmPSJtYWlsdG86RXZhbi5RdWFuQGFt ZC5jb20iPg0KPHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiZxdW90O0NhbGlicmkmcXVvdDssc2Fu cy1zZXJpZjt0ZXh0LWRlY29yYXRpb246bm9uZSI+QFF1YW4sIEV2YW48L3NwYW4+PC9hPiZuYnNw O3RvIHN1cHBvcnQgYXJjdHVydXMgYXNpYy48bzpwPjwvbzpwPjwvc3Bhbj48L3A+DQo8L2Rpdj4N CjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj48c3BhbiBzdHlsZT0iZm9udC1zaXplOjEyLjBw dDtjb2xvcjpibGFjayI+Y29tbWVudCBpbmxpbmUuPG86cD48L286cD48L3NwYW4+PC9wPg0KPC9k aXY+DQo8ZGl2IGNsYXNzPSJNc29Ob3JtYWwiIGFsaWduPSJjZW50ZXIiIHN0eWxlPSJ0ZXh0LWFs aWduOmNlbnRlciI+DQo8aHIgc2l6ZT0iMiIgd2lkdGg9Ijk4JSIgYWxpZ249ImNlbnRlciI+DQo8 L2Rpdj4NCjxkaXYgaWQ9ImRpdlJwbHlGd2RNc2ciPg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+PGI+ PHNwYW4gc3R5bGU9ImNvbG9yOmJsYWNrIj5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9ImNv bG9yOmJsYWNrIj4gWmhhbmcsIEphY2sgKEppYW4pICZsdDs8YSBocmVmPSJtYWlsdG86SmFjay5a aGFuZzFAYW1kLmNvbSI+SmFjay5aaGFuZzFAYW1kLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+U2VudDo8 L2I+IE1vbmRheSwgRGVjZW1iZXIgMjMsIDIwMTkgNDo0MiBQTTxicj4NCjxiPlRvOjwvYj4gRmVu ZywgS2VubmV0aCAmbHQ7PGEgaHJlZj0ibWFpbHRvOktlbm5ldGguRmVuZ0BhbWQuY29tIj5LZW5u ZXRoLkZlbmdAYW1kLmNvbTwvYT4mZ3Q7OyBXYW5nLCBLZXZpbihZYW5nKSAmbHQ7PGEgaHJlZj0i bWFpbHRvOktldmluMS5XYW5nQGFtZC5jb20iPktldmluMS5XYW5nQGFtZC5jb208L2E+Jmd0Ozsg VGFvLCBZaW50aWFuICZsdDs8YSBocmVmPSJtYWlsdG86WWludGlhbi5UYW9AYW1kLmNvbSI+WWlu dGlhbi5UYW9AYW1kLmNvbTwvYT4mZ3Q7Ow0KPGEgaHJlZj0ibWFpbHRvOmFtZC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnIj5hbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzwvYT4gJmx0Ozxh IGhyZWY9Im1haWx0bzphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZyI+YW1kLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmc8L2E+Jmd0OzsgRGVuZywgRW1pbHkgJmx0OzxhIGhyZWY9Im1haWx0 bzpFbWlseS5EZW5nQGFtZC5jb20iPkVtaWx5LkRlbmdAYW1kLmNvbTwvYT4mZ3Q7PGJyPg0KPGI+ Q2M6PC9iPiBaaGFuZywgSmFjayAoSmlhbikgJmx0OzxhIGhyZWY9Im1haWx0bzpKYWNrLlpoYW5n MUBhbWQuY29tIj5KYWNrLlpoYW5nMUBhbWQuY29tPC9hPiZndDs8YnI+DQo8Yj5TdWJqZWN0Ojwv Yj4gUkU6IFtQQVRDSF0gYW1kL2FtZGdwdS9zcmlvdiBlbmFibGUgb25ldmYgbW9kZSBmb3IgQVJD VFVSVVMgVkY8L3NwYW4+DQo8bzpwPjwvbzpwPjwvcD4NCjxkaXY+DQo8cCBjbGFzcz0iTXNvTm9y bWFsIj4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxicj4NCjxicj4NCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0t LS0tPGJyPg0KRnJvbTogSmFjayBaaGFuZyAmbHQ7PGEgaHJlZj0ibWFpbHRvOkphY2suWmhhbmcx QGFtZC5jb20iPkphY2suWmhhbmcxQGFtZC5jb208L2E+Jmd0OyA8YnI+DQpTZW50OiBNb25kYXks IERlY2VtYmVyIDIzLCAyMDE5IDQ6NDAgUE08YnI+DQpUbzogPGEgaHJlZj0ibWFpbHRvOmFtZC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnIj5hbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzwv YT48YnI+DQpDYzogWmhhbmcsIEphY2sgKEppYW4pICZsdDs8YSBocmVmPSJtYWlsdG86SmFjay5a aGFuZzFAYW1kLmNvbSI+SmFjay5aaGFuZzFAYW1kLmNvbTwvYT4mZ3Q7PGJyPg0KU3ViamVjdDog W1BBVENIXSBhbWQvYW1kZ3B1L3NyaW92IGVuYWJsZSBvbmV2ZiBtb2RlIGZvciBBUkNUVVJVUyBW Rjxicj4NCjxicj4NCkJlZm9yZSwgaW5pdGlhbGl6YXRpb24gb2Ygc211IGlwIGJsb2NrIHdvdWxk IGJlIHNraXBwZWQgZm9yIHNyaW92IEFTSUNzLiBCdXQgaWYgdGhlcmUncyBvbmx5IG9uZSBWRiBi ZWluZyB1c2VkLCBndWVzdCBkcml2ZXIgc2hvdWxkIGJlIGFibGUgdG8gZHVtcCBzb21lIEhXIGlu Zm8gc3VjaCBhcyBjbGtzLCB0ZW1wZXJhdHVyZSxldGMuPGJyPg0KPGJyPg0KVG8gc29sdmUgdGhp cywgbm93IGFmdGVyIG9uZXZmIG1vZGUgaXMgZW5hYmxlZCwgaG9zdCBkcml2ZXIgd2lsbCBub3Rp ZnkgZ3Vlc3QuIElmIGl0J3Mgb25ldmYgbW9kZSwgZ3Vlc3Qgd2lsbCBkbyBzbXUgaHdfaW5pdCBh bmQgc2tpcCBzb21lIHN0ZXBzIGluIG5vcm1hbCBzbXUgaHdfaW5pdCBmbG93IGJlY2F1c2UgaG9z dCBkcml2ZXIgaGFzIGFscmVhZHkgZG9uZSBpdCBmb3Igc211Ljxicj4NCjxicj4NCldpdGggdGhp cyBmaXgsIGd1ZXN0IGFwcCBjYW4gdGFsayB3aXRoIHNtdSBhbmQgZHVtcCBodyBpbmZvcm1hdGlv biBmcm9tIHNtdS48YnI+DQo8YnI+DQpTaWduZWQtb2ZmLWJ5OiBKYWNrIFpoYW5nICZsdDs8YSBo cmVmPSJtYWlsdG86SmFjay5aaGFuZzFAYW1kLmNvbSI+SmFjay5aaGFuZzFAYW1kLmNvbTwvYT4m Z3Q7PGJyPg0KLS0tPGJyPg0KJm5ic3A7ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X3BzcC5jJm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgMyAmIzQzOy08YnI+DQombmJzcDtkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHwmbmJzcDsgMyAmIzQzOy08YnI+DQombmJzcDtkcml2ZXJz L2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmMgfCA0OSAmIzQzOyYjNDM7JiM0Mzsm IzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0MzsmIzQzOyYjNDM7JiM0 MzsmIzQzOyYjNDM7JiM0MzstLS0tLS0tLS0tLS08YnI+DQombmJzcDszIGZpbGVzIGNoYW5nZWQs IDMzIGluc2VydGlvbnMoJiM0MzspLCAyMiBkZWxldGlvbnMoLSk8YnI+DQo8YnI+DQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BzcC5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BzcC5jPGJyPg0KaW5kZXggODQ2OTgzNC4uMDgxMzBh NiAxMDA2NDQ8YnI+DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHNw LmM8YnI+DQomIzQzOyYjNDM7JiM0MzsgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfcHNwLmM8YnI+DQpAQCAtMTQ0OCw3ICYjNDM7MTQ0OCw4IEBAIHN0YXRpYyBpbnQgcHNwX25w X2Z3X2xvYWQoc3RydWN0IHBzcF9jb250ZXh0ICpwc3ApPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHx8IHVjb2RlLSZn dDt1Y29kZV9pZCA9PSBBTURHUFVfVUNPREVfSURfUkxDX0c8YnI+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfHwgdWNvZGUt Jmd0O3Vjb2RlX2lkID09IEFNREdQVV9VQ09ERV9JRF9STENfUkVTVE9SRV9MSVNUX0NOVEw8YnI+ DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsgfHwgdWNvZGUtJmd0O3Vjb2RlX2lkID09IEFNREdQVV9VQ09ERV9JRF9STENfUkVT VE9SRV9MSVNUX0dQTV9NRU08YnI+DQotJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHx8IHVjb2RlLSZndDt1Y29kZV9pZCA9PSBBTURHUFVfVUNPREVf SURfUkxDX1JFU1RPUkVfTElTVF9TUk1fTUVNKSk8YnI+DQomIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB8fCB1Y29kZS0mZ3Q7dWNvZGVfaWQg PT0gQU1ER1BVX1VDT0RFX0lEX1JMQ19SRVNUT1JFX0xJU1RfU1JNX01FTTxicj4NCiYjNDM7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHx8IHVjb2Rl LSZndDt1Y29kZV9pZCA9PSBBTURHUFVfVUNPREVfSURfU01DKSk8YnI+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgLypza2lwIHVjb2RlIGxvYWRpbmcgaW4gU1JJT1YgVkYgKi88YnI+ DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgY29udGludWU7PGJyPg0KJm5ic3A7PGJy Pg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NvYzE1LmMgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jPGJyPg0KaW5kZXggYjUzZDQwMS4uYTI3MTQ5 NiAxMDA2NDQ8YnI+DQotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jPGJy Pg0KJiM0MzsmIzQzOyYjNDM7IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvc29jMTUuYzxi cj4NCkBAIC04MjcsOCAmIzQzOzgyNyw3IEBAIGludCBzb2MxNV9zZXRfaXBfYmxvY2tzKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2KTxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBhbWRncHVfZGV2aWNlX2lwX2Jsb2NrX2FkZChhZGV2LCAmYW1wO2RjZV92aXJ0dWFsX2lwX2Js b2NrKTs8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYW1kZ3B1 X2RldmljZV9pcF9ibG9ja19hZGQoYWRldiwgJmFtcDtnZnhfdjlfMF9pcF9ibG9jayk7PGJyPg0K Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFtZGdwdV9kZXZpY2VfaXBf YmxvY2tfYWRkKGFkZXYsICZhbXA7c2RtYV92NF8wX2lwX2Jsb2NrKTs8YnI+DQotJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKTxicj4NCi0mbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgYW1kZ3B1X2RldmljZV9pcF9ibG9ja19hZGQoYWRldiwgJmFtcDtzbXVf djExXzBfaXBfYmxvY2spOzxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFt ZGdwdV9kZXZpY2VfaXBfYmxvY2tfYWRkKGFkZXYsICZhbXA7c211X3YxMV8wX2lwX2Jsb2NrKTs8 YnI+DQombmJzcDs8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg aWYgKGFtZGdwdV9zcmlvdl92ZihhZGV2KSkgezxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiAobGlrZWx5KGFkZXYtJmd0O2Zpcm13YXJlLmxvYWRfdHlwZSA9PSBBTURHUFVf RldfTE9BRF9QU1ApKSBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkv YW1kZ3B1X3NtdS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kZ3B1X3NtdS5j PGJyPg0KaW5kZXggOTM2YzY4Mi4uYzA3ZmIyNiAxMDA2NDQ8YnI+DQotLS0gYS9kcml2ZXJzL2dw dS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmM8YnI+DQomIzQzOyYjNDM7JiM0MzsgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmM8YnI+DQpAQCAtNTMxLDEw ICYjNDM7NTMxLDE0IEBAIGJvb2wgaXNfc3VwcG9ydF9zd19zbXUoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYpPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IGlmIChhZGV2LSZndDthc2ljX3R5cGUgPT0gQ0hJUF9WRUdBMjApPGJyPg0KJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiAoYW1kZ3B1X2RwbSA9PSAy KSA/IHRydWUgOiBmYWxzZTs8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgZWxzZSBpZiAoYWRldi0mZ3Q7YXNpY190eXBlICZndDs9IENISVBfQVJD VFVSVVMpIHs8YnI+DQotJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChhbWRncHVfc3Jp b3ZfdmYoYWRldikpPGJyPg0KLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gZmFsc2U7PGJyPg0K LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBlbHNlPGJyPg0KJiM0MzsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgaWYgKGFtZGdwdV9zcmlvdl92ZihhZGV2KSkgezxicj4NCiYjNDM7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGlmKGFtZGdwdV9zcmlvdl9pc19wcF9vbmVfdmYoYWRldikpPGJyPg0K JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgcmV0dXJuIHRydWU7PGJyPg0KJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg ZWxzZTxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBmYWxzZTs8YnI+DQomIzQzOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyB9IGVsc2Ugezxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyByZXR1cm4gdHJ1ZTs8YnI+DQomIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyB9PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IH0gZWxzZTxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1 cm4gZmFsc2U7PGJyPg0KJm5ic3A7fTxicj4NCkBAIC0xMDYyLDIwICYjNDM7MTA2NiwxOSBAQCBz dGF0aWMgaW50IHNtdV9zbWNfdGFibGVfaHdfaW5pdChzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSw8 YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxi cj4NCiZuYnNwOzxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyAvKiBzbXVfZHVtcF9wcHRhYmxlKHNtdSk7ICovPGJyPg0KJiM0MzsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpICZhbXA7 JmFtcDsgIWFtZGdwdV9zcmlvdl9pc19wcF9vbmVfdmYoYWRldikpezxicj4NCiYjNDM7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IC8qPGJyPg0KJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgKiBDb3B5IHBwdGFibGUgYm8gaW4gdGhlIHZyYW0gdG8gc21jIHdpdGggU01V IE1TR3Mgc3VjaCBhczxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 ICogU2V0RHJpdmVyRHJhbUFkZHIgYW5kIFRyYW5zZmVyVGFibGVEcmFtMlNtdS48YnI+DQomIzQz OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqLzxvOnA+PC9vOnA+PC9wPg0KPC9k aXY+DQo8ZGl2Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+W2tldmluXTogdGhpcyBjb21tZW50IGlz IG5vdCBuZWNjZXNzYXJ5IGluIHNtdSBtb2R1bGUuPG86cD48L286cD48L3A+DQo8L2Rpdj4NCjxk aXY+DQo8cCBjbGFzcz0iTXNvTm9ybWFsIj5hbmQgY291bGQgeW91IGRlc2NyaWJlIHRoZSBmdW5j dGlvbiBvZiBwcF9vbmVfdmYgYW5kIHNyaW92X3ZmID88bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0K PGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPml0IGlzIHVzZWZ1bCB0byBoZWxwIHVzIHVuZGVy c3RhbmQgeW91ciBwYXRjaC4mbmJzcDs8bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxw IGNsYXNzPSJNc29Ob3JtYWwiPnRoYW5rcy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4N CjxwIGNsYXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+JiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsg cmV0ID0gc211X3dyaXRlX3BwdGFibGUoc211KTs8YnI+DQomIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyBpZiAocmV0KTxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBy ZXQ7PGJyPg0KJm5ic3A7PGJyPg0KLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyAvKjxicj4NCi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBD b3B5IHBwdGFibGUgYm8gaW4gdGhlIHZyYW0gdG8gc21jIHdpdGggU01VIE1TR3Mgc3VjaCBhczxi cj4NCi0mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKiBTZXREcml2 ZXJEcmFtQWRkciBhbmQgVHJhbnNmZXJUYWJsZURyYW0yU211Ljxicj4NCi0mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgKi88YnI+DQotJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldCA9IHNtdV93cml0ZV9wcHRhYmxlKHNtdSk7PGJyPg0KLSZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBpZiAocmV0KTxicj4NCi0mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIHJldDs8YnI+DQotPGJyPg0KLSZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBpc3N1ZSBSdW4qQnRjIG1zZyAqLzxicj4NCi0m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0ID0gc211X3J1bl9idGMoc211 KTs8YnI+DQotJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChyZXQpPGJy Pg0KLSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gcmV0Ozxicj4NCi08YnI+DQom IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKiBpc3N1ZSBSdW4qQnRjIG1zZyAqLzxi cj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldCA9IHNtdV9ydW5fYnRjKHNt dSk7PGJyPg0KJiM0MzsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHJldCk8YnI+DQom IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gcmV0Ozxicj4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXQgPSBzbXVfZmVhdHVyZV9zZXRfYWxs b3dlZF9tYXNrKHNtdSk7PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7IGlmIChyZXQpPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IHJldHVybiByZXQ7PGJyPg0KQEAgLTEwODMsNyAmIzQzOzEwODYsNyBAQCBzdGF0 aWMgaW50IHNtdV9zbWNfdGFibGVfaHdfaW5pdChzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSw8YnI+ DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0ID0g c211X3N5c3RlbV9mZWF0dXJlc19jb250cm9sKHNtdSwgdHJ1ZSk7PGJyPg0KJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChyZXQpPGJyPg0KJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiByZXQ7PGJyPg0KLTxicj4N CiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IH08YnI+DQombmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKGFkZXYtJmd0O2Fz aWNfdHlwZSAhPSBDSElQX0FSQ1RVUlVTKSB7PGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IHJldCA9IHNtdV9ub3RpZnlfZGlzcGxheV9jaGFuZ2Uoc211KTs8YnI+ DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgKHJldCk8YnI+DQpA QCAtMTEzNiw4ICYjNDM7MTEzOSw5IEBAIHN0YXRpYyBpbnQgc211X3NtY190YWJsZV9od19pbml0 KHN0cnVjdCBzbXVfY29udGV4dCAqc211LDxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAvKjxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqIFNldCBQTVNUQVRVU0xPRyB0YWJsZSBibyBh ZGRyZXNzIHdpdGggU2V0VG9vbHNEcmFtQWRkciBNU0cgZm9yIHRvb2xzLjxicj4NCiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAqLzxicj4NCi0m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0ID0gc211X3NldF90b29sX3Rh YmxlX2xvY2F0aW9uKHNtdSk7PGJyPg0KLTxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7IGlmKGFtZGdwdV9zcmlvdl92ZihhZGV2KSAmYW1wOyZhbXA7ICFhbWRn cHVfc3Jpb3ZfaXNfcHBfb25lX3ZmKGFkZXYpKXs8YnI+DQomIzQzOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyByZXQgPSBzbXVfc2V0X3Rvb2xfdGFibGVfbG9jYXRpb24oc211KTs8YnI+DQom IzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyB9PGJyPg0KJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghc211X2lzX2RwbV9y dW5uaW5nKHNtdSkpPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 IHByX2luZm8oJnF1b3Q7ZHBtIGhhcyBiZWVuIGRpc2FibGVkXG4mcXVvdDspOzxicj4NCiZuYnNw Ozxicj4NCkBAIC0xMjQ5LDYgJiM0MzsxMjUzLDEzIEBAIHN0YXRpYyBpbnQgc211X2h3X2luaXQo dm9pZCAqaGFuZGxlKTxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBzbXVfc2V0X2dmeF9jZ3BnKCZhbXA7YWRldi0mZ3Q7c211LCB0cnVlKTs8YnI+DQombmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgfTxicj4NCiZuYnNwOzxi cj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmIChhbWRncHVf c3Jpb3ZfdmYoYWRldikpIHs8YnI+DQomIzQzOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBp ZihhbWRncHVfc3Jpb3ZfaXNfcHBfb25lX3ZmKGFkZXYpKTxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHNtdS0mZ3Q7cG1fZW5hYmxlZCA9IHRydWU7PGJyPg0KJiM0MzsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsgZWxzZTxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHNtdS0mZ3Q7 cG1fZW5hYmxlZCA9IGZhbHNlOzxicj4NCiYjNDM7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IH08YnI+DQomIzQzOzxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPHAg Y2xhc3M9Ik1zb05vcm1hbCI+PG86cD4mbmJzcDs8L286cD48L3A+DQo8L2Rpdj4NCjxkaXY+DQo8 cCBjbGFzcz0iTXNvTm9ybWFsIj5ba2V2aW5dOjxvOnA+PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2 Pg0KPHAgY2xhc3M9Ik1zb05vcm1hbCI+dGhlIHZhcmlhYmxlIG9mICZxdW90O3NtdS0mZ3Q7cG1f ZW5hYmVsZCZxdW90OyBpcyBpbml0aWFsaXplIGluIHNtdV9lYXJ5X2luaXQoKSwgaXQgaXMgb25s eSBkZXBlbmQgb24gbW9kdWxlIHBhcmFtIGFtZGdwdV9kcG0uPG86cD48L286cD48L3A+DQo8L2Rp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPmFmdGVyIGluaXRpYWxpemVkLCB0aGlzIHZhcmlhYmxl IHNob3VsZCBub3QgYmUgY2hhbmdlZCBhcmJpdHJhcmlseS48bzpwPjwvbzpwPjwvcD4NCjwvZGl2 Pg0KPGRpdj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiPnNvIGkgaG9wZSB5b3UgY2FuIHJlZmluZSB0 aGUgYWJvdmUgY29kZSBsb2dpYy48bzpwPjwvbzpwPjwvcD4NCjwvZGl2Pg0KPGRpdj4NCjxwIGNs YXNzPSJNc29Ob3JtYWwiPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPg0KPC9kaXY+DQo8ZGl2Pg0KPGRp dj4NCjxwIGNsYXNzPSJNc29Ob3JtYWwiIHN0eWxlPSJtYXJnaW4tYm90dG9tOjEyLjBwdCI+Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGlmICghc211LSZn dDtwbV9lbmFibGVkKTxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyByZXR1cm4gMDs8YnI+DQombmJzcDs8YnI+DQotLTxicj4NCjIuNy40PG86cD48L286cD48L3A+ DQo8L2Rpdj4NCjwvZGl2Pg0KPC9kaXY+DQo8L2Rpdj4NCjwvYm9keT4NCjwvaHRtbD4NCg== --_000_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_-- --_004_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_ Content-Type: application/octet-stream; name="0001-amd-amdgpu-sriov-enable-onevf-mode-for-ARCTURUS-VF.patch" Content-Description: 0001-amd-amdgpu-sriov-enable-onevf-mode-for-ARCTURUS-VF.patch Content-Disposition: attachment; filename="0001-amd-amdgpu-sriov-enable-onevf-mode-for-ARCTURUS-VF.patch"; size=4883; creation-date="Thu, 26 Dec 2019 02:56:51 GMT"; modification-date="Thu, 26 Dec 2019 02:56:33 GMT" Content-Transfer-Encoding: base64 RnJvbSAxZmZjYTcwNjlkZTRkNjY1NDQwNzI1ZTA0OWMwMTZjZTdjNDY2MDQ5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBKYWNrIFpoYW5nIDxKYWNrLlpoYW5nMUBhbWQuY29tPgpEYXRl OiBUdWUsIDEwIERlYyAyMDE5IDEwOjUxOjAxICswODAwClN1YmplY3Q6IFtQQVRDSF0gYW1kL2Ft ZGdwdS9zcmlvdiBlbmFibGUgb25ldmYgbW9kZSBmb3IgQVJDVFVSVVMgVkYKCkJlZm9yZSwgaW5p dGlhbGl6YXRpb24gb2Ygc211IGlwIGJsb2NrIHdvdWxkIGJlIHNraXBwZWQKZm9yIHNyaW92IEFT SUNzLiBCdXQgaWYgdGhlcmUncyBvbmx5IG9uZSBWRiBiZWluZyB1c2VkLApndWVzdCBkcml2ZXIg c2hvdWxkIGJlIGFibGUgdG8gZHVtcCBzb21lIEhXIGluZm8gc3VjaCBhcwpjbGtzLCB0ZW1wZXJh dHVyZSxldGMuCgpUbyBzb2x2ZSB0aGlzLCBub3cgYWZ0ZXIgb25ldmYgbW9kZSBpcyBlbmFibGVk LCBob3N0CmRyaXZlciB3aWxsIG5vdGlmeSBndWVzdC4gSWYgaXQncyBvbmV2ZiBtb2RlLCBndWVz dCB3aWxsCmRvIHNtdSBod19pbml0IGFuZCBza2lwIHNvbWUgc3RlcHMgaW4gbm9ybWFsIHNtdSBo d19pbml0CmZsb3cgYmVjYXVzZSBob3N0IGRyaXZlciBoYXMgYWxyZWFkeSBkb25lIGl0IGZvciBz bXUuCgpXaXRoIHRoaXMgZml4LCBndWVzdCBhcHAgY2FuIHRhbGsgd2l0aCBzbXUgYW5kIGR1bXAg aHcKaW5mb3JtYXRpb24gZnJvbSBzbXUuCgp2MjogcmVmaW5lIHRoZSBsb2dpYyBmb3IgcG1fZW5h YmxlZC5Ta2lwIGh3X2luaXQgYnkgbm90CmNoYW5naW5nIHBtX2VuYWJsZWQuCgpTaWduZWQtb2Zm LWJ5OiBKYWNrIFpoYW5nIDxKYWNrLlpoYW5nMUBhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYyAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9zb2MxNS5jICAgICAgICAgfCAgMyArLQogZHJpdmVycy9ncHUvZHJtL2FtZC9wb3dl cnBsYXkvYW1kZ3B1X3NtdS5jIHwgNDUgKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDIyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wc3AuYwppbmRleCA4NDY5ODM0Li4wODEzMGE2IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHNwLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3BzcC5jCkBAIC0xNDQ4LDcgKzE0NDgs OCBAQCBzdGF0aWMgaW50IHBzcF9ucF9md19sb2FkKHN0cnVjdCBwc3BfY29udGV4dCAqcHNwKQog ICAgICAgICAgICAgICAgICAgICB8fCB1Y29kZS0+dWNvZGVfaWQgPT0gQU1ER1BVX1VDT0RFX0lE X1JMQ19HCiAJICAgICAgICAgICAgfHwgdWNvZGUtPnVjb2RlX2lkID09IEFNREdQVV9VQ09ERV9J RF9STENfUkVTVE9SRV9MSVNUX0NOVEwKIAkgICAgICAgICAgICB8fCB1Y29kZS0+dWNvZGVfaWQg PT0gQU1ER1BVX1VDT0RFX0lEX1JMQ19SRVNUT1JFX0xJU1RfR1BNX01FTQotCSAgICAgICAgICAg IHx8IHVjb2RlLT51Y29kZV9pZCA9PSBBTURHUFVfVUNPREVfSURfUkxDX1JFU1RPUkVfTElTVF9T Uk1fTUVNKSkKKwkgICAgICAgICAgICB8fCB1Y29kZS0+dWNvZGVfaWQgPT0gQU1ER1BVX1VDT0RF X0lEX1JMQ19SRVNUT1JFX0xJU1RfU1JNX01FTQorCSAgICAgICAgICAgIHx8IHVjb2RlLT51Y29k ZV9pZCA9PSBBTURHUFVfVUNPREVfSURfU01DKSkKIAkJCS8qc2tpcCB1Y29kZSBsb2FkaW5nIGlu IFNSSU9WIFZGICovCiAJCQljb250aW51ZTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvc29jMTUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L3NvYzE1LmMK aW5kZXggYjUzZDQwMS4uYTI3MTQ5NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvc29jMTUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9zb2MxNS5jCkBA IC04MjcsOCArODI3LDcgQEAgaW50IHNvYzE1X3NldF9pcF9ibG9ja3Moc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCiAJCQlhbWRncHVfZGV2aWNlX2lwX2Jsb2NrX2FkZChhZGV2LCAmZGNlX3Zp cnR1YWxfaXBfYmxvY2spOwogCQlhbWRncHVfZGV2aWNlX2lwX2Jsb2NrX2FkZChhZGV2LCAmZ2Z4 X3Y5XzBfaXBfYmxvY2spOwogCQlhbWRncHVfZGV2aWNlX2lwX2Jsb2NrX2FkZChhZGV2LCAmc2Rt YV92NF8wX2lwX2Jsb2NrKTsKLQkJaWYgKCFhbWRncHVfc3Jpb3ZfdmYoYWRldikpCi0JCQlhbWRn cHVfZGV2aWNlX2lwX2Jsb2NrX2FkZChhZGV2LCAmc211X3YxMV8wX2lwX2Jsb2NrKTsKKwkJYW1k Z3B1X2RldmljZV9pcF9ibG9ja19hZGQoYWRldiwgJnNtdV92MTFfMF9pcF9ibG9jayk7CiAKIAkJ aWYgKGFtZGdwdV9zcmlvdl92ZihhZGV2KSkgewogCQkJaWYgKGxpa2VseShhZGV2LT5maXJtd2Fy ZS5sb2FkX3R5cGUgPT0gQU1ER1BVX0ZXX0xPQURfUFNQKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvcG93ZXJwbGF5L2FtZGdwdV9zbXUuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv cG93ZXJwbGF5L2FtZGdwdV9zbXUuYwppbmRleCA5MzZjNjgyLi40MmMwYTZkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vYW1kL3Bvd2VycGxheS9hbWRncHVfc211LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2FtZC9wb3dlcnBsYXkvYW1kZ3B1X3NtdS5jCkBAIC01MzEsMTAgKzUzMSwxNCBA QCBib29sIGlzX3N1cHBvcnRfc3dfc211KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQogCWlm IChhZGV2LT5hc2ljX3R5cGUgPT0gQ0hJUF9WRUdBMjApCiAJCXJldHVybiAoYW1kZ3B1X2RwbSA9 PSAyKSA/IHRydWUgOiBmYWxzZTsKIAllbHNlIGlmIChhZGV2LT5hc2ljX3R5cGUgPj0gQ0hJUF9B UkNUVVJVUykgewotCQlpZiAoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpKQotCQkJcmV0dXJuIGZhbHNl OwotCQllbHNlCisJCWlmIChhbWRncHVfc3Jpb3ZfdmYoYWRldikpIHsKKwkJCWlmKGFtZGdwdV9z cmlvdl9pc19wcF9vbmVfdmYoYWRldikpCisJCQkJcmV0dXJuIHRydWU7CisJCQllbHNlCisJCQkJ cmV0dXJuIGZhbHNlOworCQl9IGVsc2UgewogCQkJcmV0dXJuIHRydWU7CisJCX0KIAl9IGVsc2UK IAkJcmV0dXJuIGZhbHNlOwogfQpAQCAtMTA2MiwyMCArMTA2NiwxOSBAQCBzdGF0aWMgaW50IHNt dV9zbWNfdGFibGVfaHdfaW5pdChzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKIAl9CiAKIAkvKiBz bXVfZHVtcF9wcHRhYmxlKHNtdSk7ICovCisJaWYoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpICYmICFh bWRncHVfc3Jpb3ZfaXNfcHBfb25lX3ZmKGFkZXYpKXsKKwkJLyoKKwkJICogQ29weSBwcHRhYmxl IGJvIGluIHRoZSB2cmFtIHRvIHNtYyB3aXRoIFNNVSBNU0dzIHN1Y2ggYXMKKwkJICogU2V0RHJp dmVyRHJhbUFkZHIgYW5kIFRyYW5zZmVyVGFibGVEcmFtMlNtdS4KKwkJICovCisJCXJldCA9IHNt dV93cml0ZV9wcHRhYmxlKHNtdSk7CisJCWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OwogCi0JLyoK LQkgKiBDb3B5IHBwdGFibGUgYm8gaW4gdGhlIHZyYW0gdG8gc21jIHdpdGggU01VIE1TR3Mgc3Vj aCBhcwotCSAqIFNldERyaXZlckRyYW1BZGRyIGFuZCBUcmFuc2ZlclRhYmxlRHJhbTJTbXUuCi0J ICovCi0JcmV0ID0gc211X3dyaXRlX3BwdGFibGUoc211KTsKLQlpZiAocmV0KQotCQlyZXR1cm4g cmV0OwotCi0JLyogaXNzdWUgUnVuKkJ0YyBtc2cgKi8KLQlyZXQgPSBzbXVfcnVuX2J0YyhzbXUp OwotCWlmIChyZXQpCi0JCXJldHVybiByZXQ7Ci0KKwkJLyogaXNzdWUgUnVuKkJ0YyBtc2cgKi8K KwkJcmV0ID0gc211X3J1bl9idGMoc211KTsKKwkJaWYgKHJldCkKKwkJCXJldHVybiByZXQ7CiAJ cmV0ID0gc211X2ZlYXR1cmVfc2V0X2FsbG93ZWRfbWFzayhzbXUpOwogCWlmIChyZXQpCiAJCXJl dHVybiByZXQ7CkBAIC0xMDgzLDcgKzEwODYsNyBAQCBzdGF0aWMgaW50IHNtdV9zbWNfdGFibGVf aHdfaW5pdChzdHJ1Y3Qgc211X2NvbnRleHQgKnNtdSwKIAlyZXQgPSBzbXVfc3lzdGVtX2ZlYXR1 cmVzX2NvbnRyb2woc211LCB0cnVlKTsKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwotCisJfQog CWlmIChhZGV2LT5hc2ljX3R5cGUgIT0gQ0hJUF9BUkNUVVJVUykgewogCQlyZXQgPSBzbXVfbm90 aWZ5X2Rpc3BsYXlfY2hhbmdlKHNtdSk7CiAJCWlmIChyZXQpCkBAIC0xMTM2LDggKzExMzksOSBA QCBzdGF0aWMgaW50IHNtdV9zbWNfdGFibGVfaHdfaW5pdChzdHJ1Y3Qgc211X2NvbnRleHQgKnNt dSwKIAkvKgogCSAqIFNldCBQTVNUQVRVU0xPRyB0YWJsZSBibyBhZGRyZXNzIHdpdGggU2V0VG9v bHNEcmFtQWRkciBNU0cgZm9yIHRvb2xzLgogCSAqLwotCXJldCA9IHNtdV9zZXRfdG9vbF90YWJs ZV9sb2NhdGlvbihzbXUpOwotCisJaWYoYW1kZ3B1X3NyaW92X3ZmKGFkZXYpICYmICFhbWRncHVf c3Jpb3ZfaXNfcHBfb25lX3ZmKGFkZXYpKXsKKwkJcmV0ID0gc211X3NldF90b29sX3RhYmxlX2xv Y2F0aW9uKHNtdSk7CisJfQogCWlmICghc211X2lzX2RwbV9ydW5uaW5nKHNtdSkpCiAJCXByX2lu Zm8oImRwbSBoYXMgYmVlbiBkaXNhYmxlZFxuIik7CiAKQEAgLTEyNDksNiArMTI1Myw5IEBAIHN0 YXRpYyBpbnQgc211X2h3X2luaXQodm9pZCAqaGFuZGxlKQogCQlzbXVfc2V0X2dmeF9jZ3BnKCZh ZGV2LT5zbXUsIHRydWUpOwogCX0KIAorCWlmIChhbWRncHVfc3Jpb3ZfdmYoYWRldikmJiAhYW1k Z3B1X3NyaW92X2lzX3BwX29uZV92ZihhZGV2KSkKKwkJcmV0dXJuIDA7CisKIAlpZiAoIXNtdS0+ cG1fZW5hYmxlZCkKIAkJcmV0dXJuIDA7CiAKLS0gCjIuNy40Cgo= --_004_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_ Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx --_004_CH2PR12MB3672D378E5AF048245E928DEBB2B0CH2PR12MB3672namp_--