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 5130A40FFB for ; Thu, 11 May 2023 01:31:52 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 6F63C68BFCE; Thu, 11 May 2023 04:31:49 +0300 (EEST) Received: from mail-ej1-f48.google.com (mail-ej1-f48.google.com [209.85.218.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3039068BE4A for ; Thu, 11 May 2023 04:31:43 +0300 (EEST) Received: by mail-ej1-f48.google.com with SMTP id a640c23a62f3a-9661047f8b8so1046127266b.0 for ; Wed, 10 May 2023 18:31:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1683768700; x=1686360700; 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=IBS9Wz6ytFGpZVveoL+UdqA0d5p+bpxPYTIohBAD7ts=; b=krXSgox6+lXi993bDB8OWJ2G7+3an8ekQbVmsY9SvD7U4+nTqcCBhBQaNXdJo2JYKu S8SPWxBK+oTsWktzv5qJ6WK9AASAYP725gSnSJSG9fIMwieWC9hIMOr09kAG7+RsanjW Aair923mJ3TwiMSByIevA3H0oHM5Kj7zRatsALAX/7FHLkpqfi7kt/ZBwmWqa2T7Dg8U v9UVJO6Xw0Qz8Xwt6w7LIoMfAFZQd0t4guxew6wTJi8vTpiWwrCC7+6oNh1O5aQmHrxw gRdvU9FJZ7AFS0CLRQwWmJsfkDsbkl6purCS8J8dAPqxwMtybhlo/H1sn2QMVWht3GQN JOAQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683768700; x=1686360700; 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=IBS9Wz6ytFGpZVveoL+UdqA0d5p+bpxPYTIohBAD7ts=; b=AibHYKDDBdDFenBe1J9QU2pzeXWd77oyQ6KJXM1+ygYHVcn/RLUv2x3319MvMh1Uw9 FTftgHxl88xKHrdf+zeKodty8q/2MStnzG852cLzH4r2eTf6l2ZHalL+CqPNgPkdrDLY nhulLyd5rSOJLXmNEMKDcMKQr8kdvIlD6u/JnaoUBYBHWb87n7WBncVZDtv3s3H3Dbsp 6ZIvXZ+4Exo1hNX3KumK2Oboj7MoiHJfeg+fT3uKhtRxAQDpgxeEVgGyyPPwjCSKQ+jC bHj47r98LlE3yXx0PfW/6/QWHakGZg68uR+wcF2qRFE1Zm7UU5RwiN5Y5lVQlNEBwfWW ugTA== X-Gm-Message-State: AC+VfDwMX8n0qj1Rnh9ZTkzuFpA5hLxVn8zayAjysadoeFU4ft8TDa4m Wc932sSCfHlGF3rTrGq0zaoBb6SBZM+2ymYlnWYEoyjbhZZdQA== X-Google-Smtp-Source: ACHHUZ6qfmWkomBd/50QZdC8L4Qvy8PUvfw8dmLwO9dsbZk9e2ENygL+QQLiFnL71/0ruf8mwsVKolCg4bi9J6gnrec= X-Received: by 2002:a17:907:a08:b0:965:95ba:eacd with SMTP id bb8-20020a1709070a0800b0096595baeacdmr17620213ejc.17.1683768700219; Wed, 10 May 2023 18:31:40 -0700 (PDT) MIME-Version: 1.0 References: <20230413094441.56225-1-lq@chinaffmpeg.org> <20230413094441.56225-4-lq@chinaffmpeg.org> <5d1b1f26-bea7-4c34-e4e6-5b9be70f674a@gyani.pro> <816147ee-7674-37fb-4f30-e029269e52b8@gyani.pro> In-Reply-To: From: Neal Gompa Date: Wed, 10 May 2023 21:31:03 -0400 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v8 3/6] avformat/flvenc: support mux av1 in enhanced flv 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: T24gV2VkLCBNYXkgMTAsIDIwMjMgYXQgNzoxM+KAr0FNIFN0ZXZlbiBMaXUgPGxpbmdqaXVqaWFu a2VAZ21haWwuY29tPiB3cm90ZToKPgo+IE5lYWwgR29tcGEgPG5nb21wYTEzQGdtYWlsLmNvbT4g 5LqOMjAyM+W5tDXmnIgxMOaXpeWRqOS4iSAxOTowNeWGmemBk++8mgo+ID4KPiA+IE9uIFR1ZSwg TWF5IDksIDIwMjMgYXQgNjo0OOKAr0FNIEd5YW4gRG9zaGkgPGZmbXBlZ0BneWFuaS5wcm8+IHdy b3RlOgo+ID4gPgo+ID4gPgo+ID4gPgo+ID4gPiBPbiAyMDIzLTA1LTA5IDA0OjA1IHBtLCBOZWFs IEdvbXBhIHdyb3RlOgo+ID4gPiA+IE9uIFR1ZSwgTWF5IDksIDIwMjMgYXQgMTI6MTTigK9BTSBH eWFuIERvc2hpIDxmZm1wZWdAZ3lhbmkucHJvPiB3cm90ZToKPiA+ID4gPj4KPiA+ID4gPj4KPiA+ ID4gPj4gT24gMjAyMy0wNS0wOSAwODoxMSBhbSwgTmVhbCBHb21wYSB3cm90ZToKPiA+ID4gPj4+ IE9uIE1vbiwgTWF5IDgsIDIwMjMgYXQgOTo1NeKAr1BNIFN0ZXZlbiBMaXUgPGxpbmdqaXVqaWFu a2VAZ21haWwuY29tPiB3cm90ZToKPiA+ID4gPj4+PiBOZWFsIEdvbXBhIDxuZ29tcGExM0BnbWFp bC5jb20+IOS6jjIwMjPlubQ15pyIOeaXpeWRqOS6jCAwNzowOOWGmemBk++8mgo+ID4gPiA+Pj4+ PiBPbiBUaHUsIEFwciAxMywgMjAyMyBhdCA1OjQ14oCvQU0gU3RldmVuIExpdSA8bHFAY2hpbmFm Zm1wZWcub3JnPiB3cm90ZToKPiA+ID4gPj4+Pj4+IFNpZ25lZC1vZmYtYnk6IFN0ZXZlbiBMaXUg PGxxQGNoaW5hZmZtcGVnLm9yZz4KPiA+ID4gPj4+Pj4+IC0tLQo+ID4gPiA+Pj4+Pj4gICAgbGli YXZmb3JtYXQvZmx2ZW5jLmMgfCAyNSArKysrKysrKysrKysrKysrKysrKy0tLS0tCj4gPiA+ID4+ Pj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMjAgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkK PiA+ID4gPj4+Pj4+Cj4gPiA+ID4+Pj4+PiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZmx2ZW5j LmMgYi9saWJhdmZvcm1hdC9mbHZlbmMuYwo+ID4gPiA+Pj4+Pj4gaW5kZXggNTdhMjYyNDVmZi4u N2I0M2VjYWVmYSAxMDA2NDQKPiA+ID4gPj4+Pj4+IC0tLSBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5j Cj4gPiA+ID4+Pj4+PiArKysgYi9saWJhdmZvcm1hdC9mbHZlbmMuYwo+ID4gPiA+Pj4+Pj4gQEAg LTI4LDYgKzI4LDcgQEAKPiA+ID4gPj4+Pj4+ICAgICNpbmNsdWRlICJsaWJhdmNvZGVjL21wZWc0 YXVkaW8uaCIKPiA+ID4gPj4+Pj4+ICAgICNpbmNsdWRlICJhdmlvLmgiCj4gPiA+ID4+Pj4+PiAg ICAjaW5jbHVkZSAiYXZjLmgiCj4gPiA+ID4+Pj4+PiArI2luY2x1ZGUgImF2MS5oIgo+ID4gPiA+ Pj4+Pj4gICAgI2luY2x1ZGUgImhldmMuaCIKPiA+ID4gPj4+Pj4+ICAgICNpbmNsdWRlICJhdmZv cm1hdC5oIgo+ID4gPiA+Pj4+Pj4gICAgI2luY2x1ZGUgImZsdi5oIgo+ID4gPiA+Pj4+Pj4gQEAg LTQ4LDYgKzQ5LDcgQEAgc3RhdGljIGNvbnN0IEFWQ29kZWNUYWcgZmx2X3ZpZGVvX2NvZGVjX2lk c1tdID0gewo+ID4gPiA+Pj4+Pj4gICAgICAgIHsgQVZfQ09ERUNfSURfVlA2QSwgICAgIEZMVl9D T0RFQ0lEX1ZQNkEgfSwKPiA+ID4gPj4+Pj4+ICAgICAgICB7IEFWX0NPREVDX0lEX0gyNjQsICAg ICBGTFZfQ09ERUNJRF9IMjY0IH0sCj4gPiA+ID4+Pj4+PiAgICAgICAgeyBBVl9DT0RFQ19JRF9I RVZDLCAgICAgTUtCRVRBRygnaCcsICd2JywgJ2MnLCAnMScpIH0sCj4gPiA+ID4+Pj4+PiArICAg IHsgQVZfQ09ERUNfSURfQVYxLCAgICAgIE1LQkVUQUcoJ2EnLCAndicsICcwJywgJzEnKSB9LAo+ ID4gPiA+Pj4+Pj4gICAgICAgIHsgQVZfQ09ERUNfSURfTk9ORSwgICAgIDAgfQo+ID4gPiA+Pj4+ Pj4gICAgfTsKPiA+ID4gPj4+Pj4+Cj4gPiA+ID4+Pj4+PiBAQCAtNDk0LDcgKzQ5Niw4IEBAIHN0 YXRpYyB2b2lkIGZsdl93cml0ZV9jb2RlY19oZWFkZXIoQVZGb3JtYXRDb250ZXh0KiBzLCBBVkNv ZGVjUGFyYW1ldGVycyogcGFyLCBpCj4gPiA+ID4+Pj4+PiAgICAgICAgRkxWQ29udGV4dCAqZmx2 ID0gcy0+cHJpdl9kYXRhOwo+ID4gPiA+Pj4+Pj4KPiA+ID4gPj4+Pj4+ICAgICAgICBpZiAocGFy LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BQUMgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9IMjY0Cj4gPiA+ID4+Pj4+PiAtICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpIHsK PiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X01QRUc0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQwo+ID4gPiA+Pj4+Pj4g KyAgICAgICAgICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKSB7Cj4gPiA+ ID4+Pj4+PiAgICAgICAgICAgIGludDY0X3QgcG9zOwo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBh dmlvX3c4KHBiLAo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIHBhci0+Y29kZWNfdHlw ZSA9PSBBVk1FRElBX1RZUEVfVklERU8gPwo+ID4gPiA+Pj4+Pj4gQEAgLTU0MCw2ICs1NDMsOSBA QCBzdGF0aWMgdm9pZCBmbHZfd3JpdGVfY29kZWNfaGVhZGVyKEFWRm9ybWF0Q29udGV4dCogcywg QVZDb2RlY1BhcmFtZXRlcnMqIHBhciwgaQo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgaWYg KHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykgewo+ID4gPiA+Pj4+Pj4gICAgICAg ICAgICAgICAgICAgIGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBlU2Vx dWVuY2VTdGFydCk7IC8vIEV4VmlkZW9UYWdIZWFkZXIgbW9kZSB3aXRoIFBhY2tldFR5cGVTZXF1 ZW5jZVN0YXJ0Cj4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICAgICAgYXZpb193cml0ZShwYiwg Imh2YzEiLCA0KTsKPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICB9IGVsc2UgaWYgKHBhci0+Y29k ZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKSB7Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgICAg IGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBlU2VxdWVuY2VTdGFydCk7 Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgICAgIGF2aW9fd3JpdGUocGIsICJhdjAxIiwgNCk7 Cj4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICB9IGVsc2Ugewo+ID4gPiA+Pj4+Pj4gICAgICAg ICAgICAgICAgICAgIGF2aW9fdzgocGIsIHBhci0+Y29kZWNfdGFnIHwgRkxWX0ZSQU1FX0tFWSk7 IC8vIGZsYWdzCj4gPiA+ID4+Pj4+PiAgICAgICAgICAgICAgICAgICAgYXZpb193OChwYiwgMCk7 IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIKPiA+ID4gPj4+Pj4+IEBAIC01NDgsNiArNTU0LDggQEAg c3RhdGljIHZvaWQgZmx2X3dyaXRlX2NvZGVjX2hlYWRlcihBVkZvcm1hdENvbnRleHQqIHMsIEFW Q29kZWNQYXJhbWV0ZXJzKiBwYXIsIGkKPiA+ID4gPj4+Pj4+Cj4gPiA+ID4+Pj4+PiAgICAgICAg ICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKQo+ID4gPiA+Pj4+ Pj4gICAgICAgICAgICAgICAgICAgIGZmX2lzb21fd3JpdGVfaHZjYyhwYiwgcGFyLT5leHRyYWRh dGEsIHBhci0+ZXh0cmFkYXRhX3NpemUsIDApOwo+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgIGVs c2UgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVYxKQo+ID4gPiA+Pj4+Pj4gKyAg ICAgICAgICAgICAgICBmZl9pc29tX3dyaXRlX2F2MWMocGIsIHBhci0+ZXh0cmFkYXRhLCBwYXIt PmV4dHJhZGF0YV9zaXplLCAxKTsKPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIGVsc2UKPiA+ ID4gPj4+Pj4+ICAgICAgICAgICAgICAgICAgICBmZl9pc29tX3dyaXRlX2F2Y2MocGIsIHBhci0+ ZXh0cmFkYXRhLCBwYXItPmV4dHJhZGF0YV9zaXplKTsKPiA+ID4gPj4+Pj4+ICAgICAgICAgICAg fQo+ID4gPiA+Pj4+Pj4gQEAgLTY0MCw3ICs2NDgsOCBAQCBzdGF0aWMgaW50IGZsdl9pbml0KHN0 cnVjdCBBVkZvcm1hdENvbnRleHQgKnMpCj4gPiA+ID4+Pj4+Pgo+ID4gPiA+Pj4+Pj4gICAgICAg ICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwKPiA+ID4g Pj4+Pj4+ICAgICAgICAgICAgICAgICAgICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gy NjMgfHwKPiA+ID4gPj4+Pj4+IC0gICAgICAgICAgICAgICAgcGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9IRVZDKSB7Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgICAgIHBhci0+Y29kZWNf aWQgPT0gQVZfQ09ERUNfSURfSEVWQyB8fAo+ID4gPiA+Pj4+Pj4gKyAgICAgICAgICAgICAgICBw YXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FWMSkgewo+ID4gPiA+Pj4+Pj4gICAgICAgICAg ICAgICAgICAgIGludCBlcnJvciA9IHMtPnN0cmljdF9zdGRfY29tcGxpYW5jZSA+IEZGX0NPTVBM SUFOQ0VfVU5PRkZJQ0lBTDsKPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgICAgICBhdl9sb2co cywgZXJyb3IgPyBBVl9MT0dfRVJST1IgOiBBVl9MT0dfV0FSTklORywKPiA+ID4gPj4+Pj4+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgIkNvZGVjICVzIGlzIG5vdCBzdXBwb3J0ZWQgaW4gdGhl IG9mZmljaWFsIEZMViBzcGVjaWZpY2F0aW9uLFxuIiwgYXZjb2RlY19nZXRfbmFtZShwYXItPmNv ZGVjX2lkKSk7Cj4gPiA+ID4+Pj4+PiBAQCAtODQ4LDEzICs4NTcsMTUgQEAgc3RhdGljIGludCBm bHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywgQVZQYWNrZXQgKnBrdCkKPiA+ID4g Pj4+Pj4+ICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDZGIHx8IHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfVlA2QSB8fAo+ID4gPiA+Pj4+Pj4gICAgICAgICAg ICBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNiAgfHwgcGFyLT5jb2RlY19pZCA9PSBB Vl9DT0RFQ19JRF9BQUMpCj4gPiA+ID4+Pj4+PiAgICAgICAgICAgIGZsYWdzX3NpemUgPSAyOwo+ ID4gPiA+Pj4+Pj4gLSAgICBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gy NjQgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lk ID09IEFWX0NPREVDX0lEX0hFVkMpCj4gPiA+ID4+Pj4+PiArICAgIGVsc2UgaWYgKHBhci0+Y29k ZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lE X01QRUc0IHx8Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZf Q09ERUNfSURfSEVWQyB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0FWMSkKPiA+ID4g Pj4+Pj4+ICAgICAgICAgICAgZmxhZ3Nfc2l6ZSA9IDU7Cj4gPiA+ID4+Pj4+PiAgICAgICAgZWxz ZQo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBmbGFnc19zaXplID0gMTsKPiA+ID4gPj4+Pj4+Cj4g PiA+ID4+Pj4+PiAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQUFDIHx8 IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NAo+ID4gPiA+Pj4+Pj4gLSAgICAgICAg ICAgIHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19p ZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gPiA+ID4+Pj4+PiArICAgICAgICAgICAgfHwgcGFy LT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NP REVDX0lEX0hFVkMKPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09 IEFWX0NPREVDX0lEX0FWMSkgewo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICBzaXplX3Qgc2lkZV9z aXplOwo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICB1aW50OF90ICpzaWRlID0gYXZfcGFja2V0X2dl dF9zaWRlX2RhdGEocGt0LCBBVl9QS1RfREFUQV9ORVdfRVhUUkFEQVRBLCAmc2lkZV9zaXplKTsK PiA+ID4gPj4+Pj4+ICAgICAgICAgICAgaWYgKHNpZGUgJiYgc2lkZV9zaXplID4gMCAmJiAoc2lk ZV9zaXplICE9IHBhci0+ZXh0cmFkYXRhX3NpemUgfHwgbWVtY21wKHNpZGUsIHBhci0+ZXh0cmFk YXRhLCBzaWRlX3NpemUpKSkgewo+ID4gPiA+Pj4+Pj4gQEAgLTg3NCw3ICs4ODUsOCBAQCBzdGF0 aWMgaW50IGZsdl93cml0ZV9wYWNrZXQoQVZGb3JtYXRDb250ZXh0ICpzLCBBVlBhY2tldCAqcGt0 KQo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgICAgIlBhY2tldHMgYXJlIG5vdCBpbiB0aGUg cHJvcGVyIG9yZGVyIHdpdGggcmVzcGVjdCB0byBEVFNcbiIpOwo+ID4gPiA+Pj4+Pj4gICAgICAg ICAgICByZXR1cm4gQVZFUlJPUihFSU5WQUwpOwo+ID4gPiA+Pj4+Pj4gICAgICAgIH0KPiA+ID4g Pj4+Pj4+IC0gICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXIt PmNvZGVjX2lkID09IEFWX0NPREVDX0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfSEVWQykgewo+ID4gPiA+Pj4+Pj4gKyAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfTVBFRzQgfHwKPiA+ ID4gPj4+Pj4+ICsgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQyB8fCAg cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9BVjEpIHsKPiA+ID4gPj4+Pj4+ICAgICAgICAg ICAgaWYgKHBrdC0+cHRzID09IEFWX05PUFRTX1ZBTFVFKSB7Cj4gPiA+ID4+Pj4+PiAgICAgICAg ICAgICAgICBhdl9sb2cocywgQVZfTE9HX0VSUk9SLCAiUGFja2V0IGlzIG1pc3NpbmcgUFRTXG4i KTsKPiA+ID4gPj4+Pj4+ICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SKEVJTlZBTCk7Cj4g PiA+ID4+Pj4+PiBAQCAtOTg3LDYgKzk5OSw5IEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tl dChBVkZvcm1hdENvbnRleHQgKnMsIEFWUGFja2V0ICpwa3QpCj4gPiA+ID4+Pj4+PiAgICAgICAg ICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0hFVkMpIHsKPiA+ID4gPj4+Pj4+ ICAgICAgICAgICAgICAgIGF2aW9fdzgocGIsIEZMVl9JU19FWF9IRUFERVIgfCBQYWNrZXRUeXBl Q29kZWRGcmFtZXNYKTsgLy8gRXhWaWRlb1RhZ0hlYWRlciBtb2RlIHdpdGggUGFja2V0VHlwZUNv ZGVkRnJhbWVzWAo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgYXZpb193cml0ZShwYiwgImh2 YzEiLCA0KTsKPiA+ID4gPj4+Pj4+ICsgICAgICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9 PSBBVl9DT0RFQ19JRF9BVjEpIHsKPiA+ID4gPj4+Pj4+ICsgICAgICAgICAgICBhdmlvX3c4KHBi LCBGTFZfSVNfRVhfSEVBREVSIHwgUGFja2V0VHlwZUNvZGVkRnJhbWVzKTsKPiA+ID4gPj4+Pj4+ ICsgICAgICAgICAgICBhdmlvX3dyaXRlKHBiLCAiYXYwMSIsIDQpOwo+ID4gPiA+Pj4+Pj4gICAg ICAgICAgICB9IGVsc2Ugewo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICAgICAgYXZpb193OChwYiwg ZmxhZ3MpOwo+ID4gPiA+Pj4+Pj4gICAgICAgICAgICB9Cj4gPiA+ID4+Pj4+PiAtLQo+ID4gPiA+ Pj4+Pj4gMi40MC4wCj4gPiA+ID4+Pj4+Pgo+ID4gPiA+Pj4+PiBJIHRlc3RlZCB0aGlzIGJ5IGFw cGx5aW5nIHRoZSBwYXRjaGVzIG9uIHRvcCBvZiBmZm1wZWcgNi4wIGFuZCBpdAo+ID4gPiA+Pj4+ PiBkb2Vzbid0IHNlZW0gdG8gd29yazoKPiA+ID4gPj4+Pj4KPiA+ID4gPj4+Pj4gICAgIGxpYmF2 dXRpbCAgICAgIDU4LiAgMi4xMDAgLyA1OC4gIDIuMTAwCj4gPiA+ID4+Pj4+ICAgICBsaWJhdmNv ZGVjICAgICA2MC4gIDMuMTAwIC8gNjAuICAzLjEwMAo+ID4gPiA+Pj4+PiAgICAgbGliYXZmb3Jt YXQgICAgNjAuICAzLjEwMCAvIDYwLiAgMy4xMDAKPiA+ID4gPj4+Pj4gICAgIGxpYmF2ZGV2aWNl ICAgIDYwLiAgMS4xMDAgLyA2MC4gIDEuMTAwCj4gPiA+ID4+Pj4+ICAgICBsaWJhdmZpbHRlciAg ICAgOS4gIDMuMTAwIC8gIDkuICAzLjEwMAo+ID4gPiA+Pj4+PiAgICAgbGlic3dzY2FsZSAgICAg IDcuICAxLjEwMCAvICA3LiAgMS4xMDAKPiA+ID4gPj4+Pj4gICAgIGxpYnN3cmVzYW1wbGUgICA0 LiAxMC4xMDAgLyAgNC4gMTAuMTAwCj4gPiA+ID4+Pj4+ICAgICBsaWJwb3N0cHJvYyAgICA1Ny4g IDEuMTAwIC8gNTcuICAxLjEwMAo+ID4gPiA+Pj4+PiBbbGliZGF2MWQgQCAweDU1YzllYThjYWU4 MF0gbGliZGF2MWQgMS4xLjAKPiA+ID4gPj4+Pj4gSW5wdXQgIzAsIG1hdHJvc2thLHdlYm0sIGZy b20gJzIwMjMtMDUtMDggMTgtNTItNDIubWt2JzoKPiA+ID4gPj4+Pj4gICAgIE1ldGFkYXRhOgo+ ID4gPiA+Pj4+PiAgICAgICBFTkNPREVSICAgICAgICAgOiBMYXZmNjAuMy4xMDAKPiA+ID4gPj4+ Pj4gICAgIER1cmF0aW9uOiAwMDowMjowMC41Mywgc3RhcnQ6IDAuMDAwMDAwLCBiaXRyYXRlOiAx MTU1IGtiL3MKPiA+ID4gPj4+Pj4gICAgIFN0cmVhbSAjMDowOiBWaWRlbzogYXYxIChNYWluKSwg eXV2NDIwcCh0diwgYnQ3MDkpLCAxMjgweDcyMCwgMzAKPiA+ID4gPj4+Pj4gZnBzLCAzMCB0YnIs IDFrIHRibgo+ID4gPiA+Pj4+PiAgICAgICBNZXRhZGF0YToKPiA+ID4gPj4+Pj4gICAgICAgICBE VVJBVElPTiAgICAgICAgOiAwMDowMjowMC41MzMwMDAwMDAKPiA+ID4gPj4+Pj4gICAgIFN0cmVh bSAjMDoxOiBBdWRpbzogYWFjIChMQyksIDQ4MDAwIEh6LCBzdGVyZW8sIGZsdHAKPiA+ID4gPj4+ Pj4gICAgICAgTWV0YWRhdGE6Cj4gPiA+ID4+Pj4+ICAgICAgICAgdGl0bGUgICAgICAgICAgIDog VHJhY2sxCj4gPiA+ID4+Pj4+ICAgICAgICAgRFVSQVRJT04gICAgICAgIDogMDA6MDI6MDAuNTMz MDAwMDAwCj4gPiA+ID4+Pj4+IFtmbHYgQCAweDU1YzllYTkzNjE0MF0gQ29kZWMgYXYxIGlzIG5v dCBzdXBwb3J0ZWQgaW4gdGhlIG9mZmljaWFsIEZMVgo+ID4gPiA+Pj4+PiBzcGVjaWZpY2F0aW9u LAo+ID4gPiA+Pj4+PiBbZmx2IEAgMHg1NWM5ZWE5MzYxNDBdIHVzZSB2c3RyaWN0PS0xIC8gLXN0 cmljdCAtMSB0byB1c2UgaXQgYW55d2F5Lgo+ID4gPiA+Pj4+IFBheSBhdHRlbnRpb24gdGhpcyB3 YXJuaW5nIG1lc3NhZ2UuCj4gPiA+ID4+Pj4KPiA+ID4gPj4+Pj4gW291dCMwL2ZsdiBAIDB4NTVj OWVhOGNkYTgwXSBDb3VsZCBub3Qgd3JpdGUgaGVhZGVyIChpbmNvcnJlY3QgY29kZWMKPiA+ID4g Pj4+Pj4gcGFyYW1ldGVycyA/KTogSW52YWxpZCBhcmd1bWVudAo+ID4gPiA+Pj4+PiBbYW9zdCMw OjEvY29weSBAIDB4NTVjOWVhOTdhZTAwXSBFcnJvciBpbml0aWFsaXppbmcgb3V0cHV0IHN0cmVh bToKPiA+ID4gPj4+Pj4gU3RyZWFtIG1hcHBpbmc6Cj4gPiA+ID4+Pj4+ICAgICBTdHJlYW0gIzA6 MCAtPiAjMDowIChjb3B5KQo+ID4gPiA+Pj4+PiAgICAgU3RyZWFtICMwOjEgLT4gIzA6MSAoY29w eSkKPiA+ID4gPj4+Pj4gICAgICAgTGFzdCBtZXNzYWdlIHJlcGVhdGVkIDEgdGltZXMKPiA+ID4g Pj4+IFdlbGwsIHRoaXMgaXMgbXkgY29tbWFuZDoKPiA+ID4gPj4+Cj4gPiA+ID4+PiAkIGZmbXBl ZyAtaSAiaW5wdXQubWt2IiAtdmNvZGVjIGNvcHkgLWFjb2RlYyBjb3B5ICJvdXRwdXQuZmx2Igo+ ID4gPiA+Pj4KPiA+ID4gPj4+IFdoYXQgc2hvdWxkIEkgYmUgZG9pbmcgaW5zdGVhZD8KPiA+ID4g Pj4gICAgIGZmbXBlZyAtaSAiaW5wdXQubWt2IiAtdmNvZGVjIGNvcHkgLWFjb2RlYyBjb3B5IC1z dHJpY3QgLTEgIm91dHB1dC5mbHYiCj4gPiA+ID4+Cj4gPiA+ID4gVGhhdCBkZWZlYXRzIHRoZSBw b2ludCBvZiB0aGlzIHBhdGNoLiBUaGlzIHBhdGNoIGFkZHMgcHJvcGVyIHN1cHBvcnQKPiA+ID4g PiBmb3IgQVYxIHRvIHRoZSBGTFYgY29kZSwgc28gaXQgc2hvdWxkIG5vdCBuZWVkIHRoYXQuCj4g PiA+Cj4gPiA+IFRoaXMgcGF0Y2ggZG9lcyBub3QgYWRkIEhFVkMgb3IgQVYxIHN1cHBvcnQgdG8g dGhlIEZMViAqc3BlY2lmaWNhdGlvbiosCj4gPiA+IGhlbmNlIHRoZSBndWFyZC4KPiA+ID4KPiA+ Cj4gPiBUaGUgdGhpbmcgaXMsIHRoaXMgcGF0Y2ggc2VyaWVzIGlzIGFib3V0IGltcGxlbWVudGlu ZyBzdXBwb3J0IGZvciB0aGUKPiA+IGVuaGFuY2VkIEZMViBzcGVjaWZpY2F0aW9uLgo+IE5vLCBU aGF0IGRvY3VtZW50YXRpb24gaXMgbm90IGZsdiBvZmZpY2lhbCBzcGVjaWZpY2F0aW9uLCBpdCBq dXN0IGEgZG9jdW1lbnQuCgpGcmFua2x5LCBzbyB3YXMgdGhlIG9yaWdpbmFsIG9uZS4gVGhlIG5l dyBzcGVjaWZpY2F0aW9uIGlzIGJlaW5nCnN0ZXdhcmRlZCBieSBhIGdyb3VwIHRoYXQgaGFzIHRo ZSBjdXJyZW50IG93bmVyIG9mIHRoZSBSVE1QIHNwZWMgYXMgYQptZW1iZXIgKFZlcmlza29wZSku CgpSVE1QIHdhcyBuZXZlciBJRVRGIG9yIElTTyBzdGFuZGFyZGl6ZWQsIGFuZCBuZWl0aGVyIHdh cyBGTFYuIEY0ViB3YXMKZGVyaXZlZCBmcm9tIE1QNC9NT1YsIGJ1dCB0aGF0J3Mgbm90IHdoYXQg UlRNUCB1c2VzLgoKVGhpcyBhcmd1bWVudCBvZiBpdCBiZWluZyAianVzdCBhIGRvY3VtZW50IiBh cHBsaWVzIHRvIHRoZSBvcmlnaW5hbApzcGVjIGZyb20gQWRvYmUvVmVyaXNrb3BlIHRvby4KCkkg c3RpbGwgdGhpbmsgaXQncyByZWFzb25hYmxlIHRoYXQgdGhlIGVuaGFuY2VkIEZMViBzcGVjIHdv dWxkIGJlCnN1cHBvcnRlZCB3aXRob3V0IHJlcXVpcmluZyBkaXNhYmxpbmcgInN0cmljdCIgbW9k ZS4gVGhhdCBzYWlkLCBJCnRoaW5rIGl0J3MgZmFpciB0byB3YXJuIHRoYXQgd2UncmUgdXNpbmcg Km5ldyogZmVhdHVyZXMgb2YgdGhlIEZMVgpzcGVjIGFuZCB0aGVyZSBtYXkgYmUgaW5jb21wYXRp YmlsaXRpZXMgd2l0aCBvbGRlciBzb2Z0d2FyZS4KCgoKCi0tCuecn+Wun+OBr+OBhOOBpOOCguS4 gOOBpO+8gS8gQWx3YXlzLCB0aGVyZSdzIG9ubHkgb25lIHRydXRoIQpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBsaXN0 CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9yIGVt YWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1YnNj cmliZSIuCg==