PGRpdiBzdHlsZT0iYmFja2dyb3VuZDojZmZmZmZmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDtwYWRkaW5nOjI4cHggMTZweCAzNHB4IDE2cHggIWltcG9ydGFudDtmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Y29sb3I6IzFhMWExYSAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50OyI+CgogIDxzY3JpcHQgdHlwZT0iYXBwbGljYXRpb24vbGQranNvbiI+CiAgewogICAgIkBjb250ZXh0IjogImh0dHBzOi8vc2NoZW1hLm9yZyIsCiAgICAiQGdyYXBoIjogWwogICAgICB7CiAgICAgICAgIkB0eXBlIjogIkFydGljbGUiLAogICAgICAgICJoZWFkbGluZSI6ICJJbnNpZGUgUHJvamVjdFJPQ0s6IEEgQ29tcHJlaGVuc2l2ZSBMb29rIGF0IGEgVW5pcXVlIEluZG9vciBDbGltYmluZyBHeW0iLAogICAgICAgICJhbHRlcm5hdGl2ZUhlYWRsaW5lIjogIkEgR3JlZW52aWxsZS1hcmVhIGNsaW1iaW5nIGZhY2lsaXR5IGJ1aWx0IGFyb3VuZCB0b3dlcmluZyB3YWxscywgbmF0dXJhbC1mZWF0dXJlIGRlc2lnbiwgeW91dGggcHJvZ3JhbXMsIGFuZCBhbiBleHBlcmllbmNlIG1lYW50IHRvIGZlZWwgd2VsY29taW5nIGZyb20gdGhlIG1vbWVudCBwZW9wbGUgYXJyaXZlLiIsCiAgICAgICAgImRlc2NyaXB0aW9uIjogIkFuIGVkaXRvcmlhbCBmZWF0dXJlIG9uIFByb2plY3RST0NLLCBhbiBpbmRvb3IgY2xpbWJpbmcgZ3ltIHNlcnZpbmcgdGhlIEdyZWVudmlsbGUgYXJlYSBhbmQgVXBzdGF0ZSBTb3V0aCBDYXJvbGluYSB3aXRoIHRhbGwgY2xpbWJpbmcgd2FsbHMsIGJvdWxkZXJpbmcsIHRvcCByb3BlIGFuZCBsZWFkIGNsaW1iaW5nLCB5b3V0aCBwcm9ncmFtcywgY2xpbmljcywgYW5kIGEgY29tbXVuaXR5LWNlbnRlcmVkIG1lbWJlciBleHBlcmllbmNlLiIsCiAgICAgICAgImF1dGhvciI6IHsKICAgICAgICAgICJAdHlwZSI6ICJQZXJzb24iLAogICAgICAgICAgIm5hbWUiOiAiRGFuaWVsIEZvcmQiCiAgICAgICAgfSwKICAgICAgICAicHVibGlzaGVyIjogewogICAgICAgICAgIkB0eXBlIjogIk9yZ2FuaXphdGlvbiIsCiAgICAgICAgICAibmFtZSI6ICJGaXRuZXNzIExpdmluZyBNYWdhemluZeKEoiIKICAgICAgICB9LAogICAgICAgICJhYm91dCI6IFsKICAgICAgICAgICJJbmRvb3IgY2xpbWJpbmcgZ3ltIiwKICAgICAgICAgICJHcmVlbnZpbGxlIGNsaW1iaW5nIGd5bSIsCiAgICAgICAgICAiVXBzdGF0ZSBTb3V0aCBDYXJvbGluYSBjbGltYmluZyIsCiAgICAgICAgICAiVG9wIHJvcGUgY2xpbWJpbmciLAogICAgICAgICAgIkxlYWQgY2xpbWJpbmciLAogICAgICAgICAgIkJvdWxkZXJpbmciLAogICAgICAgICAgIllvdXRoIGNsaW1iaW5nIHByb2dyYW1zIgogICAgICAgIF0sCiAgICAgICAgIm1haW5FbnRpdHlPZlBhZ2UiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiV2ViUGFnZSIsCiAgICAgICAgICAiQGlkIjogImh0dHBzOi8vcHJvamVjdHJvY2suY29tL2Vhc2xleS8iCiAgICAgICAgfQogICAgICB9LAogICAgICB7CiAgICAgICAgIkB0eXBlIjogIkZBUVBhZ2UiLAogICAgICAgICJtYWluRW50aXR5IjogWwogICAgICAgICAgewogICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAibmFtZSI6ICJXaGF0IG1ha2VzIHRoaXMgY2xpbWJpbmcgZ3ltIGRpZmZlcmVudCBmcm9tIGEgdHlwaWNhbCBpbmRvb3IgZmFjaWxpdHk/IiwKICAgICAgICAgICAgImFjY2VwdGVkQW5zd2VyIjogewogICAgICAgICAgICAgICJAdHlwZSI6ICJBbnN3ZXIiLAogICAgICAgICAgICAgICJ0ZXh0IjogIlRoZSBneW0gc3RhbmRzIG91dCBmb3IgaXRzIG5hdHVyYWwtZmVhdHVyZSBjbGltYmluZyB3YWxscyBpbnNwaXJlZCBieSByZWFsIG91dGRvb3IgZGVzdGluYXRpb25zLCB1bnVzdWFsbHkgdGFsbCBjbGltYmluZyB3YWxscywgYW5kIGEgbGF5b3V0IGRlc2lnbmVkIGZvciBib3RoIGZpcnN0LXRpbWUgY2xpbWJlcnMgYW5kIGV4cGVyaWVuY2VkIGF0aGxldGVzLiIKICAgICAgICAgICAgfQogICAgICAgICAgfSwKICAgICAgICAgIHsKICAgICAgICAgICAgIkB0eXBlIjogIlF1ZXN0aW9uIiwKICAgICAgICAgICAgIm5hbWUiOiAiV2hvIGlzIHRoaXMgZmFjaWxpdHkgYmVzdCBzdWl0ZWQgZm9yPyIsCiAgICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgICAidGV4dCI6ICJUaGUgZ3ltIHNlcnZlcyBhIGJyb2FkIG1peCBvZiBjbGltYmVycywgaW5jbHVkaW5nIHlvdW5nIHByb2Zlc3Npb25hbHMsIGZhbWlsaWVzLCBjaGlsZHJlbiBpbiB0ZWFtIGFuZCByZWNyZWF0aW9uIHByb2dyYW1zLCBiZWdpbm5lcnMsIGFuZCBleHBlcmllbmNlZCBjbGltYmVycyBsb29raW5nIGZvciBib3VsZGVyaW5nLCB0b3Agcm9wZSwgYW5kIGxlYWQgY2xpbWJpbmcgb3B0aW9ucy4iCiAgICAgICAgICAgIH0KICAgICAgICAgIH0sCiAgICAgICAgICB7CiAgICAgICAgICAgICJAdHlwZSI6ICJRdWVzdGlvbiIsCiAgICAgICAgICAgICJuYW1lIjogIkRvZXMgdGhlIGd5bSBvZmZlciBwcm9ncmFtcyBmb3Iga2lkcyBhbmQgYmVnaW5uZXJzPyIsCiAgICAgICAgICAgICJhY2NlcHRlZEFuc3dlciI6IHsKICAgICAgICAgICAgICAiQHR5cGUiOiAiQW5zd2VyIiwKICAgICAgICAgICAgICAidGV4dCI6ICJZZXMuIFRoZSBneW0gb2ZmZXJzIHlvdXRoIHRlYW0gYW5kIHJlY3JlYXRpb24gcHJvZ3JhbXMgZm9yIGFnZXMgNyB0byAxNywgYmVnaW5uZXItZnJpZW5kbHkgY2xpbWJpbmcgYXJlYXMsIHRvcCByb3BlIGJlbGF5IGNsYXNzZXMsIGFuZCBsZWFkIGNsaW5pY3MgdG8gaGVscCBuZXcgYW5kIHByb2dyZXNzaW5nIGNsaW1iZXJzIGJ1aWxkIHNraWxscyBzYWZlbHkuIgogICAgICAgICAgICB9CiAgICAgICAgICB9LAogICAgICAgICAgewogICAgICAgICAgICAiQHR5cGUiOiAiUXVlc3Rpb24iLAogICAgICAgICAgICAibmFtZSI6ICJXaGF0IGtpbmQgb2YgZXhwZXJpZW5jZSBkb2VzIHRoZSBneW0gYWltIHRvIGNyZWF0ZT8iLAogICAgICAgICAgICAiYWNjZXB0ZWRBbnN3ZXIiOiB7CiAgICAgICAgICAgICAgIkB0eXBlIjogIkFuc3dlciIsCiAgICAgICAgICAgICAgInRleHQiOiAiVGhlIHRlYW0gZm9jdXNlcyBvbiBjdXN0b21lciBzZXJ2aWNlLCBjbGVhbmxpbmVzcywgc2FmZXR5LCBjb21tdW5pdHksIGFuZCBjcmVhdGluZyBhbiBleHBlcmllbmNlIHRoYXQgZmVlbHMgd2VsY29taW5nLCBtZW1vcmFibGUsIGFuZCB3b3J0aCByZXR1cm5pbmcgdG8uIgogICAgICAgICAgICB9CiAgICAgICAgICB9CiAgICAgICAgXQogICAgICB9LAogICAgICB7CiAgICAgICAgIkB0eXBlIjogIlNwb3J0c0FjdGl2aXR5TG9jYXRpb24iLAogICAgICAgICJuYW1lIjogIlByb2plY3RST0NLIiwKICAgICAgICAidXJsIjogImh0dHBzOi8vcHJvamVjdHJvY2suY29tL2Vhc2xleS8iLAogICAgICAgICJzYW1lQXMiOiBbCiAgICAgICAgICAiaHR0cHM6Ly9wcm9qZWN0cm9jay5jb20vZWFzbGV5LyIKICAgICAgICBdLAogICAgICAgICJkZXNjcmlwdGlvbiI6ICJJbmRvb3IgY2xpbWJpbmcgZ3ltIHNlcnZpbmcgdGhlIEdyZWVudmlsbGUgYXJlYSBhbmQgVXBzdGF0ZSBTb3V0aCBDYXJvbGluYSB3aXRoIGJlZ2lubmVyIGNsaW1iaW5nIGFyZWFzLCBib3VsZGVyaW5nLCB0b3Agcm9wZSBjbGltYmluZywgbGVhZCBjbGltYmluZywgeW91dGggcHJvZ3JhbXMsIGNsaW5pY3MsIGFuZCBhIGNvbW11bml0eS1mb2N1c2VkIG1lbWJlciBleHBlcmllbmNlLiIsCiAgICAgICAgImFyZWFTZXJ2ZWQiOiBbCiAgICAgICAgICAiR3JlZW52aWxsZSwgU291dGggQ2Fyb2xpbmEiLAogICAgICAgICAgIlVwc3RhdGUgU291dGggQ2Fyb2xpbmEiLAogICAgICAgICAgIkVhc2xleSwgU291dGggQ2Fyb2xpbmEiLAogICAgICAgICAgIlBpY2tlbnMsIFNvdXRoIENhcm9saW5hIgogICAgICAgIF0sCiAgICAgICAgImFkZHJlc3MiOiB7CiAgICAgICAgICAiQHR5cGUiOiAiUG9zdGFsQWRkcmVzcyIsCiAgICAgICAgICAiYWRkcmVzc0xvY2FsaXR5IjogIkVhc2xleSIsCiAgICAgICAgICAiYWRkcmVzc1JlZ2lvbiI6ICJTQyIsCiAgICAgICAgICAiYWRkcmVzc0NvdW50cnkiOiAiVVMiCiAgICAgICAgfSwKICAgICAgICAia25vd3NBYm91dCI6IFsKICAgICAgICAgICJJbmRvb3IgY2xpbWJpbmciLAogICAgICAgICAgIkJvdWxkZXJpbmciLAogICAgICAgICAgIlRvcCByb3BlIGNsaW1iaW5nIiwKICAgICAgICAgICJMZWFkIGNsaW1iaW5nIiwKICAgICAgICAgICJZb3V0aCBjbGltYmluZyBwcm9ncmFtcyIsCiAgICAgICAgICAiQmVsYXkgaW5zdHJ1Y3Rpb24iCiAgICAgICAgXQogICAgICB9CiAgICBdCiAgfQogIDwvc2NyaXB0PgoKICA8ZGl2IHN0eWxlPSJ3aWR0aDoxMDAlICFpbXBvcnRhbnQ7bWF4LXdpZHRoOjg2MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAhaW1wb3J0YW50O3BhZGRpbmc6MCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+Cgo8ZGl2IHN0eWxlPSJib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZThlOGU4ICFpbXBvcnRhbnQ7cGFkZGluZzowIDAgMjJweCAwICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAzMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MS44cHggIWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDtjb2xvcjojNmQ2ZDZkICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMnB4IDAgIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjQgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgogICAgRWRpdG9yaWFsIEZlYXR1cmUgfCBGaXRuZXNzIExpdmluZyBNYWdhemluZeKEogogIDwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZTo1MHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4wNSAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjhweCAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+CiAgICBJbnNpZGUgUHJvamVjdFJPQ0s6IEEgQ29tcHJlaGVuc2l2ZSBMb29rIGF0IGEgVW5pcXVlIEluZG9vciBDbGltYmluZyBHeW0KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyMnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS40ICFpbXBvcnRhbnQ7Y29sb3I6IzRhNGE0YSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgIEluIFVwc3RhdGUgU291dGggQ2Fyb2xpbmEsIHRoaXMgY2xpbWJpbmcgZmFjaWxpdHkgaXMgYnVpbGRpbmcgaXRzIHJlcHV0YXRpb24gYXJvdW5kIHNjYWxlLCBjb21tdW5pdHksIGFuZCBhbiBleHBlcmllbmNlIGRlc2lnbmVkIHRvIGJyaW5nIHRoZSBmZWVsIG9mIG91dGRvb3IgY2xpbWJpbmcgaW5kb29ycy4KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTVweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNTUgIWltcG9ydGFudDtjb2xvcjojNWY1ZjVmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCA0cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICBCeSBEYW5pZWwgRm9yZCB8IE1hbmFnaW5nIEVkaXRvciwgRml0bmVzcyBMaXZpbmcgTWFnYXppbmXihKIKICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTNweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNSAhaW1wb3J0YW50O2NvbG9yOiM3YTdhN2EgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICBHcmVlbnZpbGxlIEFyZWEsIFNvdXRoIENhcm9saW5hCiAgPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXJnaW46MCAwIDMwcHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxpbWcgc3JjPSJodHRwczovL2lpbGkuaW8vQkdCVGNpSi5qcGciIGFsdD0iUGFub3JhbWljIGludGVyaW9yIHZpZXcgb2YgdGhlIGNsaW1iaW5nIGd5bSBzaG93aW5nIHRoZSBzY2FsZSBhbmQgdmFyaWV0eSBvZiB0aGUgaW5kb29yIHdhbGxzIiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50O3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXgtd2lkdGg6NzQwcHggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O2JvcmRlcjowICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czoycHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjc0MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjhweCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNmY2ZjZmICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5BIHBhbm9yYW1pYyB2aWV3IG9mIHRoZSBmYWNpbGl0eSBjYXB0dXJlcyB0aGUgc2NhbGUsIHJvdXRlIHZhcmlldHksIGFuZCBkZXN0aW5hdGlvbi1zdHlsZSBkZXNpZ24gdGhhdCBzaGFwZSBpdHMgY2xpbWJpbmcgZXhwZXJpZW5jZS48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzBweCBhdXRvICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAwIDIycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICA8c3BhbiBzdHlsZT0iZmxvYXQ6bGVmdCAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6NjJweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjAuODggIWltcG9ydGFudDtwYWRkaW5nLXJpZ2h0OjEwcHggIWltcG9ydGFudDtwYWRkaW5nLXRvcDo2cHggIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7Ij5JPC9zcGFuPm4gdGhlIEdyZWVudmlsbGUgYXJlYSwgd2hlcmUgb3V0ZG9vciByZWNyZWF0aW9uIGFscmVhZHkgc2hhcGVzIGhvdyBtYW55IHBlb3BsZSBzcGVuZCB0aGVpciB0aW1lLCB0aGlzIGZhY2lsaXR5IGhhcyBidWlsdCBzb21ldGhpbmcgdGhhdCBmZWVscyBkaWZmZXJlbnQgZnJvbSBhIHN0YW5kYXJkIGd5bS4gSXQgaXMgbm90IGEgZml0bmVzcyBmYWNpbGl0eSB3aXRoIGEgY2xpbWJpbmcgd2FsbCBhZGRlZCBvbi4gSXQgaXMgYSBjbGltYmluZy1jZW50ZXJlZCBlbnZpcm9ubWVudCBkZXNpZ25lZCB0byBmZWVsIGltbWVyc2l2ZSwgc29jaWFsLCBhbmQgbWVtb3JhYmxlIGZyb20gdGhlIGZpcnN0IHZpc2l0LiBGb3IgcGVvcGxlIHNlYXJjaGluZyBmb3IgYSBtb3JlIGRpc3RpbmN0aXZlIGluZG9vciBjbGltYmluZyBleHBlcmllbmNlIGluIHRoZSBVcHN0YXRlLCB0aGF0IGRpZmZlcmVuY2UgbWF0dGVycy4KICA8L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICBUaGF0IHBlcnNwZWN0aXZlIGNhbWUgdGhyb3VnaCBjbGVhcmx5IGluIGEgcmVjZW50IGludGVydmlldyB3aXRoIG1hbmFnZXIgQ2VjaWwsIHdob3NlIGJhY2tncm91bmQgaW5jbHVkZXMgcGVyc29uYWwgdHJhaW5pbmcsIHN0cmVuZ3RoIGFuZCBjb25kaXRpb25pbmcsIGZpdG5lc3MgbGVhZGVyc2hpcCwgYW5kIHllYXJzIG9mIGV4cGVyaWVuY2UgaW4gY2xpbWJpbmcgZ3ltcy4gSGlzIHZpZXcgb2YgdGhlIGJ1c2luZXNzIGlzIHByYWN0aWNhbCBhbmQgZ3JvdW5kZWQuIENsaW1iaW5nIGNhbiBjaGFsbGVuZ2UgdGhlIGJvZHksIGJ1dCBpdCBhbHNvIGJ1aWxkcyBjb25maWRlbmNlLCBzaGFycGVucyBwcm9ibGVtIHNvbHZpbmcsIGFuZCBjcmVhdGVzIHJlbGF0aW9uc2hpcHMgdGhhdCBvZnRlbiBsYXN0IGJleW9uZCB0aGUgd29ya291dCBpdHNlbGYuCiAgPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvIDM0cHggYXV0byAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2Y3ZjdmNSAhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgI2VjZWFlNiAhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6M3B4ICFpbXBvcnRhbnQ7cGFkZGluZzoxOHB4IDIwcHggIWltcG9ydGFudDtib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMXB4ICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6MS4zcHggIWltcG9ydGFudDt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2UgIWltcG9ydGFudDtjb2xvcjojN2E3YTdhICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlF1aWNrIEFuc3dlcjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNXB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yNyAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMnB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+V2hhdCBtYWtlcyB0aGlzIGNsaW1iaW5nIGd5bSBzdGFuZCBvdXQ/PC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlByb2plY3RST0NLIHN0YW5kcyBvdXQgZm9yIGl0cyB1bnVzdWFsbHkgdGFsbCBjbGltYmluZyB3YWxscywgbmF0dXJhbC1mZWF0dXJlIHN1cmZhY2VzIGluc3BpcmVkIGJ5IHJlYWwgb3V0ZG9vciBkZXN0aW5hdGlvbnMsIHlvdXRoIHByb2dyYW1taW5nLCBhbmQgYmVnaW5uZXItdG8tYWR2YW5jZWQgY2xpbWJpbmcgb3B0aW9ucyB1bmRlciBvbmUgcm9vZi4gSnVzdCBhcyBpbXBvcnRhbnQsIHRoZSBmYWNpbGl0eSBlbXBoYXNpemVzIGN1c3RvbWVyIHNlcnZpY2UsIGNsZWFubGluZXNzLCBjb21tdW5pdHksIGFuZCBhIG1lbWJlciBleHBlcmllbmNlIGRlc2lnbmVkIHRvIGZlZWwgd2VsY29taW5nIHJhdGhlciB0aGFuIGludGltaWRhdGluZy48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjZweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMiAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzotMC4ycHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+QSBGYWNpbGl0eSBEZXNpZ25lZCB0byBGZWVsIEJpZ2dlciBUaGFuIGEgUm91dGluZSBXb3Jrb3V0PC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPk9uZSBvZiB0aGUgY2xlYXJlc3QgZGlmZmVyZW50aWF0b3JzIGlzIHRoZSBneW3igJlzIGVmZm9ydCB0byByZWNyZWF0ZSB0aGUgZmVlbCBvZiBvdXRkb29yIGNsaW1iaW5nIGluZG9vcnMuIEFjY29yZGluZyB0byBDZWNpbCwgdGhlIGZhY2lsaXR5IHdhcyBkZXNpZ25lZCB0byBtb3ZlIGJleW9uZCBhIGNvcHktYW5kLXBhc3RlIHdhbGwgc3lzdGVtLiBJdHMgc3VyZmFjZXMgZHJhdyBpbnNwaXJhdGlvbiBmcm9tIGljb25pYyBjbGltYmluZyBkZXN0aW5hdGlvbnMgc3VjaCBhcyBZb3NlbWl0ZSBWYWxsZXksIERlbGljYXRlIEFyY2gsIERldmls4oCZcyBUb3dlciwgU21pdGggUm9jaywgSm9zaHVhIFRyZWUsIGFuZCByZWdpb25hbCBTb3V0aGVhc3Rlcm4gY3JhZ3MuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoYXQgZGVzaWduIGNob2ljZSBkb2VzIG1vcmUgdGhhbiBjcmVhdGUgdmlzdWFsIGludGVyZXN0LiBJdCBnaXZlcyBleHBlcmllbmNlZCBjbGltYmVycyBzb21ldGhpbmcgbW9yZSB0ZXh0dXJlZCBhbmQgcGxhY2UtZHJpdmVuLCB3aGlsZSBhbHNvIGdpdmluZyBiZWdpbm5lcnMgYSBtb3JlIG1lbW9yYWJsZSBpbnRyb2R1Y3Rpb24gdG8gdGhlIHNwb3J0LiBUaGUgcmVzdWx0IGlzIGEgZmFjaWxpdHkgd2l0aCBzdHJvbmdlciBpZGVudGl0eSwgbW9yZSBhdG1vc3BoZXJlLCBhbmQgYSBjbGVhcmVyIHNlbnNlIG9mIHB1cnBvc2UgdGhhbiBhIHN0YW5kYXJkIGNsaW1iaW5nIGd5bSBvZnRlbiBwcm92aWRlcy48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1hcmdpbjowIDAgMzJweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGltZyBzcmM9Imh0dHBzOi8vaWlsaS5pby9CR0I1QmVWLmpwZyIgYWx0PSJOYXR1cmFsLWZlYXR1cmUgYXJjaCB3YWxsIGluc2lkZSB0aGUgZ3ltIGluc3BpcmVkIGJ5IG91dGRvb3IgY2xpbWJpbmcgZGVzdGluYXRpb25zIiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50O3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O2JvcmRlcjowICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czoycHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjhweCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNmY2ZjZmICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5PbmUgb2YgdGhlIGZhY2lsaXR54oCZcyBzdGFuZG91dCBuYXR1cmFsLWZlYXR1cmUgd2FsbHMgcmVpbmZvcmNlcyBpdHMgZWZmb3J0IHRvIGJyaW5nIHRoZSB2aXN1YWwgZmVlbCBvZiBvdXRkb29yIGNsaW1iaW5nIGluc2lkZS48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7cGFkZGluZzoxNHB4IDE2cHggIWltcG9ydGFudDtib3JkZXItbGVmdDozcHggc29saWQgI2JkYmRiZCAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZhZmFmYSAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjdweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNDMgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPuKAnEZyb20gdGhlIHRpbWUgb3VyIG1lbWJlcnMgZW50ZXIgdGhlIGJ1aWxkaW5nIHRvIHRoZSB0aW1lIHRoZXkgbGVhdmUsIHdlIHdhbnQgdGhlbSB0byBmZWVsIHRoZXkgaGFkIGFuIGV4Y2VwdGlvbmFsIGV4cGVyaWVuY2UuIEl04oCZcyBub3Qgb25seSBhYm91dCB0aGUgcXVhbGl0eSBvZiB0aGUgY2xpbWJpbmcuIEl04oCZcyBhbHNvIGFib3V0IG91ciBzdGFmZiwgb3VyIG1lbWJlcnMsIGFuZCBtYWtpbmcgdGhlIHBsYWNlIGZlZWwgbGlrZSBob21lIHNvIHRoZXkgd2FudCB0byBjb21lIGJhY2su4oCdPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEzcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNjY2NjY2ICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkNlY2lsLCBtYW5hZ2VyPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvIDM2cHggYXV0byAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjI2cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LTAuMnB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPkZyb20gQmVnaW5uZXIgQWNjZXNzIHRvIFRvd2VyaW5nIFdhbGxzPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBsYXlvdXQgaXRzZWxmIGhlbHBzIGV4cGxhaW4gdGhlIGd5beKAmXMgYXBwZWFsLiBWaXNpdG9ycyBlbnRlciB0aHJvdWdoIGEgZnJvbnQgZGVzayBhbmQgcHJvIHNob3AgYmVmb3JlIG1vdmluZyBpbnRvIGRpc3RpbmN0IGNsaW1iaW5nIHpvbmVzIGRlc2lnbmVkIGZvciBkaWZmZXJlbnQgc2tpbGwgbGV2ZWxzIGFuZCBleHBlcmllbmNlcy4gT25lIHJvb20sIGtub3duIGFzIEFtZXJpY2FuIFZhbGxleSwgaXMgYnVpbHQgd2l0aCBiZWdpbm5lcnMgaW4gbWluZC4gSXQgdXNlcyBmYW1pbGlhciBsYW5kbWFya3MgYW5kIGF1dG8tYmVsYXkgc3lzdGVtcyB0byBjcmVhdGUgYSBmcmllbmRsaWVyIGludHJvZHVjdGlvbiBmb3IgZmlyc3QtdGltZSBjbGltYmVycywgY2hpbGRyZW4sIGFuZCBhbnlvbmUgc3RpbGwgd29ya2luZyB0aHJvdWdoIGEgZmVhciBvZiBoZWlnaHRzLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5CZXlvbmQgdGhhdCBpcyBhIGJvdWxkZXJpbmcgYXJlYSBpbnNwaXJlZCBpbiBwYXJ0IGJ5IGRlc3RpbmF0aW9ucyBzdWNoIGFzIEpvc2h1YSBUcmVlIGFuZCBIb3JzZSBQZW5zIDQwLiBUaGVuIHRoZSBtYWluIHdhbGwgc2VjdGlvbiBzaGlmdHMgdGhlIHNjYWxlIGRyYW1hdGljYWxseS4gQ2xpbWJzIGJlZ2luIGFyb3VuZCAzOCBmZWV0IGFuZCByaXNlIHRvIHJvdWdobHkgODQuNSBmZWV0LCB3aXRoIG1vcmUgdGhhbiA3MCB0byA4MCBsYW5lcyBmb3IgdG9wIHJvcGUgYW5kIGxlYWQgY2xpbWJpbmcuIEV2ZW4gd2l0aG91dCBsZWFuaW5nIG9uIHN1cGVybGF0aXZlcywgdGhlIGhlaWdodCBhbG9uZSBoZWxwcyBleHBsYWluIHdoeSBtYW55IGZpcnN0LXRpbWUgdmlzaXRvcnMgYXJlIHN0dW5uZWQgd2hlbiB0aGV5IHdhbGsgaW4uPC9kaXY+CgogIDx1bCBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAwIDAgMjJweCAhaW1wb3J0YW50O3BhZGRpbmc6MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICA8bGkgc3R5bGU9Im1hcmdpbi1ib3R0b206OHB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5CZWdpbm5lci1mcmllbmRseSBjbGltYmluZyBhcmVhcyB3aXRoIGF1dG8tYmVsYXkgYWNjZXNzPC9saT4KICAgIDxsaSBzdHlsZT0ibWFyZ2luLWJvdHRvbTo4cHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkRlZGljYXRlZCBib3VsZGVyaW5nIHRlcnJhaW48L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VG9wIHJvcGUgYW5kIGxlYWQgY2xpbWJpbmcgbGFuZXM8L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+QSBzY2FsZSB0aGF0IGdpdmVzIHRoZSBmYWNpbGl0eSBhIGRlc3RpbmF0aW9uIGZlZWw8L2xpPgogIDwvdWw+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXJnaW46MCAwIDMycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxpbWcgc3JjPSJodHRwczovL2lpbGkuaW8vQmZ5U05lYS5qcGciIGFsdD0iVGFsbCBpbmRvb3IgY2xpbWJpbmcgd2FsbHMgZm9yIHRvcCByb3BlIGFuZCBsZWFkIGNsaW1iaW5nIG5lYXIgR3JlZW52aWxsZSBTb3V0aCBDYXJvbGluYSIgc3R5bGU9ImRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDt3aWR0aDoxMDAlICFpbXBvcnRhbnQ7bWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7aGVpZ2h0OmF1dG8gIWltcG9ydGFudDtib3JkZXI6MCAhaW1wb3J0YW50O2JvcmRlci1yYWRpdXM6MnB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjo4cHggYXV0byAwIGF1dG8gIWltcG9ydGFudDtmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxMnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS41ICFpbXBvcnRhbnQ7Y29sb3I6IzZmNmY2ZiAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VGhlIGxhcmdlc3QgY2xpbWJpbmcgYXJlYSBpcyBkZWZpbmVkIGJ5IGhlaWdodCwgbGFuZSB2YXJpZXR5LCBhbmQgcm91dGVzIGRlc2lnbmVkIGZvciBib3RoIG5ld2VyIGFuZCBtb3JlIGFkdmFuY2VkIGNsaW1iZXJzLjwvZGl2PgoKPC9kaXY+CgoKPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAzNnB4IGF1dG8gIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDE0cHggMCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjJweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij5XaHkgQ29hY2hpbmcgYW5kIFByb2dyZXNzaW9uIE1hdHRlciBIZXJlPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBmYWNpbGl0eSBpcyBub3QgYnVpbHQgb25seSBmb3Igc2Vhc29uZWQgY2xpbWJlcnMuIEl0cyBwcm9ncmFtbWluZyByZWZsZWN0cyBhIGJyb2FkZXIgdmlldyBvZiB3aGF0IGEgY2xpbWJpbmcgZ3ltIGNhbiBvZmZlci4gVGhlIHlvdXRoIHRlYW0gYW5kIHJlY3JlYXRpb24gcHJvZ3JhbSBzZXJ2ZXMgYWdlcyA3IHRvIDE3LCBnaXZpbmcgZmFtaWxpZXMgYW5vdGhlciBvcHRpb24gYmV5b25kIHRyYWRpdGlvbmFsIHRlYW0gc3BvcnRzLiBDZWNpbCBkZXNjcmliZWQgY2xpbWJpbmcgYXMgYSBzcG9ydCB0aGF0IGNvbWJpbmVzIHBoeXNpY2FsIGVmZm9ydCB3aXRoIHByb2JsZW0gc29sdmluZywgd2hpY2ggaGVscHMgZXhwbGFpbiB3aHkgaXQgY2FuIHJlc29uYXRlIHdpdGgga2lkcyB3aG8gZG8gbm90IGFsd2F5cyBjb25uZWN0IHdpdGggbW9yZSBjb252ZW50aW9uYWwgYXRobGV0aWMgcGF0aHMuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBneW0gYWxzbyBvZmZlcnMgdG9wIHJvcGUgYmVsYXkgY2xhc3NlcyBhbmQgbGVhZCBjbGluaWNzLiBUaGF0IGVkdWNhdGlvbmFsIGxheWVyIG1hdHRlcnMuIE5ld2NvbWVycyByYXJlbHkgYnVpbGQgY29uZmlkZW5jZSBmcm9tIGFjY2VzcyBhbG9uZS4gVGhleSBidWlsZCBpdCB0aHJvdWdoIGd1aWRlZCBpbnN0cnVjdGlvbiwgcmVwZXRpdGlvbiwgYW5kIGEgc2V0dGluZyB0aGF0IG1ha2VzIHByb2dyZXNzIGZlZWwgc3RydWN0dXJlZCBhbmQgc2FmZS4gSW4gdGhhdCBzZW5zZSwgY29hY2hpbmcgaXMgbm90IGFuIGV4dHJhIGZlYXR1cmUgaGVyZS4gSXQgaXMgcGFydCBvZiBob3cgdGhlIGJ1c2luZXNzIGludHJvZHVjZXMgcGVvcGxlIHRvIGNsaW1iaW5nIGluIHRoZSBmaXJzdCBwbGFjZS48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZmJmYmZiICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czozcHggIWltcG9ydGFudDtwYWRkaW5nOjIycHggIWltcG9ydGFudDtib3gtc2l6aW5nOmJvcmRlci1ib3ggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDE0cHggMCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjJweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij5BIENvbW11bml0eSBNb2RlbCwgTm90IE9ubHkgYSBNZW1iZXJzaGlwIE1vZGVsPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPk9uZSBvZiB0aGUgc3Ryb25nZXN0IHRoZW1lcyBpbiB0aGUgaW50ZXJ2aWV3IHdhcyBjb21tdW5pdHkuIENlY2lsIHJldHVybmVkIHRvIGl0IHJlcGVhdGVkbHksIG5vdCBhcyBtYXJrZXRpbmcgbGFuZ3VhZ2UgYnV0IGFzIG9wZXJhdGluZyBwaGlsb3NvcGh5LiBJbiBjbGltYmluZywgZXNwZWNpYWxseSBpbiB0b3Agcm9wZSBhbmQgbGVhZCBmb3JtYXRzLCBwYXJ0bmVyc2hpcCBpcyBidWlsdCBpbnRvIHRoZSBhY3Rpdml0eS4gVHJ1c3QsIGNvbW11bmljYXRpb24sIGFuZCBhY2NvdW50YWJpbGl0eSBhcmUgcGFydCBvZiB0aGUgc3BvcnQuIFRoZSBidXNpbmVzcyBhcHBlYXJzIHRvIGxlYW4gaW50byB0aGF0IHJlYWxpdHkgaW5zdGVhZCBvZiB0cmVhdGluZyBpdCBhcyBpbmNpZGVudGFsLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGF0IG1lbWJlci1maXJzdCBtaW5kc2V0IGFsc28gc2hhcGVzIHRoZSBkYWlseSBleHBlcmllbmNlLiBDZWNpbCBzYWlkIHRoZSBjb21wbGltZW50cyB0aGF0IG1hdHRlciBtb3N0IGFyZSBub3Qgb25seSBhYm91dCB0aGUgd2FsbHMuIFRoZXkgYXJlIGFib3V0IHRoZSBzdGFmZiBiZWluZyBoZWxwZnVsLCByZXNwZWN0ZnVsLCBhbmQga2luZC4gQ2xlYW5saW5lc3MsIHRvbywgaXMgdHJlYXRlZCBhcyBwYXJ0IG9mIHRoZSBleHBlcmllbmNlLCBlc3BlY2lhbGx5IGluIGFuIGVudmlyb25tZW50IHdoZXJlIGNoYWxrIGFuZCBoZWF2eSB1c2UgY2FuIGVhc2lseSBtYWtlIGEgZmFjaWxpdHkgZmVlbCBuZWdsZWN0ZWQgaWYgc3RhbmRhcmRzIHNsaXAuPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXJnaW46MCAwIDMycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxpbWcgc3JjPSJodHRwczovL2lpbGkuaW8vQmZ5VVA2Qi5qcGciIGFsdD0iQ29tbXVuaXR5LWZvY3VzZWQgaW5kb29yIGNsaW1iaW5nIGV4cGVyaWVuY2Ugd2l0aCBjbGltYmVycyBnYXRoZXJpbmcgaW4gdGhlIGZhY2lsaXR5IiBzdHlsZT0iZGlzcGxheTpibG9jayAhaW1wb3J0YW50O3dpZHRoOjEwMCUgIWltcG9ydGFudDttYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDtoZWlnaHQ6YXV0byAhaW1wb3J0YW50O2JvcmRlcjowICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czoycHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjhweCBhdXRvIDAgYXV0byAhaW1wb3J0YW50O2ZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjEycHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNmY2ZjZmICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5Gb3IgbWFueSBtZW1iZXJzLCB0aGUgZXhwZXJpZW5jZSBleHRlbmRzIGJleW9uZCB0aGUgd2FsbCBpdHNlbGYgYW5kIGludG8gdGhlIHNlbnNlIG9mIGNvbm5lY3Rpb24gdGhleSBmZWVsIHdoaWxlIHRoZXkgYXJlIHRoZXJlLjwvZGl2PgoKPC9kaXY+CgoKPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjY5MHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAzNnB4IGF1dG8gIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyNnB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDE0cHggMCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOi0wLjJweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij5XaHkgTG9jYWwgQ29udGV4dCBTdGlsbCBNYXR0ZXJzPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlRoZSBmYWNpbGl0eSBvY2N1cGllcyBhbiBpbnRlcmVzdGluZyBwbGFjZSBpbiB0aGUgbG9jYWwgbWFya2V0LiBJdCBpcyBjbG9zZSBlbm91Z2ggdG8gR3JlZW52aWxsZSB0byBkcmF3IGNpdHktYmFzZWQgY2xpbWJlcnMsIHlldCBzZXBhcmF0ZSBlbm91Z2ggdGhhdCBhd2FyZW5lc3MgcmVtYWlucyBwYXJ0IG9mIHRoZSBjaGFsbGVuZ2UuIENlY2lsIGRlc2NyaWJlZCB0aGUgZ3ltIGFzIGEgYmVzdCBrZXB0IHNlY3JldCwgd2hpY2ggY2FwdHVyZXMgYm90aCB0aGUgb3Bwb3J0dW5pdHkgYW5kIHRoZSBmcnVzdHJhdGlvbi4gVGhlIHByb2R1Y3QgaXRzZWxmIGFwcGVhcnMgc3Ryb25nLiBWaXNpYmlsaXR5IGlzIHRoZSBoYXJkZXIgYmF0dGxlLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGF0IGNvbnRleHQgaGVscHMgZXhwbGFpbiB3aHkgd29yZCBvZiBtb3V0aCByZW1haW5zIHNvIGltcG9ydGFudC4gVGhlIGd5bSBhcHBlYXJzIHRvIHB1bGwgZnJvbSBHcmVlbnZpbGxlLCBFYXNsZXksIFBpY2tlbnMsIGFuZCB0aGUgYnJvYWRlciBVcHN0YXRlLiBQZW9wbGUgdmlzaXQsIHNlZSB0aGUgc2NhbGUsIGZlZWwgd2VsY29tZWQsIGFuZCBicmluZyBzb21lb25lIGJhY2suIEluIGxvY2FsIGZpdG5lc3MgbWFya2V0cywgdGhhdCBraW5kIG9mIHJlZmVycmFsIHBhdHRlcm4gaXMgb2Z0ZW4gbW9yZSBkdXJhYmxlIHRoYW4gYW55IHNob3J0LXRlcm0gcHJvbW90aW9uLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5JdCBhbHNvIGhlbHBzIGZyYW1lIHRoZSBneW3igJlzIGZ1dHVyZSBhbWJpdGlvbnMuIENlY2lsIHNwb2tlIGFib3V0IHRoZSBwb3NzaWJpbGl0eSBvZiBhbiBvdXRkb29yIHdhbGwgcmlzaW5nIDg1IHRvIDkwIGZlZXQsIGFuIG91dGRvb3IgYm91bGRlciBmaWVsZCwgYSBwaWNuaWMgYXJlYSwgYW5kIGV2ZW4gYSBwdW1wIHRyYWNrLiBUaG9zZSBhZGRpdGlvbnMgd291bGQgbm90IGp1c3QgZXhwYW5kIHRoZSBmb290cHJpbnQuIFRoZXkgd291bGQgc3RyZW5ndGhlbiB0aGUgYnJhbmTigJlzIGlkZW50aXR5IGFzIGEgZGVzdGluYXRpb24gY2xpbWJpbmcgZmFjaWxpdHkgZm9yIHRoZSByZWdpb24uPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46MCBhdXRvIDM2cHggYXV0byAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjI2cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7bGV0dGVyLXNwYWNpbmc6LTAuMnB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPkZBUTogQ2xpbWJpbmcgTmVhciB0aGUgR3JlZW52aWxsZSBBcmVhPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjIwcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjoyMnB4IDAgMTBweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPldoYXQgbWFrZXMgdGhpcyBjbGltYmluZyBneW0gZGlmZmVyZW50IGZyb20gYSB0eXBpY2FsIGluZG9vciBmYWNpbGl0eT88L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+SXRzIGlkZW50aXR5IGlzIGJ1aWx0IGFyb3VuZCBuYXR1cmFsLWZlYXR1cmUgY2xpbWJpbmcgd2FsbHMsIGRlc3RpbmF0aW9uLWluc3BpcmVkIGRlc2lnbiwgYW5kIHVuY29tbW9uIHdhbGwgaGVpZ2h0LiBUaGF0IGNvbWJpbmF0aW9uIGdpdmVzIHRoZSBmYWNpbGl0eSBhIG1vcmUgaW1tZXJzaXZlIGZlZWwgdGhhbiBhIHN0YW5kYXJkIGluZG9vciBjbGltYmluZyBzZXR1cC48L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjBweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMyAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjIycHggMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+V2hvIGlzIHRoaXMgZmFjaWxpdHkgYmVzdCBzdWl0ZWQgZm9yPzwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGUgZ3ltIHNlcnZlcyBhIGJyb2FkIGF1ZGllbmNlLCBpbmNsdWRpbmcgeW91bmcgcHJvZmVzc2lvbmFscywgZmFtaWxpZXMsIGZpcnN0LXRpbWUgY2xpbWJlcnMsIHlvdXRoIGF0aGxldGVzLCBhbmQgZXhwZXJpZW5jZWQgY2xpbWJlcnMgbG9va2luZyBmb3IgYm91bGRlcmluZywgdG9wIHJvcGUsIGFuZCBsZWFkIGNsaW1iaW5nIG9wdGlvbnMuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjIwcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjoyMnB4IDAgMTBweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPkRvZXMgdGhlIGd5bSBvZmZlciBwcm9ncmFtcyBmb3Iga2lkcyBhbmQgYmVnaW5uZXJzPzwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5ZZXMuIFRoZSBneW0gb2ZmZXJzIGEgeW91dGggdGVhbSBhbmQgcmVjcmVhdGlvbiBwcm9ncmFtIGZvciBhZ2VzIDcgdGhyb3VnaCAxNywgYWxvbmcgd2l0aCBiZWdpbm5lci1mcmllbmRseSBhcmVhcywgYXV0by1iZWxheSBhY2Nlc3MsIHRvcCByb3BlIGJlbGF5IGNsYXNzZXMsIGFuZCBsZWFkIGNsaW5pY3MgdGhhdCBzdXBwb3J0IHNraWxsIGRldmVsb3BtZW50IGluIGEgc2FmZXIsIG1vcmUgYXBwcm9hY2hhYmxlIHdheS48L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjBweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMyAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjIycHggMCAxMHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+V2hhdCBraW5kIG9mIGV4cGVyaWVuY2UgZG9lcyB0aGUgdGVhbSB3YW50IHBlb3BsZSB0byByZW1lbWJlcj88L2Rpdj4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS43NSAhaW1wb3J0YW50O2NvbG9yOiMxZjFmMWYgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VGhlIGdvYWwgaXMgZm9yIHBlb3BsZSB0byBsZWF2ZSBmZWVsaW5nIHRoZXkgaGFkIGFuIGV4Y2VwdGlvbmFsIGV4cGVyaWVuY2UgZnJvbSB0aGUgbW9tZW50IHRoZXkgZW50ZXJlZCB0byB0aGUgbW9tZW50IHRoZXkgbGVmdCwgd2l0aCBzdHJvbmcgc2VydmljZSwgYSB3ZWxjb21pbmcgYXRtb3NwaGVyZSwgYW5kIGEgc2Vuc2Ugb2YgY29tbXVuaXR5IHRoYXQgZW5jb3VyYWdlcyB0aGVtIHRvIHJldHVybi48L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZjNmM2YxICFpbXBvcnRhbnQ7Ym9yZGVyOjFweCBzb2xpZCAjZGRkZGRhICFpbXBvcnRhbnQ7Ym9yZGVyLXJhZGl1czo0cHggIWltcG9ydGFudDtwYWRkaW5nOjI4cHggMzBweCAhaW1wb3J0YW50O2JveC1zaXppbmc6Ym9yZGVyLWJveCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjM0cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjIgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPktleSBUYWtlYXdheXM8L2Rpdj4KCiAgPHVsIHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMCAyMnB4ICFpbXBvcnRhbnQ7cGFkZGluZzowICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgIDxsaSBzdHlsZT0ibWFyZ2luLWJvdHRvbTo4cHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlByb2plY3RST0NLIHBvc2l0aW9ucyBpdHNlbGYgYXMgYSBkaXN0aW5jdGl2ZSBjbGltYmluZyBmYWNpbGl0eSBzZXJ2aW5nIHRoZSBHcmVlbnZpbGxlIGFyZWEgYW5kIHRoZSB3aWRlciBVcHN0YXRlIFNvdXRoIENhcm9saW5hIG1hcmtldC48L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+VGhlIGd5bSBjb21iaW5lcyBiZWdpbm5lciBhY2Nlc3MsIHlvdXRoIHByb2dyYW1taW5nLCBib3VsZGVyaW5nLCB0b3Agcm9wZSBjbGltYmluZywgYW5kIGxlYWQgY2xpbWJpbmcgaW4gb25lIHVudXN1YWxseSBsYXJnZSBlbnZpcm9ubWVudC48L2xpPgogICAgPGxpIHN0eWxlPSJtYXJnaW4tYm90dG9tOjhweCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+SXRzIG5hdHVyYWwtZmVhdHVyZSB3YWxscyBhbmQgZGVzdGluYXRpb24taW5zcGlyZWQgZGVzaWduIGhlbHAgc2VwYXJhdGUgaXQgZnJvbSBtb3JlIHN0YW5kYXJkaXplZCBpbmRvb3IgY2xpbWJpbmcgc3BhY2VzLjwvbGk+CiAgICA8bGkgc3R5bGU9Im1hcmdpbi1ib3R0b206OHB4ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5Db21tdW5pdHksIGN1c3RvbWVyIHNlcnZpY2UsIGNsZWFubGluZXNzLCBhbmQgcmVwZWF0LXdvcnRoeSBtZW1iZXIgZXhwZXJpZW5jZSBhcmUgY2VudHJhbCB0byB0aGUgYnVzaW5lc3MgaWRlbnRpdHkuPC9saT4KICAgIDxsaSBzdHlsZT0ibWFyZ2luLWJvdHRvbTo4cHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkxvY2FsIHZpc2liaWxpdHkgcmVtYWlucyBhIG1ham9yIGdyb3d0aCBjaGFsbGVuZ2UsIGV2ZW4gYXMgd29yZCBvZiBtb3V0aCBjb250aW51ZXMgdG8gZHJpdmUgZGlzY292ZXJ5IGFuZCBsb3lhbHR5LjwvbGk+CiAgPC91bD4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gMzZweCBhdXRvICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6J1BsYXlmYWlyIERpc3BsYXknLEdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MjZweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuMiAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxNHB4IDAgIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzotMC4ycHggIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+Q29uY2x1c2lvbjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc1ICFpbXBvcnRhbnQ7Y29sb3I6IzFmMWYxZiAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5UaGUgbW9zdCBwZXJzdWFzaXZlIHBhcnQgb2YgdGhlIHN0b3J5IGlzIHRoYXQgdGhpcyBidXNpbmVzcyBpcyBub3QgdHJ5aW5nIHRvIGNvbXBldGUgb24gdHJlbmRpbmVzcy4gSXRzIGNhc2UgaXMgc2ltcGxlciBhbmQgc3Ryb25nZXIuIE9mZmVyIHNvbWV0aGluZyBtZW1vcmFibGUsIGRlbGl2ZXIgaXQgd2l0aCBjYXJlLCBhbmQgbWFrZSBwZW9wbGUgZmVlbCB3ZWxjb21lIGVub3VnaCB0byBjb21lIGJhY2suIEluIGEgZml0bmVzcyBsYW5kc2NhcGUgY3Jvd2RlZCB3aXRoIGludGVyY2hhbmdlYWJsZSBjb25jZXB0cywgdGhhdCBraW5kIG9mIGNsYXJpdHkgaXMgZGlmZmljdWx0IHRvIGZha2UuPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MThweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzUgIWltcG9ydGFudDtjb2xvcjojMWYxZjFmICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPkZvciBjbGltYmVycyBpbiB0aGUgR3JlZW52aWxsZSBhcmVhLCBmb3IgZmFtaWxpZXMgbG9va2luZyBmb3IgYSBkaWZmZXJlbnQga2luZCBvZiBhdGhsZXRpYyBvdXRsZXQsIGFuZCBmb3IgYW55b25lIGN1cmlvdXMgYWJvdXQgYSBmYWNpbGl0eSB0aGF0IGFpbXMgdG8gZmVlbCBiaWdnZXIgdGhhbiBhIHNpbmdsZSB3b3Jrb3V0LCB0aGlzIGRlc3RpbmF0aW9uIGFwcGVhcnMgdG8gYmUgYnVpbGRpbmcgbW9yZSB0aGFuIHdhbGxzLiBJdCBpcyBidWlsZGluZyBhIHBsYWNlIHBlb3BsZSBjYW4gZ3JvdyBpbnRvLjwvZGl2PgoKICA8ZGl2IHN0eWxlPSJiYWNrZ3JvdW5kOiNmN2Y3ZjUgIWltcG9ydGFudDtib3JkZXI6MXB4IHNvbGlkICNlY2VhZTYgIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjNweCAhaW1wb3J0YW50O3BhZGRpbmc6MTZweCAxOHB4ICFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTZweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNzIgIWltcG9ydGFudDtjb2xvcjojMmEyYTJhICFpbXBvcnRhbnQ7bWFyZ2luOjAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPlJlYWRlcnMgaW50ZXJlc3RlZCBpbiBleHBsb3JpbmcgdGhpcyA8YSBocmVmPSJodHRwczovL3Byb2plY3Ryb2NrLmNvbS9lYXNsZXkvIiBzdHlsZT0iY29sb3I6IzExMTExMSAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgIWltcG9ydGFudDtmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Ij5pbmRvb3IgY2xpbWJpbmcgZ3ltIG5lYXIgR3JlZW52aWxsZTwvYT4gY2FuIHZpc2l0IHRoZSBmYWNpbGl0eSBvbmxpbmUuPC9kaXY+CiAgPC9kaXY+Cgo8L2Rpdj4KCgo8ZGl2IHN0eWxlPSJtYXgtd2lkdGg6NjkwcHggIWltcG9ydGFudDttYXJnaW46NTRweCBhdXRvIDQycHggYXV0byAhaW1wb3J0YW50O2JhY2tncm91bmQ6I2ZiZmFmNyAhaW1wb3J0YW50O2JvcmRlcjoxcHggc29saWQgI2Q2YzdhMyAhaW1wb3J0YW50O2JvcmRlci10b3A6NHB4IHNvbGlkICNiODlhNWYgIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjNweCAhaW1wb3J0YW50O3BhZGRpbmc6MzRweCAzNHB4IDMycHggMzRweCAhaW1wb3J0YW50O2JveC1zaGFkb3c6MCAxcHggMCByZ2JhKDAsMCwwLDAuMDMpICFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94ICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KCiAgPGRpdiBzdHlsZT0ibWF4LXdpZHRoOjYwMHB4ICFpbXBvcnRhbnQ7bWFyZ2luOjAgYXV0byAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTJweCAhaW1wb3J0YW50O2xldHRlci1zcGFjaW5nOjJweCAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50O2NvbG9yOiM4YTdhNTggIWltcG9ydGFudDttYXJnaW46MCAwIDIycHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIEFib3V0IHRoZSBGZWF0dXJlZCBFeHBlcnQKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjMxcHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjA4ICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MCAwIDEwcHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij4KICAgICAgQ2VjaWwKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE2cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjUgIWltcG9ydGFudDtjb2xvcjojNWY1YTUwICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCA2cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIE1hbmFnZXIsIFByb2plY3RST0NLCiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS41ICFpbXBvcnRhbnQ7Y29sb3I6IzhhODQ3OCAhaW1wb3J0YW50O21hcmdpbjowIDAgMThweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij4KICAgICAgR3JlZW52aWxsZSBBcmVhIC8gRWFzbGV5LCBTb3V0aCBDYXJvbGluYQogICAgPC9kaXY+CgogICAgPGhyIHN0eWxlPSJoZWlnaHQ6MXB4ICFpbXBvcnRhbnQ7YmFja2dyb3VuZDojZThkZmNmICFpbXBvcnRhbnQ7Ym9yZGVyOm5vbmUgIWltcG9ydGFudDttYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50OyI+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxN3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS44OCAhaW1wb3J0YW50O2NvbG9yOiMyNDI0MjQgIWltcG9ydGFudDttYXJnaW46MCAwIDI0cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIENlY2lsIGlzIHRoZSBtYW5hZ2VyIGZlYXR1cmVkIGluIHRoaXMgZWRpdG9yaWFsIGxvb2sgYXQgUHJvamVjdFJPQ0ssIHRoZSBpbmRvb3IgY2xpbWJpbmcgZmFjaWxpdHkgc2VydmluZyB0aGUgR3JlZW52aWxsZSBhcmVhIGFuZCB0aGUgd2lkZXIgVXBzdGF0ZS4gSGlzIGJhY2tncm91bmQgc3BhbnMgcGVyc29uYWwgdHJhaW5pbmcsIHN0cmVuZ3RoIGFuZCBjb25kaXRpb25pbmcsIGZpdG5lc3MgbGVhZGVyc2hpcCwgYW5kIGVhcmxpZXIgZXhwZXJpZW5jZSB3b3JraW5nIGluIGEgY2xpbWJpbmcgZ3ltIGR1cmluZyBjb2xsZWdlLiBJbiB0aGUgaW50ZXJ2aWV3LCBoZSBjb21lcyBhY3Jvc3MgYXMgcHJhY3RpY2FsLCBzZXJ2aWNlLW1pbmRlZCwgYW5kIGRlZXBseSBhd2FyZSB0aGF0IGEgc3Ryb25nIGNsaW1iaW5nIGJ1c2luZXNzIGRlcGVuZHMgb24gbW9yZSB0aGFuIHJvdXRlIHNldHRpbmcgYWxvbmUuIEhpcyBwZXJzcGVjdGl2ZSBjZW50ZXJzIG9uIGJ1aWxkaW5nIGEgZmFjaWxpdHkgd2hlcmUgcGVvcGxlIGNhbiBjaGFsbGVuZ2UgdGhlbXNlbHZlcywgZmVlbCB3ZWxjb21lZCwgYW5kIHJldHVybiBvZnRlbiBlbm91Z2ggdG8gYmVjb21lIHBhcnQgb2YgdGhlIGNvbW11bml0eS4KICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OidQbGF5ZmFpciBEaXNwbGF5JyxHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE4cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjMgIWltcG9ydGFudDtmb250LXdlaWdodDo3MDAgIWltcG9ydGFudDtjb2xvcjojMTExMTExICFpbXBvcnRhbnQ7LXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IzExMTExMSAhaW1wb3J0YW50O21hcmdpbjoyMnB4IDAgMTBweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmUgIWltcG9ydGFudDtib3JkZXItYm90dG9tOm5vbmUgIWltcG9ydGFudDtib3gtc2hhZG93Om5vbmUgIWltcG9ydGFudDsiPgogICAgICBNaXNzaW9uIC8gUGhpbG9zb3BoeQogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6R2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxN3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS44NCAhaW1wb3J0YW50O2NvbG9yOiMyNDI0MjQgIWltcG9ydGFudDttYXJnaW46MCAwIDE4cHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIEhpcyBwaGlsb3NvcGh5IGlzIHRoYXQgY2xpbWJpbmcgc2hvdWxkIGZlZWwgbGlrZSBtb3JlIHRoYW4gYSB3b3Jrb3V0LiBUaGUgZ29hbCBpcyB0byBjcmVhdGUgYW4gZXhwZXJpZW5jZSB0aGF0IGJlZ2lucyB0aGUgbW9tZW50IHNvbWVvbmUgd2Fsa3MgaW4gdGhlIGRvb3IgYW5kIGNvbnRpbnVlcyB0aHJvdWdoIHRoZWlyIHRpbWUgaW4gdGhlIGd5bS4gVGhhdCBtZWFucyBjb21iaW5pbmcgcGh5c2ljYWwgY2hhbGxlbmdlIHdpdGggc3Ryb25nIGN1c3RvbWVyIGNhcmUsIGEgc2Vuc2Ugb2YgYmVsb25naW5nLCBhbmQgYW4gZW52aXJvbm1lbnQgdGhhdCBmZWVscyBhcHByb2FjaGFibGUgZW5vdWdoIGZvciBiZWdpbm5lcnMgd2hpbGUgc3RpbGwgbWVhbmluZ2Z1bCBmb3IgZXhwZXJpZW5jZWQgY2xpbWJlcnMuCiAgICA8L2Rpdj4KCiAgICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4zICFpbXBvcnRhbnQ7Zm9udC13ZWlnaHQ6NzAwICFpbXBvcnRhbnQ7Y29sb3I6IzExMTExMSAhaW1wb3J0YW50Oy13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiMxMTExMTEgIWltcG9ydGFudDttYXJnaW46MjJweCAwIDEwcHggMCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbTpub25lICFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lICFpbXBvcnRhbnQ7Ij4KICAgICAgVmFsdWVzIC8gU3BlY2lhbHRpZXMKICAgIDwvZGl2PgoKICAgIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5Okdlb3JnaWEsJ1RpbWVzIE5ldyBSb21hbicsc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTdweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuODQgIWltcG9ydGFudDtjb2xvcjojMjQyNDI0ICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxOHB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgogICAgICBCYXNlZCBvbiB0aGUgaW50ZXJ2aWV3LCBDZWNpbOKAmXMgc3RyZW5ndGhzIGxpZSBpbiBvcGVyYXRpb25hbCBsZWFkZXJzaGlwLCBtZW1iZXIgZXhwZXJpZW5jZSwgYW5kIG1ha2luZyBjbGltYmluZyBmZWVsIGFjY2Vzc2libGUgd2l0aG91dCBmbGF0dGVuaW5nIGl0cyBjaGFsbGVuZ2UuIEhlIHNwZWFrcyBvZnRlbiBhYm91dCBjb21tdW5pdHksIGNsZWFubGluZXNzLCBzYWZldHksIGFuZCB0aGUgaW1wb3J0YW5jZSBvZiBndWlkZWQgcHJvZ3Jlc3Npb24uIFRob3NlIHByaW9yaXRpZXMgaGVscCBzaGFwZSB0aGUgZmFjaWxpdHkgYXMgYSBwbGFjZSB0aGF0IHNlcnZlcyBmYW1pbGllcywgYmVnaW5uZXJzLCB5b3V0aCBhdGhsZXRlcywgYW5kIGNvbW1pdHRlZCBjbGltYmVycyB3aXRoaW4gdGhlIHNhbWUgYnJvYWRlciBjdWx0dXJlLgogICAgPC9kaXY+CgogICAgPGRpdiBzdHlsZT0iZm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWYgIWltcG9ydGFudDtmb250LXNpemU6MTNweCAhaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjEuNSAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+CiAgICAgIDxhIGhyZWY9Imh0dHBzOi8vcHJvamVjdHJvY2suY29tL2Vhc2xleS8iIHN0eWxlPSJmb250LWZhbWlseTpBcmlhbCxIZWx2ZXRpY2Esc2Fucy1zZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToxM3B4ICFpbXBvcnRhbnQ7Y29sb3I6IzdiNjc0MCAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjpub25lICFpbXBvcnRhbnQ7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2NkYmI5MiAhaW1wb3J0YW50O3BhZGRpbmctYm90dG9tOjFweCAhaW1wb3J0YW50OyI+VmlzaXQgdGhlIEVhc2xleSBjbGltYmluZyBneW0gd2Vic2l0ZTwvYT4KICAgIDwvZGl2PgoKICA8L2Rpdj4KCjwvZGl2PgoKCjxkaXYgc3R5bGU9Im1heC13aWR0aDo2OTBweCAhaW1wb3J0YW50O21hcmdpbjowIGF1dG8gIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDsiPgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTonUGxheWZhaXIgRGlzcGxheScsR2VvcmdpYSwnVGltZXMgTmV3IFJvbWFuJyxzZXJpZiAhaW1wb3J0YW50O2ZvbnQtc2l6ZToyM3B4ICFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MS4yOCAhaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OjcwMCAhaW1wb3J0YW50O2NvbG9yOiMxMTExMTEgIWltcG9ydGFudDstd2Via2l0LXRleHQtZmlsbC1jb2xvcjojMTExMTExICFpbXBvcnRhbnQ7bWFyZ2luOjAgMCAxMnB4IDAgIWltcG9ydGFudDt0ZXh0LWFsaWduOmxlZnQgIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSAhaW1wb3J0YW50O2JvcmRlci1ib3R0b206bm9uZSAhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSAhaW1wb3J0YW50OyI+U291cmNlczwvZGl2PgoKICA8ZGl2IHN0eWxlPSJmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHggIWltcG9ydGFudDtsaW5lLWhlaWdodDoxLjc4ICFpbXBvcnRhbnQ7Y29sb3I6IzQ0NDQ0NCAhaW1wb3J0YW50O21hcmdpbjowIDAgMTRweCAwICFpbXBvcnRhbnQ7dGV4dC1hbGlnbjpsZWZ0ICFpbXBvcnRhbnQ7Ij5Tb3VyY2UgbWF0ZXJpYWwgZm9yIHRoaXMgYXJ0aWNsZSB3YXMgZHJhd24gZnJvbSB0aGUgTWFyY2ggMjYgc3BvdGxpZ2h0IGludGVydmlldyB3aXRoIENlY2lsLCBhbG9uZyB3aXRoIGVkaXRvcmlhbCBub3RlcyBhbmQgYnVzaW5lc3MgaW1hZ2UgYXNzZXRzIHN1cHBsaWVkIGZvciBwdWJsaWNhdGlvbiB1c2UuIE9mZmljaWFsIHdlYnNpdGUgcmVmZXJlbmNlOiA8YSBocmVmPSJodHRwczovL3Byb2plY3Ryb2NrLmNvbS9lYXNsZXkvIiBzdHlsZT0iY29sb3I6IzExMTExMSAhaW1wb3J0YW50O3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmUgIWltcG9ydGFudDtmb250LWZhbWlseTpHZW9yZ2lhLCdUaW1lcyBOZXcgUm9tYW4nLHNlcmlmICFpbXBvcnRhbnQ7Ij5pbmRvb3IgY2xpbWJpbmcgZ3ltIGluIEVhc2xleTwvYT4uPC9kaXY+CgogIDxkaXYgc3R5bGU9ImZvbnQtZmFtaWx5OkFyaWFsLEhlbHZldGljYSxzYW5zLXNlcmlmICFpbXBvcnRhbnQ7Zm9udC1zaXplOjExcHggIWltcG9ydGFudDtsZXR0ZXItc3BhY2luZzoxLjNweCAhaW1wb3J0YW50O3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZSAhaW1wb3J0YW50O2NvbG9yOiM3YTdhN2EgIWltcG9ydGFudDttYXJnaW46MCAhaW1wb3J0YW50O3RleHQtYWxpZ246bGVmdCAhaW1wb3J0YW50OyI+RWRpdG9yaWFsbHkgcHJvZHVjZWQgYnkgRml0bmVzcyBMaXZpbmcgTWFnYXppbmXihKI8L2Rpdj4KCjwvZGl2PgoKICA8L2Rpdj4KCjwvZGl2Pg==
Editorial Feature | Fitness Living Magazine™
Inside ProjectROCK: A Comprehensive Look at a Unique Indoor Climbing Gym
In Upstate South Carolina, this climbing facility is building its reputation around scale, community, and an experience designed to bring the feel of outdoor climbing indoors.
By Daniel Ford | Managing Editor, Fitness Living Magazine™
Greenville Area, South Carolina
A panoramic view of the facility captures the scale, route variety, and destination-style design that shape its climbing experience.
In the Greenville area, where outdoor recreation already shapes how many people spend their time, this facility has built something that feels different from a standard gym. It is not a fitness facility with a climbing wall added on. It is a climbing-centered environment designed to feel immersive, social, and memorable from the first visit. For people searching for a more distinctive indoor climbing experience in the Upstate, that difference matters.
That perspective came through clearly in a recent interview with manager Cecil, whose background includes personal training, strength and conditioning, fitness leadership, and years of experience in climbing gyms. His view of the business is practical and grounded. Climbing can challenge the body, but it also builds confidence, sharpens problem solving, and creates relationships that often last beyond the workout itself.
Quick Answer
What makes this climbing gym stand out?
ProjectROCK stands out for its unusually tall climbing walls, natural-feature surfaces inspired by real outdoor destinations, youth programming, and beginner-to-advanced climbing options under one roof. Just as important, the facility emphasizes customer service, cleanliness, community, and a member experience designed to feel welcoming rather than intimidating.
A Facility Designed to Feel Bigger Than a Routine Workout
One of the clearest differentiators is the gym’s effort to recreate the feel of outdoor climbing indoors. According to Cecil, the facility was designed to move beyond a copy-and-paste wall system. Its surfaces draw inspiration from iconic climbing destinations such as Yosemite Valley, Delicate Arch, Devil’s Tower, Smith Rock, Joshua Tree, and regional Southeastern crags.
That design choice does more than create visual interest. It gives experienced climbers something more textured and place-driven, while also giving beginners a more memorable introduction to the sport. The result is a facility with stronger identity, more atmosphere, and a clearer sense of purpose than a standard climbing gym often provides.
One of the facility’s standout natural-feature walls reinforces its effort to bring the visual feel of outdoor climbing inside.
“From the time our members enter the building to the time they leave, we want them to feel they had an exceptional experience. It’s not only about the quality of the climbing. It’s also about our staff, our members, and making the place feel like home so they want to come back.”
Cecil, manager
From Beginner Access to Towering Walls
The layout itself helps explain the gym’s appeal. Visitors enter through a front desk and pro shop before moving into distinct climbing zones designed for different skill levels and experiences. One room, known as American Valley, is built with beginners in mind. It uses familiar landmarks and auto-belay systems to create a friendlier introduction for first-time climbers, children, and anyone still working through a fear of heights.
Beyond that is a bouldering area inspired in part by destinations such as Joshua Tree and Horse Pens 40. Then the main wall section shifts the scale dramatically. Climbs begin around 38 feet and rise to roughly 84.5 feet, with more than 70 to 80 lanes for top rope and lead climbing. Even without leaning on superlatives, the height alone helps explain why many first-time visitors are stunned when they walk in.
- Beginner-friendly climbing areas with auto-belay access
- Dedicated bouldering terrain
- Top rope and lead climbing lanes
- A scale that gives the facility a destination feel
The largest climbing area is defined by height, lane variety, and routes designed for both newer and more advanced climbers.
Why Coaching and Progression Matter Here
The facility is not built only for seasoned climbers. Its programming reflects a broader view of what a climbing gym can offer. The youth team and recreation program serves ages 7 to 17, giving families another option beyond traditional team sports. Cecil described climbing as a sport that combines physical effort with problem solving, which helps explain why it can resonate with kids who do not always connect with more conventional athletic paths.
The gym also offers top rope belay classes and lead clinics. That educational layer matters. Newcomers rarely build confidence from access alone. They build it through guided instruction, repetition, and a setting that makes progress feel structured and safe. In that sense, coaching is not an extra feature here. It is part of how the business introduces people to climbing in the first place.
A Community Model, Not Only a Membership Model
One of the strongest themes in the interview was community. Cecil returned to it repeatedly, not as marketing language but as operating philosophy. In climbing, especially in top rope and lead formats, partnership is built into the activity. Trust, communication, and accountability are part of the sport. The business appears to lean into that reality instead of treating it as incidental.
That member-first mindset also shapes the daily experience. Cecil said the compliments that matter most are not only about the walls. They are about the staff being helpful, respectful, and kind. Cleanliness, too, is treated as part of the experience, especially in an environment where chalk and heavy use can easily make a facility feel neglected if standards slip.
For many members, the experience extends beyond the wall itself and into the sense of connection they feel while they are there.
Why Local Context Still Matters
The facility occupies an interesting place in the local market. It is close enough to Greenville to draw city-based climbers, yet separate enough that awareness remains part of the challenge. Cecil described the gym as a best kept secret, which captures both the opportunity and the frustration. The product itself appears strong. Visibility is the harder battle.
That context helps explain why word of mouth remains so important. The gym appears to pull from Greenville, Easley, Pickens, and the broader Upstate. People visit, see the scale, feel welcomed, and bring someone back. In local fitness markets, that kind of referral pattern is often more durable than any short-term promotion.
It also helps frame the gym’s future ambitions. Cecil spoke about the possibility of an outdoor wall rising 85 to 90 feet, an outdoor boulder field, a picnic area, and even a pump track. Those additions would not just expand the footprint. They would strengthen the brand’s identity as a destination climbing facility for the region.
FAQ: Climbing Near the Greenville Area
What makes this climbing gym different from a typical indoor facility?
Its identity is built around natural-feature climbing walls, destination-inspired design, and uncommon wall height. That combination gives the facility a more immersive feel than a standard indoor climbing setup.
Who is this facility best suited for?
The gym serves a broad audience, including young professionals, families, first-time climbers, youth athletes, and experienced climbers looking for bouldering, top rope, and lead climbing options.
Does the gym offer programs for kids and beginners?
Yes. The gym offers a youth team and recreation program for ages 7 through 17, along with beginner-friendly areas, auto-belay access, top rope belay classes, and lead clinics that support skill development in a safer, more approachable way.
What kind of experience does the team want people to remember?
The goal is for people to leave feeling they had an exceptional experience from the moment they entered to the moment they left, with strong service, a welcoming atmosphere, and a sense of community that encourages them to return.
Key Takeaways
- ProjectROCK positions itself as a distinctive climbing facility serving the Greenville area and the wider Upstate South Carolina market.
- The gym combines beginner access, youth programming, bouldering, top rope climbing, and lead climbing in one unusually large environment.
- Its natural-feature walls and destination-inspired design help separate it from more standardized indoor climbing spaces.
- Community, customer service, cleanliness, and repeat-worthy member experience are central to the business identity.
- Local visibility remains a major growth challenge, even as word of mouth continues to drive discovery and loyalty.
Conclusion
The most persuasive part of the story is that this business is not trying to compete on trendiness. Its case is simpler and stronger. Offer something memorable, deliver it with care, and make people feel welcome enough to come back. In a fitness landscape crowded with interchangeable concepts, that kind of clarity is difficult to fake.
For climbers in the Greenville area, for families looking for a different kind of athletic outlet, and for anyone curious about a facility that aims to feel bigger than a single workout, this destination appears to be building more than walls. It is building a place people can grow into.
Readers interested in exploring this indoor climbing gym near Greenville can visit the facility online.
About the Featured Expert
Cecil
Manager, ProjectROCK
Greenville Area / Easley, South Carolina
Cecil is the manager featured in this editorial look at ProjectROCK, the indoor climbing facility serving the Greenville area and the wider Upstate. His background spans personal training, strength and conditioning, fitness leadership, and earlier experience working in a climbing gym during college. In the interview, he comes across as practical, service-minded, and deeply aware that a strong climbing business depends on more than route setting alone. His perspective centers on building a facility where people can challenge themselves, feel welcomed, and return often enough to become part of the community.
Mission / Philosophy
His philosophy is that climbing should feel like more than a workout. The goal is to create an experience that begins the moment someone walks in the door and continues through their time in the gym. That means combining physical challenge with strong customer care, a sense of belonging, and an environment that feels approachable enough for beginners while still meaningful for experienced climbers.
Values / Specialties
Based on the interview, Cecil’s strengths lie in operational leadership, member experience, and making climbing feel accessible without flattening its challenge. He speaks often about community, cleanliness, safety, and the importance of guided progression. Those priorities help shape the facility as a place that serves families, beginners, youth athletes, and committed climbers within the same broader culture.
Sources
Source material for this article was drawn from the March 26 spotlight interview with Cecil, along with editorial notes and business image assets supplied for publication use. Official website reference: indoor climbing gym in Easley.
Editorially produced by Fitness Living Magazine™
Add Row
Add
Write A Comment