From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <ffmpeg-devel-bounces@ffmpeg.org> Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id F28C64B2FE for <ffmpegdev@gitmailbox.com>; Thu, 24 Apr 2025 19:02:28 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8AA6A687C94; Thu, 24 Apr 2025 22:02:25 +0300 (EEST) Received: from mail-wr1-f50.google.com (mail-wr1-f50.google.com [209.85.221.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id DDB11687C94 for <ffmpeg-devel@ffmpeg.org>; Thu, 24 Apr 2025 22:02:18 +0300 (EEST) Received: by mail-wr1-f50.google.com with SMTP id ffacd0b85a97d-3913b539aabso778140f8f.2 for <ffmpeg-devel@ffmpeg.org>; Thu, 24 Apr 2025 12:02:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1745521338; x=1746126138; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=sro4s4p/vF4KgcJwrSjfUESaNcvnJ5GzBYUhGPXrw1Y=; b=2DVYwZUDsq0gQIlPYaHeqwV0umU4UPWh8v/kIggMXHn3RTLfH3SFN6B2/RLXGxpzMB qX6L4/fGMhCsnIoiL7gGTICd8iwXatS0KU1cJEcwskgnXu26sImExVXAXr8/jepc+XEV Zk0ym8QmHU08Ms4A/lLYKOeGR6y9bpVC32TARzvqY3QrT9BOj08OKl6sh10NqLttT3b0 tEVfUD/s/yTJz+e3sqe77L4LONrZKxNXdqUZ6CZF8vHBXdewdhTJUiuAjYq4O2eL7Rcu w3Rc1DHXfC2N2+Jva3K29hwTxcLnatn0sd053GhDXd4xN8SMwdf3qoa4D4uwouoZY4cV LBLA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1745521338; x=1746126138; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sro4s4p/vF4KgcJwrSjfUESaNcvnJ5GzBYUhGPXrw1Y=; b=UJS04TdXiFliRflmdPpnXbVCqfNl7MhgQroBnY7Otlpvvz4NooykdRC0DJBJS0gDaQ BY5yEvl3xLrpS9U8ngvMkeSTe7tdcaMJrRI2pWnODB/hLlCG091OpfVqabh8hTuesEqr 3U/+RrL7B17ijEWM13FxlOQq4oRm1GBod9Qi+J8yNNr467sMPaDQTOJ6xYs+gvNue5dM TfCY1CJRu8ApSsnEe0AOEc0njm0QXjOz2K/91YPkT0WwcQnLJMn1t8oJlTuTXcC26dl4 Z19EMNUPmY+q6dHAtVcgXIaC8r8XHNeJKu2lJ7iBL+tq0JhMl6zg/CIM8GJEBXUrDjh6 JkkA== X-Gm-Message-State: AOJu0YyMuWbOlxki6WUiZZ6Tz69Wd/V0sTTfcbmMt4ds3D9P2rTnrZoM yocD2iqr++gsBFr+5mw9PcvaoWEFCwXpo71BLTrceBoTbHZM5qgqAORJqFKnXh0BQvrww0z7DFs u X-Gm-Gg: ASbGncvYFMUH621+PLslx0qzkaaGxO7cTMJWtSopkj2/UebNxTnXQxbDUv+R/iZ9Rxa LgjkBVQZSCbi6lS/wWi457YkU7KY51RrjPl51dmSeCSypETTjz0XuBPvxKjvbNaaPihqCPV4LF+ D9aLCmUy+6KS61thRTe92LEpApnq+WwTcnneaG/XQhiNmfcLoRpG2fdy8FsqDG6zaF1EjyD1dvp wYzrDXhoNWlI8SVRpEhN4zM7ZooDnylqJegbUCXdo/N4ClXdw7uuTArMcDRWPRwIcdpk4sTNlKW hC51Gshn77ZpP3ZqhPt2LXGKuMs6gl4wUQ048fM4x9y48NF6bC5KD3nw1KfKpTHm8su7zqOE8EX j2w9Di3iK12jpJQ== X-Google-Smtp-Source: AGHT+IGPldWRqkDaNouuT2TNV3SIb91LzApyqxfm/wOGOI2AS8JgjtCVQMMnEHjqy7mO6t8xzyfSCA== X-Received: by 2002:a05:6000:430c:b0:39f:b62:8cb2 with SMTP id ffacd0b85a97d-3a072bb755cmr367202f8f.38.1745521337920; Thu, 24 Apr 2025 12:02:17 -0700 (PDT) Received: from [192.168.0.15] (cpc92320-cmbg19-2-0-cust719.5-4.cable.virginm.net. [82.13.66.208]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-3a073ca4f88sm133835f8f.29.2025.04.24.12.02.17 for <ffmpeg-devel@ffmpeg.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 24 Apr 2025 12:02:17 -0700 (PDT) Message-ID: <81ce4e06-3b7f-4d95-ba2e-268bb3082031@jkqxz.net> Date: Thu, 24 Apr 2025 20:02:21 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <CGME20250423141306eucas1p229fa078339a2a993c609464e101c9c6d@eucas1p2.samsung.com> <20250423141303.1858090-1-d.kozinski@samsung.com> <2034e60d-6140-4d18-90b0-b2736c3f2f84@jkqxz.net> <003201dbb511$a33606e0$e9a214a0$@samsung.com> From: Mark Thompson <sw@jkqxz.net> In-Reply-To: <003201dbb511$a33606e0$e9a214a0$@samsung.com> Subject: Re: [FFmpeg-devel] [PATCH v1 5/8] avformat/mov_muxer: Extended MOV muxer to handle APV video content X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org> List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe> List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel> List-Post: <mailto:ffmpeg-devel@ffmpeg.org> List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help> List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>, <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe> Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org> Archived-At: <https://master.gitmailbox.com/ffmpegdev/81ce4e06-3b7f-4d95-ba2e-268bb3082031@jkqxz.net/> List-Archive: <https://master.gitmailbox.com/ffmpegdev/> List-Post: <mailto:ffmpegdev@gitmailbox.com> T24gMjQvMDQvMjAyNSAxMzowOCwgRGF3aWQgS296aW5za2kvTXVsdGltZWRpYSAoUExUKSAvU1JQ T0wvU3RhZmYgRW5naW5lZXIvU2Ftc3VuZyBFbGVjdHJvbmljcyB3cm90ZToKPj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0KPj4gRnJvbTogZmZtcGVnLWRldmVsIDxmZm1wZWctZGV2ZWwtYm91 bmNlc0BmZm1wZWcub3JnPiBPbiBCZWhhbGYgT2YgTWFyawo+PiBUaG9tcHNvbgo+PiBTZW50OiDF m3JvZGEsIDIzIGt3aWV0bmlhIDIwMjUgMjM6MDgKPj4gVG86IGZmbXBlZy1kZXZlbEBmZm1wZWcu b3JnCj4+IFN1YmplY3Q6IFJlOiBbRkZtcGVnLWRldmVsXSBbUEFUQ0ggdjEgNS84XSBhdmZvcm1h dC9tb3ZfbXV4ZXI6IEV4dGVuZGVkCj4+IE1PViBtdXhlciB0byBoYW5kbGUgQVBWIHZpZGVvIGNv bnRlbnQKPj4KPj4gT24gMjMvMDQvMjAyNSAxNToxMywgRGF3aWQgS296aW5za2kgd3JvdGU6Cj4+ PiAtIENoYW5nZXMgaW4gbW92X3dyaXRlX3ZpZGVvX3RhZyBmdW5jdGlvbiB0byBoYW5kbGUgQVBW IGVsZW1lbnRhcnkKPj4+IHN0cmVhbQo+Pj4gLSBQcm92aWRlZCBzdHJ1Y3R1cmUgQVBWRGVjb2Rl ckNvbmZpZ3VyYXRpb25SZWNvcmQgdGhhdCBzcGVjaWZpZXMgdGhlCj4+PiBkZWNvZGVyIGNvbmZp Z3VyYXRpb24gaW5mb3JtYXRpb24gZm9yIEFQViB2aWRlbyBjb250ZW50Cj4+Pgo+Pj4gU2lnbmVk LW9mZi1ieTogRGF3aWQgS296aW5za2kgPGQua296aW5za2lAc2Ftc3VuZy5jb20+Cj4+PiAtLS0K Pj4+ICBsaWJhdmZvcm1hdC9NYWtlZmlsZSAgICB8ICAgMiArLQo+Pj4gIGxpYmF2Zm9ybWF0L2Fw di5jICAgICAgIHwgODI3ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK Pj4+ICBsaWJhdmZvcm1hdC9hcHYuaCAgICAgICB8ICA5NCArKysrKwo+Pj4gIGxpYmF2Zm9ybWF0 L2lzb21fdGFncy5jIHwgICAyICsKPj4+ICBsaWJhdmZvcm1hdC9tb3ZlbmMuYyAgICB8ICA0NyAr KysKPj4+ICA1IGZpbGVzIGNoYW5nZWQsIDk3MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0p Cj4+Cj4+IEhpLAo+Pgo+PiBUd28gdGhvdWdodHMgaGVyZToKPj4KPj4gRmlyc3QsIHlvdXIgQVZQ YWNrZXRzIGNvbnRhaW4gYSByYXdfYml0c3RyZWFtX2FjY2Vzc191bml0KCkuICBJIGRvbid0Cj4g dGhpbmsgdGhpcyBpcwo+PiB0aGUgcmlnaHQgYXBwcm9hY2ggLSB0aGUgcGFja2V0cyBzaG91bGQg Y29udGFpbiB0aGUgY29kZWMgZGF0YSBvbmx5LCBub3QKPiB0aGUKPj4gYWRkaXRpb25hbCBlbmNh cHN1bGF0aW9uLiAgKFRoaXMgaXMgdGhlIG1ldGhvZCBJIGZvbGxvd2VkLikKPj4KPj4gRm9yIHRo aXMgcGF0Y2ggaW4gcGFydGljdWxhciwgSSB0aGluayBpdCByZXN1bHRzIGluIHdyaXRpbmcgdGhl IGZpbGVzCj4gaW5jb3JyZWN0bHk6IHRoZQo+PiBzcGVjaWZpY2F0aW9uIHNheXMgImVhY2ggc2Ft cGxlIHNoYWxsIGNvbnRhaW4gb25lIGFuZCBvbmx5IG9uZSBhY2Nlc3MgdW5pdAo+IG9mCj4+IEFQ ViBjb2RlZCBkYXRhIiwgd2hpY2ggSSBpbnRlcnByZXQgdG8gbWVhbiBvbmUgYWNjZXNzX3VuaXQo KSBzeW50YXgKPiBzdHJ1Y3R1cmUuCj4+Cj4+IFRoaXMgYWxzbyByZXN1bHRzIGluIHRoZSBzaXpl IGVmZmVjdGl2ZWx5IGFwcGVhcmluZyBtdWx0aXBsZSB0aW1lcyBpbiB0aGUKPiBmaWxlIGZvciBu bwo+PiBnb29kIHJlYXNvbjoKPj4KPj4gMDAwMDAwMjAgIDY2IDcyIDY1IDY1IDAwIDAxIDE1IGRi ICA2ZCA2NCA2MSA3NCAwMCAwMSAxNSBjZgo+IHxmcmVlLi4uLm1kYXQuLi4ufAo+Pgo+PiAgICAg ICAgICAgICAgICAgICAgICAgXiBtZGF0IHNpemUgICAgICAgICAgICAgIF4gYXVfc2l6ZQo+Pgo+ PiAwMDAwMDAzMCAgNjEgNTAgNzYgMzEgMDAgMDEgMTUgYzcgIDAxIDAwIDAxIDAwIDIxIDIxIDQw IDAwCj4gfGFQdjEuLi4uLi4uLiEhQC58Cj4+ICAgICAgICAgICBeIHNpZ25hdHVyZSBeIHBidV9z aXplICAgXiBwYnVfdHlwZSBmb2xsb3dlZCBieSBoZWFkZXIKPj4KPj4gVGhlIHNlcGFyYXRlIHBi dV9zaXplIG1ha2VzIHNlbnNlIGlmIHRoZXJlIGlzIGFsc28gbWV0YWRhdGEsIGJ1dCBoYXZpbmcK PiB0aGUKPj4gbWRhdCBib3ggd2l0aCBhIHNpemUgaW1tZWRpYXRlbHkgZm9sbG93ZWQgYnkgdGhl IHNhbWUgc2l6ZSAod2VsbCwgbWludXMKPiB0d2VsdmUKPj4gZm9yIG1kYXQgc2l6ZSArIG1kYXQg KyBhdSBzaXplKSBhZ2FpbiBpbnNpZGUgdGhlIGJveCBkb2VzIG5vdCBzZWVtCj4gaGVscGZ1bC4K Pj4KPiAKPiBIaSBNYXJrLAo+IAo+IEluZGVlZC4gQVZQYWNrZXRzIGNvbnRhaW5zIHJhd19iaXRz dHJlYW1fYWNjZXNzX3VuaXQoKQo+IAo+IHJhd19iaXRzdHJlYW1fYWNjZXNzX3VuaXQoKSB7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo+ICAgICBhdV9zaXplICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCB1KDMyKQo+ICAgICBhY2Nl c3NfdW5pdChhdV9zaXplKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+ IH0gICAgICAgICAKPiAKPiBTdWNoIGRhdGEgY29tZXMgb3V0IGZyb20gdGhlIEFQViBlbmNvZGVy Lgo+IERhdGEgZnJvbSB0aGUgZW5jb2RlciBjYW4gZ28gdG8gdGhlIG1vdm11eGVyLCBidXQgaXQg Y2FuIGFsc28gZ28gdG8gYW5vdGhlcgo+IG11eGVyIGxpa2UgYXB2bXV4ZXIuCj4gCj4gY29uc3Qg RkZPdXRwdXRGb3JtYXQgZmZfYXB2X211eGVyID0gewo+ICAgICAucC5uYW1lICAgICAgICAgICAg PSAiYXB2IiwKPiAgICAgLnAubG9uZ19uYW1lICAgICAgID0gTlVMTF9JRl9DT05GSUdfU01BTEwo InJhdyBBUFYgdmlkZW8iKSwKPiAgICAgLnAuZXh0ZW5zaW9ucyAgICAgID0gImFwdiIsCj4gICAg IC5wLmF1ZGlvX2NvZGVjICAgICA9IEFWX0NPREVDX0lEX05PTkUsCj4gICAgIC5wLnZpZGVvX2Nv ZGVjICAgICA9IEFWX0NPREVDX0lEX0FQViwKPiAgICAgLmZsYWdzX2ludGVybmFsICAgID0gRkZf T0ZNVF9GTEFHX01BWF9PTkVfT0ZfRUFDSCB8Cj4gICAgICAgICAgICAgICAgICAgICAgICAgIEZG X09GTVRfRkxBR19PTkxZX0RFRkFVTFRfQ09ERUNTLAo+ICAgICAud3JpdGVfcGFja2V0ICAgICAg PSBmZl9yYXdfd3JpdGVfcGFja2V0LAo+ICAgICAucC5mbGFncyAgICAgICAgICAgPSBBVkZNVF9O T1RJTUVTVEFNUFMsCj4gfTsKPiAKPiBUaGFua3MgdG8gdGhlIGZhY3QgdGhhdCB0aGUgQVBWIG11 eGVyIHJlY2VpdmVzIHN1Y2ggZGF0YSBwYWNrZWQgaW4gQVZQYWNrZXQsCj4gSSB3YXMgYWJsZSB0 byB1c2UgdGhlIGRlZmF1bHQgZnVuY3Rpb24gZmZfcmF3X3dyaXRlX3BhY2tldCgpIGZyb20gcmF3 ZW5jLmMKPiBhcyBGRk91dHB1dEZvcm1hdDo6d3JpdGVfcGFja2V0IGZvciBmZl9hcHZfbXV4ZXIu Cj4gCj4gVGhlIEFQViBtdXhlciB1c2VzIGZmX3Jhd193cml0ZV9wYWNrZXQsIHdoaWNoIHRha2Vz IHRoZSBkYXRhIHRoYXQgY2FtZSBmcm9tCj4gdGhlIGVuY29kZXIgcGFja2VkIGluIEFWUGFja2V0 IGFuZCB3cml0ZXMgdGhlIGRhdGEgdG8gYSBmaWxlLgo+IAo+IEluIHRoZSBjYXNlIG9mIHNhdmlu ZyB0aGUgZWxlbWVudGFyeSBBUFYgc3RyZWFtIHRvIGEgZmlsZSwgdGhlIGRhdGEgc2hvdWxkCj4g aGF2ZSB0aGUgZm9ybWF0IFthdV9zaXplICg0Qnl0ZXMpXVthY2Nlc3NfdW5pdF1bYXVfc2l6ZQo+ ICg0Qnl0ZXMpXVthY2Nlc3NfdW5pdF0uLi5bYXVfc2l6ZSg0Qnl0ZXMpXVthY2Nlc3NfdW5pdF0u Cj4gCj4gUmVnYXJkaW5nIEFQViBpbiBtb3ZtdXhlciwgd2UgY2FuIGVsaW1pbmF0ZSB0aGUgYWRk aXRpb25hbCBBVSBzaXplIGluIHR3bwo+IHdheXM6Cj4gCj4gMS4KPiBXZSBjYW4gY2hhbmdlIHRo ZSBvdXRwdXQgZGF0YSBmb3JtYXQgZnJvbSB0aGUgZW5jb2RlciBzbyB0aGF0IHRoZSBBVlBhY2tl dAo+IGNvbnRhaW5zIGFjY2Vzc191bml0KCkgd2l0aG91dCB0aGUgNC1ieXRlIHByZWZpeCBjb250 YWluaW5nIGluZm9ybWF0aW9uCj4gYWJvdXQgdGhlIGxlbmd0aCBvZiB0aGUgQVUuIEhvd2V2ZXIs IHRoaXMgd2lsbCByZXF1aXJlIHVzaW5nIGEgY3VzdG9tCj4gLndyaXRlX3BhY2tldCBmdW5jdGlv biBpbiBmZl9hcHZfbXV4ZXIgdGhhdCB3aWxsIGFkZCBhIHByZWZpeCBzcGVjaWZ5aW5nIHRoZQo+ IHNpemUgb2YgdGhlIEFVIGluIHRoZSBvdXRwdXQgc3RyZWFtIGJlZm9yZSBlYWNoIGFjY2VzcyB1 bml0Lgo+IAo+IAo+IDIuIAo+IFdlIHdpbGwgbWFrZSBjaGFuZ2VzIGluIHRoZSBtb3YgbXV4ZXIg KG1vdmVuYy5jKS4gV2Ugd2lsbCBub3Qgd3JpdGUgdGhlIGRhdGEKPiB1c2luZyB0aGUgY2FsbCBh dmlvX3dyaXRlKHBiLCBwa3QtPmRhdGEsIHNpemUpOyBidXQgd2lsbCBpbXBsZW1lbnQgY3VzdG9t Cj4gaGFuZGxpbmcgZm9yIEFQViAoYW4gYWRkaXRpb25hbCBpZigpIGluIGZmX21vdl93cml0ZV9w YWNrZXQoKSk6Cj4gCj4gaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQVBWKSB7Cj4g ICAgIGF2aW9fd3JpdGUocGIsIHBrdC0+ZGF0YSArIDQsIHNpemUgLSA0KTsKPiB9Cj4gCj4gUGxl YXNlIHNoYXJlIHlvdXIgb3Bpbmlvbi4KCkkgZG9uJ3QgdGhpbmsgdGhlIGltcGxlbWVudGF0aW9u IGRldGFpbHMgd2hpY2ggeW91IG1lbnRpb24gYXJlIHJlbGV2YW50IHRvIHRoZSBxdWVzdGlvbnMg SSBhbSBhc2tpbmcuCgoKVGhlIHByaW1hcnkgcG9pbnQgaGVyZSBpcyB0aGF0IHRoZSBzcGVjIGF0 IDxodHRwczovL2dpdGh1Yi5jb20vQWNhZGVteVNvZnR3YXJlRm91bmRhdGlvbi9vcGVuYXB2L2Js b2IvbWFpbi9yZWFkbWUvYXB2X2lzb2JtZmYubWQ+IHNheXM6CgogICJlYWNoIHNhbXBsZSBzaGFs bCBjb250YWluIG9uZSBhbmQgb25seSBvbmUgYWNjZXNzIHVuaXQgb2YgQVBWIGNvZGVkIGRhdGEi CgpUaGlzIHN0YXRlcyB0aGF0IGl0IGNvbnRhaW5zIGFuICJhY2Nlc3MgdW5pdCIsIG5vdCBhICJy YXcgYml0c3RyZWFtIGFjY2VzcyB1bml0IiBhcyBpbiB5b3VyIGltcGxlbWVudGF0aW9uLgoKU2lu Y2UgeW91ciBpbXBsZW1lbnRhdGlvbiBhbmQgdGhlIHNwZWMgZGlzYWdyZWUsIGNhbiB5b3UgY29t bWVudCBvbiB0aGUgc3RhdHVzIC8gaW50ZW5kZWQgZmluYWxpdHkgb2YgZWFjaCBvZiB0aGVtPyAg KElzIHRoZXJlIGFub3RoZXIgaW1wbGVtZW50YXRpb24gb2YgdGhpcyB3aGljaCB5b3UgYXJlIHRl c3RpbmcgYWdhaW5zdCwgb3IgaXMgdGhpcyB0aGUgZmlyc3Qgb25lPykKClRvIG1lIHRoZSBzcGVj IGRlZmluaXRpb24gYXBwZWFycyB0byBiZSB0aGUgbW9yZSBzZW5zaWJsZSBvbmUsIHNpbmNlIHRo ZSByYXcgYml0c3RyZWFtIGZvcm1hdCBmdW5jdGlvbnMgYXMgYSBjb250YWluZXIgYW5kIGl0IGRv ZXMgbm90IG1ha2Ugc2Vuc2UgdG8gbmVzdCBjb250YWluZXJzLgoKClNlcGFyYXRlbHkgdG8gdGhh dCBxdWVzdG9uLCB0aGVyZSBpcyB0aGUgcG9pbnQgdGhhdCBpbnNpZGUgZmZtcGVnIHdlIG1heSBt YWtlIG91ciBvd24gY2hvaWNlIGFib3V0IHdoYXQgYW4gQVZQYWNrZXQgc2hvdWxkIGNvbnRhaW4g KGFuZCB0aGVuIHVzZSBpdCBjb25zaXN0ZW50bHkpLgoKSW4gdGhpcyBjYXNlIG15IG9waW5pb24g aXMgdGhhdCBoYXZpbmcgYW4gQVZQYWNrZXQgY29udGFpbiBhbiBhY2Nlc3MgdW5pdCAodGhlIHRv cC1sZXZlbCBzeW50YXggc3RydWN0dXJlIGRlZmluZWQgaW4gdGhlICJzeW50YXggYW5kIHNlbWFu dGljcyIgc2VjdGlvbiBvZiB0aGUgc3BlY2lmaWNhdGlvbikgaXMgdGhlIGNob2ljZSB3aGljaCBt YWtlcyBtb3N0IHNlbnNlLCBhbmQgaXQgaXMgYWxzbyB0aGUgb25lIHdoaWNoIEkgaGF2ZSBmb2xs b3dlZCBjb25zaXN0ZW50bHkgaW4gbXkgcGF0Y2ggc2VyaWVzLgoKPj4gU2Vjb25kLCBJIHRoaW5r IHdlIG5lZWQgYSBjb25zaXN0ZW50IGRlY2lzaW9uIG9uIHdoYXQgdGhlIGV4dHJhZGF0YSBzaG91 bGQKPiBiZQo+PiBkb2luZy4gIFRoZSBBUFZEZWNvZGVyQ29uZmlndXJhdGlvblJlY29yZCBtYWtl cyBzZW5zZSBhcyBhIHRoaW5nIGZvciBpdCB0bwo+PiBjb250YWluLCBidXQgaXQncyBub3QgY2xl YXIgdG8gbWUgdGhhdCBpdCBuZWVkcyB0byBleGlzdCBhdCBhbGwgYXMgaXQgaGFzCj4gbm8gZWZm ZWN0IG9uCj4+IGFueXRoaW5nIGluc2lkZSBmZm1wZWcgKGEgZGVjb2RlciB3aWxsIGFsd2F5cyBp Z25vcmUgaXQpLgo+Pgo+PiBZb3UgY3VycmVudGx5IG1ha2UgZXh0cmFkYXRhIGZyb20gb25lIG9m IHlvdXIgZGVtdXhlcnMgYnV0IG5vdCBvdGhlciBvbmUKPiBvcgo+PiB0aGUgZW5jb2RlciwgYW5k IG5vdGhpbmcgcmVxdWlyZXMgaXQgd2hlbiBjb25zdW1pbmcuICBXaHkgaXMgaXQgdXNlZnVsIHRv Cj4gaGF2ZQo+PiBldmVyPwoKWW91ciBjb21tZW50IG9uIHRoaXMgcXVlc3Rpb24gd291bGQgYWxz byBiZSBhcHByZWNpYXRlZC4KClRoYW5rcywKCi0gTWFyawoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdApmZm1w ZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0aW5mby9m Zm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBlbWFpbApm Zm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJzY3JpYmUi Lgo=