From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id D707F46F79 for ; Fri, 25 Aug 2023 05:34:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A9FB468C6A6; Fri, 25 Aug 2023 08:34:07 +0300 (EEST) Received: from mail-vk1-f173.google.com (mail-vk1-f173.google.com [209.85.221.173]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7118C68C618 for ; Fri, 25 Aug 2023 08:34:01 +0300 (EEST) Received: by mail-vk1-f173.google.com with SMTP id 71dfb90a1353d-48d0e332f4dso234747e0c.2 for ; Thu, 24 Aug 2023 22:34:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1692941640; x=1693546440; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Q4GAEFHhftrMIVu0tmLhBLvjzCHUg9CWgpzth22oY8k=; b=cnKnEml8GqElQo9vKI2nAbqhUrX4gmPDlhstvvbYFY/7FnAD/2lCM9pArNKwJNJBw6 ZZQAljdL477hhZom1OECXU+6aMiQ/CXf2zcOkZ0O/+Q0tCbSs5K48QzbY/gMNceEQ+iV OB22fWo5GSeLwXwUzi0tXjSRdVHKsGosgBUZ19EKyVgc4gSvWsxZIa6fpHXQD9uJWSUk ywRTdL9aOzn/Aj4uyKzJkUpd2/H3jMcjya3dRlB5Ms++5Z+8oylJVadXF1xsrjOcQRAx Ig/5//UjSTTjaYKeclnAIYticc30pO8WmcpvTVzBnaI6wOLxw6g2/2SCFInNmkcybDfA cVlw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1692941640; x=1693546440; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Q4GAEFHhftrMIVu0tmLhBLvjzCHUg9CWgpzth22oY8k=; b=apRl3RxlRCi1oTihUwOLWJ31rUGPrMxU3oMnIOiuiRAyTIK0Zqa4+49zd4r08DO/BQ WSBhZQtSZhpJCv0o2Tx+lh+YvRK+K6jb3iSRkgW49dACKgPI01p7txO6+yQt+LJ1OaMk okTFxGmGGITukM+IazfsGKVMpikeTvG7doSKc0UVd+UKs1/BqDT8/kltkb1NJOKaGWFV KcDMMw3URdie9PKCfmmoMr4sPbqSwuPs2lBk957n6ZSIB9zv6p7Rb9BY2bUTLAzePSDI lSZH2v9b2UzzHKyAycc+nu+YOf+eqhjwfsmxd+pEj+7jFK1zowt0J/ILxgD2Z9L5mA07 gh0A== X-Gm-Message-State: AOJu0YwyZB4gYT9bFY8zvtE1Otmc/oaO6UR7itd1PxOHf3z26tnCIcfi s188XUKQ3Re8ZgxH6Lepqtkf+DtpZowFJrtu62oRC7OxQ925nkiC X-Google-Smtp-Source: AGHT+IEIWNuOGOFFaVh/2P05FvcPgAIUt8N7H2JVsgmqmsIKGg3NTwT+ooVcxjVftxx8l1BquDElf77Icm6iyTQ1rZM= X-Received: by 2002:a1f:4d83:0:b0:48d:13be:92c3 with SMTP id a125-20020a1f4d83000000b0048d13be92c3mr12257770vkb.8.1692941639770; Thu, 24 Aug 2023 22:33:59 -0700 (PDT) MIME-Version: 1.0 References: <20230824053213.982-1-lq@chinaffmpeg.org> <20230824053213.982-2-lq@chinaffmpeg.org> <776917a5-a1fc-457b-df47-c3d76ecb112b@passwd.hu> In-Reply-To: <776917a5-a1fc-457b-df47-c3d76ecb112b@passwd.hu> From: Steven Liu Date: Fri, 25 Aug 2023 13:33:48 +0800 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v1 2/2] avformat/rtmpproto: support enhanced rtmp X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: TWFydG9uIEJhbGludCA8Y3VzQHBhc3N3ZC5odT4g5LqOMjAyM+W5tDjmnIgyNeaXpeWRqOS6lCAw NTo0OOWGmemBk++8mgpIaSBNYXJ0b24sCgo+Cj4KPgo+IE9uIFRodSwgMjQgQXVnIDIwMjMsIFRy aXN0YW4gTWF0dGhld3Mgd3JvdGU6Cj4KPiA+IEhpLAo+ID4KPiA+IE9uIFRodSwgQXVnIDI0LCAy MDIzIGF0IDE6MzLigK9BTSBTdGV2ZW4gTGl1IDxscUBjaGluYWZmbXBlZy5vcmc+IHdyb3RlOgo+ ID4+Cj4gPj4gYWRkIG9wdGlvbiBuYW1lZCBydG1wX2VuaGFuY2VkX2NvZGVjLAo+ID4+IGl0IHdv dWxkIHN1cHBvcnQgaHZjMSxhdjAxLHZwMDkgbm93LAo+ID4+IHRoZSBmb3VyY2MgaXMgdXNpbmcg QXJyYXkgb2Ygc3RyaW5ncy4KPiA+Pgo+ID4+IFNpZ25lZC1vZmYtYnk6IFN0ZXZlbiBMaXUgPGxx QGNoaW5hZmZtcGVnLm9yZz4KPiA+PiAtLS0KPiA+PiAgZG9jL3Byb3RvY29scy50ZXhpICAgICAg fCAgNiArKysrKysKPiA+PiAgbGliYXZmb3JtYXQvcnRtcHByb3RvLmMgfCAzOCArKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4+ICAyIGZpbGVzIGNoYW5nZWQsIDQ0IGlu c2VydGlvbnMoKykKPiA+Pgo+ID4+IGRpZmYgLS1naXQgYS9kb2MvcHJvdG9jb2xzLnRleGkgYi9k b2MvcHJvdG9jb2xzLnRleGkKPiA+PiBpbmRleCBiM2ZhZDU1NTkxLi5mMjkzMGZiM2EyIDEwMDY0 NAo+ID4+IC0tLSBhL2RvYy9wcm90b2NvbHMudGV4aQo+ID4+ICsrKyBiL2RvYy9wcm90b2NvbHMu dGV4aQo+ID4+IEBAIC04OTYsNiArODk2LDEyIEBAIGJlIG5hbWVkLCBieSBwcmVmaXhpbmcgdGhl IHR5cGUgd2l0aCAnTicgYW5kIHNwZWNpZnlpbmcgdGhlIG5hbWUgYmVmb3JlCj4gPj4gIHRoZSB2 YWx1ZSAoaS5lLiBAY29kZXtOQjpteUZsYWc6MX0pLiBUaGlzIG9wdGlvbiBtYXkgYmUgdXNlZCBt dWx0aXBsZQo+ID4+ICB0aW1lcyB0byBjb25zdHJ1Y3QgYXJiaXRyYXJ5IEFNRiBzZXF1ZW5jZXMu Cj4gPj4KPiA+PiArQGl0ZW0gcnRtcF9lbmhhbmNlZF9jb2RlYwo+Cj4gVGhpcyBpcyBhIGxpc3Qs IHNvIG1ha2UgaXQgLXJ0bXBfZW5oYW5jZWRfY29kZWNzCj4KPiA+PiArU3BlY2lmeSB0aGF0IHRo ZSBtZWRpYSBpcyBhbiBlbmhhbmNlZCBydG1wIGxpdmUgc3RyZWFtLiBUaGlzIG9wdGlvbiBzaG91 bGQKPiA+PiArc2V0IGEgc3RpbmcgbGlrZSBAY29kZXtodmMxLGF2MDEsdnAwOX0gZm9yIG11bHRp cGxlIGNvZGVjcywgb3IgQGNvZGV7aHZjMX0KPiA+Cj4gPiBJIHRoaW5rIHRoaXMgc2hvdWxkIGJl IG1vcmUgbGlrZSAiU3BlY2lmeSB0aGUgY29kZWNzIHRvIHVzZSBpbiBhbgo+ID4gZW5oYW5jZWQg cnRtcCBsaXZlIHN0cmVhbSIsIHRoZSB3b3JkaW5nIGhlcmUgbWFrZXMgaXQgc291bmQgbW9yZSBs aWtlCj4gPiBhIGJvb2xlYW4gZmxhZy4KPgo+IEFjdHVhbGx5IGl0IGlzIGEgKnN1cHBvcnRlZCog bGlzdCwgbm90IGEgdG8tYmUtdXNlZCBsaXN0LiBTbyBtYXliZQo+ICJTcGVjaWZ5IHRoZSBsaXN0 IG9mIGNvZGVjcyB0aGUgY2xpZW50IGFkdmVydGlzZXMgdG8gc3VwcG9ydCBpbiBhbgo+IGVuaGFu Y2VkIFJUTVAgc3RyZWFtIiBpcyBtb3JlIGFwcHJvcHJpYXRlLgo+Cj4gPgo+ID4gQWxzbyBuaXQ6 ICJzZXQgYSBzdHJpbmciCj4gPgo+ID4+ICtmb3Igb25seSBvbmUgY29kZWMsIHNldCBjb2RlYyBm b3VyY2MgaW50byBmb3VyQ2NMaXZlIHByb3BlcnR5IGludG8KPiA+PiArQ29ubmVjdCBDb21tYW5k IE1lc3NhZ2UsCj4gPj4gKwo+ID4+ICBAaXRlbSBydG1wX2ZsYXNodmVyCj4gPj4gIFZlcnNpb24g b2YgdGhlIEZsYXNoIHBsdWdpbiB1c2VkIHRvIHJ1biB0aGUgU1dGIHBsYXllci4gVGhlIGRlZmF1 bHQKPiA+PiAgaXMgTE5YIDksMCwxMjQsMi4gKFdoZW4gcHVibGlzaGluZywgdGhlIGRlZmF1bHQg aXMgRk1MRS8zLjAgKGNvbXBhdGlibGU7Cj4gPj4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L3J0 bXBwcm90by5jIGIvbGliYXZmb3JtYXQvcnRtcHByb3RvLmMKPiA+PiBpbmRleCBmMGVmMjIzZjA1 Li5mN2NlMDQyNDRmIDEwMDY0NAo+ID4+IC0tLSBhL2xpYmF2Zm9ybWF0L3J0bXBwcm90by5jCj4g Pj4gKysrIGIvbGliYXZmb3JtYXQvcnRtcHByb3RvLmMKPiA+PiBAQCAtMTI3LDYgKzEyNyw3IEBA IHR5cGVkZWYgc3RydWN0IFJUTVBDb250ZXh0IHsKPiA+PiAgICAgIGludCAgICAgICAgICAgbmJf c3RyZWFtaWQ7ICAgICAgICAgICAgICAgIC8vLzwgVGhlIG5leHQgc3RyZWFtIGlkIHRvIHJldHVy biBvbiBjcmVhdGVTdHJlYW0gY2FsbHMKPiA+PiAgICAgIGRvdWJsZSAgICAgICAgZHVyYXRpb247 ICAgICAgICAgICAgICAgICAgIC8vLzwgRHVyYXRpb24gb2YgdGhlIHN0cmVhbSBpbiBzZWNvbmRz IGFzIHJldHVybmVkIGJ5IHRoZSBzZXJ2ZXIgKG9ubHkgdmFsaWQgaWYgbm9uLXplcm8pCj4gPj4g ICAgICBpbnQgICAgICAgICAgIHRjcF9ub2RlbGF5OyAgICAgICAgICAgICAgICAvLy88IFVzZSBU Q1BfTk9ERUxBWSB0byBkaXNhYmxlIE5hZ2xlJ3MgYWxnb3JpdGhtIGlmIHNldCB0byAxCj4gPj4g KyAgICBjaGFyICAgICAgICAgICplbmhhbmNlZDsgICAgICAgICAgICAgICAgICAvLy88IGNvZGVj cyBsaXN0IGluIGVuaGFuY2VkIHJ0bXAKPgo+IGNoYXIgKmVuaGFuY2VkX2NvZGVjcwo+Cj4gPgo+ ID4gbml0OiAiY29kZWMgbGlzdCIKPiA+PiAgICAgIGNoYXIgICAgICAgICAgdXNlcm5hbWVbNTBd Owo+ID4+ICAgICAgY2hhciAgICAgICAgICBwYXNzd29yZFs1MF07Cj4gPj4gICAgICBjaGFyICAg ICAgICAgIGF1dGhfcGFyYW1zWzUwMF07Cj4gPj4gQEAgLTMzNiw2ICszMzcsNDIgQEAgc3RhdGlj IGludCBnZW5fY29ubmVjdChVUkxDb250ZXh0ICpzLCBSVE1QQ29udGV4dCAqcnQpCj4gPj4gICAg ICBmZl9hbWZfd3JpdGVfZmllbGRfbmFtZSgmcCwgImFwcCIpOwo+ID4+ICAgICAgZmZfYW1mX3dy aXRlX3N0cmluZzIoJnAsIHJ0LT5hcHAsIHJ0LT5hdXRoX3BhcmFtcyk7Cj4gPj4KPiA+PiArICAg IGlmIChydC0+ZW5oYW5jZWQpIHsKPiA+PiArICAgICAgICB1aW50MzJfdCBsaXN0X2xlbiA9IDA7 Cj4gPj4gKyAgICAgICAgY2hhciAqZm91cmNjX2RhdGEgPSBydC0+ZW5oYW5jZWQ7Cj4gPj4gKyAg ICAgICAgaW50IGZvdXJjY19zdHJfbGVuID0gZm91cmNjX2RhdGEgPyBzdHJsZW4oZm91cmNjX2Rh dGEpIDogMDsKPgo+IGZvdXJjY19kYXRhIGlzIGFsd2F5cyB0cnVlLgo+Cj4gPj4gKwo+ID4+ICsg ICAgICAgIC8vIGNoZWNrIHRoZSBzdHJpbmcsIGZvdXJjYyArICcsJyArIC4uLiAgKyBlbmQgZm91 cmNjIGNvcnJlY3QgbGVuZ3RoIHNob3VsZCBiZSAoNCsxKSpuKzQKPiA+PiArICAgICAgICBpZiAo KGZvdXJjY19zdHJfbGVuICsgMSkgJSA1ICE9IDApCj4gPj4gKyAgICAgICAgICAgIHJldHVybiBB VkVSUk9SKEVJTlZBTCk7Cj4gPj4gKwo+ID4+ICsgICAgICAgIGxpc3RfbGVuID0gKGZvdXJjY19z dHJfbGVuICsgMSkgLyA1Owo+ID4+ICsgICAgICAgIC8vIHdyaXRlIHRoZSBmb3VyQ2NMaXN0IGZp ZWxkIG5hbWUKPiA+PiArICAgICAgICBmZl9hbWZfd3JpdGVfZmllbGRfbmFtZSgmcCwgImZvdXJD Y0xpc3QiKTsKPiA+PiArCj4gPj4gKyAgICAgICAgLy8gd3JpdGUgdGhlIGZvdXJjYyBhcnJheSBs ZW5ndGgKPiA+PiArICAgICAgICBmZl9hbWZfd3JpdGVfYXJyYXkoJnAsIGxpc3RfbGVuKTsKPiA+ PiArCj4gPj4gKyAgICAgICAgd2hpbGUoZm91cmNjX2RhdGEpIHsKPgo+IFN0aWxsIGFsd2F5cyB0 cnVlLgo+Cj4gPj4gKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgZm91cmNjWzVdOwo+ID4+ICsg ICAgICAgICAgICBzd2l0Y2ggKCoodWludDMyX3QgKilmb3VyY2NfZGF0YSkgewo+Cj4gQVZfUk4z Mgo+Cj4gPj4gKyAgICAgICAgICAgICAgICBjYXNlIE1LVEFHKCdoJywgJ3YnLCAnYycsICcxJyk6 Cj4gPj4gKyAgICAgICAgICAgICAgICBjYXNlIE1LVEFHKCdhJywgJ3YnLCAnMCcsICcxJyk6Cj4g Pj4gKyAgICAgICAgICAgICAgICBjYXNlIE1LVEFHKCd2JywgJ3AnLCAnMCcsICc5Jyk6Cj4gPj4g KyAgICAgICAgICAgICAgICAgICAgc3RybmNweShmb3VyY2MsIGZvdXJjY19kYXRhLCA0KTsKPiA+ PiArICAgICAgICAgICAgICAgICAgICBmb3VyY2NbNF0gPSAnXDAnOwo+Cj4gYXZfc3RybGNweShm b3VyY2MsIGZvdXJjY19kYXRhLCBzaXplb2YoZm91cmNjKSk7Cj4KPiA+PiArICAgICAgICAgICAg ICAgICAgICBmZl9hbWZfd3JpdGVfc3RyaW5nKCZwLCBmb3VyY2MpOwo+ID4+ICsgICAgICAgICAg ICAgICAgICAgIGJyZWFrOwo+ID4+ICsgICAgICAgICAgICAgICAgZGVmYXVsdDoKPiA+PiArICAg ICAgICAgICAgICAgICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwo+ID4+ICsgICAgICAgICAg ICB9Cj4gPj4gKwo+ID4+ICsgICAgICAgICAgICBmb3VyY2NfZGF0YSArPSAoZm91cmNjX3N0cl9s ZW4gLSAoZm91cmNjX2RhdGEgLSBydC0+ZW5oYW5jZWQpKSA+IDQgPyA1IDogNDsKPgo+IFdoeSBu b3Qgc2ltcGx5IGZvdXJjY19kYXRhICs9IDU/Cj4KPiA+PiArICAgICAgICAgICAgaWYgKGZvdXJj Y19kYXRhIC0gcnQtPmVuaGFuY2VkID49IGZvdXJjY19zdHJfbGVuKQo+ID4+ICsgICAgICAgICAg ICAgICAgYnJlYWs7Cj4KPiBXaHkgbm90IGNoZWNrIHRoaXMgYXMgdGhlIGxvb3AgY29uZGl0aW9u IGluc3RlYWQ/Cj4KPiBSZWdhcmRzLAo+IE1hcnRvbgo+Cj4gPj4gKyAgICAgICAgfQo+ID4+ICsg ICAgfQo+ID4+ICsKPiA+PiAgICAgIGlmICghcnQtPmlzX2lucHV0KSB7Cj4gPj4gICAgICAgICAg ZmZfYW1mX3dyaXRlX2ZpZWxkX25hbWUoJnAsICJ0eXBlIik7Cj4gPj4gICAgICAgICAgZmZfYW1m X3dyaXRlX3N0cmluZygmcCwgIm5vbnByaXZhdGUiKTsKPiA+PiBAQCAtMzEwNCw2ICszMTQxLDcg QEAgc3RhdGljIGNvbnN0IEFWT3B0aW9uIHJ0bXBfb3B0aW9uc1tdID0gewo+ID4+ICAgICAgeyJy dG1wX2Nvbm4iLCAiQXBwZW5kIGFyYml0cmFyeSBBTUYgZGF0YSB0byB0aGUgQ29ubmVjdCBtZXNz YWdlIiwgT0ZGU0VUKGNvbm4pLCBBVl9PUFRfVFlQRV9TVFJJTkcsIHsuc3RyID0gTlVMTCB9LCAw LCAwLCBERUN8RU5DfSwKPiA+PiAgICAgIHsicnRtcF9mbGFzaHZlciIsICJWZXJzaW9uIG9mIHRo ZSBGbGFzaCBwbHVnaW4gdXNlZCB0byBydW4gdGhlIFNXRiBwbGF5ZXIuIiwgT0ZGU0VUKGZsYXNo dmVyKSwgQVZfT1BUX1RZUEVfU1RSSU5HLCB7LnN0ciA9IE5VTEwgfSwgMCwgMCwgREVDfEVOQ30s Cj4gPj4gICAgICB7InJ0bXBfZmx1c2hfaW50ZXJ2YWwiLCAiTnVtYmVyIG9mIHBhY2tldHMgZmx1 c2hlZCBpbiB0aGUgc2FtZSByZXF1ZXN0IChSVE1QVCBvbmx5KS4iLCBPRkZTRVQoZmx1c2hfaW50 ZXJ2YWwpLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0ID0gMTB9LCAwLCBJTlRfTUFYLCBFTkN9LAo+ ID4+ICsgICAgeyJydG1wX2VuaGFuY2VkX2NvZGVjIiwgIlNwZWNpZnkgdGhhdCB0aGUgY29kZWMg aW4gZW5oYW5jZWQgcnRtcCBsaXZlIHN0cmVhbSIsIE9GRlNFVChlbmhhbmNlZCksIEFWX09QVF9U WVBFX1NUUklORywgey5zdHIgPSBOVUxMIH0sIDAsIDAsIEVOQ30sCj4gPgo+ID4gSSB0aGluayB0 aGlzIHNob3VsZCBiZSBtb3JlIGxpa2UgIlNwZWNpZnkgdGhlIGNvZGVjKHMpIHRvIHVzZSBpbiBh bgo+ID4gZW5oYW5jZWQgcnRtcCBsaXZlIHN0cmVhbSIgPwo+ID4KPiA+PiAgICAgIHsicnRtcF9s aXZlIiwgIlNwZWNpZnkgdGhhdCB0aGUgbWVkaWEgaXMgYSBsaXZlIHN0cmVhbS4iLCBPRkZTRVQo bGl2ZSksIEFWX09QVF9UWVBFX0lOVCwgey5pNjQgPSAtMn0sIElOVF9NSU4sIElOVF9NQVgsIERF QywgInJ0bXBfbGl2ZSJ9LAo+ID4+ICAgICAgeyJhbnkiLCAiYm90aCIsIDAsIEFWX09QVF9UWVBF X0NPTlNULCB7Lmk2NCA9IC0yfSwgMCwgMCwgREVDLCAicnRtcF9saXZlIn0sCj4gPj4gICAgICB7 ImxpdmUiLCAibGl2ZSBzdHJlYW0iLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwgey5pNjQgPSAtMX0s IDAsIDAsIERFQywgInJ0bXBfbGl2ZSJ9LAo+ID4+IC0tCj4gPj4gMi40MC4wCj4gPj4KPiA+PiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+ID4+IGZmbXBl Zy1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+PiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ID4+IGh0 dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZmbXBlZy1kZXZlbAo+ID4+Cj4gPj4g VG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gPj4gZmZtcGVnLWRl dmVsLXJlcXVlc3RAZmZtcGVnLm9yZyB3aXRoIHN1YmplY3QgInVuc3Vic2NyaWJlIi4KPiA+IF9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gPiBmZm1wZWct ZGV2ZWwgbWFpbGluZyBsaXN0Cj4gPiBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwo+ID4gaHR0cHM6 Ly9mZm1wZWcub3JnL21haWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4gPgo+ID4gVG8gdW5z dWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVtYWlsCj4gPiBmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo+IF9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZmZtcGVnLWRldmVsIG1haWxp bmcgbGlzdAo+IGZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCj4gaHR0cHM6Ly9mZm1wZWcub3JnL21h aWxtYW4vbGlzdGluZm8vZmZtcGVnLWRldmVsCj4KPiBUbyB1bnN1YnNjcmliZSwgdmlzaXQgbGlu ayBhYm92ZSwgb3IgZW1haWwKPiBmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGgg c3ViamVjdCAidW5zdWJzY3JpYmUiLgoKTmV3IHBhdGNoc2V0IGlzCmNvbWluZzpodHRwczovL2xp c3RzLmZmbXBlZy5vcmcvcGlwZXJtYWlsL2ZmbXBlZy1kZXZlbC8yMDIzLUF1Z3VzdC8zMTM0ODMu aHRtbAoKClRoYW5rcwpTdGV2ZW4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1wZWctZGV2ZWxAZmZtcGVn Lm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9mZm1wZWctZGV2ZWwKClRv IHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApmZm1wZWctZGV2ZWwtcmVx dWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUiLgo=