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 CD67945CBD; Sat, 9 Nov 2024 11:23:39 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B29BC402C6; Sat, 9 Nov 2024 11:23:32 +0100 (CET) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.40]) by mails.dpdk.org (Postfix) with ESMTP id A343B4028E for ; Sat, 9 Nov 2024 11:23:30 +0100 (CET) Received: from mse-fl1.zte.com.cn (unknown [10.5.228.132]) (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 4XlsMw27Xwz8QrkZ for ; Sat, 9 Nov 2024 18:23:24 +0800 (CST) Received: from szxlzmapp01.zte.com.cn ([10.5.231.85]) by mse-fl1.zte.com.cn with SMTP id 4A9ANGwK025330 for ; Sat, 9 Nov 2024 18:23:16 +0800 (+08) (envelope-from li.hanxiao@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Sat, 9 Nov 2024 18:23:19 +0800 X-Zmail-TransId: 3e81672f3817005-772cf From: Hanxiao Li To: dev@dpdk.org Cc: Hanxiao Li Subject: [PATCH v19 03/13] common/zsda: add logging macros Date: Sat, 9 Nov 2024 18:16:44 +0800 Message-ID: <20241109101700.3037763-2-li.hanxiao@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20241109101700.3037763-1-li.hanxiao@zte.com.cn> References: <20241109101309.3037607-2-li.hanxiao@zte.com.cn> <20241109101700.3037763-1-li.hanxiao@zte.com.cn> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: multipart/mixed; boundary="=====_001_next=====" X-MAIL: mse-fl1.zte.com.cn 4A9ANGwK025330 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 672F381C.000/4XlsMw27Xwz8QrkZ 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 QWRkIHp4ZGggbG9nZ2luZyBpbXBsZW1lbnRhdGlvbi4NCg0KU2lnbmVkLW9mZi1ieTogSGFueGlh byBMaSA8bGkuaGFueGlhb0B6dGUuY29tLmNuPg0KLS0tDQogZHJpdmVycy9jb21tb24venNkYS9t ZXNvbi5idWlsZCAgIHwgIDEgKw0KIGRyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9kZXZpY2UuYyB8 IDIzICsrKysrKysrKysrKysrKystLS0tLS0tDQogZHJpdmVycy9jb21tb24venNkYS96c2RhX2xv Z3MuYyAgIHwgMTkgKysrKysrKysrKysrKysrKysrKw0KIGRyaXZlcnMvY29tbW9uL3pzZGEvenNk YV9sb2dzLmggICB8IDI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKw0KIDQgZmlsZXMgY2hh bmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgNyBkZWxldGlvbnMoLSkNCiBjcmVhdGUgbW9kZSAxMDA2 NDQgZHJpdmVycy9jb21tb24venNkYS96c2RhX2xvZ3MuYw0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5oDQoNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2Nv bW1vbi96c2RhL21lc29uLmJ1aWxkIGIvZHJpdmVycy9jb21tb24venNkYS9tZXNvbi5idWlsZA0K aW5kZXggNjhiYzU0OWMyNy4uMzQyZDAwMGM2ZCAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvY29tbW9u L3pzZGEvbWVzb24uYnVpbGQNCisrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24uYnVpbGQN CkBAIC0xMCw0ICsxMCw1IEBAIGVuZGlmDQogZGVwcyArPSBbJ2J1c19wY2knLCAnbWJ1ZiddDQog c291cmNlcyArPSBmaWxlcygNCiAJCSd6c2RhX2RldmljZS5jJywNCisJCSd6c2RhX2xvZ3MuYycs DQogCQkpDQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX2RldmljZS5jIGIv ZHJpdmVycy9jb21tb24venNkYS96c2RhX2RldmljZS5jDQppbmRleCA4ZDY5MWIzYmI4Li4xYmUz ZWE4MDE2IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX2RldmljZS5jDQor KysgYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfZGV2aWNlLmMNCkBAIC05LDYgKzksNyBAQA0K ICNpbmNsdWRlIDxydGVfYnVzX3BjaS5oPg0KIA0KICNpbmNsdWRlICJ6c2RhX2RldmljZS5oIg0K KyNpbmNsdWRlICJ6c2RhX2xvZ3MuaCINCiANCiAvKiBwZXItcHJvY2VzcyBhcnJheSBvZiBkZXZp Y2UgZGF0YSAqLw0KIHN0cnVjdCB6c2RhX2RldmljZV9pbmZvIHpzZGFfZGV2c1tSVEVfUE1EX1pT REFfTUFYX1BDSV9ERVZJQ0VTXTsNCkBAIC0zMiw5ICszMywxMCBAQCB6c2RhX3BjaV9nZXRfbmFt ZWRfZGV2KGNvbnN0IGNoYXIgKm5hbWUpDQogew0KIAl1bnNpZ25lZCBpbnQgaTsNCiANCi0JaWYg KG5hbWUgPT0gTlVMTCkNCisJaWYgKG5hbWUgPT0gTlVMTCkgew0KKwkJWlNEQV9MT0coRVJSLCAi RmFpbGVkISBuYW1lIGlzIE5VTEwuIik7DQogCQlyZXR1cm4gTlVMTDsNCi0NCisJfQ0KIAlmb3Ig KGkgPSAwOyBpIDwgUlRFX1BNRF9aU0RBX01BWF9QQ0lfREVWSUNFUzsgaSsrKSB7DQogCQlpZiAo enNkYV9kZXZzW2ldLm16ICYmDQogCQkgICAgKHN0cmNtcCgoKHN0cnVjdCB6c2RhX3BjaV9kZXZp Y2UgKil6c2RhX2RldnNbaV0ubXotPmFkZHIpDQpAQCAtODEsOCArODMsMTAgQEAgenNkYV9wY2lf ZGV2aWNlX2FsbG9jYXRlKHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2RldikNCiAJaWYgKHJ0 ZV9lYWxfcHJvY2Vzc190eXBlKCkgPT0gUlRFX1BST0NfU0VDT05EQVJZKSB7DQogCQljb25zdCBz dHJ1Y3QgcnRlX21lbXpvbmUgKm16ID0gcnRlX21lbXpvbmVfbG9va3VwKG5hbWUpOw0KIA0KLQkJ aWYgKG16ID09IE5VTEwpDQorCQlpZiAobXogPT0gTlVMTCkgew0KKwkJCVpTREFfTE9HKEVSUiwg IlNlY29uZGFyeSBjYW4ndCBmaW5kICVzIG16IiwgbmFtZSk7DQogCQkJcmV0dXJuIE5VTEw7DQor CQl9DQogCQl6c2RhX3BjaV9kZXYgPSBtei0+YWRkcjsNCiAJCXpzZGFfZGV2c1t6c2RhX3BjaV9k ZXYtPnpzZGFfZGV2X2lkXS5teiA9IG16Ow0KIAkJenNkYV9kZXZzW3pzZGFfcGNpX2Rldi0+enNk YV9kZXZfaWRdLnBjaV9kZXYgPSBwY2lfZGV2Ow0KQEAgLTkwLDggKzk0LDEwIEBAIHpzZGFfcGNp X2RldmljZV9hbGxvY2F0ZShzdHJ1Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYpDQogCQlyZXR1 cm4genNkYV9wY2lfZGV2Ow0KIAl9DQogDQotCWlmICh6c2RhX3BjaV9nZXRfbmFtZWRfZGV2KG5h bWUpICE9IE5VTEwpDQorCWlmICh6c2RhX3BjaV9nZXRfbmFtZWRfZGV2KG5hbWUpICE9IE5VTEwp IHsNCisJCVpTREFfTE9HKEVSUiwgIkZhaWxlZCEgY29uZmlnIik7DQogCQlyZXR1cm4gTlVMTDsN CisJfQ0KIA0KIAl6c2RhX2Rldl9pZCA9IHpzZGFfcGNpX2ZpbmRfZnJlZV9kZXZpY2VfaW5kZXgo KTsNCiANCkBAIC0xMDIsOSArMTA4LDEwIEBAIHpzZGFfcGNpX2RldmljZV9hbGxvY2F0ZShzdHJ1 Y3QgcnRlX3BjaV9kZXZpY2UgKnBjaV9kZXYpDQogCQlydGVfbWVtem9uZV9yZXNlcnZlKG5hbWUs IHNpemVvZihzdHJ1Y3QgenNkYV9wY2lfZGV2aWNlKSwNCiAJCQkJICAgIChpbnQpKHNvY2tldF9p ZCAmIDB4ZmZmKSwgMCk7DQogDQotCWlmICh6c2RhX2RldnNbenNkYV9kZXZfaWRdLm16ID09IE5V TEwpDQorCWlmICh6c2RhX2RldnNbenNkYV9kZXZfaWRdLm16ID09IE5VTEwpIHsNCisJCVpTREFf TE9HKEVSUiwgIkZhaWxlZCEgbWFsbG9jIik7DQogCQlyZXR1cm4gTlVMTDsNCi0NCisJfQ0KIAl6 c2RhX3BjaV9kZXYgPSB6c2RhX2RldnNbenNkYV9kZXZfaWRdLm16LT5hZGRyOw0KIAltZW1zZXQo enNkYV9wY2lfZGV2LCAwLCBzaXplb2YoKnpzZGFfcGNpX2RldikpOw0KIAltZW1jcHkoenNkYV9w Y2lfZGV2LT5uYW1lLCBuYW1lLCBaU0RBX0RFVl9OQU1FX01BWF9MRU4pOw0KQEAgLTE1OCw4ICsx NjUsMTAgQEAgenNkYV9wY2lfcHJvYmUoc3RydWN0IHJ0ZV9wY2lfZHJpdmVyICpwY2lfZHJ2IF9f cnRlX3VudXNlZCwNCiAJc3RydWN0IHpzZGFfcGNpX2RldmljZSAqenNkYV9wY2lfZGV2Ow0KIA0K IAl6c2RhX3BjaV9kZXYgPSB6c2RhX3BjaV9kZXZpY2VfYWxsb2NhdGUocGNpX2Rldik7DQotCWlm ICh6c2RhX3BjaV9kZXYgPT0gTlVMTCkNCisJaWYgKHpzZGFfcGNpX2RldiA9PSBOVUxMKSB7DQor CQlaU0RBX0xPRyhFUlIsICJGYWlsZWQhIHpzZGFfcGNpX2RldiBpcyBOVUxMIik7DQogCQlyZXR1 cm4gLUVOT0RFVjsNCisJfQ0KIA0KIAlyZXR1cm4gcmV0Ow0KIH0NCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5jIGIvZHJpdmVycy9jb21tb24venNkYS96c2RhX2xv Z3MuYw0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4IDAwMDAwMDAwMDAuLmY3NmQ5ZDlkMGQN Ci0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9sb2dzLmMNCkBA IC0wLDAgKzEsMTkgQEANCisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNl DQorICogQ29weXJpZ2h0KGMpIDIwMjQgWlRFIENvcnBvcmF0aW9uDQorICovDQorDQorI2luY2x1 ZGUgPHJ0ZV9oZXhkdW1wLmg+DQorDQorI2luY2x1ZGUgInpzZGFfbG9ncy5oIg0KKw0KK2ludA0K K3pzZGFfaGV4ZHVtcF9sb2codWludDMyX3QgbGV2ZWwsIHVpbnQzMl90IGxvZ3R5cGUsIGNvbnN0 IGNoYXIgKnRpdGxlLA0KKwkJY29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBpbnQgbGVuKQ0KK3sN CisJaWYgKHJ0ZV9sb2dfY2FuX2xvZyhsb2d0eXBlLCBsZXZlbCkpDQorCQlydGVfaGV4ZHVtcChy dGVfbG9nX2dldF9zdHJlYW0oKSwgdGl0bGUsIGJ1ZiwgbGVuKTsNCisNCisJcmV0dXJuIDA7DQor fQ0KKw0KK1JURV9MT0dfUkVHSVNURVJfU1VGRklYKHpzZGFfbG9ndHlwZV9nZW4sIGdlbiwgTk9U SUNFKTsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5oIGIvZHJp dmVycy9jb21tb24venNkYS96c2RhX2xvZ3MuaA0KbmV3IGZpbGUgbW9kZSAxMDA2NDQNCmluZGV4 IDAwMDAwMDAwMDAuLjlkNzcyNTQ3NzMNCi0tLSAvZGV2L251bGwNCisrKyBiL2RyaXZlcnMvY29t bW9uL3pzZGEvenNkYV9sb2dzLmgNCkBAIC0wLDAgKzEsMjcgQEANCisvKiBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQorICogQ29weXJpZ2h0KGMpIDIwMjQgWlRFIENvcnBv cmF0aW9uDQorICovDQorDQorI2lmbmRlZiBfWlNEQV9MT0dTX0hfDQorI2RlZmluZSBfWlNEQV9M T0dTX0hfDQorDQorI2luY2x1ZGUgPHJ0ZV9sb2cuaD4NCisNCitleHRlcm4gaW50IHpzZGFfbG9n dHlwZV9nZW47DQorI2RlZmluZSBSVEVfTE9HVFlQRV9aU0RBX0dFTiB6c2RhX2xvZ3R5cGVfZ2Vu DQorDQorI2RlZmluZSBaU0RBX0xPRyhsZXZlbCwgLi4uKSAgICAgICAgICAgICBcDQorCVJURV9M T0dfTElORV9QUkVGSVgobGV2ZWwsIFpTREFfR0VOLCAiJXMoKTogIiwgXA0KKwkJX19mdW5jX18s IF9fVkFfQVJHU19fKQ0KKw0KKy8qKg0KKyAqIHpzZGFfaGV4ZHVtcF9sb2cgLSBEdW1wIG91dCBt ZW1vcnkgaW4gYSBzcGVjaWFsIGhleCBkdW1wIGZvcm1hdC4NCisgKg0KKyAqIER1bXAgb3V0IHRo ZSBtZXNzYWdlIGJ1ZmZlciBpbiBhIHNwZWNpYWwgaGV4IGR1bXAgb3V0cHV0IGZvcm1hdCB3aXRo DQorICogY2hhcmFjdGVycyBwcmludGVkIGZvciBlYWNoIGxpbmUgb2YgMTYgaGV4IHZhbHVlcy4g VGhlIG1lc3NhZ2Ugd2lsbCBiZSBzZW50DQorICogdG8gdGhlIHN0cmVhbSB1c2VkIGJ5IHRoZSBy dGVfbG9nIGluZnJhc3RydWN0dXJlLg0KKyAqLw0KK2ludCB6c2RhX2hleGR1bXBfbG9nKHVpbnQz Ml90IGxldmVsLCB1aW50MzJfdCBsb2d0eXBlLCBjb25zdCBjaGFyICp0aXRsZSwNCisJCSAgICAg Y29uc3Qgdm9pZCAqYnVmLCB1bnNpZ25lZCBpbnQgbGVuKTsNCisNCisjZW5kaWYgLyogX1pTREFf TE9HU19IXyAqLw0KLS0gDQoyLjI3LjA= --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 QWRkJm5ic3A7enhkaCZuYnNwO2xvZ2dpbmcmbmJzcDtpbXBsZW1lbnRhdGlvbi48YnIgLz4NPGJy IC8+U2lnbmVkLW9mZi1ieTombmJzcDtIYW54aWFvJm5ic3A7TGkmbmJzcDsmbHQ7bGkuaGFueGlh b0B6dGUuY29tLmNuJmd0Ow08YnIgLz4tLS08YnIgLz4mbmJzcDtkcml2ZXJzL2NvbW1vbi96c2Rh L21lc29uLmJ1aWxkJm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNwOyZuYnNwOzEmbmJzcDsrPGJyIC8+ Jm5ic3A7ZHJpdmVycy9jb21tb24venNkYS96c2RhX2RldmljZS5jJm5ic3A7fCZuYnNwOzIzJm5i c3A7KysrKysrKysrKysrKysrKy0tLS0tLS08YnIgLz4mbmJzcDtkcml2ZXJzL2NvbW1vbi96c2Rh L3pzZGFfbG9ncy5jJm5ic3A7Jm5ic3A7Jm5ic3A7fCZuYnNwOzE5Jm5ic3A7KysrKysrKysrKysr KysrKysrKzxiciAvPiZuYnNwO2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9sb2dzLmgmbmJzcDsm bmJzcDsmbmJzcDt8Jm5ic3A7MjcmbmJzcDsrKysrKysrKysrKysrKysrKysrKysrKysrKys8YnIg Lz4mbmJzcDs0Jm5ic3A7ZmlsZXMmbmJzcDtjaGFuZ2VkLCZuYnNwOzYzJm5ic3A7aW5zZXJ0aW9u cygrKSwmbmJzcDs3Jm5ic3A7ZGVsZXRpb25zKC0pPGJyIC8+Jm5ic3A7Y3JlYXRlJm5ic3A7bW9k ZSZuYnNwOzEwMDY0NCZuYnNwO2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9sb2dzLmM8YnIgLz4m bmJzcDtjcmVhdGUmbmJzcDttb2RlJm5ic3A7MTAwNjQ0Jm5ic3A7ZHJpdmVycy9jb21tb24venNk YS96c2RhX2xvZ3MuaDxiciAvPg08YnIgLz5kaWZmJm5ic3A7LS1naXQmbmJzcDthL2RyaXZlcnMv Y29tbW9uL3pzZGEvbWVzb24uYnVpbGQmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24u YnVpbGQ8YnIgLz5pbmRleCZuYnNwOzY4YmM1NDljMjcuLjM0MmQwMDBjNmQmbmJzcDsxMDA2NDQ8 YnIgLz4tLS0mbmJzcDthL2RyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24uYnVpbGQ8YnIgLz4rKysm bmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24uYnVpbGQ8YnIgLz5AQCZuYnNwOy0xMCw0 Jm5ic3A7KzEwLDUmbmJzcDtAQCZuYnNwO2VuZGlmPGJyIC8+Jm5ic3A7ZGVwcyZuYnNwOys9Jm5i c3A7WyZhcG9zO2J1c19wY2kmYXBvczssJm5ic3A7JmFwb3M7bWJ1ZiZhcG9zO108YnIgLz4mbmJz cDtzb3VyY2VzJm5ic3A7Kz0mbmJzcDtmaWxlcyg8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmYXBvczt6c2RhX2RldmljZS5jJmFwb3M7 LDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm YXBvczt6c2RhX2xvZ3MuYyZhcG9zOyw8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDspPGJyIC8+ZGlmZiZuYnNwOy0tZ2l0Jm5ic3A7YS9k cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfZGV2aWNlLmMmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pz ZGEvenNkYV9kZXZpY2UuYzxiciAvPmluZGV4Jm5ic3A7OGQ2OTFiM2JiOC4uMWJlM2VhODAxNiZu YnNwOzEwMDY0NDxiciAvPi0tLSZuYnNwO2EvZHJpdmVycy9jb21tb24venNkYS96c2RhX2Rldmlj ZS5jPGJyIC8+KysrJm5ic3A7Yi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfZGV2aWNlLmM8YnIg Lz5AQCZuYnNwOy05LDYmbmJzcDsrOSw3Jm5ic3A7QEA8YnIgLz4mbmJzcDsjaW5jbHVkZSZuYnNw OyZsdDtydGVfYnVzX3BjaS5oJmd0Ow08YnIgLz4mbmJzcDsNPGJyIC8+Jm5ic3A7I2luY2x1ZGUm bmJzcDsmcXVvdDt6c2RhX2RldmljZS5oJnF1b3Q7DTxiciAvPisjaW5jbHVkZSZuYnNwOyZxdW90 O3pzZGFfbG9ncy5oJnF1b3Q7DTxiciAvPiZuYnNwOw08YnIgLz4mbmJzcDsvKiZuYnNwO3Blci1w cm9jZXNzJm5ic3A7YXJyYXkmbmJzcDtvZiZuYnNwO2RldmljZSZuYnNwO2RhdGEmbmJzcDsqLzxi ciAvPiZuYnNwO3N0cnVjdCZuYnNwO3pzZGFfZGV2aWNlX2luZm8mbmJzcDt6c2RhX2RldnNbUlRF X1BNRF9aU0RBX01BWF9QQ0lfREVWSUNFU107PGJyIC8+QEAmbmJzcDstMzIsOSZuYnNwOyszMywx MCZuYnNwO0BAJm5ic3A7enNkYV9wY2lfZ2V0X25hbWVkX2Rldihjb25zdCZuYnNwO2NoYXImbmJz cDsqbmFtZSk8YnIgLz4mbmJzcDt7PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 dW5zaWduZWQmbmJzcDtpbnQmbmJzcDtpOzxiciAvPiZuYnNwOw08YnIgLz4tJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7aWYmbmJzcDsobmFtZSZuYnNwOz09Jm5ic3A7TlVMTCk8YnIgLz4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsobmFtZSZuYnNwOz09Jm5ic3A7TlVMTCkmbmJzcDt7 PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1pT REFfTE9HKEVSUiwmbmJzcDsmcXVvdDtGYWlsZWQhJm5ic3A7bmFtZSZuYnNwO2lzJm5ic3A7TlVM TC4mcXVvdDspOzxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO05VTEw7PGJyIC8+LTxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDt9PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Zm9yJm5ic3A7 KGkmbmJzcDs9Jm5ic3A7MDsmbmJzcDtpJm5ic3A7Jmx0OyZuYnNwO1JURV9QTURfWlNEQV9NQVhf UENJX0RFVklDRVM7Jm5ic3A7aSsrKSZuYnNwO3s8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyh6c2RhX2RldnNbaV0ubXom bmJzcDsmYW1wOyZhbXA7DTxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyhzdHJjbXAoKChzdHJ1 Y3QmbmJzcDt6c2RhX3BjaV9kZXZpY2UmbmJzcDsqKXpzZGFfZGV2c1tpXS5tei0mZ3Q7YWRkcik8 YnIgLz5AQCZuYnNwOy04MSw4Jm5ic3A7KzgzLDEwJm5ic3A7QEAmbmJzcDt6c2RhX3BjaV9kZXZp Y2VfYWxsb2NhdGUoc3RydWN0Jm5ic3A7cnRlX3BjaV9kZXZpY2UmbmJzcDsqcGNpX2Rldik8YnIg Lz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhydGVfZWFsX3Byb2Nlc3Nf dHlwZSgpJm5ic3A7PT0mbmJzcDtSVEVfUFJPQ19TRUNPTkRBUlkpJm5ic3A7ezxiciAvPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnN0Jm5i c3A7c3RydWN0Jm5ic3A7cnRlX21lbXpvbmUmbmJzcDsqbXombmJzcDs9Jm5ic3A7cnRlX21lbXpv bmVfbG9va3VwKG5hbWUpOzxiciAvPiZuYnNwOw08YnIgLz4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsobXombmJzcDs9PSZuYnNwO05VTEwp PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lm Jm5ic3A7KG16Jm5ic3A7PT0mbmJzcDtOVUxMKSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 WlNEQV9MT0coRVJSLCZuYnNwOyZxdW90O1NlY29uZGFyeSZuYnNwO2NhbiZhcG9zO3QmbmJzcDtm aW5kJm5ic3A7JXMmbmJzcDtteiZxdW90OywmbmJzcDtuYW1lKTs8YnIgLz4mbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtyZXR1cm4mbmJzcDtOVUxMOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enNkYV9wY2lfZGV2Jm5ic3A7PSZuYnNwO216LSZn dDthZGRyOzxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO3pzZGFfZGV2c1t6c2RhX3BjaV9kZXYtJmd0O3pzZGFfZGV2X2lkXS5teiZuYnNw Oz0mbmJzcDttejs8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDt6c2RhX2RldnNbenNkYV9wY2lfZGV2LSZndDt6c2RhX2Rldl9pZF0ucGNp X2RldiZuYnNwOz0mbmJzcDtwY2lfZGV2OzxiciAvPkBAJm5ic3A7LTkwLDgmbmJzcDsrOTQsMTAm bmJzcDtAQCZuYnNwO3pzZGFfcGNpX2RldmljZV9hbGxvY2F0ZShzdHJ1Y3QmbmJzcDtydGVfcGNp X2RldmljZSZuYnNwOypwY2lfZGV2KTxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3pzZGFfcGNpX2Rldjs8YnIgLz4m bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+Jm5ic3A7DTxiciAvPi0mbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyh6c2RhX3BjaV9nZXRfbmFtZWRfZGV2KG5hbWUpJm5i c3A7IT0mbmJzcDtOVUxMKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyh6 c2RhX3BjaV9nZXRfbmFtZWRfZGV2KG5hbWUpJm5ic3A7IT0mbmJzcDtOVUxMKSZuYnNwO3s8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7WlNEQV9M T0coRVJSLCZuYnNwOyZxdW90O0ZhaWxlZCEmbmJzcDtjb25maWcmcXVvdDspOzxiciAvPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZu YnNwO05VTEw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4mbmJzcDsNPGJy IC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7enNkYV9kZXZfaWQmbmJzcDs9Jm5ic3A7 enNkYV9wY2lfZmluZF9mcmVlX2RldmljZV9pbmRleCgpOzxiciAvPiZuYnNwOw08YnIgLz5AQCZu YnNwOy0xMDIsOSZuYnNwOysxMDgsMTAmbmJzcDtAQCZuYnNwO3pzZGFfcGNpX2RldmljZV9hbGxv Y2F0ZShzdHJ1Y3QmbmJzcDtydGVfcGNpX2RldmljZSZuYnNwOypwY2lfZGV2KTxiciAvPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3J0ZV9tZW16 b25lX3Jlc2VydmUobmFtZSwmbmJzcDtzaXplb2Yoc3RydWN0Jm5ic3A7enNkYV9wY2lfZGV2aWNl KSw8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsoaW50KShzb2NrZXRfaWQmbmJzcDsmYW1wOyZuYnNwOzB4ZmZm KSwmbmJzcDswKTs8YnIgLz4mbmJzcDsNPGJyIC8+LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lm Jm5ic3A7KHpzZGFfZGV2c1t6c2RhX2Rldl9pZF0ubXombmJzcDs9PSZuYnNwO05VTEwpPGJyIC8+ KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHpzZGFfZGV2c1t6c2RhX2Rldl9pZF0u bXombmJzcDs9PSZuYnNwO05VTEwpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtaU0RBX0xPRyhFUlIsJm5ic3A7JnF1b3Q7RmFpbGVk ISZuYnNwO21hbGxvYyZxdW90Oyk7PGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7TlVMTDs8YnIgLz4tPGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDt6c2RhX3BjaV9kZXYmbmJzcDs9Jm5ic3A7enNkYV9kZXZzW3pzZGFfZGV2X2lkXS5tei0mZ3Q7 YWRkcjs8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDttZW1zZXQoenNkYV9wY2lf ZGV2LCZuYnNwOzAsJm5ic3A7c2l6ZW9mKCp6c2RhX3BjaV9kZXYpKTs8YnIgLz4mbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDttZW1jcHkoenNkYV9wY2lfZGV2LSZndDtuYW1lLCZuYnNwO25h bWUsJm5ic3A7WlNEQV9ERVZfTkFNRV9NQVhfTEVOKTs8YnIgLz5AQCZuYnNwOy0xNTgsOCZuYnNw OysxNjUsMTAmbmJzcDtAQCZuYnNwO3pzZGFfcGNpX3Byb2JlKHN0cnVjdCZuYnNwO3J0ZV9wY2lf ZHJpdmVyJm5ic3A7KnBjaV9kcnYmbmJzcDtfX3J0ZV91bnVzZWQsPGJyIC8+Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enNkYV9wY2lfZGV2aWNlJm5ic3A7KnpzZGFf cGNpX2Rldjs8YnIgLz4mbmJzcDsNPGJyIC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 enNkYV9wY2lfZGV2Jm5ic3A7PSZuYnNwO3pzZGFfcGNpX2RldmljZV9hbGxvY2F0ZShwY2lfZGV2 KTs8YnIgLz4tJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsoenNkYV9wY2lfZGV2Jm5i c3A7PT0mbmJzcDtOVUxMKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyh6 c2RhX3BjaV9kZXYmbmJzcDs9PSZuYnNwO05VTEwpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtaU0RBX0xPRyhFUlIsJm5ic3A7JnF1 b3Q7RmFpbGVkISZuYnNwO3pzZGFfcGNpX2RldiZuYnNwO2lzJm5ic3A7TlVMTCZxdW90Oyk7PGJy IC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 cmV0dXJuJm5ic3A7LUVOT0RFVjs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAv PiZuYnNwOw08YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDty ZXQ7PGJyIC8+Jm5ic3A7fTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9jb21t b24venNkYS96c2RhX2xvZ3MuYyZuYnNwO2IvZHJpdmVycy9jb21tb24venNkYS96c2RhX2xvZ3Mu YzxiciAvPm5ldyZuYnNwO2ZpbGUmbmJzcDttb2RlJm5ic3A7MTAwNjQ0PGJyIC8+aW5kZXgmbmJz cDswMDAwMDAwMDAwLi5mNzZkOWQ5ZDBkPGJyIC8+LS0tJm5ic3A7L2Rldi9udWxsPGJyIC8+Kysr Jm5ic3A7Yi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5jPGJyIC8+QEAmbmJzcDstMCww Jm5ic3A7KzEsMTkmbmJzcDtAQDxiciAvPisvKiZuYnNwO1NQRFgtTGljZW5zZS1JZGVudGlmaWVy OiZuYnNwO0JTRC0zLUNsYXVzZTxiciAvPismbmJzcDsqJm5ic3A7Q29weXJpZ2h0KGMpJm5ic3A7 MjAyNCZuYnNwO1pURSZuYnNwO0NvcnBvcmF0aW9uPGJyIC8+KyZuYnNwOyovPGJyIC8+KzxiciAv PisjaW5jbHVkZSZuYnNwOyZsdDtydGVfaGV4ZHVtcC5oJmd0Ow08YnIgLz4rPGJyIC8+KyNpbmNs dWRlJm5ic3A7JnF1b3Q7enNkYV9sb2dzLmgmcXVvdDsNPGJyIC8+KzxiciAvPitpbnQ8YnIgLz4r enNkYV9oZXhkdW1wX2xvZyh1aW50MzJfdCZuYnNwO2xldmVsLCZuYnNwO3VpbnQzMl90Jm5ic3A7 bG9ndHlwZSwmbmJzcDtjb25zdCZuYnNwO2NoYXImbmJzcDsqdGl0bGUsPGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NvbnN0Jm5ic3A7dm9pZCZu YnNwOypidWYsJm5ic3A7dW5zaWduZWQmbmJzcDtpbnQmbmJzcDtsZW4pPGJyIC8+K3s8YnIgLz4r Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocnRlX2xvZ19jYW5fbG9nKGxvZ3R5cGUs Jm5ic3A7bGV2ZWwpKTxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtydGVfaGV4ZHVtcChydGVfbG9nX2dldF9zdHJlYW0oKSwmbmJzcDt0aXRsZSwm bmJzcDtidWYsJm5ic3A7bGVuKTs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3JldHVybiZuYnNwOzA7PGJyIC8+K308YnIgLz4rPGJyIC8+K1JURV9MT0dfUkVHSVNURVJfU1VG RklYKHpzZGFfbG9ndHlwZV9nZW4sJm5ic3A7Z2VuLCZuYnNwO05PVElDRSk7PGJyIC8+ZGlmZiZu YnNwOy0tZ2l0Jm5ic3A7YS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5oJm5ic3A7Yi9k cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfbG9ncy5oPGJyIC8+bmV3Jm5ic3A7ZmlsZSZuYnNwO21v ZGUmbmJzcDsxMDA2NDQ8YnIgLz5pbmRleCZuYnNwOzAwMDAwMDAwMDAuLjlkNzcyNTQ3NzM8YnIg Lz4tLS0mbmJzcDsvZGV2L251bGw8YnIgLz4rKysmbmJzcDtiL2RyaXZlcnMvY29tbW9uL3pzZGEv enNkYV9sb2dzLmg8YnIgLz5AQCZuYnNwOy0wLDAmbmJzcDsrMSwyNyZuYnNwO0BAPGJyIC8+Ky8q Jm5ic3A7U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6Jm5ic3A7QlNELTMtQ2xhdXNlPGJyIC8+KyZu YnNwOyombmJzcDtDb3B5cmlnaHQoYykmbmJzcDsyMDI0Jm5ic3A7WlRFJm5ic3A7Q29ycG9yYXRp b248YnIgLz4rJm5ic3A7Ki88YnIgLz4rPGJyIC8+KyNpZm5kZWYmbmJzcDtfWlNEQV9MT0dTX0hf PGJyIC8+KyNkZWZpbmUmbmJzcDtfWlNEQV9MT0dTX0hfPGJyIC8+KzxiciAvPisjaW5jbHVkZSZu YnNwOyZsdDtydGVfbG9nLmgmZ3Q7DTxiciAvPis8YnIgLz4rZXh0ZXJuJm5ic3A7aW50Jm5ic3A7 enNkYV9sb2d0eXBlX2dlbjs8YnIgLz4rI2RlZmluZSZuYnNwO1JURV9MT0dUWVBFX1pTREFfR0VO Jm5ic3A7enNkYV9sb2d0eXBlX2dlbjxiciAvPis8YnIgLz4rI2RlZmluZSZuYnNwO1pTREFfTE9H KGxldmVsLCZuYnNwOy4uLikmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtcPGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO1JURV9MT0dfTElORV9QUkVGSVgobGV2ZWwsJm5ic3A7WlNEQV9HRU4sJm5i c3A7JnF1b3Q7JXMoKTombmJzcDsmcXVvdDssJm5ic3A7XDxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtfX2Z1bmNfXywmbmJzcDtfX1ZBX0FSR1Nf Xyk8YnIgLz4rPGJyIC8+Ky8qKjxiciAvPismbmJzcDsqJm5ic3A7enNkYV9oZXhkdW1wX2xvZyZu YnNwOy0mbmJzcDtEdW1wJm5ic3A7b3V0Jm5ic3A7bWVtb3J5Jm5ic3A7aW4mbmJzcDthJm5ic3A7 c3BlY2lhbCZuYnNwO2hleCZuYnNwO2R1bXAmbmJzcDtmb3JtYXQuPGJyIC8+KyZuYnNwOyo8YnIg Lz4rJm5ic3A7KiZuYnNwO0R1bXAmbmJzcDtvdXQmbmJzcDt0aGUmbmJzcDttZXNzYWdlJm5ic3A7 YnVmZmVyJm5ic3A7aW4mbmJzcDthJm5ic3A7c3BlY2lhbCZuYnNwO2hleCZuYnNwO2R1bXAmbmJz cDtvdXRwdXQmbmJzcDtmb3JtYXQmbmJzcDt3aXRoPGJyIC8+KyZuYnNwOyombmJzcDtjaGFyYWN0 ZXJzJm5ic3A7cHJpbnRlZCZuYnNwO2ZvciZuYnNwO2VhY2gmbmJzcDtsaW5lJm5ic3A7b2YmbmJz cDsxNiZuYnNwO2hleCZuYnNwO3ZhbHVlcy4mbmJzcDtUaGUmbmJzcDttZXNzYWdlJm5ic3A7d2ls bCZuYnNwO2JlJm5ic3A7c2VudDxiciAvPismbmJzcDsqJm5ic3A7dG8mbmJzcDt0aGUmbmJzcDtz dHJlYW0mbmJzcDt1c2VkJm5ic3A7YnkmbmJzcDt0aGUmbmJzcDtydGVfbG9nJm5ic3A7aW5mcmFz dHJ1Y3R1cmUuPGJyIC8+KyZuYnNwOyovPGJyIC8+K2ludCZuYnNwO3pzZGFfaGV4ZHVtcF9sb2co dWludDMyX3QmbmJzcDtsZXZlbCwmbmJzcDt1aW50MzJfdCZuYnNwO2xvZ3R5cGUsJm5ic3A7Y29u c3QmbmJzcDtjaGFyJm5ic3A7KnRpdGxlLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjb25z dCZuYnNwO3ZvaWQmbmJzcDsqYnVmLCZuYnNwO3Vuc2lnbmVkJm5ic3A7aW50Jm5ic3A7bGVuKTs8 YnIgLz4rPGJyIC8+KyNlbmRpZiZuYnNwOy8qJm5ic3A7X1pTREFfTE9HU19IXyZuYnNwOyovPGJy IC8+LS0mbmJzcDsNPGJyIC8+Mi4yNy4wPGJyIC8+ --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--