[#13161] hacking on the "heap" implementation in gc.c — Lloyd Hilaiel <lloyd@...>
Hi all,
Hi,
On Fri, Nov 02, 2007 at 04:09:53AM +0900, Lloyd Hilaiel wrote:
On Tue, Nov 06, 2007 at 03:15:52AM +0900, Lloyd Hilaiel wrote:
Paul Brannan wrote:
[#13182] Thinking of dropping YAML from 1.8 — Urabe Shyouhei <shyouhei@...>
Hello all.
On 11/3/07, Urabe Shyouhei <shyouhei@ruby-lang.org> wrote:
On Nov 3, 2007, at 3:47 PM, Alexey Verkhovsky wrote:
where to start ... to fix the YAML code bugs
Ujwal Reddy Malipeddi wrote:
[#13196] Subscribe to list w/o email — Trans <transfire@...>
I'm now using the ruby-core-google interface to this list, rather then
[#13198] Ruby's Standard Library could use a lead maintainer — "Gregory Brown" <gregory.t.brown@...>
Hi folks,
On Nov 4, 2007, at 11:22 AM, Gregory Brown wrote:
James Edward Gray II wrote:
On 11/4/07, M. Edward (Ed) Borasky <znmeb@cesmail.net> wrote:
[#13206] guessutf 1.0.0 released — Wolfgang Nádasi-Donner <ed.odanow@...>
Dear Ruby designers, developers, and testers!
[#13215] Auto-translating gateway between ruby-core and ruby-dev? — Charles Oliver Nutter <charles.nutter@...>
I for one feel left out of conversations on ruby-dev. Barring my
[#13221] Re: Ruby's Standard Library could use a lead maintainer — Brent Roman <brent@...>
Brent Roman schrieb:
On 11/5/07, Wolfgang N=E1dasi-Donner <ed.odanow@wonado.de> wrote:
Gregory Brown schrieb:
[#13238] performance problem in 1.9 — Paul Brannan <pbrannan@...>
Checked latest 1.9 out of svn last week to run this test.
Paul Brannan wrote:
[#13248] Re: performance problem in 1.9 — Wolfgang Nádasi-Donner <ed.odanow@...>
Is it possible that it has a relationship with my remark about identifying
[#13254] send can't call protected methods, but invoke_method can — David Flanagan <david@...>
Hi,
[#13259] Frightening retry behavior should be deprecated and removed — Charles Oliver Nutter <charles.nutter@...>
Witness:
Hi,
[#13288] Unrecovered memory leak thoughts. — "Roger Pack" <rogerpack2005@...>
So it seems from my trivial analysis that there are instances when
On 11/8/07, Roger Pack <rogerpack2005@gmail.com> wrote:
On Thu, Nov 08, 2007 at 09:13:34PM +0900, Rick DeNatale wrote:
[#13289] Proposal of a new operator for Method and Proc — Jordi <mumismo@...>
Hello, this email is long but I hope you to read it. I think it is worth it.
Jordi wrote:
On Nov 8, 2007 7:03 PM, Gonzalo Garramu=F1o <ggarra@advancedsl.com.ar> wrot=
[#13292] Leak with regexp in method with no local vars. — "Jonas Pfenniger" <zimbatm@...>
The rubyforge -> ml link seems to be down so here is the link :
Also reproducible with
2007/11/9, Ryan Davis <ryand-ruby@zenspider.com>:
[#13305] The document of random algorithm? — sishen <yedingding@...>
Hi, guys. I want to know the detailed algorithm of random number.
[#13315] primary encoding and source encoding — David Flanagan <david@...>
I've got a couple of questions about the handling of primary encoding.
Hi,
Hi,
Yukihiro Matsumoto wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
In article <E1IqOZI-0001t7-LT@x31>,
Hi,
[#13347] http compression, zlib agnostic, for 1.9 — Hugh Sasse <hgs@...>
I have revised my http compression (gzip, deflate) patch such that
On Sat, Nov 10, 2007 at 05:28:01AM +0900, Hugh Sasse wrote:
[#13351] Keyword Arguments — Trans <transfire@...>
Peter Vanbroekhoven mentioned this to me and I have to agree. I'd
[#13362] RubyGems imported into 1.9 trunk — Eric Hodel <drbrain@...7.net>
There are a few tests breaking due to rbconfig.rb not matching what ./
On Nov 10, 2007 4:53 PM, Eric Hodel <drbrain@segment7.net> wrote:
On Nov 10, 2007, at 01:21 , Jordi wrote:
Eric,
On Nov 10, 2007, at 15:44 , David Flanagan wrote:
Eric Hodel wrote:
On Nov 11, 2007, at 22:34 , David Flanagan wrote:
[#13363] IO.read, IO#read (and similar methods) - Length Parameter Usage for Non One-Byte Encodings — Wolfgang Nádasi-Donner <ed.odanow@...>
Good morning dear Ruby folks!
[#13368] method names in 1.9 — "David A. Black" <dblack@...>
Hi --
Hi,
Hi --
Yukihiro Matsumoto wrote:
On 11/11/07, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
Austin Ziegler wrote:
David Flanagan wrote:
Hi --
Quoting dblack@rubypal.com, on Mon, Nov 12, 2007 at 06:45:42AM +0900:
Hi -
On Tue, Nov 13, 2007 at 09:40:22PM +0900, David A. Black wrote:
Hi --
Summing it up:
Hi --
On Nov 12, 2007 8:42 PM, David A. Black <dblack@rubypal.com> wrote:
On 12/11/2007, David A. Black <dblack@rubypal.com> wrote:
On Sun, Nov 11, 2007 at 05:50:18PM +0900, Trans wrote:
On Nov 11, 2007 7:01 PM, Matthew Boeh <mboeh@desperance.net> wrote:
On Nov 11, 2007 5:01 AM, Matthew Boeh <mboeh@desperance.net> wrote:
[#13377] Link errors for trunk on Mac OS X — "Lyle Johnson" <fxrubyguy@...>
Apologies in advance if this is a FAQ, but I'm trying to build the
[#13448] Time#== bug? — "Berger, Daniel" <Daniel.Berger@...>
Hi,
[#13457] mingw rename — "Roger Pack" <rogerpack2005@...>
Currently for different windows' builds, the names for RUBY_PLATFORM
On Nov 12, 2007 10:13 PM, Roger Pack <rogerpack2005@gmail.com> wrote:
[#13470] trunk's parse.c fails to compile — "Laurent Sansonetti" <laurent.sansonetti@...>
Hi,
Laurent Sansonetti wrote:
Charles Oliver Nutter wrote:
[#13485] Proposal: Array#walker — Wolfgang Nádasi-Donner <ed.odanow@...>
Good morning all together!
A nicer version may be...
On Wed, 14 Nov 2007, Trans wrote:
Hugh Sasse wrote:
There is one big difference between the actual proposals and my original
[#13498] state of threads in 1.9 — Jordi <mumismo@...>
Are Threads mapped to threads on the underlying operating system in
On Nov 14, 2007, at 11:18 , Bill Kelly wrote:
On Nov 15, 2007 7:33 AM, Eric Hodel <drbrain@segment7.net> wrote:
Jordi wrote:
[#13513] Proc#hash returns different values for same body — Wolfgang Nádasi-Donner <ed.odanow@...>
Hi!
[#13528] test/unit and miniunit — Ryan Davis <ryand-ruby@...>
When is the 1.9 freeze?
On Nov 14, 2007, at 18:43 , Trans wrote:
[#13536] mswin32-vc6 segmentation fault due ruby_in_eval wrong definition — "Luis Lavena" <luislavena@...>
Summary:
Hi,
On Nov 15, 2007 12:44 PM, Nobuyoshi Nakada <nobu@ruby-lang.org> wrote:
[#13542] Iconv#iconv returning wrong object — "Dirk Traulsen" <dirk.traulsen@...>
c:\>ri Iconv#iconv
Hi,
Am 15 Nov 2007 um 21:58 hat Nobuyoshi Nakada geschrieben:
Hi,
Am 16 Nov 2007 um 17:07 hat Nobuyoshi Nakada geschrieben:
[#13564] Thoughts about Array#compact!, Array#flatten!, Array#reject!, String#strip!, String#capitalize!, String#gsub!, etc. — Wolfgang Nádasi-Donner <ed.odanow@...>
Good evening all together!
Matz has added Object.tap to Ruby 1.9 which is intended for use in
On Nov 15, 2007 8:14 PM, Wolfgang N=E1dasi-Donner <ed.odanow@wonado.de> wro=
Nikolai Weibull schrieb:
Nikolai Weibull schrieb:
Hi --
Hi --
On Nov 16, 2007 3:19 PM, David A. Black <dblack@rubypal.com> wrote:
Hi --
On Nov 16, 2007 12:40 PM, David A. Black <dblack@rubypal.com> wrote:
On Nov 16, 2007 3:40 AM, David A. Black <dblack@rubypal.com> wrote:
David A. Black wrote:
Hi --
On Nov 16, 2007 12:40 PM, David A. Black <dblack@rubypal.com> wrote:
Rick DeNatale wrote:
murphy schrieb:
Hi --
On 11/16/07, Trans <transfire@gmail.com> wrote:
On Nov 16, 2007, at 8:43 PM, Austin Ziegler wrote:
[#13600] Re: [PATCH] CGI::Session::PStore partitioned directories — Tanaka Akira <akr@...>
In article <473D827F.10909@gmail.com>,
[#13614] Suggestion for native thread tests — "Eust痃uio Rangel" <eustaquiorangel@...>
Hi!
Eust痃uio Rangel wrote:
On Nov 17, 2007 2:02 PM, Charles Oliver Nutter <charles.nutter@sun.com> wrote:
On Nov 17, 2007 2:25 PM, Eust=E1quio Rangel <eustaquiorangel@gmail.com> wro=
[#13618] segfault in ostruct with 1.8.6, where to get help? — "andrew taylor" <aktxyz@...>
Hello folks, not sure if this is the right place...
run it in gdb, see if it gives you a better backtrace (?)
[#13676] Failing to compile trunk under Ubuntu — Brian Candler <B.Candler@...>
I tried compiling trunk yesterday and today, on two different Ubuntu 6.06
[#13685] Problems with \M-x in utf-8 encoded strings — Wolfgang Nádasi-Donner <ed.odanow@...>
Hi!
At 22:01 07/11/18, Wolfgang N〓dasi-Donner wrote:
Martin Duerst schrieb:
[#13688] base64.c vs. base64.rb — Trans <transfire@...>
Hi--
[#13704] Build failure trying to use rb_define_alias on rb_mKernel — "Berger, Daniel" <Daniel.Berger@...>
Hi,
[#13709] Change in system() behaviour — Dave Thomas <dave@...>
In 1.8, system("badcmd") returned false.
[#13741] retry semantics changed — Dave Thomas <dave@...>
In 1.8, I could write:
On Nov 23, 2007 12:06 PM, Dave Thomas <dave@pragprog.com> wrote:
Hi,
Hi,
Dave Thomas wrote:
Dave Thomas wrote:
Charles Oliver Nutter wrote:
Hi,
Yukihiro Matsumoto wrote:
Hi,
Hi,
Chiming in again on this...
In article <10A28D45-97EE-47EB-B98A-1B197F30C0E9@fallingsnow.net>,
In article <6168A472-3688-4D85-AAE1-49A2F376B908@fallingsnow.net>,
[#13781] C-Core-Questions — <saladin.mundi@...>
Hi guys, sorry that I'm posting into the core mailinglist, but in the =
[#13787] Syntax error when using comment between two lines in new method chain syntax — Wolfgang Nádasi-Donner <ed.odanow@...>
Hi!
[#13792] Anyone tried -r debug on OSX? — Dave Thomas <dave@...>
It hangs for me here. I have to kill -9 to stop it.
[#13805] Socket.gethostbyname and Reverse Lookups: A Strange and Terrible Saga — "Bill Kelly" <billk@...>
(with apologies to Hunter Thompson ;)
Re: Proposal of a new operator for Method and Proc
T24gTm92IDgsIDIwMDcgMTA6NDUgUE0sIEF1c3RpbiBaaWVnbGVyIDxoYWxvc3RhdHVlQGdtYWls LmNvbT4gd3JvdGU6Cj4KPiBPbiAxMS84LzA3LCBKb3JkaSA8bXVtaXNtb0BnbWFpbC5jb20+IHdy b3RlOgo+ID4gPT0gVGhlIHNlYXJjaCBmb3IgZXZlbnRzID09Cj4gPgo+ID4gRmlyc3QsIHRoZSBj bGFzc2VzIGJlbG93IGFyZSBub3QgdGVzdGVkIGFuZCBJJ20ganVzdCBhIGJlZ2lubmVyLCBzb21l Cj4gPiBlcnJvcnMgYXJlIHRvb2sgZm9yIGdyYW50ZWQuIFdvbid0IGFmZmVjdCBteSBkaXNjb3Vy c2UuIEkgd2FudGVkIHRvCj4gPiBpbXBsZW1lbnQgYSB0aW1lciwgbG9va2luZyBpbiBnb29nbGUg dGhlIGZpcnN0IHRoaW5nIHlvdSBnZXQgaXMKPiA+IHNvbWV0aGluZyBsaWtlIHRoaXM6Cj4gPgo+ ID4gY2xhc3MgVGltZXIKPiA+Cj4gPiAgZGVmIHN0YXJ0ICh0aW1lb3V0KQo+ID4gICAgdGggPSBU aHJlYWQubmV3IGRvCj4gPiAgICAgIGxvb3AgZG8KPiA+ICAgICAgICAjIHdvcmsgZG9uZSBieSB0 aGUgdGltZXIKPiA+ICAgICAgICBzbGVlcCh0aW1lb3V0KQo+ID4gICAgICBlbmQKPiA+ICAgIGVu ZAo+ID4gIGVuZAo+ID4gZW5kCj4gPgo+ID4gTGV0J3Mgc3VwcG9zZSBJJ20gb25seSB1c2luZyB0 aGUgdGltZXIgdG8gaW1wbGVtZW50IHNvbWUga2luZCBvZiBjb3VudGVyLgo+ID4gQ29vbCwgQlVU IEkgd291bGQgbGlrZSB0aGF0IHRoZSB3b3JrIG9mIHRoZSB0aW1lciBiZSBvbmx5IHRpbWUKPiA+ IHJlbGF0ZWQhIGFuZCB0aGUgY291bnRlciBiZSBpbiBpdHMgcmVsZXZhbnQgY2xhc3MuCj4gPiBB bHNvIEkgbWF5IHdhbnQgdG8gcmV1c2UgdGhpcyBjbGFzcy4KPiA+Cj4gPgo+ID4gU28gSSB0aG91 Z2h0IGFib3V0IHNvbWV0aGluZyBsaWtlIHRoaXMKPiA+Cj4gPiBjbGFzcyBUaW1lcgo+ID4KPiA+ ICBkZWYgaW5pdGlhbGl6ZSAoKmFyZ3VtZW50cykKPiA+ICAgIGNvbm5lY3Rpb25zPVtdCj4gPiAg ICBAYXJndW1lbnRzPWFyZ3VtZW50cwo+ID4gIGVuZAo+ID4gIGRlZiByZWdpc3Rlcl93b3JrICgg cG9pbnRlcikKPiA+ICAgIGNvbm5lY3Rpb25zICs9IHBvaW50ZXIKPiA+ICBlbmQKPiA+ICBkZWYg ZGVyZWdpc3Rlcl93b3JrIChwb2ludGVyKQo+ID4gICAgY29ubmVjdGlvbnMgLT0gcG9pbnRlcgo+ ID4gIGVuZAo+ID4gIGRlZiBkZXJlZ2lzdGVyX2FsbAo+ID4gICAgY29ubmVjdGlvbnMgPVtdCj4g PiAgZW5kCj4gPiAgZGVmIGxpc3QKPiA+ICAgIGNvbm5lY3Rpb25zLmVhY2ggeyB8bHwgcHV0cyAi I3tsfSIgfQo+ID4gIGVuZAo+ID4KPiA+ICBkZWYgc3RhcnQgKHRpbWVvdXQpCj4gPiAgICB0aCA9 IFRocmVhZC5uZXcgZG8KPiA+ICAgICAgbG9vcCBkbwo+ID4gICAgICAgICMgd29yayBkb25lIGJ5 IHRoZSB0aW1lcgo+ID4gICAgICAgIGNvbm5lY3Rpb25zLmVhY2ggeyB8bHwgbC5jYWxsKCpAYXJn dW1lbnRzKSB9Cj4gPiAgICAgICAgc2xlZXAgKHRpbWVvdXQpCj4gPiAgICAgIGVuZAo+ID4gICAg ZW5kCj4gPiAgZW5kCj4gPgo+ID4gZW5kCj4gPgo+ID4gSSB3cm90ZSBwb2ludGVyLCBJIG1lYW50 IGZvciBpbnN0YW5jZSBDb3VudGVyLmNvdW50KCkKPiA+Cj4gPiBUaGlzIGNsYXNzIGlzIG11Y2gg bW9yZSBnZW5lcmFsIGFuZCBwb3dlcmZ1bC4KPiA+IFRoZSB3b3JrIGlzIGRvbmUgaW4gdGhlIHJl bGV2YW50IGNsYXNzZXMgYW5kIG5vdCBpbnNpZGUgdGhlIHRpbWVyCj4gPiBBbHNvLCB3ZSBjYW4g cmVnaXN0ZXIgYXMgbWFueSBjb25uZWN0ZWQgY2xhc3NlcyBhcyB3ZSB3YW50Lgo+ID4KPiA+Cj4g PiBTZWVpbmcgdGhhdCB0aGlzIGlzIEdvb2QgKHRtKSBJIHRob3VnaHQgYWJvdXQgaG93IGNhbiBJ IG1ha2UgYW55IGNsYXNzIHVzZSB0aGlzLgo+ID4gT2YgY291cnNlIEkgY2FuIG1ha2UgYSBjbGFz cyB3aXRoIHRoZSByZWdpc3RlciwgZGVyZWdpc3RlciBhbmQgY2FsbAo+ID4gdGhpbmcgYW5kIG1p eGluIGl0Lgo+ID4KPiA+IEJ1dCBXb3VsZG4ndCBiZSBjb3VsZCB0aGF0IHRoZXNlIGVuY2Fwc3Vs YXRlZCBjb25uZWN0aW9ucyBhcmUKPiA+IHN1cHBvcnRlZCBuYXRpdmVseSBieSBydWJ5Pwo+ID4K PiA+IEFib3V0IGJlbmVmaXRzIG9mIHRoaXMgc2NoZW1lOgo+ID4gaHR0cDovL2RvYy50cm9sbHRl Y2guY29tLzQuMy9zaWduYWxzYW5kc2xvdHMuaHRtbAo+ID4KPiA+IEFib3V0IGEgY29tcGFyaXNv biBvZiBpbXBsZW1lbnRhdGlvbnMgKGdvaW5nIHN0cmFpZ2h0IHRvIHRoZQo+ID4gY29tcGFyaXNv biB0YWJsZSBpcyBiZXR0ZXIpOgo+ID4gaHR0cDovL3Njb3R0Y29sbGlucy5uZXQvYXJ0aWNsZXMv YS1kZWVwZXItbG9vay1hdC1zaWduYWxzLWFuZC1zbG90cy5odG1sCj4gPgo+ID4KPiA+ID09VGhl IGNvb2wgc3R1ZmYgPT0KPiA+Cj4gPiBJIHRob3VnaHQgYWJvdXQgaG93IHRvIGdldCB0aGlzIGZl YXR1cmUgaW1wbGVtZW50ZWQgd2l0aG91dCBwb2xsdXRpbmcKPiA+IHRoZSBtb3N0IGJhc2ljIGNs YXNzIG9mIFJ1YnkuCj4gPiBJIHRoaW5rIHRoYXQgdGhlIG1vc3QgcG93ZXJmdWwgYW5kIGxlc3Mg cG9sbHV0aW5nIHdheSBpcyBhZGRpbmcgYSBuZXcKPiA+IG9wZXJhdG9yIHRvIE1ldGhvZCBhbmQg UHJvYy4KPiA+Cj4gPgo+ID4gRXhhbXBsZS4KPiA+IEkgaGF2ZSBhIGNsYXNzIFBhZ2UsIGEgY2xh c3MgVGltZXIgYW5kIGEgY2xhc3MgQ291bnRlci4gIFRoZSBQYWdlCj4gPiBpbnN0YW5jZSBpcyB0 aGUgcGFyZW50IG9mIGJvdGggaW5zdGFuY2VzIG9mIFRpbWVyIGFuZCBDb3VudGVyLgo+ID4KPiA+ IGNsYXNzIFBhZ2UKPiA+Cj4gPiAgZGVmIGluaXRpYWxpemUKPiA+ICAgIGNvdW50ZXIgPSBDb3Vu dGVyLm5ldwo+ID4gICAgdD1UaW1lci5uZXcKPiA+Cj4gPiAgICB0LnRpbWVvdXQgLT4gY291bnRl ci51cGRhdGUKPiA+ICAgIGNvdW50ZXIub3ZlcnJ1biAtPiBzaG93X2Vycm9yCj4gPgo+ID4gIGVu ZAo+ID4KPiA+IGVuZAo+ID4KPgo+ID4gU29tZSBub3RlczoKPiA+IFdlIGNvbm5lY3QgdGhlIHRp bWVvdXQgb2YgdGhlIHRpbWVyIHdpdGggdGhlIHVwZGF0ZSBvZiB0aGUgY291bnRlci4KPiA+IFdl IGNvbm5lY3QgdGhlIG92ZXJydW4gb2YgdGhlIGNvdW50ZXIgd2l0aCBhbiBlcnJvciBzaG93IGJ5 IHRoZSBwYWdlLgo+ID4gVGhlIFRpbWVyIHdoZW5ldmVyIGl0IHRpbWVvdXRzLCBpdCBqdXN0IC4u LiBjYWxsIHRvIGl0cyAudGltZW91dCgpIG1ldGhvZC4KPiA+Cj4gPiBOb3RlIHRoYXQgdGhlIFRp bWVyIGNsYXNzIGRvZXMgbm90IG5lZWQgdG8gYmUgbW9kaWZpZWQgdG8gbWFrZQo+ID4gc29tZXRo aW5nIG5ldyAodXBkYXRlIHRoZSBjb3VudGVyKSAuIEl0IGlzIGEgcmVhbCBpc29sYXRlZCBzb2Z0 d2FyZQo+ID4gY29tcG9uZW50Lgo+ID4gVGhlIHNhbWUgZ29lcyB0byB0aGUgY291bnRlciwgaXQg b3ZlcnJ1bnMgYW5kIGxldCB0aGUgd29ybGQga25vdyBhYm91dAo+ID4gaXQuIFRoYXQgaXMgaXRz IGpvYi4gRG9uJ3QgbmVlZCB0byBrbm93IGFib3V0IHRoZSBQYWdlIGhhdmluZyBhbmQKPiA+IGVy cm9yLgo+ID4KPiA+IEkgIHByb3Bvc2VkICItPiIgaW4gbXkgaWdub3JhbmNlLiBJdCBtYXkgYXBw ZWFyIGFzIGEgcmVkaXJlY3QgcmF0aGVyCj4gPiB0aGFuICJzb21ldGhpbmcgeW91IGFkZCIuIFN1 cmVseSBzb21ldGhpbmcgZWxzZSBpcyBiZXR0ZXIuCj4gPgo+ID4KPiA+Cj4gPiBXaXRoIHRoaXMg c2NoZW1lLCB3ZSBoYXZlIGEgZ2VuZXJhbCBhbmQgZWFzeSAsIGNvb2wsIGV2ZW4gcnVieWlzaCB3 YXkKPiA+IHRvIGNvbm5lY3QgdG8gZXZlbnRzIGFuZCB0byBjb25uZWN0IGNvZGUgYXJiaXRyYXJp bHkgdG8gYW55IGNsYXNzCj4gPiBtZXRob2QhCj4gPiBGb3IgaW5zdGFuY2UsIHdlIG5lZWQgdG8g bWFrZSBzb21lIGNsZWFuIHVwIGVhY2ggdGltZSB3ZSBjYWxsIHRvCj4gPiBGaWxlLmNsb3NlKCkg KHdoYXRldmVyIHJlYXNvbikKPiA+IFByZXZpb3VzIHNpbXBsZSB3YXkKPiA+Cj4gPiBkZWYgY2xv c2UgKGZpbGUpCj4gPiAgZmlsZS5jbG9zZQo+ID4gIEBmaWxlc09wZW5lZCAtPSAxCj4gPiBlbmQK PiA+Cj4gPiBuZXcgd2F5IChpbiB0aGUgY29uc3RydXN0b3IpOgo+ID4KPiA+IGZpbGUuY2xvc2Ug LT4geyAgQGZpbGVzT3BlbmVkIC09IDEgfQo+ID4KPiA+IHsgIEBmaWxlc09wZW5lZCAtPSAxIH0g d2lsbCBiZWNvbWUgYSBQcm9jIGNhbGxlZCB3aGVuIGZpbGUuY2xvc2UKPiA+IGZpbmlzaC4gU2Vl IHRoYXQgdGhlIGltcGxlbWVudGF0aW9uIGluIEMgc2hvdWxkIGJlIGVmZmljaWVudCAoYSBsaXN0 Cj4gPiBvZiBwb2ludGVycyB0byBmdW5jdGlvbnMpCj4gPgo+ID4gTm93IHN1cHBvc2UgdGhhdCB5 b3UgbG9hZCBhIG5ldyBwbHVnaW4gdGhhdCBhbHNvIG5lZWQgdG8gZG8gc29tZQo+ID4gY2xlYW51 cCB3aGVuIHRoZSBmaWxlIG9wZW4gYnkgdGhlIG1haW4gY2xhc3MgaXMgY2xvc2VkLiBXaGVuIGxv YWRlZCBpdAo+ID4gd2lsbCBhZGQgaXRzZWxmIHdoYXRldmVyIGl0IG5lZWRzIGZvciBpdHNlbGYu Cj4gPgo+ID4KPiA+IGkgZmVlbCBteSBleGFtcGxlcyBhcmUgbm90IHZlcnkgZ29vZC4uLiBzb3Jy eS4KPiA+Cj4gPgo+ID4gPT0gU3VtbWFyeSA9PQo+ID4KPiA+IFRoaXMgYWRkaXRpb24gdG8gdGhl IGxhbmd1YWdlIGlzb2xhdGVzIHNvZnR3YXJlIGNvbXBvbmVudHMgYW5kIGNyZWF0ZXMKPiA+IGEg bmV3IHZlcnkgcG93ZXJmdWwgY29uc3RydWN0aW9uIGF0IGEgdmVyeSBsb3cgY29zdC4KPiA+Cj4g Pgo+ID4KPiA+Cj4gPiAtLQo+ID4gSm9yZGkgUG9sb+OAgCjjgrjjg6fjg6vjg4fjgqTjgIDjg53j g63vvIkKPiA+IOWliOiJr+WFiOerr+enkeWtpuaKgOihk+Wkp+WtpumZouWkp+WtpiDmg4XloLHn p5HlrabnoJTnqbbnp5EKPiA+IOiHqueEtuiogOiqnuWHpueQhuWtpuism+W6pyBEMQo+ID4KPiA+ Cj4KPgo+IC0tCj4gQXVzdGluIFppZWdsZXIgKiBoYWxvc3RhdHVlQGdtYWlsLmNvbSAqIGh0dHA6 Ly93d3cuaGFsb3N0YXR1ZS5jYS8KPiAgICAgICAgICAgICAgICAqIGF1c3RpbkBoYWxvc3RhdHVl LmNhICogaHR0cDovL3d3dy5oYWxvc3RhdHVlLmNhL2ZlZWQvCj4gICAgICAgICAgICAgICAgKiBh dXN0aW5AemllZ2xlcnMuY2EKPgo+Cj4KPgo+IE9uIDExLzgvMDcsIEpvcmRpIDxtdW1pc21vQGdt YWlsLmNvbT4gd3JvdGU6Cj4gPiBPbiBOb3YgOCwgMjAwNyA3OjAzIFBNLCBHb256YWxvIEdhcnJh bXXDsW8gPGdnYXJyYUBhZHZhbmNlZHNsLmNvbS5hcj4gd3JvdGU6Cj4gPiA+IEpvcmRpIHdyb3Rl Ogo+ID4gPiA+Cj4gPiA+ID4gY2xhc3MgUGFnZQo+ID4gPiA+Cj4gPiA+ID4gIGRlZiBpbml0aWFs aXplCj4gPiA+ID4gICAgY291bnRlciA9IENvdW50ZXIubmV3Cj4gPiA+ID4gICAgdD1UaW1lci5u ZXcKPiA+ID4gPgo+ID4gPiA+ICAgIHQudGltZW91dCAtPiBjb3VudGVyLnVwZGF0ZQo+ID4gPiA+ ICAgIGNvdW50ZXIub3ZlcnJ1biAtPiBzaG93X2Vycm9yCj4gPiA+ID4KPiA+ID4gPiAgZW5kCj4g PiA+ID4KPiA+ID4gPiBlbmQKPiA+ID4gPgo+ID4gPgo+ID4gPiBZb3UgcHJvYmFibHkgd2FudCB0 byBsZWFybiBtb3JlIGFib3V0IHJ1YnkgYmxvY2tzLCBwcm9jcyBhbmQgdmFyaWFibGUKPiA+ID4g c2NvcGVzLiAgSGVyZSdzIGEgd2F5IHRvIGRvIHdoYXQgeW91IHdhbnQgaW4gYSBydWJ5IHdheS4K PiA+ID4KPiA+ID4gY2xhc3MgVGltZXIKPiA+ID4gICAgIGRlZiBjYWxsYmFjayhwcm9jID0gbmls LCAmYmxvY2spCj4gPiA+ICAgICAgICAgQHByb2MgPSBwcm9jIHx8IGJsb2NrCj4gPiA+ICAgICBl bmQKPiA+ID4KPiA+ID4gIyBwcm90ZWN0ZWQgICMgYnV0IHdlIG1ha2UgaXQgcHVibGljIGZvciB0 aGlzIHRlc3QKPiA+ID4gICAgIGRlZiB0aW1lb3V0Cj4gPiA+ICAgICAgICAgQHByb2MuY2FsbCBp ZiBAcHJvYwo+ID4gPiAgICAgZW5kCj4gPiA+IGVuZAo+ID4gPgo+ID4gPiBjbGFzcyBQYWdlCj4g PiA+ICAgIGRlZiBzaG93X2Vycm9yCj4gPiA+ICAgIGVuZAo+ID4gPgo+ID4gPiAgICBkZWYgaW5p dGlhbGl6ZQo+ID4gPiAgICAgIEBjb3VudGVyID0gMAo+ID4gPiAgICAgIHQgPSBUaW1lci5uZXcK PiA+ID4KPiA+ID4gICAgICB0LmNhbGxiYWNrICAgICAgICB7IEBjb3VudGVyICs9IDEgIH0KPiA+ ID4gICAgICB0LnRpbWVvdXQKPiA+ID4KPiA+ID4gICAgICAjIG9yLi4uCj4gPiA+ICAgICAgdC5j YWxsYmFjayggbWV0aG9kKDpzaG93X2Vycm9yKSApCj4gPiA+ICAgICAgdC50aW1lb3V0Cj4gPiA+ ICAgIGVuZAo+ID4gPiBlbmQKPiA+ID4KPiA+ID4gWW91IGFsc28gcHJvYmFibHkgd2FudCB0byBk aXNjdXNzIHRoaXMgc29ydCBvZiBzdHVmZiBpbiBydWJ5LXRhbGsgdW50aWwKPiA+ID4geW91IGFy ZSBtb3JlIGZhbWlsaWFyIHdpdGggcnVieS4KPiA+ID4KPiA+Cj4gPgo+ID4gQXMgSSBzYWlkIEkn bSBub3QgZmFtaWxpYXIgd2l0aCB0aGUgc3ludGF4aXMgKG15IGNsYXNzZXMgbWF5IGhhdmUKPiA+ IGVycm9ycykgYnV0IEkgYW0gZG8gZmFtaWxpYXIgd2l0aCB0aGUgc2VtYW50aWNzIChJIHRoaW5r IEkgcHJldHR5Cj4gPiB1bmRlcnN0YW5kICJydWJ5aXNtIikuCj4gPgo+ID4gWW91ciBjbGFzcyBo YXZlIGEgbnVtYmVyIG9mIHByb2JsZW1zIGNvbXBhcmluZyB3aXRoIG15IHNvbHV0aW9uLiBJdCBp cwo+ID4gc2ltaWxhciB0byB0aGUgc2Vjb25kIHNvbHV0aW9uIEkgZ2F2ZS4KPiA+Cj4gPiAtIFlv dSBtdXN0IGFkZCB0aGF0IHNwZWNpYWwgbWV0aG9kIGNhbGxiYWNrIGV2ZXJ5dGltZS4gIE9mIGNv dXJzZSB5b3UKPiA+IGNhbiBtYWtlIGFuIHNwZWNpYWwgY2xhc3MgZm9yIHRoYXQgYW5kIHVzZSBt aXhpbnMgLi4uCj4gPiAtIFlvdSBjYW4gb25seSByZWdpc3RlciBvbmUgInNpZ25hbCIgLiBNeSBz b2x1dGlvbiBjYW4gaGF2ZSBhbgo+ID4gYXJiaXRyYXJ5IG51bWJlci4KPiA+IC0gWW91IGFyZSBh ZGRpbmcgYSBuZXcgbWV0aG9kIHRvIGV2ZXJ5IGNsYXNzCj4gPgo+ID4KPiA+IEkgd291bGQgbGlr ZSB0byBleHRlbmQgbXkgcHJvcG9zYWwgdG8gZGlzY29ubmVjdGlvbjoKPiA+Cj4gPiB0LnRpbWVv dXQgLT4gY291bnRlci51cGRhdGUgIHRvIGNvbm5lY3QKPiA+IEkgY2FuJ3QgaW1hZ2luZSBhIGNv b2wgb3BlcmF0b3IgdG8gbWVhbiBkaXNjb25uZWN0ICh4IGlzIGdyYXBoaWNhbGx5Cj4gPiBwZXJm ZWN0IHRob3VnaCkKPiA+Cj4gPgo+ID4gQW4gYWx0ZXJuYXRpdmUgcHJvcG9zYWwsIG1vcmUgUXQt bGlrZSAoc2VlIHJlZmVyZW5jZSBsaW5rcyBpbiB0aGUKPiA+IGZpcnN0IGVtYWlsKSBhbmQgbW9y ZSB2ZXJib3NlOgo+ID4KPiA+IE1ldGhvZCBvciBQcm9jLmNvbm5lY3QgKE1ldGhvZCBvciBQcm9j KQo+ID4gTWV0aG9kIG9yIFByb2MuZGlzY29ubmVjdCAoTWV0aG9kIG9yIFByb2MpCj4gPgo+ID4g T3IgYSBjb25uZWN0IGFuZCBkaXNjb25uZWN0IGluIE9iamVjdCBidXQgSSB3b3VsZCByZWFsbHkg d29uJ3QgbGlrZSB0bwo+ID4gcG9sbHV0ZSBpdCAoT2JqZWN0IGhhcyAic2VuZCIgbWV0aG9kIHRo b3VnaCwgaXQgaXMgbXVjaCBsaWtlIGhhbGYgb2YKPiA+IHdoYXQgSSBuZWVkIGZvciB0aGUgY29u bmVjdGlvbikuCj4gPgo+ID4KPgo+Cj4gLS0KPiBBdXN0aW4gWmllZ2xlciAqIGhhbG9zdGF0dWVA Z21haWwuY29tICogaHR0cDovL3d3dy5oYWxvc3RhdHVlLmNhLwo+ICAgICAgICAgICAgICAgICog YXVzdGluQGhhbG9zdGF0dWUuY2EgKiBodHRwOi8vd3d3LmhhbG9zdGF0dWUuY2EvZmVlZC8KPiAg ICAgICAgICAgICAgICAqIGF1c3RpbkB6aWVnbGVycy5jYQo+Cj4KPiBPbiAxMS84LzA3LCBKb3Jk aSA8bXVtaXNtb0BnbWFpbC5jb20+IHdyb3RlOgo+ID4gQXMgSSBzYWlkIEknbSBub3QgZmFtaWxp YXIgd2l0aCB0aGUgc3ludGF4aXMgKG15IGNsYXNzZXMgbWF5IGhhdmUKPiA+IGVycm9ycykgYnV0 IEkgYW0gZG8gZmFtaWxpYXIgd2l0aCB0aGUgc2VtYW50aWNzIChJIHRoaW5rIEkgcHJldHR5Cj4g PiB1bmRlcnN0YW5kICJydWJ5aXNtIikuCj4KPiBHaXZlbiB5b3VyIGNvbW1lbnRzLCBJJ20gbm90 IHN1cmUgdGhhdCB0aGlzIGlzIGFzIGNsZWFyIGFzIHlvdSB0aGluay4gQXMKPiBhbiBleGFtcGxl LCB5b3UgdXNlICJ0LnRpbWVvdXQiIHRvIHJlcHJlc2VudCB0aGUgdGltZW91dCBvZiB0aGUgdGlt ZXIsCj4gYnV0IHRoZXJlJ3Mgbm90aGluZyBkZWZpbmVkIGZvciB0aGlzLiAidC50aW1lb3V0IiBt ZWFucyBzZW5kaW5nIHRoZQo+ICN0aW1lb3V0IG1lc3NhZ2UgdG8gb2JqZWN0ICJ0IjsgaXQgZG9l c24ndCBtZWFuIGFueXRoaW5nIHRvIGRvIHdpdGggc29tZQo+IHRpbWVvdXQgKG9yIEB0aW1lb3V0 KSB2YXJpYWJsZS4KCkkgaW1wbGllZCBtb3JlIHRoaW5ncyB0aGF0IEkgZXhwbGFpbmVkLCBzb3Jy eS4gSSB0cnkgdG8gY2xhcmlmeToKCnRpbWVvdXQgaXMgYSBtZW1iZXIgb2YgdGhlIGNsYXNzIFRp bWVyCnQgaXMgYW4gaW5zdGFuY2Ugb2YgdGhhdCBjbGFzcwoKQWRkaW5nIHRoaXMgbWVjaGFuaXNt IHRvIGJvdGggTWV0aG9kIGFuZCBQcm9jIHdpbGwgYmUgZ3JlYXQuIEZvcgppbnN0YW5jZSBhIGds b2JhbCBQcm9jIGNvdWxkIGJlIHVzZWQgaW4gYSBhcHBsaWNhdGlvbiBmb3IgYSBnbG9iYWwKc2lu Y3Jvbml6YXRpb24gb3IgYSBnbG9iYWwgcGx1Z2luIHJlZ2lzdHJhdGlvbi4KCkFueXdheSwgYWRk aW5nIGEgbmV3IG1ldGhvZCAiY29ubmVjdCIgYW5kICJkaXNjb25uZWN0IiBtYXkgYmUgY2xlYXJl ci4KSSBkaWRuJ3Qgd2FudCB0byBhZGQgbmV3IG1ldGhvZHMgdG8gdGhlIGJhc2UgY2xhc3NlcyB0 aG91Z2guCgpJbiBmYWN0LCB3ZSBoYXZlIHNlbmQgKCJtZXRob2RfbmFtZSIpICAoSU1ITyBzaG91 bGQgYmUgbmFtZWQgcmVjZWl2ZSksCml0IGlzIG9uZSB0aGlyZCBvZiB0aGUgZXF1YXRpb24sIHRo ZSByZWNlaXZpbmcsIEkgb25seSB3YW50IHRvIGFkZCB0aGUKImVtaXQiIGFuZCB0aGUgImNvbm5l Y3QiLiBlbWl0IGNhbiBiZSBpbXBsaWVkLiBTbyBjb25uZWN0IG9ubHksIHRyeWluZwp0byBtaW5p bWl6ZSBpdCwgZ2l2ZSBtZSAgLT4gLiBJIG1heSBtaW5pbWl6ZSB0b28gbXVjaCA6UAoKCgo+ID4g WW91ciBjbGFzcyBoYXZlIGEgbnVtYmVyIG9mIHByb2JsZW1zIGNvbXBhcmluZyB3aXRoIG15IHNv bHV0aW9uLiBJdCBpcwo+ID4gc2ltaWxhciB0byB0aGUgc2Vjb25kIHNvbHV0aW9uIEkgZ2F2ZS4K PiA+Cj4gPiAtIFlvdSBtdXN0IGFkZCB0aGF0IHNwZWNpYWwgbWV0aG9kIGNhbGxiYWNrIGV2ZXJ5 dGltZS4gT2YgY291cnNlIHlvdQo+ID4gICBjYW4gbWFrZSBhbiBzcGVjaWFsIGNsYXNzIGZvciB0 aGF0IGFuZCB1c2UgbWl4aW5zIC4uLgo+Cj4gWW91IGNhbiBtYWtlIGEgbWl4aW4gdGhhdCBoYXMg c3VjaCByZWdpc3RyYXRpb25zLCBidXQgeW91IHRoZW4gaGF2ZSB0bwo+IGluZGljYXRlIGhvdyBz aWduYWxzIHdpbGwgYmUgcmFpc2VkLgo+Cmp1c3QgY2FsbGluZyB0aGUgbWV0aG9kcy4KCj4gPiAt IFlvdSBjYW4gb25seSByZWdpc3RlciBvbmUgInNpZ25hbCIgLiBNeSBzb2x1dGlvbiBjYW4gaGF2 ZSBhbgo+ID4gICAgICAgYXJiaXRyYXJ5IG51bWJlci4KPgo+IEltcGxlbWVudGF0aW9uIGRldGFp bC4gWW91IGRvbid0IGhhdmUgdG8gaGF2ZSBhIHNpbmdsZSBjYWxsYmFjawo+IGZ1bmN0aW9uOyB5 b3UgY2FuIHVzZSBhIGNhbGxiYWNrIGZ1bmN0aW9uIGFycmF5LgoKQWxzbyB0aGluayB0aGF0IHdl IGhhdmUgdG8gcmVnaXN0ZXIgZm9yIGVhY2ggc2lnbmFsIG9mIHRoZSBjYWxsaW5nCk9iamVjdC4g QnV0IEkgYWdyZWUsIGl0IGlzIHRyaXZpYWwgdG8gaW1wbGVtZW50IGl0LgoKCj4KPiA+IC0gWW91 IGFyZSBhZGRpbmcgYSBuZXcgbWV0aG9kIHRvIGV2ZXJ5IGNsYXNzCj4KPiBMZXNzIG9mIGEgcHJv YmxlbSB0aGFuIHlvdSB0aGluay4KPgo+IFlvdXIgcHJvcG9zYWwgZG9lc24ndCBhY3R1YWxseSBz dWdnZXN0IGhvdyB0aGVzZSB0aGluZ3Mgd291bGQgKndvcmsqIC0tCj4gaG93IGRvIHlvdSBpbXBs ZW1lbnQgdGhlIHNsb3RzIGFuZCBzaWduYWxzIGluIGdlbmVyYWw/IFlvdSBuZWVkIHRvIGxvb2sK PiBhdCB0aGlzIGEgYml0IGRlZXBlciBhbmQgc2VlIHRoYXQgdGhlcmUgYXJlIGFscmVhZHkgYW5h bGFnb3VzIHRoaW5ncyAtLQo+IGxpa2UgR29uemFsbydzIGV4YW1wbGUgb2YgY2FsbGJhY2sgZnVu Y3Rpb25zIC0tIHRoYXQgY2FuIGJlIGRvbmUgd2l0aG91dAo+IGFkZGluZyB1Z2x5IHN5bnRheCB0 byBSdWJ5LgoKT2YgY291cnNlLCBpdCBjYW4gYmUgZG9uZS4gQW5kIGV2ZXJ5dGhpbmcgeW91IGRv IHdpdGggUnVieSB5b3UgY2FuIGRvCml0IHdpdGggQysrLCBqYXZhIG9yIHdoYXRldmVyLiBCdXQg d2hhdCBJIGFtIGxvb2tpbmcgZm9yIGFuZCB0aGlzIGlzCnRoZSBpbXBvcnRhbnQgcGFydCBvZiB0 aGlzIGVtYWlsIGlzCgpBIHNpbXBsZSwgZWxlZ2FudCBub3RhdGlvbiBmb3IgYSB2ZXJ5IHBvd2Vy ZnVsIGFuZCBlZmZpY2llbnQgZmVhdHVyZSEKCgpTbywgcGVvcGxlIGNhbiBzZWUgYSAicnVieSBz eW50YXggaW4gNSBtaW51dGVzIHBhZ2UiIGFuZCBzYXk6IHdob2EKdGhpcyBsYW5ndWFnZSByb2Nr cyEgV2l0aCB0aGlzIGZlYXR1cmUgSSBrbm93IG15IGNvZGUgd2lsbCBiZSBtdWNoCmJldHRlci4K CkkgdGhvdWdodCB0aGF0IHdoZW4gSSBzYXcgYmxvY2tzIGFzIG1ldGhvZHMgcGFyYW1ldGVycy4K SSBndWVzcyBJIGZhaWxlZCB0byBtYWtlIGEgIndob2EhIiBzeW50YXggZm9yIHRoaXMgIDpQCgpB Ym91dCB0aGUgZGV0YWlscy4gRG8geW91IG1lYW4gdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhp cyBvciBob3cgaXQKd2lsbCBiZSB1c2VkIGluIFJ1Ynk/CgoKCj4KPiAgIGNsYXNzIFRpbWVyCj4g ICAgICAgICBkZWYgaW5pdGlhbGl6ZSh0aW1lb3V0KQo+ICAgICAgICAgICBAY2FsbGJhY2tzID0g W10KPiAgICAgICAgICAgQHRpbWVvdXQgPSB0aW1lb3V0Cj4gICAgICAgICBlbmQKPiAgICAgICAg IGRlZiByZWdpc3RlcihjYikKPiAgICAgICAgICAgQGNhbGxiYWNrcyA8PCBjYgo+ICAgICAgICAg ZW5kCj4gICAgICAgICBkZWYgdW5yZWdpc3RlcihjYikKPiAgICAgICAgICAgQGNhbGxiYWNrcy5k ZWxldGUoY2IpCj4gICAgICAgICBlbmQKPiAgICAgICAgIGRlZiBjbGVhcl9jYWxsYmFja3MKPiAg ICAgICAgICAgQGNhbGxiYWNrcy5jbGVhcgo+ICAgICAgICAgZW5kCj4gICAgICAgICBkZWYgc3Rh cnQoKmFyZ3MpCj4gICAgICAgICAgIHRoID0gVGhyZWFkLm5ldyBkbwo+ICAgICAgICAgICAgICAg ICBsb29wIGRvCj4gICAgICAgICAgICAgICAgICAgc2xlZXAoQHRpbWVvdXQpCj4gICAgICAgICAg ICAgICAgICAgQGNhbGxiYWNrcy5lYWNoIHsgfGNifCBjYi5jYWxsKCphcmdzKSB9Cj4gICAgICAg ICAgICAgICAgIGVuZAo+ICAgICAgICAgICBlbmQKPiAgICAgICAgIGVuZAo+ICAgZW5kCj4KPiAg IGNsYXNzIENvdW50ZXIKPiAgICAgICAgIGF0dHJfcmVhZGVyIDp2YWx1ZQo+ICAgICAgICAgZGVm IGluaXRpYWxpemUoc3RhcnQgPSAwLCBtYXggPSBuaWwpCj4gICAgICAgICAgIEB2YWx1ZSA9IHN0 YXJ0LnRvX2kKPiAgICAgICAgICAgQGNhbGxiYWNrcyA9IFtdCj4gICAgICAgICAgIEBtYXggPSBt YXgKPiAgICAgICAgIGVuZAo+ICAgICAgICAgZGVmIGluY3JlbWVudAo+ICAgICAgICAgICBAdmFs dWUgKz0gMQo+ICAgICAgICAgICBAY2FsbGJhY2tzLmVhY2ggeyB8Y2J8IGNiLmNhbGwgfSBpZiBA dmFsdWUgPiBAbWF4Cj4gICAgICAgICBlbmQKPiAgICAgICAgIGRlZiByZWdpc3RlcihjYikKPiAg ICAgICAgICAgQGNhbGxiYWNrcyA8PCBjYgo+ICAgICAgICAgZW5kCj4gICAgICAgICBkZWYgdW5y ZWdpc3RlcihjYikKPiAgICAgICAgICAgQGNhbGxiYWNrcy5kZWxldGUoY2IpCj4gICAgICAgICBl bmQKPiAgICAgICAgIGRlZiBjbGVhcl9jYWxsYmFja3MKPiAgICAgICAgICAgQGNhbGxiYWNrcy5j bGVhcgo+ICAgICAgICAgZW5kCj4gICBlbmQKPgo+ICAgY2xhc3MgUGFnZQo+ICAgICAgICAgZGVm IHNob3dfZXJyb3I7IGVuZAo+ICAgICAgICAgZGVmIGluaXRpYWxpemUKPiAgICAgICAgICAgQGNv dW50ZXIgPSBDb3VudGVyLm5ldwo+ICAgICAgICAgICBAdGltZXIgPSBUaW1lci5uZXcKPgo+ICAg ICAgICAgICBAdGltZXIucmVnaXN0ZXIobGFtYmRhIHsgQGNvdW50ZXIudXBkYXRlIH0pCj4gICAg ICAgICAgIEBjb3VudGVyLnJlZ2lzdGVyKGxhbWJkYSB7IHRoaXMuc2hvd19lcnJvciB9KQo+ICAg ICAgICAgZW5kCj4gICBlbmQKPgo+IFdoZXJlIHlvdSBjYWxsIGEgY2FsbGJhY2sgaXNuJ3QgYWJs ZSB0byBiZSBnZW5lcmFsaXplZC4KCkFsc28sIGNhbGxiYWNrcyBmb3IgZWFjaCBzaWduYWwsIFRp bWVyIG9yIENvdW50ZXIgbWF5IGhhdmUgYSBsb3QuCkl0IGlzIHZlcnkgcG9zc2libGUsIGJ1dCBj b21wYXJlIHRoYXQgd2l0aCBhbG1vc3Qgbm8gY29kZSBpZiBpdCBpcwpidWlsdCBpbi4gVGhhdCdz IHdoYXQgSSBjYWxsIGJlYXV0aWZ5aW5nIGEgcm9ja2luZyBmZWF0dXJlIDpQCgpJIHNlZSB5b3Vy IHBvaW50IGFuZCBhZ3JlZSwgZG9uJ3QgbmVlZCB0byBhZGQgaXQgaW4gdGhlIHNlbnNlIG9mIFJ1 YnkKY2FuIHdvcmsgd2l0aG91dCBpdC4KCgoKPgo+IC1hdXN0aW4KPiAtLQo+IEF1c3RpbiBaaWVn bGVyICogaGFsb3N0YXR1ZUBnbWFpbC5jb20gKiBodHRwOi8vd3d3LmhhbG9zdGF0dWUuY2EvCj4g ICAgICAgICAgICAgICAgKiBhdXN0aW5AaGFsb3N0YXR1ZS5jYSAqIGh0dHA6Ly93d3cuaGFsb3N0 YXR1ZS5jYS9mZWVkLwo+ICAgICAgICAgICAgICAgICogYXVzdGluQHppZWdsZXJzLmNhCj4KCi0t CkpvcmRpIFBvbG8K