Home → 
Typefaces

About UN-11

Introducing UN-11, a rare cut of the Swiss classic by Adrian Frutiger faithfully digitized and carefully re-engineered for today’s typographic universe.

In 1961, IBM unveiled the Selectric Typewriter, featuring a revolutionary type ‘golf ball’ that replaced the traditional typebar mechanism. To expand their font catalog and promote this new technology, IBM enlisted Adrian Frutiger to adapt his iconic Univers, modifying it to suit the machine’s specific constraints and metrics. The result was an alternate version of Univers with unit-based spacing, marking an exciting and distinct departure from conventional monospaced type. To Frutiger, the font’s charmingly uneven rhythm uniquely combined mechanical precision with a human touch.

Today, UN-11’s idiosyncrasies stand out in a world of polished interfaces, rounded corners, and total easing. Throughout history, versions of Univers have been adapted for various typesetting technologies, from letterpress to phototype to PostScript, but none with quite the same unique flair as this. UN-11 is finally available, finely tuned for contemporary print and screen environments.

ST UN-11 is designed by Laurenz Brunner and was released by Source Type in 2024.

Available Cuts

  • Regular
  • Italic
  • Bold

Source Material

1/11

UN-11-R type “golf ball” for the IBM Selectric Typewriter (1961). This revolutionary technology introduced a unit-based spacing system between characters and enabled users to easily change typefaces.

2/11

IBM Selectric type specimen binder (1967)

3/11

Univers specimen for the Selectric typewriter (1967)

4/11

Typewritten page of IBM’s modified Univers (1961)

5/11

Digitization of UN-11 from high-res scan to vector drawing

 

6/11

Illustration by Adrian Frutiger from Typography and the IBM Selectric (1967), demonstrating letterform modifications to compensate for printing distortions

 

7/11

Various illustrations by Adrian Frutiger from Typography and the IBM Selectric (1967)

8/11

Diagram of typewriter parts from the IBM Selectric manual (1971)

 

9/11

Instructions for changing the “golf ball” on an IBM Selectric typewriter (c. 1961)

10/11

IBM Selectric advertisement highlighting its new “golf ball” technology (c. 1961)

11/11

Exploded view diagram of an IBM Selectric typewriter

11

Type Specimen

W3siaWQiOiIyODY1NiIsInR5cGUiOiJzYW1wbGUiLCJ3aWR0aCI6InhsYXJnZSIsImRpc3BsYXlvbiI6WyJtb2JpbGUiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6ImltYWdlIiwiaW1hZ2UiOiJcL2ltYWdlc1wvTkFTQS5zdmcifV0sImluZGV4IjowLCJ0aXRsZSI6IlJlZ3VsYXIiLCJyYXRpbyI6IjIuNDAiLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI2ODIzIiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoieGxhcmdlIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6InRleHQiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTUyNzMnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJsaW5lSGVpZ2h0IjoiMC44NSIsImxldHRlclNwYWNpbmciOiItMC4wM2VtIiwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiIsIm1hcmdpblRvcCI6Ii0wLjA5ZW0iLCJ0ZXh0IjoiU29sYXI8YnIgXC8+XHJcblN5c3RlbSIsImNvbG9yIjoiMDAwMDAwIiwiYmFja2dyb3VuZENvbG9yIjpudWxsLCJoaWRlQm9yZGVyIjpmYWxzZX1dLCJpbmRleCI6MCwidGl0bGUiOiJSZWd1bGFyIiwicmF0aW8iOiIxLjY3IiwicmVzaXplZ3JvdXAiOm51bGx9LHsiaWQiOiIyODY4MyIsInR5cGUiOiJzYW1wbGUiLCJ3aWR0aCI6InhsYXJnZSIsImRpc3BsYXlvbiI6WyJtb2JpbGUiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6InRleHQiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTUyNzMnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJsaW5lSGVpZ2h0IjoiMC44NSIsImxldHRlclNwYWNpbmciOiItMC4wM2VtIiwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiIsIm1hcmdpblRvcCI6Ii0wLjEyZW0iLCJ0ZXh0IjoiU29sYXI8YnIgXC8+XHJcblN5c3RlbSIsImNvbG9yIjoiMDAwMDAwIiwiYmFja2dyb3VuZENvbG9yIjpudWxsLCJoaWRlQm9yZGVyIjpmYWxzZX1dLCJpbmRleCI6MCwidGl0bGUiOiJSZWd1bGFyIiwicmF0aW8iOiIxLjY3IiwicmVzaXplZ3JvdXAiOm51bGx9LHsiaWQiOiIyNjgyNSIsInR5cGUiOiJzYW1wbGUiLCJ3aWR0aCI6InhsYXJnZSIsImRpc3BsYXlvbiI6WyJkZXNrdG9wIiwibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJ0ZXh0IiwiZm9udEZhbWlseSI6Iidmb250LTE1MjczJyIsImZvbnRGYW1pbHkyIjpmYWxzZSwibGluZUhlaWdodCI6IjAuOSIsImxldHRlclNwYWNpbmciOiItMC4wM2VtIiwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiIsIm1hcmdpblRvcCI6Ii0wLjA4ZW0iLCJ0ZXh0IjoiUmVkIER1c3QgPGJyIFwvPlxyXG5FbmlnbWEiLCJjb2xvciI6IjAwMDAwMCIsImJhY2tncm91bmRDb2xvciI6bnVsbCwiaGlkZUJvcmRlciI6ZmFsc2V9XSwiaW5kZXgiOjAsInRpdGxlIjoiUmVndWxhciIsInJhdGlvIjoiMi4wMCIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjY4MjciLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoidGV4dCIsImZvbnRGYW1pbHkiOiInZm9udC0xNTI3MyciLCJmb250RmFtaWx5MiI6ZmFsc2UsImxpbmVIZWlnaHQiOiIxIiwibGV0dGVyU3BhY2luZyI6Ii0wLjAxZW0iLCJmb250RmVhdHVyZVNldHRpbmdzIjoiXCJzczAxXCIsIFwiY2FzZVwiIiwibWFyZ2luVG9wIjoiLTAuMDVlbSIsInRleHQiOiJNYXJzIEV4cGxvcmF0aW9uPGJyIFwvPlxyXG5Sb3Zlci0yIChNRVItQSk8YnIgXC8+XHJcblsyMDA0XHUyMDEzMjAxMF08YnIgXC8+XHJcblNBVENBVCBcdTIxMTYyNzgyNyIsImNvbG9yIjoiMDAwMDAwIiwiYmFja2dyb3VuZENvbG9yIjpudWxsLCJoaWRlQm9yZGVyIjp0cnVlfV0sImluZGV4IjowLCJ0aXRsZSI6IlJlZ3VsYXIiLCJyYXRpbyI6IjIuMDAiLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI4NjU5IiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoieGxhcmdlIiwiZGlzcGxheW9uIjpbIm1vYmlsZSJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoidGV4dCIsImZvbnRGYW1pbHkiOiInZm9udC0xNTI3MyciLCJmb250RmFtaWx5MiI6ZmFsc2UsImxpbmVIZWlnaHQiOiIxIiwibGV0dGVyU3BhY2luZyI6Ii0wLjAxZW0iLCJmb250RmVhdHVyZVNldHRpbmdzIjoiXCJzczAxXCIsIFwiY2FzZVwiIiwibWFyZ2luVG9wIjoiLTAuMWVtIiwidGV4dCI6Ik1hcnMgUlZSLTI8YnIgXC8+XHJcbihNRVItQSk8YnIgXC8+XHJcblsyMDA0LTIwMTBdPGJyIFwvPlxyXG5TQVRDQVQ8YnIgXC8+XHJcbk5SLiAyNzgyNyIsImNvbG9yIjoiMDAwMDAwIiwiYmFja2dyb3VuZENvbG9yIjpudWxsLCJoaWRlQm9yZGVyIjp0cnVlfV0sImluZGV4IjowLCJ0aXRsZSI6IlJlZ3VsYXIiLCJyYXRpbyI6IjEuMTEiLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI4NjYxIiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoibWVkaXVtIiwiZGlzcGxheW9uIjpbIm1vYmlsZSJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoiaW1hZ2UiLCJpbWFnZSI6IlwvaW1hZ2VzXC9NMl9INi5zdmcifV0sImluZGV4IjowLCJ0aXRsZSI6IlJlZ3VsYXIiLCJyYXRpbyI6IjEuNjciLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI2ODMxIiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoibWVkaXVtIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiLCJtb2JpbGUiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6InRleHQiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTUyNzMnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJsaW5lSGVpZ2h0IjoiMSIsImxldHRlclNwYWNpbmciOiItMC4wMTVlbSIsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIiLCJtYXJnaW5Ub3AiOiItMC4xZW0iLCJ0ZXh0IjoiQ2FwZSBDYW5hdmVyYWw8YnIgXC8+XHJcblNMQy0xN0E8YnIgXC8+XHJcbkRlbHRhIFx1MjE2MSA3OTI1LTkuNTxiciBcLz5cclxuSmFudWFyeSA0LCAyMDA0LDxiciBcLz5cclxuMDQ6MzUgVVRDPGJyIFwvPlxyXG5TQ0VUIE1TRCA0NjIxNiA8YnIgXC8+XHJcbjAzOjM1IEFNVDxiciBcLz5cclxuNy43M1x1MjAwOWttICg0LjhcdTIwMDltaSkiLCJjb2xvciI6IjAwMDAwMCIsImJhY2tncm91bmRDb2xvciI6bnVsbCwiaGlkZUJvcmRlciI6ZmFsc2V9XSwiaW5kZXgiOjAsInRpdGxlIjoiUmVndWxhciIsInJhdGlvIjoiMS4wMiIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjY4MzMiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJtZWRpdW0iLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoiaW1hZ2UiLCJpbWFnZSI6IlwvaW1hZ2VzXC9VTl8xMV9Cb2xkX1NhbXBsZV8wM18yLnN2ZyJ9XSwiaW5kZXgiOjAsInRpdGxlIjoiUmVndWxhciIsInJhdGlvIjoiMS4wMiIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjg1MDIiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoidGV4dCIsImZvbnRGYW1pbHkiOiInZm9udC0xNTI3MyciLCJmb250RmFtaWx5MiI6ZmFsc2UsImxpbmVIZWlnaHQiOiIxIiwibGV0dGVyU3BhY2luZyI6Ii0wLjAyZW0iLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIiwibWFyZ2luVG9wIjpmYWxzZSwidGV4dCI6IkdVU0VWIENSQVRFUjxiciBcLz5cclxuMTQuNTY4NFx1MDBiMFM8YnIgXC8+XHJcbjE3NS40NzI2MzZcdTAwYjBFIiwiY29sb3IiOiIwMDAwMDAiLCJiYWNrZ3JvdW5kQ29sb3IiOm51bGwsImhpZGVCb3JkZXIiOmZhbHNlfV0sImluZGV4IjowLCJ0aXRsZSI6IlJlZ3VsYXIiLCJyYXRpbyI6IjIuNjciLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI4NTA0IiwidHlwZSI6InRleHQiLCJ3aWR0aCI6InhsYXJnZSIsImRpc3BsYXlvbiI6WyJkZXNrdG9wIl0sImFsdGVybmF0ZXMiOlt7Il9pZCI6IjI4NTA1IiwiaW5kZXgiOjAsInRpdGxlIjoiIiwiZm9udEZhbWlseSI6Iidmb250LTE1MjczJyIsImZvbnRGYW1pbHkyIjpmYWxzZSwiZm9udFNpemUiOiI1NCIsImxpbmVIZWlnaHQiOiI1NyIsImxldHRlclNwYWNpbmciOiIwLjAyNWVtIiwiaGVpZ2h0QWRkaXRpb24iOjAsInBhZGRpbmdsciI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJSZWd1bGFyIiwiaW5kZXgiOjAsInRleHQiOiI8cD5UaGUgZGlhbWV0ZXIgb2YgTWFycyBjYW4gYmUgbWVhc3VyZWQgZnJvbSB0aGUgbm9ydGggcG9sZSB0byB0aGUgc291dGggcG9sZSwgb3IgaXQgY2FuIGJlIG1lYXN1cmVkIGF0IHRoZSBlcXVhdG9yLiBUaGUgcGxhbmV0XHUyMDE5cyBvYmxhdGUgc2hhcGUsJm5ic3A7Y2F1c2VkIGJ5IGl0cyByb3RhdGlvbiwgcmVzdWx0cyBpbiBhIGRpZmZlcmVuY2Ugb2YgYWJvdXQgNDIga2lsb21ldGVycyAoMjYgbWlsZXMpIGJldHdlZW4gdGhlc2UgdHdvIG1lYXN1cmVtZW50cy4gVGhpcyBkaWZmZXJlbmNlIG9jY3VycyBiZWNhdXNlIE1hcnMsIGxpa2UgRWFydGgsIGJ1bGdlcyBzbGlnaHRseSBhdCBpdHMgZXF1YXRvciBkdWUgdG8gaXRzIHJvdGF0aW9uYWwgZm9yY2UuIFRoZSBtZWFuIGRpYW1ldGVyIG9mIE1hcnMgaXMgYXBwcm94aW1hdGVseSA2LDc3OSBraWxvbWV0ZXJzICg0LDIxMiBtaWxlcyksIHdoaWNoIG1ha2VzIGl0IGFib3V0IGhhbGYgdGhlIHNpemUgb2YgRWFydGguIEhvd2V2ZXIsIGRlc3BpdGUgaXRzIHNtYWxsZXIgc2l6ZSwgTWFycyBoYXMgcm91Z2hseSB0aGUgc2FtZSBsYW5kIGFyZWEgYXMgRWFydGggZHVlIHRvIHRoZSBsYWNrIG9mIG9jZWFucyBjb3ZlcmluZyBpdHMgc3VyZmFjZS4gVGhlIHBsYW5ldFx1MjAxOXMgcG9sYXIgZGlhbWV0ZXIgaXMgc2xpZ2h0bHkgc21hbGxlciB0aGFuIGl0cyBlcXVhdG9yaWFsIGRpYW1ldGVyLCBjb250cmlidXRpbmcgdG8gaXRzIHNsaWdodGx5IGZsYXR0ZW5lZCBzaGFwZSBhdCB0aGUgcG9sZXMuIFRoZXNlIG1lYXN1cmVtZW50cyBwcm92aWRlIGltcG9ydGFudCBpbnNpZ2h0cyBpbnRvIHRoZSBwbGFuZXQncyBnZW9sb2dpY2FsIHByb2Nlc3Nlcywgc3VjaCBhcyB0ZWN0b25pYyBhY3Rpdml0eSBhbmQgaXRzIGhpc3Rvcnkgb2Ygdm9sY2FuaXNtLiBVbmRlcnN0YW5kaW5nIHRoZXNlIGRpbWVuc2lvbnMgYWxzbyBhaWRzIGluIHBsYW5uaW5nIGZ1dHVyZSBtaXNzaW9ucyB0byBNYXJzLCBhcyB0aGV5IGFmZmVjdCBzcGFjZWNyYWZ0IHRyYWplY3RvcmllcyBhbmQgbGFuZGluZyBhcHByb2FjaGVzLjxcL3A+XHJcblxyXG48cD4mbmJzcDs8XC9wPlxyXG5cclxuPHA+Jm5ic3A7PFwvcD5cclxuXHJcbjxwPiZuYnNwOzxcL3A+XHJcblxyXG48cD4mbmJzcDs8XC9wPiIsImNvbG9yIjoiIiwiYmFja2dyb3VuZENvbG9yIjoiIiwibnVtTGluZXMiOjksImZpcnN0T2ZUaHJlZSI6bnVsbH0seyJpZCI6IjI4NjYzIiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoibWVkaXVtIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiLCJtb2JpbGUiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6InRleHQiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTUyNzMnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJsaW5lSGVpZ2h0IjoiMS4xIiwibGV0dGVyU3BhY2luZyI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIiLCJtYXJnaW5Ub3AiOiItMC4xNWVtIiwidGV4dCI6IlNwZWVkIG9mIExpZ2h0OjxiciBcLz5cclxuMjk5LDc5Miw0NThcdTIwMDltXC9zZWM8YnIgXC8+XHJcbjE4NiwwMDBcdTIwMDltaWxlc1wvc2VjPGJyIFwvPlxyXG42NzFcdTIwMDltaWxsaW9uIG1cL2hvdXIiLCJjb2xvciI6IjAwMDAwMCIsImJhY2tncm91bmRDb2xvciI6bnVsbCwiaGlkZUJvcmRlciI6ZmFsc2V9XSwiaW5kZXgiOjAsInRpdGxlIjoiUmVndWxhciIsInJhdGlvIjoiMS44NyIsInJlc2l6ZWdyb3VwIjoiZCJ9LHsiaWQiOiIyNjgyOSIsInR5cGUiOiJzYW1wbGUiLCJ3aWR0aCI6Im1lZGl1bSIsImRpc3BsYXlvbiI6WyJkZXNrdG9wIiwibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJ0ZXh0IiwiZm9udEZhbWlseSI6Iidmb250LTE1OTM2JyIsImZvbnRGYW1pbHkyIjpmYWxzZSwibGluZUhlaWdodCI6IjEuMSIsImxldHRlclNwYWNpbmciOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIiwibWFyZ2luVG9wIjoiLTAuMTVlbSIsInRleHQiOiJTcGVlZCBvZiBTb3VuZDpcdTIwMjg8YnIgXC8+XHJcbihpbiBkcnkgYWlyKSBhdCAyMFx1MDBiMEM8YnIgXC8+XHJcbjM0My4zM1x1MjAwOVx1MjAwOW1cL3NlY1x1MjAyODxiciBcLz5cclxuMSwyMzZcdTIwMDlrbVwvaG91ciIsImNvbG9yIjoiMDAwMDAwIiwiYmFja2dyb3VuZENvbG9yIjpudWxsLCJoaWRlQm9yZGVyIjpmYWxzZX1dLCJpbmRleCI6MCwidGl0bGUiOiJJdGFsaWMiLCJyYXRpbyI6IjEuODciLCJyZXNpemVncm91cCI6ImQifSx7ImlkIjoiMjY4MzkiLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoibWVkaXVtIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiXSwiYWx0ZXJuYXRlcyI6W3siX2lkIjoiMjY4NDAiLCJpbmRleCI6MCwidGl0bGUiOiIiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTUyNzMnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJmb250U2l6ZSI6IjM4IiwibGluZUhlaWdodCI6IjQ0IiwibGV0dGVyU3BhY2luZyI6IjAuMDI1ZW0iLCJoZWlnaHRBZGRpdGlvbiI6MCwicGFkZGluZ2xyIjpmYWxzZSwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiJ9XSwiY29udGVudHMiOltdLCJ0aXRsZSI6IlJlZ3VsYXIiLCJpbmRleCI6MCwidGV4dCI6IjxwPkRlciBNb3VudCBFdmVyZXN0IHdpcmQgYW0gYmVzdGVuIGFscyBkZXIgaFx1MDBmNmNoc3RlIEJlcmcgZGVyIFdlbHQgYmV6ZWljaG5ldC4gTWl0IGFuZGVyZW4gV29ydGVuOiBFciBpc3QgbWl0IG1laHIgYWxzIDguODUwIE1ldGVybiBcdTAwZmNiZXIgZGVtIE1lZXJlc3NwaWVnZWwgZGVyIGhcdTAwZjZjaHN0ZSBCZXJnLiBBbmRlcmUgQmVyZ2UgZXJoZWJlbiBqZWRvY2ggZGVuIEFuc3BydWNoLCBkaWUgaFx1MDBmNmNoc3RlbiBCZXJnZSB6dSBzZWluLCB3ZW5uIHNpZSB2b24gYW5kZXJlbiBQdW5rdGVuIGFscyBkZW0gTWVlcmVzc3BpZWdlbCBhdXMgZ2VtZXNzZW4gd2VyZGVuLiBEZXIgQ2hpbWJvcmF6byBpbiBFY3VhZG9yIHp1bSBCZWlzcGllbCB3aXJkIGFscyBkZXIgaFx1MDBmNmNoc3RlIEdpcGZlbCwgZ2VtZXNzZW4gdm9tIE1pdHRlbHB1bmt0IGRlciBFcmRlIGF1cywgYmV6ZWljaG5ldC4gTWl0IGVpbmVyIEhcdTAwZjZoZSB2b24gbWVociBhbHMgNi4wMDAgTWV0ZXJuICgyMC4wMDAgRnVcdTAwZGYpIGlzdCBlciBqZWRvY2ggbmllZHJpZ2VyIGFscyBkZXIgRXZlcmVzdC4gRGVyIENoaW1ib3Jhem8gYmVmaW5kZXQgc2ljaCBqZWRvY2ggaW4gZGVyIE5cdTAwZTRoZSBkZXMgXHUwMGM0cXVhdG9ycywgd28gc2ljaCBkaWUgRXJkZSBhdXNiZXVsdCwgd2FzIGJlZGV1dGV0LCBkYXNzIGVyIHNpY2ggZXR3YSAyLjA3MCBNZXRlciB3ZWl0ZXIgXHUwMGZjYmVyIGRlbSBFcmRtaXR0ZWxwdW5rdCBiZWZpbmRldCBhbHMgZGVyIEV2ZXJlc3QuIEluc2dlc2FtdCBlcnJlaWNodCBkZXIgQ2hpbWJvcmF6byBlaW5lIEhcdTAwZjZoZSB2b24gZmFzdCA2LjQwMCBLaWxvbWV0ZXJuICg0LjAwMCBNZWlsZW4pIFx1MDBmY2JlciBkZW0gTWl0dGVscHVua3QgZGVyIEVyZGUuIEdlbWVzc2VuIHZvbiBkZXIgQmFzaXMgYmlzIHp1bSBHaXBmZWwgaXN0IGRlciBNYXVuYSBLZWEgYXVmIEhhd2FpaSwgZGVyIHNlaW5lbiBVcnNwcnVuZyBhdWYgZGVtIEdydW5kIGRlcyBPemVhbnMgaGF0LCBtaXQgZXR3YSAxMC4yMTAgTWV0ZXJuICgzMy41MDAgRnVcdTAwZGYpIHdlaXQgaFx1MDBmNmhlciBhbHMgZGVyIEV2ZXJlc3QuIFZvbSBNZWVyZXNzcGllZ2VsIGF1cyBnZW1lc3NlbiwgZXJyZWljaHQgZGVyIE1hdW5hIEtlYSBudXIgZXR3YSA0LjIwMCBNZXRlciAoMTMuODAwIEZ1XHUwMGRmKS4gRGVyIE1vdW50IEV2ZXJlc3Qgd2lyZCBhbSBiZXN0ZW4gYWxzIGRlciBoXHUwMGY2Y2hzdGUgQmVyZyBkZXIgV2VsdCBiZXplaWNobmV0LiBNaXQgYW5kZXJlbiBXb3J0ZW46IEVyIGlzdCBtaXQgbWVociBhbHMgOC44NTAgTWV0ZXJuIFx1MDBmY2JlciBkZW0gTWVlcmVzc3BpZWdlbCBkZXIgaFx1MDBmNmNoc3RlIEJlcmcuIEFuZGVyZSBCZXJnZSBlcmhlYmVuIGplZG9jaCBkZW4gQW5zcHJ1Y2gsIGRpZSBoXHUwMGY2Y2hzdGVuIEJlcmdlIHp1IHNlaW4sIHdlbm4gc2llIHZvbiBhbmRlcmVuIFB1bmt0ZW4gYWxzIGRlbSBNZWVyZXNzcGllZ2VsIGF1cyBnZW1lc3NlbiB3ZXJkZW4uIERlciBDaGltYm9yYXpvIGluIEVjdWFkb3Igd2lyZCBiZWlzcGllbHN3ZWlzZSBhbHMgZGVyIGhcdTAwZjZjaHN0ZSBHaXBmZWwgZ2VuYW5udCwgd2VubiBlciB2b20gTWl0dGVscHVua3QgZGVyIEVyZGUgYXVzIGdlbWVzc2VuIHdpcmQuIE1pdCBlaW5lciBIXHUwMGY2aGUgdm9uIG1laHIgYWxzIDYuMDAwIE1ldGVybiAoMjAuMDAwIEZ1XHUwMGRmKSBpc3QgZXIgamVkb2NoIG5pZWRyaWdlciBhbHMgZGVyIEV2ZXJlc3QuIEFiZXIgZGVyIENoaW1ib3Jhem8gYmVmaW5kZXQgc2ljaCBpbiBkZXIgTlx1MDBlNGhlLjxcL3A+IiwiY29sb3IiOiIiLCJiYWNrZ3JvdW5kQ29sb3IiOiIiLCJudW1MaW5lcyI6MTAsImZpcnN0T2ZUaHJlZSI6bnVsbH0seyJpZCI6IjI2ODQxIiwidHlwZSI6InRleHQiLCJ3aWR0aCI6Im1lZGl1bSIsImRpc3BsYXlvbiI6WyJkZXNrdG9wIl0sImFsdGVybmF0ZXMiOlt7Il9pZCI6IjI2ODQyIiwiaW5kZXgiOjAsInRpdGxlIjoiIiwiZm9udEZhbWlseSI6Iidmb250LTE1MjczJyIsImZvbnRGYW1pbHkyIjpmYWxzZSwiZm9udFNpemUiOiIzMiIsImxpbmVIZWlnaHQiOiIzNiIsImxldHRlclNwYWNpbmciOiIwLjAyNWVtIiwiaGVpZ2h0QWRkaXRpb24iOjAsInBhZGRpbmdsciI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJSZWd1bGFyIiwiaW5kZXgiOjAsInRleHQiOiI8cD5TYW5kLCBtaW5lcmFsLCByb2NrLCBvciBzb2lsIHBhcnRpY2xlcyB0aGF0IHJhbmdlIGluIGRpYW1ldGVyIGZyb20gMC4wMiB0byAyIG1tICgwLjAwMDhcdTIwMTMwLjA4IGluY2gpLiBNb3N0IG9mIHRoZSByb2NrLWZvcm1pbmcgbWluZXJhbHMgdGhhdCBvY2N1ciBvbiB0aGUgRWFydGhcdTIwMTlzIHN1cmZhY2UgYXJlIGZvdW5kIGluIHNhbmQsIGJ1dCBvbmx5IGEgbGltaXRlZCBudW1iZXIgYXJlIGNvbW1vbiBpbiB0aGlzIGZvcm0uIEFsdGhvdWdoIGluIHNvbWUgbG9jYWxpdGllcyBmZWxkc3BhciwgY2FsY2FyZW91cyBtYXRlcmlhbCwgaXJvbiBvcmVzLCBhbmQgdm9sY2FuaWMgZ2xhc3MgYXJlIGRvbWluYW50IGNvbnN0aXR1ZW50cyBvZiBzYW5kLCBxdWFydHogaXMgYnkgZmFyIHRoZSBjb21tb25lc3QsIGZvciBzZXZlcmFsIHJlYXNvbnM6IGl0IGlzIGFidW5kYW50IGluIHJvY2tzLCBpcyBjb21wYXJhdGl2ZWx5IGhhcmQsIGhhcyBwcmFjdGljYWxseSBubyBjbGVhdmFnZSBzbyB0aGF0IGl0IGlzIG5vdCByZWFkaWx5IHdvcm4gZG93biwgaXMgbmVhcmx5IGluc29sdWJsZSBpbiB3YXRlciwgYW5kIGRvZXMgbm90IGRlY29tcG9zZS4gTW9zdCBxdWFydHpvc2Ugc2FuZHMgY29udGFpbiBhIHNtYWxsIHF1YW50aXR5IG9mIGZlbGRzcGFyLCBhcyB3ZWxsIGFzIHNtYWxsIHBsYXRlcyBvZiB3aGl0ZSBtaWNhLCB3aGljaCwgdGhvdWdoIHNvZnQsIGRlY29tcG9zZSBzbG93bHkuIEFsbCBzYW5kcyBjb250YWluIHNtYWxsIHF1YW50aXRpZXMgb2YgaGVhdnkgcm9jay1mb3JtaW5nIG1pbmVyYWxzLCBpbmNsdWRpbmcgZ2FybmV0LCB0b3VybWFsaW5lLCB6aXJjb24sIHJ1dGlsZSwgdG9wYXosIHB5cm94ZW5lcywgYW5kIGFtcGhpYm9sZXMuIEluIHNvbWUgc2hvcmUgYW5kIHJpdmVyIHNhbmRzIHRoZXNlIGhlYXZpZXIgY29uc3RpdHVlbnRzLCBhcyB3ZWxsIGFzIHNvbWUgb2YgdGhlIGhlYXZ5IG5hdGl2ZSBlbGVtZW50cywgYmVjb21lIGNvbmNlbnRyYXRlZCBhcyBhIHJlc3VsdCBvZiBzb3J0aW5nIGJ5IGN1cnJlbnRzIGFuZCB0aGUgcmVtb3ZhbCBvZiB0aGUgbGlnaHRlciBjb25zdGl0dWVudHMuIFN1Y2ggcGxhY2VyIHNhbmRzIG1heSBiZSBlY29ub21pY2FsbHkgdmFsdWFibGUgZGVwb3NpdHMgd29ya2VkIGZvciBkaWFtb25kcyBhbmQgb3RoZXIgZ2Vtc3RvbmVzLCBnb2xkLCBwbGF0aW51bSwgdGluLCBtb25heml0ZSwgYW5kIG90aGVyIG9yZXMuIEdyZWVuc2FuZHMsIHdpZGVseSBkaXN0cmlidXRlZCBvdmVyIHRoZSBmbG9vciBvZiB0aGUgb2NlYW4gYW5kIGZvdW5kIGluIGFuY2llbnQgc3RyYXRhIG9uIHRoZSBjb250aW5lbnRzLCBvd2UgdGhlaXIgY29sb3VyIHRvIHRoZSBwcmVzZW5jZSBvZiBnbGF1Y29uaXRlLCBhIHBvdGFzaC1iZWFyaW5nIG1pbmVyYWw7IHRoZXNlIHNhbmRzIGFyZSB1c2VkIGZvciB3YXRlciBzb2Z0ZW5lcnMuPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoxMiwiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjY4NDMiLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoibWVkaXVtIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiLCJtb2JpbGUiXSwiYWx0ZXJuYXRlcyI6W3siX2lkIjoiMjY4NDQiLCJpbmRleCI6MCwidGl0bGUiOiIiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTUyNzMnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJmb250U2l6ZSI6IjI0IiwibGluZUhlaWdodCI6IjI4IiwibGV0dGVyU3BhY2luZyI6IjAuMDNlbSIsImhlaWdodEFkZGl0aW9uIjowLCJwYWRkaW5nbHIiOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIn1dLCJjb250ZW50cyI6W10sInRpdGxlIjoiUmVndWxhciIsImluZGV4IjowLCJ0ZXh0IjoiPHA+QXRvbTogVGhlIGJhc2ljIGJ1aWxkaW5nIGJsb2NrIG9mIGFsbCBtYXR0ZXIgYW5kIGNoZW1pc3RyeSBtZWFzdXJlcyAwLDFcdTIwMTMwLDUgTmFub21ldGVyLiBBdG9tcyBjYW4gY29tYmluZSB3aXRoIG90aGVyIGF0b21zIHRvIGZvcm0gbW9sZWN1bGVzIGJ1dCBjYW5ub3QgYmUgZGl2aWRlZCBpbnRvIHNtYWxsZXIgcGFydHMgYnkgb3JkaW5hcnkgY2hlbWljYWwgcHJvY2Vzc2VzLiBFeHBsb3JlIGFuIGF0b21cdTIwMTlzIGludGVyaW9yIHRvIGRpc2NvdmVyIHRoZSBsYXlvdXQgb2YgaXRzIG51Y2xldXMsIHByb3RvbnMsIGFuZCBlbGVjdHJvbnMgRXhwbG9yZSBhbiBhdG9tXHUyMDE5cyBpbnRlcmlvciB0byBkaXNjb3ZlciB0aGUgbGF5b3V0IG9mIGl0cyBudWNsZXVzLCBwcm90b25zLCBhbmQgZWxlY3Ryb25zLiBNb3N0IG9mIHRoZSBhdG9tIGlzIGVtcHR5IHNwYWNlLiBUaGUgcmVzdCBjb25zaXN0cyBvZiB0aHJlZSBiYXNpYyB0eXBlcyBvZiBzdWJhdG9taWMgcGFydGljbGVzOiBwcm90b25zLCBuZXV0cm9ucywgYW5kIGVsZWN0cm9ucy4gVGhlIHByb3RvbnMgYW5kIG5ldXRyb25zIGZvcm0gdGhlIGF0b21cdTIwMTlzIGNlbnRyYWwgbnVjbGV1cy4gKFRoZSBvcmRpbmFyeSBoeWRyb2dlbiBhdG9tIGlzIGFuIGV4Y2VwdGlvbjsgaXQgY29udGFpbnMgb25lIHByb3RvbiBidXQgbm8gbmV1dHJvbnMuKSBBcyB0aGVpciBuYW1lcyBzdWdnZXN0LCBwcm90b25zIGhhdmUgYSBwb3NpdGl2ZSBlbGVjdHJpY2FsIGNoYXJnZSwgd2hpbGUgbmV1dHJvbnMgYXJlIGVsZWN0cmljYWxseSBuZXV0cmFsIFx1MjAxMyB0aGV5IGNhcnJ5IG5vIGNoYXJnZTsgb3ZlcmFsbCwgdGhlbiwgdGhlIG51Y2xldXMgaGFzIGEgcG9zaXRpdmUgY2hhcmdlLiBDaXJjbGluZyB0aGUgbnVjbGV1cyBpcyBhIGNsb3VkIG9mIGVsZWN0cm9ucywgd2hpY2ggYXJlIG5lZ2F0aXZlbHkgY2hhcmdlZC4gTGlrZSBvcHBvc2l0ZSBlbmRzIG9mIGEgbWFnbmV0IHRoYXQgYXR0cmFjdCBvbmUgYW5vdGhlciwgdGhlIG5lZ2F0aXZlIGVsZWN0cm9ucyBhcmUgYXR0cmFjdGVkIHRvIGEgcG9zaXRpdmUgZm9yY2UsIHdoaWNoIGJpbmRzIHRoZW0gdG8gdGhlIG51Y2xldXMuIFRoZSBudWNsZXVzIGlzIHNtYWxsIGFuZCBkZW5zZSBjb21wYXJlZCB3aXRoIHRoZSBlbGVjdHJvbnMsIHdoaWNoIGFyZSB0aGUgbGlnaHRlc3QgY2hhcmdlZCBwYXJ0aWNsZXMgaW4gbmF0dXJlLiBUaGUgZWxlY3Ryb25zIGNpcmNsZSB0aGUgbnVjbGV1cyBpbiBvcmJpdGFsIHBhdGhzIGNhbGxlZCBzaGVsbHMsIGVhY2ggb2Ygd2hpY2ggaG9sZHMgb25seSBhIGNlcnRhaW4gbnVtYmVyIG9mIGVsZWN0cm9ucy4gSW52ZXN0aWdhdGUgdmFyeWluZyBlbGVjdHJvbiBjb25maWd1cmF0aW9ucyBpbiBlbGVjdHJvbiBzaGVsbHMgYXJvdW5kIGFuIGF0b21cdTIwMTlzIG51Y2xldXMgSW52ZXN0aWdhdGUgdmFyeWluZyBlbGVjdHJvbiBjb25maWd1cmF0aW9ucyBpbiBlbGVjdHJvbiBzaGVsbHMgYXJvdW5kIGFuIGF0b21cdTIwMTlzIG51Y2xldXNTZWUgYWxsIHZpZGVvcyBmb3IgdGhpcyBhcnRpY2xlIEFuIG9yZGluYXJ5LCBuZXV0cmFsIGF0b20gaGFzIGFuIGVxdWFsIG51bWJlciBvZiBwcm90b25zIChpbiB0aGUgbnVjbGV1cykgYW5kIGVsZWN0cm9ucyAoc3Vycm91bmRpbmcgdGhlIG51Y2xldXMpLiBUaHVzIHRoZSBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgY2hhcmdlcyBhcmUgYmFsYW5jZWQuIFNvbWUgYXRvbXMsIGhvd2V2ZXIsIGxvc2Ugb3IgZ2FpbiBlbGVjdHJvbnMgaW4gY2hlbWljYWwgcmVhY3Rpb25zIG9yIGluIGNvbGxpc2lvbnMgd2l0aCBvdGhlciBwYXJ0aWNsZXMuIE9yZGluYXJ5IGF0b21zIHRoYXQgZWl0aGVyIGdhaW4gb3IgbG9zZSBlbGVjdHJvbnMgYXJlIGNhbGxlZCBpb25zLiBJZiBhIG5ldXRyYWwgYXRvbSBsb3NlcyBhbiBlbGVjdHJvbiwgaXQgYmVjb21lcyBhIHBvc2l0aXZlIGlvbi4gSWYgaXQgZ2FpbnMgYW4gZWxlY3Ryb24sIGl0IGJlY29tZXMgYSBuZWdhdGl2ZSBpb24uIFRoZXNlIGJhc2ljIHN1YmF0b21pYyBwYXJ0aWNsZXMgXHUyMDEzIHByb3RvbnMsIG5ldXRyb25zLCBhbmQgZWxlY3Ryb25zIFx1MjAxMyBhcmUgdGhlbXNlbHZlcyBtYWRlIHVwIG9mIHNtYWxsZXIgc3Vic3RhbmNlcywgc3VjaCBhcyBxdWFya3MgYW5kIGxlcHRvbnMuJm5ic3A7QXRvbSwgdGhlIGJhc2ljIGJ1aWxkaW5nIGJsb2NrIG9mIGFsbCBtYXR0ZXIgYW5kIGNoZW1pc3RyeSBtZWFzdXJlcyAwLDFcdTIwMTMwLDUgTmFub21ldGVyLiBBdG9tcyBjYW4gY29tYmluZSB3aXRoIG90aGVyIGF0b21zIHRvIGZvcm0gbW9sZWN1bGVzIGJ1dCBjYW5ub3QgYmUgZGl2aWRlZCBpbnRvIHNtYWxsZXIgcGFydHMgYnkgb3JkaW5hcnkgY2hlbWljYWwgcHJvY2Vzc2VzLiBFeHBsb3JlIGFuIGF0b21cdTIwMTlzIGludGVyaW9yIHRvIGRpc2NvdmVyIHRoZSBsYXlvdXQgb2YgaXRzIG51Y2xldXMsIHByb3RvbnMsIGFuZCBlbGVjdHJvbnMgRXhwbG9yZSBhbiBhdG9tXHUyMDE5cyBpbnRlcmlvciB0byBkaXNjb3ZlciB0aGUgbGF5b3V0IG9mIGl0cyBudWNsZXVzLCBwcm90b25zLCBhbmQgZWxlY3Ryb25zLiBNb3N0IG9mIHRoZSBhdG9tIGlzIGVtcHR5IHNwYWNlLiBUaGUgcmVzdCBjb25zaXN0cyBvZiB0aHJlZSBiYXNpYyB0eXBlcyBvZiBzdWJhdG9taWMgcGFydGljbGVzOiBwcm90b25zLCBuZXV0cm9ucywgYW5kIGVsZWN0cm9ucy4gVGhlIHByb3RvbnMgYW5kIG5ldXRyb25zIGZvcm0gdGhlIGF0b21cdTIwMTlzIGNlbnRyYWwgbnVjbGV1cy4gKFRoZSBvcmRpbmFyeSBoeWRyb2dlbiBhdG9tIGlzIGFuIGV4Y2VwdGlvbjsgaXQgY29udGFpbnMgb25lIHByb3RvbiBidXQgbm8gbmV1dHJvbnMuKSBBcyB0aGVpciBuYW1lcyBzdWdnZXN0LCBwcm90b25zIGhhdmUgYSBwb3NpdGl2ZSBlbGVjdHJpY2FsIGNoYXJnZSwgd2hpbGUgbmV1dHJvbnMgYXJlIGVsZWN0cmljYWxseSBuZXV0cmFsIFx1MjAxMyB0aGV5IGNhcnJ5IG5vIGNoYXJnZTsgb3ZlcmFsbCwgdGhlbiwgdGhlIG51Y2xldXMgaGFzIGEgcG9zaXRpdmUgY2hhcmdlLiBDaXJjbGluZyB0aGUgbnVjbGV1cyBpcyBhIGNsb3VkIG9mIGVsZWN0cm9ucywgd2hpY2ggYXJlIG5lZ2F0aXZlbHkgY2hhcmdlZC4gTGlrZSBvcHBvc2l0ZSBlbmRzIG9mIGEgbWFnbmV0IHRoYXQgYXR0cmFjdCBvbmUgYW5vdGhlciwgdGhlIG5lZ2F0aXZlIGVsZWN0cm9ucyBhcmUgYXR0cmFjdGVkIHRvIGEgcG9zaXRpdmUgZm9yY2UsIHdoaWNoIGJpbmRzIHRoZW0gdG8gdGhlIG51Y2xldXMuIFRoZSBudWNsZXVzIGlzIHNtYWxsIGFuZCBkZW5zZSBjb21wYXJlZCB3aXRoIHRoZSBlbGVjdHJvbnMsIHdoaWNoIGFyZSB0aGUgbGlnaHRlc3QgY2hhcmdlZCBwYXJ0aWNsZXMgaW4gbmF0dXJlLiBUaGUgZWxlY3Ryb25zIGNpcmNsZSB0aGUgbnVjbGV1cyBpbiBvcmJpdGFsIHBhdGhzIGNhbGxlZCBzaGVsbHMsIGVhY2ggb2Ygd2hpY2ggaG9sZHMgb25seSBhIGNlcnRhaW4gbnVtYmVyIG9mIGVsZWN0cm9ucy4gSW52ZXN0aWdhdGUgdmFyeWluZyBlbGVjdHJvbiBjb25maWd1cmF0aW9ucyBpbiBlbGVjdHJvbiBzaGVsbHMgYXJvdW5kIGFuIGF0b21cdTIwMTlzIG51Y2xldXMgSW52ZXN0aWdhdGUgdmFyeWluZyBlbGVjdHJvbiBjb25maWd1cmF0aW9ucyBpbiBlbGVjdHJvbiBzaGVsbHMgYXJvdW5kIGFuIGF0b21cdTIwMTlzIG51Y2xldXNTZWUgYWxsIHZpZGVvcyBmb3IgdGhpcyBhcnRpY2xlIEFuIG9yZGluYXJ5LCBuZXV0cmFsIGF0b20gaGFzIGFuIGVxdWFsIG51bWJlciBvZiBwcm90b25zIChpbiB0aGUgbnVjbGV1cykgYW5kIGVsZWN0cm9ucyAoc3Vycm91bmRpbmcgdGhlIG51Y2xldXMpLiBUaHVzIHRoZSBwb3NpdGl2ZSBhbmQgbmVnYXRpdmUgY2hhcmdlcyBhcmUgYmFsYW5jZWQuIFNvbWUgYXRvbXMsIGhvd2V2ZXIsIGxvc2Ugb3IgZ2FpbiBlbGVjdHJvbnMgaW4gY2hlbWljYWwgcmVhY3Rpb25zIG9yIGluIGNvbGxpc2lvbnMgd2l0aCBvdGhlciBwYXJ0aWNsZXMuIE9yZGluYXJ5IGF0b21zIHRoYXQgZWl0aGVyIGdhaW4gb3IgbG9zZSBlbGVjdHJvbnMgYXJlIGNhbGxlZCBpb25zLiBJZiBhIG5ldXRyYWwgYXRvbSBsb3NlcyBhbiBlbGVjdHJvbiwgaXQgYmVjb21lcyBhIHBvc2l0aXZlIGlvbi4gSWYgaXQgZ2FpbnMgYW4gZWxlY3Ryb24sIGl0IGJlY29tZXMgYSBuZWdhdGl2ZSBpb24uIFRoZXNlIGJhc2ljIHN1YmF0b21pYyBwYXJ0aWNsZXMgXHUyMDEzIHByb3RvbnMsIG5ldXRyb25zLCBhbmQgZWxlY3Ryb25zIFx1MjAxMyBhcmUgdGhlbXNlbHZlcyBtYWRlIHVwIG9mIHNtYWxsZXIgc3Vic3RhbmNlcywgc3VjaCBhcyBxdWFya3MgYW5kIGxlcHRvbnMuPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoxNSwiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjY4NDUiLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoic21hbGwiLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbeyJfaWQiOiIyNjg0NiIsImluZGV4IjowLCJ0aXRsZSI6IiIsImZvbnRGYW1pbHkiOiInZm9udC0xNTI3MyciLCJmb250RmFtaWx5MiI6ZmFsc2UsImZvbnRTaXplIjoiMTgiLCJsaW5lSGVpZ2h0IjoiMjIuNSIsImxldHRlclNwYWNpbmciOiIwLjAzZW0iLCJoZWlnaHRBZGRpdGlvbiI6MCwicGFkZGluZ2xyIjpmYWxzZSwiZm9udEZlYXR1cmVTZXR0aW5ncyI6Ilwic3MwMVwiIn1dLCJjb250ZW50cyI6W10sInRpdGxlIjoiUmVndWxhciIsImluZGV4IjowLCJ0ZXh0IjoiPHA+R2FtbWEgcmF5OiZuYnNwOzAsMDEgTmFub21ldGVyLCBlbGVjdHJvbWFnbmV0aWMgcmFkaWF0aW9uIG9mIHRoZSBzaG9ydGVzdCB3YXZlbGVuZ3RoIGFuZCBoaWdoZXN0IGVuZXJneS4gR2FtbWEgcmF5cyBhcmUgcHJvZHVjZWQgaW4gdGhlIGRpc2ludGVncmF0aW9uIG9mIHJhZGlvYWN0aXZlIGF0b21pYyBudWNsZWkgYW5kIGluIHRoZSBkZWNheSBvZiBjZXJ0YWluIHN1YmF0b21pYyBwYXJ0aWNsZXMuIFRoZSBjb21tb25seSBhY2NlcHRlZCBkZWZpbml0aW9ucyBvZiB0aGUgZ2FtbWEtcmF5IGFuZCBYLXJheSByZWdpb25zIG9mIHRoZSBlbGVjdHJvbWFnbmV0aWMgc3BlY3RydW0gaW5jbHVkZSBzb21lIHdhdmVsZW5ndGggb3ZlcmxhcCwgd2l0aCBnYW1tYS1yYXkgcmFkaWF0aW9uIGhhdmluZyB3YXZlbGVuZ3RocyB0aGF0IGFyZSBnZW5lcmFsbHkgc2hvcnRlciB0aGFuIGEgZmV3IHRlbnRocyBvZiBhbiBhbmdzdHJvbSAoMTBcdTIyMTIxMCBtZXRyZSkgYW5kIGdhbW1hLXJheSBwaG90b25zIGhhdmluZyBlbmVyZ2llcyB0aGF0IGFyZSBncmVhdGVyIHRoYW4gdGVucyBvZiB0aG91c2FuZHMgb2YgZWxlY3Ryb24gdm9sdHMgKGVWKS4gVGhlcmUgaXMgbm8gdGhlb3JldGljYWwgdXBwZXIgbGltaXQgdG8gdGhlIGVuZXJnaWVzIG9mIGdhbW1hLXJheSBwaG90b25zIGFuZCBubyBsb3dlciBsaW1pdCB0byBnYW1tYS1yYXkgd2F2ZWxlbmd0aHM7IG9ic2VydmVkIGVuZXJnaWVzIHByZXNlbnRseSBleHRlbmQgdXAgdG8gYSBmZXcgdHJpbGxpb24gZWxlY3Ryb24gdm9sdHMgXHUyMDEzIHRoZXNlIGV4dHJlbWVseSBoaWdoLWVuZXJneSBwaG90b25zIGFyZSBwcm9kdWNlZCBpbiBhc3Ryb25vbWljYWwgc291cmNlcyB0aHJvdWdoIGN1cnJlbnRseSB1bmlkZW50aWZpZWQgbWVjaGFuaXNtcy4gVGhlIHRlcm0gZ2FtbWEgcmF5IHdhcyBjb2luZWQgYnkgQnJpdGlzaCBwaHlzaWNpc3QgRXJuZXN0IFJ1dGhlcmZvcmQgaW4gMTkwMyBmb2xsb3dpbmcgZWFybHkgc3R1ZGllcyBvZiB0aGUgZW1pc3Npb25zIG9mIHJhZGlvYWN0aXZlIG51Y2xlaS4gSnVzdCBhcyBhdG9tcyBoYXZlIGRpc2NyZXRlIGVuZXJneSBsZXZlbHMgYXNzb2NpYXRlZCB3aXRoIGRpZmZlcmVudCBjb25maWd1cmF0aW9ucyBvZiB0aGUgb3JiaXRpbmcgZWxlY3Ryb25zLCBhdG9taWMgbnVjbGVpIGhhdmUgZW5lcmd5IGxldmVsIHN0cnVjdHVyZXMgZGV0ZXJtaW5lZCBieSB0aGUgY29uZmlndXJhdGlvbnMgb2YgdGhlIHByb3RvbnMgYW5kIG5ldXRyb25zIHRoYXQgY29uc3RpdHV0ZSB0aGUgbnVjbGVpLiBXaGlsZSBlbmVyZ3kgZGlmZmVyZW5jZXMgYmV0d2VlbiBhdG9taWMgZW5lcmd5IGxldmVscyBhcmUgdHlwaWNhbGx5IGluIHRoZSAxLSB0byAxMC1lViByYW5nZSwgZW5lcmd5IGRpZmZlcmVuY2VzIGluIG51Y2xlaSB1c3VhbGx5IGZhbGwgaW4gdGhlIDEta2VWICh0aG91c2FuZCBlbGVjdHJvbiB2b2x0cykgdG8gMTAtTWVWIChtaWxsaW9uIGVsZWN0cm9uIHZvbHRzKSByYW5nZS4gV2hlbiBhIG51Y2xldXMgbWFrZXMgYSB0cmFuc2l0aW9uIGZyb20gYSBoaWdoLWVuZXJneSBsZXZlbCB0byBhIGxvd2VyLWVuZXJneSBsZXZlbCwgYSBwaG90b24gaXMgZW1pdHRlZCB0byBjYXJyeSBvZmYgdGhlIGV4Y2VzcyBlbmVyZ3k7IG51Y2xlYXIgZW5lcmd5LWxldmVsIGRpZmZlcmVuY2VzIGNvcnJlc3BvbmQgdG8gcGhvdG9uIHdhdmVsZW5ndGhzIGluIHRoZSBnYW1tYS1yYXkgcmVnaW9uLiZuYnNwO0dhbW1hIHJheSwgMCwwMSBOYW5vbWV0ZXIsIGVsZWN0cm9tYWduZXRpYyByYWRpYXRpb24gb2YgdGhlIHNob3J0ZXN0IHdhdmVsZW5ndGggYW5kIGhpZ2hlc3QgZW5lcmd5LiBHYW1tYSByYXlzIGFyZSBwcm9kdWNlZCBpbiB0aGUgZGlzaW50ZWdyYXRpb24gb2YgcmFkaW9hY3RpdmUgYXRvbWljIG51Y2xlaSBhbmQgaW4gdGhlIGRlY2F5IG9mIGNlcnRhaW4gc3ViYXRvbWljIHBhcnRpY2xlcy4gVGhlIGNvbW1vbmx5IGFjY2VwdGVkIGRlZmluaXRpb25zIG9mIHRoZSBnYW1tYS1yYXkgYW5kIFgtcmF5IHJlZ2lvbnMgb2YgdGhlIGVsZWN0cm9tYWduZXRpYyBzcGVjdHJ1bSBpbmNsdWRlIHNvbWUgd2F2ZWxlbmd0aCBvdmVybGFwLCB3aXRoIGdhbW1hLXJheSByYWRpYXRpb24gaGF2aW5nIHdhdmVsZW5ndGhzIHRoYXQgYXJlIGdlbmVyYWxseSBzaG9ydGVyIHRoYW4gYSBmZXcgdGVudGhzIG9mIGFuIGFuZ3N0cm9tICgxMFx1MjIxMjEwIG1ldHJlKSBhbmQgZ2FtbWEtcmF5IHBob3RvbnMgaGF2aW5nIGVuZXJnaWVzIHRoYXQgYXJlIGdyZWF0ZXIgdGhhbiB0ZW5zIG9mIHRob3VzYW5kcyBvZiBlbGVjdHJvbiB2b2x0cyAoZVYpLiBUaGVyZSBpcyBubyB0aGVvcmV0aWNhbCB1cHBlciBsaW1pdCB0byB0aGUgZW5lcmdpZXMgb2YgZ2FtbWEtcmF5IHBob3RvbnMgYW5kIG5vIGxvd2VyIGxpbWl0IHRvIGdhbW1hLXJheSB3YXZlbGVuZ3Roczsgb2JzZXJ2ZWQgZW5lcmdpZXMgcHJlc2VudGx5IGV4dGVuZCB1cCB0byBhIGZldyB0cmlsbGlvbiBlbGVjdHJvbiB2b2x0cyBcdTIwMTMgdGhlc2UgZXh0cmVtZWx5IGhpZ2gtZW5lcmd5IHBob3RvbnMgYXJlIHByb2R1Y2VkIGluIGFzdHJvbm9taWNhbCBzb3VyY2VzIHRocm91Z2ggY3VycmVudGx5IHVuaWRlbnRpZmllZCBtZWNoYW5pc21zLiBUaGUgdGVybSBnYW1tYSByYXkgd2FzIGNvaW5lZCBieSBCcml0aXNoIHBoeXNpY2lzdCBFcm5lc3QgUnV0aGVyZm9yZCBpbiAxOTAzIGZvbGxvd2luZyBlYXJseSBzdHVkaWVzIG9mIHRoZSBlbWlzc2lvbnMgb2YgcmFkaW9hY3RpdmUgbnVjbGVpLiBKdXN0IGFzIGF0b21zIGhhdmUgZGlzY3JldGUgZW5lcmd5IGxldmVscyBhc3NvY2lhdGVkIHdpdGggZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zIG9mIHRoZSBvcmJpdGluZyBlbGVjdHJvbnMsIGF0b21pYyBudWNsZWkgaGF2ZSBlbmVyZ3kgbGV2ZWwgc3RydWN0dXJlcyBkZXRlcm1pbmVkIGJ5IHRoZSBjb25maWd1cmF0aW9ucyBvZiB0aGUgcHJvdG9ucyBhbmQgbmV1dHJvbnMgdGhhdCBjb25zdGl0dXRlIHRoZSBudWNsZWkuIFdoaWxlIGVuZXJneSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGF0b21pYyBlbmVyZ3kgbGV2ZWxzIGFyZSB0eXBpY2FsbHkgaW4gdGhlIDEtIHRvIDEwLWVWIHJhbmdlLCBlbmVyZ3kgZGlmZmVyZW5jZXMgaW4gbnVjbGVpIHVzdWFsbHkgZmFsbCBpbiB0aGUgMS1rZVYgKHRob3VzYW5kIGVsZWN0cm9uIHZvbHRzKSB0byAxMC1NZVYgKG1pbGxpb24gZWxlY3Ryb24gdm9sdHMpIHJhbmdlLiBXaGVuIGEgbnVjbGV1cyBtYWtlcyBhIHRyYW5zaXRpb24gZnJvbSBhIGhpZ2gtZW5lcmd5IGxldmVsIHRvIGEgbG93ZXItZW5lcmd5IGxldmVsLCBhIHBob3RvbiBpcyBlbWl0dGVkIHRvIGNhcnJ5IG9mZiB0aGUgZXhjZXNzIGVuZXJneTsgbnVjbGVhciBlbmVyZ3ktbGV2ZWwgZGlmZmVyZW5jZXMgY29ycmVzcG9uZCB0byBwaG90b24gd2F2ZWxlbmd0aHMgaW4gdGhlIGdhbW1hLXJheSByZWdpb24uPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoxOSwiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjg2ODUiLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoic21hbGwiLCJkaXNwbGF5b24iOlsibW9iaWxlIl0sImFsdGVybmF0ZXMiOlt7Il9pZCI6IjI4Njg2IiwiaW5kZXgiOjAsInRpdGxlIjoiIiwiZm9udEZhbWlseSI6Iidmb250LTE1MjczJyIsImZvbnRGYW1pbHkyIjpmYWxzZSwiZm9udFNpemUiOiIxOCIsImxpbmVIZWlnaHQiOiIyMi41IiwibGV0dGVyU3BhY2luZyI6IjAuMDNlbSIsImhlaWdodEFkZGl0aW9uIjowLCJwYWRkaW5nbHIiOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiXCJzczAxXCIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJSZWd1bGFyIiwiaW5kZXgiOjAsInRleHQiOiI8cD5HYW1tYSByYXk6Jm5ic3A7MCwwMSBOYW5vbWV0ZXIsIGVsZWN0cm9tYWduZXRpYyByYWRpYXRpb24gb2YgdGhlIHNob3J0ZXN0IHdhdmVsZW5ndGggYW5kIGhpZ2hlc3QgZW5lcmd5LiBHYW1tYSByYXlzIGFyZSBwcm9kdWNlZCBpbiB0aGUgZGlzaW50ZWdyYXRpb24gb2YgcmFkaW9hY3RpdmUgYXRvbWljIG51Y2xlaSBhbmQgaW4gdGhlIGRlY2F5IG9mIGNlcnRhaW4gc3ViYXRvbWljIHBhcnRpY2xlcy4gVGhlIGNvbW1vbmx5IGFjY2VwdGVkIGRlZmluaXRpb25zIG9mIHRoZSBnYW1tYS1yYXkgYW5kIFgtcmF5IHJlZ2lvbnMgb2YgdGhlIGVsZWN0cm9tYWduZXRpYyBzcGVjdHJ1bSBpbmNsdWRlIHNvbWUgd2F2ZWxlbmd0aCBvdmVybGFwLCB3aXRoIGdhbW1hLXJheSByYWRpYXRpb24gaGF2aW5nIHdhdmVsZW5ndGhzIHRoYXQgYXJlIGdlbmVyYWxseSBzaG9ydGVyIHRoYW4gYSBmZXcgdGVudGhzIG9mIGFuIGFuZ3N0cm9tICgxMFx1MjIxMjEwIG1ldHJlKSBhbmQgZ2FtbWEtcmF5IHBob3RvbnMgaGF2aW5nIGVuZXJnaWVzIHRoYXQgYXJlIGdyZWF0ZXIgdGhhbiB0ZW5zIG9mIHRob3VzYW5kcyBvZiBlbGVjdHJvbiB2b2x0cyAoZVYpLiBUaGVyZSBpcyBubyB0aGVvcmV0aWNhbCB1cHBlciBsaW1pdCB0byB0aGUgZW5lcmdpZXMgb2YgZ2FtbWEtcmF5IHBob3RvbnMgYW5kIG5vIGxvd2VyIGxpbWl0IHRvIGdhbW1hLXJheSB3YXZlbGVuZ3Roczsgb2JzZXJ2ZWQgZW5lcmdpZXMgcHJlc2VudGx5IGV4dGVuZCB1cCB0byBhIGZldyB0cmlsbGlvbiBlbGVjdHJvbiB2b2x0cyBcdTIwMTMgdGhlc2UgZXh0cmVtZWx5IGhpZ2gtZW5lcmd5IHBob3RvbnMgYXJlIHByb2R1Y2VkIGluIGFzdHJvbm9taWNhbCBzb3VyY2VzIHRocm91Z2ggY3VycmVudGx5IHVuaWRlbnRpZmllZCBtZWNoYW5pc21zLiBUaGUgdGVybSBnYW1tYSByYXkgd2FzIGNvaW5lZCBieSBCcml0aXNoIHBoeXNpY2lzdCBFcm5lc3QgUnV0aGVyZm9yZCBpbiAxOTAzIGZvbGxvd2luZyBlYXJseSBzdHVkaWVzIG9mIHRoZSBlbWlzc2lvbnMgb2YgcmFkaW9hY3RpdmUgbnVjbGVpLiBKdXN0IGFzIGF0b21zIGhhdmUgZGlzY3JldGUgZW5lcmd5IGxldmVscyBhc3NvY2lhdGVkIHdpdGggZGlmZmVyZW50IGNvbmZpZ3VyYXRpb25zIG9mIHRoZSBvcmJpdGluZyBlbGVjdHJvbnMsIGF0b21pYyBudWNsZWkgaGF2ZSBlbmVyZ3kgbGV2ZWwgc3RydWN0dXJlcyBkZXRlcm1pbmVkIGJ5IHRoZSBjb25maWd1cmF0aW9ucyBvZiB0aGUgcHJvdG9ucyBhbmQgbmV1dHJvbnMgdGhhdCBjb25zdGl0dXRlIHRoZSBudWNsZWkuIFdoaWxlIGVuZXJneSBkaWZmZXJlbmNlcyBiZXR3ZWVuIGF0b21pYyBlbmVyZ3kgbGV2ZWxzIGFyZSB0eXBpY2FsbHkgaW4gdGhlIDEtIHRvIDEwLWVWIHJhbmdlLCBlbmVyZ3kgZGlmZmVyZW5jZXMgaW4gbnVjbGVpIHVzdWFsbHkgZmFsbCBpbiB0aGUgMS1rZVYgKHRob3VzYW5kIGVsZWN0cm9uIHZvbHRzKSB0byAxMC1NZVYgKG1pbGxpb24gZWxlY3Ryb24gdm9sdHMpIHJhbmdlLiBXaGVuIGEgbnVjbGV1cyBtYWtlcyBhIHRyYW5zaXRpb24gZnJvbSBhIGhpZ2gtZW5lcmd5IGxldmVsIHRvIGEgbG93ZXItZW5lcmd5IGxldmVsLCBhIHBob3RvbiBpcyBlbWl0dGVkIHRvIGNhcnJ5IG9mZiB0aGUgZXhjZXNzIGVuZXJneTsgbnVjbGVhciBlbmVyZ3ktbGV2ZWwgZGlmZmVyZW5jZXMgY29ycmVzcG9uZCB0byBwaG90b24gd2F2ZWxlbmd0aHMgaW4gdGhlIGdhbW1hLXJheSByZWdpb24uJm5ic3A7R2FtbWEgcmF5LCAwLDAxIE5hbm9tZXRlciwgZWxlY3Ryb21hZ25ldGljIHJhZGlhdGlvbiBvZiB0aGUgc2hvcnRlc3Qgd2F2ZWxlbmd0aCBhbmQgaGlnaGVzdCBlbmVyZ3kuIEdhbW1hIHJheXMgYXJlIHByb2R1Y2VkIGluIHRoZSBkaXNpbnRlZ3JhdGlvbiBvZiByYWRpb2FjdGl2ZSBhdG9taWMgbnVjbGVpIGFuZCBpbiB0aGUgZGVjYXkgb2YgY2VydGFpbiBzdWJhdG9taWMgcGFydGljbGVzLiBUaGUgY29tbW9ubHkgYWNjZXB0ZWQgZGVmaW5pdGlvbnMgb2YgdGhlIGdhbW1hLXJheSBhbmQgWC1yYXkgcmVnaW9ucyBvZiB0aGUgZWxlY3Ryb21hZ25ldGljIHNwZWN0cnVtIGluY2x1ZGUgc29tZSB3YXZlbGVuZ3RoIG92ZXJsYXAsIHdpdGggZ2FtbWEtcmF5IHJhZGlhdGlvbiBoYXZpbmcgd2F2ZWxlbmd0aHMgdGhhdCBhcmUgZ2VuZXJhbGx5IHNob3J0ZXIgdGhhbiBhIGZldyB0ZW50aHMgb2YgYW4gYW5nc3Ryb20gKDEwXHUyMjEyMTAgbWV0cmUpIGFuZCBnYW1tYS1yYXkgcGhvdG9ucyBoYXZpbmcgZW5lcmdpZXMgdGhhdCBhcmUgZ3JlYXRlciB0aGFuIHRlbnMgb2YgdGhvdXNhbmRzIG9mIGVsZWN0cm9uIHZvbHRzIChlVikuIFRoZXJlIGlzIG5vIHRoZW9yZXRpY2FsIHVwcGVyIGxpbWl0IHRvIHRoZSBlbmVyZ2llcyBvZiBnYW1tYS1yYXkgcGhvdG9ucyBhbmQgbm8gbG93ZXIgbGltaXQgdG8gZ2FtbWEtcmF5IHdhdmVsZW5ndGhzOyBvYnNlcnZlZCBlbmVyZ2llcyBwcmVzZW50bHkgZXh0ZW5kIHVwIHRvIGEgZmV3IHRyaWxsaW9uIGVsZWN0cm9uIHZvbHRzIFx1MjAxMyB0aGVzZSBleHRyZW1lbHkgaGlnaC1lbmVyZ3kgcGhvdG9ucyBhcmUgcHJvZHVjZWQgaW4gYXN0cm9ub21pY2FsIHNvdXJjZXMgdGhyb3VnaCBjdXJyZW50bHkgdW5pZGVudGlmaWVkIG1lY2hhbmlzbXMuIFRoZSB0ZXJtIGdhbW1hIHJheSB3YXMgY29pbmVkIGJ5IEJyaXRpc2ggcGh5c2ljaXN0IEVybmVzdCBSdXRoZXJmb3JkIGluIDE5MDMgZm9sbG93aW5nIGVhcmx5IHN0dWRpZXMgb2YgdGhlIGVtaXNzaW9ucyBvZiByYWRpb2FjdGl2ZSBudWNsZWkuIEp1c3QgYXMgYXRvbXMgaGF2ZSBkaXNjcmV0ZSBlbmVyZ3kgbGV2ZWxzIGFzc29jaWF0ZWQgd2l0aCBkaWZmZXJlbnQgY29uZmlndXJhdGlvbnMgb2YgdGhlIG9yYml0aW5nIGVsZWN0cm9ucywgYXRvbWljIG51Y2xlaSBoYXZlIGVuZXJneSBsZXZlbCBzdHJ1Y3R1cmVzIGRldGVybWluZWQgYnkgdGhlIGNvbmZpZ3VyYXRpb25zIG9mIHRoZSBwcm90b25zIGFuZCBuZXV0cm9ucyB0aGF0IGNvbnN0aXR1dGUgdGhlIG51Y2xlaS4gV2hpbGUgZW5lcmd5IGRpZmZlcmVuY2VzIGJldHdlZW4gYXRvbWljIGVuZXJneSBsZXZlbHMgYXJlIHR5cGljYWxseSBpbiB0aGUgMS0gdG8gMTAtZVYgcmFuZ2UsIGVuZXJneSBkaWZmZXJlbmNlcyBpbiBudWNsZWkgdXN1YWxseSBmYWxsIGluIHRoZSAxLWtlViAodGhvdXNhbmQgZWxlY3Ryb24gdm9sdHMpIHRvIDEwLU1lViAobWlsbGlvbiBlbGVjdHJvbiB2b2x0cykgcmFuZ2UuIFdoZW4gYSBudWNsZXVzIG1ha2VzIGEgdHJhbnNpdGlvbiBmcm9tIGEgaGlnaC1lbmVyZ3kgbGV2ZWwgdG8gYSBsb3dlci1lbmVyZ3kgbGV2ZWwsIGEgcGhvdG9uIGlzIGVtaXR0ZWQgdG8gY2Fycnkgb2ZmIHRoZSBleGNlc3MgZW5lcmd5OyBudWNsZWFyIGVuZXJneS1sZXZlbCBkaWZmZXJlbmNlcyBjb3JyZXNwb25kIHRvIHBob3RvbiB3YXZlbGVuZ3RocyBpbiB0aGUgZ2FtbWEtcmF5IHJlZ2lvbi48XC9wPiIsImNvbG9yIjoiIiwiYmFja2dyb3VuZENvbG9yIjoiIiwibnVtTGluZXMiOjE5LCJmaXJzdE9mVGhyZWUiOm51bGx9LHsiaWQiOiIyNjg0NyIsInR5cGUiOiJ0ZXh0Iiwid2lkdGgiOiJzbWFsbCIsImRpc3BsYXlvbiI6WyJkZXNrdG9wIl0sImFsdGVybmF0ZXMiOlt7Il9pZCI6IjI2ODQ4IiwiaW5kZXgiOjAsInRpdGxlIjoiIiwiZm9udEZhbWlseSI6Iidmb250LTE1MjczJyIsImZvbnRGYW1pbHkyIjpmYWxzZSwiZm9udFNpemUiOiIxNSIsImxpbmVIZWlnaHQiOiIxOSIsImxldHRlclNwYWNpbmciOiIwLjA0ZW0iLCJoZWlnaHRBZGRpdGlvbiI6MCwicGFkZGluZ2xyIjpmYWxzZSwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiJ9XSwiY29udGVudHMiOltdLCJ0aXRsZSI6IlJlZ3VsYXIiLCJpbmRleCI6MCwidGV4dCI6IjxwPlF1YXJrOiAxIFlvY3RvbWV0ZXIsJm5ic3A7YW55IG1lbWJlciBvZiBhIGdyb3VwIG9mIGVsZW1lbnRhcnkgc3ViYXRvbWljIHBhcnRpY2xlcyB0aGF0IGludGVyYWN0IGJ5IG1lYW5zIG9mIHRoZSBzdHJvbmcgZm9yY2UgYW5kIGFyZSBiZWxpZXZlZCB0byBiZSBhbW9uZyB0aGUgZnVuZGFtZW50YWwgY29uc3RpdHVlbnRzIG9mIG1hdHRlci4gUXVhcmtzIGFzc29jaWF0ZSB3aXRoIG9uZSBhbm90aGVyIHZpYSB0aGUgc3Ryb25nIGZvcmNlIHRvIG1ha2UgdXAgcHJvdG9ucyBhbmQgbmV1dHJvbnMsIGluIG11Y2ggdGhlIHNhbWUgd2F5IHRoYXQgdGhlIGxhdHRlciBwYXJ0aWNsZXMgY29tYmluZSBpbiB2YXJpb3VzIHByb3BvcnRpb25zIHRvIG1ha2UgdXAgYXRvbWljIG51Y2xlaS4gVGhlcmUgYXJlIHNpeCB0eXBlcywgb3IgZmxhdm91cnMsIG9mIHF1YXJrcyB0aGF0IGRpZmZlciBmcm9tIG9uZSBhbm90aGVyIGluIHRoZWlyIG1hc3MgYW5kIGNoYXJnZSBjaGFyYWN0ZXJpc3RpY3MuIFRoZXNlIHNpeCBxdWFyayBmbGF2b3VycyBjYW4gYmUgZ3JvdXBlZCBpbiB0aHJlZSBwYWlyczogdXAgYW5kIGRvd24sIGNoYXJtIGFuZCBzdHJhbmdlLCBhbmQgdG9wIGFuZCBib3R0b20uIFF1YXJrcyBhcHBlYXIgdG8gYmUgdHJ1ZSBlbGVtZW50YXJ5IHBhcnRpY2xlczsgdGhhdCBpcywgdGhleSBoYXZlIG5vIGFwcGFyZW50IHN0cnVjdHVyZSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGludG8gc29tZXRoaW5nIHNtYWxsZXIuIEluIGFkZGl0aW9uLCBob3dldmVyLCBxdWFya3MgYWx3YXlzIHNlZW0gdG8gb2NjdXIgaW4gY29tYmluYXRpb24gd2l0aCBvdGhlciBxdWFya3Mgb3Igd2l0aCBhbnRpcXVhcmtzLCB0aGVpciBhbnRpcGFydGljbGVzLCB0byBmb3JtIGFsbCBoYWRyb25zIFx1MjAxMyB0aGUgc28tY2FsbGVkIHN0cm9uZ2x5IGludGVyYWN0aW5nIHBhcnRpY2xlcyB0aGF0IGVuY29tcGFzcyBib3RoIGJhcnlvbnMgYW5kIG1lc29ucy4gVGhlIGludGVycHJldGF0aW9uIG9mIHF1YXJrcyBhcyBhY3R1YWwgcGh5c2ljYWwgZW50aXRpZXMgaW5pdGlhbGx5IHBvc2VkIHR3byBtYWpvciBwcm9ibGVtcy4gRmlyc3QsIHF1YXJrcyBoYWQgdG8gaGF2ZSBoYWxmLWludGVnZXIgc3BpbiAoaW50cmluc2ljIGFuZ3VsYXIgbW9tZW50dW0pIHZhbHVlcyBmb3IgdGhlIG1vZGVsIHRvIHdvcmssIGJ1dCBhdCB0aGUgc2FtZSB0aW1lIHRoZXkgc2VlbWVkIHRvIHZpb2xhdGUgdGhlIFBhdWxpIGV4Y2x1c2lvbiBwcmluY2lwbGUsIHdoaWNoIGdvdmVybnMgdGhlIGJlaGF2aW91ciBvZiBhbGwgcGFydGljbGVzIChjYWxsZWQgZmVybWlvbnMpIGhhdmluZyBvZGQgaGFsZi1pbnRlZ2VyIHNwaW4uIEluIG1hbnkgb2YgdGhlIGJhcnlvbiBjb25maWd1cmF0aW9ucyBjb25zdHJ1Y3RlZCBvZiBxdWFya3MsIHNvbWV0aW1lcyB0d28gb3IgZXZlbiB0aHJlZSBpZGVudGljYWwgcXVhcmtzIGhhZCB0byBiZSBzZXQgaW4gdGhlIHNhbWUgcXVhbnR1bSBzdGF0ZSBcdTIwMTMgYW4gYXJyYW5nZW1lbnQgcHJvaGliaXRlZCBieSB0aGUgZXhjbHVzaW9uIHByaW5jaXBsZS4gU2Vjb25kLCBxdWFya3MgYXBwZWFyZWQgdG8gZGVmeSBiZWluZyBmcmVlZCBmcm9tIHRoZSBwYXJ0aWNsZXMgdGhleSBtYWRlIHVwLiBBbHRob3VnaCB0aGUgZm9yY2VzIGJpbmRpbmcgcXVhcmtzIHdlcmUgc3Ryb25nLCBpdCBzZWVtZWQgaW1wcm9iYWJsZSB0aGF0IHRoZXkgd2VyZSBwb3dlcmZ1bCBlbm91Z2ggdG8gd2l0aHN0YW5kIGJvbWJhcmRtZW50IGJ5IGhpZ2gtZW5lcmd5IHBhcnRpY2xlIGJlYW1zIGZyb20gYWNjZWxlcmF0b3JzLiZuYnNwO1F1YXJrIChzaXplOiAxIFlvY3RvbWV0ZXIpLCBhbnkgbWVtYmVyIG9mIGEgZ3JvdXAgb2YgZWxlbWVudGFyeSBzdWJhdG9taWMgcGFydGljbGVzIHRoYXQgaW50ZXJhY3QgYnkgbWVhbnMgb2YgdGhlIHN0cm9uZyBmb3JjZSBhbmQgYXJlIGJlbGlldmVkIHRvIGJlIGFtb25nIHRoZSBmdW5kYW1lbnRhbCBjb25zdGl0dWVudHMgb2YgbWF0dGVyLiBRdWFya3MgYXNzb2NpYXRlIHdpdGggb25lIGFub3RoZXIgdmlhIHRoZSBzdHJvbmcgZm9yY2UgdG8gbWFrZSB1cCBwcm90b25zIGFuZCBuZXV0cm9ucywgaW4gbXVjaCB0aGUgc2FtZSB3YXkgdGhhdCB0aGUgbGF0dGVyIHBhcnRpY2xlcyBjb21iaW5lIGluIHZhcmlvdXMgcHJvcG9ydGlvbnMgdG8gbWFrZSB1cCBhdG9taWMgbnVjbGVpLiBUaGVyZSBhcmUgc2l4IHR5cGVzLCBvciBmbGF2b3Vycywgb2YgcXVhcmtzIHRoYXQgZGlmZmVyIGZyb20gb25lIGFub3RoZXIgaW4gdGhlaXIgbWFzcyBhbmQgY2hhcmdlIGNoYXJhY3RlcmlzdGljcy4gVGhlc2Ugc2l4IHF1YXJrIGZsYXZvdXJzIGNhbiBiZSBncm91cGVkIGluIHRocmVlIHBhaXJzOiB1cCBhbmQgZG93biwgY2hhcm0gYW5kIHN0cmFuZ2UsIGFuZCB0b3AgYW5kIGJvdHRvbS4gUXVhcmtzIGFwcGVhciB0byBiZSB0cnVlIGVsZW1lbnRhcnkgcGFydGljbGVzOyB0aGF0IGlzLCB0aGV5IGhhdmUgbm8gYXBwYXJlbnQgc3RydWN0dXJlIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgaW50byBzb21ldGhpbmcgc21hbGxlci4gSW4gYWRkaXRpb24sIGhvd2V2ZXIsIHF1YXJrcyBhbHdheXMgc2VlbSB0byBvY2N1ciBpbiBjb21iaW5hdGlvbiB3aXRoIG90aGVyIHF1YXJrcyBvciB3aXRoIGFudGlxdWFya3MsIHRoZWlyIGFudGlwYXJ0aWNsZXMsIHRvIGZvcm0gYWxsIGhhZHJvbnMgXHUyMDEzIHRoZSBzby1jYWxsZWQgc3Ryb25nbHkgaW50ZXJhY3RpbmcgcGFydGljbGVzIHRoYXQgZW5jb21wYXNzIGJvdGggYmFyeW9ucyBhbmQgbWVzb25zLiBUaGUgaW50ZXJwcmV0YXRpb24gb2YgcXVhcmtzIGFzIGFjdHVhbCBwaHlzaWNhbCBlbnRpdGllcyBpbml0aWFsbHkgcG9zZWQgdHdvIG1ham9yIHByb2JsZW1zLiBGaXJzdCwgcXVhcmtzIGhhZCB0byBoYXZlIGhhbGYtaW50ZWdlciBzcGluIChpbnRyaW5zaWMgYW5ndWxhciBtb21lbnR1bSkgdmFsdWVzIGZvciB0aGUgbW9kZWwgdG8gd29yaywgYnV0IGF0IHRoZSBzYW1lIHRpbWUgdGhleSBzZWVtZWQgdG8gdmlvbGF0ZSB0aGUgUGF1bGkgZXhjbHVzaW9uIHByaW5jaXBsZSwgd2hpY2ggZ292ZXJucyB0aGUgYmVoYXZpb3VyIG9mIGFsbCBwYXJ0aWNsZXMgKGNhbGxlZCBmZXJtaW9ucykgaGF2aW5nIG9kZCBoYWxmLWludGVnZXIgc3Bpbi4gSW4gbWFueSBvZiB0aGUgYmFyeW9uIGNvbmZpZ3VyYXRpb25zIGNvbnN0cnVjdGVkIG9mIHF1YXJrcywgc29tZXRpbWVzIHR3byBvciBldmVuIHRocmVlIGlkZW50aWNhbCBxdWFya3MgaGFkIHRvIGJlIHNldCBpbiB0aGUgc2FtZSBxdWFudHVtIHN0YXRlIFx1MjAxMyBhbiBhcnJhbmdlbWVudCBwcm9oaWJpdGVkIGJ5IHRoZSBleGNsdXNpb24gcHJpbmNpcGxlLiBTZWNvbmQsIHF1YXJrcyBhcHBlYXJlZCB0byBkZWZ5IGJlaW5nIGZyZWVkIGZyb20gdGhlIHBhcnRpY2xlcyB0aGV5IG1hZGUgdXAuIEFsdGhvdWdoIHRoZSBmb3JjZXMgYmluZGluZyBxdWFya3Mgd2VyZSBzdHJvbmcsIGl0IHNlZW1lZCBpbXByb2JhYmxlIHRoYXQgdGhleSB3ZXJlIHBvd2VyZnVsIGVub3VnaCB0byB3aXRoc3RhbmQgYm9tYmFyZG1lbnQgYnkgaGlnaC1lbmVyZ3kgcGFydGljbGUgYmVhbXMgZnJvbSBhY2NlbGVyYXRvcnMuPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoyMywiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjg2ODciLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoic21hbGwiLCJkaXNwbGF5b24iOlsibW9iaWxlIl0sImFsdGVybmF0ZXMiOlt7Il9pZCI6IjI4Njg4IiwiaW5kZXgiOjAsInRpdGxlIjoiIiwiZm9udEZhbWlseSI6Iidmb250LTE1MjczJyIsImZvbnRGYW1pbHkyIjpmYWxzZSwiZm9udFNpemUiOiIxNSIsImxpbmVIZWlnaHQiOiIxOSIsImxldHRlclNwYWNpbmciOiIwLjA0ZW0iLCJoZWlnaHRBZGRpdGlvbiI6MCwicGFkZGluZ2xyIjpmYWxzZSwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiJ9XSwiY29udGVudHMiOltdLCJ0aXRsZSI6IlJlZ3VsYXIiLCJpbmRleCI6MCwidGV4dCI6IjxwPlF1YXJrOiAxIFlvY3RvbWV0ZXIsJm5ic3A7YW55IG1lbWJlciBvZiBhIGdyb3VwIG9mIGVsZW1lbnRhcnkgc3ViYXRvbWljIHBhcnRpY2xlcyB0aGF0IGludGVyYWN0IGJ5IG1lYW5zIG9mIHRoZSBzdHJvbmcgZm9yY2UgYW5kIGFyZSBiZWxpZXZlZCB0byBiZSBhbW9uZyB0aGUgZnVuZGFtZW50YWwgY29uc3RpdHVlbnRzIG9mIG1hdHRlci4gUXVhcmtzIGFzc29jaWF0ZSB3aXRoIG9uZSBhbm90aGVyIHZpYSB0aGUgc3Ryb25nIGZvcmNlIHRvIG1ha2UgdXAgcHJvdG9ucyBhbmQgbmV1dHJvbnMsIGluIG11Y2ggdGhlIHNhbWUgd2F5IHRoYXQgdGhlIGxhdHRlciBwYXJ0aWNsZXMgY29tYmluZSBpbiB2YXJpb3VzIHByb3BvcnRpb25zIHRvIG1ha2UgdXAgYXRvbWljIG51Y2xlaS4gVGhlcmUgYXJlIHNpeCB0eXBlcywgb3IgZmxhdm91cnMsIG9mIHF1YXJrcyB0aGF0IGRpZmZlciBmcm9tIG9uZSBhbm90aGVyIGluIHRoZWlyIG1hc3MgYW5kIGNoYXJnZSBjaGFyYWN0ZXJpc3RpY3MuIFRoZXNlIHNpeCBxdWFyayBmbGF2b3VycyBjYW4gYmUgZ3JvdXBlZCBpbiB0aHJlZSBwYWlyczogdXAgYW5kIGRvd24sIGNoYXJtIGFuZCBzdHJhbmdlLCBhbmQgdG9wIGFuZCBib3R0b20uIFF1YXJrcyBhcHBlYXIgdG8gYmUgdHJ1ZSBlbGVtZW50YXJ5IHBhcnRpY2xlczsgdGhhdCBpcywgdGhleSBoYXZlIG5vIGFwcGFyZW50IHN0cnVjdHVyZSBhbmQgY2Fubm90IGJlIHJlc29sdmVkIGludG8gc29tZXRoaW5nIHNtYWxsZXIuIEluIGFkZGl0aW9uLCBob3dldmVyLCBxdWFya3MgYWx3YXlzIHNlZW0gdG8gb2NjdXIgaW4gY29tYmluYXRpb24gd2l0aCBvdGhlciBxdWFya3Mgb3Igd2l0aCBhbnRpcXVhcmtzLCB0aGVpciBhbnRpcGFydGljbGVzLCB0byBmb3JtIGFsbCBoYWRyb25zIFx1MjAxMyB0aGUgc28tY2FsbGVkIHN0cm9uZ2x5IGludGVyYWN0aW5nIHBhcnRpY2xlcyB0aGF0IGVuY29tcGFzcyBib3RoIGJhcnlvbnMgYW5kIG1lc29ucy4gVGhlIGludGVycHJldGF0aW9uIG9mIHF1YXJrcyBhcyBhY3R1YWwgcGh5c2ljYWwgZW50aXRpZXMgaW5pdGlhbGx5IHBvc2VkIHR3byBtYWpvciBwcm9ibGVtcy4gRmlyc3QsIHF1YXJrcyBoYWQgdG8gaGF2ZSBoYWxmLWludGVnZXIgc3BpbiAoaW50cmluc2ljIGFuZ3VsYXIgbW9tZW50dW0pIHZhbHVlcyBmb3IgdGhlIG1vZGVsIHRvIHdvcmssIGJ1dCBhdCB0aGUgc2FtZSB0aW1lIHRoZXkgc2VlbWVkIHRvIHZpb2xhdGUgdGhlIFBhdWxpIGV4Y2x1c2lvbiBwcmluY2lwbGUsIHdoaWNoIGdvdmVybnMgdGhlIGJlaGF2aW91ciBvZiBhbGwgcGFydGljbGVzIChjYWxsZWQgZmVybWlvbnMpIGhhdmluZyBvZGQgaGFsZi1pbnRlZ2VyIHNwaW4uIEluIG1hbnkgb2YgdGhlIGJhcnlvbiBjb25maWd1cmF0aW9ucyBjb25zdHJ1Y3RlZCBvZiBxdWFya3MsIHNvbWV0aW1lcyB0d28gb3IgZXZlbiB0aHJlZSBpZGVudGljYWwgcXVhcmtzIGhhZCB0byBiZSBzZXQgaW4gdGhlIHNhbWUgcXVhbnR1bSBzdGF0ZSBcdTIwMTMgYW4gYXJyYW5nZW1lbnQgcHJvaGliaXRlZCBieSB0aGUgZXhjbHVzaW9uIHByaW5jaXBsZS4gU2Vjb25kLCBxdWFya3MgYXBwZWFyZWQgdG8gZGVmeSBiZWluZyBmcmVlZCBmcm9tIHRoZSBwYXJ0aWNsZXMgdGhleSBtYWRlIHVwLiBBbHRob3VnaCB0aGUgZm9yY2VzIGJpbmRpbmcgcXVhcmtzIHdlcmUgc3Ryb25nLCBpdCBzZWVtZWQgaW1wcm9iYWJsZSB0aGF0IHRoZXkgd2VyZSBwb3dlcmZ1bCBlbm91Z2ggdG8gd2l0aHN0YW5kIGJvbWJhcmRtZW50IGJ5IGhpZ2gtZW5lcmd5IHBhcnRpY2xlIGJlYW1zIGZyb20gYWNjZWxlcmF0b3JzLiZuYnNwO1F1YXJrIChzaXplOiAxIFlvY3RvbWV0ZXIpLCBhbnkgbWVtYmVyIG9mIGEgZ3JvdXAgb2YgZWxlbWVudGFyeSBzdWJhdG9taWMgcGFydGljbGVzIHRoYXQgaW50ZXJhY3QgYnkgbWVhbnMgb2YgdGhlIHN0cm9uZyBmb3JjZSBhbmQgYXJlIGJlbGlldmVkIHRvIGJlIGFtb25nIHRoZSBmdW5kYW1lbnRhbCBjb25zdGl0dWVudHMgb2YgbWF0dGVyLiBRdWFya3MgYXNzb2NpYXRlIHdpdGggb25lIGFub3RoZXIgdmlhIHRoZSBzdHJvbmcgZm9yY2UgdG8gbWFrZSB1cCBwcm90b25zIGFuZCBuZXV0cm9ucywgaW4gbXVjaCB0aGUgc2FtZSB3YXkgdGhhdCB0aGUgbGF0dGVyIHBhcnRpY2xlcyBjb21iaW5lIGluIHZhcmlvdXMgcHJvcG9ydGlvbnMgdG8gbWFrZSB1cCBhdG9taWMgbnVjbGVpLiBUaGVyZSBhcmUgc2l4IHR5cGVzLCBvciBmbGF2b3Vycywgb2YgcXVhcmtzIHRoYXQgZGlmZmVyIGZyb20gb25lIGFub3RoZXIgaW4gdGhlaXIgbWFzcyBhbmQgY2hhcmdlIGNoYXJhY3RlcmlzdGljcy4gVGhlc2Ugc2l4IHF1YXJrIGZsYXZvdXJzIGNhbiBiZSBncm91cGVkIGluIHRocmVlIHBhaXJzOiB1cCBhbmQgZG93biwgY2hhcm0gYW5kIHN0cmFuZ2UsIGFuZCB0b3AgYW5kIGJvdHRvbS4gUXVhcmtzIGFwcGVhciB0byBiZSB0cnVlIGVsZW1lbnRhcnkgcGFydGljbGVzOyB0aGF0IGlzLCB0aGV5IGhhdmUgbm8gYXBwYXJlbnQgc3RydWN0dXJlIGFuZCBjYW5ub3QgYmUgcmVzb2x2ZWQgaW50byBzb21ldGhpbmcgc21hbGxlci4gSW4gYWRkaXRpb24sIGhvd2V2ZXIsIHF1YXJrcyBhbHdheXMgc2VlbSB0byBvY2N1ciBpbiBjb21iaW5hdGlvbiB3aXRoIG90aGVyIHF1YXJrcyBvciB3aXRoIGFudGlxdWFya3MsIHRoZWlyIGFudGlwYXJ0aWNsZXMsIHRvIGZvcm0gYWxsIGhhZHJvbnMgXHUyMDEzIHRoZSBzby1jYWxsZWQgc3Ryb25nbHkgaW50ZXJhY3RpbmcgcGFydGljbGVzIHRoYXQgZW5jb21wYXNzIGJvdGggYmFyeW9ucyBhbmQgbWVzb25zLiBUaGUgaW50ZXJwcmV0YXRpb24gb2YgcXVhcmtzIGFzIGFjdHVhbCBwaHlzaWNhbCBlbnRpdGllcyBpbml0aWFsbHkgcG9zZWQgdHdvIG1ham9yIHByb2JsZW1zLiBGaXJzdCwgcXVhcmtzIGhhZCB0byBoYXZlIGhhbGYtaW50ZWdlciBzcGluIChpbnRyaW5zaWMgYW5ndWxhciBtb21lbnR1bSkgdmFsdWVzIGZvciB0aGUgbW9kZWwgdG8gd29yaywgYnV0IGF0IHRoZSBzYW1lIHRpbWUgdGhleSBzZWVtZWQgdG8gdmlvbGF0ZSB0aGUgUGF1bGkgZXhjbHVzaW9uIHByaW5jaXBsZSwgd2hpY2ggZ292ZXJucyB0aGUgYmVoYXZpb3VyIG9mIGFsbCBwYXJ0aWNsZXMgKGNhbGxlZCBmZXJtaW9ucykgaGF2aW5nIG9kZCBoYWxmLWludGVnZXIgc3Bpbi4gSW4gbWFueSBvZiB0aGUgYmFyeW9uIGNvbmZpZ3VyYXRpb25zIGNvbnN0cnVjdGVkIG9mIHF1YXJrcywgc29tZXRpbWVzIHR3byBvciBldmVuIHRocmVlIGlkZW50aWNhbCBxdWFya3MgaGFkIHRvIGJlIHNldCBpbiB0aGUgc2FtZSBxdWFudHVtIHN0YXRlIFx1MjAxMyBhbiBhcnJhbmdlbWVudCBwcm9oaWJpdGVkIGJ5IHRoZSBleGNsdXNpb24gcHJpbmNpcGxlLiBTZWNvbmQsIHF1YXJrcyBhcHBlYXJlZCB0byBkZWZ5IGJlaW5nIGZyZWVkIGZyb20gdGhlIHBhcnRpY2xlcyB0aGV5IG1hZGUgdXAuIEFsdGhvdWdoIHRoZSBmb3JjZXMgYmluZGluZyBxdWFya3Mgd2VyZSBzdHJvbmcsIGl0IHNlZW1lZCBpbXByb2JhYmxlIHRoYXQgdGhleSB3ZXJlIHBvd2VyZnVsIGVub3VnaCB0byB3aXRoc3RhbmQgYm9tYmFyZG1lbnQgYnkgaGlnaC1lbmVyZ3kgcGFydGljbGUgYmVhbXMgZnJvbSBhY2NlbGVyYXRvcnMuPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoyMywiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjg2NjUiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJpbWFnZSIsImltYWdlIjoiXC9pbWFnZXNcL0RJTjIuc3ZnIn1dLCJpbmRleCI6MCwidGl0bGUiOiJCb2xkIiwicmF0aW8iOiIyLjAwIiwicmVzaXplZ3JvdXAiOm51bGx9LHsiaWQiOiIyNjg0OSIsInR5cGUiOiJzYW1wbGUiLCJ3aWR0aCI6InhsYXJnZSIsImRpc3BsYXlvbiI6WyJkZXNrdG9wIiwibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJ0ZXh0IiwiZm9udEZhbWlseSI6Iidmb250LTE1OTM1JyIsImZvbnRGYW1pbHkyIjpmYWxzZSwibGluZUhlaWdodCI6IjAuODIiLCJsZXR0ZXJTcGFjaW5nIjoiLTAuMDJlbSIsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIiLCJtYXJnaW5Ub3AiOiItMC4xMmVtIiwidGV4dCI6Ik1ldHJpYzxiciBcLz5cclxuU3lzdGVtIiwiY29sb3IiOiIwMDAwMDAiLCJiYWNrZ3JvdW5kQ29sb3IiOm51bGwsImhpZGVCb3JkZXIiOmZhbHNlfV0sImluZGV4IjowLCJ0aXRsZSI6IkJvbGQiLCJyYXRpbyI6IjEuNzQiLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI4Njc0IiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoieGxhcmdlIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6ImltYWdlIiwiaW1hZ2UiOiJcL2ltYWdlc1wvRElOX0E0LnN2ZyJ9XSwiaW5kZXgiOjAsInRpdGxlIjoiQm9sZCIsInJhdGlvIjoiMS40OCIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjY4NTMiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJpbWFnZSIsImltYWdlIjoiXC9pbWFnZXNcL0RJTkE0LnN2ZyJ9XSwiaW5kZXgiOjAsInRpdGxlIjoiQm9sZCIsInJhdGlvIjoiMS40OCIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjg2NzgiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJ0ZXh0IiwiZm9udEZhbWlseSI6Iidmb250LTE1OTM1JyIsImZvbnRGYW1pbHkyIjpmYWxzZSwibGluZUhlaWdodCI6IjAuOSIsImxldHRlclNwYWNpbmciOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIiwibWFyZ2luVG9wIjoiLTAuMWVtIiwidGV4dCI6IkltcGVyaWFsPGJyIFwvPlxyXG5TeXN0ZW0iLCJjb2xvciI6IjAwMDAwMCIsImJhY2tncm91bmRDb2xvciI6bnVsbCwiaGlkZUJvcmRlciI6ZmFsc2V9XSwiaW5kZXgiOjAsInRpdGxlIjoiQm9sZCIsInJhdGlvIjoiMi4wMCIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjg2NzYiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJpbWFnZSIsImltYWdlIjoiXC9pbWFnZXNcL1J1bGVyLnN2ZyJ9XSwiaW5kZXgiOjAsInRpdGxlIjoiQm9sZCIsInJhdGlvIjoiMS4wMCIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjg1OTciLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoiaW1hZ2UiLCJpbWFnZSI6IlwvaW1hZ2VzXC9tZWFzdXJlXzA0LnN2ZyJ9XSwiaW5kZXgiOjAsInRpdGxlIjoiQm9sZCIsInJhdGlvIjoiMS44MiIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjg2MTMiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsiZGVza3RvcCIsIm1vYmlsZSJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoidGV4dCIsImZvbnRGYW1pbHkiOiInZm9udC0xNTkzNSciLCJmb250RmFtaWx5MiI6ZmFsc2UsImxpbmVIZWlnaHQiOiIwLjk1IiwibGV0dGVyU3BhY2luZyI6Ii0wLjAxZW0iLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIiwibWFyZ2luVG9wIjoiLTAuMDVlbSIsInRleHQiOiJNQVJBVEhPTjxiciBcLz5cclxuMjYuMiBNaWxlczxiciBcLz5cclxuKG9yKSA0Mi4yIEttIiwiY29sb3IiOiIwMDAwMDAiLCJiYWNrZ3JvdW5kQ29sb3IiOm51bGwsImhpZGVCb3JkZXIiOmZhbHNlfV0sImluZGV4IjowLCJ0aXRsZSI6IkJvbGQiLCJyYXRpbyI6IjIuMDAiLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI4NjgwIiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoieGxhcmdlIiwiZGlzcGxheW9uIjpbIm1vYmlsZSJdLCJhbHRlcm5hdGVzIjpbXSwiY29udGVudHMiOlt7ImluZGV4IjowLCJ0eXBlIjoidGV4dCIsImZvbnRGYW1pbHkiOiInZm9udC0xNTkzNSciLCJmb250RmFtaWx5MiI6ZmFsc2UsImxpbmVIZWlnaHQiOiIxLjA1IiwibGV0dGVyU3BhY2luZyI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIiLCJtYXJnaW5Ub3AiOiItMC4xZW0iLCJ0ZXh0IjoiVW5pdCBDb252ZXJzaW9uPGJyIFwvPlxyXG5cdTAwYmRcdTIwMDlnYWwgKDJcdTIwMDlxdCk8YnIgXC8+XHJcbjIuNTRcdTIwMDljbVx1MjAwOVx1MjAwOT1cdTIwMDlcdTIwMDkxXHUyMDA5aW5jaDxiciBcLz5cclxuMTZcdTIwMDlvelx1MjAwOVx1MjAwOVwvXHUyMDA5XHUyMDA5XHUyMDA5NDU0XHUyMDA5ZzxiciBcLz5cclxuMVx1MjAwOW1cdTIwMDlcdTIwMDk9XHUyMDA5XHUyMDA5My4yODA4XHUyMDA5ZnQ8YnIgXC8+XHJcbjJcdTIwMDlmdXJcdTIwMDlcdTIwMDlcdTIyNDhcdTIwMDlcdTIwMDlcdTAwYmNcdTIwMDltaWxlIiwiY29sb3IiOiIwMDAwMDAiLCJiYWNrZ3JvdW5kQ29sb3IiOm51bGwsImhpZGVCb3JkZXIiOmZhbHNlfV0sImluZGV4IjowLCJ0aXRsZSI6IkJvbGQiLCJyYXRpbyI6IjEuMjUiLCJyZXNpemVncm91cCI6bnVsbH0seyJpZCI6IjI2ODU5IiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoieGxhcmdlIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6InRleHQiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTU5MzUnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJsaW5lSGVpZ2h0IjoiMS4wMiIsImxldHRlclNwYWNpbmciOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiXCJzczAxXCIiLCJtYXJnaW5Ub3AiOiItMC4xNWVtIiwidGV4dCI6IlVuaXQgQ29udmVyc2lvbiBDaGFydDxiciBcLz5cclxuMi41NCBDZW50aW1ldGVycyA9IDEgSW5jaDxiciBcLz5cclxuMTYgT3VuY2VzIFwvIDQ1NCBHcmFtczxiciBcLz5cclxuXHUwMGJkIEdhbGxvbiAoMiBMaXF1aWQgUXVhcnRzKTxiciBcLz5cclxuMiBGdXJsb25ncyBcdTIyNDggXHUwMGJjIE1pbGU8YnIgXC8+XHJcbjEsMDAwIFllYXJzIFx1MjE5MiAxIE1pbGxlbm5pdW0iLCJjb2xvciI6IjAwMDAwMCIsImJhY2tncm91bmRDb2xvciI6bnVsbCwiaGlkZUJvcmRlciI6ZmFsc2V9LHsiaW5kZXgiOjEsInR5cGUiOiJ0ZXh0IiwiZm9udEZhbWlseSI6Iidmb250LTE1OTM1JyIsImZvbnRGYW1pbHkyIjpmYWxzZSwibGluZUhlaWdodCI6IjEuMDIiLCJsZXR0ZXJTcGFjaW5nIjpmYWxzZSwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiIsIm1hcmdpblRvcCI6Ii0wLjE1ZW0iLCJ0ZXh0IjoiVW5pdCBDb252ZXJzaW9uIENoYXJ0PGJyIFwvPlxyXG4yLjU0IENlbnRpbWV0ZXJzID0gMSBJbmNoPGJyIFwvPlxyXG4xNiBPdW5jZXMgXC8gNDU0IEdyYW1zPGJyIFwvPlxyXG5cdTAwYmQgR2FsbG9uICgyIExpcXVpZCBRdWFydHMpPGJyIFwvPlxyXG4yIEZ1cmxvbmdzIFx1MjI0OCBcdTAwYmMgTWlsZTxiciBcLz5cclxuMSwwMDAgWWVhcnMgXHUyMTkyIDEgTWlsbGVubml1bSIsImNvbG9yIjoiMDAwMDAwIiwiYmFja2dyb3VuZENvbG9yIjpudWxsLCJoaWRlQm9yZGVyIjpmYWxzZX1dLCJpbmRleCI6MCwidGl0bGUiOiJCb2xkIiwicmF0aW8iOiIyLjAwIiwicmVzaXplZ3JvdXAiOm51bGx9LHsiaWQiOiIyODUwNyIsInR5cGUiOiJ0ZXh0Iiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbeyJfaWQiOiIyODUwOCIsImluZGV4IjowLCJ0aXRsZSI6IiIsImZvbnRGYW1pbHkiOiInZm9udC0xNTkzNSciLCJmb250RmFtaWx5MiI6ZmFsc2UsImZvbnRTaXplIjoiNTAiLCJsaW5lSGVpZ2h0IjoiNTIiLCJsZXR0ZXJTcGFjaW5nIjpmYWxzZSwiaGVpZ2h0QWRkaXRpb24iOjAsInBhZGRpbmdsciI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJCb2xkIiwiaW5kZXgiOjAsInRleHQiOiI8cD5UaGUgbWV0cmljIHN5c3RlbSBvciBTSSAoSW50ZXJuYXRpb25hbCBTeXN0ZW0pIGlzIHRoZSZuYnNwO21vc3QgY29tbW9uIHN5c3RlbSBvZiBtZWFzdXJlbWVudHMgaW4gdGhlIHdvcmxkLCBhbmQgdGhlIGVhc2llc3QgdG8gdXNlLiBUaGUgYmFzZSB1bml0cyBmb3IgdGhlIG1ldHJpYyBzeXN0ZW0gYXJlIHRoZSB1bml0cyBvZjogbGVuZ3RoLCBtZWFzdXJlZCBpbiBtZXRlcnMgW21dOyZuYnNwO3RlbXBlcmF0dXJlLCBtZWFzdXJlZCBpbiBDZWxzaXVzIFtcdTAwYjBDXTsgbWFzcywgbWVhc3VyZWQmbmJzcDtpbiBncmFtcyBbZ107IGFuZCZuYnNwO3RpbWUsIG1lYXN1cmVkIGluIHNlY29uZHMgW3NdLiBBZGRpdGlvbmFsbHksIHRoZSBtZXRyaWMgc3lzdGVtIGluY2x1ZGVzIHVuaXRzIGZvciBlbGVjdHJpY2FsIGN1cnJlbnQsIHRoZSZuYnNwO2FtcGVyZSZuYnNwO1tBXTsgdGhlIGFtb3VudCBvZiBzdWJzdGFuY2UsIHRoZSZuYnNwO21vbGUgW21vbF07IGx1bWlub3VzIGludGVuc2l0eSwgdGhlJm5ic3A7Y2FuZGVsYSZuYnNwO1tjZF07IGFuZCB0aGVybW9keW5hbWljIHRlbXBlcmF0dXJlLCB0aGUmbmJzcDtrZWx2aW4mbmJzcDtbS10uIEVhY2ggb2YgdGhlc2UgdW5pdHMgY2FuIGJlIHNjYWxlZCBieSBwb3dlcnMgb2YgdGVuLCBtYWtpbmcgY2FsY3VsYXRpb25zIGVhc2llciBhbmQgY29udmVyc2lvbnMgYmV0d2VlbiB1bml0cyBtb3JlIGludHVpdGl2ZS4gRm9yIGV4YW1wbGUsIGxhcmdlciBvciBzbWFsbGVyIHF1YW50aXRpZXMgYXJlIGV4cHJlc3NlZCB1c2luZyBwcmVmaXhlcyBzdWNoIGFzIGtpbG8tICgxLDAwMCB0aW1lcyB0aGUgYmFzZSB1bml0KSwgY2VudGktICgxXC8xMDB0aCksIG9yIG1pbGxpLSAoMVwvMSwwMDB0aCkuIFRoaXMgc3lzdGVtIGlzIGhpZ2hseSBlZmZpY2llbnQgaW4gc2NpZW50aWZpYywgaW5kdXN0cmlhbCwgYW5kIGV2ZXJ5ZGF5IGNvbnRleHRzLiBJdHMgdW5pdmVyc2FsaXR5IGFsbG93cyBmb3Igc2VhbWxlc3MgY29tbXVuaWNhdGlvbiBvZiBtZWFzdXJlbWVudHMgaW4gaW50ZXJuYXRpb25hbCBzZXR0aW5ncywgYW5kIGl0IGlzIGFsc28gYSBzaWduaWZpY2FudCBpbXByb3ZlbWVudCBvdmVyIG9sZGVyIHN5c3RlbXMgdGhhdCBoYWQgaW5jb25zaXN0ZW50IHVuaXRzIGFuZCByZXF1aXJlZCBjb21wbGV4IGNvbnZlcnNpb25zLiBUaGUgbWV0cmljIHN5c3RlbSBpcyBsZWdhbGx5IHJlY29nbml6ZWQgaW4gbW9zdCBjb3VudHJpZXMsIGFuZCBpdHMgdXNlIGlzIG1hbmRhdGVkIGluIGluZHVzdHJpZXMgbGlrZSBoZWFsdGhjYXJlLCBzY2llbmNlLCBhbmQgZW5naW5lZXJpbmcuIFdoaWxlIHNvbWUgY291bnRyaWVzLCBzdWNoIGFzIHRoZSBVbml0ZWQgU3RhdGVzLCBzdGlsbCB1c2UgdGhlJm5ic3A7aW1wZXJpYWwgc3lzdGVtJm5ic3A7Zm9yIGV2ZXJ5ZGF5IG1lYXN1cmVtZW50cywgZXZlbiB0aGVyZSwgdGhlIG1ldHJpYyBzeXN0ZW0gaXMgZW1wbG95ZWQgaW4gc2NpZW50aWZpYyBhbmQgdGVjaG5pY2FsIGZpZWxkcywgZW5zdXJpbmcgY29uc2lzdGVuY3kgd29ybGR3aWRlLiBUaGUgYWRvcHRpb24gb2YgdGhlIG1ldHJpYyBzeXN0ZW0gaGFzIGFsc28gcGxheWVkIGEgY3J1Y2lhbCByb2xlIGluIGdsb2JhbCB0cmFkZSwgZW5hYmxpbmcgY291bnRyaWVzIHRvIHN0YW5kYXJkaXplIG1lYXN1cmVtZW50cyBmb3IgcHJvZHVjdGlvbiwgc2hpcHBpbmcsIGFuZCBjb21tZXJjZS4gVGhpcyBzdGFuZGFyZGl6YXRpb24gcmVkdWNlcyBlcnJvcnMsIGltcHJvdmVzIHByZWNpc2lvbiwgYW5kIGVuaGFuY2VzIGNvbW11bmljYXRpb24gaW4gdmFyaW91cyBpbmR1c3RyaWVzLiBGb3IgaW5zdGFuY2UsIHRoZSBhdmlhdGlvbiBpbmR1c3RyeSByZWxpZXMgb24gU0kgdW5pdHMgZm9yIGFpciB0cmFmZmljIGNvbnRyb2wgYW5kIGZsaWdodCBvcGVyYXRpb25zLCBlbnN1cmluZyB0aGF0IGFsbCBwaWxvdHMsIG5vIG1hdHRlciB0aGVpciBjb3VudHJ5IG9mIG9yaWdpbiwgY2FuIGFjY3VyYXRlbHkgaW50ZXJwcmV0IGluc3RydWN0aW9ucy48XC9wPiIsImNvbG9yIjoiIiwiYmFja2dyb3VuZENvbG9yIjoiIiwibnVtTGluZXMiOjEyLCJmaXJzdE9mVGhyZWUiOm51bGx9LHsiaWQiOiIyNjg2MyIsInR5cGUiOiJ0ZXh0Iiwid2lkdGgiOiJtZWRpdW0iLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbeyJfaWQiOiIyNjg2NCIsImluZGV4IjowLCJ0aXRsZSI6IiIsImZvbnRGYW1pbHkiOiInZm9udC0xNTkzNSciLCJmb250RmFtaWx5MiI6ZmFsc2UsImZvbnRTaXplIjoiMzgiLCJsaW5lSGVpZ2h0IjoiNDAiLCJsZXR0ZXJTcGFjaW5nIjoiMC4wMjVlbSIsImhlaWdodEFkZGl0aW9uIjowLCJwYWRkaW5nbHIiOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIn1dLCJjb250ZW50cyI6W10sInRpdGxlIjoiQm9sZCIsImluZGV4IjowLCJ0ZXh0IjoiPHA+VGhlIEFtZXJpY2FuIE5hdGlvbmFsIFN0YW5kYXJkcyBJbnN0aXR1dGUgKEFOU0kpIGlzIGEgcHJpdmF0ZSBub25wcm9maXQgb3JnYW5pemF0aW9uIHRoYXQgb3ZlcnNlZXMgdGhlIGRldmVsb3BtZW50IG9mIHZvbHVudGFyeSBjb25zZW5zdXMgc3RhbmRhcmRzIGZvciBwcm9kdWN0cywgc2VydmljZXMsIHByb2Nlc3Nlcywgc3lzdGVtcywgYW5kIHBlcnNvbm5lbCBpbiB0aGUgVW5pdGVkIFN0YXRlcy4gVGhlIG9yZ2FuaXphdGlvbiBhbHNvIGNvb3JkaW5hdGVzIFUuUy4gc3RhbmRhcmRzIHdpdGggaW50ZXJuYXRpb25hbCBzdGFuZGFyZHMgc28gdGhhdCBBbWVyaWNhbiBwcm9kdWN0cyBjYW4gYmUgdXNlZCB3b3JsZHdpZGUuIEFOU0kgYWNjcmVkaXRzIHN0YW5kYXJkcyB0aGF0IGFyZSBkZXZlbG9wZWQgYnkgcmVwcmVzZW50YXRpdmVzIG9mIG90aGVyIHN0YW5kYXJkcyBvcmdhbml6YXRpb25zLCBnb3Zlcm5tZW50IGFnZW5jaWVzLCBjb25zdW1lciBncm91cHMsIGNvbXBhbmllcywgYW5kIG90aGVycy4gVGhlc2Ugc3RhbmRhcmRzIGVuc3VyZSB0aGF0IHRoZSBjaGFyYWN0ZXJpc3RpY3MgYW5kIHBlcmZvcm1hbmNlIG9mIHByb2R1Y3RzIGFyZSBjb25zaXN0ZW50LCB0aGF0IHBlb3BsZSB1c2UgdGhlIHNhbWUgZGVmaW5pdGlvbnMgYW5kIHRlcm1zLCBhbmQgdGhhdCBwcm9kdWN0cyBhcmUgdGVzdGVkIHRoZSBzYW1lIHdheS4gQU5TSSBhbHNvIGFjY3JlZGl0cyBvcmdhbml6YXRpb25zIHRoYXQgY2Fycnkgb3V0IHByb2R1Y3Qgb3IgcGVyc29ubmVsIGNlcnRpZmljYXRpb24gaW4gYWNjb3JkYW5jZSB3aXRoIHJlcXVpcmVtZW50cyBkZWZpbmVkIGluIGludGVybmF0aW9uYWwgc3RhbmRhcmRzLiBUaGUgQW1lcmljYW4gTmF0aW9uYWwgU3RhbmRhcmRzIEluc3RpdHV0ZSAoQU5TSSkgaXMgYSBwcml2YXRlIG5vbnByb2ZpdCBvcmdhbml6YXRpb24gdGhhdCBvdmVyc2VlcyB0aGUgZGV2ZWxvcG1lbnQgb2Ygdm9sdW50YXJ5IGNvbnNlbnN1cyBzdGFuZGFyZHMgZm9yIHByb2R1Y3RzLCBzZXJ2aWNlcywgcHJvY2Vzc2VzLCBzeXN0ZW1zLCBhbmQgcGVyc29ubmVsIGluIHRoZSBVbml0ZWQgU3RhdGVzLiBUaGUgb3JnYW5pemF0aW9uIGFsc28gY29vcmRpbmF0ZXMgVS5TLiBzdGFuZGFyZHMgd2l0aCBpbnRlcm5hdGlvbmFsIHN0YW5kYXJkcyBzbyB0aGF0IEFtZXJpY2FuIHByb2R1Y3RzIGNhbiBiZSB1c2VkIHdvcmxkd2lkZS4gQU5TSSBhY2NyZWRpdHMgc3RhbmRhcmRzIHRoYXQgYXJlIGRldmVsb3BlZCBieSByZXByZXNlbnRhdGl2ZXMgb2Ygb3RoZXIgc3RhbmRhcmRzIG9yZ2FuaXphdGlvbnMsIGdvdmVybm1lbnQgYWdlbmNpZXMsIGNvbnN1bWVyIGdyb3VwcywgY29tcGFuaWVzLCBhbmQgb3RoZXJzLiBUaGVzZSBzdGFuZGFyZHMgZW5zdXJlIHRoYXQgdGhlIGNoYXJhY3RlcmlzdGljcyBhbmQgcGVyZm9ybWFuY2Ugb2YgcHJvZHVjdHMgYXJlIGNvbnNpc3RlbnQsIHRoYXQgcGVvcGxlIHVzZSB0aGUgc2FtZSBkZWZpbml0aW9ucyBhbmQgdGVybXMsIGFuZCB0aGF0IHByb2R1Y3RzIGFyZSB0ZXN0ZWQgdGhlIHNhbWUgd2F5LiBBTlNJIGFsc28gYWNjcmVkaXRzIG9yZ2FuaXphdGlvbnMgdGhhdCBjYXJyeSBvdXQgcHJvZHVjdCBvciBwZXJzb25uZWwgY2VydGlmaWNhdGlvbiBpbiBhY2NvcmRhbmNlIHdpdGggcmVxdWlyZW1lbnRzIGRlZmluZWQgaW4gaW50ZXJuYXRpb25hbCBzdGFuZGFyZHMuPFwvcD5cclxuXHJcbjxwPiZuYnNwOzxcL3A+IiwiY29sb3IiOiIiLCJiYWNrZ3JvdW5kQ29sb3IiOiIiLCJudW1MaW5lcyI6MTEsImZpcnN0T2ZUaHJlZSI6bnVsbH0seyJpZCI6IjI2ODY1IiwidHlwZSI6InRleHQiLCJ3aWR0aCI6Im1lZGl1bSIsImRpc3BsYXlvbiI6WyJkZXNrdG9wIl0sImFsdGVybmF0ZXMiOlt7Il9pZCI6IjI2ODY2IiwiaW5kZXgiOjAsInRpdGxlIjoiIiwiZm9udEZhbWlseSI6Iidmb250LTE1OTM1JyIsImZvbnRGYW1pbHkyIjpmYWxzZSwiZm9udFNpemUiOiIzMiIsImxpbmVIZWlnaHQiOiIzNiIsImxldHRlclNwYWNpbmciOiIwLjAyNWVtIiwiaGVpZ2h0QWRkaXRpb24iOjAsInBhZGRpbmdsciI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJCb2xkIiwiaW5kZXgiOjAsInRleHQiOiI8cD5BTlNJIHdhcyBtb3N0IGxpa2VseSBmb3VuZGVkIGluIDE5MTggd2hlbiBmaXZlIGVuZ2luZWVyaW5nIHNvY2lldGllcyBhbmQgdGhyZWUgZ292ZXJubWVudCBhZ2VuY2llcyBmb3JtZWQgdGhlIEFtZXJpY2FuIEVuZ2luZWVyaW5nIFN0YW5kYXJkcyBDb21taXR0ZWUgKEFFU0MpLiBJbiAxOTI4LCB0aGUgQUVTQyBiZWNhbWUgdGhlIEFtZXJpY2FuIFN0YW5kYXJkcyBBc3NvY2lhdGlvbiAoQVNBKS4gSW4gMTk2NiwgdGhlIEFTQSB3YXMgcmVvcmdhbmlzZWQgYW5kIGNoYW5nZWQgaXRzIG5hbWUgdG8gdGhlIFVuaXRlZCBTdGF0ZXMgb2YgQW1lcmljYSBTdGFuZGFyZHMgSW5zdGl0dXRlIChVU0FTSSkuIFByaW9yIHRvIDE5MTgsIHRoZSBmaXZlIGVuZ2luZWVyaW5nIHNvY2lldGllczogQW1lcmljYW4gSW5zdGl0dXRlIG9mIEVsZWN0cmljYWwgRW5naW5lZXJzIChBSUVFLCBub3cgSUVFRSksIEFtZXJpY2FuIFNvY2lldHkgb2YgTWVjaGFuaWNhbCBFbmdpbmVlcnMgKEFTTUUpLCBBbWVyaWNhbiBTb2NpZXR5IG9mIENpdmlsIEVuZ2luZWVycyAoQVNDRSksIEFtZXJpY2FuIEluc3RpdHV0ZSBvZiBNaW5pbmcgRW5naW5lZXJzIChBSU1FLCBub3cgQW1lcmljYW4gSW5zdGl0dXRlIG9mIE1pbmluZywgTWV0YWxsdXJnaWNhbCwgYW5kIFBldHJvbGV1bSBFbmdpbmVlcnMpIGFuZCBBbWVyaWNhbiBTb2NpZXR5IGZvciBUZXN0aW5nIGFuZCBNYXRlcmlhbHMgKG5vdyBBU1RNIEludGVybmF0aW9uYWwpLCBmb3JtZWQgdGhlIFVuaXRlZCBFbmdpbmVlcmluZyBTb2NpZXR5IChVRVMpIG1lbWJlcnNoaXAuIEF0IHRoZSBpbnN0aWdhdGlvbiBvZiB0aGUgQUlFRSwgdGhleSBpbnZpdGVkIHRoZSBVUyBnb3Zlcm5tZW50IGRlcGFydG1lbnRzIG9mIFdhciwgTmF2eSAod2hpY2ggd2VyZSBtZXJnZWQgaW50byB0aGUgRGVwYXJ0bWVudCBvZiBEZWZlbnNlIChET0QpIGluIDE5NDcpIGFuZCBDb21tZXJjZSB0byBwYXJ0aWNpcGF0ZSBpbiB0aGUgZm91bmRpbmcgb2YgYSBuYXRpb25hbCBzdGFuZGFyZHMgb3JnYW5pc2F0aW9uLiZuYnNwO0FOU0kgd2FzIG1vc3QgbGlrZWx5IGZvdW5kZWQgaW4gMTkxOCB3aGVuIGZpdmUgZW5naW5lZXJpbmcgc29jaWV0aWVzIGFuZCB0aHJlZSBnb3Zlcm5tZW50IGFnZW5jaWVzIGZvcm1lZCB0aGUgQW1lcmljYW4gRW5naW5lZXJpbmcgU3RhbmRhcmRzIENvbW1pdHRlZSAoQUVTQykuIEluIDE5MjgsIHRoZSBBRVNDIGJlY2FtZSB0aGUgQW1lcmljYW4gU3RhbmRhcmRzIEFzc29jaWF0aW9uIChBU0EpLiBJbiAxOTY2LCB0aGUgQVNBIHdhcyByZW9yZ2FuaXNlZCBhbmQgY2hhbmdlZCBpdHMgbmFtZSB0byB0aGUgVW5pdGVkIFN0YXRlcyBvZiBBbWVyaWNhIFN0YW5kYXJkcyBJbnN0aXR1dGUgKFVTQVNJKS4gUHJpb3IgdG8gMTkxOCwgdGhlIGZpdmUgZW5naW5lZXJpbmcgc29jaWV0aWVzOiBBbWVyaWNhbiBJbnN0aXR1dGUgb2YgRWxlY3RyaWNhbCBFbmdpbmVlcnMgKEFJRUUsIG5vdyBJRUVFKSwgQW1lcmljYW4gU29jaWV0eSBvZiBNZWNoYW5pY2FsIEVuZ2luZWVycyAoQVNNRSksIEFtZXJpY2FuIFNvY2lldHkgb2YgQ2l2aWwgRW5naW5lZXJzIChBU0NFKSwgQW1lcmljYW4gSW5zdGl0dXRlIG9mIE1pbmluZyBFbmdpbmVlcnMgKEFJTUUsIG5vdyBBbWVyaWNhbiBJbnN0aXR1dGUgb2YgTWluaW5nLCBNZXRhbGx1cmdpY2FsLCBhbmQgUGV0cm9sZXVtIEVuZ2luZWVycykgYW5kIEFtZXJpY2FuIFNvY2lldHkgZm9yIFRlc3RpbmcgYW5kIE1hdGVyaWFscyAobm93IEFTVE0gSW50ZXJuYXRpb25hbCksIGZvcm1lZCB0aGUgVW5pdGVkIEVuZ2luZWVyaW5nIFNvY2lldHkgKFVFUykgbWVtYmVyc2hpcC4gQXQgdGhlIGluc3RpZ2F0aW9uIG9mIHRoZSBBSUVFLCB0aGV5IGludml0ZWQgdGhlIFVTIGdvdmVybm1lbnQgZGVwYXJ0bWVudHMgb2YgV2FyLCBOYXZ5ICh3aGljaCB3ZXJlIG1lcmdlZCBpbnRvIHRoZSBEZXBhcnRtZW50IG9mIERlZmVuc2UgKERPRCkgaW4gMTk0NykgYW5kIENvbW1lcmNlIHRvIHBhcnRpY2lwYXRlIGluIHRoZSBmb3VuZGluZyBvZiBhIG5hdGlvbmFsIHN0YW5kYXJkcyBvcmdhbmlzYXRpb24uPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoxMiwiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjY4NjciLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoibWVkaXVtIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiLCJtb2JpbGUiXSwiYWx0ZXJuYXRlcyI6W3siX2lkIjoiMjY4NjgiLCJpbmRleCI6MCwidGl0bGUiOiIiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTU5MzUnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJmb250U2l6ZSI6IjI0IiwibGluZUhlaWdodCI6IjI4IiwibGV0dGVyU3BhY2luZyI6IjAuMDNlbSIsImhlaWdodEFkZGl0aW9uIjowLCJwYWRkaW5nbHIiOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIn1dLCJjb250ZW50cyI6W10sInRpdGxlIjoiQm9sZCIsImluZGV4IjowLCJ0ZXh0IjoiPHA+TFx1MjAxOUFzc29jaWF0aW9uIGZyYW5cdTAwZTdhaXNlIGRlIG5vcm1hbGlzYXRpb24gKGFiclx1MDBlOWdcdTAwZTllIEFmbm9yIG91IEFGTk9SKSBlc3QgbFx1MjAxOW9yZ2FuaXNhdGlvbiBmcmFuXHUwMGU3YWlzZSBxdWkgcmVwclx1MDBlOXNlbnRlIGxhIEZyYW5jZSBhdXByXHUwMGU4cyBkZSBsXHUyMDE5T3JnYW5pc2F0aW9uIGludGVybmF0aW9uYWxlIGRlIG5vcm1hbGlzYXRpb24gKElTTykgZXQgZHUgQ29taXRcdTAwZTkgZXVyb3BcdTAwZTllbiBkZSBub3JtYWxpc2F0aW9uIChDRU4pLiBEZXB1aXMgbGUgMWVyIGphbnZpZXIgMjAxNCwgXHUwMGUwIGxhIHN1aXRlIGR1IHJhcHByb2NoZW1lbnQgZGUgbFx1MjAxOUFmbm9yIGVsbGUgZXN0IGF1c3NpIG1lbWJyZSBkdSBDb21pdFx1MDBlOSBldXJvcFx1MDBlOWVuIGRlIG5vcm1hbGlzYXRpb24gZW4gXHUwMGU5bGVjdHJvbmlxdWUgZXQgZW4gXHUwMGU5bGVjdHJvdGVjaG5pcXVlIChDRU5FTEVDKSBhdSBuaXZlYXUgZXVyb3BcdTAwZTllbiwgZXQgZGUgbGEgQ29tbWlzc2lvbiBcdTAwZTlsZWN0cm90ZWNobmlxdWUgaW50ZXJuYXRpb25hbGUgKENFSSkgYXUgbml2ZWF1IGludGVybmF0aW9uYWwuIExcdTIwMTlBc3NvY2lhdGlvbiBmcmFuXHUwMGU3YWlzZSBkZSBub3JtYWxpc2F0aW9uIGEgXHUwMGU5dFx1MDBlOSBjclx1MDBlOVx1MDBlOWUgZW4gMTkyNiA7IGVsbGUgZXN0IHBsYWNcdTAwZTllIHNvdXMgbGEgdHV0ZWxsZSBkdSBtaW5pc3RcdTAwZThyZSBjaGFyZ1x1MDBlOSBkZSBsXHUyMDE5aW5kdXN0cmllLiBTb24gclx1MDBmNGxlIGVzdCBwclx1MDBlOWNpc1x1MDBlOSBkYW5zIGxlIGRcdTAwZTljcmV0IFx1MjExNiAyMDA5XHUyMDEzNjk3IGR1IDE2IGp1aW4gMjAwOSByZWxhdGlmIFx1MDBlMCBsYSBub3JtYWxpc2F0aW9uLCBxdWkgbHVpIGNvbmZcdTAwZThyZSB1bmUgbWlzc2lvbiBkXHUyMDE5aW50XHUwMGU5clx1MDBlYXQgZ1x1MDBlOW5cdTAwZTlyYWwsIGRcdTAwZTljcmV0IG1vZGlmaVx1MDBlOSBwYXIgY2VsdWkgZHUgMTAgbm92ZW1icmUgMjAyMS4gXHUwMGMwIGNlIHRpdHJlLCBlbGxlIHBlclx1MDBlN29pdCB1bmUgc3VidmVudGlvbiBwdWJsaXF1ZSBjb3V2cmFudCB1bmUgcGFydGllIGRlIHNlcyBhY3Rpdml0XHUwMGU5cy4gRW4gMjAyMiwgY2Ugc291dGllbiByZXByXHUwMGU5c2VudGFpdCAzLDIgJSBkZXMgcHJvZHVpdHMgZHUgR3JvdXBlIEFGTk9SLCBkb250IGxcdTIwMTlhc3NvY2lhdGlvbiBjb25zdGl0dWUgbGEgaG9sZGluZy4gUmVjb25udWUgZFx1MjAxOXV0aWxpdFx1MDBlOSBwdWJsaXF1ZSwgbFx1MjAxOUFmbm9yIGNvbXB0YWl0IDEgNDk4IG1lbWJyZXMtYWRoXHUwMGU5cmVudHMgYXUgMzEgZFx1MDBlOWNlbWJyZSAyMDIyLiBEZXB1aXMgc2EgZnVzaW9uIGF2ZWMgbFx1MjAxOUFzc29jaWF0aW9uIGZyYW5cdTAwZTdhaXNlIHBvdXIgbFx1MjAxOWFzc3VyYW5jZSBkZSBsYSBxdWFsaXRcdTAwZTkgZW4gMjAwNCwgZWxsZSBmYWl0IHBhcnRpZSBkdSBHcm91cGUgQUZOT1IuIExcdTIwMTlBRk5PUiBcdTAwZTlkaXRlIGxhIGNvbGxlY3Rpb24gZGVzIG5vcm1lcyBORiBxdWkgaWRlbnRpZmllIGhhYml0dWVsbGVtZW50IHVuIGRvY3VtZW50IHBhciBsYSBmb3JtZSBORiBMIENDLUNDQyBkYW5zIGxhIG5vbWVuY2xhdHVyZSBuYXRpb25hbGUgZnJhblx1MDBlN2Fpc2UuJm5ic3A7TFx1MjAxOUFzc29jaWF0aW9uIGZyYW5cdTAwZTdhaXNlIGRlIG5vcm1hbGlzYXRpb24gKGFiclx1MDBlOWdcdTAwZTllIEFmbm9yIG91IEFGTk9SKSBlc3QgbFx1MjAxOW9yZ2FuaXNhdGlvbiBmcmFuXHUwMGU3YWlzZSBxdWkgcmVwclx1MDBlOXNlbnRlIGxhIEZyYW5jZSBhdXByXHUwMGU4cyBkZSBsXHUyMDE5T3JnYW5pc2F0aW9uIGludGVybmF0aW9uYWxlIGRlIG5vcm1hbGlzYXRpb24gKElTTykgZXQgZHUgQ29taXRcdTAwZTkgZXVyb3BcdTAwZTllbiBkZSBub3JtYWxpc2F0aW9uIChDRU4pLiBEZXB1aXMgbGUgMWVyIGphbnZpZXIgMjAxNCwgXHUwMGUwIGxhIHN1aXRlIGR1IHJhcHByb2NoZW1lbnQgZGUgbFx1MjAxOUFmbm9yIGVsbGUgZXN0IGF1c3NpIG1lbWJyZSBkdSBDb21pdFx1MDBlOSBldXJvcFx1MDBlOWVuIGRlIG5vcm1hbGlzYXRpb24gZW4gXHUwMGU5bGVjdHJvbmlxdWUgZXQgZW4gXHUwMGU5bGVjdHJvdGVjaG5pcXVlIChDRU5FTEVDKSBhdSBuaXZlYXUgZXVyb3BcdTAwZTllbiwgZXQgZGUgbGEgQ29tbWlzc2lvbiBcdTAwZTlsZWN0cm90ZWNobmlxdWUgaW50ZXJuYXRpb25hbGUgKENFSSkgYXUgbml2ZWF1IGludGVybmF0aW9uYWwuIExcdTIwMTlBc3NvY2lhdGlvbiBmcmFuXHUwMGU3YWlzZSBkZSBub3JtYWxpc2F0aW9uIGEgXHUwMGU5dFx1MDBlOSBjclx1MDBlOVx1MDBlOWUgZW4gMTkyNiA7IGVsbGUgZXN0IHBsYWNcdTAwZTllIHNvdXMgbGEgdHV0ZWxsZSBkdSBtaW5pc3RcdTAwZThyZSBjaGFyZ1x1MDBlOSBkZSBsXHUyMDE5aW5kdXN0cmllLiBTb24gclx1MDBmNGxlIGVzdCBwclx1MDBlOWNpc1x1MDBlOSBkYW5zIGxlIGRcdTAwZTljcmV0IFx1MjExNiAyMDA5XHUyMDEzNjk3IGR1IDE2IGp1aW4gMjAwOSByZWxhdGlmIFx1MDBlMCBsYSBub3JtYWxpc2F0aW9uLCBxdWkgbHVpIGNvbmZcdTAwZThyZSB1bmUgbWlzc2lvbiBkXHUyMDE5aW50XHUwMGU5clx1MDBlYXQgZ1x1MDBlOW5cdTAwZTlyYWwsIGRcdTAwZTljcmV0IG1vZGlmaVx1MDBlOSBwYXIgY2VsdWkgZHUgMTAgbm92ZW1icmUgMjAyMS4gXHUwMGMwIGNlIHRpdHJlLCBlbGxlIHBlclx1MDBlN29pdCB1bmUgc3VidmVudGlvbiBwdWJsaXF1ZSBjb3V2cmFudCB1bmUgcGFydGllIGRlIHNlcyBhY3Rpdml0XHUwMGU5cy4gRW4gMjAyMiwgY2Ugc291dGllbiByZXByXHUwMGU5c2VudGFpdCAzLDIgJSBkZXMgcHJvZHVpdHMgZHUgR3JvdXBlIEFGTk9SLCBkb250IGxcdTIwMTlhc3NvY2lhdGlvbiBjb25zdGl0dWUgbGEgaG9sZGluZy4gUmVjb25udWUgZFx1MjAxOXV0aWxpdFx1MDBlOSBwdWJsaXF1ZSwgbFx1MjAxOUFmbm9yIGNvbXB0YWl0IDEgNDk4IG1lbWJyZXMtYWRoXHUwMGU5cmVudHMgYXUgMzEgZFx1MDBlOWNlbWJyZSAyMDIyLiBEZXB1aXMgc2EgZnVzaW9uIGF2ZWMgbFx1MjAxOUFzc29jaWF0aW9uIGZyYW5cdTAwZTdhaXNlIHBvdXIgbFx1MjAxOWFzc3VyYW5jZSBkZSBsYSBxdWFsaXRcdTAwZTkgZW4gMjAwNCwgZWxsZSBmYWl0IHBhcnRpZSBkdSBHcm91cGUgQUZOT1IuIExcdTIwMTlBRk5PUiBcdTAwZTlkaXRlIGxhIGNvbGxlY3Rpb24gZGVzIG5vcm1lcyBORiBxdWkgaWRlbnRpZmllIGhhYml0dWVsbGVtZW50IHVuIGRvY3VtZW50IHBhciBsYSBmb3JtZSBORiBMIENDLUNDQyBkYW5zIGxhIG5vbWVuY2xhdHVyZSBuYXRpb25hbGUgZnJhblx1MDBlN2Fpc2UuPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoxNSwiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjY4NjkiLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoic21hbGwiLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbeyJfaWQiOiIyNjg3MCIsImluZGV4IjowLCJ0aXRsZSI6IiIsImZvbnRGYW1pbHkiOiInZm9udC0xNTkzNSciLCJmb250RmFtaWx5MiI6ZmFsc2UsImZvbnRTaXplIjoiMTgiLCJsaW5lSGVpZ2h0IjoiMjIiLCJsZXR0ZXJTcGFjaW5nIjoiMC4wNWVtIiwiaGVpZ2h0QWRkaXRpb24iOjAsInBhZGRpbmdsciI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJCb2xkIiwiaW5kZXgiOjAsInRleHQiOiI8cD5EYXMgRGV1dHNjaGUgSW5zdGl0dXQgZlx1MDBmY3IgTm9ybXVuZyBlLlYuIChESU4pIGlzdCBkaWUgYmVkZXV0ZW5kc3RlIG5hdGlvbmFsZSBOb3JtdW5nc29yZ2FuaXNhdGlvbiBpbiBkZXIgQnVuZGVzcmVwdWJsaWsgRGV1dHNjaGxhbmQuIFNpZSB3dXJkZSBhbSAyMi4gRGV6ZW1iZXIgMTkxNyB1bnRlciBkZW0gTmFtZW4gXHUyMDFlTm9ybWVuYXVzc2NodVx1MDBkZiBkZXIgZGV1dHNjaGVuIEluZHVzdHJpZVx1MjAxYyBnZWdyXHUwMGZjbmRldC4gRWluZSBlcnN0ZSBVbWJlbmVubnVuZyBlcmZvbGd0ZSAxOTI2IHp1IFx1MjAxZURldXRzY2hlciBOb3JtZW5hdXNzY2h1XHUwMGRmXHUyMDFjLCB1bSBhdXN6dWRyXHUwMGZjY2tlbiwgZGFzcyBzaWNoIGRhcyBBcmJlaXRzZ2ViaWV0IG5pY2h0IG1laHIgYXVmIGRpZSBJbmR1c3RyaWUgYmVzY2hyXHUwMGU0bmt0ZS4gRGVyIGhldXRpZ2UgTmFtZSBcdTIwMWVESU4gRGV1dHNjaGVzIEluc3RpdHV0IGZcdTAwZmNyIE5vcm11bmcgZS5WLlx1MjAxYyB3dXJkZSAxOTc1IGltIFp1c2FtbWVuaGFuZyBtaXQgZGVtIHp3aXNjaGVuIGRlciBPcmdhbmlzYXRpb24gdW5kIGRlciBCdW5kZXNyZXB1YmxpayBEZXV0c2NobGFuZCBhYmdlc2NobG9zc2VuZW4gTm9ybWVudmVydHJhZyBnZXdcdTAwZTRobHQuIEVpbmUgdW50ZXIgZGVyIExlaXR1bmcgdm9uIEFyYmVpdHNhdXNzY2hcdTAwZmNzc2VuIGRpZXNlciBOb3JtdW5nc29yZ2FuaXNhdGlvbiBlcmFyYmVpdGV0ZSBOb3JtIHdpcmQgYWxzIERJTi1Ob3JtIGJlemVpY2huZXQuIERhcyBEZXV0c2NoZSBJbnN0aXR1dCBmXHUwMGZjciBOb3JtdW5nIGlzdCBlaW4gZWluZ2V0cmFnZW5lciBWZXJlaW4sIHdpcmQgcHJpdmF0d2lydHNjaGFmdGxpY2ggZ2V0cmFnZW4gdW5kIGJlaSBzZWluZW4gZXVyb3BcdTAwZTRpc2NoZW4gdW5kIGludGVybmF0aW9uYWxlbiBOb3JtdW5nc2FrdGl2aXRcdTAwZTR0ZW4gdm9uIGRlciBCdW5kZXNyZXB1YmxpayBEZXV0c2NobGFuZCBhbHMgZWluemlnZSBuYXRpb25hbGUgTm9ybXVuZ3NvcmdhbmlzYXRpb24gdW50ZXJzdFx1MDBmY3R6dC4gRXMgYmlldGV0IGRlbiBzb2dlbmFubnRlbiBcdTIwMWVpbnRlcmVzc2llcnRlbiBLcmVpc2VuXHUyMDFjIChIZXJzdGVsbGVyLCBIYW5kZWwsIEluZHVzdHJpZSwgV2lzc2Vuc2NoYWZ0LCBWZXJicmF1Y2hlciwgUHJcdTAwZmNmaW5zdGl0dXRlIHVuZCBCZWhcdTAwZjZyZGVuKSBlaW4gRm9ydW0sIGltIEtvbnNlbnN2ZXJmYWhyZW4gTm9ybWVuIHp1IGVyYXJiZWl0ZW4uIERlciBpbnRlcmVzc2llcnRlIEtyZWlzIGRlciBWZXJicmF1Y2hlciB3aXJkIGR1cmNoIGRlbiZuYnNwO1ZlcmJyYXVjaGVycmF0IGRlcyBESU4gdmVydHJldGVuLiBEYXMgRElOIGlzdCBNaXRnbGllZCBkZXIgRXVyb3BcdTAwZTRpc2NoZW4gQmV3ZWd1bmcgRGV1dHNjaGxhbmRzLiBEYXMgRGV1dHNjaGUgSW5zdGl0dXQgZlx1MDBmY3IgTm9ybXVuZyBlLlYuIChESU4pIGlzdCBkaWUgYmVkZXV0ZW5kc3RlIG5hdGlvbmFsZSBOb3JtdW5nc29yZ2FuaXNhdGlvbiBpbiBkZXIgQnVuZGVzcmVwdWJsaWsgRGV1dHNjaGxhbmQuIFNpZSB3dXJkZSBhbSAyMi4gRGV6ZW1iZXIgMTkxNyB1bnRlciBkZW0gTmFtZW4gXHUyMDFlTm9ybWVuYXVzc2NodVx1MDBkZiBkZXIgZGV1dHNjaGVuIEluZHVzdHJpZVx1MjAxYyBnZWdyXHUwMGZjbmRldC4gRWluZSBlcnN0ZSBVbWJlbmVubnVuZyBlcmZvbGd0ZSAxOTI2IHp1IFx1MjAxZURldXRzY2hlciBOb3JtZW5hdXNzY2h1XHUwMGRmXHUyMDFjLCB1bSBhdXN6dWRyXHUwMGZjY2tlbiwgZGFzcyBzaWNoIGRhcyBBcmJlaXRzZ2ViaWV0IG5pY2h0IG1laHIgYXVmIGRpZSBJbmR1c3RyaWUgYmVzY2hyXHUwMGU0bmt0ZS4gRGVyIGhldXRpZ2UgTmFtZSBcdTIwMWVESU4gRGV1dHNjaGVzIEluc3RpdHV0IGZcdTAwZmNyIE5vcm11bmcgZS5WLlx1MjAxYyB3dXJkZSAxOTc1IGltIFp1c2FtbWVuaGFuZyBtaXQgZGVtIHp3aXNjaGVuIGRlciBPcmdhbmlzYXRpb24gdW5kIGRlciBCdW5kZXNyZXB1YmxpayBEZXV0c2NobGFuZCBhYmdlc2NobG9zc2VuZW4gTm9ybWVudmVydHJhZyBnZXdcdTAwZTRobHQuIEVpbmUgdW50ZXIgZGVyIExlaXR1bmcgdm9uIEFyYmVpdHNhdXNzY2hcdTAwZmNzc2VuIGRpZXNlciBOb3JtdW5nc29yZ2FuaXNhdGlvbiBlcmFyYmVpdGV0ZSBOb3JtIHdpcmQgYWxzIERJTi1Ob3JtIGJlemVpY2huZXQuIERhcyBEZXV0c2NoZSBJbnN0aXR1dCBmXHUwMGZjciBOb3JtdW5nIGlzdCBlaW4gZWluZ2V0cmFnZW5lciBWZXJlaW4sIHdpcmQgcHJpdmF0d2lydHNjaGFmdGxpY2ggZ2V0cmFnZW4gdW5kIGJlaSBzZWluZW4gZXVyb3BcdTAwZTRpc2NoZW4gdW5kIGludGVybmF0aW9uYWxlbiBOb3JtdW5nc2FrdGl2aXRcdTAwZTR0ZW4gdm9uIGRlciBCdW5kZXNyZXB1YmxpayBEZXV0c2NobGFuZCBhbHMgZWluemlnZSBuYXRpb25hbGUgTm9ybXVuZ3NvcmdhbmlzYXRpb24gdW50ZXJzdFx1MDBmY3R6dC4gRXMgYmlldGV0IGRlbiBzb2dlbmFubnRlbiBcdTIwMWVpbnRlcmVzc2llcnRlbiBLcmVpc2VuXHUyMDFjIChIZXJzdGVsbGVyLCBIYW5kZWwsIEluZHVzdHJpZSwgV2lzc2Vuc2NoYWZ0LCBWZXJicmF1Y2hlciwgUHJcdTAwZmNmaW5zdGl0dXRlIHVuZCBCZWhcdTAwZjZyZGVuKSBlaW4gRm9ydW0sIGltIEtvbnNlbnN2ZXJmYWhyZW4gTm9ybWVuIHp1IGVyYXJiZWl0ZW4uIERlciBpbnRlcmVzc2llcnRlIEtyZWlzIGRlciBWZXJicmF1Y2hlciB3aXJkIGR1cmNoIGRlbiZuYnNwO1ZlcmJyYXVjaGVycmF0IGRlcyBESU4gdmVydHJldGVuLiBEYXMgRElOIGlzdCBNaXRnbGllZCBkZXIgRXVyb3BcdTAwZTRpc2NoZW4gQmV3ZWd1bmcgRGV1dHNjaGxhbmRzLiZuYnNwOzxcL3A+XHJcblxyXG48cD5UaGUgR2VybWFuIEluc3RpdHV0ZSBmb3IgU3RhbmRhcmRpemF0aW9uIChESU4pIGlzIHRoZSBtb3N0IGltcG9ydGFudCBuYXRpb25hbCBzdGFuZGFyZHMgb3JnYW5pemF0aW9uIGluIHRoZSBGZWRlcmFsIFJlcHVibGljIG9mIEdlcm1hbnkuIEl0IHdhcyBmb3VuZGVkIG9uIERlY2VtYmVyIDIyLCAxOTE3IHVuZGVyIHRoZSBuYW1lIFx1MjAxY1N0YW5kYXJkcyBDb21taXR0ZWUgb2YgR2VybWFuIEluZHVzdHJ5XHUyMDFkLiBJdCB3YXMgZmlyc3QgcmVuYW1lZCBcdTIwMWNHZXJtYW4gU3RhbmRhcmRzIENvbW1pdHRlZVx1MjAxZCBpbiAxOTI2IHRvIGV4cHJlc3MgdGhlIGZhY3QgdGhhdCBpdHMgZmllbGQgb2YgYWN0aXZpdHkgd2FzIG5vIGxvbmdlciBsaW1pdGVkIHRvIGluZHVzdHJ5LiBUaGUgY3VycmVudCBuYW1lIFx1MjAxY0RJTiBEZXV0c2NoZXMgSW5zdGl0dXQgZlx1MDBmY3IgTm9ybXVuZyBlLlYuXHUyMDFkIHdhcyBjaG9zZW4gaW4gMTk3NSBpbiBjb25uZWN0aW9uIHdpdGggdGhlIHN0YW5kYXJkcyBhZ3JlZW1lbnQgY29uY2x1ZGVkIGJldHdlZW4gdGhlIG9yZ2FuaXphdGlvbiBhbmQgdGhlIEZlZGVyYWwgUmVwdWJsaWMgb2YgR2VybWFueS4gQSBzdGFuZGFyZCBkZXZlbG9wZWQgdW5kZXIgdGhlIGRpcmVjdGlvbiBvZiB3b3JraW5nIGNvbW1pdHRlZXMgb2YgdGhpcyBzdGFuZGFyZGl6YXRpb24gb3JnYW5pemF0aW9uIGlzIHJlZmVycmVkIHRvIGFzIGEgRElOIHN0YW5kYXJkLiBUaGUgR2VybWFuIEluc3RpdHV0ZSBmb3IgU3RhbmRhcmRpemF0aW9uIGlzIGEgcmVnaXN0ZXJlZCBhc3NvY2lhdGlvbiwgcHJpdmF0ZWx5IGZ1bmRlZCBhbmQgc3VwcG9ydGVkIGluIGl0cyBFdXJvcGVhbiBhbmQgaW50ZXJuYXRpb25hbCBzdGFuZGFyZGl6YXRpb24gYWN0aXZpdGllcyBieSB0aGUgRmVkZXJhbCBSZXB1YmxpYyBvZiBHZXJtYW55IGFzIHRoZSBvbmx5IG5hdGlvbmFsIHN0YW5kYXJkcyBvcmdhbml6YXRpb24uIEl0IG9mZmVycyB0aGUgc28tY2FsbGVkIFx1MjAxY2ludGVyZXN0ZWQgcGFydGllc1x1MjAxZCAobWFudWZhY3R1cmVycywgdHJhZGUsIGluZHVzdHJ5LCBzY2llbmNlLCBjb25zdW1lcnMsIHRlc3RpbmcgaW5zdGl0dXRlcyBhbmQgYXV0aG9yaXRpZXMpIGEgZm9ydW0gZm9yIGRldmVsb3Bpbmcgc3RhbmRhcmRzIGJ5IGNvbnNlbnN1cy4gVGhlIGNvbnN1bWVyIGludGVyZXN0IGdyb3VwIGlzIHJlcHJlc2VudGVkIGJ5IHRoZSBESU4gQ29uc3VtZXIgQ291bmNpbC4gRElOIGlzIGEgbWVtYmVyIG9mIHRoZSBFdXJvcGVhbiBNb3ZlbWVudCBvZiBHZXJtYW55LiBUaGUgR2VybWFuIEluc3RpdHV0ZSBmb3IgU3RhbmRhcmRpemF0aW9uIChESU4pIGlzIHRoZSBtb3N0IGltcG9ydGFudCBuYXRpb25hbCBzdGFuZGFyZGl6YXRpb24gb3JnYW5pemF0aW9uIGluIHRoZSBGZWRlcmFsIFJlcHVibGljIG9mIEdlcm1hbnkuIEl0IHdhcyBmb3VuZGVkIG9uIERlY2VtYmVyIDIyLCAxOTE3IHVuZGVyIHRoZSBuYW1lIFx1MjAxY05vcm1lbmF1c3NjaHVcdTAwZGYgZGVyIGQ8XC9wPlxyXG5cclxuPHA+REU8XC9wPiIsImNvbG9yIjoiIiwiYmFja2dyb3VuZENvbG9yIjoiIiwibnVtTGluZXMiOjIwLCJmaXJzdE9mVGhyZWUiOm51bGx9LHsiaWQiOiIyODY4OSIsInR5cGUiOiJ0ZXh0Iiwid2lkdGgiOiJzbWFsbCIsImRpc3BsYXlvbiI6WyJtb2JpbGUiXSwiYWx0ZXJuYXRlcyI6W3siX2lkIjoiMjg2OTAiLCJpbmRleCI6MCwidGl0bGUiOiIiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTU5MzUnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJmb250U2l6ZSI6IjE4IiwibGluZUhlaWdodCI6IjIyIiwibGV0dGVyU3BhY2luZyI6IjAuMDVlbSIsImhlaWdodEFkZGl0aW9uIjowLCJwYWRkaW5nbHIiOmZhbHNlLCJmb250RmVhdHVyZVNldHRpbmdzIjoiIn1dLCJjb250ZW50cyI6W10sInRpdGxlIjoiQm9sZCIsImluZGV4IjowLCJ0ZXh0IjoiPHA+RGFzIERldXRzY2hlIEluc3RpdHV0IGZcdTAwZmNyIE5vcm11bmcgZS5WLiAoRElOKSBpc3QgZGllIGJlZGV1dGVuZHN0ZSBuYXRpb25hbGUgTm9ybXVuZ3NvcmdhbmlzYXRpb24gaW4gZGVyIEJ1bmRlc3JlcHVibGlrIERldXRzY2hsYW5kLiBTaWUgd3VyZGUgYW0gMjIuIERlemVtYmVyIDE5MTcgdW50ZXIgZGVtIE5hbWVuIFx1MjAxZU5vcm1lbmF1c3NjaHVcdTAwZGYgZGVyIGRldXRzY2hlbiBJbmR1c3RyaWVcdTIwMWMgZ2Vnclx1MDBmY25kZXQuIEVpbmUgZXJzdGUgVW1iZW5lbm51bmcgZXJmb2xndGUgMTkyNiB6dSBcdTIwMWVEZXV0c2NoZXIgTm9ybWVuYXVzc2NodVx1MDBkZlx1MjAxYywgdW0gYXVzenVkclx1MDBmY2NrZW4sIGRhc3Mgc2ljaCBkYXMgQXJiZWl0c2dlYmlldCBuaWNodCBtZWhyIGF1ZiBkaWUgSW5kdXN0cmllIGJlc2Noclx1MDBlNG5rdGUuIERlciBoZXV0aWdlIE5hbWUgXHUyMDFlRElOIERldXRzY2hlcyBJbnN0aXR1dCBmXHUwMGZjciBOb3JtdW5nIGUuVi5cdTIwMWMgd3VyZGUgMTk3NSBpbSBadXNhbW1lbmhhbmcgbWl0IGRlbSB6d2lzY2hlbiBkZXIgT3JnYW5pc2F0aW9uIHVuZCBkZXIgQnVuZGVzcmVwdWJsaWsgRGV1dHNjaGxhbmQgYWJnZXNjaGxvc3NlbmVuIE5vcm1lbnZlcnRyYWcgZ2V3XHUwMGU0aGx0LiBFaW5lIHVudGVyIGRlciBMZWl0dW5nIHZvbiBBcmJlaXRzYXVzc2NoXHUwMGZjc3NlbiBkaWVzZXIgTm9ybXVuZ3NvcmdhbmlzYXRpb24gZXJhcmJlaXRldGUgTm9ybSB3aXJkIGFscyBESU4tTm9ybSBiZXplaWNobmV0LiBEYXMgRGV1dHNjaGUgSW5zdGl0dXQgZlx1MDBmY3IgTm9ybXVuZyBpc3QgZWluIGVpbmdldHJhZ2VuZXIgVmVyZWluLCB3aXJkIHByaXZhdHdpcnRzY2hhZnRsaWNoIGdldHJhZ2VuIHVuZCBiZWkgc2VpbmVuIGV1cm9wXHUwMGU0aXNjaGVuIHVuZCBpbnRlcm5hdGlvbmFsZW4gTm9ybXVuZ3Nha3Rpdml0XHUwMGU0dGVuIHZvbiBkZXIgQnVuZGVzcmVwdWJsaWsgRGV1dHNjaGxhbmQgYWxzIGVpbnppZ2UgbmF0aW9uYWxlIE5vcm11bmdzb3JnYW5pc2F0aW9uIHVudGVyc3RcdTAwZmN0enQuIEVzIGJpZXRldCBkZW4gc29nZW5hbm50ZW4gXHUyMDFlaW50ZXJlc3NpZXJ0ZW4gS3JlaXNlblx1MjAxYyAoSGVyc3RlbGxlciwgSGFuZGVsLCBJbmR1c3RyaWUsIFdpc3NlbnNjaGFmdCwgVmVyYnJhdWNoZXIsIFByXHUwMGZjZmluc3RpdHV0ZSB1bmQgQmVoXHUwMGY2cmRlbikgZWluIEZvcnVtLCBpbSBLb25zZW5zdmVyZmFocmVuIE5vcm1lbiB6dSBlcmFyYmVpdGVuLiBEZXIgaW50ZXJlc3NpZXJ0ZSBLcmVpcyBkZXIgVmVyYnJhdWNoZXIgd2lyZCBkdXJjaCBkZW4mbmJzcDtWZXJicmF1Y2hlcnJhdCBkZXMgRElOIHZlcnRyZXRlbi4gRGFzIERJTiBpc3QgTWl0Z2xpZWQgZGVyIEV1cm9wXHUwMGU0aXNjaGVuIEJld2VndW5nIERldXRzY2hsYW5kcy4gRGFzIERldXRzY2hlIEluc3RpdHV0IGZcdTAwZmNyIE5vcm11bmcgZS5WLiAoRElOKSBpc3QgZGllIGJlZGV1dGVuZHN0ZSBuYXRpb25hbGUgTm9ybXVuZ3NvcmdhbmlzYXRpb24gaW4gZGVyIEJ1bmRlc3JlcHVibGlrIERldXRzY2hsYW5kLiBTaWUgd3VyZGUgYW0gMjIuIERlemVtYmVyIDE5MTcgdW50ZXIgZGVtIE5hbWVuIFx1MjAxZU5vcm1lbmF1c3NjaHVcdTAwZGYgZGVyIGRldXRzY2hlbiBJbmR1c3RyaWVcdTIwMWMgZ2Vnclx1MDBmY25kZXQuIEVpbmUgZXJzdGUgVW1iZW5lbm51bmcgZXJmb2xndGUgMTkyNiB6dSBcdTIwMWVEZXV0c2NoZXIgTm9ybWVuYXVzc2NodVx1MDBkZlx1MjAxYywgdW0gYXVzenVkclx1MDBmY2NrZW4sIGRhc3Mgc2ljaCBkYXMgQXJiZWl0c2dlYmlldCBuaWNodCBtZWhyIGF1ZiBkaWUgSW5kdXN0cmllIGJlc2Noclx1MDBlNG5rdGUuIERlciBoZXV0aWdlIE5hbWUgXHUyMDFlRElOIERldXRzY2hlcyBJbnN0aXR1dCBmXHUwMGZjciBOb3JtdW5nIGUuVi5cdTIwMWMgd3VyZGUgMTk3NSBpbSBadXNhbW1lbmhhbmcgbWl0IGRlbSB6d2lzY2hlbiBkZXIgT3JnYW5pc2F0aW9uIHVuZCBkZXIgQnVuZGVzcmVwdWJsaWsgRGV1dHNjaGxhbmQgYWJnZXNjaGxvc3NlbmVuIE5vcm1lbnZlcnRyYWcgZ2V3XHUwMGU0aGx0LiBFaW5lIHVudGVyIGRlciBMZWl0dW5nIHZvbiBBcmJlaXRzYXVzc2NoXHUwMGZjc3NlbiBkaWVzZXIgTm9ybXVuZ3NvcmdhbmlzYXRpb24gZXJhcmJlaXRldGUgTm9ybSB3aXJkIGFscyBESU4tTm9ybSBiZXplaWNobmV0LiBEYXMgRGV1dHNjaGUgSW5zdGl0dXQgZlx1MDBmY3IgTm9ybXVuZyBpc3QgZWluIGVpbmdldHJhZ2VuZXIgVmVyZWluLCB3aXJkIHByaXZhdHdpcnRzY2hhZnRsaWNoIGdldHJhZ2VuIHVuZCBiZWkgc2VpbmVuIGV1cm9wXHUwMGU0aXNjaGVuIHVuZCBpbnRlcm5hdGlvbmFsZW4gTm9ybXVuZ3Nha3Rpdml0XHUwMGU0dGVuIHZvbiBkZXIgQnVuZGVzcmVwdWJsaWsgRGV1dHNjaGxhbmQgYWxzIGVpbnppZ2UgbmF0aW9uYWxlIE5vcm11bmdzb3JnYW5pc2F0aW9uIHVudGVyc3RcdTAwZmN0enQuIEVzIGJpZXRldCBkZW4gc29nZW5hbm50ZW4gXHUyMDFlaW50ZXJlc3NpZXJ0ZW4gS3JlaXNlblx1MjAxYyAoSGVyc3RlbGxlciwgSGFuZGVsLCBJbmR1c3RyaWUsIFdpc3NlbnNjaGFmdCwgVmVyYnJhdWNoZXIsIFByXHUwMGZjZmluc3RpdHV0ZSB1bmQgQmVoXHUwMGY2cmRlbikgZWluIEZvcnVtLCBpbSBLb25zZW5zdmVyZmFocmVuIE5vcm1lbiB6dSBlcmFyYmVpdGVuLiBEZXIgaW50ZXJlc3NpZXJ0ZSBLcmVpcyBkZXIgVmVyYnJhdWNoZXIgd2lyZCBkdXJjaCBkZW4mbmJzcDtWZXJicmF1Y2hlcnJhdCBkZXMgRElOIHZlcnRyZXRlbi4gRGFzIERJTiBpc3QgTWl0Z2xpZWQgZGVyIEV1cm9wXHUwMGU0aXNjaGVuIEJld2VndW5nIERldXRzY2hsYW5kcy4mbmJzcDs8XC9wPlxyXG5cclxuPHA+VGhlIEdlcm1hbiBJbnN0aXR1dGUgZm9yIFN0YW5kYXJkaXphdGlvbiAoRElOKSBpcyB0aGUgbW9zdCBpbXBvcnRhbnQgbmF0aW9uYWwgc3RhbmRhcmRzIG9yZ2FuaXphdGlvbiBpbiB0aGUgRmVkZXJhbCBSZXB1YmxpYyBvZiBHZXJtYW55LiBJdCB3YXMgZm91bmRlZCBvbiBEZWNlbWJlciAyMiwgMTkxNyB1bmRlciB0aGUgbmFtZSBcdTIwMWNTdGFuZGFyZHMgQ29tbWl0dGVlIG9mIEdlcm1hbiBJbmR1c3RyeVx1MjAxZC4gSXQgd2FzIGZpcnN0IHJlbmFtZWQgXHUyMDFjR2VybWFuIFN0YW5kYXJkcyBDb21taXR0ZWVcdTIwMWQgaW4gMTkyNiB0byBleHByZXNzIHRoZSBmYWN0IHRoYXQgaXRzIGZpZWxkIG9mIGFjdGl2aXR5IHdhcyBubyBsb25nZXIgbGltaXRlZCB0byBpbmR1c3RyeS4gVGhlIGN1cnJlbnQgbmFtZSBcdTIwMWNESU4gRGV1dHNjaGVzIEluc3RpdHV0IGZcdTAwZmNyIE5vcm11bmcgZS5WLlx1MjAxZCB3YXMgY2hvc2VuIGluIDE5NzUgaW4gY29ubmVjdGlvbiB3aXRoIHRoZSBzdGFuZGFyZHMgYWdyZWVtZW50IGNvbmNsdWRlZCBiZXR3ZWVuIHRoZSBvcmdhbml6YXRpb24gYW5kIHRoZSBGZWRlcmFsIFJlcHVibGljIG9mIEdlcm1hbnkuIEEgc3RhbmRhcmQgZGV2ZWxvcGVkIHVuZGVyIHRoZSBkaXJlY3Rpb24gb2Ygd29ya2luZyBjb21taXR0ZWVzIG9mIHRoaXMgc3RhbmRhcmRpemF0aW9uIG9yZ2FuaXphdGlvbiBpcyByZWZlcnJlZCB0byBhcyBhIERJTiBzdGFuZGFyZC4gVGhlIEdlcm1hbiBJbnN0aXR1dGUgZm9yIFN0YW5kYXJkaXphdGlvbiBpcyBhIHJlZ2lzdGVyZWQgYXNzb2NpYXRpb24sIHByaXZhdGVseSBmdW5kZWQgYW5kIHN1cHBvcnRlZCBpbiBpdHMgRXVyb3BlYW4gYW5kIGludGVybmF0aW9uYWwgc3RhbmRhcmRpemF0aW9uIGFjdGl2aXRpZXMgYnkgdGhlIEZlZGVyYWwgUmVwdWJsaWMgb2YgR2VybWFueSBhcyB0aGUgb25seSBuYXRpb25hbCBzdGFuZGFyZHMgb3JnYW5pemF0aW9uLiBJdCBvZmZlcnMgdGhlIHNvLWNhbGxlZCBcdTIwMWNpbnRlcmVzdGVkIHBhcnRpZXNcdTIwMWQgKG1hbnVmYWN0dXJlcnMsIHRyYWRlLCBpbmR1c3RyeSwgc2NpZW5jZSwgY29uc3VtZXJzLCB0ZXN0aW5nIGluc3RpdHV0ZXMgYW5kIGF1dGhvcml0aWVzKSBhIGZvcnVtIGZvciBkZXZlbG9waW5nIHN0YW5kYXJkcyBieSBjb25zZW5zdXMuIFRoZSBjb25zdW1lciBpbnRlcmVzdCBncm91cCBpcyByZXByZXNlbnRlZCBieSB0aGUgRElOIENvbnN1bWVyIENvdW5jaWwuIERJTiBpcyBhIG1lbWJlciBvZiB0aGUgRXVyb3BlYW4gTW92ZW1lbnQgb2YgR2VybWFueS4gVGhlIEdlcm1hbiBJbnN0aXR1dGUgZm9yIFN0YW5kYXJkaXphdGlvbiAoRElOKSBpcyB0aGUgbW9zdCBpbXBvcnRhbnQgbmF0aW9uYWwgc3RhbmRhcmRpemF0aW9uIG9yZ2FuaXphdGlvbiBpbiB0aGUgRmVkZXJhbCBSZXB1YmxpYyBvZiBHZXJtYW55LiBJdCB3YXMgZm91bmRlZCBvbiBEZWNlbWJlciAyMiwgMTkxNyB1bmRlciB0aGUgbmFtZSBcdTIwMWNOb3JtZW5hdXNzY2h1XHUwMGRmIGRlciBkPFwvcD5cclxuXHJcbjxwPkRFPFwvcD4iLCJjb2xvciI6IiIsImJhY2tncm91bmRDb2xvciI6IiIsIm51bUxpbmVzIjoyMCwiZmlyc3RPZlRocmVlIjpudWxsfSx7ImlkIjoiMjY4NzEiLCJ0eXBlIjoidGV4dCIsIndpZHRoIjoic21hbGwiLCJkaXNwbGF5b24iOlsiZGVza3RvcCJdLCJhbHRlcm5hdGVzIjpbeyJfaWQiOiIyNjg3MiIsImluZGV4IjowLCJ0aXRsZSI6IiIsImZvbnRGYW1pbHkiOiInZm9udC0xNTkzNSciLCJmb250RmFtaWx5MiI6ZmFsc2UsImZvbnRTaXplIjoiMTUiLCJsaW5lSGVpZ2h0IjoiMTkiLCJsZXR0ZXJTcGFjaW5nIjoiMC4wNWVtIiwiaGVpZ2h0QWRkaXRpb24iOjAsInBhZGRpbmdsciI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJCb2xkIiwiaW5kZXgiOjAsInRleHQiOiI8cD5BdWZnYWJlIGRlcyBESU4gaXN0IGVzLCB6dW0gTnV0emVuIGRlciBBbGxnZW1laW5oZWl0IHVudGVyIFdhaHJ1bmcgZGVzIFx1MDBmNmZmZW50bGljaGVuIEludGVyZXNzZXMgZGllIE5vcm11bmcgYW56dXJlZ2VuLCB6dSBvcmdhbmlzaWVyZW4sIHp1IHN0ZXVlcm4gdW5kIHp1IG1vZGVyaWVyZW4uIERpZSBBcmJlaXRzZXJnZWJuaXNzZSBkaWVuZW4gZGVyIElubm92YXRpb24sIGRlciBSYXRpb25hbGlzaWVydW5nLCBWZXJzdFx1MDBlNG5kaWd1bmcgaW4gV2lydHNjaGFmdCwgV2lzc2Vuc2NoYWZ0LCBWZXJ3YWx0dW5nIHVuZCBcdTAwZDZmZmVudGxpY2hrZWl0LCBkZXIgU2ljaGVydW5nIHZvbiBHZWJyYXVjaHN0YXVnbGljaGtlaXQsIFF1YWxpdFx1MDBlNHRzc2ljaGVydW5nLCBLb21wYXRpYmlsaXRcdTAwZTR0LCBBdXN0YXVzY2hiYXJrZWl0LCBHZXN1bmRoZWl0LCBTaWNoZXJoZWl0LCBkZW0gVmVyYnJhdWNoZXJzY2h1dHosIEFyYmVpdHNzY2h1dHogdW5kIGRlbSBVbXdlbHRzY2h1dHouIEJlaSBpaHJlciBFcnN0ZWxsdW5nIHdpcmQgYW5nZXN0cmVidCwgZGFzcyBkaWUgYWxsZ2VtZWluIGFuZXJrYW5udGVuIFJlZ2VsbiBkZXIgVGVjaG5payBlaW5nZWhhbHRlbiB3ZXJkZW4gdW5kIGRlciBha3R1ZWxsZSBTdGFuZCBkZXIgVGVjaG5payBiZXJcdTAwZmNja3NpY2h0aWd0IHdpcmQuIERpZSBlbGVrdHJvdGVjaG5pc2NoZW4gVGhlbWVuIHdlcmRlbiB2b24gRElOIHVuZCBkZW0gZGV1dHNjaGVuIFZlcmJhbmQgZGVyIEVsZWt0cm90ZWNobmlrIChWREUpIGdlbWVpbnNhbSBpbiBkZXIgREtFIERldXRzY2hlIEtvbW1pc3Npb24gRWxla3Ryb3RlY2huaWsgRWxla3Ryb25payBJbmZvcm1hdGlvbnN0ZWNobmlrIGltIERJTiB1bmQgVkRFIGJlYXJiZWl0ZXQuIERhcyBESU4gYXJiZWl0ZXQgaW4gZGVuIGludGVybmF0aW9uYWxlbiB1bmQgZXVyb3BcdTAwZTRpc2NoZW4gTm9ybWVuZ3JlbWllbiBJU08gdW5kIENFTiB1bmQgaW4gZGVuIGVsZWt0cm90ZWNobmlzY2hlbiBPcmdhbmlzYXRpb25lbiBJRUMgdW5kIENFTkVMRUMgbWl0LCB1bSBkaWUgZGV1dHNjaGVuIEludGVyZXNzZW4genUgdmVydHJldGVuIHVuZCBkZW4gaW50ZXJuYXRpb25hbGVuIGZyZWllbiBXYXJlbnZlcmtlaHIgenUgZlx1MDBmNnJkZXJuLiBFcyBvcmdhbmlzaWVydCBkaWUgRWluZ2xpZWRlcnVuZyBpbnRlcm5hdGlvbmFsZXIgTm9ybWVuIGluIGRhcyBkZXV0c2NoZSBOb3JtZW53ZXJrLiBJbiBkZXIgU2Nod2VpeiBsZWlzdGV0IGRpZSBTY2h3ZWl6ZXJpc2NoZSBOb3JtZW4tVmVyZWluaWd1bmcgKFNOVikgdW5kIGluIFx1MDBkNnN0ZXJyZWljaCBkYXMgQXVzdHJpYW4gU3RhbmRhcmRzIEludGVybmF0aW9uYWwgKFx1MDBkNk5PUk0pIHZlcmdsZWljaGJhcmUgQXJiZWl0LiBBdWZnYWJlIGRlcyBESU4gaXN0IGVzLCB6dW0gTnV0emVuIGRlciBBbGxnZW1laW5oZWl0IHVudGVyIFdhaHJ1bmcgZGVzIFx1MDBmNmZmZW50bGljaGVuIEludGVyZXNzZXMgZGllIE5vcm11bmcgYW56dXJlZ2VuLCB6dSBvcmdhbmlzaWVyZW4sIHp1IHN0ZXVlcm4gdW5kIHp1IG1vZGVyaWVyZW4uIERpZSBBcmJlaXRzZXJnZWJuaXNzZSBkaWVuZW4gZGVyIElubm92YXRpb24sIGRlciBSYXRpb25hbGlzaWVydW5nLCBWZXJzdFx1MDBlNG5kaWd1bmcgaW4gV2lydHNjaGFmdCwgV2lzc2Vuc2NoYWZ0LCBWZXJ3YWx0dW5nIHVuZCBcdTAwZDZmZmVudGxpY2hrZWl0LCBkZXIgU2ljaGVydW5nIHZvbiBHZWJyYXVjaHN0YXVnbGljaGtlaXQsIFF1YWxpdFx1MDBlNHRzc2ljaGVydW5nLCBLb21wYXRpYmlsaXRcdTAwZTR0LCBBdXN0YXVzY2hiYXJrZWl0LCBHZXN1bmRoZWl0LCBTaWNoZXJoZWl0LCBkZW0gVmVyYnJhdWNoZXJzY2h1dHosIEFyYmVpdHNzY2h1dHogdW5kIGRlbSBVbXdlbHRzY2h1dHouIEJlaSBpaHJlciBFcnN0ZWxsdW5nIHdpcmQgYW5nZXN0cmVidCwgZGFzcyBkaWUgYWxsZ2VtZWluIGFuZXJrYW5udGVuIFJlZ2VsbiBkZXIgVGVjaG5payBlaW5nZWhhbHRlbiB3ZXJkZW4gdW5kIGRlciBha3R1ZWxsZSBTdGFuZCBkZXIgVGVjaG5payBiZXJcdTAwZmNja3NpY2h0aWd0IHdpcmQuIERpZSBlbGVrdHJvdGVjaG5pc2NoZW4gVGhlbWVuIHdlcmRlbiB2b24gRElOIHVuZCBkZW0gZGV1dHNjaGVuIFZlcmJhbmQgZGVyIEVsZWt0cm90ZWNobmlrIChWREUpIGdlbWVpbnNhbSBpbiBkZXIgREtFIERldXRzY2hlIEtvbW1pc3Npb24gRWxla3Ryb3RlY2huaWsgRWxla3Ryb25payBJbmZvcm1hdGlvbnN0ZWNobmlrIGltIERJTiB1bmQgVkRFIGJlYXJiZWl0ZXQuIERhcyBESU4gYXJiZWl0ZXQgaW4gZGVuIGludGVybmF0aW9uYWxlbiB1bmQgZXVyb3BcdTAwZTRpc2NoZW4gTm9ybWVuZ3JlbWllbiBJU08gdW5kIENFTiB1bmQgaW4gZGVuIGVsZWt0cm90ZWNobmlzY2hlbiBPcmdhbmlzYXRpb25lbiBJRUMgdW5kIENFTkVMRUMgbWl0LCB1bSBkaWUgZGV1dHNjaGVuIEludGVyZXNzZW4genUgdmVydHJldGVuIHVuZCBkZW4gaW50ZXJuYXRpb25hbGVuIGZyZWllbiBXYXJlbnZlcmtlaHIgenUgZlx1MDBmNnJkZXJuLiBFcyBvcmdhbmlzaWVydCBkaWUgRWluZ2xpZWRlcnVuZyBpbnRlcm5hdGlvbmFsZXIgTm9ybWVuIGluIGRhcyBkZXV0c2NoZSBOb3JtZW53ZXJrLiBJbiBkZXIgU2Nod2VpeiBsZWlzdGV0IGRpZSBTY2h3ZWl6ZXJpc2NoZSBOb3JtZW4tVmVyZWluaWd1bmcgKFNOVikgdW5kIGluIFx1MDBkNnN0ZXJyZWljaCBkYXMgQXVzdHJpYW4gU3RhbmRhcmRzIEludGVybmF0aW9uYWwgKFx1MDBkNk5PUk0pIHZlcmdsZWljaGJhcmUgQXJiZWl0LjxcL3A+IiwiY29sb3IiOiIiLCJiYWNrZ3JvdW5kQ29sb3IiOiIiLCJudW1MaW5lcyI6MjMsImZpcnN0T2ZUaHJlZSI6bnVsbH0seyJpZCI6IjI4NjkxIiwidHlwZSI6InRleHQiLCJ3aWR0aCI6InNtYWxsIiwiZGlzcGxheW9uIjpbIm1vYmlsZSJdLCJhbHRlcm5hdGVzIjpbeyJfaWQiOiIyODY5MiIsImluZGV4IjowLCJ0aXRsZSI6IiIsImZvbnRGYW1pbHkiOiInZm9udC0xNTkzNSciLCJmb250RmFtaWx5MiI6ZmFsc2UsImZvbnRTaXplIjoiMTUiLCJsaW5lSGVpZ2h0IjoiMTkiLCJsZXR0ZXJTcGFjaW5nIjoiMC4wNWVtIiwiaGVpZ2h0QWRkaXRpb24iOjAsInBhZGRpbmdsciI6ZmFsc2UsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIifV0sImNvbnRlbnRzIjpbXSwidGl0bGUiOiJCb2xkIiwiaW5kZXgiOjAsInRleHQiOiI8cD5BdWZnYWJlIGRlcyBESU4gaXN0IGVzLCB6dW0gTnV0emVuIGRlciBBbGxnZW1laW5oZWl0IHVudGVyIFdhaHJ1bmcgZGVzIFx1MDBmNmZmZW50bGljaGVuIEludGVyZXNzZXMgZGllIE5vcm11bmcgYW56dXJlZ2VuLCB6dSBvcmdhbmlzaWVyZW4sIHp1IHN0ZXVlcm4gdW5kIHp1IG1vZGVyaWVyZW4uIERpZSBBcmJlaXRzZXJnZWJuaXNzZSBkaWVuZW4gZGVyIElubm92YXRpb24sIGRlciBSYXRpb25hbGlzaWVydW5nLCBWZXJzdFx1MDBlNG5kaWd1bmcgaW4gV2lydHNjaGFmdCwgV2lzc2Vuc2NoYWZ0LCBWZXJ3YWx0dW5nIHVuZCBcdTAwZDZmZmVudGxpY2hrZWl0LCBkZXIgU2ljaGVydW5nIHZvbiBHZWJyYXVjaHN0YXVnbGljaGtlaXQsIFF1YWxpdFx1MDBlNHRzc2ljaGVydW5nLCBLb21wYXRpYmlsaXRcdTAwZTR0LCBBdXN0YXVzY2hiYXJrZWl0LCBHZXN1bmRoZWl0LCBTaWNoZXJoZWl0LCBkZW0gVmVyYnJhdWNoZXJzY2h1dHosIEFyYmVpdHNzY2h1dHogdW5kIGRlbSBVbXdlbHRzY2h1dHouIEJlaSBpaHJlciBFcnN0ZWxsdW5nIHdpcmQgYW5nZXN0cmVidCwgZGFzcyBkaWUgYWxsZ2VtZWluIGFuZXJrYW5udGVuIFJlZ2VsbiBkZXIgVGVjaG5payBlaW5nZWhhbHRlbiB3ZXJkZW4gdW5kIGRlciBha3R1ZWxsZSBTdGFuZCBkZXIgVGVjaG5payBiZXJcdTAwZmNja3NpY2h0aWd0IHdpcmQuIERpZSBlbGVrdHJvdGVjaG5pc2NoZW4gVGhlbWVuIHdlcmRlbiB2b24gRElOIHVuZCBkZW0gZGV1dHNjaGVuIFZlcmJhbmQgZGVyIEVsZWt0cm90ZWNobmlrIChWREUpIGdlbWVpbnNhbSBpbiBkZXIgREtFIERldXRzY2hlIEtvbW1pc3Npb24gRWxla3Ryb3RlY2huaWsgRWxla3Ryb25payBJbmZvcm1hdGlvbnN0ZWNobmlrIGltIERJTiB1bmQgVkRFIGJlYXJiZWl0ZXQuIERhcyBESU4gYXJiZWl0ZXQgaW4gZGVuIGludGVybmF0aW9uYWxlbiB1bmQgZXVyb3BcdTAwZTRpc2NoZW4gTm9ybWVuZ3JlbWllbiBJU08gdW5kIENFTiB1bmQgaW4gZGVuIGVsZWt0cm90ZWNobmlzY2hlbiBPcmdhbmlzYXRpb25lbiBJRUMgdW5kIENFTkVMRUMgbWl0LCB1bSBkaWUgZGV1dHNjaGVuIEludGVyZXNzZW4genUgdmVydHJldGVuIHVuZCBkZW4gaW50ZXJuYXRpb25hbGVuIGZyZWllbiBXYXJlbnZlcmtlaHIgenUgZlx1MDBmNnJkZXJuLiBFcyBvcmdhbmlzaWVydCBkaWUgRWluZ2xpZWRlcnVuZyBpbnRlcm5hdGlvbmFsZXIgTm9ybWVuIGluIGRhcyBkZXV0c2NoZSBOb3JtZW53ZXJrLiBJbiBkZXIgU2Nod2VpeiBsZWlzdGV0IGRpZSBTY2h3ZWl6ZXJpc2NoZSBOb3JtZW4tVmVyZWluaWd1bmcgKFNOVikgdW5kIGluIFx1MDBkNnN0ZXJyZWljaCBkYXMgQXVzdHJpYW4gU3RhbmRhcmRzIEludGVybmF0aW9uYWwgKFx1MDBkNk5PUk0pIHZlcmdsZWljaGJhcmUgQXJiZWl0LiBBdWZnYWJlIGRlcyBESU4gaXN0IGVzLCB6dW0gTnV0emVuIGRlciBBbGxnZW1laW5oZWl0IHVudGVyIFdhaHJ1bmcgZGVzIFx1MDBmNmZmZW50bGljaGVuIEludGVyZXNzZXMgZGllIE5vcm11bmcgYW56dXJlZ2VuLCB6dSBvcmdhbmlzaWVyZW4sIHp1IHN0ZXVlcm4gdW5kIHp1IG1vZGVyaWVyZW4uIERpZSBBcmJlaXRzZXJnZWJuaXNzZSBkaWVuZW4gZGVyIElubm92YXRpb24sIGRlciBSYXRpb25hbGlzaWVydW5nLCBWZXJzdFx1MDBlNG5kaWd1bmcgaW4gV2lydHNjaGFmdCwgV2lzc2Vuc2NoYWZ0LCBWZXJ3YWx0dW5nIHVuZCBcdTAwZDZmZmVudGxpY2hrZWl0LCBkZXIgU2ljaGVydW5nIHZvbiBHZWJyYXVjaHN0YXVnbGljaGtlaXQsIFF1YWxpdFx1MDBlNHRzc2ljaGVydW5nLCBLb21wYXRpYmlsaXRcdTAwZTR0LCBBdXN0YXVzY2hiYXJrZWl0LCBHZXN1bmRoZWl0LCBTaWNoZXJoZWl0LCBkZW0gVmVyYnJhdWNoZXJzY2h1dHosIEFyYmVpdHNzY2h1dHogdW5kIGRlbSBVbXdlbHRzY2h1dHouIEJlaSBpaHJlciBFcnN0ZWxsdW5nIHdpcmQgYW5nZXN0cmVidCwgZGFzcyBkaWUgYWxsZ2VtZWluIGFuZXJrYW5udGVuIFJlZ2VsbiBkZXIgVGVjaG5payBlaW5nZWhhbHRlbiB3ZXJkZW4gdW5kIGRlciBha3R1ZWxsZSBTdGFuZCBkZXIgVGVjaG5payBiZXJcdTAwZmNja3NpY2h0aWd0IHdpcmQuIERpZSBlbGVrdHJvdGVjaG5pc2NoZW4gVGhlbWVuIHdlcmRlbiB2b24gRElOIHVuZCBkZW0gZGV1dHNjaGVuIFZlcmJhbmQgZGVyIEVsZWt0cm90ZWNobmlrIChWREUpIGdlbWVpbnNhbSBpbiBkZXIgREtFIERldXRzY2hlIEtvbW1pc3Npb24gRWxla3Ryb3RlY2huaWsgRWxla3Ryb25payBJbmZvcm1hdGlvbnN0ZWNobmlrIGltIERJTiB1bmQgVkRFIGJlYXJiZWl0ZXQuIERhcyBESU4gYXJiZWl0ZXQgaW4gZGVuIGludGVybmF0aW9uYWxlbiB1bmQgZXVyb3BcdTAwZTRpc2NoZW4gTm9ybWVuZ3JlbWllbiBJU08gdW5kIENFTiB1bmQgaW4gZGVuIGVsZWt0cm90ZWNobmlzY2hlbiBPcmdhbmlzYXRpb25lbiBJRUMgdW5kIENFTkVMRUMgbWl0LCB1bSBkaWUgZGV1dHNjaGVuIEludGVyZXNzZW4genUgdmVydHJldGVuIHVuZCBkZW4gaW50ZXJuYXRpb25hbGVuIGZyZWllbiBXYXJlbnZlcmtlaHIgenUgZlx1MDBmNnJkZXJuLiBFcyBvcmdhbmlzaWVydCBkaWUgRWluZ2xpZWRlcnVuZyBpbnRlcm5hdGlvbmFsZXIgTm9ybWVuIGluIGRhcyBkZXV0c2NoZSBOb3JtZW53ZXJrLiBJbiBkZXIgU2Nod2VpeiBsZWlzdGV0IGRpZSBTY2h3ZWl6ZXJpc2NoZSBOb3JtZW4tVmVyZWluaWd1bmcgKFNOVikgdW5kIGluIFx1MDBkNnN0ZXJyZWljaCBkYXMgQXVzdHJpYW4gU3RhbmRhcmRzIEludGVybmF0aW9uYWwgKFx1MDBkNk5PUk0pIHZlcmdsZWljaGJhcmUgQXJiZWl0LjxcL3A+IiwiY29sb3IiOiIiLCJiYWNrZ3JvdW5kQ29sb3IiOiIiLCJudW1MaW5lcyI6MjMsImZpcnN0T2ZUaHJlZSI6bnVsbH0seyJpZCI6IjI4NjE3IiwidHlwZSI6InNhbXBsZSIsIndpZHRoIjoieGxhcmdlIiwiZGlzcGxheW9uIjpbImRlc2t0b3AiXSwiYWx0ZXJuYXRlcyI6W10sImNvbnRlbnRzIjpbeyJpbmRleCI6MCwidHlwZSI6InRleHQiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTU5MzUnIiwiZm9udEZhbWlseTIiOmZhbHNlLCJsaW5lSGVpZ2h0IjoiMSIsImxldHRlclNwYWNpbmciOiItMC4wMWVtIiwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IiIsIm1hcmdpblRvcCI6Ii0wLjE1ZW0iLCJ0ZXh0IjoiTWVhc3VyZSBUd2ljZSwgPGJyIFwvPlxyXG5DdXQgT25jZS4iLCJjb2xvciI6IjAwMDAwMCIsImJhY2tncm91bmRDb2xvciI6bnVsbCwiaGlkZUJvcmRlciI6ZmFsc2V9XSwiaW5kZXgiOjAsInRpdGxlIjoiQm9sZCIsInJhdGlvIjoiMy4zMyIsInJlc2l6ZWdyb3VwIjpudWxsfSx7ImlkIjoiMjg3MDkiLCJ0eXBlIjoic2FtcGxlIiwid2lkdGgiOiJ4bGFyZ2UiLCJkaXNwbGF5b24iOlsibW9iaWxlIl0sImFsdGVybmF0ZXMiOltdLCJjb250ZW50cyI6W3siaW5kZXgiOjAsInR5cGUiOiJ0ZXh0IiwiZm9udEZhbWlseSI6Iidmb250LTE1OTM1JyIsImZvbnRGYW1pbHkyIjpmYWxzZSwibGluZUhlaWdodCI6IjAuOTUiLCJsZXR0ZXJTcGFjaW5nIjoiLTAuMDFlbSIsImZvbnRGZWF0dXJlU2V0dGluZ3MiOiIiLCJtYXJnaW5Ub3AiOiItMC4xNWVtIiwidGV4dCI6Ik1lYXN1cmUgPGJyIFwvPlxyXG5Ud2ljZSwgPGJyIFwvPlxyXG5DdXQgT25jZS4iLCJjb2xvciI6IjAwMDAwMCIsImJhY2tncm91bmRDb2xvciI6bnVsbCwiaGlkZUJvcmRlciI6ZmFsc2V9XSwiaW5kZXgiOjAsInRpdGxlIjoiQm9sZCIsInJhdGlvIjoiMS41NCIsInJlc2l6ZWdyb3VwIjpudWxsfV0=

Special Features

1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9
9

Typetester

eyJmb250cyI6W3siX2lkIjoiMTUyNzMiLCJuYW1lIjoiUmVndWxhciIsImZvbnRGYW1pbHkiOiInZm9udC0xNTI3MycifSx7Il9pZCI6IjE1OTM1IiwibmFtZSI6IkJvbGQiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTU5MzUnIn0seyJfaWQiOiIxNTkzNiIsIm5hbWUiOiJJdGFsaWMiLCJmb250RmFtaWx5IjoiJ2ZvbnQtMTU5MzYnIn1dLCJzdHlsaXN0aWNzZXRzIjpbeyJpbmRleCI6MCwiX2lkIjoiMjg4MzQiLCJ0aXRsZSI6IlN0YWNrZWQiLCJmb250RmVhdHVyZVNldHRpbmdzIjoiJ3NzMDEnIn0seyJpbmRleCI6MSwiX2lkIjoiMjg4MzkiLCJ0aXRsZSI6IjAyIiwiZm9udEZlYXR1cmVTZXR0aW5ncyI6IidzczAyJyJ9XSwidmFyaWFibGVheGVzIjpbXSwicHJlc2V0cyI6W119
{{selectedFont.name}}
  • {{font.name}}
{{selectedPreset.title}}
  • {{preset.title}}
Stylistic Set
  • {{String.fromCharCode(9461 + alternate.index)}} {{String.fromCharCode(10112 + alternate.index)}} {{String.fromCharCode(10122 + alternate.index)}}
{{selectedAlternate.title}}
{{axis.title}}

Glyphs Overview

Letters

A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z

Figures

0
1
2
3
4
5
6
7
8
9

Latin Supplement and Extension

Á
Ă
Â
Ä
À
Ā
Ą
Å
Ã
Æ
Ǽ
Ć
Č
Ç
Ĉ
Ċ
Ð
Ď
Đ
É
Ě
Ê
Ë
Ė
È
Ē
Ę
Ğ
Ĝ
Ģ
Ġ
Ĥ
Í
Î
Ï
İ
Ì
Ī
Į
Ķ
Ĺ
Ľ
Ļ
Ŀ
Ł
Ń
Ň
Ņ
Ñ
Ó
Ô
Ö
Ò
Ő
Ō
Ø
Õ
Œ
Þ
Ŕ
Ř
Ŗ
Ś
Š
Ş
Ŝ
Ș
Ť
Ţ
Ț
Ú
Ŭ
Û
Ü
Ù
Ű
Ū
Ų
Ů
Ũ
Ŵ
Ý
Ŷ
Ÿ
Ź
Ž
Ż
á
ă
â
ä
à
ā
ą
å
ã
æ
ǽ
ć
č
ç
ĉ
ċ
ð
ď
đ
é
ě
ê
ë
ė
è
ē
ę
ğ
ĝ
ģ
ġ
ĥ
ı
í
î
ï
ì
ī
į
ȷ
ķ
ĺ
ľ
ļ
ŀ
ł
ń
ň
ņ
ñ
ó
ô
ö
ò
ő
ō
ø
õ
œ
þ
ŕ
ř
ŗ
ś
š
ş
ŝ
ș
ß
ť
ţ
ț
ú
ŭ
û
ü
ù
ű
ū
ų
ů
ũ
ŵ
ý
ŷ
ÿ
ź
ž
ż

Ligatures

fi
fl
ff
ffi
ffl

Stylistic Sets

½
¼
¾

Punctuation and Symbols

.
,
:
;
¡
!
¿
?
(
)
[
]
{
}
*
@
&
#
|
%
©
®
-
_
°
/
\
«
»
'
"

Case Sensitive Forms

:
¡
¿
(
)
{
}
[
]
-
«
»

Superscript and Subscript

2
3
2
3

Fractions and Ordinals

½
¼
¾
0
1
2
3
4
5
6
7
8
9
0
1
2
3
4
5
6
7
8
9
ª
º

Currency and Mathematical Operators

$
¢
£
¥
+
×
÷
=
>
<
±
~

Tabular Figures

0
1
2
3
4
5
6
7
8
9

Square Figures

Circled Letters

Roman Numbers

Arrows

OpenType Features

Case Sensitive Forms

¿QUÉ TAL? ¡MUY BIEN!
[SIC] (PARENTHESES) {A,B}
RE: SUBJECT XLR-CABLE
« MERCI » DANKE
¿QUÉ TAL? ¡MUY BIEN!
[SIC] (PARENTHESES) {A,B}
RE: SUBJECT XLR-CABLE
« MERCI » DANKE

Contextual Alternates

23:55
23:55

Stylistic Set 1

1 ¼Mile ½Hour ¾Cup
1 ¼Mile ½Hour ¾Cup

Tabular Figures

100 EUR
111 CHF
100 EUR
111 CHF

Superscript

NASA®
NASA®

Information

Technical Data

Encoding:Latin Extended
File Formats:OTF, TTF, WOFF, WOFF2
Version:1.0

Download

Specimen PDF
Trial Fonts

Language Support

Afrikaans, Albanian, Asu, Basque, Bemba, Bena, Bosnian, Catalan, Cebuano, Chiga, Colognian, Cornish, Corsican, Croatian, Czech, Danish, Dutch, Embu, English, Esperanto, Estonian, Faroese, Filipino, Finnish, French, Friulian, Galician, German, Gusii, Hungarian, Icelandic, Ido, Indonesian, Interlingua, Irish, Italian, Javanese, Jju, Kabuverdianu, Kalaallisut, Kalenjin, Kamba, Kikuyu, Kinyarwanda, Kurdish, Latvian, Lithuanian, Lojban, Low German, Lower Sorbian, Luo, Luxembourgish, Luyia, Machame, Makhuwa-Meetto, Makonde, Malagasy, Malay, Maltese, Manx, Māori, Meru, Morisyen, North Ndebele, Northern Sotho, Norwegian Bokmål, Norwegian Nynorsk, Nyanja, Nyankole, Occitan, Oromo, Polish, Portuguese, Rejang, Romanian, Romansh, Rombo, Rundi, Rwa, Samburu, Sango, Sangu, Sardinian, Scottish Gaelic, Sena, Shambala, Shona, Slovak, Slovenian, Soga, Somali, South Ndebele, Southern Sotho, Spanish, Sundanese, Swahili, Swati, Swedish, Swiss German, Taita, Taroko, Teso, Tsonga, Tswana, Turkish, Turkmen, Upper Sorbian, Vunjo, Walloon, Walser, Welsh, Western Frisian, Wolastoqey, Xhosa, Zulu

Backstage
Log In
Backstage
{{cart.items.length}}
Go to Cart

Welcome to Source Type!
Accept cookies?