From owner-freebsd-fs@freebsd.org Thu Mar 29 02:07:29 2018 Return-Path: Delivered-To: freebsd-fs@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 4F182F65277 for ; Thu, 29 Mar 2018 02:07:29 +0000 (UTC) (envelope-from daveb@spectralogic.com) Received: from mail1.bemta8.messagelabs.com (mail1.bemta8.messagelabs.com [216.82.243.201]) by mx1.freebsd.org (Postfix) with ESMTP id EA01E70EDD for ; Thu, 29 Mar 2018 02:07:28 +0000 (UTC) (envelope-from daveb@spectralogic.com) Received: from [216.82.242.33] (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256 bits)) by server-9.bemta-8.messagelabs.com id 09/C7-15733-15A4CBA5; Thu, 29 Mar 2018 02:07:13 +0000 X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKIsWRWlGSWpSXmKPExsVyQG6fiG6A154 og/YPNhbHHv9kc2D0mPFpPksAYxRrZl5SfkUCa8bWNxeZCiZ1MVb07L7A1sC4poOxi5GTg01A S6JnyWEWEFtEwFTi178FbCC2sIC3xOcPr6HigRLX9n9kg7D1JC6fXwnUy8HBIqAqMalHDyTMK +As8WLhRHYQm1FATOL7qTVMIDazgLjErSfzwWwJAQGJJXvOM0PYohIvH/9jBRnDLKApsX6XPo RpL/F0lQJEp6LElO6H7BDTBSVOznzCMoGRfxaSobMQmmchNM9C0jwLSfMCRtZVjOrFqUVlqUW 6ZnpJRZnpGSW5iZk5uoYGFnq5qcXFiempOYlJxXrJ+bmbGIHBygAEOxg/9TsfYpTkYFIS5W10 2xMlxJeUn1KZkVicEV9UmpNafIhRhoNDSYK3yhMoJ1iUmp5akZaZA4wbmLQEB4+SCK8oSJq3u CAxtzgzHSJ1itGSo+P9lB5mjilLpgHJJ5eBpBBLXn5eqpQ4bzBIgwBIQ0ZpHtw4WGxfYpSVEu ZlBDpQiKcgtSg3swRV/hWjOAejkjBvPcgUnsy8Eritr4AOYgI6aFvTDpCDShIRUlINjHHLunc /kY3M1Zp0nOOsg4nvVJVJ714e+lggtWX/b7XVDto5O5jPyf6Wsr/qdZvnvWG0k5lqstEF07Jb p+1i5q0U6dux2nbrzGetLmqKD5uc+1vDFFW+hCzcM+f1c4ejN6d+lI5xeVycck32wuE9t94f/ mTCz+lwTjHVMinv0q6C3Kl3VdasqVJiKc5INNRiLipOBAA1pwiY6AIAAA== X-Env-Sender: daveb@spectralogic.com X-Msg-Ref: server-11.tower-55.messagelabs.com!1522289232!126757547!1 X-Originating-IP: [192.30.190.20] X-SYMC-ESS-Client-Auth: outbound-route-from=pass X-StarScan-Received: X-StarScan-Version: 9.9.15; banners=-,-,- X-VirusChecked: Checked Received: (qmail 29968 invoked from network); 29 Mar 2018 02:07:12 -0000 Received: from outmx2.spectralogic.com (HELO mail.spectralogic.com) (192.30.190.20) by server-11.tower-55.messagelabs.com with AES256-GCM-SHA384 encrypted SMTP; 29 Mar 2018 02:07:12 -0000 From: Dave Baukus To: "freebsd-fs@freebsd.org" Subject: ZFS, Vnode cache, and poor directory listing performance via Samba Thread-Topic: ZFS, Vnode cache, and poor directory listing performance via Samba Thread-Index: AQHTxwKm8Y8KtZTBXUOxWVyyjppo8Q== Date: Thu, 29 Mar 2018 02:07:12 +0000 Message-ID: <67aadb01-70c2-0454-2e3f-74bed67fb330@spectralogic.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-BeenThere: freebsd-fs@freebsd.org X-Mailman-Version: 2.1.25 Precedence: list List-Id: Filesystems List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Mar 2018 02:07:29 -0000 QmVsb3fCoGlzIG5hcnJhdGl2ZSBhbmdzdCBhbmQgd29lIGZvcsKgd2hpY2jCoEnCoGhhdmXCoHRo ZcKgdGhlwqBmb2xsb3dpbmfCoG9ic2VydmF0aW9ucy9xdWVzdGlvbnM6DQoNCi3CoEluY3JlYXNp bmfCoGtlcm4ubWF4dm5vZGVzwqBmcm9twqA2MDAsMDAwwqB0b8KgMiwwMDAsMDAwwqBhcHBhcmVu dGx5wqBzb2x2ZXPCoHRoZcKgInByb2JsZW0iDQotwqBUaGlzwqBkZWNyZWFzZXPCoHRoZcKgbnVt YmVywqBvZsKgbG9va3Vwc8KgaW7CoHRoZcKgc2NlbmFyaW/CoGJlbG93wqBmcm9twqA0MDcxOcKg KHNvbWXCoG9mwqB3aGljaMKgdGFrZcKgb3ZlcsKgYcKgc2Vjb25kKcKgdG/CoDQNCi3CoDIsMDAw LDAwwqBtYXnCoGJlwqBleHRyZW1lLMKgYnV0wqBJwqB3YXPCoGhvcGluZ8KgZm9ywqBhbsKgYXV0 aG9yaXRhdGl2ZcKgY29tbWVudMKgb27CoHdoeS9ob3fCoHRoaXPCoGltcHJvdmVzwqB0aGXCoHNj ZW5hcmlvwqBhbmQNCiDCoMKgdGhlbsKgcGVyaGFwc8KgScKgY2FuwqBjb21lwqB1cMKgd2l0aMKg c29tZcKgcmVhc29uYWJsZcKgdHVuaW5nwqBvcHRpb25zLg0KLcKgaXPCoHRoaXPCoGFuwqBhcnRp ZmFjdMKgb2bCoHRoZcKgRnJlZWJzZMKgMTEtaXNowqByZWZhY3RvcmluZ8Kgb2bCoHRoZcKgWkZT L0ZyZWVic2TCoFZOT1DCoGludGVyZmFjZcKgKD8pDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpJwqBoYXZlwqB0aGXCoGZvbGxvd2luZ8Kg c2NlbmFyaW/CoG9uwqBGcmVlQlNEwqBTdGFibGXCoDExLjA6DQoNCkHCoFpGU8Kgd2l0aMKgYcKg ZGlyZWN0b3J5wqBjb250YWluaW5nwqAxLDAwMCwwMDDCoGZpbGVzO8KgdGhlwqByb290wqBvZsKg dGhpc8KgWkZTwqBpcw0KZXhwb3J0ZWTCoHZpYcKgU0FNQkHCoHVzaW5nwqBORlN2NMKgQUNMwqBw bHVnaW7CoGFuZMKgRE9TwqBhdHRyaWJ1dGVzIHdpdGggdGhlICg8Z2V0fHNldD5leHRhdHRyKcKg aW1wbGVtZW50YXRpb24uDQoNCkHCoGxvY2FswqBmdWxswqBsaXN0aW5nwqBvZsKgdGhpc8KgZGly ZWN0b3J5wqAobHPCoC1swqA+wqAvZGV2L251bGwpwqBjb21wbGV0ZXPCoGluwqBhYm91dMKgNDDC oHNlY29uZHMuDQpBwqBmdWxswqBsaXN0aW5nwqBmcm9twqBhwqBTYW1iYcKgY2xpZW50wqAobHPC oC1sKcKgY29tcGxldGVzwqBpbsKgYWJvdXTCoDPCoG1pbnV0ZXMuDQoNClVzaW5nwqB3aW5kb3dz wqBleHBsb3JlcsKgZnJvbcKgYcKgV2luMjAwOMKgY2xpZW50wqBpc8Kgd2hlcmXCoHRoZcKgc3Ry YW5nZW5lc3PCoGJlZ2luczvCoGl0DQp0YWtlc8KgYmV0d2VlbsKgOMKgdG/CoDEywqBtaW51dGVz wqBiZWZvcmXCoGNvbnRyb2zCoGlzwqByZXR1cm5lZMKgdG/CoHdpbi1leHBsb3Jlci4NCg0KVHJh Y2luZ8KgdGhpc8Kgd2l0aMKgd2lyZXNoYXJrwqBJwqBub3RpY2VkwqB0aGF0wqAiU01CMl9GSU5E X0lEX0JPVEhfRElSRUNUT1JZX0lORk/CoFBhdHRlcm46wqAqIg0KcmVxdWVzdHPCoGZyb23CoHRo ZcKgV2luMjAwOMKgY2xpZW50wqBzdGFydMKgb2ZmwqBmdW5jdGlvbmluZ8Kgd2VsbMKgKGNsaWVu dMKgcmVxdWVzdHMNCjY0a8Kgb2bCoGRhdGHCoGFuZMKgc2FtYmHCoHJlc3BvbmRzwqB3aXRowqA2 NGvCoG9mwqBkaXJlY3RvcnnCoGRhdGEpLsKgQWZ0ZXLCoGFib3V0wqAxNTDCoHNlY29uZHPCoG9m wqB0aGlzDQppbnRlcmFjdGlvbsKgdGhlwqBjbGllbnTCoG1ha2VzwqBhwqAiU01CMl9GSU5EX0lE X0JPVEhfRElSRUNUT1JZX0lORk/CoFBhdHRlcm46wqAqIsKgcmVxdWVzdMKgdGhhdMKgaXPCoG5v dA0KcmVzcG9uZGVkwqB0b8KgZm9ywqBvdmVywqA2MMKgc2Vjb25kcy7CoFRoZcKgd2luZG93c8Kg Y2xpZW50wqBjbG9zZXPCoHRoZcKgY29ubmVjdGlvbizCoHN0YXJ0c8KgYcKgbmV3DQpjb25uZWN0 aW9uLMKgYW5kwqBiZWdpbnPCoGRpcmVjdG9yecKgbGlzdGluZ8KgZnJvbcKgZ3JvdW5kwqB6ZXJv LsKgVGhpc8KgcGF0dGVybsKgY29udGludWVzwqBmb3INCjbCoHRvwqAxMMKgbWludXRlczvCoEnC oG5ldmVywqBzZWXCoGZpbmFswqByZXF1ZXN0L3Jlc3BvbnNlwqB3aGVyZcKgdGhlwqBzZXJ2ZXLC oGluZGljYXRlc8KgdGhhdMKgdGhlDQpsaXN0aW5nwqBpc8KgY29tcGxldGU7wqBJwqBiZWxpZXZl wqB3aW4tZXhwbG9yZXLCoGp1c3TCoGdpdmVzwqB1cC4NCg0KTWVhbndoaWxlLMKgYmFja8Kgb27C oEZyZWVCU0QvWkZTwqBJJ23CoHJ1bm5pbmcgYcKgZHRyYWNlwqBzY3JpcHTCoHRoYXTCoHRpbWVz wqB0aGXCoGZvbGxvd2luZw0KWkZTwqBWTk9Qc8KgZm9ywqB0aGXCoGNvbm5lY3RlZMKgU2FtYmHC oHNlcnZlcsKgaW5zdGFuY2U6DQoNCi3CoGZidDp6ZnM6emZzXypleHRhdHRyOmVudHJ5wqBhbmTC oHJldHVybsKgKGdldHxzZXR8ZGVsZXRlfGxpc3QpZXh0YXR0cg0KLcKgZmJ0Onpmczp6ZnNfZnJl ZWJzZF9sb29rdXA6ZW50cnnCoGFuZMKgcmV0dXJuDQotwqBmYnQ6emZzOnpmc19mcmVlYnNkX3Jl YWRkaXI6ZW50cnnCoGFuZMKgcmV0dXJuDQotwqBmYnQ6emZzOnpmc19mcmVlYnNkX2dldGF0dHI6 ZW50cnnCoGFuZMKgcmV0dXJuDQoNClRoaXPCoHN0YXJ0c8Kgb2ZmwqBsb29raW5nwqBsaWtlOg0K IMKgMTLCoMKgMjc3NzfCoMKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKg emZzX2ZyZWVic2RfbG9va3VwwqA6OsKgMTk5MzENCiDCoDEywqDCoDI3NzY1wqDCoMKgwqDCoMKg wqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDM5 NzUNCiDCoDEywqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVy bsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDI2NjINCiDCoDEywqDCoDI3NzY1wqDCoMKgwqDC oMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrC oDE3MTENCiDCoDEywqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJl dHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDE3NjgNCiDCoDEywqDCoDI3NzY1wqDCoMKg wqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKg OjrCoDE0MTENCiDCoDEywqDCoDI3Nzg3wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9yZWFkZGly OnJldHVybsKgemZzX2ZyZWVic2RfcmVhZGRpcsKgOjrCoDQ0MzI1DQogwqAxMsKgwqAyNzc4N8Kg wqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfcmVhZGRpcjpyZXR1cm7CoHpmc19mcmVlYnNkX3JlYWRk aXLCoDo6wqAzODA1NA0KIMKgMTLCoMKgMjc3ODfCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX3Jl YWRkaXI6cmV0dXJuwqB6ZnNfZnJlZWJzZF9yZWFkZGlywqA6OsKgMzYxMzcNCi4uLg0KLi4uwqBs aW5lwqAxMSw4MDANCiDCoDE2wqDCoDI3NzYzwqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dl dGFjbDpyZXR1cm7CoHpmc19mcmVlYnNkX2dldGFjbMKgOjrCoDI3MDkNCiDCoDE2wqDCoDI3NzYz wqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dldGFjbDpyZXR1cm7CoHpmc19mcmVlYnNkX2dl dGFjbMKgOjrCoDIwNDYNCiDCoDE2wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9n ZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDIyMzgNCiDCoDE2wqDCoDI3 NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2Rf Z2V0YXR0csKgOjrCoDE0NTINCiDCoDE2wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJz ZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDE1NzANCiDCoDE2wqDC oDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVi c2RfZ2V0YXR0csKgOjrCoDE2MDgNCiDCoDE2wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJl ZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDE1NzENCiDCoDE2 wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2Zy ZWVic2RfZ2V0YXR0csKgOjrCoDE0MzENCiDCoDE2wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNf ZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDE0MzENCiDC oDE2wqDCoDI3NzYzwqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dldGFjbDpyZXR1cm7CoHpm c19mcmVlYnNkX2dldGFjbMKgOjrCoDI4NTYNCiDCoDE2wqDCoDI3NzYzwqDCoMKgwqDCoMKgwqDC oHpmc19mcmVlYnNkX2dldGFjbDpyZXR1cm7CoHpmc19mcmVlYnNkX2dldGFjbMKgOjrCoDE5MDcN CiDCoDE2wqDCoDI3ODA5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0 dXJuwqB6ZnNfZ2V0ZXh0YXR0csKgOjrCoDM1MzcNCiDCoDE2wqDCoDI3Nzg3wqDCoMKgwqDCoMKg wqB6ZnNfZnJlZWJzZF9yZWFkZGlyOnJldHVybsKgemZzX2ZyZWVic2RfcmVhZGRpcsKgOjrCoDQ1 MTM1DQogwqAxNsKgwqAyNzc2NcKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfZ2V0YXR0cjpyZXR1 cm7CoHpmc19mcmVlYnNkX2dldGF0dHLCoDo6wqAyNzQ0DQogwqAxNsKgwqAyNzgwOcKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHpmc19nZXRleHRhdHRyOnJldHVybsKgemZzX2dldGV4dGF0dHLCoDo6 wqAzMjIxDQogwqAxNsKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfbGlzdGV4dGF0 dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqAzNzYyDQogwqAxNsKgwqAyNzc2NcKgwqDC oMKgwqDCoMKgemZzX2ZyZWVic2RfZ2V0YXR0cjpyZXR1cm7CoHpmc19mcmVlYnNkX2dldGF0dHLC oDo6wqAyMDkwDQogwqAxNsKgwqAyNzc2NcKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfZ2V0YXR0 cjpyZXR1cm7CoHpmc19mcmVlYnNkX2dldGF0dHLCoDo6wqAyMjE0DQogwqAxNsKgwqAyNzgwOcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpmc19nZXRleHRhdHRyOnJldHVybsKgemZzX2dldGV4dGF0 dHLCoDo6wqAyMDExMg0KIMKgMTbCoMKgMjc4MDnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNf Z2V0ZXh0YXR0cjpyZXR1cm7CoHpmc19nZXRleHRhdHRywqA6OsKgMTQ5ODkNCiDCoDE2wqDCoDI3 Nzg3wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9yZWFkZGlyOnJldHVybsKgemZzX2ZyZWVic2Rf cmVhZGRpcsKgOjrCoDM1OTQ2DQogwqAxNsKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6 ZnNfbGlzdGV4dGF0dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqA0NjkwMA0KIMKgMTbC oMKgMjc3NjXCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dldGF0dHI6cmV0dXJuwqB6ZnNfZnJl ZWJzZF9nZXRhdHRywqA6OsKgMjExNQ0KIMKgMTbCoMKgMjc3NjXCoMKgwqDCoMKgwqDCoHpmc19m cmVlYnNkX2dldGF0dHI6cmV0dXJuwqB6ZnNfZnJlZWJzZF9nZXRhdHRywqA6OsKgMTQzOQ0KIMKg MTbCoMKgMjc3NzfCoMKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZz X2ZyZWVic2RfbG9va3VwwqA6OsKgMjI4ODYNCiDCoDE2wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6 ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDE0NDkN CiDCoDE2wqDCoDI3ODA5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0 dXJuwqB6ZnNfZ2V0ZXh0YXR0csKgOjrCoDQwNDYNCiDCoDE2wqDCoDI3ODExwqDCoMKgwqDCoMKg wqDCoMKgwqDCoHpmc19saXN0ZXh0YXR0cjpyZXR1cm7CoHpmc19saXN0ZXh0YXR0csKgOjrCoDIy MzkNCiDCoDE2wqDCoDI3Nzc3wqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2xvb2t1cDpyZXR1 cm7CoHpmc19mcmVlYnNkX2xvb2t1cMKgOjrCoDE1MTI4DQogwqAxNsKgwqAyNzc2NcKgwqDCoMKg wqDCoMKgemZzX2ZyZWVic2RfZ2V0YXR0cjpyZXR1cm7CoHpmc19mcmVlYnNkX2dldGF0dHLCoDo6 wqAxNjQwDQouLi4NCi4uLsKgbGluZcKgMTc1LDAwMA0KIMKgMTLCoMKgMjc3NzfCoMKgwqDCoMKg wqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZzX2ZyZWVic2RfbG9va3VwwqA6OsKg ODU3NjA3MzQNCiDCoDEywqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRy OnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDM2MTcNCiDCoDEywqDCoDI3ODA5wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0dXJuwqB6ZnNfZ2V0ZXh0YXR0 csKgOjrCoDE0MDY0DQogwqAxMsKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfbGlz dGV4dGF0dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqA0MDg4DQogwqAxMsKgwqAyNzc3 N8KgwqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9sb29rdXA6cmV0dXJuwqB6ZnNfZnJlZWJzZF9s b29rdXDCoDo6wqA4NTU4NjU0MQ0KIMKgMTLCoMKgMjc3NjXCoMKgwqDCoMKgwqDCoHpmc19mcmVl YnNkX2dldGF0dHI6cmV0dXJuwqB6ZnNfZnJlZWJzZF9nZXRhdHRywqA6OsKgMjk4Mw0KIMKgMTLC oMKgMjc4MDnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfZ2V0ZXh0YXR0cjpyZXR1cm7CoHpm c19nZXRleHRhdHRywqA6OsKgMTE0MTYNCiDCoDEywqDCoDI3ODExwqDCoMKgwqDCoMKgwqDCoMKg wqDCoHpmc19saXN0ZXh0YXR0cjpyZXR1cm7CoHpmc19saXN0ZXh0YXR0csKgOjrCoDMyMzANCiDC oDEywqDCoDI3Nzc3wqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2xvb2t1cDpyZXR1cm7CoHpm c19mcmVlYnNkX2xvb2t1cMKgOjrCoDg1NzU4MDI3DQogwqAxMsKgwqAyNzc2NcKgwqDCoMKgwqDC oMKgemZzX2ZyZWVic2RfZ2V0YXR0cjpyZXR1cm7CoHpmc19mcmVlYnNkX2dldGF0dHLCoDo6wqAz MTI0DQouLi4NCi4uLsKgbGluZcKgMTc2LDAwMDANCiDCoMKgMcKgwqAyNzc3N8KgwqDCoMKgwqDC oMKgwqB6ZnNfZnJlZWJzZF9sb29rdXA6cmV0dXJuwqB6ZnNfZnJlZWJzZF9sb29rdXDCoDo6wqAx MTEzMzk3OTAzDQogwqDCoDHCoMKgMjc3NjXCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dldGF0 dHI6cmV0dXJuwqB6ZnNfZnJlZWJzZF9nZXRhdHRywqA6OsKgMzE4OQ0KIMKgwqAxwqDCoDI3ODA5 wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0dXJuwqB6ZnNfZ2V0ZXh0 YXR0csKgOjrCoDY0MjMNCiDCoMKgMcKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNf bGlzdGV4dGF0dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqAzMDkwDQogwqDCoDHCoMKg Mjc3NzfCoMKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZzX2ZyZWVi c2RfbG9va3VwwqA6OsKgMTEwODE4MTc0MA0KIMKgwqAxwqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6 ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDMyNjcN CiDCoMKgMcKgwqAyNzgwOcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpmc19nZXRleHRhdHRyOnJl dHVybsKgemZzX2dldGV4dGF0dHLCoDo6wqA1NDg2DQogwqDCoDHCoMKgMjc4MTHCoMKgwqDCoMKg wqDCoMKgwqDCoMKgemZzX2xpc3RleHRhdHRyOnJldHVybsKgemZzX2xpc3RleHRhdHRywqA6OsKg MzExMQ0KIMKgwqAxwqDCoDI3Nzc3wqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2xvb2t1cDpy ZXR1cm7CoHpmc19mcmVlYnNkX2xvb2t1cMKgOjrCoDEwOTIwNjE3NTYNCiDCoMKgMcKgwqAyNzc2 NcKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfZ2V0YXR0cjpyZXR1cm7CoHpmc19mcmVlYnNkX2dl dGF0dHLCoDo6wqAzMTEzDQogwqDCoDHCoMKgMjc4MDnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6 ZnNfZ2V0ZXh0YXR0cjpyZXR1cm7CoHpmc19nZXRleHRhdHRywqA6OsKgNTY5MQ0KIMKgwqAxwqDC oDI3ODExwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpmc19saXN0ZXh0YXR0cjpyZXR1cm7CoHpmc19s aXN0ZXh0YXR0csKgOjrCoDMwNzMNCiDCoMKgMcKgwqAyNzc3N8KgwqDCoMKgwqDCoMKgwqB6ZnNf ZnJlZWJzZF9sb29rdXA6cmV0dXJuwqB6ZnNfZnJlZWJzZF9sb29rdXDCoDo6wqAxMTAyMjM2NzU1 DQogwqDCoDHCoMKgMjc3NjXCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dldGF0dHI6cmV0dXJu wqB6ZnNfZnJlZWJzZF9nZXRhdHRywqA6OsKgMzQzNQ0KIMKgwqAxwqDCoDI3ODA5wqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0dXJuwqB6ZnNfZ2V0ZXh0YXR0csKgOjrC oDU4NjINCiDCoMKgMcKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfbGlzdGV4dGF0 dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqAzNzcxDQogwqDCoDHCoMKgMjc3NzfCoMKg wqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZzX2ZyZWVic2RfbG9va3Vw wqA6OsKgMTEwMTY2ODIzMQ0KIMKgwqAxwqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJz ZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDMxODkNCiDCoMKgMcKg wqAyNzgwOcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpmc19nZXRleHRhdHRyOnJldHVybsKgemZz X2dldGV4dGF0dHLCoDo6wqA2NjcxDQogwqAxNcKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKg wqB6ZnNfbGlzdGV4dGF0dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqAxMjk1MQ0KIMKg MTXCoMKgMjc3NzfCoMKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZz X2ZyZWVic2RfbG9va3VwwqA6OsKgMTA2MTY0ODExNw0KIMKgMTXCoMKgMjc3NjXCoMKgwqDCoMKg wqDCoHpmc19mcmVlYnNkX2dldGF0dHI6cmV0dXJuwqB6ZnNfZnJlZWJzZF9nZXRhdHRywqA6OsKg NTM2NQ0KIMKgMTXCoMKgMjc4MDnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfZ2V0ZXh0YXR0 cjpyZXR1cm7CoHpmc19nZXRleHRhdHRywqA6OsKgNTczMQ0KIMKgMjHCoMKgMjc4MTHCoMKgwqDC oMKgwqDCoMKgwqDCoMKgemZzX2xpc3RleHRhdHRyOnJldHVybsKgemZzX2xpc3RleHRhdHRywqA6 OsKgODE3OA0KIMKgMjHCoMKgMjc3NzfCoMKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3Vw OnJldHVybsKgemZzX2ZyZWVic2RfbG9va3VwwqA6OsKgNjQ0Mjk0MzANCiDCoDIxwqDCoDI3NzY1 wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0 YXR0csKgOjrCoDI5MTINCiDCoDIxwqDCoDI3ODA5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemZz X2dldGV4dGF0dHI6cmV0dXJuwqB6ZnNfZ2V0ZXh0YXR0csKgOjrCoDU1NjYNCiDCoDIxwqDCoDI3 ODExwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpmc19saXN0ZXh0YXR0cjpyZXR1cm7CoHpmc19saXN0 ZXh0YXR0csKgOjrCoDI0NTQNCiDCoDE5wqDCoDI3Nzc3wqDCoMKgwqDCoMKgwqDCoHpmc19mcmVl YnNkX2xvb2t1cDpyZXR1cm7CoHpmc19mcmVlYnNkX2xvb2t1cMKgOjrCoDEwMTcxNzYyMzQNCiDC oDE5wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZz X2ZyZWVic2RfZ2V0YXR0csKgOjrCoDI5NzYNCiDCoDE5wqDCoDI3ODA5wqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0dXJuwqB6ZnNfZ2V0ZXh0YXR0csKgOjrCoDYyMzAN CiDCoDE5wqDCoDI3ODExwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpmc19saXN0ZXh0YXR0cjpyZXR1 cm7CoHpmc19saXN0ZXh0YXR0csKgOjrCoDI3MTANCiDCoDE5wqDCoDI3Nzc3wqDCoMKgwqDCoMKg wqDCoHpmc19mcmVlYnNkX2xvb2t1cDpyZXR1cm7CoHpmc19mcmVlYnNkX2xvb2t1cMKgOjrCoDY0 MjExMDE1DQogwqAxOcKgwqAyNzc2NcKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfZ2V0YXR0cjpy ZXR1cm7CoHpmc19mcmVlYnNkX2dldGF0dHLCoDo6wqAxODc2DQogwqAxOcKgwqAyNzgwOcKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoHpmc19nZXRleHRhdHRyOnJldHVybsKgemZzX2dldGV4dGF0dHLC oDo6wqAzNjkwDQogwqAxOcKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfbGlzdGV4 dGF0dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqAyMjkyDQogwqAxOcKgwqAyNzc3N8Kg wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9sb29rdXA6cmV0dXJuwqB6ZnNfZnJlZWJzZF9sb29r dXDCoDo6wqAxNzAwNw0KIMKgMTnCoMKgMjc3NjXCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dl dGF0dHI6cmV0dXJuwqB6ZnNfZnJlZWJzZF9nZXRhdHRywqA6OsKgMTc2Ng0KIMKgMTnCoMKgMjc4 MDnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfZ2V0ZXh0YXR0cjpyZXR1cm7CoHpmc19nZXRl eHRhdHRywqA6OsKgMzM1Nw0KIMKgMTnCoMKgMjc4MTHCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemZz X2xpc3RleHRhdHRyOnJldHVybsKgemZzX2xpc3RleHRhdHRywqA6OsKgMjMzMQ0KIMKgMTnCoMKg Mjc3NzfCoMKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZzX2ZyZWVi c2RfbG9va3VwwqA6OsKgNjM4MTc0MzYNCiDCoDE5wqDCoDI3NzY1wqDCoMKgwqDCoMKgwqB6ZnNf ZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0YXR0csKgOjrCoDE4MjcNCiDC oDE5wqDCoDI3ODA5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0dXJu wqB6ZnNfZ2V0ZXh0YXR0csKgOjrCoDEyMjMxDQogwqAxMsKgwqAyNzgxMcKgwqDCoMKgwqDCoMKg wqDCoMKgwqB6ZnNfbGlzdGV4dGF0dHI6cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqA4NjU4 DQogwqAxMsKgwqAyNzc3N8KgwqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9sb29rdXA6cmV0dXJu wqB6ZnNfZnJlZWJzZF9sb29rdXDCoDo6wqA2NDg1OTcwMg0KIMKgMTLCoMKgMjc3NjXCoMKgwqDC oMKgwqDCoHpmc19mcmVlYnNkX2dldGF0dHI6cmV0dXJuwqB6ZnNfZnJlZWJzZF9nZXRhdHRywqA6 OsKgMzI5Ng0KIMKgMTLCoMKgMjc4MDnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfZ2V0ZXh0 YXR0cjpyZXR1cm7CoHpmc19nZXRleHRhdHRywqA6OsKgNjExOA0KIMKgMTLCoMKgMjc4MTHCoMKg wqDCoMKgwqDCoMKgwqDCoMKgemZzX2xpc3RleHRhdHRyOnJldHVybsKgemZzX2xpc3RleHRhdHRy wqA6OsKgMjQ1NA0KIMKgMTLCoMKgMjc3NzfCoMKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfbG9v a3VwOnJldHVybsKgemZzX2ZyZWVic2RfbG9va3VwwqA6OsKgMTc0NDINCiDCoDEywqDCoDI3NzY1 wqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9nZXRhdHRyOnJldHVybsKgemZzX2ZyZWVic2RfZ2V0 YXR0csKgOjrCoDE2NzYNCiDCoDEywqDCoDI3ODA5wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgemZz X2dldGV4dGF0dHI6cmV0dXJuwqB6ZnNfZ2V0ZXh0YXR0csKgOjrCoDM2NDkNCiDCoDEywqDCoDI3 ODExwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpmc19saXN0ZXh0YXR0cjpyZXR1cm7CoHpmc19saXN0 ZXh0YXR0csKgOjrCoDIzNjMNCiDCoMKgMMKgwqAyNzc3N8KgwqDCoMKgwqDCoMKgwqB6ZnNfZnJl ZWJzZF9sb29rdXA6cmV0dXJuwqB6ZnNfZnJlZWJzZF9sb29rdXDCoDo6wqAxMDEzNDcxMTQxDQog wqDCoDDCoMKgMjc3NjXCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2dldGF0dHI6cmV0dXJuwqB6 ZnNfZnJlZWJzZF9nZXRhdHRywqA6OsKgNTk5NQ0KIMKgwqAwwqDCoDI3ODA5wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgemZzX2dldGV4dGF0dHI6cmV0dXJuwqB6ZnNfZ2V0ZXh0YXR0csKgOjrCoDky ODANCiDCoMKgMMKgwqAyNzgxMcKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfbGlzdGV4dGF0dHI6 cmV0dXJuwqB6ZnNfbGlzdGV4dGF0dHLCoDo6wqAzMjE5DQogwqDCoDDCoMKgMjc3NzfCoMKgwqDC oMKgwqDCoMKgemZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZzX2ZyZWVic2RfbG9va3VwwqA6 OsKgNjQyODYxOTYNCiDCoMKgMMKgwqAyNzc2NcKgwqDCoMKgwqDCoMKgemZzX2ZyZWVic2RfZ2V0 YXR0cjpyZXR1cm7CoHpmc19mcmVlYnNkX2dldGF0dHLCoDo6wqA1NjE4DQogwqDCoDDCoMKgMjc4 MDnCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqB6ZnNfZ2V0ZXh0YXR0cjpyZXR1cm7CoHpmc19nZXRl eHRhdHRywqA6OsKgODkxOQ0KIMKgwqAwwqDCoDI3ODExwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHpm c19saXN0ZXh0YXR0cjpyZXR1cm7CoHpmc19saXN0ZXh0YXR0csKgOjrCoDMxMTcNCiDCoDEzwqDC oDI3Nzc3wqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2xvb2t1cDpyZXR1cm7CoHpmc19mcmVl YnNkX2xvb2t1cMKgOjrCoDk5OTQzMTk1Mw0KIMKgMTPCoMKgMjc3NzfCoMKgwqDCoMKgwqDCoMKg emZzX2ZyZWVic2RfbG9va3VwOnJldHVybsKgemZzX2ZyZWVic2RfbG9va3VwwqA6OsKgMTA2MjMy MjgwOA0KIMKgwqA5wqDCoDI3Nzc3wqDCoMKgwqDCoMKgwqDCoHpmc19mcmVlYnNkX2xvb2t1cDpy ZXR1cm7CoHpmc19mcmVlYnNkX2xvb2t1cMKgOjrCoDEwNjE4ODU1NzgNCiDCoMKgOcKgwqAyNzc3 N8KgwqDCoMKgwqDCoMKgwqB6ZnNfZnJlZWJzZF9sb29rdXA6cmV0dXJuwqB6ZnNfZnJlZWJzZF9s b29rdXDCoDo6wqAxMTI4Mw0KDQpBdMKgdGhpc8KgcG9pbnTCoHRoZcKgY2xpZW50wqBjbG9zZXPC oHRoZcKgY29ubmVjdGlvbsKgYW5kwqB0aGXCoGNvbm5lY3RlZCzCoHNhbWJhwqBzZXJ2ZXLCoHBy b2Nlc3PCoGV4aXRzLg0KDQpBZnRlcsKgaW5jcmVhc2luZ8KgdGhlwqB2bm9kZXPCoHRvwqAyTSzC oHRoZcKgd2lyZcKgdHJhbnNmZXLCoG9mwqB0aGXCoGRpcmVjdG95wqBsaXN0aW5nwqBjb21wbGV0 ZXMNCmluwqBhYm91dMKgNjDCoHNlY29uZHMgd2l0aCB0aGUgZmluYWwgIm5vIG1vcmUgZmlsZXMi IHJlc3BvbnNlIHN0YXR1cyBvYnNlcnZlZCwNCmFuZMKgd2luLWV4cGxvcmVywqBjb2dpdGF0ZXPC oG9uwqB0aGXCoGRhdGHCoGZvcsKgYWJvdXTCoGFub3RoZXLCoDLCoG1pbnV0ZXMNCmJlZm9yZcKg Y29udHJvbMKgaXPCoHJldHVybmVkwqB0b8Kgd2luLWV4cGxvcmVyLg0KDQpUaGFua3MgZm9yIGFu eSBmZWVkIGJhY2suDQoNCi0tIA0KRGF2ZSBCYXVrdXMNCg==