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 76F694620D; Thu, 13 Feb 2025 07:55:25 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8B90142EED; Thu, 13 Feb 2025 07:54:35 +0100 (CET) Received: from mxhk.zte.com.cn (mxhk.zte.com.cn [63.216.63.35]) by mails.dpdk.org (Postfix) with ESMTP id 039C742EA1 for ; Thu, 13 Feb 2025 07:54:29 +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 mxhk.zte.com.cn (FangMail) with ESMTPS id 4YtmBY0KDqz5B1Gq; Thu, 13 Feb 2025 14:54:29 +0800 (CST) Received: from szxl2zmapp05.zte.com.cn ([10.1.32.37]) by mse-fl2.zte.com.cn with SMTP id 51D6s6ml065517; Thu, 13 Feb 2025 14:54:06 +0800 (+08) (envelope-from wang.junlong1@zte.com.cn) Received: from localhost.localdomain (unknown [192.168.6.15]) by smtp (Zmail) with SMTP; Thu, 13 Feb 2025 14:54:08 +0800 X-Zmail-TransId: 3e8167ad9710004-67e67 From: Junlong Wang To: stephen@networkplumber.org Cc: dev@dpdk.org, Junlong Wang Subject: [PATCH v1 09/16] net/zxdh: optimize rss hash config/update, reta update/get Date: Thu, 13 Feb 2025 14:41:25 +0800 Message-ID: <20250213064134.88166-10-wang.junlong1@zte.com.cn> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250213064134.88166-1-wang.junlong1@zte.com.cn> References: <20250121034433.3033681-2-wang.junlong1@zte.com.cn> <20250213064134.88166-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 51D6s6ml065517 X-Fangmail-Anti-Spam-Filtered: true X-Fangmail-MID-QID: 67AD9725.000/4YtmBY0KDqz5B1Gq 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 b3B0aW1pemUgcnNzIGhhc2ggY29uZmlnL3VwZGF0ZSxyZXRhIHVwZGF0ZS9nZXQuDQoNClNpZ25l ZC1vZmYtYnk6IEp1bmxvbmcgV2FuZyA8d2FuZy5qdW5sb25nMUB6dGUuY29tLmNuPg0KLS0tDQog ZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYyB8ICAgMSAtDQogZHJpdmVycy9uZXQv enhkaC96eGRoX21zZy5jICAgICAgICB8IDEyOSArKysrKysrKysrKysrKysrKysrKysrKysrKysr Kw0KIDIgZmlsZXMgY2hhbmdlZCwgMTI5IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkNCg0K ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9ldGhkZXZfb3BzLmMgYi9kcml2ZXJz L25ldC96eGRoL3p4ZGhfZXRoZGV2X29wcy5jDQppbmRleCBmZGFlMGE0ZWY2Li4xNGQ0NWYzN2I1 IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYw0KKysrIGIv ZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYw0KQEAgLTExNDQsNyArMTE0NCw2IEBA IHp4ZGhfcnNzX2hhc2hfY29uZl9nZXQoc3RydWN0IHJ0ZV9ldGhfZGV2ICpkZXYsIHN0cnVjdCBy dGVfZXRoX3Jzc19jb25mICpyc3NfY29uDQogCQl9DQogCQlyZXBseV9tc2cucmVwbHlfYm9keS5y c3NfaGYucnNzX2hmID0gcG9ydF9hdHRyLnJzc19oYXNoX2ZhY3RvcjsNCiAJfSBlbHNlIHsNCi0J CXp4ZGhfbXNnX2hlYWRfYnVpbGQoaHcsIFpYREhfUlNTX0hGX1NFVCwgJm1zZyk7DQogCQlyZXQg PSB6eGRoX3ZmX3NlbmRfbXNnX3RvX3BmKGRldiwgJm1zZywgc2l6ZW9mKHN0cnVjdCB6eGRoX21z Z19pbmZvKSwNCiAJCQkJJnJlcGx5X21zZywgc2l6ZW9mKHN0cnVjdCB6eGRoX21zZ19yZXBseV9p bmZvKSk7DQogCQlpZiAocmV0KSB7DQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvenhkaC96eGRo X21zZy5jIGIvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jDQppbmRleCBkYmUwYTgyM2JjLi45 OTA4YzQ5MTJlIDEwMDY0NA0KLS0tIGEvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jDQorKysg Yi9kcml2ZXJzL25ldC96eGRoL3p4ZGhfbXNnLmMNCkBAIC0xNTI0LDYgKzE1MjQsMTMwIEBAIHp4 ZGhfdmZfc2V0X3ZsYW5fb2ZmbG9hZChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0 LCB2b2lkICpjZmdfZGF0YSwNCiAJcmV0dXJuIHJldDsNCiB9DQogDQorc3RhdGljIGludA0KK3p4 ZGhfdmZfcnNzX2hmX2dldChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90IHZwb3J0LCB2b2lk ICpjZmdfZGF0YSBfX3J0ZV91bnVzZWQsDQorCQkJc3RydWN0IHp4ZGhfbXNnX3JlcGx5X2JvZHkg KnJlcGx5LCB1aW50MTZfdCAqcmVzX2xlbikNCit7DQorCWNoYXIgc3RyW1pYREhfTVNHX1JFUExZ X0JPRFlfTUFYX0xFTl0gPSAicnNzX2hmIjsNCisJc3RydWN0IHp4ZGhfcG9ydF9hdHRyX3RhYmxl IHZwb3J0X2F0dCA9IHswfTsNCisJaW50IHJldCA9IDA7DQorDQorCXJldCA9IHp4ZGhfZ2V0X3Bv cnRfYXR0cihodywgdnBvcnQsICZ2cG9ydF9hdHQpOw0KKwlpZiAocmV0KSB7DQorCQlzcHJpbnRm KHN0ciwgImdldCByc3MgaGFzaCBmYWN0b3IgZmFpbGVkLCByZXQ6JWRcbiIsIHJldCk7DQorCQlQ TURfRFJWX0xPRyhFUlIsICJnZXQgcnNzIGhhc2ggZmFjdG9yIGZhaWxlZC4iKTsNCisJCWdvdG8g cHJvY19lbmQ7DQorCX0NCisNCisJcmVwbHktPnJzc19oZi5yc3NfaGYgPSB2cG9ydF9hdHQucnNz X2hhc2hfZmFjdG9yOw0KKw0KK3Byb2NfZW5kOg0KKwkqcmVzX2xlbiA9IHN0cmxlbihzdHIpICsg c2l6ZW9mKGVudW0genhkaF9yZXBzX2ZsYWcpOw0KKwlyZXBseS0+ZmxhZyA9IChyZXQgPT0gMCkg PyBaWERIX1JFUFNfU1VDQyA6IFpYREhfUkVQU19GQUlMOw0KKwlydGVfbWVtY3B5KCZyZXBseS0+ cmVwbHlfZGF0YSwgc3RyLCBzdHJsZW4oc3RyKSArIDEpOw0KKwlyZXR1cm4gcmV0Ow0KK30NCisN CitzdGF0aWMgaW50DQorenhkaF92Zl9yc3NfaGZfc2V0KHN0cnVjdCB6eGRoX2h3ICpodywgdWlu dDE2X3QgdnBvcnQsIHZvaWQgKmNmZ19kYXRhLA0KKwkJCXN0cnVjdCB6eGRoX21zZ19yZXBseV9i b2R5ICpyZXBseSwgdWludDE2X3QgKnJlc19sZW4pDQorew0KKwljaGFyIHN0cltaWERIX01TR19S RVBMWV9CT0RZX01BWF9MRU5dID0gInJzc19oZiI7DQorCXN0cnVjdCB6eGRoX3Jzc19oZiAqcnNz X2hmID0gY2ZnX2RhdGE7DQorCXN0cnVjdCB6eGRoX3BvcnRfYXR0cl90YWJsZSB2cG9ydF9hdHQg PSB7MH07DQorCWludCByZXQgPSAwOw0KKw0KKwlyZXQgPSB6eGRoX2dldF9wb3J0X2F0dHIoaHcs IHZwb3J0LCAmdnBvcnRfYXR0KTsNCisJaWYgKHJldCkgew0KKwkJc3ByaW50ZihzdHIsICJzZXQg cnNzIGhhc2ggZmFjdG9yIChzZXQgdnBvcnQgdGJsIGZhaWxlZCwgaGYgaXMgJWQpLiByZXQ6JWRc biIsDQorCQkJCXJzc19oZi0+cnNzX2hmLCByZXQpOw0KKwkJUE1EX0RSVl9MT0coRVJSLCAicnNz IGVuYWJsZSBzZXQgZmFpbGVkIik7DQorCQlnb3RvIHByb2NfZW5kOw0KKwl9DQorDQorCXZwb3J0 X2F0dC5yc3NfaGFzaF9mYWN0b3IgPSByc3NfaGYtPnJzc19oZjsNCisJcmV0ID0genhkaF9zZXRf cG9ydF9hdHRyKGh3LCB2cG9ydCwgJnZwb3J0X2F0dCk7DQorCWlmIChyZXQpIHsNCisJCXNwcmlu dGYoc3RyLCAic2V0IHJzcyBoYXNoIGZhY3RvciAoc2V0IHZwb3J0IHRibCBmYWlsZWQsIGhmIGlz ICVkKS4gcmV0OiVkXG4iLA0KKwkJCQlyc3NfaGYtPnJzc19oZiwgcmV0KTsNCisJCVBNRF9EUlZf TE9HKEVSUiwgInJzcyBlbmFibGUgc2V0IGZhaWxlZCIpOw0KKwl9DQorDQorcHJvY19lbmQ6DQor CSpyZXNfbGVuID0gc3RybGVuKHN0cikgKyBzaXplb2YoZW51bSB6eGRoX3JlcHNfZmxhZyk7DQor CXJlcGx5LT5mbGFnID0gKHJldCA9PSAwKSA/IFpYREhfUkVQU19TVUNDIDogWlhESF9SRVBTX0ZB SUw7DQorCXJ0ZV9tZW1jcHkoJnJlcGx5LT5yZXBseV9kYXRhLCBzdHIsIHN0cmxlbihzdHIpICsg MSk7DQorCXJldHVybiByZXQ7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCit6eGRoX3ZmX3Jzc19lbmFi bGUoc3RydWN0IHp4ZGhfaHcgKmh3LCB1aW50MTZfdCB2cG9ydCwgdm9pZCAqY2ZnX2RhdGEsDQor CQkJc3RydWN0IHp4ZGhfbXNnX3JlcGx5X2JvZHkgKnJlcGx5LCB1aW50MTZfdCAqcmVzX2xlbikN Cit7DQorCWNoYXIgc3RyW1pYREhfTVNHX1JFUExZX0JPRFlfTUFYX0xFTl0gPSAicnNzX2VuYWJs ZSI7DQorCXN0cnVjdCB6eGRoX3Jzc19lbmFibGUgKnJzc19lbmFibGUgPSBjZmdfZGF0YTsNCisJ c3RydWN0IHp4ZGhfcG9ydF9hdHRyX3RhYmxlIHZwb3J0X2F0dCA9IHswfTsNCisJaW50IHJldCA9 IDA7DQorDQorCXJldCA9IHp4ZGhfZ2V0X3BvcnRfYXR0cihodywgdnBvcnQsICZ2cG9ydF9hdHQp Ow0KKwlpZiAocmV0KSB7DQorCQlzcHJpbnRmKHN0ciwgInNldCByc3MgZW5hYmxlIChnZXQgdnBv cnQgdGJsIGZhaWxlZCwgcnNzX2VuYWJsZSBpcyAlZCkuIHJldDolZFxuIiwNCisJCQkJcnNzX2Vu YWJsZS0+ZW5hYmxlLCByZXQpOw0KKwkJUE1EX0RSVl9MT0coRVJSLCAicnNzIGVuYWJsZSBzZXQg ZmFpbGVkIik7DQorCQlnb3RvIHByb2NfZW5kOw0KKwl9DQorDQorCXZwb3J0X2F0dC5yc3NfZW5h YmxlID0gcnNzX2VuYWJsZS0+ZW5hYmxlOw0KKwlyZXQgPSB6eGRoX3NldF9wb3J0X2F0dHIoaHcs IHZwb3J0LCAmdnBvcnRfYXR0KTsNCisJaWYgKHJldCkgew0KKwkJc3ByaW50ZihzdHIsICJzZXQg cnNzIGVuYWJsZSAoc2V0IHZwb3J0IHRibCBmYWlsZWQsIHJzc19lbmFibGUgaXMgJWQpLiByZXQ6 JWRcbiIsDQorCQkJCXJzc19lbmFibGUtPmVuYWJsZSwgcmV0KTsNCisJCVBNRF9EUlZfTE9HKEVS UiwgInJzcyBlbmFibGUgc2V0IGZhaWxlZCIpOw0KKwl9DQorDQorcHJvY19lbmQ6DQorCSpyZXNf bGVuID0gc3RybGVuKHN0cikgKyBzaXplb2YoZW51bSB6eGRoX3JlcHNfZmxhZyk7DQorCXJlcGx5 LT5mbGFnID0gKHJldCA9PSAwKSA/IFpYREhfUkVQU19TVUNDIDogWlhESF9SRVBTX0ZBSUw7DQor CXJ0ZV9tZW1jcHkoJnJlcGx5LT5yZXBseV9kYXRhLCBzdHIsIHN0cmxlbihzdHIpICsgMSk7DQor CXJldHVybiByZXQ7DQorfQ0KKw0KK3N0YXRpYyBpbnQNCit6eGRoX3ZmX3Jzc190YWJsZV9zZXQo c3RydWN0IHp4ZGhfaHcgKmh3LCB1aW50MTZfdCB2cG9ydCwgdm9pZCAqY2ZnX2RhdGEsDQorCQlz dHJ1Y3QgenhkaF9tc2dfcmVwbHlfYm9keSAqcmVwbHksIHVpbnQxNl90ICpyZXNfbGVuKQ0KK3sN CisJY2hhciBzdHJbWlhESF9NU0dfUkVQTFlfQk9EWV9NQVhfTEVOXSA9ICJyc3NfdGFibGUiOw0K KwlzdHJ1Y3QgenhkaF9yc3NfcmV0YSAqcnNzX3JldGEgPSBjZmdfZGF0YTsNCisJaW50MzJfdCBy ZXQgPSAwOw0KKw0KKwlyZXQgPSB6eGRoX3Jzc190YWJsZV9zZXQoaHcsIHZwb3J0LCByc3NfcmV0 YSk7DQorCWlmIChyZXQpDQorCQlzcHJpbnRmKHN0ciwgInNldCByc3MgcmV0YSB0YmwgZmFpbGVk LCBjb2RlOiVkIiwgcmV0KTsNCisNCisJKnJlc19sZW4gPSBzdHJsZW4oc3RyKSArIHNpemVvZihl bnVtIHp4ZGhfcmVwc19mbGFnKTsNCisJcmVwbHktPmZsYWcgPSAocmV0ID09IDApID8gWlhESF9S RVBTX1NVQ0MgOiBaWERIX1JFUFNfRkFJTDsNCisJcnRlX21lbWNweSgmcmVwbHktPnJlcGx5X2Rh dGEsIHN0ciwgc3RybGVuKHN0cikgKyAxKTsNCisJcmV0dXJuIHJldDsNCit9DQorDQorc3RhdGlj IGludA0KK3p4ZGhfdmZfcnNzX3RhYmxlX2dldChzdHJ1Y3QgenhkaF9odyAqaHcsIHVpbnQxNl90 IHZwb3J0LCB2b2lkICpjZmdfZGF0YSBfX3J0ZV91bnVzZWQsDQorCQlzdHJ1Y3QgenhkaF9tc2df cmVwbHlfYm9keSAqcmVwbHksIHVpbnQxNl90ICpyZXNfbGVuKQ0KK3sNCisJY2hhciBzdHJbWlhE SF9NU0dfUkVQTFlfQk9EWV9NQVhfTEVOXSA9ICJyc3NfdGFibGUiOw0KKwlzdHJ1Y3QgenhkaF9y c3NfcmV0YSAqcnNzX3JldGEgPSAmcmVwbHktPnJzc19yZXRhOw0KKwlpbnQgcmV0ID0gMDsNCisN CisJcmV0ID0genhkaF9yc3NfdGFibGVfZ2V0KGh3LCB2cG9ydCwgcnNzX3JldGEpOw0KKwlpZiAo cmV0KQ0KKwkJc3ByaW50ZihzdHIsICJzZXQgcnNzIHJldGEgdGJsIGZhaWxlZCwgY29kZTolZCIs IHJldCk7DQorDQorCSpyZXNfbGVuID0gc3RybGVuKHN0cikgKyBzaXplb2YoZW51bSB6eGRoX3Jl cHNfZmxhZyk7DQorCXJlcGx5LT5mbGFnID0gKHJldCA9PSAwKSA/IFpYREhfUkVQU19TVUNDIDog WlhESF9SRVBTX0ZBSUw7DQorCXJ0ZV9tZW1jcHkoJnJlcGx5LT5yZXBseV9kYXRhLCBzdHIsIHN0 cmxlbihzdHIpICsgMSk7DQorCXJldHVybiByZXQ7DQorfQ0KKw0KIHp4ZGhfbXNnX3Byb2Nlc3Nf Y2FsbGJhY2sgenhkaF9wcm9jX2NiW10gPSB7DQogCVtaWERIX05VTExdID0gTlVMTCwNCiAJW1pY REhfVkZfUE9SVF9JTklUXSA9IHp4ZGhfdmZfcG9ydF9pbml0LA0KQEAgLTE1MzMsNiArMTY1Nywx MSBAQCB6eGRoX21zZ19wcm9jZXNzX2NhbGxiYWNrIHp4ZGhfcHJvY19jYltdID0gew0KIAlbWlhE SF9WTEFOX0ZJTFRFUl9TRVRdID0genhkaF92Zl9zZXRfdmxhbl9maWx0ZXIsDQogCVtaWERIX1ZM QU5fRklMVEVSX0FERF0gPSB6eGRoX3ZmX3ZsYW5fZmlsdGVyX3RhYmxlX2FkZCwNCiAJW1pYREhf VkxBTl9GSUxURVJfREVMXSA9IHp4ZGhfdmZfdmxhbl9maWx0ZXJfdGFibGVfZGVsLA0KKwlbWlhE SF9SU1NfRU5BQkxFXSA9IHp4ZGhfdmZfcnNzX2VuYWJsZSwNCisJW1pYREhfUlNTX1JFVEFfR0VU XSA9IHp4ZGhfdmZfcnNzX3RhYmxlX2dldCwNCisJW1pYREhfUlNTX1JFVEFfU0VUXSA9IHp4ZGhf dmZfcnNzX3RhYmxlX3NldCwNCisJW1pYREhfUlNTX0hGX1NFVF0gPSB6eGRoX3ZmX3Jzc19oZl9z ZXQsDQorCVtaWERIX1JTU19IRl9HRVRdID0genhkaF92Zl9yc3NfaGZfZ2V0LA0KIAlbWlhESF9W TEFOX09GRkxPQURdID0genhkaF92Zl9zZXRfdmxhbl9vZmZsb2FkLA0KIH07DQogDQotLSANCjIu MjcuMA== --=====_003_next===== Content-Type: text/html ; charset="UTF-8" Content-Transfer-Encoding: base64 b3B0aW1pemUmbmJzcDtyc3MmbmJzcDtoYXNoJm5ic3A7Y29uZmlnL3VwZGF0ZSxyZXRhJm5ic3A7 dXBkYXRlL2dldC48YnIgLz4NPGJyIC8+U2lnbmVkLW9mZi1ieTombmJzcDtKdW5sb25nJm5ic3A7 V2FuZyZuYnNwOyZsdDt3YW5nLmp1bmxvbmcxQHp0ZS5jb20uY24mZ3Q7DTxiciAvPi0tLTxiciAv PiZuYnNwO2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9ldGhkZXZfb3BzLmMmbmJzcDt8Jm5ic3A7Jm5i c3A7Jm5ic3A7MSZuYnNwOy08YnIgLz4mbmJzcDtkcml2ZXJzL25ldC96eGRoL3p4ZGhfbXNnLmMm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt8Jm5ic3A7MTI5 Jm5ic3A7KysrKysrKysrKysrKysrKysrKysrKysrKysrKys8YnIgLz4mbmJzcDsyJm5ic3A7Zmls ZXMmbmJzcDtjaGFuZ2VkLCZuYnNwOzEyOSZuYnNwO2luc2VydGlvbnMoKyksJm5ic3A7MSZuYnNw O2RlbGV0aW9uKC0pPGJyIC8+DTxiciAvPmRpZmYmbmJzcDstLWdpdCZuYnNwO2EvZHJpdmVycy9u ZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYyZuYnNwO2IvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0 aGRldl9vcHMuYzxiciAvPmluZGV4Jm5ic3A7ZmRhZTBhNGVmNi4uMTRkNDVmMzdiNSZuYnNwOzEw MDY0NDxiciAvPi0tLSZuYnNwO2EvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYzxi ciAvPisrKyZuYnNwO2IvZHJpdmVycy9uZXQvenhkaC96eGRoX2V0aGRldl9vcHMuYzxiciAvPkBA Jm5ic3A7LTExNDQsNyZuYnNwOysxMTQ0LDYmbmJzcDtAQCZuYnNwO3p4ZGhfcnNzX2hhc2hfY29u Zl9nZXQoc3RydWN0Jm5ic3A7cnRlX2V0aF9kZXYmbmJzcDsqZGV2LCZuYnNwO3N0cnVjdCZuYnNw O3J0ZV9ldGhfcnNzX2NvbmYmbmJzcDsqcnNzX2NvbjxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4mbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXBseV9tc2cucmVwbHlfYm9k eS5yc3NfaGYucnNzX2hmJm5ic3A7PSZuYnNwO3BvcnRfYXR0ci5yc3NfaGFzaF9mYWN0b3I7PGJy IC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7fSZuYnNwO2Vsc2UmbmJzcDt7PGJyIC8+ LSZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3p4ZGhfbXNn X2hlYWRfYnVpbGQoaHcsJm5ic3A7WlhESF9SU1NfSEZfU0VULCZuYnNwOyZhbXA7bXNnKTs8YnIg Lz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDty ZXQmbmJzcDs9Jm5ic3A7enhkaF92Zl9zZW5kX21zZ190b19wZihkZXYsJm5ic3A7JmFtcDttc2cs Jm5ic3A7c2l6ZW9mKHN0cnVjdCZuYnNwO3p4ZGhfbXNnX2luZm8pLDxiciAvPiZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZhbXA7cmVwbHlfbXNnLCZuYnNwO3Np emVvZihzdHJ1Y3QmbmJzcDt6eGRoX21zZ19yZXBseV9pbmZvKSk7PGJyIC8+Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYmbmJzcDsocmV0KSZu YnNwO3s8YnIgLz5kaWZmJm5ic3A7LS1naXQmbmJzcDthL2RyaXZlcnMvbmV0L3p4ZGgvenhkaF9t c2cuYyZuYnNwO2IvZHJpdmVycy9uZXQvenhkaC96eGRoX21zZy5jPGJyIC8+aW5kZXgmbmJzcDtk YmUwYTgyM2JjLi45OTA4YzQ5MTJlJm5ic3A7MTAwNjQ0PGJyIC8+LS0tJm5ic3A7YS9kcml2ZXJz L25ldC96eGRoL3p4ZGhfbXNnLmM8YnIgLz4rKysmbmJzcDtiL2RyaXZlcnMvbmV0L3p4ZGgvenhk aF9tc2cuYzxiciAvPkBAJm5ic3A7LTE1MjQsNiZuYnNwOysxNTI0LDEzMCZuYnNwO0BAJm5ic3A7 enhkaF92Zl9zZXRfdmxhbl9vZmZsb2FkKHN0cnVjdCZuYnNwO3p4ZGhfaHcmbmJzcDsqaHcsJm5i c3A7dWludDE2X3QmbmJzcDt2cG9ydCwmbmJzcDt2b2lkJm5ic3A7KmNmZ19kYXRhLDxiciAvPiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3JldDs8YnIgLz4mbmJzcDt9 PGJyIC8+Jm5ic3A7DTxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIgLz4renhkaF92Zl9yc3NfaGZf Z2V0KHN0cnVjdCZuYnNwO3p4ZGhfaHcmbmJzcDsqaHcsJm5ic3A7dWludDE2X3QmbmJzcDt2cG9y dCwmbmJzcDt2b2lkJm5ic3A7KmNmZ19kYXRhJm5ic3A7X19ydGVfdW51c2VkLDxiciAvPismbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtzdHJ1Y3QmbmJzcDt6eGRoX21zZ19yZXBseV9ib2R5Jm5ic3A7KnJlcGx5LCZu YnNwO3VpbnQxNl90Jm5ic3A7KnJlc19sZW4pPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Y2hhciZuYnNwO3N0cltaWERIX01TR19SRVBMWV9CT0RZX01BWF9MRU5dJm5ic3A7 PSZuYnNwOyZxdW90O3Jzc19oZiZxdW90Ozs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 c3RydWN0Jm5ic3A7enhkaF9wb3J0X2F0dHJfdGFibGUmbmJzcDt2cG9ydF9hdHQmbmJzcDs9Jm5i c3A7ezB9OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpbnQmbmJzcDtyZXQmbmJzcDs9 Jm5ic3A7MDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldCZuYnNwOz0m bmJzcDt6eGRoX2dldF9wb3J0X2F0dHIoaHcsJm5ic3A7dnBvcnQsJm5ic3A7JmFtcDt2cG9ydF9h dHQpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhyZXQpJm5ic3A7ezxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzcHJp bnRmKHN0ciwmbmJzcDsmcXVvdDtnZXQmbmJzcDtyc3MmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5i c3A7ZmFpbGVkLCZuYnNwO3JldDolZFxuJnF1b3Q7LCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwm bmJzcDsmcXVvdDtnZXQmbmJzcDtyc3MmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5ic3A7ZmFpbGVk LiZxdW90Oyk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO2dvdG8mbmJzcDtwcm9jX2VuZDs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 fTxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O3Jzc19oZi5y c3NfaGYmbmJzcDs9Jm5ic3A7dnBvcnRfYXR0LnJzc19oYXNoX2ZhY3Rvcjs8YnIgLz4rPGJyIC8+ K3Byb2NfZW5kOjxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqcmVzX2xlbiZuYnNwOz0m bmJzcDtzdHJsZW4oc3RyKSZuYnNwOysmbmJzcDtzaXplb2YoZW51bSZuYnNwO3p4ZGhfcmVwc19m bGFnKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O2ZsYWcmbmJzcDs9 Jm5ic3A7KHJldCZuYnNwOz09Jm5ic3A7MCkmbmJzcDs/Jm5ic3A7WlhESF9SRVBTX1NVQ0MmbmJz cDs6Jm5ic3A7WlhESF9SRVBTX0ZBSUw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3J0 ZV9tZW1jcHkoJmFtcDtyZXBseS0mZ3Q7cmVwbHlfZGF0YSwmbmJzcDtzdHIsJm5ic3A7c3RybGVu KHN0cikmbmJzcDsrJm5ic3A7MSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVy biZuYnNwO3JldDs8YnIgLz4rfTxiciAvPis8YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3p4 ZGhfdmZfcnNzX2hmX3NldChzdHJ1Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3LCZuYnNwO3VpbnQx Nl90Jm5ic3A7dnBvcnQsJm5ic3A7dm9pZCZuYnNwOypjZmdfZGF0YSw8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9tc2dfcmVwbHlfYm9keSZuYnNwOypyZXBseSwmbmJzcDt1 aW50MTZfdCZuYnNwOypyZXNfbGVuKTxiciAvPit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO2NoYXImbmJzcDtzdHJbWlhESF9NU0dfUkVQTFlfQk9EWV9NQVhfTEVOXSZuYnNwOz0mbmJz cDsmcXVvdDtyc3NfaGYmcXVvdDs7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVj dCZuYnNwO3p4ZGhfcnNzX2hmJm5ic3A7KnJzc19oZiZuYnNwOz0mbmJzcDtjZmdfZGF0YTs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9wb3J0X2F0dHJfdGFi bGUmbmJzcDt2cG9ydF9hdHQmbmJzcDs9Jm5ic3A7ezB9OzxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtpbnQmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7MDs8YnIgLz4rPGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3JldCZuYnNwOz0mbmJzcDt6eGRoX2dldF9wb3J0X2F0dHIoaHcsJm5i c3A7dnBvcnQsJm5ic3A7JmFtcDt2cG9ydF9hdHQpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDtpZiZuYnNwOyhyZXQpJm5ic3A7ezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzcHJpbnRmKHN0ciwmbmJzcDsmcXVvdDtzZXQmbmJzcDty c3MmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5ic3A7KHNldCZuYnNwO3Zwb3J0Jm5ic3A7dGJsJm5i c3A7ZmFpbGVkLCZuYnNwO2hmJm5ic3A7aXMmbmJzcDslZCkuJm5ic3A7cmV0OiVkXG4mcXVvdDss PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Jzc19oZi0mZ3Q7 cnNzX2hmLCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwmbmJzcDsmcXVvdDtyc3MmbmJzcDtlbmFi bGUmbmJzcDtzZXQmbmJzcDtmYWlsZWQmcXVvdDspOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtnb3RvJm5ic3A7cHJvY19lbmQ7PGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO308YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO3Zwb3J0X2F0dC5yc3NfaGFzaF9mYWN0b3ImbmJzcDs9Jm5ic3A7cnNzX2hmLSZndDtyc3Nf aGY7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldCZuYnNwOz0mbmJzcDt6eGRoX3Nl dF9wb3J0X2F0dHIoaHcsJm5ic3A7dnBvcnQsJm5ic3A7JmFtcDt2cG9ydF9hdHQpOzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtpZiZuYnNwOyhyZXQpJm5ic3A7ezxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtzcHJpbnRmKHN0ciwmbmJz cDsmcXVvdDtzZXQmbmJzcDtyc3MmbmJzcDtoYXNoJm5ic3A7ZmFjdG9yJm5ic3A7KHNldCZuYnNw O3Zwb3J0Jm5ic3A7dGJsJm5ic3A7ZmFpbGVkLCZuYnNwO2hmJm5ic3A7aXMmbmJzcDslZCkuJm5i c3A7cmV0OiVkXG4mcXVvdDssPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwO3Jzc19oZi0mZ3Q7cnNzX2hmLCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwmbmJzcDsm cXVvdDtyc3MmbmJzcDtlbmFibGUmbmJzcDtzZXQmbmJzcDtmYWlsZWQmcXVvdDspOzxiciAvPism bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDt9PGJyIC8+KzxiciAvPitwcm9jX2VuZDo8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7KnJlc19sZW4mbmJzcDs9Jm5ic3A7c3RybGVuKHN0cikmbmJz cDsrJm5ic3A7c2l6ZW9mKGVudW0mbmJzcDt6eGRoX3JlcHNfZmxhZyk7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO3JlcGx5LSZndDtmbGFnJm5ic3A7PSZuYnNwOyhyZXQmbmJzcDs9PSZu YnNwOzApJm5ic3A7PyZuYnNwO1pYREhfUkVQU19TVUNDJm5ic3A7OiZuYnNwO1pYREhfUkVQU19G QUlMOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtydGVfbWVtY3B5KCZhbXA7cmVwbHkt Jmd0O3JlcGx5X2RhdGEsJm5ic3A7c3RyLCZuYnNwO3N0cmxlbihzdHIpJm5ic3A7KyZuYnNwOzEp OzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtyZXR1cm4mbmJzcDtyZXQ7PGJyIC8+K308 YnIgLz4rPGJyIC8+K3N0YXRpYyZuYnNwO2ludDxiciAvPit6eGRoX3ZmX3Jzc19lbmFibGUoc3Ry dWN0Jm5ic3A7enhkaF9odyZuYnNwOypodywmbmJzcDt1aW50MTZfdCZuYnNwO3Zwb3J0LCZuYnNw O3ZvaWQmbmJzcDsqY2ZnX2RhdGEsPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3p4 ZGhfbXNnX3JlcGx5X2JvZHkmbmJzcDsqcmVwbHksJm5ic3A7dWludDE2X3QmbmJzcDsqcmVzX2xl bik8YnIgLz4rezxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtjaGFyJm5ic3A7c3RyW1pY REhfTVNHX1JFUExZX0JPRFlfTUFYX0xFTl0mbmJzcDs9Jm5ic3A7JnF1b3Q7cnNzX2VuYWJsZSZx dW90Ozs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9yc3Nf ZW5hYmxlJm5ic3A7KnJzc19lbmFibGUmbmJzcDs9Jm5ic3A7Y2ZnX2RhdGE7PGJyIC8+KyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhfcG9ydF9hdHRyX3RhYmxlJm5ic3A7 dnBvcnRfYXR0Jm5ic3A7PSZuYnNwO3swfTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 aW50Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwOzA7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDtyZXQmbmJzcDs9Jm5ic3A7enhkaF9nZXRfcG9ydF9hdHRyKGh3LCZuYnNwO3Zwb3J0 LCZuYnNwOyZhbXA7dnBvcnRfYXR0KTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aWYm bmJzcDsocmV0KSZuYnNwO3s8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7c3ByaW50ZihzdHIsJm5ic3A7JnF1b3Q7c2V0Jm5ic3A7cnNzJm5ic3A7 ZW5hYmxlJm5ic3A7KGdldCZuYnNwO3Zwb3J0Jm5ic3A7dGJsJm5ic3A7ZmFpbGVkLCZuYnNwO3Jz c19lbmFibGUmbmJzcDtpcyZuYnNwOyVkKS4mbmJzcDtyZXQ6JWRcbiZxdW90Oyw8YnIgLz4rJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cnNzX2VuYWJsZS0mZ3Q7ZW5hYmxl LCZuYnNwO3JldCk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwO1BNRF9EUlZfTE9HKEVSUiwmbmJzcDsmcXVvdDtyc3MmbmJzcDtlbmFibGUmbmJz cDtzZXQmbmJzcDtmYWlsZWQmcXVvdDspOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtnb3RvJm5ic3A7cHJvY19lbmQ7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO308YnIgLz4rPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Zw b3J0X2F0dC5yc3NfZW5hYmxlJm5ic3A7PSZuYnNwO3Jzc19lbmFibGUtJmd0O2VuYWJsZTs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwO3p4ZGhfc2V0X3BvcnRf YXR0cihodywmbmJzcDt2cG9ydCwmbmJzcDsmYW1wO3Zwb3J0X2F0dCk7PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCkmbmJzcDt7PGJyIC8+KyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3NwcmludGYoc3RyLCZuYnNwOyZxdW90 O3NldCZuYnNwO3JzcyZuYnNwO2VuYWJsZSZuYnNwOyhzZXQmbmJzcDt2cG9ydCZuYnNwO3RibCZu YnNwO2ZhaWxlZCwmbmJzcDtyc3NfZW5hYmxlJm5ic3A7aXMmbmJzcDslZCkuJm5ic3A7cmV0OiVk XG4mcXVvdDssPGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3Jz c19lbmFibGUtJmd0O2VuYWJsZSwmbmJzcDtyZXQpOzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtQTURfRFJWX0xPRyhFUlIsJm5ic3A7JnF1b3Q7 cnNzJm5ic3A7ZW5hYmxlJm5ic3A7c2V0Jm5ic3A7ZmFpbGVkJnF1b3Q7KTs8YnIgLz4rJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7fTxiciAvPis8YnIgLz4rcHJvY19lbmQ6PGJyIC8+KyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOypyZXNfbGVuJm5ic3A7PSZuYnNwO3N0cmxlbihzdHIpJm5ic3A7KyZu YnNwO3NpemVvZihlbnVtJm5ic3A7enhkaF9yZXBzX2ZsYWcpOzxiciAvPismbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDtyZXBseS0mZ3Q7ZmxhZyZuYnNwOz0mbmJzcDsocmV0Jm5ic3A7PT0mbmJzcDsw KSZuYnNwOz8mbmJzcDtaWERIX1JFUFNfU1VDQyZuYnNwOzombmJzcDtaWERIX1JFUFNfRkFJTDs8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cnRlX21lbWNweSgmYW1wO3JlcGx5LSZndDty ZXBseV9kYXRhLCZuYnNwO3N0ciwmbmJzcDtzdHJsZW4oc3RyKSZuYnNwOysmbmJzcDsxKTs8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0dXJuJm5ic3A7cmV0OzxiciAvPit9PGJyIC8+ KzxiciAvPitzdGF0aWMmbmJzcDtpbnQ8YnIgLz4renhkaF92Zl9yc3NfdGFibGVfc2V0KHN0cnVj dCZuYnNwO3p4ZGhfaHcmbmJzcDsqaHcsJm5ic3A7dWludDE2X3QmbmJzcDt2cG9ydCwmbmJzcDt2 b2lkJm5ic3A7KmNmZ19kYXRhLDxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDtzdHJ1Y3QmbmJzcDt6eGRoX21zZ19yZXBseV9ib2R5Jm5ic3A7KnJl cGx5LCZuYnNwO3VpbnQxNl90Jm5ic3A7KnJlc19sZW4pPGJyIC8+K3s8YnIgLz4rJm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Y2hhciZuYnNwO3N0cltaWERIX01TR19SRVBMWV9CT0RZX01BWF9MRU5d Jm5ic3A7PSZuYnNwOyZxdW90O3Jzc190YWJsZSZxdW90Ozs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9yc3NfcmV0YSZuYnNwOypyc3NfcmV0YSZuYnNwOz0m bmJzcDtjZmdfZGF0YTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7aW50MzJfdCZuYnNw O3JldCZuYnNwOz0mbmJzcDswOzxiciAvPis8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 cmV0Jm5ic3A7PSZuYnNwO3p4ZGhfcnNzX3RhYmxlX3NldChodywmbmJzcDt2cG9ydCwmbmJzcDty c3NfcmV0YSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCk8YnIg Lz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3ByaW50 ZihzdHIsJm5ic3A7JnF1b3Q7c2V0Jm5ic3A7cnNzJm5ic3A7cmV0YSZuYnNwO3RibCZuYnNwO2Zh aWxlZCwmbmJzcDtjb2RlOiVkJnF1b3Q7LCZuYnNwO3JldCk7PGJyIC8+KzxiciAvPismbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsqcmVzX2xlbiZuYnNwOz0mbmJzcDtzdHJsZW4oc3RyKSZuYnNwOysm bmJzcDtzaXplb2YoZW51bSZuYnNwO3p4ZGhfcmVwc19mbGFnKTs8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O2ZsYWcmbmJzcDs9Jm5ic3A7KHJldCZuYnNwOz09Jm5ic3A7 MCkmbmJzcDs/Jm5ic3A7WlhESF9SRVBTX1NVQ0MmbmJzcDs6Jm5ic3A7WlhESF9SRVBTX0ZBSUw7 PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3J0ZV9tZW1jcHkoJmFtcDtyZXBseS0mZ3Q7 cmVwbHlfZGF0YSwmbmJzcDtzdHIsJm5ic3A7c3RybGVuKHN0cikmbmJzcDsrJm5ic3A7MSk7PGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3JldHVybiZuYnNwO3JldDs8YnIgLz4rfTxiciAv Pis8YnIgLz4rc3RhdGljJm5ic3A7aW50PGJyIC8+K3p4ZGhfdmZfcnNzX3RhYmxlX2dldChzdHJ1 Y3QmbmJzcDt6eGRoX2h3Jm5ic3A7Kmh3LCZuYnNwO3VpbnQxNl90Jm5ic3A7dnBvcnQsJm5ic3A7 dm9pZCZuYnNwOypjZmdfZGF0YSZuYnNwO19fcnRlX3VudXNlZCw8YnIgLz4rJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3RydWN0Jm5ic3A7enhkaF9tc2df cmVwbHlfYm9keSZuYnNwOypyZXBseSwmbmJzcDt1aW50MTZfdCZuYnNwOypyZXNfbGVuKTxiciAv Pit7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO2NoYXImbmJzcDtzdHJbWlhESF9NU0df UkVQTFlfQk9EWV9NQVhfTEVOXSZuYnNwOz0mbmJzcDsmcXVvdDtyc3NfdGFibGUmcXVvdDs7PGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO3N0cnVjdCZuYnNwO3p4ZGhfcnNzX3JldGEmbmJz cDsqcnNzX3JldGEmbmJzcDs9Jm5ic3A7JmFtcDtyZXBseS0mZ3Q7cnNzX3JldGE7PGJyIC8+KyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO2ludCZuYnNwO3JldCZuYnNwOz0mbmJzcDswOzxiciAvPis8 YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmV0Jm5ic3A7PSZuYnNwO3p4ZGhfcnNzX3Rh YmxlX2dldChodywmbmJzcDt2cG9ydCwmbmJzcDtyc3NfcmV0YSk7PGJyIC8+KyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwO2lmJm5ic3A7KHJldCk8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7c3ByaW50ZihzdHIsJm5ic3A7JnF1b3Q7c2V0Jm5ic3A7 cnNzJm5ic3A7cmV0YSZuYnNwO3RibCZuYnNwO2ZhaWxlZCwmbmJzcDtjb2RlOiVkJnF1b3Q7LCZu YnNwO3JldCk7PGJyIC8+KzxiciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsqcmVzX2xlbiZu YnNwOz0mbmJzcDtzdHJsZW4oc3RyKSZuYnNwOysmbmJzcDtzaXplb2YoZW51bSZuYnNwO3p4ZGhf cmVwc19mbGFnKTs8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7cmVwbHktJmd0O2ZsYWcm bmJzcDs9Jm5ic3A7KHJldCZuYnNwOz09Jm5ic3A7MCkmbmJzcDs/Jm5ic3A7WlhESF9SRVBTX1NV Q0MmbmJzcDs6Jm5ic3A7WlhESF9SRVBTX0ZBSUw7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwO3J0ZV9tZW1jcHkoJmFtcDtyZXBseS0mZ3Q7cmVwbHlfZGF0YSwmbmJzcDtzdHIsJm5ic3A7 c3RybGVuKHN0cikmbmJzcDsrJm5ic3A7MSk7PGJyIC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw O3JldHVybiZuYnNwO3JldDs8YnIgLz4rfTxiciAvPis8YnIgLz4mbmJzcDt6eGRoX21zZ19wcm9j ZXNzX2NhbGxiYWNrJm5ic3A7enhkaF9wcm9jX2NiW10mbmJzcDs9Jm5ic3A7ezxiciAvPiZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX05VTExdJm5ic3A7PSZuYnNwO05VTEwsPGJy IC8+Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhfVkZfUE9SVF9JTklUXSZuYnNw Oz0mbmJzcDt6eGRoX3ZmX3BvcnRfaW5pdCw8YnIgLz5AQCZuYnNwOy0xNTMzLDYmbmJzcDsrMTY1 NywxMSZuYnNwO0BAJm5ic3A7enhkaF9tc2dfcHJvY2Vzc19jYWxsYmFjayZuYnNwO3p4ZGhfcHJv Y19jYltdJm5ic3A7PSZuYnNwO3s8YnIgLz4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtb WlhESF9WTEFOX0ZJTFRFUl9TRVRdJm5ic3A7PSZuYnNwO3p4ZGhfdmZfc2V0X3ZsYW5fZmlsdGVy LDxiciAvPiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX1ZMQU5fRklMVEVSX0FE RF0mbmJzcDs9Jm5ic3A7enhkaF92Zl92bGFuX2ZpbHRlcl90YWJsZV9hZGQsPGJyIC8+Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhfVkxBTl9GSUxURVJfREVMXSZuYnNwOz0mbmJz cDt6eGRoX3ZmX3ZsYW5fZmlsdGVyX3RhYmxlX2RlbCw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7W1pYREhfUlNTX0VOQUJMRV0mbmJzcDs9Jm5ic3A7enhkaF92Zl9yc3NfZW5hYmxlLDxi ciAvPismbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDtbWlhESF9SU1NfUkVUQV9HRVRdJm5ic3A7PSZu YnNwO3p4ZGhfdmZfcnNzX3RhYmxlX2dldCw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 W1pYREhfUlNTX1JFVEFfU0VUXSZuYnNwOz0mbmJzcDt6eGRoX3ZmX3Jzc190YWJsZV9zZXQsPGJy IC8+KyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX1JTU19IRl9TRVRdJm5ic3A7PSZuYnNw O3p4ZGhfdmZfcnNzX2hmX3NldCw8YnIgLz4rJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7W1pYREhf UlNTX0hGX0dFVF0mbmJzcDs9Jm5ic3A7enhkaF92Zl9yc3NfaGZfZ2V0LDxiciAvPiZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwO1taWERIX1ZMQU5fT0ZGTE9BRF0mbmJzcDs9Jm5ic3A7enhk aF92Zl9zZXRfdmxhbl9vZmZsb2FkLDxiciAvPiZuYnNwO307PGJyIC8+Jm5ic3A7DTxiciAvPi0t Jm5ic3A7DTxiciAvPjIuMjcuMDxiciAvPg== --=====_003_next=====-- --=====_002_next=====-- --=====_001_next=====--