In the 1990s, droves of Hollywood A-listers set up in-house production companies at major studios. With the process having largely fallen away, Dan Cooper takes a look at where it all went wrong.
This article first appeared in Film Stories issue 40.
The meteoric rise of the Hollywood A-Lister is a tale as old as the town itself, matched only by its counterpart: an actor's precipitous fall from grace. Indeed, the two sides of life in the film industry are linked like the legendary symbol of the Ouroboros, which depicts a serpent eating its own tail.
These stories don't just form the foundation of the Hollywood legend, they also reveal a system that in the early days of the industry was built around an unending conveyor belt of talent. By its very nature, Hollywood in the Golden Age needed to destroy stars in order to make room for fresh ones. However, whilst the system doesn't work in the exactly same way these days, any Hollywood A-Lister whose career is in the ascendancy knows all too well how quickly things can change.
It was the screenwriter William Goldman who pointed out in his 1983 book, Adventures In The Screen Trade, that stars are, by their very nature, massively insecure. Anybody who followed the ridiculous contracts that had to be written up in order to pit Jason Statham and Dwayne Johnson against each other in 2019's Fast & Furious Presents: Hobbs & Shaw or even Johnson's recent public retcons surrounding Black Adam's box office failure, knows just how easily celebrity egos can be bruised. The true irony here though is that sometimes the measures that A-Listers take to protect their image instead prove to be the very instrument of their undoing.
Nobody thought that Statham or Johnson seemed particularly tough upon examination of their Hobbs & Shaw contracts, in which each actor was guaranteed exactly the same amount of punches as the other. Nobody thought Johnson seemed particularly powerful when his attempts to influence the future direction of the DC Universe publicly backfired. Then again, stars have been making this same mistake for decades, not least with the types of high-profile production deals signed by early '90s movie stars such as Demi Moore, Sylvester Stallone, and Ice Cube. Indeed, these vaunted (and desirable) agreements to produce films 'in-house' for a particular studio would not have the career-boosting effect that the A-listers involved might have imagined. Instead, they often contributed to a downturn in their fortunes.
A production deal is commonly referred to in Hollywood insider circles as 'hanging a shingle' - referring to a movie studio accommodating a star by giving them a physical office space on the studio lot. On top of that, the studio usually throws in a development executive or two and, of course, some cash with which to develop projects. During the 1990s, as the modern era of the movie star arrived at its commercial zenith, this practice also peaked, with star production deals almost becoming de rigueur as actors dreamed up increasingly self-aggrandising ways to be recompensed for lending their fame to studio projects.
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL3N0YWdpbmcuZmlsbXN0b3JpZXMuY28udWsvZmVhdHVyZXMvdGhlLWxvc3QtYXJ0LW9mLXRoZS1hLWxpc3Qtc3R1ZGlvLXByb2R1Y3Rpb24tY29tcGFueS8iIGRhdGEtYTJhLXRpdGxlPSJUaGUgbG9zdCBhcnQgb2YgdGhlIEEtbGlzdCBzdHVkaW8gcHJvZHVjdGlvbiBjb21wYW55Ij48YSBjbGFzcz0iYTJhX2J1dHRvbl9mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9mYWNlYm9vaz9saW5rdXJsPWh0dHBzJTNBJTJGJTJGc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGdGhlLWxvc3QtYXJ0LW9mLXRoZS1hLWxpc3Qtc3R1ZGlvLXByb2R1Y3Rpb24tY29tcGFueSUyRiZhbXA7bGlua25hbWU9VGhlJTIwbG9zdCUyMGFydCUyMG9mJTIwdGhlJTIwQS1saXN0JTIwc3R1ZGlvJTIwcHJvZHVjdGlvbiUyMGNvbXBhbnkiIHRpdGxlPSJGYWNlYm9vayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2J1dHRvbl90d2l0dGVyIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL3R3aXR0ZXI/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRnRoZS1sb3N0LWFydC1vZi10aGUtYS1saXN0LXN0dWRpby1wcm9kdWN0aW9uLWNvbXBhbnklMkYmYW1wO2xpbmtuYW1lPVRoZSUyMGxvc3QlMjBhcnQlMjBvZiUyMHRoZSUyMEEtbGlzdCUyMHN0dWRpbyUyMHByb2R1Y3Rpb24lMjBjb21wYW55IiB0aXRsZT0iVHdpdHRlciIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2J1dHRvbl9lbWFpbCIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9lbWFpbD9saW5rdXJsPWh0dHBzJTNBJTJGJTJGc3RhZ2luZy5maWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGdGhlLWxvc3QtYXJ0LW9mLXRoZS1hLWxpc3Qtc3R1ZGlvLXByb2R1Y3Rpb24tY29tcGFueSUyRiZhbXA7bGlua25hbWU9VGhlJTIwbG9zdCUyMGFydCUyMG9mJTIwdGhlJTIwQS1saXN0JTIwc3R1ZGlvJTIwcHJvZHVjdGlvbiUyMGNvbXBhbnkiIHRpdGxlPSJFbWFpbCIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2RkIGFkZHRvYW55X3NoYXJlX3NhdmUgYWRkdG9hbnlfc2hhcmUiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9zaGFyZSI+PC9hPjwvZGl2PjwvZGl2Pgo8cD48c3Ryb25nPkluIHRoZSAxOTkwcywgZHJvdmVzIG9mIEhvbGx5d29vZCBBLWxpc3RlcnMgc2V0IHVwIGluLWhvdXNlIHByb2R1Y3Rpb24gY29tcGFuaWVzIGF0IG1ham9yIHN0dWRpb3MuIFdpdGggdGhlIHByb2Nlc3MgaGF2aW5nIGxhcmdlbHkgZmFsbGVuIGF3YXksIERhbiBDb29wZXIgdGFrZXMgYSBsb29rIGF0IHdoZXJlIGl0IGFsbCB3ZW50IHdyb25nLjwvc3Ryb25nPjwvcD4KCgoKPGhyIGNsYXNzPSJ3cC1ibG9jay1zZXBhcmF0b3IgaGFzLWFscGhhLWNoYW5uZWwtb3BhY2l0eSIvPgoKCgo8cD48ZW0+VGhpcyBhcnRpY2xlIGZpcnN0IGFwcGVhcmVkIGluIEZpbG0gU3RvcmllcyBpc3N1ZSA0MDwvZW0+LjwvcD4KCgoKPHA+VGhlIG1ldGVvcmljIHJpc2Ugb2YgdGhlIEhvbGx5d29vZCBBLUxpc3RlciBpcyBhIHRhbGUgYXMgb2xkIGFzIHRoZSB0b3duIGl0c2VsZiwgbWF0Y2hlZCBvbmx5IGJ5IGl0cyBjb3VudGVycGFydDogYW4gYWN0b3ImIzgyMTc7cyBwcmVjaXBpdG91cyBmYWxsIGZyb20gZ3JhY2UuIEluZGVlZCwgdGhlIHR3byBzaWRlcyBvZiBsaWZlIGluIHRoZSBmaWxtIGluZHVzdHJ5IGFyZSBsaW5rZWQgbGlrZSB0aGUgbGVnZW5kYXJ5IHN5bWJvbCBvZiB0aGUgT3Vyb2Jvcm9zLCB3aGljaCBkZXBpY3RzIGEgc2VycGVudCBlYXRpbmcgaXRzIG93biB0YWlsLjwvcD4KCgoKPHA+VGhlc2Ugc3RvcmllcyBkb24mIzgyMTc7dCBqdXN0IGZvcm0gdGhlIGZvdW5kYXRpb24gb2YgdGhlIEhvbGx5d29vZCBsZWdlbmQsIHRoZXkgYWxzbyByZXZlYWwgYSBzeXN0ZW0gdGhhdCBpbiB0aGUgZWFybHkgZGF5cyBvZiB0aGUgaW5kdXN0cnkgd2FzIGJ1aWx0IGFyb3VuZCBhbiB1bmVuZGluZyBjb252ZXlvciBiZWx0IG9mIHRhbGVudC4gQnkgaXRzIHZlcnkgbmF0dXJlLCBIb2xseXdvb2QgaW4gdGhlIEdvbGRlbiBBZ2UgbmVlZGVkIHRvIGRlc3Ryb3kgc3RhcnMgaW4gb3JkZXIgdG8gbWFrZSByb29tIGZvciBmcmVzaCBvbmVzLiBIb3dldmVyLCB3aGlsc3QgdGhlIHN5c3RlbSBkb2VzbiYjODIxNzt0IHdvcmsgaW4gdGhlIGV4YWN0bHkgc2FtZSB3YXkgdGhlc2UgZGF5cywgYW55IEhvbGx5d29vZCBBLUxpc3RlciB3aG9zZSBjYXJlZXIgaXMgaW4gdGhlIGFzY2VuZGFuY3kga25vd3MgYWxsIHRvbyB3ZWxsIGhvdyBxdWlja2x5IHRoaW5ncyBjYW4gY2hhbmdlLjwvcD4KCgoKPHA+SXQgd2FzIHRoZSBzY3JlZW53cml0ZXIgV2lsbGlhbSBHb2xkbWFuIHdobyBwb2ludGVkIG91dCBpbiBoaXMgMTk4MyBib29rLCA8ZW0+QWR2ZW50dXJlcyBJbiBUaGUgU2NyZWVuIFRyYWRlLCA8L2VtPnRoYXQgc3RhcnMgYXJlLCBieSB0aGVpciB2ZXJ5IG5hdHVyZSwgbWFzc2l2ZWx5IGluc2VjdXJlLiBBbnlib2R5IHdobyBmb2xsb3dlZCB0aGUgcmlkaWN1bG91cyBjb250cmFjdHMgdGhhdCBoYWQgdG8gYmUgd3JpdHRlbiB1cCBpbiBvcmRlciB0byBwaXQgSmFzb24gU3RhdGhhbSBhbmQgRHdheW5lIEpvaG5zb24gYWdhaW5zdCBlYWNoIG90aGVyIGluIDIwMTkmIzgyMTc7cyA8ZW0+RmFzdCAmYW1wOyBGdXJpb3VzIFByZXNlbnRzOiBIb2JicyAmYW1wOyBTaGF3IDwvZW0+b3IgZXZlbiBKb2huc29uJiM4MjE3O3MgcmVjZW50IHB1YmxpYyByZXRjb25zIHN1cnJvdW5kaW5nIDxlbT5CbGFjayBBZGFtJiM4MjE3O3MgPC9lbT5ib3ggb2ZmaWNlIGZhaWx1cmUsIGtub3dzIGp1c3QgaG93IGVhc2lseSBjZWxlYnJpdHkgZWdvcyBjYW4gYmUgYnJ1aXNlZC4gVGhlIHRydWUgaXJvbnkgaGVyZSB0aG91Z2ggaXMgdGhhdCBzb21ldGltZXMgdGhlIG1lYXN1cmVzIHRoYXQgQS1MaXN0ZXJzIHRha2UgdG8gcHJvdGVjdCB0aGVpciBpbWFnZSBpbnN0ZWFkIHByb3ZlIHRvIGJlIHRoZSB2ZXJ5IGluc3RydW1lbnQgb2YgdGhlaXIgdW5kb2luZy48L3A+CgoKCjxwPk5vYm9keSB0aG91Z2h0IHRoYXQgU3RhdGhhbSBvciBKb2huc29uIHNlZW1lZCBwYXJ0aWN1bGFybHkgdG91Z2ggdXBvbiBleGFtaW5hdGlvbiBvZiB0aGVpciA8ZW0+SG9iYnMgJmFtcDsgU2hhdyA8L2VtPmNvbnRyYWN0cywgaW4gd2hpY2ggZWFjaCBhY3RvciB3YXMgZ3VhcmFudGVlZCBleGFjdGx5IHRoZSBzYW1lIGFtb3VudCBvZiBwdW5jaGVzIGFzIHRoZSBvdGhlci4gTm9ib2R5IHRob3VnaHQgSm9obnNvbiBzZWVtZWQgcGFydGljdWxhcmx5IHBvd2VyZnVsIHdoZW4gaGlzIGF0dGVtcHRzIHRvIGluZmx1ZW5jZSB0aGUgZnV0dXJlIGRpcmVjdGlvbiBvZiB0aGUgREMgVW5pdmVyc2UgcHVibGljbHkgYmFja2ZpcmVkLiBUaGVuIGFnYWluLCBzdGFycyBoYXZlIGJlZW4gbWFraW5nIHRoaXMgc2FtZSBtaXN0YWtlIGZvciBkZWNhZGVzLCBub3QgbGVhc3Qgd2l0aCB0aGUgdHlwZXMgb2YgaGlnaC1wcm9maWxlIHByb2R1Y3Rpb24gZGVhbHMgc2lnbmVkIGJ5IGVhcmx5ICYjODIxNzs5MHMgbW92aWUgc3RhcnMgc3VjaCBhcyBEZW1pIE1vb3JlLCBTeWx2ZXN0ZXIgU3RhbGxvbmUsIGFuZCBJY2UgQ3ViZS4gSW5kZWVkLCB0aGVzZSB2YXVudGVkIChhbmQgZGVzaXJhYmxlKSBhZ3JlZW1lbnRzIHRvIHByb2R1Y2UgZmlsbXMgJiM4MjE2O2luLWhvdXNlJiM4MjE3OyBmb3IgYSBwYXJ0aWN1bGFyIHN0dWRpbyB3b3VsZCBub3QgaGF2ZSB0aGUgY2FyZWVyLWJvb3N0aW5nIGVmZmVjdCB0aGF0IHRoZSBBLWxpc3RlcnMgaW52b2x2ZWQgbWlnaHQgaGF2ZSBpbWFnaW5lZC4gSW5zdGVhZCwgdGhleSBvZnRlbiBjb250cmlidXRlZCB0byBhIGRvd250dXJuIGluIHRoZWlyIGZvcnR1bmVzLjwvcD4KCgoKPHA+QSBwcm9kdWN0aW9uIGRlYWwgaXMgY29tbW9ubHkgcmVmZXJyZWQgdG8gaW4gSG9sbHl3b29kIGluc2lkZXIgY2lyY2xlcyBhcyAmIzgyMTY7aGFuZ2luZyBhIHNoaW5nbGUmIzgyMTc7ICYjODIxMTsgcmVmZXJyaW5nIHRvIGEgbW92aWUgc3R1ZGlvIGFjY29tbW9kYXRpbmcgYSBzdGFyIGJ5IGdpdmluZyB0aGVtIGEgcGh5c2ljYWwgb2ZmaWNlIHNwYWNlIG9uIHRoZSBzdHVkaW8gbG90LiBPbiB0b3Agb2YgdGhhdCwgdGhlIHN0dWRpbyB1c3VhbGx5IHRocm93cyBpbiBhIGRldmVsb3BtZW50IGV4ZWN1dGl2ZSBvciB0d28gYW5kLCBvZiBjb3Vyc2UsIHNvbWUgY2FzaCB3aXRoIHdoaWNoIHRvIGRldmVsb3AgcHJvamVjdHMuIER1cmluZyB0aGUgMTk5MHMsIGFzIHRoZSBtb2Rlcm4gZXJhIG9mIHRoZSBtb3ZpZSBzdGFyIGFycml2ZWQgYXQgaXRzIGNvbW1lcmNpYWwgemVuaXRoLCB0aGlzIHByYWN0aWNlIGFsc28gcGVha2VkLCB3aXRoIHN0YXIgcHJvZHVjdGlvbiBkZWFscyBhbG1vc3QgYmVjb21pbmcgZGUgcmlndWV1ciBhcyBhY3RvcnMgZHJlYW1lZCB1cCBpbmNyZWFzaW5nbHkgc2VsZsKtLWFnZ3JhbmRpc2luZyB3YXlzIHRvIGJlIHJlY29tcGVuc2VkIGZvciBsZW5kaW5nIHRoZWlyIGZhbWUgdG8gc3R1ZGlvIHByb2plY3RzLjwvcD4KCgoKPHNwYW4gaWQ9Im1vcmUtMTAxOTU1Ij48L3NwYW4+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtZW50ZXJ0YWluZXJzLWFzc2VtYmxlIj5FbnRlcnRhaW5lcnMgYXNzZW1ibGU8L2gyPgoKCgo8cD5JdCB3YXMgYWxsIGEgZmFyIGNyeSBmcm9tIHRoZSBlYXJseSAyMHRoIGNlbnR1cnksIHdoZW4gc2lsZW50LWVyYSBzdGFycyBzdWNoIGFzIE1hcnkgUGlja2ZvcmQsIERvdWdsYXMgRmFpcmJhbmtzLCBhbmQgQ2hhcmxpZSBDaGFwbGluIHdlcmUgZm9yY2VkIHRvIG1vdmUgb3V0c2lkZSBvZiB0aGUgdHJhZGl0aW9uYWwgc3R1ZGlvIHN5c3RlbS4gVGhleSBmb3JtZWQgVW5pdGVkIEFydGlzdHMgaW4gMTkxOSwgdGhlIGZpcnN0IHN0YXItbGVkIHByb2R1Y3Rpb24gY29tcGFueSB0aGF0IChpbiBuYW1lIGF0IGxlYXN0KSBleGlzdHMgdG8gdGhpcyBkYXksIGFuICYjODIxNjthY3RvciYjODIxNztzIHN0dWRpbyYjODIxNzsgZm9ybWVkIGluIHJlc3BvbnNlIHRvIHRoZSBzdGFycyBiZWNvbWluZyBmcnVzdHJhdGVkIHdpdGggdGhlIHdheXMgc3R1ZGlvcyB3ZXJlIHRyZWF0aW5nIHRoZW0uIEhvd2V2ZXIsIHdoaWxzdCB0aGUgYmlnZ2VzdCBzdGFycyBvZiB0aGUgZWFybHkgeWVhcnMgb2YgdGhlIDIwdGggY2VudHVyeSBvZnRlbiBmb3VuZCB0aGVtc2VsdmVzIGJhdHRsaW5nIGFnYWluc3QgdW5mYXZvdXJhYmxlIGNvbnRyYWN0cywgSG9sbHl3b29kJiM4MjE3O3MgZW5kLW9mLXRoZS1jZW50dXJ5IEEtbGlzdGVycyBmb3VuZCB0aGVtc2VsdmVzIGF0IHRoZSBvdGhlciBlbmQgb2YgdGhlIHNwZWN0cnVtLCBoYXZpbmcgYmVuZWZpdGVkIGZyb20gYSBkZWNhZGUgb2Ygc3RhcsKtIGZvY3VzZWQgYmxvY2tidXN0ZXIgZmlsbW1ha2luZyB0aGF0IGhhZCBhbGxvd2VkIHRoZW0gdG8gbWFub2V1dnJlIHRoZW1zZWx2ZXMgaW50byBwb3NpdGlvbnMgd2hlcmUgdGhleSBjYWxsZWQgdGhlIHNob3RzIHJlZ2FyZGluZyBhcnRpc3RpYyBjb250cm9sLCBtYXJrZXRpbmcsIG9yIHNhbGFyeS48L3A+CgoKCjxwPlRpbWUgZm9yIHNvbWUgbW9yZSBpcm9ueSwgdGhlbi4gVGhyb3VnaG91dCB0aGUgMTk4MHMgYW5kICYjODIxNzs5MHMsIEhvbGx5d29vZCYjODIxNztzIG1ham9yIG9uLXNjcmVlbiBwbGF5ZXJzIGhhZCBkb25lIG11Y2ggdG8gYmVuZCBpbmR1c3RyeSB0cmVuZHMgdG8gdGhlaXIgd2lsbCwgd2l0aCBkb21pbmFudCBhY3Rpb24gc3RhcnMgaW4gcGFydGljdWxhciB1c2luZyB0aGUgc2VxdWVsIGZvcm11bGEsIGFuZCBsYXRlciB0aGUgZW1lcmdlbmNlIG9mIGNvbXB1dGVyLWdlbmVyYXRlZCBlZmZlY3RzLCB0byBidXJuaXNoIHRoZWlyIHN0YXIgcG93ZXIuIEhvd2V2ZXIsIGVtYnJhY2luZyBzdWNoIHRyZW5kcyB0byBlbWJlbGxpc2ggdGhlaXIgZmFtZSB3b3VsZCBldmVudHVhbGx5IGhhc3RlbiB0aGUgZGVjbGluZSBvZiB0aGUgSG9sbHl3b29kIEEtbGlzdGVyLCBhcyBzdHVkaW9zIHVzZWQgdGhlIHZlcnkgc2FtZSB0b29scywgZnJhbmNoaXNlcywgYW5kIENHSSB0byB1bHRpbWF0ZWx5IHN1cGVyc2VkZSB0aGUgbW92aWUgc3RhciBpbiB0aGUgaGVhcnRzIGFuZCBtaW5kcyBvZiBhdWRpZW5jZXMuPC9wPgoKCgo8cD5UaGUgc2FtZSBpcyBsYXJnZWx5IHRydWUgb2YgcHJvZHVjdGlvbiBkZWFscyB0aHJvdWdob3V0IHRoaXMgZXJhLCB3aGljaCB3ZXJlIG9mdGVuIGNyZWF0ZWQgdG8gYXNzdWFnZSBhIHN0YXLigJlzIGVnbyBhbmQsIGluIHRoZWlyIG1pbmRzIGF0IGxlYXN0LCBjZW1lbnQgdGhlaXIgcG93ZXIgYmFzZS4gVWx0aW1hdGVseSB0aG91Z2gsIHRoZSBvcHBvc2l0ZSB3b3VsZCBoYXBwZW4gYXMgYSBuZXcgY2VudHVyeSBkYXduZWQuIEFjY29yZGluZyB0byA8ZW0+VmFyaWV0eTwvZW0+LCBpbiAxOTk4IHRoZXJlIHdlcmUgb3ZlciA2MCBzdGFycyBzaWduZWQgdXAgdG8gcHJvZHVjdGlvbiBkZWFscyB3aXRoIG1ham9yIHN0dWRpb3MsIGluY2x1ZGluZyBTeWx2ZXN0ZXIgU3RhbGxvbmUsIEljZSBDdWJlLCBKYXNvbiBQYXRyaWMsIEp1bGlhIE9ybW9uZCBhbmQgRGVtaSBNb29yZS4gU29tZSBmaXZlIHllYXJzIGxhdGVyLCB0aGF0IG51bWJlciBoYWQgaGFsdmVkLCBhbmQgbm9uZSBvZiB0aGUgYWN0b3JzIGxpc3RlZCBhYm92ZSBzdGlsbCBib2FzdGVkIGRlYWxzLiBXaGF04oCZcyBtb3JlLCBtb3N0IG9mIHRoZW0gZm91bmQgdGhlbXNlbHZlcyB3aXRoIHNpZ25pZmljYW50bHkgbGVzcyAmIzgyMTY7anVpY2UmIzgyMTc7IHRoYW4gdGhleSYjODIxNztkIHByZXZpb3VzbHkgcG9zc2Vzc2VkLjwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1hLXdob2xlLWxvdC1vZi1ub3RoaW5nIj5BIHdob2xlIGxvdCBvZiBub3RoaW5nPC9oMj4KCgoKPHA+U28gd2hhdCBoYXBwZW5lZD8gTm90aGluZyByZWFsbHksIGFuZCB0aGF04oCZcyB0aGUgcHJvYmxlbS4gTW92aWUgc3RhciBwcm9kdWN0aW9uIGRlYWxzIHRlbmRlZCB0byByZXN1bHQgaW4gdmFuaXR5IHByb2plY3RzLCBib3ggb2ZmaWNlIGZsb3BzLCBhbmQgb25seSBvY2NhaXNvbmFsIHN1Y2Nlc3MsIGJlIGl0IGNyaXRpY2FsIG9yIGNvbW1lcmNpYWwgKGxvb2tpbmcgYXQgeW91LCA8ZW0+RGFuY2VzIFdpdGggV29sdmVzPC9lbT4sIGFsYmVpdCBtYWRlIG91dHNpZGUgc3VjaCBhIGRlYWwpLiBNb3N0IG9mdGVuLCBwcm9qZWN0cyBzaW1wbHkgZGlkbuKAmXQgbWFrZSBpdCBpbnRvIHByb2R1Y3Rpb24gYXMgbW92aWUgc3RhcnMgd2VyZSB0b28gYnVzeSwgZWl0aGVyIHN0YXJyaW5nIGluIGJpZyBwYXlkYXkgZmlsbXMgb3IgbGVhZGluZyBjZWxlYnJpdHkgbGl2ZXMsIHRvIGFjdHVhbGx5IHB1dCB0aGUgcmVxdWlyZWQgdGltZSBpbnRvIGRldmVsb3BpbmcgcHJvamVjdHMgc2VwYXJhdGUgdG8gdGhlIG9uZXMgdGhhdCBhcnJpdmVkIHJlYWR5LW1hZGUgdmlhIHRoZWlyIHRhbGVudCBhZ2VuY2llcy48L3A+CgoKCjxwPldoYXTigJlzIG1vcmUsIHRoZSB0cmVuZCBvZiBnaXZpbmcgYWN0b3JzIGluZmx1ZW5jZSBvdmVyIHRoZSBwcm9kdWN0aW9uIHByb2Nlc3Mgd2FzbuKAmXQgcmVjZWl2ZWQgcGFydGljdWxhcmx5IHdlbGwgYnkgZXhpc3RpbmcgSG9sbHl3b29kIHByb2R1Y2Vycy4gVGhlIHdheSB0aGV5IHNhdyBpdCwgdGhlaXIgY3J1Y2lhbCByb2xlIGluIHRoZSBIb2xseXdvb2QgbWFjaGluZSB3YXMgYmVpbmcgZGlsdXRlZCwgYXMgbm93IGFueWJvZHkgd2l0aCBhbiBlZ28gYW5kIGFuIG9mZmljZSBjb3VsZCBjYWxsIHRoZW1zZWx2ZXMgYSBwcm9kdWNlci4gVGhvc2Ugd2VyZW7igJl0IHRoZSBvbmx5IGNvbmNlcm5zLCBhcyBwcm9kdWNlcnMgZ3J1bWJsZWQgdGhhdCBnaXZpbmcgb24tc2NyZWVuIHRhbGVudCBpbmZsdWVuY2UgYXMgcHJvZHVjZXJzIHdvdWxkIHByb3ZlIGRpc2FzdHJvdXMuPC9wPgoKCgo8cD5UaGV5IHdlcmUgcmlnaHQgdG9vLCBhdCBsZWFzdCBzb21lIG9mIHRoZSB0aW1lLiBUaGVyZSBhcmUgYWxsIHNvcnRzIG9mIHRhbGVzIG9mIHN1Y2ggaGlnaC1oYW5kZWQgYmVoYXZpb3VyIGZyb20gc3RhcnMgZ2l2ZW4gcHJvZHVjdGlvbiByZXNwb25zaWJpbGl0eSwgYnV0IHBlcmhhcHMgQnJ1Y2UgV2lsbGlzIGFsbGVnZWRseSB1c2luZyBoaXMgcHJvZHVjZXIgc3RhdHVzIHRvIHNjdXR0bGUgMTk5N+KAmXMgPGVtPlRoZSBCcm9hZHdheSBCcmF3bGVyIDwvZW0+aXMgbW9zdCBpbmZhbW91cy4gV2lsbGlzIHdhcyBydW1vdXJlZCBhbHJlYWR5IHRvIHRocm93IGhpcyBpbmZsdWVuY2UgYXJvdW5kIG9uIHNldCBvZiBoaXMgZmlsbXMsIGJ1dCBnaXZpbmcgaGltIHRoYXQgcG93ZXIgYXQgYSBwcm9kdWN0aW9uIGxldmVsIGxlZCB0byBhbiBhbG1pZ2h0eSBmYWxsb3V0IHRoYXQgc2F3IHRoZSBmaWxtIHBlcm1hbmVudGx5IHNodXQgZG93biBhZnRlciB0aHJlZSB3ZWVrcyBvZiBmaWxtaW5nLiBUaGlzIGxlZCB0byBXaWxsaXMgYmVpbmcgc2hlcGhlcmRlZCBpbnRvIGEgdGhyZWUtcGljdHVyZSBEaXNuZXkgZGVhbCB1bmRlciB0aGUgdGhyZWF0IG9mIGxlZ2FsIGFjdGlvbiwgYW5kIGNvbnRyaWJ1dGVkIHRvIHRoZSBlbmQgb2YgQW5kcmV3IFZham5h4oCZcyA8YSBocmVmPSJodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9DaW5lcmdpX1BpY3R1cmVzIj5DaW5lcmdpIFBpY3R1cmVzPC9hPi48L3A+CgoKCjxwPkRpc2FzdGVyIHN0b3JpZXMgYXNpZGUsIG9uIHRoZSB3aG9sZSB0aGUgdm9ndWUgZm9yIHN0YXItbGVkIHByb2R1Y3Rpb24gZGVhbHMgd291bGQgd2luZCBkb3duIGJ5IHRoZSBtaWQtMjAwMHMgYmVjYXVzZSBpbiBtb3N0IGNhc2VzIHRoZSBzdGFycyBpbiBxdWVzdGlvbiBzaW1wbHkgd2VyZW7igJl0IHByb2R1Y2luZyBhbnl0aGluZyB0byBqdXN0aWZ5IHRoZSBkZWFscyB0aGV5IGhhZCBpbiBwbGFjZS4gVGhlcmUgd2VyZSBsaWtlbHkgbW9yZSB0aGFuIGEgZmV3IHByb2R1Y2VycyBpbiBIb2xseXdvb2QgdGhhdCB3ZXJlIG5vbnBsdXNzZWQgd2hlbiBhIHRoZW4tMTgteWVhci1vbGQgQWxpY2lhIFNpbHZlcnN0b25lIHdhcyBnaXZlbiBhbiAkOG0gcHJvZHVjdGlvbiBkZWFsIGZvbGxvd2luZyBoZXIgc3Rhci1tYWtpbmcgb24tc2NyZWVuIHR1cm4gaW4gMTk5NeKAmXMgPGVtPkNsdWVsZXNzPC9lbT4uIEl04oCZcyBhIHlvdW5nIGFnZSB0byBiZSBnaXZlbiBzbyBtdWNoIGluZmx1ZW5jZSBhbmQgdGhlIG9uZSBmaWxtIHRoYXQgZW1lcmdlZCBmcm9tIHRoZSBkZWFsLCAxOTk34oCZcyA8ZW0+RXhjZXNzIEJhZ2dhZ2UsIDwvZW0+aW4gd2hpY2ggU2lsdmVyc3RvbmUgc3RhcnJlZCwgaXMgdW5saWtlbHkgdG8gYmUgcmVtZW1iZXJlZCBieSBtYW55LjwvcD4KCgoKPGgyIGNsYXNzPSJ3cC1ibG9jay1oZWFkaW5nIiBpZD0iaC1ib290cy1vbi10aGUtZ3JvdW5kIj5Cb290cyBvbiB0aGUgZ3JvdW5kPC9oMj4KCgoKPHA+RXZlbiB3aGVuIHRyaXVtcGhzIGRpZCBjb21lIGZyb20gc3VjaCBwcm9kdWN0aW9uIGRlYWxzLCBkb3VidCB3YXMgb2Z0ZW4gY2FzdCBvbiBqdXN0IGhvdyBpbnRlZ3JhbCB0aGUgc3RhciBpbiBxdWVzdGlvbiB3YXMgdG8gYW55IHN1Y2Nlc3MuIE1vdmluZyBQaWN0dXJlcywgdGhlIHByb2R1Y3Rpb24gY29tcGFueSBzZXQgdXAgYnkgRGVtaSBNb29yZSBhdCB0aGUgcGVhayBvZiBoZXIgcG93ZXJzIGluIHRoZSBtaWQgdG8gbGF0ZSDigJk5MHMsIHNlY3VyZWQgYSBwcm9kdWN0aW9uIGRlYWwgYXQgVW5pdmVyc2FsIHdoaWxzdCBhbHNvIHByb2R1Y2luZyBmb3Igb3RoZXIgc3R1ZGlvcy4gV2hlbiB0aGUgY29tcGFueSBzaGVwaGVyZGVkIHRoZSBjcml0aWNhbGx5IGFuZCBjb21tZXJjaWFsbHkgc3VjY2Vzc2Z1bCBzcHkgc3Bvb2YgPGVtPkF1c3RpbiBQb3dlcnM6IEludGVybmF0aW9uYWwgTWFuIE9mIE15c3RlcnkgPC9lbT50aHJvdWdoIE5ldyBMaW5lIENpbmVtYeKAmXMgc3lzdGVtIGluIDE5OTcsIE1vb3Jl4oCZcyBwcm9kdWNpbmcgY3JlZGl0IGFwcGVhcmVkIGFzIG9uZSBvZiBqdXN0IGZvdXIgcHJvZHVjZXJzIGluIHRoZSBvcGVuaW5nIHRpdGxlcy4gVGhhdCBsZWZ0IHNvbWUgZGlzZ3J1bnRsZWQgcHJvZHVjZXJzIGluIFRpbnNlbHRvd24gcXVlc3Rpb25pbmcganVzdCBob3cgJiM4MjE2O2Jvb3RzIG9uIHRoZSBncm91bmQmIzgyMTc7IE1vb3JlIGNvdWxkIGhhdmUgYmVlbi4gQWZ0ZXIgYWxsLCBzaGUgd2FzIHNob290aW5nIDxlbT5HSSBKYW5lIDwvZW0+dGhyb3VnaG91dCBtdWNoIG9mIDE5OTYsIHRoZW4gd29ya2luZyBvbiBXb29keSBBbGxlbuKAmXMgPGVtPkRlY29uc3RydWN0aW5nIEhhcnJ5IDwvZW0+Zm9yIGEgY291cGxlIG9mIG1vbnRocywgbGVhZGluZyByaWdodCB1cCB1bnRpbCB0aGUgdmVyeSBldmUgb2YgdGhlIDxlbT5BdXN0aW4gUG93ZXJzIDwvZW0+cHJvZHVjdGlvbi48L3A+CgoKCjxwPlN0aWxsLCBzdWNoIHJlc3BvbnNlcyBjb3VsZCBiZSBwdXQgZG93biB0byB0aG9zZSBpcmtlZCBhbmQgZW52aW91cyBvZiBNb29yZeKAmXMgc3VjY2VzcyDigJMgYWx0aG91Z2ggdGhlIGNvbnNlbnN1cyB3YXMgdGhhdCBTdXphbm5lIFRvZGQsIE1vb3Jl4oCZcyBwcm9kdWNpbmcgcGFydG5lciBhdCBNb3ZpbmcgUGljdHVyZXMsIHdhcyB0aGUgdHJ1ZSBkcml2aW5nIGZvcmNlIGJlaGluZCBnZXR0aW5nIDxlbT5BdXN0aW4gUG93ZXJzIDwvZW0+bWFkZS4gRWl0aGVyIHdheSwgb25lIGZhY3QgaXMgaW5kaXNwdXRhYmxlOiB3aGVuIE1vb3JlIHJlbG9jYXRlZCBNb3ZpbmcgUGljdHVyZXMgZnJvbSBVbml2ZXJzYWwgaW4gSnVseSBvZiAxOTk5LCB0aGUgZGVhbCB3aXRoIHRoZSBzdHVkaW8gaGFkIHByb2R1Y2VkIHByZWNpc2VseSB6ZXJvIGZpbG1zLiBTaGUgd291bGQgdGFrZSBNb3ZpbmcgUGljdHVyZXMgdG8gTWlyYW1heCwgc3RyaWtpbmcgYSBuZXcgZGVhbCAoYWRtaXR0ZWRseSwgd2l0aCBhIGNvbXBhbnkgdGhhdCB3YXMgZGlmZmljdWx0IHRvIHdvcmsgd2l0aCkgdGhhdCB3b3VsZCBhbHNvIHlpZWxkIGEgdG90YWwgb2bigKYgemVybyBmaWxtcy48L3A+CgoKCjxwPlRoYXTigJlzIG5vdCBtZWFudCB0byBiZSBhIGJhcmIsIGJ5IHRoZSB3YXkuIE1vb3JlIHdhcyBjbGVhcmx5IGJ1c3kgZHVyaW5nIHRob3NlIHllYXJzLCBmdWxmaWxsaW5nIGV4dGVuZGVkIChhbmQgbHVjcmF0aXZlKSBvYmxpZ2F0aW9ucyB3aXRoIHN0dWRpb3Mgc3VjaCBhcyBEaXNuZXkgYW5kIHRha2luZyBhIGdvb2QgZGVhbCBvZiB0aW1lIGF3YXkgZnJvbSBoZXIgY2FyZWVyIHRvIHVuZGVydGFrZSB0aGUgZXF1YWxseSBpbXBvcnRhbnQgcm9sZSBvZiByYWlzaW5nIGEgZmFtaWx5LiBJdCBkb2VzLCB0aG91Z2gsIGFjdCBhcyBhIHR5cGljYWwgZXhhbXBsZSBvZiBtb3ZpZSBzdGFyIHByb2R1Y3Rpb24gZGVhbHMgZnJvbSB0aGF0IGVyYS4gSW4gdGhpcyBzZW5zZSBhdCBsZWFzdCwgdGhlIG1ham9yIGNyZWF0aXZlIHBsYXllcnMgaW4gMTk5MHMgSG9sbHl3b29kIGhhZCBtdWNoIGluIGNvbW1vbiB3aXRoIFBpY2tmb3JkLCBDaGFwbGluLCBGYWlyYmFua3MgYW5kIGNvbXBhbnkuIExpa2UgdGhvc2UgdGl0YW5zIG9mIGVhcmx5IEhvbGx5d29vZCwgdGhleSB3ZXJlIHNpbXBseSB0b28gc3VjY2Vzc2Z1bCwgY292ZXRlZCBieSB0b28gbWFueSBzdHVkaW9zLCBhbmQgY291cnRlZCB3aXRoIHRvbyBtdWNoIG1vbmV5IHRvIGV2ZXIgcmVhbGx5IGhhdmUgdGhlIHRpbWUgb3IgaW5jbGluYXRpb24gdG8gbWFrZSB0aGVpciBvd24gZW50ZXJwcmlzZXMgd29yayBpbiBhIHdheSB0aGF0IGNvdWxkIGFsdGVyIEhvbGx5d29vZCBpbiBhIG1lYW5pbmdmdWwgd2F5LjwvcD4KCgoKPHA+RGVzcGl0ZSBpdCBub3QgYmVjb21pbmcgdGhlIGluZHVzdHJ5LWNoYW5naW5nIGVudGl0eSBpdCBjb3VsZCBoYXZlIGJlZW4sIHRoZSBtYWluIHBsYXllcnMgYmVoaW5kIHRoZSAxOTE5IGZvcm1hdGlvbiBvZiBVbml0ZWQgQXJ0aXN0cyB3b3VsZCBzdGlsbCBiZSBpbnN0cnVtZW50YWwgaW4gYnJpbmdpbmcgZG93biB0aGUgc3R1ZGlvIHN5c3RlbSB2aWEgdGhlIDE5NDggUGFyYW1vdW50IERlY3JlZSwgYSBzdWNjZXNzZnVsIGFudGl0cnVzdCBjYXNlIHRoYXQgZWZmZWN0aXZlbHkgZGlzbWFudGxlZCB0aGUgR29sZGVuIEFnZSBvZiBIb2xseXdvb2TigJlzIHBvd2VyIGJhc2UsIGFyZ3VhYmx5IGZvciB0aGUgbmV4dCBoYWxmIGNlbnR1cnkuPC9wPgoKCgo8cD5Gb3IgdGhlIHN0YXJzIG9mIHRoZSDigJk5MHMsIGl04oCZcyBhcmd1YWJsZSB0aGF0IG1hbnkgb2YgdGhlbSBtaXNzZWQgYSBzaW1pbGFybHkgZ29sZGVuIG9wcG9ydHVuaXR5IHRvIGVzdGFibGlzaCBwb3dlciBiYXNlcyBvZiB0aGVpciBvd24sIG9wcG9ydHVuaXRpZXMgdGhleSB3b3VsZCBydWUgd2hlbiBhIG5ldyBjZW50dXJ5IHdvdWxkIHNpZ25hbCB0aGUgZ3JhZHVhbCBlcm9zaW9uIG9mIHRoZWlyIHN0YXIgcG93ZXIuIFN0aWxsLCB3aG8gY2FuIGJsYW1lIHRoZW0/IFRoZXkgd2VyZSBwcm9iYWJseSBmYXIgdG9vIGJ1c3kgZmlndXJpbmcgb3V0IGhvdyBtYW55IHByaXZhdGUgamV0cyB3ZXJlIGdvaW5nIHRvIGJlIGluY2x1ZGVkIGluIHRoZWlyIHNhbGFyeSB0byB3b3JyeSBhYm91dCBlc3RhYmxpc2hpbmcgYSB0aHJpdmluZyBwcm9kdWN0aW9uIGNvbXBhbnkgdGhhdCBjb3VsZCBzYWZlZ3VhcmQgdGhlaXIgcmVsZXZhbmNlIGZvciBkZWNhZGVzIHRvIGNvbWUuPC9wPgoKCgo8aDIgY2xhc3M9IndwLWJsb2NrLWhlYWRpbmciIGlkPSJoLWxhY2stb2YtY3J1aXNlLWNvbnRyb2wiPihMYWNrIG9mKSBDcnVpc2UgY29udHJvbDwvaDI+CgoKCjxwPk9uZSBtb3ZpZSBzdGFyIHdobyBkaWQgc3RyaXZlIHRvIGVzdGFibGlzaCBhIHByb2R1Y3Rpb24gZGVhbCB0aGF0IHdvdWxkIGVuc3VyZSBoaXMgZnV0dXJlIHdhcyBUb20gQ3J1aXNlLCBidXQgZXZlbiB0aGUgbW9zdCBpbXBsYWNhYmxlIG9mIEhvbGx5d29vZCBBLWxpc3RlcnMgc2F3IGhpcyBsb25nLXN0YW5kaW5nIHJlbGF0aW9uc2hpcCB3aXRoIFBhcmFtb3VudCBkaXNtYW50bGVkIGluIHRoZSBtaWQtbm91Z2h0aWVzIGFzIGZpbG0gc3R1ZGlvcyBjbGVhbmVkIGhvdXNlLCByaWRkaW5nIHRoZW1zZWx2ZXMgb2YgYXNzb2NpYXRpb25zIHRoYXQgaGFkIGJlY29tZSB0b28gbXVjaCBvZiBhbiBlbmN1bWJyYW5jZS4gR3JhbnRlZCwgQ3J1aXNl4oCZcyBxdWVzdGlvbmFibGUgcHVibGljIHBlcnNvbmEgYXQgdGhlIHRpbWUgZGlkbuKAmXQgaGVscCBtYXR0ZXJzLCBidXQgUGFyYW1vdW504oCZcyB3aWxsaW5nbmVzcyB0byBkaXZlc3QgaXRzZWxmIG9mIENydWlzZS9XYWduZXIgUHJvZHVjdGlvbnMsIGEgcHJvZmVzc2lvbmFsIHJlbGF0aW9uc2hpcCB0aGF0IGhhZCBncm9zc2VkIHRoZSBzdHVkaW8gYSBiaWxsaW9uIGRvbGxhcnMgd2l0aGluIHRoZSBzcGFjZSBvZiBhIGNhbGVuZGFyIHllYXIgKGFuZCB0aGF04oCZcyBpbiAyMDA1IG1vbmV5ISkgZGVtb25zdHJhdGVkIGp1c3QgaG93IHNpZ25pZmljYW50bHkgdGhlIG1vb2QgaGFkIGFsdGVyZWQgaW4gSG9sbHl3b29kLjwvcD4KCgoKPHA+T2YgY291cnNlLCBDcnVpc2Ugd291bGQgZXZlbnR1YWxseSB3b3JrIHdpdGggUGFyYW1vdW50IGFnYWluICYjODIxMTsgdGhpcyBpcyBIb2xseXdvb2QgYW5kLCBjb25jZXJucyBhYm91dCBoaXMgcGVyc29uYWwgYWZmYWlycyBub3R3aXRoc3RhbmRpbmcsIGhlIGdldHMgZmlsbXMgbWFkZSwgYW5kIHRob3NlIGZpbG1zIHRlbmQgdG8gbWFrZSBtb25leSAob2Z0ZW4gbG90cyBvZiBpdCkuIEhvd2V2ZXIsIHRoZSBkYXlzIG9mIHJ1bm5pbmcgaGlzIHByb2R1Y3Rpb24gY29tcGFueSBmcm9tIHRoZSBQYXJhbW91bnQgbG90IHdvdWxkIGJlIG92ZXIsIGFuZCBoaXMgbG9uZy10aW1lIHByb2R1Y3Rpb24gcGFydG5lciwgUGF1bGEgV2FnbmVyLCB3b3VsZCBub3QgcmV0dXJuIHdpdGggaGltLjwvcD4KCgoKPHA+UHJvZHVjdGlvbiBkZWFscyBmb3Igc3RhcnMgc3RpbGwgZXhpc3QsIGJ1dCB0aGV54oCZcmUgbm8gbG9uZ2VyIHNsYXBwZWQgb24gYXMgZ2FybmlzaCBmb3IgYW4gYWxyZWFkeSBoYW5kc29tZSBvZmZlciBpbiBhIGJyYXplbiBhcHBlYWwgdG8gYSBzdGFy4oCZcyBlZ28uIEluc3RlYWQsIHN1Y2ggZGVhbHMgdGVuZCB0byBiZSBicm9rZXJlZCB3aXRoIG1vdmllIHN0YXJzIHdobyBoYXZlIGEgcHJvdmVuIHRyYWNrIHJlY29yZCBvZiBnZXR0aW5nIHByb2R1Y3Rpb25zIHVwIGFuZCBydW5uaW5nIOKAkyBhbmQgZWl0aGVyIGVhcm5pbmcgZG9sbGFycyBvciBhd2FyZHMgd2hlbiB0aGUgZmlsbSByZWxlYXNlcy4gR2VvcmdlIENsb29uZXkgaXMgYSBsb25nLXN0YW5kaW5nIHJlY2lwaWVudCBvZiB0aGUgcHJvZHVjdGlvbiBkZWFsLCBoYXZpbmcgc3BlbnQgYWxtb3N0IHR3byBkZWNhZGVzIG1vdmluZyBoaXMgdmFyaW91cyBwcm9kdWN0aW9uIGhvdXNlcyBmcm9tIFdhcm5lciBCcm9zIHRvIFNvbnkgdG8gTUdNLCBwcm9kdWNpbmcgZG96ZW5zIG9mIGZpbG1zLCBtYW55IG9mIHdoaWNoIGhlIGhhcyBidWlsdCBmcm9tIHRoZSBncm91bmQgdXAsIG9mdGVuIGRpcmVjdGluZyBhbmQvb3Igc3RhcnJpbmcgaW4gdGhlbSB0b28uPC9wPgoKCgo8cD5JdOKAmXMgYW4gYXBwcm9hY2ggdGhhdOKAmXMgYm90aCB0aW1lLWNvbnN1bWluZyBhbmQgY3JlYXRpdmVseSBpbnRlbnNlLCBvbmUgbWFueSBvZiB0aG9zZSDigJk5MHMgc3RhcnMgd2VyZSBkaXNpbmNsaW5lZCB0byBlbmdhZ2Ugd2l0aCwgaW5zdGVhZCBwcmVmZXJyaW5nIHRoZSBkaXN0cmFjdGluZyBkZWxpZ2h0cyBvZiBtb3ZpZSBzdGFyZG9tLiBDbG9vbmV5IG5ldmVyIHJlYWxseSBzZWVtZWQgdG8gYmUgbWFkZSBmcm9tIHRoYXQgbW91bGQsIHRob3VnaCwgYXMgZXZpZGVuY2VkIGJ5IGhpcyBjb25zY2lvdXMgY2FyZWVyIGNob2ljZSB0byBhdm9pZCBzaGFsbG93IHN0YXIgcm9sZXMgaW4gdGhlIHdha2Ugb2YgMTk5N+KAmXMgPGVtPkJhdG1hbiAmYW1wOyBSb2JpbjwvZW0+LjwvcD4KCgoKPHA+WWVzLCB0aW1lcyBoYXZlIGNoYW5nZWQgc2luY2UgdGhlIG1pZC1ub3VnaHRpZXMgY3VsbCBvZiBtb3ZpZSBzdGFyIHByb2R1Y3Rpb24gZGVhbHMuIEl04oCZcyBmYXIgbW9yZSBmYXNoaW9uYWJsZSB0aGVzZSBkYXlzIGZvciBtb3ZpZSBzdGFycyB0byBjcmVhdGUgaW5kZXBlbmRlbnQgcHJvZHVjdGlvbiBjb21wYW5pZXMgdGhhdCBhdm9pZCB1c2luZyBzdHVkaW8gb2ZmaWNlcywgc3RhZmYsIGFuZCBtb25leSwgaW4gdHVybiBkZW1vbnN0cmF0aW5nIHRoZXkgY2FuIG9wZXJhdGUgc3VjY2Vzc2Z1bGx5IGFzIHN0YW5kYWxvbmUgYnVzaW5lc3MgdmVudHVyZXMuIFdoaWxzdCB0aGVzZSBwcm9kdWN0aW9uIGNvbXBhbmllcyBhcmUgc3RpbGwgZ3VpbHR5IG9mIHB1dHRpbmcgb3V0IHRoZWlyIGZhaXIgc2hhcmUgb2YgdmFuaXR5IHByb2plY3RzLCB0aGV5IG9mdGVuIGRlYWwgd2l0aCB0aGUga2luZCBvZiBwcm9ncmVzc2l2ZSBvciBkaXNxdWlldGluZyBpc3N1ZXMgdGhhdCBzdHVkaW9zIHBlcmNlaXZlIHRvIGJlIGJveC1vZmZpY2UgcG9pc29uLiBCb3RoIENsb29uZXnigJlzIFNtb2tlaG91c2UgUGljdHVyZXMgYW5kIEJyYWQgUGl0dOKAmXMgUGxhbiBCIEVudGVydGFpbm1lbnQgaGF2ZSBwcm9kdWNlZCBzdHJpbmdzIG9mIGZpbG1zIHRoYXQgZW5nYWdlIHdpdGggbWFyZ2luYWxpc2VkIG9yIHVuZGVyLXJlcHJlc2VudGVkIHZvaWNlcywgd2hpbHN0IE1hdHQgRGFtb24gYW5kIEJlbiBBZmZpZWNr4oCZcyByZWNlbnRseSBmb3JtZWQgQWN0b3LigJlzIEVxdWl0eSBpcyBwdXJwb3J0ZWQgdG8gYmUgYW4gaW5kZXBlbmRlbnQgcHJvZHVjdGlvbiBjb21wYW55IHRoYXQgd2lsbCBpbmNyZWFzZSBwcm9maXQgcGFydGljaXBhdGlvbiAmIzgyMTY7YmVsb3cgdGhlIGxpbmUmIzgyMTc7IChhbmQgd2Ugc2luY2VyZWx5IGhvcGUgdGhhdCBjb21lcyB0byBwYXNzKS48L3A+CgoKCjxoMiBjbGFzcz0id3AtYmxvY2staGVhZGluZyIgaWQ9ImgtdW5zcG9rZW4tYmVuZWZpdHMiPlVuc3Bva2VuIGJlbmVmaXRzPC9oMj4KCgoKPHA+T2YgY291cnNlLCB0aGUgdW5zcG9rZW4gYmVuZWZpdCB0byBjcmVhdGluZyB5b3VyIG93biBzdWNjZXNzZnVsIHByb2R1Y3Rpb24gY29tcGFueSBhcyBhbiBhY3RvciAoYWxvbmdzaWRlIHRoZSBwb3RlbnRpYWwgZm9yIHRob3NlIGFmb3JlbWVudGlvbmVkIHZhbml0eSBwcm9qZWN0cykgaXMgdGhhdCBpdOKAmXMgYSBwcm92ZW4gbW9uZXktc3Bpbm5lciBhbmQgY2FuIHRoZW4gYmUgc29sZCBvZmYgYXQgYSBoYW5kc29tZSBwcm9maXQsIHNob3VsZCB5b3Ugc3VkZGVubHkgZmluZCB5b3Vyc2VsZiBzaG9ydCBvZiBhIGJvYiBvciB0d28gaW4gdGhlIHdha2Ugb2YgeW91ciBtb3N0IHJlY2VudCBtZXNzeSBkaXZvcmNlLiBQaXR04oCZcyBQbGFuIEIgaGFzIHJlY2VudGx5IGJlZW4gc29sZCB0byBhIGNhcGl0YWwgY29uZ2xvbWVyYXRlIGZvciBhIHJlcG9ydGVkICQzMDBtLCB3aGlsc3QgUmVlc2UgV2l0aGVyc3Bvb24gc29sZCBoZXIgY29tcGFueSwgSGVsbG8gU3Vuc2hpbmUsIGZvciAkOTAwbSBpbiAyMDIxLjwvcD4KCgoKPHA+TW9zdCBpbXBvcnRhbnRseSwgdGhvdWdoLCB0aGUgc2hyZXdkZXN0IHN0YXJzIG9mIHRvZGF5IGNhbiBsb29rIGF0IHRoZSBzaGlmdGluZyBpbmR1c3RyeSBsYW5kc2NhcGUgYW5kIHNlZSB3aGF0IHRoZSBob3Jpem9uIGhvbGRzLiBEaXNuZXkgaGFzIHN3YWxsb3dlZCBGb3ggd2hvbGUsIEFtYXpvbiBvd25zIE1HTSwgdGhlIFBhcmFtb3VudCBEZWNyZWUgaGFzIGJlZW4gcmVwZWFsZWQgYnkgdGhlIFN1cHJlbWUgQ291cnQgYW5kLCBqdXN0IGxpa2UgdGhlIGdvbGRlbiBkYXlzIG9mIHRoZSBzdHVkaW8gc3lzdGVtLCBIb2xseXdvb2TigJlzIG1pZ2h0aWVzdCBjb21wYW5pZXMgb25jZSBhZ2FpbiBvd24gdGhlaXIgb3duIGRpc3RyaWJ1dGlvbiBhbmQgZXhoaWJpdGlvbiBuZXR3b3JrcywgdGhpcyB0aW1lIGluIHRoZSBmb3JtIG9mIHN0cmVhbWluZyBwbGF0Zm9ybXMuIEVudGVydGFpbm1lbnQgb2xpZ29wb2xpZXMgYXJlIGZvcm1pbmcsIG1lYW5pbmcgdGhhdCBtb3JlIHBvd2VyIGlzIG9uY2UgbW9yZSBiZWluZyBjZW50cmFsaXNlZCBpbiB0aGUgaGFuZHMgb2YgZmV3ZXIgY29tcGFuaWVzLiBCZWluZyBhYmxlIHRvIG9wZXJhdGUgb3V0c2lkZSB0aG9zZSBpbmNyZWFzaW5nbHkgbGFyZ2Ugem9uZXMgb2YgY29udHJvbCBpcyBpbXBlcmF0aXZlIHRvIHRoZSBhcnRpc3RpYyBhbmQgY29tbWVyY2lhbCBwcm9zcGVjdHMgb2YgdG9kYXnigJlzIG1vdmllIHN0YXJzLCBhbmQgdGhlIG1vZGVybiBpbmRlcGVuZGVudCBwcm9kdWN0aW9uIGNvbXBhbnkgYWxsb3dzIGEgbW92aWUgc3RhciB0byBkbyBqdXN0IHRoYXQuPC9wPgoKCgo8cD5Bc3NlcnRpbmcgaW5kZXBlbmRlbmNlIGluIHN1Y2ggYSBtYW5uZXIgdGFrZXMgdXMgYmFjayBvbmNlIG1vcmUgdG8gdGhlIHN0b3J5IG9mIFBpY2tmb3JkLCBDaGFwbGluLCBhbmQgRmFpcmJhbmtzIHN0cmlraW5nIG91dCBvbiB0aGVpciBvd24gdG8gYXNzZXJ0IHRoZWlyIGNyZWF0aXZlIGFuZCBmaW5hbmNpYWwgZnJlZWRvbS4gVG8gdGhpcyBkYXksIGl0IHN0YW5kcyBhbG9uZ3NpZGUgdGhlIDE5NzBzIE5ldyBIb2xseXdvb2QgcmV2b2x1dGlvbiBhcyBvbmUgb2YgdGhlIGluZHVzdHJ54oCZcyBtb3N0IGFtYml0aW91cyBhc3NlcnRpb25zIG9mIGNyZWF0aXZlIGluZGVwZW5kZW5jZS4gV2hpbHN0IHRoYXQgdHJhZGl0aW9uIG1heSBoYXZlIGRlY2xpbmVkIHdpdGggdGhlIHN0YXJzIG9mIHRoZSDigJk4MHMgYW5kIOKAmTkwcywgd2hvIGNob3NlIGluc3RlYWQgdG8g4oCYaGFuZyB0aGVpciBzaGluZ2xlc+KAmSBsYXJnZWx5IHdpdGhpbiB0aGUgc3R1ZGlvIHN5c3RlbSwgdGhhdCBkZXNpcmUgZm9yIGluZGVwZW5kZW5jZSBpcyByZXN1cmdlbnQgb25jZSBtb3JlLCBmb3JtaW5nIGEgZGlyZWN0IGxpbmUgdG8gdG9kYXnigJlzIHN0YXJzIGFuZCB0aGVpciBvd24gaW5kZXBlbmRlbnQgcHJvZHVjdGlvbiBjb21wYW5pZXMuIEFuZCBoZXksIGlmIFN0YXRoYW0gYW5kIEpvaG5zb24gd2FudCB0byB1c2UgdGhhdCBpbmRlcGVuZGVuY2UgdG8gY29udHJhY3R1YWxseSBxdWliYmxlIGFib3V0IGV4YWN0bHkgaG93IG1hbnkgcHVuY2hlcyBpbiB0aGUgZmFjZSB0aGVpciBzdXBlcmh1bWFuIGFjdGlvbiBwZXJzb25hcyBhcmUgd2lsbGluZyB0byBhYnNvcmIsIHdobyBhcmUgd2UgdG8gc3RvcCB0aGVtPy48L3A+CjxkaXYgY2xhc3M9ImFkZHRvYW55X3NoYXJlX3NhdmVfY29udGFpbmVyIGFkZHRvYW55X2NvbnRlbnQgYWRkdG9hbnlfY29udGVudF9ib3R0b20iPjxkaXYgY2xhc3M9ImFkZHRvYW55X2hlYWRlciI+U2hhcmUgdGhpcyBBcnRpY2xlOjwvZGl2PjxkaXYgY2xhc3M9ImEyYV9raXQgYTJhX2tpdF9zaXplXzMyIGFkZHRvYW55X2xpc3QiIGRhdGEtYTJhLXVybD0iaHR0cHM6Ly9zdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL3RoZS1sb3N0LWFydC1vZi10aGUtYS1saXN0LXN0dWRpby1wcm9kdWN0aW9uLWNvbXBhbnkvIiBkYXRhLWEyYS10aXRsZT0iVGhlIGxvc3QgYXJ0IG9mIHRoZSBBLWxpc3Qgc3R1ZGlvIHByb2R1Y3Rpb24gY29tcGFueSI+PGEgY2xhc3M9ImEyYV9idXR0b25fZmFjZWJvb2siIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZmFjZWJvb2s/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRnRoZS1sb3N0LWFydC1vZi10aGUtYS1saXN0LXN0dWRpby1wcm9kdWN0aW9uLWNvbXBhbnklMkYmYW1wO2xpbmtuYW1lPVRoZSUyMGxvc3QlMjBhcnQlMjBvZiUyMHRoZSUyMEEtbGlzdCUyMHN0dWRpbyUyMHByb2R1Y3Rpb24lMjBjb21wYW55IiB0aXRsZT0iRmFjZWJvb2siIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by90d2l0dGVyP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZzdGFnaW5nLmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZ0aGUtbG9zdC1hcnQtb2YtdGhlLWEtbGlzdC1zdHVkaW8tcHJvZHVjdGlvbi1jb21wYW55JTJGJmFtcDtsaW5rbmFtZT1UaGUlMjBsb3N0JTIwYXJ0JTIwb2YlMjB0aGUlMjBBLWxpc3QlMjBzdHVkaW8lMjBwcm9kdWN0aW9uJTIwY29tcGFueSIgdGl0bGU9IlR3aXR0ZXIiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fZW1haWwiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZW1haWw/bGlua3VybD1odHRwcyUzQSUyRiUyRnN0YWdpbmcuZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRnRoZS1sb3N0LWFydC1vZi10aGUtYS1saXN0LXN0dWRpby1wcm9kdWN0aW9uLWNvbXBhbnklMkYmYW1wO2xpbmtuYW1lPVRoZSUyMGxvc3QlMjBhcnQlMjBvZiUyMHRoZSUyMEEtbGlzdCUyMHN0dWRpbyUyMHByb2R1Y3Rpb24lMjBjb21wYW55IiB0aXRsZT0iRW1haWwiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9kZCBhZGR0b2FueV9zaGFyZV9zYXZlIGFkZHRvYW55X3NoYXJlIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vc2hhcmUiPjwvYT48L2Rpdj48L2Rpdj4=