From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mail.toke.dk; spf=pass smtp.mailfrom=; dkim=pass header.d=gmail.com; arc=pass; dmarc=pass (Used From Domain Record) header.from=gmail.com policy.dmarc=quarantine Received: from mail-ua1-x92f.google.com (mail-ua1-x92f.google.com [IPv6:2607:f8b0:4864:20::92f]) by mail.toke.dk (Postfix) with ESMTPS id 1E908116378B for ; Mon, 25 May 2026 10:32:38 +0200 (CEST) Received: by mail-ua1-x92f.google.com with SMTP id a1e0cc1a2514c-961780b0ba1so993948241.1 for ; Mon, 25 May 2026 01:32:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1779697956; cv=none; d=google.com; s=arc-20240605; b=ly+ySnsJ8pSSsafnnUqH/8k9Ex0GXEvJ3cW7x5LFdVaXn1cxD3CrfUbsds0d7VH7Jc J90KOuVC5iitBFinqCMhXa8KJnKXAnqpgt/E+S+Cv8S/09go70N3RGbopOtdt/ycwnDU U4n6+ktOtorRlJAX59MbGBl0tr9rUCF/WZjABmva6iwDfBfstJgynJ6aCj4KApzvZrEg lUKes9FzGMKGW1Ux8h5/BUEYRT5+uXzaEbcyIJjQuA5nWEgcFUhjbCYRjxerT/qVDweE Rtkv+GSdBuIjGAa3FG4pjfrJqUJgNyf+PeARGga2fL07fnqxz1h4zaVYqGRPR/89joSp 23Ug== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:dkim-signature; bh=i0Ll40El0xTeSdN9YGacUZqAaIyNsLKC3f/3/cSeDQI=; fh=W6J6UZbUXZ2hxtIB9oeeYlV+/tct+euEDMZXTQBxX3c=; b=Hh1/BrAF/wxx5u/UG8rb8pwKQPOSeYTspp50PEPj318vZ+J92MOCF6guNEWY9fjJcR Q4PnRQWnbnbqDIALYwtU7cwIL/AtjSS74ccskkb1MIa2ZTWxO033gcQ3qag+dD0iic5X BZY/qW18HkO4wTw6mLpSEsGa02RyOqrfc3VWKTLKz+2r76fggYsXUIrFEIl4tH7VnJUv 88GKmnjtgmqcpQ4PNYoB9hO7/GG/qp5BuO+ZOrXXPqtiVzaKKGSciLryYoBc/iqBeEvz s2nijrJvnWOUIwjXaCg9aBjUf+omtkw70td9chUWA63CGLFvz0F2LE2Xfnfv3hjWWkjP Axlg==; darn=lists.bufferbloat.net ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779697956; x=1780302756; darn=lists.bufferbloat.net; h=to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=i0Ll40El0xTeSdN9YGacUZqAaIyNsLKC3f/3/cSeDQI=; b=LctS7B+y9H0xyg/o3yBqmAODnF0m1TGccjh0gBPeNQ4Vk1kxhx0bx0+/Z7Ja3zePi5 LW4zVhi25ZIQXXWPfwqZfagJbE7cq4fAviDroZO7lr77pBKIuk9Rntl2WczsDfGg3XnW FuF6k8M9c+FpV93dClvkJlDilkfeLaSK6wl4q/ND2Q19QQOBu+0wdavPO3/hJ+0wIp1o xLR9g206pfh8sJ10tDjXYPODhTHA67RXZYayhrmqMzGNNYcayoVLidwAmHvFBIv4z02f Ig7g0sT/6MUVjahRZolMx5EcOy2jBDjCMM3YW3cXYutXrQB6AMCHaZN/pd3Sitdf893h aOGw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779697956; x=1780302756; h=to:subject:message-id:date:from:reply-to:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=i0Ll40El0xTeSdN9YGacUZqAaIyNsLKC3f/3/cSeDQI=; b=FfJXt1/Nan3tVVBkxl4kf5cWd8zoP5qIvf7je636kedgCxgtNVjdug2sGT2OkVQKPI hpBD1TovMUtcK1Kq7D9TwOyPyczI25ZrROQfbID+lj3VfHLkn/0uR3WK5+IAQduHYT5N T8QU4TKgv6fxM5nFmHB3X1gm4oIcs9WgnwRaQzBdC4nnQmnG4aK38Yufz3HspSsd7cwO hLNMETb6h4Ms/xUK11UxeZnOLyj5nv2AQ8l4AeNEc5ktAdJmhl1T6akKCBla3Ef4QwV2 KotW1z2vGN4W2hDdhb7ZaQuYa5Ti1h7qQg6wKvR98uqzH7d1UY19M4dReKdchOAG4UYy XdWw== X-Gm-Message-State: AOJu0Yy0ruASpVRn+RRqVGEdOf9P8LF3M2ZsM8mQAKMjMy0Oq/WUCX9N C2dKAm3kGfRnqfj67IIURhAeda97adOUwlg/xWzOKlvt3iOXhkUdWRiPMrJ+2Lcck2Th9W2Ine/ w+sPYjefXErkV/7t4VoI4BoEhFtvsF3dqZsQI X-Gm-Gg: Acq92OGyTvZ/NQfvdQMYbasgU0NW1Bwwby/y6AG1zH7sVP826BaoH6TvhvHm9q6z6k0 2QLpXBCjIPcEP3k1qPyrz+OX9TRc98g5NNaus5kDwNy2jZgiQ/p78QwMCfWCrLI6AcE7GFmhimF 7R0Qc/+CKcxK0pntYQFSP/Yd4C0ECsXq58yhqOwIqOodweDuuVQ5I3tHygtANXAP3HkaOEyP96t B1Znk5OBVMAC6Juwi+k6fn0pJZop6ukIciMtBCM220Fmyx7rIBQz7etyIFDooaZirQ43tH/7L5q edLtOYy+uZaOT1H0C5cjBUzRl0j5AyHe882LqY0rPxxQRLKYtSR24+OC+XMnf9J3dGSHtG/t9FQ 3WQNN0xLVHWrkHH1w4Vxy X-Received: by 2002:a05:6102:1494:b0:631:3b92:9dcc with SMTP id ada2fe7eead31-67c8398e867mr6102110137.27.1779697955947; Mon, 25 May 2026 01:32:35 -0700 (PDT) MIME-Version: 1.0 References: <177969642775.1536.5526019656989805631@gauss> In-Reply-To: <177969642775.1536.5526019656989805631@gauss> From: le berger des photons Date: Mon, 25 May 2026 10:32:24 +0200 X-Gm-Features: AVHnY4LxxNyrUylVwYdOCnnqd4FTz-PYY9dkyWZey4cQQOfwEvS8FkE24znoj60 Message-ID: To: cake@lists.bufferbloat.net Message-ID-Hash: I4DDUJ2Z2C6JN3CGY7O33RKD2P4KTPXK X-Message-ID-Hash: I4DDUJ2Z2C6JN3CGY7O33RKD2P4KTPXK X-MailFrom: thejoff@gmail.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="UTF-8" X-Content-Filtered-By: Mailman/MimeDel 3.3.10 X-Mailman-Version: 3.3.10 Precedence: list Reply-To: thejoff@gmail.com Subject: [Cake] Re: Cake Digest, Vol 128, Issue 10 List-Id: Cake - FQ_codel the next generation Archived-At: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: SSByZW1lbWJlciByZWFkaW5nIGFib3V0IGEgdGhpbmcgYW5kIG5ldmVyIHNlZWluZyBhbnl0aGlu ZyBhYm91dCBpdCBhZ2Fpbi4NCklmIG90aGVycyBzYXcgaXQgdG9vIGFuZCBJIGRpZG4ndCBqdXN0 IGhhbGx1Y2luYXRlIGl0LCAgaXQgd291bGQgbGlrZWx5IGJlDQpwZW9wbGUgaW4geW91ciBncm91 cC4gIEl0IHdhcyBhIHN5c3RlbSBmb3IgdmlzaWJsZSBsaWdodCBjb21tdW5pY2F0aW9uDQpvdXRz aWRlIG9mIGZpYmVyIG9wdGljcywgIGp1c3QgaW4gdGhlIGFpci4gIERldmljZXMgd2hpY2ggY291 bGQgYmUNCmluc3RhbGxlZCBieSB1bnNjcmV3aW5nIGEgbGlnaHQgYnVsYiBpbiBhIGxhbXAsIHNj cmV3aW5nIHRoaXMgaW4sIHRoZW4NCnNjcmV3aW5nIHRoZSBidWxkIGJhY2sgaW50byBpdC4gIEFs bCBjb21tdW5pY2F0aW9ucyB3ZXJlICJXRFMiLiAgQWxsDQpyZXBlYXRlcnMsIGJ1dCBzbyBmYXN0 IHRoYXQgdGhlcmUgd2FzIG5vIGFkdmFudGFnZSB0byB1c2UgYW4gQVAgYW5kIGNsaWVudA0KbW9k ZS4gIFRoZSBwZW9wbGUgd2hvIHdlcmUgd29ya2luZyBvbiBpdCB3ZXJlIGhhdmluZyB0byB1c2Ug bW9uZXkgb3V0IG9mDQp0aGVpciBvd24gcG9ja2V0cyBhbmQgY291bGQgZ2V0IG5vIGNvcnBvcmF0 ZSBzcG9uc29yc2hpcC4gIE15IHVuZGVyc3RhbmRpbmcNCndhcyB0aGF0IHRoZSBOZXcgV29ybGQg T0RPUiB3YW50ZWQgdG8ga2VlcCB0aGlzIGZyb20gaGFwcGVuaW5nIGJlY2F1c2UgdGhleQ0Kd2Vy ZSBhZnJhaWQgdGhleSB3b3VsZG4ndCBiZSBhYmxlIHRvIGNvbnRyb2wgaXQgY29tcGxldGVseSBh bmQgdGhhdCB3ZSB0aGUNCnBlb3BsZSB3b3VsZCB1c2UgaXQgdG8gb3ZlcnRocm93IHRoZWlyIHBh dGhvbG9naWNhbCBjb250cm9sIG92ZXIgdXMuICBzbywNCmRpZCBJIGltYWdpbmUgdGhpcz8gIEkn bSBsb29raW5nIG5vdyBhbmQgZGlkbid0IGVhc2lseSBmaW5kIGFueXRoaW5nIGFib3V0DQppdCwg IHRoaXMgd291bGQgYmUgbm9ybWFsIGluIGEgd29ybGQgd2hlcmUgdGhlIHBlb3BsZSB3aG8gcHJp bnQgbW9uZXkgb3V0DQpvZiBub3RoaW5nIHRoZW4gbG9hbiBpdCBvdXQgYW5kIGludGVyZXN0IGFu ZCB0aHJvdyB1cyBpbiBqYWlsIGZvcg0KY3JpdGljaXppbmcgdGhlbSBvd24gYWxsIG9mIHRoZSBt YWpvciBwcmVzcyBwcm9wZXJ0aWVzLg0KDQpPbiBNb24sIE1heSAyNSwgMjAyNiBhdCAxMDowN+KA r0FNIDxjYWtlLXJlcXVlc3RAbGlzdHMuYnVmZmVyYmxvYXQubmV0PiB3cm90ZToNCg0KPiBTZW5k IENha2UgbWFpbGluZyBsaXN0IHN1Ym1pc3Npb25zIHRvDQo+ICAgICAgICAgY2FrZUBsaXN0cy5i dWZmZXJibG9hdC5uZXQNCj4NCj4gVG8gc3Vic2NyaWJlIG9yIHVuc3Vic2NyaWJlIHZpYSBlbWFp bCwgc2VuZCBhIG1lc3NhZ2Ugd2l0aCBzdWJqZWN0IG9yDQo+IGJvZHkgJ2hlbHAnIHRvDQo+ICAg ICAgICAgY2FrZS1yZXF1ZXN0QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KPg0KPiBZb3UgY2FuIHJl YWNoIHRoZSBwZXJzb24gbWFuYWdpbmcgdGhlIGxpc3QgYXQNCj4gICAgICAgICBjYWtlLW93bmVy QGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldA0KPg0KPiBXaGVuIHJlcGx5aW5nLCBwbGVhc2UgZWRpdCB5 b3VyIFN1YmplY3QgbGluZSBzbyBpdCBpcyBtb3JlIHNwZWNpZmljDQo+IHRoYW4gIlJlOiBDb250 ZW50cyBvZiBDYWtlIGRpZ2VzdC4uLiINCj4NCj4gVG9kYXkncyBUb3BpY3M6DQo+DQo+ICAgIDEu IFJlOiBbQ29kZWxdIFJlOiBbUnBtXSBSZTogW0Jsb2F0XSBSZTogIkZpLVdpIGlzIGEgbmV3IGZv cndhcmRpbmcNCj4gcGxhbmUgZm9yIHdpcmVsZXNzIiAtIEJvYiBNY01haG9uDQo+ICAgICAgIChT ZWJhc3RpYW4gTW9lbGxlcikNCj4gICAgMi4gUmU6IFtScG1dIFJlOiBbQmxvYXRdIFJlOiAiRmkt V2kgaXMgYSBuZXcgZm9yd2FyZGluZyBwbGFuZSBmb3INCj4gd2lyZWxlc3MiIC0gQm9iIE1jTWFo b24NCj4gICAgICAgKGJvYi5tY21haG9uQHVtYmVybmV0d29ya3MuY29tKQ0KPg0KPg0KPiAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+DQo+IE1lc3NhZ2U6IDENCj4gRGF0ZTogTW9uLCAyNSBNYXkgMjAyNiAwODo1 ODoxMiArMDIwMA0KPiBGcm9tOiBTZWJhc3RpYW4gTW9lbGxlciA8bW9lbGxlcjBAZ214LmRlPg0K PiBTdWJqZWN0OiBbQ2FrZV0gUmU6IFtDb2RlbF0gUmU6IFtScG1dIFJlOiBbQmxvYXRdIFJlOiAi RmktV2kgaXMgYSBuZXcNCj4gICAgICAgICBmb3J3YXJkaW5nIHBsYW5lIGZvciB3aXJlbGVzcyIg LSBCb2IgTWNNYWhvbg0KPiBUbzogY29kZWxAbGlzdHMuYnVmZmVyYmxvYXQubmV0LCBGcmFudGlz ZWsgQm9yc2lrDQo+ICAgICAgICAgPGZyYW50aXNlay5ib3JzaWtAZ21haWwuY29tPiwgYm9iLm1j bWFob25AdW1iZXJuZXR3b3Jrcy5jb20NCj4gQ2M6IGRhbiA8ZGFuZGVuc29uQGdtYWlsLmNvbT4s IFJvYmVydCBNY01haG9uDQo+ICAgICAgICAgPHJqbWNtYWhvbkByam1jbWFob24uY29tPiwgRGF2 aWQgTGFuZyA8ZGF2aWRAbGFuZy5obT4sICJMaXZpbmdvb2QsDQo+ICAgICAgICAgSmFzb24iIDxK YXNvbl9MaXZpbmdvb2RAY29tY2FzdC5jb20+LCBDYWtlIExpc3QNCj4gICAgICAgICA8Y2FrZUBs aXN0cy5idWZmZXJibG9hdC5uZXQ+LCBNYWtlLVdpZmktZmFzdA0KPiAgICAgICAgIDxtYWtlLXdp ZmktZmFzdEBsaXN0cy5idWZmZXJibG9hdC5uZXQ+LCBibG9hdA0KPiAgICAgICAgIDxibG9hdEBs aXN0cy5idWZmZXJibG9hdC5uZXQ+LCBKZXJlbXkgQXVzdGluIHZpYSBScG0NCj4gICAgICAgICA8 cnBtQGxpc3RzLmJ1ZmZlcmJsb2F0Lm5ldD4sICJEYXZlLnNlZGRvbiBDYSINCj4gICAgICAgICA8 ZGF2ZS5zZWRkb24uY2FAZ21haWwuY29tPiwgV2lsbGlhbSBGaXNoZXIgPHp6eXp4cjk5QGdtYWls LmNvbT4sDQo+IElnb3INCj4gICAgICAgICBBbGVpbmlrb3YgPGlnb3IuYWxlaW5pa292QGFkbmFj b20uY29tPiwgSmltIDxqaW1AaW5paG9sZGluZ3MuY29tPiwNCj4gICAgICAgICBKaW1sIDxqaW1s QHF1aWNrc21hcnQuY29tPiwgRG91Z2xhcyBGYWlyYmFpcm4NCj4gICAgICAgICA8ZGZhaXJiYWly bkBtZWdhY2hpcHMuY29tPiwgVGhvbWFzIDx0aG9tYXNAbW9uamFsb24ubmV0PiwgVGltDQo+ICAg ICAgICAgT2RyaXNjb2xsIDx0aW0ub2RyaXNjb2xsQGludGVsLmNvbT4sIE1vcnRlbiA8bW9ydGVu QGJyb2VydXAuY29tPiwNCj4gICAgICAgICBTZWJhc3RpYW4gTW9lbGxlciA8c2ViYXN0aWFuLm1v ZWxsZXJAZ21haWwuY29tPiwgTXQgRGVuaWNvbG8NCj4gICAgICAgICA8bXQuZGVuaWNvbG9AZ21h aWwuY29tPiwgTW1jbWFob24wMSA8bW1jbWFob24wMUBnbWFpbC5jb20+LA0KPiBTYW50YW51DQo+ ICAgICAgICAgU2luaGEgPHNhbnRhbnVzaW5oYUB5YWhvby5jb20+LCBNYXR0aGV3IDxtYXR0aGV3 QG10ZWxleS5jb20+LA0KPiBLb2VuIERTDQo+ICAgICAgICAgPGtvZW4wNjA3QGdtYWlsLmNvbT4s IFNob3Rhcm8gU2FpdG8gPHNzYWl0b0BtZWdhY2hpcHMuY29tPiwgUm9iaW4NCj4gICAgICAgICBK YXJyeSA8cmphcnJ5QHJlZGhhdC5jb20+LCBFaGYgPGVoZkBlaGYubWU+LCBHIFdoaXRlDQo+ICAg ICAgICAgPGcud2hpdGVAY2FibGVsYWJzLmNvbT4sIENodW55dWh1MDcgPGNodW55dWh1MDdAZ21h aWwuY29tPiwNCj4gTWF0dGhldw0KPiAgICAgICAgIEZpc2NoZXIgPG1hdHRoZXcuZmlzY2hlckBn bWFpbC5jb20+DQo+IE1lc3NhZ2UtSUQ6IDw3NDU1RTNCNC03RkI0LTRENDAtQTkwMC1CMzExNTFE MTJGNkZAZ214LmRlPg0KPiBDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLTgN Cj4NCj4NCj4NCj4gT24gTWF5IDI1LCAyMDI2IDc6NDM6MDEgQU0gR01UKzAyOjAwLCBGcmFudGlz ZWsgQm9yc2lrIDwNCj4gZnJhbnRpc2VrLmJvcnNpa0BnbWFpbC5jb20+IHdyb3RlOg0KPiA+SGV5 IEJvYiwNCj4gPg0KPiA+VGhpcyBpcyBhbGwgbmljZSBhbmQgYWxsLCBidXQgaXQgcmVhbGx5IGRv ZXNuJ3QgbWF0dGVyLiBUaGUgb25seQ0KPiBtZWFzdXJhYmxlDQo+ID50ZXJtIElNTyB3ZSByZWFs bHkgbmVlZCBpcyB0aGlzIC0gaXMgdGhlIHNldHVwIHdlIGFyZSB1c2luZyBnb29kIGVub3VnaA0K PiBhbmQNCj4gPmRlbGl2ZXJpbmcgYWxsIHdlIG5lZWQ/IEFuZCB0aGUgYW5zd2VyIGZvciBJU1Ag bGlrZSBEYW4gYW5kIG1hbnkgdGhhdCB3aWxsDQo+ID5jb21lICJ0byBKZXN1cyIgaXMgc291bmRp bmcgWUVTLiBJdCdzIGhlcmUsIGl0J3MgY2hlYXAsIGl0J3MgZ2V0dGluZw0KPiBiZXR0ZXIuDQo+ DQo+IE5vdCBzdXJlIEkgZnVsbHkgYnV5IHRoaXMsIGlmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHks IERhbiB1c2VzIHRyYWZmaWMNCj4gc2hhcGluZyB0byAibmV1dGVyIiBXaUZpIGZyb20gaXRzIHdv cnN0IHNlbGYgY29uZ2VzdGlvbiB0ZW5kZW5jaWVzLi4uIHRoYXQNCj4gaXMgYSBjbGV2ZXIgd2F5 IHRvIHdvcmsgYXJvdW5kIGNsZWFyIHNob3J0IGNvbWluZ3MgaW4gbW9kZXJuIFdpRmkgbm90DQo+ IGV2aWRlbmNlIHRoYXQgbW9kZXJuIFdpRmkgaGFzIG5vIGlzc3Vlcy4uLg0KPg0KPiA+DQo+ID5Z b3Ugd2lsbCBnZXQgeW91ciBldmlkZW5jZSBhbmQgdGhlbiB3aGF0PyBXaGVuIChhbmQgYmlnIGlG KSBGaS1XaSB3aWxsDQo+ID5tYXRlcmlhbGl6ZSwgd2Ugd2lsbCBoYXZlIFdpLUZpIDgNCj4gPjwN Cj4gaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2ZlZWQvdXBkYXRlL3VybjpsaTphY3Rpdml0eTo3 NDYwOTk4NTgwNDU2MTE2MjI0Lz4NCj4gPmZvciB0aG9zZSBpbnRlcmVzdGVkIGluIGNoYXNpbmcg bWFyZ2luYWwgaW1wcm92ZW1lbnRzIGFuZCB0aGUgbGF0ZXN0DQo+IHRoaW5nLg0KPg0KPiBUaGF0 IGlzIHRoZSAzR1BQIHBsYXlib29rLCBhbHdheXMgb3ZlcnByb21pc2UgZm9yIHRoZSBjb21pbmcg Z2VuZXJhdGlvbg0KPiBOKzEgYW5kIG9uY2UgdGhhdCBtYXRlcmlsYWxpemVzIGFuZCB0eXBpY2Fs bHkgdW5kZXItZGVsaXZlcnMgcm9sbC1vdmVyIHRoZQ0KPiB1bmZ1bGZpbGxlZCBwcm9taXNlcyBz aW1wbHkgaW50byBOKzIsIG1heWJlIGFkZCBhIGZldyBtb3JlIGNsYWltcy4uLiBTdXJlDQo+IGZp dHRpbmcgZm9yIHRoZSBsYXRleHN0YWdlIGNhcGl0YWx1c20gd2UgZmluZCBvdXJzZWx2ZXMgaW4s IGJ1dCBsZXQncyBub3QNCj4gZ2V0IGZvb2xlZCBieSBtYXJrZXRpbmcgcHJvbWlzZXMgYW5kIGp1 ZGdlIFdpRmk4IG9uY2UgaXQgZXhpc3RzIGJ5IGl0cw0KPiBtZXJpdHMvcGVyZm9ybWFuY2UsIHBs ZWFzZS4NCj4NCj4gPkpvbmF0aGFuIE1vcnRvbiB3aWxsIGRlbGl2ZXIgaGlzIGltcHJvdmVtZW50 IG9uIENBS0UsIHdlIG1pZ2h0IGV2ZW4gZ2V0DQo+ID5pbnRvIG1pY3Jvc2Vjb25kIHRlcnJpdG9y eS4NCj4NCj4gTGFzdCB0aW1lIEkgcmVzZWFyY2hlZCBoaXMgZGVsdGljIGFwcHJvYWNoIGl0IGxv b2tlZCB2ZXJ5IG11Y2ggbm90IGdvaW5nDQo+IGludG8gdGhlIG1pY3Jvc2Vjb25kIHRlcnJpdG9y eSwgSSByZW1lbWJlciAyNW1zIGFzIGxhdGVuY3kgdGFyZ2V0DQo+IHNvbWVob3cuLi4gMjVtcyBp cyBjZXJ0YWlubHkgbm90IGJhZCwgYW5kIG5vdCBoaWdoLWxhdGVuY3ksIGJ1dCBzZWVtcw0KPiBk aWZmZXJlbnQgZnJvbSB1bHRyYS1sb3ctbGF0ZW5jeSBhcHByb2FjaGVzLiBTbyBJIG1pZ2h0IGhh dmUgbWlzc2VkIHNvbWUNCj4gaW50ZXJlc3RpbmcgZGV2ZWxvcG1lbnQsIGlmIHlvdSBoYXZlIGEg bGluayB5b3UgY291bGQgc2hhcmUgdG8gZ2V0IG1lIHVwIHRvDQo+IHNwZWVkIGFnYWluLCBJIHdv dWxkIGJlIGdyYXRlZnVsLg0KPg0KPiA+IFRoZXJlIHdpbGwgYmUgRlEtUElFLCBQVVJQTEUgQ0FL RSwgSFRCLU1RICh0bw0KPiA+c3VwcGxlbWVudCBDQUtFLU1RKS4uLg0KPiA+DQo+ID5Bbnl3YXks IHlvdSB3aWxsIGxpa2UgdGhpczoNCj4gPg0KPiBodHRwczovL2Fyc3RlY2huaWNhLmNvbS9nYWRn ZXRzLzIwMTcvMDIvZ29pbmctaGFuZHMtb24tYW5kLWJlaGluZC10aGUtc2NlbmVzLWF0LXRoZS1w bHVtZS13aS1maS1ocS8NCj4gPg0KPiA+UGx1bWUgdXNlZCB0byBkbyB0aGlzLCB5b3Ugd2lsbCBo YXZlIHlvdXIgRmktV2kgaG91c2UgdGVzdCBiZWQgdXAgYW5kDQo+ID5ydW5uaW5nLCBzb29uLiBM ZXQncyBoYXZlIGZ1biBhbmQgZG8gYW5vdGhlciByb3VuZCBvZiB0aGUgZ29vZCBvbGUNCj4gPldp LUZpL21lc2ggcm91dGVyIHJ1bWJsZToNCj4gPg0KPiA+DQo+IGh0dHBzOi8vYXJzdGVjaG5pY2Eu Y29tL2dhZGdldHMvMjAxNi8wOS90aGUtcm91dGVyLXJ1bWJsZS1hcnMtZGl5LWJ1aWxkLWZhY2Vz LWJldHRlci10ZXN0cy10b3VnaGVyLWNvbXBldGl0aW9uLw0KPiA+DQo+IGh0dHBzOi8vYXJzdGVj aG5pY2EuY29tL2dhZGdldHMvMjAxNi8xMi9yZXZpZXctY29tcGFyaW5nLWdvb2dsZS13aWZpLXRv LW90aGVyLW1lc2gtbmV0d29ya2luZy1oZWF2eXdlaWdodHMvDQo+ID4NCj4gPk1heWJlIEppbSBh bmQgQXJzIFRlY2huaWNhIHdvdWxkIGJlIGludGVyZXN0ZWQgaW4gaXQuDQo+ID4NCj4gPg0KPiA+ QWxsIHRoZSBiZXN0LA0KPiA+DQo+ID5GcmFuaw0KPiA+DQo+ID5GcmFudGlzZWsgKEZyYW5rKSBC b3JzaWsNCj4gPg0KPiA+DQo+ID4qSW4gbG92aW5nIG1lbW9yeSBvZiBEYXZlIFTDpGh0OiAqMTk2 NS0yMDI1DQo+ID4NCj4gPmh0dHBzOi8vbGlicmVxb3MuaW8vMjAyNS8wNC8wMS9pbi1sb3Zpbmct bWVtb3J5LW9mLWRhdmUvDQo+ID4NCj4gPg0KPiA+aHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2lu L2ZyYW50aXNla2JvcnNpaw0KPiA+DQo+ID5TaWduYWwsIFRlbGVncmFtLCBXaGF0c0FwcDogKzQy MTkxOTQxNjcxNA0KPiA+DQo+ID5pTWVzc2FnZSwgbW9iaWxlOiArNDIwNzc1MjMwODg1DQo+ID4N Cj4gPlNreXBlOiBjYXNpb2E1MzAyY2ENCj4gPg0KPiA+ZnJhbnRpc2VrLmJvcnNpa0BnbWFpbC5j b20NCj4gPg0KPiA+DQo+ID5PbiBTdW4sIE1heSAyNCwgMjAyNiBhdCAxMTo1N+KAr1BNIDxib2Iu bWNtYWhvbkB1bWJlcm5ldHdvcmtzLmNvbT4gd3JvdGU6DQo+ID4NCj4gPj4gSGkgRnJhbmssDQo+ ID4+DQo+ID4+IFRoZSBxdWVzdGlvbiBuZWVkcyB0byBiZSBmcmFtZWQgaW4gbWVhc3VyYWJsZSB0 ZXJtcy4NCj4gPj4NCj4gPj4gVGhlIHN5c3RlbXMgeW91IG5hbWVkIG9wZXJhdGUgYXQgZGlmZmVy ZW50IGxheWVycyB0aGFuIHRoZSA4MDIuMTENCj4gTUFDL1BIWQ0KPiA+PiBsYXllciB3aGVyZSBU WE9QIGFsbG9jYXRpb24sIHJldHJpZXMsIEVEQ0EgY29udGVudGlvbiwgQU1QRFUgYmVoYXZpb3Is DQo+IGFuZA0KPiA+PiBhaXJ0aW1lIHV0aWxpemF0aW9uIG9jY3VyIHRocm91Z2hvdXQgdGhlIGJ1 aWxkaW5nLiBiYXRtYW4tYWR2IHJvdXRlcw0KPiA+PiBiZXR3ZWVuIG1lc2ggbm9kZXMuIENBS0Ug YW5kIEZRLUNvRGVsIG9wZXJhdGUgb24gSVAtbGF5ZXIgcXVldWVzLiBRb0UNCj4gPj4gbWlkZGxl LWJveGVzIG9wZXJhdGUgZnJvbSB0aGUgV0FOL0lQIHNpZGUuDQo+ID4+DQo+ID4+IFNvIHRoZSBx dWVzdGlvbiBpcyB3aGV0aGVyIElQLWxheWVyIEFRTXMgb3IgV0FOLXNpZGUgUW9FIHN5c3RlbXMg YWZmZWN0DQo+ID4+IG1lYXN1cmFibGUgODAyLjExIE1BQy9QSFkgYmVoYXZpb3IgdW5kZXIgbG9h ZC4NCj4gPj4NCj4gPj4gSWYgdGhleSBkbywgdGhlIHByZWRpY3RlZCBNQUMvUEhZIGVmZmVjdHMg d291bGQgaW5jbHVkZToNCj4gPj4NCj4gPj4gICAgLSBsb3dlciBmYWlsZWQgVFhPUCBwZXJjZW50 YWdlDQo+ID4+ICAgIC0gbG93ZXIgcmV0cmFuc21pc3Npb24gYWlydGltZSBmcmFjdGlvbg0KPiA+ PiAgICAtIGltcHJvdmVkIEFNUERVIGNvbXBsZXRpb24gZWZmaWNpZW5jeQ0KPiA+PiAgICAtIGhp Z2hlciBwYXlsb2FkIGRlbGl2ZXJlZCBwZXIgVFhPUA0KPiA+PiAgICAtIGxvd2VyIEFNUERVIHRy dW5jYXRpb24gZnJlcXVlbmN5DQo+ID4+ICAgIC0gcmVkdWNlZCBFRENBIHdhaXQgZGlzdHJpYnV0 aW9ucw0KPiA+PiAgICAtIGltcHJvdmVkIGFpcnRpbWUgdXRpbGl6YXRpb24NCj4gPj4gICAgLSBy ZWR1Y2VkIHNlcnZpY2UtdGltZSB2YXJpYW5jZQ0KPiA+PiAgICAtIGNoYW5nZWQgTUNTIGRpc3Ry aWJ1dGlvbnMgYWNyb3NzIHN0YXRpb25zIHVuZGVyIHJlYWxpc3RpYyBzcGF0aWFsDQo+ID4+ICAg IHRvcG9sb2d5LCBwYXJ0aWN1bGFybHkgYXQgY292ZXJhZ2UgZWRnZXMgYW5kIHdoZXJlIG11bHRp cGxlIEFQcyBvcg0KPiBSUkhzIGFyZQ0KPiA+PiAgICBjYW5kaWRhdGVzIGZvciBub2RlIHNlbGVj dGlvbg0KPiA+Pg0KPiA+PiBUaGF0IGlzIHRoZSBtZWFzdXJlbWVudCBnYXAgSSBhbSBwb2ludGlu ZyBhdC4gVGhlIGluZHVzdHJ5IGhhcyBleHRlbnNpdmUNCj4gPj4gODAyLjExIGZlYXR1cmUgbGlz dHMgYW5kIG1hcmtldGluZyBjbGFpbXMsIHdpdGggY29tcGFyYXRpdmVseSBsaXR0bGUNCj4gb3Bl bg0KPiA+PiB0b29saW5nIHRvIGZhbHNpZnkgd2hhdCB0aG9zZSBhY3R1YWxseSBkbyB0byBidWls ZGluZyB3aWRlIDgwMi4xMQ0KPiBNQUMvUEhZDQo+ID4+IGJlaGF2aW9yIHVuZGVyIHJlYWwgbXVs dGktY2xpZW50LCBtdWx0aS1BUCBsb2FkLg0KPiA+Pg0KPiA+PiBJIGRldmVsb3BlZCBhbmQgc3Rp bGwgbWFpbnRhaW4gaXBlcmYyIGJlY2F1c2UgdGhyb3VnaHB1dCBhbG9uZSBoYXMNCj4gcHJvdmVu DQo+ID4+IGFuIGluc3VmZmljaWVudCBtZWFzdXJlbWVudCBtb2RlbCBmb3IgbmV0d29yayBiZWhh dmlvciwgZS5nLiBsYXRlbmNpZXMNCj4gYW5kDQo+ID4+IHJlc3BvbnNpdmVuZXNzIHVuZGVyIGxv YWQuIEZlYXR1cmVzIGFkZGVkIHRvIGlwZXJmMiBpbmNsdWRlOg0KPiA+Pg0KPiA+PiAgICAtIHRy aXAtdGltZXMNCj4gPj4gICAgLSBib3VuY2ViYWNrIHRlc3RpbmcNCj4gPj4gICAgLSBvbmUtd2F5 IElQIHBhY2tldCB0aW1pbmcgbWVhc3VyZW1lbnRzDQo+ID4+ICAgIC0gcGFja2V0LWxldmVsIGxh dGVuY3kgaGlzdG9ncmFtcw0KPiA+PiAgICAtIG1lc3NhZ2UtbGV2ZWwgKFRDUCB3cml0ZS9yZWFk IGNvbXBsZXRpb24pIGxhdGVuY3kgaGlzdG9ncmFtcw0KPiA+PiAgICAtIHJlc3BvbnNpdmVuZXNz IHVuZGVyIGxvYWQgbWVhc3VyZW1lbnRzDQo+ID4+ICAgIC0gZW5oYW5jZWQgcGVyLWludGVydmFs IHJlcG9ydGluZw0KPiA+PiAgICAtIENXTkQgcmVwb3J0aW5nDQo+ID4+ICAgIC0gUlRUIHJlcG9y dGluZw0KPiA+PiAgICAtIGJ5dGVzL3BhY2tldHMgaW4tZmxpZ2h0IHJlcG9ydGluZw0KPiA+PiAg ICAtIFRDUCByZXRyYW5zbWlzc2lvbiByZXBvcnRpbmcNCj4gPj4gICAgLSBUQ1AgY29uZ2VzdGlv bi1jb250cm9sIHNlbGVjdGlvbiAoQ1VCSUMsIEJCUiwgUHJhZ3VlLCBldGMuKQ0KPiA+PiAgICAt IHVkcC1sNHMgaW5jbHVkaW5nIENFIGNvdW50ZXJzIGFuZCBkdXJhdGlvbnMNCj4gPj4gICAgLSBp c29jaHJvbm91cyB0cmFmZmljIGdlbmVyYXRpb24NCj4gPj4gICAgLSBzb2NrZXQtbGF5ZXIgcGFj aW5nIHZpYSBTT19NQVhfUEFDSU5HX1JBVEUNCj4gPj4gICAgLSB0b2tlbi1idWNrZXQgd3JpdGUt cmF0ZSBjb250cm9sDQo+ID4+ICAgIC0gTWFya292LWNoYWluIHBhY2tldC1zaXplIGdlbmVyYXRp b24NCj4gPj4gICAgLSBVRFAgbGF0ZW5jeS9qaXR0ZXIgYW5hbHlzaXMNCj4gPj4gICAgLSBtdWx0 aWNhc3QgdGVzdGluZw0KPiA+Pg0KPiA+PiBUaG9zZSBtZWFzdXJlbWVudHMgb3BlcmF0ZSBhYm92 ZSB0aGUgODAyLjExIE1BQy9QSFkuIFRoZSBtaXNzaW5nIGxheWVyDQo+ID4+IHJlbWFpbnMgb3Bl biA4MDIuMTEgTUFDL1BIWSB0ZWxlbWV0cnksIHdoaWNoIGlzIHdoYXQgSSdtIGJ1aWxkaW5nIG5v dy4NCj4gPj4NCj4gPj4gVGhpcyBtZWFzdXJlbWVudCBzdGFuZGFyZCBzaG91bGQgYXBwbHkgZXF1 YWxseSB0byBhbnkgY2xhaW0gZnJvbSBhbnkNCj4gPj4gYXJjaGl0ZWN0dXJlLCBpbmNsdWRpbmcg RmktV2kuDQo+ID4+DQo+ID4+IFRoZSBxdWVzdGlvbiBiZWNvbWVzOiBkb2VzIGNlbnRyYWxpemVk IE1BQyB0ZWxlbWV0cnkgYW5kIGNvb3JkaW5hdGVkDQo+ID4+IGFpcnRpbWUgY29udHJvbCBhZmZl Y3QgbWVhc3VyYWJsZSA4MDIuMTEgTUFDL1BIWSBiZWhhdmlvciB1bmRlciBsb2FkDQo+ID4+IHJl bGF0aXZlIHRvIGF1dG9ub21vdXMgQVAgb3BlcmF0aW9uPw0KPiA+Pg0KPiA+PiBNZWFzdXJlIHRo ZSBzYW1lIE1BQy9QSFkgbWV0cmljcyB1bmRlciBlcXVpdmFsZW50IHRvcG9sb2d5LCBvZmZlcmVk DQo+IGxvYWQsDQo+ID4+IGFuZCBjbGllbnQgbWl4LiBJZiB0aG9zZSBtZWFzdXJlbWVudHMgZG8g bm90IGltcHJvdmUgcmVsYXRpdmUgdG8NCj4gYmFzZWxpbmUsDQo+ID4+IHRoZSBhcmNoaXRlY3R1 cmFsIGNsYWltIG9mIEZpLVdpIGZhaWxzLiBXZSB3b24ndCBrbm93IHVudGlsIEZpLVdpIGlzDQo+ ID4+IGRlc2lnbmVkLCBidWlsdCwgZGVwbG95ZWQgYW5kIG1lYXN1cmVkIGF0IG1hbnkgZGlmZmVy ZW50IGxvY2F0aW9ucy4gVGhlDQo+ID4+IHRoZW9yZXRpY2FsIGNhc2UgaXMgc3Ryb25nLiAgQ2Vu dHJhbGl6ZWQgc2NoZWR1bGluZywgam9pbnQgb3B0aW1pemF0aW9uLA0KPiA+PiBhbmQgb2JzZXJ2 YWJpbGl0eSBhbGwgYXJndWUgZm9yIGl0LiBUaGUgZGVzaWduIGFuZCBtZWFzdXJlbWVudHMgYXJl IHRoZQ0KPiA+PiBuZXh0IHN0ZXBzLiBUaGVuIHdlJ2xsIHNlZSBiYXNlZCBvbiBldmlkZW5jZS4N Cj4gPj4NCj4gPj4gQm9iDQo+ID4+DQo+ID4+IFRlY2huaWNhbGx5LCBCZXRhbWF4IHdhcyBzdXBl cmlvciB0byBWSFMsIGFuZCB5ZXQuLi4NCj4gPj4NCj4gPj4gSWYgd2Ugd291bGQgYmUgdGFsa2lu ZyBhYm91dCBGaVdpIHByZS1qdW1wIGZyb20gV2ktRmkgNSB0byBXaS1GaTYvRS83LCBJDQo+ID4+ IHdvdWxkIGV2ZW4gdHJ5IHRvIGRvIG15IGJlc3QgYW5kIGlnbm9yZSBodHRwczovL2Zhc3Rnb29k LmNoZWFwLg0KPiA+PiBCdXQgd2UgYXJlIG5vdCB0aGVyZSwgZm9yIGJldHRlciBvciBmb3Igd29y c2UuDQo+ID4+DQo+ID4+IElTUHMgbGlrZSBEYW4gdGhhdCB1c2UgV2ktRmkgNiAod2l0aCBtZXNo LCBlc3BlY2lhbGx5IGJhc2VkIG9uDQo+IGJhdG1hbi1hZHYNCj4gPj4gYW5kIEZRLUNvRGVsIC8g Q0FLRSkgYW5kIGFib3ZlIGF0IGN1c3RvbWVyIHByZW1pc2VzIGFuZCBRdWFsaXR5IG9mDQo+ID4+ IEV4cGVyaWVuY2UgbWlkZGxlLWJveCBvbiB0aGVpciBsYXN0LW1pbGUsIHdoaWxlIHByb3ZpZGlu ZyBnb29kLCBwZXJzb25hbA0KPiA+PiBjdXN0b21lciBzZXJ2aWNlIChub3Qgc29tZSBjcmFwcHkg b3V0c291cmNpbmcgb2YgaXQgdG8gSW5kaWEgb3IgIkFJIikNCj4gd2lsbA0KPiA+PiBiZSBoYXJk IHRvIGJlYXQsIGV2ZW4gZm9yIGEgYmlnIHRlbGNvL0lTUCBvZmZlcmluZyBjaGVhcGVyIHByaWNl LiBZZXMsDQo+IHNvbWUNCj4gPj4gcGVvcGxlIHdpbGwgbGVhdmUgYnV0IHRoZSBtb3N0IG9mIHRo ZW0gd2lsbCBiZSBjb21pbmcgYmFjay4NCj4gPj4NCj4gPj4gVGhpcyBpcywgYmVsaWV2ZSBpdCBv ciBub3QsIG5vdCBhIGhpZ2ggYmFyIHRvIGp1bXAgb3ZlciwgZXZlbiB0aG91Z2ggbm90DQo+ID4+ IG1hbnkgSVNQcyBhcmUgZ2V0dGluZyBpdCBhbHJlYWR5LiBXZSBhbGwga25vdyB0aGF0IG1vcmUg b3IgbGVzczoNCj4gIkJhbmR3aWR0aA0KPiA+PiBpcyBhIGxpZSwgQmFuZHdpZHRoIGlzIGRlYWQs IiBzbyBpdCdzIGNvbWluZy4gVGhleSB3aWxsIGJlIHRocm93aW5nIG1vcmUNCj4gPj4gYmFuZHdp ZHRoIG9uIGl0IGZvciBzb21lIHRpbWUsIGJ1dCB3ZSB3aWxsIGJlIGdldHRpbmcgZnJvbSAiaW5u b3ZhdG9ycyINCj4gdG8NCj4gPj4gImVhcmx5IGFkb3B0ZXJzIiBzb29uIGFuZCB0aGVuLCBhbGwg d2UgbmVlZCBpcyBqdXN0IHRoYXQgImNyb3NzaW5nIHRoZQ0KPiA+PiBjaGFzbS4iDQo+ID4+DQo+ ID4+IERlc3BpdGUgYWxsIHRoZSBkaWZmaWN1bHRpZXMsIGl0IHdpbGwgYmUgZmFzdGVyIGFuZCBj aGVhcGVyIC0gYWxzbyAiZ29vZA0KPiA+PiBlbm91Z2gsIiB0aGFuIEZpV2kuIE9yIHJhdGhlciwg aXQncyBoZXJlIGFscmVhZHksIGl0J3MganVzdCBub3QgZXZlbmx5DQo+ID4+IGRpc3RyaWJ1dGVk Lg0KPiA+PiBUaGVyZSBtaWdodCBiZSBzb21lIGdvb2QgbmljaGUgdXNlIGNhc2UgZm9yIEZpV2ks IHRob3VnaCwgb25jZSBpdCB3aWxsDQo+ID4+IG1hdHVyZSBhbmQgZ2V0IHRoZXJlLg0KPiA+Pg0K PiA+PiBBbGwgdGhlIGJlc3QsDQo+ID4+DQo+ID4+DQo+ID4+IEZyYW5rDQo+ID4+DQo+ID4+DQo+ ID4+DQo+ID4+IEZyYW50aXNlayAoRnJhbmspIEJvcnNpaw0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+ PiAqSW4gbG92aW5nIG1lbW9yeSBvZiBEYXZlIFTDpGh0OiAqMTk2NS0yMDI1DQo+ID4+DQo+ID4+ IGh0dHBzOi8vbGlicmVxb3MuaW8vMjAyNS8wNC8wMS9pbi1sb3ZpbmctbWVtb3J5LW9mLWRhdmUv DQo+ID4+DQo+ID4+DQo+ID4+DQo+ID4+IGh0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9mcmFu dGlzZWtib3JzaWsNCj4gPj4NCj4gPj4gU2lnbmFsLCBUZWxlZ3JhbSwgV2hhdHNBcHA6ICs0MjE5 MTk0MTY3MTQNCj4gPj4NCj4gPj4gaU1lc3NhZ2UsIG1vYmlsZTogKzQyMDc3NTIzMDg4NQ0KPiA+ Pg0KPiA+PiBTa3lwZTogY2FzaW9hNTMwMmNhDQo+ID4+DQo+ID4+IGZyYW50aXNlay5ib3JzaWtA Z21haWwuY29tDQo+ID4+DQo+ID4+IE9uIFN1biwgTWF5IDI0LCAyMDI2IGF0IDI6MTLigK9BTSBk YW4gPGRhbmRlbnNvbkBnbWFpbC5jb20+IHdyb3RlOg0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+PiBP biBTYXQsIE1heSAyMywgMjAyNiBhdCAxMDozNuKAr0FNIDxib2IubWNtYWhvbkB1bWJlcm5ldHdv cmtzLmNvbT4gd3JvdGU6DQo+ID4+DQo+ID4+ID4gSSBkb24ndCBoYXZlIGFyZ3VtZW50cyBvbiB0 aGUgdGVjaG5pY2FsIGJpdHMgb2YgeW91ciByZXBseS4NCj4gPj4NCj4gPj4gVGhlIGluZHVzdHJ5 IGhhc24ndCBwcm92aWRlZCBvcGVuIHNvdXJjZSB0b29scyB0byBhbmFseXplIDgwMi4xMQ0KPiBw cm9wZXJseS4NCj4gPj4gVGhlIHByb3ByaWV0YXJ5IG9uZXMgYXJlIHRpZ2h0bHkgY291cGxlZCB0 byBjaGlwIGZpcm13YXJlLCBvd25lZCBieQ0KPiA4MDIuMTENCj4gPj4gdmVuZG9ycywgYW5kIG5v dCBmb3Igc2FsZS4NCj4gPj4NCj4gPj4gWW91J3ZlIGJ1aWx0IHNvbGlkIG5ldHdvcmtzLCBlc3Bl Y2lhbGx5IGdpdmVuIGhvdyBsaXR0bGUgODAyLjExDQo+IE1BQy1sYXllcg0KPiA+PiBhbmQgTUNT IG9ic2VydmFiaWxpdHkgY3VycmVudCB0b29saW5nIGV4cG9zZXMuIEkgaG9wZSB0byBtYWtlIG9w ZW4NCj4gc291cmNlDQo+ID4+IDgwMi4xMSBNQUMgdGVsZW1ldHJ5IHRvb2xzIGF2YWlsYWJsZSBz b29uZXIgcmF0aGVyIHRoYW4gbGF0ZXIuIFRoZXNlDQo+IHdpbGwNCj4gPj4gcnVuIG9uIGJvdGgg YW4gRVNQMzItQzUgYW5kIGFuIFJQaTUuIFRoZSBpbmV4cGVuc2l2ZSBFU1AzMiBhbGxvd3MNCj4g bW9uaXRvcnMNCj4gPj4gdG8gYmUgcGxhY2VkIHRocm91Z2hvdXQgYSB2ZW51ZSBhdCBsb3cgY29z dC4NCj4gPj4NCj4gPj4gQSBrZXkgaXNzdWUgaXMgd2hhdCdzIGJlaW5nIG1lYXN1cmVkLiBZb3Vy IGRlcGxveW1lbnQgZGF0YSBpcyBhIGNhcGFjaXR5DQo+ID4+IGFuYWx5c2lzLiBPbmNlIGJhc2Vs aW5lIGNhcGFjaXR5IGlzIGFkZXF1YXRlLCB1c2VyIGV4cGVyaWVuY2UgaXMgZHJpdmVuDQo+IGJ5 DQo+ID4+IHRhaWwgbGF0ZW5jeSBhbmQgc2VydmljZS10aW1lIHZhcmlhbmNlIHJhdGhlciB0aGFu IHRocm91Z2hwdXQuIEEgbmV0d29yaw0KPiA+PiBjYW4gc2F0dXJhdGUgYWdncmVnYXRlIHRocm91 Z2hwdXQgd2hpbGUgc3RpbGwgc2hvd2luZyBsYXJnZSBzZXJ2aWNlLXRpbWUNCj4gPj4gdmFyaWFu Y2UgYW5kIGxvbmcgcGVyLWZsb3cgdGFpbHMgdW5kZXIgY29udGVudGlvbi4gVGhlc2UgYXJlIGRp ZmZlcmVudA0KPiA+PiBtZWFzdXJlbWVudHMuDQo+ID4+DQo+ID4+IEFuZCBDT0RFTCBhbmQgQ0FL RSBhcmUgSVAtbGF5ZXIgbWVjaGFuaXNtcy4gVGhleSBkb24ndCBvcGVyYXRlIG9uIDgwMi4xMQ0K PiA+PiBUWE9QcyBvciBhaXJ0aW1lIHNvam91cm4sIHdoaWNoIGlzIHdoZXJlIHRoZSBjb250ZW50 aW9uIGFuZCBzZXJ2aWNlLXRpbWUNCj4gPj4gdmFyaWFuY2UgYWN0dWFsbHkgbGl2ZS4gQVFMIGlz IGNsb3Nlci4gSXQgb3BlcmF0ZXMgb24gYWlydGltZSBhdCB0aGUNCj4gPj4gZHJpdmVyL2Zpcm13 YXJlIGJvdW5kYXJ5LCBidXQgaXQncyBzdGlsbCBwZXItQVAuIFRoZXJlJ3Mgbm8gY29vcmRpbmF0 aW9uDQo+ID4+IGFjcm9zcyBBUHMgYW5kIG5vIE1BQyB0ZWxlbWV0cnkgZXhwb3NlZCB1cHdhcmQu DQo+ID4+DQo+ID4+IFNsaWRlIDYgb2YgbXkgRFBESyBTdW1taXQgU3RvY2tob2xtIHRhbGsgbGF5 cyBvdXQgdGhlIGxheWVyaW5nOg0KPiA+PiBodHRwczovL3d3dy51bWJlcm5ldHdvcmtzLmNvbS9E UERLX1dpRmlfU3RvY2tob2xtX1ByZXMuaHRtbA0KPiA+Pg0KPiA+PiBDaGVjayBvdXQgaXBlcmYy J3MgYWR2YW5jZWQgZmVhdHVyZXMgYXJvdW5kIC0tYm91bmNlYmFjaywgLS10cmlwLXRpbWVzLA0K PiA+PiBhbmQgLS1oaXN0b2dyYW1zLiBUaGVzZSBhcmUgYXZhaWxhYmxlIGFzIG9wZW4gc291cmNl LiBNYW4gcGFnZToNCj4gPj4gaHR0cHM6Ly9pcGVyZjIuc291cmNlZm9yZ2UuaW8vaXBlcmYtbWFu cGFnZS5odG1sDQo+ID4+DQo+ID4+IEknbGwgdHJ5IHRvIHJlc3BvbmQgd2l0aCBzb21lIG1ldHJp Y3Mgc29vbi4gTXkgcmlnIGlzIGRvd24gYXQgdGhlDQo+IG1vbWVudCwNCj4gPj4gc28gZ2l2ZSBt ZSBhIGZldyBkYXlzLg0KPiA+Pg0KPiA+PiBCb2INCj4gPj4NCj4gPj4NCj4gPj4gSSBhZ3JlZS4g IEhvd2V2ZXIsIEknbSBub3QgYWN0dWFsbHkganVzdCBtZWFzdXJpbmcgdGhyb3VnaHB1dCwgYnV0 DQo+IHJ1bm5pbmcNCj4gPj4gbGF0ZW5jeSBzZW5zaXRpdmUgYXBwbGljYXRpb25zIHdpdGhvdXQg aXNzdWVzLiAgRnJhbmsgbWlnaHQgYXR0ZXN0IHRvIG15DQo+ID4+IGVmZm9ydHMgdG8gcmVkdWNl IGxhdGVuY3kgYW5kIEkgcm91dGluZWx5IHNoYXJlIGRhdGEgb24gbHFvcyAoYW5kDQo+IGFub3Ro ZXINCj4gPj4gUW9FIHByb2R1Y3QncykgVENQIG1lYXN1cmVtZW50cyBmb3IgbGF0ZW5jeSBhbmQg YW1vbmcgUW9FIHVzZXJzLCBJDQo+IGJlbGlldmUNCj4gPj4gbXkgbmV0d29yayBpcyB0b3AgMSUg aW4gbGF0ZW5jeSBhbmQgaml0dGVyIGFuZCBpbiB0aGUgV0lTUCBzcGFjZS4NCj4gPj4gT2J2aW91 c2x5IEknbSBub3QgZ29pbmcgdG8gY29tcGV0ZSB3aXRoIFhHU1BPTiBvcGVyYXRvcnMuLiAodGhv dWdoIEknbQ0KPiBvbmx5DQo+ID4+IG1lYXN1cmluZyBUQ1AgYmVjYXVzZSB0aGF0J3MgdGhlICdl YXNpZXN0JyB0byBtZWFzdXJlIHBhc3NpdmVseQ0KPiA+PiBwcmFjdGljYWxseSkuICBXaGlsZSB0 aGlzIGlzIG5vdCBhbiBlbmdpbmVlcmluZyBhZGVxdWF0ZSBiZW5jaG1hcmssIGlmDQo+IG15DQo+ ID4+IFZvSVAgaGFuZHNldHMgd29yayBvdmVyIHdpcmVsZXNzIHRoZW4gdGhlIHdpcmVsZXNzIGlz IGdvb2QgaXMgYSB2ZXJ5DQo+ID4+IHJlYXNvbmFibGUgbGF0ZW5jeSwgaml0dGVyLCBsb3NzIGFy Z3VtZW50LiAgQW5kIEkgcnVuIGEgZmV3IGJyYW5kcyBvZg0KPiBXaUZpDQo+ID4+IGJhc2VkIFZv SVAgcGhvbmVzIChGYW52aWxsIFd4eHggc2VyaWVzLCBZZWFsaW5rIFd4eCBhbmQgQVh4eCBzZXJp ZXMpLg0KPiA+PiBTaW1pbGFybHksIGlmIHRoZSBzb25vcyB3b3JrcyBhbmQgaXMgaW4gc3luYywg dGhlIHdpZmkgaXMgZ29vZC4NCj4gPj4NCj4gPj4gQXMgYSBzZXJ2aWNlIGNvbXBhbnkgYW5kIGFz IGEgdXNlciwgSSBkb24ndCByZWFsbHkgY2FyZSBzbyBtdWNoIHdoZXJlDQo+IHRoZQ0KPiA+PiBn b29kbmVzcyBpcyBpbiB0aGUgc3lzdGVtLCBtYWMgbGF5ZXIgb3IgSVAgaGF2aW5nIGNha2Ugd29y ayBpdCdzIG1hZ2ljLg0KPiA+PiBCYXNpY2FsbHkgcnVubmluZyBhbiBBUCBvbiBPRk1EQSAoYXMg bXVjaCBhcyBwb3NzaWJsZSkgYW5kIHdlbGwgdW5kZXINCj4gdGhlDQo+ID4+ICdyZWQgbGluZScg Y2FwYWNpdHkgZGVsaXZlcnMgZ3JlYXQgcmVzdWx0cyBvbiBXaUZpNyByYWRpb3MgKGFuZCBzb21l DQo+IFdpRmk2DQo+ID4+IHJhZGlvcykuICBJIGhhdmUgbm8gZG91YnQgdGhhdCBGaVdpIGNvdWxk IGdldCBtb3JlIG9mIHRoZSB0aGVvcmV0aWNhbA0KPiA+PiB0aHJvdWdocHV0IGRlbGl2ZXJlZCBh dCB0aGUgbWFjIGxheWVyLg0KPiA+Pg0KPiA+PiBEZWxpdmVyYWJsZXMgYXJlIGFsbCB0aGF0IG1h dHRlciB0byBtZSBhbmQgSSB0aGluayB0byBidXllcnMgYW5kIHVzZXJzLg0KPiA+PiBCZW5jaG1h cmtzIHRlc3QgZGVsaXZlcmFibGVzIHdoaWNoIGlzIGdyZWF0IGFuZCBJJ20gYSByb3V0aW5nIGlw ZXJmKg0KPiB1c2VyLg0KPiA+PiBJdCdzIGVuZ2luZWVyaW5nJ3MgcHJvYmxlbSB0byBkZXZlbG9w IHRoZSBuZXh0IHRlY2ggKkFORCogc29saWNpdA0KPiBmdW5kaW5nDQo+ID4+IHRvIGRvIHNvLg0K PiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18NCj4gPkNvZGVsIG1haWxpbmcgbGlzdCAtLSBjb2RlbEBsaXN0cy5idWZmZXJi bG9hdC5uZXQNCj4gPlRvIHVuc3Vic2NyaWJlIHNlbmQgYW4gZW1haWwgdG8gY29kZWwtbGVhdmVA bGlzdHMuYnVmZmVyYmxvYXQubmV0DQo+DQo+IC0tDQo+IFNlbnQgZnJvbSBteSBBbmRyb2lkIGRl dmljZSB3aXRoIEstOSBNYWlsLiBQbGVhc2UgZXhjdXNlIG15IGJyZXZpdHkuDQo+DQo+IC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPg0KPiBNZXNzYWdlOiAyDQo+IERhdGU6IFN1biwg MjQgTWF5IDIwMjYgMTQ6NTc6MjUgLTA3MDANCj4gRnJvbTogYm9iLm1jbWFob25AdW1iZXJuZXR3 b3Jrcy5jb20NCj4gU3ViamVjdDogW0Nha2VdIFJlOiBbUnBtXSBSZTogW0Jsb2F0XSBSZTogIkZp LVdpIGlzIGEgbmV3IGZvcndhcmRpbmcNCj4gICAgICAgICBwbGFuZSBmb3Igd2lyZWxlc3MiIC0g Qm9iIE1jTWFob24NCj4gVG86IEZyYW50aXNlayBCb3JzaWsgPGZyYW50aXNlay5ib3JzaWtAZ21h aWwuY29tPg0KPiBDYzogZGFuIDxkYW5kZW5zb25AZ21haWwuY29tPiwgUm9iZXJ0IE1jTWFob24N Cj4gICAgICAgICA8cmptY21haG9uQHJqbWNtYWhvbi5jb20+LCBEYXZpZCBMYW5nIDxkYXZpZEBs YW5nLmhtPiwgIkxpdmluZ29vZCwNCj4gICAgICAgICBKYXNvbiIgPEphc29uX0xpdmluZ29vZEBj b21jYXN0LmNvbT4sIENha2UgTGlzdA0KPiAgICAgICAgIDxjYWtlQGxpc3RzLmJ1ZmZlcmJsb2F0 Lm5ldD4sIE1ha2UtV2lmaS1mYXN0DQo+ICAgICAgICAgPG1ha2Utd2lmaS1mYXN0QGxpc3RzLmJ1 ZmZlcmJsb2F0Lm5ldD4sIGJsb2F0DQo+ICAgICAgICAgPGJsb2F0QGxpc3RzLmJ1ZmZlcmJsb2F0 Lm5ldD4sIEplcmVteSBBdXN0aW4gdmlhIFJwbQ0KPiAgICAgICAgIDxycG1AbGlzdHMuYnVmZmVy YmxvYXQubmV0PiwgY29kZWxAbGlzdHMuYnVmZmVyYmxvYXQubmV0LA0KPiAiRGF2ZS5zZWRkb24N Cj4gICAgICAgICBDYSIgPGRhdmUuc2VkZG9uLmNhQGdtYWlsLmNvbT4sIFdpbGxpYW0gRmlzaGVy IDx6enl6eHI5OUBnbWFpbC5jb20NCj4gPiwNCj4gICAgICAgICBJZ29yIEFsZWluaWtvdiA8aWdv ci5hbGVpbmlrb3ZAYWRuYWNvbS5jb20+LCBKaW0NCj4gICAgICAgICA8amltQGluaWhvbGRpbmdz LmNvbT4sIEppbWwgPGppbWxAcXVpY2tzbWFydC5jb20+LCBEb3VnbGFzDQo+IEZhaXJiYWlybg0K PiAgICAgICAgIDxkZmFpcmJhaXJuQG1lZ2FjaGlwcy5jb20+LCBUaG9tYXMgPHRob21hc0Btb25q YWxvbi5uZXQ+LCBUaW0NCj4gICAgICAgICBPZHJpc2NvbGwgPHRpbS5vZHJpc2NvbGxAaW50ZWwu Y29tPiwgTW9ydGVuIDxtb3J0ZW5AYnJvZXJ1cC5jb20+LA0KPiAgICAgICAgIFNlYmFzdGlhbiBN b2VsbGVyIDxzZWJhc3RpYW4ubW9lbGxlckBnbWFpbC5jb20+LCBNdCBEZW5pY29sbw0KPiAgICAg ICAgIDxtdC5kZW5pY29sb0BnbWFpbC5jb20+LCBNbWNtYWhvbjAxIDxtbWNtYWhvbjAxQGdtYWls LmNvbT4sDQo+IFNhbnRhbnUNCj4gICAgICAgICBTaW5oYSA8c2FudGFudXNpbmhhQHlhaG9vLmNv bT4sIE1hdHRoZXcgPG1hdHRoZXdAbXRlbGV5LmNvbT4sDQo+IEtvZW4gRFMNCj4gICAgICAgICA8 a29lbjA2MDdAZ21haWwuY29tPiwgU2hvdGFybyBTYWl0byA8c3NhaXRvQG1lZ2FjaGlwcy5jb20+ LCBSb2Jpbg0KPiAgICAgICAgIEphcnJ5IDxyamFycnlAcmVkaGF0LmNvbT4sIEVoZiA8ZWhmQGVo Zi5tZT4sIEcgV2hpdGUNCj4gICAgICAgICA8Zy53aGl0ZUBjYWJsZWxhYnMuY29tPiwgQ2h1bnl1 aHUwNyA8Y2h1bnl1aHUwN0BnbWFpbC5jb20+LA0KPiBNYXR0aGV3DQo+ICAgICAgICAgRmlzY2hl ciA8bWF0dGhldy5maXNjaGVyQGdtYWlsLmNvbT4NCj4gTWVzc2FnZS1JRDogPDA1NWU0MjY4NWNk ZGZhNGMxYTRmZjRkYTA4OTk5NmViQHVtYmVybmV0d29ya3MuY29tPg0KPiBDb250ZW50LVR5cGU6 IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLTg7IGZvcm1hdD1mbG93ZWQNCj4NCj4gSGkgRnJhbmss DQo+DQo+IFRoZSBxdWVzdGlvbiBuZWVkcyB0byBiZSBmcmFtZWQgaW4gbWVhc3VyYWJsZSB0ZXJt cy4NCj4NCj4gVGhlIHN5c3RlbXMgeW91IG5hbWVkIG9wZXJhdGUgYXQgZGlmZmVyZW50IGxheWVy cyB0aGFuIHRoZSA4MDIuMTENCj4gTUFDL1BIWSBsYXllciB3aGVyZSBUWE9QIGFsbG9jYXRpb24s IHJldHJpZXMsIEVEQ0EgY29udGVudGlvbiwgQU1QRFUNCj4gYmVoYXZpb3IsIGFuZCBhaXJ0aW1l IHV0aWxpemF0aW9uIG9jY3VyIHRocm91Z2hvdXQgdGhlIGJ1aWxkaW5nLg0KPiBiYXRtYW4tYWR2 IHJvdXRlcyBiZXR3ZWVuIG1lc2ggbm9kZXMuIENBS0UgYW5kIEZRLUNvRGVsIG9wZXJhdGUgb24N Cj4gSVAtbGF5ZXIgcXVldWVzLiBRb0UgbWlkZGxlLWJveGVzIG9wZXJhdGUgZnJvbSB0aGUgV0FO L0lQIHNpZGUuDQo+DQo+IFNvIHRoZSBxdWVzdGlvbiBpcyB3aGV0aGVyIElQLWxheWVyIEFRTXMg b3IgV0FOLXNpZGUgUW9FIHN5c3RlbXMgYWZmZWN0DQo+IG1lYXN1cmFibGUgODAyLjExIE1BQy9Q SFkgYmVoYXZpb3IgdW5kZXIgbG9hZC4NCj4NCj4gSWYgdGhleSBkbywgdGhlIHByZWRpY3RlZCBN QUMvUEhZIGVmZmVjdHMgd291bGQgaW5jbHVkZToNCj4NCj4gICAgICAgICAqIGxvd2VyIGZhaWxl ZCBUWE9QIHBlcmNlbnRhZ2UNCj4gICAgICAgICAqIGxvd2VyIHJldHJhbnNtaXNzaW9uIGFpcnRp bWUgZnJhY3Rpb24NCj4gICAgICAgICAqIGltcHJvdmVkIEFNUERVIGNvbXBsZXRpb24gZWZmaWNp ZW5jeQ0KPiAgICAgICAgICogaGlnaGVyIHBheWxvYWQgZGVsaXZlcmVkIHBlciBUWE9QDQo+ICAg ICAgICAgKiBsb3dlciBBTVBEVSB0cnVuY2F0aW9uIGZyZXF1ZW5jeQ0KPiAgICAgICAgICogcmVk dWNlZCBFRENBIHdhaXQgZGlzdHJpYnV0aW9ucw0KPiAgICAgICAgICogaW1wcm92ZWQgYWlydGlt ZSB1dGlsaXphdGlvbg0KPiAgICAgICAgICogcmVkdWNlZCBzZXJ2aWNlLXRpbWUgdmFyaWFuY2UN Cj4gICAgICAgICAqIGNoYW5nZWQgTUNTIGRpc3RyaWJ1dGlvbnMgYWNyb3NzIHN0YXRpb25zIHVu ZGVyIHJlYWxpc3RpYw0KPiBzcGF0aWFsDQo+IHRvcG9sb2d5LCBwYXJ0aWN1bGFybHkgYXQgY292 ZXJhZ2UgZWRnZXMgYW5kIHdoZXJlIG11bHRpcGxlIEFQcyBvciBSUkhzDQo+IGFyZSBjYW5kaWRh dGVzIGZvciBub2RlIHNlbGVjdGlvbg0KPg0KPiBUaGF0IGlzIHRoZSBtZWFzdXJlbWVudCBnYXAg SSBhbSBwb2ludGluZyBhdC4gVGhlIGluZHVzdHJ5IGhhcyBleHRlbnNpdmUNCj4gODAyLjExIGZl YXR1cmUgbGlzdHMgYW5kIG1hcmtldGluZyBjbGFpbXMsIHdpdGggY29tcGFyYXRpdmVseSBsaXR0 bGUNCj4gb3BlbiB0b29saW5nIHRvIGZhbHNpZnkgd2hhdCB0aG9zZSBhY3R1YWxseSBkbyB0byBi dWlsZGluZyB3aWRlIDgwMi4xMQ0KPiBNQUMvUEhZIGJlaGF2aW9yIHVuZGVyIHJlYWwgbXVsdGkt Y2xpZW50LCBtdWx0aS1BUCBsb2FkLg0KPg0KPiBJIGRldmVsb3BlZCBhbmQgc3RpbGwgbWFpbnRh aW4gaXBlcmYyIGJlY2F1c2UgdGhyb3VnaHB1dCBhbG9uZSBoYXMNCj4gcHJvdmVuIGFuIGluc3Vm ZmljaWVudCBtZWFzdXJlbWVudCBtb2RlbCBmb3IgbmV0d29yayBiZWhhdmlvciwgZS5nLg0KPiBs YXRlbmNpZXMgYW5kIHJlc3BvbnNpdmVuZXNzIHVuZGVyIGxvYWQuIEZlYXR1cmVzIGFkZGVkIHRv IGlwZXJmMg0KPiBpbmNsdWRlOg0KPg0KPiAgICAgICAgICogdHJpcC10aW1lcw0KPiAgICAgICAg ICogYm91bmNlYmFjayB0ZXN0aW5nDQo+ICAgICAgICAgKiBvbmUtd2F5IElQIHBhY2tldCB0aW1p bmcgbWVhc3VyZW1lbnRzDQo+ICAgICAgICAgKiBwYWNrZXQtbGV2ZWwgbGF0ZW5jeSBoaXN0b2dy YW1zDQo+ICAgICAgICAgKiBtZXNzYWdlLWxldmVsIChUQ1Agd3JpdGUvcmVhZCBjb21wbGV0aW9u KSBsYXRlbmN5IGhpc3RvZ3JhbXMNCj4gICAgICAgICAqIHJlc3BvbnNpdmVuZXNzIHVuZGVyIGxv YWQgbWVhc3VyZW1lbnRzDQo+ICAgICAgICAgKiBlbmhhbmNlZCBwZXItaW50ZXJ2YWwgcmVwb3J0 aW5nDQo+ICAgICAgICAgKiBDV05EIHJlcG9ydGluZw0KPiAgICAgICAgICogUlRUIHJlcG9ydGlu Zw0KPiAgICAgICAgICogYnl0ZXMvcGFja2V0cyBpbi1mbGlnaHQgcmVwb3J0aW5nDQo+ICAgICAg ICAgKiBUQ1AgcmV0cmFuc21pc3Npb24gcmVwb3J0aW5nDQo+ICAgICAgICAgKiBUQ1AgY29uZ2Vz dGlvbi1jb250cm9sIHNlbGVjdGlvbiAoQ1VCSUMsIEJCUiwgUHJhZ3VlLCBldGMuKQ0KPiAgICAg ICAgICogdWRwLWw0cyBpbmNsdWRpbmcgQ0UgY291bnRlcnMgYW5kIGR1cmF0aW9ucw0KPiAgICAg ICAgICogaXNvY2hyb25vdXMgdHJhZmZpYyBnZW5lcmF0aW9uDQo+ICAgICAgICAgKiBzb2NrZXQt bGF5ZXIgcGFjaW5nIHZpYSBTT19NQVhfUEFDSU5HX1JBVEUNCj4gICAgICAgICAqIHRva2VuLWJ1 Y2tldCB3cml0ZS1yYXRlIGNvbnRyb2wNCj4gICAgICAgICAqIE1hcmtvdi1jaGFpbiBwYWNrZXQt c2l6ZSBnZW5lcmF0aW9uDQo+ICAgICAgICAgKiBVRFAgbGF0ZW5jeS9qaXR0ZXIgYW5hbHlzaXMN Cj4gICAgICAgICAqIG11bHRpY2FzdCB0ZXN0aW5nDQo+DQo+IFRob3NlIG1lYXN1cmVtZW50cyBv cGVyYXRlIGFib3ZlIHRoZSA4MDIuMTEgTUFDL1BIWS4gVGhlIG1pc3NpbmcgbGF5ZXINCj4gcmVt YWlucyBvcGVuIDgwMi4xMSBNQUMvUEhZIHRlbGVtZXRyeSwgd2hpY2ggaXMgd2hhdCBJJ20gYnVp bGRpbmcgbm93Lg0KPg0KPiBUaGlzIG1lYXN1cmVtZW50IHN0YW5kYXJkIHNob3VsZCBhcHBseSBl cXVhbGx5IHRvIGFueSBjbGFpbSBmcm9tIGFueQ0KPiBhcmNoaXRlY3R1cmUsIGluY2x1ZGluZyBG aS1XaS4NCj4NCj4gVGhlIHF1ZXN0aW9uIGJlY29tZXM6IGRvZXMgY2VudHJhbGl6ZWQgTUFDIHRl bGVtZXRyeSBhbmQgY29vcmRpbmF0ZWQNCj4gYWlydGltZSBjb250cm9sIGFmZmVjdCBtZWFzdXJh YmxlIDgwMi4xMSBNQUMvUEhZIGJlaGF2aW9yIHVuZGVyIGxvYWQNCj4gcmVsYXRpdmUgdG8gYXV0 b25vbW91cyBBUCBvcGVyYXRpb24/DQo+DQo+IE1lYXN1cmUgdGhlIHNhbWUgTUFDL1BIWSBtZXRy aWNzIHVuZGVyIGVxdWl2YWxlbnQgdG9wb2xvZ3ksIG9mZmVyZWQNCj4gbG9hZCwgYW5kIGNsaWVu dCBtaXguIElmIHRob3NlIG1lYXN1cmVtZW50cyBkbyBub3QgaW1wcm92ZSByZWxhdGl2ZSB0bw0K PiBiYXNlbGluZSwgdGhlIGFyY2hpdGVjdHVyYWwgY2xhaW0gb2YgRmktV2kgZmFpbHMuIFdlIHdv bid0IGtub3cgdW50aWwNCj4gRmktV2kgaXMgZGVzaWduZWQsIGJ1aWx0LCBkZXBsb3llZCBhbmQg bWVhc3VyZWQgYXQgbWFueSBkaWZmZXJlbnQNCj4gbG9jYXRpb25zLiBUaGUgdGhlb3JldGljYWwg Y2FzZSBpcyBzdHJvbmcuICBDZW50cmFsaXplZCBzY2hlZHVsaW5nLA0KPiBqb2ludCBvcHRpbWl6 YXRpb24sIGFuZCBvYnNlcnZhYmlsaXR5IGFsbCBhcmd1ZSBmb3IgaXQuIFRoZSBkZXNpZ24gYW5k DQo+IG1lYXN1cmVtZW50cyBhcmUgdGhlIG5leHQgc3RlcHMuIFRoZW4gd2UnbGwgc2VlIGJhc2Vk IG9uIGV2aWRlbmNlLg0KPg0KPiBCb2INCj4NCj4gPiBUZWNobmljYWxseSwgQmV0YW1heCB3YXMg c3VwZXJpb3IgdG8gVkhTLCBhbmQgeWV0Li4uDQo+ID4NCj4gPiBJZiB3ZSB3b3VsZCBiZSB0YWxr aW5nIGFib3V0IEZpV2kgcHJlLWp1bXAgZnJvbSBXaS1GaSA1IHRvIFdpLUZpNi9FLzcsDQo+ID4g SSB3b3VsZCBldmVuIHRyeSB0byBkbyBteSBiZXN0IGFuZCBpZ25vcmUgaHR0cHM6Ly9mYXN0Z29v ZC5jaGVhcC4NCj4gPiBCdXQgd2UgYXJlIG5vdCB0aGVyZSwgZm9yIGJldHRlciBvciBmb3Igd29y c2UuDQo+ID4NCj4gPiBJU1BzIGxpa2UgRGFuIHRoYXQgdXNlIFdpLUZpIDYgKHdpdGggbWVzaCwg ZXNwZWNpYWxseSBiYXNlZCBvbg0KPiA+IGJhdG1hbi1hZHYgYW5kIEZRLUNvRGVsIC8gQ0FLRSkg YW5kIGFib3ZlIGF0IGN1c3RvbWVyIHByZW1pc2VzIGFuZA0KPiA+IFF1YWxpdHkgb2YgRXhwZXJp ZW5jZSBtaWRkbGUtYm94IG9uIHRoZWlyIGxhc3QtbWlsZSwgd2hpbGUgcHJvdmlkaW5nDQo+ID4g Z29vZCwgcGVyc29uYWwgY3VzdG9tZXIgc2VydmljZSAobm90IHNvbWUgY3JhcHB5IG91dHNvdXJj aW5nIG9mIGl0IHRvDQo+ID4gSW5kaWEgb3IgIkFJIikgd2lsbCBiZSBoYXJkIHRvIGJlYXQsIGV2 ZW4gZm9yIGEgYmlnIHRlbGNvL0lTUCBvZmZlcmluZw0KPiA+IGNoZWFwZXIgcHJpY2UuIFllcywg c29tZSBwZW9wbGUgd2lsbCBsZWF2ZSBidXQgdGhlIG1vc3Qgb2YgdGhlbSB3aWxsIGJlDQo+ID4g Y29taW5nIGJhY2suDQo+ID4NCj4gPiBUaGlzIGlzLCBiZWxpZXZlIGl0IG9yIG5vdCwgbm90IGEg aGlnaCBiYXIgdG8ganVtcCBvdmVyLCBldmVuIHRob3VnaA0KPiA+IG5vdCBtYW55IElTUHMgYXJl IGdldHRpbmcgaXQgYWxyZWFkeS4gV2UgYWxsIGtub3cgdGhhdCBtb3JlIG9yIGxlc3M6DQo+ID4g IkJhbmR3aWR0aCBpcyBhIGxpZSwgQmFuZHdpZHRoIGlzIGRlYWQsIiBzbyBpdCdzIGNvbWluZy4g VGhleSB3aWxsIGJlDQo+ID4gdGhyb3dpbmcgbW9yZSBiYW5kd2lkdGggb24gaXQgZm9yIHNvbWUg dGltZSwgYnV0IHdlIHdpbGwgYmUgZ2V0dGluZw0KPiA+IGZyb20gImlubm92YXRvcnMiIHRvICJl YXJseSBhZG9wdGVycyIgc29vbiBhbmQgdGhlbiwgYWxsIHdlIG5lZWQgaXMNCj4gPiBqdXN0IHRo YXQgImNyb3NzaW5nIHRoZSBjaGFzbS4iDQo+ID4NCj4gPiBEZXNwaXRlIGFsbCB0aGUgZGlmZmlj dWx0aWVzLCBpdCB3aWxsIGJlIGZhc3RlciBhbmQgY2hlYXBlciAtIGFsc28NCj4gPiAiZ29vZCBl bm91Z2gsIiB0aGFuIEZpV2kuIE9yIHJhdGhlciwgaXQncyBoZXJlIGFscmVhZHksIGl0J3MganVz dCBub3QNCj4gPiBldmVubHkgZGlzdHJpYnV0ZWQuDQo+ID4gVGhlcmUgbWlnaHQgYmUgc29tZSBn b29kIG5pY2hlIHVzZSBjYXNlIGZvciBGaVdpLCB0aG91Z2gsIG9uY2UgaXQgd2lsbA0KPiA+IG1h dHVyZSBhbmQgZ2V0IHRoZXJlLg0KPiA+DQo+ID4gQWxsIHRoZSBiZXN0LA0KPiA+DQo+ID4gRnJh bmsNCj4gPg0KPiA+IEZyYW50aXNlayAoRnJhbmspIEJvcnNpaw0KPiA+DQo+ID4gSW4gbG92aW5n IG1lbW9yeSBvZiBEYXZlIFTDpGh0OiAxOTY1LTIwMjUNCj4gPg0KPiA+IGh0dHBzOi8vbGlicmVx b3MuaW8vMjAyNS8wNC8wMS9pbi1sb3ZpbmctbWVtb3J5LW9mLWRhdmUvDQo+ID4NCj4gPiBodHRw czovL3d3dy5saW5rZWRpbi5jb20vaW4vZnJhbnRpc2VrYm9yc2lrDQo+ID4NCj4gPiBTaWduYWws IFRlbGVncmFtLCBXaGF0c0FwcDogKzQyMTkxOTQxNjcxNA0KPiA+DQo+ID4gaU1lc3NhZ2UsIG1v YmlsZTogKzQyMDc3NTIzMDg4NQ0KPiA+DQo+ID4gU2t5cGU6IGNhc2lvYTUzMDJjYQ0KPiA+DQo+ ID4gZnJhbnRpc2VrLmJvcnNpa0BnbWFpbC5jb20NCj4gPg0KPiA+IE9uIFN1biwgTWF5IDI0LCAy MDI2IGF0IDI6MTLigK9BTSBkYW4gPGRhbmRlbnNvbkBnbWFpbC5jb20+IHdyb3RlOg0KPiA+DQo+ ID4gT24gU2F0LCBNYXkgMjMsIDIwMjYgYXQgMTA6MzbigK9BTSA8Ym9iLm1jbWFob25AdW1iZXJu ZXR3b3Jrcy5jb20+IHdyb3RlOg0KPiA+DQo+ID4+IEkgZG9uJ3QgaGF2ZSBhcmd1bWVudHMgb24g dGhlIHRlY2huaWNhbCBiaXRzIG9mIHlvdXIgcmVwbHkuDQo+ID4NCj4gPiBUaGUgaW5kdXN0cnkg aGFzbid0IHByb3ZpZGVkIG9wZW4gc291cmNlIHRvb2xzIHRvIGFuYWx5emUgODAyLjExDQo+ID4g cHJvcGVybHkuIFRoZSBwcm9wcmlldGFyeSBvbmVzIGFyZSB0aWdodGx5IGNvdXBsZWQgdG8gY2hp cCBmaXJtd2FyZSwNCj4gPiBvd25lZCBieSA4MDIuMTEgdmVuZG9ycywgYW5kIG5vdCBmb3Igc2Fs ZS4NCj4gPg0KPiA+IFlvdSd2ZSBidWlsdCBzb2xpZCBuZXR3b3JrcywgZXNwZWNpYWxseSBnaXZl biBob3cgbGl0dGxlIDgwMi4xMQ0KPiA+IE1BQy1sYXllciBhbmQgTUNTIG9ic2VydmFiaWxpdHkg Y3VycmVudCB0b29saW5nIGV4cG9zZXMuIEkgaG9wZSB0byBtYWtlDQo+ID4gb3BlbiBzb3VyY2Ug ODAyLjExIE1BQyB0ZWxlbWV0cnkgdG9vbHMgYXZhaWxhYmxlIHNvb25lciByYXRoZXIgdGhhbg0K PiA+IGxhdGVyLiBUaGVzZSB3aWxsIHJ1biBvbiBib3RoIGFuIEVTUDMyLUM1IGFuZCBhbiBSUGk1 LiBUaGUgaW5leHBlbnNpdmUNCj4gPiBFU1AzMiBhbGxvd3MgbW9uaXRvcnMgdG8gYmUgcGxhY2Vk IHRocm91Z2hvdXQgYSB2ZW51ZSBhdCBsb3cgY29zdC4NCj4gPg0KPiA+IEEga2V5IGlzc3VlIGlz IHdoYXQncyBiZWluZyBtZWFzdXJlZC4gWW91ciBkZXBsb3ltZW50IGRhdGEgaXMgYQ0KPiA+IGNh cGFjaXR5IGFuYWx5c2lzLiBPbmNlIGJhc2VsaW5lIGNhcGFjaXR5IGlzIGFkZXF1YXRlLCB1c2Vy IGV4cGVyaWVuY2UNCj4gPiBpcyBkcml2ZW4gYnkgdGFpbCBsYXRlbmN5IGFuZCBzZXJ2aWNlLXRp bWUgdmFyaWFuY2UgcmF0aGVyIHRoYW4NCj4gPiB0aHJvdWdocHV0LiBBIG5ldHdvcmsgY2FuIHNh dHVyYXRlIGFnZ3JlZ2F0ZSB0aHJvdWdocHV0IHdoaWxlIHN0aWxsDQo+ID4gc2hvd2luZyBsYXJn ZSBzZXJ2aWNlLXRpbWUgdmFyaWFuY2UgYW5kIGxvbmcgcGVyLWZsb3cgdGFpbHMgdW5kZXINCj4g PiBjb250ZW50aW9uLiBUaGVzZSBhcmUgZGlmZmVyZW50IG1lYXN1cmVtZW50cy4NCj4gPg0KPiA+ IEFuZCBDT0RFTCBhbmQgQ0FLRSBhcmUgSVAtbGF5ZXIgbWVjaGFuaXNtcy4gVGhleSBkb24ndCBv cGVyYXRlIG9uDQo+ID4gODAyLjExIFRYT1BzIG9yIGFpcnRpbWUgc29qb3Vybiwgd2hpY2ggaXMg d2hlcmUgdGhlIGNvbnRlbnRpb24gYW5kDQo+ID4gc2VydmljZS10aW1lIHZhcmlhbmNlIGFjdHVh bGx5IGxpdmUuIEFRTCBpcyBjbG9zZXIuIEl0IG9wZXJhdGVzIG9uDQo+ID4gYWlydGltZSBhdCB0 aGUgZHJpdmVyL2Zpcm13YXJlIGJvdW5kYXJ5LCBidXQgaXQncyBzdGlsbCBwZXItQVAuIFRoZXJl J3MNCj4gPiBubyBjb29yZGluYXRpb24gYWNyb3NzIEFQcyBhbmQgbm8gTUFDIHRlbGVtZXRyeSBl eHBvc2VkIHVwd2FyZC4NCj4gPg0KPiA+IFNsaWRlIDYgb2YgbXkgRFBESyBTdW1taXQgU3RvY2to b2xtIHRhbGsgbGF5cyBvdXQgdGhlIGxheWVyaW5nOg0KPiA+IGh0dHBzOi8vd3d3LnVtYmVybmV0 d29ya3MuY29tL0RQREtfV2lGaV9TdG9ja2hvbG1fUHJlcy5odG1sDQo+ID4NCj4gPiBDaGVjayBv dXQgaXBlcmYyJ3MgYWR2YW5jZWQgZmVhdHVyZXMgYXJvdW5kIC0tYm91bmNlYmFjaywgLS10cmlw LXRpbWVzLA0KPiA+IGFuZCAtLWhpc3RvZ3JhbXMuIFRoZXNlIGFyZSBhdmFpbGFibGUgYXMgb3Bl biBzb3VyY2UuIE1hbiBwYWdlOg0KPiA+IGh0dHBzOi8vaXBlcmYyLnNvdXJjZWZvcmdlLmlvL2lw ZXJmLW1hbnBhZ2UuaHRtbA0KPiA+DQo+ID4gSSdsbCB0cnkgdG8gcmVzcG9uZCB3aXRoIHNvbWUg bWV0cmljcyBzb29uLiBNeSByaWcgaXMgZG93biBhdCB0aGUNCj4gPiBtb21lbnQsIHNvIGdpdmUg bWUgYSBmZXcgZGF5cy4NCj4gPg0KPiA+IEJvYg0KPiA+DQo+ID4gSSBhZ3JlZS4gIEhvd2V2ZXIs IEknbSBub3QgYWN0dWFsbHkganVzdCBtZWFzdXJpbmcgdGhyb3VnaHB1dCwgYnV0DQo+ID4gcnVu bmluZyBsYXRlbmN5IHNlbnNpdGl2ZSBhcHBsaWNhdGlvbnMgd2l0aG91dCBpc3N1ZXMuICBGcmFu ayBtaWdodA0KPiA+IGF0dGVzdCB0byBteSBlZmZvcnRzIHRvIHJlZHVjZSBsYXRlbmN5IGFuZCBJ IHJvdXRpbmVseSBzaGFyZSBkYXRhIG9uDQo+ID4gbHFvcyAoYW5kIGFub3RoZXIgUW9FIHByb2R1 Y3QncykgVENQIG1lYXN1cmVtZW50cyBmb3IgbGF0ZW5jeSBhbmQgYW1vbmcNCj4gPiBRb0UgdXNl cnMsIEkgYmVsaWV2ZSBteSBuZXR3b3JrIGlzIHRvcCAxJSBpbiBsYXRlbmN5IGFuZCBqaXR0ZXIg YW5kIGluDQo+ID4gdGhlIFdJU1Agc3BhY2UuICBPYnZpb3VzbHkgSSdtIG5vdCBnb2luZyB0byBj b21wZXRlIHdpdGggWEdTUE9ODQo+ID4gb3BlcmF0b3JzLi4gKHRob3VnaCBJJ20gb25seSBtZWFz dXJpbmcgVENQIGJlY2F1c2UgdGhhdCdzIHRoZSAnZWFzaWVzdCcNCj4gPiB0byBtZWFzdXJlIHBh c3NpdmVseSBwcmFjdGljYWxseSkuICBXaGlsZSB0aGlzIGlzIG5vdCBhbiBlbmdpbmVlcmluZw0K PiA+IGFkZXF1YXRlIGJlbmNobWFyaywgaWYgbXkgVm9JUCBoYW5kc2V0cyB3b3JrIG92ZXIgd2ly ZWxlc3MgdGhlbiB0aGUNCj4gPiB3aXJlbGVzcyBpcyBnb29kIGlzIGEgdmVyeSByZWFzb25hYmxl IGxhdGVuY3ksIGppdHRlciwgbG9zcyBhcmd1bWVudC4NCj4gPiBBbmQgSSBydW4gYSBmZXcgYnJh bmRzIG9mIFdpRmkgYmFzZWQgVm9JUCBwaG9uZXMgKEZhbnZpbGwgV3h4eCBzZXJpZXMsDQo+ID4g WWVhbGluayBXeHggYW5kIEFYeHggc2VyaWVzKS4gIFNpbWlsYXJseSwgaWYgdGhlIHNvbm9zIHdv cmtzIGFuZCBpcyBpbg0KPiA+IHN5bmMsIHRoZSB3aWZpIGlzIGdvb2QuDQo+ID4NCj4gPiBBcyBh IHNlcnZpY2UgY29tcGFueSBhbmQgYXMgYSB1c2VyLCBJIGRvbid0IHJlYWxseSBjYXJlIHNvIG11 Y2ggd2hlcmUNCj4gPiB0aGUgZ29vZG5lc3MgaXMgaW4gdGhlIHN5c3RlbSwgbWFjIGxheWVyIG9y IElQIGhhdmluZyBjYWtlIHdvcmsgaXQncw0KPiA+IG1hZ2ljLiAgQmFzaWNhbGx5IHJ1bm5pbmcg YW4gQVAgb24gT0ZNREEgKGFzIG11Y2ggYXMgcG9zc2libGUpIGFuZCB3ZWxsDQo+ID4gdW5kZXIg dGhlICdyZWQgbGluZScgY2FwYWNpdHkgZGVsaXZlcnMgZ3JlYXQgcmVzdWx0cyBvbiBXaUZpNyBy YWRpb3MNCj4gPiAoYW5kIHNvbWUgV2lGaTYgcmFkaW9zKS4gIEkgaGF2ZSBubyBkb3VidCB0aGF0 IEZpV2kgY291bGQgZ2V0IG1vcmUgb2YNCj4gPiB0aGUgdGhlb3JldGljYWwgdGhyb3VnaHB1dCBk ZWxpdmVyZWQgYXQgdGhlIG1hYyBsYXllci4NCj4gPg0KPiA+IERlbGl2ZXJhYmxlcyBhcmUgYWxs IHRoYXQgbWF0dGVyIHRvIG1lIGFuZCBJIHRoaW5rIHRvIGJ1eWVycyBhbmQgdXNlcnMuDQo+ID4g IEJlbmNobWFya3MgdGVzdCBkZWxpdmVyYWJsZXMgd2hpY2ggaXMgZ3JlYXQgYW5kIEknbSBhIHJv dXRpbmcgaXBlcmYqDQo+ID4gdXNlci4gIEl0J3MgZW5naW5lZXJpbmcncyBwcm9ibGVtIHRvIGRl dmVsb3AgdGhlIG5leHQgdGVjaCAqQU5EKg0KPiA+IHNvbGljaXQgZnVuZGluZyB0byBkbyBzby4N Cj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+DQo+IFN1YmplY3Q6IERpZ2Vz dCBGb290ZXINCj4NCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18NCj4gQ2FrZSBtYWlsaW5nIGxpc3QgLS0gY2FrZUBsaXN0cy5idWZmZXJibG9hdC5uZXQN Cj4gVG8gdW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBjYWtlLWxlYXZlQGxpc3RzLmJ1ZmZl cmJsb2F0Lm5ldA0KPg0KPg0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4NCj4g RW5kIG9mIENha2UgRGlnZXN0LCBWb2wgMTI4LCBJc3N1ZSAxMA0KPiAqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqDQo+DQo=