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 28FD045BA0; Tue, 22 Oct 2024 15:04:21 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 697A840A72; Tue, 22 Oct 2024 15:03:42 +0200 (CEST) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.40]) by mails.dpdk.org (Postfix) with ESMTP id 423074066D for ; Tue, 22 Oct 2024 15:03:37 +0200 (CEST) Received: from mse-fl2.zte.com.cn (unknown [10.5.228.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mxhk.zte.com.cn (FangMail) with ESMTPS id 4XXsn00x1Gz8R049 for ; Tue, 22 Oct 2024 21:03:32 +0800 (CST) Received: from szxlzmapp04.zte.com.cn ([10.5.231.166]) by mse-fl2.zte.com.cn with SMTP id 49MD3Ivk020492 for ; Tue, 22 Oct 2024 21:03:18 +0800 (+08) (envelope-from wang.junlong1@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Tue, 22 Oct 2024 21:03:22 +0800 X-Zmail-TransId: 3e816717a299004-16fad From: Junlong Wang To: dev@dpdk.org Cc: Hanxiao Li Subject: [PATCH v13 06/12] common/zsda: configure zsda queue enqueue functions Date: Tue, 22 Oct 2024 20:59:12 +0800 Message-ID: <20241022125931.2128534-7-wang.junlong1@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241022125931.2128534-1-wang.junlong1@zte.com.cn> References: <20241019110428.1970056-2-li.hanxiao@zte.com.cn> <20241022125931.2128534-1-wang.junlong1@zte.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: multipart/mixed; boundary="=====_001_next=====" X-MAIL: mse-fl2.zte.com.cn 49MD3Ivk020492 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 6717A2A4.000/4XXsn00x1Gz8R049 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 --=====_001_next===== Content-Type: multipart/related; boundary="=====_002_next=====" --=====_002_next===== Content-Type: multipart/alternative; boundary="=====_003_next=====" --=====_003_next===== Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbTogSGFueGlhbyBMaSA8bGkuaGFueGlhb0B6dGUuY29tLmNuPg0KDQpBZGQgc3VwcG9ydCBm b3IgenNkYWRldiBxdWV1ZSBlbnF1ZXVlLg0KDQpTaWduZWQtb2ZmLWJ5OiBIYW54aWFvIExpIDxs aS5oYW54aWFvQHp0ZS5jb20uY24+DQotLS0NCiBkcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAu YyB8IDEwNSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQogZHJpdmVycy9jb21t b24venNkYS96c2RhX3FwLmggfCAgIDIgKw0KIDIgZmlsZXMgY2hhbmdlZCwgMTA3IGluc2VydGlv bnMoKykNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5jIGIvZHJp dmVycy9jb21tb24venNkYS96c2RhX3FwLmMNCmluZGV4IDJhODVkMDc3MjguLmI4ODQzNTJlYWIg MTAwNjQ0DQotLS0gYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KKysrIGIvZHJpdmVy cy9jb21tb24venNkYS96c2RhX3FwLmMNCkBAIC02NzcsNiArNjc3LDExMSBAQCB6c2RhX3F1ZXVl X3BhaXJfcmVsZWFzZShzdHJ1Y3QgenNkYV9xcCAqKnFwX2FkZHIpDQogCXJldHVybiBaU0RBX1NV Q0NFU1M7DQogfQ0KIA0KK3N0YXRpYyBpbnQNCit6c2RhX2ZpbmRfbmV4dF9mcmVlX2Nvb2tpZShj b25zdCBzdHJ1Y3QgenNkYV9xdWV1ZSAqcXVldWUsIHZvaWQgKipvcF9jb29raWUsDQorCQkgICAg ICB1aW50MTZfdCAqaWR4KQ0KK3sNCisJdWludDE2X3Qgb2xkX3RhaWwgPSBxdWV1ZS0+dGFpbDsN CisJdWludDE2X3QgdGFpbCA9IHF1ZXVlLT50YWlsOw0KKwlzdHJ1Y3QgenNkYV9vcF9jb29raWUg KmNvb2tpZTsNCisNCisJZG8gew0KKwkJY29va2llID0gb3BfY29va2llW3RhaWxdOw0KKwkJaWYg KCFjb29raWUtPnVzZWQpIHsNCisJCQkqaWR4ID0gdGFpbCAmIChxdWV1ZS0+cXVldWVfc2l6ZSAt IDEpOw0KKwkJCXJldHVybiBaU0RBX1NVQ0NFU1M7DQorCQl9DQorCQl0YWlsID0genNkYV9tb2R1 bG9fMTYodGFpbCsrLCBxdWV1ZS0+bW9kdWxvX21hc2spOw0KKwl9IHdoaWxlIChvbGRfdGFpbCAh PSB0YWlsKTsNCisNCisJcmV0dXJuIC1FSU5WQUw7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCit6c2Rh X2VucXVldWUodm9pZCAqb3AsIHN0cnVjdCB6c2RhX3FwICpxcCkNCit7DQorCXVpbnQxNl90IG5l d190YWlsOw0KKwllbnVtIHpzZGFfc2VydmljZV90eXBlIHR5cGU7DQorCXZvaWQgKipvcF9jb29r aWU7DQorCWludCByZXQgPSBaU0RBX1NVQ0NFU1M7DQorCXN0cnVjdCB6c2RhX3F1ZXVlICpxdWV1 ZTsNCisNCisJZm9yICh0eXBlID0gMDsgdHlwZSA8IFpTREFfU0VSVklDRV9JTlZBTElEOyB0eXBl KyspIHsNCisJCWlmIChxcC0+c3J2W3R5cGVdLnVzZWQpIHsNCisJCQlpZiAoIXFwLT5zcnZbdHlw ZV0ubWF0Y2gob3ApKQ0KKwkJCQljb250aW51ZTsNCisJCQlxdWV1ZSA9ICZxcC0+c3J2W3R5cGVd LnR4X3E7DQorCQkJb3BfY29va2llID0gcXAtPnNydlt0eXBlXS5vcF9jb29raWVzOw0KKw0KKwkJ CWlmICh6c2RhX2ZpbmRfbmV4dF9mcmVlX2Nvb2tpZShxdWV1ZSwgb3BfY29va2llLA0KKwkJCQkJ CSAgJm5ld190YWlsKSkgew0KKwkJCQlyZXQgPSAtRUJVU1k7DQorCQkJCWJyZWFrOw0KKwkJCX0N CisJCQlyZXQgPSBxcC0+c3J2W3R5cGVdLnR4X2NiKG9wLCBxdWV1ZSwgb3BfY29va2llLA0KKwkJ CQkJCSAgbmV3X3RhaWwpOw0KKwkJCWlmIChyZXQpIHsNCisJCQkJcXAtPnNydlt0eXBlXS5zdGF0 cy5lbnF1ZXVlX2Vycl9jb3VudCsrOw0KKwkJCQlaU0RBX0xPRyhFUlIsICJGYWlsZWQhIGNvbmZp ZyB3cWUiKTsNCisJCQkJYnJlYWs7DQorCQkJfQ0KKwkJCXFwLT5zcnZbdHlwZV0uc3RhdHMuZW5x dWV1ZWRfY291bnQrKzsNCisNCisJCQlxdWV1ZS0+dGFpbCA9IHpzZGFfbW9kdWxvXzE2KG5ld190 YWlsICsgMSwNCisJCQkJCQkgICAgIHF1ZXVlLT5xdWV1ZV9zaXplIC0gMSk7DQorDQorCQkJaWYg KG5ld190YWlsID4gcXVldWUtPnRhaWwpDQorCQkJCXF1ZXVlLT52YWxpZCA9DQorCQkJCQl6c2Rh X21vZHVsb184KHF1ZXVlLT52YWxpZCArIDEsDQorCQkJCQkodWludDhfdCkocXVldWUtPmN5Y2xl X3NpemUgLSAxKSk7DQorDQorCQkJcXVldWUtPnB1c2hlZF93cWUrKzsNCisJCQlicmVhazsNCisJ CX0NCisJfQ0KKw0KKwlyZXR1cm4gcmV0Ow0KK30NCisNCitzdGF0aWMgdm9pZA0KK3pzZGFfdHhf d3JpdGVfdGFpbChzdHJ1Y3QgenNkYV9xdWV1ZSAqcXVldWUpDQorew0KKwlpZiAocXVldWUtPnB1 c2hlZF93cWUpDQorCQlXUklURV9DU1JfV1FfVEFJTChxdWV1ZS0+aW9fYWRkciwgcXVldWUtPmh3 X3F1ZXVlX251bWJlciwNCisJCQkJICBxdWV1ZS0+dGFpbCk7DQorDQorCXF1ZXVlLT5wdXNoZWRf d3FlID0gMDsNCit9DQorDQordWludDE2X3QNCit6c2RhX2VucXVldWVfb3BfYnVyc3Qoc3RydWN0 IHpzZGFfcXAgKnFwLCB2b2lkICoqb3BzLCB1aW50MTZfdCBuYl9vcHMpDQorew0KKwlpbnQgcmV0 ID0gWlNEQV9TVUNDRVNTOw0KKwllbnVtIHpzZGFfc2VydmljZV90eXBlIHR5cGU7DQorCXVpbnQx Nl90IGk7DQorCXVpbnQxNl90IG5iX3NlbmQgPSAwOw0KKwl2b2lkICpvcDsNCisNCisJaWYgKG5i X29wcyA+IFpTREFfTUFYX0RFU0MpIHsNCisJCVpTREFfTE9HKEVSUiwgIkVucXVldWUgbnVtYmVy IGJpZ2dlciB0aGFuICVkIiwgWlNEQV9NQVhfREVTQyk7DQorCQlyZXR1cm4gMDsNCisJfQ0KKw0K Kwlmb3IgKGkgPSAwOyBpIDwgbmJfb3BzOyBpKyspIHsNCisJCW9wID0gb3BzW2ldOw0KKwkJcmV0 ID0genNkYV9lbnF1ZXVlKG9wLCBxcCk7DQorCQlpZiAocmV0IDwgMCkNCisJCQlicmVhazsNCisJ CW5iX3NlbmQrKzsNCisJfQ0KKw0KKwlmb3IgKHR5cGUgPSAwOyB0eXBlIDwgWlNEQV9TRVJWSUNF X0lOVkFMSUQ7IHR5cGUrKykNCisJCWlmIChxcC0+c3J2W3R5cGVdLnVzZWQpDQorCQkJenNkYV90 eF93cml0ZV90YWlsKCZxcC0+c3J2W3R5cGVdLnR4X3EpOw0KKw0KKwlyZXR1cm4gbmJfc2VuZDsN Cit9DQorDQogaW50DQogenNkYV9jb21tb25fc2V0dXBfcXAodWludDMyX3QgenNkYV9kZXZfaWQs IHN0cnVjdCB6c2RhX3FwICoqcXBfYWRkciwNCiAJCWNvbnN0IHVpbnQxNl90IHF1ZXVlX3BhaXJf aWQsIGNvbnN0IHN0cnVjdCB6c2RhX3FwX2NvbmZpZyAqY29uZikNCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuaCBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5o DQppbmRleCBhOWYwZDM4YmE1Li5mOWVmZmYwZTVhIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jb21t b24venNkYS96c2RhX3FwLmgNCisrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oDQpA QCAtMTM1LDYgKzEzNSw4IEBAIGludCB6c2RhX2dldF9xdWV1ZV9jZmcoc3RydWN0IHpzZGFfcGNp X2RldmljZSAqenNkYV9wY2lfZGV2KTsNCiANCiBpbnQgenNkYV9xdWV1ZV9wYWlyX3JlbGVhc2Uo c3RydWN0IHpzZGFfcXAgKipxcF9hZGRyKTsNCiANCit1aW50MTZfdCB6c2RhX2VucXVldWVfb3Bf YnVyc3Qoc3RydWN0IHpzZGFfcXAgKnFwLCB2b2lkICoqb3BzLCBjb25zdCB1aW50MTZfdCBuYl9v cHMpOw0KKw0KIGludCB6c2RhX2NvbW1vbl9zZXR1cF9xcCh1aW50MzJfdCBkZXZfaWQsIHN0cnVj dCB6c2RhX3FwICoqcXBfYWRkciwNCiAJCSAgICBjb25zdCB1aW50MTZfdCBxdWV1ZV9wYWlyX2lk LA0KIAkJICAgIGNvbnN0IHN0cnVjdCB6c2RhX3FwX2NvbmZpZyAqY29uZik7DQotLSANCjIuMjcu MA== --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 RnJvbTombmJzcDtIYW54aWFvJm5ic3A7TGkmbmJzcDsmbHQ7bGkuaGFueGlhb0B6dGUuY29tLmNu Jmd0Ow08YnIgLz4NPGJyIC8+QWRkJm5ic3A7c3VwcG9ydCZuYnNwO2ZvciZuYnNwO3pzZGFkZXYm bmJzcDtxdWV1ZSZuYnNwO2VucXVldWUuPGJyIC8+DTxiciAvPlNpZ25lZC1vZmYtYnk6Jm5ic3A7 SGFueGlhbyZuYnNwO0xpJm5ic3A7Jmx0O2xpLmhhbnhpYW9AenRlLmNvbS5jbiZndDsNPGJyIC8+ LS0tPGJyIC8+Jm5ic3A7ZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmMmbmJzcDt8Jm5ic3A7 MTA1Jm5ic3A7KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKzxiciAvPiZuYnNwO2Ry aXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oJm5ic3A7fCZuYnNwOyZuYnNwOyZuYnNwOzImbmJz cDsrPGJyIC8+Jm5ic3A7MiZuYnNwO2ZpbGVzJm5ic3A7Y2hhbmdlZCwmbmJzcDsxMDcmbmJzcDtp bnNlcnRpb25zKCspPGJyIC8+DTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9j b21tb24venNkYS96c2RhX3FwLmMmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5j PGJyIC8+aW5kZXgmbmJzcDsyYTg1ZDA3NzI4Li5iODg0MzUyZWFiJm5ic3A7MTAwNjQ0PGJyIC8+ LS0tJm5ic3A7YS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYzxiciAvPisrKyZuYnNwO2Iv ZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmM8YnIgLz5AQCZuYnNwOy02NzcsNiZuYnNwOys2 NzcsMTExJm5ic3A7QEAmbmJzcDt6c2RhX3F1ZXVlX3BhaXJfcmVsZWFzZShzdHJ1Y3QmbmJzcDt6 c2RhX3FwJm5ic3A7KipxcF9hZGRyKTxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3JldHVybiZuYnNwO1pTREFfU1VDQ0VTUzs8YnIgLz4mbmJzcDt9PGJyIC8+Jm5ic3A7DTxiciAv PitzdGF0aWMmbmJzcDtpbnQ8YnIgLz4renNkYV9maW5kX25leHRfZnJlZV9jb29raWUoY29uc3Qm bmJzcDtzdHJ1Y3QmbmJzcDt6c2RhX3F1ZXVlJm5ic3A7KnF1ZXVlLCZuYnNwO3ZvaWQmbmJzcDsq Km9wX2Nvb2tpZSw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dWludDE2X3QmbmJz cDsqaWR4KTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5i c3A7b2xkX3RhaWwmbmJzcDs9Jm5ic3A7cXVldWUtJmd0O3RhaWw7PGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5ic3A7dGFpbCZuYnNwOz0mbmJzcDtxdWV1ZS0mZ3Q7dGFp bDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enNkYV9vcF9jb29r aWUmbmJzcDsqY29va2llOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ZG8m bmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2Nvb2tpZSZuYnNwOz0mbmJzcDtvcF9jb29raWVbdGFpbF07PGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KCFjb29raWUtJmd0 O3VzZWQpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqaWR4Jm5ic3A7PSZuYnNwO3RhaWwm bmJzcDsmYW1wOyZuYnNwOyhxdWV1ZS0mZ3Q7cXVldWVfc2l6ZSZuYnNwOy0mbmJzcDsxKTs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7WlNEQV9TVUNDRVNTOzxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3RhaWwmbmJzcDs9Jm5ic3A7 enNkYV9tb2R1bG9fMTYodGFpbCsrLCZuYnNwO3F1ZXVlLSZndDttb2R1bG9fbWFzayk7PGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO30mbmJzcDt3aGlsZSZuYnNwOyhvbGRfdGFpbCZuYnNw OyE9Jm5ic3A7dGFpbCk7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1 cm4mbmJzcDstRUlOVkFMOzxiciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIg Lz4renNkYV9lbnF1ZXVlKHZvaWQmbmJzcDsqb3AsJm5ic3A7c3RydWN0Jm5ic3A7enNkYV9xcCZu YnNwOypxcCk8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50MTZfdCZu YnNwO25ld190YWlsOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtlbnVtJm5ic3A7enNk YV9zZXJ2aWNlX3R5cGUmbmJzcDt0eXBlOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt2 b2lkJm5ic3A7KipvcF9jb29raWU7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ludCZu YnNwO3JldCZuYnNwOz0mbmJzcDtaU0RBX1NVQ0NFU1M7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3N0cnVjdCZuYnNwO3pzZGFfcXVldWUmbmJzcDsqcXVldWU7PGJyIC8+KzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtmb3ImbmJzcDsodHlwZSZuYnNwOz0mbmJzcDswOyZuYnNw O3R5cGUmbmJzcDsmbHQ7Jm5ic3A7WlNEQV9TRVJWSUNFX0lOVkFMSUQ7Jm5ic3A7dHlwZSsrKSZu YnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7aWYmbmJzcDsocXAtJmd0O3Nydlt0eXBlXS51c2VkKSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7aWYmbmJzcDsoIXFwLSZndDtzcnZbdHlwZV0ubWF0Y2gob3ApKTxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb250aW51ZTs8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7cXVldWUmbmJzcDs9Jm5ic3A7JmFtcDtxcC0mZ3Q7c3J2W3R5cGVdLnR4X3E7PGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO29wX2Nvb2tpZSZuYnNwOz0mbmJzcDtxcC0mZ3Q7c3J2W3R5cGVdLm9w X2Nvb2tpZXM7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyh6c2RhX2ZpbmRf bmV4dF9mcmVlX2Nvb2tpZShxdWV1ZSwmbmJzcDtvcF9jb29raWUsPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7bmV3X3RhaWwpKSZuYnNwO3s8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNw Oy1FQlVTWTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7YnJl YWs7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7 PSZuYnNwO3FwLSZndDtzcnZbdHlwZV0udHhfY2Iob3AsJm5ic3A7cXVldWUsJm5ic3A7b3BfY29v a2llLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtuZXdf dGFpbCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCkmbmJzcDt7PGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3FwLSZndDtzcnZbdHlwZV0uc3Rh dHMuZW5xdWV1ZV9lcnJfY291bnQrKzs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7WlNEQV9MT0coRVJSLCZuYnNwOyZxdW90O0ZhaWxlZCEmbmJzcDtjb25maWcm bmJzcDt3cWUmcXVvdDspOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDticmVhazs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtx cC0mZ3Q7c3J2W3R5cGVdLnN0YXRzLmVucXVldWVkX2NvdW50Kys7PGJyIC8+KzxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7dGFpbCZuYnNwOz0mbmJzcDt6c2RhX21vZHVsb18xNihuZXdf dGFpbCZuYnNwOysmbmJzcDsxLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7cXVldWVfc2l6ZSZuYnNwOy0m bmJzcDsxKTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KG5ld190YWlsJm5i c3A7Jmd0OyZuYnNwO3F1ZXVlLSZndDt0YWlsKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7dmFsaWQmbmJzcDs9PGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3pzZGFf bW9kdWxvXzgocXVldWUtJmd0O3ZhbGlkJm5ic3A7KyZuYnNwOzEsPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyh1aW50 OF90KShxdWV1ZS0mZ3Q7Y3ljbGVfc2l6ZSZuYnNwOy0mbmJzcDsxKSk7PGJyIC8+KzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtxdWV1ZS0mZ3Q7cHVzaGVkX3dxZSsrOzxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDticmVhazs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7fTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDtyZXQ7PGJyIC8+K308YnIgLz4rPGJyIC8+ K3N0YXRpYyZuYnNwO3ZvaWQ8YnIgLz4renNkYV90eF93cml0ZV90YWlsKHN0cnVjdCZuYnNwO3pz ZGFfcXVldWUmbmJzcDsqcXVldWUpPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7aWYmbmJzcDsocXVldWUtJmd0O3B1c2hlZF93cWUpPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1dSSVRFX0NTUl9XUV9UQUlMKHF1ZXVlLSZn dDtpb19hZGRyLCZuYnNwO3F1ZXVlLSZndDtod19xdWV1ZV9udW1iZXIsPGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3F1ZXVlLSZndDt0YWls KTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3F1ZXVlLSZndDtwdXNoZWRf d3FlJm5ic3A7PSZuYnNwOzA7PGJyIC8+K308YnIgLz4rPGJyIC8+K3VpbnQxNl90PGJyIC8+K3pz ZGFfZW5xdWV1ZV9vcF9idXJzdChzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KnFwLCZuYnNwO3Zv aWQmbmJzcDsqKm9wcywmbmJzcDt1aW50MTZfdCZuYnNwO25iX29wcyk8YnIgLz4rezxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7WlNEQV9TVUND RVNTOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtlbnVtJm5ic3A7enNkYV9zZXJ2aWNl X3R5cGUmbmJzcDt0eXBlOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt1aW50MTZfdCZu YnNwO2k7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5ic3A7bmJfc2Vu ZCZuYnNwOz0mbmJzcDswOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt2b2lkJm5ic3A7 Km9wOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsobmJfb3Bz Jm5ic3A7Jmd0OyZuYnNwO1pTREFfTUFYX0RFU0MpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtaU0RBX0xPRyhFUlIsJm5ic3A7JnF1 b3Q7RW5xdWV1ZSZuYnNwO251bWJlciZuYnNwO2JpZ2dlciZuYnNwO3RoYW4mbmJzcDslZCZxdW90 OywmbmJzcDtaU0RBX01BWF9ERVNDKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7MDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7fTxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Zm9yJm5ic3A7 KGkmbmJzcDs9Jm5ic3A7MDsmbmJzcDtpJm5ic3A7Jmx0OyZuYnNwO25iX29wczsmbmJzcDtpKysp Jm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtvcCZuYnNwOz0mbmJzcDtvcHNbaV07PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldCZuYnNwOz0mbmJzcDt6c2RhX2VucXVldWUob3As Jm5ic3A7cXApOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtpZiZuYnNwOyhyZXQmbmJzcDsmbHQ7Jm5ic3A7MCk8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7YnJlYWs7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO25iX3NlbmQrKzs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPis8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Zm9yJm5ic3A7KHR5cGUmbmJzcDs9Jm5ic3A7 MDsmbmJzcDt0eXBlJm5ic3A7Jmx0OyZuYnNwO1pTREFfU0VSVklDRV9JTlZBTElEOyZuYnNwO3R5 cGUrKyk8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7aWYmbmJzcDsocXAtJmd0O3Nydlt0eXBlXS51c2VkKTxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt6 c2RhX3R4X3dyaXRlX3RhaWwoJmFtcDtxcC0mZ3Q7c3J2W3R5cGVdLnR4X3EpOzxiciAvPis8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7bmJfc2VuZDs8YnIgLz4rfTxi ciAvPis8YnIgLz4mbmJzcDtpbnQ8YnIgLz4mbmJzcDt6c2RhX2NvbW1vbl9zZXR1cF9xcCh1aW50 MzJfdCZuYnNwO3pzZGFfZGV2X2lkLCZuYnNwO3N0cnVjdCZuYnNwO3pzZGFfcXAmbmJzcDsqKnFw X2FkZHIsPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Y29uc3QmbmJzcDt1aW50MTZfdCZuYnNwO3F1ZXVlX3BhaXJfaWQsJm5ic3A7Y29u c3QmbmJzcDtzdHJ1Y3QmbmJzcDt6c2RhX3FwX2NvbmZpZyZuYnNwOypjb25mKTxiciAvPmRpZmYm bmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmgmbmJzcDtiL2Ry aXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcC5oPGJyIC8+aW5kZXgmbmJzcDthOWYwZDM4YmE1Li5m OWVmZmYwZTVhJm5ic3A7MTAwNjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJzL2NvbW1vbi96c2Rh L3pzZGFfcXAuaDxiciAvPisrKyZuYnNwO2IvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmg8 YnIgLz5AQCZuYnNwOy0xMzUsNiZuYnNwOysxMzUsOCZuYnNwO0BAJm5ic3A7aW50Jm5ic3A7enNk YV9nZXRfcXVldWVfY2ZnKHN0cnVjdCZuYnNwO3pzZGFfcGNpX2RldmljZSZuYnNwOyp6c2RhX3Bj aV9kZXYpOzxiciAvPiZuYnNwOw08YnIgLz4mbmJzcDtpbnQmbmJzcDt6c2RhX3F1ZXVlX3BhaXJf cmVsZWFzZShzdHJ1Y3QmbmJzcDt6c2RhX3FwJm5ic3A7KipxcF9hZGRyKTs8YnIgLz4mbmJzcDsN PGJyIC8+K3VpbnQxNl90Jm5ic3A7enNkYV9lbnF1ZXVlX29wX2J1cnN0KHN0cnVjdCZuYnNwO3pz ZGFfcXAmbmJzcDsqcXAsJm5ic3A7dm9pZCZuYnNwOyoqb3BzLCZuYnNwO2NvbnN0Jm5ic3A7dWlu dDE2X3QmbmJzcDtuYl9vcHMpOzxiciAvPis8YnIgLz4mbmJzcDtpbnQmbmJzcDt6c2RhX2NvbW1v bl9zZXR1cF9xcCh1aW50MzJfdCZuYnNwO2Rldl9pZCwmbmJzcDtzdHJ1Y3QmbmJzcDt6c2RhX3Fw Jm5ic3A7KipxcF9hZGRyLDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnN0Jm5ic3A7dWlu dDE2X3QmbmJzcDtxdWV1ZV9wYWlyX2lkLDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnN0 Jm5ic3A7c3RydWN0Jm5ic3A7enNkYV9xcF9jb25maWcmbmJzcDsqY29uZik7PGJyIC8+LS0mbmJz cDsNPGJyIC8+Mi4yNy4wPGJyIC8+ --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--