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 7B8BB45D03; Thu, 14 Nov 2024 10:27:23 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E7CC942E6B; Thu, 14 Nov 2024 10:27:19 +0100 (CET) Received: from mxct.zte.com.cn (mxct.zte.com.cn [183.62.165.209]) by mails.dpdk.org (Postfix) with ESMTP id AD9C542E4D for ; Thu, 14 Nov 2024 10:27:16 +0100 (CET) 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 mxct.zte.com.cn (FangMail) with ESMTPS id 4Xpvtk3LSwz50FXd; Thu, 14 Nov 2024 17:27:10 +0800 (CST) Received: from szxlzmapp06.zte.com.cn ([10.5.230.252]) by mse-fl2.zte.com.cn with SMTP id 4AE9Qn5K031750; Thu, 14 Nov 2024 17:26:49 +0800 (+08) (envelope-from zhang.yong25@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Thu, 14 Nov 2024 17:26:52 +0800 X-Zmail-TransId: 3e816735c25b005-c83c9 From: Yong Zhang To: thomas@monjalon.net, stephen@networkplumber.org, dev@dpdk.org Cc: zhang.yong25@zte.com.cn, wang.yong19@zte.com.cn, li.min10@zte.com.cn, ran.ming@zte.com.cn Subject: [v5,3/5] raw/gdtc: add support for standard rawdev operations Date: Thu, 14 Nov 2024 17:20:12 +0800 Message-ID: <20241114092047.3514280-5-zhang.yong25@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241114092047.3514280-1-zhang.yong25@zte.com.cn> References: <20241029134609.2499338-1-zhang.yong25@zte.com.cn> <20241114092047.3514280-1-zhang.yong25@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 4AE9Qn5K031750 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 6735C26E.001/4Xpvtk3LSwz50FXd 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 QWRkIHN1cHBvcnQgZm9yIHJhd2RldiBvcGVyYXRpb25zIHN1Y2ggYXMgZGV2X3N0YXJ0IGFuZCBk ZXZfc3RvcC4NCg0KU2lnbmVkLW9mZi1ieTogWW9uZyBaaGFuZyA8emhhbmcueW9uZzI1QHp0ZS5j b20uY24+DQotLS0NCiBkcml2ZXJzL3Jhdy9nZHRjL2dkdGNfcmF3ZGV2LmMgfCAxMzYgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystDQogZHJpdmVycy9yYXcvZ2R0Yy9nZHRjX3Jhd2Rl di5oIHwgIDEwICsrKw0KIDIgZmlsZXMgY2hhbmdlZCwgMTQ1IGluc2VydGlvbnMoKyksIDEgZGVs ZXRpb24oLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmF3L2dkdGMvZ2R0Y19yYXdkZXYuYyBi L2RyaXZlcnMvcmF3L2dkdGMvZ2R0Y19yYXdkZXYuYw0KaW5kZXggYzNlNTlmY2RhYi4uODUxMmJk ODQxMyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvcmF3L2dkdGMvZ2R0Y19yYXdkZXYuYw0KKysrIGIv ZHJpdmVycy9yYXcvZ2R0Yy9nZHRjX3Jhd2Rldi5jDQpAQCAtOTYsNiArOTYsOTYgQEAgenhkaF9n ZG1hX3dyaXRlX3JlZyhzdHJ1Y3QgcnRlX3Jhd2RldiAqZGV2LCB1aW50MTZfdCBxdWV1ZV9pZCwg dWludDMyX3Qgb2Zmc2V0LA0KIAkqKHVpbnQzMl90ICopKGdkbWFkZXYtPmJhc2VfYWRkciArIGFk ZHIpID0gdmFsOw0KIH0NCiANCitzdGF0aWMgaW50DQorenhkaF9nZG1hX3Jhd2Rldl9pbmZvX2dl dChzdHJ1Y3QgcnRlX3Jhd2RldiAqZGV2LA0KKwkJCQlfX3J0ZV91bnVzZWQgcnRlX3Jhd2Rldl9v YmpfdCBkZXZfaW5mbywNCisJCQkJX19ydGVfdW51c2VkIHNpemVfdCBkZXZfaW5mb19zaXplKQ0K K3sNCisJaWYgKGRldiA9PSBOVUxMKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorDQorCXJldHVybiAw Ow0KK30NCisNCitzdGF0aWMgaW50DQorenhkaF9nZG1hX3Jhd2Rldl9jb25maWd1cmUoY29uc3Qg c3RydWN0IHJ0ZV9yYXdkZXYgKmRldiwNCisJCQkJcnRlX3Jhd2Rldl9vYmpfdCBjb25maWcsDQor CQkJCXNpemVfdCBjb25maWdfc2l6ZSkNCit7DQorCXN0cnVjdCB6eGRoX2dkbWFfY29uZmlnICpn ZG1hX2NvbmZpZyA9IE5VTEw7DQorDQorCWlmICgoZGV2ID09IE5VTEwpIHx8DQorCQkoY29uZmln ID09IE5VTEwpIHx8DQorCQkoY29uZmlnX3NpemUgIT0gc2l6ZW9mKHN0cnVjdCB6eGRoX2dkbWFf Y29uZmlnKSkpDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCisJZ2RtYV9jb25maWcgPSAoc3RydWN0 IHp4ZGhfZ2RtYV9jb25maWcgKiljb25maWc7DQorCWlmIChnZG1hX2NvbmZpZy0+bWF4X3ZxcyA+ IFpYREhfR0RNQV9UT1RBTF9DSEFOX05VTSkgew0KKwkJWlhESF9QTURfTE9HKEVSUiwgImdkbWEg c3VwcG9ydHMgdXAgdG8gJWQgcXVldWVzIiwgWlhESF9HRE1BX1RPVEFMX0NIQU5fTlVNKTsNCisJ CXJldHVybiAtRUlOVkFMOw0KKwl9DQorDQorCXJldHVybiAwOw0KK30NCisNCitzdGF0aWMgaW50 DQorenhkaF9nZG1hX3Jhd2Rldl9zdGFydChzdHJ1Y3QgcnRlX3Jhd2RldiAqZGV2KQ0KK3sNCisJ c3RydWN0IHp4ZGhfZ2RtYV9yYXdkZXYgKmdkbWFkZXYgPSBOVUxMOw0KKw0KKwlpZiAoZGV2ID09 IE5VTEwpDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCisJZ2RtYWRldiA9IHp4ZGhfZ2RtYV9yYXdk ZXZfZ2V0X3ByaXYoZGV2KTsNCisJZ2RtYWRldi0+ZGV2aWNlX3N0YXRlID0gWlhESF9HRE1BX0RF Vl9SVU5OSU5HOw0KKw0KKwlyZXR1cm4gMDsNCit9DQorDQorc3RhdGljIHZvaWQNCit6eGRoX2dk bWFfcmF3ZGV2X3N0b3Aoc3RydWN0IHJ0ZV9yYXdkZXYgKmRldikNCit7DQorCXN0cnVjdCB6eGRo X2dkbWFfcmF3ZGV2ICpnZG1hZGV2ID0gTlVMTDsNCisNCisJaWYgKGRldiA9PSBOVUxMKQ0KKwkJ cmV0dXJuOw0KKw0KKwlnZG1hZGV2ID0genhkaF9nZG1hX3Jhd2Rldl9nZXRfcHJpdihkZXYpOw0K KwlnZG1hZGV2LT5kZXZpY2Vfc3RhdGUgPSBaWERIX0dETUFfREVWX1NUT1BQRUQ7DQorfQ0KKw0K K3N0YXRpYyBpbnQNCit6eGRoX2dkbWFfcmF3ZGV2X3Jlc2V0KHN0cnVjdCBydGVfcmF3ZGV2ICpk ZXYpDQorew0KKwlpZiAoZGV2ID09IE5VTEwpDQorCQlyZXR1cm4gLUVJTlZBTDsNCisNCisJcmV0 dXJuIDA7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCit6eGRoX2dkbWFfcmF3ZGV2X2Nsb3NlKHN0cnVj dCBydGVfcmF3ZGV2ICpkZXYpDQorew0KKwlzdHJ1Y3QgenhkaF9nZG1hX3Jhd2RldiAqZ2RtYWRl diA9IE5VTEw7DQorCXN0cnVjdCB6eGRoX2dkbWFfcXVldWUgKnF1ZXVlID0gTlVMTDsNCisJdWlu dDE2X3QgcXVldWVfaWQgPSAwOw0KKw0KKwlpZiAoZGV2ID09IE5VTEwpDQorCQlyZXR1cm4gLUVJ TlZBTDsNCisNCisJZm9yIChxdWV1ZV9pZCA9IDA7IHF1ZXVlX2lkIDwgWlhESF9HRE1BX1RPVEFM X0NIQU5fTlVNOyBxdWV1ZV9pZCsrKSB7DQorCQlxdWV1ZSA9IHp4ZGhfZ2RtYV9nZXRfcXVldWUo ZGV2LCBxdWV1ZV9pZCk7DQorCQlpZiAoKHF1ZXVlID09IE5VTEwpIHx8IChxdWV1ZS0+ZW5hYmxl ID09IDApKQ0KKwkJCWNvbnRpbnVlOw0KKw0KKwkJenhkaF9nZG1hX3F1ZXVlX2ZyZWUoZGV2LCBx dWV1ZV9pZCk7DQorCX0NCisJZ2RtYWRldiA9IHp4ZGhfZ2RtYV9yYXdkZXZfZ2V0X3ByaXYoZGV2 KTsNCisJZ2RtYWRldi0+ZGV2aWNlX3N0YXRlID0gWlhESF9HRE1BX0RFVl9TVE9QUEVEOw0KKw0K KwlyZXR1cm4gMDsNCit9DQorDQogc3RhdGljIGludA0KIHp4ZGhfZ2RtYV9yYXdkZXZfcXVldWVf c2V0dXAoc3RydWN0IHJ0ZV9yYXdkZXYgKmRldiwNCiAJCQkJdWludDE2X3QgcXVldWVfaWQsDQpA QCAtMTc3LDggKzI2Nyw1MiBAQCB6eGRoX2dkbWFfcmF3ZGV2X3F1ZXVlX3NldHVwKHN0cnVjdCBy dGVfcmF3ZGV2ICpkZXYsDQogCXJldHVybiBxdWV1ZV9pZDsNCiB9DQogDQorc3RhdGljIGludA0K K3p4ZGhfZ2RtYV9yYXdkZXZfcXVldWVfcmVsZWFzZShzdHJ1Y3QgcnRlX3Jhd2RldiAqZGV2LCB1 aW50MTZfdCBxdWV1ZV9pZCkNCit7DQorCXN0cnVjdCB6eGRoX2dkbWFfcXVldWUgKnF1ZXVlID0g TlVMTDsNCisNCisJaWYgKGRldiA9PSBOVUxMKQ0KKwkJcmV0dXJuIC1FSU5WQUw7DQorDQorCXF1 ZXVlID0genhkaF9nZG1hX2dldF9xdWV1ZShkZXYsIHF1ZXVlX2lkKTsNCisJaWYgKChxdWV1ZSA9 PSBOVUxMKSB8fCAocXVldWUtPmVuYWJsZSA9PSAwKSkNCisJCXJldHVybiAtRUlOVkFMOw0KKw0K Kwl6eGRoX2dkbWFfcXVldWVfZnJlZShkZXYsIHF1ZXVlX2lkKTsNCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK3N0YXRpYyBpbnQNCit6eGRoX2dkbWFfcmF3ZGV2X2dldF9hdHRyKHN0cnVjdCBydGVf cmF3ZGV2ICpkZXYsDQorCQkJCV9fcnRlX3VudXNlZCBjb25zdCBjaGFyICphdHRyX25hbWUsDQor CQkJCXVpbnQ2NF90ICphdHRyX3ZhbHVlKQ0KK3sNCisJc3RydWN0IHp4ZGhfZ2RtYV9yYXdkZXYg KmdkbWFkZXYgPSBOVUxMOw0KKwlzdHJ1Y3QgenhkaF9nZG1hX2F0dHIgKmdkbWFfYXR0ciA9IE5V TEw7DQorDQorCWlmICgoZGV2ID09IE5VTEwpIHx8IChhdHRyX3ZhbHVlID09IE5VTEwpKQ0KKwkJ cmV0dXJuIC1FSU5WQUw7DQorDQorCWdkbWFkZXYgICA9IHp4ZGhfZ2RtYV9yYXdkZXZfZ2V0X3By aXYoZGV2KTsNCisJZ2RtYV9hdHRyID0gKHN0cnVjdCB6eGRoX2dkbWFfYXR0ciAqKWF0dHJfdmFs dWU7DQorCWdkbWFfYXR0ci0+bnVtX2h3X3F1ZXVlcyA9IGdkbWFkZXYtPnVzZWRfbnVtOw0KKw0K KwlyZXR1cm4gMDsNCit9DQogc3RhdGljIGNvbnN0IHN0cnVjdCBydGVfcmF3ZGV2X29wcyB6eGRo X2dkbWFfcmF3ZGV2X29wcyA9IHsNCisJLmRldl9pbmZvX2dldCA9IHp4ZGhfZ2RtYV9yYXdkZXZf aW5mb19nZXQsDQorCS5kZXZfY29uZmlndXJlID0genhkaF9nZG1hX3Jhd2Rldl9jb25maWd1cmUs DQorCS5kZXZfc3RhcnQgPSB6eGRoX2dkbWFfcmF3ZGV2X3N0YXJ0LA0KKwkuZGV2X3N0b3AgPSB6 eGRoX2dkbWFfcmF3ZGV2X3N0b3AsDQorCS5kZXZfY2xvc2UgPSB6eGRoX2dkbWFfcmF3ZGV2X2Ns b3NlLA0KKwkuZGV2X3Jlc2V0ID0genhkaF9nZG1hX3Jhd2Rldl9yZXNldCwNCisNCiAJLnF1ZXVl X3NldHVwID0genhkaF9nZG1hX3Jhd2Rldl9xdWV1ZV9zZXR1cCwNCisJLnF1ZXVlX3JlbGVhc2Ug PSB6eGRoX2dkbWFfcmF3ZGV2X3F1ZXVlX3JlbGVhc2UsDQorDQorCS5hdHRyX2dldCA9IHp4ZGhf Z2RtYV9yYXdkZXZfZ2V0X2F0dHIsDQogfTsNCiANCiBzdGF0aWMgaW50DQpAQCAtMjM3LDcgKzM3 MSw3IEBAIHp4ZGhfZ2RtYV9xdWV1ZV9pbml0KHN0cnVjdCBydGVfcmF3ZGV2ICpkZXYsIHVpbnQx Nl90IHF1ZXVlX2lkKQ0KIAlaWERIX1BNRF9MT0coSU5GTywgInF1ZXVlJXUgcmluZyBwaHkgYWRk cjoweCUiUFJJeDY0IiB2aXJ0IGFkZHI6JXAiLA0KIAkJCQkJCXF1ZXVlX2lkLCBtei0+aW92YSwg bXotPmFkZHIpOw0KIA0KLQkvKiBJbml0aWFsaXplIHRoZSBoYXJkd2FyZSBjaGFubmVsICovDQor CS8qIENvbmZpZ3VyZSB0aGUgaGFyZHdhcmUgY2hhbm5lbCB0byB0aGUgaW5pdGlhbCBzdGF0ZSAq Lw0KIAl6eGRoX2dkbWFfd3JpdGVfcmVnKGRldiwgcXVldWVfaWQsIFpYREhfR0RNQV9DT05UUk9M X09GRlNFVCwNCiAJCVpYREhfR0RNQV9DSEFOX0ZPUkNFX0NMT1NFKTsNCiAJenhkaF9nZG1hX3dy aXRlX3JlZyhkZXYsIHF1ZXVlX2lkLCBaWERIX0dETUFfVENfQ05UX09GRlNFVCwNCmRpZmYgLS1n aXQgYS9kcml2ZXJzL3Jhdy9nZHRjL2dkdGNfcmF3ZGV2LmggYi9kcml2ZXJzL3Jhdy9nZHRjL2dk dGNfcmF3ZGV2LmgNCmluZGV4IDI5YjE2OWQwNzkuLjkyYjM1ZmNmMTQgMTAwNjQ0DQotLS0gYS9k cml2ZXJzL3Jhdy9nZHRjL2dkdGNfcmF3ZGV2LmgNCisrKyBiL2RyaXZlcnMvcmF3L2dkdGMvZ2R0 Y19yYXdkZXYuaA0KQEAgLTEwMCw2ICsxMDAsMTIgQEAgc3RydWN0IHp4ZGhfZ2RtYV9yYXdkZXYg ew0KIAlzdHJ1Y3QgenhkaF9nZG1hX3F1ZXVlIHZxc1taWERIX0dETUFfVE9UQUxfQ0hBTl9OVU1d Ow0KIH07DQogDQorc3RydWN0IHp4ZGhfZ2RtYV9jb25maWcgew0KKwl1aW50MTZfdCBtYXhfaHdf cXVldWVzX3Blcl9jb3JlOw0KKwl1aW50MTZfdCBtYXhfdnFzOw0KKwlpbnQgcXVldWVfcG9vbF9j bnQ7DQorfTsNCisNCiBzdHJ1Y3QgenhkaF9nZG1hX3JicCB7DQogCXVpbnQzMl90IHVzZV91bHRy YXNob3J0OjE7DQogCXVpbnQzMl90IGVuYWJsZToxOw0KQEAgLTExOSw0ICsxMjUsOCBAQCBzdHJ1 Y3QgenhkaF9nZG1hX3F1ZXVlX2NvbmZpZyB7DQogCXN0cnVjdCB6eGRoX2dkbWFfcmJwICpyYnA7 DQogfTsNCiANCitzdHJ1Y3QgenhkaF9nZG1hX2F0dHIgew0KKwl1aW50MTZfdCBudW1faHdfcXVl dWVzOw0KK307DQorDQogI2VuZGlmIC8qIF9fR0RUQ19SQVdERVZfSF9fICovDQotLSANCjIuNDMu MA== --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkJm5ic3A7c3VwcG9ydCZuYnNwO2ZvciZuYnNwO3Jhd2RldiZuYnNwO29wZXJhdGlvbnMmbmJz cDtzdWNoJm5ic3A7YXMmbmJzcDtkZXZfc3RhcnQmbmJzcDthbmQmbmJzcDtkZXZfc3RvcC48YnIg Lz4NPGJyIC8+U2lnbmVkLW9mZi1ieTombmJzcDtZb25nJm5ic3A7WmhhbmcmbmJzcDsmbHQ7emhh bmcueW9uZzI1QHp0ZS5jb20uY24mZ3Q7DTxiciAvPi0tLTxiciAvPiZuYnNwO2RyaXZlcnMvcmF3 L2dkdGMvZ2R0Y19yYXdkZXYuYyZuYnNwO3wmbmJzcDsxMzYmbmJzcDsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy08YnIgLz4mbmJzcDtkcml2ZXJzL3Jhdy9nZHRjL2dkdGNfcmF3ZGV2 LmgmbmJzcDt8Jm5ic3A7Jm5ic3A7MTAmbmJzcDsrKys8YnIgLz4mbmJzcDsyJm5ic3A7ZmlsZXMm bmJzcDtjaGFuZ2VkLCZuYnNwOzE0NSZuYnNwO2luc2VydGlvbnMoKyksJm5ic3A7MSZuYnNwO2Rl bGV0aW9uKC0pPGJyIC8+DTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9yYXcv Z2R0Yy9nZHRjX3Jhd2Rldi5jJm5ic3A7Yi9kcml2ZXJzL3Jhdy9nZHRjL2dkdGNfcmF3ZGV2LmM8 YnIgLz5pbmRleCZuYnNwO2MzZTU5ZmNkYWIuLjg1MTJiZDg0MTMmbmJzcDsxMDA2NDQ8YnIgLz4t LS0mbmJzcDthL2RyaXZlcnMvcmF3L2dkdGMvZ2R0Y19yYXdkZXYuYzxiciAvPisrKyZuYnNwO2Iv ZHJpdmVycy9yYXcvZ2R0Yy9nZHRjX3Jhd2Rldi5jPGJyIC8+QEAmbmJzcDstOTYsNiZuYnNwOys5 Niw5NiZuYnNwO0BAJm5ic3A7enhkaF9nZG1hX3dyaXRlX3JlZyhzdHJ1Y3QmbmJzcDtydGVfcmF3 ZGV2Jm5ic3A7KmRldiwmbmJzcDt1aW50MTZfdCZuYnNwO3F1ZXVlX2lkLCZuYnNwO3VpbnQzMl90 Jm5ic3A7b2Zmc2V0LDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyoodWludDMy X3QmbmJzcDsqKShnZG1hZGV2LSZndDtiYXNlX2FkZHImbmJzcDsrJm5ic3A7YWRkcikmbmJzcDs9 Jm5ic3A7dmFsOzxiciAvPiZuYnNwO308YnIgLz4mbmJzcDsNPGJyIC8+K3N0YXRpYyZuYnNwO2lu dDxiciAvPit6eGRoX2dkbWFfcmF3ZGV2X2luZm9fZ2V0KHN0cnVjdCZuYnNwO3J0ZV9yYXdkZXYm bmJzcDsqZGV2LDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtf X3J0ZV91bnVzZWQmbmJzcDtydGVfcmF3ZGV2X29ial90Jm5ic3A7ZGV2X2luZm8sPGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO19fcnRlX3VudXNlZCZuYnNwO3Np emVfdCZuYnNwO2Rldl9pbmZvX3NpemUpPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7aWYmbmJzcDsoZGV2Jm5ic3A7PT0mbmJzcDtOVUxMKTxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDstRUlOVkFMOzxi ciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7MDs8YnIgLz4r fTxiciAvPis8YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3p4ZGhfZ2RtYV9yYXdkZXZfY29u ZmlndXJlKGNvbnN0Jm5ic3A7c3RydWN0Jm5ic3A7cnRlX3Jhd2RldiZuYnNwOypkZXYsPGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3J0ZV9yYXdkZXZfb2JqX3Qm bmJzcDtjb25maWcsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3NpemVfdCZuYnNwO2NvbmZpZ19zaXplKTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhfZ2RtYV9jb25maWcmbmJzcDsqZ2RtYV9jb25maWcmbmJz cDs9Jm5ic3A7TlVMTDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5i c3A7KChkZXYmbmJzcDs9PSZuYnNwO05VTEwpJm5ic3A7fHw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KGNvbmZpZyZuYnNwOz09Jm5ic3A7TlVM TCkmbmJzcDt8fDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsoY29uZmlnX3NpemUmbmJzcDshPSZuYnNwO3NpemVvZihzdHJ1Y3QmbmJzcDt6eGRo X2dkbWFfY29uZmlnKSkpPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOy1FSU5WQUw7PGJyIC8+KzxiciAvPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtnZG1hX2NvbmZpZyZuYnNwOz0mbmJzcDsoc3RydWN0Jm5ic3A7enhkaF9n ZG1hX2NvbmZpZyZuYnNwOyopY29uZmlnOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtp ZiZuYnNwOyhnZG1hX2NvbmZpZy0mZ3Q7bWF4X3ZxcyZuYnNwOyZndDsmbmJzcDtaWERIX0dETUFf VE9UQUxfQ0hBTl9OVU0pJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDtaWERIX1BNRF9MT0coRVJSLCZuYnNwOyZxdW90O2dkbWEmbmJz cDtzdXBwb3J0cyZuYnNwO3VwJm5ic3A7dG8mbmJzcDslZCZuYnNwO3F1ZXVlcyZxdW90OywmbmJz cDtaWERIX0dETUFfVE9UQUxfQ0hBTl9OVU0pOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDstRUlOVkFMOzxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDtyZXR1cm4mbmJzcDswOzxiciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIg Lz4renhkaF9nZG1hX3Jhd2Rldl9zdGFydChzdHJ1Y3QmbmJzcDtydGVfcmF3ZGV2Jm5ic3A7KmRl dik8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzdHJ1Y3QmbmJzcDt6eGRo X2dkbWFfcmF3ZGV2Jm5ic3A7KmdkbWFkZXYmbmJzcDs9Jm5ic3A7TlVMTDs8YnIgLz4rPGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KGRldiZuYnNwOz09Jm5ic3A7TlVMTCk8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0 dXJuJm5ic3A7LUVJTlZBTDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2dk bWFkZXYmbmJzcDs9Jm5ic3A7enhkaF9nZG1hX3Jhd2Rldl9nZXRfcHJpdihkZXYpOzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtnZG1hZGV2LSZndDtkZXZpY2Vfc3RhdGUmbmJzcDs9Jm5i c3A7WlhESF9HRE1BX0RFVl9SVU5OSU5HOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7cmV0dXJuJm5ic3A7MDs8YnIgLz4rfTxiciAvPis8YnIgLz4rc3RhdGljJm5ic3A7dm9p ZDxiciAvPit6eGRoX2dkbWFfcmF3ZGV2X3N0b3Aoc3RydWN0Jm5ic3A7cnRlX3Jhd2RldiZuYnNw OypkZXYpPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7 enhkaF9nZG1hX3Jhd2RldiZuYnNwOypnZG1hZGV2Jm5ic3A7PSZuYnNwO05VTEw7PGJyIC8+Kzxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhkZXYmbmJzcDs9PSZuYnNwO05V TEwpPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3JldHVybjs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2dkbWFkZXYmbmJz cDs9Jm5ic3A7enhkaF9nZG1hX3Jhd2Rldl9nZXRfcHJpdihkZXYpOzxiciAvPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtnZG1hZGV2LSZndDtkZXZpY2Vfc3RhdGUmbmJzcDs9Jm5ic3A7WlhESF9H RE1BX0RFVl9TVE9QUEVEOzxiciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIg Lz4renhkaF9nZG1hX3Jhd2Rldl9yZXNldChzdHJ1Y3QmbmJzcDtydGVfcmF3ZGV2Jm5ic3A7KmRl dik8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhkZXYmbmJz cDs9PSZuYnNwO05VTEwpPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOy1FSU5WQUw7PGJyIC8+KzxiciAvPismbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDswOzxiciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMm bmJzcDtpbnQ8YnIgLz4renhkaF9nZG1hX3Jhd2Rldl9jbG9zZShzdHJ1Y3QmbmJzcDtydGVfcmF3 ZGV2Jm5ic3A7KmRldik8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzdHJ1 Y3QmbmJzcDt6eGRoX2dkbWFfcmF3ZGV2Jm5ic3A7KmdkbWFkZXYmbmJzcDs9Jm5ic3A7TlVMTDs8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9nZG1hX3F1ZXVl Jm5ic3A7KnF1ZXVlJm5ic3A7PSZuYnNwO05VTEw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO3VpbnQxNl90Jm5ic3A7cXVldWVfaWQmbmJzcDs9Jm5ic3A7MDs8YnIgLz4rPGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KGRldiZuYnNwOz09Jm5ic3A7TlVMTCk8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJu Jm5ic3A7LUVJTlZBTDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ZvciZu YnNwOyhxdWV1ZV9pZCZuYnNwOz0mbmJzcDswOyZuYnNwO3F1ZXVlX2lkJm5ic3A7Jmx0OyZuYnNw O1pYREhfR0RNQV9UT1RBTF9DSEFOX05VTTsmbmJzcDtxdWV1ZV9pZCsrKSZuYnNwO3s8YnIgLz4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cXVldWUmbmJz cDs9Jm5ic3A7enhkaF9nZG1hX2dldF9xdWV1ZShkZXYsJm5ic3A7cXVldWVfaWQpOzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOygo cXVldWUmbmJzcDs9PSZuYnNwO05VTEwpJm5ic3A7fHwmbmJzcDsocXVldWUtJmd0O2VuYWJsZSZu YnNwOz09Jm5ic3A7MCkpPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnRpbnVlOzxiciAvPis8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enhkaF9n ZG1hX3F1ZXVlX2ZyZWUoZGV2LCZuYnNwO3F1ZXVlX2lkKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7fTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtnZG1hZGV2Jm5ic3A7PSZu YnNwO3p4ZGhfZ2RtYV9yYXdkZXZfZ2V0X3ByaXYoZGV2KTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Z2RtYWRldi0mZ3Q7ZGV2aWNlX3N0YXRlJm5ic3A7PSZuYnNwO1pYREhfR0RNQV9E RVZfU1RPUFBFRDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZu YnNwOzA7PGJyIC8+K308YnIgLz4rPGJyIC8+Jm5ic3A7c3RhdGljJm5ic3A7aW50PGJyIC8+Jm5i c3A7enhkaF9nZG1hX3Jhd2Rldl9xdWV1ZV9zZXR1cChzdHJ1Y3QmbmJzcDtydGVfcmF3ZGV2Jm5i c3A7KmRldiw8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDt1aW50MTZfdCZuYnNwO3F1ZXVlX2lkLDxiciAvPkBAJm5ic3A7LTE3Nyw4Jm5ic3A7KzI2Nyw1 MiZuYnNwO0BAJm5ic3A7enhkaF9nZG1hX3Jhd2Rldl9xdWV1ZV9zZXR1cChzdHJ1Y3QmbmJzcDty dGVfcmF3ZGV2Jm5ic3A7KmRldiw8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDty ZXR1cm4mbmJzcDtxdWV1ZV9pZDs8YnIgLz4mbmJzcDt9PGJyIC8+Jm5ic3A7DTxiciAvPitzdGF0 aWMmbmJzcDtpbnQ8YnIgLz4renhkaF9nZG1hX3Jhd2Rldl9xdWV1ZV9yZWxlYXNlKHN0cnVjdCZu YnNwO3J0ZV9yYXdkZXYmbmJzcDsqZGV2LCZuYnNwO3VpbnQxNl90Jm5ic3A7cXVldWVfaWQpPGJy IC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9nZG1h X3F1ZXVlJm5ic3A7KnF1ZXVlJm5ic3A7PSZuYnNwO05VTEw7PGJyIC8+KzxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhkZXYmbmJzcDs9PSZuYnNwO05VTEwpPGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNw Oy1FSU5WQUw7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtxdWV1ZSZuYnNw Oz0mbmJzcDt6eGRoX2dkbWFfZ2V0X3F1ZXVlKGRldiwmbmJzcDtxdWV1ZV9pZCk7PGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KChxdWV1ZSZuYnNwOz09Jm5ic3A7TlVMTCkm bmJzcDt8fCZuYnNwOyhxdWV1ZS0mZ3Q7ZW5hYmxlJm5ic3A7PT0mbmJzcDswKSk8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7 LUVJTlZBTDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3p4ZGhfZ2RtYV9x dWV1ZV9mcmVlKGRldiwmbmJzcDtxdWV1ZV9pZCk7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtyZXR1cm4mbmJzcDswOzxiciAvPit9PGJyIC8+KzxiciAvPitzdGF0aWMmbmJz cDtpbnQ8YnIgLz4renhkaF9nZG1hX3Jhd2Rldl9nZXRfYXR0cihzdHJ1Y3QmbmJzcDtydGVfcmF3 ZGV2Jm5ic3A7KmRldiw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7X19ydGVfdW51c2VkJm5ic3A7Y29uc3QmbmJzcDtjaGFyJm5ic3A7KmF0dHJfbmFtZSw8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dWludDY0X3QmbmJzcDsq YXR0cl92YWx1ZSk8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzdHJ1Y3Qm bmJzcDt6eGRoX2dkbWFfcmF3ZGV2Jm5ic3A7KmdkbWFkZXYmbmJzcDs9Jm5ic3A7TlVMTDs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9nZG1hX2F0dHImbmJz cDsqZ2RtYV9hdHRyJm5ic3A7PSZuYnNwO05VTEw7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtpZiZuYnNwOygoZGV2Jm5ic3A7PT0mbmJzcDtOVUxMKSZuYnNwO3x8Jm5ic3A7 KGF0dHJfdmFsdWUmbmJzcDs9PSZuYnNwO05VTEwpKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDstRUlOVkFMOzxiciAvPis8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Z2RtYWRldiZuYnNwOyZuYnNwOyZuYnNwOz0m bmJzcDt6eGRoX2dkbWFfcmF3ZGV2X2dldF9wcml2KGRldik7PGJyIC8+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO2dkbWFfYXR0ciZuYnNwOz0mbmJzcDsoc3RydWN0Jm5ic3A7enhkaF9nZG1hX2F0 dHImbmJzcDsqKWF0dHJfdmFsdWU7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2dkbWFf YXR0ci0mZ3Q7bnVtX2h3X3F1ZXVlcyZuYnNwOz0mbmJzcDtnZG1hZGV2LSZndDt1c2VkX251bTs8 YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwOzA7PGJyIC8+ K308YnIgLz4mbmJzcDtzdGF0aWMmbmJzcDtjb25zdCZuYnNwO3N0cnVjdCZuYnNwO3J0ZV9yYXdk ZXZfb3BzJm5ic3A7enhkaF9nZG1hX3Jhd2Rldl9vcHMmbmJzcDs9Jm5ic3A7ezxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsuZGV2X2luZm9fZ2V0Jm5ic3A7PSZuYnNwO3p4ZGhfZ2RtYV9y YXdkZXZfaW5mb19nZXQsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy5kZXZfY29uZmln dXJlJm5ic3A7PSZuYnNwO3p4ZGhfZ2RtYV9yYXdkZXZfY29uZmlndXJlLDxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsuZGV2X3N0YXJ0Jm5ic3A7PSZuYnNwO3p4ZGhfZ2RtYV9yYXdkZXZf c3RhcnQsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy5kZXZfc3RvcCZuYnNwOz0mbmJz cDt6eGRoX2dkbWFfcmF3ZGV2X3N0b3AsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy5k ZXZfY2xvc2UmbmJzcDs9Jm5ic3A7enhkaF9nZG1hX3Jhd2Rldl9jbG9zZSw8YnIgLz4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7LmRldl9yZXNldCZuYnNwOz0mbmJzcDt6eGRoX2dkbWFfcmF3ZGV2 X3Jlc2V0LDxiciAvPis8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsucXVldWVf c2V0dXAmbmJzcDs9Jm5ic3A7enhkaF9nZG1hX3Jhd2Rldl9xdWV1ZV9zZXR1cCw8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LnF1ZXVlX3JlbGVhc2UmbmJzcDs9Jm5ic3A7enhkaF9nZG1h X3Jhd2Rldl9xdWV1ZV9yZWxlYXNlLDxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7LmF0dHJfZ2V0Jm5ic3A7PSZuYnNwO3p4ZGhfZ2RtYV9yYXdkZXZfZ2V0X2F0dHIsPGJyIC8+ Jm5ic3A7fTs8YnIgLz4mbmJzcDsNPGJyIC8+Jm5ic3A7c3RhdGljJm5ic3A7aW50PGJyIC8+QEAm bmJzcDstMjM3LDcmbmJzcDsrMzcxLDcmbmJzcDtAQCZuYnNwO3p4ZGhfZ2RtYV9xdWV1ZV9pbml0 KHN0cnVjdCZuYnNwO3J0ZV9yYXdkZXYmbmJzcDsqZGV2LCZuYnNwO3VpbnQxNl90Jm5ic3A7cXVl dWVfaWQpPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7WlhESF9QTURfTE9HKElO Rk8sJm5ic3A7JnF1b3Q7cXVldWUldSZuYnNwO3JpbmcmbmJzcDtwaHkmbmJzcDthZGRyOjB4JSZx dW90O1BSSXg2NCZxdW90OyZuYnNwO3ZpcnQmbmJzcDthZGRyOiVwJnF1b3Q7LDxiciAvPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3F1ZXVlX2lkLCZuYnNwO216LSZndDtpb3Zh LCZuYnNwO216LSZndDthZGRyKTs8YnIgLz4mbmJzcDsNPGJyIC8+LSZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOy8qJm5ic3A7SW5pdGlhbGl6ZSZuYnNwO3RoZSZuYnNwO2hhcmR3YXJlJm5ic3A7Y2hh bm5lbCZuYnNwOyovPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy8qJm5ic3A7Q29uZmln dXJlJm5ic3A7dGhlJm5ic3A7aGFyZHdhcmUmbmJzcDtjaGFubmVsJm5ic3A7dG8mbmJzcDt0aGUm bmJzcDtpbml0aWFsJm5ic3A7c3RhdGUmbmJzcDsqLzxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO3p4ZGhfZ2RtYV93cml0ZV9yZWcoZGV2LCZuYnNwO3F1ZXVlX2lkLCZuYnNwO1pY REhfR0RNQV9DT05UUk9MX09GRlNFVCw8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtaWERIX0dETUFfQ0hBTl9GT1JDRV9DTE9TRSk7PGJy IC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enhkaF9nZG1hX3dyaXRlX3JlZyhkZXYs Jm5ic3A7cXVldWVfaWQsJm5ic3A7WlhESF9HRE1BX1RDX0NOVF9PRkZTRVQsPGJyIC8+ZGlmZiZu YnNwOy0tZ2l0Jm5ic3A7YS9kcml2ZXJzL3Jhdy9nZHRjL2dkdGNfcmF3ZGV2LmgmbmJzcDtiL2Ry aXZlcnMvcmF3L2dkdGMvZ2R0Y19yYXdkZXYuaDxiciAvPmluZGV4Jm5ic3A7MjliMTY5ZDA3OS4u OTJiMzVmY2YxNCZuYnNwOzEwMDY0NDxiciAvPi0tLSZuYnNwO2EvZHJpdmVycy9yYXcvZ2R0Yy9n ZHRjX3Jhd2Rldi5oPGJyIC8+KysrJm5ic3A7Yi9kcml2ZXJzL3Jhdy9nZHRjL2dkdGNfcmF3ZGV2 Lmg8YnIgLz5AQCZuYnNwOy0xMDAsNiZuYnNwOysxMDAsMTImbmJzcDtAQCZuYnNwO3N0cnVjdCZu YnNwO3p4ZGhfZ2RtYV9yYXdkZXYmbmJzcDt7PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9nZG1hX3F1ZXVlJm5ic3A7dnFzW1pYREhfR0RNQV9UT1RB TF9DSEFOX05VTV07PGJyIC8+Jm5ic3A7fTs8YnIgLz4mbmJzcDsNPGJyIC8+K3N0cnVjdCZuYnNw O3p4ZGhfZ2RtYV9jb25maWcmbmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Vp bnQxNl90Jm5ic3A7bWF4X2h3X3F1ZXVlc19wZXJfY29yZTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7dWludDE2X3QmbmJzcDttYXhfdnFzOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtpbnQmbmJzcDtxdWV1ZV9wb29sX2NudDs8YnIgLz4rfTs8YnIgLz4rPGJyIC8+Jm5ic3A7 c3RydWN0Jm5ic3A7enhkaF9nZG1hX3JicCZuYnNwO3s8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDt1aW50MzJfdCZuYnNwO3VzZV91bHRyYXNob3J0OjE7PGJyIC8+Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7dWludDMyX3QmbmJzcDtlbmFibGU6MTs8YnIgLz5AQCZuYnNw Oy0xMTksNCZuYnNwOysxMjUsOCZuYnNwO0BAJm5ic3A7c3RydWN0Jm5ic3A7enhkaF9nZG1hX3F1 ZXVlX2NvbmZpZyZuYnNwO3s8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzdHJ1 Y3QmbmJzcDt6eGRoX2dkbWFfcmJwJm5ic3A7KnJicDs8YnIgLz4mbmJzcDt9OzxiciAvPiZuYnNw Ow08YnIgLz4rc3RydWN0Jm5ic3A7enhkaF9nZG1hX2F0dHImbmJzcDt7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3VpbnQxNl90Jm5ic3A7bnVtX2h3X3F1ZXVlczs8YnIgLz4rfTs8YnIg Lz4rPGJyIC8+Jm5ic3A7I2VuZGlmJm5ic3A7LyombmJzcDtfX0dEVENfUkFXREVWX0hfXyZuYnNw OyovPGJyIC8+LS0mbmJzcDsNPGJyIC8+Mi40My4wPGJyIC8+ --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--