Re: Complex Exponential Integral
Ethan A Merritt <[email protected]> Wed, 09 Jul 2025 19:30:34 -0700
| Newsgroups | gmane.comp.graphics.gnuplot.devel |
|---|---|
| Organization | University of Washington |
| Message-ID | <5538965.e99z0qppnp@stonelion> |
T24gV2VkbmVzZGF5LCA5IEp1bHkgMjAyNSAwNjoyNTowNyBQRFQgRXJpayBMdWlqdGVuIHdyb3Rl Ogo+IAo+IC0gVGhhdCBiZWluZyBzYWlkLCBJIHRoaW5rIGl0IGlzIG5vdCBpZGVhbCB0aGF0IHRo aXMgY29uZmlndXJhdGlvbiBvcHRpb24KPiB0aGVuIHVzZXMgYSB2ZXJzaW9uIG9mIGNleGludCB0 aGF0IG11c3QgYmUgbW9kaWZpZWQgYnkgdGhlIHVzZXIuIEluc3RlYWQsCj4gdGhlIHZlcnNpb24g b2YgYW1vc19haXJ5LmMgdGhhdCBJIHNlbnQgeWVzdGVyZGF5IHVzZXMgYW4gdW5tb2RpZmllZCBa RVhJTlQKPiBhcyBkaXN0cmlidXRlZCBpbiBOZXRsaWIsIG1pbmltaXppbmcgY29uZnVzaW9uIChh bmQgZWZmb3J0KSBmb3IgYW55b25lIHdobwo+IHdpc2hlcyB0byBpbmNvcnBvcmF0ZSBpdCB3aGVu IHRoZXkgY29tcGlsZSBnbnVwbG90LiBZb3UgY2xlYXJseSB1bmRlcnN0YW5kCj4gdGhlIHBvdGVu dGlhbCBpc3N1ZXMgb2YgdXBncmFkaW5nIGEgc2luZ2xlLXByZWNpc2lvbiBmdW5jdGlvbiB0byBk b3VibGUKPiBwcmVjaXNpb24sIGJ1dCBub3QgZXZlcnlvbmUgZG9lcyBhbmQgaXQgYWxzbyB3b3Vs ZCByZXF1aXJlIHRoZSB1c2VyIHRvCj4gYWRkcmVzcyBhIG1hdHRlciB0aGF0IHdhcyByZXNvbHZl ZCBieSB0aGUgb3JpZ2luYWwgYXV0aG9yIGZyb20gdGhlIG91dHNldC4KCkkgYW0gbm90IGZvbGxv d2luZyB5b3VyIHRob3VnaHQgdGhlcmUuICBXaGF0IG1hdHRlciBpcyB0aGF0PwoKVGhlIGJpZ2dl c3QgY2hhbmdlL2NsZWFudXAvdXBncmFkZS93aGF0ZXZlciBpcyB0aGF0IHRoZSBvcmlnaW5hbCBj b2RlCndhcyB3cml0dGVuIGluIGFuIGVyYSB3aGVuIGhhcmR3YXJlIGZsb2F0aW5nIHN1cHBvcnQg dmFyaWVkIHdpZGVseS4KVGhlIHIxbWFjaC9kMW1hY2ggcGVyLWluc3RhbGxhdGlvbiBjdXN0b21p emF0aW9uIGhhZCB0byBkZWFsIHdpdGgKYWxsIHNvcnRzIG9mIHNldHVwcywgd2hlcmVhcyBub3cg aGFyZHdhcmUgc3VwcG9ydCBmb3IgSUVFRSA3NTQgZmxvYXRpbmcKcG9pbnQgaXMgbmVhcmx5IHVu aXZlcnNhbC4gIAoKQXMgZGVzY3JpYmVkIGluIHRoZSAxOTkwIHBhcGVyLCB0aGUgc2VwYXJhdGUg ZG91YmxlLXByZWNpc2lvbiByb3V0aW5lIHdhcwpuZWVkZWQgYmVjYXVzZSBhdCB0aGF0IHRpbWUg Rm9ydHJhbiBkaWQgbm90IHN1cHBvcnQgZG91YmxlIHByZWNpc2lvbiBjb21wbGV4CmFzIGFuIGlu dHJpbnNpYyB0eXBlLiBTaW5jZSB0aGVuIChGb3J0cmFuOTA/IEZvcnRyYW45NT/OvCkgdGhpcyBs aW1pdGF0aW9uCndlbnQgYXdheSwgYW5kIHNvIGxvbmcgYXMgdGhlIGFsZ29yaXRobSBpdHNlbGYg cHJvdmlkZXMgc3VmZmljaWVudCBwcmVjaXNpb24KdGhlIHVzZSBvZiBzaW5nbGUgdnMgZG91Ymxl IHByZWNpc2lvbiBjYW4gYmUgbWFkZSBhIGNvbXBpbGUtdGltZSBvcHRpb24uCgpJIGRvIG5vdCBy ZWNhbGwgaGF2aW5nIHRvIGNoYW5nZSBhbnl0aGluZyBpbiB0aGUgY29kZSB0byBDRVhJTlQgaXRz ZWxmLgpJIG9ubHkgcmVwbGFjZWQgdGhlIHNlcGFyYXRlIG1hY2hpbmUtZGVwZW5kZW50IHJvdXRp bmVzIGluIGZhdm9yIG9mCmxldHRpbmcgdGhlIGNvbXBpbGVyIHBpY2sgdXAgdGhlIHJlbGV2YW50 IGNvbnN0YW50cyBmcm9tIHRoZSBzeXN0ZW0KZW52aXJvbm1lbnQgaXQgd2FzIGNvbXBpbGVkIG9u LCBhbmQgdGhlIGNvbXBpbGVyIGZsYWdzIHVzZWQgdG8gYnVpbGQgaXQuCgo+IC0gQnkgdGhlIHdh eSwgeW91IG1lbnRpb24gdGhhdCB5b3UgZm91bmQgYW4gb2xkZXIgdmVyc2lvbiBvZiBDRVhJTlQs IGJ1dAo+IHRoZSB0ZXh0IHlvdSBxdW90ZSAoIlJFVklTSU9OIERBVEUgIDg3MDUxNSIsIGV0Yy4p IGlzIGlkZW50aWNhbCBpbiB0aGUgQUNNCj4gdmVyc2lvbiBodHRwczovL3d3dy5uZXRsaWIub3Jn L3RvbXMtMjAxNC0wNi0xMC82ODMgOyB0aGVyZSBhcmUganVzdCBvdGhlcgo+IHN1YnJvdXRpbmVz IHByZWNlZGluZyBpdCBpbiB0aGUgc2FtZSBmaWxlLiBJbiBmYWN0LCBJIGRvIG5vdCB0aGluayB0 aGF0IHRoZQo+IGNvcHlyaWdodCBzaXR1YXRpb24gZmF2b3JzIENFWElOVDsgdGhlIHR3byBmdW5j dGlvbnMgd2VyZSBjcmVhdGVkIGF0IHRoZQo+IHNhbWUgdGltZSB1bmRlciB0aGUgc2FtZSBjaXJj dW1zdGFuY2VzIChaRVhJTlQgYWxzbyBjYXJyaWVzIHRoZSAxOTg3IGRhdGUpLgoKU3VyZS4gIEJv dGggcm91dGluZXMgd2VyZSB3cml0dGVuIGF0IHRoZSBzYW1lIHRpbWUuICBXaGVuIHRoZSBzb3Vy Y2UgY29kZQp3YXMgcGxhY2VkIGluIHRoZSBUT01TIGFyY2hpdmUgc29tZW9uZSBhZGRlZCB0aGUg Y29tbWVudCBsaW5lcyBhdCB0aGUgdG9wCmNpdGluZyB0aGUgMTk5MCBwYXBlci4gIE15IG9ubHkg cG9pbnQgd2FzIHRoYXQgY29waWVzIG9mIHRoZSBzb3VyY2UgY29kZSBleGlzdGVkCnRoYXQgcHJl ZGF0ZWQgdGhlIFRPTVMgcHVibGljYXRpb24gdGh1cyBhdm9pZGVkIGFueSBpbXBsaWVkIGNsYWlt IG9mIGxpY2Vuc2UKcmVxdWlyZW1lbnRzIGltcG9zZWQgYnkgdGhlIGpvdXJuYWwuICAgCgo+IC0g UmVnYXJkaW5nIGNvbmNyZXRlIGNvbXBpbGF0aW9uOiBJIGNvbXBpbGUgWkVYSU5UIGFuZCB0aGUg b3RoZXIgZnVuY3Rpb25zCj4gaXQgdXNlcyBpbnRvIGEgc2VwYXJhdGUgbGlicmFyeSAodW5saWtl IHlvdSwgSSB1c2UgaTFtYWNoIGFuZCBkMW1hY2gsIGJ1dAo+IHJlbHkgb24gdGhvc2UgYmVpbmcg cHJvdmlkZWQgaW4gbGlib3BlbnNwZWNmdW4pLiBJIGZvdW5kIHRoYXQgaWYgSSBzcGVjaWZ5Cj4g dGhpcyBsaWJyYXJ5IGluIExJQkFNT1NfTERGTEFHUywgY29uZmlndXJlIHdpbGwgZGV0ZWN0IGl0 LiBQcmFjdGljYWxseQo+IHNwZWFraW5nLCBJIG1ha2UgdGhpcyBhIHN0YXRpYyBsaWJyYXJ5IHNv IHRoYXQgdXNlcnMgb2YgdGhlIG1hY09TIGJpbmFyeSBkbwo+IG5vdCBuZWVkIHRvIHdvcnJ5IGFi b3V0IGl0IChJIGRpc3RyaWJ1dGUgZ251cGxvdCBhcyBhIHNpbmdsZSBzdGF0aWMKPiBleGVjdXRh YmxlKS4KPiAKPiBEZXBlbmRpbmcgb24geW91ciB2aWV3LCB0aGUgb25seSBxdWVzdGlvbiBpcyB0 aGVuIHdoZXRoZXIgd2Ugc3dpdGNoIGZyb20KPiBDRVhJTlQgdG8gWkVYSU5UICh3aGljaCB3b3Vs ZCBhbHNvIHJlcXVpcmUgYSBzbWFsbCBjaGFuZ2UgaW4gImNvbmZpZ3VyZSIpLgoKSSB3b3VsZG4n dCAic3dpdGNoIi4gIEkgd291bGQgaGF2ZSBjb25maWd1cmUgc2VhcmNoIGZvciBib3RoIGFuZCB1 c2Ugd2hpY2hldmVyCml0IGZvdW5kIGZpcnN0LiAgSSBkb24ndCBjYXJlIG11Y2ggd2hpY2ggb25l IGl0IGZpbmRzIGZpcnN0LCB1bmxlc3MgYXMgeW91IHNheSB0aGVyZQppcyB0aGUgcG9zc2liaWxp dHkgb2YgY29uZmxpY3Rpbmcgc3ltYm9scyBpbiBhbm90aGVyIGxpYnJhcnkuICBJZiBJIHVuZGVy c3RhbmQgeW91cgpwbGFuIGNvcnJlY3RseSwgdGhhdCB3b3VsZCBub3QgYmUgYSBwcm9ibGVtIGZv ciBlaXRoZXIgb2YgdXMuIAoKVGhlIGF1dG9jb25mIHNjcmlwdHMgYXJlIG5vdCBteSBzdHJvbmcg cG9pbnQgKHRvIHNheSB0aGUgbGVhc3QpLCBidXQgSSdsbCBzZWUKd2hhdCBJIGNhbiBjb21lIHVw IHdpdGguCgo+IEFwb2xvZ2llcyBmb3IgcmV2aXZpbmcgdGhpcyBvbGQgdG9waWMhCgpObyBwcm9i bGVtIC0gYSB0cmlwIGRvd24gbWVtb3J5IGxhbmUuCgpCeSB0aGUgd2F5LCB0aGUgSnVsaWEgbGFu Z3VhZ2UgcHJvamVjdCB1c2VzIGEgcmVpbXBsZW1lbnRpb24gaW4gYzk5IGZvcgp0aGUgQW1vcyBs aWJyYXJ5IGZ1bmN0aW9ucyBpbmNsdWRpbmcgZXhwaW50KCkuICAgSSBkaWQgbm90IHB1cnN1ZSB1 c2luZyBpdApiZWNhdXNlIHVubGlrZSBvcGVuc3BlY2Z1biBpdCB3b3VsZCBub3QgYmUgYXZhaWxh YmxlIHRvIHVzZXJzIGFzIGEgc3RhbmRhcmQKbGludXggZGlzdHJpYnV0aW9uIHBhY2thZ2UuCkJ1 dCBpZiB5b3UncmUgYWxyZWFkeSBidWlsZGluZyBzdGF0aWMgbGlicmFyaWVzIHlvdXJzZWxmLCBh bmQgbm90IHVuZGVyIGxpbnV4LAp0aGF0IG1pZ2h0IGJlIG9mIGludGVyZXN0IHRvIHlvdSBhcyBh biBhbHRlcm5hdGl2ZS4KCiAgY2hlZXJzLAoJRXRoYW4KCj4gCj4gRXJpawo+IAo+IE9uIFR1ZSwg SnVsIDgsIDIwMjUgYXQgMTE6NTLigK9QTSBFdGhhbiBBIE1lcnJpdHQgPG1lcnJpdHRAdXcuZWR1 PiB3cm90ZToKPiAKPiA+IE9uIFR1ZXNkYXksIDggSnVseSAyMDI1IDE4OjU1OjAzIFBEVCBFcmlr IEx1aWp0ZW4gd3JvdGU6Cj4gPiA+IEhpLAo+ID4gPgo+ID4gPiBJIGZvdW5kIHRoZSBjb2RlIG9u IGh0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwczovL2RsLmFjbS5vcmcvZG9pL2Ficy8x MC4xMTQ1Lzc4OTI4Ljc4OTM0X187ISFLLUh6N20wVnQ1NCFqVkplRzFvZUY4REJGNC1tZUx5UGJE VEMybkJQMmx1MENob0lrZmdLZU9aR3NxRkE0THFQV1NxdEo1WkswWll2MWp3aWJPSUFHRGJVRU0y Tm1rcTYkICA7IHRoZQo+ID4gPiBzdXBwbGVtZW50YXJ5IG1hdGVyaWFsIGNvbnRhaW5zIGFsbCB0 aGUgc3Vicm91dGluZXMgY29uY2F0ZW5hdGVkIGludG8gb25lCj4gPiA+IGZpbGUuCj4gPiA+IEl0 IGlzIGFsc28gYXZhaWxhYmxlIG9uIGh0dHBzOi8vdXJsZGVmZW5zZS5jb20vdjMvX19odHRwczov L3d3dy5uZXRsaWIub3JnL3RvbXMtMjAxNC0wNi0xMC9fXzshIUstSHo3bTBWdDU0IWpWSmVHMW9l RjhEQkY0LW1lTHlQYkRUQzJuQlAybHUwQ2hvSWtmZ0tlT1pHc3FGQTRMcVBXU3F0SjVaSzBaWXYx andpYk9JQUdEYlVFTnZpZ3F1VyQgCj4gPiAoc2Nyb2xsIHRvCj4gPiA+IGFsZ29yaXRobSA2ODMp Lgo+ID4gPiBUaGUgZmFjdCB0aGF0IGl0IGlzIG9uIG5ldGxpYiB0ZWxscyBtZSBpdCBpcyBsaWtl bHkgZnJlZSB0byB1c2UuCj4gPgo+ID4gQXQgdGhlIHRvcCBvZiB0aGF0IHBhZ2UgaXMgYSBub3Rp Y2U6Cj4gPgo+ID4gICAgIFVzZSBvZiBBQ00gQWxnb3JpdGhtcyBpcyBzdWJqZWN0IHRvIHRoZSBB Q00gU29mdHdhcmUgQ29weXJpZ2h0IGFuZAo+ID4gICAgIExpY2Vuc2UgQWdyZWVtZW50Cj4gPgo+ ID4gPiBIb3dldmVyLCB0aGUgQUNNIFRPTVMgbGljZW5zZSBhZ3JlZW1lbnQgaXMgaGVyZToKPiA+ ID4gaHR0cHM6Ly91cmxkZWZlbnNlLmNvbS92My9fX2h0dHBzOi8vd3d3LmFjbS5vcmcvcHVibGlj YXRpb25zL3BvbGljaWVzL3NvZnR3YXJlLWNvcHlyaWdodC1ub3RpY2VfXzshIUstSHo3bTBWdDU0 IWpWSmVHMW9lRjhEQkY0LW1lTHlQYkRUQzJuQlAybHUwQ2hvSWtmZ0tlT1pHc3FGQTRMcVBXU3F0 SjVaSzBaWXYxandpYk9JQUdEYlVFSHJrQURVOSQgLgo+ID4gPiBJIGFtIG5vdCBzdXJlIGlmIHRo aXMgY29uZmxpY3RzIHdpdGggR251cGxvdCdzIGxpY2Vuc2U/Cj4gPgo+ID4gVGhlIGlzc3VlIGlz IG5vdCB0aGF0IGl0IGNvbmZsaWN0cyB3aXRoIGdudXBsb3QncyBsaWNlbnNlLgo+ID4gVGhlIGlz c3VlIGlzIHRoYXQgRGViaWFuLCBmb3IgZXhhbXBsZSwgd2FzIGNvbmNlcm5lZCB0aGF0IGluY2x1 c2lvbgo+ID4gd2l0aCBnbnVwbG90IHdvdWxkIG1ha2UgdGhlIHdob2xlIHBhY2thZ2Ugbm9uLWZy ZWUuCj4gPgo+ID4gVGhhbmtzIGZvciB0aGUgbGluayB0byB0aGUgQUNNIHNpdGUuICBUaGV5IGhh dmUgdmVyeSBtdWNoIGNoYW5nZWQKPiA+IHRoZWlyIHBvbGljeSBzaW5jZSBJIGZpcnN0IGxvb2tl ZCBpbnRvIHRoaXMuICBBbmQgaXQgc2VlbXMgdGhhdCBmb3IKPiA+IHNvZnR3YXJlCj4gPiBwdWJs aXNoZWQgc2luY2UgMjAxMyB0aGUgQUNNIGRvZXMgbm90IGNsYWltIGFueSByaWdodHMuICBUaGF0 J3MgZ29vZC4KPiA+IFVuZm9ydHVuYXRlbHkgaXQgZG9lc24ndCBoZWxwLiAgRm9yIG9sZGVyIHNv ZnR3YXJlICh0aGUgQW1vcyByb3V0aW5lcwo+ID4gYXJlIGZyb20gdGhlIDE5ODBzKSB0aGV5IHN0 YXRlIHRoYXQgdGhlIHRlcm1zIG9mIHRoZQo+ID4gZWFybGllciBBQ00gbGljZW5zZSBzdGlsbCBh cHBseSwgd2hpY2ggcmVzdHJpY3RzIGNvbW1lcmNpYWwgdXNlLgo+ID4gSWYgdGhhdCB3ZXJlIHRy dWUgaXQgd291bGQgbWFrZSB0aGUgd2hvbGUgc2V0IG9mIEFtb3Mgcm91dGluZXMKPiA+IFthcyBv YnRhaW5lZCBmcm9tIHRoZW1dIG5vbi1mcmVlLCBidXQgc2VlIGJlbG93Lgo+ID4KPiA+ID4gV2hl dGhlciBhIG1vcmUgcGVybWlzc2l2ZSBsaWNlbnNlIGFwcGxpZXMgdG8gY2V4aW50Xy5mICB0aGFu IHRvCj4gPiA+IHpleGludF8uZiBpcyBhbHNvIHVuY2xlYXIgdG8gbWUuCj4gPgo+ID4gSXQgaXMg bXkgYmVsaWVmIHRoYXQgQUNNIHdhcyBzaW1wbGx5IHdyb25nIGluIGV2ZXIgY2xhaW1pbmcgdGhl IHJpZ2h0Cj4gPiB0byBsaWNlbnNlIG9yIHJlc3RyaWN0IGFueSBvZiB0aGVzZSByb3V0aW5lcy4g IFRoZSB3ZXJlIHByb2R1Y2VkIGF0Cj4gPiBTYW5kaWEgTmF0aW9uYWwgTGFib3JhdG9yaWVzIHVu ZGVyIFVTIGdvdmVybm1lbnQgY29udHJhY3QsIGFuZCBhcwo+ID4gSSB1bmRlcnN0YW5kIGl0IChJ IGFtIG5vdCBhIGxhd3llciBhbmQgYWxsIHRoYXQpIHRoYXQgbWFrZXMgdGhlbQo+ID4gIldvcmtz IENyZWF0ZWQgYnkgdGhlIFVuaXRlZCBTdGF0ZXMgR292ZXJubWVudCIgYW5kIGFzIHN1Y2ggbm90 Cj4gPiBzdWJqZWN0IHRvIGNvcHlyaWdodC4KPiA+Cj4gPiBCdXQgdGhhdCdzIG9ubHkgbWUuICBJ IGRvbid0IGhhdmUgYW55IHN3YXkgb3ZlciB3aGF0IERlYmlhbiBvciBhbnlvbmUKPiA+IGVsc2Ug Y29uc2lkZXJzIHRvIGJlICJub24tZnJlZSIuICBCYXNlZCBvbiBwYXN0IGNvbnZlcnNhdGlvbnMg bXkKPiA+IHVuZGVyc3RhbmRpbmcgaXMgdGhhdCBEZWJpYW4gY29uc2lkZXJzIHRoZSBUT01TIGxp Y2Vuc2UgdG8gcG9pc29uCj4gPiBhbnkgcHJvamVjdCB0aGF0IGluY2x1ZGVzIGl0IGFzIG5vbi1m cmVlLiAgVGhvc2UgY29udmVyc2F0aW9ucyB3ZXJlCj4gPiBtYW55IHllYXJzIGFnbywgc28gSSBz dXBwb3NlIHRoZSBpc3N1ZSBjb3VsZCBiZSByZXZpc2l0ZWQuCj4gPgo+ID4gPiBBbiBhd2t3YXJk IHBvaW50LCB0byB0aGUgYmVzdCBvZiBteSB1bmRlcnN0YW5kaW5nLCBpcyB0aGF0IGFuIHVubW9k aWZpZWQKPiA+ID4gdmVyc2lvbiBvZiBjZXhpbnQgd2lsbCBub3Qgd29yayB3aXRoIHRoZSBHbnVw bG90IHNvdXJjZSBjb2RlLCBhcyBpdAo+ID4gZXhwZWN0cwo+ID4gPiBzaW5nbGUtcHJlY2lzaW9u IGFyZ3VtZW50cy4gWWV0LCBjaGFuZ2luZyBjZXhpbnQgaXMgbm90Cj4gPiA+IGNvbXBsZXRlbHkg c3RyYWlnaHRmb3J3YXJkOiBDb21wYXJpbmcgY2V4aW50IGFuZCB6ZXhpbnQgKGFuZCB0aGUKPiA+ ID4gYWNjb21wYW55aW5nIHJvdXRpbmVzIGNleGVudCBhbmQgemV4ZW50KSwgSSBub3RpY2VkIHRo ZSBtb3JlIHN1YnRsZSBwb2ludAo+ID4gPiB0aGF0IGNleGludCB1c2VzIHIxbWFjaC5mIGFuZCB6 ZXhpbnQgdXNlcyBkMW1hY2guZjsgbW9yZW92ZXIsIHRoZXkgdXNlCj4gPiA+IGRpZmZlcmVudCBj b25zdGFudHMgZnJvbSBpMW1hY2ggdG8gZXN0YWJsaXNoIHByZWNpc2lvbiAoZWxlbWVudHMgMTIs MTMKPiA+IHZzLgo+ID4gPiAxNSwxNikuIEFsc28sIGluIHpleGludCBhbGwgY29uc3RhbnRzIGFy ZSByZXBsYWNlZCBieSB0aGVpcgo+ID4gPiBkb3VibGUtcHJlY2lzaW9uIGNvdW50ZXJwYXJ0cy4K PiA+Cj4gPiBUaGlzIGdldHMgY29tcGxpY2F0ZWQuCj4gPgo+ID4gSSBoYXZlIGRvd25sb2FkZWQg YW5kIGhhZCBhIHF1aWNrIGxvb2sgYXQgdGhlIGNvZGUgYXZhaWxhYmxlIHRocm91Z2ggdGhlCj4g PiBuZXRsaWIgc2l0ZS4gIEl0IGlzIGFwcGFyZW50bHkgbmV3ZXIgdGhhbiB0aGUgY29kZSBJIGhh dmUgaGVyZS4gSXQgY2l0ZXMKPiA+IHRoZSAxOTkwCj4gPiBUT01TIHBhcGVyIGF0IHRoZSB0b3Ag YW5kIGFzIHlvdSBzYXkgaXQgY29uY2F0ZW5hdGVzIG1hbnkgc21hbGxlciByb3V0aW5lcywKPiA+ IHdoZXJlYXMgdGhlIGNvZGUgSSBoYXZlIGNsYWltcyB0byBiZSBmcm9tIDE5ODcgYW5kIHN0YXJ0 cwo+ID4gQyoqKkJFR0lOIFBST0xPR1VFICBDRVhJTlQKPiA+IEMqKipEQVRFIFdSSVRURU4gICA4 NzA1MTUgICAoWVlNTUREKQo+ID4gQyoqKlJFVklTSU9OIERBVEUgIDg3MDUxNSAgIChZWU1NREQp Cj4gPiBDKioqQ0FURUdPUlkgTk8uICBCNUUKPiA+IEMqKipLRVlXT1JEUyAgRVhQT05FTlRJQUwg SU5URUdSQUxTLCBTSU5FIElOVEVHUkFMLCBDT1NJTkUgSU5URUdSQUwKPiA+IEMqKipBVVRIT1Ig IEFNT1MsIERPTkFMRCBFLiwgU0FORElBIE5BVElPTkFMIExBQk9SQVRPUklFUwo+ID4gQyoqKlBV UlBPU0UgIFRPIENPTVBVVEUgRVhQT05FTlRJQUwgSU5URUdSQUxTIE9GIEEgQ09NUExFWCBBUkdV TUVOVAo+ID4KPiA+IFRoZXJlIGFyZSBzb21lIGNvZGUgZGlmZmVyZW5jZXMgZWxzZXdoZXJlLCBi dXQgSSBkaWQgbm90IGxvb2sgaW4gZGV0YWlsCj4gPiBhbmQgZG9uJ3QgaGF2ZSBhbnl0aGluZyB1 c2VmdWwgdG8gc2F5IGFib3V0IHRoZW0gcmlnaHQgbm93Lgo+ID4KPiA+IEJleW9uZCB0aGF0LCB0 byB0aGUgZXh0ZW50IHRoYXQgdGhlcmUgYXJlIHByZWNpc2lvbi1zZW5zaXRpdmUgY29uc3RhbnRz IGluCj4gPiB0aGUKPiA+IGNvZGUgdGhlIG51bWVyaWNhbCB2YWx1ZXMgc2VlbSBpZGVudGljYWws IGJ1dCB0aGV5IGFyZSBkZWNsYXJlZCwgZm9yCj4gPiBleGFtcGxlCj4gPiAtNS43NzIxNTY2NDkw MTUzMjg2MUUtMDEgICB2cyAgIC01Ljc3MjE1NjY0OTAxNTMyODYxRC0wMQo+ID4gQXMgSSByZWNh bGwgaW4gMTk4NyB0aGF0IGRpZmZlcmVuY2Ugd2FzIG5lY2Vzc2FyeSB0byBkaXN0aW5ndWlzaCBz aW5nbGUtCj4gPiBhbmQKPiA+IGRvdWJsZS0gcHJlY2lzaW9uIGNvbnN0YW50cywgYnV0IEkgZG9u J3QgdGhpbmsgY3VycmVudCBGb3J0cmFuIHBheXMgYW55Cj4gPiBhdHRlbnRpb24gdG8gaXQgd2hl biB1c2luZyB0aGUgY29uc3RhbnQgaW4gYSBkb3VibGUtcHJlY2lzaW9uIGNvbnRleHQuCj4gPiBJ IGNvbXBpbGUgd2l0aAo+ID4gICAgICBnZm9ydHJhbiAtZmRlZmF1bHQtcmVhbC04IC1mZGVmYXVs dC1kb3VibGUtOAo+ID4gSS5lLiBldmVyeXRoaW5nIHNob3VsZCBiZSBkb3VibGUgcHJlY2lzaW9u IGJ5IGRlZmF1bHQuCj4gPiBTbyBhbHRob3VnaCB5b3UgZGVzY3JpYmUgY2V4aW50KCkgYXMgYSBz aW5nbGUtcHJlY2lzaW9uIHJvdXRpbmUsCj4gPiB0aGF0IGlzbid0IHRydWUgd2hlbiBJIGJ1aWxk IGl0IGhlcmUuICBPZiBjb3Vyc2UgaXQncyBhbHdheXMgcG9zc2libGUKPiA+IEkgbWlzc2VkIHNv bWV0aGluZyBpbiB0aGUgY29kZSB0aGF0IGxvc2VzIHByZWNpc2lvbiwgYnV0IGdpdmVuIHRoYXQK PiA+IGl0IGl0ZXJhdGVzIHVudGlsIGNvbnZlcmdlbmNlIEkgdGhpbmsgdGhhdCB3b3VsZCBub3Qg ZXZlbiBtYXR0ZXIuCj4gPgo+ID4gPiBGb3IgYWxsIHRoZXNlIHJlYXNvbnMsIEkgd291bGQgYXJn dWUgdGhhdCBpZiBjb3B5cmlnaHQgcmVzdHJpY3Rpb25zIGFyZQo+ID4gdGhlCj4gPiA+IHNhbWUg Zm9yIGNleGludCBhbmQgemV4aW50LCBpdCB3b3VsZCBiZSBiZXR0ZXIgdG8gdXNlIHRoZSBsYXR0 ZXIgLSBhIHVzZXIKPiA+ID4gY291bGQgdGhlbiBkaXJlY3RseSBkb3dubG9hZCB0aGlzIHN1YnJv dXRpbmUgYW5kIHVzZSBpdCB3aXRob3V0Cj4gPiA+IG1vZGlmaWNhdGlvbnMuCj4gPgo+ID4gWW91 IG1heSBoYXZlIGEgcG9pbnQgYWJvdXQgYW4gZW5kLXVzZXIgd2hvIGJ1aWxkcyBmcm9tIHNvdXJj ZS4KPiA+IEJ1dCB5b3UndmUgYmVlbiBidWlsZGluZyBhbmQgbWFraW5nIGF2YWlsYWJsZSBiaW5h cmllcyBmb3IgTWFjT1MsIHJpZ2h0Pwo+ID4gSSB0aGluayB0aGF0IG1vdmVzIGFueSBsZWdhbCBx dWVzdGlvbiB0byAiZGlzdHJpYnV0aW9uIiByYXRoZXIgdGhhbiAidXNlIi4KPiA+IFlvdSBtYXkg d2VsbCBhZ3JlZSB3aXRoIG1lIHRoYXQgdGhlIGNvZGUgeW91IHdhbnQgdG8gaW5jbHVkZSBpcyBu b3Qgc3ViamVjdAo+ID4gdG8gdGhlIFRPTVMgbGljZW5zZSBldmVuIHRob3VnaCBUT01TIHNlZW1z IHRvIHNheSBpdCBpcy4gIEJ1dCB5b3Ugc2hvdWxkCj4gPiBhdCBsZWFzdCBiZSBhd2FyZSB0aGF0 IHRoZSBxdWVzdGlvbiBoYXMgYmVlbiByYWlzZWQgaW4gdGhlIHBhc3QuCj4gPgo+ID4gPiBMYXN0 bHksIGEgdHJpY2t5IHBvaW50IHRoYXQgaXMgZWFzaWx5IG92ZXJsb29rZWQgaXMgdGhhdCBpMW1h Y2gsIHIxbWFjaCwKPiA+ID4gZDFtYWNoIG5lZWQgdG8gYmUgY29uZmlndXJlZCBmb3IgeDg2LiBN b3Jlb3Zlciwgc2luY2Ugb3BlbnNwZWNmdW4gaXMKPiA+IGJ1aWx0Cj4gPiA+IGFzIGEgbGlicmFy eSwgaXQgYWxyZWFkeSBjb250YWlucyBpMW1hY2ggYW5kIGQxbWFjaCwgb3BlbmluZyB0aGUgZG9v ciBmb3IKPiA+ID4gY29uZmxpY3RpbmcgZnVuY3Rpb25zIGlmIG9uZSBnYXRoZXJzIGNleGludC96 ZXhpbnQgaW50byBhIHNlcGFyYXRlCj4gPiA+IGxpYnJhcnkuLi4KPiA+Cj4gPiBBcyB0byByMW1h Y2guZiBhbmQgZDFtYWNoLmYsICBJIGFtIG5vdCB1c2luZyBlaXRoZXIgb2YgdGhlbSBoZXJlLgo+ ID4gSSByZXBsYWNlZCB0aGVzZSB3aXRoIGEgQy1sYW5ndWFnZSBkYXRhIGJsb2NrIChhdHRhY2hl ZCkgdGhhdCBJIHVzZQo+ID4gdG8gYnVpbGQgbGliYW1vcyBmcm9tIHRoZSBTYW5kaWEgc291cmNl cyBmb3IgYWxsIHRoZSBBbW9zIHJvdXRpbmVzLgo+ID4gSSBsaW5rIGFnYWluc3QgdGhhdCByYXRo ZXIgdGhhbiBhZ2FpbnN0IGxpYm9wZW5zcGVjZnVuLgo+ID4KPiA+IEkgc2VudCBteSBjb2xsZWN0 aW9uIG9mIGxpYmFtb3Mgc291cmNlIHRvIFRhdHN1cm8gTWF0c3Vva2EgaW4gY2FzZQo+ID4gaGUg d2FudGVkIHRvIHVzZSB0aGVtIGZvciBidWlsZGluZyBXaW5kb3dzIHBhY2thZ2VzLgo+ID4gSSBl dmVuICBjb25zaWRlcmVkIGFkZGluZyBzb3VyY2UgZm9yIGFsbCB0aGUgbGliYW1vcyByb3V0aW5l cyBhcyBhCj4gPiBzZXBhcmF0ZSBzdWJkaXJlY3RvcnkgaW4gdGhlIGdudXBsb3QgZGlzdHJpYnV0 aW9uIHBhY2thZ2UuCj4gPiBCdXQgdGhlbiBJIGZvdW5kIHRoYXQgbWFueS9tb3N0IGxpbnV4IGRp c3Ryb3MgIGFscmVhZHkgcHJvdmlkZQo+ID4gbGlib3BlbnNwZWNmdW4gc28gSSBkZWNpZGVkIGFn YWluc3QgY29tcGxpY2F0aW5nIHRoZSBnbnVwbG90IHBhY2thZ2luZwo+ID4gYnkgaGF2aW5nIGl0 IHN1cHBseSBhIHdob2xlIHNlcGFyYXRlIGxpYnJhcnkgZm9yIHRoZSBzYWtlIG9mIGEgc2luZ2xl Cj4gPiByb3V0aW5lLgo+ID4KPiA+ID4gSSBhbSBhdHRhY2hpbmcgbXkgbW9kaWZpZWQgdmVyc2lv biBvZiBhbW9zX2FpcnkuYywgaW4gY2FzZSB5b3UgYXJlIHN3YXllZAo+ID4gPiBieSBteSBhcmd1 bWVudC4uLgo+ID4KPiA+IEFyZSB5b3UgdGhpbmtpbmcgdGhhdCB0aGUgdXNlciB3b3VsZCBidWls ZCB6ZXhpbnQubyBhcyBhIHNlcGFyYXRlIG9iamVjdAo+ID4gbW9kdWxlIGFuZCB0aGVuIGFkZCBp dCB0byB0aGUgTWFrZWZpbGUgc29tZWhvdz8KPiA+Cj4gPiBJIHdvdWxkIHByZWZlciB0byBtYWtl IGl0IGEgY29uZmlndXJhdGlvbiBvcHRpb24uIE5vdCBzdXJlIGhvdyBiZXN0Cj4gPiB0byBjYXB0 dXJlIGEgc2luZ2xlIGV4dHJhIHNvdXJjZSBmaWxlIHdob3NlIHByb3ZlbmFuY2UgYW5kIGRlcGVu ZGVuY2llcwo+ID4gd2UgZG9uJ3QgY29udHJvbC4gIEkgdGhpbmsgaXQgd291bGQgYmUgZWFzaWVy IHRvIHJlcXVpcmUgdGhhdCBpdCBoYXMKPiA+IGFscmVhZHkKPiA+IGJlZW4gd3JhcHBlZCBpbnRv IGEgc2hhcmVkIGxpYnJhcnkuCj4gPiBPciBoZXksIGFub3RoZXIgYWx0ZXJuYXRpdmUgaXMgdG8g cHJvdmlkZSBhIHRlbXBsYXRlIGZvciBtYWtpbmcgaXQKPiA+IGEgcGx1Z2luLiAgVGhlIGRpc3Ry aWJ1dGlvbiBwYWNrYWdlIGN1cnJlbnRseSBoYXMgYSBkZW1vIHBsdWdpbiBmb3IKPiA+IHVpZ2Ft bWEuICBQcm92aWRpbmcgYSBwbHVnaW4gZm9yIGEgRm9ydHJhbiByb3V0aW5lIG1pZ2h0IGJlIG9m Cj4gPiBpbnRlcmVzdCBldmVuIGFwYXJ0IGZyb20gZmlsbGluZyBhIGdhcCBpbiBzcGVjaWFsIGZ1 bmN0aW9uIGNvdmVyYWdlLgo+ID4KPiA+ICAgICAgIEV0aGFuCj4gPgo+ID4KPiA+ID4KPiA+ID4K PiA+ID4KPiA+ID4gT24gVHVlLCBKdWwgOCwgMjAyNSBhdCA3OjI24oCvUE0gRXRoYW4gQSBNZXJy aXR0IDxtZXJyaXR0QHV3LmVkdT4gd3JvdGU6Cj4gPiA+Cj4gPiA+ID4gT24gVHVlc2RheSwgOCBK dWx5IDIwMjUgMTQ6MjE6MDEgUERUIEVyaWsgTHVpanRlbiB3cm90ZToKPiA+ID4gPiA+IEhpIEV0 aGFuLAo+ID4gPiA+ID4KPiA+ID4gPiA+IEluIGFtb3NfYWlyeS5jLCB5b3Ugd3JpdGU6Cj4gPiA+ ID4gPgo+ID4gPiA+ID4gICogVGhlIGNleGludF8oKSByb3V0aW5lIGlzIGFsc28gZnJvbSB0aGUg QU1PUyBjb2xsZWN0aW9uLCBidXQgaXMgbm90Cj4gPiA+ID4gcGFydAo+ID4gPiA+ID4gICogb2Yg dGhlIEJlc3NlbCBmdW5jdGlvbiBzdWJzZXQgYW5kIG5vdCBpbmNsdWRlZCBpbiBsaWJvcGVuc3Bl Y2Z1bi4KPiA+ID4gPiA+ICAqIEkgY291bGQgbm90IGZpbmQgc291cmNlIGZvciBhIHZlcnNpb24g b2YgdGhlIHNvdXJjZSB0aGF0IHNwbGl0cwo+ID4gdGhlCj4gPiA+ID4gPiAgKiByZWFsIGFuZCBp bWFnaW5hcnkgcGFydHMgb2YgdGhlIGFyZ3VtZW50cyBhcyB3aXRoIHRoZSB6eHh4eC5mCj4gPiBC ZXNzZWwKPiA+ID4gPiA+ICAqIHJvdXRpbmVzOyB0aGlzIG9uZSBhY2NlcHRzIGFuZCByZXR1cm5z IGEgQ01QTFggYXJndW1lbnQgcmF0aGVyCj4gPiB0aGFuCj4gPiA+ID4gPiBzZXBhcmF0ZQo+ID4g PiA+ID4gICogcmVhbCBhbmQgaW1hZ2luYXJ5IHBhcnRzLgo+ID4gPiA+ID4gICogICAgICAgICAg ICAgRC4gRS4gQW1vcywgQUxHT1JJVEhNIDY4MyAgQSBQb3J0YWJsZSBGT1JUUkFOCj4gPiBTdWJy b3V0aW5lCj4gPiA+ID4gPiAgKiAgICAgICAgICAgICBmb3IgRXhwb25lbnRpYWwgSW50ZWdyYWxz IG9mIGEgQ29tcGxleCBBcmd1bWVudAo+ID4gPiA+ID4gICogICAgICAgICAgICAgQUNNIFRyYW5z LiBNYXRoLiBTb2Z0d2FyZSAxNjoxNzgtMTgyICgxOTkwKQo+ID4gPiA+ID4KPiA+ID4gPiA+IFRo aXMgY29uZnVzZXMgbWUgZm9yIHR3byByZWFzb25zOgo+ID4gPiA+ID4gLSBZb3UgaW52b2tlIENF WElOVCBhcyBhIGRvdWJsZSBwcmVjaXNpb24gZnVuY3Rpb24sIGV2ZW4gdGhvdWdoIHRoaXMKPiA+ ID4gPiA+IEZvcnRyYW4gZnVuY3Rpb24gaXMgc2luZ2xlIHByZWNpc2lvbi4KPiA+ID4gPgo+ID4g PiA+ID4gLSBUaGUgYWxnb3JpdGhtIDY4MyB5b3UgcXVvdGUgRE9FUyBwcm92aWRlIGEgc2VwYXJh dGUgZG91YmxlCj4gPiBwcmVjaXNpb24KPiA+ID4gPiA+IGZ1bmN0aW9uLCBaRVhJTlQuIE1vcmVv dmVyLCB0aGF0IGZ1bmN0aW9uIGRvZXMgZXhhY3RseSB3aGF0IHlvdSB3ZXJlCj4gPiA+ID4gPiBs b29raW5nIGZvciwgbmFtZWx5IHRha2luZyBhbmQgcmV0dXJuaW5nIHNlcGFyYXRlIHJlYWwgYW5k IGltYWdpbmFyeQo+ID4gPiA+IHBhcnRzLgo+ID4gPiA+Cj4gPiA+ID4gVGhlcmUgaXMgc29tZSBo aXN0b3J5IGJlaGluZCB0aGlzIGR1ZSB0byBJTUhPIG92ZXItemVhbG91cywgb3IgYXQgbGVhc3QK PiA+ID4gPiBvdmVybHkgcGVzc2ltaXN0aWMsIGNvbmNlcm4gYWJvdXQgbGljZW5zZSBjb250YW1p bmF0aW9uIHdpdGggbm9uLWZyZWUKPiA+IGNvZGUuCj4gPiA+ID4gSSBjaXRlZCBhIHB1YmxpY2F0 aW9uIGluIEFDTS9UTVMgdGhhdCBkZXNjcmliZXMgdGhlIGltcGxlbWVudGF0aW9uLgo+ID4gPiA+ IEhvd2V2ZXIsIHBlb3BsZSBoYXZlIGFzc3NlcnRlZCB0aGF0IGNvZGUgb2J0YWluZWQgdGhyb3Vn aCB0aGUgQUNNCj4gPiA+ID4gam91cm5hbCBpcyBub24tZnJlZSBiZWNhdXNlIHRoZSBqb3VybmFs IGNsYWltcyBjb3B5cmlnaHQuCj4gPiA+ID4gSSBiZWxpZXZlIHRoaXMgdG8gYmUgZmFjdHVhbGx5 IGluY29ycmVjdDsgdGhlIHB1Ymxpc2hlZCBhcnRpY2xlIG1heSBiZQo+ID4gPiA+IHN1YmplY3QK PiA+ID4gPiB0byBjb3B5cmlnaHQgYnV0IG5vdCB0aGUgY29kZSBpdCBkZXNjcmliZXMuIEluIGFu eSBjYXNlLCByYXRoZXIgdGhhbgo+ID4gcHVyc3VlCj4gPiA+ID4gdGhlIGFyZ3VtZW50IEkgaW5z dGVhZCB1c2VkIGNvcGllcyBvZiB0aGUgY29kZSBvYnRhaW5lZCBmcm9tIFVTCj4gPiBuYXRpb25h bAo+ID4gPiA+IGxhYiByZXBvc2l0b3JpZXMuICBJIGZvdW5kIHNvdXJjZSB0aGVyZSBmb3IgY2V4 aW50LmYgYnV0IG5vdCBmb3IKPiA+IHpleGludC5mLAo+ID4gPiA+IHNvIHRoYXQgaXMgd2hhdCBJ IHVzZSBteXNlbGYgdG8gYnVpbGQgbGliYW1vcyBhbmQgd2hhdCBJIGludm9rZWQgZnJvbQo+ID4g dGhlCj4gPiA+ID4gZ251cGxvdCBjb2RlLgo+ID4gPiA+Cj4gPiA+ID4gRXZlbiBzbyB0aGF0IHdh cyBhcHBhcmVudGx5IG5vdCBzdWZmaWNpZW50IGJ5IGl0c2VsZiB0byBjb252aW5jZQo+ID4gaGFy ZC1jb3JlCj4gPiA+ID4gImZyZWUgbGljZW5zZXMgb25seSIgZ2F0ZWtlZXBlcnMuCj4gPiA+ID4g VGhlcmUgaXMgYW4gZXhwbGljaXQgc3RhdGVtZW50IG9mIHRoZSBbbm9uXWNvcHlyaWdodCBzdGF0 dXMgb2YgdGhlIGNvZGUKPiA+ID4gPiBpbiB0aGUgY2l0ZWQgMTk4NSBTYW5kaWEgTmF0aW9uYWwg TGFib3JhdG9yeSByZXBvcnQsIGJ1dCB0aGF0IHJlcG9ydAo+ID4gPiA+IHByZWRhdGVkIGRldmVs b3BtZW50IG9mIHRoZSBleHBpbnQgcm91dGluZXMgKDE5OTA/KSBhbmQgSSBkaWQgbm90IGZpbmQK PiA+IGEKPiA+ID4gPiBzZXBhcmF0ZSBTYW5kaWEgcmVwb3J0IHRoYXQgbWVudGlvbnMgdGhlbSBz cGVjaWZpY2FsbHkuCj4gPiA+ID4gVGhhdCBpcyBwcm9iYWJseSB3aHkgbmVpdGhlciByb3V0aW5l IGlzIGluY2x1ZGVkIGluIGxpYm9wZW5zcGVjLAo+ID4gPiA+IGFuZCB3aHkgaW5jbHVzaW9uIGlu IGdudXBsb3QgaXMgYSBjb25maWd1cmF0aW9uIG9wdGlvbi4KPiA+ID4gPgo+ID4gPiA+ID4gSSBj aGFuZ2VkIGZfYW1vc19jZXhpbnQgdG8gdXNlIFpFWElOVCAoanVzdCBmb3IgbXkgb3duIGVkaWZp Y2F0aW9uKQo+ID4gYW5kCj4gPiA+ID4gaXQKPiA+ID4gPiA+IHdvcmtzIHByb3Blcmx5LiBIb3dl dmVyLCBiZWZvcmUgc3VibWl0dGluZyBpdCwgSSB3b25kZXIgd2hhdCBhbSBJCj4gPiA+ID4gbWlz c2luZz8KPiA+ID4gPgo+ID4gPiA+IFdoZXJlIGRpZCB5b3Ugb2J0YWluIGEgY29weSBvZiB0aGUg c291cmNlPwo+ID4gPiA+IENhbiB5b3UgZG9jdW1lbnQgdGhlIHJlbGV2YW50IGNsYWltIG9yIG5v bi1jbGFpbSBvZiBjb3B5cmlnaHQgb3IKPiA+ID4gPiBsaWNlbnNpbmc/Cj4gPiA+ID4KPiA+ID4g PiBBbmQsIG91dCBvZiBjdXJpb3NpdHksIGlzIHRoZXJlIGFueXRoaW5nIGluIHRoZSB6ZXhpbnQu ZiBjb2RlIHRoYXQKPiA+IHdvdWxkCj4gPiA+ID4gZGlmZmVyZW50aWF0ZSBpdCBmcm9tIGEgc2lu Z2xlLXByZWNpc2lvbiB2ZXJzaW9uIG90aGVyIHRoYW4gZGVjbGFyYXRpb24KPiA+ID4gPiBvZiB0 aGUgdmFyaWFibGVzIGFzIEZvcnRyYW4gRE9VQkxFIFBSRUNJU0lPTj8KPiA+ID4gPgo+ID4gPiA+ ICAgICAgICAgRXRoYW4KPiA+ID4gPgo+ID4gPiA+Cj4gPiA+ID4gPgo+ID4gPiA+ID4gVGhhbmsg eW91LAo+ID4gPiA+ID4KPiA+ID4gPiA+IEVyaWsKCgoKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpnbnVwbG90LWJldGEgbWFpbGluZyBsaXN0CmdudXBs b3QtYmV0YUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQKTWVtYmVyc2hpcCBtYW5hZ2VtZW50IHZpYTog aHR0cHM6Ly9saXN0cy5zb3VyY2Vmb3JnZS5uZXQvbGlzdHMvbGlzdGluZm8vZ251cGxvdC1iZXRh Cg==