From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id AF2C442B2A; Wed, 17 May 2023 10:38:15 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7DBDB411F3; Wed, 17 May 2023 10:38:15 +0200 (CEST) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 9CF284067B for ; Wed, 17 May 2023 10:38:13 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id 71B72222B8; Wed, 17 May 2023 10:38:13 +0200 (CEST) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01D9889A.E930604B" Subject: RE: [PATCH] lib/mempool : rte_mempool_avail_count, fixing return bigger than mempool size X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Wed, 17 May 2023 10:38:08 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D87926@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] lib/mempool : rte_mempool_avail_count, fixing return bigger than mempool size Thread-Index: AdmIlf6KzqbvBeO1QvaHRYawy/WQUAABENpA References: <20230516134146.480047-1-yasinncaner@gmail.com> <20230516082349.041c0e68@hermes.local> <98CBD80474FA8B44BF855DF32C47DC35D87923@smartserver.smartshare.dk> From: =?UTF-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Yasin CANER" Cc: "Stephen Hemminger" , , "Yasin CANER" , "Olivier Matz" , "Andrew Rybchenko" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org This is a multi-part message in MIME format. ------_=_NextPart_001_01D9889A.E930604B Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbTogWWFzaW4gQ0FORVIgW21haWx0bzp5YXNpbm5jYW5lckBnbWFpbC5jb21dIA0KU2VudDog V2VkbmVzZGF5LCAxNyBNYXkgMjAyMyAxMC4wMQ0KVG86IE1vcnRlbiBCcsO4cnVwDQpDYzogU3Rl cGhlbiBIZW1taW5nZXI7IGRldkBkcGRrLm9yZzsgWWFzaW4gQ0FORVI7IE9saXZpZXIgTWF0ejsg QW5kcmV3IFJ5YmNoZW5rbw0KU3ViamVjdDogUmU6IFtQQVRDSF0gbGliL21lbXBvb2wgOiBydGVf bWVtcG9vbF9hdmFpbF9jb3VudCwgZml4aW5nIHJldHVybiBiaWdnZXIgdGhhbiBtZW1wb29sIHNp emUNCg0KIA0KDQpIZWxsbywNCg0KIA0KDQpJIGRvbid0IGhhdmUgZnVsbCBrbm93bGVkZ2Ugb2Yg aG93IHRvIHdvcmsgcnRlX21lbXBvb2xfb3BzX2dldF9jb3VudCgpIGJ1dCB0aGVyZSBpcyBhbm90 aGVyIGNvbW1lbnQgYWJvdXQgaXQuIE1heWJlIGl0IHJlbGF0ZXMuIA0KDQovKg0KICogZHVlIHRv IHJhY2UgY29uZGl0aW9uIChhY2Nlc3MgdG8gbGVuIGlzIG5vdCBsb2NrZWQpLCB0aGUNCiAqIHRv dGFsIGNhbiBiZSBncmVhdGVyIHRoYW4gc2l6ZS4uLiBzbyBmaXggdGhlIHJlc3VsdA0KICovDQoN CiANCg0KTUI6IFRoaXMgY29tbWVudCByZWxhdGVzIHRvIHRoZSByYWNlIHdoZW4gYWNjZXNzaW5n IHRoZSBwZXItbGNvcmUgY2FjaGUgY291bnRlcnMuDQoNCiANCg0KQmVzdCByZWdhcmRzLg0KDQog DQoNCk1vcnRlbiBCcsO4cnVwIDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+LCAxNiBNYXkgMjAy MyBTYWwsIDE5OjA0IHRhcmloaW5kZSDFn3VudSB5YXpkxLE6DQoNCgk+IEZyb206IFN0ZXBoZW4g SGVtbWluZ2VyIFttYWlsdG86c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmddDQoJPiBTZW50OiBU dWVzZGF5LCAxNiBNYXkgMjAyMyAxNy4yNA0KCT4gDQoJPiBPbiBUdWUsIDE2IE1heSAyMDIzIDEz OjQxOjQ2ICswMDAwDQoJPiBZYXNpbiBDQU5FUiA8eWFzaW5uY2FuZXJAZ21haWwuY29tPiB3cm90 ZToNCgk+IA0KCT4gPiBGcm9tOiBZYXNpbiBDQU5FUiA8eWFzaW4uY2FuZXJAdWxha2hhYmVybGVz bWUuY29tLnRyPg0KCT4gPg0KCT4gPiBhZnRlciBhIHdoaWxlIHdvcmtpbmcgcnRlX21lbXBvb2xf YXZhaWxfY291bnQgZnVuY3Rpb24gcmV0dXJucyBiaWdnZXINCgk+ID4gdGhhbiBtZW1wb29sIHNp emUgdGhhdCBjYXVzZSBtaXNjYWxjdWxhdGlvbiBydGVfbWVtcG9vbF9pbl91c2VfY291bnQuDQoJ PiA+DQoJPiA+IGl0IGhlbHBzIHRvIGF2b2lkIG1pc2NhbGN1bGF0aW9uIHJ0ZV9tZW1wb29sX2lu X3VzZV9jb3VudC4NCgk+ID4NCgk+ID4gQnVnemlsbGEgSUQ6IDEyMjkNCgk+ID4NCgk+ID4gU2ln bmVkLW9mZi1ieTogWWFzaW4gQ0FORVIgPHlhc2luLmNhbmVyQHVsYWtoYWJlcmxlc21lLmNvbS50 cj4NCgk+IA0KCT4gQW4gYWx0ZXJuYXRpdmUgdGhhdCBhdm9pZHMgc29tZSBjb2RlIGR1cGxpY2F0 aW9uLg0KCT4gDQoJPiBkaWZmIC0tZ2l0IGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYyBiL2xp Yi9tZW1wb29sL3J0ZV9tZW1wb29sLmMNCgk+IGluZGV4IGNmNWRlYTIzMDRhNy4uMjQwNmIxMTJl N2IwIDEwMDY0NA0KCT4gLS0tIGEvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYw0KCT4gKysrIGIv bGliL21lbXBvb2wvcnRlX21lbXBvb2wuYw0KCT4gQEAgLTEwMTAsNyArMTAxMCw3IEBAIHJ0ZV9t ZW1wb29sX2F2YWlsX2NvdW50KGNvbnN0IHN0cnVjdCBydGVfbWVtcG9vbA0KCT4gKm1wKQ0KCT4g ICAgICAgICBjb3VudCA9IHJ0ZV9tZW1wb29sX29wc19nZXRfY291bnQobXApOw0KCT4gDQoJPiAg ICAgICAgIGlmIChtcC0+Y2FjaGVfc2l6ZSA9PSAwKQ0KCT4gLSAgICAgICAgICAgICAgIHJldHVy biBjb3VudDsNCgk+ICsgICAgICAgICAgICAgICBnb3RvIGV4aXQ7DQoJDQoJVGhpcyBidWcgY2Fu IG9ubHkgb2NjdXIgaGVyZSAoaS5lLiB3aXRoIGNhY2hlX3NpemU9PTApIGlmIHJ0ZV9tZW1wb29s X29wc19nZXRfY291bnQoKSByZXR1cm5zIGFuIGluY29ycmVjdCB2YWx1ZS4gVGhlIGJ1ZyBzaG91 bGQgYmUgZml4ZWQgdGhlcmUgaW5zdGVhZC4NCgkNCgk+IA0KCT4gICAgICAgICBmb3IgKGxjb3Jl X2lkID0gMDsgbGNvcmVfaWQgPCBSVEVfTUFYX0xDT1JFOyBsY29yZV9pZCsrKQ0KCT4gICAgICAg ICAgICAgICAgIGNvdW50ICs9IG1wLT5sb2NhbF9jYWNoZVtsY29yZV9pZF0ubGVuOw0KCT4gQEAg LTEwMTksNiArMTAxOSw3IEBAIHJ0ZV9tZW1wb29sX2F2YWlsX2NvdW50KGNvbnN0IHN0cnVjdCBy dGVfbWVtcG9vbA0KCT4gKm1wKQ0KCT4gICAgICAgICAgKiBkdWUgdG8gcmFjZSBjb25kaXRpb24g KGFjY2VzcyB0byBsZW4gaXMgbm90IGxvY2tlZCksIHRoZQ0KCT4gICAgICAgICAgKiB0b3RhbCBj YW4gYmUgZ3JlYXRlciB0aGFuIHNpemUuLi4gc28gZml4IHRoZSByZXN1bHQNCgk+ICAgICAgICAg ICovDQoJPiArZXhpdDoNCgk+ICAgICAgICAgaWYgKGNvdW50ID4gbXAtPnNpemUpDQoJPiAgICAg ICAgICAgICAgICAgcmV0dXJuIG1wLT5zaXplOw0KCT4gICAgICAgICByZXR1cm4gY291bnQ7DQoN Cg== ------_=_NextPart_001_01D9889A.E930604B Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGh0bWwgeG1sbnM6dj0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTp2bWwiIHhtbG5zOm89InVy bjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOm9mZmljZSIgeG1sbnM6dz0idXJuOnNjaGVt YXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6d29yZCIgeG1sbnM6eD0idXJuOnNjaGVtYXMtbWljcm9z b2Z0LWNvbTpvZmZpY2U6ZXhjZWwiIHhtbG5zOnA9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206 b2ZmaWNlOnBvd2VycG9pbnQiIHhtbG5zOmE9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm aWNlOmFjY2VzcyIgeG1sbnM6ZHQ9InV1aWQ6QzJGNDEwMTAtNjVCMy0xMWQxLUEyOUYtMDBBQTAw QzE0ODgyIiB4bWxuczpzPSJ1dWlkOkJEQzZFM0YwLTZEQTMtMTFkMS1BMkEzLTAwQUEwMEMxNDg4 MiIgeG1sbnM6cnM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206cm93c2V0IiB4bWxuczp6PSIj Um93c2V0U2NoZW1hIiB4bWxuczpiPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpw dWJsaXNoZXIiIHhtbG5zOnNzPSJ1cm46c2NoZW1hcy1taWNyb3NvZnQtY29tOm9mZmljZTpzcHJl YWRzaGVldCIgeG1sbnM6Yz0idXJuOnNjaGVtYXMtbWljcm9zb2Z0LWNvbTpvZmZpY2U6Y29tcG9u ZW50OnNwcmVhZHNoZWV0IiB4bWxuczpvZGM9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2Zm aWNlOm9kYyIgeG1sbnM6b2E9InVybjpzY2hlbWFzLW1pY3Jvc29mdC1jb206b2ZmaWNlOmFjdGl2 YXRpb24iIHhtbG5zOmh0bWw9Imh0dHA6Ly93d3cudzMub3JnL1RSL1JFQy1odG1sNDAiIHhtbG5z OnE9Imh0dHA6Ly9zY2hlbWFzLnhtbHNvYXAub3JnL3NvYXAvZW52ZWxvcGUvIiB4bWxuczpydGM9 Imh0dHA6Ly9taWNyb3NvZnQuY29tL29mZmljZW5ldC9jb25mZXJlbmNpbmciIHhtbG5zOkQ9IkRB VjoiIHhtbG5zOlJlcGw9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vcmVwbC8iIHhtbG5z Om10PSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC9tZWV0aW5n cy8iIHhtbG5zOngyPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS9leGNlbC8y MDAzL3htbCIgeG1sbnM6cHBkYT0iaHR0cDovL3d3dy5wYXNzcG9ydC5jb20vTmFtZVNwYWNlLnhz ZCIgeG1sbnM6b2lzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29h cC9vaXMvIiB4bWxuczpkaXI9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu dC9zb2FwL2RpcmVjdG9yeS8iIHhtbG5zOmRzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzA5L3ht bGRzaWcjIiB4bWxuczpkc3A9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2lu dC9kc3AiIHhtbG5zOnVkYz0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYyIg eG1sbnM6eHNkPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYSIgeG1sbnM6c3ViPSJo dHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3NoYXJlcG9pbnQvc29hcC8yMDAyLzEvYWxlcnRz LyIgeG1sbnM6ZWM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jIyIgeG1sbnM6c3A9 Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC8iIHhtbG5zOnNwcz0iaHR0 cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvIiB4bWxuczp4c2k9Imh0 dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiB4bWxuczp1ZGNzPSJodHRw Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3NvYXAiIHhtbG5zOnVkY3hmPSJodHRw Oi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL2RhdGEvdWRjL3htbGZpbGUiIHhtbG5zOnVkY3AycD0i aHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9kYXRhL3VkYy9wYXJ0dG9wYXJ0IiB4bWxuczp3 Zj0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9zaGFyZXBvaW50L3NvYXAvd29ya2Zsb3cv IiB4bWxuczpkc3NzPSJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL29mZmljZS8yMDA2L2Rp Z3NpZy1zZXR1cCIgeG1sbnM6ZHNzaT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZp Y2UvMjAwNi9kaWdzaWciIHhtbG5zOm1kc3NpPSJodHRwOi8vc2NoZW1hcy5vcGVueG1sZm9ybWF0 cy5vcmcvcGFja2FnZS8yMDA2L2RpZ2l0YWwtc2lnbmF0dXJlIiB4bWxuczptdmVyPSJodHRwOi8v c2NoZW1hcy5vcGVueG1sZm9ybWF0cy5vcmcvbWFya3VwLWNvbXBhdGliaWxpdHkvMjAwNiIgeG1s bnM6bT0iaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS9vZmZpY2UvMjAwNC8xMi9vbW1sIiB4 bWxuczptcmVscz0iaHR0cDovL3NjaGVtYXMub3BlbnhtbGZvcm1hdHMub3JnL3BhY2thZ2UvMjAw Ni9yZWxhdGlvbnNoaXBzIiB4bWxuczpzcHdwPSJodHRwOi8vbWljcm9zb2Z0LmNvbS9zaGFyZXBv aW50L3dlYnBhcnRwYWdlcyIgeG1sbnM6ZXgxMnQ9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5j b20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi90eXBlcyIgeG1sbnM6ZXgxMm09Imh0dHA6Ly9zY2hl bWFzLm1pY3Jvc29mdC5jb20vZXhjaGFuZ2Uvc2VydmljZXMvMjAwNi9tZXNzYWdlcyIgeG1sbnM6 cHB0c2w9Imh0dHA6Ly9zY2hlbWFzLm1pY3Jvc29mdC5jb20vc2hhcmVwb2ludC9zb2FwL1NsaWRl TGlicmFyeS8iIHhtbG5zOnNwc2w9Imh0dHA6Ly9taWNyb3NvZnQuY29tL3dlYnNlcnZpY2VzL1No YXJlUG9pbnRQb3J0YWxTZXJ2ZXIvUHVibGlzaGVkTGlua3NTZXJ2aWNlIiB4bWxuczpaPSJ1cm46 c2NoZW1hcy1taWNyb3NvZnQtY29tOiIgeG1sbnM6c3Q9IiYjMTsiIHhtbG5zPSJodHRwOi8vd3d3 LnczLm9yZy9UUi9SRUMtaHRtbDQwIj48aGVhZD48bWV0YSBodHRwLWVxdWl2PUNvbnRlbnQtVHlw ZSBjb250ZW50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLTgiPjxtZXRhIG5hbWU9R2VuZXJhdG9y IGNvbnRlbnQ9Ik1pY3Jvc29mdCBXb3JkIDEyIChmaWx0ZXJlZCBtZWRpdW0pIj48c3R5bGU+PCEt LQ0KLyogRm9udCBEZWZpbml0aW9ucyAqLw0KQGZvbnQtZmFjZQ0KCXtmb250LWZhbWlseToiQ2Ft YnJpYSBNYXRoIjsNCglwYW5vc2UtMToyIDQgNSAzIDUgNCA2IDMgMiA0O30NCkBmb250LWZhY2UN Cgl7Zm9udC1mYW1pbHk6Q2FsaWJyaTsNCglwYW5vc2UtMToyIDE1IDUgMiAyIDIgNCAzIDIgNDt9 DQpAZm9udC1mYWNlDQoJe2ZvbnQtZmFtaWx5OlRhaG9tYTsNCglwYW5vc2UtMToyIDExIDYgNCAz IDUgNCA0IDIgNDt9DQovKiBTdHlsZSBEZWZpbml0aW9ucyAqLw0KcC5Nc29Ob3JtYWwsIGxpLk1z b05vcm1hbCwgZGl2Lk1zb05vcm1hbA0KCXttYXJnaW46MGNtOw0KCW1hcmdpbi1ib3R0b206LjAw MDFwdDsNCglmb250LXNpemU6MTIuMHB0Ow0KCWZvbnQtZmFtaWx5OiJUaW1lcyBOZXcgUm9tYW4i LCJzZXJpZiI7fQ0KYTpsaW5rLCBzcGFuLk1zb0h5cGVybGluaw0KCXttc28tc3R5bGUtcHJpb3Jp dHk6OTk7DQoJY29sb3I6Ymx1ZTsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO30NCmE6dmlz aXRlZCwgc3Bhbi5Nc29IeXBlcmxpbmtGb2xsb3dlZA0KCXttc28tc3R5bGUtcHJpb3JpdHk6OTk7 DQoJY29sb3I6cHVycGxlOw0KCXRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7fQ0Kc3Bhbi5FbWFp bFN0eWxlMTcNCgl7bXNvLXN0eWxlLXR5cGU6cGVyc29uYWwtcmVwbHk7DQoJZm9udC1mYW1pbHk6 IkNhbGlicmkiLCJzYW5zLXNlcmlmIjsNCgljb2xvcjojMUY0OTdEO30NCi5Nc29DaHBEZWZhdWx0 DQoJe21zby1zdHlsZS10eXBlOmV4cG9ydC1vbmx5O30NCkBwYWdlIFdvcmRTZWN0aW9uMQ0KCXtz aXplOjYxMi4wcHQgNzkyLjBwdDsNCgltYXJnaW46NzIuMHB0IDcyLjBwdCA3Mi4wcHQgNzIuMHB0 O30NCmRpdi5Xb3JkU2VjdGlvbjENCgl7cGFnZTpXb3JkU2VjdGlvbjE7fQ0KLS0+PC9zdHlsZT48 IS0tW2lmIGd0ZSBtc28gOV0+PHhtbD4NCjxvOnNoYXBlZGVmYXVsdHMgdjpleHQ9ImVkaXQiIHNw aWRtYXg9IjEwMjYiIC8+DQo8L3htbD48IVtlbmRpZl0tLT48IS0tW2lmIGd0ZSBtc28gOV0+PHht bD4NCjxvOnNoYXBlbGF5b3V0IHY6ZXh0PSJlZGl0Ij4NCjxvOmlkbWFwIHY6ZXh0PSJlZGl0IiBk YXRhPSIxIiAvPg0KPC9vOnNoYXBlbGF5b3V0PjwveG1sPjwhW2VuZGlmXS0tPjwvaGVhZD48Ym9k eSBsYW5nPUVOLVVTIGxpbms9Ymx1ZSB2bGluaz1wdXJwbGU+PGRpdiBjbGFzcz1Xb3JkU2VjdGlv bjE+PGRpdiBzdHlsZT0nYm9yZGVyOm5vbmU7Ym9yZGVyLWxlZnQ6c29saWQgYmx1ZSAxLjVwdDtw YWRkaW5nOjBjbSAwY20gMGNtIDQuMHB0Jz48ZGl2PjxkaXYgc3R5bGU9J2JvcmRlcjpub25lO2Jv cmRlci10b3A6c29saWQgI0I1QzRERiAxLjBwdDtwYWRkaW5nOjMuMHB0IDBjbSAwY20gMGNtJz48 cCBjbGFzcz1Nc29Ob3JtYWw+PGI+PHNwYW4gc3R5bGU9J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1m YW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiJz5Gcm9tOjwvc3Bhbj48L2I+PHNwYW4gc3R5bGU9 J2ZvbnQtc2l6ZToxMC4wcHQ7Zm9udC1mYW1pbHk6IlRhaG9tYSIsInNhbnMtc2VyaWYiJz4gWWFz aW4gQ0FORVIgW21haWx0bzp5YXNpbm5jYW5lckBnbWFpbC5jb21dIDxicj48Yj5TZW50OjwvYj4g V2VkbmVzZGF5LCAxNyBNYXkgMjAyMyAxMC4wMTxicj48Yj5Ubzo8L2I+IE1vcnRlbiBCcsO4cnVw PGJyPjxiPkNjOjwvYj4gU3RlcGhlbiBIZW1taW5nZXI7IGRldkBkcGRrLm9yZzsgWWFzaW4gQ0FO RVI7IE9saXZpZXIgTWF0ejsgQW5kcmV3IFJ5YmNoZW5rbzxicj48Yj5TdWJqZWN0OjwvYj4gUmU6 IFtQQVRDSF0gbGliL21lbXBvb2wgOiBydGVfbWVtcG9vbF9hdmFpbF9jb3VudCwgZml4aW5nIHJl dHVybiBiaWdnZXIgdGhhbiBtZW1wb29sIHNpemU8bzpwPjwvbzpwPjwvc3Bhbj48L3A+PC9kaXY+ PC9kaXY+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjxkaXY+PHAgY2xh c3M9TXNvTm9ybWFsPkhlbGxvLDxvOnA+PC9vOnA+PC9wPjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFs PjxvOnA+Jm5ic3A7PC9vOnA+PC9wPjwvZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPkkgZG9u J3QmbmJzcDtoYXZlIGZ1bGwga25vd2xlZGdlIG9mIGhvdyZuYnNwO3RvIHdvcmsgcnRlX21lbXBv b2xfb3BzX2dldF9jb3VudCgpIGJ1dCB0aGVyZSBpcyBhbm90aGVyIGNvbW1lbnQgYWJvdXQgaXQu IE1heWJlIGl0IHJlbGF0ZXMuJm5ic3A7PG86cD48L286cD48L3A+PC9kaXY+PGRpdj48cCBjbGFz cz1Nc29Ob3JtYWw+Lyo8YnI+Jm5ic3A7KiBkdWUgdG8gcmFjZSBjb25kaXRpb24gKGFjY2VzcyB0 byBsZW4gaXMgbm90IGxvY2tlZCksIHRoZTxicj4mbmJzcDsqIHRvdGFsIGNhbiBiZSBncmVhdGVy IHRoYW4gc2l6ZS4uLiBzbyBmaXggdGhlIHJlc3VsdDxicj4mbmJzcDsqLzxvOnA+PC9vOnA+PC9w PjwvZGl2PjxkaXY+PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0eWxlPSdjb2xvcjojMUY0OTdE Jz48bzpwPiZuYnNwOzwvbzpwPjwvc3Bhbj48L3A+PHAgY2xhc3M9TXNvTm9ybWFsPjxzcGFuIHN0 eWxlPSdmb250LXNpemU6MTEuMHB0O2ZvbnQtZmFtaWx5OiJDYWxpYnJpIiwic2Fucy1zZXJpZiI7 Y29sb3I6IzFGNDk3RCc+TUI6IFRoaXMgY29tbWVudCByZWxhdGVzIHRvIHRoZSByYWNlIHdoZW4g YWNjZXNzaW5nIHRoZSBwZXItbGNvcmUgY2FjaGUgY291bnRlcnMuPG86cD48L286cD48L3NwYW4+ PC9wPjxwIGNsYXNzPU1zb05vcm1hbD48c3BhbiBzdHlsZT0nZm9udC1zaXplOjExLjBwdDtmb250 LWZhbWlseToiQ2FsaWJyaSIsInNhbnMtc2VyaWYiO2NvbG9yOiMxRjQ5N0QnPjxvOnA+Jm5ic3A7 PC9vOnA+PC9zcGFuPjwvcD48L2Rpdj48ZGl2PjxwIGNsYXNzPU1zb05vcm1hbD5CZXN0IHJlZ2Fy ZHMuPG86cD48L286cD48L3A+PC9kaXY+PC9kaXY+PHAgY2xhc3M9TXNvTm9ybWFsPjxvOnA+Jm5i c3A7PC9vOnA+PC9wPjxkaXY+PGRpdj48cCBjbGFzcz1Nc29Ob3JtYWw+TW9ydGVuIEJyw7hydXAg Jmx0OzxhIGhyZWY9Im1haWx0bzptYkBzbWFydHNoYXJlc3lzdGVtcy5jb20iPm1iQHNtYXJ0c2hh cmVzeXN0ZW1zLmNvbTwvYT4mZ3Q7LCAxNiBNYXkgMjAyMyBTYWwsIDE5OjA0IHRhcmloaW5kZSDF n3VudSB5YXpkxLE6PG86cD48L286cD48L3A+PC9kaXY+PGJsb2NrcXVvdGUgc3R5bGU9J2JvcmRl cjpub25lO2JvcmRlci1sZWZ0OnNvbGlkICNDQ0NDQ0MgMS4wcHQ7cGFkZGluZzowY20gMGNtIDBj bSA2LjBwdDttYXJnaW4tbGVmdDo0LjhwdDttYXJnaW4tcmlnaHQ6MGNtJz48cCBjbGFzcz1Nc29O b3JtYWw+Jmd0OyBGcm9tOiBTdGVwaGVuIEhlbW1pbmdlciBbbWFpbHRvOjxhIGhyZWY9Im1haWx0 bzpzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZyIgdGFyZ2V0PSJfYmxhbmsiPnN0ZXBoZW5AbmV0 d29ya3BsdW1iZXIub3JnPC9hPl08YnI+Jmd0OyBTZW50OiBUdWVzZGF5LCAxNiBNYXkgMjAyMyAx Ny4yNDxicj4mZ3Q7IDxicj4mZ3Q7IE9uIFR1ZSwgMTYgTWF5IDIwMjMgMTM6NDE6NDYgKzAwMDA8 YnI+Jmd0OyBZYXNpbiBDQU5FUiAmbHQ7PGEgaHJlZj0ibWFpbHRvOnlhc2lubmNhbmVyQGdtYWls LmNvbSIgdGFyZ2V0PSJfYmxhbmsiPnlhc2lubmNhbmVyQGdtYWlsLmNvbTwvYT4mZ3Q7IHdyb3Rl Ojxicj4mZ3Q7IDxicj4mZ3Q7ICZndDsgRnJvbTogWWFzaW4gQ0FORVIgJmx0OzxhIGhyZWY9Im1h aWx0bzp5YXNpbi5jYW5lckB1bGFraGFiZXJsZXNtZS5jb20udHIiIHRhcmdldD0iX2JsYW5rIj55 YXNpbi5jYW5lckB1bGFraGFiZXJsZXNtZS5jb20udHI8L2E+Jmd0Ozxicj4mZ3Q7ICZndDs8YnI+ Jmd0OyAmZ3Q7IGFmdGVyIGEgd2hpbGUgd29ya2luZyBydGVfbWVtcG9vbF9hdmFpbF9jb3VudCBm dW5jdGlvbiByZXR1cm5zIGJpZ2dlcjxicj4mZ3Q7ICZndDsgdGhhbiBtZW1wb29sIHNpemUgdGhh dCBjYXVzZSBtaXNjYWxjdWxhdGlvbiBydGVfbWVtcG9vbF9pbl91c2VfY291bnQuPGJyPiZndDsg Jmd0Ozxicj4mZ3Q7ICZndDsgaXQgaGVscHMgdG8gYXZvaWQgbWlzY2FsY3VsYXRpb24gcnRlX21l bXBvb2xfaW5fdXNlX2NvdW50Ljxicj4mZ3Q7ICZndDs8YnI+Jmd0OyAmZ3Q7IEJ1Z3ppbGxhIElE OiAxMjI5PGJyPiZndDsgJmd0Ozxicj4mZ3Q7ICZndDsgU2lnbmVkLW9mZi1ieTogWWFzaW4gQ0FO RVIgJmx0OzxhIGhyZWY9Im1haWx0bzp5YXNpbi5jYW5lckB1bGFraGFiZXJsZXNtZS5jb20udHIi IHRhcmdldD0iX2JsYW5rIj55YXNpbi5jYW5lckB1bGFraGFiZXJsZXNtZS5jb20udHI8L2E+Jmd0 Ozxicj4mZ3Q7IDxicj4mZ3Q7IEFuIGFsdGVybmF0aXZlIHRoYXQgYXZvaWRzIHNvbWUgY29kZSBk dXBsaWNhdGlvbi48YnI+Jmd0OyA8YnI+Jmd0OyBkaWZmIC0tZ2l0IGEvbGliL21lbXBvb2wvcnRl X21lbXBvb2wuYyBiL2xpYi9tZW1wb29sL3J0ZV9tZW1wb29sLmM8YnI+Jmd0OyBpbmRleCBjZjVk ZWEyMzA0YTcuLjI0MDZiMTEyZTdiMCAxMDA2NDQ8YnI+Jmd0OyAtLS0gYS9saWIvbWVtcG9vbC9y dGVfbWVtcG9vbC5jPGJyPiZndDsgKysrIGIvbGliL21lbXBvb2wvcnRlX21lbXBvb2wuYzxicj4m Z3Q7IEBAIC0xMDEwLDcgKzEwMTAsNyBAQCBydGVfbWVtcG9vbF9hdmFpbF9jb3VudChjb25zdCBz dHJ1Y3QgcnRlX21lbXBvb2w8YnI+Jmd0OyAqbXApPGJyPiZndDsmbmJzcDsgJm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7Y291bnQgPSBydGVfbWVtcG9vbF9vcHNfZ2V0X2NvdW50KG1wKTs8YnI+ Jmd0OyA8YnI+Jmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAobXAtJmd0 O2NhY2hlX3NpemUgPT0gMCk8YnI+Jmd0OyAtJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBjb3VudDs8YnI+Jmd0OyArJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2dvdG8gZXhpdDs8 YnI+PGJyPlRoaXMgYnVnIGNhbiBvbmx5IG9jY3VyIGhlcmUgKGkuZS4gd2l0aCBjYWNoZV9zaXpl PT0wKSBpZiBydGVfbWVtcG9vbF9vcHNfZ2V0X2NvdW50KCkgcmV0dXJucyBhbiBpbmNvcnJlY3Qg dmFsdWUuIFRoZSBidWcgc2hvdWxkIGJlIGZpeGVkIHRoZXJlIGluc3RlYWQuPGJyPjxicj4mZ3Q7 IDxicj4mZ3Q7Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwO2ZvciAobGNvcmVfaWQg PSAwOyBsY29yZV9pZCAmbHQ7IFJURV9NQVhfTENPUkU7IGxjb3JlX2lkKyspPGJyPiZndDsmbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNw O2NvdW50ICs9IG1wLSZndDtsb2NhbF9jYWNoZVtsY29yZV9pZF0ubGVuOzxicj4mZ3Q7IEBAIC0x MDE5LDYgKzEwMTksNyBAQCBydGVfbWVtcG9vbF9hdmFpbF9jb3VudChjb25zdCBzdHJ1Y3QgcnRl X21lbXBvb2w8YnI+Jmd0OyAqbXApPGJyPiZndDsmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsg Jm5ic3A7ICogZHVlIHRvIHJhY2UgY29uZGl0aW9uIChhY2Nlc3MgdG8gbGVuIGlzIG5vdCBsb2Nr ZWQpLCB0aGU8YnI+Jmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKiB0b3Rh bCBjYW4gYmUgZ3JlYXRlciB0aGFuIHNpemUuLi4gc28gZml4IHRoZSByZXN1bHQ8YnI+Jmd0OyZu YnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgKi88YnI+Jmd0OyArZXhpdDo8YnI+Jmd0 OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtpZiAoY291bnQgJmd0OyBtcC0mZ3Q7 c2l6ZSk8YnI+Jmd0OyZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7cmV0dXJuIG1wLSZndDtzaXplOzxicj4mZ3Q7Jm5ic3A7ICZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwO3JldHVybiBjb3VudDs8bzpwPjwvbzpwPjwvcD48L2Jsb2Nr cXVvdGU+PC9kaXY+PC9kaXY+PC9kaXY+PC9ib2R5PjwvaHRtbD4= ------_=_NextPart_001_01D9889A.E930604B--