Film Stories chats to three location professionals about just what it takes to find and secure the backdrops to some of cinema’s most magical scenes.
This article first appeared in Film Stories issue #50.
Film, by its very nature, whisks us along at an unrelenting 24 frames per second, a perpetual sense of motion that makes the medium so thrilling – and yet, it means there’s little time to consider the toil and artistry that goes into each and every shot. From the panicked crowd stumbling away from the screen when the Lumière brothers premiered the first ever shot of a train pulling into a station in late 19th century Paris, to the absorbed fascination – exactly a hundred years later – of the riveted audiences watching De Niro and Pacino face each other down in Heat, there's been precious little chance to truly appreciate the immense effort that goes into creating the iconography of the silver screen.
Spare a thought then for the location scout, the resourceful and hard-working professional who dedicates weeks, sometimes months, to finding and securing a location which might appear in front of cameras for the most fleeting of moments. Should one of these plucky individuals manage to hunt down a location that meets the specified requirements of a demanding director, there’s still a boggling mélange of factors to consider: permits, agreements, parking, residents, the fickle political whims of local government, the looming threat of organised crime, the dangers of terrorism and so on.
If that list appeared to suddenly veer into the kind of incredibly left-field territory that you don’t normally face in your day job, welcome to the wild world of the location professional, the unsung hero of any film production.
PGRpdiBjbGFzcz0iYWRkdG9hbnlfc2hhcmVfc2F2ZV9jb250YWluZXIgYWRkdG9hbnlfY29udGVudCBhZGR0b2FueV9jb250ZW50X3RvcCI+PGRpdiBjbGFzcz0iYWRkdG9hbnlfaGVhZGVyIj5TaGFyZSB0aGlzIEFydGljbGU6PC9kaXY+PGRpdiBjbGFzcz0iYTJhX2tpdCBhMmFfa2l0X3NpemVfMzIgYWRkdG9hbnlfbGlzdCIgZGF0YS1hMmEtdXJsPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL3RoZS1zZWNyZXQtd29ybGQtb2YtbG9jYXRpb24tc2NvdXRzLyIgZGF0YS1hMmEtdGl0bGU9IlRoZSBzZWNyZXQgd29ybGQgb2YgbG9jYXRpb24gc2NvdXRzIj48YSBjbGFzcz0iYTJhX2J1dHRvbl9mYWNlYm9vayIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9mYWNlYm9vaz9saW5rdXJsPWh0dHBzJTNBJTJGJTJGZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRnRoZS1zZWNyZXQtd29ybGQtb2YtbG9jYXRpb24tc2NvdXRzJTJGJmFtcDtsaW5rbmFtZT1UaGUlMjBzZWNyZXQlMjB3b3JsZCUyMG9mJTIwbG9jYXRpb24lMjBzY291dHMiIHRpdGxlPSJGYWNlYm9vayIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2J1dHRvbl90d2l0dGVyIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vYWRkX3RvL3R3aXR0ZXI/bGlua3VybD1odHRwcyUzQSUyRiUyRmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZ0aGUtc2VjcmV0LXdvcmxkLW9mLWxvY2F0aW9uLXNjb3V0cyUyRiZhbXA7bGlua25hbWU9VGhlJTIwc2VjcmV0JTIwd29ybGQlMjBvZiUyMGxvY2F0aW9uJTIwc2NvdXRzIiB0aXRsZT0iVHdpdHRlciIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2J1dHRvbl9lbWFpbCIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by9lbWFpbD9saW5rdXJsPWh0dHBzJTNBJTJGJTJGZmlsbXN0b3JpZXMuY28udWslMkZmZWF0dXJlcyUyRnRoZS1zZWNyZXQtd29ybGQtb2YtbG9jYXRpb24tc2NvdXRzJTJGJmFtcDtsaW5rbmFtZT1UaGUlMjBzZWNyZXQlMjB3b3JsZCUyMG9mJTIwbG9jYXRpb24lMjBzY291dHMiIHRpdGxlPSJFbWFpbCIgcmVsPSJub2ZvbGxvdyBub29wZW5lciIgdGFyZ2V0PSJfYmxhbmsiPjwvYT48YSBjbGFzcz0iYTJhX2RkIGFkZHRvYW55X3NoYXJlX3NhdmUgYWRkdG9hbnlfc2hhcmUiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9zaGFyZSI+PC9hPjwvZGl2PjwvZGl2Pgo8cD48c3Ryb25nPkZpbG0gU3RvcmllcyBjaGF0cyB0byB0aHJlZSBsb2NhdGlvbiBwcm9mZXNzaW9uYWxzIGFib3V0IGp1c3Qgd2hhdCBpdCB0YWtlcyB0byDvrIFuZCBhbmQgc2VjdXJlIHRoZSBiYWNrZHJvcHMgdG8gc29tZSBvZiBjaW5lbWHigJlzIG1vc3QgbWFnaWNhbCBzY2VuZXMuPC9zdHJvbmc+PC9wPgoKCgo8aHIgY2xhc3M9IndwLWJsb2NrLXNlcGFyYXRvciBoYXMtYWxwaGEtY2hhbm5lbC1vcGFjaXR5Ii8+CgoKCjxwPjxlbT5UaGlzIGFydGljbGUgZmlyc3QgYXBwZWFyZWQgaW4gRmlsbSBTdG9yaWVzIGlzc3VlICM1MC48L2VtPjwvcD4KCgoKPHA+RmlsbSwgYnkgaXRzIHZlcnkgbmF0dXJlLCB3aGlza3MgdXMgYWxvbmcgYXQgYW4gdW5yZWxlbnRpbmcgMjQgZnJhbWVzIHBlciBzZWNvbmQsIGEgcGVycGV0dWFsIHNlbnNlIG9mIG1vdGlvbiB0aGF0IG1ha2VzIHRoZSBtZWRpdW0gc28gdGhyaWxsaW5nIOKAkyBhbmQgeWV0LCBpdCBtZWFucyB0aGVyZeKAmXMgbGl0dGxlIHRpbWUgdG8gY29uc2lkZXIgdGhlIHRvaWwgYW5kIGFydGlzdHJ5IHRoYXQgZ29lcyBpbnRvIGVhY2ggYW5kIGV2ZXJ5IHNob3QuIEZyb20gdGhlIHBhbmlja2VkIGNyb3dkIHN0dW1ibGluZyBhd2F5IGZyb20gdGhlIHNjcmVlbiB3aGVuIHRoZSBMdW1pw6hyZSBicm90aGVycyBwcmVtaWVyZWQgdGhlIO+sgXJzdCBldmVyIHNob3Qgb2YgYSB0cmFpbiBwdWxsaW5nIGludG8gYSBzdGF0aW9uIGluIGxhdGUgMTl0aCBjZW50dXJ5IFBhcmlzLCB0byB0aGUgYWJzb3JiZWQgZmFzY2luYXRpb24g4oCTIGV4YWN0bHkgYSBodW5kcmVkIHllYXJzIGxhdGVyIOKAkyBvZiB0aGUgcml2ZXRlZCBhdWRpZW5jZXMgd2F0Y2hpbmcgRGUgTmlybyBhbmQgUGFjaW5vIGZhY2UgZWFjaCBvdGhlciBkb3duIGluIEhlYXQsIHRoZXJlJiM4MjE3O3MgYmVlbiBwcmVjaW91cyBsaXR0bGUgY2hhbmNlIHRvIHRydWx5IGFwcHJlY2lhdGUgdGhlIGltbWVuc2UgZWZmb3J0IHRoYXQgZ29lcyBpbnRvIGNyZWF0aW5nIHRoZSBpY29ub2dyYXBoeSBvZiB0aGUgc2lsdmVyIHNjcmVlbi48L3A+CgoKCjxwPlNwYXJlIGEgdGhvdWdodCB0aGVuIGZvciB0aGUgbG9jYXRpb24gc2NvdXQsIHRoZSByZXNvdXJjZWZ1bCBhbmQgaGFyZC13b3JraW5nIHByb2Zlc3Npb25hbCB3aG8gZGVkaWNhdGVzIHdlZWtzLCBzb21ldGltZXMgbW9udGhzLCB0byBmaW5kaW5nIGFuZCBzZWN1cmluZyBhIGxvY2F0aW9uIHdoaWNoIG1pZ2h0IGFwcGVhciBpbiBmcm9udCBvZiBjYW1lcmFzIGZvciB0aGUgbW9zdCBmbGVldGluZyBvZiBtb21lbnRzLiBTaG91bGQgb25lIG9mIHRoZXNlIHBsdWNreSBpbmRpdmlkdWFscyBtYW5hZ2UgdG8gaHVudCBkb3duIGEgbG9jYXRpb24gdGhhdCBtZWV0cyB0aGUgc3BlY2lmaWVkIHJlcXVpcmVtZW50cyBvZiBhIGRlbWFuZGluZyBkaXJlY3RvciwgdGhlcmXigJlzIHN0aWxsIGEgYm9nZ2xpbmcgbcOpbGFuZ2Ugb2YgZmFjdG9ycyB0byBjb25zaWRlcjogcGVybWl0cywgYWdyZWVtZW50cywgcGFya2luZywgcmVzaWRlbnRzLCB0aGUgZmlja2xlIHBvbGl0aWNhbCB3aGltcyBvZiBsb2NhbCBnb3Zlcm5tZW50LCB0aGUgbG9vbWluZyB0aHJlYXQgb2Ygb3JnYW5pc2VkIGNyaW1lLCB0aGUgZGFuZ2VycyBvZiB0ZXJyb3Jpc20gYW5kIHNvIG9uLiA8L3A+CgoKCjxwPklmIHRoYXQgbGlzdCBhcHBlYXJlZCB0byBzdWRkZW5seSB2ZWVyIGludG8gdGhlIGtpbmQgb2YgaW5jcmVkaWJseSBsZWZ0LWZpZWxkIHRlcnJpdG9yeSB0aGF0IHlvdSBkb27igJl0IG5vcm1hbGx5IGZhY2UgaW4geW91ciBkYXkgam9iLCB3ZWxjb21lIHRvIHRoZSB3aWxkIHdvcmxkIG9mIHRoZSBsb2NhdGlvbiBwcm9mZXNzaW9uYWwsIHRoZSB1bnN1bmcgaGVybyBvZiBhbnkgZmlsbSBwcm9kdWN0aW9uLjwvcD4KCgoKPHNwYW4gaWQ9Im1vcmUtOTM3NTUiPjwvc3Bhbj4KCgoKPHA+V2hlbiBGaWxtIFN0b3JpZXMgZ2V0cyB0aGUgb3Bwb3J0dW5pdHkgdG8gdGFsayB0byBKYW5pY2UgUG9sbGV5LCBzaGUgc3F1ZWV6ZXMgdXMgaW4gZm9yIGEgcXVpY2sgY2hhdCB3aGlsc3Qgd2FpdGluZyBpbiB0aGUgbG9iYnkgb2YgYSBab29tIGNhbGwgZm9yIGEgZ2xvYmUtIHNwYW5uaW5nIHByb2plY3QgdGhhdCBzaGXigJlzIGluIHByZS1wcm9kdWN0aW9uIG9uLjwvcD4KCgoKPHA+UG9sbGV5IGZpcnN0IGZvdW5kIGhlcnNlbGYgZ3JhcHBsaW5nIHdpdGggdGhlIHJvbGUgd2hlbiBzaGUgZ3JhZHVhdGVkIGZyb20gYmVpbmcgYSBwcm9kdWN0aW9uIGFzc2lzdGFudCB0byBsb2NhdGlvbiBhc3Npc3RhbnQgaW4gMTk4NuKAmXMgQ29icmEgYmVmb3JlIGJlY29taW5nIGxvY2F0aW9uIG1hbmFnZXIgb24gdGhlIGFybS13cmVzdGxpbmcgZHJhbWEgKGl0IHdhcyB0aGUg4oCZODBzKSwgPGVtPk92ZXIgVGhlIFRvcDwvZW0+IOKAkyBib3RoIG9mIHdoaWNoIHN0YXJyZWQgU3lsdmVzdGVyIFN0YWxsb25lLjwvcD4KCgoKPHA+4oCcWW91IGtpbmQgb2YgbGVhcm4gYnkgZmlyZSzigJ0gcmVjYWxscyBQb2xsZXksIOKAnHlvdSBzdXJ2aXZlLiBJdCB3YXMgYSBmdW4gbW92aWUg4oCTIHlvdeKAmXJlIG9uIGxvY2F0aW9uIHdpdGggU3RhbGxvbmUh4oCdPC9wPgoKCgo8cD48c3Ryb25nPkJleW9uZCBodW1hbjwvc3Ryb25nPjwvcD4KCgoKPHA+RmFzdC1mb3J3YXJkIHRvIHRoZSBwcmVzZW50IGFuZCBQb2xsZXkgb2Z0ZW4gbm93IGZpbmRzIGhlcnNlbGYgbWFuYWdpbmcgbXVsdGlwbGUgbG9jYXRpb25zIGFjcm9zcyBzZXZlcmFsIGNvdW50cmllcywgYWxsIGZvciBhIHNpbmdsZSBwcm9kdWN0aW9uIHN1Y2ggYXMgPGVtPlRlbmV0PC9lbT4sIHRoZSBnbG9iZS1zcGFubmluZyAyMDIwIGJsb2NrYnVzdGVyIHRoYXQgcmVxdWlyZWQgUG9sbGV5IHRvIG92ZXJzZWUgYSBtaW5kLWJvZ2dsaW5nIG51bWJlciBvZiBmYWN0b3JzLjwvcD4KCgoKPHA+4oCcV2l0aCA8ZW0+VGVuZXQ8L2VtPiwgSSBoYWQgYSBncmVhdCBzdXBwb3J0IHRlYW0s4oCdIHNoZSBleHBsYWlucy4g4oCcSW4gZWFjaCBjb3VudHJ5IEkgaGFkIGEgbG9jYXRpb24gbWFuYWdlciBiZWNhdXNlIHdlIHdlbnQgdG8gZWlnaHQgY291bnRyaWVzLCBhY3R1YWxseSBuaW5lIGJlY2F1c2Ugd2Ugd2VudCBkb3duIHRvIEdpYnJhbHRhciB0byBsb29rIGF0IGEgYm9hdC4gQW5kIHdlIGRpZCBpdCBtaWxpdGFyaXN0aWNhbGx5LCBJIG1lYW4gZG93biB0byB0aGUgbWludXRlLuKAnTwvcD4KCgoKPHA+V2hlbiB3ZSB3b25kZXIgYWxvdWQgd2hhdCB0aGF0IGxldmVsIG9mIGh5cGVyLW9yZ2FuaXNhdGlvbiBtdXN0IGxvb2sgbGlrZSBpbiByZWFsLWxpZmUsIFBvbGxleSBqdXN0IGxhdWdocyBhbmQgY29uZmlybXMgb3VyIHN1c3BpY2lvbnMgdGhhdCBzaGXigJlzIHRoZSBuZXh0IHN0YWdlIG9mIHdoYXQgaHVtYW4gZXZvbHV0aW9uIG1heSBsb29rIGxpa2UsIGluY2x1ZGluZyB0aGUgYWJpbGl0eSB0byByZXNpc3QgbmFwcGluZyAoYSB0cnVlIHN1cGVycG93ZXIgaWYgZXZlciB3ZSBoZWFyZCBvZiBvbmUpOjwvcD4KCgoKPHA+4oCcSeKAmW0gbmV2ZXIgbGF0ZSwgbm8uIEkgd291bGRu4oCZdCBldmVuIGNsb3NlIG15IGV5ZXMgaW4gdGhlIHZhbiBmb3IgZmVhciB0aGF0IG15IGRpcmVjdG9yIHdpbGwgc2VlIHNvbWV0aGluZyBhbmQgc2F5LCDigJh3aGF04oCZcyB0aGF0IGJ1aWxkaW5nIG92ZXIgdGhlcmU/4oCZIHdoaWNoIHNvbWV0aW1lcyBoYXBwZW5zLuKAnTwvcD4KCgoKPHA+SWYgYWxsIG9mIHRoYXQgd2FzbuKAmXQgY29tcGxpY2F0ZWQgZW5vdWdoLCBzb21ldGltZXMgYSBodWdlIGZpbG0gcHJvZHVjdGlvbiBjYW4gZmluZCBpdHNlbGYgYmVjb21pbmcgc29tZXRoaW5nIG9mIGEgcG9saXRpY2FsIGZvb3RiYWxsIGFzIHBvbGl0aWNpYW5zIHNlZWsgdG8gdHdpc3QgdGhlIGFjY29tcGFueWluZyBzdGF0dXMgYW5kIGRvbGxhcnMgdG8gdGhlaXIgb3duIGVuZHMuPC9wPgoKCgo8cD7igJxUaGUgbW9zdCBkaWZmaWN1bHQgb25lIHdhcyA8ZW0+VGVuZXQ8L2VtPiBpbiBFc3RvbmlhLOKAnSByZWNhbGxzIFBvbGxleSwg4oCcd2hlcmUgd2UgZmlsbWVkIHRoZSBzZXF1ZW5jZSB3aXRoIGFsbCBvZiB0aGUgdmVoaWNsZXMgb24gdGhhdCBtYXNzaXZlIGhpZ2h3YXkuIFdoZW4gd2UgZmlyc3Qgc2NvdXRlZCwgaXQgd2FzIGEgZGlmZmVyZW50IG1heW9yLCB0aGVuIGEgbmV3IG1heW9yIGNhbWUgaW4gYW5kIGhlIGJhc2ljYWxseSB1c2VkIHVzIGFzIHBhcnQgb2YgYSBmdXR1cmUgcG9saXRpY2FsIG1vdmUuIEhlIGdhdmUgdXMgYSByZWFsbHkgaGFyZCB0aW1lIGFuZCBkZW5pZWQgdXMuIEl0IGdvdCByZWFsbHkgdG91Y2h5IGFuZCByZWFjaGVkIHRoZSBwb2ludCB3aGVyZSBJIHdhc27igJl0IHN1cmUgaWYgd2XigJlkIGJlIHRoZXJlIHRoZSBuZXh0IHdlZWtlbmQuIEl0IHdhc27igJl0IEVzdG9uaWEgb3IgdGhlIGNpdHkgb2YgVGFsbGlubiwgaXQgd2FzIHNpbXBseSB0aGUgbWF5b3IuIEkgd291bGQgcmF0aGVyIGRlYWwgd2l0aCB0aGUgMTh0aCBTdHJlZXQgR2FuZyBbYSBub3RvcmlvdXMgTEEgY3JpbWluYWwgb3JnYW5pc2F0aW9uXSBiZWNhdXNlIGF0IGxlYXN0IGlmIHlvdSBzaG93IHJlc3BlY3QgdG8gdGhlbSwgdGhleSB3aWxsIHNob3cgaXQgYmFjay4gQSBtYXlvciB3aXRoIGEgcG9saXRpY2FsIGFnZW5kYT8gVGhhdOKAmXMgdmVyeSBkaWZmaWN1bHQgdG8gZ2V0IG92ZXIu4oCdPC9wPgoKCgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIGlzLXJlc2l6ZWQiPjxpbWcgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjUzNCIgc3JjPSJodHRwczovL3NwYWNlcy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTEvdGVuZXQtY2FyLWNoYXNlLTgwMHg1MzQuanBnIiBhbHQ9InRlbmV0IGNhciBjaGFzZSIgY2xhc3M9IndwLWltYWdlLTkzNzU3IiBzdHlsZT0id2lkdGg6ODQwcHg7aGVpZ2h0OmF1dG8iIHNyY3NldD0iaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL3RlbmV0LWNhci1jaGFzZS04MDB4NTM0LndlYnAgODAwdywgaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL3RlbmV0LWNhci1jaGFzZS0zMDB4MjAwLndlYnAgMzAwdywgaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL3RlbmV0LWNhci1jaGFzZS5qcGcgMTQ4NnciIHNpemVzPSIobWF4LXdpZHRoOiA4MDBweCkgMTAwdncsIDgwMHB4IiAvPjxmaWdjYXB0aW9uIGNsYXNzPSJ3cC1lbGVtZW50LWNhcHRpb24iPlRlbmV0IChDcmVkaXQ6IFdhcm5lciBCcm9zKTwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KCgoKPHA+PHN0cm9uZz5UdXJmIHdhcjwvc3Ryb25nPjwvcD4KCgoKPHA+UG9sbGV5IGlzbuKAmXQga2lkZGluZyBhYm91dCBkZWFsaW5nIHdpdGggb3JnYW5pc2VkIGNyaW1lIG91dGZpdHMgZWl0aGVyLjwvcD4KCgoKPHA+4oCcSXTigJlzIG5vdCBzb21ldGhpbmcgdGhhdOKAmXMgY29tbW9uIGJ1dCBJIGhhdmUgY29tZSBhY3Jvc3MgaXQgaW4gYSBmZXcgaW5zdGFuY2VzIGluIG15IGNhcmVlciwgaW4gZGlmZmVyZW50IGNvdW50cmllcyzigJ0gc2hlIGFkZHMuIFRoZSBzYW1lIGlzIHRydWUgZm9yIEplZmZyZXkgSHVudGVyLCBhIGxvY2F0aW9uIG1hbmFnZXIgd2hvIG1vc3RseSB3b3JrcyBpbiBMb3MgQW5nZWxlcy48L3A+CgoKCjxwPldoZW4gd2UgY2F0Y2ggdXAgd2l0aCBoaW0sIGEga2V5IGxvY2F0aW9uIG9uIGhpcyBjdXJyZW50IHByb2plY3QgaGFzIGZhbGxlbiB0aHJvdWdoIGFuZCBoZeKAmXMgcnVzaGluZyBhcm91bmQgTEEgdHJ5aW5nIHRvIGZpbmQgYSByZXBsYWNlbWVudC4gSW4gcXVpY2sgc25hdGNoZXMgb2YgYXVkaW8gbWVzc2FnZXMsIGhvd2V2ZXIsIGhlIGFsc28gY29uZmlybXMgdGhhdCBsb2NhdGlvbiBzY291dGluZyBjYW4gdGFrZSB5b3UgaW50byBzb21lIHByZXR0eSBoYWlyeSBzY2VuYXJpb3MuPC9wPgoKCgo8cD7igJxJIHdhcyBvbiB0aGUgdmVyeSBlYXJseSBzY291dGluZyBwcm9jZXNzIGZvciA8ZW0+UmVhZHkgUGxheWVyIE9uZTwvZW0+IHdoZW4gdGhleSB3ZXJlIHRyeWluZyB0byBzZWUgaWYgdGhlcmUgd2VyZSBhbnkgVVMgY2l0aWVzIHRoYXQgY291bGQgYmUgdXNlZCBmb3IgZmlsbWluZyzigJ0gaGUgcmVtZW1iZXJzLiDigJxUaGV5IHdlcmUgbG9va2luZyBmb3Igc29tZXRoaW5nIHRoYXQ8L3A+CgoKCjxwPndhcyBhIG1peHR1cmUgb2YgZmF2ZWxhcyBpbiBSaW8sIHNoYW50eS10b3ducyBpbiBJbmRpYSwgVVMgZ2hldHRvcywgc28gd2l0aCB0aGF0IGluZm9ybWF0aW9uIEkgdG9vayB0aGVtIGludG8gdGhlIHdvcmxkIG9mIFRoZSBQcm9qZWN0cyBpbiBTb3V0aCBDZW50cmFsIExBLiBJIGhhZCB0byBwdXQgdGhhdCBzY291dCB0b2dldGhlciB3aXRoIGhlbHAgZnJvbSBMQVBE4oCZcyBHYW5nIFVuaXQgYW5kIEkgd2FzIGVzY29ydGVkIGJ5IHR3byBvZmZpY2VycyBhbmQgYSBzZXJnZWFudCBmcm9tIHRoYXQgdW5pdC4gQXMgd2Ugd2VyZSBpbiBXYXR0cywgdGhlcmUgd2FzIGEgc2hvb3QtIG91dCBuZWFyYnkgYW5kIEkgd2FzIHF1aWNrbHkgZXNjb3J0ZWQgYXdheS4gVGhhdCB3YXMgYW4gaW50ZXJlc3RpbmcgZGF5IeKAnTwvcD4KCgoKPHA+T2YgY291cnNlLCBTdGV2ZW4gU3BpZWxiZXJn4oCZcyAyMDE4IGR5c3RvcGlhbiBkcmFtYSB3b3VsZCBldmVudHVhbGx5IGZpbmQgaXRzIHVyYmFuIGdoZXR0byBpbiB0aGUg4oCTIHBlcmhhcHMgdW5saWtlbHkg4oCTIGZvcm0gb2YgQmlybWluZ2hhbeKAmXMgRGlnYmV0aCBkaXN0cmljdC4gQW5kLCBhdCBsZWFzdCBhcyBmYXIgYXMgd2Uga25vdywgcHJvZHVjdGlvbiB3YXMgY29tcGxldGVkIHdpdGggdGhlIG9ubHkga2luZCBvZiBzaG9vdGluZyBiZWluZyB0aGUgdHlwZSBkb25lIGJ5IGNhbWVyYSBvcGVyYXRvcnMuPC9wPgoKCgo8cD5Eb2RnaW5nIGJ1bGxldHMgb3Igbm90LCB0aG91Z2gsIHRoZSBtb3N0IGRlbWFuZGluZyBwYXJ0IG9mIHRoZSBqb2IgaXMsIGFuZCB3aWxsIGFsd2F5cyBiZSwgYXR0ZW1wdGluZyB0byBtZWV0IHRoZSBkZW1hbmRzIG9mIHRoZSBmaWxtbWFrZXIgYnkgZmluZGluZyBhIHdheSB0byBtYXRjaCB0aGUgaW1hZ2UgaW4gdGhlaXIgaW1hZ2luYXRpb24gdG8gYW4gYWN0dWFsIChhbmQgd29ya2FibGUpIGxvY2F0aW9uIGluIHRoZSByZWFsIHdvcmxkLiBBbmQgc29tZXRpbWVzLCB0aGF0IGNhbiBtZWFuIHB1dHRpbmcgaW4gYW4gYXdmdWwgbG90IG9mIGhvdXJzIGFuZCBtaWxlcyB0byBnZXQgdGhlIGpvYiBkb25lLjwvcD4KCgoKPHA+PHN0cm9uZz5NaWxlcyBhbmQgbWlsZXM8L3N0cm9uZz48L3A+CgoKCjxwPuKAnE1pa2UsIEkgd2FudCB0byBzZWUgZXZlcnl0aGluZyB0aGF04oCZcyBvdXQgdGhlcmUsIHRoYXTigJlzIHdoYXQgaGUgc2FpZCzigJ0gcmVjYWxscyBNaWtlIENhbW9pbiBhcyBoZSByZWZsZWN0cyBvbiBoaXMgd29yayBmaW5kaW5nIHRoZSB2ZXJ5IGxhc3Qgc2hvdCBmb3IgRGVyZWsgQ2lhbmZyYW5jZeKAmXMgYnJpbGxpYW50IDIwMTIgY3JpbWUgZHJhbWEsIDxlbT5UaGUgUGxhY2UgQmV5b25kIFRoZSBQaW5lczwvZW0+LiBGb3IgdGhpcyB3cml0ZXIgYXQgbGVhc3QsIGlmIHRoZXkgZ2F2ZSBvdXQgYXdhcmRzIGZvciB0aGUgZmlsbSB0aGF0IGJvYXN0ZWQgdGhpcyBjZW50dXJ54oCZcyBiZXN0IG9wZW5pbmcgYW5kIGNsb3Npbmcgc2hvdCwgPGVtPlBpbmVzPC9lbT4gd291bGQgbW9zdCBkZWZpbml0ZWx5IGJlIGluIHRoZSBydW5uaW5nLCB3aXRoIGl0cyB0ZWNobmljYWxseSBicmlsbGlhbnQgb3BlbmluZyB0cmFja2luZyBzaG90IGFuZCBtYXN0ZXJmdWwsIGV4cGFuc2l2ZSBjbG9zaW5nIHNob3QgdGhhdCB3b27igJl0IGJlIHNwb2lsZWQgaGVyZS48L3A+CgoKCjxwPldpdGggaXRzIGltcG9zaW5nIHBlYWtzIG9mZnNldCBieSBhIHNsZWVweSBmYXJtIGluIHRoZSBmb3JlZ3JvdW5kLCB0aGUgZmluYWwgbW9tZW50IGlzIGxpa2Ugc29tZXRoaW5nIG91dCBvZiBhbiBFZGdhciBQYXluZSBsYW5kc2NhcGUsIGEgcGFpbnRlcmx5IHNsaWNlIG9mIEFtZXJpY2FuYSB0aGF0IGlzIHN1cHBvc2VkIHRvIGJlIGEgc2hvd2Nhc2UgZm9yIHRoZSBlbm9ybWl0eSBvZiBDb2xvcmFkb+KAmXMgUm9ja3kgTW91bnRhaW5zIGluIGFsbCBvZiB0aGVpciBnbG9yeS4gTGl0dGxlIGRvIG1vc3QgcGVvcGxlIGtub3csIGhvd2V2ZXIsIHRoYXQgaW4gc2Vla2luZyBhbmQgZmlsbWluZyB0aGlzIGxhc3Qgc2hvdCBvZiB0aGUgZmlsbSwgdGhlIHByb2R1Y3Rpb24gb2YgPGVtPlRoZSBQbGFjZSBCZXlvbmQgVGhlIFBpbmVzPC9lbT4gbmV2ZXIgZ290IGFueXdoZXJlIG5lYXIgQ29sb3JhZG8hIEluIGZhY3QsIGl0IG5ldmVyIHN0cmF5ZWQgbW9yZSB0aGFuIGEgdGhyZWUtaG91ciBkcml2ZSBmcm9tIGl0cyBoZWFkcXVhcnRlcnMgaW4gU3luZWNkb2NoZSwgTmV3IFlvcmsuPC9wPgoKCgo8ZmlndXJlIGNsYXNzPSJ3cC1ibG9jay1pbWFnZSBzaXplLWxhcmdlIj48aW1nIGxvYWRpbmc9ImxhenkiIGRlY29kaW5nPSJhc3luYyIgd2lkdGg9IjgwMCIgaGVpZ2h0PSI1MzMiIHNyYz0iaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL1BMQUNFLUJFWU9ORC1USEUtUElORVMtODAweDUzMy5qcGciIGFsdD0icGxhY2UgYmV5b25kIHRoZSBwaW5lcyIgY2xhc3M9IndwLWltYWdlLTkzNzU4IiBzcmNzZXQ9Imh0dHBzOi8vc3BhY2VzLmZpbG1zdG9yaWVzLmNvLnVrL3VwbG9hZHMvMjAyNC8xMS9QTEFDRS1CRVlPTkQtVEhFLVBJTkVTLTgwMHg1MzMud2VicCA4MDB3LCBodHRwczovL3NwYWNlcy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTEvUExBQ0UtQkVZT05ELVRIRS1QSU5FUy0zMDB4MjAwLndlYnAgMzAwdywgaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL1BMQUNFLUJFWU9ORC1USEUtUElORVMuanBnIDE1MDB3IiBzaXplcz0iKG1heC13aWR0aDogODAwcHgpIDEwMHZ3LCA4MDBweCIgLz48ZmlnY2FwdGlvbiBjbGFzcz0id3AtZWxlbWVudC1jYXB0aW9uIj5UaGUgUGxhY2UgQmV5b25kIFRoZSBQaW5lcyAoQ3JlZGl0OiBGb2N1cyBGZWF0dXJlcyk8L2ZpZ2NhcHRpb24+PC9maWd1cmU+CgoKCjxwPkFmdGVyIHRoZSBwcm9kdWN0aW9u4oCZcyBzY291dGluZyB0ZWFtIGhhZCBmYWlsZWQgdG8gZmluZCBhbiBhZGVxdWF0ZSBzdWJzdGl0dXRlIGZvciB0aGUgUm9ja2llcyBpbiB1cHN0YXRlIE5ldyBZb3JrLCBDYW1vaW4gd2FzIGJyb3VnaHQgb250byB0aGUgcHJvZHVjdGlvbiB3aXRoIHRoZSBkYXVudGluZyB0YXNrIG9mIHVzaW5nIGhpcyBrbm93bGVkZ2Ugb2YgdGhlIHJlZ2lvbiB0byBzdWNjZWVkIHdoZXJlIG90aGVycyBoYWQgZmFpbGVkLiBTaXR0aW5nIGluIGhpcyBvZmZpY2UsIHRoZSB3YWxscyBhZG9ybmVkIHdpdGggcG9zdGVycyBvZiBmaWxtcyB0aGF0IGhl4oCZcyB3b3JrZWQgb24sIHRoZSBkb2N1bWVudGFyeSBmaWxtbWFrZXIgdGFrZXMgRmlsbSBTdG9yaWVzIHRocm91Z2ggYSBwcm9jZXNzIHdoaWNoIGZvciBoaW0gd2FzIHNvbWV0aGluZyBvZiBhIHNpZGUgaHVzdGxlLCB5ZXQgbGVkIHRvIGhpbSBwbGF5aW5nIGEga2V5IHJvbGUgaW4gY3JlYXRpbmcgYW4gZW5kdXJpbmcgY2luZW1hdGljIG1vbWVudC48L3A+CgoKCjxwPuKAnEkgd2FzIGJ1ZGdldGVkIHNldmVuIGRheXMgdG8gZmluZCB0aGUgZmluYWwgbG9jYXRpb24s4oCdIGhlIHJlY2FsbHMsIHdpdGggQ2lhbmZyYW5jZeKAmXMgcmVxdWlyZW1lbnRzIGJlaW5nIHZlcnkgZXhhY3QuIOKAnEFsd2F5cywgSSB3YXMgbG9va2luZyBmb3Igcm9hZHMgdGhhdCB3ZW50IHRvd2FyZHMgbW91bnRhaW5zLCB3aXRoIGEgcmlkZ2UgZm9yIHRoZSBjYW1lcmEs4oCdIGhlIHJlbWVtYmVycy4g4oCcSSBlYXNpbHkgY292ZXJlZCAzMDAgbWlsZXMgYW5kIGEgbG90IG9mIGZhcm1zLiBZb3UgZG9u4oCZdCB3YW50IHRvIGxldCBhbnlib2R5IGRvd24gc28geW91IGtub2NrIG9uIGRvb3JzLCB5b3UgYXNrIHF1ZXN0aW9ucywgeW91IHRha2UgcGhvdG9ncmFwaHMu4oCdPC9wPgoKCgo8cD48c3Ryb25nPkxpdmluZyB0aGUgZHJlYW08L3N0cm9uZz48L3A+CgoKCjxwPklmIHlvdeKAmXJlIHNlbnNpbmcgYSByb21hbnRpYyBhcHBlYWwgdG8gdGhlIGlkZWEgb2Ygc2ltcGx5IGp1bXBpbmcgaW50byBhIGNhciBhbmQgZHJpdmluZyB1bnRpbCB0aGUgcGVyZmVjdCBjaW5lbWF0aWMgdmlzdGEgcHJlc2VudHMgaXRzZWxmLCB0aGVuIHlvdeKAmXJlIG5vdCBhbG9uZS4gRHVyaW5nIG91ciBjaGF0IHdpdGggUG9sbGV5LCBzaGUgZmluZHMgaGVyc2VsZiB3aXN0ZnVsbHkgcmVjYWxsaW5nIHRoZSBkYXlzIHdoZW4gbG9jYXRpb24gc2NvdXRpbmcgd2FzIHVuZW5jdW1iZXJlZCBieSB0aGUgbW9kZXJuIHRyYXBwaW5ncyBvZiBmaWxtIHByb2R1Y3Rpb24uPC9wPgoKCgo8cD7igJxUaGVyZSB3YXMgbm8gR29vZ2xlLCB5b3UganVzdCBsb29rIGF0IGEgbWFwLOKAnSBzaGUgc2F5cyB3aGVuIHJlY2FsbGluZyBob3cgc2hlIGRyb3ZlIHRocm91Z2ggTm9ydGggQ2Fyb2xpbmEgdG8gc2NvdXQgc29tZSBvZiB0aGUga2V5IGxvY2F0aW9ucyBmb3IgTWljaGFlbCBNYW5u4oCZcyAxOTkyIGVwaWMsIDxlbT5UaGUgTGFzdCBPZiBUaGUgTW9oaWNhbnM8L2VtPi4g4oCcSSBmbGV3IHRoZXJlLCBJIGhhZCBhIG1hcCBhbmQgeW91IGp1c3QgZHJvdmUuIEkgZGlkbuKAmXQgZXZlbiBoYXZlIGEgbG9jYWwuIEl0IHdhcyB3YXkgYmVmb3JlIHRoZSBkYXlzIG9mLCDigJhvaCwgeW91IGhhdmUgdG8gZ28gd2hlcmUgdGhlcmXigJlzIHRheCByZWxpZWYg4oCZIG9yIOKAmHlvdSBoYXZlIHRvIGdvIG5vIGZ1cnRoZXIgdGhhbiAyMCBtaW51dGVzIGF3YXkgW2Zyb20gYSBwcm9kdWN0aW9u4oCZcyBIUV3igJkuIFRoYXTigJlzIHdoYXQgSSBsb3ZlZCBhYm91dCBzY291dGluZyBpbiB0aG9zZSBkYXlzIGJlY2F1c2UgeW914oCZZCB0dXJuIGEgY29ybmVyIGFuZCBnbywg4oCYT2ggbXkgZ29kLCBJ4oCZdmUgZm91bmQgaXQh4oCZIOKAnTwvcD4KCgoKPHA+VGhhdCBmaWxtIHdvdWxkIG1hcmsgdGhlIGJlZ2lubmluZyBvZiBQb2xsZXnigJlzIGRlY2FkZXMtIGxvbmcgd29ya2luZyByZWxhdGlvbnNoaXAgd2l0aCBNYW5uLCBhIGZpbG1tYWtlciB3aG8gaXMgcmVub3duZWQgZm9yIGhpcyBkZW1hbmRpbmdseSBoaWdoIHN0YW5kYXJkcy4gSW4gdGhlIGVhcmx5IOKAmTkwcyBzaGUgd291bGQgYWxzbyB3b3JrIHdpdGggVG9ueSBTY290dCBmb3IgdGhlIGZpcnN0IG9mIHNldmVyYWwgb2NjYXNpb25zIGFuZCBpbiBkb2luZyBzbywgc2hlIGxlYXJuZWQgYSB0aGluZyBvciB0d28gYWJvdXQgaG93IHRvIGNob29zZSBsb2NhdGlvbnMgdGhhdCBjYXRlcmVkIHRvIHRoZWlyIGRpc3RpbmN0aXZlIHN0eWxlcy48L3A+CgoKCjxwPuKAnFRvbnkgd2FzIHZlcnkgbXVjaCBhYm91dCBsaWdodCBhbmQgaW1hZ2Us4oCdIHNoZSBleHBsYWlucy4g4oCcV2hlbiB5b3Ugc2NvdXRlZCwgeW91IG5ldmVyIGdhdmUgaGltIGEgcGhvdG8gdGhhdCB3YXMgdGFrZW4gZmFjaW5nIG5vcnRoIGJlY2F1c2UgdGhlcmXigJlkIG5ldmVyIGJlIGVub3VnaCBsaWdodCBpbiBpdC4gSGUgd2FzIHRydWx5IGRyaXZlbiBieSBhbiBpbmNyZWRpYmxlIGltYWdlIGFuZCB0aGF0IHdvdWxkIHNldCB0aGUgdG9uZSBmb3IgZGlzY3Vzc2lvbnMuIE1pY2hhZWwgW2Nob29zZXMgbG9jYXRpb25zXSBieSBob3cgYSBzY2VuZSBwbGF5cyBvdXQuIFRoZXJl4oCZcyBiZSBsb3RzIG9mIHRpbWVzIHdoZW4gSSB3b3VsZCBzaG93IGhpbSBsb2NhdGlvbnMgYW5kIHRoaW5rLCDigJhUaGlzIGlzIHBlcmZlY3TigJkgYW5kIGhl4oCZZCBzYXksIOKAmE5vdCB3aGF0IEkgd2FzIHRoaW5raW5n4oCZIGFuZCB5b3UgcmVhbGlzZSB0aGF0IGhl4oCZcyBmb2N1c2VkIG9uIGhvdyBoZeKAmXMgc2hvb3RpbmcgYSBzY2VuZS7igJ08L3A+CgoKCjxmaWd1cmUgY2xhc3M9IndwLWJsb2NrLWltYWdlIHNpemUtbGFyZ2UiPjxpbWcgbG9hZGluZz0ibGF6eSIgZGVjb2Rpbmc9ImFzeW5jIiB3aWR0aD0iODAwIiBoZWlnaHQ9IjUyOSIgc3JjPSJodHRwczovL3NwYWNlcy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTEvRGFuaWVsLURheS1MZXdpcy1UaGUtTGFzdC1vZi10aGUtTW9oaWNhbnMtODAweDUyOS5qcGciIGFsdD0ibGFzdCBvZiB0aGUgbW9oaWNhbnMiIGNsYXNzPSJ3cC1pbWFnZS05Mzc1OSIgc3Jjc2V0PSJodHRwczovL3NwYWNlcy5maWxtc3Rvcmllcy5jby51ay91cGxvYWRzLzIwMjQvMTEvRGFuaWVsLURheS1MZXdpcy1UaGUtTGFzdC1vZi10aGUtTW9oaWNhbnMtODAweDUyOS53ZWJwIDgwMHcsIGh0dHBzOi8vc3BhY2VzLmZpbG1zdG9yaWVzLmNvLnVrL3VwbG9hZHMvMjAyNC8xMS9EYW5pZWwtRGF5LUxld2lzLVRoZS1MYXN0LW9mLXRoZS1Nb2hpY2Fucy0zMDB4MTk4LndlYnAgMzAwdywgaHR0cHM6Ly9zcGFjZXMuZmlsbXN0b3JpZXMuY28udWsvdXBsb2Fkcy8yMDI0LzExL0RhbmllbC1EYXktTGV3aXMtVGhlLUxhc3Qtb2YtdGhlLU1vaGljYW5zLmpwZyAxNjAwdyIgc2l6ZXM9IihtYXgtd2lkdGg6IDgwMHB4KSAxMDB2dywgODAwcHgiIC8+PGZpZ2NhcHRpb24gY2xhc3M9IndwLWVsZW1lbnQtY2FwdGlvbiI+VGhlIExhc3QgT2YgVGhlIE1vaGljYW5zIChDcmVkaXQ6IFdhcm5lciBCcm9zKTwvZmlnY2FwdGlvbj48L2ZpZ3VyZT4KCgoKPHA+QXMgZm9yIE1pa2UgQ2Ftb2luLCBmaXZlIGRheXMgaW50byBoaXMgc2NoZWR1bGVkIHNldmVuLCB0aGUgbG9jYXRpb24gc2NvdXQgZm91bmQgYSBsZWFkIGluIGhpcyBxdWVzdCB0byBmaW5kIHRoZSByaWdodCBsb2NhdGlvbiBmb3IgPGVtPlRoZSBQbGFjZSBCZXlvbmQgVGhlIFBpbmVzPC9lbT46PC9wPgoKCgo8cD7igJxJIHB1bGxlZCBvdmVyIGF0IGFuIG9sZCBnYXMgc3RhdGlvbiwgYW5kIHRvbGQgdGhpcyBndXkgd2hhdCB3ZSB3ZXJlIGxvb2tpbmcgZm9yLiBIZSB0b2xkIG1lIGFib3V0IGEgcG90YXRvIGZhcm0uIFRoZSBtYWpvciBtb3VudGFpbiB0aGVyZSBpcyBjYWxsZWQgV2hpdGVmYWNlIGFuZCBbaXQgd2FzXSBvbiB0aGUgbm9ydGggc2lkZSBvZiB0aGUgbW91bnRhaW4uIE5vYm9keSBoYWQgYmVlbiB0aGVyZS4gSXQgdG9vayBtZSB0byBhIHRvd24gY2FsbGVkIFZlcm1vbnR2aWxsZSwgTmV3IFlvcmsgYW5kIHRoZXJlIGl0IHdhcy7igJ08L3A+CgoKCjxwPlRoZSBmYXJtLCBvdmVybG9va2luZyB0aGUgcm9hZCBpbnRvIHRoZSBtb3VudGFpbnMgd2FzIGV4YWN0bHkgd2hhdCBoZeKAmWQgYmVlbiBpbnN0cnVjdGVkIHRvIGxvb2sgZm9yIGFuZCB3YXMgd2l0aGluIHRoZSB0aHJlZS1ob3VyIHJhZGl1cyBvZiB0aGUgcHJvZHVjdGlvbuKAmXMgSFEuPC9wPgoKCgo8cD7igJxUaGV5IGNhbGxlZCBtZSBpbiwgaHVkZGxlZCBhcm91bmQgbXkgbGFwdG9wIGFuZCBzYWlkIOKAmHRoYXTigJlzIGl0LCB0aGF04oCZcyBpdCHigJkg4oCdIGhlIHJlY2FsbHMgd2l0aCBhIHNtaWxlLCB0aG91Z2ggQ2lhbmZyYW5jZSB3YXNu4oCZdCByZWFkeSB0byBzdG9wIGxvb2tpbmcuIOKAnOKAmE1pa2UsIEkgd2FudCB5b3UgYmFjayBvdXQgdGhlcmUs4oCZIGhlIHNhaWQuIOKAmEtlZXAgd29ya2luZywgSSB3YW50IHRvIHNlZSBldmVyeXRoaW5nLuKAmSBUaGF04oCZcyB0ZXN0YW1lbnQgdG8gaGltIGFzIGEgZGlyZWN0b3I6IGhlIHdhbnRlZCB0aGUgYmVzdCBvZiBldmVyeXRoaW5nLuKAnTwvcD4KCgoKPHA+SGF2aW5nIHdvcmtlZCB3aXRoIHBsZW50eSBvZiB0aGUgZ3JlYXQgZmlsbW1ha2VycyBvZiB0aGUgbGFzdCB0aHJlZSBkZWNhZGVzLCBQb2xsZXnigJlzIGV4cGVyaWVuY2UgaXMgYSBzaW1pbGFyIG9uZSBhbmQgc2hlIHRvbyB1bmRlcnN0YW5kcyB0aGUgYXJ0aXN0aWMgaW1wdWxzZSB0byBzdHJpdmUgZm9yIHBlcmZlY3Rpb24sIGV2ZW4gaWYgaGVyIGluc3RpbmN0cyB0ZWxsIGhlciB0aGF0IHRoZSBpZGVhbCBsb2NhdGlvbiBoYXMgYWxyZWFkeSBiZWVuIGRpc2NvdmVyZWQuPC9wPgoKCgo8cD7igJxJZiBhIGRpcmVjdG9yIHNheXMsIOKAmGtlZXAgbG9va2luZyzigJkgdGhlbiB3ZeKAmWxsIGtlZXAgbG9va2luZywgYnV0IGF0IHNvbWUgcG9pbnQgd2hlbiB5b3UgaGF2ZSBzaG93biBtdWx0aXBsZSBjaG9pY2VzIGFuZCB5b3UgZmVlbCB0aGVyZSBqdXN0IGlzbuKAmXQgYW55dGhpbmcgZWxzZSB0aGVuIHlvdSBzYXkg4oCYdGhpcyBpcyBpdOKAmS7igJ08L3A+CgoKCjxwPjxzdHJvbmc+RmluZGluZyBuZWVkbGVzPC9zdHJvbmc+PC9wPgoKCgo8cD5XaGlsZSBDYW1vaW4gZGVzY3JpYmVzIGZpbmRpbmcgdGhhdCBsb2NhdGlvbiBhcyBha2luIHRvIOKAnGEgbmVlZGxlIGluIGEgaGF5c3RhY2ss4oCdIEplZmZyZXkgSHVudGVyIHdyeWx5IGRlc2NyaWJlcyBzY291dGluZyBsb2NhdGlvbnMgaW4gTG9zIEFuZ2VsZXMgYXMg4oCcYSBodW50IGZvciBhIG5lZWRsZSBpbiBhIHN0YWNrIG9mIG5lZWRsZXMu4oCdPC9wPgoKCgo8cD5IZSBjaXRlcyByZWNvbnN0cnVjdGluZyBhIDE5NjBzIExBIHNldHRpbmcgZnJvbSBtdWx0aXBsZSBsb2NhdGlvbnMgZm9yIHRoZSAyMDE3IFRWIHNlcmllcyA8ZW0+SSBBbSBUaGUgTmlnaHQ8L2VtPiBhcyBoaXMgbW9zdCBjaGFsbGVuZ2luZyDigJMgeWV0IHJld2FyZGluZyDigJMgam9iLCB3aXRoIHRoZSBzYW1lIGRlZXAga25vd2xlZGdlIG9mIExvcyBBbmdlbGVzIGhlbHBpbmcgaGltIHRvIHNvdXJjZSB0aGUgbWFuc2lvbiB0aGF0IHdhcyDigJhvd25lZOKAmSAocHVyZWx5IHdpdGhpbiB0aGUgZmlsbeKAmXMgc3RvcnkpIGJ5IE5CQSBzdGFyIExlQnJvbiBKYW1lcyBmb3IgdGhlIDIwMjMgcmVtYWtlIG9mIDxlbT5Ib3VzZSBQYXJ0eS48L2VtPjwvcD4KCgoKPHA+4oCcV2UgbG9va2VkIGF0IDc4IGhvbWVzIG92ZXIgdGhlIGNvdXJzZSBvZiB0d28gbW9udGhzLCBldmVyeXdoZXJlIGZyb20gQmV2ZXJseSBIaWxscyB0byBCcmVudHdvb2Qs4oCdIHNheXMgSHVudGVyLiDigJxXaGVyZXZlciBJIGdvLCBpdOKAmXMgbGlrZSBicmluZ2luZyB0aGUgY2lyY3VzIHRvIHRvd24uIFdlIHdlcmUgdGhlcmUgZm9yIDMyIGRheXM7IGF0IHRpbWVzIHRoZXJlIHdlcmUgbmlnaHQgc2hvb3RzIHdpdGggbG91ZCBtdXNpYyBhbmQgYSBwYXJ0eSBnb2luZyBvbi4gVGhlIG1haW4gcmVhc29uIHdlIGNob3NlIHRoYXQgaG91c2Ugd2FzIGJlY2F1c2UgaXQgd2FzIGEgYmVhdXRpZnVsIGhvbWUgYW5kIHRoZSBsb2NhdGlvbiB3YXMgbW9yZSBzcHJlYWQgb3V0LuKAnTwvcD4KCgoKPHA+SHVudGVyIGV2ZW50dWFsbHkgb3B0ZWQgdG8gbm90IHRvIHVzZSBhIEJldmVybHkgSGlsbHMgcHJvcGVydHkgYXQgYWxsIOKAkyBmb3IgdmVyeSBwcmFjdGljYWwgcmVhc29ucywgdGhhdCBmYW5zIG9mIDxlbT5MYSBMYSBMYW5kPC9lbT4gd2lsbCBwcm9iYWJseSBjaHVja2xlIGF0LjwvcD4KCgoKPHA+QXMgaGUgcHV0cyBpdDog4oCcSXTigJlzIG5vdCBhbHdheXMgdGhlIGJlc3QgcGxhY2UgdG8gc2hvb3Q6IGl04oCZcyBkZW5zZWx5IHBvcHVsYXRlZCwgaXTigJlzIGluIHRoZSBoaWxscyBbYW5kXSBJ4oCZdmUgZ290IHRvIHRoaW5rIGFib3V0IHdoZXJlIHdl4oCZcmUgcGFya2luZyBldmVyeW9uZS7igJ08L3A+CgoKCjxwIGNsYXNzPSJoYXMtdGV4dC1hbGlnbi1jZW50ZXIiPjxzdHJvbmc+UmVhZCBtb3JlOiA8YSBocmVmPSJodHRwczovL2ZpbG1zdG9yaWVzLmNvLnVrL2ZlYXR1cmVzL2dsYWRpYXRvci1paS1hbmQtdGhlLWxvbmUtaGVyby1vZi1kZW1vY3JhY3kvIj5HbGFkaWF0b3IgSUkgYW5kIHRoZSBsb25lIGhlcm8gb2YgZGVtb2NyYWN5PC9hPjwvc3Ryb25nPjwvcD4KCgoKPHA+V2l0aCB0aGF0IGluIG1pbmQsIGltYWdpbmUgaG93IHF1aWNrbHkgSmFuaWNlIFBvbGxleSBoYWQgdG8gYWN0IHdoZW4gTWljaGFlbCBNYW5uIGZpbmFsbHkgc2V0dGxlZCBvbiBhIHBsYW4gdG8gZmlsbSB0aGUgbm93LWljb25pYyBzaG93ZG93biBiZXR3ZWVuIEhvbGx5d29vZCBoZWF2eXdlaWdodHMgUm9iZXJ0IERlIE5pcm8gYW5kIEFsIFBhY2lubyBhdCBLYXRlIE1hbnRpbGluaSwgYSBCZXZlcmx5IEhpbGxzIHJlc3RhdXJhbnQuIFdoYXTigJlzIG1vcmUsIGl0IHdhcyBhIGRlY2lzaW9uIG1hZGUgbWVyZSBkYXlzIGJlZm9yZSB0aGUgc2hvb3Qgd2FzIHNldCB0byBoYXBwZW4uPC9wPgoKCgo8cD7igJxJdCB3YXMgVGh1cnNkYXkgbmlnaHQgYW5kIHdlIHdlcmUgc2hvb3Rpbmcgb24gTW9uZGF5IGFuZCBJIHNhaWQgdG8gTWljaGFlbDog4oCYV2UgaGF2ZSB0byBkZWNpZGUh4oCZIHJlY2FsbHMgUG9sbGV5LiDigJxIZSB0aG91Z2h0IGhlIHdvdWxkIGRvIGl0IGF0IGEgdGFjbyBzdGFuZCBvciBzb21lIG90aGVyIGlkZWEuIEJldmVybHkgSGlsbHMgW2ZpbG1pbmcgYW5kIGV2ZW50IHBlcm1pdHMgZGVwYXJ0bWVudF0gd2FzIGNsb3NlZCBvbiBGcmlkYXkgc28gSSBoYWQgdG8gY2FsbCB0aGUgd29tYW4gYXQgaG9tZSB0byBnaXZlIG1lIGEgcGVybWl0LiBXaGVuIHdlIHdlcmUgZG9pbmcgPGVtPlRoZSBMYXN0IEJveSBTY291dDwvZW0+IHdlIHNob3Qgc29tZSBzdHVmZiBpbiBCZXZlcmx5IEhpbGxzIGFuZCBJIGx1Y2tpbHkgaGFkIGhlciBob21lIHBob25lIG51bWJlci4gU2hlIHdhcyB2ZXJ5IGdyYWNpb3VzIGFuZCBnYXZlIHVzIGEgcGVybWl0LuKAnTwvcD4KCgoKPHA+V2hldGhlciBpdOKAmXMgc2VjdXJpbmcgYSBjb3ZldGVkIGxvY2F0aW9uIGF0IHRoZSBsYXN0IG1pbnV0ZSwga2VlcGluZyByZXNpZGVudHMgaGFwcHkgb3IgZmluZGluZyB0aGUgUm9ja3kgTW91bnRhaW5zIHdpdGhvdXQgbGVhdmluZyBOZXcgWW9yaywgZG8gd2lucyBsaWtlIHRoZXNlIGJyaW5nIGEgc2Vuc2Ugb2Ygc2F0aXNmYWN0aW9uIHRvIHRoZXNlIHVuc3VuZyBoZXJvZXM/PC9wPgoKCgo8cD7igJxJdOKAmXMgbW9yZSByZWxpZWYs4oCdIHNheXMgUG9sbGV5IGFzIHNoZSByZWNhbGxzIG1hbmFnaW5nIHRvIHNlY3VyZSBIZWF04oCZcyBzcG90IGF0IExBWCBmb3IgdGhlIGZpbG3igJlzIGNsaW1hY3RpYyBzY2VuZS4g4oCcSSBkb27igJl0IHJlbWVtYmVyIGZlZWxpbmcgYW55IHNlbnNlIG9mIHNhdGlzZmFjdGlvbiBiZWNhdXNlIGV2ZW4gYWZ0ZXIgdGhlIFVuYWJvbWJlciBbdGhyZWF0XSwgd2UgZW5kZWQgdXAgZ2V0dGluZyB0byBzaG9vdCB0aGF0IG5pZ2h0LCBidXQgb2YgY291cnNlLCB0aGVyZeKAmXMgYWx3YXlzIGFub3RoZXIgcHJvYmxlbS4gVGhlIG5leHQgdGhpbmcgeW91IGtub3csIGFuIEFpciBGcmFuY2UgcGlsb3QgaXMgc2NyZWFtaW5nIGF0IHRoZSBhaXJwb3J0IGNvbnRhY3QgYmVjYXVzZSBzb21lYm9keSBoYWQgdHVybmVkIGEgbGlnaHQgb24gdGhhdCB3YXMgc2hpbmluZyBvbiBoaXMgZmFjZSBhcyBoZSB3YXMgdHJ5aW5nIHRvIGxhbmQuIFlvdSBoYXZlIHRoZSByZWxpZWYgb2Yg4oCYb2theSwgSeKAmW0gaGVyZeKAmSBidXQgdGhlbiB0aGVyZeKAmXMgYWx3YXlzIGFub3RoZXIgcHJvYmxlbS7igJ0mbmJzcDs8L3A+CjxkaXYgY2xhc3M9ImFkZHRvYW55X3NoYXJlX3NhdmVfY29udGFpbmVyIGFkZHRvYW55X2NvbnRlbnQgYWRkdG9hbnlfY29udGVudF9ib3R0b20iPjxkaXYgY2xhc3M9ImFkZHRvYW55X2hlYWRlciI+U2hhcmUgdGhpcyBBcnRpY2xlOjwvZGl2PjxkaXYgY2xhc3M9ImEyYV9raXQgYTJhX2tpdF9zaXplXzMyIGFkZHRvYW55X2xpc3QiIGRhdGEtYTJhLXVybD0iaHR0cHM6Ly9maWxtc3Rvcmllcy5jby51ay9mZWF0dXJlcy90aGUtc2VjcmV0LXdvcmxkLW9mLWxvY2F0aW9uLXNjb3V0cy8iIGRhdGEtYTJhLXRpdGxlPSJUaGUgc2VjcmV0IHdvcmxkIG9mIGxvY2F0aW9uIHNjb3V0cyI+PGEgY2xhc3M9ImEyYV9idXR0b25fZmFjZWJvb2siIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZmFjZWJvb2s/bGlua3VybD1odHRwcyUzQSUyRiUyRmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZ0aGUtc2VjcmV0LXdvcmxkLW9mLWxvY2F0aW9uLXNjb3V0cyUyRiZhbXA7bGlua25hbWU9VGhlJTIwc2VjcmV0JTIwd29ybGQlMjBvZiUyMGxvY2F0aW9uJTIwc2NvdXRzIiB0aXRsZT0iRmFjZWJvb2siIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fdHdpdHRlciIgaHJlZj0iaHR0cHM6Ly93d3cuYWRkdG9hbnkuY29tL2FkZF90by90d2l0dGVyP2xpbmt1cmw9aHR0cHMlM0ElMkYlMkZmaWxtc3Rvcmllcy5jby51ayUyRmZlYXR1cmVzJTJGdGhlLXNlY3JldC13b3JsZC1vZi1sb2NhdGlvbi1zY291dHMlMkYmYW1wO2xpbmtuYW1lPVRoZSUyMHNlY3JldCUyMHdvcmxkJTIwb2YlMjBsb2NhdGlvbiUyMHNjb3V0cyIgdGl0bGU9IlR3aXR0ZXIiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9idXR0b25fZW1haWwiIGhyZWY9Imh0dHBzOi8vd3d3LmFkZHRvYW55LmNvbS9hZGRfdG8vZW1haWw/bGlua3VybD1odHRwcyUzQSUyRiUyRmZpbG1zdG9yaWVzLmNvLnVrJTJGZmVhdHVyZXMlMkZ0aGUtc2VjcmV0LXdvcmxkLW9mLWxvY2F0aW9uLXNjb3V0cyUyRiZhbXA7bGlua25hbWU9VGhlJTIwc2VjcmV0JTIwd29ybGQlMjBvZiUyMGxvY2F0aW9uJTIwc2NvdXRzIiB0aXRsZT0iRW1haWwiIHJlbD0ibm9mb2xsb3cgbm9vcGVuZXIiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgY2xhc3M9ImEyYV9kZCBhZGR0b2FueV9zaGFyZV9zYXZlIGFkZHRvYW55X3NoYXJlIiBocmVmPSJodHRwczovL3d3dy5hZGR0b2FueS5jb20vc2hhcmUiPjwvYT48L2Rpdj48L2Rpdj4=