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 9287049027 for ; Wed, 31 Jan 2024 14:10:31 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id BE53D68CEC9; Wed, 31 Jan 2024 16:10:23 +0200 (EET) Received: from mail-ot1-f48.google.com (mail-ot1-f48.google.com [209.85.210.48]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 4584D68C7B6 for ; Wed, 31 Jan 2024 16:10:16 +0200 (EET) Received: by mail-ot1-f48.google.com with SMTP id 46e09a7af769-6e112883676so620792a34.1 for ; Wed, 31 Jan 2024 06:10:16 -0800 (PST) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706710214; x=1707315014; h=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=Dnyl9QhcfNPMKjTLg8llJnnzFINfth8Zh8yGY/HR2TU=; b=YLW3cNcAzlDtYVyxntyyqanDpx8PxYgun6CdaDdBmEvPYLycKOrHRhbxsZyQOaB121 8VykljHsxEzNy16OMw20Pd+x35HA5Cx2whyHci1i0t8G0BSkYiV1pSTeC9d4cdokP3YY bx+YVjRrM4x8+DaVck06aLDclpae2QjAPD1P7taPeDMXAXoS16FlEyd206tcYAvMzTRW zpZKKeEUPj/DbXxtZxfEdvardTnDXS5zyeT+e2GOpYWGO337dRveDDBriKYakwiUmqc1 g5mVJuR8pHD8Qqmfr01PEiFvPajocC/bKnrZBHOS+QhHYN5FX47YkBbgSuUqA070/mG+ sOsQ== X-Gm-Message-State: AOJu0YwMMS1U9tqQydiuxjuGz8RTQKeUFaFEmKswdZv+HKIEEcFCWOQO pJOzMKKPo3QhnhF1nzEDytH+cuUTc1eq9b2S513FNSUKi0kOh4dGTrLu6FPIROV3YFV23gbn2Z3 yqA4Kf+Fj2jkLhCCGEDXlrZOd8wGTpV/kPjdyKAKLNc8uiD/M8Mg= X-Google-Smtp-Source: AGHT+IFMk/o6Lvo/ok7XDD/29Wu8S/Dc25j7EGd1NSipeuiGHr/IlGBzewDprdtS/QfOm8b5Tt8t+440enPRobDzaPk= X-Received: by 2002:a05:6820:606:b0:599:6d16:353c with SMTP id e6-20020a056820060600b005996d16353cmr2121652oow.1.1706710213994; Wed, 31 Jan 2024 06:10:13 -0800 (PST) MIME-Version: 1.0 References: <20240128032549.GN6420@pb2> <170656270992.8914.17597847459142276038@lain.khirnov.net> <20240130001554.GH6420@pb2> <170670599775.8914.331021234730065376@lain.khirnov.net> In-Reply-To: <170670599775.8914.331021234730065376@lain.khirnov.net> Date: Wed, 31 Jan 2024 11:10:02 -0300 Message-ID: To: FFmpeg development discussions and patches , "Jonatas L. Nogueira" X-Content-Filtered-By: Mailman/MimeDel 2.1.29 Subject: Re: [FFmpeg-devel] Sovereign Tech Fund 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: , From: "Jonatas L. Nogueira via ffmpeg-devel" Reply-To: FFmpeg development discussions and patches Cc: "Jonatas L. Nogueira" 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: PiBJTU8gaGFzdHkgYWN0aW9ucyBhbmQgYXZvaWRhYmxlIGRyYW1hIG1heSBjYXVzZSBkYW1hZ2Ug dG8gdGhlIHByb2plY3QKCldoYXQgd291bGQgYmUgYSBoYXN0eSBhY3Rpb24/IEkndmUgc2VlbiBm YXIgdG9vIG11Y2ggcGVvcGxlIGNhbGxpbmcgYWN0aW9uCm92ZXIgc3R1ZmYgZGlzY3Vzc2VkIGZv ciB3ZWVrcy9tb250aHMgYXMgImhhc3R5IiBpbiBhdHRlbXB0IHRvIHN0YWxsIGludG8KZW5kbGVz cyBkaXNjdXNzaW9ucywgc28geW91IG1pZ2h0IHdhbnQgdG8gY2xhcmlmeS4KCj4gVGhlIHF1ZXN0 aW9uIGlzLCB3aGF0IGV4YWN0bHkgd291bGQgYmUgdGhlIHJlcHJlY3Vzc2lvbiBmb3IgZmFpbGlu ZyB0bwphY2hpZXZlIHByb2plY3RzLiBUbyB1cz8gVG8gU1BJPyBOb3QgdG8gbWVudGlvbiB0aGUg ZGV2ZWxvcGVyIG5vdApnZXR0aW5nIHBhaWQuCgpHaXZlbiB0aGUgY3VycmVudCBnb2FsIGlzIHRv IGZ1bmQgY29udGludW91cyBtYWludGVuYW5jZSB0YXNrcywgaXQnbGwgb25seQpiZSBhIGxhcmdl IHByb2JsZW0gd2l0aCB1bnBhaWQgcGVvcGxlIGlmIGZpbmFsIHN0YXRlIGlzbid0IGJldHRlciB0 aGFuCmluaXRpYWwgKGVnLiBjb2RlIGdldHMgbW9yZSBibG9hdGVkIGluc3RlYWQgb2YgbGVzcyku IE90aGVyd2lzZSwgZXZlbiBpZgpzb21lIHNwZWNpZmljIHRhc2sgY2Fubm90IGJlIGNvbXBsZXRl ZCwgdGhhdCdzIG5vdCBhbiBpc3N1ZSBieSBpdHNlbGYsIHRoZQp0aW1lIGFscmVhZHkgc3BlbnQg Y2FuIGJlIHBhaWQsIGFzIGxvbmcgdGhhdCB0aGVyZSdzIHNvbWV0aGluZyB0byBzaG93IGZvcgpp dC4gKFRoYXQncyBhbHNvIGFuIGlzc3VlLCBidXQgdGhhbmtmdWxseSBhIGRlYmF0ZSBmb3IgbGF0 ZXIpLgoKT2YgY291cnNlLCBpZiBldmVyeXRoaW5nIGVuZHMgdXAgdW5maW5pc2hlZCB0aGF0J2xs IG9ubHkgc2NyZWFtIHlvdSdyZQp0ZXJyaWJsZSBhdCBwbGFubmluZyBvciBvdXRyaWdodCBkb24n dCBrbm93IHdoYXQgeW91J3JlIGRvaW5nLgpSZXBlcmN1c3Npb25zIGNvdWxkIG1ha2UgaGFyZGVy IGZvciB5b3UgdG8gYWNxdWlyZSBmdW5kcyBpbiB0aGUgZnV0dXJlIGFuZApsaWtlbHkgY29tbWVu dHMgdGhhdCBTUEkgc2hvdWxkIGZvbGxvdyBpdHMgcHJvamVjdHMgbW9yZSBjbG9zZWx5LgoKU28g bWl4aW5nIHNvbWUgZWFzeSBidXQgYm9yaW5nIHRhc2tzIGlzIGRlZmluaXRlbHkgYSBnb29kIGlk ZWEuCgo+IFNvIHlvdSdyZSBiYXNpY2FsbHkgc2F5aW5nIHRoZSBkZXZlbG9wZXJzIGhhdmUgdG8g dGFrZSB0aGUgcmlzayBvbnRvCnRoZW1zZWx2ZXMKCkNvdWxkIHlvdSBleHBsYWluIHdoYXQgZXhh Y3RseSB0aGUgcmlzayBkZXZzIGFyZSB0YWtpbmcgaXM/IEkgY2FuIGhlbHAgaWYKeW91IGNhbiBt YWtlIHRoZSB1c3VhbCByaXNrIGFzc2Vzc21lbnQgdGFibGUgKHdoYXQgcmlzaywgbGlrZWxpaG9v ZCwgYW5kCmltcGFjdC9jb25zZXF1ZW5jZSkuCgo+IGl0J3Mgd2lkZWx5IGFja25vd2xlZGdlZCB0 aGF0CmFjY3VyYXRlIHRpbWUgZXN0aW1hdGVzIGZvciBjb21wbGV4IHByb2plY3RzIGFyZSBzb21l d2hlcmUgYmV0d2VlbgpleHRyZW1lbHkgaGFyZCBhbmQgdW5mZWFzaWJsZS4KCkkgZG9uJ3QgdGhp bmsgYSB5ZWFyIGlzIGEgcXVlc3Rpb24gb2YgYWNjdXJhY3ksIGl0IHVzdWFsbHkgaW5kaWNhdGVz IHRoYXQKdGhlIGNvZGUgaXMgYmVjb21pbmcgbGFzYWduYSAoaWYgbm8gcmVzdWx0IGNhbiBiZSBw cm92aWRlZCksIHJhdmlvbGkgKGlmCnJlc3VsdCBjYW4gYmUgcHJvdmlkZWQgYnV0IGl0IGRvZXNu J3Qgd29yaykgb3Igc3BhZ2hldHRpICh3aGVuIGl0IGNhbiBiZQpwcm92aWRlZCBhbmQgd29ya3Mu Li4gc29tZXRpbWVzKS4KClRoYXQgc291bmRzIGV4YWN0bHkgbGlrZSBhIGdvb2QgdXNlIGZvciBh IG1haW50ZW5hbmNlIGdyYW50LCBpZGVudGlmeWluZwp3aGVyZSB0aGUgZXhpc3RpbmcgY29kZSBi YXNlIGlzIHByb2JsZW1hdGljIGFuZCB0cnlpbmcgdG8gdGlkeSBpdCB1cC4KVGhhdCdzIGFsc28g bm90IHNvbWV0aGluZyB5b3UgY2FuIHNheSAid2lsbCBiZSBkb25lIGJ5IFgiLCBpdCdzIGp1c3QK c29tZXRoaW5nIHlvdSBwb3VyIGhvdXJzIGFuZCBob3BlIGVuZCByZXN1bHQgaXMgZWFzaWVyIHRv IHdvcmsgd2l0aCB0aGFuCnRoZSBwcmV2aW91cyBzdGF0ZSAoZXZlbiBpZiBpdCdzIHN0aWxsIHBh c3RhKS4KClRoYXQncyB3aHkgdGhlIFNjb3BlIG9mIFdvcmsgKHdoaWNoIGlzIHRoZSBjdXJyZW50 IHRhc2spIGZvciB0aGlzIGlzIGxlc3MKY29uY2VybmVkIGluIGVuZCByZXN1bHRzIG9yIGRlYWRs aW5lcywgYnV0IGluIGdvYWxzIHdoaWNoIGNhbiBiZSBhdHRhaW5lZAp3aXRoaW4gYSB0aW1lIGZy YW1lIChldmVuIGlmIHRoZXkncmUgIm1ha2luZyBiZXR0ZXIiIG9yIGNhbiBvbmx5IGJlIHBhcnRs eQphdHRhaW5lZCwgd2hpY2ggd291bGQgY2F1c2UgU1RGIHRvIGJlbGlldmUgeW91IHRvIGJlIG92 ZXJhbWJpdGlvdXMgYnV0IGlzCm5vdCBhcyBwcm9ibGVtYXRpYyBhcyBub3QgYXR0YWluaW5nIGFu eXRoaW5nIGF0IGFsbCkuCgo+IGRldmVsb3BlcnMgd2lsbCB0cnkgdG8gcHJvdGVjdCB0aGVtc2Vs dmVzIGJ5IHBsYXlpbmcgaXQgc2FmZQphbmQgYnVkZ2V0aW5nIGZvciB0aGUgbGFyZ2VzdCBhbW91 bnQgb2YgdGltZSB0aGV5IHRoaW5rIHRoZXkgbWlnaHQKcG9zc2libHkgbmVlZC4gV2hpY2ggbWVh bnMgaW4gbW9zdCBjYXNlcyB0aGV5IHdpbGwgbmVlZCBsZXNzIHRpbWUsCnNvbWV0aW1lcyBzaWdu aWZpY2FudGx5IGxlc3MuIFdvdWxkIFNURiBiZSBva2F5IHdpdGggdXMgYmVpbmcgc28Kd2FzdGVm dWw/CgpObyBvbmUgaXMgZ29pbmcgdG8gZ2V0IHBhaWQgYWNjb3JkaW5nIHRvIHRoZWlyIGJ1ZGdl dCwgdGhlIHBheW1lbnQgaXMgb3Zlcgpob3cgbXVjaCB0aW1lIHRoZXkgYWN0dWFsbHkgc3BlbnQu IEJ1ZGdldCBpcyBhIGxpbWl0LCBzbyB0aGUgZGV2ZWxvcGVyIGhhcwphIGdvb2QgaWRlYSBzaW5j ZSB0aGUgc3RhcnQgb2YgaG93IGxvbmcgdGhleSBjYW4gdGFrZS4gSWYgdGhleSBub3RpY2UgaXQn bGwKZ28gb3ZlciBidWRnZXQsIHRoZXkgY2FuIHN0b3AsIHJlZXZhbHVhdGUgYW5kIHByb3Bvc2Ug bmV3IGJ1ZGdldHMgb3IKcGFydGlhbCBkZWxpdmVyaWVzIChvciB3aGF0ZXZlciB0aGUgR0EvU1RG IGRlY2lkZXMgdG8gYmUgYWNjZXB0YWJsZSkuIE1vcmUKb2Z0ZW4gdGhhbiBub3QsIHRoZXknbGwg aGF2ZSBydW4gaW4gYW4gdW5mb3Jlc2VlbiBpc3N1ZSB3aGljaCBjb3VsZCB3YXJyYW50CmEgZnVu ZC9idWRnZXQgb24gaXRzIG93bi4KClNvIGlmIHlvdSBidWRnZXQgMTUgaG91cnMgYW5kIHdvcmsg NSwgeW91J2xsIGJlIHBhaWQgZm9yIDUgYW5kIHRoZSBzdXJwbHVzCm9mIDEwIGhvdXJzIGNhbiBi ZSBnaXZlbiB0byBvdGhlciBwcm9qZWN0cyBvciBhc3NpZ25lZCBzb21ld2hlcmUgbmVhcmluZwpv dmVyIGJ1ZGdldGluZyBzbyBpdCBjYW4gYmUgZmluaXNoZWQgKG9yIGF0IGxlYXN0LCBkZWxpdmVy ZWQpLgoKPiBteSBtYWluIHBvaW50IGlzIHRoYXQgdGhlIGFtb3VudCBvZiB3b3JrIHRvIGJlIGRv bmUgb24gYW55CmludGVyZXN0aW5nIGNsZWFudXAgaXMgdW5rbm93YWJsZSBiZWZvcmVoYW5kLiBU aGF0IG1lYW5zIHlvdSBoYXZlIHRvCmJ1ZGdldCBmb3IgdGhlIHdvcnN0IGNhc2UsIHdoaWNoIG1l YW5zIGluIHRoZSBtZWRpYW4gY2FzZSB5b3Ugd2lsbCBiZQpzaWduaWZpY2FudGx5IG92ZXJwYWlk LgoKSSBhZ3JlZSBpdCdzIGltcG9zc2libGUgdG8ga25vdywgYW5kIEkgYW0gc3VyZSBTVEYgaXMg YXdhcmUgb2YgdGhhdCBhcwp3ZWxsLiBUaGF0J3MgYWxzbyB3aHkgcGFydGljdWxhcnMgdXN1YWxs eSBkb24ndCBmdW5kIHRoZXNlIHRoaW5ncywgYnV0CnB1YmxpYyBmdW5kcyBsaWtlIFNURiBhcmUg d2lsbGluZyB0by4gQnV0IHRoZXJlIHdpbGwgYmUgbm8gb3ZlcnBheW1lbnQsIGFzCnlvdSdyZSBw YWlkIGZvciB3aGF0IHlvdSBkbyAodXAgdG8gYnVkZ2V0KS4gSWYgeW91IGZpbmlzaCB3aXRoIGxl c3MgdGhhbgpidWRnZXRlZCwgdGhhdCBtZWFucyB0aGUgc3VycGx1cyBjYW4gYmUgdXNlZCB0byBj bGVhbiBhbm90aGVyIGNvZGUuIChBbmQgaWYKdGhlcmUncyBhIGNvbmNlcm4gb2YgZmFrZSBob3Vy cywgdGhlcmUgYXJlIG1lY2hhbmlzbXMgd2hpY2ggY2FuIGJlIHVzZWQgYW5kCmNhbiBiZSBkaXNj dXNzZWQgbGF0ZXIsIGFmdGVyIHRoZSBidWRnZXQgaXMgbWFkZSwgd2hpY2ggaXMgYWZ0ZXIgU1RG CnJldHVybnMgdGhlaXIgYXBwcm92YWwgYW5kIHRoZSBleGFjdCB0ZXJtcykuCgpJIGhvcGUgdGhp cyBhZGRyZXNzZXMgc29tZSBvZiB5b3VyIGNvbmNlcm5zLgpBdHQuLAoKSm9uYXRhcyBMLiBOb2d1 ZWlyYSAo4oCcSmVzdXNhbHZh4oCdKQoKT24gV2VkLCBKYW4gMzEsIDIwMjQsIDA5OjU5IEFudG9u IEtoaXJub3YgPGFudG9uQGtoaXJub3YubmV0PiB3cm90ZToKCj4gUXVvdGluZyBNaWNoYWVsIE5p ZWRlcm1heWVyICgyMDI0LTAxLTMwIDAxOjE1OjU0KQo+ID4gPiBTZWxmLWltcG9zZWQgcmVzdHJp Y3Rpb25zIGxpa2UgdGhlc2UgYXQgdGhlIHZlcnkgbGVhc3QgbmVlZCBhIEdBIHZvdGUKPiA+ID4g SU1PLgo+ID4KPiA+IEkgZG9udCB0aGluayBpdHMgYSAiU2VsZi1pbXBvc2VkIHJlc3RyaWN0aW9u Igo+ID4gVGhlIHJpZ2h0IHRvIGFyYml0cmFyaWx5IHJlamVjdCBhIGludm9pY2UgdG8gYSBTb1cg bmV2ZXIgZXhpc3RlZCBpbiB0aGUKPiA+IGZpcnN0IHBsYWNlLgo+ID4gQnV0IGxldHMgdHJ5IHRo aXMgaHlwb3RoZXRpY2FsbHkuCj4gPiBJZiB0aGUgR0EgZGVjaWRlcyBpdCBoYXMgdGhlIHJpZ2h0 IHRvIHJlamVjdCBhbiBpbnZvaWNlIHRvIGEgU29XCj4gPiBzaWduZWQgYmV0d2VlbiBTUEkvU1RG LzEgRGV2ZWxvcGVyLgo+ID4gV2hlcmUgd291bGQgdGhlIEdBIGdldCB0aGF0IHJpZ2h0IGZyb20g Pwo+ID4gSXQgY2FuIG9ubHkgaGF2ZSBnYWluZWQgdGhhdCByaWdodCBmcm9tIHRoZSBTb1cvIG9y IGEgY29udHJhY3QKPiA+Cj4gPiBUaGlzIGlzIHRoZSBzYW1lIGluIEdTb0MKPiA+IGlmIHRoZSBH QSBkZWNpZGVzIGEgc3R1ZGVudCBzaG91bGQgbm90IGJlIHBhaWQsIGl0cyBub3QgZ29pbmcgdG8K PiA+IHdvcmssIGl0cyB0aGUgbWVudG9ycyBkZWNpc3Npb24gYW5kIGdvb2dsZXMuCj4gPiBUaGUg R0EgbmV2ZXIgZ2F2ZSB0aGF0IHJpZ2h0IHVwLCBpdCBuZXZlciBoYWQgaXQgaW4gdGhlIGZpcnN0 IHBsYWNlCj4KPiBNeSB1bmRlcnN0YW5kaW5nIG9mIHlvdXIKPiA+IFRoZXJlIGNhbiBiZSBubyBs YXRlIG9iamVjdGlvbnMKPiA+IFsuLi5dCj4gPiBvYmplY3Rpb25zIGFmdGVyIHRoYXQgY2Fubm90 IGJlIGNvbnNpZGVyZWQhCj4gd2FzIHRoYXQgcmV2aWV3ZXJzIG9mIHRoZSBjb2RlIHByb2R1Y2Vk IGJ5IGFuIFNURi1mdW5kZWQgcHJvamVjdCB3b3VsZAo+IGJlIHJlc3RyaWN0ZWQgZnJvbSByZWpl Y3RpbmcgdGhlIHBhdGNoZXMgb3IgZGVtYW5pbmcgbGFyZ2Utc2NhbGUKPiBjaGFuZ2VzLiBJZiB0 aGF0IGlzIG5vdCB3aGF0IHlvdSBtZWFudCB0aGVuIG15IHBvaW50IGRvZXMgbm90IGFwcGx5LCBi dXQKPiB0aGVuIHRoaXMgb3BlbnMgdGhlIGRldmVsb3BlciB0byB0aGUgcmlzayBvZiB0aGVpciBj b2RlIG5vdCBiZWluZwo+IGFjY2VwdGVkLgo+Cj4KPiA+ID4KPiA+ID4gPiBBbHNvIG9uY2UgdGhl IHBlcnNvbiBkb2luZyB0aGUgd29yayByZWFjaGVzIHRoZSBhZ3JlZWQgbWlsZXN0b25lLgo+ID4g PiA+IFNoZSB3aWxsIHN1Ym1pdCBhbiBpbnZvaWNlIHdpdGggc3RlZmFubyBhbmQgbXkgaGVscCB0 byBTUEkvU1RGLgo+ID4gPiA+IChpbiB0aGUgdW5saWtlbHkgY2FzZSBvZiBhIGRpc3B1dGUgb24g cmVhY2hpbmcgYSBtaWxlc3RvbmUKPiA+ID4gPiAgaXQgd291bGQgYmUgZGVjaWRlZCBieSB0aGUg dGVjaG5pY2FsIGNvbW1pdHRlZSBpZiB0aGUgbWlsZXN0b25lCj4gPiA+ID4gIGhhcyBiZWVuIHJl YWNoZWQgZnJvbSBGRm1wZWdzIHBvaW50IG9mIHZpZXcpCj4gPiA+Cj4gPiA+IFVubGlrZWx5PyBJ IGJlbGlldmUgeW91IGFyZSBvdmVybG9va2luZyBhbmQvb3IgdHJpdmlhbGl6aW5nIHRoZSBtb3N0 Cj4gPiA+IHNlcmlvdXMgcHJvYmxlbXMgdGhhdCBuZWVkIHRvIGJlIGFkZHJlc3NlZCBiZWZvcmUg d2UgY2FuIHN1Ym1pdCBhbnkKPiA+ID4gYXBwbGljYXRpb25zIGFuZCBub3QgaGF2ZSBpdCBlbmQg aW4gZGlzYXN0ZXIuCj4gPgo+ID4geWVzLCBpYW0gdHJpdmlhbGl6aW5nLCBpIHRob3VnaHQgcGVv cGxlIHdvdWxkIHZhbHVlIGEgZ3JhbnQgb2YgMjAwa+KCrAo+ID4gbW9yZSB0aGFuIGFyZ3Vpbmcg YXJvdW5kLgo+Cj4gSU1PIGhhc3R5IGFjdGlvbnMgYW5kIGF2b2lkYWJsZSBkcmFtYSBtYXkgY2F1 c2UgZGFtYWdlIHRvIHRoZSBwcm9qZWN0Cj4gZmFyIGluIGV4Y2VzcyBvZiB0aGlzIHN1bS4KPgo+ ID4gQW5kIHN1cmUgc29tZSBhcmd1bWVudHMgYXJlIHF1aXRlIHZhbGlkIGkganVzdCB0aGluayB3 ZSBjYW4gcG9zdHBvbmUKPiA+IHdoYXQgbmVlZHMgdG8gYmUgcG9zdHBvbmVkIHRvIGdldCB0aGlz IGdyYW50IGFuZCB0aGVuIGZvciB0aGUgbmV4dAo+ID4gcm91bmQgd2UgY2FuIGFkanVzdCBldmVy eXRoaW5nIGFzIHBlb3BsZSBwcmVmZXIgKGluIGNhc2UgdGhlcmUgdGhlbgo+ID4gc3RpbGwgaXMg YW55IHdpc2ggdG8gY2hhbmdlIHNvbWV0aGluZykKPiA+Cj4gPgo+ID4gPgo+ID4gPiBUaGVzZSBh cmUsIElNTzoKPiA+ID4KPiA+ID4gMSkgSG93IGRvZXMgdGhlIHByb2plY3QgcHJvdGVjdCBpdHNl bGYgZnJvbSBwcmUtYXBwcm92aW5nIHNvbWUgY29kZQo+IHRoYXQKPiA+ID4gICAgZG9lcyBub3Qg ZXhpc3QgeWV0PyBUaGlzIGlzIG5vdCBqdXN0IHNvbWUgdGhlb3JldGljYWwgZGFuZ2VyLCBpdCdz Cj4gPiA+ICAgIGVhc2lseSBwb3NzaWJsZSB0aGF0IHNvbWUgcHJvamVjdCBzb3VuZHMgZ29vZCBp biB0aGVvcnksIGJ1dAo+IGFjdHVhbGx5Cj4gPiA+ICAgIGltcGxlbWVudGluZyBpdCBjb21lcyB3 aXRoIHNvIG1hbnkgZ290Y2hhcyBhbmQgY2F2ZWF0cyB0aGF0IGl0IGVuZHMKPiA+ID4gICAgdXAg YmVpbmcgbm90IHdvcnRoIGl0LiBPciB0aGVyZSBhcmUgZnVuZGFtZW50YWwgdGVjaG5pY2FsCj4g PiA+ICAgIGRpc2FncmVlbWVudHMgYWJvdXQgdGhlIHNwZWNpZmljIHdheSBpdCdzIGJlZW4gaW1w bGVtZW50ZWQuIEJvdGgKPiA+ID4gICAgY2FzZXMgZXhpc3QgaW4gb3VyIGhpc3RvcnkuCj4gPgo+ ID4gTGV0cyBzZWUKPiA+IEZpcnN0IFNURiBpcyBub3QgYWJvdXQgZmVhdHVyZXMgYnV0IGFib3V0 IG1haW50YWluY2UuIFNvIHRoZSByaXNrCj4gPiBvZiByZWFsbHkgdW5leHBlY3RlZCBhbmQgdW5h dm9pZGFibGUgc2lkZWVmZmVjdHMgYXJlIG5vdCB0aGF0IGhpZ2guCj4gPiBBbHNvIHdlIGRvbnQg bmVlZCB0byBkbyB0aGUgcmVhbGx5IHRvdWdoIHN0dWZmIGluIFNURiB3ZSBjYW4gZG8gdGhlCj4g PiBlYXN5IGJ1dCBib3Jpbmcgc3R1ZmYuCj4KPiBJIGRvIG5vdCBzZWUgcGVvcGxlIHF1ZWluZyB1 cCBmb3Igc3VjaCB3b3JrLgo+Cj4gPiBCdXQgd2hhdHMgcmVhbGx5IHRoZSBwcm9ibGVtIGhlcmUg Pwo+ID4gTGV0cyBpbWFnaW5lIGEgZXhhbXBsZSB3ZSBhZ3JlZSB0byBBQkMKPiA+IGFuZCBpdCB0 dXJucyBvdXQgdGhlIGltcGxlbXRhdGlvbiBvZiBBQkMgdW5leHBlY3RlZGx5IG5lZWRzIDMgbGV0 dGVycwo+ID4gYW5kIHRoaXMgaXMgdW5hY2NlcHRhYmxlIHNvIHdlIGRvbnQgbWVyZ2UgaXQuCj4g PiBQZXJzb25hbGx5IEkgd291bGQgZm9yIGNhc2VzIHdoZXJlIHdlIGFyZW50IHN1cmUgdGhlIGNv ZGUgaXMgYWNjZXB0YWJsZQo+ID4gZm9yIGdpdCBtYXN0ZXIuIE1ha2UgdGhpcyBjbGVhciB0byBT VEYgYmVmb3JlIHRoZXkgYWNjZXB0aW5nIGl0IGFuZAo+ID4gSSB3b3VsZCBub3QgcHV0ICJtZXJn ZSBpbnRvIGdpdCBtYXN0ZXIiIGluIHRoZSBTb1cuCj4gPgo+ID4gTm93IGlmIHdlIGRvIHB1dCBz b21ldGhpbmcgaW4gdGhlIFNvVyB0aGF0IHdlIHRoZW4gZG8gbm90IGFjaGlldmUKPiA+IHRoYXRz IGEgZmFpbHVyZS4gSUlSQy9JSVVDIHRoaXMgaXMgcG9zc2libGUgYnV0IHdpbGwgbm90IGJlCj4g PiB0b2xlcmF0ZWQgbWFueSB0aW1lcy4gKGNlcnRhaW5seSB2ZXJ5IGRlcGVuZGFudCBhbHNvIG9u IG91cgo+ID4gZXhwbGFuYXRpb24gb2Ygd2h5IHRoYXQgaGFwcGVuZWQpCj4gPiAodGhhdHMgd2hh dCBpIHJlbWVtYmVyLCBpIGNhbm5vdCBmaW5kIHRoZSBtYWlsIEFUTSB3aGVyZSB3ZSB3aGVyZSB0 b2xkCj4gdGhhdCkKPgo+IFRoZSBxdWVzdGlvbiBpcywgd2hhdCBleGFjdGx5IHdvdWxkIGJlIHRo ZSByZXByZWN1c3Npb24gZm9yIGZhaWxpbmcgdG8KPiBhY2hpZXZlIHByb2plY3RzLiBUbyB1cz8g VG8gU1BJPyBOb3QgdG8gbWVudGlvbiB0aGUgZGV2ZWxvcGVyIG5vdAo+IGdldHRpbmcgcGFpZC4K Pgo+ID4gPgo+ID4gPiAgICBJdCdzIGFsc28gdmVyeSBoYXJkIHRvIGFjY3VyYXRlbHkgZXN0aW1h dGUgdGhlIGFtb3VudCBvZiB3b3JrCj4gPiA+ICAgIHJlcXVpcmVkIHRvIGRvIHNvbWV0aGluZy4g V2hhdCBkbyB3ZSBkbyB3aGVuIHNvbWVvbmUgc3BlbmRzIGEgbW9udGgKPiA+ID4gICAgd29ya2lu ZyBiZWZvcmUgcmVhbGl6aW5nIHRoZSBwcm9qZWN0IG5lZWRzIDV4IG1vcmUgdGltZSB0aGFuIGl0 J3MKPiA+ID4gICAgYnVkZ2V0ZWQgZm9yPwo+ID4KPiA+IHVzZSBhIHBheW1lbnQgcGVyIHRpbWUg U29XLgo+ID4gQnV0IGhvbmVzdGx5IGFzIGEgYnVpc25lc3MgcGFydG5lciB0byBTVEYgd2Ugc2hv dWxkIGFpbSBmb3IgZGVsaXZlcmluZwo+ID4gd2hhdCB3ZSBwcm9taXNzZSBhdCB0aGUgcHJpY2Ug d2UgcmVxdWVzdC4KPiA+IEFueXRoaW5nIGVsc2Ugd2lsbCBub3QgYmUgZ29vZCBmb3IgRkZtcGVn IGluZGVwZW5kYW50IG9mIGFsbCBvdGhlciB0aGluZ3MKPgo+IFNvIHlvdSdyZSBiYXNpY2FsbHkg c2F5aW5nIHRoZSBkZXZlbG9wZXJzIGhhdmUgdG8gdGFrZSB0aGUgcmlzayBvbnRvCj4gdGhlbXNl bHZlcy4gVGhhdCdzIHJpZGljdWxvdXMgYW5kIG1lYW5zIHRoaXMgY2Fubm90IGJlIHVzZWQgZm9y IGFsbW9zdAo+IGFueSBpbnRlcmVzdGluZyBwcm9qZWN0cy4KPgo+IEFzIGFuIGV4YW1wbGUsIG15 IHRocmVhZGluZyB3b3JrIHRvb2sgb3ZlciB0d2ljZSB0aGUgdGltZSBJIGluaXRpYWxseQo+IGV4 cGVjdGVkLiBBcmUgeW91IHN1Z2dlc3RpbmcgSSBzaG91bGQgaGF2ZSB3b3JrZWQgYSB5ZWFyIGZv ciBmcmVlPyBBbmQKPiBpdCdzIG5vdCBqdXN0IG15IHBlcnNvbmFsIGZhaWxpbmcgLSBpdCdzIHdp ZGVseSBhY2tub3dsZWRnZWQgdGhhdAo+IGFjY3VyYXRlIHRpbWUgZXN0aW1hdGVzIGZvciBjb21w bGV4IHByb2plY3RzIGFyZSBzb21ld2hlcmUgYmV0d2Vlbgo+IGV4dHJlbWVseSBoYXJkIGFuZCB1 bmZlYXNpYmxlLgo+Cj4gT2YgY291cnNlIHRoZSBwcm9ibGVtIGFsc28gd29ya3MgaW4gb3RoZXIg ZGlyZWN0aW9uLiBJZiB3ZSBnbyB3aXRoIHlvdXIKPiBzdWdnZXN0aW9uLCBkZXZlbG9wZXJzIHdp bGwgdHJ5IHRvIHByb3RlY3QgdGhlbXNlbHZlcyBieSBwbGF5aW5nIGl0IHNhZmUKPiBhbmQgYnVk Z2V0aW5nIGZvciB0aGUgbGFyZ2VzdCBhbW91bnQgb2YgdGltZSB0aGV5IHRoaW5rIHRoZXkgbWln aHQKPiBwb3NzaWJseSBuZWVkLiBXaGljaCBtZWFucyBpbiBtb3N0IGNhc2VzIHRoZXkgd2lsbCBu ZWVkIGxlc3MgdGltZSwKPiBzb21ldGltZXMgc2lnbmlmaWNhbnRseSBsZXNzLiBXb3VsZCBTVEYg YmUgb2theSB3aXRoIHVzIGJlaW5nIHNvCj4gd2FzdGVmdWw/Cj4KPiA+ID4KPiA+ID4gMykgV2hv IGV4YWN0bHkgd2lsbCBiZSBqdWRnaW5nIHdoYXQgYW1vdW50IG9mIG1vbmV5IGlzIGFwcHJvcHJp YXRlIGZvcgo+ID4gPiAgICB3aGF0IGFtb3VudCBvZiB3b3JrIHBlcmZvcm1lZD8gSG93IHdpbGwg d2UgYXZvaWQgY29uZmxpY3RzIG9mCj4gPiA+ICAgIGludGVyZXN0LCBvciBlbmRsZXNzIGJpa2Vz aGVkcyBvdmVyIHdobyBpcyBnZXR0aW5nIHRvbyBtdWNoIG1vbmV5Cj4gZm9yCj4gPiA+ICAgIHRv byBsaXR0bGUgd29yaz8gV2UganVzdCBiaWtlc2h1ZCBhIHRocmVhZCB0byBkZWF0aCBvdmVyIHJh dGhlcgo+ID4gPiAgICBsaXR0bGUgbW9uZXksIG5vdyBpbWFnaW5lIHdoYXQgd291bGQgaGFwcGVu IHdpdGggdGVuIHRpbWVzIHRoZQo+ID4gPiAgICBhbW91bnQuCj4gPgo+ID4gdHJpdmlhbCA7KQo+ ID4gd2Ugc3RhcnQgd2l0aCBhIHdpa2kgcGFnZQo+ID4gd2UgYWRkIGEgc29tZSB3b3JrIHdpdGgg c29tZSBtb25ldGFyeSBhbW91bnQuCj4gPiBXZSB3YWl0Lgo+ID4gSWYgc29tZW9uZSBjb21lcyBh bmQgaXMgd2lsbGluZyB0byBkbyBpdCBmb3IgbGVzcywgb2ssIGlmIHNvbWVvbmUKPiBjb21wbGFp bnMKPiA+IGl0cyB0b28gbXVjaCwgbm90IG9rLgo+ID4gVGhpcyBzZWVtcyB0aGUgbm9ybWFsIGhp cmUgdGhlICJjaGVhcGVzdCBjb21wZXRlbnQgZGV2ZWxvcGVyIgo+Cj4gVGhpcyBpcyBub3Qgc2Vy aW91cy4gInNvbWVvbmUgY29tcGxhaW5zIj8gTGlrZSBhbnkgcmFuZG9tIHBlcnNvbj8gQW55Cj4g ZGV2ZWxvcGVyPyBJbiBhIHByb2plY3QgbGlrZSBvdXJzLCBzb21lb25lIHdpbGwgYWx3YXlzIGNv bXBsYWluLiBEb2VzCj4gdGhhdCBtZWFuIGFueW9uZSBoYXMgYSB2ZXRvIG92ZXIgYW55dGhpbmcg ZWxzZT8KPgo+IEJlc2lkZXMsIG15IG1haW4gcG9pbnQgaXMgdGhhdCB0aGUgYW1vdW50IG9mIHdv cmsgdG8gYmUgZG9uZSBvbiBhbnkKPiBpbnRlcmVzdGluZyBjbGVhbnVwIGlzIHVua25vd2FibGUg YmVmb3JlaGFuZC4gVGhhdCBtZWFucyB5b3UgaGF2ZSB0bwo+IGJ1ZGdldCBmb3IgdGhlIHdvcnN0 IGNhc2UsIHdoaWNoIG1lYW5zIGluIHRoZSBtZWRpYW4gY2FzZSB5b3Ugd2lsbCBiZQo+IHNpZ25p ZmljYW50bHkgb3ZlcnBhaWQuCj4KPiAtLQo+IEFudG9uIEtoaXJub3YKPgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpmZm1wZWctZGV2ZWwgbWFpbGluZyBs aXN0CmZmbXBlZy1kZXZlbEBmZm1wZWcub3JnCmh0dHBzOi8vZmZtcGVnLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ZmbXBlZy1kZXZlbAoKVG8gdW5zdWJzY3JpYmUsIHZpc2l0IGxpbmsgYWJvdmUsIG9y IGVtYWlsCmZmbXBlZy1kZXZlbC1yZXF1ZXN0QGZmbXBlZy5vcmcgd2l0aCBzdWJqZWN0ICJ1bnN1 YnNjcmliZSIuCg==