From 102ce68d17338c905f890e5bce7965552326eef0 Mon Sep 17 00:00:00 2001 From: Nigel O'Toole Date: Wed, 21 Feb 2018 14:30:15 +0000 Subject: [PATCH] Add passive event listener and refine demo site styles --- index.html | 2 +- index.js | 2 +- package.json | 2 +- scripts/bundle.js | 2 +- scripts/bundle.js.map | 2 +- scripts/direction-reveal.js | 12 ++++++------ styles/direction-reveal.css | 24 +++++++++++++++++------- styles/direction-reveal.scss | 12 +++++++++--- styles/site.css | 17 ++++++++++++++--- styles/site/_site.scss | 20 +++++++++++++++----- 10 files changed, 66 insertions(+), 29 deletions(-) diff --git a/index.html b/index.html index 62739c0..9e9b9a1 100644 --- a/index.html +++ b/index.html @@ -484,7 +484,7 @@

Touch support

Browser support

-

Supports all modern browsers(Firefox, Chrome and Edge) released as of January 2018. For older browsers you may need to include polyfills for Nodelist.forEach and Element.classList.

+

Supports all modern browsers(Firefox, Chrome and Edge) released as of January 2018. For older browsers you may need to include polyfills for Nodelist.forEach, Element.classList and Passive Event Listeners.

diff --git a/index.js b/index.js index 6ec8490..aef53be 100644 --- a/index.js +++ b/index.js @@ -117,7 +117,7 @@ item.addEventListener('touchstart', function (e) { touchStart = +new Date(); - }); + }, { passive: true }); item.addEventListener('touchend', function (e) { var touchTime = +new Date() - touchStart; diff --git a/package.json b/package.json index 9b8c526..7bc7f46 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "direction-reveal", "description": "Direction aware content reveals.", - "version": "1.3.0", + "version": "1.3.1", "main": "index.js", "module": "scripts/direction-reveal.js", "jsnext:main": "scripts/direction-reveal.js", diff --git a/scripts/bundle.js b/scripts/bundle.js index 89cb342..b4d5aa3 100644 --- a/scripts/bundle.js +++ b/scripts/bundle.js @@ -105,7 +105,7 @@ var DirectionReveal = function DirectionReveal() { item.addEventListener('touchstart', function (e) { touchStart = +new Date(); - }); + }, { passive: true }); item.addEventListener('touchend', function (e) { var touchTime = +new Date() - touchStart; diff --git a/scripts/bundle.js.map b/scripts/bundle.js.map index a3cfdd1..18da8fd 100644 --- a/scripts/bundle.js.map +++ b/scripts/bundle.js.map @@ -1 +1 @@ -{"version":3,"sources":["node_modules/browser-pack/_prelude.js","scripts/direction-reveal.js","scripts/main.js"],"names":[],"mappings":"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","file":"bundle.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o h ? (h / w) : 1));\n let y = (e.pageY - position.y - (h / 2) * (h > w ? (w / h) : 1));\n\n // Calculate the angle the pointer entered/exited and convert to clockwise format (top/right/bottom/left = 0/1/2/3). See https://stackoverflow.com/a/3647634 for a full explanation.\n let d = Math.round(Math.atan2(y, x) / 1.57079633 + 5) % 4;\n\n // console.table([x, y, w, h, e.pageX, e.pageY, item.offsetLeft, item.offsetTop, position.x, position.y]);\n\n return d;\n };\n\n\n // https://www.kirupa.com/html5/get_element_position_using_javascript.htm\n const getPosition = function (el) {\n let xPos = 0;\n let yPos = 0;\n\n while (el) {\n xPos += (el.offsetLeft + el.clientLeft);\n yPos += (el.offsetTop + el.clientTop);\n\n el = el.offsetParent;\n }\n return {\n x: xPos,\n y: yPos\n };\n }\n\n\n const translateDirection = switchcase({\n 0: 'top',\n 1: 'right',\n 2: 'bottom',\n 3: 'left'\n })('top');\n\n\n const addClass = function (e, state) {\n let currentItem = e.currentTarget;\n let direction = getDirection(e, currentItem);\n let directionString = translateDirection(direction);\n\n // Remove current animation classes and add new ones e.g. swap --in for --out.\n let currentCssClasses = currentItem.className.split(' ');\n let filteredCssClasses = currentCssClasses.filter((cssClass) => (!cssClass.startsWith(animationName))).join(' ');\n currentItem.className = filteredCssClasses;\n currentItem.classList.add(`${animationName}--${state}-${directionString}`);\n };\n\n\n const bindEvents = function (containerItem) {\n const items = containerItem.querySelectorAll(itemSelector);\n\n items.forEach((item) => {\n\n addEventListenerMulti(item, ['mouseenter', 'focus'], function(e) {\n addClass(e, 'in');\n });\n\n addEventListenerMulti(item, ['mouseleave', 'blur'], function(e) {\n addClass(e, 'out');\n });\n\n\n if (enableTouch) {\n\n item.addEventListener('touchstart', function(e) {\n touchStart = +new Date;\n });\n\n item.addEventListener('touchend', function(e) {\n let touchTime = +new Date - touchStart;\n\n if (touchTime < touchThreshold && !item.className.includes(`${animationName}--in`)) {\n e.preventDefault();\n\n resetVisible(e, items, addClass(e, 'in'));\n }\n });\n\n }\n\n });\n };\n\n const addEventListenerMulti = function (element, events, fn) {\n events.forEach((e) => element.addEventListener(e, fn));\n }\n\n\n const resetVisible = function (e, items, callback) {\n\n items.forEach((item) => {\n let currentCssClasses = item.className;\n\n if(currentCssClasses.includes(`${animationName}--in`) && item !== e.currentTarget) {\n item.className = currentCssClasses.replace(`${animationName}--in`, `${animationName}--out`);\n }\n });\n\n callback;\n };\n\n\n const init = function () {\n\n if (containers.length) {\n containers.forEach((containerItem) => {\n bindEvents(containerItem);\n });\n }\n else {\n return;\n }\n\n };\n\n // Init is called by default\n init();\n\n\n // Reveal API\n return {\n init\n };\n};\n\nexport default DirectionReveal;\n\n\n// Better switch cases - https://hackernoon.com/rethinking-javascript-eliminate-the-switch-statement-for-better-code-5c81c044716d\nexport const switchcase = cases => defaultCase => key =>\nkey in cases ? cases[key] : defaultCase;\n","import DirectionReveal from './direction-reveal.js';\n\n// Swing animation(Default)\nconst directionRevealSwing = DirectionReveal({\n selector: '.direction-reveal--demo-swing'\n});\n\n// Slide animation with all options specified\nconst directionRevealSlide = DirectionReveal({\n selector: '.direction-reveal--demo-slide',\n itemSelector: '.direction-reveal__card',\n animationName: 'slide',\n enableTouch: true,\n touchThreshold: 250\n});\n\n// Slide & push\nconst directionRevealSlidePush = DirectionReveal({\n selector: '.direction-reveal--demo-slide-push',\n animationName: 'slide'\n});\n\n// Rotate animation\nconst directionRevealRotate = DirectionReveal({\n selector: '.direction-reveal--demo-rotate',\n animationName: 'rotate'\n});\n\n// Flip animation\nconst directionRevealFlip = DirectionReveal({\n selector: '.direction-reveal--demo-flip',\n animationName: 'flip'\n});\n\n// Bootstrap demo\nconst directionRevealBoostrap = DirectionReveal({\n selector: '.direction-reveal--demo-bootstrap'\n});\n"],"preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzY3JpcHRzL2RpcmVjdGlvbi1yZXZlYWwuanMiLCJzY3JpcHRzL21haW4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7QUNDQTs7Ozs7Ozs7Ozs7QUFZQSxJQUFNLGtCQUFrQixTQUFsQixlQUFrQixHQU1kO0FBQUEsaUZBQUosRUFBSTtBQUFBLDJCQUxSLFFBS1E7QUFBQSxNQUxFLFFBS0YsaUNBTGEsbUJBS2I7QUFBQSwrQkFKUixZQUlRO0FBQUEsTUFKTSxZQUlOLHFDQUpxQix5QkFJckI7QUFBQSxnQ0FIUixhQUdRO0FBQUEsTUFITyxhQUdQLHNDQUh1QixPQUd2QjtBQUFBLDhCQUZSLFdBRVE7QUFBQSxNQUZLLFdBRUwsb0NBRm1CLElBRW5CO0FBQUEsaUNBRFIsY0FDUTtBQUFBLE1BRFEsY0FDUix1Q0FEeUIsR0FDekI7O0FBRVIsTUFBTSxhQUFhLFNBQVMsZ0JBQVQsQ0FBMEIsUUFBMUIsQ0FBbkI7QUFDQSxNQUFJLG1CQUFKOztBQUdBLE1BQU0sZUFBZSxTQUFmLFlBQWUsQ0FBVSxDQUFWLEVBQWEsSUFBYixFQUFtQjtBQUN0QztBQUNBLFFBQUksSUFBSSxLQUFLLFdBQWI7QUFDQSxRQUFJLElBQUksS0FBSyxZQUFiO0FBQ0EsUUFBSSxXQUFXLFlBQVksSUFBWixDQUFmOztBQUVBO0FBQ0EsUUFBSSxJQUFLLEVBQUUsS0FBRixHQUFVLFNBQVMsQ0FBbkIsR0FBd0IsSUFBSSxDQUFMLElBQVcsSUFBSSxDQUFKLEdBQVMsSUFBSSxDQUFiLEdBQWtCLENBQTdCLENBQWhDO0FBQ0EsUUFBSSxJQUFLLEVBQUUsS0FBRixHQUFVLFNBQVMsQ0FBbkIsR0FBd0IsSUFBSSxDQUFMLElBQVcsSUFBSSxDQUFKLEdBQVMsSUFBSSxDQUFiLEdBQWtCLENBQTdCLENBQWhDOztBQUVBO0FBQ0EsUUFBSSxJQUFJLEtBQUssS0FBTCxDQUFXLEtBQUssS0FBTCxDQUFXLENB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QSxJQUFNLDJCQUEyQiwrQkFBZ0I7QUFDL0MsWUFBVSxvQ0FEcUM7QUFFL0MsaUJBQWU7QUFGZ0MsQ0FBaEIsQ0FBakM7O0FBS0E7QUFDQSxJQUFNLHdCQUF3QiwrQkFBZ0I7QUFDNUMsWUFBVSxnQ0FEa0M7QUFFNUMsaUJBQWU7QUFGNkIsQ0FBaEIsQ0FBOUI7O0FBS0E7QUFDQSxJQUFNLHNCQUFzQiwrQkFBZ0I7QUFDMUMsWUFBVSw4QkFEZ0M7QUFFMUMsaUJBQWU7QUFGMkIsQ0FBaEIsQ0FBNUI7O0FBS0E7QUFDQSxJQUFNLDBCQUEwQiwrQkFBZ0I7QUFDOUMsWUFBVTtBQURvQyxDQUFoQixDQUFoQyIsImZpbGUiOiJnZW5lcmF0ZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiKGZ1bmN0aW9uIGUodCxuLHIpe2Z1bmN0aW9uIHMobyx1KXtpZighbltvXSl7aWYoIXRbb10pe3ZhciBhPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7aWYoIXUmJmEpcmV0dXJuIGEobywhMCk7aWYoaSlyZXR1cm4gaShvLCEwKTt2YXIgZj1uZXcgRXJyb3IoXCJDYW5ub3QgZmluZCBtb2R1bGUgJ1wiK28rXCInXCIpO3Rocm93IGYuY29kZT1cIk1PRFVMRV9OT1RfRk9VTkRcIixmfXZhciBsPW5bb109e2V4cG9ydHM6e319O3Rbb11bMF0uY2FsbChsLmV4cG9ydHMsZnVuY3Rpb24oZSl7dmFyIG49dFtvXVsxXVtlXTtyZXR1cm4gcyhuP246ZSl9LGwsbC5leHBvcnRzLGUsdCxuLHIpfXJldHVybiBuW29dLmV4cG9ydHN9dmFyIGk9dHlwZW9mIHJlcXVpcmU9PVwiZnVuY3Rpb25cIiYmcmVxdWlyZTtmb3IodmFyIG89MDtvPHIubGVuZ3RoO28rKylzKHJbb10pO3JldHVybiBzfSkiLCJcbi8qKlxuICBEaXJlY3Rpb24gYXdhcmUgY29udGVudCByZXZlYWxzLlxuXG4gIEBwYXJhbSB7T2JqZWN0fSBvYmplY3QgLSBDb250YWluZXIgZm9yIGFsbCBvcHRpb25zLlxuICBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgLSBDb250YWluZXIgZWxlbWVudCBzZWxlY3Rvci5cbiAgQHBhcmFtIHtzdHJpbmd9IGl0ZW1TZWxlY3RvciAtIEl0ZW0gZWxlbWVudCBzZWxlY3Rvci5cbiAgQHBhcmFtIHtzdHJpbmd9IGFuaW1hdGlvbk5hbWUgLSBBbmltYXRpb24gQ1NTIGNsYXNzLlxuICBAcGFyYW0ge2JvbGxlYW59IGVuYWJsZVRvdWNoICAtIEFkZHMgdG91Y2ggZXZlbnQgdG8gc2hvdyBjb250ZW50IG9uIGZpcnN0IGNsaWNrIHRoZW4gZm9sbG93IGxpbmsgb24gdGhlIHNlY29uZCBjbGljay5cbiAgQHBhcmFtIHtpbnRlZ2VyfSB0b3VjaFRocmVzaG9sZCAtIFRvdWNoIGxlbmd0aCBtdXN0IGJlIGxlc3MgdGhhbiB0aGlzIHRvIHRyaWdnZXIgcmV2ZWFsIHdoaWNoIHByZXZlbnRzIHRoZSBldmVudCB0cmlnZ2VyaW5nIGlmIHVzZXIgaXMgc2Nyb2xsaW5nLlxuKi9cblxuXG5jb25zdCBEaXJlY3Rpb25SZXZlYWwgPSBmdW5jdGlvbih7XG4gIHNlbGVjdG9yOiBzZWxlY3RvciA9ICcuZGlyZWN0aW9uLXJldmVhbCcsXG4gIGl0ZW1TZWxlY3RvcjogaXRlbVNlbGVjdG9yID0gJy5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkJyxcbiAgYW5pbWF0aW9uTmFtZTogYW5pbWF0aW9uTmFtZSA9ICdzd2luZycsXG4gIGVuYWJsZVRvdWNoOiBlbmFibGVUb3VjaCA9IHRydWUsXG4gIHRvdWNoVGhyZXNob2xkOiB0b3VjaFRocmVzaG9sZCA9IDI1MFxuICB9ID0ge30pIHtcblxuICBjb25zdCBjb250YWluZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChzZWxlY3Rvcik7XG4gIGxldCB0b3VjaFN0YXJ0O1xuXG5cbiAgY29uc3QgZ2V0RGlyZWN0aW9uID0gZnVuY3Rpb24gKGUsIGl0ZW0pIHtcbiAgICAvLyBXaWR0aCBhbmQgaGVpZ2h0IG9mIGN1cnJlbnQgaXRlbVxuICAgIGxldCB3ID0gaXRlbS5vZmZzZXRXaWR0aDtcbiAgICBsZXQgaCA9IGl0ZW0ub2Zmc2V0SGVpZ2h0O1xuICAgIGxldCBwb3NpdGlvbiA9IGdldFBvc2l0aW9uKGl0ZW0pO1xuXG4gICAgLy8gQ2FsY3VsYXRlIHRoZSB4L3kgdmFsdWUgb2YgdGhlIHBvaW50ZXIgZW50ZXJpbmcvZXhpdGluZywgcmVsYXRpdmUgdG8gdGhlIGNlbnRlciBvZiB0aGUgaXRlbS5cbiAgICBsZXQgeCA9IChlLnBhZ2VYIC0gcG9zaXRpb24ueCAtICh3IC8gMikgKiAodyA+IGggPyAoaCAvIHcpIDogMSkpO1xuICAgIGxldCB5ID0gKGUucGFnZVkgLSBwb3NpdGlvbi55IC0gKGggLyAyKSAqIChoID4gdyA/ICh3IC8gaCkgOiAxKSk7XG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIGFuZ2xlIHRoZSBwb2ludGVyIGVudGVyZWQvZXhpdGVkIGFuZCBjb252ZXJ0IHRvIGNsb2Nrd2lzZSBmb3JtYXQgKHRvcC9yaWdodC9ib3R0b20vbGVmdCA9IDAvMS8yLzMpLiAgU2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zNjQ3NjM0IGZvciBhIGZ1bGwgZXhwbGFuYXRpb24uXG4gICAgbGV0IGQgPSBNYXRoLnJvdW5kKE1hdGguYXRhbjIoeSwgeCkgLyAxLjU3MDc5NjMzICsgNSkgJSA0O1xuXG4gICAgLy8gY29uc29sZS50YWJsZShbeCwgeSwgdywgaCwgZS5wYWdlWCwgZS5wYWdlWSwgaXRlbS5vZmZzZXRMZWZ0LCBpdGVtLm9mZnNldFRvcCwgcG9zaXRpb24ueCwgcG9zaXRpb24ueV0pO1xuXG4gICAgcmV0dXJuIGQ7XG4gIH07XG5cblxuICAvLyBodHRwczovL3d3dy5raXJ1cGEuY29tL2h0bWw1L2dldF9lbGVtZW50X3Bvc2l0aW9uX3VzaW5nX2phdmFzY3JpcHQuaHRtXG4gIGNvbnN0IGdldFBvc2l0aW9uID0gZnVuY3Rpb24gKGVsKSB7XG4gICAgbGV0IHhQb3MgPSAwO1xuICAgIGxldCB5UG9zID0gMDtcblxuICAgIHdoaWxlIChlbCkge1xuICAgICAgeFBvcyArPSAoZWwub2Zmc2V0TGVmdCArIGVsLmNsaWVudExlZnQpO1xuICAgICAgeVBvcyArPSAoZWwub2Zmc2V0VG9wICsgZWwuY2xpZW50VG9wKTtcblxuICAgICAgZWwgPSBlbC5vZmZzZXRQYXJlbnQ7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICB4OiB4UG9zLFxuICAgICAgeTogeVBvc1xuICAgIH07XG4gIH1cblxuXG4gIGNvbnN0IHRyYW5zbGF0ZURpcmVjdGlvbiA9IHN3aXRjaGNhc2Uoe1xuICAgIDA6ICd0b3AnLFxuICAgIDE6ICdyaWdodCcsXG4gICAgMjogJ2JvdHRvbScsXG4gICAgMzogJ2xlZnQnXG4gIH0pKCd0b3AnKTtcblxuXG4gIGNvbnN0IGFkZENsYXNzID0gZnVuY3Rpb24gKGUsIHN0YXRlKSB7XG4gICAgbGV0IGN1cnJlbnRJdGVtID0gZS5jdXJyZW50VGFyZ2V0O1xuICAgIGxldCBkaXJlY3Rpb24gPSBnZXREaXJlY3Rpb24oZSwgY3VycmVudEl0ZW0pO1xuICAgIGxldCBkaXJlY3Rpb25TdHJpbmcgPSB0cmFuc2xhdGVEaXJlY3Rpb24oZGlyZWN0aW9uKTtcblxuICAgIC8vIFJlbW92ZSBjdXJyZW50IGFuaW1hdGlvbiBjbGFzc2VzIGFuZCBhZGQgbmV3IG9uZXMgZS5nLiBzd2FwIC0taW4gZm9yIC0tb3V0LlxuICAgIGxldCBjdXJyZW50Q3NzQ2xhc3NlcyA9IGN1cnJlbnRJdGVtLmNsYXNzTmFtZS5zcGxpdCgnICcpO1xuICAgIGxldCBmaWx0ZXJlZENzc0NsYXNzZXMgPSBjdXJyZW50Q3NzQ2xhc3Nlcy5maWx0ZXIoKGNzc0NsYXNzKSA9PiAoIWNzc0NsYXNzLnN0YXJ0c1dpdGgoYW5pbWF0aW9uTmFtZSkpKS5qb2luKCcgJyk7XG4gICAgY3VycmVudEl0ZW0uY2xhc3NOYW1lID0gZmlsdGVyZWRDc3NDbGFzc2VzO1xuICAgIGN1cnJlbnRJdGVtLmNsYXNzTGlzdC5hZGQoYCR7YW5pbWF0aW9uTmFtZX0tLSR7c3RhdGV9LSR7ZGlyZWN0aW9uU3RyaW5nfWApO1xuICB9O1xuXG5cbiAgY29uc3QgYmluZEV2ZW50cyA9IGZ1bmN0aW9uIChjb250YWluZXJJdGVtKSB7XG4gICAgY29uc3QgaXRlbXMgPSBjb250YWluZXJJdGVtLnF1ZXJ5U2VsZWN0b3JBbGwoaXRlbVNlbGVjdG9yKTtcblxuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcblxuICAgICAgYWRkRXZlbnRMaXN0ZW5lck11bHRpKGl0ZW0sIFsnbW91c2VlbnRlcicsICdmb2N1cyddLCBmdW5jdGlvbihlKSB7XG4gICAgICAgIGFkZENsYXNzKGUsICdpbicpO1xuICAgICAgfSk7XG5cbiAgICAgIGFkZEV2ZW50TGlzdGVuZXJNdWx0aShpdGVtLCBbJ21vdXNlbGVhdmUnLCAnYmx1ciddLCBmdW5jdGlvbihlKSB7XG4gICAgICAgIGFkZENsYXNzKGUsICdvdXQnKTtcbiAgICAgIH0pO1xuXG5cbiAgICAgIGlmIChlbmFibGVUb3VjaCkge1xuXG4gICAgICAgIGl0ZW0uYWRkRXZlbnRMaXN0ZW5lcigndG91Y2hzdGFydCcsIGZ1bmN0aW9uKGUpIHtcbiAgICAgICAgICB0b3VjaFN0YXJ0ID0gK25ldyBEYXRlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgZnVuY3Rpb24oZSkge1xuICAgICAgICAgIGxldCB0b3VjaFRpbWUgPSArbmV3IERhdGUgLSB0b3VjaFN0YXJ0O1xuXG4gICAgICAgICAgaWYgKHRvdWNoVGltZSA8IHRvdWNoVGhyZXNob2xkICYmICFpdGVtLmNsYXNzTmFtZS5pbmNsdWRlcyhgJHthbmltYXRpb25OYW1lfS0taW5gKSkge1xuICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgICAgICAgICByZXNldFZpc2libGUoZSwgaXRlbXMsIGFkZENsYXNzKGUsICdpbicpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICB9XG5cbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBhZGRFdmVudExpc3RlbmVyTXVsdGkgPSBmdW5jdGlvbiAoZWxlbWVudCwgZXZlbnRzLCBmbikge1xuICAgIGV2ZW50cy5mb3JFYWNoKChlKSA9PiBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoZSwgZm4pKTtcbiAgfVxuXG5cbiAgY29uc3QgcmVzZXRWaXNpYmxlID0gZnVuY3Rpb24gKGUsIGl0ZW1zLCBjYWxsYmFjaykge1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgbGV0IGN1cnJlbnRDc3NDbGFzc2VzID0gaXRlbS5jbGFzc05hbWU7XG5cbiAgICAgIGlmKGN1cnJlbnRDc3NDbGFzc2VzLmluY2x1ZGVzKGAke2FuaW1hdGlvbk5hbWV9LS1pbmApICYmIGl0ZW0gIT09IGUuY3VycmVudFRhcmdldCkge1xuICAgICAgICBpdGVtLmNsYXNzTmFtZSA9IGN1cnJlbnRDc3NDbGFzc2VzLnJlcGxhY2UoYCR7YW5pbWF0aW9uTmFtZX0tLWluYCwgYCR7YW5pbWF0aW9uTmFtZX0tLW91dGApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY2FsbGJhY2s7XG4gIH07XG5cblxuICBjb25zdCBpbml0ID0gZnVuY3Rpb24gKCkge1xuXG4gICAgaWYgKGNvbnRhaW5lcnMubGVuZ3RoKSB7XG4gICAgICBjb250YWluZXJzLmZvckVhY2goKGNvbnRhaW5lckl0ZW0pID0+IHtcbiAgICAgICAgYmluZEV2ZW50cyhjb250YWluZXJJdGVtKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgfTtcblxuICAvLyBJbml0IGlzIGNhbGxlZCBieSBkZWZhdWx0XG4gIGluaXQoKTtcblxuXG4gIC8vIFJldmVhbCBBUElcbiAgcmV0dXJuIHtcbiAgICBpbml0XG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBEaXJlY3Rpb25SZXZlYWw7XG5cblxuLy8gQmV0dGVyIHN3aXRjaCBjYXNlcyAtIGh0dHBzOi8vaGFja2Vybm9vbi5jb20vcmV0aGlua2luZy1qYXZhc2NyaXB0LWVsaW1pbmF0ZS10aGUtc3dpdGNoLXN0YXRlbWVudC1mb3ItYmV0dGVyLWNvZGUtNWM4MWMwNDQ3MTZkXG5leHBvcnQgY29uc3Qgc3dpdGNoY2FzZSA9IGNhc2VzID0+IGRlZmF1bHRDYXNlID0+IGtleSA9Plxua2V5IGluIGNhc2VzID8gY2FzZXNba2V5XSA6IGRlZmF1bHRDYXNlO1xuIiwiaW1wb3J0IERpcmVjdGlvblJldmVhbCBmcm9tICcuL2RpcmVjdGlvbi1yZXZlYWwuanMnO1xuXG4vLyBTd2luZyBhbmltYXRpb24oRGVmYXVsdClcbmNvbnN0IGRpcmVjdGlvblJldmVhbFN3aW5nID0gRGlyZWN0aW9uUmV2ZWFsKHtcbiAgc2VsZWN0b3I6ICcuZGlyZWN0aW9uLXJldmVhbC0tZGVtby1zd2luZydcbn0pO1xuXG4vLyBTbGlkZSBhbmltYXRpb24gd2l0aCBhbGwgb3B0aW9ucyBzcGVjaWZpZWRcbmNvbnN0IGRpcmVjdGlvblJldmVhbFNsaWRlID0gRGlyZWN0aW9uUmV2ZWFsKHtcbiAgc2VsZWN0b3I6ICcuZGlyZWN0aW9uLXJldmVhbC0tZGVtby1zbGlkZScsXG4gIGl0ZW1TZWxlY3RvcjogJy5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkJyxcbiAgYW5pbWF0aW9uTmFtZTogJ3NsaWRlJyxcbiAgZW5hYmxlVG91Y2g6IHRydWUsXG4gIHRvdWNoVGhyZXNob2xkOiAyNTBcbn0pO1xuXG4vLyBTbGlkZSAmIHB1c2hcbmNvbnN0IGRpcmVjdGlvblJldmVhbFNsaWRlUHVzaCA9IERpcmVjdGlvblJldmVhbCh7XG4gIHNlbGVjdG9yOiAnLmRpcmVjdGlvbi1yZXZlYWwtLWRlbW8tc2xpZGUtcHVzaCcsXG4gIGFuaW1hdGlvbk5hbWU6ICdzbGlkZSdcbn0pO1xuXG4vLyBSb3RhdGUgYW5pbWF0aW9uXG5jb25zdCBkaXJlY3Rpb25SZXZlYWxSb3RhdGUgPSBEaXJlY3Rpb25SZXZlYWwoe1xuICBzZWxlY3RvcjogJy5kaXJlY3Rpb24tcmV2ZWFsLS1kZW1vLXJvdGF0ZScsXG4gIGFuaW1hdGlvbk5hbWU6ICdyb3RhdGUnXG59KTtcblxuLy8gRmxpcCBhbmltYXRpb25cbmNvbnN0IGRpcmVjdGlvblJldmVhbEZsaXAgPSBEaXJlY3Rpb25SZXZlYWwoe1xuICBzZWxlY3RvcjogJy5kaXJlY3Rpb24tcmV2ZWFsLS1kZW1vLWZsaXAnLFxuICBhbmltYXRpb25OYW1lOiAnZmxpcCdcbn0pO1xuXG4vLyBCb290c3RyYXAgZGVtb1xuY29uc3QgZGlyZWN0aW9uUmV2ZWFsQm9vc3RyYXAgPSBEaXJlY3Rpb25SZXZlYWwoe1xuICBzZWxlY3RvcjogJy5kaXJlY3Rpb24tcmV2ZWFsLS1kZW1vLWJvb3RzdHJhcCdcbn0pO1xuIl19"} \ No newline at end of file +{"version":3,"sources":["node_modules/browser-pack/_prelude.js","scripts/direction-reveal.js","scripts/main.js"],"names":[],"mappings":"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","file":"bundle.js","sourcesContent":["(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o h ? (h / w) : 1));\n let y = (e.pageY - position.y - (h / 2) * (h > w ? (w / h) : 1));\n\n // Calculate the angle the pointer entered/exited and convert to clockwise format (top/right/bottom/left = 0/1/2/3). See https://stackoverflow.com/a/3647634 for a full explanation.\n let d = Math.round(Math.atan2(y, x) / 1.57079633 + 5) % 4;\n\n // console.table([x, y, w, h, e.pageX, e.pageY, item.offsetLeft, item.offsetTop, position.x, position.y]);\n\n return d;\n };\n\n\n // https://www.kirupa.com/html5/get_element_position_using_javascript.htm\n const getPosition = function (el) {\n let xPos = 0;\n let yPos = 0;\n\n while (el) {\n xPos += (el.offsetLeft + el.clientLeft);\n yPos += (el.offsetTop + el.clientTop);\n\n el = el.offsetParent;\n }\n return {\n x: xPos,\n y: yPos\n };\n }\n\n\n const translateDirection = switchcase({\n 0: 'top',\n 1: 'right',\n 2: 'bottom',\n 3: 'left'\n })('top');\n\n\n const addClass = function (e, state) {\n let currentItem = e.currentTarget;\n let direction = getDirection(e, currentItem);\n let directionString = translateDirection(direction);\n\n // Remove current animation classes and add new ones e.g. swap --in for --out.\n let currentCssClasses = currentItem.className.split(' ');\n let filteredCssClasses = currentCssClasses.filter((cssClass) => (!cssClass.startsWith(animationName))).join(' ');\n currentItem.className = filteredCssClasses;\n currentItem.classList.add(`${animationName}--${state}-${directionString}`);\n };\n\n\n const bindEvents = function (containerItem) {\n const items = containerItem.querySelectorAll(itemSelector);\n\n items.forEach((item) => {\n\n addEventListenerMulti(item, ['mouseenter', 'focus'], (e) => {\n addClass(e, 'in');\n });\n\n addEventListenerMulti(item, ['mouseleave', 'blur'], (e) => {\n addClass(e, 'out');\n });\n\n\n if (enableTouch) {\n\n item.addEventListener('touchstart', (e) => {\n touchStart = +new Date;\n }, { passive: true });\n\n item.addEventListener('touchend', (e) => {\n let touchTime = +new Date - touchStart;\n\n if (touchTime < touchThreshold && !item.className.includes(`${animationName}--in`)) {\n e.preventDefault();\n\n resetVisible(e, items, addClass(e, 'in'));\n }\n });\n\n }\n\n });\n };\n\n const addEventListenerMulti = function (element, events, fn) {\n events.forEach((e) => element.addEventListener(e, fn));\n }\n\n\n const resetVisible = function (e, items, callback) {\n\n items.forEach((item) => {\n let currentCssClasses = item.className;\n\n if(currentCssClasses.includes(`${animationName}--in`) && item !== e.currentTarget) {\n item.className = currentCssClasses.replace(`${animationName}--in`, `${animationName}--out`);\n }\n });\n\n callback;\n };\n\n\n const init = function () {\n\n if (containers.length) {\n containers.forEach((containerItem) => {\n bindEvents(containerItem);\n });\n }\n else {\n return;\n }\n\n };\n\n // Init is called by default\n init();\n\n\n // Reveal API\n return {\n init\n };\n};\n\nexport default DirectionReveal;\n\n\n// Better switch cases - https://hackernoon.com/rethinking-javascript-eliminate-the-switch-statement-for-better-code-5c81c044716d\nexport const switchcase = cases => defaultCase => key =>\nkey in cases ? cases[key] : defaultCase;\n","import DirectionReveal from './direction-reveal.js';\n\n// Swing animation(Default)\nconst directionRevealSwing = DirectionReveal({\n selector: '.direction-reveal--demo-swing'\n});\n\n// Slide animation with all options specified\nconst directionRevealSlide = DirectionReveal({\n selector: '.direction-reveal--demo-slide',\n itemSelector: '.direction-reveal__card',\n animationName: 'slide',\n enableTouch: true,\n touchThreshold: 250\n});\n\n// Slide & push\nconst directionRevealSlidePush = DirectionReveal({\n selector: '.direction-reveal--demo-slide-push',\n animationName: 'slide'\n});\n\n// Rotate animation\nconst directionRevealRotate = DirectionReveal({\n selector: '.direction-reveal--demo-rotate',\n animationName: 'rotate'\n});\n\n// Flip animation\nconst directionRevealFlip = DirectionReveal({\n selector: '.direction-reveal--demo-flip',\n animationName: 'flip'\n});\n\n// Bootstrap demo\nconst directionRevealBoostrap = DirectionReveal({\n selector: '.direction-reveal--demo-bootstrap'\n});\n"],"preExistingComment":"//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm5vZGVfbW9kdWxlcy9icm93c2VyLXBhY2svX3ByZWx1ZGUuanMiLCJzY3JpcHRzL2RpcmVjdGlvbi1yZXZlYWwuanMiLCJzY3JpcHRzL21haW4uanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7QUNDQTs7Ozs7Ozs7Ozs7QUFZQSxJQUFNLGtCQUFrQixTQUFsQixlQUFrQixHQU1kO0FBQUEsaUZBQUosRUFBSTtBQUFBLDJCQUxSLFFBS1E7QUFBQSxNQUxFLFFBS0YsaUNBTGEsbUJBS2I7QUFBQSwrQkFKUixZQUlRO0FBQUEsTUFKTSxZQUlOLHFDQUpxQix5QkFJckI7QUFBQSxnQ0FIUixhQUdRO0FBQUEsTUFITyxhQUdQLHNDQUh1QixPQUd2QjtBQUFBLDhCQUZSLFdBRVE7QUFBQSxNQUZLLFdBRUwsb0NBRm1CLElBRW5CO0FBQUEsaUNBRFIsY0FDUTtBQUFBLE1BRFEsY0FDUix1Q0FEeUIsR0FDekI7O0FBRVIsTUFBTSxhQUFhLFNBQVMsZ0JBQVQsQ0FBMEIsUUFBMUIsQ0FBbkI7QUFDQSxNQUFJLG1CQUFKOztBQUdBLE1BQU0sZUFBZSxTQUFmLFlBQWUsQ0FBVSxDQUFWLEVBQWEsSUFBYixFQUFtQjtBQUN0QztBQUNBLFFBQUksSUFBSSxLQUFLLFdBQWI7QUFDQSxRQUFJLElBQUksS0FBSyxZQUFiO0FBQ0EsUUFBSSxXQUFXLFlBQVksSUFBWixDQUFmOztBQUVBO0FBQ0EsUUFBSSxJQUFLLEVBQUUsS0FBRixHQUFVLFNBQVMsQ0FBbkIsR0FBd0IsSUFBSSxDQUFMLElBQVcsSUFBSSxDQUFKLEdBQVMsSUFBSSxDQUFiLEdBQWtCLENBQTdCLENBQWhDO0FBQ0EsUUFBSSxJQUFLLEVBQUUsS0FBRixHQUFVLFNBQVMsQ0FBbkIsR0FBd0IsSUFBSSxDQUFMLElBQVcsSUFBSSxDQUFKLEdBQVMsSUFBSSxDQUFiLEdBQWtCLENBQTdCLENBQWhDOztBQUVBO0FBQ0EsUUFBSSxJQUFJLEtBQUssS0FBTCxDQUFXLEtBQUssS0FBTCxDQUFXLENB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TDJCLENBQWhCLENBQTdCOztBQVFBO0FBQ0EsSUFBTSwyQkFBMkIsK0JBQWdCO0FBQy9DLFlBQVUsb0NBRHFDO0FBRS9DLGlCQUFlO0FBRmdDLENBQWhCLENBQWpDOztBQUtBO0FBQ0EsSUFBTSx3QkFBd0IsK0JBQWdCO0FBQzVDLFlBQVUsZ0NBRGtDO0FBRTVDLGlCQUFlO0FBRjZCLENBQWhCLENBQTlCOztBQUtBO0FBQ0EsSUFBTSxzQkFBc0IsK0JBQWdCO0FBQzFDLFlBQVUsOEJBRGdDO0FBRTFDLGlCQUFlO0FBRjJCLENBQWhCLENBQTVCOztBQUtBO0FBQ0EsSUFBTSwwQkFBMEIsK0JBQWdCO0FBQzlDLFlBQVU7QUFEb0MsQ0FBaEIsQ0FBaEMiLCJmaWxlIjoiZ2VuZXJhdGVkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiBlKHQsbixyKXtmdW5jdGlvbiBzKG8sdSl7aWYoIW5bb10pe2lmKCF0W29dKXt2YXIgYT10eXBlb2YgcmVxdWlyZT09XCJmdW5jdGlvblwiJiZyZXF1aXJlO2lmKCF1JiZhKXJldHVybiBhKG8sITApO2lmKGkpcmV0dXJuIGkobywhMCk7dmFyIGY9bmV3IEVycm9yKFwiQ2Fubm90IGZpbmQgbW9kdWxlICdcIitvK1wiJ1wiKTt0aHJvdyBmLmNvZGU9XCJNT0RVTEVfTk9UX0ZPVU5EXCIsZn12YXIgbD1uW29dPXtleHBvcnRzOnt9fTt0W29dWzBdLmNhbGwobC5leHBvcnRzLGZ1bmN0aW9uKGUpe3ZhciBuPXRbb11bMV1bZV07cmV0dXJuIHMobj9uOmUpfSxsLGwuZXhwb3J0cyxlLHQsbixyKX1yZXR1cm4gbltvXS5leHBvcnRzfXZhciBpPXR5cGVvZiByZXF1aXJlPT1cImZ1bmN0aW9uXCImJnJlcXVpcmU7Zm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspcyhyW29dKTtyZXR1cm4gc30pIiwiXG4vKipcbiAgRGlyZWN0aW9uIGF3YXJlIGNvbnRlbnQgcmV2ZWFscy5cblxuICBAcGFyYW0ge09iamVjdH0gb2JqZWN0IC0gQ29udGFpbmVyIGZvciBhbGwgb3B0aW9ucy5cbiAgQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIC0gQ29udGFpbmVyIGVsZW1lbnQgc2VsZWN0b3IuXG4gIEBwYXJhbSB7c3RyaW5nfSBpdGVtU2VsZWN0b3IgLSBJdGVtIGVsZW1lbnQgc2VsZWN0b3IuXG4gIEBwYXJhbSB7c3RyaW5nfSBhbmltYXRpb25OYW1lIC0gQW5pbWF0aW9uIENTUyBjbGFzcy5cbiAgQHBhcmFtIHtib2xsZWFufSBlbmFibGVUb3VjaCAgLSBBZGRzIHRvdWNoIGV2ZW50IHRvIHNob3cgY29udGVudCBvbiBmaXJzdCBjbGljayB0aGVuIGZvbGxvdyBsaW5rIG9uIHRoZSBzZWNvbmQgY2xpY2suXG4gIEBwYXJhbSB7aW50ZWdlcn0gdG91Y2hUaHJlc2hvbGQgLSBUb3VjaCBsZW5ndGggbXVzdCBiZSBsZXNzIHRoYW4gdGhpcyB0byB0cmlnZ2VyIHJldmVhbCB3aGljaCBwcmV2ZW50cyB0aGUgZXZlbnQgdHJpZ2dlcmluZyBpZiB1c2VyIGlzIHNjcm9sbGluZy5cbiovXG5cblxuY29uc3QgRGlyZWN0aW9uUmV2ZWFsID0gZnVuY3Rpb24gKHtcbiAgc2VsZWN0b3I6IHNlbGVjdG9yID0gJy5kaXJlY3Rpb24tcmV2ZWFsJyxcbiAgaXRlbVNlbGVjdG9yOiBpdGVtU2VsZWN0b3IgPSAnLmRpcmVjdGlvbi1yZXZlYWxfX2NhcmQnLFxuICBhbmltYXRpb25OYW1lOiBhbmltYXRpb25OYW1lID0gJ3N3aW5nJyxcbiAgZW5hYmxlVG91Y2g6IGVuYWJsZVRvdWNoID0gdHJ1ZSxcbiAgdG91Y2hUaHJlc2hvbGQ6IHRvdWNoVGhyZXNob2xkID0gMjUwXG4gIH0gPSB7fSkge1xuXG4gIGNvbnN0IGNvbnRhaW5lcnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgbGV0IHRvdWNoU3RhcnQ7XG5cblxuICBjb25zdCBnZXREaXJlY3Rpb24gPSBmdW5jdGlvbiAoZSwgaXRlbSkge1xuICAgIC8vIFdpZHRoIGFuZCBoZWlnaHQgb2YgY3VycmVudCBpdGVtXG4gICAgbGV0IHcgPSBpdGVtLm9mZnNldFdpZHRoO1xuICAgIGxldCBoID0gaXRlbS5vZmZzZXRIZWlnaHQ7XG4gICAgbGV0IHBvc2l0aW9uID0gZ2V0UG9zaXRpb24oaXRlbSk7XG5cbiAgICAvLyBDYWxjdWxhdGUgdGhlIHgveSB2YWx1ZSBvZiB0aGUgcG9pbnRlciBlbnRlcmluZy9leGl0aW5nLCByZWxhdGl2ZSB0byB0aGUgY2VudGVyIG9mIHRoZSBpdGVtLlxuICAgIGxldCB4ID0gKGUucGFnZVggLSBwb3NpdGlvbi54IC0gKHcgLyAyKSAqICh3ID4gaCA/IChoIC8gdykgOiAxKSk7XG4gICAgbGV0IHkgPSAoZS5wYWdlWSAtIHBvc2l0aW9uLnkgLSAoaCAvIDIpICogKGggPiB3ID8gKHcgLyBoKSA6IDEpKTtcblxuICAgIC8vIENhbGN1bGF0ZSB0aGUgYW5nbGUgdGhlIHBvaW50ZXIgZW50ZXJlZC9leGl0ZWQgYW5kIGNvbnZlcnQgdG8gY2xvY2t3aXNlIGZvcm1hdCAodG9wL3JpZ2h0L2JvdHRvbS9sZWZ0ID0gMC8xLzIvMykuICBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzM2NDc2MzQgZm9yIGEgZnVsbCBleHBsYW5hdGlvbi5cbiAgICBsZXQgZCA9IE1hdGgucm91bmQoTWF0aC5hdGFuMih5LCB4KSAvIDEuNTcwNzk2MzMgKyA1KSAlIDQ7XG5cbiAgICAvLyBjb25zb2xlLnRhYmxlKFt4LCB5LCB3LCBoLCBlLnBhZ2VYLCBlLnBhZ2VZLCBpdGVtLm9mZnNldExlZnQsIGl0ZW0ub2Zmc2V0VG9wLCBwb3NpdGlvbi54LCBwb3NpdGlvbi55XSk7XG5cbiAgICByZXR1cm4gZDtcbiAgfTtcblxuXG4gIC8vIGh0dHBzOi8vd3d3LmtpcnVwYS5jb20vaHRtbDUvZ2V0X2VsZW1lbnRfcG9zaXRpb25fdXNpbmdfamF2YXNjcmlwdC5odG1cbiAgY29uc3QgZ2V0UG9zaXRpb24gPSBmdW5jdGlvbiAoZWwpIHtcbiAgICBsZXQgeFBvcyA9IDA7XG4gICAgbGV0IHlQb3MgPSAwO1xuXG4gICAgd2hpbGUgKGVsKSB7XG4gICAgICB4UG9zICs9IChlbC5vZmZzZXRMZWZ0ICsgZWwuY2xpZW50TGVmdCk7XG4gICAgICB5UG9zICs9IChlbC5vZmZzZXRUb3AgKyBlbC5jbGllbnRUb3ApO1xuXG4gICAgICBlbCA9IGVsLm9mZnNldFBhcmVudDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHg6IHhQb3MsXG4gICAgICB5OiB5UG9zXG4gICAgfTtcbiAgfVxuXG5cbiAgY29uc3QgdHJhbnNsYXRlRGlyZWN0aW9uID0gc3dpdGNoY2FzZSh7XG4gICAgMDogJ3RvcCcsXG4gICAgMTogJ3JpZ2h0JyxcbiAgICAyOiAnYm90dG9tJyxcbiAgICAzOiAnbGVmdCdcbiAgfSkoJ3RvcCcpO1xuXG5cbiAgY29uc3QgYWRkQ2xhc3MgPSBmdW5jdGlvbiAoZSwgc3RhdGUpIHtcbiAgICBsZXQgY3VycmVudEl0ZW0gPSBlLmN1cnJlbnRUYXJnZXQ7XG4gICAgbGV0IGRpcmVjdGlvbiA9IGdldERpcmVjdGlvbihlLCBjdXJyZW50SXRlbSk7XG4gICAgbGV0IGRpcmVjdGlvblN0cmluZyA9IHRyYW5zbGF0ZURpcmVjdGlvbihkaXJlY3Rpb24pO1xuXG4gICAgLy8gUmVtb3ZlIGN1cnJlbnQgYW5pbWF0aW9uIGNsYXNzZXMgYW5kIGFkZCBuZXcgb25lcyBlLmcuIHN3YXAgLS1pbiBmb3IgLS1vdXQuXG4gICAgbGV0IGN1cnJlbnRDc3NDbGFzc2VzID0gY3VycmVudEl0ZW0uY2xhc3NOYW1lLnNwbGl0KCcgJyk7XG4gICAgbGV0IGZpbHRlcmVkQ3NzQ2xhc3NlcyA9IGN1cnJlbnRDc3NDbGFzc2VzLmZpbHRlcigoY3NzQ2xhc3MpID0+ICghY3NzQ2xhc3Muc3RhcnRzV2l0aChhbmltYXRpb25OYW1lKSkpLmpvaW4oJyAnKTtcbiAgICBjdXJyZW50SXRlbS5jbGFzc05hbWUgPSBmaWx0ZXJlZENzc0NsYXNzZXM7XG4gICAgY3VycmVudEl0ZW0uY2xhc3NMaXN0LmFkZChgJHthbmltYXRpb25OYW1lfS0tJHtzdGF0ZX0tJHtkaXJlY3Rpb25TdHJpbmd9YCk7XG4gIH07XG5cblxuICBjb25zdCBiaW5kRXZlbnRzID0gZnVuY3Rpb24gKGNvbnRhaW5lckl0ZW0pIHtcbiAgICBjb25zdCBpdGVtcyA9IGNvbnRhaW5lckl0ZW0ucXVlcnlTZWxlY3RvckFsbChpdGVtU2VsZWN0b3IpO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuXG4gICAgICBhZGRFdmVudExpc3RlbmVyTXVsdGkoaXRlbSwgWydtb3VzZWVudGVyJywgJ2ZvY3VzJ10sIChlKSA9PiB7XG4gICAgICAgIGFkZENsYXNzKGUsICdpbicpO1xuICAgICAgfSk7XG5cbiAgICAgIGFkZEV2ZW50TGlzdGVuZXJNdWx0aShpdGVtLCBbJ21vdXNlbGVhdmUnLCAnYmx1ciddLCAoZSkgPT4ge1xuICAgICAgICBhZGRDbGFzcyhlLCAnb3V0Jyk7XG4gICAgICB9KTtcblxuXG4gICAgICBpZiAoZW5hYmxlVG91Y2gpIHtcblxuICAgICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoc3RhcnQnLCAoZSkgPT4ge1xuICAgICAgICAgIHRvdWNoU3RhcnQgPSArbmV3IERhdGU7XG4gICAgICAgIH0sIHsgcGFzc2l2ZTogdHJ1ZSB9KTtcblxuICAgICAgICBpdGVtLmFkZEV2ZW50TGlzdGVuZXIoJ3RvdWNoZW5kJywgKGUpID0+IHtcbiAgICAgICAgICBsZXQgdG91Y2hUaW1lID0gK25ldyBEYXRlIC0gdG91Y2hTdGFydDtcblxuICAgICAgICAgIGlmICh0b3VjaFRpbWUgPCB0b3VjaFRocmVzaG9sZCAmJiAhaXRlbS5jbGFzc05hbWUuaW5jbHVkZXMoYCR7YW5pbWF0aW9uTmFtZX0tLWluYCkpIHtcbiAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICAgICAgcmVzZXRWaXNpYmxlKGUsIGl0ZW1zLCBhZGRDbGFzcyhlLCAnaW4nKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgfVxuXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgYWRkRXZlbnRMaXN0ZW5lck11bHRpID0gZnVuY3Rpb24gKGVsZW1lbnQsIGV2ZW50cywgZm4pIHtcbiAgICBldmVudHMuZm9yRWFjaCgoZSkgPT4gZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKGUsIGZuKSk7XG4gIH1cblxuXG4gIGNvbnN0IHJlc2V0VmlzaWJsZSA9IGZ1bmN0aW9uIChlLCBpdGVtcywgY2FsbGJhY2spIHtcblxuICAgIGl0ZW1zLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgIGxldCBjdXJyZW50Q3NzQ2xhc3NlcyA9IGl0ZW0uY2xhc3NOYW1lO1xuXG4gICAgICBpZihjdXJyZW50Q3NzQ2xhc3Nlcy5pbmNsdWRlcyhgJHthbmltYXRpb25OYW1lfS0taW5gKSAmJiBpdGVtICE9PSBlLmN1cnJlbnRUYXJnZXQpIHtcbiAgICAgICAgaXRlbS5jbGFzc05hbWUgPSBjdXJyZW50Q3NzQ2xhc3Nlcy5yZXBsYWNlKGAke2FuaW1hdGlvbk5hbWV9LS1pbmAsIGAke2FuaW1hdGlvbk5hbWV9LS1vdXRgKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGNhbGxiYWNrO1xuICB9O1xuXG5cbiAgY29uc3QgaW5pdCA9IGZ1bmN0aW9uICgpIHtcblxuICAgIGlmIChjb250YWluZXJzLmxlbmd0aCkge1xuICAgICAgY29udGFpbmVycy5mb3JFYWNoKChjb250YWluZXJJdGVtKSA9PiB7XG4gICAgICAgIGJpbmRFdmVudHMoY29udGFpbmVySXRlbSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gIH07XG5cbiAgLy8gSW5pdCBpcyBjYWxsZWQgYnkgZGVmYXVsdFxuICBpbml0KCk7XG5cblxuICAvLyBSZXZlYWwgQVBJXG4gIHJldHVybiB7XG4gICAgaW5pdFxuICB9O1xufTtcblxuZXhwb3J0IGRlZmF1bHQgRGlyZWN0aW9uUmV2ZWFsO1xuXG5cbi8vIEJldHRlciBzd2l0Y2ggY2FzZXMgLSBodHRwczovL2hhY2tlcm5vb24uY29tL3JldGhpbmtpbmctamF2YXNjcmlwdC1lbGltaW5hdGUtdGhlLXN3aXRjaC1zdGF0ZW1lbnQtZm9yLWJldHRlci1jb2RlLTVjODFjMDQ0NzE2ZFxuZXhwb3J0IGNvbnN0IHN3aXRjaGNhc2UgPSBjYXNlcyA9PiBkZWZhdWx0Q2FzZSA9PiBrZXkgPT5cbmtleSBpbiBjYXNlcyA/IGNhc2VzW2tleV0gOiBkZWZhdWx0Q2FzZTtcbiIsImltcG9ydCBEaXJlY3Rpb25SZXZlYWwgZnJvbSAnLi9kaXJlY3Rpb24tcmV2ZWFsLmpzJztcblxuLy8gU3dpbmcgYW5pbWF0aW9uKERlZmF1bHQpXG5jb25zdCBkaXJlY3Rpb25SZXZlYWxTd2luZyA9IERpcmVjdGlvblJldmVhbCh7XG4gIHNlbGVjdG9yOiAnLmRpcmVjdGlvbi1yZXZlYWwtLWRlbW8tc3dpbmcnXG59KTtcblxuLy8gU2xpZGUgYW5pbWF0aW9uIHdpdGggYWxsIG9wdGlvbnMgc3BlY2lmaWVkXG5jb25zdCBkaXJlY3Rpb25SZXZlYWxTbGlkZSA9IERpcmVjdGlvblJldmVhbCh7XG4gIHNlbGVjdG9yOiAnLmRpcmVjdGlvbi1yZXZlYWwtLWRlbW8tc2xpZGUnLFxuICBpdGVtU2VsZWN0b3I6ICcuZGlyZWN0aW9uLXJldmVhbF9fY2FyZCcsXG4gIGFuaW1hdGlvbk5hbWU6ICdzbGlkZScsXG4gIGVuYWJsZVRvdWNoOiB0cnVlLFxuICB0b3VjaFRocmVzaG9sZDogMjUwXG59KTtcblxuLy8gU2xpZGUgJiBwdXNoXG5jb25zdCBkaXJlY3Rpb25SZXZlYWxTbGlkZVB1c2ggPSBEaXJlY3Rpb25SZXZlYWwoe1xuICBzZWxlY3RvcjogJy5kaXJlY3Rpb24tcmV2ZWFsLS1kZW1vLXNsaWRlLXB1c2gnLFxuICBhbmltYXRpb25OYW1lOiAnc2xpZGUnXG59KTtcblxuLy8gUm90YXRlIGFuaW1hdGlvblxuY29uc3QgZGlyZWN0aW9uUmV2ZWFsUm90YXRlID0gRGlyZWN0aW9uUmV2ZWFsKHtcbiAgc2VsZWN0b3I6ICcuZGlyZWN0aW9uLXJldmVhbC0tZGVtby1yb3RhdGUnLFxuICBhbmltYXRpb25OYW1lOiAncm90YXRlJ1xufSk7XG5cbi8vIEZsaXAgYW5pbWF0aW9uXG5jb25zdCBkaXJlY3Rpb25SZXZlYWxGbGlwID0gRGlyZWN0aW9uUmV2ZWFsKHtcbiAgc2VsZWN0b3I6ICcuZGlyZWN0aW9uLXJldmVhbC0tZGVtby1mbGlwJyxcbiAgYW5pbWF0aW9uTmFtZTogJ2ZsaXAnXG59KTtcblxuLy8gQm9vdHN0cmFwIGRlbW9cbmNvbnN0IGRpcmVjdGlvblJldmVhbEJvb3N0cmFwID0gRGlyZWN0aW9uUmV2ZWFsKHtcbiAgc2VsZWN0b3I6ICcuZGlyZWN0aW9uLXJldmVhbC0tZGVtby1ib290c3RyYXAnXG59KTtcbiJdfQ=="} \ No newline at end of file diff --git a/scripts/direction-reveal.js b/scripts/direction-reveal.js index 6686a34..90aa68d 100644 --- a/scripts/direction-reveal.js +++ b/scripts/direction-reveal.js @@ -11,7 +11,7 @@ */ -const DirectionReveal = function({ +const DirectionReveal = function ({ selector: selector = '.direction-reveal', itemSelector: itemSelector = '.direction-reveal__card', animationName: animationName = 'swing', @@ -86,22 +86,22 @@ const DirectionReveal = function({ items.forEach((item) => { - addEventListenerMulti(item, ['mouseenter', 'focus'], function(e) { + addEventListenerMulti(item, ['mouseenter', 'focus'], (e) => { addClass(e, 'in'); }); - addEventListenerMulti(item, ['mouseleave', 'blur'], function(e) { + addEventListenerMulti(item, ['mouseleave', 'blur'], (e) => { addClass(e, 'out'); }); if (enableTouch) { - item.addEventListener('touchstart', function(e) { + item.addEventListener('touchstart', (e) => { touchStart = +new Date; - }); + }, { passive: true }); - item.addEventListener('touchend', function(e) { + item.addEventListener('touchend', (e) => { let touchTime = +new Date - touchStart; if (touchTime < touchThreshold && !item.className.includes(`${animationName}--in`)) { diff --git a/styles/direction-reveal.css b/styles/direction-reveal.css index 377e479..e4ea3a5 100644 --- a/styles/direction-reveal.css +++ b/styles/direction-reveal.css @@ -921,22 +921,32 @@ } .direction-reveal--3-grid-flexbox .direction-reveal__card { - -webkit-box-flex: 0; - -ms-flex: 0 0 33.333333%; - flex: 0 0 33.333333%; - max-width: 33.333333%; border: 10px solid transparent; } +@media (min-width: 576px) { + .direction-reveal--3-grid-flexbox .direction-reveal__card { + -webkit-box-flex: 0; + -ms-flex: 0 0 33.333333%; + flex: 0 0 33.333333%; + max-width: 33.333333%; + } +} + .direction-reveal--3-grid-cssgrid { display: -ms-grid; display: grid; - -ms-grid-columns: (1fr)[3]; - grid-template-columns: repeat(3, 1fr); margin-right: -10px; margin-left: -10px; } +@media (min-width: 576px) { + .direction-reveal--3-grid-cssgrid { + -ms-grid-columns: (1fr)[3]; + grid-template-columns: repeat(3, 1fr); + } +} + .direction-reveal--3-grid-cssgrid .direction-reveal__card { border: 10px solid transparent; } @@ -946,4 +956,4 @@ margin-bottom: 15px; } -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9hbmltYXRpb25zLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJkaXJlY3Rpb24tcmV2ZWFsLmNzcyIsImRpcmVjdGlvbi1yZXZlYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjTTtFQUVJLHNDQUFnQjtVQUFoQiw4QkFBZ0I7Q0FDakI7O0FBT0g7RUFFSSwwQ0FBZ0I7VUFBaEIsa0NBQWdCO0NBQ2pCOztBQWJIO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBYkg7RUFFSSx1Q0FBZ0I7VUFBaEIsK0JBQWdCO0NBQ2pCOztBQU9IO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQWJIO0VBRUksdUNBQWdCO1VBQWhCLCtCQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHlDQUFnQjtVQUFoQixpQ0FBZ0I7Q0FDakI7O0FBYkg7RUFFSSwwQ0FBZ0I7VUFBaEIsa0NBQWdCO0NBQ2pCOztBQU9IO0VBRUksc0NBQWdCO1VBQWhCLDhCQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQWJIO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBZVQ7RUFDRSwyQkFBa0I7VUFBbEIsbUJBQWtCO0NBTW5COztBQVBEO0VBSUksd0NBQStCO1VBQS9CLGdDQUErQjtFQUMvQix1RUM5Q2dFO1VEOENoRSwrREM5Q2dFO0NEK0NqRTs7QUFHSDtFQUNFLHVDQUE4QjtVQUE5QiwrQkFBOEI7Q0FLL0I7O0FBTkQ7RUFJSSxxQ0FBNEI7VUFBNUIsNkJBQTRCO0NBQzdC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bnRlbnQiOlsiLy8gR2VuZXJhdGVzIGNsYXNzZXMgdG8gYXNzaWduIGFuaW1hdGlvbnNcbkBtaXhpbiBhbmltYXRpb24tY2xhc3NlcygkYW5pbWF0aW9uLW5hbWUpIHtcblxuICAkZGlyZWN0aW9ucy1saXN0OiBpbiBvdXQ7XG4gICRwb3NpdGlvbnMtbGlzdDogIHRvcCBib3R0b20gbGVmdCByaWdodDtcblxuICAkZGlyZWN0aW9ucy1vcHBvc2l0ZS1saXN0OiBvdXQgaW47XG4gICRwb3NpdGlvbnMtb3Bwb3NpdGUtbGlzdDogIGJvdHRvbSB0b3AgcmlnaHQgbGVmdDtcblxuICBAZWFjaCAkZGlyZWN0aW9uIGluICRkaXJlY3Rpb25zLWxpc3Qge1xuICAgIEBlYWNoICRwb3NpdGlvbiBpbiAkcG9zaXRpb25zLWxpc3Qge1xuXG4gICAgICAkY2xhc3MtbmFtZTogI3skYW5pbWF0aW9uLW5hbWV9LS0jeyRkaXJlY3Rpb259LSN7JHBvc2l0aW9ufTtcblxuICAgICAgLiN7JGNsYXNzLW5hbWV9IHtcbiAgICAgICAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogI3skY2xhc3MtbmFtZX07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJGRpcmVjdGlvbi1vcHBvc2l0ZTogbnRoKCRkaXJlY3Rpb25zLW9wcG9zaXRlLWxpc3QsIGluZGV4KCRkaXJlY3Rpb25zLWxpc3QsICRkaXJlY3Rpb24pKTtcbiAgICAgICRwb3NpdGlvbi1vcHBvc2l0ZTogbnRoKCRwb3NpdGlvbnMtb3Bwb3NpdGUtbGlzdCwgaW5kZXgoJHBvc2l0aW9ucy1saXN0LCAkcG9zaXRpb24pKTtcbiAgICAgICRjbGFzcy1uYW1lLW9wcG9zaXRlOiAjeyRhbmltYXRpb24tbmFtZX0tLSN7JGRpcmVjdGlvbi1vcHBvc2l0ZX0tI3skcG9zaXRpb24tb3Bwb3NpdGV9O1xuXG4gICAgICAuI3skY2xhc3MtbmFtZX0ge1xuICAgICAgICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICAgICAgICBhbmltYXRpb24tbmFtZTogI3skY2xhc3MtbmFtZS1vcHBvc2l0ZX07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgfVxuXG59XG5cblxuXG4vLyBTd2luZyBhbmltYXRpb25cblxuQGluY2x1ZGUgYW5pbWF0aW9uLWNsYXNzZXMoJ3N3aW5nJyk7XG5cbi8vIERlZmF1bHQgdmlzaWJsZSBzdGF0ZSBhZnRlciBhbmltYXRpb24gLSB1c2VkIGFzIHN0YXJ0IG9yIGVuZCBwb2ludHMgZm9yIHRoZSBrZXlmcmFtZSBhbmltYXRpb25zXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdzd2luZy0tJ10ge1xuICBwZXJzcGVjdGl2ZTogNDAwcHg7XG5cbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDAsIDAsIDApO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltLWVhc2luZy1lYXNlT3V0Q3ViaWM7XG4gIH1cbn1cblxuLnN3aW5nLS1pbi10b3AsIC5zd2luZy0tb3V0LXRvcCB7XG4gIHBlcnNwZWN0aXZlLW9yaWdpbjogY2VudGVyIHRvcDtcblxuICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciB0b3A7XG4gIH1cbn1cblxuLnN3aW5nLS1pbi1ib3R0b20sIC5zd2luZy0tb3V0LWJvdHRvbSB7XG4gIHBlcnNwZWN0aXZlLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcblxuICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG4gIH1cbn1cblxuLnN3aW5nLS1pbi1sZWZ0LCAuc3dpbmctLW91dC1sZWZ0IHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiBsZWZ0IGNlbnRlcjtcblxuICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyO1xuICB9XG59XG5cbi5zd2luZy0taW4tcmlnaHQsIC5zd2luZy0tb3V0LXJpZ2h0IHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiByaWdodCBjZW50ZXI7XG5cbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1pbi10b3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgtMSwgMCwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC10b3Age1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKC0xLCAwLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0taW4tYm90dG9tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC1ib3R0b20ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1pbi1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC1sZWZ0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0taW4tcmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAtMSwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC1yaWdodCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgLTEsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5cblxuLy8gU2xpZGUgYW5pbWF0aW9uXG5cbkBpbmNsdWRlIGFuaW1hdGlvbi1jbGFzc2VzKCdzbGlkZScpO1xuXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdzbGlkZS0tJ10ge1xuICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW0tZWFzaW5nLWVhc2VPdXRRdWFkO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLWluLXRvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1vdXQtdG9wIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0taW4tYm90dG9tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0tb3V0LWJvdHRvbSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0taW4tbGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1vdXQtbGVmdCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cblxuQGtleWZyYW1lcyBzbGlkZS0taW4tcmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1vdXQtcmlnaHQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cblxuXG4vLyBSb3RhdGUgYW5pbWF0aW9uXG5cbkBpbmNsdWRlIGFuaW1hdGlvbi1jbGFzc2VzKCdyb3RhdGUnKTtcblxuLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0ncm90YXRlLS0nXSB7XG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW0tZWFzaW5nLWVhc2VPdXRRdWFkO1xuICB9XG59XG5cbi5yb3RhdGUtLWluLXRvcCwgLnJvdGF0ZS0tb3V0LXRvcCB7XG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIH1cbn1cblxuLnJvdGF0ZS0taW4tYm90dG9tLCAucm90YXRlLS1vdXQtYm90dG9tIHtcbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgfVxufVxuXG4ucm90YXRlLS1pbi1sZWZ0LCAucm90YXRlLS1vdXQtbGVmdCB7XG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG4gIH1cbn1cblxuLnJvdGF0ZS0taW4tcmlnaHQsIC5yb3RhdGUtLW91dC1yaWdodCB7XG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1pbi10b3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0tb3V0LXRvcCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLWluLWJvdHRvbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLW91dC1ib3R0b20ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLWluLWxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1vdXQtbGVmdCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0taW4tcmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0tb3V0LXJpZ2h0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxufVxuXG5cblxuLy8gRmxpcCBhbmltYXRpb25cblxuQGluY2x1ZGUgYW5pbWF0aW9uLWNsYXNzZXMoJ2ZsaXAnKTtcblxuLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0nZmxpcC0tJ10ge1xuICBwZXJzcGVjdGl2ZTogODAwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoMCk7IC8vIE9yZGVyIG11c3QgYmUgdGhlIHNhbWUgYXMgdGhlIGFuaW1hdGlvbnNcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYW5pbS1lYXNpbmctZWFzZUluT3V0UXVhZDtcbiAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltLWR1cmF0aW9uKjI7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1pbi10b3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLW91dC10b3Age1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0taW4tYm90dG9tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0tb3V0LWJvdHRvbSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0taW4tbGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgcm90YXRlWSgtMTgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLW91dC1sZWZ0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoLTE4MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1pbi1yaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgcm90YXRlWSgxODBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0tb3V0LXJpZ2h0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoMTgwZGVnKTtcbiAgfVxufVxuIiwiJGFuaW0tZWFzaW5nLWVhc2VPdXRRdWFkOiAgIGN1YmljLWJlemllcigwLjI1MCwgMC40NjAsIDAuNDUwLCAwLjk0MCk7XG4kYW5pbS1lYXNpbmctZWFzZU91dEN1YmljOiAgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxMCwgMC4zNTUsIDEuMDAwKTtcbiRhbmltLWVhc2luZy1lYXNlSW5PdXRRdWFkOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xuJGFuaW0tZHVyYXRpb246ICAgICAgICAgICAgIC4zcztcblxuJGdyaWQtc3BhY2luZzogICAgICAgICAgICAgIDEwcHg7XG4iLCIuc3dpbmctLWluLXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLWluLXRvcDtcbn1cblxuLnN3aW5nLS1pbi10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0tb3V0LWJvdHRvbTtcbn1cblxuLnN3aW5nLS1pbi1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1pbi1ib3R0b207XG59XG5cbi5zd2luZy0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLW91dC10b3A7XG59XG5cbi5zd2luZy0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLWluLWxlZnQ7XG59XG5cbi5zd2luZy0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1vdXQtcmlnaHQ7XG59XG5cbi5zd2luZy0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1pbi1yaWdodDtcbn1cblxuLnN3aW5nLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1vdXQtbGVmdDtcbn1cblxuLnN3aW5nLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0tb3V0LXRvcDtcbn1cblxuLnN3aW5nLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLWluLWJvdHRvbTtcbn1cblxuLnN3aW5nLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0tb3V0LWJvdHRvbTtcbn1cblxuLnN3aW5nLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLWluLXRvcDtcbn1cblxuLnN3aW5nLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLW91dC1sZWZ0O1xufVxuXG4uc3dpbmctLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLWluLXJpZ2h0O1xufVxuXG4uc3dpbmctLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLW91dC1yaWdodDtcbn1cblxuLnN3aW5nLS1vdXQtcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0taW4tbGVmdDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0nc3dpbmctLSddIHtcbiAgcGVyc3BlY3RpdmU6IDQwMHB4O1xufVxuXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdzd2luZy0tJ10gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdzd2luZy0tJ10gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMCwgMCk7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xufVxuXG4uc3dpbmctLWluLXRvcCwgLnN3aW5nLS1vdXQtdG9wIHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuXG4uc3dpbmctLWluLXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5zd2luZy0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5zd2luZy0tb3V0LXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5zd2luZy0tb3V0LXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbn1cblxuLnN3aW5nLS1pbi1ib3R0b20sIC5zd2luZy0tb3V0LWJvdHRvbSB7XG4gIHBlcnNwZWN0aXZlLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuLnN3aW5nLS1pbi1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuc3dpbmctLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0LCAuc3dpbmctLW91dC1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuc3dpbmctLW91dC1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207XG59XG5cbi5zd2luZy0taW4tbGVmdCwgLnN3aW5nLS1vdXQtbGVmdCB7XG4gIHBlcnNwZWN0aXZlLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5cbi5zd2luZy0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5zd2luZy0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0LCAuc3dpbmctLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnN3aW5nLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG59XG5cbi5zd2luZy0taW4tcmlnaHQsIC5zd2luZy0tb3V0LXJpZ2h0IHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiByaWdodCBjZW50ZXI7XG59XG5cbi5zd2luZy0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuc3dpbmctLWluLXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5zd2luZy0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnN3aW5nLS1vdXQtcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cblxuQGtleWZyYW1lcyBzd2luZy0taW4tdG9wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoLTEsIDAsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1vdXQtdG9wIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgtMSwgMCwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLWluLWJvdHRvbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1vdXQtYm90dG9tIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0taW4tbGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1vdXQtbGVmdCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLWluLXJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgLTEsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1vdXQtcmlnaHQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIC0xLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuLnNsaWRlLS1pbi10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1pbi10b3A7XG59XG5cbi5zbGlkZS0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLW91dC1ib3R0b207XG59XG5cbi5zbGlkZS0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0taW4tYm90dG9tO1xufVxuXG4uc2xpZGUtLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1vdXQtdG9wO1xufVxuXG4uc2xpZGUtLWluLWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1pbi1sZWZ0O1xufVxuXG4uc2xpZGUtLWluLWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0tb3V0LXJpZ2h0O1xufVxuXG4uc2xpZGUtLWluLXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0taW4tcmlnaHQ7XG59XG5cbi5zbGlkZS0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0tb3V0LWxlZnQ7XG59XG5cbi5zbGlkZS0tb3V0LXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLW91dC10b3A7XG59XG5cbi5zbGlkZS0tb3V0LXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1pbi1ib3R0b207XG59XG5cbi5zbGlkZS0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLW91dC1ib3R0b207XG59XG5cbi5zbGlkZS0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1pbi10b3A7XG59XG5cbi5zbGlkZS0tb3V0LWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1vdXQtbGVmdDtcbn1cblxuLnNsaWRlLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1pbi1yaWdodDtcbn1cblxuLnNsaWRlLS1vdXQtcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1vdXQtcmlnaHQ7XG59XG5cbi5zbGlkZS0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLWluLWxlZnQ7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J3NsaWRlLS0nXSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J3NsaWRlLS0nXSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1pbi10b3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0tb3V0LXRvcCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLWluLWJvdHRvbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLW91dC1ib3R0b20ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLWluLWxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0tb3V0LWxlZnQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1pbi1yaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLW91dC1yaWdodCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuLnJvdGF0ZS0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLWluLXRvcDtcbn1cblxuLnJvdGF0ZS0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1vdXQtYm90dG9tO1xufVxuXG4ucm90YXRlLS1pbi1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0taW4tYm90dG9tO1xufVxuXG4ucm90YXRlLS1pbi1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLW91dC10b3A7XG59XG5cbi5yb3RhdGUtLWluLWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0taW4tbGVmdDtcbn1cblxuLnJvdGF0ZS0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0tb3V0LXJpZ2h0O1xufVxuXG4ucm90YXRlLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1pbi1yaWdodDtcbn1cblxuLnJvdGF0ZS0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLW91dC1sZWZ0O1xufVxuXG4ucm90YXRlLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLW91dC10b3A7XG59XG5cbi5yb3RhdGUtLW91dC10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLWluLWJvdHRvbTtcbn1cblxuLnJvdGF0ZS0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1vdXQtYm90dG9tO1xufVxuXG4ucm90YXRlLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1pbi10b3A7XG59XG5cbi5yb3RhdGUtLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLW91dC1sZWZ0O1xufVxuXG4ucm90YXRlLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0taW4tcmlnaHQ7XG59XG5cbi5yb3RhdGUtLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1vdXQtcmlnaHQ7XG59XG5cbi5yb3RhdGUtLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0taW4tbGVmdDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0ncm90YXRlLS0nXSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J3JvdGF0ZS0tJ10gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbi5yb3RhdGUtLWluLXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5yb3RhdGUtLWluLXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0LCAucm90YXRlLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnJvdGF0ZS0tb3V0LXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG5cbi5yb3RhdGUtLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5yb3RhdGUtLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0LCAucm90YXRlLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnJvdGF0ZS0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG59XG5cbi5yb3RhdGUtLWluLWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAucm90YXRlLS1pbi1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5yb3RhdGUtLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnJvdGF0ZS0tb3V0LWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgdG9wO1xufVxuXG4ucm90YXRlLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5yb3RhdGUtLWluLXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5yb3RhdGUtLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5yb3RhdGUtLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wO1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0taW4tdG9wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLW91dC10b3Age1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1pbi1ib3R0b20ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1vdXQtYm90dG9tIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1pbi1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0tb3V0LWxlZnQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLWluLXJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLW91dC1yaWdodCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cbn1cblxuLmZsaXAtLWluLXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0taW4tdG9wO1xufVxuXG4uZmxpcC0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0tb3V0LWJvdHRvbTtcbn1cblxuLmZsaXAtLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0taW4tYm90dG9tO1xufVxuXG4uZmxpcC0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0tb3V0LXRvcDtcbn1cblxuLmZsaXAtLWluLWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLWluLWxlZnQ7XG59XG5cbi5mbGlwLS1pbi1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0tb3V0LXJpZ2h0O1xufVxuXG4uZmxpcC0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLWluLXJpZ2h0O1xufVxuXG4uZmxpcC0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1vdXQtbGVmdDtcbn1cblxuLmZsaXAtLW91dC10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLW91dC10b3A7XG59XG5cbi5mbGlwLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0taW4tYm90dG9tO1xufVxuXG4uZmxpcC0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0tb3V0LWJvdHRvbTtcbn1cblxuLmZsaXAtLW91dC1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1pbi10b3A7XG59XG5cbi5mbGlwLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0tb3V0LWxlZnQ7XG59XG5cbi5mbGlwLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLWluLXJpZ2h0O1xufVxuXG4uZmxpcC0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1vdXQtcmlnaHQ7XG59XG5cbi5mbGlwLS1vdXQtcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1pbi1sZWZ0O1xufVxuXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdmbGlwLS0nXSB7XG4gIHBlcnNwZWN0aXZlOiA4MDBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J2ZsaXAtLSddIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0nZmxpcC0tJ10gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIHRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKDApO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMsIDAuNTE1LCAwLjk1NSk7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC42cztcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLWluLXRvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0tb3V0LXRvcCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1pbi1ib3R0b20ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1vdXQtYm90dG9tIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1pbi1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKC0xODBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0tb3V0LWxlZnQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgcm90YXRlWSgtMTgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLWluLXJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKDE4MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1vdXQtcmlnaHQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgcm90YXRlWSgxODBkZWcpO1xuICB9XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsX19vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNik7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMC4zcztcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsX190aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsX190ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwtLTMtZ3JpZC1mbGV4Ym94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsLS0zLWdyaWQtZmxleGJveCAuZGlyZWN0aW9uLXJldmVhbF9fY2FyZCB7XG4gIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gIGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwtLTMtZ3JpZC1jc3NncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMWZyKTtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG4uZGlyZWN0aW9uLXJldmVhbC0tMy1ncmlkLWNzc2dyaWQgLmRpcmVjdGlvbi1yZXZlYWxfX2NhcmQge1xuICBib3JkZXI6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsLS1ncmlkLWJvb3RzdHJhcCAuZGlyZWN0aW9uLXJldmVhbF9fY2FyZCB7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4iLCJAaW1wb3J0ICd2YXJpYWJsZXMnO1xuQGltcG9ydCAnYW5pbWF0aW9ucyc7XG5cblxuLy8gLS0tLS0gQ29tcG9uZW50IC0tLS0tXG4uZGlyZWN0aW9uLXJldmVhbCB7fVxuXG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAgIC5kaXJlY3Rpb24tcmV2ZWFsX19vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIC42KTtcbiAgICB9XG5cbiAgICAvLyAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4gaXMgdXNlZCB0byBhbmltYXRlIGluIGhpZGRlbiBjb250ZW50LCB0aGUgZGVmYXVsdCBhbmltYXRpb24gdXNlZCBvbiB0aGUgb3ZlcmxheVxuICAgIC8vIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQgaXMgdXNlZCB0byBhbmltYXRlIG91dCB2aXNpYmxlIGNvbnRlbnRcbiAgICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAkYW5pbS1kdXJhdGlvbjtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltLWVhc2luZy1lYXNlT3V0UXVhZDtcbiAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICAgIH1cblxuICAgIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsgLy8gSW5pdGlhbCBwb3NpdGlvbiBiZWZvcmUgYW55IGFuaW1hdGlvbiBpLmUuIGhpZGRlbiBieSBkZWZhdWx0XG4gICAgfVxuXG4gICAgICAuZGlyZWN0aW9uLXJldmVhbF9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAuZGlyZWN0aW9uLXJldmVhbF9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cblxuXG4vLyAtLS0tLSBMYXlvdXRzIC0tLS0tXG5cbi8vIDN4MyBncmlkIGxheW91dCAtIGZsZXhib3hcbi5kaXJlY3Rpb24tcmV2ZWFsLS0zLWdyaWQtZmxleGJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtJGdyaWQtc3BhY2luZztcbiAgbWFyZ2luLWxlZnQ6IC0kZ3JpZC1zcGFjaW5nO1xuXG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgYm9yZGVyOiAkZ3JpZC1zcGFjaW5nIHNvbGlkIHRyYW5zcGFyZW50OyAvLyBUcmFuc3BhcmVudCBib3JkZXIgdXNlZCBmb3Igc3BhY2luZyBhcyB0aGlzIG1ha2UgZGlyZWN0aW9uIGRldGVjdGlvbiBtb3JlIGFjY3VyYXRlIGFzIHRoZXJlIGlzIG1vcmUgYXJlYSB0byBkZXRlY3QuXG4gIH1cbn1cblxuLy8gM3gzIGdyaWQgbGF5b3V0IC0gQ1NTIGdyaWRcbi5kaXJlY3Rpb24tcmV2ZWFsLS0zLWdyaWQtY3NzZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG4gIG1hcmdpbi1yaWdodDogLSRncmlkLXNwYWNpbmc7XG4gIG1hcmdpbi1sZWZ0OiAtJGdyaWQtc3BhY2luZztcblxuICAuZGlyZWN0aW9uLXJldmVhbF9fY2FyZCB7XG4gICAgYm9yZGVyOiAkZ3JpZC1zcGFjaW5nIHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vIEJvb3RzdHJhcCBncmlkXG4uZGlyZWN0aW9uLXJldmVhbC0tZ3JpZC1ib290c3RyYXAge1xuICAuZGlyZWN0aW9uLXJldmVhbF9fY2FyZCB7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB9XG59XG4iXX0= */ +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIl9hbmltYXRpb25zLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJkaXJlY3Rpb24tcmV2ZWFsLmNzcyIsImRpcmVjdGlvbi1yZXZlYWwuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjTTtFQUVJLHNDQUFnQjtVQUFoQiw4QkFBZ0I7Q0FDakI7O0FBT0g7RUFFSSwwQ0FBZ0I7VUFBaEIsa0NBQWdCO0NBQ2pCOztBQWJIO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBYkg7RUFFSSx1Q0FBZ0I7VUFBaEIsK0JBQWdCO0NBQ2pCOztBQU9IO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQWJIO0VBRUksdUNBQWdCO1VBQWhCLCtCQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHlDQUFnQjtVQUFoQixpQ0FBZ0I7Q0FDakI7O0FBYkg7RUFFSSwwQ0FBZ0I7VUFBaEIsa0NBQWdCO0NBQ2pCOztBQU9IO0VBRUksc0NBQWdCO1VBQWhCLDhCQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQWJIO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBZVQ7RUFDRSwyQkFBa0I7VUFBbEIsbUJBQWtCO0NBTW5COztBQVBEO0VBSUksd0NBQStCO1VBQS9CLGdDQUErQjtFQUMvQix1RUM5Q2dFO1VEOENoRSwrREM5Q2dFO0NEK0NqRTs7QUFHSDtFQUNFLHVDQUE4QjtVQUE5QiwrQkFBOEI7Q0FLL0I7O0FBTkQ7RUFJSSxxQ0FBNEI7VUFBNUIsNkJBQTRCO0NBQzdCOztBQUdIO0VBQ0UsMENBQWlDO1VBQWpDLGtDQUFpQztDQUtsQzs7QUFORDtFQUlJLHdDQUErQjtVQUEvQixnQ0FBK0I7Q0FDaEM7O0FBR0g7RUFDRSx3Q0FBK0I7VUFBL0IsZ0NBQStCO0NBS2hDOztBQU5EO0VBSUksc0NBQTZCO1VBQTdCLDhCQUE2QjtDQUM5Qjs7QUFHSDtFQUNFLHlDQUFnQztVQUFoQyxpQ0FBZ0M7Q0FLakM7O0FBTkQ7RUFJSSx1Q0FBOEI7VUFBOUIsK0JBQThCO0NBQy9COztBQUlIO0VBQ0U7SUFDRSw2Q0FBb0M7WUFBcEMscUNBQW9DO0dFc0JyQztDQUNGOztBRnpCRDtFQUNFO0lBQ0UsNkNBQW9DO1lBQXBDLHFDQUFvQztHRXNCckM7Q0FDRjs7QUZuQkQ7RUFDRTtJQUNFLDZDQUFvQztZQUFwQyxxQ0FBb0M7R0VzQnJDO0NBQ0Y7O0FGekJEO0VBQ0U7SUFDRSw2Q0FBb0M7WUFBcEMscUNBQW9DO0dFc0JyQztDQUNGOztBRm5CRDtFQUNFO0lBQ0UsNENBQW1DO1lBQW5DLG9DQUFtQztHRXNCcEM7Q0FDRjs7QUZ6QkQ7RUFDRTtJQUNFLDRDQUFtQztZQUFuQyxvQ0FBbUM7R0VzQnBDO0NBQ0Y7O0FGbkJEO0VBQ0U7SUFDRSw0Q0FBbUM7WUFBbkMsb0NBQW1DO0dFc0JwQztDQUNGOztBRnpCRDtFQUNFO0lBQ0UsNENBQW1DO1lBQW5DLG9DQUFtQztHRXNCcEM7Q0FDRjs7QUZuQkQ7RUFDRTtJQUNFLDRDQUFtQztZQUFuQyxvQ0FBbUM7R0VzQnBDO0NBQ0Y7O0FGekJEO0VBQ0U7SUFDRSw0Q0FBbUM7WUFBbkMsb0NBQW1DO0dFc0JwQztDQUNGOztBRm5CRDtFQUNFO0lBQ0UsNENBQW1DO1lBQW5DLG9DQUFtQztHRXNCcEM7Q0FDRjs7QUZ6QkQ7RUFDRTtJQUNFLDRDQUFtQztZQUFuQyxvQ0FBbUM7R0VzQnBDO0NBQ0Y7O0FGbkJEO0VBQ0U7SUFDRSw2Q0FBb0M7WUFBcEMscUNBQW9DO0dFc0JyQztDQUNGOztBRnpCRDtFQUNFO0lBQ0UsNkNBQW9DO1lBQXBDLHFDQUFvQztHRXNCckM7Q0FDRjs7QUZuQkQ7RUFDRTtJQUNFLDZDQUFvQztZQUFwQyxxQ0FBb0M7R0VzQnJDO0NBQ0Y7O0FGekJEO0VBQ0U7SUFDRSw2Q0FBb0M7WUFBcEMscUNBQW9DO0dFc0JyQztDQUNGOztBRnpJSztFQUVJLHNDQUFnQjtVQUFoQiw4QkFBZ0I7Q0FDakI7O0FBT0g7RUFFSSwwQ0FBZ0I7VUFBaEIsa0NBQWdCO0NBQ2pCOztBQWJIO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBYkg7RUFFSSx1Q0FBZ0I7VUFBaEIsK0JBQWdCO0NBQ2pCOztBQU9IO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQWJIO0VBRUksdUNBQWdCO1VBQWhCLCtCQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHlDQUFnQjtVQUFoQixpQ0FBZ0I7Q0FDakI7O0FBYkg7RUFFSSwwQ0FBZ0I7VUFBaEIsa0NBQWdCO0NBQ2pCOztBQU9IO0VBRUksc0NBQWdCO1VBQWhCLDhCQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQWJIO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBK0dUO0VBRUksd0NBQStCO1VBQS9CLGdDQUErQjtFQUMvQix3RUM3SWdFO1VENkloRSxnRUM3SWdFO0NEOElqRTs7QUFHSDtFQUNFO0lBQ0UsNENBQW1DO1lBQW5DLG9DQUFtQztHRThFcEM7Q0FDRjs7QUZqRkQ7RUFDRTtJQUNFLDRDQUFtQztZQUFuQyxvQ0FBbUM7R0U4RXBDO0NBQ0Y7O0FGM0VEO0VBQ0U7SUFDRSw0Q0FBbUM7WUFBbkMsb0NBQW1DO0dFOEVwQztDQUNGOztBRmpGRDtFQUNFO0lBQ0UsNENBQW1DO1lBQW5DLG9DQUFtQztHRThFcEM7Q0FDRjs7QUYzRUQ7RUFDRTtJQUNFLDJDQUFrQztZQUFsQyxtQ0FBa0M7R0U4RW5DO0NBQ0Y7O0FGakZEO0VBQ0U7SUFDRSwyQ0FBa0M7WUFBbEMsbUNBQWtDO0dFOEVuQztDQUNGOztBRjNFRDtFQUNFO0lBQ0UsMkNBQWtDO1lBQWxDLG1DQUFrQztHRThFbkM7Q0FDRjs7QUZqRkQ7RUFDRTtJQUNFLDJDQUFrQztZQUFsQyxtQ0FBa0M7R0U4RW5DO0NBQ0Y7O0FGM0VEO0VBQ0U7SUFDRSw0Q0FBbUM7WUFBbkMsb0NBQW1DO0dFOEVwQztDQUNGOztBRmpGRDtFQUNFO0lBQ0UsNENBQW1DO1lBQW5DLG9DQUFtQztHRThFcEM7Q0FDRjs7QUYzRUQ7RUFDRTtJQUNFLDRDQUFtQztZQUFuQyxvQ0FBbUM7R0U4RXBDO0NBQ0Y7O0FGakZEO0VBQ0U7SUFDRSw0Q0FBbUM7WUFBbkMsb0NBQW1DO0dFOEVwQztDQUNGOztBRjFFRDtFQUNFO0lBQ0UsMkNBQWtDO1lBQWxDLG1DQUFrQztHRTZFbkM7Q0FDRjs7QUZoRkQ7RUFDRTtJQUNFLDJDQUFrQztZQUFsQyxtQ0FBa0M7R0U2RW5DO0NBQ0Y7O0FGMUVEO0VBQ0U7SUFDRSwyQ0FBa0M7WUFBbEMsbUNBQWtDO0dFNkVuQztDQUNGOztBRmhGRDtFQUNFO0lBQ0UsMkNBQWtDO1lBQWxDLG1DQUFrQztHRTZFbkM7Q0FDRjs7QUY5UEs7RUFFSSx1Q0FBZ0I7VUFBaEIsK0JBQWdCO0NBQ2pCOztBQU9IO0VBRUksMkNBQWdCO1VBQWhCLG1DQUFnQjtDQUNqQjs7QUFiSDtFQUVJLDBDQUFnQjtVQUFoQixrQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQWJIO0VBRUksd0NBQWdCO1VBQWhCLGdDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLDBDQUFnQjtVQUFoQixrQ0FBZ0I7Q0FDakI7O0FBYkg7RUFFSSx5Q0FBZ0I7VUFBaEIsaUNBQWdCO0NBQ2pCOztBQU9IO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSwwQ0FBZ0I7VUFBaEIsa0NBQWdCO0NBQ2pCOztBQWJIO0VBRUksMkNBQWdCO1VBQWhCLG1DQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBYkg7RUFFSSx5Q0FBZ0I7VUFBaEIsaUNBQWdCO0NBQ2pCOztBQU9IO0VBRUkseUNBQWdCO1VBQWhCLGlDQUFnQjtDQUNqQjs7QUFiSDtFQUVJLDBDQUFnQjtVQUFoQixrQ0FBZ0I7Q0FDakI7O0FBT0g7RUFFSSx3Q0FBZ0I7VUFBaEIsZ0NBQWdCO0NBQ2pCOztBQTZLVDtFQUVJLDZCQUFvQjtVQUFwQixxQkFBb0I7RUFDcEIsd0VDM01nRTtVRDJNaEUsZ0VDM01nRTtDRDRNakU7O0FBR0g7RUFFSSxtQ0FBMEI7VUFBMUIsMkJBQTBCO0NBQzNCOztBQUdIO0VBRUksc0NBQTZCO1VBQTdCLDhCQUE2QjtDQUM5Qjs7QUFHSDtFQUVJLG1DQUEwQjtVQUExQiwyQkFBMEI7Q0FDM0I7O0FBR0g7RUFFSSxvQ0FBMkI7VUFBM0IsNEJBQTJCO0NBQzVCOztBQUdIO0VBQ0U7SUFDRSxrQ0FBeUI7WUFBekIsMEJBQXlCO0dFNkgxQjtDQUNGOztBRmhJRDtFQUNFO0lBQ0Usa0NBQXlCO1lBQXpCLDBCQUF5QjtHRTZIMUI7Q0FDRjs7QUYxSEQ7RUFDRTtJQUNFLGtDQUF5QjtZQUF6QiwwQkFBeUI7R0U2SDFCO0NBQ0Y7O0FGaElEO0VBQ0U7SUFDRSxrQ0FBeUI7WUFBekIsMEJBQXlCO0dFNkgxQjtDQUNGOztBRjFIRDtFQUNFO0lBQ0UsaUNBQXdCO1lBQXhCLHlCQUF3QjtHRTZIekI7Q0FDRjs7QUZoSUQ7RUFDRTtJQUNFLGlDQUF3QjtZQUF4Qix5QkFBd0I7R0U2SHpCO0NBQ0Y7O0FGMUhEO0VBQ0U7SUFDRSxpQ0FBd0I7WUFBeEIseUJBQXdCO0dFNkh6QjtDQUNGOztBRmhJRDtFQUNFO0lBQ0UsaUNBQXdCO1lBQXhCLHlCQUF3QjtHRTZIekI7Q0FDRjs7QUYxSEQ7RUFDRTtJQUNFLGlDQUF3QjtZQUF4Qix5QkFBd0I7R0U2SHpCO0NBQ0Y7O0FGaElEO0VBQ0U7SUFDRSxpQ0FBd0I7WUFBeEIseUJBQXdCO0dFNkh6QjtDQUNGOztBRjFIRDtFQUNFO0lBQ0UsaUNBQXdCO1lBQXhCLHlCQUF3QjtHRTZIekI7Q0FDRjs7QUZoSUQ7RUFDRTtJQUNFLGlDQUF3QjtZQUF4Qix5QkFBd0I7R0U2SHpCO0NBQ0Y7O0FGMUhEO0VBQ0U7SUFDRSxrQ0FBeUI7WUFBekIsMEJBQXlCO0dFNkgxQjtDQUNGOztBRmhJRDtFQUNFO0lBQ0Usa0NBQXlCO1lBQXpCLDBCQUF5QjtHRTZIMUI7Q0FDRjs7QUYxSEQ7RUFDRTtJQUNFLGtDQUF5QjtZQUF6QiwwQkFBeUI7R0U2SDFCO0NBQ0Y7O0FGaElEO0VBQ0U7SUFDRSxrQ0FBeUI7WUFBekIsMEJBQXlCO0dFNkgxQjtDQUNGOztBRm5ZSztFQUVJLHFDQUFnQjtVQUFoQiw2QkFBZ0I7Q0FDakI7O0FBT0g7RUFFSSx5Q0FBZ0I7VUFBaEIsaUNBQWdCO0NBQ2pCOztBQWJIO0VBRUksd0NBQWdCO1VBQWhCLGdDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHNDQUFnQjtVQUFoQiw4QkFBZ0I7Q0FDakI7O0FBYkg7RUFFSSxzQ0FBZ0I7VUFBaEIsOEJBQWdCO0NBQ2pCOztBQU9IO0VBRUksd0NBQWdCO1VBQWhCLGdDQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBT0g7RUFFSSx1Q0FBZ0I7VUFBaEIsK0JBQWdCO0NBQ2pCOztBQWJIO0VBRUksc0NBQWdCO1VBQWhCLDhCQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHdDQUFnQjtVQUFoQixnQ0FBZ0I7Q0FDakI7O0FBYkg7RUFFSSx5Q0FBZ0I7VUFBaEIsaUNBQWdCO0NBQ2pCOztBQU9IO0VBRUkscUNBQWdCO1VBQWhCLDZCQUFnQjtDQUNqQjs7QUFiSDtFQUVJLHVDQUFnQjtVQUFoQiwrQkFBZ0I7Q0FDakI7O0FBT0g7RUFFSSx1Q0FBZ0I7VUFBaEIsK0JBQWdCO0NBQ2pCOztBQWJIO0VBRUksd0NBQWdCO1VBQWhCLGdDQUFnQjtDQUNqQjs7QUFPSDtFQUVJLHNDQUFnQjtVQUFoQiw4QkFBZ0I7Q0FDakI7O0FBa1FUO0VBQ0UsMkJBQWtCO1VBQWxCLG1CQUFrQjtFQUNsQixrQkFBaUI7Q0FTbEI7O0FBWEQ7RUFLSSx5Q0FBZ0M7VUFBaEMsaUNBQWdDO0VBQ2hDLDJFQ2pTZ0U7VURpU2hFLG1FQ2pTZ0U7RURrU2hFLGlDQUFvQztVQUFwQyx5QkFBb0M7RUFDcEMsb0NBQTJCO1VBQTNCLDRCQUEyQjtFQUMzQixXQUFVO0NBQ1g7O0FBR0g7RUFDRTtJQUNFLDhDQUFxQztZQUFyQyxzQ0FBcUM7R0V1THRDO0NBQ0Y7O0FGMUxEO0VBQ0U7SUFDRSw4Q0FBcUM7WUFBckMsc0NBQXFDO0dFdUx0QztDQUNGOztBRnBMRDtFQUNFO0lBQ0UsOENBQXFDO1lBQXJDLHNDQUFxQztHRXVMdEM7Q0FDRjs7QUYxTEQ7RUFDRTtJQUNFLDhDQUFxQztZQUFyQyxzQ0FBcUM7R0V1THRDO0NBQ0Y7O0FGcExEO0VBQ0U7SUFDRSwrQ0FBc0M7WUFBdEMsdUNBQXNDO0dFdUx2QztDQUNGOztBRjFMRDtFQUNFO0lBQ0UsK0NBQXNDO1lBQXRDLHVDQUFzQztHRXVMdkM7Q0FDRjs7QUZwTEQ7RUFDRTtJQUNFLCtDQUFzQztZQUF0Qyx1Q0FBc0M7R0V1THZDO0NBQ0Y7O0FGMUxEO0VBQ0U7SUFDRSwrQ0FBc0M7WUFBdEMsdUNBQXNDO0dFdUx2QztDQUNGOztBRnBMRDtFQUNFO0lBQ0UsK0NBQXNDO1lBQXRDLHVDQUFzQztHRXVMdkM7Q0FDRjs7QUYxTEQ7RUFDRTtJQUNFLCtDQUFzQztZQUF0Qyx1Q0FBc0M7R0V1THZDO0NBQ0Y7O0FGcExEO0VBQ0U7SUFDRSwrQ0FBc0M7WUFBdEMsdUNBQXNDO0dFdUx2QztDQUNGOztBRjFMRDtFQUNFO0lBQ0UsK0NBQXNDO1lBQXRDLHVDQUFzQztHRXVMdkM7Q0FDRjs7QUZwTEQ7RUFDRTtJQUNFLDhDQUFxQztZQUFyQyxzQ0FBcUM7R0V1THRDO0NBQ0Y7O0FGMUxEO0VBQ0U7SUFDRSw4Q0FBcUM7WUFBckMsc0NBQXFDO0dFdUx0QztDQUNGOztBRnBMRDtFQUNFO0lBQ0UsOENBQXFDO1lBQXJDLHNDQUFxQztHRXVMdEM7Q0FDRjs7QUYxTEQ7RUFDRTtJQUNFLDhDQUFxQztZQUFyQyxzQ0FBcUM7R0V1THRDO0NBQ0Y7O0FDdmdCQztFQUNFLHNCQUFxQjtFQUNyQixtQkFBa0I7RUFDbEIsaUJBQWdCO0NBQ2pCOztBQUVDO0VBQ0UsbUJBQWtCO0VBQ2xCLE9BQU07RUFDTixRQUFPO0VBQ1AsWUFBVztFQUNYLGFBQVk7RUFDWixjQUFhO0VBQ2IsWUFBVztFQUNYLGlCQUFnQjtFQUNoQixxQ0FBbUM7Q0FDcEM7O0FBSUQ7RUFDRSxpQ0Z6QnlCO1VFeUJ6Qix5QkZ6QnlCO0VFMEJ6Qix3RUY3QjhEO1VFNkI5RCxnRUY3QjhEO0VFOEI5RCxzQ0FBNkI7VUFBN0IsOEJBQTZCO0NBQzlCOztBQUVEO0VBQ0UsNENBQW1DO1VBQW5DLG9DQUFtQztDQUNwQzs7QUFFQztFQUNFLGNBQWE7Q0FDZDs7QUFFRDtFQUNFLGlCQUFnQjtDQUNqQjs7QUFPUDtFQUNFLHFCQUFhO0VBQWIscUJBQWE7RUFBYixjQUFhO0VBQ2Isb0JBQWU7TUFBZixnQkFBZTtFQUNmLG9CRmhEOEI7RUVpRDlCLG1CRmpEOEI7Q0UyRC9COztBQWREO0VBT0ksK0JBQXVDO0NBS3hDOztBQUpDO0VBUko7SUFTTSxvQkFBb0I7UUFBcEIseUJBQW9CO1lBQXBCLHFCQUFvQjtJQUNwQixzQkFBcUI7R0FFeEI7Q0RzZ0JGOztBQ2pnQkQ7RUFDRSxrQkFBYTtFQUFiLGNBQWE7RUFDYixvQkZoRThCO0VFaUU5QixtQkZqRThCO0NFMEUvQjs7QUFQQztFQUxGO0lBTUksMkJBQXFDO1FBQXJDLHNDQUFxQztHQU14QztDRGlnQkE7O0FDN2dCRDtFQVVJLCtCQUF1QztDQUN4Qzs7QUFJSDtFQUVJLGlCQUFnQjtFQUNoQixvQkFBbUI7Q0FDcEIiLCJmaWxlIjoiZGlyZWN0aW9uLXJldmVhbC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZXMgY2xhc3NlcyB0byBhc3NpZ24gYW5pbWF0aW9uc1xuQG1peGluIGFuaW1hdGlvbi1jbGFzc2VzKCRhbmltYXRpb24tbmFtZSkge1xuXG4gICRkaXJlY3Rpb25zLWxpc3Q6IGluIG91dDtcbiAgJHBvc2l0aW9ucy1saXN0OiAgdG9wIGJvdHRvbSBsZWZ0IHJpZ2h0O1xuXG4gICRkaXJlY3Rpb25zLW9wcG9zaXRlLWxpc3Q6IG91dCBpbjtcbiAgJHBvc2l0aW9ucy1vcHBvc2l0ZS1saXN0OiAgYm90dG9tIHRvcCByaWdodCBsZWZ0O1xuXG4gIEBlYWNoICRkaXJlY3Rpb24gaW4gJGRpcmVjdGlvbnMtbGlzdCB7XG4gICAgQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMtbGlzdCB7XG5cbiAgICAgICRjbGFzcy1uYW1lOiAjeyRhbmltYXRpb24tbmFtZX0tLSN7JGRpcmVjdGlvbn0tI3skcG9zaXRpb259O1xuXG4gICAgICAuI3skY2xhc3MtbmFtZX0ge1xuICAgICAgICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAjeyRjbGFzcy1uYW1lfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAkZGlyZWN0aW9uLW9wcG9zaXRlOiBudGgoJGRpcmVjdGlvbnMtb3Bwb3NpdGUtbGlzdCwgaW5kZXgoJGRpcmVjdGlvbnMtbGlzdCwgJGRpcmVjdGlvbikpO1xuICAgICAgJHBvc2l0aW9uLW9wcG9zaXRlOiBudGgoJHBvc2l0aW9ucy1vcHBvc2l0ZS1saXN0LCBpbmRleCgkcG9zaXRpb25zLWxpc3QsICRwb3NpdGlvbikpO1xuICAgICAgJGNsYXNzLW5hbWUtb3Bwb3NpdGU6ICN7JGFuaW1hdGlvbi1uYW1lfS0tI3skZGlyZWN0aW9uLW9wcG9zaXRlfS0jeyRwb3NpdGlvbi1vcHBvc2l0ZX07XG5cbiAgICAgIC4jeyRjbGFzcy1uYW1lfSB7XG4gICAgICAgIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiAjeyRjbGFzcy1uYW1lLW9wcG9zaXRlfTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG5cbn1cblxuXG5cbi8vIFN3aW5nIGFuaW1hdGlvblxuXG5AaW5jbHVkZSBhbmltYXRpb24tY2xhc3Nlcygnc3dpbmcnKTtcblxuLy8gRGVmYXVsdCB2aXNpYmxlIHN0YXRlIGFmdGVyIGFuaW1hdGlvbiAtIHVzZWQgYXMgc3RhcnQgb3IgZW5kIHBvaW50cyBmb3IgdGhlIGtleWZyYW1lIGFuaW1hdGlvbnNcbi5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J3N3aW5nLS0nXSB7XG4gIHBlcnNwZWN0aXZlOiA0MDBweDtcblxuICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMCwgMCwgMCk7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW0tZWFzaW5nLWVhc2VPdXRDdWJpYztcbiAgfVxufVxuXG4uc3dpbmctLWluLXRvcCwgLnN3aW5nLS1vdXQtdG9wIHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiBjZW50ZXIgdG9wO1xuXG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIHRvcDtcbiAgfVxufVxuXG4uc3dpbmctLWluLWJvdHRvbSwgLnN3aW5nLS1vdXQtYm90dG9tIHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xuXG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbiAgfVxufVxuXG4uc3dpbmctLWluLWxlZnQsIC5zd2luZy0tb3V0LWxlZnQge1xuICBwZXJzcGVjdGl2ZS1vcmlnaW46IGxlZnQgY2VudGVyO1xuXG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG4gIH1cbn1cblxuLnN3aW5nLS1pbi1yaWdodCwgLnN3aW5nLS1vdXQtcmlnaHQge1xuICBwZXJzcGVjdGl2ZS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcblxuICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbiAgfVxufVxuXG5cbkBrZXlmcmFtZXMgc3dpbmctLWluLXRvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKC0xLCAwLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0tb3V0LXRvcCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoLTEsIDAsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1pbi1ib3R0b20ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgxLCAwLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0tb3V0LWJvdHRvbSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLWluLWxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0tb3V0LWxlZnQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIDEsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1pbi1yaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDAsIC0xLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0tb3V0LXJpZ2h0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAtMSwgMCwgOTBkZWcpO1xuICB9XG59XG5cblxuXG4vLyBTbGlkZSBhbmltYXRpb25cblxuQGluY2x1ZGUgYW5pbWF0aW9uLWNsYXNzZXMoJ3NsaWRlJyk7XG5cbi5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J3NsaWRlLS0nXSB7XG4gIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYW5pbS1lYXNpbmctZWFzZU91dFF1YWQ7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0taW4tdG9wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLW91dC10b3Age1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1pbi1ib3R0b20ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1vdXQtYm90dG9tIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1pbi1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLW91dC1sZWZ0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1pbi1yaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLW91dC1yaWdodCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuXG5cbi8vIFJvdGF0ZSBhbmltYXRpb25cblxuQGluY2x1ZGUgYW5pbWF0aW9uLWNsYXNzZXMoJ3JvdGF0ZScpO1xuXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdyb3RhdGUtLSddIHtcbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkYW5pbS1lYXNpbmctZWFzZU91dFF1YWQ7XG4gIH1cbn1cblxuLnJvdGF0ZS0taW4tdG9wLCAucm90YXRlLS1vdXQtdG9wIHtcbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgfVxufVxuXG4ucm90YXRlLS1pbi1ib3R0b20sIC5yb3RhdGUtLW91dC1ib3R0b20ge1xuICAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICB9XG59XG5cbi5yb3RhdGUtLWluLWxlZnQsIC5yb3RhdGUtLW91dC1sZWZ0IHtcbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbiAgfVxufVxuXG4ucm90YXRlLS1pbi1yaWdodCwgLnJvdGF0ZS0tb3V0LXJpZ2h0IHtcbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLWluLXRvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1vdXQtdG9wIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0taW4tYm90dG9tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0tb3V0LWJvdHRvbSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0taW4tbGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLW91dC1sZWZ0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1pbi1yaWdodCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1vdXQtcmlnaHQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB9XG59XG5cblxuXG4vLyBGbGlwIGFuaW1hdGlvblxuXG5AaW5jbHVkZSBhbmltYXRpb24tY2xhc3NlcygnZmxpcCcpO1xuXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdmbGlwLS0nXSB7XG4gIHBlcnNwZWN0aXZlOiA4MDBweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgcm90YXRlWSgwKTsgLy8gT3JkZXIgbXVzdCBiZSB0aGUgc2FtZSBhcyB0aGUgYW5pbWF0aW9uc1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICRhbmltLWVhc2luZy1lYXNlSW5PdXRRdWFkO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogJGFuaW0tZHVyYXRpb24qMjtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLWluLXRvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMTgwZGVnKSByb3RhdGVZKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0tb3V0LXRvcCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1pbi1ib3R0b20ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1vdXQtYm90dG9tIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKC0xODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1pbi1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKC0xODBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0tb3V0LWxlZnQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgcm90YXRlWSgtMTgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLWluLXJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKDE4MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1vdXQtcmlnaHQge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMCkgcm90YXRlWSgxODBkZWcpO1xuICB9XG59XG4iLCIkYW5pbS1lYXNpbmctZWFzZU91dFF1YWQ6ICAgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcbiRhbmltLWVhc2luZy1lYXNlT3V0Q3ViaWM6ICBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEwLCAwLjM1NSwgMS4wMDApO1xuJGFuaW0tZWFzaW5nLWVhc2VJbk91dFF1YWQ6IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMzAsIDAuNTE1LCAwLjk1NSk7XG4kYW5pbS1kdXJhdGlvbjogICAgICAgICAgICAgLjNzO1xuXG4kZ3JpZC1zcGFjaW5nOiAgICAgICAgICAgICAgMTBweDtcbiIsIi5zd2luZy0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0taW4tdG9wO1xufVxuXG4uc3dpbmctLWluLXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1vdXQtYm90dG9tO1xufVxuXG4uc3dpbmctLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLWluLWJvdHRvbTtcbn1cblxuLnN3aW5nLS1pbi1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0tb3V0LXRvcDtcbn1cblxuLnN3aW5nLS1pbi1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0taW4tbGVmdDtcbn1cblxuLnN3aW5nLS1pbi1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLW91dC1yaWdodDtcbn1cblxuLnN3aW5nLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLWluLXJpZ2h0O1xufVxuXG4uc3dpbmctLWluLXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc3dpbmctLW91dC1sZWZ0O1xufVxuXG4uc3dpbmctLW91dC10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1vdXQtdG9wO1xufVxuXG4uc3dpbmctLW91dC10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0taW4tYm90dG9tO1xufVxuXG4uc3dpbmctLW91dC1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1vdXQtYm90dG9tO1xufVxuXG4uc3dpbmctLW91dC1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0taW4tdG9wO1xufVxuXG4uc3dpbmctLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0tb3V0LWxlZnQ7XG59XG5cbi5zd2luZy0tb3V0LWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0taW4tcmlnaHQ7XG59XG5cbi5zd2luZy0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzd2luZy0tb3V0LXJpZ2h0O1xufVxuXG4uc3dpbmctLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHN3aW5nLS1pbi1sZWZ0O1xufVxuXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdzd2luZy0tJ10ge1xuICBwZXJzcGVjdGl2ZTogNDAwcHg7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J3N3aW5nLS0nXSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J3N3aW5nLS0nXSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAwLCAwLCAwKTtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7XG59XG5cbi5zd2luZy0taW4tdG9wLCAuc3dpbmctLW91dC10b3Age1xuICBwZXJzcGVjdGl2ZS1vcmlnaW46IGNlbnRlciB0b3A7XG59XG5cbi5zd2luZy0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnN3aW5nLS1pbi10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCwgLnN3aW5nLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnN3aW5nLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgdG9wO1xufVxuXG4uc3dpbmctLWluLWJvdHRvbSwgLnN3aW5nLS1vdXQtYm90dG9tIHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiBjZW50ZXIgYm90dG9tO1xufVxuXG4uc3dpbmctLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5zd2luZy0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5zd2luZy0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5zd2luZy0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTtcbn1cblxuLnN3aW5nLS1pbi1sZWZ0LCAuc3dpbmctLW91dC1sZWZ0IHtcbiAgcGVyc3BlY3RpdmUtb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cblxuLnN3aW5nLS1pbi1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnN3aW5nLS1pbi1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5zd2luZy0tb3V0LWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuc3dpbmctLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcbn1cblxuLnN3aW5nLS1pbi1yaWdodCwgLnN3aW5nLS1vdXQtcmlnaHQge1xuICBwZXJzcGVjdGl2ZS1vcmlnaW46IHJpZ2h0IGNlbnRlcjtcbn1cblxuLnN3aW5nLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5zd2luZy0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCwgLnN3aW5nLS1vdXQtcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuc3dpbmctLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgY2VudGVyO1xufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1pbi10b3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgtMSwgMCwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC10b3Age1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKC0xLCAwLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0taW4tYm90dG9tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMSwgMCwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC1ib3R0b20ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZTNkKDEsIDAsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHN3aW5nLS1pbi1sZWZ0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgMSwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC1sZWZ0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAxLCAwLCA5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzd2luZy0taW4tcmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUzZCgwLCAtMSwgMCwgOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc3dpbmctLW91dC1yaWdodCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlM2QoMCwgLTEsIDAsIDkwZGVnKTtcbiAgfVxufVxuXG4uc2xpZGUtLWluLXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLWluLXRvcDtcbn1cblxuLnNsaWRlLS1pbi10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0tb3V0LWJvdHRvbTtcbn1cblxuLnNsaWRlLS1pbi1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1pbi1ib3R0b207XG59XG5cbi5zbGlkZS0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLW91dC10b3A7XG59XG5cbi5zbGlkZS0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLWluLWxlZnQ7XG59XG5cbi5zbGlkZS0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1vdXQtcmlnaHQ7XG59XG5cbi5zbGlkZS0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1pbi1yaWdodDtcbn1cblxuLnNsaWRlLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlLS1vdXQtbGVmdDtcbn1cblxuLnNsaWRlLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0tb3V0LXRvcDtcbn1cblxuLnNsaWRlLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLWluLWJvdHRvbTtcbn1cblxuLnNsaWRlLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0tb3V0LWJvdHRvbTtcbn1cblxuLnNsaWRlLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLWluLXRvcDtcbn1cblxuLnNsaWRlLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLW91dC1sZWZ0O1xufVxuXG4uc2xpZGUtLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLWluLXJpZ2h0O1xufVxuXG4uc2xpZGUtLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogc2xpZGUtLW91dC1yaWdodDtcbn1cblxuLnNsaWRlLS1vdXQtcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzbGlkZS0taW4tbGVmdDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0nc2xpZGUtLSddIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0nc2xpZGUtLSddIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLWluLXRvcCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1vdXQtdG9wIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0taW4tYm90dG9tIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0tb3V0LWJvdHRvbSB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0taW4tbGVmdCB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNsaWRlLS1vdXQtbGVmdCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGUtLWluLXJpZ2h0IHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZS0tb3V0LXJpZ2h0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4ucm90YXRlLS1pbi10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0taW4tdG9wO1xufVxuXG4ucm90YXRlLS1pbi10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLW91dC1ib3R0b207XG59XG5cbi5yb3RhdGUtLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1pbi1ib3R0b207XG59XG5cbi5yb3RhdGUtLWluLWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0tb3V0LXRvcDtcbn1cblxuLnJvdGF0ZS0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1pbi1sZWZ0O1xufVxuXG4ucm90YXRlLS1pbi1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1vdXQtcmlnaHQ7XG59XG5cbi5yb3RhdGUtLWluLXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLWluLXJpZ2h0O1xufVxuXG4ucm90YXRlLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0tb3V0LWxlZnQ7XG59XG5cbi5yb3RhdGUtLW91dC10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0tb3V0LXRvcDtcbn1cblxuLnJvdGF0ZS0tb3V0LXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0taW4tYm90dG9tO1xufVxuXG4ucm90YXRlLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLW91dC1ib3R0b207XG59XG5cbi5yb3RhdGUtLW91dC1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLWluLXRvcDtcbn1cblxuLnJvdGF0ZS0tb3V0LWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZS0tb3V0LWxlZnQ7XG59XG5cbi5yb3RhdGUtLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1pbi1yaWdodDtcbn1cblxuLnJvdGF0ZS0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiByb3RhdGUtLW91dC1yaWdodDtcbn1cblxuLnJvdGF0ZS0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogcm90YXRlLS1pbi1sZWZ0O1xufVxuXG4uZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdyb3RhdGUtLSddIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0ncm90YXRlLS0nXSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLnJvdGF0ZS0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnJvdGF0ZS0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5yb3RhdGUtLW91dC10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAucm90YXRlLS1vdXQtdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IHRvcDtcbn1cblxuLnJvdGF0ZS0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnJvdGF0ZS0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQsIC5yb3RhdGUtLW91dC1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAucm90YXRlLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbn1cblxuLnJvdGF0ZS0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4sIC5yb3RhdGUtLWluLWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCwgLnJvdGF0ZS0tb3V0LWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAucm90YXRlLS1vdXQtbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCB0b3A7XG59XG5cbi5yb3RhdGUtLWluLXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnJvdGF0ZS0taW4tcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCwgLnJvdGF0ZS0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLnJvdGF0ZS0tb3V0LXJpZ2h0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCB0b3A7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1pbi10b3Age1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0tb3V0LXRvcCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLWluLWJvdHRvbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLW91dC1ib3R0b20ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyByb3RhdGUtLWluLWxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlLS1vdXQtbGVmdCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0taW4tcmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZS0tb3V0LXJpZ2h0IHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgfVxufVxuXG4uZmxpcC0taW4tdG9wIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1pbi10b3A7XG59XG5cbi5mbGlwLS1pbi10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1vdXQtYm90dG9tO1xufVxuXG4uZmxpcC0taW4tYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1pbi1ib3R0b207XG59XG5cbi5mbGlwLS1pbi1ib3R0b20gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1vdXQtdG9wO1xufVxuXG4uZmxpcC0taW4tbGVmdCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0taW4tbGVmdDtcbn1cblxuLmZsaXAtLWluLWxlZnQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1vdXQtcmlnaHQ7XG59XG5cbi5mbGlwLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0taW4tcmlnaHQ7XG59XG5cbi5mbGlwLS1pbi1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLW91dC1sZWZ0O1xufVxuXG4uZmxpcC0tb3V0LXRvcCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0tb3V0LXRvcDtcbn1cblxuLmZsaXAtLW91dC10b3AgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1pbi1ib3R0b207XG59XG5cbi5mbGlwLS1vdXQtYm90dG9tIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1vdXQtYm90dG9tO1xufVxuXG4uZmxpcC0tb3V0LWJvdHRvbSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLWluLXRvcDtcbn1cblxuLmZsaXAtLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiB7XG4gIGFuaW1hdGlvbi1uYW1lOiBmbGlwLS1vdXQtbGVmdDtcbn1cblxuLmZsaXAtLW91dC1sZWZ0IC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1vdXQge1xuICBhbmltYXRpb24tbmFtZTogZmxpcC0taW4tcmlnaHQ7XG59XG5cbi5mbGlwLS1vdXQtcmlnaHQgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLW91dC1yaWdodDtcbn1cblxuLmZsaXAtLW91dC1yaWdodCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLW5hbWU6IGZsaXAtLWluLWxlZnQ7XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsIFtjbGFzcyo9J2ZsaXAtLSddIHtcbiAgcGVyc3BlY3RpdmU6IDgwMHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwgW2NsYXNzKj0nZmxpcC0tJ10gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbCBbY2xhc3MqPSdmbGlwLS0nXSAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoMCk7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ1NSwgMC4wMywgMC41MTUsIDAuOTU1KTtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjZzO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0taW4tdG9wIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgxODBkZWcpIHJvdGF0ZVkoMCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1vdXQtdG9wIHtcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDE4MGRlZykgcm90YXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLWluLWJvdHRvbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLW91dC1ib3R0b20ge1xuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTE4MGRlZykgcm90YXRlWSgwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLWluLWxlZnQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoLTE4MGRlZyk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBmbGlwLS1vdXQtbGVmdCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKC0xODBkZWcpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgZmxpcC0taW4tcmlnaHQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVYKDApIHJvdGF0ZVkoMTgwZGVnKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZsaXAtLW91dC1yaWdodCB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlWCgwKSByb3RhdGVZKDE4MGRlZyk7XG4gIH1cbn1cblxuLmRpcmVjdGlvbi1yZXZlYWxfX2NhcmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWxfX292ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMTVweDtcbiAgY29sb3I6ICNmZmY7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluLCAuZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0tb3V0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xufVxuXG4uZGlyZWN0aW9uLXJldmVhbF9fYW5pbS0taW4ge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWxfX3RpdGxlIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWxfX3RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uZGlyZWN0aW9uLXJldmVhbC0tMy1ncmlkLWZsZXhib3gge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMTBweDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwtLTMtZ3JpZC1mbGV4Ym94IC5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkIHtcbiAgYm9yZGVyOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmRpcmVjdGlvbi1yZXZlYWwtLTMtZ3JpZC1mbGV4Ym94IC5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gIH1cbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwtLTMtZ3JpZC1jc3NncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmRpcmVjdGlvbi1yZXZlYWwtLTMtZ3JpZC1jc3NncmlkIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG59XG5cbi5kaXJlY3Rpb24tcmV2ZWFsLS0zLWdyaWQtY3NzZ3JpZCAuZGlyZWN0aW9uLXJldmVhbF9fY2FyZCB7XG4gIGJvcmRlcjogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLmRpcmVjdGlvbi1yZXZlYWwtLWdyaWQtYm9vdHN0cmFwIC5kaXJlY3Rpb24tcmV2ZWFsX19jYXJkIHtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cbiIsIkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdhbmltYXRpb25zJztcblxuXG4vLyAtLS0tLSBDb21wb25lbnQgLS0tLS1cbi5kaXJlY3Rpb24tcmV2ZWFsIHt9XG5cbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2NhcmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gICAgLmRpcmVjdGlvbi1yZXZlYWxfX292ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgLjYpO1xuICAgIH1cblxuICAgIC8vIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiBpcyB1c2VkIHRvIGFuaW1hdGUgaW4gaGlkZGVuIGNvbnRlbnQsIHRoZSBkZWZhdWx0IGFuaW1hdGlvbiB1c2VkIG9uIHRoZSBvdmVybGF5XG4gICAgLy8gLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCBpcyB1c2VkIHRvIGFuaW1hdGUgb3V0IHZpc2libGUgY29udGVudFxuICAgIC5kaXJlY3Rpb24tcmV2ZWFsX19hbmltLS1pbiwgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLW91dCB7XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246ICRhbmltLWR1cmF0aW9uO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJGFuaW0tZWFzaW5nLWVhc2VPdXRRdWFkO1xuICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgfVxuXG4gICAgLmRpcmVjdGlvbi1yZXZlYWxfX2FuaW0tLWluIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTEwMCUsIDApOyAvLyBJbml0aWFsIHBvc2l0aW9uIGJlZm9yZSBhbnkgYW5pbWF0aW9uIGkuZS4gaGlkZGVuIGJ5IGRlZmF1bHRcbiAgICB9XG5cbiAgICAgIC5kaXJlY3Rpb24tcmV2ZWFsX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG5cbiAgICAgIC5kaXJlY3Rpb24tcmV2ZWFsX190ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuXG5cbi8vIC0tLS0tIExheW91dHMgLS0tLS1cblxuLy8gM3gzIGdyaWQgbGF5b3V0IC0gZmxleGJveFxuLmRpcmVjdGlvbi1yZXZlYWwtLTMtZ3JpZC1mbGV4Ym94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6IC0kZ3JpZC1zcGFjaW5nO1xuICBtYXJnaW4tbGVmdDogLSRncmlkLXNwYWNpbmc7XG5cbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2NhcmQge1xuICAgIGJvcmRlcjogJGdyaWQtc3BhY2luZyBzb2xpZCB0cmFuc3BhcmVudDsgLy8gVHJhbnNwYXJlbnQgYm9yZGVyIHVzZWQgZm9yIHNwYWNpbmcgYXMgdGhpcyBtYWtlIGRpcmVjdGlvbiBkZXRlY3Rpb24gbW9yZSBhY2N1cmF0ZSBhcyB0aGVyZSBpcyBtb3JlIGFyZWEgdG8gZGV0ZWN0LlxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1NzZweCkge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgfVxuICB9XG5cbn1cblxuLy8gM3gzIGdyaWQgbGF5b3V0IC0gQ1NTIGdyaWRcbi5kaXJlY3Rpb24tcmV2ZWFsLS0zLWdyaWQtY3NzZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIG1hcmdpbi1yaWdodDogLSRncmlkLXNwYWNpbmc7XG4gIG1hcmdpbi1sZWZ0OiAtJGdyaWQtc3BhY2luZztcblxuICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuICB9XG5cbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2NhcmQge1xuICAgIGJvcmRlcjogJGdyaWQtc3BhY2luZyBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLyBCb290c3RyYXAgZ3JpZFxuLmRpcmVjdGlvbi1yZXZlYWwtLWdyaWQtYm9vdHN0cmFwIHtcbiAgLmRpcmVjdGlvbi1yZXZlYWxfX2NhcmQge1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxufVxuIl19 */ diff --git a/styles/direction-reveal.scss b/styles/direction-reveal.scss index c645fc6..ae378e4 100644 --- a/styles/direction-reveal.scss +++ b/styles/direction-reveal.scss @@ -55,19 +55,25 @@ margin-left: -$grid-spacing; .direction-reveal__card { - flex: 0 0 33.333333%; - max-width: 33.333333%; border: $grid-spacing solid transparent; // Transparent border used for spacing as this make direction detection more accurate as there is more area to detect. + @media (min-width: 576px) { + flex: 0 0 33.333333%; + max-width: 33.333333%; + } } + } // 3x3 grid layout - CSS grid .direction-reveal--3-grid-cssgrid { display: grid; - grid-template-columns: repeat(3, 1fr); margin-right: -$grid-spacing; margin-left: -$grid-spacing; + @media (min-width: 576px) { + grid-template-columns: repeat(3, 1fr); + } + .direction-reveal__card { border: $grid-spacing solid transparent; } diff --git a/styles/site.css b/styles/site.css index 82d43f6..07aca13 100644 --- a/styles/site.css +++ b/styles/site.css @@ -443,7 +443,7 @@ html { } body { - padding-top: 90px; + padding-top: 110px; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 300; @@ -452,6 +452,12 @@ body { background-color: #fff; } +@media (min-width: 768px) { + body { + padding-top: 90px; + } +} + a { color: #1976D2; text-decoration: none; @@ -612,14 +618,19 @@ strong { } .demo { - margin-top: 20px; + margin-top: 40px; margin-bottom: 40px; } .demo--intro { + margin-top: 20px; border-bottom: 1px solid #ddd; } +.demo--intro p:last-child { + padding-bottom: 20px; +} + .btn { display: inline-block; text-align: center; @@ -662,4 +673,4 @@ pre { border-radius: 4px; } -/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpdGUvX25vcm1hbGl6ZS5zY3NzIiwic2l0ZS5jc3MiLCJzaXRlL19zaXRlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBRTVFO2dGQUNnRjtBQUVoRjs7OztHQUlHO0FBRUY7RUFDQyxrQkFBaUI7RUFBRyxPQUFPO0VBQzNCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsK0JBQThCO0VBQUcsT0FBTztDQUN6Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLFVBQVM7Q0FDVjs7QUFFRDs7R0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjO0NBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCO0NBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDs7O0VBRU8sT0FBTztFQUNaLGVBQWM7Q0FDZjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsaUJBQWdCO0NBQ2pCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUcsT0FBTztFQUNqQyxVQUFTO0VBQUcsT0FBTztFQUNuQixrQkFBaUI7RUFBRyxPQUFPO0NBQzVCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usa0NBQWlDO0VBQUcsT0FBTztFQUMzQyxlQUFjO0VBQUcsT0FBTztDQUN6Qjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDRSw4QkFBNkI7RUFBRyxPQUFPO0VBQ3ZDLHNDQUFxQztFQUFHLE9BQU87Q0FDaEQ7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxvQkFBbUI7RUFBRyxPQUFPO0VBQzdCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsa0NBQWlDO0VBQUcsT0FBTztDQUM1Qzs7QUFFRDs7R0FFRztBQUVIOztFQUVFLHFCQUFvQjtDQUNyQjs7QUFFRDs7R0FFRztBQUVIOztFQUVFLG9CQUFtQjtDQUNwQjs7QUFFRDs7O0dBR0c7QUFFSDs7O0VBR0Usa0NBQWlDO0VBQUcsT0FBTztFQUMzQyxlQUFjO0VBQUcs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O0NBQ2pCOztBQUdIO0VBWEY7SUFZSSxhQUFZO0dBRWY7Q0QwYkY7O0FDeGJEO0VBQ0Usa0JBQWlCO0VBQ2pCLHFCQUFvQjtFQUNwQixnQkFBZTtFQUNmLG1CQUFrQjtDQUNuQjs7QUFJRDtFQUNFLGlCQUFnQjtFQUNoQixvQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSw4QkFBNkI7Q0FDOUI7O0FBRUQ7RUFDRSxzQkFBcUI7RUFDckIsbUJBQWtCO0VBQ2xCLHVCQUFzQjtFQUN0QixnQkFBZTtFQUNmLHVCQUFzQjtFQUN0QiwyQkFBMEI7RUFDMUIsZ0JBQWU7RUFDZix1QkFBc0I7RUFDdEIsbUJBQWtCO0VBQ2xCLDRDQUEyQztDQUs1Qzs7QUFmRDtFQWFJLDBCQUF5QjtDQUMxQjs7QUFHSDtFQUNFLFlBQVc7RUFDWCxtQkFBa0I7RUFDbEIsOEJBQTZCO0NBQzlCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLG9CQUFtQjtDQUNwQjs7QUFFRDtFQUNFLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsbUJBQWtCO0VBQ2xCLGVBQWM7RUFDZCxzQ0FBcUM7RUFDckMsZ0JBQWU7RUFDZixzQkFBcUI7RUFDckIsc0JBQXFCO0VBQ3JCLDBCQUF5QjtFQUN6Qix1QkFBc0I7RUFDdEIsbUJBQWtCO0NBQ25CIiwiZmlsZSI6InNpdGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vKiBEb2N1bWVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cblxuIGh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIG5vcm1hbGl6ZS5jc3MgdjcuMC4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5wcmUge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7XG4gIC8qIDEgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8qIDIgKi9cbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBpT1MgNC03LlxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAxICovXG4gIG1hcmdpbjogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAqIDIuIFJlbW92ZSB0aGUgcGFkZGluZyBpbiBJRSAxMC0uXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICovXG5kZXRhaWxzLFxubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBTY3JpcHRpbmdcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogSGlkZGVuXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbmJvZHkge1xuICBwYWRkaW5nLXRvcDogOTBweDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmEge1xuICBjb2xvcjogIzE5NzZEMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xufVxuXG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6ICMyMTk2RjM7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5oMSBzbWFsbCwgaDIgc21hbGwsIGgzIHNtYWxsLCBoNCBzbWFsbCwgaDUgc21hbGwsIGg2IHNtYWxsIHtcbiAgZm9udC1zaXplOiA2MCU7XG59XG5cbmgxLCBoMiB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cblxuaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzOHB4O1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDI2cHg7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmNvbnRhaW5lcjpiZWZvcmUsIC5jb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5jb250YWluZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG4uY29sLXNtLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICB9XG59XG5cbi5pbWctZmx1aWQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTc2RDI7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmxvZ28tdGV4dCB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5sb2dvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxvZ28tdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXItLWxpbmtzIC5idG4ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cblxuLmhlYWRlci0tbGlua3MgLmJ0bjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItLWxpbmtzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLmZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kZW1vIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmRlbW8tLWludHJvIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICBwYWRkaW5nOiA0cHggMTJweCA2cHggMTJweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjNzLCBjb2xvciAuM3M7XG59XG5cbi5idG46aG92ZXIsIC5idG46YWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbn1cblxuLmJ0bi13aGl0ZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4uaW5zdGFsbCAuYnRuIHtcbiAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xufVxuXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTBweCAxNXB4O1xuICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gIG92ZXJmbG93OiBhdXRvO1xuICBmb250LWZhbWlseTogJ0N1dGl2ZSBNb25vJywgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYmJiO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG59XG4iLCIvLyAtLS0tLSBNaXhpbnMgLS0tLS1cbkBtaXhpbiBjbGVhcmZpeCgpIHtcbiAgJjpiZWZvcmUsXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG5cblxuLy8gLS0tLS0gQmFzZSBzdHlsZXMgLS0tLS1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwcHg7XG59XG5cbmJvZHkge1xuICBwYWRkaW5nLXRvcDogOTBweDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG59XG5cbmEge1xuICBjb2xvcjogIzE5NzZEMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjE5NkYzO1xuICB9XG59XG5cbi8vIFR5cGVcbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LXdlaWdodDogMzAwO1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDYwJTtcbiAgfVxufVxuaDEsIGgyIHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xufVxuaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbmgxIHsgZm9udC1zaXplOiAzOHB4OyB9XG5oMiB7IGZvbnQtc2l6ZTogMzRweDsgfVxuaDMgeyBmb250LXNpemU6IDI2cHg7IH1cbmg0IHsgZm9udC1zaXplOiAyMHB4OyB9XG5oNSB7IGZvbnQtc2l6ZTogMTZweDsgfVxuaDYgeyBmb250LXNpemU6IDE0cHg7IH1cblxucCB7XG4gIG1hcmdpbjogMCAwIDE1cHggMDtcbn1cblxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuXG5cbi8vIC0tLS0tIExheW91dCAtLS0tLVxuLmNvbnRhaW5lciB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDExNDBweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpOyAgXG59XG5cbi8vIEJvb3RzdHJhcCBncmlkIGV4YW1wbGVcbiAgLnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICBtYXJnaW4tbGVmdDogLTE1cHg7ICBcbiAgfVxuXG4gICAgLmNvbC1zbS00IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgIC5jb2wtc20tNCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgICB9XG4gICAgfVxuXG5cbi5pbWctZmx1aWQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5cbi8vIC0tLS0tIEhlYWRlciBhbmQgZm9vdGVyIC0tLS0tXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTc2RDI7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggNnB4IHJnYmEoMCwwLDAsMC4xKTtcbn1cblxuICAubG9nby10ZXh0IHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci0tbGlua3Mge1xuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICB9XG4gICAgfVxuICAgIFxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4uZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDE1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuXG4vLyAtLS0tLSBEZW1vIC0tLS0tXG4uZGVtbyB7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi5kZW1vLS1pbnRybyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xufVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgcGFkZGluZzogNHB4IDEycHggNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcywgY29sb3IgLjNzO1xuXG4gICY6aG92ZXIsICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICB9XG59XG5cbi5idG4td2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmluc3RhbGwgLmJ0biB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgZm9udC1mYW1pbHk6ICdDdXRpdmUgTW9ubycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuIl19 */ +/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNpdGUvX25vcm1hbGl6ZS5zY3NzIiwic2l0ZS5jc3MiLCJzaXRlL19zaXRlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsNEVBQTRFO0FBRTVFO2dGQUNnRjtBQUVoRjs7OztHQUlHO0FBRUY7RUFDQyxrQkFBaUI7RUFBRyxPQUFPO0VBQzNCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsK0JBQThCO0VBQUcsT0FBTztDQUN6Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSDtFQUNFLFVBQVM7Q0FDVjs7QUFFRDs7R0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjO0NBQ2Y7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxlQUFjO0VBQ2QsaUJBQWdCO0NBQ2pCOztBQUVEO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSDs7O0VBRU8sT0FBTztFQUNaLGVBQWM7Q0FDZjs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsaUJBQWdCO0NBQ2pCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUcsT0FBTztFQUNqQyxVQUFTO0VBQUcsT0FBTztFQUNuQixrQkFBaUI7RUFBRyxPQUFPO0NBQzVCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0Usa0NBQWlDO0VBQUcsT0FBTztFQUMzQyxlQUFjO0VBQUcsT0FBTztDQUN6Qjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUg7RUFDRSw4QkFBNkI7RUFBRyxPQUFPO0VBQ3ZDLHNDQUFxQztFQUFHLE9BQU87Q0FDaEQ7O0FBRUQ7OztHQUdHO0FBRUg7RUFDRSxvQkFBbUI7RUFBRyxPQUFPO0VBQzdCLDJCQUEwQjtFQUFHLE9BQU87RUFDcEMsa0NBQWlDO0VBQUcsT0FBTztDQUM1Qzs7QUFFRDs7R0FFRztBQUVIOztFQUVFLHFCQUFvQjtDQUNyQjs7QUFFRDs7R0FFRztBQUVIOztFQUVFLG9CQUFtQjtDQUNwQjs7QUFFRDs7O0dBR0c7QUFFSDs7O0VBR0Usa0NBQWlDO0VBQUcsT0FBTztFQUMzQyxlQUFjO0VBQUcs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UztFQUNULGdCQUFlO0NBS2hCOztBQVRIO0VBT00saUJBQWdCO0NBQ2pCOztBQUdIO0VBWEY7SUFZSSxhQUFZO0dBRWY7Q0QyYkY7O0FDemJEO0VBQ0Usa0JBQWlCO0VBQ2pCLHFCQUFvQjtFQUNwQixnQkFBZTtFQUNmLG1CQUFrQjtDQUNuQjs7QUFJRDtFQUNFLGlCQUFnQjtFQUNoQixvQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxpQkFBZ0I7RUFDaEIsOEJBQTZCO0NBSzlCOztBQVBEO0VBS0kscUJBQW9CO0NBQ3JCOztBQUdIO0VBQ0Usc0JBQXFCO0VBQ3JCLG1CQUFrQjtFQUNsQix1QkFBc0I7RUFDdEIsZ0JBQWU7RUFDZix1QkFBc0I7RUFDdEIsMkJBQTBCO0VBQzFCLGdCQUFlO0VBQ2YsdUJBQXNCO0VBQ3RCLG1CQUFrQjtFQUNsQiw0Q0FBMkM7Q0FLNUM7O0FBZkQ7RUFhSSwwQkFBeUI7Q0FDMUI7O0FBR0g7RUFDRSxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLDhCQUE2QjtDQUM5Qjs7QUFFRDtFQUNFLG1CQUFrQjtFQUNsQixvQkFBbUI7Q0FDcEI7O0FBRUQ7RUFDRSxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLG1CQUFrQjtFQUNsQixlQUFjO0VBQ2Qsc0NBQXFDO0VBQ3JDLGdCQUFlO0VBQ2Ysc0JBQXFCO0VBQ3JCLHNCQUFxQjtFQUNyQiwwQkFBeUI7RUFDekIsdUJBQXNCO0VBQ3RCLG1CQUFrQjtDQUNuQiIsImZpbGUiOiJzaXRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbiBodG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gKiAgICBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4gKi9cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4ge1xuICAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDEgKi9cbiAgaGVpZ2h0OiAwO1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny0gYW5kIEZpcmVmb3ggMzktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qKlxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cbmJ1dHRvbixcbmh0bWwgW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7XG4gIC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuZGV0YWlscyxcbm1lbnUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMHB4O1xufVxuXG5ib2R5IHtcbiAgcGFkZGluZy10b3A6IDExMHB4O1xuICBmb250LWZhbWlseTogXCJMYXRvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGJvZHkge1xuICAgIHBhZGRpbmctdG9wOiA5MHB4O1xuICB9XG59XG5cbmEge1xuICBjb2xvcjogIzE5NzZEMjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjNzO1xufVxuXG5hOmhvdmVyLCBhOmZvY3VzIHtcbiAgY29sb3I6ICMyMTk2RjM7XG59XG5cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LXdlaWdodDogMzAwO1xufVxuXG5oMSBzbWFsbCwgaDIgc21hbGwsIGgzIHNtYWxsLCBoNCBzbWFsbCwgaDUgc21hbGwsIGg2IHNtYWxsIHtcbiAgZm9udC1zaXplOiA2MCU7XG59XG5cbmgxLCBoMiB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cblxuaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbmgxIHtcbiAgZm9udC1zaXplOiAzOHB4O1xufVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMzRweDtcbn1cblxuaDMge1xuICBmb250LXNpemU6IDI2cHg7XG59XG5cbmg0IHtcbiAgZm9udC1zaXplOiAyMHB4O1xufVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuaDYge1xuICBmb250LXNpemU6IDE0cHg7XG59XG5cbnAge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbn1cblxuLmNvbnRhaW5lcjpiZWZvcmUsIC5jb250YWluZXI6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7XG59XG5cbi5jb250YWluZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDtcbn1cblxuLnJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xufVxuXG4uY29sLXNtLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5jb2wtc20tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMzMlO1xuICB9XG59XG5cbi5pbWctZmx1aWQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTc2RDI7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggNnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLmxvZ28tdGV4dCB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5sb2dvLXRleHQge1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmxvZ28tdGV4dCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi5oZWFkZXItLWxpbmtzIC5idG4ge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDdweDtcbn1cblxuLmhlYWRlci0tbGlua3MgLmJ0bjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDdweDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oZWFkZXItLWxpbmtzIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gIH1cbn1cblxuLmZvb3RlciB7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5kZW1vIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmRlbW8tLWludHJvIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG59XG5cbi5kZW1vLS1pbnRybyBwOmxhc3QtY2hpbGQge1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gIHBhZGRpbmc6IDRweCAxMnB4IDZweCAxMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuM3MsIGNvbG9yIC4zcztcbn1cblxuLmJ0bjpob3ZlciwgLmJ0bjphY3RpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xufVxuXG4uYnRuLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5pbnN0YWxsIC5idG4ge1xuICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG5cbnByZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIGZvbnQtZmFtaWx5OiAnQ3V0aXZlIE1vbm8nLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNiYmI7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cbiIsIi8vIC0tLS0tIE1peGlucyAtLS0tLVxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gIH1cbiAgJjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuXG4vLyAtLS0tLSBCYXNlIHN0eWxlcyAtLS0tLVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuYm9keSB7XG4gIHBhZGRpbmctdG9wOiAxMTBweDtcbiAgZm9udC1mYW1pbHk6IFwiTGF0b1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICMzMzM7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgcGFkZGluZy10b3A6IDkwcHg7XG4gIH1cblxufVxuXG5hIHtcbiAgY29sb3I6ICMxOTc2RDI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC4zcztcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBjb2xvcjogIzIxOTZGMztcbiAgfVxufVxuXG4vLyBUeXBlXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA2MCU7XG4gIH1cbn1cbmgxLCBoMiB7XG4gIG1hcmdpbjogMCAwIDIwcHggMDtcbn1cbmgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luOiAwIDAgMTVweCAwO1xufVxuXG5oMSB7IGZvbnQtc2l6ZTogMzhweDsgfVxuaDIgeyBmb250LXNpemU6IDM0cHg7IH1cbmgzIHsgZm9udC1zaXplOiAyNnB4OyB9XG5oNCB7IGZvbnQtc2l6ZTogMjBweDsgfVxuaDUgeyBmb250LXNpemU6IDE2cHg7IH1cbmg2IHsgZm9udC1zaXplOiAxNHB4OyB9XG5cbnAge1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG59XG5cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cblxuXG4vLyAtLS0tLSBMYXlvdXQgLS0tLS1cbi5jb250YWluZXIge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMTQwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgQGluY2x1ZGUgY2xlYXJmaXgoKTtcbn1cblxuLy8gQm9vdHN0cmFwIGdyaWQgZXhhbXBsZVxuICAucm93IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgfVxuXG4gICAgLmNvbC1zbS00IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgICAgIC5jb2wtc20tNCB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzMyU7XG4gICAgICB9XG4gICAgfVxuXG5cbi5pbWctZmx1aWQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG5cbi8vIC0tLS0tIEhlYWRlciBhbmQgZm9vdGVyIC0tLS0tXG4uaGVhZGVyIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTc2RDI7XG4gIGJveC1zaGFkb3c6IDAgMCA2cHggNnB4IHJnYmEoMCwwLDAsMC4xKTtcbn1cblxuICAubG9nby10ZXh0IHtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci0tbGlua3Mge1xuXG4gICAgLmJ0biB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tdG9wOiA3cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA3cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbi5mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8vIC0tLS0tIERlbW8gLS0tLS1cbi5kZW1vIHtcbiAgbWFyZ2luLXRvcDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbn1cblxuLmRlbW8tLWludHJvIHtcbiAgbWFyZ2luLXRvcDogMjBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZGQ7XG5cbiAgcDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgfVxufVxuXG4uYnRuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgcGFkZGluZzogNHB4IDEycHggNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC4zcywgY29sb3IgLjNzO1xuXG4gICY6aG92ZXIsICY6YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICB9XG59XG5cbi5idG4td2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLmluc3RhbGwgLmJ0biB7XG4gIG1hcmdpbi1yaWdodDogMTVweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBvdmVyZmxvdzogYXV0bztcbiAgZm9udC1mYW1pbHk6ICdDdXRpdmUgTW9ubycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMztcbiAgYm9yZGVyOiAxcHggc29saWQgI2JiYjtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuIl19 */ diff --git a/styles/site/_site.scss b/styles/site/_site.scss index 1d17d14..57ba05f 100644 --- a/styles/site/_site.scss +++ b/styles/site/_site.scss @@ -24,13 +24,18 @@ html { } body { - padding-top: 90px; + padding-top: 110px; font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 18px; font-weight: 300; line-height: 1.4; color: #333; background-color: #fff; + + @media (min-width: 768px) { + padding-top: 90px; + } + } a { @@ -83,7 +88,7 @@ strong { margin-left: auto; padding-left: 15px; padding-right: 15px; - @include clearfix(); + @include clearfix(); } // Bootstrap grid example @@ -91,7 +96,7 @@ strong { display: flex; flex-wrap: wrap; margin-right: -15px; - margin-left: -15px; + margin-left: -15px; } .col-sm-4 { @@ -151,7 +156,7 @@ strong { margin-left: 7px; } } - + @media (min-width: 768px) { float: right; } @@ -167,12 +172,17 @@ strong { // ----- Demo ----- .demo { - margin-top: 20px; + margin-top: 40px; margin-bottom: 40px; } .demo--intro { + margin-top: 20px; border-bottom: 1px solid #ddd; + + p:last-child { + padding-bottom: 20px; + } } .btn {