Re: [Csnd-dev] CSOUND-DEV Digest - 30 Jun 2026 to 5 Jul 2026 (#2026-37)
James Hearon <[email protected]> Wed, 8 Jul 2026 17:15:00 +0000
| Newsgroups | gmane.comp.audio.csound.devel |
|---|---|
| Message-ID | <CY8PR14MB5979DC72FD9B4F89B9574FE5E5FF2@CY8PR14MB5979.namprd14.prod.outlook.com> |
--_000_CY8PR14MB5979DC72FD9B4F89B9574FE5E5FF2CY8PR14MB5979namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 cmU6IGNzb3VuZC5jaGFubmVsX3B0cg0KWWVzLCB0aGUgaW5mbyBpZiBoZWxwZnVsIGFuZCBpbnNp Z2h0ZnVsLiAgRm9yIHB5dGhvbiBhcGkgSSBjb3VsZCBub3QgZ2V0IG5vdCBnZXQgY3NvdW5kLnBl cmZvcm1fa3NtcHMoKSB0byBzaG93DQp0aGUgY2huc2V0IGFycmF5IGRhdGEgYXMgeW91IGRpZCwg YnV0IHVzaW5nIGNzb3VuZC5hcnJheV9kYXRhIEkgY2FuIGdldCB0aGUgZGF0YSBhbmQgcHJpbnQg aXQuDQoNCkkgYWxzbyB0cmllZCB1c2luZyB0aGUgYyBhcGksIGFuZCBvZGRseSBjc291bmRQZXJm b3JtS3NtcHMoY3NvdW5kKSBzaG93cyB0aGUgY2huc2V0IGRhdGEsIGJ1dCBzdGlsbCBzdHJ1Z2ds aW5nDQp0byBnZXQgdGhlIGFycmF5IGRhdGEgZGlyZWN0bHkgdXNpbmcgICBBUlJBWURBVCAqYXJy YXlEYXRhID0gKEFSUkFZREFUICopIGNoYW5uZWxQdHIsIGFuZCBmaW5kIGNvcnJlY3QgY2FzdGlu ZyBmb3INCmNzb3VuZEdldEFycmF5RGF0YShhcnJheURhdGEpIHRvIGdldCBpdCBpbnRvIGEgYyBh cnJheSBmb3IgcHJpbnRpbmcuDQoNCk9kZCBob3cgdGhlIHN0dWNrIGJpdHMgYXJlIHJldmVyc2Vk Lg0KDQp0aGFua3MsDQpKaW0NCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9t OiBDc291bmQtZGV2ZWxvcGVycyA8Q1NPVU5ELURFVkBMSVNUU0VSVi5IRUFORVQuSUU+IG9uIGJl aGFsZiBvZiBDU09VTkQtREVWIGF1dG9tYXRpYyBkaWdlc3Qgc3lzdGVtIDxMSVNUU0VSVkBMSVNU U0VSVi5IRUFORVQuSUU+DQpTZW50OiBTdW5kYXksIEp1bHkgNSwgMjAyNiAxOjAwIFBNDQpUbzog Q1NPVU5ELURFVkBMSVNUU0VSVi5IRUFORVQuSUUgPENTT1VORC1ERVZATElTVFNFUlYuSEVBTkVU LklFPg0KU3ViamVjdDogQ1NPVU5ELURFViBEaWdlc3QgLSAzMCBKdW4gMjAyNiB0byA1IEp1bCAy MDI2ICgjMjAyNi0zNykNCg0KVGhlcmUgYXJlIDIgbWVzc2FnZXMgdG90YWxpbmcgMTI4OCBsaW5l cyBpbiB0aGlzIGlzc3VlLg0KDQpUb3BpY3Mgb2YgdGhlIGRheToNCg0KICAxLiBjdGNzb3VuZCwg YXBpIGNoYW5uZWxfcHRyICgyKQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCkRhdGU6ICAgIFNhdCwgNCBK dWwgMjAyNiAyMzoxNDoyMiArMDAwMA0KRnJvbTogICAgSmFtZXMgSGVhcm9uIDxqX2hlYXJvbkBI T1RNQUlMLkNPTT4NClN1YmplY3Q6IGN0Y3NvdW5kLCBhcGkgY2hhbm5lbF9wdHINCg0KRW5qb3lp bmcgbG9va2luZyBhdCBjaGFuZ2VzIHRvIGNzb3VuZDcgc2luY2UgY3NvdW5kNi4gIFRyeWluZyBz b21lIG9mIHRoZSBuZXcgYXJyYXkgZmVhdHVyZXMsIGJ1dCBhIGJpdCBzdHVjayBvbiBnZXR0aW5n IGEgQVJSQVlEQVRfcCByZXR1cm5lZCBmcm9tDQpjdGNzb3VuZC4gIEknbSBub3Qgc3VyZSBJJ20g Z29pbmcgYWJvdXQgaXQgdGhlIHJpZ2h0IHdheSwgdXNpbmcgY2hhbm5lbF9wdHIgdG8gZGlyZWN0 bHkgcmV0cmlldmUgY2huc2V0IGFycmF5IGRhdGEgZnJvbSBjc2QuDQrigILigILigILigIIgIC4u Li4NCiAgICAgICAgICAgIHJlc3VsdCA9IGNzLmNvbXBpbGVfY3NkKCdhcnJheWRhdC5jc2QnLCAw KQ0K4oCC4oCC4oCC4oCCICAuLi4uDQogICAgICAgICAgICBwdHIsIF8gPSBjc291bmQuY2hhbm5l bF9wdHIoInB5dGhvbl9hcnJheV9jaGFubmVsIiwgY3Rjc291bmQuQ1NPVU5EX0FSUkFZX0NIQU5O RUwgfCBjdGNzb3VuZC5DU09VTkRfT1VUUFVUX0NIQU5ORUwpDQogICAgICAgICAgICBwcmludCgi cHRyIHR5cGU6IiwgdHlwZShwdHIpKQ0KDQpTZWVtcyB0byBldmVyIG9ubHkgcmV0dXJuOiBjdHlw ZXMuY192b2lkX3AsIHRoZSBwdnMgdHlwZSBpbnN0ZWFkIG9mIGFuIG5kYXJyYXkNCg0KICAgIC4u LmZyb20gY3Rjc291bmQNCiAgICBkZWYgY2hhbm5lbF9wdHIoc2VsZiwgbmFtZSwgdHlwZV8pOg0K ICAgICAgICAjR2V0IGEgcG9pbnRlciB0byB0aGUgc3BlY2lmaWVkIGNoYW5uZWwgYW5kIGFuIGVy cm9yIG1lc3NhZ2UuDQoNCiAgICAgICAgbGVuZ3RoID0gMSAgIyBkZWZhdWx0IGJ1ZiBsZW5ndGgg Zm9yIENTT1VORF9DT05UUk9MX0NIQU5ORUw6DQogICAgICAgIHB0ciA9IGN0LmNfdm9pZF9wKCkN CiAgICAgICAgY2hhbl90eXBlID0gdHlwZV8gJiBDU09VTkRfQ0hBTk5FTF9UWVBFX01BU0sNCiAg ICAgICAgZXJyID0gJycNCiAgICAgICAgcmV0ID0gbGliY3NvdW5kLmNzb3VuZEdldENoYW5uZWxQ dHIoc2VsZi5jcywgY3QuYnlyZWYocHRyKSwgY3N0cmluZyhuYW1lKSwgdHlwZV8pDQogICAgICAg IGlmIHJldCA9PSBDU09VTkRfU1VDQ0VTUzoNCiAgICAgICAgICAgIGlmIGNoYW5fdHlwZSA9PSBD U09VTkRfU1RSSU5HX0NIQU5ORUw6DQogICAgICAgICAgICAgICAgcmV0dXJuIGN0LmNhc3QocHRy LCBTVFJJTkdEQVRfcCksIGVycg0KICAgICAgICAgICAgZWxpZiBjaGFuX3R5cGUgPT0gQ1NPVU5E X0FSUkFZX0NIQU5ORUw6DQogICAgICAgICAgICAgICAgcmV0dXJuIGN0LmNhc3QocHRyLCBBUlJB WURBVF9wKSwgZXJyDQogICAgICAgICAgICBlbGlmIGNoYW5fdHlwZSA9PSBDU09VTkRfUFZTX0NI QU5ORUw6DQogICAgICAgICAgICAgICAgcmV0dXJuIGN0LmNhc3QocHRyLCBQVlNEQVRfcCksIGVy cg0KICAgICAgICAgICAgZWxpZiBjaGFuX3R5cGUgPT0gQ1NPVU5EX0FVRElPX0NIQU5ORUw6DQog ICAgICAgICAgICAgICAgbGVuZ3RoID0gbGliY3NvdW5kLmNzb3VuZEdldEtzbXBzKHNlbGYuY3Mp DQogICAgICAgICAgICBhcnJheV90eXBlID0gbnAuY3R5cGVzbGliLm5kcG9pbnRlcihNWUZMVCwg MSwgKGxlbmd0aCwpLCAnQ19DT05USUdVT1VTJykNCiAgICAgICAgICAgIHAgPSBjdC5jYXN0KHB0 ciwgYXJyYXlfdHlwZSkNCiAgICAgICAgICAgIHJldHVybiBhcnJheV9mcm9tX3BvaW50ZXIocCks IGVycg0KPT09PT09PT09PT09PT09PT09PT0NCmFycmF5ZGF0LmNzZA0KDQo8Q3NvdW5kU3ludGhl c2l6ZXI+DQo8Q3NPcHRpb25zPg0KLWNzb3VuZCAtcyAtZCAtK3J0YXVkaW89QUxTQSAtb2RldmF1 ZGlvIC1iMTAyNCAtQjEwMjQNCjwvQ3NPcHRpb25zPg0KPENzSW5zdHJ1bWVudHM+DQpzciAgICAg PSA0ODAwMA0Ka3NtcHMgPSAzMg0KbmNobmxzID0gMg0KMGRiZnMgPSAxDQoNCmdpX2FycmF5X3Np emUgaW5pdCAxMDI0DQoNCmluc3RyIDENCiAga19pbmRleCBpbml0IDANCiAga190cmlnZ2VyIGlu aXQgMQ0KICBrX291dF9hcnJheVtdIGluaXQgZ2lfYXJyYXlfc2l6ZQ0KDQogIDsgR2VuZXJhdGUg c29tZSBkYXRhIChlLmcuLCBzaW5lIHdhdmUgdmFsdWVzKQ0KICBrX3ZhbCBvc2NpbGkgMSwgMQ0K DQogIDsgRmlsbCB0aGUgYXJyYXkNCiAga19vdXRfYXJyYXlba19pbmRleF0gPSBrX3ZhbA0KICBr X2luZGV4ICs9IDENCg0KICBrY250IGluaXQgMA0KDQogIGlmIGtfaW5kZXggPT0gZ2lfYXJyYXlf c2l6ZSB0aGVuDQogICAgICBjaG5zZXQga19vdXRfYXJyYXksICJweXRob25fYXJyYXlfY2hhbm5l bCINCiAgICBrX2luZGV4ID0gMA0KDQogICAgICAgIDt0ZXN0IHByaW50IHNvbWUgYXJyYXkgY29u dGVudHMNCiAgICAgICAgO3doaWxlIGtjbnQgPCAxMCBkbw0KICAgICAgICA7cHJpbnRrczIgIiVm XG4iLCBrX291dF9hcnJheVtrY250XQ0KICAgICAgICA7a2NudCArPTENCiAgICAgICAgO29kDQoN CiAgZW5kaWYNCmVuZGluDQoNCiBpbnN0ciAyOyBnZXQgay12YWx1ZXMgYXMgcHJvb2Ygd29ya2lu Zw0KICAgICBrY250IGluaXQgMA0KICAgIGtfb3V0X2FycmF5W10gaW5pdCBnaV9hcnJheV9zaXpl DQoNCiAgICBrVmFsc1tdIGNobmdldGsgInB5dGhvbl9hcnJheV9jaGFubmVsIg0KDQogICAgICB3 aGlsZSBrY250IDwgMTAgZG8NCiAgICAgICAgcHJpbnRrczIgIiVmXG4iLCBrVmFsc1trY250XQ0K ICAgICAgICBrY250ICs9MQ0KICAgICAgIG9kDQoNCiAgICA7aWYgbWV0cm8oMSkgPT0gMSB0aGVu DQogICAgICAgIDtwcmludGFycmF5IGtWYWxzLCAxDQogICAgO2VuZGlmDQoNCmVuZGluDQoNCjwv Q3NJbnN0cnVtZW50cz4NCjxDc1Njb3JlPg0KaSAxIDEgMg0KO2kgMiAyIDINCjwvQ3NTY29yZT4N CjwvQ3NvdW5kU3ludGhlc2l6ZXI+DQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K DQpEYXRlOiAgICBTdW4sIDUgSnVsIDIwMjYgMjI6MDM6NTggKzAyMDANCkZyb206ICAgIEZyYW5j b2lzIFBJTk9UIDxmZ2dwaW5vdEBHTUFJTC5DT00+DQpTdWJqZWN0OiBSZTogY3Rjc291bmQsIGFw aSBjaGFubmVsX3B0cg0KDQpUaGUgY2hhbm5lbF9wdHIgbWV0aG9kIHJldHVybnMgYW4gb3BhcXVl IHBvaW50ZXIgdG8gb25lIG9mIHRoZSBkYXRhDQpzdHJ1Y3R1cmVzIGRlc2NyaWJpbmcgdGhlIHR5 cGUgb2YgdGhlIGRhdGEgaW4gdGhlIGNoYW5uZWwuIFRoaXMgcG9pbnRlciBjYW4NCnRoZW4gYmUg dXNlZCBhcyBhbiBhcmd1bWVudCB0byB0aGUgZGlmZmVyZW50IGFjY2VzcyBtZXRob2RzIGZvciBn ZXR0aW5nIHRoZQ0KY2hhbm5lbCBmZWF0dXJlcyBhbmQvb3IgZGF0YS4NCg0KSGVyZSBpcyBhIHB5 dGhvbiBzY3JpcHQgd2l0aCB5b3VyIGNzZDoNCg0KYXJyYXlkYXQuY3NkOg0KDQo8Q3NvdW5kU3lu dGhlc2l6ZXI+DQo8Q3NPcHRpb25zPg0KLXMgLWQgLStydGF1ZGlvPUFMU0EgLW9kZXZhdWRpbyAt YjEwMjQgLUIxMDI0DQo8L0NzT3B0aW9ucz4NCjxDc0luc3RydW1lbnRzPg0Kc3IgPSA0ODAwMA0K a3NtcHMgPSAzMg0KbmNobmxzID0gMg0KMGRiZnMgPSAxDQoNCmFycmF5X3NpemVAZ2xvYmFsOmkg PSBpbml0KDEwMjQpDQoNCmluc3RyIDENCm5keDprID0gaW5pdCgwKQ0KO3RyaWc6ayA9IGluaXQo MSkNCm91dF9hcnJheTprW10gPSBpbml0KGFycmF5X3NpemUpDQovLyBHZW5lcmF0ZSBzb21lIGRh dGEgKGUuZy4sIHNpbmUgd2F2ZSB2YWx1ZXMpDQp2YWw6ayA9IG9zY2lsaSgxLCAxKQ0KOyBGaWxs IHRoZSBhcnJheQ0Kb3V0X2FycmF5W25keF0gPSB2YWwNCm5keCArPSAxDQpjbnQ6ayA9IGluaXQo MCkNCmlmIG5keCA9PSBhcnJheV9zaXplIHRoZW4NCmNobnNldChvdXRfYXJyYXksICJweXRob25f YXJyYXlfY2hhbm5lbCIpDQpuZHggPSAwDQovLyB0ZXN0IHByaW50IHNvbWUgYXJyYXkgY29udGVu dHMNCndoaWxlIGNudCA8IDEwIGRvDQpwcmludGtzMigiJWZcbiIsIG91dF9hcnJheVtjbnRdKQ0K Y250ICs9MQ0Kb2QNCmVuZGlmDQplbmRpbg0KaW5zdHIgMiAvLyBnZXQgay12YWx1ZXMgYXMgcHJv b2Ygd29ya2luZw0KY250OmsgaW5pdCAwDQpvdXRfYXJyYXk6a1tdID0gaW5pdChhcnJheV9zaXpl KQ0KDQp2YWxzOmtbXSA9IGNobmdldGsoInB5dGhvbl9hcnJheV9jaGFubmVsIikNCg0Kd2hpbGUg Y250IDwgMTAgZG8NCnByaW50a3MyKCIlZlxuIiwgdmFsc1tjbnRdKQ0KY250ICs9MQ0Kb2QNCjtp ZiBtZXRybygxKSA9PSAxIHRoZW4NCjsgcHJpbnRhcnJheSh2YWxzLCAxKQ0KO2VuZGlmDQplbmRp bg0KDQo8L0NzSW5zdHJ1bWVudHM+DQo8Q3NTY29yZT4NCmkgMSAxIDINCjtpIDIgMiAyDQo8L0Nz U2NvcmU+DQo8L0Nzb3VuZFN5bnRoZXNpemVyPg0KDQoNCg0KYXJyYXlkYXQucHk6DQoNCmltcG9y dCBjdGNzb3VuZA0KDQpjcyA9IGN0Y3NvdW5kLkNzb3VuZCgpDQpjcy5zdGFydCgpDQpyZXMgPSBj cy5jb21waWxlX2NzZCgiYXJyYXlkYXQuY3NkIiwgMCkNCmlmIHJlcyA9PSAwOg0KY3MuZXZlbnRf c3RyaW5nKCJpMSAwIDEiLCAwKQ0KY3MucGVyZm9ybV9rc21wcygpDQpwdHIsIGVyciA9IGNzLmNo YW5uZWxfcHRyKCJweXRob25fYXJyYXlfY2hhbm5lbCIsDQpjdGNzb3VuZC5DU09VTkRfQVJSQVlf Q0hBTk5FTCB8DQpjdGNzb3VuZC5DU09VTkRfT1VUUFVUX0NIQU5ORUwpDQppZiBlcnIgPT0gJyc6 DQpkaW0gPSBjcy5hcnJheV9kYXRhX2RpbWVuc2lvbnMocHRyKQ0KZGF0YV90eXBlID0gY3MuYXJy YXlfZGF0YV90eXBlKHB0cikNCnNpemVzID0gY3MuYXJyYXlfZGF0YV9zaXplcyhwdHIpDQojIFdl IGNhbiByZWFkIHRoZSBhcnJheSBkaW0sIGRhdGEgdHlwZSwgYW5kIHNoYXBlDQojIFVzaW5nIEFQ SSBtZXRob2RzDQpwcmludCgiXG4iLCAiRGF0YSBhcnJheSBmZWF0dXJlcyByZWFkIGZyb20gQVBJ IG1ldGhvZHM6IikNCnByaW50KGYiZGltOiB7ZGltfSwgZGF0YSB0eXBlOiB7ZGF0YV90eXBlfSwg c2l6ZXM6IHtzaXplc31cbiIpDQoNCmRhdGEgPSBjcy5hcnJheV9kYXRhKHB0cikNCiMgQnV0IHdl IGNhbiByZWFkIHRoZSBzYW1lIGFycmF5IGZlYXR1cmVzIHRoYW4gYWJvdmUNCiMgZGlyZWN0bHkg ZnJvbSB0aGUgbnVtcHkgYXJyYXkgcmV0dXJuZWQgYnkgYXJyYXlfZGF0YSgpDQpwcmludCgiXG4i LCAiRGF0YSBhcnJheSBmZWF0dXJlcyByZWFkIGZyb20gbnVtcHkgYXJyYXk6IikNCnByaW50KGYi ZGltOiB7ZGF0YS5uZGltfSwgZGF0YSB0eXBlOiB7ZGF0YS5kdHlwZX0sIHNoYXBlOiB7ZGF0YS5z aGFwZX1cbiIpDQpwcmludCgiRGF0YSBwcmludGVkIGJ5IGNzZCIpDQpmb3IgaSBpbiByYW5nZShz aXplc1swXSk6DQpjcy5wZXJmb3JtX2tzbXBzKCkNCnByaW50KCJcbkRhdGEgcHJpbnRlZCBieSBw eXRob24gc2NyaXB0IikNCmZvciBpIGluIHJhbmdlKDEwKToNCnByaW50KGYie2l9OiB7ZGF0YVtp XTpmfSIpDQoNCg0KdGhlIGNvbW1hbmQgcHl0aG9uIGFycmF5ZGF0LnB5IHdpbGwgZ2VuZXJhdGUg dGhpcyBvdXRwdXQ6DQoNCi0tQ3NvdW5kIHZlcnNpb24gNy4wIChkb3VibGUgc2FtcGxlcykgSnVu IDI2IDIwMjYNCltjb21taXQ6IDY1NzlkZDFiYmE4OGZlOTdhNjVhOWFlNzMyMzFlMWYxYTVlMjM1 MjNdDQp1c2luZyBsaWJzbmRmaWxlLTEuMi4yDQpncmFwaGljcyBzdXBwcmVzc2VkLCBhc2NpaSBz dWJzdGl0dXRlZA0Kc3IgPSA0NDEwMC4wLCBrciA9IDQ0MTAuMDAwLCBrc21wcyA9IDEwDQowZEJG UyBsZXZlbCA9IDMyNzY4LjAsIEE0IHR1bmluZyA9IDQ0MC4wDQphdWRpbyBidWZmZXJlZCBpbiAy NTYgc2FtcGxlLWZyYW1lIGJsb2Nrcw0Kd3JpdGluZyA1MTItYnl0ZSBibGtzIG9mIHNob3J0cyB0 byAvaG9tZS9waW5vdC9jc291bmQvc2ZkaXIvdGVzdC53YXYgKFdBVikNClNFQ1RJT04gMToNClNr aXBwaW5nIDxDc09wdGlvbnM+DQpuZXcgYWxsb2MgZm9yIGluc3RyIDE6DQoNCiBEYXRhIGFycmF5 IGZlYXR1cmVzIHJlYWQgZnJvbSBBUEkgbWV0aG9kczoNCmRpbTogMSwgZGF0YSB0eXBlOiBrLCBz aXplczogWzEwMjRdDQoNCg0KIERhdGEgYXJyYXkgZmVhdHVyZXMgcmVhZCBmcm9tIG51bXB5IGFy cmF5Og0KZGltOiAxLCBkYXRhIHR5cGU6IGZsb2F0NjQsIHNoYXBlOiAoMTAyNCwpDQoNCkRhdGEg cHJpbnRlZCBieSBjc2QNCjAuMDAwMDAwDQowLjAwMTQyNQ0KMC4wMDI4NTANCjAuMDA0Mjc0DQow LjAwNTY5OQ0KMC4wMDcxMjQNCjAuMDA4NTQ4DQowLjAwOTk3Mw0KMC4wMTEzOTgNCjAuMDEyODIy DQoNCkRhdGEgcHJpbnRlZCBieSBweXRob24gc2NyaXB0DQowOiAwLjAwMDAwMA0KMTogMC4wMDE0 MjUNCjI6IDAuMDAyODUwDQozOiAwLjAwNDI3NA0KNDogMC4wMDU2OTkNCjU6IDAuMDA3MTI0DQo2 OiAwLjAwODU0OA0KNzogMC4wMDk5NzMNCjg6IDAuMDExMzk4DQo5OiAwLjAxMjgyMg0KaW5hY3Rp dmUgYWxsb2NzIHJldHVybmVkIHRvIGZyZWVzcGFjZQ0KICBvdmVyYWxsIGFtcHM6ICAgICAgMC4w DQogIG92ZXJhbGwgc2FtcGxlcyBvdXQgb2YgcmFuZ2U6ICAgICAgICAwDQowIGVycm9ycyBpbiBw ZXJmb3JtYW5jZQ0KRWxhcHNlZCB0aW1lIGF0IGVuZCBvZiBwZXJmb3JtYW5jZTogcmVhbDogMC4w MTFzLCBDUFU6IDAuMDQwcw0KMjU2IDUxMiBzYW1wbGUgYmxrcyBvZiBzaG9ydHMgd3JpdHRlbiB0 byAvaG9tZS9waW5vdC9jc291bmQvc2ZkaXIvdGVzdC53YXYNCihXQVYpDQoNCk5vdGEgQmVuZTog dG8gZ2V0IHRoaXMgdG8gd29yayB5b3UgbmVlZCB0byB1c2UgdGhlIGxhc3QgdXBkYXRlZCB2ZXJz aW9uIG9mDQpjdGNzb3VuZC5weToNCmh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9j c291bmQvY3NvdW5kL3JlZnMvaGVhZHMvZGV2ZWxvcC9QeXRob24vY3Rjc291bmQucHkNCg0KSG9w ZSB0aGlzIGhlbHBzDQoNCkZyYW7Dp29pcw0KDQoNCkxlIGRpbS4gNSBqdWlsLiAyMDI2IMOgIDAx OjE0LCBKYW1lcyBIZWFyb24gPGpfaGVhcm9uQGhvdG1haWwuY29tPiBhIMOpY3JpdCA6DQoNCj4g RW5qb3lpbmcgbG9va2luZyBhdCBjaGFuZ2VzIHRvIGNzb3VuZDcgc2luY2UgY3NvdW5kNi4gIFRy eWluZyBzb21lIG9mIHRoZQ0KPiBuZXcgYXJyYXkgZmVhdHVyZXMsIGJ1dCBhIGJpdCBzdHVjayBv biBnZXR0aW5nIGEgQVJSQVlEQVRfcCByZXR1cm5lZCBmcm9tDQo+IGN0Y3NvdW5kLiAgSSdtIG5v dCBzdXJlIEknbSBnb2luZyBhYm91dCBpdCB0aGUgcmlnaHQgd2F5LCB1c2luZw0KPiBjaGFubmVs X3B0ciB0byBkaXJlY3RseSByZXRyaWV2ZSBjaG5zZXQgYXJyYXkgZGF0YSBmcm9tIGNzZC4NCj4g ICAuLi4uDQo+ICAgICAgICAgICAgIHJlc3VsdCA9IGNzLmNvbXBpbGVfY3NkKCdhcnJheWRhdC5j c2QnLCAwKQ0KPiAgIC4uLi4NCj4gICAgICAgICAgICAgcHRyLCBfID0gY3NvdW5kLmNoYW5uZWxf cHRyKCJweXRob25fYXJyYXlfY2hhbm5lbCIsDQo+IGN0Y3NvdW5kLkNTT1VORF9BUlJBWV9DSEFO TkVMIHwgY3Rjc291bmQuQ1NPVU5EX09VVFBVVF9DSEFOTkVMKQ0KPiAgICAgICAgICAgICBwcmlu dCgicHRyIHR5cGU6IiwgdHlwZShwdHIpKQ0KPg0KPiBTZWVtcyB0byBldmVyIG9ubHkgcmV0dXJu OiBjdHlwZXMuY192b2lkX3AsIHRoZSBwdnMgdHlwZSBpbnN0ZWFkIG9mIGFuDQo+IG5kYXJyYXkN Cj4NCj4gICAgIC4uLmZyb20gY3Rjc291bmQNCj4gICAgIGRlZiBjaGFubmVsX3B0cihzZWxmLCBu YW1lLCB0eXBlXyk6DQo+ICAgICAgICAgI0dldCBhIHBvaW50ZXIgdG8gdGhlIHNwZWNpZmllZCBj aGFubmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLg0KPg0KPiAgICAgICAgIGxlbmd0aCA9IDEgICMg ZGVmYXVsdCBidWYgbGVuZ3RoIGZvciBDU09VTkRfQ09OVFJPTF9DSEFOTkVMOg0KPiAgICAgICAg IHB0ciA9IGN0LmNfdm9pZF9wKCkNCj4gICAgICAgICBjaGFuX3R5cGUgPSB0eXBlXyAmIENTT1VO RF9DSEFOTkVMX1RZUEVfTUFTSw0KPiAgICAgICAgIGVyciA9ICcnDQo+ICAgICAgICAgcmV0ID0g bGliY3NvdW5kLmNzb3VuZEdldENoYW5uZWxQdHIoc2VsZi5jcywgY3QuYnlyZWYocHRyKSwNCj4g Y3N0cmluZyhuYW1lKSwgdHlwZV8pDQo+ICAgICAgICAgaWYgcmV0ID09IENTT1VORF9TVUNDRVNT Og0KPiAgICAgICAgICAgICBpZiBjaGFuX3R5cGUgPT0gQ1NPVU5EX1NUUklOR19DSEFOTkVMOg0K PiAgICAgICAgICAgICAgICAgcmV0dXJuIGN0LmNhc3QocHRyLCBTVFJJTkdEQVRfcCksIGVycg0K PiAgICAgICAgICAgICBlbGlmIGNoYW5fdHlwZSA9PSBDU09VTkRfQVJSQVlfQ0hBTk5FTDoNCj4g ICAgICAgICAgICAgICAgIHJldHVybiBjdC5jYXN0KHB0ciwgQVJSQVlEQVRfcCksIGVycg0KPiAg ICAgICAgICAgICBlbGlmIGNoYW5fdHlwZSA9PSBDU09VTkRfUFZTX0NIQU5ORUw6DQo+ICAgICAg ICAgICAgICAgICByZXR1cm4gY3QuY2FzdChwdHIsIFBWU0RBVF9wKSwgZXJyDQo+ICAgICAgICAg ICAgIGVsaWYgY2hhbl90eXBlID09IENTT1VORF9BVURJT19DSEFOTkVMOg0KPiAgICAgICAgICAg ICAgICAgbGVuZ3RoID0gbGliY3NvdW5kLmNzb3VuZEdldEtzbXBzKHNlbGYuY3MpDQo+ICAgICAg ICAgICAgIGFycmF5X3R5cGUgPSBucC5jdHlwZXNsaWIubmRwb2ludGVyKE1ZRkxULCAxLCAobGVu Z3RoLCksDQo+ICdDX0NPTlRJR1VPVVMnKQ0KPiAgICAgICAgICAgICBwID0gY3QuY2FzdChwdHIs IGFycmF5X3R5cGUpDQo+ICAgICAgICAgICAgIHJldHVybiBhcnJheV9mcm9tX3BvaW50ZXIocCks IGVycg0KPiA9PT09PT09PT09PT09PT09PT09PQ0KPiBhcnJheWRhdC5jc2QNCj4NCj4gPENzb3Vu ZFN5bnRoZXNpemVyPg0KPiA8Q3NPcHRpb25zPg0KPiAtY3NvdW5kIC1zIC1kIC0rcnRhdWRpbz1B TFNBIC1vZGV2YXVkaW8gLWIxMDI0IC1CMTAyNA0KPiA8L0NzT3B0aW9ucz4NCj4gPENzSW5zdHJ1 bWVudHM+DQo+IHNyICAgICA9IDQ4MDAwDQo+IGtzbXBzID0gMzINCj4gbmNobmxzID0gMg0KPiAw ZGJmcyA9IDENCj4NCj4gZ2lfYXJyYXlfc2l6ZSBpbml0IDEwMjQNCj4NCj4gaW5zdHIgMQ0KPiAg IGtfaW5kZXggaW5pdCAwDQo+ICAga190cmlnZ2VyIGluaXQgMQ0KPiAgIGtfb3V0X2FycmF5W10g aW5pdCBnaV9hcnJheV9zaXplDQo+DQo+ICAgOyBHZW5lcmF0ZSBzb21lIGRhdGEgKGUuZy4sIHNp bmUgd2F2ZSB2YWx1ZXMpDQo+ICAga192YWwgb3NjaWxpIDEsIDENCj4NCj4gICA7IEZpbGwgdGhl IGFycmF5DQo+ICAga19vdXRfYXJyYXlba19pbmRleF0gPSBrX3ZhbA0KPiAgIGtfaW5kZXggKz0g MQ0KPg0KPiAgIGtjbnQgaW5pdCAwDQo+DQo+ICAgaWYga19pbmRleCA9PSBnaV9hcnJheV9zaXpl IHRoZW4NCj4gICAgICAgY2huc2V0IGtfb3V0X2FycmF5LCAicHl0aG9uX2FycmF5X2NoYW5uZWwi DQo+ICAgICBrX2luZGV4ID0gMA0KPg0KPiAgICAgICAgIDt0ZXN0IHByaW50IHNvbWUgYXJyYXkg Y29udGVudHMNCj4gICAgICAgICA7d2hpbGUga2NudCA8IDEwIGRvDQo+ICAgICAgICAgO3ByaW50 a3MyICIlZlxuIiwga19vdXRfYXJyYXlba2NudF0NCj4gICAgICAgICA7a2NudCArPTENCj4gICAg ICAgICA7b2QNCj4NCj4gICBlbmRpZg0KPiBlbmRpbg0KPg0KPiAgaW5zdHIgMjsgZ2V0IGstdmFs dWVzIGFzIHByb29mIHdvcmtpbmcNCj4gICAgICBrY250IGluaXQgMA0KPiAgICAga19vdXRfYXJy YXlbXSBpbml0IGdpX2FycmF5X3NpemUNCj4NCj4gICAgIGtWYWxzW10gY2huZ2V0ayAicHl0aG9u X2FycmF5X2NoYW5uZWwiDQo+DQo+ICAgICAgIHdoaWxlIGtjbnQgPCAxMCBkbw0KPiAgICAgICAg IHByaW50a3MyICIlZlxuIiwga1ZhbHNba2NudF0NCj4gICAgICAgICBrY250ICs9MQ0KPiAgICAg ICAgb2QNCj4NCj4gICAgIDtpZiBtZXRybygxKSA9PSAxIHRoZW4NCj4gICAgICAgICA7cHJpbnRh cnJheSBrVmFscywgMQ0KPiAgICAgO2VuZGlmDQo+DQo+IGVuZGluDQo+DQo+IDwvQ3NJbnN0cnVt ZW50cz4NCj4gPENzU2NvcmU+DQo+IGkgMSAxIDINCj4gO2kgMiAyIDINCj4gPC9Dc1Njb3JlPg0K PiA8L0Nzb3VuZFN5bnRoZXNpemVyPg0KPg0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCg0KRW5kIG9mIENTT1VORC1ERVYgRGlnZXN0IC0gMzAgSnVuIDIwMjYgdG8gNSBKdWwgMjAy NiAoIzIwMjYtMzcpDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioNCg== --_000_CY8PR14MB5979DC72FD9B4F89B9574FE5E5FF2CY8PR14MB5979namp_ Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: base64 PGh0bWw+DQo8aGVhZD4NCjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4NCjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgc3R5bGU9 ImRpc3BsYXk6bm9uZTsiPiBQIHttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO30gPC9zdHls ZT4NCjwvaGVhZD4NCjxib2R5IGRpcj0ibHRyIj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29m IiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssICZxdW90O0hlbHZldGlj YSZxdW90Oywgc2Fucy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDAp OyI+DQpyZTogY3NvdW5kLmNoYW5uZWxfcHRyPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Q cm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LCAmcXVvdDtIZWx2 ZXRpY2EmcXVvdDssIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAw LCAwKTsiPg0KWWVzLCB0aGUgaW5mbyBpZiBoZWxwZnVsIGFuZCBpbnNpZ2h0ZnVsLiZuYnNwOyBG b3IgcHl0aG9uIGFwaSBJIGNvdWxkIG5vdCBnZXQgbm90IGdldCBjc291bmQucGVyZm9ybV9rc21w cygpIHRvIHNob3c8L2Rpdj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9u dC1mYW1pbHk6ICZxdW90O0NhbGlicmkmcXVvdDssICZxdW90O0hlbHZldGljYSZxdW90Oywgc2Fu cy1zZXJpZjsgZm9udC1zaXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQp0aGUgY2hu c2V0IGFycmF5IGRhdGEgYXMgeW91IGRpZCwgYnV0IHVzaW5nIGNzb3VuZC5hcnJheV9kYXRhIEkg Y2FuIGdldCB0aGUgZGF0YSBhbmQgcHJpbnQgaXQuPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50 VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LCAmcXVvdDtI ZWx2ZXRpY2EmcXVvdDssIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigw LCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5 bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LCAmcXVvdDtIZWx2ZXRpY2EmcXVv dDssIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0K SSBhbHNvIHRyaWVkIHVzaW5nIHRoZSBjIGFwaSwgYW5kIG9kZGx5IGNzb3VuZFBlcmZvcm1Lc21w cyhjc291bmQpIHNob3dzIHRoZSBjaG5zZXQgZGF0YSwgYnV0IHN0aWxsIHN0cnVnZ2xpbmc8L2Rp dj4NCjxkaXYgY2xhc3M9ImVsZW1lbnRUb1Byb29mIiBzdHlsZT0iZm9udC1mYW1pbHk6ICZxdW90 O0NhbGlicmkmcXVvdDssICZxdW90O0hlbHZldGljYSZxdW90Oywgc2Fucy1zZXJpZjsgZm9udC1z aXplOiAxMnB0OyBjb2xvcjogcmdiKDAsIDAsIDApOyI+DQp0byBnZXQgdGhlIGFycmF5IGRhdGEg ZGlyZWN0bHkgdXNpbmcgJm5ic3A7IEFSUkFZREFUICphcnJheURhdGEgPSAoQVJSQVlEQVQgKikg Y2hhbm5lbFB0ciwgYW5kIGZpbmQgY29ycmVjdCBjYXN0aW5nIGZvcjwvZGl2Pg0KPGRpdiBjbGFz cz0iZWxlbWVudFRvUHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90 OywgJnF1b3Q7SGVsdmV0aWNhJnF1b3Q7LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNv bG9yOiByZ2IoMCwgMCwgMCk7Ij4NCmNzb3VuZEdldEFycmF5RGF0YShhcnJheURhdGEpIHRvIGdl dCBpdCBpbnRvIGEgYyBhcnJheSBmb3IgcHJpbnRpbmcuJm5ic3A7Jm5ic3A7PC9kaXY+DQo8ZGl2 IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJp JnF1b3Q7LCAmcXVvdDtIZWx2ZXRpY2EmcXVvdDssIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJw dDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJlbGVt ZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7LCAmcXVv dDtIZWx2ZXRpY2EmcXVvdDssIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29sb3I6IHJn YigwLCAwLCAwKTsiPg0KT2RkIGhvdyB0aGUgc3R1Y2sgYml0cyBhcmUgcmV2ZXJzZWQuPC9kaXY+ DQo8ZGl2IGNsYXNzPSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtD YWxpYnJpJnF1b3Q7LCAmcXVvdDtIZWx2ZXRpY2EmcXVvdDssIHNhbnMtc2VyaWY7IGZvbnQtc2l6 ZTogMTJwdDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPg0KPGJyPg0KPC9kaXY+DQo8ZGl2IGNsYXNz PSJlbGVtZW50VG9Qcm9vZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiAmcXVvdDtDYWxpYnJpJnF1b3Q7 LCAmcXVvdDtIZWx2ZXRpY2EmcXVvdDssIHNhbnMtc2VyaWY7IGZvbnQtc2l6ZTogMTJwdDsgY29s b3I6IHJnYigwLCAwLCAwKTsiPg0KdGhhbmtzLDwvZGl2Pg0KPGRpdiBjbGFzcz0iZWxlbWVudFRv UHJvb2YiIHN0eWxlPSJmb250LWZhbWlseTogJnF1b3Q7Q2FsaWJyaSZxdW90OywgJnF1b3Q7SGVs dmV0aWNhJnF1b3Q7LCBzYW5zLXNlcmlmOyBmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2IoMCwg MCwgMCk7Ij4NCkppbTwvZGl2Pg0KPGRpdiBpZD0iYXBwZW5kb25zZW5kIj48L2Rpdj4NCjxociBz dHlsZT0iZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6OTglIiB0YWJpbmRleD0iLTEiPg0KPGRp diBpZD0iZGl2UnBseUZ3ZE1zZyIgZGlyPSJsdHIiPjxmb250IGZhY2U9IkNhbGlicmksIHNhbnMt c2VyaWYiIHN0eWxlPSJmb250LXNpemU6MTFwdCIgY29sb3I9IiMwMDAwMDAiPjxiPkZyb206PC9i PiBDc291bmQtZGV2ZWxvcGVycyAmbHQ7Q1NPVU5ELURFVkBMSVNUU0VSVi5IRUFORVQuSUUmZ3Q7 IG9uIGJlaGFsZiBvZiBDU09VTkQtREVWIGF1dG9tYXRpYyBkaWdlc3Qgc3lzdGVtICZsdDtMSVNU U0VSVkBMSVNUU0VSVi5IRUFORVQuSUUmZ3Q7PGJyPg0KPGI+U2VudDo8L2I+IFN1bmRheSwgSnVs eSA1LCAyMDI2IDE6MDAgUE08YnI+DQo8Yj5Ubzo8L2I+IENTT1VORC1ERVZATElTVFNFUlYuSEVB TkVULklFICZsdDtDU09VTkQtREVWQExJU1RTRVJWLkhFQU5FVC5JRSZndDs8YnI+DQo8Yj5TdWJq ZWN0OjwvYj4gQ1NPVU5ELURFViBEaWdlc3QgLSAzMCBKdW4gMjAyNiB0byA1IEp1bCAyMDI2ICgj MjAyNi0zNyk8L2ZvbnQ+DQo8ZGl2PiZuYnNwOzwvZGl2Pg0KPC9kaXY+DQo8ZGl2IGNsYXNzPSJC b2R5RnJhZ21lbnQiPjxmb250IHNpemU9IjIiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6MTFwdDsi Pg0KPGRpdiBjbGFzcz0iUGxhaW5UZXh0Ij5UaGVyZSBhcmUgMiBtZXNzYWdlcyB0b3RhbGluZyAx Mjg4IGxpbmVzIGluIHRoaXMgaXNzdWUuPGJyPg0KPGJyPg0KVG9waWNzIG9mIHRoZSBkYXk6PGJy Pg0KPGJyPg0KJm5ic3A7IDEuIGN0Y3NvdW5kLCBhcGkgY2hhbm5lbF9wdHIgKDIpPGJyPg0KPGJy Pg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLTxicj4NCjxicj4NCkRhdGU6Jm5ic3A7Jm5ic3A7Jm5ic3A7IFNhdCwg NCBKdWwgMjAyNiAyMzoxNDoyMiArMDAwMDxicj4NCkZyb206Jm5ic3A7Jm5ic3A7Jm5ic3A7IEph bWVzIEhlYXJvbiAmbHQ7al9oZWFyb25ASE9UTUFJTC5DT00mZ3Q7PGJyPg0KU3ViamVjdDogY3Rj c291bmQsIGFwaSBjaGFubmVsX3B0cjxicj4NCjxicj4NCkVuam95aW5nIGxvb2tpbmcgYXQgY2hh bmdlcyB0byBjc291bmQ3IHNpbmNlIGNzb3VuZDYuJm5ic3A7IFRyeWluZyBzb21lIG9mIHRoZSBu ZXcgYXJyYXkgZmVhdHVyZXMsIGJ1dCBhIGJpdCBzdHVjayBvbiBnZXR0aW5nIGEgQVJSQVlEQVRf cCByZXR1cm5lZCBmcm9tPGJyPg0KY3Rjc291bmQuJm5ic3A7IEknbSBub3Qgc3VyZSBJJ20gZ29p bmcgYWJvdXQgaXQgdGhlIHJpZ2h0IHdheSwgdXNpbmcgY2hhbm5lbF9wdHIgdG8gZGlyZWN0bHkg cmV0cmlldmUgY2huc2V0IGFycmF5IGRhdGEgZnJvbSBjc2QuPGJyPg0K4oCC4oCC4oCC4oCCJm5i c3A7IC4uLi48YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmVzdWx0ID0gY3MuY29tcGlsZV9jc2QoJ2FycmF5ZGF0 LmNzZCcsIDApPGJyPg0K4oCC4oCC4oCC4oCCJm5ic3A7IC4uLi48YnI+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcHRy LCBfID0gY3NvdW5kLmNoYW5uZWxfcHRyKCZxdW90O3B5dGhvbl9hcnJheV9jaGFubmVsJnF1b3Q7 LCBjdGNzb3VuZC5DU09VTkRfQVJSQVlfQ0hBTk5FTCB8IGN0Y3NvdW5kLkNTT1VORF9PVVRQVVRf Q0hBTk5FTCk8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcHJpbnQoJnF1b3Q7cHRyIHR5cGU6JnF1b3Q7LCB0eXBl KHB0cikpPGJyPg0KPGJyPg0KU2VlbXMgdG8gZXZlciBvbmx5IHJldHVybjogY3R5cGVzLmNfdm9p ZF9wLCB0aGUgcHZzIHR5cGUgaW5zdGVhZCBvZiBhbiBuZGFycmF5PGJyPg0KPGJyPg0KJm5ic3A7 Jm5ic3A7Jm5ic3A7IC4uLmZyb20gY3Rjc291bmQ8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsgZGVm IGNoYW5uZWxfcHRyKHNlbGYsIG5hbWUsIHR5cGVfKTo8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgI0dldCBhIHBvaW50ZXIgdG8gdGhlIHNwZWNpZmllZCBj aGFubmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLjxicj4NCjxicj4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsZW5ndGggPSAxJm5ic3A7ICMgZGVmYXVsdCBidWYg bGVuZ3RoIGZvciBDU09VTkRfQ09OVFJPTF9DSEFOTkVMOjxicj4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwdHIgPSBjdC5jX3ZvaWRfcCgpPGJyPg0KJm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNoYW5fdHlwZSA9IHR5cGVfICZh bXA7IENTT1VORF9DSEFOTkVMX1RZUEVfTUFTSzxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBlcnIgPSAnJzxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyByZXQgPSBsaWJjc291bmQuY3NvdW5kR2V0Q2hhbm5lbFB0cihz ZWxmLmNzLCBjdC5ieXJlZihwdHIpLCBjc3RyaW5nKG5hbWUpLCB0eXBlXyk8YnI+DQombmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgaWYgcmV0ID09IENTT1VORF9TVUND RVNTOjxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBpZiBjaGFuX3R5cGUgPT0gQ1NPVU5EX1NUUklOR19DSEFOTkVM Ojxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gY3QuY2FzdChw dHIsIFNUUklOR0RBVF9wKSwgZXJyPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVsaWYgY2hhbl90eXBlID09IENT T1VORF9BUlJBWV9DSEFOTkVMOjxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyByZXR1cm4gY3QuY2FzdChwdHIsIEFSUkFZREFUX3ApLCBlcnI8YnI+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZWxp ZiBjaGFuX3R5cGUgPT0gQ1NPVU5EX1BWU19DSEFOTkVMOjxicj4NCiZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gY3QuY2FzdChwdHIsIFBWU0RBVF9wKSwgZXJyPGJyPg0K Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7IGVsaWYgY2hhbl90eXBlID09IENTT1VORF9BVURJT19DSEFOTkVMOjxicj4NCiZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBsZW5ndGggPSBsaWJjc291bmQuY3NvdW5k R2V0S3NtcHMoc2VsZi5jcyk8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgYXJyYXlfdHlwZSA9IG5wLmN0eXBlc2xp Yi5uZHBvaW50ZXIoTVlGTFQsIDEsIChsZW5ndGgsKSwgJ0NfQ09OVElHVU9VUycpPGJyPg0KJm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IHAgPSBjdC5jYXN0KHB0ciwgYXJyYXlfdHlwZSk8YnI+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJu IGFycmF5X2Zyb21fcG9pbnRlcihwKSwgZXJyPGJyPg0KPT09PT09PT09PT09PT09PT09PT08YnI+ DQphcnJheWRhdC5jc2Q8YnI+DQo8YnI+DQombHQ7Q3NvdW5kU3ludGhlc2l6ZXImZ3Q7PGJyPg0K Jmx0O0NzT3B0aW9ucyZndDs8YnI+DQotY3NvdW5kIC1zIC1kIC0rcnRhdWRpbz1BTFNBIC1vZGV2 YXVkaW8gLWIxMDI0IC1CMTAyNDxicj4NCiZsdDsvQ3NPcHRpb25zJmd0Ozxicj4NCiZsdDtDc0lu c3RydW1lbnRzJmd0Ozxicj4NCnNyJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7ID0gNDgwMDA8YnI+ DQprc21wcyA9IDMyPGJyPg0KbmNobmxzID0gMjxicj4NCjBkYmZzID0gMTxicj4NCjxicj4NCmdp X2FycmF5X3NpemUgaW5pdCAxMDI0PGJyPg0KPGJyPg0KaW5zdHIgMTxicj4NCiZuYnNwOyBrX2lu ZGV4IGluaXQgMDxicj4NCiZuYnNwOyBrX3RyaWdnZXIgaW5pdCAxPGJyPg0KJm5ic3A7IGtfb3V0 X2FycmF5W10gaW5pdCBnaV9hcnJheV9zaXplPGJyPg0KPGJyPg0KJm5ic3A7IDsgR2VuZXJhdGUg c29tZSBkYXRhIChlLmcuLCBzaW5lIHdhdmUgdmFsdWVzKTxicj4NCiZuYnNwOyBrX3ZhbCBvc2Np bGkgMSwgMTxicj4NCjxicj4NCiZuYnNwOyA7IEZpbGwgdGhlIGFycmF5PGJyPg0KJm5ic3A7IGtf b3V0X2FycmF5W2tfaW5kZXhdID0ga192YWw8YnI+DQombmJzcDsga19pbmRleCArPSAxPGJyPg0K PGJyPg0KJm5ic3A7IGtjbnQgaW5pdCAwPGJyPg0KPGJyPg0KJm5ic3A7IGlmIGtfaW5kZXggPT0g Z2lfYXJyYXlfc2l6ZSB0aGVuPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGNo bnNldCBrX291dF9hcnJheSwgJnF1b3Q7cHl0aG9uX2FycmF5X2NoYW5uZWwmcXVvdDs8YnI+DQom bmJzcDsmbmJzcDsmbmJzcDsga19pbmRleCA9IDA8YnI+DQo8YnI+DQombmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgO3Rlc3QgcHJpbnQgc29tZSBhcnJheSBjb250ZW50 czxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA7d2hpbGUg a2NudCAmbHQ7IDEwIGRvPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IDtwcmludGtzMiAmcXVvdDslZlxuJnF1b3Q7LCBrX291dF9hcnJheVtrY250XTxicj4N CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyA7a2NudCArPTE8YnI+ DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgO29kPGJyPg0KPGJy Pg0KJm5ic3A7IGVuZGlmPGJyPg0KZW5kaW48YnI+DQo8YnI+DQombmJzcDtpbnN0ciAyOyBnZXQg ay12YWx1ZXMgYXMgcHJvb2Ygd29ya2luZzxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBr Y250IGluaXQgMDxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyBrX291dF9hcnJheVtdIGluaXQgZ2lf YXJyYXlfc2l6ZTxicj4NCjxicj4NCiZuYnNwOyZuYnNwOyZuYnNwOyBrVmFsc1tdIGNobmdldGsg JnF1b3Q7cHl0aG9uX2FycmF5X2NoYW5uZWwmcXVvdDs8YnI+DQo8YnI+DQombmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsgd2hpbGUga2NudCAmbHQ7IDEwIGRvPGJyPg0KJm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHByaW50a3MyICZxdW90OyVmXG4mcXVvdDss IGtWYWxzW2tjbnRdPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IGtjbnQgKz0xPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IG9k PGJyPg0KPGJyPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7IDtpZiBtZXRybygxKSA9PSAxIHRoZW48YnI+ DQombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgO3ByaW50YXJyYXkg a1ZhbHMsIDE8YnI+DQombmJzcDsmbmJzcDsmbmJzcDsgO2VuZGlmPGJyPg0KPGJyPg0KZW5kaW48 YnI+DQo8YnI+DQombHQ7L0NzSW5zdHJ1bWVudHMmZ3Q7PGJyPg0KJmx0O0NzU2NvcmUmZ3Q7PGJy Pg0KaSAxIDEgMjxicj4NCjtpIDIgMiAyPGJyPg0KJmx0Oy9Dc1Njb3JlJmd0Ozxicj4NCiZsdDsv Q3NvdW5kU3ludGhlc2l6ZXImZ3Q7PGJyPg0KPGJyPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tPGJyPg0KPGJyPg0KRGF0ZTombmJzcDsmbmJzcDsmbmJzcDsgU3VuLCA1IEp1bCAyMDI2 IDIyOjAzOjU4ICswMjAwPGJyPg0KRnJvbTombmJzcDsmbmJzcDsmbmJzcDsgRnJhbmNvaXMgUElO T1QgJmx0O2ZnZ3Bpbm90QEdNQUlMLkNPTSZndDs8YnI+DQpTdWJqZWN0OiBSZTogY3Rjc291bmQs IGFwaSBjaGFubmVsX3B0cjxicj4NCjxicj4NClRoZSBjaGFubmVsX3B0ciBtZXRob2QgcmV0dXJu cyBhbiBvcGFxdWUgcG9pbnRlciB0byBvbmUgb2YgdGhlIGRhdGE8YnI+DQpzdHJ1Y3R1cmVzIGRl c2NyaWJpbmcgdGhlIHR5cGUgb2YgdGhlIGRhdGEgaW4gdGhlIGNoYW5uZWwuIFRoaXMgcG9pbnRl ciBjYW48YnI+DQp0aGVuIGJlIHVzZWQgYXMgYW4gYXJndW1lbnQgdG8gdGhlIGRpZmZlcmVudCBh Y2Nlc3MgbWV0aG9kcyBmb3IgZ2V0dGluZyB0aGU8YnI+DQpjaGFubmVsIGZlYXR1cmVzIGFuZC9v ciBkYXRhLjxicj4NCjxicj4NCkhlcmUgaXMgYSBweXRob24gc2NyaXB0IHdpdGggeW91ciBjc2Q6 PGJyPg0KPGJyPg0KYXJyYXlkYXQuY3NkOjxicj4NCjxicj4NCiZsdDtDc291bmRTeW50aGVzaXpl ciZndDs8YnI+DQombHQ7Q3NPcHRpb25zJmd0Ozxicj4NCi1zIC1kIC0rcnRhdWRpbz1BTFNBIC1v ZGV2YXVkaW8gLWIxMDI0IC1CMTAyNDxicj4NCiZsdDsvQ3NPcHRpb25zJmd0Ozxicj4NCiZsdDtD c0luc3RydW1lbnRzJmd0Ozxicj4NCnNyID0gNDgwMDA8YnI+DQprc21wcyA9IDMyPGJyPg0KbmNo bmxzID0gMjxicj4NCjBkYmZzID0gMTxicj4NCjxicj4NCmFycmF5X3NpemVAZ2xvYmFsOmkgPSBp bml0KDEwMjQpPGJyPg0KPGJyPg0KaW5zdHIgMTxicj4NCm5keDprID0gaW5pdCgwKTxicj4NCjt0 cmlnOmsgPSBpbml0KDEpPGJyPg0Kb3V0X2FycmF5OmtbXSA9IGluaXQoYXJyYXlfc2l6ZSk8YnI+ DQovLyBHZW5lcmF0ZSBzb21lIGRhdGEgKGUuZy4sIHNpbmUgd2F2ZSB2YWx1ZXMpPGJyPg0KdmFs OmsgPSBvc2NpbGkoMSwgMSk8YnI+DQo7IEZpbGwgdGhlIGFycmF5PGJyPg0Kb3V0X2FycmF5W25k eF0gPSB2YWw8YnI+DQpuZHggKz0gMTxicj4NCmNudDprID0gaW5pdCgwKTxicj4NCmlmIG5keCA9 PSBhcnJheV9zaXplIHRoZW48YnI+DQpjaG5zZXQob3V0X2FycmF5LCAmcXVvdDtweXRob25fYXJy YXlfY2hhbm5lbCZxdW90Oyk8YnI+DQpuZHggPSAwPGJyPg0KLy8gdGVzdCBwcmludCBzb21lIGFy cmF5IGNvbnRlbnRzPGJyPg0Kd2hpbGUgY250ICZsdDsgMTAgZG88YnI+DQpwcmludGtzMigmcXVv dDslZlxuJnF1b3Q7LCBvdXRfYXJyYXlbY250XSk8YnI+DQpjbnQgKz0xPGJyPg0Kb2Q8YnI+DQpl bmRpZjxicj4NCmVuZGluPGJyPg0KaW5zdHIgMiAvLyBnZXQgay12YWx1ZXMgYXMgcHJvb2Ygd29y a2luZzxicj4NCmNudDprIGluaXQgMDxicj4NCm91dF9hcnJheTprW10gPSBpbml0KGFycmF5X3Np emUpPGJyPg0KPGJyPg0KdmFsczprW10gPSBjaG5nZXRrKCZxdW90O3B5dGhvbl9hcnJheV9jaGFu bmVsJnF1b3Q7KTxicj4NCjxicj4NCndoaWxlIGNudCAmbHQ7IDEwIGRvPGJyPg0KcHJpbnRrczIo JnF1b3Q7JWZcbiZxdW90OywgdmFsc1tjbnRdKTxicj4NCmNudCArPTE8YnI+DQpvZDxicj4NCjtp ZiBtZXRybygxKSA9PSAxIHRoZW48YnI+DQo7IHByaW50YXJyYXkodmFscywgMSk8YnI+DQo7ZW5k aWY8YnI+DQplbmRpbjxicj4NCjxicj4NCiZsdDsvQ3NJbnN0cnVtZW50cyZndDs8YnI+DQombHQ7 Q3NTY29yZSZndDs8YnI+DQppIDEgMSAyPGJyPg0KO2kgMiAyIDI8YnI+DQombHQ7L0NzU2NvcmUm Z3Q7PGJyPg0KJmx0Oy9Dc291bmRTeW50aGVzaXplciZndDs8YnI+DQo8YnI+DQo8YnI+DQo8YnI+ DQphcnJheWRhdC5weTo8YnI+DQo8YnI+DQppbXBvcnQgY3Rjc291bmQ8YnI+DQo8YnI+DQpjcyA9 IGN0Y3NvdW5kLkNzb3VuZCgpPGJyPg0KY3Muc3RhcnQoKTxicj4NCnJlcyA9IGNzLmNvbXBpbGVf Y3NkKCZxdW90O2FycmF5ZGF0LmNzZCZxdW90OywgMCk8YnI+DQppZiByZXMgPT0gMDo8YnI+DQpj cy5ldmVudF9zdHJpbmcoJnF1b3Q7aTEgMCAxJnF1b3Q7LCAwKTxicj4NCmNzLnBlcmZvcm1fa3Nt cHMoKTxicj4NCnB0ciwgZXJyID0gY3MuY2hhbm5lbF9wdHIoJnF1b3Q7cHl0aG9uX2FycmF5X2No YW5uZWwmcXVvdDssPGJyPg0KY3Rjc291bmQuQ1NPVU5EX0FSUkFZX0NIQU5ORUwgfDxicj4NCmN0 Y3NvdW5kLkNTT1VORF9PVVRQVVRfQ0hBTk5FTCk8YnI+DQppZiBlcnIgPT0gJyc6PGJyPg0KZGlt ID0gY3MuYXJyYXlfZGF0YV9kaW1lbnNpb25zKHB0cik8YnI+DQpkYXRhX3R5cGUgPSBjcy5hcnJh eV9kYXRhX3R5cGUocHRyKTxicj4NCnNpemVzID0gY3MuYXJyYXlfZGF0YV9zaXplcyhwdHIpPGJy Pg0KIyBXZSBjYW4gcmVhZCB0aGUgYXJyYXkgZGltLCBkYXRhIHR5cGUsIGFuZCBzaGFwZTxicj4N CiMgVXNpbmcgQVBJIG1ldGhvZHM8YnI+DQpwcmludCgmcXVvdDtcbiZxdW90OywgJnF1b3Q7RGF0 YSBhcnJheSBmZWF0dXJlcyByZWFkIGZyb20gQVBJIG1ldGhvZHM6JnF1b3Q7KTxicj4NCnByaW50 KGYmcXVvdDtkaW06IHtkaW19LCBkYXRhIHR5cGU6IHtkYXRhX3R5cGV9LCBzaXplczoge3NpemVz fVxuJnF1b3Q7KTxicj4NCjxicj4NCmRhdGEgPSBjcy5hcnJheV9kYXRhKHB0cik8YnI+DQojIEJ1 dCB3ZSBjYW4gcmVhZCB0aGUgc2FtZSBhcnJheSBmZWF0dXJlcyB0aGFuIGFib3ZlPGJyPg0KIyBk aXJlY3RseSBmcm9tIHRoZSBudW1weSBhcnJheSByZXR1cm5lZCBieSBhcnJheV9kYXRhKCk8YnI+ DQpwcmludCgmcXVvdDtcbiZxdW90OywgJnF1b3Q7RGF0YSBhcnJheSBmZWF0dXJlcyByZWFkIGZy b20gbnVtcHkgYXJyYXk6JnF1b3Q7KTxicj4NCnByaW50KGYmcXVvdDtkaW06IHtkYXRhLm5kaW19 LCBkYXRhIHR5cGU6IHtkYXRhLmR0eXBlfSwgc2hhcGU6IHtkYXRhLnNoYXBlfVxuJnF1b3Q7KTxi cj4NCnByaW50KCZxdW90O0RhdGEgcHJpbnRlZCBieSBjc2QmcXVvdDspPGJyPg0KZm9yIGkgaW4g cmFuZ2Uoc2l6ZXNbMF0pOjxicj4NCmNzLnBlcmZvcm1fa3NtcHMoKTxicj4NCnByaW50KCZxdW90 O1xuRGF0YSBwcmludGVkIGJ5IHB5dGhvbiBzY3JpcHQmcXVvdDspPGJyPg0KZm9yIGkgaW4gcmFu Z2UoMTApOjxicj4NCnByaW50KGYmcXVvdDt7aX06IHtkYXRhW2ldOmZ9JnF1b3Q7KTxicj4NCjxi cj4NCjxicj4NCnRoZSBjb21tYW5kIHB5dGhvbiBhcnJheWRhdC5weSB3aWxsIGdlbmVyYXRlIHRo aXMgb3V0cHV0Ojxicj4NCjxicj4NCi0tQ3NvdW5kIHZlcnNpb24gNy4wIChkb3VibGUgc2FtcGxl cykgSnVuIDI2IDIwMjY8YnI+DQpbY29tbWl0OiA2NTc5ZGQxYmJhODhmZTk3YTY1YTlhZTczMjMx ZTFmMWE1ZTIzNTIzXTxicj4NCnVzaW5nIGxpYnNuZGZpbGUtMS4yLjI8YnI+DQpncmFwaGljcyBz dXBwcmVzc2VkLCBhc2NpaSBzdWJzdGl0dXRlZDxicj4NCnNyID0gNDQxMDAuMCwga3IgPSA0NDEw LjAwMCwga3NtcHMgPSAxMDxicj4NCjBkQkZTIGxldmVsID0gMzI3NjguMCwgQTQgdHVuaW5nID0g NDQwLjA8YnI+DQphdWRpbyBidWZmZXJlZCBpbiAyNTYgc2FtcGxlLWZyYW1lIGJsb2Nrczxicj4N CndyaXRpbmcgNTEyLWJ5dGUgYmxrcyBvZiBzaG9ydHMgdG8gL2hvbWUvcGlub3QvY3NvdW5kL3Nm ZGlyL3Rlc3Qud2F2IChXQVYpPGJyPg0KU0VDVElPTiAxOjxicj4NClNraXBwaW5nICZsdDtDc09w dGlvbnMmZ3Q7PGJyPg0KbmV3IGFsbG9jIGZvciBpbnN0ciAxOjxicj4NCjxicj4NCiZuYnNwO0Rh dGEgYXJyYXkgZmVhdHVyZXMgcmVhZCBmcm9tIEFQSSBtZXRob2RzOjxicj4NCmRpbTogMSwgZGF0 YSB0eXBlOiBrLCBzaXplczogWzEwMjRdPGJyPg0KPGJyPg0KPGJyPg0KJm5ic3A7RGF0YSBhcnJh eSBmZWF0dXJlcyByZWFkIGZyb20gbnVtcHkgYXJyYXk6PGJyPg0KZGltOiAxLCBkYXRhIHR5cGU6 IGZsb2F0NjQsIHNoYXBlOiAoMTAyNCwpPGJyPg0KPGJyPg0KRGF0YSBwcmludGVkIGJ5IGNzZDxi cj4NCjAuMDAwMDAwPGJyPg0KMC4wMDE0MjU8YnI+DQowLjAwMjg1MDxicj4NCjAuMDA0Mjc0PGJy Pg0KMC4wMDU2OTk8YnI+DQowLjAwNzEyNDxicj4NCjAuMDA4NTQ4PGJyPg0KMC4wMDk5NzM8YnI+ DQowLjAxMTM5ODxicj4NCjAuMDEyODIyPGJyPg0KPGJyPg0KRGF0YSBwcmludGVkIGJ5IHB5dGhv biBzY3JpcHQ8YnI+DQowOiAwLjAwMDAwMDxicj4NCjE6IDAuMDAxNDI1PGJyPg0KMjogMC4wMDI4 NTA8YnI+DQozOiAwLjAwNDI3NDxicj4NCjQ6IDAuMDA1Njk5PGJyPg0KNTogMC4wMDcxMjQ8YnI+ DQo2OiAwLjAwODU0ODxicj4NCjc6IDAuMDA5OTczPGJyPg0KODogMC4wMTEzOTg8YnI+DQo5OiAw LjAxMjgyMjxicj4NCmluYWN0aXZlIGFsbG9jcyByZXR1cm5lZCB0byBmcmVlc3BhY2U8YnI+DQom bmJzcDsgb3ZlcmFsbCBhbXBzOiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyAwLjA8YnI+ DQombmJzcDsgb3ZlcmFsbCBzYW1wbGVzIG91dCBvZiByYW5nZTombmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgMDxicj4NCjAgZXJyb3JzIGluIHBlcmZvcm1hbmNlPGJy Pg0KRWxhcHNlZCB0aW1lIGF0IGVuZCBvZiBwZXJmb3JtYW5jZTogcmVhbDogMC4wMTFzLCBDUFU6 IDAuMDQwczxicj4NCjI1NiA1MTIgc2FtcGxlIGJsa3Mgb2Ygc2hvcnRzIHdyaXR0ZW4gdG8gL2hv bWUvcGlub3QvY3NvdW5kL3NmZGlyL3Rlc3Qud2F2PGJyPg0KKFdBVik8YnI+DQo8YnI+DQpOb3Rh IEJlbmU6IHRvIGdldCB0aGlzIHRvIHdvcmsgeW91IG5lZWQgdG8gdXNlIHRoZSBsYXN0IHVwZGF0 ZWQgdmVyc2lvbiBvZjxicj4NCmN0Y3NvdW5kLnB5Ojxicj4NCjxhIGhyZWY9Imh0dHBzOi8vcmF3 LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jc291bmQvY3NvdW5kL3JlZnMvaGVhZHMvZGV2ZWxvcC9Q eXRob24vY3Rjc291bmQucHkiPmh0dHBzOi8vcmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbS9jc291 bmQvY3NvdW5kL3JlZnMvaGVhZHMvZGV2ZWxvcC9QeXRob24vY3Rjc291bmQucHk8L2E+PGJyPg0K PGJyPg0KSG9wZSB0aGlzIGhlbHBzPGJyPg0KPGJyPg0KRnJhbsOnb2lzPGJyPg0KPGJyPg0KPGJy Pg0KTGUgZGltLiA1IGp1aWwuIDIwMjYgw6AgMDE6MTQsIEphbWVzIEhlYXJvbiAmbHQ7al9oZWFy b25AaG90bWFpbC5jb20mZ3Q7IGEgw6ljcml0IDo8YnI+DQo8YnI+DQomZ3Q7IEVuam95aW5nIGxv b2tpbmcgYXQgY2hhbmdlcyB0byBjc291bmQ3IHNpbmNlIGNzb3VuZDYuJm5ic3A7IFRyeWluZyBz b21lIG9mIHRoZTxicj4NCiZndDsgbmV3IGFycmF5IGZlYXR1cmVzLCBidXQgYSBiaXQgc3R1Y2sg b24gZ2V0dGluZyBhIEFSUkFZREFUX3AgcmV0dXJuZWQgZnJvbTxicj4NCiZndDsgY3Rjc291bmQu Jm5ic3A7IEknbSBub3Qgc3VyZSBJJ20gZ29pbmcgYWJvdXQgaXQgdGhlIHJpZ2h0IHdheSwgdXNp bmc8YnI+DQomZ3Q7IGNoYW5uZWxfcHRyIHRvIGRpcmVjdGx5IHJldHJpZXZlIGNobnNldCBhcnJh eSBkYXRhIGZyb20gY3NkLjxicj4NCiZndDsmbmJzcDsmbmJzcDsgLi4uLjxicj4NCiZndDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsgcmVzdWx0ID0gY3MuY29tcGlsZV9jc2QoJ2FycmF5ZGF0LmNzZCcsIDApPGJy Pg0KJmd0OyZuYnNwOyZuYnNwOyAuLi4uPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwdHIsIF8g PSBjc291bmQuY2hhbm5lbF9wdHIoJnF1b3Q7cHl0aG9uX2FycmF5X2NoYW5uZWwmcXVvdDssPGJy Pg0KJmd0OyBjdGNzb3VuZC5DU09VTkRfQVJSQVlfQ0hBTk5FTCB8IGN0Y3NvdW5kLkNTT1VORF9P VVRQVVRfQ0hBTk5FTCk8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHByaW50KCZxdW90O3B0ciB0 eXBlOiZxdW90OywgdHlwZShwdHIpKTxicj4NCiZndDs8YnI+DQomZ3Q7IFNlZW1zIHRvIGV2ZXIg b25seSByZXR1cm46IGN0eXBlcy5jX3ZvaWRfcCwgdGhlIHB2cyB0eXBlIGluc3RlYWQgb2YgYW48 YnI+DQomZ3Q7IG5kYXJyYXk8YnI+DQomZ3Q7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyAuLi5mcm9tIGN0Y3NvdW5kPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBk ZWYgY2hhbm5lbF9wdHIoc2VsZiwgbmFtZSwgdHlwZV8pOjxicj4NCiZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgI0dldCBhIHBvaW50ZXIgdG8gdGhl IHNwZWNpZmllZCBjaGFubmVsIGFuZCBhbiBlcnJvciBtZXNzYWdlLjxicj4NCiZndDs8YnI+DQom Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGxlbmd0 aCA9IDEmbmJzcDsgIyBkZWZhdWx0IGJ1ZiBsZW5ndGggZm9yIENTT1VORF9DT05UUk9MX0NIQU5O RUw6PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyBwdHIgPSBjdC5jX3ZvaWRfcCgpPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBjaGFuX3R5cGUgPSB0eXBlXyAmYW1wOyBDU09VTkRf Q0hBTk5FTF9UWVBFX01BU0s8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVyciA9ICcnPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXQgPSBsaWJjc291bmQuY3NvdW5kR2V0Q2hh bm5lbFB0cihzZWxmLmNzLCBjdC5ieXJlZihwdHIpLDxicj4NCiZndDsgY3N0cmluZyhuYW1lKSwg dHlwZV8pPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBpZiByZXQgPT0gQ1NPVU5EX1NVQ0NFU1M6PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyBpZiBjaGFuX3R5cGUgPT0gQ1NPVU5EX1NUUklOR19DSEFOTkVMOjxicj4NCiZndDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgcmV0dXJuIGN0LmNhc3QocHRyLCBTVFJJ TkdEQVRfcCksIGVycjxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgZWxpZiBjaGFuX3R5cGUgPT0g Q1NPVU5EX0FSUkFZX0NIQU5ORUw6PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyByZXR1cm4gY3QuY2FzdChwdHIsIEFSUkFZREFUX3ApLCBlcnI8YnI+DQom Z3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVsaWYgY2hhbl90eXBlID09IENTT1VORF9QVlNfQ0hBTk5FTDo8 YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IHJldHVybiBj dC5jYXN0KHB0ciwgUFZTREFUX3ApLCBlcnI8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGVsaWYg Y2hhbl90eXBlID09IENTT1VORF9BVURJT19DSEFOTkVMOjxicj4NCiZndDsmbmJzcDsmbmJzcDsm bmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgbGVuZ3RoID0gbGliY3NvdW5kLmNzb3VuZEdldEtz bXBzKHNlbGYuY3MpPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBhcnJheV90eXBlID0gbnAuY3R5 cGVzbGliLm5kcG9pbnRlcihNWUZMVCwgMSwgKGxlbmd0aCwpLDxicj4NCiZndDsgJ0NfQ09OVElH VU9VUycpPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBwID0gY3QuY2FzdChwdHIsIGFycmF5X3R5 cGUpPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4gYXJyYXlfZnJvbV9wb2ludGVyKHAp LCBlcnI8YnI+DQomZ3Q7ID09PT09PT09PT09PT09PT09PT09PGJyPg0KJmd0OyBhcnJheWRhdC5j c2Q8YnI+DQomZ3Q7PGJyPg0KJmd0OyAmbHQ7Q3NvdW5kU3ludGhlc2l6ZXImZ3Q7PGJyPg0KJmd0 OyAmbHQ7Q3NPcHRpb25zJmd0Ozxicj4NCiZndDsgLWNzb3VuZCAtcyAtZCAtK3J0YXVkaW89QUxT QSAtb2RldmF1ZGlvIC1iMTAyNCAtQjEwMjQ8YnI+DQomZ3Q7ICZsdDsvQ3NPcHRpb25zJmd0Ozxi cj4NCiZndDsgJmx0O0NzSW5zdHJ1bWVudHMmZ3Q7PGJyPg0KJmd0OyBzciZuYnNwOyZuYnNwOyZu YnNwOyZuYnNwOyA9IDQ4MDAwPGJyPg0KJmd0OyBrc21wcyA9IDMyPGJyPg0KJmd0OyBuY2hubHMg PSAyPGJyPg0KJmd0OyAwZGJmcyA9IDE8YnI+DQomZ3Q7PGJyPg0KJmd0OyBnaV9hcnJheV9zaXpl IGluaXQgMTAyNDxicj4NCiZndDs8YnI+DQomZ3Q7IGluc3RyIDE8YnI+DQomZ3Q7Jm5ic3A7Jm5i c3A7IGtfaW5kZXggaW5pdCAwPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBrX3RyaWdnZXIgaW5pdCAx PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBrX291dF9hcnJheVtdIGluaXQgZ2lfYXJyYXlfc2l6ZTxi cj4NCiZndDs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IDsgR2VuZXJhdGUgc29tZSBkYXRhIChlLmcu LCBzaW5lIHdhdmUgdmFsdWVzKTxicj4NCiZndDsmbmJzcDsmbmJzcDsga192YWwgb3NjaWxpIDEs IDE8YnI+DQomZ3Q7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyA7IEZpbGwgdGhlIGFycmF5PGJyPg0K Jmd0OyZuYnNwOyZuYnNwOyBrX291dF9hcnJheVtrX2luZGV4XSA9IGtfdmFsPGJyPg0KJmd0OyZu YnNwOyZuYnNwOyBrX2luZGV4ICs9IDE8YnI+DQomZ3Q7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBr Y250IGluaXQgMDxicj4NCiZndDs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7IGlmIGtfaW5kZXggPT0g Z2lfYXJyYXlfc2l6ZSB0aGVuPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyBjaG5zZXQga19vdXRfYXJyYXksICZxdW90O3B5dGhvbl9hcnJheV9jaGFubmVsJnF1 b3Q7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyBrX2luZGV4ID0gMDxicj4NCiZn dDs8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IDt0ZXN0IHByaW50IHNvbWUgYXJyYXkgY29udGVudHM8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IDt3aGlsZSBrY250ICZsdDsgMTAg ZG88YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5i c3A7IDtwcmludGtzMiAmcXVvdDslZlxuJnF1b3Q7LCBrX291dF9hcnJheVtrY250XTxicj4NCiZn dDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgO2tjbnQg Kz0xPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZu YnNwOyA7b2Q8YnI+DQomZ3Q7PGJyPg0KJmd0OyZuYnNwOyZuYnNwOyBlbmRpZjxicj4NCiZndDsg ZW5kaW48YnI+DQomZ3Q7PGJyPg0KJmd0OyZuYnNwOyBpbnN0ciAyOyBnZXQgay12YWx1ZXMgYXMg cHJvb2Ygd29ya2luZzxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsga2Nu dCBpbml0IDA8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGtfb3V0X2FycmF5W10g aW5pdCBnaV9hcnJheV9zaXplPGJyPg0KJmd0Ozxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsm bmJzcDsga1ZhbHNbXSBjaG5nZXRrICZxdW90O3B5dGhvbl9hcnJheV9jaGFubmVsJnF1b3Q7PGJy Pg0KJmd0Ozxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgd2hp bGUga2NudCAmbHQ7IDEwIGRvPGJyPg0KJmd0OyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOyZuYnNw OyZuYnNwOyZuYnNwOyZuYnNwOyBwcmludGtzMiAmcXVvdDslZlxuJnF1b3Q7LCBrVmFsc1trY250 XTxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsga2NudCArPTE8YnI+DQomZ3Q7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7 Jm5ic3A7IG9kPGJyPg0KJmd0Ozxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsgO2lm IG1ldHJvKDEpID09IDEgdGhlbjxicj4NCiZndDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJz cDsmbmJzcDsmbmJzcDsmbmJzcDsgO3ByaW50YXJyYXkga1ZhbHMsIDE8YnI+DQomZ3Q7Jm5ic3A7 Jm5ic3A7Jm5ic3A7Jm5ic3A7IDtlbmRpZjxicj4NCiZndDs8YnI+DQomZ3Q7IGVuZGluPGJyPg0K Jmd0Ozxicj4NCiZndDsgJmx0Oy9Dc0luc3RydW1lbnRzJmd0Ozxicj4NCiZndDsgJmx0O0NzU2Nv cmUmZ3Q7PGJyPg0KJmd0OyBpIDEgMSAyPGJyPg0KJmd0OyA7aSAyIDIgMjxicj4NCiZndDsgJmx0 Oy9Dc1Njb3JlJmd0Ozxicj4NCiZndDsgJmx0Oy9Dc291bmRTeW50aGVzaXplciZndDs8YnI+DQom Z3Q7PGJyPg0KPGJyPg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tPGJyPg0KPGJyPg0K RW5kIG9mIENTT1VORC1ERVYgRGlnZXN0IC0gMzAgSnVuIDIwMjYgdG8gNSBKdWwgMjAyNiAoIzIw MjYtMzcpPGJyPg0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqPGJyPg0KPC9kaXY+DQo8L3NwYW4+PC9mb250PjwvZGl2Pg0KPC9i b2R5Pg0KPC9odG1sPg0K --_000_CY8PR14MB5979DC72FD9B4F89B9574FE5E5FF2CY8PR14MB5979namp_--