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 6CADD46F61; Thu, 25 Sep 2025 05:25:45 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 317C340276; Thu, 25 Sep 2025 05:25:45 +0200 (CEST) Received: from out28-4.mail.aliyun.com (out28-4.mail.aliyun.com [115.124.28.4]) by mails.dpdk.org (Postfix) with ESMTP id BA4F440151 for ; Thu, 25 Sep 2025 05:25:42 +0200 (CEST) X-Alimail-AntiSpam: AC=CONTINUE; BC=0.07386655|-1; CH=green; DM=|CONTINUE|false|; DS=CONTINUE|ham_regular_dialog|0.0493126-0.00163212-0.949055; FP=6219608540580450240|0|0|0|0|-1|-1|-1; HT=maildocker-contentspam033037021072; MF=dimon.zhao@nebula-matrix.com; NM=1; PH=DW; RN=4; RT=4; SR=0; TI=W4_0.2.3_21251B96_1758770647467_o7001c199d; Received: from WS-web (dimon.zhao@nebula-matrix.com[W4_0.2.3_21251B96_1758770647467_o7001c199d] cluster:ay29) at Thu, 25 Sep 2025 11:25:39 +0800 Date: Thu, 25 Sep 2025 11:25:39 +0800 From: "Dimon" To: "Stephen Hemminger" Cc: "dev" , "Kyo Liu" , "Leon" , "Sam" Message-ID: Subject: =?UTF-8?B?5Zue5aSN77ya5Zue5aSN77yaW1BBVENIIHYxMCAwNC8xN10gbmV0L25ibDogYWRkIENoYW5u?= =?UTF-8?B?ZWwgbGF5ZXIgZGVmaW5pdGlvbnMgYW5kIGltcGxlbWVudGF0aW9u?= X-Mailer: [Alimail-Mailagent revision 854][W4_0.2.3][null][Chrome] MIME-Version: 1.0 x-aliyun-im-through: {"version":"v1.0"} References: <20250627014022.4019625-1-dimon.zhao@nebula-matrix.com> <20250923035402.1759922-1-dimon.zhao@nebula-matrix.com> <20250923035402.1759922-5-dimon.zhao@nebula-matrix.com> <20250923112523.6579c851@hermes.local> , <20250924082740.42963a00@hermes.local> x-aliyun-mail-creator: W4_0.2.3_null_d2lTW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEwOC4wLjUzNTkuMTI1IFNhZmFyaS81MzcuMzYgZGluZ3RhbGstd2luLzEuMC4wIG53KDAuMTQuNykgRGluZ1RhbGsoNy43LjAtUmVsZWFzZS4yNTA1MjIwMDIpIE1vam8vMS4wLjAgTmF0aXZlIEFwcFR5cGUocmVsZWFzZSkgQ2hhbm5lbC8yMDEyMDAgQXJjaGl0ZWN0dXJlL3g4Nl82NA==Gs In-Reply-To: <20250924082740.42963a00@hermes.local> Content-Type: multipart/alternative; boundary="----=ALIBOUNDARY_1993_7f8be4ff3700_68d4b633_8339e" 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: , Reply-To: Dimon Errors-To: dev-bounces@dpdk.org ------=ALIBOUNDARY_1993_7f8be4ff3700_68d4b633_8339e Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 SGkgU3RlcGhlbiwKVGhhbmsgeW91IGZvciB5b3VyIHZhbHVhYmxlIGZlZWRiYWNrLgpJIHdpbGwg Zml4IGl0IGluIG5leHQgdjExIHBhdGNoIHNlcmllcy4KVGhhbmsgeW91LgotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K5Y+R 5Lu25Lq677yaU3RlcGhlbiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPgrl j5HpgIHml7bpl7TvvJoyMDI15bm0OeaciDI05pelKOWRqOS4iSkgMjM6MjcK5pS25Lu25Lq677ya RGltb248ZGltb24uemhhb0BuZWJ1bGEtbWF0cml4LmNvbT4K5oqE44CA6YCB77yaZGV2PGRldkBk cGRrLm9yZz47IEt5byBMaXU8a3lvLmxpdUBuZWJ1bGEtbWF0cml4LmNvbT47IExlb248bGVvbi55 dUBuZWJ1bGEtbWF0cml4LmNvbT47IFNhbTxzYW0uY2hlbkBuZWJ1bGEtbWF0cml4LmNvbT4K5Li7 44CA6aKY77yaUmU6IOWbnuWkje+8mltQQVRDSCB2MTAgMDQvMTddIG5ldC9uYmw6IGFkZCBDaGFu bmVsIGxheWVyIGRlZmluaXRpb25zIGFuZCBpbXBsZW1lbnRhdGlvbgpPbiBXZWQsIDI0IFNlcCAy MDI1IDE3OjQwOjAwICswODAwCiJEaW1vbiIgPGRpbW9uLnpoYW9AbmVidWxhLW1hdHJpeC5jb20+ IHdyb3RlOgo+IEhpIFN0ZXBoZW4sCj4gVGhhbmsgeW91IGZvciB5b3VyIHZhbHVhYmxlIGZlZWRi YWNrLiBJIGZ1bGx5IHVuZGVyc3RhbmQgeW91ciBjb25jZXJuIGFib3V0IHB0aHJlYWRfY2FuY2Vs Lgo+IEhvd2V2ZXIsIGR1ZSB0byBvdXIgY2hpcCBkZXNpZ24gY29uc3RyYWludHMsIGR1cmluZyB0 aGUgcmVtb3ZlIHByb2Nlc3MsIGEgZmV3IG1haWxib3ggbWVzc2FnZXMgd2lsbCBzdGlsbCBiZSBz ZW50IGFmdGVyIGRpc2FibGluZyBtYWlsYm94IGludGVycnVwdHMuCj4gU2luY2UgbWFpbGJveCBp bnRlcnJ1cHRzIGFyZSBhbHJlYWR5IGNsb3NlZCBhdCB0aGlzIHBvaW50LCB3ZSBjYW5ub3QgcmVs eSBvbiBwaXBlIHJlYWRzIHRvIHRyaWdnZXIgbWFpbGJveCBBQ0sgcmVjZXB0aW9uLgo+IFRoZXJl Zm9yZSwgdGhlIGFja3Mgb2YgdGhlc2UgbWFpbGJveCBtZXNzYWdlcyBoYXZlIHRvIGJlIHJlY2Vp dmVkIHVzaW5nIHBvbGxpbmcuIFRoaXMgaXMgd2h5IHdlIG5lZWQgdGhlIE5CTF9DSEFOX0lOVEVS UlVQVF9SRUFEWSBmbGFnLgo+IEkndmUgaW1wbGVtZW50ZWQgYW4gYWx0ZXJuYXRpdmUsIGFkZGlu ZyBhIHN0YXRlIGZsYWcgTkJMX0NIQU5fVEVBUkRPV04gdG8gbm90aWZ5IHRoZSBwb2xsaW5nIHRh c2sgdG8gZXhpdC4KPiBIZXJlJ3MgdGhlIGNvZGUgbW9kaWZpY2F0aW9uLgo+IEkndmUgdGVzdGVk IHRoaXMgb24gb3VyIGhhcmR3YXJlIGFuZCBpdCB3b3JrcyBmaW5lLgo+IERvIHlvdSB0aGluayB0 aGlzIG1vZGlmaWNhdGlvbiBpcyBva2F5Pwo+IHN0YXRpYyB1aW50MzJfdCBuYmxfY2hhbl90aHJl YWRfcG9sbGluZ190YXNrKHZvaWQgKnBhcmFtKQo+IHsKPiBzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0 ICpjaGFuX21ndCA9IChzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICopcGFyYW07Cj4gdW5pb24gbmJs X2NoYW5faW5mbyAqY2hhbl9pbmZvID0gTkJMX0NIQU5fTUdUX1RPX0NIQU5fSU5GTyhjaGFuX21n dCk7Cj4gc3RydWN0IHRpbWVzcGVjIHRpbWU7Cj4gY2hhciB1bnVzZWRbMTZdOwo+IHNzaXplX3Qg bnIgPSAwOwo+IHRpbWUudHZfc2VjID0gMDsKPiB0aW1lLnR2X25zZWMgPSAxMDAwMDA7Cj4gd2hp bGUgKHRydWUpIHsKPiBpZiAocnRlX2JpdG1hcF9nZXQoY2hhbl9pbmZvLT5tYWlsYm94LnN0YXRl X2JtcCwgTkJMX0NIQU5fSU5URVJSVVBUX1JFQURZKSkgewo+IG5yID0gcmVhZChjaGFuX2luZm8t Pm1haWxib3guZmRbMF0sICZ1bnVzZWQsIHNpemVvZih1bnVzZWQpKTsKPiBpZiAobnIgPCAwKQo+ IGJyZWFrOwo+IC0gfQo+ICsgfSBlbHNlIGlmIChydGVfYml0bWFwX2dldChjaGFuX2luZm8tPm1h aWxib3guc3RhdGVfYm1wLCBOQkxfQ0hBTl9URUFSRE9XTikpIHsKPiArIGJyZWFrOwo+ICsgfQo+ IG5ibF9jaGFuX2NsZWFuX3F1ZXVlKGNoYW5fbWd0KTsKPiBuYW5vc2xlZXAoJnRpbWUsIDApOwo+ IH0KPiByZXR1cm4gMDsKPiB9Cj4gc3RhdGljIGludCBuYmxfY2hhbl90YXNrX2ZpbmlzaCh2b2lk ICpwcml2KQo+IHsKPiBzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICpjaGFuX21ndCA9IChzdHJ1Y3Qg bmJsX2NoYW5uZWxfbWd0ICopcHJpdjsKPiB1bmlvbiBuYmxfY2hhbl9pbmZvICpjaGFuX2luZm8g PSBOQkxfQ0hBTl9NR1RfVE9fQ0hBTl9JTkZPKGNoYW5fbWd0KTsKPiAtIHB0aHJlYWRfY2FuY2Vs KChwdGhyZWFkX3QpY2hhbl9pbmZvLT5tYWlsYm94LnRpZC5vcGFxdWVfaWQpOwo+ICsgLyogc2V0 IHRlYXJkb3duIHN0YXRlIHRvIGNhdXNlIG1haWxib3ggdGhyZWFkIHRvIGV4aXQgKi8KPiArIG5i bF9jaGFuX3NldF9xdWV1ZV9zdGF0ZShwcml2LCBOQkxfQ0hBTl9URUFSRE9XTiwgdHJ1ZSk7Cj4g Y2xvc2UoY2hhbl9pbmZvLT5tYWlsYm94LmZkWzBdKTsKPiBjbG9zZShjaGFuX2luZm8tPm1haWxi b3guZmRbMV0pOwo+IGNoYW5faW5mby0+bWFpbGJveC5mZFswXSA9IC0xOwo+IGNoYW5faW5mby0+ bWFpbGJveC5mZFsxXSA9IC0xOwo+IHJ0ZV90aHJlYWRfam9pbihjaGFuX2luZm8tPm1haWxib3gu dGlkLCBOVUxMKTsKPiByZXR1cm4gMDsKPiB9Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4g5Y+R5Lu25Lq677yaU3Rl cGhlbiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPgo+IOWPkemAgeaXtumX tO+8mjIwMjXlubQ55pyIMjTml6Uo5ZGo5LiJKSAwMjoyNQo+IOaUtuS7tuS6uu+8mkRpbW9uPGRp bW9uLnpoYW9AbmVidWxhLW1hdHJpeC5jb20+Cj4g5oqEIOmAge+8mmRldjxkZXZAZHBkay5vcmc+ OyBLeW8gTGl1PGt5by5saXVAbmVidWxhLW1hdHJpeC5jb20+OyBMZW9uPGxlb24ueXVAbmVidWxh LW1hdHJpeC5jb20+OyBTYW08c2FtLmNoZW5AbmVidWxhLW1hdHJpeC5jb20+Cj4g5Li7IOmimO+8 mlJlOiBbUEFUQ0ggdjEwIDA0LzE3XSBuZXQvbmJsOiBhZGQgQ2hhbm5lbCBsYXllciBkZWZpbml0 aW9ucyBhbmQgaW1wbGVtZW50YXRpb24KPiBPbiBNb24sIDIyIFNlcCAyMDI1IDIwOjUzOjQ5IC0w NzAwCj4gRGltb24gWmhhbyA8ZGltb24uemhhb0BuZWJ1bGEtbWF0cml4LmNvbT4gd3JvdGU6Cj4g PiArCj4gPiArc3RhdGljIGludCBuYmxfY2hhbl90YXNrX2ZpbmlzaCh2b2lkICpwcml2KQo+ID4g K3sKPiA+ICsgc3RydWN0IG5ibF9jaGFubmVsX21ndCAqY2hhbl9tZ3QgPSAoc3RydWN0IG5ibF9j aGFubmVsX21ndCAqKXByaXY7Cj4gPiArIHVuaW9uIG5ibF9jaGFuX2luZm8gKmNoYW5faW5mbyA9 IE5CTF9DSEFOX01HVF9UT19DSEFOX0lORk8oY2hhbl9tZ3QpOwo+ID4gKwo+ID4gKyBwdGhyZWFk X2NhbmNlbCgocHRocmVhZF90KWNoYW5faW5mby0+bWFpbGJveC50aWQub3BhcXVlX2lkKTsKPiA+ ICsgY2xvc2UoY2hhbl9pbmZvLT5tYWlsYm94LmZkWzBdKTsKPiA+ICsgY2xvc2UoY2hhbl9pbmZv LT5tYWlsYm94LmZkWzFdKTsKPiA+ICsgY2hhbl9pbmZvLT5tYWlsYm94LmZkWzBdID0gLTE7Cj4g PiArIGNoYW5faW5mby0+bWFpbGJveC5mZFsxXSA9IC0xOwo+ID4gKyBydGVfdGhyZWFkX2pvaW4o Y2hhbl9pbmZvLT5tYWlsYm94LnRpZCwgTlVMTCk7Cj4gPiArIHJldHVybiAwOwo+ID4gK30gCj4g VXNpbmcgcHRocmVhZF9jYW5jZWwgaGFzIGEgY291cGxlIG9mIHByb2JsZW1zOiBwdGhyZWFkX2Nh bmNlbCB1c2VzIGEgc2lnbmFsIGFuZCB0aGVyZSBpcyBubyBzYWZlIGVxdWl2YWxlbnQgb24gV2lu ZG93cwo+IEEgYmV0dGVyIGFsdGVybmF0aXZlIGlzIHRvIGp1c3QgY2xvc2UgdGhlIHBpcGUgYW5k IHRoZW4gdGhlIHJlYWQKPiB3aWxsIHNhZmVseSBleGl0IHRoZSByZWFkKCkuIFNvbWV0aGluZyBs aWtlIHRoaXM6Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L25ibC9uYmxfaHcvbmJsX2NoYW5u ZWwuYyBiL2RyaXZlcnMvbmV0L25ibC9uYmxfaHcvbmJsX2NoYW5uZWwuYwo+IGluZGV4IGE2ODA2 MDc5OWMuLmM4NTcyYjNiNGEgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9uZXQvbmJsL25ibF9ody9u YmxfY2hhbm5lbC5jCj4gKysrIGIvZHJpdmVycy9uZXQvbmJsL25ibF9ody9uYmxfY2hhbm5lbC5j Cj4gQEAgLTU1MSw3ICs1NTEsNyBAQCBzdGF0aWMgaW50IG5ibF9jaGFuX3Rhc2tfZmluaXNoKHZv aWQgKnByaXYpCj4gc3RydWN0IG5ibF9jaGFubmVsX21ndCAqY2hhbl9tZ3QgPSAoc3RydWN0IG5i bF9jaGFubmVsX21ndCAqKXByaXY7Cj4gdW5pb24gbmJsX2NoYW5faW5mbyAqY2hhbl9pbmZvID0g TkJMX0NIQU5fTUdUX1RPX0NIQU5fSU5GTyhjaGFuX21ndCk7Cj4gLSBwdGhyZWFkX2NhbmNlbCgo cHRocmVhZF90KWNoYW5faW5mby0+bWFpbGJveC50aWQub3BhcXVlX2lkKTsKPiArIC8qIGNsb3Np bmcgcGlwZSB3aWxsIGNhdXNlIG1haWxib3ggdGhyZWFkIHRvIGV4aXQgKi8KPiBjbG9zZShjaGFu X2luZm8tPm1haWxib3guZmRbMF0pOwo+IGNsb3NlKGNoYW5faW5mby0+bWFpbGJveC5mZFsxXSk7 Cj4gY2hhbl9pbmZvLT5tYWlsYm94LmZkWzBdID0gLTE7Cj4gT2J2aW91c2x5LCBJIGRvbid0IGhh dmUgaGFyZHdhcmUgc28gbm90IHRlc3RlZC4KPiBZZXMsIG90aGVyIGRyaXZlcnMgY2FsbCBwdGhy ZWFkX2NhbmNlbCgpIGFuZCBJIGFtIHdvcmtpbmcgb24gYW4gUkZDCj4gcGF0Y2ggc2VyaWVzIHRv IGVsaW1pbmF0ZSBhbGwgdGhvc2UgcGxhY2VzLgpTdXJlIGEgYml0IG9yIGZsYWcgaXMgYSBnb29k IGFsdGVybmF0ZSBzb2x1dGlvbi4KWW91IGRvIHdhbnQgdG8gc3RpbGwgY2xvc2UgdGhlIHBpcGUg aW4gdGhlIG1haW4gdGhyZWFkCnRvIGNhdXNlIHRoZSByZWFkKCkgdG8gZ2V0IHVuYmxvY2tlZC4K ------=ALIBOUNDARY_1993_7f8be4ff3700_68d4b633_8339e Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 PGRpdiBjbGFzcz0iX19hbGl5dW5fZW1haWxfYm9keV9ibG9jayI+PGRpdiAgc3R5bGU9ImZvbnQt ZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1biI+PGRpdiAgc3R5 bGU9ImNsZWFyOiBib3RoOyBmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVNDLUxp Z2h0LCBTaW1TdW47Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBT VEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPjxzcGFuICBzdHlsZT0iY29sb3I6IHJnYigwLCAwLCAw KTsgZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGksIFNpbVN1bjsgZm9udC1zaXpl OiAxNHB4OyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtdmFyaWFudC1saWdhdHVyZXM6IG5vcm1h bDsgZm9udC12YXJpYW50LWNhcHM6IG5vcm1hbDsgZm9udC13ZWlnaHQ6IDQwMDsgbGV0dGVyLXNw YWNpbmc6IG5vcm1hbDsgdGV4dC1hbGlnbjogc3RhcnQ7IHRleHQtaW5kZW50OiAwcHg7IHRleHQt dHJhbnNmb3JtOiBub25lOyB3aGl0ZS1zcGFjZTogbm9ybWFsOyB3b3JkLXNwYWNpbmc6IDBweDsg YmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOyB0ZXh0LWRlY29yYXRpb24tdGhp Y2tuZXNzOiBpbml0aWFsOyB0ZXh0LWRlY29yYXRpb24tc3R5bGU6IGluaXRpYWw7IHRleHQtZGVj b3JhdGlvbi1jb2xvcjogaW5pdGlhbDsgZmxvYXQ6IG5vbmU7IGRpc3BsYXk6IGlubGluZSAhaW1w b3J0YW50OyI+SGkgU3RlcGhlbiw8L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVh cjogYm90aDsgZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2lt U3VuOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVND LUxpZ2h0LCBTaW1TdW47Ij48c3BhbiAgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQt ZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpLCBTaW1TdW47IGZvbnQtc2l6ZTogMTRweDsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub3JtYWw7IGZvbnQt dmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBu b3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9y bTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IGJhY2tncm91 bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczog aW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBpbml0aWFsOyB0ZXh0LWRlY29yYXRpb24t Y29sb3I6IGluaXRpYWw7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsi PjxiciA+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7IGZvbnQt ZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPjxzcGFuICBz dHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3Vu OyI+PHNwYW4gIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogVGFob21h LCBBcmlhbCwgU1RIZWl0aSwgU2ltU3VuOyBmb250LXNpemU6IDE0cHg7IGZvbnQtc3R5bGU6IG5v cm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczog bm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFs aWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRl LXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io MjU1LCAyNTUsIDI1NSk7IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IGluaXRpYWw7IHRleHQt ZGVjb3JhdGlvbi1zdHlsZTogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbml0aWFs OyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Ij48c3BhbiA+VGhhbmsg eW91IGZvciB5b3VyIHZhbHVhYmxlIGZlZWRiYWNrLjwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2 PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsgZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNU SGVpdGlTQy1MaWdodCwgU2ltU3VuOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21h LCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij48c3BhbiAgc3R5bGU9ImNvbG9yOiBy Z2IoMCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpLCBTaW1TdW47 IGZvbnQtc2l6ZTogMTRweDsgZm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1 cmVzOiBub3JtYWw7IGZvbnQtdmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7 IGxldHRlci1zcGFjaW5nOiBub3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDog MHB4OyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFj aW5nOiAwcHg7IGJhY2tncm91bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgdGV4dC1kZWNv cmF0aW9uLXRoaWNrbmVzczogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBpbml0aWFs OyB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGluaXRpYWw7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBp bmxpbmUgIWltcG9ydGFudDsiPjxzcGFuID5JIHdpbGwgZml4IGl0IGluIG5leHQgdjExIHBhdGNo IHNlcmllcy48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJv dGg7IGZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsi PjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdo dCwgU2ltU3VuOyI+PHNwYW4gIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWls eTogVGFob21hLCBBcmlhbCwgU1RIZWl0aSwgU2ltU3VuOyBmb250LXNpemU6IDE0cHg7IGZvbnQt c3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsOyBmb250LXZhcmlh bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyBiYWNrZ3JvdW5kLWNv bG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IGluaXRp YWw7IHRleHQtZGVjb3JhdGlvbi1zdHlsZTogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLWNvbG9y OiBpbml0aWFsOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Ij48c3Bh biA+PGJyID48L3NwYW4+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJv dGg7IGZvbnQtZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsi PjxzcGFuICBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdo dCwgU2ltU3VuOyI+PHNwYW4gIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWls eTogVGFob21hLCBBcmlhbCwgU1RIZWl0aSwgU2ltU3VuOyBmb250LXNpemU6IDE0cHg7IGZvbnQt c3R5bGU6IG5vcm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsOyBmb250LXZhcmlh bnQtY2Fwczogbm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFs OyB0ZXh0LWFsaWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5v bmU7IHdoaXRlLXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyBiYWNrZ3JvdW5kLWNv bG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IGluaXRp YWw7IHRleHQtZGVjb3JhdGlvbi1zdHlsZTogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLWNvbG9y OiBpbml0aWFsOyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Ij48c3Bh biA+VGhhbmsgeW91Ljwvc3Bhbj48L3NwYW4+PC9zcGFuPjwvZGl2PjxkaXYgIHN0eWxlPSJjbGVh cjogYm90aDsgZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2lt U3VuOyI+PHNwYW4gIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hLCBBcmlhbCwgU1RIZWl0aVND LUxpZ2h0LCBTaW1TdW47Ij48c3BhbiAgc3R5bGU9ImNvbG9yOiByZ2IoMCwgMCwgMCk7IGZvbnQt ZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpLCBTaW1TdW47IGZvbnQtc2l6ZTogMTRweDsg Zm9udC1zdHlsZTogbm9ybWFsOyBmb250LXZhcmlhbnQtbGlnYXR1cmVzOiBub3JtYWw7IGZvbnQt dmFyaWFudC1jYXBzOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiA0MDA7IGxldHRlci1zcGFjaW5nOiBu b3JtYWw7IHRleHQtYWxpZ246IHN0YXJ0OyB0ZXh0LWluZGVudDogMHB4OyB0ZXh0LXRyYW5zZm9y bTogbm9uZTsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgd29yZC1zcGFjaW5nOiAwcHg7IGJhY2tncm91 bmQtY29sb3I6IHJnYigyNTUsIDI1NSwgMjU1KTsgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczog aW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLXN0eWxlOiBpbml0aWFsOyB0ZXh0LWRlY29yYXRpb24t Y29sb3I6IGluaXRpYWw7IGZsb2F0OiBub25lOyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsi PjxiciA+PC9zcGFuPjwvc3Bhbj48L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7IGZvbnQt ZmFtaWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPjxzcGFuICBz dHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYSwgQXJpYWwsIFNUSGVpdGlTQy1MaWdodCwgU2ltU3Vu OyI+PHNwYW4gIHN0eWxlPSJjb2xvcjogcmdiKDAsIDAsIDApOyBmb250LWZhbWlseTogVGFob21h LCBBcmlhbCwgU1RIZWl0aSwgU2ltU3VuOyBmb250LXNpemU6IDE0cHg7IGZvbnQtc3R5bGU6IG5v cm1hbDsgZm9udC12YXJpYW50LWxpZ2F0dXJlczogbm9ybWFsOyBmb250LXZhcmlhbnQtY2Fwczog bm9ybWFsOyBmb250LXdlaWdodDogNDAwOyBsZXR0ZXItc3BhY2luZzogbm9ybWFsOyB0ZXh0LWFs aWduOiBzdGFydDsgdGV4dC1pbmRlbnQ6IDBweDsgdGV4dC10cmFuc2Zvcm06IG5vbmU7IHdoaXRl LXNwYWNlOiBub3JtYWw7IHdvcmQtc3BhY2luZzogMHB4OyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2Io MjU1LCAyNTUsIDI1NSk7IHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IGluaXRpYWw7IHRleHQt ZGVjb3JhdGlvbi1zdHlsZTogaW5pdGlhbDsgdGV4dC1kZWNvcmF0aW9uLWNvbG9yOiBpbml0aWFs OyBmbG9hdDogbm9uZTsgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7Ij48YnIgPjwvc3Bhbj48 L3NwYW4+PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyBmb250LWZhbWlseTogVGFob21h LCBBcmlhbCwgU1RIZWl0aVNDLUxpZ2h0LCBTaW1TdW47Ij48c3BhbiAgc3R5bGU9ImZvbnQtZmFt aWx5OiBUYWhvbWEsIEFyaWFsLCBTVEhlaXRpU0MtTGlnaHQsIFNpbVN1bjsiPjxiciA+PC9zcGFu PjwvZGl2PjxibG9ja3F1b3RlICBfcXVvdGU9IjEiIHN0eWxlPSJtYXJnaW4tcmlnaHQ6IDBweDsg bWFyZ2luLXRvcDogMHB4OyBtYXJnaW4tYm90dG9tOiAwcHg7IGZvbnQtZmFtaWx5OiBUYWhvbWEs IEFyaWFsLCBTVEhlaXRpLCBTaW1TdW47IGZvbnQtc2l6ZTogMTRweDsgY29sb3I6IHJnYigwLCAw LCAwKTsiPjxkaXYgIGNsYXNzPSJhbGltYWlsLXF1b3RlIj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJv dGg7Ij4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS08L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij7lj5Hku7bkurrv vJpTdGVwaGVuIEhlbW1pbmdlciAmbHQ7c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmcmZ3Q7PC9k aXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+5Y+R6YCB5pe26Ze077yaMjAyNeW5tDnmnIgy NOaXpSjlkajkuIkpIDIzOjI3PC9kaXY+PGRpdiAgc3R5bGU9ImNsZWFyOiBib3RoOyI+5pS25Lu2 5Lq677yaRGltb24mbHQ7ZGltb24uemhhb0BuZWJ1bGEtbWF0cml4LmNvbSZndDs8L2Rpdj48ZGl2 ICBzdHlsZT0iY2xlYXI6IGJvdGg7Ij7mioTjgIDpgIHvvJpkZXYmbHQ7ZGV2QGRwZGsub3JnJmd0 OzsgS3lvIExpdSZsdDtreW8ubGl1QG5lYnVsYS1tYXRyaXguY29tJmd0OzsgTGVvbiZsdDtsZW9u Lnl1QG5lYnVsYS1tYXRyaXguY29tJmd0OzsgU2FtJmx0O3NhbS5jaGVuQG5lYnVsYS1tYXRyaXgu Y29tJmd0OzwvZGl2PjxkaXYgIHN0eWxlPSJjbGVhcjogYm90aDsiPuS4u+OAgOmimO+8mlJlOiDl m57lpI3vvJpbUEFUQ0ggdjEwIDA0LzE3XSBuZXQvbmJsOiBhZGQgQ2hhbm5lbCBsYXllciBkZWZp bml0aW9ucyBhbmQgaW1wbGVtZW50YXRpb248L2Rpdj48ZGl2ICBzdHlsZT0iY2xlYXI6IGJvdGg7 Ij48YnIgPjwvZGl2Pk9uIFdlZCwgMjQgU2VwIDIwMjUgMTc6NDA6MDAgKzA4MDA8YnIgPiJEaW1v biIgJmx0O2RpbW9uLnpoYW9AbmVidWxhLW1hdHJpeC5jb20mZ3Q7IHdyb3RlOjxiciA+PGJyID4m Z3Q7IEhpIFN0ZXBoZW4sPGJyID4mZ3Q7IFRoYW5rIHlvdSBmb3IgeW91ciB2YWx1YWJsZSBmZWVk YmFjay4gSSBmdWxseSB1bmRlcnN0YW5kIHlvdXIgY29uY2VybiBhYm91dCBwdGhyZWFkX2NhbmNl bC48YnIgPiZndDsgSG93ZXZlciwgZHVlIHRvIG91ciBjaGlwIGRlc2lnbiBjb25zdHJhaW50cywg ZHVyaW5nIHRoZSByZW1vdmUgcHJvY2VzcywgYSBmZXcgbWFpbGJveCBtZXNzYWdlcyB3aWxsIHN0 aWxsIGJlIHNlbnQgYWZ0ZXIgZGlzYWJsaW5nIG1haWxib3ggaW50ZXJydXB0cy48YnIgPiZndDsg U2luY2UgbWFpbGJveCBpbnRlcnJ1cHRzIGFyZSBhbHJlYWR5IGNsb3NlZCBhdCB0aGlzIHBvaW50 LCB3ZSBjYW5ub3QgcmVseSBvbiBwaXBlIHJlYWRzIHRvIHRyaWdnZXIgbWFpbGJveCBBQ0sgcmVj ZXB0aW9uLjxiciA+Jmd0OyBUaGVyZWZvcmUsIHRoZSBhY2tzIG9mIHRoZXNlIG1haWxib3ggbWVz c2FnZXMgaGF2ZSB0byBiZSByZWNlaXZlZCB1c2luZyBwb2xsaW5nLiBUaGlzIGlzIHdoeSB3ZSBu ZWVkIHRoZSBOQkxfQ0hBTl9JTlRFUlJVUFRfUkVBRFkgZmxhZy48YnIgPiZndDsgSSd2ZSBpbXBs ZW1lbnRlZCBhbiBhbHRlcm5hdGl2ZSwgYWRkaW5nIGEgc3RhdGUgZmxhZyBOQkxfQ0hBTl9URUFS RE9XTiB0byBub3RpZnkgdGhlIHBvbGxpbmcgdGFzayB0byBleGl0LjxiciA+Jmd0OyBIZXJlJ3Mg dGhlIGNvZGUgbW9kaWZpY2F0aW9uLjxiciA+Jmd0OyBJJ3ZlIHRlc3RlZCB0aGlzIG9uIG91ciBo YXJkd2FyZSBhbmQgaXQgd29ya3MgZmluZS48YnIgPiZndDsgRG8geW91IHRoaW5rIHRoaXMgbW9k aWZpY2F0aW9uIGlzIG9rYXk/PGJyID4mZ3Q7IHN0YXRpYyB1aW50MzJfdCBuYmxfY2hhbl90aHJl YWRfcG9sbGluZ190YXNrKHZvaWQgKnBhcmFtKTxiciA+Jmd0OyB7PGJyID4mZ3Q7Jm5ic3A7IHN0 cnVjdCBuYmxfY2hhbm5lbF9tZ3QgKmNoYW5fbWd0ID0gKHN0cnVjdCBuYmxfY2hhbm5lbF9tZ3Qg KilwYXJhbTs8YnIgPiZndDsmbmJzcDsgdW5pb24gbmJsX2NoYW5faW5mbyAqY2hhbl9pbmZvID0g TkJMX0NIQU5fTUdUX1RPX0NIQU5fSU5GTyhjaGFuX21ndCk7PGJyID4mZ3Q7Jm5ic3A7IHN0cnVj dCB0aW1lc3BlYyB0aW1lOzxiciA+Jmd0OyZuYnNwOyBjaGFyIHVudXNlZFsxNl07PGJyID4mZ3Q7 Jm5ic3A7IHNzaXplX3QgbnIgPSAwOzxiciA+Jmd0OyZuYnNwOyB0aW1lLnR2X3NlYyA9IDA7PGJy ID4mZ3Q7Jm5ic3A7IHRpbWUudHZfbnNlYyA9IDEwMDAwMDs8YnIgPiZndDsmbmJzcDsgd2hpbGUg KHRydWUpIHs8YnIgPiZndDsmbmJzcDsgaWYgKHJ0ZV9iaXRtYXBfZ2V0KGNoYW5faW5mby0mZ3Q7 bWFpbGJveC5zdGF0ZV9ibXAsIE5CTF9DSEFOX0lOVEVSUlVQVF9SRUFEWSkpIHs8YnIgPiZndDsm bmJzcDsgbnIgPSByZWFkKGNoYW5faW5mby0mZ3Q7bWFpbGJveC5mZFswXSwgJmFtcDt1bnVzZWQs IHNpemVvZih1bnVzZWQpKTs8YnIgPiZndDsmbmJzcDsgaWYgKG5yICZsdDsgMCk8YnIgPiZndDsm bmJzcDsgYnJlYWs7PGJyID4mZ3Q7IC0gfTxiciA+Jmd0OyArIH0gZWxzZSBpZiAocnRlX2JpdG1h cF9nZXQoY2hhbl9pbmZvLSZndDttYWlsYm94LnN0YXRlX2JtcCwgTkJMX0NIQU5fVEVBUkRPV04p KSB7PGJyID4mZ3Q7ICsgYnJlYWs7PGJyID4mZ3Q7ICsgfTxiciA+Jmd0OyZuYnNwOyBuYmxfY2hh bl9jbGVhbl9xdWV1ZShjaGFuX21ndCk7PGJyID4mZ3Q7Jm5ic3A7IG5hbm9zbGVlcCgmYW1wO3Rp bWUsIDApOzxiciA+Jmd0OyZuYnNwOyB9PGJyID4mZ3Q7Jm5ic3A7IHJldHVybiAwOzxiciA+Jmd0 OyB9PGJyID4mZ3Q7IHN0YXRpYyBpbnQgbmJsX2NoYW5fdGFza19maW5pc2godm9pZCAqcHJpdik8 YnIgPiZndDsgezxiciA+Jmd0OyZuYnNwOyBzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICpjaGFuX21n dCA9IChzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICopcHJpdjs8YnIgPiZndDsmbmJzcDsgdW5pb24g bmJsX2NoYW5faW5mbyAqY2hhbl9pbmZvID0gTkJMX0NIQU5fTUdUX1RPX0NIQU5fSU5GTyhjaGFu X21ndCk7PGJyID4mZ3Q7IC0gcHRocmVhZF9jYW5jZWwoKHB0aHJlYWRfdCljaGFuX2luZm8tJmd0 O21haWxib3gudGlkLm9wYXF1ZV9pZCk7PGJyID4mZ3Q7ICsgLyogc2V0IHRlYXJkb3duIHN0YXRl IHRvIGNhdXNlIG1haWxib3ggdGhyZWFkIHRvIGV4aXQgKi88YnIgPiZndDsgKyBuYmxfY2hhbl9z ZXRfcXVldWVfc3RhdGUocHJpdiwgTkJMX0NIQU5fVEVBUkRPV04sIHRydWUpOzxiciA+Jmd0OyZu YnNwOyBjbG9zZShjaGFuX2luZm8tJmd0O21haWxib3guZmRbMF0pOzxiciA+Jmd0OyZuYnNwOyBj bG9zZShjaGFuX2luZm8tJmd0O21haWxib3guZmRbMV0pOzxiciA+Jmd0OyZuYnNwOyBjaGFuX2lu Zm8tJmd0O21haWxib3guZmRbMF0gPSAtMTs8YnIgPiZndDsmbmJzcDsgY2hhbl9pbmZvLSZndDtt YWlsYm94LmZkWzFdID0gLTE7PGJyID4mZ3Q7Jm5ic3A7IHJ0ZV90aHJlYWRfam9pbihjaGFuX2lu Zm8tJmd0O21haWxib3gudGlkLCBOVUxMKTs8YnIgPiZndDsmbmJzcDsgcmV0dXJuIDA7PGJyID4m Z3Q7IH08YnIgPiZndDsgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyID4mZ3Q7IOWPkeS7tuS6uu+8mlN0ZXBoZW4gSGVt bWluZ2VyICZsdDtzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZyZndDs8YnIgPiZndDsg5Y+R6YCB 5pe26Ze077yaMjAyNeW5tDnmnIgyNOaXpSjlkajkuIkpIDAyOjI1PGJyID4mZ3Q7IOaUtuS7tuS6 uu+8mkRpbW9uJmx0O2RpbW9uLnpoYW9AbmVidWxhLW1hdHJpeC5jb20mZ3Q7PGJyID4mZ3Q7IOaK hCDpgIHvvJpkZXYmbHQ7ZGV2QGRwZGsub3JnJmd0OzsgS3lvIExpdSZsdDtreW8ubGl1QG5lYnVs YS1tYXRyaXguY29tJmd0OzsgTGVvbiZsdDtsZW9uLnl1QG5lYnVsYS1tYXRyaXguY29tJmd0Ozsg U2FtJmx0O3NhbS5jaGVuQG5lYnVsYS1tYXRyaXguY29tJmd0OzxiciA+Jmd0OyDkuLsg6aKY77ya UmU6IFtQQVRDSCB2MTAgMDQvMTddIG5ldC9uYmw6IGFkZCBDaGFubmVsIGxheWVyIGRlZmluaXRp b25zIGFuZCBpbXBsZW1lbnRhdGlvbjxiciA+Jmd0OyBPbiBNb24sIDIyIFNlcCAyMDI1IDIwOjUz OjQ5IC0wNzAwPGJyID4mZ3Q7IERpbW9uIFpoYW8gJmx0O2RpbW9uLnpoYW9AbmVidWxhLW1hdHJp eC5jb20mZ3Q7IHdyb3RlOjxiciA+Jmd0OyAmZ3Q7ICs8YnIgPiZndDsgJmd0OyArc3RhdGljIGlu dCBuYmxfY2hhbl90YXNrX2ZpbmlzaCh2b2lkICpwcml2KTxiciA+Jmd0OyAmZ3Q7ICt7PGJyID4m Z3Q7ICZndDsgKyBzdHJ1Y3QgbmJsX2NoYW5uZWxfbWd0ICpjaGFuX21ndCA9IChzdHJ1Y3QgbmJs X2NoYW5uZWxfbWd0ICopcHJpdjs8YnIgPiZndDsgJmd0OyArIHVuaW9uIG5ibF9jaGFuX2luZm8g KmNoYW5faW5mbyA9IE5CTF9DSEFOX01HVF9UT19DSEFOX0lORk8oY2hhbl9tZ3QpOzxiciA+Jmd0 OyAmZ3Q7ICs8YnIgPiZndDsgJmd0OyArIHB0aHJlYWRfY2FuY2VsKChwdGhyZWFkX3QpY2hhbl9p bmZvLSZndDttYWlsYm94LnRpZC5vcGFxdWVfaWQpOzxiciA+Jmd0OyAmZ3Q7ICsgY2xvc2UoY2hh bl9pbmZvLSZndDttYWlsYm94LmZkWzBdKTs8YnIgPiZndDsgJmd0OyArIGNsb3NlKGNoYW5faW5m by0mZ3Q7bWFpbGJveC5mZFsxXSk7PGJyID4mZ3Q7ICZndDsgKyBjaGFuX2luZm8tJmd0O21haWxi b3guZmRbMF0gPSAtMTs8YnIgPiZndDsgJmd0OyArIGNoYW5faW5mby0mZ3Q7bWFpbGJveC5mZFsx XSA9IC0xOzxiciA+Jmd0OyAmZ3Q7ICsgcnRlX3RocmVhZF9qb2luKGNoYW5faW5mby0mZ3Q7bWFp bGJveC50aWQsIE5VTEwpOzxiciA+Jmd0OyAmZ3Q7ICsgcmV0dXJuIDA7PGJyID4mZ3Q7ICZndDsg K30mbmJzcDsgPGJyID4mZ3Q7IFVzaW5nIHB0aHJlYWRfY2FuY2VsIGhhcyBhIGNvdXBsZSBvZiBw cm9ibGVtczogcHRocmVhZF9jYW5jZWwgdXNlcyBhIHNpZ25hbCBhbmQgdGhlcmUgaXMgbm8gc2Fm ZSBlcXVpdmFsZW50IG9uIFdpbmRvd3M8YnIgPiZndDsgQSBiZXR0ZXIgYWx0ZXJuYXRpdmUgaXMg dG8ganVzdCBjbG9zZSB0aGUgcGlwZSBhbmQgdGhlbiB0aGUgcmVhZDxiciA+Jmd0OyB3aWxsIHNh ZmVseSBleGl0IHRoZSByZWFkKCkuIFNvbWV0aGluZyBsaWtlIHRoaXM6PGJyID4mZ3Q7IGRpZmYg LS1naXQgYS9kcml2ZXJzL25ldC9uYmwvbmJsX2h3L25ibF9jaGFubmVsLmMgYi9kcml2ZXJzL25l dC9uYmwvbmJsX2h3L25ibF9jaGFubmVsLmM8YnIgPiZndDsgaW5kZXggYTY4MDYwNzk5Yy4uYzg1 NzJiM2I0YSAxMDA2NDQ8YnIgPiZndDsgLS0tIGEvZHJpdmVycy9uZXQvbmJsL25ibF9ody9uYmxf Y2hhbm5lbC5jPGJyID4mZ3Q7ICsrKyBiL2RyaXZlcnMvbmV0L25ibC9uYmxfaHcvbmJsX2NoYW5u ZWwuYzxiciA+Jmd0OyBAQCAtNTUxLDcgKzU1MSw3IEBAIHN0YXRpYyBpbnQgbmJsX2NoYW5fdGFz a19maW5pc2godm9pZCAqcHJpdik8YnIgPiZndDsmbmJzcDsgc3RydWN0IG5ibF9jaGFubmVsX21n dCAqY2hhbl9tZ3QgPSAoc3RydWN0IG5ibF9jaGFubmVsX21ndCAqKXByaXY7PGJyID4mZ3Q7Jm5i c3A7IHVuaW9uIG5ibF9jaGFuX2luZm8gKmNoYW5faW5mbyA9IE5CTF9DSEFOX01HVF9UT19DSEFO X0lORk8oY2hhbl9tZ3QpOzxiciA+Jmd0OyAtIHB0aHJlYWRfY2FuY2VsKChwdGhyZWFkX3QpY2hh bl9pbmZvLSZndDttYWlsYm94LnRpZC5vcGFxdWVfaWQpOzxiciA+Jmd0OyArIC8qIGNsb3Npbmcg cGlwZSB3aWxsIGNhdXNlIG1haWxib3ggdGhyZWFkIHRvIGV4aXQgKi88YnIgPiZndDsmbmJzcDsg Y2xvc2UoY2hhbl9pbmZvLSZndDttYWlsYm94LmZkWzBdKTs8YnIgPiZndDsmbmJzcDsgY2xvc2Uo Y2hhbl9pbmZvLSZndDttYWlsYm94LmZkWzFdKTs8YnIgPiZndDsmbmJzcDsgY2hhbl9pbmZvLSZn dDttYWlsYm94LmZkWzBdID0gLTE7PGJyID4mZ3Q7IE9idmlvdXNseSwgSSBkb24ndCBoYXZlIGhh cmR3YXJlIHNvIG5vdCB0ZXN0ZWQuPGJyID4mZ3Q7IFllcywgb3RoZXIgZHJpdmVycyBjYWxsIHB0 aHJlYWRfY2FuY2VsKCkgYW5kIEkgYW0gd29ya2luZyBvbiBhbiBSRkM8YnIgPiZndDsgcGF0Y2gg c2VyaWVzIHRvIGVsaW1pbmF0ZSBhbGwgdGhvc2UgcGxhY2VzLjxiciA+PGJyID5TdXJlIGEgYml0 IG9yIGZsYWcgaXMgYSBnb29kIGFsdGVybmF0ZSBzb2x1dGlvbi48YnIgPllvdSBkbyB3YW50IHRv IHN0aWxsIGNsb3NlIHRoZSBwaXBlIGluIHRoZSBtYWluIHRocmVhZDxiciA+dG8gY2F1c2UgdGhl IHJlYWQoKSB0byBnZXQgdW5ibG9ja2VkLjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2ICBzdHlsZT0i bGluZS1oZWlnaHQ6IDIwcHg7IGNsZWFyOiBib3RoOyI+PGJyID48L2Rpdj48L2Rpdj48L2Rpdj4N CjxkaXYgc3R5bGU9ImNsZWFyOiBib3RoOyI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBweDsg Y29sb3I6IHJnYigyMTYsIDIxNiwgMjE2KTsiPuacrOmCruS7tuaJgOWQq+S/oeaBr+WPiuWFtuS7 u+S9lemZhOS7tuS4uuS/neWvhuS/oeaBr+S4lOWPr+iDveWxnuS6juS4k+acieS/oeaBr+OAguS7 u+S9lemdnuaMh+WumuaOpeaUtuS6uuWdh+aXoOadg+iuv+mXruacrOmCruS7tuOAguWmguaenOaC qOS4jeaYr+ivpemCruS7tueahOaMh+WumuaOpeaUtuS6uu+8jOmCo+S5iOS7u+S9leWvueacrOmC ruS7tuWGheWuuei/m+ihjOaKq+mcsu+8jOWkjeWItuaIluS9v+eUqOeahOihjOS4uuWdh+aYr+em geatoueahOOAguWmguaenOaCqOS4jeaYr+ivpemCruS7tueahOaMh+WumuaOpeaUtuS6uu+8jOiv t+aCqOeri+WNs+mAmui/h+mCruS7tumAmuefpSZuYnNwO2NvbXBsaWFuY2VAbmVidWxhLW1hdHJp eC5jb23lubbnq4vljbPliKDpmaTmgqjplJnor6/mjqXlj5fnmoTpgq7ku7bjgII8L3NwYW4+PC9k aXY+PGRpdiBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxMHB4 OyBjb2xvcjogcmdiKDIxNiwgMjE2LCAyMTYpOyI+VGhlJm5ic3A7aW5mb3JtYXRpb24mbmJzcDtp biZuYnNwO3RoaXMmbmJzcDttZXNzYWdlJm5ic3A7YW5kJm5ic3A7YW55Jm5ic3A7YXR0YWNobWVu dHMmbmJzcDtpcyZuYnNwO2NvbmZpZGVudGlhbCZuYnNwO2FuZCZuYnNwO21heSZuYnNwO2JlJm5i c3A7cHJpdmlsZWdlZC4mbmJzcDsmbmJzcDtBY2Nlc3MmbmJzcDt0byZuYnNwO3RoaXMmbmJzcDtl bWFpbCZuYnNwO2J5Jm5ic3A7YW55b25lJm5ic3A7b3RoZXImbmJzcDt0aGFuJm5ic3A7dGhlJm5i c3A7aW50ZW5kZWQmbmJzcDtyZWNpcGllbnQmbmJzcDtpcyZuYnNwO25vdCZuYnNwO2F1dGhvcml6 ZWQuJm5ic3A7Jm5ic3A7SWYmbmJzcDt5b3UmbmJzcDthcmUmbmJzcDtub3QmbmJzcDt0aGUmbmJz cDtpbnRlbmRlZCZuYnNwO3JlY2lwaWVudCwmbmJzcDtkaXNjbG9zdXJlLCZuYnNwO2NvcHlpbmcm bmJzcDtvciZuYnNwO3VzZSZuYnNwO29mJm5ic3A7dGhlJm5ic3A7Y29udGVudHMmbmJzcDtvZiZu YnNwO3RoaXMmbmJzcDtlbWFpbCZuYnNwO2lzJm5ic3A7cHJvaGliaXRlZC4mbmJzcDsmbmJzcDtJ ZiZuYnNwO3lvdSZuYnNwO2FyZSZuYnNwO25vdCZuYnNwO3RoZSZuYnNwO2ludGVuZGVkJm5ic3A7 cmVjaXBpZW50LCZuYnNwO3BsZWFzZSZuYnNwO25vdGlmeSZuYnNwOyZuYnNwO2NvbXBsaWFuY2VA bmVidWxhLW1hdHJpeC5jb20mbmJzcDtpbW1lZGlhdGVseSZuYnNwO2J5Jm5ic3A7ZW1haWwsJm5i c3A7YW5kJm5ic3A7cGxlYXNlJm5ic3A7ZGVzdHJveSZuYnNwO3RoZSZuYnNwO2VtYWlsJm5ic3A7 eW91Jm5ic3A7cmVjZWl2ZWQmbmJzcDtpbiZuYnNwO2Vycm9yLjwvc3Bhbj48L2Rpdj4= ------=ALIBOUNDARY_1993_7f8be4ff3700_68d4b633_8339e--