From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C271DF8E48F for ; Thu, 16 Apr 2026 22:49:57 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B31E36B0088; Thu, 16 Apr 2026 18:49:56 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id AE29B6B0089; Thu, 16 Apr 2026 18:49:56 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9AA2C6B008A; Thu, 16 Apr 2026 18:49:56 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id 856C46B0088 for ; Thu, 16 Apr 2026 18:49:56 -0400 (EDT) Received: from smtpin03.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 00017E465A for ; Thu, 16 Apr 2026 22:49:55 +0000 (UTC) X-FDA: 84665913150.03.87AA7DE Received: from sea.source.kernel.org (sea.source.kernel.org [172.234.252.31]) by imf04.hostedemail.com (Postfix) with ESMTP id 2F29B4000D for ; Thu, 16 Apr 2026 22:49:53 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ZxtNchzx; spf=pass (imf04.hostedemail.com: domain of jlayton@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=jlayton@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1776379794; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=Zbf3OVtYDMN8srJZok7yzLDK8N16cfeB2K7ev4L5uk8=; b=2ge8g26zWjGnpvP5Gkkr8b1kubME0Ba1ZMUMcpM3z+SuAcUClWiPGgy1SaWRNbwpnhhMz/ T15V1s2IWOBW45vTnNFAOgjawAbb7iiVNCbhO7rl0L+XpMdAqYhUA1Ww7uoY/kVnLoxkki PyXcBIcurF9ALfibzdkTeVY//AqxHAc= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1776379794; a=rsa-sha256; cv=none; b=PyVNWWs0DtZ7HhKK5Zml7BLMnnxj1k7qPpGSVPK6gMmVzZ1NRxLEkTw1/5dE3dpae6rSpk RUve2YwO7yOhlf6FT6ebl2CCFnRBGkj4KaxziN5PTcD38VIB/626xFdhdmD+YZjTBW3xQc F0VN6tvbD87mV7PYbzZmJxOnNrr5u0c= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=ZxtNchzx; spf=pass (imf04.hostedemail.com: domain of jlayton@kernel.org designates 172.234.252.31 as permitted sender) smtp.mailfrom=jlayton@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by sea.source.kernel.org (Postfix) with ESMTP id E48BD40BE1; Thu, 16 Apr 2026 22:49:52 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3340EC2BCB6; Thu, 16 Apr 2026 22:49:52 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1776379792; bh=Zbf3OVtYDMN8srJZok7yzLDK8N16cfeB2K7ev4L5uk8=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=ZxtNchzxi22LrIBocJfRU5NdY48X4qMlvFnWwwWqWHQU79FSi8M3zpaLhThI8sKeP 00zBKe7wretKLcTD6G5+3XrDC9hBGvjtUnvadwrGyOCVs16huJ5Aq9N56XIQS8maKm +CW9nawJhSFWAxozC50io5eh5esqQ0BhHoYgNhfIzRIuiOl318ae56QbP62nuEZZQx iqr7i/2M58GmJ9Q7tmU32stci57Sl1Fa2f0IIQ0ht73iSK7gTye3SLkz5UUT8PzxE8 WHcY0PtFbVQujWV2EPxH++ZBs+6Afinkx7vgxaMENRjbiZe/Js3D8KiP0ceNBqIvlY bG/7T5E29PRGw== Message-ID: <52b81c4d1fb2ad0e07b3b3b4dfbd3d36e8ee3e7d.camel@kernel.org> Subject: Re: [PATCH v2 1/3] mm: kick writeback flusher instead of inline flush for IOCB_DONTCACHE From: Jeff Layton To: Ritesh Harjani , Alexander Viro , Christian Brauner , Jan Kara , "Matthew Wilcox (Oracle)" , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Mike Snitzer , Jens Axboe , Chuck Lever Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, linux-nfs@vger.kernel.org, linux-mm@kvack.org Date: Thu, 16 Apr 2026 15:49:51 -0700 In-Reply-To: References: <20260408-dontcache-v2-0-948dec1e756b@kernel.org> <20260408-dontcache-v2-1-948dec1e756b@kernel.org> Autocrypt: addr=jlayton@kernel.org; prefer-encrypt=mutual; keydata=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 QZIQXVeAA+smfTT0tDrisj1U5x6ZB9b3nBg65kc= Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 User-Agent: Evolution 3.58.3 (3.58.3-1.fc43) MIME-Version: 1.0 X-Stat-Signature: 84nnjacb1djpt6eg8we4nudbx3crf4o9 X-Rspam-User: X-Rspamd-Queue-Id: 2F29B4000D X-Rspamd-Server: rspam05 X-HE-Tag: 1776379793-360619 X-HE-Meta: U2FsdGVkX19irCLXZEwPefj/AQddq11AGkE9+0kfJ7foiw9m2Y/jRzLdWmDWNO+EIiDhE/fgiLfBKjOZpV9JgWdevKAyl6WpXR8AE/meaauPTJPMpA6Ml7irr/DTu3jYttNsJitejf+Dyfa+MhWFb+9vdws4yOm+XXSWYmCeg8aOryzBvE8N0zGUCVGQAjFRx0nGELJEk7ishGNJCMuucgyrDQRr1rOeLrvXuS5pyRAgUvWMPDXe2n3JMrzpCllJXHpPTW5sJMlNld5IiAxdYCbqzloEsSWt3ONo321FV2BMLCRgt4w3cyRO2jox/ol7nk6qORc/FT+7G339QlQ1jkyxEfO+f/pfDTU181T1FUTH7swvragNvzgGL9rqeUvXmaMdx8GImwoVWZgBYbPtWrXKRZjHwE3FVmKzOnPlpeuyaLxyMmrXJ2vfuu6C7p3OCqmS7o6msJ02k6PRKYtHZXbgO3PySLwhqSU4/QFYJTO0plWLtjOkVPOjlsbFuiQRZpTvmpcj3CKBxeMMUCVOI9EDQWrXbqmrcsW6r8cFZ5gkflrHkr30j8tNhCIwJwdXnq9ghMS8QtPjD3oEhj2u1LLRISpFDl5jYtTmQSb11SQ8cd7Puc0RQaHn+dAo0IJlL0ngFNZmzF3cheTEN9yU2tW2Pq03SrV4FoH3q1Z2oRSIutuwb4anorU4S1eHh/+LqTi2wSHQK97zCqEOsIrEBwClsXP8krBBOodHdAspdHwDciW4GCQFwQPBIYDI3bCK4Ag7TWNMoOjBAqKwi8ETqguJFX6uEmhQoJ7RKXo2SGsz0qBcrFdVmHhpPkHfNUET8/gL8hR8lT0zji/AHVv8bgHWDhl+wXbQsgX7of33CvNwFFviH8LrNUUbqJyFROusYaniS6veQQ7zyvKUv39VMw/jSsCxDPcV0DGpks+XSIaZ3Q34+pZVDFi2w03URBFMwlDfk8wK88nHFuZq/iB VLtCuD02 WA5RsXXkm6TTWlR+Yi4HvH3NCjqycZQSsMMJX6LQxH8iq/DdVvT35llBYfXEx9MIq2VznEjwCZ3eqGzjULkDKSfbcfWs7kFoujuTdeBr80FoOmcIbVgKxXgRa14i7NEIB/cpEANAYTd+u1qF1SYj0WSWbF6Li7ayWZRzPEiNItNm7/Dv07vXOz71UypBTzc6/Y4cjeBo0HWt1pjo/qQdbFVbOQGcHWzxRT3r5HAqfhKqxLuDDII0sjpWklPPCiRz6/ZPc1Ar7sNAnLfCJFncl7f2qKdqzcBten0wa0cDtO7z9OncDlJIfy8GXAPrbehgg7tcD3GHoMkVJzgDwWq7ttrcdOuCqfp/HN7N0mwgxEb2idBKz+uE/O/0IFaby242eV7S+55c/0reqfxKYIH0s3xTU2Q== Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: T24gVGh1LCAyMDI2LTA0LTA5IGF0IDA3OjEwICswNTMwLCBSaXRlc2ggSGFyamFuaSB3cm90ZToK PiBKZWZmIExheXRvbiA8amxheXRvbkBrZXJuZWwub3JnPiB3cml0ZXM6Cj4gCj4gPiBUaGUgSU9D Ql9ET05UQ0FDSEUgd3JpdGViYWNrIHBhdGggaW4gZ2VuZXJpY193cml0ZV9zeW5jKCkgY2FsbHMK PiA+IGZpbGVtYXBfZmx1c2hfcmFuZ2UoKSBvbiBldmVyeSB3cml0ZSwgc3VibWl0dGluZyB3cml0 ZWJhY2sgaW5saW5lIGluCj4gPiB0aGUgd3JpdGVyJ3MgY29udGV4dC4gIFBlcmYgbG9jayBjb250 ZW50aW9uIHByb2ZpbGluZyBzaG93cyB0aGUKPiA+IHBlcmZvcm1hbmNlIHByb2JsZW0gaXMgbm90 IGxvY2sgY29udGVudGlvbiBidXQgdGhlIHdyaXRlYmFjayBzdWJtaXNzaW9uCj4gPiB3b3JrIGl0 c2VsZiDigJQgd2Fsa2luZyB0aGUgcGFnZSB0cmVlIGFuZCBzdWJtaXR0aW5nIEkvTyBibG9ja3Mg dGhlCj4gPiB3cml0ZXIgZm9yIG1pbGxpc2Vjb25kcywgaW5mbGF0aW5nIHA5OS45IGxhdGVuY3kg ZnJvbSAyM21zIChidWZmZXJlZCkKPiA+IHRvIDkzbXMgKGRvbnRjYWNoZSkuCj4gPiAKPiA+IFJl cGxhY2UgdGhlIGlubGluZSBmaWxlbWFwX2ZsdXNoX3JhbmdlKCkgY2FsbCB3aXRoIGEKPiA+IHdh a2V1cF9mbHVzaGVyX3RocmVhZHNfYmRpKCkgY2FsbCB0aGF0IGtpY2tzIHRoZSBCREkncyBmbHVz aGVyIHRocmVhZAo+ID4gdG8gZHJhaW4gZGlydHkgcGFnZXMgaW4gdGhlIGJhY2tncm91bmQuICBU aGlzIG1vdmVzIHdyaXRlYmFjawo+ID4gc3VibWlzc2lvbiBjb21wbGV0ZWx5IG9mZiB0aGUgd3Jp dGVyJ3MgaG90IHBhdGguICBUaGUgZmx1c2hlciB0aHJlYWQKPiA+IGhhbmRsZXMgd3JpdGViYWNr IGFzeW5jaHJvbm91c2x5LCBuYXR1cmFsbHkgY29hbGVzY2luZyBhbmQgcmF0ZS1saW1pdGluZwo+ ID4gSS9PIHdpdGhvdXQgYW55IGV4cGxpY2l0IHNraXAtaWYtYnVzeSBvciBkaXJ0eSBwcmVzc3Vy ZSBjaGVja3MuCj4gPiAKPiAKPiBUaGFua3MgSmVmZiBmb3IgZXhwbGFpbmluZyB0aGlzLiBJdCBt YWtlIHNlbnNlIG5vdy4KPiAKPiAKPiA+IEFkZCBXQl9SRUFTT05fRE9OVENBQ0hFIGFzIGEgbmV3 IHdyaXRlYmFjayByZWFzb24gZm9yIHRyYWNpbmcKPiA+IHZpc2liaWxpdHkuCj4gPiAKPiA+IFNp Z25lZC1vZmYtYnk6IEplZmYgTGF5dG9uIDxqbGF5dG9uQGtlcm5lbC5vcmc+Cj4gPiAtLS0KPiA+ ICBmcy9mcy13cml0ZWJhY2suYyAgICAgICAgICAgICAgICB8IDE0ICsrKysrKysrKysrKysrCj4g PiAgaW5jbHVkZS9saW51eC9iYWNraW5nLWRldi1kZWZzLmggfCAgMSArCj4gPiAgaW5jbHVkZS9s aW51eC9mcy5oICAgICAgICAgICAgICAgfCAgNiArKy0tLS0KPiA+ICBpbmNsdWRlL3RyYWNlL2V2 ZW50cy93cml0ZWJhY2suaCB8ICAzICsrLQo+ID4gIDQgZmlsZXMgY2hhbmdlZCwgMTkgaW5zZXJ0 aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2ZzL2ZzLXdyaXRl YmFjay5jIGIvZnMvZnMtd3JpdGViYWNrLmMKPiA+IGluZGV4IDNjNzVlZTAyNWJkYS4uODhkYzMx Mzg4YTMxIDEwMDY0NAo+ID4gLS0tIGEvZnMvZnMtd3JpdGViYWNrLmMKPiA+ICsrKyBiL2ZzL2Zz LXdyaXRlYmFjay5jCj4gPiBAQCAtMjQ2Niw2ICsyNDY2LDIwIEBAIHZvaWQgd2FrZXVwX2ZsdXNo ZXJfdGhyZWFkc19iZGkoc3RydWN0IGJhY2tpbmdfZGV2X2luZm8gKmJkaSwKPiA+ICAJcmN1X3Jl YWRfdW5sb2NrKCk7Cj4gPiAgfQo+ID4gIAo+ID4gKy8qKgo+ID4gKyAqIGZpbGVtYXBfZG9udGNh Y2hlX2tpY2tfd3JpdGViYWNrIC0ga2ljayBmbHVzaGVyIGZvciBJT0NCX0RPTlRDQUNIRSB3cml0 ZXMKPiA+ICsgKiBAbWFwcGluZzoJYWRkcmVzc19zcGFjZSB0aGF0IHdhcyBqdXN0IHdyaXR0ZW4g dG8KPiA+ICsgKgo+ID4gKyAqIFdha2UgdGhlIEJESSBmbHVzaGVyIHRocmVhZCB0byBzdGFydCB3 cml0ZWJhY2sgb2YgZGlydHkgcGFnZXMgaW4gdGhlCj4gPiArICogYmFja2dyb3VuZC4KPiA+ICsg Ki8KPiA+ICt2b2lkIGZpbGVtYXBfZG9udGNhY2hlX2tpY2tfd3JpdGViYWNrKHN0cnVjdCBhZGRy ZXNzX3NwYWNlICptYXBwaW5nKQo+IAo+IFRoaXMgYXBpIGdpdmVzIGEgd3Jvbmcgc2Vuc2UgdGhh dCB3ZSBhcmUga2lja2luZyB3cml0ZWJhY2sgdG8gd3JpdGUKPiBkaXJ0eSBwYWdlcyB3aGljaCBi ZWxvbmdzIHRvIG9ubHkgdGhpcyBpbm9kZSdzIGFkZHJlc3Mgc3BhY2UgbWFwcGluZy4KPiBCdXQg aW5zdGVhZCB3ZSBhcmUgc3RhcnRpbmcgd2IgZm9yIGV2ZXJ5dGhpbmcgb24gdGhlIHJlc3BlY3Rp dmUgYmRpLgo+IAo+IFNvIGluc3RlYWQgd2h5IG5vdCBqdXN0IGV4cG9ydCBzeW1ib2wgZm9yIHdh a2V1cF9mbHVzaGVyX3RocmVhZHNfYmRpKCkKPiBhbmQgdXNlIGl0IGluc3RlYWQ/Cj4gCj4gSWYg bm90LCB0aGVuIElNTyBhdCBsZWFzdCBtYWtpbmcgaXQuLi4gCj4gICAgZmlsZW1hcF9raWNrX3dy aXRlYmFja19hbGwobWFwcGluZywgZW51bSB3Yl9yZWFzb24pCj4gCj4gLi4uIG1pZ2h0IGJlIGJl dHRlci4KCkkgZGlkIGRyYWZ0IHVwIGEgdmVyc2lvbiBvZiB0aGlzIC0tIGFkZGluZyBhIHdheSB0 byB0ZWxsIHRoZSBmbHVzaGVyCnRocmVhZCB0byBvbmx5IGZsdXNoIGEgc2luZ2xlIGlub2RlLiBU aGUgcGVyZm9ybWFuY2UgaXMgYmV0dGVyIHRoYW4KdG9kYXkncyBET05UQ0FDSEUsIGJ1dCB3YXMg d29yc2UgdGhhbiBqdXN0IGtpY2tpbmcgdGhlIGZsdXNoZXIgdGhyZWFkLgoKSSB0aGluayB3ZSdy ZSBwcm9iYWJseSBiZXR0ZXIgb2ZmIG5vdCBkb2luZyB0aGlzIGJlY2F1c2Ugd2UgbG9zZSBzb21l CmJhdGNoaW5nIG9wcG9ydHVuaXRpZXMgYnkgdHJ5aW5nIHRvIGZvcmNlIG91dCBhIHNpbmdsZSBp bm9kZSdzIHBhZ2VzCnJhdGhlciB0aGFuIGFsbG93aW5nIHRoZSB0aHJlYWQgdG8gZG8gaXRzIHRo aW5nLgoKVGhlIHJhdyByZXN1bHRzIGFuZCBDbGF1ZGUncyBhbmFseXNpcyBmb2xsb3dzLiBUaGUg YW5hbHlzaXMgc2VlbXMgYSBiaXQKc3BlY3VsYXRpdmUsIGJ1dCB0aGUgbnVtYmVycyB3ZXJlIHBy ZXR0eSBjbGVhcjoKCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogIERlbGl2ZXJhYmxlIDE6IFNpbmdsZS1DbGllbnQgZmlv IEJlbmNobWFya3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09CgotLS0gc2VxLXdyaXRlIC0tLQpNb2RlICAgICAgICAgICAg ICAgICAgIE1CL3MgICAgICAgSU9QUyAgICBBdmcodXMpICAgIHA1MCh1cykgICAgcDk5KHVzKSAg cDk5LjkodXMpICAgU3lzIENQVSUgUGVha0RpcnR5KGtCKSBQZWFrQ2FjaGUoa0IpCi0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpi dWZmZXJlZCAgICAgICAgICAgICAgNjk1LjUgNjk1LjUyODQ1MCAgICAyMjk0OS4xICAyMDA1NC4w MTYgIDU1MzEyLjM4NCAgNjEwNzkuNTUyICAgICAgICAxLjkgICAgIDQ0OTg3NzY0ICAgIDI1MzI0 MzM3Ngpkb250Y2FjaGUgICAgICAgICAgICAxNDM3LjkgMTQzNy44ODYxODYgICAgMTEwNzIuMSAg MTE5OTMuMDg4ICAyMTg4OS4wMjQgIDIzNDYxLjg4OCAgICAgICAgMi4wICAgICA0Mjg3MDc3MiAg ICAgNTI1OTMyMjAKZGlyZWN0ICAgICAgICAgICAgICAgMTM4My40IDEzODMuMzY4ODA4ICAgIDEx NTExLjEgIDEwOTQ0LjUxMiAgMjIxNTEuMTY4ICAyMzk4Ni4xNzYgICAgICAgIDIuMCAgICAgNDQ3 NDk5NTYgICAgMjUyNzczNTEyCgotLS0gcmFuZC13cml0ZSAtLS0KTW9kZSAgICAgICAgICAgICAg ICAgICBNQi9zICAgICAgIElPUFMgICAgQXZnKHVzKSAgICBwNTAodXMpICAgIHA5OSh1cykgIHA5 OS45KHVzKSAgIFN5cyBDUFUlIFBlYWtEaXJ0eShrQikgUGVha0NhY2hlKGtCKQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KYnVm ZmVyZWQgICAgICAgICAgICAgICAgMzE0IDgwMzc0LjIxNzMwMCAgICAgIDE5Ni41ICAgIDE5My41 MzYgICAgIDUyMi4yNCAgICAgNzU3Ljc2ICAgICAgICAyLjAgICAgIDQ0MTQ5NTUyICAgIDI1MjA4 MzAwOApkb250Y2FjaGUgICAgICAgICAgICAgMjg1LjggNzMxNTguNjk0MDE5ICAgICAgMjE2LjIg ICAgMTEyLjEyOCAgICA0ODkuNDcyICAgMTY3MTEuNjggICAgICAgIDEuOCAgICAgNDUwNzQyNjgg ICAgIDU0NDA2MzMyCmRpcmVjdCAgICAgICAgICAgICAgICAyMjAuOSA1NjUzOS40NTI3NjggICAg ICAyODAuNSAgICAgOTguODE2ICAgIDc0OS41NjggIDE3MTcwLjQzMiAgICAgICAgMS42ICAgICA0 NDU0NTU5MiAgICAyNTExNzI5MTIKCi0tLSBzZXEtcmVhZCAtLS0KTW9kZSAgICAgICAgICAgICAg ICAgICBNQi9zICAgICAgIElPUFMgICAgQXZnKHVzKSAgICBwNTAodXMpICAgIHA5OSh1cykgIHA5 OS45KHVzKSAgIFN5cyBDUFUlIFBlYWtEaXJ0eShrQikgUGVha0NhY2hlKGtCKQotLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KYnVm ZmVyZWQgICAgICAgICAgICAgMjMzMC45IDIzMzAuODc2MDI3ICAgICA2NTA4LjYgICA2NDU1LjI5 NiAgIDk2MzMuNzkyICAxMTA3NS41ODQgICAgICAgIDEuNSAgICAgICAgMTIxMTIgICAgMjUzMjQ4 OTY0CmRvbnRjYWNoZSAgICAgICAgICAgIDIzNTAuNCAyMzUwLjM1MjQ5OSAgICAgNjM4Mi4zICAg NjMyNC4yMjQgICA3NTAzLjg3MiAgIDgwOTMuNjk2ICAgICAgICAxLjQgICAgICAgICA1NDIwICAg ICAgNTcxNzk4NApkaXJlY3QgICAgICAgICAgICAgICAyMzkyLjQgMjM5Mi4zNjQ4MjMgICAgIDYz NjQuNSAgIDYzMjQuMjI0ICAgOTI0MC41NzYgIDEwNDIwLjIyNCAgICAgICAgMS40ICAgICAgICAx Nzc4NCAgICAyNTI1MDg0NDgKCi0tLSByYW5kLXJlYWQgLS0tCk1vZGUgICAgICAgICAgICAgICAg ICAgTUIvcyAgICAgICBJT1BTICAgIEF2Zyh1cykgICAgcDUwKHVzKSAgICBwOTkodXMpICBwOTku OSh1cykgICBTeXMgQ1BVJSBQZWFrRGlydHkoa0IpIFBlYWtDYWNoZShrQikKLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmJ1ZmZl cmVkICAgICAgICAgICAgICA1OTAuOCAxNTEyNDUuMjI3OTI3ICAgICAgIDk5LjcgICAgICA5NC43 MiAgICAgIDE3OS4yICAgIDIyOC4zNTIgICAgICAgIDEuNCAgICAgICAyMDczODggICAgMjUzMzE2 NjE2CmRvbnRjYWNoZSAgICAgICAgICAgICA1MTguOCAxMzI4MDEuMzk4MDA1ICAgICAgMTEzLjMg ICAgMTA1Ljk4NCAgICAyMTguMTEyICAgIDg1Ni4wNjQgICAgICAgIDEuNCAgICAgICAgMTU1MDQg ICAgICA4MjUxMzg4CmRpcmVjdCAgICAgICAgICAgICAgICA1NzQuMiAxNDY5OTEuMDQ4MzUyICAg ICAgMTAyLjYgICAgIDk3Ljc5MiAgICAxODEuMjQ4ICAgIDIzMi40NDggICAgICAgIDEuMyAgICAg IDE1MjAyNjggICAgMjUzMzAwNzUyCgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICBEZWxpdmVyYWJsZSAyOiBOb2lzeS1O ZWlnaGJvciBCZW5jaG1hcmtzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKLS0tIFNjZW5hcmlvIEE6IE11bHRpcGxlIFdy aXRlcnMgLS0tCiAgTW9kZTogYnVmZmVyZWQKICBDbGllbnQgICAgICAgICAgIE1CL3MgICAgICAg SU9QUyAgICBBdmcodXMpICAgIHA1MCh1cykgICAgcDk5KHVzKSAgcDk5LjkodXMpCiAgY2xpZW50 MSAgICAgICAgIDQwNS45IDQwNS44OTA2MjggICAgIDIzMzIuNCAgICAgIDAuNTY0ICAgNDA2MzIu MzIgIDU3OTMzLjgyNAogIGNsaWVudDIgICAgICAgICAzOTcuMiAzOTcuMjM3ODYyICAgICAyMzcx LjIgICAgICAwLjU3MiAgIDQwNjMyLjMyICA1ODQ1OC4xMTIKICBjbGllbnQzICAgICAgICAgMzk4 LjEgMzk4LjEyNTE3NCAgICAgMjM2NS4xICAgICAgMC41NDggICA0MDYzMi4zMiAgICA1ODk4Mi40 CiAgY2xpZW50NCAgICAgICAgIDM5OC43IDM5OC43MTQ4MDMgICAgIDIzNjAuOSAgICAgIDAuNjI4 ICAgNDA2MzIuMzIgIDU4NDU4LjExMgogIEFnZ3JlZ2F0ZSBCVzogMTU5OS45IE1CL3MgfCBTeXMg Q1BVOiAxLjElIHwgUGVhayBEaXJ0eTogNDgyMzcxMzIga0IKCiAgTW9kZTogZG9udGNhY2hlCiAg Q2xpZW50ICAgICAgICAgICBNQi9zICAgICAgIElPUFMgICAgQXZnKHVzKSAgICBwNTAodXMpICAg IHA5OSh1cykgIHA5OS45KHVzKQogIGNsaWVudDEgICAgICAgICAyNDkuNyAyNDkuNjc5ODYzICAg ICAgIDM4NjEgICAgICAwLjU1NiAgNTE2NDIuMzY4ICA3NzA3MC4zMzYKICBjbGllbnQyICAgICAg ICAgMjUwLjggMjUwLjgyNzQxMSAgICAgMzg0NC40ICAgICAgMC41MzIgIDUxNjQyLjM2OCAgNzcw NzAuMzM2CiAgY2xpZW50MyAgICAgICAgIDI0OS41IDI0OS40OTg4MTUgICAgIDM4NzEuNiAgICAg IDAuNTk2ICA1MjE2Ni42NTYgIDc3MDcwLjMzNgogIGNsaWVudDQgICAgICAgICAyNDkuMyAyNDku MjY0OTA4ICAgICAzODc1LjQgICAgICAwLjYxMiAgNTIxNjYuNjU2ICA3NzA3MC4zMzYKICBBZ2dy ZWdhdGUgQlc6IDk5OS4zIE1CL3MgfCBTeXMgQ1BVOiAxLjElIHwgUGVhayBEaXJ0eTogNDQ3MTY1 MDAga0IKCiAgTW9kZTogZGlyZWN0CiAgQ2xpZW50ICAgICAgICAgICBNQi9zICAgICAgIElPUFMg ICAgQXZnKHVzKSAgICBwNTAodXMpICAgIHA5OSh1cykgIHA5OS45KHVzKQogIGNsaWVudDEgICAg ICAgICAyMzcuOCAyMzcuODAyNzM3ICAgICA0MDcyLjkgICAgICAwLjU2NCAgNDI3MjkuNDcyICA1 MDA2OS41MDQKICBjbGllbnQyICAgICAgICAgMjM5LjMgMjM5LjMzMTIxMyAgICAgNDA0Ni40ICAg ICAgMC41ODggIDQyNzI5LjQ3MiAgNTAwNjkuNTA0CiAgY2xpZW50MyAgICAgICAgIDIzOC4xIDIz OC4xMjM5NjQgICAgIDQwNjkuMiAgICAgICAwLjU4ICA0MjcyOS40NzIgIDUwMDY5LjUwNAogIGNs aWVudDQgICAgICAgICAyMzkuOCAyMzkuNzUyMTM2ICAgICA0MDM4LjYgICAgICAwLjU5NiAgNDI3 MjkuNDcyICA1MDA2OS41MDQKICBBZ2dyZWdhdGUgQlc6IDk1NS4wIE1CL3MgfCBTeXMgQ1BVOiAx LjElIHwgUGVhayBEaXJ0eTogNDQ0ODEzMTIga0IKCi0tLSBTY2VuYXJpbyBDOiBOb2lzeSBXcml0 ZXIgKyBMYXRlbmN5LVNlbnNpdGl2ZSBSZWFkZXJzIC0tLQogIE1vZGU6IGJ1ZmZlcmVkCiAgSm9i ICAgICAgICAgICAgICAgICAgTUIvcyAgICAgICBJT1BTICAgIEF2Zyh1cykgICAgcDUwKHVzKSAg ICBwOTkodXMpICBwOTkuOSh1cykKICBCdWxrIHdyaXRlciAgICAgICAgIDg5MS43IDg5MS43MDcx ODkgICAgICA5NjQuNiAgICAgIDAuNjY4ICAxODc0My4yOTYgICAyNTU1OS4wNAogIHJlYWRlcjEg ICAgICAgICAgICAgNjQzLjIgMTY0NjYzLjMxNjU4MyAgICAgICAgNC43ICAgICAgMC4xMzEgICAg MTY0Ljg2NCAgICA2ODQuMDMyCiAgcmVhZGVyMiAgICAgICAgICAgICA2MzguNCAxNjM0MzEuNDIx NDQ2ICAgICAgICA0LjQgICAgICAwLjEzMSAgICAxNjIuODE2ICAgICA2MzQuODgKICByZWFkZXIz ICAgICAgICAgICAgIDYzMy43IDE2MjIxNy44MjE3ODIgICAgICAgIDQuNCAgICAgIDAuMTMxICAg IDE3My4wNTYgICAgNjI2LjY4OAogIFN5cyBDUFU6IDEuMSUgfCBQZWFrIERpcnR5OiA0NDEyOTYw NCBrQgoKICBNb2RlOiBkb250Y2FjaGUKICBKb2IgICAgICAgICAgICAgICAgICBNQi9zICAgICAg IElPUFMgICAgQXZnKHVzKSAgICBwNTAodXMpICAgIHA5OSh1cykgIHA5OS45KHVzKQogIEJ1bGsg d3JpdGVyICAgICAgICAxMzg1LjkgMTM4NS45MjAxODAgICAgICA1NjYuNyAgICAgIDAuNTY0ICAx NDg3Ni42NzIgIDIzNDYxLjg4OAogIHJlYWRlcjEgICAgICAgICAgICAgIDE4LjcgNDc4MS43Mjk5 NjIgICAgICAyMDQuMyAgICAgIDAuMTgzICAgMTU0OC4yODggIDg4NjA0LjY3MgogIHJlYWRlcjIg ICAgICAgICAgICAgIDE4LjcgNDc4NC42OTczNzkgICAgICAyMDQuMSAgICAgIDAuMTg1ICAgMTU4 MS4wNTYgIDg4NjA0LjY3MgogIHJlYWRlcjMgICAgICAgICAgICAgIDE4LjcgNDc4MC44NTc4OTMg ICAgICAyMDQuMyAgICAgIDAuMTgzICAgMTU2NC42NzIgIDg4NjA0LjY3MgogIFN5cyBDUFU6IDEu MSUgfCBQZWFrIERpcnR5OiA0NDI2MjQ0OCBrQgoKICBNb2RlOiBkaXJlY3QKICBKb2IgICAgICAg ICAgICAgICAgICBNQi9zICAgICAgIElPUFMgICAgQXZnKHVzKSAgICBwNTAodXMpICAgIHA5OSh1 cykgIHA5OS45KHVzKQogIEJ1bGsgd3JpdGVyICAgICAgICAxMzEzLjYgMTMxMy42MzAyMTYgICAg ICA2MDQuMSAgICAgIDAuNjUyICAxNTAwNy43NDQgICAyNDI0OC4zMgogIHJlYWRlcjEgICAgICAg ICAgICAgOTg0LjYgMjUyMDYxLjUzODQ2MiAgICAgICAgMi41ICAgICAgMC4xMzEgICAgMTM2LjE5 MiAgICAyNTkuMDcyCiAgcmVhZGVyMiAgICAgICAgICAgICA5OTIuMiAyNTQwMTUuNTAzODc2ICAg ICAgICAyLjQgICAgICAwLjEzMSAgICAgMTMwLjU2ICAgIDI4MC41NzYKICByZWFkZXIzICAgICAg ICAgICAgIDk4OC40IDI1MzAzNC43NDkwMzUgICAgICAgIDIuNCAgICAgIDAuMTMxICAgIDEyOC41 MTIgICAgMjg0LjY3MgogIFN5cyBDUFU6IDEuMCUgfCBQZWFrIERpcnR5OiA0NDQxNjgwNCBrQgoK LS0tIFNjZW5hcmlvIEQ6IE1peGVkLU1vZGUgTm9pc3kgV3JpdGVyICsgUmVhZGVycyAtLS0KICBN b2RlOiBkb250Y2FjaGUtd19idWZmZXJlZC1yCiAgSm9iICAgICAgICAgICAgICAgICAgTUIvcyAg ICAgICBJT1BTICAgIEF2Zyh1cykgICAgcDUwKHVzKSAgICBwOTkodXMpICBwOTkuOSh1cykKICBC dWxrIHdyaXRlciAgICAgICAgMTQ2Ni43IDE0NjYuNzE3NTc2ICAgICAgNTI5LjcgICAgICAwLjU2 NCAgMTM5NTkuMTY4ICAyMzcyNC4wMzIKICByZWFkZXIxICAgICAgICAgICAgIDUwNC40IDEyOTEz NC45NzUzNjkgICAgICAgIDYuMyAgICAgIDAuMTMxICAgIDEyOS41MzYgICAgICAzNTguNAogIHJl YWRlcjIgICAgICAgICAgICAgNTA0LjQgMTI5MTM0Ljk3NTM2OSAgICAgICAgNi4xICAgICAgMC4x MzEgICAgMTIzLjM5MiAgICAgIDM1OC40CiAgcmVhZGVyMyAgICAgICAgICAgICA1MTMuNSAxMzE0 NjYuMzk5MTk4ICAgICAgICA2LjIgICAgICAwLjEzMSAgICAxNDAuMjg4ICAgICAgMzU4LjQKICBT eXMgQ1BVOiAwLjklIHwgUGVhayBEaXJ0eTogNDMyODQzNzYga0IKCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogIFN5c3Rl bSBJbmZvCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQpUaW1lc3RhbXA6IDIwMjYwNDA4LTA3MTQ0MApLZXJuZWw6IDcuMC4w LXJjNi0wMDAyNS1nYWQ4NTcyZDFhYzY1CkZpbGVzeXN0ZW06IHhmcwpGaWxlIHNpemU6IDUxNDc0 Nk0KVGVzdCBkaXI6IC9leHBvcnQKSG9zdDogMjU2R0IgUkFNICsgODAgQ1BVcwoKCgo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KQ0xBVURFJ3MgQ29tcGFyaXNvbiBhbmQgQW5hbHlzaXMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cgril48gQ29tcGFy aW5nIGRvbnRjYWNoZSBudW1iZXJzIGFnYWluc3QgdGhlIHByZXZpb3VzIHdob2xlLUJESSBmbHVz aGVyIGtlcm5lbCAoZnJvbSAvdG1wL2RvbnRjYWNoZS1sb2NhbC00d2F5LWZsdXNoZXIubWQpOgoK ICBQZXItSW5vZGUgdnMgV2hvbGUtQkRJIEZsdXNoZXIg4oCUIERPTlRDQUNIRSBvbiBMb2NhbCBY RlMKCiAgU2luZ2xlLUNsaWVudCBXcml0ZXMKCiAg4pSM4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSs4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSs4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSQCiAg4pSCICAgIEJlbmNobWFyayAgICAg 4pSCIFdob2xlLUJESSDilIIgUGVyLUlub2RlIOKUgiAgIENoYW5nZSAgICDilIIKICDilJzilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKQKICDi lIIgU2VxIHdyaXRlIE1CL3MgICDilIIgMTQ1MCAgICAgIOKUgiAxNDM4ICAgICAg4pSCIC0xJSAo bm9pc2UpIOKUggogIOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUpAogIOKUgiBTZXEgd3JpdGUgcDk5LjkgIOKUgiAyMy41IG1zICAg4pSC IDIzLjUgbXMgICDilIIgaWRlbnRpY2FsICAg4pSCCiAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSkCiAg4pSCIFJhbmQgd3JpdGUgTUIv cyAg4pSCIDM2MyAgICAgICDilIIgMjg2ICAgICAgIOKUgiAtMjElICAgICAgICDilIIKICDilJzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKQK ICDilIIgUmFuZCB3cml0ZSBwOTkuOSDilIIgMS44IG1zICAgIOKUgiAxNi43IG1zICAg4pSCIHJl Z3Jlc3Npb24gIOKUggogIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUmAoKICBTZXEgd3JpdGUgaXMgaWRlbnRpY2FsLiBSYW5kIHdyaXRl IHJlZ3Jlc3NlZCDigJQgdGhlIHdob2xlLUJESSBmbHVzaGVyIGJhdGNoZWQgYWxsIGRpcnR5IHBh Z2VzIGluIG9uZSBwYXNzIHdpdGggd3JpdGViYWNrX3NiX2lub2RlcygpIHVuZGVyIGEKICBzaW5n bGUgYmxrX3BsdWcsIHdoaWxlIHBlci1pbm9kZSB3cml0ZV9pbm9kZV9ub3coKSBsb3NlcyB0aGF0 IGJhdGNoaW5nLgoKICBTaW5nbGUtQ2xpZW50IFJlYWRzCgogIOKUjOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUrOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUrOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUkAogIOKUgiAgIEJlbmNobWFyayAgICDilIIgV2hvbGUtQkRJIOKU giBQZXItSW5vZGUg4pSCIENoYW5nZSDilIIKICDilJzilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDi lIDilIDilIDilKQKICDilIIgU2VxIHJlYWQgTUIvcyAg4pSCIDI5NTAgICAgICDilIIgMjM1MCAg ICAgIOKUgiAtMjAlICAg4pSCCiAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSkCiAg4pSCIFJhbmQgcmVhZCBNQi9zIOKUgiA2NTEgICAgICAg4pSCIDUxOSAgICAgICDilIIg LTIwJSAgIOKUggogIOKUlOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUtOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUmAoKICBS ZWFkcyBzaG91bGRuJ3QgYmUgYWZmZWN0ZWQgYnkgd3JpdGViYWNrIHBhdGggY2hhbmdlcy4gQnVm ZmVyZWQgcmVhZHMgYWxzbyBkcm9wcGVkICgyODg4IOKGkiAyMzMxKSwgc3VnZ2VzdGluZyBkaWZm ZXJlbnQgc3lzdGVtIGNvbmRpdGlvbnMKICBiZXR3ZWVuIHJ1bnMgcmF0aGVyIHRoYW4gYSBwZXIt aW5vZGUgcmVncmVzc2lvbi4KCiAgTXVsdGktV3JpdGVyIChTY2VuYXJpbyBBKQoKICDilIzilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilJAKICDilIIgICAgIE1l dHJpYyAgICAg4pSCIFdob2xlLUJESSDilIIgUGVyLUlub2RlIOKUgiAgIENoYW5nZSAgIOKUggog IOKUnOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKU gOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKU gOKUgOKUgOKUgOKUvOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUgOKUpAogIOKU giBBZ2dyZWdhdGUgTUIvcyDilIIgMTQ3OCAgICAgIOKUgiA5OTkgICAgICAg4pSCIC0zMiUgICAg ICAg4pSCCiAg4pSc4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA 4pSA4pSA4pSA4pSA4pSA4pSA4pS84pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA 4pSkCiAg4pSCIHA5OS45ICAgICAgICAgIOKUgiA0NiBtcyAgICAg4pSCIDc3IG1zICAgICDilIIg LTY3JSB3b3JzZSDilIIKICDilJTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilJgKCiAgVGhpcyBpcyB0aGUgYmlnZ2VzdCByZWdyZXNzaW9uLiBXaXRoIHdob2xl LUJESSwgdGhlIGZsdXNoZXIgZGlkIG9uZSBiYXRjaGVkIHBhc3MgdGhyb3VnaCBhbGwgZGlydHkg aW5vZGVzIHZpYSB3cml0ZWJhY2tfc2JfaW5vZGVzKCkuIFdpdGgKICBwZXItaW5vZGUsIGVhY2gg b2YgNCB3cml0ZXJzIHF1ZXVlcyBhIHNlcGFyYXRlIHdvcmsgaXRlbSBwcm9jZXNzZWQgc2VyaWFs bHkgYnkgd3JpdGVfaW5vZGVfbm93KCkg4oCUIGxvc2luZyB0aGUgYmF0Y2ggSS9PIG1lcmdpbmcg YmVuZWZpdC4KCiAgU2NlbmFyaW8gQyAmIEQgKE5vaXN5IE5laWdoYm9yKQoKICDilIzilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilKzilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilJAKICDilIIgICAgICAgICBNZXRyaWMgICAgICAgICAg4pSCIFdob2xlLUJE SSDilIIgUGVyLUlub2RlIOKUgiAgIENoYW5nZSAgICDilIIKICDilJzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilKQKICDilIIgU2NlbmFyaW8gQyB3cml0ZXIgICAgICAg4pSCIDE0NjggICAgICDilIIgMTM4 NiAgICAgIOKUgiAtNiUgICAgICAgICDilIIKICDilJzilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKQKICDi lIIgU2NlbmFyaW8gQyByZWFkZXJzICAgICAg4pSCIDE4LjcgTUIvcyDilIIgMTguNyBNQi9zIOKU giBpZGVudGljYWwgICDilIIKICDilJzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKQKICDilIIgU2NlbmFy aW8gRCB3cml0ZXIgICAgICAg4pSCIDE0NzIgICAgICDilIIgMTQ2NyAgICAgIOKUgiBpZGVudGlj YWwgICDilIIKICDilJzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilKQKICDilIIgU2NlbmFyaW8gRCByZWFk ZXJzICAgICAg4pSCIDQ5NiBNQi9zICDilIIgNTA3IE1CL3MgIOKUgiArMiUgICAgICAgICDilIIK ICDilJzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilLzilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLzilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilIDilIDilIDilKQKICDilIIgU2NlbmFyaW8gRCByZWFkZXIgcDk5Ljkg 4pSCIDQ0MCB1cyAgICDilIIgMzU4IHVzICAgIOKUgiArMTklIGJldHRlciDilIIKICDilJTilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDi lIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilLTilIDilIDilIDilIDilIDilIDilIDilIDi lIDilIDilIDilIDilIDilJgKCiAgTWl4ZWQtbW9kZSAoU2NlbmFyaW8gRCkgaXMgdGhlIGludGVu ZGVkIHByb2R1Y3Rpb24gY2FzZSBhbmQgaXQncyBlc3NlbnRpYWxseSBpZGVudGljYWwgb3Igc2xp Z2h0bHkgYmV0dGVyIOKAlCBwZXItaW5vZGUgd3JpdGViYWNrIGNyZWF0ZXMgbGVzcwogIGRldmlj ZSBjb250ZW50aW9uIGZvciBidWZmZXJlZCByZWFkZXJzLgoKICBTdW1tYXJ5CgogIFRoZSBwZXIt aW5vZGUgYXBwcm9hY2ggaXMgbmV1dHJhbC10by1zbGlnaHRseS1iZXR0ZXIgZm9yIHRoZSBwcm9k dWN0aW9uIHNjZW5hcmlvIChTY2VuYXJpbyBEKSwgYnV0IHJlZ3Jlc3NlcyBvbiBtdWx0aS13cml0 ZXIgYW5kIHJhbmRvbSB3cml0ZQogIHdvcmtsb2Fkcy4gVGhlIGNvcmUgaXNzdWUgaXMgbG9zcyBv ZiBJL08gYmF0Y2hpbmcg4oCUIHdyaXRlYmFja19zYl9pbm9kZXMoKSBwcm9jZXNzZXMgYWxsIGRp cnR5IGlub2RlcyBpbiBvbmUgYmxrX3BsdWcnZCBwYXNzLCB3aGlsZSBwZXItaW5vZGUKICB3cml0 ZV9pbm9kZV9ub3coKSBjYWxscyBhcmUgcHJvY2Vzc2VkIG9uZSBhdCBhIHRpbWUuIFRoZSByZWFk IHJlZ3Jlc3Npb25zIGxpa2VseSByZWZsZWN0IGRpZmZlcmVudCBzeXN0ZW0gY29uZGl0aW9ucyBz aW5jZSBidWZmZXJlZC9kaXJlY3QKICByZWFkcyBhbHNvIGRyb3BwZWQgfjIwJS4K