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=-8.3 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 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 748CCC433E0 for ; Wed, 20 May 2020 23:58:28 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (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 369AF20708 for ; Wed, 20 May 2020 23:58:28 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="TBDbrL80" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 369AF20708 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=grimberg.me Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=cn4jdr6Vw5z6qFEJ3TIrUB0phh1aIdELM5uFg+e9Sxs=; b=TBDbrL80BEZAu261VLLCRs95z JdN21Aty4vN9ol3jTEKRnwbej7sUZJkFuFhHEshzzu5vzSNP8P2wzyY07qTYPU0f/Od5zU7sl/93z f0K2gZpOE+wIMIKlKOp6teKVikMpnJdmPRPbh4Qf++OLjiVukFYozrYaDeQi9tJsGOOOyOs43RAFw wIoRpkuXJxXCwmMWEeEb/UU52mkHjvqRhuIbfiVT5aHSjihs1DFOPv9487a5Ar7aCllnNOVzg3vTN tqxuQDvxor9V4iR2DZeUlmB4H+DdaFMjd9O8jAPlmmX0DddFCIakUZGbn6yrVk6Im9qRlNUIfLKXl KMeBJlLwQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jbYbQ-000546-In; Wed, 20 May 2020 23:58:24 +0000 Received: from mail-pf1-f195.google.com ([209.85.210.195]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jbYbN-00052X-G3 for linux-nvme@lists.infradead.org; Wed, 20 May 2020 23:58:23 +0000 Received: by mail-pf1-f195.google.com with SMTP id 23so2384194pfy.8 for ; Wed, 20 May 2020 16:58:21 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=AHXvpuilKdquVlKVef3UXBoaXVyluSvkzfK+7RbhreY=; b=ntEfC+PTXZNBSfLCyirAnf1Jdogk70TQRBgo+ieuahfjiiqwvG80iId/KbeH1ZBqNS fHkUeHszMmrRpmXyOdFATyQCkB14fvAs3xM54m9mxTbacfSnRdNLUTVufr+f8Ui35uuI /R2n1pQ4lVBYxmfPMpgbOVGJeraAvLY1hiS4w3EeljIK2nSDBVnntqo/wXfCBL68HAi1 LKKwfL0MjWkaMM6t4kzett4hma5XxRwOo9qI2qIKSYkBgycrUw2NkftByygYm+aftcBH 5AaXreUfie4h2nHjyEpmqBy+gmNt/Gz+vay1p/WfDUR4yl194Brtiy+jZ7GoPX1jvFQO 56mg== X-Gm-Message-State: AOAM532CN4sqLGi9KLO8eWmu8lOlr4AiAs717F3Sq5R0lvsDmERFQyO4 x6IL26SqThsTStaMdGFU/vw= X-Google-Smtp-Source: ABdhPJz+g/1o0Lj871QMIAAuundIkxuoN7zoTSCP5AtgXgn6Fd1u7GMN8HwxrMx3Bqke+kUjHQoFpA== X-Received: by 2002:a62:e104:: with SMTP id q4mr6791835pfh.280.1590019100182; Wed, 20 May 2020 16:58:20 -0700 (PDT) Received: from ?IPv6:2601:647:4802:9070:91e2:91f6:e321:5d4d? ([2601:647:4802:9070:91e2:91f6:e321:5d4d]) by smtp.gmail.com with ESMTPSA id n10sm3075349pfd.192.2020.05.20.16.58.18 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 20 May 2020 16:58:19 -0700 (PDT) Subject: Re: [PATCH] nvmet: fix memory leak when removing namespaces and controllers concurrently To: David Milburn , linux-nvme@lists.infradead.org, Christoph Hellwig References: <20200520194812.73876-1-sagi@grimberg.me> <396c0e62-fac2-2236-5f2d-40ee542e4814@redhat.com> From: Sagi Grimberg Message-ID: <57a9b906-abfe-e0f4-0558-6e5ab2218b88@grimberg.me> Date: Wed, 20 May 2020 16:58:16 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <396c0e62-fac2-2236-5f2d-40ee542e4814@redhat.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200520_165821_540209_6BF83BA2 X-CRM114-Status: GOOD ( 18.47 ) X-BeenThere: linux-nvme@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Keith Busch , Chaitanya Kulkarni Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-nvme" Errors-To: linux-nvme-bounces+linux-nvme=archiver.kernel.org@lists.infradead.org Cj4gSGkgU2FnaSwKPiAKPiBPbiAwNS8yMC8yMDIwIDAyOjQ4IFBNLCBTYWdpIEdyaW1iZXJnIHdy b3RlOgo+PiBXaGVuIHJlbW92aW5nIGEgbmFtZXNwYWNlLCB3ZSBhZGQgYW4gTlNfQ0hBTkdFIGFz eW5jIGV2ZW50LCBob3dldmVyIGlmCj4+IHRoZSBjb250cm9sbGVyIGFkbWluIHF1ZXVlIGlzIHJl bW92ZWQgYWZ0ZXIgdGhlIGV2ZW50IHdhcyBhZGRlZCBidXQgbm90Cj4+IHlldCBwcm9jZXNzZWQs IHdlIHdvbid0IGZyZWUgdGhlIGFlbnMsIHJlc3VsdGluZyBpbiB0aGUgYmVsb3cgbWVtb3J5Cj4+ IGxlYWsgWzFdLgo+Pgo+PiBGaXggdGhhdCBieSBtb3ZpbmcgbnZtZXRfYXN5bmNfZXZlbnRfZnJl ZSB0byB0aGUgZmluYWwgY29udHJvbGxlcgo+PiByZWxlYXNlIGFmdGVyIGl0IGlzIGRldGFjaGVk IGZyb20gc3Vic3lzLT5jdHJscyBlbnN1cmluZyBubyBhc3luYwo+PiBldmVudHMgYXJlIGFkZGVk LCBhbmQgbW9kaWZ5IGl0IHRvIHNpbXBseSByZW1vdmUgYWxsIHBlbmRpbmcgYWVucy4KPj4KPj4g LS0gCj4+ICQgY2F0IC9zeXMva2VybmVsL2RlYnVnL2ttZW1sZWFrCj4+IHVucmVmZXJlbmNlZCBv YmplY3QgMHhmZmZmODg4YzFhZjJjMDAwIChzaXplIDMyKToKPj4gwqDCoCBjb21tICJudm1ldGNs aSIsIHBpZCA1MTY0LCBqaWZmaWVzIDQyOTUyMjA4NjQgKGFnZSA2ODI5LjkyNHMpCj4+IMKgwqAg aGV4IGR1bXAgKGZpcnN0IDMyIGJ5dGVzKToKPj4gwqDCoMKgwqAgMjggMDEgODIgM2IgOGIgODgg ZmYgZmYgMjggMDEgODIgM2IgOGIgODggZmYgZmbCoCAoLi47Li4uLiguLjsuLi4uCj4+IMKgwqDC oMKgIDAyIDAwIDA0IDY1IDc2IDY1IDZlIDc0IDVmIDY2IDY5IDZjIDY1IDAwIDAwIDAwwqAgLi4u ZXZlbnRfZmlsZS4uLgo+PiDCoMKgIGJhY2t0cmFjZToKPj4gwqDCoMKgwqAgWzwwMDAwMDAwMDIx N2FlNTgwPl0gbnZtZXRfYWRkX2FzeW5jX2V2ZW50KzB4NTcvMHgyOTAgW252bWV0XQo+PiDCoMKg wqDCoCBbPDAwMDAwMDAwMTJhYTJlYTk+XSBudm1ldF9uc19jaGFuZ2VkKzB4MjA2LzB4MzAwIFtu dm1ldF0KPj4gwqDCoMKgwqAgWzwwMDAwMDAwMGJiM2ZkNTJlPl0gbnZtZXRfbnNfZGlzYWJsZSsw eDM2Ny8weDRmMCBbbnZtZXRdCj4+IMKgwqDCoMKgIFs8MDAwMDAwMDBlOTFjYTllYz5dIG52bWV0 X25zX2ZyZWUrMHgxNS8weDE4MCBbbnZtZXRdCj4+IMKgwqDCoMKgIFs8MDAwMDAwMDBhMTVkZWI1 Mj5dIGNvbmZpZ19pdGVtX3JlbGVhc2UrMHhmMS8weDFjMAo+PiDCoMKgwqDCoCBbPDAwMDAwMDAw N2UxNDg0MzI+XSBjb25maWdmc19ybWRpcisweDU1NS8weDdjMAo+PiDCoMKgwqDCoCBbPDAwMDAw MDAwZjQ1MDZlYTY+XSB2ZnNfcm1kaXIrMHgxNDIvMHgzYzAKPj4gwqDCoMKgwqAgWzwwMDAwMDAw MDAwYWNhYWYwPl0gZG9fcm1kaXIrMHgyYjIvMHgzNDAKPj4gwqDCoMKgwqAgWzwwMDAwMDAwMDM0 ZDFhYTUyPl0gZG9fc3lzY2FsbF82NCsweGE1LzB4NGQwCj4+IMKgwqDCoMKgIFs8MDAwMDAwMDAy MTFmMTNiYz5dIGVudHJ5X1NZU0NBTExfNjRfYWZ0ZXJfaHdmcmFtZSsweDZhLzB4ZGYKPj4KPj4g Rml4ZXM6IGEwN2I0OTcwZjQ2NCAoIm52bWV0OiBhZGQgYSBnZW5lcmljIE5WTWUgdGFyZ2V0IikK Pj4gUmVwb3J0ZWQtYnk6IERhdmlkIE1pbGJ1cm4gPGRtaWxidXJuQHJlZGhhdC5jb20+Cj4+IFNp Z25lZC1vZmYtYnk6IFNhZ2kgR3JpbWJlcmcgPHNhZ2lAZ3JpbWJlcmcubWU+Cj4+IC0tLQo+PiBE YXZpZCwgaXQgd291bGQgYmUgZ3JlYXQgdG8gZ2V0IHlvdXIgVGVzdGVkLWJ5IHRhZy4KPiAKPiBU aGlzIHRha2VzIGNhcmUgb2YgdGhlIG1lbW9yeSBsZWFrLCB0aG91Z2ggd2UgZGlkIHNlZSBhIHdh cm5pbmcgZnJvbQo+IHRoZSBtbHg1IGNvZGUgd2hlbiB3ZSByZWJvb3RlZCB0aGUgdGFyZ2V0OgoK VGhpcyBsb29rcyB1bnJlbGF0ZWQuLi4geW91ciBtbHg1IGRldmljZSBpcyB0aW1pbmcgb3V0IGF0 IHRlYXJkb3duCnJlc3VsdGluZyBpbiB0aGUgZGV2X3dhdGNoZG9nIGNvbXBsYWluaW5nLiBJJ2Qg YmUgdmVyeSBzdXJwcmlzZWQKaWYgdGhlIGNoYW5nZSBjYXVzZWQgYW55IG9mIHRoaXMuLi4KCj4g Cj4gWyAzMTA5Ljc1NTI0Nl0gaWJfc3JwdCByZWNlaXZlZCB1bnJlY29nbml6ZWQgSUIgZXZlbnQg OAo+IFsgMzEwOS43NjE0MDBdIG1seDVfY29yZSAwMDAwOjA0OjAwLjE6IAo+IG1seDVfY21kX2Zh c3RfdGVhcmRvd25faGNhOjMzOToocGlkIDUxMzUpOiB0ZWFyZG93biB3aXRoIGZhc3QgbW9kZSBm YWlsZWQKPiBbIDMxMDkuNzczMzk5XSBtbHg1X2NvcmUgMDAwMDowNDowMC4xOiAKPiBtbHg1X2Nt ZF9mb3JjZV90ZWFyZG93bl9oY2E6MzA4OihwaWQgNTEzNSk6IHRlYXJkb3duIHdpdGggZm9yY2Ug bW9kZSAKPiBmYWlsZWQsIGRvaW5nIG5vcm1hbCBuCj4gWyAzMTEzLjE0NzU5OF0gbWx4NV9jb3Jl IDAwMDA6MDQ6MDAuMDogCj4gbWx4NV9jbWRfZmFzdF90ZWFyZG93bl9oY2E6MzM5OihwaWQgNTEz NSk6IHRlYXJkb3duIHdpdGggZmFzdCBtb2RlIGZhaWxlZAo+IFsgMzExMy4xNTkzMzBdIG1seDVf Y29yZSAwMDAwOjA0OjAwLjA6IAo+IG1seDVfY21kX2ZvcmNlX3RlYXJkb3duX2hjYTozMDg6KHBp ZCA1MTM1KTogdGVhcmRvd24gd2l0aCBmb3JjZSBtb2RlIAo+IGZhaWxlZCwgZG9pbmcgbm9ybWFs IG4KPiBbIDMxMzkuMjAzMzgzXSBudm1ldDogY3RybCAxIGtlZXAtYWxpdmUgdGltZXIgKDE1IHNl Y29uZHMpIGV4cGlyZWQhCj4gWyAzMTM5LjIyODEzN10gbnZtZXQ6IGN0cmwgMSBmYXRhbCBlcnJv ciBvY2N1cnJlZCEKPiBbIDMxOTcuNTcxNTMzXSAtLS0tLS0tLS0tLS1bIGN1dCBoZXJlIF0tLS0t LS0tLS0tLS0KPiBbIDMxOTcuNTc3Mjg2XSBXQVJOSU5HOiBDUFU6IDIgUElEOiAwIGF0IG5ldC9z Y2hlZC9zY2hfZ2VuZXJpYy5jOjQ0MyAKPiBkZXZfd2F0Y2hkb2crMHgyNTgvMHgyNjAKPiBbIDMx OTcuNTg3MDc0XSBNb2R1bGVzIGxpbmtlZCBpbjogbnVsbF9ibGsgbnZtZV9yZG1hIG52bWVfZmFi cmljcyAKPiBudm1lX2NvcmUgbnZtZXRfcmRtYSBudm1ldCA4MDIxcSBnYXJwIG1ycCBib25kaW5n IGJyaWRnZSBzdHAgbGxkCj4gWyAzMTk3LjY4NDEyNF0gQ1BVOiAyIFBJRDogMCBDb21tOiBzd2Fw cGVyLzIgTm90IHRhaW50ZWQgNS43LjAtcmM2KyAjMgo+IFsgMzE5Ny42OTE4MDZdIEhhcmR3YXJl IG5hbWU6IERlbGwgSW5jLiBQb3dlckVkZ2UgUjQzMC8wM1hLRFYsIEJJT1MgCj4gMS42LjIgMDEv MDgvMjAxNgo+IFsgMzE5Ny43MDA4NTZdIFJJUDogMDAxMDpkZXZfd2F0Y2hkb2crMHgyNTgvMHgy NjAKPiBbIDMxOTcuNzA2NTEyXSBDb2RlOiA0OCA4NSBjMCA3NSBlNCBlYiA5YiA0YyA4OSBlZiBj NiAwNSBlYSBkYSBkZCAwMCAwMSAKPiBlOCAyYyAyNiBmYiBmZiA4OSBkOSA0YyA4OSBlZSA0OCBj NyBjNyBhOCBjZCBkYyA5MSA0OCA4OSA1Cj4gWyAzMTk3LjcyODkzMF0gUlNQOiAwMDAwOmZmZmZh Njg2MDY1NTBlODAgRUZMQUdTOiAwMDAxMDI4Mgo+IFsgMzE5Ny43MzU0OTVdIFJBWDogMDAwMDAw MDAwMDAwMDAwMCBSQlg6IDAwMDAwMDAwMDAwMDAwMGMgUkNYOiAKPiBmZmZmZmZmZjkyMDVlMjI4 Cj4gWyAzMTk3Ljc0NDIwMV0gUkRYOiAwMDAwMDAwMDAwMDAwMDAxIFJTSTogMDAwMDAwMDAwMDAw MDA5MiBSREk6IAo+IGZmZmZmZmZmOTI4OTZkOGMKPiBbIDMxOTcuNzUyOTA2XSBSQlA6IGZmZmY4 YWI4MTRjMDAzZGMgUjA4OiAwMDAwMDAwMDAwMDAwN2E2IFIwOTogCj4gMDAwMDAwMDAwMDAwMDAw NQo+IFsgMzE5Ny43NjE2MTNdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAw MDAwMDEgUjEyOiAKPiBmZmZmOGFiODIzMmY4ZjQwCj4gWyAzMTk3Ljc3MDMyOV0gUjEzOiBmZmZm OGFiODE0YzAwMDAwIFIxNDogZmZmZjhhYjgxNGMwMDQ4MCBSMTU6IAo+IDAwMDAwMDAwMDAwMDAx NDAKPiBbIDMxOTcuNzc5MDUyXSBGUzrCoCAwMDAwMDAwMDAwMDAwMDAwKDAwMDApIEdTOmZmZmY4 YWI4M2Y4NDAwMDAoMDAwMCkgCj4ga25sR1M6MDAwMDAwMDAwMDAwMDAwMAo+IFsgMzE5Ny43ODg4 NTVdIENTOsKgIDAwMTAgRFM6IDAwMDAgRVM6IDAwMDAgQ1IwOiAwMDAwMDAwMDgwMDUwMDMzCj4g WyAzMTk3Ljc5NjA0MV0gQ1IyOiAwMDAwN2ZiNTA5NjkwODAwIENSMzogMDAwMDAwMTAwMGQ2ODAw NCBDUjQ6IAo+IDAwMDAwMDAwMDAxNjA2ZTAKPiBbIDMxOTcuODA0Nzg5XSBDYWxsIFRyYWNlOgo+ IFsgMzE5Ny44MDgyOTFdwqAgPElSUT4KPiBbIDMxOTcuODExMjkwXcKgID8gcGZpZm9fZmFzdF9l bnF1ZXVlKzB4MTQwLzB4MTQwCj4gWyAzMTk3LjgxNjkxOV3CoCBjYWxsX3RpbWVyX2ZuKzB4MmQv MHgxMzAKPiBbIDMxOTcuODIxNzY1XcKgIHJ1bl90aW1lcl9zb2Z0aXJxKzB4MWEwLzB4NDEwCj4g WyAzMTk3LjgyNzA5MF3CoCA/IHRpY2tfc2NoZWRfdGltZXIrMHgzNy8weDcwCj4gWyAzMTk3Ljgz MjMyMV3CoCA/IF9faHJ0aW1lcl9ydW5fcXVldWVzKzB4MTEwLzB4MjgwCj4gWyAzMTk3LjgzODEz Nl3CoCBfX2RvX3NvZnRpcnErMHhkZS8weDJlYwo+IFsgMzE5Ny44NDI4NzldwqAgPyBrdGltZV9n ZXQrMHgzNi8weGEwCj4gWyAzMTk3Ljg0NzQxOV3CoCBpcnFfZXhpdCsweGUzLzB4ZjAKPiBbIDMx OTcuODUxNjU3XcKgIHNtcF9hcGljX3RpbWVyX2ludGVycnVwdCsweDc0LzB4MTMwCj4gWyAzMTk3 Ljg1NzU0Ml3CoCBhcGljX3RpbWVyX2ludGVycnVwdCsweGYvMHgyMAo+IFsgMzE5Ny44NjI4MzVd wqAgPC9JUlE+Cj4gWyAzMTk3Ljg2NTg4OV0gUklQOiAwMDEwOm13YWl0X2lkbGUrMHg5NC8weDFj MAo+IFsgMzE5Ny44NzEyNzNdIENvZGU6IDQwIDdmIDAxIDAwIDQ4IDg5IGQxIDBmIDAxIGM4IDQ4 IDhiIDAwIGE4IDA4IDBmIDg1IAo+IGEzIDAwIDAwIDAwIGU5IDA3IDAwIDAwIDAwIDBmIDAwIDJk IDM3IGRjIDRiIDAwIDMxIGMwIDQ4IDgKPiBbIDMxOTcuODkzNzE3XSBSU1A6IDAwMDA6ZmZmZmE2 ODYwMDBlYmViOCBFRkxBR1M6IDAwMDAwMjQ2IE9SSUdfUkFYOiAKPiBmZmZmZmZmZmZmZmZmZjEz Cj4gWyAzMTk3LjkwMjkwNV0gUkFYOiAwMDAwMDAwMDAwMDAwMDAwIFJCWDogMDAwMDAwMDAwMDAw MDAwMiBSQ1g6IAo+IDAwMDAwMDAwMDAwMDAwMDAKPiBbIDMxOTcuOTExNTk3XSBSRFg6IDAwMDAw MDAwMDAwMDAwMDAgUlNJOiAwMDAwMDAwMDAwMDAwMDAyIFJESTogCj4gZmZmZjhhYjgzZjg1ZmJl MAo+IFsgMzE5Ny45MjAyNzBdIFJCUDogMDAwMDAwMDAwMDAwMDAwMiBSMDg6IDAwMDAwMDAwMDAw MDAwMDAgUjA5OiAKPiAwMDAwMDAwMDAwMDAwMDAwCj4gWyAzMTk3LjkyODkzNF0gUjEwOiAwMDAw MDlhNzQ3ZmExZmY0IFIxMTogMDAwMDAwMDAwMDAwMDAwMCBSMTI6IAo+IGZmZmZmZmZmZmZmZmZm ZmYKPiBbIDMxOTcuOTM3NTgxXSBSMTM6IDAwMDAwMDAwMDAwMDAwMDAgUjE0OiAwMDAwMDAwMDAw MDAwMDAwIFIxNTogCj4gMDAwMDAwMDAwMDAwMDAwMAo+IFsgMzE5Ny45NDYyMjVdwqAgPyB0aWNr X25vaHpfaWRsZV9zdG9wX3RpY2srMHg1ZS8weGMwCj4gWyAzMTk3Ljk1MjE1NF3CoCBkb19pZGxl KzB4MWJkLzB4MjQwCj4gWyAzMTk3Ljk1NjQyOV3CoCBjcHVfc3RhcnR1cF9lbnRyeSsweDE5LzB4 MjAKPiBbIDMxOTcuOTYxNDczXcKgIHN0YXJ0X3NlY29uZGFyeSsweDE1Zi8weDFiMAo+IFsgMzE5 Ny45NjY0OTldwqAgc2Vjb25kYXJ5X3N0YXJ0dXBfNjQrMHhiNi8weGMwCj4gWyAzMTk3Ljk3MTc5 OF0gLS0tWyBlbmQgdHJhY2UgOTVlOTUwZWI2MDdlNDg0MyBdLS0tCj4gWyAzMTk3Ljk3NzU2N10g bWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFggdGltZW91dCBkZXRlY3RlZAo+ IFsgMzE5Ny45ODUxNzVdIG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9zbGF2ZTE6IFRYIHRp bWVvdXQgb24gcXVldWU6IAo+IDEyLCBTUTogMHgxMjc4LCBDUTogMHhmMiwgU1EgQ29uczogMHg4 IFNRIFByb2Q6IDB4YSwgdXNlYzAKPiBbIDMxOTguMDAyNjI3XSBtbHg1X2NvcmUgMDAwMDowNTow MC4wOiBtbHg1X3JzY19kdW1wX3RyaWdnZXI6OTU6KHBpZCAKPiAzMjAzKTogUmVzb3VyY2UgZHVt cDogRmFpbGVkIHRvIGFjY2VzcyBlcnIgLTUKPiBbIDMxOTguMDE0ODk3XSBtbHg1X2NvcmUgMDAw MDowNTowMC4wOiBtbHg1X3JzY19kdW1wX25leHQ6MTUwOihwaWQgCj4gMzIwMyk6IFJlc291cmNl IGR1bXA6IEZhaWxlZCB0byB0cmlnZ2VyIGR1bXAsIC01Cj4gWyAzMTk4LjAyNzIyOV0gbWx4NV9j b3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogRVEgMHgxMzogQ29ucyA9IDB4ZCwgCj4gaXJx biA9IDB4ODcKPiBbIDMxOTguMDM3NjY5XSBtbHg1X2NvcmUgMDAwMDowNTowMC4wIG1seDVfc2xh dmUxOiAKPiBtbHg1ZV9zYWZlX3Jlb3Blbl9jaGFubmVscyBmYWlsZWQgcmVjb3ZlcmluZyBmcm9t IGEgdHhfdGltZW91dCwgZXJyKC01KS4KPiBbIDMyMTMuNDQzNTY1XSBtbHg1X2NvcmUgMDAwMDow NTowMC4wIG1seDVfc2xhdmUxOiBUWCB0aW1lb3V0IGRldGVjdGVkCj4gWyAzMjEzLjQ1MTE1OF0g bWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFggdGltZW91dCBvbiBxdWV1ZTog Cj4gMTIsIFNROiAweDEyNzgsIENROiAweGYyLCBTUSBDb25zOiAweDggU1EgUHJvZDogMHhhLCB1 c2VjMAo+IFsgMzIxMy41MDM0OTZdIG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9zbGF2ZTE6 IAo+IG1seDVlX3NhZmVfcmVvcGVuX2NoYW5uZWxzIGZhaWxlZCByZWNvdmVyaW5nIGZyb20gYSB0 eF90aW1lb3V0LCBlcnIoLTUpLgo+IFsgMzIxNC40Njc1NjZdIG1seDVfY29yZSAwMDAwOjA1OjAw LjEgbWx4NV9zbGF2ZTI6IFRYIHRpbWVvdXQgZGV0ZWN0ZWQKPiBbIDMyMTQuNDc1MTY5XSBtbHg1 X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBUWCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAx MSwgU1E6IDB4MWE3NCwgQ1E6IDB4OGMwLCBTUSBDb25zOiAweDUgU1EgUHJvZDogMHg3LCB1c2Uw Cj4gWyAzMjE0LjQ5MjY5OV0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMTogbWx4NV9yc2NfZHVtcF90 cmlnZ2VyOjk1OihwaWQgCj4gMzYxNSk6IFJlc291cmNlIGR1bXA6IEZhaWxlZCB0byBhY2Nlc3Mg ZXJyIC01Cj4gWyAzMjE0LjUwNTA0Nl0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMTogbWx4NV9yc2Nf ZHVtcF9uZXh0OjE1MDoocGlkIAo+IDM2MTUpOiBSZXNvdXJjZSBkdW1wOiBGYWlsZWQgdG8gdHJp Z2dlciBkdW1wLCAtNQo+IFsgMzIxNC41MTc1MDJdIG1seDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4 NV9zbGF2ZTI6IEVRIDB4MTI6IENvbnMgPSAweGEsIAo+IGlycW4gPSAweGIwCj4gWyAzMjE0LjUy Njc5NV0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMSBtbHg1X3NsYXZlMjogVFggdGltZW91dCBvbiBx dWV1ZTogCj4gMTIsIFNROiAweDFhNzgsIENROiAweDhjNCwgU1EgQ29uczogMHg2IFNRIFByb2Q6 IDB4OCwgdXNlMAo+IFsgMzIxNC41NDQ5NzRdIG1seDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4NV9z bGF2ZTI6IAo+IG1seDVlX3NhZmVfcmVvcGVuX2NoYW5uZWxzIGZhaWxlZCByZWNvdmVyaW5nIGZy b20gYSB0eF90aW1lb3V0LCBlcnIoLTUpLgo+IFsgMzIyOC44MDM2MDFdIG1seDVfY29yZSAwMDAw OjA1OjAwLjAgbWx4NV9zbGF2ZTE6IFRYIHRpbWVvdXQgZGV0ZWN0ZWQKPiBbIDMyMjguODExMjgw XSBtbHg1X2NvcmUgMDAwMDowNTowMC4wIG1seDVfc2xhdmUxOiBUWCB0aW1lb3V0IG9uIHF1ZXVl OiAKPiAxMiwgU1E6IDB4MTI3OCwgQ1E6IDB4ZjIsIFNRIENvbnM6IDB4OCBTUSBQcm9kOiAweGEs IHVzZWMwCj4gWyAzMjI4Ljg0NjE3NF0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZl MTogCj4gbWx4NWVfc2FmZV9yZW9wZW5fY2hhbm5lbHMgZmFpbGVkIHJlY292ZXJpbmcgZnJvbSBh IHR4X3RpbWVvdXQsIGVycigtNSkuCj4gWyAzMjI5LjMxNTYwMV0gbWx4NV9jb3JlIDAwMDA6MDU6 MDAuMSBtbHg1X3NsYXZlMjogVFggdGltZW91dCBkZXRlY3RlZAo+IFsgMzIyOS4zMjMzMzNdIG1s eDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4NV9zbGF2ZTI6IFRYIHRpbWVvdXQgb24gcXVldWU6IAo+ IDEwLCBTUTogMHgxYTcwLCBDUTogMHg4ZGMsIFNRIENvbnM6IDB4OCBTUSBQcm9kOiAweGEsIHVz ZTAKPiBbIDMyMjkuMzQxMTc3XSBtbHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBU WCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAxMSwgU1E6IDB4MWE3NCwgQ1E6IDB4OGMwLCBTUSBDb25z OiAweDUgU1EgUHJvZDogMHg3LCB1c2UwCj4gWyAzMjI5LjM1OTEwNl0gbWx4NV9jb3JlIDAwMDA6 MDU6MDAuMSBtbHg1X3NsYXZlMjogVFggdGltZW91dCBvbiBxdWV1ZTogCj4gMTIsIFNROiAweDFh NzgsIENROiAweDhjNCwgU1EgQ29uczogMHg2IFNRIFByb2Q6IDB4OCwgdXNlMAo+IFsgMzIyOS4z OTMxNDJdIG1seDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4NV9zbGF2ZTI6IAo+IG1seDVlX3NhZmVf cmVvcGVuX2NoYW5uZWxzIGZhaWxlZCByZWNvdmVyaW5nIGZyb20gYSB0eF90aW1lb3V0LCBlcnIo LTUpLgo+IFsgMzI0NC42NzU2MzhdIG1seDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4NV9zbGF2ZTI6 IFRYIHRpbWVvdXQgZGV0ZWN0ZWQKPiBbIDMyNDQuNjc1NjM5XSBtbHg1X2NvcmUgMDAwMDowNTow MC4wIG1seDVfc2xhdmUxOiBUWCB0aW1lb3V0IGRldGVjdGVkCj4gWyAzMjQ0LjY4MzQ4Nl0gbWx4 NV9jb3JlIDAwMDA6MDU6MDAuMSBtbHg1X3NsYXZlMjogVFggdGltZW91dCBvbiBxdWV1ZTogCj4g MTAsIFNROiAweDFhNzAsIENROiAweDhkYywgU1EgQ29uczogMHg4IFNRIFByb2Q6IDB4YSwgdXNl MAo+IFsgMzI0NC43MTA2MzhdIG1seDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4NV9zbGF2ZTI6IFRY IHRpbWVvdXQgb24gcXVldWU6IAo+IDExLCBTUTogMHgxYTc0LCBDUTogMHg4YzAsIFNRIENvbnM6 IDB4NSBTUSBQcm9kOiAweDcsIHVzZTAKPiBbIDMyNDQuNzI4NzMyXSBtbHg1X2NvcmUgMDAwMDow NTowMC4xIG1seDVfc2xhdmUyOiBUWCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAxMiwgU1E6IDB4MWE3 OCwgQ1E6IDB4OGM0LCBTUSBDb25zOiAweDYgU1EgUHJvZDogMHg4LCB1c2UwCj4gWyAzMjQ0Ljc1 MzE3Ml0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMSBtbHg1X3NsYXZlMjogCj4gbWx4NWVfc2FmZV9y ZW9wZW5fY2hhbm5lbHMgZmFpbGVkIHJlY292ZXJpbmcgZnJvbSBhIHR4X3RpbWVvdXQsIGVycigt NSkuCj4gWyAzMjQ0Ljc2Njc5OF0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTog VFggdGltZW91dCBvbiBxdWV1ZTogCj4gMTIsIFNROiAweDEyNzgsIENROiAweGYyLCBTUSBDb25z OiAweDggU1EgUHJvZDogMHhhLCB1c2VjMAo+IFsgMzI0NC44MjMxOTVdIG1seDVfY29yZSAwMDAw OjA1OjAwLjAgbWx4NV9zbGF2ZTE6IAo+IG1seDVlX3NhZmVfcmVvcGVuX2NoYW5uZWxzIGZhaWxl ZCByZWNvdmVyaW5nIGZyb20gYSB0eF90aW1lb3V0LCBlcnIoLTUpLgo+IFsgMzI2MC41NDc2NzVd IG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9zbGF2ZTE6IFRYIHRpbWVvdXQgZGV0ZWN0ZWQK PiBbIDMyNjAuNTQ3Njc2XSBtbHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBUWCB0 aW1lb3V0IGRldGVjdGVkCj4gWyAzMjYwLjU0NzY4M10gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMSBt bHg1X3NsYXZlMjogVFggdGltZW91dCBvbiBxdWV1ZTogCj4gMTAsIFNROiAweDFhNzAsIENROiAw eDhkYywgU1EgQ29uczogMHg4IFNRIFByb2Q6IDB4YSwgdXNlMAo+IFsgMzI2MC41ODI1NDJdIG1s eDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4NV9zbGF2ZTI6IFRYIHRpbWVvdXQgb24gcXVldWU6IAo+ IDExLCBTUTogMHgxYTc0LCBDUTogMHg4YzAsIFNRIENvbnM6IDB4NSBTUSBQcm9kOiAweDcsIHVz ZTAKPiBbIDMyNjAuNjAxMTg5XSBtbHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBU WCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAxMiwgU1E6IDB4MWE3OCwgQ1E6IDB4OGM0LCBTUSBDb25z OiAweDYgU1EgUHJvZDogMHg4LCB1c2UwCj4gWyAzMjYwLjYyNTY3MV0gbWx4NV9jb3JlIDAwMDA6 MDU6MDAuMSBtbHg1X3NsYXZlMjogCj4gbWx4NWVfc2FmZV9yZW9wZW5fY2hhbm5lbHMgZmFpbGVk IHJlY292ZXJpbmcgZnJvbSBhIHR4X3RpbWVvdXQsIGVycigtNSkuCj4gWyAzMjYwLjYzOTQ0OV0g bWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFggdGltZW91dCBvbiBxdWV1ZTog Cj4gMTEsIFNROiAweDEyNzQsIENROiAweGNlLCBTUSBDb25zOiAweDcgU1EgUHJvZDogMHg5LCB1 c2VjMAo+IFsgMzI2MC42NTc4NzNdIG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9zbGF2ZTE6 IFRYIHRpbWVvdXQgb24gcXVldWU6IAo+IDEyLCBTUTogMHgxMjc4LCBDUTogMHhmMiwgU1EgQ29u czogMHg4IFNRIFByb2Q6IDB4YSwgdXNlYzAKPiBbIDMyNjAuNjc4MDk1XSBtbHg1X2NvcmUgMDAw MDowNTowMC4wIG1seDVfc2xhdmUxOiAKPiBtbHg1ZV9zYWZlX3Jlb3Blbl9jaGFubmVscyBmYWls ZWQgcmVjb3ZlcmluZyBmcm9tIGEgdHhfdGltZW91dCwgZXJyKC01KS4KPiBbIDMyNzUuMzk1NzEy XSBtbHg1X2NvcmUgMDAwMDowNTowMC4wIG1seDVfc2xhdmUxOiBUWCB0aW1lb3V0IGRldGVjdGVk Cj4gWyAzMjc1LjQwMzczNl0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFgg dGltZW91dCBvbiBxdWV1ZTogCj4gMTEsIFNROiAweDEyNzQsIENROiAweGNlLCBTUSBDb25zOiAw eDcgU1EgUHJvZDogMHg5LCB1c2VjMAo+IFsgMzI3NS40NTExNTldIG1seDVfY29yZSAwMDAwOjA1 OjAwLjAgbWx4NV9zbGF2ZTE6IFRYIHRpbWVvdXQgb24gcXVldWU6IAo+IDEyLCBTUTogMHgxMjc4 LCBDUTogMHhmMiwgU1EgQ29uczogMHg4IFNRIFByb2Q6IDB4YSwgdXNlYzAKPiBbIDMyNzUuNTA0 NzI0XSBtbHg1X2NvcmUgMDAwMDowNTowMC4wIG1seDVfc2xhdmUxOiAKPiBtbHg1ZV9zYWZlX3Jl b3Blbl9jaGFubmVscyBmYWlsZWQgcmVjb3ZlcmluZyBmcm9tIGEgdHhfdGltZW91dCwgZXJyKC01 KS4KPiBbIDMyNzYuNDE5NzEyXSBtbHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBU WCB0aW1lb3V0IGRldGVjdGVkCj4gWyAzMjc2LjQyNzc2MF0gbWx4NV9jb3JlIDAwMDA6MDU6MDAu MSBtbHg1X3NsYXZlMjogVFggdGltZW91dCBvbiBxdWV1ZTogCj4gMTAsIFNROiAweDFhNzAsIENR OiAweDhkYywgU1EgQ29uczogMHg4IFNRIFByb2Q6IDB4YSwgdXNlMAo+IFsgMzI3Ni40NDY0MzVd IG1seDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4NV9zbGF2ZTI6IFRYIHRpbWVvdXQgb24gcXVldWU6 IAo+IDExLCBTUTogMHgxYTc0LCBDUTogMHg4YzAsIFNRIENvbnM6IDB4NSBTUSBQcm9kOiAweDcs IHVzZTAKPiBbIDMyNzYuNDY1MTgwXSBtbHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUy OiBUWCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAxMiwgU1E6IDB4MWE3OCwgQ1E6IDB4OGM0LCBTUSBD b25zOiAweDYgU1EgUHJvZDogMHg4LCB1c2UwCj4gWyAzMjc2LjQ5NzUxMV0gbWx4NV9jb3JlIDAw MDA6MDU6MDAuMSBtbHg1X3NsYXZlMjogCj4gbWx4NWVfc2FmZV9yZW9wZW5fY2hhbm5lbHMgZmFp bGVkIHJlY292ZXJpbmcgZnJvbSBhIHR4X3RpbWVvdXQsIGVycigtNSkuCj4gWyAzMjkwLjc1NTc0 Nl0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFggdGltZW91dCBkZXRlY3Rl ZAo+IFsgMzI5MC43NjM4MDNdIG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9zbGF2ZTE6IFRY IHRpbWVvdXQgb24gcXVldWU6IAo+IDExLCBTUTogMHgxMjc0LCBDUTogMHhjZSwgU1EgQ29uczog MHg3IFNRIFByb2Q6IDB4OSwgdXNlYzAKPiBbIDMyOTAuNzgyNDUwXSBtbHg1X2NvcmUgMDAwMDow NTowMC4wIG1seDVfc2xhdmUxOiBUWCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAxMiwgU1E6IDB4MTI3 OCwgQ1E6IDB4ZjIsIFNRIENvbnM6IDB4OCBTUSBQcm9kOiAweGEsIHVzZWMwCj4gWyAzMjkwLjgw MTE1Nl0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFggdGltZW91dCBvbiBx dWV1ZTogCj4gMTksIFNROiAweDEyOTQsIENROiAweGVlLCBTUSBDb25zOiAweDIgU1EgUHJvZDog MHg0LCB1c2VjMAo+IFsgMzI5MC44MzQwNjVdIG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9z bGF2ZTE6IAo+IG1seDVlX3NhZmVfcmVvcGVuX2NoYW5uZWxzIGZhaWxlZCByZWNvdmVyaW5nIGZy b20gYSB0eF90aW1lb3V0LCBlcnIoLTUpLgo+IFsgMzI5MS43Nzk3NDhdIG1seDVfY29yZSAwMDAw OjA1OjAwLjEgbWx4NV9zbGF2ZTI6IFRYIHRpbWVvdXQgZGV0ZWN0ZWQKPiBbIDMyOTEuNzg3ODI1 XSBtbHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBUWCB0aW1lb3V0IG9uIHF1ZXVl OiAKPiAxMCwgU1E6IDB4MWE3MCwgQ1E6IDB4OGRjLCBTUSBDb25zOiAweDggU1EgUHJvZDogMHhh LCB1c2UwCj4gWyAzMjkxLjgwNjYxOV0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMSBtbHg1X3NsYXZl MjogVFggdGltZW91dCBvbiBxdWV1ZTogCj4gMTEsIFNROiAweDFhNzQsIENROiAweDhjMCwgU1Eg Q29uczogMHg1IFNRIFByb2Q6IDB4NywgdXNlMAo+IFsgMzI5MS44MjU2MDJdIG1seDVfY29yZSAw MDAwOjA1OjAwLjEgbWx4NV9zbGF2ZTI6IFRYIHRpbWVvdXQgb24gcXVldWU6IAo+IDEyLCBTUTog MHgxYTc4LCBDUTogMHg4YzQsIFNRIENvbnM6IDB4NiBTUSBQcm9kOiAweDgsIHVzZTAKPiBbIDMy OTEuODQ0NDY2XSBtbHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBUWCB0aW1lb3V0 IG9uIHF1ZXVlOiAKPiAxNCwgU1E6IDB4MWE4MCwgQ1E6IDB4OGNjLCBTUSBDb25zOiAweDUgU1Eg UHJvZDogMHg3LCB1c2UwCj4gWyAzMjkxLjg3NTA2NV0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMSBt bHg1X3NsYXZlMjogCj4gbWx4NWVfc2FmZV9yZW9wZW5fY2hhbm5lbHMgZmFpbGVkIHJlY292ZXJp bmcgZnJvbSBhIHR4X3RpbWVvdXQsIGVycigtNSkuCj4gWyAzMzA2LjYyNzc4NF0gbWx4NV9jb3Jl IDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFggdGltZW91dCBkZXRlY3RlZAo+IFsgMzMwNi42 MzU4NjJdIG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9zbGF2ZTE6IFRYIHRpbWVvdXQgb24g cXVldWU6IAo+IDExLCBTUTogMHgxMjc0LCBDUTogMHhjZSwgU1EgQ29uczogMHg3IFNRIFByb2Q6 IDB4OSwgdXNlYzAKPiBbIDMzMDYuNjU0NzA4XSBtbHg1X2NvcmUgMDAwMDowNTowMC4wIG1seDVf c2xhdmUxOiBUWCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAxMiwgU1E6IDB4MTI3OCwgQ1E6IDB4ZjIs IFNRIENvbnM6IDB4OCBTUSBQcm9kOiAweGEsIHVzZWMwCj4gWyAzMzA2LjY3MzUzN10gbWx4NV9j b3JlIDAwMDA6MDU6MDAuMCBtbHg1X3NsYXZlMTogVFggdGltZW91dCBvbiBxdWV1ZTogCj4gMTks IFNROiAweDEyOTQsIENROiAweGVlLCBTUSBDb25zOiAweDIgU1EgUHJvZDogMHg0LCB1c2VjMAo+ IFsgMzMwNi43MDU2OTZdIG1seDVfY29yZSAwMDAwOjA1OjAwLjAgbWx4NV9zbGF2ZTE6IAo+IG1s eDVlX3NhZmVfcmVvcGVuX2NoYW5uZWxzIGZhaWxlZCByZWNvdmVyaW5nIGZyb20gYSB0eF90aW1l b3V0LCBlcnIoLTUpLgo+IFsgMzMwNy42NTE3ODZdIG1seDVfY29yZSAwMDAwOjA1OjAwLjEgbWx4 NV9zbGF2ZTI6IFRYIHRpbWVvdXQgZGV0ZWN0ZWQKPiBbIDMzMDcuNjU5ODg0XSBtbHg1X2NvcmUg MDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBUWCB0aW1lb3V0IG9uIHF1ZXVlOiAKPiAxMCwgU1E6 IDB4MWE3MCwgQ1E6IDB4OGRjLCBTUSBDb25zOiAweDggU1EgUHJvZDogMHhhLCB1c2UwCj4gWyAz MzA3LjY3ODYzM10gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMSBtbHg1X3NsYXZlMjogVFggdGltZW91 dCBvbiBxdWV1ZTogCj4gMTEsIFNROiAweDFhNzQsIENROiAweDhjMCwgU1EgQ29uczogMHg1IFNR IFByb2Q6IDB4NywgdXNlMAo+IFsgMzMwNy42OTc2NDJdIG1seDVfY29yZSAwMDAwOjA1OjAwLjEg bWx4NV9zbGF2ZTI6IFRYIHRpbWVvdXQgb24gcXVldWU6IAo+IDEyLCBTUTogMHgxYTc4LCBDUTog MHg4YzQsIFNRIENvbnM6IDB4NiBTUSBQcm9kOiAweDgsIHVzZTAKPiBbIDMzMDcuNzE2NTMxXSBt bHg1X2NvcmUgMDAwMDowNTowMC4xIG1seDVfc2xhdmUyOiBUWCB0aW1lb3V0IG9uIHF1ZXVlOiAK PiAxNCwgU1E6IDB4MWE4MCwgQ1E6IDB4OGNjLCBTUSBDb25zOiAweDUgU1EgUHJvZDogMHg3LCB1 c2UwCj4gWyAzMzA3Ljc0NzE2MV0gbWx4NV9jb3JlIDAwMDA6MDU6MDAuMSBtbHg1X3NsYXZlMjog Cj4gbWx4NWVfc2FmZV9yZW9wZW5fY2hhbm5lbHMgZmFpbGVkIHJlY292ZXJpbmcgZnJvbSBhIHR4 X3RpbWVvdXQsIGVycigtNSkuCj4gWyAzMzE5LjQyNzgyMV0gSU5GTzogdGFzayBrd29ya2VyLzI6 MzoxNjQwIGJsb2NrZWQgZm9yIG1vcmUgdGhhbiAxMjIgCj4gc2Vjb25kcy4KPiBbIDMzMTkuNDM2 NjE4XcKgwqDCoMKgwqDCoCBUYWludGVkOiBHwqDCoMKgwqDCoMKgwqAgV8KgwqDCoMKgwqDCoMKg wqAgNS43LjAtcmM2KyAjMgo+IFsgMzMxOS40NDM5MzRdICJlY2hvIDAgPiAvcHJvYy9zeXMva2Vy bmVsL2h1bmdfdGFza190aW1lb3V0X3NlY3MiIAo+IGRpc2FibGVzIHRoaXMgbWVzc2FnZS4KPiBb IDMzMTkuNDUzNzc0XSBDYWxsIFRyYWNlOgo+IFsgMzMxOS40NTc1ODNdwqAgPyBfX3NjaGVkdWxl KzB4MjYyLzB4NmUwCj4gWyAzMzE5LjQ2Mjc0NF3CoCA/IF9fc3dpdGNoX3RvX2FzbSsweDQwLzB4 NzAKPiBbIDMzMTkuNDY4MTc3XcKgID8gc2NoZWR1bGUrMHg0MC8weGIwCj4gWyAzMzE5LjQ3Mjkx M13CoCA/IHNjaGVkdWxlX3RpbWVvdXQrMHgyMWUvMHgzMTAKPiBbIDMzMTkuNDc4NjA0XcKgID8g bnZtZXRfZGVzdHJveV9uYW1lc3BhY2UrMHgyMC8weDIwIFtudm1ldF0KPiBbIDMzMTkuNDg1NTM5 XcKgID8gd2FpdF9mb3JfY29tcGxldGlvbisweDhkLzB4ZjAKPiBbIDMzMTkuNDkxMjkzXcKgID8g bnZtZXRfc3FfZGVzdHJveSsweDUxLzB4YjAgW252bWV0XQo+IFsgMzMxOS40OTc1MTVdwqAgPyBu dm1ldF9yZG1hX2ZyZWVfcXVldWUrMHgxNy8weGIwIFtudm1ldF9yZG1hXQo+IFsgMzMxOS41MDQ2 OTJdwqAgPyBudm1ldF9yZG1hX3JlbGVhc2VfcXVldWVfd29yaysweDE5LzB4NTAgW252bWV0X3Jk bWFdCj4gWyAzMzE5LjUxMjY1MF3CoCA/IHByb2Nlc3Nfb25lX3dvcmsrMHgxYTcvMHgzNzAKPiBb IDMzMTkuNTE4MjYzXcKgID8gd29ya2VyX3RocmVhZCsweDMwLzB4MzgwCj4gWyAzMzE5LjUyMzQ2 OF3CoCA/IHByb2Nlc3Nfb25lX3dvcmsrMHgzNzAvMHgzNzAKPiBbIDMzMTkuNTI5MDQ4XcKgID8g a3RocmVhZCsweDEwYy8weDEzMAo+IFsgMzMxOS41MzM3MzJdwqAgPyBrdGhyZWFkX3BhcmsrMHg4 MC8weDgwCj4gWyAzMzE5LjUzODY4N13CoCA/IHJldF9mcm9tX2ZvcmsrMHgzNS8weDQwCj4gCj4g VGhhbmtzLAo+IERhdmlkCj4gCj4gCj4+Cj4+IMKgIGRyaXZlcnMvbnZtZS90YXJnZXQvY29yZS5j IHwgMTUgKysrKysrLS0tLS0tLS0tCj4+IMKgIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMo KyksIDkgZGVsZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL252bWUvdGFyZ2V0 L2NvcmUuYyBiL2RyaXZlcnMvbnZtZS90YXJnZXQvY29yZS5jCj4+IGluZGV4IGVkZjU0ZDk5NTdi Ny4uNDhmNTEyM2Q4NzViIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL252bWUvdGFyZ2V0L2NvcmUu Ywo+PiArKysgYi9kcml2ZXJzL252bWUvdGFyZ2V0L2NvcmUuYwo+PiBAQCAtMTU4LDE0ICsxNTgs MTIgQEAgc3RhdGljIHZvaWQgbnZtZXRfYXN5bmNfZXZlbnRzX3Byb2Nlc3Moc3RydWN0IAo+PiBu dm1ldF9jdHJsICpjdHJsLCB1MTYgc3RhdHVzKQo+PiDCoCBzdGF0aWMgdm9pZCBudm1ldF9hc3lu Y19ldmVudHNfZnJlZShzdHJ1Y3QgbnZtZXRfY3RybCAqY3RybCkKPj4gwqAgewo+PiAtwqDCoMKg IHN0cnVjdCBudm1ldF9yZXEgKnJlcTsKPj4gK8KgwqDCoCBzdHJ1Y3QgbnZtZXRfYXN5bmNfZXZl bnQgKmFlbiwgKnRtcDsKPj4gwqDCoMKgwqDCoCBtdXRleF9sb2NrKCZjdHJsLT5sb2NrKTsKPj4g LcKgwqDCoCB3aGlsZSAoY3RybC0+bnJfYXN5bmNfZXZlbnRfY21kcykgewo+PiAtwqDCoMKgwqDC oMKgwqAgcmVxID0gY3RybC0+YXN5bmNfZXZlbnRfY21kc1stLWN0cmwtPm5yX2FzeW5jX2V2ZW50 X2NtZHNdOwo+PiAtwqDCoMKgwqDCoMKgwqAgbXV0ZXhfdW5sb2NrKCZjdHJsLT5sb2NrKTsKPj4g LcKgwqDCoMKgwqDCoMKgIG52bWV0X3JlcV9jb21wbGV0ZShyZXEsIE5WTUVfU0NfSU5URVJOQUwg fCBOVk1FX1NDX0ROUik7Cj4+IC3CoMKgwqDCoMKgwqDCoCBtdXRleF9sb2NrKCZjdHJsLT5sb2Nr KTsKPj4gK8KgwqDCoCBsaXN0X2Zvcl9lYWNoX2VudHJ5X3NhZmUoYWVuLCB0bXAsICZjdHJsLT5h c3luY19ldmVudHMsIGVudHJ5KSB7Cj4+ICvCoMKgwqDCoMKgwqDCoCBsaXN0X2RlbCgmYWVuLT5l bnRyeSk7Cj4+ICvCoMKgwqDCoMKgwqDCoCBrZnJlZShhZW4pOwo+PiDCoMKgwqDCoMKgIH0KPj4g wqDCoMKgwqDCoCBtdXRleF91bmxvY2soJmN0cmwtPmxvY2spOwo+PiDCoCB9Cj4+IEBAIC03OTEs MTAgKzc4OSw4IEBAIHZvaWQgbnZtZXRfc3FfZGVzdHJveShzdHJ1Y3QgbnZtZXRfc3EgKnNxKQo+ PiDCoMKgwqDCoMKgwqAgKiBJZiB0aGlzIGlzIHRoZSBhZG1pbiBxdWV1ZSwgY29tcGxldGUgYWxs IEFFUnMgc28gdGhhdCBvdXIKPj4gwqDCoMKgwqDCoMKgICogcXVldWUgZG9lc24ndCBoYXZlIG91 dHN0YW5kaW5nIHJlcXVlc3RzIG9uIGl0Lgo+PiDCoMKgwqDCoMKgwqAgKi8KPj4gLcKgwqDCoCBp ZiAoY3RybCAmJiBjdHJsLT5zcXMgJiYgY3RybC0+c3FzWzBdID09IHNxKSB7Cj4+ICvCoMKgwqAg aWYgKGN0cmwgJiYgY3RybC0+c3FzICYmIGN0cmwtPnNxc1swXSA9PSBzcSkKPj4gwqDCoMKgwqDC oMKgwqDCoMKgIG52bWV0X2FzeW5jX2V2ZW50c19wcm9jZXNzKGN0cmwsIHN0YXR1cyk7Cj4+IC3C oMKgwqDCoMKgwqDCoCBudm1ldF9hc3luY19ldmVudHNfZnJlZShjdHJsKTsKPj4gLcKgwqDCoCB9 Cj4+IMKgwqDCoMKgwqAgcGVyY3B1X3JlZl9raWxsX2FuZF9jb25maXJtKCZzcS0+cmVmLCBudm1l dF9jb25maXJtX3NxKTsKPj4gwqDCoMKgwqDCoCB3YWl0X2Zvcl9jb21wbGV0aW9uKCZzcS0+Y29u ZmlybV9kb25lKTsKPj4gwqDCoMKgwqDCoCB3YWl0X2Zvcl9jb21wbGV0aW9uKCZzcS0+ZnJlZV9k b25lKTsKPj4gQEAgLTE0MjcsNiArMTQyMyw3IEBAIHN0YXRpYyB2b2lkIG52bWV0X2N0cmxfZnJl ZShzdHJ1Y3Qga3JlZiAqcmVmKQo+PiDCoMKgwqDCoMKgIGlkYV9zaW1wbGVfcmVtb3ZlKCZjbnRs aWRfaWRhLCBjdHJsLT5jbnRsaWQpOwo+PiArwqDCoMKgIG52bWV0X2FzeW5jX2V2ZW50c19mcmVl KGN0cmwpOwo+PiDCoMKgwqDCoMKgIGtmcmVlKGN0cmwtPnNxcyk7Cj4+IMKgwqDCoMKgwqAga2Zy ZWUoY3RybC0+Y3FzKTsKPj4gwqDCoMKgwqDCoCBrZnJlZShjdHJsLT5jaGFuZ2VkX25zX2xpc3Qp Owo+Pgo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtbnZtZSBtYWlsaW5nIGxpc3QKbGludXgtbnZtZUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0 dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbnZtZQo=