@tactics/lokaal-loket 0.0.28 → 0.0.29
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.cjs +17 -1
- package/build/index.js +2 -1
- package/package.json +1 -1
package/build/index.cjs
CHANGED
|
@@ -1760,6 +1760,22 @@ var Ma=ie__default.default.svg.attrs(e=>({version:"1.1",xmlns:"http://www.w3.org
|
|
|
1760
1760
|
width: 100vw;
|
|
1761
1761
|
`;var Ca=({children:e,color:i,tint:t})=>{let r=tacky.useThemeColor(),s={background:tacky.orDefault(r,r.surfaces.tint_500,[i,t])};return jsxRuntime.jsx(ua,{theme:s,children:e})};var Fu=({children:e,color:i=contract.Color.SURFACES,tint:t=contract.ColorVariant.TINT_500})=>jsxRuntime.jsx(Ca,{tint:t||contract.ColorVariant.TINT_500,color:i||contract.Color.SURFACES,children:e});var Pu=({children:e,apiKey:i,onLoad:t})=>jsxRuntime.jsx(reactGoogleMaps.APIProvider,{apiKey:i,onLoad:t,children:e});var Nu=tacky.ThemeMode.STANDARD,xa=rn.createContext({themeMode:Nu,setThemeMode:()=>{}}),Au=e=>{let{children:i,fromBrowser:t}=e,r=Eu(sessionStorage.getItem("theme_mode"),tacky.ThemeMode.STANDARD),[o,s]=rn.useState(r);rn.useEffect(()=>{t&&(matchMedia("(forced-colors: active)").matches?s(tacky.ThemeMode.CONTRAST):matchMedia("(prefers-color-scheme: dark)")&&s(tacky.ThemeMode.INVERTED));},[t]),rn.useEffect(()=>{sessionStorage.setItem("theme_mode",o);},[o]);let m={themeMode:r,setThemeMode:s};return jsxRuntime.jsx(xa.Provider,{value:m,children:i})};function Eu(e,i){return e&&Object.values(tacky.ThemeMode).includes(e)?e:i}
|
|
1762
1762
|
|
|
1763
|
+
Object.defineProperty(exports, "Color", {
|
|
1764
|
+
enumerable: true,
|
|
1765
|
+
get: function () { return contract.Color; }
|
|
1766
|
+
});
|
|
1767
|
+
Object.defineProperty(exports, "ColorVariant", {
|
|
1768
|
+
enumerable: true,
|
|
1769
|
+
get: function () { return contract.ColorVariant; }
|
|
1770
|
+
});
|
|
1771
|
+
Object.defineProperty(exports, "Radius", {
|
|
1772
|
+
enumerable: true,
|
|
1773
|
+
get: function () { return contract.Radius; }
|
|
1774
|
+
});
|
|
1775
|
+
Object.defineProperty(exports, "Spacing", {
|
|
1776
|
+
enumerable: true,
|
|
1777
|
+
get: function () { return contract.Spacing; }
|
|
1778
|
+
});
|
|
1763
1779
|
Object.defineProperty(exports, "BuildProvidersTree", {
|
|
1764
1780
|
enumerable: true,
|
|
1765
1781
|
get: function () { return tacky.BuildProvidersTree; }
|
|
@@ -1892,4 +1908,4 @@ exports.YesNo = Rd;
|
|
|
1892
1908
|
exports.YesNoContext = ut;
|
|
1893
1909
|
exports.useIsProcessing = a;
|
|
1894
1910
|
//# sourceMappingURL=out.js.map
|
|
1895
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9iYWRnZS9jb21wb25lbnRzL2JhZGdlLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYWxlcnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvZmlndXJlLnN0eWxlcy50c3giLCIuLi9zcmMvYmFzZS9zcmVlbl9yZWFkZXJfb25seS9zY3JlZW5fcmVhZGVyX29ubHkuc3R5bGVzLnRzeCIsIi4uL3NyYy9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seS50c3giLCIuLi9zcmMvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvZmlndXJlLmNvbnRleHQudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXMudHMiLCIuLi9zcmMvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWUudHMiLCIuLi9zcmMvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmcudHMiLCIuLi9zcmMvY29udGV4dHMvcHJvY2Vzc2luZy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJpbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jYWxlbmRhci5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jaGVjay5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jaGlsZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jb2lucy5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mYWNlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZhbWlseS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mYXZvcml0ZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mb2xkZXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZm9sbG93dXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuaWRlYS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5saWtlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm1hcC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tb25leS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5vZmZlci5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5wYXNzcG9ydC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5wYXNzd29yZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5waW4uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuc2VhcmNoLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnNldHRpbmcuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuc3Rhci5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5hZGQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYXBwbGljYXRpb24uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYmFieS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5ib29rbWFyay5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jYW5jZWwuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY29udmVyc2F0aW9uLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmRhZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5kYXRldGltZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5ob21lLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmluZm9ybWF0aW9uLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm1vbS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tYWlsLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm5vLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZpbGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUueWVzLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm5vdGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZmVuY2Uuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYnVpbGRpbmcuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvZmlndXJlLmxvYWRlci50c3giLCIuLi9zcmMvdWkvZmlndXJlL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9mcmFtZS9ob29rcy91c2UtZnJhbWUudHMiLCIuLi9zcmMvYXRvbXMvZnJhbWUvZnJhbWUuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIudHN4IiwiLi4vc3JjL2F0b21zL2ZyYW1lL2NvbXBvbmVudHMvZnJhbWUudHN4IiwiLi4vc3JjL2F0b21zL2ZyYW1lL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9iYWRnZS9iYWRnZS5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9iYWRnZS9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvYnJhbmQuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zLnRzIiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvaG9va3MvdXNlLXBsYWludGV4dC50cyIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvY29tcG9uZW50cy9wbGFpbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvY29tcG9uZW50cy9icmFuZC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2JyZWFkY3J1bWIvY29tcG9uZW50cy9icmVhZGNydW1iLnRzeCIsIi4uL3NyYy9hdG9tcy9icmVhZGNydW1iL2hvb2tzL3VzZS1icmVhZGNydW1iLnRzIiwiLi4vc3JjL3VpL2ljb24vaWNvbi5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9icmVhZGNydW1iL2JyZWFkY3J1bWIuc3R5bGUudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmFkZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vaWNvbi5zdHlsZXMudHN4IiwiLi4vc3JjL3VpL2ljb24vY29tcG9uZW50cy9pY29uLnRzeCIsIi4uL3NyYy91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lLnRzIiwiLi4vc3JjL3VpL2ljb24vaWNvbi5jb250ZXh0LnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5hcnJvdy1sZWZ0LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uYXJyb3ctcmlnaHQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5iYWJ5LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY2FuY2VsLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY2hlY2suc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLWRvd24uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLXVwLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZGlzdGFuY2Uuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5kb2N1bWVudC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmVkaXQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5ldXJvLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZmF2b3JpdGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5tYXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5tZW51LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ucGluLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ucHJvZmlsZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLnJlZG8uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5zZW5kLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24udHJhbnNsYXRpb24uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jb21tZW50LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uaW4tcHJvY2Vzcy5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLm1pbnVzLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY29sbGFwc2Uuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLXJpZ2h0LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY2hldnJvbi1sZWZ0LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZXhwYW5kLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9pY29uLmxvYWRlci50c3giLCIuLi9zcmMvdWkvaWNvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJlYWRjcnVtYi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmljb24udHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9idXR0b24uZW51bXMudHMiLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2hvb2tzL3VzZS1idXR0b24uaWNvbi50cyIsIi4uL3NyYy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9idXR0b24uc3R5bGUudHN4IiwiLi4vc3JjL2Jhc2UvYnV0dG9uL2J1dHRvbi5zdHlsZXMudHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9jb21wb25lbnRzL2J1dHRvbi5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLnRzeCIsIi4uL3NyYy9hdG9tcy9idXR0b24vaG9va3MvdXNlLWJ1dHRvbi50cyIsIi4uL3NyYy9hdG9tcy9idXR0b24vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2NoZWNrYm94L2NvbXBvbmVudHMvY2hlY2tib3gudHN4IiwiLi4vc3JjL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9jaGVja2JveC9ob29rcy91c2UtY2hlY2tib3gudHMiLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvY2hlY2tib3guZW51bXMudHMiLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvY2hlY2tib3guY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2Nob2ljZS9jb21wb25lbnRzL2Nob2ljZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9jaG9pY2UvaG9va3MvdXNlLWNob2ljZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2Nob2ljZS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2Nob2ljZS5jb250ZXh0LnRzeCIsIi4uL3NyYy9hdG9tcy9jaG9pY2UvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9ob29rcy91c2UtZmVhdHVyZS50cyIsIi4uL3NyYy9hdG9tcy9mZWF0dXJlL2NvbXBvbmVudHMvZmVhdHVyZS5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9ob29rcy91c2UtZmVhdHVyZS1pY29uLnRzIiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLnRzeCIsIi4uL3NyYy9hdG9tcy9mZWF0dXJlL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9jb2xsYXBzZS9jb2xsYXBzZS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvY29sbGFwc2UvY29tcG9uZW50cy9jb2xsYXBzZS50c3giLCIuLi9zcmMvYXRvbXMvY29sbGFwc2UvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2V4cGFuZC9leHBhbmQuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2V4cGFuZC9jb21wb25lbnRzL2V4cGFuZC50c3giLCIuLi9zcmMvYXRvbXMvZXhwYW5kL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2hlYWRpbmcuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2hlYWRpbmcvY29tcG9uZW50cy9oZWFkaW5nLnRzeCIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9pbmZvcm1hdGlvbi9ob29rcy91c2UtaW5mb3JtYXRpb24udHMiLCIuLi9zcmMvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2luZm9ybWF0aW9uL2NvbXBvbmVudHMvaW5mb3JtYXRpb24udHN4IiwiLi4vc3JjL2F0b21zL2luZm9ybWF0aW9uL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9jb21wb25lbnRzL2lucHV0LnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9ob29rcy91c2UtaW5wdXQudHMiLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5wdXQuZW51bXMudHMiLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5wdXQuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2lucHV0L2NvbXBvbmVudHMvaW5wdXQuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvaG9va3MvdXNlLWlucHV0Lmljb24udHMiLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5wdXQuY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2xpbmsvY29tcG9uZW50cy9saW5rLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2xpbmsuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvbGluay9jb21wb25lbnRzL2xpbmsuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvbGluay9ob29rcy91c2UtbGluay1pY29uLnRzIiwiLi4vc3JjL2F0b21zL2xpbmsvbGluay5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9saW5rL2xpbmsuY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvbGluay9ob29rcy91c2UtbGluay50cyIsIi4uL3NyYy9hdG9tcy9saW5rL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9saXN0L2hvb2tzL3VzZS1saXN0LnRzeCIsIi4uL3NyYy9hdG9tcy9saXN0L2xpc3Quc3R5bGUudHMiLCIuLi9zcmMvYXRvbXMvbGlzdC9jb21wb25lbnRzL2xpc3QudHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvY29tcG9uZW50cy9saXN0Lml0ZW0udHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvbGlzdC5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9saXN0L2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2xvZ28uc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvU3ZnQXNMb2dvLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvSW1hZ2VBc0xvZ28udHN4IiwiLi4vc3JjL2F0b21zL2xvZ28vbG9nby5sb2FkZXIudHN4IiwiLi4vc3JjL2F0b21zL2xvZ28vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9ub3RpZmljYXRpb24vaG9va3MvdXNlLW5vdGlmaWNhdGlvbi50cyIsIi4uL3NyYy9hdG9tcy9ub3RpZmljYXRpb24vY29tcG9uZW50cy9ub3RpZmljYXRpb24udHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGljay9jb21wb25lbnRzL3BpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svaG9va3MvdXNlLXBpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svcGljay5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcGljay9waWNrLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svcGljay5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9waWNrL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2hvb2tzL3VzZS1waWxsLnRzIiwiLi4vc3JjL2F0b21zL3BpbGwvcGlsbC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9ob29rcy91c2UtcGlsbC1pY29uLnRzIiwiLi4vc3JjL2F0b21zL3BpbGwvY29tcG9uZW50cy9waWxsLmxhYmVsLnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2NvbXBvbmVudHMvcGlsbC50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGluL3Bpbi5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9waW4vY29tcG9uZW50cy9waW4udHN4IiwiLi4vc3JjL2F0b21zL3Bpbi9waW4uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3Bpbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vY29tcG9uZW50cy9yYWRpby50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vcmFkaW8uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3JhZGlvL2hvb2tzL3VzZS1yYWRpby50cyIsIi4uL3NyYy9hdG9tcy9yYWRpby9yYWRpby5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9yYWRpby9yYWRpby5jb250ZXh0LnRzeCIsIi4uL3NyYy9hdG9tcy9yYWRpby9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL3JlY29yZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtbGFiZWwudHMiLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtdmFsdWUudHMiLCIuLi9zcmMvbGF5b3V0cy9ncmlkL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2dyaWQvZ3JpZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2NvbXBvbmVudHMvcmVjb3JkLnRzeCIsIi4uL3NyYy9hdG9tcy9yZWNvcmQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3N0YXR1cy9jb21wb25lbnRzL3N0YXR1c19jb21wYWN0LnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvc3RhdHVzLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy50cyIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvc3RhdHVzLmVudW1zLnRzIiwiLi4vc3JjL2F0b21zL3N0YXR1cy9zdGF0dXMuY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzLnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1sYWJlbC50cyIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1pY29uLnRzIiwiLi4vc3JjL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLXRleHQudHMiLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy90ZXJtL3Rlcm0uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3Rlcm0vaG9va3MvdXNlLXRlcm0udHMiLCIuLi9zcmMvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS1mcmFtZS50cyIsIi4uL3NyYy9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWxhYmVsLnRzIiwiLi4vc3JjL2F0b21zL3Rlcm0vaG9va3MvdXNlLXRlcm0tZGVzY3JpcHRpb24udHMiLCIuLi9zcmMvYXRvbXMvdGVybS9jb21wb25lbnRzL3Rlcm0udHN4IiwiLi4vc3JjL2F0b21zL3Rlcm0vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3Rlcm1pbmFsL3Rlcm1pbmFsLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy90ZXJtaW5hbC9jb21wb25lbnRzL3Rlcm1pbmFsLnRzeCIsIi4uL3NyYy9hdG9tcy90ZXJtaW5hbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL2NvbXBvbmVudHMveWVzX25vLnRzeCIsIi4uL3NyYy9hdG9tcy95ZXNfbm8vaG9va3MvdXNlLXllcy1uby50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL3llc19uby5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy95ZXNfbm8veWVzX25vLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy95ZXNfbm8veWVzX25vLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL3llc19uby9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uZW51bXMudHMiLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uc3R5bGUudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vaG9va3MvdXNlLWNvbXBhY3QtbmF2aWdhdGlvbi50cyIsIi4uL3NyYy9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvY29tcGFjdF9uYXZpZ2F0aW9uLnRvZ2dsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uY29udGV4dC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wb25lbnRzL2NvbXBhY3RfbmF2aWdhdGlvbi50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvaG9va3MvdXNlLWRldGFpbHMudHMiLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZGV0YWlscy9jb21wb25lbnRzL2RldGFpbHMuaGVhZGVyLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uZW51bXMudHMiLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmNvbnRleHQudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2NvbXBvbmVudHMvZGV0YWlscy5jb250ZW50LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZGV0YWlscy9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGUudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvaG9va3MvdXNlLWZhcS50cyIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2NvbXBvbmVudHMvZmFxLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2NvbXBvbmVudHMvZmFxLmhlYWRlci50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5jb250ZW50LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmVhdHVyZXMvY29tcG9uZW50cy9mZWF0dXJlcy50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2hvb2tzL3VzZS1mZWF0dXJlLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9mZWF0dXJlcy9mZWF0dXJlcy5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9ob29rcy91c2UtbmF2aWdhdGlvbi50cyIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9jb21wb25lbnRzL25hdmlnYXRpb24uaXRlbS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLmNvdW50ZXIudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLmVudW1zLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vY29tcG9uZW50cy9wcm9maWxlX25hdmlnYXRpb24uaXRlbS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3JlY29yZHMvY29tcG9uZW50cy9yZWNvcmRzLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcmVjb3Jkcy9ob29rcy91c2UtcmVjb3Jkcy50cyIsIi4uL3NyYy9tb2xlY3VsZXMvcmVjb3Jkcy9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2NvbXBvbmVudHMvc3RhdHVzX2xpc3QudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9ob29rcy91c2Utc3RhdHVzLWxpc3QudHMiLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvY29udGFpbmVyL2hvb2tzL3VzZS1jb250YWluZXIudHMiLCIuLi9zcmMvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLmVudW1zLnRzIiwiLi4vc3JjL2xheW91dHMvY29udGFpbmVyL2NvbXBvbmVudHMvY29udGFpbmVyLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbnRhaW5lci9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vaG9va3MvdXNlLXRvcC1uYXZpZ2F0aW9uLnRzIiwiLi4vc3JjL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi90b3BfbmF2aWdhdGlvbi5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvdG9wX25hdmlnYXRpb24udHN4IiwiLi4vc3JjL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9jb21wb25lbnRzL3RvcF9uYXZpZ2F0aW9uLml0ZW0udHN4IiwiLi4vc3JjL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIuc3R5bGUudHN4IiwiLi4vc3JjL29yZ2FuaXNtcy9oZWFkZXIvaG9va3MvdXNlLWhlYWRlci50cyIsIi4uL3NyYy9vcmdhbmlzbXMvaGVhZGVyL2hvb2tzL3VzZS1zY3JlZW4tZGltZW5zaW9ucy50cyIsIi4uL3NyYy9vcmdhbmlzbXMvaGVhZGVyL2NvbXBvbmVudHMvaGVhZGVyLnRzeCIsIi4uL3NyYy9vcmdhbmlzbXMvaGVhZGVyL2luZGV4LnRzeCIsIi4uL3NyYy9vcmdhbmlzbXMvbWFwL2NvbXBvbmVudHMvbWFwLmRpcmVjdGlvbi50c3giLCIuLi9zcmMvaG9va3MvdXNlLWdvb2dsZS1hcGktcm91dGVzLWRpcmVjdGlvbnMtcmVuZGVyZXIudHMiLCIuLi9zcmMvY29udGV4dHMvZ29vZ2xlLWFwaS1yb3V0ZXMtZGlyZWN0aW9ucy1yZW5kZXJlci50c3giLCIuLi9zcmMvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5sb2NhdGlvbi50c3giLCIuLi9zcmMvb3JnYW5pc21zL21hcC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvbWFwL3pvb20vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL2NvbXBvbmVudHMvem9vbS50c3giLCIuLi9zcmMvYXRvbXMvbWFwL3pvb20vem9vbS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvbWFwL3pvb20vaG9va3MvdXNlLXpvb20udHMiLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vaW5kZXgudHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24udHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2NvbXBvbmVudHMvYWNjb3JkZW9uLmhlYWRlci50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uY29udGVudC50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9jb21wb25lbnRzL2JhY2tkcm9wLnRzeCIsIi4uL3NyYy9jb250ZXh0cy9iYWNrZHJvcC50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9ibHVyL2NvbXBvbmVudHMvYmx1ci50c3giLCIuLi9zcmMvbGF5b3V0cy9ibHVyL2JsdXIuc3R5bGUudHN4IiwiLi4vc3JjL2NvbnRleHRzL2JsdXIudHN4IiwiLi4vc3JjL2xheW91dHMvYmx1ci9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb21wb25lbnRzL2NvbGxhcHNhYmxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2RyYXdlci9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9kcmF3ZXIvY29tcG9uZW50cy9kcmF3ZXIudHN4IiwiLi4vc3JjL2xheW91dHMvZHJhd2VyL2RyYXdlci5zdHlsZS50c3giLCIuLi9zcmMvY29udGV4dHMvZHJhd2VyLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2RyYXdlci9kcmF3ZXIuZW51bXMudHMiLCIuLi9zcmMvbGF5b3V0cy9tb2RhbC9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9tb2RhbC9jb21wb25lbnRzL21vZGFsLnRzeCIsIi4uL3NyYy9sYXlvdXRzL21vZGFsL21vZGFsLnN0eWxlLnRzeCIsIi4uL3NyYy9jb250ZXh0cy9tb2RhbC50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheS50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGUudHN4IiwiLi4vc3JjL2NvbnRleHRzL292ZXJsYXkudHN4IiwiLi4vc3JjL2xheW91dHMvb3ZlcmxheS9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9zdXJmYWNlL3N1cmZhY2Uuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvc3VyZmFjZS9jb21wb25lbnRzL3N1cmZhY2UudHN4IiwiLi4vc3JjL2xheW91dHMvc3VyZmFjZS9pbmRleC50c3giLCIuLi9zcmMvY29udGV4dHMvZ29vZ2xlLWFwaS50c3giLCIuLi9zcmMvdXRpbHMvdGhlbWVfbW9kZS9pbmRleC50c3giLCIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOlsiQ29sb3IiLCJDb2xvclZhcmlhbnQiLCJ1c2VDb250ZXh0Iiwic3R5bGVkIiwiQmFzZUZpZ3VyZVN2ZyIsInByb3BzIiwiQmFzZUZpZ3VyZVBhdGgiLCJTdHlsZWRGaWd1cmUiLCJTdHlsZWRGaWd1cmVQYXRoIiwiU3R5bGVkRmlndXJlV3JhcHBlciIsIlN0eWxlZFNjcmVlblJlYWRlck9ubHkiLCJqc3giLCJTY3JlZW5SZWFkZXJPbmx5IiwidGV4dCIsImpzeHMiLCJGaWd1cmUiLCJzY3JlZW5SZWFkZXJUZXh0Iiwic2l6ZSIsImNoaWxkcmVuIiwiY3JlYXRlQ29udGV4dCIsIkZpZ3VyZUNvbnRleHQiLCJGaWd1cmVTaXplIiwiRmlndXJlVHlwZSIsIkZpZ3VyZUN0eERlZmF1bHQiLCJGaWd1cmVDdHgiLCJ1c2VUaGVtZUNvbG9yIiwiTG9va3VwQWRkaXRpb25hbENvbG9yIiwibWF0Y2giLCJ1c2VGaWd1cmVUaGVtZSIsImNvbnRleHQiLCJpc1NrZWxldG9uIiwiQ29sb3JzIiwiU3Ryb2tlIiwiUHJpbWFyeSIsIlN1cHBvcnRpbmciLCJBY2NlbnQiLCJTa2VsZXRvbkJnIiwidXNlU3RhdGUiLCJQcm9jZXNzaW5nQ29udGV4dCIsInZhbHVlIiwiUHJvY2Vzc2luZ1Byb3ZpZGVyIiwiaXNEb25lIiwic2V0SXNEb25lIiwidXNlSXNQcm9jZXNzaW5nIiwiQWxlcnQiLCJDb250ZXh0IiwiVGhlbWUiLCJCaW4iLCJDYWxlbmRhciIsIkNoZWNrIiwiQ2hpbGQiLCJDb2lucyIsIkZhY2UiLCJGYW1pbHkiLCJ0aXRsZSIsIkZhdm9yaXRlIiwiRm9sZGVyIiwiRm9sbG93VXAiLCJJZGVhIiwiTGlrZSIsIk1hcCIsIk1vbmV5IiwiT2ZmZXIiLCJQYXNzcG9ydCIsIlBhc3N3b3JkIiwiUGluIiwiU2VhcmNoIiwiU2V0dGluZyIsIlN0YXIiLCJBZGQiLCJBcHBsaWNhdGlvbiIsIkJhYnkiLCJCb29rbWFyayIsIkNhbmNlbCIsIkNvbnZlcnNhdGlvbiIsIkRhZCIsIkRhdGVUaW1lIiwiSG9tZSIsIkluZm9ybWF0aW9uIiwiTW9tIiwiTWFpbCIsIk5vIiwiRmlsZSIsIlllcyIsIk5vdGUiLCJGZW5jZSIsIkJ1aWxkaW5nIiwiRnJhZ21lbnQiLCJMb2FkRmlndXJlIiwidHlwZSIsIlNpemUiLCJ1c2VUaGVtZVJhZGl1cyIsInVzZVRoZW1lVXRpbGl0eSIsIm9yRGVmYXVsdCIsInVzZUZyYW1lIiwidGludCIsImNvbG9yIiwic3BsaXQiLCJUaGVtZVJhZGl1cyIsIlV0aWxpdHkiLCJib3JkZXJSYWRpdXMiLCJCYWNrZ3JvdW5kIiwic3BsaXRCYWNrZ3JvdW5kIiwiU3R5bGVkRnJhbWUiLCJwcm9wIiwiU3R5bGVkRnJhbWVQYWRkaW5nIiwiU3R5bGVkU2tlbGV0b25GcmFtZSIsIlN0eWxlZFBsYWNlaG9sZGVyIiwiUGxhY2Vob2xkZXIiLCJGcmFtZSIsImFyb3VuZCIsIklzU2tlbGV0b24iLCJCYWRnZSIsIkJhZGdlVHlwZSIsIlN0eWxlZEJyYW5kV3JhcHBlciIsIlN0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXIiLCJTdHlsZWRCcmFuZExhYmVsIiwiU3R5bGVkQnJhbmRTa2VsZXRvbkxhYmVsIiwiVGV4dERlY29yYXRpb24iLCJTdHlsZWRQbGFpblRleHQiLCJTdHlsZWRTa2VsZXRvblBsYWluVGV4dCIsIlN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSIsInVzZVRoZW1lRm9udHMiLCJ1c2VQbGFpblRleHQiLCJGb250cyIsIlJhZGl1cyIsIlN0YW5kYXJkIiwiU2tlbGV0b24iLCJQbGFpblRleHQiLCJmb250IiwiZm9udFdlaWdodCIsInRleHREZWNvcmF0aW9uIiwiY3NzVGV4dERlY29yYXRpb24iLCJjc3NGb250IiwiVHlwb2dyYXBoeUZvbnQiLCJUeXBvZ3JhcGh5Rm9udHMiLCJUeXBvZ3JhcGh5Rm9udFdlaWdodCIsIkJyYW5kIiwibG9nbyIsIm5hbWUiLCJhcmlhTGFiZWwiLCJ1c2VCcmVhZGNydW1iIiwiSWNvbkNvbnRleHQiLCJJY29uU2l6ZSIsIkljb25UeXBlIiwiU3R5bGVkQnJlYWRjcnVtYiIsIlN0eWxlZEJyZWFkY3J1bWJJdGVtIiwiU3R5bGVkQnJlYWRjcnVtYkxhYmVsIiwiU3R5bGVkQnJlYWRjcnVtYkVsbGlwc2lzIiwiU3R5bGVkQnJlYWRjcnVtYlNlcGFyYXRvciIsIlN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYiIsIlN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYkxhYmVsIiwiQmFzZUljb25TdmciLCJCYXNlSWNvblBhdGgiLCJTdHlsZWRJY29uIiwiU3R5bGVkSWNvblBhdGgiLCJTdHlsZWRJY29uV3JhcHBlciIsIkljb24iLCJ1c2VJY29uVGhlbWUiLCJJY29uSW5pdGlhbENvbG9yUHJpbWFyeSIsIkljb25Jbml0aWFsQ29sb3JTdXBwb3J0aW5nIiwiSWNvbkluaXRpYWxDb2xvckRhcmsiLCJJY29uSW5pdGlhbENvbG9yTGlnaHQiLCJJY29uRGlzYWJsZWRDb2xvciIsIkljb25DdHhEZWZhdWx0IiwiSWNvbkN0eCIsIkFycm93TGVmdCIsIkFycm93UmlnaHQiLCJDaGV2cm9uRG93biIsIkNoZXZyb25VcCIsIkRpc3RhbmNlIiwiRG9jdW1lbnQiLCJFZGl0IiwiRXVybyIsIk1lbnUiLCJQcm9maWxlIiwiUmVkbyIsIlNlbmQiLCJUcmFuc2xhdGlvbiIsIkNvbW1lbnQiLCJJblByb2Nlc3MiLCJNaW51cyIsIkNvbGxhcHNlIiwiQ2hldnJvblJpZ2h0IiwiQ2hldnJvbkxlZnQiLCJFeHBhbmQiLCJMb2FkSWNvbiIsIkJyZWFkY3J1bWIiLCJjcnVtYnMiLCJjdXJyZW50UGFnZSIsImlzRWxsaXBzaXNDbGlja2VkIiwic2V0SXNFbGxpcHNpc0NsaWNrZWQiLCJzZXBhcmF0b3JJY29uIiwiaGFuZGxlRWxsaXBzaXNDbGljayIsImRpc3BsYXllZENydW1icyIsImNydW1iIiwiaW5kZXgiLCJSZWFjdCIsIkJ1dHRvbkNvbnRleHQiLCJCdXR0b25UeXBlIiwidXNlQnV0dG9uSWNvbkNvbnRleHQiLCJCdXR0b25DdHhEZWZhdWx0IiwiQnV0dG9uQ3R4IiwiQnV0dG9uSWNvbiIsImljb24iLCJNYXRjaGVkSWNvbkNvbnRleHQiLCJjc3MiLCJiYXNlQnV0dG9uU3R5bGVzIiwiYmFzZUJ1dHRvbklubmVyU3R5bGVzIiwiQnV0dG9uTmF2aWdhdGlvbiIsIkJ1dHRvbiIsIkJ1dHRvbklubmVyIiwiQnV0dG9uTGFiZWwiLCJTdHlsZWRCdXR0b24iLCJTdHlsZWRCdXR0b25OYXZpZ2F0aW9uIiwiU3R5bGVkQnV0dG9uU2tlbGV0b24iLCJTdHlsZWRCdXR0b25Jbm5lciIsIlN0eWxlZEJ1dHRvbkxhYmVsIiwidXNlQnV0dG9uVGhlbWUiLCJCdG5EaXNhYmxlZEJnIiwiQnRuRGlzYWJsZWRDb2xvciIsIkJ0bkluaXRpYWxCZ1ByaW1hcnkiLCJCdG5Ib3ZlckJnUHJpbWFyeSIsIkJ0bkluaXRpYWxDb2xvclByaW1hcnkiLCJCdG5Ib3ZlckNvbG9yUHJpbWFyeSIsIkJ0bkluaXRpYWxCZ1NlY29uZGFyeSIsIkJ0bkhvdmVyQmdTZWNvbmRhcnkiLCJCdG5Jbml0aWFsQ29sb3JTZWNvbmRhcnkiLCJCdG5Ib3ZlckNvbG9yU2Vjb25kYXJ5IiwiQnRuSW5pdGlhbEJnU3VwcG9ydGluZyIsIkJ0bkhvdmVyQmdTdXBwb3J0aW5nIiwiQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyIsIkJ0bkhvdmVyQ29sb3JTdXBwb3J0aW5nIiwiVWkiLCJOb25lIiwiTG93IiwiTWVkaXVtIiwiSGlnaCIsIkRpc2FibGVkIiwiaWQiLCJvbkNsaWNrIiwid2l0aEljb25CZWZvcmUiLCJ3aXRoSWNvbkFmdGVyIiwiQnRuQ29udGV4dCIsIkxhYmVsIiwiSXNEaXNhYmxlZCIsIklzTmF2aWdhdGlvbiIsIkljb25CZWZvcmUiLCJJY29uQWZ0ZXIiLCJodG1sVHlwZSIsIlN0eWxlZENoZWNrYm94IiwiU3R5bGVkQ2hlY2tib3hDb250YWluZXIiLCJTdHlsZWRDaGVja2JveENvbnRhaW5lclNrZWxldG9uIiwiU3R5bGVkQ2hlY2tib3hWaXN1YWwiLCJTdHlsZWRDaGVja2JveFZpc3VhbFNrZWxldG9uIiwiU3R5bGVkQ2hlY2tib3hMYWJlbCIsIlN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbiIsIkNoZWNrYm94Q29udGV4dCIsInVzZUNoZWNrYm94VGhlbWUiLCJyYWRpdXMiLCJza2VsZXRvbkJnQ29sb3IiLCJlcnJvckJvcmRlckNvbG9yIiwiRXJyb3IiLCJDaGVja2JveEN0eERlZmF1bHQiLCJDaGVja2JveEN0eCIsIkNoZWNrYm94Iiwib25DaGFuZ2UiLCJsYWJlbCIsImNoZWNrZWQiLCJkZWZhdWx0Q2hlY2tlZCIsIkNvbXBvbmVudENvbnRleHQiLCJpc0Rpc2FibGVkIiwiSW5wdXRDb250ZXh0IiwiQ2hvaWNlQ29udGV4dCIsInVzZUNob2ljZVRoZW1lIiwiU3R5bGVkQ2hvaWNlIiwiU3R5bGVkQ2hvaWNlQ29udGFpbmVyIiwiU3R5bGVkQ2hvaWNlTGFiZWwiLCJTdHlsZWRWaXN1YWxDb250YWluZXIiLCJTdHlsZWRWaXN1YWwiLCJTdHlsZWRDaG9pY2VDb250YWluZXJTa2VsZXRvbiIsIlN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uIiwiU3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbiIsIkNob2ljZUN0eERlZmF1bHQiLCJDaG9pY2VDdHgiLCJDaG9pY2UiLCJTdHlsZWRGZWF0dXJlIiwiU3R5bGVkU2tlbGV0b25GZWF0dXJlIiwiU3R5bGVkRmVhdHVyZUxhYmVsIiwiU3R5bGVkRmVhdHVyZUljb24iLCJ1c2VGZWF0dXJlIiwiRm9udCIsIkZlYXR1cmVMYWJlbCIsInVzZUZlYXR1cmVJY29uQ29udGV4dCIsIkZlYXR1cmVJY29uIiwiTWFyZ2luIiwiRmVhdHVyZSIsIlN0eWxlZENvbGxhcHNlIiwiU3R5bGVkQ29sbGFwc2VBY3Rpb24iLCJTdHlsZWRFeHBhbmQiLCJTdHlsZWRFeHBhbmRBY3Rpb24iLCJTdHlsZWRIMSIsIlN0eWxlZEgyIiwiU3R5bGVkSDMiLCJTdHlsZWRINCIsIlN0eWxlZEg1IiwiU3R5bGVkSDYiLCJIZWFkaW5nIiwidXNlSW5mb3JtYXRpb24iLCJTdHlsZWRJbmZvcm1hdGlvbiIsIlN0eWxlZEluZm9ybWF0aW9uVmlzdWFsIiwiU3R5bGVkSW5mb3JtYXRpb25UZXh0IiwiU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbiIsImZyYW1lIiwiVmlzdWFsIiwidXNlSW5wdXRUaGVtZSIsIlN0eWxlZElucHV0Q29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQmVmb3JlQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIiLCJTdHlsZWRJbnB1dCIsIlN0eWxlZElucHV0U2tlbGV0b24iLCJTdHlsZWRUZXh0YXJlYSIsIlN0eWxlZFRleHRhcmVhU2tlbGV0b24iLCJ1c2VJbnB1dEljb25Db250ZXh0IiwiSW5wdXRDdHhEZWZhdWx0IiwiSW5wdXRDdHgiLCJJbnB1dEljb24iLCJza2VsZXRvbiIsIklucHV0IiwiZGVmYXVsdFZhbHVlIiwib25CbHVyIiwicGxhY2Vob2xkZXIiLCJtdWx0aWxpbmUiLCJyb3dzIiwiZXJyb3IiLCJkaXNhYmxlZCIsIlN0eWxlZExpbmtJbm5lciIsIlN0eWxlZExpbmtMYWJlbCIsIlN0eWxlZExpbmtJY29uQmVmb3JlIiwiU3R5bGVkTGlua0ljb25BZnRlciIsIlN0eWxlZExpbmsiLCJTdHlsZWRMaW5rU2tlbGV0b24iLCJMaW5rTGFiZWwiLCJMaW5rQ29udGV4dCIsIlBvc2l0aW9uIiwidXNlTGlua0ljb25Db250ZXh0IiwiTGlua0N0eERlZmF1bHQiLCJMaW5rQ3R4IiwiTGlua0ljb24iLCJwb3NpdGlvbiIsIkJlZm9yZSIsIkFmdGVyIiwidXNlTGlua1RoZW1lIiwiTGluayIsIkljb25CZWZvcmVTa2VsZXRvbiIsIkljb25BZnRlclNrZWxldG9uIiwidXNlTGlzdFRoZW1lIiwiU3R5bGVkVW5vcmRlcmVkTGlzdCIsIlN0eWxlZE9yZGVyZWRMaXN0IiwiU3R5bGVkVW5vcmRlcmVkTGlzdFNrZWxldG9uIiwiU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbiIsIlN0eWxlZExpc3RJdGVtQ29udGFpbmVyIiwiU3R5bGVkTGlzdEl0ZW0iLCJMaXN0IiwiSXRlbSIsIkxpc3RUeXBlIiwiQmFzZUxvZ29TdmciLCJCYXNlTG9nb0ltYWdlIiwiQmFzZUxvZ29QYXRoIiwiU3R5bGVkTG9nbyIsIlN0eWxlZExvZ29JbWFnZSIsIlN0eWxlZExvZ29Ta2VsZXRvbiIsIlN0eWxlZExvZ29JbWFnZVNrZWxldG9uIiwiU3R5bGVkTG9nb1BhdGgiLCJTdHlsZWRMb2dvV3JhcHBlciIsIlN0eWxlZExvZ29JbWFnZVdyYXBwZXIiLCJTdmdBc0xvZ28iLCJEYXJrIiwiSW1hZ2VBc0xvZ28iLCJzcmNzZXQiLCJhbHQiLCJMb2FkTG9nbyIsIkxvZ28iLCJTdHlsZWROb3RpZmljYXRpb24iLCJTdHlsZWRTa2VsZXRvbk5vdGlmaWNhdGlvbiIsInVzZU5vdGlmaWNhdGlvbiIsIk5vdGlmaWNhdGlvbiIsIm51bWJlciIsImRpc3BsYXkiLCJ1c2VQaWNrVGhlbWUiLCJTdHlsZWRQaWNrIiwiU3R5bGVkUGlja0NvbnRhaW5lciIsIlN0eWxlZFBpY2tMYWJlbCIsIlN0eWxlZFBpY2tDb250YWluZXJTa2VsZXRvbiIsIlN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbiIsIlN0eWxlZFBpY2tMYWJlbFNrZWxldG9uIiwiUGlja0NvbnRleHQiLCJQaWNrQ3R4RGVmYXVsdCIsIlBpY2tDdHgiLCJQaWNrIiwidXNlUGlsbCIsIlN0eWxlZFBpbGwiLCJTdHlsZWRQaWxsSWNvbiIsIlN0eWxlZFBpbGxMYWJlbCIsIlN0eWxlZFNrZWxldG9uUGlsbCIsInVzZVBpbGxJY29uQ29udGV4dCIsIlBpbGxJY29uIiwiUGlsbExhYmVsIiwiUGlsbCIsIlBpblR5cGUiLCJCYXNlUGluU3ZnIiwiQmFzZVBpblBhdGgiLCJCYXNlUGluRyIsIkJhc2VEZWZzIiwiQmFzZUNsaXBQYXRoIiwiQmFzZUNsaXBSZWN0IiwiU3R5bGVkUGluIiwiU3R5bGVkUGluUGF0aCIsIlN0eWxlZFBpbldyYXBwZXIiLCJTdHlsZWRQaW5TaGFkb3ciLCJjb2xvcnMiLCJ3aWR0aCIsIndpZHRoUHgiLCJoZWlnaHQiLCJoZWlnaHRQeCIsInZpZXdCb3giLCJTdHlsZWRSYWRpbyIsIlN0eWxlZFJhZGlvQ29udGFpbmVyIiwiU3R5bGVkUmFkaW9Db250YWluZXJTa2VsZXRvbiIsIlN0eWxlZFJhZGlvVmlzdWFsIiwiU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbiIsIlN0eWxlZFJhZGlvTGFiZWwiLCJTdHlsZWRSYWRpb0xhYmVsU2tlbGV0b24iLCJSYWRpb0NvbnRleHQiLCJ1c2VSYWRpb1RoZW1lIiwiUmFkaW9DdHhEZWZhdWx0IiwiUmFkaW9DdHgiLCJSYWRpbyIsIlN0eWxlZFJlY29yZCIsIlN0eWxlZFJlY29yZEljb24iLCJTdHlsZWRSZWNvcmRMYWJlbCIsIlN0eWxlZFJlY29yZExhYmVsVGV4dCIsIlN0eWxlZFJlY29yZFZhbHVlIiwidXNlUmVjb3JkTGFiZWwiLCJ1c2VSZWNvcmRWYWx1ZSIsIlN0eWxlZEdyaWRDb250YWluZXIiLCJTdHlsZWRHcmlkIiwiU3R5bGVkR3JpZEl0ZW0iLCJ1c2VUaGVtZSIsIkdyaWRDb250ZXh0IiwiR3JpZCIsImRpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5IiwiZ2FwIiwic21CcmVha3BvaW50IiwibWRCcmVha3BvaW50IiwibGdCcmVha3BvaW50IiwieGxCcmVha3BvaW50IiwieHhsQnJlYWtwb2ludCIsImdhcE9yZGVmYXVsdCIsImRpcmVjdGlvbk9yRGVmYXVsdCIsImFsaWduSXRlbXNPckRlZmF1bHQiLCJqdXN0aWZ5T3JEZWZhdWx0Iiwic3R5bGUiLCJjb3VudCIsImluaXRpYWwiLCJzbSIsIm1kIiwibGciLCJ4bCIsInh4bCIsIndpZHRoT3JEZWZhdWx0Iiwic21PckRlZmF1bHQiLCJtZE9yRGVmYXVsdCIsImxnT3JEZWZhdWx0IiwieGxPckRlZmF1bHQiLCJ4eGxPckRlZmF1bHQiLCJncmlkIiwiU3BhY2luZyIsIlJlY29yZCIsIlRoZW1lTGFiZWwiLCJUaGVtZVZhbHVlIiwiVmFsdWUiLCJTdHlsZWRTdGF0dXMiLCJTdHlsZWRTa2VsZXRvblN0YXR1cyIsIlN0eWxlZFN0YXR1c0xhYmVsIiwiU3R5bGVkU3RhdHVzTGFiZWxJY29uIiwiU3R5bGVkU3RhdHVzTGFiZWxUZXh0IiwiU3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCIsInVzZVN0YXR1c0NvbXBhY3QiLCJTZW5kU3RhdHVzIiwiUHJvY2Vzc2luZ1N0YXR1cyIsIlByb3Bvc2FsU3RhdHVzIiwiQWNjZXB0ZWRTdGF0dXMiLCJSZWZ1c2VkU3RhdHVzIiwiU3RhdHVzQ29udGV4dCIsIlN0YXR1c0N0eERlZmF1bHQiLCJTdGF0dXNDdHgiLCJTdGF0dXNDb21wYWN0IiwidXNlU3RhdHVzIiwidXNlU3RhdHVzSWNvbiIsInVzZVN0YXR1c1RleHQiLCJTdGF0dXMiLCJJY29uVGhlbWUiLCJUZXh0VGhlbWUiLCJTdHlsZWRUZXJtIiwiU3R5bGVkVGVybUZyYW1lIiwiU3R5bGVkVGVybUNvbnRlbnQiLCJTdHlsZWRUZXJtTGFiZWwiLCJTdHlsZWRUZXJtRGVzY3JpcHRpb24iLCJTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbiIsIlN0eWxlZFNrZWxldG9uVGVybSIsInVzZVRlcm0iLCJ1c2VUZXJtRnJhbWUiLCJ1c2VUZXJtTGFiZWwiLCJ1c2VUZXJtRGVzY3JpcHRpb24iLCJUZXJtIiwiZGVzY3JpcHRpb24iLCJUaGVtZUZyYW1lIiwiVGhlbWVEZXNjcmlwdGlvbiIsIlN0eWxlZFRlcm1pbmFsIiwiU3R5bGVkVGVybWluYWxJbm5lciIsIlN0eWxlZFRlcm1pbmFsT3V0ZXIiLCJTdHlsZWRUZXJtaW5hbFdyYXBwZXIiLCJTdHlsZWRUZXJtaW5hbExhYmVsIiwiU3R5bGVkVGVybWluYWxMYWJlbENvbnRlbnQiLCJTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3ciLCJTdHlsZWRUZXJtaW5hbFNoYWRvdyIsIlRlcm1pbmFsIiwidXNlRWZmZWN0IiwiWWVzTm9Db250ZXh0IiwidXNlWWVzTm9UaGVtZSIsInV0aWwiLCJTdHlsZWRZZXNObyIsIlN0eWxlZFllc05vQ29udGFpbmVyIiwiU3R5bGVkWWVzTm9MYWJlbCIsIlN0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24iLCJTdHlsZWRZZXNOb1dyYXBwZXIiLCJTdHlsZWRZZXNOb1Zpc3VhbFNrZWxldG9uIiwiU3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uIiwiWWVzTm9DdHhEZWZhdWx0IiwiWWVzTm9DdHgiLCJZZXNObyIsImFyaWFZZXNMYWJlbCIsImFyaWFOb0xhYmVsIiwieWVzTGFiZWwiLCJub0xhYmVsIiwieWVzT3JObyIsInNldFllc09yTm8iLCJDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQiLCJTdHlsZWRDb21wYWN0TmF2aWdhdGlvbiIsIlN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uU2tlbGV0b24iLCJTdHlsZWRDb21wYWN0TmF2aWdhdGlvblRvZ2dsZSIsIlN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uQm9keSIsInVzZUNvbXBhY3ROYXZpZ2F0aW9uIiwiQ29tcGFjdE5hdmlnYXRpb25DdHhEZWZhdWx0IiwiQ29tcGFjdE5hdmlnYXRpb25DdHgiLCJUb2dnbGUiLCJOYXZDb250ZXh0Iiwic2V0TmF2Q29udGV4dCIsIkNvbXBhY3ROYXZpZ2F0aW9uIiwidG9nZ2xlTGFiZWwiLCJpc09wZW4iLCJEZWZhdWx0Q29tcGFjdE5hdmlnYXRpb25Db250ZXh0IiwiU3R5bGVkRGV0YWlsc0NvbnRhaW5lciIsIlN0eWxlZERldGFpbHNIZWFkZXIiLCJTdHlsZWREZXRhaWxzSGVhZGVySWNvbiIsIlN0eWxlZERldGFpbHNBY3Rpb25zIiwiU3R5bGVkRGV0YWlsc0NvbnRlbnQiLCJTdHlsZWRTa2VsZXRvblRpdGxlIiwidXNlRGV0YWlsc1RoZW1lIiwiRGV0YWlscyIsIkFjY29yZGVvbkNvbnRleHQiLCJBY2NvcmRlb25DdHhEZWZhdWx0IiwiQWNjb3JkZW9uQ3R4IiwiSGVhZGVyIiwiQ29udGVudCIsIlN0eWxlZEZhcUNvbnRhaW5lciIsIlN0eWxlZEZhcUhlYWRlciIsIlN0eWxlZEZhcUhlYWRlckljb24iLCJTdHlsZWRGYXFDb250ZW50IiwidXNlRmFxVGhlbWUiLCJGYXEiLCJ1c2VGZWF0dXJlcyIsIlN0eWxlZEZlYXR1cmVzIiwiU3R5bGVkRmVhdHVyZXNJdGVtIiwiU3R5bGVkRmVhdHVyZXNJdGVtU2VwZXJhdG9yIiwiU3R5bGVkU2tlbGV0b25GZWF0dXJlcyIsIkZlYXR1cmVzIiwiZmVhdHVyZXMiLCJjaGlsZCIsImRpdmlkZXIiLCJ1c2VOYXZpZ2F0aW9uIiwiU3R5bGVkTmF2aWdhdGlvbkNvbnRhaW5lciIsIlN0eWxlZE5hdmlnYXRpb25JdGVtQ29udGFpbmVyIiwiU3R5bGVkTmF2aWdhdGlvbkl0ZW1MYWJlbCIsIlN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkNvbnRhaW5lciIsIlN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkl0ZW0iLCJpc0FjdGl2ZSIsIk5hdmlnYXRpb24iLCJ1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb24iLCJTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluayIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvbiIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIiLCJQcm9maWxlTmF2aWdhdGlvbiIsInRoZW1lIiwiQ291bnRlciIsIkl0ZW1UeXBlIiwiaXNIaWdobGlnaHRlZCIsInVzZVJlY29yZHMiLCJSZWNvcmRzIiwicmVjb3JkcyIsIkNoaWxkcmVuIiwidXNlU3RhdHVzTGlzdFRoZW1lIiwiU3R5bGVkU3RhdHVzTGlzdCIsIlN0eWxlZFN0YXR1c0xpc3RJdGVtcyIsIlN0eWxlZFN0YXR1c0xpc3RDb3VudCIsIlN0eWxlZFNrZWxldG9uU3RhdHVzTGlzdCIsIlN0eWxlZENvbnRhaW5lciIsIlN0eWxlZENvbnRhaW5lclBhZGRpbmciLCJTdHlsZWRTa2VsZXRvbkNvbnRhaW5lciIsIkNvbnRhaW5lclR5cGUiLCJ1c2VDb250YWluZXIiLCJsaWZ0ZWQiLCJwYWRkaW5nIiwiZnVsbFdpZHRoIiwiUmFkaXVzQmFzZSIsIlNoYWRvdyIsIkNvbnRhaW5lciIsIlN0YXR1c0xpc3QiLCJ3aXRoQ291bnQiLCJDb3VudCIsInVzZVRvcE5hdmlnYXRpb24iLCJTdHlsZWRUb3BOYXZpZ2F0aW9uQ29udGFpbmVyIiwiU3R5bGVkU2tlbGV0b25FeGFtcGxlIiwiU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW0iLCJTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbVNrZWxldG9uIiwiU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXIiLCJUb3BOYXZpZ2F0aW9uIiwiU3R5bGVkSGVhZGVyQ29tcGFjdENvbnRhaW5lciIsIlN0eWxlZEhlYWRlckNvbnRhaW5lciIsIlN0eWxlZEhlYWRlckJyYW5kQ29udGFpbmVyIiwiU3R5bGVkSGVhZGVyTmF2Q29udGFpbmVyIiwidXNlSGVhZGVyIiwidXNlV2luZG93RGltZW5zaW9ucyIsIndpbmRvd0RpbWVuc2lvbnMiLCJzZXRXaW5kb3dEaW1lbnNpb25zIiwiaGFuZGxlUmVzaXplIiwidXNlX3NjcmVlbl9kaW1lbnNpb25zX2RlZmF1bHQiLCJicmFuZCIsIm5hdmlnYXRpb24iLCJwcm9maWxlTmF2aWdhdGlvbiIsInRvcE5hdmlnYXRpb24iLCJjb21wYWN0TmF2aWdhdGlvbiIsInVzZU1hcCIsInVzZU1hcHNMaWJyYXJ5IiwiR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJDb250ZXh0IiwiR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJQcm92aWRlciIsInNlcnZpY2UiLCJzZXRTZXJ2aWNlIiwicm91dGVzTGlicmFyeSIsInVzZUdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvbnNSZW5kZXJlciIsIkRpcmVjdGlvbk1hcCIsImRpcmVjdGlvbnMiLCJyZW5kZXJlciIsImFjdGl2ZVJvdXRlIiwic2V0QWN0aXZlUm91dGUiLCJvblJvdXRlQ2xpY2tlZCIsInJlbmRlck9wdGlvbnMiLCJBZHZhbmNlZE1hcmtlciIsIkxvY2F0aW9uTWFwIiwicG9pbnRzIiwib3JpZ2luIiwibWFwUG9pbnRzIiwib25NYXJrZXJDbGlja2VkIiwiZXZlbnQiLCJwb2ludCIsIk9yaWdpbk1hcmtlciIsIlBvaW50TWFya2VycyIsImkiLCJ1dWlkdjQiLCJDb250cm9sUG9zaXRpb24iLCJHb29nbGVNYXAiLCJTdHlsZWRab29tIiwiU3R5bGVkWm9vbVNlcGVyYXRvciIsIlN0eWxlZFpvb21QbHVzIiwiU3R5bGVkWm9vbU1pbnVzIiwiU3R5bGVkU2tlbGV0b25ab29tIiwidXNlWm9vbSIsIlpvb20iLCJtYXAiLCJtYXhab29tIiwibWluWm9vbSIsIkN0eCIsImRlZmF1bHRab29tIiwiY3VycmVudFpvb20iLCJzZXRDdXJyZW50Wm9vbSIsInBsdXNBdmFpbGFibGUiLCJzZXRQbHVzQXZhaWxhYmxlIiwibWludXNBdmFpbGFibGUiLCJzZXRNaW51c0F2YWlsYWJsZSIsInNldEF2YWlsYWJsZSIsInVwZGF0ZSIsIm9uQ2xpY2tQbHVzIiwib25DbGlja01pbnVzIiwiTWFwQ29udHJvbCIsIkRlZmF1bHQiLCJwb3NpdGlvbk9mZnNldCIsIm9mZnNldCIsIm1hcElkIiwiZGVmYXVsdENlbnRlciIsIlN0eWxlIiwiU3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyIiwiU3R5bGVkQWNjb3JkZW9uSGVhZGVyIiwiU3R5bGVkQWNjb3JkZW9uQm9keSIsIlN0eWxlZEFjY29yZGVvbkNvbnRlbnQiLCIkaXNPcGVuIiwiQWNjb3JkZW9uIiwic2V0QWNjb3JkZW9uQ29udGV4dCIsIkRlZmF1bHRBY2NvcmRlb25Db250ZXh0IiwiU3R5bGVkQmFja2Ryb3AiLCJCYWNrZHJvcENvbnRleHQiLCJCYWNrZHJvcFByb3ZpZGVyIiwiaXNCYWNrZHJvcFZpc2libGUiLCJzZXRJc0JhY2tkcm9wVmlzaWJsZSIsIkJhY2tkcm9wIiwiY3JlYXRlUG9ydGFsIiwiU3R5bGVkQmx1ciIsIkJsdXJDb250ZXh0IiwiQmx1clByb3ZpZGVyIiwiaXNCbHVycmVkIiwic2V0SXNCbHVycmVkIiwiQmx1ciIsIlN0eWxlZENvbGxhcHNhYmxlIiwiU3R5bGVkQ29sbGFwc2FibGVDb250ZW50IiwiU3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsIiwiU3R5bGVkQ29sbGFwc2FibGVFeHBhbmRDb250ZW50QWN0aW9uIiwiU3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24iLCJDb2xsYXBzYWJsZSIsImNvbnRlbnQiLCJhZGRpdGlvbmFsIiwid2l0aENvbnRlbnRFeHBhbmQiLCJ3aXRoQ29udGVudENvbGxhcHNlIiwiaXNDb250ZW50RXhwYW5kZWQiLCJzZXRDb250ZW50RXhwYW5kZWQiLCJTdHlsZWREcmF3ZXIiLCJTdHlsZWREcmF3ZXJIZWFkZXIiLCJTdHlsZWREcmF3ZXJDb250ZW50IiwiRHJhd2VyQ29udGV4dCIsIkRyYXdlclByb3ZpZGVyIiwiZHJhd2VyIiwic2V0SXNPcGVuIiwiRHJhd2VyIiwiVHJhbnNmb3JtZWRTaXplIiwiRHJhd2VyU2l6ZSIsIlN0eWxlZE1vZGFsIiwiU3R5bGVkTW9kYWxIZWFkZXIiLCJTdHlsZWRNb2RhbEhlYWRlckNsb3NlIiwiU3R5bGVkTW9kYWxDb250ZW50IiwiTW9kYWxDb250ZXh0IiwiTW9kYWxQcm92aWRlciIsIm1vZGFsIiwiTW9kYWwiLCJTdHlsZWRPdmVybGF5IiwiU3R5bGVkT3ZlcmxheUhlYWRlciIsIlN0eWxlZE92ZXJsYXlIZWFkZXJBcmVhIiwiU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlIiwiU3R5bGVkT3ZlcmxheUNvbnRlbnQiLCJPdmVybGF5Q29udGV4dCIsIk92ZXJsYXlQcm92aWRlciIsImhlYWRlciIsImNsb3NlIiwib3ZlcmxheSIsIk92ZXJsYXkiLCJTdHlsZWRTdXJmYWNlIiwiU3VyZmFjZSIsIkFQSVByb3ZpZGVyIiwiR29vZ2xlQVBJUHJvdmlkZXIiLCJhcGlLZXkiLCJvbkxvYWQiLCJUaGVtZU1vZGUiLCJEZWZhdWx0VGhlbWVNb2RlIiwiVGhlbWVNb2RlQ29udGV4dCIsIlRoZW1lTW9kZVByb3ZpZGVyIiwiZnJvbUJyb3dzZXIiLCJyZXNvbHZlZFRoZW1lTW9kZSIsIlRoZW1lTW9kZU9yRGVmYXVsdCIsInRoZW1lTW9kZSIsInNldFRoZW1lTW9kZSIsImZhbGxiYWNrIiwiVGhlbWVCdWlsZGVyIiwiQnVpbGRQcm92aWRlcnNUcmVlIiwiVGhlbWVDdHgiLCJTdHlsZVByb3ZpZGVyQW5pbWF0aW9uIiwiU3R5bGVQcm92aWRlckZvbnRGYWNlIiwiU3R5bGVQcm92aWRlclByZUZsaWdodCIsIlN0eWxlUHJvdmlkZXJSb3V0ZXIiLCJ1c2VCcm93c2VyQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFTLFNBQUFBLEdBQU8sZ0JBQUFDLE9BQW9CLDBCQ0hwQyxPQUFnQixjQUFBQyxPQUFrQixRQ0FsQyxPQUFPQyxPQUFZLG9CQUVuQixJQUFNQyxHQUFnQkQsR0FBTyxJQUFJLE1BQU9FLElBQVcsQ0FDakQsUUFBUyxNQUNULE1BQU8sNkJBQ1AsV0FBWSwrQkFDWixLQUFNLE1BQ04sY0FBZSxNQUNqQixFQUFFLElBRVdDLEdBQWlCSCxHQUFPLEtBQUssTUFBTSxDQUM5QyxLQUFNLGNBQ1IsQ0FBQyxJQUVZSSxHQUFlSixHQUFPQyxFQUFhO0FBQUE7QUFBQSxXQUtwQ0MsR0FBVUEsRUFBTSxLQUFLO0FBQUEsWUFDcEJBLEdBQVVBLEVBQU0sTUFBTTtBQUFBLEVBR3RCRyxFQUFtQkwsR0FBT0csRUFBYyxJQUV4Q0csR0FBc0JOLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VDekIxQyxPQUFPQSxPQUFZLG9CQUVaLElBQU1PLEdBQXlCUCxHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQ0dwQyxjQUFBUSxPQUFBLG9CQURGLElBQU1DLEdBQW1CLENBQUMsQ0FBRSxLQUFBQyxDQUFLLElBQy9CRixHQUFDRCxHQUFBLENBQXdCLFNBQUFHLEVBQUssRUNNbkMsT0FDRSxPQUFBRixHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTUMsRUFBUyxDQUFDLENBQ3JCLGlCQUFBQyxFQUNBLEtBQUFDLEVBQ0EsU0FBQUMsQ0FDRixJQUVJSixHQUFDTCxHQUFBLENBQ0MsVUFBQUUsR0FBQ0osR0FBQSxDQUFhLE1BQU9VLEVBQU0sT0FBUUEsRUFBTSxRQUFRLFlBQzlDLFNBQUFDLEVBQ0gsRUFDQVAsR0FBQ0MsR0FBQSxDQUFpQixLQUFNSSxFQUFrQixHQUM1QyxFQ2hCSixPQUFnQixpQkFBQUcsT0FBcUIsUUNBOUIsSUFBS0MsUUFDVkEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLE9BQVMsU0FIQ0EsUUFBQSxJQU1BQyxRQUNWQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxPQUFTLFNBQ1RBLEVBQUEsTUFBUSxRQUNSQSxFQUFBLE9BQVMsU0FKQ0EsUUFBQSxJQU9BQyxRQUNWQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxPQUFTLFNBQ1RBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLElBQU0sTUFDTkEsRUFBQSxNQUFRLFFBQ1JBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLE9BQVMsU0FDVEEsRUFBQSxPQUFTLFNBQ1RBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLFFBQVUsVUFDVkEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsSUFBTSxNQUNOQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsTUFBUSxRQUNSQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxVQUFZLFlBQ1pBLEVBQUEsS0FBTyxPQUNQQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxNQUFRLFFBQ1JBLEVBQUEsS0FBTyxPQUNQQSxFQUFBLElBQU0sTUFDTkEsRUFBQSxJQUFNLE1BQ05BLEVBQUEsWUFBYyxjQUNkQSxFQUFBLEtBQU8sT0FDUEEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsYUFBZSxlQUNmQSxFQUFBLE9BQVMsU0FDVEEsRUFBQSxJQUFNLE1BQ05BLEVBQUEsU0FBVyxXQUNYQSxFQUFBLEtBQU8sT0FDUEEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsWUFBYyxjQUNkQSxFQUFBLEtBQU8sT0FDUEEsRUFBQSxJQUFNLE1BQ05BLEVBQUEsR0FBSyxLQUNMQSxFQUFBLEtBQU8sT0FDUEEsRUFBQSxJQUFNLE1BQ05BLEVBQUEsTUFBUSxRQUNSQSxFQUFBLFNBQVcsV0F4Q0RBLFFBQUEsSURWTCxJQUFNQyxjQUdBQyxFQUNYTCxHQUFjSSxFQUFnQixFRVBoQyxPQUFTLGlCQUFBRSxPQUFxQixpQkFFOUIsT0FBUyx5QkFBQUMsT0FBNkIsaUJBQ3RDLE9BQU9DLE9BQVcsaUJBR1gsSUFBTUMsRUFBaUIsQ0FDNUJDLEVBQ0FDLElBQ2lCLENBQ2pCLElBQU1DLEVBQVNOLEdBQWMsRUFFdkJPLEVBQVNOLEdBQXNCLENBQ25DLEtBQU0sZ0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUtFLEVBQVVQLEdBQXNCLENBQ3BDLEtBQU0saUJBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sUUFBUSxRQUMzQixDQUFDLEVBRUtHLEVBQWFSLEdBQXNCLENBQ3ZDLEtBQU0sb0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sV0FBVyxRQUM5QixDQUFDLEVBRUtJLEVBQVNULEdBQXNCLENBQ25DLEtBQU0sZ0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sT0FBTyxRQUMxQixDQUFDLEVBRUtLLEVBQWFWLEdBQXNCLENBQ3ZDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFRCxPQUFJRCxFQUNLLENBQ0wsT0FBUU0sRUFDUixRQUFTQSxFQUNULFdBQVlBLEVBQ1osT0FBUUEsRUFDUixPQUFRQSxFQUNSLFFBQVNBLENBQ1gsRUFHS1QsR0FBTUUsRUFBUyxDQUNwQixZQUVFLENBQ0UsT0FBUUcsRUFDUixRQUFTQyxFQUNULFdBQVlDLEVBQ1osT0FBUUMsRUFDUixPQUFRSixFQUFPLE9BQU8sU0FDdEIsUUFBU0EsRUFBTyxRQUFRLFFBQzFCLENBQ0YsRUFDQSxZQUVFLENBQ0UsT0FBUUMsRUFDUixRQUFTRSxFQUNULFdBQVlDLEVBQ1osT0FBUUYsRUFDUixPQUFRRixFQUFPLE9BQU8sU0FDdEIsUUFBU0EsRUFBTyxRQUFRLFFBQzFCLENBQ0YsRUFDQSxVQUVFLENBQ0UsT0FBUUMsRUFDUixRQUFTRyxFQUNULFdBQVlGLEVBQ1osT0FBUUMsRUFDUixPQUFRSCxFQUFPLE9BQU8sU0FDdEIsUUFBU0EsRUFBTyxRQUFRLFFBQzFCLENBQ0YsQ0FDRixDQUFDLENBQ0gsRUN4RkEsT0FBUyxjQUFBN0IsT0FBa0IsUUNBM0IsT0FBZ0IsaUJBQUFpQixHQUFrQyxZQUFBa0IsT0FBZ0IsUUFvQjlELGNBQUExQixPQUFBLG9CQWJHLElBQU0yQixHQUFvQm5CLEdBQXFDLENBQ3BFLE9BQVEsR0FDUixVQUFZb0IsR0FBVSxDQUVwQixRQUFRLEtBQUsscUNBQXFDLENBQ3BELENBQ0YsQ0FBQyxFQUVZQyxHQUFxQixDQUFDLENBQUUsU0FBQXRCLENBQVMsSUFBeUIsQ0FDckUsR0FBTSxDQUFDdUIsRUFBUUMsQ0FBUyxFQUFJTCxHQUFrQixFQUFLLEVBQzdDRSxFQUFRLENBQUUsT0FBQUUsRUFBUSxVQUFBQyxDQUFVLEVBRWxDLE9BQ0UvQixHQUFDMkIsR0FBa0IsU0FBbEIsQ0FBMkIsTUFBT0MsRUFDaEMsU0FBQXJCLEVBQ0gsQ0FFSixFRHJCTyxJQUFNeUIsRUFBa0IsSUFBZSxDQUM1QyxHQUFNLENBQUUsT0FBQUYsQ0FBTyxFQUFJdkMsR0FBV29DLEVBQWlCLEVBQy9DLE1BQU8sQ0FBQ0csQ0FDVixFUlFJLE9BQ0UsT0FBQTlCLEdBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNOEIsR0FBUSxDQUFDLENBQUUsaUJBQUE1QixFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQ2hFLElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG9OQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDR3QkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FHLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGtIQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVVN0NBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU1pQyxHQUFNLENBQUMsQ0FBRSxpQkFBQS9CLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDOUQsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUscThCQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLHlHQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwrR0FDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsMkdBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDBEQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsR0FDRixDQUVKLEVDckRBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU1rQyxHQUFXLENBQUMsQ0FBRSxpQkFBQWhDLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDbkUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsNmhDQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG9aQUNGLEtBQUssT0FDTCxPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1IQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtSEFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUhBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1IQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtRUFDRixLQUFLLE9BQ0wsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUNwRUEsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTW1DLEdBQVEsQ0FBQyxDQUFFLGlCQUFBakMsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUNoRSxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSxxaUJBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsa0VBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUNoQ0EsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTW9DLEdBQVEsQ0FBQyxDQUFFLGlCQUFBbEMsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUNoRSxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSxpV0FDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSw4REFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FHLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDZNQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwrWUFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwrWUFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtSEFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsMFJBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixHQUNGLENBRUosRUM3REEsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU1xQyxHQUFRLENBQUMsQ0FBRSxpQkFBQW5DLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDaEUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsa1pBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBRyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtSEFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGlIQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUhBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSw0WUFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEdBQ0YsQ0FFSixFQy9EQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXNDLEdBQU8sQ0FBQyxDQUFFLGlCQUFBcEMsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUMvRCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQWlCLEVBQUUsbUJBQW1CLEtBQUssT0FBTyxFQUNuREcsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbU9BQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwwVEFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLCtEQUNGLE9BQVFzQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG9XQUNGLEtBQU1zQyxFQUFNLE9BQ2QsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1XQUNGLEtBQU1zQyxFQUFNLE9BQ2QsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLEtBQUssT0FDTCxPQUFPLE9BQ1AsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsR0FDRixDQUVKLEVDcERBLE9BQWdCLGNBQUFOLE9BQWtCLFFBYzlCLE9BQ0UsT0FBQVMsRUFERixRQUFBRyxPQUFBLG9CQU5HLElBQU11QyxHQUFTLENBQUMsQ0FBRSxNQUFBQyxFQUFPLEtBQUFyQyxFQUFNLGlCQUFBRCxDQUFpQixJQUFtQixDQUN4RSxJQUFNNkIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8sTUFBT3VDLEVBQU8sS0FBTXJDLEVBQU0saUJBQWtCRCxFQUNsRCxVQUFBTCxFQUFDSCxFQUFBLENBQ0MsRUFBRSxzWUFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxrRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FHLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGlIQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtTkFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxnTkFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxnZkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FHLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG1IQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSwrTUFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtTkFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtRkFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxrRUFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsb0ZBQ0YsS0FBTXNDLEVBQU0sT0FDZCxFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdaQUNGLEtBQU1zQyxFQUFNLFdBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGlFQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQUcsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsa0tBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdOQUNGLEtBQU1zQyxFQUFNLE9BQ2QsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG1OQUNGLEtBQU1zQyxFQUFNLE9BQ2QsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdIQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxrVEFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtV0FDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxpV0FDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxvTkFDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEdBQ0YsQ0FFSixFQ2pLQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXlDLEdBQVcsQ0FBQyxDQUFFLGlCQUFBdkMsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUNuRSxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSw4VkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtREFDRixLQUFLLE9BQ0wsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUNqQ0EsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTTBDLEdBQVMsQ0FBQyxDQUFFLGlCQUFBeEMsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUNqRSxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSwwZEFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLCtEQUNGLEtBQUssT0FDUCxFQUNBRyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxzREFDRixPQUFRc0MsRUFBTSxPQUNkLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxzREFDRixPQUFPLE9BQ1AsY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVDeENBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU0yQyxHQUFXLENBQUMsQ0FBRSxpQkFBQXpDLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDbkUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsZ1pBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsZ1pBQ0YsS0FBTXNDLEVBQU0sV0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsNllBQ0YsS0FBSyxPQUNMLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsb1lBQ0YsS0FBSyxPQUNMLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsaUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBRyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxrRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FHLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDZYQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsR0FDRixDQUVKLEVDbkVBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWU5QixPQUNFLE9BQUFTLEVBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNNEMsR0FBTyxDQUFDLENBQUUsaUJBQUExQyxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQy9ELElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEVBQUNILEVBQUEsQ0FDQyxFQUFFLHloQkFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLE1BQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSwyd0JBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxNQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsZ3hCQUNGLEtBQU1zQyxFQUFNLE9BQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksTUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLHd3QkFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLE1BQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSwyd0JBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxNQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsNFRBQ0YsS0FBTXNDLEVBQU0sV0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxNQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBTyxPQUNQLFlBQVksTUFDWixjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBRyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxreEJBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxNQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLE1BQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGtFQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxNQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxpbUJBQ0YsS0FBSyxPQUNMLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxNQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsbUNBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLE1BQ1osY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQU8sT0FDUCxZQUFZLE1BQ1osY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVDN0dBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU02QyxHQUFPLENBQUMsQ0FBRSxpQkFBQTNDLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDL0QsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbzdCQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGdFQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQUcsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLCtHQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSx5R0FDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsNEpBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVDNURBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWU5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNOEMsR0FBTSxDQUFDLENBQUUsaUJBQUE1QyxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQzlELElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDZ1QkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSx1QkFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsd0JBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDhEQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUMvQ0EsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsRUFERixRQUFBRyxPQUFBLG9CQU5HLElBQU0rQyxHQUFRLENBQUMsQ0FBRSxpQkFBQTdDLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDaEUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sRUFBQ0gsRUFBQSxDQUNDLEVBQUUsaVlBQ0YsS0FBTXNDLEVBQU0sV0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsOGpCQUNGLEtBQUssT0FDTCxPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsa0VBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBRyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtWUFDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxrSEFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FHLEVBQUNILEVBQUEsQ0FDQyxFQUFFLDJYQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdFQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQUcsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsMEdBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSx3R0FDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGlIQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsa1pBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsMllBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFPLFVBQ1AsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsK1hBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsOFlBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEdBQ0YsQ0FFSixFQ3pIQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTWdELEdBQVEsQ0FBQyxDQUFFLGlCQUFBOUMsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUNoRSxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSxnWkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxrWkFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxpSEFDRixLQUFLLE9BQ1AsRUFDQUcsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsaUhBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsR0FDRixDQUVKLEVDbERBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU1pRCxHQUFXLENBQUMsQ0FBRSxpQkFBQS9DLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDbkUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsb2NBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwyVkFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGtGQUNGLE9BQVFzQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDhFQUNGLE9BQVFzQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDRHQUNGLE9BQVFzQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDRHQUNGLE9BQVFzQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGtFQUNGLEtBQU1zQyxFQUFNLE9BQ2QsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDJEQUNGLE9BQVFzQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLHVEQUNGLE9BQU8sT0FDUCxLQUFLLE9BQ0wsaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsR0FDRixDQUVKLEVDdkVBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsRUFERixRQUFBRyxPQUFBLG9CQU5HLElBQU1rRCxHQUFXLENBQUMsQ0FBRSxpQkFBQWhELEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDbkUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sRUFBQ0gsRUFBQSxDQUNDLEVBQUUsZ2lDQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGd4QkFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxpRUFDRixLQUFLLE9BQ0wsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBRyxFQUFDSCxFQUFBLENBQ0MsRUFBRSx5MUJBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsK0dBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdIQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxvYUFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSw2R0FDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsK0dBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLHFZQUNGLEtBQU1zQyxFQUFNLFdBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLHlZQUNGLEtBQUssT0FDTCxPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGlZQUNGLEtBQUssT0FDTCxPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGtsQkFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxpRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FHLEVBQUNILEVBQUEsQ0FDQyxFQUFFLHd3QkFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLHkyQkFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEdBQ0YsQ0FFSixFQ3BJQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTW1ELEdBQU0sQ0FBQyxDQUFFLGlCQUFBakQsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUM5RCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSxpTkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxpRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FHLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDJZQUNGLEtBQUssT0FDTCxPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsR0FDRixDQUVKLEVDdkNBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWU5QixPQUNFLE9BQUFTLEVBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNb0QsR0FBUyxDQUFDLENBQUUsaUJBQUFsRCxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQ2pFLElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG9OQUNGLEtBQU1zQyxFQUFNLFdBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQUcsRUFBQ0gsRUFBQSxDQUNDLEVBQUUseVlBQ0YsS0FBSyxPQUNMLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsNGVBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsOFlBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsc3dCQUNGLEtBQU1zQyxFQUFNLE9BQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG9ZQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdsQkFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxnSEFDRixLQUFLLE9BQ1AsRUFDQUcsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsZ0hBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdFQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsR0FDRixDQUVKLEVDNUZBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU1xRCxHQUFVLENBQUMsQ0FBRSxpQkFBQW5ELEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDbEUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsNHFCQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUseVZBQ0YsS0FBSyxPQUNMLE9BQU8sVUFDUCxpQkFBaUIsS0FDbkIsRUFDQUcsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsZ0dBQ0YsS0FBSyxPQUNMLE9BQU8sT0FDUCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixHQUNGLENBRUosRUNyQ0EsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXNELEdBQU8sQ0FBQyxDQUFFLGlCQUFBcEQsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUMvRCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSw2NENBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUNoQ0EsT0FBZ0IsY0FBQU4sT0FBa0IsUUFjOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXVELEdBQU0sQ0FBQyxDQUFFLGlCQUFBckQsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUM5RCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSw0dUJBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsa0VBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUMvQkEsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXdELEdBQWMsQ0FBQyxDQUFFLGlCQUFBdEQsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUN0RSxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSx5d0JBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsdXdCQUNGLEtBQU1zQyxFQUFNLE9BQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLHd3QkFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxnY0FDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtSEFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBRyxHQUFDSCxFQUFBLENBQ0MsRUFBRSx5Z0JBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUMxRUEsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxFQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXlELEdBQU8sQ0FBQyxDQUFFLGlCQUFBdkQsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUMvRCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixFQUFDSCxFQUFBLENBQ0MsRUFBRSx5ZUFDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxrRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FHLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGtOQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxnWkFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSw4WUFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSwrR0FDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsNmtCQUNGLEtBQU1zQyxFQUFNLE9BQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLDIwQ0FDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtSEFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsMEdBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLCtHQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtSEFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsa0hBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBRyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxxa0JBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsa1pBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsZzNCQUNGLEtBQU1zQyxFQUFNLE9BQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGtaQUNGLEtBQU1zQyxFQUFNLE9BQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsR0FDRixDQUVKLEVDbklBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWU5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNMEQsR0FBVyxDQUFDLENBQUUsaUJBQUF4RCxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQ25FLElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDBYQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG9aQUNGLEtBQUssT0FDTCxPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLEtBQUssT0FDTCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsR0FDRixDQUVKLEVDdkNBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU0yRCxHQUFTLENBQUMsQ0FBRSxpQkFBQXpELEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDakUsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbXhCQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGdFQUNGLE9BQU8sT0FDUCxLQUFLLGNBQ0wsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEdBQ0YsQ0FFSixFQ2pDQSxPQUFnQixjQUFBTixPQUFrQixRQWU5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNNEQsR0FBZSxDQUFDLENBQUUsaUJBQUExRCxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQ3ZFLElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEdBQUNILEVBQUEsQ0FDQyxFQUFFLHNTQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVDaENBLE9BQWdCLGNBQUFOLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU02RCxHQUFNLENBQUMsQ0FBRSxpQkFBQTNELEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDOUQsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsd1hBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBRyxHQUFDSCxFQUFBLENBQ0MsRUFBRSx3R0FDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsZ1pBQ0YsS0FBTXNDLEVBQU0sT0FDZCxFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsb3dCQUNGLEtBQU1zQyxFQUFNLE9BQ2QsR0FDRixDQUVKLEVDL0NBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWU5QixPQUNFLE9BQUFTLEVBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNOEQsR0FBVyxDQUFDLENBQUUsaUJBQUE1RCxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQ25FLElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGk2QkFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxrWkFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxrZ0NBQ0YsS0FBTXNDLEVBQU0sV0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsb1pBQ0YsS0FBSyxPQUNMLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsc0dBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG9HQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxtSEFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsbUhBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGtFQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQUcsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsdVlBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsOHdCQUNGLEtBQUssT0FDTCxPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLDRPQUNGLEtBQU1zQyxFQUFNLFFBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQU8sT0FDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQUcsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsb1pBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSx3d0JBQ0YsS0FBTXNDLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEdBQ0YsQ0FFSixFQzdIQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTStELEdBQU8sQ0FBQyxDQUFFLGlCQUFBN0QsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUMvRCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSxrbEJBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUscUxBQ0YsS0FBSyxRQUNMLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsaU5BQ0YsT0FBUXNDLEVBQU0sT0FDZCxLQUFLLE9BQ0wsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxrRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEdBQ0YsQ0FFSixFQy9DQSxPQUFnQixjQUFBTixPQUFrQixRQWU5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNZ0UsR0FBYyxDQUFDLENBQUUsaUJBQUE5RCxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQ3RFLElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEdBQUNILEVBQUEsQ0FDQyxFQUFFLHF5QkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSw4WUFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSw2R0FDRixPQUFPLE9BQ1AsS0FBSyxjQUNMLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBRyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwrREFDRixPQUFPLE9BQ1AsS0FBSyxjQUNMLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUNoREEsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTWlFLEdBQU0sQ0FBQyxDQUFFLGlCQUFBL0QsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUM5RCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSxpZkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxrRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FHLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1HQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwyWUFDRixLQUFNc0MsRUFBTSxPQUNkLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxpbEJBQ0YsS0FBTXNDLEVBQU0sT0FDZCxFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsb0ZBQ0YsS0FBSyxVQUNQLEVBQ0FHLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxvRkFDRixLQUFNc0MsRUFBTSxRQUNkLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtRUFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUNyRUEsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBZTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQU5HLElBQU1rRSxHQUFPLENBQUMsQ0FBRSxpQkFBQWhFLEVBQWtCLEtBQUFDLENBQUssSUFBbUIsQ0FDL0QsSUFBTTRCLEVBQVUzQyxHQUFXc0IsQ0FBUyxFQUM5Qk0sRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQVFsQixFQUFlaUIsRUFBU2YsQ0FBVSxFQUVoRCxPQUNFaEIsR0FBQ0MsRUFBQSxDQUFPLGlCQUFrQkMsRUFBa0IsS0FBTUMsRUFDaEQsVUFBQU4sR0FBQ0gsRUFBQSxDQUNDLEVBQUUsMlhBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsZ05BQ0YsT0FBUXNDLEVBQU0sT0FDZCxLQUFLLE9BQ0wsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtQ0FDRixPQUFRc0MsRUFBTSxPQUNkLEtBQUssT0FDTCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLG1DQUNGLE9BQVFzQyxFQUFNLE9BQ2QsS0FBSyxPQUNMLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUN4REEsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTW1FLEdBQUssQ0FBQyxDQUFFLGlCQUFBakUsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUM3RCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSx5WUFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSwrckJBQ0YsS0FBSyxPQUNMLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsaUVBQ0YsT0FBTyxPQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUN2Q0EsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTW9FLEdBQU8sQ0FBQyxDQUFFLGlCQUFBbEUsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUMvRCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixHQUFDSCxFQUFBLENBQ0MsRUFBRSxzYkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxrSEFDRixPQUFRc0MsRUFBTSxPQUNkLEtBQUssT0FDTCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGtFQUNGLE9BQU8sT0FDUCxLQUFLLE9BQ0wsWUFBWSxJQUNaLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQ3pDQSxPQUFnQixjQUFBTixPQUFrQixRQWU5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNcUUsR0FBTSxDQUFDLENBQUUsaUJBQUFuRSxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQzlELElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEdBQUNILEVBQUEsQ0FDQyxFQUFFLHV3QkFDRixLQUFNc0MsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtRUFDRixPQUFPLE9BQ1AsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FHLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDRzQkFDRixLQUFLLE9BQ0wsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEdBQ0YsQ0FFSixFQ3ZDQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxFQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXNFLEdBQU8sQ0FBQyxDQUFFLGlCQUFBcEUsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUMvRCxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixFQUFDSCxFQUFBLENBQ0MsRUFBRSwwcUJBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsZ0VBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGdFQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSw4REFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsbUVBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQVFzQyxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxpRUFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsc0JBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLG1FQUNGLE9BQU8sT0FDUCxLQUFLLGNBQ0wsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEVBQ0FHLEVBQUNILEVBQUEsQ0FDQyxFQUFFLDZnQkFDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxFQUFDSCxFQUFBLENBQ0MsRUFBRSxpSEFDRixPQUFRc0MsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixFQUNBbkMsRUFBQ0gsRUFBQSxDQUNDLEVBQUUsZ0hBQ0YsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEVBQUNILEVBQUEsQ0FDQyxFQUFFLGtFQUNGLE9BQU8sT0FDUCxLQUFLLGNBQ0wsWUFBWSxJQUNaLGlCQUFpQixLQUNqQixjQUFjLFFBQ2hCLEdBQ0YsQ0FFSixFQy9HQSxPQUFnQixjQUFBTixPQUFrQixRQWU5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFORyxJQUFNdUUsR0FBUSxDQUFDLENBQUUsaUJBQUFyRSxFQUFrQixLQUFBQyxDQUFLLElBQW1CLENBQ2hFLElBQU00QixFQUFVM0MsR0FBV3NCLENBQVMsRUFDOUJNLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFRbEIsRUFBZWlCLEVBQVNmLENBQVUsRUFFaEQsT0FDRWhCLEdBQUNDLEVBQUEsQ0FBTyxpQkFBa0JDLEVBQWtCLEtBQU1DLEVBQ2hELFVBQUFOLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDQyQkFDRixLQUFNc0MsRUFBTSxPQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxxTUFDRixLQUFLLFVBQ0wsT0FBUXNDLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSw0TUFDRixPQUFRc0MsRUFBTSxPQUNkLEtBQU1BLEVBQU0sT0FDWixZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLGlFQUNGLE9BQU8sVUFDUCxZQUFZLElBQ1osaUJBQWlCLEtBQ2pCLGNBQWMsUUFDaEIsRUFDQUcsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsd3BCQUNGLEtBQU1zQyxFQUFNLFdBQ1osT0FBUUEsRUFBTSxPQUNkLFlBQVksSUFDWixpQkFBaUIsS0FDbkIsRUFDQW5DLEdBQUNILEVBQUEsQ0FDQyxFQUFFLDZ2QkFDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxpWUFDRixLQUFNc0MsRUFBTSxXQUNaLE9BQVFBLEVBQU0sT0FDZCxZQUFZLElBQ1osaUJBQWlCLEtBQ25CLEVBQ0FuQyxHQUFDSCxFQUFBLENBQ0MsRUFBRSxtMENBQ0YsS0FBTXNDLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsWUFBWSxJQUNaLGlCQUFpQixLQUNuQixFQUNBbkMsR0FBQ0gsRUFBQSxDQUNDLEVBQUUsZ0hBQ0YsT0FBTyxVQUNQLFlBQVksSUFDWixpQkFBaUIsS0FDakIsY0FBYyxRQUNoQixHQUNGLENBRUosRUNsRkEsT0FBZ0IsY0FBQU4sT0FBa0IsUUFlOUIsT0FDRSxPQUFBUyxFQURGLFFBQUFHLE9BQUEsb0JBTkcsSUFBTXdFLEdBQVcsQ0FBQyxDQUFFLGlCQUFBdEUsRUFBa0IsS0FBQUMsQ0FBSyxJQUFtQixDQUNuRSxJQUFNNEIsRUFBVTNDLEdBQVdzQixDQUFTLEVBQzlCTSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBUWxCLEVBQWVpQixFQUFTZixDQUFVLEVBRWhELE9BQ0VoQixHQUFDQyxFQUFBLENBQU8saUJBQWtCQyxFQUFrQixLQUFNQyxFQUNoRCxVQUFBTixFQUFDLFFBQ0MsRUFBRSx5MkJBQ0YsS0FBTW1DLEVBQU0sV0FDWixPQUFRQSxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsK1lBQ0YsS0FBSyxVQUNMLE9BQVFtQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsK1pBQ0YsS0FBSyxVQUNMLE9BQVFtQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsK1lBQ0YsS0FBSyxVQUNMLE9BQVFtQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsOFpBQ0YsS0FBSyxVQUNMLE9BQVFtQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsZ1pBQ0YsS0FBSyxVQUNMLE9BQVFtQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsZ1pBQ0YsS0FBSyxVQUNMLE9BQVFtQyxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsa0VBQ0YsT0FBTyxVQUNQLGlCQUFpQixLQUNqQixjQUFjLFFBQ2QsWUFBWSxJQUNkLEVBQ0FBLEVBQUMsUUFDQyxFQUFFLG9xQkFDRixLQUFNbUMsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxpQkFBaUIsS0FDakIsWUFBWSxJQUNkLEVBQ0FuQyxFQUFDLFFBQ0MsRUFBRSw0MkNBQ0YsS0FBTW1DLEVBQU0sT0FDWixPQUFRQSxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxFQUNBbkMsRUFBQyxRQUNDLEVBQUUsZ0hBQ0YsT0FBTyxVQUNQLGlCQUFpQixLQUNqQixjQUFjLFFBQ2QsWUFBWSxJQUNkLEVBQ0FBLEVBQUMsUUFDQyxFQUFFLHF3QkFDRixLQUFNbUMsRUFBTSxRQUNaLE9BQVFBLEVBQU0sT0FDZCxpQkFBaUIsS0FDakIsWUFBWSxJQUNkLEVBQ0FuQyxFQUFDLFFBQ0MsRUFBRSw4akJBQ0YsS0FBTW1DLEVBQU0sUUFDWixPQUFRQSxFQUFNLE9BQ2QsaUJBQWlCLEtBQ2pCLFlBQVksSUFDZCxHQUNGLENBRUosRUM3Q2EsT0F3SEEsWUFBQXlDLEdBeEhBLE9BQUE1RSxNQUFBLG9CQWxCTixJQUFNNkUsR0FBYSxDQUFDLENBQUUsS0FBQXZFLEVBQU0sS0FBQXdFLEVBQU0saUJBQUF6RSxDQUFpQixJQUFtQixDQUMzRSxJQUFJMEUsRUFBTyxPQUNYLE9BQVF6RSxFQUFNLENBQ1osWUFDRXlFLEVBQU8sT0FDUCxNQUNGLFlBQ0VBLEVBQU8sT0FDUCxNQUNGLGFBQ0VBLEVBQU8sT0FDUCxNQUNGLGFBQ0EsUUFDRixDQUVBLE9BQVFELEVBQU0sQ0FDWixZQUNFLE9BQU85RSxFQUFDdUMsR0FBQSxDQUFNLGlCQUFrQmxDLEVBQWtCLEtBQU0wRSxFQUFNLEVBRWhFLGFBQ0UsT0FBTy9FLEVBQUMwQyxHQUFBLENBQU8saUJBQWtCckMsRUFBa0IsS0FBTTBFLEVBQU0sRUFFakUsZUFDRSxPQUFPL0UsRUFBQ3FDLEdBQUEsQ0FBUyxpQkFBa0JoQyxFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxVQUNFLE9BQU8vRSxFQUFDb0MsR0FBQSxDQUFJLGlCQUFrQi9CLEVBQWtCLEtBQU0wRSxFQUFNLEVBRTlELFlBQ0UsT0FBTy9FLEVBQUNpQyxHQUFBLENBQU0saUJBQWtCNUIsRUFBa0IsS0FBTTBFLEVBQU0sRUFFaEUsZUFDRSxPQUFPL0UsRUFBQ3FELEdBQUEsQ0FBUyxpQkFBa0JoRCxFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxhQUNFLE9BQU8vRSxFQUFDdUQsR0FBQSxDQUFPLGlCQUFrQmxELEVBQWtCLEtBQU0wRSxFQUFNLEVBRWpFLGFBQ0UsT0FBTy9FLEVBQUM2QyxHQUFBLENBQU8saUJBQWtCeEMsRUFBa0IsS0FBTTBFLEVBQU0sRUFFakUsZUFDRSxPQUFPL0UsRUFBQ29ELEdBQUEsQ0FBUyxpQkFBa0IvQyxFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxjQUNFLE9BQU8vRSxFQUFDd0QsR0FBQSxDQUFRLGlCQUFrQm5ELEVBQWtCLEtBQU0wRSxFQUFNLEVBRWxFLFdBQ0UsT0FBTy9FLEVBQUN5QyxHQUFBLENBQUssaUJBQWtCcEMsRUFBa0IsS0FBTTBFLEVBQU0sRUFFL0QsV0FDRSxPQUFPL0UsRUFBQytDLEdBQUEsQ0FBSyxpQkFBa0IxQyxFQUFrQixLQUFNMEUsRUFBTSxFQUUvRCxVQUNFLE9BQU8vRSxFQUFDc0QsR0FBQSxDQUFJLGlCQUFrQmpELEVBQWtCLEtBQU0wRSxFQUFNLEVBRTlELFlBQ0UsT0FBTy9FLEVBQUNrRCxHQUFBLENBQU0saUJBQWtCN0MsRUFBa0IsS0FBTTBFLEVBQU0sRUFFaEUsZ0JBQ0UsT0FBTy9FLEVBQUM4QyxHQUFBLENBQVMsaUJBQWtCekMsRUFBa0IsS0FBTTBFLEVBQU0sRUFFbkUsZUFDRSxPQUFPL0UsRUFBQzRDLEdBQUEsQ0FBUyxpQkFBa0J2QyxFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxZQUNFLE9BQU8vRSxFQUFDbUQsR0FBQSxDQUFNLGlCQUFrQjlDLEVBQWtCLEtBQU0wRSxFQUFNLEVBRWhFLFdBQ0UsT0FBTy9FLEVBQUN5RCxHQUFBLENBQUssaUJBQWtCcEQsRUFBa0IsS0FBTTBFLEVBQU0sRUFFL0QsV0FDRSxPQUFPL0UsRUFBQ2dELEdBQUEsQ0FBSyxpQkFBa0IzQyxFQUFrQixLQUFNMEUsRUFBTSxFQUUvRCxZQUNFLE9BQU8vRSxFQUFDc0MsR0FBQSxDQUFNLGlCQUFrQmpDLEVBQWtCLEtBQU0wRSxFQUFNLEVBRWhFLFlBQ0UsT0FBTy9FLEVBQUN3QyxHQUFBLENBQU0saUJBQWtCbkMsRUFBa0IsS0FBTTBFLEVBQU0sRUFFaEUsVUFDRSxPQUFPL0UsRUFBQ2lELEdBQUEsQ0FBSSxpQkFBa0I1QyxFQUFrQixLQUFNMEUsRUFBTSxFQUU5RCxVQUNFLE9BQU8vRSxFQUFDMEQsR0FBQSxDQUFJLGlCQUFrQnJELEVBQWtCLEtBQU0wRSxFQUFNLEVBRTlELGtCQUNFLE9BQU8vRSxFQUFDMkQsR0FBQSxDQUFZLGlCQUFrQnRELEVBQWtCLEtBQU0wRSxFQUFNLEVBRXRFLFdBQ0UsT0FBTy9FLEVBQUM0RCxHQUFBLENBQUssaUJBQWtCdkQsRUFBa0IsS0FBTTBFLEVBQU0sRUFFL0QsZUFDRSxPQUFPL0UsRUFBQzZELEdBQUEsQ0FBUyxpQkFBa0J4RCxFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxhQUNFLE9BQU8vRSxFQUFDOEQsR0FBQSxDQUFPLGlCQUFrQnpELEVBQWtCLEtBQU0wRSxFQUFNLEVBRWpFLG1CQUNFLE9BQU8vRSxFQUFDK0QsR0FBQSxDQUFhLGlCQUFrQjFELEVBQWtCLEtBQU0wRSxFQUFNLEVBRXZFLFVBQ0UsT0FBTy9FLEVBQUNnRSxHQUFBLENBQUksaUJBQWtCM0QsRUFBa0IsS0FBTTBFLEVBQU0sRUFFOUQsZUFDRSxPQUFPL0UsRUFBQ2lFLEdBQUEsQ0FBUyxpQkFBa0I1RCxFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxXQUNFLE9BQU8vRSxFQUFDa0UsR0FBQSxDQUFLLGlCQUFrQjdELEVBQWtCLEtBQU0wRSxFQUFNLEVBRS9ELGtCQUNFLE9BQU8vRSxFQUFDbUUsR0FBQSxDQUFZLGlCQUFrQjlELEVBQWtCLEtBQU0wRSxFQUFNLEVBRXRFLFVBQ0UsT0FBTy9FLEVBQUNvRSxHQUFBLENBQUksaUJBQWtCL0QsRUFBa0IsS0FBTTBFLEVBQU0sRUFFOUQsV0FDRSxPQUFPL0UsRUFBQ3FFLEdBQUEsQ0FBSyxpQkFBa0JoRSxFQUFrQixLQUFNMEUsRUFBTSxFQUUvRCxTQUNFLE9BQU8vRSxFQUFDc0UsR0FBQSxDQUFHLGlCQUFrQmpFLEVBQWtCLEtBQU0wRSxFQUFNLEVBRTdELFdBQ0UsT0FBTy9FLEVBQUN1RSxHQUFBLENBQUssaUJBQWtCbEUsRUFBa0IsS0FBTTBFLEVBQU0sRUFFL0QsVUFDRSxPQUFPL0UsRUFBQ3dFLEdBQUEsQ0FBSSxpQkFBa0JuRSxFQUFrQixLQUFNMEUsRUFBTSxFQUU5RCxXQUNFLE9BQU8vRSxFQUFDeUUsR0FBQSxDQUFLLGlCQUFrQnBFLEVBQWtCLEtBQU0wRSxFQUFNLEVBRS9ELFlBQ0UsT0FBTy9FLEVBQUMwRSxHQUFBLENBQU0saUJBQWtCckUsRUFBa0IsS0FBTTBFLEVBQU0sRUFFaEUsZUFDRSxPQUFPL0UsRUFBQzJFLEdBQUEsQ0FBUyxpQkFBa0J0RSxFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxRQUNFLE9BQU8vRSxFQUFBNEUsR0FBQSxDQUFFLGdDQUFhLENBQzFCLENBQ0YsRUN2S1MsY0FBQTVFLE9BQUEsb0JBVEYsSUFBTUksR0FBUyxDQUFDLENBQUUsS0FBQUUsRUFBTSxLQUFBd0UsRUFBTSxpQkFBQXpFLEVBQWtCLFFBQUFhLENBQVEsSUFBZSxDQUM1RSxJQUFNZ0IsRUFBVWhCLEdBQW9CTixHQUU5QlIsRUFBU3lFLEdBQVcsQ0FDeEIsS0FBTXZFLEVBQ04sS0FBTXdFLEVBQ04saUJBQWtCekUsQ0FDcEIsQ0FBQyxFQUVELE9BQU9MLEdBQUNhLEVBQVUsU0FBVixDQUFtQixNQUFPcUIsRUFBVSxTQUFBOUIsRUFBTyxDQUNyRCxFbkRkQSxPQUFPWSxPQUFXLGlCb0RObEIsT0FBUyxpQkFBQUYsR0FBZSxrQkFBQWtFLEdBQWdCLG1CQUFBQyxPQUF1QixpQkFDL0QsT0FBUyx5QkFBQWxFLEdBQXVCLGFBQUFtRSxPQUFpQixpQkFJMUMsSUFBTUMsR0FBVyxDQUN0QmhFLEVBQ0FpRSxFQUNBQyxFQUNBQyxJQUNnQixDQUNoQixJQUFNbEUsRUFBU04sR0FBYyxFQUN2QnlFLEVBQWNQLEdBQWUsRUFDN0JRLEVBQVVQLEdBQWdCLEVBRTFCUSxFQUFlRixFQUFZLEdBRTNCOUQsRUFBYVYsR0FBc0IsQ0FDdkMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVLc0UsRUFBYVIsR0FBVTlELEVBQVEsY0FBZSxDQUFDaUUsRUFBT0QsQ0FBSSxDQUFDLEVBRTNETyxFQUFrQlQsR0FBVTlELEVBQVEsY0FBZSxDQUFDa0UsRUFBT0YsQ0FBSSxDQUFDLEVBRXRFLE9BQUlqRSxFQUNLLENBQ0wsT0FBUXNFLEVBQ1IsV0FBWWhFLEVBQ1osUUFBUytELEVBQVEsUUFBUSxDQUFHLENBQzlCLEVBR0ssQ0FDTCxPQUFRQyxFQUNSLFdBQ0UsNkJBQ0FDLEVBQ0EsUUFDQUEsRUFDQSxTQUNBQyxFQUNBLFNBQ0FBLEVBQ0EsU0FDRixRQUFTSCxFQUFRLFFBQVEsQ0FBRyxDQUM5QixDQUNGLEVDakRBLE9BQU9oRyxPQUFZLG9CQUdaLElBQU1vRyxHQUFjcEcsR0FBTyxJQUFJLFdBQVcsQ0FDL0Msa0JBQW9CcUcsR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFJbUJuRyxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGdCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxFQUdwQ29HLEdBQXFCdEcsR0FBTyxJQUFJLFdBQVcsQ0FDdEQsa0JBQW9CcUcsR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQTtBQUFBO0FBQUEsbUJBS21CbkcsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxZQUNuQ0EsR0FBVUEsRUFBTSxNQUFNLE9BQU87QUFBQSxFQUc3QnFHLEdBQXNCdkcsR0FBT29HLEVBQVcsRUFBRSxXQUFXLENBQ2hFLGtCQUFvQkMsR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQTtFQzFCRCxPQUFPckcsT0FBWSxvQkFFWixJQUFNd0csR0FBb0J4RyxHQUFPO0FBQUE7RUNFL0IsY0FBQVEsT0FBQSxvQkFERixJQUFNaUcsRUFBYyxDQUFDLENBQUUsU0FBQTFGLENBQVMsSUFDOUJQLEdBQUNnRyxHQUFBLENBQW1CLFNBQUF6RixFQUFTLEVDZTVCLGNBQUFQLE9BQUEsb0JBUkgsSUFBTWtHLEdBQVEsQ0FBQyxDQUFFLE9BQUFDLEVBQVEsS0FBQWYsRUFBTSxNQUFBQyxFQUFPLE1BQUFDLENBQU0sSUFBa0IsQ0FDbkUsSUFBTWMsRUFBYXBFLEVBQWdCLEVBQzdCRyxFQUFRZ0QsR0FBU2lCLEVBQVloQixFQUFNQyxFQUFPQyxHQUFnQkQsQ0FBSyxFQUVyRSxPQUFJZSxFQUVBcEcsR0FBQytGLEdBQUEsQ0FBb0IsTUFBTzVELEVBQzFCLFNBQUFuQyxHQUFDOEYsR0FBQSxDQUFtQixNQUFPM0QsRUFDekIsU0FBQW5DLEdBQUNpRyxFQUFBLENBQWEsU0FBQUUsRUFBTyxFQUN2QixFQUNGLEVBS0ZuRyxHQUFDNEYsR0FBQSxDQUFZLE1BQU96RCxFQUNsQixTQUFBbkMsR0FBQzhGLEdBQUEsQ0FBbUIsTUFBTzNELEVBQVEsU0FBQWdFLEVBQU8sRUFDNUMsQ0FFSixFQzVCQSxPQUFTLFNBQUE5RyxHQUFPLGdCQUFBQyxPQUFvQiwwQkFRM0IsY0FBQVUsT0FBQSxvQkFORixJQUFNa0csRUFBUSxDQUFDLENBQ3BCLE9BQUFDLEVBQ0EsTUFBQWQsRUFBUWhHLEdBQU0sU0FDZCxNQUFBaUcsRUFBUSxHQUNSLEtBQUFGLEVBQU85RixHQUFhLFFBQ3RCLElBQ1NVLEdBQUNrRyxHQUFBLENBQVUsS0FBTWQsRUFBTSxPQUFRZSxFQUFRLE1BQU9kLEVBQU8sTUFBT0MsRUFBTyxFekRRbEUsY0FBQXRGLE9BQUEsb0JBUkgsSUFBTXFHLEdBQVEsQ0FBQyxDQUFFLEtBQUF2QixFQUFNLGlCQUFBekUsQ0FBaUIsSUFDMUIyQixFQUFnQixFQUkvQmhDLEdBQUNrRyxFQUFBLENBQ0MsS0FBTTVHLEdBQWEsU0FDbkIsT0FDRVUsR0FBQ0ksR0FBQSxDQUNDLGNBQ0EsYUFDQSxpQkFBa0JDLEVBQ3BCLEVBRUosRUFJR1csR0FBTThELEVBQU0sQ0FDakIsV0FFRTlFLEdBQUNrRyxFQUFBLENBQ0MsS0FBTTVHLEdBQWEsU0FDbkIsTUFBT0QsR0FBTSxPQUNiLE9BQ0VXLEdBQUNJLEdBQUEsQ0FDQyxjQUNBLGdCQUNBLGlCQUFrQkMsRUFDcEIsRUFFSixDQUNGLEVBQ0EsZUFFRUwsR0FBQ2tHLEVBQUEsQ0FDQyxLQUFNNUcsR0FBYSxTQUNuQixNQUFPRCxHQUFNLFdBQ2IsT0FDRVcsR0FBQ0ksR0FBQSxDQUNDLGNBQ0EsYUFDQSxpQkFBa0JDLEVBQ3BCLEVBRUosQ0FDRixFQUNBLGVBRUVMLEdBQUNrRyxFQUFBLENBQ0MsS0FBTTVHLEdBQWEsU0FDbkIsTUFBT0QsR0FBTSxPQUNiLE1BQU9BLEdBQU0sV0FDYixPQUNFVyxHQUFDSSxHQUFBLENBQ0MsY0FDQSxnQkFDQSxpQkFBa0JDLEVBQ3BCLEVBRUosQ0FDRixDQUNGLENBQUMsRTBEeEVJLElBQUtpRyxRQUNWQSxFQUFBLFFBQVUsVUFDVkEsRUFBQSxZQUFjLGNBQ2RBLEVBQUEsWUFBYyxjQUhKQSxRQUFBLElDS0gsY0FBQXRHLE9BQUEsb0JBREYsSUFBTXFHLEdBQVEsQ0FBQyxDQUFFLEtBQUF2QixFQUFNLGlCQUFBekUsQ0FBaUIsSUFDdENMLEdBQUNxRyxHQUFBLENBQVUsS0FBTXZCLEVBQU0saUJBQWtCekUsRUFBa0IsRUNMcEUsT0FBT2IsT0FBWSxvQkFHWixJQUFNK0csR0FBcUIvRyxHQUFPO0FBQUE7QUFBQTtBQUFBLEVBSzVCZ0gsR0FBNEJoSCxHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWdCbkNpSCxHQUFtQmpILEdBQU87QUFBQTtBQUFBLFVBRTVCRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBLGdCQUNwQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxXQUNyQ0EsR0FBVUEsRUFBTSxNQUFNLEtBQUs7QUFBQTtBQUFBLEVBSTFCZ0gsR0FBMkJsSCxHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFLOUJFLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsV0FDckNBLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0VDdENoQyxJQUFLaUgsUUFDVkEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsVUFBWSxZQUNaQSxFQUFBLGFBQWUsZUFITEEsUUFBQSxJQ0FaLE9BQU9uSCxPQUFZLG9CQUdaLElBQU1vSCxHQUFrQnBILEdBQU8sSUFBSSxXQUFXLENBQ25ELGtCQUFvQnFHLEdBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBU0EsQ0FBSSxDQUN6RCxDQUFDO0FBQUEsMEJBSzBCbkcsR0FBVUEsRUFBTSxjQUFjO0FBQUE7QUFBQSxVQUU5Q0EsR0FBVUEsRUFBTSxJQUFJO0FBQUEsZ0JBQ2RBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsV0FDckNBLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUE7QUFBQSxFQUkxQm1ILEdBQTBCckgsR0FBTyxPQUVqQ3NILEdBQThCdEgsR0FBTyxLQUFLLFdBQVcsQ0FDaEUsa0JBQW9CcUcsR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFPZ0JuRyxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBLFdBQ3JDQSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBLFVBQzVCQSxHQUFVQSxFQUFNLElBQUk7QUFBQTtFQzlCL0IsT0FBUyx5QkFBQXFCLE9BQTZCLGlCQUN0QyxPQUFTLGlCQUFBRCxHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUV0RCxJQUFNZ0MsR0FBZ0I3RixHQUF5QyxDQUNwRSxJQUFNQyxFQUFTTixHQUFjLEVBQ3ZCbUcsRUFBUUYsR0FBYyxFQUN0QkcsRUFBU2xDLEdBQWUsRUFFeEJ2RCxFQUFhVixHQUFzQixDQUN2QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUsrRixFQUFXLENBQ2YsTUFBTy9GLEVBQU8sU0FBUyxTQUN2QixLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsV0FBWSxjQUNaLE9BQVFDLEVBQU8sSUFDakIsRUFFTUUsRUFBVyxDQUNmLE1BQU8zRixFQUNQLEtBQU13RixFQUFNLFFBQVEsR0FBRyxPQUN2QixXQUFZeEYsRUFDWixPQUFReUYsRUFBTyxFQUNqQixFQUVBLE9BQUkvRixFQUNLaUcsRUFHRkQsQ0FDVCxFQzFCQSxPQUFPbkcsT0FBVyxpQkFFbEIsT0FBUyxpQkFBQStGLE9BQXFCLGlCQUM5QixPQUFTLGFBQUE3QixPQUFpQixpQkE4QmxCLGNBQUFsRixPQUFBLG9CQTNCRCxJQUFNcUgsR0FBWSxDQUFDLENBQ3hCLFNBQUE5RyxFQUNBLEtBQUFELEVBQ0EsS0FBQWdILEVBQ0EsV0FBQUMsRUFDQSxlQUFBQyxDQUNGLElBQXNCLENBQ3BCLElBQU1wQixFQUFhcEUsRUFBZ0IsRUFFN0JHLEVBQVE2RSxHQUFhWixDQUFVLEVBQy9CYSxFQUFRRixHQUFjLEVBRXRCVSxFQUFvQnpHLEdBQU13RyxFQUFnQixDQUM5QyxRQUFzQixNQUFNLEVBQzVCLGFBQTJCLFdBQVcsRUFDdEMsZ0JBQThCLGNBQWMsQ0FDOUMsQ0FBQyxFQUVLRSxFQUFVeEMsR0FBVStCLEVBQU9BLEVBQU0sUUFBUSxHQUFHLE9BQVEsQ0FDeERLLEVBQ0FoSCxFQUNBaUgsQ0FDRixDQUFDLEVBRUQsT0FBSW5CLEVBRUFwRyxHQUFDNkcsR0FBQSxDQUNDLFNBQUE3RyxHQUFDOEcsR0FBQSxDQUE0QixLQUFNWSxFQUFTLE1BQU92RixFQUNoRCxTQUFBNUIsRUFDSCxFQUNGLEVBS0ZQLEdBQUM0RyxHQUFBLENBQ0MsTUFBT3pFLEVBQ1AsS0FBTXVGLEVBQ04sZUFBZ0JELEVBRWYsU0FBQWxILEVBQ0gsQ0FFSixFQ3JEQSxPQUNFLGtCQUFBb0gsR0FDQSxtQkFBQUMsR0FDQSx3QkFBQUMsT0FDSywwQkFVSCxjQUFBN0gsT0FBQSxvQkFSRyxJQUFNcUgsR0FBWSxDQUFDLENBQ3hCLFNBQUE5RyxFQUFXLEdBQ1gsS0FBQUQsRUFBT3FILEdBQWUsR0FDdEIsS0FBQUwsRUFBT00sR0FBZ0IsUUFDdkIsV0FBQUwsRUFBYU0sR0FBcUIsT0FDbEMsZUFBQUwsUUFDRixJQUVJeEgsR0FBQ3FILEdBQUEsQ0FDQyxLQUFNL0csRUFDTixLQUFNZ0gsRUFDTixXQUFZQyxFQUNaLGVBQWdCQyxFQUVmLFNBQUFqSCxFQUNILEVDaEJKLE9BQVMsd0JBQUFzSCxPQUE0QiwwQkFRL0IsT0FHSSxPQUFBN0gsR0FISixRQUFBRyxPQUFBLG9CQUxDLElBQU0ySCxHQUFRLENBQUMsQ0FBRSxLQUFBQyxFQUFNLEtBQUFDLEVBQU0sVUFBQUMsQ0FBVSxJQUN6QmpHLEVBQWdCLEVBSS9CN0IsR0FBQ29HLEdBQUEsQ0FBbUIsYUFBWTBCLEVBQzdCLFVBQUFGLEVBQ0QvSCxHQUFDd0csR0FBQSxDQUNDLFNBQUF4RyxHQUFDcUgsR0FBQSxDQUNDLFdBQVlRLEdBQXFCLEtBQ2pDLHNCQUVDLFNBQUFHLEVBQ0gsRUFDRixHQUNGLEVBS0Y3SCxHQUFDb0csR0FBQSxDQUFtQixhQUFZMEIsRUFDN0IsVUFBQUYsRUFDRC9ILEdBQUN3RyxHQUFBLENBQ0MsU0FBQXhHLEdBQUNxSCxHQUFBLENBQ0MsV0FBWVEsR0FBcUIsS0FDakMsc0JBRUMsU0FBQUcsRUFDSCxFQUNGLEdBQ0YsRUNyQ0ssY0FBQWhJLE9BQUEsb0JBREYsSUFBTThILEdBQVEsQ0FBQyxDQUFFLEtBQUFDLEVBQU0sS0FBQUMsRUFBTSxVQUFBQyxDQUFVLElBQ3JDakksR0FBQzhILEdBQUEsQ0FBVSxLQUFNQyxFQUFNLEtBQU1DLEVBQU0sVUFBV0MsRUFBVyxFQ0xsRSxPQUFxQixZQUFBdkcsT0FBZ0IsUUNDckMsT0FBUyxpQkFBQVosR0FBZSxpQkFBQWlHLE9BQXFCLGlCQUM3QyxPQUFTLHlCQUFBaEcsT0FBNkIsaUJBRS9CLElBQU1tSCxHQUFpQjlCLEdBQTBDLENBQ3RFLElBQU1oRixFQUFTTixHQUFjLEVBQ3ZCbUcsRUFBUUYsR0FBYyxFQUV0QnRGLEVBQWFWLEdBQXNCLENBQ3ZDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFRCxPQUFJZ0YsRUFDSyxDQUNMLE1BQU9oRixFQUFPLFNBQVMsU0FDdkIsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLFdBQVl4RixDQUNkLEVBR0ssQ0FDTCxNQUFPTCxFQUFPLFNBQVMsU0FDdkIsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLFdBQVksYUFDZCxDQUNGLEVDM0JPLElBQUtrQixPQUNWQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxXQUFhLGFBQ2JBLEVBQUEsS0FBTyxPQUNQQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsT0FBUyxTQUNUQSxFQUFBLFFBQVUsVUFDVkEsRUFBQSxRQUFVLFVBQ1ZBLEVBQUEsS0FBTyxPQVRHQSxPQUFBLElBWUFDLE9BQ1ZBLEVBQUEsT0FBUyxTQUNUQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxPQUFTLFNBQ1RBLEVBQUEsTUFBUSxRQUpFQSxPQUFBLElBT0FDLE9BQ1ZBLEVBQUEsT0FBUyxTQUNUQSxFQUFBLFdBQWEsYUFDYkEsRUFBQSxZQUFjLGNBQ2RBLEVBQUEsYUFBZSxlQUNmQSxFQUFBLFdBQWEsYUFDYkEsRUFBQSxjQUFnQixnQkFDaEJBLEVBQUEsYUFBZSxlQUNmQSxFQUFBLEtBQU8sT0FDUEEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsS0FBTyxPQUNQQSxFQUFBLFFBQVUsVUFDVkEsRUFBQSxNQUFRLFFBQ1JBLEVBQUEsWUFBYyxjQUNkQSxFQUFBLElBQU0sTUFDTkEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsS0FBTyxPQUNQQSxFQUFBLElBQU0sTUFDTkEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsSUFBTSxNQUNOQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxRQUFVLFVBQ1ZBLEVBQUEsV0FBYSxhQUNiQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxPQUFTLFNBM0JDQSxPQUFBLElDbkJaLE9BQU83SSxPQUFZLG9CQUdaLElBQU04SSxHQUFtQjlJLEdBQU87QUFBQSxVQUM1QkUsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU14QjZJLEdBQXVCL0ksR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTlCZ0osR0FBd0JoSixHQUFPO0FBQUEsV0FDaENFLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxhQVF6QkEsR0FBVUEsRUFBTSxNQUFNLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVM1QitJLEdBQTJCakosR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVsQ2tKLEdBQTRCbEosR0FBTyxPQUVuQ21KLEdBQTJCbkosR0FBTzhJLEVBQWdCO0FBQUE7QUFBQSxFQU1sRE0sR0FBZ0NwSixHQUFPZ0osRUFBcUI7QUFBQSxnQkFHeEQ5SSxHQUFVQSxFQUFNLE1BQU0sVUFBVTtFQ3ZEakQsT0FBZ0IsY0FBQUgsT0FBa0IsUUNBbEMsT0FBT0MsT0FBWSxvQkFFbkIsSUFBTXFKLEdBQWNySixHQUFPLElBQUksTUFBT0UsSUFBVyxDQUMvQyxRQUFTLE1BQ1QsTUFBTyw2QkFDUCxXQUFZLCtCQUNaLEtBQU0sTUFDTixjQUFlLE1BQ2pCLEVBQUUsSUFFV29KLEdBQWV0SixHQUFPLEtBQUssTUFBTSxDQUM1QyxLQUFNLGNBQ1IsQ0FBQyxJQUVZdUosR0FBYXZKLEdBQU9xSixFQUFXO0FBQUE7QUFBQSxXQUtoQ25KLEdBQVVBLEVBQU0sS0FBSztBQUFBLFlBQ3BCQSxHQUFVQSxFQUFNLE1BQU07QUFBQSxFQUd0QnNKLEVBQWlCeEosR0FBT3NKLEVBQVksSUFFcENHLEdBQW9CekosR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUNsQnBDLE9BQ0UsT0FBQVEsR0FERixRQUFBRyxPQUFBLG9CQUZHLElBQU0rSSxFQUFPLENBQUMsQ0FBRSxpQkFBQTdJLEVBQWtCLEtBQUFDLEVBQU0sU0FBQUMsQ0FBUyxJQUVwREosR0FBQzhJLEdBQUEsQ0FDQyxVQUFBakosR0FBQytJLEdBQUEsQ0FBVyxNQUFPekksRUFBTSxPQUFRQSxFQUFNLFFBQVEsWUFDNUMsU0FBQUMsRUFDSCxFQUNBUCxHQUFDQyxHQUFBLENBQWlCLEtBQU1JLEVBQWtCLEdBQzVDLEVDWEosT0FBUyxpQkFBQVMsT0FBcUIsaUJBQzlCLE9BQVMseUJBQUFDLE9BQTZCLGlCQUN0QyxPQUFPQyxPQUFXLGlCQUdYLElBQU1tSSxFQUFnQmpJLEdBQWtELENBQzdFLElBQU1FLEVBQVNOLEdBQWMsRUFFdkJzSSxFQUEwQnJJLEdBQXNCLENBQ3BELEtBQU0scUJBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sUUFBUSxRQUMzQixDQUFDLEVBRUtpSSxFQUE2QnRJLEdBQXNCLENBQ3ZELEtBQU0sd0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sV0FBVyxRQUM5QixDQUFDLEVBRUtrSSxFQUF1QnZJLEdBQXNCLENBQ2pELEtBQU0sa0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUttSSxFQUF3QnhJLEdBQXNCLENBQ2xELEtBQU0sbUJBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxPQUM1QixDQUFDLEVBRUtvSSxFQUFvQnpJLEdBQXNCLENBQzlDLEtBQU0sc0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUQsT0FBT0osR0FBTUUsRUFBUyxDQUNwQixZQUVFLENBQ0UsT0FBUWtJLENBQ1YsQ0FDRixFQUNBLGNBRUUsQ0FDRSxPQUFRQyxDQUNWLENBQ0YsRUFDQSxZQUVFLENBQ0UsT0FBUUcsQ0FDVixDQUNGLEVBQ0EsU0FFRSxDQUNFLE9BQVFELENBQ1YsQ0FDRixFQUNBLFFBRUUsQ0FDRSxPQUFRRCxDQUNWLENBQ0YsRUFDQSxVQUVFLENBQ0UsT0FBUWxJLEVBQU8sT0FBTyxRQUN4QixDQUNGLEVBQ0EsV0FFRSxDQUNFLE9BQVFBLEVBQU8sUUFBUSxRQUN6QixDQUNGLEVBQ0EsV0FFRSxDQUNFLE9BQVFBLEVBQU8sUUFBUSxRQUN6QixDQUNGLEVBQ0EsUUFFRSxDQUNFLE9BQVFBLEVBQU8sS0FBSyxRQUN0QixDQUNGLENBQ0YsQ0FBQyxDQUNILEVDOUZBLE9BQWdCLGlCQUFBWixPQUFxQixRQUU5QixJQUFNaUosY0FFQUMsRUFDWGxKLEdBQWNpSixFQUFjLEVKTTFCLE9BQ0UsT0FBQXpKLEdBREYsUUFBQUcsT0FBQSxvQkFMRyxJQUFNdUQsR0FBTSxDQUFDLENBQUUsaUJBQUFyRCxFQUFrQixLQUFBQyxDQUFLLElBQWlCLENBQzVELElBQU00QixFQUFVM0MsR0FBV21LLENBQU8sRUFDNUJ2SCxFQUFRZ0gsRUFBYWpILENBQU8sRUFFbEMsT0FDRS9CLEdBQUMrSSxFQUFBLENBQUssaUJBQWtCN0ksRUFBa0IsS0FBTUMsRUFDOUMsVUFBQU4sR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGNBQ0YsT0FBUTdHLEVBQU0sT0FDZCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGNBQ0YsT0FBUTdHLEVBQU0sT0FDZCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixHQUNGLENBRUosRUszQkEsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBWTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQUxHLElBQU13SixHQUFZLENBQUMsQ0FBRSxpQkFBQXRKLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDbEUsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFL0IsR0FBQytJLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxVQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsY0FDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHNCQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzdCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFZOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTXlKLEdBQWEsQ0FBQyxDQUFFLGlCQUFBdkosRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUNuRSxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxjQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxHQUFDZ0osRUFBQSxDQUNDLEVBQUUseUJBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVDN0JBLE9BQWdCLGNBQUE1QyxPQUFrQixRQVk5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFMRyxJQUFNeUQsR0FBTyxDQUFDLENBQUUsaUJBQUF2RCxFQUFrQixLQUFBQyxDQUFLLElBQWlCLENBQzdELElBQU00QixFQUFVM0MsR0FBV21LLENBQU8sRUFDNUJ2SCxFQUFRZ0gsRUFBYWpILENBQU8sRUFFbEMsT0FDRS9CLEdBQUMrSSxFQUFBLENBQUssaUJBQWtCN0ksRUFBa0IsS0FBTUMsRUFDOUMsVUFBQU4sR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLDQzQkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLDRJQUNGLEtBQU03RyxFQUFNLE9BQ1osT0FBTyxPQUNULEVBQ0FuQyxHQUFDZ0osRUFBQSxDQUNDLEVBQUUsa0pBQ0YsS0FBTTdHLEVBQU0sT0FDWixPQUFPLE9BQ1QsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxtSEFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHdZQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzlDQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFZOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTTJELEdBQVMsQ0FBQyxDQUFFLGlCQUFBekQsRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUMvRCxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxxQkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHFCQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzdCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhNUIsY0FBQVMsT0FBQSxvQkFOQyxJQUFNc0MsR0FBUSxDQUFDLENBQUUsaUJBQUFqQyxFQUFrQixLQUFBQyxDQUFLLElBQWlCLENBQzlELElBQU00QixFQUFVM0MsR0FBV21LLENBQU8sRUFDNUJ2SCxFQUFRZ0gsRUFBYWpILENBQU8sRUFFbEMsT0FDRWxDLEdBQUNrSixFQUFBLENBQUssaUJBQWtCN0ksRUFBa0IsS0FBTUMsRUFDOUMsU0FBQU4sR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGtDQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0YsQ0FFSixFQ3RCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhNUIsY0FBQVMsT0FBQSxvQkFOQyxJQUFNNkosR0FBYyxDQUFDLENBQUUsaUJBQUF4SixFQUFrQixLQUFBQyxDQUFLLElBQWlCLENBQ3BFLElBQU00QixFQUFVM0MsR0FBV21LLENBQU8sRUFDNUJ2SCxFQUFRZ0gsRUFBYWpILENBQU8sRUFFbEMsT0FDRWxDLEdBQUNrSixFQUFBLENBQUssaUJBQWtCN0ksRUFBa0IsS0FBTUMsRUFDOUMsU0FBQU4sR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHVCQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0YsQ0FFSixFQ3RCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFjNUIsY0FBQVMsT0FBQSxvQkFOQyxJQUFNOEosR0FBWSxDQUFDLENBQUUsaUJBQUF6SixFQUFrQixLQUFBQyxDQUFLLElBQWlCLENBQ2xFLElBQU00QixFQUFVM0MsR0FBV21LLENBQU8sRUFDNUJ2SCxFQUFRZ0gsRUFBYWpILENBQU8sRUFFbEMsT0FDRWxDLEdBQUNrSixFQUFBLENBQUssaUJBQWtCN0ksRUFBa0IsS0FBTUMsRUFDOUMsU0FBQU4sR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHdCQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0YsQ0FFSixFQ3ZCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTTRKLEdBQVcsQ0FBQyxDQUFFLGlCQUFBMUosRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUNqRSxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSw4RkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHdPQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxHQUFDZ0osRUFBQSxDQUNDLEVBQUUsK0hBQ0YsS0FBTTdHLEVBQU0sT0FDZCxFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLDRJQUNGLEtBQU03RyxFQUFNLE9BQ2QsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxvUEFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixHQUNGLENBRUosRUM3Q0EsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBYTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQUxHLElBQU02SixHQUFXLENBQUMsQ0FBRSxpQkFBQTNKLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDakUsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFL0IsR0FBQytJLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxVQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsK0JBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxxQkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGVBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxlQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxHQUFDZ0osRUFBQSxDQUNDLEVBQUUsZ0JBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVDbkRBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWE5QixPQUNFLE9BQUFTLEdBREYsUUFBQUcsT0FBQSxvQkFMRyxJQUFNOEosR0FBTyxDQUFDLENBQUUsaUJBQUE1SixFQUFrQixLQUFBQyxDQUFLLElBQWlCLENBQzdELElBQU00QixFQUFVM0MsR0FBV21LLENBQU8sRUFDNUJ2SCxFQUFRZ0gsRUFBYWpILENBQU8sRUFFbEMsT0FDRS9CLEdBQUMrSSxFQUFBLENBQUssaUJBQWtCN0ksRUFBa0IsS0FBTUMsRUFDOUMsVUFBQU4sR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGFBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxrQ0FDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixHQUNGLENBRUosRUM5QkEsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBYTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQUxHLElBQU0rSixHQUFPLENBQUMsQ0FBRSxpQkFBQTdKLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDN0QsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFL0IsR0FBQytJLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxVQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsZUFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGVBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxtS0FDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixHQUNGLENBRUosRUNyQ0EsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBYzVCLGNBQUFTLE9BQUEsb0JBTkMsSUFBTTRDLEdBQVcsQ0FBQyxDQUFFLGlCQUFBdkMsRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUNqRSxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0VsQyxHQUFDa0osRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFNBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSw0VUFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNGLENBRUosRUN2QkEsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBWTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQUpHLElBQU04QyxHQUFNLENBQUMsQ0FBRSxpQkFBQTVDLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDNUQsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUNsQyxPQUNFL0IsR0FBQytJLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxVQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsZ0JBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxpQkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLDRFQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQ3BDQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFZOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBSkcsSUFBTWdLLEdBQU8sQ0FBQyxDQUFFLGlCQUFBOUosRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUM3RCxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBQ2xDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxnQkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGNBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxpQkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixHQUNGLENBRUosRUNwQ0EsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBYTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQUxHLElBQU1tRCxHQUFNLENBQUMsQ0FBRSxpQkFBQWpELEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDNUQsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFL0IsR0FBQytJLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxVQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsdU5BQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxxSUFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixHQUNGLENBRUosRUM5QkEsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBYTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQUxHLElBQU1pSyxHQUFVLENBQUMsQ0FBRSxpQkFBQS9KLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDaEUsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFL0IsR0FBQytJLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxVQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsNEtBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLGNBQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSw0R0FDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssY0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLDRLQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxjQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQ3JDQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTWtLLEdBQU8sQ0FBQyxDQUFFLGlCQUFBaEssRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUM3RCxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSx5RUFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGdDQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzlCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTW1LLEdBQU8sQ0FBQyxDQUFFLGlCQUFBakssRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUM3RCxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxzREFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLDBDQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzlCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTW9LLEdBQWMsQ0FBQyxDQUFFLGlCQUFBbEssRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUNwRSxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxlQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxHQUFDZ0osRUFBQSxDQUNDLEVBQUUsZUFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGlHQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxHQUFDZ0osRUFBQSxDQUNDLEVBQUUscUNBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDQW5DLEdBQUNnSixFQUFBLENBQ0MsRUFBRSwyQkFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHVCQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzFEQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTXFLLEdBQVUsQ0FBQyxDQUFFLGlCQUFBbkssRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUNoRSxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSxpT0FDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHFMQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzlCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFhOUIsT0FDRSxPQUFBUyxHQURGLFFBQUFHLE9BQUEsb0JBTEcsSUFBTXNLLEdBQVksQ0FBQyxDQUFFLGlCQUFBcEssRUFBa0IsS0FBQUMsQ0FBSyxJQUFpQixDQUNsRSxJQUFNNEIsRUFBVTNDLEdBQVdtSyxDQUFPLEVBQzVCdkgsRUFBUWdILEVBQWFqSCxDQUFPLEVBRWxDLE9BQ0UvQixHQUFDK0ksRUFBQSxDQUFLLGlCQUFrQjdJLEVBQWtCLEtBQU1DLEVBQzlDLFVBQUFOLEdBQUNnSixFQUFBLENBQ0MsRUFBRSw0RUFDRixPQUFRN0csRUFBTSxPQUNkLEtBQUssT0FDTCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHFGQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBSyxPQUNMLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEdBQ0YsQ0FFSixFQzlCQSxPQUFnQixjQUFBNUMsT0FBa0IsUUFjNUIsY0FBQVMsT0FBQSxvQkFOQyxJQUFNMEssR0FBUSxDQUFDLENBQUUsaUJBQUFySyxFQUFrQixLQUFBQyxDQUFLLElBQWlCLENBQzlELElBQU00QixFQUFVM0MsR0FBV21LLENBQU8sRUFDNUJ2SCxFQUFRZ0gsRUFBYWpILENBQU8sRUFFbEMsT0FDRWxDLEdBQUNrSixFQUFBLENBQUssaUJBQWtCN0ksRUFBa0IsS0FBTUMsRUFDOUMsU0FBQU4sR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLGNBQ0YsT0FBUTdHLEVBQU0sT0FDZCxjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNGLENBRUosRUN0QkEsT0FBZ0IsY0FBQTVDLE9BQWtCLFFBYTlCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQUxHLElBQU13SyxHQUFXLENBQUMsQ0FBRSxpQkFBQXRLLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDakUsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFL0IsR0FBQytJLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxVQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsY0FDRixPQUFRN0csRUFBTSxPQUNkLEtBQU0sT0FDTixjQUFjLFFBQ2QsZUFBZSxRQUNqQixFQUNBbkMsR0FBQ2dKLEVBQUEsQ0FDQyxFQUFFLHVCQUNGLE9BQVE3RyxFQUFNLE9BQ2QsS0FBTSxPQUNOLGNBQWMsUUFDZCxlQUFlLFFBQ2pCLEVBQ0FuQyxHQUFDZ0osRUFBQSxDQUNDLEVBQUUsaUJBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFNLE9BQ04sY0FBYyxRQUNkLGVBQWUsUUFDakIsR0FDRixDQUVKLEVDckNBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWE1QixjQUFBUyxPQUFBLG9CQU5DLElBQU00SyxHQUFlLENBQUMsQ0FBRSxpQkFBQXZLLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDckUsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFbEMsR0FBQ2tKLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxTQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsOENBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDRixDQUVKLEVDdEJBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWE1QixjQUFBUyxPQUFBLG9CQU5DLElBQU02SyxHQUFjLENBQUMsQ0FBRSxpQkFBQXhLLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDcEUsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFbEMsR0FBQ2tKLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxTQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsOENBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFLLE9BQ0wsY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDRixDQUVKLEVDdEJBLE9BQWdCLGNBQUE1QyxPQUFrQixRQWM1QixjQUFBUyxPQUFBLG9CQU5DLElBQU04SyxHQUFTLENBQUMsQ0FBRSxpQkFBQXpLLEVBQWtCLEtBQUFDLENBQUssSUFBaUIsQ0FDL0QsSUFBTTRCLEVBQVUzQyxHQUFXbUssQ0FBTyxFQUM1QnZILEVBQVFnSCxFQUFhakgsQ0FBTyxFQUVsQyxPQUNFbEMsR0FBQ2tKLEVBQUEsQ0FBSyxpQkFBa0I3SSxFQUFrQixLQUFNQyxFQUM5QyxTQUFBTixHQUFDZ0osRUFBQSxDQUNDLEVBQUUsa0ZBQ0YsT0FBUTdHLEVBQU0sT0FDZCxLQUFNLE9BQ04sY0FBYyxRQUNkLGVBQWUsUUFDakIsRUFDRixDQUVKLEVDNEJhLE9BOEVBLFlBQUF5QyxHQTlFQSxPQUFBNUUsTUFBQSxvQkFsQk4sSUFBTStLLEdBQVcsQ0FBQyxDQUFFLEtBQUF6SyxFQUFNLEtBQUF3RSxFQUFNLGlCQUFBekUsQ0FBaUIsSUFBaUIsQ0FDdkUsSUFBSTBFLEVBQU8sT0FDWCxPQUFRekUsRUFBTSxDQUNaLGFBQ0V5RSxFQUFPLE9BQ1AsTUFDRixZQUNFQSxFQUFPLE9BQ1AsTUFDRixZQUNFQSxFQUFPLE9BQ1AsTUFDRixhQUNBLFFBQ0YsQ0FFQSxPQUFRRCxFQUFNLENBQ1osVUFDRSxPQUFPOUUsRUFBQzBELEdBQUEsQ0FBSSxpQkFBa0JyRCxFQUFrQixLQUFNMEUsRUFBTSxFQUM5RCxjQUNFLE9BQU8vRSxFQUFDb0ssR0FBQSxDQUFRLGlCQUFrQi9KLEVBQWtCLEtBQU0wRSxFQUFNLEVBQ2xFLGlCQUNFLE9BQU8vRSxFQUFDMkosR0FBQSxDQUFVLGlCQUFrQnRKLEVBQWtCLEtBQU0wRSxFQUFNLEVBQ3BFLGtCQUNFLE9BQU8vRSxFQUFDNEosR0FBQSxDQUFXLGlCQUFrQnZKLEVBQWtCLEtBQU0wRSxFQUFNLEVBRXJFLGFBQ0UsT0FBTy9FLEVBQUM4RCxHQUFBLENBQU8saUJBQWtCekQsRUFBa0IsS0FBTTBFLEVBQU0sRUFFakUsbUJBQ0UsT0FBTy9FLEVBQUM2SixHQUFBLENBQVksaUJBQWtCeEosRUFBa0IsS0FBTTBFLEVBQU0sRUFFdEUsaUJBQ0UsT0FBTy9FLEVBQUM4SixHQUFBLENBQVUsaUJBQWtCekosRUFBa0IsS0FBTTBFLEVBQU0sRUFFcEUsb0JBQ0UsT0FBTy9FLEVBQUM0SyxHQUFBLENBQWEsaUJBQWtCdkssRUFBa0IsS0FBTTBFLEVBQU0sRUFFdkUsbUJBQ0UsT0FBTy9FLEVBQUM2SyxHQUFBLENBQVksaUJBQWtCeEssRUFBa0IsS0FBTTBFLEVBQU0sRUFFdEUsV0FDRSxPQUFPL0UsRUFBQ2lLLEdBQUEsQ0FBSyxpQkFBa0I1SixFQUFrQixLQUFNMEUsRUFBTSxFQUUvRCxXQUNFLE9BQU8vRSxFQUFDc0ssR0FBQSxDQUFLLGlCQUFrQmpLLEVBQWtCLEtBQU0wRSxFQUFNLEVBRS9ELFdBQ0UsT0FBTy9FLEVBQUNxSyxHQUFBLENBQUssaUJBQWtCaEssRUFBa0IsS0FBTTBFLEVBQU0sRUFFL0QsWUFDRSxPQUFPL0UsRUFBQ3NDLEdBQUEsQ0FBTSxpQkFBa0JqQyxFQUFrQixLQUFNMEUsRUFBTSxFQUVoRSxVQUNFLE9BQU8vRSxFQUFDc0QsR0FBQSxDQUFJLGlCQUFrQmpELEVBQWtCLEtBQU0wRSxFQUFNLEVBRTlELGtCQUNFLE9BQU8vRSxFQUFDdUssR0FBQSxDQUFZLGlCQUFrQmxLLEVBQWtCLEtBQU0wRSxFQUFNLEVBRXRFLFVBQ0UsT0FBTy9FLEVBQUNpRCxHQUFBLENBQUksaUJBQWtCNUMsRUFBa0IsS0FBTTBFLEVBQU0sRUFFOUQsV0FDRSxPQUFPL0UsRUFBQ2tLLEdBQUEsQ0FBSyxpQkFBa0I3SixFQUFrQixLQUFNMEUsRUFBTSxFQUUvRCxXQUNFLE9BQU8vRSxFQUFDNEQsR0FBQSxDQUFLLGlCQUFrQnZELEVBQWtCLEtBQU0wRSxFQUFNLEVBRS9ELFdBQ0UsT0FBTy9FLEVBQUNtSyxHQUFBLENBQUssaUJBQWtCOUosRUFBa0IsS0FBTTBFLEVBQU0sRUFFL0QsZUFDRSxPQUFPL0UsRUFBQ2dLLEdBQUEsQ0FBUyxpQkFBa0IzSixFQUFrQixLQUFNMEUsRUFBTSxFQUVuRSxlQUNFLE9BQU8vRSxFQUFDK0osR0FBQSxDQUFTLGlCQUFrQjFKLEVBQWtCLEtBQU0wRSxFQUFNLEVBRW5FLGVBQ0UsT0FBTy9FLEVBQUM0QyxHQUFBLENBQVMsaUJBQWtCdkMsRUFBa0IsS0FBTTBFLEVBQU0sRUFFbkUsY0FDRSxPQUFPL0UsRUFBQ3dLLEdBQUEsQ0FBUSxpQkFBa0JuSyxFQUFrQixLQUFNMEUsRUFBTSxFQUVsRSxpQkFDRSxPQUFPL0UsRUFBQ3lLLEdBQUEsQ0FBVSxpQkFBa0JwSyxFQUFrQixLQUFNMEUsRUFBTSxFQUVwRSxZQUNFLE9BQU8vRSxFQUFDMEssR0FBQSxDQUFNLGlCQUFrQnJLLEVBQWtCLEtBQU0wRSxFQUFNLEVBRWhFLGVBQ0UsT0FBTy9FLEVBQUMySyxHQUFBLENBQVMsaUJBQWtCdEssRUFBa0IsS0FBTTBFLEVBQU0sRUFFbkUsYUFDRSxPQUFPL0UsRUFBQzhLLEdBQUEsQ0FBTyxpQkFBa0J6SyxFQUFrQixLQUFNMEUsRUFBTSxFQUVqRSxRQUNFLE9BQU8vRSxFQUFBNEUsR0FBQSxDQUFFLGdDQUFhLENBQzFCLENBQ0YsRUNwSFMsY0FBQTVFLE9BQUEsb0JBVEYsSUFBTWtKLEVBQU8sQ0FBQyxDQUFFLEtBQUE1SSxFQUFNLEtBQUF3RSxFQUFNLGlCQUFBekUsRUFBa0IsUUFBQWEsQ0FBUSxJQUFhLENBQ3hFLElBQU1nQixFQUFVaEIsR0FBb0J1SSxHQUU5QlAsRUFBTzZCLEdBQVMsQ0FDcEIsS0FBTXpLLEdBQWMsUUFDcEIsS0FBTXdFLEVBQ04saUJBQWtCekUsQ0FDcEIsQ0FBQyxFQUVELE9BQU9MLEdBQUMwSixFQUFRLFNBQVIsQ0FBaUIsTUFBT3hILEVBQVUsU0FBQWdILEVBQUssQ0FDakQsRXBDVUksY0FBQWxKLEVBNEJRLFFBQUFHLE9BNUJSLG9CQU5HLElBQU02SyxHQUFhLENBQUMsQ0FBRSxPQUFBQyxFQUFRLFlBQUFDLENBQVksSUFBdUIsQ0FDdEUsR0FBTSxDQUFDQyxFQUFtQkMsQ0FBb0IsRUFBSTFKLEdBQVMsRUFBSyxFQUMxRDBFLEVBQWFwRSxFQUFnQixFQUM3QkcsRUFBMEIrRixHQUFjOUIsQ0FBVSxFQUVsRGlGLEVBQ0pyTCxFQUFDa0osRUFBQSxDQUNDLHFCQUNBLGNBQ0EsZUFDQSxpQkFBa0IsdUJBQ3BCLEVBR0lvQyxFQUFzQixJQUFNLENBQ2hDRixFQUFxQixFQUFJLENBQzNCLEVBRU1HLEVBQ0pKLEdBQXFCRixFQUFPLFFBQVUsRUFDbENBLEVBQ0EsQ0FDRUEsRUFBTyxDQUFDLEVBQ1JqTCxFQUFDeUksR0FBQSxDQUF5QixRQUFTNkMsRUFBcUIsZUFFeEQsRUFDQUwsRUFBT0EsRUFBTyxPQUFTLENBQUMsQ0FDMUIsRUFFTixPQUFJN0UsRUFFQWpHLEdBQUN3SSxHQUFBLENBQXlCLE1BQU94RyxFQUM5QixVQUFBb0osRUFBZ0IsSUFBSSxDQUFDQyxFQUFPQyxJQUV6QnRMLEdBQUNvSSxHQUFBLENBQ0MsVUFBQXZJLEVBQUM0SSxHQUFBLENBQThCLE1BQU96RyxFQUNwQyxTQUFBbkMsRUFBQ2lHLEVBQUEsQ0FBYSxTQUFBdUYsRUFBTSxFQUN0QixFQUNBeEwsRUFBQzBJLEdBQUEsQ0FDRSxTQUFBMkMsRUFDSCxJQU55QkksQ0FPM0IsQ0FFSCxFQUNEekwsRUFBQ3VJLEdBQUEsQ0FDQyxTQUFBdkksRUFBQzRJLEdBQUEsQ0FBOEIsTUFBT3pHLEVBQ3BDLFNBQUFuQyxFQUFDaUcsRUFBQSxDQUFhLFNBQUFpRixFQUFZLEVBQzVCLEVBQ0YsR0FDRixFQUtGL0ssR0FBQ21JLEdBQUEsQ0FBaUIsTUFBT25HLEVBQ3RCLFVBQUFvSixFQUFnQixJQUFJLENBQUNDLEVBQU9DLElBRXpCdEwsR0FBQ29JLEdBQUEsQ0FDQyxVQUFBdkksRUFBQ3dJLEdBQUEsQ0FBc0IsTUFBT3JHLEVBQVEsU0FBQXFKLEVBQU0sRUFDNUN4TCxFQUFDMEksR0FBQSxDQUNFLFNBQUEyQyxFQUNILElBSnlCSSxDQUszQixDQUVILEVBQ0R6TCxFQUFDdUksR0FBQSxDQUNDLFNBQUF2SSxFQUFDd0ksR0FBQSxDQUFzQixNQUFPckcsRUFDM0IsU0FBQStJLEVBQ0gsRUFDRixHQUNGLENBRUosRXFDeEZTLGNBQUFsTCxPQUFBLG9CQURGLElBQU1nTCxHQUFhLENBQUMsQ0FBRSxPQUFBQyxFQUFRLFlBQUFDLENBQVksSUFDeENsTCxHQUFDZ0wsR0FBQSxDQUFlLE9BQVFDLEVBQVEsWUFBYUMsRUFBYSxFQ0huRSxPQUFPUSxJQUFTLGNBQUFuTSxPQUFrQixRQ0QzQixJQUFLb00sUUFDVkEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsUUFBVSxVQUNWQSxFQUFBLFdBQWEsYUFDYkEsRUFBQSxRQUFVLFVBQ1ZBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxHQUFLLEtBUEtBLFFBQUEsSUFVQUMsUUFDVkEsRUFBQSxPQUFTLFNBQ1RBLEVBQUEsTUFBUSxRQUNSQSxFQUFBLE9BQVMsU0FDVEEsRUFBQSxLQUFPLE9BSkdBLFFBQUEsSUNSWixPQUFPNUssT0FBVyxpQkFFWCxJQUFNNkssR0FDWDNLLEdBRU9GLEdBQU1FLEVBQVMsQ0FDcEIsc0JBQTZDLEVBQzdDLG1CQUEwQyxFQUMxQyxZQUFtQyxFQUNuQyxpQkFBd0MsRUFDeEMsc0JBQTZDLEVBQzdDLGtCQUF5QyxFQUN6QyxxQkFBNEMsQ0FDOUMsQ0FBQyxFQ2RILE9BQWdCLGlCQUFBVixPQUFxQixRQUU5QixJQUFNc0wsYUFHQUMsR0FDWHZMLEdBQWNzTCxFQUFnQixFSEk1QixtQkFBQWxILEdBQUEsT0FBQTVFLE9BQUEsb0JBTEcsSUFBTWdNLEdBQWEsQ0FBQyxDQUFFLEtBQUFDLENBQUssSUFBdUIsQ0FDdkQsSUFBTS9KLEVBQVUzQyxHQUFXd00sRUFBUyxFQUM5QkcsRUFBa0NMLEdBQXFCM0osQ0FBTyxFQUVwRSxPQUNFbEMsR0FBQTRFLEdBQUEsQ0FDRyxTQUFBOEcsR0FBTSxhQUFhTyxFQUFNLENBQ3hCLFFBQVNDLEVBQ1QsWUFDRixDQUFDLEVBQ0gsQ0FFSixFSWxCQSxPQUFPMU0sSUFBVSxPQUFBMk0sT0FBVyxvQkNBNUIsT0FBTzNNLElBQVUsT0FBQTJNLE9BQVcsb0JBRzVCLElBQU1DLEdBQW1CRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFzQm5CRSxHQUF3QkY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2pCRyxHQUFtQjlNLEdBQU87QUFBQSxJQUNuQzRNLEVBQWdCO0FBQUEsRUFHUEcsR0FBUy9NLEdBQU87QUFBQSxJQUN6QjRNLEVBQWdCO0FBQUEsRUFHUEksR0FBY2hOLEdBQU87QUFBQSxJQUM5QjZNLEVBQXFCO0FBQUEsRUFHWkksR0FBY2pOLEdBQU8sT0FFckJ3TSxHQUFheE0sR0FBTztBQUFBO0VEekMxQixJQUFNa04sR0FBZWxOLEdBQU8rTSxFQUFNO0FBQUEsZ0JBQ3hCN00sR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBLFlBQzVDQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsV0FDckNBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQSxtQkFDM0JBLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUEsVUFDckNBLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUE7QUFBQSxrQkFFbEJBLEdBQVVBLEVBQU0sTUFBTSxNQUFNLFVBQVU7QUFBQSxjQUMxQ0EsR0FBVUEsRUFBTSxNQUFNLE1BQU0sTUFBTTtBQUFBLGFBQ25DQSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxLQUFLO0FBQUE7QUFBQSxFQUlsQ2lOLEdBQXlCbk4sR0FBTzhNLEVBQWdCO0FBQUEsZ0JBRzVDNU0sR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBLFlBQzVDQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsV0FDckNBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQSxtQkFDM0JBLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUEsVUFDckNBLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUE7QUFBQTtBQUFBLGtCQUdsQkEsR0FBVUEsRUFBTSxNQUFNLE1BQU0sVUFBVTtBQUFBLGNBQzFDQSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxNQUFNO0FBQUEsYUFDbkNBLEdBQVVBLEVBQU0sTUFBTSxNQUFNLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbENrTixHQUF1QnBOLEdBQU9rTixFQUFZO0FBQUE7QUFBQSxFQU0xQ0csR0FBb0JyTixHQUFPZ04sRUFBVyxFQUFFLFdBQVcsQ0FDOUQsa0JBQW9CM0csR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQSxJQUNJbkcsR0FDREEsRUFBTSxTQUNGeU07QUFBQTtBQUFBO0FBQUEsVUFJQUE7QUFBQTtBQUFBO0FBQUEsU0FHQztBQUFBLEVBRUlXLEdBQW9CdE4sR0FBT2lOLEVBQVcsSUVyRDFDLGNBQUF6TSxPQUFBLG9CQURGLElBQU15TSxHQUFjLENBQUMsQ0FBRSxTQUFBbE0sQ0FBUyxJQUM5QlAsR0FBQzhNLEdBQUEsQ0FBbUIsU0FBQXZNLEVBQVMsRUNRdEMsT0FBZ0IsY0FBQWhCLE9BQWtCLFFDWmxDLE9BQVMsaUJBQUF1QixHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUU3RCxPQUFPaEUsT0FBVyxpQkFDbEIsT0FBUyx5QkFBQUQsTUFBNkIsaUJBRS9CLElBQU1nTSxHQUFpQixDQUM1QjdMLEVBQ0FDLElBQ2lCLENBQ2pCLElBQU1DLEVBQVNOLEdBQWMsRUFDdkJtRyxFQUFRRixHQUFjLEVBQ3RCRyxFQUFTbEMsR0FBZSxFQUV4QnZELEVBQWFWLEVBQXNCLENBQ3ZDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFSzRMLEVBQWdCak0sRUFBc0IsQ0FDMUMsS0FBTSw2QkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFSzZMLEVBQW1CbE0sRUFBc0IsQ0FDN0MsS0FBTSx3QkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFSzhMLEVBQXNCbk0sRUFBc0IsQ0FDaEQsS0FBTSw0QkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxRQUFRLFFBQzNCLENBQUMsRUFFSytMLEVBQW9CcE0sRUFBc0IsQ0FDOUMsS0FBTSxrQ0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxRQUFRLFFBQzNCLENBQUMsRUFFS2dNLEVBQXlCck0sRUFBc0IsQ0FDbkQsS0FBTSx1QkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLE9BQzVCLENBQUMsRUFFS2lNLEVBQXVCdE0sRUFBc0IsQ0FDakQsS0FBTSw2QkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLE9BQzVCLENBQUMsRUFFS2tNLEVBQXdCdk0sRUFBc0IsQ0FDbEQsS0FBTSw4QkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxXQUFXLFFBQzlCLENBQUMsRUFFS21NLEVBQXNCeE0sRUFBc0IsQ0FDaEQsS0FBTSxvQ0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxXQUFXLFFBQzlCLENBQUMsRUFFS29NLEVBQTJCek0sRUFBc0IsQ0FDckQsS0FBTSx5QkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFS3FNLEVBQXlCMU0sRUFBc0IsQ0FDbkQsS0FBTSwrQkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFS3NNLEVBQXlCM00sRUFBc0IsQ0FDbkQsS0FBTSwrQkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxXQUFXLFFBQzlCLENBQUMsRUFFS3VNLEdBQXVCNU0sRUFBc0IsQ0FDakQsS0FBTSxxQ0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxXQUFXLFFBQzlCLENBQUMsRUFFS3dNLEdBQTRCN00sRUFBc0IsQ0FDdEQsS0FBTSwwQkFDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLE9BQzVCLENBQUMsRUFFS3lNLEdBQTBCOU0sRUFBc0IsQ0FDcEQsS0FBTSxnQ0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLE9BQzVCLENBQUMsRUFFSzBNLEdBQUssQ0FDVCxLQUFNN0csRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUUMsRUFBTyxHQUNmLFFBQVMsQ0FDUCxXQUFZLGNBQ1osT0FBUSx3QkFDUixNQUFPOUYsRUFBTyxTQUFTLFFBQ3pCLEVBQ0EsTUFBTyxDQUNMLFdBQVksY0FDWixPQUFRLHdCQUNSLE1BQU9BLEVBQU8sU0FBUyxRQUN6QixDQUNGLEVBRU0yTSxHQUFPLENBQ1gsS0FBTTlHLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVFDLEVBQU8sR0FDZixRQUFTLENBQ1AsV0FBWSxjQUNaLE9BQVEsd0JBQ1IsTUFBT2dHLENBQ1QsRUFDQSxNQUFPLENBQ0wsV0FBWSxjQUNaLE9BQVEsd0JBQ1IsTUFBT0MsQ0FDVCxDQUNGLEVBRU1hLEdBQU0sQ0FDVixLQUFNL0csRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUUMsRUFBTyxHQUNmLFFBQVMsQ0FDUCxXQUFZb0csRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLE1BQU9FLENBQ1QsRUFDQSxNQUFPLENBQ0wsV0FBWUQsRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLE1BQU9FLENBQ1QsQ0FDRixFQUVNUSxHQUFTLENBQ2IsS0FBTWhILEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVFDLEVBQU8sR0FDZixRQUFTLENBQ1AsV0FBWTlGLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWU4TCxFQUN2QixNQUFPQSxDQUNULEVBQ0EsTUFBTyxDQUNMLFdBQVk5TCxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlK0wsRUFDdkIsTUFBT0EsQ0FDVCxDQUNGLEVBRU1lLEdBQU8sQ0FDWCxLQUFNakgsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUUMsRUFBTyxHQUNmLFFBQVMsQ0FDUCxXQUFZZ0csRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLE1BQU9FLENBQ1QsRUFDQSxNQUFPLENBQ0wsV0FBWUQsRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLE1BQU9FLENBQ1QsQ0FDRixFQUVNYyxHQUFXLENBQ2YsS0FBTWxILEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVFDLEVBQU8sR0FDZixRQUFTLENBQ1AsV0FBWThGLEVBQ1osT0FBUSxhQUFlQSxFQUN2QixNQUFPQyxDQUNULEVBQ0EsTUFBTyxDQUNMLFdBQVlELEVBQ1osT0FBUSxhQUFlQSxFQUN2QixNQUFPQyxDQUNULENBQ0YsRUFFTTdGLEdBQVcsQ0FDZixLQUFNSCxFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRQyxFQUFPLEdBQ2YsUUFBUyxDQUNQLFdBQVl6RixFQUNaLE9BQVEsYUFBZUEsRUFDdkIsTUFBT0EsQ0FDVCxFQUNBLE1BQU8sQ0FDTCxXQUFZQSxFQUNaLE9BQVEsYUFBZUEsRUFDdkIsTUFBT0EsQ0FDVCxDQUNGLEVBRU1GLEVBQWEsQ0FDakIsS0FBTTBGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVFDLEVBQU8sR0FDZixRQUFTLENBQ1AsV0FBWXdHLEVBQ1osT0FBUSxhQUFlQSxFQUN2QixNQUFPRSxFQUNULEVBQ0EsTUFBTyxDQUNMLFdBQVlELEdBQ1osT0FBUSxhQUFlQSxHQUN2QixNQUFPRSxFQUNULENBQ0YsRUFFQSxPQUFJMU0sRUFDS2lHLEdBR0ZwRyxHQUFNRSxFQUFTLENBQ3BCLFNBQXNCNk0sRUFBSSxFQUMxQixNQUFtQkQsRUFBRSxFQUNyQixXQUF3QkUsRUFBRyxFQUMzQixZQUF5QkMsRUFBTSxFQUMvQixXQUF3QkMsRUFBSSxFQUM1QixjQUEyQjNNLENBQVUsRUFDckMsWUFBeUI0TSxFQUFRLENBQ25DLENBQUMsQ0FDSCxFRDdOQSxPQUFPbk4sT0FBVyxpQkFvQlMsY0FBQWhCLEdBaUJuQixRQUFBRyxPQWpCbUIsb0JBZnBCLElBQU1vTSxHQUFTLENBQUMsQ0FDckIsR0FBQTZCLEVBQ0EsTUFBQXpMLEVBQ0EsVUFBQXNGLEVBQ0EsU0FBQTFILEVBQ0EsUUFBQThOLEVBQ0EsZUFBQUMsRUFDQSxjQUFBQyxFQUNBLEtBQUF6SixDQUNGLElBQW1CLENBQ2pCLElBQU1zQixFQUFhcEUsRUFBZ0IsRUFFN0J3TSxFQUFhalAsR0FBV3dNLEVBQVMsRUFDakM1SixFQUFzQjRLLEdBQWV5QixFQUFZcEksQ0FBVSxFQUUzRHFJLEVBQVFsTyxFQUFXUCxHQUFDeU0sR0FBQSxDQUFhLFNBQUFsTSxFQUFTLEVBQWlCLEtBRWpFLEdBQUk2RixFQWFGLE9BQ0VwRyxHQUFDNE0sR0FBQSxDQUFxQixNQUFPekssRUFDM0IsU0FBQWhDLEdBQUMwTSxHQUFBLENBQWtCLFNBQVUsQ0FBQyxDQUFDNEIsRUFDNUIsVUFmb0JILEVBQ3pCdE8sR0FBQ2lHLEVBQUEsQ0FDQyxTQUFBakcsR0FBQ2dNLEdBQUEsQ0FBVyxLQUFNc0MsRUFBZ0IsRUFDcEMsRUFDRSxLQVlHRyxFQVZtQkYsRUFDeEJ2TyxHQUFDaUcsRUFBQSxDQUNDLFNBQUFqRyxHQUFDZ00sR0FBQSxDQUFXLEtBQU11QyxFQUFlLEVBQ25DLEVBQ0UsTUFRQSxFQUNGLEVBSUosSUFBTUcsRUFBYUYsSUFBZSxXQUM1QkcsRUFBZTdKLElBQVMsT0FFeEI4SixFQUFhTixFQUNqQnRPLEdBQUNnTSxHQUFBLENBQVcsS0FBTXNDLEVBQWdCLEVBQ2hDLEtBQ0VPLEVBQVlOLEVBQWdCdk8sR0FBQ2dNLEdBQUEsQ0FBVyxLQUFNdUMsRUFBZSxFQUFLLEtBR3hFLEdBQUlJLEVBQ0YsT0FDRTNPLEdBQUMyTSxHQUFBLENBQ0MsTUFBT3hLLEVBQ1AsTUFBT1EsRUFDUCxhQUFZc0YsRUFDWixnQkFBZXlHLEVBQ2YsUUFBU0wsRUFDVCxHQUFJRCxFQUVKLFNBQUFqTyxHQUFDME0sR0FBQSxDQUFrQixTQUFVLENBQUMsQ0FBQzRCLEVBQzVCLFVBQUFHLEVBQ0FILEVBQ0FJLEdBQ0gsRUFDRixFQUlKLElBQU1DLEVBQVc5TixHQUFNOEQsRUFBTSxDQUMzQixVQUFvQixRQUFRLEVBQzVCLFNBQW1CLE9BQU8sRUFDMUIsVUFBb0IsUUFBUSxDQUM5QixDQUFDLEVBRUQsT0FDRTlFLEdBQUMwTSxHQUFBLENBQ0MsTUFBT3ZLLEVBQ1AsTUFBT1EsRUFDUCxhQUFZc0YsRUFDWixnQkFBZXlHLEVBQ2YsUUFBU0wsRUFDVCxTQUFVSyxFQUNWLEtBQU1JLEVBQ04sR0FBSVYsRUFFSixTQUFBak8sR0FBQzBNLEdBQUEsQ0FBa0IsU0FBVSxDQUFDLENBQUM0QixFQUM1QixVQUFBRyxFQUNBSCxFQUNBSSxHQUNILEVBQ0YsQ0FFSixFRTVGTSxjQUFBN08sT0FBQSxvQkFoQkMsSUFBTXVNLEdBQVMsQ0FBQyxDQUNyQixHQUFBNkIsRUFDQSxNQUFBekwsRUFDQSxVQUFBc0YsRUFDQSxTQUFBMUgsRUFDQSxRQUFBOE4sRUFDQSxlQUFBQyxFQUNBLGNBQUFDLEVBQ0EsS0FBQXpKLFdBQ0EsUUFBQTVELFdBQ0YsSUFBZSxDQUNiLElBQU1zTixFQUFhdE4sR0FBb0I0SyxHQUNqQzZDLEVBQWU3SixJQUFTLE9BRTlCLE9BQ0U5RSxHQUFDK0wsR0FBVSxTQUFWLENBQW1CLE1BQU95QyxFQUN6QixTQUFBeE8sR0FBQ3VNLEdBQUEsQ0FDQyxHQUFJNkIsRUFDSixNQUFPekwsRUFDUCxVQUFXc0YsRUFDWCxRQUFTMEcsRUFBZSxPQUFZTixFQUNwQyxlQUFnQkMsRUFDaEIsY0FBZUMsRUFDZixLQUFNekosRUFFTCxTQUFBdkUsRUFDSCxFQUNGLENBRUosRUNuQ0EsT0FBUyxjQUFBaEIsT0FBa0IsUUNBM0IsT0FBT0MsSUFBVSxPQUFBMk0sT0FBVyxvQkFHckIsSUFBTTRDLEdBQWlCdlAsR0FBTyxNQUFNLE1BQU0sQ0FBRSxLQUFNLFVBQVcsQ0FBQztBQUFBO0FBQUE7QUFBQSxFQU94RHdQLEdBQTBCeFAsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHdCQVVyQkUsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBLGNBQ2xEQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUEsTUFJNUNBLEdBQ0QsQ0FBQ0EsRUFBTSxZQUNQeU07QUFBQTtBQUFBLE9BRUM7QUFBQTtBQUFBO0FBQUEsZ0JBR1V6TSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBLGdCQUdsQ0EsR0FBVUEsRUFBTSxNQUFNLFFBQVEsTUFBTTtBQUFBO0FBQUE7QUFBQSxFQUt4Q3VQLEdBQWtDelAsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTekMwUCxHQUF1QjFQLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsbUJBTXZCRSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLFlBQ25DQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsc0JBQzFCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUE7QUFBQSxFQUlsRHlQLEdBQStCM1AsR0FBTzBQLEVBQW9CO0FBQUE7QUFBQSxFQU0xREUsR0FBc0I1UCxHQUFPO0FBQUEsVUFDL0JFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsV0FDekJBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1sQzJQLEdBQThCN1AsR0FBTzRQLEVBQW1CO0FBQUE7QUFBQSxzQkFJOUMxUCxHQUFVQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUEsbUJBQzNDQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBO0FBQUE7QUFBQTtFQ2hGaEQsT0FBUyxpQkFBQW9CLEdBQWUsaUJBQUFpRyxHQUFlLGtCQUFBL0IsT0FBc0IsaUJBQzdELE9BQVMseUJBQUFqRSxPQUE2QixpQkNEL0IsSUFBS3VPLFFBQ1ZBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxNQUFRLFFBSEVBLFFBQUEsSURHWixPQUFPdE8sT0FBVyxpQkFHWCxJQUFNdU8sR0FBbUIsQ0FDOUJyTyxFQUNBQyxJQUNtQixDQUNuQixJQUFNQyxFQUFTTixHQUFjLEVBQ3ZCbUcsRUFBUUYsR0FBYyxFQUN0QnlJLEVBQVN4SyxHQUFlLEVBRXhCeUssRUFBa0IxTyxHQUFzQixDQUM1QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUtzTyxFQUFtQnRPLEVBQU8sT0FBTyxTQUVqQytGLEVBQVcsQ0FDZixRQUFTLENBQ1AsTUFBTy9GLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlQSxFQUFPLFNBQVMsUUFDekMsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxRQUN6QyxFQUNBLFFBQVMsQ0FDUCxNQUFPQSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxXQUFXLFNBQzlCLE9BQVEsYUFBZUEsRUFBTyxXQUFXLFFBQzNDLEVBQ0EsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEVBQ2pCLEVBRU1HLEVBQVEsQ0FDWixRQUFTLENBQ1AsTUFBT3ZPLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlc08sQ0FDekIsRUFDQSxNQUFPLENBQ0wsTUFBT3RPLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlc08sQ0FDekIsRUFDQSxRQUFTLENBQ1AsTUFBT3RPLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFdBQVcsU0FDOUIsT0FBUSxhQUFlQSxFQUFPLFdBQVcsUUFDM0MsRUFDQSxLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUXVJLEVBQU8sRUFDakIsRUFFTXJCLEVBQVcsQ0FDZixRQUFTLENBQ1AsTUFBTy9NLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsU0FDNUIsT0FBUSxhQUFlQSxFQUFPLFNBQVMsUUFDekMsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxRQUN6QyxFQUNBLFFBQVMsQ0FDUCxNQUFPQSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFNBQzVCLE9BQVEsYUFBZUEsRUFBTyxTQUFTLFFBQ3pDLEVBQ0EsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEVBQ2pCLEVBRUEsT0FBSXJPLEVBQ0ssQ0FDTCxRQUFTLENBQ1AsTUFBT3NPLEVBQ1AsV0FBWUEsRUFDWixPQUFRLGFBQWVBLENBQ3pCLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQ1AsV0FBWUEsRUFDWixPQUFRLGFBQWVBLENBQ3pCLEVBQ0EsUUFBUyxDQUNQLE1BQU9BLEVBQ1AsV0FBWUEsRUFDWixPQUFRLGFBQWVBLENBQ3pCLEVBQ0EsS0FBTXhJLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEVBQ2pCLEVBR0t4TyxHQUFNRSxFQUFTLENBQ3BCLFlBQTJCaUcsQ0FBUSxFQUNuQyxTQUF3QndJLENBQUssRUFDN0IsWUFBMkJ4QixDQUFRLENBQ3JDLENBQUMsQ0FDSCxFRTVHQSxPQUFnQixpQkFBQTNOLE9BQXFCLFFBRTlCLElBQU1vUCxjQUdBQyxHQUNYclAsR0FBY29QLEVBQWtCLEVKMkI1QixPQUNFLE9BQUE1UCxHQURGLFFBQUFHLE9BQUEsb0JBaEJDLElBQU0yUCxHQUFXLENBQUMsQ0FDdkIsU0FBQUMsRUFDQSxNQUFBbk8sRUFDQSxVQUFBcUcsRUFDQSxNQUFBK0gsRUFDQSxLQUFBaEksRUFDQSxRQUFBaUksRUFDQSxlQUFBQyxDQUNGLElBQThCLENBQzVCLElBQU1DLEVBQW1CNVEsR0FBV3NRLEVBQVcsRUFDekMxTyxFQUFhYSxFQUFnQixFQUM3QkcsRUFBd0JvTixHQUFpQlksRUFBa0JoUCxDQUFVLEVBQ3JFaVAsRUFBYUQsSUFBcUIsV0FFeEMsT0FBSWhQLEVBRUFoQixHQUFDOE8sR0FBQSxDQUFnQyxNQUFPOU0sRUFDdEMsVUFBQW5DLEdBQUNtUCxHQUFBLENBQTZCLE1BQU9oTixFQUFPLEVBQzVDbkMsR0FBQ3FQLEdBQUEsQ0FBNEIsTUFBT2xOLEVBQ2pDLFNBQUE2TixFQUNILEdBQ0YsRUFLRjdQLEdBQUM2TyxHQUFBLENBQXdCLFdBQVlvQixFQUFZLE1BQU9qTyxFQUN0RCxVQUFBbkMsR0FBQytPLEdBQUEsQ0FDQyxTQUFVcUIsRUFDVixnQkFBZUEsRUFDZixRQUFTSCxFQUNULGVBQWNBLEVBQ2QsZUFBZ0JDLEVBQ2hCLEtBQU1sSSxFQUNOLGFBQVlDLEVBQ1osTUFBT3JHLEVBQ1AsU0FBVW1PLEVBQ1osRUFDQS9QLEdBQUNrUCxHQUFBLENBQXFCLE1BQU8vTSxFQUMxQixTQUFBaU8sR0FBYyxDQUFDSCxFQUFVLEtBQ3hCalEsR0FBQ2tKLEVBQUEsQ0FDQyxhQUNBLGlCQUFrQjhHLEVBQ2xCLGdCQUNGLEVBRUosRUFDQWhRLEdBQUNvUCxHQUFBLENBQW9CLE1BQU9qTixFQUFRLFNBQUE2TixFQUFNLEdBQzVDLENBRUosRUs5Q00sY0FBQWhRLE9BQUEsb0JBZEMsSUFBTThQLEdBQVcsQ0FBQyxDQUN2QixRQUFBNU8sRUFDQSxTQUFBNk8sRUFDQSxNQUFBbk8sRUFDQSxVQUFBcUcsRUFDQSxNQUFBK0gsRUFDQSxLQUFBaEksRUFDQSxRQUFBaUksRUFDQSxlQUFBQyxDQUNGLElBQWlCLENBQ2YsSUFBTUcsRUFBZW5QLEdBQW9CME8sR0FFekMsT0FDRTVQLEdBQUM2UCxHQUFZLFNBQVosQ0FBcUIsTUFBT1EsRUFDM0IsU0FBQXJRLEdBQUM4UCxHQUFBLENBQ0MsS0FBTTlILEVBQ04sTUFBT3BHLEVBQ1AsTUFBT29PLEVBQ1AsUUFBU0MsRUFDVCxlQUFnQkMsRUFDaEIsVUFBV2pJLEVBQ1gsU0FBVThILEVBQ1osRUFDRixDQUVKLEVDakNBLE9BQVMsY0FBQXhRLE9BQWtCLFFDQXBCLElBQUsrUSxRQUNWQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsTUFBUSxRQUhFQSxRQUFBLElDQVosT0FBUyxpQkFBQXhQLEdBQWUsaUJBQUFpRyxHQUFlLGtCQUFBL0IsT0FBc0IsaUJBQzdELE9BQVMseUJBQUFqRSxPQUE2QixpQkFFdEMsT0FBT0MsT0FBVyxpQkFHWCxJQUFNdVAsR0FBaUIsQ0FDNUJyUCxFQUNBQyxJQUNpQixDQUNqQixJQUFNQyxFQUFTTixHQUFjLEVBQ3ZCbUcsRUFBUUYsR0FBYyxFQUN0QnlJLEVBQVN4SyxHQUFlLEVBRXhCeUssRUFBa0IxTyxHQUFzQixDQUM1QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUtzTyxFQUFtQnRPLEVBQU8sT0FBTyxTQUVqQytGLEVBQVcsQ0FDZixRQUFTLENBQ1AsTUFBTy9GLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlQSxFQUFPLFNBQVMsU0FDdkMsUUFBU0EsRUFBTyxTQUFTLE9BQzNCLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlQSxFQUFPLFNBQVMsU0FDdkMsUUFBU0EsRUFBTyxTQUFTLE9BQzNCLEVBQ0EsUUFBUyxDQUNQLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFdBQVcsU0FDOUIsT0FBUSxhQUFlQSxFQUFPLFdBQVcsU0FDekMsUUFBU0EsRUFBTyxXQUFXLFFBQzdCLEVBQ0EsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEdBQ2YsYUFBY0EsRUFBTyxFQUN2QixFQUVNRyxFQUFRLENBQ1osUUFBUyxDQUNQLE1BQU92TyxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFFBQzVCLE9BQVEsYUFBZXNPLEVBQ3ZCLFFBQVN0TyxFQUFPLFNBQVMsT0FDM0IsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVzTyxFQUN2QixRQUFTdE8sRUFBTyxTQUFTLE9BQzNCLEVBQ0EsUUFBUyxDQUNQLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFdBQVcsU0FDOUIsT0FBUSxhQUFlQSxFQUFPLFdBQVcsU0FDekMsUUFBU0EsRUFBTyxXQUFXLFFBQzdCLEVBQ0EsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEdBQ2YsYUFBY0EsRUFBTyxFQUN2QixFQUVNckIsRUFBVyxDQUNmLFFBQVMsQ0FDUCxNQUFPL00sRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxRQUFTLENBQ1AsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUXVJLEVBQU8sR0FDZixhQUFjQSxFQUFPLEVBQ3ZCLEVBRUEsT0FBSXJPLEVBQ0ssQ0FDTCxRQUFTLENBQ1AsTUFBT3NPLEVBQ1AsV0FBWUEsRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLFFBQVNBLENBQ1gsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFDUCxXQUFZQSxFQUNaLE9BQVEsYUFBZUEsRUFDdkIsUUFBU0EsQ0FDWCxFQUNBLFFBQVMsQ0FDUCxNQUFPQSxFQUNQLFdBQVlBLEVBQ1osT0FBUSxhQUFlQSxFQUN2QixRQUFTQSxDQUNYLEVBQ0EsS0FBTXhJLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEdBQ2YsYUFBY0EsRUFBTyxFQUN2QixFQUdLeE8sR0FBTUUsRUFBUyxDQUNwQixZQUF5QmlHLENBQVEsRUFDakMsU0FBc0J3SSxDQUFLLEVBQzNCLFlBQXlCeEIsQ0FBUSxDQUNuQyxDQUFDLENBQ0gsRUM3SEEsT0FBTzNPLElBQVUsT0FBQTJNLE9BQVcsb0JBR3JCLElBQU1xRSxHQUFlaFIsR0FBTyxNQUFNLE1BQU0sQ0FBRSxLQUFNLE9BQVEsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsY0FPakRFLEdBQVVBLEVBQU0sTUFBTSxRQUFRLE1BQU07QUFBQSxhQUNyQ0EsR0FBVUEsRUFBTSxNQUFNLFFBQVEsS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU3BDK1EsR0FBd0JqUixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVF2Q0UsR0FDRCxDQUFDQSxFQUFNLFlBQ1B5TTtBQUFBO0FBQUEsa0JBRWV6TSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBLEtBR2hEO0FBQUEsRUFHUWdSLEdBQW9CbFIsR0FBTztBQUFBLFVBQzdCRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBLFdBQ3pCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxZQUtsQ0EsR0FBVUEsRUFBTSxNQUFNLFFBQVEsTUFBTTtBQUFBLG1CQUM3QkEsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxzQkFDekJBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBYWxEaVIsR0FBd0JuUixHQUFPO0FBQUE7QUFBQTtBQUFBLEVBSy9Cb1IsR0FBZXBSLEdBQU87QUFBQTtBQUFBLG1CQUVmRSxHQUFVQSxFQUFNLE1BQU0sWUFBWTtBQUFBLHNCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2xEbVIsR0FBZ0NyUixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxZQU92Q0UsR0FBVUEsRUFBTSxNQUFNLFFBQVEsTUFBTTtBQUFBLG1CQUM3QkEsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUEsRUFLbkNvUixHQUE2QnRSLEdBQU87QUFBQTtBQUFBLG1CQUU3QkUsR0FBVUEsRUFBTSxNQUFNLFlBQVk7QUFBQSxzQkFDL0JBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNsRHFSLEdBQTRCdlIsR0FBTztBQUFBLFVBQ3JDRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBLFdBQ3pCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxLQUFLO0FBQUE7QUFBQTtBQUFBLG1CQUczQkEsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBLHNCQUV6QkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VINUYvRCxPQUFTLGdCQUFBSixPQUFvQiwwQklqQjdCLE9BQVMsaUJBQUFrQixPQUFxQixRQUd2QixJQUFNd1EsY0FHQUMsR0FDWHpRLEdBQWN3USxFQUFnQixFSmdDMUIsT0FDRSxPQUFBaFIsR0FERixRQUFBRyxPQUFBLG9CQWxCQyxJQUFNK1EsR0FBUyxDQUFDLENBQ3JCLFNBQUFuQixFQUNBLE1BQUFuTyxFQUNBLFVBQUFxRyxFQUNBLE1BQUErSCxFQUNBLEtBQUFoSSxFQUNBLFFBQUFpSSxFQUNBLGVBQUFDLEVBQ0EsS0FBQWpFLENBQ0YsSUFBNEIsQ0FDMUIsSUFBTWtFLEVBQW1CNVEsR0FBVzBSLEVBQVMsRUFDdkM5UCxFQUFhYSxFQUFnQixFQUU3QkcsRUFBc0JvTyxHQUFlSixFQUFrQmhQLENBQVUsRUFDakVpUCxFQUFhRCxJQUFxQixXQUV4QyxPQUFJaFAsRUFFQWhCLEdBQUMwUSxHQUFBLENBQThCLE1BQU8xTyxFQUNwQyxVQUFBbkMsR0FBQzhRLEdBQUEsQ0FBMkIsTUFBTzNPLEVBQU8sRUFDMUNuQyxHQUFDK1EsR0FBQSxDQUEwQixNQUFPNU8sRUFDL0IsU0FBQTZOLEVBQ0gsR0FDRixFQUtGN1AsR0FBQ3NRLEdBQUEsQ0FBc0IsV0FBWUwsRUFBWSxNQUFPak8sRUFDcEQsVUFBQW5DLEdBQUN3USxHQUFBLENBQ0MsU0FBVUosRUFDVixnQkFBZUEsRUFDZixRQUFTSCxFQUNULGVBQWNBLEVBQ2QsZUFBZ0JDLEVBQ2hCLEtBQU1sSSxFQUNOLGFBQVlDLEVBQ1osTUFBT3JHLEVBQ1AsU0FBVW1PLEVBQ1YsTUFBTzVOLEVBQ1QsRUFDQWhDLEdBQUN3USxHQUFBLENBQXNCLE1BQU94TyxFQUM1QixVQUFBbkMsR0FBQ2tHLEVBQUEsQ0FBTSxLQUFNNUcsR0FBYSxTQUFVLE9BQVEyTSxFQUFNLEVBQ2xEak0sR0FBQzRRLEdBQUEsQ0FBYSxNQUFPek8sRUFDbkIsU0FBQW5DLEdBQUNrSixFQUFBLENBQ0MsYUFDQSxjQUNBLGlCQUFrQjhHLEVBQ2xCLGdCQUNGLEVBQ0YsR0FDRixFQUNBaFEsR0FBQzBRLEdBQUEsQ0FBa0IsTUFBT3ZPLEVBQVEsU0FBQTZOLEVBQU0sR0FDMUMsQ0FFSixFS3hETSxjQUFBaFEsT0FBQSxvQkFmQyxJQUFNa1IsR0FBUyxDQUFDLENBQ3JCLFFBQUFoUSxFQUNBLFNBQUE2TyxFQUNBLE1BQUFuTyxFQUNBLFVBQUFxRyxFQUNBLE1BQUErSCxFQUNBLEtBQUFoSSxFQUNBLFFBQUFpSSxFQUNBLGVBQUFDLEVBQ0EsS0FBQWpFLENBQ0YsSUFBZSxDQUNiLElBQU1xRSxFQUFnQnBQLEdBQW9COFAsR0FFMUMsT0FDRWhSLEdBQUNpUixHQUFVLFNBQVYsQ0FBbUIsTUFBT1gsRUFDekIsU0FBQXRRLEdBQUNrUixHQUFBLENBQ0MsS0FBTWxKLEVBQ04sTUFBT3BHLEVBQ1AsTUFBT29PLEVBQ1AsUUFBU0MsRUFDVCxlQUFnQkMsRUFDaEIsVUFBV2pJLEVBQ1gsU0FBVThILEVBQ1YsS0FBTTlELEVBQ1IsRUFDRixDQUVKLEVDaENBLE9BQU96TSxPQUFZLG9CQU1aLElBQU0yUixHQUFnQjNSLEdBQU8sSUFBSSxXQUFXLENBQ2pELGtCQUFvQnFHLEdBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBU0EsQ0FBSSxDQUN6RCxDQUFDO0FBQUEsVUFDVW5HLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsV0FDekJBLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBLGdCQUd0QkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxFQUdwQzBSLEdBQXdCNVIsR0FBTzJSLEVBQWE7QUFBQSxnQkFHeEN6UixHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBO0FBQUEsRUFJcEMyUixHQUFxQjdSLEdBQU8sTUFFNUI4UixHQUFvQjlSLEdBQU8sSUFBSSxXQUFXLENBQ3JELGtCQUFvQnFHLEdBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBU0EsQ0FBSSxDQUN6RCxDQUFDO0FBQUE7QUFBQSxZQUVZbkcsR0FBVUEsRUFBTSxNQUFNLE1BQU07RUMzQnpDLE9BQVMsaUJBQUFvQixHQUFlLGlCQUFBaUcsT0FBcUIsaUJBQzdDLE9BQVMseUJBQUFoRyxPQUE2QixpQkFFL0IsSUFBTXdRLEdBQWNwUSxHQUF1QyxDQUNoRSxJQUFNcVEsRUFBT3pLLEdBQWMsRUFDckIzRixFQUFTTixHQUFjLEVBRXZCVyxFQUFhVixHQUFzQixDQUN2QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUQsT0FBSUQsRUFDSyxDQUNMLEtBQU1xUSxFQUFLLFFBQVEsR0FBRyxPQUN0QixNQUFPcFEsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlLLENBQ2QsRUFHSyxDQUNMLEtBQU0rUCxFQUFLLFFBQVEsR0FBRyxPQUN0QixNQUFPcFEsRUFBTyxTQUFTLFNBQ3ZCLFdBQVksYUFDZCxDQUNGLEVDdkJTLGNBQUFwQixPQUFBLG9CQURGLElBQU15UixHQUFlLENBQUMsQ0FBRSxTQUFBbFIsQ0FBUyxJQUMvQlAsR0FBQ3FSLEdBQUEsQ0FBb0IsU0FBQTlRLEVBQVMsRUNMdkMsT0FBT21MLE9BQVcsUUFFbEIsT0FBUyxtQkFBQXpHLE9BQXVCLGlCQ0F6QixJQUFNeU0sR0FBeUJ2USxHQUNoQ0Esb0JEY0YsY0FBQW5CLE9BQUEsb0JBVEcsSUFBTTJSLEdBQWMsQ0FBQyxDQUFFLEtBQUExRixDQUFLLElBQXdCLENBQ3pELElBQU03RixFQUFhcEUsRUFBZ0IsRUFFN0JtRyxFQUEyQnVKLEdBQXNCdEwsQ0FBVSxFQUczRHdMLEVBQVMsS0FGQzNNLEdBQWdCLEVBRUYsUUFBUSxDQUFHLEVBQUksT0FFN0MsT0FDRWpGLEdBQUNzUixHQUFBLENBQWtCLE1BQU8sQ0FBRSxPQUFRTSxDQUFPLEVBQ3hDLFNBQUFsRyxHQUFNLGFBQWFPLEVBQU0sQ0FDeEIsUUFBUzlELEVBQ1QsWUFDRixDQUFDLEVBQ0gsQ0FFSixFRVJnQixjQUFBbkksR0FtQlYsUUFBQUcsT0FuQlUsb0JBSlQsSUFBTTBSLEdBQVUsQ0FBQyxDQUFFLE1BQUE3QixFQUFPLGVBQUExQixDQUFlLElBQW9CLENBQ2xFLElBQU1sSSxFQUFhcEUsRUFBZ0IsRUFDN0JHLEVBQVFvUCxHQUFXbkwsQ0FBVSxFQUU3QnFJLEVBQVF6TyxHQUFDeVIsR0FBQSxDQUFjLFNBQUF6QixFQUFNLEVBQzdCcEIsRUFBYU4sRUFDakJ0TyxHQUFDMlIsR0FBQSxDQUFZLEtBQU1yRCxFQUFnQixFQUNqQyxLQUVKLE9BQUlsSSxFQWNBakcsR0FBQ2lSLEdBQUEsQ0FBc0IsTUFBT2pQLEVBQzNCLFVBZHNCbU0sRUFDekJ0TyxHQUFDaUcsRUFBQSxDQUNDLFNBQUFqRyxHQUFDMlIsR0FBQSxDQUFZLEtBQU1yRCxFQUFnQixFQUNyQyxFQUNFLEtBR0Z0TyxHQUFDaUcsRUFBQSxDQUNDLFNBQUFqRyxHQUFDeVIsR0FBQSxDQUFjLFNBQUF6QixFQUFNLEVBQ3ZCLEdBT0EsRUFLRjdQLEdBQUNnUixHQUFBLENBQWMsTUFBT2hQLEVBQ25CLFVBQUF5TSxFQUFXLElBQUVILEdBQ2hCLENBRUosRUMzQ1MsY0FBQXpPLE9BQUEsb0JBREYsSUFBTTZSLEdBQVUsQ0FBQyxDQUFFLE1BQUE3QixFQUFPLGVBQUExQixDQUFlLElBQ3ZDdE8sR0FBQzZSLEdBQUEsQ0FBWSxNQUFPN0IsRUFBTyxlQUFnQjFCLEVBQWdCLEVDSnBFLE9BQU85TyxPQUFZLG9CQUdaLElBQU1zUyxHQUFpQnRTLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVN4QnVTLEdBQXVCdlMsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VDQ25DLGNBQUFRLE9BQUEsb0JBSkQsSUFBTTJLLEdBQVcsQ0FBQyxDQUFFLFFBQUEwRCxDQUFRLElBRS9Cck8sR0FBQzhSLEdBQUEsQ0FDQyxTQUFBOVIsR0FBQytSLEdBQUEsQ0FBcUIsUUFBUzFELEVBQzdCLFNBQUFyTyxHQUFDa0osRUFBQSxDQUNDLGdCQUNBLGlCQUFrQixHQUNsQixlQUNGLEVBQ0YsRUFDRixFQ2RLLGNBQUFsSixPQUFBLG9CQURGLElBQU0ySyxHQUFXLENBQUMsQ0FBRSxRQUFBMEQsQ0FBUSxJQUMxQnJPLEdBQUMySyxHQUFBLENBQWEsUUFBUzBELEVBQVMsRUNMekMsT0FBTzdPLE9BQVksb0JBR1osSUFBTXdTLEdBQWV4UyxHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTdEJ5UyxHQUFxQnpTLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQ0ZqQyxjQUFBUSxPQUFBLG9CQUpELElBQU04SyxHQUFTLENBQUMsQ0FBRSxRQUFBdUQsQ0FBUSxJQUU3QnJPLEdBQUNnUyxHQUFBLENBQ0MsU0FBQWhTLEdBQUNpUyxHQUFBLENBQW1CLFFBQVM1RCxFQUMzQixTQUFBck8sR0FBQ2tKLEVBQUEsQ0FDQyxjQUNBLGlCQUFrQixHQUNsQixlQUNGLEVBQ0YsRUFDRixFQ1hLLGNBQUFsSixPQUFBLG9CQURGLElBQU04SyxHQUFTLENBQUMsQ0FBRSxRQUFBdUQsQ0FBUSxJQUN4QnJPLEdBQUM4SyxHQUFBLENBQVcsUUFBU3VELEVBQVMsRUNMdkMsT0FBTzdPLE9BQVksb0JBRVosSUFBTTBTLEdBQVcxUyxHQUFPLEtBRWxCMlMsR0FBVzNTLEdBQU8sS0FFbEI0UyxHQUFXNVMsR0FBTyxLQUVsQjZTLEdBQVc3UyxHQUFPLEtBRWxCOFMsR0FBVzlTLEdBQU8sS0FFbEIrUyxHQUFXL1MsR0FBTyxLQ0YvQixPQUFPd0IsT0FBVyxpQkFnQlosY0FBQWhCLE1BQUEsb0JBWkMsSUFBTXdTLEdBQVUsQ0FBQyxDQUN0QixHQUFBcEUsRUFDQSxNQUFBekwsRUFDQSxTQUFBcEMsRUFDQSxTQUFBdU8sRUFDQSxLQUFBeE8sRUFDQSxLQUFBZ0gsQ0FDRixJQUFvQixDQUNsQixJQUFNbEIsRUFBYXBFLEVBQWdCLEVBa0RuQyxPQUFPaEIsR0FBTThOLEVBQVUsQ0FDckIsQ0FBQyxLQWhERDlPLEVBQUNrUyxHQUFBLENBQVMsR0FBSTlELEVBQUksTUFBT3pMLEVBQ3ZCLFNBQUEzQyxFQUFDcUgsR0FBQSxDQUFVLEtBQU1DLEVBQU0sS0FBTWhILEVBQzFCLFNBQUFDLEVBQ0gsRUFDRixDQTRDUyxFQUNULENBQUMsS0F6Q0RQLEVBQUNtUyxHQUFBLENBQVMsR0FBSS9ELEVBQUksTUFBT3pMLEVBQ3ZCLFNBQUEzQyxFQUFDcUgsR0FBQSxDQUFVLEtBQU1DLEVBQU0sS0FBTWhILEVBQzFCLFNBQUFDLEVBQ0gsRUFDRixDQXFDUyxFQUNULENBQUMsS0FsQ0RQLEVBQUNvUyxHQUFBLENBQVMsR0FBSWhFLEVBQUksTUFBT3pMLEVBQ3ZCLFNBQUEzQyxFQUFDcUgsR0FBQSxDQUFVLEtBQU1DLEVBQU0sS0FBTWhILEVBQzFCLFNBQUFDLEVBQ0gsRUFDRixDQThCUyxFQUNULENBQUMsS0EzQkRQLEVBQUNxUyxHQUFBLENBQVMsR0FBSWpFLEVBQUksTUFBT3pMLEVBQ3ZCLFNBQUEzQyxFQUFDcUgsR0FBQSxDQUFVLEtBQU1DLEVBQU0sS0FBTWhILEVBQzFCLFNBQUFDLEVBQ0gsRUFDRixDQXVCUyxFQUNULENBQUMsS0FwQkRQLEVBQUNzUyxHQUFBLENBQVMsR0FBSWxFLEVBQUksTUFBT3pMLEVBQ3ZCLFNBQUEzQyxFQUFDcUgsR0FBQSxDQUFVLEtBQU1DLEVBQU0sS0FBTWhILEVBQzFCLFNBQUFDLEVBQ0gsRUFDRixDQWdCUyxFQUNULENBQUMsS0FiRFAsRUFBQ3VTLEdBQUEsQ0FBUyxHQUFJbkUsRUFBSSxNQUFPekwsRUFDdkIsU0FBQTNDLEVBQUNxSCxHQUFBLENBQVUsS0FBTUMsRUFBTSxLQUFNaEgsRUFDMUIsU0FBQUMsRUFDSCxFQUNGLENBU1MsQ0FDWCxDQUFDLENBQ0gsRUM3RUEsT0FBUyxrQkFBQW9ILEdBQWdCLG1CQUFBQyxPQUF1QiwwQkFXNUMsY0FBQTVILE9BQUEsb0JBVEcsSUFBTXdTLEdBQVUsQ0FBQyxDQUN0QixHQUFBcEUsRUFDQSxNQUFBekwsRUFDQSxTQUFBcEMsRUFBVyxHQUNYLFNBQUF1TyxPQUNBLEtBQUF4TyxFQUFPcUgsR0FBZSxHQUN0QixLQUFBTCxFQUFPTSxHQUFnQixPQUN6QixJQUVJNUgsR0FBQ3dTLEdBQUEsQ0FDQyxHQUFJcEUsRUFDSixNQUFPekwsRUFDUCxTQUFVbU0sRUFDVixLQUFNeE8sRUFDTixLQUFNZ0gsRUFFTCxTQUFBL0csRUFDSCxFQ3RCSixPQUNFLGlCQUFBTyxHQUNBLGlCQUFBaUcsR0FDQSxrQkFBQS9CLEdBQ0EsbUJBQUFDLE9BQ0ssaUJBRVAsT0FBUyx5QkFBQWxFLE9BQTZCLGlCQUUvQixJQUFNMFIsR0FBa0J0UixHQUEyQyxDQUN4RSxJQUFNcVEsRUFBT3pLLEdBQWMsRUFDckJHLEVBQVNsQyxHQUFlLEVBQ3hCNUQsRUFBU04sR0FBYyxFQUN2QjBFLEVBQVVQLEdBQWdCLEVBRTFCeEQsRUFBYVYsR0FBc0IsQ0FDdkMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVELE9BQUlELEVBQ0ssQ0FDTCxLQUFNcVEsRUFBSyxRQUFRLEdBQUcsT0FDdEIsT0FBUXRLLEVBQU8sR0FBSyxJQUFNQSxFQUFPLEdBQUssSUFBTUEsRUFBTyxHQUFLLElBQU1BLEVBQU8sS0FDckUsV0FBWXpGLEVBQ1osUUFBUytELEVBQVEsUUFBUSxFQUFJLEVBQUksSUFBTUEsRUFBUSxRQUFRLENBQUcsQ0FDNUQsRUFHSyxDQUNMLEtBQU1nTSxFQUFLLFFBQVEsR0FBRyxPQUN0QixPQUFRdEssRUFBTyxHQUFLLElBQU1BLEVBQU8sR0FBSyxJQUFNQSxFQUFPLEdBQUssSUFBTUEsRUFBTyxLQUNyRSxXQUFZOUYsRUFBTyxTQUFTLFNBQzVCLFFBQVNvRSxFQUFRLFFBQVEsRUFBSSxFQUFJLElBQU1BLEVBQVEsUUFBUSxDQUFHLENBQzVELENBQ0YsRUNwQ0EsT0FBT2hHLE9BQVksb0JBR1osSUFBTWtULEdBQW9CbFQsR0FBTztBQUFBO0FBQUEsYUFFMUJFLEdBQVVBLEVBQU0sTUFBTSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFJaENBLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsbUJBQ2pCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGdCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxFQUdwQ2lULEdBQTBCblQsR0FBTyxNQUVqQ29ULEdBQXdCcFQsR0FBTyxNQUUvQnFULEdBQTRCclQsR0FBT2tULEVBQWlCO0FBQUE7RUNHN0QsY0FBQTFTLEdBVUksUUFBQUcsT0FWSixvQkFQRyxJQUFNZ0UsR0FBYyxDQUFDLENBQUUsS0FBQWpFLEVBQU0sTUFBQTRTLENBQU0sSUFBd0IsQ0FDaEUsSUFBTTFNLEVBQWFwRSxFQUFnQixFQUM3QkcsRUFBUXNRLEdBQWVyTSxDQUFVLEVBRWpDMk0sRUFBU0QsR0FHYjlTLEdBQUNJLEdBQUEsQ0FDQyxZQUNBLGFBQ0EsaUJBQWlCLEdBQ25CLEVBR0YsT0FBSWdHLEVBRUFwRyxHQUFDNlMsR0FBQSxDQUEwQixNQUFPMVEsRUFDaEMsU0FBQWhDLEdBQUM4RixFQUFBLENBQ0UsVUFBQThNLEVBQ0E3UyxHQUNILEVBQ0YsRUFLRkMsR0FBQ3VTLEdBQUEsQ0FBa0IsTUFBT3ZRLEVBQ3hCLFVBQUFuQyxHQUFDMlMsR0FBQSxDQUF5QixTQUFBSSxFQUFPLEVBQ2pDL1MsR0FBQzRTLEdBQUEsQ0FBdUIsU0FBQTFTLEVBQUssR0FDL0IsQ0FFSixFQ3pDUyxjQUFBRixPQUFBLG9CQURGLElBQU1tRSxHQUFjLENBQUMsQ0FBRSxLQUFBakUsRUFBTSxNQUFBNFMsQ0FBTSxJQUNqQzlTLEdBQUNtRSxHQUFBLENBQWdCLEtBQU1qRSxFQUFNLE1BQU80UyxFQUFPLEVDSnBELE9BQVMsY0FBQXZULE9BQWtCLFFDQTNCLE9BQVMsaUJBQUF1QixHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUM3RCxPQUFTLHlCQUFBakUsT0FBNkIsaUJDRC9CLElBQUtzUCxRQUNWQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxNQUFRLFFBQ1JBLEVBQUEsU0FBVyxXQUhEQSxRQUFBLElER1osT0FBT3JQLE9BQVcsaUJBR1gsSUFBTWdTLEdBQWdCLENBQzNCOVIsRUFDQUMsSUFDZ0IsQ0FDaEIsSUFBTUMsRUFBU04sR0FBYyxFQUN2Qm1HLEVBQVFGLEdBQWMsRUFDdEJ5SSxFQUFTeEssR0FBZSxFQUV4QnlLLEVBQWtCMU8sR0FBc0IsQ0FDNUMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVLc08sRUFBbUJ0TyxFQUFPLE9BQU8sU0FFakMrRixFQUFXLENBQ2YsUUFBUyxDQUNQLE1BQU8vRixFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFFBQzVCLE9BQVEsYUFBZUEsRUFBTyxTQUFTLFFBQ3pDLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlQSxFQUFPLFNBQVMsUUFDekMsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVBLEVBQU8sV0FBVyxRQUMzQyxFQUNBLEtBQU02RixFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRdUksRUFBTyxFQUNqQixFQUVNRyxFQUFRLENBQ1osUUFBUyxDQUNQLE1BQU92TyxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFFBQzVCLE9BQVEsYUFBZXNPLENBQ3pCLEVBQ0EsTUFBTyxDQUNMLE1BQU90TyxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFFBQzVCLE9BQVEsYUFBZXNPLENBQ3pCLEVBQ0EsTUFBTyxDQUNMLE1BQU90TyxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFFBQzVCLE9BQVEsYUFBZUEsRUFBTyxXQUFXLFFBQzNDLEVBQ0EsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEVBQ2pCLEVBRU1yQixFQUFXLENBQ2YsUUFBUyxDQUNQLE1BQU8vTSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFNBQzVCLE9BQVEsYUFBZUEsRUFBTyxTQUFTLFFBQ3pDLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlc08sQ0FDekIsRUFDQSxNQUFPLENBQ0wsTUFBT3RPLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlQSxFQUFPLFdBQVcsUUFDM0MsRUFDQSxLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUXVJLEVBQU8sRUFDakIsRUFFTXBJLEVBQVcsQ0FDZixRQUFTLENBQ1AsTUFBT2hHLEVBQU8sU0FBUyxTQUN2QixXQUFZcU8sRUFDWixPQUFRLGFBQWVBLENBQ3pCLEVBQ0EsTUFBTyxDQUNMLE1BQU9yTyxFQUFPLFNBQVMsU0FDdkIsV0FBWXFPLEVBQ1osT0FBUSxhQUFlQSxDQUN6QixFQUNBLE1BQU8sQ0FDTCxNQUFPck8sRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVBLEVBQU8sV0FBVyxRQUMzQyxFQUNBLEtBQU02RixFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRdUksRUFBTyxFQUNqQixFQUVBLE9BQUlyTyxFQUNLaUcsRUFHRnBHLEdBQU1FLEVBQVMsQ0FDcEIsWUFBd0JpRyxDQUFRLEVBQ2hDLFNBQXFCd0ksQ0FBSyxFQUMxQixZQUF3QnhCLENBQVEsQ0FDbEMsQ0FBQyxDQUNILEVFL0dBLE9BQU8zTyxJQUFVLE9BQUEyTSxPQUFXLG9CQUdyQixJQUFNOEcsR0FBdUJ6VCxHQUFPO0FBQUEsbUJBQ3ZCRSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLHNCQUN6QkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQSxFQUtsRHdULEdBQTJCMVQsR0FBTztBQUFBO0FBQUE7QUFBQSxFQUtsQzJULEdBQWlDM1QsR0FBTzBULEVBQXdCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oRUUsR0FBZ0M1VCxHQUFPMFQsRUFBd0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTy9ERyxHQUFjN1QsR0FBTztBQUFBO0FBQUE7QUFBQSxtQkFPZEUsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxZQUNuQ0EsR0FBVUEsRUFBTSxNQUFNLFFBQVEsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFLNUNBLEdBQ0RBLEVBQU0sZUFDTnlNO0FBQUE7QUFBQSxLQUVDO0FBQUEsSUFDQXpNLEdBQ0RBLEVBQU0sY0FDTnlNO0FBQUE7QUFBQSxLQUVDO0FBQUEsWUFDUXpNLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsV0FDM0JBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQUFBLG9CQUUxQkEsR0FBVUEsRUFBTSxNQUFNLE1BQU0sVUFBVTtBQUFBLGVBQzNDQSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUEsd0JBSXpCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUEsY0FDbERBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLE1BQU07QUFBQSxhQUNyQ0EsR0FBVUEsRUFBTSxNQUFNLFFBQVEsS0FBSztBQUFBO0FBQUE7QUFBQSxjQUdsQ0EsR0FBVUEsRUFBTSxNQUFNLE1BQU0sTUFBTTtBQUFBO0FBQUEsRUFJcEM0VCxHQUFzQjlULEdBQU95VCxFQUFvQjtBQUFBO0FBQUEsc0JBSXZDdlQsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTWxENlQsR0FBaUIvVCxHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUEsWUFReEJFLEdBQVVBLEVBQU0sTUFBTSxRQUFRLE1BQU07QUFBQSxtQkFDN0JBLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUE7QUFBQSxVQUVyQ0EsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQSxXQUN6QkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFLMUNBLEdBQ0RBLEVBQU0sZUFDTnlNO0FBQUE7QUFBQSxLQUVDO0FBQUEsSUFDQXpNLEdBQ0RBLEVBQU0sY0FDTnlNO0FBQUE7QUFBQSxLQUVDO0FBQUE7QUFBQSxvQkFFZ0J6TSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxVQUFVO0FBQUEsZUFDM0NBLEdBQVVBLEVBQU0sTUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFJekJBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLFVBQVU7QUFBQSxjQUNsREEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsTUFBTTtBQUFBLGFBQ3JDQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxLQUFLO0FBQUE7QUFBQTtBQUFBLGNBR2xDQSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxNQUFNO0FBQUE7QUFBQSxFQUlwQzhULEdBQXlCaFUsR0FBT3lULEVBQW9CO0FBQUEsc0JBRzFDdlQsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0VDNUgvRCxPQUFPZ00sSUFBUyxjQUFBbk0sT0FBa0IsUUNBbEMsT0FBT3lCLE9BQVcsaUJBSVgsSUFBTXlTLEdBQXNCLENBQ2pDdlMsRUFDQUMsSUFFSUEsYUFJR0gsR0FBTUUsRUFBUyxDQUNwQixrQkFBd0MsRUFDeEMsZUFBcUMsRUFDckMsc0JBQTRDLENBQzlDLENBQUMsRUNmSCxPQUFTLGlCQUFBVixPQUFxQixRQUV2QixJQUFNa1QsY0FHQUMsR0FDWG5ULEdBQWNrVCxFQUFlLEVGTTNCLG1CQUFBOU8sR0FBQSxPQUFBNUUsT0FBQSxvQkFORyxJQUFNNFQsR0FBWSxDQUFDLENBQUUsS0FBQTNILENBQUssSUFBc0IsQ0FDckQsSUFBTS9KLEVBQVUzQyxHQUFXb1UsRUFBUSxFQUM3QkUsRUFBVzdSLEVBQWdCLEVBQzNCbUcsRUFBMkJzTCxHQUFvQnZSLEVBQVMyUixDQUFRLEVBRXRFLE9BQ0U3VCxHQUFBNEUsR0FBQSxDQUNHLFNBQUE4RyxHQUFNLGFBQWFPLEVBQU0sQ0FDeEIsUUFBUzlELEVBQ1QsWUFDRixDQUFDLEVBQ0gsQ0FFSixFSmtCTSxjQUFBbkksR0FrQ0EsUUFBQUcsT0FsQ0Esb0JBckJDLElBQU0yVCxHQUFRLENBQUMsQ0FDcEIsYUFBQUMsRUFDQSxTQUFBaEUsRUFDQSxPQUFBaUUsRUFDQSxNQUFBcFMsRUFDQSxZQUFBcVMsRUFDQSxVQUFBQyxFQUNBLEtBQUFDLEVBQU8sRUFDUCxVQUFBbE0sRUFDQSxLQUFBRCxFQUNBLGNBQUF1RyxFQUNBLGVBQUFELENBQ0YsSUFBMkIsQ0FDekIsSUFBTTZCLEVBQW1CNVEsR0FBV29VLEVBQVEsRUFDdENFLEVBQVc3UixFQUFnQixFQUMzQkcsRUFBcUI2USxHQUFjN0MsRUFBa0IwRCxDQUFRLEVBQzdETyxFQUFRakUsSUFBcUIsUUFDN0JrRSxFQUFXbEUsSUFBcUIsV0FFaEN2QixFQUFhTixFQUNqQnRPLEdBQUNtVCxHQUFBLENBQ0MsU0FBQW5ULEdBQUM0VCxHQUFBLENBQVUsS0FBTXRGLEVBQWdCLEVBQ25DLEVBQ0UsS0FDRU8sR0FBWU4sRUFDaEJ2TyxHQUFDb1QsR0FBQSxDQUNDLFNBQUFwVCxHQUFDNFQsR0FBQSxDQUFVLEtBQU1yRixFQUFlLEVBQ2xDLEVBQ0UsS0FFSixPQUFJMkYsRUFDRUwsRUFFQTdULEdBQUN3VCxHQUFBLENBQXVCLE1BQU9yUixFQUM3QixTQUFBbkMsR0FBQ3VULEdBQUEsQ0FDQyxNQUFPcFIsRUFDUCxjQUFlLEdBQ2YsYUFBYyxHQUNkLE1BQU9QLEVBQ1AsWUFBYXFTLEVBQ2IsYUFBY0YsRUFDZCxlQUFjSyxFQUNkLGFBQVluTSxFQUNaLEtBQU1rTSxFQUNOLGlCQUFnQixHQUNoQixnQkFBZSxHQUNmLFNBQVUsR0FDVixLQUFNbk0sRUFDTixHQUFJQSxFQUNMLEVBQ0gsRUFLRjdILEdBQUM4UyxHQUFBLENBQXFCLE1BQU85USxFQUMxQixVQUFBeU0sRUFDRDVPLEdBQUN1VCxHQUFBLENBQ0MsTUFBT3BSLEVBQ1AsY0FBZSxDQUFDLENBQUN5TSxFQUNqQixhQUFjLENBQUMsQ0FBQ0MsR0FDaEIsU0FBVWtCLEVBQ1YsT0FBUWlFLEVBQ1IsTUFBT3BTLEVBQ1AsWUFBYXFTLEVBQ2IsYUFBY0YsRUFDZCxlQUFjSyxFQUNkLGFBQVluTSxFQUNaLEtBQU1rTSxFQUNOLGlCQUFnQixHQUNoQixnQkFBZUUsRUFDZixTQUFVQSxFQUNWLEtBQU1yTSxFQUNOLEdBQUlBLEVBQ0wsRUFDQTZHLElBQ0gsRUFJQWdGLEVBRUE3VCxHQUFDc1QsR0FBQSxDQUFvQixNQUFPblIsRUFDMUIsU0FBQW5DLEdBQUNxVCxHQUFBLENBQ0MsTUFBT2xSLEVBQ1AsY0FBZSxHQUNmLGFBQWMsR0FDZCxNQUFPUCxFQUNQLFlBQWFxUyxFQUNiLGFBQWNGLEVBQ2QsZUFBY0ssRUFDZCxhQUFZbk0sRUFDWixTQUFVLEdBQ1YsZ0JBQWUsR0FDZixLQUFNRCxFQUNOLEdBQUlBLEVBQ0wsRUFDSCxFQUtGN0gsR0FBQzhTLEdBQUEsQ0FBcUIsTUFBTzlRLEVBQzFCLFVBQUF5TSxFQUNENU8sR0FBQ3FULEdBQUEsQ0FDQyxNQUFPbFIsRUFDUCxjQUFlLENBQUMsQ0FBQ3lNLEVBQ2pCLGFBQWMsQ0FBQyxDQUFDQyxHQUNoQixTQUFVa0IsRUFDVixPQUFRaUUsRUFDUixNQUFPcFMsRUFDUCxZQUFhcVMsRUFDYixhQUFjRixFQUNkLGVBQWNLLEVBQ2QsYUFBWW5NLEVBQ1osU0FBVW9NLEVBQ1YsZ0JBQWVBLEVBQ2YsS0FBTXJNLEVBQ04sR0FBSUEsRUFDTCxFQUNBNkcsSUFDSCxDQUVKLEVPckhNLGNBQUE3TyxPQUFBLG9CQWxCQyxJQUFNOFQsR0FBUSxDQUFDLENBQ3BCLGFBQUFDLEVBQ0EsU0FBQWhFLEVBQ0EsT0FBQWlFLEVBQ0EsTUFBQXBTLEVBQ0EsWUFBQXFTLEVBQ0EsVUFBQUMsRUFDQSxLQUFBQyxFQUFPLEVBQ1AsVUFBQWxNLEVBQ0EsS0FBQUQsRUFDQSxRQUFBOUcsRUFDQSxlQUFBb04sRUFDQSxjQUFBQyxDQUNGLElBQWMsQ0FDWixJQUFNOEIsRUFBZW5QLEdBQW9Cd1MsR0FFekMsT0FDRTFULEdBQUMyVCxHQUFTLFNBQVQsQ0FBa0IsTUFBT3RELEVBQ3hCLFNBQUFyUSxHQUFDOFQsR0FBQSxDQUNDLFNBQVUvRCxFQUNWLE9BQVFpRSxFQUNSLE1BQU9wUyxFQUNQLFlBQWFxUyxFQUNiLGFBQWNGLEVBQ2QsS0FBTS9MLEVBQ04sS0FBTW1NLEVBQ04sVUFBV0QsRUFDWCxVQUFXak0sRUFDWCxlQUFnQnFHLEVBQ2hCLGNBQWVDLEVBQ2pCLEVBQ0YsQ0FFSixFQ3RDQSxPQUFnQixjQUFBaFAsT0FBa0IsUUNBbEMsT0FBT0MsT0FBWSxvQkFHWixJQUFNOFUsR0FBa0I5VSxHQUFPO0FBQUE7QUFBQSxFQUd6QitVLEdBQWtCL1UsR0FBTztBQUFBO0FBQUEsRUFHekJnVixHQUF1QmhWLEdBQU87QUFBQSxZQUM5QkUsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBLEVBRzVCK1UsR0FBc0JqVixHQUFPO0FBQUEsWUFDN0JFLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUE7QUFBQSxFQUk1QmdWLEdBQWFsVixHQUFPO0FBQUEsVUFDdEJFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsZ0JBQ3BCQSxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBLFdBQ3JDQSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBLHFCQUNqQkEsR0FBVUEsRUFBTSxNQUFNLGNBQWM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGFBSzVDQSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxLQUFLO0FBQUEsdUJBQ3ZCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxjQUFjO0FBQUE7QUFBQSxFQUlyRGlWLEdBQXFCblYsR0FBT2tWLEVBQVU7QUFBQTtBQUFBO0VDM0IxQyxjQUFBMVUsT0FBQSxvQkFERixJQUFNNFUsR0FBWSxDQUFDLENBQUUsU0FBQXJVLENBQVMsSUFDNUJQLEdBQUN1VSxHQUFBLENBQWlCLFNBQUFoVSxFQUFTLEVDTHBDLE9BQU9tTCxJQUFTLGNBQUFuTSxPQUFrQixRQ0NsQyxPQUFPeUIsT0FBVyxpQkNEWCxJQUFLNlQsUUFDVkEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsR0FBSyxLQUZLQSxRQUFBLElBS0FDLFFBQ1ZBLEVBQUEsT0FBUyxTQUNUQSxFQUFBLE1BQVEsUUFGRUEsUUFBQSxJRERMLElBQU1DLEdBQXFCLENBQ2hDN1QsRUFDQUMsSUFFSUEsYUFJR0gsR0FBTUUsRUFBUyxDQUNwQixzQkFBMkMsRUFDM0MsWUFBaUMsQ0FDbkMsQ0FBQyxFRFZILE9BQU9GLE9BQVcsaUJBS2xCLE9BQVMsbUJBQUFpRSxPQUF1QixpQkdUaEMsT0FBZ0IsaUJBQUF6RSxPQUFxQixRQUU5QixJQUFNd1UsY0FHQUMsR0FDWHpVLEdBQWN3VSxFQUFjLEVIb0J4QixjQUFBaFYsT0FBQSxvQkFiQyxJQUFNa1YsR0FBVyxDQUFDLENBQUUsS0FBQWpKLEVBQU0sU0FBQWtKLENBQVMsSUFBcUIsQ0FDN0QsSUFBTWpULEVBQVUzQyxHQUFXMFYsRUFBTyxFQUM1QjdPLEVBQWFwRSxFQUFnQixFQUM3Qm1HLEVBQTJCNE0sR0FBbUI3UyxFQUFTa0UsQ0FBVSxFQUVqRVosRUFBVVAsR0FBZ0IsRUFFMUJtUSxFQUFTLEtBQU81UCxFQUFRLFFBQVEsQ0FBRyxFQUFJLE9BQ3ZDNlAsRUFBUSxTQUFXN1AsRUFBUSxRQUFRLENBQUcsRUFFNUMsT0FBT3hFLEdBQU1tVSxFQUFVLENBQ3JCLFVBRUVuVixHQUFDd1UsR0FBQSxDQUFxQixNQUFPLENBQUUsT0FBUVksQ0FBTyxFQUMzQyxTQUFBMUosR0FBTSxhQUFhTyxFQUFNLENBQ3hCLFFBQVM5RCxFQUNULFlBQ0YsQ0FBQyxFQUNILENBQ0YsRUFDQSxTQUVFbkksR0FBQ3lVLEdBQUEsQ0FBb0IsTUFBTyxDQUFFLE9BQVFZLENBQU0sRUFDekMsU0FBQTNKLEdBQU0sYUFBYU8sRUFBTSxDQUN4QixRQUFTOUQsRUFDVCxZQUNGLENBQUMsRUFDSCxDQUNGLENBQ0YsQ0FBQyxDQUNILEVJM0NBLE9BQVMsaUJBQUFySCxHQUFlLGlCQUFBaUcsT0FBcUIsaUJBQzdDLE9BQU8vRixPQUFXLGlCQUNsQixPQUFTLHlCQUFBRCxPQUE2QixpQkFHL0IsSUFBTXVVLEdBQWUsQ0FDMUJwVSxFQUNBQyxJQUNlLENBQ2YsSUFBTUMsRUFBU04sR0FBYyxFQUN2QjBRLEVBQU96SyxHQUFjLEVBRXJCdEYsRUFBYVYsR0FBc0IsQ0FDdkMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVELE9BQUlELEVBQ0ssQ0FDTCxLQUFNcVEsRUFBSyxRQUFRLEdBQUcsT0FDdEIsTUFBTy9QLEVBQ1AsV0FBWUEsRUFDWixlQUFnQixZQUNoQixNQUFPLENBQ0wsTUFBT0EsRUFDUCxlQUFnQixXQUNsQixDQUNGLEVBR0tULEdBQU1FLEVBQVMsQ0FDcEIsWUFFRSxDQUNFLEtBQU1zUSxFQUFLLFFBQVEsR0FBRyxPQUN0QixNQUFPcFEsRUFBTyxRQUFRLFNBQ3RCLFdBQVksY0FDWixlQUFnQixZQUNoQixNQUFPLENBQ0wsTUFBT0EsRUFBTyxRQUFRLFNBQ3RCLGVBQWdCLFdBQ2xCLENBQ0YsQ0FDRixFQUNBLE1BRUUsQ0FDRSxLQUFNb1EsRUFBSyxRQUFRLEdBQUcsT0FDdEIsTUFBT3BRLEVBQU8sU0FBUyxTQUN2QixXQUFZLGNBQ1osZUFBZ0IsT0FDaEIsTUFBTyxDQUNMLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixlQUFnQixXQUNsQixDQUNGLENBQ0YsQ0FDRixDQUFDLENBQ0gsRVBoQzJCLGNBQUFwQixHQWlCbkIsUUFBQUcsT0FqQm1CLG9CQWJwQixJQUFNb1YsR0FBTyxDQUFDLENBQ25CLEdBQUFuSCxFQUNBLE1BQUF6TCxFQUNBLFVBQUFzRixFQUNBLFNBQUExSCxFQUNBLGVBQUErTixFQUNBLGNBQUFDLENBQ0YsSUFBaUIsQ0FDZixJQUFNNEIsRUFBbUI1USxHQUFXMFYsRUFBTyxFQUNyQzdPLEVBQWFwRSxFQUFnQixFQUU3QkcsRUFBUW1ULEdBQWFuRixFQUFrQi9KLENBQVUsRUFFakRxSSxFQUFRbE8sRUFBV1AsR0FBQzRVLEdBQUEsQ0FBVyxTQUFBclUsRUFBUyxFQUFlLEtBRTdELEdBQUk2RixFQUFZLENBQ2QsSUFBTW9QLEVBQXFCbEgsRUFDekJ0TyxHQUFDaUcsRUFBQSxDQUNDLFNBQUFqRyxHQUFDa1YsR0FBQSxDQUFTLEtBQU01RyxFQUFnQixrQkFBMkIsRUFDN0QsRUFDRSxLQUVFbUgsRUFBb0JsSCxFQUN4QnZPLEdBQUNpRyxFQUFBLENBQ0MsU0FBQWpHLEdBQUNrVixHQUFBLENBQVMsS0FBTTNHLEVBQWUsaUJBQTBCLEVBQzNELEVBQ0UsS0FFSixPQUNFdk8sR0FBQzJVLEdBQUEsQ0FBbUIsTUFBT3hTLEVBQ3pCLFNBQUFoQyxHQUFDbVUsR0FBQSxDQUNFLFVBQUFrQixFQUNBL0csRUFDQWdILEdBQ0gsRUFDRixDQUVKLENBRUEsSUFBTTdHLEVBQWFOLEVBQ2pCdE8sR0FBQ2tWLEdBQUEsQ0FBUyxLQUFNNUcsRUFBZ0Isa0JBQTJCLEVBQ3pELEtBQ0VPLEVBQVlOLEVBQ2hCdk8sR0FBQ2tWLEdBQUEsQ0FBUyxLQUFNM0csRUFBZSxpQkFBMEIsRUFDdkQsS0FFSixPQUNFdk8sR0FBQzBVLEdBQUEsQ0FBVyxNQUFPdlMsRUFDakIsU0FBQWhDLEdBQUNtVSxHQUFBLENBQ0UsVUFBQTFGLEVBQ0FILEVBQ0FJLEdBQ0gsRUFDRixDQUVKLEVRbkRNLGNBQUE3TyxPQUFBLG9CQWRDLElBQU11VixHQUFPLENBQUMsQ0FDbkIsR0FBQW5ILEVBQ0EsTUFBQXpMLEVBQ0EsVUFBQXNGLEVBQ0EsU0FBQTFILEVBQ0EsUUFBQVcsRUFDQSxlQUFBb04sRUFDQSxjQUFBQyxDQUNGLElBQWEsQ0FDWCxJQUFNc0csRUFBYzNULEdBQW9COFQsR0FHeEMsT0FDRWhWLEdBQUNpVixHQUFRLFNBQVIsQ0FBaUIsTUFBT0osRUFDdkIsU0FBQTdVLEdBQUN1VixHQUFBLENBQ0MsR0FBSW5ILEVBQ0osTUFBT3pMLEVBQ1AsVUFBV3NGLEVBQ1gsZUFBZ0JxRyxFQUNoQixjQUFlQyxFQUVkLFNBQUFoTyxFQUNILEVBQ0YsQ0FFSixFQzlCQSxPQUFTLGlCQUFBTyxHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUM3RCxPQUFTLHlCQUFBakUsT0FBNkIsaUJBRy9CLElBQU0yVSxHQUFnQnZVLEdBQW9DLENBQy9ELElBQU1DLEVBQVNOLEdBQWMsRUFDdkJtRyxFQUFRRixHQUFjLEVBQ3RCeUksRUFBU3hLLEdBQWUsRUFFeEJ5SyxFQUFrQjFPLEdBQXNCLENBQzVDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFSytGLEVBQVcsQ0FDZixLQUFNRixFQUFNLFFBQVEsR0FBRyxPQUN2QixXQUFZN0YsRUFBTyxRQUFRLFNBQzNCLE1BQU9BLEVBQU8sU0FBUyxRQUN2QixPQUFRb08sRUFBTyxFQUNqQixFQUVNcEksRUFBVyxDQUNmLEtBQU1ILEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLFdBQVl3SSxFQUNaLE1BQU9BLEVBQ1AsT0FBUUQsRUFBTyxFQUNqQixFQUVBLE9BQUlyTyxFQUNLaUcsRUFHRkQsQ0FDVCxFQ2pDQSxPQUFPM0gsT0FBWSxvQkFFWixJQUFNbVcsR0FBc0JuVyxHQUFPO0FBQUEsVUFDL0JFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHdCQVlaQSxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVc1Q2tXLEdBQW9CcFcsR0FBTztBQUFBLFVBQzdCRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsYUFjdkJBLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUEsd0JBQ2hCQSxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWM1Q21XLEdBQThCclcsR0FBTztBQUFBLFVBQ3ZDRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFZWkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFhaENBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEscUJBQ25DQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGFBQ3BDQSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPNUJvVyxHQUE0QnRXLEdBQU87QUFBQSxVQUNyQ0UsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGFBY3ZCQSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBLHdCQUNoQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFhaENBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEscUJBQ25DQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGFBQ3BDQSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPNUJxVyxHQUEwQnZXLEdBQU87QUFBQSxVQUNuQ0UsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQSxFQUd4QnNXLEdBQWlCeFcsR0FBTztBQUFBLFVBQzFCRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtFQ3JIN0IsY0FBQU0sT0FBQSxvQkFQRCxJQUFNaVcsR0FBTyxDQUFDLENBQUUsS0FBQW5SLEVBQU0sU0FBQXZFLENBQVMsSUFBMEIsQ0FDOUQsSUFBTVksRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQW9CdVQsR0FBYXZVLENBQVUsRUFFakQsT0FBSTJELElBQVMsV0FDUDNELEVBRUFuQixHQUFDOFYsR0FBQSxDQUEwQixNQUFPM1QsRUFDL0IsU0FBQTVCLEVBQ0gsRUFJR1AsR0FBQzRWLEdBQUEsQ0FBa0IsTUFBT3pULEVBQVEsU0FBQTVCLEVBQVMsRUFHaERZLEVBRUFuQixHQUFDNlYsR0FBQSxDQUE0QixNQUFPMVQsRUFDakMsU0FBQTVCLEVBQ0gsRUFJR1AsR0FBQzJWLEdBQUEsQ0FBb0IsTUFBT3hULEVBQVEsU0FBQTVCLEVBQVMsQ0FDdEQsRUNyQk0sY0FBQVAsT0FBQSxvQkFOQyxJQUFNa1csR0FBTyxDQUFDLENBQUUsU0FBQTNWLENBQVMsSUFBOEIsQ0FDNUQsSUFBTVksRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQW9CdVQsR0FBYXZVLENBQVUsRUFFakQsT0FDRW5CLEdBQUMrVixHQUFBLENBQXdCLE1BQU81VCxFQUM5QixTQUFBbkMsR0FBQ2dXLEdBQUEsQ0FBZSxNQUFPN1QsRUFBUSxTQUFBNUIsRUFBUyxFQUMxQyxDQUVKLEVDbEJPLElBQUs0VixRQUNWQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxTQUFXLFdBRkRBLFFBQUEsSUNNSCxjQUFBblcsT0FBQSxvQkFERixJQUFNaVcsR0FBTyxDQUFDLENBQUUsS0FBQW5SLEVBQU0sU0FBQXZFLENBQVMsSUFDN0JQLEdBQUNpVyxHQUFBLENBQWMsS0FBTW5SLEVBQU8sU0FBQXZFLEVBQVMsRUFHOUMwVixHQUFLLEtBQU9DLEdDVFosT0FBTzFXLE9BQVksb0JBSW5CLElBQU00VyxHQUFjNVcsR0FBTyxJQUFJLE1BQU9FLElBQVcsQ0FDL0MsUUFBUyxNQUNULE1BQU8sNkJBQ1AsV0FBWSwrQkFDWixLQUFNLEtBQ1IsRUFBRSxJQUVJMlcsR0FBZ0I3VyxHQUFPLElBQUksTUFBT0UsSUFBVyxDQUNqRCxLQUFNLEtBQ1IsRUFBRSxJQUVXNFcsR0FBZTlXLEdBQU8sS0FBSyxNQUFNLENBQzVDLEtBQU0sY0FDUixDQUFDLElBRVkrVyxHQUFhL1csR0FBTzRXLEVBQVc7QUFBQTtBQUFBLFdBS2hDMVcsR0FBVUEsRUFBTSxLQUFLO0FBQUEsWUFDcEJBLEdBQVVBLEVBQU0sTUFBTTtBQUFBLEVBR3RCOFcsR0FBa0JoWCxHQUFPNlcsRUFBYTtBQUFBO0FBQUEsV0FNdkMzVyxHQUFVQSxFQUFNLEtBQUs7QUFBQSxZQUNwQkEsR0FBVUEsRUFBTSxNQUFNO0FBQUEsbUJBQ2ZBLEdBQVVBLEVBQU0sTUFBTTtBQUFBLEVBRzdCK1csR0FBcUJqWCxHQUFPK1csRUFBVTtBQUFBO0FBQUEsRUFJdENHLEdBQTBCbFgsR0FBTztBQUFBO0FBQUEsV0FPbENFLEdBQVVBLEVBQU0sS0FBSztBQUFBLFlBQ3BCQSxHQUFVQSxFQUFNLE1BQU07QUFBQSxnQkFDbEJBLEdBQVVBLEVBQU0sVUFBVTtBQUFBLG1CQUN2QkEsR0FBVUEsRUFBTSxNQUFNO0FBQUEsRUFHN0JpWCxFQUFpQm5YLEdBQU84VyxFQUFZLElBRXBDTSxHQUFvQnBYLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVMzQnFYLEdBQXlCclgsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQzNEN0MsT0FBUyxpQkFBQXNCLE9BQXFCLGlCQUM5QixPQUFTLHlCQUFBQyxPQUE2QixpQkFpQjlCLE9BQ0UsT0FBQWYsRUFERixRQUFBRyxPQUFBLG9CQWJELElBQU0yVyxHQUFZLENBQUMsQ0FBRSxpQkFBQXpXLENBQWlCLElBQWtCLENBQzdELElBQU0rRixFQUFhcEUsRUFBZ0IsRUFDN0JaLEVBQVNOLEdBQWMsRUFFdkJXLEVBQWFWLEdBQXNCLENBQ3ZDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFRCxHQUFJZ0YsRUFDRixPQUNFakcsR0FBQ3lXLEdBQUEsQ0FDQyxVQUFBelcsR0FBQ3NXLEdBQUEsQ0FBbUIsTUFBTSxPQUFPLE9BQU8sT0FBTyxRQUFRLFlBQ3JELFVBQUF6VyxFQUFDMlcsRUFBQSxDQUNDLFFBQVEsTUFDUixFQUFFLDRQQUNGLEtBQU1sVixFQUNSLEVBQ0F6QixFQUFDMlcsRUFBQSxDQUNDLFFBQVEsTUFDUixFQUFFLGlRQUNGLEtBQU1sVixFQUNSLEVBQ0F6QixFQUFDMlcsRUFBQSxDQUNDLEVBQUUsa2NBQ0YsS0FBTWxWLEVBQ1IsRUFDQXpCLEVBQUMyVyxFQUFBLENBQ0MsRUFBRSxrY0FDRixLQUFNbFYsRUFDUixFQUNBekIsRUFBQzJXLEVBQUEsQ0FDQyxFQUFFLHdwQkFDRixLQUFNbFYsRUFDUixFQUNBekIsRUFBQzJXLEVBQUEsQ0FDQyxFQUFFLGtOQUNGLEtBQU1sVixFQUNSLEdBQ0YsRUFDQXpCLEVBQUNDLEdBQUEsQ0FBaUIsS0FBTUksRUFBa0IsR0FDNUMsRUFJSixJQUFNa0IsRUFBYUgsRUFBTyxXQUFXLFNBQy9CMlYsRUFBTzNWLEVBQU8sU0FBUyxTQUN2QkksRUFBU0osRUFBTyxPQUFPLFNBRTdCLE9BQ0VqQixHQUFDeVcsR0FBQSxDQUNDLFVBQUF6VyxHQUFDb1csR0FBQSxDQUFXLE1BQU0sT0FBTyxPQUFPLE9BQU8sUUFBUSxZQUM3QyxVQUFBdlcsRUFBQzJXLEVBQUEsQ0FDQyxRQUFRLE1BQ1IsRUFBRSw0UEFDRixLQUFNcFYsRUFDUixFQUNBdkIsRUFBQzJXLEVBQUEsQ0FDQyxRQUFRLE1BQ1IsRUFBRSxpUUFDRixLQUFNcFYsRUFDUixFQUNBdkIsRUFBQzJXLEVBQUEsQ0FDQyxFQUFFLGtjQUNGLEtBQU1JLEVBQ1IsRUFDQS9XLEVBQUMyVyxFQUFBLENBQ0MsRUFBRSxrY0FDRixLQUFNSSxFQUNSLEVBQ0EvVyxFQUFDMlcsRUFBQSxDQUNDLEVBQUUsd3BCQUNGLEtBQU1JLEVBQ1IsRUFDQS9XLEVBQUMyVyxFQUFBLENBQ0MsRUFBRSxrTkFDRixLQUFNblYsRUFDUixHQUNGLEVBQ0F4QixFQUFDQyxHQUFBLENBQWlCLEtBQU1JLEVBQWtCLEdBQzVDLENBRUosRUN6RkEsT0FBUyxpQkFBQVMsR0FBZSxrQkFBQWtFLE9BQXNCLGlCQUM5QyxPQUFTLHlCQUFBakUsT0FBNkIsaUJBbUI5QixjQUFBZixPQUFBLG9CQWhCRCxJQUFNZ1gsR0FBYyxDQUFDLENBQUUsT0FBQUMsRUFBUSxVQUFBaFAsRUFBVyxJQUFBaVAsQ0FBSSxJQUFvQixDQUN2RSxJQUFNaFEsRUFBU2xDLEdBQWUsRUFJOUIsR0FGbUJoRCxFQUFnQixFQUVuQixDQUNkLElBQU1aLEVBQVNOLEdBQWMsRUFFdkJXLEVBQWFWLEdBQXNCLENBQ3ZDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFRCxPQUNFcEIsR0FBQzZXLEdBQUEsQ0FBdUIsYUFBWTVPLEVBQ2xDLFNBQUFqSSxHQUFDMFcsR0FBQSxDQUNDLE9BQVF4UCxFQUFPLEdBQ2YsV0FBWXpGLEVBQ1osTUFBTSxPQUNOLE9BQU8sT0FDUCxhQUFZeVYsRUFDZCxFQUNGLENBRUosQ0FFQSxPQUNFbFgsR0FBQzZXLEdBQUEsQ0FBdUIsYUFBWTVPLEVBQ2xDLFNBQUFqSSxHQUFDd1csR0FBQSxDQUNDLE9BQVF0UCxFQUFPLEdBQ2YsTUFBTSxPQUNOLE9BQU8sT0FDUCxPQUFRK1AsRUFBTyxPQUNmLElBQUtBLEVBQU8sSUFDWixJQUFLQyxFQUNMLEdBQUcsTUFDTCxFQUNGLENBRUosRUM1Q1csY0FBQWxYLE9BQUEsb0JBRkosSUFBTW1YLEdBQVcsQ0FBQyxDQUFFLE9BQUFGLEVBQVEsVUFBQWhQLEVBQVcsSUFBQWlQLENBQUksSUFDNUNELEVBQ0tqWCxHQUFDZ1gsR0FBQSxDQUFZLE9BQVFDLEVBQVEsVUFBV2hQLEVBQVcsSUFBS2lQLEVBQUssRUFHL0RsWCxHQUFDOFcsR0FBQSxDQUFVLGlCQUFrQjdPLEVBQVcsRUNQMUMsSUFBTW1QLEdBQU8sQ0FBQyxDQUFFLE9BQUFILEVBQVEsSUFBQUMsRUFBSyxVQUFBalAsQ0FBVSxJQUMvQmtQLEdBQVMsQ0FDcEIsSUFBS0QsRUFDTCxVQUFXalAsRUFDWCxPQUFRZ1AsQ0FDVixDQUFDLEVDUkgsT0FBT3pYLE9BQVksb0JBR1osSUFBTTZYLEdBQXFCN1gsR0FBTyxJQUFJLFdBQVcsQ0FDdEQsa0JBQW9CcUcsR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQTtBQUFBLFdBRVduRyxHQUNSQSxFQUFNLE1BQU0sSUFBSTtBQUFBLFlBQ1BBLEdBQ1RBLEVBQU0sTUFBTSxJQUFJO0FBQUEsaUJBQ0ZBLEdBQ2RBLEVBQU0sTUFDSCxJQUFJO0FBQUE7QUFBQTtBQUFBLG1CQUdTQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGdCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxXQUNyQ0EsR0FBVUEsRUFBTSxNQUFNLEtBQUs7QUFBQSxVQUM1QkEsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQSxFQUd4QjRYLEdBQTZCOVgsR0FBTzZYLEVBQWtCO0FBQUE7RUNyQm5FLE9BQVMsaUJBQUF2VyxHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUM3RCxPQUFTLHlCQUFBakUsT0FBNkIsaUJBRS9CLElBQU13VyxHQUFtQnBXLEdBQTRDLENBQzFFLElBQU0rRixFQUFTbEMsR0FBZSxFQUN4QmlDLEVBQVFGLEdBQWMsRUFDdEIzRixFQUFTTixHQUFjLEVBRXZCVyxFQUFhVixHQUFzQixDQUN2QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBSUtkLEVBQU8sUUFFYixPQUFJYSxFQUNLLENBQ0wsT0FBUStGLEVBQU8sS0FDZixXQUFZekYsRUFDWixLQUFNd0YsRUFBTSxRQUFRLEdBQUcsT0FDdkIsTUFBT3hGLEVBQ1AsS0FBTW5CLENBQ1IsRUFHSyxDQUNMLE9BQVE0RyxFQUFPLEtBQ2YsV0FBWTlGLEVBQU8sT0FBTyxTQUMxQixLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsTUFBTzdGLEVBQU8sU0FBUyxRQUN2QixLQUFNZCxDQUNSLENBQ0YsRUNoQlEsY0FBQU4sT0FBQSxvQkFYRCxJQUFNd1gsR0FBZSxDQUFDLENBQUUsT0FBQUMsQ0FBTyxJQUF5QixDQUM3RCxJQUFNclIsRUFBYXBFLEVBQWdCLEVBRTdCRyxFQUFRb1YsR0FBZ0JuUixDQUFVLEVBR2xDc1IsRUFBVUQsRUFBUyxFQUFJLEtBQU9BLEVBRXBDLE9BQUlyUixFQUVBcEcsR0FBQ3NYLEdBQUEsQ0FBMkIsTUFBT25WLEVBQ2pDLFNBQUFuQyxHQUFDaUcsRUFBQSxDQUFhLFNBQUF5UixFQUFRLEVBQ3hCLEVBSUcxWCxHQUFDcVgsR0FBQSxDQUFtQixNQUFPbFYsRUFBUSxTQUFBdVYsRUFBUSxDQUNwRCxFQ3RCUyxjQUFBMVgsT0FBQSxvQkFERixJQUFNd1gsR0FBZSxDQUFDLENBQUUsT0FBQUMsQ0FBTyxJQUM3QnpYLEdBQUN3WCxHQUFBLENBQWlCLE9BQVFDLEVBQVEsRUNKM0MsT0FBUyxjQUFBbFksT0FBa0IsUUNBM0IsT0FBUyxpQkFBQXVCLEdBQWUsaUJBQUFpRyxHQUFlLGtCQUFBL0IsT0FBc0IsaUJBQzdELE9BQVMseUJBQUFqRSxPQUE2QixpQkFDdEMsT0FBT0MsT0FBVyxpQkFJWCxJQUFNMlcsR0FBZSxDQUMxQnpXLEVBQ0FDLElBQ2UsQ0FDZixJQUFNQyxFQUFTTixHQUFjLEVBQ3ZCbUcsRUFBUUYsR0FBYyxFQUN0QnlJLEVBQVN4SyxHQUFlLEVBRXhCeUssRUFBa0IxTyxHQUFzQixDQUM1QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUtzTyxFQUFtQnRPLEVBQU8sT0FBTyxTQUVqQytGLEVBQVcsQ0FDZixRQUFTLENBQ1AsTUFBTy9GLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlQSxFQUFPLFNBQVMsU0FDdkMsUUFBU0EsRUFBTyxTQUFTLE9BQzNCLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlQSxFQUFPLFNBQVMsU0FDdkMsUUFBU0EsRUFBTyxTQUFTLE9BQzNCLEVBQ0EsUUFBUyxDQUNQLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFdBQVcsU0FDOUIsT0FBUSxhQUFlQSxFQUFPLFdBQVcsU0FDekMsUUFBU0EsRUFBTyxXQUFXLFFBQzdCLEVBQ0EsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEdBQ2YsYUFBY0EsRUFBTyxFQUN2QixFQUVNRyxFQUFRLENBQ1osUUFBUyxDQUNQLE1BQU92TyxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFFBQzVCLE9BQVEsYUFBZXNPLEVBQ3ZCLFFBQVN0TyxFQUFPLFNBQVMsT0FDM0IsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVzTyxFQUN2QixRQUFTdE8sRUFBTyxTQUFTLE9BQzNCLEVBQ0EsUUFBUyxDQUNQLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFdBQVcsU0FDOUIsT0FBUSxhQUFlQSxFQUFPLFdBQVcsU0FDekMsUUFBU0EsRUFBTyxXQUFXLFFBQzdCLEVBQ0EsS0FBTTZGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEdBQ2YsYUFBY0EsRUFBTyxFQUN2QixFQUVNckIsRUFBVyxDQUNmLFFBQVMsQ0FDUCxNQUFPL00sRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxRQUFTLENBQ1AsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUXVJLEVBQU8sR0FDZixhQUFjQSxFQUFPLEVBQ3ZCLEVBRU1wSSxFQUFXLENBQ2YsUUFBUyxDQUNQLE1BQU9xSSxFQUNQLFdBQVlBLEVBQ1osT0FBUSxhQUFlQSxFQUN2QixRQUFTQSxDQUNYLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQ1AsV0FBWUEsRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLFFBQVNBLENBQ1gsRUFDQSxRQUFTLENBQ1AsTUFBT0EsRUFDUCxXQUFZQSxFQUNaLE9BQVEsYUFBZUEsRUFDdkIsUUFBU0EsQ0FDWCxFQUNBLEtBQU14SSxFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRdUksRUFBTyxHQUNmLGFBQWNBLEVBQU8sRUFDdkIsRUFFQSxPQUFJck8sRUFDS2lHLEVBR0ZwRyxHQUFNRSxFQUFTLENBQ3BCLFlBQXVCaUcsQ0FBUSxFQUMvQixTQUFvQndJLENBQUssRUFDekIsWUFBdUJ4QixDQUFRLENBQ2pDLENBQUMsQ0FDSCxFQy9IQSxPQUFPM08sSUFBVSxPQUFBMk0sT0FBVyxvQkFHckIsSUFBTXlMLEdBQWFwWSxHQUFPLE1BQU0sTUFBTSxDQUFFLEtBQU0sVUFBVyxDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxjQU9sREUsR0FBVUEsRUFBTSxNQUFNLFFBQVEsTUFBTTtBQUFBLGFBQ3JDQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTcENtWSxHQUFzQnJZLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLElBUXJDRSxHQUNELENBQUNBLEVBQU0sWUFDUHlNO0FBQUE7QUFBQSxrQkFFZXpNLEdBQVVBLEVBQU0sTUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUEsS0FHaEQ7QUFBQSxFQUdRb1ksR0FBa0J0WSxHQUFPO0FBQUEsVUFDM0JFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsV0FDekJBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFlBS2xDQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsbUJBQzdCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLHNCQUN6QkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhbERpUixHQUF3Qm5SLEdBQU87QUFBQTtBQUFBO0FBQUEsRUFLL0JvUixHQUFlcFIsR0FBTztBQUFBO0FBQUEsbUJBRWZFLEdBQVVBLEVBQU0sTUFBTSxZQUFZO0FBQUEsc0JBQy9CQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbERxWSxHQUE4QnZZLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFlBT3JDRSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsbUJBQzdCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBO0FBQUE7QUFBQSxFQUtuQ3NZLEdBQTJCeFksR0FBTztBQUFBO0FBQUEsbUJBRTNCRSxHQUFVQSxFQUFNLE1BQU0sWUFBWTtBQUFBLHNCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2xEdVksR0FBMEJ6WSxHQUFPO0FBQUEsVUFDbkNFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsV0FDekJBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQUFBO0FBQUEsbUJBRzNCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBO0FBQUEsc0JBRXpCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUY3Ri9ELE9BQVMsZ0JBQUFKLE9BQW9CLDBCR2hCN0IsT0FBUyxpQkFBQWtCLE9BQXFCLFFDQXZCLElBQUswWCxRQUNWQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsTUFBUSxRQUhFQSxRQUFBLElER0wsSUFBTUMsY0FHQUMsR0FDWDVYLEdBQWMyWCxFQUFjLEVIK0J4QixPQUNFLE9BQUFuWSxHQURGLFFBQUFHLE9BQUEsb0JBakJDLElBQU1rWSxHQUFPLENBQUMsQ0FDbkIsU0FBQXRJLEVBQ0EsTUFBQW5PLEVBQ0EsVUFBQXFHLEVBQ0EsTUFBQStILEVBQ0EsS0FBQWhJLEVBQ0EsUUFBQWlJLEVBQ0EsZUFBQUMsRUFDQSxLQUFBakUsQ0FDRixJQUEwQixDQUN4QixJQUFNa0UsRUFBbUI1USxHQUFXNlksRUFBTyxFQUNyQ2pYLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUFvQndWLEdBQWF4SCxFQUFrQmhQLENBQVUsRUFDN0RpUCxFQUFhRCxJQUFxQixXQUV4QyxPQUFJaFAsRUFFQWhCLEdBQUM0WCxHQUFBLENBQTRCLE1BQU81VixFQUNsQyxVQUFBbkMsR0FBQ2dZLEdBQUEsQ0FBeUIsTUFBTzdWLEVBQU8sRUFDeENuQyxHQUFDaVksR0FBQSxDQUF3QixNQUFPOVYsRUFBUSxTQUFBNk4sRUFBTSxHQUNoRCxFQUtGN1AsR0FBQzBYLEdBQUEsQ0FBb0IsV0FBWXpILEVBQVksTUFBT2pPLEVBQ2xELFVBQUFuQyxHQUFDNFgsR0FBQSxDQUNDLFNBQVV4SCxFQUNWLGdCQUFlQSxFQUNmLFFBQVNILEVBQ1QsZUFBY0EsRUFDZCxlQUFnQkMsRUFDaEIsS0FBTWxJLEVBQ04sYUFBWUMsRUFDWixNQUFPckcsRUFDUCxTQUFVbU8sRUFDVixNQUFPNU4sRUFDVCxFQUNBaEMsR0FBQ3dRLEdBQUEsQ0FBc0IsTUFBT3hPLEVBQzVCLFVBQUFuQyxHQUFDa0csRUFBQSxDQUFNLEtBQU01RyxHQUFhLFNBQVUsT0FBUTJNLEVBQU0sRUFDbERqTSxHQUFDNFEsR0FBQSxDQUFhLE1BQU96TyxFQUNuQixTQUFBbkMsR0FBQ2tKLEVBQUEsQ0FDQyxhQUNBLGNBQ0EsaUJBQWtCOEcsRUFDbEIsZ0JBQ0YsRUFDRixHQUNGLEVBQ0FoUSxHQUFDOFgsR0FBQSxDQUFnQixNQUFPM1YsRUFBUSxTQUFBNk4sRUFBTSxHQUN4QyxDQUVKLEVLckRNLGNBQUFoUSxPQUFBLG9CQWZDLElBQU1xWSxHQUFPLENBQUMsQ0FDbkIsUUFBQW5YLEVBQ0EsU0FBQTZPLEVBQ0EsTUFBQW5PLEVBQ0EsVUFBQXFHLEVBQ0EsTUFBQStILEVBQ0EsS0FBQWhJLEVBQ0EsUUFBQWlJLEVBQ0EsZUFBQUMsRUFDQSxLQUFBakUsQ0FDRixJQUFhLENBQ1gsSUFBTWlNLEVBQWNoWCxHQUFvQmlYLEdBRXhDLE9BQ0VuWSxHQUFDb1ksR0FBUSxTQUFSLENBQWlCLE1BQU9GLEVBQ3ZCLFNBQUFsWSxHQUFDcVksR0FBQSxDQUNDLEtBQU1yUSxFQUNOLE1BQU9wRyxFQUNQLE1BQU9vTyxFQUNQLFFBQVNDLEVBQ1QsZUFBZ0JDLEVBQ2hCLFVBQVdqSSxFQUNYLFNBQVU4SCxFQUNWLEtBQU05RCxFQUNSLEVBQ0YsQ0FFSixFQy9CQSxPQUNFLGlCQUFBbkwsR0FDQSxpQkFBQWlHLEdBQ0Esa0JBQUEvQixHQUNBLG1CQUFBQyxPQUNLLGlCQUNQLE9BQVMseUJBQUFsRSxPQUE2QixpQkFFL0IsSUFBTXVYLEdBQVduWCxHQUFvQyxDQUMxRCxJQUFNcVEsRUFBT3pLLEdBQWMsRUFDckJHLEVBQVNsQyxHQUFlLEVBQ3hCNUQsRUFBU04sR0FBYyxFQUN2QjBFLEVBQVVQLEdBQWdCLEVBRTFCeEQsRUFBYVYsR0FBc0IsQ0FDdkMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVELE9BQUlELEVBQ0ssQ0FDTCxLQUFNcVEsRUFBSyxRQUFRLEdBQUcsS0FDdEIsT0FBUXRLLEVBQU8sR0FDZixXQUFZekYsRUFDWixRQUFTK0QsRUFBUSxRQUFRLENBQUcsQ0FDOUIsRUFHSyxDQUNMLEtBQU1nTSxFQUFLLFFBQVEsR0FBRyxLQUN0QixPQUFRdEssRUFBTyxHQUNmLFdBQVk5RixFQUFPLFNBQVMsU0FDNUIsUUFBU29FLEVBQVEsUUFBUSxDQUFHLENBQzlCLENBQ0YsRUNwQ0EsT0FBT2hHLE9BQVksb0JBSVosSUFBTStZLEdBQWEvWSxHQUFPO0FBQUEsVUFDdEJFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsbUJBQ2pCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGdCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxhQUNuQ0EsR0FBVUEsRUFBTSxNQUFNLE9BQU87QUFBQTtBQUFBO0FBQUEsRUFLOUI4WSxHQUFpQmhaLEdBQU8sSUFBSSxXQUFXLENBQ2xELGtCQUFvQnFHLEdBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBU0EsQ0FBSSxDQUN6RCxDQUFDO0FBQUE7QUFBQSxrQkFFa0JuRyxHQUFVQSxFQUFNLFFBQVEsQ0FBRyxDQUFDO0FBQUEsRUFHbEMrWSxHQUFrQmpaLEdBQU8sTUFFekJrWixHQUFxQmxaLEdBQU8rWSxFQUFVO0FBQUE7RUN0Qm5ELE9BQU83TSxPQUFXLFFDRVgsSUFBTWlOLEdBQXNCeFgsR0FDN0JBLG9CREVOLE9BQVMsbUJBQUE4RCxPQUF1QixpQkFTNUIsY0FBQWpGLE9BQUEsb0JBTkcsSUFBTTRZLEdBQVcsQ0FBQyxDQUFFLEtBQUEzTSxDQUFLLElBQXFCLENBQ25ELElBQU03RixFQUFhcEUsRUFBZ0IsRUFDN0JtRyxFQUEyQndRLEdBQW1CdlMsQ0FBVSxFQUN4RFosRUFBVVAsR0FBZ0IsRUFFaEMsT0FDRWpGLEdBQUN3WSxHQUFBLENBQWUsUUFBU2hULEVBQVEsUUFDOUIsU0FBQWtHLEdBQU0sYUFBYU8sRUFBTSxDQUN4QixRQUFTOUQsRUFDVCxZQUNGLENBQUMsRUFDSCxDQUVKLEVFaEJTLGNBQUFuSSxPQUFBLG9CQURGLElBQU02WSxHQUFZLENBQUMsQ0FBRSxTQUFBdFksQ0FBUyxJQUM1QlAsR0FBQ3lZLEdBQUEsQ0FBaUIsU0FBQWxZLEVBQVMsRUNTRSxjQUFBUCxHQWtCaEMsUUFBQUcsT0FsQmdDLG9CQUwvQixJQUFNMlksR0FBTyxDQUFDLENBQUUsTUFBQTlJLEVBQU8sZUFBQTFCLENBQWUsSUFBaUIsQ0FDNUQsSUFBTWxJLEVBQWFwRSxFQUFnQixFQUU3QkcsRUFBUW1XLEdBQVFsUyxDQUFVLEVBRTFCd0ksRUFBYU4sRUFBaUJ0TyxHQUFDNFksR0FBQSxDQUFTLEtBQU10SyxFQUFnQixFQUFLLEtBRW5FRyxFQUFRek8sR0FBQzZZLEdBQUEsQ0FBVyxTQUFBN0ksRUFBTSxFQUVoQyxPQUFJNUosRUFjQWpHLEdBQUN1WSxHQUFBLENBQW1CLE1BQU92VyxFQUN4QixVQWRzQm1NLEVBQ3pCdE8sR0FBQ2lHLEVBQUEsQ0FDQyxTQUFBakcsR0FBQzRZLEdBQUEsQ0FBUyxLQUFNdEssRUFBZ0IsRUFDbEMsRUFDRSxLQUdGdE8sR0FBQ2lHLEVBQUEsQ0FDQyxTQUFBakcsR0FBQzZZLEdBQUEsQ0FBVyxTQUFBN0ksRUFBTSxFQUNwQixHQU9BLEVBS0Y3UCxHQUFDb1ksR0FBQSxDQUFXLE1BQU9wVyxFQUNoQixVQUFBeU0sRUFDQUgsR0FDSCxDQUVKLEVDekNTLGNBQUF6TyxPQUFBLG9CQURGLElBQU04WSxHQUFPLENBQUMsQ0FBRSxlQUFBeEssRUFBZ0IsTUFBQTBCLENBQU0sSUFDcENoUSxHQUFDOFksR0FBQSxDQUFTLE1BQU85SSxFQUFPLGVBQWdCMUIsRUFBZ0IsRUNKMUQsSUFBS3lLLFFBQ1ZBLEVBQUEsUUFBVSxVQUNWQSxFQUFBLFlBQWMsY0FDZEEsRUFBQSxZQUFjLGNBSEpBLFFBQUEsSUNHWixPQUFPL1gsT0FBVyxpQkNIbEIsT0FBT3hCLE9BQVksb0JBRW5CLElBQU13WixHQUFheFosR0FBTyxJQUFJLE1BQU9FLElBQVcsQ0FDOUMsUUFBUyxNQUNULE1BQU8sNkJBQ1AsV0FBWSwrQkFDWixLQUFNLE1BQ04sY0FBZSxNQUNqQixFQUFFLElBRVd1WixHQUFjelosR0FBTyxLQUFLLE1BQU0sQ0FDM0MsS0FBTSxjQUNSLENBQUMsSUFFWTBaLEdBQVcxWixHQUFPLEVBQUUsTUFBTSxDQUNyQyxLQUFNLGNBQ1IsQ0FBQyxJQUVZMlosR0FBVzNaLEdBQU8sS0FBSyxNQUFNLENBQ3hDLEtBQU0sY0FDUixDQUFDLElBRVk0WixHQUFlNVosR0FBTyxTQUFTLE1BQU0sQ0FDaEQsS0FBTSxjQUNSLENBQUMsSUFFWTZaLEdBQWU3WixHQUFPLEtBQUssTUFBTSxDQUM1QyxLQUFNLGNBQ1IsQ0FBQyxJQUVZOFosR0FBWTlaLEdBQU93WixFQUFVO0FBQUE7QUFBQSxXQUs5QnRaLEdBQVVBLEVBQU0sS0FBSztBQUFBLFlBQ3BCQSxHQUFVQSxFQUFNLE1BQU07QUFBQTtBQUFBO0FBQUEsRUFLdEI2WixHQUFnQi9aLEdBQU95WixFQUFXLElBRWxDTyxHQUFtQmhhLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRMUJpYSxHQUFrQmphLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RURyQ3RDLE9BQVMsaUJBQUFzQixPQUFxQixpQkF1Q3RCLE9BQ0UsT0FBQWQsR0FERixRQUFBRyxPQUFBLG9CQXJDRCxJQUFNbUQsR0FBTSxDQUFDLENBQUUsS0FBQXdCLENBQUssSUFBZ0IsQ0FDekMsSUFBTTFELEVBQVNOLEdBQWMsRUFFdkI0WSxFQUFTMVksR0FBTThELEVBQU0sQ0FDekIsV0FFRSxDQUNFLE9BQVExRCxFQUFPLE9BQU8sU0FDdEIsT0FBUUEsRUFBTyxPQUFPLFFBQ3hCLENBQ0YsRUFDQSxlQUVFLENBQ0UsT0FBUUEsRUFBTyxXQUFXLFNBQzFCLE9BQVFBLEVBQU8sV0FBVyxRQUM1QixDQUNGLEVBQ0EsZUFFRSxDQUNFLE9BQVFBLEVBQU8sT0FBTyxTQUN0QixPQUFRQSxFQUFPLFdBQVcsUUFDNUIsQ0FDRixDQUNGLENBQUMsRUFFS3VZLEVBQVEsR0FDUkMsRUFBVUQsRUFBUSxLQUNsQkUsRUFBUyxHQUNUQyxFQUFXRCxFQUFTLEtBRXBCRSxFQUFVLE9BQVNKLEVBQVEsSUFBTUUsRUFFdkMsT0FDRTFaLEdBQUNxWixHQUFBLENBQ0MsVUFBQXJaLEdBQUNtWixHQUFBLENBQVUsTUFBT00sRUFBUyxPQUFRRSxFQUFVLFFBQVNDLEVBQ3BELFVBQUE1WixHQUFDK1ksR0FBQSxDQUFTLFNBQVMsbUJBQ2pCLFVBQUFsWixHQUFDdVosR0FBQSxDQUFjLEVBQUUsbUJBQW1CLEtBQUssT0FBTyxFQUNoRHZaLEdBQUN1WixHQUFBLENBQ0MsRUFBRSw2VUFDRixLQUFNRyxFQUFPLE9BQ2YsR0FDRixFQUNBdlosR0FBQytZLEdBQUEsQ0FBUyxTQUFTLG1CQUNqQixVQUFBbFosR0FBQ3VaLEdBQUEsQ0FBYyxFQUFFLG9CQUFvQixLQUFLLE9BQU8sRUFDakR2WixHQUFDdVosR0FBQSxDQUNDLEVBQUUsNlVBQ0YsS0FBTUcsRUFBTyxPQUNmLEdBQ0YsRUFDQTFaLEdBQUN1WixHQUFBLENBQ0MsRUFBRSxvSEFDRixLQUFLLFFBQ1AsRUFDQXBaLEdBQUNnWixHQUFBLENBQ0MsVUFBQW5aLEdBQUNvWixHQUFBLENBQWEsR0FBRyxhQUNmLFNBQUFwWixHQUFDcVosR0FBQSxDQUFhLE1BQU0sS0FBSyxPQUFPLEtBQUssS0FBSyxPQUFPLEVBQ25ELEVBQ0FyWixHQUFDb1osR0FBQSxDQUFhLEdBQUcsYUFDZixTQUFBcFosR0FBQ3FaLEdBQUEsQ0FDQyxNQUFNLEtBQ04sT0FBTyxLQUNQLEtBQUssT0FDTCxVQUFVLGdCQUNaLEVBQ0YsR0FDRixHQUNGLEVBQ0FyWixHQUFDeVosR0FBQSxFQUFnQixHQUNuQixDQUVKLEVFbEZTLGNBQUF6WixPQUFBLG9CQURGLElBQU1zRCxHQUFNLENBQUMsQ0FBRSxLQUFBd0IsQ0FBSyxJQUNsQjlFLEdBQUNzRCxHQUFBLENBQVEsS0FBTXdCLEVBQU0sRUNOOUIsT0FBUyxjQUFBdkYsT0FBa0IsUUNBM0IsT0FBT0MsSUFBVSxPQUFBMk0sT0FBVyxvQkFHckIsSUFBTTZOLEdBQWN4YSxHQUFPLE1BQU0sTUFBTSxDQUFFLEtBQU0sT0FBUSxDQUFDO0FBQUE7QUFBQTtBQUFBLEVBT2xEeWEsR0FBdUJ6YSxHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsY0FVNUJFLEdBQVVBLEVBQU0sTUFBTSxRQUFRLE1BQU07QUFBQTtBQUFBO0FBQUEsMEJBR3hCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxNQUt6REEsR0FDRCxDQUFDQSxFQUFNLFlBQ1B5TTtBQUFBO0FBQUEsT0FFQztBQUFBO0FBQUE7QUFBQSxnQkFHVXpNLEdBQVVBLEVBQU0sTUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUEsNEJBR3RCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxPQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUEsZ0JBSS9DQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUE7QUFBQTtBQUFBLDRCQUd4QkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsT0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXJEd2EsR0FBK0IxYSxHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVN0QzJhLEdBQW9CM2EsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFlBTzNCRSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsc0JBQzFCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFRdENBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLE9BQU87QUFBQTtBQUFBO0FBQUEsRUFLakQwYSxHQUE0QjVhLEdBQU8yYSxFQUFpQjtBQUFBO0FBQUEsRUFNcERFLEdBQW1CN2EsR0FBTztBQUFBLFVBQzVCRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBLFdBQ3pCQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNbEM0YSxHQUEyQjlhLEdBQU82YSxFQUFnQjtBQUFBO0FBQUEsc0JBSXhDM2EsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBLG1CQUMzQ0EsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBO0FBQUE7RUNwR2hELE9BQVMsaUJBQUFvQixHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUM3RCxPQUFTLHlCQUFBakUsT0FBNkIsaUJBQ3RDLE9BQU9DLE9BQVcsaUJDRlgsSUFBS3VaLFFBQ1ZBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxNQUFRLFFBSEVBLFFBQUEsSURNTCxJQUFNQyxHQUFnQixDQUMzQnRaLEVBQ0FDLElBQ2dCLENBQ2hCLElBQU1DLEVBQVNOLEdBQWMsRUFDdkJtRyxFQUFRRixHQUFjLEVBQ3RCeUksRUFBU3hLLEdBQWUsRUFFeEJ5SyxFQUFrQjFPLEdBQXNCLENBQzVDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFS3NPLEVBQW1CdE8sRUFBTyxPQUFPLFNBRWpDK0YsRUFBVyxDQUNmLFFBQVMsQ0FDUCxNQUFPL0YsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsT0FDM0IsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsT0FDM0IsRUFDQSxRQUFTLENBQ1AsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sV0FBVyxTQUM5QixPQUFRLGFBQWVBLEVBQU8sV0FBVyxTQUN6QyxRQUFTQSxFQUFPLFdBQVcsUUFDN0IsRUFDQSxLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUXVJLEVBQU8sRUFDakIsRUFFTUcsRUFBUSxDQUNaLFFBQVMsQ0FDUCxNQUFPdk8sRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVzTyxFQUN2QixRQUFTdE8sRUFBTyxTQUFTLE9BQzNCLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlc08sRUFDdkIsUUFBU3RPLEVBQU8sU0FBUyxPQUMzQixFQUNBLFFBQVMsQ0FDUCxNQUFPQSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxXQUFXLFNBQzlCLE9BQVEsYUFBZUEsRUFBTyxXQUFXLFNBQ3pDLFFBQVNBLEVBQU8sV0FBVyxRQUM3QixFQUNBLEtBQU02RixFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRdUksRUFBTyxFQUNqQixFQUVNckIsRUFBVyxDQUNmLFFBQVMsQ0FDUCxNQUFPL00sRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxRQUFTLENBQ1AsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxTQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsUUFDM0IsRUFDQSxLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUXVJLEVBQU8sRUFDakIsRUFFTXBJLEVBQVcsQ0FDZixRQUFTLENBQ1AsTUFBT3FJLEVBQ1AsV0FBWUEsRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLFFBQVNBLENBQ1gsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFDUCxXQUFZQSxFQUNaLE9BQVEsYUFBZUEsRUFDdkIsUUFBU0EsQ0FDWCxFQUNBLFFBQVMsQ0FDUCxNQUFPQSxFQUNQLFdBQVlBLEVBQ1osT0FBUSxhQUFlQSxFQUN2QixRQUFTQSxDQUNYLEVBQ0EsS0FBTXhJLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLE9BQVF1SSxFQUFPLEVBQ2pCLEVBRUEsT0FBSXJPLEVBQ0tpRyxFQUdGcEcsR0FBTUUsRUFBUyxDQUNwQixZQUF3QmlHLENBQVEsRUFDaEMsU0FBcUJ3SSxDQUFLLEVBQzFCLFlBQXdCeEIsQ0FBUSxDQUNsQyxDQUFDLENBQ0gsRUUzSEEsT0FBUyxpQkFBQTNOLE9BQXFCLFFBR3ZCLElBQU1pYSxjQUdBQyxHQUFtQ2xhLEdBQWNpYSxFQUFlLEVKMkJ2RSxPQUNFLE9BQUF6YSxHQURGLFFBQUFHLE9BQUEsb0JBakJDLElBQU13YSxHQUFRLENBQUMsQ0FDcEIsU0FBQTVLLEVBQ0EsTUFBQW5PLEVBQ0EsVUFBQXFHLEVBQ0EsTUFBQStILEVBQ0EsS0FBQWhJLEVBQ0EsUUFBQWlJLEVBQ0EsZUFBQUMsQ0FDRixJQUEyQixDQUN6QixJQUFNL08sRUFBYWEsRUFBZ0IsRUFFN0JtTyxFQUFtQjVRLEdBQVdtYixFQUFRLEVBQ3RDdlksRUFBcUJxWSxHQUFjckssRUFBa0JoUCxDQUFVLEVBQy9EaVAsRUFBYUQsSUFBcUIsV0FFeEMsT0FBSWhQLEVBRUFoQixHQUFDK1osR0FBQSxDQUE2QixNQUFPL1gsRUFDbkMsVUFBQW5DLEdBQUNvYSxHQUFBLENBQTBCLE1BQU9qWSxFQUFPLEVBQ3pDbkMsR0FBQ3NhLEdBQUEsQ0FBeUIsTUFBT25ZLEVBQzlCLFNBQUE2TixFQUNILEdBQ0YsRUFLRjdQLEdBQUM4WixHQUFBLENBQXFCLFdBQVk3SixFQUFZLE1BQU9qTyxFQUNuRCxVQUFBbkMsR0FBQ2dhLEdBQUEsQ0FDQyxTQUFVNUosRUFDVixnQkFBZUEsRUFDZixRQUFTSCxFQUNULGVBQWNBLEVBQ2QsZUFBZ0JDLEVBQ2hCLEtBQU1sSSxFQUNOLGFBQVlDLEVBQ1osTUFBT3JHLEVBQ1AsU0FBVW1PLEVBQ1osRUFDQS9QLEdBQUNtYSxHQUFBLENBQWtCLE1BQU9oWSxFQUFPLEVBQ2pDbkMsR0FBQ3FhLEdBQUEsQ0FBaUIsTUFBT2xZLEVBQVEsU0FBQTZOLEVBQU0sR0FDekMsQ0FFSixFS3hDTSxjQUFBaFEsT0FBQSxvQkFkQyxJQUFNMmEsR0FBUSxDQUFDLENBQ3BCLFFBQUF6WixFQUNBLFNBQUE2TyxFQUNBLE1BQUFuTyxFQUNBLFVBQUFxRyxFQUNBLE1BQUErSCxFQUNBLEtBQUFoSSxFQUNBLFFBQUFpSSxFQUNBLGVBQUFDLENBQ0YsSUFBYyxDQUNaLElBQU1HLEVBQWVuUCxHQUFvQnVaLEdBRXpDLE9BQ0V6YSxHQUFDMGEsR0FBUyxTQUFULENBQWtCLE1BQU9ySyxFQUN4QixTQUFBclEsR0FBQzJhLEdBQUEsQ0FDQyxLQUFNM1MsRUFDTixNQUFPcEcsRUFDUCxNQUFPb08sRUFDUCxRQUFTQyxFQUNULGVBQWdCQyxFQUNoQixVQUFXakksRUFDWCxTQUFVOEgsRUFDWixFQUNGLENBRUosRUM5QkEsT0FBT3ZRLE9BQVksb0JBUVosSUFBTW9iLEdBQWVwYixHQUFPO0FBQUEsVUFDeEJFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUE7QUFBQSxFQUl4Qm1iLEdBQW1CcmIsR0FBTyxJQUFJLFdBQVcsQ0FDcEQsa0JBQW9CcUcsR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQSxVQUNVbkcsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQSxrQkFDbEJBLEdBQVVBLEVBQU0sUUFBUSxDQUFHLENBQUM7QUFBQTtBQUFBLEVBSWxDb2IsR0FBb0J0YixHQUFPO0FBQUEsVUFDN0JFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsV0FDekJBLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUE7QUFBQSxnQkFFdEJBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsZUFDakNBLEdBQVVBLEVBQU0sTUFBTSxTQUFTO0FBQUEsRUFHbENxYixHQUF3QnZiLEdBQU8sTUFFL0J3YixHQUFvQnhiLEdBQU87QUFBQSxVQUM3QkUsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQSxXQUN6QkEsR0FBVUEsRUFBTSxNQUFNLEtBQUs7QUFBQTtBQUFBLGdCQUV0QkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxlQUNqQ0EsR0FBVUEsRUFBTSxNQUFNLFNBQVM7RUNuQy9DLE9BQVMsaUJBQUFvQixHQUFlLGlCQUFBaUcsT0FBcUIsaUJBQzdDLE9BQVMseUJBQUFoRyxPQUE2QixpQkFFL0IsSUFBTWthLEdBQWtCOVosR0FBMkMsQ0FDeEUsSUFBTUMsRUFBU04sR0FBYyxFQUN2QjBRLEVBQU96SyxHQUFjLEVBRXJCdEYsRUFBYVYsR0FBc0IsQ0FDdkMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVELE9BQUlELEVBQ0ssQ0FDTCxNQUFPTSxFQUNQLFdBQVlBLEVBQ1osVUFBVyxpREFDWCxLQUFNK1AsRUFBSyxRQUFRLEdBQUcsTUFDeEIsRUFHSyxDQUNMLE1BQU9wUSxFQUFPLFNBQVMsU0FDdkIsV0FBWSxjQUNaLFVBQVcsT0FDWCxLQUFNb1EsRUFBSyxRQUFRLEdBQUcsTUFDeEIsQ0FDRixFQzVCQSxPQUFTLGlCQUFBMVEsR0FBZSxpQkFBQWlHLE9BQXFCLGlCQUM3QyxPQUFTLHlCQUFBaEcsT0FBNkIsaUJBRS9CLElBQU1tYSxHQUFrQi9aLEdBQTJDLENBQ3hFLElBQU1DLEVBQVNOLEdBQWMsRUFDdkIwUSxFQUFPekssR0FBYyxFQUVyQnRGLEVBQWFWLEdBQXNCLENBQ3ZDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFRCxPQUFJRCxFQUNLLENBQ0wsTUFBT00sRUFDUCxXQUFZQSxFQUNaLFVBQVcsaURBQ1gsS0FBTStQLEVBQUssUUFBUSxHQUFHLE1BQ3hCLEVBR0ssQ0FDTCxNQUFPcFEsRUFBTyxTQUFTLFNBQ3ZCLFdBQVksY0FDWixVQUFXLE9BQ1gsS0FBTW9RLEVBQUssUUFBUSxHQUFHLE1BQ3hCLENBQ0YsRUM3QkEsT0FBTzlGLElBQVMsY0FBQW5NLE9BQWtCLFFDQWxDLE9BQU9DLElBQVUsT0FBQTJNLE1BQVcsb0JBR3JCLElBQU1nUCxHQUFzQjNiLEdBQU87QUFBQTtBQUFBO0FBQUEsRUFJN0I0YixHQUFhNWIsR0FBTztBQUFBO0FBQUE7QUFBQSxvQkFHWkUsR0FBVUEsRUFBTSxNQUFNLFNBQVM7QUFBQSxpQkFDbENBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEscUJBQzVCQSxHQUFVQSxFQUFNLE1BQU0sT0FBTztBQUFBLFNBQ3pDQSxHQUFVQSxFQUFNLE1BQU0sR0FBRztBQUFBLEVBR3RCMmIsR0FBaUI3YixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFJaENFLEdBQ0RBLEVBQU0sTUFBTSxVQUFZLFFBQ3hCeU07QUFBQTtBQUFBO0FBQUE7QUFBQSxLQUlDO0FBQUEsSUFDQXpNLEdBQ0QsT0FBT0EsRUFBTSxNQUFNLFNBQVksVUFDL0J5TTtBQUFBO0FBQUE7QUFBQTtBQUFBLGtCQUljek0sRUFBTSxNQUFNLE9BQU87QUFBQSxZQUN6QkEsRUFBTSxNQUFNLHNCQUFzQjtBQUFBO0FBQUEsS0FFekM7QUFBQTtBQUFBLGdDQUU0QkEsR0FBVUEsRUFBTSxNQUFNLFlBQVk7QUFBQSxNQUM1REEsR0FDREEsRUFBTSxNQUFNLEtBQU8sUUFDbkJ5TTtBQUFBO0FBQUE7QUFBQTtBQUFBLE9BSUM7QUFBQSxNQUNBek0sR0FDRCxPQUFPQSxFQUFNLE1BQU0sSUFBTyxVQUMxQnlNO0FBQUE7QUFBQTtBQUFBO0FBQUEsb0JBSWN6TSxFQUFNLE1BQU0sRUFBRSxZQUFZQSxFQUFNLE1BQU0saUJBQWlCO0FBQUE7QUFBQSxPQUVwRTtBQUFBO0FBQUEsZ0NBRTBCQSxHQUFVQSxFQUFNLE1BQU0sWUFBWTtBQUFBLE1BQzVEQSxHQUNEQSxFQUFNLE1BQU0sS0FBTyxRQUNuQnlNO0FBQUE7QUFBQTtBQUFBO0FBQUEsT0FJQztBQUFBLE1BQ0F6TSxHQUNELE9BQU9BLEVBQU0sTUFBTSxJQUFPLFVBQzFCeU07QUFBQTtBQUFBO0FBQUE7QUFBQSxvQkFJY3pNLEVBQU0sTUFBTSxFQUFFLFlBQVlBLEVBQU0sTUFBTSxpQkFBaUI7QUFBQTtBQUFBLE9BRXBFO0FBQUE7QUFBQSxnQ0FFMEJBLEdBQVVBLEVBQU0sTUFBTSxZQUFZO0FBQUEsTUFDNURBLEdBQ0RBLEVBQU0sTUFBTSxLQUFPLFFBQ25CeU07QUFBQTtBQUFBO0FBQUE7QUFBQSxPQUlDO0FBQUEsTUFDQXpNLEdBQ0QsT0FBT0EsRUFBTSxNQUFNLElBQU8sVUFDMUJ5TTtBQUFBO0FBQUE7QUFBQTtBQUFBLG9CQUljek0sRUFBTSxNQUFNLEVBQUUsWUFBWUEsRUFBTSxNQUFNLGlCQUFpQjtBQUFBO0FBQUEsT0FFcEU7QUFBQTtBQUFBLGdDQUUwQkEsR0FBVUEsRUFBTSxNQUFNLFlBQVk7QUFBQSxNQUM1REEsR0FDREEsRUFBTSxNQUFNLEtBQU8sUUFDbkJ5TTtBQUFBO0FBQUE7QUFBQTtBQUFBLE9BSUM7QUFBQSxNQUNBek0sR0FDRCxPQUFPQSxFQUFNLE1BQU0sSUFBTyxVQUMxQnlNO0FBQUE7QUFBQTtBQUFBO0FBQUEsb0JBSWN6TSxFQUFNLE1BQU0sRUFBRSxZQUFZQSxFQUFNLE1BQU0saUJBQWlCO0FBQUE7QUFBQSxPQUVwRTtBQUFBO0FBQUEsZ0NBRTBCQSxHQUFVQSxFQUFNLE1BQU0sYUFBYTtBQUFBLE1BQzdEQSxHQUNEQSxFQUFNLE1BQU0sTUFBUSxRQUNwQnlNO0FBQUE7QUFBQTtBQUFBO0FBQUEsT0FJQztBQUFBLE1BQ0F6TSxHQUNELE9BQU9BLEVBQU0sTUFBTSxLQUFRLFVBQzNCeU07QUFBQTtBQUFBO0FBQUE7QUFBQSxvQkFJY3pNLEVBQU0sTUFBTSxHQUFHLFlBQVlBLEVBQU0sTUFBTSxrQkFBa0I7QUFBQTtBQUFBLE9BRXRFO0FBQUE7RUQxSFAsT0FBUyxpQkFBQWMsT0FBcUIsUUFDOUIsT0FBUyxZQUFBOGEsT0FBZ0IsaUJBOERqQixjQUFBdGIsT0FBQSxvQkE1RFIsSUFBTXViLEdBQWMvYSxHQUFjLENBQ2hDLFdBQVksQ0FDVixHQUFJLFFBQ0osR0FBSSxRQUNKLEdBQUksU0FDSixHQUFJLFNBQ0osSUFBSyxRQUNQLEVBQ0EsSUFBSyxJQUNMLFVBQVcsTUFDWCxXQUFZLGFBQ1osUUFBUyxhQUNULE1BQU8sQ0FDVCxDQUFDLEVBRVlnYixHQUFPLENBQUMsQ0FDbkIsU0FBQWpiLEVBQ0EsVUFBQWtiLEVBQ0EsV0FBQUMsRUFDQSxRQUFBQyxFQUNBLElBQUFDLEVBQ0EsYUFBQUMsRUFDQSxhQUFBQyxFQUNBLGFBQUFDLEVBQ0EsYUFBQUMsRUFDQSxjQUFBQyxDQUNGLElBQWlCLENBRWYsSUFBTUMsRUFEUVosR0FBUyxFQUNJLFFBQVEsUUFBUU0sR0FBTyxDQUFDLEVBQzdDTyxFQUFxQlYsR0FBYSxNQUNsQ1csRUFBc0JWLEdBQWMsYUFDcENXLEVBQW1CVixHQUFXLGFBRTlCVyxFQUF5QixDQUM3QixVQUFXSCxFQUNYLFdBQVlDLEVBQ1osUUFBU0MsRUFDVCxJQUFLSCxDQUNQLEVBRU1LLEVBQVE3USxHQUFNLFNBQVMsTUFBTW5MLENBQVEsRUFFM0MsT0FDRVAsR0FBQ3ViLEdBQVksU0FBWixDQUNDLE1BQU8sQ0FDTCxXQUFZLENBQ1YsR0FBSU0sRUFBZUEsRUFBZSxLQUFPLFFBQ3pDLEdBQUlDLEVBQWVBLEVBQWUsS0FBTyxRQUN6QyxHQUFJQyxFQUFlQSxFQUFlLEtBQU8sU0FDekMsR0FBSUMsRUFBZUEsRUFBZSxLQUFPLFNBQ3pDLElBQUtDLEVBQWdCQSxFQUFnQixLQUFPLFFBQzlDLEVBQ0EsSUFBS0MsRUFDTCxVQUFXQyxFQUNYLFdBQVlDLEVBQ1osUUFBU0MsRUFDVCxNQUFPRSxDQUNULEVBRUEsU0FBQXZjLEdBQUNtYixHQUFBLENBQ0MsU0FBQW5iLEdBQUNvYixHQUFBLENBQVcsTUFBT2tCLEVBQVEsU0FBQS9iLEVBQVMsRUFDdEMsRUFDRixDQUVKLEVBRU0yVixHQUFPLENBQUMsQ0FBRSxRQUFBc0csRUFBUyxHQUFBQyxFQUFJLEdBQUFDLEVBQUksR0FBQUMsRUFBSSxHQUFBQyxFQUFJLElBQUFDLEVBQUssU0FBQXRjLENBQVMsSUFBcUIsQ0FDMUUsSUFBTXVjLEVBQWlCTixHQUFXLEdBQzVCTyxFQUFjTixHQUFNSyxFQUNwQkUsRUFBY04sR0FBTUssRUFDcEJFLEVBQWNOLEdBQU1LLEVBQ3BCRSxFQUFjTixHQUFNSyxFQUNwQkUsRUFBZU4sR0FBT0ssRUFDdEJFLEVBQU83ZCxHQUFXZ2MsRUFBVyxFQUVuQyxPQUNFdmIsR0FBQ3FiLEdBQUEsQ0FDQyxNQUFPLENBQ0wsUUFBU3lCLEVBQ1QsR0FBSUMsRUFDSixHQUFJQyxFQUNKLEdBQUlDLEVBQ0osR0FBSUMsRUFDSixJQUFLQyxFQUNMLGFBQWNDLEVBQUssV0FBVyxHQUM5QixhQUFjQSxFQUFLLFdBQVcsR0FDOUIsYUFBY0EsRUFBSyxXQUFXLEdBQzlCLGFBQWNBLEVBQUssV0FBVyxHQUM5QixjQUFlQSxFQUFLLFdBQVcsSUFDL0IsdUJBQ0VBLEVBQUssWUFBYyxPQUNuQk4sSUFBbUIsUUFDbkJBLElBQW1CLEdBQ2ZNLEVBQUssSUFDTCxNQUNOLGtCQUNFQSxFQUFLLFlBQWMsT0FDbkJMLElBQWdCLFFBQ2hCQSxJQUFnQixHQUNaSyxFQUFLLElBQ0wsTUFDTixrQkFDRUEsRUFBSyxZQUFjLE9BQ25CSixJQUFnQixRQUNoQkEsSUFBZ0IsR0FDWkksRUFBSyxJQUNMLE1BQ04sa0JBQ0VBLEVBQUssWUFBYyxPQUNuQkgsSUFBZ0IsUUFDaEJBLElBQWdCLEdBQ1pHLEVBQUssSUFDTCxNQUNOLGtCQUNFQSxFQUFLLFlBQWMsT0FDbkJGLElBQWdCLFFBQ2hCQSxJQUFnQixHQUNaRSxFQUFLLElBQ0wsTUFDTixtQkFDRUEsRUFBSyxZQUFjLE9BQ25CRCxJQUFpQixRQUNqQkEsSUFBaUIsR0FDYkMsRUFBSyxJQUNMLEtBQ1IsRUFFQyxTQUFBN2MsRUFDSCxDQUVKLEVBRUFpYixHQUFLLEtBQU90RixHRS9IWixPQUFTLFdBQUFtSCxPQUFlLDBCQUN4QixPQUFTLGlCQUFBdFcsR0FBZSxtQkFBQTlCLE9BQXVCLGlCQWtCdkMsY0FBQWpGLEVBNkJFLFFBQUFHLE9BN0JGLG9CQWZELElBQU1tZCxHQUFTLENBQUMsQ0FBRSxNQUFBdE4sRUFBTyxNQUFBcE8sRUFBTyxlQUFBME0sQ0FBZSxJQUFtQixDQUN2RSxJQUFNbEksRUFBYXBFLEVBQWdCLEVBRzdCRyxFQUFRLENBQ1osS0FIVzRFLEdBQWMsRUFHZCxRQUFRLEdBQUcsTUFDeEIsRUFFTXdXLEVBQWF0QyxHQUFlN1UsQ0FBVSxFQUN0Q29YLEVBQWF0QyxHQUFlOVUsQ0FBVSxFQUN0Q1osRUFBVVAsR0FBZ0IsRUFFMUJpRSxFQUFPb0YsRUFDWGxJLEVBQ0VwRyxFQUFDNmEsR0FBQSxDQUFpQixRQUFTclYsRUFBUSxRQUNqQyxTQUFBeEYsRUFBQ2lHLEVBQUEsQ0FBYSxTQUFBcUksRUFBZSxFQUMvQixFQUVBdE8sRUFBQzZhLEdBQUEsQ0FBaUIsUUFBU3JWLEVBQVEsUUFDaEMsU0FBQThJLEVBQ0gsRUFFQSxLQUVFRyxFQUFRckksRUFDWnBHLEVBQUMrYSxHQUFBLENBQ0MsU0FBQS9hLEVBQUNpRyxFQUFBLENBQWEsU0FBQStKLEVBQU0sRUFDdEIsRUFFQWhRLEVBQUMrYSxHQUFBLENBQXVCLFNBQUEvSyxFQUFNLEVBRzFCeU4sRUFBUXJYLEVBQ1pwRyxFQUFDZ2IsR0FBQSxDQUFrQixNQUFPd0MsRUFDeEIsU0FBQXhkLEVBQUNpRyxFQUFBLENBQWEsU0FBQXJFLEVBQU0sRUFDdEIsRUFFQTVCLEVBQUNnYixHQUFBLENBQWtCLE1BQU93QyxFQUFhLFNBQUE1YixFQUFNLEVBRy9DLE9BQ0U1QixFQUFDNGEsR0FBQSxDQUFhLE1BQU96WSxFQUNuQixTQUFBaEMsR0FBQ3FiLEdBQUEsQ0FBSyxVQUFXLE1BQU8sYUFBYyxJQUFLLElBQUs2QixHQUFRLElBQ3RELFVBQUFyZCxFQUFDd2IsR0FBSyxLQUFMLENBQVUsUUFBUyxHQUFJLEdBQUksT0FDMUIsU0FBQXJiLEdBQUMyYSxHQUFBLENBQWtCLE1BQU95QyxFQUN2QixVQUFBclUsRUFDQXVGLEdBQ0gsRUFDRixFQUNBek8sRUFBQ3diLEdBQUssS0FBTCxDQUFVLFFBQVMsR0FBSSxHQUFJLE9BQ3pCLFNBQUFpQyxFQUNILEdBQ0YsRUFDRixDQUVKLEVDbEVJLGNBQUF6ZCxPQUFBLG9CQUZHLElBQU1zZCxHQUFTLENBQUMsQ0FBRSxNQUFBdE4sRUFBTyxNQUFBcE8sRUFBTyxlQUFBME0sQ0FBZSxJQUVsRHRPLEdBQUNzZCxHQUFBLENBQVcsTUFBT3ROLEVBQU8sTUFBT3BPLEVBQU8sZUFBZ0IwTSxFQUFnQixFQ0w1RSxPQUFTLGNBQUEvTyxPQUFrQixRQ0EzQixPQUFPQyxPQUFZLG9CQU9aLElBQU1rZSxHQUFlbGUsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUlmRSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGdCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxFQUdwQ2llLEdBQXVCbmUsR0FBT2tlLEVBQVk7QUFBQTtBQUFBLEVBTTFDRSxHQUFvQnBlLEdBQU87QUFBQSxnQkFDdkJFLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsbUJBQzdCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLFVBQ3JDQSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBO0FBQUE7QUFBQSxFQUt4Qm1lLEdBQXdCcmUsR0FBTztBQUFBLGdCQUMzQkUsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxtQkFDN0JBLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUW5Db2UsR0FBd0J0ZSxHQUFPO0FBQUEsYUFHOUJFLEdBQVVBLEVBQU0sTUFBTSxPQUFPO0FBQUEsRUFHOUJxZSxHQUE0QnZlLEdBQU9vZSxFQUFpQjtBQUFBO0VDN0NqRSxPQUFPNWMsT0FBVyxpQkFFbEIsT0FBUyxpQkFBQUYsR0FBZSxpQkFBQWlHLEdBQWUsa0JBQUEvQixPQUFzQixpQkFDN0QsT0FBUyx5QkFBQWpFLE9BQTZCLGlCQUcvQixJQUFNaWQsR0FBbUIsQ0FDOUI5YyxFQUNBQyxJQUN3QixDQUN4QixJQUFNK0YsRUFBU2xDLEdBQWUsRUFDeEJpQyxFQUFRRixHQUFjLEVBQ3RCM0YsRUFBU04sR0FBYyxFQUV2QlcsRUFBYVYsR0FBc0IsQ0FDdkMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVLNmMsRUFBYWxkLEdBQXNCLENBQ3ZDLEtBQU0sb0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUs4YyxFQUFtQm5kLEdBQXNCLENBQzdDLEtBQU0sMEJBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sUUFBUSxRQUMzQixDQUFDLEVBRUsrYyxFQUFpQnBkLEdBQXNCLENBQzNDLEtBQU0sd0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sS0FBSyxRQUN4QixDQUFDLEVBRUtnZCxFQUFpQnJkLEdBQXNCLENBQzNDLEtBQU0sd0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sUUFBUSxRQUMzQixDQUFDLEVBRUtpZCxFQUFnQnRkLEdBQXNCLENBQzFDLEtBQU0sdUJBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sT0FBTyxRQUMxQixDQUFDLEVBRUQsT0FBSUQsRUFDSyxDQUNMLE9BQVErRixFQUFPLEtBQ2YsV0FBWXpGLENBQ2QsRUFHS1QsR0FBTUUsRUFBUyxDQUNwQixRQUVFLENBQ0UsT0FBUWdHLEVBQU8sS0FDZixXQUFZK1csQ0FDZCxDQUNGLEVBQ0EsY0FFRSxDQUNFLE9BQVEvVyxFQUFPLEtBQ2YsV0FBWWdYLENBQ2QsQ0FDRixFQUNBLFlBRUUsQ0FDRSxPQUFRaFgsRUFBTyxLQUNmLFdBQVlpWCxDQUNkLENBQ0YsRUFDQSxZQUVFLENBQ0UsT0FBUWpYLEVBQU8sS0FDZixXQUFZa1gsQ0FDZCxDQUNGLEVBQ0EsV0FFRSxDQUNFLE9BQVFsWCxFQUFPLEtBQ2YsV0FBWW1YLENBQ2QsQ0FDRixDQUNGLENBQUMsQ0FDSCxFQzlGTyxJQUFLQyxRQUNWQSxFQUFBLEtBQU8sT0FDUEEsRUFBQSxXQUFhLGFBQ2JBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLFNBQVcsV0FDWEEsRUFBQSxRQUFVLFVBTEFBLFFBQUEsSUNDWixPQUFTLGlCQUFBOWQsT0FBcUIsUUFFdkIsSUFBTStkLFVBR0FDLEdBQ1hoZSxHQUFjK2QsRUFBZ0IsRUpheEIsY0FBQXZlLE9BQUEsb0JBVEQsSUFBTXllLEdBQWdCLENBQUMsQ0FBRSxTQUFBbGUsQ0FBUyxJQUEwQixDQUNqRSxJQUFNNFAsRUFBbUI1USxHQUFXaWYsRUFBUyxFQUN2Q3BZLEVBQWFwRSxFQUFnQixFQUU3QkcsRUFBUTZiLEdBQWlCN04sRUFBa0IvSixDQUFVLEVBRTNELE9BQUlBLEVBRUFwRyxHQUFDMmQsR0FBQSxDQUFxQixNQUFPeGIsRUFDM0IsU0FBQW5DLEdBQUNpRyxFQUFBLENBQWEsU0FBQTFGLEVBQVMsRUFDekIsRUFJR1AsR0FBQzBkLEdBQUEsQ0FBYSxNQUFPdmIsRUFBUSxTQUFBNUIsRUFBUyxDQUMvQyxFSzFCQSxPQUFTLGNBQUFoQixPQUFrQixRQ0MzQixPQUFTLGlCQUFBdUIsR0FBZSxpQkFBQWlHLEdBQWUsa0JBQUEvQixPQUFzQixpQkFFN0QsT0FBUyx5QkFBQWpFLE9BQTZCLGlCQUUvQixJQUFNMmQsR0FBWSxDQUN2QnhkLEVBQ0FDLElBQ2lCLENBQ2pCLElBQU0rRixFQUFTbEMsR0FBZSxFQUN4QjVELEVBQVNOLEdBQWMsRUFDdkIwUSxFQUFPekssR0FBYyxFQUVyQnRGLEVBQWFWLEdBQXNCLENBQ3ZDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFRCxNQUFPLENBQ0wsT0FBUThGLEVBQU8sR0FDZixXQUFZL0YsRUFBYU0sRUFBYUwsRUFBTyxTQUFTLFFBQ3RELEtBQU1vUSxFQUFLLFFBQVEsR0FBRyxNQUN4QixDQUNGLEVDeEJBLE9BQU94USxPQUFXLGlCQUNsQixPQUFTLGlCQUFBRixHQUFlLGtCQUFBa0UsT0FBc0IsaUJBQzlDLE9BQVMseUJBQUFqRSxPQUE2QixpQkFJL0IsSUFBTTRkLEdBQWdCLENBQzNCemQsRUFDQUMsSUFDcUIsQ0FDckIsSUFBTStGLEVBQVNsQyxHQUFlLEVBQ3hCNUQsRUFBU04sR0FBYyxFQUV2QlcsRUFBYVYsR0FBc0IsQ0FDdkMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVLNmMsRUFBYWxkLEdBQXNCLENBQ3ZDLEtBQU0sb0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUs4YyxFQUFtQm5kLEdBQXNCLENBQzdDLEtBQU0sMEJBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sUUFBUSxRQUMzQixDQUFDLEVBRUsrYyxFQUFpQnBkLEdBQXNCLENBQzNDLEtBQU0sd0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sS0FBSyxRQUN4QixDQUFDLEVBRUtnZCxFQUFpQnJkLEdBQXNCLENBQzNDLEtBQU0sd0JBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sUUFBUSxRQUMzQixDQUFDLEVBRUtpZCxFQUFnQnRkLEdBQXNCLENBQzFDLEtBQU0sdUJBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sT0FBTyxRQUMxQixDQUFDLEVBRUQsT0FBSUQsRUFDSyxDQUNMLE9BQVErRixFQUFPLEdBQUssUUFBVUEsRUFBTyxHQUNyQyxXQUFZekYsQ0FDZCxFQUdLVCxHQUFNRSxFQUFTLENBQ3BCLFFBRUUsQ0FDRSxPQUFRZ0csRUFBTyxHQUFLLFFBQVVBLEVBQU8sR0FDckMsV0FBWStXLENBQ2QsQ0FDRixFQUNBLGNBRUUsQ0FDRSxPQUFRL1csRUFBTyxHQUFLLFFBQVVBLEVBQU8sR0FDckMsV0FBWWdYLENBQ2QsQ0FDRixFQUNBLFlBRUUsQ0FDRSxPQUFRaFgsRUFBTyxHQUFLLFFBQVVBLEVBQU8sR0FDckMsV0FBWWlYLENBQ2QsQ0FDRixFQUNBLFlBRUUsQ0FDRSxPQUFRalgsRUFBTyxHQUFLLFFBQVVBLEVBQU8sR0FDckMsV0FBWWtYLENBQ2QsQ0FDRixFQUNBLFdBRUUsQ0FDRSxPQUFRbFgsRUFBTyxHQUFLLFFBQVVBLEVBQU8sR0FDckMsV0FBWW1YLENBQ2QsQ0FDRixDQUNGLENBQUMsQ0FDSCxFQzdGQSxPQUFTLG1CQUFBcFosT0FBdUIsaUJBSXpCLElBQU0yWixHQUFnQixDQUMzQjFkLEVBQ0FDLEtBSU8sQ0FDTCxRQUFTLEtBSEs4RCxHQUFnQixFQUdOLFFBQVEsQ0FBRyxDQUNyQyxHSEVGLE9BQU9qRSxPQUFXLGlCQWdCWixjQUFBaEIsRUEwQ0EsUUFBQUcsT0ExQ0Esb0JBWEMsSUFBTTBlLEdBQVMsQ0FBQyxDQUFFLE1BQUE3TyxDQUFNLElBQW1CLENBQ2hELElBQU1HLEVBQW1CNVEsR0FBV2lmLEVBQVMsRUFDdkNwWSxFQUFhcEUsRUFBZ0IsRUFFN0JHLEVBQVF1YyxHQUFVdk8sRUFBa0IvSixDQUFVLEVBQzlDMFksRUFBWUgsR0FBY3hPLEVBQWtCL0osQ0FBVSxFQUN0RDJZLEVBQVlILEdBQWN6TyxFQUFrQi9KLENBQVUsRUFFdEQ2RixFQUFPakwsR0FBTW1QLEVBQWtCLENBQ25DLFFBRUVuUSxFQUFDa0osRUFBQSxDQUNDLFlBQ0EsaUJBQWlCLEdBQ2pCLGVBQ0YsQ0FDRixFQUNBLGNBRUVsSixFQUFDa0osRUFBQSxDQUNDLGtCQUNBLGlCQUFpQixHQUNqQixlQUNGLENBQ0YsRUFDQSxZQUVFbEosRUFBQ2tKLEVBQUEsQ0FDQyxlQUNBLGlCQUFpQixHQUNqQixlQUNGLENBQ0YsRUFDQSxZQUVFbEosRUFBQ2tKLEVBQUEsQ0FDQyxZQUNBLGlCQUFpQixHQUNqQixlQUNGLENBQ0YsRUFDQSxXQUVFbEosRUFBQ2tKLEVBQUEsQ0FDQyxZQUNBLGlCQUFpQixHQUNqQixlQUNGLENBQ0YsQ0FDRixDQUFDLEVBRUQsT0FBSTlDLEVBRUFqRyxHQUFDNGQsR0FBQSxDQUEwQixNQUFPNWIsRUFDaEMsVUFBQW5DLEVBQUM2ZCxHQUFBLENBQXNCLE1BQU9pQixFQUM1QixTQUFBOWUsRUFBQ2lHLEVBQUEsQ0FDQyxTQUFBakcsRUFBQ2tKLEVBQUEsQ0FDQyxZQUNBLGlCQUFpQixHQUNqQixtQkFDRixFQUNGLEVBQ0YsRUFDQWxKLEVBQUM4ZCxHQUFBLENBQXNCLE1BQU9pQixFQUM1QixTQUFBL2UsRUFBQ2lHLEVBQUEsQ0FBYSxTQUFBK0osRUFBTSxFQUN0QixHQUNGLEVBS0Y3UCxHQUFDeWQsR0FBQSxDQUFrQixNQUFPemIsRUFDeEIsVUFBQW5DLEVBQUM2ZCxHQUFBLENBQXNCLE1BQU9pQixFQUFZLFNBQUE3UyxFQUFLLEVBQy9Dak0sRUFBQzhkLEdBQUEsQ0FBc0IsTUFBT2lCLEVBQVksU0FBQS9PLEVBQU0sR0FDbEQsQ0FFSixFSXBGTSxjQUFBaFEsT0FBQSxvQkFMQyxJQUFNeWUsR0FBZ0IsQ0FBQyxDQUFFLFFBQUF2ZCxDQUFRLElBQXNCLENBQzVELElBQU1pUCxFQUFtQmpQLEdBQW9CcWQsR0FFN0MsT0FDRXZlLEdBQUN3ZSxHQUFVLFNBQVYsQ0FBbUIsTUFBT3JPLEVBQ3pCLFNBQUFuUSxHQUFDeWUsR0FBQSxFQUFrQixFQUNyQixDQUVKLEVBRWFJLEdBQVMsQ0FBQyxDQUFFLFFBQUEzZCxFQUFTLE1BQUE4TyxDQUFNLElBQWUsQ0FDckQsSUFBTUcsRUFBbUJqUCxHQUFvQnFkLEdBRTdDLE9BQ0V2ZSxHQUFDd2UsR0FBVSxTQUFWLENBQW1CLE1BQU9yTyxFQUN6QixTQUFBblEsR0FBQzZlLEdBQUEsQ0FBVyxNQUFPN08sRUFBTyxFQUM1QixDQUVKLEVDeEJBLE9BQU94USxPQUFZLG9CQVFaLElBQU13ZixHQUFheGYsR0FBTztBQUFBLFVBQ3RCRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBO0FBQUEsRUFJeEJ1ZixHQUFrQnpmLEdBQU8sSUFBSSxXQUFXLENBQ25ELGtCQUFvQnFHLEdBQVNBLElBQVMsT0FDeEMsQ0FBQztBQUFBO0FBQUEsWUFFWW5HLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUEsRUFHNUJ3ZixHQUFvQjFmLEdBQU87QUFBQTtBQUFBLEVBSTNCMmYsR0FBa0IzZixHQUFPLElBQUksV0FBVyxDQUNuRCxrQkFBb0JxRyxHQUFTQSxJQUFTLE9BQ3hDLENBQUM7QUFBQSxVQUNVbkcsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQSxZQUN4QkEsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxFQUc1QjBmLEdBQXdCNWYsR0FBTztBQUFBLFVBR2pDRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBLGdCQUNwQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxZQUNwQ0EsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxFQUc1QjJmLEdBQWdDN2YsR0FBTztBQUFBLFVBR3pDRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBLGdCQUNwQkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxFQUdwQzRmLEdBQXFCOWYsR0FBTztBQUFBLFVBQzlCRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBO0FBQUE7RUM5Q3JDLE9BQVMsaUJBQUFvQixHQUFlLGlCQUFBaUcsT0FBcUIsaUJBRXRDLElBQU13WSxHQUFXcGUsR0FBb0MsQ0FDMUQsSUFBTXFRLEVBQU96SyxHQUFjLEVBQ3JCM0YsRUFBU04sR0FBYyxFQUU3QixNQUFPLENBQ0wsS0FBTTBRLEVBQUssUUFBUSxHQUFHLE1BQ3hCLENBQ0YsRUNUQSxPQUFTLG1CQUFBdk0sT0FBdUIsaUJBRXpCLElBQU11YSxHQUFnQnJlLElBSXBCLENBQ0wsT0FIYSxLQURDOEQsR0FBZ0IsRUFDRixRQUFRLENBQUcsRUFBSSxNQUk3QyxHQ1JGLE9BQVMsaUJBQUFuRSxHQUFlLGlCQUFBaUcsR0FBZSxtQkFBQTlCLE9BQXVCLGlCQUV2RCxJQUFNd2EsR0FBZ0J0ZSxHQUF5QyxDQUNwRSxJQUFNcVEsRUFBT3pLLEdBQWMsRUFDckIzRixFQUFTTixHQUFjLEVBQ3ZCMEUsRUFBVVAsR0FBZ0IsRUFXaEMsTUFBTyxDQUNMLE9BVEFPLEVBQVEsUUFBUSxDQUFHLEVBQ25CLElBQ0FBLEVBQVEsUUFBUSxDQUFHLEVBQ25CLElBQ0FBLEVBQVEsUUFBUSxDQUFHLEVBQ25CLElBQ0FBLEVBQVEsUUFBUSxDQUFHLEVBSW5CLEtBQU1nTSxFQUFLLFFBQVEsR0FBRyxNQUN4QixDQUNGLEVDcEJBLE9BQVMsaUJBQUExUSxHQUFlLGlCQUFBaUcsR0FBZSxtQkFBQTlCLE9BQXVCLGlCQUV2RCxJQUFNeWEsR0FDWHZlLEdBQzBCLENBQzFCLElBQU1xUSxFQUFPekssR0FBYyxFQUNyQjNGLEVBQVNOLEdBQWMsRUFFdkI4USxFQUFTLFNBREMzTSxHQUFnQixFQUNFLFFBQVEsQ0FBRyxFQUU3QyxNQUFPLENBQ0wsV0FBWSxjQUNaLEtBQU11TSxFQUFLLFFBQVEsR0FBRyxPQUN0QixPQUFRSSxDQUNWLENBQ0YsRUNhUSxjQUFBNVIsR0FDQSxRQUFBRyxPQURBLG9CQVhELElBQU13ZixHQUFPLENBQUMsQ0FBRSxNQUFBM1AsRUFBTyxZQUFBNFAsRUFBYSxNQUFBOU0sQ0FBTSxJQUFpQixDQUNoRSxJQUFNMU0sRUFBYXBFLEVBQWdCLEVBRTdCRyxFQUFRb2QsR0FBUW5aLENBQVUsRUFDMUJ5WixFQUFhTCxHQUFhcFosQ0FBVSxFQUNwQ21YLEVBQWFrQyxHQUFhclosQ0FBVSxFQUNwQzBaLEVBQW1CSixHQUFtQnRaLENBQVUsRUFFdEQsT0FBSUEsRUFFQWpHLEdBQUNtZixHQUFBLENBQW1CLE1BQU9uZCxFQUN6QixVQUFBbkMsR0FBQ2lmLEdBQUEsQ0FBZ0IsTUFBT1ksRUFBYSxTQUFBL00sRUFBTSxFQUMzQzNTLEdBQUMrZSxHQUFBLENBQ0MsVUFBQWxmLEdBQUNtZixHQUFBLENBQWdCLE1BQU81QixFQUFhLFNBQUF2TixFQUFNLEVBQzNDaFEsR0FBQ3FmLEdBQUEsQ0FBOEIsTUFBT1MsRUFDbkMsU0FBQUYsRUFDSCxHQUNGLEdBQ0YsRUFLRnpmLEdBQUM2ZSxHQUFBLENBQVcsTUFBTzdjLEVBQ2pCLFVBQUFuQyxHQUFDaWYsR0FBQSxDQUFnQixNQUFPWSxFQUFhLFNBQUEvTSxFQUFNLEVBQzNDM1MsR0FBQytlLEdBQUEsQ0FDQyxVQUFBbGYsR0FBQ21mLEdBQUEsQ0FBZ0IsTUFBTzVCLEVBQWEsU0FBQXZOLEVBQU0sRUFDM0NoUSxHQUFDb2YsR0FBQSxDQUFzQixNQUFPVSxFQUMzQixTQUFBRixFQUNILEdBQ0YsR0FDRixDQUVKLEVDL0NTLGNBQUE1ZixPQUFBLG9CQURGLElBQU0yZixHQUFPLENBQUMsQ0FBRSxNQUFBM1AsRUFBTyxZQUFBNFAsRUFBYSxNQUFBOU0sQ0FBTSxJQUN4QzlTLEdBQUMyZixHQUFBLENBQVMsTUFBTzNQLEVBQU8sWUFBYTRQLEVBQWEsTUFBTzlNLEVBQU8sRUNKekUsT0FBT3RULE9BQVksb0JBRVosSUFBTXVnQixHQUFpQnZnQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVV4QndnQixHQUFzQnhnQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVU3QnlnQixHQUFzQnpnQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWE3QjBnQixHQUF3QjFnQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTL0IyZ0IsR0FBc0IzZ0IsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxVQW9CL0JFLEdBQVVBLEVBQU0sSUFBSTtBQUFBLEVBR2xCMGdCLEdBQTZCNWdCLEdBQU87QUFBQTtBQUFBO0FBQUEsRUFLcEM2Z0IsR0FBMkI3Z0IsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFtQmxDOGdCLEdBQXVCOWdCLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQzlFckMsT0FDRSxPQUFBUSxHQURGLFFBQUFHLE9BQUEsb0JBSEMsSUFBTW9nQixHQUFXLENBQUMsQ0FBQyxJQUV0QnBnQixHQUFDK2YsR0FBQSxDQUNDLFVBQUEvZixHQUFDNGYsR0FBQSxDQUNDLFVBQUEvZixHQUFDZ2dCLEdBQUEsRUFBb0IsRUFDckJoZ0IsR0FBQ2lnQixHQUFBLEVBQW9CLEdBQ3ZCLEVBQ0FqZ0IsR0FBQ3NnQixHQUFBLEVBQXFCLEdBQ3hCLEVDYkssY0FBQXRnQixPQUFBLG9CQURGLElBQU11Z0IsR0FBVyxDQUFDLENBQUMsSUFDakJ2Z0IsR0FBQ3VnQixHQUFBLEVBQWEsRUNMdkIsT0FBUyxjQUFBaGhCLEdBQVksYUFBQWloQixHQUFXLFlBQUE5ZSxPQUFnQixRQ0FoRCxPQUNFLGlCQUFBWixHQUNBLGlCQUFBaUcsR0FDQSxrQkFBQS9CLEdBQ0EsbUJBQUFDLE9BQ0ssaUJBQ1AsT0FBUyx5QkFBQWxFLE9BQTZCLGlCQ04vQixJQUFLMGYsUUFDVkEsRUFBQSxTQUFXLFdBQ1hBLEVBQUEsU0FBVyxXQUNYQSxFQUFBLE1BQVEsUUFIRUEsUUFBQSxJRFFaLE9BQU96ZixPQUFXLGlCQUdYLElBQU0wZixHQUFnQixDQUMzQnhmLEVBQ0FDLElBQ2dCLENBQ2hCLElBQU1DLEVBQVNOLEdBQWMsRUFDdkJtRyxFQUFRRixHQUFjLEVBQ3RCeUksRUFBU3hLLEdBQWUsRUFDeEIyYixFQUFPMWIsR0FBZ0IsRUFFdkJ3SyxFQUFrQjFPLEdBQXNCLENBQzVDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFS3NPLEVBQW1CdE8sRUFBTyxPQUFPLFNBRWpDK0YsRUFBVyxDQUNmLFFBQVMsQ0FDUCxNQUFPL0YsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsT0FDM0IsRUFDQSxNQUFPLENBQ0wsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVBLEVBQU8sU0FBUyxTQUN2QyxRQUFTQSxFQUFPLFNBQVMsT0FDM0IsRUFDQSxRQUFTLENBQ1AsTUFBT0EsRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sV0FBVyxTQUM5QixPQUFRLGFBQWVBLEVBQU8sV0FBVyxTQUN6QyxRQUFTQSxFQUFPLFdBQVcsUUFDN0IsRUFDQSxLQUFNNkYsRUFBTSxRQUFRLEdBQUcsT0FDdkIsT0FBUXVJLEVBQU8sR0FDZixhQUFjQSxFQUFPLEdBQ3JCLElBQUttUixFQUFLLFFBQVEsQ0FBQyxDQUNyQixFQUVNaFIsRUFBUSxDQUNaLFFBQVMsQ0FDUCxNQUFPdk8sRUFBTyxTQUFTLFNBQ3ZCLFdBQVlBLEVBQU8sU0FBUyxRQUM1QixPQUFRLGFBQWVzTyxFQUN2QixRQUFTdE8sRUFBTyxTQUFTLE9BQzNCLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQU8sU0FBUyxTQUN2QixXQUFZQSxFQUFPLFNBQVMsUUFDNUIsT0FBUSxhQUFlc08sRUFDdkIsUUFBU3RPLEVBQU8sU0FBUyxPQUMzQixFQUNBLFFBQVMsQ0FDUCxNQUFPQSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxXQUFXLFNBQzlCLE9BQVEsYUFBZUEsRUFBTyxXQUFXLFNBQ3pDLFFBQVNBLEVBQU8sV0FBVyxRQUM3QixFQUNBLEtBQU02RixFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRdUksRUFBTyxHQUNmLGFBQWNBLEVBQU8sR0FDckIsSUFBS21SLEVBQUssUUFBUSxDQUFDLENBQ3JCLEVBRU14UyxFQUFXLENBQ2YsUUFBUyxDQUNQLE1BQU8vTSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFNBQzVCLE9BQVEsYUFBZUEsRUFBTyxTQUFTLFNBQ3ZDLFFBQVNBLEVBQU8sU0FBUyxRQUMzQixFQUNBLE1BQU8sQ0FDTCxNQUFPQSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFNBQzVCLE9BQVEsYUFBZUEsRUFBTyxTQUFTLFNBQ3ZDLFFBQVNBLEVBQU8sU0FBUyxRQUMzQixFQUNBLFFBQVMsQ0FDUCxNQUFPQSxFQUFPLFNBQVMsU0FDdkIsV0FBWUEsRUFBTyxTQUFTLFNBQzVCLE9BQVEsYUFBZUEsRUFBTyxTQUFTLFNBQ3ZDLFFBQVNBLEVBQU8sU0FBUyxRQUMzQixFQUNBLEtBQU02RixFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRdUksRUFBTyxHQUNmLGFBQWNBLEVBQU8sR0FDckIsSUFBS21SLEVBQUssUUFBUSxDQUFDLENBQ3JCLEVBRU12WixFQUFXLENBQ2YsUUFBUyxDQUNQLE1BQU9xSSxFQUNQLFdBQVlBLEVBQ1osT0FBUSxhQUFlQSxFQUN2QixRQUFTQSxDQUNYLEVBQ0EsTUFBTyxDQUNMLE1BQU9BLEVBQ1AsV0FBWUEsRUFDWixPQUFRLGFBQWVBLEVBQ3ZCLFFBQVNBLENBQ1gsRUFDQSxRQUFTLENBQ1AsTUFBT0EsRUFDUCxXQUFZQSxFQUNaLE9BQVEsYUFBZUEsRUFDdkIsUUFBU0EsQ0FDWCxFQUNBLEtBQU14SSxFQUFNLFFBQVEsR0FBRyxPQUN2QixPQUFRdUksRUFBTyxHQUNmLGFBQWNBLEVBQU8sR0FDckIsSUFBS21SLEVBQUssUUFBUSxDQUFDLENBQ3JCLEVBRUEsT0FBSXhmLEVBQ0tpRyxFQUdGcEcsR0FBTUUsRUFBUyxDQUNwQixZQUF3QmlHLENBQVEsRUFDaEMsU0FBcUJ3SSxDQUFLLEVBQzFCLFlBQXdCeEIsQ0FBUSxDQUNsQyxDQUFDLENBQ0gsRUV6SUEsT0FBTzNPLElBQVUsT0FBQTJNLE9BQVcsb0JBR3JCLElBQU15VSxHQUFjcGhCLEdBQU8sTUFBTSxNQUFNLENBQUUsS0FBTSxPQUFRLENBQUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGNBT2hERSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsYUFDckNBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNwQ21oQixHQUF1QnJoQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVF0Q0UsR0FDRCxDQUFDQSxFQUFNLGFBQ1B5TTtBQUFBO0FBQUEsa0JBRWV6TSxHQUFVQSxFQUFNLE1BQU0sTUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBLEtBR2hEO0FBQUEsRUFHUW9oQixHQUFtQnRoQixHQUFPO0FBQUEsVUFDNUJFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsV0FDekJBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFlBS2xDQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxNQUFNO0FBQUEsbUJBQzdCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLHNCQUN6QkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhbERpUixHQUF3Qm5SLEdBQU87QUFBQTtBQUFBO0FBQUEsRUFLL0JvUixHQUFlcFIsR0FBTztBQUFBO0FBQUEsbUJBRWZFLEdBQVVBLEVBQU0sTUFBTSxZQUFZO0FBQUEsc0JBQy9CQSxHQUFVQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbERxaEIsR0FBK0J2aEIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsWUFPdENFLEdBQVVBLEVBQU0sTUFBTSxRQUFRLE1BQU07QUFBQSxtQkFDN0JBLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUE7QUFBQTtBQUFBLEVBS25Dc2hCLEdBQXFCeGhCLEdBQU87QUFBQTtBQUFBO0FBQUEsU0FLL0JFLEdBQVVBLEVBQU0sTUFBTSxHQUFHO0FBQUEsRUFHdEJ1aEIsR0FBNEJ6aEIsR0FBTztBQUFBO0FBQUEsbUJBRTVCRSxHQUFVQSxFQUFNLE1BQU0sWUFBWTtBQUFBLHNCQUMvQkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2xEd2hCLEdBQTJCMWhCLEdBQU87QUFBQSxVQUNwQ0UsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQSxXQUN6QkEsR0FBVUEsRUFBTSxNQUFNLFFBQVEsS0FBSztBQUFBO0FBQUE7QUFBQSxtQkFHM0JBLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUE7QUFBQSxzQkFFekJBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtFSHBHL0QsT0FBUyxnQkFBQUosT0FBb0IsMEJJaEI3QixPQUFTLGlCQUFBa0IsT0FBcUIsUUFFdkIsSUFBTTJnQixjQUdBQyxHQUFtQzVnQixHQUFjMmdCLEVBQWUsRUoyQ3JFLE9BQ0UsT0FBQW5oQixFQURGLFFBQUFHLE9BQUEsb0JBekJELElBQU1raEIsR0FBUSxDQUFDLENBQ3BCLFNBQUF0UixFQUNBLGFBQUF1UixFQUNBLFlBQUFDLEVBQ0EsU0FBQUMsRUFDQSxRQUFBQyxFQUNBLEtBQUF6WixFQUNBLGVBQUFrSSxDQUNGLElBQTJCLENBQ3pCLElBQU1DLEVBQW1CNVEsR0FBVzZoQixFQUFRLEVBQ3RDamdCLEVBQWFhLEVBQWdCLEVBRTdCRyxFQUFxQnVlLEdBQWN2USxFQUFrQmhQLENBQVUsRUFDL0RpUCxFQUFhRCxJQUFxQixXQUNsQyxDQUFDdVIsRUFBU0MsQ0FBVSxFQUFJamdCLEdBQThCd08sQ0FBYyxFQVExRSxPQU5Bc1EsR0FBVSxJQUFNLENBQ1Z6USxHQUNGQSxFQUFTMlIsQ0FBa0IsQ0FFL0IsRUFBRyxDQUFDQSxDQUFPLENBQUMsRUFFUnZnQixFQUVBaEIsR0FBQzZnQixHQUFBLENBQW1CLE1BQU83ZSxFQUN6QixVQUFBaEMsR0FBQzRnQixHQUFBLENBQTZCLE1BQU81ZSxFQUNuQyxVQUFBbkMsRUFBQ2loQixHQUFBLENBQTBCLE1BQU85ZSxFQUFPLEVBQ3pDbkMsRUFBQ2toQixHQUFBLENBQXlCLE1BQU8vZSxFQUM5QixTQUFBcWYsRUFDSCxHQUNGLEVBQ0FyaEIsR0FBQzRnQixHQUFBLENBQTZCLE1BQU81ZSxFQUNuQyxVQUFBbkMsRUFBQ2loQixHQUFBLENBQTBCLE1BQU85ZSxFQUFPLEVBQ3pDbkMsRUFBQ2toQixHQUFBLENBQXlCLE1BQU8vZSxFQUM5QixTQUFBc2YsRUFDSCxHQUNGLEdBQ0YsRUFLRnRoQixHQUFDNmdCLEdBQUEsQ0FBbUIsTUFBTzdlLEVBQ3pCLFVBQUFoQyxHQUFDMGdCLEdBQUEsQ0FBcUIsWUFBYXpRLEVBQVksTUFBT2pPLEVBQ3BELFVBQUFuQyxFQUFDNGdCLEdBQUEsQ0FDQyxTQUFVeFEsRUFDVixnQkFBZUEsRUFDZixLQUFNcEksRUFDTixhQUFZc1osRUFDWixNQUFPLEVBQ1AsUUFBU0ksSUFBWSxHQUNyQixTQUFVLElBQU1DLEVBQVcsRUFBSSxFQUMvQixNQUFPeGYsRUFDVCxFQUNBaEMsR0FBQ3dRLEdBQUEsQ0FBc0IsTUFBT3hPLEVBQzVCLFVBQUFuQyxFQUFDa0csRUFBQSxDQUNDLEtBQU01RyxHQUFhLFNBQ25CLE9BQ0VVLEVBQUNJLEdBQUEsQ0FDQyxpQkFBa0JvaEIsRUFDbEIsYUFDQSxXQUNGLEVBRUosRUFDQXhoQixFQUFDNFEsR0FBQSxDQUFhLE1BQU96TyxFQUNuQixTQUFBbkMsRUFBQ2tKLEVBQUEsQ0FDQyxhQUNBLGNBQ0EsaUJBQWtCc1ksRUFDbEIsZ0JBQ0YsRUFDRixHQUNGLEVBQ0F4aEIsRUFBQzhnQixHQUFBLENBQWlCLE1BQU8zZSxFQUFRLFNBQUFxZixFQUFTLEdBQzVDLEVBQ0FyaEIsR0FBQzBnQixHQUFBLENBQXFCLFlBQWF6USxFQUFZLE1BQU9qTyxFQUNwRCxVQUFBbkMsRUFBQzRnQixHQUFBLENBQ0MsU0FBVXhRLEVBQ1YsZ0JBQWVBLEVBQ2YsS0FBTXBJLEVBQ04sYUFBWXVaLEVBQ1osTUFBTyxFQUNQLFNBQVUsSUFBTUksRUFBVyxFQUFLLEVBQ2hDLFFBQVNELElBQVksR0FDckIsTUFBT3ZmLEVBQ1QsRUFDQWhDLEdBQUN3USxHQUFBLENBQXNCLE1BQU94TyxFQUM1QixVQUFBbkMsRUFBQ2tHLEVBQUEsQ0FDQyxLQUFNNUcsR0FBYSxTQUNuQixPQUNFVSxFQUFDSSxHQUFBLENBQ0MsaUJBQWtCcWhCLEVBQ2xCLGFBQ0EsVUFDRixFQUVKLEVBQ0F6aEIsRUFBQzRRLEdBQUEsQ0FBYSxNQUFPek8sRUFDbkIsU0FBQW5DLEVBQUNrSixFQUFBLENBQ0MsYUFDQSxjQUNBLGlCQUFrQnNZLEVBQ2xCLGdCQUNGLEVBQ0YsR0FDRixFQUNBeGhCLEVBQUM4Z0IsR0FBQSxDQUFpQixNQUFPM2UsRUFBUSxTQUFBc2YsRUFBUSxHQUMzQyxHQUNGLENBRUosRUtwSE0sY0FBQXpoQixPQUFBLG9CQWRDLElBQU1xaEIsR0FBUSxDQUFDLENBQ3BCLFFBQUFuZ0IsRUFDQSxTQUFBNk8sRUFDQSxhQUFBdVIsRUFDQSxZQUFBQyxFQUNBLFNBQUFDLEVBQ0EsUUFBQUMsRUFDQSxLQUFBelosRUFDQSxlQUFBa0ksQ0FDRixJQUFjLENBQ1osSUFBTXVRLEVBQWV2ZixHQUFvQmlnQixHQUV6QyxPQUNFbmhCLEdBQUNvaEIsR0FBUyxTQUFULENBQWtCLE1BQU9YLEVBQ3hCLFNBQUF6Z0IsR0FBQ3FoQixHQUFBLENBQ0MsS0FBTXJaLEVBQ04sU0FBVXdaLEVBQ1YsUUFBU0MsRUFDVCxhQUFjSCxFQUNkLFlBQWFDLEVBQ2IsU0FBVXhSLEVBQ1YsZUFBZ0JHLEVBQ2xCLEVBQ0YsQ0FFSixFQzlCTyxJQUFLMFIsUUFDVkEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsT0FBUyxTQUZDQSxRQUFBLElDRVosT0FBUyxZQUFBbGdCLE9BQWdCLFFDRHpCLE9BQU9sQyxPQUFZLG9CQUVaLElBQU1xaUIsR0FBMEJyaUIsR0FBTyxNQUlqQ3NpQixHQUFrQ3RpQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQVFsQ0UsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxzQkFDekJBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUE7QUFBQSxFQUkxQ3FpQixHQUFnQ3ZpQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQVFoQ0UsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxzQkFDekJBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU8xQ3NpQixHQUE4QnhpQixHQUFPLE1DbkNsRCxPQUNFLHlCQUFBdUIsR0FDQSxpQkFBQUQsR0FDQSxrQkFBQWtFLE9BQ0ssaUJBQ1AsT0FBT2hFLE9BQVcsaUJBRVgsSUFBTWloQixHQUNYOWdCLEdBQzRCLENBQzVCLElBQU0rRixFQUFTbEMsR0FBZSxFQUN4QjVELEVBQVNOLEdBQWMsRUFFdkIyTyxFQUFrQjFPLEdBQXNCLENBQzVDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFRCxPQUFPSixHQUFNRyxFQUFZLENBQ3ZCLENBQ0UsR0FDQSxDQUNFLE9BQVErRixFQUFPLEdBQ2YsV0FBWTlGLEVBQU8sU0FBUyxRQUM5QixDQUNGLEVBQ0EsQ0FDRSxHQUNBLENBQ0UsT0FBUThGLEVBQU8sR0FDZixXQUFZdUksQ0FDZCxDQUNGLENBQ0YsQ0FBQyxDQUNILEVDOUJBLE9BQVMsY0FBQWxRLE9BQWtCLFFDTDNCLE9BQVMsaUJBQUFpQixPQUFxQixRQUV2QixJQUFNMGhCLFlBSUFDLEdBQXVCM2hCLEdBQWMsRURRdkMsbUJBQUFvRSxHQUFBLE9BQUE1RSxPQUFBLG9CQU5KLElBQU1vaUIsR0FBUyxDQUFDLENBQUUsTUFBQXBTLENBQU0sSUFBZ0MsQ0FDN0QsR0FBTSxDQUFFLFdBQUFxUyxFQUFZLGNBQUFDLENBQWMsRUFBUy9pQixHQUFXNGlCLEVBQW9CLEVBQ3BFL2IsRUFBYSxHQUNiakUsRUFBUThmLEdBQXFCN2IsQ0FBVSxFQUU3QyxPQUFJQSxFQUNLcEcsR0FBQTRFLEdBQUEsRUFBRSxFQUlUNUUsR0FBQytoQixHQUFBLENBQ0MsUUFBUyxJQUFNLENBQ2JPLEVBQ0VELElBQWUsc0JBR2pCLENBQ0YsRUFDQSxnQkFBYyxvQkFDZCxNQUFPbGdCLEVBQ1AsTUFBTzZOLEVBRVAsU0FBQWhRLEdBQUNrSixFQUFBLENBQ0MsWUFDQSxpQkFBa0I4RyxFQUNsQixlQUNGLEVBQ0YsQ0FFSixFRTdCQSxPQUFTLGNBQUF6USxPQUFrQixRQWdCbkIsY0FBQVMsR0FRSixRQUFBRyxPQVJJLG9CQVpELElBQU1vaUIsR0FBb0IsQ0FBQyxDQUNoQyxTQUFBaGlCLEVBQ0EsWUFBQWlpQixDQUNGLElBQThCLENBQzVCLEdBQU0sQ0FBRSxXQUFBSCxDQUFXLEVBQVM5aUIsR0FBVzRpQixFQUFvQixFQUNyRE0sRUFBU0osSUFBZSxPQUN4QmpjLEVBQWFwRSxFQUFnQixFQUM3QkcsRUFBUThmLEdBQXFCN2IsQ0FBVSxFQUU3QyxPQUFJQSxFQUVBcEcsR0FBQzZoQixHQUFBLENBQXdCLE1BQU8xZixFQUM5QixTQUFBbkMsR0FBQzhoQixHQUFBLENBQ0MsTUFBTzNmLEVBQ1IsRUFDSCxFQUtGaEMsR0FBQzBoQixHQUFBLENBQXdCLE1BQU8xZixFQUM5QixVQUFBbkMsR0FBQ29pQixHQUFBLENBQU8sTUFBT0ksRUFBYSxFQUM1QnhpQixHQUFDZ2lCLEdBQUEsQ0FBNEIsTUFBTzdmLEVBQU8sUUFBU3NnQixFQUNqRCxTQUFBbGlCLEVBQ0gsR0FDRixDQUVKLEVMbkJNLGNBQUFQLE9BQUEsb0JBWkMsSUFBTXVpQixHQUFvQixDQUFDLENBQ2hDLFNBQUFoaUIsRUFDQSxRQUFBVyxFQUNBLFlBQUFzaEIsQ0FDRixJQUEwQixDQUN4QixJQUFNRSxFQUFrQ3hoQixHQUVwQ2doQixHQUNFLENBQUNHLEVBQVlDLENBQWEsRUFBSTVnQixHQUFTZ2hCLENBQStCLEVBRTVFLE9BQ0UxaUIsR0FBQ21pQixHQUFxQixTQUFyQixDQUE4QixNQUFPLENBQUUsV0FBQUUsRUFBWSxjQUFBQyxDQUFjLEVBQ2hFLFNBQUF0aUIsR0FBQ3VpQixHQUFBLENBQTJCLFlBQWFDLEVBQ3RDLFNBQUFqaUIsRUFDSCxFQUNGLENBRUosRU16QkEsT0FBT2YsT0FBWSxvQkFFWixJQUFNbWpCLEdBQXlCbmpCLEdBQU8sTUFFaENvakIsR0FBc0JwakIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFLL0JFLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUEsV0FDMUJBLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVzFCbWpCLEdBQTBCcmpCLEdBQU87QUFBQSxZQUlqQ0UsR0FBV0EsRUFBTSxRQUFVLE9BQVMsUUFBUztBQUFBO0FBQUEsRUFJN0NvakIsR0FBdUJ0akIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTTlCdWpCLEdBQXVCdmpCLEdBQU87QUFBQTtBQUFBLEVBSTlCd2pCLEdBQXNCeGpCLEdBQU87QUFBQSxtQkFDdEJFLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUEsZ0JBQy9CQSxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBO0FBQUEsV0FFckNBLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUE7QUFBQTtBQUFBO0VDNUN2QyxPQUFTLGlCQUFBb0IsR0FBZSxpQkFBQWlHLEdBQWUsa0JBQUEvQixPQUFzQixpQkFDN0QsT0FBUyx5QkFBQWpFLE9BQTZCLGlCQUcvQixJQUFNa2lCLEdBQW1COWhCLEdBQXVDLENBQ3JFLElBQU1DLEVBQVNOLEdBQWMsRUFDdkJtRyxFQUFRRixHQUFjLEVBQ3RCeUksRUFBU3hLLEdBQWUsRUFFeEJ5SyxFQUFrQjFPLEdBQXNCLENBQzVDLEtBQU0sV0FDTixPQUFRSyxFQUFPLFdBQ2YsU0FBVUEsRUFBTyxTQUFTLFFBQzVCLENBQUMsRUFFSytGLEVBQVcsQ0FDZixPQUFRLGFBQWUvRixFQUFPLFNBQVMsU0FDdkMsTUFBTzZGLEVBQU0sUUFBUSxHQUFHLEtBQ3hCLE1BQU83RixFQUFPLFNBQVMsU0FDdkIsT0FBUW9PLEVBQU8sR0FDZixXQUFZQyxDQUNkLEVBRU1ySSxFQUFXLENBQ2YsT0FBUSxhQUFlaEcsRUFBTyxTQUFTLFNBQ3ZDLE1BQU82RixFQUFNLE9BQU8sR0FBRyxLQUN2QixNQUFPd0ksRUFDUCxPQUFRRCxFQUFPLEdBQ2YsV0FBWUMsQ0FDZCxFQUVBLE9BQUl0TyxFQUNLaUcsRUFHRkQsQ0FDVCxFQ3ZCSSxjQUFBbkgsT0FBQSxvQkFMRyxJQUFNa2pCLEdBQVUsQ0FBQyxDQUFFLFNBQUEzaUIsQ0FBUyxJQUE2QixDQUM5RCxJQUFNWSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBdUI4Z0IsR0FBZ0I5aEIsQ0FBVSxFQUV2RCxPQUNFbkIsR0FBQzJpQixHQUFBLENBQXVCLE1BQU94Z0IsRUFBUSxTQUFBNUIsRUFBUyxDQUVwRCxFQ0ZBLE9BQVMsY0FBQWhCLE9BQWtCLFFDYnBCLElBQUs0akIsUUFDVkEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsT0FBUyxTQUZDQSxRQUFBLElDQ1osT0FBZ0IsaUJBQUEzaUIsT0FBcUIsUUFFOUIsSUFBTTRpQixZQUdBQyxHQUdSN2lCLEdBQWMsQ0FDakIsaUJBQWtCNGlCLEdBQ2xCLG9CQUFxQixJQUFNLENBQUMsQ0FDOUIsQ0FBQyxFRmFLLE9BRUksT0FBQXBqQixHQUZKLFFBQUFHLE9BQUEsb0JBUkMsSUFBTW1qQixHQUFTLENBQUMsQ0FBRSxNQUFBM2dCLEVBQU8sU0FBQXBDLENBQVMsSUFBbUMsQ0FDMUUsSUFBTVksRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQXVCOGdCLEdBQWdCOWhCLENBQVUsRUFDakQsQ0FBRSxpQkFBQWdpQixDQUFpQixFQUFTNWpCLEdBQVc4akIsRUFBWSxFQUNuRFosRUFBU1UsSUFBcUJBLEVBQWlCLEtBRXJELE9BQUloaUIsRUFFQWhCLEdBQUN5aUIsR0FBQSxDQUFvQixNQUFPemdCLEVBQzFCLFVBQUFuQyxHQUFDNmlCLEdBQUEsQ0FBd0IsTUFBTzFnQixFQUFPLFFBQVMsR0FDOUMsU0FBQW5DLEdBQUNrSixFQUFBLENBQ0MsYUFDQSxvQkFDQSxtQkFDQSxpQkFBa0J2RyxFQUNwQixFQUNGLEVBQ0EzQyxHQUFDZ2pCLEdBQUEsQ0FBb0IsTUFBTzdnQixFQUFRLFNBQUFRLEVBQU0sRUFDMUMzQyxHQUFDOGlCLEdBQUEsQ0FBc0IsU0FBQXZpQixFQUFTLEdBQ2xDLEVBS0ZKLEdBQUN5aUIsR0FBQSxDQUFvQixNQUFPemdCLEVBQzFCLFVBQUFuQyxHQUFDNmlCLEdBQUEsQ0FBd0IsTUFBTzFnQixFQUFPLFFBQVNzZ0IsRUFDOUMsU0FBQXppQixHQUFDa0osRUFBQSxDQUNDLGFBQ0Esb0JBQ0EsZUFDQSxpQkFBa0J2RyxFQUNwQixFQUNGLEVBQ0EzQyxHQUFDLFFBQU0sU0FBQTJDLEVBQU0sRUFDYjNDLEdBQUM4aUIsR0FBQSxDQUFzQixTQUFBdmlCLEVBQVMsR0FDbEMsQ0FFSixFRzFDUyxjQUFBUCxPQUFBLG9CQUpGLElBQU11akIsR0FBVSxDQUFDLENBQUUsU0FBQWhqQixDQUFTLElBQW9DLENBQ3JFLElBQU1ZLEVBQWFhLEVBQWdCLEVBQzdCRyxFQUF1QjhnQixHQUFnQjloQixDQUFVLEVBRXZELE9BQU9uQixHQUFDK2lCLEdBQUEsQ0FBcUIsTUFBTzVnQixFQUFRLFNBQUE1QixFQUFTLENBQ3ZELEVDUFMsY0FBQVAsT0FBQSxvQkFERixJQUFNa2pCLEdBQVUsQ0FBQyxDQUFFLFNBQUEzaUIsQ0FBUyxJQUMxQlAsR0FBQ2tqQixHQUFBLENBQWtCLFNBQUEzaUIsRUFBUyxFQUdyQzJpQixHQUFRLE9BQVNJLEdBQ2pCSixHQUFRLFFBQVVLLEdDVGxCLE9BQU8vakIsT0FBWSxvQkFFWixJQUFNZ2tCLEdBQXFCaGtCLEdBQU87QUFBQSxnQkFDeEJFLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUEsbUJBQ3pCQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLEVBR25DK2pCLEdBQWtCamtCLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLFVBSzNCRSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBLFdBQzFCQSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUzFCZ2tCLEdBQXNCbGtCLEdBQU87QUFBQSxZQUk3QkUsR0FBV0EsRUFBTSxRQUFVLE9BQVMsUUFBUztBQUFBO0FBQUEsRUFJN0Npa0IsR0FBbUJua0IsR0FBTztBQUFBO0FBQUEsRUFJMUJ3akIsR0FBc0J4akIsR0FBTztBQUFBLG1CQUN0QkUsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxnQkFDL0JBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUE7QUFBQSxXQUVyQ0EsR0FBVUEsRUFBTSxNQUFNLEtBQUs7QUFBQTtBQUFBO0FBQUE7RUN2Q3ZDLE9BQVMsaUJBQUFvQixHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUM3RCxPQUFTLHlCQUFBakUsT0FBNkIsaUJBRy9CLElBQU02aUIsR0FBZXppQixHQUFtQyxDQUM3RCxJQUFNQyxFQUFTTixHQUFjLEVBQ3ZCbUcsRUFBUUYsR0FBYyxFQUN0QnlJLEVBQVN4SyxHQUFlLEVBRXhCeUssRUFBa0IxTyxHQUFzQixDQUM1QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUsrRixFQUFXLENBQ2YsT0FBUSxhQUFlL0YsRUFBTyxTQUFTLFNBQ3ZDLE1BQU82RixFQUFNLE9BQU8sR0FBRyxLQUN2QixNQUFPN0YsRUFBTyxTQUFTLFNBQ3ZCLE9BQVFvTyxFQUFPLEdBQ2YsV0FBWUMsQ0FDZCxFQUVNckksRUFBVyxDQUNmLE9BQVEsYUFBZWhHLEVBQU8sU0FBUyxTQUN2QyxNQUFPNkYsRUFBTSxPQUFPLEdBQUcsS0FDdkIsTUFBT3dJLEVBQ1AsT0FBUUQsRUFBTyxHQUNmLFdBQVlDLENBQ2QsRUFFQSxPQUFJdE8sRUFDS2lHLEVBR0ZELENBQ1QsRUMzQlMsY0FBQW5ILE9BQUEsb0JBSkYsSUFBTTZqQixHQUFNLENBQUMsQ0FBRSxTQUFBdGpCLENBQVMsSUFBeUIsQ0FDdEQsSUFBTVksRUFBYWEsRUFBZ0IsRUFDN0JHLEVBQW1CeWhCLEdBQVl6aUIsQ0FBVSxFQUUvQyxPQUFPbkIsR0FBQ3dqQixHQUFBLENBQW1CLE1BQU9yaEIsRUFBUSxTQUFBNUIsRUFBUyxDQUNyRCxFQ0RBLE9BQVMsY0FBQWhCLE9BQWtCLFFBWXJCLE9BQ0UsT0FBQVMsR0FERixRQUFBRyxPQUFBLG9CQVJDLElBQU1takIsR0FBUyxDQUFDLENBQUUsTUFBQTNnQixDQUFNLElBQStCLENBQzVELElBQU14QixFQUFhYSxFQUFnQixFQUM3QkcsRUFBbUJ5aEIsR0FBWXppQixDQUFVLEVBQ3pDLENBQUUsaUJBQUFnaUIsQ0FBaUIsRUFBUzVqQixHQUFXOGpCLEVBQVksRUFDbkRaLEVBQVNVLElBQXFCQSxFQUFpQixLQUVyRCxPQUFJaGlCLEVBRUFoQixHQUFDc2pCLEdBQUEsQ0FBZ0IsTUFBT3RoQixFQUN0QixVQUFBbkMsR0FBQ2dqQixHQUFBLENBQW9CLE1BQU83Z0IsRUFBUSxTQUFBUSxFQUFNLEVBQzFDM0MsR0FBQzBqQixHQUFBLENBQW9CLE1BQU92aEIsRUFBTyxRQUFTLEdBQzFDLFNBQUFuQyxHQUFDa0osRUFBQSxDQUNDLGNBQ0Esb0JBQ0EsbUJBQ0EsaUJBQWtCdkcsRUFDcEIsRUFDRixHQUNGLEVBS0Z4QyxHQUFDc2pCLEdBQUEsQ0FBZ0IsTUFBT3RoQixFQUN0QixVQUFBbkMsR0FBQyxRQUFNLFNBQUEyQyxFQUFNLEVBQ2IzQyxHQUFDMGpCLEdBQUEsQ0FBb0IsTUFBT3ZoQixFQUFPLFFBQVNzZ0IsRUFDMUMsU0FBQXppQixHQUFDa0osRUFBQSxDQUNDLGNBQ0Esb0JBQ0EsZUFDQSxpQkFBa0J2RyxFQUNwQixFQUNGLEdBQ0YsQ0FFSixFQ3ZDUyxjQUFBM0MsT0FBQSxvQkFKRixJQUFNdWpCLEdBQVUsQ0FBQyxDQUFFLFNBQUFoakIsQ0FBUyxJQUFnQyxDQUNqRSxJQUFNWSxFQUFhYSxFQUFnQixFQUM3QkcsRUFBbUJ5aEIsR0FBWXppQixDQUFVLEVBRS9DLE9BQU9uQixHQUFDMmpCLEdBQUEsQ0FBaUIsTUFBT3hoQixFQUFRLFNBQUE1QixFQUFTLENBQ25ELEVDSlMsY0FBQVAsT0FBQSxvQkFERixJQUFNNmpCLEdBQU0sQ0FBQyxDQUFFLFNBQUF0akIsQ0FBUyxJQUN0QlAsR0FBQzZqQixHQUFBLENBQWMsU0FBQXRqQixFQUFTLEVBR2pDc2pCLEdBQUksT0FBU1AsR0FDYk8sR0FBSSxRQUFVTixHQ1ZkLE9BQU83WCxPQUFXLFFDRWxCLE9BQ0UsaUJBQUE1SyxHQUNBLGlCQUFBaUcsR0FDQSxrQkFBQS9CLEdBQ0EsbUJBQUFDLE9BQ0ssaUJBQ1AsT0FBUyx5QkFBQWxFLE9BQTZCLGlCQUUvQixJQUFNK2lCLEdBQWUzaUIsR0FBd0MsQ0FDbEUsSUFBTXFRLEVBQU96SyxHQUFjLEVBQ3JCM0YsRUFBU04sR0FBYyxFQUN2QjBFLEVBQVVQLEdBQWdCLEVBQzFCaUMsRUFBU2xDLEdBQWUsRUFFeEJ2RCxFQUFhVixHQUFzQixDQUN2QyxLQUFNLFdBQ04sT0FBUUssRUFBTyxXQUNmLFNBQVVBLEVBQU8sU0FBUyxRQUM1QixDQUFDLEVBRUQsT0FBSUQsRUFDSyxDQUNMLEtBQU1xUSxFQUFLLFFBQVEsR0FBRyxPQUN0QixPQUFRLGFBQWUvUCxFQUN2QixRQUFTK0QsRUFBUSxRQUFRLENBQUcsRUFDNUIsT0FBUTBCLEVBQU8sR0FDZixNQUFPOUYsRUFBTyxTQUFTLFNBQ3ZCLFdBQVksYUFDZCxFQUdLLENBQ0wsS0FBTW9RLEVBQUssUUFBUSxHQUFHLE9BQ3RCLE9BQVEsYUFBZXBRLEVBQU8sU0FBUyxTQUN2QyxRQUFTb0UsRUFBUSxRQUFRLENBQUcsRUFDNUIsT0FBUTBCLEVBQU8sR0FDZixNQUFPOUYsRUFBTyxTQUFTLFNBQ3ZCLFdBQVksYUFDZCxDQUNGLEVDekNBLE9BQU81QixPQUFZLG9CQUdaLElBQU11a0IsR0FBaUJ2a0IsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLFlBSXhCRSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGFBQzNCQSxHQUFVQSxFQUFNLE1BQU0sT0FBTztBQUFBLFVBQ2hDQSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBLG1CQUNqQkEsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxXQUNwQ0EsR0FBVUEsRUFBTSxNQUFNLEtBQUs7QUFBQSxnQkFDdEJBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsRUFHcENza0IsR0FBcUJ4a0IsR0FBTztBQUFBO0FBQUE7QUFBQSxFQU81QnlrQixHQUE4QnprQixHQUFPLE9BSXJDMGtCLEdBQXlCMWtCLEdBQU91a0IsRUFBYztBQUFBO0VGTnJELGNBQUEvakIsR0FJQSxRQUFBRyxPQUpBLG9CQVRDLElBQU1na0IsR0FBVyxDQUFDLENBQUUsU0FBQTVqQixDQUFTLElBQXFCLENBQ3ZELElBQU02RixFQUFhcEUsRUFBZ0IsRUFDN0JHLEVBQVEyaEIsR0FBWTFkLENBQVUsRUFFOUJtVyxFQUFRN1EsR0FBTSxTQUFTLE1BQU1uTCxDQUFRLEVBQ3JDNmpCLEVBQVcxWSxHQUFNLFNBQVMsSUFBSW5MLEVBQVUsQ0FBQzhqQixFQUFPNVksSUFBVSxDQUM5RCxHQUFJLENBQUNDLEdBQU0sZUFBZTJZLENBQUssRUFBRyxPQUFPQSxFQUV6QyxJQUFNQyxFQUNKdGtCLEdBQUNpa0IsR0FBQSxDQUE0QixlQUFHLEVBR2xDLE9BQ0U5akIsR0FBQzZqQixHQUFBLENBQ0UsVUFBQUssRUFDQTVZLEdBQVM4USxFQUFRLEdBQUsrSCxHQUN6QixDQUVKLENBQUMsRUFFRCxPQUFJbGUsRUFFQXBHLEdBQUNra0IsR0FBQSxDQUF1QixNQUFPL2hCLEVBQVEsU0FBQWlpQixFQUFTLEVBSTdDcGtCLEdBQUMrakIsR0FBQSxDQUFlLE1BQU81aEIsRUFBUSxTQUFBaWlCLEVBQVMsQ0FDakQsRUdsQ1MsY0FBQXBrQixPQUFBLG9CQURGLElBQU1ta0IsR0FBVyxDQUFDLENBQUUsU0FBQTVqQixDQUFTLElBQzNCUCxHQUFDbWtCLEdBQUEsQ0FBYyxTQUFBNWpCLEVBQVMsRUNIakMsT0FDRSx5QkFBQVEsR0FDQSxpQkFBQUQsR0FDQSxpQkFBQWlHLEdBQ0Esa0JBQUEvQixPQUNLLGlCQUNQLE9BQU9oRSxPQUFXLGlCQUVYLElBQU11akIsR0FBaUJwakIsR0FBMEMsQ0FDdEUsSUFBTThGLEVBQVFGLEdBQWMsRUFDdEIxSCxFQUFReUIsR0FBYyxFQUN0QjBPLEVBQVN4SyxHQUFlLEVBRXhCeUssRUFBa0IxTyxHQUFzQixDQUM1QyxLQUFNLFdBQ04sT0FBUTFCLEVBQU0sV0FDZCxTQUFVQSxFQUFNLFNBQVMsUUFDM0IsQ0FBQyxFQUVELE9BQU8yQixHQUFNRyxFQUFZLENBQ3ZCLENBQ0UsR0FDQSxDQUNFLEtBQU04RixFQUFNLFFBQVEsR0FBRyxPQUN2QixVQUFXQSxFQUFNLFFBQVEsR0FBRyxLQUM1QixXQUFZNUgsRUFBTSxXQUFXLFNBQzdCLFdBQVksY0FDWixPQUFRbVEsRUFBTyxFQUNqQixDQUNGLEVBQ0EsQ0FDRSxHQUNBLENBQ0UsS0FBTXZJLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLFVBQVdBLEVBQU0sUUFBUSxHQUFHLEtBQzVCLFdBQVk1SCxFQUFNLFdBQVcsU0FDN0IsV0FBWW9RLEVBQ1osT0FBUUQsRUFBTyxFQUNqQixDQUNGLENBQ0YsQ0FBQyxDQUNILEVDekNBLE9BQU9oUSxPQUFZLG9CQUVaLElBQU1nbEIsR0FBNEJobEIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUW5DaWxCLEdBQWdDamxCLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQSxVQU96Q0UsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQVVoQ0EsR0FDREEsRUFBTSxXQUNOO0FBQUEsZ0JBQ1lBLEVBQU0sTUFBTSxTQUFTO0FBQUEsS0FDaEM7QUFBQTtBQUFBO0FBQUE7QUFBQSxvQkFJZ0JBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsWUFDeENBLEdBQVVBLEVBQU0sTUFBTSxTQUFTO0FBQUE7QUFBQSxFQUkvQmdsQixHQUE0QmxsQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUEsWUFNbkNFLEdBQVVBLEVBQU0sTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUS9CaWxCLEdBQW9DbmxCLEdBQy9DZ2xCLEVBQ0YsSUFJYUksR0FBK0JwbEIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBLFVBTXhDRSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBUWRBLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsbUJBQ25DQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBO0VDL0Q1QyxPQU9FLE9BQUFNLEdBUEYsUUFBQUcsT0FBQSxvQkFKRyxJQUFNK1YsR0FBTyxDQUFDLENBQUUsTUFBQWxHLEVBQU8sS0FBQS9ELEVBQU0sUUFBQW9DLEVBQVMsU0FBQXdXLENBQVMsSUFBdUIsQ0FDM0UsSUFBTTFpQixFQUFRb2lCLEdBQWMsRUFBSyxFQUVqQyxPQUNFcGtCLEdBQUNza0IsR0FBQSxDQUNDLFFBQVNwVyxFQUNULE1BQU8yQixFQUNQLGFBQVlBLEVBQ1osVUFBVyxDQUFDLENBQUM2VSxFQUNiLE1BQU8xaUIsRUFFUCxVQUFBbkMsR0FBQ2tKLEVBQUEsQ0FDQyxLQUFNK0MsRUFDTixpQkFBa0IrRCxFQUNsQixRQUFTNlUsc0JBQ1gsRUFDQTdrQixHQUFDMGtCLEdBQUEsQ0FBMEIsTUFBT3ZpQixFQUFPLE1BQU82TixFQUM3QyxTQUFBQSxFQUNILEdBQ0YsQ0FFSixFQ2ZNLE9BQ0UsT0FBQWhRLEdBREYsUUFBQUcsT0FBQSxvQkFOQyxJQUFNMmtCLEdBQWEsQ0FBQyxDQUFFLFNBQUF2a0IsQ0FBUyxJQUF1QixDQUMzRCxJQUFNNkYsRUFBYXBFLEVBQWdCLEVBQzdCRyxFQUFRb2lCLEdBQWNuZSxDQUFVLEVBRXRDLE9BQUlBLEVBRUFqRyxHQUFDd2tCLEdBQUEsQ0FBa0MsTUFBT3hpQixFQUN4QyxVQUFBbkMsR0FBQzRrQixHQUFBLENBQTZCLE1BQU96aUIsRUFBTyxFQUM1Q25DLEdBQUM0a0IsR0FBQSxDQUE2QixNQUFPemlCLEVBQU8sRUFDNUNuQyxHQUFDNGtCLEdBQUEsQ0FBNkIsTUFBT3ppQixFQUFPLEdBQzlDLEVBS0ZuQyxHQUFDd2tCLEdBQUEsQ0FBMEIsTUFBT3JpQixFQUMvQixTQUFBNUIsRUFDSCxDQUVKLEVDdkJTLGNBQUFQLE9BQUEsb0JBREYsSUFBTThrQixHQUFhLENBQUMsQ0FBRSxTQUFBdmtCLENBQVMsSUFDN0JQLEdBQUM4a0IsR0FBQSxDQUFxQixTQUFBdmtCLEVBQVMsRUFHeEN1a0IsR0FBVyxLQUFPNU8sR0NSbEIsT0FBT2xWLE9BQVcsaUJBQ2xCLE9BQVMsaUJBQUFGLEdBQWUsaUJBQUFpRyxPQUFxQixpQkFFN0MsT0FBUyx5QkFBQWhHLE9BQTZCLGlCQUUvQixJQUFNZ2tCLEdBQ1g1akIsR0FDNEIsQ0FDNUIsSUFBTXFRLEVBQU96SyxHQUFjLEVBQ3JCM0YsRUFBU04sR0FBYyxFQUV2QjJPLEVBQWtCMU8sR0FBc0IsQ0FDNUMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVELE9BQU9KLEdBQU1HLEVBQVksQ0FDdkIsQ0FDRSxHQUNBLENBQ0UsS0FBTXFRLEVBQUssUUFBUSxHQUFHLEtBQ3RCLFlBQWFBLEVBQUssUUFBUSxHQUFHLEtBQzdCLFFBQVMsQ0FDUCxXQUFZcFEsRUFBTyxTQUFTLFNBQzVCLE1BQU9BLEVBQU8sU0FBUyxRQUN6QixFQUNBLE9BQVEsQ0FDTixXQUFZQSxFQUFPLFNBQVMsU0FDNUIsTUFBT0EsRUFBTyxXQUFXLFFBQzNCLENBQ0YsQ0FDRixFQUNBLENBQ0UsR0FDQSxDQUNFLEtBQU1vUSxFQUFLLFFBQVEsR0FBRyxLQUN0QixZQUFhQSxFQUFLLFFBQVEsR0FBRyxLQUM3QixRQUFTLENBQ1AsV0FBWS9CLEVBQ1osTUFBT3JPLEVBQU8sU0FBUyxRQUN6QixFQUNBLE9BQVEsQ0FDTixXQUFZcU8sRUFDWixNQUFPck8sRUFBTyxXQUFXLFFBQzNCLENBQ0YsQ0FDRixDQUNGLENBQUMsQ0FDSCxFQ2pEQSxPQUFPNUIsT0FBWSxvQkFHWixJQUFNd2xCLEdBQTBCeGxCLEdBQU87QUFBQSxzQkFHdkJFLEdBQVVBLEVBQU0sTUFBTSxRQUFRLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2xEdWxCLEdBQWtDemxCLEdBQU87QUFBQSxzQkFHL0JFLEdBQVVBLEVBQU0sTUFBTSxRQUFRLFVBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFpQmxEd2xCLEdBQThCMWxCLEdBQU87QUFBQTtBQUFBO0FBQUEsRUFPckMybEIsR0FBa0MzbEIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxzQkFTL0JFLEdBQ25CQSxFQUFNLFVBQ0ZBLEVBQU0sTUFBTSxPQUFPLFdBQ25CQSxFQUFNLE1BQU0sUUFBUSxVQUFVO0FBQUEsV0FDMUJBLEdBQ1JBLEVBQU0sVUFBWUEsRUFBTSxNQUFNLE9BQU8sTUFBUUEsRUFBTSxNQUFNLFFBQVEsS0FBSztBQUFBO0FBQUE7QUFBQSxVQUcvREEsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHdCQUtaQSxHQUFVQSxFQUFNLE1BQU0sT0FBTyxVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV25EMGxCLEdBQW9DNWxCLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBU2pDRSxHQUNuQkEsRUFBTSxVQUNGQSxFQUFNLE1BQU0sT0FBTyxXQUNuQkEsRUFBTSxNQUFNLFFBQVEsVUFBVTtBQUFBLFdBQzFCQSxHQUNSQSxFQUFNLFVBQVlBLEVBQU0sTUFBTSxPQUFPLE1BQVFBLEVBQU0sTUFBTSxRQUFRLEtBQUs7QUFBQTtBQUFBO0FBQUEsVUFHL0RBLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSx3QkFLWkEsR0FBVUEsRUFBTSxNQUFNLE9BQU8sVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVduRDJsQixHQUFxQzdsQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBU2xDRSxHQUFVQSxFQUFNLE1BQU0sT0FBTyxLQUFLO0FBQUEsV0FDN0NBLEdBQVVBLEVBQU0sTUFBTSxRQUFRLFVBQVU7QUFBQTtBQUFBLFVBRXpDQSxHQUFVQSxFQUFNLE1BQU0sV0FBVztBQUFBO0FBQUE7RUN0R3RDLGNBQUFNLE9BQUEsb0JBUkMsSUFBTXNsQixHQUFvQixDQUFDLENBQ2hDLFNBQUEva0IsQ0FDRixJQUF1QyxDQUNyQyxJQUFNWSxFQUFhYSxFQUFnQixFQUM3QnVqQixFQUFRUixHQUEwQjVqQixDQUFVLEVBRWxELE9BQUlBLEVBRUFuQixHQUFDaWxCLEdBQUEsQ0FDQyxNQUFPTSxFQUNSLEVBS0h2bEIsR0FBQ2dsQixHQUFBLENBQXdCLE1BQU9PLEVBQVEsU0FBQWhsQixFQUFTLENBRXJELEVDZkksY0FBQVAsT0FBQSxvQkFORyxJQUFNd2xCLEdBQVUsQ0FBQyxDQUN0QixNQUFBakosQ0FDRixJQUFrRCxDQUNoRCxJQUFNZ0osRUFBUVIsR0FBMEIsRUFBSyxFQUU3QyxPQUNFL2tCLEdBQUNxbEIsR0FBQSxDQUFtQyxNQUFPRSxFQUN4QyxTQUFBaEosRUFBUSxFQUFJLEtBQU9BLEVBQ3RCLENBRUosRUNkTyxJQUFLa0osUUFDVkEsRUFBQSxLQUFPLE9BQ1BBLEVBQUEsT0FBUyxTQUZDQSxRQUFBLElDd0JOLE9BUUksT0FBQXpsQixHQVJKLFFBQUFHLE9BQUEsb0JBWkMsSUFBTStWLEdBQU8sQ0FBQyxDQUNuQixLQUFBakssRUFDQSxNQUFBK0QsRUFDQSxRQUFBM0IsRUFDQSxNQUFBa08sRUFDQSxLQUFBelgsU0FDQSxjQUFBNGdCLENBQ0YsSUFBMkMsQ0FDekMsSUFBTUgsRUFBUVIsR0FBMEIsRUFBSyxFQUU3QyxPQUFJamdCLElBQVMsU0FFVDNFLEdBQUNpbEIsR0FBQSxDQUNDLE1BQU9wVixFQUNQLGFBQVlBLEVBQ1osTUFBT3VWLEVBQ1AsVUFBVyxDQUFDLENBQUNHLEVBQ2IsUUFBU3JYLEVBRVQsVUFBQXJPLEdBQUNrbEIsR0FBQSxDQUNDLFNBQUFsbEIsR0FBQ2tKLEVBQUEsQ0FDQyxLQUFNK0MsRUFDTixpQkFBaUIsWUFDakIsUUFBU3laLHNCQUNYLEVBQ0YsRUFDQ0EsR0FBaUIxbEIsR0FBQyxRQUFNLFNBQUFnUSxFQUFNLEVBQzlCdU0sR0FBU3ZjLEdBQUN3bEIsR0FBQSxDQUFRLE1BQU9qSixFQUFPLEdBQ25DLEVBS0ZwYyxHQUFDZ2xCLEdBQUEsQ0FDQyxNQUFPblYsRUFDUCxhQUFZQSxFQUNaLE1BQU91VixFQUNQLFVBQVcsQ0FBQyxDQUFDRyxFQUNiLFFBQVNyWCxFQUVULFVBQUFyTyxHQUFDa2xCLEdBQUEsQ0FDQyxTQUFBbGxCLEdBQUNrSixFQUFBLENBQ0MsS0FBTStDLEVBQ04saUJBQWlCLFlBQ2pCLFFBQVN5WixzQkFDWCxFQUNGLEVBQ0NBLEdBQWlCMWxCLEdBQUMsUUFBTSxTQUFBZ1EsRUFBTSxFQUM5QnVNLEdBQVN2YyxHQUFDd2xCLEdBQUEsQ0FBUSxNQUFPakosRUFBTyxHQUNuQyxDQUVKLEVDekRTLGNBQUF2YyxPQUFBLG9CQURGLElBQU1zbEIsR0FBb0IsQ0FBQyxDQUFFLFNBQUEva0IsQ0FBUyxJQUNwQ1AsR0FBQ3NsQixHQUFBLENBQTRCLFNBQUEva0IsRUFBUyxFQUcvQytrQixHQUFrQixLQUFPcFAsR0NUekIsT0FBT3hLLE9BQVcsUUNFWCxJQUFNaWEsR0FBY3hrQixJQUNsQixDQUFDLEdEQ1YsT0FBUyxXQUFBa2MsT0FBZSwwQkFVYixjQUFBcmQsT0FBQSxvQkFQSixJQUFNNGxCLEdBQVUsQ0FBQyxDQUFFLFNBQUFybEIsQ0FBUyxJQUFvQixDQUNyRCxJQUFNNkYsRUFBYXBFLEVBQWdCLEVBRTdCRyxFQUFRd2pCLEdBQVd2ZixDQUFVLEVBRTdCeWYsRUFBVW5hLEdBQU0sU0FBUyxJQUFJbkwsRUFBVzhqQixHQUN2QzNZLEdBQU0sZUFBZTJZLENBQUssRUFDeEJya0IsR0FBQ3diLEdBQUssS0FBTCxDQUFXLFNBQUE2SSxFQUFNLEVBRGdCQSxDQUUxQyxFQUVELE9BQ0Vya0IsR0FBQ3diLEdBQUEsQ0FBSyxJQUFLNkIsR0FBUSxJQUFLLFVBQVcsU0FDaEMsU0FBQXdJLEVBQ0gsQ0FFSixFRWxCUyxjQUFBN2xCLE9BQUEsb0JBREYsSUFBTTRsQixHQUFVLENBQUMsQ0FBRSxTQUFBcmxCLENBQVMsSUFDMUJQLEdBQUM0bEIsR0FBQSxDQUFhLFNBQUFybEIsRUFBUyxFQ0poQyxPQUFTLFlBQUF1bEIsT0FBZ0IsUUNDekIsT0FBUyxpQkFBQWhsQixHQUFlLGlCQUFBaUcsT0FBcUIsaUJBRXRDLElBQU1nZixHQUFzQjVrQixHQUEwQyxDQUMzRSxJQUFNcVEsRUFBT3pLLEdBQWMsRUFDckIzRixFQUFTTixHQUFjLEVBRTdCLE9BQUlLLEVBQ0ssQ0FDTCxLQUFNcVEsRUFBSyxRQUFRLEdBQUcsT0FDdEIsTUFBT3BRLEVBQU8sUUFBUSxRQUN4QixFQUdLLENBQ0wsS0FBTW9RLEVBQUssUUFBUSxHQUFHLE9BQ3RCLE1BQU9wUSxFQUFPLFFBQVEsUUFDeEIsQ0FDRixFQ2xCQSxPQUFPNUIsT0FBWSxvQkFHWixJQUFNd21CLEdBQW1CeG1CLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRMUJ5bUIsR0FBd0J6bUIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVEvQjBtQixHQUF3QjFtQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUEsV0FJaENFLEdBQVVBLEVBQU0sTUFBTSxLQUFLO0FBQUEsVUFDNUJBLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUEsRUFHeEJ5bUIsR0FBMkIzbUIsR0FBT3dtQixFQUFnQjtBQUFBO0VGbEIvRCxPQUFTLGVBQUEvZixPQUFtQix3QkdUNUIsT0FBT3pHLE9BQVksb0JBR1osSUFBTTRtQixHQUFrQjVtQixHQUFPLElBQUksV0FBVyxDQUNuRCxrQkFBb0JxRyxHQUFTLENBQUMsVUFBVSxFQUFFLFNBQVNBLENBQUksQ0FDekQsQ0FBQztBQUFBLGFBQ2FuRyxHQUFVQSxFQUFNLE1BQU0sT0FBTztBQUFBO0FBQUE7QUFBQSxtQkFHdkJBLEdBQVVBLEVBQU0sTUFBTSxNQUFNO0FBQUEsZ0JBQy9CQSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLGdCQUM1QkEsR0FBVUEsRUFBTSxNQUFNLFVBQVU7QUFBQSxZQUNwQ0EsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQSxFQUc1QjJtQixHQUF5QjdtQixHQUFPLElBQUksV0FBVyxDQUMxRCxrQkFBb0JxRyxHQUFTLENBQUMsVUFBVSxFQUFFLFNBQVNBLENBQUksQ0FDekQsQ0FBQztBQUFBO0FBQUE7QUFBQSxtQkFLbUJuRyxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBLFlBQ25DQSxHQUFVQSxFQUFNLE1BQU0sT0FBTztBQUFBLEVBRzdCNG1CLEdBQTBCOW1CLEdBQU80bUIsRUFBZSxFQUFFLFdBQVcsQ0FDeEUsa0JBQW9CdmdCLEdBQVMsQ0FBQyxVQUFVLEVBQUUsU0FBU0EsQ0FBSSxDQUN6RCxDQUFDO0FBQUE7RUMzQkQsT0FBTzdFLE9BQVcsaUJBQ2xCLE9BQ0UsYUFBQWtFLEdBQ0EsaUJBQUFwRSxHQUNBLGtCQUFBa0UsR0FDQSxtQkFBQUMsT0FDSyxpQkNQQSxJQUFLc2hCLFFBQ1ZBLEVBQUEsT0FBUyxTQUNUQSxFQUFBLE9BQVMsU0FGQ0EsUUFBQSxJRGdCTCxJQUFNQyxHQUFlLENBQzFCbmhCLEVBQ0FQLEVBQ0EyaEIsRUFDQXJoQixFQUNBb0ssRUFDQWtYLEVBQ0FDLElBQ29CLENBQ3BCLElBQU12bEIsRUFBU04sR0FBYyxFQUN2QnlFLEVBQWNQLEdBQWUsRUFDN0JRLEVBQVVQLEdBQWdCLEVBRTFCMmhCLEVBQWE1bEIsR0FBTXdPLEVBQVEsQ0FDL0IsQ0FBQyxLQUFNLENBQUUsS0FBTWpLLEVBQVksR0FBSSxPQUFRQSxFQUFZLEVBQUcsQ0FBQyxFQUN2RCxDQUFDLEtBQU0sQ0FBRSxLQUFNQSxFQUFZLEdBQUksT0FBUUEsRUFBWSxFQUFHLENBQUMsRUFDdkQsQ0FBQyxLQUFNLENBQUUsS0FBTUEsRUFBWSxHQUFJLE9BQVFBLEVBQVksRUFBRyxDQUFDLEVBQ3ZELENBQUMsS0FBTSxDQUFFLEtBQU1BLEVBQVksR0FBSSxPQUFRQSxFQUFZLEVBQUcsQ0FBQyxFQUN2RCxDQUFDLEtBQU0sQ0FBRSxLQUFNQSxFQUFZLEdBQUksT0FBUUEsRUFBWSxLQUFLLENBQUUsQ0FBQyxFQUMzRCxDQUFDLE1BQU8sQ0FBRSxLQUFNQSxFQUFZLEtBQUssRUFBRyxPQUFRQSxFQUFZLEtBQUssQ0FBRSxDQUFDLEVBQ2hFLENBQ0UsTUFDQSxDQUNFLEtBQU1BLEVBQVksS0FBSyxFQUN2QixPQUFRLFFBQVVBLEVBQVksS0FBSyxFQUFJLFFBQ3pDLENBQ0YsQ0FDRixDQUFDLEVBRUtFLEVBQWV6RSxHQUFNOEQsRUFBTSxDQUMvQixVQUF1QjhoQixFQUFXLElBQUksRUFDdEMsVUFFRUEsRUFBVyxLQUNULElBQ0FBLEVBQVcsS0FDWCxJQUNBQSxFQUFXLE9BQ1gsSUFFSixDQUNGLENBQUMsRUFFS0MsRUFBU0osRUFBUyw2QkFBK0IsT0FDakQvZ0IsRUFBYVIsR0FBVTlELEVBQVEsY0FBZSxDQUFDaUUsRUFBT0QsQ0FBSSxDQUFDLEVBRWpFLE1BQU8sQ0FDTCxPQUFRSyxFQUNSLFdBQVlDLEVBQ1osT0FBUW1oQixFQUNSLE9BQVEsT0FDUixRQUFTRixFQUFZLE9BQVMsY0FDOUIsUUFBU25oQixFQUFRLFFBQVFraEIsQ0FBTyxDQUNsQyxDQUNGLEVFekNNLGNBQUExbUIsT0FBQSxvQkF0QkMsSUFBTThtQixHQUFZLENBQUMsQ0FDeEIsU0FBQXZtQixFQUNBLEtBQUF1RSxFQUNBLE1BQUFPLEVBQ0EsT0FBQW9oQixFQUNBLE9BQUFqWCxFQUNBLFFBQUFrWCxFQUNBLEtBQUF0aEIsRUFDQSxVQUFBdWhCLENBQ0YsSUFBc0IsQ0FDcEIsSUFBTXhrQixFQUFRcWtCLEdBQ1puaEIsRUFDQVAsRUFDQTJoQixFQUNBcmhCLEVBQ0FvSyxFQUNBa1gsRUFDQUMsQ0FDRixFQUVBLE9BQ0UzbUIsR0FBQ29tQixHQUFBLENBQWdCLE1BQU9qa0IsRUFDdEIsU0FBQW5DLEdBQUNxbUIsR0FBQSxDQUF1QixNQUFPbGtCLEVBQVEsU0FBQTVCLEVBQVMsRUFDbEQsQ0FFSixFQzVCQSxPQUFTLFNBQUFsQixHQUFPLGdCQUFBQyxHQUFjLFVBQUE0SCxHQUFRLFdBQUFtVyxPQUFlLDBCQWFqRCxjQUFBcmQsT0FBQSxvQkFYRyxJQUFNOG1CLEdBQVksQ0FBQyxDQUN4QixTQUFBdm1CLEVBQ0EsS0FBQXVFLFdBQ0EsT0FBQTBLLEVBQVN0SSxHQUFPLEdBQ2hCLE1BQUE3QixFQUFRaEcsR0FBTSxTQUNkLEtBQUErRixFQUFPOUYsR0FBYSxTQUNwQixPQUFBbW5CLEVBQVMsR0FDVCxRQUFBQyxFQUFVckosR0FBUSxJQUNsQixVQUFBc0osRUFBWSxFQUNkLElBRUkzbUIsR0FBQzhtQixHQUFBLENBQ0MsS0FBTWhpQixHQUFjLFNBQ3BCLEtBQU1NLEdBQWM5RixHQUFhLFNBQ2pDLE9BQVFtbkIsR0FBa0IsR0FDMUIsTUFBT3BoQixHQUFnQmhHLEdBQU0sU0FDN0IsT0FBUW1RLEdBQWtCdEksR0FBTyxHQUNqQyxRQUFTd2YsR0FBb0JySixHQUFRLElBQ3JDLFVBQVdzSixHQUF3QixHQUVsQyxTQUFBcG1CLEVBQ0gsRVBmSixPQUFTLFNBQUFsQixHQUFPLGdCQUFBQyxHQUFjLFVBQUE0SCxHQUFRLFdBQUFtVyxPQUFlLDBCQVc3QyxjQUFBcmQsR0FzQkosUUFBQUcsT0F0Qkksb0JBUkQsSUFBTTRtQixHQUFhLENBQUMsQ0FBRSxTQUFBeG1CLEVBQVUsVUFBQXltQixDQUFVLElBQXVCLENBQ3RFLElBQU01Z0IsRUFBYXBFLEVBQWdCLEVBRTdCRyxFQUFRNGpCLEdBQW1CM2YsQ0FBVSxFQUUzQyxHQUFJQSxFQUNGLE9BQ0VwRyxHQUFDbW1CLEdBQUEsQ0FBeUIsTUFBT2hrQixFQUMvQixTQUFBbkMsR0FBQ2lHLEdBQUEsQ0FBYSxTQUFBMUYsRUFBUyxFQUN6QixFQUlKLElBQU0wbUIsRUFBUUQsRUFDWmhuQixHQUFDOG1CLEdBQUEsQ0FDQyxPQUFRLEdBQ1IsUUFBU3pKLEdBQVEsSUFDakIsT0FBUW5XLEdBQU8sR0FDZixjQUNBLEtBQU01SCxHQUFhLFFBQ25CLFVBQVcsR0FDWCxNQUFPRCxHQUFNLFNBRWIsU0FBQVcsR0FBQ2ttQixHQUFBLENBQXNCLE1BQU8vakIsRUFDM0IsU0FBQTJqQixHQUFTLE1BQU12bEIsQ0FBUSxFQUMxQixFQUNGLEVBQ0UsS0FFSixPQUNFSixHQUFDNmxCLEdBQUEsQ0FBaUIsTUFBTzdqQixFQUN2QixVQUFBbkMsR0FBQ2ltQixHQUFBLENBQXVCLFNBQUExbEIsRUFBUyxFQUNoQzBtQixHQUNILENBRUosRVE5Q1MsY0FBQWpuQixPQUFBLG9CQURGLElBQU0rbUIsR0FBYSxDQUFDLENBQUUsU0FBQXhtQixFQUFVLFVBQUF5bUIsQ0FBVSxJQUN4Q2huQixHQUFDK21CLEdBQUEsQ0FBZSxVQUFXQyxFQUFZLFNBQUF6bUIsRUFBUyxFQ0h6RCxPQUFTLGlCQUFBTyxHQUFlLGlCQUFBaUcsR0FBZSxrQkFBQS9CLE9BQXNCLGlCQUM3RCxPQUFTLHlCQUFBakUsT0FBNkIsaUJBQ3RDLE9BQU9DLE9BQVcsaUJBRVgsSUFBTWttQixHQUFvQi9sQixHQUE2QyxDQUM1RSxJQUFNOEYsRUFBUUYsR0FBYyxFQUN0QjNGLEVBQVNOLEdBQWMsRUFDdkJvRyxFQUFTbEMsR0FBZSxFQUV4QnlLLEVBQWtCMU8sR0FBc0IsQ0FDNUMsS0FBTSxXQUNOLE9BQVFLLEVBQU8sV0FDZixTQUFVQSxFQUFPLFNBQVMsUUFDNUIsQ0FBQyxFQUVELE9BQU9KLEdBQU1HLEVBQVksQ0FDdkIsQ0FDRSxHQUNBLENBQ0UsS0FBTThGLEVBQU0sUUFBUSxHQUFHLE9BQ3ZCLGFBQWM3RixFQUFPLFNBQVMsU0FDOUIsV0FBWUEsRUFBTyxTQUFTLFNBQzVCLE9BQVE4RixFQUFPLEVBQ2pCLENBQ0YsRUFDQSxDQUNFLEdBQ0EsQ0FDRSxLQUFNRCxFQUFNLFFBQVEsR0FBRyxPQUN2QixhQUFjd0ksRUFDZCxXQUFZQSxFQUNaLE9BQVF2SSxFQUFPLEVBQ2pCLENBQ0YsQ0FDRixDQUFDLENBQ0gsRUNuQ0EsT0FBTzFILE9BQVksb0JBRVosSUFBTTJuQixHQUErQjNuQixHQUFPO0FBQUEsVUFHeENFLEdBQVVBLEVBQU0sTUFBTSxJQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLHdCQVNaQSxHQUFVQSxFQUFNLE1BQU0sWUFBWTtBQUFBO0FBQUEsRUFJOUMwbkIsR0FBd0I1bkIsR0FBTzJuQixFQUE0QjtBQUFBO0FBQUEsRUFNM0RFLEdBQTBCN25CLEdBQU87QUFBQSxVQUNuQ0UsR0FBVUEsRUFBTSxNQUFNLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXeEI0bkIsR0FBa0M5bkIsR0FBTztBQUFBO0FBQUEsc0JBSS9CRSxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBLFdBQzNDQSxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBLFVBQ2pDQSxHQUFVQSxFQUFNLE1BQU0sSUFBSTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUlqQkEsR0FBVUEsRUFBTSxNQUFNLE1BQU07QUFBQTtBQUFBLEVBSW5DNm5CLEdBQW1DL25CLEdBQU87QUFBQTtBQUFBO0FBQUE7RUNwQ2pELE9BR00sT0FBQVEsR0FITixRQUFBRyxPQUFBLG9CQU5DLElBQU1xbkIsR0FBZ0IsQ0FBQyxDQUFFLFNBQUFqbkIsQ0FBUyxJQUEwQixDQUNqRSxJQUFNNkYsRUFBYXBFLEVBQWdCLEVBQzdCRyxFQUFRK2tCLEdBQWlCOWdCLENBQVUsRUFFekMsT0FBSUEsRUFFQWpHLEdBQUNnbkIsR0FBQSxDQUE2QixNQUFPaGxCLEVBQ25DLFVBQUFuQyxHQUFDdW5CLEdBQUEsQ0FBaUMsTUFBT3BsQixFQUN2QyxTQUFBbkMsR0FBQ3NuQixHQUFBLENBQWdDLE1BQU9ubEIsRUFDdEMsU0FBQW5DLEdBQUMsUUFBSyxzQkFBVSxFQUNsQixFQUNGLEVBQ0FBLEdBQUN1bkIsR0FBQSxDQUFpQyxNQUFPcGxCLEVBQ3ZDLFNBQUFuQyxHQUFDc25CLEdBQUEsQ0FBZ0MsTUFBT25sQixFQUN0QyxTQUFBbkMsR0FBQyxRQUFLLHNCQUFVLEVBQ2xCLEVBQ0YsR0FDRixFQUtGQSxHQUFDbW5CLEdBQUEsQ0FBNkIsTUFBT2hsQixFQUNsQyxTQUFBNUIsRUFDSCxDQUVKLEVDckJNLE9BTUUsT0FBQVAsR0FORixRQUFBRyxPQUFBLG9CQUxDLElBQU0rVixHQUFPLENBQUMsQ0FBRSxRQUFBN0gsRUFBUyxNQUFBMkIsRUFBTyxLQUFBL0QsQ0FBSyxJQUE4QixDQUN4RSxJQUFNOUosRUFBUStrQixHQUFpQixFQUFLLEVBRXBDLE9BQ0VsbkIsR0FBQ3VuQixHQUFBLENBQWlDLE1BQU9wbEIsRUFDdkMsU0FBQWhDLEdBQUNrbkIsR0FBQSxDQUNDLFFBQVNoWixFQUNULE1BQU8yQixFQUNQLGFBQVlBLEVBQ1osTUFBTzdOLEVBRVAsVUFBQW5DLEdBQUNrSixFQUFBLENBQUssS0FBTStDLEVBQU0saUJBQWtCK0QsRUFBTyxlQUEyQixFQUN0RWhRLEdBQUMsUUFBTSxTQUFBZ1EsRUFBTSxHQUNmLEVBQ0YsQ0FFSixFQ3BCUyxjQUFBaFEsT0FBQSxvQkFERixJQUFNd25CLEdBQWdCLENBQUMsQ0FBRSxTQUFBam5CLENBQVMsSUFDaENQLEdBQUN3bkIsR0FBQSxDQUF3QixTQUFBam5CLEVBQVMsRUFHM0NpbkIsR0FBYyxLQUFPdFIsR0NQckIsT0FBTzFXLE9BQVksb0JBRVosSUFBTWlvQixHQUErQmpvQixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU90Q2tvQixHQUF3QmxvQixHQUFPO0FBQUE7QUFBQTtBQUFBLEVBSy9CbW9CLEdBQTZCbm9CLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRcENvb0IsR0FBMkJwb0IsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7RUNyQnhDLElBQU1xb0IsR0FBWSxLQUNoQixDQUFDLEdDSFYsT0FBUyxZQUFBbm1CLEdBQVUsYUFBQThlLE9BQWlCLFFBRXBDLElBQU1zSCxHQUFzQixJQUFNLENBQ2hDLEdBQU0sQ0FBQ0MsRUFBa0JDLENBQW1CLEVBQUl0bUIsR0FBUyxDQUN2RCxNQUFPLE9BQU8sV0FDZCxPQUFRLE9BQU8sV0FDakIsQ0FBQyxFQUVELE9BQUE4ZSxHQUFVLElBQU0sQ0FDZCxJQUFNeUgsRUFBZSxJQUFNLENBQ3pCRCxFQUFvQixDQUNsQixNQUFPLE9BQU8sV0FDZCxPQUFRLE9BQU8sV0FDakIsQ0FBQyxDQUNILEVBRUEsY0FBTyxpQkFBaUIsU0FBVUMsQ0FBWSxFQUN2QyxJQUFNLE9BQU8sb0JBQW9CLFNBQVVBLENBQVksQ0FDaEUsRUFBRyxDQUFDLENBQUMsRUFFRUYsQ0FDVCxFQUVPRyxHQUFRSixHQ0FQLGVBQUEzbkIsT0FBQSxvQkFiRCxJQUFNbWpCLEdBQVMsQ0FBQyxDQUNyQixNQUFBNkUsRUFDQSxXQUFBQyxFQUNBLGtCQUFBQyxFQUNBLGNBQUFDLEVBQ0Esa0JBQUFDLENBQ0YsSUFBZSxDQUNiLElBQU1wbUIsRUFBUTBsQixHQUFVLEVBR3hCLE9BRm1CSyxHQUFvQixFQUV4QixNQUFRLEtBRW5CL25CLEdBQUN1bkIsR0FBQSxDQUNDLFVBQUF2bkIsR0FBQ3duQixHQUFBLENBQ0UsVUFBQVEsRUFDQUMsR0FDSCxFQUNBam9CLEdBQUN5bkIsR0FBQSxDQUNFLFVBQUFVLEVBQ0FELEdBQ0gsR0FDRixFQUtGbG9CLEdBQUNzbkIsR0FBQSxDQUE2QixNQUFPdGxCLEVBQ2xDLFVBQUFvbUIsRUFDQUYsR0FDSCxDQUVKLEVDOUJJLGNBQUFyb0IsT0FBQSxvQkFSRyxJQUFNc2pCLEdBQVMsQ0FBQyxDQUNyQixNQUFBNkUsRUFDQSxXQUFBQyxFQUNBLGtCQUFBQyxFQUNBLGNBQUFDLEVBQ0Esa0JBQUFDLENBQ0YsSUFFSXZvQixHQUFDc2pCLEdBQUEsQ0FDQyxNQUFPNkUsRUFDUCxXQUFZQyxFQUNaLGtCQUFtQkMsRUFDbkIsY0FBZUMsRUFDZixrQkFBbUJDLEVBQ3JCLEVDakJKLE9BQWdCLFlBQUE3bUIsT0FBZ0IsUUFFaEMsT0FBMEIsVUFBQThtQixPQUFjLDRCQ0Z4QyxPQUFTLGNBQUFqcEIsT0FBa0IsUUNBM0IsT0FDRSxpQkFBQWlCLEdBRUEsYUFBQWdnQixHQUNBLFlBQUE5ZSxPQUNLLFFBRVAsT0FBUyxrQkFBQSttQixPQUFzQiw0QkFxQjNCLGNBQUF6b0IsT0FBQSxvQkFsQkcsSUFBTTBvQixHQUNYbG9CLEdBQWMsSUFBSSxFQUVQbW9CLEdBQTJDLENBQUMsQ0FDdkQsU0FBQXBvQixDQUNGLElBQXlCLENBQ3ZCLEdBQU0sQ0FBQ3FvQixFQUFTQyxDQUFVLEVBQUlubkIsR0FDNUIsSUFDRixFQUNNb25CLEVBQWdCTCxHQUFlLFFBQVEsRUFHN0MsT0FBQWpJLEdBQVUsSUFBTSxDQUNUc0ksR0FDTEQsRUFBVyxJQUFJQyxFQUFjLGtCQUFvQixDQUNuRCxFQUFHLENBQUNBLENBQWEsQ0FBQyxFQUdoQjlvQixHQUFDMG9CLEdBQXdDLFNBQXhDLENBQWlELE1BQU9FLEVBQ3RELFNBQUFyb0IsRUFDSCxDQUVKLEVEN0JPLElBQU13b0IsR0FDWCxJQUNTeHBCLEdBQVdtcEIsRUFBdUMsRUQyRHBELG1CQUFBOWpCLEdBQUEsT0FBQTVFLE9BQUEsb0JBMURGLElBQU1ncEIsR0FBZSxDQUFDLENBQUUsV0FBQUMsQ0FBVyxJQUE4QixDQUV0RSxHQUFJLENBRFFULEdBQU8sRUFFakIsZUFBUSxJQUFJLGlEQUFpRCxFQUN0RCxLQUdULEdBQUksQ0FBQ1MsRUFDSCxPQUFPLEtBR1QsSUFBTUMsRUFBV0gsR0FBcUMsRUFDdEQsR0FBSSxDQUFDRyxFQUNILE9BQU8sS0FHVCxHQUFNLENBQUNDLEVBQWFDLENBQWMsRUFBSTFuQixHQUFTLENBQUMsRUFFMUMybkIsRUFBa0I1ZCxHQUFrQixDQUN4QzJkLEVBQWUzZCxDQUFLLEVBQ3BCeWQsRUFBUyxjQUFjemQsQ0FBSyxDQUM5QixFQUVNNmQsRUFBZ0IsQ0FDcEIsVUFBVyxHQUNYLGNBQWUsR0FDZixnQkFBaUIsQ0FDZixZQUFhLFVBQ2IsY0FBZSxHQUNmLGFBQWMsRUFDZCxTQUFVLEdBQ1YsU0FBVSxHQUNWLFVBQVcsRUFDYixFQUNBLGNBQWUsQ0FDYixLQUFNLENBQ0osS0FBTSwrR0FDTixVQUFXLFVBQ1gsWUFBYSxFQUNiLGFBQWMsQ0FDaEIsQ0FDRixDQUNGLEVBZ0JBLE9BQU90cEIsR0FBQTRFLEdBQUEsRUFBRSxDQUNYLEVHL0RBLE9BQVMsa0JBQUEya0IsR0FBZ0IsVUFBQWYsT0FBYyw0QkF1Qm5DLE9BNEJBLFlBQUE1akIsR0E1QkEsT0FBQTVFLEdBNEJBLFFBQUFHLE9BNUJBLG9CQXJCRyxJQUFNcXBCLEdBQWMsQ0FBQyxDQUFFLE9BQUFDLEVBQVEsT0FBQUMsQ0FBTyxJQUE2QixDQUV4RSxHQUFJLENBRFFsQixHQUFPLEVBRWpCLE9BQU8sS0FHVCxJQUFNbUIsRUFBWUYsR0FBVSxDQUFDLEVBRXZCRyxFQUFrQixTQUN0QkMsRUFDQUMsRUFDTSxDQU1OLFFBQVEsSUFMUSxDQUNkLE1BQU9ELEVBQ1AsTUFBT0MsQ0FDVCxDQUVtQixDQUNyQixFQUVNQyxFQUNKL3BCLEdBQUN1cEIsR0FBQSxDQUNDLFNBQVVHLEVBQU8sT0FFakIsVUFBVyxHQUNYLFFBQVVHLEdBQ1JELEVBQWdCQyxFQUFPSCxDQUFNLEVBRzlCLFNBQUFBLEVBQU8sUUFOSEEsRUFBTyxHQU9kLEVBR0lNLEVBQWVMLEVBQVUsSUFBSSxDQUFDRyxFQUFPRyxJQUV2Q2pxQixHQUFDdXBCLEdBQUEsQ0FDQyxTQUFVTyxFQUFNLE9BRWhCLFVBQVcsR0FDWCxRQUFVRCxHQUNSRCxFQUFnQkMsRUFBT0YsRUFBVU0sQ0FBQyxDQUFDLEVBR3BDLFNBQUFILEVBQU0sUUFORkEsRUFBTSxHQU9iLENBRUgsRUFFRCxPQUNFM3BCLEdBQUF5RSxHQUFBLENBQ0csVUFBQW1sQixFQUNBQyxHQUNILENBRUosRUN0REEsT0FBUyxNQUFNRSxPQUFjLE9BQzdCLE9BQVMsbUJBQUFDLEdBQWlCLE9BQU9DLE9BQWlCLDRCQ0xsRCxPQUFnQixpQkFBQTVwQixPQUFxQixRQ0FyQyxPQUFnQixjQUFBakIsR0FBWSxZQUFBbUMsT0FBZ0IsUUNBNUMsT0FBT2xDLE9BQVksb0JBR1osSUFBTTZxQixHQUFhN3FCLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXcEI4cUIsR0FBc0I5cUIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVN0IrcUIsR0FBaUIvcUIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVeEJnckIsR0FBa0JockIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVekJpckIsR0FBcUJqckIsR0FBTzZxQixFQUFVO0FBQUE7RUM1Q25ELE9BQU9ycEIsT0FBVyxpQkFJWCxJQUFNMHBCLEdBQVd4cEIsR0FDZkYsR0FBTUUsRUFBUyxDQUFDLFlBQW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsRUZxRDVDLE9BRUksT0FBQWxCLEdBRkosUUFBQUcsT0FBQSxvQkE3Q0csSUFBTXdxQixHQUFPLENBQUMsQ0FBRSxJQUFBQyxFQUFLLFFBQUFDLEVBQVMsUUFBQUMsQ0FBUSxJQUFpQixDQUM1RCxJQUFNM2EsRUFBbUI1USxHQUFXd3JCLEVBQUcsRUFDakM1b0IsRUFBUXVvQixHQUFRdmEsQ0FBZ0IsRUFDaEM2YSxFQUFjSixFQUFJLFFBQVEsR0FBSyxHQUUvQixDQUFDSyxFQUFhQyxDQUFjLEVBQUl4cEIsR0FBaUJzcEIsQ0FBVyxFQUM1RCxDQUFDRyxFQUFlQyxDQUFnQixFQUFJMXBCLEdBQ3hDc3BCLEdBQWVILENBQ2pCLEVBQ00sQ0FBQ1EsRUFBZ0JDLENBQWlCLEVBQUk1cEIsR0FDMUNzcEIsR0FBZUYsQ0FDakIsRUFFTVMsRUFBZ0JDLEdBQW1CLENBQ25DQSxHQUFVWCxHQUNaTyxFQUFpQixFQUFLLEVBQ3RCRSxFQUFrQixFQUFJLEdBQ2JFLEdBQVVWLEdBQ25CTSxFQUFpQixFQUFJLEVBQ3JCRSxFQUFrQixFQUFLLElBRXZCRixFQUFpQixFQUFJLEVBQ3JCRSxFQUFrQixFQUFJLEVBRTFCLEVBRU1HLEVBQWMsSUFBTSxDQUN4QixHQUFJTixFQUFlLENBQ2pCLElBQU1LLEVBQVNQLEdBQWVKLEVBQVVBLEVBQVVJLEVBQWMsRUFDaEVDLEVBQWVNLENBQU0sRUFDckJELEVBQWFDLENBQU0sRUFDbkJaLEVBQUksUUFBUVksQ0FBTSxDQUNwQixDQUNGLEVBRU1FLEVBQWUsSUFBTSxDQUN6QixHQUFJTCxFQUFnQixDQUNsQixJQUFNRyxFQUFTUCxHQUFlSCxFQUFVQSxFQUFVRyxFQUFjLEVBQ2hFQyxFQUFlTSxDQUFNLEVBQ3JCRCxFQUFhQyxDQUFNLEVBQ25CWixFQUFJLFFBQVFZLENBQU0sQ0FDcEIsQ0FDRixFQUVBLE9BQ0VyckIsR0FBQ2txQixHQUFBLENBQVcsTUFBT2xvQixFQUNqQixVQUFBbkMsR0FBQ3VxQixHQUFBLENBQWUsUUFBU2tCLEVBQ3ZCLFNBQUF6ckIsR0FBQ2tKLEVBQUEsQ0FDQyxXQUNBLGlCQUFrQixHQUNsQixRQUFTaWlCLG9CQUNYLEVBQ0YsRUFDQW5yQixHQUFDc3FCLEdBQUEsRUFBb0IsRUFDckJ0cUIsR0FBQ3dxQixHQUFBLENBQWdCLFFBQVNrQixFQUN4QixTQUFBMXJCLEdBQUNrSixFQUFBLENBQ0MsYUFDQSxpQkFBa0IsR0FDbEIsUUFBU21pQixvQkFDWCxFQUNGLEdBQ0YsQ0FFSixFRHhFQSxPQUFTLGNBQUFNLEdBQVksVUFBQW5ELE9BQWMsNEJBK0J6QixjQUFBeG9CLE9BQUEsb0JBN0JWLElBQU00ckIsY0FHT2IsR0FBMkN2cUIsR0FBY29yQixFQUFPLEVBRWhFakIsR0FBTyxDQUFDLENBQ25CLFFBQUF6cEIsRUFDQSxlQUFBMnFCLEVBQ0EsU0FBQTFXLEVBQ0EsUUFBQTBWLEVBQ0EsUUFBQUMsQ0FDRixJQUFhLENBQ1gsSUFBTTNhLEVBQW1CalAsR0FBb0IwcUIsR0FDdkNFLEVBQVNELEdBQWtCLEVBRTNCakIsRUFBTXBDLEdBQU8sRUFDbkIsR0FBSSxDQUFDb0MsRUFDSCxlQUFRLElBQUksaURBQWlELEVBQ3RELEtBR1QsSUFBTXRPLEVBQVEsQ0FDWixRQUFTd1AsRUFBUyxJQUNwQixFQUVBLE9BQ0U5ckIsR0FBQzJyQixHQUFBLENBQVcsU0FBVXhXLEVBQ3BCLFNBQUFuVixHQUFDLE9BQUksTUFBT3NjLEVBQ1YsU0FBQXRjLEdBQUMrcUIsR0FBSSxTQUFKLENBQWEsTUFBTzVhLEVBQ25CLFNBQUFuUSxHQUFDMnFCLEdBQUEsQ0FBUyxJQUFLQyxFQUFLLFFBQVNDLEVBQVMsUUFBU0MsRUFBUyxFQUMxRCxFQUNGLEVBQ0YsQ0FFSixFRHRCSSxPQVNFLE9BQUE5cUIsR0FURixRQUFBRyxPQUFBLG9CQVRHLElBQU04QyxHQUFNLENBQUMsQ0FBRSxTQUFBMUMsRUFBVSxNQUFBd3JCLEVBQU8sY0FBQUMsQ0FBYyxJQUFZLENBSS9ELElBQU1DLEVBQVEsQ0FDWixLQUFNLE1BQ1IsRUFFQSxPQUNFOXJCLEdBQUNpcUIsR0FBQSxDQUNDLEdBQUlGLEdBQU8sRUFDWCxjQUFlOEIsRUFDZixZQUFhLEdBQ2IsTUFBT0QsRUFDUCxnQkFBaUIsY0FDakIsaUJBQWtCLEdBQ2xCLE1BQU9FLEVBRVAsVUFBQWpzQixHQUFDMm9CLEdBQUEsQ0FDRSxTQUFBcG9CLEVBQ0gsRUFDQVAsR0FBQzJxQixHQUFBLENBQ0MsU0FBVVIsR0FBZ0IsVUFDMUIsZUFBZ0IsR0FDaEIsUUFBUyxHQUNULFFBQVMsR0FDWCxHQUNGLENBRUosRUFFQWxuQixHQUFJLFNBQVd1bUIsR0FDZnZtQixHQUFJLFVBQVkrbEIsR0t4Q2hCLE9BQVMsWUFBQXRuQixPQUFnQixRQ0F6QixPQUFPbEMsT0FBWSxvQkFFWixJQUFNMHNCLEdBQTJCMXNCLEdBQU87QUFBQTtBQUFBO0FBQUEsRUFLbEMyc0IsR0FBd0Izc0IsR0FBTztBQUFBO0FBQUEsRUFJL0I0c0IsR0FBc0I1c0IsR0FBTztBQUFBO0FBQUEsRUFHN0I2c0IsR0FBeUI3c0IsR0FBTztBQUFBO0FBQUEsZ0JBRTdCLENBQUMsQ0FBRSxRQUFBOHNCLENBQVEsSUFBT0EsRUFBVSxTQUFXLEdBQUk7QUFBQTtBQUFBO0FBQUEsYUFHOUMsQ0FBQyxDQUFFLFFBQUFBLENBQVEsSUFBT0EsRUFBVSxJQUFNLEdBQUk7RUNoQjFDLGNBQUF0c0IsT0FBQSxvQkFERixJQUFNdXNCLEdBQVksQ0FBQyxDQUFFLFNBQUFoc0IsQ0FBUyxJQUM1QlAsR0FBQ2tzQixHQUFBLENBQTBCLFNBQUEzckIsRUFBUyxFQ0Y3QyxPQUFTLGNBQUFoQixPQUFrQixRQVF2QixjQUFBUyxPQUFBLG9CQUxHLElBQU1zakIsR0FBUyxDQUFDLENBQUUsU0FBQS9pQixDQUFTLElBQStCLENBQy9ELEdBQU0sQ0FBRSxpQkFBQTRpQixFQUFrQixvQkFBQXFKLENBQW9CLEVBQzVDanRCLEdBQVc4akIsRUFBWSxFQUV6QixPQUNFcmpCLEdBQUNtc0IsR0FBQSxDQUNDLFFBQVMsSUFBTSxDQUNiSyxFQUNFckosSUFBcUJBLEVBQWlCLEtBQ2xDQSxFQUFpQixPQUNqQkEsRUFBaUIsSUFDdkIsQ0FDRixFQUVDLFNBQUE1aUIsRUFDSCxDQUVKLEVDakJBLE9BQVMsY0FBQWhCLE9BQWtCLFFBVXJCLGNBQUFTLE9BQUEsb0JBTkMsSUFBTXVqQixHQUFVLENBQUMsQ0FBRSxTQUFBaGpCLENBQVMsSUFBK0IsQ0FDaEUsR0FBTSxDQUFFLGlCQUFBNFAsQ0FBaUIsRUFBUzVRLEdBQVc4akIsRUFBWSxFQUNuRFosRUFBU3RTLElBQXFCLE9BRXBDLE9BQ0VuUSxHQUFDb3NCLEdBQUEsQ0FDQyxTQUFBcHNCLEdBQUNxc0IsR0FBQSxDQUF1QixRQUFTNUosRUFDOUIsU0FBQWxpQixFQUNILEVBQ0YsQ0FFSixFSkNNLGNBQUFQLE9BQUEsb0JBVkMsSUFBTXVzQixHQUFZLENBQUMsQ0FBRSxTQUFBaHNCLEVBQVUsUUFBQVcsQ0FBUSxJQUFrQixDQUM5RCxJQUFNdXJCLEVBQTBCdnJCLEdBQW9Ca2lCLEdBQzlDLENBQUNELEVBQWtCcUosQ0FBbUIsRUFBSTlxQixHQUM5QytxQixDQUNGLEVBRU03cUIsRUFBUSxDQUFFLGlCQUFBdWhCLEVBQWtCLG9CQUFBcUosQ0FBb0IsRUFFdEQsT0FDRXhzQixHQUFDcWpCLEdBQWEsU0FBYixDQUFzQixNQUFPemhCLEVBQzVCLFNBQUE1QixHQUFDdXNCLEdBQUEsQ0FBb0IsU0FBQWhzQixFQUFTLEVBQ2hDLENBRUosRUFFQWdzQixHQUFVLE9BQVNqSixHQUNuQmlKLEdBQVUsUUFBVWhKLEdLM0JwQixPQUFPL2pCLE9BQVksb0JBR1osSUFBTWt0QixHQUFpQmx0QixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxnQkFRcEJFLEdBQVVBLEVBQU0sTUFBTSxVQUFVO0FBQUEsb0JBQzVCQSxHQUFVQSxFQUFNLE1BQU0sYUFBYTtBQUFBO0VDWHhELE9BQVMsY0FBQUgsT0FBa0IsUUNEM0IsT0FBZ0IsaUJBQUFpQixHQUFrQyxZQUFBa0IsT0FBZ0IsUUEwQjlELE9BRUUsT0FBQTFCLEdBRkYsUUFBQUcsT0FBQSxvQkFsQkcsSUFBTXdzQixHQUFrQm5zQixHQUFtQyxDQUNoRSxrQkFBbUIsR0FDbkIscUJBQXVCb0IsR0FBVSxDQUUvQixRQUFRLEtBQUssZ0RBQWdELENBQy9ELENBQ0YsQ0FBQyxFQU1ZZ3JCLEdBQW1CLENBQUMsQ0FBRSxTQUFBcnNCLEVBQVUsUUFBQThOLENBQVEsSUFBeUIsQ0FDNUUsR0FBTSxDQUFDd2UsRUFBbUJDLENBQW9CLEVBQUlwckIsR0FBa0IsRUFBSyxFQUVuRUUsRUFBUSxDQUFFLGtCQUFBaXJCLEVBQW1CLHFCQUFBQyxDQUFxQixFQUV4RCxPQUNFM3NCLEdBQUN3c0IsR0FBZ0IsU0FBaEIsQ0FBeUIsTUFBTy9xQixFQUM5QixVQUFBckIsRUFDRFAsR0FBQytzQixHQUFBLENBQVMsUUFBUzFlLEVBQVMsR0FDOUIsQ0FFSixFRFpJLGNBQUFyTyxPQUFBLG9CQWRHLElBQU0rc0IsR0FBVyxDQUFDLENBQUUsUUFBQTFlLENBQVEsSUFBcUIsQ0FDdEQsR0FBTSxDQUFFLGtCQUFBd2UsQ0FBa0IsRUFBSXR0QixHQUFXb3RCLEVBQWUsRUFZeEQsT0FDRTNzQixHQUFDMHNCLEdBQUEsQ0FDQyxRQUFTcmUsRUFDVCxNQUFPd2UsRUFiVSxDQUNuQixXQUFZLFlBQ1osY0FBZSxNQUNqQixFQUVvQixDQUNsQixXQUFZLGNBQ1osY0FBZSxNQUNqQixFQU1FLENBRUosRUV0QkEsT0FBUyxnQkFBQUcsT0FBb0IsWUFJUCxjQUFBaHRCLE9BQUEsb0JBRGYsSUFBTStzQixHQUFXLENBQUMsQ0FBRSxRQUFBMWUsQ0FBUSxJQUMxQjJlLEdBQWFodEIsR0FBQytzQixHQUFBLENBQWEsUUFBUzFlLEVBQVMsRUFBSSxTQUFTLElBQUksRUNOdkUsT0FBNEIsY0FBQTlPLE9BQWtCLFFDQTlDLE9BQU9DLE9BQVksb0JBR1osSUFBTXl0QixHQUFhenRCLEdBQU87QUFBQTtBQUFBLGNBRWxCRSxHQUFVQSxFQUFNLE1BQU0sTUFBTTtBQUFBO0VDTDNDLE9BQWdCLGlCQUFBYyxHQUFrQyxZQUFBa0IsT0FBZ0IsUUF1QjVELGNBQUExQixPQUFBLG9CQWZDLElBQU1rdEIsR0FBYzFzQixHQUErQixDQUN4RCxVQUFXLEdBQ1gsYUFBYyxJQUFNLENBQ2xCLFFBQVEsS0FBSyx3Q0FBd0MsQ0FDdkQsQ0FDRixDQUFDLEVBSVkyc0IsR0FBZ0QsQ0FBQyxDQUFFLFNBQUE1c0IsQ0FBUyxJQUFNLENBQzdFLEdBQU0sQ0FBQzZzQixFQUFXQyxDQUFZLEVBQUkzckIsR0FBa0IsRUFBSyxFQUNuREUsRUFBUSxDQUFFLFVBQUF3ckIsRUFBVyxhQUFBQyxDQUFhLEVBRXhDLE9BQ0VydEIsR0FBQ2t0QixHQUFZLFNBQVosQ0FBcUIsTUFBT3RyQixFQUMzQixTQUFBNUIsR0FBQ3N0QixHQUFBLENBQU0sU0FBQS9zQixFQUFTLEVBQ2xCLENBRUosRUZWSSxjQUFBUCxPQUFBLG9CQVpHLElBQU1zdEIsR0FBTyxDQUFDLENBQUUsU0FBQS9zQixDQUFTLElBQXlCLENBQ3ZELEdBQU0sQ0FBRSxVQUFBNnNCLENBQVUsRUFBSTd0QixHQUFXMnRCLEVBQVcsRUFVNUMsT0FDRWx0QixHQUFDaXRCLEdBQUEsQ0FBVyxNQUFPRyxFQVRBLENBQ25CLE9BQVEsWUFDVixFQUVxQixDQUNuQixPQUFRLE1BQ1YsRUFJSyxTQUFBN3NCLEVBQ0gsQ0FFSixFR2ZTLGNBQUFQLE9BQUEsb0JBREYsSUFBTXN0QixHQUFPLENBQUMsQ0FBRSxTQUFBL3NCLENBQVMsSUFDdkJQLEdBQUNzdEIsR0FBQSxDQUFTLFNBQVUvc0IsRUFBVSxFQ0x2QyxPQUFPZixPQUFZLG9CQUdaLElBQU0rdEIsR0FBb0IvdEIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVEzQmd1QixHQUEyQmh1QixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTbENpdUIsR0FBOEJqdUIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGVBU2xDRSxHQUFVQSxFQUFNLE1BQU0sU0FBUztBQUFBLGVBQy9CQSxHQUFVQSxFQUFNLE1BQU0sUUFBUTtBQUFBO0FBQUEsYUFFaENBLEdBQVVBLEVBQU0sTUFBTSxPQUFPO0FBQUEsRUFHOUJndUIsR0FBdUNsdUIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVE5Q211QixHQUF5Q251QixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtFQ25DN0QsT0FBT2tNLE9BQVcsUUFnQ2QsY0FBQTFMLEdBZ0JBLFFBQUFHLE9BaEJBLG9CQTlCRyxJQUFNeXRCLEdBQWMsQ0FBQyxDQUMxQixRQUFBQyxFQUNBLFdBQUFDLEVBQ0Esa0JBQUFDLEVBQ0Esb0JBQUFDLENBQ0YsSUFBd0IsQ0FDdEIsR0FBTSxDQUFDQyxFQUFtQkMsQ0FBa0IsRUFDMUN4aUIsR0FBTSxTQUFrQixFQUFLLEVBK0MvQixPQUNFdkwsR0FBQ290QixHQUFBLENBQ0UsVUFkSHZ0QixHQUFDd3RCLEdBQUEsQ0FBMEIsU0FBQUssRUFBUSxFQWVoQ0ksRUE1Qm1CRCxFQUN0Qmh1QixHQUFDMnRCLEdBQUEsQ0FBdUMsUUFqQmhCLElBQU0sQ0FDOUJPLEVBQW1CLEVBQUssQ0FDMUIsRUFnQkssU0FBQUYsRUFDSCxFQUNFLEtBd0J1QyxLQVh6Qzd0QixHQUFDc3RCLEdBQUEsQ0FDQyxNQUFPUSxFQTlCa0IsQ0FDM0IsVUFBVyxvQkFDWCxTQUFVLElBQ1YsUUFBUyxDQUNYLEVBRThCLENBQzVCLFVBQVcsa0JBQ1gsU0FBVSxPQUNWLFFBQVMsQ0FDWCxFQXNCSyxVQUFBQSxFQUFvQixLQWJ2Qmp1QixHQUFDMHRCLEdBQUEsQ0FBcUMsUUEzQmhCLElBQU0sQ0FDNUJRLEVBQW1CLEVBQUksQ0FDekIsRUEwQkssU0FBQUgsRUFDSCxFQVlHRCxHQUNILEdBUUEsQ0FFSixFQzdESSxjQUFBOXRCLE9BQUEsb0JBUEcsSUFBTTR0QixHQUFjLENBQUMsQ0FDMUIsUUFBQUMsRUFDQSxXQUFBQyxFQUNBLGtCQUFBQyxFQUNBLG9CQUFBQyxDQUNGLElBRUlodUIsR0FBQzR0QixHQUFBLENBQ0MsUUFBU0MsRUFDVCxXQUFZQyxFQUNaLGtCQUFtQkMsRUFDbkIsb0JBQXFCQyxFQUN2QixFQ2RKLE9BQVMsZ0JBQUFoQixPQUFvQixZQ0Q3QixPQUFnQixjQUFBenRCLEdBQVksYUFBQWloQixPQUFpQixRQ0E3QyxPQUFPaGhCLE9BQVksb0JBSVosSUFBTTJ1QixHQUFlM3VCLEdBQU87QUFBQTtBQUFBLFdBRXZCRSxHQUFVQSxFQUFNLE1BQU0sS0FBSztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGVBT3ZCQSxHQUFVQSxFQUFNLE1BQU0sU0FBUztBQUFBLGVBQy9CQSxHQUFVQSxFQUFNLE1BQU0sUUFBUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFqQzB1QixHQUFxQjV1QixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWE1QjZ1QixHQUFzQjd1QixHQUFPO0FBQUE7QUFBQTtFQ25DMUMsT0FBZ0IsaUJBQUFnQixHQUFrQyxZQUFBa0IsT0FBZ0IsUUE0QjVELE9BRUUsT0FBQTFCLEdBRkYsUUFBQUcsT0FBQSxvQkFsQkMsSUFBTW11QixHQUFnQjl0QixHQUFpQyxDQUM1RCxPQUFRLEdBQ1IsVUFBVyxJQUFNLENBQ2YsUUFBUSxLQUFLLHFDQUFxQyxDQUNwRCxDQUNGLENBQUMsRUFPWSt0QixHQUFpQixDQUFDLENBQUUsU0FBQWh1QixFQUFVLE9BQUFpdUIsRUFBUSxLQUFBbHVCLENBQUssSUFBdUIsQ0FDN0UsR0FBTSxDQUFDbWlCLEVBQVFnTSxDQUFTLEVBQUkvc0IsR0FBa0IsRUFBSyxFQUM3Q0UsRUFBUSxDQUFFLE9BQUE2Z0IsRUFBUSxVQUFBZ00sQ0FBVSxFQUVsQyxPQUNFenVCLEdBQUNzdUIsR0FBYyxTQUFkLENBQXVCLE1BQU8xc0IsRUFDN0IsU0FBQXpCLEdBQUN5c0IsR0FBQSxDQUFpQixRQUFTLElBQU02QixFQUFVLEVBQUssRUFDN0MsVUFBQWx1QixFQUNEUCxHQUFDMHVCLEdBQUEsQ0FBTyxLQUFNcHVCLEVBQU8sU0FBQWt1QixFQUFPLEdBQzlCLEVBQ0YsQ0FFSixFRnhCQSxPQUFPeHRCLE9BQVcsaUJBNkNkLE9BRUksT0FBQWhCLEdBRkosUUFBQUcsT0FBQSxvQkExQ0csSUFBTXV1QixHQUFTLENBQUMsQ0FBRSxTQUFBbnVCLEVBQVUsS0FBQUQsQ0FBSyxJQUFtQixDQUN6RCxHQUFNLENBQUUsT0FBQW1pQixFQUFRLFVBQUFnTSxDQUFVLEVBQUlsdkIsR0FBVyt1QixFQUFhLEVBQ2hELENBQUUscUJBQUF4QixDQUFxQixFQUFJdnRCLEdBQVdvdEIsRUFBZSxFQUNyRCxDQUFFLGFBQUFVLENBQWEsRUFBSTl0QixHQUFXMnRCLEVBQVcsRUFFL0MxTSxHQUFVLElBQU0sQ0FDZCxRQUFRLElBQUksT0FBTyxFQUNmaUMsR0FDRjRLLEVBQWEsRUFBSSxFQUNqQlAsRUFBcUIsRUFBSSxJQUV6Qk8sRUFBYSxFQUFLLEVBQ2xCUCxFQUFxQixFQUFLLEVBRTlCLEVBQUcsQ0FBQ3JLLENBQU0sQ0FBQyxFQUVYLElBQU1rTSxFQUFrQjN0QixHQUFNVixFQUFNLENBQ2xDLFNBQW1CLE1BQU0sRUFDekIsVUFBb0IsTUFBTSxFQUMxQixTQUFtQixNQUFNLEVBQ3pCLFFBQWtCLE9BQU8sQ0FDM0IsQ0FBQyxFQW9CRCxPQUNFSCxHQUFDZ3VCLEdBQUEsQ0FBYSxNQUFPMUwsRUFuQkYsQ0FDbkIsVUFBVyxpQkFDWCxTQUFVLE9BQ1YsTUFBT2tNLENBQ1QsRUFFb0IsQ0FDbEIsVUFBVyxxQkFDWCxTQUFVLElBQ1YsTUFBT0EsQ0FDVCxFQVVJLFVBQUEzdUIsR0FBQ291QixHQUFBLENBQ0MsU0FBQXB1QixHQUFDLE9BQUksUUFUUyxJQUFNLENBQ3hCeXVCLEVBQVUsRUFBSyxFQUNmM0IsRUFBcUIsRUFBSyxFQUMxQk8sRUFBYSxFQUFLLENBQ3BCLEVBS2lDLGlCQUFLLEVBQ2xDLEVBQ0FydEIsR0FBQ3F1QixHQUFBLENBQXFCLFNBQUE5dEIsRUFBUyxHQUNqQyxDQUVKLEVHOURPLElBQUtxdUIsUUFDVkEsRUFBQSxNQUFRLFFBQ1JBLEVBQUEsT0FBUyxTQUNUQSxFQUFBLE1BQVEsUUFDUkEsRUFBQSxLQUFPLE9BSkdBLFFBQUEsSUpRUixjQUFBNXVCLE9BQUEsb0JBRkcsSUFBTTB1QixHQUFTLENBQUMsQ0FBRSxTQUFBbnVCLEVBQVUsS0FBQUQsQ0FBSyxJQUMvQjBzQixHQUNMaHRCLEdBQUMwdUIsR0FBQSxDQUFXLFNBQVVudUIsRUFBVSxLQUFNRCxHQUFjLFFBQWtCLEVBQ3RFLFNBQVMsSUFDWCxFS1RGLE9BQVMsZ0JBQUEwc0IsT0FBb0IsWUNEN0IsT0FBZ0IsY0FBQXp0QixHQUFZLGFBQUFpaEIsT0FBaUIsUUNBN0MsT0FBT2hoQixPQUFZLG9CQUdaLElBQU1xdkIsR0FBY3J2QixHQUFPO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLGVBTWxCRSxHQUFVQSxFQUFNLE1BQU0sU0FBUztBQUFBLGdCQUM5QkEsR0FBVUEsRUFBTSxNQUFNLFNBQVM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFXbkNvdkIsR0FBb0J0dkIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhM0J1dkIsR0FBeUJ2dkIsR0FBTyxNQUVoQ3d2QixHQUFxQnh2QixHQUFPLE1DcEN6QyxPQUFnQixpQkFBQWdCLEdBQWtDLFlBQUFrQixPQUFnQixRQTJCNUQsT0FFRSxPQUFBMUIsR0FGRixRQUFBRyxPQUFBLG9CQWpCQyxJQUFNOHVCLEdBQWV6dUIsR0FBZ0MsQ0FDMUQsT0FBUSxHQUNSLFVBQVcsSUFBTSxDQUNmLFFBQVEsS0FBSyxxQ0FBcUMsQ0FDcEQsQ0FDRixDQUFDLEVBTVkwdUIsR0FBZ0IsQ0FBQyxDQUFFLFNBQUEzdUIsRUFBVSxNQUFBNHVCLENBQU0sSUFBc0IsQ0FDcEUsR0FBTSxDQUFDMU0sRUFBUWdNLENBQVMsRUFBSS9zQixHQUFrQixFQUFLLEVBQzdDRSxFQUFRLENBQUUsT0FBQTZnQixFQUFRLFVBQUFnTSxDQUFVLEVBRWxDLE9BQ0V6dUIsR0FBQ2l2QixHQUFhLFNBQWIsQ0FBc0IsTUFBT3J0QixFQUM1QixTQUFBekIsR0FBQ3lzQixHQUFBLENBQWlCLFFBQVMsSUFBTTZCLEVBQVUsRUFBSyxFQUM3QyxVQUFBbHVCLEVBQ0RQLEdBQUNvdkIsR0FBQSxDQUFPLFNBQUFELEVBQU0sR0FDaEIsRUFDRixDQUVKLEVGV0ksT0FFSSxPQUFBbnZCLEdBRkosUUFBQUcsT0FBQSxvQkFoQ0csSUFBTWl2QixHQUFRLENBQUMsQ0FBRSxTQUFBN3VCLENBQVMsSUFBa0IsQ0FDakQsR0FBTSxDQUFFLE9BQUFraUIsRUFBUSxVQUFBZ00sQ0FBVSxFQUFJbHZCLEdBQVcwdkIsRUFBWSxFQUMvQyxDQUFFLHFCQUFBbkMsQ0FBcUIsRUFBSXZ0QixHQUFXb3RCLEVBQWUsRUFDckQsQ0FBRSxhQUFBVSxDQUFhLEVBQUk5dEIsR0FBVzJ0QixFQUFXLEVBRS9DLE9BQUExTSxHQUFVLElBQU0sQ0FDVmlDLEdBQ0Y0SyxFQUFhLEVBQUksRUFDakJQLEVBQXFCLEVBQUksSUFFekJPLEVBQWEsRUFBSyxFQUNsQlAsRUFBcUIsRUFBSyxFQUU5QixFQUFHLENBQUNySyxDQUFNLENBQUMsRUFtQlR0aUIsR0FBQzB1QixHQUFBLENBQVksTUFBT3BNLEVBakJELENBQ25CLFVBQVcscUNBQ1gsVUFBVyxNQUNiLEVBRW9CLENBQ2xCLFVBQVcsc0NBQ1gsVUFBVyxHQUNiLEVBVUksVUFBQXppQixHQUFDOHVCLEdBQUEsQ0FDQyxTQUFBOXVCLEdBQUMrdUIsR0FBQSxDQUF1QixRQVRYLElBQU0sQ0FDdkJOLEVBQVUsRUFBSyxFQUNmM0IsRUFBcUIsRUFBSyxFQUMxQk8sRUFBYSxFQUFLLENBQ3BCLEVBS21ELGlCQUU3QyxFQUNGLEVBQ0FydEIsR0FBQ2d2QixHQUFBLENBQW9CLFNBQUF6dUIsRUFBUyxHQUNoQyxDQUVKLEVEL0NzQixjQUFBUCxPQUFBLG9CQURmLElBQU1vdkIsR0FBUSxDQUFDLENBQUUsU0FBQTd1QixDQUFTLElBQ3hCeXNCLEdBQWFodEIsR0FBQ292QixHQUFBLENBQVUsU0FBVTd1QixFQUFVLEVBQUksU0FBUyxJQUFJLEVJTnRFLE9BQWdCLGNBQUFoQixHQUFZLGFBQUFpaEIsT0FBaUIsUUNBN0MsT0FBT2hoQixPQUFZLG9CQUdaLElBQU02dkIsR0FBZ0I3dkIsR0FBTztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxlQVNwQkUsR0FBVUEsRUFBTSxNQUFNLFNBQVM7QUFBQSxnQkFDOUJBLEdBQVVBLEVBQU0sTUFBTSxTQUFTO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUW5DNHZCLEdBQXNCOXZCLEdBQU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBYTdCK3ZCLEdBQTBCL3ZCLEdBQU8sTUFFakNnd0IsR0FBMkJod0IsR0FBTztBQUFBO0FBQUEsRUFJbENpd0IsR0FBdUJqd0IsR0FBTztBQUFBO0VDeEMzQyxPQUFnQixpQkFBQWdCLEdBQWtDLFlBQUFrQixPQUFnQixRQWtDNUQsT0FFRSxPQUFBMUIsR0FGRixRQUFBRyxPQUFBLG9CQXhCQyxJQUFNdXZCLEdBQWlCbHZCLEdBQWtDLENBQzlELE9BQVEsR0FDUixVQUFXLElBQU0sQ0FDZixRQUFRLEtBQUsscUNBQXFDLENBQ3BELENBQ0YsQ0FBQyxFQVFZbXZCLEdBQWtCLENBQUMsQ0FDOUIsU0FBQXB2QixFQUNBLE9BQUFxdkIsRUFDQSxNQUFBQyxFQUNBLFFBQUFDLENBQ0YsSUFBd0IsQ0FDdEIsR0FBTSxDQUFDck4sRUFBUWdNLENBQVMsRUFBSS9zQixHQUFrQixFQUFLLEVBQzdDRSxFQUFRLENBQUUsT0FBQTZnQixFQUFRLFVBQUFnTSxDQUFVLEVBRWxDLE9BQ0V6dUIsR0FBQzB2QixHQUFlLFNBQWYsQ0FBd0IsTUFBTzl0QixFQUM5QixTQUFBekIsR0FBQ3lzQixHQUFBLENBQWlCLFFBQVMsSUFBTTZCLEVBQVUsRUFBSyxFQUM3QyxVQUFBbHVCLEVBQ0RQLEdBQUMrdkIsR0FBQSxDQUFRLE9BQVFILEVBQVEsTUFBT0MsRUFDN0IsU0FBQUMsRUFDSCxHQUNGLEVBQ0YsQ0FFSixFRklNLE9BTTJDLFlBQUFsckIsR0FMekMsT0FBQTVFLEdBREYsUUFBQUcsT0FBQSxvQkFqQ0MsSUFBTTR2QixHQUFVLENBQUMsQ0FBRSxTQUFBeHZCLEVBQVUsT0FBQXF2QixFQUFRLE1BQUFDLENBQU0sSUFBb0IsQ0FDcEUsR0FBTSxDQUFFLE9BQUFwTixFQUFRLFVBQUFnTSxDQUFVLEVBQUlsdkIsR0FBV213QixFQUFjLEVBQ2pELENBQUUscUJBQUE1QyxDQUFxQixFQUFJdnRCLEdBQVdvdEIsRUFBZSxFQUNyRCxDQUFFLGFBQUFVLENBQWEsRUFBSTl0QixHQUFXMnRCLEVBQVcsRUFFL0MsT0FBQTFNLEdBQVUsSUFBTSxDQUNWaUMsR0FDRjRLLEVBQWEsRUFBSSxFQUNqQlAsRUFBcUIsRUFBSSxJQUV6Qk8sRUFBYSxFQUFLLEVBQ2xCUCxFQUFxQixFQUFLLEVBRTlCLEVBQUcsQ0FBQ3JLLENBQU0sQ0FBQyxFQW1CVHRpQixHQUFDa3ZCLEdBQUEsQ0FBYyxNQUFPNU0sRUFqQkgsQ0FDbkIsVUFBVyxtQkFDWCxVQUFXLE1BQ2IsRUFFb0IsQ0FDbEIsVUFBVyxxQkFDWCxVQUFXLEdBQ2IsRUFVSSxVQUFBdGlCLEdBQUNtdkIsR0FBQSxDQUNDLFVBQUF0dkIsR0FBQ3V2QixHQUFBLENBQXlCLFNBQUFLLEVBQU8sRUFDakM1dkIsR0FBQ3d2QixHQUFBLENBQXlCLFFBVlgsSUFBTSxDQUN6QmYsRUFBVSxFQUFLLEVBQ2YzQixFQUFxQixFQUFLLEVBQzFCTyxFQUFhLEVBQUssQ0FDcEIsRUFPUyxTQUFBd0MsRUFDSCxHQUNGLEVBQ0E3dkIsR0FBQ3l2QixHQUFBLENBQXNCLFNBQUFoTixFQUFTbGlCLEVBQVdQLEdBQUE0RSxHQUFBLEVBQUUsRUFBSSxHQUNuRCxDQUVKLEVHcERBLE9BQVMsZ0JBQUFvb0IsT0FBb0IsWUFJekIsY0FBQWh0QixPQUFBLG9CQUZHLElBQU0rdkIsR0FBVSxDQUFDLENBQUUsU0FBQXh2QixFQUFVLE9BQUFxdkIsRUFBUSxNQUFBQyxDQUFNLElBQ3pDN0MsR0FDTGh0QixHQUFDK3ZCLEdBQUEsQ0FBWSxTQUFVeHZCLEVBQVUsT0FBUXF2QixFQUFRLE1BQU9DLEVBQU8sRUFDL0QsU0FBUyxJQUNYLEVDVEYsT0FBT3J3QixPQUFZLG9CQUdaLElBQU13d0IsR0FBZ0J4d0IsR0FBTyxJQUFJLFdBQVcsQ0FDakQsa0JBQW9CcUcsR0FBUyxDQUFDLFVBQVUsRUFBRSxTQUFTQSxDQUFJLENBQ3pELENBQUM7QUFBQSxnQkFDZ0JuRyxHQUFVQSxFQUFNLE1BQU0sVUFBVTtBQUFBO0VDSmpELE9BQVMsYUFBQXdGLEdBQVcsaUJBQUFwRSxPQUFxQixpQkFTaEMsY0FBQWQsT0FBQSxvQkFQRixJQUFNaXdCLEdBQVUsQ0FBQyxDQUFFLFNBQUExdkIsRUFBVSxNQUFBOEUsRUFBTyxLQUFBRCxDQUFLLElBQW9CLENBQ2xFLElBQU1oRSxFQUFTTixHQUFjLEVBRXZCcUIsRUFBUSxDQUNaLFdBRmlCK0MsR0FBVTlELEVBQVFBLEVBQU8sU0FBUyxTQUFVLENBQUNpRSxFQUFPRCxDQUFJLENBQUMsQ0FHNUUsRUFFQSxPQUFPcEYsR0FBQ2d3QixHQUFBLENBQWMsTUFBTzd0QixFQUFRLFNBQUE1QixFQUFTLENBQ2hELEVDVkEsT0FBUyxTQUFBbEIsR0FBTyxnQkFBQUMsT0FBb0IsMEJBU2hDLGNBQUFVLE9BQUEsb0JBTkcsSUFBTWl3QixHQUFVLENBQUMsQ0FDdEIsU0FBQTF2QixFQUNBLE1BQUE4RSxFQUFRaEcsR0FBTSxTQUNkLEtBQUErRixFQUFPOUYsR0FBYSxRQUN0QixJQUVJVSxHQUFDaXdCLEdBQUEsQ0FDQyxLQUFNN3FCLEdBQWM5RixHQUFhLFNBQ2pDLE1BQU8rRixHQUFnQmhHLEdBQU0sU0FFNUIsU0FBQWtCLEVBQ0gsRUNmSixPQUFTLGVBQUEydkIsT0FBbUIsNEJBY3hCLGNBQUFsd0IsT0FBQSxvQkFORyxJQUFNbXdCLEdBQW9CLENBQUMsQ0FDaEMsU0FBQTV2QixFQUNBLE9BQUE2dkIsRUFDQSxPQUFBQyxDQUNGLElBRUlyd0IsR0FBQ2t3QixHQUFBLENBQVksT0FBUUUsRUFBUSxPQUFRQyxFQUNsQyxTQUFBOXZCLEVBQ0gsRUNqQkosT0FBUyxhQUFBK3ZCLE9BQWlCLGlCQUMxQixPQUNFLGlCQUFBOXZCLEdBR0EsYUFBQWdnQixHQUNBLFlBQUE5ZSxPQUNLLFFBaURILGNBQUExQixPQUFBLG9CQS9DSixJQUFNdXdCLEdBQW1CRCxHQUFVLFNBR3RCRSxHQUdSaHdCLEdBQWMsQ0FDakIsVUFBVyt2QixHQUNYLGFBQWMsSUFBTSxDQUFDLENBQ3ZCLENBQUMsRUFNWUUsR0FDWC93QixHQUNHLENBQ0gsR0FBTSxDQUFFLFNBQUFhLEVBQVUsWUFBQW13QixDQUFZLEVBQUloeEIsRUFHNUJpeEIsRUFBb0JDLEdBQ3hCLGVBQWUsUUFBUSxZQUFZLEVBQ25DTixHQUFVLFFBQ1osRUFDTSxDQUFDTyxFQUFXQyxDQUFZLEVBQUlwdkIsR0FBU2l2QixDQUFpQixFQUc1RG5RLEdBQVUsSUFBTSxDQUNWa1EsSUFDRSxXQUFXLHlCQUF5QixFQUFFLFFBQ3hDSSxFQUFhUixHQUFVLFFBQVEsRUFFM0IsV0FBVyw4QkFBOEIsR0FDM0NRLEVBQWFSLEdBQVUsUUFBUSxFQUl2QyxFQUFHLENBQUNJLENBQVcsQ0FBQyxFQUdoQmxRLEdBQVUsSUFBTSxDQUNkLGVBQWUsUUFBUSxhQUFjcVEsQ0FBUyxDQUNoRCxFQUFHLENBQUNBLENBQVMsQ0FBQyxFQUVkLElBQU1qdkIsRUFBUSxDQUFFLFVBQVcrdUIsRUFBbUIsYUFBQUcsQ0FBYSxFQUMzRCxPQUNFOXdCLEdBQUN3d0IsR0FBaUIsU0FBakIsQ0FBMEIsTUFBTzV1QixFQUMvQixTQUFBckIsRUFDSCxDQUVKLEVBRUEsU0FBU3F3QixHQUNQaHZCLEVBQ0FtdkIsRUFDVyxDQUNYLE9BQUtudkIsR0FJRCxPQUFPLE9BQU8wdUIsRUFBUyxFQUFFLFNBQVMxdUIsQ0FBa0IsRUFDL0NBLEVBSkFtdkIsQ0FRWCxDQzRMQSxPQUFTLGdCQUFBQyxPQUFvQixpQkFFN0IsT0FBUyxzQkFBQUMsT0FBMEIsaUJBRW5DLE9BQ0UsWUFBQUMsR0FDQSxhQUFBWixHQUNBLDBCQUFBYSxHQUNBLHlCQUFBQyxHQUNBLDBCQUFBQyxHQUNBLHVCQUFBQyxPQUNLLGlCQUdQLE9BQVMsc0NBQUFDLE9BQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUJhZGdlQmFzZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlL2JhZGdlLnR5cGVzXCI7XG5pbXBvcnQgeyBCYWRnZVR5cGUgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZVwiO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9yVmFyaWFudCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVTaXplLCBGaWd1cmVUeXBlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEJhZGdlID0gKHsgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCB9OiBJQmFkZ2VCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8RnJhbWVcbiAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgIHNpemU9e0ZpZ3VyZVNpemUuTUVESVVNfVxuICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5GRU5DRX1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgLz5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKHR5cGUsIFtcbiAgICBbXG4gICAgICBCYWRnZVR5cGUuREFZQ0FSRSxcbiAgICAgIDxGcmFtZVxuICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgIGNvbG9yPXtDb2xvci5BQ0NFTlR9XG4gICAgICAgIGFyb3VuZD17XG4gICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgc2l6ZT17RmlndXJlU2l6ZS5NRURJVU19XG4gICAgICAgICAgICB0eXBlPXtGaWd1cmVUeXBlLkJVSUxESU5HfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAvPixcbiAgICBdLFxuICAgIFtcbiAgICAgIEJhZGdlVHlwZS5DSElMRE1JTkRFUixcbiAgICAgIDxGcmFtZVxuICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgIGNvbG9yPXtDb2xvci5TVVBQT1JUSU5HfVxuICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgIHNpemU9e0ZpZ3VyZVNpemUuTUVESVVNfVxuICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5GRU5DRX1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBCYWRnZVR5cGUuQ09PUEVSQVRJVkUsXG4gICAgICA8RnJhbWVcbiAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICBjb2xvcj17Q29sb3IuQUNDRU5UfVxuICAgICAgICBzcGxpdD17Q29sb3IuU1VQUE9SVElOR31cbiAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICBzaXplPXtGaWd1cmVTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuQlVJTERJTkd9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIC8+LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBBbGVydCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAuMDgyMSAxLjk4MTcxQzMzLjk5ODEgMS45ODE3MSAyNC44OTE2IDIuMTU3MjEgMjcuOTE0MSAyNy44Mzg3QzMwLjkzNjYgNTMuNTIwMiAzNy4wNDAxIDUzLjY1NjcgNDAuMDgyMSA1My42NTY3QzQzLjEyNDEgNTMuNjU2NyA0OS4yMDgxIDUzLjY1NjcgNTIuMjUwMSAyNy43OTk3QzU1LjI5MjEgMS45NDI3MSA0Ni4xNjYxIDEuOTgxNzEgNDAuMDgyMSAxLjk4MTcxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzAuOTU2MSA2OC45MDU3QzMwLjk1NjEgNzAuMTA0MiAzMS4xOTIxIDcxLjI5MDkgMzEuNjUwNyA3Mi4zOTgxQzMyLjEwOTQgNzMuNTA1MyAzMi43ODE2IDc0LjUxMTMgMzMuNjI5IDc1LjM1ODhDMzQuNDc2NCA3Ni4yMDYyIDM1LjQ4MjUgNzYuODc4NCAzNi41ODk3IDc3LjMzN0MzNy42OTY5IDc3Ljc5NTcgMzguODgzNiA3OC4wMzE3IDQwLjA4MjEgNzguMDMxN0M0MS4yODA1IDc4LjAzMTcgNDIuNDY3MiA3Ny43OTU3IDQzLjU3NDQgNzcuMzM3QzQ0LjY4MTYgNzYuODc4NCA0NS42ODc3IDc2LjIwNjIgNDYuNTM1MSA3NS4zNTg4QzQ3LjM4MjUgNzQuNTExMyA0OC4wNTQ4IDczLjUwNTMgNDguNTEzNCA3Mi4zOTgxQzQ4Ljk3MiA3MS4yOTA5IDQ5LjIwODEgNzAuMTA0MiA0OS4yMDgxIDY4LjkwNTdDNDkuMjA4MSA2Ny43MDczIDQ4Ljk3MiA2Ni41MjA2IDQ4LjUxMzQgNjUuNDEzM0M0OC4wNTQ4IDY0LjMwNjEgNDcuMzgyNSA2My4zMDAxIDQ2LjUzNTEgNjIuNDUyN0M0NS42ODc3IDYxLjYwNTIgNDQuNjgxNiA2MC45MzMgNDMuNTc0NCA2MC40NzQ0QzQyLjQ2NzIgNjAuMDE1OCA0MS4yODA1IDU5Ljc3OTcgNDAuMDgyMSA1OS43Nzk3QzM4Ljg4MzYgNTkuNzc5NyAzNy42OTY5IDYwLjAxNTggMzYuNTg5NyA2MC40NzQ0QzM1LjQ4MjUgNjAuOTMzIDM0LjQ3NjQgNjEuNjA1MiAzMy42MjkgNjIuNDUyN0MzMi43ODE2IDYzLjMwMDEgMzIuMTA5NCA2NC4zMDYxIDMxLjY1MDcgNjUuNDEzM0MzMS4xOTIxIDY2LjUyMDYgMzAuOTU2MSA2Ny43MDczIDMwLjk1NjEgNjguOTA1N1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQyLjMyNDYgNy45NjgyMUM0NC4yNzQ2IDguMjgwMjEgNDYuMzQxNiAxMS4xODU3IDQ2LjQ5NzYgMTQuNjM3MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjY0MjEgNjQuNDc5MkM0Mi4yMjk2IDY0LjQzOTggNDIuODExMyA2NC42MTYyIDQzLjI3OCA2NC45NzUyQzQzLjc0NDggNjUuMzM0MyA0NC4wNjQ0IDY1Ljg1MTMgNDQuMTc3MSA2Ni40MjkyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5jb25zdCBCYXNlRmlndXJlU3ZnID0gc3R5bGVkLnN2Zy5hdHRycygocHJvcHMpID0+ICh7XG4gIHZlcnNpb246IFwiMS4xXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICByb2xlOiBcImltZ1wiLFxuICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxufSkpYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlRmlndXJlUGF0aCA9IHN0eWxlZC5wYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWd1cmUgPSBzdHlsZWQoQmFzZUZpZ3VyZVN2Zyk8e1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGaWd1cmVQYXRoID0gc3R5bGVkKEJhc2VGaWd1cmVQYXRoKTx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpZ3VyZVdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmA7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2NyZWVuUmVhZGVyT25seSA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3R5bGVkU2NyZWVuUmVhZGVyT25seSB9IGZyb20gXCIuL3NjcmVlbl9yZWFkZXJfb25seS5zdHlsZXNcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHlQcm9wcyB9IGZyb20gXCJAL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTY3JlZW5SZWFkZXJPbmx5ID0gKHsgdGV4dCB9OiBTY3JlZW5SZWFkZXJPbmx5UHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRTY3JlZW5SZWFkZXJPbmx5Pnt0ZXh0fTwvU3R5bGVkU2NyZWVuUmVhZGVyT25seT47XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyT25seSB9IGZyb20gXCJAL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5XCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmUsIFN0eWxlZEZpZ3VyZVdyYXBwZXIgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2VTdmcgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBGaWd1cmUgPSAoe1xuICBzY3JlZW5SZWFkZXJUZXh0LFxuICBzaXplLFxuICBjaGlsZHJlbixcbn06IElGaWd1cmVCYXNlU3ZnKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZpZ3VyZVdyYXBwZXI+XG4gICAgICA8U3R5bGVkRmlndXJlIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9IHZpZXdCb3g9XCIwIDAgODAgODBcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRGaWd1cmU+XG4gICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgIDwvU3R5bGVkRmlndXJlV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRmlndXJlQ29udGV4dCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEZpZ3VyZUN0eERlZmF1bHQ6IEZpZ3VyZUNvbnRleHQgPSBGaWd1cmVDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgRmlndXJlQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBGaWd1cmVDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoRmlndXJlQ3R4RGVmYXVsdCk7XG4iLCJleHBvcnQgZW51bSBGaWd1cmVDb250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG4gIElOVkVSVEVEID0gXCJJTlZFUlRFRFwiLFxuICBBQ0NFTlQgPSBcIkFDQ0VOVFwiLFxufVxuXG5leHBvcnQgZW51bSBGaWd1cmVTaXplIHtcbiAgU01BTEwgPSBcIlNNQUxMXCIsXG4gIE1FRElVTSA9IFwiTUVESVVNXCIsXG4gIExBUkdFID0gXCJMQVJHRVwiLFxuICBYTEFSR0UgPSBcIlhMQVJHRVwiLFxufVxuXG5leHBvcnQgZW51bSBGaWd1cmVUeXBlIHtcbiAgQ0hJTEQgPSBcIkNISUxEXCIsXG4gIEZBTUlMWSA9IFwiRkFNSUxZXCIsXG4gIENBTEVOREFSID0gXCJDQUxFTkRBUlwiLFxuICBCSU4gPSBcIkJJTlwiLFxuICBBTEVSVCA9IFwiQUxFUlRcIixcbiAgUEFTU1dPUkQgPSBcIlBBU1NXT1JEXCIsXG4gIFNFQVJDSCA9IFwiU0VBUkNIXCIsXG4gIEZPTERFUiA9IFwiRk9MREVSXCIsXG4gIFBBU1NQT1JUID0gXCJQQVNTUE9SVFwiLFxuICBTRVRUSU5HID0gXCJTRVRUSU5HXCIsXG4gIEZBQ0UgPSBcIkZBQ0VcIixcbiAgUElOID0gXCJQSU5cIixcbiAgTU9ORVkgPSBcIk1PTkVZXCIsXG4gIElERUEgPSBcIklERUFcIixcbiAgT0ZGRVIgPSBcIk9GRkVSXCIsXG4gIEZBVk9SSVRFID0gXCJGQVZPUklURVwiLFxuICBGT0xMT1dfVVAgPSBcIkZPTExPV19VUFwiLFxuICBTVEFSID0gXCJTVEFSXCIsXG4gIENPSU5TID0gXCJDT0lOU1wiLFxuICBDSEVDSyA9IFwiQ0hFQ0tcIixcbiAgTElLRSA9IFwiTElLRVwiLFxuICBNQVAgPSBcIk1BUFwiLFxuICBBREQgPSBcIkFERFwiLFxuICBBUFBMSUNBVElPTiA9IFwiQVBQTElDQVRJT05cIixcbiAgQkFCWSA9IFwiQkFCWVwiLFxuICBCT09LTUFSSyA9IFwiQk9PS01BUktcIixcbiAgQ09OVkVSU0FUSU9OID0gXCJDT05WRVJTQVRJT05cIixcbiAgQ0FOQ0VMID0gXCJDQU5DRUxcIixcbiAgREFEID0gXCJEQURcIixcbiAgREFURVRJTUUgPSBcIkRBVEVUSU1FXCIsXG4gIEZJTEUgPSBcIkZJTEVcIixcbiAgSE9NRSA9IFwiSE9NRVwiLFxuICBJTkZPUk1BVElPTiA9IFwiSU5GT1JNQVRJT05cIixcbiAgTUFJTCA9IFwiTUFJTFwiLFxuICBNT00gPSBcIk1PTVwiLFxuICBOTyA9IFwiTk9cIixcbiAgTk9URSA9IFwiTk9URVwiLFxuICBZRVMgPSBcIllFU1wiLFxuICBGRU5DRSA9IFwiRkVOQ0VcIixcbiAgQlVJTERJTkcgPSBcIkJVSUxESU5HXCIsXG59XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IEZpZ3VyZUNvbnRleHQgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGaWd1cmVUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIEZpZ3VyZUNvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJRmlndXJlVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU3Ryb2tlID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImZpZ3VyZV9zdHJva2VcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gIH0pO1xuXG4gIGNvbnN0IFByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiZmlndXJlX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgU3VwcG9ydGluZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJmaWd1cmVfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBBY2NlbnQgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiZmlndXJlX2FjY2VudFwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5hY2NlbnQudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0cm9rZTogU2tlbGV0b25CZyxcbiAgICAgIHByaW1hcnk6IFNrZWxldG9uQmcsXG4gICAgICBzdXBwb3J0aW5nOiBTa2VsZXRvbkJnLFxuICAgICAgYWNjZW50OiBTa2VsZXRvbkJnLFxuICAgICAgZGFuZ2VyOiBTa2VsZXRvbkJnLFxuICAgICAgc3VjY2VzczogU2tlbGV0b25CZyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBGaWd1cmVDb250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBzdHJva2U6IFN0cm9rZSxcbiAgICAgICAgcHJpbWFyeTogUHJpbWFyeSxcbiAgICAgICAgc3VwcG9ydGluZzogU3VwcG9ydGluZyxcbiAgICAgICAgYWNjZW50OiBBY2NlbnQsXG4gICAgICAgIGRhbmdlcjogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgICAgc3VjY2VzczogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgRmlndXJlQ29udGV4dC5JTlZFUlRFRCxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBTdHJva2UsXG4gICAgICAgIHByaW1hcnk6IFN1cHBvcnRpbmcsXG4gICAgICAgIHN1cHBvcnRpbmc6IEFjY2VudCxcbiAgICAgICAgYWNjZW50OiBQcmltYXJ5LFxuICAgICAgICBkYW5nZXI6IENvbG9ycy5kYW5nZXIudGludF81MDAsXG4gICAgICAgIHN1Y2Nlc3M6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEZpZ3VyZUNvbnRleHQuQUNDRU5ULFxuICAgICAge1xuICAgICAgICBzdHJva2U6IFN0cm9rZSxcbiAgICAgICAgcHJpbWFyeTogQWNjZW50LFxuICAgICAgICBzdXBwb3J0aW5nOiBQcmltYXJ5LFxuICAgICAgICBhY2NlbnQ6IFN1cHBvcnRpbmcsXG4gICAgICAgIGRhbmdlcjogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgICAgc3VjY2VzczogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFByb2Nlc3NpbmdDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgdXNlSXNQcm9jZXNzaW5nID0gKCk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCB7IGlzRG9uZSB9ID0gdXNlQ29udGV4dChQcm9jZXNzaW5nQ29udGV4dCk7XG4gIHJldHVybiAhaXNEb25lO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9jZXNzaW5nQ29udGV4dFR5cGUge1xuICBpc0RvbmU6IGJvb2xlYW47XG4gIHNldElzRG9uZTogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4+O1xufVxuXG5leHBvcnQgY29uc3QgUHJvY2Vzc2luZ0NvbnRleHQgPSBjcmVhdGVDb250ZXh0PFByb2Nlc3NpbmdDb250ZXh0VHlwZT4oe1xuICBpc0RvbmU6IHRydWUsXG4gIHNldElzRG9uZTogKHZhbHVlKSA9PiB7XG4gICAgLy8gRGVmYXVsdCBmdW5jdGlvbiBzaG91bGQgaWRlYWxseSBsb2cgYW4gZXJyb3Igb3IgYmUgYSBuby1vcFxuICAgIGNvbnNvbGUud2FybihcInNldElzRG9uZSBjYWxsZWQgd2l0aG91dCBhIHByb3ZpZGVyXCIpO1xuICB9LFxufSk7XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzaW5nUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiB9OiBQcm9wc1dpdGhDaGlsZHJlbikgPT4ge1xuICBjb25zdCBbaXNEb25lLCBzZXRJc0RvbmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB2YWx1ZSA9IHsgaXNEb25lLCBzZXRJc0RvbmUgfTtcblxuICByZXR1cm4gKFxuICAgIDxQcm9jZXNzaW5nQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvUHJvY2Vzc2luZ0NvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQmluID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC4yMDMxIDIyLjA0MDVDNzQuMjcxNiAxOS44NjMyIDczLjY1MzEgMTcuNzE5NiA3Mi40MzUgMTUuOTEzNkM3MS4yMTcgMTQuMTA3NiA2OS40NjE0IDEyLjczMDggNjcuNDE3MSAxMS45Nzg1QzYxLjE2MTggMTAuNzA0NiA1NC44MDYgOS45ODY4MiA0OC40MjQxIDkuODMzNDhDNDguMjgwMiA4LjI3NDg0IDQ3Ljk4NjMgNi43MzM3MiA0Ny41NDY2IDUuMjMxNDhDNDYuMjc5MSAxLjk1NTQ4IDQzLjQzMjEgMS45NzQ5OCA0MC4wMDAxIDEuOTc0OThDMzYuNTY4MSAxLjk3NDk4IDMzLjcyMTEgMS45NzQ5OCAzMi40NTM2IDUuMjMxNDhDMzIuMDEzOSA2LjczMzcyIDMxLjcyMDEgOC4yNzQ4NCAzMS41NzYxIDkuODMzNDhDMjUuMTk0MiA5Ljk4NjgyIDE4LjgzODQgMTAuNzA0NiAxMi41ODMxIDExLjk3ODVDMTAuNTM4OCAxMi43MzA4IDguNzgzMTkgMTQuMTA3NiA3LjU2NTE5IDE1LjkxMzZDNi4zNDcxOCAxNy43MTk2IDUuNzI4NTkgMTkuODYzMiA1Ljc5NzExIDIyLjA0MDVDNS42ODE4NCAyMy44ODI5IDYuMTY5MzkgMjUuNzEyOSA3LjE4NjA4IDI3LjI1MzdDOC4yMDI3NyAyOC43OTQ2IDkuNjkzMzYgMjkuOTYyNyAxMS40MzI2IDMwLjU4MTVDMTEuMzI2NCAzNS4wMjkxIDExLjUyMTkgMzkuNDc4OCAxMi4wMTc2IDQzLjlDMTMuMjI2NiA1NC44MiAxNi4yODgxIDcwLjA4ODUgMTguMjM4MSA3Mi45MTZDMjEuMzU4MSA3Ny4zODE1IDMwLjgzNTEgNzguMDI1IDQwLjAwMDEgNzguMDI1QzQ5LjE2NTEgNzguMDI1IDU4LjY0MjEgNzcuMzgxNSA2MS43NjIxIDcyLjgzOEM2My43MTIxIDcwLjAxMDUgNjYuNzczNiA1NC43NDIgNjcuOTgyNiA0My44MjJDNjguNDc0OCAzOS40MjY2IDY4LjY3MDMgMzUuMDAzMSA2OC41Njc2IDMwLjU4MTVDNzAuMzA2OSAyOS45NjI3IDcxLjc5NzUgMjguNzk0NiA3Mi44MTQxIDI3LjI1MzdDNzMuODMwOCAyNS43MTI5IDc0LjMxODQgMjMuODgyOSA3NC4yMDMxIDIyLjA0MDVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMC41IDMwLjgzNUMyNi45ODM4IDMxLjQwMDEgMzMuNDkyNiAzMS42Mjc5IDQwIDMxLjUxNzVDNDYuNTM5OSAzMS42MzEzIDUzLjA4MTMgMzEuNDAzNSA1OS41OTc1IDMwLjgzNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzAuNjc5MiA0My45QzMwLjQ5MTUgNDcuMDAxNSAzMC41Njk4IDUwLjExMzQgMzAuOTEzMiA1My4yMDE1QzMxLjA4NDkgNTYuMjkzNiAzMS41MTU0IDU5LjM2NTggMzIuMjAwMiA2Mi4zODZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ5LjI0MyA0My45QzQ5LjQzMDcgNDcuMDAxNSA0OS4zNTI0IDUwLjExMzQgNDkuMDA5IDUzLjIwMTVDNDguODY0MSA1Ni4yOTc5IDQ4LjQ1OTcgNTkuMzc2NyA0Ny44IDYyLjQwNTVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjE5MzYgMTYuNkM2Mi42Mzk2IDE2LjYgNjQuODYyNiAxNi42IDY3LjA2NjEgMTkuNzAwNVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBDYWxlbmRhciA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzIuNTg0NiAxOC43MjIzQzcwLjIzMjggMTYuNTU5IDY3LjMyMDcgMTUuMDk5NiA2NC4xODAxIDE0LjUxMDNDNjQuMTI4NyAxMi4yMDM0IDYzLjg2NzYgOS45MDU5MyA2My40MDAxIDcuNjQ2M0M2My4wMTYgNi40NDU2IDYyLjI2MDQgNS4zOTc5OSA2MS4yNDIyIDQuNjU0NjhDNjAuMjI0IDMuOTExMzcgNTguOTk2IDMuNTEwODEgNTcuNzM1MyAzLjUxMDgxQzU2LjQ3NDcgMy41MTA4MSA1NS4yNDY3IDMuOTExMzcgNTQuMjI4NSA0LjY1NDY4QzUzLjIxMDMgNS4zOTc5OSA1Mi40NTQ3IDYuNDQ1NiA1Mi4wNzA2IDcuNjQ2M0M1MS42OTQgOS4xNzQyOSA1MS40NjU1IDEwLjczNSA1MS4zODgxIDEyLjMwNjhDNDcuMjczNiAxMS44Nzc4IDQzLjI1NjYgMTEuNjYzMyA0MC4wNzgxIDExLjY2MzNDMzYuODk5NiAxMS42NjMzIDMyLjg4MjYgMTEuODc3OCAyOC43NjgxIDEyLjMwNjhDMjguNjkwNyAxMC43MzUgMjguNDYyMiA5LjE3NDI5IDI4LjA4NTYgNy42NDYzQzI3LjczMzQgNi40MzIzNyAyNi45ODk4IDUuMzY4ODcgMjUuOTcwNyA0LjYyMTIzQzI0Ljk1MTUgMy44NzM1OSAyMy43MTM4IDMuNDgzNzQgMjIuNDUwMSAzLjUxMjNDMjEuMTU0NyAzLjQ1NTY1IDE5Ljg3NzMgMy44MzA5NCAxOC44MTg0IDQuNTc5MjJDMTcuNzU5NSA1LjMyNzUgMTYuOTc5MiA2LjQwNjM2IDE2LjYwMDEgNy42NDYzQzE2LjEzMjYgOS45MDU5MyAxNS44NzE1IDEyLjIwMzQgMTUuODIwMSAxNC41MTAzQzEyLjY3OTUgMTUuMDk5NiA5Ljc2NzQyIDE2LjU1OSA3LjQxNTYgMTguNzIyM0M1LjExNDYgMjEuNTQ5OCAxLjk3NTEgMzMuNzc2MyAxLjk3NTEgNDQuMjQ3OEMxLjk3NTEgNTQuNzE5MyA1LjExNDYgNjYuOTQ1OCA3LjQxNTYgNjkuNzM0M0MxMC44NjcxIDczLjk0NjMgMjkuNTA5MSA3Ni44MzIzIDQwLjAwMDEgNzYuODMyM0M1MC40OTExIDc2LjgzMjMgNjkuMTMzMSA3My45NDYzIDcyLjU4NDYgNjkuNzM0M0M3NC44ODU2IDY2Ljk0NTggNzguMDI1MSA1NC43MTkzIDc4LjAyNTEgNDQuMjQ3OEM3OC4wMjUxIDMzLjc3NjMgNzQuODg1NiAyMS41NDk4IDcyLjU4NDYgMTguNzIyM1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYwLjI2MDQgNjMuNTcyM0M2NC4wNDM0IDYxLjIxMjggNjQuNDUyOSA1Ni4xNDI4IDY0LjQ1MjkgNDYuOTc3OEM2NC40NTI5IDM3LjgxMjggNjQuMDQzNCAzMi43NjIzIDYwLjI2MDQgMzAuMzgzM0M1OC4zMTA0IDI4LjAyMzggNDguMzI2NCAyNy40MTkzIDM5Ljk5OTkgMjcuNDE5M0MzMS42NzM0IDI3LjQxOTMgMjEuNjExNCAyOC4wMDQzIDE5LjczOTQgMzAuNDIyM0MxNS45NTY0IDMyLjgwMTMgMTUuNTQ2OSAzNy44NTE4IDE1LjU0NjkgNDcuMDE2OEMxNS41NDY5IDU2LjE4MTggMTUuOTU2NCA2MS4yNTE4IDE5LjczOTQgNjMuNjExM0MyMS42ODk0IDY1Ljk5MDMgMzEuNjczNCA2Ni41NzUzIDM5Ljk5OTkgNjYuNTc1M0M0OC4zMjY0IDY2LjU3NTMgNTguMzg4NCA2NS45MzE4IDYwLjI2MDQgNjMuNTcyM1pcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuMjAwMyAzMi43MjMzQzMyLjIwMDMgMzIuNzIzMyAzMS42NzM4IDM4LjQxNzMgMzEuNjczOCA0Ni45NTgzQzMxLjY3MzggNTUuNDk5MyAzMi4yMDAzIDYxLjIxMjggMzIuMjAwMyA2MS4yMTI4XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny44MDAzIDYxLjIxMjhDNDcuODAwMyA2MS4yMTI4IDQ4LjMyNjggNTUuNTE4OCA0OC4zMjY4IDQ2Ljk1ODNDNDguMzI2OCAzOC4zOTc4IDQ3LjgwMDMgMzIuNzIzMyA0Ny44MDAzIDMyLjcyMzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjI5NjYgNDAuMjg5M0M1Ny4yOTY2IDQwLjI4OTMgNTAuMzc0MSAzOS41Mjg4IDQwLjAwMDEgMzkuNTI4OEMyOS42MjYxIDM5LjUyODggMjIuNzAzNiA0MC4yODkzIDIyLjcwMzYgNDAuMjg5M1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjIuNzAzNiA1My42MjczQzIyLjcwMzYgNTMuNjI3MyAyOS42MjYxIDU0LjM4NzggNDAuMDAwMSA1NC4zODc4QzUwLjM3NDEgNTQuMzg3OCA1Ny4yOTY2IDUzLjYyNzMgNTcuMjk2NiA1My42MjczXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Mi4xNzE0IDE5LjQ0MzhDNjkuNTYxOSAyMS41MTA4IDY4Ljk5NjQgMjIuNjYxMyA2OS45NzE0IDI1LjYwNThcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBDaGVjayA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzMuMTUwMSA5LjI2ODA1QzY5LjQ2NDYgNi40NjAwNSA2NC40NzI2IDQuNjI3MDUgNTkuNTAwMSA5LjI2ODA1QzU2LjUzNjEgMTEuMjE4MSA0OC40NDM2IDE5LjAxODEgMzkuNTcxMSAzMC43MTgxQzM3LjI1MDYgMzMuNzk5MSAzNS4wNDcxIDM2LjcyNDEgMzMuMDM4NiAzOS40NzM2QzI1Ljc0NTYgMzMuOTM1NiAxOS45OTMxIDMwLjAxNjEgMTcuNjE0MSAyOS43MjM2QzEzLjU3NzYgMjguMTYzNiA5LjIwOTU3IDMyLjU1MTEgNi40MDE1NyAzNi4yMzY2QzMuNTkzNTcgMzkuOTIyMSAwLjM3NjA2NiA0NS4xMjg2IDIuOTUwMDcgNDguNTgwMUMzLjg2NjU3IDUwLjgwMzEgOS4wNTM1NyA1NS40NjM2IDE2LjM0NjYgNjEuMDIxMUMyNS4xMDIxIDY3LjY3MDYgMzEuNDIwMSA3Mi43MjExIDM1LjEyNTEgNzMuMTg5MUM0MC43OTk2IDc1LjM5MjYgNDQuODc1MSA2OC42ODQ2IDYxLjE5NjYgNDcuMTM3MUM3MC4wNjkxIDM1LjQzNzEgNzUuNzI0MSAyNS42ODcxIDc2Ljc5NjYgMjIuMzkxNkM3OS44Mzg2IDE2LjM4NTYgNzYuNzM4MSAxMi4wNzYxIDczLjE1MDEgOS4yNjgwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjY5MjEgMTguMzM1NUM1OS44OTAxIDE0Ljc0NzUgNjIuODU0MSAxMS4zNTQ1IDY1LjU2NDYgMTEuMDYyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENoaWxkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OC41OTYgNDYuNTUyQzYzLjQxMjUgNDIuMTA2IDY1Ljg1IDM1LjQzNyA2NS44NSAyNy4zMjVDNjUuODUgMTIuMTE1IDU3LjQwNjUgMS45NzQ5OCA0MC41IDEuOTc0OThDMjMuNTkzNSAxLjk3NDk4IDE1LjE1IDEyLjExNSAxNS4xNSAyNy4zMjVDMTUuMTUgMzUuNDM3IDE3LjU4NzUgNDIuMTA2IDIyLjQwNCA0Ni41NTJDMTUuNzE1NSA1MS40MjcgMTIuMzQyIDU5LjUgMTIuMzQyIDY5LjU4MTVDMTIuMzQyIDc1LjIyMzUgMjEuNzI4IDc4LjAzOCA0MC41IDc4LjAyNUM1OS4yNzIgNzguMDEyIDY4LjY1OCA3NS4xOTc1IDY4LjY1OCA2OS41ODE1QzY4LjY1OCA1OS41IDY1LjI4NDUgNTEuNDI3IDU4LjU5NiA0Ni41NTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS44NjAxIDkuMjA5NDdDNTIuMzU0NyAxMC4wNzI2IDU0LjUzIDExLjY3IDU2LjEwMDEgMTMuNzkyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDEuNDE2NSAxLjk3NDk4QzM5LjEwOTggMi42MTU4MiAzNy4xMTk1IDQuMDgyOTUgMzUuODI0OSA2LjA5Njc5QzM0LjUzMDMgOC4xMTA2MyAzNC4wMjE5IDEwLjUzMDQgMzQuMzk2NSAxMi44OTVDMzUuNDEwNSAxOC4xMDE1IDQ0LjMwMjUgMTcuNDM4NSA0My4yMyAxMS45OThDNDIuNjY0NSA5LjIwOTQ4IDM5LjU4MzUgMTAuNjMzIDM5LjU4MzUgMTAuNjMzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNi40MDE2IDI1LjkyMUMyNi40MDE2IDI3LjA0MzIgMjYuODQ3NCAyOC4xMTk1IDI3LjY0MSAyOC45MTMxQzI4LjQzNDUgMjkuNzA2NiAyOS41MTA4IDMwLjE1MjUgMzAuNjMzMSAzMC4xNTI1QzMxLjc1NTQgMzAuMTUyNSAzMi44MzE3IDI5LjcwNjYgMzMuNjI1MiAyOC45MTMxQzM0LjQxODggMjguMTE5NSAzNC44NjQ2IDI3LjA0MzIgMzQuODY0NiAyNS45MjFDMzQuODY0NiAyNC43OTg3IDM0LjQxODggMjMuNzIyNCAzMy42MjUyIDIyLjkyODhDMzIuODMxNyAyMi4xMzUzIDMxLjc1NTQgMjEuNjg5NSAzMC42MzMxIDIxLjY4OTVDMjkuNTEwOCAyMS42ODk1IDI4LjQzNDUgMjIuMTM1MyAyNy42NDEgMjIuOTI4OEMyNi44NDc0IDIzLjcyMjQgMjYuNDAxNiAyNC43OTg3IDI2LjQwMTYgMjUuOTIxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ2LjEzNTUgMjUuOTIxQzQ2LjEzNTUgMjcuMDQzMiA0Ni41ODEzIDI4LjExOTUgNDcuMzc0OSAyOC45MTMxQzQ4LjE2ODQgMjkuNzA2NiA0OS4yNDQ3IDMwLjE1MjUgNTAuMzY3IDMwLjE1MjVDNTEuNDg5MyAzMC4xNTI1IDUyLjU2NTYgMjkuNzA2NiA1My4zNTkxIDI4LjkxMzFDNTQuMTUyNyAyOC4xMTk1IDU0LjU5ODUgMjcuMDQzMiA1NC41OTg1IDI1LjkyMUM1NC41OTg1IDI0Ljc5ODcgNTQuMTUyNyAyMy43MjI0IDUzLjM1OTEgMjIuOTI4OEM1Mi41NjU2IDIyLjEzNTMgNTEuNDg5MyAyMS42ODk1IDUwLjM2NyAyMS42ODk1QzQ5LjI0NDcgMjEuNjg5NSA0OC4xNjg0IDIyLjEzNTMgNDcuMzc0OSAyMi45Mjg4QzQ2LjU4MTMgMjMuNzIyNCA0Ni4xMzU1IDI0Ljc5ODcgNDYuMTM1NSAyNS45MjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuMDU2NiAzNS43Njg0QzM0LjQxODUgMzcuNzMzNyAzNy40MzExIDM4Ljc0MjUgNDAuNTAwMSAzOC41OTU5QzQzLjU2OTIgMzguNzQyNSA0Ni41ODE4IDM3LjczMzcgNDguOTQzNiAzNS43Njg0XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MC41IDUyLjY3NUMzNi45ODEzIDUyLjY4NjEgMzMuNDgyIDUyLjE1MzQgMzAuMTI2IDUxLjA5NTVDMjkuNTM3NiA1Mi40ODM2IDI5LjIzMjYgNTMuOTc1MyAyOS4yMjkgNTUuNDgzQzI5LjIyOSA2MS43MjMgMzIuOTkyNSA2Ni43NTQgNDAuNSA2Ni43NTRDNDguMDA3NSA2Ni43NTQgNTEuNzcxIDYxLjcyMyA1MS43NzEgNTUuNDgzQzUxLjc2NzQgNTMuOTc1MyA1MS40NjI1IDUyLjQ4MzYgNTAuODc0IDUxLjA5NTVDNDcuNTE4IDUyLjE1MzQgNDQuMDE4NyA1Mi42ODYxIDQwLjUgNTIuNjc1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENvaW5zID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny41ODU5IDExLjgwNjFDNjcuMjY3NSAxMS4zNzU1IDYwLjMyMjYgMS45NDA2MSAzOS4xODc1IDEuOTQwNjFDMTguMDUyNyAxLjk0MDYxIDExLjEwNzYgMTEuMzc1NSAxMC43ODkzIDExLjgwNjFDOC40MTE5IDE0LjcyNjQgNy41NTA3OCAyNy40OTM0IDcuNTUwNzggMzguNDQ0NUM3LjU1MDc4IDQ5LjM5NTggOC40MTE5IDYyLjE2MjkgMTAuNzg5MyA2NS4wODMyQzExLjEwNzYgNjUuNTEzNiAxOC4wNTI3IDc0Ljk0ODUgMzkuMTg3NSA3NC45NDg1QzYwLjMyMjYgNzQuOTQ4NSA2Ny4yNjc1IDY1LjU4ODUgNjcuNTg1OSA2NS4wODMyQzY5Ljk2MzIgNjIuMTYyOSA3MC44MjQzIDQ5LjM5NTggNzAuODI0MyAzOC40NDQ1QzcwLjgyNDMgMjcuNDkzNCA2OS45NjMyIDE0LjcyNjQgNjcuNTg1OSAxMS44MDYxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTQuMDEzNyA4LjM4MDQ5QzU2LjI1NzYgOC45OTIxNyA1OC4zNzkyIDkuOTg2NDEgNjAuMjg0OCAxMS4zMTk1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NC40MjIxIDIxLjQwOTRDNTkuOTEwNyAyNS45OTU4IDUxLjQ4NjcgMjguNzEwMiAzOS4xODc1IDI4LjcxMDJDMjYuODg4NiAyOC43MTAyIDE4LjQ2NDYgMjUuOTk1OCAxMy45MzQ0IDIxLjQwOTRcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY0LjQyMjEgMzguNDQ0NUM1OS45MTA3IDQzLjAzMSA1MS40ODY3IDQ1Ljc0NTMgMzkuMTg3NSA0NS43NDUzQzI2Ljg4ODYgNDUuNzQ1MyAxOC40NjQ2IDQzLjAzMSAxMy45MzQ0IDM4LjQ0NDVcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY0LjQyMjEgNTMuMDQ2MUM1OS45MTA3IDU3LjYzMjYgNTEuNDg2NyA2MC4zNDY5IDM5LjE4NzUgNjAuMzQ2OUMyNi44ODg2IDYwLjM0NjkgMTguNDY0NiA1Ny42MzI2IDEzLjkzNDQgNTMuMDQ2MVwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjYuMzI3IDE0LjcyNjZDMjYuMzI3IDE2LjAxNzUgMjcuNjgxOSAxNy4yNTU0IDMwLjA5MzggMTguMTY4MkMzMi41MDU2IDE5LjA4MSAzNS43NzY3IDE5LjU5MzggMzkuMTg3NSAxOS41OTM4QzQyLjU5ODQgMTkuNTkzOCA0NS44Njk4IDE5LjA4MSA0OC4yODE2IDE4LjE2ODJDNTAuNjkzMSAxNy4yNTU0IDUyLjA0ODMgMTYuMDE3NSA1Mi4wNDgzIDE0LjcyNjZDNTIuMDQ4MyAxMy40MzU3IDUwLjY5MzEgMTIuMTk3NyA0OC4yODE2IDExLjI4NUM0NS44Njk4IDEwLjM3MjIgNDIuNTk4NCA5Ljg1OTM4IDM5LjE4NzUgOS44NTkzOEMzNS43NzY3IDkuODU5MzggMzIuNTA1NiAxMC4zNzIyIDMwLjA5MzggMTEuMjg1QzI3LjY4MTkgMTIuMTk3NyAyNi4zMjcgMTMuNDM1NyAyNi4zMjcgMTQuNzI2NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRmFjZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoIGQ9XCJNODAgMEgwVjgwSDgwVjBaXCIgZmlsbD1cIiNGRkZcIiAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Mi41IDkuNUM2OS4yNiAzLjg0IDUyLjU2IDEgNDAgMUMyNy40NCAxIDEwLjc2IDMuODQgNy41IDkuNUM0LjI0IDEyLjM0IDEgMjcuNDYgMSA0MEMxIDUyLjU0IDQuMjQgNjcuNjYgNy41IDcwLjVDMTAuNzYgNzYuMTYgMjcuNSA3OSA0MCA3OUM1Mi41IDc5IDY5LjI2IDc2LjE2IDcyLjUgNzAuNUM3NS43NiA2Ny42NiA3OSA1Mi41IDc5IDQwQzc5IDI3LjUgNzUuNzYgMTIuMzQgNzIuNSA5LjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNCA0MEMxNCA0Ni44OTU2IDE2LjczOTMgNTMuNTA4OCAyMS42MTUyIDU4LjM4NDhDMjYuNDkxMiA2My4yNjA4IDMzLjEwNDQgNjYgNDAgNjZDNDYuODk1NiA2NiA1My41MDg4IDYzLjI2MDggNTguMzg0OCA1OC4zODQ4QzYzLjI2MDggNTMuNTA4OCA2NiA0Ni44OTU2IDY2IDQwQzY2IDMzLjEwNDQgNjMuMjYwOCAyNi40OTEyIDU4LjM4NDggMjEuNjE1MkM1My41MDg4IDE2LjczOTMgNDYuODk1NiAxNCA0MCAxNEMzMy4xMDQ0IDE0IDI2LjQ5MTIgMTYuNzM5MyAyMS42MTUyIDIxLjYxNTJDMTYuNzM5MyAyNi40OTEyIDE0IDMzLjEwNDQgMTQgNDBaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI3IDQ5Ljc2QzI3IDQ5Ljc2IDMwLjI0IDUzIDQwIDUzQzQ5Ljc2IDUzIDUzIDQ5Ljc2IDUzIDQ5Ljc2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMy43NCAzNS4xMkMyMy43NCAzNi40MTQyIDI0LjI1NDIgMzcuNjU1NCAyNS4xNjk0IDM4LjU3MDZDMjYuMDg0NCAzOS40ODU4IDI3LjMyNTggNDAgMjguNjIgNDBDMjkuOTE0MiA0MCAzMS4xNTU0IDM5LjQ4NTggMzIuMDcwNiAzOC41NzA2QzMyLjk4NTggMzcuNjU1NCAzMy41IDM2LjQxNDIgMzMuNSAzNS4xMkMzMy41IDMzLjgyNTggMzIuOTg1OCAzMi41ODQ0IDMyLjA3MDYgMzEuNjY5NEMzMS4xNTU0IDMwLjc1NDIgMjkuOTE0MiAzMC4yNCAyOC42MiAzMC4yNEMyNy4zMjU4IDMwLjI0IDI2LjA4NDQgMzAuNzU0MiAyNS4xNjk0IDMxLjY2OTRDMjQuMjU0MiAzMi41ODQ0IDIzLjc0IDMzLjgyNTggMjMuNzQgMzUuMTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDYuNSAzNS4xMkM0Ni41IDM2LjQxNDIgNDcuMDE0MiAzNy42NTU0IDQ3LjkyOTQgMzguNTcwNkM0OC44NDQ0IDM5LjQ4NTggNTAuMDg1OCA0MCA1MS4zOCA0MEM1Mi42NzQyIDQwIDUzLjkxNTYgMzkuNDg1OCA1NC44MzA2IDM4LjU3MDZDNTUuNzQ1OCAzNy42NTU0IDU2LjI2IDM2LjQxNDIgNTYuMjYgMzUuMTJDNTYuMjYgMzMuODI1OCA1NS43NDU4IDMyLjU4NDQgNTQuODMwNiAzMS42Njk0QzUzLjkxNTYgMzAuNzU0MiA1Mi42NzQyIDMwLjI0IDUxLjM4IDMwLjI0QzUwLjA4NTggMzAuMjQgNDguODQ0NCAzMC43NTQyIDQ3LjkyOTQgMzEuNjY5NEM0Ny4wMTQyIDMyLjU4NDQgNDYuNSAzMy44MjU4IDQ2LjUgMzUuMTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTkuODYwMiA5LjU2MDA2QzY3LjE4MDIgMTEuNTYwMSA2Ny4xODAyIDEyLjE2MDEgNjkuMjQwMiAxNy4yNjAxXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEZhbWlseSA9ICh7IHRpdGxlLCBzaXplLCBzY3JlZW5SZWFkZXJUZXh0IH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgdGl0bGU9e3RpdGxlfSBzaXplPXtzaXplfSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjUuNDE3IDI4LjE4MzNDNjguMzM5MyAyNS42NjkgNjkuNzc5MiAyMS44MzkgNjkuMjM3MSAxOC4wMjIyQzY4LjcyMTMgMTAuOTM2MSA2NC40NDMgNi41NjIyOSA1Ni41NTQ3IDcuMDU4NzZDNDguNjY2MyA3LjU1NTIzIDQ1LjA5NDkgMTIuNjM2IDQ1LjU5MTQgMTkuNzIyMUM0NS41NjAyIDIzLjU4MzQgNDcuNTE1IDI3LjE5MDIgNTAuNzY3NSAyOS4yNzJDNDQuMjczNiAzMi4xMzY5IDQxLjM3MDQgMzguMjY3OSA0MS45NDMzIDQ2LjE3NTRDNDIuMjg3MSA1MC44OTMgNDguMTg5IDUyLjA1ODEgNTkuNzQ0NSA1MS4yMTc3QzcxLjMgNTAuMzc3MiA3Ni45MzQzIDQ4LjM5MSA3Ni42Mjg3IDQzLjU3NzhDNzUuOTk4MyAzNS43NDY4IDcyLjI1NDkgMzAuMDkzMyA2NS40MTcgMjguMTgzM1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTkuOTE2NSAxMC41NzMyQzYxLjMzNTUgMTAuOTUxMiA2Mi42MDMgMTEuNzU4NSA2My41NDU1IDEyLjg4NDRcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi42MjAxIDIzLjUwMzlDNTQuMTY4NiAyNC40MTI0IDU1Ljk5MzIgMjQuNzMxMiA1Ny43NTggMjQuNDAxNUM1OS41NDg1IDI0LjQ3MyA2MS4zMDQ4IDIzLjg5NjYgNjIuNzA0OSAyMi43NzgxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MC45Mzk1IDE3Ljc3MzhDNTAuOTM0OCAxOS4yMjk0IDUyLjUwNzUgMjAuMTQ0MiA1My43NzA1IDE5LjQyMDVDNTQuMzYwMyAxOS4wODI0IDU0LjcyMzQgMTguNDUzNyA1NC43MjExIDE3Ljc3MzhDNTQuNzI1OCAxNi4zMTgzIDUzLjE1MzEgMTUuNDAzMyA1MS44OTAxIDE2LjEyNzJDNTEuMzAwMiAxNi40NjUxIDUwLjkzNzEgMTcuMDk0IDUwLjkzOTUgMTcuNzczOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OS43ODI3IDE3LjE0MzVDNTkuNzc4IDE4LjU5OTIgNjEuMzUwNyAxOS41MTQgNjIuNjEzNyAxOC43OTAxQzYzLjIwMzYgMTguNDUyMiA2My41NjY1IDE3LjgyMzUgNjMuNTY0NCAxNy4xNDM1QzYzLjU2OSAxNS42ODc5IDYxLjk5NjQgMTQuNzczMSA2MC43MzM0IDE1LjQ5N0M2MC4xNDM1IDE1LjgzNDkgNTkuNzgwNCAxNi40NjM2IDU5Ljc4MjcgMTcuMTQzNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOC43NjQyIDQ1Ljk0NjJDMzIuMTgzMiA0NS4wMTAyIDMzLjI5MDkgNDQuMDM2MiAzMi4zNTQ5IDQzLjEwMDJDMzAuODI2OSA0MS42NDg2IDMwLjQ0NDkgMzguNDk3MiAzMC4yMTU4IDM1LjM2NDdDMjkuNDEzNiAyNi44NjUyIDI0LjY5NTkgMjEuNTkzOCAxNi4zNjg1IDIyLjM3NjlDOC4wNDA5OSAyMy4xNiA0LjM3MzYyIDI5LjIzMzcgNS4xOTQ5NiAzNy42NTY3QzUuNTAwNTIgNDAuODA4MyA1Ljc4Njk4IDQzLjk1OTcgNC41NDU2MSA0NS42NTk1QzMuODAwNzEgNDYuNjkxMSA1LjA4MDMgNDcuNTY5NiA4LjYxMzg5IDQ3Ljc5ODlDNC4wODcxNiA1MS4xNDEyIDIuMTU4MDMgNTYuNjAzOSAyLjg4MzgyIDYzLjMwNzhDMy4zNDIyNiA2OC4wMjU2IDkuMjYzMjQgNjkuMDM3OSAyMC43OTk2IDY3Ljk0OTJDMzIuMzM2IDY2Ljg2MDUgMzcuOTg5NSA2NC43MjE0IDM3LjUxMTkgNjAuMDAzNUMzNi43ODYxIDUzLjMzNzcgMzMuODQ0NyA0OC4zNzE4IDI4Ljc2NDIgNDUuOTQ2MlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjM3OTQgMjUuNjgxMkMyMS44MDExIDI2LjAzNDUgMjMuMDgwNyAyNi44MTQzIDI0LjA0NjYgMjcuOTE1OVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEzLjAwNjggNDAuNDgzNUMxNC41NzIzIDQxLjM2NjEgMTYuNDA2OSA0MS42NDQ1IDE4LjE2MzggNDEuMjY2NkMxOS45NTYxIDQxLjI5ODQgMjEuNjk5NSA0MC42ODEyIDIzLjA3MjMgMzkuNTI4NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTEuMTkyNCAzNC43NTM1QzExLjE4NzcgMzYuMjA5MiAxMi43NjA0IDM3LjEyNCAxNC4wMjM0IDM2LjQwMDNDMTQuNjEzMyAzNi4wNjIyIDE0Ljk3NjQgMzUuNDMzNSAxNC45NzQgMzQuNzUzNUMxNC45Nzg3IDMzLjI5NzkgMTMuNDA2IDMyLjM4MzEgMTIuMTQzIDMzLjEwN0MxMS41NTMxIDMzLjQ0NDkgMTEuMTkwMSAzNC4wNzM2IDExLjE5MjQgMzQuNzUzNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMC4wMTY2IDMzLjkzMjJDMjAuMDExOSAzNS4zODc5IDIxLjU4NDggMzYuMzAyNiAyMi44NDc2IDM1LjU3OUMyMy40Mzc1IDM1LjI0MDkgMjMuODAwNiAzNC42MTIyIDIzLjc5ODIgMzMuOTMyMkMyMy44MDI5IDMyLjQ3NjcgMjIuMjMwMyAzMS41NjE4IDIwLjk2NzIgMzIuMjg1NkMyMC4zNzc0IDMyLjYyMzYgMjAuMDE0NSAzMy4yNTI0IDIwLjAxNjYgMzMuOTMyMlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03LjczNTM1IDQ4LjYyMDFDOS4xNDczNSA0Ny43MDgzIDEwLjY5NDMgNDcuMDI1IDEyLjMxOTQgNDYuNTk1Nkw3LjczNTM1IDQ4LjYyMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNy43MzUzNSA0OC42MjAxQzkuMTQ3MzUgNDcuNzA4MyAxMC42OTQzIDQ3LjAyNSAxMi4zMTk0IDQ2LjU5NTZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljc3NjMgNDYuNTE5MUMyOC4zMjE4IDQ1LjYxNjEgMjYuNjA5MyA0NS4yMTk4IDI0LjkwNTggNDUuMzkyMkwyOS43NzYzIDQ2LjUxOTFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuNzc2MyA0Ni41MTkxQzI4LjMyMTggNDUuNjE2MSAyNi42MDkzIDQ1LjIxOTggMjQuOTA1OCA0NS4zOTIyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny44OTE3IDU5LjYyMTZDNjAuOTg5MyA1Ny4wNjE2IDYyLjg1MDggNTMuMzA0IDYzLjAxMDUgNDkuMjg4N0M2My44NyA0MC43ODkzIDU5LjcwNjIgMzQuNjU4MSA1MC4yNzA3IDMzLjcyMjNDNDAuODM1MyAzMi43ODY1IDM1LjU0NDcgMzguMDU3OSAzNC43MDQ1IDQ2LjQ2MThDMzQuMDcwMSA1MC40MjgzIDM1LjE1MzYgNTQuNDc3NSAzNy42ODQxIDU3LjU5NzFDMzMuNjczMSA1OS45NDY1IDMxLjM0MjkgNjQuMjYzIDMwLjc2OTggNjkuODk3NUMzMC41MDI1IDczLjA0MjYgMzUuNTg5NSA3NS4xNjI2IDQ2LjAzMDcgNzYuMjU3NkM1Ni40NzE5IDc3LjM1MjYgNjEuODcwOCA3Ni4zMDg1IDYyLjIyNzQgNzMuMTI1M0M2Mi44Mzg1IDY3LjQxNDQgNjEuMzY3OCA2Mi43MTU5IDU3Ljg5MTcgNTkuNjIxNlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU1LjE5ODcgMzguMjg3QzU2LjUyNTkgMzguOTEwNCA1Ny42MzE3IDM5LjkyMyA1OC4zNjkyIDQxLjE5MDNcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MC43ODYzIDMzLjc2MDVDNDguMDQ0NCAzNC4yNDkyIDQ2LjEwMDUgMzYuNzA5OSA0Ni4yNTk2IDM5LjQ5MDRDNDYuNTI3MSA0Mi40NTA5IDUxLjUzMTIgNDIuNTg0NiA1MS4yNDQ4IDM5LjQ5MDRDNTEuMDcyOCAzNy45MDUgNDkuMzM0NyAzOC41MTY0IDQ5LjMzNDcgMzguNTE2NFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDEuMDY0NSA0Ni41MzgzQzQxLjA1OTQgNDguMzYxNSA0My4wMjk3IDQ5LjUwNjYgNDQuNjExMyA0OC41OTk2QzQ1LjM0OTQgNDguMTc2MyA0NS44MDM3IDQ3LjM4OTMgNDUuODAxNCA0Ni41MzgzQzQ1LjgwNjUgNDQuNzE1IDQzLjgzNjIgNDMuNTcgNDIuMjU0NSA0NC40NzdDNDEuNTE2NSA0NC45MDA1IDQxLjA2MjEgNDUuNjg3MyA0MS4wNjQ1IDQ2LjUzODNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTIuMDg1NSA0Ny42NDYxQzUyLjA4MDIgNDkuNDY5MyA1NC4wNTA1IDUwLjYxNDQgNTUuNjMyMSA0OS43MDc0QzU2LjM3MDIgNDkuMjg0MSA1Ni44MjQ1IDQ4LjQ5NzEgNTYuODIyMiA0Ny42NDYxQzU2LjgyNzUgNDUuODIyOCA1NC44NTcgNDQuNjc3OCA1My4yNzU1IDQ1LjU4NDdDNTIuNTM3MyA0Ni4wMDgzIDUyLjA4MjkgNDYuNzk1MSA1Mi4wODU1IDQ3LjY0NjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuNzM4OCA1Mi4xMTU1QzQ0Ljk1MzIgNTMuMzQwOSA0Ni41ODA5IDU0LjA2OTYgNDguMzAzNyA1NC4xNTkxQzUwLjAxMjMgNTQuNDE4MiA1MS43NTYgNTQuMDMgNTMuMTkzMyA1My4wNzA0XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny40NDQyIDYyLjAyODNDNDUuNDY4OSA2MS44NDI3IDQzLjUzNTEgNjEuMzQ2NCA0MS43MTQ0IDYwLjU1NzZDNDEuMzE2IDYxLjMxMjMgNDEuMDYzMiA2Mi4xMzUyIDQwLjk2OTUgNjIuOTgzMkM0MC4zNDY0IDY2LjU1OTcgNDMuMDY5NCA2OS44NDU3IDQ2LjY5OTMgNjkuODk3NUM1MC4yNzU4IDcwLjUyMDYgNTMuNTYxNiA2Ny43OTc2IDUzLjYxMzQgNjQuMTY3NUM1My42NzMxIDYzLjMzODkgNTMuNTYyNiA2Mi41MDcgNTMuMjg4OCA2MS43MjI3QzUxLjM2NzggNjIuMTI0MiA0OS4zOTY2IDYyLjIyNzIgNDcuNDQ0MiA2Mi4wMjgzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNS4zMzQ3IDMuNDI5NzVDMzQuMTgxNyAzLjUyNzQ0IDMzLjA5OTggNC4wMjc4MSAzMi4yNzg3IDQuODQzMTFDMzEuMjc4NyA0LjMwOTc4IDMwLjEyNjEgNC4xMzQ0OCAyOS4wMTI2IDQuMzQ2NjRDMjYuMjY1NSA0LjQ1NTA2IDI0LjMxODQgNy4wNjk4MSAyNS4wMDE3IDkuNzMyNzNDMjUuNjMxOSAxNC4wNDk0IDMwLjA2MzEgMTYuNDc1MSAzMy4zODY1IDE3LjY3ODRDMzMuODkyNSAxNy44NzA1IDM0LjQ2MTMgMTcuNzkxMSAzNC44OTU0IDE3LjQ2ODJDMzcuNzIyMyAxNS4zNDgxIDQxLjI3NDggMTEuNzM4MyA0MC42MjU1IDcuNDQwOUM0MC40OTA3IDQuNzUwNjggMzcuOTYxNCAyLjgzMzA1IDM1LjMzNDcgMy40Mjk3NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0Ljk2NjggNTguODU3N0M3NC4zMzU5IDU4LjY4ODIgNzMuNjY3NyA1OC43MjE2IDczLjA1NjggNTguOTUzMUM3Mi42MTkyIDU4LjQyMjMgNzIuMDEyMSA1OC4wNTgyIDcxLjMzNzggNTcuOTIxN0M2OS43ODY2IDU3LjM0NDkgNjguMDk4NyA1OC4zNDY0IDY3Ljg2MTggNTkuOTg0NEM2Ny4yMTIyIDYyLjU0MzggNjkuMTIyMiA2NC45MzE0IDcwLjY4ODUgNjYuMzgyOUM3MC45MjQgNjYuNjAyNSA3MS4yNTc3IDY2LjY4MjMgNzEuNTY3MSA2Ni41OTNDNzMuNjQ5IDY2LjA3NzQgNzYuNDU2NiA2NC45MTIzIDc3LjEwNTkgNjIuMzUyOUM3Ny42ODQxIDYwLjc3MDggNzYuNjM4NyA1OS4wNjI4IDc0Ljk2NjggNTguODU3N1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEwLjgxMDUgMTIuODg0NEMxMC44MTA1IDE1LjI4MDkgMTMuNDA0OCAxNi43Nzg3IDE1LjQ4MDQgMTUuNTgwNEMxNi40NDM3IDE1LjAyNDMgMTcuMDM3MSAxMy45OTY2IDE3LjAzNzEgMTIuODg0NEMxNy4wMzcxIDEwLjQ4NzYgMTQuNDQyNiA4Ljk4OTgyIDEyLjM2NzIgMTAuMTg4MUMxMS40MDM5IDEwLjc0NDIgMTAuODEwNSAxMS43NzIxIDEwLjgxMDUgMTIuODg0NFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRmF2b3JpdGUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUzLjIwMDIgOS4wMjAxNUM0OC40NjE3IDguODAyNiA0My43OTg3IDEwLjM1MjIgNDAuMDAwMSAxMy40MDY5QzM2LjIwMTYgMTAuMzUyMiAzMS41Mzg2IDguODAyNiAyNi44MDAxIDkuMDIwMTVDMTMuNiA5LjAyMDE1IDcgMTcuNTM4OCA3IDMwLjMxNjZDNyA0OS45NTY3IDIzLjkyMzEgNjMuNTcxOCAzNi44MTg2IDcxLjEyNTlDMzcuNzk0MiA3MS42OTg4IDM4Ljg4ODMgNzIgNDAuMDAwMSA3MkM0MS4xMTIgNzIgNDIuMjA2MSA3MS42OTg4IDQzLjE4MTcgNzEuMTI1OUM1Ni4xNjE4IDYzLjU3MTggNzMgNDkuOTU2NyA3MyAzMC4zMTY2QzczIDE3LjUzODggNjYuNDAwMiA5LjAyMDE1IDUzLjIwMDIgOS4wMjAxNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0IDE3LjA4ODVDNjEuMzY3IDE2LjM2NTIgNjMuOTQwMyAyMC4yMzI5IDY1IDIzXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRm9sZGVyID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Mi4yIDcuMzM5OThDNzAuMiA0LjYxOTk4IDYyLjA2IDMuNDc5OTggNTUgMy40Nzk5OEM0Ny45NCAzLjQ3OTk4IDM5LjQgNC4zMTk5OCAzNy44IDcuMzM5OThDMzcuMTI4NCA3Ljg1ODI4IDM2LjU3NDQgOC41MTMwOCAzNi4xNzQ2IDkuMjYxMThDMzUuNzc0NiAxMC4wMDkzIDM1LjUzOCAxMC44MzM3IDM1LjQ4IDExLjY4QzI2LjU2IDEyIDE4LjIgMTMuMDIgMTYuMjQgMTUuMThDMTQuMjggMTYuMjYgMTIuOSAxOSAxMiAyMi42QzEwLjIxOCAyMi43NzA2IDguNTA2NDQgMjMuMzgyNCA3LjAyIDI0LjM4QzIgMjYuODQgMSAzOS40MiAxIDQ4Ljg4QzEgNTguMzQgMS45NCA3MC44OCA3IDczLjRDOS41IDc1Ljg0IDIzIDc2LjUyIDM0LjAyIDc2LjUySDM5LjM2SDQ0LjUyQzU2LjE0IDc2LjUyIDcwLjE0IDc1LjcyIDcyLjc4IDcyLjg0Qzc4IDcwIDc5IDU1LjE2IDc5IDQ0Qzc5IDE5LjE2IDczLjg2IDkuNTM5OTggNzIuMiA3LjMzOTk4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTIgMjIuNkMxMC44MTEyIDM1LjMyMjggMTAuNzQ0MyA0OC4xMjU0IDExLjggNjAuODZMMTIgMjIuNlpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMiAyMi42QzEwLjgxMTIgMzUuMzIyOCAxMC43NDQzIDQ4LjEyNTQgMTEuOCA2MC44NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuNSA5LjY5OTk2QzYyLjM2IDkuNzk5OTYgNjYuODYgMTAuMTYgNjcuNTggMTIuNjRcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEZvbGxvd1VwID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NC4wMjgxIDY0LjU3NjdDNjguNDQxMiA2My42MTE4IDY5LjIyMDkgNTguNjA2OSA2OS4yMjA5IDU0Ljc5MDRDNjkuMjIwOSA1MC45NzM5IDY4LjM1MjkgNDYuMTA4OCA2NC4wMjgxIDQ1LjExNjJDNjEuODUxIDQ0LjEzNzYgNTAuMTg1OCA0My4xNTkgNDAuNDkxNyA0My4xNTlDMzAuNzk3NiA0My4xNTkgMTkuMTkxMiA0NC4xMzc2IDE2Ljk1NTMgNDUuMTE2MkMxMi42MzA1IDQ2LjEwODggMTEuODA2NyA1MS4wODU3IDExLjgwNjcgNTQuODQ2M0MxMS44MDY3IDU4LjYwNjkgMTIuNjMwNSA2My42MTE4IDE2Ljk5OTQgNjQuNjMyMkMxOS4xOTEyIDY1LjYxMDggMzAuODQxOCA2Ni41ODk0IDQwLjUzNTkgNjYuNTg5NEM1MC4yMjk5IDY2LjU4OTQgNjEuODA2OSA2NS41NTUzIDY0LjAyODEgNjQuNTc2N1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY0LjAyODEgMzcuNjE3MkM2OC40NDEyIDM2LjY1MjYgNjkuMjIwOSAzMS42NDc3IDY5LjIyMDkgMjcuODMxMkM2OS4yMjA5IDI0LjAxNDcgNjguMzk3MSAxOS4wNjU3IDY0LjAyODEgMTguMDQ1MkM2MS44NTEgMTcuMDY2NiA1MC4xODU4IDE2LjA4OCA0MC40OTE3IDE2LjA4OEMzMC43OTc3IDE2LjA4OCAxOS4xOTEyIDE3LjA2NjYgMTYuOTU1MyAxOC4wNDUyQzEyLjU0MjMgMTkuMDA5OCAxMS43NjI3IDI0LjAxNDcgMTEuNzYyNyAyNy44MzEyQzExLjc2MjcgMzEuNjQ3NyAxMi42MzA1IDM2LjYyNDYgMTYuOTU1MyAzNy42MTcyQzE5LjE0NzEgMzguNTk1OCAzMC43OTc3IDM5LjU3NDQgNDAuNDkxNyAzOS41NzQ0QzUwLjE4NTggMzkuNTc0NCA2MS44MDY5IDM4LjU5NTggNjQuMDI4MSAzNy42MTcyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTcuOTU1NiAyNy43NzVDMTcuOTU1NiAyOS4zMjQ4IDE4LjYwMzQgMzAuODExMiAxOS43NTY2IDMxLjkwNzFDMjAuOTA5OCAzMy4wMDMgMjIuNDczNyAzMy42MTg3IDI0LjEwNDUgMzMuNjE4N0MyNS43MzUzIDMzLjYxODcgMjcuMjk5MyAzMy4wMDMgMjguNDUyNCAzMS45MDcxQzI5LjYwNTYgMzAuODExMiAzMC4yNTM0IDI5LjMyNDggMzAuMjUzNCAyNy43NzVDMzAuMjUzNCAyNi4yMjUyIDI5LjYwNTYgMjQuNzM4OCAyOC40NTI0IDIzLjY0MjlDMjcuMjk5MyAyMi41NDcgMjUuNzM1MyAyMS45MzE0IDI0LjEwNDUgMjEuOTMxNEMyMi40NzM3IDIxLjkzMTQgMjAuOTA5OCAyMi41NDcgMTkuNzU2NiAyMy42NDI5QzE4LjYwMzQgMjQuNzM4OCAxNy45NTU2IDI2LjIyNTIgMTcuOTU1NiAyNy43NzVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjczIDU1LjAzNTlDNTAuNzMgNTYuNTg1OCA1MS4zNzc4IDU4LjA3MjEgNTIuNTMxIDU5LjE2OEM1My42ODQyIDYwLjI2MzkgNTUuMjQ4MSA2MC44Nzk2IDU2Ljg3ODkgNjAuODc5NkM1OC41MDk3IDYwLjg3OTYgNjAuMDczNyA2MC4yNjM5IDYxLjIyNjggNTkuMTY4QzYyLjM4IDU4LjA3MjEgNjMuMDI3OCA1Ni41ODU4IDYzLjAyNzggNTUuMDM1OUM2My4wMjc4IDUzLjQ4NjEgNjIuMzggNTEuOTk5OCA2MS4yMjY4IDUwLjkwMzlDNjAuMDczNyA0OS44MDc5IDU4LjUwOTcgNDkuMTkyMyA1Ni44Nzg5IDQ5LjE5MjNDNTUuMjQ4MSA0OS4xOTIzIDUzLjY4NDIgNDkuODA3OSA1Mi41MzEgNTAuOTAzOUM1MS4zNzc4IDUxLjk5OTggNTAuNzMgNTMuNDg2MSA1MC43MyA1NS4wMzU5WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02MC41ODYgMjAuODQwOUM2My43NDg3IDIxLjU5NTggNjMuOTk4OCAyMS44MzM1IDY0LjY5MDIgMjQuMjY2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MS4zMDA5IDQ2LjYyMDJDNDQuNzU3OCA0Ni42MjAyIDQ3LjUwODYgNDYuNjIwMiA0OS4xNDE1IDQ2LjgwMlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDUuMzMzMyAxNC44NzZDNDUuMzMzMyAxNi4zNjY1IDQ2LjAwMDYgMTcuNzk1OSA0Ny4xODg0IDE4Ljg0OTlDNDguMzc2MSAxOS45MDM4IDQ5Ljk4NyAyMC40OTU5IDUxLjY2NjcgMjAuNDk1OUM1My4zNDYzIDIwLjQ5NTkgNTQuOTU3MyAxOS45MDM4IDU2LjE0NTEgMTguODQ5OUM1Ny4zMzI4IDE3Ljc5NTkgNTggMTYuMzY2NSA1OCAxNC44NzZDNTggMTMuMzg1NSA1Ny4zMzI4IDExLjk1NjEgNTYuMTQ1MSAxMC45MDIyQzU0Ljk1NzMgOS44NDgyNyA1My4zNDYzIDkuMjU2MiA1MS42NjY3IDkuMjU2MkM0OS45ODcgOS4yNTYyIDQ4LjM3NjEgOS44NDgyNyA0Ny4xODg0IDEwLjkwMjJDNDYuMDAwNiAxMS45NTYxIDQ1LjMzMzMgMTMuMzg1NSA0NS4zMzMzIDE0Ljg3NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgSWRlYSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzAuODU2NSA3LjE3MThDMzAuODcwNCA4LjU0MjMgMzEuMTU1IDkuODUzOTEgMzEuNjQ3NSAxMC44MTgxQzMxLjg5MTQgMTEuMjk1NCAzMi4xNzkgMTEuNjczMiAzMi40OTM5IDExLjkyOTdDMzIuODA4OCAxMi4xODYyIDMzLjE0NDkgMTIuMzE2NSAzMy40ODMgMTIuMzEzQzMzLjgyMSAxMi4zMDk1IDM0LjE1NDQgMTIuMTcyNCAzNC40NjQgMTEuOTA5NUMzNC43NzM3IDExLjY0NjcgMzUuMDUzNSAxMS4yNjMxIDM1LjI4NzcgMTAuNzgwOEMzNS41MjE4IDEwLjI5ODUgMzUuNzA1NyA5LjcyNjkxIDM1LjgyODcgOS4wOTg2OEMzNS45NTE3IDguNDcwMzcgMzYuMDExNCA3Ljc5Nzc2IDM2LjAwNDUgNy4xMTkxNUMzNS45OTA2IDUuNzQ4NjQgMzUuNzA2MSA0LjQzNzA0IDM1LjIxMzUgMy40NzI4OEMzNC43MjEgMi41MDg3MyAzNC4wNjA4IDEuOTcwOTkgMzMuMzc4MSAxLjk3Nzk3QzMyLjY5NTQgMS45ODQ5NSAzMi4wNDYyIDIuNTM2MDggMzEuNTczNCAzLjUxMDExQzMxLjEwMDQgNC40ODQxNCAzMC44NDI2IDUuODAxMyAzMC44NTY1IDcuMTcxOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMy45NjM4IDE1Ljk4NjFDMTQuMzg0OSAxNi41MjY4IDE0Ljg1NjMgMTcuMDIxNCAxNS4zNTA2IDE3LjQ0MTVDMTUuODQ0OCAxNy44NjE2IDE2LjM1MjEgMTguMTk4NiAxNi44NDMgMTguNDMzQzE3LjMzMzggMTguNjY3MyAxNy43OTgzIDE4Ljc5NDIgMTguMjA5NSAxOC44MDY0QzE4LjYyMDYgMTguODE4NiAxOC45NzAyIDE4LjcxNTggMTkuMjM3OSAxOC41MDRDMTkuNTA1NSAxOC4yOTIxIDE5LjY4NiAxNy45NzU1IDE5Ljc2ODcgMTcuNTcyNkMxOS44NTE0IDE3LjE2OTYgMTkuODM0NiAxNi42ODg0IDE5LjcxOTUgMTYuMTU2OEMxOS42MDQzIDE1LjYyNTIgMTkuMzkzIDE1LjA1NCAxOS4wOTc5IDE0LjQ3NjNDMTguODAyOCAxMy44OTg2IDE4LjQyOTcgMTMuMzI2MSAxOC4wMDA0IDEyLjc5MkMxNy41NzkzIDEyLjI1MTQgMTcuMTA3OSAxMS43NTY2IDE2LjYxMzcgMTEuMzM2NUMxNi4xMTk0IDEwLjkxNjQgMTUuNjEyMSAxMC41Nzk0IDE1LjEyMTMgMTAuMzQ1MUMxNC42MzA1IDEwLjExMDggMTQuMTY2IDkuOTgzODMgMTMuNzU0OCA5Ljk3MTY4QzEzLjM0MzcgOS45NTk0NSAxMi45OTQxIDEwLjA2MjMgMTIuNzI2NCAxMC4yNzQxQzEyLjQ1ODcgMTAuNDg1OSAxMi4yNzgyIDEwLjgwMjUgMTIuMTk1NSAxMS4yMDU1QzEyLjExMjkgMTEuNjA4NCAxMi4xMjk2IDEyLjA4OTggMTIuMjQ0OCAxMi42MjEzQzEyLjM1OTkgMTMuMTUyOCAxMi41NzEyIDEzLjcyNDEgMTIuODY2NCAxNC4zMDE4QzEzLjE2MTUgMTQuODc5NCAxMy41MzQ2IDE1LjQ1MiAxMy45NjM4IDE1Ljk4NjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNOC44NjgzOCAzNS40OTE4QzkuNTQ2OTkgMzUuNTM5MiAxMC4yMjM2IDM1LjUxOTYgMTAuODU5NSAzNS40MzQxQzExLjQ5NTUgMzUuMzQ4NSAxMi4wNzg0IDM1LjE5ODggMTIuNTc0OCAzNC45OTMzQzEzLjA3MTMgMzQuNzg3OCAxMy40NzE4IDM0LjUzMDcgMTMuNzUzMiAzNC4yMzY2QzE0LjAzNDYgMzMuOTQyNSAxNC4xOTE2IDMzLjYxNzEgMTQuMjE1MSAzMy4yNzkxQzE0LjIzODggMzIuOTQxIDE0LjEyODQgMzIuNTk3IDEzLjg5MDUgMzIuMjY2NUMxMy42NTI2IDMxLjkzNjEgMTMuMjkxOCAzMS42MjU3IDEyLjgyODUgMzEuMzUzMkMxMi4zNjU0IDMxLjA4MDUgMTEuODA4OSAzMC44NTEyIDExLjE5MSAzMC42Nzc5QzEwLjU3MzEgMzAuNTA0OCA5LjkwNTc2IDMwLjM5MTIgOS4yMjcyMiAzMC4zNDM4QzguNTQ4NjEgMzAuMjk2MyA3Ljg3MjA3IDMwLjMxNTkgNy4yMzYwOSAzMC40MDE0QzYuNjAwMTMgMzAuNDg2OSA2LjAxNzI3IDMwLjYzNjcgNS41MjA3OCAzMC44NDIyQzUuMDI0MjkgMzEuMDQ3NiA0LjYyMzg5IDMxLjMwNDggNC4zNDI0MyAzMS41OTg5QzQuMDYwOTggMzEuODkzMSAzLjkwMzk5IDMyLjIxODQgMy44ODA0MyAzMi41NTY1QzMuODU2ODggMzIuODk0NSAzLjk2NzIxIDMzLjIzODUgNC4yMDUxMiAzMy41Njg5QzQuNDQzMDUgMzMuODk5NCA0LjgwMzg5IDM0LjIwOTggNS4yNjcwNyAzNC40ODI0QzUuNzMwMjUgMzQuNzU0OSA2LjI4NjY4IDM0Ljk4NDQgNi45MDQ2IDM1LjE1NzVDNy41MjI1MiAzNS4zMzA4IDguMTg5ODQgMzUuNDQ0MyA4Ljg2ODM4IDM1LjQ5MThaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDguODY0NyAxNi4xMkM0OS4xNDA4IDE2LjMyMTUgNDkuNDkxOCAxNi40MDg2IDQ5Ljg5NzIgMTYuMzc2NUM1MC4zMDI3IDE2LjM0NDMgNTAuNzU0NSAxNi4xOTM1IDUxLjIyNjQgMTUuOTMyN0M1MS42OTgyIDE1LjY3MiA1Mi4xODA2IDE1LjMwNjUgNTIuNjQ1NSAxNC44NTc4QzUzLjExMDMgMTQuNDA5IDUzLjU0ODQgMTMuODg1OCA1My45MzQgMTMuMzE4N0M1NC4zMTk2IDEyLjc1MTYgNTQuNjQ1MiAxMi4xNTIgNTQuODkxNyAxMS41NTQ4QzU1LjEzODIgMTAuOTU3NSA1NS4zMDA3IDEwLjM3NDYgNTUuMzY5OCA5LjgzOTk5QzU1LjQzODggOS4zMDUzOCA1NS40MTMgOC44Mjk4NCA1NS4yOTM4IDguNDQwOTlDNTUuMTc0NiA4LjA1MjE1IDU0Ljk2NDUgNy43NTc3NiA1NC42NzU3IDcuNTc1MTJDNTQuMzk5NiA3LjM3MzcyIDU0LjA0ODYgNy4yODY1NSA1My42NDMyIDcuMzE4NzFDNTMuMjM3NyA3LjM1MDg2IDUyLjc4NTkgNy41MDE3MSA1Mi4zMTQgNy43NjI0NUM1MS44NDIyIDguMDIzMTUgNTEuMzU5OCA4LjM4ODYxIDUwLjg5NDkgOC44MzczOEM1MC40MzAxIDkuMjg2MTUgNDkuOTkyIDkuODA5MzggNDkuNjA2NCAxMC4zNzY1QzQ5LjIyMDggMTAuOTQzNSA0OC44OTUyIDExLjU0MzEgNDguNjQ4NyAxMi4xNDA0QzQ4LjQwMjIgMTIuNzM3NyA0OC4yMzk3IDEzLjMyMDYgNDguMTcwNiAxMy44NTUxQzQ4LjEwMTYgMTQuMzg5OCA0OC4xMjc1IDE0Ljg2NTMgNDguMjQ2NiAxNS4yNTQxQzQ4LjM2NTggMTUuNjQzIDQ4LjU3NTkgMTUuOTM3NCA0OC44NjQ3IDE2LjEyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjY0NzggMjUuOTczNkM1Ny43NDEgMjYuMzAxNiA1Ny45NjM0IDI2LjU4NjUgNTguMzAxOSAyNi44MTE4QzU4LjY0MDQgMjcuMDM3IDU5LjA4ODMgMjcuMTk4IDU5LjYxOTYgMjcuMjg1NUM2MC4xNTA5IDI3LjM3MzEgNjAuNzU1MSAyNy4zODUzIDYxLjM5NjkgMjcuMzIxNkM2Mi4wMzg4IDI3LjI1NzggNjIuNzA1NiAyNy4xMTk0IDYzLjM1ODYgMjYuOTE0M0M2NC4wMTE2IDI2LjcwOTIgNjQuNjM3OCAyNi40NDE1IDY1LjIwMDkgMjYuMTI2OEM2NS43NjQgMjUuODEyMSA2Ni4yNTI3IDI1LjQ1NjYgNjYuNjM4NyAyNS4wODFDNjcuMDI0NiAyNC43MDU0IDY3LjMwMDIgMjQuMzE3MSA2Ny40NDkyIDIzLjkzODhDNjcuNTk4MiAyMy41NjA0IDY3LjYxNzggMjMuMTk5NSA2Ny41MDY5IDIyLjg3N0M2Ny40MTM3IDIyLjU0ODkgNjcuMTkxMyAyMi4yNjQxIDY2Ljg1MjggMjIuMDM4OEM2Ni41MTQzIDIxLjgxMzYgNjYuMDY2NCAyMS42NTI2IDY1LjUzNTEgMjEuNTY1MUM2NS4wMDM4IDIxLjQ3NzUgNjQuMzk5NiAyMS40NjUzIDYzLjc1NzggMjEuNTI5QzYzLjExNTkgMjEuNTkyOCA2Mi40NDkyIDIxLjczMTIgNjEuNzk2MSAyMS45MzYzQzYxLjE0MzEgMjIuMTQxNCA2MC41MTY4IDIyLjQwOTEgNTkuOTUzOCAyMi43MjM4QzU5LjM5MDcgMjMuMDM4NSA1OC45MDIgMjMuMzk0IDU4LjUxNjEgMjMuNzY5NkM1OC4xMzAxIDI0LjE0NTIgNTcuODU0NiAyNC41MzM1IDU3LjcwNTUgMjQuOTExOEM1Ny41NTY1IDI1LjI5MDIgNTcuNTM2OCAyNS42NTExIDU3LjY0NzggMjUuOTczNlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ni4zNjA2IDM3LjYyMDlDNDMuMTU5MSAzNy42MjA5IDM2LjU2ODEgNDQuNTA0NSAzNi41NjgxIDU0LjgzOTVDMzYuNTY4MSA2MS40Njk1IDM5LjMxNzYgNjYuNjc1OSA0NC43NTgxIDY5LjU2MTlDNDMuNzQ0MSA3Mi45OTM5IDQxLjI0ODEgNzUuMDIxOSA0My40NTE2IDc3LjIyNTRDNDQuODc1MSA3OC42NDkyIDUzLjM3NzEgNzguODYzMSA1Ni4yNjMxIDcyLjAzODVINTYuMzYwNkM2OS41NjIxIDcyLjAzODUgNzYuMTcyNiA2NS4xMzU1IDc2LjE3MjYgNTQuODE5OUM3Ni4xNzI2IDQ0LjUwNDUgNjkuNTYyMSAzNy42MjA5IDU2LjM2MDYgMzcuNjIwOVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjMuMTA3NyA0MS43NzQzQzY1LjE2NTkgNDIuMjEwMyA2Ny4wNTA5IDQzLjI0MDkgNjguNTI4NyA0NC43MzgzXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi44NzAyIDQwLjExNjhDNTUuNDYzOCAzMC41NDI0IDUxLjcxOTcgMjIuNjgzOCA0MC43NjA3IDE5LjcxOThDMjkuODAxNyAxNi43NTU4IDIyLjYyNTggMjEuNjY5OCAyMC4wMTI4IDMxLjIwNTRDMTguMzU1MiAzNy4zNjc0IDIwLjgxMjIgNDMuNjQ2NCAyMy40NjQyIDQ4LjUyMTRDMjQuMTUxOSA0OS43ODY1IDI0LjQ3NTggNTEuMjE3NCAyNC40MDAyIDUyLjY1NTRDMjMuOTQzNyA1Mi43NDM4IDIzLjUyMDMgNTIuOTU2MSAyMy4xNzY0IDUzLjI2OTFDMjIuODMyNSA1My41ODIxIDIyLjU4MTIgNTMuOTgzNyAyMi40NTAyIDU0LjQyOThDMjIuMzE5NiA1NC45MjUzIDIyLjM0NzIgNTUuNDQ5MSAyMi41Mjg5IDU1LjkyODFDMjIuNzEwOCA1Ni40MDcxIDIzLjAzNzggNTYuODE3NCAyMy40NjQyIDU3LjEwMTRDMjIuNTQ3OCA2Mi42NTg4IDI0LjM2MTIgNjUuMjMyOCAyOC4wNjYyIDY2LjI0NjhDMzEuNzcxMiA2Ny4yNjA4IDM0LjYzNzggNjUuOTM0OCAzNi42NjU4IDYwLjY2OThDMzcuMTczNyA2MC42NDU4IDM3LjY2MDkgNjAuNDYxMSAzOC4wNTcgNjAuMTQyMUMzOC40NTMxIDU5LjgyMzEgMzguNzM3NSA1OS4zODY1IDM4Ljg2OTIgNTguODk1NEMzOC45ODkgNTguNDQ1MiAzOC45NzkzIDU3Ljk3MDMgMzguODQxMyA1Ny41MjUzQzM4LjcwMzQgNTcuMDgwNCAzOC40NDI3IDU2LjY4MzMgMzguMDg5MiA1Ni4zNzk4QzM4Ljc3OTIgNTUuMTAxNSAzOS44MTI1IDU0LjA0MTEgNDEuMDcyOCA1My4zMTg0QzQ1Ljg1MDIgNTAuNDUxOCA1MS4xOTMyIDQ2LjI3ODggNTIuODcwMiA0MC4xMTY4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOC43ODc1IDUzLjk2MTlDMzAuNTAxOSA1NC4yMDcxIDMyLjE3ODkgNTQuNjY1NyAzMy43Nzk1IDU1LjMyNjlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcuNzM0OCA1Ny44MjNDMjkuNDU0MiA1OC4wNjQyIDMxLjEzNzMgNTguNTE2MSAzMi43NDYyIDU5LjE2ODVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuMTI3NyAzNy4yMzA4QzMxLjEyNzcgMzcuMjMwOCAzMC43MTgyIDM4LjA2OTIgMzEuNjE1MiA0MS4yNDc4QzMxLjkzNDYgNDIuNDE2MiAzMi4zOTI5IDQzLjU0MjIgMzIuOTgwMiA0NC42MDE4QzMzLjE4NDUgNDQuOTEyOSAzMy40OTU4IDQ1LjEzODQgMzMuODU1MiA0NS4yMzU0QzM0LjIxNDUgNDUuMzMyNSAzNC41OTcgNDUuMjk0MyAzNC45MzAyIDQ1LjEyODJDMzUuOTgzNiA0NC41MjE5IDM2Ljk1MzggNDMuNzgxMiAzNy44MTYyIDQyLjkyNDhDMzguODM1MSA0Mi4wMTMxIDM5LjY2OTIgNDAuOTE0MiA0MC4yNzMyIDM5LjY4NzhDNDAuMzcwOCAzOS4zODAyIDQwLjM1ODEgMzkuMDQ4MyA0MC4yMzcgMzguNzQ5MkM0MC4xMTU5IDM4LjQ1MDEgMzkuODk0MiAzOC4yMDI4IDM5LjYxMDIgMzguMDQ5OEMzOC41MDU2IDM3LjQ0MTggMzcuMzI1MyAzNi45ODI4IDM2LjEwMDIgMzYuNjg0OEMzNC45MzM4IDM2LjMzODcgMzMuNzI4MiAzNi4xNDIxIDMyLjUxMjIgMzYuMDk5OEMzMi4xOTQ3IDM2LjEwMDYgMzEuODg2OSAzNi4yMDkxIDMxLjYzOSAzNi40MDc0QzMxLjM5MTEgMzYuNjA1OCAzMS4yMTc4IDM2Ljg4MjIgMzEuMTQ3MiAzNy4xOTE4TDMxLjEyNzcgMzcuMjMwOFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMy44MzgyIDQ1LjIwNjZMMzMuMDk3MiA0OC4wMTQ2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NS45NDc2IDI2LjIzMjdDNDcuMjY0MyAyNy4xMzY4IDQ4LjI3MTYgMjguNDIzMiA0OC44MzM2IDI5LjkxODJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgTGlrZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuNTE1MyA1MS40ODZDNzkuMzUxMyA0OS45ODQzIDc5LjE1NjMgNDAuMjczMyA3NC4xNjQzIDM5LjAwNkM3Ny42OTM3IDM3LjUwNDMgNzUuMjk1MyAyOS42MDY5IDcxLjE0MTcgMjguMjAyOUM2NS4xMTc3IDI3LjM0MyA1OS4wNTAzIDI2LjgyMjIgNTIuOTY3NyAyNi42NDI5QzU0LjM1MTMgMjIuODM5NyA1NS40MDggMTguOTI1NSA1Ni4xMjY3IDE0Ljk0MjlDNTYuNTMyNyAxMy4xODc0IDU2LjMzMzcgMTEuMzQ2NCA1NS41NjIgOS43MTgyN0M1NC43OTAzIDguMDkwMSA1My40OTEzIDYuNzcwMzMgNTEuODc1NyA1Ljk3MjlDNDkuMTY1MyA0LjM3MzkgNDQuNzk3MyA0LjMzNDkgNDMuMDgxMyA1Ljg1NTlDNDAuOTc1MyA2LjkwODkgMzUuNTU0MyAxMy41MTk0IDI5LjY0NTggMjMuNjc4OUMyNi4zNDc3IDI1Ljk3NzQgMjMuMjMxNSAyOC41MjY0IDIwLjMyNDggMzEuMzAzNEMxNy44NTM1IDMwLjA2MzYgMTUuMDgxMyAyOS41NDk3IDEyLjMyOTggMjkuODIxNEM4LjY0NDMgMjkuODIxNCAzLjc0OTggMzAuNTgxOSAyLjg5MTgxIDMzLjkzNkMxLjk5NDgxIDM1LjYzMjMgMS44NTgzMSA0NC41MjQzIDIuMDUzMzEgNTEuODc2QzIuMjQ4MzEgNTkuMjI3MyAyLjg5MTgxIDY4LjEgNC4wMDMzIDY5LjczOEM0LjkwMDMgNzMuMTUwMyA5Ljg1MzMgNzMuNDYyMyAxMy41Mzg4IDczLjM2NUMxNi4zNjYzIDczLjM2NSAxOS44NzYzIDcyLjg1OCAyMS43Njc4IDcxLjE4MUMyMS45ODk5IDcxLjM5MTcgMjIuMjMxNCA3MS41ODEgMjIuNDg5MyA3MS43NDYzQzI0LjkwNzMgNzMuMzY1IDM1Ljc4ODMgNzUuNDUxMyA0NC45OTIzIDc1LjE5OEM2MC45MDQzIDc0Ljc0OTMgNjYuOTEwMyA3My40ODIgNjguMDgwMyA3My4xMTEzQzc0LjM1OTMgNzEuMTYxMyA3My43MzUzIDYzLjc5MDMgNzIuMTM2MyA2Mi42NzlDNzUuODk5NyA2Mi4wMzUzIDc3LjczMjcgNTMuOTIzMyA3NC41MTUzIDUxLjQ4NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4Ljc1NTcgMTAuNTU1QzUxLjQyNzMgMTEuNjI3NSA1MC44ODEzIDE0LjQ1NSA1MC4yNzY3IDE2LjE3MVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjEuMzk3MyAzOS40MzUzQzIyLjEzODMgNDIuODI4MyAyMy4wMTU4IDU4Ljc0MDMgMjIuMDc5OCA2My41NzYzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS40OTA3IDM3LjY5OTNDNzQuNTE1NyAzOS4xODEzIDcxLjMxNzcgMzkuMjc5IDcxLjMxNzcgMzkuMjc5QzcyLjcxNzMgMzkuMTQyMyA3NC4xMyAzOS4yNTQzIDc1LjQ5MDcgMzkuNjEwM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjExNDMgNTAuNTVDNzUuMzczMyA1MS40ODYgNzIuMjE0MyA1MS4wNTcgNzIuMjE0MyA1MS4wNTdDNzIuMjE0MyA1MS4wNTcgNzQuODQ3IDUxLjI5MSA3NS42MjcgNTIuNzczXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzMuODkxMyA2MS43NDNDNzMuMTc3IDYyLjE2MTcgNzIuMzgzNyA2Mi40MjggNzEuNTYxNyA2Mi41MjVDNzAuNzM5MyA2Mi42MjIzIDY5LjkwNiA2Mi41NDg3IDY5LjExMzcgNjIuMzA4N0M2OS4xMTM3IDYyLjMwODcgNzIuMTM2MyA2Mi42NzkgNzMuMDEzNyA2NC4wODNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IE1hcCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzUuMzkyNyA4LjY3MTQ4Qzc0LjIyMjcgNi43OTk0OSA2Ny45ODI3IDguNzgzODEgNjIuODE1IDEwLjY1NThDNTguNjAzIDEyLjE3MjEgNTMuNzA4NyAxNC4xMTkgNTEuNDA3NyAxNi4yNzE4QzQ5LjEwNjcgMTQuMTE5IDQ0LjIxMiAxMi4xNzIxIDQwIDEwLjY1NThDMzYuMzUwNyA5LjI1MzkyIDMyLjUwNzcgOC4zNzEgMjguNTkyNiA4LjAzNUMyNC42Nzc1IDguMzcxIDIwLjgzNDUgOS4yNTM5MiAxNy4xODUxIDEwLjY1NThDMTIuMDE3NiAxMi41Mjc4IDUuNzc3NiAxNC45OTg4IDQuNjA3NiAxNy43NTA3QzIuMjY3NiAyMC45MzMxIDEuOTc1MSAzNy41Mzc2IDEuOTc1MSA0Ni41NDIxQzEuOTc1MSA1NS41NDYyIDIuMjY3NiA3MS45NDUgNC42MDc2IDczLjQ0MjZDNS43Nzc2IDc1LjMxNDYgMTIuMDE3NiA3My4zMzAyIDE3LjE4NTEgNzEuNDU4MkMyMS4zOTcxIDY5Ljk0MjEgMjYuMjkxNiA2Ny45OTUyIDI4LjU5MjYgNjUuODQyMkMzMC44OTM2IDY3Ljk5NTIgMzUuNzg4IDY5Ljk0MjEgNDAgNzEuNDU4MkM0My42NDkzIDcyLjg2MDIgNDcuNDkyNyA3My43NDMgNTEuNDA3NyA3NC4wNzlDNTUuMzIyNyA3My43NDMgNTkuMTY1NyA3Mi44NjAyIDYyLjgxNSA3MS40NTgyQzY3Ljk4MjcgNjkuNTg2MiA3NC4yMjI3IDY3LjExNTIgNzUuMzkyNyA2NC4zNjM1Qzc3LjczMjcgNjEuMTgxMSA3OC4wMjUgNDQuNTc2MyA3OC4wMjUgMzUuNTcyMkM3OC4wMjUgMjYuNTY3OCA3Ny43MzI3IDEwLjE2OTEgNzUuMzkyNyA4LjY3MTQ4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjguMyA1NS4wOTdWMjEuMDI2NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTEuNyA2MS4wODc3VjI3LjAxNzJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY2LjMyNSAxNS44NkM3MS4yOTczIDEzLjc0NDcgNzEuMDgzIDEyLjQ5MDQgNzEuMDgzIDIyLjc4NjRcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgTW9uZXkgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUzLjk4MTUgNDcuNDEwMUM1Ni4yNDM1IDQzLjkxOTYgNTMuODg0IDM2Ljc2MzEgNTEuMTkzIDMxLjM2MTZDNDguNTAyIDI1Ljk2MDEgNDQuMTkyNSAxOS43OTgxIDQwIDE5LjUwNTZDMzcuNTIzNSAxOS4zNDk2IDI4LjE0NCAyMy4xNzE2IDIwLjUgMjYuOTkzNkMxMi44NTYgMzAuODE1NiA0LjIzNzA0IDM1Ljk4MzEgMi45NTAwNCAzOC4wNTAxQzAuNjEwMDQgNDEuNTYwMSAyLjk1MDA0IDQ4LjczNjEgNS42NjA1NCA1NC4xMTgxQzguMzcxMDQgNTkuNTAwMSAxMi43IDY1LjcwMTEgMTYuODM0IDY1Ljk3NDFDMTkuMzEwNSA2Ni4xNDk2IDI4LjY3MDUgNjIuMzI3NiAzNi4zMzQgNTguNTA1NkM0My45OTc1IDU0LjY4MzYgNTIuNjM2IDQ5LjQ5NjYgNTMuOTgxNSA0Ny40MTAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzQuNDgxNSAyOC4zQzM1LjIyODQgMjkuNTkyNiAzNi40MTc4IDMwLjU3MTIgMzcuODMgMzEuMDU1MUMzOS4yNDIyIDMxLjUzOSA0MC43ODE5IDMxLjQ5NTQgNDIuMTY0NSAzMC45MzI2QzQ0LjAxODUgMzMuMzQwNSA0NS4zOTUyIDM2LjA4MDcgNDYuMjIwNSAzOS4wMDU2QzQ0LjkxNzYgMzkuNzcxMSA0My45NDAyIDQwLjk4NzQgNDMuNDczMSA0Mi40MjQ2QzQzLjAwNiA0My44NjE4IDQzLjA4MTYgNDUuNDIwMyA0My42ODU1IDQ2LjgwNTVDMzYuODk3NCA1MC44NjE5IDI5Ljc5NjMgNTQuMzcgMjIuNDUgNTcuMjk2NkMyMS43MDAxIDU1Ljk3NjQgMjAuNDkwNSA1NC45Nzg1IDE5LjA1MiA1NC40OTNDMTcuNjEzNCA1NC4wMDc1IDE2LjA0NjUgNTQuMDY4NCAxNC42NSA1NC42NjQxQzEyLjc4NDEgNTIuMjg1MSAxMS40NTM3IDQ5LjUzMTQgMTAuNzUgNDYuNTkxQzEyLjA0OTUgNDUuODIyNCAxMy4wMjI4IDQ0LjYwNDggMTMuNDg2MiA0My4xNjc5QzEzLjk0OTYgNDEuNzMwOSAxMy44NzExIDQwLjE3NDEgMTMuMjY1NSAzOC43OTFDMjAuMDQ1NyAzNC43MzI2IDI3LjE0MDUgMzEuMjI0NCAzNC40ODE1IDI4LjNaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNC44MzI1IDI0LjEyNzFDMzguMjY0NSAyMi42MDYxIDM5LjgwNSAyMi43MDM2IDQwLjY4MjUgMjMuMjQ5NlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjIuMDIxIDQyLjc0OTZDMjIuMDIxIDQ0LjQ1MTEgMjIuNjk2OSA0Ni4wODI5IDIzLjkwMDEgNDcuMjg2QzI1LjEwMzIgNDguNDg5MiAyNi43MzUgNDkuMTY1MSAyOC40MzY1IDQ5LjE2NTFDMzAuMTM4IDQ5LjE2NTEgMzEuNzY5OCA0OC40ODkyIDMyLjk3MjkgNDcuMjg2QzM0LjE3NjEgNDYuMDgyOSAzNC44NTIgNDQuNDUxMSAzNC44NTIgNDIuNzQ5NkMzNC44NTIgNDEuMDQ4MSAzNC4xNzYxIDM5LjQxNjMgMzIuOTcyOSAzOC4yMTMyQzMxLjc2OTggMzcuMDEgMzAuMTM4IDM2LjMzNDEgMjguNDM2NSAzNi4zMzQxQzI2LjczNSAzNi4zMzQxIDI1LjEwMzIgMzcuMDEgMjMuOTAwMSAzOC4yMTMyQzIyLjY5NjkgMzkuNDE2MyAyMi4wMjEgNDEuMDQ4MSAyMi4wMjEgNDIuNzQ5NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI3LjM0NDUgMzkuNjEwMUMyNy44NjYxIDM5LjQ2MDIgMjguNDE1OSAzOS40MzY4IDI4Ljk0ODQgMzkuNTQxOUMyOS40ODA4IDM5LjY0NzEgMjkuOTgwNSAzOS44Nzc3IDMwLjQwNiA0MC4yMTQ2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni40NDU1IDQ0LjM2OEM3Ni4yNyA0NC4xNTM1IDcyLjg5NjUgMzkuNTUxNSA2Mi42MDA1IDM5LjU1MTVDNTIuMzA0NSAzOS41NTE1IDQ4Ljk1MDUgNDQuMTUzNSA0OC43NTU1IDQ0LjM2OEM0Ny41ODU1IDQ1Ljc5MTUgNDcuMTc2IDUyLjAxMiA0Ny4xNzYgNTcuMzU1QzQ3LjE3NiA2Mi42OTggNDcuNTg1NSA2OC45MTg1IDQ4Ljc1NTUgNzAuMzQyQzQ4LjkzMSA3MC41NTY1IDUyLjMwNDUgNzUuMTM5IDYyLjYwMDUgNzUuMTM5QzcyLjg5NjUgNzUuMTM5IDc2LjI1MDUgNzAuNTU2NSA3Ni40NDU1IDcwLjM0MkM3Ny42MTU1IDY4LjkxODUgNzguMDI1IDYyLjY5OCA3OC4wMjUgNTcuMzU1Qzc4LjAyNSA1Mi4wMTIgNzcuNjE1NSA0NS44NSA3Ni40NDU1IDQ0LjM2OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY5LjgzNTEgNDIuNjkxQzcwLjkzMDQgNDIuOTkzOSA3MS45NjU4IDQzLjQ4MiA3Mi44OTY2IDQ0LjEzNFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuOTA1IDQ5LjA0OEM3Mi43MDE1IDUxLjI3MSA2OC42MDY1IDUyLjU5NyA2Mi42MDA1IDUyLjU5N0M1Ni41OTQ1IDUyLjU5NyA1Mi40OTk1IDUxLjI3MSA1MC4yOTYgNDkuMDQ4XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC45MDUgNTcuMzU1QzcyLjcwMTUgNTkuNTc4IDY4LjYwNjUgNjAuOTA0IDYyLjYwMDUgNjAuOTA0QzU2LjU5NDUgNjAuOTA0IDUyLjQ5OTUgNTkuNSA1MC4yOTYgNTcuMzU1XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC45MDUgNjQuNDcyNUM3Mi43MDE1IDY2LjY5NTUgNjguNjA2NSA2OC4wMjE1IDYyLjYwMDUgNjguMDIxNUM1Ni41OTQ1IDY4LjAyMTUgNTIuNDk5NSA2Ni42OTU1IDUwLjI5NiA2NC40NzI1XCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ni4zMjE1IDQ1Ljc5MTVDNTYuMzIxNSA0Ni40MjI0IDU2Ljk4MzEgNDcuMDI3NSA1OC4xNjA2IDQ3LjQ3MzdDNTkuMzM4MiA0Ny45MTk4IDYwLjkzNTIgNDguMTcwNSA2Mi42MDA1IDQ4LjE3MDVDNjQuMjY1OCA0OC4xNzA1IDY1Ljg2MjkgNDcuOTE5OCA2Ny4wNDA1IDQ3LjQ3MzdDNjguMjE4IDQ3LjAyNzUgNjguODc5NSA0Ni40MjI0IDY4Ljg3OTUgNDUuNzkxNUM2OC44Nzk1IDQ1LjE2MDUgNjguMjE4IDQ0LjU1NTQgNjcuMDQwNSA0NC4xMDkzQzY1Ljg2MjkgNDMuNjYzMSA2NC4yNjU4IDQzLjQxMjUgNjIuNjAwNSA0My40MTI1QzYwLjkzNTIgNDMuNDEyNSA1OS4zMzgyIDQzLjY2MzEgNTguMTYwNiA0NC4xMDkzQzU2Ljk4MzEgNDQuNTU1NCA1Ni4zMjE1IDQ1LjE2MDUgNTYuMzIxNSA0NS43OTE1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzEuMzc1NiAyNS42Njc2QzcxLjM3NTYgMjQuMzgwNiA3MC4wNDk2IDIzLjI4ODYgNjYuNDIyNiAyMi45MTgxQzY2LjA1MjEgMTkuMjkxMSA2NC45Nzk1IDE3Ljk2NTEgNjMuNjczIDE3Ljk2NTFDNjIuMzY2NSAxNy45NjUxIDYxLjI3NDUgMTkuMjkxMSA2MC45MDQgMjIuOTE4MUM1Ny4yNzcgMjMuMjg4NiA1NS45NTEgMjQuMzgwNiA1NS45NTEgMjUuNjY3NkM1NS45NTEgMjYuOTU0NiA1Ny4yNzcgMjguMDY2MSA2MC45MDQgMjguNDM2NkM2MS4yNzQ1IDMyLjA2MzYgNjIuMzY2NSAzMy4zODk2IDYzLjY3MyAzMy4zODk2QzY0Ljk3OTUgMzMuMzg5NiA2Ni4wNTIxIDMyLjA2MzYgNjYuNDIyNiAyOC40MzY2QzcwLjA0OTYgMjguMDY2MSA3MS4zNzU2IDI2Ljk3NDEgNzEuMzc1NiAyNS42Njc2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPVwiIzIzMUYyMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny41NSAxMS43ODM2QzU3LjU1IDEwLjc1MDEgNTYuNDk3IDkuODMzNTUgNTMuNjUgOS41ODAwNUM1My4zNTc1IDYuNjc0NTUgNTIuNDggNS42ODAwNSA1MS40NDY1IDUuNjgwMDVDNTAuNDEzIDUuNjgwMDUgNDkuNDk2NSA2LjczMzA1IDQ5LjI0MyA5LjU4MDA1QzQ2LjMzNzUgOS44NzI1NSA0NS4zNDMgMTAuNzUwMSA0NS4zNDMgMTEuNzgzNkM0NS4zNDMgMTIuODE3MSA0Ni40MTU1IDEzLjczMzYgNDkuMjQzIDEzLjk4NzFDNDkuNTM1NSAxNi44OTI2IDUwLjM5MzUgMTcuODg3MSA1MS40NDY1IDE3Ljg4NzFDNTIuNDk5NSAxNy44ODcxIDUzLjM5NjUgMTYuODE0NiA1My42NSAxMy45ODcxQzU2LjQzODUgMTMuNzE0MSA1Ny41NSAxMi44MzY2IDU3LjU1IDExLjc4MzZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3LjUxNDUgNy4xNjIwNUM2Ny41MTQ1IDcuNzc3NDkgNjcuNzU5IDguMzY3NzIgNjguMTk0MiA4LjgwMjg5QzY4LjYyOTQgOS4yMzgwNyA2OS4yMTk2IDkuNDgyNTUgNjkuODM1IDkuNDgyNTVDNzAuNDUwNSA5LjQ4MjU1IDcxLjA0MDcgOS4yMzgwNyA3MS40NzU5IDguODAyODlDNzEuOTExIDguMzY3NzIgNzIuMTU1NSA3Ljc3NzQ5IDcyLjE1NTUgNy4xNjIwNUM3Mi4xNTU1IDYuNTQ2NjIgNzEuOTExIDUuOTU2MzkgNzEuNDc1OSA1LjUyMTIxQzcxLjA0MDcgNS4wODYwMyA3MC40NTA1IDQuODQxNTUgNjkuODM1IDQuODQxNTVDNjkuMjE5NiA0Ljg0MTU1IDY4LjYyOTQgNS4wODYwMyA2OC4xOTQyIDUuNTIxMjFDNjcuNzU5IDUuOTU2MzkgNjcuNTE0NSA2LjU0NjYyIDY3LjUxNDUgNy4xNjIwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBPZmZlciA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTQuOTQ1MiAxNS4zODQ4QzQzLjA4MTQgMy41Mzg0OSAyOC42MjAyIDIuMjIyMjkgMTUuNDA1IDE1LjM4NDhDMi4xODk4OSAyOC41NDczIDMuNTU4NzkgNDMuMDYxMSAxNS40MDUgNTQuOTA3NEMyNS41NjY1IDY1LjA2ODcgMzcuNjU4NCA2Ny40NTU3IDQ5LjIwNjMgNTkuNjYzNEM1MC4yMjQyIDYxLjI3OCA1MS40NTI3IDYyLjg1NzcgNTIuOTYyIDY0Ljc4NzdDNjMuOTMwOCA3OC43MDQ3IDY4LjQ0MTEgNzQuMzcwNyA3MS4zODk1IDcxLjQyMTdDNzQuMzM3OSA2OC40NzM3IDc4LjY1NTIgNjMuOTYyNyA2NC43OTA3IDUyLjk3NjlDNjIuODk1MyA1MS40Njc2IDYxLjI4MDcgNTAuMjU2NiA1OS42ODM3IDQ5LjIyMTJDNjcuNDkzNCAzNy42NzMzIDY1LjEwNjYgMjUuNTYzOCA1NC45NDUyIDE1LjM4NDhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNy42NTE0IDM1LjE0NThDMTcuNjUxNCAzOS43OTU3IDE5LjQ5ODUgNDQuMjU1MSAyMi43ODY1IDQ3LjU0MzFDMjYuMDc0NSA1MC44MzEgMzAuNTMzOSA1Mi42NzgyIDM1LjE4MzggNTIuNjc4MkMzOS44MzM3IDUyLjY3ODIgNDQuMjkzMiA1MC44MzEgNDcuNTgxMSA0Ny41NDMxQzUwLjg2OTEgNDQuMjU1MSA1Mi43MTYzIDM5Ljc5NTcgNTIuNzE2MyAzNS4xNDU4QzUyLjcxNjMgMzAuNDk1OSA1MC44NjkxIDI2LjAzNjQgNDcuNTgxMSAyMi43NDg0QzQ0LjI5MzIgMTkuNDYwNSAzOS44MzM3IDE3LjYxMzMgMzUuMTgzOCAxNy42MTMzQzMwLjUzMzkgMTcuNjEzMyAyNi4wNzQ1IDE5LjQ2MDUgMjIuNzg2NSAyMi43NDg0QzE5LjQ5ODUgMjYuMDM2NCAxNy42NTE0IDMwLjQ5NTkgMTcuNjUxNCAzNS4xNDU4WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS4wOTQ3IDI0LjQyMzRDMzIuMjMxMyAyMy40MzU1IDMzLjY3MjkgMjIuODY4NCAzNS4xNzggMjIuODE3M0MzNi42ODMgMjIuNzY2MiAzOC4xNTk4IDIzLjIzNDEgMzkuMzYwOCAyNC4xNDI2XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuMDk0NyAyNC40MjM0QzMyLjIzMTMgMjMuNDM1NSAzMy42NzI5IDIyLjg2ODQgMzUuMTc4IDIyLjgxNzNDMzYuNjgzIDIyLjc2NjIgMzguMTU5OCAyMy4yMzQxIDM5LjM2MDggMjQuMTQyNlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzkuNzQ2OCAxMS43Njk2QzQzLjA3MDkgMTIuMTMwNyA0Ni4xMzI5IDEzLjc0MzIgNDguMzExMiAxNi4yNzk5XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFBhc3Nwb3J0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03MC43NiA3Ljc2QzY4LjMyIDEuNzYgNTIuMTggMSA0Mi43OCAxQzM1LjQ4IDEgMjQuMTQgMS40OCAxOC4zMDAxIDQuNUMxNy4yNDIxIDQuMDA4MzIgMTYuMDg2NiAzLjc2MjIgMTQuOTIwMSAzLjc4QzEyLjI0MDEgMy43OCA4LjY2MDA4IDQuODIgNy45NjAwOCAxMC4zNEM3LjI2MDA4IDEzLjEgNi41ODAwOCAyNy44IDYuNTgwMDggNDBDNi41ODAwOCA1Mi4yIDcuMjYwMDggNjYuOSA4LjAwMDA4IDY5LjY2QzguNzAwMDggNzUuMTggMTIuMjgwMSA3Ni4yMiAxNC45NjAxIDc2LjIyQzE2LjEyNjYgNzYuMjM3OCAxNy4yODIxIDc1Ljk5MTYgMTguMzQwMSA3NS41QzI0LjE4IDc4LjUyIDM1LjUyIDc5IDQyLjgyIDc5QzUyLjIyIDc5IDY4LjM2IDc4LjI0IDcwLjgyIDcyLjI0QzczLjI0IDY5LjI0IDczLjQ4IDUzLjI0IDczLjQ4IDQwQzczLjQ4IDI2Ljc2IDczLjE4IDEwLjc2IDcwLjc2IDcuNzZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNi4wOCA0MEMyNi4wOCA0NC44MDA0IDI3Ljk4NyA0OS40MDQyIDMxLjM4MTQgNTIuNzk4NkMzNC43NzU4IDU2LjE5MyAzOS4zNzk2IDU4LjEgNDQuMTggNTguMUM0OC45ODA0IDU4LjEgNTMuNTg0NCA1Ni4xOTMgNTYuOTc4OCA1Mi43OTg2QzYwLjM3MzIgNDkuNDA0MiA2Mi4yOCA0NC44MDA0IDYyLjI4IDQwQzYyLjI4IDM1LjE5OTYgNjAuMzczMiAzMC41OTU4IDU2Ljk3ODggMjcuMjAxNEM1My41ODQ0IDIzLjgwNyA0OC45ODA0IDIxLjkgNDQuMTggMjEuOUMzOS4zNzk2IDIxLjkgMzQuNzc1OCAyMy44MDcgMzEuMzgxNCAyNy4yMDE0QzI3Ljk4NyAzMC41OTU4IDI2LjA4IDM1LjE5OTYgMjYuMDggNDBaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQwLjMgNTIuOTRDMzguNTggNTAuNzQgMzcuNzIgNDYuMDggMzcuNzIgNDBDMzcuNzIgMzMuOTIgMzguNTggMjkuMjYgNDAuMyAyNy4wNlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDggMjcuMDZDNDkuNzIgMjkuMjYgNTAuNTggMzMuOTIgNTAuNTggNDBDNTAuNTggNDYuMDggNDkuNzIgNTAuNzQgNDggNTIuOTRcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMyLjE2MDIgMzUuMjhDMzYuMTM3IDM0Ljc0MjYgNDAuMTQ3NiAzNC40OTUyIDQ0LjE2MDIgMzQuNTRDNDguMTcyOCAzNC40OTM2IDUyLjE4MzYgMzQuNzQwOCA1Ni4xNjAyIDM1LjI4XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ni4xODAyIDQ0LjcyQzUyLjIwMzYgNDUuMjU5MiA0OC4xOTI4IDQ1LjUwNjYgNDQuMTgwMiA0NS40NkM0MC4xNjc2IDQ1LjUwNDggMzYuMTU3IDQ1LjI1NzYgMzIuMTgwMiA0NC43MlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTcuNzIwMiAxNy43MkMxNy4xODAyIDI1LjE0IDE3LjE4MDIgNTQuODYgMTcuNzIwMiA2Mi4yOFYxNy43MlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNy43MjAyIDE3LjcyQzE3LjE4MDIgMjUuMTQgMTcuMTgwMiA1NC44NiAxNy43MjAyIDYyLjI4XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny4wNCA3LjM1OTk4QzY0LjYgOC40Nzk5OCA2NS4wNCA4LjQxOTk4IDY1Ljk4IDEyLjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBQYXNzd29yZCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuMjM0NiAyOS4wMjE1QzQ3LjMzMjEgMjkuNTQ4IDQ3LjY2MzYgMzEuMzYxNSA0Ny43ODA2IDMxLjg0OUM0Ni42ODM5IDMyLjIyNzEgNDUuNjc1NSAzMi44MjQyIDQ0LjgxNjYgMzMuNjA0QzQyLjQ5NjEgMzUuMjAzIDQyLjMwMTEgNDEuNDA0IDQzLjA4MTEgNDUuNzkxNUM0My44NjExIDUwLjE3OSA0Ni4xODE2IDU1LjkxMiA0OC45MzExIDU2LjYxNEM1MC4zOTM2IDU3LjU1IDU3LjI5NjYgNTcuNTExIDYyLjgzNDYgNTYuNTE2NUM2OC4zNzI2IDU1LjUyMiA3NC44NjYxIDUzLjIwMTUgNzUuOTE5MSA1MS44MTdDNzguMjM5NiA1MC4yMTggNzguNDM0NiA0NC4wMTcgNzcuNjU0NiAzOS42NDlDNzYuODc0NiAzNS4yODEgNzQuNTU0MSAyOS41MDkgNzEuODA0NiAyOC44MDdDNzAuNzI4IDI4LjM2OTggNjkuNTczMyAyOC4xNTc1IDY4LjQxMTYgMjguMTgzQzY4LjQxMTYgMjcuNjc2IDY4LjA0MTEgMjUuODYyNSA2Ny45NDM2IDI1LjMzNkM2Ny43MTUxIDIzLjk4OTQgNjcuMjE0MyAyMi43MDM2IDY2LjQ3MTggMjEuNTU3MkM2NS43Mjk0IDIwLjQxMDggNjQuNzYwOSAxOS40Mjc5IDYzLjYyNTYgMTguNjY4NkM2Mi40OTAzIDE3LjkwOTMgNjEuMjEyIDE3LjM4OTYgNTkuODY5IDE3LjE0MTJDNTguNTI2IDE2Ljg5MjggNTcuMTQ2NCAxNi45MjEgNTUuODE0NiAxNy4yMjRDNTQuNDU5NSAxNy4zOTcxIDUzLjE1NCAxNy44NDUzIDUxLjk3ODQgMTguNTQxM0M1MC44MDI5IDE5LjIzNzIgNDkuNzgyIDIwLjE2NjIgNDguOTc4NCAyMS4yNzFDNDguMTc0OSAyMi4zNzU4IDQ3LjYwNTcgMjMuNjMzMyA0Ny4zMDU4IDI0Ljk2NjFDNDcuMDA2IDI2LjI5ODkgNDYuOTgxNyAyNy42NzkgNDcuMjM0NiAyOS4wMjE1Wk02Mi4wNTQ2IDI4LjM1ODVDNjAuNjU1IDI4LjQyNDUgNTkuMjYxMSAyOC41ODA4IDU3Ljg4MTYgMjguODI2NUM1Ni40OTgyIDI5LjA3NzEgNTUuMTMwOCAyOS40MDkyIDUzLjc4NjYgMjkuODIxQzUyLjEwOTYgMjYuMzUgNTMuNTEzNiAyNC40IDU2Ljk2NTEgMjMuNzM3QzYwLjQxNjYgMjMuMDc0IDYyLjQ2NDEgMjQuNTM2NSA2Mi4wNTQ2IDI4LjNWMjguMzU4NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjgyODYgNDIuNzEwNUM1Ni44Mjg2IDQzLjE3MTQgNTYuOTE5NCA0My42Mjc5IDU3LjA5NTggNDQuMDUzN0M1Ny4yNzIyIDQ0LjQ3OTYgNTcuNTMwNyA0NC44NjY1IDU3Ljg1NjcgNDUuMTkyNEM1OC4xODI2IDQ1LjUxODQgNTguNTY5NSA0NS43NzY5IDU4Ljk5NTQgNDUuOTUzM0M1OS40MjEyIDQ2LjEyOTcgNTkuODc3NyA0Ni4yMjA1IDYwLjMzODYgNDYuMjIwNUM2MC43OTk2IDQ2LjIyMDUgNjEuMjU2IDQ2LjEyOTcgNjEuNjgxOCA0NS45NTMzQzYyLjEwNzcgNDUuNzc2OSA2Mi40OTQ2IDQ1LjUxODQgNjIuODIwNiA0NS4xOTI0QzYzLjE0NjUgNDQuODY2NSA2My40MDUgNDQuNDc5NiA2My41ODE0IDQ0LjA1MzdDNjMuNzU3OCA0My42Mjc5IDYzLjg0ODYgNDMuMTcxNCA2My44NDg2IDQyLjcxMDVDNjMuODQ4NiA0Mi4yNDk2IDYzLjc1NzggNDEuNzkzMSA2My41ODE0IDQxLjM2NzNDNjMuNDA1IDQwLjk0MTQgNjMuMTQ2NSA0MC41NTQ1IDYyLjgyMDYgNDAuMjI4NkM2Mi40OTQ2IDM5LjkwMjYgNjIuMTA3NyAzOS42NDQxIDYxLjY4MTggMzkuNDY3N0M2MS4yNTYgMzkuMjkxMyA2MC43OTk2IDM5LjIwMDUgNjAuMzM4NiAzOS4yMDA1QzU5Ljg3NzcgMzkuMjAwNSA1OS40MjEyIDM5LjI5MTMgNTguOTk1NCAzOS40Njc3QzU4LjU2OTUgMzkuNjQ0MSA1OC4xODI2IDM5LjkwMjYgNTcuODU2NyA0MC4yMjg2QzU3LjUzMDcgNDAuNTU0NSA1Ny4yNzIyIDQwLjk0MTQgNTcuMDk1OCA0MS4zNjczQzU2LjkxOTQgNDEuNzkzMSA1Ni44Mjg2IDQyLjI0OTYgNTYuODI4NiA0Mi43MTA1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny40MzY2IDMyLjU1MUM3MC44ODgxIDMxLjk0NjUgNzEuNTEyMSAzNS4zOTggNzIuMTE2NiAzOC44NDk1XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM2LjkzODYgMzYuMzUzNUMzNS45MzUgMzQuNDUxNSAzNC42NTM0IDMyLjcwOTkgMzMuMTM2MSAzMS4xODZDMzEuNzU1NCAyOS41NTg0IDMwLjEyMjYgMjguMTYyNyAyOC4zMDAxIDI3LjA1MkMyNy4zNTYgMjYuNjk2OCAyNi4zMjE5IDI2LjY1ODggMjUuMzU0MyAyNi45NDM4QzI0LjM4NjcgMjcuMjI4OCAyMy41MzgzIDI3LjgyMTIgMjIuOTM3NiAyOC42MzE1QzIyLjAxODggMzAuNTU3NyAyMS40MTMyIDMyLjYxOCAyMS4xNDM2IDM0LjczNUMyMC42ODIzIDM2LjgzMzkgMjAuNTU3MiAzOC45OTI4IDIwLjc3MzEgNDEuMTMxQzIwLjgzMzcgNDEuNzgyMSAyMS4xMTM3IDQyLjM5MzQgMjEuNTY3MiA0Mi44NjQ1QzIyLjAyMDcgNDMuMzM1NyAyMi42MjA3IDQzLjYzODkgMjMuMjY5MSA0My43MjQ1QzIzLjg4MTkgNDMuOTEzMiAyNC41NDIxIDQzLjg3NTIgMjUuMTI5MyA0My42MTc1QzI1LjcxNjQgNDMuMzU5NyAyNi4xOTEyIDQyLjg5OTQgMjYuNDY3MSA0Mi4zMjA1QzI2LjcwMjQgNDEuOTM0MiAyNi44OTIyIDQxLjUyMiAyNy4wMzI2IDQxLjA5MkMyNy43OTMxIDQwLjkxNjUgMjguNTkyNiA0MC43MDIgMjkuMzMzNiA0MC40ODc1QzMwLjA3NDYgNDAuMjczIDMwLjg5MzYgNDAgMzEuNjE1MSAzOS43MjdDMzEuOTY2NiA0MC4wMjUgMzIuMzYxIDQwLjI2ODIgMzIuNzg1MSA0MC40NDg1QzMzLjMxNzcgNDAuODAyNSAzMy45NjA0IDQwLjk1MjEgMzQuNTk0NyA0MC44Njk3QzM1LjIyODkgNDAuNzg3MyAzNS44MTIgNDAuNDc4NCAzNi4yMzY2IDQwQzM2Ljc2NCAzOS41NzIgMzcuMTIzNSAzOC45NzE2IDM3LjI1MTkgMzguMzA0N0MzNy4zODAzIDM3LjYzNzcgMzcuMjY5NCAzNi45NDY3IDM2LjkzODYgMzYuMzUzNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuMTc3NSAzNS4xNjRDMjguNzQyOCAzNS4xOTUxIDI4LjMxMTkgMzUuMjY2OSAyNy44OTA1IDM1LjM3ODVDMjcuNDc4IDM1LjUwNyAyNy4wNzk1IDM1LjY3NjkgMjYuNzAxIDM1Ljg4NTVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNi45NzQgMzUuNzI5NUMyNi45NzQgMzUuNzI5NSAyNy45Mjk1IDM1LjQ1NjUgMjcuMjg2IDMzLjI3MjVDMjcuOTI5NSAzNS40NTY1IDI4Ljg2NTUgMzUuMjIyNSAyOC44NjU1IDM1LjIyMjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MS4zMjYgMTUuMDAxQzQxLjIyOTYgMTQuOTE0NiA0MS4xMTY5IDE0Ljg0ODMgNDAuOTk0NSAxNC44MDZDNDEuNzI5NCAxMy45NjkzIDQyLjE5MTkgMTIuOTI4NiA0Mi4zMjA1IDExLjgyMjVDNDIuODQ3IDguMjkzIDQxLjE3IDYuNDc5NSAzNi4xIDUuNzM4NUMzMC42MjA1IDQuOTE5NSAzMC4yNSA1LjU0MzUgMjkuNDMxIDcuMzE4QzI4LjY0MDUgOS4xODQzMiAyOC4xMjE3IDExLjE1NDQgMjcuODkwNSAxMy4xNjhDMjcuNTM1MSAxNS4xNjk1IDI3LjQ2MjkgMTcuMjEwOSAyNy42NzYgMTkuMjMyNUMyNy45ODggMjEuMTgyNSAyNy43NzM1IDIxLjgwNjUgMzMuNjIzNSAyMi42NjQ1QzM4LjYzNSAyMy4zODYgNDEuNzc0NSAyMi41MjggNDIuMzIwNSAxOC43NjQ1QzQyLjUzNSAxNy4zOCA0Mi4yODE1IDE1LjUwOCA0MS4zMjYgMTUuMDAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMy4zNTA1IDEwLjc1QzMzLjY4NzkgMTAuOTEzNiAzNC4wNTA1IDExLjAxOSAzNC40MjMgMTEuMDYyQzM0Ljc5MDcgMTEuMTI1NyAzNS4xNjY3IDExLjEyNTcgMzUuNTM0NSAxMS4wNjJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMyLjgyNCAxNy4xMjY1QzMzLjMyMTggMTcuMzM2NiAzMy44NDcxIDE3LjQ3NDUgMzQuMzg0IDE3LjUzNkMzNC45MjAxIDE3LjYyMTcgMzUuNDY2NCAxNy42MjE3IDM2LjAwMjUgMTcuNTM2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNi40MDUxIDUxLjQwNzVDMTMuODExNiA1Mi4zMjQgMTIuMzQ5MSA1Ny41NSAxMi4yMTI2IDYxLjQ1QzEyLjA3NjEgNjUuMzUgMTMuMTQ4NiA3MC42OTMgMTUuNjY0MSA3MS44MDQ1QzE2Ljg5MjYgNzIuODc3IDI4LjkwNDYgNzQuMzM5NSAzNC41NDAxIDc0LjUzNDVDNDAuMTc1NiA3NC43Mjk1IDUyLjI0NjEgNzQuMTQ0NSA1My41NTI2IDczLjE2OTVDNTYuMTQ2MSA3Mi4yNTMgNTcuNjA4NiA2Ny4wNDY1IDU3Ljc0NTEgNjMuMDg4QzU3Ljg4MTYgNTkuMTI5NSA1Ni44MDkxIDUzLjg0NSA1NC4yOTM2IDUyLjczMzVDNTMuMDY1MSA1MS42NjEgNDEuMDUzMSA1MC4yMTggMzUuNDE3NiA1MC4wMDM1QzI5Ljc4MjEgNDkuNzg5IDE3LjcxMTYgNTAuNDMyNSAxNi40MDUxIDUxLjQwNzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS4yMTMgNjEuODU5NUMxOS4yMTMgNjIuNzkwNCAxOS41ODI4IDYzLjY4MzIgMjAuMjQxMSA2NC4zNDE0QzIwLjg5OTMgNjQuOTk5NyAyMS43OTIxIDY1LjM2OTUgMjIuNzIzIDY1LjM2OTVDMjMuNjUzOSA2NS4zNjk1IDI0LjU0NjcgNjQuOTk5NyAyNS4yMDUgNjQuMzQxNEMyNS44NjMyIDYzLjY4MzIgMjYuMjMzIDYyLjc5MDQgMjYuMjMzIDYxLjg1OTVDMjYuMjMzIDYwLjkyODYgMjUuODYzMiA2MC4wMzU4IDI1LjIwNSA1OS4zNzc2QzI0LjU0NjcgNTguNzE5MyAyMy42NTM5IDU4LjM0OTUgMjIuNzIzIDU4LjM0OTVDMjEuNzkyMSA1OC4zNDk1IDIwLjg5OTMgNTguNzE5MyAyMC4yNDExIDU5LjM3NzZDMTkuNTgyOCA2MC4wMzU4IDE5LjIxMyA2MC45Mjg2IDE5LjIxMyA2MS44NTk1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS40NTkxIDYyLjMwOEMzMS40NTkxIDYzLjIzODkgMzEuODI4OSA2NC4xMzE3IDMyLjQ4NzIgNjQuNzg5OUMzMy4xNDU0IDY1LjQ0ODIgMzQuMDM4MiA2NS44MTggMzQuOTY5MSA2NS44MThDMzUuOSA2NS44MTggMzYuNzkyOCA2NS40NDgyIDM3LjQ1MSA2NC43ODk5QzM4LjEwOTMgNjQuMTMxNyAzOC40NzkxIDYzLjIzODkgMzguNDc5MSA2Mi4zMDhDMzguNDc5MSA2MS4zNzcxIDM4LjEwOTMgNjAuNDg0MyAzNy40NTEgNTkuODI2QzM2Ljc5MjggNTkuMTY3OCAzNS45IDU4Ljc5OCAzNC45NjkxIDU4Ljc5OEMzNC4wMzgyIDU4Ljc5OCAzMy4xNDU0IDU5LjE2NzggMzIuNDg3MiA1OS44MjZDMzEuODI4OSA2MC40ODQzIDMxLjQ1OTEgNjEuMzc3MSAzMS40NTkxIDYyLjMwOFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuNzI0NiA2Mi43NTY1QzQzLjcyNDYgNjMuNjg3NCA0NC4wOTQ0IDY0LjU4MDIgNDQuNzUyNyA2NS4yMzg0QzQ1LjQxMDkgNjUuODk2NyA0Ni4zMDM3IDY2LjI2NjUgNDcuMjM0NiA2Ni4yNjY1QzQ4LjE2NTUgNjYuMjY2NSA0OS4wNTgzIDY1Ljg5NjcgNDkuNzE2NiA2NS4yMzg0QzUwLjM3NDggNjQuNTgwMiA1MC43NDQ2IDYzLjY4NzQgNTAuNzQ0NiA2Mi43NTY1QzUwLjc0NDYgNjIuMjk1NiA1MC42NTM4IDYxLjgzOTEgNTAuNDc3NCA2MS40MTMzQzUwLjMwMSA2MC45ODc0IDUwLjA0MjUgNjAuNjAwNSA0OS43MTY2IDYwLjI3NDVDNDkuMzkwNiA1OS45NDg2IDQ5LjAwMzcgNTkuNjkwMSA0OC41Nzc4IDU5LjUxMzdDNDguMTUyIDU5LjMzNzMgNDcuNjk1NiA1OS4yNDY1IDQ3LjIzNDYgNTkuMjQ2NUM0Ni43NzM3IDU5LjI0NjUgNDYuMzE3MiA1OS4zMzczIDQ1Ljg5MTQgNTkuNTEzN0M0NS40NjU1IDU5LjY5MDEgNDUuMDc4NiA1OS45NDg2IDQ0Ljc1MjcgNjAuMjc0NUM0NC40MjY3IDYwLjYwMDUgNDQuMTY4MiA2MC45ODc0IDQzLjk5MTggNjEuNDEzM0M0My44MTU0IDYxLjgzOTEgNDMuNzI0NiA2Mi4yOTU2IDQzLjcyNDYgNjIuNzU2NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDkuMzc5NSA1NS4xOTA1QzUzLjI3OTUgNTUuNzk1IDUyLjczMzUgNTUuNzc1NSA1My4zOTY1IDU3LjkwMVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuODE5NiA5LjMyNjVDNDcuODE5NiA5Ljc2MTgzIDQ3LjkwNTMgMTAuMTkyOSA0OC4wNzE5IDEwLjU5NTFDNDguMjM4NSAxMC45OTczIDQ4LjQ4MjcgMTEuMzYyNyA0OC43OTA1IDExLjY3MDZDNDkuMDk4MyAxMS45Nzg0IDQ5LjQ2MzggMTIuMjIyNiA0OS44NjYgMTIuMzg5MkM1MC4yNjgyIDEyLjU1NTggNTAuNjk5MiAxMi42NDE1IDUxLjEzNDYgMTIuNjQxNUM1MS41Njk5IDEyLjY0MTUgNTIuMDAxIDEyLjU1NTggNTIuNDAzMiAxMi4zODkyQzUyLjgwNTQgMTIuMjIyNiA1My4xNzA4IDExLjk3ODQgNTMuNDc4NiAxMS42NzA2QzUzLjc4NjUgMTEuMzYyNyA1NC4wMzA2IDEwLjk5NzMgNTQuMTk3MiAxMC41OTUxQzU0LjM2MzggMTAuMTkyOSA1NC40NDk2IDkuNzYxODMgNTQuNDQ5NiA5LjMyNjVDNTQuNDQ5NiA4Ljg5MTE3IDU0LjM2MzggOC40NjAxIDU0LjE5NzIgOC4wNTc5MUM1NC4wMzA2IDcuNjU1NzEgNTMuNzg2NSA3LjI5MDI3IDUzLjQ3ODYgNi45ODI0NEM1My4xNzA4IDYuNjc0NjIgNTIuODA1NCA2LjQzMDQ0IDUyLjQwMzIgNi4yNjM4NEM1Mi4wMDEgNi4wOTcyNSA1MS41Njk5IDYuMDExNSA1MS4xMzQ2IDYuMDExNUM1MC42OTkyIDYuMDExNSA1MC4yNjgyIDYuMDk3MjUgNDkuODY2IDYuMjYzODRDNDkuNDYzOCA2LjQzMDQ0IDQ5LjA5ODMgNi42NzQ2MiA0OC43OTA1IDYuOTgyNDRDNDguNDgyNyA3LjI5MDI3IDQ4LjIzODUgNy42NTU3MSA0OC4wNzE5IDguMDU3OTFDNDcuOTA1MyA4LjQ2MDEgNDcuODE5NiA4Ljg5MTE3IDQ3LjgxOTYgOS4zMjY1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMi41NDQgNDEuNzE2QzEzLjA4MTcgNDAuMTkzIDEzLjUxODEgMzguNjM2MSAxMy44NTA1IDM3LjA1NTVDMTQuNDA3MiAzNC45MjM0IDE0LjY3NjEgMzIuNzI2NCAxNC42NSAzMC41MjNDMTQuNTQ5IDI5Ljg0NDYgMTQuMjM2MyAyOS4yMTU0IDEzLjc1NjYgMjguNzI1MkMxMy4yNzY5IDI4LjIzNSAxMi42NTQ2IDI3LjkwODcgMTEuOTc4NSAyNy43OTNDMTAuNTE2IDI3LjQ4MSAxMC4wMjg1IDI2Ljk5MzUgNi43MzMwNSAyOC42NTFDNS42MDExMiAyOS4xMzk0IDQuNTY5NjYgMjkuODMzNyAzLjY5MTA1IDMwLjY5ODVDMy4wODY1NSAzMS4yNDQ1IDMuMzAxMDUgMzIuNTMxNSAzLjY5MTA1IDMzLjM1MDVDNC4wODEwNSAzNC4xNjk1IDQuOTc4MDUgMzUuMTI1IDUuNzc3NTUgMzQuOTg4NUM2LjAxNTMxIDM0Ljk5NDggNi4yNTI0OSAzNC45NjE4IDYuNDc5NTUgMzQuODkxTDYuMzYyNTUgMzUuMzk4QzYuMDEwNzQgMzYuOTg2NCA1Ljc1Njc3IDM4LjU5NSA1LjYwMjA1IDQwLjIxNDVDMy44Mjc1NSAzOS45ODA1IDIuMzY1MDUgNDAuMjE0NSAyLjAxNDA1IDQxLjgxMzVDMS45MTU5OCA0Mi4zMTA4IDEuOTkyMzggNDIuODI2OCAyLjIzMDM3IDQzLjI3NDNDMi40NjgzNiA0My43MjE5IDIuODUzMzkgNDQuMDczNyAzLjMyMDU1IDQ0LjI3MDVDNC44NDg2MyA0NC44NzQ3IDYuNDM3MjcgNDUuMzEyNyA4LjA1OTA1IDQ1LjU3N0M5LjY0NDMxIDQ2LjAxNjMgMTEuMjcyMSA0Ni4yODQzIDEyLjkxNDUgNDYuMzc2NUMxMy40MiA0Ni4zODY0IDEzLjkxMzcgNDYuMjIzOCAxNC4zMTQzIDQ1LjkxNTRDMTQuNzE0OSA0NS42MDY5IDE0Ljk5ODQgNDUuMTcxMiAxNS4xMTggNDQuNjhDMTUuNDg4NSA0My4wNjE1IDE0LjI2IDQyLjI2MiAxMi41NDQgNDEuNzE2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNOS41ODQ3MiAzMi4zOTUxQzkuNTg0NzIgNTUuMjEwMSAzNy40Njk3IDc4LjAyNTEgNDAuMDA0NyA3OC4wMjUxQzQyLjUzOTcgNzguMDI1MSA3MC40MjQ3IDU1LjIxMDEgNzAuNDI0NyAzMi4zOTUxQzcwLjQyNDcgMTQuMTQzMSA2MC4yODQ3IDEuOTc1MSA0MC4wMDQ3IDEuOTc1MUMxOS43MjQ3IDEuOTc1MSA5LjU4NDcyIDE0LjE0MzEgOS41ODQ3MiAzMi4zOTUxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDcuMTc1OCA3LjgwNTU0QzUwLjczODUgOC4zNDI1IDU0LjA4MTEgOS44NjE4NSA1Ni44MjgzIDEyLjE5M1wiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcuMzMyIDMyLjM5NTFDMjcuMzMyIDM1Ljc1NjcgMjguNjY3NCAzOC45ODA2IDMxLjA0NDUgNDEuMzU3N0MzMy40MjE1IDQzLjczNDcgMzYuNjQ1NCA0NS4wNzAxIDQwLjAwNyA0NS4wNzAxQzQzLjM2ODYgNDUuMDcwMSA0Ni41OTI2IDQzLjczNDcgNDguOTY5NiA0MS4zNTc3QzUxLjM0NjYgMzguOTgwNiA1Mi42ODIgMzUuNzU2NyA1Mi42ODIgMzIuMzk1MUM1Mi42ODIgMjkuMDMzNSA1MS4zNDY2IDI1LjgwOTUgNDguOTY5NiAyMy40MzI1QzQ2LjU5MjYgMjEuMDU1NSA0My4zNjg2IDE5LjcyMDEgNDAuMDA3IDE5LjcyMDFDMzYuNjQ1NCAxOS43MjAxIDMzLjQyMTUgMjEuMDU1NSAzMS4wNDQ1IDIzLjQzMjVDMjguNjY3NCAyNS44MDk1IDI3LjMzMiAyOS4wMzM1IDI3LjMzMiAzMi4zOTUxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFNlYXJjaCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzAuNTQyNCAyNy4xODcyQzI4LjU5MjQgNDIuMjgwMiA0NS4wMTE0IDU5Ljc5MTIgNDYuNjg4NCA2MC4wMjUyQzQ4LjM2NTQgNjAuMjU5MiA2OC44MDE0IDQ3LjU4NDIgNzAuNzkwNCAzMi40OTEyQzcyLjM4OTQgMjAuNDIwNyA2Ni43MzQ0IDExLjQ4OTcgNTMuMjQwNCA5LjcxNTIxQzM5Ljc0NjQgNy45NDA3MSAzMi4xNDE0IDE1LjExNjcgMzAuNTQyNCAyNy4xODcyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuNTQ5OCAxNC4yMDAyQzU5Ljg2MDcgMTQuODY2MiA2MS45NDA0IDE2LjE2MjYgNjMuNTU1OCAxNy45NDQyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Mi4yMDMxIDI5LjgzOUM0Mi4yMDMxIDMyLjA4MzUgNDMuMDk0OCAzNC4yMzYxIDQ0LjY4MTkgMzUuODIzMkM0Ni4yNjkgMzcuNDEwMyA0OC40MjE2IDM4LjMwMiA1MC42NjYxIDM4LjMwMkM1Mi45MTA3IDM4LjMwMiA1NS4wNjMzIDM3LjQxMDMgNTYuNjUwNCAzNS44MjMyQzU4LjIzNzUgMzQuMjM2MSA1OS4xMjkxIDMyLjA4MzUgNTkuMTI5MSAyOS44MzlDNTkuMTI5MSAyNy41OTQ1IDU4LjIzNzUgMjUuNDQxOSA1Ni42NTA0IDIzLjg1NDdDNTUuMDYzMyAyMi4yNjc2IDUyLjkxMDcgMjEuMzc2IDUwLjY2NjEgMjEuMzc2QzQ4LjQyMTYgMjEuMzc2IDQ2LjI2OSAyMi4yNjc2IDQ0LjY4MTkgMjMuODU0N0M0My4wOTQ4IDI1LjQ0MTkgNDIuMjAzMSAyNy41OTQ1IDQyLjIwMzEgMjkuODM5WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMy42OTI1IDEzLjk5NzhDMjQuODEwMyAxNC42MTYxIDI2LjAwNTYgMTQuOTg2MiAyNy4wMTU1IDE1LjAyNjZDMjguMDI1NCAxNS4wNjcgMjguNzY3MSAxNC43NzQ1IDI5LjA3NzYgMTQuMjEzM0MyOS4zODggMTMuNjUyMSAyOS4yNDE2IDEyLjg2ODMgMjguNjcwNyAxMi4wMzQzQzI4LjA5OTggMTEuMjAwMyAyNy4xNTExIDEwLjM4NDQgMjYuMDMzMyA5Ljc2NjA1QzI0LjkxNTUgOS4xNDc3MiAyMy43MjAyIDguNzc3NjQgMjIuNzEwMyA4LjczNzIxQzIyLjIxMDMgOC43MTcyIDIxLjc3MDggOC43Nzg3MiAyMS40MTcgOC45MTgyNkMyMS4wNjMyIDkuMDU3OCAyMC44MDIgOS4yNzI2MyAyMC42NDgzIDkuNTUwNDlDMjAuNDk0NiA5LjgyODM1IDIwLjQ1MTQgMTAuMTYzOCAyMC41MjEyIDEwLjUzNzdDMjAuNTkxIDEwLjkxMTUgMjAuNzcyNCAxMS4zMTY1IDIxLjA1NTEgMTEuNzI5NUMyMS42MjYgMTIuNTYzNSAyMi41NzQ3IDEzLjM3OTQgMjMuNjkyNSAxMy45OTc4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS42MzcgNy40NzczMkMzMC4yODg1IDguNTc1OSAzMS4xMzI0IDkuNDk5NTUgMzEuOTgzIDEwLjA0NTFDMzIuODMzNiAxMC41OTA2IDMzLjYyMTQgMTAuNzEzNCAzNC4xNzI5IDEwLjM4NjNDMzQuNzI0NCAxMC4wNTkzIDM0Ljk5NDUgOS4zMDkyIDM0LjkyMzggOC4zMDExMkMzNC44NTMxIDcuMjkzMDQgMzQuNDQ3NCA2LjEwOTU0IDMzLjc5NiA1LjAxMDk2QzMzLjE0NDUgMy45MTIzOCAzMi4zMDA2IDIuOTg4NzIgMzEuNDQ5OSAyLjQ0MzE4QzMwLjU5OTMgMS44OTc2MyAyOS44MTE2IDEuNzc0ODkgMjkuMjYwMSAyLjEwMTk1QzI4LjcwODUgMi40MjkwMSAyOC40Mzg0IDMuMTc5MDggMjguNTA5MSA0LjE4NzE2QzI4LjU3OTggNS4xOTUyNCAyOC45ODU1IDYuMzc4NzQgMjkuNjM3IDcuNDc3MzJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE4LjI0MTkgMjEuMjM0OEMxOC4yNTMgMjEuNTUyMiAxOC4zODg0IDIxLjg2MjEgMTguNjQwNSAyMi4xNDY4QzE4Ljg5MjYgMjIuNDMxNiAxOS4yNTY0IDIyLjY4NTcgMTkuNzExMiAyMi44OTQ2QzIwLjE2NiAyMy4xMDM0IDIwLjcwMjggMjMuMjYzIDIxLjI5MSAyMy4zNjQyQzIxLjg3OTMgMjMuNDY1MyAyMi41MDc0IDIzLjUwNjEgMjMuMTM5NSAyMy40ODQxQzIzLjc3MTYgMjMuNDYyMSAyNC4zOTU0IDIzLjM3NzkgMjQuOTc1MiAyMy4yMzYyQzI1LjU1NSAyMy4wOTQ0IDI2LjA3OTUgMjIuODk4IDI2LjUxODYgMjIuNjU4QzI2Ljk1NzggMjIuNDE4MSAyNy4zMDMxIDIyLjEzOTQgMjcuNTM0OSAyMS44Mzc4QzI3Ljc2NjYgMjEuNTM2MiAyNy44ODAyIDIxLjIxNzYgMjcuODY5MSAyMC45MDAzQzI3Ljg1ODEgMjAuNTgzIDI3LjcyMjcgMjAuMjczIDI3LjQ3MDYgMTkuOTg4M0MyNy4yMTg1IDE5LjcwMzUgMjYuODU0NyAxOS40NDk0IDI2LjM5OTkgMTkuMjQwNUMyNS45NDUxIDE5LjAzMTcgMjUuNDA4MyAxOC44NzIxIDI0LjgyMDEgMTguNzcwOUMyNC4yMzE4IDE4LjY2OTggMjMuNjAzNyAxOC42MjkgMjIuOTcxNiAxOC42NTFDMjIuMzM5NCAxOC42NzMgMjEuNzE1NyAxOC43NTcyIDIxLjEzNTkgMTguODk5QzIwLjU1NjEgMTkuMDQwNyAyMC4wMzE2IDE5LjIzNzEgMTkuNTkyNCAxOS40NzcxQzE5LjE1MzIgMTkuNzE3IDE4LjgwNzkgMTkuOTk1NyAxOC41NzYyIDIwLjI5NzNDMTguMzQ0NSAyMC41OTg5IDE4LjIzMDkgMjAuOTE3NSAxOC4yNDE5IDIxLjIzNDhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM1LjQxNzUgMzcuNzU3NUMyNi43MjA1IDMwLjExMzUgMTYuNjU4NSAyOS44NDA1IDguMTE3NTEgMzkuNTEyNUMtMC40MjM0ODkgNDkuMTg0NSAxLjE1NjAxIDU5LjEyOTUgOS44NzI1MSA2Ni44MTI1QzE3LjMyMTUgNzMuMzg0IDI1Ljc2NSA3NC40OTU1IDMzLjM4OTUgNjguNjA2NUMzNC4xNSA2OS42MDEgMzUuMDY2NSA3MC43MTI1IDM2LjE5NzUgNzEuOTYwNUM0NC4zODc1IDgxLjA2NyA0Ny4yOTMgNzcuODEwNSA0OS4yMDQgNzUuNzA0NUM1MS4xMTUgNzMuNTk4NSA1My44ODQgNzAuMjY0IDQzLjgwMjUgNjMuMzAyNUM0Mi40Mzc1IDYyLjM0NyA0MS4yMjg1IDYxLjU2NyA0MC4xMzY1IDYwLjk0M0M0NS4wNyA1Mi41Nzc1IDQyLjg4NiA0NC4zMjkgMzUuNDE3NSAzNy43NTc1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTAuNTM1NiA1Mi4yNjU1QzEwLjUzNTYgNTMuODU4MyAxMC44NDk0IDU1LjQzNTUgMTEuNDU4OSA1Ni45MDcxQzEyLjA2ODQgNTguMzc4NiAxMi45NjE5IDU5LjcxNTcgMTQuMDg4MSA2MC44NDJDMTUuMjE0NCA2MS45NjgzIDE2LjU1MTUgNjIuODYxNyAxOC4wMjMxIDYzLjQ3MTJDMTkuNDk0NiA2NC4wODA4IDIxLjA3MTggNjQuMzk0NSAyMi42NjQ2IDY0LjM5NDVDMjQuMjU3NCA2NC4zOTQ1IDI1LjgzNDcgNjQuMDgwOCAyNy4zMDYyIDYzLjQ3MTJDMjguNzc3OCA2Mi44NjE3IDMwLjExNDkgNjEuOTY4MyAzMS4yNDExIDYwLjg0MkMzMi4zNjc0IDU5LjcxNTcgMzMuMjYwOCA1OC4zNzg2IDMzLjg3MDQgNTYuOTA3MUMzNC40Nzk5IDU1LjQzNTUgMzQuNzkzNiA1My44NTgzIDM0Ljc5MzYgNTIuMjY1NUMzNC43OTM2IDQ5LjA0ODcgMzMuNTE1OCA0NS45NjM2IDMxLjI0MTEgNDMuNjg5QzI4Ljk2NjUgNDEuNDE0NCAyNS44ODE1IDQwLjEzNjUgMjIuNjY0NiA0MC4xMzY1QzE5LjQ0NzggNDAuMTM2NSAxNi4zNjI4IDQxLjQxNDQgMTQuMDg4MSA0My42ODlDMTEuODEzNSA0NS45NjM2IDEwLjUzNTYgNDkuMDQ4NyAxMC41MzU2IDUyLjI2NTVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjM2OTEgNDUuMDdDMjAuMTExNCA0NC4zNDA1IDIxLjA4MDggNDMuODg2NyAyMi4xMTY1IDQzLjc4MzlDMjMuMTUyMSA0My42ODEgMjQuMTkxOSA0My45MzUzIDI1LjA2MzEgNDQuNTA0NVwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjM2OTEgNDUuMDdDMjAuMTExNCA0NC4zNDA1IDIxLjA4MDggNDMuODg2NyAyMi4xMTY1IDQzLjc4MzlDMjMuMTUyMSA0My42ODEgMjQuMTkxOSA0My45MzUzIDI1LjA2MzEgNDQuNTA0NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjQuNzcwNSAzNS45NDRDMjcuMDc4NSAzNi4wNDMzIDI5LjI2MTUgMzcuMDE5NyAzMC44NzQgMzguNjc0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFNldHRpbmcgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY5LjQyIDQ1LjhDNzAuMTkzIDQxLjk3MiA3MC4xOTMgMzguMDI4IDY5LjQyIDM0LjJDNzYuODQgMjcuNTggNzYuMDQgMjQuNDIgNzMuNzggMjAuNUM3MS41MiAxNi41OCA2OS4xNiAxNC4zMiA1OS43OCAxNy40MkM1Ni44NTQ2IDE0Ljg2MDkgNTMuNDU3OCAxMi44OTc1IDQ5Ljc4IDExLjY0QzQ3LjY2IDEuODggNDQuNTIgMSA0MCAxQzM1LjQ4IDEgMzIuMzQgMS44NCAzMC4zIDExLjY0QzI2LjYyMjIgMTIuODk3NSAyMy4yMjU0IDE0Ljg2MDkgMjAuMyAxNy40MkMxMC44OCAxNC4zMiA4LjU0MDAyIDE2LjU0IDYuMzAwMDIgMjAuNUM0LjA2MDAyIDI0LjQ2IDMuMTIwMDIgMjcuNTQgMTAuNTggMzQuMkM5LjgwNjQyIDM4LjAyOCA5LjgwNjQyIDQxLjk3MiAxMC41OCA0NS44QzMuMTYwMDIgNTIuNDIgNC4wMDAwMiA1NS41OCA2LjIyMDAyIDU5LjVDOC40NDAwMiA2My40MiAxMC44NCA2NS42OCAyMC4yMiA2Mi41OEMyMy4xNDU0IDY1LjEzOTIgMjYuNTQyMiA2Ny4xMDI2IDMwLjIyIDY4LjM2QzMyLjIyIDc4LjEyIDM1LjQgNzkgMzkuOTIgNzlDNDQuNDQgNzkgNDcuNTggNzguMTYgNDkuNjIgNjguMzZDNTMuMjk3OCA2Ny4xMDI2IDU2LjY5NDYgNjUuMTM5MiA1OS42MiA2Mi41OEM2OS4wNCA2NS42OCA3MS4zOCA2My40NiA3My42MiA1OS41Qzc1Ljg2IDU1LjU0IDc2Ljg4IDUyLjQ2IDY5LjQyIDQ1LjhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNS4yNiA0MEMyNS4yNiA0My45MDkyIDI2LjgxMyA0Ny42NTg0IDI5LjU3NzIgNTAuNDIyOEMzMi4zNDE2IDUzLjE4NyAzNi4wOTA4IDU0Ljc0IDQwIDU0Ljc0QzQzLjkwOTIgNTQuNzQgNDcuNjU4NCA1My4xODcgNTAuNDIyOCA1MC40MjI4QzUzLjE4NyA0Ny42NTg0IDU0Ljc0IDQzLjkwOTIgNTQuNzQgNDBDNTQuNzQgMzYuMDkwOCA1My4xODcgMzIuMzQxNiA1MC40MjI4IDI5LjU3NzJDNDcuNjU4NCAyNi44MTMgNDMuOTA5MiAyNS4yNiA0MCAyNS4yNkMzNi4wOTA4IDI1LjI2IDMyLjM0MTYgMjYuODEzIDI5LjU3NzIgMjkuNTc3MkMyNi44MTMgMzIuMzQxNiAyNS4yNiAzNi4wOTA4IDI1LjI2IDQwWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPVwiIzIzMUYyMFwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MC4yNiAxOC4zOEM1My4zNDg0IDE5LjY2MjkgNTYuMTM0NiAyMS41NzcyIDU4LjQ0IDI0QzU5LjUwMDQgMjMuNTY2OCA2MC41OTg0IDIzLjIzMiA2MS43MiAyM1wiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBTdGFyID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS41NjggMjcuOTg4QzcxLjc2MzcgMjYuMTg5NiA2Ny43NDc0IDI0Ljg3OTIgNjMuNjE0NSAyNC4wODhDNjAuNTA3NCAyMy40NzQyIDU3LjM1OTQgMjMuMDg5NyA1NC4xOTYgMjIuOTM3NUM1My4xMDYgMjAuMTY4OCA1MS44MDIxIDE3LjQ4OTIgNTAuMjk2IDE0LjkyM0M0OC4yOTQ3IDExLjIyNSA0NS44MzgxIDcuNzkyMzIgNDIuOTgzNSA0LjcwNTAyQzQyLjA5MDYgMy44NjczNSA0MC45MTIzIDMuNDAxMTIgMzkuNjg4IDMuNDAxMTJDMzguNDYzNyAzLjQwMTEyIDM3LjI4NTMgMy44NjczNSAzNi4zOTI1IDQuNzA1MDJDMzMuNTM3OCA3LjgyMDc3IDMxLjA4MTQgMTEuMjc5MyAyOS4wOCAxNS4wMDFDMjcuNjQ0IDE3LjU5OTggMjYuMzgwMyAyMC4yOTAxIDI1LjI5NyAyMy4wNTQ1QzIyLjMwNjMgMjMuMjE2NSAxOS4zMzMxIDIzLjYxNDMgMTYuNDA1IDI0LjI0NEMxMi4yNzI2IDI1LjAxMzQgOC4yNTEwNyAyNi4yOTA2IDQuNDMxOTcgMjguMDQ2NUMzLjM3ODc0IDI4LjY1NzkgMi41OTM3IDI5LjY0MjcgMi4yMzI1MSAzMC44MDU4QzEuODcxMzIgMzEuOTY4OCAxLjk2MDM2IDMzLjIyNTEgMi40ODE5NyAzNC4zMjU1QzQuNTI5NjEgMzcuOTkzOCA3LjAyNTI0IDQxLjM5MzQgOS45MTE0NyA0NC40NDZDMTEuOTczOCA0Ni42NDU2IDE0LjE3NTMgNDguNzEwMyAxNi41MDI1IDUwLjYyNzVDMTUuNjIgNTMuNzIyMyAxNS4wMDAzIDU2Ljg4NiAxNC42NSA2MC4wODVDMTQuMTI4MyA2NC4yNDgyIDE0LjEyODMgNjguNDYwMyAxNC42NSA3Mi42MjM1QzE0Ljg3ODUgNzMuODMwNyAxNS41NTggNzQuOTA1NiAxNi41NTA0IDc1LjYyOTlDMTcuNTQyNyA3Ni4zNTQzIDE4Ljc3MzYgNzYuNjczOCAxOS45OTMgNzYuNTIzNUMyNC4xMTAyIDc1LjcyMDMgMjguMTEyMiA3NC40MTAzIDMxLjkwNzUgNzIuNjIzNUMzNC41OTQ3IDcxLjM0MzUgMzcuMTk5NyA2OS44OTc4IDM5LjcwNzUgNjguMjk0NUM0Mi4yMTAzIDY5LjkwNjEgNDQuODE1OCA3MS4zNTIyIDQ3LjUwNzUgNzIuNjIzNUM1MS4zMDE3IDc0LjQxMjkgNTUuMzA0IDc1LjcyMyA1OS40MjIgNzYuNTIzNUM2MC42NDE0IDc2LjY3MzggNjEuODcyMiA3Ni4zNTQzIDYyLjg2NDYgNzUuNjI5OUM2My44NTY5IDc0LjkwNTYgNjQuNTM2NCA3My44MzA3IDY0Ljc2NSA3Mi42MjM1QzY1LjI4NjYgNjguNDYwMyA2NS4yODY2IDY0LjI0ODIgNjQuNzY1IDYwLjA4NUM2NC40NDMzIDU3LjAyMzQgNjMuODgyNiA1My45OTE3IDYzLjA4OCA1MS4wMTc1QzY1LjYzODcgNDkuMDEzOCA2OC4wMDc0IDQ2Ljc4ODcgNzAuMTY2NSA0NC4zNjhDNzMuMDUwMyA0MS4zMDg4IDc1LjU1MTYgMzcuOTEwMyA3Ny42MTU1IDM0LjI0NzVDNzguMTMyNyAzMy4xMzkyIDc4LjIwOSAzMS44NzU2IDc3LjgyODcgMzAuNzEzMkM3Ny40NDg1IDI5LjU1MDcgNzYuNjQwMiAyOC41NzY0IDc1LjU2OCAyNy45ODhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Mi45NjM5IDEyLjM4ODFDNDQuODM0NyAxNS4wMDQ5IDQ2LjQ1MzkgMTcuNzkyOCA0Ny43OTk5IDIwLjcxNDZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEFkZCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuNzEwMSAyNi41MjU1QzcyLjg3NzEgMjUuMDA0NSA2NC43NDU2IDI0LjMwMjUgNTYuMDI5MSAyMy45NzFDNTUuNjk3NiAxNS4yNTQ1IDU0Ljk5NTYgNy4xMjI5OCA1My40NzQ2IDUuMjg5OThDNTIuMjA3MSAyLjI2NzQ4IDQ1LjUzODEgMS45NzQ5OCA0MC4wMDAxIDEuOTc0OThDMzQuNDYyMSAxLjk3NDk4IDI3Ljc3MzYgMi4yNjc0OCAyNi41MjU2IDUuMjg5OThDMjUuMDA0NiA3LjEyMjk4IDI0LjI4MzEgMTUuMjU0NSAyMy45NzExIDIzLjk3MUMxNS4yNTQ2IDI0LjMwMjUgNy4xMjMxIDI1LjAwNDUgNS4yOTAxIDI2LjUyNTVDMi4yNjc2IDI3Ljc5MyAxLjk3NTEgMzQuNDYyIDEuOTc1MSA0MEMxLjk3NTEgNDUuNTM4IDIuMjY3NiA1Mi4yMDcgNS4yOTAxIDUzLjQ3NDVDNy4xMjMxIDU0Ljk5NTUgMTUuMjU0NiA1NS42OTc1IDIzLjk3MTEgNTYuMDI5QzI0LjI4MzEgNjQuNzQ1NSAyNS4wMDQ2IDcyLjg3NyAyNi41MjU2IDc0LjcxQzI3Ljc3MzYgNzcuNzMyNSAzNC40NjIxIDc4LjAyNSA0MC4wMDAxIDc4LjAyNUM0NS41MzgxIDc4LjAyNSA1Mi4yMDcxIDc3LjczMjUgNTMuNDc0NiA3NC43MUM1NC45OTU2IDcyLjg3NyA1NS42OTc2IDY0Ljc0NTUgNTYuMDI5MSA1Ni4wMjlDNjQuNzQ1NiA1NS42OTc1IDcyLjg3NzEgNTQuOTk1NSA3NC43MTAxIDUzLjQ3NDVDNzcuNzMyNiA1Mi4yMDcgNzguMDI1MSA0NS41MzggNzguMDI1MSA0MEM3OC4wMjUxIDM0LjQ2MiA3Ny43MzI2IDI3Ljc5MyA3NC43MTAxIDI2LjUyNTVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My42NDY1IDYuOTg2NDVDNDguMTcwNSA3LjEyMjk1IDQ5LjM5OSA2Ljk4NjQ1IDUwLjA0MjUgOS4xMzE0NVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBBcHBsaWNhdGlvbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuNzM4MyAxNS42NzYzQzQzLjg4NCAxNS45NzU3IDQ0LjE0NTcgMTYuMjE1IDQ0LjUwODUgMTYuMzgwNkM0NC44NzE0IDE2LjU0NjIgNDUuMzI4MiAxNi42MzQ4IDQ1Ljg1MyAxNi42NDE0QzQ2LjM3NzggMTYuNjQ4IDQ2Ljk2MDIgMTYuNTcyNCA0Ny41NjcxIDE2LjQxOUM0OC4xNzM5IDE2LjI2NTUgNDguNzkzMyAxNi4wMzczIDQ5LjM4OTggMTUuNzQ3MkM0OS45ODYzIDE1LjQ1NzEgNTAuNTQ4MyAxNS4xMTA5IDUxLjA0MzcgMTQuNzI4M0M1MS41MzkxIDE0LjM0NTggNTEuOTU4MSAxMy45MzQzIDUyLjI3NjkgMTMuNTE3NUM1Mi41OTU3IDEzLjEwMDcgNTIuODA4IDEyLjY4NjcgNTIuOTAxOCAxMi4yOTkxQzUyLjk5NTUgMTEuOTExNSA1Mi45Njg3IDExLjU1NzkgNTIuODIzMSAxMS4yNTg1QzUyLjY3NzQgMTAuOTU5MSA1Mi40MTU3IDEwLjcxOTggNTIuMDUyOSAxMC41NTQyQzUxLjY5IDEwLjM4ODcgNTEuMjMzMiAxMC4zIDUwLjcwODQgMTAuMjkzNUM1MC4xODM2IDEwLjI4NjkgNDkuNjAxMiAxMC4zNjI1IDQ4Ljk5NDMgMTAuNTE1OUM0OC4zODc1IDEwLjY2OTMgNDcuNzY4MSAxMC44OTc2IDQ3LjE3MTYgMTEuMTg3N0M0Ni41NzUxIDExLjQ3NzcgNDYuMDEzMSAxMS44MjM5IDQ1LjUxNzcgMTIuMjA2NUM0NS4wMjIzIDEyLjU4OTEgNDQuNjAzMyAxMy4wMDA1IDQ0LjI4NDUgMTMuNDE3M0M0My45NjU3IDEzLjgzNDEgNDMuNzUzNCAxNC4yNDgyIDQzLjY1OTYgMTQuNjM1OEM0My41NjU5IDE1LjAyMzQgNDMuNTkyNyAxNS4zNzY5IDQzLjczODMgMTUuNjc2M1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDguNTkwOSAyNS4yMzI3QzQ5LjI2MTIgMjUuMjk2OCA0OS45MzM1IDI1LjI5MzEgNTAuNTY4MyAyNS4yMjJDNTEuMjAzMiAyNS4xNTA4IDUxLjc4NzcgMjUuMDEzNiA1Mi4yODc2IDI0LjgxODNDNTIuNzg3NCAyNC42MjMxIDUzLjE5MjUgMjQuMzczOCA1My40Nzg5IDI0LjA4NTFDNTMuNzY1NCAyMy43OTY0IDUzLjkyNzQgMjMuNDc0MSA1My45NTU2IDIzLjEzNzNDNTMuOTgzNyAyMi44MDA0IDUzLjg3NzMgMjIuNDU1OCA1My42NDI2IDIyLjEyMzZDNTMuNDA4IDIxLjc5MTQgNTMuMDQ5OCAyMS40Nzg0IDUyLjU4OTMgMjEuMjAzMUM1Mi4xMjg3IDIwLjkyNzcgNTEuNTc1IDIwLjY5NTQgNTAuOTYwNyAyMC41MkM1MC4zNDY0IDIwLjM0NDYgNDkuNjg0IDIwLjIyOTYgNDkuMDEyNCAyMC4xODE3QzQ4LjM0MjEgMjAuMTE3NiA0Ny42Njk4IDIwLjEyMTMgNDcuMDM1IDIwLjE5MjRDNDYuNDAwMSAyMC4yNjM2IDQ1LjgxNTYgMjAuNDAwOCA0NS4zMTU3IDIwLjU5NjFDNDQuODE1OSAyMC43OTEzIDQ0LjQxMDggMjEuMDQwNiA0NC4xMjQ0IDIxLjMyOTNDNDMuODM3OSAyMS42MTggNDMuNjc1OSAyMS45NDAzIDQzLjY0NzggMjIuMjc3MUM0My42MTk3IDIyLjYxNCA0My43MjYgMjIuOTU4NiA0My45NjA3IDIzLjI5MDhDNDQuMTk1MyAyMy42MjMgNDQuNTUzNSAyMy45MzYgNDUuMDE0MSAyNC4yMTEzQzQ1LjQ3NDYgMjQuNDg2NyA0Ni4wMjg0IDI0LjcxOSA0Ni42NDI2IDI0Ljg5NDRDNDcuMjU2OSAyNS4wNjk4IDQ3LjkxOTMgMjUuMTg0OCA0OC41OTA5IDI1LjIzMjdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM4Ljc0OTcgMTAuNjAyNUMzOS4wMjczIDEwLjc4ODcgMzkuMzc0NiAxMC44NjMgMzkuNzcxNCAxMC44MjExQzQwLjE2ODIgMTAuNzc5MiA0MC42MDY4IDEwLjYyMiA0MS4wNjE5IDEwLjM1ODVDNDEuNTE3MSAxMC4wOTUxIDQxLjk3OTggOS43MzA1IDQyLjQyMzQgOS4yODU4NEM0Mi44NjcgOC44NDExOCA0My4yODI4IDguMzI1MTkgNDMuNjQ2OCA3Ljc2NzU4QzQ0LjAxMDggNy4yMDk5NiA0NC4zMTU5IDYuNjIxNzMgNDQuNTQ0NSA2LjAzNjczQzQ0Ljc3MyA1LjQ1MTczIDQ0LjkyMDYgNC44ODE1MiA0NC45Nzg2IDQuMzU4OUM0NS4wMzY2IDMuODM2MjggNDUuMDA0IDMuMzcxNTcgNDQuODgyNiAyLjk5MTUzQzQ0Ljc2MTIgMi42MTE0OCA0NC41NTM1IDIuMzIzNiA0NC4yNzEzIDIuMTQ0NDVDNDMuOTkzNyAxLjk1ODI4IDQzLjY0NjQgMS44ODM5OSA0My4yNDk2IDEuOTI1ODZDNDIuODUyOCAxLjk2NzczIDQyLjQxNDIgMi4xMjQ5MiA0MS45NTkxIDIuMzg4NEM0MS41MDM5IDIuNjUxODggNDEuMDQxMiAzLjAxNjQ1IDQwLjU5NzYgMy40NjExMUM0MC4xNTQgMy45MDU3NyAzOS43MzgyIDQuNDIxNzYgMzkuMzc0MiA0Ljk3OTM3QzM5LjAxMDIgNS41MzY5OCAzOC43MDUxIDYuMTI1MjIgMzguNDc2NSA2LjcxMDIyQzM4LjI0OCA3LjI5NTIxIDM4LjEwMDQgNy44NjU0MyAzOC4wNDI0IDguMzg4MDVDMzcuOTg0NCA4LjkxMDY3IDM4LjAxNyA5LjM3NTM3IDM4LjEzODQgOS43NTU0MkMzOC4yNTk4IDEwLjEzNTUgMzguNDY3NSAxMC40MjMzIDM4Ljc0OTcgMTAuNjAyNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjEuMDg2MSA5LjQ4MjUyQzE5LjM5OTkgOS44MzM2MyAxNy43MjM1IDEwLjI0NTYgMTYuMTg2OSAxMC42NzI3QzEwLjA2NjkgMTIuMzg5MyAyLjExNzYgMTUuMjc5MyAxLjQ3NDkxIDE5LjA2NjdDMC4zNjc2MDggMjEuMTYxMiAyLjQxMjI5IDMwLjE4ODggNC41MDcyNSAzNy41NDFDNi42MDIyMSA0NC44OTMxIDkuNDcyMjkgNTMuNzMyNCAxMS40ODAzIDU0Ljg4NDhDMTMuOTk3MiA1Ny43NzMgMjIuMjkwMyA1Ni4xMzMxIDI4LjQxMDMgNTQuNDE2NUMzNC41MzA0IDUyLjY5OTkgNDIuNDYyNCA0OS44MTg5IDQzLjExNDEgNDYuMDQ4OEM0NC4yMTI0IDQzLjkzNzEgNDIuMTc2NyAzNC45MjY3IDQwLjA4MTggMjcuNTc0NkMzOS40MTM3IDI1LjE5NiAzOC42NzM2IDIyLjY3OTEgMzcuODgzOCAyMC4zMjAxQzM2LjkzNDEgMTcuMjc0NyAyNC40MzIgOC43NzIwMyAyMS4wODYxIDkuNDgyNTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMC43ODA0IDE0LjYzMzZDMjEuNjgxMSAxNy44ODA1IDIyLjU5OTEgMjEuMTE4MyAyNC42Njg3IDIyLjMwNDVDMjYuNzM4MyAyMy40OTA3IDMwLjA3MDkgMjIuNTAxMyAzMy4xOTUyIDIxLjU3NjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI0LjkyMDkgMTMuOTcwN0MyNi4zOTY4IDE0LjU4MDQgMjcuNzg4MSAxNS4zNzc4IDI5LjA2MDEgMTYuMzQzMVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY1LjE2NiAzMi43NjU2QzU5LjU4MzIgMzYuOTkwNSA1NC41NjM0IDQxLjkxMTkgNTAuMjI5IDQ3LjQxMDFDNDguNDc0IDQ5LjUxNjEgNDYuNzk3IDUxLjU0NDEgNDUuMjc2IDUzLjQ1NTFDNDAuMjA2IDQ5LjIwNDEgMzYuMTUgNDYuMjAxMSAzNC41MzE1IDQ1Ljg1MDFDMzEuNzA0IDQ0LjYwMjEgMjguNDI4IDQ3LjYwNTEgMjYuMzAyNSA1MC4xNDAxQzI0LjE3NyA1Mi42NzUxIDIxLjgzNyA1Ni40MTkxIDIzLjU1MyA1OC45NzM2QzI0LjEzOCA2MC41OTIxIDI3LjY4NyA2NC4xMDIxIDMyLjcxOCA2OC4yOTQ2QzM4Ljc0MzUgNzMuMzQ1MSA0My4wOTIgNzcuMTQ3NiA0NS43MDUgNzcuNjE1NkM0OS42MDUgNzkuMzcwNiA1Mi43ODM1IDc0LjcxMDEgNjUuMjA1IDU5Ljg3MDZDNzEuOTMyNSA1MS44MzY2IDc2LjI4MSA0NS4wODk2IDc3LjEzOSA0Mi43MzAxQzc5LjUzNzUgMzguNTM3NiA3Ny40NTEgMzUuMzU5MSA3NC45MTYgMzMuMjMzNkM3Mi4zODEgMzEuMTA4MSA2OC44NzEgMjkuNjg0NiA2NS4xNjYgMzIuNzY1NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYyLjk0MjkgMzkuMjIwMkM2NS4zNDE0IDM2Ljc2MzIgNjcuNTY0NCAzNC40MjMyIDY5LjUxNDQgMzQuMzA2MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBCYWJ5ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS45NTc2IDQxLjcxNjJDMzEuNDU1OCA0MC4xNzM3IDMyLjYxODkgMzguMzM4MSAzMy4zNzQgMzYuMzI0N0MzNC4xMjkgMzQuMzExMyAzNC40NTk2IDMyLjE2MzUgMzQuMzQ1MSAzMC4wMTYyQzM0LjM0NTEgMjAuNzE0NyAyOS4yMzYxIDE0LjUzMzIgMTkuMDE4MSAxNC41MzMyQzguODAwMSAxNC41MzMyIDMuNjcxNiAyMC43MTQ3IDMuNjcxNiAzMC4wMTYyQzMuNTU3MDYgMzIuMTYzNSAzLjg4NzY4IDM0LjMxMTMgNC42NDI3MiAzNi4zMjQ3QzUuMzk3NzUgMzguMzM4MSA2LjU2MDg5IDQwLjE3MzcgOC4wNTkxIDQxLjcxNjJDNC4wMjI2IDQ0LjY5OTcgMS45NzUxIDQ5LjYxMzcgMS45NzUxIDU1Ljc5NTJDMS45NzUxIDU5LjIyNzIgNy42NTYxIDYwLjk0MzIgMTkuMDE4MSA2MC45NDMyQzMwLjM4MDEgNjAuOTQzMiAzNi4wNzQxIDU5LjIyNzIgMzYuMTAwMSA1NS43OTUyQzM2LjEwMDEgNDkuNjEzNyAzNC4wMTM2IDQ0LjY5OTcgMjkuOTU3NiA0MS43MTYyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjQuNjczMSAxOC45MDExQzI2LjE2MDggMTkuNDQ2IDI3LjQ1NTggMjAuNDE1NiAyOC4zOTc2IDIxLjY4OTZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS41NjQxIDE0LjQ3NDZDMTguMTY1OSAxNC44Nzk0IDE2Ljk2MyAxNS43Nzk3IDE2LjE4MDYgMTcuMDA3MkMxNS4zOTgxIDE4LjIzNDcgMTUuMDg5NyAxOS43MDUyIDE1LjMxMzEgMjEuMTQzNkMxNS45MzcxIDI0LjMyMjEgMjEuMzE5MSAyMy45MTI2IDIwLjY1NjEgMjAuNTk3NkMyMC4zMjQ2IDE4Ljg4MTYgMTguNTUwMSAxOS43NTkxIDE4LjU1MDEgMTkuNzU5MVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTAuNDk2NiAyOS4wOTk2QzEwLjQ5NjYgMjkuNzgyMyAxMC43NjU3IDMwLjQzNyAxMS4yNDQ4IDMwLjkxOTdDMTEuNzIzOCAzMS40MDI0IDEyLjM3MzYgMzEuNjczNiAxMy4wNTExIDMxLjY3MzZDMTMuNzI4NiAzMS42NzM2IDE0LjM3ODMgMzEuNDAyNCAxNC44NTc0IDMwLjkxOTdDMTUuMzM2NCAzMC40MzcgMTUuNjA1NiAyOS43ODIzIDE1LjYwNTYgMjkuMDk5NkMxNS42MDU2IDI4LjQxNyAxNS4zMzY0IDI3Ljc2MjMgMTQuODU3NCAyNy4yNzk1QzE0LjM3ODMgMjYuNzk2OCAxMy43Mjg2IDI2LjUyNTYgMTMuMDUxMSAyNi41MjU2QzEyLjM3MzYgMjYuNTI1NiAxMS43MjM4IDI2Ljc5NjggMTEuMjQ0OCAyNy4yNzk1QzEwLjc2NTcgMjcuNzYyMyAxMC40OTY2IDI4LjQxNyAxMC40OTY2IDI5LjA5OTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjIuNDExMSAyOS4wOTk2QzIyLjQxMTEgMjkuNzgyMyAyMi42ODAzIDMwLjQzNyAyMy4xNTkzIDMwLjkxOTdDMjMuNjM4NCAzMS40MDI0IDI0LjI4ODEgMzEuNjczNiAyNC45NjU2IDMxLjY3MzZDMjUuNjQzMSAzMS42NzM2IDI2LjI5MjkgMzEuNDAyNCAyNi43NzE5IDMwLjkxOTdDMjcuMjUxIDMwLjQzNyAyNy41MjAxIDI5Ljc4MjMgMjcuNTIwMSAyOS4wOTk2QzI3LjUyMDEgMjguNDE3IDI3LjI1MSAyNy43NjIzIDI2Ljc3MTkgMjcuMjc5NUMyNi4yOTI5IDI2Ljc5NjggMjUuNjQzMSAyNi41MjU2IDI0Ljk2NTYgMjYuNTI1NkMyNC4yODgxIDI2LjUyNTYgMjMuNjM4NCAyNi43OTY4IDIzLjE1OTMgMjcuMjc5NUMyMi42ODAzIDI3Ljc2MjMgMjIuNDExMSAyOC40MTcgMjIuNDExMSAyOS4wOTk2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEzLjkwOTIgMzUuMTI1QzE1LjMzNjQgMzYuMzE4IDE3LjE2MDIgMzYuOTMwNSAxOS4wMTgyIDM2Ljg0MUMyMC44NzU0IDM2LjkyNDggMjIuNjk3MSAzNi4zMTI5IDI0LjEyNzIgMzUuMTI1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS4wMTgxIDQ1LjQ2MDFDMTYuODczNSA0NS40NzU4IDE0Ljc0MDMgNDUuMTQ2NiAxMi43MDAxIDQ0LjQ4NTFDMTIuMzM4MiA0NS4zMzYgMTIuMTUyNSA0Ni4yNTE0IDEyLjE1NDEgNDcuMTc2MUMxMi4wODUgNDguMDkyNyAxMi4yMTM3IDQ5LjAxMzQgMTIuNTMxNCA0OS44NzZDMTIuODQ5MiA1MC43Mzg1IDEzLjM0ODUgNTEuNTIyNyAxMy45OTU3IDUyLjE3NTRDMTQuNjQyOSA1Mi44MjgyIDE1LjQyMjggNTMuMzM0MiAxNi4yODI2IDUzLjY1OTNDMTcuMTQyNCA1My45ODQ0IDE4LjA2MiA1NC4xMjA5IDE4Ljk3OTEgNTQuMDU5NkMxOS44OTU1IDU0LjEyMTIgMjAuODE0NCA1My45ODQ4IDIxLjY3MzMgNTMuNjU5NkMyMi41MzIyIDUzLjMzNDMgMjMuMzExIDUyLjgyOCAyMy45NTY3IDUyLjE3NDhDMjQuNjAyNCA1MS41MjE3IDI1LjA5OTkgNTAuNzM3MiAyNS40MTUzIDQ5Ljg3NDZDMjUuNzMwOCA0OS4wMTIxIDI1Ljg1NjcgNDguMDkxNyAyNS43ODQ2IDQ3LjE3NjFDMjUuNzg2MyA0Ni4yNTE0IDI1LjYwMDUgNDUuMzM2IDI1LjIzODYgNDQuNDg1MUMyMy4yMzAxIDQ1LjEzODYgMjEuMTMwMyA0NS40Njc4IDE5LjAxODEgNDUuNDYwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzUuNDUxMSA1NC4yOTM3Qzc1LjA1MjggNTMuMjA5NCA3NC40NDMgNTIuMjE1MiA3My42NTcxIDUxLjM2ODdDNzUuMDA3NiA0OC43ODk5IDc1LjM0ODMgNDUuODAwMiA3NC42MTI2IDQyLjk4MzdDNzQuNDQyMiA0Mi4yMDc0IDc0LjQ3NjYgNDEuNDAwMSA3NC43MTI1IDQwLjY0MTFDNzQuOTQ4NCAzOS44ODIyIDc1LjM3NzcgMzkuMTk3NiA3NS45NTgxIDM4LjY1NDdDNzYuNTk5OCAzOC4xMjQxIDc3LjExNjUgMzcuNDU4MyA3Ny40NzExIDM2LjcwNDlDNzcuODI1OCAzNS45NTE1IDc4LjAwOTcgMzUuMTI5MSA3OC4wMDk3IDM0LjI5NjRDNzguMDA5NyAzMy40NjM3IDc3LjgyNTggMzIuNjQxMyA3Ny40NzExIDMxLjg4NzlDNzcuMTE2NSAzMS4xMzQ1IDc2LjU5OTggMzAuNDY4OCA3NS45NTgxIDI5LjkzODJDNzUuNDQxMSAyOS4yOTE4IDc0Ljc4NTMgMjguNzcgNzQuMDM5MyAyOC40MTE1QzczLjI5MzQgMjguMDUyOSA3Mi40NzYzIDI3Ljg2NjcgNzEuNjQ4NiAyNy44NjY3QzcwLjgyMDkgMjcuODY2NyA3MC4wMDM4IDI4LjA1MjkgNjkuMjU3OCAyOC40MTE1QzY4LjUxMTggMjguNzcgNjcuODU2MSAyOS4yOTE4IDY3LjMzOTEgMjkuOTM4MkM2Ni44MTQ1IDMwLjUyNyA2Ni4xNDE1IDMwLjk2NDIgNjUuMzkwNCAzMS4yMDQzQzY0LjYzOTIgMzEuNDQ0NCA2My44Mzc0IDMxLjQ3ODUgNjMuMDY4NiAzMS4zMDMyQzYwLjI2OTkgMzAuNTU5NiA1Ny4yOTMyIDMwLjkwODEgNTQuNzQyMSAzMi4yNzgyQzUzLjkxNzUgMzEuNDgzMiA1Mi45NDMxIDMwLjg2MDEgNTEuODc1NiAzMC40NDUyQzUwLjQ1MjEgMjkuODAxNyA0OC4yODc2IDMxLjc5MDcgNDYuNTkxMSAzMy41MDY3QzQ0Ljg5NDYgMzUuMjIyNyA0Mi45MjUxIDM3LjQwNjcgNDMuNTY4NiAzOC44NDk3QzQzLjY0MDcgMzkuMTgyNyA0My43NzI5IDM5LjQ5OTkgNDMuOTU4NiAzOS43ODU3QzQxLjU5MDQgNDEuNjU2IDM5LjM0OTUgNDMuNjgyIDM3LjI1MDYgNDUuODUwMkMzMy4wOTcxIDUwLjA0MjcgMjcuODkwNiA1NS45NzA3IDI4LjU1MzYgNTguODE3N0MyOC4zNTg2IDYwLjc2NzcgMzEuOTQ2NiA2Ni42MTc3IDM1LjgwNzYgNzAuNTE3N0MzOS42Njg2IDc0LjQxNzcgNDUuNDIxMSA3OC4wNDQ3IDQ3LjM3MTEgNzcuODQ5N0M1MC4xOTg2IDc4LjUxMjcgNTYuMDY4MSA3My4yNjcyIDYwLjIyMTYgNjkuMDU1MkM2Mi4zNjYyIDY2LjkzMDUgNjQuMzcyNCA2NC42NzAzIDY2LjIyNzYgNjIuMjg4N0M2Ni41MDUgNjIuNDc2NyA2Ni44MTYyIDYyLjYwOTEgNjcuMTQ0MSA2Mi42Nzg3QzY4LjU2NzYgNjMuMzIyMiA3MC43MzIxIDYxLjM1MjcgNzIuNDI4NiA1OS42MTcyQzc0LjEyNTEgNTcuODgxNyA3Ni4wOTQ2IDU1LjcxNzIgNzUuNDUxMSA1NC4yOTM3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjguNzIzNSA0NS45NjczQzY4LjcyMzUgNDUuOTY3MyA2Ny4zOTc1IDQ0LjQwNzMgNjQuNTExNSA0MS41MDE4QzYxLjYyNTUgMzguNTk2MyA2MC4xMDQ1IDM3LjI3MDMgNjAuMTA0NSAzNy4yNzAzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny40ODggNDQuMjEyMkM0Ny40ODggNDQuMjEyMiA0OS43NSA0Ni44MDU3IDU0LjQ4ODUgNTEuNzAwMkM1OS4yMjcgNTYuNTk0NyA2MS44NCA1OC43MjAyIDYxLjg0IDU4LjcyMDJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUzLjA4NDUgNjEuNzYyMkM1My4wODQ1IDYxLjc2MjIgNTMuNTMzIDYyLjI4ODcgNTQuNDg4NSA2My4yNjM3QzU1LjQ0NCA2NC4yMzg3IDU1Ljk1MSA2NC42Njc3IDU1Ljk1MSA2NC42Njc3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC44OTIxIDY2LjAxMzJDNDguODkyMSA2Ni4wMTMyIDQ5LjMyMTEgNjYuNTM5NyA1MC4yNzY2IDY3LjQ5NTJDNTEuMjMyMSA2OC40NTA3IDUxLjc1ODYgNjguOTE4NyA1MS43NTg2IDY4LjkxODdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY2Ljc1NDIgMzQuMTUwMkM2Ny45MzM1IDMzLjkyMTQgNjkuMDExMyAzMy4zMjggNjkuODM1MiAzMi40NTM3QzcwLjI4NjUgMzEuODk3OCA3MC44ODk0IDMxLjQ4NDYgNzEuNTcwNyAzMS4yNjQyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjAuNDM2IDE3LjY3MjVDNjAuNDM2IDE4LjczNzkgNjAuODU1MSAxOS43NTk2IDYxLjYwMTIgMjAuNTEzQzYyLjM0NzIgMjEuMjY2MyA2My4zNTkgMjEuNjg5NSA2NC40MTQgMjEuNjg5NUM2NS40NjkxIDIxLjY4OTUgNjYuNDgwOSAyMS4yNjYzIDY3LjIyNjkgMjAuNTEzQzY3Ljk3MjkgMTkuNzU5NiA2OC4zOTIgMTguNzM3OSA2OC4zOTIgMTcuNjcyNUM2OC4zOTIgMTcuMTQ1IDY4LjI4OTEgMTYuNjIyNiA2OC4wODkyIDE2LjEzNTNDNjcuODg5MyAxNS42NDc5IDY3LjU5NjMgMTUuMjA1MSA2Ny4yMjY5IDE0LjgzMjFDNjYuODU3NSAxNC40NTkxIDY2LjQxOSAxNC4xNjMyIDY1LjkzNjQgMTMuOTYxM0M2NS40NTM3IDEzLjc1OTQgNjQuOTM2NCAxMy42NTU1IDY0LjQxNCAxMy42NTU1QzYzLjg5MTYgMTMuNjU1NSA2My4zNzQ0IDEzLjc1OTQgNjIuODkxNyAxMy45NjEzQzYyLjQwOTEgMTQuMTYzMiA2MS45NzA2IDE0LjQ1OTEgNjEuNjAxMiAxNC44MzIxQzYxLjIzMTggMTUuMjA1MSA2MC45Mzg4IDE1LjY0NzkgNjAuNzM4OCAxNi4xMzUzQzYwLjUzODkgMTYuNjIyNiA2MC40MzYgMTcuMTQ1IDYwLjQzNiAxNy42NzI1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS4yMzYxIDUuNTQzNTRDMjkuMjM2MSA2LjQ1ODk0IDI5LjU5NTYgNy4zMzY4NCAzMC4yMzU2IDcuOTg0MTJDMzAuODc1NiA4LjYzMTQgMzEuNzQzNSA4Ljk5NTA0IDMyLjY0ODYgOC45OTUwNEMzMy41NTM2IDguOTk1MDQgMzQuNDIxNiA4LjYzMTQgMzUuMDYxNiA3Ljk4NDEyQzM1LjcwMTYgNy4zMzY4NCAzNi4wNjExIDYuNDU4OTQgMzYuMDYxMSA1LjU0MzU0QzM2LjA2MTEgNC42MjgxNSAzNS43MDE2IDMuNzUwMjQgMzUuMDYxNiAzLjEwMjk2QzM0LjQyMTYgMi40NTU2OCAzMy41NTM2IDIuMDkyMDQgMzIuNjQ4NiAyLjA5MjA0QzMxLjc0MzUgMi4wOTIwNCAzMC44NzU2IDIuNDU1NjggMzAuMjM1NiAzLjEwMjk2QzI5LjU5NTYgMy43NTAyNCAyOS4yMzYxIDQuNjI4MTUgMjkuMjM2MSA1LjU0MzU0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS4zNjAyIDIyLjgzOTlDNDguODY0NiAyMi4zNTA0IDQ4LjMxNTEgMjEuOTE4NyA0Ny43MjIyIDIxLjU1MjlDNDguNDgyNyAyMC41NTg0IDQ5LjM2MDIgMTkuMjEyOSA1MC4wODE3IDE4LjA4MTlDNTEuMjcxNiAxNi4zNzA5IDUyLjI0MTIgMTQuNTE2OCA1Mi45Njc3IDEyLjU2MzRDNTMuMDY1MiAxMS4wODE0IDUxLjAxNzcgOS44NTI5MyA0OS45MDYyIDkuMTExOTNDNDguNzk0NyA4LjM3MDkzIDQ3LjM3MTIgNy41MzI0MyA0Ni45MDMyIDcuNjQ5NDNDNDYuNDM1MiA3Ljc2NjQzIDQ1Ljc1MjcgOC4yMzQ0MyA0NS4zNDMyIDguODk3NDNDNDUuMTQwNiA5LjE3NTYzIDQ0Ljk5NSA5LjQ5MTExIDQ0LjkxNDcgOS44MjU3NEM0NC44MzQ0IDEwLjE2MDQgNDQuODIxIDEwLjUwNzYgNDQuODc1MiAxMC44NDc0QzQ0Ljg3NTIgMTEuMTk4NCA0NS43NzIyIDExLjg2MTQgNDYuNjMwMiAxMi40NjU5QzQ2LjEwMzcgMTMuMjI2NCA0NS41NTc3IDE0LjA2NDkgNDUuMDg5NyAxNC44MDU5QzQ0LjM2ODIgMTUuOTM2OSA0My41Mjk3IDE3LjMwMTkgNDIuOTQ0NyAxOC40MTM0QzQyLjMzMzcgMTguMDE1NyA0MS42Nzk1IDE3LjY4ODYgNDAuOTk0NyAxNy40Mzg0QzQwLjExNzIgMTcuMTI2NCAzOS4yOTgyIDE4LjE3OTQgMzguODg4NyAxOC44NDI0QzM4LjQ3OTIgMTkuNTA1NCAzNy44MzU3IDIwLjY5NDkgMzguNDk4NyAyMS4zNzc0QzM5Ljc1MTcgMjIuNDQ4IDQxLjA5NTggMjMuNDA3MiA0Mi41MTU3IDI0LjI0MzlDNDMuODU4MiAyNS4yMDI0IDQ1LjI4MDQgMjYuMDQ0IDQ2Ljc2NjcgMjYuNzU5NEM0Ny42MjQ3IDI3LjA3MTQgNDguNDYzMiAyNi4wMTg0IDQ4Ljg3MjcgMjUuMzU1NEM0OS4yODIyIDI0LjY5MjQgNTAuMDIzMiAyMy41MjI0IDQ5LjM2MDIgMjIuODM5OVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTEuMDE3OCA0Ljk5NzQ4QzUxLjAxNzggNS43MzcwNCA1MS4zMDk2IDYuNDQ2MzEgNTEuODI4OCA2Ljk2OTI1QzUyLjM0ODEgNy40OTIyIDUzLjA1MjQgNy43ODU5OCA1My43ODY4IDcuNzg1OThDNTQuNTIxMiA3Ljc4NTk4IDU1LjIyNTUgNy40OTIyIDU1Ljc0NDggNi45NjkyNUM1Ni4yNjQxIDYuNDQ2MzEgNTYuNTU1OCA1LjczNzA0IDU2LjU1NTggNC45OTc0OEM1Ni41NTU4IDQuMjU3OTMgNTYuMjY0MSAzLjU0ODY2IDU1Ljc0NDggMy4wMjU3MkM1NS4yMjU1IDIuNTAyNzcgNTQuNTIxMiAyLjIwODk4IDUzLjc4NjggMi4yMDg5OEM1My4wNTI0IDIuMjA4OTggNTIuMzQ4MSAyLjUwMjc3IDUxLjgyODggMy4wMjU3MkM1MS4zMDk2IDMuNTQ4NjYgNTEuMDE3OCA0LjI1NzkzIDUxLjAxNzggNC45OTc0OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBCb29rbWFyayA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuODQ5MSA3Ny45ODZDMzYuNjA3MSA3OC44NDQgNDkuNzUwMSA2NS4zNSA1Ny40MTM2IDU3LjU1QzY1LjA3NzEgNDkuNzUgNzguNjY4NiAzNi43NDM1IDc3LjkwODEgMzEuOTY2Qzc4LjUxMjYgMjguNTczIDc2LjgzNTYgMTAuOTY0NSA3Mi45NTUxIDcuMDgzOTZDNjkuMDc0NiAzLjIwMzQ2IDUxLjQ2NjEgMS40ODc0NiA0OC4wNzMxIDIuMDkxOTZDNDMuMjk1NiAxLjMzMTQ2IDMwLjI1MDEgMTQuODQ1IDIyLjQ1MDEgMjIuNTg2NUMxNC42NTAxIDMwLjMyOCAxLjE1NjEyIDQzLjM5MyAyLjAxNDEyIDQ4LjE1MUMyLjk1MDEyIDUzLjY1IDE4LjU1MDEgNTcuNTUgMjAuNTAwMSA1OS41QzIyLjQ1MDEgNjEuNDUgMjYuMzUwMSA3Ny4wNSAzMS44NDkxIDc3Ljk4NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU1LjgxNDcgMTguNjg2NUM1NS44MTQ3IDIwLjE0NDkgNTYuMzk0MSAyMS41NDM2IDU3LjQyNTMgMjIuNTc0OUM1OC40NTY2IDIzLjYwNjEgNTkuODU1MyAyNC4xODU1IDYxLjMxMzcgMjQuMTg1NUM2Mi43NzIxIDI0LjE4NTUgNjQuMTcwOCAyMy42MDYxIDY1LjIwMjEgMjIuNTc0OUM2Ni4yMzMzIDIxLjU0MzYgNjYuODEyNyAyMC4xNDQ5IDY2LjgxMjcgMTguNjg2NUM2Ni44MTI3IDE3LjIyODEgNjYuMjMzMyAxNS44Mjk0IDY1LjIwMjEgMTQuNzk4MUM2NC4xNzA4IDEzLjc2NjkgNjIuNzcyMSAxMy4xODc1IDYxLjMxMzcgMTMuMTg3NUM1OS44NTUzIDEzLjE4NzUgNTguNDU2NiAxMy43NjY5IDU3LjQyNTMgMTQuNzk4MUM1Ni4zOTQxIDE1LjgyOTQgNTUuODE0NyAxNy4yMjgxIDU1LjgxNDcgMTguNjg2NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDkuNTE2MSA2Ljg0OTk4QzUzLjM2NjQgNi44NjE1MiA1Ny4yMDg4IDcuMjAwNzUgNjEuMDAxNiA3Ljg2Mzk4XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBDYW5jZWwgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc3LjY3NCA1OS4yNjU5Qzc3LjE2NjkgNTYuNDU3OSA2OS43NTY5IDQ4LjA5MjQgNjIuMDczOSAzOS45OTk5QzY5Ljg3MzkgMzEuOTA3NCA3Ny4yMDU5IDIzLjU0MTkgNzcuNjc0IDIwLjczMzlDNzkuMjkyNCAxNy4zOTk0IDc0Ljk4MjkgMTIuNjk5OSA3MS4xOTk5IDguNzk5OTRDNjcuNDE2OSA0Ljg5OTk0IDYyLjYwMDQgMC43MDc0NDQgNTkuMjY1OSAyLjMyNTk0QzU2LjQ1NzkgMi44MzI5NCA0OC4wOTI0IDEwLjI0MjkgMzkuOTk5OSAxNy45MjU5QzMxLjkwNzQgMTAuMTI1OSAyMy41NDE5IDIuNzkzOTQgMjAuNzMzOSAyLjMyNTk0QzE3LjM5OTQgMC43MDc0NDQgMTIuNjk5OSA1LjAxNjk0IDguNzk5OTQgOC43OTk5NEM0Ljg5OTk0IDEyLjU4MjkgMC43MDc0NDQgMTcuMzk5NCAyLjMyNTk0IDIwLjczMzlDMi44MzI5NCAyMy41NDE5IDEwLjI0MjkgMzEuOTA3NCAxNy45MjU5IDM5Ljk5OTlDMTAuMTI1OSA0OC4wOTI0IDIuNzkzOTQgNTYuNDU3OSAyLjMyNTk0IDU5LjI2NTlDMC43MDc0NDQgNjIuNjAwNCA1LjAxNjk0IDY3LjM5NzQgOC43OTk5NCA3MS4xOTk5QzEyLjU4MjkgNzUuMDAyNCAxNy4zOTk0IDc5LjI5MjQgMjAuNzMzOSA3Ny42NzRDMjMuNTQxOSA3Ny4xNjY5IDMxLjkwNzQgNjkuNzU2OSAzOS45OTk5IDYyLjA3MzlDNDguMDkyNCA2OS44NzM5IDU2LjQ1NzkgNzcuMjA1OSA1OS4yNjU5IDc3LjY3NEM2Mi42MDA0IDc5LjI5MjQgNjcuNDE2OSA3NC45ODI5IDcxLjE5OTkgNzEuMTk5OUM3NC45ODI5IDY3LjQxNjkgNzkuMjkyNCA2Mi42MDA0IDc3LjY3NCA1OS4yNjU5WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTUuNTk5OSAxMS40MzI1QzYwLjIyMTQgNy41MzI1IDYxLjA0MDQgNy4zMzc1IDYzLjczMTQgOS40ODI1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENvbnZlcnNhdGlvbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAgMi43MTY4QzE1LjY0MzEgMi43MTY4IDMuNDY0NiAxNS40MTk5IDMuNDY0NiAzNC40OTMyQzMuNDY0NiA0Ni43NDY2IDguNTIzNDggNTYuMzU4MiAxOC42MDM0IDYxLjY2MDRDMTYuNzI5OSA2Ny45OTMyIDEyLjEwMTkgNzEuNzIxOCAxNi4xNjc3IDc1Ljc4NzRDMTguODA5NSA3OC40MjkzIDM0LjQ5MTYgNzguODIyOCAzOS43OTM5IDY2LjI1MDdINDBDNjQuMzU2OSA2Ni4yNTA3IDc2LjUzNTQgNTMuNTQ3OCA3Ni41MzU0IDM0LjQ5MzJDNzYuNTM1NCAxNS40Mzg2IDY0LjM1NjkgMi43MTY4IDQwIDIuNzE2OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjQ0MDkgMTAuMzk4N0M1Ni4yNTQxIDExLjE4MjQgNTkuNzQ5MSAxMy4wNzk5IDYyLjQ4MzQgMTUuODUwOVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRGFkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi42NzUgMzkuMjk4MUM1Ny44MDM1IDM1LjgwNzYgNjAuMzc3NSAyOS44NjAxIDYwLjM3NzUgMjIuMzUyNkM2MC4zNzc1IDEwLjEyNjEgNTMuNjUgMS45NzUxIDQwIDEuOTc1MUMyNi4zNSAxLjk3NTEgMTkuNjIyNSAxMC4xMjYxIDE5LjYyMjUgMjIuNDUwMUMxOS42MjI1IDI5Ljk1NzYgMjIuMTk2NSAzNS45MDUxIDI3LjMyNSAzOS4zOTU2QzE1Ljg1OSA0My40MTI2IDEwLjEyNiA1My42NTAxIDEwLjEyNiA2Ny4xNjM2QzEwLjEyNiA3NS4zMTQ2IDIwLjA5MDUgNzguMDI1MSA0MCA3OC4wMjUxQzU5LjkwOTUgNzguMDI1MSA2OS44NzQgNzUuMzE0NiA2OS44NzQgNjcuMTYzNkM2OS44NzQgNTMuNjUwMSA2NC4xNDEgNDMuNDEyNiA1Mi42NzUgMzkuMjk4MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ1LjQ0MDQgOC40Mjk2OUM0Ny43ODczIDkuMjgwNTQgNDkuODI1MSAxMC44MTU3IDUxLjI5MDQgMTIuODM2N1wiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjMwMyAyOS42ODQ2QzMxLjMwMyAyOS42ODQ2IDMzLjQ4NyAzMS44NDkxIDQwIDMxLjg0OTFDNDYuNTEzIDMxLjg0OTEgNDguNjk3IDI5LjY4NDYgNDguNjk3IDI5LjY4NDZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjEzODQgMTkuODk1N0MyOS4xMzg0IDIwLjc1OTMgMjkuNDgxNSAyMS41ODc2IDMwLjA5MjIgMjIuMTk4NEMzMC43MDI5IDIyLjgwOTEgMzEuNTMxMyAyMy4xNTIyIDMyLjM5NDkgMjMuMTUyMkMzMy4yNTg2IDIzLjE1MjIgMzQuMDg2OSAyMi44MDkxIDM0LjY5NzYgMjIuMTk4NEMzNS4zMDgzIDIxLjU4NzYgMzUuNjUxNCAyMC43NTkzIDM1LjY1MTQgMTkuODk1N0MzNS42NTE0IDE5LjAzMiAzNS4zMDgzIDE4LjIwMzcgMzQuNjk3NiAxNy41OTNDMzQuMDg2OSAxNi45ODIzIDMzLjI1ODYgMTYuNjM5MiAzMi4zOTQ5IDE2LjYzOTJDMzEuNTMxMyAxNi42MzkyIDMwLjcwMjkgMTYuOTgyMyAzMC4wOTIyIDE3LjU5M0MyOS40ODE1IDE4LjIwMzcgMjkuMTM4NCAxOS4wMzIgMjkuMTM4NCAxOS44OTU3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ0LjM0ODQgMTkuODk1N0M0NC4zNDg0IDIwLjMyMzMgNDQuNDMyNiAyMC43NDY4IDQ0LjU5NjMgMjEuMTQxOUM0NC43NTk5IDIxLjUzNyA0NC45OTk4IDIxLjg5NiA0NS4zMDIyIDIyLjE5ODRDNDUuNjA0NiAyMi41MDA3IDQ1Ljk2MzYgMjIuNzQwNiA0Ni4zNTg3IDIyLjkwNDNDNDYuNzUzOCAyMy4wNjc5IDQ3LjE3NzIgMjMuMTUyMiA0Ny42MDQ5IDIzLjE1MjJDNDguMDMyNSAyMy4xNTIyIDQ4LjQ1NiAyMy4wNjc5IDQ4Ljg1MTEgMjIuOTA0M0M0OS4yNDYyIDIyLjc0MDYgNDkuNjA1MiAyMi41MDA3IDQ5LjkwNzYgMjIuMTk4NEM1MC4yMSAyMS44OTYgNTAuNDQ5OCAyMS41MzcgNTAuNjEzNSAyMS4xNDE5QzUwLjc3NzIgMjAuNzQ2OCA1MC44NjE0IDIwLjMyMzMgNTAuODYxNCAxOS44OTU3QzUwLjg2MTQgMTkuNDY4IDUwLjc3NzIgMTkuMDQ0NSA1MC42MTM1IDE4LjY0OTVDNTAuNDQ5OCAxOC4yNTQ0IDUwLjIxIDE3Ljg5NTQgNDkuOTA3NiAxNy41OTNDNDkuNjA1MiAxNy4yOTA2IDQ5LjI0NjIgMTcuMDUwNyA0OC44NTExIDE2Ljg4N0M0OC40NTYgMTYuNzIzNCA0OC4wMzI1IDE2LjYzOTIgNDcuNjA0OSAxNi42MzkyQzQ3LjE3NzIgMTYuNjM5MiA0Ni43NTM4IDE2LjcyMzQgNDYuMzU4NyAxNi44ODdDNDUuOTYzNiAxNy4wNTA3IDQ1LjYwNDYgMTcuMjkwNiA0NS4zMDIyIDE3LjU5M0M0NC45OTk4IDE3Ljg5NTQgNDQuNzU5OSAxOC4yNTQ0IDQ0LjU5NjMgMTguNjQ5NUM0NC40MzI2IDE5LjA0NDUgNDQuMzQ4NCAxOS40NjggNDQuMzQ4NCAxOS44OTU3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRGF0ZVRpbWUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjY3MDkgMjQuMjYzNkM3NS4xNjUyIDIzLjEzNzYgNzUuNDMwNCAyMS45MjQ2IDc1LjQ1MDkgMjAuNjk1MUM3OC4xODA5IDE5LjE1NDYgNzguMTQxOSAxOC4xMjExIDc3LjcxMjkgMTYuNzk1MUM3Ny4yODM5IDE1LjQ2OTEgNzYuNzE4NCAxNC41NzIxIDczLjU5ODQgMTQuODQ1MUM3Mi44NjU0IDEzLjg1NTggNzEuOTQ0MyAxMy4wMjA4IDcwLjg4NzkgMTIuMzg4MUM3MC44ODc5IDkuMjQ4NTggNzAuMDEwNCA4Ljc2MTA4IDY4LjYyNTkgOC40ODgwOEM2Ny4yNDE0IDguMjE1MDggNjYuMjA3OSA4LjIxNTA4IDY0LjkyMDkgMTEuMTAxMUM2My43MDI2IDExLjI0MjEgNjIuNTIzNSAxMS42MTk2IDYxLjQ0OTkgMTIuMjEyNkM1OC43NTg5IDEwLjYxMzYgNTcuODgxNCAxMS4xNDAxIDU2LjkwNjQgMTIuMjEyNkM1NS45MzE0IDEzLjI4NTEgNTUuNDgyOSAxNC4xNjI2IDU3LjMxNTkgMTYuNzE3MUM1Ny4wNzggMTcuMjg1IDU2Ljg4ODggMTcuODcyMSA1Ni43NTA0IDE4LjQ3MjFDNTYuNjIxMiAxOS4wNzQ5IDU2LjU0OTMgMTkuNjg4NyA1Ni41MzU5IDIwLjMwNTFDNTMuODA1OSAyMS44NDU2IDUzLjg0NDkgMjIuODU5NiA1NC4yNzM5IDI0LjIwNTFDNTQuNzAyOSAyNS41NTA2IDU1LjI4NzkgMjYuNDI4MSA1OC40MDc5IDI2LjE1NTFDNTkuMTMzOCAyNy4xNDM4IDYwLjA0ODQgMjcuOTc4OSA2MS4wOTg5IDI4LjYxMjFDNjEuMDk4OSAzMS43NTE2IDYxLjk3NjQgMzIuMjM5MSA2My4zNjA5IDMyLjUxMjFDNjQuNzQ1NCAzMi43ODUxIDY1Ljc3ODkgMzIuNzY1NiA2Ny4wNjU5IDI5Ljg3OTZDNjguMjgzNyAyOS43NDgxIDY5LjQ2MzMgMjkuMzc3IDcwLjUzNjkgMjguNzg3NkM3My4yMjc5IDMwLjM2NzEgNzQuMTA1NCAyOS44NDA2IDc1LjA4MDQgMjguNzg3NkM3Ni4wNTU0IDI3LjczNDYgNzYuNTAzOSAyNi44MTgxIDc0LjY3MDkgMjQuMjYzNlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjEuMzUyNSAyMC41MDAxQzYxLjM1MjUgMjEuNzMxIDYxLjg0MTUgMjIuOTExNSA2Mi43MTE5IDIzLjc4MThDNjMuNTgyMiAyNC42NTIyIDY0Ljc2MjcgMjUuMTQxMSA2NS45OTM1IDI1LjE0MTFDNjcuMjI0NCAyNS4xNDExIDY4LjQwNDkgMjQuNjUyMiA2OS4yNzUyIDIzLjc4MThDNzAuMTQ1NiAyMi45MTE1IDcwLjYzNDUgMjEuNzMxIDcwLjYzNDUgMjAuNTAwMUM3MC42MzQ1IDE5LjI2OTMgNzAuMTQ1NiAxOC4wODg4IDY5LjI3NTIgMTcuMjE4NEM2OC40MDQ5IDE2LjM0ODEgNjcuMjI0NCAxNS44NTkxIDY1Ljk5MzUgMTUuODU5MUM2NC43NjI3IDE1Ljg1OTEgNjMuNTgyMiAxNi4zNDgxIDYyLjcxMTkgMTcuMjE4NEM2MS44NDE1IDE4LjA4ODggNjEuMzUyNSAxOS4yNjkzIDYxLjM1MjUgMjAuNTAwMVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuMDgxIDE3LjEyNjVDNDEuMzk0IDE2LjA2MTQgMzkuNDQwNyAxNS40OTM3IDM3LjQ0NTUgMTUuNDg4NUMzNy4xMjY3IDE0LjA3OCAzNi42NzYyIDEyLjcwMDQgMzYuMSAxMS4zNzRDMzUuNzIwNCAxMC43MDA3IDM1LjEzODYgMTAuMTYzNyAzNC40MzcgOS44MzkxM0MzMy43MzU0IDkuNTE0NTYgMzIuOTQ5NiA5LjQxODgyIDMyLjE5MDYgOS41NjU0NEMzMS40MzE2IDkuNzEyMDYgMzAuNzM3OSAxMC4wOTM2IDMwLjIwNzcgMTAuNjU2MkMyOS42Nzc1IDExLjIxODcgMjkuMzM3NiAxMS45MzM3IDI5LjIzNiAxMi43QzI5LjEyODggMTMuNjcyMSAyOS4xMjg4IDE0LjY1MyAyOS4yMzYgMTUuNjI1QzI2Ljg4ODUgMTUuNzkxOSAyNC41NTE2IDE2LjA4NDkgMjIuMjM1NSAxNi41MDI1QzE5LjkyNzYgMTYuOTM5NCAxNy42NDMyIDE3LjQ5MjYgMTUuMzkxIDE4LjE2QzE1LjIzNjMgMTcuMTk1NyAxNC45ODgyIDE2LjI0ODggMTQuNjUgMTUuMzMyNUMxNC4zMDQzIDE0LjYyNDMgMTMuNzM1MSAxNC4wNDk2IDEzLjAzMDIgMTMuNjk3MkMxMi4zMjUzIDEzLjM0NDcgMTEuNTI0IDEzLjIzNDEgMTAuNzUgMTMuMzgyNUM5LjkzNzg2IDEzLjQ3NDYgOS4xODI4MiAxMy44NDU3IDguNjEzODEgMTQuNDMyNUM4LjA0NDc5IDE1LjAxOTMgNy42OTcwOCAxNS43ODU0IDcuNjMwMDMgMTYuNkM3LjU2NDAxIDE4LjA0MDcgNy42NDI0IDE5LjQ4NDQgNy44NjQwMyAyMC45MDk1QzYuMDA5MjcgMjEuNjE0MiA0LjM4ODMyIDIyLjgyMzIgMy4xODQwMyAyNC40QzIuMTExNTMgMjYuMzUgMS41NDYwMyAzNC4xNSAyLjcxNjAzIDQwLjYwNDVDMy44ODYwMyA0Ny4wNTkgNy4yMDEwMyA1NC4xNzY1IDguODk3NTMgNTUuNkMxMS41MTA1IDU3Ljc4NCAyMy4yMyA1Ny41NSAyOS42NDU1IDU2LjI4MjVDMzYuMDYxIDU1LjAxNSA0Ny4xOTU1IDUxLjI1MTUgNDguNzk0NSA0OC4yODc1QzQ5Ljg4NjUgNDYuMzM3NSA1MC40MzI1IDM4LjUzNzUgNDkuMjYyNSAzMi4wODNDNDguMDkyNSAyNS42Mjg1IDQ0Ljc5NyAxOC41NSA0My4wODEgMTcuMTI2NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQwLjU2NTQgNDUuODUwMUM0Mi42MTI5IDQzLjkwMDEgNDIuMjgxNCA0MC44Mzg2IDQxLjI2NzQgMzUuMjIyNkM0MC4yNTM0IDI5LjYwNjYgMzkuNDE0OSAyNi41NjQ2IDM2Ljg0MDkgMjUuNDcyNkMzNS40MTc0IDI0LjI0NDEgMjkuMTk2OSAyNS4wMDQ2IDI0LjEwNzQgMjUuOTQwNkMxOS4wMTc5IDI2Ljg3NjYgMTIuOTE0NCAyOC40OTUxIDEyLjAzNjkgMzAuMjUwMUMxMC4wODY5IDMyLjIwMDEgMTAuMzAxNCAzNS4yNjE2IDExLjMzNDkgNDAuODU4MUMxMi4zNjg0IDQ2LjQ1NDYgMTMuMjg0OSA0OS41MTYxIDE1Ljc2MTQgNTAuNjA4MUMxNy4xODQ5IDUxLjg1NjEgMjMuMzg1OSA1MS4wNzYxIDI4LjQ5NDkgNTAuMTU5NkMzMy42MDM5IDQ5LjI0MzEgMzkuNjY4NCA0Ny41ODU2IDQwLjU2NTQgNDUuODUwMVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTkuOTE1IDMwLjI1QzE5LjkxNSAzMC4yNSAyMC4yMjcgMzMuNzk5IDIxLjE4MjUgMzkuMDI1QzIyLjEzOCA0NC4yNTEgMjMuMTMyNSA0Ny42ODMgMjMuMTMyNSA0Ny42ODNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMyLjY4NzUgNDUuODVDMzIuNjg3NSA0NS44NSAzMi4zNzU1IDQyLjMwMSAzMS40MiAzNy4wNzVDMzAuNDY0NSAzMS44NDkgMjkuNDcgMjguNDE3IDI5LjQ3IDI4LjQxN1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzYuMDk5OSAzMi4wMjQ0QzM2LjA5OTkgMzIuMDI0NCAzMS43NzA5IDMyLjMzNjQgMjUuNDMzNCAzMy41MDY0QzIxLjkwNDUgMzQuMTI4MSAxOC40MDk1IDM0LjkyODYgMTQuOTYxOSAzNS45MDQ5XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNi40NjM2IDQ0LjA3NTZDMTYuNDYzNiA0NC4wNzU2IDIwLjc3MzEgNDMuNzYzNiAyNy4xMzAxIDQyLjU5MzZDMzMuNDg3MSA0MS40MjM2IDM3LjY0MDYgNDAuMTk1MSAzNy42NDA2IDQwLjE5NTFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM2Ljc4MjUgMTguNzA2MUM0MS41NDA1IDE5LjE1NDYgNDEuMzA2NSAxOS45MTUxIDQyLjI2MiAyMS42MTE2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNi4xNzggNTYuMjI0MUMzNi4xNzggNjEuNjAyNyAzOC4zMTQ2IDY2Ljc2MSA0Mi4xMTc5IDcwLjU2NDJDNDUuOTIxMSA3NC4zNjc1IDUxLjA3OTQgNzYuNTA0MSA1Ni40NTggNzYuNTA0MUM2MS44MzY2IDc2LjUwNDEgNjYuOTk0OSA3NC4zNjc1IDcwLjc5ODEgNzAuNTY0MkM3NC42MDEzIDY2Ljc2MSA3Ni43MzggNjEuNjAyNyA3Ni43MzggNTYuMjI0MUM3Ni43MzggNTAuODQ1NSA3NC42MDEzIDQ1LjY4NzIgNzAuNzk4MSA0MS44ODRDNjYuOTk0OSAzOC4wODA3IDYxLjgzNjYgMzUuOTQ0MSA1Ni40NTggMzUuOTQ0MUM1MS4wNzk0IDM1Ljk0NDEgNDUuOTIxMSAzOC4wODA3IDQyLjExNzkgNDEuODg0QzM4LjMxNDYgNDUuNjg3MiAzNi4xNzggNTAuODQ1NSAzNi4xNzggNTYuMjI0MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQyLjk0NDYgNTYuMjI0MkM0Mi45NDQ2IDU3Ljk5ODggNDMuMjk0MSA1OS43NTYxIDQzLjk3MzIgNjEuMzk1NkM0NC42NTIzIDYzLjAzNTEgNDUuNjQ3NyA2NC41MjQ4IDQ2LjkwMjYgNjUuNzc5N0M0OC4xNTc0IDY3LjAzNDUgNDkuNjQ3MiA2OC4wMjk5IDUxLjI4NjcgNjguNzA5QzUyLjkyNjIgNjkuMzg4MiA1NC42ODM1IDY5LjczNzcgNTYuNDU4MSA2OS43Mzc3QzU4LjIzMjcgNjkuNzM3NyA1OS45ODk5IDY5LjM4ODIgNjEuNjI5NSA2OC43MDlDNjMuMjY5IDY4LjAyOTkgNjQuNzU4NyA2Ny4wMzQ1IDY2LjAxMzYgNjUuNzc5N0M2Ny4yNjg0IDY0LjUyNDggNjguMjYzOCA2My4wMzUxIDY4Ljk0MjkgNjEuMzk1NkM2OS42MjIgNTkuNzU2MSA2OS45NzE2IDU3Ljk5ODggNjkuOTcxNiA1Ni4yMjQyQzY5Ljk3MTYgNTQuNDQ5NiA2OS42MjIgNTIuNjkyMyA2OC45NDI5IDUxLjA1MjhDNjguMjYzOCA0OS40MTMzIDY3LjI2ODQgNDcuOTIzNSA2Ni4wMTM2IDQ2LjY2ODdDNjQuNzU4NyA0NS40MTM5IDYzLjI2OSA0NC40MTg1IDYxLjYyOTUgNDMuNzM5M0M1OS45ODk5IDQzLjA2MDIgNTguMjMyNyA0Mi43MTA3IDU2LjQ1ODEgNDIuNzEwN0M1NC42ODM1IDQyLjcxMDcgNTIuOTI2MiA0My4wNjAyIDUxLjI4NjcgNDMuNzM5M0M0OS42NDcyIDQ0LjQxODUgNDguMTU3NCA0NS40MTM5IDQ2LjkwMjYgNDYuNjY4N0M0NS42NDc3IDQ3LjkyMzUgNDQuNjUyMyA0OS40MTMzIDQzLjk3MzIgNTEuMDUyOEM0My4yOTQxIDUyLjY5MjMgNDIuOTQ0NiA1NC40NDk2IDQyLjk0NDYgNTYuMjI0MlpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTguMDU3IDU1LjI2ODVDNTguMzg4NSA1MS4wNzYgNTcuNTg5IDQ4LjAzNCA1Ni4zMDIgNDcuOTE3QzU1LjAxNSA0Ny44IDUzLjgwNiA0OS41OTQgNTMuNDc0NSA1My42NUM1My4wNjUgNTguNzM5NSA1NS4xNzEgNTkuNzM0IDU4LjU4MzUgNjAuMDI2NUM2MS45OTYgNjAuMzE5IDY0LjIzODUgNTkuNDQxNSA2NC4zMzYgNTguMDc2NUM2NC40MzM1IDU2LjcxMTUgNjMuMTg1NSA1NS42IDU4LjA1NyA1NS4yNjg1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjUuOTkzNCA0MS42MTg3QzY3Ljk4NzIgNDIuMjg1OSA2OS42NTc1IDQzLjY3NzkgNzAuNjczNCA0NS41MTg3XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMC41NzgxIDY4LjAwMTlDMjAuNTc4MSA2OC45NzQyIDIwLjk2NDQgNjkuOTA2NyAyMS42NTE5IDcwLjU5NDJDMjIuMzM5NCA3MS4yODE3IDIzLjI3MTggNzEuNjY3OSAyNC4yNDQxIDcxLjY2NzlDMjUuMjE2NCA3MS42Njc5IDI2LjE0ODkgNzEuMjgxNyAyNi44MzY0IDcwLjU5NDJDMjcuNTIzOSA2OS45MDY3IDI3LjkxMDEgNjguOTc0MiAyNy45MTAxIDY4LjAwMTlDMjcuOTEwMSA2Ny4wMjk3IDI3LjUyMzkgNjYuMDk3MiAyNi44MzY0IDY1LjQwOTdDMjYuMTQ4OSA2NC43MjIyIDI1LjIxNjQgNjQuMzM1OSAyNC4yNDQxIDY0LjMzNTlDMjMuMjcxOCA2NC4zMzU5IDIyLjMzOTQgNjQuNzIyMiAyMS42NTE5IDY1LjQwOTdDMjAuOTY0NCA2Ni4wOTcyIDIwLjU3ODEgNjcuMDI5NyAyMC41NzgxIDY4LjAwMTlaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ0Ljc1ODEgNi42NTUwM0M0NC43NTgxIDcuMDc1IDQ0Ljg0MDggNy40OTA4NSA0NS4wMDE1IDcuODc4ODVDNDUuMTYyMiA4LjI2Njg1IDQ1LjM5NzggOC42MTk0IDQ1LjY5NDcgOC45MTYzNkM0NS45OTE3IDkuMjEzMzIgNDYuMzQ0MiA5LjQ0ODg4IDQ2LjczMjIgOS42MDk2QzQ3LjEyMDIgOS43NzAzMSA0Ny41MzYxIDkuODUzMDMgNDcuOTU2MSA5Ljg1MzAzQzQ4LjM3NiA5Ljg1MzAzIDQ4Ljc5MTkgOS43NzAzMSA0OS4xNzk5IDkuNjA5NkM0OS41Njc5IDkuNDQ4ODggNDkuOTIwNCA5LjIxMzMyIDUwLjIxNzQgOC45MTYzNkM1MC41MTQzIDguNjE5NCA1MC43NDk5IDguMjY2ODUgNTAuOTEwNiA3Ljg3ODg1QzUxLjA3MTMgNy40OTA4NSA1MS4xNTQxIDcuMDc1IDUxLjE1NDEgNi42NTUwM0M1MS4xNTQxIDYuMjM1MDYgNTEuMDcxMyA1LjgxOTIxIDUwLjkxMDYgNS40MzEyMUM1MC43NDk5IDUuMDQzMjEgNTAuNTE0MyA0LjY5MDY3IDUwLjIxNzQgNC4zOTM3QzQ5LjkyMDQgNC4wOTY3NCA0OS41Njc5IDMuODYxMTggNDkuMTc5OSAzLjcwMDQ2QzQ4Ljc5MTkgMy41Mzk3NSA0OC4zNzYgMy40NTcwMyA0Ny45NTYxIDMuNDU3MDNDNDcuNTM2MSAzLjQ1NzAzIDQ3LjEyMDIgMy41Mzk3NSA0Ni43MzIyIDMuNzAwNDZDNDYuMzQ0MiAzLjg2MTE4IDQ1Ljk5MTcgNC4wOTY3NCA0NS42OTQ3IDQuMzkzN0M0NS4zOTc4IDQuNjkwNjcgNDUuMTYyMiA1LjA0MzIxIDQ1LjAwMTUgNS40MzEyMUM0NC44NDA4IDUuODE5MjEgNDQuNzU4MSA2LjIzNTA2IDQ0Ljc1ODEgNi42NTUwM1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBIb21lID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni40MDY1IDMwLjY5ODVDNzUuMzM0IDI4LjkwNDUgNjcuNTE0NSAyMi41MDg1IDYwLjYzMSAxNy44MDlDNTMuNzQ3NSAxMy4xMDk1IDQ1LjAzMSA4LjA1OTAyIDQyLjkwNTUgNy43NjY1MkM0MC45OTQ4IDcuMjEyOTIgMzguOTY2MiA3LjIxMjkyIDM3LjA1NTUgNy43NjY1MkMzNS4wNDcgOC4xMTc1MiAyNi4zNSAxMy4wOSAxOS4zNjkgMTcuODA5QzEyLjM4OCAyMi41MjggNC42NjYgMjguOTA0NSAzLjU5MzUgMzAuNjk4NUMwLjk2MTAwMSAzMy41NDU1IDEuOTE2NSAzOC4yNjQ1IDMuODA4IDQxLjAzMzVDNS42OTk1IDQzLjgwMjUgOS4zNjU1IDQ2LjEwMzUgMTIuODE3IDQ1LjEwOVY0Ny44NTg1QzEyLjcgNTUuODE0NSAxNS4wMDEgNjUuMzUgMTcuMjgyNSA2Ny4zQzE5LjU0NDUgNzAuODI5NSAzMS4yMjUgNzIuNjQzIDQwIDcyLjY0M0M0OC43NzUgNzIuNjQzIDYwLjQ1NTUgNzAuODI5NSA2Mi43MTc1IDY3LjNDNjQuOTk5IDY1LjM1IDY3LjMgNTUuODE0NSA2Ny4zIDQ3LjhWNDUuMDUwNUM3MC43NTE1IDQ2LjA0NSA3NC41MTUgNDMuNjA3NSA3Ni4zMDkgNDAuOTc1Qzc4LjEwMyAzOC4zNDI1IDc5IDMzLjU0NTUgNzYuNDA2NSAzMC42OTg1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAgNDYuNTMyNUMyNy45MSA0Ni41MzI1IDMyLjcwNyA2My40NTg1IDM0LjA1MjUgNjQuOTIxQzM0LjcxNTUgNjYuMzY0IDM3LjQ0NTUgNjYuMzY0IDQwIDY2LjM2NEM0Mi41NTQ1IDY2LjM2NCA0NS4yODQ1IDY2LjM2NCA0NS45NDc1IDY0LjkyMUM0Ny4yOTMgNjMuNCA1Mi4wOSA0Ni41MzI1IDQwIDQ2LjUzMjVaXCJcbiAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS42NTA0IDM5LjU1MTVDMjcuNjk4NiAzNi44MDEzIDMzLjM4OTEgMzMuMzI0MiAzOC41OTU5IDI5LjE5N0MzOC45OTY5IDI4Ljg4MzkgMzkuNDkxMSAyOC43MTM5IDM5Ljk5OTkgMjguNzEzOUM0MC41MDg3IDI4LjcxMzkgNDEuMDAyOSAyOC44ODM5IDQxLjQwMzkgMjkuMTk3QzQ2LjYxMDcgMzMuMzI0MiA1Mi4zMDEyIDM2LjgwMTMgNTguMzQ5NCAzOS41NTE1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ0Ljg5NDUgMTUuNDEwNUM0OS40MjM2IDE3LjM5MDEgNTMuNTk0MyAyMC4xMDQ2IDU3LjIzOCAyMy40NDQ1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEluZm9ybWF0aW9uID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC45NzYgNjMuMTI3MUM1Mi44OTkzIDYyLjY5MTQgNTAuNzc5NSA2Mi40OTUxIDQ4LjY1OCA2Mi41NDIxQzQ4Ljk3IDU4Ljc1OTEgNDkuMDY3NSA1My45MjMxIDQ5LjA2NzUgNDkuODI4MUM0OS4wNjc1IDQyLjU5MzYgNDguNTIxNSAzMy4xMzYxIDQ3LjQyOTUgMzEuMTA4MUM0NS4yODQ1IDI3LjIwODEgMzguMTI4IDI3LjM2NDEgMzMuOTU1IDI3LjM2NDFDMzAuMDU1IDI3LjM2NDEgMjQuOTA3IDI3LjU3ODYgMjMuODkzIDI4LjYzMTZDMjIuODc5IDI5LjE3NzYgMjEuOTQzIDMyLjAyNDYgMjEuOTQzIDM0LjQ4MTZDMjEuOTQzIDM2LjkzODYgMjIuOTM3NSAzOS42ODgxIDIzLjg5MyA0MC4yMzQxQzI0Ljg0ODUgNDAuNzgwMSAyNy43OTMgNDEuMzY1MSAzMS4wODg1IDQxLjQ2MjZDMzAuOTcxNSA0NC4yNzA2IDMwLjkzMjUgNDcuMzEyNiAzMC45MzI1IDQ5LjkyNTZDMzAuOTMyNSA1NC4wMjA2IDMxLjAzIDU4Ljg1NjYgMzEuMzQyIDYyLjYzOTZDMjkuMjIwNiA2Mi41OTI2IDI3LjEwMDggNjIuNzg4OSAyNS4wMjQgNjMuMjI0NkMyMi4yMzU1IDYzLjg0ODYgMjEuODg0NSA2Ny45MDQ2IDIxLjg4NDUgNzAuMjY0MUMyMS44ODQ1IDcyLjYyMzYgMjIuMjM1NSA3Ni42OTkxIDI1LjAyNCA3Ny4zMjMxQzI2LjQwODUgNzcuOTI3NiAzMy44MzggNzcuOTg2MSA0MCA3Ny45ODYxQzQ2LjE2MiA3Ny45ODYxIDUzLjY1IDc3Ljk4NjEgNTQuOTc2IDc3LjMyMzFDNTcuNzY0NSA3Ni42OTkxIDU4LjExNTUgNzIuNjQzMSA1OC4xMTU1IDcwLjI2NDFDNTguMTE1NSA2Ny44ODUxIDU3Ljc2NDUgNjMuNzUxMSA1NC45NzYgNjMuMTI3MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI4Ljc2ODEgMTAuNTM1NkMyOC43NjgxIDEyLjc2OTggMjkuNjU1NiAxNC45MTI0IDMxLjIzNTQgMTYuNDkyMkMzMi44MTUyIDE4LjA3MiAzNC45NTc5IDE4Ljk1OTYgMzcuMTkyMSAxOC45NTk2QzM5LjQyNjMgMTguOTU5NiA0MS41Njg5IDE4LjA3MiA0My4xNDg3IDE2LjQ5MjJDNDQuNzI4NSAxNC45MTI0IDQ1LjYxNjEgMTIuNzY5OCA0NS42MTYxIDEwLjUzNTZDNDUuNjE2MSA4LjMwMTM5IDQ0LjcyODUgNi4xNTg3MSA0My4xNDg3IDQuNTc4OUM0MS41Njg5IDIuOTk5MSAzOS40MjYzIDIuMTExNTcgMzcuMTkyMSAyLjExMTU3QzM0Ljk1NzkgMi4xMTE1NyAzMi44MTUyIDIuOTk5MSAzMS4yMzU0IDQuNTc4OUMyOS42NTU2IDYuMTU4NzEgMjguNzY4MSA4LjMwMTM5IDI4Ljc2ODEgMTAuNTM1NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM3LjI1MDUgMzMuMTk0NkM0MC4yNTM1IDMzLjAxOTEgNDEuNzE2IDMzLjE5NDYgNDIuMzk4NSAzMy42ODIxQzQzLjA4MSAzNC4xNjk2IDQyLjczIDM1LjYzMjEgNDIuNzMgMzUuNjMyMVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzcuNzM4IDcuMDA2MUMzOC43MDM4IDcuMjY3NiAzOS41NTA1IDcuODUyNzEgNDAuMTM2NSA4LjY2MzZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgTW9tID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ni43ODk0IDQyLjg0NzFDNjIuNjM5NCA0MS44MzMxIDY0LjU4OTQgNDAuMjczMSA2My4xNjU5IDM4LjY5MzZDNjAuODQ1NCAzNi4wNjExIDYwLjg0NTQgMzAuODkzNiA2MC44NDU0IDI1LjU3MDFDNjAuODQ1NCAxMS40MTMxIDUzLjkwMzQgMS45NzUxIDM5Ljk5OTkgMS45NzUxQzI2LjA5NjQgMS45NzUxIDE5LjE1NDQgMTEuNDEzMSAxOS4xNTQ0IDI1LjU3MDFDMTkuMTU0NCAzMC44MTU2IDE5LjE1NDQgMzYuMDYxMSAxNi44MzM5IDM4LjY5MzZDMTUuNDI5OSA0MC4yNzMxIDE3LjQxODkgNDEuODMzMSAyMy4yMTA0IDQyLjg0NzFDMTUuMjE1NCA0Ny42NDQxIDExLjE1OTQgNTYuMzYwNiAxMS4xNTk0IDY3LjUzNDFDMTEuMTU5NCA3NS4zMzQxIDIwLjc3MjkgNzguMDI1MSAzOS45OTk5IDc4LjAyNTFDNTkuMjI2OSA3OC4wMjUxIDY4Ljg0MDQgNzUuNDEyMSA2OC44NDA0IDY3LjUzNDFDNjguODQwNCA1Ni4zNjA2IDY0Ljc4NDQgNDcuNjQ0MSA1Ni43ODk0IDQyLjg0NzFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ni4xMDM1IDguMDU5MDhDNDguNDAzIDguODY4ODcgNTAuNDAyMyAxMC4zNTgxIDUxLjgzNjUgMTIuMzI5NlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjYxNSAzMS4zNDJDMzEuNjE1IDMxLjM0MiAzMy43MDE1IDMzLjQ0OCA0MCAzMy40NDhDNDYuMjk4NSAzMy40NDggNDguMzg1IDMxLjM0MiA0OC4zODUgMzEuMzQyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS41MDkgMjEuOTA0MUMyOS41MDkgMjIuNzM2OCAyOS44Mzk4IDIzLjUzNTMgMzAuNDI4NiAyNC4xMjQxQzMxLjAxNzMgMjQuNzEyOSAzMS44MTU5IDI1LjA0MzYgMzIuNjQ4NSAyNS4wNDM2QzMzLjQ4MTIgMjUuMDQzNiAzNC4yNzk3IDI0LjcxMjkgMzQuODY4NSAyNC4xMjQxQzM1LjQ1NzMgMjMuNTM1MyAzNS43ODggMjIuNzM2OCAzNS43ODggMjEuOTA0MUMzNS43ODggMjEuMDcxNSAzNS40NTczIDIwLjI3MyAzNC44Njg1IDE5LjY4NDJDMzQuMjc5NyAxOS4wOTU0IDMzLjQ4MTIgMTguNzY0NiAzMi42NDg1IDE4Ljc2NDZDMzEuODE1OSAxOC43NjQ2IDMxLjAxNzMgMTkuMDk1NCAzMC40Mjg2IDE5LjY4NDJDMjkuODM5OCAyMC4yNzMgMjkuNTA5IDIxLjA3MTUgMjkuNTA5IDIxLjkwNDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDQuMjExOSAyMS45MDQxQzQ0LjIxMTkgMjIuNzM2OCA0NC41NDI3IDIzLjUzNTMgNDUuMTMxNSAyNC4xMjQxQzQ1LjcyMDIgMjQuNzEyOSA0Ni41MTg4IDI1LjA0MzYgNDcuMzUxNCAyNS4wNDM2QzQ4LjE4NDEgMjUuMDQzNiA0OC45ODI2IDI0LjcxMjkgNDkuNTcxNCAyNC4xMjQxQzUwLjE2MDEgMjMuNTM1MyA1MC40OTA5IDIyLjczNjggNTAuNDkwOSAyMS45MDQxQzUwLjQ5MDkgMjEuNDkxOSA1MC40MDk3IDIxLjA4MzYgNTAuMjUxOSAyMC43MDI3QzUwLjA5NDIgMjAuMzIxOCA0OS44NjI5IDE5Ljk3NTcgNDkuNTcxNCAxOS42ODQyQzQ5LjI3OTggMTkuMzkyNyA0OC45MzM4IDE5LjE2MTQgNDguNTUyOCAxOS4wMDM2QzQ4LjE3MTkgMTguODQ1OSA0Ny43NjM3IDE4Ljc2NDYgNDcuMzUxNCAxOC43NjQ2QzQ2LjkzOTEgMTguNzY0NiA0Ni41MzA5IDE4Ljg0NTkgNDYuMTUgMTkuMDAzNkM0NS43NjkxIDE5LjE2MTQgNDUuNDIzIDE5LjM5MjcgNDUuMTMxNSAxOS42ODQyQzQ0LjgzOTkgMTkuOTc1NyA0NC42MDg3IDIwLjMyMTggNDQuNDUwOSAyMC43MDI3QzQ0LjI5MzEgMjEuMDgzNiA0NC4yMTE5IDIxLjQ5MTkgNDQuMjExOSAyMS45MDQxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIxLjY1MDQgNDMuOTAwMUMyNC4wOTY1IDQyLjYxOTYgMjYuNzI4NiA0MS43MzEyIDI5LjQ1MDQgNDEuMjY3NkwyMS42NTA0IDQzLjkwMDFaXCJcbiAgICAgICAgZmlsbD1cIiNFQjczMjJcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjEuNjUwNCA0My45MDAxQzI0LjA5NjUgNDIuNjE5NiAyNi43Mjg2IDQxLjczMTIgMjkuNDUwNCA0MS4yNjc2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OC4zNDkzIDQzLjkwMDFDNTUuNzM2MyA0MS4yNjc2IDUwLjU0OTMgNDEuMjY3NiA1MC41NDkzIDQxLjI2NzZMNTguMzQ5MyA0My45MDAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OC4zNDkzIDQzLjkwMDFDNTUuNzM2MyA0MS4yNjc2IDUwLjU0OTMgNDEuMjY3NiA1MC41NDkzIDQxLjI2NzZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgTWFpbCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzEuMjAwMSA2Ni41MDA1Qzc3LjA1MDEgNjMuODQ4NSA3OC4wODM2IDUwLjIzNzUgNzguMDgzNiA0MEM3OC4wODM2IDI5Ljc2MjUgNzYuOTMzMSAxNi4xNTE1IDcxLjIwMDEgMTMuNDk5NUM2OC4zMTQxIDEwLjg0NzUgNTIuODcwMSAxMC4xMjYgNDAuMDAwMSAxMC4xMjZDMjcuMTMwMSAxMC4xMjYgMTEuNzY0MSAxMC44NDc1IDguODAwMSAxMy40OTk1QzMuMDY3MSAxNi4xNTE1IDEuOTc1MSAyOS43NjI1IDEuOTc1MSA0MEMxLjk3NTEgNTAuMjM3NSAzLjA2NzEgNjMuODQ4NSA4LjgwMDEgNjYuNTAwNUMxMS43MDU2IDY5LjE1MjUgMjcuMTQ5NiA2OS44NzQgNDAuMDAwMSA2OS44NzRDNTIuODUwNiA2OS44NzQgNjguMjU1NiA2OS4yNSA3MS4yMDAxIDY2LjUwMDVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMC4xMDY3IDI2LjM1MDFDMTcuMjI0MiAzMy43Nzk2IDI3LjUzOTcgNDEuODEzNiAzMC43MTgyIDQzLjE5ODFDMzMuNjA3MyA0NC42MTUgMzYuNzgyNCA0NS4zNTE3IDQwLjAwMDIgNDUuMzUxN0M0My4yMTggNDUuMzUxNyA0Ni4zOTMxIDQ0LjYxNSA0OS4yODIyIDQzLjE5ODFDNTIuNDQxMiA0MS45NTAxIDYyLjc1NjcgMzMuODU3NiA2OS44NzQyIDI2LjM1MDFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuMTM4NyA0Mi43MTA0TDE1LjU2NjcgNTYuMzAxOVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MC44NjE2IDQyLjcxMDRMNjQuNDUzMSA1Ni4zMDE5XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjY0NzcgMTUuNjgzNEM2MS4xNTE3IDE1LjY3NjUgNjQuNjI5OCAxNi4yODM3IDY3LjkyNDIgMTcuNDc3NFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBObyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMS45NzUxIDQwLjAwMDFDMS45NzUxIDUwLjA4NSA1Ljk4MTI5IDU5Ljc1NjggMTMuMTEyNCA2Ni44ODc4QzIwLjI0MzQgNzQuMDE4OSAyOS45MTUyIDc4LjAyNTEgNDAuMDAwMSA3OC4wMjUxQzUwLjA4NSA3OC4wMjUxIDU5Ljc1NjggNzQuMDE4OSA2Ni44ODc4IDY2Ljg4NzhDNzQuMDE4OSA1OS43NTY4IDc4LjAyNTEgNTAuMDg1IDc4LjAyNTEgNDAuMDAwMUM3OC4wMjUxIDI5LjkxNTIgNzQuMDE4OSAyMC4yNDM0IDY2Ljg4NzggMTMuMTEyNEM1OS43NTY4IDUuOTgxMjkgNTAuMDg1IDEuOTc1MSA0MC4wMDAxIDEuOTc1MUMyOS45MTUyIDEuOTc1MSAyMC4yNDM0IDUuOTgxMjkgMTMuMTEyNCAxMy4xMTI0QzUuOTgxMjkgMjAuMjQzNCAxLjk3NTEgMjkuOTE1MiAxLjk3NTEgNDAuMDAwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5kYW5nZXJ9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTkuNjU2IDUwLjU0OTVDNTkuMzQ0IDQ5LjA0OCA1NS4xNTE1IDQ0LjQwNyA1MC45MiA0MEM1NS4xNTE1IDM1LjU5MyA1OS4zNDQgMzAuOTUyIDU5LjY1NiAyOS40NTA1QzYwLjU1MyAyNy43MTUgNTguNDI3NSAyNS4zMzYgNTYuNTU1NSAyMy40NDQ1QzU0LjY4MzUgMjEuNTUzIDUyLjI4NSAxOS41NDQ1IDUwLjU0OTUgMjAuMzQ0QzQ5LjA0OCAyMC42NTYgNDQuNDA3IDI0Ljg0ODUgNDAgMjkuMDhDMzUuNTkzIDI0Ljg0ODUgMzAuOTUyIDIwLjY1NiAyOS40NTA1IDIwLjM0NEMyNy43MTUgMTkuNDQ3IDI1LjMzNiAyMS41NzI1IDIzLjQ2NCAyMy40NDQ1QzIxLjU5MiAyNS4zMTY1IDE5LjQ0NyAyNy43MTUgMjAuMzQ0IDI5LjQ1MDVDMjAuNjU2IDMwLjk1MiAyNC44NDg1IDM1LjU5MyAyOS4wOCA0MEMyNC44NDg1IDQ0LjQwNyAyMC42NTYgNDkuMDQ4IDIwLjM0NCA1MC41NDk1QzE5LjQ0NyA1Mi4yODUgMjEuNTcyNSA1NC42NjQgMjMuNDQ0NSA1Ni41NTU1QzI1LjMxNjUgNTguNDQ3IDI3LjcxNSA2MC41NTMgMjkuNDUwNSA1OS42NTZDMzAuOTUyIDU5LjM0NCAzNS41OTMgNTUuMTUxNSA0MCA1MC45MkM0NC40MDcgNTUuMTUxNSA0OS4wNDggNTkuMzQ0IDUwLjU0OTUgNTkuNjU2QzUyLjI4NSA2MC41NTMgNTQuNjY0IDU4LjQyNzUgNTYuNTU1NSA1Ni41NTU1QzU4LjQ0NyA1NC42ODM1IDYwLjU1MyA1Mi4yODUgNTkuNjU2IDUwLjU0OTVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0Ljc0MjIgMTAuNzVDNTguNjM3MyAxMi40MjE0IDYyLjEzMzMgMTQuOTAwNiA2NC45OTkyIDE4LjAyMzVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRmlsZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDguNDQzNCAyLjI0ODFDNDUuNTc2OSAyLjA1MzEgNDIuNjcxNCAxLjk3NTEgMzkuOTk5OSAxLjk3NTFDMjkuMzcyNCAxLjk3NTEgMTUuMjU0NCAzLjA2NzEgMTIuNTI0NCA4LjgwMDFDOS43NzQ5IDExLjY4NjEgOS4wMTQ0IDI3LjE0OTYgOS4wMTQ0IDQwLjAwMDFDOS4wMTQ0IDUyLjg1MDYgOS43NzQ5IDY4LjI1NTYgMTIuNTI0NCA3MS4yMDAxQzE1LjI1NDQgNzcuMDUwMSAyOS4zNzI0IDc4LjA4MzYgMzkuOTk5OSA3OC4wODM2QzUwLjYyNzQgNzguMDgzNiA2NC43NDU0IDc2LjkzMzEgNjcuNDc1NCA3MS4yMDAxQzcwLjIyNDkgNjguMzE0MSA3MC45ODU0IDUyLjg1MDYgNzAuOTg1NCA0MC4wMDAxQzcwLjk4NTQgMzUuODg1NiA3MC45ODU0IDMxLjQ3ODYgNzAuNzEyNCAyNy4zMjUxQzcwLjQ1ODkgMjEuOTQzMSA1NC4xNTY5IDIuNjE4NiA0OC40NDM0IDIuMjQ4MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ1LjYzNTUgMTAuNDE4N0M0NS42MzU1IDE2LjA1NDIgNDUuNjM1NSAyMS42ODk3IDQ4LjQ0MzUgMjQuNTE3MkM1MS4yNTE1IDI3LjM0NDcgNTYuOTA2NSAyNy4zMjUyIDYyLjU0MiAyNy4zMjUyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjU5NjkgMTEuMjE4QzU0LjY4ODggMTIuODYxNCA1Ni41NDU2IDE0Ljc4MzggNTguMTE1NCAxNi45MzE1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFllcyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMi44OTE2IDQwLjAwMDFDMi44OTE2IDQ0Ljk5MzYgMy44NTE0NCA0OS45MzgyIDUuNzE2MzIgNTQuNTUxNkM3LjU4MTE5IDU5LjE2NSAxMC4zMTQ2IDYzLjM1NjkgMTMuNzYwNCA2Ni44ODc4QzE3LjIwNjMgNzAuNDE4OCAyMS4yOTcxIDczLjIxOTcgMjUuNzk5MyA3NS4xMzA2QzMwLjMwMTUgNzcuMDQxNiAzNS4xMjY5IDc4LjAyNTEgNDAuMDAwMSA3OC4wMjUxQzQ0Ljg3MzMgNzguMDI1MSA0OS42OTg3IDc3LjA0MTYgNTQuMjAwOSA3NS4xMzA2QzU4LjcwMzEgNzMuMjE5NyA2Mi43OTM5IDcwLjQxODggNjYuMjM5OCA2Ni44ODc4QzY5LjY4NTYgNjMuMzU2OSA3Mi40MTkgNTkuMTY1IDc0LjI4MzkgNTQuNTUxNkM3Ni4xNDg4IDQ5LjkzODIgNzcuMTA4NiA0NC45OTM2IDc3LjEwODYgNDAuMDAwMUM3Ny4xMDg2IDM1LjAwNjYgNzYuMTQ4OCAzMC4wNjIgNzQuMjgzOSAyNS40NDg2QzcyLjQxOSAyMC44MzUyIDY5LjY4NTYgMTYuNjQzMyA2Ni4yMzk4IDEzLjExMjRDNjIuNzkzOSA5LjU4MTQxIDU4LjcwMzEgNi43ODA1MSA1NC4yMDA5IDQuODY5NThDNDkuNjk4NyAyLjk1ODY0IDQ0Ljg3MzMgMS45NzUxIDQwLjAwMDEgMS45NzUxQzM1LjEyNjkgMS45NzUxIDMwLjMwMTUgMi45NTg2NCAyNS43OTkzIDQuODY5NThDMjEuMjk3MSA2Ljc4MDUxIDE3LjIwNjMgOS41ODE0MSAxMy43NjA0IDEzLjExMjRDMTAuMzE0NiAxNi42NDMzIDcuNTgxMTkgMjAuODM1MiA1LjcxNjMyIDI1LjQ0ODZDMy44NTE0NCAzMC4wNjIgMi44OTE2IDM1LjAwNjYgMi44OTE2IDQwLjAwMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VjY2Vzc31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC44NTkxIDEwLjI2MjdDNTguNjc0NiAxMS45MzU1IDYyLjA4MTIgMTQuNDE3MiA2NC44NDMxIDE3LjUzNjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjM1NSAyMi45MTgxQzU2Ljg4NDEgMjIuNDQ2NCA1Ni4zMjQ5IDIyLjA3MjIgNTUuNzA5MiAyMS44MTY5QzU1LjA5MzUgMjEuNTYxNiA1NC40MzM2IDIxLjQzMDIgNTMuNzY3IDIxLjQzMDJDNTMuMTAwNSAyMS40MzAyIDUyLjQ0MDYgMjEuNTYxNiA1MS44MjQ5IDIxLjgxNjlDNTEuMjA5MiAyMi4wNzIyIDUwLjY1IDIyLjQ0NjQgNTAuMTc5IDIyLjkxODFDNDYuMjE1OCAyNi4zMDM0IDQyLjcwMzIgMzAuMTgzMSAzOS43MjcgMzQuNDYyMUMzOC40OTg1IDM2LjEwMDEgMzcuMzQ4IDM3LjY3OTYgMzYuMjk1IDM5LjE2MTZDMzIuMzk1IDM2LjE1ODYgMjkuNDMxIDM0LjA1MjYgMjguMTgzIDMzLjg5NjZDMjYuMDU3NSAzMy4wNTgxIDIzLjc1NjUgMzUuNDE3NiAyMi4zMzMgMzcuNDA2NkMyMC45MDk1IDM5LjM5NTYgMTkuMTc0IDQyLjIyMzEgMjAuNSA0NC4wOTUxQzIwLjk4NzUgNDUuMjg0NiAyMy42OTggNDcuODAwMSAyNy41Mzk1IDUwLjc4MzZDMzIuMTIyIDU0LjM3MTYgMzUuNDU2NSA1Ny4wODIxIDM3LjI4OTUgNTcuMzM1NkM0MC4yNzMgNTguNTI1MSA0Mi4zNzkgNTQuODk4MSA1MC45Mzk1IDQzLjMxNTFDNTQuMTg4IDM5LjIxNjEgNTYuOTM3MyAzNC43NDUyIDU5LjEyOTUgMjkuOTk2NkM1OS43ODE3IDI4LjgxMDYgNTkuOTYxMiAyNy40MjE4IDU5LjYzMiAyNi4xMDlDNTkuMzAyOSAyNC43OTYxIDU4LjQ4OTUgMjMuNjU2MyA1Ny4zNTUgMjIuOTE4MVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBOb3RlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni4yMTE2IDI0Ljg4NDZDNzQuNTU0MSAyMC42NzI2IDYzLjYzNDEgMjAuMDg3NiA1Ny4yNTc2IDIwLjA4NzZDNTEuMTg4NiAyMC40MDk5IDQ1LjI3OSAyMi4xNDYxIDQwLjAwMDEgMjUuMTU3NkMzNC43MjEyIDIyLjE0NjEgMjguODExNiAyMC40MDk5IDIyLjc0MjYgMjAuMDg3NkMxNi4zNjYxIDIwLjA4NzYgNS40NDYxIDIwLjY3MjYgMy43ODg2IDI0Ljg4NDZDMi4xMzExIDI3LjAxMDEgMS45NzUxIDM4LjMyMDEgMS45NzUxIDQ3LjY5OTZDMS45NzUxIDU3LjA3OTEgMi4xMzExIDY4LjQwODYgMy43ODg2IDcwLjUzNDFDNS40NDYxIDc0Ljc4NTEgMTQuNjUwMSA3MS4wODAxIDIyLjc0MjYgNzEuMDgwMUMyNi4yMjkxIDcxLjE5MDEgMjkuNzAyOSA3MS41NTUxIDMzLjEzNjEgNzIuMTcyMUMzMy45MTYxIDc1LjQwOTEgMzcuNzM4MSA3NS44NTc3IDQwLjAwMDEgNzUuODU3N0M0Mi4yNjIxIDc1Ljg1NzcgNDYuMDQ1MSA3NS40MDkxIDQ2Ljg0NDYgNzIuMjExMUM1MC4yODU4IDcxLjU5NzIgNTMuNzY0OSA3MS4yMTkzIDU3LjI1NzYgNzEuMDgwMUM2Ni4wNTIxIDcxLjA4MDEgNzQuNTU0MSA3NC43ODUxIDc2LjIxMTYgNzAuNTM0MUM3Ny44NjkxIDY4LjQwODYgNzguMDI1MSA1Ny4wOTg2IDc4LjAyNTEgNDcuNjk5NkM3OC4wMjUxIDM4LjMwMDYgNzcuODY5MSAyNy4wMTAxIDc2LjIxMTYgMjQuODg0NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljg2IDMyLjc2MjdDMjMuOTY0NyAzMi4wODAxIDE4LjAxMDMgMzIuMDgwMSAxMi4xMTUgMzIuNzYyN1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuODYgNDUuNDM3N0MyMy45NjQ3IDQ0Ljc1NTEgMTguMDEwMyA0NC43NTUxIDEyLjExNSA0NS40Mzc3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS44NiA1OC42MTk2QzIzLjk2NDcgNTcuOTM3IDE4LjAxMDMgNTcuOTM3IDEyLjExNSA1OC42MTk2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny44ODUxIDMyLjc2MjdDNjEuOTg5OCAzMi4wODAxIDU2LjAzNTQgMzIuMDgwMSA1MC4xNDAxIDMyLjc2MjdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3Ljg4NTEgNDUuNDM3N0M2MS45ODk4IDQ0Ljc1NTEgNTYuMDM1NCA0NC43NTUxIDUwLjE0MDEgNDUuNDM3N1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuODg1MSA1OC42MTk2QzYxLjk4OTggNTcuOTM3IDU2LjAzNTQgNTcuOTM3IDUwLjE0MDEgNTguNjE5NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAgMjUuMTU3N1Y2MC42NDc3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny4xNjM2IDI1LjE1NzdDNzIuMzg5NiAyNS45Mzc3IDcyLjQ4NzEgMjcuMzQxNyA3Mi42ODIxIDI5LjY2MjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM4LjMyOTIgMjYuMDIwNEMzOC4yNzc0IDI2LjA3MjIgMzcuMDI1NSAyNi44ODM3IDM1Ljg0MjcgMzIuMzE0MUMzNS4zODEyIDM0LjMxNzUgMzUuMTc4MSAzNi4zNzE3IDM1LjIzODQgMzguNDI2NkMzNS4zMTQ5IDM5LjA1OTUgMzUuNjAxNSAzOS42NDg0IDM2LjA1MjMgNDAuMDk5MkMzNi41MDMgNDAuNTUgMzcuMDkxOSA0MC44MzY1IDM3LjcyNDggNDAuOTEzMUMzOS43Nzk4IDQwLjk3MzQgNDEuODM0IDQwLjc3MDMgNDMuODM3MyA0MC4zMDg3QzQ0LjU4ODQgNDAuMTQ0NyA0OC44MDE1IDM5LjE2MDUgNTAuMTM5NyAzNy44MjIzTDU3LjA0NjUgMzAuOTE1NUM2MC41Nzc1IDI3LjM3NTggNjguNzM2MSAxOC44ODA1IDY4Ljc1MzQgMTcuMDU4OUM2OS4yMTk2IDE1LjY5NDggNjcuNzM0NiAxMi4zNzk1IDY1Ljc0OSAxMC4zOTM5QzYzLjc2MzMgOC40MDgxNyA2MC40NDggNi45MjMyMiA1OS4wNzUzIDcuMzg5NDJDNTcuMjYyMyA3LjM4OTQyIDQ4Ljc2NyAxNS41NjUzIDQ1LjI2MTggMTkuMTEzNkwzOC4zMjkyIDI2LjAyMDRaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC4xNDUzIDM0LjgwOTJDNDcuMjIwNCAzMy40OTY3IDQ2LjE3MDkgMzIuMjc2NiA0NS4wMTE0IDMxLjE2NTlDNDMuOTA0NSAzMC4wMDU2IDQyLjY4NzIgMjguOTU2IDQxLjM3NjcgMjguMDMyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02My45MjczIDE5LjAyNzJDNjMuMDA4NyAxNy43MDk4IDYxLjk1ODcgMTYuNDg5MSA2MC43OTMzIDE1LjM4MzlDNTkuNjk0NyAxNC4yMjUgNTguNDg2MSAxMy4xNzU0IDU3LjE4NDYgMTIuMjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU5LjYzNjUgOS44MTUzMUM2MC4xNzE3IDkuNDAwOTEgNjIuMTY2MSAxMC40MTEgNjMuNzExNSAxMS42ODAxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEZlbmNlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Ni44MzU0IDIzLjYwMDVDNzMuNzM3NiAyMC44NTI5IDcwLjM0MzEgMTguNDU5MSA2Ni43MTQ5IDE2LjQ2MzVDNjMuMjE0OCAxNC4yODQ1IDU5LjQ4NzggMTIuNDkzIDU1LjU5OTkgMTEuMTIwNUM1NC40MjM2IDEwLjg2MjcgNTMuMTk3OCAxMC45NTA3IDUyLjA3MDQgMTEuMzc0QzQ4LjM4NTEgMTMuMjYyMiA0NC45MTkxIDE1LjU1MTEgNDEuNzM1NCAxOC4xOTlDMzguNDI2OSAyMC42OTc2IDM1LjM5OTYgMjMuNTQ4MyAzMi43MDY5IDI2LjcwMUMzMi4xMjc3IDI3LjY3MDMgMzEuODcwNCAyOC43OTgxIDMxLjk3MiAyOS45MjI3QzMyLjA3MzYgMzEuMDQ3MyAzMi41Mjg5IDMyLjExMDggMzMuMjcyNCAzMi45NjA1QzMzLjkwMjcgMzMuODI4OSAzNC43NzY1IDM0LjQ5MDcgMzUuNzgzMiAzNC44NjIyQzM2Ljc4OTkgMzUuMjMzNiAzNy44ODQyIDM1LjI5NzkgMzguOTI3NCAzNS4wNDdWMzYuNzI0QzM5LjI3ODQgNDEuNTYgNDEuMDUyOSA0Ny4yOTMgNDIuNTE1NCA0OC4yODc1QzQ0LjAzNjQgNTAuMzc0IDUxLjE5MjkgNTAuOTc4NSA1Ni41MzU5IDUwLjYwOEM2MS44Nzg5IDUwLjIzNzUgNjguODU5OSA0OC42NTggNzAuMTg1OSA0Ni4zNTdDNzEuNDcyOSA0NS4xNjc1IDcyLjQ0NzkgMzkuMjM5NSA3Mi4xMzU5IDM0LjQwMzVDNzIuMTM1OSAzMy44NTc1IDcyLjAzODQgMzMuMzExNSA3MS45NjA0IDMyLjc0NkM3My4wMjYzIDMyLjg0MzUgNzQuMDk3MiAzMi42MjU3IDc1LjA0MDIgMzIuMTE5NUM3NS45ODMzIDMxLjYxMzMgNzYuNzU2NyAzMC44NDEyIDc3LjI2NDUgMjkuODk5Qzc3Ljg3NDIgMjguOTQwNyA3OC4xNjE1IDI3LjgxMjUgNzguMDg0MyAyNi42NzkzQzc4LjAwNzIgMjUuNTQ2MSA3Ny41Njk1IDI0LjQ2NzMgNzYuODM1NCAyMy42MDA1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NS40MjQ1IDM0Ljc3NEM0OC4wOTI1IDM1LjI4MSA1MS43MTk1IDQ1LjM0MyA1Mi41OTcgNDYuMTgxNUM1My4wNDU1IDQ3LjAyIDU0LjcwMyA0Ni45MDMgNTYuMjYzIDQ2LjgwNTVDNTcuODIzIDQ2LjcwOCA1OS40NjEgNDYuNTcxNSA1OS44MTIgNDUuNjc0NUM2MC41NzI1IDQ0LjcxOSA2Mi43NTY1IDM0LjI0NzUgNTUuNDI0NSAzNC43NzRaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQzLjk5NzQgMzEuMzAzQzQ3LjU0NzMgMjkuNDA5MiA1MC44NTQgMjcuMDkxMiA1My44NDQ5IDI0LjRDNTQuMDc0NCAyNC4xOTQ2IDU0LjM2NTggMjQuMDcxNSA1NC42NzMxIDI0LjA1MDNDNTQuOTgwNCAyNC4wMjkxIDU1LjI4NTkgMjQuMTExIDU1LjU0MTQgMjQuMjgzQzU4Ljg3MzEgMjYuNTU5OSA2Mi40Njc2IDI4LjQyNTkgNjYuMjQ2OSAyOS44NDA1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjA2MjUgMTUuNjY0QzU5Ljg4NDkgMTYuNjgxNSA2Mi41MjAyIDE4LjE1NzMgNjQuODYyNSAyMC4wMzJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjgyOTUgMy42MTNDMzAuNjYyNyAzLjcyMzY4IDI5LjU3MiA0LjI0MTQyIDI4Ljc0ODUgNS4wNzU1QzI3LjcxNTcgNC41MjQzMiAyNi41MjY3IDQuMzM4NzYgMjUuMzc1IDQuNTQ5QzI0LjcxMjMgNC41Nzc5NCAyNC4wNjQ0IDQuNzU0MTUgMjMuNDc4NCA1LjA2NDgzQzIyLjg5MjMgNS4zNzU1IDIyLjM4MjggNS44MTI4MyAyMS45ODY5IDYuMzQ1MDVDMjEuNTkxIDYuODc3MjYgMjEuMzE4NyA3LjQ5MDk5IDIxLjE4OTcgOC4xNDE2M0MyMS4wNjA2IDguNzkyMjcgMjEuMDc4MiA5LjQ2MzQ5IDIxLjI0MSAxMC4xMDY1QzIxLjg4NDUgMTQuNTcyIDI2LjQ2NyAxNy4wNjggMjkuODc5NSAxOC4zMTZDMzAuMTM3NiAxOC40MTUyIDMwLjQxNyAxOC40NDU4IDMwLjY5MDQgMTguNDA0OEMzMC45NjM4IDE4LjM2MzcgMzEuMjIxOSAxOC4yNTI1IDMxLjQzOTUgMTguMDgyQzM0LjM2NDUgMTUuODk4IDM4LjAzMDUgMTIuMjMyIDM3LjI4OTUgNy43NDdDMzcuMjYxIDcuMDkzNTUgMzcuMDg4NyA2LjQ1NDQ0IDM2Ljc4NDggNS44NzUyNUMzNi40ODA5IDUuMjk2MDYgMzYuMDUzIDQuNzkxMDQgMzUuNTMxNSA0LjM5NjIyQzM1LjAxMDEgNC4wMDE0IDM0LjQwNzkgMy43MjY1IDMzLjc2OCAzLjU5MTExQzMzLjEyODEgMy40NTU3MyAzMi40NjYyIDMuNDYzMiAzMS44Mjk1IDMuNjEzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTUuNjI1IDI3LjYxNzVDMTUuNjI1IDI4LjE1MjcgMTUuNzMwNCAyOC42ODI3IDE1LjkzNTIgMjkuMTc3MUMxNi4xNCAyOS42NzE2IDE2LjQ0MDIgMzAuMTIwOSAxNi44MTg3IDMwLjQ5OTNDMTcuMTk3MSAzMC44Nzc4IDE3LjY0NjQgMzEuMTc4IDE4LjE0MDkgMzEuMzgyOEMxOC42MzUzIDMxLjU4NzYgMTkuMTY1MyAzMS42OTMgMTkuNzAwNSAzMS42OTNDMjAuMjM1NyAzMS42OTMgMjAuNzY1NyAzMS41ODc2IDIxLjI2MDEgMzEuMzgyOEMyMS43NTQ2IDMxLjE3OCAyMi4yMDM5IDMwLjg3NzggMjIuNTgyMyAzMC40OTkzQzIyLjk2MDggMzAuMTIwOSAyMy4yNjEgMjkuNjcxNiAyMy40NjU4IDI5LjE3NzFDMjMuNjcwNiAyOC42ODI3IDIzLjc3NiAyOC4xNTI3IDIzLjc3NiAyNy42MTc1QzIzLjc3NiAyNy4wODIzIDIzLjY3MDYgMjYuNTUyMyAyMy40NjU4IDI2LjA1NzlDMjMuMjYxIDI1LjU2MzQgMjIuOTYwOCAyNS4xMTQxIDIyLjU4MjMgMjQuNzM1N0MyMi4yMDM5IDI0LjM1NzIgMjEuNzU0NiAyNC4wNTcgMjEuMjYwMSAyMy44NTIyQzIwLjc2NTcgMjMuNjQ3NCAyMC4yMzU3IDIzLjU0MiAxOS43MDA1IDIzLjU0MkMxOS4xNjUzIDIzLjU0MiAxOC42MzUzIDIzLjY0NzQgMTguMTQwOSAyMy44NTIyQzE3LjY0NjQgMjQuMDU3IDE3LjE5NzEgMjQuMzU3MiAxNi44MTg3IDI0LjczNTdDMTYuNDQwMiAyNS4xMTQxIDE2LjE0IDI1LjU2MzQgMTUuOTM1MiAyNi4wNTc5QzE1LjczMDQgMjYuNTUyMyAxNS42MjUgMjcuMDgyMyAxNS42MjUgMjcuNjE3NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYuNjkzOTcgMTQuMjAxNUM2LjY5Mzk3IDE1LjA1NDggNy4wMzI5NiAxNS44NzMyIDcuNjM2MzUgMTYuNDc2NkM4LjIzOTc1IDE3LjA4IDkuMDU4MTQgMTcuNDE5IDkuOTExNDcgMTcuNDE5QzEwLjc2NDggMTcuNDE5IDExLjU4MzIgMTcuMDggMTIuMTg2NiAxNi40NzY2QzEyLjc5IDE1Ljg3MzIgMTMuMTI5IDE1LjA1NDggMTMuMTI5IDE0LjIwMTVDMTMuMTI5IDEzLjM0ODIgMTIuNzkgMTIuNTI5OCAxMi4xODY2IDExLjkyNjRDMTEuNTgzMiAxMS4zMjMgMTAuNzY0OCAxMC45ODQgOS45MTE0NyAxMC45ODRDOS4wNTgxNCAxMC45ODQgOC4yMzk3NSAxMS4zMjMgNy42MzYzNSAxMS45MjY0QzcuMDMyOTYgMTIuNTI5OCA2LjY5Mzk3IDEzLjM0ODIgNi42OTM5NyAxNC4yMDE1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTEuNyA0NC4wMzY1QzUwLjMxMjMgNDMuNzY5OSA0OC44NzUxIDQ0LjAwMTEgNDcuNjQxMSA0NC42ODk1QzQ2LjQwNyA0NS4zNzc4IDQ1LjQ1NTIgNDYuNDc5MiA0NC45NTMgNDcuOEwzNy4zMDkgNDYuNDE1NUMzNy4zMjg1IDQ1LjAxOSAzNi44NDc4IDQzLjY2MTYgMzUuOTUzNyA0Mi41ODg3QzM1LjA1OTYgNDEuNTE1OCAzMy44MTExIDQwLjc5ODEgMzIuNDM0IDQwLjU2NTVDMzEuMDQ4NyA0MC4yOTc3IDI5LjYxMzQgNDAuNTI2MSAyOC4zNzk3IDQxLjIxMDdDMjcuMTQ2IDQxLjg5NTMgMjYuMTkyNyA0Mi45OTIzIDI1LjY4NyA0NC4zMDk1TDE3Ljk4NDUgNDIuODg2QzE4LjAwMzMgNDEuNDg2NyAxNy41MTk4IDQwLjEyNyAxNi42MjE3IDM5LjA1MzZDMTUuNzIzNyAzNy45ODAzIDE0LjQ3MDcgMzcuMjY0NSAxMy4wOSAzNy4wMzZDNi42OTM5OSAzNS44NjYgNS4xNTM0OSA0My42MDc1IDQuNjY1OTkgNDYuMjIwNUMzLjYzMjQ5IDUxLjg1NiAxLjM4OTk5IDY0Ljg0MyAyLjExMTQ5IDY2LjQ4MUMyLjM0NTQ5IDY4LjA0MSA0Ljk1ODQ5IDY4LjY2NSA3LjE0MjQ5IDY5LjA3NDVDOS4zMjY0OSA2OS40ODQgMTEuOTk4IDY5Ljc5NiAxMi43NTg1IDY4LjQzMUMxMy4zMjA3IDY3LjQ3NTkgMTMuNzIyNSA2Ni40MzUxIDEzLjk0OCA2NS4zNUwyMS40MTY1IDY2LjcxNUMyMS4yMjkyIDY3LjgxMjEgMjEuMjI5MiA2OC45MzI5IDIxLjQxNjUgNzAuMDNDMjEuNjMxIDcxLjU5IDI0LjI0NCA3Mi4yMTQgMjYuNDI4IDcyLjYyMzVDMjguNjEyIDczLjAzMyAzMS4yODM1IDczLjM2NDUgMzIuMDQ0IDcxLjk4QzMyLjYyMjQgNzEuMDMwOCAzMy4wMzE1IDY5Ljk4ODMgMzMuMjUzIDY4Ljg5OUw0MC42NDM1IDcwLjI0NDVDNDAuNDcxMSA3MS4zNDI4IDQwLjQ3MTEgNzIuNDYxMiA0MC42NDM1IDczLjU1OTVDNDAuODc3NSA3NS4xMTk1IDQzLjQ5MDUgNzUuNzQzNSA0NS42NzQ1IDc2LjEzMzVDNDcuODU4NSA3Ni41MjM1IDUwLjUzIDc2Ljg3NDUgNTEuMjkwNSA3NS40OUM1Mi41Mzg1IDc0LjIwMyA1NS4wMzQ1IDYxLjI5NCA1Ni4wNjggNTUuNjE5NUM1Ni42MTQgNTMuMDA2NSA1OC4xMTU1IDQ1LjIwNjUgNTEuNyA0NC4wMzY1Wk0xNS44MiA1Ny4zOTRDMTYuMjg4IDU1LjE1MTUgMTYuNzE3IDUyLjg4OTUgMTcuMDg3NSA1MC45Nzg1TDIzLjU2MTUgNTIuMTY4QzIzLjIzIDU0LjExOCAyMi44NCA1Ni4zNDEgMjIuNDg5IDU4LjYwM0wxNS44MiA1Ny4zOTRaTTM1LjE0NDUgNjAuOTIzNUMzNS42MTI1IDU4LjY4MSAzNi4wNjEgNTYuNDE5IDM2LjQxMiA1NC41Mjc1TDQyLjgyNzUgNTUuNjc4QzQyLjQ3NjUgNTcuNjI4IDQyLjEwNiA1OS44NzA1IDQxLjc1NSA2Mi4xMzI1TDM1LjE0NDUgNjAuOTIzNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUxLjA5NTUgNDcuMjczNUM1MS43NTQxIDQ3LjQwMjggNTIuMzQ1MyA0Ny43NjIxIDUyLjc2MzMgNDguMjg3M0M1My4xODEyIDQ4LjgxMjQgNTMuMzk4OCA0OS40NjkyIDUzLjM3NyA1MC4xNFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBCdWlsZGluZyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMzkuMDUzMiAzOC44OTIzQzM4LjcxNTYgMzguODM1NSAzOC4zNzQ5IDM4Ljc5ODUgMzguMDMyOSAzOC43ODE1QzM4LjM0MjggMzQuMjY5MyAzOC40MDE3IDI5Ljc0MzQgMzguMjA5NSAyNS4yMjQ3QzM4LjAxMDcgMTkuMTI3MyAzNy4zMjg0IDguNjY2OTkgMzQuNzMxMiA3LjE2NTc1QzMzLjM2NzkgNi4yNTM3MSAzMS43NTE4IDUuNzk0NjYgMzAuMTEyNiA1Ljg1MzlDMjkuOTk2NiA1LjA0ODI2IDI5LjY1NjcgNC4yOTE0MiAyOS4xMzE4IDMuNjY5MzhDMjguMzE4OCAyLjM4NjcxIDI0LjI0MjkgMi4zOTYwNSAyMC44NzAxIDIuNTAyMjFDMTcuNDk3NCAyLjYwODM2IDEzLjQxODYgMi44NzQxNyAxMi43MDM4IDQuMjE2ODZDMTIuMjE3OSA0Ljg3MjE0IDExLjkyNjEgNS42NTA4NyAxMS44NjE4IDYuNDY0MDdDMTAuMjMxMyA2LjUwMDcxIDguNjUxMDQgNy4wMzUwNyA3LjMzMyA3Ljk5NTUxQzQuODUzMTIgOS42NjgzOSA0Ljg3MDg0IDIwLjE2NDMgNS4wNjY4OCAyNi4yNDI0QzUuMTY4MjQgMzAuNzY0NiA1LjUyODI0IDM1LjI3NzMgNi4xNDUwNCAzOS43NTg0QzUuODAxIDM5Ljc4MzEgNS40NTkxMiAzOS44MzE4IDUuMTIxODggMzkuOTA0MUMxLjk3NTEzIDQwLjM1MjQgMi4zMTMyNCA0My4wMDI4IDIuMzUzOTcgNDQuNTMzMkMyLjM5NDcgNDYuMDYzNiAyLjI1NTczIDQ4LjY4MzYgNS40Mjk3NiA0OC45OEM3LjAxMjUyIDQ5LjMwNiAxNS40MjkyIDQ5LjA3MjQgMjIuMzg5OCA0OC44NDkyQzI5LjM1MDMgNDguNjI1NiAzNy43NzI1IDQ4LjI5MjggMzkuMzQ0NiA0Ny44NTI0QzQyLjQ5MTIgNDcuNDA0IDQyLjE1MDQgNDQuNzM0NCA0Mi4xMTI0IDQzLjIyMzJDNDIuMDc0NCA0MS43MTIgNDIuMjI3MiAzOS4xODg3IDM5LjA1MzIgMzguODkyM1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE3LjQ4OTUgMTguNzIyQzE3Ljk5OTggMTguNDMyNyAxOC4wMzM1IDE3LjAwOTcgMTcuOTk4MSAxNS45MzE0QzE3Ljk2MjcgMTQuODUzMiAxNy44MjI2IDEzLjQ1NDkgMTcuMzEyNiAxMy4xOTI3QzE2LjQ1NTkgMTIuODE4NCAxNS41MjAyIDEyLjY2MDggMTQuNTg4MiAxMi43MzM4QzEzLjY0NjggMTIuNzE3NCAxMi43MTY0IDEyLjkzOCAxMS44ODI2IDEzLjM3NTJDMTEuMzkxNiAxMy42NjE4IDExLjMzODYgMTUuMDg3NiAxMS4zNzQgMTYuMTY1OEMxMS40MDk0IDE3LjI0NDEgMTEuNTQ5NCAxOC42NDI0IDEyLjA1OTUgMTguOTA0NkMxMi45MjQxIDE5LjI3NSAxMy44NjUzIDE5LjQzMTQgMTQuODAzMiAxOS4zNjA3QzE1LjczODMgMTkuMzc4OSAxNi42NjI3IDE5LjE1OTEgMTcuNDg5NSAxOC43MjJaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTMwLjc0MjQgMTguMjkxNUMzMS4yNDk5IDE3Ljk4MjggMzEuMjg2NCAxNi41NzkxIDMxLjI1MSAxNS41MDA5QzMxLjIxNTYgMTQuNDIyNiAzMS4wNzU1IDEzLjAyNDMgMzAuNTY1NCAxMi43NjIxQzI5LjcwNyAxMi40MTQyIDI4Ljc3NDQgMTIuMjg5NSAyNy44NTQ3IDEyLjM5OThDMjYuOTEyMiAxMi4zNzI5IDI1Ljk3OTIgMTIuNTk0MSAyNS4xNDkyIDEzLjA0MTJDMjQuNjU4MiAxMy4zMjc4IDI0LjYwNTIgMTQuNzUzNSAyNC42Mzc4IDE1LjgxMjVDMjQuNjcwNSAxNi44NzE1IDI0LjgxNiAxOC4zMDgzIDI1LjMyMzQgMTguNTUxMkMyNi4xOTI4IDE4Ljg5MyAyNy4xMjI2IDE5LjA1NDggMjguMDU2NSAxOS4wMjY4QzI4Ljk5MDMgMTguOTk4NyAyOS45MDg4IDE4Ljc4MTQgMzAuNzU2MSAxOC4zODhMMzAuNzQyNCAxOC4yOTE1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xNy43ODM2IDI4LjY2NTlDMTguMjc0NiAyOC4zNzkzIDE4LjMyNzYgMjYuOTUzNiAxOC4yOTIxIDI1Ljg3NTNDMTguMjU2NyAyNC43OTcgMTguMTE2NyAyMy4zOTg4IDE3LjYwNjYgMjMuMTM2NkMxNi43NzI2IDIyLjc3NjYgMTUuODY2MyAyMi42MTU3IDE0Ljk1OTQgMjIuNjY2N0MxNC4wMjQ1IDIyLjY1MDIgMTMuMTAwNiAyMi44Njk5IDEyLjI3MzEgMjMuMzA1NEMxMS43ODIxIDIzLjU5MiAxMS43MjkxIDI1LjAxNzcgMTEuNzY0NSAyNi4wOTZDMTEuNzk5OSAyNy4xNzQzIDExLjk0IDI4LjU3MjUgMTIuNDUwMSAyOC44MzQ3QzEzLjMxNDcgMjkuMjA1MSAxNC4yNTU4IDI5LjM2MTYgMTUuMTkzOCAyOS4yOTA4QzE2LjA5NTIgMjkuMjk3MSAxNi45ODQzIDI5LjA4MjYgMTcuNzgzNiAyOC42NjU5WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zMS4wNzUzIDI4LjIzMDNDMzEuNTYzNiAyNy45MjQ0IDMxLjYxNjYgMjYuNDk4NiAzMS41ODM5IDI1LjQzOTdDMzEuNTUxMiAyNC4zODA3IDMxLjQwODQgMjIuOTYzMiAzMC44OTg0IDIyLjcwMUMzMC4wMzkgMjIuMzA0NyAyOS4wOTI3IDIyLjEzNDQgMjguMTQ5MSAyMi4yMDYyQzI3LjIxMyAyMi4xNzgyIDI2LjI4NjIgMjIuMzk4NiAyNS40NjI4IDIyLjg0NDlDMjQuOTcxOCAyMy4xMzE1IDI0LjkxODkgMjQuNTU3MiAyNC45NTE1IDI1LjYxNjJDMjQuOTg0MiAyNi42NzUyIDI1LjEzNTIgMjguMTUwNiAyNS42MzQyIDI4LjQ3MzVDMjYuNTAzNyAyOC44MTUzIDI3LjQzMzUgMjguOTc3MSAyOC4zNjc0IDI4Ljk0OUMyOS4zMDEyIDI4LjkyMSAzMC4yMTk2IDI4LjcwMzcgMzEuMDY3IDI4LjMxMDJMMzEuMDc1MyAyOC4yMzAzWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0xOC4xNTM3IDM4LjU5OTVDMTguNjQ0NyAzOC4zMTI5IDE4LjY5NzcgMzYuODg3MiAxOC42NjIyIDM1LjgwODlDMTguNjI2OCAzNC43MzA3IDE4LjQ2MTkgMzMuNDM0NSAxNy45NzY3IDMzLjA3MDNDMTcuMTEyMSAzMi42OTk4IDE2LjE3MDkgMzIuNTQzMyAxNS4yMzMgMzIuNjE0MUMxNC4yOTc5IDMyLjU5NTkgMTMuMzczNSAzMi44MTU3IDEyLjU0NjcgMzMuMjUyN0MxMi4wMzY0IDMzLjU0MjEgMTIuMDAyNyAzNC45NjUxIDEyLjAzODEgMzYuMDQzM0MxMi4wNzM1IDM3LjEyMTYgMTIuMjEzNiAzOC41MTk5IDEyLjcyMzcgMzguNzgyMUMxMy41ODA0IDM5LjE1NjQgMTQuNTE2IDM5LjMxNCAxNS40NDgxIDM5LjI0MUMxNi4zODk1IDM5LjI1NzMgMTcuMzE5OCAzOS4wMzY3IDE4LjE1MzcgMzguNTk5NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMzEuNDA0NiAzOC4xNjk0QzMxLjg5MjggMzcuODYzNSAzMS45NDU4IDM2LjQzNzggMzEuOTEzMiAzNS4zNzg4QzMxLjg4MDUgMzQuMzE5OCAzMS43Mzc3IDMyLjkwMjMgMzEuMjI3NiAzMi42NDAxQzMwLjM2NjUgMzIuMjU3OSAyOS40MjI0IDMyLjEwMSAyOC40ODM5IDMyLjE4MzlDMjcuNTQ3OCAzMi4xNTU5IDI2LjYyMSAzMi4zNzYzIDI1Ljc5NzYgMzIuODIyNkMyNS4yODczIDMzLjExMiAyNS4yNTM2IDM0LjUzNDkgMjUuMjg2MyAzNS41OTM5QzI1LjMxODkgMzYuNjUyOSAyNS40NjQ1IDM4LjA4OTcgMjUuOTcxOCAzOC4zMzI2QzI2LjgyNzIgMzguNzE1NSAyNy43NjQ0IDM4Ljg3OTggMjguNjk5IDM4LjgxMDhDMjkuNjM5MyAzOC44MTc2IDMwLjU2NzQgMzguNTk3NSAzMS40MDQ2IDM4LjE2OTRaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTI5LjYyNSA4LjkzNjUyQzMzLjM1MzMgOS4yNTI0NCAzMi45NjcyIDkuMzA3NDQgMzMuNjA2MiAxMS4zMDQzXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk03MS4wODI4IDEzLjA5MjRDNjkuOTMxMiAxMi44NzQ3IDY4LjczOTYgMTMuMDY5MSA2Ny43MTY4IDEzLjY0MTZDNjYuODc3NiAxMi44MjUzIDY1Ljc4NzIgMTIuMzE2OCA2NC42MjI0IDEyLjE5ODlDNjMuOTc3NiAxMi4wNDI2IDYzLjMwNjQgMTIuMDMxOSA2Mi42NTcyIDEyLjE2NzZDNjIuMDA3NiAxMi4zMDMzIDYxLjM5NjggMTIuNTgxOSA2MC44Njg4IDEyLjk4MzJDNjAuMzQwNCAxMy4zODQ1IDU5LjkwODQgMTMuODk4NCA1OS42MDM2IDE0LjQ4NzZDNTkuMjk5MiAxNS4wNzY4IDU5LjEyOTYgMTUuNzI2NSA1OS4xMDcyIDE2LjM4OTVDNTguNDg1MiAyMC44NTggNjIuMTk0IDI0LjUyODYgNjUuMTI1NiAyNi42NzUzQzY1LjM0NiAyNi44NDIzIDY1LjYwNiAyNi45NDkyIDY1Ljg4IDI2Ljk4NThDNjYuMTU0IDI3LjAyMjMgNjYuNDMyOCAyNi45ODcyIDY2LjY4OTIgMjYuODgzOEM3MC4xMDYgMjUuNTk4MiA3NC42NDYgMjMuMDk0NiA3NS4xNzk2IDE4LjU4MDNDNzUuMzM0IDE3Ljk0NDYgNzUuMzQ2IDE3LjI4MjggNzUuMjE0OCAxNi42NDJDNzUuMDgzNiAxNi4wMDEyIDc0LjgxMjggMTUuMzk3MiA3NC40MjE2IDE0Ljg3MzFDNzQuMDMwNCAxNC4zNDkgNzMuNTI4NCAxMy45MTc2IDcyLjk1MTIgMTMuNjA5OEM3Mi4zNzQgMTMuMzAyIDcxLjczNiAxMy4xMjU0IDcxLjA4MjggMTMuMDkyNFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTU5LjYwMjggMzAuNTMyOUM1OC4zMzQ0IDMxLjE1NTcgNTcuMzI2IDMyLjIwNTcgNTYuNzU1MiAzMy40OTg0QzU2LjE4NDggMzQuNzkxIDU2LjA4OCAzNi4yNDM1IDU2LjQ4MjQgMzcuNjAwNEw0OS41NDYgNDEuMDk4QzQ4LjcyMDQgMzkuOTcxNCA0Ny41MTkyIDM5LjE3NzIgNDYuMTU5NiAzOC44NTlDNDQuNzk5NiAzOC41NDA5IDQzLjM3MDggMzguNzE5NyA0Mi4xMzEyIDM5LjM2MzJDNDAuODY0IDM5Ljk4MzYgMzkuODU1NiA0MS4wMzA0IDM5LjI4MjkgNDIuMzE5NkMzOC43MTAyIDQzLjYwOTIgMzguNjA5NyA0NS4wNTkyIDM4Ljk5OTEgNDYuNDE1MkwzMS45OTI1IDQ5LjkxNjhDMzEuMTY0OSA0OC43ODg0IDI5Ljk2MDEgNDcuOTk0IDI4LjU5NjggNDcuNjc4QzI3LjIzMzUgNDcuMzYxNiAyNS44MDIxIDQ3LjU0NDggMjQuNTYyMiA0OC4xOTRDMTguNzUxMyA1MS4xMTEyIDIyLjE4MzIgNTguMjE5NiAyMy4zNjc0IDYwLjU5OTJDMjUuOTM1OSA2NS43MjA4IDMxLjk2NiA3Ny40Mzk2IDMzLjUyODQgNzguMzEyOEMzNC42NTQ2IDc5LjQxNzIgMzcuMTE2NCA3OC4zNDIgMzkuMTA2NiA3Ny4zNTM2QzQxLjA5NjggNzYuMzY1NiA0My40MTc2IDc1LjAwNiA0My4yMDI4IDczLjQ1OEM0My4wNzY0IDcyLjM1NzIgNDIuNzcwNCA3MS4yODQgNDIuMjk3MiA3MC4yODJMNDkuMDgxNiA2Ni44NzQ0QzQ5LjU5MjggNjcuODYzMiA1MC4yNjc2IDY4Ljc1OCA1MS4wNzggNjkuNTIxMkM1Mi4xODg0IDcwLjYzNzYgNTQuNjUwNCA2OS41NjIgNTYuNjQwOCA2OC41NzRDNTguNjMwOCA2Ny41ODU2IDYwLjk2MzIgNjYuMjQxNiA2MC43MzY4IDY0LjY3ODRDNjAuNjI2OCA2My41NzI0IDYwLjMyNiA2Mi40OTM2IDU5Ljg0NjggNjEuNDkwNEw2Ni41NTcyIDU4LjExNDRDNjcuMDgwOCA1OS4wOTUyIDY3Ljc1NDQgNTkuOTg4IDY4LjU1MzYgNjAuNzYwOEM2OS42Nzk2IDYxLjg2NTYgNzIuMTQxNiA2MC43OTA0IDc0LjEyIDU5Ljc4NjRDNzYuMDk4NCA1OC43ODI4IDc4LjQ0MjggNTcuNDU0IDc4LjIxNiA1NS44OTA4Qzc4LjQzNzYgNTQuMTEyIDcyLjY1NjggNDIuMzAyOCA3MC4wNjQ4IDM3LjE1MDFDNjguOTI3MiAzNC43MzUyIDY1LjQyOTIgMjcuNjAzOCA1OS42MDI4IDMwLjUzMjlaTTM5LjAwMDggNjIuODAzMkMzOC4wMjQgNjAuNzMwOCAzNy4wMDQ0IDU4LjY2NjggMzYuMTQ5NSA1Ni45MThMNDIuMDM0NCA1My45NjkyQzQyLjk0NCA1NS43MjU2IDQzLjk3MTIgNTcuNzM1MiA0NS4wNTMyIDU5Ljc1MjRMMzkuMDAwOCA2Mi44MDMyWk01Ni41NTQgNTMuOTg0QzU1LjU3NzYgNTEuOTEyIDU0LjU3MzIgNDkuODM2IDUzLjcxNDggNDguMTE0NEw1OS41MjkyIDQ1LjE3QzYwLjQyMzIgNDYuOTM4IDYxLjQ3OCA0OC45NTE2IDYyLjU2IDUwLjk2ODhMNTYuNTU0IDUzLjk4NFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNjEuMDcwNCAzMy40ODE0QzYxLjY3NCAzMy4xODggNjIuMzYyNCAzMy4xMTg5IDYzLjAxMjQgMzMuMjg2NUM2My42NjI0IDMzLjQ1NDEgNjQuMjMxMiAzMy44NDc0IDY0LjYxOCAzNC4zOTYxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk00NS4xNTQgMTUuODMzOEM0NS4yMTA4IDE2LjE1NDEgNDUuMzkzNiAxNi40NDg4IDQ1LjY5MiAxNi43MDExQzQ1Ljk5MDQgMTYuOTUzNSA0Ni4zOTg0IDE3LjE1ODUgNDYuODkzMiAxNy4zMDQ1QzQ3LjM4OCAxNy40NTA2IDQ3Ljk1OTYgMTcuNTM0NyA0OC41NzUyIDE3LjU1MjJDNDkuMTkxMiAxNy41Njk2IDQ5LjgzODggMTcuNTIwMSA1MC40ODIgMTcuNDA2NEM1MS4xMjUyIDE3LjI5MjYgNTEuNzUwNCAxNy4xMTY5IDUyLjMyMjggMTYuODg5M0M1Mi44OTUyIDE2LjY2MTYgNTMuNDAzMiAxNi4zODY2IDUzLjgxOCAxNi4wNzk3QzU0LjIzMjggMTUuNzcyOCA1NC41NDU2IDE1LjQ0MDIgNTQuNzM5NiAxNS4xMDA4QzU0LjkzMzIgMTQuNzYxNCA1NS4wMDM2IDE0LjQyMTggNTQuOTQ3MiAxNC4xMDE2QzU0Ljg5MDQgMTMuNzgxNCA1NC43MDc2IDEzLjQ4NjYgNTQuNDA5MiAxMy4yMzQzQzU0LjExMDggMTIuOTgyIDUzLjcwMjggMTIuNzc2OSA1My4yMDggMTIuNjMwOUM1Mi43MTMyIDEyLjQ4NDkgNTIuMTQxNiAxMi40MDA3IDUxLjUyNiAxMi4zODMzQzUwLjkxIDEyLjM2NTggNTAuMjYyNCAxMi40MTUzIDQ5LjYxOTIgMTIuNTI5MUM0OC45NzY0IDEyLjY0MjggNDguMzUwOCAxMi44MTg1IDQ3Ljc3ODQgMTMuMDQ2MkM0Ny4yMDYgMTMuMjczOCA0Ni42OTggMTMuNTQ4OSA0Ni4yODMyIDEzLjg1NThDNDUuODY4OCAxNC4xNjI2IDQ1LjU1NTYgMTQuNDk1MyA0NS4zNjIgMTQuODM0N0M0NS4xNjggMTUuMTc0MSA0NS4wOTc2IDE1LjUxMzYgNDUuMTU0IDE1LjgzMzhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk00MS40NDg0IDkuNjMwOEM0MS45OTM2IDkuOTk3MTYgNDIuODA4OCA5LjkxMzcyIDQzLjcxNDQgOS4zOTg4QzQ0LjYyIDguODgzODggNDUuNTQyIDcuOTc5NzIgNDYuMjc3NiA2Ljg4NTE2QzQ3LjAxMzIgNS43OTA1NiA0Ny41MDIgNC41OTUzMiA0Ny42MzY4IDMuNTYyMjdDNDcuNzcxNiAyLjUyOTI0IDQ3LjU0MDggMS43NDMwNiA0Ni45OTU2IDEuMzc2NjlDNDYuNzI2IDEuMTk1MjggNDYuMzg2OCAxLjEyMjQgNDUuOTk4IDEuMTYyMjFDNDUuNjA5MiAxLjIwMjAyIDQ1LjE3ODQgMS4zNTM3MyA0NC43MyAxLjYwODY4QzQ0LjI4MTYgMS44NjM2NCA0My44MjQ0IDIuMjE2ODYgNDMuMzg0NCAyLjY0ODE1QzQyLjk0NDggMy4wNzk0NSA0Mi41MzA4IDMuNTgwMzggNDIuMTY2OCA0LjEyMjM2QzQxLjgwMjQgNC42NjQzMiA0MS40OTQ4IDUuMjM2NzIgNDEuMjYxNiA1LjgwNjg4QzQxLjAyODQgNi4zNzcgNDAuODc0IDYuOTMzNzIgNDAuODA3NiA3LjQ0NTI0QzQwLjc0MDggNy45NTY3MiA0MC43NjMyIDguNDEzIDQwLjg3MzIgOC43ODhDNDAuOTgyOCA5LjE2MyA0MS4xNzg0IDkuNDQ5NCA0MS40NDg0IDkuNjMwOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUxvYWQgfSBmcm9tIFwiLi9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7XG4gIEFsZXJ0LFxuICBDaGlsZCxcbiAgQmluLFxuICBDaGVjayxcbiAgQ2FsZW5kYXIsXG4gIENvaW5zLFxuICBGYWNlLFxuICBGYW1pbHksXG4gIEZhdm9yaXRlLFxuICBGb2xkZXIsXG4gIEZvbGxvd1VwLFxuICBJZGVhLFxuICBMaWtlLFxuICBNYXAsXG4gIE1vbmV5LFxuICBPZmZlcixcbiAgUGFzc3BvcnQsXG4gIFBhc3N3b3JkLFxuICBQaW4sXG4gIFNlYXJjaCxcbiAgU2V0dGluZyxcbiAgU3RhcixcbiAgQWRkLFxuICBBcHBsaWNhdGlvbixcbiAgQmFieSxcbiAgQm9va21hcmssXG4gIENhbmNlbCxcbiAgQ29udmVyc2F0aW9uLFxuICBEYWQsXG4gIERhdGVUaW1lLFxuICBIb21lLFxuICBJbmZvcm1hdGlvbixcbiAgTW9tLFxuICBNYWlsLFxuICBObyxcbiAgRmlsZSxcbiAgWWVzLFxuICBOb3RlLFxufSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN2Z3NcIjtcbmltcG9ydCB7IEZpZ3VyZVNpemUsIEZpZ3VyZVR5cGUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5pbXBvcnQgeyBGZW5jZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mZW5jZS5zdmdcIjtcbmltcG9ydCB7IEJ1aWxkaW5nIH0gZnJvbSBcIkAvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJ1aWxkaW5nLnN2Z1wiO1xuXG5leHBvcnQgY29uc3QgTG9hZEZpZ3VyZSA9ICh7IHNpemUsIHR5cGUsIHNjcmVlblJlYWRlclRleHQgfTogSUZpZ3VyZUxvYWQpID0+IHtcbiAgbGV0IFNpemUgPSBcIjIwcHhcIjtcbiAgc3dpdGNoIChzaXplKSB7XG4gICAgY2FzZSBGaWd1cmVTaXplLlNNQUxMOlxuICAgICAgU2l6ZSA9IFwiMTZweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBGaWd1cmVTaXplLkxBUkdFOlxuICAgICAgU2l6ZSA9IFwiNDBweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBGaWd1cmVTaXplLlhMQVJHRTpcbiAgICAgIFNpemUgPSBcIjgwcHhcIjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRmlndXJlU2l6ZS5NRURJVU06XG4gICAgZGVmYXVsdDpcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgRmlndXJlVHlwZS5DSElMRDpcbiAgICAgIHJldHVybiA8Q2hpbGQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuRkFNSUxZOlxuICAgICAgcmV0dXJuIDxGYW1pbHkgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQ0FMRU5EQVI6XG4gICAgICByZXR1cm4gPENhbGVuZGFyIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkJJTjpcbiAgICAgIHJldHVybiA8QmluIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkFMRVJUOlxuICAgICAgcmV0dXJuIDxBbGVydCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5QQVNTV09SRDpcbiAgICAgIHJldHVybiA8UGFzc3dvcmQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuU0VBUkNIOlxuICAgICAgcmV0dXJuIDxTZWFyY2ggc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuRk9MREVSOlxuICAgICAgcmV0dXJuIDxGb2xkZXIgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuUEFTU1BPUlQ6XG4gICAgICByZXR1cm4gPFBhc3Nwb3J0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLlNFVFRJTkc6XG4gICAgICByZXR1cm4gPFNldHRpbmcgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuRkFDRTpcbiAgICAgIHJldHVybiA8RmFjZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5JREVBOlxuICAgICAgcmV0dXJuIDxJZGVhIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLlBJTjpcbiAgICAgIHJldHVybiA8UGluIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLk1PTkVZOlxuICAgICAgcmV0dXJuIDxNb25leSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5GT0xMT1dfVVA6XG4gICAgICByZXR1cm4gPEZvbGxvd1VwIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkZBVk9SSVRFOlxuICAgICAgcmV0dXJuIDxGYXZvcml0ZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5PRkZFUjpcbiAgICAgIHJldHVybiA8T2ZmZXIgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuU1RBUjpcbiAgICAgIHJldHVybiA8U3RhciBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5MSUtFOlxuICAgICAgcmV0dXJuIDxMaWtlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkNIRUNLOlxuICAgICAgcmV0dXJuIDxDaGVjayBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5DT0lOUzpcbiAgICAgIHJldHVybiA8Q29pbnMgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuTUFQOlxuICAgICAgcmV0dXJuIDxNYXAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQUREOlxuICAgICAgcmV0dXJuIDxBZGQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQVBQTElDQVRJT046XG4gICAgICByZXR1cm4gPEFwcGxpY2F0aW9uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkJBQlk6XG4gICAgICByZXR1cm4gPEJhYnkgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQk9PS01BUks6XG4gICAgICByZXR1cm4gPEJvb2ttYXJrIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkNBTkNFTDpcbiAgICAgIHJldHVybiA8Q2FuY2VsIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkNPTlZFUlNBVElPTjpcbiAgICAgIHJldHVybiA8Q29udmVyc2F0aW9uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkRBRDpcbiAgICAgIHJldHVybiA8RGFkIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkRBVEVUSU1FOlxuICAgICAgcmV0dXJuIDxEYXRlVGltZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5IT01FOlxuICAgICAgcmV0dXJuIDxIb21lIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLklORk9STUFUSU9OOlxuICAgICAgcmV0dXJuIDxJbmZvcm1hdGlvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5NT006XG4gICAgICByZXR1cm4gPE1vbSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5NQUlMOlxuICAgICAgcmV0dXJuIDxNYWlsIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLk5POlxuICAgICAgcmV0dXJuIDxObyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5GSUxFOlxuICAgICAgcmV0dXJuIDxGaWxlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLllFUzpcbiAgICAgIHJldHVybiA8WWVzIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLk5PVEU6XG4gICAgICByZXR1cm4gPE5vdGUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuRkVOQ0U6XG4gICAgICByZXR1cm4gPEZlbmNlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkJVSUxESU5HOlxuICAgICAgcmV0dXJuIDxCdWlsZGluZyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPD4g8J+aqyBOb3QgRm91bmQ8Lz47XG4gIH1cbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBMb2FkRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5sb2FkZXJcIjtcbmltcG9ydCB7XG4gIEZpZ3VyZUNvbnRleHQsXG4gIEZpZ3VyZVR5cGUsXG4gIEZpZ3VyZVNpemUsXG59IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IElGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHgsIEZpZ3VyZUN0eERlZmF1bHQgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEZpZ3VyZSA9ICh7IHNpemUsIHR5cGUsIHNjcmVlblJlYWRlclRleHQsIGNvbnRleHQgfTogSUZpZ3VyZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBGaWd1cmVDdHhEZWZhdWx0O1xuXG4gIGNvbnN0IEZpZ3VyZSA9IExvYWRGaWd1cmUoe1xuICAgIHNpemU6IHNpemUsXG4gICAgdHlwZTogdHlwZSxcbiAgICBzY3JlZW5SZWFkZXJUZXh0OiBzY3JlZW5SZWFkZXJUZXh0LFxuICB9KTtcblxuICByZXR1cm4gPEZpZ3VyZUN0eC5Qcm92aWRlciB2YWx1ZT17Q29udGV4dH0+e0ZpZ3VyZX08L0ZpZ3VyZUN0eC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgeyBGaWd1cmVDb250ZXh0LCBGaWd1cmVUeXBlLCBGaWd1cmVTaXplIH07XG5leHBvcnQgdHlwZSB7IElGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZVJhZGl1cywgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IsIG9yRGVmYXVsdCB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9yVmFyaWFudEtleSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgSUZyYW1lVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlRnJhbWUgPSAoXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4gIHRpbnQ6IENvbG9yVmFyaWFudEtleSxcbiAgY29sb3I6IENvbG9yLFxuICBzcGxpdDogQ29sb3IsXG4pOiBJRnJhbWVUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVGhlbWVSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgYm9yZGVyUmFkaXVzID0gVGhlbWVSYWRpdXMubWQ7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgQmFja2dyb3VuZCA9IG9yRGVmYXVsdChDb2xvcnMsIFwidHJhbnNwYXJlbnRcIiwgW2NvbG9yLCB0aW50XSk7XG5cbiAgY29uc3Qgc3BsaXRCYWNrZ3JvdW5kID0gb3JEZWZhdWx0KENvbG9ycywgXCJ0cmFuc3BhcmVudFwiLCBbc3BsaXQsIHRpbnRdKTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICByYWRpdXM6IGJvcmRlclJhZGl1cyxcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIzXCJdLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgIGJhY2tncm91bmQ6XG4gICAgICBcImxpbmVhci1ncmFkaWVudCh0byByaWdodCwgXCIgK1xuICAgICAgQmFja2dyb3VuZCArXG4gICAgICBcIiAwJSwgXCIgK1xuICAgICAgQmFja2dyb3VuZCArXG4gICAgICBcIiA1MCUsIFwiICtcbiAgICAgIHNwbGl0QmFja2dyb3VuZCArXG4gICAgICBcIiA1MCUsIFwiICtcbiAgICAgIHNwbGl0QmFja2dyb3VuZCArXG4gICAgICBcIiAxMDAlKVwiLFxuICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjNcIl0sXG4gIH07XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElGcmFtZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZyYW1lID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgdGhlbWU6IElGcmFtZVRoZW1lIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGcmFtZVBhZGRpbmcgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUZyYW1lVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkZyYW1lID0gc3R5bGVkKFN0eWxlZEZyYW1lKS53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgdGhlbWU6IElGcmFtZVRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGxhY2Vob2xkZXIgPSBzdHlsZWQuZGl2YFxuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5gO1xuIiwiaW1wb3J0IHsgSVBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlci50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBQbGFjZWhvbGRlciA9ICh7IGNoaWxkcmVuIH06IElQbGFjZWhvbGRlcikgPT4ge1xuICByZXR1cm4gPFN0eWxlZFBsYWNlaG9sZGVyPntjaGlsZHJlbn08L1N0eWxlZFBsYWNlaG9sZGVyPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZyYW1lQmFzZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2ZyYW1lLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VGcmFtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2hvb2tzL3VzZS1mcmFtZVwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkRnJhbWUsXG4gIFN0eWxlZEZyYW1lUGFkZGluZyxcbiAgU3R5bGVkU2tlbGV0b25GcmFtZSxcbn0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUuc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEZyYW1lID0gKHsgYXJvdW5kLCB0aW50LCBjb2xvciwgc3BsaXQgfTogSUZyYW1lQmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRnJhbWUoSXNTa2VsZXRvbiwgdGludCwgY29sb3IsIHNwbGl0ID8gc3BsaXQgOiBjb2xvcik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uRnJhbWUgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZEZyYW1lUGFkZGluZyB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxQbGFjZWhvbGRlcj57YXJvdW5kfTwvUGxhY2Vob2xkZXI+XG4gICAgICAgIDwvU3R5bGVkRnJhbWVQYWRkaW5nPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbkZyYW1lPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGcmFtZSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZEZyYW1lUGFkZGluZyB0aGVtZT17VGhlbWV9Pnthcm91bmR9PC9TdHlsZWRGcmFtZVBhZGRpbmc+XG4gICAgPC9TdHlsZWRGcmFtZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS50eXBlc1wiO1xuaW1wb3J0IHsgRnJhbWUgYXMgQmFzZUZyYW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvY29tcG9uZW50cy9mcmFtZVwiO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9yVmFyaWFudCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgRnJhbWUgPSAoe1xuICBhcm91bmQsXG4gIGNvbG9yID0gQ29sb3IuU1VSRkFDRVMsXG4gIHNwbGl0ID0gZmFsc2UsXG4gIHRpbnQgPSBDb2xvclZhcmlhbnQuVElOVF81MDAsXG59OiBJRnJhbWUpID0+IHtcbiAgcmV0dXJuIDxCYXNlRnJhbWUgdGludD17dGludH0gYXJvdW5kPXthcm91bmR9IGNvbG9yPXtjb2xvcn0gc3BsaXQ9e3NwbGl0fSAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUZyYW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUudHlwZXNcIjtcbiIsImV4cG9ydCBlbnVtIEJhZGdlVHlwZSB7XG4gIERBWUNBUkUgPSBcIkRBWUNBUkVcIixcbiAgQ0hJTERNSU5ERVIgPSBcIkNISUxETUlOREVSXCIsXG4gIENPT1BFUkFUSVZFID0gXCJDT09QRVJBVElWRVwiLFxufVxuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFkZ2UgYXMgQmFzZUJhZGdlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvY29tcG9uZW50cy9iYWRnZVwiO1xuaW1wb3J0IHsgSUJhZGdlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhZGdlID0gKHsgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCB9OiBJQmFkZ2UpID0+IHtcbiAgcmV0dXJuIDxCYXNlQmFkZ2UgdHlwZT17dHlwZX0gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gLz47XG59O1xuXG5leHBvcnQgeyBCYWRnZVR5cGUgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS5lbnVtc1wiO1xuZXhwb3J0IHR5cGUgeyBJQmFkZ2UgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElCcmFuZFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyYW5kV3JhcHBlciA9IHN0eWxlZC5kaXY8e30+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyID0gc3R5bGVkLmRpdjx7fT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIC13ZWJraXQtbGluZS1jbGFtcDogMjsgLyogbnVtYmVyIG9mIGxpbmVzIHRvIHNob3cgKi9cbiAgbGluZS1jbGFtcDogMjtcbiAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgbWluLXdpZHRoOiA4MHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyYW5kTGFiZWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElCcmFuZFRoZW1lIH0+YFxuICBmb250LXdlaWdodDogODAwICFpbXBvcnRhbnQ7IC8qIFdlIHVzZSBpbXBvcnRhbnQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgZm9udCB3ZWlnaHQgKi9cbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJhbmRTa2VsZXRvbkxhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQnJhbmRUaGVtZSB9PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6IGZvcndhcmRzO1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG5gO1xuIiwiZXhwb3J0IGVudW0gVGV4dERlY29yYXRpb24ge1xuICBOT05FID0gXCJOT05FXCIsXG4gIFVOREVSTElORSA9IFwiVU5ERVJMSU5FXCIsXG4gIExJTkVfVEhST1VHSCA9IFwiTElORV9USFJPVUdIXCIsXG59XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVBsYWluVGV4dFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGxhaW5UZXh0ID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgdGhlbWU6IElQbGFpblRleHRUaGVtZTtcbiAgZm9udDogc3RyaW5nO1xuICB0ZXh0RGVjb3JhdGlvbjogc3RyaW5nO1xufT5gXG4gIHRleHQtZGVjb3JhdGlvbi1saW5lOiAkeyhwcm9wcykgPT4gcHJvcHMudGV4dERlY29yYXRpb259O1xuICB0ZXh0LWRlY29yYXRpb24tY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy5mb250fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0ID0gc3R5bGVkLnNwYW48e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmUgPSBzdHlsZWQuc3Bhbi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgdGhlbWU6IElQbGFpblRleHRUaGVtZTtcbiAgZm9udDogc3RyaW5nO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy5mb250fTtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lO1xuYDtcbiIsImltcG9ydCB7IElQbGFpblRleHRUaGVtZSB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQudHlwZXNcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVBsYWluVGV4dCA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVBsYWluVGV4dFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICByYWRpdXM6IFJhZGl1cy5ub25lLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gIH07XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gU2tlbGV0b247XG4gIH1cblxuICByZXR1cm4gU3RhbmRhcmQ7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVBsYWluVGV4dEJhc2UgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRQbGFpblRleHQsXG4gIFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0LFxuICBTdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmUsXG59IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvaG9va3MvdXNlLXBsYWludGV4dFwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgVGV4dERlY29yYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBvckRlZmF1bHQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBQbGFpblRleHQgPSAoe1xuICBjaGlsZHJlbixcbiAgc2l6ZSxcbiAgZm9udCxcbiAgZm9udFdlaWdodCxcbiAgdGV4dERlY29yYXRpb24sXG59OiBJUGxhaW5UZXh0QmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWUgPSB1c2VQbGFpblRleHQoSXNTa2VsZXRvbik7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IGNzc1RleHREZWNvcmF0aW9uID0gbWF0Y2godGV4dERlY29yYXRpb24sIFtcbiAgICBbVGV4dERlY29yYXRpb24uTk9ORSwgXCJub25lXCJdLFxuICAgIFtUZXh0RGVjb3JhdGlvbi5VTkRFUkxJTkUsIFwidW5kZXJsaW5lXCJdLFxuICAgIFtUZXh0RGVjb3JhdGlvbi5MSU5FX1RIUk9VR0gsIFwibGluZS10aHJvdWdoXCJdLFxuICBdKTtcblxuICBjb25zdCBjc3NGb250ID0gb3JEZWZhdWx0KEZvbnRzLCBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCwgW1xuICAgIGZvbnQsXG4gICAgc2l6ZSxcbiAgICBmb250V2VpZ2h0LFxuICBdKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25QbGFpblRleHQ+XG4gICAgICAgIDxTdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmUgZm9udD17Y3NzRm9udH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvU3R5bGVkU2tlbGV0b25QbGFpblRleHRMaW5lPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvblBsYWluVGV4dD5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUGxhaW5UZXh0XG4gICAgICB0aGVtZT17VGhlbWV9XG4gICAgICBmb250PXtjc3NGb250fVxuICAgICAgdGV4dERlY29yYXRpb249e2Nzc1RleHREZWNvcmF0aW9ufVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZFBsYWluVGV4dD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJUGxhaW5UZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC50eXBlc1wiO1xuaW1wb3J0IHsgVGV4dERlY29yYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zXCI7XG5pbXBvcnQgeyBQbGFpblRleHQgYXMgQmFzZVBsYWluVGV4dCB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9jb21wb25lbnRzL3BsYWludGV4dFwiO1xuaW1wb3J0IHtcbiAgVHlwb2dyYXBoeUZvbnQsXG4gIFR5cG9ncmFwaHlGb250cyxcbiAgVHlwb2dyYXBoeUZvbnRXZWlnaHQsXG59IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgUGxhaW5UZXh0ID0gKHtcbiAgY2hpbGRyZW4gPSBcIlwiLFxuICBzaXplID0gVHlwb2dyYXBoeUZvbnQuTUQsXG4gIGZvbnQgPSBUeXBvZ3JhcGh5Rm9udHMuUFJJTUFSWSxcbiAgZm9udFdlaWdodCA9IFR5cG9ncmFwaHlGb250V2VpZ2h0Lk5PUk1BTCxcbiAgdGV4dERlY29yYXRpb24gPSBUZXh0RGVjb3JhdGlvbi5OT05FLFxufTogSVBsYWluVGV4dCkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCYXNlUGxhaW5UZXh0XG4gICAgICBzaXplPXtzaXplfVxuICAgICAgZm9udD17Zm9udH1cbiAgICAgIGZvbnRXZWlnaHQ9e2ZvbnRXZWlnaHR9XG4gICAgICB0ZXh0RGVjb3JhdGlvbj17dGV4dERlY29yYXRpb259XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQmFzZVBsYWluVGV4dD5cbiAgKTtcbn07XG5cbmV4cG9ydCB7IFRleHREZWNvcmF0aW9uIH07XG5leHBvcnQgdHlwZSB7IElQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQnJhbmQgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcixcbiAgU3R5bGVkQnJhbmRXcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC5zdHlsZXNcIjtcblxuaW1wb3J0IHsgUGxhaW5UZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0XCI7XG5pbXBvcnQgeyBUZXh0RGVjb3JhdGlvbiB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuZW51bXNcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHlGb250V2VpZ2h0IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQnJhbmQgPSAoeyBsb2dvLCBuYW1lLCBhcmlhTGFiZWwgfTogSUJyYW5kKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQnJhbmRXcmFwcGVyIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH0+XG4gICAgICAgIHtsb2dvfVxuICAgICAgICA8U3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcj5cbiAgICAgICAgICA8UGxhaW5UZXh0XG4gICAgICAgICAgICBmb250V2VpZ2h0PXtUeXBvZ3JhcGh5Rm9udFdlaWdodC5CT0xEfVxuICAgICAgICAgICAgdGV4dERlY29yYXRpb249e1RleHREZWNvcmF0aW9uLk5PTkV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge25hbWV9XG4gICAgICAgICAgPC9QbGFpblRleHQ+XG4gICAgICAgIDwvU3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcj5cbiAgICAgIDwvU3R5bGVkQnJhbmRXcmFwcGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCcmFuZFdyYXBwZXIgYXJpYS1sYWJlbD17YXJpYUxhYmVsfT5cbiAgICAgIHtsb2dvfVxuICAgICAgPFN0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXI+XG4gICAgICAgIDxQbGFpblRleHRcbiAgICAgICAgICBmb250V2VpZ2h0PXtUeXBvZ3JhcGh5Rm9udFdlaWdodC5CT0xEfVxuICAgICAgICAgIHRleHREZWNvcmF0aW9uPXtUZXh0RGVjb3JhdGlvbi5OT05FfVxuICAgICAgICA+XG4gICAgICAgICAge25hbWV9XG4gICAgICAgIDwvUGxhaW5UZXh0PlxuICAgICAgPC9TdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyPlxuICAgIDwvU3R5bGVkQnJhbmRXcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElCcmFuZCB9IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLnR5cGVzXCI7XG5pbXBvcnQgeyBCcmFuZCBhcyBCYXNlQnJhbmQgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9jb21wb25lbnRzL2JyYW5kXCI7XG5cbmV4cG9ydCBjb25zdCBCcmFuZCA9ICh7IGxvZ28sIG5hbWUsIGFyaWFMYWJlbCB9OiBJQnJhbmQpID0+IHtcbiAgcmV0dXJuIDxCYXNlQnJhbmQgbG9nbz17bG9nb30gbmFtZT17bmFtZX0gYXJpYUxhYmVsPXthcmlhTGFiZWx9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJQnJhbmQgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC50eXBlc1wiO1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIElCcmVhZGNydW1iQmFzZSxcbiAgSUJyZWFkY3J1bWJUaGVtZSxcbn0gZnJvbSBcIkAvYXRvbXMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VCcmVhZGNydW1iIH0gZnJvbSBcIkAvYXRvbXMvYnJlYWRjcnVtYi9ob29rcy91c2UtYnJlYWRjcnVtYlwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQge1xuICBTdHlsZWRCcmVhZGNydW1iLFxuICBTdHlsZWRCcmVhZGNydW1iRWxsaXBzaXMsXG4gIFN0eWxlZEJyZWFkY3J1bWJJdGVtLFxuICBTdHlsZWRCcmVhZGNydW1iTGFiZWwsXG4gIFN0eWxlZEJyZWFkY3J1bWJTZXBhcmF0b3IsXG4gIFN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYixcbiAgU3R5bGVkU2tlbGV0b25CcmVhZGNydW1iTGFiZWwsXG59IGZyb20gXCJAL2F0b21zL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi5zdHlsZVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBCcmVhZGNydW1iID0gKHsgY3J1bWJzLCBjdXJyZW50UGFnZSB9OiBJQnJlYWRjcnVtYkJhc2UpID0+IHtcbiAgY29uc3QgW2lzRWxsaXBzaXNDbGlja2VkLCBzZXRJc0VsbGlwc2lzQ2xpY2tlZF0gPSB1c2VTdGF0ZShmYWxzZSk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWU6IElCcmVhZGNydW1iVGhlbWUgPSB1c2VCcmVhZGNydW1iKElzU2tlbGV0b24pO1xuXG4gIGNvbnN0IHNlcGFyYXRvckljb24gPSAoXG4gICAgPEljb25cbiAgICAgIHR5cGU9e0ljb25UeXBlLkNIRVZST05fUklHSFR9XG4gICAgICBzaXplPXtJY29uU2l6ZS5YU01BTEx9XG4gICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgc2NyZWVuUmVhZGVyVGV4dD17XCJicmVhZGNydW1iIHNlcGFyYXRvclwifVxuICAgIC8+XG4gICk7XG5cbiAgY29uc3QgaGFuZGxlRWxsaXBzaXNDbGljayA9ICgpID0+IHtcbiAgICBzZXRJc0VsbGlwc2lzQ2xpY2tlZCh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBkaXNwbGF5ZWRDcnVtYnMgPVxuICAgIGlzRWxsaXBzaXNDbGlja2VkIHx8IGNydW1icy5sZW5ndGggPD0gNFxuICAgICAgPyBjcnVtYnNcbiAgICAgIDogW1xuICAgICAgICAgIGNydW1ic1swXSxcbiAgICAgICAgICA8U3R5bGVkQnJlYWRjcnVtYkVsbGlwc2lzIG9uQ2xpY2s9e2hhbmRsZUVsbGlwc2lzQ2xpY2t9PlxuICAgICAgICAgICAgLi4uXG4gICAgICAgICAgPC9TdHlsZWRCcmVhZGNydW1iRWxsaXBzaXM+LFxuICAgICAgICAgIGNydW1ic1tjcnVtYnMubGVuZ3RoIC0gMV0sXG4gICAgICAgIF07XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYiB0aGVtZT17VGhlbWV9PlxuICAgICAgICB7ZGlzcGxheWVkQ3J1bWJzLm1hcCgoY3J1bWIsIGluZGV4KSA9PiB7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxTdHlsZWRCcmVhZGNydW1iSXRlbSBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgICAgPFN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYkxhYmVsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICAgICAgPFBsYWNlaG9sZGVyPntjcnVtYn08L1BsYWNlaG9sZGVyPlxuICAgICAgICAgICAgICA8L1N0eWxlZFNrZWxldG9uQnJlYWRjcnVtYkxhYmVsPlxuICAgICAgICAgICAgICA8U3R5bGVkQnJlYWRjcnVtYlNlcGFyYXRvcj5cbiAgICAgICAgICAgICAgICB7c2VwYXJhdG9ySWNvbn1cbiAgICAgICAgICAgICAgPC9TdHlsZWRCcmVhZGNydW1iU2VwYXJhdG9yPlxuICAgICAgICAgICAgPC9TdHlsZWRCcmVhZGNydW1iSXRlbT5cbiAgICAgICAgICApO1xuICAgICAgICB9KX1cbiAgICAgICAgPFN0eWxlZEJyZWFkY3J1bWJJdGVtPlxuICAgICAgICAgIDxTdHlsZWRTa2VsZXRvbkJyZWFkY3J1bWJMYWJlbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAgPFBsYWNlaG9sZGVyPntjdXJyZW50UGFnZX08L1BsYWNlaG9sZGVyPlxuICAgICAgICAgIDwvU3R5bGVkU2tlbGV0b25CcmVhZGNydW1iTGFiZWw+XG4gICAgICAgIDwvU3R5bGVkQnJlYWRjcnVtYkl0ZW0+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uQnJlYWRjcnVtYj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQnJlYWRjcnVtYiB0aGVtZT17VGhlbWV9PlxuICAgICAge2Rpc3BsYXllZENydW1icy5tYXAoKGNydW1iLCBpbmRleCkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdHlsZWRCcmVhZGNydW1iSXRlbSBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxTdHlsZWRCcmVhZGNydW1iTGFiZWwgdGhlbWU9e1RoZW1lfT57Y3J1bWJ9PC9TdHlsZWRCcmVhZGNydW1iTGFiZWw+XG4gICAgICAgICAgICA8U3R5bGVkQnJlYWRjcnVtYlNlcGFyYXRvcj5cbiAgICAgICAgICAgICAge3NlcGFyYXRvckljb259XG4gICAgICAgICAgICA8L1N0eWxlZEJyZWFkY3J1bWJTZXBhcmF0b3I+XG4gICAgICAgICAgPC9TdHlsZWRCcmVhZGNydW1iSXRlbT5cbiAgICAgICAgKTtcbiAgICAgIH0pfVxuICAgICAgPFN0eWxlZEJyZWFkY3J1bWJJdGVtPlxuICAgICAgICA8U3R5bGVkQnJlYWRjcnVtYkxhYmVsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAge2N1cnJlbnRQYWdlfVxuICAgICAgICA8L1N0eWxlZEJyZWFkY3J1bWJMYWJlbD5cbiAgICAgIDwvU3R5bGVkQnJlYWRjcnVtYkl0ZW0+XG4gICAgPC9TdHlsZWRCcmVhZGNydW1iPlxuICApO1xufTtcbiIsImltcG9ydCB7IElCcmVhZGNydW1iVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlQnJlYWRjcnVtYiA9IChJc1NrZWxldG9uOiBib29sZWFuKTogSUJyZWFkY3J1bWJUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubWVkaXVtLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubWVkaXVtLFxuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgfTtcbn07XG4iLCJleHBvcnQgZW51bSBJY29uQ29udGV4dCB7XG4gIFNUQU5EQVJEID0gXCJTVEFOREFSRFwiLFxuICBTVVBQT1JUSU5HID0gXCJTVVBQT1JUSU5HXCIsXG4gIERBUksgPSBcIkRBUktcIixcbiAgTElHSFQgPSBcIkxJR0hUXCIsXG4gIERJU0FCTEVEID0gXCJESVNBQkxFRFwiLFxuICBEQU5HRVIgPSBcIkRBTkdFUlwiLFxuICBXQVJOSU5HID0gXCJXQVJOSU5HXCIsXG4gIFNVQ0NFU1MgPSBcIlNVQ0NFU1NcIixcbiAgSU5GTyA9IFwiSU5GT1wiLFxufVxuXG5leHBvcnQgZW51bSBJY29uU2l6ZSB7XG4gIFhTTUFMTCA9IFwiWFNNQUxMXCIsXG4gIFNNQUxMID0gXCJTTUFMTFwiLFxuICBNRURJVU0gPSBcIk1FRElVTVwiLFxuICBMQVJHRSA9IFwiTEFSR0VcIixcbn1cblxuZXhwb3J0IGVudW0gSWNvblR5cGUge1xuICBDQU5DRUwgPSBcIkNBTkNFTFwiLFxuICBBUlJPV19MRUZUID0gXCJBUlJPV19MRUZUXCIsXG4gIEFSUk9XX1JJR0hUID0gXCJBUlJPV19SSUdIVFwiLFxuICBDSEVWUk9OX0RPV04gPSBcIkNIRVZST05fRE9XTlwiLFxuICBDSEVWUk9OX1VQID0gXCJDSEVWUk9OX1VQXCIsXG4gIENIRVZST05fUklHSFQgPSBcIkNIRVZST05fUklHSFRcIixcbiAgQ0hFVlJPTl9MRUZUID0gXCJDSEVWUk9OX0xFRlRcIixcbiAgRURJVCA9IFwiRURJVFwiLFxuICBTRU5EID0gXCJTRU5EXCIsXG4gIFJFRE8gPSBcIlJFRE9cIixcbiAgUFJPRklMRSA9IFwiUFJPRklMRVwiLFxuICBDSEVDSyA9IFwiQ0hFQ0tcIixcbiAgVFJBTlNMQVRJT04gPSBcIlRSQU5TTEFUSU9OXCIsXG4gIE1BUCA9IFwiTUFQXCIsXG4gIEVVUk8gPSBcIkVVUk9cIixcbiAgQkFCWSA9IFwiQkFCWVwiLFxuICBQSU4gPSBcIlBJTlwiLFxuICBESVNUQU5DRSA9IFwiRElTVEFOQ0VcIixcbiAgRE9DVU1FTlQgPSBcIkRPQ1VNRU5UXCIsXG4gIEZBVk9SSVRFID0gXCJGQVZPUklURVwiLFxuICBNRU5VID0gXCJNRU5VXCIsXG4gIEFERCA9IFwiQUREXCIsXG4gIE1JTlVTID0gXCJNSU5VU1wiLFxuICBDT01NRU5UID0gXCJDT01NRU5UXCIsXG4gIElOX1BST0NFU1MgPSBcIklOX1BST0NFU1NcIixcbiAgQ09MTEFQU0UgPSBcIkNPTExBUFNFXCIsXG4gIEVYUEFORCA9IFwiRVhQQU5EXCIsXG59XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJyZWFkY3J1bWJUaGVtZSB9IGZyb20gXCJAL2F0b21zL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJlYWRjcnVtYiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUJyZWFkY3J1bWJUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGdhcDogMTBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmVhZGNydW1iSXRlbSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmVhZGNydW1iTGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJQnJlYWRjcnVtYlRoZW1lIH0+YFxuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgbWF4LXdpZHRoOiAyMWNoO1xuXG4gICYgPiBhIHtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgfVxuXG4gICYgPiBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmVhZGNydW1iRWxsaXBzaXMgPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJQnJlYWRjcnVtYlRoZW1lO1xufT5gXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyZWFkY3J1bWJTZXBhcmF0b3IgPSBzdHlsZWQuc3BhbmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25CcmVhZGNydW1iID0gc3R5bGVkKFN0eWxlZEJyZWFkY3J1bWIpPHtcbiAgdGhlbWU6IElCcmVhZGNydW1iVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYkxhYmVsID0gc3R5bGVkKFN0eWxlZEJyZWFkY3J1bWJMYWJlbCk8e1xuICB0aGVtZTogSUJyZWFkY3J1bWJUaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgQWRkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk04IDEuNVYxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA4SDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5jb25zdCBCYXNlSWNvblN2ZyA9IHN0eWxlZC5zdmcuYXR0cnMoKHByb3BzKSA9PiAoe1xuICB2ZXJzaW9uOiBcIjEuMVwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICB4bWxuc1hsaW5rOiBcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIixcbiAgcm9sZTogXCJpbWdcIixcbiAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUljb25QYXRoID0gc3R5bGVkLnBhdGguYXR0cnMoe1xuICByb2xlOiBcInByZXNlbnRhdGlvblwiLFxufSlgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEljb24gPSBzdHlsZWQoQmFzZUljb25TdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSWNvblBhdGggPSBzdHlsZWQoQmFzZUljb25QYXRoKTx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEljb25XcmFwcGVyID0gc3R5bGVkLnNwYW48e30+YFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyT25seSB9IGZyb20gXCJAL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5XCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uLCBTdHlsZWRJY29uV3JhcHBlciB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IElJY29uU3ZnIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBJY29uID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSwgY2hpbGRyZW4gfTogSUljb25TdmcpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkSWNvbldyYXBwZXI+XG4gICAgICA8U3R5bGVkSWNvbiB3aWR0aD17c2l6ZX0gaGVpZ2h0PXtzaXplfSB2aWV3Qm94PVwiMCAwIDE2IDE2XCI+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvU3R5bGVkSWNvbj5cbiAgICAgIDxTY3JlZW5SZWFkZXJPbmx5IHRleHQ9e3NjcmVlblJlYWRlclRleHR9IC8+XG4gICAgPC9TdHlsZWRJY29uV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VJY29uVGhlbWUgPSAoY29udGV4dDoga2V5b2YgdHlwZW9mIEljb25Db250ZXh0KTogSUljb25UaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBJY29uSW5pdGlhbENvbG9yUHJpbWFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJpY29uX2NvbG9yX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgSWNvbkluaXRpYWxDb2xvclN1cHBvcnRpbmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiaWNvbl9jb2xvcl9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEljb25Jbml0aWFsQ29sb3JEYXJrID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImljb25fY29sb3JfZGFya1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgfSk7XG5cbiAgY29uc3QgSWNvbkluaXRpYWxDb2xvckxpZ2h0ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImljb25fY29sb3JfbGlnaHRcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgfSk7XG5cbiAgY29uc3QgSWNvbkRpc2FibGVkQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiaWNvbl9kaXNhYmxlZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBJY29uQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBJY29uSW5pdGlhbENvbG9yUHJpbWFyeSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBJY29uQ29udGV4dC5TVVBQT1JUSU5HLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IEljb25Jbml0aWFsQ29sb3JTdXBwb3J0aW5nLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEljb25Db250ZXh0LkRJU0FCTEVELFxuICAgICAge1xuICAgICAgICBzdHJva2U6IEljb25EaXNhYmxlZENvbG9yLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEljb25Db250ZXh0LkxJR0hULFxuICAgICAge1xuICAgICAgICBzdHJva2U6IEljb25Jbml0aWFsQ29sb3JMaWdodCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBJY29uQ29udGV4dC5EQVJLLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IEljb25Jbml0aWFsQ29sb3JEYXJrLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEljb25Db250ZXh0LkRBTkdFUixcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEljb25Db250ZXh0LldBUk5JTkcsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogQ29sb3JzLndhcm5pbmcudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgSWNvbkNvbnRleHQuU1VDQ0VTUyxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBDb2xvcnMuc3VjY2Vzcy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBJY29uQ29udGV4dC5JTkZPLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IENvbG9ycy5pbmZvLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IEljb25DdHhEZWZhdWx0OiBJY29uQ29udGV4dCA9IEljb25Db250ZXh0LlNUQU5EQVJEO1xuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEljb25DdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChJY29uQ3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBBcnJvd0xlZnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE1LjUgOEgwLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMTNMMC41IDhMNS41IDNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEFycm93UmlnaHQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTAuNSA4SDE1LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMC41IDNMMTUuNSA4TDEwLjUgMTNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEJhYnkgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE0IDYuNDk5OTVDMTMuODg3NSA2LjUwMSAxMy43NzU1IDYuNTE0NDEgMTMuNjY2IDYuNTM5OTVDMTMuMjU5NiA1LjM2MDU0IDEyLjQ5NTIgNC4zMzczNiAxMS40Nzk1IDMuNjEzMDhDMTAuNDYzOSAyLjg4ODc5IDkuMjQ3NDcgMi40OTk1MSA4IDIuNDk5NTFDNi43NTI1MyAyLjQ5OTUxIDUuNTM2MTQgMi44ODg3OSA0LjUyMDQ2IDMuNjEzMDhDMy41MDQ3OCA0LjMzNzM2IDIuNzQwNDQgNS4zNjA1NCAyLjMzNCA2LjUzOTk1QzIuMjI0NDcgNi41MTQ0MSAyLjExMjQ2IDYuNTAxIDIgNi40OTk5NUMxLjYwMjE4IDYuNDk5OTUgMS4yMjA2NCA2LjY1Nzk5IDAuOTM5MzQgNi45MzkyOUMwLjY1ODAzNSA3LjIyMDYgMC41IDcuNjAyMTMgMC41IDcuOTk5OTVDMC41IDguMzk3NzggMC42NTgwMzUgOC43NzkzMSAwLjkzOTM0IDkuMDYwNjFDMS4yMjA2NCA5LjM0MTkyIDEuNjAyMTggOS40OTk5NSAyIDkuNDk5OTVDMi4wMyA5LjQ5OTk1IDIuMDU5IDkuNDkyOTUgMi4wODkgOS40OTA5NUMyLjMyMTUyIDEwLjg5MDcgMy4wNDMyNSAxMi4xNjI2IDQuMTI1NyAxMy4wOEM1LjIwODE0IDEzLjk5NzUgNi41ODEwNSAxNC41MDEgOCAxNC41MDFDOS40MTg5NSAxNC41MDEgMTAuNzkxOSAxMy45OTc1IDExLjg3NDMgMTMuMDhDMTIuOTU2NyAxMi4xNjI2IDEzLjY3ODUgMTAuODkwNyAxMy45MTEgOS40OTA5NUMxMy45NDEgOS40OTA5NSAxMy45NyA5LjQ5OTk1IDE0IDkuNDk5OTVDMTQuMzk3OCA5LjQ5OTk1IDE0Ljc3OTQgOS4zNDE5MiAxNS4wNjA3IDkuMDYwNjFDMTUuMzQyIDguNzc5MzEgMTUuNSA4LjM5Nzc4IDE1LjUgNy45OTk5NUMxNS41IDcuNjAyMTMgMTUuMzQyIDcuMjIwNiAxNS4wNjA3IDYuOTM5MjlDMTQuNzc5NCA2LjY1Nzk5IDE0LjM5NzggNi40OTk5NSAxNCA2LjQ5OTk1WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSA4LjVDNi4wNTIyOCA4LjUgNi41IDguMDUyMjggNi41IDcuNUM2LjUgNi45NDc3MiA2LjA1MjI4IDYuNSA1LjUgNi41QzQuOTQ3NzIgNi41IDQuNSA2Ljk0NzcyIDQuNSA3LjVDNC41IDguMDUyMjggNC45NDc3MiA4LjUgNS41IDguNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZT1cIm5vbmVcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwLjUgOC41QzExLjA1MjMgOC41IDExLjUgOC4wNTIyOCAxMS41IDcuNUMxMS41IDYuOTQ3NzIgMTEuMDUyMyA2LjUgMTAuNSA2LjVDOS45NDc3MiA2LjUgOS41IDYuOTQ3NzIgOS41IDcuNUM5LjUgOC4wNTIyOCA5Ljk0NzcyIDguNSAxMC41IDguNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZT1cIm5vbmVcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTYuMzkzMDcgMTEuMTA2OUM2Ljg4OTM4IDExLjM2NTEgNy40NDA2MSAxMS40OTk5IDguMDAwMDcgMTEuNDk5OUM4LjU1OTUzIDExLjQ5OTkgOS4xMTA3NSAxMS4zNjUxIDkuNjA3MDcgMTEuMTA2OVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTcuOTk5ODEgMi41QzcuNzUzMTggMi41MDAxMSA3LjUxMDM5IDIuNTYxMDMgNy4yOTI5MiAyLjY3NzM3QzcuMDc1NDYgMi43OTM3MSA2Ljg5MDAzIDIuOTYxODcgNi43NTMwNyAzLjE2Njk3QzYuNjE2MSAzLjM3MjA3IDYuNTMxODIgMy42MDc3NyA2LjUwNzY5IDMuODUzMjJDNi40ODM1NSA0LjA5ODY2IDYuNTIwMzEgNC4zNDYyNyA2LjYxNDcxIDQuNTc0MTJDNi43MDkxIDQuODAxOTYgNi44NTgyMiA1LjAwMzAyIDcuMDQ4ODYgNS4xNTk0OUM3LjIzOTUgNS4zMTU5NSA3LjQ2NTc4IDUuNDIzIDcuNzA3NjcgNS40NzExNEM3Ljk0OTU1IDUuNTE5MjkgOC4xOTk1NyA1LjUwNzA1IDguNDM1NTkgNS40MzU1MUM4LjY3MTYyIDUuMzYzOTcgOC44ODYzNiA1LjIzNTM0IDkuMDYwODEgNS4wNjFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENhbmNlbCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTMuNSAyLjVMMi41IDEzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0yLjUgMi41TDEzLjUgMTMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hlY2sgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTQgOEw2LjY2NjY3IDEwLjY2NjdMMTIgNS4zMzMzM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvbkRvd24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTIgNS41TDggMTEuNUwxNCA1LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvblVwID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNCAxMS41TDggNS41TDIgMTEuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBEaXN0YW5jZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMy41IDExLjVDMy41IDEyLjU2MDkgMy45MjE0MyAxMy41NzgzIDQuNjcxNTcgMTQuMzI4NEM1LjQyMTcyIDE1LjA3ODYgNi40MzkxMyAxNS41IDcuNSAxNS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMy41IDguNUM1LjUgNi4yNzA2NyA2LjUgNC42MDQgNi41IDMuNUM2LjUgMi43MDQzNSA2LjE4MzkzIDEuOTQxMjkgNS42MjEzMiAxLjM3ODY4QzUuMDU4NzEgMC44MTYwNyA0LjI5NTY1IDAuNSAzLjUgMC41QzIuNzA0MzUgMC41IDEuOTQxMjkgMC44MTYwNyAxLjM3ODY4IDEuMzc4NjhDMC44MTYwNyAxLjk0MTI5IDAuNSAyLjcwNDM1IDAuNSAzLjVDMC41IDQuNjA1MzMgMS41IDYuMjcyIDMuNSA4LjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTEuNSAxMEMxMi4zMjg0IDEwIDEzIDkuMzI4NDMgMTMgOC41QzEzIDcuNjcxNTcgMTIuMzI4NCA3IDExLjUgN0MxMC42NzE2IDcgMTAgNy42NzE1NyAxMCA4LjVDMTAgOS4zMjg0MyAxMC42NzE2IDEwIDExLjUgMTBaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTMuNSA0LjVDNC4wNTIyOCA0LjUgNC41IDQuMDUyMjggNC41IDMuNUM0LjUgMi45NDc3MiA0LjA1MjI4IDIuNSAzLjUgMi41QzIuOTQ3NzIgMi41IDIuNSAyLjk0NzcyIDIuNSAzLjVDMi41IDQuMDUyMjggMi45NDc3MiA0LjUgMy41IDQuNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTEuNSAxNUMxNC4xNjY3IDEyLjE0IDE1LjUgOS45NzMzMyAxNS41IDguNUMxNS41IDcuNDM5MTMgMTUuMDc4NiA2LjQyMTcyIDE0LjMyODQgNS42NzE1N0MxMy41NzgzIDQuOTIxNDMgMTIuNTYwOSA0LjUgMTEuNSA0LjVDMTAuNDM5MSA0LjUgOS40MjE3MiA0LjkyMTQzIDguNjcxNTcgNS42NzE1N0M3LjkyMTQzIDYuNDIxNzIgNy41IDcuNDM5MTMgNy41IDguNUM3LjUgOS45NzMzMyA4LjgzMzMzIDEyLjE0IDExLjUgMTVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IERvY3VtZW50ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMi41IDMuNUgyLjVWMTUuNUgxMi41VjMuNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk00LjUgMC41SDE1LjVWMTMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSA2LjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDkuNUg5LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMTIuNUg5LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRWRpdCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTAgM0wxMyA2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTIgMUwxNSA0TDUgMTRMMSAxNUwyIDExTDEyIDFaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEV1cm8gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSA2LjVIOS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDkuNUg5LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMi41IDIuNzI5OThDMTEuNTMwMiAxLjg5MzMyIDEwLjI4IDEuNDUzOTkgOSAxLjQ5OTk4QzQuOTY3IDEuNDk5OTggMy41IDQuOTA0OTggMy41IDcuOTk5OThDMy41IDExLjA5NSA0Ljk2NyAxNC41IDkgMTQuNUMxMC4yOCAxNC41NDYgMTEuNTMwMiAxNC4xMDY2IDEyLjUgMTMuMjdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRmF2b3JpdGUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE0LjMyOCAyLjY3MjAxQzEyLjc2NiAxLjExMDAxIDEwLjIzMyAxLjExMDAxIDguNjcxMDEgMi42NzIwMUM4LjM5MTAxIDIuOTUyMDEgOC4xODAwMSAzLjI3MDAxIDguMDAwMDEgMy42MDEwMUM3LjgyMDAxIDMuMjcwMDEgNy42MDkwMSAyLjk1MTAxIDcuMzI4MDEgMi42NzEwMUM1Ljc2NjAxIDEuMTA5MDEgMy4yMzMwMSAxLjEwOTAxIDEuNjcxMDEgMi42NzEwMUMwLjEwOTAxMiA0LjIzMzAxIDAuMTA5MDEyIDYuNzY2MDEgMS42NzEwMSA4LjMyODAxTDguMDAwMDEgMTQuNUwxNC4zMjggOC4zMjgwMUMxNS44OTEgNi43NjYwMSAxNS44OTEgNC4yMzQwMSAxNC4zMjggMi42NzIwMVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgTWFwID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDAuNVYxMy41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTAuNSAyLjVWMTUuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTAuNSAxNS41VjIuNUw1LjUgMC41TDEwLjUgMi41TDE1LjUgMC41VjEzLjVMMTAuNSAxNS41TDUuNSAxMy41TDAuNSAxNS41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBNZW51ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDIuNUgxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDhIMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEuNSAxMy41SDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgUGluID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMy41IDZDMTMuNSAxMC41IDggMTUuNSA4IDE1LjVDOCAxNS41IDIuNSAxMC41IDIuNSA2QzIuNSA0LjU0MTMxIDMuMDc5NDYgMy4xNDIzNiA0LjExMDkxIDIuMTEwOTFDNS4xNDIzNiAxLjA3OTQ2IDYuNTQxMzEgMC41IDggMC41QzkuNDU4NjkgMC41IDEwLjg1NzYgMS4wNzk0NiAxMS44ODkxIDIuMTEwOTFDMTIuOTIwNSAzLjE0MjM2IDEzLjUgNC41NDEzMSAxMy41IDZaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOCA4LjVDOS4zODA3MSA4LjUgMTAuNSA3LjM4MDcxIDEwLjUgNkMxMC41IDQuNjE5MjkgOS4zODA3MSAzLjUgOCAzLjVDNi42MTkyOSAzLjUgNS41IDQuNjE5MjkgNS41IDZDNS41IDcuMzgwNzEgNi42MTkyOSA4LjUgOCA4LjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFByb2ZpbGUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTguNDcwNTkgOC41QzkuNzcwMDggOC41IDEwLjgyMzUgNy4zODA3MSAxMC44MjM1IDZDMTAuODIzNSA0LjYxOTI5IDkuNzcwMDggMy41IDguNDcwNTkgMy41QzcuMTcxMDkgMy41IDYuMTE3NjUgNC42MTkyOSA2LjExNzY1IDZDNi4xMTc2NSA3LjM4MDcxIDcuMTcxMDkgOC41IDguNDcwNTkgOC41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMy4xMzIxIDEzLjYyMUMxMS45MDAxIDEwLjg4NiA4LjgxNDAxIDkuNzI5MDIgNi4yMzk4OSAxMS4wMzhDNS4xNzYzNiAxMS41NzkgNC4zMTgwMSAxMi40OSAzLjgwODgzIDEzLjYyMVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk04LjQ3MDU5IDE1LjVDMTIuMzY5IDE1LjUgMTUuNTI5NCAxMi4xNDIxIDE1LjUyOTQgOEMxNS41Mjk0IDMuODU3ODYgMTIuMzY5IDAuNSA4LjQ3MDU5IDAuNUM0LjU3MjEgMC41IDEuNDExNzcgMy44NTc4NiAxLjQxMTc3IDhDMS40MTE3NyAxMi4xNDIxIDQuNTcyMSAxNS41IDguNDcwNTkgMTUuNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFJlZG8gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE1LjUgMTAuNUg1QzIuNTE1IDEwLjUgMC41IDguNDg1IDAuNSA2QzAuNSAzLjUxNSAyLjUxNSAxLjUgNSAxLjVIMTEuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjUgNi41TDE1LjUgMTAuNUwxMS41IDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgU2VuZCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNC41MDQgOS41MDNMMTIuNSAxNS41TDE1LjUgMC41TDAuNSA2LjVMMi41MDIgOC4wMDFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03LjYzIDExLjg0OEw0LjUgMTUuNUw0LjUwNCA5LjUwM0w5IDYuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBUcmFuc2xhdGlvbiA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDIuNUg5LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMC41VjIuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTMuNSAyLjVDMy41NDQ0NCAzLjgwMzg4IDQuMDA1MzMgNS4wNTkyNCA0LjgxNTE0IDYuMDgyMTJDNS42MjQ5NSA3LjEwNSA2Ljc0MTA5IDcuODQxNjEgOCA4LjE4NFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTcuNSAyLjVDNy4xIDguMTI1IDEuNSA4LjUgMS41IDguNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTggMTQuNUwxMS41IDYuNUwxNSAxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOS4zMTI5OSAxMS41SDEzLjY4OFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDb21tZW50ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk03LjI5MTAyIDAuNUMzLjk3NzAyIDAuNSAxLjI5MTAyIDIuNzM5IDEuMjkxMDIgNS41QzEuMjkxMDIgNi41MjEgMS42NjAwMiA3LjQ3IDIuMjkxMDIgOC4yNjJWMTJMNC44NjQwMiAxMC4wN0M1LjYwNjAyIDEwLjM0NSA2LjQyNjAyIDEwLjUgNy4yOTEwMiAxMC41QzEwLjYwNSAxMC41IDEzLjI5MSA4LjI2MSAxMy4yOTEgNS41QzEzLjI5MSAyLjczOSAxMC42MDUgMC41IDcuMjkxMDIgMC41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTYuMDEwMDIgMTIuNTA0QzcuMDk5MDIgMTMuNDI3IDguNjE1MDIgMTQgMTAuMjkxIDE0QzExLjA3NCAxNCAxMS44MiAxMy44NzEgMTIuNTA2IDEzLjY0NEwxNS4yOTEgMTUuNVYxMS43NjJDMTUuOTIyIDEwLjk3IDE2LjI5MSAxMC4wMjIgMTYuMjkxIDlDMTYuMjkxIDguMDkxIDE2IDcuMjM5IDE1LjQ5MiA2LjUwNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBJblByb2Nlc3MgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSAwLjVMOC41IDMuNUg1QzIuNTE1IDMuNSAwLjUgNS41MTUgMC41IDhDMC41IDEwLjQ4NSAyLjUxNSAxMi41IDUgMTIuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwLjUgMTUuNUw3LjUgMTIuNUgxMUMxMy40ODUgMTIuNSAxNS41IDEwLjQ4NSAxNS41IDhDMTUuNSA1LjUxNSAxMy40ODUgMy41IDExIDMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBNaW51cyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDhIMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgQ29sbGFwc2UgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTAuNSA4SDExLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD17XCJub25lXCJ9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTcgMTIuNUwxMS41IDhMNyAzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD17XCJub25lXCJ9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE1LjUgMTUuNVYwLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD17XCJub25lXCJ9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvblJpZ2h0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjE2NjY5IDAuNjY2NjY0TDEzLjE2NjcgOEw1LjE2NjY5IDE1LjMzMzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENoZXZyb25MZWZ0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMS44MzMzIDE1LjMzMzNMMy44MzMzMSA4TDExLjgzMzMgMC42NjY2NjlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgRXhwYW5kID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xNi41IDguNUg0Ljc2NjY3TTQuNzY2NjcgOC41TDkuNTY2NjcgMy43TTQuNzY2NjcgOC41TDkuNTY2NjcgMTMuM00wLjUgMC41VjE2LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD17XCJub25lXCJ9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgQWRkLFxuICBBcnJvd0xlZnQsXG4gIEFycm93UmlnaHQsXG4gIEJhYnksXG4gIENhbmNlbCxcbiAgQ2hlY2ssXG4gIENoZXZyb25Eb3duLFxuICBDaGV2cm9uVXAsXG4gIENvbW1lbnQsXG4gIERpc3RhbmNlLFxuICBEb2N1bWVudCxcbiAgRWRpdCxcbiAgRXVybyxcbiAgRmF2b3JpdGUsXG4gIEluUHJvY2VzcyxcbiAgTWFwLFxuICBNZW51LFxuICBQaW4sXG4gIFByb2ZpbGUsXG4gIFJlZG8sXG4gIFNlbmQsXG4gIFRyYW5zbGF0aW9uLFxufSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3Znc1wiO1xuaW1wb3J0IHsgSUljb25Mb2FkIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBJY29uU2l6ZSwgSWNvblR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IE1pbnVzIH0gZnJvbSBcIkAvdWkvaWNvbi9zdmdzL2ljb24ubWludXMuc3ZnXCI7XG5pbXBvcnQgeyBDb2xsYXBzZSB9IGZyb20gXCJAL3VpL2ljb24vc3Zncy9pY29uLmNvbGxhcHNlLnN2Z1wiO1xuaW1wb3J0IHsgQ2hldnJvblJpZ2h0IH0gZnJvbSBcIkAvdWkvaWNvbi9zdmdzL2ljb24uY2hldnJvbi1yaWdodC5zdmdcIjtcbmltcG9ydCB7IENoZXZyb25MZWZ0IH0gZnJvbSBcIkAvdWkvaWNvbi9zdmdzL2ljb24uY2hldnJvbi1sZWZ0LnN2Z1wiO1xuaW1wb3J0IHsgRXhwYW5kIH0gZnJvbSBcIkAvdWkvaWNvbi9zdmdzL2ljb24uZXhwYW5kLnN2Z1wiO1xuXG5leHBvcnQgY29uc3QgTG9hZEljb24gPSAoeyBzaXplLCB0eXBlLCBzY3JlZW5SZWFkZXJUZXh0IH06IElJY29uTG9hZCkgPT4ge1xuICBsZXQgU2l6ZSA9IFwiMzJweFwiO1xuICBzd2l0Y2ggKHNpemUpIHtcbiAgICBjYXNlIEljb25TaXplLlhTTUFMTDpcbiAgICAgIFNpemUgPSBcIjEycHhcIjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgSWNvblNpemUuU01BTEw6XG4gICAgICBTaXplID0gXCIxNnB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEljb25TaXplLkxBUkdFOlxuICAgICAgU2l6ZSA9IFwiNDhweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBJY29uU2l6ZS5NRURJVU06XG4gICAgZGVmYXVsdDpcbiAgfVxuXG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgSWNvblR5cGUuQUREOlxuICAgICAgcmV0dXJuIDxBZGQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG4gICAgY2FzZSBJY29uVHlwZS5QUk9GSUxFOlxuICAgICAgcmV0dXJuIDxQcm9maWxlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuICAgIGNhc2UgSWNvblR5cGUuQVJST1dfTEVGVDpcbiAgICAgIHJldHVybiA8QXJyb3dMZWZ0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuICAgIGNhc2UgSWNvblR5cGUuQVJST1dfUklHSFQ6XG4gICAgICByZXR1cm4gPEFycm93UmlnaHQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLkNBTkNFTDpcbiAgICAgIHJldHVybiA8Q2FuY2VsIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5DSEVWUk9OX0RPV046XG4gICAgICByZXR1cm4gPENoZXZyb25Eb3duIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5DSEVWUk9OX1VQOlxuICAgICAgcmV0dXJuIDxDaGV2cm9uVXAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLkNIRVZST05fUklHSFQ6XG4gICAgICByZXR1cm4gPENoZXZyb25SaWdodCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuQ0hFVlJPTl9MRUZUOlxuICAgICAgcmV0dXJuIDxDaGV2cm9uTGVmdCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuRURJVDpcbiAgICAgIHJldHVybiA8RWRpdCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuU0VORDpcbiAgICAgIHJldHVybiA8U2VuZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuUkVETzpcbiAgICAgIHJldHVybiA8UmVkbyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuQ0hFQ0s6XG4gICAgICByZXR1cm4gPENoZWNrIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5QSU46XG4gICAgICByZXR1cm4gPFBpbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuVFJBTlNMQVRJT046XG4gICAgICByZXR1cm4gPFRyYW5zbGF0aW9uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5NQVA6XG4gICAgICByZXR1cm4gPE1hcCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuRVVSTzpcbiAgICAgIHJldHVybiA8RXVybyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuQkFCWTpcbiAgICAgIHJldHVybiA8QmFieSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuTUVOVTpcbiAgICAgIHJldHVybiA8TWVudSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuRE9DVU1FTlQ6XG4gICAgICByZXR1cm4gPERvY3VtZW50IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5ESVNUQU5DRTpcbiAgICAgIHJldHVybiA8RGlzdGFuY2Ugc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLkZBVk9SSVRFOlxuICAgICAgcmV0dXJuIDxGYXZvcml0ZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuQ09NTUVOVDpcbiAgICAgIHJldHVybiA8Q29tbWVudCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuSU5fUFJPQ0VTUzpcbiAgICAgIHJldHVybiA8SW5Qcm9jZXNzIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5NSU5VUzpcbiAgICAgIHJldHVybiA8TWludXMgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLkNPTExBUFNFOlxuICAgICAgcmV0dXJuIDxDb2xsYXBzZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuRVhQQU5EOlxuICAgICAgcmV0dXJuIDxFeHBhbmQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIDw+IPCfmqsgTm90IEZvdW5kPC8+O1xuICB9XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTG9hZEljb24gfSBmcm9tIFwiQC91aS9pY29uL2ljb24ubG9hZGVyXCI7XG5pbXBvcnQgeyBJSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCwgSWNvbkN0eERlZmF1bHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgSWNvbiA9ICh7IHNpemUsIHR5cGUsIHNjcmVlblJlYWRlclRleHQsIGNvbnRleHQgfTogSUljb24pID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogSWNvbkN0eERlZmF1bHQ7XG5cbiAgY29uc3QgSWNvbiA9IExvYWRJY29uKHtcbiAgICBzaXplOiBzaXplID8gc2l6ZSA6IEljb25TaXplLlNNQUxMLFxuICAgIHR5cGU6IHR5cGUsXG4gICAgc2NyZWVuUmVhZGVyVGV4dDogc2NyZWVuUmVhZGVyVGV4dCxcbiAgfSk7XG5cbiAgcmV0dXJuIDxJY29uQ3R4LlByb3ZpZGVyIHZhbHVlPXtDb250ZXh0fT57SWNvbn08L0ljb25DdHguUHJvdmlkZXI+O1xufTtcblxuZXhwb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9O1xuZXhwb3J0IHR5cGUgeyBJSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuIiwiaW1wb3J0IHsgSUJyZWFkY3J1bWIgfSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHlwZXNcIjtcbmltcG9ydCB7IEJyZWFkY3J1bWIgYXMgQmFzZUJyZWFkY3J1bWIgfSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iL2NvbXBvbmVudHMvYnJlYWRjcnVtYlwiO1xuXG5leHBvcnQgY29uc3QgQnJlYWRjcnVtYiA9ICh7IGNydW1icywgY3VycmVudFBhZ2UgfTogSUJyZWFkY3J1bWIpID0+IHtcbiAgcmV0dXJuIDxCYXNlQnJlYWRjcnVtYiBjcnVtYnM9e2NydW1ic30gY3VycmVudFBhZ2U9e2N1cnJlbnRQYWdlfSAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUJyZWFkY3J1bWIgfSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHlwZXNcIjtcbiIsImltcG9ydCB7IEJ1dHRvbkljb25Qcm9wcyB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24udHlwZXNcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VCdXR0b25JY29uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9ob29rcy91c2UtYnV0dG9uLmljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uU2l6ZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgQnV0dG9uQ3R4IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25JY29uID0gKHsgaWNvbiB9OiBCdXR0b25JY29uUHJvcHMpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoQnV0dG9uQ3R4KTtcbiAgY29uc3QgTWF0Y2hlZEljb25Db250ZXh0OiBJY29uQ29udGV4dCA9IHVzZUJ1dHRvbkljb25Db250ZXh0KENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xuICAgICAgICBjb250ZXh0OiBNYXRjaGVkSWNvbkNvbnRleHQsXG4gICAgICAgIHNpemU6IEljb25TaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC8+XG4gICk7XG59O1xuIiwiZXhwb3J0IGVudW0gQnV0dG9uQ29udGV4dCB7XG4gIERJU0FCTEVEID0gXCJESVNBQkxFRFwiLFxuICBQUklNQVJZID0gXCJQUklNQVJZXCIsXG4gIFNVUFBPUlRJTkcgPSBcIlNVUFBPUlRJTkdcIixcbiAgTkVVVFJBTCA9IFwiTkVVVFJBTFwiLFxuICBPVVRMSU5FRCA9IFwiT1VUTElORURcIixcbiAgR0hPU1QgPSBcIkdIT1NUXCIsXG4gIFVJID0gXCJVSVwiLFxufVxuXG5leHBvcnQgZW51bSBCdXR0b25UeXBlIHtcbiAgQlVUVE9OID0gXCJCVVRUT05cIixcbiAgUkVTRVQgPSBcIlJFU0VUXCIsXG4gIFNVQk1JVCA9IFwiU1VCTUlUXCIsXG4gIExJTksgPSBcIkxJTktcIixcbn1cbiIsImltcG9ydCB7IEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgQnV0dG9uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUJ1dHRvbkljb25Db250ZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQnV0dG9uQ29udGV4dCxcbik6IEljb25Db250ZXh0ID0+IHtcbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbQnV0dG9uQ29udGV4dC5ESVNBQkxFRCwgSWNvbkNvbnRleHQuRElTQUJMRURdLFxuICAgIFtCdXR0b25Db250ZXh0LkdIT1NULCBJY29uQ29udGV4dC5TVEFOREFSRF0sXG4gICAgW0J1dHRvbkNvbnRleHQuVUksIEljb25Db250ZXh0LkRBUktdLFxuICAgIFtCdXR0b25Db250ZXh0Lk5FVVRSQUwsIEljb25Db250ZXh0LkRBUktdLFxuICAgIFtCdXR0b25Db250ZXh0Lk9VVExJTkVELCBJY29uQ29udGV4dC5TVEFOREFSRF0sXG4gICAgW0J1dHRvbkNvbnRleHQuUFJJTUFSWSwgSWNvbkNvbnRleHQuTElHSFRdLFxuICAgIFtCdXR0b25Db250ZXh0LlNVUFBPUlRJTkcsIEljb25Db250ZXh0LkxJR0hUXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgQnV0dG9uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uZW51bXNcIjtcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25DdHhEZWZhdWx0OiBCdXR0b25Db250ZXh0ID0gQnV0dG9uQ29udGV4dC5QUklNQVJZO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQnV0dG9uQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBCdXR0b25Db250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoQnV0dG9uQ3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJ1dHRvblRoZW1lIH0gZnJvbSBcIi4vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyBCdXR0b24sIEJ1dHRvbklubmVyLCBCdXR0b25MYWJlbCB9IGZyb20gXCJAL2Jhc2UvYnV0dG9uL2J1dHRvblwiO1xuaW1wb3J0IHsgQnV0dG9uTmF2aWdhdGlvbiB9IGZyb20gXCJAL2Jhc2UvYnV0dG9uL2J1dHRvbi5zdHlsZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJ1dHRvbiA9IHN0eWxlZChCdXR0b24pPHsgdGhlbWU6IElCdXR0b25UaGVtZSB9PmBcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJhY2tncm91bmR9O1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5jb2xvcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b25OYXZpZ2F0aW9uID0gc3R5bGVkKEJ1dHRvbk5hdmlnYXRpb24pPHtcbiAgdGhlbWU6IElCdXR0b25UaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5ib3JkZXJ9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuY29sb3J9O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuICA6aGFzKD4gYSkge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJ1dHRvblNrZWxldG9uID0gc3R5bGVkKFN0eWxlZEJ1dHRvbik8e1xuICB0aGVtZTogSUJ1dHRvblRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCdXR0b25Jbm5lciA9IHN0eWxlZChCdXR0b25Jbm5lcikud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IGhhc0xhYmVsOiBib29sZWFuIH0+YFxuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5oYXNMYWJlbFxuICAgICAgPyBjc3NgXG4gICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYygyNHB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogY2FsYygyNHB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuICAgICAgICBgXG4gICAgICA6IGNzc2BcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDEycHggLSAycHgpOyAvKiBtaW51cyAycHggYm9yZGVyICovXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDEycHggLSAycHgpOyAvKiBtaW51cyAycHggYm9yZGVyICovXG4gICAgICAgIGB9XG5gO1xuZXhwb3J0IGNvbnN0IFN0eWxlZEJ1dHRvbkxhYmVsID0gc3R5bGVkKEJ1dHRvbkxhYmVsKTx7fT5gYDtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQmFzZUxpbmtUaGVtZSB9IGZyb20gXCJAL2Jhc2UvbGluay9saW5rLnR5cGVzXCI7XG5cbmNvbnN0IGJhc2VCdXR0b25TdHlsZXMgPSBjc3NgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOlxuICAgIHRyYW5zZm9ybSAwLjZzLFxuICAgIGJhY2tncm91bmQgMC42cyxcbiAgICBib3JkZXIgMC42cztcbiAgbWluLWhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDtcbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgfVxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgfVxuICAmOmRpc2FibGVkOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICB9XG5gO1xuXG5jb25zdCBiYXNlQnV0dG9uSW5uZXJTdHlsZXMgPSBjc3NgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTZweDtcbiAgcGFkZGluZy10b3A6IGNhbGMoOHB4IC0gMnB4KTsgLyogbWludXMgMnB4IGJvcmRlciAqL1xuICBwYWRkaW5nLWJvdHRvbTogY2FsYyg4cHggLSAycHgpOyAvKiBtaW51cyAycHggYm9yZGVyICovXG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uTmF2aWdhdGlvbiA9IHN0eWxlZC5zcGFuYFxuICAke2Jhc2VCdXR0b25TdHlsZXN9XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgJHtiYXNlQnV0dG9uU3R5bGVzfVxuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbklubmVyID0gc3R5bGVkLnNwYW5gXG4gICR7YmFzZUJ1dHRvbklubmVyU3R5bGVzfVxuYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkxhYmVsID0gc3R5bGVkLnNwYW48e30+YGA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25JY29uID0gc3R5bGVkLnNwYW48e30+YFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcbiIsImltcG9ydCB7IEJ1dHRvbkxhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRCdXR0b25MYWJlbCB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkxhYmVsID0gKHsgY2hpbGRyZW4gfTogQnV0dG9uTGFiZWxQcm9wcykgPT4ge1xuICByZXR1cm4gPFN0eWxlZEJ1dHRvbkxhYmVsPntjaGlsZHJlbn08L1N0eWxlZEJ1dHRvbkxhYmVsPjtcbn07XG4iLCJpbXBvcnQgeyBCdXR0b25JY29uIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmljb25cIjtcbmltcG9ydCB7IEJ1dHRvbkxhYmVsIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmxhYmVsXCI7XG5pbXBvcnQge1xuICBJQnV0dG9uQmFzZSxcbiAgSUJ1dHRvblRoZW1lLFxuICBJQnV0dG9uVGhlbWVhYmxlLFxufSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRCdXR0b24sXG4gIFN0eWxlZEJ1dHRvbklubmVyLFxuICBTdHlsZWRCdXR0b25OYXZpZ2F0aW9uLFxuICBTdHlsZWRCdXR0b25Ta2VsZXRvbixcbn0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5zdHlsZVwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUJ1dHRvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2hvb2tzL3VzZS1idXR0b25cIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQnV0dG9uQ3R4IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb250ZXh0XCI7XG5pbXBvcnQgeyBCdXR0b25Db250ZXh0LCBCdXR0b25UeXBlIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uID0gKHtcbiAgaWQsXG4gIHRpdGxlLFxuICBhcmlhTGFiZWwsXG4gIGNoaWxkcmVuLFxuICBvbkNsaWNrLFxuICB3aXRoSWNvbkJlZm9yZSxcbiAgd2l0aEljb25BZnRlcixcbiAgdHlwZSxcbn06IElCdXR0b25CYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBCdG5Db250ZXh0ID0gdXNlQ29udGV4dChCdXR0b25DdHgpO1xuICBjb25zdCBUaGVtZTogSUJ1dHRvblRoZW1lID0gdXNlQnV0dG9uVGhlbWUoQnRuQ29udGV4dCwgSXNTa2VsZXRvbik7XG5cbiAgY29uc3QgTGFiZWwgPSBjaGlsZHJlbiA/IDxCdXR0b25MYWJlbD57Y2hpbGRyZW59PC9CdXR0b25MYWJlbD4gOiBudWxsO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgY29uc3QgSWNvbkJlZm9yZVNrZWxldG9uID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxCdXR0b25JY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IEljb25BZnRlclNrZWxldG9uID0gd2l0aEljb25BZnRlciA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEJ1dHRvbkljb24gaWNvbj17d2l0aEljb25BZnRlcn0gLz5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKSA6IG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEJ1dHRvblNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRCdXR0b25Jbm5lciBoYXNMYWJlbD17ISFMYWJlbH0+XG4gICAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAgICB7TGFiZWx9XG4gICAgICAgICAge0ljb25BZnRlclNrZWxldG9ufVxuICAgICAgICA8L1N0eWxlZEJ1dHRvbklubmVyPlxuICAgICAgPC9TdHlsZWRCdXR0b25Ta2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgSXNEaXNhYmxlZCA9IEJ0bkNvbnRleHQgPT09IEJ1dHRvbkNvbnRleHQuRElTQUJMRUQ7XG4gIGNvbnN0IElzTmF2aWdhdGlvbiA9IHR5cGUgPT09IEJ1dHRvblR5cGUuTElOSztcblxuICBjb25zdCBJY29uQmVmb3JlID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgPEJ1dHRvbkljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+XG4gICkgOiBudWxsO1xuICBjb25zdCBJY29uQWZ0ZXIgPSB3aXRoSWNvbkFmdGVyID8gPEJ1dHRvbkljb24gaWNvbj17d2l0aEljb25BZnRlcn0gLz4gOiBudWxsO1xuXG4gIC8qKiAgKiovXG4gIGlmIChJc05hdmlnYXRpb24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEJ1dHRvbk5hdmlnYXRpb25cbiAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17SXNEaXNhYmxlZH1cbiAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgICAgaWQ9e2lkfVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkQnV0dG9uSW5uZXIgaGFzTGFiZWw9eyEhTGFiZWx9PlxuICAgICAgICAgIHtJY29uQmVmb3JlfVxuICAgICAgICAgIHtMYWJlbH1cbiAgICAgICAgICB7SWNvbkFmdGVyfVxuICAgICAgICA8L1N0eWxlZEJ1dHRvbklubmVyPlxuICAgICAgPC9TdHlsZWRCdXR0b25OYXZpZ2F0aW9uPlxuICAgICk7XG4gIH1cblxuICBjb25zdCBodG1sVHlwZSA9IG1hdGNoKHR5cGUsIFtcbiAgICBbQnV0dG9uVHlwZS5CVVRUT04sIFwiYnV0dG9uXCJdLFxuICAgIFtCdXR0b25UeXBlLlJFU0VULCBcInJlc2V0XCJdLFxuICAgIFtCdXR0b25UeXBlLlNVQk1JVCwgXCJzdWJtaXRcIl0sXG4gIF0pO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJ1dHRvblxuICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgYXJpYS1kaXNhYmxlZD17SXNEaXNhYmxlZH1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICBkaXNhYmxlZD17SXNEaXNhYmxlZH1cbiAgICAgIHR5cGU9e2h0bWxUeXBlfVxuICAgICAgaWQ9e2lkfVxuICAgID5cbiAgICAgIDxTdHlsZWRCdXR0b25Jbm5lciBoYXNMYWJlbD17ISFMYWJlbH0+XG4gICAgICAgIHtJY29uQmVmb3JlfVxuICAgICAgICB7TGFiZWx9XG4gICAgICAgIHtJY29uQWZ0ZXJ9XG4gICAgICA8L1N0eWxlZEJ1dHRvbklubmVyPlxuICAgIDwvU3R5bGVkQnV0dG9uPlxuICApO1xufTtcbiIsImltcG9ydCB7IElCdXR0b25UaGVtZSB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24udHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VCdXR0b25UaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIEJ1dHRvbkNvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJQnV0dG9uVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkRpc2FibGVkQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2Rpc2FibGVkX2JhY2tncm91bmRcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkRpc2FibGVkQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2Rpc2FibGVkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQmdQcmltYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9iYWNrZ3JvdW5kX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJCZ1ByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2JhY2tncm91bmRfcHJpbWFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5wcmltYXJ5LnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQ29sb3JQcmltYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9jb2xvcl9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkhvdmVyQ29sb3JQcmltYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9jb2xvcl9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkluaXRpYWxCZ1NlY29uZGFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fYmFja2dyb3VuZF9zZWNvbmRhcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJCZ1NlY29uZGFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfYmFja2dyb3VuZF9zZWNvbmRhcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSW5pdGlhbENvbG9yU2Vjb25kYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9jb2xvcl9zZWNvbmRhcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkhvdmVyQ29sb3JTZWNvbmRhcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2NvbG9yX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSW5pdGlhbEJnU3VwcG9ydGluZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fYmFja2dyb3VuZF9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkhvdmVyQmdTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9iYWNrZ3JvdW5kX3N1cHBvcnRpbmdcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fY29sb3Jfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICB9KTtcblxuICBjb25zdCBCdG5Ib3ZlckNvbG9yU3VwcG9ydGluZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfY29sb3Jfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICB9KTtcblxuICBjb25zdCBVaSA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIHRyYW5zcGFyZW50XCIsXG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBOb25lID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgIGNvbG9yOiBCdG5Jbml0aWFsQmdQcmltYXJ5LFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckJnUHJpbWFyeSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IExvdyA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Jbml0aWFsQmdTZWNvbmRhcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSW5pdGlhbEJnU2Vjb25kYXJ5LFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxDb2xvclNlY29uZGFyeSxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Ib3ZlckJnU2Vjb25kYXJ5LFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkhvdmVyQmdTZWNvbmRhcnksXG4gICAgICBjb2xvcjogQnRuSG92ZXJDb2xvclNlY29uZGFyeSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IE1lZGl1bSA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdQcmltYXJ5LFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgICBjb2xvcjogQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBIaWdoID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSW5pdGlhbEJnUHJpbWFyeSxcbiAgICAgIGNvbG9yOiBCdG5Jbml0aWFsQ29sb3JQcmltYXJ5LFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkhvdmVyQmdQcmltYXJ5LFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkhvdmVyQmdQcmltYXJ5LFxuICAgICAgY29sb3I6IEJ0bkhvdmVyQ29sb3JQcmltYXJ5LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogQnRuRGlzYWJsZWRCZyxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5EaXNhYmxlZEJnLFxuICAgICAgY29sb3I6IEJ0bkRpc2FibGVkQ29sb3IsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogQnRuRGlzYWJsZWRCZyxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5EaXNhYmxlZEJnLFxuICAgICAgY29sb3I6IEJ0bkRpc2FibGVkQ29sb3IsXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIFNrZWxldG9uQmcsXG4gICAgICBjb2xvcjogU2tlbGV0b25CZyxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIFNrZWxldG9uQmcsXG4gICAgICBjb2xvcjogU2tlbGV0b25CZyxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IFN1cHBvcnRpbmcgPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSW5pdGlhbEJnU3VwcG9ydGluZyxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdTdXBwb3J0aW5nLFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxDb2xvclN1cHBvcnRpbmcsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSG92ZXJCZ1N1cHBvcnRpbmcsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1N1cHBvcnRpbmcsXG4gICAgICBjb2xvcjogQnRuSG92ZXJDb2xvclN1cHBvcnRpbmcsXG4gICAgfSxcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBTa2VsZXRvbjtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0J1dHRvbkNvbnRleHQuR0hPU1QsIE5vbmVdLFxuICAgIFtCdXR0b25Db250ZXh0LlVJLCBVaV0sXG4gICAgW0J1dHRvbkNvbnRleHQuTkVVVFJBTCwgTG93XSxcbiAgICBbQnV0dG9uQ29udGV4dC5PVVRMSU5FRCwgTWVkaXVtXSxcbiAgICBbQnV0dG9uQ29udGV4dC5QUklNQVJZLCBIaWdoXSxcbiAgICBbQnV0dG9uQ29udGV4dC5TVVBQT1JUSU5HLCBTdXBwb3J0aW5nXSxcbiAgICBbQnV0dG9uQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQnV0dG9uIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IHsgQnV0dG9uIGFzIEJhc2VCdXR0b24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vY29tcG9uZW50cy9idXR0b25cIjtcbmltcG9ydCB7IEJ1dHRvbkNvbnRleHQsIEJ1dHRvblR5cGUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLmVudW1zXCI7XG5pbXBvcnQgeyBCdXR0b25DdHgsIEJ1dHRvbkN0eERlZmF1bHQgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbiA9ICh7XG4gIGlkLFxuICB0aXRsZSxcbiAgYXJpYUxhYmVsLFxuICBjaGlsZHJlbixcbiAgb25DbGljayxcbiAgd2l0aEljb25CZWZvcmUsXG4gIHdpdGhJY29uQWZ0ZXIsXG4gIHR5cGUgPSBCdXR0b25UeXBlLkJVVFRPTixcbiAgY29udGV4dCA9IEJ1dHRvbkNvbnRleHQuUFJJTUFSWSxcbn06IElCdXR0b24pID0+IHtcbiAgY29uc3QgQnRuQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogQnV0dG9uQ3R4RGVmYXVsdDtcbiAgY29uc3QgSXNOYXZpZ2F0aW9uID0gdHlwZSA9PT0gQnV0dG9uVHlwZS5MSU5LO1xuXG4gIHJldHVybiAoXG4gICAgPEJ1dHRvbkN0eC5Qcm92aWRlciB2YWx1ZT17QnRuQ29udGV4dH0+XG4gICAgICA8QmFzZUJ1dHRvblxuICAgICAgICBpZD17aWR9XG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIG9uQ2xpY2s9e0lzTmF2aWdhdGlvbiA/IHVuZGVmaW5lZCA6IG9uQ2xpY2t9XG4gICAgICAgIHdpdGhJY29uQmVmb3JlPXt3aXRoSWNvbkJlZm9yZX1cbiAgICAgICAgd2l0aEljb25BZnRlcj17d2l0aEljb25BZnRlcn1cbiAgICAgICAgdHlwZT17dHlwZX1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9CYXNlQnV0dG9uPlxuICAgIDwvQnV0dG9uQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJQnV0dG9uIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuZXhwb3J0IHsgQnV0dG9uVHlwZSwgQnV0dG9uQ29udGV4dCB9O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQ2hlY2tib3gsXG4gIFN0eWxlZENoZWNrYm94Q29udGFpbmVyLFxuICBTdHlsZWRDaGVja2JveENvbnRhaW5lclNrZWxldG9uLFxuICBTdHlsZWRDaGVja2JveExhYmVsLFxuICBTdHlsZWRDaGVja2JveExhYmVsU2tlbGV0b24sXG4gIFN0eWxlZENoZWNrYm94VmlzdWFsLFxuICBTdHlsZWRDaGVja2JveFZpc3VhbFNrZWxldG9uLFxufSBmcm9tIFwiLi4vY2hlY2tib3guc3R5bGVcIjtcbmltcG9ydCB7IENoZWNrYm94VGhlbWVhYmxlUHJvcHMsIElDaGVja2JveFRoZW1lIH0gZnJvbSBcIi4uL2NoZWNrYm94LnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDaGVja2JveFRoZW1lIH0gZnJvbSBcIi4uL2hvb2tzL3VzZS1jaGVja2JveFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBDaGVja2JveEN0eCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LmNvbnRleHRcIjtcbmltcG9ydCB7IENoZWNrYm94Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94XCI7XG5cbmV4cG9ydCBjb25zdCBDaGVja2JveCA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBDaGVja2JveFRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KENoZWNrYm94Q3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZTogSUNoZWNrYm94VGhlbWUgPSB1c2VDaGVja2JveFRoZW1lKENvbXBvbmVudENvbnRleHQsIGlzU2tlbGV0b24pO1xuICBjb25zdCBpc0Rpc2FibGVkID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQ2hlY2tib3hDb250ZXh0LkRJU0FCTEVEO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDaGVja2JveENvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRDaGVja2JveFZpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9TdHlsZWRDaGVja2JveExhYmVsU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZENoZWNrYm94Q29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENoZWNrYm94Q29udGFpbmVyIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkQ2hlY2tib3hcbiAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRDaGVja2JveFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICB7aXNEaXNhYmxlZCAmJiAhY2hlY2tlZCA/IG51bGwgOiAoXG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkNIRUNLfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17bGFiZWx9XG4gICAgICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5MSUdIVH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgPC9TdHlsZWRDaGVja2JveFZpc3VhbD5cbiAgICAgIDxTdHlsZWRDaGVja2JveExhYmVsIHRoZW1lPXtUaGVtZX0+e2xhYmVsfTwvU3R5bGVkQ2hlY2tib3hMYWJlbD5cbiAgICA8L1N0eWxlZENoZWNrYm94Q29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ2hlY2tib3hUaGVtZSB9IGZyb20gXCIuL2NoZWNrYm94LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveCA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiY2hlY2tib3hcIiB9KTx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hDb250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICB0aGVtZTogSUNoZWNrYm94VGhlbWU7XG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuXG4gICYgaW5wdXQ6Y2hlY2tlZCArIGRpdiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5ib3JkZXJ9O1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgY3NzYFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBgfVxuXG4gICAgaW5wdXQgKyBkaXYge1xuICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICB9XG4gICAgaW5wdXQ6Y2hlY2tlZCArIGRpdiB7XG4gICAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJvcmRlcn07XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbiA9IHN0eWxlZC5sYWJlbDx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hWaXN1YWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElDaGVja2JveFRoZW1lIH0+YFxuICB3aWR0aDogMjRweDtcbiAgaGVpZ2h0OiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRDaGVja2JveFZpc3VhbCk8e1xuICB0aGVtZTogSUNoZWNrYm94VGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoZWNrYm94TGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJQ2hlY2tib3hUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRDaGVja2JveExhYmVsKTx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgQ2hlY2tib3hDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3gvY2hlY2tib3guZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IElDaGVja2JveFRoZW1lIH0gZnJvbSBcIi4uL2NoZWNrYm94LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VDaGVja2JveFRoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ2hlY2tib3hDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSUNoZWNrYm94VGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgZXJyb3JCb3JkZXJDb2xvciA9IENvbG9ycy5kYW5nZXIudGludF81MDA7XG5cbiAgY29uc3QgU3RhbmRhcmQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgY29uc3QgRXJyb3IgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgaW5pdGlhbDoge1xuICAgICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICB9LFxuICAgICAgaG92ZXI6IHtcbiAgICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgfSxcbiAgICAgIGNoZWNrZWQ6IHtcbiAgICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgfSxcbiAgICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgcmFkaXVzOiByYWRpdXMueHMsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0NoZWNrYm94Q29udGV4dC5TVEFOREFSRCwgU3RhbmRhcmRdLFxuICAgIFtDaGVja2JveENvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbQ2hlY2tib3hDb250ZXh0LkRJU0FCTEVELCBEaXNhYmxlZF0sXG4gIF0pO1xufTtcbiIsImV4cG9ydCBlbnVtIENoZWNrYm94Q29udGV4dCB7XG4gIFNUQU5EQVJEID0gXCJTVEFOREFSRFwiLFxuICBESVNBQkxFRCA9IFwiRElTQUJMRURcIixcbiAgRVJST1IgPSBcIkVSUk9SXCIsXG59XG4iLCJpbXBvcnQgeyBDaGVja2JveENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9jaGVja2JveC9jaGVja2JveC5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IENoZWNrYm94Q3R4RGVmYXVsdDogQ2hlY2tib3hDb250ZXh0ID0gQ2hlY2tib3hDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ2hlY2tib3hDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENoZWNrYm94Q29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KENoZWNrYm94Q3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgeyBDaGVja2JveCBhcyBDaGVja2JveENvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2hlY2tib3hcIjtcbmltcG9ydCB7XG4gIENoZWNrYm94Q3R4LFxuICBDaGVja2JveEN0eERlZmF1bHQsXG59IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LmNvbnRleHRcIjtcbmltcG9ydCB7IElDaGVja2JveCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LnR5cGVzXCI7XG5pbXBvcnQgeyBDaGVja2JveENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9jaGVja2JveC9jaGVja2JveC5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tib3ggPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxufTogSUNoZWNrYm94KSA9PiB7XG4gIGNvbnN0IElucHV0Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogQ2hlY2tib3hDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPENoZWNrYm94Q3R4LlByb3ZpZGVyIHZhbHVlPXtJbnB1dENvbnRleHR9PlxuICAgICAgPENoZWNrYm94Q29tcG9uZW50XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAvPlxuICAgIDwvQ2hlY2tib3hDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElDaGVja2JveCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LnR5cGVzXCI7XG5leHBvcnQgeyBDaGVja2JveENvbnRleHQgfTtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENob2ljZVRoZW1lYWJsZVByb3BzLCBJQ2hvaWNlVGhlbWUgfSBmcm9tIFwiLi4vY2hvaWNlLnR5cGVzXCI7XG5pbXBvcnQgeyBDaG9pY2VDb250ZXh0IH0gZnJvbSBcIi4uL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IHVzZUNob2ljZVRoZW1lIH0gZnJvbSBcIi4uL2hvb2tzL3VzZS1jaG9pY2VcIjtcbmltcG9ydCB7XG4gIFN0eWxlZENob2ljZSxcbiAgU3R5bGVkQ2hvaWNlQ29udGFpbmVyLFxuICBTdHlsZWRDaG9pY2VDb250YWluZXJTa2VsZXRvbixcbiAgU3R5bGVkQ2hvaWNlTGFiZWwsXG4gIFN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24sXG4gIFN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uLFxuICBTdHlsZWRWaXN1YWwsXG4gIFN0eWxlZFZpc3VhbENvbnRhaW5lcixcbn0gZnJvbSBcIi4uL2Nob2ljZS5zdHlsZVwiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBDaG9pY2VDdHggfSBmcm9tIFwiQC9hdG9tcy9jaG9pY2UvY2hvaWNlLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IENob2ljZSA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBDaG9pY2VUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDaG9pY2VDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWU6IElDaG9pY2VUaGVtZSA9IHVzZUNob2ljZVRoZW1lKENvbXBvbmVudENvbnRleHQsIGlzU2tlbGV0b24pO1xuICBjb25zdCBpc0Rpc2FibGVkID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQ2hvaWNlQ29udGV4dC5ESVNBQkxFRDtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZENob2ljZUxhYmVsU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7bGFiZWx9XG4gICAgICAgIDwvU3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENob2ljZUNvbnRhaW5lciBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZENob2ljZVxuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkVmlzdWFsQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxGcmFtZSB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9IGFyb3VuZD17aWNvbn0gLz5cbiAgICAgICAgPFN0eWxlZFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICB0eXBlPXtJY29uVHlwZS5DSEVDS31cbiAgICAgICAgICAgIHNpemU9e0ljb25TaXplLk1FRElVTX1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuTElHSFR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRWaXN1YWw+XG4gICAgICA8L1N0eWxlZFZpc3VhbENvbnRhaW5lcj5cbiAgICAgIDxTdHlsZWRDaG9pY2VMYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZENob2ljZUxhYmVsPlxuICAgIDwvU3R5bGVkQ2hvaWNlQ29udGFpbmVyPlxuICApO1xufTtcbiIsImV4cG9ydCBlbnVtIENob2ljZUNvbnRleHQge1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbiAgRElTQUJMRUQgPSBcIkRJU0FCTEVEXCIsXG4gIEVSUk9SID0gXCJFUlJPUlwiLFxufVxuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgQ2hvaWNlQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2Nob2ljZS9jaG9pY2UuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IElDaG9pY2VUaGVtZSB9IGZyb20gXCIuLi9jaG9pY2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUNob2ljZVRoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ2hvaWNlQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElDaG9pY2VUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsOiB7XG4gICAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgfSxcbiAgICAgIGhvdmVyOiB7XG4gICAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgfSxcbiAgICAgIGNoZWNrZWQ6IHtcbiAgICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICB9LFxuICAgICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtDaG9pY2VDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW0Nob2ljZUNvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbQ2hvaWNlQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUNob2ljZVRoZW1lIH0gZnJvbSBcIi4vY2hvaWNlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2UgPSBzdHlsZWQuaW5wdXQuYXR0cnMoeyB0eXBlOiBcIlJhZGlvXCIgfSk8e1xuICB0aGVtZTogSUNob2ljZVRoZW1lO1xufT5gXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmOmNoZWNrZWQgfiBzcGFuIHtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJvcmRlcn0gIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuY29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAmOmNoZWNrZWQgfiBkaXYgPiA6bGFzdC1jaGlsZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZUNvbnRhaW5lciA9IHN0eWxlZC5sYWJlbDx7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRoZW1lOiBJQ2hvaWNlVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICR7KHByb3BzKSA9PlxuICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgY3NzYFxuICAgICAgJjpob3ZlciA+IHNwYW4ge1xuICAgICAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5ib3JkZXJ9O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgYH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2VMYWJlbCA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElDaG9pY2VUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQ2hvaWNlVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFZpc3VhbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS52aXN1YWxSYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5iYWNrZ3JvdW5kfTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZUNvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElDaG9pY2VUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlVmlzdWFsU2tlbGV0b24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElDaG9pY2VUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbiA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElDaG9pY2VUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ2hvaWNlQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2Nob2ljZS9jaG9pY2UuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IENob2ljZUN0eERlZmF1bHQ6IENob2ljZUNvbnRleHQgPSBDaG9pY2VDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ2hvaWNlQ3R4OiBSZWFjdC5Db250ZXh0PENob2ljZUNvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChDaG9pY2VDdHhEZWZhdWx0KTtcbiIsImltcG9ydCB7IElDaG9pY2UgfSBmcm9tIFwiLi9jaG9pY2UudHlwZXNcIjtcbmltcG9ydCB7IENob2ljZSBhcyBDaG9pY2VDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2Nob2ljZVwiO1xuaW1wb3J0IHsgQ2hvaWNlQ29udGV4dCB9IGZyb20gXCIuL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IHsgQ2hvaWNlQ3R4LCBDaG9pY2VDdHhEZWZhdWx0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBDaG9pY2UgPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxuICBpY29uLFxufTogSUNob2ljZSkgPT4ge1xuICBjb25zdCBDaG9pY2VDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBDaG9pY2VDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPENob2ljZUN0eC5Qcm92aWRlciB2YWx1ZT17Q2hvaWNlQ29udGV4dH0+XG4gICAgICA8Q2hvaWNlQ29tcG9uZW50XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGljb249e2ljb259XG4gICAgICAvPlxuICAgIDwvQ2hvaWNlQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJQ2hvaWNlIH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS50eXBlc1wiO1xuZXhwb3J0IHsgQ2hvaWNlQ29udGV4dCB9O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7XG4gIElGZWF0dXJlSWNvblRoZW1lLFxuICBJRmVhdHVyZVRoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmUgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZlYXR1cmVUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkZlYXR1cmUgPSBzdHlsZWQoU3R5bGVkRmVhdHVyZSk8e1xuICB0aGVtZTogSUZlYXR1cmVUaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlTGFiZWwgPSBzdHlsZWQuZGl2PHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZUljb24gPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZlYXR1cmVJY29uVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSUZlYXR1cmVUaGVtZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGZWF0dXJlID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJRmVhdHVyZVRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNzAwLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF83MDAsXG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICB9O1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEZlYXR1cmVMYWJlbFByb3BzIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGZWF0dXJlTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmVMYWJlbCA9ICh7IGNoaWxkcmVuIH06IEZlYXR1cmVMYWJlbFByb3BzKSA9PiB7XG4gIHJldHVybiA8U3R5bGVkRmVhdHVyZUxhYmVsPntjaGlsZHJlbn08L1N0eWxlZEZlYXR1cmVMYWJlbD47XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IEZlYXR1cmVJY29uUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcbmltcG9ydCB7IHVzZUZlYXR1cmVJY29uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmUtaWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkRmVhdHVyZUljb24gfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuc3R5bGVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGZWF0dXJlSWNvbiA9ICh7IGljb24gfTogRmVhdHVyZUljb25Qcm9wcykgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgSWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gdXNlRmVhdHVyZUljb25Db250ZXh0KElzU2tlbGV0b24pO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgTWFyZ2luID0gXCIwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArIFwiIDAgMFwiO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZlYXR1cmVJY29uIHRoZW1lPXt7IG1hcmdpbjogTWFyZ2luIH19PlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgIGNvbnRleHQ6IEljb25Db250ZXh0LFxuICAgICAgICBzaXplOiBJY29uU2l6ZS5TTUFMTCxcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkRmVhdHVyZUljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUZlYXR1cmVJY29uQ29udGV4dCA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSWNvbkNvbnRleHQgPT4ge1xuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBJY29uQ29udGV4dC5ESVNBQkxFRDtcbiAgfVxuXG4gIHJldHVybiBJY29uQ29udGV4dC5EQVJLO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZlYXR1cmUsXG4gIFN0eWxlZFNrZWxldG9uRmVhdHVyZSxcbn0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IElGZWF0dXJlQmFzZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmVhdHVyZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvaG9va3MvdXNlLWZlYXR1cmVcIjtcbmltcG9ydCB7IEZlYXR1cmVMYWJlbCB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLmxhYmVsXCI7XG5pbXBvcnQgeyBGZWF0dXJlSWNvbiB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLmljb25cIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGZWF0dXJlID0gKHsgbGFiZWwsIHdpdGhJY29uQmVmb3JlIH06IElGZWF0dXJlQmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmVhdHVyZShJc1NrZWxldG9uKTtcblxuICBjb25zdCBMYWJlbCA9IDxGZWF0dXJlTGFiZWw+e2xhYmVsfTwvRmVhdHVyZUxhYmVsPjtcbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxGZWF0dXJlSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgKSA6IG51bGw7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEZlYXR1cmVJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IExhYmVsU2tlbGV0b24gPSAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxGZWF0dXJlTGFiZWw+e2xhYmVsfTwvRmVhdHVyZUxhYmVsPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkZlYXR1cmUgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAge0xhYmVsU2tlbGV0b259XG4gICAgICA8L1N0eWxlZFNrZWxldG9uRmVhdHVyZT5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRmVhdHVyZSB0aGVtZT17VGhlbWV9PlxuICAgICAge0ljb25CZWZvcmV9IHtMYWJlbH1cbiAgICA8L1N0eWxlZEZlYXR1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgRmVhdHVyZSBhcyBCYXNlRmVhdHVyZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlXCI7XG5pbXBvcnQgeyBJRmVhdHVyZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZSA9ICh7IGxhYmVsLCB3aXRoSWNvbkJlZm9yZSB9OiBJRmVhdHVyZSkgPT4ge1xuICByZXR1cm4gPEJhc2VGZWF0dXJlIGxhYmVsPXtsYWJlbH0gd2l0aEljb25CZWZvcmU9e3dpdGhJY29uQmVmb3JlfSAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUZlYXR1cmUgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ29sbGFwc2VUaGVtZSB9IGZyb20gXCJAL2F0b21zL2NvbGxhcHNlL2NvbGxhcHNlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzZSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUNvbGxhcHNlVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzZUFjdGlvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUNvbGxhcHNlVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIH1cbmA7XG4iLCJpbXBvcnQgeyBJQ29sbGFwc2VCYXNlIH0gZnJvbSBcIkAvYXRvbXMvY29sbGFwc2UvY29sbGFwc2UudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZENvbGxhcHNlLFxuICBTdHlsZWRDb2xsYXBzZUFjdGlvbixcbn0gZnJvbSBcIkAvYXRvbXMvY29sbGFwc2UvY29sbGFwc2Uuc3R5bGVcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IENvbGxhcHNlID0gKHsgb25DbGljayB9OiBJQ29sbGFwc2VCYXNlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbGxhcHNlPlxuICAgICAgPFN0eWxlZENvbGxhcHNlQWN0aW9uIG9uQ2xpY2s9e29uQ2xpY2t9PlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkNPTExBUFNFfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e1wiXCJ9XG4gICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkQ29sbGFwc2VBY3Rpb24+XG4gICAgPC9TdHlsZWRDb2xsYXBzZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb2xsYXBzZSBhcyBCYXNlQ29sbGFwc2UgfSBmcm9tIFwiQC9hdG9tcy9jb2xsYXBzZS9jb21wb25lbnRzL2NvbGxhcHNlXCI7XG5pbXBvcnQgeyBJQ29sbGFwc2UgfSBmcm9tIFwiQC9hdG9tcy9jb2xsYXBzZS9jb2xsYXBzZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgQ29sbGFwc2UgPSAoeyBvbkNsaWNrIH06IElDb2xsYXBzZSkgPT4ge1xuICByZXR1cm4gPEJhc2VDb2xsYXBzZSBvbkNsaWNrPXtvbkNsaWNrfSAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUNvbGxhcHNlIH0gZnJvbSBcIkAvYXRvbXMvY29sbGFwc2UvY29sbGFwc2UudHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJRXhwYW5kVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9leHBhbmQvZXhwYW5kLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRFeHBhbmQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElFeHBhbmRUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OlxuICAgIDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cGFuZEFjdGlvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUV4cGFuZFRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICB9XG5gO1xuIiwiaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUV4cGFuZCB9IGZyb20gXCJAL2F0b21zL2V4cGFuZC9leHBhbmQudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEV4cGFuZCwgU3R5bGVkRXhwYW5kQWN0aW9uIH0gZnJvbSBcIkAvYXRvbXMvZXhwYW5kL2V4cGFuZC5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgRXhwYW5kID0gKHsgb25DbGljayB9OiBJRXhwYW5kKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEV4cGFuZD5cbiAgICAgIDxTdHlsZWRFeHBhbmRBY3Rpb24gb25DbGljaz17b25DbGlja30+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgdHlwZT17SWNvblR5cGUuRVhQQU5EfVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e1wiXCJ9XG4gICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkRXhwYW5kQWN0aW9uPlxuICAgIDwvU3R5bGVkRXhwYW5kPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEV4cGFuZCBhcyBCYXNlRXhwYW5kIH0gZnJvbSBcIkAvYXRvbXMvZXhwYW5kL2NvbXBvbmVudHMvZXhwYW5kXCI7XG5pbXBvcnQgeyBJRXhwYW5kIH0gZnJvbSBcIkAvYXRvbXMvZXhwYW5kL2V4cGFuZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgRXhwYW5kID0gKHsgb25DbGljayB9OiBJRXhwYW5kKSA9PiB7XG4gIHJldHVybiA8QmFzZUV4cGFuZCBvbkNsaWNrPXtvbkNsaWNrfSAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUV4cGFuZCB9IGZyb20gXCJAL2F0b21zL2V4cGFuZC9leHBhbmQudHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRIMSA9IHN0eWxlZC5oMTx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEgyID0gc3R5bGVkLmgyPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDMgPSBzdHlsZWQuaDM8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRINCA9IHN0eWxlZC5oNDx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEg1ID0gc3R5bGVkLmg1PHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDYgPSBzdHlsZWQuaDY8e30+YGA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJSGVhZGluZ0Jhc2UgfSBmcm9tIFwiQC9hdG9tcy9oZWFkaW5nL2hlYWRpbmcudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEgxLFxuICBTdHlsZWRIMixcbiAgU3R5bGVkSDMsXG4gIFN0eWxlZEg0LFxuICBTdHlsZWRINSxcbiAgU3R5bGVkSDYsXG59IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvaGVhZGluZy5zdHlsZVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgUGxhaW5UZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0XCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgSGVhZGluZyA9ICh7XG4gIGlkLFxuICB0aXRsZSxcbiAgY2hpbGRyZW4sXG4gIGh0bWxUeXBlLFxuICBzaXplLFxuICBmb250LFxufTogSUhlYWRpbmdCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBIMSA9IChcbiAgICA8U3R5bGVkSDEgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIMT5cbiAgKTtcblxuICBjb25zdCBIMiA9IChcbiAgICA8U3R5bGVkSDIgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIMj5cbiAgKTtcblxuICBjb25zdCBIMyA9IChcbiAgICA8U3R5bGVkSDMgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIMz5cbiAgKTtcblxuICBjb25zdCBINCA9IChcbiAgICA8U3R5bGVkSDQgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRIND5cbiAgKTtcblxuICBjb25zdCBINSA9IChcbiAgICA8U3R5bGVkSDUgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRINT5cbiAgKTtcblxuICBjb25zdCBINiA9IChcbiAgICA8U3R5bGVkSDYgaWQ9e2lkfSB0aXRsZT17dGl0bGV9PlxuICAgICAgPFBsYWluVGV4dCBmb250PXtmb250fSBzaXplPXtzaXplfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9QbGFpblRleHQ+XG4gICAgPC9TdHlsZWRINj5cbiAgKTtcblxuICByZXR1cm4gbWF0Y2goaHRtbFR5cGUsIFtcbiAgICBbXCJoMVwiLCBIMV0sXG4gICAgW1wiaDJcIiwgSDJdLFxuICAgIFtcImgzXCIsIEgzXSxcbiAgICBbXCJoNFwiLCBINF0sXG4gICAgW1wiaDVcIiwgSDVdLFxuICAgIFtcImg2XCIsIEg2XSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSHRtbEhlYWRpbmcsIElIZWFkaW5nIH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnR5cGVzXCI7XG5pbXBvcnQgeyBIZWFkaW5nIGFzIEJhc2VIZWFkaW5nIH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9jb21wb25lbnRzL2hlYWRpbmdcIjtcbmltcG9ydCB7IFR5cG9ncmFwaHlGb250LCBUeXBvZ3JhcGh5Rm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IEhlYWRpbmcgPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGNoaWxkcmVuID0gXCJcIixcbiAgaHRtbFR5cGUgPSBIdG1sSGVhZGluZy5IMSxcbiAgc2l6ZSA9IFR5cG9ncmFwaHlGb250LkxHLFxuICBmb250ID0gVHlwb2dyYXBoeUZvbnRzLlBSSU1BUlksXG59OiBJSGVhZGluZykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCYXNlSGVhZGluZ1xuICAgICAgaWQ9e2lkfVxuICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgaHRtbFR5cGU9e2h0bWxUeXBlfVxuICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgIGZvbnQ9e2ZvbnR9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQmFzZUhlYWRpbmc+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IEh0bWxIZWFkaW5nLCBJSGVhZGluZyB9IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvaGVhZGluZy50eXBlc1wiO1xuIiwiaW1wb3J0IHtcbiAgdXNlVGhlbWVDb2xvcixcbiAgdXNlVGhlbWVGb250cyxcbiAgdXNlVGhlbWVSYWRpdXMsXG4gIHVzZVRoZW1lVXRpbGl0eSxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJSW5mb3JtYXRpb25UaGVtZSB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUluZm9ybWF0aW9uID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJSW5mb3JtYXRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICByYWRpdXM6IFJhZGl1cy5sZyArIFwiIFwiICsgUmFkaXVzLmxnICsgXCIgXCIgKyBSYWRpdXMueGwgKyBcIiBcIiArIFJhZGl1cy5ub25lLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjEyXCJdICsgXCIgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCI4XCJdLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubGcgKyBcIiBcIiArIFJhZGl1cy5sZyArIFwiIFwiICsgUmFkaXVzLnhsICsgXCIgXCIgKyBSYWRpdXMubm9uZSxcbiAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiMTJcIl0gKyBcIiBcIiArIFV0aWxpdHkuc3BhY2luZ1tcIjhcIl0sXG4gIH07XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElJbmZvcm1hdGlvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEluZm9ybWF0aW9uID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJSW5mb3JtYXRpb25UaGVtZSB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGdhcDogMS41cmVtO1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5mb3JtYXRpb25WaXN1YWwgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbmZvcm1hdGlvblRleHQgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkluZm9ybWF0aW9uID0gc3R5bGVkKFN0eWxlZEluZm9ybWF0aW9uKTx7XG4gIHRoZW1lOiBJSW5mb3JtYXRpb25UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUluZm9ybWF0aW9uQmFzZSB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VJbmZvcm1hdGlvbiB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2hvb2tzL3VzZS1pbmZvcm1hdGlvblwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkSW5mb3JtYXRpb24sXG4gIFN0eWxlZEluZm9ybWF0aW9uVGV4dCxcbiAgU3R5bGVkSW5mb3JtYXRpb25WaXN1YWwsXG4gIFN0eWxlZFNrZWxldG9uSW5mb3JtYXRpb24sXG59IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZVNpemUsIEZpZ3VyZVR5cGUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBJbmZvcm1hdGlvbiA9ICh7IHRleHQsIGZyYW1lIH06IElJbmZvcm1hdGlvbkJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUluZm9ybWF0aW9uKElzU2tlbGV0b24pO1xuXG4gIGNvbnN0IFZpc3VhbCA9IGZyYW1lID8gKFxuICAgIGZyYW1lXG4gICkgOiAoXG4gICAgPEZpZ3VyZVxuICAgICAgdHlwZT17RmlndXJlVHlwZS5JREVBfVxuICAgICAgc2l6ZT17RmlndXJlU2l6ZS5MQVJHRX1cbiAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJcIlxuICAgIC8+XG4gICk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uSW5mb3JtYXRpb24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICAgIHtWaXN1YWx9XG4gICAgICAgICAge3RleHR9XG4gICAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uSW5mb3JtYXRpb24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEluZm9ybWF0aW9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkSW5mb3JtYXRpb25WaXN1YWw+e1Zpc3VhbH08L1N0eWxlZEluZm9ybWF0aW9uVmlzdWFsPlxuICAgICAgPFN0eWxlZEluZm9ybWF0aW9uVGV4dD57dGV4dH08L1N0eWxlZEluZm9ybWF0aW9uVGV4dD5cbiAgICA8L1N0eWxlZEluZm9ybWF0aW9uPlxuICApO1xufTtcbiIsImltcG9ydCB7IElJbmZvcm1hdGlvbiB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBJbmZvcm1hdGlvbiBhcyBCYXNlSW5mb3JtYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9jb21wb25lbnRzL2luZm9ybWF0aW9uXCI7XG5cbmV4cG9ydCBjb25zdCBJbmZvcm1hdGlvbiA9ICh7IHRleHQsIGZyYW1lIH06IElJbmZvcm1hdGlvbikgPT4ge1xuICByZXR1cm4gPEJhc2VJbmZvcm1hdGlvbiB0ZXh0PXt0ZXh0fSBmcmFtZT17ZnJhbWV9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJSW5mb3JtYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi50eXBlc1wiO1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUlucHV0VGhlbWUsIElucHV0VGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiLi4vaW5wdXQudHlwZXNcIjtcbmltcG9ydCB7IHVzZUlucHV0VGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWlucHV0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRJbnB1dCxcbiAgU3R5bGVkSW5wdXRDb250YWluZXIsXG4gIFN0eWxlZElucHV0SWNvbkFmdGVyQ29udGFpbmVyLFxuICBTdHlsZWRJbnB1dEljb25CZWZvcmVDb250YWluZXIsXG4gIFN0eWxlZElucHV0U2tlbGV0b24sXG4gIFN0eWxlZFRleHRhcmVhLFxuICBTdHlsZWRUZXh0YXJlYVNrZWxldG9uLFxufSBmcm9tIFwiLi4vaW5wdXQuc3R5bGVcIjtcbmltcG9ydCB7IElucHV0SWNvbiB9IGZyb20gXCIuL2lucHV0Lmljb25cIjtcbmltcG9ydCB7IElucHV0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmVudW1zXCI7XG5pbXBvcnQgeyBJbnB1dEN0eCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9ICh7XG4gIGRlZmF1bHRWYWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgdmFsdWUsXG4gIHBsYWNlaG9sZGVyLFxuICBtdWx0aWxpbmUsXG4gIHJvd3MgPSAzLFxuICBhcmlhTGFiZWwsXG4gIG5hbWUsXG4gIHdpdGhJY29uQWZ0ZXIsXG4gIHdpdGhJY29uQmVmb3JlLFxufTogSW5wdXRUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChJbnB1dEN0eCk7XG4gIGNvbnN0IHNrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJSW5wdXRUaGVtZSA9IHVzZUlucHV0VGhlbWUoQ29tcG9uZW50Q29udGV4dCwgc2tlbGV0b24pO1xuICBjb25zdCBlcnJvciA9IENvbXBvbmVudENvbnRleHQgPT09IElucHV0Q29udGV4dC5FUlJPUjtcbiAgY29uc3QgZGlzYWJsZWQgPSBDb21wb25lbnRDb250ZXh0ID09PSBJbnB1dENvbnRleHQuRElTQUJMRUQ7XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxTdHlsZWRJbnB1dEljb25CZWZvcmVDb250YWluZXI+XG4gICAgICA8SW5wdXRJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICAgIDwvU3R5bGVkSW5wdXRJY29uQmVmb3JlQ29udGFpbmVyPlxuICApIDogbnVsbDtcbiAgY29uc3QgSWNvbkFmdGVyID0gd2l0aEljb25BZnRlciA/IChcbiAgICA8U3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXI+XG4gICAgICA8SW5wdXRJY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IC8+XG4gICAgPC9TdHlsZWRJbnB1dEljb25BZnRlckNvbnRhaW5lcj5cbiAgKSA6IG51bGw7XG5cbiAgaWYgKG11bHRpbGluZSkge1xuICAgIGlmIChza2VsZXRvbikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZFRleHRhcmVhU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8U3R5bGVkVGV4dGFyZWFcbiAgICAgICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgICAgIGhhc0ljb25CZWZvcmU9e2ZhbHNlfVxuICAgICAgICAgICAgaGFzSWNvbkFmdGVyPXtmYWxzZX1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgICAgYXJpYS1pbnZhbGlkPXtlcnJvcn1cbiAgICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgICAgICBhcmlhLW11bHRpbGluZT17dHJ1ZX1cbiAgICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgICBkaXNhYmxlZD17dHJ1ZX1cbiAgICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgICBpZD17bmFtZX1cbiAgICAgICAgICA+PC9TdHlsZWRUZXh0YXJlYT5cbiAgICAgICAgPC9TdHlsZWRUZXh0YXJlYVNrZWxldG9uPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZElucHV0Q29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtJY29uQmVmb3JlfVxuICAgICAgICA8U3R5bGVkVGV4dGFyZWFcbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgICAgaGFzSWNvbkJlZm9yZT17ISFJY29uQmVmb3JlfVxuICAgICAgICAgIGhhc0ljb25BZnRlcj17ISFJY29uQWZ0ZXJ9XG4gICAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgYXJpYS1pbnZhbGlkPXtlcnJvcn1cbiAgICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICBhcmlhLW11bHRpbGluZT17dHJ1ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBpZD17bmFtZX1cbiAgICAgICAgPjwvU3R5bGVkVGV4dGFyZWE+XG4gICAgICAgIHtJY29uQWZ0ZXJ9XG4gICAgICA8L1N0eWxlZElucHV0Q29udGFpbmVyPlxuICAgICk7XG4gIH1cblxuICBpZiAoc2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZElucHV0U2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZElucHV0XG4gICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICAgIGhhc0ljb25CZWZvcmU9e2ZhbHNlfVxuICAgICAgICAgIGhhc0ljb25BZnRlcj17ZmFsc2V9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICBkaXNhYmxlZD17dHJ1ZX1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgaWQ9e25hbWV9XG4gICAgICAgID48L1N0eWxlZElucHV0PlxuICAgICAgPC9TdHlsZWRJbnB1dFNrZWxldG9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRJbnB1dENvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAge0ljb25CZWZvcmV9XG4gICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICBoYXNJY29uQmVmb3JlPXshIUljb25CZWZvcmV9XG4gICAgICAgIGhhc0ljb25BZnRlcj17ISFJY29uQWZ0ZXJ9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgYXJpYS1pbnZhbGlkPXtlcnJvcn1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBpZD17bmFtZX1cbiAgICAgID48L1N0eWxlZElucHV0PlxuICAgICAge0ljb25BZnRlcn1cbiAgICA8L1N0eWxlZElucHV0Q29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IElucHV0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJSW5wdXRUaGVtZSB9IGZyb20gXCIuLi9pbnB1dC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlSW5wdXRUaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIElucHV0Q29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElJbnB1dFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGZvY3VzOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBTa2VsZXRvbjtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0lucHV0Q29udGV4dC5TVEFOREFSRCwgU3RhbmRhcmRdLFxuICAgIFtJbnB1dENvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbSW5wdXRDb250ZXh0LkRJU0FCTEVELCBEaXNhYmxlZF0sXG4gIF0pO1xufTtcbiIsImV4cG9ydCBlbnVtIElucHV0Q29udGV4dCB7XG4gIERJU0FCTEVEID0gXCJESVNBQkxFRFwiLFxuICBFUlJPUiA9IFwiRVJST1JcIixcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG59XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUlucHV0VGhlbWUgfSBmcm9tIFwiLi9pbnB1dC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXRDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElJbnB1dFRoZW1lIH0+YFxuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbnB1dEljb25Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDE7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXRJY29uQmVmb3JlQ29udGFpbmVyID0gc3R5bGVkKFN0eWxlZElucHV0SWNvbkNvbnRhaW5lcilgXG4gIGxlZnQ6IDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRvcDogMjBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbnB1dEljb25BZnRlckNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRJbnB1dEljb25Db250YWluZXIpYFxuICByaWdodDogMjRweDtcbiAgYm90dG9tOiAyMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0ID0gc3R5bGVkLmlucHV0PHtcbiAgdGhlbWU6IElJbnB1dFRoZW1lO1xuICBoYXNJY29uQmVmb3JlOiBib29sZWFuO1xuICBoYXNJY29uQWZ0ZXI6IGJvb2xlYW47XG59PmBcbiAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXMgZWFzZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIHBhZGRpbmc6IDE0cHggMjRweDtcbiAgei1pbmRleDogMjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzSWNvbkJlZm9yZSAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmctbGVmdDogNDhweDtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5oYXNJY29uQWZ0ZXIgJiZcbiAgICBjc3NgXG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0OHB4O1xuICAgIGB9XG4gICAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb2N1cy5iYWNrZ3JvdW5kfTtcbiAgICBvdXRsaW5lOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9jdXMuYm9yZGVyfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgfVxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5ib3JkZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXRTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRJbnB1dENvbnRhaW5lcik8e1xuICB0aGVtZTogSUlucHV0VGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGV4dGFyZWEgPSBzdHlsZWQudGV4dGFyZWE8e1xuICB0aGVtZTogSUlucHV0VGhlbWU7XG4gIGhhc0ljb25CZWZvcmU6IGJvb2xlYW47XG4gIGhhc0ljb25BZnRlcjogYm9vbGVhbjtcbn0+YFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cyBlYXNlO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBwYWRkaW5nOiAxNHB4IDI0cHg7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgcmVzaXplOiBub25lO1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5oYXNJY29uQmVmb3JlICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgIGB9XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0ljb25BZnRlciAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gICAgYH1cbiAgICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb2N1cy5iYWNrZ3JvdW5kfTtcbiAgICBvdXRsaW5lOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9jdXMuYm9yZGVyfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgfVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgfVxuICAmOm5vdCg6ZGlzYWJsZWQpOmhvdmVyIHtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5ib3JkZXJ9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGV4dGFyZWFTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRJbnB1dENvbnRhaW5lcik8e1xuICB0aGVtZTogSUlucHV0VGhlbWU7XG59PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uU2l6ZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgSW5wdXRJY29uUHJvcHMgfSBmcm9tIFwiLi4vaW5wdXQudHlwZXNcIjtcbmltcG9ydCB7IHVzZUlucHV0SWNvbkNvbnRleHQgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWlucHV0Lmljb25cIjtcbmltcG9ydCB7IElucHV0Q3R4IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvaW5wdXQuY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IElucHV0SWNvbiA9ICh7IGljb24gfTogSW5wdXRJY29uUHJvcHMpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSW5wdXRDdHgpO1xuICBjb25zdCBza2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VJbnB1dEljb25Db250ZXh0KENvbnRleHQsIHNrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgY29udGV4dDogSWNvbkNvbnRleHQsXG4gICAgICAgIHNpemU6IEljb25TaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC8+XG4gICk7XG59O1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSW5wdXRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvaW5wdXQuZW51bXNcIjtcbmltcG9ydCB7IEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VJbnB1dEljb25Db250ZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgSW5wdXRDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSWNvbkNvbnRleHQgPT4ge1xuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBJY29uQ29udGV4dC5ESVNBQkxFRDtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0lucHV0Q29udGV4dC5TVEFOREFSRCwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0lucHV0Q29udGV4dC5FUlJPUiwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0lucHV0Q29udGV4dC5ESVNBQkxFRCwgSWNvbkNvbnRleHQuRElTQUJMRURdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBJbnB1dENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dC9pbnB1dC5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgSW5wdXRDdHhEZWZhdWx0OiBJbnB1dENvbnRleHQgPSBJbnB1dENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBJbnB1dEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgSW5wdXRDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoSW5wdXRDdHhEZWZhdWx0KTtcbiIsImltcG9ydCB7IElJbnB1dCB9IGZyb20gXCIuL2lucHV0LnR5cGVzXCI7XG5pbXBvcnQgeyBJbnB1dCBhcyBJbnB1dENvbXBvbmVudCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2NvbXBvbmVudHMvaW5wdXRcIjtcbmltcG9ydCB7IElucHV0Q3R4LCBJbnB1dEN0eERlZmF1bHQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dC9pbnB1dC5jb250ZXh0XCI7XG5pbXBvcnQgeyBJbnB1dENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dC9pbnB1dC5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgSW5wdXQgPSAoe1xuICBkZWZhdWx0VmFsdWUsXG4gIG9uQ2hhbmdlLFxuICBvbkJsdXIsXG4gIHZhbHVlLFxuICBwbGFjZWhvbGRlcixcbiAgbXVsdGlsaW5lLFxuICByb3dzID0gMyxcbiAgYXJpYUxhYmVsLFxuICBuYW1lLFxuICBjb250ZXh0LFxuICB3aXRoSWNvbkJlZm9yZSxcbiAgd2l0aEljb25BZnRlcixcbn06IElJbnB1dCkgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IElucHV0Q3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxJbnB1dEN0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxJbnB1dENvbXBvbmVudFxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uQmx1cj17b25CbHVyfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHJvd3M9e3Jvd3N9XG4gICAgICAgIG11bHRpbGluZT17bXVsdGlsaW5lfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgd2l0aEljb25CZWZvcmU9e3dpdGhJY29uQmVmb3JlfVxuICAgICAgICB3aXRoSWNvbkFmdGVyPXt3aXRoSWNvbkFmdGVyfVxuICAgICAgLz5cbiAgICA8L0lucHV0Q3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJSW5wdXQgfSBmcm9tIFwiLi9pbnB1dC50eXBlc1wiO1xuZXhwb3J0IHsgSW5wdXRDb250ZXh0IH07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUxpbmtCYXNlIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRMaW5rLFxuICBTdHlsZWRMaW5rSW5uZXIsXG4gIFN0eWxlZExpbmtTa2VsZXRvbixcbn0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnN0eWxlc1wiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyBMaW5rTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5sYWJlbFwiO1xuaW1wb3J0IHsgTGlua0ljb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5pY29uXCI7XG5pbXBvcnQgeyB1c2VMaW5rVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2hvb2tzL3VzZS1saW5rXCI7XG5pbXBvcnQgeyBMaW5rQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCJAL2F0b21zL2xpbmtcIjtcblxuZXhwb3J0IGNvbnN0IExpbmsgPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGFyaWFMYWJlbCxcbiAgY2hpbGRyZW4sXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxufTogSUxpbmtCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KExpbmtDdHgpO1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWUgPSB1c2VMaW5rVGhlbWUoQ29tcG9uZW50Q29udGV4dCwgSXNTa2VsZXRvbik7XG5cbiAgY29uc3QgTGFiZWwgPSBjaGlsZHJlbiA/IDxMaW5rTGFiZWw+e2NoaWxkcmVufTwvTGlua0xhYmVsPiA6IG51bGw7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSBwb3NpdGlvbj17UG9zaXRpb24uQkVGT1JFfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIGNvbnN0IEljb25BZnRlclNrZWxldG9uID0gd2l0aEljb25BZnRlciA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IHBvc2l0aW9uPXtQb3NpdGlvbi5BRlRFUn0gLz5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKSA6IG51bGw7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZExpbmtTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkTGlua0lubmVyPlxuICAgICAgICAgIHtJY29uQmVmb3JlU2tlbGV0b259XG4gICAgICAgICAge0xhYmVsfVxuICAgICAgICAgIHtJY29uQWZ0ZXJTa2VsZXRvbn1cbiAgICAgICAgPC9TdHlsZWRMaW5rSW5uZXI+XG4gICAgICA8L1N0eWxlZExpbmtTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgSWNvbkJlZm9yZSA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIDxMaW5rSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gcG9zaXRpb249e1Bvc2l0aW9uLkJFRk9SRX0gLz5cbiAgKSA6IG51bGw7XG4gIGNvbnN0IEljb25BZnRlciA9IHdpdGhJY29uQWZ0ZXIgPyAoXG4gICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQWZ0ZXJ9IHBvc2l0aW9uPXtQb3NpdGlvbi5BRlRFUn0gLz5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTGluayB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZExpbmtJbm5lcj5cbiAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgIHtMYWJlbH1cbiAgICAgICAge0ljb25BZnRlcn1cbiAgICAgIDwvU3R5bGVkTGlua0lubmVyPlxuICAgIDwvU3R5bGVkTGluaz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUxpbmtJY29uVGhlbWUsIElMaW5rVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExpbmtJbm5lciA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRMaW5rTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkTGlua0ljb25CZWZvcmUgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlua0ljb25UaGVtZSB9PmBcbiAgbWFyZ2luOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWFyZ2lufTtcbiAgZGlzcGxheTogZmxleDtcbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkTGlua0ljb25BZnRlciA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElMaW5rSWNvblRoZW1lIH0+YFxuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExpbmsgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlua1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIHRleHQtZGVjb3JhdGlvbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRleHREZWNvcmF0aW9ufTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBtYXJnaW4gMC42cztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIDpob3ZlciB7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5jb2xvcn07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIudGV4dERlY29yYXRpb259O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGlua1NrZWxldG9uID0gc3R5bGVkKFN0eWxlZExpbmspPHtcbiAgdGhlbWU6IElMaW5rVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTGlua0xhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZExpbmtMYWJlbCB9IGZyb20gXCIuLi9saW5rLnN0eWxlc1wiO1xuXG5leHBvcnQgY29uc3QgTGlua0xhYmVsID0gKHsgY2hpbGRyZW4gfTogTGlua0xhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRMaW5rTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkTGlua0xhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VMaW5rSWNvbkNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2hvb2tzL3VzZS1saW5rLWljb25cIjtcbmltcG9ydCB7IExpbmtJY29uUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQge1xuICBTdHlsZWRMaW5rSWNvbkFmdGVyLFxuICBTdHlsZWRMaW5rSWNvbkJlZm9yZSxcbn0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMaW5rQ3R4IH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBMaW5rSWNvbiA9ICh7IGljb24sIHBvc2l0aW9uIH06IExpbmtJY29uUHJvcHMpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoTGlua0N0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgSWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gdXNlTGlua0ljb25Db250ZXh0KENvbnRleHQsIElzU2tlbGV0b24pO1xuXG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBCZWZvcmUgPSBcIjAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICsgXCIgMCAwXCI7XG4gIGNvbnN0IEFmdGVyID0gXCIwIDAgMCBcIiArIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl07XG5cbiAgcmV0dXJuIG1hdGNoKHBvc2l0aW9uLCBbXG4gICAgW1xuICAgICAgUG9zaXRpb24uQkVGT1JFLFxuICAgICAgPFN0eWxlZExpbmtJY29uQmVmb3JlIHRoZW1lPXt7IG1hcmdpbjogQmVmb3JlIH19PlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgICBzaXplOiBJY29uU2l6ZS5TTUFMTCxcbiAgICAgICAgfSl9XG4gICAgICA8L1N0eWxlZExpbmtJY29uQmVmb3JlPixcbiAgICBdLFxuICAgIFtcbiAgICAgIFBvc2l0aW9uLkFGVEVSLFxuICAgICAgPFN0eWxlZExpbmtJY29uQWZ0ZXIgdGhlbWU9e3sgbWFyZ2luOiBBZnRlciB9fT5cbiAgICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgICAgY29udGV4dDogSWNvbkNvbnRleHQsXG4gICAgICAgICAgc2l6ZTogSWNvblNpemUuU01BTEwsXG4gICAgICAgIH0pfVxuICAgICAgPC9TdHlsZWRMaW5rSWNvbkFmdGVyPixcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgTGlua0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUxpbmtJY29uQ29udGV4dCA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIExpbmtDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSWNvbkNvbnRleHQgPT4ge1xuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBJY29uQ29udGV4dC5ESVNBQkxFRDtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0xpbmtDb250ZXh0LlNUQU5EQVJELCBJY29uQ29udGV4dC5TVEFOREFSRF0sXG4gICAgW0xpbmtDb250ZXh0LlVJLCBJY29uQ29udGV4dC5EQVJLXSxcbiAgXSk7XG59O1xuIiwiZXhwb3J0IGVudW0gTGlua0NvbnRleHQge1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbiAgVUkgPSBcIlVJXCIsXG59XG5cbmV4cG9ydCBlbnVtIFBvc2l0aW9uIHtcbiAgQkVGT1JFID0gXCJCRUZPUkVcIixcbiAgQUZURVIgPSBcIkFGVEVSXCIsXG59XG4iLCJpbXBvcnQgeyBMaW5rQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IExpbmtDdHhEZWZhdWx0OiBMaW5rQ29udGV4dCA9IExpbmtDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgTGlua0N0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgTGlua0NvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChMaW5rQ3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgeyBJTGlua1RoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExpbmtDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvbGlua1wiO1xuXG5leHBvcnQgY29uc3QgdXNlTGlua1RoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgTGlua0NvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJTGlua1RoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICBjb2xvcjogU2tlbGV0b25CZyxcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICB0ZXh0RGVjb3JhdGlvbjogXCJ1bmRlcmxpbmVcIixcbiAgICAgIGhvdmVyOiB7XG4gICAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJ1bmRlcmxpbmVcIixcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgTGlua0NvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIGNvbG9yOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJ1bmRlcmxpbmVcIixcbiAgICAgICAgaG92ZXI6IHtcbiAgICAgICAgICBjb2xvcjogQ29sb3JzLnByaW1hcnkudGludF82MDAsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IFwidW5kZXJsaW5lXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgTGlua0NvbnRleHQuVUksXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgdGV4dERlY29yYXRpb246IFwibm9uZVwiLFxuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgICAgICAgdGV4dERlY29yYXRpb246IFwidW5kZXJsaW5lXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnR5cGVzXCI7XG5pbXBvcnQgeyBMaW5rIGFzIEJhc2VMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGluay9jb21wb25lbnRzL2xpbmtcIjtcbmltcG9ydCB7IExpbmtDdHgsIExpbmtDdHhEZWZhdWx0IH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IExpbmsgPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGFyaWFMYWJlbCxcbiAgY2hpbGRyZW4sXG4gIGNvbnRleHQsXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxufTogSUxpbmspID0+IHtcbiAgY29uc3QgTGlua0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IExpbmtDdHhEZWZhdWx0O1xuXG4gIC8vIExpbmsgaXMganVzdCBhIHBsYWluIHVybFxuICByZXR1cm4gKFxuICAgIDxMaW5rQ3R4LlByb3ZpZGVyIHZhbHVlPXtMaW5rQ29udGV4dH0+XG4gICAgICA8QmFzZUxpbmtcbiAgICAgICAgaWQ9e2lkfVxuICAgICAgICB0aXRsZT17dGl0bGV9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9XG4gICAgICAgIHdpdGhJY29uQWZ0ZXI9e3dpdGhJY29uQWZ0ZXJ9XG4gICAgICA+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQmFzZUxpbms+XG4gICAgPC9MaW5rQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHsgTGlua0NvbnRleHQsIFBvc2l0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLmVudW1zXCI7XG5leHBvcnQgdHlwZSB7IElMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJTGlzdFRoZW1lIH0gZnJvbSBcIi4uL2xpc3QudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUxpc3RUaGVtZSA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSUxpc3RUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICBiYWNrZ3JvdW5kOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gU2tlbGV0b247XG4gIH1cblxuICByZXR1cm4gU3RhbmRhcmQ7XG59O1xuIiwiaW1wb3J0IHsgSUxpc3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFVub3JkZXJlZExpc3QgPSBzdHlsZWQudWw8eyB0aGVtZTogSUxpc3RUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDI0cHg7XG5cbiAgJiBsaSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE0cHg7XG4gIH1cblxuICAmIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE9yZGVyZWRMaXN0ID0gc3R5bGVkLm9sPHsgdGhlbWU6IElMaXN0VGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY291bnRlci1yZXNldDogbXktbGlzdC1jb3VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDQwcHg7XG5cbiAgJiBsaSB7XG4gICAgY291bnRlci1pbmNyZW1lbnQ6IG15LWxpc3QtY291bnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTRweDtcbiAgfVxuXG4gICYgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihteS1saXN0LWNvdW50ZXIpO1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgcGFkZGluZy10b3A6IDhweDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFVub3JkZXJlZExpc3RTa2VsZXRvbiA9IHN0eWxlZC51bDx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjRweDtcblxuICAmIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTRweDtcbiAgfVxuXG4gICYgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogMTJweDtcbiAgICBoZWlnaHQ6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDZweDtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24gPSBzdHlsZWQub2w8eyB0aGVtZTogSUxpc3RUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb3VudGVyLXJlc2V0OiBteS1saXN0LWNvdW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNDBweDtcblxuICAmIGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbXktbGlzdC1jb3VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNHB4O1xuICB9XG5cbiAgJiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBjb3VudGVyKG15LWxpc3QtY291bnRlcik7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYgc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciA9IHN0eWxlZC5saTx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGlzdEl0ZW0gPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuIiwiaW1wb3J0IHsgSUxpc3RUaGVtZSwgTGlzdFRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VMaXN0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2hvb2tzL3VzZS1saXN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRPcmRlcmVkTGlzdCxcbiAgU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbixcbiAgU3R5bGVkVW5vcmRlcmVkTGlzdCxcbiAgU3R5bGVkVW5vcmRlcmVkTGlzdFNrZWxldG9uLFxufSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3Quc3R5bGVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBMaXN0VHlwZSB9IGZyb20gXCJAL2F0b21zL2xpc3RcIjtcblxuZXhwb3J0IGNvbnN0IExpc3QgPSAoeyB0eXBlLCBjaGlsZHJlbiB9OiBMaXN0VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZTogSUxpc3RUaGVtZSA9IHVzZUxpc3RUaGVtZShpc1NrZWxldG9uKTtcblxuICBpZiAodHlwZSA9PT0gTGlzdFR5cGUuTlVNQkVSRUQpIHtcbiAgICBpZiAoaXNTa2VsZXRvbikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZE9yZGVyZWRMaXN0U2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDwvU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIDxTdHlsZWRPcmRlcmVkTGlzdCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZE9yZGVyZWRMaXN0PjtcbiAgfVxuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRVbm9yZGVyZWRMaXN0U2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRVbm9yZGVyZWRMaXN0U2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkVW5vcmRlcmVkTGlzdCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZFVub3JkZXJlZExpc3Q+O1xufTtcbiIsImltcG9ydCB7IElMaXN0VGhlbWUsIExpc3RJdGVtVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUxpc3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpc3QvaG9va3MvdXNlLWxpc3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpc3RJdGVtLFxuICBTdHlsZWRMaXN0SXRlbUNvbnRhaW5lcixcbn0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7IGNoaWxkcmVuIH06IExpc3RJdGVtVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZTogSUxpc3RUaGVtZSA9IHVzZUxpc3RUaGVtZShpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMaXN0SXRlbUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZExpc3RJdGVtIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkTGlzdEl0ZW0+XG4gICAgPC9TdHlsZWRMaXN0SXRlbUNvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJleHBvcnQgZW51bSBMaXN0VHlwZSB7XG4gIFNUQU5EQVJEID0gXCJTVEFOREFSRFwiLFxuICBOVU1CRVJFRCA9IFwiTlVNQkVSRURcIixcbn1cbiIsImltcG9ydCB7IElMaXN0IH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyBMaXN0IGFzIExpc3RDb21wb25lbnQgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2NvbXBvbmVudHMvbGlzdFwiO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gXCJAL2F0b21zL2xpc3QvY29tcG9uZW50cy9saXN0Lml0ZW1cIjtcbmltcG9ydCB7IExpc3RUeXBlIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBMaXN0ID0gKHsgdHlwZSwgY2hpbGRyZW4gfTogSUxpc3QpID0+IHtcbiAgcmV0dXJuIDxMaXN0Q29tcG9uZW50IHR5cGU9e3R5cGV9PntjaGlsZHJlbn08L0xpc3RDb21wb25lbnQ+O1xufTtcblxuTGlzdC5JdGVtID0gSXRlbTtcblxuZXhwb3J0IHsgTGlzdFR5cGUgfTtcbmV4cG9ydCB0eXBlIHsgSUxpc3QgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QudHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRCdXR0b24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnN0eWxlXCI7XG5cbmNvbnN0IEJhc2VMb2dvU3ZnID0gc3R5bGVkLnN2Zy5hdHRycygocHJvcHMpID0+ICh7XG4gIHZlcnNpb246IFwiMS4xXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICByb2xlOiBcImltZ1wiLFxufSkpYGA7XG5cbmNvbnN0IEJhc2VMb2dvSW1hZ2UgPSBzdHlsZWQuaW1nLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgcm9sZTogXCJpbWdcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUxvZ29QYXRoID0gc3R5bGVkLnBhdGguYXR0cnMoe1xuICByb2xlOiBcInByZXNlbnRhdGlvblwiLFxufSlgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ28gPSBzdHlsZWQoQmFzZUxvZ29TdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb0ltYWdlID0gc3R5bGVkKEJhc2VMb2dvSW1hZ2UpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIHJhZGl1czogc3RyaW5nO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5oZWlnaHR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMucmFkaXVzfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvU2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkTG9nbyk8e30+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24gPSBzdHlsZWQuZGl2PHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG4gIGJhY2tncm91bmQ6IHN0cmluZztcbiAgcmFkaXVzOiBzdHJpbmc7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMucmFkaXVzfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvUGF0aCA9IHN0eWxlZChCYXNlTG9nb1BhdGgpPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb1dyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWluLXdpZHRoOiA1MHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ29JbWFnZVdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWluLXdpZHRoOiA1MHB4O1xuYDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElTdmdBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExvZ28sXG4gIFN0eWxlZExvZ29QYXRoLFxuICBTdHlsZWRMb2dvU2tlbGV0b24sXG4gIFN0eWxlZExvZ29XcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IFNjcmVlblJlYWRlck9ubHkgfSBmcm9tIFwiQC9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFN2Z0FzTG9nbyA9ICh7IHNjcmVlblJlYWRlclRleHQgfTogSVN2Z0FzTG9nbykgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTG9nb1dyYXBwZXI+XG4gICAgICAgIDxTdHlsZWRMb2dvU2tlbGV0b24gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiNTBweFwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIG9wYWNpdHk9XCIwLjZcIlxuICAgICAgICAgICAgZD1cIk0zNS45NyAxMC4zNTQzQzQ1LjcyMTggMTEuMjE1NSA0Ni4yMjA2IDIzLjYzMyA0MS4wNzY4IDMyLjMyNTNDMzUuOTMzIDQxLjAxNzYgMjMuNTU1MSA0NC43NjQgMTQuNjgzIDQwLjkwMDhDNS44MTA5NCAzNy4wMzc3IDEuNTE4ODcgMjcuNzIxNCA1LjUxNzc4IDIzLjczMzNDMTAuMTgxOCAxOS4wODE4IDE4LjgzMDkgMjMuNTU4NyAyMy4yNzAxIDIyLjI5NTFDMjguMDA4NSAyMC45NDYzIDI2LjIxODIgOS40OTMwOCAzNS45NyAxMC4zNTQzWlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBvcGFjaXR5PVwiMC4yXCJcbiAgICAgICAgICAgIGQ9XCJNNDIuODM2NCAzMC4xMTk4QzQ1LjMwMzEgMzkuMzY0OSAzMy40OTM5IDQ0LjAyMTcgMjMuMzcwMSA0Mi4yMzhDMTMuMjQ2MiA0MC40NTQzIDUuNDQ3MDIgMzAuMzU2MSA2LjE3MzQ0IDIwLjkwMzdDNi44OTk4NiAxMS40NTEzIDE0LjQzNSA0LjM2MDMgMTkuNjM0MSA2LjY4MzQ1QzI1LjY5NzkgOS4zOTI5OCAyNC4zMDQxIDE4Ljg0ODEgMjcuMDI0MSAyMi40OTY4QzI5LjkyNzQgMjYuMzkxNCA0MC4zNjk3IDIwLjg3NDggNDIuODM2NCAzMC4xMTk4WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBkPVwiTTcuOTIzMzcgMTMuMTU3NEM3LjcwNDE1IDEyLjcyOTYgNy45NDc2OSAxMi4xOTQ5IDguMjUyMTcgMTEuNjYwMkM4LjgwMDIxIDEwLjY5NzggMTAuMTE1NCA4Ljg3OTg0IDEzLjQwMzcgOC42NjU5NkMxNi42OTE5IDguNDUyMDggMTguNzc0NiAxMS4zMzk0IDE5LjEwMzQgMTIuMDg4QzE5LjQzMjIgMTIuODM2NiAxOC43NzQ1IDEzLjE1NzQgMTguNTU1NCAxMy4xNTc0QzE4LjExNjggMTMuMTU3NCAxNy41Njg5IDEyLjcyOTYgMTcuMjQwMSAxMi4xOTQ5QzE2LjU4MjMgMTEuMTI1NiAxNS41OTU5IDExLjAxODYgMTQuMTcxIDEwLjkxMTdDMTIuNzQ2MSAxMC44MDQ3IDEyLjMwNzYgMTEuMzM5NCAxMS40MzA3IDEyLjMwMTlDMTAuNzQzNyAxMy4wNTU5IDEwLjY2MzQgMTMuNjQ2MiA5Ljc4NjU3IDE0LjAxMjlDOS4wMTkzMSAxNC4zMzM3IDguMTQyNTggMTMuNTg1MSA3LjkyMzM3IDEzLjE1NzRaXCJcbiAgICAgICAgICAgIGZpbGw9e1NrZWxldG9uQmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIGQ9XCJNMzcuMzg4NiAxMy4xNTc0QzM3LjYwNzkgMTIuNzI5NiAzNy4zNjQzIDEyLjE5NDkgMzcuMDU5OCAxMS42NjAyQzM2LjUxMTggMTAuNjk3OCAzNS4xOTY2IDguODc5ODQgMzEuOTA4MyA4LjY2NTk2QzI4LjYyMDEgOC40NTIwOCAyNi41Mzc0IDExLjMzOTQgMjYuMjA4NiAxMi4wODhDMjUuODc5OCAxMi44MzY2IDI2LjUzNzUgMTMuMTU3NCAyNi43NTY2IDEzLjE1NzRDMjcuMTk1MiAxMy4xNTc0IDI3Ljc0MzEgMTIuNzI5NiAyOC4wNzE5IDEyLjE5NDlDMjguNzI5NyAxMS4xMjU2IDI5LjcxNjEgMTEuMDE4NiAzMS4xNDEgMTAuOTExN0MzMi41NjU5IDEwLjgwNDcgMzMuMDA0NCAxMS4zMzk0IDMzLjg4MTMgMTIuMzAxOUMzNC41NjgzIDEzLjA1NTkgMzQuNjQ4NiAxMy42NDYyIDM1LjUyNTQgMTQuMDEyOUMzNi4yOTI3IDE0LjMzMzcgMzcuMTY5NCAxMy41ODUxIDM3LjM4ODYgMTMuMTU3NFpcIlxuICAgICAgICAgICAgZmlsbD17U2tlbGV0b25CZ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgZD1cIk0xMS40MzA3IDI4Ljg3NzRWMTkuODk0NUMxMS40MzA3IDE5LjQ2NjggMTEuNDc0NiAxOC4xODM1IDEzLjg0MjEgMTguMTgzNUMxNi4yMDk3IDE4LjE4MzUgMTcuMDIwOCAxOS40NjY4IDE3LjEzMDQgMjAuMTA4NFYyNS4zNDg0QzE3LjE2NjkgMjUuMDYzMiAxOC4yMjY1IDI0LjU0NjQgMTkuMjEyOSAyNC41OTk4QzIwLjc5MTMgMjQuNjg1NCAyMi4xMzU4IDI1LjcwNDkgMjIuNjEwOCAyNi4yMDM5QzIzLjEyMjMgMjUuNzQwNSAyNC40MDg0IDI0Ljc3MDkgMjUuNDYwNiAyNC41OTk4QzI2LjUxMjkgMjQuNDI4NyAyNy43MjU5IDI1LjA5ODkgMjguMjAwOCAyNS40NTUzQzI4LjIzNzQgMjQuMTM2NCAyOC4zMTA0IDIxLjE5OTIgMjguMzEwNCAyMC4wMDE1QzI4LjMxMDQgMTguNTA0MyAzMC43MjE4IDE4LjE4MzUgMzIuMDM3MSAxOC4xODM1QzMzLjA4OTQgMTguMTgzNSAzMy41NzE3IDE5LjM5NTUgMzMuNjgxMyAyMC4wMDE1VjI4Ljg3NzRDMzMuNjgxMyAzMi44MTI3IDMxLjc0NzggMzUuNDAwNiAzMC43MjE4IDM2LjM2M0MyOS43NzE5IDM3LjI1NDIgMjYuNTU2NyAzOS4wMzY1IDIyLjYxMDggMzkuMDM2NUMxOC42NjQ5IDM5LjAzNjUgMTYuODI0NCAzOC40MTUgMTQuNDk5OCAzNi4zNjNDMTIuMTk4IDM0LjMzMTIgMTEuNjEzNCAzMC43NjY2IDExLjQzMDcgMjguODc3NFpcIlxuICAgICAgICAgICAgZmlsbD17U2tlbGV0b25CZ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgZD1cIk0xNi4wMjIyIDI4LjI4MjlDMTUuOTM2NSAzMS45NjQ1IDE5LjU1OTEgMzMuOTU1MiAyMi4yMzg3IDM0LjU5NzNDMjQuNDE4MSAzMy45MTk1IDI4LjgyMjUgMzEuNjg1MSAyOC4yNDA4IDI4LjI4MjlDMjcuNDkwNSAyMy44OTUgMjIuNzc0NiAyNi4wMzU0IDIyLjIzODcgMjguMjgyOUMyMS4xNjY4IDI0Ljg1ODIgMTYuMTA4IDI0LjYwMTMgMTYuMDIyMiAyOC4yODI5WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkTG9nb1NrZWxldG9uPlxuICAgICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgICAgPC9TdHlsZWRMb2dvV3JhcHBlcj5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgU3VwcG9ydGluZyA9IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwO1xuICBjb25zdCBEYXJrID0gQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwO1xuICBjb25zdCBBY2NlbnQgPSBDb2xvcnMuYWNjZW50LnRpbnRfNTAwO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZExvZ29XcmFwcGVyPlxuICAgICAgPFN0eWxlZExvZ28gd2lkdGg9XCI1MHB4XCIgaGVpZ2h0PVwiNTBweFwiIHZpZXdCb3g9XCIwIDAgNTAgNTBcIj5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgb3BhY2l0eT1cIjAuNlwiXG4gICAgICAgICAgZD1cIk0zNS45NyAxMC4zNTQzQzQ1LjcyMTggMTEuMjE1NSA0Ni4yMjA2IDIzLjYzMyA0MS4wNzY4IDMyLjMyNTNDMzUuOTMzIDQxLjAxNzYgMjMuNTU1MSA0NC43NjQgMTQuNjgzIDQwLjkwMDhDNS44MTA5NCAzNy4wMzc3IDEuNTE4ODcgMjcuNzIxNCA1LjUxNzc4IDIzLjczMzNDMTAuMTgxOCAxOS4wODE4IDE4LjgzMDkgMjMuNTU4NyAyMy4yNzAxIDIyLjI5NTFDMjguMDA4NSAyMC45NDYzIDI2LjIxODIgOS40OTMwOCAzNS45NyAxMC4zNTQzWlwiXG4gICAgICAgICAgZmlsbD17U3VwcG9ydGluZ31cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgb3BhY2l0eT1cIjAuMlwiXG4gICAgICAgICAgZD1cIk00Mi44MzY0IDMwLjExOThDNDUuMzAzMSAzOS4zNjQ5IDMzLjQ5MzkgNDQuMDIxNyAyMy4zNzAxIDQyLjIzOEMxMy4yNDYyIDQwLjQ1NDMgNS40NDcwMiAzMC4zNTYxIDYuMTczNDQgMjAuOTAzN0M2Ljg5OTg2IDExLjQ1MTMgMTQuNDM1IDQuMzYwMyAxOS42MzQxIDYuNjgzNDVDMjUuNjk3OSA5LjM5Mjk4IDI0LjMwNDEgMTguODQ4MSAyNy4wMjQxIDIyLjQ5NjhDMjkuOTI3NCAyNi4zOTE0IDQwLjM2OTcgMjAuODc0OCA0Mi44MzY0IDMwLjExOThaXCJcbiAgICAgICAgICBmaWxsPXtTdXBwb3J0aW5nfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTcuOTIzMzcgMTMuMTU3NEM3LjcwNDE1IDEyLjcyOTYgNy45NDc2OSAxMi4xOTQ5IDguMjUyMTcgMTEuNjYwMkM4LjgwMDIxIDEwLjY5NzggMTAuMTE1NCA4Ljg3OTg0IDEzLjQwMzcgOC42NjU5NkMxNi42OTE5IDguNDUyMDggMTguNzc0NiAxMS4zMzk0IDE5LjEwMzQgMTIuMDg4QzE5LjQzMjIgMTIuODM2NiAxOC43NzQ1IDEzLjE1NzQgMTguNTU1NCAxMy4xNTc0QzE4LjExNjggMTMuMTU3NCAxNy41Njg5IDEyLjcyOTYgMTcuMjQwMSAxMi4xOTQ5QzE2LjU4MjMgMTEuMTI1NiAxNS41OTU5IDExLjAxODYgMTQuMTcxIDEwLjkxMTdDMTIuNzQ2MSAxMC44MDQ3IDEyLjMwNzYgMTEuMzM5NCAxMS40MzA3IDEyLjMwMTlDMTAuNzQzNyAxMy4wNTU5IDEwLjY2MzQgMTMuNjQ2MiA5Ljc4NjU3IDE0LjAxMjlDOS4wMTkzMSAxNC4zMzM3IDguMTQyNTggMTMuNTg1MSA3LjkyMzM3IDEzLjE1NzRaXCJcbiAgICAgICAgICBmaWxsPXtEYXJrfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTM3LjM4ODYgMTMuMTU3NEMzNy42MDc5IDEyLjcyOTYgMzcuMzY0MyAxMi4xOTQ5IDM3LjA1OTggMTEuNjYwMkMzNi41MTE4IDEwLjY5NzggMzUuMTk2NiA4Ljg3OTg0IDMxLjkwODMgOC42NjU5NkMyOC42MjAxIDguNDUyMDggMjYuNTM3NCAxMS4zMzk0IDI2LjIwODYgMTIuMDg4QzI1Ljg3OTggMTIuODM2NiAyNi41Mzc1IDEzLjE1NzQgMjYuNzU2NiAxMy4xNTc0QzI3LjE5NTIgMTMuMTU3NCAyNy43NDMxIDEyLjcyOTYgMjguMDcxOSAxMi4xOTQ5QzI4LjcyOTcgMTEuMTI1NiAyOS43MTYxIDExLjAxODYgMzEuMTQxIDEwLjkxMTdDMzIuNTY1OSAxMC44MDQ3IDMzLjAwNDQgMTEuMzM5NCAzMy44ODEzIDEyLjMwMTlDMzQuNTY4MyAxMy4wNTU5IDM0LjY0ODYgMTMuNjQ2MiAzNS41MjU0IDE0LjAxMjlDMzYuMjkyNyAxNC4zMzM3IDM3LjE2OTQgMTMuNTg1MSAzNy4zODg2IDEzLjE1NzRaXCJcbiAgICAgICAgICBmaWxsPXtEYXJrfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTExLjQzMDcgMjguODc3NFYxOS44OTQ1QzExLjQzMDcgMTkuNDY2OCAxMS40NzQ2IDE4LjE4MzUgMTMuODQyMSAxOC4xODM1QzE2LjIwOTcgMTguMTgzNSAxNy4wMjA4IDE5LjQ2NjggMTcuMTMwNCAyMC4xMDg0VjI1LjM0ODRDMTcuMTY2OSAyNS4wNjMyIDE4LjIyNjUgMjQuNTQ2NCAxOS4yMTI5IDI0LjU5OThDMjAuNzkxMyAyNC42ODU0IDIyLjEzNTggMjUuNzA0OSAyMi42MTA4IDI2LjIwMzlDMjMuMTIyMyAyNS43NDA1IDI0LjQwODQgMjQuNzcwOSAyNS40NjA2IDI0LjU5OThDMjYuNTEyOSAyNC40Mjg3IDI3LjcyNTkgMjUuMDk4OSAyOC4yMDA4IDI1LjQ1NTNDMjguMjM3NCAyNC4xMzY0IDI4LjMxMDQgMjEuMTk5MiAyOC4zMTA0IDIwLjAwMTVDMjguMzEwNCAxOC41MDQzIDMwLjcyMTggMTguMTgzNSAzMi4wMzcxIDE4LjE4MzVDMzMuMDg5NCAxOC4xODM1IDMzLjU3MTcgMTkuMzk1NSAzMy42ODEzIDIwLjAwMTVWMjguODc3NEMzMy42ODEzIDMyLjgxMjcgMzEuNzQ3OCAzNS40MDA2IDMwLjcyMTggMzYuMzYzQzI5Ljc3MTkgMzcuMjU0MiAyNi41NTY3IDM5LjAzNjUgMjIuNjEwOCAzOS4wMzY1QzE4LjY2NDkgMzkuMDM2NSAxNi44MjQ0IDM4LjQxNSAxNC40OTk4IDM2LjM2M0MxMi4xOTggMzQuMzMxMiAxMS42MTM0IDMwLjc2NjYgMTEuNDMwNyAyOC44Nzc0WlwiXG4gICAgICAgICAgZmlsbD17RGFya31cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgZD1cIk0xNi4wMjIyIDI4LjI4MjlDMTUuOTM2NSAzMS45NjQ1IDE5LjU1OTEgMzMuOTU1MiAyMi4yMzg3IDM0LjU5NzNDMjQuNDE4MSAzMy45MTk1IDI4LjgyMjUgMzEuNjg1MSAyOC4yNDA4IDI4LjI4MjlDMjcuNDkwNSAyMy44OTUgMjIuNzc0NiAyNi4wMzU0IDIyLjIzODcgMjguMjgyOUMyMS4xNjY4IDI0Ljg1ODIgMTYuMTA4IDI0LjYwMTMgMTYuMDIyMiAyOC4yODI5WlwiXG4gICAgICAgICAgZmlsbD17QWNjZW50fVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRMb2dvPlxuICAgICAgPFNjcmVlblJlYWRlck9ubHkgdGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gLz5cbiAgICA8L1N0eWxlZExvZ29XcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJSW1hZ2VBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExvZ29JbWFnZSxcbiAgU3R5bGVkTG9nb0ltYWdlU2tlbGV0b24sXG4gIFN0eWxlZExvZ29JbWFnZVdyYXBwZXIsXG59IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBJbWFnZUFzTG9nbyA9ICh7IHNyY3NldCwgYXJpYUxhYmVsLCBhbHQgfTogSUltYWdlQXNMb2dvKSA9PiB7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gICAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgICB9KTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTG9nb0ltYWdlV3JhcHBlciBhcmlhLWxhYmVsPXthcmlhTGFiZWx9PlxuICAgICAgICA8U3R5bGVkTG9nb0ltYWdlU2tlbGV0b25cbiAgICAgICAgICByYWRpdXM9e1JhZGl1cy5tZH1cbiAgICAgICAgICBiYWNrZ3JvdW5kPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIHdpZHRoPVwiNTBweFwiXG4gICAgICAgICAgaGVpZ2h0PVwiNTBweFwiXG4gICAgICAgICAgYXJpYS1sYWJlbD17YWx0fVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRMb2dvSW1hZ2VXcmFwcGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMb2dvSW1hZ2VXcmFwcGVyIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH0+XG4gICAgICA8U3R5bGVkTG9nb0ltYWdlXG4gICAgICAgIHJhZGl1cz17UmFkaXVzLm1kfVxuICAgICAgICB3aWR0aD1cIjUwcHhcIlxuICAgICAgICBoZWlnaHQ9XCI1MHB4XCJcbiAgICAgICAgc3JjU2V0PXtzcmNzZXQuc3Jjc2V0fVxuICAgICAgICBzcmM9e3NyY3NldC5zcmN9XG4gICAgICAgIGFsdD17YWx0fVxuICAgICAgICBpZD1cImltZ1wiXG4gICAgICAvPlxuICAgIDwvU3R5bGVkTG9nb0ltYWdlV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJTG9nb0xvYWQgfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN2Z0FzTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vY29tcG9uZW50cy9TdmdBc0xvZ29cIjtcbmltcG9ydCB7IEltYWdlQXNMb2dvIH0gZnJvbSBcIkAvYXRvbXMvbG9nby9jb21wb25lbnRzL0ltYWdlQXNMb2dvXCI7XG5cbmV4cG9ydCBjb25zdCBMb2FkTG9nbyA9ICh7IHNyY3NldCwgYXJpYUxhYmVsLCBhbHQgfTogSUxvZ29Mb2FkKSA9PiB7XG4gIGlmIChzcmNzZXQpIHtcbiAgICByZXR1cm4gPEltYWdlQXNMb2dvIHNyY3NldD17c3Jjc2V0fSBhcmlhTGFiZWw9e2FyaWFMYWJlbH0gYWx0PXthbHR9IC8+O1xuICB9XG5cbiAgcmV0dXJuIDxTdmdBc0xvZ28gc2NyZWVuUmVhZGVyVGV4dD17YXJpYUxhYmVsfSAvPjtcbn07XG4iLCJpbXBvcnQgeyBJTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby50eXBlc1wiO1xuaW1wb3J0IHsgTG9hZExvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28ubG9hZGVyXCI7XG5cbmV4cG9ydCBjb25zdCBMb2dvID0gKHsgc3Jjc2V0LCBhbHQsIGFyaWFMYWJlbCB9OiBJTG9nbykgPT4ge1xuICBjb25zdCBMb2dvID0gTG9hZExvZ28oe1xuICAgIGFsdDogYWx0LFxuICAgIGFyaWFMYWJlbDogYXJpYUxhYmVsLFxuICAgIHNyY3NldDogc3Jjc2V0LFxuICB9KTtcblxuICByZXR1cm4gTG9nbztcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUxvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2xvZ28udHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJTm90aWZpY2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWROb3RpZmljYXRpb24gPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSU5vdGlmaWNhdGlvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogJHsocHJvcHMpID0+XG4gICAgcHJvcHMudGhlbWUuc2l6ZX07IC8qIEZpeGVkIHdpZHRoIGJhc2VkIG9uIHRoZSBmb250LXNpemUgb2YgdGhlIGVsZW1lbnQgKi9cbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy50aGVtZS5zaXplfTsgLyogRml4ZWQgaGVpZ2h0IGJhc2VkIG9uIHRoZSBmb250LXNpemUgb2YgdGhlIGVsZW1lbnQgKi9cbiAgbGluZS1oZWlnaHQ6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnRoZW1lXG4gICAgICAuc2l6ZX0gIWltcG9ydGFudDsgLyogaW4gdGhpcyBzcGVjaWFsIGNhc2Ugd2Ugd2FudCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBsaW5lIGhlaWdodCBmcm9tIHRoZSBmb250LCBzaW5jZSBpdCBuZWVkcyB0byBiZSB0aGUgc2FtZSBhcyBkZSBmaXhlZCB3aWR0aCBhbmQgaGVpZ2h0ICovXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24gPSBzdHlsZWQoU3R5bGVkTm90aWZpY2F0aW9uKTx7XG4gIHRoZW1lOiBJTm90aWZpY2F0aW9uVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCB7IElOb3RpZmljYXRpb25UaGVtZSB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZU5vdGlmaWNhdGlvbiA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSU5vdGlmaWNhdGlvblRoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICAvKiBTaXplIG5lZWRzIHRvIGJlIEVNIGJhc2VkICovXG4gIC8qIFdlIGFkZCBpdCBoZXJlIHRvIHF1aWNrbHkgYWRkIGEgc2l6ZSBlbnVtIHByb3Agd2hlbiBuZWVkZWQuKi9cbiAgY29uc3Qgc2l6ZSA9IFwiMS44ZW1cIjtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkueHMubm9ybWFsLFxuICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICBzaXplOiBzaXplLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgYmFja2dyb3VuZDogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICBmb250OiBGb250cy5wcmltYXJ5LnhzLm5vcm1hbCxcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgc2l6ZTogc2l6ZSxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBJTm90aWZpY2F0aW9uQmFzZSB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE5vdGlmaWNhdGlvbixcbiAgU3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24sXG59IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VOb3RpZmljYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vaG9va3MvdXNlLW5vdGlmaWNhdGlvblwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgTm90aWZpY2F0aW9uID0gKHsgbnVtYmVyIH06IElOb3RpZmljYXRpb25CYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBUaGVtZSA9IHVzZU5vdGlmaWNhdGlvbihJc1NrZWxldG9uKTtcblxuICAvKiBUaGlzIHdheSB3ZSBwcmV2ZW50IHRoZSBudW1lciBmcm9tIGdvaW5nIG92ZXIgdGhlIHByb3ZpZGVkIHNpemUgKi9cbiAgY29uc3QgZGlzcGxheSA9IG51bWJlciA+IDkgPyBcIis5XCIgOiBudW1iZXI7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uTm90aWZpY2F0aW9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxQbGFjZWhvbGRlcj57ZGlzcGxheX08L1BsYWNlaG9sZGVyPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbk5vdGlmaWNhdGlvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIDxTdHlsZWROb3RpZmljYXRpb24gdGhlbWU9e1RoZW1lfT57ZGlzcGxheX08L1N0eWxlZE5vdGlmaWNhdGlvbj47XG59O1xuIiwiaW1wb3J0IHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IE5vdGlmaWNhdGlvbiBhcyBCYXNlTm90aWZpY2F0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uXCI7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb24gPSAoeyBudW1iZXIgfTogSU5vdGlmaWNhdGlvbikgPT4ge1xuICByZXR1cm4gPEJhc2VOb3RpZmljYXRpb24gbnVtYmVyPXtudW1iZXJ9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJTm90aWZpY2F0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50eXBlc1wiO1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGlja1RoZW1lYWJsZVByb3BzLCBJUGlja1RoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGljay9waWNrLnR5cGVzXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VQaWNrVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9waWNrL2hvb2tzL3VzZS1waWNrXCI7XG5pbXBvcnQge1xuICBTdHlsZWRQaWNrLFxuICBTdHlsZWRQaWNrQ29udGFpbmVyLFxuICBTdHlsZWRQaWNrQ29udGFpbmVyU2tlbGV0b24sXG4gIFN0eWxlZFBpY2tMYWJlbCxcbiAgU3R5bGVkUGlja0xhYmVsU2tlbGV0b24sXG4gIFN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbixcbiAgU3R5bGVkVmlzdWFsLFxuICBTdHlsZWRWaXN1YWxDb250YWluZXIsXG59IGZyb20gXCIuLi9waWNrLnN0eWxlXCI7XG5pbXBvcnQgeyBGcmFtZSB9IGZyb20gXCIuLi8uLi9mcmFtZVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IENvbG9yVmFyaWFudCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgUGlja0N0eCB9IGZyb20gXCJAL2F0b21zL3BpY2svcGljay5jb250ZXh0XCI7XG5pbXBvcnQgeyBQaWNrQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpY2svcGljay5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFBpY2sgPSAoe1xuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxuICBpY29uLFxufTogUGlja1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KFBpY2tDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJUGlja1RoZW1lID0gdXNlUGlja1RoZW1lKENvbXBvbmVudENvbnRleHQsIGlzU2tlbGV0b24pO1xuICBjb25zdCBpc0Rpc2FibGVkID0gQ29tcG9uZW50Q29udGV4dCA9PT0gUGlja0NvbnRleHQuRElTQUJMRUQ7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFBpY2tDb250YWluZXJTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkUGlja1Zpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZFBpY2tMYWJlbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0+e2xhYmVsfTwvU3R5bGVkUGlja0xhYmVsU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZFBpY2tDb250YWluZXJTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUGlja0NvbnRhaW5lciBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFBpY2tcbiAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZFZpc3VhbENvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8RnJhbWUgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfSBhcm91bmQ9e2ljb259IC8+XG4gICAgICAgIDxTdHlsZWRWaXN1YWwgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgdHlwZT17SWNvblR5cGUuQ0hFQ0t9XG4gICAgICAgICAgICBzaXplPXtJY29uU2l6ZS5NRURJVU19XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtsYWJlbH1cbiAgICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkxJR0hUfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkVmlzdWFsPlxuICAgICAgPC9TdHlsZWRWaXN1YWxDb250YWluZXI+XG4gICAgICA8U3R5bGVkUGlja0xhYmVsIHRoZW1lPXtUaGVtZX0+e2xhYmVsfTwvU3R5bGVkUGlja0xhYmVsPlxuICAgIDwvU3R5bGVkUGlja0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJUGlja1RoZW1lIH0gZnJvbSBcIi4uL3BpY2sudHlwZXNcIjtcbmltcG9ydCB7IFBpY2tDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGlja1wiO1xuXG5leHBvcnQgY29uc3QgdXNlUGlja1RoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgUGlja0NvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJUGlja1RoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBTa2VsZXRvbjtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1BpY2tDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW1BpY2tDb250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW1BpY2tDb250ZXh0LkRJU0FCTEVELCBEaXNhYmxlZF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUGlja1RoZW1lIH0gZnJvbSBcIi4vcGljay50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGljayA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiY2hlY2tib3hcIiB9KTx7XG4gIHRoZW1lOiBJUGlja1RoZW1lO1xufT5gXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAmOmNoZWNrZWQgfiBzcGFuIHtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJvcmRlcn0gIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuY29sb3J9O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICAmOmNoZWNrZWQgfiBkaXYgPiA6bGFzdC1jaGlsZCB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpY2tDb250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICB0aGVtZTogSVBpY2tUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICBgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpY2tMYWJlbCA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElQaWNrVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHBhZGRpbmctbGVmdDogNjhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFZpc3VhbENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUGlja1RoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS52aXN1YWxSYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5iYWNrZ3JvdW5kfTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpY2tDb250YWluZXJTa2VsZXRvbiA9IHN0eWxlZC5sYWJlbDx7XG4gIHRoZW1lOiBJUGlja1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWNrVmlzdWFsU2tlbGV0b24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElQaWNrVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpY2tMYWJlbFNrZWxldG9uID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgbWFyZ2luLWxlZnQ6IDYwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGlja0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWNrL3BpY2suZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFBpY2tDdHhEZWZhdWx0OiBQaWNrQ29udGV4dCA9IFBpY2tDb250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgUGlja0N0eDogUmVhY3QuQ29udGV4dDxQaWNrQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KFBpY2tDdHhEZWZhdWx0KTtcbiIsImV4cG9ydCBlbnVtIFBpY2tDb250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG4gIERJU0FCTEVEID0gXCJESVNBQkxFRFwiLFxuICBFUlJPUiA9IFwiRVJST1JcIixcbn1cbiIsImltcG9ydCB7IElQaWNrIH0gZnJvbSBcIkAvYXRvbXMvcGljay9waWNrLnR5cGVzXCI7XG5pbXBvcnQgeyBQaWNrIGFzIFBpY2tDb21wb25lbnQgfSBmcm9tIFwiQC9hdG9tcy9waWNrL2NvbXBvbmVudHMvcGlja1wiO1xuaW1wb3J0IHsgUGlja0N0eCwgUGlja0N0eERlZmF1bHQgfSBmcm9tIFwiQC9hdG9tcy9waWNrL3BpY2suY29udGV4dFwiO1xuaW1wb3J0IHsgUGlja0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWNrL3BpY2suZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFBpY2sgPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxuICBpY29uLFxufTogSVBpY2spID0+IHtcbiAgY29uc3QgUGlja0NvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IFBpY2tDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPFBpY2tDdHguUHJvdmlkZXIgdmFsdWU9e1BpY2tDb250ZXh0fT5cbiAgICAgIDxQaWNrQ29tcG9uZW50XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGljb249e2ljb259XG4gICAgICAvPlxuICAgIDwvUGlja0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB7IFBpY2tDb250ZXh0IH07XG5leHBvcnQgdHlwZSB7IElQaWNrIH0gZnJvbSBcIkAvYXRvbXMvcGljay9waWNrLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBJUGlsbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlUGlsbCA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVBpbGxUaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ib2xkLFxuICAgICAgcmFkaXVzOiBSYWRpdXMuc20sXG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmb250OiBGb250LnByaW1hcnkuc20uYm9sZCxcbiAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSxcbiAgfTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVBpbGxUaGVtZSB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC50eXBlc1wiO1xuaW1wb3J0IHsgU3BhY2luZ0kgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpbGwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElQaWxsVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZzogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBhZGRpbmd9O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWxsSWNvbiA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHNwYWNpbmc6IFNwYWNpbmdJIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5zcGFjaW5nW1wiMlwiXX07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlsbExhYmVsID0gc3R5bGVkLmRpdmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25QaWxsID0gc3R5bGVkKFN0eWxlZFBpbGwpPHtcbiAgdGhlbWU6IElQaWxsVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uU2l6ZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgUGlsbEljb25Qcm9wcyB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlUGlsbEljb25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9ob29rcy91c2UtcGlsbC1pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRQaWxsSWNvbiB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5zdHlsZVwiO1xuaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgUGlsbEljb24gPSAoeyBpY29uIH06IFBpbGxJY29uUHJvcHMpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VQaWxsSWNvbkNvbnRleHQoSXNTa2VsZXRvbik7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQaWxsSWNvbiBzcGFjaW5nPXtVdGlsaXR5LnNwYWNpbmd9PlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgIGNvbnRleHQ6IEljb25Db250ZXh0LFxuICAgICAgICBzaXplOiBJY29uU2l6ZS5TTUFMTCxcbiAgICAgIH0pfVxuICAgIDwvU3R5bGVkUGlsbEljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVBpbGxJY29uQ29udGV4dCA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSWNvbkNvbnRleHQgPT4ge1xuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBJY29uQ29udGV4dC5ESVNBQkxFRDtcbiAgfVxuXG4gIHJldHVybiBJY29uQ29udGV4dC5EQVJLO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFBpbGxMYWJlbFByb3BzIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRQaWxsTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwuc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IFBpbGxMYWJlbCA9ICh7IGNoaWxkcmVuIH06IFBpbGxMYWJlbFByb3BzKSA9PiB7XG4gIHJldHVybiA8U3R5bGVkUGlsbExhYmVsPntjaGlsZHJlbn08L1N0eWxlZFBpbGxMYWJlbD47XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElQaWxsQmFzZSB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlUGlsbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvaG9va3MvdXNlLXBpbGxcIjtcbmltcG9ydCB7IFN0eWxlZFBpbGwsIFN0eWxlZFNrZWxldG9uUGlsbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5zdHlsZVwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyBQaWxsSWNvbiB9IGZyb20gXCJAL2F0b21zL3BpbGwvY29tcG9uZW50cy9waWxsLmljb25cIjtcbmltcG9ydCB7IFBpbGxMYWJlbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvY29tcG9uZW50cy9waWxsLmxhYmVsXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgUGlsbCA9ICh7IGxhYmVsLCB3aXRoSWNvbkJlZm9yZSB9OiBJUGlsbEJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IFRoZW1lID0gdXNlUGlsbChJc1NrZWxldG9uKTtcblxuICBjb25zdCBJY29uQmVmb3JlID0gd2l0aEljb25CZWZvcmUgPyA8UGlsbEljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+IDogbnVsbDtcblxuICBjb25zdCBMYWJlbCA9IDxQaWxsTGFiZWw+e2xhYmVsfTwvUGlsbExhYmVsPjtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIGNvbnN0IEljb25CZWZvcmVTa2VsZXRvbiA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICA8UGlsbEljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgTGFiZWxTa2VsZXRvbiA9IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPFBpbGxMYWJlbD57bGFiZWx9PC9QaWxsTGFiZWw+XG4gICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uUGlsbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICB7SWNvbkJlZm9yZVNrZWxldG9ufVxuICAgICAgICB7TGFiZWxTa2VsZXRvbn1cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25QaWxsPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQaWxsIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7SWNvbkJlZm9yZX1cbiAgICAgIHtMYWJlbH1cbiAgICA8L1N0eWxlZFBpbGw+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgUGlsbCBhcyBCYXNlUGlsbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvY29tcG9uZW50cy9waWxsXCI7XG5pbXBvcnQgeyBJUGlsbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgUGlsbCA9ICh7IHdpdGhJY29uQmVmb3JlLCBsYWJlbCB9OiBJUGlsbCkgPT4ge1xuICByZXR1cm4gPEJhc2VQaWxsIGxhYmVsPXtsYWJlbH0gd2l0aEljb25CZWZvcmU9e3dpdGhJY29uQmVmb3JlfSAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSVBpbGwgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwudHlwZXNcIjtcbiIsImV4cG9ydCBlbnVtIFBpblR5cGUge1xuICBEQVlDQVJFID0gXCJEQVlDQVJFXCIsXG4gIENISUxETUlOREVSID0gXCJDSElMRE1JTkRFUlwiLFxuICBDT09QRVJBVElWRSA9IFwiQ09PUEVSQVRJVkVcIixcbn1cbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElQaW5CYXNlIH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi50eXBlc1wiO1xuaW1wb3J0IHsgUGluVHlwZSB9IGZyb20gXCJAL2F0b21zL3Bpbi9waW4uZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7XG4gIEJhc2VDbGlwUGF0aCxcbiAgQmFzZUNsaXBSZWN0LFxuICBCYXNlRGVmcyxcbiAgQmFzZVBpbkcsXG4gIFN0eWxlZFBpbixcbiAgU3R5bGVkUGluUGF0aCxcbiAgU3R5bGVkUGluU2hhZG93LFxuICBTdHlsZWRQaW5XcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy9waW4vcGluLnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCBQaW4gPSAoeyB0eXBlIH06IElQaW5CYXNlKSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBjb2xvcnMgPSBtYXRjaCh0eXBlLCBbXG4gICAgW1xuICAgICAgUGluVHlwZS5EQVlDQVJFLFxuICAgICAge1xuICAgICAgICBjb2xvcjE6IENvbG9ycy5hY2NlbnQudGludF81MDAsXG4gICAgICAgIGNvbG9yMjogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBQaW5UeXBlLkNISUxETUlOREVSLFxuICAgICAge1xuICAgICAgICBjb2xvcjE6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICBjb2xvcjI6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFBpblR5cGUuQ09PUEVSQVRJVkUsXG4gICAgICB7XG4gICAgICAgIGNvbG9yMTogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgICAgICAgY29sb3IyOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG5cbiAgY29uc3Qgd2lkdGggPSAyNDtcbiAgY29uc3Qgd2lkdGhQeCA9IHdpZHRoICsgXCJweFwiO1xuICBjb25zdCBoZWlnaHQgPSAzMjtcbiAgY29uc3QgaGVpZ2h0UHggPSBoZWlnaHQgKyBcInB4XCI7XG5cbiAgY29uc3Qgdmlld0JveCA9IFwiMCAwIFwiICsgd2lkdGggKyBcIiBcIiArIGhlaWdodDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQaW5XcmFwcGVyPlxuICAgICAgPFN0eWxlZFBpbiB3aWR0aD17d2lkdGhQeH0gaGVpZ2h0PXtoZWlnaHRQeH0gdmlld0JveD17dmlld0JveH0+XG4gICAgICAgIDxCYXNlUGluRyBjbGlwUGF0aD1cInVybCgjY2xpcDBfMV8yNilcIj5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aCBkPVwiTTEyIDBIMFYzMkgxMlYwWlwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aFxuICAgICAgICAgICAgZD1cIk0xMiAwQzYuMTMzMzMgMCAwIDQuNTMzMzMgMCAxMkMwIDE5LjA2NjcgMTAuNjY2NyAyOS44NjY3IDExLjA2NjcgMzAuMjY2N0MxMS4zMzMzIDMwLjUzMzMgMTEuNiAzMC42NjY3IDEyIDMwLjY2NjdDMTIuNCAzMC42NjY3IDEyLjY2NjcgMzAuNTMzMyAxMi45MzMzIDMwLjI2NjdDMTMuMzMzMyAyOS44NjY3IDI0IDE5LjA2NjcgMjQgMTJDMjQgNC41MzMzMyAxNy44NjY3IDAgMTIgMFpNMTIgMTZDOS43MzMzMyAxNiA4IDE0LjI2NjcgOCAxMkM4IDkuNzMzMzMgOS43MzMzMyA4IDEyIDhDMTQuMjY2NyA4IDE2IDkuNzMzMzMgMTYgMTJDMTYgMTQuMjY2NyAxNC4yNjY3IDE2IDEyIDE2WlwiXG4gICAgICAgICAgICBmaWxsPXtjb2xvcnMuY29sb3IxfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQmFzZVBpbkc+XG4gICAgICAgIDxCYXNlUGluRyBjbGlwUGF0aD1cInVybCgjY2xpcDFfMV8yNilcIj5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aCBkPVwiTTI0IDBIMTJWMzJIMjRWMFpcIiBmaWxsPVwibm9uZVwiIC8+XG4gICAgICAgICAgPFN0eWxlZFBpblBhdGhcbiAgICAgICAgICAgIGQ9XCJNMTIgMEM2LjEzMzMzIDAgMCA0LjUzMzMzIDAgMTJDMCAxOS4wNjY3IDEwLjY2NjcgMjkuODY2NyAxMS4wNjY3IDMwLjI2NjdDMTEuMzMzMyAzMC41MzMzIDExLjYgMzAuNjY2NyAxMiAzMC42NjY3QzEyLjQgMzAuNjY2NyAxMi42NjY3IDMwLjUzMzMgMTIuOTMzMyAzMC4yNjY3QzEzLjMzMzMgMjkuODY2NyAyNCAxOS4wNjY3IDI0IDEyQzI0IDQuNTMzMzMgMTcuODY2NyAwIDEyIDBaTTEyIDE2QzkuNzMzMzMgMTYgOCAxNC4yNjY3IDggMTJDOCA5LjczMzMzIDkuNzMzMzMgOCAxMiA4QzE0LjI2NjcgOCAxNiA5LjczMzMzIDE2IDEyQzE2IDE0LjI2NjcgMTQuMjY2NyAxNiAxMiAxNlpcIlxuICAgICAgICAgICAgZmlsbD17Y29sb3JzLmNvbG9yMn1cbiAgICAgICAgICAvPlxuICAgICAgICA8L0Jhc2VQaW5HPlxuICAgICAgICA8U3R5bGVkUGluUGF0aFxuICAgICAgICAgIGQ9XCJNMTcgMTNDMTcgMTUuNzYxNCAxNC43NjE0IDE4IDEyIDE4QzkuMjM4NTggMTggNyAxNS43NjE0IDcgMTNDNyAxMC4yMzg2IDkuMjM4NTggOCAxMiA4QzE0Ljc2MTQgOCAxNyAxMC4yMzg2IDE3IDEzWlwiXG4gICAgICAgICAgZmlsbD1cIndoaXRlXCJcbiAgICAgICAgLz5cbiAgICAgICAgPEJhc2VEZWZzPlxuICAgICAgICAgIDxCYXNlQ2xpcFBhdGggaWQ9XCJjbGlwMF8xXzI2XCI+XG4gICAgICAgICAgICA8QmFzZUNsaXBSZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIzMlwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8L0Jhc2VDbGlwUGF0aD5cbiAgICAgICAgICA8QmFzZUNsaXBQYXRoIGlkPVwiY2xpcDFfMV8yNlwiPlxuICAgICAgICAgICAgPEJhc2VDbGlwUmVjdFxuICAgICAgICAgICAgICB3aWR0aD1cIjEyXCJcbiAgICAgICAgICAgICAgaGVpZ2h0PVwiMzJcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgxMilcIlxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L0Jhc2VDbGlwUGF0aD5cbiAgICAgICAgPC9CYXNlRGVmcz5cbiAgICAgIDwvU3R5bGVkUGluPlxuICAgICAgPFN0eWxlZFBpblNoYWRvdz48L1N0eWxlZFBpblNoYWRvdz5cbiAgICA8L1N0eWxlZFBpbldyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuY29uc3QgQmFzZVBpblN2ZyA9IHN0eWxlZC5zdmcuYXR0cnMoKHByb3BzKSA9PiAoe1xuICB2ZXJzaW9uOiBcIjEuMVwiLFxuICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICB4bWxuc1hsaW5rOiBcImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIixcbiAgcm9sZTogXCJpbWdcIixcbiAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbn0pKWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZVBpblBhdGggPSBzdHlsZWQucGF0aC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZVBpbkcgPSBzdHlsZWQuZy5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZURlZnMgPSBzdHlsZWQuZGVmcy5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgQmFzZUNsaXBQYXRoID0gc3R5bGVkLmNsaXBQYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlQ2xpcFJlY3QgPSBzdHlsZWQucmVjdC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluID0gc3R5bGVkKEJhc2VQaW5TdmcpPHtcbiAgd2lkdGg6IHN0cmluZztcbiAgaGVpZ2h0OiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDhweCByZ2IoMCAwIDAgLyAwLjA0KSlcbiAgICBkcm9wLXNoYWRvdygwIDRweCAzcHggcmdiKDAgMCAwIC8gMC4xKSk7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluUGF0aCA9IHN0eWxlZChCYXNlUGluUGF0aCk8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaW5XcmFwcGVyID0gc3R5bGVkLnNwYW48e30+YFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGluU2hhZG93ID0gc3R5bGVkLnNwYW48e30+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDZweDtcbiAgYmFja2dyb3VuZDogIzg2ODY4NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDZweDtcbiAgei1pbmRleDogLTE7XG4gIGZpbHRlcjogYmx1cigzcHgpO1xuYDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFBpbiBhcyBCYXNlUGluIH0gZnJvbSBcIkAvYXRvbXMvcGluL2NvbXBvbmVudHMvcGluXCI7XG5pbXBvcnQgeyBJUGluIH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi50eXBlc1wiO1xuaW1wb3J0IHsgUGluVHlwZSB9IGZyb20gXCJAL2F0b21zL3Bpbi9waW4uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IHR5cGUgfTogSVBpbikgPT4ge1xuICByZXR1cm4gPEJhc2VQaW4gdHlwZT17dHlwZX0gLz47XG59O1xuXG5leHBvcnQgeyBQaW5UeXBlIH07XG5leHBvcnQgdHlwZSB7IElQaW4gfSBmcm9tIFwiQC9hdG9tcy9waW4vcGluLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRSYWRpbyxcbiAgU3R5bGVkUmFkaW9Db250YWluZXIsXG4gIFN0eWxlZFJhZGlvQ29udGFpbmVyU2tlbGV0b24sXG4gIFN0eWxlZFJhZGlvTGFiZWwsXG4gIFN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbixcbiAgU3R5bGVkUmFkaW9WaXN1YWwsXG4gIFN0eWxlZFJhZGlvVmlzdWFsU2tlbGV0b24sXG59IGZyb20gXCIuLi9yYWRpby5zdHlsZVwiO1xuaW1wb3J0IHsgUmFkaW9UaGVtZWFibGVQcm9wcywgSVJhZGlvVGhlbWUgfSBmcm9tIFwiLi4vcmFkaW8udHlwZXNcIjtcbmltcG9ydCB7IHVzZVJhZGlvVGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLXJhZGlvXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuaW1wb3J0IHsgUmFkaW9DdHggfSBmcm9tIFwiQC9hdG9tcy9yYWRpby9yYWRpby5jb250ZXh0XCI7XG5pbXBvcnQgeyBSYWRpb0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9yYWRpby9yYWRpby5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgUmFkaW8gPSAoe1xuICBvbkNoYW5nZSxcbiAgdmFsdWUsXG4gIGFyaWFMYWJlbCxcbiAgbGFiZWwsXG4gIG5hbWUsXG4gIGNoZWNrZWQsXG4gIGRlZmF1bHRDaGVja2VkLFxufTogUmFkaW9UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoUmFkaW9DdHgpO1xuICBjb25zdCBUaGVtZTogSVJhZGlvVGhlbWUgPSB1c2VSYWRpb1RoZW1lKENvbXBvbmVudENvbnRleHQsIGlzU2tlbGV0b24pO1xuICBjb25zdCBpc0Rpc2FibGVkID0gQ29tcG9uZW50Q29udGV4dCA9PT0gUmFkaW9Db250ZXh0LkRJU0FCTEVEO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRSYWRpb1Zpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9TdHlsZWRSYWRpb0xhYmVsU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZFJhZGlvQ29udGFpbmVyU2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFJhZGlvQ29udGFpbmVyIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkUmFkaW9cbiAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGFyaWEtZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGFyaWEtY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRSYWRpb1Zpc3VhbCB0aGVtZT17VGhlbWV9IC8+XG4gICAgICA8U3R5bGVkUmFkaW9MYWJlbCB0aGVtZT17VGhlbWV9PntsYWJlbH08L1N0eWxlZFJhZGlvTGFiZWw+XG4gICAgPC9TdHlsZWRSYWRpb0NvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVJhZGlvVGhlbWUgfSBmcm9tIFwiLi9yYWRpby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW8gPSBzdHlsZWQuaW5wdXQuYXR0cnMoeyB0eXBlOiBcIlJhZGlvXCIgfSk8e1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvQ29udGFpbmVyID0gc3R5bGVkLmxhYmVsPHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElSYWRpb1RoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcblxuICAmIGlucHV0OmNoZWNrZWQgKyBkaXYge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmNvbnRlbnR9O1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgYH1cblxuICAgIGlucHV0ICsgZGl2IHtcbiAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmNvbnRlbnR9O1xuICAgICAgfVxuICAgIH1cbiAgICBpbnB1dDpjaGVja2VkICsgZGl2IHtcbiAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb250ZW50fTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpb0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElSYWRpb1RoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpb1Zpc3VhbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJhZGlvVGhlbWUgfT5gXG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb250ZW50fTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRSYWRpb1Zpc3VhbCk8e1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvTGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJUmFkaW9UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbiA9IHN0eWxlZChTdHlsZWRSYWRpb0xhYmVsKTx7XG4gIHRoZW1lOiBJUmFkaW9UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSVJhZGlvVGhlbWUgfSBmcm9tIFwiLi4vcmFkaW8udHlwZXNcIjtcbmltcG9ydCB7IFJhZGlvQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VSYWRpb1RoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgUmFkaW9Db250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSVJhZGlvVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgZXJyb3JCb3JkZXJDb2xvciA9IENvbG9ycy5kYW5nZXIudGludF81MDA7XG5cbiAgY29uc3QgU3RhbmRhcmQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgY29uc3QgRXJyb3IgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIFNrZWxldG9uO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbUmFkaW9Db250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW1JhZGlvQ29udGV4dC5FUlJPUiwgRXJyb3JdLFxuICAgIFtSYWRpb0NvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgXSk7XG59O1xuIiwiZXhwb3J0IGVudW0gUmFkaW9Db250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG4gIERJU0FCTEVEID0gXCJESVNBQkxFRFwiLFxuICBFUlJPUiA9IFwiRVJST1JcIixcbn1cbiIsImltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFJhZGlvQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBSYWRpb0N0eERlZmF1bHQ6IFJhZGlvQ29udGV4dCA9IFJhZGlvQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFJhZGlvQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChSYWRpb0N0eERlZmF1bHQpO1xuIiwiaW1wb3J0IHsgSVJhZGlvIH0gZnJvbSBcIkAvYXRvbXMvcmFkaW8vcmFkaW8udHlwZXNcIjtcbmltcG9ydCB7IFJhZGlvIGFzIFJhZGlvQ29tcG9uZW50IH0gZnJvbSBcIkAvYXRvbXMvcmFkaW8vY29tcG9uZW50cy9yYWRpb1wiO1xuaW1wb3J0IHsgUmFkaW9DdHgsIFJhZGlvQ3R4RGVmYXVsdCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmNvbnRleHRcIjtcbmltcG9ydCB7IFJhZGlvQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBSYWRpbyA9ICh7XG4gIGNvbnRleHQsXG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBJUmFkaW8pID0+IHtcbiAgY29uc3QgSW5wdXRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBSYWRpb0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8UmFkaW9DdHguUHJvdmlkZXIgdmFsdWU9e0lucHV0Q29udGV4dH0+XG4gICAgICA8UmFkaW9Db21wb25lbnRcbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgIC8+XG4gICAgPC9SYWRpb0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB7IFJhZGlvQ29udGV4dCB9O1xuZXhwb3J0IHR5cGUgeyBJUmFkaW8gfSBmcm9tIFwiQC9hdG9tcy9yYWRpby9yYWRpby50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7XG4gIElSZWNvcmRMYWJlbFRoZW1lLFxuICBJUmVjb3JkVGhlbWUsXG4gIElSZWNvcmRWYWx1ZVRoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyBTcGFjaW5nSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmVjb3JkID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmVjb3JkVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmVjb3JkSWNvbiA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHNwYWNpbmc6IFNwYWNpbmdJIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIG1hcmdpbi1yaWdodDogJHsocHJvcHMpID0+IHByb3BzLnNwYWNpbmdbXCIyXCJdfTtcbiAgZGlzcGxheTogZmxleDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmRMYWJlbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJlY29yZExhYmVsVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYW5pbWF0aW9ufTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmRMYWJlbFRleHQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElSZWNvcmRMYWJlbFRoZW1lIH0+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmRWYWx1ZSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJlY29yZFZhbHVlVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYW5pbWF0aW9ufTtcbmA7XG4iLCJpbXBvcnQgeyBJUmVjb3JkTGFiZWxUaGVtZSB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlUmVjb3JkTGFiZWwgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElSZWNvcmRMYWJlbFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIGFuaW1hdGlvbjogXCJwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlXCIsXG4gICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF83MDAsXG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIGFuaW1hdGlvbjogXCJub25lXCIsXG4gICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBJUmVjb3JkVmFsdWVUaGVtZSB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlUmVjb3JkVmFsdWUgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElSZWNvcmRWYWx1ZVRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIGFuaW1hdGlvbjogXCJwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlXCIsXG4gICAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85MDAsXG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIGFuaW1hdGlvbjogXCJub25lXCIsXG4gICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3R5bGVkR3JpZCwgU3R5bGVkR3JpZEl0ZW0sIFN0eWxlZEdyaWRDb250YWluZXIgfSBmcm9tIFwiLi9ncmlkLnN0eWxlXCI7XG5pbXBvcnQgeyBHcmlkSXRlbVByb3BzLCBHcmlkUHJvcHMsIFN0eWxlZEdyaWRQcm9wcyB9IGZyb20gXCIuL2dyaWQudHlwZXNcIjtcblxuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuY29uc3QgR3JpZENvbnRleHQgPSBjcmVhdGVDb250ZXh0KHtcbiAgYnJlYWtwb2ludDoge1xuICAgIHNtOiBcIjY0MHB4XCIsXG4gICAgbWQ6IFwiNzY4cHhcIixcbiAgICBsZzogXCIxMDI0cHhcIixcbiAgICB4bDogXCIxMjgwcHhcIixcbiAgICB4eGw6IFwiMTUzNnB4XCIsXG4gIH0sXG4gIGdhcDogXCIwXCIsXG4gIGRpcmVjdGlvbjogXCJyb3dcIixcbiAgYWxpZ25JdGVtczogXCJmbGV4LXN0YXJ0XCIsXG4gIGp1c3RpZnk6IFwiZmxleC1zdGFydFwiLFxuICBpdGVtczogMCxcbn0pO1xuXG5leHBvcnQgY29uc3QgR3JpZCA9ICh7XG4gIGNoaWxkcmVuLFxuICBkaXJlY3Rpb24sXG4gIGFsaWduSXRlbXMsXG4gIGp1c3RpZnksXG4gIGdhcCxcbiAgc21CcmVha3BvaW50LFxuICBtZEJyZWFrcG9pbnQsXG4gIGxnQnJlYWtwb2ludCxcbiAgeGxCcmVha3BvaW50LFxuICB4eGxCcmVha3BvaW50LFxufTogR3JpZFByb3BzKSA9PiB7XG4gIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcbiAgY29uc3QgZ2FwT3JkZWZhdWx0ID0gdGhlbWUudXRpbGl0eS5zcGFjaW5nW2dhcCB8fCAwXTtcbiAgY29uc3QgZGlyZWN0aW9uT3JEZWZhdWx0ID0gZGlyZWN0aW9uIHx8IFwicm93XCI7XG4gIGNvbnN0IGFsaWduSXRlbXNPckRlZmF1bHQgPSBhbGlnbkl0ZW1zIHx8IFwiZmxleC1zdGFydFwiO1xuICBjb25zdCBqdXN0aWZ5T3JEZWZhdWx0ID0ganVzdGlmeSB8fCBcImZsZXgtc3RhcnRcIjtcblxuICBjb25zdCBzdHlsZTogU3R5bGVkR3JpZFByb3BzID0ge1xuICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uT3JEZWZhdWx0LFxuICAgIGFsaWduSXRlbXM6IGFsaWduSXRlbXNPckRlZmF1bHQsXG4gICAganVzdGlmeToganVzdGlmeU9yRGVmYXVsdCxcbiAgICBnYXA6IGdhcE9yZGVmYXVsdCxcbiAgfTtcblxuICBjb25zdCBjb3VudCA9IFJlYWN0LkNoaWxkcmVuLmNvdW50KGNoaWxkcmVuKTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkQ29udGV4dC5Qcm92aWRlclxuICAgICAgdmFsdWU9e3tcbiAgICAgICAgYnJlYWtwb2ludDoge1xuICAgICAgICAgIHNtOiBzbUJyZWFrcG9pbnQgPyBzbUJyZWFrcG9pbnQgKyBcInB4XCIgOiBcIjY0MHB4XCIsXG4gICAgICAgICAgbWQ6IG1kQnJlYWtwb2ludCA/IG1kQnJlYWtwb2ludCArIFwicHhcIiA6IFwiNzY4cHhcIixcbiAgICAgICAgICBsZzogbGdCcmVha3BvaW50ID8gbGdCcmVha3BvaW50ICsgXCJweFwiIDogXCIxMDI0cHhcIixcbiAgICAgICAgICB4bDogeGxCcmVha3BvaW50ID8geGxCcmVha3BvaW50ICsgXCJweFwiIDogXCIxMjgwcHhcIixcbiAgICAgICAgICB4eGw6IHh4bEJyZWFrcG9pbnQgPyB4eGxCcmVha3BvaW50ICsgXCJweFwiIDogXCIxNTM2cHhcIixcbiAgICAgICAgfSxcbiAgICAgICAgZ2FwOiBnYXBPcmRlZmF1bHQsXG4gICAgICAgIGRpcmVjdGlvbjogZGlyZWN0aW9uT3JEZWZhdWx0LFxuICAgICAgICBhbGlnbkl0ZW1zOiBhbGlnbkl0ZW1zT3JEZWZhdWx0LFxuICAgICAgICBqdXN0aWZ5OiBqdXN0aWZ5T3JEZWZhdWx0LFxuICAgICAgICBpdGVtczogY291bnQsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxTdHlsZWRHcmlkQ29udGFpbmVyPlxuICAgICAgICA8U3R5bGVkR3JpZCBzdHlsZT17c3R5bGV9PntjaGlsZHJlbn08L1N0eWxlZEdyaWQ+XG4gICAgICA8L1N0eWxlZEdyaWRDb250YWluZXI+XG4gICAgPC9HcmlkQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmNvbnN0IEl0ZW0gPSAoeyBpbml0aWFsLCBzbSwgbWQsIGxnLCB4bCwgeHhsLCBjaGlsZHJlbiB9OiBHcmlkSXRlbVByb3BzKSA9PiB7XG4gIGNvbnN0IHdpZHRoT3JEZWZhdWx0ID0gaW5pdGlhbCB8fCAxMjtcbiAgY29uc3Qgc21PckRlZmF1bHQgPSBzbSB8fCB3aWR0aE9yRGVmYXVsdDtcbiAgY29uc3QgbWRPckRlZmF1bHQgPSBtZCB8fCBzbU9yRGVmYXVsdDtcbiAgY29uc3QgbGdPckRlZmF1bHQgPSBsZyB8fCBtZE9yRGVmYXVsdDtcbiAgY29uc3QgeGxPckRlZmF1bHQgPSB4bCB8fCBsZ09yRGVmYXVsdDtcbiAgY29uc3QgeHhsT3JEZWZhdWx0ID0geHhsIHx8IHhsT3JEZWZhdWx0O1xuICBjb25zdCBncmlkID0gdXNlQ29udGV4dChHcmlkQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkR3JpZEl0ZW1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGluaXRpYWw6IHdpZHRoT3JEZWZhdWx0LFxuICAgICAgICBzbTogc21PckRlZmF1bHQsXG4gICAgICAgIG1kOiBtZE9yRGVmYXVsdCxcbiAgICAgICAgbGc6IGxnT3JEZWZhdWx0LFxuICAgICAgICB4bDogeGxPckRlZmF1bHQsXG4gICAgICAgIHh4bDogeHhsT3JEZWZhdWx0LFxuICAgICAgICBzbUJyZWFrcG9pbnQ6IGdyaWQuYnJlYWtwb2ludC5zbSxcbiAgICAgICAgbWRCcmVha3BvaW50OiBncmlkLmJyZWFrcG9pbnQubWQsXG4gICAgICAgIGxnQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50LmxnLFxuICAgICAgICB4bEJyZWFrcG9pbnQ6IGdyaWQuYnJlYWtwb2ludC54bCxcbiAgICAgICAgeHhsQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50Lnh4bCxcbiAgICAgICAgaW5pdGlhbFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHdpZHRoT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHdpZHRoT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBzbVdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHNtT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHNtT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBtZFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIG1kT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIG1kT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICBsZ1dpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIGxnT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIGxnT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICB4bFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHhsT3JEZWZhdWx0ICE9PSBcImF1dG9cIiAmJlxuICAgICAgICAgIHhsT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgICB4eGxXaWR0aENvcnJlY3Rpb246XG4gICAgICAgICAgZ3JpZC5kaXJlY3Rpb24gPT09IFwicm93XCIgJiZcbiAgICAgICAgICB4eGxPckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgeHhsT3JEZWZhdWx0ICE9PSAxMlxuICAgICAgICAgICAgPyBncmlkLmdhcFxuICAgICAgICAgICAgOiBcIjBweFwiLFxuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWRHcmlkSXRlbT5cbiAgKTtcbn07XG5cbkdyaWQuSXRlbSA9IEl0ZW07XG5cbmV4cG9ydCB0eXBlIHsgR3JpZEl0ZW1Qcm9wcywgR3JpZFByb3BzIH0gZnJvbSBcIi4vZ3JpZC50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IFN0eWxlZEdyaWRJdGVtUHJvcHMsIFN0eWxlZEdyaWRQcm9wcyB9IGZyb20gXCIuL2dyaWQudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEdyaWRDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBjb250YWluZXItdHlwZTogaW5saW5lLXNpemU7XG4gIGNvbnRhaW5lci1uYW1lOiBncmlkO1xuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRHcmlkID0gc3R5bGVkLmRpdjx7IHN0eWxlOiBTdHlsZWRHcmlkUHJvcHMgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5kaXJlY3Rpb259O1xuICBhbGlnbi1pdGVtczogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmFsaWduSXRlbXN9O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5qdXN0aWZ5fTtcbiAgZ2FwOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUuZ2FwfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRHcmlkSXRlbSA9IHN0eWxlZC5kaXY8eyBzdHlsZTogU3R5bGVkR3JpZEl0ZW1Qcm9wcyB9PmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1pbi13aWR0aDogMDtcblxuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5zdHlsZS5pbml0aWFsID09PSBcImF1dG9cIiAmJlxuICAgIGNzc2BcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYH1cbiAgJHsocHJvcHMpID0+XG4gICAgdHlwZW9mIHByb3BzLnN0eWxlLmluaXRpYWwgPT09IFwibnVtYmVyXCIgJiZcbiAgICBjc3NgXG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS5pbml0aWFsfSAvIDEyKSAtXG4gICAgICAgICAgJHtwcm9wcy5zdHlsZS5pbml0aWFsV2lkdGhDb3JyZWN0aW9ufVxuICAgICAgKTtcbiAgICBgfVxuXG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUuc21CcmVha3BvaW50fSkge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgcHJvcHMuc3R5bGUuc20gPT09IFwiYXV0b1wiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYH1cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHR5cGVvZiBwcm9wcy5zdHlsZS5zbSA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS5zbX0gLyAxMikgLSAke3Byb3BzLnN0eWxlLnNtV2lkdGhDb3JyZWN0aW9ufVxuICAgICAgICApO1xuICAgICAgYH1cbiAgfVxuICBAY29udGFpbmVyIGdyaWQgKG1pbi13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLm1kQnJlYWtwb2ludH0pIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHByb3BzLnN0eWxlLm1kID09PSBcImF1dG9cIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGB9XG4gICAgJHsocHJvcHMpID0+XG4gICAgICB0eXBlb2YgcHJvcHMuc3R5bGUubWQgPT09IFwibnVtYmVyXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAoMTAwJSAqICR7cHJvcHMuc3R5bGUubWR9IC8gMTIpIC0gJHtwcm9wcy5zdHlsZS5tZFdpZHRoQ29ycmVjdGlvbn1cbiAgICAgICAgKTtcbiAgICAgIGB9XG4gIH1cbiAgQGNvbnRhaW5lciBncmlkIChtaW4td2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5sZ0JyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS5sZyA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLmxnID09PSBcIm51bWJlclwiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLmxnfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUubGdXaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUueGxCcmVha3BvaW50fSkge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgcHJvcHMuc3R5bGUueGwgPT09IFwiYXV0b1wiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYH1cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHR5cGVvZiBwcm9wcy5zdHlsZS54bCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS54bH0gLyAxMikgLSAke3Byb3BzLnN0eWxlLnhsV2lkdGhDb3JyZWN0aW9ufVxuICAgICAgICApO1xuICAgICAgYH1cbiAgfVxuICBAY29udGFpbmVyIGdyaWQgKG1pbi13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLnh4bEJyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS54eGwgPT09IFwiYXV0b1wiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYH1cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHR5cGVvZiBwcm9wcy5zdHlsZS54eGwgPT09IFwibnVtYmVyXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAoMTAwJSAqICR7cHJvcHMuc3R5bGUueHhsfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUueHhsV2lkdGhDb3JyZWN0aW9ufVxuICAgICAgICApO1xuICAgICAgYH1cbiAgfVxuYDtcbiIsImltcG9ydCB7IElSZWNvcmRCYXNlIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkUmVjb3JkLFxuICBTdHlsZWRSZWNvcmRJY29uLFxuICBTdHlsZWRSZWNvcmRMYWJlbCxcbiAgU3R5bGVkUmVjb3JkTGFiZWxUZXh0LFxuICBTdHlsZWRSZWNvcmRWYWx1ZSxcbn0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC5zdHlsZVwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRMYWJlbCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9ob29rcy91c2UtcmVjb3JkLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRWYWx1ZSB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9ob29rcy91c2UtcmVjb3JkLXZhbHVlXCI7XG5pbXBvcnQgeyBHcmlkIH0gZnJvbSBcIkAvbGF5b3V0cy9ncmlkXCI7XG5pbXBvcnQgeyBTcGFjaW5nIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmQgPSAoeyBsYWJlbCwgdmFsdWUsIHdpdGhJY29uQmVmb3JlIH06IElSZWNvcmRCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcblxuICBjb25zdCBUaGVtZSA9IHtcbiAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICB9O1xuXG4gIGNvbnN0IFRoZW1lTGFiZWwgPSB1c2VSZWNvcmRMYWJlbChJc1NrZWxldG9uKTtcbiAgY29uc3QgVGhlbWVWYWx1ZSA9IHVzZVJlY29yZFZhbHVlKElzU2tlbGV0b24pO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgSWNvbiA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgIElzU2tlbGV0b24gPyAoXG4gICAgICA8U3R5bGVkUmVjb3JkSWNvbiBzcGFjaW5nPXtVdGlsaXR5LnNwYWNpbmd9PlxuICAgICAgICA8UGxhY2Vob2xkZXI+e3dpdGhJY29uQmVmb3JlfTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFJlY29yZEljb24+XG4gICAgKSA6IChcbiAgICAgIDxTdHlsZWRSZWNvcmRJY29uIHNwYWNpbmc9e1V0aWxpdHkuc3BhY2luZ30+XG4gICAgICAgIHt3aXRoSWNvbkJlZm9yZX1cbiAgICAgIDwvU3R5bGVkUmVjb3JkSWNvbj5cbiAgICApXG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IExhYmVsID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICAgICAgPFBsYWNlaG9sZGVyPntsYWJlbH08L1BsYWNlaG9sZGVyPlxuICAgIDwvU3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICApIDogKFxuICAgIDxTdHlsZWRSZWNvcmRMYWJlbFRleHQ+e2xhYmVsfTwvU3R5bGVkUmVjb3JkTGFiZWxUZXh0PlxuICApO1xuXG4gIGNvbnN0IFZhbHVlID0gSXNTa2VsZXRvbiA/IChcbiAgICA8U3R5bGVkUmVjb3JkVmFsdWUgdGhlbWU9e1RoZW1lVmFsdWV9PlxuICAgICAgPFBsYWNlaG9sZGVyPnt2YWx1ZX08L1BsYWNlaG9sZGVyPlxuICAgIDwvU3R5bGVkUmVjb3JkVmFsdWU+XG4gICkgOiAoXG4gICAgPFN0eWxlZFJlY29yZFZhbHVlIHRoZW1lPXtUaGVtZVZhbHVlfT57dmFsdWV9PC9TdHlsZWRSZWNvcmRWYWx1ZT5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRSZWNvcmQgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxHcmlkIGRpcmVjdGlvbj17XCJyb3dcIn0gc21CcmVha3BvaW50PXsyODB9IGdhcD17U3BhY2luZy5TMTV9PlxuICAgICAgICA8R3JpZC5JdGVtIGluaXRpYWw9ezEyfSBzbT17XCJhdXRvXCJ9PlxuICAgICAgICAgIDxTdHlsZWRSZWNvcmRMYWJlbCB0aGVtZT17VGhlbWVMYWJlbH0+XG4gICAgICAgICAgICB7SWNvbn1cbiAgICAgICAgICAgIHtMYWJlbH1cbiAgICAgICAgICA8L1N0eWxlZFJlY29yZExhYmVsPlxuICAgICAgICA8L0dyaWQuSXRlbT5cbiAgICAgICAgPEdyaWQuSXRlbSBpbml0aWFsPXsxMn0gc209e1wiYXV0b1wifT5cbiAgICAgICAgICB7VmFsdWV9XG4gICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgPC9HcmlkPlxuICAgIDwvU3R5bGVkUmVjb3JkPlxuICApO1xufTtcbiIsImltcG9ydCB7IElSZWNvcmQgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQgeyBSZWNvcmQgYXMgQmFzZVJlY29yZCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9jb21wb25lbnRzL3JlY29yZFwiO1xuXG5leHBvcnQgY29uc3QgUmVjb3JkID0gKHsgbGFiZWwsIHZhbHVlLCB3aXRoSWNvbkJlZm9yZSB9OiBJUmVjb3JkKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEJhc2VSZWNvcmQgbGFiZWw9e2xhYmVsfSB2YWx1ZT17dmFsdWV9IHdpdGhJY29uQmVmb3JlPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSVJlY29yZCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFNrZWxldG9uU3RhdHVzLFxuICBTdHlsZWRTdGF0dXMsXG59IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgSVN0YXR1c0NvbXBhY3RCYXNlIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlU3RhdHVzQ29tcGFjdCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzXCI7XG5pbXBvcnQgeyBTdGF0dXNDdHggfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNDb21wYWN0ID0gKHsgY2hpbGRyZW4gfTogSVN0YXR1c0NvbXBhY3RCYXNlKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KFN0YXR1c0N0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBUaGVtZSA9IHVzZVN0YXR1c0NvbXBhY3QoQ29tcG9uZW50Q29udGV4dCwgSXNTa2VsZXRvbik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uU3RhdHVzIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxQbGFjZWhvbGRlcj57Y2hpbGRyZW59PC9QbGFjZWhvbGRlcj5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25TdGF0dXM+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiA8U3R5bGVkU3RhdHVzIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkU3RhdHVzPjtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVN0YXR1c0xhYmVsVGV4dFRoZW1lLFxuICBJU3RhdHVzTGFiZWxUaGVtZSxcbiAgSVN0YXR1c1RoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXMgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDhweDtcbiAgaGVpZ2h0OiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXMgPSBzdHlsZWQoU3R5bGVkU3RhdHVzKTx7XG4gIHRoZW1lOiBJU3RhdHVzVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJU3RhdHVzTGFiZWxUaGVtZSB9PmBcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMYWJlbEljb24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNMYWJlbFRoZW1lIH0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICB3aWR0aDogMzRweDtcbiAgaGVpZ2h0OiAzNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMYWJlbFRleHQgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElTdGF0dXNMYWJlbFRleHRUaGVtZTtcbn0+YFxuICBwYWRkaW5nOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCA9IHN0eWxlZChTdHlsZWRTdGF0dXNMYWJlbCk8e1xuICB0aGVtZTogSVN0YXR1c0xhYmVsVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IElTdGF0dXNDb21wYWN0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBTdGF0dXNDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0dXNDb21wYWN0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgU3RhdHVzQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElTdGF0dXNDb21wYWN0VGhlbWUgPT4ge1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFNlbmRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3NlbmRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFByb2Nlc3NpbmdTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb2Nlc3NpbmdfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMud2FybmluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUHJvcG9zYWxTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3Byb3Bvc2FsX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmluZm8udGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEFjY2VwdGVkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19hY2NlcHRlZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBSZWZ1c2VkU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19yZWZ1c2VkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5TRU5ELFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTZW5kU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuUFJPQ0VTU0lORyxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICAgICAgYmFja2dyb3VuZDogUHJvY2Vzc2luZ1N0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlBST1BPU0FMLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBQcm9wb3NhbFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LkFDQ0VQVEVELFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBBY2NlcHRlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlJFRlVTRUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IFJlZnVzZWRTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImV4cG9ydCBlbnVtIFN0YXR1c0NvbnRleHQge1xuICBTRU5EID0gXCJTRU5EXCIsXG4gIFBST0NFU1NJTkcgPSBcIlBST0NFU1NJTkdcIixcbiAgUFJPUE9TQUwgPSBcIlBST1BPU0FMXCIsXG4gIEFDQ0VQVEVEID0gXCJBQ0NFUFRFRFwiLFxuICBSRUZVU0VEID0gXCJSRUZVU0VEXCIsXG59XG4iLCJpbXBvcnQgeyBTdGF0dXNDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgU3RhdHVzQ3R4RGVmYXVsdDogU3RhdHVzQ29udGV4dCA9IFN0YXR1c0NvbnRleHQuU0VORDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFN0YXR1c0N0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgU3RhdHVzQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KFN0YXR1c0N0eERlZmF1bHQpO1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCxcbiAgU3R5bGVkU3RhdHVzTGFiZWwsXG4gIFN0eWxlZFN0YXR1c0xhYmVsSWNvbixcbiAgU3R5bGVkU3RhdHVzTGFiZWxUZXh0LFxufSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnN0eWxlXCI7XG5pbXBvcnQgeyBJU3RhdHVzQmFzZSB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgdXNlU3RhdHVzIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2hvb2tzL3VzZS1zdGF0dXMtbGFiZWxcIjtcbmltcG9ydCB7IHVzZVN0YXR1c0ljb24gfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1pY29uXCI7XG5pbXBvcnQgeyB1c2VTdGF0dXNUZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2hvb2tzL3VzZS1zdGF0dXMtdGV4dFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgU3RhdHVzQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3N0YXR1c1wiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IFN0YXR1c0N0eCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgU3RhdHVzID0gKHsgbGFiZWwgfTogSVN0YXR1c0Jhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoU3RhdHVzQ3R4KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IFRoZW1lID0gdXNlU3RhdHVzKENvbXBvbmVudENvbnRleHQsIElzU2tlbGV0b24pO1xuICBjb25zdCBJY29uVGhlbWUgPSB1c2VTdGF0dXNJY29uKENvbXBvbmVudENvbnRleHQsIElzU2tlbGV0b24pO1xuICBjb25zdCBUZXh0VGhlbWUgPSB1c2VTdGF0dXNUZXh0KENvbXBvbmVudENvbnRleHQsIElzU2tlbGV0b24pO1xuXG4gIGNvbnN0IGljb24gPSBtYXRjaChDb21wb25lbnRDb250ZXh0LCBbXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5TRU5ELFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17SWNvblR5cGUuUkVET31cbiAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIlwiXG4gICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9XG4gICAgICAvPixcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuUFJPQ0VTU0lORyxcbiAgICAgIDxJY29uXG4gICAgICAgIHR5cGU9e0ljb25UeXBlLklOX1BST0NFU1N9XG4gICAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJcIlxuICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlBST1BPU0FMLFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17SWNvblR5cGUuQ09NTUVOVH1cbiAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIlwiXG4gICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9XG4gICAgICAvPixcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuQUNDRVBURUQsXG4gICAgICA8SWNvblxuICAgICAgICB0eXBlPXtJY29uVHlwZS5SRURPfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5SRUZVU0VELFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17SWNvblR5cGUuUkVET31cbiAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIlwiXG4gICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9XG4gICAgICAvPixcbiAgICBdLFxuICBdKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkU3RhdHVzTGFiZWxJY29uIHRoZW1lPXtJY29uVGhlbWV9PlxuICAgICAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICAgIHR5cGU9e0ljb25UeXBlLlJFRE99XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJcIlxuICAgICAgICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5ESVNBQkxFRH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICAgICAgPC9TdHlsZWRTdGF0dXNMYWJlbEljb24+XG4gICAgICAgIDxTdHlsZWRTdGF0dXNMYWJlbFRleHQgdGhlbWU9e1RleHRUaGVtZX0+XG4gICAgICAgICAgPFBsYWNlaG9sZGVyPntsYWJlbH08L1BsYWNlaG9sZGVyPlxuICAgICAgICA8L1N0eWxlZFN0YXR1c0xhYmVsVGV4dD5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbD5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3RhdHVzTGFiZWwgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRTdGF0dXNMYWJlbEljb24gdGhlbWU9e0ljb25UaGVtZX0+e2ljb259PC9TdHlsZWRTdGF0dXNMYWJlbEljb24+XG4gICAgICA8U3R5bGVkU3RhdHVzTGFiZWxUZXh0IHRoZW1lPXtUZXh0VGhlbWV9PntsYWJlbH08L1N0eWxlZFN0YXR1c0xhYmVsVGV4dD5cbiAgICA8L1N0eWxlZFN0YXR1c0xhYmVsPlxuICApO1xufTtcbiIsImltcG9ydCB7IFN0YXR1c0NvbnRleHQgfSBmcm9tIFwiLi4vc3RhdHVzLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgSVN0YXR1c1RoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0dXMgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBTdGF0dXNDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSVN0YXR1c1RoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIHJldHVybiB7XG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgYmFja2dyb3VuZDogaXNTa2VsZXRvbiA/IFNrZWxldG9uQmcgOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICB9O1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IElTdGF0dXNJY29uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyBTdGF0dXNDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0dXNJY29uID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgU3RhdHVzQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElTdGF0dXNJY29uVGhlbWUgPT4ge1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgU2VuZFN0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfc2VuZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUHJvY2Vzc2luZ1N0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfcHJvY2Vzc2luZ19jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy53YXJuaW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBQcm9wb3NhbFN0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfcHJvcG9zYWxfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuaW5mby50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQWNjZXB0ZWRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX2FjY2VwdGVkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFJlZnVzZWRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3JlZnVzZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICB9KTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICByYWRpdXM6IFJhZGl1cy5tZCArIFwiIDAgMCBcIiArIFJhZGl1cy5tZCxcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5TRU5ELFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5tZCArIFwiIDAgMCBcIiArIFJhZGl1cy5tZCxcbiAgICAgICAgYmFja2dyb3VuZDogU2VuZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlBST0NFU1NJTkcsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBQcm9jZXNzaW5nU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuUFJPUE9TQUwsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBQcm9wb3NhbFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LkFDQ0VQVEVELFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5tZCArIFwiIDAgMCBcIiArIFJhZGl1cy5tZCxcbiAgICAgICAgYmFja2dyb3VuZDogQWNjZXB0ZWRTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5SRUZVU0VELFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5tZCArIFwiIDAgMCBcIiArIFJhZGl1cy5tZCxcbiAgICAgICAgYmFja2dyb3VuZDogUmVmdXNlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJU3RhdHVzVGV4dFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgU3RhdHVzQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3N0YXR1c1wiO1xuXG5leHBvcnQgY29uc3QgdXNlU3RhdHVzVGV4dCA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIFN0YXR1c0NvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJU3RhdHVzVGV4dFRoZW1lID0+IHtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIHJldHVybiB7XG4gICAgcGFkZGluZzogXCIwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiNFwiXSxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBJU3RhdHVzLCBJU3RhdHVzQ29tcGFjdCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcbmltcG9ydCB7IFN0YXR1c0NvbXBhY3QgYXMgQmFzZVN0YXR1c0NvbXBhY3QgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvY29tcG9uZW50cy9zdGF0dXNfY29tcGFjdFwiO1xuaW1wb3J0IHsgU3RhdHVzIGFzIEJhc2VTdGF0dXMgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvY29tcG9uZW50cy9zdGF0dXNcIjtcbmltcG9ydCB7IFN0YXR1c0N0eCwgU3RhdHVzQ3R4RGVmYXVsdCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuY29udGV4dFwiO1xuaW1wb3J0IHsgU3RhdHVzQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0NvbXBhY3QgPSAoeyBjb250ZXh0IH06IElTdGF0dXNDb21wYWN0KSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IFN0YXR1c0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8U3RhdHVzQ3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgIDxCYXNlU3RhdHVzQ29tcGFjdCAvPlxuICAgIDwvU3RhdHVzQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IFN0YXR1cyA9ICh7IGNvbnRleHQsIGxhYmVsIH06IElTdGF0dXMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogU3RhdHVzQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxTdGF0dXNDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VTdGF0dXMgbGFiZWw9e2xhYmVsfSAvPlxuICAgIDwvU3RhdHVzQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHsgU3RhdHVzQ29udGV4dCB9O1xuZXhwb3J0IHR5cGUgeyBJU3RhdHVzLCBJU3RhdHVzQ29tcGFjdCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQge1xuICBJVGVybURlc2NyaXB0aW9uVGhlbWUsXG4gIElUZXJtRnJhbWVUaGVtZSxcbiAgSVRlcm1MYWJlbFRoZW1lLFxuICBJVGVybVRoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm0gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElUZXJtVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgZGlzcGxheTogZmxleDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtRnJhbWUgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IHByb3AgIT09IFwidGhlbWVcIixcbn0pPHsgdGhlbWU6IElUZXJtRnJhbWVUaGVtZSB9PmBcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICAvKiBZb3VyIHN0eWxpbmcgaGVyZSBpZiBhbnkgKi9cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtTGFiZWwgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IHByb3AgIT09IFwidGhlbWVcIixcbn0pPHsgdGhlbWU6IElUZXJtTGFiZWxUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1EZXNjcmlwdGlvbiA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVRlcm1EZXNjcmlwdGlvblRoZW1lO1xufT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uVGVybURlc2NyaXB0aW9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJVGVybURlc2NyaXB0aW9uVGhlbWU7XG59PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25UZXJtID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJVGVybVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJVGVybVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VUZXJtID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJVGVybVRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIHJldHVybiB7XG4gICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBJVGVybUZyYW1lVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lVXRpbGl0eSB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybUZyYW1lID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJVGVybUZyYW1lVGhlbWUgPT4ge1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG4gIGNvbnN0IE1hcmdpbiA9IFwiMCBcIiArIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0gKyBcIiAwIDBcIjtcblxuICByZXR1cm4ge1xuICAgIG1hcmdpbjogTWFyZ2luLFxuICB9O1xufTtcbiIsImltcG9ydCB7IElUZXJtTGFiZWxUaGVtZSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VUZXJtTGFiZWwgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElUZXJtTGFiZWxUaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIGNvbnN0IE1hcmdpbiA9XG4gICAgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArXG4gICAgXCIgXCIgK1xuICAgIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0gK1xuICAgIFwiIFwiICtcbiAgICBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICtcbiAgICBcIiBcIiArXG4gICAgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXTtcblxuICByZXR1cm4ge1xuICAgIG1hcmdpbjogTWFyZ2luLFxuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gIH07XG59O1xuIiwiaW1wb3J0IHsgSVRlcm1EZXNjcmlwdGlvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVRlcm1EZXNjcmlwdGlvbiA9IChcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElUZXJtRGVzY3JpcHRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuICBjb25zdCBNYXJnaW4gPSBcIjAgMCAwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXTtcblxuICByZXR1cm4ge1xuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICAgIG1hcmdpbjogTWFyZ2luLFxuICB9O1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElUZXJtQmFzZSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkU2tlbGV0b25UZXJtLFxuICBTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbixcbiAgU3R5bGVkVGVybSxcbiAgU3R5bGVkVGVybUNvbnRlbnQsXG4gIFN0eWxlZFRlcm1EZXNjcmlwdGlvbixcbiAgU3R5bGVkVGVybUZyYW1lLFxuICBTdHlsZWRUZXJtTGFiZWwsXG59IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS5zdHlsZVwiO1xuXG5pbXBvcnQgeyB1c2VUZXJtIH0gZnJvbSBcIkAvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybVwiO1xuaW1wb3J0IHsgdXNlVGVybUZyYW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS1mcmFtZVwiO1xuaW1wb3J0IHsgdXNlVGVybUxhYmVsIH0gZnJvbSBcIkAvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS1sYWJlbFwiO1xuaW1wb3J0IHsgdXNlVGVybURlc2NyaXB0aW9uIH0gZnJvbSBcIkAvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS1kZXNjcmlwdGlvblwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFRlcm0gPSAoeyBsYWJlbCwgZGVzY3JpcHRpb24sIGZyYW1lIH06IElUZXJtQmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWUgPSB1c2VUZXJtKElzU2tlbGV0b24pO1xuICBjb25zdCBUaGVtZUZyYW1lID0gdXNlVGVybUZyYW1lKElzU2tlbGV0b24pO1xuICBjb25zdCBUaGVtZUxhYmVsID0gdXNlVGVybUxhYmVsKElzU2tlbGV0b24pO1xuICBjb25zdCBUaGVtZURlc2NyaXB0aW9uID0gdXNlVGVybURlc2NyaXB0aW9uKElzU2tlbGV0b24pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblRlcm0gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFRlcm1GcmFtZSB0aGVtZT17VGhlbWVGcmFtZX0+e2ZyYW1lfTwvU3R5bGVkVGVybUZyYW1lPlxuICAgICAgICA8U3R5bGVkVGVybUNvbnRlbnQ+XG4gICAgICAgICAgPFN0eWxlZFRlcm1MYWJlbCB0aGVtZT17VGhlbWVMYWJlbH0+e2xhYmVsfTwvU3R5bGVkVGVybUxhYmVsPlxuICAgICAgICAgIDxTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbiB0aGVtZT17VGhlbWVEZXNjcmlwdGlvbn0+XG4gICAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgICAgPC9TdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbj5cbiAgICAgICAgPC9TdHlsZWRUZXJtQ29udGVudD5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25UZXJtPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRUZXJtIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkVGVybUZyYW1lIHRoZW1lPXtUaGVtZUZyYW1lfT57ZnJhbWV9PC9TdHlsZWRUZXJtRnJhbWU+XG4gICAgICA8U3R5bGVkVGVybUNvbnRlbnQ+XG4gICAgICAgIDxTdHlsZWRUZXJtTGFiZWwgdGhlbWU9e1RoZW1lTGFiZWx9PntsYWJlbH08L1N0eWxlZFRlcm1MYWJlbD5cbiAgICAgICAgPFN0eWxlZFRlcm1EZXNjcmlwdGlvbiB0aGVtZT17VGhlbWVEZXNjcmlwdGlvbn0+XG4gICAgICAgICAge2Rlc2NyaXB0aW9ufVxuICAgICAgICA8L1N0eWxlZFRlcm1EZXNjcmlwdGlvbj5cbiAgICAgIDwvU3R5bGVkVGVybUNvbnRlbnQ+XG4gICAgPC9TdHlsZWRUZXJtPlxuICApO1xufTtcbiIsImltcG9ydCB7IElUZXJtIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyBUZXJtIGFzIEJhc2VUZXJtIH0gZnJvbSBcIkAvYXRvbXMvdGVybS9jb21wb25lbnRzL3Rlcm1cIjtcblxuZXhwb3J0IGNvbnN0IFRlcm0gPSAoeyBsYWJlbCwgZGVzY3JpcHRpb24sIGZyYW1lIH06IElUZXJtKSA9PiB7XG4gIHJldHVybiA8QmFzZVRlcm0gbGFiZWw9e2xhYmVsfSBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IGZyYW1lPXtmcmFtZX0gLz47XG59O1xuXG5leHBvcnQgdHlwZSB7IElUZXJtIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWwgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGZpbHRlcjogZHJvcC1zaGFkb3coMCAxMHB4IDhweCByZ2IoMCAwIDAgLyAwLjA0KSlcbiAgICBkcm9wLXNoYWRvdygwIDRweCAzcHggcmdiKDAgMCAwIC8gMC4xKSk7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsSW5uZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYmFja2dyb3VuZDogI2ViNzMyMjtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgei1pbmRleDogMTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsT3V0ZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgYmFja2dyb3VuZDogcmdiYSgyMzUsIDExNSwgMzQsIDAuMjIpO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgei1pbmRleDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBhbmltYXRpb246IHBpbmcgMXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxXcmFwcGVyID0gc3R5bGVkLnNwYW48e30+YFxuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbExhYmVsID0gc3R5bGVkLnNwYW48e1xuICBmb250OiBzdHJpbmc7XG59PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IGNhbGMoMTAwJSArIDVweCk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZWI3MzIyO1xuICBtaW4td2lkdGg6IDc1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbjogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjEpLFxuICAgIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy5mb250fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbExhYmVsQ29udGVudCA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgcGFkZGluZzogNXB4O1xuICBmb250LXNpemU6IDE0cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxMYWJlbEFycm93ID0gc3R5bGVkLnNwYW48e30+YFxuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgI2ViNzMyMjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC01cHg7XG4gIGxlZnQ6IGNhbGMoNTAlIC0gOHB4KTtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogOHB4IHNvbGlkICNlYjczMjI7XG4gICAgYm9yZGVyLWxlZnQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsU2hhZG93ID0gc3R5bGVkLnNwYW48e30+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogM3B4O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTBweDtcbiAgYmFja2dyb3VuZDogIzg2ODY4NjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAtMTtcbiAgZmlsdGVyOiBibHVyKDRweCk7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVRlcm1pbmFsQmFzZSB9IGZyb20gXCJAL2F0b21zL3Rlcm1pbmFsL3Rlcm1pbmFsLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRUZXJtaW5hbCxcbiAgU3R5bGVkVGVybWluYWxJbm5lcixcbiAgU3R5bGVkVGVybWluYWxPdXRlcixcbiAgU3R5bGVkVGVybWluYWxTaGFkb3csXG4gIFN0eWxlZFRlcm1pbmFsV3JhcHBlcixcbn0gZnJvbSBcIkAvYXRvbXMvdGVybWluYWwvdGVybWluYWwuc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IFRlcm1pbmFsID0gKHt9OiBJVGVybWluYWxCYXNlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFRlcm1pbmFsV3JhcHBlcj5cbiAgICAgIDxTdHlsZWRUZXJtaW5hbD5cbiAgICAgICAgPFN0eWxlZFRlcm1pbmFsSW5uZXIgLz5cbiAgICAgICAgPFN0eWxlZFRlcm1pbmFsT3V0ZXIgLz5cbiAgICAgIDwvU3R5bGVkVGVybWluYWw+XG4gICAgICA8U3R5bGVkVGVybWluYWxTaGFkb3c+PC9TdHlsZWRUZXJtaW5hbFNoYWRvdz5cbiAgICA8L1N0eWxlZFRlcm1pbmFsV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBUZXJtaW5hbCBhcyBCYXNlVGVybWluYWwgfSBmcm9tIFwiLi9jb21wb25lbnRzL3Rlcm1pbmFsXCI7XG5pbXBvcnQgeyBJVGVybWluYWwgfSBmcm9tIFwiQC9hdG9tcy90ZXJtaW5hbC90ZXJtaW5hbC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgVGVybWluYWwgPSAoe306IElUZXJtaW5hbCkgPT4ge1xuICByZXR1cm4gPEJhc2VUZXJtaW5hbCAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSVRlcm1pbmFsIH0gZnJvbSBcIkAvYXRvbXMvdGVybWluYWwvdGVybWluYWwudHlwZXNcIjtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElZZXNOb1RoZW1lLCBZZXNOb1RoZW1lYWJsZVByb3BzIH0gZnJvbSBcIi4uL3llc19uby50eXBlc1wiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlWWVzTm9UaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UteWVzLW5vXCI7XG5pbXBvcnQge1xuICBTdHlsZWRWaXN1YWwsXG4gIFN0eWxlZFZpc3VhbENvbnRhaW5lcixcbiAgU3R5bGVkWWVzTm8sXG4gIFN0eWxlZFllc05vQ29udGFpbmVyLFxuICBTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uLFxuICBTdHlsZWRZZXNOb0xhYmVsLFxuICBTdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24sXG4gIFN0eWxlZFllc05vVmlzdWFsU2tlbGV0b24sXG4gIFN0eWxlZFllc05vV3JhcHBlcixcbn0gZnJvbSBcIi4uL3llc19uby5zdHlsZVwiO1xuaW1wb3J0IHsgRnJhbWUgfSBmcm9tIFwiLi4vLi4vZnJhbWVcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlU2l6ZSwgRmlndXJlVHlwZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IFllc05vQ3R4IH0gZnJvbSBcIkAvYXRvbXMveWVzX25vL3llc19uby5jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuaW1wb3J0IHsgWWVzTm9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMveWVzX25vXCI7XG5cbmV4cG9ydCBjb25zdCBZZXNObyA9ICh7XG4gIG9uQ2hhbmdlLFxuICBhcmlhWWVzTGFiZWwsXG4gIGFyaWFOb0xhYmVsLFxuICB5ZXNMYWJlbCxcbiAgbm9MYWJlbCxcbiAgbmFtZSxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBZZXNOb1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KFllc05vQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IFRoZW1lOiBJWWVzTm9UaGVtZSA9IHVzZVllc05vVGhlbWUoQ29tcG9uZW50Q29udGV4dCwgaXNTa2VsZXRvbik7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBDb21wb25lbnRDb250ZXh0ID09PSBZZXNOb0NvbnRleHQuRElTQUJMRUQ7XG4gIGNvbnN0IFt5ZXNPck5vLCBzZXRZZXNPck5vXSA9IHVzZVN0YXRlPGJvb2xlYW4gfCB1bmRlZmluZWQ+KGRlZmF1bHRDaGVja2VkKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChvbkNoYW5nZSkge1xuICAgICAgb25DaGFuZ2UoeWVzT3JObyBhcyBib29sZWFuKTtcbiAgICB9XG4gIH0sIFt5ZXNPck5vXSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFllc05vV3JhcHBlciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkWWVzTm9Db250YWluZXJTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxTdHlsZWRZZXNOb1Zpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgICA8U3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICB7eWVzTGFiZWx9XG4gICAgICAgICAgPC9TdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24+XG4gICAgICAgIDwvU3R5bGVkWWVzTm9Db250YWluZXJTa2VsZXRvbj5cbiAgICAgICAgPFN0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8U3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9IC8+XG4gICAgICAgICAgPFN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAge25vTGFiZWx9XG4gICAgICAgICAgPC9TdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24+XG4gICAgICAgIDwvU3R5bGVkWWVzTm9Db250YWluZXJTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkWWVzTm9XcmFwcGVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRZZXNOb1dyYXBwZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRZZXNOb0NvbnRhaW5lciAkaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFllc05vXG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFZZXNMYWJlbH1cbiAgICAgICAgICB2YWx1ZT17MX1cbiAgICAgICAgICBjaGVja2VkPXt5ZXNPck5vID09PSB0cnVlfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBzZXRZZXNPck5vKHRydWUpfVxuICAgICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZFZpc3VhbENvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxGcmFtZVxuICAgICAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3llc0xhYmVsfVxuICAgICAgICAgICAgICAgIHNpemU9e0ZpZ3VyZVNpemUuU01BTEx9XG4gICAgICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5ZRVN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkVmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICB0eXBlPXtJY29uVHlwZS5DSEVDS31cbiAgICAgICAgICAgICAgc2l6ZT17SWNvblNpemUuTUVESVVNfVxuICAgICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXt5ZXNMYWJlbH1cbiAgICAgICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuTElHSFR9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvU3R5bGVkVmlzdWFsPlxuICAgICAgICA8L1N0eWxlZFZpc3VhbENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZFllc05vTGFiZWwgdGhlbWU9e1RoZW1lfT57eWVzTGFiZWx9PC9TdHlsZWRZZXNOb0xhYmVsPlxuICAgICAgPC9TdHlsZWRZZXNOb0NvbnRhaW5lcj5cbiAgICAgIDxTdHlsZWRZZXNOb0NvbnRhaW5lciAkaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFllc05vXG4gICAgICAgICAgZGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFOb0xhYmVsfVxuICAgICAgICAgIHZhbHVlPXswfVxuICAgICAgICAgIG9uQ2hhbmdlPXsoKSA9PiBzZXRZZXNPck5vKGZhbHNlKX1cbiAgICAgICAgICBjaGVja2VkPXt5ZXNPck5vID09PSBmYWxzZX1cbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRWaXN1YWxDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8RnJhbWVcbiAgICAgICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgICAgIGFyb3VuZD17XG4gICAgICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtub0xhYmVsfVxuICAgICAgICAgICAgICAgIHNpemU9e0ZpZ3VyZVNpemUuU01BTEx9XG4gICAgICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5OT31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRWaXN1YWwgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkNIRUNLfVxuICAgICAgICAgICAgICBzaXplPXtJY29uU2l6ZS5NRURJVU19XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3llc0xhYmVsfVxuICAgICAgICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5MSUdIVH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRWaXN1YWw+XG4gICAgICAgIDwvU3R5bGVkVmlzdWFsQ29udGFpbmVyPlxuICAgICAgICA8U3R5bGVkWWVzTm9MYWJlbCB0aGVtZT17VGhlbWV9Pntub0xhYmVsfTwvU3R5bGVkWWVzTm9MYWJlbD5cbiAgICAgIDwvU3R5bGVkWWVzTm9Db250YWluZXI+XG4gICAgPC9TdHlsZWRZZXNOb1dyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHtcbiAgdXNlVGhlbWVDb2xvcixcbiAgdXNlVGhlbWVGb250cyxcbiAgdXNlVGhlbWVSYWRpdXMsXG4gIHVzZVRoZW1lVXRpbGl0eSxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IFllc05vQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3llc19uby95ZXNfbm8uZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IElZZXNOb1RoZW1lIH0gZnJvbSBcIi4uL3llc19uby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlWWVzTm9UaGVtZSA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIFllc05vQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElZZXNOb1RoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgdXRpbCA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgZXJyb3JCb3JkZXJDb2xvciA9IENvbG9ycy5kYW5nZXIudGludF81MDA7XG5cbiAgY29uc3QgU3RhbmRhcmQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gICAgZ2FwOiB1dGlsLnNwYWNpbmdbMl0sXG4gIH07XG5cbiAgY29uc3QgRXJyb3IgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBnYXA6IHV0aWwuc3BhY2luZ1syXSxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gICAgZ2FwOiB1dGlsLnNwYWNpbmdbMl0sXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICAgIGdhcDogdXRpbC5zcGFjaW5nWzJdLFxuICB9O1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIFNrZWxldG9uO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbWWVzTm9Db250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW1llc05vQ29udGV4dC5FUlJPUiwgRXJyb3JdLFxuICAgIFtZZXNOb0NvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgXSk7XG59O1xuIiwiZXhwb3J0IGVudW0gWWVzTm9Db250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG4gIERJU0FCTEVEID0gXCJESVNBQkxFRFwiLFxuICBFUlJPUiA9IFwiRVJST1JcIixcbn1cbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJWWVzTm9UaGVtZSB9IGZyb20gXCIuL3llc19uby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm8gPSBzdHlsZWQuaW5wdXQuYXR0cnMoeyB0eXBlOiBcIlJhZGlvXCIgfSk8e1xuICB0aGVtZTogSVllc05vVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9Db250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICAkaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuJGlzRGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICBgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vTGFiZWwgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYmFja2dyb3VuZH07XG4gIGluc2V0OiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb1dyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElZZXNOb1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmdhcH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVllc05vVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vTGFiZWxTa2VsZXRvbiA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElZZXNOb1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBZZXNOb0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy95ZXNfbm8veWVzX25vLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBZZXNOb0N0eERlZmF1bHQ6IFllc05vQ29udGV4dCA9IFllc05vQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFllc05vQ3R4OiBSZWFjdC5Db250ZXh0PENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChZZXNOb0N0eERlZmF1bHQpO1xuIiwiaW1wb3J0IHsgWWVzTm8gYXMgWWVzTm9Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3llc19ub1wiO1xuaW1wb3J0IHsgWWVzTm9DdHgsIFllc05vQ3R4RGVmYXVsdCB9IGZyb20gXCJAL2F0b21zL3llc19uby95ZXNfbm8uY29udGV4dFwiO1xuaW1wb3J0IHsgWWVzTm9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMveWVzX25vL3llc19uby5lbnVtc1wiO1xuaW1wb3J0IHsgSVllc05vIH0gZnJvbSBcIkAvYXRvbXMveWVzX25vL3llc19uby50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgWWVzTm8gPSAoe1xuICBjb250ZXh0LFxuICBvbkNoYW5nZSxcbiAgYXJpYVllc0xhYmVsLFxuICBhcmlhTm9MYWJlbCxcbiAgeWVzTGFiZWwsXG4gIG5vTGFiZWwsXG4gIG5hbWUsXG4gIGRlZmF1bHRDaGVja2VkLFxufTogSVllc05vKSA9PiB7XG4gIGNvbnN0IFllc05vQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogWWVzTm9DdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPFllc05vQ3R4LlByb3ZpZGVyIHZhbHVlPXtZZXNOb0NvbnRleHR9PlxuICAgICAgPFllc05vQ29tcG9uZW50XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIHllc0xhYmVsPXt5ZXNMYWJlbH1cbiAgICAgICAgbm9MYWJlbD17bm9MYWJlbH1cbiAgICAgICAgYXJpYVllc0xhYmVsPXthcmlhWWVzTGFiZWx9XG4gICAgICAgIGFyaWFOb0xhYmVsPXthcmlhTm9MYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAvPlxuICAgIDwvWWVzTm9DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgeyBZZXNOb0NvbnRleHQgfTtcbmV4cG9ydCB0eXBlIHsgSVllc05vIH0gZnJvbSBcIkAvYXRvbXMveWVzX25vL3llc19uby50eXBlc1wiO1xuIiwiZXhwb3J0IGVudW0gQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0IHtcbiAgT1BFTiA9IFwiT1BFTlwiLFxuICBDTE9TRUQgPSBcIkNMT1NFRFwiLFxufVxuIiwiaW1wb3J0IHsgQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uZW51bXNcIjtcbmltcG9ydCB7IElDb21wYWN0TmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29tcGFjdE5hdmlnYXRpb24gYXMgQ29tcGFjdE5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvY29tcGFjdF9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQge1xuICBDb21wYWN0TmF2aWdhdGlvbkN0eCxcbiAgQ29tcGFjdE5hdmlnYXRpb25DdHhEZWZhdWx0LFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBDb21wYWN0TmF2aWdhdGlvbiA9ICh7XG4gIGNoaWxkcmVuLFxuICBjb250ZXh0LFxuICB0b2dnbGVMYWJlbCxcbn06IElDb21wYWN0TmF2aWdhdGlvbikgPT4ge1xuICBjb25zdCBEZWZhdWx0Q29tcGFjdE5hdmlnYXRpb25Db250ZXh0ID0gY29udGV4dFxuICAgID8gY29udGV4dFxuICAgIDogQ29tcGFjdE5hdmlnYXRpb25DdHhEZWZhdWx0O1xuICBjb25zdCBbTmF2Q29udGV4dCwgc2V0TmF2Q29udGV4dF0gPSB1c2VTdGF0ZShEZWZhdWx0Q29tcGFjdE5hdmlnYXRpb25Db250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxDb21wYWN0TmF2aWdhdGlvbkN0eC5Qcm92aWRlciB2YWx1ZT17eyBOYXZDb250ZXh0LCBzZXROYXZDb250ZXh0IH19PlxuICAgICAgPENvbXBhY3ROYXZpZ2F0aW9uQ29tcG9uZW50IHRvZ2dsZUxhYmVsPXt0b2dnbGVMYWJlbH0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvQ29tcGFjdE5hdmlnYXRpb25Db21wb25lbnQ+XG4gICAgPC9Db21wYWN0TmF2aWdhdGlvbkN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB7IENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dCB9O1xuZXhwb3J0IHR5cGUgeyBJQ29tcGFjdE5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi50eXBlc1wiO1xuIiwiaW1wb3J0IHsgSUNvbXBhY3ROYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJQ29tcGFjdE5hdmlnYXRpb25UaGVtZTtcbn0+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb21wYWN0TmF2aWdhdGlvblNrZWxldG9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJQ29tcGFjdE5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uVG9nZ2xlID0gc3R5bGVkLmJ1dHRvbjx7XG4gIHRoZW1lOiBJQ29tcGFjdE5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb21wYWN0TmF2aWdhdGlvbkJvZHkgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElDb21wYWN0TmF2aWdhdGlvblRoZW1lO1xuICAkaXNPcGVuOiBib29sZWFuO1xufT5gYDtcbiIsImltcG9ydCB7IElDb21wYWN0TmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7XG4gIExvb2t1cEFkZGl0aW9uYWxDb2xvcixcbiAgdXNlVGhlbWVDb2xvcixcbiAgdXNlVGhlbWVSYWRpdXMsXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlQ29tcGFjdE5hdmlnYXRpb24gPSAoXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJQ29tcGFjdE5hdmlnYXRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChpc1NrZWxldG9uLCBbXG4gICAgW1xuICAgICAgZmFsc2UsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXMudGludF8yMDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgdHJ1ZSxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uZW51bXNcIjtcbmltcG9ydCB7IFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uVG9nZ2xlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IElDb21wYWN0TmF2aWdhdGlvblRvZ2dsZSB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb21wYWN0TmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vaG9va3MvdXNlLWNvbXBhY3QtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ29tcGFjdE5hdmlnYXRpb25DdHggfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBUb2dnbGUgPSAoeyBsYWJlbCB9OiBJQ29tcGFjdE5hdmlnYXRpb25Ub2dnbGUpID0+IHtcbiAgY29uc3QgeyBOYXZDb250ZXh0LCBzZXROYXZDb250ZXh0IH06IGFueSA9IHVzZUNvbnRleHQoQ29tcGFjdE5hdmlnYXRpb25DdHgpO1xuICBjb25zdCBJc1NrZWxldG9uID0gZmFsc2U7XG4gIGNvbnN0IFRoZW1lID0gdXNlQ29tcGFjdE5hdmlnYXRpb24oSXNTa2VsZXRvbik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gPD48Lz47XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb21wYWN0TmF2aWdhdGlvblRvZ2dsZVxuICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICBzZXROYXZDb250ZXh0KFxuICAgICAgICAgIE5hdkNvbnRleHQgPT09IENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dC5PUEVOXG4gICAgICAgICAgICA/IENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dC5DTE9TRURcbiAgICAgICAgICAgIDogQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0Lk9QRU4sXG4gICAgICAgICk7XG4gICAgICB9fVxuICAgICAgYXJpYS1jb250cm9scz1cIkNvbXBhY3ROYXZpZ2F0aW9uXCJcbiAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIHRpdGxlPXtsYWJlbH1cbiAgICA+XG4gICAgICA8SWNvblxuICAgICAgICB0eXBlPXtJY29uVHlwZS5NRU5VfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtsYWJlbH1cbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRDb21wYWN0TmF2aWdhdGlvblRvZ2dsZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ29tcGFjdE5hdmlnYXRpb25DdHhEZWZhdWx0OiBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQgPVxuICBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQuQ0xPU0VEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgQ29tcGFjdE5hdmlnYXRpb25DdHggPSBjcmVhdGVDb250ZXh0KCk7XG4iLCJpbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQ29tcGFjdE5hdmlnYXRpb24sXG4gIFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uQm9keSxcbiAgU3R5bGVkQ29tcGFjdE5hdmlnYXRpb25Ta2VsZXRvbixcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IElDb21wYWN0TmF2aWdhdGlvbkJhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgVG9nZ2xlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wb25lbnRzL2NvbXBhY3RfbmF2aWdhdGlvbi50b2dnbGVcIjtcbmltcG9ydCB7IHVzZUNvbXBhY3ROYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9ob29rcy91c2UtY29tcGFjdC1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb21wYWN0TmF2aWdhdGlvbkN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLmNvbnRleHRcIjtcbmltcG9ydCB7IENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb25cIjtcblxuZXhwb3J0IGNvbnN0IENvbXBhY3ROYXZpZ2F0aW9uID0gKHtcbiAgY2hpbGRyZW4sXG4gIHRvZ2dsZUxhYmVsLFxufTogSUNvbXBhY3ROYXZpZ2F0aW9uQmFzZSkgPT4ge1xuICBjb25zdCB7IE5hdkNvbnRleHQgfTogYW55ID0gdXNlQ29udGV4dChDb21wYWN0TmF2aWdhdGlvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IE5hdkNvbnRleHQgPT09IENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dC5PUEVOO1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlQ29tcGFjdE5hdmlnYXRpb24oSXNTa2VsZXRvbik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRDb21wYWN0TmF2aWdhdGlvblNrZWxldG9uXG4gICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICA+PC9TdHlsZWRDb21wYWN0TmF2aWdhdGlvblNrZWxldG9uPlxuICAgICAgPC9TdHlsZWRDb21wYWN0TmF2aWdhdGlvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29tcGFjdE5hdmlnYXRpb24gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxUb2dnbGUgbGFiZWw9e3RvZ2dsZUxhYmVsfSAvPlxuICAgICAgPFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uQm9keSB0aGVtZT17VGhlbWV9ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgIDwvU3R5bGVkQ29tcGFjdE5hdmlnYXRpb25Cb2R5PlxuICAgIDwvU3R5bGVkQ29tcGFjdE5hdmlnYXRpb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSURldGFpbHNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMudHlwZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREZXRhaWxzQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRGV0YWlsc1RoZW1lIH0+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREZXRhaWxzSGVhZGVyID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS50aXRsZX07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuXG4gICYgZGl2IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNIZWFkZXJJY29uID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSURldGFpbHNUaGVtZTtcbiAgJGlzT3BlbjogYm9vbGVhbjtcbn0+YFxuICByb3RhdGU6ICR7KHByb3BzKSA9PiAocHJvcHMuJGlzT3BlbiA/IFwiMGRlZ1wiIDogXCItOTBkZWdcIil9O1xuICB0cmFuc2l0aW9uOiByb3RhdGUgMC4zcztcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREZXRhaWxzQWN0aW9ucyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRGV0YWlsc0NvbnRlbnQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElEZXRhaWxzVGhlbWUgfT5gXG4gIHBhZGRpbmctdG9wOiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25UaXRsZSA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElEZXRhaWxzVGhlbWUgfT5gXG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgSURldGFpbHNUaGVtZSB9IGZyb20gXCIuLi9kZXRhaWxzLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VEZXRhaWxzVGhlbWUgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElEZXRhaWxzVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgU3RhbmRhcmQgPSB7XG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB0aXRsZTogRm9udHMucHJpbWFyeS5tZC5ib2xkLFxuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gICAgdGl0bGU6IEZvbnRzLmFjY2VudC5sZy5ib2xkLFxuICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgcmFkaXVzOiByYWRpdXMubWQsXG4gICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICB9O1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIFNrZWxldG9uO1xuICB9XG5cbiAgcmV0dXJuIFN0YW5kYXJkO1xufTtcbiIsImltcG9ydCB7IFN0eWxlZERldGFpbHNDb250YWluZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnN0eWxlXCI7XG5pbXBvcnQge1xuICBEZXRhaWxzVGhlbWVhYmxlUHJvcHMsXG4gIElEZXRhaWxzVGhlbWUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMudHlwZXNcIjtcbmltcG9ydCB7IHVzZURldGFpbHNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2hvb2tzL3VzZS1kZXRhaWxzXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRGV0YWlscyA9ICh7IGNoaWxkcmVuIH06IERldGFpbHNUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJRGV0YWlsc1RoZW1lID0gdXNlRGV0YWlsc1RoZW1lKGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERldGFpbHNDb250YWluZXIgdGhlbWU9e1RoZW1lfT57Y2hpbGRyZW59PC9TdHlsZWREZXRhaWxzQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7XG4gIFN0eWxlZERldGFpbHNBY3Rpb25zLFxuICBTdHlsZWREZXRhaWxzSGVhZGVyLFxuICBTdHlsZWREZXRhaWxzSGVhZGVySWNvbixcbiAgU3R5bGVkU2tlbGV0b25UaXRsZSxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy5zdHlsZVwiO1xuaW1wb3J0IHtcbiAgRGV0YWlsc0hlYWRlclRoZW1lYWJsZVByb3BzLFxuICBJRGV0YWlsc1RoZW1lLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VEZXRhaWxzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9ob29rcy91c2UtZGV0YWlsc1wiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uU2l6ZSwgSWNvblR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyID0gKHsgdGl0bGUsIGNoaWxkcmVuIH06IERldGFpbHNIZWFkZXJUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJRGV0YWlsc1RoZW1lID0gdXNlRGV0YWlsc1RoZW1lKGlzU2tlbGV0b24pO1xuICBjb25zdCB7IEFjY29yZGVvbkNvbnRleHQgfTogYW55ID0gdXNlQ29udGV4dChBY2NvcmRlb25DdHgpO1xuICBjb25zdCBpc09wZW4gPSBBY2NvcmRlb25Db250ZXh0ID09PSBBY2NvcmRlb25Db250ZXh0Lk9QRU47XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZERldGFpbHNIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZERldGFpbHNIZWFkZXJJY29uIHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17ZmFsc2V9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICBzaXplPXtJY29uU2l6ZS5TTUFMTH1cbiAgICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkNIRVZST05fRE9XTn1cbiAgICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWREZXRhaWxzSGVhZGVySWNvbj5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uVGl0bGUgdGhlbWU9e1RoZW1lfT57dGl0bGV9PC9TdHlsZWRTa2VsZXRvblRpdGxlPlxuICAgICAgICA8U3R5bGVkRGV0YWlsc0FjdGlvbnM+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0FjdGlvbnM+XG4gICAgICA8L1N0eWxlZERldGFpbHNIZWFkZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERldGFpbHNIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWREZXRhaWxzSGVhZGVySWNvbiB0aGVtZT17VGhlbWV9ICRpc09wZW49e2lzT3Blbn0+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgc2l6ZT17SWNvblNpemUuU01BTEx9XG4gICAgICAgICAgdHlwZT17SWNvblR5cGUuQ0hFVlJPTl9ET1dOfVxuICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZERldGFpbHNIZWFkZXJJY29uPlxuICAgICAgPHNwYW4+e3RpdGxlfTwvc3Bhbj5cbiAgICAgIDxTdHlsZWREZXRhaWxzQWN0aW9ucz57Y2hpbGRyZW59PC9TdHlsZWREZXRhaWxzQWN0aW9ucz5cbiAgICA8L1N0eWxlZERldGFpbHNIZWFkZXI+XG4gICk7XG59O1xuIiwiZXhwb3J0IGVudW0gQWNjb3JkZW9uQ29udGV4dCB7XG4gIE9QRU4gPSBcIk9QRU5cIixcbiAgQ0xPU0VEID0gXCJDTE9TRURcIixcbn1cbiIsImltcG9ydCB7IEFjY29yZGVvbkNvbnRleHQgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uZW51bXNcIjtcbmltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBY2NvcmRlb25DdHhEZWZhdWx0OiBBY2NvcmRlb25Db250ZXh0ID0gQWNjb3JkZW9uQ29udGV4dC5DTE9TRUQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBBY2NvcmRlb25DdHg6IFJlYWN0LkNvbnRleHQ8e1xuICBBY2NvcmRlb25Db250ZXh0OiBBY2NvcmRlb25Db250ZXh0O1xuICBzZXRBY2NvcmRlb25Db250ZXh0OiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxBY2NvcmRlb25Db250ZXh0Pj47XG59PiA9IGNyZWF0ZUNvbnRleHQoe1xuICBBY2NvcmRlb25Db250ZXh0OiBBY2NvcmRlb25DdHhEZWZhdWx0LFxuICBzZXRBY2NvcmRlb25Db250ZXh0OiAoKSA9PiB7fSxcbn0pO1xuIiwiaW1wb3J0IHsgU3R5bGVkRGV0YWlsc0NvbnRlbnQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnN0eWxlXCI7XG5pbXBvcnQge1xuICBEZXRhaWxzQ29udGVudFRoZW1lYWJsZVByb3BzLFxuICBJRGV0YWlsc1RoZW1lLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VEZXRhaWxzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9ob29rcy91c2UtZGV0YWlsc1wiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnQgPSAoeyBjaGlsZHJlbiB9OiBEZXRhaWxzQ29udGVudFRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWU6IElEZXRhaWxzVGhlbWUgPSB1c2VEZXRhaWxzVGhlbWUoaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIDxTdHlsZWREZXRhaWxzQ29udGVudCB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZERldGFpbHNDb250ZW50Pjtcbn07XG4iLCJpbXBvcnQgeyBJRGV0YWlscyB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMudHlwZXNcIjtcbmltcG9ydCB7IERldGFpbHMgYXMgRGV0YWlsc0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvZGV0YWlsc1wiO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmhlYWRlclwiO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2NvbXBvbmVudHMvZGV0YWlscy5jb250ZW50XCI7XG5cbmV4cG9ydCBjb25zdCBEZXRhaWxzID0gKHsgY2hpbGRyZW4gfTogSURldGFpbHMpID0+IHtcbiAgcmV0dXJuIDxEZXRhaWxzQ29tcG9uZW50PntjaGlsZHJlbn08L0RldGFpbHNDb21wb25lbnQ+O1xufTtcblxuRGV0YWlscy5IZWFkZXIgPSBIZWFkZXI7XG5EZXRhaWxzLkNvbnRlbnQgPSBDb250ZW50O1xuXG5leHBvcnQgdHlwZSB7IElEZXRhaWxzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuIiwiaW1wb3J0IHsgSUZhcVRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEudHlwZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGYXFDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElGYXFUaGVtZSB9PmBcbiAgYm9yZGVyLXRvcDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG4gIGJvcmRlci1ib3R0b206ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ib3JkZXJ9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZhcUhlYWRlciA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElGYXFUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDE2cHg7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS50aXRsZX07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBwYWRkaW5nLXRvcDogMzJweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMycHg7XG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZhcUhlYWRlckljb24gPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJRmFxVGhlbWU7XG4gICRpc09wZW46IGJvb2xlYW47XG59PmBcbiAgcm90YXRlOiAkeyhwcm9wcykgPT4gKHByb3BzLiRpc09wZW4gPyBcIjBkZWdcIiA6IFwiLTkwZGVnXCIpfTtcbiAgdHJhbnNpdGlvbjogcm90YXRlIDAuM3M7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmFxQ29udGVudCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUZhcVRoZW1lIH0+YFxuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblRpdGxlID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUZhcVRoZW1lIH0+YFxuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IElGYXFUaGVtZSB9IGZyb20gXCIuLi9mYXEudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUZhcVRoZW1lID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJRmFxVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgU3RhbmRhcmQgPSB7XG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB0aXRsZTogRm9udHMuYWNjZW50LmxnLmJvbGQsXG4gICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB0aXRsZTogRm9udHMuYWNjZW50LmxnLmJvbGQsXG4gICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gU2tlbGV0b247XG4gIH1cblxuICByZXR1cm4gU3RhbmRhcmQ7XG59O1xuIiwiaW1wb3J0IHsgU3R5bGVkRmFxQ29udGFpbmVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGVcIjtcbmltcG9ydCB7IEZhcVRoZW1lYWJsZVByb3BzLCBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2hvb2tzL3VzZS1mYXFcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGYXEgPSAoeyBjaGlsZHJlbiB9OiBGYXFUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJRmFxVGhlbWUgPSB1c2VGYXFUaGVtZShpc1NrZWxldG9uKTtcblxuICByZXR1cm4gPFN0eWxlZEZhcUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZEZhcUNvbnRhaW5lcj47XG59O1xuIiwiaW1wb3J0IHtcbiAgU3R5bGVkRmFxSGVhZGVyLFxuICBTdHlsZWRGYXFIZWFkZXJJY29uLFxuICBTdHlsZWRTa2VsZXRvblRpdGxlLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS5zdHlsZVwiO1xuaW1wb3J0IHsgRmFxSGVhZGVyVGhlbWVhYmxlUHJvcHMsIElGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvaG9va3MvdXNlLWZhcVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uU2l6ZSwgSWNvblR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyID0gKHsgdGl0bGUgfTogRmFxSGVhZGVyVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZTogSUZhcVRoZW1lID0gdXNlRmFxVGhlbWUoaXNTa2VsZXRvbik7XG4gIGNvbnN0IHsgQWNjb3JkZW9uQ29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IEFjY29yZGVvbkNvbnRleHQgPT09IEFjY29yZGVvbkNvbnRleHQuT1BFTjtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRmFxSGVhZGVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRTa2VsZXRvblRpdGxlIHRoZW1lPXtUaGVtZX0+e3RpdGxlfTwvU3R5bGVkU2tlbGV0b25UaXRsZT5cbiAgICAgICAgPFN0eWxlZEZhcUhlYWRlckljb24gdGhlbWU9e1RoZW1lfSAkaXNPcGVuPXtmYWxzZX0+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHNpemU9e0ljb25TaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkNIRVZST05fRE9XTn1cbiAgICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRGYXFIZWFkZXJJY29uPlxuICAgICAgPC9TdHlsZWRGYXFIZWFkZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZhcUhlYWRlciB0aGVtZT17VGhlbWV9PlxuICAgICAgPHNwYW4+e3RpdGxlfTwvc3Bhbj5cbiAgICAgIDxTdHlsZWRGYXFIZWFkZXJJY29uIHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAgPEljb25cbiAgICAgICAgICBzaXplPXtJY29uU2l6ZS5NRURJVU19XG4gICAgICAgICAgdHlwZT17SWNvblR5cGUuQ0hFVlJPTl9ET1dOfVxuICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17dGl0bGV9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZEZhcUhlYWRlckljb24+XG4gICAgPC9TdHlsZWRGYXFIZWFkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgU3R5bGVkRmFxQ29udGVudCB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnN0eWxlXCI7XG5pbXBvcnQgeyBGYXFDb250ZW50VGhlbWVhYmxlUHJvcHMsIElGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvaG9va3MvdXNlLWZhcVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENvbnRlbnQgPSAoeyBjaGlsZHJlbiB9OiBGYXFDb250ZW50VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZTogSUZhcVRoZW1lID0gdXNlRmFxVGhlbWUoaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIDxTdHlsZWRGYXFDb250ZW50IHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkRmFxQ29udGVudD47XG59O1xuIiwiaW1wb3J0IHsgSUZhcSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnR5cGVzXCI7XG5pbXBvcnQgeyBGYXEgYXMgRmFxQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9mYXFcIjtcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvY29tcG9uZW50cy9mYXEuaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5jb250ZW50XCI7XG5cbmV4cG9ydCBjb25zdCBGYXEgPSAoeyBjaGlsZHJlbiB9OiBJRmFxKSA9PiB7XG4gIHJldHVybiA8RmFxQ29tcG9uZW50PntjaGlsZHJlbn08L0ZhcUNvbXBvbmVudD47XG59O1xuXG5GYXEuSGVhZGVyID0gSGVhZGVyO1xuRmFxLkNvbnRlbnQgPSBDb250ZW50O1xuXG5leHBvcnQgdHlwZSB7IElGYXEgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlRmVhdHVyZXMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvaG9va3MvdXNlLWZlYXR1cmVcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEZlYXR1cmVzLFxuICBTdHlsZWRGZWF0dXJlc0l0ZW0sXG4gIFN0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvcixcbiAgU3R5bGVkU2tlbGV0b25GZWF0dXJlcyxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnN0eWxlXCI7XG5pbXBvcnQgeyBJRmVhdHVyZXNCYXNlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZXMgPSAoeyBjaGlsZHJlbiB9OiBJRmVhdHVyZXNCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGZWF0dXJlcyhJc1NrZWxldG9uKTtcblxuICBjb25zdCBjb3VudCA9IFJlYWN0LkNoaWxkcmVuLmNvdW50KGNoaWxkcmVuKTtcbiAgY29uc3QgZmVhdHVyZXMgPSBSZWFjdC5DaGlsZHJlbi5tYXAoY2hpbGRyZW4sIChjaGlsZCwgaW5kZXgpID0+IHtcbiAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSkgcmV0dXJuIGNoaWxkO1xuXG4gICAgY29uc3QgZGl2aWRlciA9IChcbiAgICAgIDxTdHlsZWRGZWF0dXJlc0l0ZW1TZXBlcmF0b3I+IHwgPC9TdHlsZWRGZWF0dXJlc0l0ZW1TZXBlcmF0b3I+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRmVhdHVyZXNJdGVtPlxuICAgICAgICB7Y2hpbGR9XG4gICAgICAgIHtpbmRleCAhPSBjb3VudCAtIDEgJiYgZGl2aWRlcn1cbiAgICAgIDwvU3R5bGVkRmVhdHVyZXNJdGVtPlxuICAgICk7XG4gIH0pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbkZlYXR1cmVzIHRoZW1lPXtUaGVtZX0+e2ZlYXR1cmVzfTwvU3R5bGVkU2tlbGV0b25GZWF0dXJlcz5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIDxTdHlsZWRGZWF0dXJlcyB0aGVtZT17VGhlbWV9PntmZWF0dXJlc308L1N0eWxlZEZlYXR1cmVzPjtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJRmVhdHVyZXNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mZWF0dXJlcy9mZWF0dXJlcy50eXBlc1wiO1xuaW1wb3J0IHtcbiAgdXNlVGhlbWVDb2xvcixcbiAgdXNlVGhlbWVGb250cyxcbiAgdXNlVGhlbWVSYWRpdXMsXG4gIHVzZVRoZW1lVXRpbGl0eSxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUZlYXR1cmVzID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJRmVhdHVyZXNUaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgU2tlbGV0b25CZyxcbiAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjNcIl0sXG4gICAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICAgIGNvbG9yOiBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNTAwLFxuICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjNcIl0sXG4gICAgcmFkaXVzOiBSYWRpdXMuc20sXG4gICAgY29sb3I6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gIH07XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElGZWF0dXJlc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlcyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUZlYXR1cmVzVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxMHB4O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ib3JkZXJ9O1xuICBwYWRkaW5nOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZXNJdGVtID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSUZlYXR1cmVzVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvciA9IHN0eWxlZC5zcGFuPHtcbiAgdGhlbWU6IElGZWF0dXJlc1RoZW1lO1xufT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uRmVhdHVyZXMgPSBzdHlsZWQoU3R5bGVkRmVhdHVyZXMpPHtcbiAgdGhlbWU6IElGZWF0dXJlc1RoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJRmVhdHVyZXMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcbmltcG9ydCB7IEZlYXR1cmVzIGFzIEJhc2VGZWF0dXJlcyB9IGZyb20gXCJAL21vbGVjdWxlcy9mZWF0dXJlcy9jb21wb25lbnRzL2ZlYXR1cmVzXCI7XG5cbmV4cG9ydCBjb25zdCBGZWF0dXJlcyA9ICh7IGNoaWxkcmVuIH06IElGZWF0dXJlcykgPT4ge1xuICByZXR1cm4gPEJhc2VGZWF0dXJlcz57Y2hpbGRyZW59PC9CYXNlRmVhdHVyZXM+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJRmVhdHVyZXMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcbiIsImltcG9ydCB7IElOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQge1xuICBMb29rdXBBZGRpdGlvbmFsQ29sb3IsXG4gIHVzZVRoZW1lQ29sb3IsXG4gIHVzZVRoZW1lRm9udHMsXG4gIHVzZVRoZW1lUmFkaXVzLFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcblxuZXhwb3J0IGNvbnN0IHVzZU5hdmlnYXRpb24gPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElOYXZpZ2F0aW9uVGhlbWUgPT4ge1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3IgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvci5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvci5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGlzU2tlbGV0b24sIFtcbiAgICBbXG4gICAgICBmYWxzZSxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIGhvdmVyRm9udDogRm9udHMucHJpbWFyeS5tZC5ib2xkLFxuICAgICAgICBob3ZlckNvbG9yOiBDb2xvci5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIHRydWUsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgICBob3ZlckZvbnQ6IEZvbnRzLnByaW1hcnkubWQuYm9sZCxcbiAgICAgICAgaG92ZXJDb2xvcjogQ29sb3Iuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgSU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWROYXZpZ2F0aW9uQ29udGFpbmVyID0gc3R5bGVkLm5hdjx7XG4gIHRoZW1lOiBJTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNDBweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWROYXZpZ2F0aW9uSXRlbUNvbnRhaW5lciA9IHN0eWxlZC5hPHtcbiAgdGhlbWU6IElOYXZpZ2F0aW9uVGhlbWU7XG4gICRpc0FjdGl2ZTogYm9vbGVhbjtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBwYWRkaW5nLWJvdHRvbTogMzVweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB0cmFuc2l0aW9uOlxuICAgIGJvcmRlci1jb2xvciAwLjJzLFxuICAgIGZvbnQgMC4ycztcblxuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy4kaXNBY3RpdmUgJiZcbiAgICBgXG4gICAgICAgIGZvbnQ6ICR7cHJvcHMudGhlbWUuaG92ZXJGb250fTtcbiAgICBgfVxuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3ZlckNvbG9yfTtcbiAgICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXJGb250fTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE5hdmlnYXRpb25JdGVtTGFiZWwgPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBhdHRyKHRpdGxlKTtcbiAgICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXJGb250fTtcbiAgICBoZWlnaHQ6IDBweDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbk5hdmlnYXRpb25Db250YWluZXIgPSBzdHlsZWQoXG4gIFN0eWxlZE5hdmlnYXRpb25Db250YWluZXIsXG4pPHtcbiAgdGhlbWU6IElOYXZpZ2F0aW9uVGhlbWU7XG59PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25OYXZpZ2F0aW9uSXRlbSA9IHN0eWxlZC5zcGFuPHtcbiAgdGhlbWU6IElOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMTMycHg7XG4gIG1hcmdpbi1ib3R0b206IDM4cHg7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCB7IHVzZU5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvbmF2aWdhdGlvbi9ob29rcy91c2UtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkTmF2aWdhdGlvbkl0ZW1Db250YWluZXIsXG4gIFN0eWxlZE5hdmlnYXRpb25JdGVtTGFiZWwsXG59IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IElOYXZpZ2F0aW9uSXRlbSB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7IGxhYmVsLCBpY29uLCBvbkNsaWNrLCBpc0FjdGl2ZSB9OiBJTmF2aWdhdGlvbkl0ZW0pID0+IHtcbiAgY29uc3QgVGhlbWUgPSB1c2VOYXZpZ2F0aW9uKGZhbHNlKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWROYXZpZ2F0aW9uSXRlbUNvbnRhaW5lclxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIHRpdGxlPXtsYWJlbH1cbiAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgICAgJGlzQWN0aXZlPXshIWlzQWN0aXZlfVxuICAgICAgdGhlbWU9e1RoZW1lfVxuICAgID5cbiAgICAgIDxJY29uXG4gICAgICAgIHR5cGU9e2ljb259XG4gICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICBjb250ZXh0PXtpc0FjdGl2ZSA/IEljb25Db250ZXh0LlNVUFBPUlRJTkcgOiBJY29uQ29udGV4dC5EQVJLfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWROYXZpZ2F0aW9uSXRlbUxhYmVsIHRoZW1lPXtUaGVtZX0gdGl0bGU9e2xhYmVsfT5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9TdHlsZWROYXZpZ2F0aW9uSXRlbUxhYmVsPlxuICAgIDwvU3R5bGVkTmF2aWdhdGlvbkl0ZW1Db250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL2hvb2tzL3VzZS1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQge1xuICBTdHlsZWROYXZpZ2F0aW9uQ29udGFpbmVyLFxuICBTdHlsZWRTa2VsZXRvbk5hdmlnYXRpb25Db250YWluZXIsXG4gIFN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkl0ZW0sXG59IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IElOYXZpZ2F0aW9uQmFzZSB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBOYXZpZ2F0aW9uID0gKHsgY2hpbGRyZW4gfTogSU5hdmlnYXRpb25CYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VOYXZpZ2F0aW9uKElzU2tlbGV0b24pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvbk5hdmlnYXRpb25Db250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkl0ZW0gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICA8U3R5bGVkU2tlbGV0b25OYXZpZ2F0aW9uSXRlbSB0aGVtZT17VGhlbWV9IC8+XG4gICAgICAgIDxTdHlsZWRTa2VsZXRvbk5hdmlnYXRpb25JdGVtIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25OYXZpZ2F0aW9uQ29udGFpbmVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWROYXZpZ2F0aW9uQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWROYXZpZ2F0aW9uQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IEl0ZW0gfSBmcm9tIFwiQC9tb2xlY3VsZXMvbmF2aWdhdGlvbi9jb21wb25lbnRzL25hdmlnYXRpb24uaXRlbVwiO1xuaW1wb3J0IHsgTmF2aWdhdGlvbiBhcyBOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBJTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb24gPSAoeyBjaGlsZHJlbiB9OiBJTmF2aWdhdGlvbikgPT4ge1xuICByZXR1cm4gPE5hdmlnYXRpb25Db21wb25lbnQ+e2NoaWxkcmVufTwvTmF2aWdhdGlvbkNvbXBvbmVudD47XG59O1xuXG5OYXZpZ2F0aW9uLkl0ZW0gPSBJdGVtO1xuXG5leHBvcnQgdHlwZSB7IElOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi50eXBlc1wiO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lID0gKFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goaXNTa2VsZXRvbiwgW1xuICAgIFtcbiAgICAgIGZhbHNlLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQuYm9sZCxcbiAgICAgICAgY291bnRlckZvbnQ6IEZvbnQucHJpbWFyeS54cy5ib2xkLFxuICAgICAgICBpbml0aWFsOiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cmZhY2VzLnRpbnRfMjAwLFxuICAgICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICAgIH0sXG4gICAgICAgIGFjdGl2ZToge1xuICAgICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgICAgICBjb2xvcjogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgdHJ1ZSxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLmJvbGQsXG4gICAgICAgIGNvdW50ZXJGb250OiBGb250LnByaW1hcnkueHMuYm9sZCxcbiAgICAgICAgaW5pdGlhbDoge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgICB9LFxuICAgICAgICBhY3RpdmU6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgICAgY29sb3I6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb24gPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZzogNHB4O1xuICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgd2lkdGg6IDEyMHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgIHdpZHRoOiAyMTJweDtcbiAgfVxuXG4gID4gKiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSWNvbiA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1MaW5rID0gc3R5bGVkLmE8e1xuICB0aGVtZTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWU7XG4gICRpc0FjdGl2ZTogYm9vbGVhbjtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgbWluLWhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuJGlzQWN0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLmFjdGl2ZS5iYWNrZ3JvdW5kXG4gICAgICA6IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy4kaXNBY3RpdmUgPyBwcm9wcy50aGVtZS5hY3RpdmUuY29sb3IgOiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYWN0aXZlLmJhY2tncm91bmR9O1xuICB9XG5cbiAgJiA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1CdXR0b24gPSBzdHlsZWQuYnV0dG9uPHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xuICAkaXNBY3RpdmU6IGJvb2xlYW47XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIG1pbi1oZWlnaHQ6IDI0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLiRpc0FjdGl2ZVxuICAgICAgPyBwcm9wcy50aGVtZS5hY3RpdmUuYmFja2dyb3VuZFxuICAgICAgOiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuJGlzQWN0aXZlID8gcHJvcHMudGhlbWUuYWN0aXZlLmNvbG9yIDogcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHBhZGRpbmc6IDRweCA4cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmFjdGl2ZS5iYWNrZ3JvdW5kfTtcbiAgfVxuXG4gICYgPiBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQ291bnRlciA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAxNnB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmFjdGl2ZS5jb2xvcn07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY291bnRlckZvbnR9O1xuICByaWdodDogLTJweDtcbiAgdG9wOiAtMnB4O1xuYDtcbiIsImltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQge1xuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbixcbiAgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25Ta2VsZXRvbixcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IFByb2ZpbGVOYXZpZ2F0aW9uVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgUHJvZmlsZU5hdmlnYXRpb24gPSAoe1xuICBjaGlsZHJlbixcbn06IFByb2ZpbGVOYXZpZ2F0aW9uVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCB0aGVtZSA9IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUoaXNTa2VsZXRvbik7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uU2tlbGV0b25cbiAgICAgICAgdGhlbWU9e3RoZW1lfVxuICAgICAgPjwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25Ta2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb24gdGhlbWU9e3RoZW1lfT57Y2hpbGRyZW59PC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXJUaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBDb3VudGVyID0gKHtcbiAgY291bnQsXG59OiBQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgdGhlbWUgPSB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lKGZhbHNlKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyIHRoZW1lPXt0aGVtZX0+XG4gICAgICB7Y291bnQgPiA5ID8gXCI5K1wiIDogY291bnR9XG4gICAgPC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyPlxuICApO1xufTtcbiIsImV4cG9ydCBlbnVtIEl0ZW1UeXBlIHtcbiAgTElOSyA9IFwiTElOS1wiLFxuICBCVVRUT04gPSBcIkJVVFRPTlwiLFxufVxuIiwiaW1wb3J0IHsgQ291bnRlciB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vY29tcG9uZW50cy9wcm9maWxlX25hdmlnYXRpb24uY291bnRlclwiO1xuaW1wb3J0IHsgdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vaG9va3MvdXNlLXByb2ZpbGUtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uLFxuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1CdXR0b24sXG4gIFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUxpbmssXG59IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBQcm9maWxlTmF2aWdhdGlvbkl0ZW1UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoe1xuICBpY29uLFxuICBsYWJlbCxcbiAgb25DbGljayxcbiAgY291bnQsXG4gIHR5cGUgPSBJdGVtVHlwZS5MSU5LLFxuICBpc0hpZ2hsaWdodGVkLFxufTogUHJvZmlsZU5hdmlnYXRpb25JdGVtVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgdGhlbWUgPSB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lKGZhbHNlKTtcblxuICBpZiAodHlwZSA9PT0gSXRlbVR5cGUuQlVUVE9OKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1CdXR0b25cbiAgICAgICAgdGl0bGU9e2xhYmVsfVxuICAgICAgICBhcmlhLWxhYmVsPXtsYWJlbH1cbiAgICAgICAgdGhlbWU9e3RoZW1lfVxuICAgICAgICAkaXNBY3RpdmU9eyEhaXNIaWdobGlnaHRlZH1cbiAgICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgID5cbiAgICAgICAgPFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSWNvbj5cbiAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgdHlwZT17aWNvbn1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJBYW5tZWxkZW5cIlxuICAgICAgICAgICAgY29udGV4dD17aXNIaWdobGlnaHRlZCA/IEljb25Db250ZXh0LlNVUFBPUlRJTkcgOiBJY29uQ29udGV4dC5EQVJLfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAgICB7aXNIaWdobGlnaHRlZCAmJiA8c3Bhbj57bGFiZWx9PC9zcGFuPn1cbiAgICAgICAge2NvdW50ICYmIDxDb3VudGVyIGNvdW50PXtjb3VudH0gLz59XG4gICAgICA8L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGlua1xuICAgICAgdGl0bGU9e2xhYmVsfVxuICAgICAgYXJpYS1sYWJlbD17bGFiZWx9XG4gICAgICB0aGVtZT17dGhlbWV9XG4gICAgICAkaXNBY3RpdmU9eyEhaXNIaWdobGlnaHRlZH1cbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgPlxuICAgICAgPFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSWNvbj5cbiAgICAgICAgPEljb25cbiAgICAgICAgICB0eXBlPXtpY29ufVxuICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJBYW5tZWxkZW5cIlxuICAgICAgICAgIGNvbnRleHQ9e2lzSGlnaGxpZ2h0ZWQgPyBJY29uQ29udGV4dC5TVVBQT1JUSU5HIDogSWNvbkNvbnRleHQuREFSS31cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAge2lzSGlnaGxpZ2h0ZWQgJiYgPHNwYW4+e2xhYmVsfTwvc3Bhbj59XG4gICAgICB7Y291bnQgJiYgPENvdW50ZXIgY291bnQ9e2NvdW50fSAvPn1cbiAgICA8L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUxpbms+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSVByb2ZpbGVOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IFByb2ZpbGVOYXZpZ2F0aW9uIGFzIFByb2ZpbGVOYXZpZ2F0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9wcm9maWxlX25hdmlnYXRpb25cIjtcbmltcG9ydCB7IEl0ZW0gfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLml0ZW1cIjtcbmltcG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFByb2ZpbGVOYXZpZ2F0aW9uID0gKHsgY2hpbGRyZW4gfTogSVByb2ZpbGVOYXZpZ2F0aW9uKSA9PiB7XG4gIHJldHVybiA8UHJvZmlsZU5hdmlnYXRpb25Db21wb25lbnQ+e2NoaWxkcmVufTwvUHJvZmlsZU5hdmlnYXRpb25Db21wb25lbnQ+O1xufTtcblxuUHJvZmlsZU5hdmlnYXRpb24uSXRlbSA9IEl0ZW07XG5cbmV4cG9ydCB7IEl0ZW1UeXBlIH07XG5leHBvcnQgdHlwZSB7IElQcm9maWxlTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJUmVjb3Jkc0Jhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9yZWNvcmRzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VSZWNvcmRzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3JlY29yZHMvaG9va3MvdXNlLXJlY29yZHNcIjtcbmltcG9ydCB7IEdyaWQgfSBmcm9tIFwiQC9sYXlvdXRzL2dyaWRcIjtcbmltcG9ydCB7IFNwYWNpbmcgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmRzID0gKHsgY2hpbGRyZW4gfTogSVJlY29yZHNCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBUaGVtZSA9IHVzZVJlY29yZHMoSXNTa2VsZXRvbik7XG5cbiAgY29uc3QgcmVjb3JkcyA9IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkKSA9PiB7XG4gICAgaWYgKCFSZWFjdC5pc1ZhbGlkRWxlbWVudChjaGlsZCkpIHJldHVybiBjaGlsZDtcbiAgICByZXR1cm4gPEdyaWQuSXRlbT57Y2hpbGR9PC9HcmlkLkl0ZW0+O1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDxHcmlkIGdhcD17U3BhY2luZy5TMzB9IGRpcmVjdGlvbj17XCJjb2x1bW5cIn0+XG4gICAgICB7cmVjb3Jkc31cbiAgICA8L0dyaWQ+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSVJlY29yZHNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzL3JlY29yZHMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVJlY29yZHMgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElSZWNvcmRzVGhlbWUgPT4ge1xuICByZXR1cm4ge307XG59O1xuIiwiaW1wb3J0IHsgSVJlY29yZHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9yZWNvcmRzLnR5cGVzXCI7XG5pbXBvcnQgeyBSZWNvcmRzIGFzIEJhc2VSZWNvcmRzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3JlY29yZHMvY29tcG9uZW50cy9yZWNvcmRzXCI7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmRzID0gKHsgY2hpbGRyZW4gfTogSVJlY29yZHMpID0+IHtcbiAgcmV0dXJuIDxCYXNlUmVjb3Jkcz57Y2hpbGRyZW59PC9CYXNlUmVjb3Jkcz47XG59O1xuXG5leHBvcnQgdHlwZSB7IElSZWNvcmRzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3JlY29yZHMvcmVjb3Jkcy50eXBlc1wiO1xuIiwiaW1wb3J0IHsgQ2hpbGRyZW4gfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVN0YXR1c0xpc3RUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9ob29rcy91c2Utc3RhdHVzLWxpc3RcIjtcbmltcG9ydCB7IElTdGF0dXNMaXN0QmFzZSB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9zdGF0dXNfbGlzdC50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkU2tlbGV0b25TdGF0dXNMaXN0LFxuICBTdHlsZWRTdGF0dXNMaXN0LFxuICBTdHlsZWRTdGF0dXNMaXN0Q291bnQsXG4gIFN0eWxlZFN0YXR1c0xpc3RJdGVtcyxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAc3Rvcnlib29rL2NvbXBvbmVudHNcIjtcbmltcG9ydCB7IENvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyXCI7XG5pbXBvcnQgeyBDb250YWluZXJUeXBlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLmVudW1zXCI7XG5pbXBvcnQgeyBDb2xvciwgQ29sb3JWYXJpYW50LCBSYWRpdXMsIFNwYWNpbmcgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNMaXN0ID0gKHsgY2hpbGRyZW4sIHdpdGhDb3VudCB9OiBJU3RhdHVzTGlzdEJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IFRoZW1lID0gdXNlU3RhdHVzTGlzdFRoZW1lKElzU2tlbGV0b24pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblN0YXR1c0xpc3QgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFBsYWNlaG9sZGVyPntjaGlsZHJlbn08L1BsYWNlaG9sZGVyPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvblN0YXR1c0xpc3Q+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IENvdW50ID0gd2l0aENvdW50ID8gKFxuICAgIDxDb250YWluZXJcbiAgICAgIGxpZnRlZD17ZmFsc2V9XG4gICAgICBwYWRkaW5nPXtTcGFjaW5nLlMyMH1cbiAgICAgIHJhZGl1cz17UmFkaXVzLlNNfVxuICAgICAgdHlwZT17Q29udGFpbmVyVHlwZS5OT1JNQUx9XG4gICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF81MH1cbiAgICAgIGZ1bGxXaWR0aD17ZmFsc2V9XG4gICAgICBjb2xvcj17Q29sb3IuTkVVVFJBTFN9XG4gICAgPlxuICAgICAgPFN0eWxlZFN0YXR1c0xpc3RDb3VudCB0aGVtZT17VGhlbWV9PlxuICAgICAgICB7Q2hpbGRyZW4uY291bnQoY2hpbGRyZW4pfVxuICAgICAgPC9TdHlsZWRTdGF0dXNMaXN0Q291bnQ+XG4gICAgPC9Db250YWluZXI+XG4gICkgOiBudWxsO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFN0YXR1c0xpc3QgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRTdGF0dXNMaXN0SXRlbXM+e2NoaWxkcmVufTwvU3R5bGVkU3RhdHVzTGlzdEl0ZW1zPlxuICAgICAge0NvdW50fVxuICAgIDwvU3R5bGVkU3RhdHVzTGlzdD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJU3RhdHVzTGlzdFRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0dXNMaXN0VGhlbWUgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElTdGF0dXNMaXN0VGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm1lZGl1bSxcbiAgICAgIGNvbG9yOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmb250OiBGb250LnByaW1hcnkuc20ubWVkaXVtLFxuICAgIGNvbG9yOiBDb2xvcnMucHJpbWFyeS50aW50XzUwMCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVN0YXR1c0xpc3RUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9zdGF0dXNfbGlzdC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU3RhdHVzTGlzdCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xpc3RUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiBjYWxjKDRweCAqIDQpO1xuICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMaXN0SXRlbXMgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNMaXN0VGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBnYXA6IDRweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMaXN0Q291bnQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNMaXN0VGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uU3RhdHVzTGlzdCA9IHN0eWxlZChTdHlsZWRTdGF0dXNMaXN0KTx7XG4gIHRoZW1lOiBJU3RhdHVzTGlzdFRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUNvbnRhaW5lclRoZW1lIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb250YWluZXIgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUNvbnRhaW5lclRoZW1lIH0+YFxuICBkaXNwbGF5OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZGlzcGxheX07XG4gIG1pbi13aWR0aDogMXB4O1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBib3gtc2hhZG93OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuc2hhZG93fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ib3JkZXJ9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbnRhaW5lclBhZGRpbmcgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUNvbnRhaW5lclRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgbWFyZ2luOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25Db250YWluZXIgPSBzdHlsZWQoU3R5bGVkQ29udGFpbmVyKS53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHtcbiAgdGhlbWU6IElDb250YWluZXJUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IHsgSUNvbnRhaW5lclRoZW1lIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLnR5cGVzXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQge1xuICBvckRlZmF1bHQsXG4gIHVzZVRoZW1lQ29sb3IsXG4gIHVzZVRoZW1lUmFkaXVzLFxuICB1c2VUaGVtZVV0aWxpdHksXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHtcbiAgQ29sb3IsXG4gIENvbG9yVmFyaWFudEtleSxcbiAgUmFkaXVzS2V5LFxuICBTcGFjaW5nS2V5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IENvbnRhaW5lclR5cGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUNvbnRhaW5lciA9IChcbiAgY29sb3I6IENvbG9yLFxuICB0eXBlOiBDb250YWluZXJUeXBlLFxuICBsaWZ0ZWQ6IGJvb2xlYW4sXG4gIHRpbnQ6IENvbG9yVmFyaWFudEtleSxcbiAgcmFkaXVzOiBSYWRpdXNLZXksXG4gIHBhZGRpbmc6IFNwYWNpbmdLZXksXG4gIGZ1bGxXaWR0aDogYm9vbGVhbixcbik6IElDb250YWluZXJUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgVGhlbWVSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgUmFkaXVzQmFzZSA9IG1hdGNoKHJhZGl1cywgW1xuICAgIFtcInhzXCIsIHsgYmFzZTogVGhlbWVSYWRpdXMueHMsIHF1aXJreTogVGhlbWVSYWRpdXMuc20gfV0sXG4gICAgW1wic21cIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy5zbSwgcXVpcmt5OiBUaGVtZVJhZGl1cy5tZCB9XSxcbiAgICBbXCJtZFwiLCB7IGJhc2U6IFRoZW1lUmFkaXVzLm1kLCBxdWlya3k6IFRoZW1lUmFkaXVzLmxnIH1dLFxuICAgIFtcImxnXCIsIHsgYmFzZTogVGhlbWVSYWRpdXMubGcsIHF1aXJreTogVGhlbWVSYWRpdXMueGwgfV0sXG4gICAgW1wieGxcIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy54bCwgcXVpcmt5OiBUaGVtZVJhZGl1c1tcIjJ4bFwiXSB9XSxcbiAgICBbXCIyeGxcIiwgeyBiYXNlOiBUaGVtZVJhZGl1c1tcIjJ4bFwiXSwgcXVpcmt5OiBUaGVtZVJhZGl1c1tcIjN4bFwiXSB9XSxcbiAgICBbXG4gICAgICBcIjN4bFwiLFxuICAgICAge1xuICAgICAgICBiYXNlOiBUaGVtZVJhZGl1c1tcIjN4bFwiXSxcbiAgICAgICAgcXVpcmt5OiBcImNhbGMoXCIgKyBUaGVtZVJhZGl1c1tcIjN4bFwiXSArIFwiKiAxLjIpXCIsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xuXG4gIGNvbnN0IGJvcmRlclJhZGl1cyA9IG1hdGNoKHR5cGUsIFtcbiAgICBbQ29udGFpbmVyVHlwZS5OT1JNQUwsIFJhZGl1c0Jhc2UuYmFzZV0sXG4gICAgW1xuICAgICAgQ29udGFpbmVyVHlwZS5RVUlSS1ksXG4gICAgICBSYWRpdXNCYXNlLmJhc2UgK1xuICAgICAgICBcIiBcIiArXG4gICAgICAgIFJhZGl1c0Jhc2UuYmFzZSArXG4gICAgICAgIFwiIFwiICtcbiAgICAgICAgUmFkaXVzQmFzZS5xdWlya3kgK1xuICAgICAgICBcIiBcIiArXG4gICAgICAgIFwiMFwiLFxuICAgIF0sXG4gIF0pO1xuXG4gIGNvbnN0IFNoYWRvdyA9IGxpZnRlZCA/IFwiMHB4IDRweCAyMHB4IDBweCAjQzlDOUM5NDBcIiA6IFwibm9uZVwiO1xuICBjb25zdCBCYWNrZ3JvdW5kID0gb3JEZWZhdWx0KENvbG9ycywgXCJ0cmFuc3BhcmVudFwiLCBbY29sb3IsIHRpbnRdKTtcblxuICByZXR1cm4ge1xuICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgIGJhY2tncm91bmQ6IEJhY2tncm91bmQsXG4gICAgc2hhZG93OiBTaGFkb3csXG4gICAgYm9yZGVyOiBcIm5vbmVcIixcbiAgICBkaXNwbGF5OiBmdWxsV2lkdGggPyBcImZsZXhcIiA6IFwiaW5saW5lLWZsZXhcIixcbiAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbcGFkZGluZ10sXG4gIH07XG59O1xuIiwiZXhwb3J0IGVudW0gQ29udGFpbmVyVHlwZSB7XG4gIE5PUk1BTCA9IFwiTk9STUFMXCIsXG4gIFFVSVJLWSA9IFwiUVVJUktZXCIsXG59XG4iLCJpbXBvcnQge1xuICBTdHlsZWRDb250YWluZXIsXG4gIFN0eWxlZENvbnRhaW5lclBhZGRpbmcsXG59IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5zdHlsZVwiO1xuaW1wb3J0IHsgSUNvbnRhaW5lckJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2hvb2tzL3VzZS1jb250YWluZXJcIjtcblxuZXhwb3J0IGNvbnN0IENvbnRhaW5lciA9ICh7XG4gIGNoaWxkcmVuLFxuICB0eXBlLFxuICBjb2xvcixcbiAgbGlmdGVkLFxuICByYWRpdXMsXG4gIHBhZGRpbmcsXG4gIHRpbnQsXG4gIGZ1bGxXaWR0aCxcbn06IElDb250YWluZXJCYXNlKSA9PiB7XG4gIGNvbnN0IFRoZW1lID0gdXNlQ29udGFpbmVyKFxuICAgIGNvbG9yLFxuICAgIHR5cGUsXG4gICAgbGlmdGVkLFxuICAgIHRpbnQsXG4gICAgcmFkaXVzLFxuICAgIHBhZGRpbmcsXG4gICAgZnVsbFdpZHRoLFxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZENvbnRhaW5lclBhZGRpbmcgdGhlbWU9e1RoZW1lfT57Y2hpbGRyZW59PC9TdHlsZWRDb250YWluZXJQYWRkaW5nPlxuICAgIDwvU3R5bGVkQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElDb250YWluZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcbmltcG9ydCB7IENvbnRhaW5lciBhcyBCYXNlQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29tcG9uZW50cy9jb250YWluZXJcIjtcbmltcG9ydCB7IENvbnRhaW5lclR5cGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIuZW51bXNcIjtcbmltcG9ydCB7IENvbG9yLCBDb2xvclZhcmlhbnQsIFJhZGl1cywgU3BhY2luZyB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHR5cGUgPSBDb250YWluZXJUeXBlLk5PUk1BTCxcbiAgcmFkaXVzID0gUmFkaXVzLk1ELFxuICBjb2xvciA9IENvbG9yLlNVUkZBQ0VTLFxuICB0aW50ID0gQ29sb3JWYXJpYW50LlRJTlRfNTAwLFxuICBsaWZ0ZWQgPSB0cnVlLFxuICBwYWRkaW5nID0gU3BhY2luZy5TMjAsXG4gIGZ1bGxXaWR0aCA9IHRydWUsXG59OiBJQ29udGFpbmVyKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEJhc2VDb250YWluZXJcbiAgICAgIHR5cGU9e3R5cGUgPyB0eXBlIDogQ29udGFpbmVyVHlwZS5OT1JNQUx9XG4gICAgICB0aW50PXt0aW50ID8gdGludCA6IENvbG9yVmFyaWFudC5USU5UXzUwMH1cbiAgICAgIGxpZnRlZD17bGlmdGVkID8gbGlmdGVkIDogdHJ1ZX1cbiAgICAgIGNvbG9yPXtjb2xvciA/IGNvbG9yIDogQ29sb3IuU1VSRkFDRVN9XG4gICAgICByYWRpdXM9e3JhZGl1cyA/IHJhZGl1cyA6IFJhZGl1cy5NRH1cbiAgICAgIHBhZGRpbmc9e3BhZGRpbmcgPyBwYWRkaW5nIDogU3BhY2luZy5TMjB9XG4gICAgICBmdWxsV2lkdGg9e2Z1bGxXaWR0aCA/IGZ1bGxXaWR0aCA6IHRydWV9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQmFzZUNvbnRhaW5lcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB7IENvbnRhaW5lclR5cGUgfTtcbmV4cG9ydCB0eXBlIHsgSUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci50eXBlc1wiO1xuIiwiaW1wb3J0IHsgU3RhdHVzTGlzdCBhcyBCYXNlU3RhdHVzTGlzdCB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9jb21wb25lbnRzL3N0YXR1c19saXN0XCI7XG5pbXBvcnQgeyBJU3RhdHVzTGlzdCB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9zdGF0dXNfbGlzdC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3RhdHVzTGlzdCA9ICh7IGNoaWxkcmVuLCB3aXRoQ291bnQgfTogSVN0YXR1c0xpc3QpID0+IHtcbiAgcmV0dXJuIDxCYXNlU3RhdHVzTGlzdCB3aXRoQ291bnQ9e3dpdGhDb3VudH0+e2NoaWxkcmVufTwvQmFzZVN0YXR1c0xpc3Q+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJU3RhdHVzTGlzdCB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9zdGF0dXNfbGlzdC50eXBlc1wiO1xuIiwiaW1wb3J0IHsgSVRvcE5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi90b3BfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlVG9wTmF2aWdhdGlvbiA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVRvcE5hdmlnYXRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goaXNTa2VsZXRvbiwgW1xuICAgIFtcbiAgICAgIGZhbHNlLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgICAgZGl2aWRlckNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgdHJ1ZSxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIGRpdmlkZXJDb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBJVG9wTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL3RvcF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVG9wTmF2aWdhdGlvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVRvcE5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcblxuICA+IGRpdjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZGl2aWRlckNvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uRXhhbXBsZSA9IHN0eWxlZChTdHlsZWRUb3BOYXZpZ2F0aW9uQ29udGFpbmVyKTx7XG4gIHRoZW1lOiBJVG9wTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbSA9IHN0eWxlZC5hPHsgdGhlbWU6IElUb3BOYXZpZ2F0aW9uVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Ta2VsZXRvbiA9IHN0eWxlZC5zcGFuPHtcbiAgdGhlbWU6IElUb3BOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVRvcE5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG5gO1xuIiwiaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IHVzZVRvcE5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vaG9va3MvdXNlLXRvcC1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQge1xuICBTdHlsZWRUb3BOYXZpZ2F0aW9uQ29udGFpbmVyLFxuICBTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbUNvbnRhaW5lcixcbiAgU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Ta2VsZXRvbixcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL3RvcF9uYXZpZ2F0aW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBJVG9wTmF2aWdhdGlvbkJhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vdG9wX25hdmlnYXRpb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFRvcE5hdmlnYXRpb24gPSAoeyBjaGlsZHJlbiB9OiBJVG9wTmF2aWdhdGlvbkJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZVRvcE5hdmlnYXRpb24oSXNTa2VsZXRvbik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFRvcE5hdmlnYXRpb25Db250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICAgIDxzcGFuPmxvYWRpbmcuLi48L3NwYW4+XG4gICAgICAgICAgPC9TdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbVNrZWxldG9uPlxuICAgICAgICA8L1N0eWxlZFRvcE5hdmlnYXRpb25JdGVtQ29udGFpbmVyPlxuICAgICAgICA8U3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8U3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Ta2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAgPHNwYW4+bG9hZGluZy4uLjwvc3Bhbj5cbiAgICAgICAgICA8L1N0eWxlZFRvcE5hdmlnYXRpb25JdGVtU2tlbGV0b24+XG4gICAgICAgIDwvU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXI+XG4gICAgICA8L1N0eWxlZFRvcE5hdmlnYXRpb25Db250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFRvcE5hdmlnYXRpb25Db250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZFRvcE5hdmlnYXRpb25Db250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVG9wTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9ob29rcy91c2UtdG9wLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtLFxuICBTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbUNvbnRhaW5lcixcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL3RvcF9uYXZpZ2F0aW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBJVG9wTmF2aWdhdGlvbkl0ZW1CYXNlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL3RvcF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEl0ZW0gPSAoeyBvbkNsaWNrLCBsYWJlbCwgaWNvbiB9OiBJVG9wTmF2aWdhdGlvbkl0ZW1CYXNlKSA9PiB7XG4gIGNvbnN0IFRoZW1lID0gdXNlVG9wTmF2aWdhdGlvbihmYWxzZSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbVxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICB0aXRsZT17bGFiZWx9XG4gICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICA+XG4gICAgICAgIDxJY29uIHR5cGU9e2ljb259IHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfSBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfSAvPlxuICAgICAgICA8c3Bhbj57bGFiZWx9PC9zcGFuPlxuICAgICAgPC9TdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbT5cbiAgICA8L1N0eWxlZFRvcE5hdmlnYXRpb25JdGVtQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IElUb3BOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL3RvcF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBUb3BOYXZpZ2F0aW9uIGFzIFRvcE5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vY29tcG9uZW50cy90b3BfbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9jb21wb25lbnRzL3RvcF9uYXZpZ2F0aW9uLml0ZW1cIjtcblxuZXhwb3J0IGNvbnN0IFRvcE5hdmlnYXRpb24gPSAoeyBjaGlsZHJlbiB9OiBJVG9wTmF2aWdhdGlvbikgPT4ge1xuICByZXR1cm4gPFRvcE5hdmlnYXRpb25Db21wb25lbnQ+e2NoaWxkcmVufTwvVG9wTmF2aWdhdGlvbkNvbXBvbmVudD47XG59O1xuXG5Ub3BOYXZpZ2F0aW9uLkl0ZW0gPSBJdGVtO1xuXG5leHBvcnQgdHlwZSB7IElUb3BOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL3RvcF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBJSGVhZGVyVGhlbWUgfSBmcm9tIFwiQC9vcmdhbmlzbXMvaGVhZGVyL2hlYWRlci50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEhlYWRlckNvbXBhY3RDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElIZWFkZXJUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAyMHB4IDA7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSGVhZGVyQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJSGVhZGVyVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRIZWFkZXJCcmFuZENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUhlYWRlclRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTRweDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSGVhZGVyTmF2Q29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJSGVhZGVyVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgcGFkZGluZzogMjRweCAwO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG5gO1xuIiwiaW1wb3J0IHsgSUhlYWRlclRoZW1lIH0gZnJvbSBcIkAvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUhlYWRlciA9ICgpOiBJSGVhZGVyVGhlbWUgPT4ge1xuICByZXR1cm4ge307XG59O1xuIiwiaW1wb3J0IHsgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCB1c2VXaW5kb3dEaW1lbnNpb25zID0gKCkgPT4ge1xuICBjb25zdCBbd2luZG93RGltZW5zaW9ucywgc2V0V2luZG93RGltZW5zaW9uc10gPSB1c2VTdGF0ZSh7XG4gICAgd2lkdGg6IHdpbmRvdy5pbm5lcldpZHRoLFxuICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICB9KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJlc2l6ZSA9ICgpID0+IHtcbiAgICAgIHNldFdpbmRvd0RpbWVuc2lvbnMoe1xuICAgICAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsXG4gICAgICAgIGhlaWdodDogd2luZG93LmlubmVySGVpZ2h0LFxuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGhhbmRsZVJlc2l6ZSk7XG4gICAgcmV0dXJuICgpID0+IHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicmVzaXplXCIsIGhhbmRsZVJlc2l6ZSk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gd2luZG93RGltZW5zaW9ucztcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHVzZVdpbmRvd0RpbWVuc2lvbnM7XG4iLCJpbXBvcnQge1xuICBTdHlsZWRIZWFkZXJCcmFuZENvbnRhaW5lcixcbiAgU3R5bGVkSGVhZGVyQ29tcGFjdENvbnRhaW5lcixcbiAgU3R5bGVkSGVhZGVyQ29udGFpbmVyLFxuICBTdHlsZWRIZWFkZXJOYXZDb250YWluZXIsXG59IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXIvaGVhZGVyLnN0eWxlXCI7XG5pbXBvcnQgeyBJSGVhZGVyIH0gZnJvbSBcIkAvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIudHlwZXNcIjtcbmltcG9ydCB7IHVzZUhlYWRlciB9IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXIvaG9va3MvdXNlLWhlYWRlclwiO1xuaW1wb3J0IHVzZVdpbmRvd0RpbWVuc2lvbnMgZnJvbSBcIkAvb3JnYW5pc21zL2hlYWRlci9ob29rcy91c2Utc2NyZWVuLWRpbWVuc2lvbnNcIjtcblxuZXhwb3J0IGNvbnN0IEhlYWRlciA9ICh7XG4gIGJyYW5kLFxuICBuYXZpZ2F0aW9uLFxuICBwcm9maWxlTmF2aWdhdGlvbixcbiAgdG9wTmF2aWdhdGlvbixcbiAgY29tcGFjdE5hdmlnYXRpb24sXG59OiBJSGVhZGVyKSA9PiB7XG4gIGNvbnN0IFRoZW1lID0gdXNlSGVhZGVyKCk7XG4gIGNvbnN0IGRpbWVuc2lvbnMgPSB1c2VXaW5kb3dEaW1lbnNpb25zKCk7XG5cbiAgaWYgKGRpbWVuc2lvbnMud2lkdGggPiAxMDI0KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRIZWFkZXJDb250YWluZXI+XG4gICAgICAgIDxTdHlsZWRIZWFkZXJCcmFuZENvbnRhaW5lcj5cbiAgICAgICAgICB7YnJhbmR9XG4gICAgICAgICAge25hdmlnYXRpb259XG4gICAgICAgIDwvU3R5bGVkSGVhZGVyQnJhbmRDb250YWluZXI+XG4gICAgICAgIDxTdHlsZWRIZWFkZXJOYXZDb250YWluZXI+XG4gICAgICAgICAge3RvcE5hdmlnYXRpb259XG4gICAgICAgICAge3Byb2ZpbGVOYXZpZ2F0aW9ufVxuICAgICAgICA8L1N0eWxlZEhlYWRlck5hdkNvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkSGVhZGVyQ29udGFpbmVyPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRIZWFkZXJDb21wYWN0Q29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7Y29tcGFjdE5hdmlnYXRpb259XG4gICAgICB7cHJvZmlsZU5hdmlnYXRpb259XG4gICAgPC9TdHlsZWRIZWFkZXJDb21wYWN0Q29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IElIZWFkZXIgfSBmcm9tIFwiQC9vcmdhbmlzbXMvaGVhZGVyL2hlYWRlci50eXBlc1wiO1xuaW1wb3J0IHsgSGVhZGVyIGFzIEhlYWRlckNvbXBvbmVudCB9IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXIvY29tcG9uZW50cy9oZWFkZXJcIjtcblxuZXhwb3J0IGNvbnN0IEhlYWRlciA9ICh7XG4gIGJyYW5kLFxuICBuYXZpZ2F0aW9uLFxuICBwcm9maWxlTmF2aWdhdGlvbixcbiAgdG9wTmF2aWdhdGlvbixcbiAgY29tcGFjdE5hdmlnYXRpb24sXG59OiBJSGVhZGVyKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEhlYWRlckNvbXBvbmVudFxuICAgICAgYnJhbmQ9e2JyYW5kfVxuICAgICAgbmF2aWdhdGlvbj17bmF2aWdhdGlvbn1cbiAgICAgIHByb2ZpbGVOYXZpZ2F0aW9uPXtwcm9maWxlTmF2aWdhdGlvbn1cbiAgICAgIHRvcE5hdmlnYXRpb249e3RvcE5hdmlnYXRpb259XG4gICAgICBjb21wYWN0TmF2aWdhdGlvbj17Y29tcGFjdE5hdmlnYXRpb259XG4gICAgLz5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUhlYWRlciB9IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXIvaGVhZGVyLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElEaXJlY3Rpb25CYXNlZE1hcEJhc2UgfSBmcm9tIFwiQC9vcmdhbmlzbXMvbWFwL21hcC50eXBlc1wiO1xuaW1wb3J0IHsgQ29udHJvbFBvc2l0aW9uLCB1c2VNYXAgfSBmcm9tIFwiQHZpcy5nbC9yZWFjdC1nb29nbGUtbWFwc1wiO1xuaW1wb3J0IHsgdXNlR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uc1JlbmRlcmVyIH0gZnJvbSBcIkAvaG9va3MvdXNlLWdvb2dsZS1hcGktcm91dGVzLWRpcmVjdGlvbnMtcmVuZGVyZXJcIjtcbmltcG9ydCB7IFJvdXRlcyB9IGZyb20gXCJAL2F0b21zL21hcC9yb3V0ZXNcIjtcblxuZXhwb3J0IGNvbnN0IERpcmVjdGlvbk1hcCA9ICh7IGRpcmVjdGlvbnMgfTogSURpcmVjdGlvbkJhc2VkTWFwQmFzZSkgPT4ge1xuICBjb25zdCBtYXAgPSB1c2VNYXAoKTtcbiAgaWYgKCFtYXApIHtcbiAgICBjb25zb2xlLmxvZyhcIlRoaXMgY29tcG9uZW50IG5lZWRzIHRvIGJlIHVzZWQgaW5zaWRlIG9mIGEgTWFwXCIpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKCFkaXJlY3Rpb25zKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCByZW5kZXJlciA9IHVzZUdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvbnNSZW5kZXJlcigpO1xuICBpZiAoIXJlbmRlcmVyKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBbYWN0aXZlUm91dGUsIHNldEFjdGl2ZVJvdXRlXSA9IHVzZVN0YXRlKDApO1xuXG4gIGNvbnN0IG9uUm91dGVDbGlja2VkID0gKGluZGV4OiBudW1iZXIpID0+IHtcbiAgICBzZXRBY3RpdmVSb3V0ZShpbmRleCk7XG4gICAgcmVuZGVyZXIuc2V0Um91dGVJbmRleChpbmRleCk7XG4gIH07XG5cbiAgY29uc3QgcmVuZGVyT3B0aW9ucyA9IHtcbiAgICBkcmFnZ2FibGU6IHRydWUsXG4gICAgaGlkZVJvdXRlTGlzdDogdHJ1ZSxcbiAgICBwb2x5bGluZU9wdGlvbnM6IHtcbiAgICAgIHN0cm9rZUNvbG9yOiBcIiNFQjczMjJcIixcbiAgICAgIHN0cm9rZU9wYWNpdHk6IDAuMixcbiAgICAgIHN0cm9rZVdlaWdodDogOCxcbiAgICAgIGdlb2Rlc2ljOiB0cnVlLFxuICAgICAgZWRpdGFibGU6IGZhbHNlLFxuICAgICAgZHJhZ2dhYmxlOiBmYWxzZSxcbiAgICB9LFxuICAgIG1hcmtlck9wdGlvbnM6IHtcbiAgICAgIGljb246IHtcbiAgICAgICAgcGF0aDogXCJNMTYgOEMxNiAxMi40MTgzIDEyLjQxODMgMTYgOCAxNkMzLjU4MTcyIDE2IDAgMTIuNDE4MyAwIDhDMCAzLjU4MTcyIDMuNTgxNzIgMCA4IDBDMTIuNDE4MyAwIDE2IDMuNTgxNzIgMTYgOFpcIixcbiAgICAgICAgZmlsbENvbG9yOiBcIiNFQjczMjJcIixcbiAgICAgICAgZmlsbE9wYWNpdHk6IDEsXG4gICAgICAgIHN0cm9rZVdlaWdodDogMCxcbiAgICAgIH0sXG4gICAgfSxcbiAgfTtcblxuICAvL3JlbmRlcmVyLnNldE9wdGlvbnMocmVuZGVyT3B0aW9ucyk7XG4gIC8vcmVuZGVyZXIuc2V0RGlyZWN0aW9ucyhkaXJlY3Rpb25zKTtcbiAgLy9yZW5kZXJlci5zZXRNYXAobWFwKTtcblxuICAvKnJldHVybiAoXG4gICAgICA8Um91dGVzXG4gICAgICAgICAgbGFiZWw9e1wiUm91dGVcIn1cbiAgICAgICAgICBhY3RpdmVSb3V0ZT17YWN0aXZlUm91dGV9XG4gICAgICAgICAgcm91dGVzPXtkaXJlY3Rpb25zLnJvdXRlc31cbiAgICAgICAgICBwb3NpdGlvbj17Q29udHJvbFBvc2l0aW9uLkJPVFRPTV9SSUdIVH1cbiAgICAgICAgICBwb3NpdGlvbk9mZnNldD17MTB9XG4gICAgICAgICAgb25Sb3V0ZUNsaWNrZWQ9eyhpbmRleCkgPT4gb25Sb3V0ZUNsaWNrZWQoaW5kZXgpfVxuICAgICAgLz5cbiAgKTsqL1xuICByZXR1cm4gPD48Lz47XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvZ29vZ2xlLWFwaS1yb3V0ZXMtZGlyZWN0aW9ucy1yZW5kZXJlclwiO1xuXG5leHBvcnQgY29uc3QgdXNlR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uc1JlbmRlcmVyID1cbiAgKCk6IGdvb2dsZS5tYXBzLkRpcmVjdGlvbnNSZW5kZXJlciB8IG51bGwgPT4ge1xuICAgIHJldHVybiB1c2VDb250ZXh0KEdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvblJlbmRlcmVyQ29udGV4dCk7XG4gIH07XG4iLCJpbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIHVzZUVmZmVjdCxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5pbXBvcnQgeyB1c2VNYXBzTGlicmFyeSB9IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25SZW5kZXJlckNvbnRleHQ6IFJlYWN0LkNvbnRleHQ8Z29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlbmRlcmVyIHwgbnVsbD4gPVxuICBjcmVhdGVDb250ZXh0KG51bGwpO1xuXG5leHBvcnQgY29uc3QgR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJQcm92aWRlciA9ICh7XG4gIGNoaWxkcmVuLFxufTogUHJvcHNXaXRoQ2hpbGRyZW4pID0+IHtcbiAgY29uc3QgW3NlcnZpY2UsIHNldFNlcnZpY2VdID0gdXNlU3RhdGU8Z29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlbmRlcmVyIHwgbnVsbD4oXG4gICAgbnVsbCxcbiAgKTtcbiAgY29uc3Qgcm91dGVzTGlicmFyeSA9IHVzZU1hcHNMaWJyYXJ5KFwicm91dGVzXCIpO1xuXG4gIC8vIEluaXRpYWxpemUgZGlyZWN0aW9uIHNlcnZpY2UgYW5kIHJlbmRlcmVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFyb3V0ZXNMaWJyYXJ5KSByZXR1cm47XG4gICAgc2V0U2VydmljZShuZXcgcm91dGVzTGlicmFyeS5EaXJlY3Rpb25zUmVuZGVyZXIoKSk7XG4gIH0sIFtyb3V0ZXNMaWJyYXJ5XSk7XG5cbiAgcmV0dXJuIChcbiAgICA8R29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXtzZXJ2aWNlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0dvb2dsZUFwaVJvdXRlc0RpcmVjdGlvblJlbmRlcmVyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJTG9jYXRpb25CYXNlZE1hcEJhc2UsIElQb2ludE9uTWFwIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9tYXAudHlwZXNcIjtcbmltcG9ydCB7IEFkdmFuY2VkTWFya2VyLCB1c2VNYXAgfSBmcm9tIFwiQHZpcy5nbC9yZWFjdC1nb29nbGUtbWFwc1wiO1xuXG5leHBvcnQgY29uc3QgTG9jYXRpb25NYXAgPSAoeyBwb2ludHMsIG9yaWdpbiB9OiBJTG9jYXRpb25CYXNlZE1hcEJhc2UpID0+IHtcbiAgY29uc3QgbWFwID0gdXNlTWFwKCk7XG4gIGlmICghbWFwKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBtYXBQb2ludHMgPSBwb2ludHMgPz8gW107XG5cbiAgY29uc3Qgb25NYXJrZXJDbGlja2VkID0gZnVuY3Rpb24gKFxuICAgIGV2ZW50OiBnb29nbGUubWFwcy5NYXBNb3VzZUV2ZW50LFxuICAgIHBvaW50OiBJUG9pbnRPbk1hcCxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgY2xpY2tlZCA9IHtcbiAgICAgIGV2ZW50OiBldmVudCxcbiAgICAgIHBvaW50OiBwb2ludCxcbiAgICB9O1xuXG4gICAgY29uc29sZS5sb2coY2xpY2tlZCk7XG4gIH07XG5cbiAgY29uc3QgT3JpZ2luTWFya2VyID0gKFxuICAgIDxBZHZhbmNlZE1hcmtlclxuICAgICAgcG9zaXRpb249e29yaWdpbi5sYXRMbmd9XG4gICAgICBrZXk9e29yaWdpbi5rZXl9XG4gICAgICBjbGlja2FibGU9e3RydWV9XG4gICAgICBvbkNsaWNrPXsoZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQpID0+XG4gICAgICAgIG9uTWFya2VyQ2xpY2tlZChldmVudCwgb3JpZ2luKVxuICAgICAgfVxuICAgID5cbiAgICAgIHtvcmlnaW4ubWFya2VyfVxuICAgIDwvQWR2YW5jZWRNYXJrZXI+XG4gICk7XG5cbiAgY29uc3QgUG9pbnRNYXJrZXJzID0gbWFwUG9pbnRzLm1hcCgocG9pbnQsIGkpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPEFkdmFuY2VkTWFya2VyXG4gICAgICAgIHBvc2l0aW9uPXtwb2ludC5sYXRMbmd9XG4gICAgICAgIGtleT17cG9pbnQua2V5fVxuICAgICAgICBjbGlja2FibGU9e3RydWV9XG4gICAgICAgIG9uQ2xpY2s9eyhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCkgPT5cbiAgICAgICAgICBvbk1hcmtlckNsaWNrZWQoZXZlbnQsIG1hcFBvaW50c1tpXSlcbiAgICAgICAgfVxuICAgICAgPlxuICAgICAgICB7cG9pbnQubWFya2VyfVxuICAgICAgPC9BZHZhbmNlZE1hcmtlcj5cbiAgICApO1xuICB9KTtcblxuICByZXR1cm4gKFxuICAgIDw+XG4gICAgICB7T3JpZ2luTWFya2VyfVxuICAgICAge1BvaW50TWFya2Vyc31cbiAgICA8Lz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJTWFwIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9tYXAudHlwZXNcIjtcbmltcG9ydCB7IERpcmVjdGlvbk1hcCB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvY29tcG9uZW50cy9tYXAuZGlyZWN0aW9uXCI7XG5pbXBvcnQgeyBMb2NhdGlvbk1hcCB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvY29tcG9uZW50cy9tYXAubG9jYXRpb25cIjtcbmltcG9ydCB7IHY0IGFzIHV1aWR2NCB9IGZyb20gXCJ1dWlkXCI7XG5pbXBvcnQgeyBDb250cm9sUG9zaXRpb24sIE1hcCBhcyBHb29nbGVNYXAgfSBmcm9tIFwiQHZpcy5nbC9yZWFjdC1nb29nbGUtbWFwc1wiO1xuaW1wb3J0IHsgWm9vbSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tXCI7XG5pbXBvcnQgeyBHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25SZW5kZXJlclByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvZ29vZ2xlLWFwaS1yb3V0ZXMtZGlyZWN0aW9ucy1yZW5kZXJlclwiO1xuXG5leHBvcnQgY29uc3QgTWFwID0gKHsgY2hpbGRyZW4sIG1hcElkLCBkZWZhdWx0Q2VudGVyIH06IElNYXApID0+IHtcbiAgY29uc3QgZGVmYXVsdFpvb20gPSAxMTtcbiAgY29uc3QgbWF4Wm9vbSA9IDE1O1xuICBjb25zdCBtaW5ab29tID0gMTA7XG4gIGNvbnN0IFN0eWxlID0ge1xuICAgIGZsZXg6IFwiYXV0b1wiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEdvb2dsZU1hcFxuICAgICAgaWQ9e3V1aWR2NCgpfVxuICAgICAgZGVmYXVsdENlbnRlcj17ZGVmYXVsdENlbnRlcn1cbiAgICAgIGRlZmF1bHRab29tPXtkZWZhdWx0Wm9vbX1cbiAgICAgIG1hcElkPXttYXBJZH1cbiAgICAgIGdlc3R1cmVIYW5kbGluZz17XCJjb29wZXJhdGl2ZVwifVxuICAgICAgZGlzYWJsZURlZmF1bHRVST17dHJ1ZX1cbiAgICAgIHN0eWxlPXtTdHlsZX1cbiAgICA+XG4gICAgICA8R29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJQcm92aWRlcj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9Hb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25SZW5kZXJlclByb3ZpZGVyPlxuICAgICAgPFpvb21cbiAgICAgICAgcG9zaXRpb249e0NvbnRyb2xQb3NpdGlvbi5SSUdIVF9UT1B9XG4gICAgICAgIHBvc2l0aW9uT2Zmc2V0PXsxMH1cbiAgICAgICAgbWF4Wm9vbT17bWF4Wm9vbX1cbiAgICAgICAgbWluWm9vbT17bWluWm9vbX1cbiAgICAgIC8+XG4gICAgPC9Hb29nbGVNYXA+XG4gICk7XG59O1xuXG5NYXAuTG9jYXRpb24gPSBMb2NhdGlvbk1hcDtcbk1hcC5EaXJlY3Rpb24gPSBEaXJlY3Rpb25NYXA7XG5cbmV4cG9ydCB0eXBlIHsgSU1hcCB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvbWFwLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgWm9vbSBhcyBCYXNlWm9vbSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL2NvbXBvbmVudHMvem9vbVwiO1xuaW1wb3J0IHsgSVpvb20gfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS5lbnVtc1wiO1xuaW1wb3J0IHsgTWFwQ29udHJvbCwgdXNlTWFwIH0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcblxuY29uc3QgRGVmYXVsdDogQ29udGV4dCA9IENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIENvbnRleHQ+ID0gY3JlYXRlQ29udGV4dChEZWZhdWx0KTtcblxuZXhwb3J0IGNvbnN0IFpvb20gPSAoe1xuICBjb250ZXh0LFxuICBwb3NpdGlvbk9mZnNldCxcbiAgcG9zaXRpb24sXG4gIG1heFpvb20sXG4gIG1pblpvb20sXG59OiBJWm9vbSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBEZWZhdWx0O1xuICBjb25zdCBvZmZzZXQgPSBwb3NpdGlvbk9mZnNldCA/PyAwO1xuXG4gIGNvbnN0IG1hcCA9IHVzZU1hcCgpO1xuICBpZiAoIW1hcCkge1xuICAgIGNvbnNvbGUubG9nKFwiVGhpcyBjb21wb25lbnQgbmVlZHMgdG8gYmUgdXNlZCBpbnNpZGUgb2YgYSBNYXBcIik7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICBwYWRkaW5nOiBvZmZzZXQgKyBcInB4XCIsXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8TWFwQ29udHJvbCBwb3NpdGlvbj17cG9zaXRpb259PlxuICAgICAgPGRpdiBzdHlsZT17c3R5bGV9PlxuICAgICAgICA8Q3R4LlByb3ZpZGVyIHZhbHVlPXtDb21wb25lbnRDb250ZXh0fT5cbiAgICAgICAgICA8QmFzZVpvb20gbWFwPXttYXB9IG1heFpvb209e21heFpvb219IG1pblpvb209e21pblpvb219IC8+XG4gICAgICAgIDwvQ3R4LlByb3ZpZGVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9NYXBDb250cm9sPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkWm9vbSxcbiAgU3R5bGVkWm9vbU1pbnVzLFxuICBTdHlsZWRab29tUGx1cyxcbiAgU3R5bGVkWm9vbVNlcGVyYXRvcixcbn0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS5zdHlsZVwiO1xuaW1wb3J0IHsgSVpvb21CYXNlIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlWm9vbSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL2hvb2tzL3VzZS16b29tXCI7XG5pbXBvcnQgeyBDdHggfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgWm9vbSA9ICh7IG1hcCwgbWF4Wm9vbSwgbWluWm9vbSB9OiBJWm9vbUJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2Vab29tKENvbXBvbmVudENvbnRleHQpO1xuICBjb25zdCBkZWZhdWx0Wm9vbSA9IG1hcC5nZXRab29tKCkgPz8gMTI7XG5cbiAgY29uc3QgW2N1cnJlbnRab29tLCBzZXRDdXJyZW50Wm9vbV0gPSB1c2VTdGF0ZTxudW1iZXI+KGRlZmF1bHRab29tKTtcbiAgY29uc3QgW3BsdXNBdmFpbGFibGUsIHNldFBsdXNBdmFpbGFibGVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oXG4gICAgZGVmYXVsdFpvb20gPD0gbWF4Wm9vbSxcbiAgKTtcbiAgY29uc3QgW21pbnVzQXZhaWxhYmxlLCBzZXRNaW51c0F2YWlsYWJsZV0gPSB1c2VTdGF0ZTxib29sZWFuPihcbiAgICBkZWZhdWx0Wm9vbSA+PSBtaW5ab29tLFxuICApO1xuXG4gIGNvbnN0IHNldEF2YWlsYWJsZSA9ICh1cGRhdGU6IG51bWJlcikgPT4ge1xuICAgIGlmICh1cGRhdGUgPj0gbWF4Wm9vbSkge1xuICAgICAgc2V0UGx1c0F2YWlsYWJsZShmYWxzZSk7XG4gICAgICBzZXRNaW51c0F2YWlsYWJsZSh0cnVlKTtcbiAgICB9IGVsc2UgaWYgKHVwZGF0ZSA8PSBtaW5ab29tKSB7XG4gICAgICBzZXRQbHVzQXZhaWxhYmxlKHRydWUpO1xuICAgICAgc2V0TWludXNBdmFpbGFibGUoZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRQbHVzQXZhaWxhYmxlKHRydWUpO1xuICAgICAgc2V0TWludXNBdmFpbGFibGUodHJ1ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQ2xpY2tQbHVzID0gKCkgPT4ge1xuICAgIGlmIChwbHVzQXZhaWxhYmxlKSB7XG4gICAgICBjb25zdCB1cGRhdGUgPSBjdXJyZW50Wm9vbSA+PSBtYXhab29tID8gbWF4Wm9vbSA6IGN1cnJlbnRab29tICsgMTtcbiAgICAgIHNldEN1cnJlbnRab29tKHVwZGF0ZSk7XG4gICAgICBzZXRBdmFpbGFibGUodXBkYXRlKTtcbiAgICAgIG1hcC5zZXRab29tKHVwZGF0ZSk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9uQ2xpY2tNaW51cyA9ICgpID0+IHtcbiAgICBpZiAobWludXNBdmFpbGFibGUpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IGN1cnJlbnRab29tIDw9IG1pblpvb20gPyBtaW5ab29tIDogY3VycmVudFpvb20gLSAxO1xuICAgICAgc2V0Q3VycmVudFpvb20odXBkYXRlKTtcbiAgICAgIHNldEF2YWlsYWJsZSh1cGRhdGUpO1xuICAgICAgbWFwLnNldFpvb20odXBkYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkWm9vbSB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFpvb21QbHVzIG9uQ2xpY2s9e29uQ2xpY2tQbHVzfT5cbiAgICAgICAgPEljb25cbiAgICAgICAgICB0eXBlPXtJY29uVHlwZS5BRER9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17XCJcIn1cbiAgICAgICAgICBjb250ZXh0PXtwbHVzQXZhaWxhYmxlID8gSWNvbkNvbnRleHQuREFSSyA6IEljb25Db250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRab29tUGx1cz5cbiAgICAgIDxTdHlsZWRab29tU2VwZXJhdG9yIC8+XG4gICAgICA8U3R5bGVkWm9vbU1pbnVzIG9uQ2xpY2s9e29uQ2xpY2tNaW51c30+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgdHlwZT17SWNvblR5cGUuTUlOVVN9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17XCJcIn1cbiAgICAgICAgICBjb250ZXh0PXttaW51c0F2YWlsYWJsZSA/IEljb25Db250ZXh0LkRBUksgOiBJY29uQ29udGV4dC5ESVNBQkxFRH1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkWm9vbU1pbnVzPlxuICAgIDwvU3R5bGVkWm9vbT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSVpvb21UaGVtZSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFpvb20gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElab29tVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMDtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRab29tU2VwZXJhdG9yID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWm9vbVRoZW1lIH0+YFxuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogI2U0ZTRlNDtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWm9vbVBsdXMgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElab29tVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHggOHB4IDAgMDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFpvb21NaW51cyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVpvb21UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCA4cHggOHB4O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25ab29tID0gc3R5bGVkKFN0eWxlZFpvb20pPHtcbiAgdGhlbWU6IElab29tVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLmVudW1zXCI7XG5pbXBvcnQgeyBJWm9vbVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlWm9vbSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgQ29udGV4dCk6IElab29tVGhlbWUgPT4ge1xuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1tDb250ZXh0LlNUQU5EQVJELCB7fV1dKTtcbn07XG4iLCJpbXBvcnQgeyBJQWNjb3JkZW9uIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQWNjb3JkZW9uIGFzIEFjY29yZGVvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWNjb3JkZW9uXCI7XG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9jb21wb25lbnRzL2FjY29yZGVvbi5oZWFkZXJcIjtcbmltcG9ydCB7IENvbnRlbnQgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9jb21wb25lbnRzL2FjY29yZGVvbi5jb250ZW50XCI7XG5pbXBvcnQge1xuICBBY2NvcmRlb25DdHgsXG4gIEFjY29yZGVvbkN0eERlZmF1bHQsXG59IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5jb250ZXh0XCI7XG5pbXBvcnQgeyBBY2NvcmRlb25Db250ZXh0IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBBY2NvcmRlb24gPSAoeyBjaGlsZHJlbiwgY29udGV4dCB9OiBJQWNjb3JkZW9uKSA9PiB7XG4gIGNvbnN0IERlZmF1bHRBY2NvcmRlb25Db250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBBY2NvcmRlb25DdHhEZWZhdWx0O1xuICBjb25zdCBbQWNjb3JkZW9uQ29udGV4dCwgc2V0QWNjb3JkZW9uQ29udGV4dF0gPSB1c2VTdGF0ZShcbiAgICBEZWZhdWx0QWNjb3JkZW9uQ29udGV4dCxcbiAgKTtcblxuICBjb25zdCB2YWx1ZSA9IHsgQWNjb3JkZW9uQ29udGV4dCwgc2V0QWNjb3JkZW9uQ29udGV4dCB9O1xuXG4gIHJldHVybiAoXG4gICAgPEFjY29yZGVvbkN0eC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAgPEFjY29yZGVvbkNvbXBvbmVudD57Y2hpbGRyZW59PC9BY2NvcmRlb25Db21wb25lbnQ+XG4gICAgPC9BY2NvcmRlb25DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5BY2NvcmRlb24uSGVhZGVyID0gSGVhZGVyO1xuQWNjb3JkZW9uLkNvbnRlbnQgPSBDb250ZW50O1xuXG5leHBvcnQgeyBBY2NvcmRlb25Db250ZXh0IH07XG5leHBvcnQgdHlwZSB7IElBY2NvcmRlb24gfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24udHlwZXNcIjtcbiIsImltcG9ydCB7IElBY2NvcmRlb25UaGVtZSB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEFjY29yZGVvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUFjY29yZGVvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEFjY29yZGVvbkhlYWRlciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUFjY29yZGVvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRBY2NvcmRlb25Cb2R5ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQWNjb3JkZW9uVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRBY2NvcmRlb25Db250ZW50ID0gc3R5bGVkLmRpdjx7ICRpc09wZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtaGVpZ2h0OiAkeyh7ICRpc09wZW4gfSkgPT4gKCRpc09wZW4gPyBcIjEwMDBweFwiIDogXCIwXCIpfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgb3BhY2l0eTogJHsoeyAkaXNPcGVuIH0pID0+ICgkaXNPcGVuID8gXCIxXCIgOiBcIjBcIil9O1xuYDtcbiIsImltcG9ydCB7IFN0eWxlZEFjY29yZGVvbkNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5zdHlsZVwiO1xuaW1wb3J0IHsgQWNjb3JkZW9uVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEFjY29yZGVvbiA9ICh7IGNoaWxkcmVuIH06IEFjY29yZGVvblRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIHJldHVybiA8U3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyPntjaGlsZHJlbn08L1N0eWxlZEFjY29yZGVvbkNvbnRhaW5lcj47XG59O1xuIiwiaW1wb3J0IHsgU3R5bGVkQWNjb3JkZW9uSGVhZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQWNjb3JkZW9uQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEhlYWRlciA9ICh7IGNoaWxkcmVuIH06IEFjY29yZGVvblRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgQWNjb3JkZW9uQ29udGV4dCwgc2V0QWNjb3JkZW9uQ29udGV4dCB9OiBhbnkgPVxuICAgIHVzZUNvbnRleHQoQWNjb3JkZW9uQ3R4KTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRBY2NvcmRlb25IZWFkZXJcbiAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgc2V0QWNjb3JkZW9uQ29udGV4dChcbiAgICAgICAgICBBY2NvcmRlb25Db250ZXh0ID09PSBBY2NvcmRlb25Db250ZXh0Lk9QRU5cbiAgICAgICAgICAgID8gQWNjb3JkZW9uQ29udGV4dC5DTE9TRURcbiAgICAgICAgICAgIDogQWNjb3JkZW9uQ29udGV4dC5PUEVOLFxuICAgICAgICApO1xuICAgICAgfX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWRBY2NvcmRlb25IZWFkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHtcbiAgU3R5bGVkQWNjb3JkZW9uQm9keSxcbiAgU3R5bGVkQWNjb3JkZW9uQ29udGVudCxcbn0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQWNjb3JkZW9uQ3R4IH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmNvbnRleHRcIjtcbmltcG9ydCB7IEFjY29yZGVvbkNvbnRleHQgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuXG5leHBvcnQgY29uc3QgQ29udGVudCA9ICh7IGNoaWxkcmVuIH06IEFjY29yZGVvblRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgQ29tcG9uZW50Q29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IENvbXBvbmVudENvbnRleHQgPT09IEFjY29yZGVvbkNvbnRleHQuT1BFTjtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRBY2NvcmRlb25Cb2R5PlxuICAgICAgPFN0eWxlZEFjY29yZGVvbkNvbnRlbnQgJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRBY2NvcmRlb25Db250ZW50PlxuICAgIDwvU3R5bGVkQWNjb3JkZW9uQm9keT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhY2tkcm9wVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCYWNrZHJvcCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUJhY2tkcm9wVGhlbWUgfT5gXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBwb2ludGVyLWV2ZW50czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBvaW50ZXJFdmVudHN9O1xuICB6LWluZGV4OiA4O1xuYDtcbiIsImltcG9ydCB7IFN0eWxlZEJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC5zdHlsZVwiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUJhY2tkcm9wQmFzZSB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3AvYmFja2Ryb3AudHlwZXNcIjtcbmltcG9ydCB7IEJhY2tkcm9wQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5cbmV4cG9ydCBjb25zdCBCYWNrZHJvcCA9ICh7IG9uQ2xpY2sgfTogSUJhY2tkcm9wQmFzZSkgPT4ge1xuICBjb25zdCB7IGlzQmFja2Ryb3BWaXNpYmxlIH0gPSB1c2VDb250ZXh0KEJhY2tkcm9wQ29udGV4dCk7XG5cbiAgY29uc3QgVGhlbWVWaXNpYmxlID0ge1xuICAgIGJhY2tncm91bmQ6IFwiIzc4N0I3ODREXCIsXG4gICAgcG9pbnRlckV2ZW50czogXCJhdXRvXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIHBvaW50ZXJFdmVudHM6IFwibm9uZVwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJhY2tkcm9wXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgdGhlbWU9e2lzQmFja2Ryb3BWaXNpYmxlID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59XG4gICAgLz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCwgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCYWNrZHJvcCB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3BcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCYWNrZHJvcENvbnRleHRUeXBlIHtcbiAgaXNCYWNrZHJvcFZpc2libGU6IGJvb2xlYW47XG4gIHNldElzQmFja2Ryb3BWaXNpYmxlOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59XG5cbmV4cG9ydCBjb25zdCBCYWNrZHJvcENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEJhY2tkcm9wQ29udGV4dFR5cGU+KHtcbiAgaXNCYWNrZHJvcFZpc2libGU6IGZhbHNlLFxuICBzZXRJc0JhY2tkcm9wVmlzaWJsZTogKHZhbHVlKSA9PiB7XG4gICAgLy8gRGVmYXVsdCBmdW5jdGlvbiBzaG91bGQgaWRlYWxseSBsb2cgYW4gZXJyb3Igb3IgYmUgYSBuby1vcFxuICAgIGNvbnNvbGUud2FybihcInNldElzQmFja2Ryb3BWaXNpYmxlIGNhbGxlZCB3aXRob3V0IGEgcHJvdmlkZXJcIik7XG4gIH0sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJQmFja2Ryb3BQcm92aWRlciBleHRlbmRzIFByb3BzV2l0aENoaWxkcmVuIHtcbiAgb25DbGljaz86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCYWNrZHJvcFByb3ZpZGVyID0gKHsgY2hpbGRyZW4sIG9uQ2xpY2sgfTogSUJhY2tkcm9wUHJvdmlkZXIpID0+IHtcbiAgY29uc3QgW2lzQmFja2Ryb3BWaXNpYmxlLCBzZXRJc0JhY2tkcm9wVmlzaWJsZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3QgdmFsdWUgPSB7IGlzQmFja2Ryb3BWaXNpYmxlLCBzZXRJc0JhY2tkcm9wVmlzaWJsZSB9O1xuXG4gIHJldHVybiAoXG4gICAgPEJhY2tkcm9wQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAge2NoaWxkcmVufVxuICAgICAgPEJhY2tkcm9wIG9uQ2xpY2s9e29uQ2xpY2t9IC8+XG4gICAgPC9CYWNrZHJvcENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFja2Ryb3AgYXMgQmFzZUJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9jb21wb25lbnRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBJQmFja2Ryb3AgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBCYWNrZHJvcCA9ICh7IG9uQ2xpY2sgfTogSUJhY2tkcm9wKSA9PiB7XG4gIHJldHVybiBjcmVhdGVQb3J0YWwoPEJhc2VCYWNrZHJvcCBvbkNsaWNrPXtvbkNsaWNrfSAvPiwgZG9jdW1lbnQuYm9keSk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElCYWNrZHJvcCB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3AvYmFja2Ryb3AudHlwZXNcIjtcbiIsImltcG9ydCB7IFByb3BzV2l0aENoaWxkcmVuLCB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRCbHVyIH0gZnJvbSBcIkAvbGF5b3V0cy9ibHVyL2JsdXIuc3R5bGVcIjtcbmltcG9ydCB7IEJsdXJDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvYmx1clwiO1xuXG5leHBvcnQgY29uc3QgQmx1ciA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIGNvbnN0IHsgaXNCbHVycmVkIH0gPSB1c2VDb250ZXh0KEJsdXJDb250ZXh0KTtcblxuICBjb25zdCBUaGVtZUJsdXJyZWQgPSB7XG4gICAgZmlsdGVyOiBcImJsdXIoMXB4KTtcIixcbiAgfTtcblxuICBjb25zdCBUaGVtZURlZmF1bHQgPSB7XG4gICAgZmlsdGVyOiBcIm5vbmVcIixcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCbHVyIHRoZW1lPXtpc0JsdXJyZWQgPyBUaGVtZUJsdXJyZWQgOiBUaGVtZURlZmF1bHR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkQmx1cj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJhY2tkcm9wVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCbHVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQmFja2Ryb3BUaGVtZSB9PmBcbiAgKiB7XG4gICAgZmlsdGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZmlsdGVyfTtcbiAgfVxuYDtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJsdXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JsdXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBCbHVyQ29udGV4dFR5cGUge1xuICBpc0JsdXJyZWQ6IGJvb2xlYW47XG4gIHNldElzQmx1cnJlZDogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4+O1xufVxuXG5leHBvcnQgY29uc3QgQmx1ckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PEJsdXJDb250ZXh0VHlwZT4oe1xuICBpc0JsdXJyZWQ6IGZhbHNlLFxuICBzZXRJc0JsdXJyZWQ6ICgpID0+IHtcbiAgICBjb25zb2xlLndhcm4oXCJzZXRJc0JsdXJyZWQgY2FsbGVkIHdpdGhvdXQgYSBwcm92aWRlclwiKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElCbHVyUHJvdmlkZXIgZXh0ZW5kcyBQcm9wc1dpdGhDaGlsZHJlbiB7fVxuXG5leHBvcnQgY29uc3QgQmx1clByb3ZpZGVyOiBSZWFjdC5GQzxQcm9wc1dpdGhDaGlsZHJlbjx7fT4+ID0gKHsgY2hpbGRyZW4gfSkgPT4ge1xuICBjb25zdCBbaXNCbHVycmVkLCBzZXRJc0JsdXJyZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB2YWx1ZSA9IHsgaXNCbHVycmVkLCBzZXRJc0JsdXJyZWQgfTtcblxuICByZXR1cm4gKFxuICAgIDxCbHVyQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAgPEJsdXI+e2NoaWxkcmVufTwvQmx1cj5cbiAgICA8L0JsdXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJsdXIgYXMgQmFzZUJsdXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JsdXIvY29tcG9uZW50cy9ibHVyXCI7XG5pbXBvcnQgeyBJQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1ci9ibHVyLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBCbHVyID0gKHsgY2hpbGRyZW4gfTogSUJsdXIpID0+IHtcbiAgcmV0dXJuIDxCYXNlQmx1ciBjaGlsZHJlbj17Y2hpbGRyZW59IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1ci9ibHVyLnR5cGVzXCI7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUNvbGxhcHNhYmxlU2Vjb25kYXJ5VGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNhYmxlQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMTtcbiAgZmxleC1iYXNpczogYXV0bztcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZUFkZGl0aW9uYWwgPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElDb2xsYXBzYWJsZVNlY29uZGFyeVRoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBmbGV4LXNocmluazogMTtcbiAgZmxleC1iYXNpczogYXV0bztcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgdHJhbnNmb3JtOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudHJhbnNmb3JtfTtcbiAgbWF4LXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWF4V2lkdGh9O1xuICB6LWluZGV4OiAyO1xuICBvcGFjaXR5OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUub3BhY2l0eX07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sbGFwc2FibGVFeHBhbmRDb250ZW50QWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDM7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZUNvbGxhcHNlQ29udGVudEFjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogMTBweDtcbiAgei1pbmRleDogMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuYDtcbiIsImltcG9ydCB7IElDb2xsYXBzYWJsZUJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRDb2xsYXBzYWJsZSxcbiAgU3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsLFxuICBTdHlsZWRDb2xsYXBzYWJsZUNvbGxhcHNlQ29udGVudEFjdGlvbixcbiAgU3R5bGVkQ29sbGFwc2FibGVDb250ZW50LFxuICBTdHlsZWRDb2xsYXBzYWJsZUV4cGFuZENvbnRlbnRBY3Rpb24sXG59IGZyb20gXCJAL2xheW91dHMvY29sbGFwc2FibGUvY29sbGFwc2FibGUuc3R5bGVcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IENvbGxhcHNhYmxlID0gKHtcbiAgY29udGVudCxcbiAgYWRkaXRpb25hbCxcbiAgd2l0aENvbnRlbnRFeHBhbmQsXG4gIHdpdGhDb250ZW50Q29sbGFwc2UsXG59OiBJQ29sbGFwc2FibGVCYXNlKSA9PiB7XG4gIGNvbnN0IFtpc0NvbnRlbnRFeHBhbmRlZCwgc2V0Q29udGVudEV4cGFuZGVkXSA9XG4gICAgUmVhY3QudXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0IGRvRXhwYW5kQ29udGVudCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50RXhwYW5kZWQodHJ1ZSk7XG4gIH07XG5cbiAgY29uc3QgZG9Db2xsYXBzZUNvbnRlbnQgPSAoKSA9PiB7XG4gICAgc2V0Q29udGVudEV4cGFuZGVkKGZhbHNlKTtcbiAgfTtcblxuICBjb25zdCBDb250ZW50RXhwYW5kZWRUaGVtZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgxMDAlKTtcIixcbiAgICBtYXhXaWR0aDogXCIwXCIsXG4gICAgb3BhY2l0eTogMCxcbiAgfTtcblxuICBjb25zdCBDb250ZW50Q29sbGFwc2VkVGhlbWUgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVgoMCUpO1wiLFxuICAgIG1heFdpZHRoOiBcIjEwMCVcIixcbiAgICBvcGFjaXR5OiAxLFxuICB9O1xuXG4gIGNvbnN0IENvbGxhcHNlQ29udGVudCA9IHdpdGhDb250ZW50Q29sbGFwc2UgPyAoXG4gICAgPFN0eWxlZENvbGxhcHNhYmxlQ29sbGFwc2VDb250ZW50QWN0aW9uIG9uQ2xpY2s9e2RvQ29sbGFwc2VDb250ZW50fT5cbiAgICAgIHt3aXRoQ29udGVudENvbGxhcHNlfVxuICAgIDwvU3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24+XG4gICkgOiBudWxsO1xuXG4gIGNvbnN0IEV4cGFuZENvbnRlbnQgPSAoXG4gICAgPFN0eWxlZENvbGxhcHNhYmxlRXhwYW5kQ29udGVudEFjdGlvbiBvbkNsaWNrPXtkb0V4cGFuZENvbnRlbnR9PlxuICAgICAge3dpdGhDb250ZW50RXhwYW5kfVxuICAgIDwvU3R5bGVkQ29sbGFwc2FibGVFeHBhbmRDb250ZW50QWN0aW9uPlxuICApO1xuXG4gIGNvbnN0IENvbnRlbnQgPSAoXG4gICAgPFN0eWxlZENvbGxhcHNhYmxlQ29udGVudD57Y29udGVudH08L1N0eWxlZENvbGxhcHNhYmxlQ29udGVudD5cbiAgKTtcblxuICBjb25zdCBBZGRpdGlvbmFsID0gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZUFkZGl0aW9uYWxcbiAgICAgIHRoZW1lPXtpc0NvbnRlbnRFeHBhbmRlZCA/IENvbnRlbnRFeHBhbmRlZFRoZW1lIDogQ29udGVudENvbGxhcHNlZFRoZW1lfVxuICAgID5cbiAgICAgIHtpc0NvbnRlbnRFeHBhbmRlZCA/IG51bGwgOiBFeHBhbmRDb250ZW50fVxuICAgICAge2FkZGl0aW9uYWx9XG4gICAgPC9TdHlsZWRDb2xsYXBzYWJsZUFkZGl0aW9uYWw+XG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29sbGFwc2FibGU+XG4gICAgICB7Q29udGVudH1cbiAgICAgIHtpc0NvbnRlbnRFeHBhbmRlZCA/IENvbGxhcHNlQ29udGVudCA6IG51bGx9XG4gICAgICB7QWRkaXRpb25hbH1cbiAgICA8L1N0eWxlZENvbGxhcHNhYmxlPlxuICApO1xufTtcbiIsImltcG9ydCB7IElDb2xsYXBzYWJsZSB9IGZyb20gXCJAL2xheW91dHMvY29sbGFwc2FibGUvY29sbGFwc2FibGUudHlwZXNcIjtcbmltcG9ydCB7IENvbGxhcHNhYmxlIGFzIEJhc2VDb2xsYXBzYWJsZSB9IGZyb20gXCJAL2xheW91dHMvY29sbGFwc2FibGUvY29tcG9uZW50cy9jb2xsYXBzYWJsZVwiO1xuXG5leHBvcnQgY29uc3QgQ29sbGFwc2FibGUgPSAoe1xuICBjb250ZW50LFxuICBhZGRpdGlvbmFsLFxuICB3aXRoQ29udGVudEV4cGFuZCxcbiAgd2l0aENvbnRlbnRDb2xsYXBzZSxcbn06IElDb2xsYXBzYWJsZSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCYXNlQ29sbGFwc2FibGVcbiAgICAgIGNvbnRlbnQ9e2NvbnRlbnR9XG4gICAgICBhZGRpdGlvbmFsPXthZGRpdGlvbmFsfVxuICAgICAgd2l0aENvbnRlbnRFeHBhbmQ9e3dpdGhDb250ZW50RXhwYW5kfVxuICAgICAgd2l0aENvbnRlbnRDb2xsYXBzZT17d2l0aENvbnRlbnRDb2xsYXBzZX1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJQ29sbGFwc2FibGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlL2NvbGxhcHNhYmxlLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBJRHJhd2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnR5cGVzXCI7XG5pbXBvcnQgeyBEcmF3ZXIgYXMgQmFzZURyYXdlciB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyL2NvbXBvbmVudHMvZHJhd2VyXCI7XG5pbXBvcnQgeyBEcmF3ZXJTaXplIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBEcmF3ZXIgPSAoeyBjaGlsZHJlbiwgc2l6ZSB9OiBJRHJhd2VyKSA9PiB7XG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPEJhc2VEcmF3ZXIgY2hpbGRyZW49e2NoaWxkcmVufSBzaXplPXtzaXplID8gc2l6ZSA6IERyYXdlclNpemUuTEFSR0V9IC8+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuXG5leHBvcnQgeyBEcmF3ZXJTaXplIH07XG5leHBvcnQgdHlwZSB7IElEcmF3ZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlci9kcmF3ZXIudHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElEcmF3ZXJCYXNlIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWREcmF3ZXIsXG4gIFN0eWxlZERyYXdlckNvbnRlbnQsXG4gIFN0eWxlZERyYXdlckhlYWRlcixcbn0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnN0eWxlXCI7XG5pbXBvcnQgeyBEcmF3ZXJDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvZHJhd2VyXCI7XG5pbXBvcnQgeyBCYWNrZHJvcENvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgQmx1ckNvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9ibHVyXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBEcmF3ZXJTaXplIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXJcIjtcblxuZXhwb3J0IGNvbnN0IERyYXdlciA9ICh7IGNoaWxkcmVuLCBzaXplIH06IElEcmF3ZXJCYXNlKSA9PiB7XG4gIGNvbnN0IHsgaXNPcGVuLCBzZXRJc09wZW4gfSA9IHVzZUNvbnRleHQoRHJhd2VyQ29udGV4dCk7XG4gIGNvbnN0IHsgc2V0SXNCYWNrZHJvcFZpc2libGUgfSA9IHVzZUNvbnRleHQoQmFja2Ryb3BDb250ZXh0KTtcbiAgY29uc3QgeyBzZXRJc0JsdXJyZWQgfSA9IHVzZUNvbnRleHQoQmx1ckNvbnRleHQpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc29sZS5sb2coXCJjYWxsZVwiKTtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBzZXRJc0JsdXJyZWQodHJ1ZSk7XG4gICAgICBzZXRJc0JhY2tkcm9wVmlzaWJsZSh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0SXNCbHVycmVkKGZhbHNlKTtcbiAgICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBUcmFuc2Zvcm1lZFNpemUgPSBtYXRjaChzaXplLCBbXG4gICAgW0RyYXdlclNpemUuU01BTEwsIFwiMjV2d1wiXSxcbiAgICBbRHJhd2VyU2l6ZS5NRURJVU0sIFwiNTB2d1wiXSxcbiAgICBbRHJhd2VyU2l6ZS5MQVJHRSwgXCI4NXZ3XCJdLFxuICAgIFtEcmF3ZXJTaXplLkZVTEwsIFwiMTAwdndcIl0sXG4gIF0pO1xuXG4gIGNvbnN0IFRoZW1lVmlzaWJsZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwKTtcIixcbiAgICBtYXhXaWR0aDogXCIxMDAlXCIsXG4gICAgd2lkdGg6IFRyYW5zZm9ybWVkU2l6ZSxcbiAgfTtcblxuICBjb25zdCBUaGVtZUhpZGRlbiA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgxMDB2aCk7XCIsXG4gICAgbWF4V2lkdGg6IFwiMFwiLFxuICAgIHdpZHRoOiBUcmFuc2Zvcm1lZFNpemUsXG4gIH07XG5cbiAgY29uc3QgY2xvc2VEcmF3ZXIgPSAoKSA9PiB7XG4gICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICBzZXRJc0JhY2tkcm9wVmlzaWJsZShmYWxzZSk7XG4gICAgc2V0SXNCbHVycmVkKGZhbHNlKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWREcmF3ZXIgdGhlbWU9e2lzT3BlbiA/IFRoZW1lVmlzaWJsZSA6IFRoZW1lSGlkZGVufT5cbiAgICAgIDxTdHlsZWREcmF3ZXJIZWFkZXI+XG4gICAgICAgIDxkaXYgb25DbGljaz17Y2xvc2VEcmF3ZXJ9PkNsb3NlPC9kaXY+XG4gICAgICA8L1N0eWxlZERyYXdlckhlYWRlcj5cbiAgICAgIDxTdHlsZWREcmF3ZXJDb250ZW50PntjaGlsZHJlbn08L1N0eWxlZERyYXdlckNvbnRlbnQ+XG4gICAgPC9TdHlsZWREcmF3ZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElPdmVybGF5VGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuaW1wb3J0IHsgSURyYXdlclRoZW1lIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvZHJhd2VyLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREcmF3ZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElEcmF3ZXJUaGVtZSB9PmBcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS53aWR0aH07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI2ZmZmRmODtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC44cyBlYXNlO1xuICB0cmFuc2Zvcm06ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS50cmFuc2Zvcm19O1xuICBtYXgtd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXhXaWR0aH07XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxcHggM3B4IDAgcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAwIDFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xuICB6LWluZGV4OiA5O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHdoaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERyYXdlckhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICNmYmY5ZjU7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgcGFkZGluZzogMTBweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERyYXdlckNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuYDtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJhY2tkcm9wUHJvdmlkZXIgfSBmcm9tIFwiQC9jb250ZXh0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgRHJhd2VyLCBEcmF3ZXJTaXplIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXJcIjtcbmltcG9ydCB7IEJsdXJDb250ZXh0VHlwZSB9IGZyb20gXCJAL2NvbnRleHRzL2JsdXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBEcmF3ZXJDb250ZXh0VHlwZSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgc2V0SXNPcGVuOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59XG5cbmV4cG9ydCBjb25zdCBEcmF3ZXJDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxEcmF3ZXJDb250ZXh0VHlwZT4oe1xuICBpc09wZW46IGZhbHNlLFxuICBzZXRJc09wZW46ICgpID0+IHtcbiAgICBjb25zb2xlLndhcm4oXCJzZXRJc09wZW4gY2FsbGVkIHdpdGhvdXQgYSBwcm92aWRlclwiKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElEcmF3ZXJQcm92aWRlciBleHRlbmRzIFByb3BzV2l0aENoaWxkcmVuIHtcbiAgZHJhd2VyPzogUmVhY3QuUmVhY3ROb2RlO1xuICBzaXplPzogRHJhd2VyU2l6ZTtcbn1cblxuZXhwb3J0IGNvbnN0IERyYXdlclByb3ZpZGVyID0gKHsgY2hpbGRyZW4sIGRyYXdlciwgc2l6ZSB9OiBJRHJhd2VyUHJvdmlkZXIpID0+IHtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgdmFsdWUgPSB7IGlzT3Blbiwgc2V0SXNPcGVuIH07XG5cbiAgcmV0dXJuIChcbiAgICA8RHJhd2VyQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAgPEJhY2tkcm9wUHJvdmlkZXIgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPERyYXdlciBzaXplPXtzaXplfT57ZHJhd2VyfTwvRHJhd2VyPlxuICAgICAgPC9CYWNrZHJvcFByb3ZpZGVyPlxuICAgIDwvRHJhd2VyQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJleHBvcnQgZW51bSBEcmF3ZXJTaXplIHtcbiAgU01BTEwgPSBcIlNNQUxMXCIsXG4gIE1FRElVTSA9IFwiTUVESVVNXCIsXG4gIExBUkdFID0gXCJMQVJHRVwiLFxuICBGVUxMID0gXCJGVUxMXCIsXG59XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tIFwicmVhY3QtZG9tXCI7XG5pbXBvcnQgeyBJTW9kYWwgfSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL21vZGFsLnR5cGVzXCI7XG5pbXBvcnQgeyBNb2RhbCBhcyBCYXNlTW9kYWwgfSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL2NvbXBvbmVudHMvbW9kYWxcIjtcblxuZXhwb3J0IGNvbnN0IE1vZGFsID0gKHsgY2hpbGRyZW4gfTogSU1vZGFsKSA9PiB7XG4gIHJldHVybiBjcmVhdGVQb3J0YWwoPEJhc2VNb2RhbCBjaGlsZHJlbj17Y2hpbGRyZW59IC8+LCBkb2N1bWVudC5ib2R5KTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSU1vZGFsIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbC9tb2RhbC50eXBlc1wiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSU1vZGFsQmFzZSB9IGZyb20gXCJAL2xheW91dHMvbW9kYWwvbW9kYWwudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE1vZGFsLFxuICBTdHlsZWRNb2RhbENvbnRlbnQsXG4gIFN0eWxlZE1vZGFsSGVhZGVyLFxuICBTdHlsZWRNb2RhbEhlYWRlckNsb3NlLFxufSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL21vZGFsLnN0eWxlXCI7XG5pbXBvcnQgeyBCYWNrZHJvcENvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgQmx1ckNvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9ibHVyXCI7XG5pbXBvcnQgeyBNb2RhbENvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9tb2RhbFwiO1xuXG5leHBvcnQgY29uc3QgTW9kYWwgPSAoeyBjaGlsZHJlbiB9OiBJTW9kYWxCYXNlKSA9PiB7XG4gIGNvbnN0IHsgaXNPcGVuLCBzZXRJc09wZW4gfSA9IHVzZUNvbnRleHQoTW9kYWxDb250ZXh0KTtcbiAgY29uc3QgeyBzZXRJc0JhY2tkcm9wVmlzaWJsZSB9ID0gdXNlQ29udGV4dChCYWNrZHJvcENvbnRleHQpO1xuICBjb25zdCB7IHNldElzQmx1cnJlZCB9ID0gdXNlQ29udGV4dChCbHVyQ29udGV4dCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBzZXRJc0JsdXJyZWQodHJ1ZSk7XG4gICAgICBzZXRJc0JhY2tkcm9wVmlzaWJsZSh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0SXNCbHVycmVkKGZhbHNlKTtcbiAgICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBUaGVtZVZpc2libGUgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuICB9O1xuXG4gIGNvbnN0IFRoZW1lSGlkZGVuID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDEwMHZoKSB0cmFuc2xhdGVYKC01MCUpO1wiLFxuICAgIG1heEhlaWdodDogXCIwXCIsXG4gIH07XG5cbiAgY29uc3QgY2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKGZhbHNlKTtcbiAgICBzZXRJc0JsdXJyZWQoZmFsc2UpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE1vZGFsIHRoZW1lPXtpc09wZW4gPyBUaGVtZVZpc2libGUgOiBUaGVtZUhpZGRlbn0+XG4gICAgICA8U3R5bGVkTW9kYWxIZWFkZXI+XG4gICAgICAgIDxTdHlsZWRNb2RhbEhlYWRlckNsb3NlIG9uQ2xpY2s9e2Nsb3NlTW9kYWx9PlxuICAgICAgICAgIENsb3NlXG4gICAgICAgIDwvU3R5bGVkTW9kYWxIZWFkZXJDbG9zZT5cbiAgICAgIDwvU3R5bGVkTW9kYWxIZWFkZXI+XG4gICAgICA8U3R5bGVkTW9kYWxDb250ZW50PntjaGlsZHJlbn08L1N0eWxlZE1vZGFsQ29udGVudD5cbiAgICA8L1N0eWxlZE1vZGFsPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJTW9kYWxUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvbW9kYWwvbW9kYWwudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJTW9kYWxUaGVtZSB9PmBcbiAgaGVpZ2h0OiA1MHZoO1xuICB3aWR0aDogNTB2dztcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS50cmFuc2Zvcm19O1xuICBtYXgtaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWF4SGVpZ2h0fTtcbiAgYmFja2dyb3VuZDogI2ZmZmRmODtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3gtc2hhZG93OlxuICAgIDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuICB6LWluZGV4OiA5O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZjZmMmU5O1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxIZWFkZXJDbG9zZSA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1vZGFsQ29udGVudCA9IHN0eWxlZC5kaXZgYDtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IE1vZGFsIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbFwiO1xuaW1wb3J0IHsgQmFja2Ryb3BQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBCbHVyQ29udGV4dFR5cGUgfSBmcm9tIFwiQC9jb250ZXh0cy9ibHVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxDb250ZXh0VHlwZSB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbiAgc2V0SXNPcGVuOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59XG5cbmV4cG9ydCBjb25zdCBNb2RhbENvbnRleHQgPSBjcmVhdGVDb250ZXh0PE1vZGFsQ29udGV4dFR5cGU+KHtcbiAgaXNPcGVuOiBmYWxzZSxcbiAgc2V0SXNPcGVuOiAoKSA9PiB7XG4gICAgY29uc29sZS53YXJuKFwic2V0SXNPcGVuIGNhbGxlZCB3aXRob3V0IGEgcHJvdmlkZXJcIik7XG4gIH0sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJTW9kYWxQcm92aWRlciBleHRlbmRzIFByb3BzV2l0aENoaWxkcmVuIHtcbiAgbW9kYWw/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBNb2RhbFByb3ZpZGVyID0gKHsgY2hpbGRyZW4sIG1vZGFsIH06IElNb2RhbFByb3ZpZGVyKSA9PiB7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IHZhbHVlID0geyBpc09wZW4sIHNldElzT3BlbiB9O1xuXG4gIHJldHVybiAoXG4gICAgPE1vZGFsQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17dmFsdWV9PlxuICAgICAgPEJhY2tkcm9wUHJvdmlkZXIgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPE1vZGFsPnttb2RhbH08L01vZGFsPlxuICAgICAgPC9CYWNrZHJvcFByb3ZpZGVyPlxuICAgIDwvTW9kYWxDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0LCB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE92ZXJsYXksXG4gIFN0eWxlZE92ZXJsYXlDb250ZW50LFxuICBTdHlsZWRPdmVybGF5SGVhZGVyLFxuICBTdHlsZWRPdmVybGF5SGVhZGVyQXJlYSxcbiAgU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlLFxufSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS5zdHlsZVwiO1xuaW1wb3J0IHsgSU92ZXJsYXlCYXNlIH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkudHlwZXNcIjtcbmltcG9ydCB7IEJhY2tkcm9wQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBCbHVyQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JsdXJcIjtcbmltcG9ydCB7IE92ZXJsYXlDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvb3ZlcmxheVwiO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheSA9ICh7IGNoaWxkcmVuLCBoZWFkZXIsIGNsb3NlIH06IElPdmVybGF5QmFzZSkgPT4ge1xuICBjb25zdCB7IGlzT3Blbiwgc2V0SXNPcGVuIH0gPSB1c2VDb250ZXh0KE92ZXJsYXlDb250ZXh0KTtcbiAgY29uc3QgeyBzZXRJc0JhY2tkcm9wVmlzaWJsZSB9ID0gdXNlQ29udGV4dChCYWNrZHJvcENvbnRleHQpO1xuICBjb25zdCB7IHNldElzQmx1cnJlZCB9ID0gdXNlQ29udGV4dChCbHVyQ29udGV4dCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNPcGVuKSB7XG4gICAgICBzZXRJc0JsdXJyZWQodHJ1ZSk7XG4gICAgICBzZXRJc0JhY2tkcm9wVmlzaWJsZSh0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc2V0SXNCbHVycmVkKGZhbHNlKTtcbiAgICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKGZhbHNlKTtcbiAgICB9XG4gIH0sIFtpc09wZW5dKTtcblxuICBjb25zdCBUaGVtZVZpc2libGUgPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoM3B4KTtcIixcbiAgICBtYXhIZWlnaHQ6IFwiMTAwJVwiLFxuICB9O1xuXG4gIGNvbnN0IFRoZW1lSGlkZGVuID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVZKDEwMHZoKTtcIixcbiAgICBtYXhIZWlnaHQ6IFwiMFwiLFxuICB9O1xuXG4gIGNvbnN0IGNsb3NlT3ZlcmxheSA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKGZhbHNlKTtcbiAgICBzZXRJc0JsdXJyZWQoZmFsc2UpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE92ZXJsYXkgdGhlbWU9e2lzT3BlbiA/IFRoZW1lVmlzaWJsZSA6IFRoZW1lSGlkZGVufT5cbiAgICAgIDxTdHlsZWRPdmVybGF5SGVhZGVyPlxuICAgICAgICA8U3R5bGVkT3ZlcmxheUhlYWRlckFyZWE+e2hlYWRlcn08L1N0eWxlZE92ZXJsYXlIZWFkZXJBcmVhPlxuICAgICAgICA8U3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlIG9uQ2xpY2s9e2Nsb3NlT3ZlcmxheX0+XG4gICAgICAgICAge2Nsb3NlfVxuICAgICAgICA8L1N0eWxlZE92ZXJsYXlIZWFkZXJDbG9zZT5cbiAgICAgIDwvU3R5bGVkT3ZlcmxheUhlYWRlcj5cbiAgICAgIDxTdHlsZWRPdmVybGF5Q29udGVudD57aXNPcGVuID8gY2hpbGRyZW4gOiA8PjwvPn08L1N0eWxlZE92ZXJsYXlDb250ZW50PlxuICAgIDwvU3R5bGVkT3ZlcmxheT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU92ZXJsYXlUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9vdmVybGF5LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJT3ZlcmxheVRoZW1lIH0+YFxuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYmFja2dyb3VuZDogI2ZmZmRmODtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIHRyYW5zZm9ybTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zZm9ybX07XG4gIG1heC1oZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXhIZWlnaHR9O1xuICBib3gtc2hhZG93OlxuICAgIDAgLTFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLFxuICAgIDAgLTFweCAycHggLTFweCByZ2IoMCAwIDAgLyAwLjEpO1xuICB6LWluZGV4OiA5O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgd2hpdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICNmNmYyZTk7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1pbi1oZWlnaHQ6IDUycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUhlYWRlckFyZWEgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5SGVhZGVyQ2xvc2UgPSBzdHlsZWQuZGl2YFxuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3ZlcmxheUNvbnRlbnQgPSBzdHlsZWQuZGl2YFxuICBiYWNrZ3JvdW5kOiAjZmZmZGY4O1xuYDtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJhY2tkcm9wUHJvdmlkZXIgfSBmcm9tIFwiQC9jb250ZXh0cy9iYWNrZHJvcFwiO1xuaW1wb3J0IHsgT3ZlcmxheSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheVwiO1xuaW1wb3J0IHsgTW9kYWxDb250ZXh0VHlwZSB9IGZyb20gXCJAL2NvbnRleHRzL21vZGFsXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3ZlcmxheUNvbnRleHRUeXBlIHtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzZXRJc09wZW46IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IE92ZXJsYXlDb250ZXh0ID0gY3JlYXRlQ29udGV4dDxPdmVybGF5Q29udGV4dFR5cGU+KHtcbiAgaXNPcGVuOiBmYWxzZSxcbiAgc2V0SXNPcGVuOiAoKSA9PiB7XG4gICAgY29uc29sZS53YXJuKFwic2V0SXNPcGVuIGNhbGxlZCB3aXRob3V0IGEgcHJvdmlkZXJcIik7XG4gIH0sXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJT3ZlcmxheVByb3ZpZGVyIGV4dGVuZHMgUHJvcHNXaXRoQ2hpbGRyZW4ge1xuICBvdmVybGF5PzogUmVhY3QuUmVhY3ROb2RlO1xuICBoZWFkZXI/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIGNsb3NlPzogUmVhY3QuUmVhY3ROb2RlO1xufVxuXG5leHBvcnQgY29uc3QgT3ZlcmxheVByb3ZpZGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGhlYWRlcixcbiAgY2xvc2UsXG4gIG92ZXJsYXksXG59OiBJT3ZlcmxheVByb3ZpZGVyKSA9PiB7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IHZhbHVlID0geyBpc09wZW4sIHNldElzT3BlbiB9O1xuXG4gIHJldHVybiAoXG4gICAgPE92ZXJsYXlDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8QmFja2Ryb3BQcm92aWRlciBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8T3ZlcmxheSBoZWFkZXI9e2hlYWRlcn0gY2xvc2U9e2Nsb3NlfT5cbiAgICAgICAgICB7b3ZlcmxheX1cbiAgICAgICAgPC9PdmVybGF5PlxuICAgICAgPC9CYWNrZHJvcFByb3ZpZGVyPlxuICAgIDwvT3ZlcmxheUNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgT3ZlcmxheSBhcyBCYXNlT3ZlcmxheSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9jb21wb25lbnRzL292ZXJsYXlcIjtcbmltcG9ydCB7IElPdmVybGF5IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkudHlwZXNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcblxuZXhwb3J0IGNvbnN0IE92ZXJsYXkgPSAoeyBjaGlsZHJlbiwgaGVhZGVyLCBjbG9zZSB9OiBJT3ZlcmxheSkgPT4ge1xuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxCYXNlT3ZlcmxheSBjaGlsZHJlbj17Y2hpbGRyZW59IGhlYWRlcj17aGVhZGVyfSBjbG9zZT17Y2xvc2V9IC8+LFxuICAgIGRvY3VtZW50LmJvZHksXG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElPdmVybGF5IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkudHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJU3VyZmFjZVRoZW1lIH0gZnJvbSBcIkAvbGF5b3V0cy9zdXJmYWNlL3N1cmZhY2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN1cmZhY2UgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSVN1cmZhY2VUaGVtZSB9PmBcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICB3aWR0aDogMTAwdnc7XG5gO1xuIiwiaW1wb3J0IHsgSVN1cmZhY2VCYXNlIH0gZnJvbSBcIkAvbGF5b3V0cy9zdXJmYWNlL3N1cmZhY2UudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZFN1cmZhY2UgfSBmcm9tIFwiQC9sYXlvdXRzL3N1cmZhY2Uvc3VyZmFjZS5zdHlsZVwiO1xuaW1wb3J0IHsgb3JEZWZhdWx0LCB1c2VUaGVtZUNvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCBTdXJmYWNlID0gKHsgY2hpbGRyZW4sIGNvbG9yLCB0aW50IH06IElTdXJmYWNlQmFzZSkgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEJhY2tncm91bmQgPSBvckRlZmF1bHQoQ29sb3JzLCBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsIFtjb2xvciwgdGludF0pO1xuICBjb25zdCBUaGVtZSA9IHtcbiAgICBiYWNrZ3JvdW5kOiBCYWNrZ3JvdW5kLFxuICB9O1xuXG4gIHJldHVybiA8U3R5bGVkU3VyZmFjZSB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZFN1cmZhY2U+O1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN1cmZhY2UgYXMgQmFzZVN1cmZhY2UgfSBmcm9tIFwiQC9sYXlvdXRzL3N1cmZhY2UvY29tcG9uZW50cy9zdXJmYWNlXCI7XG5pbXBvcnQgeyBDb2xvciwgQ29sb3JWYXJpYW50IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBJU3VyZmFjZSB9IGZyb20gXCJAL2xheW91dHMvc3VyZmFjZS9zdXJmYWNlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdXJmYWNlID0gKHtcbiAgY2hpbGRyZW4sXG4gIGNvbG9yID0gQ29sb3IuU1VSRkFDRVMsXG4gIHRpbnQgPSBDb2xvclZhcmlhbnQuVElOVF81MDAsXG59OiBJU3VyZmFjZSkgPT4ge1xuICByZXR1cm4gKFxuICAgIDxCYXNlU3VyZmFjZVxuICAgICAgdGludD17dGludCA/IHRpbnQgOiBDb2xvclZhcmlhbnQuVElOVF81MDB9XG4gICAgICBjb2xvcj17Y29sb3IgPyBjb2xvciA6IENvbG9yLlNVUkZBQ0VTfVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L0Jhc2VTdXJmYWNlPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJU3VyZmFjZSB9IGZyb20gXCJAL2xheW91dHMvc3VyZmFjZS9zdXJmYWNlLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBBUElQcm92aWRlciB9IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR29vZ2xlQVBJUHJvdmlkZXJQcm9wcyB7XG4gIGNoaWxkcmVuPzogUmVhY3ROb2RlIHwgdW5kZWZpbmVkO1xuICBhcGlLZXk6IHN0cmluZztcbiAgb25Mb2FkPzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IEdvb2dsZUFQSVByb3ZpZGVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIGFwaUtleSxcbiAgb25Mb2FkLFxufTogR29vZ2xlQVBJUHJvdmlkZXJQcm9wcykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxBUElQcm92aWRlciBhcGlLZXk9e2FwaUtleX0gb25Mb2FkPXtvbkxvYWR9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQVBJUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgVGhlbWVNb2RlIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgUmVhY3QsIHtcbiAgY3JlYXRlQ29udGV4dCxcbiAgRkMsXG4gIFByb3BzV2l0aENoaWxkcmVuLFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxufSBmcm9tIFwicmVhY3RcIjtcblxuY29uc3QgRGVmYXVsdFRoZW1lTW9kZSA9IFRoZW1lTW9kZS5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IFRoZW1lTW9kZUNvbnRleHQ6IFJlYWN0LkNvbnRleHQ8e1xuICB0aGVtZU1vZGU6IFRoZW1lTW9kZTtcbiAgc2V0VGhlbWVNb2RlOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxUaGVtZU1vZGU+Pjtcbn0+ID0gY3JlYXRlQ29udGV4dCh7XG4gIHRoZW1lTW9kZTogRGVmYXVsdFRoZW1lTW9kZSxcbiAgc2V0VGhlbWVNb2RlOiAoKSA9PiB7fSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb3BzRm9yVGhlbWVNb2RlUHJvdmlkZXIgZXh0ZW5kcyBQcm9wc1dpdGhDaGlsZHJlbiB7XG4gIGZyb21Ccm93c2VyOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgVGhlbWVNb2RlUHJvdmlkZXI6IEZDPFByb3BzRm9yVGhlbWVNb2RlUHJvdmlkZXI+ID0gKFxuICBwcm9wczogUHJvcHNGb3JUaGVtZU1vZGVQcm92aWRlcixcbikgPT4ge1xuICBjb25zdCB7IGNoaWxkcmVuLCBmcm9tQnJvd3NlciB9ID0gcHJvcHM7XG5cbiAgLy8gRW5zdXJlIHRoZW1lTW9kZSBpcyBub3QgbnVsbCBvciB1bmRlZmluZWRcbiAgY29uc3QgcmVzb2x2ZWRUaGVtZU1vZGUgPSBUaGVtZU1vZGVPckRlZmF1bHQoXG4gICAgc2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShcInRoZW1lX21vZGVcIiksXG4gICAgVGhlbWVNb2RlLlNUQU5EQVJELFxuICApO1xuICBjb25zdCBbdGhlbWVNb2RlLCBzZXRUaGVtZU1vZGVdID0gdXNlU3RhdGUocmVzb2x2ZWRUaGVtZU1vZGUpO1xuXG4gIC8vIFJ1biBvbmNlIGFuZCByZWFkIFRoZW1lTW9kZSBmcm9tIGRldmljZSBzZXR0aW5ncy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZnJvbUJyb3dzZXIpIHtcbiAgICAgIGlmIChtYXRjaE1lZGlhKFwiKGZvcmNlZC1jb2xvcnM6IGFjdGl2ZSlcIikubWF0Y2hlcykge1xuICAgICAgICBzZXRUaGVtZU1vZGUoVGhlbWVNb2RlLkNPTlRSQVNUKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChtYXRjaE1lZGlhKFwiKHByZWZlcnMtY29sb3Itc2NoZW1lOiBkYXJrKVwiKSkge1xuICAgICAgICAgIHNldFRoZW1lTW9kZShUaGVtZU1vZGUuSU5WRVJURUQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LCBbZnJvbUJyb3dzZXJdKTtcblxuICAvLyBPbiBjaGFuZ2Ugb2YgdGhlbWVNb2RlIHBlcnNpc3QgaXQgdG8gdGhlIHNlc3Npb24gc3RvcmFnZS5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKFwidGhlbWVfbW9kZVwiLCB0aGVtZU1vZGUpO1xuICB9LCBbdGhlbWVNb2RlXSk7XG5cbiAgY29uc3QgdmFsdWUgPSB7IHRoZW1lTW9kZTogcmVzb2x2ZWRUaGVtZU1vZGUsIHNldFRoZW1lTW9kZSB9O1xuICByZXR1cm4gKFxuICAgIDxUaGVtZU1vZGVDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9UaGVtZU1vZGVDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZnVuY3Rpb24gVGhlbWVNb2RlT3JEZWZhdWx0PFQgZXh0ZW5kcyBrZXlvZiB0eXBlb2YgVGhlbWVNb2RlPihcbiAgdmFsdWU6IHN0cmluZyB8IG51bGwsXG4gIGZhbGxiYWNrOiBUaGVtZU1vZGUsXG4pOiBUaGVtZU1vZGUge1xuICBpZiAoIXZhbHVlKSB7XG4gICAgcmV0dXJuIGZhbGxiYWNrO1xuICB9XG5cbiAgaWYgKE9iamVjdC52YWx1ZXMoVGhlbWVNb2RlKS5pbmNsdWRlcyh2YWx1ZSBhcyBUaGVtZU1vZGUpKSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFRoZW1lTW9kZTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cbn1cbiIsIi8qKiBBZGQgYWxsIGNvbXBvbmVudHMgeW91IHdhbnQgdG8gZXhwb3J0IGhlcmUgKiovXG5cbi8vLy8vLy8vLy8vLy8vLyBBVE9NUyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBCYWRnZVxuZXhwb3J0IHsgQmFkZ2UsIEJhZGdlVHlwZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlXCI7XG5leHBvcnQgdHlwZSB7IElCYWRnZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlXCI7XG5cbi8vIEJyYW5kXG5leHBvcnQgeyBCcmFuZCB9IGZyb20gXCJAL2F0b21zL2JyYW5kXCI7XG5leHBvcnQgdHlwZSB7IElCcmFuZCB9IGZyb20gXCJAL2F0b21zL2JyYW5kXCI7XG5cbi8vIEJyZWFkY3J1bWJcbmV4cG9ydCB7IEJyZWFkY3J1bWIgfSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iXCI7XG5leHBvcnQgdHlwZSB7IElCcmVhZGNydW1iIH0gZnJvbSBcIkAvYXRvbXMvYnJlYWRjcnVtYlwiO1xuXG4vLyBCdXR0b25cbmV4cG9ydCB7IEJ1dHRvbiwgQnV0dG9uVHlwZSwgQnV0dG9uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2J1dHRvblwiO1xuZXhwb3J0IHR5cGUgeyBJQnV0dG9uIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uXCI7XG5cbi8vIENoZWNrYm94XG5leHBvcnQgeyBDaGVja2JveCwgQ2hlY2tib3hDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3hcIjtcbmV4cG9ydCB0eXBlIHsgSUNoZWNrYm94IH0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3hcIjtcblxuLy8gQ2hvaWNlXG5leHBvcnQgeyBDaG9pY2UsIENob2ljZUNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9jaG9pY2VcIjtcbmV4cG9ydCB0eXBlIHsgSUNob2ljZSB9IGZyb20gXCJAL2F0b21zL2Nob2ljZVwiO1xuXG4vLyBGZWF0dXJlXG5leHBvcnQgeyBGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZVwiO1xuZXhwb3J0IHR5cGUgeyBJRmVhdHVyZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmVcIjtcblxuLy8gQ29sbGFwc2VcbmV4cG9ydCB7IENvbGxhcHNlIH0gZnJvbSBcIkAvYXRvbXMvY29sbGFwc2VcIjtcbmV4cG9ydCB0eXBlIHsgSUNvbGxhcHNlIH0gZnJvbSBcIkAvYXRvbXMvY29sbGFwc2VcIjtcblxuLy8gRXhwYW5kXG5leHBvcnQgeyBFeHBhbmQgfSBmcm9tIFwiQC9hdG9tcy9leHBhbmRcIjtcbmV4cG9ydCB0eXBlIHsgSUV4cGFuZCB9IGZyb20gXCJAL2F0b21zL2V4cGFuZFwiO1xuXG4vLyBGcmFtZVxuZXhwb3J0IHsgRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZVwiO1xuZXhwb3J0IHR5cGUgeyBJRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZVwiO1xuXG4vLyBIZWFkaW5nXG5leHBvcnQgeyBIZWFkaW5nIH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZ1wiO1xuZXhwb3J0IHR5cGUgeyBJSGVhZGluZywgSHRtbEhlYWRpbmcgfSBmcm9tIFwiQC9hdG9tcy9oZWFkaW5nXCI7XG5cbi8vIEluZm9ybWF0aW9uXG5leHBvcnQgeyBJbmZvcm1hdGlvbiB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uXCI7XG5leHBvcnQgdHlwZSB7IElJbmZvcm1hdGlvbiB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uXCI7XG5cbi8vIElucHV0XG5leHBvcnQgeyBJbnB1dCwgSW5wdXRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXRcIjtcbmV4cG9ydCB0eXBlIHsgSUlucHV0IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXRcIjtcblxuLy8gTGlua1xuZXhwb3J0IHsgTGluaywgTGlua0NvbnRleHQsIFBvc2l0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbGlua1wiO1xuZXhwb3J0IHR5cGUgeyBJTGluayB9IGZyb20gXCJAL2F0b21zL2xpbmtcIjtcblxuLy8gTGlzdFxuZXhwb3J0IHsgTGlzdCwgTGlzdFR5cGUgfSBmcm9tIFwiQC9hdG9tcy9saXN0XCI7XG5leHBvcnQgdHlwZSB7IElMaXN0IH0gZnJvbSBcIkAvYXRvbXMvbGlzdFwiO1xuXG4vLyBMb2dvXG5leHBvcnQgeyBMb2dvIH0gZnJvbSBcIkAvYXRvbXMvbG9nb1wiO1xuZXhwb3J0IHR5cGUgeyBJTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ29cIjtcblxuLy8gTm90aWZpY2F0aW9uXG5leHBvcnQgeyBOb3RpZmljYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb25cIjtcbmV4cG9ydCB0eXBlIHsgSU5vdGlmaWNhdGlvbiB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvblwiO1xuXG4vLyBQaWNrXG5leHBvcnQgeyBQaWNrLCBQaWNrQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpY2tcIjtcbmV4cG9ydCB0eXBlIHsgSVBpY2sgfSBmcm9tIFwiQC9hdG9tcy9waWNrXCI7XG5cbi8vIFBpbGxcbmV4cG9ydCB7IFBpbGwgfSBmcm9tIFwiQC9hdG9tcy9waWxsXCI7XG5leHBvcnQgdHlwZSB7IElQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbFwiO1xuXG4vLyBQaW5cbmV4cG9ydCB7IFBpbiwgUGluVHlwZSB9IGZyb20gXCJAL2F0b21zL3BpblwiO1xuZXhwb3J0IHR5cGUgeyBJUGluIH0gZnJvbSBcIkAvYXRvbXMvcGluXCI7XG5cbi8vIFBsYWluVGV4dFxuZXhwb3J0IHsgUGxhaW5UZXh0LCBUZXh0RGVjb3JhdGlvbiB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dFwiO1xuZXhwb3J0IHR5cGUgeyBJUGxhaW5UZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0XCI7XG5cbi8vIFJhZGlvXG5leHBvcnQgeyBSYWRpbywgUmFkaW9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcmFkaW9cIjtcbmV4cG9ydCB0eXBlIHsgSVJhZGlvIH0gZnJvbSBcIkAvYXRvbXMvcmFkaW9cIjtcblxuLy8gUmVjb3JkXG5leHBvcnQgeyBSZWNvcmQgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmRcIjtcbmV4cG9ydCB0eXBlIHsgSVJlY29yZCB9IGZyb20gXCJAL2F0b21zL3JlY29yZFwiO1xuXG4vLyBTdGF0dXNcbmV4cG9ydCB7IFN0YXR1cywgU3RhdHVzQ29tcGFjdCwgU3RhdHVzQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3N0YXR1c1wiO1xuZXhwb3J0IHR5cGUgeyBJU3RhdHVzIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5cbi8vIFRlcm1cbmV4cG9ydCB7IFRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtXCI7XG5leHBvcnQgdHlwZSB7IElUZXJtIH0gZnJvbSBcIkAvYXRvbXMvdGVybVwiO1xuXG4vLyBUZXJtaW5hbFxuZXhwb3J0IHsgVGVybWluYWwgfSBmcm9tIFwiQC9hdG9tcy90ZXJtaW5hbFwiO1xuZXhwb3J0IHR5cGUgeyBJVGVybWluYWwgfSBmcm9tIFwiQC9hdG9tcy90ZXJtaW5hbFwiO1xuXG4vLyBZZXNOb1xuZXhwb3J0IHsgWWVzTm8sIFllc05vQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3llc19ub1wiO1xuZXhwb3J0IHR5cGUgeyBJWWVzTm8gfSBmcm9tIFwiQC9hdG9tcy95ZXNfbm9cIjtcblxuLy8vLy8vLy8vLy8vLy8vIE1vbGVjdWxlcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBDb21wYWN0IE5hdmlnYXRpb25cbmV4cG9ydCB7XG4gIENvbXBhY3ROYXZpZ2F0aW9uLFxuICBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQsXG59IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb25cIjtcbmV4cG9ydCB0eXBlIHsgSUNvbXBhY3ROYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvblwiO1xuXG4vLyBEZXRhaWxzXG5leHBvcnQgeyBEZXRhaWxzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHNcIjtcbmV4cG9ydCB0eXBlIHsgSURldGFpbHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlsc1wiO1xuXG4vLyBGQVFcbmV4cG9ydCB7IEZhcSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXFcIjtcbmV4cG9ydCB0eXBlIHsgSUZhcSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXFcIjtcblxuLy8gRmVhdHVyZXNcbmV4cG9ydCB7IEZlYXR1cmVzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzXCI7XG5leHBvcnQgdHlwZSB7IElGZWF0dXJlcyB9IGZyb20gXCJAL21vbGVjdWxlcy9mZWF0dXJlc1wiO1xuXG4vLyBOYXZpZ2F0aW9uXG5leHBvcnQgeyBOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb25cIjtcbmV4cG9ydCB0eXBlIHsgSU5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvbmF2aWdhdGlvblwiO1xuXG4vLyBQcm9maWxlIE5hdmlnYXRpb25cbmV4cG9ydCB7IFByb2ZpbGVOYXZpZ2F0aW9uLCBJdGVtVHlwZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb25cIjtcbmV4cG9ydCB0eXBlIHsgSVByb2ZpbGVOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvblwiO1xuXG4vLyBSZWNvcmRzXG5leHBvcnQgeyBSZWNvcmRzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3JlY29yZHNcIjtcbmV4cG9ydCB0eXBlIHsgSVJlY29yZHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkc1wiO1xuXG4vLyBTdGF0dXMgTGlzdFxuZXhwb3J0IHsgU3RhdHVzTGlzdCB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdFwiO1xuZXhwb3J0IHR5cGUgeyBJU3RhdHVzTGlzdCB9IGZyb20gXCJAL21vbGVjdWxlcy9zdGF0dXNfbGlzdFwiO1xuXG4vLyBUb3AgTmF2aWdhdGlvblxuZXhwb3J0IHsgVG9wTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvblwiO1xuZXhwb3J0IHR5cGUgeyBJVG9wTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvblwiO1xuXG4vLy8vLy8vLy8vLy8vLy8gT3JnYW5pc21zIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIEhhZGVyXG5leHBvcnQgeyBIZWFkZXIgfSBmcm9tIFwiQC9vcmdhbmlzbXMvaGVhZGVyXCI7XG5leHBvcnQgdHlwZSB7IElIZWFkZXIgfSBmcm9tIFwiQC9vcmdhbmlzbXMvaGVhZGVyXCI7XG5cbi8vIE1hcFxuZXhwb3J0IHsgTWFwIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcFwiO1xuZXhwb3J0IHR5cGUgeyBJTWFwIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcFwiO1xuXG4vLy8vLy8vLy8vLy8vLy8gVUkgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gSWNvblxuZXhwb3J0IHsgSWNvbiwgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmV4cG9ydCB0eXBlIHsgSUljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5cbi8vIEZpZ3VyZVxuZXhwb3J0IHsgRmlndXJlLCBGaWd1cmVDb250ZXh0LCBGaWd1cmVTaXplLCBGaWd1cmVUeXBlIH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5leHBvcnQgdHlwZSB7IElGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcblxuLy8vLy8vLy8vLy8vLy8vIExheW91dHMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gQWNjb3JkZW9uXG5leHBvcnQgeyBBY2NvcmRlb24sIEFjY29yZGVvbkNvbnRleHQgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuZXhwb3J0IHR5cGUgeyBJQWNjb3JkZW9uIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb25cIjtcblxuLy8gQmFja2Ryb3BcbmV4cG9ydCB7IEJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuZXhwb3J0IHR5cGUgeyBJQmFja2Ryb3AgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wXCI7XG5cbi8vIEJsdXJcbmV4cG9ydCB7IEJsdXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JsdXJcIjtcbmV4cG9ydCB0eXBlIHsgSUJsdXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JsdXJcIjtcblxuLy8gQ29sbGFwc2FibGVcbmV4cG9ydCB7IENvbGxhcHNhYmxlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZVwiO1xuZXhwb3J0IHR5cGUgeyBJQ29sbGFwc2FibGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlXCI7XG5cbi8vIENvbnRhaW5lclxuZXhwb3J0IHsgQ29udGFpbmVyLCBDb250YWluZXJUeXBlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXJcIjtcbmV4cG9ydCB0eXBlIHsgSUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyXCI7XG5cbi8vIERyYXdlclxuZXhwb3J0IHsgRHJhd2VyLCBEcmF3ZXJTaXplIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXJcIjtcbmV4cG9ydCB0eXBlIHsgSURyYXdlciB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyXCI7XG5cbi8vIEdyaWRcbmV4cG9ydCB7IEdyaWQgfSBmcm9tIFwiQC9sYXlvdXRzL2dyaWRcIjtcbmV4cG9ydCB0eXBlIHsgR3JpZFByb3BzLCBHcmlkSXRlbVByb3BzIH0gZnJvbSBcIkAvbGF5b3V0cy9ncmlkXCI7XG5cbi8vIE1vZGFsXG5leHBvcnQgeyBNb2RhbCB9IGZyb20gXCJAL2xheW91dHMvbW9kYWxcIjtcbmV4cG9ydCB0eXBlIHsgSU1vZGFsIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbFwiO1xuXG4vLyBPdmVybGF5XG5leHBvcnQgeyBPdmVybGF5IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5XCI7XG5leHBvcnQgdHlwZSB7IElPdmVybGF5IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5XCI7XG5cbi8vIFN1cmZhY2VcbmV4cG9ydCB7IFN1cmZhY2UgfSBmcm9tIFwiQC9sYXlvdXRzL3N1cmZhY2VcIjtcbmV4cG9ydCB0eXBlIHsgSVN1cmZhY2UgfSBmcm9tIFwiQC9sYXlvdXRzL3N1cmZhY2VcIjtcblxuLy8vLy8vLy8vLy8vLy8vIENvbnRleHQgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gQmFja2Ryb3BcbmV4cG9ydCB7IEJhY2tkcm9wUHJvdmlkZXIsIEJhY2tkcm9wQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5leHBvcnQgdHlwZSB7IElCYWNrZHJvcFByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvYmFja2Ryb3BcIjtcblxuLy8gQmx1clxuZXhwb3J0IHsgQmx1clByb3ZpZGVyLCBCbHVyQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JsdXJcIjtcbmV4cG9ydCB0eXBlIHsgSUJsdXJQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL2JsdXJcIjtcblxuLy8gRHJhd2VyXG5leHBvcnQgeyBEcmF3ZXJQcm92aWRlciwgRHJhd2VyQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2RyYXdlclwiO1xuZXhwb3J0IHR5cGUgeyBJRHJhd2VyUHJvdmlkZXIgfSBmcm9tIFwiQC9jb250ZXh0cy9kcmF3ZXJcIjtcblxuLy8gTW9kYWxcbmV4cG9ydCB7IE1vZGFsUHJvdmlkZXIsIE1vZGFsQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL21vZGFsXCI7XG5leHBvcnQgdHlwZSB7IElNb2RhbFByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvbW9kYWxcIjtcblxuLy8gT3ZlcmxheVxuZXhwb3J0IHsgT3ZlcmxheVByb3ZpZGVyLCBPdmVybGF5Q29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL292ZXJsYXlcIjtcbmV4cG9ydCB0eXBlIHsgSU92ZXJsYXlQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL292ZXJsYXlcIjtcblxuLy8gUHJvY2Vzc2luZ1xuZXhwb3J0IHsgUHJvY2Vzc2luZ0NvbnRleHQsIFByb2Nlc3NpbmdQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL3Byb2Nlc3NpbmdcIjtcbmV4cG9ydCB0eXBlIHsgUHJvY2Vzc2luZ0NvbnRleHRUeXBlIH0gZnJvbSBcIkAvY29udGV4dHMvcHJvY2Vzc2luZ1wiO1xuZXhwb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuLy8gR29vZ2xlXG5leHBvcnQgeyBHb29nbGVBUElQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL2dvb2dsZS1hcGlcIjtcbmV4cG9ydCB0eXBlIHsgR29vZ2xlQVBJUHJvdmlkZXJQcm9wcyB9IGZyb20gXCJAL2NvbnRleHRzL2dvb2dsZS1hcGlcIjtcbmV4cG9ydCB7XG4gIEdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvblJlbmRlcmVyUHJvdmlkZXIsXG4gIEdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvblJlbmRlcmVyQ29udGV4dCxcbn0gZnJvbSBcIkAvY29udGV4dHMvZ29vZ2xlLWFwaS1yb3V0ZXMtZGlyZWN0aW9ucy1yZW5kZXJlclwiO1xuXG4vLyBUaGVtZSBNb2RlIChUT0RPIDogbW92ZSB0byBjb250ZXh0cyBmb2xkZXIpXG5leHBvcnQgeyBUaGVtZU1vZGVQcm92aWRlciwgVGhlbWVNb2RlQ29udGV4dCB9IGZyb20gXCJAL3V0aWxzL3RoZW1lX21vZGVcIjtcbmV4cG9ydCB0eXBlIHsgUHJvcHNGb3JUaGVtZU1vZGVQcm92aWRlciB9IGZyb20gXCJAL3V0aWxzL3RoZW1lX21vZGVcIjtcblxuLyoqIFJlLWV4cG9ydCBpdGVtcyBmcm9tIFRhY2t5IHNvIHVzZXIgb2YgdGhlIGNvbXBvbmVudCBsaWJyYXJ5IGFyZSBub3QgZGlyZWN0bHkgdGllZCB0byBUYWNreSAqKi9cbmV4cG9ydCB0eXBlIHtcbiAgVGhlbWVJLFxuICBUaGVtZVZhcmlhbnRzSSxcbiAgQ29sb3IsXG4gIENvbG9yVmFyaWFudCxcbiAgUmFkaXVzLFxuICBTcGFjaW5nLFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmV4cG9ydCB7IFRoZW1lQnVpbGRlciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgeyBCdWlsZFByb3ZpZGVyc1RyZWUgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IHtcbiAgVGhlbWVDdHgsXG4gIFRoZW1lTW9kZSxcbiAgU3R5bGVQcm92aWRlckFuaW1hdGlvbixcbiAgU3R5bGVQcm92aWRlckZvbnRGYWNlLFxuICBTdHlsZVByb3ZpZGVyUHJlRmxpZ2h0LFxuICBTdHlsZVByb3ZpZGVyUm91dGVyLFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuLy8gQnJvd3NlckFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlc1xuZXhwb3J0IHsgdXNlQnJvd3NlckFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlcyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuIl19
|
|
1911
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hdG9tcy9iYWRnZS9jb21wb25lbnRzL2JhZGdlLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYWxlcnQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvZmlndXJlLnN0eWxlcy50c3giLCIuLi9zcmMvYmFzZS9zcmVlbl9yZWFkZXJfb25seS9zY3JlZW5fcmVhZGVyX29ubHkuc3R5bGVzLnRzeCIsIi4uL3NyYy9iYXNlL3NyZWVuX3JlYWRlcl9vbmx5L3NjcmVlbl9yZWFkZXJfb25seS50c3giLCIuLi9zcmMvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvZmlndXJlLmNvbnRleHQudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXMudHMiLCIuLi9zcmMvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWUudHMiLCIuLi9zcmMvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmcudHMiLCIuLi9zcmMvY29udGV4dHMvcHJvY2Vzc2luZy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmJpbi5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jYWxlbmRhci5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jaGVjay5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jaGlsZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jb2lucy5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mYWNlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZhbWlseS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mYXZvcml0ZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5mb2xkZXIuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZm9sbG93dXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuaWRlYS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5saWtlLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm1hcC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tb25leS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5vZmZlci5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5wYXNzcG9ydC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5wYXNzd29yZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5waW4uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuc2VhcmNoLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLnNldHRpbmcuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuc3Rhci5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5hZGQuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYXBwbGljYXRpb24uc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYmFieS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5ib29rbWFyay5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5jYW5jZWwuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuY29udmVyc2F0aW9uLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmRhZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5kYXRldGltZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5ob21lLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmluZm9ybWF0aW9uLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm1vbS5zdmcudHN4IiwiLi4vc3JjL3VpL2ZpZ3VyZS9zdmdzL2ZpZ3VyZS5tYWlsLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm5vLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZpbGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUueWVzLnN2Zy50c3giLCIuLi9zcmMvdWkvZmlndXJlL3N2Z3MvZmlndXJlLm5vdGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuZmVuY2Uuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvc3Zncy9maWd1cmUuYnVpbGRpbmcuc3ZnLnRzeCIsIi4uL3NyYy91aS9maWd1cmUvZmlndXJlLmxvYWRlci50c3giLCIuLi9zcmMvdWkvZmlndXJlL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9mcmFtZS9ob29rcy91c2UtZnJhbWUudHMiLCIuLi9zcmMvYXRvbXMvZnJhbWUvZnJhbWUuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIudHN4IiwiLi4vc3JjL2F0b21zL2ZyYW1lL2NvbXBvbmVudHMvZnJhbWUudHN4IiwiLi4vc3JjL2F0b21zL2ZyYW1lL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9iYWRnZS9iYWRnZS5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9iYWRnZS9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvYnJhbmQuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LmVudW1zLnRzIiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvaG9va3MvdXNlLXBsYWludGV4dC50cyIsIi4uL3NyYy9hdG9tcy9wbGFpbnRleHQvY29tcG9uZW50cy9wbGFpbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL3BsYWludGV4dC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvY29tcG9uZW50cy9icmFuZC50c3giLCIuLi9zcmMvYXRvbXMvYnJhbmQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2JyZWFkY3J1bWIvY29tcG9uZW50cy9icmVhZGNydW1iLnRzeCIsIi4uL3NyYy9hdG9tcy9icmVhZGNydW1iL2hvb2tzL3VzZS1icmVhZGNydW1iLnRzIiwiLi4vc3JjL3VpL2ljb24vaWNvbi5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9icmVhZGNydW1iL2JyZWFkY3J1bWIuc3R5bGUudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmFkZC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vaWNvbi5zdHlsZXMudHN4IiwiLi4vc3JjL3VpL2ljb24vY29tcG9uZW50cy9pY29uLnRzeCIsIi4uL3NyYy91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lLnRzIiwiLi4vc3JjL3VpL2ljb24vaWNvbi5jb250ZXh0LnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5hcnJvdy1sZWZ0LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uYXJyb3ctcmlnaHQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5iYWJ5LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY2FuY2VsLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY2hlY2suc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLWRvd24uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLXVwLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZGlzdGFuY2Uuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5kb2N1bWVudC5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLmVkaXQuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5ldXJvLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZmF2b3JpdGUuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5tYXAuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5tZW51LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ucGluLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24ucHJvZmlsZS5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLnJlZG8uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5zZW5kLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24udHJhbnNsYXRpb24uc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jb21tZW50LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uaW4tcHJvY2Vzcy5zdmcudHN4IiwiLi4vc3JjL3VpL2ljb24vc3Zncy9pY29uLm1pbnVzLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY29sbGFwc2Uuc3ZnLnRzeCIsIi4uL3NyYy91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLXJpZ2h0LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uY2hldnJvbi1sZWZ0LnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9zdmdzL2ljb24uZXhwYW5kLnN2Zy50c3giLCIuLi9zcmMvdWkvaWNvbi9pY29uLmxvYWRlci50c3giLCIuLi9zcmMvdWkvaWNvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnJlYWRjcnVtYi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLmljb24udHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9idXR0b24uZW51bXMudHMiLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2hvb2tzL3VzZS1idXR0b24uaWNvbi50cyIsIi4uL3NyYy9hdG9tcy9idXR0b24vYnV0dG9uLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9idXR0b24uc3R5bGUudHN4IiwiLi4vc3JjL2Jhc2UvYnV0dG9uL2J1dHRvbi5zdHlsZXMudHN4IiwiLi4vc3JjL2F0b21zL2J1dHRvbi9jb21wb25lbnRzL2J1dHRvbi5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvYnV0dG9uL2NvbXBvbmVudHMvYnV0dG9uLnRzeCIsIi4uL3NyYy9hdG9tcy9idXR0b24vaG9va3MvdXNlLWJ1dHRvbi50cyIsIi4uL3NyYy9hdG9tcy9idXR0b24vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2NoZWNrYm94L2NvbXBvbmVudHMvY2hlY2tib3gudHN4IiwiLi4vc3JjL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9jaGVja2JveC9ob29rcy91c2UtY2hlY2tib3gudHMiLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvY2hlY2tib3guZW51bXMudHMiLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvY2hlY2tib3guY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvY2hlY2tib3gvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2Nob2ljZS9jb21wb25lbnRzL2Nob2ljZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9jaG9pY2UvaG9va3MvdXNlLWNob2ljZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2Nob2ljZS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvY2hvaWNlL2Nob2ljZS5jb250ZXh0LnRzeCIsIi4uL3NyYy9hdG9tcy9jaG9pY2UvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9ob29rcy91c2UtZmVhdHVyZS50cyIsIi4uL3NyYy9hdG9tcy9mZWF0dXJlL2NvbXBvbmVudHMvZmVhdHVyZS5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvZmVhdHVyZS9ob29rcy91c2UtZmVhdHVyZS1pY29uLnRzIiwiLi4vc3JjL2F0b21zL2ZlYXR1cmUvY29tcG9uZW50cy9mZWF0dXJlLnRzeCIsIi4uL3NyYy9hdG9tcy9mZWF0dXJlL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9jb2xsYXBzZS9jb2xsYXBzZS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvY29sbGFwc2UvY29tcG9uZW50cy9jb2xsYXBzZS50c3giLCIuLi9zcmMvYXRvbXMvY29sbGFwc2UvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2V4cGFuZC9leHBhbmQuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2V4cGFuZC9jb21wb25lbnRzL2V4cGFuZC50c3giLCIuLi9zcmMvYXRvbXMvZXhwYW5kL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2hlYWRpbmcuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2hlYWRpbmcvY29tcG9uZW50cy9oZWFkaW5nLnRzeCIsIi4uL3NyYy9hdG9tcy9oZWFkaW5nL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9pbmZvcm1hdGlvbi9ob29rcy91c2UtaW5mb3JtYXRpb24udHMiLCIuLi9zcmMvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2luZm9ybWF0aW9uL2NvbXBvbmVudHMvaW5mb3JtYXRpb24udHN4IiwiLi4vc3JjL2F0b21zL2luZm9ybWF0aW9uL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9jb21wb25lbnRzL2lucHV0LnRzeCIsIi4uL3NyYy9hdG9tcy9pbnB1dC9ob29rcy91c2UtaW5wdXQudHMiLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5wdXQuZW51bXMudHMiLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5wdXQuc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL2lucHV0L2NvbXBvbmVudHMvaW5wdXQuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvaG9va3MvdXNlLWlucHV0Lmljb24udHMiLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5wdXQuY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvaW5wdXQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL2xpbmsvY29tcG9uZW50cy9saW5rLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2xpbmsuc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGluay5sYWJlbC50c3giLCIuLi9zcmMvYXRvbXMvbGluay9jb21wb25lbnRzL2xpbmsuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvbGluay9ob29rcy91c2UtbGluay1pY29uLnRzIiwiLi4vc3JjL2F0b21zL2xpbmsvbGluay5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9saW5rL2xpbmsuY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvbGluay9ob29rcy91c2UtbGluay50cyIsIi4uL3NyYy9hdG9tcy9saW5rL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9saXN0L2hvb2tzL3VzZS1saXN0LnRzeCIsIi4uL3NyYy9hdG9tcy9saXN0L2xpc3Quc3R5bGUudHMiLCIuLi9zcmMvYXRvbXMvbGlzdC9jb21wb25lbnRzL2xpc3QudHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvY29tcG9uZW50cy9saXN0Lml0ZW0udHN4IiwiLi4vc3JjL2F0b21zL2xpc3QvbGlzdC5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9saXN0L2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2xvZ28uc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvU3ZnQXNMb2dvLnRzeCIsIi4uL3NyYy9hdG9tcy9sb2dvL2NvbXBvbmVudHMvSW1hZ2VBc0xvZ28udHN4IiwiLi4vc3JjL2F0b21zL2xvZ28vbG9nby5sb2FkZXIudHN4IiwiLi4vc3JjL2F0b21zL2xvZ28vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc3R5bGVzLnRzeCIsIi4uL3NyYy9hdG9tcy9ub3RpZmljYXRpb24vaG9va3MvdXNlLW5vdGlmaWNhdGlvbi50cyIsIi4uL3NyYy9hdG9tcy9ub3RpZmljYXRpb24vY29tcG9uZW50cy9ub3RpZmljYXRpb24udHN4IiwiLi4vc3JjL2F0b21zL25vdGlmaWNhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGljay9jb21wb25lbnRzL3BpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svaG9va3MvdXNlLXBpY2sudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svcGljay5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcGljay9waWNrLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL3BpY2svcGljay5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9waWNrL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2hvb2tzL3VzZS1waWxsLnRzIiwiLi4vc3JjL2F0b21zL3BpbGwvcGlsbC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwuaWNvbi50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9ob29rcy91c2UtcGlsbC1pY29uLnRzIiwiLi4vc3JjL2F0b21zL3BpbGwvY29tcG9uZW50cy9waWxsLmxhYmVsLnRzeCIsIi4uL3NyYy9hdG9tcy9waWxsL2NvbXBvbmVudHMvcGlsbC50c3giLCIuLi9zcmMvYXRvbXMvcGlsbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcGluL3Bpbi5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9waW4vY29tcG9uZW50cy9waW4udHN4IiwiLi4vc3JjL2F0b21zL3Bpbi9waW4uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3Bpbi9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vY29tcG9uZW50cy9yYWRpby50c3giLCIuLi9zcmMvYXRvbXMvcmFkaW8vcmFkaW8uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3JhZGlvL2hvb2tzL3VzZS1yYWRpby50cyIsIi4uL3NyYy9hdG9tcy9yYWRpby9yYWRpby5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy9yYWRpby9yYWRpby5jb250ZXh0LnRzeCIsIi4uL3NyYy9hdG9tcy9yYWRpby9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL3JlY29yZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtbGFiZWwudHMiLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtdmFsdWUudHMiLCIuLi9zcmMvbGF5b3V0cy9ncmlkL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2dyaWQvZ3JpZC5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvcmVjb3JkL2NvbXBvbmVudHMvcmVjb3JkLnRzeCIsIi4uL3NyYy9hdG9tcy9yZWNvcmQvaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3N0YXR1cy9jb21wb25lbnRzL3N0YXR1c19jb21wYWN0LnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvc3RhdHVzLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy50cyIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvc3RhdHVzLmVudW1zLnRzIiwiLi4vc3JjL2F0b21zL3N0YXR1cy9zdGF0dXMuY29udGV4dC50c3giLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2NvbXBvbmVudHMvc3RhdHVzLnRzeCIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1sYWJlbC50cyIsIi4uL3NyYy9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1pY29uLnRzIiwiLi4vc3JjL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLXRleHQudHMiLCIuLi9zcmMvYXRvbXMvc3RhdHVzL2luZGV4LnRzeCIsIi4uL3NyYy9hdG9tcy90ZXJtL3Rlcm0uc3R5bGUudHN4IiwiLi4vc3JjL2F0b21zL3Rlcm0vaG9va3MvdXNlLXRlcm0udHMiLCIuLi9zcmMvYXRvbXMvdGVybS9ob29rcy91c2UtdGVybS1mcmFtZS50cyIsIi4uL3NyYy9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWxhYmVsLnRzIiwiLi4vc3JjL2F0b21zL3Rlcm0vaG9va3MvdXNlLXRlcm0tZGVzY3JpcHRpb24udHMiLCIuLi9zcmMvYXRvbXMvdGVybS9jb21wb25lbnRzL3Rlcm0udHN4IiwiLi4vc3JjL2F0b21zL3Rlcm0vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL3Rlcm1pbmFsL3Rlcm1pbmFsLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy90ZXJtaW5hbC9jb21wb25lbnRzL3Rlcm1pbmFsLnRzeCIsIi4uL3NyYy9hdG9tcy90ZXJtaW5hbC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL2NvbXBvbmVudHMveWVzX25vLnRzeCIsIi4uL3NyYy9hdG9tcy95ZXNfbm8vaG9va3MvdXNlLXllcy1uby50c3giLCIuLi9zcmMvYXRvbXMveWVzX25vL3llc19uby5lbnVtcy50cyIsIi4uL3NyYy9hdG9tcy95ZXNfbm8veWVzX25vLnN0eWxlLnRzeCIsIi4uL3NyYy9hdG9tcy95ZXNfbm8veWVzX25vLmNvbnRleHQudHN4IiwiLi4vc3JjL2F0b21zL3llc19uby9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uZW51bXMudHMiLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uc3R5bGUudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vaG9va3MvdXNlLWNvbXBhY3QtbmF2aWdhdGlvbi50cyIsIi4uL3NyYy9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvY29tcGFjdF9uYXZpZ2F0aW9uLnRvZ2dsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uY29udGV4dC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wb25lbnRzL2NvbXBhY3RfbmF2aWdhdGlvbi50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvaG9va3MvdXNlLWRldGFpbHMudHMiLCIuLi9zcmMvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZGV0YWlscy9jb21wb25lbnRzL2RldGFpbHMuaGVhZGVyLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uZW51bXMudHMiLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmNvbnRleHQudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9kZXRhaWxzL2NvbXBvbmVudHMvZGV0YWlscy5jb250ZW50LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZGV0YWlscy9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGUudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9mYXEvaG9va3MvdXNlLWZhcS50cyIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2NvbXBvbmVudHMvZmFxLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2NvbXBvbmVudHMvZmFxLmhlYWRlci50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5jb250ZW50LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmFxL2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvZmVhdHVyZXMvY29tcG9uZW50cy9mZWF0dXJlcy50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2hvb2tzL3VzZS1mZWF0dXJlLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9mZWF0dXJlcy9mZWF0dXJlcy5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL2ZlYXR1cmVzL2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9ob29rcy91c2UtbmF2aWdhdGlvbi50cyIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9jb21wb25lbnRzL25hdmlnYXRpb24uaXRlbS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL25hdmlnYXRpb24vY29tcG9uZW50cy9uYXZpZ2F0aW9uLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnN0eWxlLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvcHJvZmlsZV9uYXZpZ2F0aW9uLmNvdW50ZXIudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLmVudW1zLnRzIiwiLi4vc3JjL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vY29tcG9uZW50cy9wcm9maWxlX25hdmlnYXRpb24uaXRlbS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3JlY29yZHMvY29tcG9uZW50cy9yZWNvcmRzLnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvcmVjb3Jkcy9ob29rcy91c2UtcmVjb3Jkcy50cyIsIi4uL3NyYy9tb2xlY3VsZXMvcmVjb3Jkcy9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2NvbXBvbmVudHMvc3RhdHVzX2xpc3QudHN4IiwiLi4vc3JjL21vbGVjdWxlcy9zdGF0dXNfbGlzdC9ob29rcy91c2Utc3RhdHVzLWxpc3QudHMiLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnN0eWxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvY29udGFpbmVyL2hvb2tzL3VzZS1jb250YWluZXIudHMiLCIuLi9zcmMvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLmVudW1zLnRzIiwiLi4vc3JjL2xheW91dHMvY29udGFpbmVyL2NvbXBvbmVudHMvY29udGFpbmVyLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbnRhaW5lci9pbmRleC50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3N0YXR1c19saXN0L2luZGV4LnRzeCIsIi4uL3NyYy9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vaG9va3MvdXNlLXRvcC1uYXZpZ2F0aW9uLnRzIiwiLi4vc3JjL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi90b3BfbmF2aWdhdGlvbi5zdHlsZS50c3giLCIuLi9zcmMvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvdG9wX25hdmlnYXRpb24udHN4IiwiLi4vc3JjL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9jb21wb25lbnRzL3RvcF9uYXZpZ2F0aW9uLml0ZW0udHN4IiwiLi4vc3JjL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9pbmRleC50c3giLCIuLi9zcmMvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIuc3R5bGUudHN4IiwiLi4vc3JjL29yZ2FuaXNtcy9oZWFkZXIvaG9va3MvdXNlLWhlYWRlci50cyIsIi4uL3NyYy9vcmdhbmlzbXMvaGVhZGVyL2hvb2tzL3VzZS1zY3JlZW4tZGltZW5zaW9ucy50cyIsIi4uL3NyYy9vcmdhbmlzbXMvaGVhZGVyL2NvbXBvbmVudHMvaGVhZGVyLnRzeCIsIi4uL3NyYy9vcmdhbmlzbXMvaGVhZGVyL2luZGV4LnRzeCIsIi4uL3NyYy9vcmdhbmlzbXMvbWFwL2NvbXBvbmVudHMvbWFwLmRpcmVjdGlvbi50c3giLCIuLi9zcmMvaG9va3MvdXNlLWdvb2dsZS1hcGktcm91dGVzLWRpcmVjdGlvbnMtcmVuZGVyZXIudHMiLCIuLi9zcmMvY29udGV4dHMvZ29vZ2xlLWFwaS1yb3V0ZXMtZGlyZWN0aW9ucy1yZW5kZXJlci50c3giLCIuLi9zcmMvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5sb2NhdGlvbi50c3giLCIuLi9zcmMvb3JnYW5pc21zL21hcC9pbmRleC50c3giLCIuLi9zcmMvYXRvbXMvbWFwL3pvb20vaW5kZXgudHN4IiwiLi4vc3JjL2F0b21zL21hcC96b29tL2NvbXBvbmVudHMvem9vbS50c3giLCIuLi9zcmMvYXRvbXMvbWFwL3pvb20vem9vbS5zdHlsZS50c3giLCIuLi9zcmMvYXRvbXMvbWFwL3pvb20vaG9va3MvdXNlLXpvb20udHMiLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vaW5kZXgudHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24udHN4IiwiLi4vc3JjL2xheW91dHMvYWNjb3JkZW9uL2NvbXBvbmVudHMvYWNjb3JkZW9uLmhlYWRlci50c3giLCIuLi9zcmMvbGF5b3V0cy9hY2NvcmRlb24vY29tcG9uZW50cy9hY2NvcmRlb24uY29udGVudC50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9jb21wb25lbnRzL2JhY2tkcm9wLnRzeCIsIi4uL3NyYy9jb250ZXh0cy9iYWNrZHJvcC50c3giLCIuLi9zcmMvbGF5b3V0cy9iYWNrZHJvcC9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9ibHVyL2NvbXBvbmVudHMvYmx1ci50c3giLCIuLi9zcmMvbGF5b3V0cy9ibHVyL2JsdXIuc3R5bGUudHN4IiwiLi4vc3JjL2NvbnRleHRzL2JsdXIudHN4IiwiLi4vc3JjL2xheW91dHMvYmx1ci9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS5zdHlsZS50c3giLCIuLi9zcmMvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb21wb25lbnRzL2NvbGxhcHNhYmxlLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2NvbGxhcHNhYmxlL2luZGV4LnRzeCIsIi4uL3NyYy9sYXlvdXRzL2RyYXdlci9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9kcmF3ZXIvY29tcG9uZW50cy9kcmF3ZXIudHN4IiwiLi4vc3JjL2xheW91dHMvZHJhd2VyL2RyYXdlci5zdHlsZS50c3giLCIuLi9zcmMvY29udGV4dHMvZHJhd2VyLnRzeCIsIi4uL3NyYy9sYXlvdXRzL2RyYXdlci9kcmF3ZXIuZW51bXMudHMiLCIuLi9zcmMvbGF5b3V0cy9tb2RhbC9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9tb2RhbC9jb21wb25lbnRzL21vZGFsLnRzeCIsIi4uL3NyYy9sYXlvdXRzL21vZGFsL21vZGFsLnN0eWxlLnRzeCIsIi4uL3NyYy9jb250ZXh0cy9tb2RhbC50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheS50c3giLCIuLi9zcmMvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkuc3R5bGUudHN4IiwiLi4vc3JjL2NvbnRleHRzL292ZXJsYXkudHN4IiwiLi4vc3JjL2xheW91dHMvb3ZlcmxheS9pbmRleC50c3giLCIuLi9zcmMvbGF5b3V0cy9zdXJmYWNlL3N1cmZhY2Uuc3R5bGUudHN4IiwiLi4vc3JjL2xheW91dHMvc3VyZmFjZS9jb21wb25lbnRzL3N1cmZhY2UudHN4IiwiLi4vc3JjL2xheW91dHMvc3VyZmFjZS9pbmRleC50c3giLCIuLi9zcmMvY29udGV4dHMvZ29vZ2xlLWFwaS50c3giLCIuLi9zcmMvdXRpbHMvdGhlbWVfbW9kZS9pbmRleC50c3giLCIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOlsiQ29sb3IiLCJDb2xvclZhcmlhbnQiLCJ1c2VDb250ZXh0Iiwic3R5bGVkIiwiQmFzZUZpZ3VyZVN2ZyIsInByb3BzIiwiQmFzZUZpZ3VyZVBhdGgiLCJTdHlsZWRGaWd1cmUiLCJTdHlsZWRGaWd1cmVQYXRoIiwiU3R5bGVkRmlndXJlV3JhcHBlciIsIlN0eWxlZFNjcmVlblJlYWRlck9ubHkiLCJqc3giLCJTY3JlZW5SZWFkZXJPbmx5IiwidGV4dCIsImpzeHMiLCJGaWd1cmUiLCJzY3JlZW5SZWFkZXJUZXh0Iiwic2l6ZSIsImNoaWxkcmVuIiwiY3JlYXRlQ29udGV4dCIsIkZpZ3VyZUNvbnRleHQiLCJGaWd1cmVTaXplIiwiRmlndXJlVHlwZSIsIkZpZ3VyZUN0eERlZmF1bHQiLCJGaWd1cmVDdHgiLCJ1c2VUaGVtZUNvbG9yIiwiTG9va3VwQWRkaXRpb25hbENvbG9yIiwibWF0Y2giLCJ1c2VGaWd1cmVUaGVtZSIsImNvbnRleHQiLCJpc1NrZWxldG9uIiwiQ29sb3JzIiwiU3Ryb2tlIiwiUHJpbWFyeSIsIlN1cHBvcnRpbmciLCJBY2NlbnQiLCJTa2VsZXRvbkJnIiwidXNlU3RhdGUiLCJQcm9jZXNzaW5nQ29udGV4dCIsInZhbHVlIiwiUHJvY2Vzc2luZ1Byb3ZpZGVyIiwiaXNEb25lIiwic2V0SXNEb25lIiwidXNlSXNQcm9jZXNzaW5nIiwiQWxlcnQiLCJDb250ZXh0IiwiVGhlbWUiLCJCaW4iLCJDYWxlbmRhciIsIkNoZWNrIiwiQ2hpbGQiLCJDb2lucyIsIkZhY2UiLCJGYW1pbHkiLCJ0aXRsZSIsIkZhdm9yaXRlIiwiRm9sZGVyIiwiRm9sbG93VXAiLCJJZGVhIiwiTGlrZSIsIk1hcCIsIk1vbmV5IiwiT2ZmZXIiLCJQYXNzcG9ydCIsIlBhc3N3b3JkIiwiUGluIiwiU2VhcmNoIiwiU2V0dGluZyIsIlN0YXIiLCJBZGQiLCJBcHBsaWNhdGlvbiIsIkJhYnkiLCJCb29rbWFyayIsIkNhbmNlbCIsIkNvbnZlcnNhdGlvbiIsIkRhZCIsIkRhdGVUaW1lIiwiSG9tZSIsIkluZm9ybWF0aW9uIiwiTW9tIiwiTWFpbCIsIk5vIiwiRmlsZSIsIlllcyIsIk5vdGUiLCJGZW5jZSIsIkJ1aWxkaW5nIiwiRnJhZ21lbnQiLCJMb2FkRmlndXJlIiwidHlwZSIsIlNpemUiLCJ1c2VUaGVtZVJhZGl1cyIsInVzZVRoZW1lVXRpbGl0eSIsIm9yRGVmYXVsdCIsInVzZUZyYW1lIiwidGludCIsImNvbG9yIiwic3BsaXQiLCJUaGVtZVJhZGl1cyIsIlV0aWxpdHkiLCJib3JkZXJSYWRpdXMiLCJCYWNrZ3JvdW5kIiwic3BsaXRCYWNrZ3JvdW5kIiwiU3R5bGVkRnJhbWUiLCJwcm9wIiwiU3R5bGVkRnJhbWVQYWRkaW5nIiwiU3R5bGVkU2tlbGV0b25GcmFtZSIsIlN0eWxlZFBsYWNlaG9sZGVyIiwiUGxhY2Vob2xkZXIiLCJGcmFtZSIsImFyb3VuZCIsIklzU2tlbGV0b24iLCJCYWRnZSIsIkJhZGdlVHlwZSIsIlN0eWxlZEJyYW5kV3JhcHBlciIsIlN0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXIiLCJTdHlsZWRCcmFuZExhYmVsIiwiU3R5bGVkQnJhbmRTa2VsZXRvbkxhYmVsIiwiVGV4dERlY29yYXRpb24iLCJTdHlsZWRQbGFpblRleHQiLCJTdHlsZWRTa2VsZXRvblBsYWluVGV4dCIsIlN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSIsInVzZVRoZW1lRm9udHMiLCJ1c2VQbGFpblRleHQiLCJGb250cyIsIlJhZGl1cyIsIlN0YW5kYXJkIiwiU2tlbGV0b24iLCJQbGFpblRleHQiLCJmb250IiwiZm9udFdlaWdodCIsInRleHREZWNvcmF0aW9uIiwiY3NzVGV4dERlY29yYXRpb24iLCJjc3NGb250IiwiVHlwb2dyYXBoeUZvbnQiLCJUeXBvZ3JhcGh5Rm9udHMiLCJUeXBvZ3JhcGh5Rm9udFdlaWdodCIsIkJyYW5kIiwibG9nbyIsIm5hbWUiLCJhcmlhTGFiZWwiLCJ1c2VCcmVhZGNydW1iIiwiSWNvbkNvbnRleHQiLCJJY29uU2l6ZSIsIkljb25UeXBlIiwiU3R5bGVkQnJlYWRjcnVtYiIsIlN0eWxlZEJyZWFkY3J1bWJJdGVtIiwiU3R5bGVkQnJlYWRjcnVtYkxhYmVsIiwiU3R5bGVkQnJlYWRjcnVtYkVsbGlwc2lzIiwiU3R5bGVkQnJlYWRjcnVtYlNlcGFyYXRvciIsIlN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYiIsIlN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYkxhYmVsIiwiQmFzZUljb25TdmciLCJCYXNlSWNvblBhdGgiLCJTdHlsZWRJY29uIiwiU3R5bGVkSWNvblBhdGgiLCJTdHlsZWRJY29uV3JhcHBlciIsIkljb24iLCJ1c2VJY29uVGhlbWUiLCJJY29uSW5pdGlhbENvbG9yUHJpbWFyeSIsIkljb25Jbml0aWFsQ29sb3JTdXBwb3J0aW5nIiwiSWNvbkluaXRpYWxDb2xvckRhcmsiLCJJY29uSW5pdGlhbENvbG9yTGlnaHQiLCJJY29uRGlzYWJsZWRDb2xvciIsIkljb25DdHhEZWZhdWx0IiwiSWNvbkN0eCIsIkFycm93TGVmdCIsIkFycm93UmlnaHQiLCJDaGV2cm9uRG93biIsIkNoZXZyb25VcCIsIkRpc3RhbmNlIiwiRG9jdW1lbnQiLCJFZGl0IiwiRXVybyIsIk1lbnUiLCJQcm9maWxlIiwiUmVkbyIsIlNlbmQiLCJUcmFuc2xhdGlvbiIsIkNvbW1lbnQiLCJJblByb2Nlc3MiLCJNaW51cyIsIkNvbGxhcHNlIiwiQ2hldnJvblJpZ2h0IiwiQ2hldnJvbkxlZnQiLCJFeHBhbmQiLCJMb2FkSWNvbiIsIkJyZWFkY3J1bWIiLCJjcnVtYnMiLCJjdXJyZW50UGFnZSIsImlzRWxsaXBzaXNDbGlja2VkIiwic2V0SXNFbGxpcHNpc0NsaWNrZWQiLCJzZXBhcmF0b3JJY29uIiwiaGFuZGxlRWxsaXBzaXNDbGljayIsImRpc3BsYXllZENydW1icyIsImNydW1iIiwiaW5kZXgiLCJSZWFjdCIsIkJ1dHRvbkNvbnRleHQiLCJCdXR0b25UeXBlIiwidXNlQnV0dG9uSWNvbkNvbnRleHQiLCJCdXR0b25DdHhEZWZhdWx0IiwiQnV0dG9uQ3R4IiwiQnV0dG9uSWNvbiIsImljb24iLCJNYXRjaGVkSWNvbkNvbnRleHQiLCJjc3MiLCJiYXNlQnV0dG9uU3R5bGVzIiwiYmFzZUJ1dHRvbklubmVyU3R5bGVzIiwiQnV0dG9uTmF2aWdhdGlvbiIsIkJ1dHRvbiIsIkJ1dHRvbklubmVyIiwiQnV0dG9uTGFiZWwiLCJTdHlsZWRCdXR0b24iLCJTdHlsZWRCdXR0b25OYXZpZ2F0aW9uIiwiU3R5bGVkQnV0dG9uU2tlbGV0b24iLCJTdHlsZWRCdXR0b25Jbm5lciIsIlN0eWxlZEJ1dHRvbkxhYmVsIiwidXNlQnV0dG9uVGhlbWUiLCJCdG5EaXNhYmxlZEJnIiwiQnRuRGlzYWJsZWRDb2xvciIsIkJ0bkluaXRpYWxCZ1ByaW1hcnkiLCJCdG5Ib3ZlckJnUHJpbWFyeSIsIkJ0bkluaXRpYWxDb2xvclByaW1hcnkiLCJCdG5Ib3ZlckNvbG9yUHJpbWFyeSIsIkJ0bkluaXRpYWxCZ1NlY29uZGFyeSIsIkJ0bkhvdmVyQmdTZWNvbmRhcnkiLCJCdG5Jbml0aWFsQ29sb3JTZWNvbmRhcnkiLCJCdG5Ib3ZlckNvbG9yU2Vjb25kYXJ5IiwiQnRuSW5pdGlhbEJnU3VwcG9ydGluZyIsIkJ0bkhvdmVyQmdTdXBwb3J0aW5nIiwiQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyIsIkJ0bkhvdmVyQ29sb3JTdXBwb3J0aW5nIiwiVWkiLCJOb25lIiwiTG93IiwiTWVkaXVtIiwiSGlnaCIsIkRpc2FibGVkIiwiaWQiLCJvbkNsaWNrIiwid2l0aEljb25CZWZvcmUiLCJ3aXRoSWNvbkFmdGVyIiwiQnRuQ29udGV4dCIsIkxhYmVsIiwiSXNEaXNhYmxlZCIsIklzTmF2aWdhdGlvbiIsIkljb25CZWZvcmUiLCJJY29uQWZ0ZXIiLCJodG1sVHlwZSIsIlN0eWxlZENoZWNrYm94IiwiU3R5bGVkQ2hlY2tib3hDb250YWluZXIiLCJTdHlsZWRDaGVja2JveENvbnRhaW5lclNrZWxldG9uIiwiU3R5bGVkQ2hlY2tib3hWaXN1YWwiLCJTdHlsZWRDaGVja2JveFZpc3VhbFNrZWxldG9uIiwiU3R5bGVkQ2hlY2tib3hMYWJlbCIsIlN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbiIsIkNoZWNrYm94Q29udGV4dCIsInVzZUNoZWNrYm94VGhlbWUiLCJyYWRpdXMiLCJza2VsZXRvbkJnQ29sb3IiLCJlcnJvckJvcmRlckNvbG9yIiwiRXJyb3IiLCJDaGVja2JveEN0eERlZmF1bHQiLCJDaGVja2JveEN0eCIsIkNoZWNrYm94Iiwib25DaGFuZ2UiLCJsYWJlbCIsImNoZWNrZWQiLCJkZWZhdWx0Q2hlY2tlZCIsIkNvbXBvbmVudENvbnRleHQiLCJpc0Rpc2FibGVkIiwiSW5wdXRDb250ZXh0IiwiQ2hvaWNlQ29udGV4dCIsInVzZUNob2ljZVRoZW1lIiwiU3R5bGVkQ2hvaWNlIiwiU3R5bGVkQ2hvaWNlQ29udGFpbmVyIiwiU3R5bGVkQ2hvaWNlTGFiZWwiLCJTdHlsZWRWaXN1YWxDb250YWluZXIiLCJTdHlsZWRWaXN1YWwiLCJTdHlsZWRDaG9pY2VDb250YWluZXJTa2VsZXRvbiIsIlN0eWxlZENob2ljZVZpc3VhbFNrZWxldG9uIiwiU3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbiIsIkNob2ljZUN0eERlZmF1bHQiLCJDaG9pY2VDdHgiLCJDaG9pY2UiLCJTdHlsZWRGZWF0dXJlIiwiU3R5bGVkU2tlbGV0b25GZWF0dXJlIiwiU3R5bGVkRmVhdHVyZUxhYmVsIiwiU3R5bGVkRmVhdHVyZUljb24iLCJ1c2VGZWF0dXJlIiwiRm9udCIsIkZlYXR1cmVMYWJlbCIsInVzZUZlYXR1cmVJY29uQ29udGV4dCIsIkZlYXR1cmVJY29uIiwiTWFyZ2luIiwiRmVhdHVyZSIsIlN0eWxlZENvbGxhcHNlIiwiU3R5bGVkQ29sbGFwc2VBY3Rpb24iLCJTdHlsZWRFeHBhbmQiLCJTdHlsZWRFeHBhbmRBY3Rpb24iLCJTdHlsZWRIMSIsIlN0eWxlZEgyIiwiU3R5bGVkSDMiLCJTdHlsZWRINCIsIlN0eWxlZEg1IiwiU3R5bGVkSDYiLCJIZWFkaW5nIiwidXNlSW5mb3JtYXRpb24iLCJTdHlsZWRJbmZvcm1hdGlvbiIsIlN0eWxlZEluZm9ybWF0aW9uVmlzdWFsIiwiU3R5bGVkSW5mb3JtYXRpb25UZXh0IiwiU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbiIsImZyYW1lIiwiVmlzdWFsIiwidXNlSW5wdXRUaGVtZSIsIlN0eWxlZElucHV0Q29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQmVmb3JlQ29udGFpbmVyIiwiU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIiLCJTdHlsZWRJbnB1dCIsIlN0eWxlZElucHV0U2tlbGV0b24iLCJTdHlsZWRUZXh0YXJlYSIsIlN0eWxlZFRleHRhcmVhU2tlbGV0b24iLCJ1c2VJbnB1dEljb25Db250ZXh0IiwiSW5wdXRDdHhEZWZhdWx0IiwiSW5wdXRDdHgiLCJJbnB1dEljb24iLCJza2VsZXRvbiIsIklucHV0IiwiZGVmYXVsdFZhbHVlIiwib25CbHVyIiwicGxhY2Vob2xkZXIiLCJtdWx0aWxpbmUiLCJyb3dzIiwiZXJyb3IiLCJkaXNhYmxlZCIsIlN0eWxlZExpbmtJbm5lciIsIlN0eWxlZExpbmtMYWJlbCIsIlN0eWxlZExpbmtJY29uQmVmb3JlIiwiU3R5bGVkTGlua0ljb25BZnRlciIsIlN0eWxlZExpbmsiLCJTdHlsZWRMaW5rU2tlbGV0b24iLCJMaW5rTGFiZWwiLCJMaW5rQ29udGV4dCIsIlBvc2l0aW9uIiwidXNlTGlua0ljb25Db250ZXh0IiwiTGlua0N0eERlZmF1bHQiLCJMaW5rQ3R4IiwiTGlua0ljb24iLCJwb3NpdGlvbiIsIkJlZm9yZSIsIkFmdGVyIiwidXNlTGlua1RoZW1lIiwiTGluayIsIkljb25CZWZvcmVTa2VsZXRvbiIsIkljb25BZnRlclNrZWxldG9uIiwidXNlTGlzdFRoZW1lIiwiU3R5bGVkVW5vcmRlcmVkTGlzdCIsIlN0eWxlZE9yZGVyZWRMaXN0IiwiU3R5bGVkVW5vcmRlcmVkTGlzdFNrZWxldG9uIiwiU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbiIsIlN0eWxlZExpc3RJdGVtQ29udGFpbmVyIiwiU3R5bGVkTGlzdEl0ZW0iLCJMaXN0IiwiSXRlbSIsIkxpc3RUeXBlIiwiQmFzZUxvZ29TdmciLCJCYXNlTG9nb0ltYWdlIiwiQmFzZUxvZ29QYXRoIiwiU3R5bGVkTG9nbyIsIlN0eWxlZExvZ29JbWFnZSIsIlN0eWxlZExvZ29Ta2VsZXRvbiIsIlN0eWxlZExvZ29JbWFnZVNrZWxldG9uIiwiU3R5bGVkTG9nb1BhdGgiLCJTdHlsZWRMb2dvV3JhcHBlciIsIlN0eWxlZExvZ29JbWFnZVdyYXBwZXIiLCJTdmdBc0xvZ28iLCJEYXJrIiwiSW1hZ2VBc0xvZ28iLCJzcmNzZXQiLCJhbHQiLCJMb2FkTG9nbyIsIkxvZ28iLCJTdHlsZWROb3RpZmljYXRpb24iLCJTdHlsZWRTa2VsZXRvbk5vdGlmaWNhdGlvbiIsInVzZU5vdGlmaWNhdGlvbiIsIk5vdGlmaWNhdGlvbiIsIm51bWJlciIsImRpc3BsYXkiLCJ1c2VQaWNrVGhlbWUiLCJTdHlsZWRQaWNrIiwiU3R5bGVkUGlja0NvbnRhaW5lciIsIlN0eWxlZFBpY2tMYWJlbCIsIlN0eWxlZFBpY2tDb250YWluZXJTa2VsZXRvbiIsIlN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbiIsIlN0eWxlZFBpY2tMYWJlbFNrZWxldG9uIiwiUGlja0NvbnRleHQiLCJQaWNrQ3R4RGVmYXVsdCIsIlBpY2tDdHgiLCJQaWNrIiwidXNlUGlsbCIsIlN0eWxlZFBpbGwiLCJTdHlsZWRQaWxsSWNvbiIsIlN0eWxlZFBpbGxMYWJlbCIsIlN0eWxlZFNrZWxldG9uUGlsbCIsInVzZVBpbGxJY29uQ29udGV4dCIsIlBpbGxJY29uIiwiUGlsbExhYmVsIiwiUGlsbCIsIlBpblR5cGUiLCJCYXNlUGluU3ZnIiwiQmFzZVBpblBhdGgiLCJCYXNlUGluRyIsIkJhc2VEZWZzIiwiQmFzZUNsaXBQYXRoIiwiQmFzZUNsaXBSZWN0IiwiU3R5bGVkUGluIiwiU3R5bGVkUGluUGF0aCIsIlN0eWxlZFBpbldyYXBwZXIiLCJTdHlsZWRQaW5TaGFkb3ciLCJjb2xvcnMiLCJ3aWR0aCIsIndpZHRoUHgiLCJoZWlnaHQiLCJoZWlnaHRQeCIsInZpZXdCb3giLCJTdHlsZWRSYWRpbyIsIlN0eWxlZFJhZGlvQ29udGFpbmVyIiwiU3R5bGVkUmFkaW9Db250YWluZXJTa2VsZXRvbiIsIlN0eWxlZFJhZGlvVmlzdWFsIiwiU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbiIsIlN0eWxlZFJhZGlvTGFiZWwiLCJTdHlsZWRSYWRpb0xhYmVsU2tlbGV0b24iLCJSYWRpb0NvbnRleHQiLCJ1c2VSYWRpb1RoZW1lIiwiUmFkaW9DdHhEZWZhdWx0IiwiUmFkaW9DdHgiLCJSYWRpbyIsIlN0eWxlZFJlY29yZCIsIlN0eWxlZFJlY29yZEljb24iLCJTdHlsZWRSZWNvcmRMYWJlbCIsIlN0eWxlZFJlY29yZExhYmVsVGV4dCIsIlN0eWxlZFJlY29yZFZhbHVlIiwidXNlUmVjb3JkTGFiZWwiLCJ1c2VSZWNvcmRWYWx1ZSIsIlN0eWxlZEdyaWRDb250YWluZXIiLCJTdHlsZWRHcmlkIiwiU3R5bGVkR3JpZEl0ZW0iLCJ1c2VUaGVtZSIsIkdyaWRDb250ZXh0IiwiR3JpZCIsImRpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5IiwiZ2FwIiwic21CcmVha3BvaW50IiwibWRCcmVha3BvaW50IiwibGdCcmVha3BvaW50IiwieGxCcmVha3BvaW50IiwieHhsQnJlYWtwb2ludCIsImdhcE9yZGVmYXVsdCIsImRpcmVjdGlvbk9yRGVmYXVsdCIsImFsaWduSXRlbXNPckRlZmF1bHQiLCJqdXN0aWZ5T3JEZWZhdWx0Iiwic3R5bGUiLCJjb3VudCIsImluaXRpYWwiLCJzbSIsIm1kIiwibGciLCJ4bCIsInh4bCIsIndpZHRoT3JEZWZhdWx0Iiwic21PckRlZmF1bHQiLCJtZE9yRGVmYXVsdCIsImxnT3JEZWZhdWx0IiwieGxPckRlZmF1bHQiLCJ4eGxPckRlZmF1bHQiLCJncmlkIiwiU3BhY2luZyIsIlJlY29yZCIsIlRoZW1lTGFiZWwiLCJUaGVtZVZhbHVlIiwiVmFsdWUiLCJTdHlsZWRTdGF0dXMiLCJTdHlsZWRTa2VsZXRvblN0YXR1cyIsIlN0eWxlZFN0YXR1c0xhYmVsIiwiU3R5bGVkU3RhdHVzTGFiZWxJY29uIiwiU3R5bGVkU3RhdHVzTGFiZWxUZXh0IiwiU3R5bGVkU2tlbGV0b25TdGF0dXNMYWJlbCIsInVzZVN0YXR1c0NvbXBhY3QiLCJTZW5kU3RhdHVzIiwiUHJvY2Vzc2luZ1N0YXR1cyIsIlByb3Bvc2FsU3RhdHVzIiwiQWNjZXB0ZWRTdGF0dXMiLCJSZWZ1c2VkU3RhdHVzIiwiU3RhdHVzQ29udGV4dCIsIlN0YXR1c0N0eERlZmF1bHQiLCJTdGF0dXNDdHgiLCJTdGF0dXNDb21wYWN0IiwidXNlU3RhdHVzIiwidXNlU3RhdHVzSWNvbiIsInVzZVN0YXR1c1RleHQiLCJTdGF0dXMiLCJJY29uVGhlbWUiLCJUZXh0VGhlbWUiLCJTdHlsZWRUZXJtIiwiU3R5bGVkVGVybUZyYW1lIiwiU3R5bGVkVGVybUNvbnRlbnQiLCJTdHlsZWRUZXJtTGFiZWwiLCJTdHlsZWRUZXJtRGVzY3JpcHRpb24iLCJTdHlsZWRTa2VsZXRvblRlcm1EZXNjcmlwdGlvbiIsIlN0eWxlZFNrZWxldG9uVGVybSIsInVzZVRlcm0iLCJ1c2VUZXJtRnJhbWUiLCJ1c2VUZXJtTGFiZWwiLCJ1c2VUZXJtRGVzY3JpcHRpb24iLCJUZXJtIiwiZGVzY3JpcHRpb24iLCJUaGVtZUZyYW1lIiwiVGhlbWVEZXNjcmlwdGlvbiIsIlN0eWxlZFRlcm1pbmFsIiwiU3R5bGVkVGVybWluYWxJbm5lciIsIlN0eWxlZFRlcm1pbmFsT3V0ZXIiLCJTdHlsZWRUZXJtaW5hbFdyYXBwZXIiLCJTdHlsZWRUZXJtaW5hbExhYmVsIiwiU3R5bGVkVGVybWluYWxMYWJlbENvbnRlbnQiLCJTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3ciLCJTdHlsZWRUZXJtaW5hbFNoYWRvdyIsIlRlcm1pbmFsIiwidXNlRWZmZWN0IiwiWWVzTm9Db250ZXh0IiwidXNlWWVzTm9UaGVtZSIsInV0aWwiLCJTdHlsZWRZZXNObyIsIlN0eWxlZFllc05vQ29udGFpbmVyIiwiU3R5bGVkWWVzTm9MYWJlbCIsIlN0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24iLCJTdHlsZWRZZXNOb1dyYXBwZXIiLCJTdHlsZWRZZXNOb1Zpc3VhbFNrZWxldG9uIiwiU3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uIiwiWWVzTm9DdHhEZWZhdWx0IiwiWWVzTm9DdHgiLCJZZXNObyIsImFyaWFZZXNMYWJlbCIsImFyaWFOb0xhYmVsIiwieWVzTGFiZWwiLCJub0xhYmVsIiwieWVzT3JObyIsInNldFllc09yTm8iLCJDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQiLCJTdHlsZWRDb21wYWN0TmF2aWdhdGlvbiIsIlN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uU2tlbGV0b24iLCJTdHlsZWRDb21wYWN0TmF2aWdhdGlvblRvZ2dsZSIsIlN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uQm9keSIsInVzZUNvbXBhY3ROYXZpZ2F0aW9uIiwiQ29tcGFjdE5hdmlnYXRpb25DdHhEZWZhdWx0IiwiQ29tcGFjdE5hdmlnYXRpb25DdHgiLCJUb2dnbGUiLCJOYXZDb250ZXh0Iiwic2V0TmF2Q29udGV4dCIsIkNvbXBhY3ROYXZpZ2F0aW9uIiwidG9nZ2xlTGFiZWwiLCJpc09wZW4iLCJEZWZhdWx0Q29tcGFjdE5hdmlnYXRpb25Db250ZXh0IiwiU3R5bGVkRGV0YWlsc0NvbnRhaW5lciIsIlN0eWxlZERldGFpbHNIZWFkZXIiLCJTdHlsZWREZXRhaWxzSGVhZGVySWNvbiIsIlN0eWxlZERldGFpbHNBY3Rpb25zIiwiU3R5bGVkRGV0YWlsc0NvbnRlbnQiLCJTdHlsZWRTa2VsZXRvblRpdGxlIiwidXNlRGV0YWlsc1RoZW1lIiwiRGV0YWlscyIsIkFjY29yZGVvbkNvbnRleHQiLCJBY2NvcmRlb25DdHhEZWZhdWx0IiwiQWNjb3JkZW9uQ3R4IiwiSGVhZGVyIiwiQ29udGVudCIsIlN0eWxlZEZhcUNvbnRhaW5lciIsIlN0eWxlZEZhcUhlYWRlciIsIlN0eWxlZEZhcUhlYWRlckljb24iLCJTdHlsZWRGYXFDb250ZW50IiwidXNlRmFxVGhlbWUiLCJGYXEiLCJ1c2VGZWF0dXJlcyIsIlN0eWxlZEZlYXR1cmVzIiwiU3R5bGVkRmVhdHVyZXNJdGVtIiwiU3R5bGVkRmVhdHVyZXNJdGVtU2VwZXJhdG9yIiwiU3R5bGVkU2tlbGV0b25GZWF0dXJlcyIsIkZlYXR1cmVzIiwiZmVhdHVyZXMiLCJjaGlsZCIsImRpdmlkZXIiLCJ1c2VOYXZpZ2F0aW9uIiwiU3R5bGVkTmF2aWdhdGlvbkNvbnRhaW5lciIsIlN0eWxlZE5hdmlnYXRpb25JdGVtQ29udGFpbmVyIiwiU3R5bGVkTmF2aWdhdGlvbkl0ZW1MYWJlbCIsIlN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkNvbnRhaW5lciIsIlN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkl0ZW0iLCJpc0FjdGl2ZSIsIk5hdmlnYXRpb24iLCJ1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb24iLCJTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uIiwiU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluayIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvbiIsIlN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIiLCJQcm9maWxlTmF2aWdhdGlvbiIsInRoZW1lIiwiQ291bnRlciIsIkl0ZW1UeXBlIiwiaXNIaWdobGlnaHRlZCIsInVzZVJlY29yZHMiLCJSZWNvcmRzIiwicmVjb3JkcyIsIkNoaWxkcmVuIiwidXNlU3RhdHVzTGlzdFRoZW1lIiwiU3R5bGVkU3RhdHVzTGlzdCIsIlN0eWxlZFN0YXR1c0xpc3RJdGVtcyIsIlN0eWxlZFN0YXR1c0xpc3RDb3VudCIsIlN0eWxlZFNrZWxldG9uU3RhdHVzTGlzdCIsIlN0eWxlZENvbnRhaW5lciIsIlN0eWxlZENvbnRhaW5lclBhZGRpbmciLCJTdHlsZWRTa2VsZXRvbkNvbnRhaW5lciIsIkNvbnRhaW5lclR5cGUiLCJ1c2VDb250YWluZXIiLCJsaWZ0ZWQiLCJwYWRkaW5nIiwiZnVsbFdpZHRoIiwiUmFkaXVzQmFzZSIsIlNoYWRvdyIsIkNvbnRhaW5lciIsIlN0YXR1c0xpc3QiLCJ3aXRoQ291bnQiLCJDb3VudCIsInVzZVRvcE5hdmlnYXRpb24iLCJTdHlsZWRUb3BOYXZpZ2F0aW9uQ29udGFpbmVyIiwiU3R5bGVkU2tlbGV0b25FeGFtcGxlIiwiU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW0iLCJTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbVNrZWxldG9uIiwiU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXIiLCJUb3BOYXZpZ2F0aW9uIiwiU3R5bGVkSGVhZGVyQ29tcGFjdENvbnRhaW5lciIsIlN0eWxlZEhlYWRlckNvbnRhaW5lciIsIlN0eWxlZEhlYWRlckJyYW5kQ29udGFpbmVyIiwiU3R5bGVkSGVhZGVyTmF2Q29udGFpbmVyIiwidXNlSGVhZGVyIiwidXNlV2luZG93RGltZW5zaW9ucyIsIndpbmRvd0RpbWVuc2lvbnMiLCJzZXRXaW5kb3dEaW1lbnNpb25zIiwiaGFuZGxlUmVzaXplIiwidXNlX3NjcmVlbl9kaW1lbnNpb25zX2RlZmF1bHQiLCJicmFuZCIsIm5hdmlnYXRpb24iLCJwcm9maWxlTmF2aWdhdGlvbiIsInRvcE5hdmlnYXRpb24iLCJjb21wYWN0TmF2aWdhdGlvbiIsInVzZU1hcCIsInVzZU1hcHNMaWJyYXJ5IiwiR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJDb250ZXh0IiwiR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJQcm92aWRlciIsInNlcnZpY2UiLCJzZXRTZXJ2aWNlIiwicm91dGVzTGlicmFyeSIsInVzZUdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvbnNSZW5kZXJlciIsIkRpcmVjdGlvbk1hcCIsImRpcmVjdGlvbnMiLCJyZW5kZXJlciIsImFjdGl2ZVJvdXRlIiwic2V0QWN0aXZlUm91dGUiLCJvblJvdXRlQ2xpY2tlZCIsInJlbmRlck9wdGlvbnMiLCJBZHZhbmNlZE1hcmtlciIsIkxvY2F0aW9uTWFwIiwicG9pbnRzIiwib3JpZ2luIiwibWFwUG9pbnRzIiwib25NYXJrZXJDbGlja2VkIiwiZXZlbnQiLCJwb2ludCIsIk9yaWdpbk1hcmtlciIsIlBvaW50TWFya2VycyIsImkiLCJ1dWlkdjQiLCJDb250cm9sUG9zaXRpb24iLCJHb29nbGVNYXAiLCJTdHlsZWRab29tIiwiU3R5bGVkWm9vbVNlcGVyYXRvciIsIlN0eWxlZFpvb21QbHVzIiwiU3R5bGVkWm9vbU1pbnVzIiwiU3R5bGVkU2tlbGV0b25ab29tIiwidXNlWm9vbSIsIlpvb20iLCJtYXAiLCJtYXhab29tIiwibWluWm9vbSIsIkN0eCIsImRlZmF1bHRab29tIiwiY3VycmVudFpvb20iLCJzZXRDdXJyZW50Wm9vbSIsInBsdXNBdmFpbGFibGUiLCJzZXRQbHVzQXZhaWxhYmxlIiwibWludXNBdmFpbGFibGUiLCJzZXRNaW51c0F2YWlsYWJsZSIsInNldEF2YWlsYWJsZSIsInVwZGF0ZSIsIm9uQ2xpY2tQbHVzIiwib25DbGlja01pbnVzIiwiTWFwQ29udHJvbCIsIkRlZmF1bHQiLCJwb3NpdGlvbk9mZnNldCIsIm9mZnNldCIsIm1hcElkIiwiZGVmYXVsdENlbnRlciIsIlN0eWxlIiwiU3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyIiwiU3R5bGVkQWNjb3JkZW9uSGVhZGVyIiwiU3R5bGVkQWNjb3JkZW9uQm9keSIsIlN0eWxlZEFjY29yZGVvbkNvbnRlbnQiLCIkaXNPcGVuIiwiQWNjb3JkZW9uIiwic2V0QWNjb3JkZW9uQ29udGV4dCIsIkRlZmF1bHRBY2NvcmRlb25Db250ZXh0IiwiU3R5bGVkQmFja2Ryb3AiLCJCYWNrZHJvcENvbnRleHQiLCJCYWNrZHJvcFByb3ZpZGVyIiwiaXNCYWNrZHJvcFZpc2libGUiLCJzZXRJc0JhY2tkcm9wVmlzaWJsZSIsIkJhY2tkcm9wIiwiY3JlYXRlUG9ydGFsIiwiU3R5bGVkQmx1ciIsIkJsdXJDb250ZXh0IiwiQmx1clByb3ZpZGVyIiwiaXNCbHVycmVkIiwic2V0SXNCbHVycmVkIiwiQmx1ciIsIlN0eWxlZENvbGxhcHNhYmxlIiwiU3R5bGVkQ29sbGFwc2FibGVDb250ZW50IiwiU3R5bGVkQ29sbGFwc2FibGVBZGRpdGlvbmFsIiwiU3R5bGVkQ29sbGFwc2FibGVFeHBhbmRDb250ZW50QWN0aW9uIiwiU3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24iLCJDb2xsYXBzYWJsZSIsImNvbnRlbnQiLCJhZGRpdGlvbmFsIiwid2l0aENvbnRlbnRFeHBhbmQiLCJ3aXRoQ29udGVudENvbGxhcHNlIiwiaXNDb250ZW50RXhwYW5kZWQiLCJzZXRDb250ZW50RXhwYW5kZWQiLCJTdHlsZWREcmF3ZXIiLCJTdHlsZWREcmF3ZXJIZWFkZXIiLCJTdHlsZWREcmF3ZXJDb250ZW50IiwiRHJhd2VyQ29udGV4dCIsIkRyYXdlclByb3ZpZGVyIiwiZHJhd2VyIiwic2V0SXNPcGVuIiwiRHJhd2VyIiwiVHJhbnNmb3JtZWRTaXplIiwiRHJhd2VyU2l6ZSIsIlN0eWxlZE1vZGFsIiwiU3R5bGVkTW9kYWxIZWFkZXIiLCJTdHlsZWRNb2RhbEhlYWRlckNsb3NlIiwiU3R5bGVkTW9kYWxDb250ZW50IiwiTW9kYWxDb250ZXh0IiwiTW9kYWxQcm92aWRlciIsIm1vZGFsIiwiTW9kYWwiLCJTdHlsZWRPdmVybGF5IiwiU3R5bGVkT3ZlcmxheUhlYWRlciIsIlN0eWxlZE92ZXJsYXlIZWFkZXJBcmVhIiwiU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlIiwiU3R5bGVkT3ZlcmxheUNvbnRlbnQiLCJPdmVybGF5Q29udGV4dCIsIk92ZXJsYXlQcm92aWRlciIsImhlYWRlciIsImNsb3NlIiwib3ZlcmxheSIsIk92ZXJsYXkiLCJTdHlsZWRTdXJmYWNlIiwiU3VyZmFjZSIsIkFQSVByb3ZpZGVyIiwiR29vZ2xlQVBJUHJvdmlkZXIiLCJhcGlLZXkiLCJvbkxvYWQiLCJUaGVtZU1vZGUiLCJEZWZhdWx0VGhlbWVNb2RlIiwiVGhlbWVNb2RlQ29udGV4dCIsIlRoZW1lTW9kZVByb3ZpZGVyIiwiZnJvbUJyb3dzZXIiLCJyZXNvbHZlZFRoZW1lTW9kZSIsIlRoZW1lTW9kZU9yRGVmYXVsdCIsInRoZW1lTW9kZSIsInNldFRoZW1lTW9kZSIsImZhbGxiYWNrIiwiVGhlbWVCdWlsZGVyIiwiQnVpbGRQcm92aWRlcnNUcmVlIiwiVGhlbWVDdHgiLCJTdHlsZVByb3ZpZGVyQW5pbWF0aW9uIiwiU3R5bGVQcm92aWRlckZvbnRGYWNlIiwiU3R5bGVQcm92aWRlclByZUZsaWdodCIsIlN0eWxlUHJvdmlkZXJSb3V0ZXIiLCJ1c2VCcm93c2VyQWNjZXNzaWJpbGl0eVByZWZlcmVuY2VzIl0sIm1hcHBpbmdzIjoiQUFHQSxPQUFTLFNBQUFBLEdBQU8sZ0JBQUFDLE9BQW9CLDBCQ0hwQyxPQUFnQixjQUFBQyxPQUFrQixRQ0FsQyxPQUFPQyxPQUFZLG9CQUVuQixJQUFNQyxHQUFnQkQsR0FBTyxJQUFJLE1BQU9FLElBQVcsQ0FDakQsUUFBUyxNQUNULE1BQU8sNkJBQ1AsV0FBWSwrQkFDWixLQUFNLE1BQ04sY0FBZSxNQUNqQixFQUFFLElBRVdDLEdBQWlCSCxHQUFPLEtBQUssTUFBTSxDQUM5QyxLQUFNLGNB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eUJBQUFDLEdBQ0EsMEJBQUFDLEdBQ0EsdUJBQUFDLE9BQ0ssaUJBR1AsT0FBUyxzQ0FBQUMsT0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQmFkZ2VCYXNlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2UvYmFkZ2UudHlwZXNcIjtcbmltcG9ydCB7IEJhZGdlVHlwZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlXCI7XG5pbXBvcnQgeyBDb2xvciwgQ29sb3JWYXJpYW50IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZVNpemUsIEZpZ3VyZVR5cGUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBGcmFtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQmFkZ2UgPSAoeyB0eXBlLCBzY3JlZW5SZWFkZXJUZXh0IH06IElCYWRnZUJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxGcmFtZVxuICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgIGFyb3VuZD17XG4gICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgc2l6ZT17RmlndXJlU2l6ZS5NRURJVU19XG4gICAgICAgICAgICB0eXBlPXtGaWd1cmVUeXBlLkZFTkNFfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAvPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gbWF0Y2godHlwZSwgW1xuICAgIFtcbiAgICAgIEJhZGdlVHlwZS5EQVlDQVJFLFxuICAgICAgPEZyYW1lXG4gICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgY29sb3I9e0NvbG9yLkFDQ0VOVH1cbiAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICBzaXplPXtGaWd1cmVTaXplLk1FRElVTX1cbiAgICAgICAgICAgIHR5cGU9e0ZpZ3VyZVR5cGUuQlVJTERJTkd9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fVxuICAgICAgICAgIC8+XG4gICAgICAgIH1cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgQmFkZ2VUeXBlLkNISUxETUlOREVSLFxuICAgICAgPEZyYW1lXG4gICAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH1cbiAgICAgICAgY29sb3I9e0NvbG9yLlNVUFBPUlRJTkd9XG4gICAgICAgIGFyb3VuZD17XG4gICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgc2l6ZT17RmlndXJlU2l6ZS5NRURJVU19XG4gICAgICAgICAgICB0eXBlPXtGaWd1cmVUeXBlLkZFTkNFfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH1cbiAgICAgICAgICAvPlxuICAgICAgICB9XG4gICAgICAvPixcbiAgICBdLFxuICAgIFtcbiAgICAgIEJhZGdlVHlwZS5DT09QRVJBVElWRSxcbiAgICAgIDxGcmFtZVxuICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgIGNvbG9yPXtDb2xvci5BQ0NFTlR9XG4gICAgICAgIHNwbGl0PXtDb2xvci5TVVBQT1JUSU5HfVxuICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgIDxGaWd1cmVcbiAgICAgICAgICAgIHNpemU9e0ZpZ3VyZVNpemUuTUVESVVNfVxuICAgICAgICAgICAgdHlwZT17RmlndXJlVHlwZS5CVUlMRElOR31cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9XG4gICAgICAgICAgLz5cbiAgICAgICAgfVxuICAgICAgLz4sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEFsZXJ0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MC4wODIxIDEuOTgxNzFDMzMuOTk4MSAxLjk4MTcxIDI0Ljg5MTYgMi4xNTcyMSAyNy45MTQxIDI3LjgzODdDMzAuOTM2NiA1My41MjAyIDM3LjA0MDEgNTMuNjU2NyA0MC4wODIxIDUzLjY1NjdDNDMuMTI0MSA1My42NTY3IDQ5LjIwODEgNTMuNjU2NyA1Mi4yNTAxIDI3Ljc5OTdDNTUuMjkyMSAxLjk0MjcxIDQ2LjE2NjEgMS45ODE3MSA0MC4wODIxIDEuOTgxNzFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMC45NTYxIDY4LjkwNTdDMzAuOTU2MSA3MC4xMDQyIDMxLjE5MjEgNzEuMjkwOSAzMS42NTA3IDcyLjM5ODFDMzIuMTA5NCA3My41MDUzIDMyLjc4MTYgNzQuNTExMyAzMy42MjkgNzUuMzU4OEMzNC40NzY0IDc2LjIwNjIgMzUuNDgyNSA3Ni44Nzg0IDM2LjU4OTcgNzcuMzM3QzM3LjY5NjkgNzcuNzk1NyAzOC44ODM2IDc4LjAzMTcgNDAuMDgyMSA3OC4wMzE3QzQxLjI4MDUgNzguMDMxNyA0Mi40NjcyIDc3Ljc5NTcgNDMuNTc0NCA3Ny4zMzdDNDQuNjgxNiA3Ni44Nzg0IDQ1LjY4NzcgNzYuMjA2MiA0Ni41MzUxIDc1LjM1ODhDNDcuMzgyNSA3NC41MTEzIDQ4LjA1NDggNzMuNTA1MyA0OC41MTM0IDcyLjM5ODFDNDguOTcyIDcxLjI5MDkgNDkuMjA4MSA3MC4xMDQyIDQ5LjIwODEgNjguOTA1N0M0OS4yMDgxIDY3LjcwNzMgNDguOTcyIDY2LjUyMDYgNDguNTEzNCA2NS40MTMzQzQ4LjA1NDggNjQuMzA2MSA0Ny4zODI1IDYzLjMwMDEgNDYuNTM1MSA2Mi40NTI3QzQ1LjY4NzcgNjEuNjA1MiA0NC42ODE2IDYwLjkzMyA0My41NzQ0IDYwLjQ3NDRDNDIuNDY3MiA2MC4wMTU4IDQxLjI4MDUgNTkuNzc5NyA0MC4wODIxIDU5Ljc3OTdDMzguODgzNiA1OS43Nzk3IDM3LjY5NjkgNjAuMDE1OCAzNi41ODk3IDYwLjQ3NDRDMzUuNDgyNSA2MC45MzMgMzQuNDc2NCA2MS42MDUyIDMzLjYyOSA2Mi40NTI3QzMyLjc4MTYgNjMuMzAwMSAzMi4xMDk0IDY0LjMwNjEgMzEuNjUwNyA2NS40MTMzQzMxLjE5MjEgNjYuNTIwNiAzMC45NTYxIDY3LjcwNzMgMzAuOTU2MSA2OC45MDU3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDIuMzI0NiA3Ljk2ODIxQzQ0LjI3NDYgOC4yODAyMSA0Ni4zNDE2IDExLjE4NTcgNDYuNDk3NiAxNC42MzcyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDEuNjQyMSA2NC40NzkyQzQyLjIyOTYgNjQuNDM5OCA0Mi44MTEzIDY0LjYxNjIgNDMuMjc4IDY0Ljk3NTJDNDMuNzQ0OCA2NS4zMzQzIDQ0LjA2NDQgNjUuODUxMyA0NC4xNzcxIDY2LjQyOTJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmNvbnN0IEJhc2VGaWd1cmVTdmcgPSBzdHlsZWQuc3ZnLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgdmVyc2lvbjogXCIxLjFcIixcbiAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgeG1sbnNYbGluazogXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsXG4gIHJvbGU6IFwiaW1nXCIsXG4gIFwiYXJpYS1oaWRkZW5cIjogXCJ0cnVlXCIsXG59KSlgYDtcblxuZXhwb3J0IGNvbnN0IEJhc2VGaWd1cmVQYXRoID0gc3R5bGVkLnBhdGguYXR0cnMoe1xuICByb2xlOiBcInByZXNlbnRhdGlvblwiLFxufSlgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpZ3VyZSA9IHN0eWxlZChCYXNlRmlndXJlU3ZnKTx7XG4gIHdpZHRoOiBzdHJpbmc7XG4gIGhlaWdodDogc3RyaW5nO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5oZWlnaHR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZpZ3VyZVBhdGggPSBzdHlsZWQoQmFzZUZpZ3VyZVBhdGgpPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmlndXJlV3JhcHBlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuYDtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTY3JlZW5SZWFkZXJPbmx5ID0gc3R5bGVkLnNwYW48e30+YFxuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbmA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRTY3JlZW5SZWFkZXJPbmx5IH0gZnJvbSBcIi4vc2NyZWVuX3JlYWRlcl9vbmx5LnN0eWxlc1wiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyT25seVByb3BzIH0gZnJvbSBcIkAvYmFzZS9zcmVlbl9yZWFkZXJfb25seS9zY3JlZW5fcmVhZGVyX29ubHkudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFNjcmVlblJlYWRlck9ubHkgPSAoeyB0ZXh0IH06IFNjcmVlblJlYWRlck9ubHlQcm9wcykgPT4ge1xuICByZXR1cm4gPFN0eWxlZFNjcmVlblJlYWRlck9ubHk+e3RleHR9PC9TdHlsZWRTY3JlZW5SZWFkZXJPbmx5Pjtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTY3JlZW5SZWFkZXJPbmx5IH0gZnJvbSBcIkAvYmFzZS9zcmVlbl9yZWFkZXJfb25seS9zY3JlZW5fcmVhZGVyX29ubHlcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZSwgU3R5bGVkRmlndXJlV3JhcHBlciB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZVN2ZyB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEZpZ3VyZSA9ICh7XG4gIHNjcmVlblJlYWRlclRleHQsXG4gIHNpemUsXG4gIGNoaWxkcmVuLFxufTogSUZpZ3VyZUJhc2VTdmcpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRmlndXJlV3JhcHBlcj5cbiAgICAgIDxTdHlsZWRGaWd1cmUgd2lkdGg9e3NpemV9IGhlaWdodD17c2l6ZX0gdmlld0JveD1cIjAgMCA4MCA4MFwiPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZEZpZ3VyZT5cbiAgICAgIDxTY3JlZW5SZWFkZXJPbmx5IHRleHQ9e3NjcmVlblJlYWRlclRleHR9IC8+XG4gICAgPC9TdHlsZWRGaWd1cmVXcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBGaWd1cmVDb250ZXh0IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgRmlndXJlQ3R4RGVmYXVsdDogRmlndXJlQ29udGV4dCA9IEZpZ3VyZUNvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBGaWd1cmVDdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIEZpZ3VyZUNvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChGaWd1cmVDdHhEZWZhdWx0KTtcbiIsImV4cG9ydCBlbnVtIEZpZ3VyZUNvbnRleHQge1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbiAgSU5WRVJURUQgPSBcIklOVkVSVEVEXCIsXG4gIEFDQ0VOVCA9IFwiQUNDRU5UXCIsXG59XG5cbmV4cG9ydCBlbnVtIEZpZ3VyZVNpemUge1xuICBTTUFMTCA9IFwiU01BTExcIixcbiAgTUVESVVNID0gXCJNRURJVU1cIixcbiAgTEFSR0UgPSBcIkxBUkdFXCIsXG4gIFhMQVJHRSA9IFwiWExBUkdFXCIsXG59XG5cbmV4cG9ydCBlbnVtIEZpZ3VyZVR5cGUge1xuICBDSElMRCA9IFwiQ0hJTERcIixcbiAgRkFNSUxZID0gXCJGQU1JTFlcIixcbiAgQ0FMRU5EQVIgPSBcIkNBTEVOREFSXCIsXG4gIEJJTiA9IFwiQklOXCIsXG4gIEFMRVJUID0gXCJBTEVSVFwiLFxuICBQQVNTV09SRCA9IFwiUEFTU1dPUkRcIixcbiAgU0VBUkNIID0gXCJTRUFSQ0hcIixcbiAgRk9MREVSID0gXCJGT0xERVJcIixcbiAgUEFTU1BPUlQgPSBcIlBBU1NQT1JUXCIsXG4gIFNFVFRJTkcgPSBcIlNFVFRJTkdcIixcbiAgRkFDRSA9IFwiRkFDRVwiLFxuICBQSU4gPSBcIlBJTlwiLFxuICBNT05FWSA9IFwiTU9ORVlcIixcbiAgSURFQSA9IFwiSURFQVwiLFxuICBPRkZFUiA9IFwiT0ZGRVJcIixcbiAgRkFWT1JJVEUgPSBcIkZBVk9SSVRFXCIsXG4gIEZPTExPV19VUCA9IFwiRk9MTE9XX1VQXCIsXG4gIFNUQVIgPSBcIlNUQVJcIixcbiAgQ09JTlMgPSBcIkNPSU5TXCIsXG4gIENIRUNLID0gXCJDSEVDS1wiLFxuICBMSUtFID0gXCJMSUtFXCIsXG4gIE1BUCA9IFwiTUFQXCIsXG4gIEFERCA9IFwiQUREXCIsXG4gIEFQUExJQ0FUSU9OID0gXCJBUFBMSUNBVElPTlwiLFxuICBCQUJZID0gXCJCQUJZXCIsXG4gIEJPT0tNQVJLID0gXCJCT09LTUFSS1wiLFxuICBDT05WRVJTQVRJT04gPSBcIkNPTlZFUlNBVElPTlwiLFxuICBDQU5DRUwgPSBcIkNBTkNFTFwiLFxuICBEQUQgPSBcIkRBRFwiLFxuICBEQVRFVElNRSA9IFwiREFURVRJTUVcIixcbiAgRklMRSA9IFwiRklMRVwiLFxuICBIT01FID0gXCJIT01FXCIsXG4gIElORk9STUFUSU9OID0gXCJJTkZPUk1BVElPTlwiLFxuICBNQUlMID0gXCJNQUlMXCIsXG4gIE1PTSA9IFwiTU9NXCIsXG4gIE5PID0gXCJOT1wiLFxuICBOT1RFID0gXCJOT1RFXCIsXG4gIFlFUyA9IFwiWUVTXCIsXG4gIEZFTkNFID0gXCJGRU5DRVwiLFxuICBCVUlMRElORyA9IFwiQlVJTERJTkdcIixcbn1cbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IElGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgRmlndXJlQ29udGV4dCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUZpZ3VyZVRoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgRmlndXJlQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElGaWd1cmVUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTdHJva2UgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiZmlndXJlX3N0cm9rZVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgfSk7XG5cbiAgY29uc3QgUHJpbWFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJmaWd1cmVfcHJpbWFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImZpZ3VyZV9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEFjY2VudCA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJmaWd1cmVfYWNjZW50XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgc3Ryb2tlOiBTa2VsZXRvbkJnLFxuICAgICAgcHJpbWFyeTogU2tlbGV0b25CZyxcbiAgICAgIHN1cHBvcnRpbmc6IFNrZWxldG9uQmcsXG4gICAgICBhY2NlbnQ6IFNrZWxldG9uQmcsXG4gICAgICBkYW5nZXI6IFNrZWxldG9uQmcsXG4gICAgICBzdWNjZXNzOiBTa2VsZXRvbkJnLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIEZpZ3VyZUNvbnRleHQuU1RBTkRBUkQsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogU3Ryb2tlLFxuICAgICAgICBwcmltYXJ5OiBQcmltYXJ5LFxuICAgICAgICBzdXBwb3J0aW5nOiBTdXBwb3J0aW5nLFxuICAgICAgICBhY2NlbnQ6IEFjY2VudCxcbiAgICAgICAgZGFuZ2VyOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICAgICAgICBzdWNjZXNzOiBDb2xvcnMuc3VjY2Vzcy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBGaWd1cmVDb250ZXh0LklOVkVSVEVELFxuICAgICAge1xuICAgICAgICBzdHJva2U6IFN0cm9rZSxcbiAgICAgICAgcHJpbWFyeTogU3VwcG9ydGluZyxcbiAgICAgICAgc3VwcG9ydGluZzogQWNjZW50LFxuICAgICAgICBhY2NlbnQ6IFByaW1hcnksXG4gICAgICAgIGRhbmdlcjogQ29sb3JzLmRhbmdlci50aW50XzUwMCxcbiAgICAgICAgc3VjY2VzczogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgRmlndXJlQ29udGV4dC5BQ0NFTlQsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogU3Ryb2tlLFxuICAgICAgICBwcmltYXJ5OiBBY2NlbnQsXG4gICAgICAgIHN1cHBvcnRpbmc6IFByaW1hcnksXG4gICAgICAgIGFjY2VudDogU3VwcG9ydGluZyxcbiAgICAgICAgZGFuZ2VyOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICAgICAgICBzdWNjZXNzOiBDb2xvcnMuc3VjY2Vzcy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUHJvY2Vzc2luZ0NvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VJc1Byb2Nlc3NpbmcgPSAoKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHsgaXNEb25lIH0gPSB1c2VDb250ZXh0KFByb2Nlc3NpbmdDb250ZXh0KTtcbiAgcmV0dXJuICFpc0RvbmU7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFByb2Nlc3NpbmdDb250ZXh0VHlwZSB7XG4gIGlzRG9uZTogYm9vbGVhbjtcbiAgc2V0SXNEb25lOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59XG5cbmV4cG9ydCBjb25zdCBQcm9jZXNzaW5nQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8UHJvY2Vzc2luZ0NvbnRleHRUeXBlPih7XG4gIGlzRG9uZTogdHJ1ZSxcbiAgc2V0SXNEb25lOiAodmFsdWUpID0+IHtcbiAgICAvLyBEZWZhdWx0IGZ1bmN0aW9uIHNob3VsZCBpZGVhbGx5IGxvZyBhbiBlcnJvciBvciBiZSBhIG5vLW9wXG4gICAgY29uc29sZS53YXJuKFwic2V0SXNEb25lIGNhbGxlZCB3aXRob3V0IGEgcHJvdmlkZXJcIik7XG4gIH0sXG59KTtcblxuZXhwb3J0IGNvbnN0IFByb2Nlc3NpbmdQcm92aWRlciA9ICh7IGNoaWxkcmVuIH06IFByb3BzV2l0aENoaWxkcmVuKSA9PiB7XG4gIGNvbnN0IFtpc0RvbmUsIHNldElzRG9uZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IHZhbHVlID0geyBpc0RvbmUsIHNldElzRG9uZSB9O1xuXG4gIHJldHVybiAoXG4gICAgPFByb2Nlc3NpbmdDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Qcm9jZXNzaW5nQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBCaW4gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjIwMzEgMjIuMDQwNUM3NC4yNzE2IDE5Ljg2MzIgNzMuNjUzMSAxNy43MTk2IDcyLjQzNSAxNS45MTM2QzcxLjIxNyAxNC4xMDc2IDY5LjQ2MTQgMTIuNzMwOCA2Ny40MTcxIDExLjk3ODVDNjEuMTYxOCAxMC43MDQ2IDU0LjgwNiA5Ljk4NjgyIDQ4LjQyNDEgOS44MzM0OEM0OC4yODAyIDguMjc0ODQgNDcuOTg2MyA2LjczMzcyIDQ3LjU0NjYgNS4yMzE0OEM0Ni4yNzkxIDEuOTU1NDggNDMuNDMyMSAxLjk3NDk4IDQwLjAwMDEgMS45NzQ5OEMzNi41NjgxIDEuOTc0OTggMzMuNzIxMSAxLjk3NDk4IDMyLjQ1MzYgNS4yMzE0OEMzMi4wMTM5IDYuNzMzNzIgMzEuNzIwMSA4LjI3NDg0IDMxLjU3NjEgOS44MzM0OEMyNS4xOTQyIDkuOTg2ODIgMTguODM4NCAxMC43MDQ2IDEyLjU4MzEgMTEuOTc4NUMxMC41Mzg4IDEyLjczMDggOC43ODMxOSAxNC4xMDc2IDcuNTY1MTkgMTUuOTEzNkM2LjM0NzE4IDE3LjcxOTYgNS43Mjg1OSAxOS44NjMyIDUuNzk3MTEgMjIuMDQwNUM1LjY4MTg0IDIzLjg4MjkgNi4xNjkzOSAyNS43MTI5IDcuMTg2MDggMjcuMjUzN0M4LjIwMjc3IDI4Ljc5NDYgOS42OTMzNiAyOS45NjI3IDExLjQzMjYgMzAuNTgxNUMxMS4zMjY0IDM1LjAyOTEgMTEuNTIxOSAzOS40Nzg4IDEyLjAxNzYgNDMuOUMxMy4yMjY2IDU0LjgyIDE2LjI4ODEgNzAuMDg4NSAxOC4yMzgxIDcyLjkxNkMyMS4zNTgxIDc3LjM4MTUgMzAuODM1MSA3OC4wMjUgNDAuMDAwMSA3OC4wMjVDNDkuMTY1MSA3OC4wMjUgNTguNjQyMSA3Ny4zODE1IDYxLjc2MjEgNzIuODM4QzYzLjcxMjEgNzAuMDEwNSA2Ni43NzM2IDU0Ljc0MiA2Ny45ODI2IDQzLjgyMkM2OC40NzQ4IDM5LjQyNjYgNjguNjcwMyAzNS4wMDMxIDY4LjU2NzYgMzAuNTgxNUM3MC4zMDY5IDI5Ljk2MjcgNzEuNzk3NSAyOC43OTQ2IDcyLjgxNDEgMjcuMjUzN0M3My44MzA4IDI1LjcxMjkgNzQuMzE4NCAyMy44ODI5IDc0LjIwMzEgMjIuMDQwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjUgMzAuODM1QzI2Ljk4MzggMzEuNDAwMSAzMy40OTI2IDMxLjYyNzkgNDAgMzEuNTE3NUM0Ni41Mzk5IDMxLjYzMTMgNTMuMDgxMyAzMS40MDM1IDU5LjU5NzUgMzAuODM1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMC42NzkyIDQzLjlDMzAuNDkxNSA0Ny4wMDE1IDMwLjU2OTggNTAuMTEzNCAzMC45MTMyIDUzLjIwMTVDMzEuMDg0OSA1Ni4yOTM2IDMxLjUxNTQgNTkuMzY1OCAzMi4yMDAyIDYyLjM4NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDkuMjQzIDQzLjlDNDkuNDMwNyA0Ny4wMDE1IDQ5LjM1MjQgNTAuMTEzNCA0OS4wMDkgNTMuMjAxNUM0OC44NjQxIDU2LjI5NzkgNDguNDU5NyA1OS4zNzY3IDQ3LjggNjIuNDA1NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTguMTkzNiAxNi42QzYyLjYzOTYgMTYuNiA2NC44NjI2IDE2LjYgNjcuMDY2MSAxOS43MDA1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENhbGVuZGFyID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03Mi41ODQ2IDE4LjcyMjNDNzAuMjMyOCAxNi41NTkgNjcuMzIwNyAxNS4wOTk2IDY0LjE4MDEgMTQuNTEwM0M2NC4xMjg3IDEyLjIwMzQgNjMuODY3NiA5LjkwNTkzIDYzLjQwMDEgNy42NDYzQzYzLjAxNiA2LjQ0NTYgNjIuMjYwNCA1LjM5Nzk5IDYxLjI0MjIgNC42NTQ2OEM2MC4yMjQgMy45MTEzNyA1OC45OTYgMy41MTA4MSA1Ny43MzUzIDMuNTEwODFDNTYuNDc0NyAzLjUxMDgxIDU1LjI0NjcgMy45MTEzNyA1NC4yMjg1IDQuNjU0NjhDNTMuMjEwMyA1LjM5Nzk5IDUyLjQ1NDcgNi40NDU2IDUyLjA3MDYgNy42NDYzQzUxLjY5NCA5LjE3NDI5IDUxLjQ2NTUgMTAuNzM1IDUxLjM4ODEgMTIuMzA2OEM0Ny4yNzM2IDExLjg3NzggNDMuMjU2NiAxMS42NjMzIDQwLjA3ODEgMTEuNjYzM0MzNi44OTk2IDExLjY2MzMgMzIuODgyNiAxMS44Nzc4IDI4Ljc2ODEgMTIuMzA2OEMyOC42OTA3IDEwLjczNSAyOC40NjIyIDkuMTc0MjkgMjguMDg1NiA3LjY0NjNDMjcuNzMzNCA2LjQzMjM3IDI2Ljk4OTggNS4zNjg4NyAyNS45NzA3IDQuNjIxMjNDMjQuOTUxNSAzLjg3MzU5IDIzLjcxMzggMy40ODM3NCAyMi40NTAxIDMuNTEyM0MyMS4xNTQ3IDMuNDU1NjUgMTkuODc3MyAzLjgzMDk0IDE4LjgxODQgNC41NzkyMkMxNy43NTk1IDUuMzI3NSAxNi45NzkyIDYuNDA2MzYgMTYuNjAwMSA3LjY0NjNDMTYuMTMyNiA5LjkwNTkzIDE1Ljg3MTUgMTIuMjAzNCAxNS44MjAxIDE0LjUxMDNDMTIuNjc5NSAxNS4wOTk2IDkuNzY3NDIgMTYuNTU5IDcuNDE1NiAxOC43MjIzQzUuMTE0NiAyMS41NDk4IDEuOTc1MSAzMy43NzYzIDEuOTc1MSA0NC4yNDc4QzEuOTc1MSA1NC43MTkzIDUuMTE0NiA2Ni45NDU4IDcuNDE1NiA2OS43MzQzQzEwLjg2NzEgNzMuOTQ2MyAyOS41MDkxIDc2LjgzMjMgNDAuMDAwMSA3Ni44MzIzQzUwLjQ5MTEgNzYuODMyMyA2OS4xMzMxIDczLjk0NjMgNzIuNTg0NiA2OS43MzQzQzc0Ljg4NTYgNjYuOTQ1OCA3OC4wMjUxIDU0LjcxOTMgNzguMDI1MSA0NC4yNDc4Qzc4LjAyNTEgMzMuNzc2MyA3NC44ODU2IDIxLjU0OTggNzIuNTg0NiAxOC43MjIzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjAuMjYwNCA2My41NzIzQzY0LjA0MzQgNjEuMjEyOCA2NC40NTI5IDU2LjE0MjggNjQuNDUyOSA0Ni45Nzc4QzY0LjQ1MjkgMzcuODEyOCA2NC4wNDM0IDMyLjc2MjMgNjAuMjYwNCAzMC4zODMzQzU4LjMxMDQgMjguMDIzOCA0OC4zMjY0IDI3LjQxOTMgMzkuOTk5OSAyNy40MTkzQzMxLjY3MzQgMjcuNDE5MyAyMS42MTE0IDI4LjAwNDMgMTkuNzM5NCAzMC40MjIzQzE1Ljk1NjQgMzIuODAxMyAxNS41NDY5IDM3Ljg1MTggMTUuNTQ2OSA0Ny4wMTY4QzE1LjU0NjkgNTYuMTgxOCAxNS45NTY0IDYxLjI1MTggMTkuNzM5NCA2My42MTEzQzIxLjY4OTQgNjUuOTkwMyAzMS42NzM0IDY2LjU3NTMgMzkuOTk5OSA2Ni41NzUzQzQ4LjMyNjQgNjYuNTc1MyA1OC4zODg0IDY1LjkzMTggNjAuMjYwNCA2My41NzIzWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMi4yMDAzIDMyLjcyMzNDMzIuMjAwMyAzMi43MjMzIDMxLjY3MzggMzguNDE3MyAzMS42NzM4IDQ2Ljk1ODNDMzEuNjczOCA1NS40OTkzIDMyLjIwMDMgNjEuMjEyOCAzMi4yMDAzIDYxLjIxMjhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ3LjgwMDMgNjEuMjEyOEM0Ny44MDAzIDYxLjIxMjggNDguMzI2OCA1NS41MTg4IDQ4LjMyNjggNDYuOTU4M0M0OC4zMjY4IDM4LjM5NzggNDcuODAwMyAzMi43MjMzIDQ3LjgwMDMgMzIuNzIzM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuMjk2NiA0MC4yODkzQzU3LjI5NjYgNDAuMjg5MyA1MC4zNzQxIDM5LjUyODggNDAuMDAwMSAzOS41Mjg4QzI5LjYyNjEgMzkuNTI4OCAyMi43MDM2IDQwLjI4OTMgMjIuNzAzNiA0MC4yODkzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMi43MDM2IDUzLjYyNzNDMjIuNzAzNiA1My42MjczIDI5LjYyNjEgNTQuMzg3OCA0MC4wMDAxIDU0LjM4NzhDNTAuMzc0MSA1NC4zODc4IDU3LjI5NjYgNTMuNjI3MyA1Ny4yOTY2IDUzLjYyNzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYyLjE3MTQgMTkuNDQzOEM2OS41NjE5IDIxLjUxMDggNjguOTk2NCAyMi42NjEzIDY5Ljk3MTQgMjUuNjA1OFwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENoZWNrID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03My4xNTAxIDkuMjY4MDVDNjkuNDY0NiA2LjQ2MDA1IDY0LjQ3MjYgNC42MjcwNSA1OS41MDAxIDkuMjY4MDVDNTYuNTM2MSAxMS4yMTgxIDQ4LjQ0MzYgMTkuMDE4MSAzOS41NzExIDMwLjcxODFDMzcuMjUwNiAzMy43OTkxIDM1LjA0NzEgMzYuNzI0MSAzMy4wMzg2IDM5LjQ3MzZDMjUuNzQ1NiAzMy45MzU2IDE5Ljk5MzEgMzAuMDE2MSAxNy42MTQxIDI5LjcyMzZDMTMuNTc3NiAyOC4xNjM2IDkuMjA5NTcgMzIuNTUxMSA2LjQwMTU3IDM2LjIzNjZDMy41OTM1NyAzOS45MjIxIDAuMzc2MDY2IDQ1LjEyODYgMi45NTAwNyA0OC41ODAxQzMuODY2NTcgNTAuODAzMSA5LjA1MzU3IDU1LjQ2MzYgMTYuMzQ2NiA2MS4wMjExQzI1LjEwMjEgNjcuNjcwNiAzMS40MjAxIDcyLjcyMTEgMzUuMTI1MSA3My4xODkxQzQwLjc5OTYgNzUuMzkyNiA0NC44NzUxIDY4LjY4NDYgNjEuMTk2NiA0Ny4xMzcxQzcwLjA2OTEgMzUuNDM3MSA3NS43MjQxIDI1LjY4NzEgNzYuNzk2NiAyMi4zOTE2Qzc5LjgzODYgMTYuMzg1NiA3Ni43MzgxIDEyLjA3NjEgNzMuMTUwMSA5LjI2ODA1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuNjkyMSAxOC4zMzU1QzU5Ljg5MDEgMTQuNzQ3NSA2Mi44NTQxIDExLjM1NDUgNjUuNTY0NiAxMS4wNjJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQ2hpbGQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjU5NiA0Ni41NTJDNjMuNDEyNSA0Mi4xMDYgNjUuODUgMzUuNDM3IDY1Ljg1IDI3LjMyNUM2NS44NSAxMi4xMTUgNTcuNDA2NSAxLjk3NDk4IDQwLjUgMS45NzQ5OEMyMy41OTM1IDEuOTc0OTggMTUuMTUgMTIuMTE1IDE1LjE1IDI3LjMyNUMxNS4xNSAzNS40MzcgMTcuNTg3NSA0Mi4xMDYgMjIuNDA0IDQ2LjU1MkMxNS43MTU1IDUxLjQyNyAxMi4zNDIgNTkuNSAxMi4zNDIgNjkuNTgxNUMxMi4zNDIgNzUuMjIzNSAyMS43MjggNzguMDM4IDQwLjUgNzguMDI1QzU5LjI3MiA3OC4wMTIgNjguNjU4IDc1LjE5NzUgNjguNjU4IDY5LjU4MTVDNjguNjU4IDU5LjUgNjUuMjg0NSA1MS40MjcgNTguNTk2IDQ2LjU1MlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ5Ljg2MDEgOS4yMDk0N0M1Mi4zNTQ3IDEwLjA3MjYgNTQuNTMgMTEuNjcgNTYuMTAwMSAxMy43OTJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MS40MTY1IDEuOTc0OThDMzkuMTA5OCAyLjYxNTgyIDM3LjExOTUgNC4wODI5NSAzNS44MjQ5IDYuMDk2NzlDMzQuNTMwMyA4LjExMDYzIDM0LjAyMTkgMTAuNTMwNCAzNC4zOTY1IDEyLjg5NUMzNS40MTA1IDE4LjEwMTUgNDQuMzAyNSAxNy40Mzg1IDQzLjIzIDExLjk5OEM0Mi42NjQ1IDkuMjA5NDggMzkuNTgzNSAxMC42MzMgMzkuNTgzNSAxMC42MzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI2LjQwMTYgMjUuOTIxQzI2LjQwMTYgMjcuMDQzMiAyNi44NDc0IDI4LjExOTUgMjcuNjQxIDI4LjkxMzFDMjguNDM0NSAyOS43MDY2IDI5LjUxMDggMzAuMTUyNSAzMC42MzMxIDMwLjE1MjVDMzEuNzU1NCAzMC4xNTI1IDMyLjgzMTcgMjkuNzA2NiAzMy42MjUyIDI4LjkxMzFDMzQuNDE4OCAyOC4xMTk1IDM0Ljg2NDYgMjcuMDQzMiAzNC44NjQ2IDI1LjkyMUMzNC44NjQ2IDI0Ljc5ODcgMzQuNDE4OCAyMy43MjI0IDMzLjYyNTIgMjIuOTI4OEMzMi44MzE3IDIyLjEzNTMgMzEuNzU1NCAyMS42ODk1IDMwLjYzMzEgMjEuNjg5NUMyOS41MTA4IDIxLjY4OTUgMjguNDM0NSAyMi4xMzUzIDI3LjY0MSAyMi45Mjg4QzI2Ljg0NzQgMjMuNzIyNCAyNi40MDE2IDI0Ljc5ODcgMjYuNDAxNiAyNS45MjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDYuMTM1NSAyNS45MjFDNDYuMTM1NSAyNy4wNDMyIDQ2LjU4MTMgMjguMTE5NSA0Ny4zNzQ5IDI4LjkxMzFDNDguMTY4NCAyOS43MDY2IDQ5LjI0NDcgMzAuMTUyNSA1MC4zNjcgMzAuMTUyNUM1MS40ODkzIDMwLjE1MjUgNTIuNTY1NiAyOS43MDY2IDUzLjM1OTEgMjguOTEzMUM1NC4xNTI3IDI4LjExOTUgNTQuNTk4NSAyNy4wNDMyIDU0LjU5ODUgMjUuOTIxQzU0LjU5ODUgMjQuNzk4NyA1NC4xNTI3IDIzLjcyMjQgNTMuMzU5MSAyMi45Mjg4QzUyLjU2NTYgMjIuMTM1MyA1MS40ODkzIDIxLjY4OTUgNTAuMzY3IDIxLjY4OTVDNDkuMjQ0NyAyMS42ODk1IDQ4LjE2ODQgMjIuMTM1MyA0Ny4zNzQ5IDIyLjkyODhDNDYuNTgxMyAyMy43MjI0IDQ2LjEzNTUgMjQuNzk4NyA0Ni4xMzU1IDI1LjkyMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMi4wNTY2IDM1Ljc2ODRDMzQuNDE4NSAzNy43MzM3IDM3LjQzMTEgMzguNzQyNSA0MC41MDAxIDM4LjU5NTlDNDMuNTY5MiAzOC43NDI1IDQ2LjU4MTggMzcuNzMzNyA0OC45NDM2IDM1Ljc2ODRcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQwLjUgNTIuNjc1QzM2Ljk4MTMgNTIuNjg2MSAzMy40ODIgNTIuMTUzNCAzMC4xMjYgNTEuMDk1NUMyOS41Mzc2IDUyLjQ4MzYgMjkuMjMyNiA1My45NzUzIDI5LjIyOSA1NS40ODNDMjkuMjI5IDYxLjcyMyAzMi45OTI1IDY2Ljc1NCA0MC41IDY2Ljc1NEM0OC4wMDc1IDY2Ljc1NCA1MS43NzEgNjEuNzIzIDUxLjc3MSA1NS40ODNDNTEuNzY3NCA1My45NzUzIDUxLjQ2MjUgNTIuNDgzNiA1MC44NzQgNTEuMDk1NUM0Ny41MTggNTIuMTUzNCA0NC4wMTg3IDUyLjY4NjEgNDAuNSA1Mi42NzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQ29pbnMgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3LjU4NTkgMTEuODA2MUM2Ny4yNjc1IDExLjM3NTUgNjAuMzIyNiAxLjk0MDYxIDM5LjE4NzUgMS45NDA2MUMxOC4wNTI3IDEuOTQwNjEgMTEuMTA3NiAxMS4zNzU1IDEwLjc4OTMgMTEuODA2MUM4LjQxMTkgMTQuNzI2NCA3LjU1MDc4IDI3LjQ5MzQgNy41NTA3OCAzOC40NDQ1QzcuNTUwNzggNDkuMzk1OCA4LjQxMTkgNjIuMTYyOSAxMC43ODkzIDY1LjA4MzJDMTEuMTA3NiA2NS41MTM2IDE4LjA1MjcgNzQuOTQ4NSAzOS4xODc1IDc0Ljk0ODVDNjAuMzIyNiA3NC45NDg1IDY3LjI2NzUgNjUuNTg4NSA2Ny41ODU5IDY1LjA4MzJDNjkuOTYzMiA2Mi4xNjI5IDcwLjgyNDMgNDkuMzk1OCA3MC44MjQzIDM4LjQ0NDVDNzAuODI0MyAyNy40OTM0IDY5Ljk2MzIgMTQuNzI2NCA2Ny41ODU5IDExLjgwNjFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC4wMTM3IDguMzgwNDlDNTYuMjU3NiA4Ljk5MjE3IDU4LjM3OTIgOS45ODY0MSA2MC4yODQ4IDExLjMxOTVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY0LjQyMjEgMjEuNDA5NEM1OS45MTA3IDI1Ljk5NTggNTEuNDg2NyAyOC43MTAyIDM5LjE4NzUgMjguNzEwMkMyNi44ODg2IDI4LjcxMDIgMTguNDY0NiAyNS45OTU4IDEzLjkzNDQgMjEuNDA5NFwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuNDIyMSAzOC40NDQ1QzU5LjkxMDcgNDMuMDMxIDUxLjQ4NjcgNDUuNzQ1MyAzOS4xODc1IDQ1Ljc0NTNDMjYuODg4NiA0NS43NDUzIDE4LjQ2NDYgNDMuMDMxIDEzLjkzNDQgMzguNDQ0NVwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuNDIyMSA1My4wNDYxQzU5LjkxMDcgNTcuNjMyNiA1MS40ODY3IDYwLjM0NjkgMzkuMTg3NSA2MC4zNDY5QzI2Ljg4ODYgNjAuMzQ2OSAxOC40NjQ2IDU3LjYzMjYgMTMuOTM0NCA1My4wNDYxXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNi4zMjcgMTQuNzI2NkMyNi4zMjcgMTYuMDE3NSAyNy42ODE5IDE3LjI1NTQgMzAuMDkzOCAxOC4xNjgyQzMyLjUwNTYgMTkuMDgxIDM1Ljc3NjcgMTkuNTkzOCAzOS4xODc1IDE5LjU5MzhDNDIuNTk4NCAxOS41OTM4IDQ1Ljg2OTggMTkuMDgxIDQ4LjI4MTYgMTguMTY4MkM1MC42OTMxIDE3LjI1NTQgNTIuMDQ4MyAxNi4wMTc1IDUyLjA0ODMgMTQuNzI2NkM1Mi4wNDgzIDEzLjQzNTcgNTAuNjkzMSAxMi4xOTc3IDQ4LjI4MTYgMTEuMjg1QzQ1Ljg2OTggMTAuMzcyMiA0Mi41OTg0IDkuODU5MzggMzkuMTg3NSA5Ljg1OTM4QzM1Ljc3NjcgOS44NTkzOCAzMi41MDU2IDEwLjM3MjIgMzAuMDkzOCAxMS4yODVDMjcuNjgxOSAxMi4xOTc3IDI2LjMyNyAxMy40MzU3IDI2LjMyNyAxNC43MjY2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGYWNlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGggZD1cIk04MCAwSDBWODBIODBWMFpcIiBmaWxsPVwiI0ZGRlwiIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcyLjUgOS41QzY5LjI2IDMuODQgNTIuNTYgMSA0MCAxQzI3LjQ0IDEgMTAuNzYgMy44NCA3LjUgOS41QzQuMjQgMTIuMzQgMSAyNy40NiAxIDQwQzEgNTIuNTQgNC4yNCA2Ny42NiA3LjUgNzAuNUMxMC43NiA3Ni4xNiAyNy41IDc5IDQwIDc5QzUyLjUgNzkgNjkuMjYgNzYuMTYgNzIuNSA3MC41Qzc1Ljc2IDY3LjY2IDc5IDUyLjUgNzkgNDBDNzkgMjcuNSA3NS43NiAxMi4zNCA3Mi41IDkuNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE0IDQwQzE0IDQ2Ljg5NTYgMTYuNzM5MyA1My41MDg4IDIxLjYxNTIgNTguMzg0OEMyNi40OTEyIDYzLjI2MDggMzMuMTA0NCA2NiA0MCA2NkM0Ni44OTU2IDY2IDUzLjUwODggNjMuMjYwOCA1OC4zODQ4IDU4LjM4NDhDNjMuMjYwOCA1My41MDg4IDY2IDQ2Ljg5NTYgNjYgNDBDNjYgMzMuMTA0NCA2My4yNjA4IDI2LjQ5MTIgNTguMzg0OCAyMS42MTUyQzUzLjUwODggMTYuNzM5MyA0Ni44OTU2IDE0IDQwIDE0QzMzLjEwNDQgMTQgMjYuNDkxMiAxNi43MzkzIDIxLjYxNTIgMjEuNjE1MkMxNi43MzkzIDI2LjQ5MTIgMTQgMzMuMTA0NCAxNCA0MFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcgNDkuNzZDMjcgNDkuNzYgMzAuMjQgNTMgNDAgNTNDNDkuNzYgNTMgNTMgNDkuNzYgNTMgNDkuNzZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIzLjc0IDM1LjEyQzIzLjc0IDM2LjQxNDIgMjQuMjU0MiAzNy42NTU0IDI1LjE2OTQgMzguNTcwNkMyNi4wODQ0IDM5LjQ4NTggMjcuMzI1OCA0MCAyOC42MiA0MEMyOS45MTQyIDQwIDMxLjE1NTQgMzkuNDg1OCAzMi4wNzA2IDM4LjU3MDZDMzIuOTg1OCAzNy42NTU0IDMzLjUgMzYuNDE0MiAzMy41IDM1LjEyQzMzLjUgMzMuODI1OCAzMi45ODU4IDMyLjU4NDQgMzIuMDcwNiAzMS42Njk0QzMxLjE1NTQgMzAuNzU0MiAyOS45MTQyIDMwLjI0IDI4LjYyIDMwLjI0QzI3LjMyNTggMzAuMjQgMjYuMDg0NCAzMC43NTQyIDI1LjE2OTQgMzEuNjY5NEMyNC4yNTQyIDMyLjU4NDQgMjMuNzQgMzMuODI1OCAyMy43NCAzNS4xMlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ni41IDM1LjEyQzQ2LjUgMzYuNDE0MiA0Ny4wMTQyIDM3LjY1NTQgNDcuOTI5NCAzOC41NzA2QzQ4Ljg0NDQgMzkuNDg1OCA1MC4wODU4IDQwIDUxLjM4IDQwQzUyLjY3NDIgNDAgNTMuOTE1NiAzOS40ODU4IDU0LjgzMDYgMzguNTcwNkM1NS43NDU4IDM3LjY1NTQgNTYuMjYgMzYuNDE0MiA1Ni4yNiAzNS4xMkM1Ni4yNiAzMy44MjU4IDU1Ljc0NTggMzIuNTg0NCA1NC44MzA2IDMxLjY2OTRDNTMuOTE1NiAzMC43NTQyIDUyLjY3NDIgMzAuMjQgNTEuMzggMzAuMjRDNTAuMDg1OCAzMC4yNCA0OC44NDQ0IDMwLjc1NDIgNDcuOTI5NCAzMS42Njk0QzQ3LjAxNDIgMzIuNTg0NCA0Ni41IDMzLjgyNTggNDYuNSAzNS4xMlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OS44NjAyIDkuNTYwMDZDNjcuMTgwMiAxMS41NjAxIDY3LjE4MDIgMTIuMTYwMSA2OS4yNDAyIDE3LjI2MDFcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgRmFtaWx5ID0gKHsgdGl0bGUsIHNpemUsIHNjcmVlblJlYWRlclRleHQgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSB0aXRsZT17dGl0bGV9IHNpemU9e3NpemV9IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NS40MTcgMjguMTgzM0M2OC4zMzkzIDI1LjY2OSA2OS43NzkyIDIxLjgzOSA2OS4yMzcxIDE4LjAyMjJDNjguNzIxMyAxMC45MzYxIDY0LjQ0MyA2LjU2MjI5IDU2LjU1NDcgNy4wNTg3NkM0OC42NjYzIDcuNTU1MjMgNDUuMDk0OSAxMi42MzYgNDUuNTkxNCAxOS43MjIxQzQ1LjU2MDIgMjMuNTgzNCA0Ny41MTUgMjcuMTkwMiA1MC43Njc1IDI5LjI3MkM0NC4yNzM2IDMyLjEzNjkgNDEuMzcwNCAzOC4yNjc5IDQxLjk0MzMgNDYuMTc1NEM0Mi4yODcxIDUwLjg5MyA0OC4xODkgNTIuMDU4MSA1OS43NDQ1IDUxLjIxNzdDNzEuMyA1MC4zNzcyIDc2LjkzNDMgNDguMzkxIDc2LjYyODcgNDMuNTc3OEM3NS45OTgzIDM1Ljc0NjggNzIuMjU0OSAzMC4wOTMzIDY1LjQxNyAyOC4xODMzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OS45MTY1IDEwLjU3MzJDNjEuMzM1NSAxMC45NTEyIDYyLjYwMyAxMS43NTg1IDYzLjU0NTUgMTIuODg0NFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjYyMDEgMjMuNTAzOUM1NC4xNjg2IDI0LjQxMjQgNTUuOTkzMiAyNC43MzEyIDU3Ljc1OCAyNC40MDE1QzU5LjU0ODUgMjQuNDczIDYxLjMwNDggMjMuODk2NiA2Mi43MDQ5IDIyLjc3ODFcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjkzOTUgMTcuNzczOEM1MC45MzQ4IDE5LjIyOTQgNTIuNTA3NSAyMC4xNDQyIDUzLjc3MDUgMTkuNDIwNUM1NC4zNjAzIDE5LjA4MjQgNTQuNzIzNCAxOC40NTM3IDU0LjcyMTEgMTcuNzczOEM1NC43MjU4IDE2LjMxODMgNTMuMTUzMSAxNS40MDMzIDUxLjg5MDEgMTYuMTI3MkM1MS4zMDAyIDE2LjQ2NTEgNTAuOTM3MSAxNy4wOTQgNTAuOTM5NSAxNy43NzM4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU5Ljc4MjcgMTcuMTQzNUM1OS43NzggMTguNTk5MiA2MS4zNTA3IDE5LjUxNCA2Mi42MTM3IDE4Ljc5MDFDNjMuMjAzNiAxOC40NTIyIDYzLjU2NjUgMTcuODIzNSA2My41NjQ0IDE3LjE0MzVDNjMuNTY5IDE1LjY4NzkgNjEuOTk2NCAxNC43NzMxIDYwLjczMzQgMTUuNDk3QzYwLjE0MzUgMTUuODM0OSA1OS43ODA0IDE2LjQ2MzYgNTkuNzgyNyAxNy4xNDM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI4Ljc2NDIgNDUuOTQ2MkMzMi4xODMyIDQ1LjAxMDIgMzMuMjkwOSA0NC4wMzYyIDMyLjM1NDkgNDMuMTAwMkMzMC44MjY5IDQxLjY0ODYgMzAuNDQ0OSAzOC40OTcyIDMwLjIxNTggMzUuMzY0N0MyOS40MTM2IDI2Ljg2NTIgMjQuNjk1OSAyMS41OTM4IDE2LjM2ODUgMjIuMzc2OUM4LjA0MDk5IDIzLjE2IDQuMzczNjIgMjkuMjMzNyA1LjE5NDk2IDM3LjY1NjdDNS41MDA1MiA0MC44MDgzIDUuNzg2OTggNDMuOTU5NyA0LjU0NTYxIDQ1LjY1OTVDMy44MDA3MSA0Ni42OTExIDUuMDgwMyA0Ny41Njk2IDguNjEzODkgNDcuNzk4OUM0LjA4NzE2IDUxLjE0MTIgMi4xNTgwMyA1Ni42MDM5IDIuODgzODIgNjMuMzA3OEMzLjM0MjI2IDY4LjAyNTYgOS4yNjMyNCA2OS4wMzc5IDIwLjc5OTYgNjcuOTQ5MkMzMi4zMzYgNjYuODYwNSAzNy45ODk1IDY0LjcyMTQgMzcuNTExOSA2MC4wMDM1QzM2Ljc4NjEgNTMuMzM3NyAzMy44NDQ3IDQ4LjM3MTggMjguNzY0MiA0NS45NDYyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjAuMzc5NCAyNS42ODEyQzIxLjgwMTEgMjYuMDM0NSAyMy4wODA3IDI2LjgxNDMgMjQuMDQ2NiAyNy45MTU5XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTMuMDA2OCA0MC40ODM1QzE0LjU3MjMgNDEuMzY2MSAxNi40MDY5IDQxLjY0NDUgMTguMTYzOCA0MS4yNjY2QzE5Ljk1NjEgNDEuMjk4NCAyMS42OTk1IDQwLjY4MTIgMjMuMDcyMyAzOS41Mjg2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMS4xOTI0IDM0Ljc1MzVDMTEuMTg3NyAzNi4yMDkyIDEyLjc2MDQgMzcuMTI0IDE0LjAyMzQgMzYuNDAwM0MxNC42MTMzIDM2LjA2MjIgMTQuOTc2NCAzNS40MzM1IDE0Ljk3NCAzNC43NTM1QzE0Ljk3ODcgMzMuMjk3OSAxMy40MDYgMzIuMzgzMSAxMi4xNDMgMzMuMTA3QzExLjU1MzEgMzMuNDQ0OSAxMS4xOTAxIDM0LjA3MzYgMTEuMTkyNCAzNC43NTM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjAxNjYgMzMuOTMyMkMyMC4wMTE5IDM1LjM4NzkgMjEuNTg0OCAzNi4zMDI2IDIyLjg0NzYgMzUuNTc5QzIzLjQzNzUgMzUuMjQwOSAyMy44MDA2IDM0LjYxMjIgMjMuNzk4MiAzMy45MzIyQzIzLjgwMjkgMzIuNDc2NyAyMi4yMzAzIDMxLjU2MTggMjAuOTY3MiAzMi4yODU2QzIwLjM3NzQgMzIuNjIzNiAyMC4wMTQ1IDMzLjI1MjQgMjAuMDE2NiAzMy45MzIyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcuNzM1MzUgNDguNjIwMUM5LjE0NzM1IDQ3LjcwODMgMTAuNjk0MyA0Ny4wMjUgMTIuMzE5NCA0Ni41OTU2TDcuNzM1MzUgNDguNjIwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03LjczNTM1IDQ4LjYyMDFDOS4xNDczNSA0Ny43MDgzIDEwLjY5NDMgNDcuMDI1IDEyLjMxOTQgNDYuNTk1NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuNzc2MyA0Ni41MTkxQzI4LjMyMTggNDUuNjE2MSAyNi42MDkzIDQ1LjIxOTggMjQuOTA1OCA0NS4zOTIyTDI5Ljc3NjMgNDYuNTE5MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS43NzYzIDQ2LjUxOTFDMjguMzIxOCA0NS42MTYxIDI2LjYwOTMgNDUuMjE5OCAyNC45MDU4IDQ1LjM5MjJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3Ljg5MTcgNTkuNjIxNkM2MC45ODkzIDU3LjA2MTYgNjIuODUwOCA1My4zMDQgNjMuMDEwNSA0OS4yODg3QzYzLjg3IDQwLjc4OTMgNTkuNzA2MiAzNC42NTgxIDUwLjI3MDcgMzMuNzIyM0M0MC44MzUzIDMyLjc4NjUgMzUuNTQ0NyAzOC4wNTc5IDM0LjcwNDUgNDYuNDYxOEMzNC4wNzAxIDUwLjQyODMgMzUuMTUzNiA1NC40Nzc1IDM3LjY4NDEgNTcuNTk3MUMzMy42NzMxIDU5Ljk0NjUgMzEuMzQyOSA2NC4yNjMgMzAuNzY5OCA2OS44OTc1QzMwLjUwMjUgNzMuMDQyNiAzNS41ODk1IDc1LjE2MjYgNDYuMDMwNyA3Ni4yNTc2QzU2LjQ3MTkgNzcuMzUyNiA2MS44NzA4IDc2LjMwODUgNjIuMjI3NCA3My4xMjUzQzYyLjgzODUgNjcuNDE0NCA2MS4zNjc4IDYyLjcxNTkgNTcuODkxNyA1OS42MjE2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTUuMTk4NyAzOC4yODdDNTYuNTI1OSAzOC45MTA0IDU3LjYzMTcgMzkuOTIzIDU4LjM2OTIgNDEuMTkwM1wiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjc4NjMgMzMuNzYwNUM0OC4wNDQ0IDM0LjI0OTIgNDYuMTAwNSAzNi43MDk5IDQ2LjI1OTYgMzkuNDkwNEM0Ni41MjcxIDQyLjQ1MDkgNTEuNTMxMiA0Mi41ODQ2IDUxLjI0NDggMzkuNDkwNEM1MS4wNzI4IDM3LjkwNSA0OS4zMzQ3IDM4LjUxNjQgNDkuMzM0NyAzOC41MTY0XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MS4wNjQ1IDQ2LjUzODNDNDEuMDU5NCA0OC4zNjE1IDQzLjAyOTcgNDkuNTA2NiA0NC42MTEzIDQ4LjU5OTZDNDUuMzQ5NCA0OC4xNzYzIDQ1LjgwMzcgNDcuMzg5MyA0NS44MDE0IDQ2LjUzODNDNDUuODA2NSA0NC43MTUgNDMuODM2MiA0My41NyA0Mi4yNTQ1IDQ0LjQ3N0M0MS41MTY1IDQ0LjkwMDUgNDEuMDYyMSA0NS42ODczIDQxLjA2NDUgNDYuNTM4M1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Mi4wODU1IDQ3LjY0NjFDNTIuMDgwMiA0OS40NjkzIDU0LjA1MDUgNTAuNjE0NCA1NS42MzIxIDQ5LjcwNzRDNTYuMzcwMiA0OS4yODQxIDU2LjgyNDUgNDguNDk3MSA1Ni44MjIyIDQ3LjY0NjFDNTYuODI3NSA0NS44MjI4IDU0Ljg1NyA0NC42Nzc4IDUzLjI3NTUgNDUuNTg0N0M1Mi41MzczIDQ2LjAwODMgNTIuMDgyOSA0Ni43OTUxIDUyLjA4NTUgNDcuNjQ2MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My43Mzg4IDUyLjExNTVDNDQuOTUzMiA1My4zNDA5IDQ2LjU4MDkgNTQuMDY5NiA0OC4zMDM3IDU0LjE1OTFDNTAuMDEyMyA1NC40MTgyIDUxLjc1NiA1NC4wMyA1My4xOTMzIDUzLjA3MDRcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ3LjQ0NDIgNjIuMDI4M0M0NS40Njg5IDYxLjg0MjcgNDMuNTM1MSA2MS4zNDY0IDQxLjcxNDQgNjAuNTU3NkM0MS4zMTYgNjEuMzEyMyA0MS4wNjMyIDYyLjEzNTIgNDAuOTY5NSA2Mi45ODMyQzQwLjM0NjQgNjYuNTU5NyA0My4wNjk0IDY5Ljg0NTcgNDYuNjk5MyA2OS44OTc1QzUwLjI3NTggNzAuNTIwNiA1My41NjE2IDY3Ljc5NzYgNTMuNjEzNCA2NC4xNjc1QzUzLjY3MzEgNjMuMzM4OSA1My41NjI2IDYyLjUwNyA1My4yODg4IDYxLjcyMjdDNTEuMzY3OCA2Mi4xMjQyIDQ5LjM5NjYgNjIuMjI3MiA0Ny40NDQyIDYyLjAyODNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM1LjMzNDcgMy40Mjk3NUMzNC4xODE3IDMuNTI3NDQgMzMuMDk5OCA0LjAyNzgxIDMyLjI3ODcgNC44NDMxMUMzMS4yNzg3IDQuMzA5NzggMzAuMTI2MSA0LjEzNDQ4IDI5LjAxMjYgNC4zNDY2NEMyNi4yNjU1IDQuNDU1MDYgMjQuMzE4NCA3LjA2OTgxIDI1LjAwMTcgOS43MzI3M0MyNS42MzE5IDE0LjA0OTQgMzAuMDYzMSAxNi40NzUxIDMzLjM4NjUgMTcuNjc4NEMzMy44OTI1IDE3Ljg3MDUgMzQuNDYxMyAxNy43OTExIDM0Ljg5NTQgMTcuNDY4MkMzNy43MjIzIDE1LjM0ODEgNDEuMjc0OCAxMS43MzgzIDQwLjYyNTUgNy40NDA5QzQwLjQ5MDcgNC43NTA2OCAzNy45NjE0IDIuODMzMDUgMzUuMzM0NyAzLjQyOTc1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuOTY2OCA1OC44NTc3Qzc0LjMzNTkgNTguNjg4MiA3My42Njc3IDU4LjcyMTYgNzMuMDU2OCA1OC45NTMxQzcyLjYxOTIgNTguNDIyMyA3Mi4wMTIxIDU4LjA1ODIgNzEuMzM3OCA1Ny45MjE3QzY5Ljc4NjYgNTcuMzQ0OSA2OC4wOTg3IDU4LjM0NjQgNjcuODYxOCA1OS45ODQ0QzY3LjIxMjIgNjIuNTQzOCA2OS4xMjIyIDY0LjkzMTQgNzAuNjg4NSA2Ni4zODI5QzcwLjkyNCA2Ni42MDI1IDcxLjI1NzcgNjYuNjgyMyA3MS41NjcxIDY2LjU5M0M3My42NDkgNjYuMDc3NCA3Ni40NTY2IDY0LjkxMjMgNzcuMTA1OSA2Mi4zNTI5Qzc3LjY4NDEgNjAuNzcwOCA3Ni42Mzg3IDU5LjA2MjggNzQuOTY2OCA1OC44NTc3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTAuODEwNSAxMi44ODQ0QzEwLjgxMDUgMTUuMjgwOSAxMy40MDQ4IDE2Ljc3ODcgMTUuNDgwNCAxNS41ODA0QzE2LjQ0MzcgMTUuMDI0MyAxNy4wMzcxIDEzLjk5NjYgMTcuMDM3MSAxMi44ODQ0QzE3LjAzNzEgMTAuNDg3NiAxNC40NDI2IDguOTg5ODIgMTIuMzY3MiAxMC4xODgxQzExLjQwMzkgMTAuNzQ0MiAxMC44MTA1IDExLjc3MjEgMTAuODEwNSAxMi44ODQ0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGYXZvcml0ZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTMuMjAwMiA5LjAyMDE1QzQ4LjQ2MTcgOC44MDI2IDQzLjc5ODcgMTAuMzUyMiA0MC4wMDAxIDEzLjQwNjlDMzYuMjAxNiAxMC4zNTIyIDMxLjUzODYgOC44MDI2IDI2LjgwMDEgOS4wMjAxNUMxMy42IDkuMDIwMTUgNyAxNy41Mzg4IDcgMzAuMzE2NkM3IDQ5Ljk1NjcgMjMuOTIzMSA2My41NzE4IDM2LjgxODYgNzEuMTI1OUMzNy43OTQyIDcxLjY5ODggMzguODg4MyA3MiA0MC4wMDAxIDcyQzQxLjExMiA3MiA0Mi4yMDYxIDcxLjY5ODggNDMuMTgxNyA3MS4xMjU5QzU2LjE2MTggNjMuNTcxOCA3MyA0OS45NTY3IDczIDMwLjMxNjZDNzMgMTcuNTM4OCA2Ni40MDAyIDkuMDIwMTUgNTMuMjAwMiA5LjAyMDE1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTQgMTcuMDg4NUM2MS4zNjcgMTYuMzY1MiA2My45NDAzIDIwLjIzMjkgNjUgMjNcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGb2xkZXIgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcyLjIgNy4zMzk5OEM3MC4yIDQuNjE5OTggNjIuMDYgMy40Nzk5OCA1NSAzLjQ3OTk4QzQ3Ljk0IDMuNDc5OTggMzkuNCA0LjMxOTk4IDM3LjggNy4zMzk5OEMzNy4xMjg0IDcuODU4MjggMzYuNTc0NCA4LjUxMzA4IDM2LjE3NDYgOS4yNjExOEMzNS43NzQ2IDEwLjAwOTMgMzUuNTM4IDEwLjgzMzcgMzUuNDggMTEuNjhDMjYuNTYgMTIgMTguMiAxMy4wMiAxNi4yNCAxNS4xOEMxNC4yOCAxNi4yNiAxMi45IDE5IDEyIDIyLjZDMTAuMjE4IDIyLjc3MDYgOC41MDY0NCAyMy4zODI0IDcuMDIgMjQuMzhDMiAyNi44NCAxIDM5LjQyIDEgNDguODhDMSA1OC4zNCAxLjk0IDcwLjg4IDcgNzMuNEM5LjUgNzUuODQgMjMgNzYuNTIgMzQuMDIgNzYuNTJIMzkuMzZINDQuNTJDNTYuMTQgNzYuNTIgNzAuMTQgNzUuNzIgNzIuNzggNzIuODRDNzggNzAgNzkgNTUuMTYgNzkgNDRDNzkgMTkuMTYgNzMuODYgOS41Mzk5OCA3Mi4yIDcuMzM5OThaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMiAyMi42QzEwLjgxMTIgMzUuMzIyOCAxMC43NDQzIDQ4LjEyNTQgMTEuOCA2MC44NkwxMiAyMi42WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEyIDIyLjZDMTAuODExMiAzNS4zMjI4IDEwLjc0NDMgNDguMTI1NCAxMS44IDYwLjg2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ni41IDkuNjk5OTZDNjIuMzYgOS43OTk5NiA2Ni44NiAxMC4xNiA2Ny41OCAxMi42NFwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRm9sbG93VXAgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY0LjAyODEgNjQuNTc2N0M2OC40NDEyIDYzLjYxMTggNjkuMjIwOSA1OC42MDY5IDY5LjIyMDkgNTQuNzkwNEM2OS4yMjA5IDUwLjk3MzkgNjguMzUyOSA0Ni4xMDg4IDY0LjAyODEgNDUuMTE2MkM2MS44NTEgNDQuMTM3NiA1MC4xODU4IDQzLjE1OSA0MC40OTE3IDQzLjE1OUMzMC43OTc2IDQzLjE1OSAxOS4xOTEyIDQ0LjEzNzYgMTYuOTU1MyA0NS4xMTYyQzEyLjYzMDUgNDYuMTA4OCAxMS44MDY3IDUxLjA4NTcgMTEuODA2NyA1NC44NDYzQzExLjgwNjcgNTguNjA2OSAxMi42MzA1IDYzLjYxMTggMTYuOTk5NCA2NC42MzIyQzE5LjE5MTIgNjUuNjEwOCAzMC44NDE4IDY2LjU4OTQgNDAuNTM1OSA2Ni41ODk0QzUwLjIyOTkgNjYuNTg5NCA2MS44MDY5IDY1LjU1NTMgNjQuMDI4MSA2NC41NzY3WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjQuMDI4MSAzNy42MTcyQzY4LjQ0MTIgMzYuNjUyNiA2OS4yMjA5IDMxLjY0NzcgNjkuMjIwOSAyNy44MzEyQzY5LjIyMDkgMjQuMDE0NyA2OC4zOTcxIDE5LjA2NTcgNjQuMDI4MSAxOC4wNDUyQzYxLjg1MSAxNy4wNjY2IDUwLjE4NTggMTYuMDg4IDQwLjQ5MTcgMTYuMDg4QzMwLjc5NzcgMTYuMDg4IDE5LjE5MTIgMTcuMDY2NiAxNi45NTUzIDE4LjA0NTJDMTIuNTQyMyAxOS4wMDk4IDExLjc2MjcgMjQuMDE0NyAxMS43NjI3IDI3LjgzMTJDMTEuNzYyNyAzMS42NDc3IDEyLjYzMDUgMzYuNjI0NiAxNi45NTUzIDM3LjYxNzJDMTkuMTQ3MSAzOC41OTU4IDMwLjc5NzcgMzkuNTc0NCA0MC40OTE3IDM5LjU3NDRDNTAuMTg1OCAzOS41NzQ0IDYxLjgwNjkgMzguNTk1OCA2NC4wMjgxIDM3LjYxNzJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNy45NTU2IDI3Ljc3NUMxNy45NTU2IDI5LjMyNDggMTguNjAzNCAzMC44MTEyIDE5Ljc1NjYgMzEuOTA3MUMyMC45MDk4IDMzLjAwMyAyMi40NzM3IDMzLjYxODcgMjQuMTA0NSAzMy42MTg3QzI1LjczNTMgMzMuNjE4NyAyNy4yOTkzIDMzLjAwMyAyOC40NTI0IDMxLjkwNzFDMjkuNjA1NiAzMC44MTEyIDMwLjI1MzQgMjkuMzI0OCAzMC4yNTM0IDI3Ljc3NUMzMC4yNTM0IDI2LjIyNTIgMjkuNjA1NiAyNC43Mzg4IDI4LjQ1MjQgMjMuNjQyOUMyNy4yOTkzIDIyLjU0NyAyNS43MzUzIDIxLjkzMTQgMjQuMTA0NSAyMS45MzE0QzIyLjQ3MzcgMjEuOTMxNCAyMC45MDk4IDIyLjU0NyAxOS43NTY2IDIzLjY0MjlDMTguNjAzNCAyNC43Mzg4IDE3Ljk1NTYgMjYuMjI1MiAxNy45NTU2IDI3Ljc3NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTAuNzMgNTUuMDM1OUM1MC43MyA1Ni41ODU4IDUxLjM3NzggNTguMDcyMSA1Mi41MzEgNTkuMTY4QzUzLjY4NDIgNjAuMjYzOSA1NS4yNDgxIDYwLjg3OTYgNTYuODc4OSA2MC44Nzk2QzU4LjUwOTcgNjAuODc5NiA2MC4wNzM3IDYwLjI2MzkgNjEuMjI2OCA1OS4xNjhDNjIuMzggNTguMDcyMSA2My4wMjc4IDU2LjU4NTggNjMuMDI3OCA1NS4wMzU5QzYzLjAyNzggNTMuNDg2MSA2Mi4zOCA1MS45OTk4IDYxLjIyNjggNTAuOTAzOUM2MC4wNzM3IDQ5LjgwNzkgNTguNTA5NyA0OS4xOTIzIDU2Ljg3ODkgNDkuMTkyM0M1NS4yNDgxIDQ5LjE5MjMgNTMuNjg0MiA0OS44MDc5IDUyLjUzMSA1MC45MDM5QzUxLjM3NzggNTEuOTk5OCA1MC43MyA1My40ODYxIDUwLjczIDU1LjAzNTlaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYwLjU4NiAyMC44NDA5QzYzLjc0ODcgMjEuNTk1OCA2My45OTg4IDIxLjgzMzUgNjQuNjkwMiAyNC4yNjZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjMwMDkgNDYuNjIwMkM0NC43NTc4IDQ2LjYyMDIgNDcuNTA4NiA0Ni42MjAyIDQ5LjE0MTUgNDYuODAyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NS4zMzMzIDE0Ljg3NkM0NS4zMzMzIDE2LjM2NjUgNDYuMDAwNiAxNy43OTU5IDQ3LjE4ODQgMTguODQ5OUM0OC4zNzYxIDE5LjkwMzggNDkuOTg3IDIwLjQ5NTkgNTEuNjY2NyAyMC40OTU5QzUzLjM0NjMgMjAuNDk1OSA1NC45NTczIDE5LjkwMzggNTYuMTQ1MSAxOC44NDk5QzU3LjMzMjggMTcuNzk1OSA1OCAxNi4zNjY1IDU4IDE0Ljg3NkM1OCAxMy4zODU1IDU3LjMzMjggMTEuOTU2MSA1Ni4xNDUxIDEwLjkwMjJDNTQuOTU3MyA5Ljg0ODI3IDUzLjM0NjMgOS4yNTYyIDUxLjY2NjcgOS4yNTYyQzQ5Ljk4NyA5LjI1NjIgNDguMzc2MSA5Ljg0ODI3IDQ3LjE4ODQgMTAuOTAyMkM0Ni4wMDA2IDExLjk1NjEgNDUuMzMzMyAxMy4zODU1IDQ1LjMzMzMgMTQuODc2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBJZGVhID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMC44NTY1IDcuMTcxOEMzMC44NzA0IDguNTQyMyAzMS4xNTUgOS44NTM5MSAzMS42NDc1IDEwLjgxODFDMzEuODkxNCAxMS4yOTU0IDMyLjE3OSAxMS42NzMyIDMyLjQ5MzkgMTEuOTI5N0MzMi44MDg4IDEyLjE4NjIgMzMuMTQ0OSAxMi4zMTY1IDMzLjQ4MyAxMi4zMTNDMzMuODIxIDEyLjMwOTUgMzQuMTU0NCAxMi4xNzI0IDM0LjQ2NCAxMS45MDk1QzM0Ljc3MzcgMTEuNjQ2NyAzNS4wNTM1IDExLjI2MzEgMzUuMjg3NyAxMC43ODA4QzM1LjUyMTggMTAuMjk4NSAzNS43MDU3IDkuNzI2OTEgMzUuODI4NyA5LjA5ODY4QzM1Ljk1MTcgOC40NzAzNyAzNi4wMTE0IDcuNzk3NzYgMzYuMDA0NSA3LjExOTE1QzM1Ljk5MDYgNS43NDg2NCAzNS43MDYxIDQuNDM3MDQgMzUuMjEzNSAzLjQ3Mjg4QzM0LjcyMSAyLjUwODczIDM0LjA2MDggMS45NzA5OSAzMy4zNzgxIDEuOTc3OTdDMzIuNjk1NCAxLjk4NDk1IDMyLjA0NjIgMi41MzYwOCAzMS41NzM0IDMuNTEwMTFDMzEuMTAwNCA0LjQ4NDE0IDMwLjg0MjYgNS44MDEzIDMwLjg1NjUgNy4xNzE4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEzLjk2MzggMTUuOTg2MUMxNC4zODQ5IDE2LjUyNjggMTQuODU2MyAxNy4wMjE0IDE1LjM1MDYgMTcuNDQxNUMxNS44NDQ4IDE3Ljg2MTYgMTYuMzUyMSAxOC4xOTg2IDE2Ljg0MyAxOC40MzNDMTcuMzMzOCAxOC42NjczIDE3Ljc5ODMgMTguNzk0MiAxOC4yMDk1IDE4LjgwNjRDMTguNjIwNiAxOC44MTg2IDE4Ljk3MDIgMTguNzE1OCAxOS4yMzc5IDE4LjUwNEMxOS41MDU1IDE4LjI5MjEgMTkuNjg2IDE3Ljk3NTUgMTkuNzY4NyAxNy41NzI2QzE5Ljg1MTQgMTcuMTY5NiAxOS44MzQ2IDE2LjY4ODQgMTkuNzE5NSAxNi4xNTY4QzE5LjYwNDMgMTUuNjI1MiAxOS4zOTMgMTUuMDU0IDE5LjA5NzkgMTQuNDc2M0MxOC44MDI4IDEzLjg5ODYgMTguNDI5NyAxMy4zMjYxIDE4LjAwMDQgMTIuNzkyQzE3LjU3OTMgMTIuMjUxNCAxNy4xMDc5IDExLjc1NjYgMTYuNjEzNyAxMS4zMzY1QzE2LjExOTQgMTAuOTE2NCAxNS42MTIxIDEwLjU3OTQgMTUuMTIxMyAxMC4zNDUxQzE0LjYzMDUgMTAuMTEwOCAxNC4xNjYgOS45ODM4MyAxMy43NTQ4IDkuOTcxNjhDMTMuMzQzNyA5Ljk1OTQ1IDEyLjk5NDEgMTAuMDYyMyAxMi43MjY0IDEwLjI3NDFDMTIuNDU4NyAxMC40ODU5IDEyLjI3ODIgMTAuODAyNSAxMi4xOTU1IDExLjIwNTVDMTIuMTEyOSAxMS42MDg0IDEyLjEyOTYgMTIuMDg5OCAxMi4yNDQ4IDEyLjYyMTNDMTIuMzU5OSAxMy4xNTI4IDEyLjU3MTIgMTMuNzI0MSAxMi44NjY0IDE0LjMwMThDMTMuMTYxNSAxNC44Nzk0IDEzLjUzNDYgMTUuNDUyIDEzLjk2MzggMTUuOTg2MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk04Ljg2ODM4IDM1LjQ5MThDOS41NDY5OSAzNS41MzkyIDEwLjIyMzYgMzUuNTE5NiAxMC44NTk1IDM1LjQzNDFDMTEuNDk1NSAzNS4zNDg1IDEyLjA3ODQgMzUuMTk4OCAxMi41NzQ4IDM0Ljk5MzNDMTMuMDcxMyAzNC43ODc4IDEzLjQ3MTggMzQuNTMwNyAxMy43NTMyIDM0LjIzNjZDMTQuMDM0NiAzMy45NDI1IDE0LjE5MTYgMzMuNjE3MSAxNC4yMTUxIDMzLjI3OTFDMTQuMjM4OCAzMi45NDEgMTQuMTI4NCAzMi41OTcgMTMuODkwNSAzMi4yNjY1QzEzLjY1MjYgMzEuOTM2MSAxMy4yOTE4IDMxLjYyNTcgMTIuODI4NSAzMS4zNTMyQzEyLjM2NTQgMzEuMDgwNSAxMS44MDg5IDMwLjg1MTIgMTEuMTkxIDMwLjY3NzlDMTAuNTczMSAzMC41MDQ4IDkuOTA1NzYgMzAuMzkxMiA5LjIyNzIyIDMwLjM0MzhDOC41NDg2MSAzMC4yOTYzIDcuODcyMDcgMzAuMzE1OSA3LjIzNjA5IDMwLjQwMTRDNi42MDAxMyAzMC40ODY5IDYuMDE3MjcgMzAuNjM2NyA1LjUyMDc4IDMwLjg0MjJDNS4wMjQyOSAzMS4wNDc2IDQuNjIzODkgMzEuMzA0OCA0LjM0MjQzIDMxLjU5ODlDNC4wNjA5OCAzMS44OTMxIDMuOTAzOTkgMzIuMjE4NCAzLjg4MDQzIDMyLjU1NjVDMy44NTY4OCAzMi44OTQ1IDMuOTY3MjEgMzMuMjM4NSA0LjIwNTEyIDMzLjU2ODlDNC40NDMwNSAzMy44OTk0IDQuODAzODkgMzQuMjA5OCA1LjI2NzA3IDM0LjQ4MjRDNS43MzAyNSAzNC43NTQ5IDYuMjg2NjggMzQuOTg0NCA2LjkwNDYgMzUuMTU3NUM3LjUyMjUyIDM1LjMzMDggOC4xODk4NCAzNS40NDQzIDguODY4MzggMzUuNDkxOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC44NjQ3IDE2LjEyQzQ5LjE0MDggMTYuMzIxNSA0OS40OTE4IDE2LjQwODYgNDkuODk3MiAxNi4zNzY1QzUwLjMwMjcgMTYuMzQ0MyA1MC43NTQ1IDE2LjE5MzUgNTEuMjI2NCAxNS45MzI3QzUxLjY5ODIgMTUuNjcyIDUyLjE4MDYgMTUuMzA2NSA1Mi42NDU1IDE0Ljg1NzhDNTMuMTEwMyAxNC40MDkgNTMuNTQ4NCAxMy44ODU4IDUzLjkzNCAxMy4zMTg3QzU0LjMxOTYgMTIuNzUxNiA1NC42NDUyIDEyLjE1MiA1NC44OTE3IDExLjU1NDhDNTUuMTM4MiAxMC45NTc1IDU1LjMwMDcgMTAuMzc0NiA1NS4zNjk4IDkuODM5OTlDNTUuNDM4OCA5LjMwNTM4IDU1LjQxMyA4LjgyOTg0IDU1LjI5MzggOC40NDA5OUM1NS4xNzQ2IDguMDUyMTUgNTQuOTY0NSA3Ljc1Nzc2IDU0LjY3NTcgNy41NzUxMkM1NC4zOTk2IDcuMzczNzIgNTQuMDQ4NiA3LjI4NjU1IDUzLjY0MzIgNy4zMTg3MUM1My4yMzc3IDcuMzUwODYgNTIuNzg1OSA3LjUwMTcxIDUyLjMxNCA3Ljc2MjQ1QzUxLjg0MjIgOC4wMjMxNSA1MS4zNTk4IDguMzg4NjEgNTAuODk0OSA4LjgzNzM4QzUwLjQzMDEgOS4yODYxNSA0OS45OTIgOS44MDkzOCA0OS42MDY0IDEwLjM3NjVDNDkuMjIwOCAxMC45NDM1IDQ4Ljg5NTIgMTEuNTQzMSA0OC42NDg3IDEyLjE0MDRDNDguNDAyMiAxMi43Mzc3IDQ4LjIzOTcgMTMuMzIwNiA0OC4xNzA2IDEzLjg1NTFDNDguMTAxNiAxNC4zODk4IDQ4LjEyNzUgMTQuODY1MyA0OC4yNDY2IDE1LjI1NDFDNDguMzY1OCAxNS42NDMgNDguNTc1OSAxNS45Mzc0IDQ4Ljg2NDcgMTYuMTJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuNjQ3OCAyNS45NzM2QzU3Ljc0MSAyNi4zMDE2IDU3Ljk2MzQgMjYuNTg2NSA1OC4zMDE5IDI2LjgxMThDNTguNjQwNCAyNy4wMzcgNTkuMDg4MyAyNy4xOTggNTkuNjE5NiAyNy4yODU1QzYwLjE1MDkgMjcuMzczMSA2MC43NTUxIDI3LjM4NTMgNjEuMzk2OSAyNy4zMjE2QzYyLjAzODggMjcuMjU3OCA2Mi43MDU2IDI3LjExOTQgNjMuMzU4NiAyNi45MTQzQzY0LjAxMTYgMjYuNzA5MiA2NC42Mzc4IDI2LjQ0MTUgNjUuMjAwOSAyNi4xMjY4QzY1Ljc2NCAyNS44MTIxIDY2LjI1MjcgMjUuNDU2NiA2Ni42Mzg3IDI1LjA4MUM2Ny4wMjQ2IDI0LjcwNTQgNjcuMzAwMiAyNC4zMTcxIDY3LjQ0OTIgMjMuOTM4OEM2Ny41OTgyIDIzLjU2MDQgNjcuNjE3OCAyMy4xOTk1IDY3LjUwNjkgMjIuODc3QzY3LjQxMzcgMjIuNTQ4OSA2Ny4xOTEzIDIyLjI2NDEgNjYuODUyOCAyMi4wMzg4QzY2LjUxNDMgMjEuODEzNiA2Ni4wNjY0IDIxLjY1MjYgNjUuNTM1MSAyMS41NjUxQzY1LjAwMzggMjEuNDc3NSA2NC4zOTk2IDIxLjQ2NTMgNjMuNzU3OCAyMS41MjlDNjMuMTE1OSAyMS41OTI4IDYyLjQ0OTIgMjEuNzMxMiA2MS43OTYxIDIxLjkzNjNDNjEuMTQzMSAyMi4xNDE0IDYwLjUxNjggMjIuNDA5MSA1OS45NTM4IDIyLjcyMzhDNTkuMzkwNyAyMy4wMzg1IDU4LjkwMiAyMy4zOTQgNTguNTE2MSAyMy43Njk2QzU4LjEzMDEgMjQuMTQ1MiA1Ny44NTQ2IDI0LjUzMzUgNTcuNzA1NSAyNC45MTE4QzU3LjU1NjUgMjUuMjkwMiA1Ny41MzY4IDI1LjY1MTEgNTcuNjQ3OCAyNS45NzM2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjM2MDYgMzcuNjIwOUM0My4xNTkxIDM3LjYyMDkgMzYuNTY4MSA0NC41MDQ1IDM2LjU2ODEgNTQuODM5NUMzNi41NjgxIDYxLjQ2OTUgMzkuMzE3NiA2Ni42NzU5IDQ0Ljc1ODEgNjkuNTYxOUM0My43NDQxIDcyLjk5MzkgNDEuMjQ4MSA3NS4wMjE5IDQzLjQ1MTYgNzcuMjI1NEM0NC44NzUxIDc4LjY0OTIgNTMuMzc3MSA3OC44NjMxIDU2LjI2MzEgNzIuMDM4NUg1Ni4zNjA2QzY5LjU2MjEgNzIuMDM4NSA3Ni4xNzI2IDY1LjEzNTUgNzYuMTcyNiA1NC44MTk5Qzc2LjE3MjYgNDQuNTA0NSA2OS41NjIxIDM3LjYyMDkgNTYuMzYwNiAzNy42MjA5WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02My4xMDc3IDQxLjc3NDNDNjUuMTY1OSA0Mi4yMTAzIDY3LjA1MDkgNDMuMjQwOSA2OC41Mjg3IDQ0LjczODNcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjg3MDIgNDAuMTE2OEM1NS40NjM4IDMwLjU0MjQgNTEuNzE5NyAyMi42ODM4IDQwLjc2MDcgMTkuNzE5OEMyOS44MDE3IDE2Ljc1NTggMjIuNjI1OCAyMS42Njk4IDIwLjAxMjggMzEuMjA1NEMxOC4zNTUyIDM3LjM2NzQgMjAuODEyMiA0My42NDY0IDIzLjQ2NDIgNDguNTIxNEMyNC4xNTE5IDQ5Ljc4NjUgMjQuNDc1OCA1MS4yMTc0IDI0LjQwMDIgNTIuNjU1NEMyMy45NDM3IDUyLjc0MzggMjMuNTIwMyA1Mi45NTYxIDIzLjE3NjQgNTMuMjY5MUMyMi44MzI1IDUzLjU4MjEgMjIuNTgxMiA1My45ODM3IDIyLjQ1MDIgNTQuNDI5OEMyMi4zMTk2IDU0LjkyNTMgMjIuMzQ3MiA1NS40NDkxIDIyLjUyODkgNTUuOTI4MUMyMi43MTA4IDU2LjQwNzEgMjMuMDM3OCA1Ni44MTc0IDIzLjQ2NDIgNTcuMTAxNEMyMi41NDc4IDYyLjY1ODggMjQuMzYxMiA2NS4yMzI4IDI4LjA2NjIgNjYuMjQ2OEMzMS43NzEyIDY3LjI2MDggMzQuNjM3OCA2NS45MzQ4IDM2LjY2NTggNjAuNjY5OEMzNy4xNzM3IDYwLjY0NTggMzcuNjYwOSA2MC40NjExIDM4LjA1NyA2MC4xNDIxQzM4LjQ1MzEgNTkuODIzMSAzOC43Mzc1IDU5LjM4NjUgMzguODY5MiA1OC44OTU0QzM4Ljk4OSA1OC40NDUyIDM4Ljk3OTMgNTcuOTcwMyAzOC44NDEzIDU3LjUyNTNDMzguNzAzNCA1Ny4wODA0IDM4LjQ0MjcgNTYuNjgzMyAzOC4wODkyIDU2LjM3OThDMzguNzc5MiA1NS4xMDE1IDM5LjgxMjUgNTQuMDQxMSA0MS4wNzI4IDUzLjMxODRDNDUuODUwMiA1MC40NTE4IDUxLjE5MzIgNDYuMjc4OCA1Mi44NzAyIDQwLjExNjhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI4Ljc4NzUgNTMuOTYxOUMzMC41MDE5IDU0LjIwNzEgMzIuMTc4OSA1NC42NjU3IDMzLjc3OTUgNTUuMzI2OVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNy43MzQ4IDU3LjgyM0MyOS40NTQyIDU4LjA2NDIgMzEuMTM3MyA1OC41MTYxIDMyLjc0NjIgNTkuMTY4NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS4xMjc3IDM3LjIzMDhDMzEuMTI3NyAzNy4yMzA4IDMwLjcxODIgMzguMDY5MiAzMS42MTUyIDQxLjI0NzhDMzEuOTM0NiA0Mi40MTYyIDMyLjM5MjkgNDMuNTQyMiAzMi45ODAyIDQ0LjYwMThDMzMuMTg0NSA0NC45MTI5IDMzLjQ5NTggNDUuMTM4NCAzMy44NTUyIDQ1LjIzNTRDMzQuMjE0NSA0NS4zMzI1IDM0LjU5NyA0NS4yOTQzIDM0LjkzMDIgNDUuMTI4MkMzNS45ODM2IDQ0LjUyMTkgMzYuOTUzOCA0My43ODEyIDM3LjgxNjIgNDIuOTI0OEMzOC44MzUxIDQyLjAxMzEgMzkuNjY5MiA0MC45MTQyIDQwLjI3MzIgMzkuNjg3OEM0MC4zNzA4IDM5LjM4MDIgNDAuMzU4MSAzOS4wNDgzIDQwLjIzNyAzOC43NDkyQzQwLjExNTkgMzguNDUwMSAzOS44OTQyIDM4LjIwMjggMzkuNjEwMiAzOC4wNDk4QzM4LjUwNTYgMzcuNDQxOCAzNy4zMjUzIDM2Ljk4MjggMzYuMTAwMiAzNi42ODQ4QzM0LjkzMzggMzYuMzM4NyAzMy43MjgyIDM2LjE0MjEgMzIuNTEyMiAzNi4wOTk4QzMyLjE5NDcgMzYuMTAwNiAzMS44ODY5IDM2LjIwOTEgMzEuNjM5IDM2LjQwNzRDMzEuMzkxMSAzNi42MDU4IDMxLjIxNzggMzYuODgyMiAzMS4xNDcyIDM3LjE5MThMMzEuMTI3NyAzNy4yMzA4WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMi42XCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMzLjgzODIgNDUuMjA2NkwzMy4wOTcyIDQ4LjAxNDZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyLjZcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ1Ljk0NzYgMjYuMjMyN0M0Ny4yNjQzIDI3LjEzNjggNDguMjcxNiAyOC40MjMyIDQ4LjgzMzYgMjkuOTE4MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjIuNlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBMaWtlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC41MTUzIDUxLjQ4NkM3OS4zNTEzIDQ5Ljk4NDMgNzkuMTU2MyA0MC4yNzMzIDc0LjE2NDMgMzkuMDA2Qzc3LjY5MzcgMzcuNTA0MyA3NS4yOTUzIDI5LjYwNjkgNzEuMTQxNyAyOC4yMDI5QzY1LjExNzcgMjcuMzQzIDU5LjA1MDMgMjYuODIyMiA1Mi45Njc3IDI2LjY0MjlDNTQuMzUxMyAyMi44Mzk3IDU1LjQwOCAxOC45MjU1IDU2LjEyNjcgMTQuOTQyOUM1Ni41MzI3IDEzLjE4NzQgNTYuMzMzNyAxMS4zNDY0IDU1LjU2MiA5LjcxODI3QzU0Ljc5MDMgOC4wOTAxIDUzLjQ5MTMgNi43NzAzMyA1MS44NzU3IDUuOTcyOUM0OS4xNjUzIDQuMzczOSA0NC43OTczIDQuMzM0OSA0My4wODEzIDUuODU1OUM0MC45NzUzIDYuOTA4OSAzNS41NTQzIDEzLjUxOTQgMjkuNjQ1OCAyMy42Nzg5QzI2LjM0NzcgMjUuOTc3NCAyMy4yMzE1IDI4LjUyNjQgMjAuMzI0OCAzMS4zMDM0QzE3Ljg1MzUgMzAuMDYzNiAxNS4wODEzIDI5LjU0OTcgMTIuMzI5OCAyOS44MjE0QzguNjQ0MyAyOS44MjE0IDMuNzQ5OCAzMC41ODE5IDIuODkxODEgMzMuOTM2QzEuOTk0ODEgMzUuNjMyMyAxLjg1ODMxIDQ0LjUyNDMgMi4wNTMzMSA1MS44NzZDMi4yNDgzMSA1OS4yMjczIDIuODkxODEgNjguMSA0LjAwMzMgNjkuNzM4QzQuOTAwMyA3My4xNTAzIDkuODUzMyA3My40NjIzIDEzLjUzODggNzMuMzY1QzE2LjM2NjMgNzMuMzY1IDE5Ljg3NjMgNzIuODU4IDIxLjc2NzggNzEuMTgxQzIxLjk4OTkgNzEuMzkxNyAyMi4yMzE0IDcxLjU4MSAyMi40ODkzIDcxLjc0NjNDMjQuOTA3MyA3My4zNjUgMzUuNzg4MyA3NS40NTEzIDQ0Ljk5MjMgNzUuMTk4QzYwLjkwNDMgNzQuNzQ5MyA2Ni45MTAzIDczLjQ4MiA2OC4wODAzIDczLjExMTNDNzQuMzU5MyA3MS4xNjEzIDczLjczNTMgNjMuNzkwMyA3Mi4xMzYzIDYyLjY3OUM3NS44OTk3IDYyLjAzNTMgNzcuNzMyNyA1My45MjMzIDc0LjUxNTMgNTEuNDg2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDguNzU1NyAxMC41NTVDNTEuNDI3MyAxMS42Mjc1IDUwLjg4MTMgMTQuNDU1IDUwLjI3NjcgMTYuMTcxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS4zOTczIDM5LjQzNTNDMjIuMTM4MyA0Mi44MjgzIDIzLjAxNTggNTguNzQwMyAyMi4wNzk4IDYzLjU3NjNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc1LjQ5MDcgMzcuNjk5M0M3NC41MTU3IDM5LjE4MTMgNzEuMzE3NyAzOS4yNzkgNzEuMzE3NyAzOS4yNzlDNzIuNzE3MyAzOS4xNDIzIDc0LjEzIDM5LjI1NDMgNzUuNDkwNyAzOS42MTAzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzYuMTE0MyA1MC41NUM3NS4zNzMzIDUxLjQ4NiA3Mi4yMTQzIDUxLjA1NyA3Mi4yMTQzIDUxLjA1N0M3Mi4yMTQzIDUxLjA1NyA3NC44NDcgNTEuMjkxIDc1LjYyNyA1Mi43NzNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03My44OTEzIDYxLjc0M0M3My4xNzcgNjIuMTYxNyA3Mi4zODM3IDYyLjQyOCA3MS41NjE3IDYyLjUyNUM3MC43MzkzIDYyLjYyMjMgNjkuOTA2IDYyLjU0ODcgNjkuMTEzNyA2Mi4zMDg3QzY5LjExMzcgNjIuMzA4NyA3Mi4xMzYzIDYyLjY3OSA3My4wMTM3IDY0LjA4M1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgTWFwID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS4zOTI3IDguNjcxNDhDNzQuMjIyNyA2Ljc5OTQ5IDY3Ljk4MjcgOC43ODM4MSA2Mi44MTUgMTAuNjU1OEM1OC42MDMgMTIuMTcyMSA1My43MDg3IDE0LjExOSA1MS40MDc3IDE2LjI3MThDNDkuMTA2NyAxNC4xMTkgNDQuMjEyIDEyLjE3MjEgNDAgMTAuNjU1OEMzNi4zNTA3IDkuMjUzOTIgMzIuNTA3NyA4LjM3MSAyOC41OTI2IDguMDM1QzI0LjY3NzUgOC4zNzEgMjAuODM0NSA5LjI1MzkyIDE3LjE4NTEgMTAuNjU1OEMxMi4wMTc2IDEyLjUyNzggNS43Nzc2IDE0Ljk5ODggNC42MDc2IDE3Ljc1MDdDMi4yNjc2IDIwLjkzMzEgMS45NzUxIDM3LjUzNzYgMS45NzUxIDQ2LjU0MjFDMS45NzUxIDU1LjU0NjIgMi4yNjc2IDcxLjk0NSA0LjYwNzYgNzMuNDQyNkM1Ljc3NzYgNzUuMzE0NiAxMi4wMTc2IDczLjMzMDIgMTcuMTg1MSA3MS40NTgyQzIxLjM5NzEgNjkuOTQyMSAyNi4yOTE2IDY3Ljk5NTIgMjguNTkyNiA2NS44NDIyQzMwLjg5MzYgNjcuOTk1MiAzNS43ODggNjkuOTQyMSA0MCA3MS40NTgyQzQzLjY0OTMgNzIuODYwMiA0Ny40OTI3IDczLjc0MyA1MS40MDc3IDc0LjA3OUM1NS4zMjI3IDczLjc0MyA1OS4xNjU3IDcyLjg2MDIgNjIuODE1IDcxLjQ1ODJDNjcuOTgyNyA2OS41ODYyIDc0LjIyMjcgNjcuMTE1MiA3NS4zOTI3IDY0LjM2MzVDNzcuNzMyNyA2MS4xODExIDc4LjAyNSA0NC41NzYzIDc4LjAyNSAzNS41NzIyQzc4LjAyNSAyNi41Njc4IDc3LjczMjcgMTAuMTY5MSA3NS4zOTI3IDguNjcxNDhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOC4zIDU1LjA5N1YyMS4wMjY2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MS43IDYxLjA4NzdWMjcuMDE3MlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjYuMzI1IDE1Ljg2QzcxLjI5NzMgMTMuNzQ0NyA3MS4wODMgMTIuNDkwNCA3MS4wODMgMjIuNzg2NFwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBNb25leSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTMuOTgxNSA0Ny40MTAxQzU2LjI0MzUgNDMuOTE5NiA1My44ODQgMzYuNzYzMSA1MS4xOTMgMzEuMzYxNkM0OC41MDIgMjUuOTYwMSA0NC4xOTI1IDE5Ljc5ODEgNDAgMTkuNTA1NkMzNy41MjM1IDE5LjM0OTYgMjguMTQ0IDIzLjE3MTYgMjAuNSAyNi45OTM2QzEyLjg1NiAzMC44MTU2IDQuMjM3MDQgMzUuOTgzMSAyLjk1MDA0IDM4LjA1MDFDMC42MTAwNCA0MS41NjAxIDIuOTUwMDQgNDguNzM2MSA1LjY2MDU0IDU0LjExODFDOC4zNzEwNCA1OS41MDAxIDEyLjcgNjUuNzAxMSAxNi44MzQgNjUuOTc0MUMxOS4zMTA1IDY2LjE0OTYgMjguNjcwNSA2Mi4zMjc2IDM2LjMzNCA1OC41MDU2QzQzLjk5NzUgNTQuNjgzNiA1Mi42MzYgNDkuNDk2NiA1My45ODE1IDQ3LjQxMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNC40ODE1IDI4LjNDMzUuMjI4NCAyOS41OTI2IDM2LjQxNzggMzAuNTcxMiAzNy44MyAzMS4wNTUxQzM5LjI0MjIgMzEuNTM5IDQwLjc4MTkgMzEuNDk1NCA0Mi4xNjQ1IDMwLjkzMjZDNDQuMDE4NSAzMy4zNDA1IDQ1LjM5NTIgMzYuMDgwNyA0Ni4yMjA1IDM5LjAwNTZDNDQuOTE3NiAzOS43NzExIDQzLjk0MDIgNDAuOTg3NCA0My40NzMxIDQyLjQyNDZDNDMuMDA2IDQzLjg2MTggNDMuMDgxNiA0NS40MjAzIDQzLjY4NTUgNDYuODA1NUMzNi44OTc0IDUwLjg2MTkgMjkuNzk2MyA1NC4zNyAyMi40NSA1Ny4yOTY2QzIxLjcwMDEgNTUuOTc2NCAyMC40OTA1IDU0Ljk3ODUgMTkuMDUyIDU0LjQ5M0MxNy42MTM0IDU0LjAwNzUgMTYuMDQ2NSA1NC4wNjg0IDE0LjY1IDU0LjY2NDFDMTIuNzg0MSA1Mi4yODUxIDExLjQ1MzcgNDkuNTMxNCAxMC43NSA0Ni41OTFDMTIuMDQ5NSA0NS44MjI0IDEzLjAyMjggNDQuNjA0OCAxMy40ODYyIDQzLjE2NzlDMTMuOTQ5NiA0MS43MzA5IDEzLjg3MTEgNDAuMTc0MSAxMy4yNjU1IDM4Ljc5MUMyMC4wNDU3IDM0LjczMjYgMjcuMTQwNSAzMS4yMjQ0IDM0LjQ4MTUgMjguM1pcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM0LjgzMjUgMjQuMTI3MUMzOC4yNjQ1IDIyLjYwNjEgMzkuODA1IDIyLjcwMzYgNDAuNjgyNSAyMy4yNDk2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMi4wMjEgNDIuNzQ5NkMyMi4wMjEgNDQuNDUxMSAyMi42OTY5IDQ2LjA4MjkgMjMuOTAwMSA0Ny4yODZDMjUuMTAzMiA0OC40ODkyIDI2LjczNSA0OS4xNjUxIDI4LjQzNjUgNDkuMTY1MUMzMC4xMzggNDkuMTY1MSAzMS43Njk4IDQ4LjQ4OTIgMzIuOTcyOSA0Ny4yODZDMzQuMTc2MSA0Ni4wODI5IDM0Ljg1MiA0NC40NTExIDM0Ljg1MiA0Mi43NDk2QzM0Ljg1MiA0MS4wNDgxIDM0LjE3NjEgMzkuNDE2MyAzMi45NzI5IDM4LjIxMzJDMzEuNzY5OCAzNy4wMSAzMC4xMzggMzYuMzM0MSAyOC40MzY1IDM2LjMzNDFDMjYuNzM1IDM2LjMzNDEgMjUuMTAzMiAzNy4wMSAyMy45MDAxIDM4LjIxMzJDMjIuNjk2OSAzOS40MTYzIDIyLjAyMSA0MS4wNDgxIDIyLjAyMSA0Mi43NDk2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjcuMzQ0NSAzOS42MTAxQzI3Ljg2NjEgMzkuNDYwMiAyOC40MTU5IDM5LjQzNjggMjguOTQ4NCAzOS41NDE5QzI5LjQ4MDggMzkuNjQ3MSAyOS45ODA1IDM5Ljg3NzcgMzAuNDA2IDQwLjIxNDZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjQ0NTUgNDQuMzY4Qzc2LjI3IDQ0LjE1MzUgNzIuODk2NSAzOS41NTE1IDYyLjYwMDUgMzkuNTUxNUM1Mi4zMDQ1IDM5LjU1MTUgNDguOTUwNSA0NC4xNTM1IDQ4Ljc1NTUgNDQuMzY4QzQ3LjU4NTUgNDUuNzkxNSA0Ny4xNzYgNTIuMDEyIDQ3LjE3NiA1Ny4zNTVDNDcuMTc2IDYyLjY5OCA0Ny41ODU1IDY4LjkxODUgNDguNzU1NSA3MC4zNDJDNDguOTMxIDcwLjU1NjUgNTIuMzA0NSA3NS4xMzkgNjIuNjAwNSA3NS4xMzlDNzIuODk2NSA3NS4xMzkgNzYuMjUwNSA3MC41NTY1IDc2LjQ0NTUgNzAuMzQyQzc3LjYxNTUgNjguOTE4NSA3OC4wMjUgNjIuNjk4IDc4LjAyNSA1Ny4zNTVDNzguMDI1IDUyLjAxMiA3Ny42MTU1IDQ1Ljg1IDc2LjQ0NTUgNDQuMzY4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjkuODM1MSA0Mi42OTFDNzAuOTMwNCA0Mi45OTM5IDcxLjk2NTggNDMuNDgyIDcyLjg5NjYgNDQuMTM0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC45MDUgNDkuMDQ4QzcyLjcwMTUgNTEuMjcxIDY4LjYwNjUgNTIuNTk3IDYyLjYwMDUgNTIuNTk3QzU2LjU5NDUgNTIuNTk3IDUyLjQ5OTUgNTEuMjcxIDUwLjI5NiA0OS4wNDhcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjkwNSA1Ny4zNTVDNzIuNzAxNSA1OS41NzggNjguNjA2NSA2MC45MDQgNjIuNjAwNSA2MC45MDRDNTYuNTk0NSA2MC45MDQgNTIuNDk5NSA1OS41IDUwLjI5NiA1Ny4zNTVcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc0LjkwNSA2NC40NzI1QzcyLjcwMTUgNjYuNjk1NSA2OC42MDY1IDY4LjAyMTUgNjIuNjAwNSA2OC4wMjE1QzU2LjU5NDUgNjguMDIxNSA1Mi40OTk1IDY2LjY5NTUgNTAuMjk2IDY0LjQ3MjVcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjMyMTUgNDUuNzkxNUM1Ni4zMjE1IDQ2LjQyMjQgNTYuOTgzMSA0Ny4wMjc1IDU4LjE2MDYgNDcuNDczN0M1OS4zMzgyIDQ3LjkxOTggNjAuOTM1MiA0OC4xNzA1IDYyLjYwMDUgNDguMTcwNUM2NC4yNjU4IDQ4LjE3MDUgNjUuODYyOSA0Ny45MTk4IDY3LjA0MDUgNDcuNDczN0M2OC4yMTggNDcuMDI3NSA2OC44Nzk1IDQ2LjQyMjQgNjguODc5NSA0NS43OTE1QzY4Ljg3OTUgNDUuMTYwNSA2OC4yMTggNDQuNTU1NCA2Ny4wNDA1IDQ0LjEwOTNDNjUuODYyOSA0My42NjMxIDY0LjI2NTggNDMuNDEyNSA2Mi42MDA1IDQzLjQxMjVDNjAuOTM1MiA0My40MTI1IDU5LjMzODIgNDMuNjYzMSA1OC4xNjA2IDQ0LjEwOTNDNTYuOTgzMSA0NC41NTU0IDU2LjMyMTUgNDUuMTYwNSA1Ni4zMjE1IDQ1Ljc5MTVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03MS4zNzU2IDI1LjY2NzZDNzEuMzc1NiAyNC4zODA2IDcwLjA0OTYgMjMuMjg4NiA2Ni40MjI2IDIyLjkxODFDNjYuMDUyMSAxOS4yOTExIDY0Ljk3OTUgMTcuOTY1MSA2My42NzMgMTcuOTY1MUM2Mi4zNjY1IDE3Ljk2NTEgNjEuMjc0NSAxOS4yOTExIDYwLjkwNCAyMi45MTgxQzU3LjI3NyAyMy4yODg2IDU1Ljk1MSAyNC4zODA2IDU1Ljk1MSAyNS42Njc2QzU1Ljk1MSAyNi45NTQ2IDU3LjI3NyAyOC4wNjYxIDYwLjkwNCAyOC40MzY2QzYxLjI3NDUgMzIuMDYzNiA2Mi4zNjY1IDMzLjM4OTYgNjMuNjczIDMzLjM4OTZDNjQuOTc5NSAzMy4zODk2IDY2LjA1MjEgMzIuMDYzNiA2Ni40MjI2IDI4LjQzNjZDNzAuMDQ5NiAyOC4wNjYxIDcxLjM3NTYgMjYuOTc0MSA3MS4zNzU2IDI1LjY2NzZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9XCIjMjMxRjIwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjU1IDExLjc4MzZDNTcuNTUgMTAuNzUwMSA1Ni40OTcgOS44MzM1NSA1My42NSA5LjU4MDA1QzUzLjM1NzUgNi42NzQ1NSA1Mi40OCA1LjY4MDA1IDUxLjQ0NjUgNS42ODAwNUM1MC40MTMgNS42ODAwNSA0OS40OTY1IDYuNzMzMDUgNDkuMjQzIDkuNTgwMDVDNDYuMzM3NSA5Ljg3MjU1IDQ1LjM0MyAxMC43NTAxIDQ1LjM0MyAxMS43ODM2QzQ1LjM0MyAxMi44MTcxIDQ2LjQxNTUgMTMuNzMzNiA0OS4yNDMgMTMuOTg3MUM0OS41MzU1IDE2Ljg5MjYgNTAuMzkzNSAxNy44ODcxIDUxLjQ0NjUgMTcuODg3MUM1Mi40OTk1IDE3Ljg4NzEgNTMuMzk2NSAxNi44MTQ2IDUzLjY1IDEzLjk4NzFDNTYuNDM4NSAxMy43MTQxIDU3LjU1IDEyLjgzNjYgNTcuNTUgMTEuNzgzNlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuNTE0NSA3LjE2MjA1QzY3LjUxNDUgNy43Nzc0OSA2Ny43NTkgOC4zNjc3MiA2OC4xOTQyIDguODAyODlDNjguNjI5NCA5LjIzODA3IDY5LjIxOTYgOS40ODI1NSA2OS44MzUgOS40ODI1NUM3MC40NTA1IDkuNDgyNTUgNzEuMDQwNyA5LjIzODA3IDcxLjQ3NTkgOC44MDI4OUM3MS45MTEgOC4zNjc3MiA3Mi4xNTU1IDcuNzc3NDkgNzIuMTU1NSA3LjE2MjA1QzcyLjE1NTUgNi41NDY2MiA3MS45MTEgNS45NTYzOSA3MS40NzU5IDUuNTIxMjFDNzEuMDQwNyA1LjA4NjAzIDcwLjQ1MDUgNC44NDE1NSA2OS44MzUgNC44NDE1NUM2OS4yMTk2IDQuODQxNTUgNjguNjI5NCA1LjA4NjAzIDY4LjE5NDIgNS41MjEyMUM2Ny43NTkgNS45NTYzOSA2Ny41MTQ1IDYuNTQ2NjIgNjcuNTE0NSA3LjE2MjA1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IE9mZmVyID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NC45NDUyIDE1LjM4NDhDNDMuMDgxNCAzLjUzODQ5IDI4LjYyMDIgMi4yMjIyOSAxNS40MDUgMTUuMzg0OEMyLjE4OTg5IDI4LjU0NzMgMy41NTg3OSA0My4wNjExIDE1LjQwNSA1NC45MDc0QzI1LjU2NjUgNjUuMDY4NyAzNy42NTg0IDY3LjQ1NTcgNDkuMjA2MyA1OS42NjM0QzUwLjIyNDIgNjEuMjc4IDUxLjQ1MjcgNjIuODU3NyA1Mi45NjIgNjQuNzg3N0M2My45MzA4IDc4LjcwNDcgNjguNDQxMSA3NC4zNzA3IDcxLjM4OTUgNzEuNDIxN0M3NC4zMzc5IDY4LjQ3MzcgNzguNjU1MiA2My45NjI3IDY0Ljc5MDcgNTIuOTc2OUM2Mi44OTUzIDUxLjQ2NzYgNjEuMjgwNyA1MC4yNTY2IDU5LjY4MzcgNDkuMjIxMkM2Ny40OTM0IDM3LjY3MzMgNjUuMTA2NiAyNS41NjM4IDU0Ljk0NTIgMTUuMzg0OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE3LjY1MTQgMzUuMTQ1OEMxNy42NTE0IDM5Ljc5NTcgMTkuNDk4NSA0NC4yNTUxIDIyLjc4NjUgNDcuNTQzMUMyNi4wNzQ1IDUwLjgzMSAzMC41MzM5IDUyLjY3ODIgMzUuMTgzOCA1Mi42NzgyQzM5LjgzMzcgNTIuNjc4MiA0NC4yOTMyIDUwLjgzMSA0Ny41ODExIDQ3LjU0MzFDNTAuODY5MSA0NC4yNTUxIDUyLjcxNjMgMzkuNzk1NyA1Mi43MTYzIDM1LjE0NThDNTIuNzE2MyAzMC40OTU5IDUwLjg2OTEgMjYuMDM2NCA0Ny41ODExIDIyLjc0ODRDNDQuMjkzMiAxOS40NjA1IDM5LjgzMzcgMTcuNjEzMyAzNS4xODM4IDE3LjYxMzNDMzAuNTMzOSAxNy42MTMzIDI2LjA3NDUgMTkuNDYwNSAyMi43ODY1IDIyLjc0ODRDMTkuNDk4NSAyNi4wMzY0IDE3LjY1MTQgMzAuNDk1OSAxNy42NTE0IDM1LjE0NThaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjA5NDcgMjQuNDIzNEMzMi4yMzEzIDIzLjQzNTUgMzMuNjcyOSAyMi44Njg0IDM1LjE3OCAyMi44MTczQzM2LjY4MyAyMi43NjYyIDM4LjE1OTggMjMuMjM0MSAzOS4zNjA4IDI0LjE0MjZcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS4wOTQ3IDI0LjQyMzRDMzIuMjMxMyAyMy40MzU1IDMzLjY3MjkgMjIuODY4NCAzNS4xNzggMjIuODE3M0MzNi42ODMgMjIuNzY2MiAzOC4xNTk4IDIzLjIzNDEgMzkuMzYwOCAyNC4xNDI2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zOS43NDY4IDExLjc2OTZDNDMuMDcwOSAxMi4xMzA3IDQ2LjEzMjkgMTMuNzQzMiA0OC4zMTEyIDE2LjI3OTlcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgUGFzc3BvcnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTcwLjc2IDcuNzZDNjguMzIgMS43NiA1Mi4xOCAxIDQyLjc4IDFDMzUuNDggMSAyNC4xNCAxLjQ4IDE4LjMwMDEgNC41QzE3LjI0MjEgNC4wMDgzMiAxNi4wODY2IDMuNzYyMiAxNC45MjAxIDMuNzhDMTIuMjQwMSAzLjc4IDguNjYwMDggNC44MiA3Ljk2MDA4IDEwLjM0QzcuMjYwMDggMTMuMSA2LjU4MDA4IDI3LjggNi41ODAwOCA0MEM2LjU4MDA4IDUyLjIgNy4yNjAwOCA2Ni45IDguMDAwMDggNjkuNjZDOC43MDAwOCA3NS4xOCAxMi4yODAxIDc2LjIyIDE0Ljk2MDEgNzYuMjJDMTYuMTI2NiA3Ni4yMzc4IDE3LjI4MjEgNzUuOTkxNiAxOC4zNDAxIDc1LjVDMjQuMTggNzguNTIgMzUuNTIgNzkgNDIuODIgNzlDNTIuMjIgNzkgNjguMzYgNzguMjQgNzAuODIgNzIuMjRDNzMuMjQgNjkuMjQgNzMuNDggNTMuMjQgNzMuNDggNDBDNzMuNDggMjYuNzYgNzMuMTggMTAuNzYgNzAuNzYgNy43NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI2LjA4IDQwQzI2LjA4IDQ0LjgwMDQgMjcuOTg3IDQ5LjQwNDIgMzEuMzgxNCA1Mi43OTg2QzM0Ljc3NTggNTYuMTkzIDM5LjM3OTYgNTguMSA0NC4xOCA1OC4xQzQ4Ljk4MDQgNTguMSA1My41ODQ0IDU2LjE5MyA1Ni45Nzg4IDUyLjc5ODZDNjAuMzczMiA0OS40MDQyIDYyLjI4IDQ0LjgwMDQgNjIuMjggNDBDNjIuMjggMzUuMTk5NiA2MC4zNzMyIDMwLjU5NTggNTYuOTc4OCAyNy4yMDE0QzUzLjU4NDQgMjMuODA3IDQ4Ljk4MDQgMjEuOSA0NC4xOCAyMS45QzM5LjM3OTYgMjEuOSAzNC43NzU4IDIzLjgwNyAzMS4zODE0IDI3LjIwMTRDMjcuOTg3IDMwLjU5NTggMjYuMDggMzUuMTk5NiAyNi4wOCA0MFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAuMyA1Mi45NEMzOC41OCA1MC43NCAzNy43MiA0Ni4wOCAzNy43MiA0MEMzNy43MiAzMy45MiAzOC41OCAyOS4yNiA0MC4zIDI3LjA2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OCAyNy4wNkM0OS43MiAyOS4yNiA1MC41OCAzMy45MiA1MC41OCA0MEM1MC41OCA0Ni4wOCA0OS43MiA1MC43NCA0OCA1Mi45NFwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuMTYwMiAzNS4yOEMzNi4xMzcgMzQuNzQyNiA0MC4xNDc2IDM0LjQ5NTIgNDQuMTYwMiAzNC41NEM0OC4xNzI4IDM0LjQ5MzYgNTIuMTgzNiAzNC43NDA4IDU2LjE2MDIgMzUuMjhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2LjE4MDIgNDQuNzJDNTIuMjAzNiA0NS4yNTkyIDQ4LjE5MjggNDUuNTA2NiA0NC4xODAyIDQ1LjQ2QzQwLjE2NzYgNDUuNTA0OCAzNi4xNTcgNDUuMjU3NiAzMi4xODAyIDQ0LjcyXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNy43MjAyIDE3LjcyQzE3LjE4MDIgMjUuMTQgMTcuMTgwMiA1NC44NiAxNy43MjAyIDYyLjI4VjE3LjcyWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE3LjcyMDIgMTcuNzJDMTcuMTgwMiAyNS4xNCAxNy4xODAyIDU0Ljg2IDE3LjcyMDIgNjIuMjhcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU3LjA0IDcuMzU5OThDNjQuNiA4LjQ3OTk4IDY1LjA0IDguNDE5OTggNjUuOTggMTIuMlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFBhc3N3b3JkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny4yMzQ2IDI5LjAyMTVDNDcuMzMyMSAyOS41NDggNDcuNjYzNiAzMS4zNjE1IDQ3Ljc4MDYgMzEuODQ5QzQ2LjY4MzkgMzIuMjI3MSA0NS42NzU1IDMyLjgyNDIgNDQuODE2NiAzMy42MDRDNDIuNDk2MSAzNS4yMDMgNDIuMzAxMSA0MS40MDQgNDMuMDgxMSA0NS43OTE1QzQzLjg2MTEgNTAuMTc5IDQ2LjE4MTYgNTUuOTEyIDQ4LjkzMTEgNTYuNjE0QzUwLjM5MzYgNTcuNTUgNTcuMjk2NiA1Ny41MTEgNjIuODM0NiA1Ni41MTY1QzY4LjM3MjYgNTUuNTIyIDc0Ljg2NjEgNTMuMjAxNSA3NS45MTkxIDUxLjgxN0M3OC4yMzk2IDUwLjIxOCA3OC40MzQ2IDQ0LjAxNyA3Ny42NTQ2IDM5LjY0OUM3Ni44NzQ2IDM1LjI4MSA3NC41NTQxIDI5LjUwOSA3MS44MDQ2IDI4LjgwN0M3MC43MjggMjguMzY5OCA2OS41NzMzIDI4LjE1NzUgNjguNDExNiAyOC4xODNDNjguNDExNiAyNy42NzYgNjguMDQxMSAyNS44NjI1IDY3Ljk0MzYgMjUuMzM2QzY3LjcxNTEgMjMuOTg5NCA2Ny4yMTQzIDIyLjcwMzYgNjYuNDcxOCAyMS41NTcyQzY1LjcyOTQgMjAuNDEwOCA2NC43NjA5IDE5LjQyNzkgNjMuNjI1NiAxOC42Njg2QzYyLjQ5MDMgMTcuOTA5MyA2MS4yMTIgMTcuMzg5NiA1OS44NjkgMTcuMTQxMkM1OC41MjYgMTYuODkyOCA1Ny4xNDY0IDE2LjkyMSA1NS44MTQ2IDE3LjIyNEM1NC40NTk1IDE3LjM5NzEgNTMuMTU0IDE3Ljg0NTMgNTEuOTc4NCAxOC41NDEzQzUwLjgwMjkgMTkuMjM3MiA0OS43ODIgMjAuMTY2MiA0OC45Nzg0IDIxLjI3MUM0OC4xNzQ5IDIyLjM3NTggNDcuNjA1NyAyMy42MzMzIDQ3LjMwNTggMjQuOTY2MUM0Ny4wMDYgMjYuMjk4OSA0Ni45ODE3IDI3LjY3OSA0Ny4yMzQ2IDI5LjAyMTVaTTYyLjA1NDYgMjguMzU4NUM2MC42NTUgMjguNDI0NSA1OS4yNjExIDI4LjU4MDggNTcuODgxNiAyOC44MjY1QzU2LjQ5ODIgMjkuMDc3MSA1NS4xMzA4IDI5LjQwOTIgNTMuNzg2NiAyOS44MjFDNTIuMTA5NiAyNi4zNSA1My41MTM2IDI0LjQgNTYuOTY1MSAyMy43MzdDNjAuNDE2NiAyMy4wNzQgNjIuNDY0MSAyNC41MzY1IDYyLjA1NDYgMjguM1YyOC4zNTg1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTYuODI4NiA0Mi43MTA1QzU2LjgyODYgNDMuMTcxNCA1Ni45MTk0IDQzLjYyNzkgNTcuMDk1OCA0NC4wNTM3QzU3LjI3MjIgNDQuNDc5NiA1Ny41MzA3IDQ0Ljg2NjUgNTcuODU2NyA0NS4xOTI0QzU4LjE4MjYgNDUuNTE4NCA1OC41Njk1IDQ1Ljc3NjkgNTguOTk1NCA0NS45NTMzQzU5LjQyMTIgNDYuMTI5NyA1OS44Nzc3IDQ2LjIyMDUgNjAuMzM4NiA0Ni4yMjA1QzYwLjc5OTYgNDYuMjIwNSA2MS4yNTYgNDYuMTI5NyA2MS42ODE4IDQ1Ljk1MzNDNjIuMTA3NyA0NS43NzY5IDYyLjQ5NDYgNDUuNTE4NCA2Mi44MjA2IDQ1LjE5MjRDNjMuMTQ2NSA0NC44NjY1IDYzLjQwNSA0NC40Nzk2IDYzLjU4MTQgNDQuMDUzN0M2My43NTc4IDQzLjYyNzkgNjMuODQ4NiA0My4xNzE0IDYzLjg0ODYgNDIuNzEwNUM2My44NDg2IDQyLjI0OTYgNjMuNzU3OCA0MS43OTMxIDYzLjU4MTQgNDEuMzY3M0M2My40MDUgNDAuOTQxNCA2My4xNDY1IDQwLjU1NDUgNjIuODIwNiA0MC4yMjg2QzYyLjQ5NDYgMzkuOTAyNiA2Mi4xMDc3IDM5LjY0NDEgNjEuNjgxOCAzOS40Njc3QzYxLjI1NiAzOS4yOTEzIDYwLjc5OTYgMzkuMjAwNSA2MC4zMzg2IDM5LjIwMDVDNTkuODc3NyAzOS4yMDA1IDU5LjQyMTIgMzkuMjkxMyA1OC45OTU0IDM5LjQ2NzdDNTguNTY5NSAzOS42NDQxIDU4LjE4MjYgMzkuOTAyNiA1Ny44NTY3IDQwLjIyODZDNTcuNTMwNyA0MC41NTQ1IDU3LjI3MjIgNDAuOTQxNCA1Ny4wOTU4IDQxLjM2NzNDNTYuOTE5NCA0MS43OTMxIDU2LjgyODYgNDIuMjQ5NiA1Ni44Mjg2IDQyLjcxMDVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3LjQzNjYgMzIuNTUxQzcwLjg4ODEgMzEuOTQ2NSA3MS41MTIxIDM1LjM5OCA3Mi4xMTY2IDM4Ljg0OTVcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzYuOTM4NiAzNi4zNTM1QzM1LjkzNSAzNC40NTE1IDM0LjY1MzQgMzIuNzA5OSAzMy4xMzYxIDMxLjE4NkMzMS43NTU0IDI5LjU1ODQgMzAuMTIyNiAyOC4xNjI3IDI4LjMwMDEgMjcuMDUyQzI3LjM1NiAyNi42OTY4IDI2LjMyMTkgMjYuNjU4OCAyNS4zNTQzIDI2Ljk0MzhDMjQuMzg2NyAyNy4yMjg4IDIzLjUzODMgMjcuODIxMiAyMi45Mzc2IDI4LjYzMTVDMjIuMDE4OCAzMC41NTc3IDIxLjQxMzIgMzIuNjE4IDIxLjE0MzYgMzQuNzM1QzIwLjY4MjMgMzYuODMzOSAyMC41NTcyIDM4Ljk5MjggMjAuNzczMSA0MS4xMzFDMjAuODMzNyA0MS43ODIxIDIxLjExMzcgNDIuMzkzNCAyMS41NjcyIDQyLjg2NDVDMjIuMDIwNyA0My4zMzU3IDIyLjYyMDcgNDMuNjM4OSAyMy4yNjkxIDQzLjcyNDVDMjMuODgxOSA0My45MTMyIDI0LjU0MjEgNDMuODc1MiAyNS4xMjkzIDQzLjYxNzVDMjUuNzE2NCA0My4zNTk3IDI2LjE5MTIgNDIuODk5NCAyNi40NjcxIDQyLjMyMDVDMjYuNzAyNCA0MS45MzQyIDI2Ljg5MjIgNDEuNTIyIDI3LjAzMjYgNDEuMDkyQzI3Ljc5MzEgNDAuOTE2NSAyOC41OTI2IDQwLjcwMiAyOS4zMzM2IDQwLjQ4NzVDMzAuMDc0NiA0MC4yNzMgMzAuODkzNiA0MCAzMS42MTUxIDM5LjcyN0MzMS45NjY2IDQwLjAyNSAzMi4zNjEgNDAuMjY4MiAzMi43ODUxIDQwLjQ0ODVDMzMuMzE3NyA0MC44MDI1IDMzLjk2MDQgNDAuOTUyMSAzNC41OTQ3IDQwLjg2OTdDMzUuMjI4OSA0MC43ODczIDM1LjgxMiA0MC40Nzg0IDM2LjIzNjYgNDBDMzYuNzY0IDM5LjU3MiAzNy4xMjM1IDM4Ljk3MTYgMzcuMjUxOSAzOC4zMDQ3QzM3LjM4MDMgMzcuNjM3NyAzNy4yNjk0IDM2Ljk0NjcgMzYuOTM4NiAzNi4zNTM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS4xNzc1IDM1LjE2NEMyOC43NDI4IDM1LjE5NTEgMjguMzExOSAzNS4yNjY5IDI3Ljg5MDUgMzUuMzc4NUMyNy40NzggMzUuNTA3IDI3LjA3OTUgMzUuNjc2OSAyNi43MDEgMzUuODg1NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI2Ljk3NCAzNS43Mjk1QzI2Ljk3NCAzNS43Mjk1IDI3LjkyOTUgMzUuNDU2NSAyNy4yODYgMzMuMjcyNUMyNy45Mjk1IDM1LjQ1NjUgMjguODY1NSAzNS4yMjI1IDI4Ljg2NTUgMzUuMjIyNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQxLjMyNiAxNS4wMDFDNDEuMjI5NiAxNC45MTQ2IDQxLjExNjkgMTQuODQ4MyA0MC45OTQ1IDE0LjgwNkM0MS43Mjk0IDEzLjk2OTMgNDIuMTkxOSAxMi45Mjg2IDQyLjMyMDUgMTEuODIyNUM0Mi44NDcgOC4yOTMgNDEuMTcgNi40Nzk1IDM2LjEgNS43Mzg1QzMwLjYyMDUgNC45MTk1IDMwLjI1IDUuNTQzNSAyOS40MzEgNy4zMThDMjguNjQwNSA5LjE4NDMyIDI4LjEyMTcgMTEuMTU0NCAyNy44OTA1IDEzLjE2OEMyNy41MzUxIDE1LjE2OTUgMjcuNDYyOSAxNy4yMTA5IDI3LjY3NiAxOS4yMzI1QzI3Ljk4OCAyMS4xODI1IDI3Ljc3MzUgMjEuODA2NSAzMy42MjM1IDIyLjY2NDVDMzguNjM1IDIzLjM4NiA0MS43NzQ1IDIyLjUyOCA0Mi4zMjA1IDE4Ljc2NDVDNDIuNTM1IDE3LjM4IDQyLjI4MTUgMTUuNTA4IDQxLjMyNiAxNS4wMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMzLjM1MDUgMTAuNzVDMzMuNjg3OSAxMC45MTM2IDM0LjA1MDUgMTEuMDE5IDM0LjQyMyAxMS4wNjJDMzQuNzkwNyAxMS4xMjU3IDM1LjE2NjcgMTEuMTI1NyAzNS41MzQ1IDExLjA2MlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuODI0IDE3LjEyNjVDMzMuMzIxOCAxNy4zMzY2IDMzLjg0NzEgMTcuNDc0NSAzNC4zODQgMTcuNTM2QzM0LjkyMDEgMTcuNjIxNyAzNS40NjY0IDE3LjYyMTcgMzYuMDAyNSAxNy41MzZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE2LjQwNTEgNTEuNDA3NUMxMy44MTE2IDUyLjMyNCAxMi4zNDkxIDU3LjU1IDEyLjIxMjYgNjEuNDVDMTIuMDc2MSA2NS4zNSAxMy4xNDg2IDcwLjY5MyAxNS42NjQxIDcxLjgwNDVDMTYuODkyNiA3Mi44NzcgMjguOTA0NiA3NC4zMzk1IDM0LjU0MDEgNzQuNTM0NUM0MC4xNzU2IDc0LjcyOTUgNTIuMjQ2MSA3NC4xNDQ1IDUzLjU1MjYgNzMuMTY5NUM1Ni4xNDYxIDcyLjI1MyA1Ny42MDg2IDY3LjA0NjUgNTcuNzQ1MSA2My4wODhDNTcuODgxNiA1OS4xMjk1IDU2LjgwOTEgNTMuODQ1IDU0LjI5MzYgNTIuNzMzNUM1My4wNjUxIDUxLjY2MSA0MS4wNTMxIDUwLjIxOCAzNS40MTc2IDUwLjAwMzVDMjkuNzgyMSA0OS43ODkgMTcuNzExNiA1MC40MzI1IDE2LjQwNTEgNTEuNDA3NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjIxMyA2MS44NTk1QzE5LjIxMyA2Mi43OTA0IDE5LjU4MjggNjMuNjgzMiAyMC4yNDExIDY0LjM0MTRDMjAuODk5MyA2NC45OTk3IDIxLjc5MjEgNjUuMzY5NSAyMi43MjMgNjUuMzY5NUMyMy42NTM5IDY1LjM2OTUgMjQuNTQ2NyA2NC45OTk3IDI1LjIwNSA2NC4zNDE0QzI1Ljg2MzIgNjMuNjgzMiAyNi4yMzMgNjIuNzkwNCAyNi4yMzMgNjEuODU5NUMyNi4yMzMgNjAuOTI4NiAyNS44NjMyIDYwLjAzNTggMjUuMjA1IDU5LjM3NzZDMjQuNTQ2NyA1OC43MTkzIDIzLjY1MzkgNTguMzQ5NSAyMi43MjMgNTguMzQ5NUMyMS43OTIxIDU4LjM0OTUgMjAuODk5MyA1OC43MTkzIDIwLjI0MTEgNTkuMzc3NkMxOS41ODI4IDYwLjAzNTggMTkuMjEzIDYwLjkyODYgMTkuMjEzIDYxLjg1OTVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTMxLjQ1OTEgNjIuMzA4QzMxLjQ1OTEgNjMuMjM4OSAzMS44Mjg5IDY0LjEzMTcgMzIuNDg3MiA2NC43ODk5QzMzLjE0NTQgNjUuNDQ4MiAzNC4wMzgyIDY1LjgxOCAzNC45NjkxIDY1LjgxOEMzNS45IDY1LjgxOCAzNi43OTI4IDY1LjQ0ODIgMzcuNDUxIDY0Ljc4OTlDMzguMTA5MyA2NC4xMzE3IDM4LjQ3OTEgNjMuMjM4OSAzOC40NzkxIDYyLjMwOEMzOC40NzkxIDYxLjM3NzEgMzguMTA5MyA2MC40ODQzIDM3LjQ1MSA1OS44MjZDMzYuNzkyOCA1OS4xNjc4IDM1LjkgNTguNzk4IDM0Ljk2OTEgNTguNzk4QzM0LjAzODIgNTguNzk4IDMzLjE0NTQgNTkuMTY3OCAzMi40ODcyIDU5LjgyNkMzMS44Mjg5IDYwLjQ4NDMgMzEuNDU5MSA2MS4zNzcxIDMxLjQ1OTEgNjIuMzA4WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My43MjQ2IDYyLjc1NjVDNDMuNzI0NiA2My42ODc0IDQ0LjA5NDQgNjQuNTgwMiA0NC43NTI3IDY1LjIzODRDNDUuNDEwOSA2NS44OTY3IDQ2LjMwMzcgNjYuMjY2NSA0Ny4yMzQ2IDY2LjI2NjVDNDguMTY1NSA2Ni4yNjY1IDQ5LjA1ODMgNjUuODk2NyA0OS43MTY2IDY1LjIzODRDNTAuMzc0OCA2NC41ODAyIDUwLjc0NDYgNjMuNjg3NCA1MC43NDQ2IDYyLjc1NjVDNTAuNzQ0NiA2Mi4yOTU2IDUwLjY1MzggNjEuODM5MSA1MC40Nzc0IDYxLjQxMzNDNTAuMzAxIDYwLjk4NzQgNTAuMDQyNSA2MC42MDA1IDQ5LjcxNjYgNjAuMjc0NUM0OS4zOTA2IDU5Ljk0ODYgNDkuMDAzNyA1OS42OTAxIDQ4LjU3NzggNTkuNTEzN0M0OC4xNTIgNTkuMzM3MyA0Ny42OTU2IDU5LjI0NjUgNDcuMjM0NiA1OS4yNDY1QzQ2Ljc3MzcgNTkuMjQ2NSA0Ni4zMTcyIDU5LjMzNzMgNDUuODkxNCA1OS41MTM3QzQ1LjQ2NTUgNTkuNjkwMSA0NS4wNzg2IDU5Ljk0ODYgNDQuNzUyNyA2MC4yNzQ1QzQ0LjQyNjcgNjAuNjAwNSA0NC4xNjgyIDYwLjk4NzQgNDMuOTkxOCA2MS40MTMzQzQzLjgxNTQgNjEuODM5MSA0My43MjQ2IDYyLjI5NTYgNDMuNzI0NiA2Mi43NTY1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS4zNzk1IDU1LjE5MDVDNTMuMjc5NSA1NS43OTUgNTIuNzMzNSA1NS43NzU1IDUzLjM5NjUgNTcuOTAxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny44MTk2IDkuMzI2NUM0Ny44MTk2IDkuNzYxODMgNDcuOTA1MyAxMC4xOTI5IDQ4LjA3MTkgMTAuNTk1MUM0OC4yMzg1IDEwLjk5NzMgNDguNDgyNyAxMS4zNjI3IDQ4Ljc5MDUgMTEuNjcwNkM0OS4wOTgzIDExLjk3ODQgNDkuNDYzOCAxMi4yMjI2IDQ5Ljg2NiAxMi4zODkyQzUwLjI2ODIgMTIuNTU1OCA1MC42OTkyIDEyLjY0MTUgNTEuMTM0NiAxMi42NDE1QzUxLjU2OTkgMTIuNjQxNSA1Mi4wMDEgMTIuNTU1OCA1Mi40MDMyIDEyLjM4OTJDNTIuODA1NCAxMi4yMjI2IDUzLjE3MDggMTEuOTc4NCA1My40Nzg2IDExLjY3MDZDNTMuNzg2NSAxMS4zNjI3IDU0LjAzMDYgMTAuOTk3MyA1NC4xOTcyIDEwLjU5NTFDNTQuMzYzOCAxMC4xOTI5IDU0LjQ0OTYgOS43NjE4MyA1NC40NDk2IDkuMzI2NUM1NC40NDk2IDguODkxMTcgNTQuMzYzOCA4LjQ2MDEgNTQuMTk3MiA4LjA1NzkxQzU0LjAzMDYgNy42NTU3MSA1My43ODY1IDcuMjkwMjcgNTMuNDc4NiA2Ljk4MjQ0QzUzLjE3MDggNi42NzQ2MiA1Mi44MDU0IDYuNDMwNDQgNTIuNDAzMiA2LjI2Mzg0QzUyLjAwMSA2LjA5NzI1IDUxLjU2OTkgNi4wMTE1IDUxLjEzNDYgNi4wMTE1QzUwLjY5OTIgNi4wMTE1IDUwLjI2ODIgNi4wOTcyNSA0OS44NjYgNi4yNjM4NEM0OS40NjM4IDYuNDMwNDQgNDkuMDk4MyA2LjY3NDYyIDQ4Ljc5MDUgNi45ODI0NEM0OC40ODI3IDcuMjkwMjcgNDguMjM4NSA3LjY1NTcxIDQ4LjA3MTkgOC4wNTc5MUM0Ny45MDUzIDguNDYwMSA0Ny44MTk2IDguODkxMTcgNDcuODE5NiA5LjMyNjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEyLjU0NCA0MS43MTZDMTMuMDgxNyA0MC4xOTMgMTMuNTE4MSAzOC42MzYxIDEzLjg1MDUgMzcuMDU1NUMxNC40MDcyIDM0LjkyMzQgMTQuNjc2MSAzMi43MjY0IDE0LjY1IDMwLjUyM0MxNC41NDkgMjkuODQ0NiAxNC4yMzYzIDI5LjIxNTQgMTMuNzU2NiAyOC43MjUyQzEzLjI3NjkgMjguMjM1IDEyLjY1NDYgMjcuOTA4NyAxMS45Nzg1IDI3Ljc5M0MxMC41MTYgMjcuNDgxIDEwLjAyODUgMjYuOTkzNSA2LjczMzA1IDI4LjY1MUM1LjYwMTEyIDI5LjEzOTQgNC41Njk2NiAyOS44MzM3IDMuNjkxMDUgMzAuNjk4NUMzLjA4NjU1IDMxLjI0NDUgMy4zMDEwNSAzMi41MzE1IDMuNjkxMDUgMzMuMzUwNUM0LjA4MTA1IDM0LjE2OTUgNC45NzgwNSAzNS4xMjUgNS43Nzc1NSAzNC45ODg1QzYuMDE1MzEgMzQuOTk0OCA2LjI1MjQ5IDM0Ljk2MTggNi40Nzk1NSAzNC44OTFMNi4zNjI1NSAzNS4zOThDNi4wMTA3NCAzNi45ODY0IDUuNzU2NzcgMzguNTk1IDUuNjAyMDUgNDAuMjE0NUMzLjgyNzU1IDM5Ljk4MDUgMi4zNjUwNSA0MC4yMTQ1IDIuMDE0MDUgNDEuODEzNUMxLjkxNTk4IDQyLjMxMDggMS45OTIzOCA0Mi44MjY4IDIuMjMwMzcgNDMuMjc0M0MyLjQ2ODM2IDQzLjcyMTkgMi44NTMzOSA0NC4wNzM3IDMuMzIwNTUgNDQuMjcwNUM0Ljg0ODYzIDQ0Ljg3NDcgNi40MzcyNyA0NS4zMTI3IDguMDU5MDUgNDUuNTc3QzkuNjQ0MzEgNDYuMDE2MyAxMS4yNzIxIDQ2LjI4NDMgMTIuOTE0NSA0Ni4zNzY1QzEzLjQyIDQ2LjM4NjQgMTMuOTEzNyA0Ni4yMjM4IDE0LjMxNDMgNDUuOTE1NEMxNC43MTQ5IDQ1LjYwNjkgMTQuOTk4NCA0NS4xNzEyIDE1LjExOCA0NC42OEMxNS40ODg1IDQzLjA2MTUgMTQuMjYgNDIuMjYyIDEyLjU0NCA0MS43MTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgUGluID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk05LjU4NDcyIDMyLjM5NTFDOS41ODQ3MiA1NS4yMTAxIDM3LjQ2OTcgNzguMDI1MSA0MC4wMDQ3IDc4LjAyNTFDNDIuNTM5NyA3OC4wMjUxIDcwLjQyNDcgNTUuMjEwMSA3MC40MjQ3IDMyLjM5NTFDNzAuNDI0NyAxNC4xNDMxIDYwLjI4NDcgMS45NzUxIDQwLjAwNDcgMS45NzUxQzE5LjcyNDcgMS45NzUxIDkuNTg0NzIgMTQuMTQzMSA5LjU4NDcyIDMyLjM5NTFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00Ny4xNzU4IDcuODA1NTRDNTAuNzM4NSA4LjM0MjUgNTQuMDgxMSA5Ljg2MTg1IDU2LjgyODMgMTIuMTkzXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNy4zMzIgMzIuMzk1MUMyNy4zMzIgMzUuNzU2NyAyOC42Njc0IDM4Ljk4MDYgMzEuMDQ0NSA0MS4zNTc3QzMzLjQyMTUgNDMuNzM0NyAzNi42NDU0IDQ1LjA3MDEgNDAuMDA3IDQ1LjA3MDFDNDMuMzY4NiA0NS4wNzAxIDQ2LjU5MjYgNDMuNzM0NyA0OC45Njk2IDQxLjM1NzdDNTEuMzQ2NiAzOC45ODA2IDUyLjY4MiAzNS43NTY3IDUyLjY4MiAzMi4zOTUxQzUyLjY4MiAyOS4wMzM1IDUxLjM0NjYgMjUuODA5NSA0OC45Njk2IDIzLjQzMjVDNDYuNTkyNiAyMS4wNTU1IDQzLjM2ODYgMTkuNzIwMSA0MC4wMDcgMTkuNzIwMUMzNi42NDU0IDE5LjcyMDEgMzMuNDIxNSAyMS4wNTU1IDMxLjA0NDUgMjMuNDMyNUMyOC42Njc0IDI1LjgwOTUgMjcuMzMyIDI5LjAzMzUgMjcuMzMyIDMyLjM5NTFaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgU2VhcmNoID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMC41NDI0IDI3LjE4NzJDMjguNTkyNCA0Mi4yODAyIDQ1LjAxMTQgNTkuNzkxMiA0Ni42ODg0IDYwLjAyNTJDNDguMzY1NCA2MC4yNTkyIDY4LjgwMTQgNDcuNTg0MiA3MC43OTA0IDMyLjQ5MTJDNzIuMzg5NCAyMC40MjA3IDY2LjczNDQgMTEuNDg5NyA1My4yNDA0IDkuNzE1MjFDMzkuNzQ2NCA3Ljk0MDcxIDMyLjE0MTQgMTUuMTE2NyAzMC41NDI0IDI3LjE4NzJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01Ny41NDk4IDE0LjIwMDJDNTkuODYwNyAxNC44NjYyIDYxLjk0MDQgMTYuMTYyNiA2My41NTU4IDE3Ljk0NDJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQyLjIwMzEgMjkuODM5QzQyLjIwMzEgMzIuMDgzNSA0My4wOTQ4IDM0LjIzNjEgNDQuNjgxOSAzNS44MjMyQzQ2LjI2OSAzNy40MTAzIDQ4LjQyMTYgMzguMzAyIDUwLjY2NjEgMzguMzAyQzUyLjkxMDcgMzguMzAyIDU1LjA2MzMgMzcuNDEwMyA1Ni42NTA0IDM1LjgyMzJDNTguMjM3NSAzNC4yMzYxIDU5LjEyOTEgMzIuMDgzNSA1OS4xMjkxIDI5LjgzOUM1OS4xMjkxIDI3LjU5NDUgNTguMjM3NSAyNS40NDE5IDU2LjY1MDQgMjMuODU0N0M1NS4wNjMzIDIyLjI2NzYgNTIuOTEwNyAyMS4zNzYgNTAuNjY2MSAyMS4zNzZDNDguNDIxNiAyMS4zNzYgNDYuMjY5IDIyLjI2NzYgNDQuNjgxOSAyMy44NTQ3QzQzLjA5NDggMjUuNDQxOSA0Mi4yMDMxIDI3LjU5NDUgNDIuMjAzMSAyOS44MzlaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIzLjY5MjUgMTMuOTk3OEMyNC44MTAzIDE0LjYxNjEgMjYuMDA1NiAxNC45ODYyIDI3LjAxNTUgMTUuMDI2NkMyOC4wMjU0IDE1LjA2NyAyOC43NjcxIDE0Ljc3NDUgMjkuMDc3NiAxNC4yMTMzQzI5LjM4OCAxMy42NTIxIDI5LjI0MTYgMTIuODY4MyAyOC42NzA3IDEyLjAzNDNDMjguMDk5OCAxMS4yMDAzIDI3LjE1MTEgMTAuMzg0NCAyNi4wMzMzIDkuNzY2MDVDMjQuOTE1NSA5LjE0NzcyIDIzLjcyMDIgOC43Nzc2NCAyMi43MTAzIDguNzM3MjFDMjIuMjEwMyA4LjcxNzIgMjEuNzcwOCA4Ljc3ODcyIDIxLjQxNyA4LjkxODI2QzIxLjA2MzIgOS4wNTc4IDIwLjgwMiA5LjI3MjYzIDIwLjY0ODMgOS41NTA0OUMyMC40OTQ2IDkuODI4MzUgMjAuNDUxNCAxMC4xNjM4IDIwLjUyMTIgMTAuNTM3N0MyMC41OTEgMTAuOTExNSAyMC43NzI0IDExLjMxNjUgMjEuMDU1MSAxMS43Mjk1QzIxLjYyNiAxMi41NjM1IDIyLjU3NDcgMTMuMzc5NCAyMy42OTI1IDEzLjk5NzhaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjYzNyA3LjQ3NzMyQzMwLjI4ODUgOC41NzU5IDMxLjEzMjQgOS40OTk1NSAzMS45ODMgMTAuMDQ1MUMzMi44MzM2IDEwLjU5MDYgMzMuNjIxNCAxMC43MTM0IDM0LjE3MjkgMTAuMzg2M0MzNC43MjQ0IDEwLjA1OTMgMzQuOTk0NSA5LjMwOTIgMzQuOTIzOCA4LjMwMTEyQzM0Ljg1MzEgNy4yOTMwNCAzNC40NDc0IDYuMTA5NTQgMzMuNzk2IDUuMDEwOTZDMzMuMTQ0NSAzLjkxMjM4IDMyLjMwMDYgMi45ODg3MiAzMS40NDk5IDIuNDQzMThDMzAuNTk5MyAxLjg5NzYzIDI5LjgxMTYgMS43NzQ4OSAyOS4yNjAxIDIuMTAxOTVDMjguNzA4NSAyLjQyOTAxIDI4LjQzODQgMy4xNzkwOCAyOC41MDkxIDQuMTg3MTZDMjguNTc5OCA1LjE5NTI0IDI4Ljk4NTUgNi4zNzg3NCAyOS42MzcgNy40NzczMlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTguMjQxOSAyMS4yMzQ4QzE4LjI1MyAyMS41NTIyIDE4LjM4ODQgMjEuODYyMSAxOC42NDA1IDIyLjE0NjhDMTguODkyNiAyMi40MzE2IDE5LjI1NjQgMjIuNjg1NyAxOS43MTEyIDIyLjg5NDZDMjAuMTY2IDIzLjEwMzQgMjAuNzAyOCAyMy4yNjMgMjEuMjkxIDIzLjM2NDJDMjEuODc5MyAyMy40NjUzIDIyLjUwNzQgMjMuNTA2MSAyMy4xMzk1IDIzLjQ4NDFDMjMuNzcxNiAyMy40NjIxIDI0LjM5NTQgMjMuMzc3OSAyNC45NzUyIDIzLjIzNjJDMjUuNTU1IDIzLjA5NDQgMjYuMDc5NSAyMi44OTggMjYuNTE4NiAyMi42NThDMjYuOTU3OCAyMi40MTgxIDI3LjMwMzEgMjIuMTM5NCAyNy41MzQ5IDIxLjgzNzhDMjcuNzY2NiAyMS41MzYyIDI3Ljg4MDIgMjEuMjE3NiAyNy44NjkxIDIwLjkwMDNDMjcuODU4MSAyMC41ODMgMjcuNzIyNyAyMC4yNzMgMjcuNDcwNiAxOS45ODgzQzI3LjIxODUgMTkuNzAzNSAyNi44NTQ3IDE5LjQ0OTQgMjYuMzk5OSAxOS4yNDA1QzI1Ljk0NTEgMTkuMDMxNyAyNS40MDgzIDE4Ljg3MjEgMjQuODIwMSAxOC43NzA5QzI0LjIzMTggMTguNjY5OCAyMy42MDM3IDE4LjYyOSAyMi45NzE2IDE4LjY1MUMyMi4zMzk0IDE4LjY3MyAyMS43MTU3IDE4Ljc1NzIgMjEuMTM1OSAxOC44OTlDMjAuNTU2MSAxOS4wNDA3IDIwLjAzMTYgMTkuMjM3MSAxOS41OTI0IDE5LjQ3NzFDMTkuMTUzMiAxOS43MTcgMTguODA3OSAxOS45OTU3IDE4LjU3NjIgMjAuMjk3M0MxOC4zNDQ1IDIwLjU5ODkgMTguMjMwOSAyMC45MTc1IDE4LjI0MTkgMjEuMjM0OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzUuNDE3NSAzNy43NTc1QzI2LjcyMDUgMzAuMTEzNSAxNi42NTg1IDI5Ljg0MDUgOC4xMTc1MSAzOS41MTI1Qy0wLjQyMzQ4OSA0OS4xODQ1IDEuMTU2MDEgNTkuMTI5NSA5Ljg3MjUxIDY2LjgxMjVDMTcuMzIxNSA3My4zODQgMjUuNzY1IDc0LjQ5NTUgMzMuMzg5NSA2OC42MDY1QzM0LjE1IDY5LjYwMSAzNS4wNjY1IDcwLjcxMjUgMzYuMTk3NSA3MS45NjA1QzQ0LjM4NzUgODEuMDY3IDQ3LjI5MyA3Ny44MTA1IDQ5LjIwNCA3NS43MDQ1QzUxLjExNSA3My41OTg1IDUzLjg4NCA3MC4yNjQgNDMuODAyNSA2My4zMDI1QzQyLjQzNzUgNjIuMzQ3IDQxLjIyODUgNjEuNTY3IDQwLjEzNjUgNjAuOTQzQzQ1LjA3IDUyLjU3NzUgNDIuODg2IDQ0LjMyOSAzNS40MTc1IDM3Ljc1NzVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMC41MzU2IDUyLjI2NTVDMTAuNTM1NiA1My44NTgzIDEwLjg0OTQgNTUuNDM1NSAxMS40NTg5IDU2LjkwNzFDMTIuMDY4NCA1OC4zNzg2IDEyLjk2MTkgNTkuNzE1NyAxNC4wODgxIDYwLjg0MkMxNS4yMTQ0IDYxLjk2ODMgMTYuNTUxNSA2Mi44NjE3IDE4LjAyMzEgNjMuNDcxMkMxOS40OTQ2IDY0LjA4MDggMjEuMDcxOCA2NC4zOTQ1IDIyLjY2NDYgNjQuMzk0NUMyNC4yNTc0IDY0LjM5NDUgMjUuODM0NyA2NC4wODA4IDI3LjMwNjIgNjMuNDcxMkMyOC43Nzc4IDYyLjg2MTcgMzAuMTE0OSA2MS45NjgzIDMxLjI0MTEgNjAuODQyQzMyLjM2NzQgNTkuNzE1NyAzMy4yNjA4IDU4LjM3ODYgMzMuODcwNCA1Ni45MDcxQzM0LjQ3OTkgNTUuNDM1NSAzNC43OTM2IDUzLjg1ODMgMzQuNzkzNiA1Mi4yNjU1QzM0Ljc5MzYgNDkuMDQ4NyAzMy41MTU4IDQ1Ljk2MzYgMzEuMjQxMSA0My42ODlDMjguOTY2NSA0MS40MTQ0IDI1Ljg4MTUgNDAuMTM2NSAyMi42NjQ2IDQwLjEzNjVDMTkuNDQ3OCA0MC4xMzY1IDE2LjM2MjggNDEuNDE0NCAxNC4wODgxIDQzLjY4OUMxMS44MTM1IDQ1Ljk2MzYgMTAuNTM1NiA0OS4wNDg3IDEwLjUzNTYgNTIuMjY1NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTkuMzY5MSA0NS4wN0MyMC4xMTE0IDQ0LjM0MDUgMjEuMDgwOCA0My44ODY3IDIyLjExNjUgNDMuNzgzOUMyMy4xNTIxIDQzLjY4MSAyNC4xOTE5IDQzLjkzNTMgMjUuMDYzMSA0NC41MDQ1XCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTkuMzY5MSA0NS4wN0MyMC4xMTE0IDQ0LjM0MDUgMjEuMDgwOCA0My44ODY3IDIyLjExNjUgNDMuNzgzOUMyMy4xNTIxIDQzLjY4MSAyNC4xOTE5IDQzLjkzNTMgMjUuMDYzMSA0NC41MDQ1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNC43NzA1IDM1Ljk0NEMyNy4wNzg1IDM2LjA0MzMgMjkuMjYxNSAzNy4wMTk3IDMwLjg3NCAzOC42NzRcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgU2V0dGluZyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjkuNDIgNDUuOEM3MC4xOTMgNDEuOTcyIDcwLjE5MyAzOC4wMjggNjkuNDIgMzQuMkM3Ni44NCAyNy41OCA3Ni4wNCAyNC40MiA3My43OCAyMC41QzcxLjUyIDE2LjU4IDY5LjE2IDE0LjMyIDU5Ljc4IDE3LjQyQzU2Ljg1NDYgMTQuODYwOSA1My40NTc4IDEyLjg5NzUgNDkuNzggMTEuNjRDNDcuNjYgMS44OCA0NC41MiAxIDQwIDFDMzUuNDggMSAzMi4zNCAxLjg0IDMwLjMgMTEuNjRDMjYuNjIyMiAxMi44OTc1IDIzLjIyNTQgMTQuODYwOSAyMC4zIDE3LjQyQzEwLjg4IDE0LjMyIDguNTQwMDIgMTYuNTQgNi4zMDAwMiAyMC41QzQuMDYwMDIgMjQuNDYgMy4xMjAwMiAyNy41NCAxMC41OCAzNC4yQzkuODA2NDIgMzguMDI4IDkuODA2NDIgNDEuOTcyIDEwLjU4IDQ1LjhDMy4xNjAwMiA1Mi40MiA0LjAwMDAyIDU1LjU4IDYuMjIwMDIgNTkuNUM4LjQ0MDAyIDYzLjQyIDEwLjg0IDY1LjY4IDIwLjIyIDYyLjU4QzIzLjE0NTQgNjUuMTM5MiAyNi41NDIyIDY3LjEwMjYgMzAuMjIgNjguMzZDMzIuMjIgNzguMTIgMzUuNCA3OSAzOS45MiA3OUM0NC40NCA3OSA0Ny41OCA3OC4xNiA0OS42MiA2OC4zNkM1My4yOTc4IDY3LjEwMjYgNTYuNjk0NiA2NS4xMzkyIDU5LjYyIDYyLjU4QzY5LjA0IDY1LjY4IDcxLjM4IDYzLjQ2IDczLjYyIDU5LjVDNzUuODYgNTUuNTQgNzYuODggNTIuNDYgNjkuNDIgNDUuOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI1LjI2IDQwQzI1LjI2IDQzLjkwOTIgMjYuODEzIDQ3LjY1ODQgMjkuNTc3MiA1MC40MjI4QzMyLjM0MTYgNTMuMTg3IDM2LjA5MDggNTQuNzQgNDAgNTQuNzRDNDMuOTA5MiA1NC43NCA0Ny42NTg0IDUzLjE4NyA1MC40MjI4IDUwLjQyMjhDNTMuMTg3IDQ3LjY1ODQgNTQuNzQgNDMuOTA5MiA1NC43NCA0MEM1NC43NCAzNi4wOTA4IDUzLjE4NyAzMi4zNDE2IDUwLjQyMjggMjkuNTc3MkM0Ny42NTg0IDI2LjgxMyA0My45MDkyIDI1LjI2IDQwIDI1LjI2QzM2LjA5MDggMjUuMjYgMzIuMzQxNiAyNi44MTMgMjkuNTc3MiAyOS41NzcyQzI2LjgxMyAzMi4zNDE2IDI1LjI2IDM2LjA5MDggMjUuMjYgNDBaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjMjMxRjIwXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjI2IDE4LjM4QzUzLjM0ODQgMTkuNjYyOSA1Ni4xMzQ2IDIxLjU3NzIgNTguNDQgMjRDNTkuNTAwNCAyMy41NjY4IDYwLjU5ODQgMjMuMjMyIDYxLjcyIDIzXCJcbiAgICAgICAgZmlsbD1cIiNGRkZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFN0YXIgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc1LjU2OCAyNy45ODhDNzEuNzYzNyAyNi4xODk2IDY3Ljc0NzQgMjQuODc5MiA2My42MTQ1IDI0LjA4OEM2MC41MDc0IDIzLjQ3NDIgNTcuMzU5NCAyMy4wODk3IDU0LjE5NiAyMi45Mzc1QzUzLjEwNiAyMC4xNjg4IDUxLjgwMjEgMTcuNDg5MiA1MC4yOTYgMTQuOTIzQzQ4LjI5NDcgMTEuMjI1IDQ1LjgzODEgNy43OTIzMiA0Mi45ODM1IDQuNzA1MDJDNDIuMDkwNiAzLjg2NzM1IDQwLjkxMjMgMy40MDExMiAzOS42ODggMy40MDExMkMzOC40NjM3IDMuNDAxMTIgMzcuMjg1MyAzLjg2NzM1IDM2LjM5MjUgNC43MDUwMkMzMy41Mzc4IDcuODIwNzcgMzEuMDgxNCAxMS4yNzkzIDI5LjA4IDE1LjAwMUMyNy42NDQgMTcuNTk5OCAyNi4zODAzIDIwLjI5MDEgMjUuMjk3IDIzLjA1NDVDMjIuMzA2MyAyMy4yMTY1IDE5LjMzMzEgMjMuNjE0MyAxNi40MDUgMjQuMjQ0QzEyLjI3MjYgMjUuMDEzNCA4LjI1MTA3IDI2LjI5MDYgNC40MzE5NyAyOC4wNDY1QzMuMzc4NzQgMjguNjU3OSAyLjU5MzcgMjkuNjQyNyAyLjIzMjUxIDMwLjgwNThDMS44NzEzMiAzMS45Njg4IDEuOTYwMzYgMzMuMjI1MSAyLjQ4MTk3IDM0LjMyNTVDNC41Mjk2MSAzNy45OTM4IDcuMDI1MjQgNDEuMzkzNCA5LjkxMTQ3IDQ0LjQ0NkMxMS45NzM4IDQ2LjY0NTYgMTQuMTc1MyA0OC43MTAzIDE2LjUwMjUgNTAuNjI3NUMxNS42MiA1My43MjIzIDE1LjAwMDMgNTYuODg2IDE0LjY1IDYwLjA4NUMxNC4xMjgzIDY0LjI0ODIgMTQuMTI4MyA2OC40NjAzIDE0LjY1IDcyLjYyMzVDMTQuODc4NSA3My44MzA3IDE1LjU1OCA3NC45MDU2IDE2LjU1MDQgNzUuNjI5OUMxNy41NDI3IDc2LjM1NDMgMTguNzczNiA3Ni42NzM4IDE5Ljk5MyA3Ni41MjM1QzI0LjExMDIgNzUuNzIwMyAyOC4xMTIyIDc0LjQxMDMgMzEuOTA3NSA3Mi42MjM1QzM0LjU5NDcgNzEuMzQzNSAzNy4xOTk3IDY5Ljg5NzggMzkuNzA3NSA2OC4yOTQ1QzQyLjIxMDMgNjkuOTA2MSA0NC44MTU4IDcxLjM1MjIgNDcuNTA3NSA3Mi42MjM1QzUxLjMwMTcgNzQuNDEyOSA1NS4zMDQgNzUuNzIzIDU5LjQyMiA3Ni41MjM1QzYwLjY0MTQgNzYuNjczOCA2MS44NzIyIDc2LjM1NDMgNjIuODY0NiA3NS42Mjk5QzYzLjg1NjkgNzQuOTA1NiA2NC41MzY0IDczLjgzMDcgNjQuNzY1IDcyLjYyMzVDNjUuMjg2NiA2OC40NjAzIDY1LjI4NjYgNjQuMjQ4MiA2NC43NjUgNjAuMDg1QzY0LjQ0MzMgNTcuMDIzNCA2My44ODI2IDUzLjk5MTcgNjMuMDg4IDUxLjAxNzVDNjUuNjM4NyA0OS4wMTM4IDY4LjAwNzQgNDYuNzg4NyA3MC4xNjY1IDQ0LjM2OEM3My4wNTAzIDQxLjMwODggNzUuNTUxNiAzNy45MTAzIDc3LjYxNTUgMzQuMjQ3NUM3OC4xMzI3IDMzLjEzOTIgNzguMjA5IDMxLjg3NTYgNzcuODI4NyAzMC43MTMyQzc3LjQ0ODUgMjkuNTUwNyA3Ni42NDAyIDI4LjU3NjQgNzUuNTY4IDI3Ljk4OFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQyLjk2MzkgMTIuMzg4MUM0NC44MzQ3IDE1LjAwNDkgNDYuNDUzOSAxNy43OTI4IDQ3Ljc5OTkgMjAuNzE0NlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQWRkID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NC43MTAxIDI2LjUyNTVDNzIuODc3MSAyNS4wMDQ1IDY0Ljc0NTYgMjQuMzAyNSA1Ni4wMjkxIDIzLjk3MUM1NS42OTc2IDE1LjI1NDUgNTQuOTk1NiA3LjEyMjk4IDUzLjQ3NDYgNS4yODk5OEM1Mi4yMDcxIDIuMjY3NDggNDUuNTM4MSAxLjk3NDk4IDQwLjAwMDEgMS45NzQ5OEMzNC40NjIxIDEuOTc0OTggMjcuNzczNiAyLjI2NzQ4IDI2LjUyNTYgNS4yODk5OEMyNS4wMDQ2IDcuMTIyOTggMjQuMjgzMSAxNS4yNTQ1IDIzLjk3MTEgMjMuOTcxQzE1LjI1NDYgMjQuMzAyNSA3LjEyMzEgMjUuMDA0NSA1LjI5MDEgMjYuNTI1NUMyLjI2NzYgMjcuNzkzIDEuOTc1MSAzNC40NjIgMS45NzUxIDQwQzEuOTc1MSA0NS41MzggMi4yNjc2IDUyLjIwNyA1LjI5MDEgNTMuNDc0NUM3LjEyMzEgNTQuOTk1NSAxNS4yNTQ2IDU1LjY5NzUgMjMuOTcxMSA1Ni4wMjlDMjQuMjgzMSA2NC43NDU1IDI1LjAwNDYgNzIuODc3IDI2LjUyNTYgNzQuNzFDMjcuNzczNiA3Ny43MzI1IDM0LjQ2MjEgNzguMDI1IDQwLjAwMDEgNzguMDI1QzQ1LjUzODEgNzguMDI1IDUyLjIwNzEgNzcuNzMyNSA1My40NzQ2IDc0LjcxQzU0Ljk5NTYgNzIuODc3IDU1LjY5NzYgNjQuNzQ1NSA1Ni4wMjkxIDU2LjAyOUM2NC43NDU2IDU1LjY5NzUgNzIuODc3MSA1NC45OTU1IDc0LjcxMDEgNTMuNDc0NUM3Ny43MzI2IDUyLjIwNyA3OC4wMjUxIDQ1LjUzOCA3OC4wMjUxIDQwQzc4LjAyNTEgMzQuNDYyIDc3LjczMjYgMjcuNzkzIDc0LjcxMDEgMjYuNTI1NVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQzLjY0NjUgNi45ODY0NUM0OC4xNzA1IDcuMTIyOTUgNDkuMzk5IDYuOTg2NDUgNTAuMDQyNSA5LjEzMTQ1XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEFwcGxpY2F0aW9uID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My43MzgzIDE1LjY3NjNDNDMuODg0IDE1Ljk3NTcgNDQuMTQ1NyAxNi4yMTUgNDQuNTA4NSAxNi4zODA2QzQ0Ljg3MTQgMTYuNTQ2MiA0NS4zMjgyIDE2LjYzNDggNDUuODUzIDE2LjY0MTRDNDYuMzc3OCAxNi42NDggNDYuOTYwMiAxNi41NzI0IDQ3LjU2NzEgMTYuNDE5QzQ4LjE3MzkgMTYuMjY1NSA0OC43OTMzIDE2LjAzNzMgNDkuMzg5OCAxNS43NDcyQzQ5Ljk4NjMgMTUuNDU3MSA1MC41NDgzIDE1LjExMDkgNTEuMDQzNyAxNC43MjgzQzUxLjUzOTEgMTQuMzQ1OCA1MS45NTgxIDEzLjkzNDMgNTIuMjc2OSAxMy41MTc1QzUyLjU5NTcgMTMuMTAwNyA1Mi44MDggMTIuNjg2NyA1Mi45MDE4IDEyLjI5OTFDNTIuOTk1NSAxMS45MTE1IDUyLjk2ODcgMTEuNTU3OSA1Mi44MjMxIDExLjI1ODVDNTIuNjc3NCAxMC45NTkxIDUyLjQxNTcgMTAuNzE5OCA1Mi4wNTI5IDEwLjU1NDJDNTEuNjkgMTAuMzg4NyA1MS4yMzMyIDEwLjMgNTAuNzA4NCAxMC4yOTM1QzUwLjE4MzYgMTAuMjg2OSA0OS42MDEyIDEwLjM2MjUgNDguOTk0MyAxMC41MTU5QzQ4LjM4NzUgMTAuNjY5MyA0Ny43NjgxIDEwLjg5NzYgNDcuMTcxNiAxMS4xODc3QzQ2LjU3NTEgMTEuNDc3NyA0Ni4wMTMxIDExLjgyMzkgNDUuNTE3NyAxMi4yMDY1QzQ1LjAyMjMgMTIuNTg5MSA0NC42MDMzIDEzLjAwMDUgNDQuMjg0NSAxMy40MTczQzQzLjk2NTcgMTMuODM0MSA0My43NTM0IDE0LjI0ODIgNDMuNjU5NiAxNC42MzU4QzQzLjU2NTkgMTUuMDIzNCA0My41OTI3IDE1LjM3NjkgNDMuNzM4MyAxNS42NzYzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC41OTA5IDI1LjIzMjdDNDkuMjYxMiAyNS4yOTY4IDQ5LjkzMzUgMjUuMjkzMSA1MC41NjgzIDI1LjIyMkM1MS4yMDMyIDI1LjE1MDggNTEuNzg3NyAyNS4wMTM2IDUyLjI4NzYgMjQuODE4M0M1Mi43ODc0IDI0LjYyMzEgNTMuMTkyNSAyNC4zNzM4IDUzLjQ3ODkgMjQuMDg1MUM1My43NjU0IDIzLjc5NjQgNTMuOTI3NCAyMy40NzQxIDUzLjk1NTYgMjMuMTM3M0M1My45ODM3IDIyLjgwMDQgNTMuODc3MyAyMi40NTU4IDUzLjY0MjYgMjIuMTIzNkM1My40MDggMjEuNzkxNCA1My4wNDk4IDIxLjQ3ODQgNTIuNTg5MyAyMS4yMDMxQzUyLjEyODcgMjAuOTI3NyA1MS41NzUgMjAuNjk1NCA1MC45NjA3IDIwLjUyQzUwLjM0NjQgMjAuMzQ0NiA0OS42ODQgMjAuMjI5NiA0OS4wMTI0IDIwLjE4MTdDNDguMzQyMSAyMC4xMTc2IDQ3LjY2OTggMjAuMTIxMyA0Ny4wMzUgMjAuMTkyNEM0Ni40MDAxIDIwLjI2MzYgNDUuODE1NiAyMC40MDA4IDQ1LjMxNTcgMjAuNTk2MUM0NC44MTU5IDIwLjc5MTMgNDQuNDEwOCAyMS4wNDA2IDQ0LjEyNDQgMjEuMzI5M0M0My44Mzc5IDIxLjYxOCA0My42NzU5IDIxLjk0MDMgNDMuNjQ3OCAyMi4yNzcxQzQzLjYxOTcgMjIuNjE0IDQzLjcyNiAyMi45NTg2IDQzLjk2MDcgMjMuMjkwOEM0NC4xOTUzIDIzLjYyMyA0NC41NTM1IDIzLjkzNiA0NS4wMTQxIDI0LjIxMTNDNDUuNDc0NiAyNC40ODY3IDQ2LjAyODQgMjQuNzE5IDQ2LjY0MjYgMjQuODk0NEM0Ny4yNTY5IDI1LjA2OTggNDcuOTE5MyAyNS4xODQ4IDQ4LjU5MDkgMjUuMjMyN1pcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzguNzQ5NyAxMC42MDI1QzM5LjAyNzMgMTAuNzg4NyAzOS4zNzQ2IDEwLjg2MyAzOS43NzE0IDEwLjgyMTFDNDAuMTY4MiAxMC43NzkyIDQwLjYwNjggMTAuNjIyIDQxLjA2MTkgMTAuMzU4NUM0MS41MTcxIDEwLjA5NTEgNDEuOTc5OCA5LjczMDUgNDIuNDIzNCA5LjI4NTg0QzQyLjg2NyA4Ljg0MTE4IDQzLjI4MjggOC4zMjUxOSA0My42NDY4IDcuNzY3NThDNDQuMDEwOCA3LjIwOTk2IDQ0LjMxNTkgNi42MjE3MyA0NC41NDQ1IDYuMDM2NzNDNDQuNzczIDUuNDUxNzMgNDQuOTIwNiA0Ljg4MTUyIDQ0Ljk3ODYgNC4zNTg5QzQ1LjAzNjYgMy44MzYyOCA0NS4wMDQgMy4zNzE1NyA0NC44ODI2IDIuOTkxNTNDNDQuNzYxMiAyLjYxMTQ4IDQ0LjU1MzUgMi4zMjM2IDQ0LjI3MTMgMi4xNDQ0NUM0My45OTM3IDEuOTU4MjggNDMuNjQ2NCAxLjg4Mzk5IDQzLjI0OTYgMS45MjU4NkM0Mi44NTI4IDEuOTY3NzMgNDIuNDE0MiAyLjEyNDkyIDQxLjk1OTEgMi4zODg0QzQxLjUwMzkgMi42NTE4OCA0MS4wNDEyIDMuMDE2NDUgNDAuNTk3NiAzLjQ2MTExQzQwLjE1NCAzLjkwNTc3IDM5LjczODIgNC40MjE3NiAzOS4zNzQyIDQuOTc5MzdDMzkuMDEwMiA1LjUzNjk4IDM4LjcwNTEgNi4xMjUyMiAzOC40NzY1IDYuNzEwMjJDMzguMjQ4IDcuMjk1MjEgMzguMTAwNCA3Ljg2NTQzIDM4LjA0MjQgOC4zODgwNUMzNy45ODQ0IDguOTEwNjcgMzguMDE3IDkuMzc1MzcgMzguMTM4NCA5Ljc1NTQyQzM4LjI1OTggMTAuMTM1NSAzOC40Njc1IDEwLjQyMzMgMzguNzQ5NyAxMC42MDI1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS4wODYxIDkuNDgyNTJDMTkuMzk5OSA5LjgzMzYzIDE3LjcyMzUgMTAuMjQ1NiAxNi4xODY5IDEwLjY3MjdDMTAuMDY2OSAxMi4zODkzIDIuMTE3NiAxNS4yNzkzIDEuNDc0OTEgMTkuMDY2N0MwLjM2NzYwOCAyMS4xNjEyIDIuNDEyMjkgMzAuMTg4OCA0LjUwNzI1IDM3LjU0MUM2LjYwMjIxIDQ0Ljg5MzEgOS40NzIyOSA1My43MzI0IDExLjQ4MDMgNTQuODg0OEMxMy45OTcyIDU3Ljc3MyAyMi4yOTAzIDU2LjEzMzEgMjguNDEwMyA1NC40MTY1QzM0LjUzMDQgNTIuNjk5OSA0Mi40NjI0IDQ5LjgxODkgNDMuMTE0MSA0Ni4wNDg4QzQ0LjIxMjQgNDMuOTM3MSA0Mi4xNzY3IDM0LjkyNjcgNDAuMDgxOCAyNy41NzQ2QzM5LjQxMzcgMjUuMTk2IDM4LjY3MzYgMjIuNjc5MSAzNy44ODM4IDIwLjMyMDFDMzYuOTM0MSAxNy4yNzQ3IDI0LjQzMiA4Ljc3MjAzIDIxLjA4NjEgOS40ODI1MlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjc4MDQgMTQuNjMzNkMyMS42ODExIDE3Ljg4MDUgMjIuNTk5MSAyMS4xMTgzIDI0LjY2ODcgMjIuMzA0NUMyNi43MzgzIDIzLjQ5MDcgMzAuMDcwOSAyMi41MDEzIDMzLjE5NTIgMjEuNTc2NVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjQuOTIwOSAxMy45NzA3QzI2LjM5NjggMTQuNTgwNCAyNy43ODgxIDE1LjM3NzggMjkuMDYwMSAxNi4zNDMxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjUuMTY2IDMyLjc2NTZDNTkuNTgzMiAzNi45OTA1IDU0LjU2MzQgNDEuOTExOSA1MC4yMjkgNDcuNDEwMUM0OC40NzQgNDkuNTE2MSA0Ni43OTcgNTEuNTQ0MSA0NS4yNzYgNTMuNDU1MUM0MC4yMDYgNDkuMjA0MSAzNi4xNSA0Ni4yMDExIDM0LjUzMTUgNDUuODUwMUMzMS43MDQgNDQuNjAyMSAyOC40MjggNDcuNjA1MSAyNi4zMDI1IDUwLjE0MDFDMjQuMTc3IDUyLjY3NTEgMjEuODM3IDU2LjQxOTEgMjMuNTUzIDU4Ljk3MzZDMjQuMTM4IDYwLjU5MjEgMjcuNjg3IDY0LjEwMjEgMzIuNzE4IDY4LjI5NDZDMzguNzQzNSA3My4zNDUxIDQzLjA5MiA3Ny4xNDc2IDQ1LjcwNSA3Ny42MTU2QzQ5LjYwNSA3OS4zNzA2IDUyLjc4MzUgNzQuNzEwMSA2NS4yMDUgNTkuODcwNkM3MS45MzI1IDUxLjgzNjYgNzYuMjgxIDQ1LjA4OTYgNzcuMTM5IDQyLjczMDFDNzkuNTM3NSAzOC41Mzc2IDc3LjQ1MSAzNS4zNTkxIDc0LjkxNiAzMy4yMzM2QzcyLjM4MSAzMS4xMDgxIDY4Ljg3MSAyOS42ODQ2IDY1LjE2NiAzMi43NjU2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjIuOTQyOSAzOS4yMjAyQzY1LjM0MTQgMzYuNzYzMiA2Ny41NjQ0IDM0LjQyMzIgNjkuNTE0NCAzNC4zMDYyXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEJhYnkgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljk1NzYgNDEuNzE2MkMzMS40NTU4IDQwLjE3MzcgMzIuNjE4OSAzOC4zMzgxIDMzLjM3NCAzNi4zMjQ3QzM0LjEyOSAzNC4zMTEzIDM0LjQ1OTYgMzIuMTYzNSAzNC4zNDUxIDMwLjAxNjJDMzQuMzQ1MSAyMC43MTQ3IDI5LjIzNjEgMTQuNTMzMiAxOS4wMTgxIDE0LjUzMzJDOC44MDAxIDE0LjUzMzIgMy42NzE2IDIwLjcxNDcgMy42NzE2IDMwLjAxNjJDMy41NTcwNiAzMi4xNjM1IDMuODg3NjggMzQuMzExMyA0LjY0MjcyIDM2LjMyNDdDNS4zOTc3NSAzOC4zMzgxIDYuNTYwODkgNDAuMTczNyA4LjA1OTEgNDEuNzE2MkM0LjAyMjYgNDQuNjk5NyAxLjk3NTEgNDkuNjEzNyAxLjk3NTEgNTUuNzk1MkMxLjk3NTEgNTkuMjI3MiA3LjY1NjEgNjAuOTQzMiAxOS4wMTgxIDYwLjk0MzJDMzAuMzgwMSA2MC45NDMyIDM2LjA3NDEgNTkuMjI3MiAzNi4xMDAxIDU1Ljc5NTJDMzYuMTAwMSA0OS42MTM3IDM0LjAxMzYgNDQuNjk5NyAyOS45NTc2IDQxLjcxNjJaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yNC42NzMxIDE4LjkwMTFDMjYuMTYwOCAxOS40NDYgMjcuNDU1OCAyMC40MTU2IDI4LjM5NzYgMjEuNjg5NlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjU2NDEgMTQuNDc0NkMxOC4xNjU5IDE0Ljg3OTQgMTYuOTYzIDE1Ljc3OTcgMTYuMTgwNiAxNy4wMDcyQzE1LjM5ODEgMTguMjM0NyAxNS4wODk3IDE5LjcwNTIgMTUuMzEzMSAyMS4xNDM2QzE1LjkzNzEgMjQuMzIyMSAyMS4zMTkxIDIzLjkxMjYgMjAuNjU2MSAyMC41OTc2QzIwLjMyNDYgMTguODgxNiAxOC41NTAxIDE5Ljc1OTEgMTguNTUwMSAxOS43NTkxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xMC40OTY2IDI5LjA5OTZDMTAuNDk2NiAyOS43ODIzIDEwLjc2NTcgMzAuNDM3IDExLjI0NDggMzAuOTE5N0MxMS43MjM4IDMxLjQwMjQgMTIuMzczNiAzMS42NzM2IDEzLjA1MTEgMzEuNjczNkMxMy43Mjg2IDMxLjY3MzYgMTQuMzc4MyAzMS40MDI0IDE0Ljg1NzQgMzAuOTE5N0MxNS4zMzY0IDMwLjQzNyAxNS42MDU2IDI5Ljc4MjMgMTUuNjA1NiAyOS4wOTk2QzE1LjYwNTYgMjguNDE3IDE1LjMzNjQgMjcuNzYyMyAxNC44NTc0IDI3LjI3OTVDMTQuMzc4MyAyNi43OTY4IDEzLjcyODYgMjYuNTI1NiAxMy4wNTExIDI2LjUyNTZDMTIuMzczNiAyNi41MjU2IDExLjcyMzggMjYuNzk2OCAxMS4yNDQ4IDI3LjI3OTVDMTAuNzY1NyAyNy43NjIzIDEwLjQ5NjYgMjguNDE3IDEwLjQ5NjYgMjkuMDk5NlpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMi40MTExIDI5LjA5OTZDMjIuNDExMSAyOS43ODIzIDIyLjY4MDMgMzAuNDM3IDIzLjE1OTMgMzAuOTE5N0MyMy42Mzg0IDMxLjQwMjQgMjQuMjg4MSAzMS42NzM2IDI0Ljk2NTYgMzEuNjczNkMyNS42NDMxIDMxLjY3MzYgMjYuMjkyOSAzMS40MDI0IDI2Ljc3MTkgMzAuOTE5N0MyNy4yNTEgMzAuNDM3IDI3LjUyMDEgMjkuNzgyMyAyNy41MjAxIDI5LjA5OTZDMjcuNTIwMSAyOC40MTcgMjcuMjUxIDI3Ljc2MjMgMjYuNzcxOSAyNy4yNzk1QzI2LjI5MjkgMjYuNzk2OCAyNS42NDMxIDI2LjUyNTYgMjQuOTY1NiAyNi41MjU2QzI0LjI4ODEgMjYuNTI1NiAyMy42Mzg0IDI2Ljc5NjggMjMuMTU5MyAyNy4yNzk1QzIyLjY4MDMgMjcuNzYyMyAyMi40MTExIDI4LjQxNyAyMi40MTExIDI5LjA5OTZaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMTMuOTA5MiAzNS4xMjVDMTUuMzM2NCAzNi4zMTggMTcuMTYwMiAzNi45MzA1IDE5LjAxODIgMzYuODQxQzIwLjg3NTQgMzYuOTI0OCAyMi42OTcxIDM2LjMxMjkgMjQuMTI3MiAzNS4xMjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE5LjAxODEgNDUuNDYwMUMxNi44NzM1IDQ1LjQ3NTggMTQuNzQwMyA0NS4xNDY2IDEyLjcwMDEgNDQuNDg1MUMxMi4zMzgyIDQ1LjMzNiAxMi4xNTI1IDQ2LjI1MTQgMTIuMTU0MSA0Ny4xNzYxQzEyLjA4NSA0OC4wOTI3IDEyLjIxMzcgNDkuMDEzNCAxMi41MzE0IDQ5Ljg3NkMxMi44NDkyIDUwLjczODUgMTMuMzQ4NSA1MS41MjI3IDEzLjk5NTcgNTIuMTc1NEMxNC42NDI5IDUyLjgyODIgMTUuNDIyOCA1My4zMzQyIDE2LjI4MjYgNTMuNjU5M0MxNy4xNDI0IDUzLjk4NDQgMTguMDYyIDU0LjEyMDkgMTguOTc5MSA1NC4wNTk2QzE5Ljg5NTUgNTQuMTIxMiAyMC44MTQ0IDUzLjk4NDggMjEuNjczMyA1My42NTk2QzIyLjUzMjIgNTMuMzM0MyAyMy4zMTEgNTIuODI4IDIzLjk1NjcgNTIuMTc0OEMyNC42MDI0IDUxLjUyMTcgMjUuMDk5OSA1MC43MzcyIDI1LjQxNTMgNDkuODc0NkMyNS43MzA4IDQ5LjAxMjEgMjUuODU2NyA0OC4wOTE3IDI1Ljc4NDYgNDcuMTc2MUMyNS43ODYzIDQ2LjI1MTQgMjUuNjAwNSA0NS4zMzYgMjUuMjM4NiA0NC40ODUxQzIzLjIzMDEgNDUuMTM4NiAyMS4xMzAzIDQ1LjQ2NzggMTkuMDE4MSA0NS40NjAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03NS40NTExIDU0LjI5MzdDNzUuMDUyOCA1My4yMDk0IDc0LjQ0MyA1Mi4yMTUyIDczLjY1NzEgNTEuMzY4N0M3NS4wMDc2IDQ4Ljc4OTkgNzUuMzQ4MyA0NS44MDAyIDc0LjYxMjYgNDIuOTgzN0M3NC40NDIyIDQyLjIwNzQgNzQuNDc2NiA0MS40MDAxIDc0LjcxMjUgNDAuNjQxMUM3NC45NDg0IDM5Ljg4MjIgNzUuMzc3NyAzOS4xOTc2IDc1Ljk1ODEgMzguNjU0N0M3Ni41OTk4IDM4LjEyNDEgNzcuMTE2NSAzNy40NTgzIDc3LjQ3MTEgMzYuNzA0OUM3Ny44MjU4IDM1Ljk1MTUgNzguMDA5NyAzNS4xMjkxIDc4LjAwOTcgMzQuMjk2NEM3OC4wMDk3IDMzLjQ2MzcgNzcuODI1OCAzMi42NDEzIDc3LjQ3MTEgMzEuODg3OUM3Ny4xMTY1IDMxLjEzNDUgNzYuNTk5OCAzMC40Njg4IDc1Ljk1ODEgMjkuOTM4MkM3NS40NDExIDI5LjI5MTggNzQuNzg1MyAyOC43NyA3NC4wMzkzIDI4LjQxMTVDNzMuMjkzNCAyOC4wNTI5IDcyLjQ3NjMgMjcuODY2NyA3MS42NDg2IDI3Ljg2NjdDNzAuODIwOSAyNy44NjY3IDcwLjAwMzggMjguMDUyOSA2OS4yNTc4IDI4LjQxMTVDNjguNTExOCAyOC43NyA2Ny44NTYxIDI5LjI5MTggNjcuMzM5MSAyOS45MzgyQzY2LjgxNDUgMzAuNTI3IDY2LjE0MTUgMzAuOTY0MiA2NS4zOTA0IDMxLjIwNDNDNjQuNjM5MiAzMS40NDQ0IDYzLjgzNzQgMzEuNDc4NSA2My4wNjg2IDMxLjMwMzJDNjAuMjY5OSAzMC41NTk2IDU3LjI5MzIgMzAuOTA4MSA1NC43NDIxIDMyLjI3ODJDNTMuOTE3NSAzMS40ODMyIDUyLjk0MzEgMzAuODYwMSA1MS44NzU2IDMwLjQ0NTJDNTAuNDUyMSAyOS44MDE3IDQ4LjI4NzYgMzEuNzkwNyA0Ni41OTExIDMzLjUwNjdDNDQuODk0NiAzNS4yMjI3IDQyLjkyNTEgMzcuNDA2NyA0My41Njg2IDM4Ljg0OTdDNDMuNjQwNyAzOS4xODI3IDQzLjc3MjkgMzkuNDk5OSA0My45NTg2IDM5Ljc4NTdDNDEuNTkwNCA0MS42NTYgMzkuMzQ5NSA0My42ODIgMzcuMjUwNiA0NS44NTAyQzMzLjA5NzEgNTAuMDQyNyAyNy44OTA2IDU1Ljk3MDcgMjguNTUzNiA1OC44MTc3QzI4LjM1ODYgNjAuNzY3NyAzMS45NDY2IDY2LjYxNzcgMzUuODA3NiA3MC41MTc3QzM5LjY2ODYgNzQuNDE3NyA0NS40MjExIDc4LjA0NDcgNDcuMzcxMSA3Ny44NDk3QzUwLjE5ODYgNzguNTEyNyA1Ni4wNjgxIDczLjI2NzIgNjAuMjIxNiA2OS4wNTUyQzYyLjM2NjIgNjYuOTMwNSA2NC4zNzI0IDY0LjY3MDMgNjYuMjI3NiA2Mi4yODg3QzY2LjUwNSA2Mi40NzY3IDY2LjgxNjIgNjIuNjA5MSA2Ny4xNDQxIDYyLjY3ODdDNjguNTY3NiA2My4zMjIyIDcwLjczMjEgNjEuMzUyNyA3Mi40Mjg2IDU5LjYxNzJDNzQuMTI1MSA1Ny44ODE3IDc2LjA5NDYgNTUuNzE3MiA3NS40NTExIDU0LjI5MzdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02OC43MjM1IDQ1Ljk2NzNDNjguNzIzNSA0NS45NjczIDY3LjM5NzUgNDQuNDA3MyA2NC41MTE1IDQxLjUwMThDNjEuNjI1NSAzOC41OTYzIDYwLjEwNDUgMzcuMjcwMyA2MC4xMDQ1IDM3LjI3MDNcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ3LjQ4OCA0NC4yMTIyQzQ3LjQ4OCA0NC4yMTIyIDQ5Ljc1IDQ2LjgwNTcgNTQuNDg4NSA1MS43MDAyQzU5LjIyNyA1Ni41OTQ3IDYxLjg0IDU4LjcyMDIgNjEuODQgNTguNzIwMlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTMuMDg0NSA2MS43NjIyQzUzLjA4NDUgNjEuNzYyMiA1My41MzMgNjIuMjg4NyA1NC40ODg1IDYzLjI2MzdDNTUuNDQ0IDY0LjIzODcgNTUuOTUxIDY0LjY2NzcgNTUuOTUxIDY0LjY2NzdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4Ljg5MjEgNjYuMDEzMkM0OC44OTIxIDY2LjAxMzIgNDkuMzIxMSA2Ni41Mzk3IDUwLjI3NjYgNjcuNDk1MkM1MS4yMzIxIDY4LjQ1MDcgNTEuNzU4NiA2OC45MTg3IDUxLjc1ODYgNjguOTE4N1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjYuNzU0MiAzNC4xNTAyQzY3LjkzMzUgMzMuOTIxNCA2OS4wMTEzIDMzLjMyOCA2OS44MzUyIDMyLjQ1MzdDNzAuMjg2NSAzMS44OTc4IDcwLjg4OTQgMzEuNDg0NiA3MS41NzA3IDMxLjI2NDJcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02MC40MzYgMTcuNjcyNUM2MC40MzYgMTguNzM3OSA2MC44NTUxIDE5Ljc1OTYgNjEuNjAxMiAyMC41MTNDNjIuMzQ3MiAyMS4yNjYzIDYzLjM1OSAyMS42ODk1IDY0LjQxNCAyMS42ODk1QzY1LjQ2OTEgMjEuNjg5NSA2Ni40ODA5IDIxLjI2NjMgNjcuMjI2OSAyMC41MTNDNjcuOTcyOSAxOS43NTk2IDY4LjM5MiAxOC43Mzc5IDY4LjM5MiAxNy42NzI1QzY4LjM5MiAxNy4xNDUgNjguMjg5MSAxNi42MjI2IDY4LjA4OTIgMTYuMTM1M0M2Ny44ODkzIDE1LjY0NzkgNjcuNTk2MyAxNS4yMDUxIDY3LjIyNjkgMTQuODMyMUM2Ni44NTc1IDE0LjQ1OTEgNjYuNDE5IDE0LjE2MzIgNjUuOTM2NCAxMy45NjEzQzY1LjQ1MzcgMTMuNzU5NCA2NC45MzY0IDEzLjY1NTUgNjQuNDE0IDEzLjY1NTVDNjMuODkxNiAxMy42NTU1IDYzLjM3NDQgMTMuNzU5NCA2Mi44OTE3IDEzLjk2MTNDNjIuNDA5MSAxNC4xNjMyIDYxLjk3MDYgMTQuNDU5MSA2MS42MDEyIDE0LjgzMjFDNjEuMjMxOCAxNS4yMDUxIDYwLjkzODggMTUuNjQ3OSA2MC43Mzg4IDE2LjEzNTNDNjAuNTM4OSAxNi42MjI2IDYwLjQzNiAxNy4xNDUgNjAuNDM2IDE3LjY3MjVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjIzNjEgNS41NDM1NEMyOS4yMzYxIDYuNDU4OTQgMjkuNTk1NiA3LjMzNjg0IDMwLjIzNTYgNy45ODQxMkMzMC44NzU2IDguNjMxNCAzMS43NDM1IDguOTk1MDQgMzIuNjQ4NiA4Ljk5NTA0QzMzLjU1MzYgOC45OTUwNCAzNC40MjE2IDguNjMxNCAzNS4wNjE2IDcuOTg0MTJDMzUuNzAxNiA3LjMzNjg0IDM2LjA2MTEgNi40NTg5NCAzNi4wNjExIDUuNTQzNTRDMzYuMDYxMSA0LjYyODE1IDM1LjcwMTYgMy43NTAyNCAzNS4wNjE2IDMuMTAyOTZDMzQuNDIxNiAyLjQ1NTY4IDMzLjU1MzYgMi4wOTIwNCAzMi42NDg2IDIuMDkyMDRDMzEuNzQzNSAyLjA5MjA0IDMwLjg3NTYgMi40NTU2OCAzMC4yMzU2IDMuMTAyOTZDMjkuNTk1NiAzLjc1MDI0IDI5LjIzNjEgNC42MjgxNSAyOS4yMzYxIDUuNTQzNTRaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ5LjM2MDIgMjIuODM5OUM0OC44NjQ2IDIyLjM1MDQgNDguMzE1MSAyMS45MTg3IDQ3LjcyMjIgMjEuNTUyOUM0OC40ODI3IDIwLjU1ODQgNDkuMzYwMiAxOS4yMTI5IDUwLjA4MTcgMTguMDgxOUM1MS4yNzE2IDE2LjM3MDkgNTIuMjQxMiAxNC41MTY4IDUyLjk2NzcgMTIuNTYzNEM1My4wNjUyIDExLjA4MTQgNTEuMDE3NyA5Ljg1MjkzIDQ5LjkwNjIgOS4xMTE5M0M0OC43OTQ3IDguMzcwOTMgNDcuMzcxMiA3LjUzMjQzIDQ2LjkwMzIgNy42NDk0M0M0Ni40MzUyIDcuNzY2NDMgNDUuNzUyNyA4LjIzNDQzIDQ1LjM0MzIgOC44OTc0M0M0NS4xNDA2IDkuMTc1NjMgNDQuOTk1IDkuNDkxMTEgNDQuOTE0NyA5LjgyNTc0QzQ0LjgzNDQgMTAuMTYwNCA0NC44MjEgMTAuNTA3NiA0NC44NzUyIDEwLjg0NzRDNDQuODc1MiAxMS4xOTg0IDQ1Ljc3MjIgMTEuODYxNCA0Ni42MzAyIDEyLjQ2NTlDNDYuMTAzNyAxMy4yMjY0IDQ1LjU1NzcgMTQuMDY0OSA0NS4wODk3IDE0LjgwNTlDNDQuMzY4MiAxNS45MzY5IDQzLjUyOTcgMTcuMzAxOSA0Mi45NDQ3IDE4LjQxMzRDNDIuMzMzNyAxOC4wMTU3IDQxLjY3OTUgMTcuNjg4NiA0MC45OTQ3IDE3LjQzODRDNDAuMTE3MiAxNy4xMjY0IDM5LjI5ODIgMTguMTc5NCAzOC44ODg3IDE4Ljg0MjRDMzguNDc5MiAxOS41MDU0IDM3LjgzNTcgMjAuNjk0OSAzOC40OTg3IDIxLjM3NzRDMzkuNzUxNyAyMi40NDggNDEuMDk1OCAyMy40MDcyIDQyLjUxNTcgMjQuMjQzOUM0My44NTgyIDI1LjIwMjQgNDUuMjgwNCAyNi4wNDQgNDYuNzY2NyAyNi43NTk0QzQ3LjYyNDcgMjcuMDcxNCA0OC40NjMyIDI2LjAxODQgNDguODcyNyAyNS4zNTU0QzQ5LjI4MjIgMjQuNjkyNCA1MC4wMjMyIDIzLjUyMjQgNDkuMzYwMiAyMi44Mzk5WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MS4wMTc4IDQuOTk3NDhDNTEuMDE3OCA1LjczNzA0IDUxLjMwOTYgNi40NDYzMSA1MS44Mjg4IDYuOTY5MjVDNTIuMzQ4MSA3LjQ5MjIgNTMuMDUyNCA3Ljc4NTk4IDUzLjc4NjggNy43ODU5OEM1NC41MjEyIDcuNzg1OTggNTUuMjI1NSA3LjQ5MjIgNTUuNzQ0OCA2Ljk2OTI1QzU2LjI2NDEgNi40NDYzMSA1Ni41NTU4IDUuNzM3MDQgNTYuNTU1OCA0Ljk5NzQ4QzU2LjU1NTggNC4yNTc5MyA1Ni4yNjQxIDMuNTQ4NjYgNTUuNzQ0OCAzLjAyNTcyQzU1LjIyNTUgMi41MDI3NyA1NC41MjEyIDIuMjA4OTggNTMuNzg2OCAyLjIwODk4QzUzLjA1MjQgMi4yMDg5OCA1Mi4zNDgxIDIuNTAyNzcgNTEuODI4OCAzLjAyNTcyQzUxLjMwOTYgMy41NDg2NiA1MS4wMTc4IDQuMjU3OTMgNTEuMDE3OCA0Ljk5NzQ4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEJvb2ttYXJrID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zMS44NDkxIDc3Ljk4NkMzNi42MDcxIDc4Ljg0NCA0OS43NTAxIDY1LjM1IDU3LjQxMzYgNTcuNTVDNjUuMDc3MSA0OS43NSA3OC42Njg2IDM2Ljc0MzUgNzcuOTA4MSAzMS45NjZDNzguNTEyNiAyOC41NzMgNzYuODM1NiAxMC45NjQ1IDcyLjk1NTEgNy4wODM5NkM2OS4wNzQ2IDMuMjAzNDYgNTEuNDY2MSAxLjQ4NzQ2IDQ4LjA3MzEgMi4wOTE5NkM0My4yOTU2IDEuMzMxNDYgMzAuMjUwMSAxNC44NDUgMjIuNDUwMSAyMi41ODY1QzE0LjY1MDEgMzAuMzI4IDEuMTU2MTIgNDMuMzkzIDIuMDE0MTIgNDguMTUxQzIuOTUwMTIgNTMuNjUgMTguNTUwMSA1Ny41NSAyMC41MDAxIDU5LjVDMjIuNDUwMSA2MS40NSAyNi4zNTAxIDc3LjA1IDMxLjg0OTEgNzcuOTg2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTUuODE0NyAxOC42ODY1QzU1LjgxNDcgMjAuMTQ0OSA1Ni4zOTQxIDIxLjU0MzYgNTcuNDI1MyAyMi41NzQ5QzU4LjQ1NjYgMjMuNjA2MSA1OS44NTUzIDI0LjE4NTUgNjEuMzEzNyAyNC4xODU1QzYyLjc3MjEgMjQuMTg1NSA2NC4xNzA4IDIzLjYwNjEgNjUuMjAyMSAyMi41NzQ5QzY2LjIzMzMgMjEuNTQzNiA2Ni44MTI3IDIwLjE0NDkgNjYuODEyNyAxOC42ODY1QzY2LjgxMjcgMTcuMjI4MSA2Ni4yMzMzIDE1LjgyOTQgNjUuMjAyMSAxNC43OTgxQzY0LjE3MDggMTMuNzY2OSA2Mi43NzIxIDEzLjE4NzUgNjEuMzEzNyAxMy4xODc1QzU5Ljg1NTMgMTMuMTg3NSA1OC40NTY2IDEzLjc2NjkgNTcuNDI1MyAxNC43OTgxQzU2LjM5NDEgMTUuODI5NCA1NS44MTQ3IDE3LjIyODEgNTUuODE0NyAxOC42ODY1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OS41MTYxIDYuODQ5OThDNTMuMzY2NCA2Ljg2MTUyIDU3LjIwODggNy4yMDA3NSA2MS4wMDE2IDcuODYzOThcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IENhbmNlbCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzcuNjc0IDU5LjI2NTlDNzcuMTY2OSA1Ni40NTc5IDY5Ljc1NjkgNDguMDkyNCA2Mi4wNzM5IDM5Ljk5OTlDNjkuODczOSAzMS45MDc0IDc3LjIwNTkgMjMuNTQxOSA3Ny42NzQgMjAuNzMzOUM3OS4yOTI0IDE3LjM5OTQgNzQuOTgyOSAxMi42OTk5IDcxLjE5OTkgOC43OTk5NEM2Ny40MTY5IDQuODk5OTQgNjIuNjAwNCAwLjcwNzQ0NCA1OS4yNjU5IDIuMzI1OTRDNTYuNDU3OSAyLjgzMjk0IDQ4LjA5MjQgMTAuMjQyOSAzOS45OTk5IDE3LjkyNTlDMzEuOTA3NCAxMC4xMjU5IDIzLjU0MTkgMi43OTM5NCAyMC43MzM5IDIuMzI1OTRDMTcuMzk5NCAwLjcwNzQ0NCAxMi42OTk5IDUuMDE2OTQgOC43OTk5NCA4Ljc5OTk0QzQuODk5OTQgMTIuNTgyOSAwLjcwNzQ0NCAxNy4zOTk0IDIuMzI1OTQgMjAuNzMzOUMyLjgzMjk0IDIzLjU0MTkgMTAuMjQyOSAzMS45MDc0IDE3LjkyNTkgMzkuOTk5OUMxMC4xMjU5IDQ4LjA5MjQgMi43OTM5NCA1Ni40NTc5IDIuMzI1OTQgNTkuMjY1OUMwLjcwNzQ0NCA2Mi42MDA0IDUuMDE2OTQgNjcuMzk3NCA4Ljc5OTk0IDcxLjE5OTlDMTIuNTgyOSA3NS4wMDI0IDE3LjM5OTQgNzkuMjkyNCAyMC43MzM5IDc3LjY3NEMyMy41NDE5IDc3LjE2NjkgMzEuOTA3NCA2OS43NTY5IDM5Ljk5OTkgNjIuMDczOUM0OC4wOTI0IDY5Ljg3MzkgNTYuNDU3OSA3Ny4yMDU5IDU5LjI2NTkgNzcuNjc0QzYyLjYwMDQgNzkuMjkyNCA2Ny40MTY5IDc0Ljk4MjkgNzEuMTk5OSA3MS4xOTk5Qzc0Ljk4MjkgNjcuNDE2OSA3OS4yOTI0IDYyLjYwMDQgNzcuNjc0IDU5LjI2NTlaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01NS41OTk5IDExLjQzMjVDNjAuMjIxNCA3LjUzMjUgNjEuMDQwNCA3LjMzNzUgNjMuNzMxNCA5LjQ4MjVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQ29udmVyc2F0aW9uID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MCAyLjcxNjhDMTUuNjQzMSAyLjcxNjggMy40NjQ2IDE1LjQxOTkgMy40NjQ2IDM0LjQ5MzJDMy40NjQ2IDQ2Ljc0NjYgOC41MjM0OCA1Ni4zNTgyIDE4LjYwMzQgNjEuNjYwNEMxNi43Mjk5IDY3Ljk5MzIgMTIuMTAxOSA3MS43MjE4IDE2LjE2NzcgNzUuNzg3NEMxOC44MDk1IDc4LjQyOTMgMzQuNDkxNiA3OC44MjI4IDM5Ljc5MzkgNjYuMjUwN0g0MEM2NC4zNTY5IDY2LjI1MDcgNzYuNTM1NCA1My41NDc4IDc2LjUzNTQgMzQuNDkzMkM3Ni41MzU0IDE1LjQzODYgNjQuMzU2OSAyLjcxNjggNDAgMi43MTY4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTIuNDQwOSAxMC4zOTg3QzU2LjI1NDEgMTEuMTgyNCA1OS43NDkxIDEzLjA3OTkgNjIuNDgzNCAxNS44NTA5XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBEYWQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUyLjY3NSAzOS4yOTgxQzU3LjgwMzUgMzUuODA3NiA2MC4zNzc1IDI5Ljg2MDEgNjAuMzc3NSAyMi4zNTI2QzYwLjM3NzUgMTAuMTI2MSA1My42NSAxLjk3NTEgNDAgMS45NzUxQzI2LjM1IDEuOTc1MSAxOS42MjI1IDEwLjEyNjEgMTkuNjIyNSAyMi40NTAxQzE5LjYyMjUgMjkuOTU3NiAyMi4xOTY1IDM1LjkwNTEgMjcuMzI1IDM5LjM5NTZDMTUuODU5IDQzLjQxMjYgMTAuMTI2IDUzLjY1MDEgMTAuMTI2IDY3LjE2MzZDMTAuMTI2IDc1LjMxNDYgMjAuMDkwNSA3OC4wMjUxIDQwIDc4LjAyNTFDNTkuOTA5NSA3OC4wMjUxIDY5Ljg3NCA3NS4zMTQ2IDY5Ljg3NCA2Ny4xNjM2QzY5Ljg3NCA1My42NTAxIDY0LjE0MSA0My40MTI2IDUyLjY3NSAzOS4yOTgxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDUuNDQwNCA4LjQyOTY5QzQ3Ljc4NzMgOS4yODA1NCA0OS44MjUxIDEwLjgxNTcgNTEuMjkwNCAxMi44MzY3XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuMzAzIDI5LjY4NDZDMzEuMzAzIDI5LjY4NDYgMzMuNDg3IDMxLjg0OTEgNDAgMzEuODQ5MUM0Ni41MTMgMzEuODQ5MSA0OC42OTcgMjkuNjg0NiA0OC42OTcgMjkuNjg0NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuMTM4NCAxOS44OTU3QzI5LjEzODQgMjAuNzU5MyAyOS40ODE1IDIxLjU4NzYgMzAuMDkyMiAyMi4xOTg0QzMwLjcwMjkgMjIuODA5MSAzMS41MzEzIDIzLjE1MjIgMzIuMzk0OSAyMy4xNTIyQzMzLjI1ODYgMjMuMTUyMiAzNC4wODY5IDIyLjgwOTEgMzQuNjk3NiAyMi4xOTg0QzM1LjMwODMgMjEuNTg3NiAzNS42NTE0IDIwLjc1OTMgMzUuNjUxNCAxOS44OTU3QzM1LjY1MTQgMTkuMDMyIDM1LjMwODMgMTguMjAzNyAzNC42OTc2IDE3LjU5M0MzNC4wODY5IDE2Ljk4MjMgMzMuMjU4NiAxNi42MzkyIDMyLjM5NDkgMTYuNjM5MkMzMS41MzEzIDE2LjYzOTIgMzAuNzAyOSAxNi45ODIzIDMwLjA5MjIgMTcuNTkzQzI5LjQ4MTUgMTguMjAzNyAyOS4xMzg0IDE5LjAzMiAyOS4xMzg0IDE5Ljg5NTdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDQuMzQ4NCAxOS44OTU3QzQ0LjM0ODQgMjAuMzIzMyA0NC40MzI2IDIwLjc0NjggNDQuNTk2MyAyMS4xNDE5QzQ0Ljc1OTkgMjEuNTM3IDQ0Ljk5OTggMjEuODk2IDQ1LjMwMjIgMjIuMTk4NEM0NS42MDQ2IDIyLjUwMDcgNDUuOTYzNiAyMi43NDA2IDQ2LjM1ODcgMjIuOTA0M0M0Ni43NTM4IDIzLjA2NzkgNDcuMTc3MiAyMy4xNTIyIDQ3LjYwNDkgMjMuMTUyMkM0OC4wMzI1IDIzLjE1MjIgNDguNDU2IDIzLjA2NzkgNDguODUxMSAyMi45MDQzQzQ5LjI0NjIgMjIuNzQwNiA0OS42MDUyIDIyLjUwMDcgNDkuOTA3NiAyMi4xOTg0QzUwLjIxIDIxLjg5NiA1MC40NDk4IDIxLjUzNyA1MC42MTM1IDIxLjE0MTlDNTAuNzc3MiAyMC43NDY4IDUwLjg2MTQgMjAuMzIzMyA1MC44NjE0IDE5Ljg5NTdDNTAuODYxNCAxOS40NjggNTAuNzc3MiAxOS4wNDQ1IDUwLjYxMzUgMTguNjQ5NUM1MC40NDk4IDE4LjI1NDQgNTAuMjEgMTcuODk1NCA0OS45MDc2IDE3LjU5M0M0OS42MDUyIDE3LjI5MDYgNDkuMjQ2MiAxNy4wNTA3IDQ4Ljg1MTEgMTYuODg3QzQ4LjQ1NiAxNi43MjM0IDQ4LjAzMjUgMTYuNjM5MiA0Ny42MDQ5IDE2LjYzOTJDNDcuMTc3MiAxNi42MzkyIDQ2Ljc1MzggMTYuNzIzNCA0Ni4zNTg3IDE2Ljg4N0M0NS45NjM2IDE3LjA1MDcgNDUuNjA0NiAxNy4yOTA2IDQ1LjMwMjIgMTcuNTkzQzQ0Ljk5OTggMTcuODk1NCA0NC43NTk5IDE4LjI1NDQgNDQuNTk2MyAxOC42NDk1QzQ0LjQzMjYgMTkuMDQ0NSA0NC4zNDg0IDE5LjQ2OCA0NC4zNDg0IDE5Ljg5NTdaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBEYXRlVGltZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUZpZ3VyZUJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoRmlndXJlQ3R4KTtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZpZ3VyZVRoZW1lKENvbnRleHQsIGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPEZpZ3VyZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNzQuNjcwOSAyNC4yNjM2Qzc1LjE2NTIgMjMuMTM3NiA3NS40MzA0IDIxLjkyNDYgNzUuNDUwOSAyMC42OTUxQzc4LjE4MDkgMTkuMTU0NiA3OC4xNDE5IDE4LjEyMTEgNzcuNzEyOSAxNi43OTUxQzc3LjI4MzkgMTUuNDY5MSA3Ni43MTg0IDE0LjU3MjEgNzMuNTk4NCAxNC44NDUxQzcyLjg2NTQgMTMuODU1OCA3MS45NDQzIDEzLjAyMDggNzAuODg3OSAxMi4zODgxQzcwLjg4NzkgOS4yNDg1OCA3MC4wMTA0IDguNzYxMDggNjguNjI1OSA4LjQ4ODA4QzY3LjI0MTQgOC4yMTUwOCA2Ni4yMDc5IDguMjE1MDggNjQuOTIwOSAxMS4xMDExQzYzLjcwMjYgMTEuMjQyMSA2Mi41MjM1IDExLjYxOTYgNjEuNDQ5OSAxMi4yMTI2QzU4Ljc1ODkgMTAuNjEzNiA1Ny44ODE0IDExLjE0MDEgNTYuOTA2NCAxMi4yMTI2QzU1LjkzMTQgMTMuMjg1MSA1NS40ODI5IDE0LjE2MjYgNTcuMzE1OSAxNi43MTcxQzU3LjA3OCAxNy4yODUgNTYuODg4OCAxNy44NzIxIDU2Ljc1MDQgMTguNDcyMUM1Ni42MjEyIDE5LjA3NDkgNTYuNTQ5MyAxOS42ODg3IDU2LjUzNTkgMjAuMzA1MUM1My44MDU5IDIxLjg0NTYgNTMuODQ0OSAyMi44NTk2IDU0LjI3MzkgMjQuMjA1MUM1NC43MDI5IDI1LjU1MDYgNTUuMjg3OSAyNi40MjgxIDU4LjQwNzkgMjYuMTU1MUM1OS4xMzM4IDI3LjE0MzggNjAuMDQ4NCAyNy45Nzg5IDYxLjA5ODkgMjguNjEyMUM2MS4wOTg5IDMxLjc1MTYgNjEuOTc2NCAzMi4yMzkxIDYzLjM2MDkgMzIuNTEyMUM2NC43NDU0IDMyLjc4NTEgNjUuNzc4OSAzMi43NjU2IDY3LjA2NTkgMjkuODc5NkM2OC4yODM3IDI5Ljc0ODEgNjkuNDYzMyAyOS4zNzcgNzAuNTM2OSAyOC43ODc2QzczLjIyNzkgMzAuMzY3MSA3NC4xMDU0IDI5Ljg0MDYgNzUuMDgwNCAyOC43ODc2Qzc2LjA1NTQgMjcuNzM0NiA3Ni41MDM5IDI2LjgxODEgNzQuNjcwOSAyNC4yNjM2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02MS4zNTI1IDIwLjUwMDFDNjEuMzUyNSAyMS43MzEgNjEuODQxNSAyMi45MTE1IDYyLjcxMTkgMjMuNzgxOEM2My41ODIyIDI0LjY1MjIgNjQuNzYyNyAyNS4xNDExIDY1Ljk5MzUgMjUuMTQxMUM2Ny4yMjQ0IDI1LjE0MTEgNjguNDA0OSAyNC42NTIyIDY5LjI3NTIgMjMuNzgxOEM3MC4xNDU2IDIyLjkxMTUgNzAuNjM0NSAyMS43MzEgNzAuNjM0NSAyMC41MDAxQzcwLjYzNDUgMTkuMjY5MyA3MC4xNDU2IDE4LjA4ODggNjkuMjc1MiAxNy4yMTg0QzY4LjQwNDkgMTYuMzQ4MSA2Ny4yMjQ0IDE1Ljg1OTEgNjUuOTkzNSAxNS44NTkxQzY0Ljc2MjcgMTUuODU5MSA2My41ODIyIDE2LjM0ODEgNjIuNzExOSAxNy4yMTg0QzYxLjg0MTUgMTguMDg4OCA2MS4zNTI1IDE5LjI2OTMgNjEuMzUyNSAyMC41MDAxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00My4wODEgMTcuMTI2NUM0MS4zOTQgMTYuMDYxNCAzOS40NDA3IDE1LjQ5MzcgMzcuNDQ1NSAxNS40ODg1QzM3LjEyNjcgMTQuMDc4IDM2LjY3NjIgMTIuNzAwNCAzNi4xIDExLjM3NEMzNS43MjA0IDEwLjcwMDcgMzUuMTM4NiAxMC4xNjM3IDM0LjQzNyA5LjgzOTEzQzMzLjczNTQgOS41MTQ1NiAzMi45NDk2IDkuNDE4ODIgMzIuMTkwNiA5LjU2NTQ0QzMxLjQzMTYgOS43MTIwNiAzMC43Mzc5IDEwLjA5MzYgMzAuMjA3NyAxMC42NTYyQzI5LjY3NzUgMTEuMjE4NyAyOS4zMzc2IDExLjkzMzcgMjkuMjM2IDEyLjdDMjkuMTI4OCAxMy42NzIxIDI5LjEyODggMTQuNjUzIDI5LjIzNiAxNS42MjVDMjYuODg4NSAxNS43OTE5IDI0LjU1MTYgMTYuMDg0OSAyMi4yMzU1IDE2LjUwMjVDMTkuOTI3NiAxNi45Mzk0IDE3LjY0MzIgMTcuNDkyNiAxNS4zOTEgMTguMTZDMTUuMjM2MyAxNy4xOTU3IDE0Ljk4ODIgMTYuMjQ4OCAxNC42NSAxNS4zMzI1QzE0LjMwNDMgMTQuNjI0MyAxMy43MzUxIDE0LjA0OTYgMTMuMDMwMiAxMy42OTcyQzEyLjMyNTMgMTMuMzQ0NyAxMS41MjQgMTMuMjM0MSAxMC43NSAxMy4zODI1QzkuOTM3ODYgMTMuNDc0NiA5LjE4MjgyIDEzLjg0NTcgOC42MTM4MSAxNC40MzI1QzguMDQ0NzkgMTUuMDE5MyA3LjY5NzA4IDE1Ljc4NTQgNy42MzAwMyAxNi42QzcuNTY0MDEgMTguMDQwNyA3LjY0MjQgMTkuNDg0NCA3Ljg2NDAzIDIwLjkwOTVDNi4wMDkyNyAyMS42MTQyIDQuMzg4MzIgMjIuODIzMiAzLjE4NDAzIDI0LjRDMi4xMTE1MyAyNi4zNSAxLjU0NjAzIDM0LjE1IDIuNzE2MDMgNDAuNjA0NUMzLjg4NjAzIDQ3LjA1OSA3LjIwMTAzIDU0LjE3NjUgOC44OTc1MyA1NS42QzExLjUxMDUgNTcuNzg0IDIzLjIzIDU3LjU1IDI5LjY0NTUgNTYuMjgyNUMzNi4wNjEgNTUuMDE1IDQ3LjE5NTUgNTEuMjUxNSA0OC43OTQ1IDQ4LjI4NzVDNDkuODg2NSA0Ni4zMzc1IDUwLjQzMjUgMzguNTM3NSA0OS4yNjI1IDMyLjA4M0M0OC4wOTI1IDI1LjYyODUgNDQuNzk3IDE4LjU1IDQzLjA4MSAxNy4xMjY1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDAuNTY1NCA0NS44NTAxQzQyLjYxMjkgNDMuOTAwMSA0Mi4yODE0IDQwLjgzODYgNDEuMjY3NCAzNS4yMjI2QzQwLjI1MzQgMjkuNjA2NiAzOS40MTQ5IDI2LjU2NDYgMzYuODQwOSAyNS40NzI2QzM1LjQxNzQgMjQuMjQ0MSAyOS4xOTY5IDI1LjAwNDYgMjQuMTA3NCAyNS45NDA2QzE5LjAxNzkgMjYuODc2NiAxMi45MTQ0IDI4LjQ5NTEgMTIuMDM2OSAzMC4yNTAxQzEwLjA4NjkgMzIuMjAwMSAxMC4zMDE0IDM1LjI2MTYgMTEuMzM0OSA0MC44NTgxQzEyLjM2ODQgNDYuNDU0NiAxMy4yODQ5IDQ5LjUxNjEgMTUuNzYxNCA1MC42MDgxQzE3LjE4NDkgNTEuODU2MSAyMy4zODU5IDUxLjA3NjEgMjguNDk0OSA1MC4xNTk2QzMzLjYwMzkgNDkuMjQzMSAzOS42Njg0IDQ3LjU4NTYgNDAuNTY1NCA0NS44NTAxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xOS45MTUgMzAuMjVDMTkuOTE1IDMwLjI1IDIwLjIyNyAzMy43OTkgMjEuMTgyNSAzOS4wMjVDMjIuMTM4IDQ0LjI1MSAyMy4xMzI1IDQ3LjY4MyAyMy4xMzI1IDQ3LjY4M1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzIuNjg3NSA0NS44NUMzMi42ODc1IDQ1Ljg1IDMyLjM3NTUgNDIuMzAxIDMxLjQyIDM3LjA3NUMzMC40NjQ1IDMxLjg0OSAyOS40NyAyOC40MTcgMjkuNDcgMjguNDE3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNi4wOTk5IDMyLjAyNDRDMzYuMDk5OSAzMi4wMjQ0IDMxLjc3MDkgMzIuMzM2NCAyNS40MzM0IDMzLjUwNjRDMjEuOTA0NSAzNC4xMjgxIDE4LjQwOTUgMzQuOTI4NiAxNC45NjE5IDM1LjkwNDlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTE2LjQ2MzYgNDQuMDc1NkMxNi40NjM2IDQ0LjA3NTYgMjAuNzczMSA0My43NjM2IDI3LjEzMDEgNDIuNTkzNkMzMy40ODcxIDQxLjQyMzYgMzcuNjQwNiA0MC4xOTUxIDM3LjY0MDYgNDAuMTk1MVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzYuNzgyNSAxOC43MDYxQzQxLjU0MDUgMTkuMTU0NiA0MS4zMDY1IDE5LjkxNTEgNDIuMjYyIDIxLjYxMTZcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTM2LjE3OCA1Ni4yMjQxQzM2LjE3OCA2MS42MDI3IDM4LjMxNDYgNjYuNzYxIDQyLjExNzkgNzAuNTY0MkM0NS45MjExIDc0LjM2NzUgNTEuMDc5NCA3Ni41MDQxIDU2LjQ1OCA3Ni41MDQxQzYxLjgzNjYgNzYuNTA0MSA2Ni45OTQ5IDc0LjM2NzUgNzAuNzk4MSA3MC41NjQyQzc0LjYwMTMgNjYuNzYxIDc2LjczOCA2MS42MDI3IDc2LjczOCA1Ni4yMjQxQzc2LjczOCA1MC44NDU1IDc0LjYwMTMgNDUuNjg3MiA3MC43OTgxIDQxLjg4NEM2Ni45OTQ5IDM4LjA4MDcgNjEuODM2NiAzNS45NDQxIDU2LjQ1OCAzNS45NDQxQzUxLjA3OTQgMzUuOTQ0MSA0NS45MjExIDM4LjA4MDcgNDIuMTE3OSA0MS44ODRDMzguMzE0NiA0NS42ODcyIDM2LjE3OCA1MC44NDU1IDM2LjE3OCA1Ni4yMjQxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDIuOTQ0NiA1Ni4yMjQyQzQyLjk0NDYgNTcuOTk4OCA0My4yOTQxIDU5Ljc1NjEgNDMuOTczMiA2MS4zOTU2QzQ0LjY1MjMgNjMuMDM1MSA0NS42NDc3IDY0LjUyNDggNDYuOTAyNiA2NS43Nzk3QzQ4LjE1NzQgNjcuMDM0NSA0OS42NDcyIDY4LjAyOTkgNTEuMjg2NyA2OC43MDlDNTIuOTI2MiA2OS4zODgyIDU0LjY4MzUgNjkuNzM3NyA1Ni40NTgxIDY5LjczNzdDNTguMjMyNyA2OS43Mzc3IDU5Ljk4OTkgNjkuMzg4MiA2MS42Mjk1IDY4LjcwOUM2My4yNjkgNjguMDI5OSA2NC43NTg3IDY3LjAzNDUgNjYuMDEzNiA2NS43Nzk3QzY3LjI2ODQgNjQuNTI0OCA2OC4yNjM4IDYzLjAzNTEgNjguOTQyOSA2MS4zOTU2QzY5LjYyMiA1OS43NTYxIDY5Ljk3MTYgNTcuOTk4OCA2OS45NzE2IDU2LjIyNDJDNjkuOTcxNiA1NC40NDk2IDY5LjYyMiA1Mi42OTIzIDY4Ljk0MjkgNTEuMDUyOEM2OC4yNjM4IDQ5LjQxMzMgNjcuMjY4NCA0Ny45MjM1IDY2LjAxMzYgNDYuNjY4N0M2NC43NTg3IDQ1LjQxMzkgNjMuMjY5IDQ0LjQxODUgNjEuNjI5NSA0My43MzkzQzU5Ljk4OTkgNDMuMDYwMiA1OC4yMzI3IDQyLjcxMDcgNTYuNDU4MSA0Mi43MTA3QzU0LjY4MzUgNDIuNzEwNyA1Mi45MjYyIDQzLjA2MDIgNTEuMjg2NyA0My43MzkzQzQ5LjY0NzIgNDQuNDE4NSA0OC4xNTc0IDQ1LjQxMzkgNDYuOTAyNiA0Ni42Njg3QzQ1LjY0NzcgNDcuOTIzNSA0NC42NTIzIDQ5LjQxMzMgNDMuOTczMiA1MS4wNTI4QzQzLjI5NDEgNTIuNjkyMyA0Mi45NDQ2IDU0LjQ0OTYgNDIuOTQ0NiA1Ni4yMjQyWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OC4wNTcgNTUuMjY4NUM1OC4zODg1IDUxLjA3NiA1Ny41ODkgNDguMDM0IDU2LjMwMiA0Ny45MTdDNTUuMDE1IDQ3LjggNTMuODA2IDQ5LjU5NCA1My40NzQ1IDUzLjY1QzUzLjA2NSA1OC43Mzk1IDU1LjE3MSA1OS43MzQgNTguNTgzNSA2MC4wMjY1QzYxLjk5NiA2MC4zMTkgNjQuMjM4NSA1OS40NDE1IDY0LjMzNiA1OC4wNzY1QzY0LjQzMzUgNTYuNzExNSA2My4xODU1IDU1LjYgNTguMDU3IDU1LjI2ODVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02NS45OTM0IDQxLjYxODdDNjcuOTg3MiA0Mi4yODU5IDY5LjY1NzUgNDMuNjc3OSA3MC42NzM0IDQ1LjUxODdcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIwLjU3ODEgNjguMDAxOUMyMC41NzgxIDY4Ljk3NDIgMjAuOTY0NCA2OS45MDY3IDIxLjY1MTkgNzAuNTk0MkMyMi4zMzk0IDcxLjI4MTcgMjMuMjcxOCA3MS42Njc5IDI0LjI0NDEgNzEuNjY3OUMyNS4yMTY0IDcxLjY2NzkgMjYuMTQ4OSA3MS4yODE3IDI2LjgzNjQgNzAuNTk0MkMyNy41MjM5IDY5LjkwNjcgMjcuOTEwMSA2OC45NzQyIDI3LjkxMDEgNjguMDAxOUMyNy45MTAxIDY3LjAyOTcgMjcuNTIzOSA2Ni4wOTcyIDI2LjgzNjQgNjUuNDA5N0MyNi4xNDg5IDY0LjcyMjIgMjUuMjE2NCA2NC4zMzU5IDI0LjI0NDEgNjQuMzM1OUMyMy4yNzE4IDY0LjMzNTkgMjIuMzM5NCA2NC43MjIyIDIxLjY1MTkgNjUuNDA5N0MyMC45NjQ0IDY2LjA5NzIgMjAuNTc4MSA2Ny4wMjk3IDIwLjU3ODEgNjguMDAxOVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5hY2NlbnR9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDQuNzU4MSA2LjY1NTAzQzQ0Ljc1ODEgNy4wNzUgNDQuODQwOCA3LjQ5MDg1IDQ1LjAwMTUgNy44Nzg4NUM0NS4xNjIyIDguMjY2ODUgNDUuMzk3OCA4LjYxOTQgNDUuNjk0NyA4LjkxNjM2QzQ1Ljk5MTcgOS4yMTMzMiA0Ni4zNDQyIDkuNDQ4ODggNDYuNzMyMiA5LjYwOTZDNDcuMTIwMiA5Ljc3MDMxIDQ3LjUzNjEgOS44NTMwMyA0Ny45NTYxIDkuODUzMDNDNDguMzc2IDkuODUzMDMgNDguNzkxOSA5Ljc3MDMxIDQ5LjE3OTkgOS42MDk2QzQ5LjU2NzkgOS40NDg4OCA0OS45MjA0IDkuMjEzMzIgNTAuMjE3NCA4LjkxNjM2QzUwLjUxNDMgOC42MTk0IDUwLjc0OTkgOC4yNjY4NSA1MC45MTA2IDcuODc4ODVDNTEuMDcxMyA3LjQ5MDg1IDUxLjE1NDEgNy4wNzUgNTEuMTU0MSA2LjY1NTAzQzUxLjE1NDEgNi4yMzUwNiA1MS4wNzEzIDUuODE5MjEgNTAuOTEwNiA1LjQzMTIxQzUwLjc0OTkgNS4wNDMyMSA1MC41MTQzIDQuNjkwNjcgNTAuMjE3NCA0LjM5MzdDNDkuOTIwNCA0LjA5Njc0IDQ5LjU2NzkgMy44NjExOCA0OS4xNzk5IDMuNzAwNDZDNDguNzkxOSAzLjUzOTc1IDQ4LjM3NiAzLjQ1NzAzIDQ3Ljk1NjEgMy40NTcwM0M0Ny41MzYxIDMuNDU3MDMgNDcuMTIwMiAzLjUzOTc1IDQ2LjczMjIgMy43MDA0NkM0Ni4zNDQyIDMuODYxMTggNDUuOTkxNyA0LjA5Njc0IDQ1LjY5NDcgNC4zOTM3QzQ1LjM5NzggNC42OTA2NyA0NS4xNjIyIDUuMDQzMjEgNDUuMDAxNSA1LjQzMTIxQzQ0Ljg0MDggNS44MTkyMSA0NC43NTgxIDYuMjM1MDYgNDQuNzU4MSA2LjY1NTAzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEhvbWUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjQwNjUgMzAuNjk4NUM3NS4zMzQgMjguOTA0NSA2Ny41MTQ1IDIyLjUwODUgNjAuNjMxIDE3LjgwOUM1My43NDc1IDEzLjEwOTUgNDUuMDMxIDguMDU5MDIgNDIuOTA1NSA3Ljc2NjUyQzQwLjk5NDggNy4yMTI5MiAzOC45NjYyIDcuMjEyOTIgMzcuMDU1NSA3Ljc2NjUyQzM1LjA0NyA4LjExNzUyIDI2LjM1IDEzLjA5IDE5LjM2OSAxNy44MDlDMTIuMzg4IDIyLjUyOCA0LjY2NiAyOC45MDQ1IDMuNTkzNSAzMC42OTg1QzAuOTYxMDAxIDMzLjU0NTUgMS45MTY1IDM4LjI2NDUgMy44MDggNDEuMDMzNUM1LjY5OTUgNDMuODAyNSA5LjM2NTUgNDYuMTAzNSAxMi44MTcgNDUuMTA5VjQ3Ljg1ODVDMTIuNyA1NS44MTQ1IDE1LjAwMSA2NS4zNSAxNy4yODI1IDY3LjNDMTkuNTQ0NSA3MC44Mjk1IDMxLjIyNSA3Mi42NDMgNDAgNzIuNjQzQzQ4Ljc3NSA3Mi42NDMgNjAuNDU1NSA3MC44Mjk1IDYyLjcxNzUgNjcuM0M2NC45OTkgNjUuMzUgNjcuMyA1NS44MTQ1IDY3LjMgNDcuOFY0NS4wNTA1QzcwLjc1MTUgNDYuMDQ1IDc0LjUxNSA0My42MDc1IDc2LjMwOSA0MC45NzVDNzguMTAzIDM4LjM0MjUgNzkgMzMuNTQ1NSA3Ni40MDY1IDMwLjY5ODVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MCA0Ni41MzI1QzI3LjkxIDQ2LjUzMjUgMzIuNzA3IDYzLjQ1ODUgMzQuMDUyNSA2NC45MjFDMzQuNzE1NSA2Ni4zNjQgMzcuNDQ1NSA2Ni4zNjQgNDAgNjYuMzY0QzQyLjU1NDUgNjYuMzY0IDQ1LjI4NDUgNjYuMzY0IDQ1Ljk0NzUgNjQuOTIxQzQ3LjI5MyA2My40IDUyLjA5IDQ2LjUzMjUgNDAgNDYuNTMyNVpcIlxuICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTIxLjY1MDQgMzkuNTUxNUMyNy42OTg2IDM2LjgwMTMgMzMuMzg5MSAzMy4zMjQyIDM4LjU5NTkgMjkuMTk3QzM4Ljk5NjkgMjguODgzOSAzOS40OTExIDI4LjcxMzkgMzkuOTk5OSAyOC43MTM5QzQwLjUwODcgMjguNzEzOSA0MS4wMDI5IDI4Ljg4MzkgNDEuNDAzOSAyOS4xOTdDNDYuNjEwNyAzMy4zMjQyIDUyLjMwMTIgMzYuODAxMyA1OC4zNDk0IDM5LjU1MTVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDQuODk0NSAxNS40MTA1QzQ5LjQyMzYgMTcuMzkwMSA1My41OTQzIDIwLjEwNDYgNTcuMjM4IDIzLjQ0NDVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgSW5mb3JtYXRpb24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0Ljk3NiA2My4xMjcxQzUyLjg5OTMgNjIuNjkxNCA1MC43Nzk1IDYyLjQ5NTEgNDguNjU4IDYyLjU0MjFDNDguOTcgNTguNzU5MSA0OS4wNjc1IDUzLjkyMzEgNDkuMDY3NSA0OS44MjgxQzQ5LjA2NzUgNDIuNTkzNiA0OC41MjE1IDMzLjEzNjEgNDcuNDI5NSAzMS4xMDgxQzQ1LjI4NDUgMjcuMjA4MSAzOC4xMjggMjcuMzY0MSAzMy45NTUgMjcuMzY0MUMzMC4wNTUgMjcuMzY0MSAyNC45MDcgMjcuNTc4NiAyMy44OTMgMjguNjMxNkMyMi44NzkgMjkuMTc3NiAyMS45NDMgMzIuMDI0NiAyMS45NDMgMzQuNDgxNkMyMS45NDMgMzYuOTM4NiAyMi45Mzc1IDM5LjY4ODEgMjMuODkzIDQwLjIzNDFDMjQuODQ4NSA0MC43ODAxIDI3Ljc5MyA0MS4zNjUxIDMxLjA4ODUgNDEuNDYyNkMzMC45NzE1IDQ0LjI3MDYgMzAuOTMyNSA0Ny4zMTI2IDMwLjkzMjUgNDkuOTI1NkMzMC45MzI1IDU0LjAyMDYgMzEuMDMgNTguODU2NiAzMS4zNDIgNjIuNjM5NkMyOS4yMjA2IDYyLjU5MjYgMjcuMTAwOCA2Mi43ODg5IDI1LjAyNCA2My4yMjQ2QzIyLjIzNTUgNjMuODQ4NiAyMS44ODQ1IDY3LjkwNDYgMjEuODg0NSA3MC4yNjQxQzIxLjg4NDUgNzIuNjIzNiAyMi4yMzU1IDc2LjY5OTEgMjUuMDI0IDc3LjMyMzFDMjYuNDA4NSA3Ny45Mjc2IDMzLjgzOCA3Ny45ODYxIDQwIDc3Ljk4NjFDNDYuMTYyIDc3Ljk4NjEgNTMuNjUgNzcuOTg2MSA1NC45NzYgNzcuMzIzMUM1Ny43NjQ1IDc2LjY5OTEgNTguMTE1NSA3Mi42NDMxIDU4LjExNTUgNzAuMjY0MUM1OC4xMTU1IDY3Ljg4NTEgNTcuNzY0NSA2My43NTExIDU0Ljk3NiA2My4xMjcxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjguNzY4MSAxMC41MzU2QzI4Ljc2ODEgMTIuNzY5OCAyOS42NTU2IDE0LjkxMjQgMzEuMjM1NCAxNi40OTIyQzMyLjgxNTIgMTguMDcyIDM0Ljk1NzkgMTguOTU5NiAzNy4xOTIxIDE4Ljk1OTZDMzkuNDI2MyAxOC45NTk2IDQxLjU2ODkgMTguMDcyIDQzLjE0ODcgMTYuNDkyMkM0NC43Mjg1IDE0LjkxMjQgNDUuNjE2MSAxMi43Njk4IDQ1LjYxNjEgMTAuNTM1NkM0NS42MTYxIDguMzAxMzkgNDQuNzI4NSA2LjE1ODcxIDQzLjE0ODcgNC41Nzg5QzQxLjU2ODkgMi45OTkxIDM5LjQyNjMgMi4xMTE1NyAzNy4xOTIxIDIuMTExNTdDMzQuOTU3OSAyLjExMTU3IDMyLjgxNTIgMi45OTkxIDMxLjIzNTQgNC41Nzg5QzI5LjY1NTYgNi4xNTg3MSAyOC43NjgxIDguMzAxMzkgMjguNzY4MSAxMC41MzU2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzcuMjUwNSAzMy4xOTQ2QzQwLjI1MzUgMzMuMDE5MSA0MS43MTYgMzMuMTk0NiA0Mi4zOTg1IDMzLjY4MjFDNDMuMDgxIDM0LjE2OTYgNDIuNzMgMzUuNjMyMSA0Mi43MyAzNS42MzIxXCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0zNy43MzggNy4wMDYxQzM4LjcwMzggNy4yNjc2IDM5LjU1MDUgNy44NTI3MSA0MC4xMzY1IDguNjYzNlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBNb20gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU2Ljc4OTQgNDIuODQ3MUM2Mi42Mzk0IDQxLjgzMzEgNjQuNTg5NCA0MC4yNzMxIDYzLjE2NTkgMzguNjkzNkM2MC44NDU0IDM2LjA2MTEgNjAuODQ1NCAzMC44OTM2IDYwLjg0NTQgMjUuNTcwMUM2MC44NDU0IDExLjQxMzEgNTMuOTAzNCAxLjk3NTEgMzkuOTk5OSAxLjk3NTFDMjYuMDk2NCAxLjk3NTEgMTkuMTU0NCAxMS40MTMxIDE5LjE1NDQgMjUuNTcwMUMxOS4xNTQ0IDMwLjgxNTYgMTkuMTU0NCAzNi4wNjExIDE2LjgzMzkgMzguNjkzNkMxNS40Mjk5IDQwLjI3MzEgMTcuNDE4OSA0MS44MzMxIDIzLjIxMDQgNDIuODQ3MUMxNS4yMTU0IDQ3LjY0NDEgMTEuMTU5NCA1Ni4zNjA2IDExLjE1OTQgNjcuNTM0MUMxMS4xNTk0IDc1LjMzNDEgMjAuNzcyOSA3OC4wMjUxIDM5Ljk5OTkgNzguMDI1MUM1OS4yMjY5IDc4LjAyNTEgNjguODQwNCA3NS40MTIxIDY4Ljg0MDQgNjcuNTM0MUM2OC44NDA0IDU2LjM2MDYgNjQuNzg0NCA0Ny42NDQxIDU2Ljc4OTQgNDIuODQ3MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ2LjEwMzUgOC4wNTkwOEM0OC40MDMgOC44Njg4NyA1MC40MDIzIDEwLjM1ODEgNTEuODM2NSAxMi4zMjk2XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuNjE1IDMxLjM0MkMzMS42MTUgMzEuMzQyIDMzLjcwMTUgMzMuNDQ4IDQwIDMzLjQ0OEM0Ni4yOTg1IDMzLjQ0OCA0OC4zODUgMzEuMzQyIDQ4LjM4NSAzMS4zNDJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5LjUwOSAyMS45MDQxQzI5LjUwOSAyMi43MzY4IDI5LjgzOTggMjMuNTM1MyAzMC40Mjg2IDI0LjEyNDFDMzEuMDE3MyAyNC43MTI5IDMxLjgxNTkgMjUuMDQzNiAzMi42NDg1IDI1LjA0MzZDMzMuNDgxMiAyNS4wNDM2IDM0LjI3OTcgMjQuNzEyOSAzNC44Njg1IDI0LjEyNDFDMzUuNDU3MyAyMy41MzUzIDM1Ljc4OCAyMi43MzY4IDM1Ljc4OCAyMS45MDQxQzM1Ljc4OCAyMS4wNzE1IDM1LjQ1NzMgMjAuMjczIDM0Ljg2ODUgMTkuNjg0MkMzNC4yNzk3IDE5LjA5NTQgMzMuNDgxMiAxOC43NjQ2IDMyLjY0ODUgMTguNzY0NkMzMS44MTU5IDE4Ljc2NDYgMzEuMDE3MyAxOS4wOTU0IDMwLjQyODYgMTkuNjg0MkMyOS44Mzk4IDIwLjI3MyAyOS41MDkgMjEuMDcxNSAyOS41MDkgMjEuOTA0MVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00NC4yMTE5IDIxLjkwNDFDNDQuMjExOSAyMi43MzY4IDQ0LjU0MjcgMjMuNTM1MyA0NS4xMzE1IDI0LjEyNDFDNDUuNzIwMiAyNC43MTI5IDQ2LjUxODggMjUuMDQzNiA0Ny4zNTE0IDI1LjA0MzZDNDguMTg0MSAyNS4wNDM2IDQ4Ljk4MjYgMjQuNzEyOSA0OS41NzE0IDI0LjEyNDFDNTAuMTYwMSAyMy41MzUzIDUwLjQ5MDkgMjIuNzM2OCA1MC40OTA5IDIxLjkwNDFDNTAuNDkwOSAyMS40OTE5IDUwLjQwOTcgMjEuMDgzNiA1MC4yNTE5IDIwLjcwMjdDNTAuMDk0MiAyMC4zMjE4IDQ5Ljg2MjkgMTkuOTc1NyA0OS41NzE0IDE5LjY4NDJDNDkuMjc5OCAxOS4zOTI3IDQ4LjkzMzggMTkuMTYxNCA0OC41NTI4IDE5LjAwMzZDNDguMTcxOSAxOC44NDU5IDQ3Ljc2MzcgMTguNzY0NiA0Ny4zNTE0IDE4Ljc2NDZDNDYuOTM5MSAxOC43NjQ2IDQ2LjUzMDkgMTguODQ1OSA0Ni4xNSAxOS4wMDM2QzQ1Ljc2OTEgMTkuMTYxNCA0NS40MjMgMTkuMzkyNyA0NS4xMzE1IDE5LjY4NDJDNDQuODM5OSAxOS45NzU3IDQ0LjYwODcgMjAuMzIxOCA0NC40NTA5IDIwLjcwMjdDNDQuMjkzMSAyMS4wODM2IDQ0LjIxMTkgMjEuNDkxOSA0NC4yMTE5IDIxLjkwNDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3Ryb2tlfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjEuNjUwNCA0My45MDAxQzI0LjA5NjUgNDIuNjE5NiAyNi43Mjg2IDQxLjczMTIgMjkuNDUwNCA0MS4yNjc2TDIxLjY1MDQgNDMuOTAwMVpcIlxuICAgICAgICBmaWxsPVwiI0VCNzMyMlwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yMS42NTA0IDQzLjkwMDFDMjQuMDk2NSA0Mi42MTk2IDI2LjcyODYgNDEuNzMxMiAyOS40NTA0IDQxLjI2NzZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjM0OTMgNDMuOTAwMUM1NS43MzYzIDQxLjI2NzYgNTAuNTQ5MyA0MS4yNjc2IDUwLjU0OTMgNDEuMjY3Nkw1OC4zNDkzIDQzLjkwMDFaXCJcbiAgICAgICAgZmlsbD17VGhlbWUucHJpbWFyeX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU4LjM0OTMgNDMuOTAwMUM1NS43MzYzIDQxLjI2NzYgNTAuNTQ5MyA0MS4yNjc2IDUwLjU0OTMgNDEuMjY3NlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBNYWlsID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk03MS4yMDAxIDY2LjUwMDVDNzcuMDUwMSA2My44NDg1IDc4LjA4MzYgNTAuMjM3NSA3OC4wODM2IDQwQzc4LjA4MzYgMjkuNzYyNSA3Ni45MzMxIDE2LjE1MTUgNzEuMjAwMSAxMy40OTk1QzY4LjMxNDEgMTAuODQ3NSA1Mi44NzAxIDEwLjEyNiA0MC4wMDAxIDEwLjEyNkMyNy4xMzAxIDEwLjEyNiAxMS43NjQxIDEwLjg0NzUgOC44MDAxIDEzLjQ5OTVDMy4wNjcxIDE2LjE1MTUgMS45NzUxIDI5Ljc2MjUgMS45NzUxIDQwQzEuOTc1MSA1MC4yMzc1IDMuMDY3MSA2My44NDg1IDguODAwMSA2Ni41MDA1QzExLjcwNTYgNjkuMTUyNSAyNy4xNDk2IDY5Ljg3NCA0MC4wMDAxIDY5Ljg3NEM1Mi44NTA2IDY5Ljg3NCA2OC4yNTU2IDY5LjI1IDcxLjIwMDEgNjYuNTAwNVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTEwLjEwNjcgMjYuMzUwMUMxNy4yMjQyIDMzLjc3OTYgMjcuNTM5NyA0MS44MTM2IDMwLjcxODIgNDMuMTk4MUMzMy42MDczIDQ0LjYxNSAzNi43ODI0IDQ1LjM1MTcgNDAuMDAwMiA0NS4zNTE3QzQzLjIxOCA0NS4zNTE3IDQ2LjM5MzEgNDQuNjE1IDQ5LjI4MjIgNDMuMTk4MUM1Mi40NDEyIDQxLjk1MDEgNjIuNzU2NyAzMy44NTc2IDY5Ljg3NDIgMjYuMzUwMVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS4xMzg3IDQyLjcxMDRMMTUuNTY2NyA1Ni4zMDE5XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTUwLjg2MTYgNDIuNzEwNEw2NC40NTMxIDU2LjMwMTlcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuNjQ3NyAxNS42ODM0QzYxLjE1MTcgMTUuNjc2NSA2NC42Mjk4IDE2LjI4MzcgNjcuOTI0MiAxNy40Nzc0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IE5vID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xLjk3NTEgNDAuMDAwMUMxLjk3NTEgNTAuMDg1IDUuOTgxMjkgNTkuNzU2OCAxMy4xMTI0IDY2Ljg4NzhDMjAuMjQzNCA3NC4wMTg5IDI5LjkxNTIgNzguMDI1MSA0MC4wMDAxIDc4LjAyNTFDNTAuMDg1IDc4LjAyNTEgNTkuNzU2OCA3NC4wMTg5IDY2Ljg4NzggNjYuODg3OEM3NC4wMTg5IDU5Ljc1NjggNzguMDI1MSA1MC4wODUgNzguMDI1MSA0MC4wMDAxQzc4LjAyNTEgMjkuOTE1MiA3NC4wMTg5IDIwLjI0MzQgNjYuODg3OCAxMy4xMTI0QzU5Ljc1NjggNS45ODEyOSA1MC4wODUgMS45NzUxIDQwLjAwMDEgMS45NzUxQzI5LjkxNTIgMS45NzUxIDIwLjI0MzQgNS45ODEyOSAxMy4xMTI0IDEzLjExMjRDNS45ODEyOSAyMC4yNDM0IDEuOTc1MSAyOS45MTUyIDEuOTc1MSA0MC4wMDAxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmRhbmdlcn1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01OS42NTYgNTAuNTQ5NUM1OS4zNDQgNDkuMDQ4IDU1LjE1MTUgNDQuNDA3IDUwLjkyIDQwQzU1LjE1MTUgMzUuNTkzIDU5LjM0NCAzMC45NTIgNTkuNjU2IDI5LjQ1MDVDNjAuNTUzIDI3LjcxNSA1OC40Mjc1IDI1LjMzNiA1Ni41NTU1IDIzLjQ0NDVDNTQuNjgzNSAyMS41NTMgNTIuMjg1IDE5LjU0NDUgNTAuNTQ5NSAyMC4zNDRDNDkuMDQ4IDIwLjY1NiA0NC40MDcgMjQuODQ4NSA0MCAyOS4wOEMzNS41OTMgMjQuODQ4NSAzMC45NTIgMjAuNjU2IDI5LjQ1MDUgMjAuMzQ0QzI3LjcxNSAxOS40NDcgMjUuMzM2IDIxLjU3MjUgMjMuNDY0IDIzLjQ0NDVDMjEuNTkyIDI1LjMxNjUgMTkuNDQ3IDI3LjcxNSAyMC4zNDQgMjkuNDUwNUMyMC42NTYgMzAuOTUyIDI0Ljg0ODUgMzUuNTkzIDI5LjA4IDQwQzI0Ljg0ODUgNDQuNDA3IDIwLjY1NiA0OS4wNDggMjAuMzQ0IDUwLjU0OTVDMTkuNDQ3IDUyLjI4NSAyMS41NzI1IDU0LjY2NCAyMy40NDQ1IDU2LjU1NTVDMjUuMzE2NSA1OC40NDcgMjcuNzE1IDYwLjU1MyAyOS40NTA1IDU5LjY1NkMzMC45NTIgNTkuMzQ0IDM1LjU5MyA1NS4xNTE1IDQwIDUwLjkyQzQ0LjQwNyA1NS4xNTE1IDQ5LjA0OCA1OS4zNDQgNTAuNTQ5NSA1OS42NTZDNTIuMjg1IDYwLjU1MyA1NC42NjQgNTguNDI3NSA1Ni41NTU1IDU2LjU1NTVDNTguNDQ3IDU0LjY4MzUgNjAuNTUzIDUyLjI4NSA1OS42NTYgNTAuNTQ5NVpcIlxuICAgICAgICBmaWxsPVwiI0ZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTQuNzQyMiAxMC43NUM1OC42MzczIDEyLjQyMTQgNjIuMTMzMyAxNC45MDA2IDY0Ljk5OTIgMTguMDIzNVwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUZpZ3VyZUJhc2UgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRGaWd1cmVQYXRoIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5zdHlsZXNcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9jb21wb25lbnRzL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlQ3R4IH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUZpZ3VyZVRoZW1lIH0gZnJvbSBcIkAvdWkvZmlndXJlL2hvb2tzL3VzZS1maWd1cmUudGhlbWVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGaWxlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00OC40NDM0IDIuMjQ4MUM0NS41NzY5IDIuMDUzMSA0Mi42NzE0IDEuOTc1MSAzOS45OTk5IDEuOTc1MUMyOS4zNzI0IDEuOTc1MSAxNS4yNTQ0IDMuMDY3MSAxMi41MjQ0IDguODAwMUM5Ljc3NDkgMTEuNjg2MSA5LjAxNDQgMjcuMTQ5NiA5LjAxNDQgNDAuMDAwMUM5LjAxNDQgNTIuODUwNiA5Ljc3NDkgNjguMjU1NiAxMi41MjQ0IDcxLjIwMDFDMTUuMjU0NCA3Ny4wNTAxIDI5LjM3MjQgNzguMDgzNiAzOS45OTk5IDc4LjA4MzZDNTAuNjI3NCA3OC4wODM2IDY0Ljc0NTQgNzYuOTMzMSA2Ny40NzU0IDcxLjIwMDFDNzAuMjI0OSA2OC4zMTQxIDcwLjk4NTQgNTIuODUwNiA3MC45ODU0IDQwLjAwMDFDNzAuOTg1NCAzNS44ODU2IDcwLjk4NTQgMzEuNDc4NiA3MC43MTI0IDI3LjMyNTFDNzAuNDU4OSAyMS45NDMxIDU0LjE1NjkgMi42MTg2IDQ4LjQ0MzQgMi4yNDgxWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDUuNjM1NSAxMC40MTg3QzQ1LjYzNTUgMTYuMDU0MiA0NS42MzU1IDIxLjY4OTcgNDguNDQzNSAyNC41MTcyQzUxLjI1MTUgMjcuMzQ0NyA1Ni45MDY1IDI3LjMyNTIgNjIuNTQyIDI3LjMyNTJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTIuNTk2OSAxMS4yMThDNTQuNjg4OCAxMi44NjE0IDU2LjU0NTYgMTQuNzgzOCA1OC4xMTU0IDE2LjkzMTVcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgWWVzID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yLjg5MTYgNDAuMDAwMUMyLjg5MTYgNDQuOTkzNiAzLjg1MTQ0IDQ5LjkzODIgNS43MTYzMiA1NC41NTE2QzcuNTgxMTkgNTkuMTY1IDEwLjMxNDYgNjMuMzU2OSAxMy43NjA0IDY2Ljg4NzhDMTcuMjA2MyA3MC40MTg4IDIxLjI5NzEgNzMuMjE5NyAyNS43OTkzIDc1LjEzMDZDMzAuMzAxNSA3Ny4wNDE2IDM1LjEyNjkgNzguMDI1MSA0MC4wMDAxIDc4LjAyNTFDNDQuODczMyA3OC4wMjUxIDQ5LjY5ODcgNzcuMDQxNiA1NC4yMDA5IDc1LjEzMDZDNTguNzAzMSA3My4yMTk3IDYyLjc5MzkgNzAuNDE4OCA2Ni4yMzk4IDY2Ljg4NzhDNjkuNjg1NiA2My4zNTY5IDcyLjQxOSA1OS4xNjUgNzQuMjgzOSA1NC41NTE2Qzc2LjE0ODggNDkuOTM4MiA3Ny4xMDg2IDQ0Ljk5MzYgNzcuMTA4NiA0MC4wMDAxQzc3LjEwODYgMzUuMDA2NiA3Ni4xNDg4IDMwLjA2MiA3NC4yODM5IDI1LjQ0ODZDNzIuNDE5IDIwLjgzNTIgNjkuNjg1NiAxNi42NDMzIDY2LjIzOTggMTMuMTEyNEM2Mi43OTM5IDkuNTgxNDEgNTguNzAzMSA2Ljc4MDUxIDU0LjIwMDkgNC44Njk1OEM0OS42OTg3IDIuOTU4NjQgNDQuODczMyAxLjk3NTEgNDAuMDAwMSAxLjk3NTFDMzUuMTI2OSAxLjk3NTEgMzAuMzAxNSAyLjk1ODY0IDI1Ljc5OTMgNC44Njk1OEMyMS4yOTcxIDYuNzgwNTEgMTcuMjA2MyA5LjU4MTQxIDEzLjc2MDQgMTMuMTEyNEMxMC4zMTQ2IDE2LjY0MzMgNy41ODExOSAyMC44MzUyIDUuNzE2MzIgMjUuNDQ4NkMzLjg1MTQ0IDMwLjA2MiAyLjg5MTYgMzUuMDA2NiAyLjg5MTYgNDAuMDAwMVpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdWNjZXNzfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU0Ljg1OTEgMTAuMjYyN0M1OC42NzQ2IDExLjkzNTUgNjIuMDgxMiAxNC40MTcyIDY0Ljg0MzEgMTcuNTM2MlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuMzU1IDIyLjkxODFDNTYuODg0MSAyMi40NDY0IDU2LjMyNDkgMjIuMDcyMiA1NS43MDkyIDIxLjgxNjlDNTUuMDkzNSAyMS41NjE2IDU0LjQzMzYgMjEuNDMwMiA1My43NjcgMjEuNDMwMkM1My4xMDA1IDIxLjQzMDIgNTIuNDQwNiAyMS41NjE2IDUxLjgyNDkgMjEuODE2OUM1MS4yMDkyIDIyLjA3MjIgNTAuNjUgMjIuNDQ2NCA1MC4xNzkgMjIuOTE4MUM0Ni4yMTU4IDI2LjMwMzQgNDIuNzAzMiAzMC4xODMxIDM5LjcyNyAzNC40NjIxQzM4LjQ5ODUgMzYuMTAwMSAzNy4zNDggMzcuNjc5NiAzNi4yOTUgMzkuMTYxNkMzMi4zOTUgMzYuMTU4NiAyOS40MzEgMzQuMDUyNiAyOC4xODMgMzMuODk2NkMyNi4wNTc1IDMzLjA1ODEgMjMuNzU2NSAzNS40MTc2IDIyLjMzMyAzNy40MDY2QzIwLjkwOTUgMzkuMzk1NiAxOS4xNzQgNDIuMjIzMSAyMC41IDQ0LjA5NTFDMjAuOTg3NSA0NS4yODQ2IDIzLjY5OCA0Ny44MDAxIDI3LjUzOTUgNTAuNzgzNkMzMi4xMjIgNTQuMzcxNiAzNS40NTY1IDU3LjA4MjEgMzcuMjg5NSA1Ny4zMzU2QzQwLjI3MyA1OC41MjUxIDQyLjM3OSA1NC44OTgxIDUwLjkzOTUgNDMuMzE1MUM1NC4xODggMzkuMjE2MSA1Ni45MzczIDM0Ljc0NTIgNTkuMTI5NSAyOS45OTY2QzU5Ljc4MTcgMjguODEwNiA1OS45NjEyIDI3LjQyMTggNTkuNjMyIDI2LjEwOUM1OS4zMDI5IDI0Ljc5NjEgNTguNDg5NSAyMy42NTYzIDU3LjM1NSAyMi45MTgxWlwiXG4gICAgICAgIGZpbGw9XCIjRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IE5vdGUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjIxMTYgMjQuODg0NkM3NC41NTQxIDIwLjY3MjYgNjMuNjM0MSAyMC4wODc2IDU3LjI1NzYgMjAuMDg3NkM1MS4xODg2IDIwLjQwOTkgNDUuMjc5IDIyLjE0NjEgNDAuMDAwMSAyNS4xNTc2QzM0LjcyMTIgMjIuMTQ2MSAyOC44MTE2IDIwLjQwOTkgMjIuNzQyNiAyMC4wODc2QzE2LjM2NjEgMjAuMDg3NiA1LjQ0NjEgMjAuNjcyNiAzLjc4ODYgMjQuODg0NkMyLjEzMTEgMjcuMDEwMSAxLjk3NTEgMzguMzIwMSAxLjk3NTEgNDcuNjk5NkMxLjk3NTEgNTcuMDc5MSAyLjEzMTEgNjguNDA4NiAzLjc4ODYgNzAuNTM0MUM1LjQ0NjEgNzQuNzg1MSAxNC42NTAxIDcxLjA4MDEgMjIuNzQyNiA3MS4wODAxQzI2LjIyOTEgNzEuMTkwMSAyOS43MDI5IDcxLjU1NTEgMzMuMTM2MSA3Mi4xNzIxQzMzLjkxNjEgNzUuNDA5MSAzNy43MzgxIDc1Ljg1NzcgNDAuMDAwMSA3NS44NTc3QzQyLjI2MjEgNzUuODU3NyA0Ni4wNDUxIDc1LjQwOTEgNDYuODQ0NiA3Mi4yMTExQzUwLjI4NTggNzEuNTk3MiA1My43NjQ5IDcxLjIxOTMgNTcuMjU3NiA3MS4wODAxQzY2LjA1MjEgNzEuMDgwMSA3NC41NTQxIDc0Ljc4NTEgNzYuMjExNiA3MC41MzQxQzc3Ljg2OTEgNjguNDA4NiA3OC4wMjUxIDU3LjA5ODYgNzguMDI1MSA0Ny42OTk2Qzc4LjAyNTEgMzguMzAwNiA3Ny44NjkxIDI3LjAxMDEgNzYuMjExNiAyNC44ODQ2WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMjkuODYgMzIuNzYyN0MyMy45NjQ3IDMyLjA4MDEgMTguMDEwMyAzMi4wODAxIDEyLjExNSAzMi43NjI3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0yOS44NiA0NS40Mzc3QzIzLjk2NDcgNDQuNzU1MSAxOC4wMTAzIDQ0Ljc1NTEgMTIuMTE1IDQ1LjQzNzdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTI5Ljg2IDU4LjYxOTZDMjMuOTY0NyA1Ny45MzcgMTguMDEwMyA1Ny45MzcgMTIuMTE1IDU4LjYxOTZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3Ljg4NTEgMzIuNzYyN0M2MS45ODk4IDMyLjA4MDEgNTYuMDM1NCAzMi4wODAxIDUwLjE0MDEgMzIuNzYyN1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNjcuODg1MSA0NS40Mzc3QzYxLjk4OTggNDQuNzU1MSA1Ni4wMzU0IDQ0Ljc1NTEgNTAuMTQwMSA0NS40Mzc3XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk02Ny44ODUxIDU4LjYxOTZDNjEuOTg5OCA1Ny45MzcgNTYuMDM1NCA1Ny45MzcgNTAuMTQwMSA1OC42MTk2XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk00MCAyNS4xNTc3VjYwLjY0NzdcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTY3LjE2MzYgMjUuMTU3N0M3Mi4zODk2IDI1LjkzNzcgNzIuNDg3MSAyNy4zNDE3IDcyLjY4MjEgMjkuNjYyMlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZcIlxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzguMzI5MiAyNi4wMjA0QzM4LjI3NzQgMjYuMDcyMiAzNy4wMjU1IDI2Ljg4MzcgMzUuODQyNyAzMi4zMTQxQzM1LjM4MTIgMzQuMzE3NSAzNS4xNzgxIDM2LjM3MTcgMzUuMjM4NCAzOC40MjY2QzM1LjMxNDkgMzkuMDU5NSAzNS42MDE1IDM5LjY0ODQgMzYuMDUyMyA0MC4wOTkyQzM2LjUwMyA0MC41NSAzNy4wOTE5IDQwLjgzNjUgMzcuNzI0OCA0MC45MTMxQzM5Ljc3OTggNDAuOTczNCA0MS44MzQgNDAuNzcwMyA0My44MzczIDQwLjMwODdDNDQuNTg4NCA0MC4xNDQ3IDQ4LjgwMTUgMzkuMTYwNSA1MC4xMzk3IDM3LjgyMjNMNTcuMDQ2NSAzMC45MTU1QzYwLjU3NzUgMjcuMzc1OCA2OC43MzYxIDE4Ljg4MDUgNjguNzUzNCAxNy4wNTg5QzY5LjIxOTYgMTUuNjk0OCA2Ny43MzQ2IDEyLjM3OTUgNjUuNzQ5IDEwLjM5MzlDNjMuNzYzMyA4LjQwODE3IDYwLjQ0OCA2LjkyMzIyIDU5LjA3NTMgNy4zODk0MkM1Ny4yNjIzIDcuMzg5NDIgNDguNzY3IDE1LjU2NTMgNDUuMjYxOCAxOS4xMTM2TDM4LjMyOTIgMjYuMDIwNFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdXBwb3J0aW5nfVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTQ4LjE0NTMgMzQuODA5MkM0Ny4yMjA0IDMzLjQ5NjcgNDYuMTcwOSAzMi4yNzY2IDQ1LjAxMTQgMzEuMTY1OUM0My45MDQ1IDMwLjAwNTYgNDIuNjg3MiAyOC45NTYgNDEuMzc2NyAyOC4wMzJcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTYzLjkyNzMgMTkuMDI3MkM2My4wMDg3IDE3LjcwOTggNjEuOTU4NyAxNi40ODkxIDYwLjc5MzMgMTUuMzgzOUM1OS42OTQ3IDE0LjIyNSA1OC40ODYxIDEzLjE3NTQgNTcuMTg0NiAxMi4yNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTkuNjM2NSA5LjgxNTMxQzYwLjE3MTcgOS40MDA5MSA2Mi4xNjYxIDEwLjQxMSA2My43MTE1IDExLjY4MDFcIlxuICAgICAgICBzdHJva2U9XCIjRkZGXCJcbiAgICAgICAgZmlsbD1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9GaWd1cmU+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElGaWd1cmVCYXNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRmlndXJlUGF0aCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3R5bGVzXCI7XG5pbXBvcnQgeyBGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvY29tcG9uZW50cy9maWd1cmVcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VGaWd1cmVUaGVtZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9ob29rcy91c2UtZmlndXJlLnRoZW1lXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRmVuY2UgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElGaWd1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEZpZ3VyZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGaWd1cmVUaGVtZShDb250ZXh0LCBpc1NrZWxldG9uKTtcblxuICByZXR1cm4gKFxuICAgIDxGaWd1cmUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTc2LjgzNTQgMjMuNjAwNUM3My43Mzc2IDIwLjg1MjkgNzAuMzQzMSAxOC40NTkxIDY2LjcxNDkgMTYuNDYzNUM2My4yMTQ4IDE0LjI4NDUgNTkuNDg3OCAxMi40OTMgNTUuNTk5OSAxMS4xMjA1QzU0LjQyMzYgMTAuODYyNyA1My4xOTc4IDEwLjk1MDcgNTIuMDcwNCAxMS4zNzRDNDguMzg1MSAxMy4yNjIyIDQ0LjkxOTEgMTUuNTUxMSA0MS43MzU0IDE4LjE5OUMzOC40MjY5IDIwLjY5NzYgMzUuMzk5NiAyMy41NDgzIDMyLjcwNjkgMjYuNzAxQzMyLjEyNzcgMjcuNjcwMyAzMS44NzA0IDI4Ljc5ODEgMzEuOTcyIDI5LjkyMjdDMzIuMDczNiAzMS4wNDczIDMyLjUyODkgMzIuMTEwOCAzMy4yNzI0IDMyLjk2MDVDMzMuOTAyNyAzMy44Mjg5IDM0Ljc3NjUgMzQuNDkwNyAzNS43ODMyIDM0Ljg2MjJDMzYuNzg5OSAzNS4yMzM2IDM3Ljg4NDIgMzUuMjk3OSAzOC45Mjc0IDM1LjA0N1YzNi43MjRDMzkuMjc4NCA0MS41NiA0MS4wNTI5IDQ3LjI5MyA0Mi41MTU0IDQ4LjI4NzVDNDQuMDM2NCA1MC4zNzQgNTEuMTkyOSA1MC45Nzg1IDU2LjUzNTkgNTAuNjA4QzYxLjg3ODkgNTAuMjM3NSA2OC44NTk5IDQ4LjY1OCA3MC4xODU5IDQ2LjM1N0M3MS40NzI5IDQ1LjE2NzUgNzIuNDQ3OSAzOS4yMzk1IDcyLjEzNTkgMzQuNDAzNUM3Mi4xMzU5IDMzLjg1NzUgNzIuMDM4NCAzMy4zMTE1IDcxLjk2MDQgMzIuNzQ2QzczLjAyNjMgMzIuODQzNSA3NC4wOTcyIDMyLjYyNTcgNzUuMDQwMiAzMi4xMTk1Qzc1Ljk4MzMgMzEuNjEzMyA3Ni43NTY3IDMwLjg0MTIgNzcuMjY0NSAyOS44OTlDNzcuODc0MiAyOC45NDA3IDc4LjE2MTUgMjcuODEyNSA3OC4wODQzIDI2LjY3OTNDNzguMDA3MiAyNS41NDYxIDc3LjU2OTUgMjQuNDY3MyA3Ni44MzU0IDIzLjYwMDVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkRmlndXJlUGF0aFxuICAgICAgICBkPVwiTTU1LjQyNDUgMzQuNzc0QzQ4LjA5MjUgMzUuMjgxIDUxLjcxOTUgNDUuMzQzIDUyLjU5NyA0Ni4xODE1QzUzLjA0NTUgNDcuMDIgNTQuNzAzIDQ2LjkwMyA1Ni4yNjMgNDYuODA1NUM1Ny44MjMgNDYuNzA4IDU5LjQ2MSA0Ni41NzE1IDU5LjgxMiA0NS42NzQ1QzYwLjU3MjUgNDQuNzE5IDYyLjc1NjUgMzQuMjQ3NSA1NS40MjQ1IDM0Ljc3NFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNDMuOTk3NCAzMS4zMDNDNDcuNTQ3MyAyOS40MDkyIDUwLjg1NCAyNy4wOTEyIDUzLjg0NDkgMjQuNEM1NC4wNzQ0IDI0LjE5NDYgNTQuMzY1OCAyNC4wNzE1IDU0LjY3MzEgMjQuMDUwM0M1NC45ODA0IDI0LjAyOTEgNTUuMjg1OSAyNC4xMTEgNTUuNTQxNCAyNC4yODNDNTguODczMSAyNi41NTk5IDYyLjQ2NzYgMjguNDI1OSA2Ni4yNDY5IDI5Ljg0MDVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD17VGhlbWUuYWNjZW50fVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTcuMDYyNSAxNS42NjRDNTkuODg0OSAxNi42ODE1IDYyLjUyMDIgMTguMTU3MyA2NC44NjI1IDIwLjAzMlwiXG4gICAgICAgIHN0cm9rZT1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNMzEuODI5NSAzLjYxM0MzMC42NjI3IDMuNzIzNjggMjkuNTcyIDQuMjQxNDIgMjguNzQ4NSA1LjA3NTVDMjcuNzE1NyA0LjUyNDMyIDI2LjUyNjcgNC4zMzg3NiAyNS4zNzUgNC41NDlDMjQuNzEyMyA0LjU3Nzk0IDI0LjA2NDQgNC43NTQxNSAyMy40Nzg0IDUuMDY0ODNDMjIuODkyMyA1LjM3NTUgMjIuMzgyOCA1LjgxMjgzIDIxLjk4NjkgNi4zNDUwNUMyMS41OTEgNi44NzcyNiAyMS4zMTg3IDcuNDkwOTkgMjEuMTg5NyA4LjE0MTYzQzIxLjA2MDYgOC43OTIyNyAyMS4wNzgyIDkuNDYzNDkgMjEuMjQxIDEwLjEwNjVDMjEuODg0NSAxNC41NzIgMjYuNDY3IDE3LjA2OCAyOS44Nzk1IDE4LjMxNkMzMC4xMzc2IDE4LjQxNTIgMzAuNDE3IDE4LjQ0NTggMzAuNjkwNCAxOC40MDQ4QzMwLjk2MzggMTguMzYzNyAzMS4yMjE5IDE4LjI1MjUgMzEuNDM5NSAxOC4wODJDMzQuMzY0NSAxNS44OTggMzguMDMwNSAxMi4yMzIgMzcuMjg5NSA3Ljc0N0MzNy4yNjEgNy4wOTM1NSAzNy4wODg3IDYuNDU0NDQgMzYuNzg0OCA1Ljg3NTI1QzM2LjQ4MDkgNS4yOTYwNiAzNi4wNTMgNC43OTEwNCAzNS41MzE1IDQuMzk2MjJDMzUuMDEwMSA0LjAwMTQgMzQuNDA3OSAzLjcyNjUgMzMuNzY4IDMuNTkxMTFDMzMuMTI4MSAzLjQ1NTczIDMyLjQ2NjIgMy40NjMyIDMxLjgyOTUgMy42MTNaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk0xNS42MjUgMjcuNjE3NUMxNS42MjUgMjguMTUyNyAxNS43MzA0IDI4LjY4MjcgMTUuOTM1MiAyOS4xNzcxQzE2LjE0IDI5LjY3MTYgMTYuNDQwMiAzMC4xMjA5IDE2LjgxODcgMzAuNDk5M0MxNy4xOTcxIDMwLjg3NzggMTcuNjQ2NCAzMS4xNzggMTguMTQwOSAzMS4zODI4QzE4LjYzNTMgMzEuNTg3NiAxOS4xNjUzIDMxLjY5MyAxOS43MDA1IDMxLjY5M0MyMC4yMzU3IDMxLjY5MyAyMC43NjU3IDMxLjU4NzYgMjEuMjYwMSAzMS4zODI4QzIxLjc1NDYgMzEuMTc4IDIyLjIwMzkgMzAuODc3OCAyMi41ODIzIDMwLjQ5OTNDMjIuOTYwOCAzMC4xMjA5IDIzLjI2MSAyOS42NzE2IDIzLjQ2NTggMjkuMTc3MUMyMy42NzA2IDI4LjY4MjcgMjMuNzc2IDI4LjE1MjcgMjMuNzc2IDI3LjYxNzVDMjMuNzc2IDI3LjA4MjMgMjMuNjcwNiAyNi41NTIzIDIzLjQ2NTggMjYuMDU3OUMyMy4yNjEgMjUuNTYzNCAyMi45NjA4IDI1LjExNDEgMjIuNTgyMyAyNC43MzU3QzIyLjIwMzkgMjQuMzU3MiAyMS43NTQ2IDI0LjA1NyAyMS4yNjAxIDIzLjg1MjJDMjAuNzY1NyAyMy42NDc0IDIwLjIzNTcgMjMuNTQyIDE5LjcwMDUgMjMuNTQyQzE5LjE2NTMgMjMuNTQyIDE4LjYzNTMgMjMuNjQ3NCAxOC4xNDA5IDIzLjg1MjJDMTcuNjQ2NCAyNC4wNTcgMTcuMTk3MSAyNC4zNTcyIDE2LjgxODcgMjQuNzM1N0MxNi40NDAyIDI1LjExNDEgMTYuMTQgMjUuNTYzNCAxNS45MzUyIDI2LjA1NzlDMTUuNzMwNCAyNi41NTIzIDE1LjYyNSAyNy4wODIzIDE1LjYyNSAyNy42MTc1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNi42OTM5NyAxNC4yMDE1QzYuNjkzOTcgMTUuMDU0OCA3LjAzMjk2IDE1Ljg3MzIgNy42MzYzNSAxNi40NzY2QzguMjM5NzUgMTcuMDggOS4wNTgxNCAxNy40MTkgOS45MTE0NyAxNy40MTlDMTAuNzY0OCAxNy40MTkgMTEuNTgzMiAxNy4wOCAxMi4xODY2IDE2LjQ3NjZDMTIuNzkgMTUuODczMiAxMy4xMjkgMTUuMDU0OCAxMy4xMjkgMTQuMjAxNUMxMy4xMjkgMTMuMzQ4MiAxMi43OSAxMi41Mjk4IDEyLjE4NjYgMTEuOTI2NEMxMS41ODMyIDExLjMyMyAxMC43NjQ4IDEwLjk4NCA5LjkxMTQ3IDEwLjk4NEM5LjA1ODE0IDEwLjk4NCA4LjIzOTc1IDExLjMyMyA3LjYzNjM1IDExLjkyNjRDNy4wMzI5NiAxMi41Mjk4IDYuNjkzOTcgMTMuMzQ4MiA2LjY5Mzk3IDE0LjIwMTVaXCJcbiAgICAgICAgZmlsbD17VGhlbWUuc3VwcG9ydGluZ31cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEZpZ3VyZVBhdGhcbiAgICAgICAgZD1cIk01MS43IDQ0LjAzNjVDNTAuMzEyMyA0My43Njk5IDQ4Ljg3NTEgNDQuMDAxMSA0Ny42NDExIDQ0LjY4OTVDNDYuNDA3IDQ1LjM3NzggNDUuNDU1MiA0Ni40NzkyIDQ0Ljk1MyA0Ny44TDM3LjMwOSA0Ni40MTU1QzM3LjMyODUgNDUuMDE5IDM2Ljg0NzggNDMuNjYxNiAzNS45NTM3IDQyLjU4ODdDMzUuMDU5NiA0MS41MTU4IDMzLjgxMTEgNDAuNzk4MSAzMi40MzQgNDAuNTY1NUMzMS4wNDg3IDQwLjI5NzcgMjkuNjEzNCA0MC41MjYxIDI4LjM3OTcgNDEuMjEwN0MyNy4xNDYgNDEuODk1MyAyNi4xOTI3IDQyLjk5MjMgMjUuNjg3IDQ0LjMwOTVMMTcuOTg0NSA0Mi44ODZDMTguMDAzMyA0MS40ODY3IDE3LjUxOTggNDAuMTI3IDE2LjYyMTcgMzkuMDUzNkMxNS43MjM3IDM3Ljk4MDMgMTQuNDcwNyAzNy4yNjQ1IDEzLjA5IDM3LjAzNkM2LjY5Mzk5IDM1Ljg2NiA1LjE1MzQ5IDQzLjYwNzUgNC42NjU5OSA0Ni4yMjA1QzMuNjMyNDkgNTEuODU2IDEuMzg5OTkgNjQuODQzIDIuMTExNDkgNjYuNDgxQzIuMzQ1NDkgNjguMDQxIDQuOTU4NDkgNjguNjY1IDcuMTQyNDkgNjkuMDc0NUM5LjMyNjQ5IDY5LjQ4NCAxMS45OTggNjkuNzk2IDEyLjc1ODUgNjguNDMxQzEzLjMyMDcgNjcuNDc1OSAxMy43MjI1IDY2LjQzNTEgMTMuOTQ4IDY1LjM1TDIxLjQxNjUgNjYuNzE1QzIxLjIyOTIgNjcuODEyMSAyMS4yMjkyIDY4LjkzMjkgMjEuNDE2NSA3MC4wM0MyMS42MzEgNzEuNTkgMjQuMjQ0IDcyLjIxNCAyNi40MjggNzIuNjIzNUMyOC42MTIgNzMuMDMzIDMxLjI4MzUgNzMuMzY0NSAzMi4wNDQgNzEuOThDMzIuNjIyNCA3MS4wMzA4IDMzLjAzMTUgNjkuOTg4MyAzMy4yNTMgNjguODk5TDQwLjY0MzUgNzAuMjQ0NUM0MC40NzExIDcxLjM0MjggNDAuNDcxMSA3Mi40NjEyIDQwLjY0MzUgNzMuNTU5NUM0MC44Nzc1IDc1LjExOTUgNDMuNDkwNSA3NS43NDM1IDQ1LjY3NDUgNzYuMTMzNUM0Ny44NTg1IDc2LjUyMzUgNTAuNTMgNzYuODc0NSA1MS4yOTA1IDc1LjQ5QzUyLjUzODUgNzQuMjAzIDU1LjAzNDUgNjEuMjk0IDU2LjA2OCA1NS42MTk1QzU2LjYxNCA1My4wMDY1IDU4LjExNTUgNDUuMjA2NSA1MS43IDQ0LjAzNjVaTTE1LjgyIDU3LjM5NEMxNi4yODggNTUuMTUxNSAxNi43MTcgNTIuODg5NSAxNy4wODc1IDUwLjk3ODVMMjMuNTYxNSA1Mi4xNjhDMjMuMjMgNTQuMTE4IDIyLjg0IDU2LjM0MSAyMi40ODkgNTguNjAzTDE1LjgyIDU3LjM5NFpNMzUuMTQ0NSA2MC45MjM1QzM1LjYxMjUgNTguNjgxIDM2LjA2MSA1Ni40MTkgMzYuNDEyIDU0LjUyNzVMNDIuODI3NSA1NS42NzhDNDIuNDc2NSA1Ny42MjggNDIuMTA2IDU5Ljg3MDUgNDEuNzU1IDYyLjEzMjVMMzUuMTQ0NSA2MC45MjM1WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRGaWd1cmVQYXRoXG4gICAgICAgIGQ9XCJNNTEuMDk1NSA0Ny4yNzM1QzUxLjc1NDEgNDcuNDAyOCA1Mi4zNDUzIDQ3Ljc2MjEgNTIuNzYzMyA0OC4yODczQzUzLjE4MTIgNDguODEyNCA1My4zOTg4IDQ5LjQ2OTIgNTMuMzc3IDUwLjE0XCJcbiAgICAgICAgc3Ryb2tlPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvRmlndXJlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlQmFzZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZpZ3VyZVBhdGggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLnN0eWxlc1wiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2NvbXBvbmVudHMvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVDdHggfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlRmlndXJlVGhlbWUgfSBmcm9tIFwiQC91aS9maWd1cmUvaG9va3MvdXNlLWZpZ3VyZS50aGVtZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEJ1aWxkaW5nID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJRmlndXJlQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChGaWd1cmVDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlRmlndXJlVGhlbWUoQ29udGV4dCwgaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8RmlndXJlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zOS4wNTMyIDM4Ljg5MjNDMzguNzE1NiAzOC44MzU1IDM4LjM3NDkgMzguNzk4NSAzOC4wMzI5IDM4Ljc4MTVDMzguMzQyOCAzNC4yNjkzIDM4LjQwMTcgMjkuNzQzNCAzOC4yMDk1IDI1LjIyNDdDMzguMDEwNyAxOS4xMjczIDM3LjMyODQgOC42NjY5OSAzNC43MzEyIDcuMTY1NzVDMzMuMzY3OSA2LjI1MzcxIDMxLjc1MTggNS43OTQ2NiAzMC4xMTI2IDUuODUzOUMyOS45OTY2IDUuMDQ4MjYgMjkuNjU2NyA0LjI5MTQyIDI5LjEzMTggMy42NjkzOEMyOC4zMTg4IDIuMzg2NzEgMjQuMjQyOSAyLjM5NjA1IDIwLjg3MDEgMi41MDIyMUMxNy40OTc0IDIuNjA4MzYgMTMuNDE4NiAyLjg3NDE3IDEyLjcwMzggNC4yMTY4NkMxMi4yMTc5IDQuODcyMTQgMTEuOTI2MSA1LjY1MDg3IDExLjg2MTggNi40NjQwN0MxMC4yMzEzIDYuNTAwNzEgOC42NTEwNCA3LjAzNTA3IDcuMzMzIDcuOTk1NTFDNC44NTMxMiA5LjY2ODM5IDQuODcwODQgMjAuMTY0MyA1LjA2Njg4IDI2LjI0MjRDNS4xNjgyNCAzMC43NjQ2IDUuNTI4MjQgMzUuMjc3MyA2LjE0NTA0IDM5Ljc1ODRDNS44MDEgMzkuNzgzMSA1LjQ1OTEyIDM5LjgzMTggNS4xMjE4OCAzOS45MDQxQzEuOTc1MTMgNDAuMzUyNCAyLjMxMzI0IDQzLjAwMjggMi4zNTM5NyA0NC41MzMyQzIuMzk0NyA0Ni4wNjM2IDIuMjU1NzMgNDguNjgzNiA1LjQyOTc2IDQ4Ljk4QzcuMDEyNTIgNDkuMzA2IDE1LjQyOTIgNDkuMDcyNCAyMi4zODk4IDQ4Ljg0OTJDMjkuMzUwMyA0OC42MjU2IDM3Ljc3MjUgNDguMjkyOCAzOS4zNDQ2IDQ3Ljg1MjRDNDIuNDkxMiA0Ny40MDQgNDIuMTUwNCA0NC43MzQ0IDQyLjExMjQgNDMuMjIzMkM0Mi4wNzQ0IDQxLjcxMiA0Mi4yMjcyIDM5LjE4ODcgMzkuMDUzMiAzOC44OTIzWlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN1cHBvcnRpbmd9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMTcuNDg5NSAxOC43MjJDMTcuOTk5OCAxOC40MzI3IDE4LjAzMzUgMTcuMDA5NyAxNy45OTgxIDE1LjkzMTRDMTcuOTYyNyAxNC44NTMyIDE3LjgyMjYgMTMuNDU0OSAxNy4zMTI2IDEzLjE5MjdDMTYuNDU1OSAxMi44MTg0IDE1LjUyMDIgMTIuNjYwOCAxNC41ODgyIDEyLjczMzhDMTMuNjQ2OCAxMi43MTc0IDEyLjcxNjQgMTIuOTM4IDExLjg4MjYgMTMuMzc1MkMxMS4zOTE2IDEzLjY2MTggMTEuMzM4NiAxNS4wODc2IDExLjM3NCAxNi4xNjU4QzExLjQwOTQgMTcuMjQ0MSAxMS41NDk0IDE4LjY0MjQgMTIuMDU5NSAxOC45MDQ2QzEyLjkyNDEgMTkuMjc1IDEzLjg2NTMgMTkuNDMxNCAxNC44MDMyIDE5LjM2MDdDMTUuNzM4MyAxOS4zNzg5IDE2LjY2MjcgMTkuMTU5MSAxNy40ODk1IDE4LjcyMlpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMzAuNzQyNCAxOC4yOTE1QzMxLjI0OTkgMTcuOTgyOCAzMS4yODY0IDE2LjU3OTEgMzEuMjUxIDE1LjUwMDlDMzEuMjE1NiAxNC40MjI2IDMxLjA3NTUgMTMuMDI0MyAzMC41NjU0IDEyLjc2MjFDMjkuNzA3IDEyLjQxNDIgMjguNzc0NCAxMi4yODk1IDI3Ljg1NDcgMTIuMzk5OEMyNi45MTIyIDEyLjM3MjkgMjUuOTc5MiAxMi41OTQxIDI1LjE0OTIgMTMuMDQxMkMyNC42NTgyIDEzLjMyNzggMjQuNjA1MiAxNC43NTM1IDI0LjYzNzggMTUuODEyNUMyNC42NzA1IDE2Ljg3MTUgMjQuODE2IDE4LjMwODMgMjUuMzIzNCAxOC41NTEyQzI2LjE5MjggMTguODkzIDI3LjEyMjYgMTkuMDU0OCAyOC4wNTY1IDE5LjAyNjhDMjguOTkwMyAxOC45OTg3IDI5LjkwODggMTguNzgxNCAzMC43NTYxIDE4LjM4OEwzMC43NDI0IDE4LjI5MTVaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE3Ljc4MzYgMjguNjY1OUMxOC4yNzQ2IDI4LjM3OTMgMTguMzI3NiAyNi45NTM2IDE4LjI5MjEgMjUuODc1M0MxOC4yNTY3IDI0Ljc5NyAxOC4xMTY3IDIzLjM5ODggMTcuNjA2NiAyMy4xMzY2QzE2Ljc3MjYgMjIuNzc2NiAxNS44NjYzIDIyLjYxNTcgMTQuOTU5NCAyMi42NjY3QzE0LjAyNDUgMjIuNjUwMiAxMy4xMDA2IDIyLjg2OTkgMTIuMjczMSAyMy4zMDU0QzExLjc4MjEgMjMuNTkyIDExLjcyOTEgMjUuMDE3NyAxMS43NjQ1IDI2LjA5NkMxMS43OTk5IDI3LjE3NDMgMTEuOTQgMjguNTcyNSAxMi40NTAxIDI4LjgzNDdDMTMuMzE0NyAyOS4yMDUxIDE0LjI1NTggMjkuMzYxNiAxNS4xOTM4IDI5LjI5MDhDMTYuMDk1MiAyOS4yOTcxIDE2Ljk4NDMgMjkuMDgyNiAxNy43ODM2IDI4LjY2NTlaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTMxLjA3NTMgMjguMjMwM0MzMS41NjM2IDI3LjkyNDQgMzEuNjE2NiAyNi40OTg2IDMxLjU4MzkgMjUuNDM5N0MzMS41NTEyIDI0LjM4MDcgMzEuNDA4NCAyMi45NjMyIDMwLjg5ODQgMjIuNzAxQzMwLjAzOSAyMi4zMDQ3IDI5LjA5MjcgMjIuMTM0NCAyOC4xNDkxIDIyLjIwNjJDMjcuMjEzIDIyLjE3ODIgMjYuMjg2MiAyMi4zOTg2IDI1LjQ2MjggMjIuODQ0OUMyNC45NzE4IDIzLjEzMTUgMjQuOTE4OSAyNC41NTcyIDI0Ljk1MTUgMjUuNjE2MkMyNC45ODQyIDI2LjY3NTIgMjUuMTM1MiAyOC4xNTA2IDI1LjYzNDIgMjguNDczNUMyNi41MDM3IDI4LjgxNTMgMjcuNDMzNSAyOC45NzcxIDI4LjM2NzQgMjguOTQ5QzI5LjMwMTIgMjguOTIxIDMwLjIxOTYgMjguNzAzNyAzMS4wNjcgMjguMzEwMkwzMS4wNzUzIDI4LjIzMDNaXCJcbiAgICAgICAgZmlsbD1cIiNGRkZGRkZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTE4LjE1MzcgMzguNTk5NUMxOC42NDQ3IDM4LjMxMjkgMTguNjk3NyAzNi44ODcyIDE4LjY2MjIgMzUuODA4OUMxOC42MjY4IDM0LjczMDcgMTguNDYxOSAzMy40MzQ1IDE3Ljk3NjcgMzMuMDcwM0MxNy4xMTIxIDMyLjY5OTggMTYuMTcwOSAzMi41NDMzIDE1LjIzMyAzMi42MTQxQzE0LjI5NzkgMzIuNTk1OSAxMy4zNzM1IDMyLjgxNTcgMTIuNTQ2NyAzMy4yNTI3QzEyLjAzNjQgMzMuNTQyMSAxMi4wMDI3IDM0Ljk2NTEgMTIuMDM4MSAzNi4wNDMzQzEyLjA3MzUgMzcuMTIxNiAxMi4yMTM2IDM4LjUxOTkgMTIuNzIzNyAzOC43ODIxQzEzLjU4MDQgMzkuMTU2NCAxNC41MTYgMzkuMzE0IDE1LjQ0ODEgMzkuMjQxQzE2LjM4OTUgMzkuMjU3MyAxNy4zMTk4IDM5LjAzNjcgMTguMTUzNyAzOC41OTk1WlwiXG4gICAgICAgIGZpbGw9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk0zMS40MDQ2IDM4LjE2OTRDMzEuODkyOCAzNy44NjM1IDMxLjk0NTggMzYuNDM3OCAzMS45MTMyIDM1LjM3ODhDMzEuODgwNSAzNC4zMTk4IDMxLjczNzcgMzIuOTAyMyAzMS4yMjc2IDMyLjY0MDFDMzAuMzY2NSAzMi4yNTc5IDI5LjQyMjQgMzIuMTAxIDI4LjQ4MzkgMzIuMTgzOUMyNy41NDc4IDMyLjE1NTkgMjYuNjIxIDMyLjM3NjMgMjUuNzk3NiAzMi44MjI2QzI1LjI4NzMgMzMuMTEyIDI1LjI1MzYgMzQuNTM0OSAyNS4yODYzIDM1LjU5MzlDMjUuMzE4OSAzNi42NTI5IDI1LjQ2NDUgMzguMDg5NyAyNS45NzE4IDM4LjMzMjZDMjYuODI3MiAzOC43MTU1IDI3Ljc2NDQgMzguODc5OCAyOC42OTkgMzguODEwOEMyOS42MzkzIDM4LjgxNzYgMzAuNTY3NCAzOC41OTc1IDMxLjQwNDYgMzguMTY5NFpcIlxuICAgICAgICBmaWxsPVwiI0ZGRkZGRlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNMjkuNjI1IDguOTM2NTJDMzMuMzUzMyA5LjI1MjQ0IDMyLjk2NzIgOS4zMDc0NCAzMy42MDYyIDExLjMwNDNcIlxuICAgICAgICBzdHJva2U9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTcxLjA4MjggMTMuMDkyNEM2OS45MzEyIDEyLjg3NDcgNjguNzM5NiAxMy4wNjkxIDY3LjcxNjggMTMuNjQxNkM2Ni44Nzc2IDEyLjgyNTMgNjUuNzg3MiAxMi4zMTY4IDY0LjYyMjQgMTIuMTk4OUM2My45Nzc2IDEyLjA0MjYgNjMuMzA2NCAxMi4wMzE5IDYyLjY1NzIgMTIuMTY3NkM2Mi4wMDc2IDEyLjMwMzMgNjEuMzk2OCAxMi41ODE5IDYwLjg2ODggMTIuOTgzMkM2MC4zNDA0IDEzLjM4NDUgNTkuOTA4NCAxMy44OTg0IDU5LjYwMzYgMTQuNDg3NkM1OS4yOTkyIDE1LjA3NjggNTkuMTI5NiAxNS43MjY1IDU5LjEwNzIgMTYuMzg5NUM1OC40ODUyIDIwLjg1OCA2Mi4xOTQgMjQuNTI4NiA2NS4xMjU2IDI2LjY3NTNDNjUuMzQ2IDI2Ljg0MjMgNjUuNjA2IDI2Ljk0OTIgNjUuODggMjYuOTg1OEM2Ni4xNTQgMjcuMDIyMyA2Ni40MzI4IDI2Ljk4NzIgNjYuNjg5MiAyNi44ODM4QzcwLjEwNiAyNS41OTgyIDc0LjY0NiAyMy4wOTQ2IDc1LjE3OTYgMTguNTgwM0M3NS4zMzQgMTcuOTQ0NiA3NS4zNDYgMTcuMjgyOCA3NS4yMTQ4IDE2LjY0MkM3NS4wODM2IDE2LjAwMTIgNzQuODEyOCAxNS4zOTcyIDc0LjQyMTYgMTQuODczMUM3NC4wMzA0IDE0LjM0OSA3My41Mjg0IDEzLjkxNzYgNzIuOTUxMiAxMy42MDk4QzcyLjM3NCAxMy4zMDIgNzEuNzM2IDEzLjEyNTQgNzEuMDgyOCAxMy4wOTI0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICAgIDxwYXRoXG4gICAgICAgIGQ9XCJNNTkuNjAyOCAzMC41MzI5QzU4LjMzNDQgMzEuMTU1NyA1Ny4zMjYgMzIuMjA1NyA1Ni43NTUyIDMzLjQ5ODRDNTYuMTg0OCAzNC43OTEgNTYuMDg4IDM2LjI0MzUgNTYuNDgyNCAzNy42MDA0TDQ5LjU0NiA0MS4wOThDNDguNzIwNCAzOS45NzE0IDQ3LjUxOTIgMzkuMTc3MiA0Ni4xNTk2IDM4Ljg1OUM0NC43OTk2IDM4LjU0MDkgNDMuMzcwOCAzOC43MTk3IDQyLjEzMTIgMzkuMzYzMkM0MC44NjQgMzkuOTgzNiAzOS44NTU2IDQxLjAzMDQgMzkuMjgyOSA0Mi4zMTk2QzM4LjcxMDIgNDMuNjA5MiAzOC42MDk3IDQ1LjA1OTIgMzguOTk5MSA0Ni40MTUyTDMxLjk5MjUgNDkuOTE2OEMzMS4xNjQ5IDQ4Ljc4ODQgMjkuOTYwMSA0Ny45OTQgMjguNTk2OCA0Ny42NzhDMjcuMjMzNSA0Ny4zNjE2IDI1LjgwMjEgNDcuNTQ0OCAyNC41NjIyIDQ4LjE5NEMxOC43NTEzIDUxLjExMTIgMjIuMTgzMiA1OC4yMTk2IDIzLjM2NzQgNjAuNTk5MkMyNS45MzU5IDY1LjcyMDggMzEuOTY2IDc3LjQzOTYgMzMuNTI4NCA3OC4zMTI4QzM0LjY1NDYgNzkuNDE3MiAzNy4xMTY0IDc4LjM0MiAzOS4xMDY2IDc3LjM1MzZDNDEuMDk2OCA3Ni4zNjU2IDQzLjQxNzYgNzUuMDA2IDQzLjIwMjggNzMuNDU4QzQzLjA3NjQgNzIuMzU3MiA0Mi43NzA0IDcxLjI4NCA0Mi4yOTcyIDcwLjI4Mkw0OS4wODE2IDY2Ljg3NDRDNDkuNTkyOCA2Ny44NjMyIDUwLjI2NzYgNjguNzU4IDUxLjA3OCA2OS41MjEyQzUyLjE4ODQgNzAuNjM3NiA1NC42NTA0IDY5LjU2MiA1Ni42NDA4IDY4LjU3NEM1OC42MzA4IDY3LjU4NTYgNjAuOTYzMiA2Ni4yNDE2IDYwLjczNjggNjQuNjc4NEM2MC42MjY4IDYzLjU3MjQgNjAuMzI2IDYyLjQ5MzYgNTkuODQ2OCA2MS40OTA0TDY2LjU1NzIgNTguMTE0NEM2Ny4wODA4IDU5LjA5NTIgNjcuNzU0NCA1OS45ODggNjguNTUzNiA2MC43NjA4QzY5LjY3OTYgNjEuODY1NiA3Mi4xNDE2IDYwLjc5MDQgNzQuMTIgNTkuNzg2NEM3Ni4wOTg0IDU4Ljc4MjggNzguNDQyOCA1Ny40NTQgNzguMjE2IDU1Ljg5MDhDNzguNDM3NiA1NC4xMTIgNzIuNjU2OCA0Mi4zMDI4IDcwLjA2NDggMzcuMTUwMUM2OC45MjcyIDM0LjczNTIgNjUuNDI5MiAyNy42MDM4IDU5LjYwMjggMzAuNTMyOVpNMzkuMDAwOCA2Mi44MDMyQzM4LjAyNCA2MC43MzA4IDM3LjAwNDQgNTguNjY2OCAzNi4xNDk1IDU2LjkxOEw0Mi4wMzQ0IDUzLjk2OTJDNDIuOTQ0IDU1LjcyNTYgNDMuOTcxMiA1Ny43MzUyIDQ1LjA1MzIgNTkuNzUyNEwzOS4wMDA4IDYyLjgwMzJaTTU2LjU1NCA1My45ODRDNTUuNTc3NiA1MS45MTIgNTQuNTczMiA0OS44MzYgNTMuNzE0OCA0OC4xMTQ0TDU5LjUyOTIgNDUuMTdDNjAuNDIzMiA0Ni45MzggNjEuNDc4IDQ4Ljk1MTYgNjIuNTYgNTAuOTY4OEw1Ni41NTQgNTMuOTg0WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLmFjY2VudH1cbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZU1pdGVybGltaXQ9XCIxMFwiXG4gICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAvPlxuICAgICAgPHBhdGhcbiAgICAgICAgZD1cIk02MS4wNzA0IDMzLjQ4MTRDNjEuNjc0IDMzLjE4OCA2Mi4zNjI0IDMzLjExODkgNjMuMDEyNCAzMy4yODY1QzYzLjY2MjQgMzMuNDU0MSA2NC4yMzEyIDMzLjg0NzQgNjQuNjE4IDM0LjM5NjFcIlxuICAgICAgICBzdHJva2U9XCIjRkZGRkZGXCJcbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTQ1LjE1NCAxNS44MzM4QzQ1LjIxMDggMTYuMTU0MSA0NS4zOTM2IDE2LjQ0ODggNDUuNjkyIDE2LjcwMTFDNDUuOTkwNCAxNi45NTM1IDQ2LjM5ODQgMTcuMTU4NSA0Ni44OTMyIDE3LjMwNDVDNDcuMzg4IDE3LjQ1MDYgNDcuOTU5NiAxNy41MzQ3IDQ4LjU3NTIgMTcuNTUyMkM0OS4xOTEyIDE3LjU2OTYgNDkuODM4OCAxNy41MjAxIDUwLjQ4MiAxNy40MDY0QzUxLjEyNTIgMTcuMjkyNiA1MS43NTA0IDE3LjExNjkgNTIuMzIyOCAxNi44ODkzQzUyLjg5NTIgMTYuNjYxNiA1My40MDMyIDE2LjM4NjYgNTMuODE4IDE2LjA3OTdDNTQuMjMyOCAxNS43NzI4IDU0LjU0NTYgMTUuNDQwMiA1NC43Mzk2IDE1LjEwMDhDNTQuOTMzMiAxNC43NjE0IDU1LjAwMzYgMTQuNDIxOCA1NC45NDcyIDE0LjEwMTZDNTQuODkwNCAxMy43ODE0IDU0LjcwNzYgMTMuNDg2NiA1NC40MDkyIDEzLjIzNDNDNTQuMTEwOCAxMi45ODIgNTMuNzAyOCAxMi43NzY5IDUzLjIwOCAxMi42MzA5QzUyLjcxMzIgMTIuNDg0OSA1Mi4xNDE2IDEyLjQwMDcgNTEuNTI2IDEyLjM4MzNDNTAuOTEgMTIuMzY1OCA1MC4yNjI0IDEyLjQxNTMgNDkuNjE5MiAxMi41MjkxQzQ4Ljk3NjQgMTIuNjQyOCA0OC4zNTA4IDEyLjgxODUgNDcuNzc4NCAxMy4wNDYyQzQ3LjIwNiAxMy4yNzM4IDQ2LjY5OCAxMy41NDg5IDQ2LjI4MzIgMTMuODU1OEM0NS44Njg4IDE0LjE2MjYgNDUuNTU1NiAxNC40OTUzIDQ1LjM2MiAxNC44MzQ3QzQ1LjE2OCAxNS4xNzQxIDQ1LjA5NzYgMTUuNTEzNiA0NS4xNTQgMTUuODMzOFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5wcmltYXJ5fVxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTWl0ZXJsaW1pdD1cIjEwXCJcbiAgICAgICAgc3Ryb2tlV2lkdGg9XCIyXCJcbiAgICAgIC8+XG4gICAgICA8cGF0aFxuICAgICAgICBkPVwiTTQxLjQ0ODQgOS42MzA4QzQxLjk5MzYgOS45OTcxNiA0Mi44MDg4IDkuOTEzNzIgNDMuNzE0NCA5LjM5ODhDNDQuNjIgOC44ODM4OCA0NS41NDIgNy45Nzk3MiA0Ni4yNzc2IDYuODg1MTZDNDcuMDEzMiA1Ljc5MDU2IDQ3LjUwMiA0LjU5NTMyIDQ3LjYzNjggMy41NjIyN0M0Ny43NzE2IDIuNTI5MjQgNDcuNTQwOCAxLjc0MzA2IDQ2Ljk5NTYgMS4zNzY2OUM0Ni43MjYgMS4xOTUyOCA0Ni4zODY4IDEuMTIyNCA0NS45OTggMS4xNjIyMUM0NS42MDkyIDEuMjAyMDIgNDUuMTc4NCAxLjM1MzczIDQ0LjczIDEuNjA4NjhDNDQuMjgxNiAxLjg2MzY0IDQzLjgyNDQgMi4yMTY4NiA0My4zODQ0IDIuNjQ4MTVDNDIuOTQ0OCAzLjA3OTQ1IDQyLjUzMDggMy41ODAzOCA0Mi4xNjY4IDQuMTIyMzZDNDEuODAyNCA0LjY2NDMyIDQxLjQ5NDggNS4yMzY3MiA0MS4yNjE2IDUuODA2ODhDNDEuMDI4NCA2LjM3NyA0MC44NzQgNi45MzM3MiA0MC44MDc2IDcuNDQ1MjRDNDAuNzQwOCA3Ljk1NjcyIDQwLjc2MzIgOC40MTMgNDAuODczMiA4Ljc4OEM0MC45ODI4IDkuMTYzIDQxLjE3ODQgOS40NDk0IDQxLjQ0ODQgOS42MzA4WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnByaW1hcnl9XG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VNaXRlcmxpbWl0PVwiMTBcIlxuICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgLz5cbiAgICA8L0ZpZ3VyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRmlndXJlTG9hZCB9IGZyb20gXCIuL2ZpZ3VyZS50eXBlc1wiO1xuaW1wb3J0IHtcbiAgQWxlcnQsXG4gIENoaWxkLFxuICBCaW4sXG4gIENoZWNrLFxuICBDYWxlbmRhcixcbiAgQ29pbnMsXG4gIEZhY2UsXG4gIEZhbWlseSxcbiAgRmF2b3JpdGUsXG4gIEZvbGRlcixcbiAgRm9sbG93VXAsXG4gIElkZWEsXG4gIExpa2UsXG4gIE1hcCxcbiAgTW9uZXksXG4gIE9mZmVyLFxuICBQYXNzcG9ydCxcbiAgUGFzc3dvcmQsXG4gIFBpbixcbiAgU2VhcmNoLFxuICBTZXR0aW5nLFxuICBTdGFyLFxuICBBZGQsXG4gIEFwcGxpY2F0aW9uLFxuICBCYWJ5LFxuICBCb29rbWFyayxcbiAgQ2FuY2VsLFxuICBDb252ZXJzYXRpb24sXG4gIERhZCxcbiAgRGF0ZVRpbWUsXG4gIEhvbWUsXG4gIEluZm9ybWF0aW9uLFxuICBNb20sXG4gIE1haWwsXG4gIE5vLFxuICBGaWxlLFxuICBZZXMsXG4gIE5vdGUsXG59IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuc3Znc1wiO1xuaW1wb3J0IHsgRmlndXJlU2l6ZSwgRmlndXJlVHlwZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IEZlbmNlIH0gZnJvbSBcIkAvdWkvZmlndXJlL3N2Z3MvZmlndXJlLmZlbmNlLnN2Z1wiO1xuaW1wb3J0IHsgQnVpbGRpbmcgfSBmcm9tIFwiQC91aS9maWd1cmUvc3Zncy9maWd1cmUuYnVpbGRpbmcuc3ZnXCI7XG5cbmV4cG9ydCBjb25zdCBMb2FkRmlndXJlID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCB9OiBJRmlndXJlTG9hZCkgPT4ge1xuICBsZXQgU2l6ZSA9IFwiMjBweFwiO1xuICBzd2l0Y2ggKHNpemUpIHtcbiAgICBjYXNlIEZpZ3VyZVNpemUuU01BTEw6XG4gICAgICBTaXplID0gXCIxNnB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEZpZ3VyZVNpemUuTEFSR0U6XG4gICAgICBTaXplID0gXCI0MHB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEZpZ3VyZVNpemUuWExBUkdFOlxuICAgICAgU2l6ZSA9IFwiODBweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBGaWd1cmVTaXplLk1FRElVTTpcbiAgICBkZWZhdWx0OlxuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBGaWd1cmVUeXBlLkNISUxEOlxuICAgICAgcmV0dXJuIDxDaGlsZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5GQU1JTFk6XG4gICAgICByZXR1cm4gPEZhbWlseSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5DQUxFTkRBUjpcbiAgICAgIHJldHVybiA8Q2FsZW5kYXIgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQklOOlxuICAgICAgcmV0dXJuIDxCaW4gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQUxFUlQ6XG4gICAgICByZXR1cm4gPEFsZXJ0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLlBBU1NXT1JEOlxuICAgICAgcmV0dXJuIDxQYXNzd29yZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5TRUFSQ0g6XG4gICAgICByZXR1cm4gPFNlYXJjaCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5GT0xERVI6XG4gICAgICByZXR1cm4gPEZvbGRlciBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5QQVNTUE9SVDpcbiAgICAgIHJldHVybiA8UGFzc3BvcnQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuU0VUVElORzpcbiAgICAgIHJldHVybiA8U2V0dGluZyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5GQUNFOlxuICAgICAgcmV0dXJuIDxGYWNlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLklERUE6XG4gICAgICByZXR1cm4gPElkZWEgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuUElOOlxuICAgICAgcmV0dXJuIDxQaW4gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuTU9ORVk6XG4gICAgICByZXR1cm4gPE1vbmV5IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkZPTExPV19VUDpcbiAgICAgIHJldHVybiA8Rm9sbG93VXAgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuRkFWT1JJVEU6XG4gICAgICByZXR1cm4gPEZhdm9yaXRlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLk9GRkVSOlxuICAgICAgcmV0dXJuIDxPZmZlciBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5TVEFSOlxuICAgICAgcmV0dXJuIDxTdGFyIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkxJS0U6XG4gICAgICByZXR1cm4gPExpa2Ugc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQ0hFQ0s6XG4gICAgICByZXR1cm4gPENoZWNrIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkNPSU5TOlxuICAgICAgcmV0dXJuIDxDb2lucyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5NQVA6XG4gICAgICByZXR1cm4gPE1hcCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5BREQ6XG4gICAgICByZXR1cm4gPEFkZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5BUFBMSUNBVElPTjpcbiAgICAgIHJldHVybiA8QXBwbGljYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQkFCWTpcbiAgICAgIHJldHVybiA8QmFieSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5CT09LTUFSSzpcbiAgICAgIHJldHVybiA8Qm9va21hcmsgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQ0FOQ0VMOlxuICAgICAgcmV0dXJuIDxDYW5jZWwgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQ09OVkVSU0FUSU9OOlxuICAgICAgcmV0dXJuIDxDb252ZXJzYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuREFEOlxuICAgICAgcmV0dXJuIDxEYWQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuREFURVRJTUU6XG4gICAgICByZXR1cm4gPERhdGVUaW1lIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkhPTUU6XG4gICAgICByZXR1cm4gPEhvbWUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuSU5GT1JNQVRJT046XG4gICAgICByZXR1cm4gPEluZm9ybWF0aW9uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLk1PTTpcbiAgICAgIHJldHVybiA8TW9tIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLk1BSUw6XG4gICAgICByZXR1cm4gPE1haWwgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuTk86XG4gICAgICByZXR1cm4gPE5vIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBGaWd1cmVUeXBlLkZJTEU6XG4gICAgICByZXR1cm4gPEZpbGUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuWUVTOlxuICAgICAgcmV0dXJuIDxZZXMgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuTk9URTpcbiAgICAgIHJldHVybiA8Tm90ZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgRmlndXJlVHlwZS5GRU5DRTpcbiAgICAgIHJldHVybiA8RmVuY2Ugc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEZpZ3VyZVR5cGUuQlVJTERJTkc6XG4gICAgICByZXR1cm4gPEJ1aWxkaW5nIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiA8PiDwn5qrIE5vdCBGb3VuZDwvPjtcbiAgfVxufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IExvYWRGaWd1cmUgfSBmcm9tIFwiQC91aS9maWd1cmUvZmlndXJlLmxvYWRlclwiO1xuaW1wb3J0IHtcbiAgRmlndXJlQ29udGV4dCxcbiAgRmlndXJlVHlwZSxcbiAgRmlndXJlU2l6ZSxcbn0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5lbnVtc1wiO1xuaW1wb3J0IHsgSUZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbmltcG9ydCB7IEZpZ3VyZUN0eCwgRmlndXJlQ3R4RGVmYXVsdCB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgRmlndXJlID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCwgY29udGV4dCB9OiBJRmlndXJlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEZpZ3VyZUN0eERlZmF1bHQ7XG5cbiAgY29uc3QgRmlndXJlID0gTG9hZEZpZ3VyZSh7XG4gICAgc2l6ZTogc2l6ZSxcbiAgICB0eXBlOiB0eXBlLFxuICAgIHNjcmVlblJlYWRlclRleHQ6IHNjcmVlblJlYWRlclRleHQsXG4gIH0pO1xuXG4gIHJldHVybiA8RmlndXJlQ3R4LlByb3ZpZGVyIHZhbHVlPXtDb250ZXh0fT57RmlndXJlfTwvRmlndXJlQ3R4LlByb3ZpZGVyPjtcbn07XG5cbmV4cG9ydCB7IEZpZ3VyZUNvbnRleHQsIEZpZ3VyZVR5cGUsIEZpZ3VyZVNpemUgfTtcbmV4cG9ydCB0eXBlIHsgSUZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUudHlwZXNcIjtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lUmFkaXVzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciwgb3JEZWZhdWx0IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBDb2xvciwgQ29sb3JWYXJpYW50S2V5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBJRnJhbWVUaGVtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2ZyYW1lLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VGcmFtZSA9IChcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbiAgdGludDogQ29sb3JWYXJpYW50S2V5LFxuICBjb2xvcjogQ29sb3IsXG4gIHNwbGl0OiBDb2xvcixcbik6IElGcmFtZVRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBUaGVtZVJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBib3JkZXJSYWRpdXMgPSBUaGVtZVJhZGl1cy5tZDtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBjb25zdCBCYWNrZ3JvdW5kID0gb3JEZWZhdWx0KENvbG9ycywgXCJ0cmFuc3BhcmVudFwiLCBbY29sb3IsIHRpbnRdKTtcblxuICBjb25zdCBzcGxpdEJhY2tncm91bmQgPSBvckRlZmF1bHQoQ29sb3JzLCBcInRyYW5zcGFyZW50XCIsIFtzcGxpdCwgdGludF0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJhZGl1czogYm9yZGVyUmFkaXVzLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1tcIjNcIl0sXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgYmFja2dyb3VuZDpcbiAgICAgIFwibGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBcIiArXG4gICAgICBCYWNrZ3JvdW5kICtcbiAgICAgIFwiIDAlLCBcIiArXG4gICAgICBCYWNrZ3JvdW5kICtcbiAgICAgIFwiIDUwJSwgXCIgK1xuICAgICAgc3BsaXRCYWNrZ3JvdW5kICtcbiAgICAgIFwiIDUwJSwgXCIgK1xuICAgICAgc3BsaXRCYWNrZ3JvdW5kICtcbiAgICAgIFwiIDEwMCUpXCIsXG4gICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiM1wiXSxcbiAgfTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUZyYW1lVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRnJhbWUgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8eyB0aGVtZTogSUZyYW1lVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBtaW4td2lkdGg6IDFweDtcbiAgbWluLWhlaWdodDogMXB4O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZyYW1lUGFkZGluZyA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIHRoZW1lOiBJRnJhbWVUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBhZGRpbmd9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uRnJhbWUgPSBzdHlsZWQoU3R5bGVkRnJhbWUpLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUZyYW1lVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQbGFjZWhvbGRlciA9IHN0eWxlZC5kaXZgXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbmA7XG4iLCJpbXBvcnQgeyBJUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXIuc3R5bGVcIjtcblxuZXhwb3J0IGNvbnN0IFBsYWNlaG9sZGVyID0gKHsgY2hpbGRyZW4gfTogSVBsYWNlaG9sZGVyKSA9PiB7XG4gIHJldHVybiA8U3R5bGVkUGxhY2Vob2xkZXI+e2NoaWxkcmVufTwvU3R5bGVkUGxhY2Vob2xkZXI+O1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRnJhbWVCYXNlIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvZnJhbWUudHlwZXNcIjtcbmltcG9ydCB7IHVzZUZyYW1lIH0gZnJvbSBcIkAvYXRvbXMvZnJhbWUvaG9va3MvdXNlLWZyYW1lXCI7XG5pbXBvcnQge1xuICBTdHlsZWRGcmFtZSxcbiAgU3R5bGVkRnJhbWVQYWRkaW5nLFxuICBTdHlsZWRTa2VsZXRvbkZyYW1lLFxufSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS5zdHlsZVwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgRnJhbWUgPSAoeyBhcm91bmQsIHRpbnQsIGNvbG9yLCBzcGxpdCB9OiBJRnJhbWVCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGcmFtZShJc1NrZWxldG9uLCB0aW50LCBjb2xvciwgc3BsaXQgPyBzcGxpdCA6IGNvbG9yKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25GcmFtZSB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkRnJhbWVQYWRkaW5nIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPFBsYWNlaG9sZGVyPnthcm91bmR9PC9QbGFjZWhvbGRlcj5cbiAgICAgICAgPC9TdHlsZWRGcmFtZVBhZGRpbmc+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uRnJhbWU+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEZyYW1lIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkRnJhbWVQYWRkaW5nIHRoZW1lPXtUaGVtZX0+e2Fyb3VuZH08L1N0eWxlZEZyYW1lUGFkZGluZz5cbiAgICA8L1N0eWxlZEZyYW1lPlxuICApO1xufTtcbiIsImltcG9ydCB7IElGcmFtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lL2ZyYW1lLnR5cGVzXCI7XG5pbXBvcnQgeyBGcmFtZSBhcyBCYXNlRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9jb21wb25lbnRzL2ZyYW1lXCI7XG5pbXBvcnQgeyBDb2xvciwgQ29sb3JWYXJpYW50IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBGcmFtZSA9ICh7XG4gIGFyb3VuZCxcbiAgY29sb3IgPSBDb2xvci5TVVJGQUNFUyxcbiAgc3BsaXQgPSBmYWxzZSxcbiAgdGludCA9IENvbG9yVmFyaWFudC5USU5UXzUwMCxcbn06IElGcmFtZSkgPT4ge1xuICByZXR1cm4gPEJhc2VGcmFtZSB0aW50PXt0aW50fSBhcm91bmQ9e2Fyb3VuZH0gY29sb3I9e2NvbG9yfSBzcGxpdD17c3BsaXR9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy9mcmFtZS9mcmFtZS50eXBlc1wiO1xuIiwiZXhwb3J0IGVudW0gQmFkZ2VUeXBlIHtcbiAgREFZQ0FSRSA9IFwiREFZQ0FSRVwiLFxuICBDSElMRE1JTkRFUiA9IFwiQ0hJTERNSU5ERVJcIixcbiAgQ09PUEVSQVRJVkUgPSBcIkNPT1BFUkFUSVZFXCIsXG59XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCYWRnZSBhcyBCYXNlQmFkZ2UgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9jb21wb25lbnRzL2JhZGdlXCI7XG5pbXBvcnQgeyBJQmFkZ2UgfSBmcm9tIFwiQC9hdG9tcy9iYWRnZS9iYWRnZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgQmFkZ2UgPSAoeyB0eXBlLCBzY3JlZW5SZWFkZXJUZXh0IH06IElCYWRnZSkgPT4ge1xuICByZXR1cm4gPEJhc2VCYWRnZSB0eXBlPXt0eXBlfSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPjtcbn07XG5cbmV4cG9ydCB7IEJhZGdlVHlwZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlL2JhZGdlLmVudW1zXCI7XG5leHBvcnQgdHlwZSB7IElCYWRnZSB9IGZyb20gXCJAL2F0b21zL2JhZGdlL2JhZGdlLnR5cGVzXCI7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUJyYW5kVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9icmFuZC9icmFuZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJhbmRXcmFwcGVyID0gc3R5bGVkLmRpdjx7fT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXIgPSBzdHlsZWQuZGl2PHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBmbGV4LWZsb3c6IHdyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgLXdlYmtpdC1saW5lLWNsYW1wOiAyOyAvKiBudW1iZXIgb2YgbGluZXMgdG8gc2hvdyAqL1xuICBsaW5lLWNsYW1wOiAyO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICBtaW4td2lkdGg6IDgwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJhbmRMYWJlbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUJyYW5kVGhlbWUgfT5gXG4gIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsgLyogV2UgdXNlIGltcG9ydGFudCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBmb250IHdlaWdodCAqL1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmFuZFNrZWxldG9uTGFiZWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElCcmFuZFRoZW1lIH0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbmA7XG4iLCJleHBvcnQgZW51bSBUZXh0RGVjb3JhdGlvbiB7XG4gIE5PTkUgPSBcIk5PTkVcIixcbiAgVU5ERVJMSU5FID0gXCJVTkRFUkxJTkVcIixcbiAgTElORV9USFJPVUdIID0gXCJMSU5FX1RIUk9VR0hcIixcbn1cbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUGxhaW5UZXh0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQbGFpblRleHQgPSBzdHlsZWQuZGl2LndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSVBsYWluVGV4dFRoZW1lO1xuICBmb250OiBzdHJpbmc7XG4gIHRleHREZWNvcmF0aW9uOiBzdHJpbmc7XG59PmBcbiAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6ICR7KHByb3BzKSA9PiBwcm9wcy50ZXh0RGVjb3JhdGlvbn07XG4gIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogaW5oZXJpdDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25QbGFpblRleHQgPSBzdHlsZWQuc3Bhbjx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSA9IHN0eWxlZC5zcGFuLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSVBsYWluVGV4dFRoZW1lO1xuICBmb250OiBzdHJpbmc7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG5gO1xuIiwiaW1wb3J0IHsgSVBsYWluVGV4dFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC50eXBlc1wiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlUGxhaW5UZXh0ID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJUGxhaW5UZXh0VGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIHJhZGl1czogUmFkaXVzLm5vbmUsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBTa2VsZXRvbjtcbiAgfVxuXG4gIHJldHVybiBTdGFuZGFyZDtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJUGxhaW5UZXh0QmFzZSB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFBsYWluVGV4dCxcbiAgU3R5bGVkU2tlbGV0b25QbGFpblRleHQsXG4gIFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSxcbn0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVBsYWluVGV4dCB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9ob29rcy91c2UtcGxhaW50ZXh0XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBUZXh0RGVjb3JhdGlvbiB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuZW51bXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IG9yRGVmYXVsdCB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFBsYWluVGV4dCA9ICh7XG4gIGNoaWxkcmVuLFxuICBzaXplLFxuICBmb250LFxuICBmb250V2VpZ2h0LFxuICB0ZXh0RGVjb3JhdGlvbixcbn06IElQbGFpblRleHRCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBUaGVtZSA9IHVzZVBsYWluVGV4dChJc1NrZWxldG9uKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgY3NzVGV4dERlY29yYXRpb24gPSBtYXRjaCh0ZXh0RGVjb3JhdGlvbiwgW1xuICAgIFtUZXh0RGVjb3JhdGlvbi5OT05FLCBcIm5vbmVcIl0sXG4gICAgW1RleHREZWNvcmF0aW9uLlVOREVSTElORSwgXCJ1bmRlcmxpbmVcIl0sXG4gICAgW1RleHREZWNvcmF0aW9uLkxJTkVfVEhST1VHSCwgXCJsaW5lLXRocm91Z2hcIl0sXG4gIF0pO1xuXG4gIGNvbnN0IGNzc0ZvbnQgPSBvckRlZmF1bHQoRm9udHMsIEZvbnRzLnByaW1hcnkubWQubm9ybWFsLCBbXG4gICAgZm9udCxcbiAgICBzaXplLFxuICAgIGZvbnRXZWlnaHQsXG4gIF0pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblBsYWluVGV4dD5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uUGxhaW5UZXh0TGluZSBmb250PXtjc3NGb250fSB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRTa2VsZXRvblBsYWluVGV4dExpbmU+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uUGxhaW5UZXh0PlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQbGFpblRleHRcbiAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIGZvbnQ9e2Nzc0ZvbnR9XG4gICAgICB0ZXh0RGVjb3JhdGlvbj17Y3NzVGV4dERlY29yYXRpb259XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkUGxhaW5UZXh0PlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHQvcGxhaW50ZXh0LnR5cGVzXCI7XG5pbXBvcnQgeyBUZXh0RGVjb3JhdGlvbiB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQuZW51bXNcIjtcbmltcG9ydCB7IFBsYWluVGV4dCBhcyBCYXNlUGxhaW5UZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L2NvbXBvbmVudHMvcGxhaW50ZXh0XCI7XG5pbXBvcnQge1xuICBUeXBvZ3JhcGh5Rm9udCxcbiAgVHlwb2dyYXBoeUZvbnRzLFxuICBUeXBvZ3JhcGh5Rm9udFdlaWdodCxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBQbGFpblRleHQgPSAoe1xuICBjaGlsZHJlbiA9IFwiXCIsXG4gIHNpemUgPSBUeXBvZ3JhcGh5Rm9udC5NRCxcbiAgZm9udCA9IFR5cG9ncmFwaHlGb250cy5QUklNQVJZLFxuICBmb250V2VpZ2h0ID0gVHlwb2dyYXBoeUZvbnRXZWlnaHQuTk9STUFMLFxuICB0ZXh0RGVjb3JhdGlvbiA9IFRleHREZWNvcmF0aW9uLk5PTkUsXG59OiBJUGxhaW5UZXh0KSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEJhc2VQbGFpblRleHRcbiAgICAgIHNpemU9e3NpemV9XG4gICAgICBmb250PXtmb250fVxuICAgICAgZm9udFdlaWdodD17Zm9udFdlaWdodH1cbiAgICAgIHRleHREZWNvcmF0aW9uPXt0ZXh0RGVjb3JhdGlvbn1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYXNlUGxhaW5UZXh0PlxuICApO1xufTtcblxuZXhwb3J0IHsgVGV4dERlY29yYXRpb24gfTtcbmV4cG9ydCB0eXBlIHsgSVBsYWluVGV4dCB9IGZyb20gXCJAL2F0b21zL3BsYWludGV4dC9wbGFpbnRleHQudHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElCcmFuZCB9IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyLFxuICBTdHlsZWRCcmFuZFdyYXBwZXIsXG59IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLnN0eWxlc1wiO1xuXG5pbXBvcnQgeyBQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHRcIjtcbmltcG9ydCB7IFRleHREZWNvcmF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0L3BsYWludGV4dC5lbnVtc1wiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUZvbnRXZWlnaHQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBCcmFuZCA9ICh7IGxvZ28sIG5hbWUsIGFyaWFMYWJlbCB9OiBJQnJhbmQpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRCcmFuZFdyYXBwZXIgYXJpYS1sYWJlbD17YXJpYUxhYmVsfT5cbiAgICAgICAge2xvZ299XG4gICAgICAgIDxTdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyPlxuICAgICAgICAgIDxQbGFpblRleHRcbiAgICAgICAgICAgIGZvbnRXZWlnaHQ9e1R5cG9ncmFwaHlGb250V2VpZ2h0LkJPTER9XG4gICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbj17VGV4dERlY29yYXRpb24uTk9ORX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bmFtZX1cbiAgICAgICAgICA8L1BsYWluVGV4dD5cbiAgICAgICAgPC9TdHlsZWRCcmFuZFRhZ0xpbmVXcmFwcGVyPlxuICAgICAgPC9TdHlsZWRCcmFuZFdyYXBwZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJyYW5kV3JhcHBlciBhcmlhLWxhYmVsPXthcmlhTGFiZWx9PlxuICAgICAge2xvZ299XG4gICAgICA8U3R5bGVkQnJhbmRUYWdMaW5lV3JhcHBlcj5cbiAgICAgICAgPFBsYWluVGV4dFxuICAgICAgICAgIGZvbnRXZWlnaHQ9e1R5cG9ncmFwaHlGb250V2VpZ2h0LkJPTER9XG4gICAgICAgICAgdGV4dERlY29yYXRpb249e1RleHREZWNvcmF0aW9uLk5PTkV9XG4gICAgICAgID5cbiAgICAgICAgICB7bmFtZX1cbiAgICAgICAgPC9QbGFpblRleHQ+XG4gICAgICA8L1N0eWxlZEJyYW5kVGFnTGluZVdyYXBwZXI+XG4gICAgPC9TdHlsZWRCcmFuZFdyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUJyYW5kIH0gZnJvbSBcIkAvYXRvbXMvYnJhbmQvYnJhbmQudHlwZXNcIjtcbmltcG9ydCB7IEJyYW5kIGFzIEJhc2VCcmFuZCB9IGZyb20gXCJAL2F0b21zL2JyYW5kL2NvbXBvbmVudHMvYnJhbmRcIjtcblxuZXhwb3J0IGNvbnN0IEJyYW5kID0gKHsgbG9nbywgbmFtZSwgYXJpYUxhYmVsIH06IElCcmFuZCkgPT4ge1xuICByZXR1cm4gPEJhc2VCcmFuZCBsb2dvPXtsb2dvfSBuYW1lPXtuYW1lfSBhcmlhTGFiZWw9e2FyaWFMYWJlbH0gLz47XG59O1xuXG5leHBvcnQgdHlwZSB7IElCcmFuZCB9IGZyb20gXCJAL2F0b21zL2JyYW5kL2JyYW5kLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgSUJyZWFkY3J1bWJCYXNlLFxuICBJQnJlYWRjcnVtYlRoZW1lLFxufSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iL2JyZWFkY3J1bWIudHlwZXNcIjtcbmltcG9ydCB7IHVzZUJyZWFkY3J1bWIgfSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iL2hvb2tzL3VzZS1icmVhZGNydW1iXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEJyZWFkY3J1bWIsXG4gIFN0eWxlZEJyZWFkY3J1bWJFbGxpcHNpcyxcbiAgU3R5bGVkQnJlYWRjcnVtYkl0ZW0sXG4gIFN0eWxlZEJyZWFkY3J1bWJMYWJlbCxcbiAgU3R5bGVkQnJlYWRjcnVtYlNlcGFyYXRvcixcbiAgU3R5bGVkU2tlbGV0b25CcmVhZGNydW1iLFxuICBTdHlsZWRTa2VsZXRvbkJyZWFkY3J1bWJMYWJlbCxcbn0gZnJvbSBcIkAvYXRvbXMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnN0eWxlXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEJyZWFkY3J1bWIgPSAoeyBjcnVtYnMsIGN1cnJlbnRQYWdlIH06IElCcmVhZGNydW1iQmFzZSkgPT4ge1xuICBjb25zdCBbaXNFbGxpcHNpc0NsaWNrZWQsIHNldElzRWxsaXBzaXNDbGlja2VkXSA9IHVzZVN0YXRlKGZhbHNlKTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZTogSUJyZWFkY3J1bWJUaGVtZSA9IHVzZUJyZWFkY3J1bWIoSXNTa2VsZXRvbik7XG5cbiAgY29uc3Qgc2VwYXJhdG9ySWNvbiA9IChcbiAgICA8SWNvblxuICAgICAgdHlwZT17SWNvblR5cGUuQ0hFVlJPTl9SSUdIVH1cbiAgICAgIHNpemU9e0ljb25TaXplLlhTTUFMTH1cbiAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9XG4gICAgICBzY3JlZW5SZWFkZXJUZXh0PXtcImJyZWFkY3J1bWIgc2VwYXJhdG9yXCJ9XG4gICAgLz5cbiAgKTtcblxuICBjb25zdCBoYW5kbGVFbGxpcHNpc0NsaWNrID0gKCkgPT4ge1xuICAgIHNldElzRWxsaXBzaXNDbGlja2VkKHRydWUpO1xuICB9O1xuXG4gIGNvbnN0IGRpc3BsYXllZENydW1icyA9XG4gICAgaXNFbGxpcHNpc0NsaWNrZWQgfHwgY3J1bWJzLmxlbmd0aCA8PSA0XG4gICAgICA/IGNydW1ic1xuICAgICAgOiBbXG4gICAgICAgICAgY3J1bWJzWzBdLFxuICAgICAgICAgIDxTdHlsZWRCcmVhZGNydW1iRWxsaXBzaXMgb25DbGljaz17aGFuZGxlRWxsaXBzaXNDbGlja30+XG4gICAgICAgICAgICAuLi5cbiAgICAgICAgICA8L1N0eWxlZEJyZWFkY3J1bWJFbGxpcHNpcz4sXG4gICAgICAgICAgY3J1bWJzW2NydW1icy5sZW5ndGggLSAxXSxcbiAgICAgICAgXTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25CcmVhZGNydW1iIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtkaXNwbGF5ZWRDcnVtYnMubWFwKChjcnVtYiwgaW5kZXgpID0+IHtcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPFN0eWxlZEJyZWFkY3J1bWJJdGVtIGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICA8U3R5bGVkU2tlbGV0b25CcmVhZGNydW1iTGFiZWwgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICAgICAgICA8UGxhY2Vob2xkZXI+e2NydW1ifTwvUGxhY2Vob2xkZXI+XG4gICAgICAgICAgICAgIDwvU3R5bGVkU2tlbGV0b25CcmVhZGNydW1iTGFiZWw+XG4gICAgICAgICAgICAgIDxTdHlsZWRCcmVhZGNydW1iU2VwYXJhdG9yPlxuICAgICAgICAgICAgICAgIHtzZXBhcmF0b3JJY29ufVxuICAgICAgICAgICAgICA8L1N0eWxlZEJyZWFkY3J1bWJTZXBhcmF0b3I+XG4gICAgICAgICAgICA8L1N0eWxlZEJyZWFkY3J1bWJJdGVtPlxuICAgICAgICAgICk7XG4gICAgICAgIH0pfVxuICAgICAgICA8U3R5bGVkQnJlYWRjcnVtYkl0ZW0+XG4gICAgICAgICAgPFN0eWxlZFNrZWxldG9uQnJlYWRjcnVtYkxhYmVsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICA8UGxhY2Vob2xkZXI+e2N1cnJlbnRQYWdlfTwvUGxhY2Vob2xkZXI+XG4gICAgICAgICAgPC9TdHlsZWRTa2VsZXRvbkJyZWFkY3J1bWJMYWJlbD5cbiAgICAgICAgPC9TdHlsZWRCcmVhZGNydW1iSXRlbT5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25CcmVhZGNydW1iPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRCcmVhZGNydW1iIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7ZGlzcGxheWVkQ3J1bWJzLm1hcCgoY3J1bWIsIGluZGV4KSA9PiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgPFN0eWxlZEJyZWFkY3J1bWJJdGVtIGtleT17aW5kZXh9PlxuICAgICAgICAgICAgPFN0eWxlZEJyZWFkY3J1bWJMYWJlbCB0aGVtZT17VGhlbWV9PntjcnVtYn08L1N0eWxlZEJyZWFkY3J1bWJMYWJlbD5cbiAgICAgICAgICAgIDxTdHlsZWRCcmVhZGNydW1iU2VwYXJhdG9yPlxuICAgICAgICAgICAgICB7c2VwYXJhdG9ySWNvbn1cbiAgICAgICAgICAgIDwvU3R5bGVkQnJlYWRjcnVtYlNlcGFyYXRvcj5cbiAgICAgICAgICA8L1N0eWxlZEJyZWFkY3J1bWJJdGVtPlxuICAgICAgICApO1xuICAgICAgfSl9XG4gICAgICA8U3R5bGVkQnJlYWRjcnVtYkl0ZW0+XG4gICAgICAgIDxTdHlsZWRCcmVhZGNydW1iTGFiZWwgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICB7Y3VycmVudFBhZ2V9XG4gICAgICAgIDwvU3R5bGVkQnJlYWRjcnVtYkxhYmVsPlxuICAgICAgPC9TdHlsZWRCcmVhZGNydW1iSXRlbT5cbiAgICA8L1N0eWxlZEJyZWFkY3J1bWI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUJyZWFkY3J1bWJUaGVtZSB9IGZyb20gXCJAL2F0b21zL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VCcmVhZGNydW1iID0gKElzU2tlbGV0b246IGJvb2xlYW4pOiBJQnJlYWRjcnVtYlRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5tZWRpdW0sXG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5tZWRpdW0sXG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICB9O1xufTtcbiIsImV4cG9ydCBlbnVtIEljb25Db250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG4gIFNVUFBPUlRJTkcgPSBcIlNVUFBPUlRJTkdcIixcbiAgREFSSyA9IFwiREFSS1wiLFxuICBMSUdIVCA9IFwiTElHSFRcIixcbiAgRElTQUJMRUQgPSBcIkRJU0FCTEVEXCIsXG4gIERBTkdFUiA9IFwiREFOR0VSXCIsXG4gIFdBUk5JTkcgPSBcIldBUk5JTkdcIixcbiAgU1VDQ0VTUyA9IFwiU1VDQ0VTU1wiLFxuICBJTkZPID0gXCJJTkZPXCIsXG59XG5cbmV4cG9ydCBlbnVtIEljb25TaXplIHtcbiAgWFNNQUxMID0gXCJYU01BTExcIixcbiAgU01BTEwgPSBcIlNNQUxMXCIsXG4gIE1FRElVTSA9IFwiTUVESVVNXCIsXG4gIExBUkdFID0gXCJMQVJHRVwiLFxufVxuXG5leHBvcnQgZW51bSBJY29uVHlwZSB7XG4gIENBTkNFTCA9IFwiQ0FOQ0VMXCIsXG4gIEFSUk9XX0xFRlQgPSBcIkFSUk9XX0xFRlRcIixcbiAgQVJST1dfUklHSFQgPSBcIkFSUk9XX1JJR0hUXCIsXG4gIENIRVZST05fRE9XTiA9IFwiQ0hFVlJPTl9ET1dOXCIsXG4gIENIRVZST05fVVAgPSBcIkNIRVZST05fVVBcIixcbiAgQ0hFVlJPTl9SSUdIVCA9IFwiQ0hFVlJPTl9SSUdIVFwiLFxuICBDSEVWUk9OX0xFRlQgPSBcIkNIRVZST05fTEVGVFwiLFxuICBFRElUID0gXCJFRElUXCIsXG4gIFNFTkQgPSBcIlNFTkRcIixcbiAgUkVETyA9IFwiUkVET1wiLFxuICBQUk9GSUxFID0gXCJQUk9GSUxFXCIsXG4gIENIRUNLID0gXCJDSEVDS1wiLFxuICBUUkFOU0xBVElPTiA9IFwiVFJBTlNMQVRJT05cIixcbiAgTUFQID0gXCJNQVBcIixcbiAgRVVSTyA9IFwiRVVST1wiLFxuICBCQUJZID0gXCJCQUJZXCIsXG4gIFBJTiA9IFwiUElOXCIsXG4gIERJU1RBTkNFID0gXCJESVNUQU5DRVwiLFxuICBET0NVTUVOVCA9IFwiRE9DVU1FTlRcIixcbiAgRkFWT1JJVEUgPSBcIkZBVk9SSVRFXCIsXG4gIE1FTlUgPSBcIk1FTlVcIixcbiAgQUREID0gXCJBRERcIixcbiAgTUlOVVMgPSBcIk1JTlVTXCIsXG4gIENPTU1FTlQgPSBcIkNPTU1FTlRcIixcbiAgSU5fUFJPQ0VTUyA9IFwiSU5fUFJPQ0VTU1wiLFxuICBDT0xMQVBTRSA9IFwiQ09MTEFQU0VcIixcbiAgRVhQQU5EID0gXCJFWFBBTkRcIixcbn1cbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQnJlYWRjcnVtYlRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvYnJlYWRjcnVtYi9icmVhZGNydW1iLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRCcmVhZGNydW1iID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQnJlYWRjcnVtYlRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZ2FwOiAxMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyZWFkY3J1bWJJdGVtID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyZWFkY3J1bWJMYWJlbCA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElCcmVhZGNydW1iVGhlbWUgfT5gXG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICBtYXgtd2lkdGg6IDIxY2g7XG5cbiAgJiA+IGEge1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICB9XG5cbiAgJiA+IGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJyZWFkY3J1bWJFbGxpcHNpcyA9IHN0eWxlZC5zcGFuPHtcbiAgdGhlbWU6IElCcmVhZGNydW1iVGhlbWU7XG59PmBcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnJlYWRjcnVtYlNlcGFyYXRvciA9IHN0eWxlZC5zcGFuYGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkJyZWFkY3J1bWIgPSBzdHlsZWQoU3R5bGVkQnJlYWRjcnVtYik8e1xuICB0aGVtZTogSUJyZWFkY3J1bWJUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25CcmVhZGNydW1iTGFiZWwgPSBzdHlsZWQoU3R5bGVkQnJlYWRjcnVtYkxhYmVsKTx7XG4gIHRoZW1lOiBJQnJlYWRjcnVtYlRoZW1lO1xufT5gXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBBZGQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTggMS41VjE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDhIMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmNvbnN0IEJhc2VJY29uU3ZnID0gc3R5bGVkLnN2Zy5hdHRycygocHJvcHMpID0+ICh7XG4gIHZlcnNpb246IFwiMS4xXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICByb2xlOiBcImltZ1wiLFxuICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxufSkpYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlSWNvblBhdGggPSBzdHlsZWQucGF0aC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSWNvbiA9IHN0eWxlZChCYXNlSWNvblN2Zyk8e1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJY29uUGF0aCA9IHN0eWxlZChCYXNlSWNvblBhdGgpPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSWNvbldyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTY3JlZW5SZWFkZXJPbmx5IH0gZnJvbSBcIkAvYmFzZS9zcmVlbl9yZWFkZXJfb25seS9zY3JlZW5fcmVhZGVyX29ubHlcIjtcbmltcG9ydCB7IFN0eWxlZEljb24sIFN0eWxlZEljb25XcmFwcGVyIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSUljb25TdmcgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEljb24gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplLCBjaGlsZHJlbiB9OiBJSWNvblN2ZykgPT4ge1xuICByZXR1cm4gKFxuICAgIDxTdHlsZWRJY29uV3JhcHBlcj5cbiAgICAgIDxTdHlsZWRJY29uIHdpZHRoPXtzaXplfSBoZWlnaHQ9e3NpemV9IHZpZXdCb3g9XCIwIDAgMTYgMTZcIj5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRJY29uPlxuICAgICAgPFNjcmVlblJlYWRlck9ubHkgdGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gLz5cbiAgICA8L1N0eWxlZEljb25XcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IElJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUljb25UaGVtZSA9IChjb250ZXh0OiBrZXlvZiB0eXBlb2YgSWNvbkNvbnRleHQpOiBJSWNvblRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IEljb25Jbml0aWFsQ29sb3JQcmltYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImljb25fY29sb3JfcHJpbWFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBJY29uSW5pdGlhbENvbG9yU3VwcG9ydGluZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJpY29uX2NvbG9yX3N1cHBvcnRpbmdcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgSWNvbkluaXRpYWxDb2xvckRhcmsgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiaWNvbl9jb2xvcl9kYXJrXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICB9KTtcblxuICBjb25zdCBJY29uSW5pdGlhbENvbG9yTGlnaHQgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiaWNvbl9jb2xvcl9saWdodFwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICB9KTtcblxuICBjb25zdCBJY29uRGlzYWJsZWRDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJpY29uX2Rpc2FibGVkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtcbiAgICAgIEljb25Db250ZXh0LlNUQU5EQVJELFxuICAgICAge1xuICAgICAgICBzdHJva2U6IEljb25Jbml0aWFsQ29sb3JQcmltYXJ5LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEljb25Db250ZXh0LlNVUFBPUlRJTkcsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkluaXRpYWxDb2xvclN1cHBvcnRpbmcsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgSWNvbkNvbnRleHQuRElTQUJMRUQsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkRpc2FibGVkQ29sb3IsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgSWNvbkNvbnRleHQuTElHSFQsXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkluaXRpYWxDb2xvckxpZ2h0LFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEljb25Db250ZXh0LkRBUkssXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogSWNvbkluaXRpYWxDb2xvckRhcmssXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgSWNvbkNvbnRleHQuREFOR0VSLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IENvbG9ycy5kYW5nZXIudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgSWNvbkNvbnRleHQuV0FSTklORyxcbiAgICAgIHtcbiAgICAgICAgc3Ryb2tlOiBDb2xvcnMud2FybmluZy50aW50XzUwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBJY29uQ29udGV4dC5TVUNDRVNTLFxuICAgICAge1xuICAgICAgICBzdHJva2U6IENvbG9ycy5zdWNjZXNzLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIEljb25Db250ZXh0LklORk8sXG4gICAgICB7XG4gICAgICAgIHN0cm9rZTogQ29sb3JzLmluZm8udGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7IEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgSWNvbkN0eERlZmF1bHQ6IEljb25Db250ZXh0ID0gSWNvbkNvbnRleHQuU1RBTkRBUkQ7XG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgSWNvbkN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KEljb25DdHhEZWZhdWx0KTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEFycm93TGVmdCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTUuNSA4SDAuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSAxM0wwLjUgOEw1LjUgM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQXJyb3dSaWdodCA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMC41IDhIMTUuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEwLjUgM0wxNS41IDhMMTAuNSAxM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQmFieSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTQgNi40OTk5NUMxMy44ODc1IDYuNTAxIDEzLjc3NTUgNi41MTQ0MSAxMy42NjYgNi41Mzk5NUMxMy4yNTk2IDUuMzYwNTQgMTIuNDk1MiA0LjMzNzM2IDExLjQ3OTUgMy42MTMwOEMxMC40NjM5IDIuODg4NzkgOS4yNDc0NyAyLjQ5OTUxIDggMi40OTk1MUM2Ljc1MjUzIDIuNDk5NTEgNS41MzYxNCAyLjg4ODc5IDQuNTIwNDYgMy42MTMwOEMzLjUwNDc4IDQuMzM3MzYgMi43NDA0NCA1LjM2MDU0IDIuMzM0IDYuNTM5OTVDMi4yMjQ0NyA2LjUxNDQxIDIuMTEyNDYgNi41MDEgMiA2LjQ5OTk1QzEuNjAyMTggNi40OTk5NSAxLjIyMDY0IDYuNjU3OTkgMC45MzkzNCA2LjkzOTI5QzAuNjU4MDM1IDcuMjIwNiAwLjUgNy42MDIxMyAwLjUgNy45OTk5NUMwLjUgOC4zOTc3OCAwLjY1ODAzNSA4Ljc3OTMxIDAuOTM5MzQgOS4wNjA2MUMxLjIyMDY0IDkuMzQxOTIgMS42MDIxOCA5LjQ5OTk1IDIgOS40OTk5NUMyLjAzIDkuNDk5OTUgMi4wNTkgOS40OTI5NSAyLjA4OSA5LjQ5MDk1QzIuMzIxNTIgMTAuODkwNyAzLjA0MzI1IDEyLjE2MjYgNC4xMjU3IDEzLjA4QzUuMjA4MTQgMTMuOTk3NSA2LjU4MTA1IDE0LjUwMSA4IDE0LjUwMUM5LjQxODk1IDE0LjUwMSAxMC43OTE5IDEzLjk5NzUgMTEuODc0MyAxMy4wOEMxMi45NTY3IDEyLjE2MjYgMTMuNjc4NSAxMC44OTA3IDEzLjkxMSA5LjQ5MDk1QzEzLjk0MSA5LjQ5MDk1IDEzLjk3IDkuNDk5OTUgMTQgOS40OTk5NUMxNC4zOTc4IDkuNDk5OTUgMTQuNzc5NCA5LjM0MTkyIDE1LjA2MDcgOS4wNjA2MUMxNS4zNDIgOC43NzkzMSAxNS41IDguMzk3NzggMTUuNSA3Ljk5OTk1QzE1LjUgNy42MDIxMyAxNS4zNDIgNy4yMjA2IDE1LjA2MDcgNi45MzkyOUMxNC43Nzk0IDYuNjU3OTkgMTQuMzk3OCA2LjQ5OTk1IDE0IDYuNDk5OTVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDguNUM2LjA1MjI4IDguNSA2LjUgOC4wNTIyOCA2LjUgNy41QzYuNSA2Ljk0NzcyIDYuMDUyMjggNi41IDUuNSA2LjVDNC45NDc3MiA2LjUgNC41IDYuOTQ3NzIgNC41IDcuNUM0LjUgOC4wNTIyOCA0Ljk0NzcyIDguNSA1LjUgOC41WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlPVwibm9uZVwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTAuNSA4LjVDMTEuMDUyMyA4LjUgMTEuNSA4LjA1MjI4IDExLjUgNy41QzExLjUgNi45NDc3MiAxMS4wNTIzIDYuNSAxMC41IDYuNUM5Ljk0NzcyIDYuNSA5LjUgNi45NDc3MiA5LjUgNy41QzkuNSA4LjA1MjI4IDkuOTQ3NzIgOC41IDEwLjUgOC41WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgc3Ryb2tlPVwibm9uZVwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNi4zOTMwNyAxMS4xMDY5QzYuODg5MzggMTEuMzY1MSA3LjQ0MDYxIDExLjQ5OTkgOC4wMDAwNyAxMS40OTk5QzguNTU5NTMgMTEuNDk5OSA5LjExMDc1IDExLjM2NTEgOS42MDcwNyAxMS4xMDY5XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNy45OTk4MSAyLjVDNy43NTMxOCAyLjUwMDExIDcuNTEwMzkgMi41NjEwMyA3LjI5MjkyIDIuNjc3MzdDNy4wNzU0NiAyLjc5MzcxIDYuODkwMDMgMi45NjE4NyA2Ljc1MzA3IDMuMTY2OTdDNi42MTYxIDMuMzcyMDcgNi41MzE4MiAzLjYwNzc3IDYuNTA3NjkgMy44NTMyMkM2LjQ4MzU1IDQuMDk4NjYgNi41MjAzMSA0LjM0NjI3IDYuNjE0NzEgNC41NzQxMkM2LjcwOTEgNC44MDE5NiA2Ljg1ODIyIDUuMDAzMDIgNy4wNDg4NiA1LjE1OTQ5QzcuMjM5NSA1LjMxNTk1IDcuNDY1NzggNS40MjMgNy43MDc2NyA1LjQ3MTE0QzcuOTQ5NTUgNS41MTkyOSA4LjE5OTU3IDUuNTA3MDUgOC40MzU1OSA1LjQzNTUxQzguNjcxNjIgNS4zNjM5NyA4Ljg4NjM2IDUuMjM1MzQgOS4wNjA4MSA1LjA2MVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2FuY2VsID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMy41IDIuNUwyLjUgMTMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTIuNSAyLjVMMTMuNSAxMy41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDaGVjayA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNCA4TDYuNjY2NjcgMTAuNjY2N0wxMiA1LjMzMzMzXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDaGV2cm9uRG93biA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMiA1LjVMOCAxMS41TDE0IDUuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDaGV2cm9uVXAgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE0IDExLjVMOCA1LjVMMiAxMS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IERpc3RhbmNlID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0zLjUgMTEuNUMzLjUgMTIuNTYwOSAzLjkyMTQzIDEzLjU3ODMgNC42NzE1NyAxNC4zMjg0QzUuNDIxNzIgMTUuMDc4NiA2LjQzOTEzIDE1LjUgNy41IDE1LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0zLjUgOC41QzUuNSA2LjI3MDY3IDYuNSA0LjYwNCA2LjUgMy41QzYuNSAyLjcwNDM1IDYuMTgzOTMgMS45NDEyOSA1LjYyMTMyIDEuMzc4NjhDNS4wNTg3MSAwLjgxNjA3IDQuMjk1NjUgMC41IDMuNSAwLjVDMi43MDQzNSAwLjUgMS45NDEyOSAwLjgxNjA3IDEuMzc4NjggMS4zNzg2OEMwLjgxNjA3IDEuOTQxMjkgMC41IDIuNzA0MzUgMC41IDMuNUMwLjUgNC42MDUzMyAxLjUgNi4yNzIgMy41IDguNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMS41IDEwQzEyLjMyODQgMTAgMTMgOS4zMjg0MyAxMyA4LjVDMTMgNy42NzE1NyAxMi4zMjg0IDcgMTEuNSA3QzEwLjY3MTYgNyAxMCA3LjY3MTU3IDEwIDguNUMxMCA5LjMyODQzIDEwLjY3MTYgMTAgMTEuNSAxMFpcIlxuICAgICAgICBmaWxsPXtUaGVtZS5zdHJva2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMy41IDQuNUM0LjA1MjI4IDQuNSA0LjUgNC4wNTIyOCA0LjUgMy41QzQuNSAyLjk0NzcyIDQuMDUyMjggMi41IDMuNSAyLjVDMi45NDc3MiAyLjUgMi41IDIuOTQ3NzIgMi41IDMuNUMyLjUgNC4wNTIyOCAyLjk0NzcyIDQuNSAzLjUgNC41WlwiXG4gICAgICAgIGZpbGw9e1RoZW1lLnN0cm9rZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMS41IDE1QzE0LjE2NjcgMTIuMTQgMTUuNSA5Ljk3MzMzIDE1LjUgOC41QzE1LjUgNy40MzkxMyAxNS4wNzg2IDYuNDIxNzIgMTQuMzI4NCA1LjY3MTU3QzEzLjU3ODMgNC45MjE0MyAxMi41NjA5IDQuNSAxMS41IDQuNUMxMC40MzkxIDQuNSA5LjQyMTcyIDQuOTIxNDMgOC42NzE1NyA1LjY3MTU3QzcuOTIxNDMgNi40MjE3MiA3LjUgNy40MzkxMyA3LjUgOC41QzcuNSA5Ljk3MzMzIDguODMzMzMgMTIuMTQgMTEuNSAxNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRG9jdW1lbnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEyLjUgMy41SDIuNVYxNS41SDEyLjVWMy41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTQuNSAwLjVIMTUuNVYxMy41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDYuNUg5LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgOS41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSAxMi41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBFZGl0ID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMCAzTDEzIDZcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMiAxTDE1IDRMNSAxNEwxIDE1TDIgMTFMMTIgMVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgRXVybyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDYuNUg5LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgOS41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEyLjUgMi43Mjk5OEMxMS41MzAyIDEuODkzMzIgMTAuMjggMS40NTM5OSA5IDEuNDk5OThDNC45NjcgMS40OTk5OCAzLjUgNC45MDQ5OCAzLjUgNy45OTk5OEMzLjUgMTEuMDk1IDQuOTY3IDE0LjUgOSAxNC41QzEwLjI4IDE0LjU0NiAxMS41MzAyIDE0LjEwNjYgMTIuNSAxMy4yN1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBGYXZvcml0ZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTQuMzI4IDIuNjcyMDFDMTIuNzY2IDEuMTEwMDEgMTAuMjMzIDEuMTEwMDEgOC42NzEwMSAyLjY3MjAxQzguMzkxMDEgMi45NTIwMSA4LjE4MDAxIDMuMjcwMDEgOC4wMDAwMSAzLjYwMTAxQzcuODIwMDEgMy4yNzAwMSA3LjYwOTAxIDIuOTUxMDEgNy4zMjgwMSAyLjY3MTAxQzUuNzY2MDEgMS4xMDkwMSAzLjIzMzAxIDEuMTA5MDEgMS42NzEwMSAyLjY3MTAxQzAuMTA5MDEyIDQuMjMzMDEgMC4xMDkwMTIgNi43NjYwMSAxLjY3MTAxIDguMzI4MDFMOC4wMDAwMSAxNC41TDE0LjMyOCA4LjMyODAxQzE1Ljg5MSA2Ljc2NjAxIDE1Ljg5MSA0LjIzNDAxIDE0LjMyOCAyLjY3MjAxWlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBNYXAgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk01LjUgMC41VjEzLjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xMC41IDIuNVYxNS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMC41IDE1LjVWMi41TDUuNSAwLjVMMTAuNSAyLjVMMTUuNSAwLjVWMTMuNUwxMC41IDE1LjVMNS41IDEzLjVMMC41IDE1LjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IE1lbnUgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgMi41SDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgOEgxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMS41IDEzLjVIMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBQaW4gPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEzLjUgNkMxMy41IDEwLjUgOCAxNS41IDggMTUuNUM4IDE1LjUgMi41IDEwLjUgMi41IDZDMi41IDQuNTQxMzEgMy4wNzk0NiAzLjE0MjM2IDQuMTEwOTEgMi4xMTA5MUM1LjE0MjM2IDEuMDc5NDYgNi41NDEzMSAwLjUgOCAwLjVDOS40NTg2OSAwLjUgMTAuODU3NiAxLjA3OTQ2IDExLjg4OTEgMi4xMTA5MUMxMi45MjA1IDMuMTQyMzYgMTMuNSA0LjU0MTMxIDEzLjUgNlpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk04IDguNUM5LjM4MDcxIDguNSAxMC41IDcuMzgwNzEgMTAuNSA2QzEwLjUgNC42MTkyOSA5LjM4MDcxIDMuNSA4IDMuNUM2LjYxOTI5IDMuNSA1LjUgNC42MTkyOSA1LjUgNkM1LjUgNy4zODA3MSA2LjYxOTI5IDguNSA4IDguNVpcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgUHJvZmlsZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOC40NzA1OSA4LjVDOS43NzAwOCA4LjUgMTAuODIzNSA3LjM4MDcxIDEwLjgyMzUgNkMxMC44MjM1IDQuNjE5MjkgOS43NzAwOCAzLjUgOC40NzA1OSAzLjVDNy4xNzEwOSAzLjUgNi4xMTc2NSA0LjYxOTI5IDYuMTE3NjUgNkM2LjExNzY1IDcuMzgwNzEgNy4xNzEwOSA4LjUgOC40NzA1OSA4LjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTEzLjEzMjEgMTMuNjIxQzExLjkwMDEgMTAuODg2IDguODE0MDEgOS43MjkwMiA2LjIzOTg5IDExLjAzOEM1LjE3NjM2IDExLjU3OSA0LjMxODAxIDEyLjQ5IDMuODA4ODMgMTMuNjIxXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTguNDcwNTkgMTUuNUMxMi4zNjkgMTUuNSAxNS41Mjk0IDEyLjE0MjEgMTUuNTI5NCA4QzE1LjUyOTQgMy44NTc4NiAxMi4zNjkgMC41IDguNDcwNTkgMC41QzQuNTcyMSAwLjUgMS40MTE3NyAzLjg1Nzg2IDEuNDExNzcgOEMxLjQxMTc3IDEyLjE0MjEgNC41NzIxIDE1LjUgOC40NzA1OSAxNS41WlwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgPC9JY29uPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9jb21wb25lbnRzL2ljb25cIjtcbmltcG9ydCB7IElJY29uQmFzZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgUmVkbyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTUuNSAxMC41SDVDMi41MTUgMTAuNSAwLjUgOC40ODUgMC41IDZDMC41IDMuNTE1IDIuNTE1IDEuNSA1IDEuNUgxMS41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTEuNSA2LjVMMTUuNSAxMC41TDExLjUgMTQuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBTZW5kID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk00LjUwNCA5LjUwM0wxMi41IDE1LjVMMTUuNSAwLjVMMC41IDYuNUwyLjUwMiA4LjAwMVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTcuNjMgMTEuODQ4TDQuNSAxNS41TDQuNTA0IDkuNTAzTDkgNi41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IFRyYW5zbGF0aW9uID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgMi41SDkuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuNSAwLjVWMi41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMy41IDIuNUMzLjU0NDQ0IDMuODAzODggNC4wMDUzMyA1LjA1OTI0IDQuODE1MTQgNi4wODIxMkM1LjYyNDk1IDcuMTA1IDYuNzQxMDkgNy44NDE2MSA4IDguMTg0XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNy41IDIuNUM3LjEgOC4xMjUgMS41IDguNSAxLjUgOC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNOCAxNC41TDExLjUgNi41TDE1IDE0LjVcIlxuICAgICAgICBzdHJva2U9e1RoZW1lLnN0cm9rZX1cbiAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgIC8+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk05LjMxMjk5IDExLjVIMTMuNjg4XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IENvbW1lbnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTcuMjkxMDIgMC41QzMuOTc3MDIgMC41IDEuMjkxMDIgMi43MzkgMS4yOTEwMiA1LjVDMS4yOTEwMiA2LjUyMSAxLjY2MDAyIDcuNDcgMi4yOTEwMiA4LjI2MlYxMkw0Ljg2NDAyIDEwLjA3QzUuNjA2MDIgMTAuMzQ1IDYuNDI2MDIgMTAuNSA3LjI5MTAyIDEwLjVDMTAuNjA1IDEwLjUgMTMuMjkxIDguMjYxIDEzLjI5MSA1LjVDMTMuMjkxIDIuNzM5IDEwLjYwNSAwLjUgNy4yOTEwMiAwLjVaXCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNi4wMTAwMiAxMi41MDRDNy4wOTkwMiAxMy40MjcgOC42MTUwMiAxNCAxMC4yOTEgMTRDMTEuMDc0IDE0IDExLjgyIDEzLjg3MSAxMi41MDYgMTMuNjQ0TDE1LjI5MSAxNS41VjExLjc2MkMxNS45MjIgMTAuOTcgMTYuMjkxIDEwLjAyMiAxNi4yOTEgOUMxNi4yOTEgOC4wOTEgMTYgNy4yMzkgMTUuNDkyIDYuNTA1XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcblxuZXhwb3J0IGNvbnN0IEluUHJvY2VzcyA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNS41IDAuNUw4LjUgMy41SDVDMi41MTUgMy41IDAuNSA1LjUxNSAwLjUgOEMwLjUgMTAuNDg1IDIuNTE1IDEyLjUgNSAxMi41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTAuNSAxNS41TDcuNSAxMi41SDExQzEzLjQ4NSAxMi41IDE1LjUgMTAuNDg1IDE1LjUgOEMxNS41IDUuNTE1IDEzLjQ4NSAzLjUgMTEgMy41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZUljb25UaGVtZSB9IGZyb20gXCJAL3VpL2ljb24vaG9va3MvdXNlLWljb24udGhlbWVcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuXG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IE1pbnVzID0gKHsgc2NyZWVuUmVhZGVyVGV4dCwgc2l6ZSB9OiBJSWNvbkJhc2UpID0+IHtcbiAgY29uc3QgQ29udGV4dCA9IHVzZUNvbnRleHQoSWNvbkN0eCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSWNvblRoZW1lKENvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPEljb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17c2l6ZX0+XG4gICAgICA8U3R5bGVkSWNvblBhdGhcbiAgICAgICAgZD1cIk0xLjUgOEgxNC41XCJcbiAgICAgICAgc3Ryb2tlPXtUaGVtZS5zdHJva2V9XG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBDb2xsYXBzZSA9ICh7IHNjcmVlblJlYWRlclRleHQsIHNpemUgfTogSUljb25CYXNlKSA9PiB7XG4gIGNvbnN0IENvbnRleHQgPSB1c2VDb250ZXh0KEljb25DdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZUljb25UaGVtZShDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxJY29uIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e3NpemV9PlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMC41IDhIMTEuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPXtcIm5vbmVcIn1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNNyAxMi41TDExLjUgOEw3IDMuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPXtcIm5vbmVcIn1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgICAgPFN0eWxlZEljb25QYXRoXG4gICAgICAgIGQ9XCJNMTUuNSAxNS41VjAuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPXtcIm5vbmVcIn1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vY29tcG9uZW50cy9pY29uXCI7XG5pbXBvcnQgeyBJSWNvbkJhc2UgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEljb25QYXRoIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnN0eWxlc1wiO1xuaW1wb3J0IHsgSWNvbkN0eCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCBDaGV2cm9uUmlnaHQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTUuMTY2NjkgMC42NjY2NjRMMTMuMTY2NyA4TDUuMTY2NjkgMTUuMzMzM1wiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBTdHlsZWRJY29uUGF0aCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdHlsZXNcIjtcbmltcG9ydCB7IEljb25DdHggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSWNvblRoZW1lIH0gZnJvbSBcIkAvdWkvaWNvbi9ob29rcy91c2UtaWNvbi50aGVtZVwiO1xuXG5leHBvcnQgY29uc3QgQ2hldnJvbkxlZnQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTExLjgzMzMgMTUuMzMzM0wzLjgzMzMxIDhMMTEuODMzMyAwLjY2NjY2OVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgIHN0cm9rZUxpbmVqb2luPVwicm91bmRcIlxuICAgICAgLz5cbiAgICA8L0ljb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uL2NvbXBvbmVudHMvaWNvblwiO1xuaW1wb3J0IHsgU3R5bGVkSWNvblBhdGggfSBmcm9tIFwiQC91aS9pY29uL2ljb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VJY29uVGhlbWUgfSBmcm9tIFwiQC91aS9pY29uL2hvb2tzL3VzZS1pY29uLnRoZW1lXCI7XG5pbXBvcnQgeyBJY29uQ3R4IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmNvbnRleHRcIjtcblxuaW1wb3J0IHsgSUljb25CYXNlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBFeHBhbmQgPSAoeyBzY3JlZW5SZWFkZXJUZXh0LCBzaXplIH06IElJY29uQmFzZSkgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJY29uQ3R4KTtcbiAgY29uc3QgVGhlbWUgPSB1c2VJY29uVGhlbWUoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8SWNvbiBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtzaXplfT5cbiAgICAgIDxTdHlsZWRJY29uUGF0aFxuICAgICAgICBkPVwiTTE2LjUgOC41SDQuNzY2NjdNNC43NjY2NyA4LjVMOS41NjY2NyAzLjdNNC43NjY2NyA4LjVMOS41NjY2NyAxMy4zTTAuNSAwLjVWMTYuNVwiXG4gICAgICAgIHN0cm9rZT17VGhlbWUuc3Ryb2tlfVxuICAgICAgICBmaWxsPXtcIm5vbmVcIn1cbiAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAvPlxuICAgIDwvSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBBZGQsXG4gIEFycm93TGVmdCxcbiAgQXJyb3dSaWdodCxcbiAgQmFieSxcbiAgQ2FuY2VsLFxuICBDaGVjayxcbiAgQ2hldnJvbkRvd24sXG4gIENoZXZyb25VcCxcbiAgQ29tbWVudCxcbiAgRGlzdGFuY2UsXG4gIERvY3VtZW50LFxuICBFZGl0LFxuICBFdXJvLFxuICBGYXZvcml0ZSxcbiAgSW5Qcm9jZXNzLFxuICBNYXAsXG4gIE1lbnUsXG4gIFBpbixcbiAgUHJvZmlsZSxcbiAgUmVkbyxcbiAgU2VuZCxcbiAgVHJhbnNsYXRpb24sXG59IGZyb20gXCJAL3VpL2ljb24vaWNvbi5zdmdzXCI7XG5pbXBvcnQgeyBJSWNvbkxvYWQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24udHlwZXNcIjtcbmltcG9ydCB7IEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgTWludXMgfSBmcm9tIFwiQC91aS9pY29uL3N2Z3MvaWNvbi5taW51cy5zdmdcIjtcbmltcG9ydCB7IENvbGxhcHNlIH0gZnJvbSBcIkAvdWkvaWNvbi9zdmdzL2ljb24uY29sbGFwc2Uuc3ZnXCI7XG5pbXBvcnQgeyBDaGV2cm9uUmlnaHQgfSBmcm9tIFwiQC91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLXJpZ2h0LnN2Z1wiO1xuaW1wb3J0IHsgQ2hldnJvbkxlZnQgfSBmcm9tIFwiQC91aS9pY29uL3N2Z3MvaWNvbi5jaGV2cm9uLWxlZnQuc3ZnXCI7XG5pbXBvcnQgeyBFeHBhbmQgfSBmcm9tIFwiQC91aS9pY29uL3N2Z3MvaWNvbi5leHBhbmQuc3ZnXCI7XG5cbmV4cG9ydCBjb25zdCBMb2FkSWNvbiA9ICh7IHNpemUsIHR5cGUsIHNjcmVlblJlYWRlclRleHQgfTogSUljb25Mb2FkKSA9PiB7XG4gIGxldCBTaXplID0gXCIzMnB4XCI7XG4gIHN3aXRjaCAoc2l6ZSkge1xuICAgIGNhc2UgSWNvblNpemUuWFNNQUxMOlxuICAgICAgU2l6ZSA9IFwiMTJweFwiO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBJY29uU2l6ZS5TTUFMTDpcbiAgICAgIFNpemUgPSBcIjE2cHhcIjtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgSWNvblNpemUuTEFSR0U6XG4gICAgICBTaXplID0gXCI0OHB4XCI7XG4gICAgICBicmVhaztcbiAgICBjYXNlIEljb25TaXplLk1FRElVTTpcbiAgICBkZWZhdWx0OlxuICB9XG5cbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSBJY29uVHlwZS5BREQ6XG4gICAgICByZXR1cm4gPEFkZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcbiAgICBjYXNlIEljb25UeXBlLlBST0ZJTEU6XG4gICAgICByZXR1cm4gPFByb2ZpbGUgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG4gICAgY2FzZSBJY29uVHlwZS5BUlJPV19MRUZUOlxuICAgICAgcmV0dXJuIDxBcnJvd0xlZnQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG4gICAgY2FzZSBJY29uVHlwZS5BUlJPV19SSUdIVDpcbiAgICAgIHJldHVybiA8QXJyb3dSaWdodCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuQ0FOQ0VMOlxuICAgICAgcmV0dXJuIDxDYW5jZWwgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLkNIRVZST05fRE9XTjpcbiAgICAgIHJldHVybiA8Q2hldnJvbkRvd24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLkNIRVZST05fVVA6XG4gICAgICByZXR1cm4gPENoZXZyb25VcCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuQ0hFVlJPTl9SSUdIVDpcbiAgICAgIHJldHVybiA8Q2hldnJvblJpZ2h0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5DSEVWUk9OX0xFRlQ6XG4gICAgICByZXR1cm4gPENoZXZyb25MZWZ0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5FRElUOlxuICAgICAgcmV0dXJuIDxFZGl0IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5TRU5EOlxuICAgICAgcmV0dXJuIDxTZW5kIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5SRURPOlxuICAgICAgcmV0dXJuIDxSZWRvIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5DSEVDSzpcbiAgICAgIHJldHVybiA8Q2hlY2sgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLlBJTjpcbiAgICAgIHJldHVybiA8UGluIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5UUkFOU0xBVElPTjpcbiAgICAgIHJldHVybiA8VHJhbnNsYXRpb24gc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLk1BUDpcbiAgICAgIHJldHVybiA8TWFwIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5FVVJPOlxuICAgICAgcmV0dXJuIDxFdXJvIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5CQUJZOlxuICAgICAgcmV0dXJuIDxCYWJ5IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5NRU5VOlxuICAgICAgcmV0dXJuIDxNZW51IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5ET0NVTUVOVDpcbiAgICAgIHJldHVybiA8RG9jdW1lbnQgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLkRJU1RBTkNFOlxuICAgICAgcmV0dXJuIDxEaXN0YW5jZSBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuRkFWT1JJVEU6XG4gICAgICByZXR1cm4gPEZhdm9yaXRlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5DT01NRU5UOlxuICAgICAgcmV0dXJuIDxDb21tZW50IHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5JTl9QUk9DRVNTOlxuICAgICAgcmV0dXJuIDxJblByb2Nlc3Mgc2NyZWVuUmVhZGVyVGV4dD17c2NyZWVuUmVhZGVyVGV4dH0gc2l6ZT17U2l6ZX0gLz47XG5cbiAgICBjYXNlIEljb25UeXBlLk1JTlVTOlxuICAgICAgcmV0dXJuIDxNaW51cyBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGNhc2UgSWNvblR5cGUuQ09MTEFQU0U6XG4gICAgICByZXR1cm4gPENvbGxhcHNlIHNjcmVlblJlYWRlclRleHQ9e3NjcmVlblJlYWRlclRleHR9IHNpemU9e1NpemV9IC8+O1xuXG4gICAgY2FzZSBJY29uVHlwZS5FWFBBTkQ6XG4gICAgICByZXR1cm4gPEV4cGFuZCBzY3JlZW5SZWFkZXJUZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSBzaXplPXtTaXplfSAvPjtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gPD4g8J+aqyBOb3QgRm91bmQ8Lz47XG4gIH1cbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBMb2FkSWNvbiB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5sb2FkZXJcIjtcbmltcG9ydCB7IElJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBJY29uQ3R4LCBJY29uQ3R4RGVmYXVsdCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBJY29uID0gKHsgc2l6ZSwgdHlwZSwgc2NyZWVuUmVhZGVyVGV4dCwgY29udGV4dCB9OiBJSWNvbikgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBJY29uQ3R4RGVmYXVsdDtcblxuICBjb25zdCBJY29uID0gTG9hZEljb24oe1xuICAgIHNpemU6IHNpemUgPyBzaXplIDogSWNvblNpemUuU01BTEwsXG4gICAgdHlwZTogdHlwZSxcbiAgICBzY3JlZW5SZWFkZXJUZXh0OiBzY3JlZW5SZWFkZXJUZXh0LFxuICB9KTtcblxuICByZXR1cm4gPEljb25DdHguUHJvdmlkZXIgdmFsdWU9e0NvbnRleHR9PntJY29ufTwvSWNvbkN0eC5Qcm92aWRlcj47XG59O1xuXG5leHBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUsIEljb25UeXBlIH07XG5leHBvcnQgdHlwZSB7IElJY29uIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBJQnJlYWRjcnVtYiB9IGZyb20gXCJAL2F0b21zL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi50eXBlc1wiO1xuaW1wb3J0IHsgQnJlYWRjcnVtYiBhcyBCYXNlQnJlYWRjcnVtYiB9IGZyb20gXCJAL2F0b21zL2JyZWFkY3J1bWIvY29tcG9uZW50cy9icmVhZGNydW1iXCI7XG5cbmV4cG9ydCBjb25zdCBCcmVhZGNydW1iID0gKHsgY3J1bWJzLCBjdXJyZW50UGFnZSB9OiBJQnJlYWRjcnVtYikgPT4ge1xuICByZXR1cm4gPEJhc2VCcmVhZGNydW1iIGNydW1icz17Y3J1bWJzfSBjdXJyZW50UGFnZT17Y3VycmVudFBhZ2V9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJQnJlYWRjcnVtYiB9IGZyb20gXCJAL2F0b21zL2JyZWFkY3J1bWIvYnJlYWRjcnVtYi50eXBlc1wiO1xuIiwiaW1wb3J0IHsgQnV0dG9uSWNvblByb3BzIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZUJ1dHRvbkljb25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2hvb2tzL3VzZS1idXR0b24uaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBCdXR0b25DdHggfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkljb24gPSAoeyBpY29uIH06IEJ1dHRvbkljb25Qcm9wcykgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChCdXR0b25DdHgpO1xuICBjb25zdCBNYXRjaGVkSWNvbkNvbnRleHQ6IEljb25Db250ZXh0ID0gdXNlQnV0dG9uSWNvbkNvbnRleHQoQ29udGV4dCk7XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAge1JlYWN0LmNsb25lRWxlbWVudChpY29uLCB7XG4gICAgICAgIGNvbnRleHQ6IE1hdGNoZWRJY29uQ29udGV4dCxcbiAgICAgICAgc2l6ZTogSWNvblNpemUuU01BTEwsXG4gICAgICB9KX1cbiAgICA8Lz5cbiAgKTtcbn07XG4iLCJleHBvcnQgZW51bSBCdXR0b25Db250ZXh0IHtcbiAgRElTQUJMRUQgPSBcIkRJU0FCTEVEXCIsXG4gIFBSSU1BUlkgPSBcIlBSSU1BUllcIixcbiAgU1VQUE9SVElORyA9IFwiU1VQUE9SVElOR1wiLFxuICBORVVUUkFMID0gXCJORVVUUkFMXCIsXG4gIE9VVExJTkVEID0gXCJPVVRMSU5FRFwiLFxuICBHSE9TVCA9IFwiR0hPU1RcIixcbiAgVUkgPSBcIlVJXCIsXG59XG5cbmV4cG9ydCBlbnVtIEJ1dHRvblR5cGUge1xuICBCVVRUT04gPSBcIkJVVFRPTlwiLFxuICBSRVNFVCA9IFwiUkVTRVRcIixcbiAgU1VCTUlUID0gXCJTVUJNSVRcIixcbiAgTElOSyA9IFwiTElOS1wiLFxufVxuIiwiaW1wb3J0IHsgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlQnV0dG9uSWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBCdXR0b25Db250ZXh0LFxuKTogSWNvbkNvbnRleHQgPT4ge1xuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtCdXR0b25Db250ZXh0LkRJU0FCTEVELCBJY29uQ29udGV4dC5ESVNBQkxFRF0sXG4gICAgW0J1dHRvbkNvbnRleHQuR0hPU1QsIEljb25Db250ZXh0LlNUQU5EQVJEXSxcbiAgICBbQnV0dG9uQ29udGV4dC5VSSwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0J1dHRvbkNvbnRleHQuTkVVVFJBTCwgSWNvbkNvbnRleHQuREFSS10sXG4gICAgW0J1dHRvbkNvbnRleHQuT1VUTElORUQsIEljb25Db250ZXh0LlNUQU5EQVJEXSxcbiAgICBbQnV0dG9uQ29udGV4dC5QUklNQVJZLCBJY29uQ29udGV4dC5MSUdIVF0sXG4gICAgW0J1dHRvbkNvbnRleHQuU1VQUE9SVElORywgSWNvbkNvbnRleHQuTElHSFRdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkN0eERlZmF1bHQ6IEJ1dHRvbkNvbnRleHQgPSBCdXR0b25Db250ZXh0LlBSSU1BUlk7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBCdXR0b25DdHg6IFJlYWN0LkNvbnRleHQ8a2V5b2YgdHlwZW9mIEJ1dHRvbkNvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChCdXR0b25DdHhEZWZhdWx0KTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQnV0dG9uVGhlbWUgfSBmcm9tIFwiLi9idXR0b24udHlwZXNcIjtcbmltcG9ydCB7IEJ1dHRvbiwgQnV0dG9uSW5uZXIsIEJ1dHRvbkxhYmVsIH0gZnJvbSBcIkAvYmFzZS9idXR0b24vYnV0dG9uXCI7XG5pbXBvcnQgeyBCdXR0b25OYXZpZ2F0aW9uIH0gZnJvbSBcIkAvYmFzZS9idXR0b24vYnV0dG9uLnN0eWxlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uID0gc3R5bGVkKEJ1dHRvbik8eyB0aGVtZTogSUJ1dHRvblRoZW1lIH0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmNvbG9yfTtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJ1dHRvbk5hdmlnYXRpb24gPSBzdHlsZWQoQnV0dG9uTmF2aWdhdGlvbik8e1xuICB0aGVtZTogSUJ1dHRvblRoZW1lO1xufT5gXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJhY2tncm91bmR9O1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5jb2xvcn07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIDpoYXMoPiBhKSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uU2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkQnV0dG9uKTx7XG4gIHRoZW1lOiBJQnV0dG9uVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJ1dHRvbklubmVyID0gc3R5bGVkKEJ1dHRvbklubmVyKS53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgaGFzTGFiZWw6IGJvb2xlYW4gfT5gXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0xhYmVsXG4gICAgICA/IGNzc2BcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKDI0cHggLSAycHgpOyAvKiBtaW51cyAycHggYm9yZGVyICovXG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiBjYWxjKDI0cHggLSAycHgpOyAvKiBtaW51cyAycHggYm9yZGVyICovXG4gICAgICAgIGBcbiAgICAgIDogY3NzYFxuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IGNhbGMoMTJweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IGNhbGMoMTJweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbiAgICAgICAgYH1cbmA7XG5leHBvcnQgY29uc3QgU3R5bGVkQnV0dG9uTGFiZWwgPSBzdHlsZWQoQnV0dG9uTGFiZWwpPHt9PmBgO1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElCYXNlTGlua1RoZW1lIH0gZnJvbSBcIkAvYmFzZS9saW5rL2xpbmsudHlwZXNcIjtcblxuY29uc3QgYmFzZUJ1dHRvblN0eWxlcyA9IGNzc2BcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246XG4gICAgdHJhbnNmb3JtIDAuNnMsXG4gICAgYmFja2dyb3VuZCAwLjZzLFxuICAgIGJvcmRlciAwLjZzO1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwO1xuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG4gICY6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xuICB9XG4gICY6ZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gIH1cbmA7XG5cbmNvbnN0IGJhc2VCdXR0b25Jbm5lclN0eWxlcyA9IGNzc2BcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxNnB4O1xuICBwYWRkaW5nLXRvcDogY2FsYyg4cHggLSAycHgpOyAvKiBtaW51cyAycHggYm9yZGVyICovXG4gIHBhZGRpbmctYm90dG9tOiBjYWxjKDhweCAtIDJweCk7IC8qIG1pbnVzIDJweCBib3JkZXIgKi9cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b25OYXZpZ2F0aW9uID0gc3R5bGVkLnNwYW5gXG4gICR7YmFzZUJ1dHRvblN0eWxlc31cbmA7XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICAke2Jhc2VCdXR0b25TdHlsZXN9XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uSW5uZXIgPSBzdHlsZWQuc3BhbmBcbiAgJHtiYXNlQnV0dG9uSW5uZXJTdHlsZXN9XG5gO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uTGFiZWwgPSBzdHlsZWQuc3Bhbjx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IEJ1dHRvbkljb24gPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuIiwiaW1wb3J0IHsgQnV0dG9uTGFiZWxQcm9wcyB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24udHlwZXNcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN0eWxlZEJ1dHRvbkxhYmVsIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uTGFiZWwgPSAoeyBjaGlsZHJlbiB9OiBCdXR0b25MYWJlbFByb3BzKSA9PiB7XG4gIHJldHVybiA8U3R5bGVkQnV0dG9uTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkQnV0dG9uTGFiZWw+O1xufTtcbiIsImltcG9ydCB7IEJ1dHRvbkljb24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vY29tcG9uZW50cy9idXR0b24uaWNvblwiO1xuaW1wb3J0IHsgQnV0dG9uTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vY29tcG9uZW50cy9idXR0b24ubGFiZWxcIjtcbmltcG9ydCB7XG4gIElCdXR0b25CYXNlLFxuICBJQnV0dG9uVGhlbWUsXG4gIElCdXR0b25UaGVtZWFibGUsXG59IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24udHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZEJ1dHRvbixcbiAgU3R5bGVkQnV0dG9uSW5uZXIsXG4gIFN0eWxlZEJ1dHRvbk5hdmlnYXRpb24sXG4gIFN0eWxlZEJ1dHRvblNrZWxldG9uLFxufSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnN0eWxlXCI7XG5pbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlQnV0dG9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vaG9va3MvdXNlLWJ1dHRvblwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBCdXR0b25DdHggfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLmNvbnRleHRcIjtcbmltcG9ydCB7IEJ1dHRvbkNvbnRleHQsIEJ1dHRvblR5cGUgfSBmcm9tIFwiQC9hdG9tcy9idXR0b25cIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBCdXR0b24gPSAoe1xuICBpZCxcbiAgdGl0bGUsXG4gIGFyaWFMYWJlbCxcbiAgY2hpbGRyZW4sXG4gIG9uQ2xpY2ssXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxuICB0eXBlLFxufTogSUJ1dHRvbkJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IEJ0bkNvbnRleHQgPSB1c2VDb250ZXh0KEJ1dHRvbkN0eCk7XG4gIGNvbnN0IFRoZW1lOiBJQnV0dG9uVGhlbWUgPSB1c2VCdXR0b25UaGVtZShCdG5Db250ZXh0LCBJc1NrZWxldG9uKTtcblxuICBjb25zdCBMYWJlbCA9IGNoaWxkcmVuID8gPEJ1dHRvbkxhYmVsPntjaGlsZHJlbn08L0J1dHRvbkxhYmVsPiA6IG51bGw7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBJY29uQmVmb3JlU2tlbGV0b24gPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEJ1dHRvbkljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgSWNvbkFmdGVyU2tlbGV0b24gPSB3aXRoSWNvbkFmdGVyID8gKFxuICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICA8QnV0dG9uSWNvbiBpY29uPXt3aXRoSWNvbkFmdGVyfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQnV0dG9uU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZEJ1dHRvbklubmVyIGhhc0xhYmVsPXshIUxhYmVsfT5cbiAgICAgICAgICB7SWNvbkJlZm9yZVNrZWxldG9ufVxuICAgICAgICAgIHtMYWJlbH1cbiAgICAgICAgICB7SWNvbkFmdGVyU2tlbGV0b259XG4gICAgICAgIDwvU3R5bGVkQnV0dG9uSW5uZXI+XG4gICAgICA8L1N0eWxlZEJ1dHRvblNrZWxldG9uPlxuICAgICk7XG4gIH1cblxuICBjb25zdCBJc0Rpc2FibGVkID0gQnRuQ29udGV4dCA9PT0gQnV0dG9uQ29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgSXNOYXZpZ2F0aW9uID0gdHlwZSA9PT0gQnV0dG9uVHlwZS5MSU5LO1xuXG4gIGNvbnN0IEljb25CZWZvcmUgPSB3aXRoSWNvbkJlZm9yZSA/IChcbiAgICA8QnV0dG9uSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgKSA6IG51bGw7XG4gIGNvbnN0IEljb25BZnRlciA9IHdpdGhJY29uQWZ0ZXIgPyA8QnV0dG9uSWNvbiBpY29uPXt3aXRoSWNvbkFmdGVyfSAvPiA6IG51bGw7XG5cbiAgLyoqICAqKi9cbiAgaWYgKElzTmF2aWdhdGlvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQnV0dG9uTmF2aWdhdGlvblxuICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtJc0Rpc2FibGVkfVxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgICBpZD17aWR9XG4gICAgICA+XG4gICAgICAgIDxTdHlsZWRCdXR0b25Jbm5lciBoYXNMYWJlbD17ISFMYWJlbH0+XG4gICAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgICAge0xhYmVsfVxuICAgICAgICAgIHtJY29uQWZ0ZXJ9XG4gICAgICAgIDwvU3R5bGVkQnV0dG9uSW5uZXI+XG4gICAgICA8L1N0eWxlZEJ1dHRvbk5hdmlnYXRpb24+XG4gICAgKTtcbiAgfVxuXG4gIGNvbnN0IGh0bWxUeXBlID0gbWF0Y2godHlwZSwgW1xuICAgIFtCdXR0b25UeXBlLkJVVFRPTiwgXCJidXR0b25cIl0sXG4gICAgW0J1dHRvblR5cGUuUkVTRVQsIFwicmVzZXRcIl0sXG4gICAgW0J1dHRvblR5cGUuU1VCTUlULCBcInN1Ym1pdFwiXSxcbiAgXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQnV0dG9uXG4gICAgICB0aGVtZT17VGhlbWV9XG4gICAgICB0aXRsZT17dGl0bGV9XG4gICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICBhcmlhLWRpc2FibGVkPXtJc0Rpc2FibGVkfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICAgIGRpc2FibGVkPXtJc0Rpc2FibGVkfVxuICAgICAgdHlwZT17aHRtbFR5cGV9XG4gICAgICBpZD17aWR9XG4gICAgPlxuICAgICAgPFN0eWxlZEJ1dHRvbklubmVyIGhhc0xhYmVsPXshIUxhYmVsfT5cbiAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgIHtMYWJlbH1cbiAgICAgICAge0ljb25BZnRlcn1cbiAgICAgIDwvU3R5bGVkQnV0dG9uSW5uZXI+XG4gICAgPC9TdHlsZWRCdXR0b24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUJ1dHRvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uL2J1dHRvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IEJ1dHRvbkNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUJ1dHRvblRoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgQnV0dG9uQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElCdXR0b25UaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuRGlzYWJsZWRCZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fZGlzYWJsZWRfYmFja2dyb3VuZFwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuRGlzYWJsZWRDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25fZGlzYWJsZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkluaXRpYWxCZ1ByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2JhY2tncm91bmRfcHJpbWFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Ib3ZlckJnUHJpbWFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfYmFja2dyb3VuZF9wcmltYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnByaW1hcnkudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkluaXRpYWxDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2NvbG9yX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJDb2xvclByaW1hcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2NvbG9yX3ByaW1hcnlcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSW5pdGlhbEJnU2Vjb25kYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9iYWNrZ3JvdW5kX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Ib3ZlckJnU2Vjb25kYXJ5ID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9iYWNrZ3JvdW5kX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQ29sb3JTZWNvbmRhcnkgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2NvbG9yX3NlY29uZGFyeVwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJDb2xvclNlY29uZGFyeSA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJidXR0b25faG92ZXJfY29sb3Jfc2Vjb25kYXJ5XCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQmdTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9iYWNrZ3JvdW5kX3N1cHBvcnRpbmdcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQnRuSG92ZXJCZ1N1cHBvcnRpbmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwiYnV0dG9uX2hvdmVyX2JhY2tncm91bmRfc3VwcG9ydGluZ1wiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBCdG5Jbml0aWFsQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9jb2xvcl9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IEJ0bkhvdmVyQ29sb3JTdXBwb3J0aW5nID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcImJ1dHRvbl9ob3Zlcl9jb2xvcl9zdXBwb3J0aW5nXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gIH0pO1xuXG4gIGNvbnN0IFVpID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgdHJhbnNwYXJlbnRcIixcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF85NTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IE5vbmUgPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCB0cmFuc3BhcmVudFwiLFxuICAgICAgY29sb3I6IEJ0bkhvdmVyQmdQcmltYXJ5LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgTG93ID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkluaXRpYWxCZ1NlY29uZGFyeSxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdTZWNvbmRhcnksXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbENvbG9yU2Vjb25kYXJ5LFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IEJ0bkhvdmVyQmdTZWNvbmRhcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1NlY29uZGFyeSxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckNvbG9yU2Vjb25kYXJ5LFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgTWVkaXVtID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkluaXRpYWxCZ1ByaW1hcnksXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbEJnUHJpbWFyeSxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Ib3ZlckJnUHJpbWFyeSxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckJnUHJpbWFyeSxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IEhpZ2ggPSB7XG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgaW5pdGlhbDoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSW5pdGlhbEJnUHJpbWFyeSxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Jbml0aWFsQmdQcmltYXJ5LFxuICAgICAgY29sb3I6IEJ0bkluaXRpYWxDb2xvclByaW1hcnksXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgYmFja2dyb3VuZDogQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQnRuSG92ZXJCZ1ByaW1hcnksXG4gICAgICBjb2xvcjogQnRuSG92ZXJDb2xvclByaW1hcnksXG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5EaXNhYmxlZEJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkRpc2FibGVkQmcsXG4gICAgICBjb2xvcjogQnRuRGlzYWJsZWRDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5EaXNhYmxlZEJnLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkRpc2FibGVkQmcsXG4gICAgICBjb2xvcjogQnRuRGlzYWJsZWRDb2xvcixcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogUmFkaXVzLm1kLFxuICAgIGluaXRpYWw6IHtcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgU2tlbGV0b25CZyxcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgU2tlbGV0b25CZyxcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgU3VwcG9ydGluZyA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBpbml0aWFsOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Jbml0aWFsQmdTdXBwb3J0aW5nLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIEJ0bkluaXRpYWxCZ1N1cHBvcnRpbmcsXG4gICAgICBjb2xvcjogQnRuSW5pdGlhbENvbG9yU3VwcG9ydGluZyxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBiYWNrZ3JvdW5kOiBCdG5Ib3ZlckJnU3VwcG9ydGluZyxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBCdG5Ib3ZlckJnU3VwcG9ydGluZyxcbiAgICAgIGNvbG9yOiBCdG5Ib3ZlckNvbG9yU3VwcG9ydGluZyxcbiAgICB9LFxuICB9O1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIFNrZWxldG9uO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbQnV0dG9uQ29udGV4dC5HSE9TVCwgTm9uZV0sXG4gICAgW0J1dHRvbkNvbnRleHQuVUksIFVpXSxcbiAgICBbQnV0dG9uQ29udGV4dC5ORVVUUkFMLCBMb3ddLFxuICAgIFtCdXR0b25Db250ZXh0Lk9VVExJTkVELCBNZWRpdW1dLFxuICAgIFtCdXR0b25Db250ZXh0LlBSSU1BUlksIEhpZ2hdLFxuICAgIFtCdXR0b25Db250ZXh0LlNVUFBPUlRJTkcsIFN1cHBvcnRpbmddLFxuICAgIFtCdXR0b25Db250ZXh0LkRJU0FCTEVELCBEaXNhYmxlZF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElCdXR0b24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5pbXBvcnQgeyBCdXR0b24gYXMgQmFzZUJ1dHRvbiB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9jb21wb25lbnRzL2J1dHRvblwiO1xuaW1wb3J0IHsgQnV0dG9uQ29udGV4dCwgQnV0dG9uVHlwZSB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uZW51bXNcIjtcbmltcG9ydCB7IEJ1dHRvbkN0eCwgQnV0dG9uQ3R4RGVmYXVsdCB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgQnV0dG9uID0gKHtcbiAgaWQsXG4gIHRpdGxlLFxuICBhcmlhTGFiZWwsXG4gIGNoaWxkcmVuLFxuICBvbkNsaWNrLFxuICB3aXRoSWNvbkJlZm9yZSxcbiAgd2l0aEljb25BZnRlcixcbiAgdHlwZSA9IEJ1dHRvblR5cGUuQlVUVE9OLFxuICBjb250ZXh0ID0gQnV0dG9uQ29udGV4dC5QUklNQVJZLFxufTogSUJ1dHRvbikgPT4ge1xuICBjb25zdCBCdG5Db250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBCdXR0b25DdHhEZWZhdWx0O1xuICBjb25zdCBJc05hdmlnYXRpb24gPSB0eXBlID09PSBCdXR0b25UeXBlLkxJTks7XG5cbiAgcmV0dXJuIChcbiAgICA8QnV0dG9uQ3R4LlByb3ZpZGVyIHZhbHVlPXtCdG5Db250ZXh0fT5cbiAgICAgIDxCYXNlQnV0dG9uXG4gICAgICAgIGlkPXtpZH1cbiAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DbGljaz17SXNOYXZpZ2F0aW9uID8gdW5kZWZpbmVkIDogb25DbGlja31cbiAgICAgICAgd2l0aEljb25CZWZvcmU9e3dpdGhJY29uQmVmb3JlfVxuICAgICAgICB3aXRoSWNvbkFmdGVyPXt3aXRoSWNvbkFmdGVyfVxuICAgICAgICB0eXBlPXt0eXBlfVxuICAgICAgPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0Jhc2VCdXR0b24+XG4gICAgPC9CdXR0b25DdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElCdXR0b24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b24vYnV0dG9uLnR5cGVzXCI7XG5leHBvcnQgeyBCdXR0b25UeXBlLCBCdXR0b25Db250ZXh0IH07XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRDaGVja2JveCxcbiAgU3R5bGVkQ2hlY2tib3hDb250YWluZXIsXG4gIFN0eWxlZENoZWNrYm94Q29udGFpbmVyU2tlbGV0b24sXG4gIFN0eWxlZENoZWNrYm94TGFiZWwsXG4gIFN0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbixcbiAgU3R5bGVkQ2hlY2tib3hWaXN1YWwsXG4gIFN0eWxlZENoZWNrYm94VmlzdWFsU2tlbGV0b24sXG59IGZyb20gXCIuLi9jaGVja2JveC5zdHlsZVwiO1xuaW1wb3J0IHsgQ2hlY2tib3hUaGVtZWFibGVQcm9wcywgSUNoZWNrYm94VGhlbWUgfSBmcm9tIFwiLi4vY2hlY2tib3gudHlwZXNcIjtcbmltcG9ydCB7IHVzZUNoZWNrYm94VGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWNoZWNrYm94XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IENoZWNrYm94Q3R4IH0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3gvY2hlY2tib3guY29udGV4dFwiO1xuaW1wb3J0IHsgQ2hlY2tib3hDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3hcIjtcblxuZXhwb3J0IGNvbnN0IENoZWNrYm94ID0gKHtcbiAgb25DaGFuZ2UsXG4gIHZhbHVlLFxuICBhcmlhTGFiZWwsXG4gIGxhYmVsLFxuICBuYW1lLFxuICBjaGVja2VkLFxuICBkZWZhdWx0Q2hlY2tlZCxcbn06IENoZWNrYm94VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoQ2hlY2tib3hDdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJQ2hlY2tib3hUaGVtZSA9IHVzZUNoZWNrYm94VGhlbWUoQ29tcG9uZW50Q29udGV4dCwgaXNTa2VsZXRvbik7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBDb21wb25lbnRDb250ZXh0ID09PSBDaGVja2JveENvbnRleHQuRElTQUJMRUQ7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZENoZWNrYm94Q29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZENoZWNrYm94VmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICA8U3R5bGVkQ2hlY2tib3hMYWJlbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1N0eWxlZENoZWNrYm94TGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkQ2hlY2tib3hDb250YWluZXJTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hlY2tib3hDb250YWluZXIgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRDaGVja2JveFxuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZENoZWNrYm94VmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtpc0Rpc2FibGVkICYmICFjaGVja2VkID8gbnVsbCA6IChcbiAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgdHlwZT17SWNvblR5cGUuQ0hFQ0t9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtsYWJlbH1cbiAgICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkxJR0hUfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L1N0eWxlZENoZWNrYm94VmlzdWFsPlxuICAgICAgPFN0eWxlZENoZWNrYm94TGFiZWwgdGhlbWU9e1RoZW1lfT57bGFiZWx9PC9TdHlsZWRDaGVja2JveExhYmVsPlxuICAgIDwvU3R5bGVkQ2hlY2tib3hDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElDaGVja2JveFRoZW1lIH0gZnJvbSBcIi4vY2hlY2tib3gudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoZWNrYm94ID0gc3R5bGVkLmlucHV0LmF0dHJzKHsgdHlwZTogXCJjaGVja2JveFwiIH0pPHtcbiAgdGhlbWU6IElDaGVja2JveFRoZW1lO1xufT5gXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveENvbnRhaW5lciA9IHN0eWxlZC5sYWJlbDx7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG5cbiAgJiBpbnB1dDpjaGVja2VkICsgZGl2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJvcmRlcn07XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgICFwcm9wcy5pc0Rpc2FibGVkICYmXG4gICAgICBjc3NgXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGB9XG5cbiAgICBpbnB1dCArIGRpdiB7XG4gICAgICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci5ib3JkZXJ9O1xuICAgIH1cbiAgICBpbnB1dDpjaGVja2VkICsgZGl2IHtcbiAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfTtcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveENvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElDaGVja2JveFRoZW1lO1xufT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveFZpc3VhbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUNoZWNrYm94VGhlbWUgfT5gXG4gIHdpZHRoOiAyNHB4O1xuICBoZWlnaHQ6IDI0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaGVja2JveFZpc3VhbFNrZWxldG9uID0gc3R5bGVkKFN0eWxlZENoZWNrYm94VmlzdWFsKTx7XG4gIHRoZW1lOiBJQ2hlY2tib3hUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hMYWJlbCA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElDaGVja2JveFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hlY2tib3hMYWJlbFNrZWxldG9uID0gc3R5bGVkKFN0eWxlZENoZWNrYm94TGFiZWwpPHtcbiAgdGhlbWU6IElDaGVja2JveFRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICA+ICoge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbmA7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBDaGVja2JveENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9jaGVja2JveC9jaGVja2JveC5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSUNoZWNrYm94VGhlbWUgfSBmcm9tIFwiLi4vY2hlY2tib3gudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUNoZWNrYm94VGhlbWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDaGVja2JveENvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJQ2hlY2tib3hUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICBpbml0aWFsOiB7XG4gICAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIH0sXG4gICAgICBob3Zlcjoge1xuICAgICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICB9LFxuICAgICAgY2hlY2tlZDoge1xuICAgICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICB9LFxuICAgICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbQ2hlY2tib3hDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW0NoZWNrYm94Q29udGV4dC5FUlJPUiwgRXJyb3JdLFxuICAgIFtDaGVja2JveENvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgXSk7XG59O1xuIiwiZXhwb3J0IGVudW0gQ2hlY2tib3hDb250ZXh0IHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG4gIERJU0FCTEVEID0gXCJESVNBQkxFRFwiLFxuICBFUlJPUiA9IFwiRVJST1JcIixcbn1cbiIsImltcG9ydCB7IENoZWNrYm94Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LmVudW1zXCI7XG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ2hlY2tib3hDdHhEZWZhdWx0OiBDaGVja2JveENvbnRleHQgPSBDaGVja2JveENvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDaGVja2JveEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ2hlY2tib3hDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoQ2hlY2tib3hDdHhEZWZhdWx0KTtcbiIsImltcG9ydCB7IENoZWNrYm94IGFzIENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9jaGVja2JveFwiO1xuaW1wb3J0IHtcbiAgQ2hlY2tib3hDdHgsXG4gIENoZWNrYm94Q3R4RGVmYXVsdCxcbn0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3gvY2hlY2tib3guY29udGV4dFwiO1xuaW1wb3J0IHsgSUNoZWNrYm94IH0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3gvY2hlY2tib3gudHlwZXNcIjtcbmltcG9ydCB7IENoZWNrYm94Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2NoZWNrYm94L2NoZWNrYm94LmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBDaGVja2JveCA9ICh7XG4gIGNvbnRleHQsXG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBJQ2hlY2tib3gpID0+IHtcbiAgY29uc3QgSW5wdXRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBDaGVja2JveEN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q2hlY2tib3hDdHguUHJvdmlkZXIgdmFsdWU9e0lucHV0Q29udGV4dH0+XG4gICAgICA8Q2hlY2tib3hDb21wb25lbnRcbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgIC8+XG4gICAgPC9DaGVja2JveEN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUNoZWNrYm94IH0gZnJvbSBcIkAvYXRvbXMvY2hlY2tib3gvY2hlY2tib3gudHlwZXNcIjtcbmV4cG9ydCB7IENoZWNrYm94Q29udGV4dCB9O1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQ2hvaWNlVGhlbWVhYmxlUHJvcHMsIElDaG9pY2VUaGVtZSB9IGZyb20gXCIuLi9jaG9pY2UudHlwZXNcIjtcbmltcG9ydCB7IENob2ljZUNvbnRleHQgfSBmcm9tIFwiLi4vY2hvaWNlLmVudW1zXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgdXNlQ2hvaWNlVGhlbWUgfSBmcm9tIFwiLi4vaG9va3MvdXNlLWNob2ljZVwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQ2hvaWNlLFxuICBTdHlsZWRDaG9pY2VDb250YWluZXIsXG4gIFN0eWxlZENob2ljZUNvbnRhaW5lclNrZWxldG9uLFxuICBTdHlsZWRDaG9pY2VMYWJlbCxcbiAgU3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbixcbiAgU3R5bGVkQ2hvaWNlVmlzdWFsU2tlbGV0b24sXG4gIFN0eWxlZFZpc3VhbCxcbiAgU3R5bGVkVmlzdWFsQ29udGFpbmVyLFxufSBmcm9tIFwiLi4vY2hvaWNlLnN0eWxlXCI7XG5pbXBvcnQgeyBGcmFtZSB9IGZyb20gXCIuLi8uLi9mcmFtZVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IENvbG9yVmFyaWFudCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IENob2ljZUN0eCB9IGZyb20gXCJAL2F0b21zL2Nob2ljZS9jaG9pY2UuY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgQ2hvaWNlID0gKHtcbiAgb25DaGFuZ2UsXG4gIHZhbHVlLFxuICBhcmlhTGFiZWwsXG4gIGxhYmVsLFxuICBuYW1lLFxuICBjaGVja2VkLFxuICBkZWZhdWx0Q2hlY2tlZCxcbiAgaWNvbixcbn06IENob2ljZVRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KENob2ljZUN0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBUaGVtZTogSUNob2ljZVRoZW1lID0gdXNlQ2hvaWNlVGhlbWUoQ29tcG9uZW50Q29udGV4dCwgaXNTa2VsZXRvbik7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBDb21wb25lbnRDb250ZXh0ID09PSBDaG9pY2VDb250ZXh0LkRJU0FCTEVEO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRDaG9pY2VDb250YWluZXJTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkQ2hvaWNlVmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICA8U3R5bGVkQ2hvaWNlTGFiZWxTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtsYWJlbH1cbiAgICAgICAgPC9TdHlsZWRDaG9pY2VMYWJlbFNrZWxldG9uPlxuICAgICAgPC9TdHlsZWRDaG9pY2VDb250YWluZXJTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hvaWNlQ29udGFpbmVyIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkQ2hvaWNlXG4gICAgICAgIGRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICBhcmlhLWRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICBjaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBhcmlhLWNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgLz5cbiAgICAgIDxTdHlsZWRWaXN1YWxDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPEZyYW1lIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzIwMH0gYXJvdW5kPXtpY29ufSAvPlxuICAgICAgICA8U3R5bGVkVmlzdWFsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkNIRUNLfVxuICAgICAgICAgICAgc2l6ZT17SWNvblNpemUuTUVESVVNfVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17bGFiZWx9XG4gICAgICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5MSUdIVH1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZFZpc3VhbD5cbiAgICAgIDwvU3R5bGVkVmlzdWFsQ29udGFpbmVyPlxuICAgICAgPFN0eWxlZENob2ljZUxhYmVsIHRoZW1lPXtUaGVtZX0+e2xhYmVsfTwvU3R5bGVkQ2hvaWNlTGFiZWw+XG4gICAgPC9TdHlsZWRDaG9pY2VDb250YWluZXI+XG4gICk7XG59O1xuIiwiZXhwb3J0IGVudW0gQ2hvaWNlQ29udGV4dCB7XG4gIFNUQU5EQVJEID0gXCJTVEFOREFSRFwiLFxuICBESVNBQkxFRCA9IFwiRElTQUJMRURcIixcbiAgRVJST1IgPSBcIkVSUk9SXCIsXG59XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBDaG9pY2VDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSUNob2ljZVRoZW1lIH0gZnJvbSBcIi4uL2Nob2ljZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlQ2hvaWNlVGhlbWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDaG9pY2VDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSUNob2ljZVRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IGVycm9yQm9yZGVyQ29sb3IgPSBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgRGlzYWJsZWQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGluaXRpYWw6IHtcbiAgICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICB9LFxuICAgICAgaG92ZXI6IHtcbiAgICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICB9LFxuICAgICAgY2hlY2tlZDoge1xuICAgICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIH0sXG4gICAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbXG4gICAgW0Nob2ljZUNvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbQ2hvaWNlQ29udGV4dC5FUlJPUiwgRXJyb3JdLFxuICAgIFtDaG9pY2VDb250ZXh0LkRJU0FCTEVELCBEaXNhYmxlZF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ2hvaWNlVGhlbWUgfSBmcm9tIFwiLi9jaG9pY2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZSA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiUmFkaW9cIiB9KTx7XG4gIHRoZW1lOiBJQ2hvaWNlVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlQ29udGFpbmVyID0gc3R5bGVkLmxhYmVsPHtcbiAgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgdGhlbWU6IElDaG9pY2VUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJHsocHJvcHMpID0+XG4gICAgIXByb3BzLmlzRGlzYWJsZWQgJiZcbiAgICBjc3NgXG4gICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICBgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENob2ljZUxhYmVsID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBwYWRkaW5nLWxlZnQ6IDY4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWxDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElDaG9pY2VUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA4cHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQ2hvaWNlVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJhY2tncm91bmR9O1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hvaWNlQ29udGFpbmVyU2tlbGV0b24gPSBzdHlsZWQubGFiZWw8e1xuICB0aGVtZTogSUNob2ljZVRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2VWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS52aXN1YWxSYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDaG9pY2VMYWJlbFNrZWxldG9uID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUNob2ljZVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDaG9pY2VDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlL2Nob2ljZS5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgQ2hvaWNlQ3R4RGVmYXVsdDogQ2hvaWNlQ29udGV4dCA9IENob2ljZUNvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDaG9pY2VDdHg6IFJlYWN0LkNvbnRleHQ8Q2hvaWNlQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KENob2ljZUN0eERlZmF1bHQpO1xuIiwiaW1wb3J0IHsgSUNob2ljZSB9IGZyb20gXCIuL2Nob2ljZS50eXBlc1wiO1xuaW1wb3J0IHsgQ2hvaWNlIGFzIENob2ljZUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY2hvaWNlXCI7XG5pbXBvcnQgeyBDaG9pY2VDb250ZXh0IH0gZnJvbSBcIi4vY2hvaWNlLmVudW1zXCI7XG5pbXBvcnQgeyBDaG9pY2VDdHgsIENob2ljZUN0eERlZmF1bHQgfSBmcm9tIFwiQC9hdG9tcy9jaG9pY2UvY2hvaWNlLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IENob2ljZSA9ICh7XG4gIGNvbnRleHQsXG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBJQ2hvaWNlKSA9PiB7XG4gIGNvbnN0IENob2ljZUNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IENob2ljZUN0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8Q2hvaWNlQ3R4LlByb3ZpZGVyIHZhbHVlPXtDaG9pY2VDb250ZXh0fT5cbiAgICAgIDxDaG9pY2VDb21wb25lbnRcbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgaWNvbj17aWNvbn1cbiAgICAgIC8+XG4gICAgPC9DaG9pY2VDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElDaG9pY2UgfSBmcm9tIFwiQC9hdG9tcy9jaG9pY2UvY2hvaWNlLnR5cGVzXCI7XG5leHBvcnQgeyBDaG9pY2VDb250ZXh0IH07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSUZlYXR1cmVJY29uVGhlbWUsXG4gIElGZWF0dXJlVGhlbWUsXG59IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJRmVhdHVyZVRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uRmVhdHVyZSA9IHN0eWxlZChTdHlsZWRGZWF0dXJlKTx7XG4gIHRoZW1lOiBJRmVhdHVyZVRoZW1lO1xufT5gXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmVMYWJlbCA9IHN0eWxlZC5kaXY8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlSWNvbiA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJRmVhdHVyZUljb25UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWFyZ2lufTtcbmA7XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJRmVhdHVyZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUZlYXR1cmUgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElGZWF0dXJlVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF83MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzcwMCxcbiAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gIH07XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRmVhdHVyZUxhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEZlYXR1cmVMYWJlbCB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgRmVhdHVyZUxhYmVsID0gKHsgY2hpbGRyZW4gfTogRmVhdHVyZUxhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRGZWF0dXJlTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkRmVhdHVyZUxhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lVXRpbGl0eSB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgRmVhdHVyZUljb25Qcm9wcyB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRmVhdHVyZUljb25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9ob29rcy91c2UtZmVhdHVyZS1pY29uXCI7XG5pbXBvcnQgeyBTdHlsZWRGZWF0dXJlSWNvbiB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS5zdHlsZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmVJY29uID0gKHsgaWNvbiB9OiBGZWF0dXJlSWNvblByb3BzKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VGZWF0dXJlSWNvbkNvbnRleHQoSXNTa2VsZXRvbik7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBNYXJnaW4gPSBcIjAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICsgXCIgMCAwXCI7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRmVhdHVyZUljb24gdGhlbWU9e3sgbWFyZ2luOiBNYXJnaW4gfX0+XG4gICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgY29udGV4dDogSWNvbkNvbnRleHQsXG4gICAgICAgIHNpemU6IEljb25TaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC9TdHlsZWRGZWF0dXJlSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlRmVhdHVyZUljb25Db250ZXh0ID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJY29uQ29udGV4dCA9PiB7XG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIEljb25Db250ZXh0LkRJU0FCTEVEO1xuICB9XG5cbiAgcmV0dXJuIEljb25Db250ZXh0LkRBUks7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkRmVhdHVyZSxcbiAgU3R5bGVkU2tlbGV0b25GZWF0dXJlLFxufSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlL2ZlYXR1cmUuc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgSUZlYXR1cmVCYXNlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9ob29rcy91c2UtZmVhdHVyZVwiO1xuaW1wb3J0IHsgRmVhdHVyZUxhYmVsIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUubGFiZWxcIjtcbmltcG9ydCB7IEZlYXR1cmVJY29uIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmUuaWNvblwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmUgPSAoeyBsYWJlbCwgd2l0aEljb25CZWZvcmUgfTogSUZlYXR1cmVCYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VGZWF0dXJlKElzU2tlbGV0b24pO1xuXG4gIGNvbnN0IExhYmVsID0gPEZlYXR1cmVMYWJlbD57bGFiZWx9PC9GZWF0dXJlTGFiZWw+O1xuICBjb25zdCBJY29uQmVmb3JlID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgPEZlYXR1cmVJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSAvPlxuICApIDogbnVsbDtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIGNvbnN0IEljb25CZWZvcmVTa2VsZXRvbiA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICA8RmVhdHVyZUljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgTGFiZWxTa2VsZXRvbiA9IChcbiAgICAgIDxQbGFjZWhvbGRlcj5cbiAgICAgICAgPEZlYXR1cmVMYWJlbD57bGFiZWx9PC9GZWF0dXJlTGFiZWw+XG4gICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICk7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uRmVhdHVyZSB0aGVtZT17VGhlbWV9PlxuICAgICAgICB7SWNvbkJlZm9yZVNrZWxldG9ufVxuICAgICAgICB7TGFiZWxTa2VsZXRvbn1cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25GZWF0dXJlPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRGZWF0dXJlIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7SWNvbkJlZm9yZX0ge0xhYmVsfVxuICAgIDwvU3R5bGVkRmVhdHVyZT5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBGZWF0dXJlIGFzIEJhc2VGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9jb21wb25lbnRzL2ZlYXR1cmVcIjtcbmltcG9ydCB7IElGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZS9mZWF0dXJlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBGZWF0dXJlID0gKHsgbGFiZWwsIHdpdGhJY29uQmVmb3JlIH06IElGZWF0dXJlKSA9PiB7XG4gIHJldHVybiA8QmFzZUZlYXR1cmUgbGFiZWw9e2xhYmVsfSB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJRmVhdHVyZSB9IGZyb20gXCJAL2F0b21zL2ZlYXR1cmUvZmVhdHVyZS50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElDb2xsYXBzZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvY29sbGFwc2UvY29sbGFwc2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNlID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQ29sbGFwc2VUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBib3gtc2hhZG93OlxuICAgIDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNlQWN0aW9uID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQ29sbGFwc2VUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y2ZjZmNjtcbiAgfVxuYDtcbiIsImltcG9ydCB7IElDb2xsYXBzZUJhc2UgfSBmcm9tIFwiQC9hdG9tcy9jb2xsYXBzZS9jb2xsYXBzZS50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkQ29sbGFwc2UsXG4gIFN0eWxlZENvbGxhcHNlQWN0aW9uLFxufSBmcm9tIFwiQC9hdG9tcy9jb2xsYXBzZS9jb2xsYXBzZS5zdHlsZVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ29sbGFwc2UgPSAoeyBvbkNsaWNrIH06IElDb2xsYXBzZUJhc2UpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29sbGFwc2U+XG4gICAgICA8U3R5bGVkQ29sbGFwc2VBY3Rpb24gb25DbGljaz17b25DbGlja30+XG4gICAgICAgIDxJY29uXG4gICAgICAgICAgdHlwZT17SWNvblR5cGUuQ09MTEFQU0V9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17XCJcIn1cbiAgICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRDb2xsYXBzZUFjdGlvbj5cbiAgICA8L1N0eWxlZENvbGxhcHNlPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbGxhcHNlIGFzIEJhc2VDb2xsYXBzZSB9IGZyb20gXCJAL2F0b21zL2NvbGxhcHNlL2NvbXBvbmVudHMvY29sbGFwc2VcIjtcbmltcG9ydCB7IElDb2xsYXBzZSB9IGZyb20gXCJAL2F0b21zL2NvbGxhcHNlL2NvbGxhcHNlLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBDb2xsYXBzZSA9ICh7IG9uQ2xpY2sgfTogSUNvbGxhcHNlKSA9PiB7XG4gIHJldHVybiA8QmFzZUNvbGxhcHNlIG9uQ2xpY2s9e29uQ2xpY2t9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJQ29sbGFwc2UgfSBmcm9tIFwiQC9hdG9tcy9jb2xsYXBzZS9jb2xsYXBzZS50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElFeHBhbmRUaGVtZSB9IGZyb20gXCJAL2F0b21zL2V4cGFuZC9leHBhbmQudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEV4cGFuZCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUV4cGFuZFRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjEpLFxuICAgIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMSk7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRXhwYW5kQWN0aW9uID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRXhwYW5kVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIH1cbmA7XG4iLCJpbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJRXhwYW5kIH0gZnJvbSBcIkAvYXRvbXMvZXhwYW5kL2V4cGFuZC50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkRXhwYW5kLCBTdHlsZWRFeHBhbmRBY3Rpb24gfSBmcm9tIFwiQC9hdG9tcy9leHBhbmQvZXhwYW5kLnN0eWxlXCI7XG5cbmV4cG9ydCBjb25zdCBFeHBhbmQgPSAoeyBvbkNsaWNrIH06IElFeHBhbmQpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRXhwYW5kPlxuICAgICAgPFN0eWxlZEV4cGFuZEFjdGlvbiBvbkNsaWNrPXtvbkNsaWNrfT5cbiAgICAgICAgPEljb25cbiAgICAgICAgICB0eXBlPXtJY29uVHlwZS5FWFBBTkR9XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17XCJcIn1cbiAgICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRFeHBhbmRBY3Rpb24+XG4gICAgPC9TdHlsZWRFeHBhbmQ+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgRXhwYW5kIGFzIEJhc2VFeHBhbmQgfSBmcm9tIFwiQC9hdG9tcy9leHBhbmQvY29tcG9uZW50cy9leHBhbmRcIjtcbmltcG9ydCB7IElFeHBhbmQgfSBmcm9tIFwiQC9hdG9tcy9leHBhbmQvZXhwYW5kLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBFeHBhbmQgPSAoeyBvbkNsaWNrIH06IElFeHBhbmQpID0+IHtcbiAgcmV0dXJuIDxCYXNlRXhwYW5kIG9uQ2xpY2s9e29uQ2xpY2t9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJRXhwYW5kIH0gZnJvbSBcIkAvYXRvbXMvZXhwYW5kL2V4cGFuZC50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEgxID0gc3R5bGVkLmgxPHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDIgPSBzdHlsZWQuaDI8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRIMyA9IHN0eWxlZC5oMzx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEg0ID0gc3R5bGVkLmg0PHt9PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSDUgPSBzdHlsZWQuaDU8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRINiA9IHN0eWxlZC5oNjx7fT5gYDtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElIZWFkaW5nQmFzZSB9IGZyb20gXCJAL2F0b21zL2hlYWRpbmcvaGVhZGluZy50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkSDEsXG4gIFN0eWxlZEgyLFxuICBTdHlsZWRIMyxcbiAgU3R5bGVkSDQsXG4gIFN0eWxlZEg1LFxuICBTdHlsZWRINixcbn0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnN0eWxlXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHRcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkaW5nID0gKHtcbiAgaWQsXG4gIHRpdGxlLFxuICBjaGlsZHJlbixcbiAgaHRtbFR5cGUsXG4gIHNpemUsXG4gIGZvbnQsXG59OiBJSGVhZGluZ0Jhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IEgxID0gKFxuICAgIDxTdHlsZWRIMSBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEgxPlxuICApO1xuXG4gIGNvbnN0IEgyID0gKFxuICAgIDxTdHlsZWRIMiBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEgyPlxuICApO1xuXG4gIGNvbnN0IEgzID0gKFxuICAgIDxTdHlsZWRIMyBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEgzPlxuICApO1xuXG4gIGNvbnN0IEg0ID0gKFxuICAgIDxTdHlsZWRINCBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEg0PlxuICApO1xuXG4gIGNvbnN0IEg1ID0gKFxuICAgIDxTdHlsZWRINSBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEg1PlxuICApO1xuXG4gIGNvbnN0IEg2ID0gKFxuICAgIDxTdHlsZWRINiBpZD17aWR9IHRpdGxlPXt0aXRsZX0+XG4gICAgICA8UGxhaW5UZXh0IGZvbnQ9e2ZvbnR9IHNpemU9e3NpemV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1BsYWluVGV4dD5cbiAgICA8L1N0eWxlZEg2PlxuICApO1xuXG4gIHJldHVybiBtYXRjaChodG1sVHlwZSwgW1xuICAgIFtcImgxXCIsIEgxXSxcbiAgICBbXCJoMlwiLCBIMl0sXG4gICAgW1wiaDNcIiwgSDNdLFxuICAgIFtcImg0XCIsIEg0XSxcbiAgICBbXCJoNVwiLCBINV0sXG4gICAgW1wiaDZcIiwgSDZdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBIdG1sSGVhZGluZywgSUhlYWRpbmcgfSBmcm9tIFwiQC9hdG9tcy9oZWFkaW5nL2hlYWRpbmcudHlwZXNcIjtcbmltcG9ydCB7IEhlYWRpbmcgYXMgQmFzZUhlYWRpbmcgfSBmcm9tIFwiQC9hdG9tcy9oZWFkaW5nL2NvbXBvbmVudHMvaGVhZGluZ1wiO1xuaW1wb3J0IHsgVHlwb2dyYXBoeUZvbnQsIFR5cG9ncmFwaHlGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgSGVhZGluZyA9ICh7XG4gIGlkLFxuICB0aXRsZSxcbiAgY2hpbGRyZW4gPSBcIlwiLFxuICBodG1sVHlwZSA9IEh0bWxIZWFkaW5nLkgxLFxuICBzaXplID0gVHlwb2dyYXBoeUZvbnQuTEcsXG4gIGZvbnQgPSBUeXBvZ3JhcGh5Rm9udHMuUFJJTUFSWSxcbn06IElIZWFkaW5nKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEJhc2VIZWFkaW5nXG4gICAgICBpZD17aWR9XG4gICAgICB0aXRsZT17dGl0bGV9XG4gICAgICBodG1sVHlwZT17aHRtbFR5cGV9XG4gICAgICBzaXplPXtzaXplfVxuICAgICAgZm9udD17Zm9udH1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYXNlSGVhZGluZz5cbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSHRtbEhlYWRpbmcsIElIZWFkaW5nIH0gZnJvbSBcIkAvYXRvbXMvaGVhZGluZy9oZWFkaW5nLnR5cGVzXCI7XG4iLCJpbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IElJbmZvcm1hdGlvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlSW5mb3JtYXRpb24gPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElJbmZvcm1hdGlvblRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgIHJhZGl1czogUmFkaXVzLmxnICsgXCIgXCIgKyBSYWRpdXMubGcgKyBcIiBcIiArIFJhZGl1cy54bCArIFwiIFwiICsgUmFkaXVzLm5vbmUsXG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiMTJcIl0gKyBcIiBcIiArIFV0aWxpdHkuc3BhY2luZ1tcIjhcIl0sXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IFJhZGl1cy5sZyArIFwiIFwiICsgUmFkaXVzLmxnICsgXCIgXCIgKyBSYWRpdXMueGwgKyBcIiBcIiArIFJhZGl1cy5ub25lLFxuICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIxMlwiXSArIFwiIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiOFwiXSxcbiAgfTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUluZm9ybWF0aW9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9pbmZvcm1hdGlvbi9pbmZvcm1hdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5mb3JtYXRpb24gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElJbmZvcm1hdGlvblRoZW1lIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnBhZGRpbmd9O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgZ2FwOiAxLjVyZW07XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbmZvcm1hdGlvblZpc3VhbCA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEluZm9ybWF0aW9uVGV4dCA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uSW5mb3JtYXRpb24gPSBzdHlsZWQoU3R5bGVkSW5mb3JtYXRpb24pPHtcbiAgdGhlbWU6IElJbmZvcm1hdGlvblRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJSW5mb3JtYXRpb25CYXNlIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IHVzZUluZm9ybWF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaG9va3MvdXNlLWluZm9ybWF0aW9uXCI7XG5pbXBvcnQge1xuICBTdHlsZWRJbmZvcm1hdGlvbixcbiAgU3R5bGVkSW5mb3JtYXRpb25UZXh0LFxuICBTdHlsZWRJbmZvcm1hdGlvblZpc3VhbCxcbiAgU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbixcbn0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IEZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuaW1wb3J0IHsgRmlndXJlU2l6ZSwgRmlndXJlVHlwZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZS9maWd1cmUuZW51bXNcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkAvbGF5b3V0cy9wbGFjZWhvbGRlci9wbGFjZWhvbGRlclwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEluZm9ybWF0aW9uID0gKHsgdGV4dCwgZnJhbWUgfTogSUluZm9ybWF0aW9uQmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlSW5mb3JtYXRpb24oSXNTa2VsZXRvbik7XG5cbiAgY29uc3QgVmlzdWFsID0gZnJhbWUgPyAoXG4gICAgZnJhbWVcbiAgKSA6IChcbiAgICA8RmlndXJlXG4gICAgICB0eXBlPXtGaWd1cmVUeXBlLklERUF9XG4gICAgICBzaXplPXtGaWd1cmVTaXplLkxBUkdFfVxuICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIlwiXG4gICAgLz5cbiAgKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgICAge1Zpc3VhbH1cbiAgICAgICAgICB7dGV4dH1cbiAgICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICAgIDwvU3R5bGVkU2tlbGV0b25JbmZvcm1hdGlvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkSW5mb3JtYXRpb24gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRJbmZvcm1hdGlvblZpc3VhbD57VmlzdWFsfTwvU3R5bGVkSW5mb3JtYXRpb25WaXN1YWw+XG4gICAgICA8U3R5bGVkSW5mb3JtYXRpb25UZXh0Pnt0ZXh0fTwvU3R5bGVkSW5mb3JtYXRpb25UZXh0PlxuICAgIDwvU3R5bGVkSW5mb3JtYXRpb24+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUluZm9ybWF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb24vaW5mb3JtYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IEluZm9ybWF0aW9uIGFzIEJhc2VJbmZvcm1hdGlvbiB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2NvbXBvbmVudHMvaW5mb3JtYXRpb25cIjtcblxuZXhwb3J0IGNvbnN0IEluZm9ybWF0aW9uID0gKHsgdGV4dCwgZnJhbWUgfTogSUluZm9ybWF0aW9uKSA9PiB7XG4gIHJldHVybiA8QmFzZUluZm9ybWF0aW9uIHRleHQ9e3RleHR9IGZyYW1lPXtmcmFtZX0gLz47XG59O1xuXG5leHBvcnQgdHlwZSB7IElJbmZvcm1hdGlvbiB9IGZyb20gXCJAL2F0b21zL2luZm9ybWF0aW9uL2luZm9ybWF0aW9uLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJSW5wdXRUaGVtZSwgSW5wdXRUaGVtZWFibGVQcm9wcyB9IGZyb20gXCIuLi9pbnB1dC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlSW5wdXRUaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtaW5wdXRcIjtcbmltcG9ydCB7XG4gIFN0eWxlZElucHV0LFxuICBTdHlsZWRJbnB1dENvbnRhaW5lcixcbiAgU3R5bGVkSW5wdXRJY29uQWZ0ZXJDb250YWluZXIsXG4gIFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lcixcbiAgU3R5bGVkSW5wdXRTa2VsZXRvbixcbiAgU3R5bGVkVGV4dGFyZWEsXG4gIFN0eWxlZFRleHRhcmVhU2tlbGV0b24sXG59IGZyb20gXCIuLi9pbnB1dC5zdHlsZVwiO1xuaW1wb3J0IHsgSW5wdXRJY29uIH0gZnJvbSBcIi4vaW5wdXQuaWNvblwiO1xuaW1wb3J0IHsgSW5wdXRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvaW5wdXQuZW51bXNcIjtcbmltcG9ydCB7IElucHV0Q3R4IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvaW5wdXQuY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IElucHV0ID0gKHtcbiAgZGVmYXVsdFZhbHVlLFxuICBvbkNoYW5nZSxcbiAgb25CbHVyLFxuICB2YWx1ZSxcbiAgcGxhY2Vob2xkZXIsXG4gIG11bHRpbGluZSxcbiAgcm93cyA9IDMsXG4gIGFyaWFMYWJlbCxcbiAgbmFtZSxcbiAgd2l0aEljb25BZnRlcixcbiAgd2l0aEljb25CZWZvcmUsXG59OiBJbnB1dFRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSB1c2VDb250ZXh0KElucHV0Q3R4KTtcbiAgY29uc3Qgc2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWU6IElJbnB1dFRoZW1lID0gdXNlSW5wdXRUaGVtZShDb21wb25lbnRDb250ZXh0LCBza2VsZXRvbik7XG4gIGNvbnN0IGVycm9yID0gQ29tcG9uZW50Q29udGV4dCA9PT0gSW5wdXRDb250ZXh0LkVSUk9SO1xuICBjb25zdCBkaXNhYmxlZCA9IENvbXBvbmVudENvbnRleHQgPT09IElucHV0Q29udGV4dC5ESVNBQkxFRDtcblxuICBjb25zdCBJY29uQmVmb3JlID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgPFN0eWxlZElucHV0SWNvbkJlZm9yZUNvbnRhaW5lcj5cbiAgICAgIDxJbnB1dEljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IC8+XG4gICAgPC9TdHlsZWRJbnB1dEljb25CZWZvcmVDb250YWluZXI+XG4gICkgOiBudWxsO1xuICBjb25zdCBJY29uQWZ0ZXIgPSB3aXRoSWNvbkFmdGVyID8gKFxuICAgIDxTdHlsZWRJbnB1dEljb25BZnRlckNvbnRhaW5lcj5cbiAgICAgIDxJbnB1dEljb24gaWNvbj17d2l0aEljb25BZnRlcn0gLz5cbiAgICA8L1N0eWxlZElucHV0SWNvbkFmdGVyQ29udGFpbmVyPlxuICApIDogbnVsbDtcblxuICBpZiAobXVsdGlsaW5lKSB7XG4gICAgaWYgKHNrZWxldG9uKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkVGV4dGFyZWFTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxTdHlsZWRUZXh0YXJlYVxuICAgICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICAgICAgaGFzSWNvbkJlZm9yZT17ZmFsc2V9XG4gICAgICAgICAgICBoYXNJY29uQWZ0ZXI9e2ZhbHNlfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9XG4gICAgICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgICAgIGFyaWEtbXVsdGlsaW5lPXt0cnVlfVxuICAgICAgICAgICAgYXJpYS1kaXNhYmxlZD17dHJ1ZX1cbiAgICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICAgIGlkPXtuYW1lfVxuICAgICAgICAgID48L1N0eWxlZFRleHRhcmVhPlxuICAgICAgICA8L1N0eWxlZFRleHRhcmVhU2tlbGV0b24+XG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSW5wdXRDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAge0ljb25CZWZvcmV9XG4gICAgICAgIDxTdHlsZWRUZXh0YXJlYVxuICAgICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgICBoYXNJY29uQmVmb3JlPXshIUljb25CZWZvcmV9XG4gICAgICAgICAgaGFzSWNvbkFmdGVyPXshIUljb25BZnRlcn1cbiAgICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgICByb3dzPXtyb3dzfVxuICAgICAgICAgIGFyaWEtbXVsdGlsaW5lPXt0cnVlfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICAgIGlkPXtuYW1lfVxuICAgICAgICA+PC9TdHlsZWRUZXh0YXJlYT5cbiAgICAgICAge0ljb25BZnRlcn1cbiAgICAgIDwvU3R5bGVkSW5wdXRDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIGlmIChza2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkSW5wdXRTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkSW5wdXRcbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgICAgaGFzSWNvbkJlZm9yZT17ZmFsc2V9XG4gICAgICAgICAgaGFzSWNvbkFmdGVyPXtmYWxzZX1cbiAgICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICAgIGFyaWEtaW52YWxpZD17ZXJyb3J9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgIGFyaWEtZGlzYWJsZWQ9e3RydWV9XG4gICAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgICBpZD17bmFtZX1cbiAgICAgICAgPjwvU3R5bGVkSW5wdXQ+XG4gICAgICA8L1N0eWxlZElucHV0U2tlbGV0b24+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZElucHV0Q29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICB7SWNvbkJlZm9yZX1cbiAgICAgIDxTdHlsZWRJbnB1dFxuICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgIGhhc0ljb25CZWZvcmU9eyEhSWNvbkJlZm9yZX1cbiAgICAgICAgaGFzSWNvbkFmdGVyPXshIUljb25BZnRlcn1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkJsdXI9e29uQmx1cn1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgIGRlZmF1bHRWYWx1ZT17ZGVmYXVsdFZhbHVlfVxuICAgICAgICBhcmlhLWludmFsaWQ9e2Vycm9yfVxuICAgICAgICBhcmlhLWxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGlkPXtuYW1lfVxuICAgICAgPjwvU3R5bGVkSW5wdXQ+XG4gICAgICB7SWNvbkFmdGVyfVxuICAgIDwvU3R5bGVkSW5wdXRDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgSW5wdXRDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvaW5wdXQuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IElJbnB1dFRoZW1lIH0gZnJvbSBcIi4uL2lucHV0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VJbnB1dFRoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgSW5wdXRDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSUlucHV0VGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgZXJyb3JCb3JkZXJDb2xvciA9IENvbG9ycy5kYW5nZXIudGludF81MDA7XG5cbiAgY29uc3QgU3RhbmRhcmQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIH0sXG4gICAgZm9jdXM6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IEVycm9yID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgIH0sXG4gICAgZm9jdXM6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgIH0sXG4gICAgZm9jdXM6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGNvbnN0IFNrZWxldG9uID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgZm9jdXM6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIFNrZWxldG9uO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbSW5wdXRDb250ZXh0LlNUQU5EQVJELCBTdGFuZGFyZF0sXG4gICAgW0lucHV0Q29udGV4dC5FUlJPUiwgRXJyb3JdLFxuICAgIFtJbnB1dENvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgXSk7XG59O1xuIiwiZXhwb3J0IGVudW0gSW5wdXRDb250ZXh0IHtcbiAgRElTQUJMRUQgPSBcIkRJU0FCTEVEXCIsXG4gIEVSUk9SID0gXCJFUlJPUlwiLFxuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbn1cbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJSW5wdXRUaGVtZSB9IGZyb20gXCIuL2lucHV0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbnB1dENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUlucHV0VGhlbWUgfT5gXG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0SWNvbkNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbnB1dEljb25CZWZvcmVDb250YWluZXIgPSBzdHlsZWQoU3R5bGVkSW5wdXRJY29uQ29udGFpbmVyKWBcbiAgbGVmdDogMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdG9wOiAyMHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZElucHV0SWNvbkFmdGVyQ29udGFpbmVyID0gc3R5bGVkKFN0eWxlZElucHV0SWNvbkNvbnRhaW5lcilgXG4gIHJpZ2h0OiAyNHB4O1xuICBib3R0b206IDIwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSW5wdXQgPSBzdHlsZWQuaW5wdXQ8e1xuICB0aGVtZTogSUlucHV0VGhlbWU7XG4gIGhhc0ljb25CZWZvcmU6IGJvb2xlYW47XG4gIGhhc0ljb25BZnRlcjogYm9vbGVhbjtcbn0+YFxuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cyBlYXNlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgcGFkZGluZzogMTRweCAyNHB4O1xuICB6LWluZGV4OiAyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy5oYXNJY29uQmVmb3JlICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZy1sZWZ0OiA0OHB4O1xuICAgIGB9XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0ljb25BZnRlciAmJlxuICAgIGNzc2BcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQ4cHg7XG4gICAgYH1cbiAgICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvY3VzLmJhY2tncm91bmR9O1xuICAgIG91dGxpbmU6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb2N1cy5ib3JkZXJ9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB9XG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRJbnB1dFNrZWxldG9uID0gc3R5bGVkKFN0eWxlZElucHV0Q29udGFpbmVyKTx7XG4gIHRoZW1lOiBJSW5wdXRUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICA+ICoge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXh0YXJlYSA9IHN0eWxlZC50ZXh0YXJlYTx7XG4gIHRoZW1lOiBJSW5wdXRUaGVtZTtcbiAgaGFzSWNvbkJlZm9yZTogYm9vbGVhbjtcbiAgaGFzSWNvbkFmdGVyOiBib29sZWFuO1xufT5gXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzIGVhc2U7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIHBhZGRpbmc6IDE0cHggMjRweDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICByZXNpemU6IG5vbmU7XG4gIHotaW5kZXg6IDI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLmhhc0ljb25CZWZvcmUgJiZcbiAgICBjc3NgXG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ4cHg7XG4gICAgYH1cbiAgJHsocHJvcHMpID0+XG4gICAgcHJvcHMuaGFzSWNvbkFmdGVyICYmXG4gICAgY3NzYFxuICAgICAgcGFkZGluZy1yaWdodDogNDhweDtcbiAgICBgfVxuICAgICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvY3VzLmJhY2tncm91bmR9O1xuICAgIG91dGxpbmU6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb2N1cy5ib3JkZXJ9O1xuICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICB9XG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB9XG4gICY6bm90KDpkaXNhYmxlZCk6aG92ZXIge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmJvcmRlcn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXh0YXJlYVNrZWxldG9uID0gc3R5bGVkKFN0eWxlZElucHV0Q29udGFpbmVyKTx7XG4gIHRoZW1lOiBJSW5wdXRUaGVtZTtcbn0+YFxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICA+ICoge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbmA7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBJbnB1dEljb25Qcm9wcyB9IGZyb20gXCIuLi9pbnB1dC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlSW5wdXRJY29uQ29udGV4dCB9IGZyb20gXCIuLi9ob29rcy91c2UtaW5wdXQuaWNvblwiO1xuaW1wb3J0IHsgSW5wdXRDdHggfSBmcm9tIFwiQC9hdG9tcy9pbnB1dC9pbnB1dC5jb250ZXh0XCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgSW5wdXRJY29uID0gKHsgaWNvbiB9OiBJbnB1dEljb25Qcm9wcykgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChJbnB1dEN0eCk7XG4gIGNvbnN0IHNrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IEljb25Db250ZXh0OiBJY29uQ29udGV4dCA9IHVzZUlucHV0SWNvbkNvbnRleHQoQ29udGV4dCwgc2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xuICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgc2l6ZTogSWNvblNpemUuU01BTEwsXG4gICAgICB9KX1cbiAgICA8Lz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJbnB1dENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dC9pbnB1dC5lbnVtc1wiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZUlucHV0SWNvbkNvbnRleHQgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBJbnB1dENvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIEljb25Db250ZXh0LkRJU0FCTEVEO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbSW5wdXRDb250ZXh0LlNUQU5EQVJELCBJY29uQ29udGV4dC5EQVJLXSxcbiAgICBbSW5wdXRDb250ZXh0LkVSUk9SLCBJY29uQ29udGV4dC5EQVJLXSxcbiAgICBbSW5wdXRDb250ZXh0LkRJU0FCTEVELCBJY29uQ29udGV4dC5ESVNBQkxFRF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7IElucHV0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBJbnB1dEN0eERlZmF1bHQ6IElucHV0Q29udGV4dCA9IElucHV0Q29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IElucHV0Q3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBJbnB1dENvbnRleHQ+ID1cbiAgY3JlYXRlQ29udGV4dChJbnB1dEN0eERlZmF1bHQpO1xuIiwiaW1wb3J0IHsgSUlucHV0IH0gZnJvbSBcIi4vaW5wdXQudHlwZXNcIjtcbmltcG9ydCB7IElucHV0IGFzIElucHV0Q29tcG9uZW50IH0gZnJvbSBcIkAvYXRvbXMvaW5wdXQvY29tcG9uZW50cy9pbnB1dFwiO1xuaW1wb3J0IHsgSW5wdXRDdHgsIElucHV0Q3R4RGVmYXVsdCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmNvbnRleHRcIjtcbmltcG9ydCB7IElucHV0Q29udGV4dCB9IGZyb20gXCJAL2F0b21zL2lucHV0L2lucHV0LmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBJbnB1dCA9ICh7XG4gIGRlZmF1bHRWYWx1ZSxcbiAgb25DaGFuZ2UsXG4gIG9uQmx1cixcbiAgdmFsdWUsXG4gIHBsYWNlaG9sZGVyLFxuICBtdWx0aWxpbmUsXG4gIHJvd3MgPSAzLFxuICBhcmlhTGFiZWwsXG4gIG5hbWUsXG4gIGNvbnRleHQsXG4gIHdpdGhJY29uQmVmb3JlLFxuICB3aXRoSWNvbkFmdGVyLFxufTogSUlucHV0KSA9PiB7XG4gIGNvbnN0IElucHV0Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogSW5wdXRDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPElucHV0Q3R4LlByb3ZpZGVyIHZhbHVlPXtJbnB1dENvbnRleHR9PlxuICAgICAgPElucHV0Q29tcG9uZW50XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgb25CbHVyPXtvbkJsdXJ9XG4gICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgcGxhY2Vob2xkZXI9e3BsYWNlaG9sZGVyfVxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgcm93cz17cm93c31cbiAgICAgICAgbXVsdGlsaW5lPXttdWx0aWxpbmV9XG4gICAgICAgIGFyaWFMYWJlbD17YXJpYUxhYmVsfVxuICAgICAgICB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9XG4gICAgICAgIHdpdGhJY29uQWZ0ZXI9e3dpdGhJY29uQWZ0ZXJ9XG4gICAgICAvPlxuICAgIDwvSW5wdXRDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElJbnB1dCB9IGZyb20gXCIuL2lucHV0LnR5cGVzXCI7XG5leHBvcnQgeyBJbnB1dENvbnRleHQgfTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJTGlua0Jhc2UgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpbmssXG4gIFN0eWxlZExpbmtJbm5lcixcbiAgU3R5bGVkTGlua1NrZWxldG9uLFxufSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuc3R5bGVzXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IExpbmtMYWJlbCB9IGZyb20gXCJAL2F0b21zL2xpbmsvY29tcG9uZW50cy9saW5rLmxhYmVsXCI7XG5pbXBvcnQgeyBMaW5rSWNvbiB9IGZyb20gXCJAL2F0b21zL2xpbmsvY29tcG9uZW50cy9saW5rLmljb25cIjtcbmltcG9ydCB7IHVzZUxpbmtUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpbmsvaG9va3MvdXNlLWxpbmtcIjtcbmltcG9ydCB7IExpbmtDdHggfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbGlua1wiO1xuXG5leHBvcnQgY29uc3QgTGluayA9ICh7XG4gIGlkLFxuICB0aXRsZSxcbiAgYXJpYUxhYmVsLFxuICBjaGlsZHJlbixcbiAgd2l0aEljb25CZWZvcmUsXG4gIHdpdGhJY29uQWZ0ZXIsXG59OiBJTGlua0Jhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoTGlua0N0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBUaGVtZSA9IHVzZUxpbmtUaGVtZShDb21wb25lbnRDb250ZXh0LCBJc1NrZWxldG9uKTtcblxuICBjb25zdCBMYWJlbCA9IGNoaWxkcmVuID8gPExpbmtMYWJlbD57Y2hpbGRyZW59PC9MaW5rTGFiZWw+IDogbnVsbDtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIGNvbnN0IEljb25CZWZvcmVTa2VsZXRvbiA9IHdpdGhJY29uQmVmb3JlID8gKFxuICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICA8TGlua0ljb24gaWNvbj17d2l0aEljb25CZWZvcmV9IHBvc2l0aW9uPXtQb3NpdGlvbi5CRUZPUkV9IC8+XG4gICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICkgOiBudWxsO1xuXG4gICAgY29uc3QgSWNvbkFmdGVyU2tlbGV0b24gPSB3aXRoSWNvbkFmdGVyID8gKFxuICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICA8TGlua0ljb24gaWNvbj17d2l0aEljb25BZnRlcn0gcG9zaXRpb249e1Bvc2l0aW9uLkFGVEVSfSAvPlxuICAgICAgPC9QbGFjZWhvbGRlcj5cbiAgICApIDogbnVsbDtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkTGlua1NrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRMaW5rSW5uZXI+XG4gICAgICAgICAge0ljb25CZWZvcmVTa2VsZXRvbn1cbiAgICAgICAgICB7TGFiZWx9XG4gICAgICAgICAge0ljb25BZnRlclNrZWxldG9ufVxuICAgICAgICA8L1N0eWxlZExpbmtJbm5lcj5cbiAgICAgIDwvU3R5bGVkTGlua1NrZWxldG9uPlxuICAgICk7XG4gIH1cblxuICBjb25zdCBJY29uQmVmb3JlID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgPExpbmtJY29uIGljb249e3dpdGhJY29uQmVmb3JlfSBwb3NpdGlvbj17UG9zaXRpb24uQkVGT1JFfSAvPlxuICApIDogbnVsbDtcbiAgY29uc3QgSWNvbkFmdGVyID0gd2l0aEljb25BZnRlciA/IChcbiAgICA8TGlua0ljb24gaWNvbj17d2l0aEljb25BZnRlcn0gcG9zaXRpb249e1Bvc2l0aW9uLkFGVEVSfSAvPlxuICApIDogbnVsbDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRMaW5rIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkTGlua0lubmVyPlxuICAgICAgICB7SWNvbkJlZm9yZX1cbiAgICAgICAge0xhYmVsfVxuICAgICAgICB7SWNvbkFmdGVyfVxuICAgICAgPC9TdHlsZWRMaW5rSW5uZXI+XG4gICAgPC9TdHlsZWRMaW5rPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJTGlua0ljb25UaGVtZSwgSUxpbmtUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGlua0lubmVyID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuZXhwb3J0IGNvbnN0IFN0eWxlZExpbmtMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRMaW5rSWNvbkJlZm9yZSA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElMaW5rSWNvblRoZW1lIH0+YFxuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXJnaW59O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcbmV4cG9ydCBjb25zdCBTdHlsZWRMaW5rSWNvbkFmdGVyID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUxpbmtJY29uVGhlbWUgfT5gXG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG4gIGRpc3BsYXk6IGZsZXg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTGluayA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElMaW5rVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgdGV4dC1kZWNvcmF0aW9uOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudGV4dERlY29yYXRpb259O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG1hcmdpbiAwLjZzO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgOmhvdmVyIHtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyLmNvbG9yfTtcbiAgICB0ZXh0LWRlY29yYXRpb246ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3Zlci50ZXh0RGVjb3JhdGlvbn07XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMaW5rU2tlbGV0b24gPSBzdHlsZWQoU3R5bGVkTGluayk8e1xuICB0aGVtZTogSUxpbmtUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBMaW5rTGFiZWxQcm9wcyB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkTGlua0xhYmVsIH0gZnJvbSBcIi4uL2xpbmsuc3R5bGVzXCI7XG5cbmV4cG9ydCBjb25zdCBMaW5rTGFiZWwgPSAoeyBjaGlsZHJlbiB9OiBMaW5rTGFiZWxQcm9wcykgPT4ge1xuICByZXR1cm4gPFN0eWxlZExpbmtMYWJlbD57Y2hpbGRyZW59PC9TdHlsZWRMaW5rTGFiZWw+O1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZUxpbmtJY29uQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvaG9va3MvdXNlLWxpbmstaWNvblwiO1xuaW1wb3J0IHsgTGlua0ljb25Qcm9wcyB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay50eXBlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuZW51bXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7XG4gIFN0eWxlZExpbmtJY29uQWZ0ZXIsXG4gIFN0eWxlZExpbmtJY29uQmVmb3JlLFxufSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExpbmtDdHggfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IExpbmtJY29uID0gKHsgaWNvbiwgcG9zaXRpb24gfTogTGlua0ljb25Qcm9wcykgPT4ge1xuICBjb25zdCBDb250ZXh0ID0gdXNlQ29udGV4dChMaW5rQ3R4KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBJY29uQ29udGV4dDogSWNvbkNvbnRleHQgPSB1c2VMaW5rSWNvbkNvbnRleHQoQ29udGV4dCwgSXNTa2VsZXRvbik7XG5cbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIGNvbnN0IEJlZm9yZSA9IFwiMCBcIiArIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0gKyBcIiAwIDBcIjtcbiAgY29uc3QgQWZ0ZXIgPSBcIjAgMCAwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXTtcblxuICByZXR1cm4gbWF0Y2gocG9zaXRpb24sIFtcbiAgICBbXG4gICAgICBQb3NpdGlvbi5CRUZPUkUsXG4gICAgICA8U3R5bGVkTGlua0ljb25CZWZvcmUgdGhlbWU9e3sgbWFyZ2luOiBCZWZvcmUgfX0+XG4gICAgICAgIHtSZWFjdC5jbG9uZUVsZW1lbnQoaWNvbiwge1xuICAgICAgICAgIGNvbnRleHQ6IEljb25Db250ZXh0LFxuICAgICAgICAgIHNpemU6IEljb25TaXplLlNNQUxMLFxuICAgICAgICB9KX1cbiAgICAgIDwvU3R5bGVkTGlua0ljb25CZWZvcmU+LFxuICAgIF0sXG4gICAgW1xuICAgICAgUG9zaXRpb24uQUZURVIsXG4gICAgICA8U3R5bGVkTGlua0ljb25BZnRlciB0aGVtZT17eyBtYXJnaW46IEFmdGVyIH19PlxuICAgICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgICBjb250ZXh0OiBJY29uQ29udGV4dCxcbiAgICAgICAgICBzaXplOiBJY29uU2l6ZS5TTUFMTCxcbiAgICAgICAgfSl9XG4gICAgICA8L1N0eWxlZExpbmtJY29uQWZ0ZXI+LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7IEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBMaW5rQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2xpbmsvbGluay5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlTGlua0ljb25Db250ZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgTGlua0NvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJY29uQ29udGV4dCA9PiB7XG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIEljb25Db250ZXh0LkRJU0FCTEVEO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbTGlua0NvbnRleHQuU1RBTkRBUkQsIEljb25Db250ZXh0LlNUQU5EQVJEXSxcbiAgICBbTGlua0NvbnRleHQuVUksIEljb25Db250ZXh0LkRBUktdLFxuICBdKTtcbn07XG4iLCJleHBvcnQgZW51bSBMaW5rQ29udGV4dCB7XG4gIFNUQU5EQVJEID0gXCJTVEFOREFSRFwiLFxuICBVSSA9IFwiVUlcIixcbn1cblxuZXhwb3J0IGVudW0gUG9zaXRpb24ge1xuICBCRUZPUkUgPSBcIkJFRk9SRVwiLFxuICBBRlRFUiA9IFwiQUZURVJcIixcbn1cbiIsImltcG9ydCB7IExpbmtDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvbGluay9saW5rLmVudW1zXCI7XG5pbXBvcnQgUmVhY3QsIHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgTGlua0N0eERlZmF1bHQ6IExpbmtDb250ZXh0ID0gTGlua0NvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBMaW5rQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBMaW5rQ29udGV4dD4gPVxuICBjcmVhdGVDb250ZXh0KExpbmtDdHhEZWZhdWx0KTtcbiIsImltcG9ydCB7IElMaW5rVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTGlua0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9saW5rXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VMaW5rVGhlbWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBMaW5rQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElMaW5rVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgIGNvbG9yOiBTa2VsZXRvbkJnLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgaG92ZXI6IHtcbiAgICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBMaW5rQ29udGV4dC5TVEFOREFSRCxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgICAgY29sb3I6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgICAgIHRleHREZWNvcmF0aW9uOiBcInVuZGVybGluZVwiLFxuICAgICAgICBob3Zlcjoge1xuICAgICAgICAgIGNvbG9yOiBDb2xvcnMucHJpbWFyeS50aW50XzYwMCxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJ1bmRlcmxpbmVcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBMaW5rQ29udGV4dC5VSSxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICAgICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJub25lXCIsXG4gICAgICAgIGhvdmVyOiB7XG4gICAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICAgICAgICB0ZXh0RGVjb3JhdGlvbjogXCJ1bmRlcmxpbmVcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUxpbmsgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbmltcG9ydCB7IExpbmsgYXMgQmFzZUxpbmsgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2NvbXBvbmVudHMvbGlua1wiO1xuaW1wb3J0IHsgTGlua0N0eCwgTGlua0N0eERlZmF1bHQgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgTGluayA9ICh7XG4gIGlkLFxuICB0aXRsZSxcbiAgYXJpYUxhYmVsLFxuICBjaGlsZHJlbixcbiAgY29udGV4dCxcbiAgd2l0aEljb25CZWZvcmUsXG4gIHdpdGhJY29uQWZ0ZXIsXG59OiBJTGluaykgPT4ge1xuICBjb25zdCBMaW5rQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogTGlua0N0eERlZmF1bHQ7XG5cbiAgLy8gTGluayBpcyBqdXN0IGEgcGxhaW4gdXJsXG4gIHJldHVybiAoXG4gICAgPExpbmtDdHguUHJvdmlkZXIgdmFsdWU9e0xpbmtDb250ZXh0fT5cbiAgICAgIDxCYXNlTGlua1xuICAgICAgICBpZD17aWR9XG4gICAgICAgIHRpdGxlPXt0aXRsZX1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIHdpdGhJY29uQmVmb3JlPXt3aXRoSWNvbkJlZm9yZX1cbiAgICAgICAgd2l0aEljb25BZnRlcj17d2l0aEljb25BZnRlcn1cbiAgICAgID5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9CYXNlTGluaz5cbiAgICA8L0xpbmtDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgeyBMaW5rQ29udGV4dCwgUG9zaXRpb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsuZW51bXNcIjtcbmV4cG9ydCB0eXBlIHsgSUxpbmsgfSBmcm9tIFwiQC9hdG9tcy9saW5rL2xpbmsudHlwZXNcIjtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IElMaXN0VGhlbWUgfSBmcm9tIFwiLi4vbGlzdC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlTGlzdFRoZW1lID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJTGlzdFRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFN0YW5kYXJkID0ge1xuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIGJhY2tncm91bmQ6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBTa2VsZXRvbjtcbiAgfVxuXG4gIHJldHVybiBTdGFuZGFyZDtcbn07XG4iLCJpbXBvcnQgeyBJTGlzdFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9saXN0LnR5cGVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVW5vcmRlcmVkTGlzdCA9IHN0eWxlZC51bDx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMjRweDtcblxuICAmIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMTRweDtcbiAgfVxuXG4gICYgbGk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3JkZXJlZExpc3QgPSBzdHlsZWQub2w8eyB0aGVtZTogSUxpc3RUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb3VudGVyLXJlc2V0OiBteS1saXN0LWNvdW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNDBweDtcblxuICAmIGxpIHtcbiAgICBjb3VudGVyLWluY3JlbWVudDogbXktbGlzdC1jb3VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNHB4O1xuICB9XG5cbiAgJiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBjb3VudGVyKG15LWxpc3QtY291bnRlcik7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJiBzcGFuIHtcbiAgICBwYWRkaW5nLXRvcDogOHB4O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVW5vcmRlcmVkTGlzdFNrZWxldG9uID0gc3R5bGVkLnVsPHsgdGhlbWU6IElMaXN0VGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyNHB4O1xuXG4gICYgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNHB4O1xuICB9XG5cbiAgJiBsaTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogNnB4O1xuICB9XG5cbiAgJiBzcGFuIHtcbiAgICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAgIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbiA9IHN0eWxlZC5vbDx7IHRoZW1lOiBJTGlzdFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvdW50ZXItcmVzZXQ6IG15LWxpc3QtY291bnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0MHB4O1xuXG4gICYgbGkge1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBteS1saXN0LWNvdW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDE0cHg7XG4gIH1cblxuICAmIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IGNvdW50ZXIobXktbGlzdC1jb3VudGVyKTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJiBzcGFuIHtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICAgIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExpc3RJdGVtQ29udGFpbmVyID0gc3R5bGVkLmxpPHsgdGhlbWU6IElMaXN0VGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMaXN0SXRlbSA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElMaXN0VGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbmA7XG4iLCJpbXBvcnQgeyBJTGlzdFRoZW1lLCBMaXN0VGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IHVzZUxpc3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL2xpc3QvaG9va3MvdXNlLWxpc3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZE9yZGVyZWRMaXN0LFxuICBTdHlsZWRPcmRlcmVkTGlzdFNrZWxldG9uLFxuICBTdHlsZWRVbm9yZGVyZWRMaXN0LFxuICBTdHlsZWRVbm9yZGVyZWRMaXN0U2tlbGV0b24sXG59IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC5zdHlsZVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IExpc3RUeXBlIH0gZnJvbSBcIkAvYXRvbXMvbGlzdFwiO1xuXG5leHBvcnQgY29uc3QgTGlzdCA9ICh7IHR5cGUsIGNoaWxkcmVuIH06IExpc3RUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJTGlzdFRoZW1lID0gdXNlTGlzdFRoZW1lKGlzU2tlbGV0b24pO1xuXG4gIGlmICh0eXBlID09PSBMaXN0VHlwZS5OVU1CRVJFRCkge1xuICAgIGlmIChpc1NrZWxldG9uKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8U3R5bGVkT3JkZXJlZExpc3RTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgPC9TdHlsZWRPcmRlcmVkTGlzdFNrZWxldG9uPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gPFN0eWxlZE9yZGVyZWRMaXN0IHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkT3JkZXJlZExpc3Q+O1xuICB9XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFVub3JkZXJlZExpc3RTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZFVub3JkZXJlZExpc3RTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIDxTdHlsZWRVbm9yZGVyZWRMaXN0IHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkVW5vcmRlcmVkTGlzdD47XG59O1xuIiwiaW1wb3J0IHsgSUxpc3RUaGVtZSwgTGlzdEl0ZW1UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlTGlzdFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9ob29rcy91c2UtbGlzdFwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkTGlzdEl0ZW0sXG4gIFN0eWxlZExpc3RJdGVtQ29udGFpbmVyLFxufSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3Quc3R5bGVcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBJdGVtID0gKHsgY2hpbGRyZW4gfTogTGlzdEl0ZW1UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJTGlzdFRoZW1lID0gdXNlTGlzdFRoZW1lKGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZExpc3RJdGVtQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkTGlzdEl0ZW0gdGhlbWU9e1RoZW1lfT57Y2hpbGRyZW59PC9TdHlsZWRMaXN0SXRlbT5cbiAgICA8L1N0eWxlZExpc3RJdGVtQ29udGFpbmVyPlxuICApO1xufTtcbiIsImV4cG9ydCBlbnVtIExpc3RUeXBlIHtcbiAgU1RBTkRBUkQgPSBcIlNUQU5EQVJEXCIsXG4gIE5VTUJFUkVEID0gXCJOVU1CRVJFRFwiLFxufVxuIiwiaW1wb3J0IHsgSUxpc3QgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IExpc3QgYXMgTGlzdENvbXBvbmVudCB9IGZyb20gXCJAL2F0b21zL2xpc3QvY29tcG9uZW50cy9saXN0XCI7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSBcIkAvYXRvbXMvbGlzdC9jb21wb25lbnRzL2xpc3QuaXRlbVwiO1xuaW1wb3J0IHsgTGlzdFR5cGUgfSBmcm9tIFwiQC9hdG9tcy9saXN0L2xpc3QuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IExpc3QgPSAoeyB0eXBlLCBjaGlsZHJlbiB9OiBJTGlzdCkgPT4ge1xuICByZXR1cm4gPExpc3RDb21wb25lbnQgdHlwZT17dHlwZX0+e2NoaWxkcmVufTwvTGlzdENvbXBvbmVudD47XG59O1xuXG5MaXN0Lkl0ZW0gPSBJdGVtO1xuXG5leHBvcnQgeyBMaXN0VHlwZSB9O1xuZXhwb3J0IHR5cGUgeyBJTGlzdCB9IGZyb20gXCJAL2F0b21zL2xpc3QvbGlzdC50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElCdXR0b25UaGVtZSB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24udHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZEJ1dHRvbiB9IGZyb20gXCJAL2F0b21zL2J1dHRvbi9idXR0b24uc3R5bGVcIjtcblxuY29uc3QgQmFzZUxvZ29TdmcgPSBzdHlsZWQuc3ZnLmF0dHJzKChwcm9wcykgPT4gKHtcbiAgdmVyc2lvbjogXCIxLjFcIixcbiAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgeG1sbnNYbGluazogXCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIsXG4gIHJvbGU6IFwiaW1nXCIsXG59KSlgYDtcblxuY29uc3QgQmFzZUxvZ29JbWFnZSA9IHN0eWxlZC5pbWcuYXR0cnMoKHByb3BzKSA9PiAoe1xuICByb2xlOiBcImltZ1wiLFxufSkpYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlTG9nb1BhdGggPSBzdHlsZWQucGF0aC5hdHRycyh7XG4gIHJvbGU6IFwicHJlc2VudGF0aW9uXCIsXG59KWBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nbyA9IHN0eWxlZChCYXNlTG9nb1N2Zyk8e1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvSW1hZ2UgPSBzdHlsZWQoQmFzZUxvZ29JbWFnZSk8e1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbiAgcmFkaXVzOiBzdHJpbmc7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy53aWR0aH07XG4gIGhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLmhlaWdodH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy5yYWRpdXN9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ29Ta2VsZXRvbiA9IHN0eWxlZChTdHlsZWRMb2dvKTx7fT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvSW1hZ2VTa2VsZXRvbiA9IHN0eWxlZC5kaXY8e1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbiAgYmFja2dyb3VuZDogc3RyaW5nO1xuICByYWRpdXM6IHN0cmluZztcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMud2lkdGh9O1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy5oZWlnaHR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy5yYWRpdXN9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZExvZ29QYXRoID0gc3R5bGVkKEJhc2VMb2dvUGF0aCk8e30+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRMb2dvV3JhcHBlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtaW4td2lkdGg6IDUwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTG9nb0ltYWdlV3JhcHBlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtaW4td2lkdGg6IDUwcHg7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVN2Z0FzTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkTG9nbyxcbiAgU3R5bGVkTG9nb1BhdGgsXG4gIFN0eWxlZExvZ29Ta2VsZXRvbixcbiAgU3R5bGVkTG9nb1dyYXBwZXIsXG59IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgU2NyZWVuUmVhZGVyT25seSB9IGZyb20gXCJAL2Jhc2Uvc3JlZW5fcmVhZGVyX29ubHkvc2NyZWVuX3JlYWRlcl9vbmx5XCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgU3ZnQXNMb2dvID0gKHsgc2NyZWVuUmVhZGVyVGV4dCB9OiBJU3ZnQXNMb2dvKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMb2dvV3JhcHBlcj5cbiAgICAgICAgPFN0eWxlZExvZ29Ta2VsZXRvbiB3aWR0aD1cIjUwcHhcIiBoZWlnaHQ9XCI1MHB4XCIgdmlld0JveD1cIjAgMCA1MCA1MFwiPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgb3BhY2l0eT1cIjAuNlwiXG4gICAgICAgICAgICBkPVwiTTM1Ljk3IDEwLjM1NDNDNDUuNzIxOCAxMS4yMTU1IDQ2LjIyMDYgMjMuNjMzIDQxLjA3NjggMzIuMzI1M0MzNS45MzMgNDEuMDE3NiAyMy41NTUxIDQ0Ljc2NCAxNC42ODMgNDAuOTAwOEM1LjgxMDk0IDM3LjAzNzcgMS41MTg4NyAyNy43MjE0IDUuNTE3NzggMjMuNzMzM0MxMC4xODE4IDE5LjA4MTggMTguODMwOSAyMy41NTg3IDIzLjI3MDEgMjIuMjk1MUMyOC4wMDg1IDIwLjk0NjMgMjYuMjE4MiA5LjQ5MzA4IDM1Ljk3IDEwLjM1NDNaXCJcbiAgICAgICAgICAgIGZpbGw9e1NrZWxldG9uQmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIG9wYWNpdHk9XCIwLjJcIlxuICAgICAgICAgICAgZD1cIk00Mi44MzY0IDMwLjExOThDNDUuMzAzMSAzOS4zNjQ5IDMzLjQ5MzkgNDQuMDIxNyAyMy4zNzAxIDQyLjIzOEMxMy4yNDYyIDQwLjQ1NDMgNS40NDcwMiAzMC4zNTYxIDYuMTczNDQgMjAuOTAzN0M2Ljg5OTg2IDExLjQ1MTMgMTQuNDM1IDQuMzYwMyAxOS42MzQxIDYuNjgzNDVDMjUuNjk3OSA5LjM5Mjk4IDI0LjMwNDEgMTguODQ4MSAyNy4wMjQxIDIyLjQ5NjhDMjkuOTI3NCAyNi4zOTE0IDQwLjM2OTcgMjAuODc0OCA0Mi44MzY0IDMwLjExOThaXCJcbiAgICAgICAgICAgIGZpbGw9e1NrZWxldG9uQmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICAgIGQ9XCJNNy45MjMzNyAxMy4xNTc0QzcuNzA0MTUgMTIuNzI5NiA3Ljk0NzY5IDEyLjE5NDkgOC4yNTIxNyAxMS42NjAyQzguODAwMjEgMTAuNjk3OCAxMC4xMTU0IDguODc5ODQgMTMuNDAzNyA4LjY2NTk2QzE2LjY5MTkgOC40NTIwOCAxOC43NzQ2IDExLjMzOTQgMTkuMTAzNCAxMi4wODhDMTkuNDMyMiAxMi44MzY2IDE4Ljc3NDUgMTMuMTU3NCAxOC41NTU0IDEzLjE1NzRDMTguMTE2OCAxMy4xNTc0IDE3LjU2ODkgMTIuNzI5NiAxNy4yNDAxIDEyLjE5NDlDMTYuNTgyMyAxMS4xMjU2IDE1LjU5NTkgMTEuMDE4NiAxNC4xNzEgMTAuOTExN0MxMi43NDYxIDEwLjgwNDcgMTIuMzA3NiAxMS4zMzk0IDExLjQzMDcgMTIuMzAxOUMxMC43NDM3IDEzLjA1NTkgMTAuNjYzNCAxMy42NDYyIDkuNzg2NTcgMTQuMDEyOUM5LjAxOTMxIDE0LjMzMzcgOC4xNDI1OCAxMy41ODUxIDcuOTIzMzcgMTMuMTU3NFpcIlxuICAgICAgICAgICAgZmlsbD17U2tlbGV0b25CZ31cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgICAgZD1cIk0zNy4zODg2IDEzLjE1NzRDMzcuNjA3OSAxMi43Mjk2IDM3LjM2NDMgMTIuMTk0OSAzNy4wNTk4IDExLjY2MDJDMzYuNTExOCAxMC42OTc4IDM1LjE5NjYgOC44Nzk4NCAzMS45MDgzIDguNjY1OTZDMjguNjIwMSA4LjQ1MjA4IDI2LjUzNzQgMTEuMzM5NCAyNi4yMDg2IDEyLjA4OEMyNS44Nzk4IDEyLjgzNjYgMjYuNTM3NSAxMy4xNTc0IDI2Ljc1NjYgMTMuMTU3NEMyNy4xOTUyIDEzLjE1NzQgMjcuNzQzMSAxMi43Mjk2IDI4LjA3MTkgMTIuMTk0OUMyOC43Mjk3IDExLjEyNTYgMjkuNzE2MSAxMS4wMTg2IDMxLjE0MSAxMC45MTE3QzMyLjU2NTkgMTAuODA0NyAzMy4wMDQ0IDExLjMzOTQgMzMuODgxMyAxMi4zMDE5QzM0LjU2ODMgMTMuMDU1OSAzNC42NDg2IDEzLjY0NjIgMzUuNTI1NCAxNC4wMTI5QzM2LjI5MjcgMTQuMzMzNyAzNy4xNjk0IDEzLjU4NTEgMzcuMzg4NiAxMy4xNTc0WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBkPVwiTTExLjQzMDcgMjguODc3NFYxOS44OTQ1QzExLjQzMDcgMTkuNDY2OCAxMS40NzQ2IDE4LjE4MzUgMTMuODQyMSAxOC4xODM1QzE2LjIwOTcgMTguMTgzNSAxNy4wMjA4IDE5LjQ2NjggMTcuMTMwNCAyMC4xMDg0VjI1LjM0ODRDMTcuMTY2OSAyNS4wNjMyIDE4LjIyNjUgMjQuNTQ2NCAxOS4yMTI5IDI0LjU5OThDMjAuNzkxMyAyNC42ODU0IDIyLjEzNTggMjUuNzA0OSAyMi42MTA4IDI2LjIwMzlDMjMuMTIyMyAyNS43NDA1IDI0LjQwODQgMjQuNzcwOSAyNS40NjA2IDI0LjU5OThDMjYuNTEyOSAyNC40Mjg3IDI3LjcyNTkgMjUuMDk4OSAyOC4yMDA4IDI1LjQ1NTNDMjguMjM3NCAyNC4xMzY0IDI4LjMxMDQgMjEuMTk5MiAyOC4zMTA0IDIwLjAwMTVDMjguMzEwNCAxOC41MDQzIDMwLjcyMTggMTguMTgzNSAzMi4wMzcxIDE4LjE4MzVDMzMuMDg5NCAxOC4xODM1IDMzLjU3MTcgMTkuMzk1NSAzMy42ODEzIDIwLjAwMTVWMjguODc3NEMzMy42ODEzIDMyLjgxMjcgMzEuNzQ3OCAzNS40MDA2IDMwLjcyMTggMzYuMzYzQzI5Ljc3MTkgMzcuMjU0MiAyNi41NTY3IDM5LjAzNjUgMjIuNjEwOCAzOS4wMzY1QzE4LjY2NDkgMzkuMDM2NSAxNi44MjQ0IDM4LjQxNSAxNC40OTk4IDM2LjM2M0MxMi4xOTggMzQuMzMxMiAxMS42MTM0IDMwLjc2NjYgMTEuNDMwNyAyOC44Nzc0WlwiXG4gICAgICAgICAgICBmaWxsPXtTa2VsZXRvbkJnfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZExvZ29QYXRoXG4gICAgICAgICAgICBkPVwiTTE2LjAyMjIgMjguMjgyOUMxNS45MzY1IDMxLjk2NDUgMTkuNTU5MSAzMy45NTUyIDIyLjIzODcgMzQuNTk3M0MyNC40MTgxIDMzLjkxOTUgMjguODIyNSAzMS42ODUxIDI4LjI0MDggMjguMjgyOUMyNy40OTA1IDIzLjg5NSAyMi43NzQ2IDI2LjAzNTQgMjIuMjM4NyAyOC4yODI5QzIxLjE2NjggMjQuODU4MiAxNi4xMDggMjQuNjAxMyAxNi4wMjIyIDI4LjI4MjlaXCJcbiAgICAgICAgICAgIGZpbGw9e1NrZWxldG9uQmd9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRMb2dvU2tlbGV0b24+XG4gICAgICAgIDxTY3JlZW5SZWFkZXJPbmx5IHRleHQ9e3NjcmVlblJlYWRlclRleHR9IC8+XG4gICAgICA8L1N0eWxlZExvZ29XcmFwcGVyPlxuICAgICk7XG4gIH1cblxuICBjb25zdCBTdXBwb3J0aW5nID0gQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDA7XG4gIGNvbnN0IERhcmsgPSBDb2xvcnMubmV1dHJhbHMudGludF85NTA7XG4gIGNvbnN0IEFjY2VudCA9IENvbG9ycy5hY2NlbnQudGludF81MDA7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTG9nb1dyYXBwZXI+XG4gICAgICA8U3R5bGVkTG9nbyB3aWR0aD1cIjUwcHhcIiBoZWlnaHQ9XCI1MHB4XCIgdmlld0JveD1cIjAgMCA1MCA1MFwiPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBvcGFjaXR5PVwiMC42XCJcbiAgICAgICAgICBkPVwiTTM1Ljk3IDEwLjM1NDNDNDUuNzIxOCAxMS4yMTU1IDQ2LjIyMDYgMjMuNjMzIDQxLjA3NjggMzIuMzI1M0MzNS45MzMgNDEuMDE3NiAyMy41NTUxIDQ0Ljc2NCAxNC42ODMgNDAuOTAwOEM1LjgxMDk0IDM3LjAzNzcgMS41MTg4NyAyNy43MjE0IDUuNTE3NzggMjMuNzMzM0MxMC4xODE4IDE5LjA4MTggMTguODMwOSAyMy41NTg3IDIzLjI3MDEgMjIuMjk1MUMyOC4wMDg1IDIwLjk0NjMgMjYuMjE4MiA5LjQ5MzA4IDM1Ljk3IDEwLjM1NDNaXCJcbiAgICAgICAgICBmaWxsPXtTdXBwb3J0aW5nfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBvcGFjaXR5PVwiMC4yXCJcbiAgICAgICAgICBkPVwiTTQyLjgzNjQgMzAuMTE5OEM0NS4zMDMxIDM5LjM2NDkgMzMuNDkzOSA0NC4wMjE3IDIzLjM3MDEgNDIuMjM4QzEzLjI0NjIgNDAuNDU0MyA1LjQ0NzAyIDMwLjM1NjEgNi4xNzM0NCAyMC45MDM3QzYuODk5ODYgMTEuNDUxMyAxNC40MzUgNC4zNjAzIDE5LjYzNDEgNi42ODM0NUMyNS42OTc5IDkuMzkyOTggMjQuMzA0MSAxOC44NDgxIDI3LjAyNDEgMjIuNDk2OEMyOS45Mjc0IDI2LjM5MTQgNDAuMzY5NyAyMC44NzQ4IDQyLjgzNjQgMzAuMTE5OFpcIlxuICAgICAgICAgIGZpbGw9e1N1cHBvcnRpbmd9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgIGQ9XCJNNy45MjMzNyAxMy4xNTc0QzcuNzA0MTUgMTIuNzI5NiA3Ljk0NzY5IDEyLjE5NDkgOC4yNTIxNyAxMS42NjAyQzguODAwMjEgMTAuNjk3OCAxMC4xMTU0IDguODc5ODQgMTMuNDAzNyA4LjY2NTk2QzE2LjY5MTkgOC40NTIwOCAxOC43NzQ2IDExLjMzOTQgMTkuMTAzNCAxMi4wODhDMTkuNDMyMiAxMi44MzY2IDE4Ljc3NDUgMTMuMTU3NCAxOC41NTU0IDEzLjE1NzRDMTguMTE2OCAxMy4xNTc0IDE3LjU2ODkgMTIuNzI5NiAxNy4yNDAxIDEyLjE5NDlDMTYuNTgyMyAxMS4xMjU2IDE1LjU5NTkgMTEuMDE4NiAxNC4xNzEgMTAuOTExN0MxMi43NDYxIDEwLjgwNDcgMTIuMzA3NiAxMS4zMzk0IDExLjQzMDcgMTIuMzAxOUMxMC43NDM3IDEzLjA1NTkgMTAuNjYzNCAxMy42NDYyIDkuNzg2NTcgMTQuMDEyOUM5LjAxOTMxIDE0LjMzMzcgOC4xNDI1OCAxMy41ODUxIDcuOTIzMzcgMTMuMTU3NFpcIlxuICAgICAgICAgIGZpbGw9e0Rhcmt9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgIGQ9XCJNMzcuMzg4NiAxMy4xNTc0QzM3LjYwNzkgMTIuNzI5NiAzNy4zNjQzIDEyLjE5NDkgMzcuMDU5OCAxMS42NjAyQzM2LjUxMTggMTAuNjk3OCAzNS4xOTY2IDguODc5ODQgMzEuOTA4MyA4LjY2NTk2QzI4LjYyMDEgOC40NTIwOCAyNi41Mzc0IDExLjMzOTQgMjYuMjA4NiAxMi4wODhDMjUuODc5OCAxMi44MzY2IDI2LjUzNzUgMTMuMTU3NCAyNi43NTY2IDEzLjE1NzRDMjcuMTk1MiAxMy4xNTc0IDI3Ljc0MzEgMTIuNzI5NiAyOC4wNzE5IDEyLjE5NDlDMjguNzI5NyAxMS4xMjU2IDI5LjcxNjEgMTEuMDE4NiAzMS4xNDEgMTAuOTExN0MzMi41NjU5IDEwLjgwNDcgMzMuMDA0NCAxMS4zMzk0IDMzLjg4MTMgMTIuMzAxOUMzNC41NjgzIDEzLjA1NTkgMzQuNjQ4NiAxMy42NDYyIDM1LjUyNTQgMTQuMDEyOUMzNi4yOTI3IDE0LjMzMzcgMzcuMTY5NCAxMy41ODUxIDM3LjM4ODYgMTMuMTU3NFpcIlxuICAgICAgICAgIGZpbGw9e0Rhcmt9XG4gICAgICAgIC8+XG4gICAgICAgIDxTdHlsZWRMb2dvUGF0aFxuICAgICAgICAgIGQ9XCJNMTEuNDMwNyAyOC44Nzc0VjE5Ljg5NDVDMTEuNDMwNyAxOS40NjY4IDExLjQ3NDYgMTguMTgzNSAxMy44NDIxIDE4LjE4MzVDMTYuMjA5NyAxOC4xODM1IDE3LjAyMDggMTkuNDY2OCAxNy4xMzA0IDIwLjEwODRWMjUuMzQ4NEMxNy4xNjY5IDI1LjA2MzIgMTguMjI2NSAyNC41NDY0IDE5LjIxMjkgMjQuNTk5OEMyMC43OTEzIDI0LjY4NTQgMjIuMTM1OCAyNS43MDQ5IDIyLjYxMDggMjYuMjAzOUMyMy4xMjIzIDI1Ljc0MDUgMjQuNDA4NCAyNC43NzA5IDI1LjQ2MDYgMjQuNTk5OEMyNi41MTI5IDI0LjQyODcgMjcuNzI1OSAyNS4wOTg5IDI4LjIwMDggMjUuNDU1M0MyOC4yMzc0IDI0LjEzNjQgMjguMzEwNCAyMS4xOTkyIDI4LjMxMDQgMjAuMDAxNUMyOC4zMTA0IDE4LjUwNDMgMzAuNzIxOCAxOC4xODM1IDMyLjAzNzEgMTguMTgzNUMzMy4wODk0IDE4LjE4MzUgMzMuNTcxNyAxOS4zOTU1IDMzLjY4MTMgMjAuMDAxNVYyOC44Nzc0QzMzLjY4MTMgMzIuODEyNyAzMS43NDc4IDM1LjQwMDYgMzAuNzIxOCAzNi4zNjNDMjkuNzcxOSAzNy4yNTQyIDI2LjU1NjcgMzkuMDM2NSAyMi42MTA4IDM5LjAzNjVDMTguNjY0OSAzOS4wMzY1IDE2LjgyNDQgMzguNDE1IDE0LjQ5OTggMzYuMzYzQzEyLjE5OCAzNC4zMzEyIDExLjYxMzQgMzAuNzY2NiAxMS40MzA3IDI4Ljg3NzRaXCJcbiAgICAgICAgICBmaWxsPXtEYXJrfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkTG9nb1BhdGhcbiAgICAgICAgICBkPVwiTTE2LjAyMjIgMjguMjgyOUMxNS45MzY1IDMxLjk2NDUgMTkuNTU5MSAzMy45NTUyIDIyLjIzODcgMzQuNTk3M0MyNC40MTgxIDMzLjkxOTUgMjguODIyNSAzMS42ODUxIDI4LjI0MDggMjguMjgyOUMyNy40OTA1IDIzLjg5NSAyMi43NzQ2IDI2LjAzNTQgMjIuMjM4NyAyOC4yODI5QzIxLjE2NjggMjQuODU4MiAxNi4xMDggMjQuNjAxMyAxNi4wMjIyIDI4LjI4MjlaXCJcbiAgICAgICAgICBmaWxsPXtBY2NlbnR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZExvZ28+XG4gICAgICA8U2NyZWVuUmVhZGVyT25seSB0ZXh0PXtzY3JlZW5SZWFkZXJUZXh0fSAvPlxuICAgIDwvU3R5bGVkTG9nb1dyYXBwZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElJbWFnZUFzTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkTG9nb0ltYWdlLFxuICBTdHlsZWRMb2dvSW1hZ2VTa2VsZXRvbixcbiAgU3R5bGVkTG9nb0ltYWdlV3JhcHBlcixcbn0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEltYWdlQXNMb2dvID0gKHsgc3Jjc2V0LCBhcmlhTGFiZWwsIGFsdCB9OiBJSW1hZ2VBc0xvZ28pID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRMb2dvSW1hZ2VXcmFwcGVyIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH0+XG4gICAgICAgIDxTdHlsZWRMb2dvSW1hZ2VTa2VsZXRvblxuICAgICAgICAgIHJhZGl1cz17UmFkaXVzLm1kfVxuICAgICAgICAgIGJhY2tncm91bmQ9e1NrZWxldG9uQmd9XG4gICAgICAgICAgd2lkdGg9XCI1MHB4XCJcbiAgICAgICAgICBoZWlnaHQ9XCI1MHB4XCJcbiAgICAgICAgICBhcmlhLWxhYmVsPXthbHR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZExvZ29JbWFnZVdyYXBwZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZExvZ29JbWFnZVdyYXBwZXIgYXJpYS1sYWJlbD17YXJpYUxhYmVsfT5cbiAgICAgIDxTdHlsZWRMb2dvSW1hZ2VcbiAgICAgICAgcmFkaXVzPXtSYWRpdXMubWR9XG4gICAgICAgIHdpZHRoPVwiNTBweFwiXG4gICAgICAgIGhlaWdodD1cIjUwcHhcIlxuICAgICAgICBzcmNTZXQ9e3NyY3NldC5zcmNzZXR9XG4gICAgICAgIHNyYz17c3Jjc2V0LnNyY31cbiAgICAgICAgYWx0PXthbHR9XG4gICAgICAgIGlkPVwiaW1nXCJcbiAgICAgIC8+XG4gICAgPC9TdHlsZWRMb2dvSW1hZ2VXcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IElMb2dvTG9hZCB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby50eXBlc1wiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3ZnQXNMb2dvIH0gZnJvbSBcIkAvYXRvbXMvbG9nby9jb21wb25lbnRzL1N2Z0FzTG9nb1wiO1xuaW1wb3J0IHsgSW1hZ2VBc0xvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvL2NvbXBvbmVudHMvSW1hZ2VBc0xvZ29cIjtcblxuZXhwb3J0IGNvbnN0IExvYWRMb2dvID0gKHsgc3Jjc2V0LCBhcmlhTGFiZWwsIGFsdCB9OiBJTG9nb0xvYWQpID0+IHtcbiAgaWYgKHNyY3NldCkge1xuICAgIHJldHVybiA8SW1hZ2VBc0xvZ28gc3Jjc2V0PXtzcmNzZXR9IGFyaWFMYWJlbD17YXJpYUxhYmVsfSBhbHQ9e2FsdH0gLz47XG4gIH1cblxuICByZXR1cm4gPFN2Z0FzTG9nbyBzY3JlZW5SZWFkZXJUZXh0PXthcmlhTGFiZWx9IC8+O1xufTtcbiIsImltcG9ydCB7IElMb2dvIH0gZnJvbSBcIkAvYXRvbXMvbG9nby9sb2dvLnR5cGVzXCI7XG5pbXBvcnQgeyBMb2FkTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby5sb2FkZXJcIjtcblxuZXhwb3J0IGNvbnN0IExvZ28gPSAoeyBzcmNzZXQsIGFsdCwgYXJpYUxhYmVsIH06IElMb2dvKSA9PiB7XG4gIGNvbnN0IExvZ28gPSBMb2FkTG9nbyh7XG4gICAgYWx0OiBhbHQsXG4gICAgYXJpYUxhYmVsOiBhcmlhTGFiZWwsXG4gICAgc3Jjc2V0OiBzcmNzZXQsXG4gIH0pO1xuXG4gIHJldHVybiBMb2dvO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJTG9nbyB9IGZyb20gXCJAL2F0b21zL2xvZ28vbG9nby50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElOb3RpZmljYXRpb25UaGVtZSB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE5vdGlmaWNhdGlvbiA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJTm90aWZpY2F0aW9uVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy50aGVtZS5zaXplfTsgLyogRml4ZWQgd2lkdGggYmFzZWQgb24gdGhlIGZvbnQtc2l6ZSBvZiB0aGUgZWxlbWVudCAqL1xuICBoZWlnaHQ6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnRoZW1lLnNpemV9OyAvKiBGaXhlZCBoZWlnaHQgYmFzZWQgb24gdGhlIGZvbnQtc2l6ZSBvZiB0aGUgZWxlbWVudCAqL1xuICBsaW5lLWhlaWdodDogJHsocHJvcHMpID0+XG4gICAgcHJvcHMudGhlbWVcbiAgICAgIC5zaXplfSAhaW1wb3J0YW50OyAvKiBpbiB0aGlzIHNwZWNpYWwgY2FzZSB3ZSB3YW50IHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IGxpbmUgaGVpZ2h0IGZyb20gdGhlIGZvbnQsIHNpbmNlIGl0IG5lZWRzIHRvIGJlIHRoZSBzYW1lIGFzIGRlIGZpeGVkIHdpZHRoIGFuZCBoZWlnaHQgKi9cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbk5vdGlmaWNhdGlvbiA9IHN0eWxlZChTdHlsZWROb3RpZmljYXRpb24pPHtcbiAgdGhlbWU6IElOb3RpZmljYXRpb25UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IHsgSU5vdGlmaWNhdGlvblRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlTm90aWZpY2F0aW9uID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJTm90aWZpY2F0aW9uVGhlbWUgPT4ge1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBGb250cyA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IFNrZWxldG9uQmcgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF82MDAsXG4gIH0pO1xuXG4gIC8qIFNpemUgbmVlZHMgdG8gYmUgRU0gYmFzZWQgKi9cbiAgLyogV2UgYWRkIGl0IGhlcmUgdG8gcXVpY2tseSBhZGQgYSBzaXplIGVudW0gcHJvcCB3aGVuIG5lZWRlZC4qL1xuICBjb25zdCBzaXplID0gXCIxLjhlbVwiO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgZm9udDogRm9udHMucHJpbWFyeS54cy5ub3JtYWwsXG4gICAgICBjb2xvcjogU2tlbGV0b25CZyxcbiAgICAgIHNpemU6IHNpemUsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkueHMubm9ybWFsLFxuICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICBzaXplOiBzaXplLFxuICB9O1xufTtcbiIsImltcG9ydCB7IElOb3RpZmljYXRpb25CYXNlIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkTm90aWZpY2F0aW9uLFxuICBTdHlsZWRTa2VsZXRvbk5vdGlmaWNhdGlvbixcbn0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5zdHlsZXNcIjtcbmltcG9ydCB7IHVzZU5vdGlmaWNhdGlvbiB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvbi9ob29rcy91c2Utbm90aWZpY2F0aW9uXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBOb3RpZmljYXRpb24gPSAoeyBudW1iZXIgfTogSU5vdGlmaWNhdGlvbkJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IFRoZW1lID0gdXNlTm90aWZpY2F0aW9uKElzU2tlbGV0b24pO1xuXG4gIC8qIFRoaXMgd2F5IHdlIHByZXZlbnQgdGhlIG51bWVyIGZyb20gZ29pbmcgb3ZlciB0aGUgcHJvdmlkZWQgc2l6ZSAqL1xuICBjb25zdCBkaXNwbGF5ID0gbnVtYmVyID4gOSA/IFwiKzlcIiA6IG51bWJlcjtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25Ob3RpZmljYXRpb24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFBsYWNlaG9sZGVyPntkaXNwbGF5fTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uTm90aWZpY2F0aW9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPFN0eWxlZE5vdGlmaWNhdGlvbiB0aGVtZT17VGhlbWV9PntkaXNwbGF5fTwvU3R5bGVkTm90aWZpY2F0aW9uPjtcbn07XG4iLCJpbXBvcnQgeyBJTm90aWZpY2F0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uIGFzIEJhc2VOb3RpZmljYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vY29tcG9uZW50cy9ub3RpZmljYXRpb25cIjtcblxuZXhwb3J0IGNvbnN0IE5vdGlmaWNhdGlvbiA9ICh7IG51bWJlciB9OiBJTm90aWZpY2F0aW9uKSA9PiB7XG4gIHJldHVybiA8QmFzZU5vdGlmaWNhdGlvbiBudW1iZXI9e251bWJlcn0gLz47XG59O1xuXG5leHBvcnQgdHlwZSB7IElOb3RpZmljYXRpb24gfSBmcm9tIFwiQC9hdG9tcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQaWNrVGhlbWVhYmxlUHJvcHMsIElQaWNrVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9waWNrL3BpY2sudHlwZXNcIjtcbmltcG9ydCB7IEljb25Db250ZXh0LCBJY29uU2l6ZSwgSWNvblR5cGUgfSBmcm9tIFwiQC91aS9pY29uL2ljb24uZW51bXNcIjtcbmltcG9ydCB7IHVzZVBpY2tUaGVtZSB9IGZyb20gXCJAL2F0b21zL3BpY2svaG9va3MvdXNlLXBpY2tcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFBpY2ssXG4gIFN0eWxlZFBpY2tDb250YWluZXIsXG4gIFN0eWxlZFBpY2tDb250YWluZXJTa2VsZXRvbixcbiAgU3R5bGVkUGlja0xhYmVsLFxuICBTdHlsZWRQaWNrTGFiZWxTa2VsZXRvbixcbiAgU3R5bGVkUGlja1Zpc3VhbFNrZWxldG9uLFxuICBTdHlsZWRWaXN1YWwsXG4gIFN0eWxlZFZpc3VhbENvbnRhaW5lcixcbn0gZnJvbSBcIi4uL3BpY2suc3R5bGVcIjtcbmltcG9ydCB7IEZyYW1lIH0gZnJvbSBcIi4uLy4uL2ZyYW1lXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgQ29sb3JWYXJpYW50IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5pbXBvcnQgeyBQaWNrQ3R4IH0gZnJvbSBcIkAvYXRvbXMvcGljay9waWNrLmNvbnRleHRcIjtcbmltcG9ydCB7IFBpY2tDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGljay9waWNrLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgUGljayA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBQaWNrVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoUGlja0N0eCk7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWU6IElQaWNrVGhlbWUgPSB1c2VQaWNrVGhlbWUoQ29tcG9uZW50Q29udGV4dCwgaXNTa2VsZXRvbik7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBDb21wb25lbnRDb250ZXh0ID09PSBQaWNrQ29udGV4dC5ESVNBQkxFRDtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUGlja0NvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRQaWNrVmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICA8U3R5bGVkUGlja0xhYmVsU2tlbGV0b24gdGhlbWU9e1RoZW1lfT57bGFiZWx9PC9TdHlsZWRQaWNrTGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkUGlja0NvbnRhaW5lclNrZWxldG9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQaWNrQ29udGFpbmVyIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9IHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkUGlja1xuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgIC8+XG4gICAgICA8U3R5bGVkVmlzdWFsQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxGcmFtZSB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9IGFyb3VuZD17aWNvbn0gLz5cbiAgICAgICAgPFN0eWxlZFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICB0eXBlPXtJY29uVHlwZS5DSEVDS31cbiAgICAgICAgICAgIHNpemU9e0ljb25TaXplLk1FRElVTX1cbiAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuTElHSFR9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRWaXN1YWw+XG4gICAgICA8L1N0eWxlZFZpc3VhbENvbnRhaW5lcj5cbiAgICAgIDxTdHlsZWRQaWNrTGFiZWwgdGhlbWU9e1RoZW1lfT57bGFiZWx9PC9TdHlsZWRQaWNrTGFiZWw+XG4gICAgPC9TdHlsZWRQaWNrQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IElQaWNrVGhlbWUgfSBmcm9tIFwiLi4vcGljay50eXBlc1wiO1xuaW1wb3J0IHsgUGlja0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWNrXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VQaWNrVGhlbWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBQaWNrQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElQaWNrVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgY29uc3QgZXJyb3JCb3JkZXJDb2xvciA9IENvbG9ycy5kYW5nZXIudGludF81MDA7XG5cbiAgY29uc3QgU3RhbmRhcmQgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF80MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgRXJyb3IgPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIGVycm9yQm9yZGVyQ29sb3IsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgfTtcblxuICBjb25zdCBEaXNhYmxlZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzIwMCxcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgaW5pdGlhbDoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBjb250ZW50OiBza2VsZXRvbkJnQ29sb3IsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICB9O1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIFNrZWxldG9uO1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbUGlja0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbUGlja0NvbnRleHQuRVJST1IsIEVycm9yXSxcbiAgICBbUGlja0NvbnRleHQuRElTQUJMRUQsIERpc2FibGVkXSxcbiAgXSk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElQaWNrVGhlbWUgfSBmcm9tIFwiLi9waWNrLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWNrID0gc3R5bGVkLmlucHV0LmF0dHJzKHsgdHlwZTogXCJjaGVja2JveFwiIH0pPHtcbiAgdGhlbWU6IElQaWNrVGhlbWU7XG59PmBcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICY6Y2hlY2tlZCB+IHNwYW4ge1xuICAgIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuYm9yZGVyfSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5jb2xvcn07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgfVxuXG4gICY6Y2hlY2tlZCB+IGRpdiA+IDpsYXN0LWNoaWxkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0NvbnRhaW5lciA9IHN0eWxlZC5sYWJlbDx7XG4gIGlzRGlzYWJsZWQ6IGJvb2xlYW47XG4gIHRoZW1lOiBJUGlja1RoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAkeyhwcm9wcykgPT5cbiAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgIGNzc2BcbiAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIGB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0xhYmVsID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgcGFkZGluZy1sZWZ0OiA2OHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG4gIHBhZGRpbmctdG9wOiA4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA4cHg7XG4gIG1pbi1oZWlnaHQ6IDU4cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVmlzdWFsQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUGlja1RoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElQaWNrVGhlbWUgfT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnZpc3VhbFJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmJhY2tncm91bmR9O1xuICBpbnNldDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0NvbnRhaW5lclNrZWxldG9uID0gc3R5bGVkLmxhYmVsPHtcbiAgdGhlbWU6IElQaWNrVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpY2tWaXN1YWxTa2VsZXRvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVBpY2tUaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlja0xhYmVsU2tlbGV0b24gPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJUGlja1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW4tbGVmdDogNjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBQaWNrQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpY2svcGljay5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgUGlja0N0eERlZmF1bHQ6IFBpY2tDb250ZXh0ID0gUGlja0NvbnRleHQuU1RBTkRBUkQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBQaWNrQ3R4OiBSZWFjdC5Db250ZXh0PFBpY2tDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoUGlja0N0eERlZmF1bHQpO1xuIiwiZXhwb3J0IGVudW0gUGlja0NvbnRleHQge1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbiAgRElTQUJMRUQgPSBcIkRJU0FCTEVEXCIsXG4gIEVSUk9SID0gXCJFUlJPUlwiLFxufVxuIiwiaW1wb3J0IHsgSVBpY2sgfSBmcm9tIFwiQC9hdG9tcy9waWNrL3BpY2sudHlwZXNcIjtcbmltcG9ydCB7IFBpY2sgYXMgUGlja0NvbXBvbmVudCB9IGZyb20gXCJAL2F0b21zL3BpY2svY29tcG9uZW50cy9waWNrXCI7XG5pbXBvcnQgeyBQaWNrQ3R4LCBQaWNrQ3R4RGVmYXVsdCB9IGZyb20gXCJAL2F0b21zL3BpY2svcGljay5jb250ZXh0XCI7XG5pbXBvcnQgeyBQaWNrQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3BpY2svcGljay5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgUGljayA9ICh7XG4gIGNvbnRleHQsXG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG4gIGljb24sXG59OiBJUGljaykgPT4ge1xuICBjb25zdCBQaWNrQ29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogUGlja0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8UGlja0N0eC5Qcm92aWRlciB2YWx1ZT17UGlja0NvbnRleHR9PlxuICAgICAgPFBpY2tDb21wb25lbnRcbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgIGNoZWNrZWQ9e2NoZWNrZWR9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgICAgYXJpYUxhYmVsPXthcmlhTGFiZWx9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgaWNvbj17aWNvbn1cbiAgICAgIC8+XG4gICAgPC9QaWNrQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHsgUGlja0NvbnRleHQgfTtcbmV4cG9ydCB0eXBlIHsgSVBpY2sgfSBmcm9tIFwiQC9hdG9tcy9waWNrL3BpY2sudHlwZXNcIjtcbiIsImltcG9ydCB7IElQaWxsVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwudHlwZXNcIjtcbmltcG9ydCB7XG4gIHVzZVRoZW1lQ29sb3IsXG4gIHVzZVRoZW1lRm9udHMsXG4gIHVzZVRoZW1lUmFkaXVzLFxuICB1c2VUaGVtZVV0aWxpdHksXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VQaWxsID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJUGlsbFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLmJvbGQsXG4gICAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICAgIGJhY2tncm91bmQ6IFNrZWxldG9uQmcsXG4gICAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ib2xkLFxuICAgIHJhZGl1czogUmFkaXVzLnNtLFxuICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICBwYWRkaW5nOiBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdLFxuICB9O1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUGlsbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyBTcGFjaW5nSSB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUGlsbCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVBpbGxUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBwYWRkaW5nOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucGFkZGluZ307XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpbGxJY29uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgc3BhY2luZzogU3BhY2luZ0kgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogJHsocHJvcHMpID0+IHByb3BzLnNwYWNpbmdbXCIyXCJdfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaWxsTGFiZWwgPSBzdHlsZWQuZGl2YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblBpbGwgPSBzdHlsZWQoU3R5bGVkUGlsbCk8e1xuICB0aGVtZTogSVBpbGxUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyBQaWxsSWNvblByb3BzIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VQaWxsSWNvbkNvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9waWxsL2hvb2tzL3VzZS1waWxsLWljb25cIjtcbmltcG9ydCB7IFN0eWxlZFBpbGxJY29uIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBQaWxsSWNvbiA9ICh7IGljb24gfTogUGlsbEljb25Qcm9wcykgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IEljb25Db250ZXh0OiBJY29uQ29udGV4dCA9IHVzZVBpbGxJY29uQ29udGV4dChJc1NrZWxldG9uKTtcbiAgY29uc3QgVXRpbGl0eSA9IHVzZVRoZW1lVXRpbGl0eSgpO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBpbGxJY29uIHNwYWNpbmc9e1V0aWxpdHkuc3BhY2luZ30+XG4gICAgICB7UmVhY3QuY2xvbmVFbGVtZW50KGljb24sIHtcbiAgICAgICAgY29udGV4dDogSWNvbkNvbnRleHQsXG4gICAgICAgIHNpemU6IEljb25TaXplLlNNQUxMLFxuICAgICAgfSl9XG4gICAgPC9TdHlsZWRQaWxsSWNvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlUGlsbEljb25Db250ZXh0ID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJY29uQ29udGV4dCA9PiB7XG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIEljb25Db250ZXh0LkRJU0FCTEVEO1xuICB9XG5cbiAgcmV0dXJuIEljb25Db250ZXh0LkRBUks7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGlsbExhYmVsUHJvcHMgfSBmcm9tIFwiQC9hdG9tcy9waWxsL3BpbGwudHlwZXNcIjtcbmltcG9ydCB7IFN0eWxlZFBpbGxMYWJlbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgUGlsbExhYmVsID0gKHsgY2hpbGRyZW4gfTogUGlsbExhYmVsUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRQaWxsTGFiZWw+e2NoaWxkcmVufTwvU3R5bGVkUGlsbExhYmVsPjtcbn07XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVBpbGxCYXNlIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9ob29rcy91c2UtcGlsbFwiO1xuaW1wb3J0IHsgU3R5bGVkUGlsbCwgU3R5bGVkU2tlbGV0b25QaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IFBpbGxJY29uIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwuaWNvblwiO1xuaW1wb3J0IHsgUGlsbExhYmVsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGwubGFiZWxcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBQaWxsID0gKHsgbGFiZWwsIHdpdGhJY29uQmVmb3JlIH06IElQaWxsQmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWUgPSB1c2VQaWxsKElzU2tlbGV0b24pO1xuXG4gIGNvbnN0IEljb25CZWZvcmUgPSB3aXRoSWNvbkJlZm9yZSA/IDxQaWxsSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gLz4gOiBudWxsO1xuXG4gIGNvbnN0IExhYmVsID0gPFBpbGxMYWJlbD57bGFiZWx9PC9QaWxsTGFiZWw+O1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgY29uc3QgSWNvbkJlZm9yZVNrZWxldG9uID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgICA8UGxhY2Vob2xkZXI+XG4gICAgICAgIDxQaWxsSWNvbiBpY29uPXt3aXRoSWNvbkJlZm9yZX0gLz5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKSA6IG51bGw7XG5cbiAgICBjb25zdCBMYWJlbFNrZWxldG9uID0gKFxuICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICA8UGlsbExhYmVsPntsYWJlbH08L1BpbGxMYWJlbD5cbiAgICAgIDwvUGxhY2Vob2xkZXI+XG4gICAgKTtcblxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25QaWxsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtJY29uQmVmb3JlU2tlbGV0b259XG4gICAgICAgIHtMYWJlbFNrZWxldG9ufVxuICAgICAgPC9TdHlsZWRTa2VsZXRvblBpbGw+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBpbGwgdGhlbWU9e1RoZW1lfT5cbiAgICAgIHtJY29uQmVmb3JlfVxuICAgICAge0xhYmVsfVxuICAgIDwvU3R5bGVkUGlsbD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBQaWxsIGFzIEJhc2VQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9jb21wb25lbnRzL3BpbGxcIjtcbmltcG9ydCB7IElQaWxsIH0gZnJvbSBcIkAvYXRvbXMvcGlsbC9waWxsLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBQaWxsID0gKHsgd2l0aEljb25CZWZvcmUsIGxhYmVsIH06IElQaWxsKSA9PiB7XG4gIHJldHVybiA8QmFzZVBpbGwgbGFiZWw9e2xhYmVsfSB3aXRoSWNvbkJlZm9yZT17d2l0aEljb25CZWZvcmV9IC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJUGlsbCB9IGZyb20gXCJAL2F0b21zL3BpbGwvcGlsbC50eXBlc1wiO1xuIiwiZXhwb3J0IGVudW0gUGluVHlwZSB7XG4gIERBWUNBUkUgPSBcIkRBWUNBUkVcIixcbiAgQ0hJTERNSU5ERVIgPSBcIkNISUxETUlOREVSXCIsXG4gIENPT1BFUkFUSVZFID0gXCJDT09QRVJBVElWRVwiLFxufVxuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVBpbkJhc2UgfSBmcm9tIFwiQC9hdG9tcy9waW4vcGluLnR5cGVzXCI7XG5pbXBvcnQgeyBQaW5UeXBlIH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHtcbiAgQmFzZUNsaXBQYXRoLFxuICBCYXNlQ2xpcFJlY3QsXG4gIEJhc2VEZWZzLFxuICBCYXNlUGluRyxcbiAgU3R5bGVkUGluLFxuICBTdHlsZWRQaW5QYXRoLFxuICBTdHlsZWRQaW5TaGFkb3csXG4gIFN0eWxlZFBpbldyYXBwZXIsXG59IGZyb20gXCJAL2F0b21zL3Bpbi9waW4uc3R5bGVcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IFBpbiA9ICh7IHR5cGUgfTogSVBpbkJhc2UpID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IGNvbG9ycyA9IG1hdGNoKHR5cGUsIFtcbiAgICBbXG4gICAgICBQaW5UeXBlLkRBWUNBUkUsXG4gICAgICB7XG4gICAgICAgIGNvbG9yMTogQ29sb3JzLmFjY2VudC50aW50XzUwMCxcbiAgICAgICAgY29sb3IyOiBDb2xvcnMuYWNjZW50LnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFBpblR5cGUuQ0hJTERNSU5ERVIsXG4gICAgICB7XG4gICAgICAgIGNvbG9yMTogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICAgIGNvbG9yMjogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgUGluVHlwZS5DT09QRVJBVElWRSxcbiAgICAgIHtcbiAgICAgICAgY29sb3IxOiBDb2xvcnMuYWNjZW50LnRpbnRfNTAwLFxuICAgICAgICBjb2xvcjI6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcblxuICBjb25zdCB3aWR0aCA9IDI0O1xuICBjb25zdCB3aWR0aFB4ID0gd2lkdGggKyBcInB4XCI7XG4gIGNvbnN0IGhlaWdodCA9IDMyO1xuICBjb25zdCBoZWlnaHRQeCA9IGhlaWdodCArIFwicHhcIjtcblxuICBjb25zdCB2aWV3Qm94ID0gXCIwIDAgXCIgKyB3aWR0aCArIFwiIFwiICsgaGVpZ2h0O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFBpbldyYXBwZXI+XG4gICAgICA8U3R5bGVkUGluIHdpZHRoPXt3aWR0aFB4fSBoZWlnaHQ9e2hlaWdodFB4fSB2aWV3Qm94PXt2aWV3Qm94fT5cbiAgICAgICAgPEJhc2VQaW5HIGNsaXBQYXRoPVwidXJsKCNjbGlwMF8xXzI2KVwiPlxuICAgICAgICAgIDxTdHlsZWRQaW5QYXRoIGQ9XCJNMTIgMEgwVjMySDEyVjBaXCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgICAgIDxTdHlsZWRQaW5QYXRoXG4gICAgICAgICAgICBkPVwiTTEyIDBDNi4xMzMzMyAwIDAgNC41MzMzMyAwIDEyQzAgMTkuMDY2NyAxMC42NjY3IDI5Ljg2NjcgMTEuMDY2NyAzMC4yNjY3QzExLjMzMzMgMzAuNTMzMyAxMS42IDMwLjY2NjcgMTIgMzAuNjY2N0MxMi40IDMwLjY2NjcgMTIuNjY2NyAzMC41MzMzIDEyLjkzMzMgMzAuMjY2N0MxMy4zMzMzIDI5Ljg2NjcgMjQgMTkuMDY2NyAyNCAxMkMyNCA0LjUzMzMzIDE3Ljg2NjcgMCAxMiAwWk0xMiAxNkM5LjczMzMzIDE2IDggMTQuMjY2NyA4IDEyQzggOS43MzMzMyA5LjczMzMzIDggMTIgOEMxNC4yNjY3IDggMTYgOS43MzMzMyAxNiAxMkMxNiAxNC4yNjY3IDE0LjI2NjcgMTYgMTIgMTZaXCJcbiAgICAgICAgICAgIGZpbGw9e2NvbG9ycy5jb2xvcjF9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9CYXNlUGluRz5cbiAgICAgICAgPEJhc2VQaW5HIGNsaXBQYXRoPVwidXJsKCNjbGlwMV8xXzI2KVwiPlxuICAgICAgICAgIDxTdHlsZWRQaW5QYXRoIGQ9XCJNMjQgMEgxMlYzMkgyNFYwWlwiIGZpbGw9XCJub25lXCIgLz5cbiAgICAgICAgICA8U3R5bGVkUGluUGF0aFxuICAgICAgICAgICAgZD1cIk0xMiAwQzYuMTMzMzMgMCAwIDQuNTMzMzMgMCAxMkMwIDE5LjA2NjcgMTAuNjY2NyAyOS44NjY3IDExLjA2NjcgMzAuMjY2N0MxMS4zMzMzIDMwLjUzMzMgMTEuNiAzMC42NjY3IDEyIDMwLjY2NjdDMTIuNCAzMC42NjY3IDEyLjY2NjcgMzAuNTMzMyAxMi45MzMzIDMwLjI2NjdDMTMuMzMzMyAyOS44NjY3IDI0IDE5LjA2NjcgMjQgMTJDMjQgNC41MzMzMyAxNy44NjY3IDAgMTIgMFpNMTIgMTZDOS43MzMzMyAxNiA4IDE0LjI2NjcgOCAxMkM4IDkuNzMzMzMgOS43MzMzMyA4IDEyIDhDMTQuMjY2NyA4IDE2IDkuNzMzMzMgMTYgMTJDMTYgMTQuMjY2NyAxNC4yNjY3IDE2IDEyIDE2WlwiXG4gICAgICAgICAgICBmaWxsPXtjb2xvcnMuY29sb3IyfVxuICAgICAgICAgIC8+XG4gICAgICAgIDwvQmFzZVBpbkc+XG4gICAgICAgIDxTdHlsZWRQaW5QYXRoXG4gICAgICAgICAgZD1cIk0xNyAxM0MxNyAxNS43NjE0IDE0Ljc2MTQgMTggMTIgMThDOS4yMzg1OCAxOCA3IDE1Ljc2MTQgNyAxM0M3IDEwLjIzODYgOS4yMzg1OCA4IDEyIDhDMTQuNzYxNCA4IDE3IDEwLjIzODYgMTcgMTNaXCJcbiAgICAgICAgICBmaWxsPVwid2hpdGVcIlxuICAgICAgICAvPlxuICAgICAgICA8QmFzZURlZnM+XG4gICAgICAgICAgPEJhc2VDbGlwUGF0aCBpZD1cImNsaXAwXzFfMjZcIj5cbiAgICAgICAgICAgIDxCYXNlQ2xpcFJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjMyXCIgZmlsbD1cIm5vbmVcIiAvPlxuICAgICAgICAgIDwvQmFzZUNsaXBQYXRoPlxuICAgICAgICAgIDxCYXNlQ2xpcFBhdGggaWQ9XCJjbGlwMV8xXzI2XCI+XG4gICAgICAgICAgICA8QmFzZUNsaXBSZWN0XG4gICAgICAgICAgICAgIHdpZHRoPVwiMTJcIlxuICAgICAgICAgICAgICBoZWlnaHQ9XCIzMlwiXG4gICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgdHJhbnNmb3JtPVwidHJhbnNsYXRlKDEyKVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvQmFzZUNsaXBQYXRoPlxuICAgICAgICA8L0Jhc2VEZWZzPlxuICAgICAgPC9TdHlsZWRQaW4+XG4gICAgICA8U3R5bGVkUGluU2hhZG93PjwvU3R5bGVkUGluU2hhZG93PlxuICAgIDwvU3R5bGVkUGluV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5jb25zdCBCYXNlUGluU3ZnID0gc3R5bGVkLnN2Zy5hdHRycygocHJvcHMpID0+ICh7XG4gIHZlcnNpb246IFwiMS4xXCIsXG4gIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gIHhtbG5zWGxpbms6IFwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiLFxuICByb2xlOiBcImltZ1wiLFxuICBcImFyaWEtaGlkZGVuXCI6IFwidHJ1ZVwiLFxufSkpYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlUGluUGF0aCA9IHN0eWxlZC5wYXRoLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlUGluRyA9IHN0eWxlZC5nLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlRGVmcyA9IHN0eWxlZC5kZWZzLmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBCYXNlQ2xpcFBhdGggPSBzdHlsZWQuY2xpcFBhdGguYXR0cnMoe1xuICByb2xlOiBcInByZXNlbnRhdGlvblwiLFxufSlgYDtcblxuZXhwb3J0IGNvbnN0IEJhc2VDbGlwUmVjdCA9IHN0eWxlZC5yZWN0LmF0dHJzKHtcbiAgcm9sZTogXCJwcmVzZW50YXRpb25cIixcbn0pYGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaW4gPSBzdHlsZWQoQmFzZVBpblN2Zyk8e1xuICB3aWR0aDogc3RyaW5nO1xuICBoZWlnaHQ6IHN0cmluZztcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLndpZHRofTtcbiAgaGVpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuaGVpZ2h0fTtcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDEwcHggOHB4IHJnYigwIDAgMCAvIDAuMDQpKVxuICAgIGRyb3Atc2hhZG93KDAgNHB4IDNweCByZ2IoMCAwIDAgLyAwLjEpKTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaW5QYXRoID0gc3R5bGVkKEJhc2VQaW5QYXRoKTx7fT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFBpbldyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQaW5TaGFkb3cgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAtNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogNnB4O1xuICBiYWNrZ3JvdW5kOiAjODY4Njg2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIG1hcmdpbjogYXV0bztcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogNnB4O1xuICB6LWluZGV4OiAtMTtcbiAgZmlsdGVyOiBibHVyKDNweCk7XG5gO1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUGluIGFzIEJhc2VQaW4gfSBmcm9tIFwiQC9hdG9tcy9waW4vY29tcG9uZW50cy9waW5cIjtcbmltcG9ydCB7IElQaW4gfSBmcm9tIFwiQC9hdG9tcy9waW4vcGluLnR5cGVzXCI7XG5pbXBvcnQgeyBQaW5UeXBlIH0gZnJvbSBcIkAvYXRvbXMvcGluL3Bpbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgUGluID0gKHsgdHlwZSB9OiBJUGluKSA9PiB7XG4gIHJldHVybiA8QmFzZVBpbiB0eXBlPXt0eXBlfSAvPjtcbn07XG5cbmV4cG9ydCB7IFBpblR5cGUgfTtcbmV4cG9ydCB0eXBlIHsgSVBpbiB9IGZyb20gXCJAL2F0b21zL3Bpbi9waW4udHlwZXNcIjtcbiIsImltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFJhZGlvLFxuICBTdHlsZWRSYWRpb0NvbnRhaW5lcixcbiAgU3R5bGVkUmFkaW9Db250YWluZXJTa2VsZXRvbixcbiAgU3R5bGVkUmFkaW9MYWJlbCxcbiAgU3R5bGVkUmFkaW9MYWJlbFNrZWxldG9uLFxuICBTdHlsZWRSYWRpb1Zpc3VhbCxcbiAgU3R5bGVkUmFkaW9WaXN1YWxTa2VsZXRvbixcbn0gZnJvbSBcIi4uL3JhZGlvLnN0eWxlXCI7XG5pbXBvcnQgeyBSYWRpb1RoZW1lYWJsZVByb3BzLCBJUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9yYWRpby50eXBlc1wiO1xuaW1wb3J0IHsgdXNlUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9ob29rcy91c2UtcmFkaW9cIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBSYWRpb0N0eCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmNvbnRleHRcIjtcbmltcG9ydCB7IFJhZGlvQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBSYWRpbyA9ICh7XG4gIG9uQ2hhbmdlLFxuICB2YWx1ZSxcbiAgYXJpYUxhYmVsLFxuICBsYWJlbCxcbiAgbmFtZSxcbiAgY2hlY2tlZCxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBSYWRpb1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChSYWRpb0N0eCk7XG4gIGNvbnN0IFRoZW1lOiBJUmFkaW9UaGVtZSA9IHVzZVJhZGlvVGhlbWUoQ29tcG9uZW50Q29udGV4dCwgaXNTa2VsZXRvbik7XG4gIGNvbnN0IGlzRGlzYWJsZWQgPSBDb21wb25lbnRDb250ZXh0ID09PSBSYWRpb0NvbnRleHQuRElTQUJMRUQ7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFJhZGlvQ29udGFpbmVyU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFJhZGlvVmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICA8U3R5bGVkUmFkaW9MYWJlbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICA8L1N0eWxlZFJhZGlvTGFiZWxTa2VsZXRvbj5cbiAgICAgIDwvU3R5bGVkUmFkaW9Db250YWluZXJTa2VsZXRvbj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkUmFkaW9Db250YWluZXIgaXNEaXNhYmxlZD17aXNEaXNhYmxlZH0gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRSYWRpb1xuICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgYXJpYS1kaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgYXJpYS1jaGVja2VkPXtjaGVja2VkfVxuICAgICAgICBkZWZhdWx0Q2hlY2tlZD17ZGVmYXVsdENoZWNrZWR9XG4gICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgIGFyaWEtbGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZFJhZGlvVmlzdWFsIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgIDxTdHlsZWRSYWRpb0xhYmVsIHRoZW1lPXtUaGVtZX0+e2xhYmVsfTwvU3R5bGVkUmFkaW9MYWJlbD5cbiAgICA8L1N0eWxlZFJhZGlvQ29udGFpbmVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUmFkaW9UaGVtZSB9IGZyb20gXCIuL3JhZGlvLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpbyA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiUmFkaW9cIiB9KTx7XG4gIHRoZW1lOiBJUmFkaW9UaGVtZTtcbn0+YFxuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW9Db250YWluZXIgPSBzdHlsZWQubGFiZWw8e1xuICBpc0Rpc2FibGVkOiBib29sZWFuO1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuXG4gICYgaW5wdXQ6Y2hlY2tlZCArIGRpdiB7XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5ib3JkZXJ9O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNoZWNrZWQuY29udGVudH07XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICAhcHJvcHMuaXNEaXNhYmxlZCAmJlxuICAgICAgY3NzYFxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBgfVxuXG4gICAgaW5wdXQgKyBkaXYge1xuICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuY29udGVudH07XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0OmNoZWNrZWQgKyBkaXYge1xuICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5ib3JkZXJ9O1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmNvbnRlbnR9O1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvQ29udGFpbmVyU2tlbGV0b24gPSBzdHlsZWQubGFiZWw8e1xuICB0aGVtZTogSVJhZGlvVGhlbWU7XG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJhZGlvVmlzdWFsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmFkaW9UaGVtZSB9PmBcbiAgd2lkdGg6IDI0cHg7XG4gIGhlaWdodDogMjRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5ib3JkZXJ9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbnRlbnR9O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSYWRpb1Zpc3VhbFNrZWxldG9uID0gc3R5bGVkKFN0eWxlZFJhZGlvVmlzdWFsKTx7XG4gIHRoZW1lOiBJUmFkaW9UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW9MYWJlbCA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElSYWRpb1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUmFkaW9MYWJlbFNrZWxldG9uID0gc3R5bGVkKFN0eWxlZFJhZGlvTGFiZWwpPHtcbiAgdGhlbWU6IElSYWRpb1RoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICA+ICoge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbmA7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBJUmFkaW9UaGVtZSB9IGZyb20gXCIuLi9yYWRpby50eXBlc1wiO1xuaW1wb3J0IHsgUmFkaW9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcmFkaW8vcmFkaW8uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVJhZGlvVGhlbWUgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBSYWRpb0NvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJUmFkaW9UaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLnhzLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy54cyxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMueHMsXG4gIH07XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gU2tlbGV0b247XG4gIH1cblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtSYWRpb0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbUmFkaW9Db250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW1JhZGlvQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICBdKTtcbn07XG4iLCJleHBvcnQgZW51bSBSYWRpb0NvbnRleHQge1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbiAgRElTQUJMRUQgPSBcIkRJU0FCTEVEXCIsXG4gIEVSUk9SID0gXCJFUlJPUlwiLFxufVxuIiwiaW1wb3J0IHsgY3JlYXRlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgUmFkaW9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcmFkaW8vcmFkaW8uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFJhZGlvQ3R4RGVmYXVsdDogUmFkaW9Db250ZXh0ID0gUmFkaW9Db250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgUmFkaW9DdHg6IFJlYWN0LkNvbnRleHQ8Q29udGV4dD4gPSBjcmVhdGVDb250ZXh0KFJhZGlvQ3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgeyBJUmFkaW8gfSBmcm9tIFwiQC9hdG9tcy9yYWRpby9yYWRpby50eXBlc1wiO1xuaW1wb3J0IHsgUmFkaW8gYXMgUmFkaW9Db21wb25lbnQgfSBmcm9tIFwiQC9hdG9tcy9yYWRpby9jb21wb25lbnRzL3JhZGlvXCI7XG5pbXBvcnQgeyBSYWRpb0N0eCwgUmFkaW9DdHhEZWZhdWx0IH0gZnJvbSBcIkAvYXRvbXMvcmFkaW8vcmFkaW8uY29udGV4dFwiO1xuaW1wb3J0IHsgUmFkaW9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcmFkaW8vcmFkaW8uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IFJhZGlvID0gKHtcbiAgY29udGV4dCxcbiAgb25DaGFuZ2UsXG4gIHZhbHVlLFxuICBhcmlhTGFiZWwsXG4gIGxhYmVsLFxuICBuYW1lLFxuICBjaGVja2VkLFxuICBkZWZhdWx0Q2hlY2tlZCxcbn06IElSYWRpbykgPT4ge1xuICBjb25zdCBJbnB1dENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IFJhZGlvQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxSYWRpb0N0eC5Qcm92aWRlciB2YWx1ZT17SW5wdXRDb250ZXh0fT5cbiAgICAgIDxSYWRpb0NvbXBvbmVudFxuICAgICAgICBuYW1lPXtuYW1lfVxuICAgICAgICB2YWx1ZT17dmFsdWV9XG4gICAgICAgIGxhYmVsPXtsYWJlbH1cbiAgICAgICAgY2hlY2tlZD17Y2hlY2tlZH1cbiAgICAgICAgZGVmYXVsdENoZWNrZWQ9e2RlZmF1bHRDaGVja2VkfVxuICAgICAgICBhcmlhTGFiZWw9e2FyaWFMYWJlbH1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgLz5cbiAgICA8L1JhZGlvQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHsgUmFkaW9Db250ZXh0IH07XG5leHBvcnQgdHlwZSB7IElSYWRpbyB9IGZyb20gXCJAL2F0b21zL3JhZGlvL3JhZGlvLnR5cGVzXCI7XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHtcbiAgSVJlY29yZExhYmVsVGhlbWUsXG4gIElSZWNvcmRUaGVtZSxcbiAgSVJlY29yZFZhbHVlVGhlbWUsXG59IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IFNwYWNpbmdJIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmQgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElSZWNvcmRUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICB3aWR0aDogMTAwJTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRSZWNvcmRJY29uID0gc3R5bGVkLmRpdi53aXRoQ29uZmlnKHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBbXCJjaGlsZHJlblwiXS5pbmNsdWRlcyhwcm9wKSxcbn0pPHsgc3BhY2luZzogU3BhY2luZ0kgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgbWFyZ2luLXJpZ2h0OiAkeyhwcm9wcykgPT4gcHJvcHMuc3BhY2luZ1tcIjJcIl19O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZExhYmVsID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmVjb3JkTGFiZWxUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hbmltYXRpb259O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZExhYmVsVGV4dCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVJlY29yZExhYmVsVGhlbWUgfT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFJlY29yZFZhbHVlID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJUmVjb3JkVmFsdWVUaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYmFja2dyb3VuZDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hbmltYXRpb259O1xuYDtcbiIsImltcG9ydCB7IElSZWNvcmRMYWJlbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VSZWNvcmRMYWJlbCA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVJlY29yZExhYmVsVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgYW5pbWF0aW9uOiBcInB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGVcIixcbiAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzcwMCxcbiAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgYW5pbWF0aW9uOiBcIm5vbmVcIixcbiAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICB9O1xufTtcbiIsImltcG9ydCB7IElSZWNvcmRWYWx1ZVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VSZWNvcmRWYWx1ZSA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVJlY29yZFZhbHVlVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29sb3I6IFNrZWxldG9uQmcsXG4gICAgICBiYWNrZ3JvdW5kOiBTa2VsZXRvbkJnLFxuICAgICAgYW5pbWF0aW9uOiBcInB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGVcIixcbiAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzkwMCxcbiAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgYW5pbWF0aW9uOiBcIm5vbmVcIixcbiAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICB9O1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBTdHlsZWRHcmlkLCBTdHlsZWRHcmlkSXRlbSwgU3R5bGVkR3JpZENvbnRhaW5lciB9IGZyb20gXCIuL2dyaWQuc3R5bGVcIjtcbmltcG9ydCB7IEdyaWRJdGVtUHJvcHMsIEdyaWRQcm9wcywgU3R5bGVkR3JpZFByb3BzIH0gZnJvbSBcIi4vZ3JpZC50eXBlc1wiO1xuXG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5jb25zdCBHcmlkQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoe1xuICBicmVha3BvaW50OiB7XG4gICAgc206IFwiNjQwcHhcIixcbiAgICBtZDogXCI3NjhweFwiLFxuICAgIGxnOiBcIjEwMjRweFwiLFxuICAgIHhsOiBcIjEyODBweFwiLFxuICAgIHh4bDogXCIxNTM2cHhcIixcbiAgfSxcbiAgZ2FwOiBcIjBcIixcbiAgZGlyZWN0aW9uOiBcInJvd1wiLFxuICBhbGlnbkl0ZW1zOiBcImZsZXgtc3RhcnRcIixcbiAganVzdGlmeTogXCJmbGV4LXN0YXJ0XCIsXG4gIGl0ZW1zOiAwLFxufSk7XG5cbmV4cG9ydCBjb25zdCBHcmlkID0gKHtcbiAgY2hpbGRyZW4sXG4gIGRpcmVjdGlvbixcbiAgYWxpZ25JdGVtcyxcbiAganVzdGlmeSxcbiAgZ2FwLFxuICBzbUJyZWFrcG9pbnQsXG4gIG1kQnJlYWtwb2ludCxcbiAgbGdCcmVha3BvaW50LFxuICB4bEJyZWFrcG9pbnQsXG4gIHh4bEJyZWFrcG9pbnQsXG59OiBHcmlkUHJvcHMpID0+IHtcbiAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuICBjb25zdCBnYXBPcmRlZmF1bHQgPSB0aGVtZS51dGlsaXR5LnNwYWNpbmdbZ2FwIHx8IDBdO1xuICBjb25zdCBkaXJlY3Rpb25PckRlZmF1bHQgPSBkaXJlY3Rpb24gfHwgXCJyb3dcIjtcbiAgY29uc3QgYWxpZ25JdGVtc09yRGVmYXVsdCA9IGFsaWduSXRlbXMgfHwgXCJmbGV4LXN0YXJ0XCI7XG4gIGNvbnN0IGp1c3RpZnlPckRlZmF1bHQgPSBqdXN0aWZ5IHx8IFwiZmxleC1zdGFydFwiO1xuXG4gIGNvbnN0IHN0eWxlOiBTdHlsZWRHcmlkUHJvcHMgPSB7XG4gICAgZGlyZWN0aW9uOiBkaXJlY3Rpb25PckRlZmF1bHQsXG4gICAgYWxpZ25JdGVtczogYWxpZ25JdGVtc09yRGVmYXVsdCxcbiAgICBqdXN0aWZ5OiBqdXN0aWZ5T3JEZWZhdWx0LFxuICAgIGdhcDogZ2FwT3JkZWZhdWx0LFxuICB9O1xuXG4gIGNvbnN0IGNvdW50ID0gUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pO1xuXG4gIHJldHVybiAoXG4gICAgPEdyaWRDb250ZXh0LlByb3ZpZGVyXG4gICAgICB2YWx1ZT17e1xuICAgICAgICBicmVha3BvaW50OiB7XG4gICAgICAgICAgc206IHNtQnJlYWtwb2ludCA/IHNtQnJlYWtwb2ludCArIFwicHhcIiA6IFwiNjQwcHhcIixcbiAgICAgICAgICBtZDogbWRCcmVha3BvaW50ID8gbWRCcmVha3BvaW50ICsgXCJweFwiIDogXCI3NjhweFwiLFxuICAgICAgICAgIGxnOiBsZ0JyZWFrcG9pbnQgPyBsZ0JyZWFrcG9pbnQgKyBcInB4XCIgOiBcIjEwMjRweFwiLFxuICAgICAgICAgIHhsOiB4bEJyZWFrcG9pbnQgPyB4bEJyZWFrcG9pbnQgKyBcInB4XCIgOiBcIjEyODBweFwiLFxuICAgICAgICAgIHh4bDogeHhsQnJlYWtwb2ludCA/IHh4bEJyZWFrcG9pbnQgKyBcInB4XCIgOiBcIjE1MzZweFwiLFxuICAgICAgICB9LFxuICAgICAgICBnYXA6IGdhcE9yZGVmYXVsdCxcbiAgICAgICAgZGlyZWN0aW9uOiBkaXJlY3Rpb25PckRlZmF1bHQsXG4gICAgICAgIGFsaWduSXRlbXM6IGFsaWduSXRlbXNPckRlZmF1bHQsXG4gICAgICAgIGp1c3RpZnk6IGp1c3RpZnlPckRlZmF1bHQsXG4gICAgICAgIGl0ZW1zOiBjb3VudCxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPFN0eWxlZEdyaWRDb250YWluZXI+XG4gICAgICAgIDxTdHlsZWRHcmlkIHN0eWxlPXtzdHlsZX0+e2NoaWxkcmVufTwvU3R5bGVkR3JpZD5cbiAgICAgIDwvU3R5bGVkR3JpZENvbnRhaW5lcj5cbiAgICA8L0dyaWRDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuY29uc3QgSXRlbSA9ICh7IGluaXRpYWwsIHNtLCBtZCwgbGcsIHhsLCB4eGwsIGNoaWxkcmVuIH06IEdyaWRJdGVtUHJvcHMpID0+IHtcbiAgY29uc3Qgd2lkdGhPckRlZmF1bHQgPSBpbml0aWFsIHx8IDEyO1xuICBjb25zdCBzbU9yRGVmYXVsdCA9IHNtIHx8IHdpZHRoT3JEZWZhdWx0O1xuICBjb25zdCBtZE9yRGVmYXVsdCA9IG1kIHx8IHNtT3JEZWZhdWx0O1xuICBjb25zdCBsZ09yRGVmYXVsdCA9IGxnIHx8IG1kT3JEZWZhdWx0O1xuICBjb25zdCB4bE9yRGVmYXVsdCA9IHhsIHx8IGxnT3JEZWZhdWx0O1xuICBjb25zdCB4eGxPckRlZmF1bHQgPSB4eGwgfHwgeGxPckRlZmF1bHQ7XG4gIGNvbnN0IGdyaWQgPSB1c2VDb250ZXh0KEdyaWRDb250ZXh0KTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRHcmlkSXRlbVxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgaW5pdGlhbDogd2lkdGhPckRlZmF1bHQsXG4gICAgICAgIHNtOiBzbU9yRGVmYXVsdCxcbiAgICAgICAgbWQ6IG1kT3JEZWZhdWx0LFxuICAgICAgICBsZzogbGdPckRlZmF1bHQsXG4gICAgICAgIHhsOiB4bE9yRGVmYXVsdCxcbiAgICAgICAgeHhsOiB4eGxPckRlZmF1bHQsXG4gICAgICAgIHNtQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50LnNtLFxuICAgICAgICBtZEJyZWFrcG9pbnQ6IGdyaWQuYnJlYWtwb2ludC5tZCxcbiAgICAgICAgbGdCcmVha3BvaW50OiBncmlkLmJyZWFrcG9pbnQubGcsXG4gICAgICAgIHhsQnJlYWtwb2ludDogZ3JpZC5icmVha3BvaW50LnhsLFxuICAgICAgICB4eGxCcmVha3BvaW50OiBncmlkLmJyZWFrcG9pbnQueHhsLFxuICAgICAgICBpbml0aWFsV2lkdGhDb3JyZWN0aW9uOlxuICAgICAgICAgIGdyaWQuZGlyZWN0aW9uID09PSBcInJvd1wiICYmXG4gICAgICAgICAgd2lkdGhPckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgd2lkdGhPckRlZmF1bHQgIT09IDEyXG4gICAgICAgICAgICA/IGdyaWQuZ2FwXG4gICAgICAgICAgICA6IFwiMHB4XCIsXG4gICAgICAgIHNtV2lkdGhDb3JyZWN0aW9uOlxuICAgICAgICAgIGdyaWQuZGlyZWN0aW9uID09PSBcInJvd1wiICYmXG4gICAgICAgICAgc21PckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgc21PckRlZmF1bHQgIT09IDEyXG4gICAgICAgICAgICA/IGdyaWQuZ2FwXG4gICAgICAgICAgICA6IFwiMHB4XCIsXG4gICAgICAgIG1kV2lkdGhDb3JyZWN0aW9uOlxuICAgICAgICAgIGdyaWQuZGlyZWN0aW9uID09PSBcInJvd1wiICYmXG4gICAgICAgICAgbWRPckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgbWRPckRlZmF1bHQgIT09IDEyXG4gICAgICAgICAgICA/IGdyaWQuZ2FwXG4gICAgICAgICAgICA6IFwiMHB4XCIsXG4gICAgICAgIGxnV2lkdGhDb3JyZWN0aW9uOlxuICAgICAgICAgIGdyaWQuZGlyZWN0aW9uID09PSBcInJvd1wiICYmXG4gICAgICAgICAgbGdPckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgbGdPckRlZmF1bHQgIT09IDEyXG4gICAgICAgICAgICA/IGdyaWQuZ2FwXG4gICAgICAgICAgICA6IFwiMHB4XCIsXG4gICAgICAgIHhsV2lkdGhDb3JyZWN0aW9uOlxuICAgICAgICAgIGdyaWQuZGlyZWN0aW9uID09PSBcInJvd1wiICYmXG4gICAgICAgICAgeGxPckRlZmF1bHQgIT09IFwiYXV0b1wiICYmXG4gICAgICAgICAgeGxPckRlZmF1bHQgIT09IDEyXG4gICAgICAgICAgICA/IGdyaWQuZ2FwXG4gICAgICAgICAgICA6IFwiMHB4XCIsXG4gICAgICAgIHh4bFdpZHRoQ29ycmVjdGlvbjpcbiAgICAgICAgICBncmlkLmRpcmVjdGlvbiA9PT0gXCJyb3dcIiAmJlxuICAgICAgICAgIHh4bE9yRGVmYXVsdCAhPT0gXCJhdXRvXCIgJiZcbiAgICAgICAgICB4eGxPckRlZmF1bHQgIT09IDEyXG4gICAgICAgICAgICA/IGdyaWQuZ2FwXG4gICAgICAgICAgICA6IFwiMHB4XCIsXG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZEdyaWRJdGVtPlxuICApO1xufTtcblxuR3JpZC5JdGVtID0gSXRlbTtcblxuZXhwb3J0IHR5cGUgeyBHcmlkSXRlbVByb3BzLCBHcmlkUHJvcHMgfSBmcm9tIFwiLi9ncmlkLnR5cGVzXCI7XG4iLCJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgU3R5bGVkR3JpZEl0ZW1Qcm9wcywgU3R5bGVkR3JpZFByb3BzIH0gZnJvbSBcIi4vZ3JpZC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkR3JpZENvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGNvbnRhaW5lci10eXBlOiBpbmxpbmUtc2l6ZTtcbiAgY29udGFpbmVyLW5hbWU6IGdyaWQ7XG5gO1xuZXhwb3J0IGNvbnN0IFN0eWxlZEdyaWQgPSBzdHlsZWQuZGl2PHsgc3R5bGU6IFN0eWxlZEdyaWRQcm9wcyB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmRpcmVjdGlvbn07XG4gIGFsaWduLWl0ZW1zOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUuYWxpZ25JdGVtc307XG4gIGp1c3RpZnktY29udGVudDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmp1c3RpZnl9O1xuICBnYXA6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5nYXB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEdyaWRJdGVtID0gc3R5bGVkLmRpdjx7IHN0eWxlOiBTdHlsZWRHcmlkSXRlbVByb3BzIH0+YFxuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAwO1xuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLnN0eWxlLmluaXRpYWwgPT09IFwiYXV0b1wiICYmXG4gICAgY3NzYFxuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBgfVxuICAkeyhwcm9wcykgPT5cbiAgICB0eXBlb2YgcHJvcHMuc3R5bGUuaW5pdGlhbCA9PT0gXCJudW1iZXJcIiAmJlxuICAgIGNzc2BcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLmluaXRpYWx9IC8gMTIpIC1cbiAgICAgICAgICAke3Byb3BzLnN0eWxlLmluaXRpYWxXaWR0aENvcnJlY3Rpb259XG4gICAgICApO1xuICAgIGB9XG5cbiAgQGNvbnRhaW5lciBncmlkIChtaW4td2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS5zbUJyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS5zbSA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnNtID09PSBcIm51bWJlclwiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLnNtfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUuc21XaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUubWRCcmVha3BvaW50fSkge1xuICAgICR7KHByb3BzKSA9PlxuICAgICAgcHJvcHMuc3R5bGUubWQgPT09IFwiYXV0b1wiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgYH1cbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHR5cGVvZiBwcm9wcy5zdHlsZS5tZCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS5tZH0gLyAxMikgLSAke3Byb3BzLnN0eWxlLm1kV2lkdGhDb3JyZWN0aW9ufVxuICAgICAgICApO1xuICAgICAgYH1cbiAgfVxuICBAY29udGFpbmVyIGdyaWQgKG1pbi13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnN0eWxlLmxnQnJlYWtwb2ludH0pIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHByb3BzLnN0eWxlLmxnID09PSBcImF1dG9cIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIGB9XG4gICAgJHsocHJvcHMpID0+XG4gICAgICB0eXBlb2YgcHJvcHMuc3R5bGUubGcgPT09IFwibnVtYmVyXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICB3aWR0aDogY2FsYyhcbiAgICAgICAgICAoMTAwJSAqICR7cHJvcHMuc3R5bGUubGd9IC8gMTIpIC0gJHtwcm9wcy5zdHlsZS5sZ1dpZHRoQ29ycmVjdGlvbn1cbiAgICAgICAgKTtcbiAgICAgIGB9XG4gIH1cbiAgQGNvbnRhaW5lciBncmlkIChtaW4td2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy5zdHlsZS54bEJyZWFrcG9pbnR9KSB7XG4gICAgJHsocHJvcHMpID0+XG4gICAgICBwcm9wcy5zdHlsZS54bCA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnhsID09PSBcIm51bWJlclwiICYmXG4gICAgICBjc3NgXG4gICAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoXG4gICAgICAgICAgKDEwMCUgKiAke3Byb3BzLnN0eWxlLnhsfSAvIDEyKSAtICR7cHJvcHMuc3R5bGUueGxXaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG4gIEBjb250YWluZXIgZ3JpZCAobWluLXdpZHRoOiAkeyhwcm9wcykgPT4gcHJvcHMuc3R5bGUueHhsQnJlYWtwb2ludH0pIHtcbiAgICAkeyhwcm9wcykgPT5cbiAgICAgIHByb3BzLnN0eWxlLnh4bCA9PT0gXCJhdXRvXCIgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBgfVxuICAgICR7KHByb3BzKSA9PlxuICAgICAgdHlwZW9mIHByb3BzLnN0eWxlLnh4bCA9PT0gXCJudW1iZXJcIiAmJlxuICAgICAgY3NzYFxuICAgICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKFxuICAgICAgICAgICgxMDAlICogJHtwcm9wcy5zdHlsZS54eGx9IC8gMTIpIC0gJHtwcm9wcy5zdHlsZS54eGxXaWR0aENvcnJlY3Rpb259XG4gICAgICAgICk7XG4gICAgICBgfVxuICB9XG5gO1xuIiwiaW1wb3J0IHsgSVJlY29yZEJhc2UgfSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRSZWNvcmQsXG4gIFN0eWxlZFJlY29yZEljb24sXG4gIFN0eWxlZFJlY29yZExhYmVsLFxuICBTdHlsZWRSZWNvcmRMYWJlbFRleHQsXG4gIFN0eWxlZFJlY29yZFZhbHVlLFxufSBmcm9tIFwiQC9hdG9tcy9yZWNvcmQvcmVjb3JkLnN0eWxlXCI7XG5pbXBvcnQgeyBQbGFjZWhvbGRlciB9IGZyb20gXCJAL2xheW91dHMvcGxhY2Vob2xkZXIvcGxhY2Vob2xkZXJcIjtcbmltcG9ydCB7IHVzZVJlY29yZExhYmVsIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtbGFiZWxcIjtcbmltcG9ydCB7IHVzZVJlY29yZFZhbHVlIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL2hvb2tzL3VzZS1yZWNvcmQtdmFsdWVcIjtcbmltcG9ydCB7IEdyaWQgfSBmcm9tIFwiQC9sYXlvdXRzL2dyaWRcIjtcbmltcG9ydCB7IFNwYWNpbmcgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lVXRpbGl0eSB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFJlY29yZCA9ICh7IGxhYmVsLCB2YWx1ZSwgd2l0aEljb25CZWZvcmUgfTogSVJlY29yZEJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuXG4gIGNvbnN0IFRoZW1lID0ge1xuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5ub3JtYWwsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVMYWJlbCA9IHVzZVJlY29yZExhYmVsKElzU2tlbGV0b24pO1xuICBjb25zdCBUaGVtZVZhbHVlID0gdXNlUmVjb3JkVmFsdWUoSXNTa2VsZXRvbik7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBJY29uID0gd2l0aEljb25CZWZvcmUgPyAoXG4gICAgSXNTa2VsZXRvbiA/IChcbiAgICAgIDxTdHlsZWRSZWNvcmRJY29uIHNwYWNpbmc9e1V0aWxpdHkuc3BhY2luZ30+XG4gICAgICAgIDxQbGFjZWhvbGRlcj57d2l0aEljb25CZWZvcmV9PC9QbGFjZWhvbGRlcj5cbiAgICAgIDwvU3R5bGVkUmVjb3JkSWNvbj5cbiAgICApIDogKFxuICAgICAgPFN0eWxlZFJlY29yZEljb24gc3BhY2luZz17VXRpbGl0eS5zcGFjaW5nfT5cbiAgICAgICAge3dpdGhJY29uQmVmb3JlfVxuICAgICAgPC9TdHlsZWRSZWNvcmRJY29uPlxuICAgIClcbiAgKSA6IG51bGw7XG5cbiAgY29uc3QgTGFiZWwgPSBJc1NrZWxldG9uID8gKFxuICAgIDxTdHlsZWRSZWNvcmRMYWJlbFRleHQ+XG4gICAgICA8UGxhY2Vob2xkZXI+e2xhYmVsfTwvUGxhY2Vob2xkZXI+XG4gICAgPC9TdHlsZWRSZWNvcmRMYWJlbFRleHQ+XG4gICkgOiAoXG4gICAgPFN0eWxlZFJlY29yZExhYmVsVGV4dD57bGFiZWx9PC9TdHlsZWRSZWNvcmRMYWJlbFRleHQ+XG4gICk7XG5cbiAgY29uc3QgVmFsdWUgPSBJc1NrZWxldG9uID8gKFxuICAgIDxTdHlsZWRSZWNvcmRWYWx1ZSB0aGVtZT17VGhlbWVWYWx1ZX0+XG4gICAgICA8UGxhY2Vob2xkZXI+e3ZhbHVlfTwvUGxhY2Vob2xkZXI+XG4gICAgPC9TdHlsZWRSZWNvcmRWYWx1ZT5cbiAgKSA6IChcbiAgICA8U3R5bGVkUmVjb3JkVmFsdWUgdGhlbWU9e1RoZW1lVmFsdWV9Pnt2YWx1ZX08L1N0eWxlZFJlY29yZFZhbHVlPlxuICApO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFJlY29yZCB0aGVtZT17VGhlbWV9PlxuICAgICAgPEdyaWQgZGlyZWN0aW9uPXtcInJvd1wifSBzbUJyZWFrcG9pbnQ9ezI4MH0gZ2FwPXtTcGFjaW5nLlMxNX0+XG4gICAgICAgIDxHcmlkLkl0ZW0gaW5pdGlhbD17MTJ9IHNtPXtcImF1dG9cIn0+XG4gICAgICAgICAgPFN0eWxlZFJlY29yZExhYmVsIHRoZW1lPXtUaGVtZUxhYmVsfT5cbiAgICAgICAgICAgIHtJY29ufVxuICAgICAgICAgICAge0xhYmVsfVxuICAgICAgICAgIDwvU3R5bGVkUmVjb3JkTGFiZWw+XG4gICAgICAgIDwvR3JpZC5JdGVtPlxuICAgICAgICA8R3JpZC5JdGVtIGluaXRpYWw9ezEyfSBzbT17XCJhdXRvXCJ9PlxuICAgICAgICAgIHtWYWx1ZX1cbiAgICAgICAgPC9HcmlkLkl0ZW0+XG4gICAgICA8L0dyaWQ+XG4gICAgPC9TdHlsZWRSZWNvcmQ+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSVJlY29yZCB9IGZyb20gXCJAL2F0b21zL3JlY29yZC9yZWNvcmQudHlwZXNcIjtcbmltcG9ydCB7IFJlY29yZCBhcyBCYXNlUmVjb3JkIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL2NvbXBvbmVudHMvcmVjb3JkXCI7XG5cbmV4cG9ydCBjb25zdCBSZWNvcmQgPSAoeyBsYWJlbCwgdmFsdWUsIHdpdGhJY29uQmVmb3JlIH06IElSZWNvcmQpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8QmFzZVJlY29yZCBsYWJlbD17bGFiZWx9IHZhbHVlPXt2YWx1ZX0gd2l0aEljb25CZWZvcmU9e3dpdGhJY29uQmVmb3JlfSAvPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJUmVjb3JkIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkL3JlY29yZC50eXBlc1wiO1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkU2tlbGV0b25TdGF0dXMsXG4gIFN0eWxlZFN0YXR1cyxcbn0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy5zdHlsZVwiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyBJU3RhdHVzQ29tcGFjdEJhc2UgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VTdGF0dXNDb21wYWN0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL2hvb2tzL3VzZS1zdGF0dXNcIjtcbmltcG9ydCB7IFN0YXR1c0N0eCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuY29udGV4dFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0NvbXBhY3QgPSAoeyBjaGlsZHJlbiB9OiBJU3RhdHVzQ29tcGFjdEJhc2UpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoU3RhdHVzQ3R4KTtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IFRoZW1lID0gdXNlU3RhdHVzQ29tcGFjdChDb21wb25lbnRDb250ZXh0LCBJc1NrZWxldG9uKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkU2tlbGV0b25TdGF0dXMgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFBsYWNlaG9sZGVyPntjaGlsZHJlbn08L1BsYWNlaG9sZGVyPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvblN0YXR1cz5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIDxTdHlsZWRTdGF0dXMgdGhlbWU9e1RoZW1lfT57Y2hpbGRyZW59PC9TdHlsZWRTdGF0dXM+O1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQge1xuICBJU3RhdHVzTGFiZWxUZXh0VGhlbWUsXG4gIElTdGF0dXNMYWJlbFRoZW1lLFxuICBJU3RhdHVzVGhlbWUsXG59IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1cyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c1RoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogOHB4O1xuICBoZWlnaHQ6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblN0YXR1cyA9IHN0eWxlZChTdHlsZWRTdGF0dXMpPHtcbiAgdGhlbWU6IElTdGF0dXNUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU3RhdHVzTGFiZWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElTdGF0dXNMYWJlbFRoZW1lIH0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xhYmVsSWNvbiA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xhYmVsVGhlbWUgfT5gXG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIHdpZHRoOiAzNHB4O1xuICBoZWlnaHQ6IDM0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xhYmVsVGV4dCA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVN0YXR1c0xhYmVsVGV4dFRoZW1lO1xufT5gXG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsID0gc3R5bGVkKFN0eWxlZFN0YXR1c0xhYmVsKTx7XG4gIHRoZW1lOiBJU3RhdHVzTGFiZWxUaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSVN0YXR1c0NvbXBhY3RUaGVtZSB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IFN0YXR1c0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVN0YXR1c0NvbXBhY3QgPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBTdGF0dXNDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSVN0YXR1c0NvbXBhY3RUaGVtZSA9PiB7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgY29uc3QgU2VuZFN0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfc2VuZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUHJvY2Vzc2luZ1N0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfcHJvY2Vzc2luZ19jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy53YXJuaW5nLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBQcm9wb3NhbFN0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfcHJvcG9zYWxfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuaW5mby50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgQWNjZXB0ZWRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX2FjY2VwdGVkX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1Y2Nlc3MudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFJlZnVzZWRTdGF0dXMgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic3RhdHVzX3JlZnVzZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuZGFuZ2VyLnRpbnRfNTAwLFxuICB9KTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlNFTkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IFNlbmRTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5QUk9DRVNTSU5HLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5mdWxsLFxuICAgICAgICBiYWNrZ3JvdW5kOiBQcm9jZXNzaW5nU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuUFJPUE9TQUwsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb3Bvc2FsU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuQUNDRVBURUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLmZ1bGwsXG4gICAgICAgIGJhY2tncm91bmQ6IEFjY2VwdGVkU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuUkVGVVNFRCxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMuZnVsbCxcbiAgICAgICAgYmFja2dyb3VuZDogUmVmdXNlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG59O1xuIiwiZXhwb3J0IGVudW0gU3RhdHVzQ29udGV4dCB7XG4gIFNFTkQgPSBcIlNFTkRcIixcbiAgUFJPQ0VTU0lORyA9IFwiUFJPQ0VTU0lOR1wiLFxuICBQUk9QT1NBTCA9IFwiUFJPUE9TQUxcIixcbiAgQUNDRVBURUQgPSBcIkFDQ0VQVEVEXCIsXG4gIFJFRlVTRUQgPSBcIlJFRlVTRURcIixcbn1cbiIsImltcG9ydCB7IFN0YXR1c0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNDdHhEZWZhdWx0OiBTdGF0dXNDb250ZXh0ID0gU3RhdHVzQ29udGV4dC5TRU5EO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgU3RhdHVzQ3R4OiBSZWFjdC5Db250ZXh0PGtleW9mIHR5cGVvZiBTdGF0dXNDb250ZXh0PiA9XG4gIGNyZWF0ZUNvbnRleHQoU3RhdHVzQ3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsLFxuICBTdHlsZWRTdGF0dXNMYWJlbCxcbiAgU3R5bGVkU3RhdHVzTGFiZWxJY29uLFxuICBTdHlsZWRTdGF0dXNMYWJlbFRleHQsXG59IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMuc3R5bGVcIjtcbmltcG9ydCB7IElTdGF0dXNCYXNlIH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgUGxhY2Vob2xkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL3BsYWNlaG9sZGVyL3BsYWNlaG9sZGVyXCI7XG5pbXBvcnQgeyB1c2VTdGF0dXMgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy1sYWJlbFwiO1xuaW1wb3J0IHsgdXNlU3RhdHVzSWNvbiB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9ob29rcy91c2Utc3RhdHVzLWljb25cIjtcbmltcG9ydCB7IHVzZVN0YXR1c1RleHQgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvaG9va3MvdXNlLXN0YXR1cy10ZXh0XCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyBTdGF0dXNDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuaW1wb3J0IHsgU3RhdHVzQ3R4IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXMgPSAoeyBsYWJlbCB9OiBJU3RhdHVzQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChTdGF0dXNDdHgpO1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWUgPSB1c2VTdGF0dXMoQ29tcG9uZW50Q29udGV4dCwgSXNTa2VsZXRvbik7XG4gIGNvbnN0IEljb25UaGVtZSA9IHVzZVN0YXR1c0ljb24oQ29tcG9uZW50Q29udGV4dCwgSXNTa2VsZXRvbik7XG4gIGNvbnN0IFRleHRUaGVtZSA9IHVzZVN0YXR1c1RleHQoQ29tcG9uZW50Q29udGV4dCwgSXNTa2VsZXRvbik7XG5cbiAgY29uc3QgaWNvbiA9IG1hdGNoKENvbXBvbmVudENvbnRleHQsIFtcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlNFTkQsXG4gICAgICA8SWNvblxuICAgICAgICB0eXBlPXtJY29uVHlwZS5SRURPfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5QUk9DRVNTSU5HLFxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17SWNvblR5cGUuSU5fUFJPQ0VTU31cbiAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIlwiXG4gICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9XG4gICAgICAvPixcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuUFJPUE9TQUwsXG4gICAgICA8SWNvblxuICAgICAgICB0eXBlPXtJY29uVHlwZS5DT01NRU5UfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgIC8+LFxuICAgIF0sXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5BQ0NFUFRFRCxcbiAgICAgIDxJY29uXG4gICAgICAgIHR5cGU9e0ljb25UeXBlLlJFRE99XG4gICAgICAgIHNjcmVlblJlYWRlclRleHQ9XCJcIlxuICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgLz4sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlJFRlVTRUQsXG4gICAgICA8SWNvblxuICAgICAgICB0eXBlPXtJY29uVHlwZS5SRURPfVxuICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PVwiXCJcbiAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgIC8+LFxuICAgIF0sXG4gIF0pO1xuXG4gIGlmIChJc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRTdGF0dXNMYWJlbEljb24gdGhlbWU9e0ljb25UaGVtZX0+XG4gICAgICAgICAgPFBsYWNlaG9sZGVyPlxuICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgdHlwZT17SWNvblR5cGUuUkVET31cbiAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIlwiXG4gICAgICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1BsYWNlaG9sZGVyPlxuICAgICAgICA8L1N0eWxlZFN0YXR1c0xhYmVsSWNvbj5cbiAgICAgICAgPFN0eWxlZFN0YXR1c0xhYmVsVGV4dCB0aGVtZT17VGV4dFRoZW1lfT5cbiAgICAgICAgICA8UGxhY2Vob2xkZXI+e2xhYmVsfTwvUGxhY2Vob2xkZXI+XG4gICAgICAgIDwvU3R5bGVkU3RhdHVzTGFiZWxUZXh0PlxuICAgICAgPC9TdHlsZWRTa2VsZXRvblN0YXR1c0xhYmVsPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRTdGF0dXNMYWJlbCB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFN0YXR1c0xhYmVsSWNvbiB0aGVtZT17SWNvblRoZW1lfT57aWNvbn08L1N0eWxlZFN0YXR1c0xhYmVsSWNvbj5cbiAgICAgIDxTdHlsZWRTdGF0dXNMYWJlbFRleHQgdGhlbWU9e1RleHRUaGVtZX0+e2xhYmVsfTwvU3R5bGVkU3RhdHVzTGFiZWxUZXh0PlxuICAgIDwvU3R5bGVkU3RhdHVzTGFiZWw+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgU3RhdHVzQ29udGV4dCB9IGZyb20gXCIuLi9zdGF0dXMuZW51bXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lUmFkaXVzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJU3RhdHVzVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVN0YXR1cyA9IChcbiAgY29udGV4dDoga2V5b2YgdHlwZW9mIFN0YXR1c0NvbnRleHQsXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJU3RhdHVzVGhlbWUgPT4ge1xuICBjb25zdCBSYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBpc1NrZWxldG9uID8gU2tlbGV0b25CZyA6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gIH07XG59O1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgSVN0YXR1c0ljb25UaGVtZSB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9zdGF0dXMudHlwZXNcIjtcbmltcG9ydCB7IFN0YXR1c0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVN0YXR1c0ljb24gPSAoXG4gIGNvbnRleHQ6IGtleW9mIHR5cGVvZiBTdGF0dXNDb250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSVN0YXR1c0ljb25UaGVtZSA9PiB7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBTa2VsZXRvbkJnID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNjAwLFxuICB9KTtcblxuICBjb25zdCBTZW5kU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19zZW5kX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBQcm9jZXNzaW5nU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19wcm9jZXNzaW5nX2NvbG9yXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLndhcm5pbmcudGludF81MDAsXG4gIH0pO1xuXG4gIGNvbnN0IFByb3Bvc2FsU3RhdHVzID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInN0YXR1c19wcm9wb3NhbF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5pbmZvLnRpbnRfNTAwLFxuICB9KTtcblxuICBjb25zdCBBY2NlcHRlZFN0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfYWNjZXB0ZWRfY29sb3JcIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VjY2Vzcy50aW50XzUwMCxcbiAgfSk7XG5cbiAgY29uc3QgUmVmdXNlZFN0YXR1cyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJzdGF0dXNfcmVmdXNlZF9jb2xvclwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5kYW5nZXIudGludF81MDAsXG4gIH0pO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgYmFja2dyb3VuZDogU2tlbGV0b25CZyxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIG1hdGNoKGNvbnRleHQsIFtcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlNFTkQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBTZW5kU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuUFJPQ0VTU0lORyxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQgKyBcIiAwIDAgXCIgKyBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb2Nlc3NpbmdTdGF0dXMsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgU3RhdHVzQ29udGV4dC5QUk9QT1NBTCxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQgKyBcIiAwIDAgXCIgKyBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IFByb3Bvc2FsU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFtcbiAgICAgIFN0YXR1c0NvbnRleHQuQUNDRVBURUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBBY2NlcHRlZFN0YXR1cyxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICBTdGF0dXNDb250ZXh0LlJFRlVTRUQsXG4gICAgICB7XG4gICAgICAgIHJhZGl1czogUmFkaXVzLm1kICsgXCIgMCAwIFwiICsgUmFkaXVzLm1kLFxuICAgICAgICBiYWNrZ3JvdW5kOiBSZWZ1c2VkU3RhdHVzLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IElTdGF0dXNUZXh0VGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXMvc3RhdHVzLnR5cGVzXCI7XG5pbXBvcnQgeyBTdGF0dXNDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VTdGF0dXNUZXh0ID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgU3RhdHVzQ29udGV4dCxcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElTdGF0dXNUZXh0VGhlbWUgPT4ge1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgcmV0dXJuIHtcbiAgICBwYWRkaW5nOiBcIjAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCI0XCJdLFxuICB9O1xufTtcbiIsImltcG9ydCB7IElTdGF0dXMsIElTdGF0dXNDb21wYWN0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuaW1wb3J0IHsgU3RhdHVzQ29tcGFjdCBhcyBCYXNlU3RhdHVzQ29tcGFjdCB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9jb21wb25lbnRzL3N0YXR1c19jb21wYWN0XCI7XG5pbXBvcnQgeyBTdGF0dXMgYXMgQmFzZVN0YXR1cyB9IGZyb20gXCJAL2F0b21zL3N0YXR1cy9jb21wb25lbnRzL3N0YXR1c1wiO1xuaW1wb3J0IHsgU3RhdHVzQ3R4LCBTdGF0dXNDdHhEZWZhdWx0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy5jb250ZXh0XCI7XG5pbXBvcnQgeyBTdGF0dXNDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgU3RhdHVzQ29tcGFjdCA9ICh7IGNvbnRleHQgfTogSVN0YXR1c0NvbXBhY3QpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IGNvbnRleHQgPyBjb250ZXh0IDogU3RhdHVzQ3R4RGVmYXVsdDtcblxuICByZXR1cm4gKFxuICAgIDxTdGF0dXNDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgPEJhc2VTdGF0dXNDb21wYWN0IC8+XG4gICAgPC9TdGF0dXNDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgY29uc3QgU3RhdHVzID0gKHsgY29udGV4dCwgbGFiZWwgfTogSVN0YXR1cykgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBTdGF0dXNDdHhEZWZhdWx0O1xuXG4gIHJldHVybiAoXG4gICAgPFN0YXR1c0N0eC5Qcm92aWRlciB2YWx1ZT17Q29tcG9uZW50Q29udGV4dH0+XG4gICAgICA8QmFzZVN0YXR1cyBsYWJlbD17bGFiZWx9IC8+XG4gICAgPC9TdGF0dXNDdHguUHJvdmlkZXI+XG4gICk7XG59O1xuXG5leHBvcnQgeyBTdGF0dXNDb250ZXh0IH07XG5leHBvcnQgdHlwZSB7IElTdGF0dXMsIElTdGF0dXNDb21wYWN0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzL3N0YXR1cy50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7XG4gIElUZXJtRGVzY3JpcHRpb25UaGVtZSxcbiAgSVRlcm1GcmFtZVRoZW1lLFxuICBJVGVybUxhYmVsVGhlbWUsXG4gIElUZXJtVGhlbWUsXG59IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVRlcm1UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1GcmFtZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gcHJvcCAhPT0gXCJ0aGVtZVwiLFxufSk8eyB0aGVtZTogSVRlcm1GcmFtZVRoZW1lIH0+YFxuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUubWFyZ2lufTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIC8qIFlvdXIgc3R5bGluZyBoZXJlIGlmIGFueSAqL1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1MYWJlbCA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gcHJvcCAhPT0gXCJ0aGVtZVwiLFxufSk8eyB0aGVtZTogSVRlcm1MYWJlbFRoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybURlc2NyaXB0aW9uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJVGVybURlc2NyaXB0aW9uVGhlbWU7XG59PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIG1hcmdpbjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1hcmdpbn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25UZXJtRGVzY3JpcHRpb24gPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElUZXJtRGVzY3JpcHRpb25UaGVtZTtcbn0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblRlcm0gPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElUZXJtVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgZGlzcGxheTogZmxleDtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCB7IElUZXJtVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVRlcm0gPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElUZXJtVGhlbWUgPT4ge1xuICBjb25zdCBGb250ID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG5cbiAgcmV0dXJuIHtcbiAgICBmb250OiBGb250LnByaW1hcnkubWQubm9ybWFsLFxuICB9O1xufTtcbiIsImltcG9ydCB7IElUZXJtRnJhbWVUaGVtZSB9IGZyb20gXCJAL2F0b21zL3Rlcm0vdGVybS50eXBlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWVVdGlsaXR5IH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCBjb25zdCB1c2VUZXJtRnJhbWUgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElUZXJtRnJhbWVUaGVtZSA9PiB7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcbiAgY29uc3QgTWFyZ2luID0gXCIwIFwiICsgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArIFwiIDAgMFwiO1xuXG4gIHJldHVybiB7XG4gICAgbWFyZ2luOiBNYXJnaW4sXG4gIH07XG59O1xuIiwiaW1wb3J0IHsgSVRlcm1MYWJlbFRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVV0aWxpdHkgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVRlcm1MYWJlbCA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVRlcm1MYWJlbFRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3QgTWFyZ2luID1cbiAgICBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdICtcbiAgICBcIiBcIiArXG4gICAgVXRpbGl0eS5zcGFjaW5nW1wiMlwiXSArXG4gICAgXCIgXCIgK1xuICAgIFV0aWxpdHkuc3BhY2luZ1tcIjJcIl0gK1xuICAgIFwiIFwiICtcbiAgICBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdO1xuXG4gIHJldHVybiB7XG4gICAgbWFyZ2luOiBNYXJnaW4sXG4gICAgZm9udDogRm9udC5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgfTtcbn07XG4iLCJpbXBvcnQgeyBJVGVybURlc2NyaXB0aW9uVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMsIHVzZVRoZW1lVXRpbGl0eSB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlVGVybURlc2NyaXB0aW9uID0gKFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSVRlcm1EZXNjcmlwdGlvblRoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG4gIGNvbnN0IE1hcmdpbiA9IFwiMCAwIDAgXCIgKyBVdGlsaXR5LnNwYWNpbmdbXCIyXCJdO1xuXG4gIHJldHVybiB7XG4gICAgYmFja2dyb3VuZDogXCJ0cmFuc3BhcmVudFwiLFxuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgbWFyZ2luOiBNYXJnaW4sXG4gIH07XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVRlcm1CYXNlIH0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRTa2VsZXRvblRlcm0sXG4gIFN0eWxlZFNrZWxldG9uVGVybURlc2NyaXB0aW9uLFxuICBTdHlsZWRUZXJtLFxuICBTdHlsZWRUZXJtQ29udGVudCxcbiAgU3R5bGVkVGVybURlc2NyaXB0aW9uLFxuICBTdHlsZWRUZXJtRnJhbWUsXG4gIFN0eWxlZFRlcm1MYWJlbCxcbn0gZnJvbSBcIkAvYXRvbXMvdGVybS90ZXJtLnN0eWxlXCI7XG5cbmltcG9ydCB7IHVzZVRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtXCI7XG5pbXBvcnQgeyB1c2VUZXJtRnJhbWUgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWZyYW1lXCI7XG5pbXBvcnQgeyB1c2VUZXJtTGFiZWwgfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWxhYmVsXCI7XG5pbXBvcnQgeyB1c2VUZXJtRGVzY3JpcHRpb24gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2hvb2tzL3VzZS10ZXJtLWRlc2NyaXB0aW9uXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgVGVybSA9ICh7IGxhYmVsLCBkZXNjcmlwdGlvbiwgZnJhbWUgfTogSVRlcm1CYXNlKSA9PiB7XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcblxuICBjb25zdCBUaGVtZSA9IHVzZVRlcm0oSXNTa2VsZXRvbik7XG4gIGNvbnN0IFRoZW1lRnJhbWUgPSB1c2VUZXJtRnJhbWUoSXNTa2VsZXRvbik7XG4gIGNvbnN0IFRoZW1lTGFiZWwgPSB1c2VUZXJtTGFiZWwoSXNTa2VsZXRvbik7XG4gIGNvbnN0IFRoZW1lRGVzY3JpcHRpb24gPSB1c2VUZXJtRGVzY3JpcHRpb24oSXNTa2VsZXRvbik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uVGVybSB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkVGVybUZyYW1lIHRoZW1lPXtUaGVtZUZyYW1lfT57ZnJhbWV9PC9TdHlsZWRUZXJtRnJhbWU+XG4gICAgICAgIDxTdHlsZWRUZXJtQ29udGVudD5cbiAgICAgICAgICA8U3R5bGVkVGVybUxhYmVsIHRoZW1lPXtUaGVtZUxhYmVsfT57bGFiZWx9PC9TdHlsZWRUZXJtTGFiZWw+XG4gICAgICAgICAgPFN0eWxlZFNrZWxldG9uVGVybURlc2NyaXB0aW9uIHRoZW1lPXtUaGVtZURlc2NyaXB0aW9ufT5cbiAgICAgICAgICAgIHtkZXNjcmlwdGlvbn1cbiAgICAgICAgICA8L1N0eWxlZFNrZWxldG9uVGVybURlc2NyaXB0aW9uPlxuICAgICAgICA8L1N0eWxlZFRlcm1Db250ZW50PlxuICAgICAgPC9TdHlsZWRTa2VsZXRvblRlcm0+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFRlcm0gdGhlbWU9e1RoZW1lfT5cbiAgICAgIDxTdHlsZWRUZXJtRnJhbWUgdGhlbWU9e1RoZW1lRnJhbWV9PntmcmFtZX08L1N0eWxlZFRlcm1GcmFtZT5cbiAgICAgIDxTdHlsZWRUZXJtQ29udGVudD5cbiAgICAgICAgPFN0eWxlZFRlcm1MYWJlbCB0aGVtZT17VGhlbWVMYWJlbH0+e2xhYmVsfTwvU3R5bGVkVGVybUxhYmVsPlxuICAgICAgICA8U3R5bGVkVGVybURlc2NyaXB0aW9uIHRoZW1lPXtUaGVtZURlc2NyaXB0aW9ufT5cbiAgICAgICAgICB7ZGVzY3JpcHRpb259XG4gICAgICAgIDwvU3R5bGVkVGVybURlc2NyaXB0aW9uPlxuICAgICAgPC9TdHlsZWRUZXJtQ29udGVudD5cbiAgICA8L1N0eWxlZFRlcm0+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSVRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcbmltcG9ydCB7IFRlcm0gYXMgQmFzZVRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL2NvbXBvbmVudHMvdGVybVwiO1xuXG5leHBvcnQgY29uc3QgVGVybSA9ICh7IGxhYmVsLCBkZXNjcmlwdGlvbiwgZnJhbWUgfTogSVRlcm0pID0+IHtcbiAgcmV0dXJuIDxCYXNlVGVybSBsYWJlbD17bGFiZWx9IGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gZnJhbWU9e2ZyYW1lfSAvPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSVRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtL3Rlcm0udHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbCA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDEwcHggOHB4IHJnYigwIDAgMCAvIDAuMDQpKVxuICAgIGRyb3Atc2hhZG93KDAgNHB4IDNweCByZ2IoMCAwIDAgLyAwLjEpKTtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxJbm5lciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiAjZWI3MzIyO1xuICB3aWR0aDogMTZweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB6LWluZGV4OiAxO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxPdXRlciA9IHN0eWxlZC5zcGFuPHt9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIzNSwgMTE1LCAzNCwgMC4yMik7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB6LWluZGV4OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGFuaW1hdGlvbjogcGluZyAxcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKSBpbmZpbml0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbFdyYXBwZXIgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsTGFiZWwgPSBzdHlsZWQuc3Bhbjx7XG4gIGZvbnQ6IHN0cmluZztcbn0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogY2FsYygxMDAlICsgNXB4KTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNlYjczMjI7XG4gIG1pbi13aWR0aDogNzVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDEwcHggMTVweCAtM3B4IHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCA0cHggNnB4IC00cHggcmdiKDAgMCAwIC8gMC4xKTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLmZvbnR9O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRlcm1pbmFsTGFiZWxDb250ZW50ID0gc3R5bGVkLnNwYW48e30+YFxuICBwYWRkaW5nOiA1cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUZXJtaW5hbExhYmVsQXJyb3cgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIGJvcmRlci1ib3R0b206IDhweCBzb2xpZCAjZWI3MzIyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTVweDtcbiAgbGVmdDogY2FsYyg1MCUgLSA4cHgpO1xuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXItdG9wOiA4cHggc29saWQgI2ViNzMyMjtcbiAgICBib3JkZXItbGVmdDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogOHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkVGVybWluYWxTaGFkb3cgPSBzdHlsZWQuc3Bhbjx7fT5gXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAzcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMHB4O1xuICBiYWNrZ3JvdW5kOiAjODY4Njg2O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBtYXJnaW46IGF1dG87XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBoZWlnaHQ6IDEwcHg7XG4gIHotaW5kZXg6IC0xO1xuICBmaWx0ZXI6IGJsdXIoNHB4KTtcbmA7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJVGVybWluYWxCYXNlIH0gZnJvbSBcIkAvYXRvbXMvdGVybWluYWwvdGVybWluYWwudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZFRlcm1pbmFsLFxuICBTdHlsZWRUZXJtaW5hbElubmVyLFxuICBTdHlsZWRUZXJtaW5hbE91dGVyLFxuICBTdHlsZWRUZXJtaW5hbFNoYWRvdyxcbiAgU3R5bGVkVGVybWluYWxXcmFwcGVyLFxufSBmcm9tIFwiQC9hdG9tcy90ZXJtaW5hbC90ZXJtaW5hbC5zdHlsZVwiO1xuXG5leHBvcnQgY29uc3QgVGVybWluYWwgPSAoe306IElUZXJtaW5hbEJhc2UpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVGVybWluYWxXcmFwcGVyPlxuICAgICAgPFN0eWxlZFRlcm1pbmFsPlxuICAgICAgICA8U3R5bGVkVGVybWluYWxJbm5lciAvPlxuICAgICAgICA8U3R5bGVkVGVybWluYWxPdXRlciAvPlxuICAgICAgPC9TdHlsZWRUZXJtaW5hbD5cbiAgICAgIDxTdHlsZWRUZXJtaW5hbFNoYWRvdz48L1N0eWxlZFRlcm1pbmFsU2hhZG93PlxuICAgIDwvU3R5bGVkVGVybWluYWxXcmFwcGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFRlcm1pbmFsIGFzIEJhc2VUZXJtaW5hbCB9IGZyb20gXCIuL2NvbXBvbmVudHMvdGVybWluYWxcIjtcbmltcG9ydCB7IElUZXJtaW5hbCB9IGZyb20gXCJAL2F0b21zL3Rlcm1pbmFsL3Rlcm1pbmFsLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBUZXJtaW5hbCA9ICh7fTogSVRlcm1pbmFsKSA9PiB7XG4gIHJldHVybiA8QmFzZVRlcm1pbmFsIC8+O1xufTtcblxuZXhwb3J0IHR5cGUgeyBJVGVybWluYWwgfSBmcm9tIFwiQC9hdG9tcy90ZXJtaW5hbC90ZXJtaW5hbC50eXBlc1wiO1xuIiwiaW1wb3J0IHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSVllc05vVGhlbWUsIFllc05vVGhlbWVhYmxlUHJvcHMgfSBmcm9tIFwiLi4veWVzX25vLnR5cGVzXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCwgSWNvblNpemUsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VZZXNOb1RoZW1lIH0gZnJvbSBcIi4uL2hvb2tzL3VzZS15ZXMtbm9cIjtcbmltcG9ydCB7XG4gIFN0eWxlZFZpc3VhbCxcbiAgU3R5bGVkVmlzdWFsQ29udGFpbmVyLFxuICBTdHlsZWRZZXNObyxcbiAgU3R5bGVkWWVzTm9Db250YWluZXIsXG4gIFN0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24sXG4gIFN0eWxlZFllc05vTGFiZWwsXG4gIFN0eWxlZFllc05vTGFiZWxTa2VsZXRvbixcbiAgU3R5bGVkWWVzTm9WaXN1YWxTa2VsZXRvbixcbiAgU3R5bGVkWWVzTm9XcmFwcGVyLFxufSBmcm9tIFwiLi4veWVzX25vLnN0eWxlXCI7XG5pbXBvcnQgeyBGcmFtZSB9IGZyb20gXCIuLi8uLi9mcmFtZVwiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IENvbG9yVmFyaWFudCB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgRmlndXJlIH0gZnJvbSBcIkAvdWkvZmlndXJlXCI7XG5pbXBvcnQgeyBGaWd1cmVTaXplLCBGaWd1cmVUeXBlIH0gZnJvbSBcIkAvdWkvZmlndXJlL2ZpZ3VyZS5lbnVtc1wiO1xuaW1wb3J0IHsgWWVzTm9DdHggfSBmcm9tIFwiQC9hdG9tcy95ZXNfbm8veWVzX25vLmNvbnRleHRcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQgeyBZZXNOb0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy95ZXNfbm9cIjtcblxuZXhwb3J0IGNvbnN0IFllc05vID0gKHtcbiAgb25DaGFuZ2UsXG4gIGFyaWFZZXNMYWJlbCxcbiAgYXJpYU5vTGFiZWwsXG4gIHllc0xhYmVsLFxuICBub0xhYmVsLFxuICBuYW1lLFxuICBkZWZhdWx0Q2hlY2tlZCxcbn06IFllc05vVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgQ29tcG9uZW50Q29udGV4dCA9IHVzZUNvbnRleHQoWWVzTm9DdHgpO1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWU6IElZZXNOb1RoZW1lID0gdXNlWWVzTm9UaGVtZShDb21wb25lbnRDb250ZXh0LCBpc1NrZWxldG9uKTtcbiAgY29uc3QgaXNEaXNhYmxlZCA9IENvbXBvbmVudENvbnRleHQgPT09IFllc05vQ29udGV4dC5ESVNBQkxFRDtcbiAgY29uc3QgW3llc09yTm8sIHNldFllc09yTm9dID0gdXNlU3RhdGU8Ym9vbGVhbiB8IHVuZGVmaW5lZD4oZGVmYXVsdENoZWNrZWQpO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKG9uQ2hhbmdlKSB7XG4gICAgICBvbkNoYW5nZSh5ZXNPck5vIGFzIGJvb2xlYW4pO1xuICAgIH1cbiAgfSwgW3llc09yTm9dKTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkWWVzTm9XcmFwcGVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIDxTdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPFN0eWxlZFllc05vVmlzdWFsU2tlbGV0b24gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgICAgIDxTdHlsZWRZZXNOb0xhYmVsU2tlbGV0b24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICAgIHt5ZXNMYWJlbH1cbiAgICAgICAgICA8L1N0eWxlZFllc05vTGFiZWxTa2VsZXRvbj5cbiAgICAgICAgPC9TdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uPlxuICAgICAgICA8U3R5bGVkWWVzTm9Db250YWluZXJTa2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxTdHlsZWRZZXNOb1Zpc3VhbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgICA8U3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICB7bm9MYWJlbH1cbiAgICAgICAgICA8L1N0eWxlZFllc05vTGFiZWxTa2VsZXRvbj5cbiAgICAgICAgPC9TdHlsZWRZZXNOb0NvbnRhaW5lclNrZWxldG9uPlxuICAgICAgPC9TdHlsZWRZZXNOb1dyYXBwZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFllc05vV3JhcHBlciB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFllc05vQ29udGFpbmVyICRpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfSB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkWWVzTm9cbiAgICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYVllc0xhYmVsfVxuICAgICAgICAgIHZhbHVlPXsxfVxuICAgICAgICAgIGNoZWNrZWQ9e3llc09yTm8gPT09IHRydWV9XG4gICAgICAgICAgb25DaGFuZ2U9eygpID0+IHNldFllc09yTm8odHJ1ZSl9XG4gICAgICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgICAvPlxuICAgICAgICA8U3R5bGVkVmlzdWFsQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgPEZyYW1lXG4gICAgICAgICAgICB0aW50PXtDb2xvclZhcmlhbnQuVElOVF8yMDB9XG4gICAgICAgICAgICBhcm91bmQ9e1xuICAgICAgICAgICAgICA8RmlndXJlXG4gICAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17eWVzTGFiZWx9XG4gICAgICAgICAgICAgICAgc2l6ZT17RmlndXJlU2l6ZS5TTUFMTH1cbiAgICAgICAgICAgICAgICB0eXBlPXtGaWd1cmVUeXBlLllFU31cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIDxTdHlsZWRWaXN1YWwgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkNIRUNLfVxuICAgICAgICAgICAgICBzaXplPXtJY29uU2l6ZS5NRURJVU19XG4gICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e3llc0xhYmVsfVxuICAgICAgICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5MSUdIVH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TdHlsZWRWaXN1YWw+XG4gICAgICAgIDwvU3R5bGVkVmlzdWFsQ29udGFpbmVyPlxuICAgICAgICA8U3R5bGVkWWVzTm9MYWJlbCB0aGVtZT17VGhlbWV9Pnt5ZXNMYWJlbH08L1N0eWxlZFllc05vTGFiZWw+XG4gICAgICA8L1N0eWxlZFllc05vQ29udGFpbmVyPlxuICAgICAgPFN0eWxlZFllc05vQ29udGFpbmVyICRpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfSB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkWWVzTm9cbiAgICAgICAgICBkaXNhYmxlZD17aXNEaXNhYmxlZH1cbiAgICAgICAgICBhcmlhLWRpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgIG5hbWU9e25hbWV9XG4gICAgICAgICAgYXJpYS1sYWJlbD17YXJpYU5vTGFiZWx9XG4gICAgICAgICAgdmFsdWU9ezB9XG4gICAgICAgICAgb25DaGFuZ2U9eygpID0+IHNldFllc09yTm8oZmFsc2UpfVxuICAgICAgICAgIGNoZWNrZWQ9e3llc09yTm8gPT09IGZhbHNlfVxuICAgICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgICAgLz5cbiAgICAgICAgPFN0eWxlZFZpc3VhbENvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxGcmFtZVxuICAgICAgICAgICAgdGludD17Q29sb3JWYXJpYW50LlRJTlRfMjAwfVxuICAgICAgICAgICAgYXJvdW5kPXtcbiAgICAgICAgICAgICAgPEZpZ3VyZVxuICAgICAgICAgICAgICAgIHNjcmVlblJlYWRlclRleHQ9e25vTGFiZWx9XG4gICAgICAgICAgICAgICAgc2l6ZT17RmlndXJlU2l6ZS5TTUFMTH1cbiAgICAgICAgICAgICAgICB0eXBlPXtGaWd1cmVUeXBlLk5PfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8+XG4gICAgICAgICAgPFN0eWxlZFZpc3VhbCB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAgPEljb25cbiAgICAgICAgICAgICAgdHlwZT17SWNvblR5cGUuQ0hFQ0t9XG4gICAgICAgICAgICAgIHNpemU9e0ljb25TaXplLk1FRElVTX1cbiAgICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17eWVzTGFiZWx9XG4gICAgICAgICAgICAgIGNvbnRleHQ9e0ljb25Db250ZXh0LkxJR0hUfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1N0eWxlZFZpc3VhbD5cbiAgICAgICAgPC9TdHlsZWRWaXN1YWxDb250YWluZXI+XG4gICAgICAgIDxTdHlsZWRZZXNOb0xhYmVsIHRoZW1lPXtUaGVtZX0+e25vTGFiZWx9PC9TdHlsZWRZZXNOb0xhYmVsPlxuICAgICAgPC9TdHlsZWRZZXNOb0NvbnRhaW5lcj5cbiAgICA8L1N0eWxlZFllc05vV3JhcHBlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgWWVzTm9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMveWVzX25vL3llc19uby5lbnVtc1wiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgSVllc05vVGhlbWUgfSBmcm9tIFwiLi4veWVzX25vLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VZZXNOb1RoZW1lID0gKFxuICBjb250ZXh0OiBrZXlvZiB0eXBlb2YgWWVzTm9Db250ZXh0LFxuICBpc1NrZWxldG9uOiBib29sZWFuLFxuKTogSVllc05vVGhlbWUgPT4ge1xuICBjb25zdCBDb2xvcnMgPSB1c2VUaGVtZUNvbG9yKCk7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCByYWRpdXMgPSB1c2VUaGVtZVJhZGl1cygpO1xuICBjb25zdCB1dGlsID0gdXNlVGhlbWVVdGlsaXR5KCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBlcnJvckJvcmRlckNvbG9yID0gQ29sb3JzLmRhbmdlci50aW50XzUwMDtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBob3Zlcjoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5uZXV0cmFscy50aW50XzQwMCxcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgY29udGVudDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBnYXA6IHV0aWwuc3BhY2luZ1syXSxcbiAgfTtcblxuICBjb25zdCBFcnJvciA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgZXJyb3JCb3JkZXJDb2xvcixcbiAgICAgIGNvbnRlbnQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF81MCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBlcnJvckJvcmRlckNvbG9yLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfNTAsXG4gICAgfSxcbiAgICBjaGVja2VkOiB7XG4gICAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfODAwLFxuICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICB9LFxuICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgIHJhZGl1czogcmFkaXVzLmxnLFxuICAgIHZpc3VhbFJhZGl1czogcmFkaXVzLm1kLFxuICAgIGdhcDogdXRpbC5zcGFjaW5nWzJdLFxuICB9O1xuXG4gIGNvbnN0IERpc2FibGVkID0ge1xuICAgIGluaXRpYWw6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgaG92ZXI6IHtcbiAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMubmV1dHJhbHMudGludF8yMDAsXG4gICAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLm5ldXRyYWxzLnRpbnRfNDAwLFxuICAgICAgY29udGVudDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfMjAwLFxuICAgIH0sXG4gICAgY2hlY2tlZDoge1xuICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5uZXV0cmFscy50aW50XzUwMCxcbiAgICAgIGJvcmRlcjogXCIxcHggc29saWQgXCIgKyBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgICBjb250ZW50OiBDb2xvcnMubmV1dHJhbHMudGludF81MDAsXG4gICAgfSxcbiAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICByYWRpdXM6IHJhZGl1cy5sZyxcbiAgICB2aXN1YWxSYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBnYXA6IHV0aWwuc3BhY2luZ1syXSxcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBpbml0aWFsOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGhvdmVyOiB7XG4gICAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgYm9yZGVyOiBcIjJweCBzb2xpZCBcIiArIHNrZWxldG9uQmdDb2xvcixcbiAgICAgIGNvbnRlbnQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICB9LFxuICAgIGNoZWNrZWQ6IHtcbiAgICAgIGNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICBib3JkZXI6IFwiMnB4IHNvbGlkIFwiICsgc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgY29udGVudDogc2tlbGV0b25CZ0NvbG9yLFxuICAgIH0sXG4gICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgcmFkaXVzOiByYWRpdXMubGcsXG4gICAgdmlzdWFsUmFkaXVzOiByYWRpdXMubWQsXG4gICAgZ2FwOiB1dGlsLnNwYWNpbmdbMl0sXG4gIH07XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gU2tlbGV0b247XG4gIH1cblxuICByZXR1cm4gbWF0Y2goY29udGV4dCwgW1xuICAgIFtZZXNOb0NvbnRleHQuU1RBTkRBUkQsIFN0YW5kYXJkXSxcbiAgICBbWWVzTm9Db250ZXh0LkVSUk9SLCBFcnJvcl0sXG4gICAgW1llc05vQ29udGV4dC5ESVNBQkxFRCwgRGlzYWJsZWRdLFxuICBdKTtcbn07XG4iLCJleHBvcnQgZW51bSBZZXNOb0NvbnRleHQge1xuICBTVEFOREFSRCA9IFwiU1RBTkRBUkRcIixcbiAgRElTQUJMRUQgPSBcIkRJU0FCTEVEXCIsXG4gIEVSUk9SID0gXCJFUlJPUlwiLFxufVxuIiwiaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElZZXNOb1RoZW1lIH0gZnJvbSBcIi4veWVzX25vLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNObyA9IHN0eWxlZC5pbnB1dC5hdHRycyh7IHR5cGU6IFwiUmFkaW9cIiB9KTx7XG4gIHRoZW1lOiBJWWVzTm9UaGVtZTtcbn0+YFxuICBhcHBlYXJhbmNlOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJjpjaGVja2VkIH4gc3BhbiB7XG4gICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5ib3JkZXJ9ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jaGVja2VkLmNvbG9yfTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbiAgJjpjaGVja2VkIH4gZGl2ID4gOmxhc3QtY2hpbGQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb0NvbnRhaW5lciA9IHN0eWxlZC5sYWJlbDx7XG4gICRpc0Rpc2FibGVkOiBib29sZWFuO1xuICB0aGVtZTogSVllc05vVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICR7KHByb3BzKSA9PlxuICAgICFwcm9wcy4kaXNEaXNhYmxlZCAmJlxuICAgIGNzc2BcbiAgICAgICY6aG92ZXIgPiBzcGFuIHtcbiAgICAgICAgYm9yZGVyOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaG92ZXIuYm9yZGVyfTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgfVxuICAgIGB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9MYWJlbCA9IHN0eWxlZC5zcGFuPHsgdGhlbWU6IElZZXNOb1RoZW1lIH0+YFxuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5jb2xvcn07XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYm9yZGVyfTtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBwYWRkaW5nLWxlZnQ6IDY4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbiAgbWluLWhlaWdodDogNThweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWxDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElZZXNOb1RoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRWaXN1YWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElZZXNOb1RoZW1lIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS52aXN1YWxSYWRpdXN9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY2hlY2tlZC5iYWNrZ3JvdW5kfTtcbiAgaW5zZXQ6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vQ29udGFpbmVyU2tlbGV0b24gPSBzdHlsZWQubGFiZWw8e1xuICB0aGVtZTogSVllc05vVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBib3JkZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJvcmRlcn07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFllc05vV3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVllc05vVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZ2FwfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRZZXNOb1Zpc3VhbFNrZWxldG9uID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWWVzTm9UaGVtZSB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudmlzdWFsUmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWWVzTm9MYWJlbFNrZWxldG9uID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSVllc05vVGhlbWUgfT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIG1hcmdpbi1sZWZ0OiA2MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyAvKiBTYWZhcmkgKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lOyAvKiBJRSAxMCBhbmQgSUUgMTEgKi9cbiAgdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFN0YW5kYXJkIHN5bnRheCAqL1xuYDtcbiIsImltcG9ydCB7IFllc05vQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL3llc19uby95ZXNfbm8uZW51bXNcIjtcbmltcG9ydCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IFllc05vQ3R4RGVmYXVsdDogWWVzTm9Db250ZXh0ID0gWWVzTm9Db250ZXh0LlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgWWVzTm9DdHg6IFJlYWN0LkNvbnRleHQ8Q29udGV4dD4gPSBjcmVhdGVDb250ZXh0KFllc05vQ3R4RGVmYXVsdCk7XG4iLCJpbXBvcnQgeyBZZXNObyBhcyBZZXNOb0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMveWVzX25vXCI7XG5pbXBvcnQgeyBZZXNOb0N0eCwgWWVzTm9DdHhEZWZhdWx0IH0gZnJvbSBcIkAvYXRvbXMveWVzX25vL3llc19uby5jb250ZXh0XCI7XG5pbXBvcnQgeyBZZXNOb0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy95ZXNfbm8veWVzX25vLmVudW1zXCI7XG5pbXBvcnQgeyBJWWVzTm8gfSBmcm9tIFwiQC9hdG9tcy95ZXNfbm8veWVzX25vLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBZZXNObyA9ICh7XG4gIGNvbnRleHQsXG4gIG9uQ2hhbmdlLFxuICBhcmlhWWVzTGFiZWwsXG4gIGFyaWFOb0xhYmVsLFxuICB5ZXNMYWJlbCxcbiAgbm9MYWJlbCxcbiAgbmFtZSxcbiAgZGVmYXVsdENoZWNrZWQsXG59OiBJWWVzTm8pID0+IHtcbiAgY29uc3QgWWVzTm9Db250ZXh0ID0gY29udGV4dCA/IGNvbnRleHQgOiBZZXNOb0N0eERlZmF1bHQ7XG5cbiAgcmV0dXJuIChcbiAgICA8WWVzTm9DdHguUHJvdmlkZXIgdmFsdWU9e1llc05vQ29udGV4dH0+XG4gICAgICA8WWVzTm9Db21wb25lbnRcbiAgICAgICAgbmFtZT17bmFtZX1cbiAgICAgICAgeWVzTGFiZWw9e3llc0xhYmVsfVxuICAgICAgICBub0xhYmVsPXtub0xhYmVsfVxuICAgICAgICBhcmlhWWVzTGFiZWw9e2FyaWFZZXNMYWJlbH1cbiAgICAgICAgYXJpYU5vTGFiZWw9e2FyaWFOb0xhYmVsfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIGRlZmF1bHRDaGVja2VkPXtkZWZhdWx0Q2hlY2tlZH1cbiAgICAgIC8+XG4gICAgPC9ZZXNOb0N0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbmV4cG9ydCB7IFllc05vQ29udGV4dCB9O1xuZXhwb3J0IHR5cGUgeyBJWWVzTm8gfSBmcm9tIFwiQC9hdG9tcy95ZXNfbm8veWVzX25vLnR5cGVzXCI7XG4iLCJleHBvcnQgZW51bSBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQge1xuICBPUEVOID0gXCJPUEVOXCIsXG4gIENMT1NFRCA9IFwiQ0xPU0VEXCIsXG59XG4iLCJpbXBvcnQgeyBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgSUNvbXBhY3ROYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb21wYWN0TmF2aWdhdGlvbiBhcyBDb21wYWN0TmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcG9uZW50cy9jb21wYWN0X25hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIENvbXBhY3ROYXZpZ2F0aW9uQ3R4LFxuICBDb21wYWN0TmF2aWdhdGlvbkN0eERlZmF1bHQsXG59IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IENvbXBhY3ROYXZpZ2F0aW9uID0gKHtcbiAgY2hpbGRyZW4sXG4gIGNvbnRleHQsXG4gIHRvZ2dsZUxhYmVsLFxufTogSUNvbXBhY3ROYXZpZ2F0aW9uKSA9PiB7XG4gIGNvbnN0IERlZmF1bHRDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQgPSBjb250ZXh0XG4gICAgPyBjb250ZXh0XG4gICAgOiBDb21wYWN0TmF2aWdhdGlvbkN0eERlZmF1bHQ7XG4gIGNvbnN0IFtOYXZDb250ZXh0LCBzZXROYXZDb250ZXh0XSA9IHVzZVN0YXRlKERlZmF1bHRDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQpO1xuXG4gIHJldHVybiAoXG4gICAgPENvbXBhY3ROYXZpZ2F0aW9uQ3R4LlByb3ZpZGVyIHZhbHVlPXt7IE5hdkNvbnRleHQsIHNldE5hdkNvbnRleHQgfX0+XG4gICAgICA8Q29tcGFjdE5hdmlnYXRpb25Db21wb25lbnQgdG9nZ2xlTGFiZWw9e3RvZ2dsZUxhYmVsfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9Db21wYWN0TmF2aWdhdGlvbkNvbXBvbmVudD5cbiAgICA8L0NvbXBhY3ROYXZpZ2F0aW9uQ3R4LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IHsgQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0IH07XG5leHBvcnQgdHlwZSB7IElDb21wYWN0TmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBJQ29tcGFjdE5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29tcGFjdE5hdmlnYXRpb24gPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElDb21wYWN0TmF2aWdhdGlvblRoZW1lO1xufT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uU2tlbGV0b24gPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElDb21wYWN0TmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29tcGFjdE5hdmlnYXRpb25Ub2dnbGUgPSBzdHlsZWQuYnV0dG9uPHtcbiAgdGhlbWU6IElDb21wYWN0TmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJhY2tncm91bmR9O1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uQm9keSA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSUNvbXBhY3ROYXZpZ2F0aW9uVGhlbWU7XG4gICRpc09wZW46IGJvb2xlYW47XG59PmBgO1xuIiwiaW1wb3J0IHsgSUNvbXBhY3ROYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHtcbiAgTG9va3VwQWRkaXRpb25hbENvbG9yLFxuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZVJhZGl1cyxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VDb21wYWN0TmF2aWdhdGlvbiA9IChcbiAgaXNTa2VsZXRvbjogYm9vbGVhbixcbik6IElDb21wYWN0TmF2aWdhdGlvblRoZW1lID0+IHtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuXG4gIGNvbnN0IHNrZWxldG9uQmdDb2xvciA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgfSk7XG5cbiAgcmV0dXJuIG1hdGNoKGlzU2tlbGV0b24sIFtcbiAgICBbXG4gICAgICBmYWxzZSxcbiAgICAgIHtcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgICAgIGJhY2tncm91bmQ6IENvbG9ycy5zdXJmYWNlcy50aW50XzIwMCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB0cnVlLFxuICAgICAge1xuICAgICAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi5lbnVtc1wiO1xuaW1wb3J0IHsgU3R5bGVkQ29tcGFjdE5hdmlnYXRpb25Ub2dnbGUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgSUNvbXBhY3ROYXZpZ2F0aW9uVG9nZ2xlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IHVzZUNvbXBhY3ROYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9ob29rcy91c2UtY29tcGFjdC1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBDb21wYWN0TmF2aWdhdGlvbkN0eCB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLmNvbnRleHRcIjtcblxuZXhwb3J0IGNvbnN0IFRvZ2dsZSA9ICh7IGxhYmVsIH06IElDb21wYWN0TmF2aWdhdGlvblRvZ2dsZSkgPT4ge1xuICBjb25zdCB7IE5hdkNvbnRleHQsIHNldE5hdkNvbnRleHQgfTogYW55ID0gdXNlQ29udGV4dChDb21wYWN0TmF2aWdhdGlvbkN0eCk7XG4gIGNvbnN0IElzU2tlbGV0b24gPSBmYWxzZTtcbiAgY29uc3QgVGhlbWUgPSB1c2VDb21wYWN0TmF2aWdhdGlvbihJc1NrZWxldG9uKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiA8PjwvPjtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uVG9nZ2xlXG4gICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgIHNldE5hdkNvbnRleHQoXG4gICAgICAgICAgTmF2Q29udGV4dCA9PT0gQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0Lk9QRU5cbiAgICAgICAgICAgID8gQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0LkNMT1NFRFxuICAgICAgICAgICAgOiBDb21wYWN0TmF2aWdhdGlvbkNvbnRleHQuT1BFTixcbiAgICAgICAgKTtcbiAgICAgIH19XG4gICAgICBhcmlhLWNvbnRyb2xzPVwiQ29tcGFjdE5hdmlnYXRpb25cIlxuICAgICAgdGhlbWU9e1RoZW1lfVxuICAgICAgdGl0bGU9e2xhYmVsfVxuICAgID5cbiAgICAgIDxJY29uXG4gICAgICAgIHR5cGU9e0ljb25UeXBlLk1FTlV9XG4gICAgICAgIHNjcmVlblJlYWRlclRleHQ9e2xhYmVsfVxuICAgICAgICBjb250ZXh0PXtJY29uQ29udGV4dC5EQVJLfVxuICAgICAgLz5cbiAgICA8L1N0eWxlZENvbXBhY3ROYXZpZ2F0aW9uVG9nZ2xlPlxuICApO1xufTtcbiIsImltcG9ydCB7IENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dCB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLmVudW1zXCI7XG5pbXBvcnQgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb21wYWN0TmF2aWdhdGlvbkN0eERlZmF1bHQ6IENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dCA9XG4gIENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dC5DTE9TRUQ7XG5cbi8vIEB0cy1pZ25vcmVcbmV4cG9ydCBjb25zdCBDb21wYWN0TmF2aWdhdGlvbkN0eCA9IGNyZWF0ZUNvbnRleHQoKTtcbiIsImltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5pbXBvcnQge1xuICBTdHlsZWRDb21wYWN0TmF2aWdhdGlvbixcbiAgU3R5bGVkQ29tcGFjdE5hdmlnYXRpb25Cb2R5LFxuICBTdHlsZWRDb21wYWN0TmF2aWdhdGlvblNrZWxldG9uLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBhY3RfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgSUNvbXBhY3ROYXZpZ2F0aW9uQmFzZSB9IGZyb20gXCJAL21vbGVjdWxlcy9jb21wYWN0X25hdmlnYXRpb24vY29tcGFjdF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBUb2dnbGUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvY29tcGFjdF9uYXZpZ2F0aW9uLnRvZ2dsZVwiO1xuaW1wb3J0IHsgdXNlQ29tcGFjdE5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uL2hvb2tzL3VzZS1jb21wYWN0LW5hdmlnYXRpb25cIjtcbmltcG9ydCB7IHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IENvbXBhY3ROYXZpZ2F0aW9uQ3R4IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvbi9jb21wYWN0X25hdmlnYXRpb24uY29udGV4dFwiO1xuaW1wb3J0IHsgQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvblwiO1xuXG5leHBvcnQgY29uc3QgQ29tcGFjdE5hdmlnYXRpb24gPSAoe1xuICBjaGlsZHJlbixcbiAgdG9nZ2xlTGFiZWwsXG59OiBJQ29tcGFjdE5hdmlnYXRpb25CYXNlKSA9PiB7XG4gIGNvbnN0IHsgTmF2Q29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KENvbXBhY3ROYXZpZ2F0aW9uQ3R4KTtcbiAgY29uc3QgaXNPcGVuID0gTmF2Q29udGV4dCA9PT0gQ29tcGFjdE5hdmlnYXRpb25Db250ZXh0Lk9QRU47XG4gIGNvbnN0IElzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWUgPSB1c2VDb21wYWN0TmF2aWdhdGlvbihJc1NrZWxldG9uKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ29tcGFjdE5hdmlnYXRpb24gdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZENvbXBhY3ROYXZpZ2F0aW9uU2tlbGV0b25cbiAgICAgICAgICB0aGVtZT17VGhlbWV9XG4gICAgICAgID48L1N0eWxlZENvbXBhY3ROYXZpZ2F0aW9uU2tlbGV0b24+XG4gICAgICA8L1N0eWxlZENvbXBhY3ROYXZpZ2F0aW9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb21wYWN0TmF2aWdhdGlvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgPFRvZ2dsZSBsYWJlbD17dG9nZ2xlTGFiZWx9IC8+XG4gICAgICA8U3R5bGVkQ29tcGFjdE5hdmlnYXRpb25Cb2R5IHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9TdHlsZWRDb21wYWN0TmF2aWdhdGlvbkJvZHk+XG4gICAgPC9TdHlsZWRDb21wYWN0TmF2aWdhdGlvbj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJRGV0YWlsc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElEZXRhaWxzVGhlbWUgfT5gYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNIZWFkZXIgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJRGV0YWlsc1RoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDE2cHg7XG4gIGhlaWdodDogNDBweDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRpdGxlfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJiBkaXYge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRGV0YWlsc0hlYWRlckljb24gPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJRGV0YWlsc1RoZW1lO1xuICAkaXNPcGVuOiBib29sZWFuO1xufT5gXG4gIHJvdGF0ZTogJHsocHJvcHMpID0+IChwcm9wcy4kaXNPcGVuID8gXCIwZGVnXCIgOiBcIi05MGRlZ1wiKX07XG4gIHRyYW5zaXRpb246IHJvdGF0ZSAwLjNzO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERldGFpbHNBY3Rpb25zID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRGV0YWlsc1RoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWREZXRhaWxzQ29udGVudCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgcGFkZGluZy10b3A6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblRpdGxlID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSURldGFpbHNUaGVtZSB9PmBcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBjb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmNvbG9yfTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTsgLyogU2FmYXJpICovXG4gIC1tcy11c2VyLXNlbGVjdDogbm9uZTsgLyogSUUgMTAgYW5kIElFIDExICovXG4gIHVzZXItc2VsZWN0OiBub25lOyAvKiBTdGFuZGFyZCBzeW50YXggKi9cbmA7XG4iLCJpbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJRGV0YWlsc1RoZW1lIH0gZnJvbSBcIi4uL2RldGFpbHMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHVzZURldGFpbHNUaGVtZSA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSURldGFpbHNUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5wcmltYXJ5Lm1kLmJvbGQsXG4gICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgY29uc3QgU2tlbGV0b24gPSB7XG4gICAgYm9yZGVyOiBcIjFweCBzb2xpZCBcIiArIENvbG9ycy5zdXJmYWNlcy50aW50XzQwMCxcbiAgICB0aXRsZTogRm9udHMuYWNjZW50LmxnLmJvbGQsXG4gICAgY29sb3I6IHNrZWxldG9uQmdDb2xvcixcbiAgICByYWRpdXM6IHJhZGl1cy5tZCxcbiAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gIH07XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gU2tlbGV0b247XG4gIH1cblxuICByZXR1cm4gU3RhbmRhcmQ7XG59O1xuIiwiaW1wb3J0IHsgU3R5bGVkRGV0YWlsc0NvbnRhaW5lciB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGVcIjtcbmltcG9ydCB7XG4gIERldGFpbHNUaGVtZWFibGVQcm9wcyxcbiAgSURldGFpbHNUaGVtZSxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuaW1wb3J0IHsgdXNlRGV0YWlsc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvaG9va3MvdXNlLWRldGFpbHNcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBEZXRhaWxzID0gKHsgY2hpbGRyZW4gfTogRGV0YWlsc1RoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWU6IElEZXRhaWxzVGhlbWUgPSB1c2VEZXRhaWxzVGhlbWUoaXNTa2VsZXRvbik7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRGV0YWlsc0NvbnRhaW5lciB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZERldGFpbHNDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHtcbiAgU3R5bGVkRGV0YWlsc0FjdGlvbnMsXG4gIFN0eWxlZERldGFpbHNIZWFkZXIsXG4gIFN0eWxlZERldGFpbHNIZWFkZXJJY29uLFxuICBTdHlsZWRTa2VsZXRvblRpdGxlLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnN0eWxlXCI7XG5pbXBvcnQge1xuICBEZXRhaWxzSGVhZGVyVGhlbWVhYmxlUHJvcHMsXG4gIElEZXRhaWxzVGhlbWUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMudHlwZXNcIjtcbmltcG9ydCB7IHVzZURldGFpbHNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2hvb2tzL3VzZS1kZXRhaWxzXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IEFjY29yZGVvbkN0eCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyB0aXRsZSwgY2hpbGRyZW4gfTogRGV0YWlsc0hlYWRlclRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWU6IElEZXRhaWxzVGhlbWUgPSB1c2VEZXRhaWxzVGhlbWUoaXNTa2VsZXRvbik7XG4gIGNvbnN0IHsgQWNjb3JkZW9uQ29udGV4dCB9OiBhbnkgPSB1c2VDb250ZXh0KEFjY29yZGVvbkN0eCk7XG4gIGNvbnN0IGlzT3BlbiA9IEFjY29yZGVvbkNvbnRleHQgPT09IEFjY29yZGVvbkNvbnRleHQuT1BFTjtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkRGV0YWlsc0hlYWRlciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkRGV0YWlsc0hlYWRlckljb24gdGhlbWU9e1RoZW1lfSAkaXNPcGVuPXtmYWxzZX0+XG4gICAgICAgICAgPEljb25cbiAgICAgICAgICAgIHNpemU9e0ljb25TaXplLlNNQUxMfVxuICAgICAgICAgICAgdHlwZT17SWNvblR5cGUuQ0hFVlJPTl9ET1dOfVxuICAgICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuRElTQUJMRUR9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXt0aXRsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZERldGFpbHNIZWFkZXJJY29uPlxuICAgICAgICA8U3R5bGVkU2tlbGV0b25UaXRsZSB0aGVtZT17VGhlbWV9Pnt0aXRsZX08L1N0eWxlZFNrZWxldG9uVGl0bGU+XG4gICAgICAgIDxTdHlsZWREZXRhaWxzQWN0aW9ucz57Y2hpbGRyZW59PC9TdHlsZWREZXRhaWxzQWN0aW9ucz5cbiAgICAgIDwvU3R5bGVkRGV0YWlsc0hlYWRlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRGV0YWlsc0hlYWRlciB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZERldGFpbHNIZWFkZXJJY29uIHRoZW1lPXtUaGVtZX0gJGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAgPEljb25cbiAgICAgICAgICBzaXplPXtJY29uU2l6ZS5TTUFMTH1cbiAgICAgICAgICB0eXBlPXtJY29uVHlwZS5DSEVWUk9OX0RPV059XG4gICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXt0aXRsZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkRGV0YWlsc0hlYWRlckljb24+XG4gICAgICA8c3Bhbj57dGl0bGV9PC9zcGFuPlxuICAgICAgPFN0eWxlZERldGFpbHNBY3Rpb25zPntjaGlsZHJlbn08L1N0eWxlZERldGFpbHNBY3Rpb25zPlxuICAgIDwvU3R5bGVkRGV0YWlsc0hlYWRlcj5cbiAgKTtcbn07XG4iLCJleHBvcnQgZW51bSBBY2NvcmRlb25Db250ZXh0IHtcbiAgT1BFTiA9IFwiT1BFTlwiLFxuICBDTE9TRUQgPSBcIkNMT1NFRFwiLFxufVxuIiwiaW1wb3J0IHsgQWNjb3JkZW9uQ29udGV4dCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5lbnVtc1wiO1xuaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGNvbnN0IEFjY29yZGVvbkN0eERlZmF1bHQ6IEFjY29yZGVvbkNvbnRleHQgPSBBY2NvcmRlb25Db250ZXh0LkNMT1NFRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEFjY29yZGVvbkN0eDogUmVhY3QuQ29udGV4dDx7XG4gIEFjY29yZGVvbkNvbnRleHQ6IEFjY29yZGVvbkNvbnRleHQ7XG4gIHNldEFjY29yZGVvbkNvbnRleHQ6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPEFjY29yZGVvbkNvbnRleHQ+Pjtcbn0+ID0gY3JlYXRlQ29udGV4dCh7XG4gIEFjY29yZGVvbkNvbnRleHQ6IEFjY29yZGVvbkN0eERlZmF1bHQsXG4gIHNldEFjY29yZGVvbkNvbnRleHQ6ICgpID0+IHt9LFxufSk7XG4iLCJpbXBvcnQgeyBTdHlsZWREZXRhaWxzQ29udGVudCB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMuc3R5bGVcIjtcbmltcG9ydCB7XG4gIERldGFpbHNDb250ZW50VGhlbWVhYmxlUHJvcHMsXG4gIElEZXRhaWxzVGhlbWUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2RldGFpbHMudHlwZXNcIjtcbmltcG9ydCB7IHVzZURldGFpbHNUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzL2hvb2tzL3VzZS1kZXRhaWxzXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQ29udGVudCA9ICh7IGNoaWxkcmVuIH06IERldGFpbHNDb250ZW50VGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgaXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZTogSURldGFpbHNUaGVtZSA9IHVzZURldGFpbHNUaGVtZShpc1NrZWxldG9uKTtcblxuICByZXR1cm4gPFN0eWxlZERldGFpbHNDb250ZW50IHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkRGV0YWlsc0NvbnRlbnQ+O1xufTtcbiIsImltcG9ydCB7IElEZXRhaWxzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvZGV0YWlscy50eXBlc1wiO1xuaW1wb3J0IHsgRGV0YWlscyBhcyBEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9kZXRhaWxzXCI7XG5pbXBvcnQgeyBIZWFkZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9jb21wb25lbnRzL2RldGFpbHMuaGVhZGVyXCI7XG5pbXBvcnQgeyBDb250ZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2RldGFpbHMvY29tcG9uZW50cy9kZXRhaWxzLmNvbnRlbnRcIjtcblxuZXhwb3J0IGNvbnN0IERldGFpbHMgPSAoeyBjaGlsZHJlbiB9OiBJRGV0YWlscykgPT4ge1xuICByZXR1cm4gPERldGFpbHNDb21wb25lbnQ+e2NoaWxkcmVufTwvRGV0YWlsc0NvbXBvbmVudD47XG59O1xuXG5EZXRhaWxzLkhlYWRlciA9IEhlYWRlcjtcbkRldGFpbHMuQ29udGVudCA9IENvbnRlbnQ7XG5cbmV4cG9ydCB0eXBlIHsgSURldGFpbHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlscy9kZXRhaWxzLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBJRmFxVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZhcUNvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUZhcVRoZW1lIH0+YFxuICBib3JkZXItdG9wOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYm9yZGVyfTtcbiAgYm9yZGVyLWJvdHRvbTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmFxSGVhZGVyID0gc3R5bGVkLnNwYW48eyB0aGVtZTogSUZhcVRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMTZweDtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRpdGxlfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIHBhZGRpbmctdG9wOiAzMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZy1yaWdodDogMzJweDtcbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmFxSGVhZGVySWNvbiA9IHN0eWxlZC5zcGFuPHtcbiAgdGhlbWU6IElGYXFUaGVtZTtcbiAgJGlzT3BlbjogYm9vbGVhbjtcbn0+YFxuICByb3RhdGU6ICR7KHByb3BzKSA9PiAocHJvcHMuJGlzT3BlbiA/IFwiMGRlZ1wiIDogXCItOTBkZWdcIil9O1xuICB0cmFuc2l0aW9uOiByb3RhdGUgMC4zcztcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGYXFDb250ZW50ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRmFxVGhlbWUgfT5gXG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uVGl0bGUgPSBzdHlsZWQuc3Bhbjx7IHRoZW1lOiBJRmFxVGhlbWUgfT5gXG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIFNhZmFyaSAqL1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7IC8qIElFIDEwIGFuZCBJRSAxMSAqL1xuICB1c2VyLXNlbGVjdDogbm9uZTsgLyogU3RhbmRhcmQgc3ludGF4ICovXG5gO1xuIiwiaW1wb3J0IHsgdXNlVGhlbWVDb2xvciwgdXNlVGhlbWVGb250cywgdXNlVGhlbWVSYWRpdXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgSUZhcVRoZW1lIH0gZnJvbSBcIi4uL2ZhcS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlRmFxVGhlbWUgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElGYXFUaGVtZSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IHJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3Qgc2tlbGV0b25CZ0NvbG9yID0gTG9va3VwQWRkaXRpb25hbENvbG9yKHtcbiAgICBuYW1lOiBcInNrZWxldG9uXCIsXG4gICAgY29sb3JzOiBDb2xvcnMuYWRkaXRpb25hbCxcbiAgICBmYWxsYmFjazogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICBjb25zdCBTdGFuZGFyZCA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5hY2NlbnQubGcuYm9sZCxcbiAgICBjb2xvcjogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgfTtcblxuICBjb25zdCBTa2VsZXRvbiA9IHtcbiAgICBib3JkZXI6IFwiMXB4IHNvbGlkIFwiICsgQ29sb3JzLnN1cmZhY2VzLnRpbnRfNDAwLFxuICAgIHRpdGxlOiBGb250cy5hY2NlbnQubGcuYm9sZCxcbiAgICBjb2xvcjogc2tlbGV0b25CZ0NvbG9yLFxuICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgfTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiBTa2VsZXRvbjtcbiAgfVxuXG4gIHJldHVybiBTdGFuZGFyZDtcbn07XG4iLCJpbXBvcnQgeyBTdHlsZWRGYXFDb250YWluZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2ZhcS5zdHlsZVwiO1xuaW1wb3J0IHsgRmFxVGhlbWVhYmxlUHJvcHMsIElGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VGYXFUaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvaG9va3MvdXNlLWZhcVwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IEZhcSA9ICh7IGNoaWxkcmVuIH06IEZhcVRoZW1lYWJsZVByb3BzKSA9PiB7XG4gIGNvbnN0IGlzU2tlbGV0b24gPSB1c2VJc1Byb2Nlc3NpbmcoKTtcbiAgY29uc3QgVGhlbWU6IElGYXFUaGVtZSA9IHVzZUZhcVRoZW1lKGlzU2tlbGV0b24pO1xuXG4gIHJldHVybiA8U3R5bGVkRmFxQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkRmFxQ29udGFpbmVyPjtcbn07XG4iLCJpbXBvcnQge1xuICBTdHlsZWRGYXFIZWFkZXIsXG4gIFN0eWxlZEZhcUhlYWRlckljb24sXG4gIFN0eWxlZFNrZWxldG9uVGl0bGUsXG59IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnN0eWxlXCI7XG5pbXBvcnQgeyBGYXFIZWFkZXJUaGVtZWFibGVQcm9wcywgSUZhcVRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEudHlwZXNcIjtcbmltcG9ydCB7IHVzZUZhcVRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9ob29rcy91c2UtZmFxXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25TaXplLCBJY29uVHlwZSB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuaW1wb3J0IHsgdXNlQ29udGV4dCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IEFjY29yZGVvbkN0eCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi5jb250ZXh0XCI7XG5cbmV4cG9ydCBjb25zdCBIZWFkZXIgPSAoeyB0aXRsZSB9OiBGYXFIZWFkZXJUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJRmFxVGhlbWUgPSB1c2VGYXFUaGVtZShpc1NrZWxldG9uKTtcbiAgY29uc3QgeyBBY2NvcmRlb25Db250ZXh0IH06IGFueSA9IHVzZUNvbnRleHQoQWNjb3JkZW9uQ3R4KTtcbiAgY29uc3QgaXNPcGVuID0gQWNjb3JkZW9uQ29udGV4dCA9PT0gQWNjb3JkZW9uQ29udGV4dC5PUEVOO1xuXG4gIGlmIChpc1NrZWxldG9uKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRGYXFIZWFkZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uVGl0bGUgdGhlbWU9e1RoZW1lfT57dGl0bGV9PC9TdHlsZWRTa2VsZXRvblRpdGxlPlxuICAgICAgICA8U3R5bGVkRmFxSGVhZGVySWNvbiB0aGVtZT17VGhlbWV9ICRpc09wZW49e2ZhbHNlfT5cbiAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgc2l6ZT17SWNvblNpemUuTUVESVVNfVxuICAgICAgICAgICAgdHlwZT17SWNvblR5cGUuQ0hFVlJPTl9ET1dOfVxuICAgICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuRElTQUJMRUR9XG4gICAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXt0aXRsZX1cbiAgICAgICAgICAvPlxuICAgICAgICA8L1N0eWxlZEZhcUhlYWRlckljb24+XG4gICAgICA8L1N0eWxlZEZhcUhlYWRlcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkRmFxSGVhZGVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8c3Bhbj57dGl0bGV9PC9zcGFuPlxuICAgICAgPFN0eWxlZEZhcUhlYWRlckljb24gdGhlbWU9e1RoZW1lfSAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHNpemU9e0ljb25TaXplLk1FRElVTX1cbiAgICAgICAgICB0eXBlPXtJY29uVHlwZS5DSEVWUk9OX0RPV059XG4gICAgICAgICAgY29udGV4dD17SWNvbkNvbnRleHQuREFSS31cbiAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXt0aXRsZX1cbiAgICAgICAgLz5cbiAgICAgIDwvU3R5bGVkRmFxSGVhZGVySWNvbj5cbiAgICA8L1N0eWxlZEZhcUhlYWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBTdHlsZWRGYXFDb250ZW50IH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEuc3R5bGVcIjtcbmltcG9ydCB7IEZhcUNvbnRlbnRUaGVtZWFibGVQcm9wcywgSUZhcVRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEudHlwZXNcIjtcbmltcG9ydCB7IHVzZUZhcVRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9ob29rcy91c2UtZmFxXCI7XG5pbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG5leHBvcnQgY29uc3QgQ29udGVudCA9ICh7IGNoaWxkcmVuIH06IEZhcUNvbnRlbnRUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lOiBJRmFxVGhlbWUgPSB1c2VGYXFUaGVtZShpc1NrZWxldG9uKTtcblxuICByZXR1cm4gPFN0eWxlZEZhcUNvbnRlbnQgdGhlbWU9e1RoZW1lfT57Y2hpbGRyZW59PC9TdHlsZWRGYXFDb250ZW50Pjtcbn07XG4iLCJpbXBvcnQgeyBJRmFxIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9mYXEudHlwZXNcIjtcbmltcG9ydCB7IEZhcSBhcyBGYXFDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ZhcVwiO1xuaW1wb3J0IHsgSGVhZGVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcS9jb21wb25lbnRzL2ZhcS5oZWFkZXJcIjtcbmltcG9ydCB7IENvbnRlbnQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmFxL2NvbXBvbmVudHMvZmFxLmNvbnRlbnRcIjtcblxuZXhwb3J0IGNvbnN0IEZhcSA9ICh7IGNoaWxkcmVuIH06IElGYXEpID0+IHtcbiAgcmV0dXJuIDxGYXFDb21wb25lbnQ+e2NoaWxkcmVufTwvRmFxQ29tcG9uZW50Pjtcbn07XG5cbkZhcS5IZWFkZXIgPSBIZWFkZXI7XG5GYXEuQ29udGVudCA9IENvbnRlbnQ7XG5cbmV4cG9ydCB0eXBlIHsgSUZhcSB9IGZyb20gXCJAL21vbGVjdWxlcy9mYXEvZmFxLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VGZWF0dXJlcyB9IGZyb20gXCJAL21vbGVjdWxlcy9mZWF0dXJlcy9ob29rcy91c2UtZmVhdHVyZVwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkRmVhdHVyZXMsXG4gIFN0eWxlZEZlYXR1cmVzSXRlbSxcbiAgU3R5bGVkRmVhdHVyZXNJdGVtU2VwZXJhdG9yLFxuICBTdHlsZWRTa2VsZXRvbkZlYXR1cmVzLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMuc3R5bGVcIjtcbmltcG9ydCB7IElGZWF0dXJlc0Jhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcbmltcG9ydCB7IHVzZUlzUHJvY2Vzc2luZyB9IGZyb20gXCJAL2hvb2tzL3VzZS1pcy1wcm9jZXNzaW5nXCI7XG5cbmV4cG9ydCBjb25zdCBGZWF0dXJlcyA9ICh7IGNoaWxkcmVuIH06IElGZWF0dXJlc0Jhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZUZlYXR1cmVzKElzU2tlbGV0b24pO1xuXG4gIGNvbnN0IGNvdW50ID0gUmVhY3QuQ2hpbGRyZW4uY291bnQoY2hpbGRyZW4pO1xuICBjb25zdCBmZWF0dXJlcyA9IFJlYWN0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkLCBpbmRleCkgPT4ge1xuICAgIGlmICghUmVhY3QuaXNWYWxpZEVsZW1lbnQoY2hpbGQpKSByZXR1cm4gY2hpbGQ7XG5cbiAgICBjb25zdCBkaXZpZGVyID0gKFxuICAgICAgPFN0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvcj4gfCA8L1N0eWxlZEZlYXR1cmVzSXRlbVNlcGVyYXRvcj5cbiAgICApO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRGZWF0dXJlc0l0ZW0+XG4gICAgICAgIHtjaGlsZH1cbiAgICAgICAge2luZGV4ICE9IGNvdW50IC0gMSAmJiBkaXZpZGVyfVxuICAgICAgPC9TdHlsZWRGZWF0dXJlc0l0ZW0+XG4gICAgKTtcbiAgfSk7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uRmVhdHVyZXMgdGhlbWU9e1RoZW1lfT57ZmVhdHVyZXN9PC9TdHlsZWRTa2VsZXRvbkZlYXR1cmVzPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gPFN0eWxlZEZlYXR1cmVzIHRoZW1lPXtUaGVtZX0+e2ZlYXR1cmVzfTwvU3R5bGVkRmVhdHVyZXM+O1xufTtcbiIsImltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IElGZWF0dXJlc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2ZlYXR1cmVzLnR5cGVzXCI7XG5pbXBvcnQge1xuICB1c2VUaGVtZUNvbG9yLFxuICB1c2VUaGVtZUZvbnRzLFxuICB1c2VUaGVtZVJhZGl1cyxcbiAgdXNlVGhlbWVVdGlsaXR5LFxufSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCB7IExvb2t1cEFkZGl0aW9uYWxDb2xvciB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuXG5leHBvcnQgY29uc3QgdXNlRmVhdHVyZXMgPSAoaXNTa2VsZXRvbjogYm9vbGVhbik6IElGZWF0dXJlc1RoZW1lID0+IHtcbiAgY29uc3QgRm9udCA9IHVzZVRoZW1lRm9udHMoKTtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBVdGlsaXR5ID0gdXNlVGhlbWVVdGlsaXR5KCk7XG4gIGNvbnN0IFJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG5cbiAgY29uc3QgU2tlbGV0b25CZyA9IExvb2t1cEFkZGl0aW9uYWxDb2xvcih7XG4gICAgbmFtZTogXCJza2VsZXRvblwiLFxuICAgIGNvbG9yczogQ29sb3JzLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9ycy5zdXJmYWNlcy50aW50XzYwMCxcbiAgfSk7XG5cbiAgaWYgKGlzU2tlbGV0b24pIHtcbiAgICByZXR1cm4ge1xuICAgICAgZm9udDogRm9udC5wcmltYXJ5LnNtLm5vcm1hbCxcbiAgICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBTa2VsZXRvbkJnLFxuICAgICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiM1wiXSxcbiAgICAgIHJhZGl1czogUmFkaXVzLnNtLFxuICAgICAgY29sb3I6IENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCxcbiAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBmb250OiBGb250LnByaW1hcnkuc20ubm9ybWFsLFxuICAgIGJvcmRlcjogXCIycHggc29saWQgXCIgKyBDb2xvcnMuc3VyZmFjZXMudGludF81MDAsXG4gICAgcGFkZGluZzogVXRpbGl0eS5zcGFjaW5nW1wiM1wiXSxcbiAgICByYWRpdXM6IFJhZGl1cy5zbSxcbiAgICBjb2xvcjogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNTAwLFxuICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgfTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSUZlYXR1cmVzVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXMvZmVhdHVyZXMudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEZlYXR1cmVzID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJRmVhdHVyZXNUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDEwcHg7XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG4gIHBhZGRpbmc6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBib3JkZXItcmFkaXVzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucmFkaXVzfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb2xvcn07XG4gIGJhY2tncm91bmQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRGZWF0dXJlc0l0ZW0gPSBzdHlsZWQuc3Bhbjx7XG4gIHRoZW1lOiBJRmVhdHVyZXNUaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRmVhdHVyZXNJdGVtU2VwZXJhdG9yID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSUZlYXR1cmVzVGhlbWU7XG59PmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25GZWF0dXJlcyA9IHN0eWxlZChTdHlsZWRGZWF0dXJlcyk8e1xuICB0aGVtZTogSUZlYXR1cmVzVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCB7IElGZWF0dXJlcyB9IGZyb20gXCJAL21vbGVjdWxlcy9mZWF0dXJlcy9mZWF0dXJlcy50eXBlc1wiO1xuaW1wb3J0IHsgRmVhdHVyZXMgYXMgQmFzZUZlYXR1cmVzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzL2NvbXBvbmVudHMvZmVhdHVyZXNcIjtcblxuZXhwb3J0IGNvbnN0IEZlYXR1cmVzID0gKHsgY2hpbGRyZW4gfTogSUZlYXR1cmVzKSA9PiB7XG4gIHJldHVybiA8QmFzZUZlYXR1cmVzPntjaGlsZHJlbn08L0Jhc2VGZWF0dXJlcz47XG59O1xuXG5leHBvcnQgdHlwZSB7IElGZWF0dXJlcyB9IGZyb20gXCJAL21vbGVjdWxlcy9mZWF0dXJlcy9mZWF0dXJlcy50eXBlc1wiO1xuIiwiaW1wb3J0IHsgSU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7XG4gIExvb2t1cEFkZGl0aW9uYWxDb2xvcixcbiAgdXNlVGhlbWVDb2xvcixcbiAgdXNlVGhlbWVGb250cyxcbiAgdXNlVGhlbWVSYWRpdXMsXG59IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuXG5leHBvcnQgY29uc3QgdXNlTmF2aWdhdGlvbiA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSU5hdmlnYXRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnRzID0gdXNlVGhlbWVGb250cygpO1xuICBjb25zdCBDb2xvciA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgcmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9yLmFkZGl0aW9uYWwsXG4gICAgZmFsbGJhY2s6IENvbG9yLnN1cmZhY2VzLnRpbnRfNDAwLFxuICB9KTtcblxuICByZXR1cm4gbWF0Y2goaXNTa2VsZXRvbiwgW1xuICAgIFtcbiAgICAgIGZhbHNlLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgICAgaG92ZXJGb250OiBGb250cy5wcmltYXJ5Lm1kLmJvbGQsXG4gICAgICAgIGhvdmVyQ29sb3I6IENvbG9yLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICAgIGJhY2tncm91bmQ6IFwidHJhbnNwYXJlbnRcIixcbiAgICAgICAgcmFkaXVzOiByYWRpdXMubWQsXG4gICAgICB9LFxuICAgIF0sXG4gICAgW1xuICAgICAgdHJ1ZSxcbiAgICAgIHtcbiAgICAgICAgZm9udDogRm9udHMucHJpbWFyeS5tZC5ub3JtYWwsXG4gICAgICAgIGhvdmVyRm9udDogRm9udHMucHJpbWFyeS5tZC5ib2xkLFxuICAgICAgICBob3ZlckNvbG9yOiBDb2xvci5zdXBwb3J0aW5nLnRpbnRfNTAwLFxuICAgICAgICBiYWNrZ3JvdW5kOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIHJhZGl1czogcmFkaXVzLm1kLFxuICAgICAgfSxcbiAgICBdLFxuICBdKTtcbn07XG4iLCJpbXBvcnQgeyBJTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE5hdmlnYXRpb25Db250YWluZXIgPSBzdHlsZWQubmF2PHtcbiAgdGhlbWU6IElOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0MHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE5hdmlnYXRpb25JdGVtQ29udGFpbmVyID0gc3R5bGVkLmE8e1xuICB0aGVtZTogSU5hdmlnYXRpb25UaGVtZTtcbiAgJGlzQWN0aXZlOiBib29sZWFuO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBib3JkZXItYm90dG9tOiAzcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMsXG4gICAgZm9udCAwLjJzO1xuXG4gICR7KHByb3BzKSA9PlxuICAgIHByb3BzLiRpc0FjdGl2ZSAmJlxuICAgIGBcbiAgICAgICAgZm9udDogJHtwcm9wcy50aGVtZS5ob3ZlckZvbnR9O1xuICAgIGB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmhvdmVyQ29sb3J9O1xuICAgIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3ZlckZvbnR9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTmF2aWdhdGlvbkl0ZW1MYWJlbCA9IHN0eWxlZC5zcGFuPHtcbiAgdGhlbWU6IElOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IGF0dHIodGl0bGUpO1xuICAgIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5ob3ZlckZvbnR9O1xuICAgIGhlaWdodDogMHB4O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkNvbnRhaW5lciA9IHN0eWxlZChcbiAgU3R5bGVkTmF2aWdhdGlvbkNvbnRhaW5lcixcbik8e1xuICB0aGVtZTogSU5hdmlnYXRpb25UaGVtZTtcbn0+YGA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbk5hdmlnYXRpb25JdGVtID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSU5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBoZWlnaHQ6IDMycHg7XG4gIHdpZHRoOiAxMzJweDtcbiAgbWFyZ2luLWJvdHRvbTogMzhweDtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgcGFkZGluZy10b3A6IDhweDtcbiAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IHsgdXNlTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL2hvb2tzL3VzZS1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQge1xuICBTdHlsZWROYXZpZ2F0aW9uSXRlbUNvbnRhaW5lcixcbiAgU3R5bGVkTmF2aWdhdGlvbkl0ZW1MYWJlbCxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgSU5hdmlnYXRpb25JdGVtIH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcbmltcG9ydCB7IEljb25Db250ZXh0IH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBJdGVtID0gKHsgbGFiZWwsIGljb24sIG9uQ2xpY2ssIGlzQWN0aXZlIH06IElOYXZpZ2F0aW9uSXRlbSkgPT4ge1xuICBjb25zdCBUaGVtZSA9IHVzZU5hdmlnYXRpb24oZmFsc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE5hdmlnYXRpb25JdGVtQ29udGFpbmVyXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgdGl0bGU9e2xhYmVsfVxuICAgICAgYXJpYS1sYWJlbD17bGFiZWx9XG4gICAgICAkaXNBY3RpdmU9eyEhaXNBY3RpdmV9XG4gICAgICB0aGVtZT17VGhlbWV9XG4gICAgPlxuICAgICAgPEljb25cbiAgICAgICAgdHlwZT17aWNvbn1cbiAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD17bGFiZWx9XG4gICAgICAgIGNvbnRleHQ9e2lzQWN0aXZlID8gSWNvbkNvbnRleHQuU1VQUE9SVElORyA6IEljb25Db250ZXh0LkRBUkt9XG4gICAgICAvPlxuICAgICAgPFN0eWxlZE5hdmlnYXRpb25JdGVtTGFiZWwgdGhlbWU9e1RoZW1lfSB0aXRsZT17bGFiZWx9PlxuICAgICAgICB7bGFiZWx9XG4gICAgICA8L1N0eWxlZE5hdmlnYXRpb25JdGVtTGFiZWw+XG4gICAgPC9TdHlsZWROYXZpZ2F0aW9uSXRlbUNvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vaG9va3MvdXNlLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIFN0eWxlZE5hdmlnYXRpb25Db250YWluZXIsXG4gIFN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkNvbnRhaW5lcixcbiAgU3R5bGVkU2tlbGV0b25OYXZpZ2F0aW9uSXRlbSxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgSU5hdmlnYXRpb25CYXNlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IE5hdmlnYXRpb24gPSAoeyBjaGlsZHJlbiB9OiBJTmF2aWdhdGlvbkJhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuICBjb25zdCBUaGVtZSA9IHVzZU5hdmlnYXRpb24oSXNTa2VsZXRvbik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkU2tlbGV0b25OYXZpZ2F0aW9uSXRlbSB0aGVtZT17VGhlbWV9IC8+XG4gICAgICAgIDxTdHlsZWRTa2VsZXRvbk5hdmlnYXRpb25JdGVtIHRoZW1lPXtUaGVtZX0gLz5cbiAgICAgICAgPFN0eWxlZFNrZWxldG9uTmF2aWdhdGlvbkl0ZW0gdGhlbWU9e1RoZW1lfSAvPlxuICAgICAgPC9TdHlsZWRTa2VsZXRvbk5hdmlnYXRpb25Db250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZE5hdmlnYXRpb25Db250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZE5hdmlnYXRpb25Db250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSXRlbSB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvbmF2aWdhdGlvbi5pdGVtXCI7XG5pbXBvcnQgeyBOYXZpZ2F0aW9uIGFzIE5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tIFwiQC9tb2xlY3VsZXMvbmF2aWdhdGlvbi9jb21wb25lbnRzL25hdmlnYXRpb25cIjtcbmltcG9ydCB7IElOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL25hdmlnYXRpb24vbmF2aWdhdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgTmF2aWdhdGlvbiA9ICh7IGNoaWxkcmVuIH06IElOYXZpZ2F0aW9uKSA9PiB7XG4gIHJldHVybiA8TmF2aWdhdGlvbkNvbXBvbmVudD57Y2hpbGRyZW59PC9OYXZpZ2F0aW9uQ29tcG9uZW50Pjtcbn07XG5cbk5hdmlnYXRpb24uSXRlbSA9IEl0ZW07XG5cbmV4cG9ydCB0eXBlIHsgSU5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvbmF2aWdhdGlvbi9uYXZpZ2F0aW9uLnR5cGVzXCI7XG4iLCJpbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgeyBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBMb29rdXBBZGRpdGlvbmFsQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgPSAoXG4gIGlzU2tlbGV0b246IGJvb2xlYW4sXG4pOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChpc1NrZWxldG9uLCBbXG4gICAgW1xuICAgICAgZmFsc2UsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5tZC5ib2xkLFxuICAgICAgICBjb3VudGVyRm9udDogRm9udC5wcmltYXJ5LnhzLmJvbGQsXG4gICAgICAgIGluaXRpYWw6IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBDb2xvcnMuc3VyZmFjZXMudGludF8yMDAsXG4gICAgICAgICAgY29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50XzgwMCxcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZlOiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogQ29sb3JzLnN1cmZhY2VzLnRpbnRfNTAwLFxuICAgICAgICAgIGNvbG9yOiBDb2xvcnMuc3VwcG9ydGluZy50aW50XzUwMCxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB0cnVlLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250LnByaW1hcnkubWQuYm9sZCxcbiAgICAgICAgY291bnRlckZvbnQ6IEZvbnQucHJpbWFyeS54cy5ib2xkLFxuICAgICAgICBpbml0aWFsOiB7XG4gICAgICAgICAgYmFja2dyb3VuZDogc2tlbGV0b25CZ0NvbG9yLFxuICAgICAgICAgIGNvbG9yOiBDb2xvcnMubmV1dHJhbHMudGludF84MDAsXG4gICAgICAgIH0sXG4gICAgICAgIGFjdGl2ZToge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgICBjb2xvcjogQ29sb3JzLnN1cHBvcnRpbmcudGludF81MDAsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbiA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIHBhZGRpbmc6IDRweDtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGdhcDogOHB4O1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uU2tlbGV0b24gPSBzdHlsZWQuZGl2PHtcbiAgdGhlbWU6IElQcm9maWxlTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBwYWRkaW5nOiA0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBnYXA6IDhweDtcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICB3aWR0aDogMTIwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgd2lkdGg6IDIxMnB4O1xuICB9XG5cbiAgPiAqIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUxpbmsgPSBzdHlsZWQuYTx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbiAgJGlzQWN0aXZlOiBib29sZWFuO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICBtaW4taGVpZ2h0OiAyNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy4kaXNBY3RpdmVcbiAgICAgID8gcHJvcHMudGhlbWUuYWN0aXZlLmJhY2tncm91bmRcbiAgICAgIDogcHJvcHMudGhlbWUuaW5pdGlhbC5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PlxuICAgIHByb3BzLiRpc0FjdGl2ZSA/IHByb3BzLnRoZW1lLmFjdGl2ZS5jb2xvciA6IHByb3BzLnRoZW1lLmluaXRpYWwuY29sb3J9O1xuICBwYWRkaW5nOiA0cHggOHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5hY3RpdmUuYmFja2dyb3VuZH07XG4gIH1cblxuICAmID4gc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvbiA9IHN0eWxlZC5idXR0b248e1xuICB0aGVtZTogSVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWU7XG4gICRpc0FjdGl2ZTogYm9vbGVhbjtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgbWluLWhlaWdodDogMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsocHJvcHMpID0+XG4gICAgcHJvcHMuJGlzQWN0aXZlXG4gICAgICA/IHByb3BzLnRoZW1lLmFjdGl2ZS5iYWNrZ3JvdW5kXG4gICAgICA6IHByb3BzLnRoZW1lLmluaXRpYWwuYmFja2dyb3VuZH07XG4gIGNvbG9yOiAkeyhwcm9wcykgPT5cbiAgICBwcm9wcy4kaXNBY3RpdmUgPyBwcm9wcy50aGVtZS5hY3RpdmUuY29sb3IgOiBwcm9wcy50aGVtZS5pbml0aWFsLmNvbG9yfTtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICY6aG92ZXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYWN0aXZlLmJhY2tncm91bmR9O1xuICB9XG5cbiAgJiA+IHNwYW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1Db3VudGVyID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJUHJvZmlsZU5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgd2lkdGg6IDE2cHg7XG4gIGhlaWdodDogMTZweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYWN0aXZlLmNvbG9yfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5pbml0aWFsLmJhY2tncm91bmR9O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5jb3VudGVyRm9udH07XG4gIHJpZ2h0OiAtMnB4O1xuICB0b3A6IC0ycHg7XG5gO1xuIiwiaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcbmltcG9ydCB7IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2hvb2tzL3VzZS1wcm9maWxlLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uLFxuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBQcm9maWxlTmF2aWdhdGlvbiA9ICh7XG4gIGNoaWxkcmVuLFxufTogUHJvZmlsZU5hdmlnYXRpb25UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCBpc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IHRoZW1lID0gdXNlUHJvZmlsZU5hdmlnYXRpb25UaGVtZShpc1NrZWxldG9uKTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25Ta2VsZXRvblxuICAgICAgICB0aGVtZT17dGhlbWV9XG4gICAgICA+PC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvblNrZWxldG9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbiB0aGVtZT17dGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uPlxuICApO1xufTtcbiIsImltcG9ydCB7IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL2hvb2tzL3VzZS1wcm9maWxlLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7IFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5zdHlsZVwiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb25JdGVtQ291bnRlclRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24udHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IENvdW50ZXIgPSAoe1xuICBjb3VudCxcbn06IFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXJUaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUoZmFsc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXIgdGhlbWU9e3RoZW1lfT5cbiAgICAgIHtjb3VudCA+IDkgPyBcIjkrXCIgOiBjb3VudH1cbiAgICA8L1N0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUNvdW50ZXI+XG4gICk7XG59O1xuIiwiZXhwb3J0IGVudW0gSXRlbVR5cGUge1xuICBMSU5LID0gXCJMSU5LXCIsXG4gIEJVVFRPTiA9IFwiQlVUVE9OXCIsXG59XG4iLCJpbXBvcnQgeyBDb3VudGVyIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9jb21wb25lbnRzL3Byb2ZpbGVfbmF2aWdhdGlvbi5jb3VudGVyXCI7XG5pbXBvcnQgeyB1c2VQcm9maWxlTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9ob29rcy91c2UtcHJvZmlsZS1uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBJdGVtVHlwZSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vcHJvZmlsZV9uYXZpZ2F0aW9uLmVudW1zXCI7XG5pbXBvcnQge1xuICBTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24sXG4gIFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvbixcbiAgU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluayxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IFByb2ZpbGVOYXZpZ2F0aW9uSXRlbVRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7XG4gIGljb24sXG4gIGxhYmVsLFxuICBvbkNsaWNrLFxuICBjb3VudCxcbiAgdHlwZSA9IEl0ZW1UeXBlLkxJTkssXG4gIGlzSGlnaGxpZ2h0ZWQsXG59OiBQcm9maWxlTmF2aWdhdGlvbkl0ZW1UaGVtZWFibGVQcm9wcykgPT4ge1xuICBjb25zdCB0aGVtZSA9IHVzZVByb2ZpbGVOYXZpZ2F0aW9uVGhlbWUoZmFsc2UpO1xuXG4gIGlmICh0eXBlID09PSBJdGVtVHlwZS5CVVRUT04pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFByb2ZpbGVOYXZpZ2F0aW9uSXRlbUJ1dHRvblxuICAgICAgICB0aXRsZT17bGFiZWx9XG4gICAgICAgIGFyaWEtbGFiZWw9e2xhYmVsfVxuICAgICAgICB0aGVtZT17dGhlbWV9XG4gICAgICAgICRpc0FjdGl2ZT17ISFpc0hpZ2hsaWdodGVkfVxuICAgICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgPlxuICAgICAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAgICAgIDxJY29uXG4gICAgICAgICAgICB0eXBlPXtpY29ufVxuICAgICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIkFhbm1lbGRlblwiXG4gICAgICAgICAgICBjb250ZXh0PXtpc0hpZ2hsaWdodGVkID8gSWNvbkNvbnRleHQuU1VQUE9SVElORyA6IEljb25Db250ZXh0LkRBUkt9XG4gICAgICAgICAgLz5cbiAgICAgICAgPC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24+XG4gICAgICAgIHtpc0hpZ2hsaWdodGVkICYmIDxzcGFuPntsYWJlbH08L3NwYW4+fVxuICAgICAgICB7Y291bnQgJiYgPENvdW50ZXIgY291bnQ9e2NvdW50fSAvPn1cbiAgICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtQnV0dG9uPlxuICAgICk7XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRQcm9maWxlTmF2aWdhdGlvbkl0ZW1MaW5rXG4gICAgICB0aXRsZT17bGFiZWx9XG4gICAgICBhcmlhLWxhYmVsPXtsYWJlbH1cbiAgICAgIHRoZW1lPXt0aGVtZX1cbiAgICAgICRpc0FjdGl2ZT17ISFpc0hpZ2hsaWdodGVkfVxuICAgICAgb25DbGljaz17b25DbGlja31cbiAgICA+XG4gICAgICA8U3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JY29uPlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHR5cGU9e2ljb259XG4gICAgICAgICAgc2NyZWVuUmVhZGVyVGV4dD1cIkFhbm1lbGRlblwiXG4gICAgICAgICAgY29udGV4dD17aXNIaWdobGlnaHRlZCA/IEljb25Db250ZXh0LlNVUFBPUlRJTkcgOiBJY29uQ29udGV4dC5EQVJLfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRQcm9maWxlTmF2aWdhdGlvbkljb24+XG4gICAgICB7aXNIaWdobGlnaHRlZCAmJiA8c3Bhbj57bGFiZWx9PC9zcGFuPn1cbiAgICAgIHtjb3VudCAmJiA8Q291bnRlciBjb3VudD17Y291bnR9IC8+fVxuICAgIDwvU3R5bGVkUHJvZmlsZU5hdmlnYXRpb25JdGVtTGluaz5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJUHJvZmlsZU5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgUHJvZmlsZU5hdmlnYXRpb24gYXMgUHJvZmlsZU5hdmlnYXRpb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3Byb2ZpbGVfbmF2aWdhdGlvblwiO1xuaW1wb3J0IHsgSXRlbSB9IGZyb20gXCJAL21vbGVjdWxlcy9wcm9maWxlX25hdmlnYXRpb24vY29tcG9uZW50cy9wcm9maWxlX25hdmlnYXRpb24uaXRlbVwiO1xuaW1wb3J0IHsgSXRlbVR5cGUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uL3Byb2ZpbGVfbmF2aWdhdGlvbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgUHJvZmlsZU5hdmlnYXRpb24gPSAoeyBjaGlsZHJlbiB9OiBJUHJvZmlsZU5hdmlnYXRpb24pID0+IHtcbiAgcmV0dXJuIDxQcm9maWxlTmF2aWdhdGlvbkNvbXBvbmVudD57Y2hpbGRyZW59PC9Qcm9maWxlTmF2aWdhdGlvbkNvbXBvbmVudD47XG59O1xuXG5Qcm9maWxlTmF2aWdhdGlvbi5JdGVtID0gSXRlbTtcblxuZXhwb3J0IHsgSXRlbVR5cGUgfTtcbmV4cG9ydCB0eXBlIHsgSVByb2ZpbGVOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvbi9wcm9maWxlX25hdmlnYXRpb24udHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElSZWNvcmRzQmFzZSB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzL3JlY29yZHMudHlwZXNcIjtcbmltcG9ydCB7IHVzZVJlY29yZHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9ob29rcy91c2UtcmVjb3Jkc1wiO1xuaW1wb3J0IHsgR3JpZCB9IGZyb20gXCJAL2xheW91dHMvZ3JpZFwiO1xuaW1wb3J0IHsgU3BhY2luZyB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFJlY29yZHMgPSAoeyBjaGlsZHJlbiB9OiBJUmVjb3Jkc0Jhc2UpID0+IHtcbiAgY29uc3QgSXNTa2VsZXRvbiA9IHVzZUlzUHJvY2Vzc2luZygpO1xuXG4gIGNvbnN0IFRoZW1lID0gdXNlUmVjb3JkcyhJc1NrZWxldG9uKTtcblxuICBjb25zdCByZWNvcmRzID0gUmVhY3QuQ2hpbGRyZW4ubWFwKGNoaWxkcmVuLCAoY2hpbGQpID0+IHtcbiAgICBpZiAoIVJlYWN0LmlzVmFsaWRFbGVtZW50KGNoaWxkKSkgcmV0dXJuIGNoaWxkO1xuICAgIHJldHVybiA8R3JpZC5JdGVtPntjaGlsZH08L0dyaWQuSXRlbT47XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPEdyaWQgZ2FwPXtTcGFjaW5nLlMzMH0gZGlyZWN0aW9uPXtcImNvbHVtblwifT5cbiAgICAgIHtyZWNvcmRzfVxuICAgIDwvR3JpZD5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBJUmVjb3Jkc1RoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3JlY29yZHMvcmVjb3Jkcy50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlUmVjb3JkcyA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVJlY29yZHNUaGVtZSA9PiB7XG4gIHJldHVybiB7fTtcbn07XG4iLCJpbXBvcnQgeyBJUmVjb3JkcyB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzL3JlY29yZHMudHlwZXNcIjtcbmltcG9ydCB7IFJlY29yZHMgYXMgQmFzZVJlY29yZHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9jb21wb25lbnRzL3JlY29yZHNcIjtcblxuZXhwb3J0IGNvbnN0IFJlY29yZHMgPSAoeyBjaGlsZHJlbiB9OiBJUmVjb3JkcykgPT4ge1xuICByZXR1cm4gPEJhc2VSZWNvcmRzPntjaGlsZHJlbn08L0Jhc2VSZWNvcmRzPjtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSVJlY29yZHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkcy9yZWNvcmRzLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBDaGlsZHJlbiB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlU3RhdHVzTGlzdFRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L2hvb2tzL3VzZS1zdGF0dXMtbGlzdFwiO1xuaW1wb3J0IHsgSVN0YXR1c0xpc3RCYXNlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5pbXBvcnQge1xuICBTdHlsZWRTa2VsZXRvblN0YXR1c0xpc3QsXG4gIFN0eWxlZFN0YXR1c0xpc3QsXG4gIFN0eWxlZFN0YXR1c0xpc3RDb3VudCxcbiAgU3R5bGVkU3RhdHVzTGlzdEl0ZW1zLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3Quc3R5bGVcIjtcbmltcG9ydCB7IFBsYWNlaG9sZGVyIH0gZnJvbSBcIkBzdG9yeWJvb2svY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXJcIjtcbmltcG9ydCB7IENvbnRhaW5lclR5cGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIuZW51bXNcIjtcbmltcG9ydCB7IENvbG9yLCBDb2xvclZhcmlhbnQsIFJhZGl1cywgU3BhY2luZyB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgdXNlSXNQcm9jZXNzaW5nIH0gZnJvbSBcIkAvaG9va3MvdXNlLWlzLXByb2Nlc3NpbmdcIjtcblxuZXhwb3J0IGNvbnN0IFN0YXR1c0xpc3QgPSAoeyBjaGlsZHJlbiwgd2l0aENvdW50IH06IElTdGF0dXNMaXN0QmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG5cbiAgY29uc3QgVGhlbWUgPSB1c2VTdGF0dXNMaXN0VGhlbWUoSXNTa2VsZXRvbik7XG5cbiAgaWYgKElzU2tlbGV0b24pIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZFNrZWxldG9uU3RhdHVzTGlzdCB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8UGxhY2Vob2xkZXI+e2NoaWxkcmVufTwvUGxhY2Vob2xkZXI+XG4gICAgICA8L1N0eWxlZFNrZWxldG9uU3RhdHVzTGlzdD5cbiAgICApO1xuICB9XG5cbiAgY29uc3QgQ291bnQgPSB3aXRoQ291bnQgPyAoXG4gICAgPENvbnRhaW5lclxuICAgICAgbGlmdGVkPXtmYWxzZX1cbiAgICAgIHBhZGRpbmc9e1NwYWNpbmcuUzIwfVxuICAgICAgcmFkaXVzPXtSYWRpdXMuU019XG4gICAgICB0eXBlPXtDb250YWluZXJUeXBlLk5PUk1BTH1cbiAgICAgIHRpbnQ9e0NvbG9yVmFyaWFudC5USU5UXzUwfVxuICAgICAgZnVsbFdpZHRoPXtmYWxzZX1cbiAgICAgIGNvbG9yPXtDb2xvci5ORVVUUkFMU31cbiAgICA+XG4gICAgICA8U3R5bGVkU3RhdHVzTGlzdENvdW50IHRoZW1lPXtUaGVtZX0+XG4gICAgICAgIHtDaGlsZHJlbi5jb3VudChjaGlsZHJlbil9XG4gICAgICA8L1N0eWxlZFN0YXR1c0xpc3RDb3VudD5cbiAgICA8L0NvbnRhaW5lcj5cbiAgKSA6IG51bGw7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkU3RhdHVzTGlzdCB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFN0YXR1c0xpc3RJdGVtcz57Y2hpbGRyZW59PC9TdHlsZWRTdGF0dXNMaXN0SXRlbXM+XG4gICAgICB7Q291bnR9XG4gICAgPC9TdHlsZWRTdGF0dXNMaXN0PlxuICApO1xufTtcbiIsImltcG9ydCB7IElTdGF0dXNMaXN0VGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvc3RhdHVzX2xpc3Qvc3RhdHVzX2xpc3QudHlwZXNcIjtcbmltcG9ydCB7IHVzZVRoZW1lQ29sb3IsIHVzZVRoZW1lRm9udHMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IHVzZVN0YXR1c0xpc3RUaGVtZSA9IChpc1NrZWxldG9uOiBib29sZWFuKTogSVN0YXR1c0xpc3RUaGVtZSA9PiB7XG4gIGNvbnN0IEZvbnQgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcblxuICBpZiAoaXNTa2VsZXRvbikge1xuICAgIHJldHVybiB7XG4gICAgICBmb250OiBGb250LnByaW1hcnkuc20ubWVkaXVtLFxuICAgICAgY29sb3I6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICAgIH07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGZvbnQ6IEZvbnQucHJpbWFyeS5zbS5tZWRpdW0sXG4gICAgY29sb3I6IENvbG9ycy5wcmltYXJ5LnRpbnRfNTAwLFxuICB9O1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJU3RhdHVzTGlzdFRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTdGF0dXNMaXN0ID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJU3RhdHVzTGlzdFRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IGNhbGMoNHB4ICogNCk7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xpc3RJdGVtcyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xpc3RUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGdhcDogNHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFN0YXR1c0xpc3RDb3VudCA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVN0YXR1c0xpc3RUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGNvbG9yOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuY29sb3J9O1xuICBmb250OiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuZm9udH07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25TdGF0dXNMaXN0ID0gc3R5bGVkKFN0eWxlZFN0YXR1c0xpc3QpPHtcbiAgdGhlbWU6IElTdGF0dXNMaXN0VGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ29udGFpbmVyVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbnRhaW5lciA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJQ29udGFpbmVyVGhlbWUgfT5gXG4gIGRpc3BsYXk6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5kaXNwbGF5fTtcbiAgbWluLXdpZHRoOiAxcHg7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIGJveC1zaGFkb3c6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5zaGFkb3d9O1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIGJvcmRlcjogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmJvcmRlcn07XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29udGFpbmVyUGFkZGluZyA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7XG4gIHRoZW1lOiBJQ29udGFpbmVyVGhlbWU7XG59PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5yYWRpdXN9O1xuICBtYXJnaW46ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5wYWRkaW5nfTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvbkNvbnRhaW5lciA9IHN0eWxlZChTdHlsZWRDb250YWluZXIpLndpdGhDb25maWcoe1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+IFtcImNoaWxkcmVuXCJdLmluY2x1ZGVzKHByb3ApLFxufSk8e1xuICB0aGVtZTogSUNvbnRhaW5lclRoZW1lO1xufT5gXG4gIGFuaW1hdGlvbjogcHVsc2UgMnMgY3ViaWMtYmV6aWVyKDAuNCwgMCwgMC42LCAxKSBpbmZpbml0ZTtcbmA7XG4iLCJpbXBvcnQgeyBJQ29udGFpbmVyVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb250YWluZXIudHlwZXNcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7XG4gIG9yRGVmYXVsdCxcbiAgdXNlVGhlbWVDb2xvcixcbiAgdXNlVGhlbWVSYWRpdXMsXG4gIHVzZVRoZW1lVXRpbGl0eSxcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQge1xuICBDb2xvcixcbiAgQ29sb3JWYXJpYW50S2V5LFxuICBSYWRpdXNLZXksXG4gIFNwYWNpbmdLZXksXG59IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuaW1wb3J0IHsgQ29udGFpbmVyVHlwZSB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlQ29udGFpbmVyID0gKFxuICBjb2xvcjogQ29sb3IsXG4gIHR5cGU6IENvbnRhaW5lclR5cGUsXG4gIGxpZnRlZDogYm9vbGVhbixcbiAgdGludDogQ29sb3JWYXJpYW50S2V5LFxuICByYWRpdXM6IFJhZGl1c0tleSxcbiAgcGFkZGluZzogU3BhY2luZ0tleSxcbiAgZnVsbFdpZHRoOiBib29sZWFuLFxuKTogSUNvbnRhaW5lclRoZW1lID0+IHtcbiAgY29uc3QgQ29sb3JzID0gdXNlVGhlbWVDb2xvcigpO1xuICBjb25zdCBUaGVtZVJhZGl1cyA9IHVzZVRoZW1lUmFkaXVzKCk7XG4gIGNvbnN0IFV0aWxpdHkgPSB1c2VUaGVtZVV0aWxpdHkoKTtcblxuICBjb25zdCBSYWRpdXNCYXNlID0gbWF0Y2gocmFkaXVzLCBbXG4gICAgW1wieHNcIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy54cywgcXVpcmt5OiBUaGVtZVJhZGl1cy5zbSB9XSxcbiAgICBbXCJzbVwiLCB7IGJhc2U6IFRoZW1lUmFkaXVzLnNtLCBxdWlya3k6IFRoZW1lUmFkaXVzLm1kIH1dLFxuICAgIFtcIm1kXCIsIHsgYmFzZTogVGhlbWVSYWRpdXMubWQsIHF1aXJreTogVGhlbWVSYWRpdXMubGcgfV0sXG4gICAgW1wibGdcIiwgeyBiYXNlOiBUaGVtZVJhZGl1cy5sZywgcXVpcmt5OiBUaGVtZVJhZGl1cy54bCB9XSxcbiAgICBbXCJ4bFwiLCB7IGJhc2U6IFRoZW1lUmFkaXVzLnhsLCBxdWlya3k6IFRoZW1lUmFkaXVzW1wiMnhsXCJdIH1dLFxuICAgIFtcIjJ4bFwiLCB7IGJhc2U6IFRoZW1lUmFkaXVzW1wiMnhsXCJdLCBxdWlya3k6IFRoZW1lUmFkaXVzW1wiM3hsXCJdIH1dLFxuICAgIFtcbiAgICAgIFwiM3hsXCIsXG4gICAgICB7XG4gICAgICAgIGJhc2U6IFRoZW1lUmFkaXVzW1wiM3hsXCJdLFxuICAgICAgICBxdWlya3k6IFwiY2FsYyhcIiArIFRoZW1lUmFkaXVzW1wiM3hsXCJdICsgXCIqIDEuMilcIixcbiAgICAgIH0sXG4gICAgXSxcbiAgXSk7XG5cbiAgY29uc3QgYm9yZGVyUmFkaXVzID0gbWF0Y2godHlwZSwgW1xuICAgIFtDb250YWluZXJUeXBlLk5PUk1BTCwgUmFkaXVzQmFzZS5iYXNlXSxcbiAgICBbXG4gICAgICBDb250YWluZXJUeXBlLlFVSVJLWSxcbiAgICAgIFJhZGl1c0Jhc2UuYmFzZSArXG4gICAgICAgIFwiIFwiICtcbiAgICAgICAgUmFkaXVzQmFzZS5iYXNlICtcbiAgICAgICAgXCIgXCIgK1xuICAgICAgICBSYWRpdXNCYXNlLnF1aXJreSArXG4gICAgICAgIFwiIFwiICtcbiAgICAgICAgXCIwXCIsXG4gICAgXSxcbiAgXSk7XG5cbiAgY29uc3QgU2hhZG93ID0gbGlmdGVkID8gXCIwcHggNHB4IDIwcHggMHB4ICNDOUM5Qzk0MFwiIDogXCJub25lXCI7XG4gIGNvbnN0IEJhY2tncm91bmQgPSBvckRlZmF1bHQoQ29sb3JzLCBcInRyYW5zcGFyZW50XCIsIFtjb2xvciwgdGludF0pO1xuXG4gIHJldHVybiB7XG4gICAgcmFkaXVzOiBib3JkZXJSYWRpdXMsXG4gICAgYmFja2dyb3VuZDogQmFja2dyb3VuZCxcbiAgICBzaGFkb3c6IFNoYWRvdyxcbiAgICBib3JkZXI6IFwibm9uZVwiLFxuICAgIGRpc3BsYXk6IGZ1bGxXaWR0aCA/IFwiZmxleFwiIDogXCJpbmxpbmUtZmxleFwiLFxuICAgIHBhZGRpbmc6IFV0aWxpdHkuc3BhY2luZ1twYWRkaW5nXSxcbiAgfTtcbn07XG4iLCJleHBvcnQgZW51bSBDb250YWluZXJUeXBlIHtcbiAgTk9STUFMID0gXCJOT1JNQUxcIixcbiAgUVVJUktZID0gXCJRVUlSS1lcIixcbn1cbiIsImltcG9ydCB7XG4gIFN0eWxlZENvbnRhaW5lcixcbiAgU3R5bGVkQ29udGFpbmVyUGFkZGluZyxcbn0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLnN0eWxlXCI7XG5pbXBvcnQgeyBJQ29udGFpbmVyQmFzZSB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci50eXBlc1wiO1xuaW1wb3J0IHsgdXNlQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvaG9va3MvdXNlLWNvbnRhaW5lclwiO1xuXG5leHBvcnQgY29uc3QgQ29udGFpbmVyID0gKHtcbiAgY2hpbGRyZW4sXG4gIHR5cGUsXG4gIGNvbG9yLFxuICBsaWZ0ZWQsXG4gIHJhZGl1cyxcbiAgcGFkZGluZyxcbiAgdGludCxcbiAgZnVsbFdpZHRoLFxufTogSUNvbnRhaW5lckJhc2UpID0+IHtcbiAgY29uc3QgVGhlbWUgPSB1c2VDb250YWluZXIoXG4gICAgY29sb3IsXG4gICAgdHlwZSxcbiAgICBsaWZ0ZWQsXG4gICAgdGludCxcbiAgICByYWRpdXMsXG4gICAgcGFkZGluZyxcbiAgICBmdWxsV2lkdGgsXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ29udGFpbmVyIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkQ29udGFpbmVyUGFkZGluZyB0aGVtZT17VGhlbWV9PntjaGlsZHJlbn08L1N0eWxlZENvbnRhaW5lclBhZGRpbmc+XG4gICAgPC9TdHlsZWRDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSUNvbnRhaW5lciB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci50eXBlc1wiO1xuaW1wb3J0IHsgQ29udGFpbmVyIGFzIEJhc2VDb250YWluZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lci9jb21wb25lbnRzL2NvbnRhaW5lclwiO1xuaW1wb3J0IHsgQ29udGFpbmVyVHlwZSB9IGZyb20gXCJAL2xheW91dHMvY29udGFpbmVyL2NvbnRhaW5lci5lbnVtc1wiO1xuaW1wb3J0IHsgQ29sb3IsIENvbG9yVmFyaWFudCwgUmFkaXVzLCBTcGFjaW5nIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCBjb25zdCBDb250YWluZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgdHlwZSA9IENvbnRhaW5lclR5cGUuTk9STUFMLFxuICByYWRpdXMgPSBSYWRpdXMuTUQsXG4gIGNvbG9yID0gQ29sb3IuU1VSRkFDRVMsXG4gIHRpbnQgPSBDb2xvclZhcmlhbnQuVElOVF81MDAsXG4gIGxpZnRlZCA9IHRydWUsXG4gIHBhZGRpbmcgPSBTcGFjaW5nLlMyMCxcbiAgZnVsbFdpZHRoID0gdHJ1ZSxcbn06IElDb250YWluZXIpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8QmFzZUNvbnRhaW5lclxuICAgICAgdHlwZT17dHlwZSA/IHR5cGUgOiBDb250YWluZXJUeXBlLk5PUk1BTH1cbiAgICAgIHRpbnQ9e3RpbnQgPyB0aW50IDogQ29sb3JWYXJpYW50LlRJTlRfNTAwfVxuICAgICAgbGlmdGVkPXtsaWZ0ZWQgPyBsaWZ0ZWQgOiB0cnVlfVxuICAgICAgY29sb3I9e2NvbG9yID8gY29sb3IgOiBDb2xvci5TVVJGQUNFU31cbiAgICAgIHJhZGl1cz17cmFkaXVzID8gcmFkaXVzIDogUmFkaXVzLk1EfVxuICAgICAgcGFkZGluZz17cGFkZGluZyA/IHBhZGRpbmcgOiBTcGFjaW5nLlMyMH1cbiAgICAgIGZ1bGxXaWR0aD17ZnVsbFdpZHRoID8gZnVsbFdpZHRoIDogdHJ1ZX1cbiAgICA+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9CYXNlQ29udGFpbmVyPlxuICApO1xufTtcblxuZXhwb3J0IHsgQ29udGFpbmVyVHlwZSB9O1xuZXhwb3J0IHR5cGUgeyBJQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXIvY29udGFpbmVyLnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBTdGF0dXNMaXN0IGFzIEJhc2VTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L2NvbXBvbmVudHMvc3RhdHVzX2xpc3RcIjtcbmltcG9ydCB7IElTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBTdGF0dXNMaXN0ID0gKHsgY2hpbGRyZW4sIHdpdGhDb3VudCB9OiBJU3RhdHVzTGlzdCkgPT4ge1xuICByZXR1cm4gPEJhc2VTdGF0dXNMaXN0IHdpdGhDb3VudD17d2l0aENvdW50fT57Y2hpbGRyZW59PC9CYXNlU3RhdHVzTGlzdD47XG59O1xuXG5leHBvcnQgdHlwZSB7IElTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0L3N0YXR1c19saXN0LnR5cGVzXCI7XG4iLCJpbXBvcnQgeyBJVG9wTmF2aWdhdGlvblRoZW1lIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL3RvcF9uYXZpZ2F0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZUNvbG9yLCB1c2VUaGVtZUZvbnRzLCB1c2VUaGVtZVJhZGl1cyB9IGZyb20gXCJAdGFjdGljcy90YWNreVwiO1xuaW1wb3J0IHsgTG9va3VwQWRkaXRpb25hbENvbG9yIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5pbXBvcnQgbWF0Y2ggZnJvbSBcIm1hdGNoLW9wZXJhdG9yXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VUb3BOYXZpZ2F0aW9uID0gKGlzU2tlbGV0b246IGJvb2xlYW4pOiBJVG9wTmF2aWdhdGlvblRoZW1lID0+IHtcbiAgY29uc3QgRm9udHMgPSB1c2VUaGVtZUZvbnRzKCk7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgUmFkaXVzID0gdXNlVGhlbWVSYWRpdXMoKTtcblxuICBjb25zdCBza2VsZXRvbkJnQ29sb3IgPSBMb29rdXBBZGRpdGlvbmFsQ29sb3Ioe1xuICAgIG5hbWU6IFwic2tlbGV0b25cIixcbiAgICBjb2xvcnM6IENvbG9ycy5hZGRpdGlvbmFsLFxuICAgIGZhbGxiYWNrOiBDb2xvcnMuc3VyZmFjZXMudGludF80MDAsXG4gIH0pO1xuXG4gIHJldHVybiBtYXRjaChpc1NrZWxldG9uLCBbXG4gICAgW1xuICAgICAgZmFsc2UsXG4gICAgICB7XG4gICAgICAgIGZvbnQ6IEZvbnRzLnByaW1hcnkubWQubm9ybWFsLFxuICAgICAgICBkaXZpZGVyQ29sb3I6IENvbG9ycy5uZXV0cmFscy50aW50Xzk1MCxcbiAgICAgICAgYmFja2dyb3VuZDogQ29sb3JzLm5ldXRyYWxzLnRpbnRfOTUwLFxuICAgICAgICByYWRpdXM6IFJhZGl1cy5tZCxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBbXG4gICAgICB0cnVlLFxuICAgICAge1xuICAgICAgICBmb250OiBGb250cy5wcmltYXJ5Lm1kLm5vcm1hbCxcbiAgICAgICAgZGl2aWRlckNvbG9yOiBza2VsZXRvbkJnQ29sb3IsXG4gICAgICAgIGJhY2tncm91bmQ6IHNrZWxldG9uQmdDb2xvcixcbiAgICAgICAgcmFkaXVzOiBSYWRpdXMubWQsXG4gICAgICB9LFxuICAgIF0sXG4gIF0pO1xufTtcbiIsImltcG9ydCB7IElUb3BOYXZpZ2F0aW9uVGhlbWUgfSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vdG9wX25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUb3BOYXZpZ2F0aW9uQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJVG9wTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGZvbnQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5mb250fTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAxNnB4O1xuXG4gID4gZGl2Om5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5kaXZpZGVyQ29sb3J9O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU2tlbGV0b25FeGFtcGxlID0gc3R5bGVkKFN0eWxlZFRvcE5hdmlnYXRpb25Db250YWluZXIpPHtcbiAgdGhlbWU6IElUb3BOYXZpZ2F0aW9uVGhlbWU7XG59PmBcbiAgYW5pbWF0aW9uOiBwdWxzZSAycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtID0gc3R5bGVkLmE8eyB0aGVtZTogSVRvcE5hdmlnYXRpb25UaGVtZSB9PmBcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbVNrZWxldG9uID0gc3R5bGVkLnNwYW48e1xuICB0aGVtZTogSVRvcE5hdmlnYXRpb25UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgY29sb3I6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5iYWNrZ3JvdW5kfTtcbiAgZm9udDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLmZvbnR9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyLXJhZGl1czogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnJhZGl1c307XG4gIHVzZXItc2VsZWN0OiBub25lO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7XG4gIHRoZW1lOiBJVG9wTmF2aWdhdGlvblRoZW1lO1xufT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTZweDtcbmA7XG4iLCJpbXBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuaW1wb3J0IHsgdXNlVG9wTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9ob29rcy91c2UtdG9wLW5hdmlnYXRpb25cIjtcbmltcG9ydCB7XG4gIFN0eWxlZFRvcE5hdmlnYXRpb25Db250YWluZXIsXG4gIFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtQ29udGFpbmVyLFxuICBTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbVNrZWxldG9uLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vdG9wX25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IElUb3BOYXZpZ2F0aW9uQmFzZSB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi90b3BfbmF2aWdhdGlvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgVG9wTmF2aWdhdGlvbiA9ICh7IGNoaWxkcmVuIH06IElUb3BOYXZpZ2F0aW9uQmFzZSkgPT4ge1xuICBjb25zdCBJc1NrZWxldG9uID0gdXNlSXNQcm9jZXNzaW5nKCk7XG4gIGNvbnN0IFRoZW1lID0gdXNlVG9wTmF2aWdhdGlvbihJc1NrZWxldG9uKTtcblxuICBpZiAoSXNTa2VsZXRvbikge1xuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkVG9wTmF2aWdhdGlvbkNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICA8U3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgICAgICA8U3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Ta2VsZXRvbiB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgICAgPHNwYW4+bG9hZGluZy4uLjwvc3Bhbj5cbiAgICAgICAgICA8L1N0eWxlZFRvcE5hdmlnYXRpb25JdGVtU2tlbGV0b24+XG4gICAgICAgIDwvU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXI+XG4gICAgICAgIDxTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgICAgIDxTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbVNrZWxldG9uIHRoZW1lPXtUaGVtZX0+XG4gICAgICAgICAgICA8c3Bhbj5sb2FkaW5nLi4uPC9zcGFuPlxuICAgICAgICAgIDwvU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Ta2VsZXRvbj5cbiAgICAgICAgPC9TdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbUNvbnRhaW5lcj5cbiAgICAgIDwvU3R5bGVkVG9wTmF2aWdhdGlvbkNvbnRhaW5lcj5cbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkVG9wTmF2aWdhdGlvbkNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvU3R5bGVkVG9wTmF2aWdhdGlvbkNvbnRhaW5lcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyB1c2VUb3BOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL2hvb2tzL3VzZS10b3AtbmF2aWdhdGlvblwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW0sXG4gIFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtQ29udGFpbmVyLFxufSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vdG9wX25hdmlnYXRpb24uc3R5bGVcIjtcbmltcG9ydCB7IElUb3BOYXZpZ2F0aW9uSXRlbUJhc2UgfSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vdG9wX25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IEljb24gfSBmcm9tIFwiQC91aS9pY29uXCI7XG5pbXBvcnQgeyBJY29uQ29udGV4dCB9IGZyb20gXCJAL3VpL2ljb24vaWNvbi5lbnVtc1wiO1xuXG5leHBvcnQgY29uc3QgSXRlbSA9ICh7IG9uQ2xpY2ssIGxhYmVsLCBpY29uIH06IElUb3BOYXZpZ2F0aW9uSXRlbUJhc2UpID0+IHtcbiAgY29uc3QgVGhlbWUgPSB1c2VUb3BOYXZpZ2F0aW9uKGZhbHNlKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRUb3BOYXZpZ2F0aW9uSXRlbUNvbnRhaW5lciB0aGVtZT17VGhlbWV9PlxuICAgICAgPFN0eWxlZFRvcE5hdmlnYXRpb25JdGVtXG4gICAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICAgIHRpdGxlPXtsYWJlbH1cbiAgICAgICAgYXJpYS1sYWJlbD17bGFiZWx9XG4gICAgICAgIHRoZW1lPXtUaGVtZX1cbiAgICAgID5cbiAgICAgICAgPEljb24gdHlwZT17aWNvbn0gc2NyZWVuUmVhZGVyVGV4dD17bGFiZWx9IGNvbnRleHQ9e0ljb25Db250ZXh0LkRBUkt9IC8+XG4gICAgICAgIDxzcGFuPntsYWJlbH08L3NwYW4+XG4gICAgICA8L1N0eWxlZFRvcE5hdmlnYXRpb25JdGVtPlxuICAgIDwvU3R5bGVkVG9wTmF2aWdhdGlvbkl0ZW1Db250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSVRvcE5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vdG9wX25hdmlnYXRpb24udHlwZXNcIjtcbmltcG9ydCB7IFRvcE5hdmlnYXRpb24gYXMgVG9wTmF2aWdhdGlvbkNvbXBvbmVudCB9IGZyb20gXCJAL21vbGVjdWxlcy90b3BfbmF2aWdhdGlvbi9jb21wb25lbnRzL3RvcF9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBJdGVtIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uL2NvbXBvbmVudHMvdG9wX25hdmlnYXRpb24uaXRlbVwiO1xuXG5leHBvcnQgY29uc3QgVG9wTmF2aWdhdGlvbiA9ICh7IGNoaWxkcmVuIH06IElUb3BOYXZpZ2F0aW9uKSA9PiB7XG4gIHJldHVybiA8VG9wTmF2aWdhdGlvbkNvbXBvbmVudD57Y2hpbGRyZW59PC9Ub3BOYXZpZ2F0aW9uQ29tcG9uZW50Pjtcbn07XG5cblRvcE5hdmlnYXRpb24uSXRlbSA9IEl0ZW07XG5cbmV4cG9ydCB0eXBlIHsgSVRvcE5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvdG9wX25hdmlnYXRpb24vdG9wX25hdmlnYXRpb24udHlwZXNcIjtcbiIsImltcG9ydCB7IElIZWFkZXJUaGVtZSB9IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXIvaGVhZGVyLnR5cGVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkSGVhZGVyQ29tcGFjdENvbnRhaW5lciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSUhlYWRlclRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIwcHggMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRIZWFkZXJDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElIZWFkZXJUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEhlYWRlckJyYW5kQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJSGVhZGVyVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiAxNHB4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRIZWFkZXJOYXZDb250YWluZXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElIZWFkZXJUaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBwYWRkaW5nOiAyNHB4IDA7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbmA7XG4iLCJpbXBvcnQgeyBJSGVhZGVyVGhlbWUgfSBmcm9tIFwiQC9vcmdhbmlzbXMvaGVhZGVyL2hlYWRlci50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgdXNlSGVhZGVyID0gKCk6IElIZWFkZXJUaGVtZSA9PiB7XG4gIHJldHVybiB7fTtcbn07XG4iLCJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5cbmNvbnN0IHVzZVdpbmRvd0RpbWVuc2lvbnMgPSAoKSA9PiB7XG4gIGNvbnN0IFt3aW5kb3dEaW1lbnNpb25zLCBzZXRXaW5kb3dEaW1lbnNpb25zXSA9IHVzZVN0YXRlKHtcbiAgICB3aWR0aDogd2luZG93LmlubmVyV2lkdGgsXG4gICAgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlUmVzaXplID0gKCkgPT4ge1xuICAgICAgc2V0V2luZG93RGltZW5zaW9ucyh7XG4gICAgICAgIHdpZHRoOiB3aW5kb3cuaW5uZXJXaWR0aCxcbiAgICAgICAgaGVpZ2h0OiB3aW5kb3cuaW5uZXJIZWlnaHQsXG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgaGFuZGxlUmVzaXplKTtcbiAgICByZXR1cm4gKCkgPT4gd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJyZXNpemVcIiwgaGFuZGxlUmVzaXplKTtcbiAgfSwgW10pO1xuXG4gIHJldHVybiB3aW5kb3dEaW1lbnNpb25zO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdXNlV2luZG93RGltZW5zaW9ucztcbiIsImltcG9ydCB7XG4gIFN0eWxlZEhlYWRlckJyYW5kQ29udGFpbmVyLFxuICBTdHlsZWRIZWFkZXJDb21wYWN0Q29udGFpbmVyLFxuICBTdHlsZWRIZWFkZXJDb250YWluZXIsXG4gIFN0eWxlZEhlYWRlck5hdkNvbnRhaW5lcixcbn0gZnJvbSBcIkAvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIuc3R5bGVcIjtcbmltcG9ydCB7IElIZWFkZXIgfSBmcm9tIFwiQC9vcmdhbmlzbXMvaGVhZGVyL2hlYWRlci50eXBlc1wiO1xuaW1wb3J0IHsgdXNlSGVhZGVyIH0gZnJvbSBcIkAvb3JnYW5pc21zL2hlYWRlci9ob29rcy91c2UtaGVhZGVyXCI7XG5pbXBvcnQgdXNlV2luZG93RGltZW5zaW9ucyBmcm9tIFwiQC9vcmdhbmlzbXMvaGVhZGVyL2hvb2tzL3VzZS1zY3JlZW4tZGltZW5zaW9uc1wiO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyID0gKHtcbiAgYnJhbmQsXG4gIG5hdmlnYXRpb24sXG4gIHByb2ZpbGVOYXZpZ2F0aW9uLFxuICB0b3BOYXZpZ2F0aW9uLFxuICBjb21wYWN0TmF2aWdhdGlvbixcbn06IElIZWFkZXIpID0+IHtcbiAgY29uc3QgVGhlbWUgPSB1c2VIZWFkZXIoKTtcbiAgY29uc3QgZGltZW5zaW9ucyA9IHVzZVdpbmRvd0RpbWVuc2lvbnMoKTtcblxuICBpZiAoZGltZW5zaW9ucy53aWR0aCA+IDEwMjQpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFN0eWxlZEhlYWRlckNvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZEhlYWRlckJyYW5kQ29udGFpbmVyPlxuICAgICAgICAgIHticmFuZH1cbiAgICAgICAgICB7bmF2aWdhdGlvbn1cbiAgICAgICAgPC9TdHlsZWRIZWFkZXJCcmFuZENvbnRhaW5lcj5cbiAgICAgICAgPFN0eWxlZEhlYWRlck5hdkNvbnRhaW5lcj5cbiAgICAgICAgICB7dG9wTmF2aWdhdGlvbn1cbiAgICAgICAgICB7cHJvZmlsZU5hdmlnYXRpb259XG4gICAgICAgIDwvU3R5bGVkSGVhZGVyTmF2Q29udGFpbmVyPlxuICAgICAgPC9TdHlsZWRIZWFkZXJDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEhlYWRlckNvbXBhY3RDb250YWluZXIgdGhlbWU9e1RoZW1lfT5cbiAgICAgIHtjb21wYWN0TmF2aWdhdGlvbn1cbiAgICAgIHtwcm9maWxlTmF2aWdhdGlvbn1cbiAgICA8L1N0eWxlZEhlYWRlckNvbXBhY3RDb250YWluZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUhlYWRlciB9IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXIvaGVhZGVyLnR5cGVzXCI7XG5pbXBvcnQgeyBIZWFkZXIgYXMgSGVhZGVyQ29tcG9uZW50IH0gZnJvbSBcIkAvb3JnYW5pc21zL2hlYWRlci9jb21wb25lbnRzL2hlYWRlclwiO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyID0gKHtcbiAgYnJhbmQsXG4gIG5hdmlnYXRpb24sXG4gIHByb2ZpbGVOYXZpZ2F0aW9uLFxuICB0b3BOYXZpZ2F0aW9uLFxuICBjb21wYWN0TmF2aWdhdGlvbixcbn06IElIZWFkZXIpID0+IHtcbiAgcmV0dXJuIChcbiAgICA8SGVhZGVyQ29tcG9uZW50XG4gICAgICBicmFuZD17YnJhbmR9XG4gICAgICBuYXZpZ2F0aW9uPXtuYXZpZ2F0aW9ufVxuICAgICAgcHJvZmlsZU5hdmlnYXRpb249e3Byb2ZpbGVOYXZpZ2F0aW9ufVxuICAgICAgdG9wTmF2aWdhdGlvbj17dG9wTmF2aWdhdGlvbn1cbiAgICAgIGNvbXBhY3ROYXZpZ2F0aW9uPXtjb21wYWN0TmF2aWdhdGlvbn1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJSGVhZGVyIH0gZnJvbSBcIkAvb3JnYW5pc21zL2hlYWRlci9oZWFkZXIudHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSURpcmVjdGlvbkJhc2VkTWFwQmFzZSB9IGZyb20gXCJAL29yZ2FuaXNtcy9tYXAvbWFwLnR5cGVzXCI7XG5pbXBvcnQgeyBDb250cm9sUG9zaXRpb24sIHVzZU1hcCB9IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5pbXBvcnQgeyB1c2VHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25zUmVuZGVyZXIgfSBmcm9tIFwiQC9ob29rcy91c2UtZ29vZ2xlLWFwaS1yb3V0ZXMtZGlyZWN0aW9ucy1yZW5kZXJlclwiO1xuaW1wb3J0IHsgUm91dGVzIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3JvdXRlc1wiO1xuXG5leHBvcnQgY29uc3QgRGlyZWN0aW9uTWFwID0gKHsgZGlyZWN0aW9ucyB9OiBJRGlyZWN0aW9uQmFzZWRNYXBCYXNlKSA9PiB7XG4gIGNvbnN0IG1hcCA9IHVzZU1hcCgpO1xuICBpZiAoIW1hcCkge1xuICAgIGNvbnNvbGUubG9nKFwiVGhpcyBjb21wb25lbnQgbmVlZHMgdG8gYmUgdXNlZCBpbnNpZGUgb2YgYSBNYXBcIik7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBpZiAoIWRpcmVjdGlvbnMpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHJlbmRlcmVyID0gdXNlR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uc1JlbmRlcmVyKCk7XG4gIGlmICghcmVuZGVyZXIpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IFthY3RpdmVSb3V0ZSwgc2V0QWN0aXZlUm91dGVdID0gdXNlU3RhdGUoMCk7XG5cbiAgY29uc3Qgb25Sb3V0ZUNsaWNrZWQgPSAoaW5kZXg6IG51bWJlcikgPT4ge1xuICAgIHNldEFjdGl2ZVJvdXRlKGluZGV4KTtcbiAgICByZW5kZXJlci5zZXRSb3V0ZUluZGV4KGluZGV4KTtcbiAgfTtcblxuICBjb25zdCByZW5kZXJPcHRpb25zID0ge1xuICAgIGRyYWdnYWJsZTogdHJ1ZSxcbiAgICBoaWRlUm91dGVMaXN0OiB0cnVlLFxuICAgIHBvbHlsaW5lT3B0aW9uczoge1xuICAgICAgc3Ryb2tlQ29sb3I6IFwiI0VCNzMyMlwiLFxuICAgICAgc3Ryb2tlT3BhY2l0eTogMC4yLFxuICAgICAgc3Ryb2tlV2VpZ2h0OiA4LFxuICAgICAgZ2VvZGVzaWM6IHRydWUsXG4gICAgICBlZGl0YWJsZTogZmFsc2UsXG4gICAgICBkcmFnZ2FibGU6IGZhbHNlLFxuICAgIH0sXG4gICAgbWFya2VyT3B0aW9uczoge1xuICAgICAgaWNvbjoge1xuICAgICAgICBwYXRoOiBcIk0xNiA4QzE2IDEyLjQxODMgMTIuNDE4MyAxNiA4IDE2QzMuNTgxNzIgMTYgMCAxMi40MTgzIDAgOEMwIDMuNTgxNzIgMy41ODE3MiAwIDggMEMxMi40MTgzIDAgMTYgMy41ODE3MiAxNiA4WlwiLFxuICAgICAgICBmaWxsQ29sb3I6IFwiI0VCNzMyMlwiLFxuICAgICAgICBmaWxsT3BhY2l0eTogMSxcbiAgICAgICAgc3Ryb2tlV2VpZ2h0OiAwLFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xuXG4gIC8vcmVuZGVyZXIuc2V0T3B0aW9ucyhyZW5kZXJPcHRpb25zKTtcbiAgLy9yZW5kZXJlci5zZXREaXJlY3Rpb25zKGRpcmVjdGlvbnMpO1xuICAvL3JlbmRlcmVyLnNldE1hcChtYXApO1xuXG4gIC8qcmV0dXJuIChcbiAgICAgIDxSb3V0ZXNcbiAgICAgICAgICBsYWJlbD17XCJSb3V0ZVwifVxuICAgICAgICAgIGFjdGl2ZVJvdXRlPXthY3RpdmVSb3V0ZX1cbiAgICAgICAgICByb3V0ZXM9e2RpcmVjdGlvbnMucm91dGVzfVxuICAgICAgICAgIHBvc2l0aW9uPXtDb250cm9sUG9zaXRpb24uQk9UVE9NX1JJR0hUfVxuICAgICAgICAgIHBvc2l0aW9uT2Zmc2V0PXsxMH1cbiAgICAgICAgICBvblJvdXRlQ2xpY2tlZD17KGluZGV4KSA9PiBvblJvdXRlQ2xpY2tlZChpbmRleCl9XG4gICAgICAvPlxuICApOyovXG4gIHJldHVybiA8PjwvPjtcbn07XG4iLCJpbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25SZW5kZXJlckNvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9nb29nbGUtYXBpLXJvdXRlcy1kaXJlY3Rpb25zLXJlbmRlcmVyXCI7XG5cbmV4cG9ydCBjb25zdCB1c2VHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25zUmVuZGVyZXIgPVxuICAoKTogZ29vZ2xlLm1hcHMuRGlyZWN0aW9uc1JlbmRlcmVyIHwgbnVsbCA9PiB7XG4gICAgcmV0dXJuIHVzZUNvbnRleHQoR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJDb250ZXh0KTtcbiAgfTtcbiIsImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICBQcm9wc1dpdGhDaGlsZHJlbixcbiAgdXNlRWZmZWN0LFxuICB1c2VTdGF0ZSxcbn0gZnJvbSBcInJlYWN0XCI7XG5cbmltcG9ydCB7IHVzZU1hcHNMaWJyYXJ5IH0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvblJlbmRlcmVyQ29udGV4dDogUmVhY3QuQ29udGV4dDxnb29nbGUubWFwcy5EaXJlY3Rpb25zUmVuZGVyZXIgfCBudWxsPiA9XG4gIGNyZWF0ZUNvbnRleHQobnVsbCk7XG5cbmV4cG9ydCBjb25zdCBHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25SZW5kZXJlclByb3ZpZGVyID0gKHtcbiAgY2hpbGRyZW4sXG59OiBQcm9wc1dpdGhDaGlsZHJlbikgPT4ge1xuICBjb25zdCBbc2VydmljZSwgc2V0U2VydmljZV0gPSB1c2VTdGF0ZTxnb29nbGUubWFwcy5EaXJlY3Rpb25zUmVuZGVyZXIgfCBudWxsPihcbiAgICBudWxsLFxuICApO1xuICBjb25zdCByb3V0ZXNMaWJyYXJ5ID0gdXNlTWFwc0xpYnJhcnkoXCJyb3V0ZXNcIik7XG5cbiAgLy8gSW5pdGlhbGl6ZSBkaXJlY3Rpb24gc2VydmljZSBhbmQgcmVuZGVyZXJcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIXJvdXRlc0xpYnJhcnkpIHJldHVybjtcbiAgICBzZXRTZXJ2aWNlKG5ldyByb3V0ZXNMaWJyYXJ5LkRpcmVjdGlvbnNSZW5kZXJlcigpKTtcbiAgfSwgW3JvdXRlc0xpYnJhcnldKTtcblxuICByZXR1cm4gKFxuICAgIDxHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25SZW5kZXJlckNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3NlcnZpY2V9PlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElMb2NhdGlvbkJhc2VkTWFwQmFzZSwgSVBvaW50T25NYXAgfSBmcm9tIFwiQC9vcmdhbmlzbXMvbWFwL21hcC50eXBlc1wiO1xuaW1wb3J0IHsgQWR2YW5jZWRNYXJrZXIsIHVzZU1hcCB9IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5cbmV4cG9ydCBjb25zdCBMb2NhdGlvbk1hcCA9ICh7IHBvaW50cywgb3JpZ2luIH06IElMb2NhdGlvbkJhc2VkTWFwQmFzZSkgPT4ge1xuICBjb25zdCBtYXAgPSB1c2VNYXAoKTtcbiAgaWYgKCFtYXApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IG1hcFBvaW50cyA9IHBvaW50cyA/PyBbXTtcblxuICBjb25zdCBvbk1hcmtlckNsaWNrZWQgPSBmdW5jdGlvbiAoXG4gICAgZXZlbnQ6IGdvb2dsZS5tYXBzLk1hcE1vdXNlRXZlbnQsXG4gICAgcG9pbnQ6IElQb2ludE9uTWFwLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBjbGlja2VkID0ge1xuICAgICAgZXZlbnQ6IGV2ZW50LFxuICAgICAgcG9pbnQ6IHBvaW50LFxuICAgIH07XG5cbiAgICBjb25zb2xlLmxvZyhjbGlja2VkKTtcbiAgfTtcblxuICBjb25zdCBPcmlnaW5NYXJrZXIgPSAoXG4gICAgPEFkdmFuY2VkTWFya2VyXG4gICAgICBwb3NpdGlvbj17b3JpZ2luLmxhdExuZ31cbiAgICAgIGtleT17b3JpZ2luLmtleX1cbiAgICAgIGNsaWNrYWJsZT17dHJ1ZX1cbiAgICAgIG9uQ2xpY2s9eyhldmVudDogZ29vZ2xlLm1hcHMuTWFwTW91c2VFdmVudCkgPT5cbiAgICAgICAgb25NYXJrZXJDbGlja2VkKGV2ZW50LCBvcmlnaW4pXG4gICAgICB9XG4gICAgPlxuICAgICAge29yaWdpbi5tYXJrZXJ9XG4gICAgPC9BZHZhbmNlZE1hcmtlcj5cbiAgKTtcblxuICBjb25zdCBQb2ludE1hcmtlcnMgPSBtYXBQb2ludHMubWFwKChwb2ludCwgaSkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8QWR2YW5jZWRNYXJrZXJcbiAgICAgICAgcG9zaXRpb249e3BvaW50LmxhdExuZ31cbiAgICAgICAga2V5PXtwb2ludC5rZXl9XG4gICAgICAgIGNsaWNrYWJsZT17dHJ1ZX1cbiAgICAgICAgb25DbGljaz17KGV2ZW50OiBnb29nbGUubWFwcy5NYXBNb3VzZUV2ZW50KSA9PlxuICAgICAgICAgIG9uTWFya2VyQ2xpY2tlZChldmVudCwgbWFwUG9pbnRzW2ldKVxuICAgICAgICB9XG4gICAgICA+XG4gICAgICAgIHtwb2ludC5tYXJrZXJ9XG4gICAgICA8L0FkdmFuY2VkTWFya2VyPlxuICAgICk7XG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIHtPcmlnaW5NYXJrZXJ9XG4gICAgICB7UG9pbnRNYXJrZXJzfVxuICAgIDwvPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IElNYXAgfSBmcm9tIFwiQC9vcmdhbmlzbXMvbWFwL21hcC50eXBlc1wiO1xuaW1wb3J0IHsgRGlyZWN0aW9uTWFwIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5kaXJlY3Rpb25cIjtcbmltcG9ydCB7IExvY2F0aW9uTWFwIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9jb21wb25lbnRzL21hcC5sb2NhdGlvblwiO1xuaW1wb3J0IHsgdjQgYXMgdXVpZHY0IH0gZnJvbSBcInV1aWRcIjtcbmltcG9ydCB7IENvbnRyb2xQb3NpdGlvbiwgTWFwIGFzIEdvb2dsZU1hcCB9IGZyb20gXCJAdmlzLmdsL3JlYWN0LWdvb2dsZS1tYXBzXCI7XG5pbXBvcnQgeyBab29tIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb21cIjtcbmltcG9ydCB7IEdvb2dsZUFwaVJvdXRlc0RpcmVjdGlvblJlbmRlcmVyUHJvdmlkZXIgfSBmcm9tIFwiQC9jb250ZXh0cy9nb29nbGUtYXBpLXJvdXRlcy1kaXJlY3Rpb25zLXJlbmRlcmVyXCI7XG5cbmV4cG9ydCBjb25zdCBNYXAgPSAoeyBjaGlsZHJlbiwgbWFwSWQsIGRlZmF1bHRDZW50ZXIgfTogSU1hcCkgPT4ge1xuICBjb25zdCBkZWZhdWx0Wm9vbSA9IDExO1xuICBjb25zdCBtYXhab29tID0gMTU7XG4gIGNvbnN0IG1pblpvb20gPSAxMDtcbiAgY29uc3QgU3R5bGUgPSB7XG4gICAgZmxleDogXCJhdXRvXCIsXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8R29vZ2xlTWFwXG4gICAgICBpZD17dXVpZHY0KCl9XG4gICAgICBkZWZhdWx0Q2VudGVyPXtkZWZhdWx0Q2VudGVyfVxuICAgICAgZGVmYXVsdFpvb209e2RlZmF1bHRab29tfVxuICAgICAgbWFwSWQ9e21hcElkfVxuICAgICAgZ2VzdHVyZUhhbmRsaW5nPXtcImNvb3BlcmF0aXZlXCJ9XG4gICAgICBkaXNhYmxlRGVmYXVsdFVJPXt0cnVlfVxuICAgICAgc3R5bGU9e1N0eWxlfVxuICAgID5cbiAgICAgIDxHb29nbGVBcGlSb3V0ZXNEaXJlY3Rpb25SZW5kZXJlclByb3ZpZGVyPlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L0dvb2dsZUFwaVJvdXRlc0RpcmVjdGlvblJlbmRlcmVyUHJvdmlkZXI+XG4gICAgICA8Wm9vbVxuICAgICAgICBwb3NpdGlvbj17Q29udHJvbFBvc2l0aW9uLlJJR0hUX1RPUH1cbiAgICAgICAgcG9zaXRpb25PZmZzZXQ9ezEwfVxuICAgICAgICBtYXhab29tPXttYXhab29tfVxuICAgICAgICBtaW5ab29tPXttaW5ab29tfVxuICAgICAgLz5cbiAgICA8L0dvb2dsZU1hcD5cbiAgKTtcbn07XG5cbk1hcC5Mb2NhdGlvbiA9IExvY2F0aW9uTWFwO1xuTWFwLkRpcmVjdGlvbiA9IERpcmVjdGlvbk1hcDtcblxuZXhwb3J0IHR5cGUgeyBJTWFwIH0gZnJvbSBcIkAvb3JnYW5pc21zL21hcC9tYXAudHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBab29tIGFzIEJhc2Vab29tIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vY29tcG9uZW50cy96b29tXCI7XG5pbXBvcnQgeyBJWm9vbSB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20udHlwZXNcIjtcbmltcG9ydCB7IENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLmVudW1zXCI7XG5pbXBvcnQgeyBNYXBDb250cm9sLCB1c2VNYXAgfSBmcm9tIFwiQHZpcy5nbC9yZWFjdC1nb29nbGUtbWFwc1wiO1xuXG5jb25zdCBEZWZhdWx0OiBDb250ZXh0ID0gQ29udGV4dC5TVEFOREFSRDtcblxuLy8gQHRzLWlnbm9yZVxuZXhwb3J0IGNvbnN0IEN0eDogUmVhY3QuQ29udGV4dDxrZXlvZiB0eXBlb2YgQ29udGV4dD4gPSBjcmVhdGVDb250ZXh0KERlZmF1bHQpO1xuXG5leHBvcnQgY29uc3QgWm9vbSA9ICh7XG4gIGNvbnRleHQsXG4gIHBvc2l0aW9uT2Zmc2V0LFxuICBwb3NpdGlvbixcbiAgbWF4Wm9vbSxcbiAgbWluWm9vbSxcbn06IElab29tKSA9PiB7XG4gIGNvbnN0IENvbXBvbmVudENvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IERlZmF1bHQ7XG4gIGNvbnN0IG9mZnNldCA9IHBvc2l0aW9uT2Zmc2V0ID8/IDA7XG5cbiAgY29uc3QgbWFwID0gdXNlTWFwKCk7XG4gIGlmICghbWFwKSB7XG4gICAgY29uc29sZS5sb2coXCJUaGlzIGNvbXBvbmVudCBuZWVkcyB0byBiZSB1c2VkIGluc2lkZSBvZiBhIE1hcFwiKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHN0eWxlID0ge1xuICAgIHBhZGRpbmc6IG9mZnNldCArIFwicHhcIixcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxNYXBDb250cm9sIHBvc2l0aW9uPXtwb3NpdGlvbn0+XG4gICAgICA8ZGl2IHN0eWxlPXtzdHlsZX0+XG4gICAgICAgIDxDdHguUHJvdmlkZXIgdmFsdWU9e0NvbXBvbmVudENvbnRleHR9PlxuICAgICAgICAgIDxCYXNlWm9vbSBtYXA9e21hcH0gbWF4Wm9vbT17bWF4Wm9vbX0gbWluWm9vbT17bWluWm9vbX0gLz5cbiAgICAgICAgPC9DdHguUHJvdmlkZXI+XG4gICAgICA8L2Rpdj5cbiAgICA8L01hcENvbnRyb2w+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge1xuICBTdHlsZWRab29tLFxuICBTdHlsZWRab29tTWludXMsXG4gIFN0eWxlZFpvb21QbHVzLFxuICBTdHlsZWRab29tU2VwZXJhdG9yLFxufSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLnN0eWxlXCI7XG5pbXBvcnQgeyBJWm9vbUJhc2UgfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2Vab29tIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vaG9va3MvdXNlLXpvb21cIjtcbmltcG9ydCB7IEN0eCB9IGZyb20gXCJAL2F0b21zL21hcC96b29tXCI7XG5pbXBvcnQgeyBJY29uIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuaW1wb3J0IHsgSWNvbkNvbnRleHQsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvbi9pY29uLmVudW1zXCI7XG5cbmV4cG9ydCBjb25zdCBab29tID0gKHsgbWFwLCBtYXhab29tLCBtaW5ab29tIH06IElab29tQmFzZSkgPT4ge1xuICBjb25zdCBDb21wb25lbnRDb250ZXh0ID0gdXNlQ29udGV4dChDdHgpO1xuICBjb25zdCBUaGVtZSA9IHVzZVpvb20oQ29tcG9uZW50Q29udGV4dCk7XG4gIGNvbnN0IGRlZmF1bHRab29tID0gbWFwLmdldFpvb20oKSA/PyAxMjtcblxuICBjb25zdCBbY3VycmVudFpvb20sIHNldEN1cnJlbnRab29tXSA9IHVzZVN0YXRlPG51bWJlcj4oZGVmYXVsdFpvb20pO1xuICBjb25zdCBbcGx1c0F2YWlsYWJsZSwgc2V0UGx1c0F2YWlsYWJsZV0gPSB1c2VTdGF0ZTxib29sZWFuPihcbiAgICBkZWZhdWx0Wm9vbSA8PSBtYXhab29tLFxuICApO1xuICBjb25zdCBbbWludXNBdmFpbGFibGUsIHNldE1pbnVzQXZhaWxhYmxlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KFxuICAgIGRlZmF1bHRab29tID49IG1pblpvb20sXG4gICk7XG5cbiAgY29uc3Qgc2V0QXZhaWxhYmxlID0gKHVwZGF0ZTogbnVtYmVyKSA9PiB7XG4gICAgaWYgKHVwZGF0ZSA+PSBtYXhab29tKSB7XG4gICAgICBzZXRQbHVzQXZhaWxhYmxlKGZhbHNlKTtcbiAgICAgIHNldE1pbnVzQXZhaWxhYmxlKHRydWUpO1xuICAgIH0gZWxzZSBpZiAodXBkYXRlIDw9IG1pblpvb20pIHtcbiAgICAgIHNldFBsdXNBdmFpbGFibGUodHJ1ZSk7XG4gICAgICBzZXRNaW51c0F2YWlsYWJsZShmYWxzZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNldFBsdXNBdmFpbGFibGUodHJ1ZSk7XG4gICAgICBzZXRNaW51c0F2YWlsYWJsZSh0cnVlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DbGlja1BsdXMgPSAoKSA9PiB7XG4gICAgaWYgKHBsdXNBdmFpbGFibGUpIHtcbiAgICAgIGNvbnN0IHVwZGF0ZSA9IGN1cnJlbnRab29tID49IG1heFpvb20gPyBtYXhab29tIDogY3VycmVudFpvb20gKyAxO1xuICAgICAgc2V0Q3VycmVudFpvb20odXBkYXRlKTtcbiAgICAgIHNldEF2YWlsYWJsZSh1cGRhdGUpO1xuICAgICAgbWFwLnNldFpvb20odXBkYXRlKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgb25DbGlja01pbnVzID0gKCkgPT4ge1xuICAgIGlmIChtaW51c0F2YWlsYWJsZSkge1xuICAgICAgY29uc3QgdXBkYXRlID0gY3VycmVudFpvb20gPD0gbWluWm9vbSA/IG1pblpvb20gOiBjdXJyZW50Wm9vbSAtIDE7XG4gICAgICBzZXRDdXJyZW50Wm9vbSh1cGRhdGUpO1xuICAgICAgc2V0QXZhaWxhYmxlKHVwZGF0ZSk7XG4gICAgICBtYXAuc2V0Wm9vbSh1cGRhdGUpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRab29tIHRoZW1lPXtUaGVtZX0+XG4gICAgICA8U3R5bGVkWm9vbVBsdXMgb25DbGljaz17b25DbGlja1BsdXN9PlxuICAgICAgICA8SWNvblxuICAgICAgICAgIHR5cGU9e0ljb25UeXBlLkFERH1cbiAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtcIlwifVxuICAgICAgICAgIGNvbnRleHQ9e3BsdXNBdmFpbGFibGUgPyBJY29uQ29udGV4dC5EQVJLIDogSWNvbkNvbnRleHQuRElTQUJMRUR9XG4gICAgICAgIC8+XG4gICAgICA8L1N0eWxlZFpvb21QbHVzPlxuICAgICAgPFN0eWxlZFpvb21TZXBlcmF0b3IgLz5cbiAgICAgIDxTdHlsZWRab29tTWludXMgb25DbGljaz17b25DbGlja01pbnVzfT5cbiAgICAgICAgPEljb25cbiAgICAgICAgICB0eXBlPXtJY29uVHlwZS5NSU5VU31cbiAgICAgICAgICBzY3JlZW5SZWFkZXJUZXh0PXtcIlwifVxuICAgICAgICAgIGNvbnRleHQ9e21pbnVzQXZhaWxhYmxlID8gSWNvbkNvbnRleHQuREFSSyA6IEljb25Db250ZXh0LkRJU0FCTEVEfVxuICAgICAgICAvPlxuICAgICAgPC9TdHlsZWRab29tTWludXM+XG4gICAgPC9TdHlsZWRab29tPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJWm9vbVRoZW1lIH0gZnJvbSBcIkAvYXRvbXMvbWFwL3pvb20vem9vbS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWm9vbSA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVpvb21UaGVtZSB9PmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAwO1xuICBib3gtc2hhZG93OlxuICAgIDAgMTBweCAxNXB4IC0zcHggcmdiKDAgMCAwIC8gMC4xKSxcbiAgICAwIDRweCA2cHggLTRweCByZ2IoMCAwIDAgLyAwLjEpO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZFpvb21TZXBlcmF0b3IgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElab29tVGhlbWUgfT5gXG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjZTRlNGU0O1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRab29tUGx1cyA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSVpvb21UaGVtZSB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDE1cHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweCA4cHggMCAwO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjZmNmY2O1xuICB9XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkWm9vbU1pbnVzID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJWm9vbVRoZW1lIH0+YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZzogMTVweDtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDhweCA4cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNmY2ZjY7XG4gIH1cbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRTa2VsZXRvblpvb20gPSBzdHlsZWQoU3R5bGVkWm9vbSk8e1xuICB0aGVtZTogSVpvb21UaGVtZTtcbn0+YFxuICBhbmltYXRpb246IHB1bHNlIDJzIGN1YmljLWJlemllcigwLjQsIDAsIDAuNiwgMSkgaW5maW5pdGU7XG5gO1xuIiwiaW1wb3J0IG1hdGNoIGZyb20gXCJtYXRjaC1vcGVyYXRvclwiO1xuaW1wb3J0IHsgQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL21hcC96b29tL3pvb20uZW51bXNcIjtcbmltcG9ydCB7IElab29tVGhlbWUgfSBmcm9tIFwiQC9hdG9tcy9tYXAvem9vbS96b29tLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCB1c2Vab29tID0gKGNvbnRleHQ6IGtleW9mIHR5cGVvZiBDb250ZXh0KTogSVpvb21UaGVtZSA9PiB7XG4gIHJldHVybiBtYXRjaChjb250ZXh0LCBbW0NvbnRleHQuU1RBTkRBUkQsIHt9XV0pO1xufTtcbiIsImltcG9ydCB7IElBY2NvcmRlb24gfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24udHlwZXNcIjtcbmltcG9ydCB7IHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBBY2NvcmRlb24gYXMgQWNjb3JkZW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9hY2NvcmRlb25cIjtcbmltcG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2NvbXBvbmVudHMvYWNjb3JkZW9uLmhlYWRlclwiO1xuaW1wb3J0IHsgQ29udGVudCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2NvbXBvbmVudHMvYWNjb3JkZW9uLmNvbnRlbnRcIjtcbmltcG9ydCB7XG4gIEFjY29yZGVvbkN0eCxcbiAgQWNjb3JkZW9uQ3R4RGVmYXVsdCxcbn0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLmNvbnRleHRcIjtcbmltcG9ydCB7IEFjY29yZGVvbkNvbnRleHQgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IEFjY29yZGVvbiA9ICh7IGNoaWxkcmVuLCBjb250ZXh0IH06IElBY2NvcmRlb24pID0+IHtcbiAgY29uc3QgRGVmYXVsdEFjY29yZGVvbkNvbnRleHQgPSBjb250ZXh0ID8gY29udGV4dCA6IEFjY29yZGVvbkN0eERlZmF1bHQ7XG4gIGNvbnN0IFtBY2NvcmRlb25Db250ZXh0LCBzZXRBY2NvcmRlb25Db250ZXh0XSA9IHVzZVN0YXRlKFxuICAgIERlZmF1bHRBY2NvcmRlb25Db250ZXh0LFxuICApO1xuXG4gIGNvbnN0IHZhbHVlID0geyBBY2NvcmRlb25Db250ZXh0LCBzZXRBY2NvcmRlb25Db250ZXh0IH07XG5cbiAgcmV0dXJuIChcbiAgICA8QWNjb3JkZW9uQ3R4LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8QWNjb3JkZW9uQ29tcG9uZW50PntjaGlsZHJlbn08L0FjY29yZGVvbkNvbXBvbmVudD5cbiAgICA8L0FjY29yZGVvbkN0eC5Qcm92aWRlcj5cbiAgKTtcbn07XG5cbkFjY29yZGVvbi5IZWFkZXIgPSBIZWFkZXI7XG5BY2NvcmRlb24uQ29udGVudCA9IENvbnRlbnQ7XG5cbmV4cG9ydCB7IEFjY29yZGVvbkNvbnRleHQgfTtcbmV4cG9ydCB0eXBlIHsgSUFjY29yZGVvbiB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuIiwiaW1wb3J0IHsgSUFjY29yZGVvblRoZW1lIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnR5cGVzXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQWNjb3JkZW9uVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQWNjb3JkZW9uSGVhZGVyID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQWNjb3JkZW9uVGhlbWUgfT5gXG4gIGRpc3BsYXk6IGJsb2NrO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEFjY29yZGVvbkJvZHkgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElBY2NvcmRlb25UaGVtZSB9PmBcbiAgZGlzcGxheTogYmxvY2s7XG5gO1xuZXhwb3J0IGNvbnN0IFN0eWxlZEFjY29yZGVvbkNvbnRlbnQgPSBzdHlsZWQuZGl2PHsgJGlzT3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1heC1oZWlnaHQ6ICR7KHsgJGlzT3BlbiB9KSA9PiAoJGlzT3BlbiA/IFwiMTAwMHB4XCIgOiBcIjBcIil9O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICBvcGFjaXR5OiAkeyh7ICRpc09wZW4gfSkgPT4gKCRpc09wZW4gPyBcIjFcIiA6IFwiMFwiKX07XG5gO1xuIiwiaW1wb3J0IHsgU3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnN0eWxlXCI7XG5pbXBvcnQgeyBBY2NvcmRlb25UaGVtZWFibGVQcm9wcyB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uL2FjY29yZGVvbi50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgQWNjb3JkZW9uID0gKHsgY2hpbGRyZW4gfTogQWNjb3JkZW9uVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgcmV0dXJuIDxTdHlsZWRBY2NvcmRlb25Db250YWluZXI+e2NoaWxkcmVufTwvU3R5bGVkQWNjb3JkZW9uQ29udGFpbmVyPjtcbn07XG4iLCJpbXBvcnQgeyBTdHlsZWRBY2NvcmRlb25IZWFkZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uc3R5bGVcIjtcbmltcG9ydCB7IEFjY29yZGVvblRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uY29udGV4dFwiO1xuXG5leHBvcnQgY29uc3QgSGVhZGVyID0gKHsgY2hpbGRyZW4gfTogQWNjb3JkZW9uVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgeyBBY2NvcmRlb25Db250ZXh0LCBzZXRBY2NvcmRlb25Db250ZXh0IH06IGFueSA9XG4gICAgdXNlQ29udGV4dChBY2NvcmRlb25DdHgpO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEFjY29yZGVvbkhlYWRlclxuICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICBzZXRBY2NvcmRlb25Db250ZXh0KFxuICAgICAgICAgIEFjY29yZGVvbkNvbnRleHQgPT09IEFjY29yZGVvbkNvbnRleHQuT1BFTlxuICAgICAgICAgICAgPyBBY2NvcmRlb25Db250ZXh0LkNMT1NFRFxuICAgICAgICAgICAgOiBBY2NvcmRlb25Db250ZXh0Lk9QRU4sXG4gICAgICAgICk7XG4gICAgICB9fVxuICAgID5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1N0eWxlZEFjY29yZGVvbkhlYWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQge1xuICBTdHlsZWRBY2NvcmRlb25Cb2R5LFxuICBTdHlsZWRBY2NvcmRlb25Db250ZW50LFxufSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uc3R5bGVcIjtcbmltcG9ydCB7IEFjY29yZGVvblRoZW1lYWJsZVByb3BzIH0gZnJvbSBcIkAvbGF5b3V0cy9hY2NvcmRlb24vYWNjb3JkZW9uLnR5cGVzXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBBY2NvcmRlb25DdHggfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvbi9hY2NvcmRlb24uY29udGV4dFwiO1xuaW1wb3J0IHsgQWNjb3JkZW9uQ29udGV4dCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uXCI7XG5cbmV4cG9ydCBjb25zdCBDb250ZW50ID0gKHsgY2hpbGRyZW4gfTogQWNjb3JkZW9uVGhlbWVhYmxlUHJvcHMpID0+IHtcbiAgY29uc3QgeyBDb21wb25lbnRDb250ZXh0IH06IGFueSA9IHVzZUNvbnRleHQoQWNjb3JkZW9uQ3R4KTtcbiAgY29uc3QgaXNPcGVuID0gQ29tcG9uZW50Q29udGV4dCA9PT0gQWNjb3JkZW9uQ29udGV4dC5PUEVOO1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEFjY29yZGVvbkJvZHk+XG4gICAgICA8U3R5bGVkQWNjb3JkZW9uQ29udGVudCAkaXNPcGVuPXtpc09wZW59PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L1N0eWxlZEFjY29yZGVvbkNvbnRlbnQ+XG4gICAgPC9TdHlsZWRBY2NvcmRlb25Cb2R5PlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQmFja2Ryb3BUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3AvYmFja2Ryb3AudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJhY2tkcm9wID0gc3R5bGVkLmRpdjx7IHRoZW1lOiBJQmFja2Ryb3BUaGVtZSB9PmBcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIHBvaW50ZXItZXZlbnRzOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUucG9pbnRlckV2ZW50c307XG4gIHotaW5kZXg6IDg7XG5gO1xuIiwiaW1wb3J0IHsgU3R5bGVkQmFja2Ryb3AgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2JhY2tkcm9wLnN0eWxlXCI7XG5pbXBvcnQgeyB1c2VDb250ZXh0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJQmFja2Ryb3BCYXNlIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC50eXBlc1wiO1xuaW1wb3J0IHsgQmFja2Ryb3BDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvYmFja2Ryb3BcIjtcblxuZXhwb3J0IGNvbnN0IEJhY2tkcm9wID0gKHsgb25DbGljayB9OiBJQmFja2Ryb3BCYXNlKSA9PiB7XG4gIGNvbnN0IHsgaXNCYWNrZHJvcFZpc2libGUgfSA9IHVzZUNvbnRleHQoQmFja2Ryb3BDb250ZXh0KTtcblxuICBjb25zdCBUaGVtZVZpc2libGUgPSB7XG4gICAgYmFja2dyb3VuZDogXCIjNzg3Qjc4NERcIixcbiAgICBwb2ludGVyRXZlbnRzOiBcImF1dG9cIixcbiAgfTtcblxuICBjb25zdCBUaGVtZUhpZGRlbiA9IHtcbiAgICBiYWNrZ3JvdW5kOiBcInRyYW5zcGFyZW50XCIsXG4gICAgcG9pbnRlckV2ZW50czogXCJub25lXCIsXG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQmFja2Ryb3BcbiAgICAgIG9uQ2xpY2s9e29uQ2xpY2t9XG4gICAgICB0aGVtZT17aXNCYWNrZHJvcFZpc2libGUgPyBUaGVtZVZpc2libGUgOiBUaGVtZUhpZGRlbn1cbiAgICAvPlxuICApO1xufTtcbiIsImltcG9ydCBSZWFjdCwgeyBjcmVhdGVDb250ZXh0LCBQcm9wc1dpdGhDaGlsZHJlbiwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJhY2tkcm9wQ29udGV4dFR5cGUge1xuICBpc0JhY2tkcm9wVmlzaWJsZTogYm9vbGVhbjtcbiAgc2V0SXNCYWNrZHJvcFZpc2libGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IEJhY2tkcm9wQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8QmFja2Ryb3BDb250ZXh0VHlwZT4oe1xuICBpc0JhY2tkcm9wVmlzaWJsZTogZmFsc2UsXG4gIHNldElzQmFja2Ryb3BWaXNpYmxlOiAodmFsdWUpID0+IHtcbiAgICAvLyBEZWZhdWx0IGZ1bmN0aW9uIHNob3VsZCBpZGVhbGx5IGxvZyBhbiBlcnJvciBvciBiZSBhIG5vLW9wXG4gICAgY29uc29sZS53YXJuKFwic2V0SXNCYWNrZHJvcFZpc2libGUgY2FsbGVkIHdpdGhvdXQgYSBwcm92aWRlclwiKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElCYWNrZHJvcFByb3ZpZGVyIGV4dGVuZHMgUHJvcHNXaXRoQ2hpbGRyZW4ge1xuICBvbkNsaWNrPzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IEJhY2tkcm9wUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiwgb25DbGljayB9OiBJQmFja2Ryb3BQcm92aWRlcikgPT4ge1xuICBjb25zdCBbaXNCYWNrZHJvcFZpc2libGUsIHNldElzQmFja2Ryb3BWaXNpYmxlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdCB2YWx1ZSA9IHsgaXNCYWNrZHJvcFZpc2libGUsIHNldElzQmFja2Ryb3BWaXNpYmxlIH07XG5cbiAgcmV0dXJuIChcbiAgICA8QmFja2Ryb3BDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgICA8QmFja2Ryb3Agb25DbGljaz17b25DbGlja30gLz5cbiAgICA8L0JhY2tkcm9wQ29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBCYWNrZHJvcCBhcyBCYXNlQmFja2Ryb3AgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wL2NvbXBvbmVudHMvYmFja2Ryb3BcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IElCYWNrZHJvcCB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3AvYmFja2Ryb3AudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJhY2tkcm9wID0gKHsgb25DbGljayB9OiBJQmFja2Ryb3ApID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCg8QmFzZUJhY2tkcm9wIG9uQ2xpY2s9e29uQ2xpY2t9IC8+LCBkb2N1bWVudC5ib2R5KTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSUJhY2tkcm9wIH0gZnJvbSBcIkAvbGF5b3V0cy9iYWNrZHJvcC9iYWNrZHJvcC50eXBlc1wiO1xuIiwiaW1wb3J0IHsgUHJvcHNXaXRoQ2hpbGRyZW4sIHVzZUNvbnRleHQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IFN0eWxlZEJsdXIgfSBmcm9tIFwiQC9sYXlvdXRzL2JsdXIvYmx1ci5zdHlsZVwiO1xuaW1wb3J0IHsgQmx1ckNvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9ibHVyXCI7XG5cbmV4cG9ydCBjb25zdCBCbHVyID0gKHsgY2hpbGRyZW4gfTogUHJvcHNXaXRoQ2hpbGRyZW4pID0+IHtcbiAgY29uc3QgeyBpc0JsdXJyZWQgfSA9IHVzZUNvbnRleHQoQmx1ckNvbnRleHQpO1xuXG4gIGNvbnN0IFRoZW1lQmx1cnJlZCA9IHtcbiAgICBmaWx0ZXI6IFwiYmx1cigxcHgpO1wiLFxuICB9O1xuXG4gIGNvbnN0IFRoZW1lRGVmYXVsdCA9IHtcbiAgICBmaWx0ZXI6IFwibm9uZVwiLFxuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZEJsdXIgdGhlbWU9e2lzQmx1cnJlZCA/IFRoZW1lQmx1cnJlZCA6IFRoZW1lRGVmYXVsdH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TdHlsZWRCbHVyPlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQmFja2Ryb3BUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3AvYmFja2Ryb3AudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZEJsdXIgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElCYWNrZHJvcFRoZW1lIH0+YFxuICAqIHtcbiAgICBmaWx0ZXI6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5maWx0ZXJ9O1xuICB9XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJsdXJDb250ZXh0VHlwZSB7XG4gIGlzQmx1cnJlZDogYm9vbGVhbjtcbiAgc2V0SXNCbHVycmVkOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG59XG5cbmV4cG9ydCBjb25zdCBCbHVyQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8Qmx1ckNvbnRleHRUeXBlPih7XG4gIGlzQmx1cnJlZDogZmFsc2UsXG4gIHNldElzQmx1cnJlZDogKCkgPT4ge1xuICAgIGNvbnNvbGUud2FybihcInNldElzQmx1cnJlZCBjYWxsZWQgd2l0aG91dCBhIHByb3ZpZGVyXCIpO1xuICB9LFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUJsdXJQcm92aWRlciBleHRlbmRzIFByb3BzV2l0aENoaWxkcmVuIHt9XG5cbmV4cG9ydCBjb25zdCBCbHVyUHJvdmlkZXI6IFJlYWN0LkZDPFByb3BzV2l0aENoaWxkcmVuPHt9Pj4gPSAoeyBjaGlsZHJlbiB9KSA9PiB7XG4gIGNvbnN0IFtpc0JsdXJyZWQsIHNldElzQmx1cnJlZF0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG4gIGNvbnN0IHZhbHVlID0geyBpc0JsdXJyZWQsIHNldElzQmx1cnJlZCB9O1xuXG4gIHJldHVybiAoXG4gICAgPEJsdXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8Qmx1cj57Y2hpbGRyZW59PC9CbHVyPlxuICAgIDwvQmx1ckNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmx1ciBhcyBCYXNlQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1ci9jb21wb25lbnRzL2JsdXJcIjtcbmltcG9ydCB7IElCbHVyIH0gZnJvbSBcIkAvbGF5b3V0cy9ibHVyL2JsdXIudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IEJsdXIgPSAoeyBjaGlsZHJlbiB9OiBJQmx1cikgPT4ge1xuICByZXR1cm4gPEJhc2VCbHVyIGNoaWxkcmVuPXtjaGlsZHJlbn0gLz47XG59O1xuXG5leHBvcnQgdHlwZSB7IElCbHVyIH0gZnJvbSBcIkAvbGF5b3V0cy9ibHVyL2JsdXIudHlwZXNcIjtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ29sbGFwc2FibGVTZWNvbmRhcnlUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvY29sbGFwc2FibGUvY29sbGFwc2FibGUudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNhYmxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ29sbGFwc2FibGVDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBmbGV4LWJhc2lzOiBhdXRvO1xuICB6LWluZGV4OiAxO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNhYmxlQWRkaXRpb25hbCA9IHN0eWxlZC5kaXY8e1xuICB0aGVtZTogSUNvbGxhcHNhYmxlU2Vjb25kYXJ5VGhlbWU7XG59PmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWdyb3c6IDE7XG4gIGZsZXgtc2hyaW5rOiAxO1xuICBmbGV4LWJhc2lzOiBhdXRvO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICB0cmFuc2Zvcm06ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS50cmFuc2Zvcm19O1xuICBtYXgtd2lkdGg6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXhXaWR0aH07XG4gIHotaW5kZXg6IDI7XG4gIG9wYWNpdHk6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5vcGFjaXR5fTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRDb2xsYXBzYWJsZUV4cGFuZENvbnRlbnRBY3Rpb24gPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTBweDtcbiAgbGVmdDogMTBweDtcbiAgei1pbmRleDogMztcbiAgY3Vyc29yOiBwb2ludGVyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENvbGxhcHNhYmxlQ29sbGFwc2VDb250ZW50QWN0aW9uID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB6LWluZGV4OiAzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5gO1xuIiwiaW1wb3J0IHsgSUNvbGxhcHNhYmxlQmFzZSB9IGZyb20gXCJAL2xheW91dHMvY29sbGFwc2FibGUvY29sbGFwc2FibGUudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZENvbGxhcHNhYmxlLFxuICBTdHlsZWRDb2xsYXBzYWJsZUFkZGl0aW9uYWwsXG4gIFN0eWxlZENvbGxhcHNhYmxlQ29sbGFwc2VDb250ZW50QWN0aW9uLFxuICBTdHlsZWRDb2xsYXBzYWJsZUNvbnRlbnQsXG4gIFN0eWxlZENvbGxhcHNhYmxlRXhwYW5kQ29udGVudEFjdGlvbixcbn0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS5zdHlsZVwiO1xuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuXG5leHBvcnQgY29uc3QgQ29sbGFwc2FibGUgPSAoe1xuICBjb250ZW50LFxuICBhZGRpdGlvbmFsLFxuICB3aXRoQ29udGVudEV4cGFuZCxcbiAgd2l0aENvbnRlbnRDb2xsYXBzZSxcbn06IElDb2xsYXBzYWJsZUJhc2UpID0+IHtcbiAgY29uc3QgW2lzQ29udGVudEV4cGFuZGVkLCBzZXRDb250ZW50RXhwYW5kZWRdID1cbiAgICBSZWFjdC51c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3QgZG9FeHBhbmRDb250ZW50ID0gKCkgPT4ge1xuICAgIHNldENvbnRlbnRFeHBhbmRlZCh0cnVlKTtcbiAgfTtcblxuICBjb25zdCBkb0NvbGxhcHNlQ29udGVudCA9ICgpID0+IHtcbiAgICBzZXRDb250ZW50RXhwYW5kZWQoZmFsc2UpO1xuICB9O1xuXG4gIGNvbnN0IENvbnRlbnRFeHBhbmRlZFRoZW1lID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDEwMCUpO1wiLFxuICAgIG1heFdpZHRoOiBcIjBcIixcbiAgICBvcGFjaXR5OiAwLFxuICB9O1xuXG4gIGNvbnN0IENvbnRlbnRDb2xsYXBzZWRUaGVtZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwJSk7XCIsXG4gICAgbWF4V2lkdGg6IFwiMTAwJVwiLFxuICAgIG9wYWNpdHk6IDEsXG4gIH07XG5cbiAgY29uc3QgQ29sbGFwc2VDb250ZW50ID0gd2l0aENvbnRlbnRDb2xsYXBzZSA/IChcbiAgICA8U3R5bGVkQ29sbGFwc2FibGVDb2xsYXBzZUNvbnRlbnRBY3Rpb24gb25DbGljaz17ZG9Db2xsYXBzZUNvbnRlbnR9PlxuICAgICAge3dpdGhDb250ZW50Q29sbGFwc2V9XG4gICAgPC9TdHlsZWRDb2xsYXBzYWJsZUNvbGxhcHNlQ29udGVudEFjdGlvbj5cbiAgKSA6IG51bGw7XG5cbiAgY29uc3QgRXhwYW5kQ29udGVudCA9IChcbiAgICA8U3R5bGVkQ29sbGFwc2FibGVFeHBhbmRDb250ZW50QWN0aW9uIG9uQ2xpY2s9e2RvRXhwYW5kQ29udGVudH0+XG4gICAgICB7d2l0aENvbnRlbnRFeHBhbmR9XG4gICAgPC9TdHlsZWRDb2xsYXBzYWJsZUV4cGFuZENvbnRlbnRBY3Rpb24+XG4gICk7XG5cbiAgY29uc3QgQ29udGVudCA9IChcbiAgICA8U3R5bGVkQ29sbGFwc2FibGVDb250ZW50Pntjb250ZW50fTwvU3R5bGVkQ29sbGFwc2FibGVDb250ZW50PlxuICApO1xuXG4gIGNvbnN0IEFkZGl0aW9uYWwgPSAoXG4gICAgPFN0eWxlZENvbGxhcHNhYmxlQWRkaXRpb25hbFxuICAgICAgdGhlbWU9e2lzQ29udGVudEV4cGFuZGVkID8gQ29udGVudEV4cGFuZGVkVGhlbWUgOiBDb250ZW50Q29sbGFwc2VkVGhlbWV9XG4gICAgPlxuICAgICAge2lzQ29udGVudEV4cGFuZGVkID8gbnVsbCA6IEV4cGFuZENvbnRlbnR9XG4gICAgICB7YWRkaXRpb25hbH1cbiAgICA8L1N0eWxlZENvbGxhcHNhYmxlQWRkaXRpb25hbD5cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRDb2xsYXBzYWJsZT5cbiAgICAgIHtDb250ZW50fVxuICAgICAge2lzQ29udGVudEV4cGFuZGVkID8gQ29sbGFwc2VDb250ZW50IDogbnVsbH1cbiAgICAgIHtBZGRpdGlvbmFsfVxuICAgIDwvU3R5bGVkQ29sbGFwc2FibGU+XG4gICk7XG59O1xuIiwiaW1wb3J0IHsgSUNvbGxhcHNhYmxlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb2xsYXBzYWJsZS50eXBlc1wiO1xuaW1wb3J0IHsgQ29sbGFwc2FibGUgYXMgQmFzZUNvbGxhcHNhYmxlIH0gZnJvbSBcIkAvbGF5b3V0cy9jb2xsYXBzYWJsZS9jb21wb25lbnRzL2NvbGxhcHNhYmxlXCI7XG5cbmV4cG9ydCBjb25zdCBDb2xsYXBzYWJsZSA9ICh7XG4gIGNvbnRlbnQsXG4gIGFkZGl0aW9uYWwsXG4gIHdpdGhDb250ZW50RXhwYW5kLFxuICB3aXRoQ29udGVudENvbGxhcHNlLFxufTogSUNvbGxhcHNhYmxlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEJhc2VDb2xsYXBzYWJsZVxuICAgICAgY29udGVudD17Y29udGVudH1cbiAgICAgIGFkZGl0aW9uYWw9e2FkZGl0aW9uYWx9XG4gICAgICB3aXRoQ29udGVudEV4cGFuZD17d2l0aENvbnRlbnRFeHBhbmR9XG4gICAgICB3aXRoQ29udGVudENvbGxhcHNlPXt3aXRoQ29udGVudENvbGxhcHNlfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElDb2xsYXBzYWJsZSB9IGZyb20gXCJAL2xheW91dHMvY29sbGFwc2FibGUvY29sbGFwc2FibGUudHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IElEcmF3ZXIgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlci9kcmF3ZXIudHlwZXNcIjtcbmltcG9ydCB7IERyYXdlciBhcyBCYXNlRHJhd2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXIvY29tcG9uZW50cy9kcmF3ZXJcIjtcbmltcG9ydCB7IERyYXdlclNpemUgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlci9kcmF3ZXIuZW51bXNcIjtcblxuZXhwb3J0IGNvbnN0IERyYXdlciA9ICh7IGNoaWxkcmVuLCBzaXplIH06IElEcmF3ZXIpID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbChcbiAgICA8QmFzZURyYXdlciBjaGlsZHJlbj17Y2hpbGRyZW59IHNpemU9e3NpemUgPyBzaXplIDogRHJhd2VyU2l6ZS5MQVJHRX0gLz4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn07XG5cbmV4cG9ydCB7IERyYXdlclNpemUgfTtcbmV4cG9ydCB0eXBlIHsgSURyYXdlciB9IGZyb20gXCJAL2xheW91dHMvZHJhd2VyL2RyYXdlci50eXBlc1wiO1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSURyYXdlckJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlci9kcmF3ZXIudHlwZXNcIjtcbmltcG9ydCB7XG4gIFN0eWxlZERyYXdlcixcbiAgU3R5bGVkRHJhd2VyQ29udGVudCxcbiAgU3R5bGVkRHJhd2VySGVhZGVyLFxufSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlci9kcmF3ZXIuc3R5bGVcIjtcbmltcG9ydCB7IERyYXdlckNvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9kcmF3ZXJcIjtcbmltcG9ydCB7IEJhY2tkcm9wQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBCbHVyQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JsdXJcIjtcbmltcG9ydCBtYXRjaCBmcm9tIFwibWF0Y2gtb3BlcmF0b3JcIjtcbmltcG9ydCB7IERyYXdlclNpemUgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlclwiO1xuXG5leHBvcnQgY29uc3QgRHJhd2VyID0gKHsgY2hpbGRyZW4sIHNpemUgfTogSURyYXdlckJhc2UpID0+IHtcbiAgY29uc3QgeyBpc09wZW4sIHNldElzT3BlbiB9ID0gdXNlQ29udGV4dChEcmF3ZXJDb250ZXh0KTtcbiAgY29uc3QgeyBzZXRJc0JhY2tkcm9wVmlzaWJsZSB9ID0gdXNlQ29udGV4dChCYWNrZHJvcENvbnRleHQpO1xuICBjb25zdCB7IHNldElzQmx1cnJlZCB9ID0gdXNlQ29udGV4dChCbHVyQ29udGV4dCk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zb2xlLmxvZyhcImNhbGxlXCIpO1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHNldElzQmx1cnJlZCh0cnVlKTtcbiAgICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRJc0JsdXJyZWQoZmFsc2UpO1xuICAgICAgc2V0SXNCYWNrZHJvcFZpc2libGUoZmFsc2UpO1xuICAgIH1cbiAgfSwgW2lzT3Blbl0pO1xuXG4gIGNvbnN0IFRyYW5zZm9ybWVkU2l6ZSA9IG1hdGNoKHNpemUsIFtcbiAgICBbRHJhd2VyU2l6ZS5TTUFMTCwgXCIyNXZ3XCJdLFxuICAgIFtEcmF3ZXJTaXplLk1FRElVTSwgXCI1MHZ3XCJdLFxuICAgIFtEcmF3ZXJTaXplLkxBUkdFLCBcIjg1dndcIl0sXG4gICAgW0RyYXdlclNpemUuRlVMTCwgXCIxMDB2d1wiXSxcbiAgXSk7XG5cbiAgY29uc3QgVGhlbWVWaXNpYmxlID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDApO1wiLFxuICAgIG1heFdpZHRoOiBcIjEwMCVcIixcbiAgICB3aWR0aDogVHJhbnNmb3JtZWRTaXplLFxuICB9O1xuXG4gIGNvbnN0IFRoZW1lSGlkZGVuID0ge1xuICAgIHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDEwMHZoKTtcIixcbiAgICBtYXhXaWR0aDogXCIwXCIsXG4gICAgd2lkdGg6IFRyYW5zZm9ybWVkU2l6ZSxcbiAgfTtcblxuICBjb25zdCBjbG9zZURyYXdlciA9ICgpID0+IHtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKGZhbHNlKTtcbiAgICBzZXRJc0JsdXJyZWQoZmFsc2UpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZERyYXdlciB0aGVtZT17aXNPcGVuID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZERyYXdlckhlYWRlcj5cbiAgICAgICAgPGRpdiBvbkNsaWNrPXtjbG9zZURyYXdlcn0+Q2xvc2U8L2Rpdj5cbiAgICAgIDwvU3R5bGVkRHJhd2VySGVhZGVyPlxuICAgICAgPFN0eWxlZERyYXdlckNvbnRlbnQ+e2NoaWxkcmVufTwvU3R5bGVkRHJhd2VyQ29udGVudD5cbiAgICA8L1N0eWxlZERyYXdlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgc3R5bGVkIGZyb20gXCJzdHlsZWQtY29tcG9uZW50c1wiO1xuaW1wb3J0IHsgSU92ZXJsYXlUaGVtZSB9IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9vdmVybGF5LnR5cGVzXCI7XG5pbXBvcnQgeyBJRHJhd2VyVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlci9kcmF3ZXIudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZERyYXdlciA9IHN0eWxlZC5kaXY8eyB0aGVtZTogSURyYXdlclRoZW1lIH0+YFxuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLndpZHRofTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjZmZmZGY4O1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjhzIGVhc2U7XG4gIHRyYW5zZm9ybTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zZm9ybX07XG4gIG1heC13aWR0aDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1heFdpZHRofTtcbiAgYm94LXNoYWRvdzpcbiAgICAwIDFweCAzcHggMCByZ2IoMCAwIDAgLyAwLjEpLFxuICAgIDAgMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIHotaW5kZXg6IDk7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgd2hpdGU7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRHJhd2VySGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogI2ZiZjlmNTtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBwYWRkaW5nOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkRHJhd2VyQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFja2Ryb3BQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBEcmF3ZXIsIERyYXdlclNpemUgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlclwiO1xuaW1wb3J0IHsgQmx1ckNvbnRleHRUeXBlIH0gZnJvbSBcIkAvY29udGV4dHMvYmx1clwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIERyYXdlckNvbnRleHRUeXBlIHtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzZXRJc09wZW46IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IERyYXdlckNvbnRleHQgPSBjcmVhdGVDb250ZXh0PERyYXdlckNvbnRleHRUeXBlPih7XG4gIGlzT3BlbjogZmFsc2UsXG4gIHNldElzT3BlbjogKCkgPT4ge1xuICAgIGNvbnNvbGUud2FybihcInNldElzT3BlbiBjYWxsZWQgd2l0aG91dCBhIHByb3ZpZGVyXCIpO1xuICB9LFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURyYXdlclByb3ZpZGVyIGV4dGVuZHMgUHJvcHNXaXRoQ2hpbGRyZW4ge1xuICBkcmF3ZXI/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIHNpemU/OiBEcmF3ZXJTaXplO1xufVxuXG5leHBvcnQgY29uc3QgRHJhd2VyUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiwgZHJhd2VyLCBzaXplIH06IElEcmF3ZXJQcm92aWRlcikgPT4ge1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuICBjb25zdCB2YWx1ZSA9IHsgaXNPcGVuLCBzZXRJc09wZW4gfTtcblxuICByZXR1cm4gKFxuICAgIDxEcmF3ZXJDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8QmFja2Ryb3BQcm92aWRlciBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8RHJhd2VyIHNpemU9e3NpemV9PntkcmF3ZXJ9PC9EcmF3ZXI+XG4gICAgICA8L0JhY2tkcm9wUHJvdmlkZXI+XG4gICAgPC9EcmF3ZXJDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcbiIsImV4cG9ydCBlbnVtIERyYXdlclNpemUge1xuICBTTUFMTCA9IFwiU01BTExcIixcbiAgTUVESVVNID0gXCJNRURJVU1cIixcbiAgTEFSR0UgPSBcIkxBUkdFXCIsXG4gIEZVTEwgPSBcIkZVTExcIixcbn1cbiIsImltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gXCJyZWFjdC1kb21cIjtcbmltcG9ydCB7IElNb2RhbCB9IGZyb20gXCJAL2xheW91dHMvbW9kYWwvbW9kYWwudHlwZXNcIjtcbmltcG9ydCB7IE1vZGFsIGFzIEJhc2VNb2RhbCB9IGZyb20gXCJAL2xheW91dHMvbW9kYWwvY29tcG9uZW50cy9tb2RhbFwiO1xuXG5leHBvcnQgY29uc3QgTW9kYWwgPSAoeyBjaGlsZHJlbiB9OiBJTW9kYWwpID0+IHtcbiAgcmV0dXJuIGNyZWF0ZVBvcnRhbCg8QmFzZU1vZGFsIGNoaWxkcmVuPXtjaGlsZHJlbn0gLz4sIGRvY3VtZW50LmJvZHkpO1xufTtcblxuZXhwb3J0IHR5cGUgeyBJTW9kYWwgfSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsL21vZGFsLnR5cGVzXCI7XG4iLCJpbXBvcnQgUmVhY3QsIHsgdXNlQ29udGV4dCwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJTW9kYWxCYXNlIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbC9tb2RhbC50eXBlc1wiO1xuaW1wb3J0IHtcbiAgU3R5bGVkTW9kYWwsXG4gIFN0eWxlZE1vZGFsQ29udGVudCxcbiAgU3R5bGVkTW9kYWxIZWFkZXIsXG4gIFN0eWxlZE1vZGFsSGVhZGVyQ2xvc2UsXG59IGZyb20gXCJAL2xheW91dHMvbW9kYWwvbW9kYWwuc3R5bGVcIjtcbmltcG9ydCB7IEJhY2tkcm9wQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBCbHVyQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL2JsdXJcIjtcbmltcG9ydCB7IE1vZGFsQ29udGV4dCB9IGZyb20gXCJAL2NvbnRleHRzL21vZGFsXCI7XG5cbmV4cG9ydCBjb25zdCBNb2RhbCA9ICh7IGNoaWxkcmVuIH06IElNb2RhbEJhc2UpID0+IHtcbiAgY29uc3QgeyBpc09wZW4sIHNldElzT3BlbiB9ID0gdXNlQ29udGV4dChNb2RhbENvbnRleHQpO1xuICBjb25zdCB7IHNldElzQmFja2Ryb3BWaXNpYmxlIH0gPSB1c2VDb250ZXh0KEJhY2tkcm9wQ29udGV4dCk7XG4gIGNvbnN0IHsgc2V0SXNCbHVycmVkIH0gPSB1c2VDb250ZXh0KEJsdXJDb250ZXh0KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHNldElzQmx1cnJlZCh0cnVlKTtcbiAgICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRJc0JsdXJyZWQoZmFsc2UpO1xuICAgICAgc2V0SXNCYWNrZHJvcFZpc2libGUoZmFsc2UpO1xuICAgIH1cbiAgfSwgW2lzT3Blbl0pO1xuXG4gIGNvbnN0IFRoZW1lVmlzaWJsZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKC01MCUpO1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMTAwdmgpIHRyYW5zbGF0ZVgoLTUwJSk7XCIsXG4gICAgbWF4SGVpZ2h0OiBcIjBcIixcbiAgfTtcblxuICBjb25zdCBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgc2V0SXNCYWNrZHJvcFZpc2libGUoZmFsc2UpO1xuICAgIHNldElzQmx1cnJlZChmYWxzZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTW9kYWwgdGhlbWU9e2lzT3BlbiA/IFRoZW1lVmlzaWJsZSA6IFRoZW1lSGlkZGVufT5cbiAgICAgIDxTdHlsZWRNb2RhbEhlYWRlcj5cbiAgICAgICAgPFN0eWxlZE1vZGFsSGVhZGVyQ2xvc2Ugb25DbGljaz17Y2xvc2VNb2RhbH0+XG4gICAgICAgICAgQ2xvc2VcbiAgICAgICAgPC9TdHlsZWRNb2RhbEhlYWRlckNsb3NlPlxuICAgICAgPC9TdHlsZWRNb2RhbEhlYWRlcj5cbiAgICAgIDxTdHlsZWRNb2RhbENvbnRlbnQ+e2NoaWxkcmVufTwvU3R5bGVkTW9kYWxDb250ZW50PlxuICAgIDwvU3R5bGVkTW9kYWw+XG4gICk7XG59O1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElNb2RhbFRoZW1lIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbC9tb2RhbC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWwgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElNb2RhbFRoZW1lIH0+YFxuICBoZWlnaHQ6IDUwdmg7XG4gIHdpZHRoOiA1MHZ3O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLnRyYW5zZm9ybX07XG4gIG1heC1oZWlnaHQ6ICR7KHByb3BzKSA9PiBwcm9wcy50aGVtZS5tYXhIZWlnaHR9O1xuICBiYWNrZ3JvdW5kOiAjZmZmZGY4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxMHB4IDE1cHggLTNweCByZ2IoMCAwIDAgLyAwLjEpLFxuICAgIDAgNHB4IDZweCAtNHB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIHotaW5kZXg6IDk7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbEhlYWRlciA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICNmNmYyZTk7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNb2RhbEhlYWRlckNsb3NlID0gc3R5bGVkLmRpdmBgO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBgO1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsXCI7XG5pbXBvcnQgeyBCYWNrZHJvcFByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvYmFja2Ryb3BcIjtcbmltcG9ydCB7IEJsdXJDb250ZXh0VHlwZSB9IGZyb20gXCJAL2NvbnRleHRzL2JsdXJcIjtcblxuZXhwb3J0IGludGVyZmFjZSBNb2RhbENvbnRleHRUeXBlIHtcbiAgaXNPcGVuOiBib29sZWFuO1xuICBzZXRJc09wZW46IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPGJvb2xlYW4+Pjtcbn1cblxuZXhwb3J0IGNvbnN0IE1vZGFsQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TW9kYWxDb250ZXh0VHlwZT4oe1xuICBpc09wZW46IGZhbHNlLFxuICBzZXRJc09wZW46ICgpID0+IHtcbiAgICBjb25zb2xlLndhcm4oXCJzZXRJc09wZW4gY2FsbGVkIHdpdGhvdXQgYSBwcm92aWRlclwiKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElNb2RhbFByb3ZpZGVyIGV4dGVuZHMgUHJvcHNXaXRoQ2hpbGRyZW4ge1xuICBtb2RhbD86IFJlYWN0LlJlYWN0Tm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IE1vZGFsUHJvdmlkZXIgPSAoeyBjaGlsZHJlbiwgbW9kYWwgfTogSU1vZGFsUHJvdmlkZXIpID0+IHtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgdmFsdWUgPSB7IGlzT3Blbiwgc2V0SXNPcGVuIH07XG5cbiAgcmV0dXJuIChcbiAgICA8TW9kYWxDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICA8QmFja2Ryb3BQcm92aWRlciBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgICA8TW9kYWw+e21vZGFsfTwvTW9kYWw+XG4gICAgICA8L0JhY2tkcm9wUHJvdmlkZXI+XG4gICAgPC9Nb2RhbENvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuIiwiaW1wb3J0IFJlYWN0LCB7IHVzZUNvbnRleHQsIHVzZUVmZmVjdCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHtcbiAgU3R5bGVkT3ZlcmxheSxcbiAgU3R5bGVkT3ZlcmxheUNvbnRlbnQsXG4gIFN0eWxlZE92ZXJsYXlIZWFkZXIsXG4gIFN0eWxlZE92ZXJsYXlIZWFkZXJBcmVhLFxuICBTdHlsZWRPdmVybGF5SGVhZGVyQ2xvc2UsXG59IGZyb20gXCJAL2xheW91dHMvb3ZlcmxheS9vdmVybGF5LnN0eWxlXCI7XG5pbXBvcnQgeyBJT3ZlcmxheUJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuaW1wb3J0IHsgQmFja2Ryb3BDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvYmFja2Ryb3BcIjtcbmltcG9ydCB7IEJsdXJDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvYmx1clwiO1xuaW1wb3J0IHsgT3ZlcmxheUNvbnRleHQgfSBmcm9tIFwiQC9jb250ZXh0cy9vdmVybGF5XCI7XG5cbmV4cG9ydCBjb25zdCBPdmVybGF5ID0gKHsgY2hpbGRyZW4sIGhlYWRlciwgY2xvc2UgfTogSU92ZXJsYXlCYXNlKSA9PiB7XG4gIGNvbnN0IHsgaXNPcGVuLCBzZXRJc09wZW4gfSA9IHVzZUNvbnRleHQoT3ZlcmxheUNvbnRleHQpO1xuICBjb25zdCB7IHNldElzQmFja2Ryb3BWaXNpYmxlIH0gPSB1c2VDb250ZXh0KEJhY2tkcm9wQ29udGV4dCk7XG4gIGNvbnN0IHsgc2V0SXNCbHVycmVkIH0gPSB1c2VDb250ZXh0KEJsdXJDb250ZXh0KTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4pIHtcbiAgICAgIHNldElzQmx1cnJlZCh0cnVlKTtcbiAgICAgIHNldElzQmFja2Ryb3BWaXNpYmxlKHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZXRJc0JsdXJyZWQoZmFsc2UpO1xuICAgICAgc2V0SXNCYWNrZHJvcFZpc2libGUoZmFsc2UpO1xuICAgIH1cbiAgfSwgW2lzT3Blbl0pO1xuXG4gIGNvbnN0IFRoZW1lVmlzaWJsZSA9IHtcbiAgICB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWSgzcHgpO1wiLFxuICAgIG1heEhlaWdodDogXCIxMDAlXCIsXG4gIH07XG5cbiAgY29uc3QgVGhlbWVIaWRkZW4gPSB7XG4gICAgdHJhbnNmb3JtOiBcInRyYW5zbGF0ZVkoMTAwdmgpO1wiLFxuICAgIG1heEhlaWdodDogXCIwXCIsXG4gIH07XG5cbiAgY29uc3QgY2xvc2VPdmVybGF5ID0gKCkgPT4ge1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gICAgc2V0SXNCYWNrZHJvcFZpc2libGUoZmFsc2UpO1xuICAgIHNldElzQmx1cnJlZChmYWxzZSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkT3ZlcmxheSB0aGVtZT17aXNPcGVuID8gVGhlbWVWaXNpYmxlIDogVGhlbWVIaWRkZW59PlxuICAgICAgPFN0eWxlZE92ZXJsYXlIZWFkZXI+XG4gICAgICAgIDxTdHlsZWRPdmVybGF5SGVhZGVyQXJlYT57aGVhZGVyfTwvU3R5bGVkT3ZlcmxheUhlYWRlckFyZWE+XG4gICAgICAgIDxTdHlsZWRPdmVybGF5SGVhZGVyQ2xvc2Ugb25DbGljaz17Y2xvc2VPdmVybGF5fT5cbiAgICAgICAgICB7Y2xvc2V9XG4gICAgICAgIDwvU3R5bGVkT3ZlcmxheUhlYWRlckNsb3NlPlxuICAgICAgPC9TdHlsZWRPdmVybGF5SGVhZGVyPlxuICAgICAgPFN0eWxlZE92ZXJsYXlDb250ZW50Pntpc09wZW4gPyBjaGlsZHJlbiA6IDw+PC8+fTwvU3R5bGVkT3ZlcmxheUNvbnRlbnQ+XG4gICAgPC9TdHlsZWRPdmVybGF5PlxuICApO1xufTtcbiIsImltcG9ydCBzdHlsZWQgZnJvbSBcInN0eWxlZC1jb21wb25lbnRzXCI7XG5pbXBvcnQgeyBJT3ZlcmxheVRoZW1lIH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L292ZXJsYXkudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE92ZXJsYXkgPSBzdHlsZWQuZGl2PHsgdGhlbWU6IElPdmVybGF5VGhlbWUgfT5gXG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjZmZmZGY4O1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgdHJhbnNmb3JtOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUudHJhbnNmb3JtfTtcbiAgbWF4LWhlaWdodDogJHsocHJvcHMpID0+IHByb3BzLnRoZW1lLm1heEhlaWdodH07XG4gIGJveC1zaGFkb3c6XG4gICAgMCAtMXB4IDNweCAwIHJnYigwIDAgMCAvIDAuMSksXG4gICAgMCAtMXB4IDJweCAtMXB4IHJnYigwIDAgMCAvIDAuMSk7XG4gIHotaW5kZXg6IDk7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB3aGl0ZTtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5SGVhZGVyID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZDogI2Y2ZjJlOTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwdnc7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWluLWhlaWdodDogNTJweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5SGVhZGVyQXJlYSA9IHN0eWxlZC5kaXZgYDtcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE92ZXJsYXlIZWFkZXJDbG9zZSA9IHN0eWxlZC5kaXZgXG4gIGN1cnNvcjogcG9pbnRlcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBTdHlsZWRPdmVybGF5Q29udGVudCA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQ6ICNmZmZkZjg7XG5gO1xuIiwiaW1wb3J0IFJlYWN0LCB7IGNyZWF0ZUNvbnRleHQsIFByb3BzV2l0aENoaWxkcmVuLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgQmFja2Ryb3BQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL2JhY2tkcm9wXCI7XG5pbXBvcnQgeyBPdmVybGF5IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5XCI7XG5pbXBvcnQgeyBNb2RhbENvbnRleHRUeXBlIH0gZnJvbSBcIkAvY29udGV4dHMvbW9kYWxcIjtcblxuZXhwb3J0IGludGVyZmFjZSBPdmVybGF5Q29udGV4dFR5cGUge1xuICBpc09wZW46IGJvb2xlYW47XG4gIHNldElzT3BlbjogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248Ym9vbGVhbj4+O1xufVxuXG5leHBvcnQgY29uc3QgT3ZlcmxheUNvbnRleHQgPSBjcmVhdGVDb250ZXh0PE92ZXJsYXlDb250ZXh0VHlwZT4oe1xuICBpc09wZW46IGZhbHNlLFxuICBzZXRJc09wZW46ICgpID0+IHtcbiAgICBjb25zb2xlLndhcm4oXCJzZXRJc09wZW4gY2FsbGVkIHdpdGhvdXQgYSBwcm92aWRlclwiKTtcbiAgfSxcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElPdmVybGF5UHJvdmlkZXIgZXh0ZW5kcyBQcm9wc1dpdGhDaGlsZHJlbiB7XG4gIG92ZXJsYXk/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIGhlYWRlcj86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgY2xvc2U/OiBSZWFjdC5SZWFjdE5vZGU7XG59XG5cbmV4cG9ydCBjb25zdCBPdmVybGF5UHJvdmlkZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgaGVhZGVyLFxuICBjbG9zZSxcbiAgb3ZlcmxheSxcbn06IElPdmVybGF5UHJvdmlkZXIpID0+IHtcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKTtcbiAgY29uc3QgdmFsdWUgPSB7IGlzT3Blbiwgc2V0SXNPcGVuIH07XG5cbiAgcmV0dXJuIChcbiAgICA8T3ZlcmxheUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIDxCYWNrZHJvcFByb3ZpZGVyIG9uQ2xpY2s9eygpID0+IHNldElzT3BlbihmYWxzZSl9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgIDxPdmVybGF5IGhlYWRlcj17aGVhZGVyfSBjbG9zZT17Y2xvc2V9PlxuICAgICAgICAgIHtvdmVybGF5fVxuICAgICAgICA8L092ZXJsYXk+XG4gICAgICA8L0JhY2tkcm9wUHJvdmlkZXI+XG4gICAgPC9PdmVybGF5Q29udGV4dC5Qcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBPdmVybGF5IGFzIEJhc2VPdmVybGF5IH0gZnJvbSBcIkAvbGF5b3V0cy9vdmVybGF5L2NvbXBvbmVudHMvb3ZlcmxheVwiO1xuaW1wb3J0IHsgSU92ZXJsYXkgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuaW1wb3J0IHsgY3JlYXRlUG9ydGFsIH0gZnJvbSBcInJlYWN0LWRvbVwiO1xuXG5leHBvcnQgY29uc3QgT3ZlcmxheSA9ICh7IGNoaWxkcmVuLCBoZWFkZXIsIGNsb3NlIH06IElPdmVybGF5KSA9PiB7XG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPEJhc2VPdmVybGF5IGNoaWxkcmVuPXtjaGlsZHJlbn0gaGVhZGVyPXtoZWFkZXJ9IGNsb3NlPXtjbG9zZX0gLz4sXG4gICAgZG9jdW1lbnQuYm9keSxcbiAgKTtcbn07XG5cbmV4cG9ydCB0eXBlIHsgSU92ZXJsYXkgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXkvb3ZlcmxheS50eXBlc1wiO1xuIiwiaW1wb3J0IHN0eWxlZCBmcm9tIFwic3R5bGVkLWNvbXBvbmVudHNcIjtcbmltcG9ydCB7IElTdXJmYWNlVGhlbWUgfSBmcm9tIFwiQC9sYXlvdXRzL3N1cmZhY2Uvc3VyZmFjZS50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU3R5bGVkU3VyZmFjZSA9IHN0eWxlZC5kaXYud2l0aENvbmZpZyh7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gW1wiY2hpbGRyZW5cIl0uaW5jbHVkZXMocHJvcCksXG59KTx7IHRoZW1lOiBJU3VyZmFjZVRoZW1lIH0+YFxuICBiYWNrZ3JvdW5kOiAkeyhwcm9wcykgPT4gcHJvcHMudGhlbWUuYmFja2dyb3VuZH07XG4gIHdpZHRoOiAxMDB2dztcbmA7XG4iLCJpbXBvcnQgeyBJU3VyZmFjZUJhc2UgfSBmcm9tIFwiQC9sYXlvdXRzL3N1cmZhY2Uvc3VyZmFjZS50eXBlc1wiO1xuaW1wb3J0IHsgU3R5bGVkU3VyZmFjZSB9IGZyb20gXCJAL2xheW91dHMvc3VyZmFjZS9zdXJmYWNlLnN0eWxlXCI7XG5pbXBvcnQgeyBvckRlZmF1bHQsIHVzZVRoZW1lQ29sb3IgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IGNvbnN0IFN1cmZhY2UgPSAoeyBjaGlsZHJlbiwgY29sb3IsIHRpbnQgfTogSVN1cmZhY2VCYXNlKSA9PiB7XG4gIGNvbnN0IENvbG9ycyA9IHVzZVRoZW1lQ29sb3IoKTtcbiAgY29uc3QgQmFja2dyb3VuZCA9IG9yRGVmYXVsdChDb2xvcnMsIENvbG9ycy5zdXJmYWNlcy50aW50XzUwMCwgW2NvbG9yLCB0aW50XSk7XG4gIGNvbnN0IFRoZW1lID0ge1xuICAgIGJhY2tncm91bmQ6IEJhY2tncm91bmQsXG4gIH07XG5cbiAgcmV0dXJuIDxTdHlsZWRTdXJmYWNlIHRoZW1lPXtUaGVtZX0+e2NoaWxkcmVufTwvU3R5bGVkU3VyZmFjZT47XG59O1xuIiwiaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgU3VyZmFjZSBhcyBCYXNlU3VyZmFjZSB9IGZyb20gXCJAL2xheW91dHMvc3VyZmFjZS9jb21wb25lbnRzL3N1cmZhY2VcIjtcbmltcG9ydCB7IENvbG9yLCBDb2xvclZhcmlhbnQgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3kvY29udHJhY3RcIjtcbmltcG9ydCB7IElTdXJmYWNlIH0gZnJvbSBcIkAvbGF5b3V0cy9zdXJmYWNlL3N1cmZhY2UudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFN1cmZhY2UgPSAoe1xuICBjaGlsZHJlbixcbiAgY29sb3IgPSBDb2xvci5TVVJGQUNFUyxcbiAgdGludCA9IENvbG9yVmFyaWFudC5USU5UXzUwMCxcbn06IElTdXJmYWNlKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEJhc2VTdXJmYWNlXG4gICAgICB0aW50PXt0aW50ID8gdGludCA6IENvbG9yVmFyaWFudC5USU5UXzUwMH1cbiAgICAgIGNvbG9yPXtjb2xvciA/IGNvbG9yIDogQ29sb3IuU1VSRkFDRVN9XG4gICAgPlxuICAgICAge2NoaWxkcmVufVxuICAgIDwvQmFzZVN1cmZhY2U+XG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSB7IElTdXJmYWNlIH0gZnJvbSBcIkAvbGF5b3V0cy9zdXJmYWNlL3N1cmZhY2UudHlwZXNcIjtcbiIsImltcG9ydCBSZWFjdCwgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEFQSVByb3ZpZGVyIH0gZnJvbSBcIkB2aXMuZ2wvcmVhY3QtZ29vZ2xlLW1hcHNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBHb29nbGVBUElQcm92aWRlclByb3BzIHtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGUgfCB1bmRlZmluZWQ7XG4gIGFwaUtleTogc3RyaW5nO1xuICBvbkxvYWQ/OiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgY29uc3QgR29vZ2xlQVBJUHJvdmlkZXIgPSAoe1xuICBjaGlsZHJlbixcbiAgYXBpS2V5LFxuICBvbkxvYWQsXG59OiBHb29nbGVBUElQcm92aWRlclByb3BzKSA9PiB7XG4gIHJldHVybiAoXG4gICAgPEFQSVByb3ZpZGVyIGFwaUtleT17YXBpS2V5fSBvbkxvYWQ9e29uTG9hZH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9BUElQcm92aWRlcj5cbiAgKTtcbn07XG4iLCJpbXBvcnQgeyBUaGVtZU1vZGUgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbmltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICBGQyxcbiAgUHJvcHNXaXRoQ2hpbGRyZW4sXG4gIHVzZUVmZmVjdCxcbiAgdXNlU3RhdGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBEZWZhdWx0VGhlbWVNb2RlID0gVGhlbWVNb2RlLlNUQU5EQVJEO1xuXG4vLyBAdHMtaWdub3JlXG5leHBvcnQgY29uc3QgVGhlbWVNb2RlQ29udGV4dDogUmVhY3QuQ29udGV4dDx7XG4gIHRoZW1lTW9kZTogVGhlbWVNb2RlO1xuICBzZXRUaGVtZU1vZGU6IFJlYWN0LkRpc3BhdGNoPFJlYWN0LlNldFN0YXRlQWN0aW9uPFRoZW1lTW9kZT4+O1xufT4gPSBjcmVhdGVDb250ZXh0KHtcbiAgdGhlbWVNb2RlOiBEZWZhdWx0VGhlbWVNb2RlLFxuICBzZXRUaGVtZU1vZGU6ICgpID0+IHt9LFxufSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUHJvcHNGb3JUaGVtZU1vZGVQcm92aWRlciBleHRlbmRzIFByb3BzV2l0aENoaWxkcmVuIHtcbiAgZnJvbUJyb3dzZXI6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBUaGVtZU1vZGVQcm92aWRlcjogRkM8UHJvcHNGb3JUaGVtZU1vZGVQcm92aWRlcj4gPSAoXG4gIHByb3BzOiBQcm9wc0ZvclRoZW1lTW9kZVByb3ZpZGVyLFxuKSA9PiB7XG4gIGNvbnN0IHsgY2hpbGRyZW4sIGZyb21Ccm93c2VyIH0gPSBwcm9wcztcblxuICAvLyBFbnN1cmUgdGhlbWVNb2RlIGlzIG5vdCBudWxsIG9yIHVuZGVmaW5lZFxuICBjb25zdCByZXNvbHZlZFRoZW1lTW9kZSA9IFRoZW1lTW9kZU9yRGVmYXVsdChcbiAgICBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKFwidGhlbWVfbW9kZVwiKSxcbiAgICBUaGVtZU1vZGUuU1RBTkRBUkQsXG4gICk7XG4gIGNvbnN0IFt0aGVtZU1vZGUsIHNldFRoZW1lTW9kZV0gPSB1c2VTdGF0ZShyZXNvbHZlZFRoZW1lTW9kZSk7XG5cbiAgLy8gUnVuIG9uY2UgYW5kIHJlYWQgVGhlbWVNb2RlIGZyb20gZGV2aWNlIHNldHRpbmdzLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChmcm9tQnJvd3Nlcikge1xuICAgICAgaWYgKG1hdGNoTWVkaWEoXCIoZm9yY2VkLWNvbG9yczogYWN0aXZlKVwiKS5tYXRjaGVzKSB7XG4gICAgICAgIHNldFRoZW1lTW9kZShUaGVtZU1vZGUuQ09OVFJBU1QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG1hdGNoTWVkaWEoXCIocHJlZmVycy1jb2xvci1zY2hlbWU6IGRhcmspXCIpKSB7XG4gICAgICAgICAgc2V0VGhlbWVNb2RlKFRoZW1lTW9kZS5JTlZFUlRFRCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH0sIFtmcm9tQnJvd3Nlcl0pO1xuXG4gIC8vIE9uIGNoYW5nZSBvZiB0aGVtZU1vZGUgcGVyc2lzdCBpdCB0byB0aGUgc2Vzc2lvbiBzdG9yYWdlLlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0oXCJ0aGVtZV9tb2RlXCIsIHRoZW1lTW9kZSk7XG4gIH0sIFt0aGVtZU1vZGVdKTtcblxuICBjb25zdCB2YWx1ZSA9IHsgdGhlbWVNb2RlOiByZXNvbHZlZFRoZW1lTW9kZSwgc2V0VGhlbWVNb2RlIH07XG4gIHJldHVybiAoXG4gICAgPFRoZW1lTW9kZUNvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1RoZW1lTW9kZUNvbnRleHQuUHJvdmlkZXI+XG4gICk7XG59O1xuXG5mdW5jdGlvbiBUaGVtZU1vZGVPckRlZmF1bHQ8VCBleHRlbmRzIGtleW9mIHR5cGVvZiBUaGVtZU1vZGU+KFxuICB2YWx1ZTogc3RyaW5nIHwgbnVsbCxcbiAgZmFsbGJhY2s6IFRoZW1lTW9kZSxcbik6IFRoZW1lTW9kZSB7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4gZmFsbGJhY2s7XG4gIH1cblxuICBpZiAoT2JqZWN0LnZhbHVlcyhUaGVtZU1vZGUpLmluY2x1ZGVzKHZhbHVlIGFzIFRoZW1lTW9kZSkpIHtcbiAgICByZXR1cm4gdmFsdWUgYXMgVGhlbWVNb2RlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxsYmFjaztcbiAgfVxufVxuIiwiLyoqIEFkZCBhbGwgY29tcG9uZW50cyB5b3Ugd2FudCB0byBleHBvcnQgaGVyZSAqKi9cblxuLy8vLy8vLy8vLy8vLy8vIEFUT01TIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIEJhZGdlXG5leHBvcnQgeyBCYWRnZSwgQmFkZ2VUeXBlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2VcIjtcbmV4cG9ydCB0eXBlIHsgSUJhZGdlIH0gZnJvbSBcIkAvYXRvbXMvYmFkZ2VcIjtcblxuLy8gQnJhbmRcbmV4cG9ydCB7IEJyYW5kIH0gZnJvbSBcIkAvYXRvbXMvYnJhbmRcIjtcbmV4cG9ydCB0eXBlIHsgSUJyYW5kIH0gZnJvbSBcIkAvYXRvbXMvYnJhbmRcIjtcblxuLy8gQnJlYWRjcnVtYlxuZXhwb3J0IHsgQnJlYWRjcnVtYiB9IGZyb20gXCJAL2F0b21zL2JyZWFkY3J1bWJcIjtcbmV4cG9ydCB0eXBlIHsgSUJyZWFkY3J1bWIgfSBmcm9tIFwiQC9hdG9tcy9icmVhZGNydW1iXCI7XG5cbi8vIEJ1dHRvblxuZXhwb3J0IHsgQnV0dG9uLCBCdXR0b25UeXBlLCBCdXR0b25Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvYnV0dG9uXCI7XG5leHBvcnQgdHlwZSB7IElCdXR0b24gfSBmcm9tIFwiQC9hdG9tcy9idXR0b25cIjtcblxuLy8gQ2hlY2tib3hcbmV4cG9ydCB7IENoZWNrYm94LCBDaGVja2JveENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9jaGVja2JveFwiO1xuZXhwb3J0IHR5cGUgeyBJQ2hlY2tib3ggfSBmcm9tIFwiQC9hdG9tcy9jaGVja2JveFwiO1xuXG4vLyBDaG9pY2VcbmV4cG9ydCB7IENob2ljZSwgQ2hvaWNlQ29udGV4dCB9IGZyb20gXCJAL2F0b21zL2Nob2ljZVwiO1xuZXhwb3J0IHR5cGUgeyBJQ2hvaWNlIH0gZnJvbSBcIkAvYXRvbXMvY2hvaWNlXCI7XG5cbi8vIEZlYXR1cmVcbmV4cG9ydCB7IEZlYXR1cmUgfSBmcm9tIFwiQC9hdG9tcy9mZWF0dXJlXCI7XG5leHBvcnQgdHlwZSB7IElGZWF0dXJlIH0gZnJvbSBcIkAvYXRvbXMvZmVhdHVyZVwiO1xuXG4vLyBDb2xsYXBzZVxuZXhwb3J0IHsgQ29sbGFwc2UgfSBmcm9tIFwiQC9hdG9tcy9jb2xsYXBzZVwiO1xuZXhwb3J0IHR5cGUgeyBJQ29sbGFwc2UgfSBmcm9tIFwiQC9hdG9tcy9jb2xsYXBzZVwiO1xuXG4vLyBFeHBhbmRcbmV4cG9ydCB7IEV4cGFuZCB9IGZyb20gXCJAL2F0b21zL2V4cGFuZFwiO1xuZXhwb3J0IHR5cGUgeyBJRXhwYW5kIH0gZnJvbSBcIkAvYXRvbXMvZXhwYW5kXCI7XG5cbi8vIEZyYW1lXG5leHBvcnQgeyBGcmFtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lXCI7XG5leHBvcnQgdHlwZSB7IElGcmFtZSB9IGZyb20gXCJAL2F0b21zL2ZyYW1lXCI7XG5cbi8vIEhlYWRpbmdcbmV4cG9ydCB7IEhlYWRpbmcgfSBmcm9tIFwiQC9hdG9tcy9oZWFkaW5nXCI7XG5leHBvcnQgdHlwZSB7IElIZWFkaW5nLCBIdG1sSGVhZGluZyB9IGZyb20gXCJAL2F0b21zL2hlYWRpbmdcIjtcblxuLy8gSW5mb3JtYXRpb25cbmV4cG9ydCB7IEluZm9ybWF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb25cIjtcbmV4cG9ydCB0eXBlIHsgSUluZm9ybWF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvaW5mb3JtYXRpb25cIjtcblxuLy8gSW5wdXRcbmV4cG9ydCB7IElucHV0LCBJbnB1dENvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dFwiO1xuZXhwb3J0IHR5cGUgeyBJSW5wdXQgfSBmcm9tIFwiQC9hdG9tcy9pbnB1dFwiO1xuXG4vLyBMaW5rXG5leHBvcnQgeyBMaW5rLCBMaW5rQ29udGV4dCwgUG9zaXRpb24gfSBmcm9tIFwiQC9hdG9tcy9saW5rXCI7XG5leHBvcnQgdHlwZSB7IElMaW5rIH0gZnJvbSBcIkAvYXRvbXMvbGlua1wiO1xuXG4vLyBMaXN0XG5leHBvcnQgeyBMaXN0LCBMaXN0VHlwZSB9IGZyb20gXCJAL2F0b21zL2xpc3RcIjtcbmV4cG9ydCB0eXBlIHsgSUxpc3QgfSBmcm9tIFwiQC9hdG9tcy9saXN0XCI7XG5cbi8vIExvZ29cbmV4cG9ydCB7IExvZ28gfSBmcm9tIFwiQC9hdG9tcy9sb2dvXCI7XG5leHBvcnQgdHlwZSB7IElMb2dvIH0gZnJvbSBcIkAvYXRvbXMvbG9nb1wiO1xuXG4vLyBOb3RpZmljYXRpb25cbmV4cG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gXCJAL2F0b21zL25vdGlmaWNhdGlvblwiO1xuZXhwb3J0IHR5cGUgeyBJTm90aWZpY2F0aW9uIH0gZnJvbSBcIkAvYXRvbXMvbm90aWZpY2F0aW9uXCI7XG5cbi8vIFBpY2tcbmV4cG9ydCB7IFBpY2ssIFBpY2tDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvcGlja1wiO1xuZXhwb3J0IHR5cGUgeyBJUGljayB9IGZyb20gXCJAL2F0b21zL3BpY2tcIjtcblxuLy8gUGlsbFxuZXhwb3J0IHsgUGlsbCB9IGZyb20gXCJAL2F0b21zL3BpbGxcIjtcbmV4cG9ydCB0eXBlIHsgSVBpbGwgfSBmcm9tIFwiQC9hdG9tcy9waWxsXCI7XG5cbi8vIFBpblxuZXhwb3J0IHsgUGluLCBQaW5UeXBlIH0gZnJvbSBcIkAvYXRvbXMvcGluXCI7XG5leHBvcnQgdHlwZSB7IElQaW4gfSBmcm9tIFwiQC9hdG9tcy9waW5cIjtcblxuLy8gUGxhaW5UZXh0XG5leHBvcnQgeyBQbGFpblRleHQsIFRleHREZWNvcmF0aW9uIH0gZnJvbSBcIkAvYXRvbXMvcGxhaW50ZXh0XCI7XG5leHBvcnQgdHlwZSB7IElQbGFpblRleHQgfSBmcm9tIFwiQC9hdG9tcy9wbGFpbnRleHRcIjtcblxuLy8gUmFkaW9cbmV4cG9ydCB7IFJhZGlvLCBSYWRpb0NvbnRleHQgfSBmcm9tIFwiQC9hdG9tcy9yYWRpb1wiO1xuZXhwb3J0IHR5cGUgeyBJUmFkaW8gfSBmcm9tIFwiQC9hdG9tcy9yYWRpb1wiO1xuXG4vLyBSZWNvcmRcbmV4cG9ydCB7IFJlY29yZCB9IGZyb20gXCJAL2F0b21zL3JlY29yZFwiO1xuZXhwb3J0IHR5cGUgeyBJUmVjb3JkIH0gZnJvbSBcIkAvYXRvbXMvcmVjb3JkXCI7XG5cbi8vIFN0YXR1c1xuZXhwb3J0IHsgU3RhdHVzLCBTdGF0dXNDb21wYWN0LCBTdGF0dXNDb250ZXh0IH0gZnJvbSBcIkAvYXRvbXMvc3RhdHVzXCI7XG5leHBvcnQgdHlwZSB7IElTdGF0dXMgfSBmcm9tIFwiQC9hdG9tcy9zdGF0dXNcIjtcblxuLy8gVGVybVxuZXhwb3J0IHsgVGVybSB9IGZyb20gXCJAL2F0b21zL3Rlcm1cIjtcbmV4cG9ydCB0eXBlIHsgSVRlcm0gfSBmcm9tIFwiQC9hdG9tcy90ZXJtXCI7XG5cbi8vIFRlcm1pbmFsXG5leHBvcnQgeyBUZXJtaW5hbCB9IGZyb20gXCJAL2F0b21zL3Rlcm1pbmFsXCI7XG5leHBvcnQgdHlwZSB7IElUZXJtaW5hbCB9IGZyb20gXCJAL2F0b21zL3Rlcm1pbmFsXCI7XG5cbi8vIFllc05vXG5leHBvcnQgeyBZZXNObywgWWVzTm9Db250ZXh0IH0gZnJvbSBcIkAvYXRvbXMveWVzX25vXCI7XG5leHBvcnQgdHlwZSB7IElZZXNObyB9IGZyb20gXCJAL2F0b21zL3llc19ub1wiO1xuXG4vLy8vLy8vLy8vLy8vLy8gTW9sZWN1bGVzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIENvbXBhY3QgTmF2aWdhdGlvblxuZXhwb3J0IHtcbiAgQ29tcGFjdE5hdmlnYXRpb24sXG4gIENvbXBhY3ROYXZpZ2F0aW9uQ29udGV4dCxcbn0gZnJvbSBcIkAvbW9sZWN1bGVzL2NvbXBhY3RfbmF2aWdhdGlvblwiO1xuZXhwb3J0IHR5cGUgeyBJQ29tcGFjdE5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvY29tcGFjdF9uYXZpZ2F0aW9uXCI7XG5cbi8vIERldGFpbHNcbmV4cG9ydCB7IERldGFpbHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZGV0YWlsc1wiO1xuZXhwb3J0IHR5cGUgeyBJRGV0YWlscyB9IGZyb20gXCJAL21vbGVjdWxlcy9kZXRhaWxzXCI7XG5cbi8vIEZBUVxuZXhwb3J0IHsgRmFxIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcVwiO1xuZXhwb3J0IHR5cGUgeyBJRmFxIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZhcVwiO1xuXG4vLyBGZWF0dXJlc1xuZXhwb3J0IHsgRmVhdHVyZXMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvZmVhdHVyZXNcIjtcbmV4cG9ydCB0eXBlIHsgSUZlYXR1cmVzIH0gZnJvbSBcIkAvbW9sZWN1bGVzL2ZlYXR1cmVzXCI7XG5cbi8vIE5hdmlnYXRpb25cbmV4cG9ydCB7IE5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvbmF2aWdhdGlvblwiO1xuZXhwb3J0IHR5cGUgeyBJTmF2aWdhdGlvbiB9IGZyb20gXCJAL21vbGVjdWxlcy9uYXZpZ2F0aW9uXCI7XG5cbi8vIFByb2ZpbGUgTmF2aWdhdGlvblxuZXhwb3J0IHsgUHJvZmlsZU5hdmlnYXRpb24sIEl0ZW1UeXBlIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3Byb2ZpbGVfbmF2aWdhdGlvblwiO1xuZXhwb3J0IHR5cGUgeyBJUHJvZmlsZU5hdmlnYXRpb24gfSBmcm9tIFwiQC9tb2xlY3VsZXMvcHJvZmlsZV9uYXZpZ2F0aW9uXCI7XG5cbi8vIFJlY29yZHNcbmV4cG9ydCB7IFJlY29yZHMgfSBmcm9tIFwiQC9tb2xlY3VsZXMvcmVjb3Jkc1wiO1xuZXhwb3J0IHR5cGUgeyBJUmVjb3JkcyB9IGZyb20gXCJAL21vbGVjdWxlcy9yZWNvcmRzXCI7XG5cbi8vIFN0YXR1cyBMaXN0XG5leHBvcnQgeyBTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0XCI7XG5leHBvcnQgdHlwZSB7IElTdGF0dXNMaXN0IH0gZnJvbSBcIkAvbW9sZWN1bGVzL3N0YXR1c19saXN0XCI7XG5cbi8vIFRvcCBOYXZpZ2F0aW9uXG5leHBvcnQgeyBUb3BOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uXCI7XG5leHBvcnQgdHlwZSB7IElUb3BOYXZpZ2F0aW9uIH0gZnJvbSBcIkAvbW9sZWN1bGVzL3RvcF9uYXZpZ2F0aW9uXCI7XG5cbi8vLy8vLy8vLy8vLy8vLyBPcmdhbmlzbXMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gSGFkZXJcbmV4cG9ydCB7IEhlYWRlciB9IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXJcIjtcbmV4cG9ydCB0eXBlIHsgSUhlYWRlciB9IGZyb20gXCJAL29yZ2FuaXNtcy9oZWFkZXJcIjtcblxuLy8gTWFwXG5leHBvcnQgeyBNYXAgfSBmcm9tIFwiQC9vcmdhbmlzbXMvbWFwXCI7XG5leHBvcnQgdHlwZSB7IElNYXAgfSBmcm9tIFwiQC9vcmdhbmlzbXMvbWFwXCI7XG5cbi8vLy8vLy8vLy8vLy8vLyBVSSAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBJY29uXG5leHBvcnQgeyBJY29uLCBJY29uQ29udGV4dCwgSWNvblNpemUsIEljb25UeXBlIH0gZnJvbSBcIkAvdWkvaWNvblwiO1xuZXhwb3J0IHR5cGUgeyBJSWNvbiB9IGZyb20gXCJAL3VpL2ljb25cIjtcblxuLy8gRmlndXJlXG5leHBvcnQgeyBGaWd1cmUsIEZpZ3VyZUNvbnRleHQsIEZpZ3VyZVNpemUsIEZpZ3VyZVR5cGUgfSBmcm9tIFwiQC91aS9maWd1cmVcIjtcbmV4cG9ydCB0eXBlIHsgSUZpZ3VyZSB9IGZyb20gXCJAL3VpL2ZpZ3VyZVwiO1xuXG4vLy8vLy8vLy8vLy8vLy8gTGF5b3V0cyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBBY2NvcmRlb25cbmV4cG9ydCB7IEFjY29yZGVvbiwgQWNjb3JkZW9uQ29udGV4dCB9IGZyb20gXCJAL2xheW91dHMvYWNjb3JkZW9uXCI7XG5leHBvcnQgdHlwZSB7IElBY2NvcmRlb24gfSBmcm9tIFwiQC9sYXlvdXRzL2FjY29yZGVvblwiO1xuXG4vLyBCYWNrZHJvcFxuZXhwb3J0IHsgQmFja2Ryb3AgfSBmcm9tIFwiQC9sYXlvdXRzL2JhY2tkcm9wXCI7XG5leHBvcnQgdHlwZSB7IElCYWNrZHJvcCB9IGZyb20gXCJAL2xheW91dHMvYmFja2Ryb3BcIjtcblxuLy8gQmx1clxuZXhwb3J0IHsgQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuZXhwb3J0IHR5cGUgeyBJQmx1ciB9IGZyb20gXCJAL2xheW91dHMvYmx1clwiO1xuXG4vLyBDb2xsYXBzYWJsZVxuZXhwb3J0IHsgQ29sbGFwc2FibGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbGxhcHNhYmxlXCI7XG5leHBvcnQgdHlwZSB7IElDb2xsYXBzYWJsZSB9IGZyb20gXCJAL2xheW91dHMvY29sbGFwc2FibGVcIjtcblxuLy8gQ29udGFpbmVyXG5leHBvcnQgeyBDb250YWluZXIsIENvbnRhaW5lclR5cGUgfSBmcm9tIFwiQC9sYXlvdXRzL2NvbnRhaW5lclwiO1xuZXhwb3J0IHR5cGUgeyBJQ29udGFpbmVyIH0gZnJvbSBcIkAvbGF5b3V0cy9jb250YWluZXJcIjtcblxuLy8gRHJhd2VyXG5leHBvcnQgeyBEcmF3ZXIsIERyYXdlclNpemUgfSBmcm9tIFwiQC9sYXlvdXRzL2RyYXdlclwiO1xuZXhwb3J0IHR5cGUgeyBJRHJhd2VyIH0gZnJvbSBcIkAvbGF5b3V0cy9kcmF3ZXJcIjtcblxuLy8gR3JpZFxuZXhwb3J0IHsgR3JpZCB9IGZyb20gXCJAL2xheW91dHMvZ3JpZFwiO1xuZXhwb3J0IHR5cGUgeyBHcmlkUHJvcHMsIEdyaWRJdGVtUHJvcHMgfSBmcm9tIFwiQC9sYXlvdXRzL2dyaWRcIjtcblxuLy8gTW9kYWxcbmV4cG9ydCB7IE1vZGFsIH0gZnJvbSBcIkAvbGF5b3V0cy9tb2RhbFwiO1xuZXhwb3J0IHR5cGUgeyBJTW9kYWwgfSBmcm9tIFwiQC9sYXlvdXRzL21vZGFsXCI7XG5cbi8vIE92ZXJsYXlcbmV4cG9ydCB7IE92ZXJsYXkgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXlcIjtcbmV4cG9ydCB0eXBlIHsgSU92ZXJsYXkgfSBmcm9tIFwiQC9sYXlvdXRzL292ZXJsYXlcIjtcblxuLy8gU3VyZmFjZVxuZXhwb3J0IHsgU3VyZmFjZSB9IGZyb20gXCJAL2xheW91dHMvc3VyZmFjZVwiO1xuZXhwb3J0IHR5cGUgeyBJU3VyZmFjZSB9IGZyb20gXCJAL2xheW91dHMvc3VyZmFjZVwiO1xuXG4vLy8vLy8vLy8vLy8vLy8gQ29udGV4dCAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBCYWNrZHJvcFxuZXhwb3J0IHsgQmFja2Ryb3BQcm92aWRlciwgQmFja2Ryb3BDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvYmFja2Ryb3BcIjtcbmV4cG9ydCB0eXBlIHsgSUJhY2tkcm9wUHJvdmlkZXIgfSBmcm9tIFwiQC9jb250ZXh0cy9iYWNrZHJvcFwiO1xuXG4vLyBCbHVyXG5leHBvcnQgeyBCbHVyUHJvdmlkZXIsIEJsdXJDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvYmx1clwiO1xuZXhwb3J0IHR5cGUgeyBJQmx1clByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvYmx1clwiO1xuXG4vLyBEcmF3ZXJcbmV4cG9ydCB7IERyYXdlclByb3ZpZGVyLCBEcmF3ZXJDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvZHJhd2VyXCI7XG5leHBvcnQgdHlwZSB7IElEcmF3ZXJQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHRzL2RyYXdlclwiO1xuXG4vLyBNb2RhbFxuZXhwb3J0IHsgTW9kYWxQcm92aWRlciwgTW9kYWxDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvbW9kYWxcIjtcbmV4cG9ydCB0eXBlIHsgSU1vZGFsUHJvdmlkZXIgfSBmcm9tIFwiQC9jb250ZXh0cy9tb2RhbFwiO1xuXG4vLyBPdmVybGF5XG5leHBvcnQgeyBPdmVybGF5UHJvdmlkZXIsIE92ZXJsYXlDb250ZXh0IH0gZnJvbSBcIkAvY29udGV4dHMvb3ZlcmxheVwiO1xuZXhwb3J0IHR5cGUgeyBJT3ZlcmxheVByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvb3ZlcmxheVwiO1xuXG4vLyBQcm9jZXNzaW5nXG5leHBvcnQgeyBQcm9jZXNzaW5nQ29udGV4dCwgUHJvY2Vzc2luZ1Byb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvcHJvY2Vzc2luZ1wiO1xuZXhwb3J0IHR5cGUgeyBQcm9jZXNzaW5nQ29udGV4dFR5cGUgfSBmcm9tIFwiQC9jb250ZXh0cy9wcm9jZXNzaW5nXCI7XG5leHBvcnQgeyB1c2VJc1Byb2Nlc3NpbmcgfSBmcm9tIFwiQC9ob29rcy91c2UtaXMtcHJvY2Vzc2luZ1wiO1xuXG4vLyBHb29nbGVcbmV4cG9ydCB7IEdvb2dsZUFQSVByb3ZpZGVyIH0gZnJvbSBcIkAvY29udGV4dHMvZ29vZ2xlLWFwaVwiO1xuZXhwb3J0IHR5cGUgeyBHb29nbGVBUElQcm92aWRlclByb3BzIH0gZnJvbSBcIkAvY29udGV4dHMvZ29vZ2xlLWFwaVwiO1xuZXhwb3J0IHtcbiAgR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJQcm92aWRlcixcbiAgR29vZ2xlQXBpUm91dGVzRGlyZWN0aW9uUmVuZGVyZXJDb250ZXh0LFxufSBmcm9tIFwiQC9jb250ZXh0cy9nb29nbGUtYXBpLXJvdXRlcy1kaXJlY3Rpb25zLXJlbmRlcmVyXCI7XG5cbi8vIFRoZW1lIE1vZGUgKFRPRE8gOiBtb3ZlIHRvIGNvbnRleHRzIGZvbGRlcilcbmV4cG9ydCB7IFRoZW1lTW9kZVByb3ZpZGVyLCBUaGVtZU1vZGVDb250ZXh0IH0gZnJvbSBcIkAvdXRpbHMvdGhlbWVfbW9kZVwiO1xuZXhwb3J0IHR5cGUgeyBQcm9wc0ZvclRoZW1lTW9kZVByb3ZpZGVyIH0gZnJvbSBcIkAvdXRpbHMvdGhlbWVfbW9kZVwiO1xuXG4vKiogUmUtZXhwb3J0IGl0ZW1zIGZyb20gVGFja3kgc28gdXNlciBvZiB0aGUgY29tcG9uZW50IGxpYnJhcnkgYXJlIG5vdCBkaXJlY3RseSB0aWVkIHRvIFRhY2t5ICoqL1xuZXhwb3J0IHR5cGUgeyBUaGVtZUksIFRoZW1lVmFyaWFudHNJIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5L2NvbnRyYWN0XCI7XG5cbmV4cG9ydCB7IENvbG9yLCBDb2xvclZhcmlhbnQsIFJhZGl1cywgU3BhY2luZyB9IGZyb20gXCJAdGFjdGljcy90YWNreS9jb250cmFjdFwiO1xuXG5leHBvcnQgeyBUaGVtZUJ1aWxkZXIgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcblxuZXhwb3J0IHsgQnVpbGRQcm92aWRlcnNUcmVlIH0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbmV4cG9ydCB7XG4gIFRoZW1lQ3R4LFxuICBUaGVtZU1vZGUsXG4gIFN0eWxlUHJvdmlkZXJBbmltYXRpb24sXG4gIFN0eWxlUHJvdmlkZXJGb250RmFjZSxcbiAgU3R5bGVQcm92aWRlclByZUZsaWdodCxcbiAgU3R5bGVQcm92aWRlclJvdXRlcixcbn0gZnJvbSBcIkB0YWN0aWNzL3RhY2t5XCI7XG5cbi8vIEJyb3dzZXJBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXNcbmV4cG9ydCB7IHVzZUJyb3dzZXJBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZXMgfSBmcm9tIFwiQHRhY3RpY3MvdGFja3lcIjtcbiJdfQ==
|